説明

遊技機

【課題】簡易な手段によりセキュリティ強度を向上させると共に主制御部の処理負荷を軽減する。
【解決手段】主制御部110と周辺制御部300を備えた遊技機1であって、主制御部110は、誤り検査値を生成しコマンドに付加する検査値生成部500と、コマンドを周辺制御部300へ送信する送信部550を備える。検査値生成部500は、メインCPU110aと送信部550の間に設けられ、過去に生成されたコマンドの誤り検査値を生成し、現在送信するコマンドへ付加する。また、検査値生成部500内の各手段同士の入出力制御方式は、検査値生成部500のメインCPU110aとの間および送信部550との間の入出力制御方式とは異なる方式を用いる。周辺制御部300は検証用の誤り検査値を格納しておき、受信したコマンドの正当性を検査し、検査結果に応じた処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【0002】
遊技機に対し行われる、メダルや遊技球など(以下、「遊技媒体」という)を遊技内容とは無関係に強制的に払い出させる不正行為のうち、遊技進行に伴う基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令情報(以下、「制御コマンド」という)に基づき演出処理等を実行する周辺制御部が搭載された周辺制御基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺制御基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
【0003】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。例えば、特許文献1に記載の遊技機では、主制御基板は、制御コマンドを生成してサブ制御基板に送信する第1送信手段と、第1送信手段が所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとして所定のタイミングで送信する第2送信手段とを備えている。また、サブ制御基板が、所定期間内に受信した制御コマンドのチェックサムと、所定のタイミングで受信した状態監視コマンドとを比較することで、所定期間内に送信された制御コマンドの正当性を検証している。すなわち、特許文献1に記載の遊技機は、制御コマンドの正当性を検証するための状態監視コマンドを所定のタイミングで送信することで、上記不正行為の防止を図っている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−18095号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の遊技機では、通常の制御コマンドとは異なるデータ形式あるいはデータ量を有する状態監視コマンドを、所定のタイミングで単独で送信している。よって、不正行為を働こうとする者(以下、「不正者」という)が、状態監視コマンドの送信タイミングを容易に知り得て、窃取することができるというおそれがあった。また、特許文献1に記載の遊技機では、所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとしている。よって、状態監視コマンドの送信タイミングを知った不正者が、所定期間内の制御コマンドとそのチェックサムを取得して比較することで、状態監視コマンドの内容を容易に解析することができるというおそれがあった。
【0006】
また、特許文献1に記載の遊技機では、セキュリティ機能の追加を実現するために、状態監視コマンドを送信するという通常の処理とは異なる処理をわざわざ追加しており、主制御基板の制御処理が複雑化している。そのため、特許文献1に記載の遊技機では、主制御基板のCPUが実行するプログラムのコードサイズが増大し、CPUの処理負荷が増大する。また、遊技機においては、公共性のある遊技ならではの規制により主制御基板のROMやRAMの容量が制限されており、遊技機メーカーには、限られたリソースを演出処理に係るプログラムにより多く割当てたいという要望がある。よって、遊技機にセキュリティ機能を追加することで、主制御基板のCPUの処理負荷やプログラムのコードサイズが増大する問題は看過できない。
【0007】
また、セキュリティ機能の追加をハードウェアで実現しようとする場合、処理負荷やコードサイズの増大は抑制できる。しかしながら、既存の主制御基板にハードウェアで新たに機能を追加する場合、当該ハードウェアに関連するCPUや周辺回路の構成も変更しなければならず、遊技機の開発コストや開発時間の増大を招き、遊技機メーカーにとって大きな負担となる。そのため、従来の技術では、実効性のあるセキュリティ機能を既存の遊技機に対し、比較的簡易に追加したいという遊技機メーカーの要望に応えることができない。
【0008】
本発明は、上記事情に鑑みてなされたものであり、従来にない簡易な手段により上記不正行為を防止してセキュリティ強度を向上させるとともに、処理負荷やコードサイズの増大を抑制しながら比較的簡易に追加することのできるセキュリティ機能を有する遊技機を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、制御コマンドを出力する主制御部(主制御部110)と前記制御コマンドに基づく処理を行う周辺制御部(周辺制御部300)とを含む遊技機(遊技機1)であって、前記主制御部は、所定の遊技情報に応じた演算を行って前記制御コマンドを生成し、生成した制御コマンドを予め取り決められた出力制御方式で出力する演算処理部(メインCPU110a)と、前記演算処理部によって出力された制御コマンドに対応する誤り検査値を生成し、生成した誤り検査値を出力する第1検査値生成部(検査値生成部500)と、前記制御コマンドと前記誤り検査値とを前記周辺制御部へ送信する送信部(送信部550)と、を備え、前記周辺制御部は、前記第1検査値生成部によって生成された誤り検査値に対応する検証用の誤り検査値を生成する第2検査値生成部(検査値生成部620)と、前記送信部によって送信された誤り検査値と前記第2検査値生成部によって生成された誤り検査値とを比較して前記送信部によって送信された制御コマンドの正当性の検査を行う検査部(検査部610)と、前記送信部によって送信された制御コマンドに基づく処理を行うと共に、前記検査の結果に応じた処理を行う処理部(周辺制御部300のCPU)と、を備え、前記第1検査値生成部は、前記演算処理部によって出力された制御コマンドを入力し、入力した該制御コマンドを予め指定されたタイミングで出力するバッファ手段(バッファ手段510)と、前記バッファ手段によって出力された制御コマンドを入力し、入力した制御コマンドより過去に前記演算処理部によって出力された制御コマンドに対応する誤り検査値を生成し、生成した該誤り検査値を前記タイミングに応じて出力する生成手段(生成手段520)と、前記バッファ手段によって出力された制御コマンドと前記生成手段によって出力された誤り検査値とを入力し、入力した該制御コマンドに入力した該誤り検査値を付加して、該誤り検査値が付加された制御コマンドを、前記演算処理部において予め取り決められた出力制御方式と同じ出力制御方式で、前記タイミングに応じて出力する付加手段(付加手段530)と、を有し、前記送信部は、前記付加手段によって出力された前記誤り検査値が付加された制御コマンドを入力し、入力した該誤り検査値が付加された制御コマンドを、前記周辺制御部へ送信することを特徴とする。
【発明の効果】
【0010】
本発明によれば、セキュリティ機能として主制御部に対する認証機能を追加すべく、主制御部が備える誤り検査値付加機能をハードウェアで構成し、送信する制御コマンドに対して当該制御コマンドより過去に生成された制御コマンドの誤り検査値を付加して送信する。このような従来にない簡易な方法を適用することにより、制御コマンドとそれに付加された誤り検査値の関係を不正者が解析することを困難にし、簡易な方法で遊技機のセキュリティ強度を向上することができる。また、セキュリティ機能の追加に伴って増大する主制御部のCPUの処理負荷やコードサイズを最大限抑制することができる。そして、既存の遊技機に対し、比較的簡易にセキュリティ機能を追加することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る遊技機の外観構成を示す正面図である。
【図2】本発明の実施形態に係る遊技機のガラス枠を開放させた状態の外観構成を示す斜視図である。
【図3】本発明の実施形態に係る遊技機の裏面側の外観構成を示す斜視図である。
【図4】本発明の実施形態に係る遊技機の内部構成を示すブロック図である。
【図5】本発明の実施形態に係る遊技機を構成する主制御部の認証処理に関する構成を示すブロック図である。
【図6】本発明の実施形態に係る遊技機を構成する主制御部が出力する制御コマンドへの誤り検査値の付加手順を説明するための概略図である。
【図7】本発明の実施形態に係る遊技機を構成する演出制御部の認証処理に関する構成を示すブロック図である。
【図8】本発明の実施形態に係る遊技機を構成する主制御部から演出制御部へ送信される制御コマンドの種別を示す図である。
【図9】本発明の実施形態に係る遊技機を構成する主制御部によるメイン処理におけるフローチャートを示す図である。
【図10】本発明の実施形態に係る遊技機を構成する主制御部による割込処理におけるフローチャートを示す図である。
【図11】本発明の実施形態に係る遊技機を構成する主制御部による特図特電制御処理におけるフローチャートを示す図である。
【図12】本発明の実施形態に係る遊技機を構成する主制御部による特別図柄記憶判定処理におけるフローチャートを示す図である。
【図13】本発明の実施形態に係る遊技機を構成する主制御部によるコマンド送信処理におけるフローチャートを示す図である。
【図14】本発明の実施形態に係る遊技機を構成する演出制御部によるメイン処理におけるフローチャートを示す図である。
【図15】本発明の実施形態に係る遊技機を構成する演出制御部による割込処理におけるフローチャートを示す図である。
【図16】本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理1におけるフローチャートを示す図である。
【図17】本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理2におけるフローチャートを示す図である。
【図18】本発明の実施形態に係る遊技機を構成する演出制御部による誤り検査処理におけるフローチャートを示す図である。
【図19】本発明の実施形態に係る遊技機を構成する検査値生成部の構成における他の実施例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の1つであるパチンコ遊技機1(以下、「遊技機1」という)について説明する。
【0013】
[遊技機の構成]
以下に、本発明の一実施形態に係る遊技機1の構成について説明する。
図1は、本実施形態に係る遊技機1の外観構成を示す正面図である。図2は、本実施形態に係る遊技機1のガラス枠を開放させた状態の外観構成を示す斜視図である。図3は、本実施形態に係る遊技機1の裏面側の外観構成を示す斜視図である。
【0014】
遊技機1は、遊技店の島設備に取り付けられる外枠60と、その外枠60と回動可能に支持されたガラス枠50とが備えられている(図1、図2参照)。また、外枠60には、遊技球200が流下する遊技領域6が形成された遊技盤2が設けられている。ガラス枠50には、回動操作されることにより遊技領域6に向けて遊技球を発射させる操作ハンドル3と、スピーカからなる音声出力装置32と、複数のランプを有する演出用照明装置34と、押圧操作により演出態様を変更させるための演出ボタン35とが設けられている。
【0015】
さらに、ガラス枠50には、複数の遊技球200を貯留する受け皿40が設けられており、この受け皿40は、操作ハンドル3の方向側に遊技球200が流下するように下りの傾斜を有している(図2参照)。この受け皿40の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド4bが駆動することにより、ガラス枠50の裏面に設けられた玉送り開口部41へ1個ずつ送り出される。そして、玉送り開口部41へ送り出された遊技球は、打出部材4cの方向に向けて下り傾斜を有している発射レール42により、発射レール42の下り傾斜の端部に誘導される。発射レール42の下り傾斜の端部の上方には、遊技球を停留させるストッパー43が設けられており、玉送り開口部41から送り出された遊技球200は、発射レール42の下り傾斜の端部で1個の遊技球が停留されることになる(図2参照)。
【0016】
そして、遊技者が操作ハンドル3を回動させると、操作ハンドル3に直結している発射ボリューム3b(図4参照)も回動し、発射ボリューム3bにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド4a(図4参照)に直結された打出部材4cが回転する。この打出部材4cが回転することで、打出部材4cにより発射レール42の下り傾斜の端部に貯留されている遊技球200が打ち出され、遊技球が遊技領域6に発射されることとなる。
【0017】
上記のようにして発射された遊技球は、発射レール42からレール5a、5b間を上昇して玉戻り防止片5cを超えると、遊技領域6に到達し、その後遊技領域6内を落下する。このとき、遊技領域6に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。
【0018】
また、上記遊技領域6には、複数の一般入賞口12が設けられている。これら各一般入賞口12には、一般入賞口検出スイッチ12a(図4参照)が設けられており、この一般入賞口検出スイッチ12aが遊技球の入賞を検出すると、所定の賞球(例えば10個の遊技球)が払い出される。
【0019】
また、上記遊技領域6の中央下側の領域には、遊技球が入球可能な始動領域を構成する第1始動口14および第2始動口15と、遊技球が入球可能な第2大入賞口17とが設けられている。
【0020】
この第2始動口15は、一対の可動片15bを有しており、これら一対の可動片15bが閉状態に維持される態様(以下、「第1の態様」という)と、一対の可動片15bが開状態となる態様(以下、「第2の態様」という)とに可動制御される。なお、第2始動口15が上記第1の態様に制御されているときには、当該第2始動口15の真上に位置する第2大入賞口17の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第2始動口15が上記第2の態様に制御されているときには、上記一対の可動片15bが受け皿として機能し、第2始動口15への遊技球の入賞が容易となる。つまり、第2始動口15は、第1の態様にあるときには遊技球の入賞機会がなく、第2の態様にあるときには遊技球の入賞機会が増すこととなる。
【0021】
ここで、第1始動口14には遊技球の入球を検出する第1始動口検出スイッチ14a(図4参照)が設けられ、第2始動口15には遊技球の入球を検出する第2始動口検出スイッチ15a(図4参照)が設けられている。そして、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選(以下、「大当たりの抽選」という)が行われる。また、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出した場合にも、所定の賞球(例えば3個の遊技球)が払い出される。
【0022】
また、第2大入賞口17は、遊技盤2に形成された開口部から構成されている。この第2大入賞口17の下部には、遊技盤面側からガラス板52側に突出可能な第2大入賞口開閉扉17bを有しており、この第2大入賞口開閉扉17bが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第2大入賞口開閉扉17bが遊技盤面に突出していると、遊技球を第2大入賞口17内に導く受け皿として機能し、遊技球が第2大入賞口17に入球可能となる。この第2大入賞口17には第2大入賞口検出スイッチ17a(図4参照)が設けられており、この第2大入賞口検出スイッチ17aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
【0023】
さらに、上記遊技領域6の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート13と、遊技球が入球可能な第1大入賞口16とが設けられている。
このため、操作ハンドル3を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート13と第1大入賞口16とには遊技球が、通過または入賞しないように構成されている。
【0024】
この普通図柄ゲート13には、遊技球の通過を検出するゲート検出スイッチ13a(図4参照)が設けられており、このゲート検出スイッチ13aが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。
【0025】
第1大入賞口16は、通常は第1大入賞口開閉扉16bによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第1大入賞口開閉扉16bが開放されるとともに、この第1大入賞口開閉扉16bが遊技球を第1大入賞口16内に導く受け皿として機能し、遊技球が第1大入賞口16に入球可能となる。第1大入賞口16には第1大入賞口検出スイッチ16a(図4参照)が設けられており、この第1大入賞口検出スイッチ16aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
【0026】
さらには、遊技領域6の最下部であって遊技領域6の最下部の領域には、一般入賞口12、第1始動口14、第2始動口15、第1大入賞口16および第2大入賞口17のいずれにも入球しなかった遊技球を排出するためのアウト口11が設けられている。
【0027】
また、遊技領域6の中央には、遊技球の流下に影響を与える飾り部材7が設けられている。この飾り部材7の略中央部分には、液晶表示装置31が設けられており、この液晶表示装置31の上方には、ベルトの形をした演出用駆動装置33が設けられている。
なお、本実施形態においては、液晶表示装置31を液晶表示器として用いているが、有機ELディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる7セグメントLED、ドットマトリクス等の表示装置等を用いてもよい。
【0028】
この液晶表示装置31は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当たりの抽選結果を報知するための3個の演出図柄36が表示され、特定の演出図柄36の組合せ(例えば、777等)が停止表示されることにより、大当たりの抽選結果として大当たりが報知される。
より具体的には、第1始動口14または第2始動口15に遊技球が入球したときには、3個の演出図柄36をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄36を停止表示するものである。また、この演出図柄36の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
【0029】
上記演出用駆動装置33は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置33は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置33の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。
【0030】
さらに、上記の各種の演出装置に加えて、音声出力装置32は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置34は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。
【0031】
また、演出ボタン35は、例えば、上記液晶表示装置31に当該演出ボタン35を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン35には、演出ボタン検出スイッチ35a(図4参照)が設けられており、この演出ボタン検出スイッチ35aが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。
【0032】
遊技領域6の右下方には、第1特別図柄表示装置20、第2特別図柄表示装置21、普通図柄表示装置22、第1特別図柄保留表示器23、第2特別図柄保留表示器24、普通図柄保留表示器25が設けられている。
【0033】
上記第1特別図柄表示装置20は、第1始動口14に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、7セグメントのLEDで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第1特別図柄表示装置20に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「7」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「7」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。
【0034】
ここで、「大当たりの抽選」とは、第1始動口14または第2始動口15に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第1特別図柄表示装置20において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第2特別図柄表示装置21は、第2始動口15に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第1特別図柄表示装置20における特別図柄の表示態様と同一である。
【0035】
また、本実施形態において「大当たり」というのは、第1始動口14または第2始動口15に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第1大入賞口16または第2大入賞口17が開放されるラウンド遊技を計15回行う。各ラウンド遊技における第1大入賞口16または第2大入賞口17の最大開放時間については予め定められた時間が設定されており、この間に第1大入賞口16または第2大入賞口17に所定個数の遊技球(例えば9個)が入球すると、1回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第1大入賞口16または第2大入賞口17に遊技球が入球するとともに、当該入球に応じた賞球を遊技者が獲得できる遊技である。
【0036】
本実施形態では、「大当たりの抽選」においては、その当選確率により2つの遊技状態が設定されている。すなわち、当選確率が1/299.5に設定された「低確率遊技状態」と、当選確率が1/29.95に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第1大入賞口16が、1ラウンド遊技ごとに、29.000秒間×1回開放(×15ラウンド)される。「短当たり遊技」となれば、第2大入賞口17が、1ラウンド遊技ごとに、0.052秒間×1回(×15ラウンド)開放される。「発展当たり遊技」となれば、第2大入賞口17が、最初の1ラウンド遊技では0.052秒間×3回開放され、2ラウンド目以降は、1ラウンド遊技ごとに29.000秒間×1回(×14ラウンド)開放される。
また、「小当たり」の場合は、当選確率が1/149.75の1つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第2大入賞口17が0.052秒間×15回開放される。なお、本実施形態では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
【0037】
また、普通図柄表示装置22は、普通図柄ゲート13を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置22が点灯し、その後、上記第2始動口15が所定時間、第2の態様に制御される。
【0038】
ここで、「普通図柄の抽選」とは、普通図柄ゲート13に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート13を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置22において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。
【0039】
さらに、特別図柄の変動表示中や後述する特別遊技中等、第1始動口14または第2始動口15に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第1始動口14に遊技球が入球したときに取得された特別図柄判定用乱数値を第1保留として記憶し、第2始動口15に遊技球が入球したときに取得された特別図柄判定用乱数値を第2保留として記憶する。
これら両保留は、それぞれ上限保留個数を4個に設定し、その保留個数は、それぞれ第1特別図柄保留表示器23と第2特別図柄保留表示器24とに表示される。なお、第1保留が1つの場合には、第1特別図柄保留表示器23の左側のLEDが点灯し、第1保留が2つの場合には、第1特別図柄保留表示器23の2つのLEDが点灯する。また、第1保留が3つの場合には、第1特別図柄保留表示器23の左側のLEDが点滅するとともに右側のLEDが点灯し、第1保留が4つの場合には、第1特別図柄保留表示器23の2つのLEDが点滅する。また、第2特別図柄保留表示器24においても、上記と同様に第2保留の保留個数が表示される。
そして、普通図柄の上限保留個数も4個に設定されており、その保留個数が、上記第1特別図柄保留表示器23および第2特別図柄保留表示器24と同様の態様によって、普通図柄保留表示器25において表示される。
【0040】
ガラス枠50は、遊技盤2の前方(遊技者側)において遊技領域6を視認可能に覆うガラス板52を支持している。なお、ガラス板52は、ガラス枠50に対して着脱可能に固定されている。
【0041】
また、ガラス枠50は、左右方向の一端側(例えば遊技機1に正対して左側)においてヒンジ機構部51を介して外枠60に連結されており、ヒンジ機構部51を支点として左右方向の他端側(例えば遊技機1に正対して右側)を外枠60から開放させる方向に回動可能とされている。ガラス枠50は、ガラス板52とともに遊技盤2を覆い、ヒンジ機構部51を支点として扉のように回動することによって、遊技盤2を含む外枠60の内側部分を開放することができる。ガラス枠50の他端側には、ガラス枠50の他端側を外枠60に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠50には、ガラス枠50が外枠60から開放されているか否かを検出する扉開放スイッチ133(図4参照)も設けられている。
【0042】
遊技機1の裏面には、主制御部110が搭載された主制御基板、演出制御部120が搭載された演出制御基板、払出制御部130が搭載された払出制御基板、電源部170が搭載された電源基板、遊技情報出力端子板30などが設けられている。また、電源部170に遊技機1に電力を給電するための電源プラグ171や、図示しない電源スイッチが設けられている。
【0043】
[遊技機の内部構成]
以下、本発明の実施形態に係る遊技機1の遊技進行に係る処理を制御する制御手段について説明する。
図4は、本実施形態に係る遊技機1の内部構成を示すブロック図である。
【0044】
主制御部110は、遊技の基本動作を制御する主制御手段であり、第1始動口検出スイッチ14a等の各種検出信号を入力して、第1特別図柄表示装置20や第1大入賞口開閉ソレノイド16c等を駆動させて遊技を制御するものである。
【0045】
この主制御部110は、メインCPU110a、メインROM110b、メインRAM110cから少なくとも構成されるワンチップマイコン110mと、検査値生成部500と、送信部550と、主制御用の入力ポートと出力ポート(図示せず)とを少なくとも備えている。
【0046】
この主制御用の入力ポートには、払出制御部130、一般入賞口12に遊技球が入球したことを検知する一般入賞口検出スイッチ12a、普通図柄ゲート13に遊技球が入球したことを検知するゲート検出スイッチ13a、第1始動口14に遊技球が入球したことを検知する第1始動口検出スイッチ14a、第2始動口15に遊技球が入球したことを検知する第2始動口検出スイッチ15a、第1大入賞口16に遊技球が入球したことを検知する第1大入賞口検出スイッチ16a、第2大入賞口17に遊技球が入球したことを検知する第2大入賞口検出スイッチ17aが接続されている。この主制御用の入力ポートによって、各種信号が主制御部110に入力される。
【0047】
また、主制御用の出力ポートには、払出制御部130、第2始動口15の一対の可動片15bを開閉動作させる始動口開閉ソレノイド15c、第1大入賞口開閉扉16bを動作させる第1大入賞口開閉ソレノイド16c、第2大入賞口開閉扉17bを動作させる第2大入賞口開閉ソレノイド17c、特別図柄を表示する第1特別図柄表示装置20と第2特別図柄表示装置21、普通図柄を表示する普通図柄表示装置22、特別図柄の保留球数を表示する第1特別図柄保留表示器23と第2特別図柄保留表示器24、普通図柄の保留球数を表示する普通図柄保留表示器25、外部情報信号を出力する遊技情報出力端子板30が接続されている。この主制御用の出力ポートによって、各種信号が出力される。
【0048】
主制御部110のメインCPU110aは、各検出スイッチや内部機能として組み込まれている図示しないタイマ等からの入力信号に基づいて、メインROM110bに記憶されたプログラムを読み出して演算処理を行うとともに、演算処理の結果に応じて、主制御部110を構成する各構成部に対する制御指示(以下、「制御信号」という)や主制御部110以外の他の制御部に対する制御コマンドを出力したりする。
【0049】
主制御部110のメインROM110bには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインROM110bに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当たり判定テーブル、普通図柄の抽選に参照される当たり判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
【0050】
また、メインROM110bには、検査値生成部500を介して送信部550から制御コマンドを送信する処理の内容や手順を記述した認証処理用プログラムや、認証処理用プログラムを実行する際に使用される固定データ、および遊技機1固有の情報である固有情報などが予め記憶されている。
【0051】
主制御部110のメインRAM110cは、メインCPU110aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインRAM110cが有する記憶領域として一例を挙げれば、普通図柄保留数(G)記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第1特別図柄保留数(U1)記憶領域、第2特別図柄保留数(U2)記憶領域、第1特別図柄乱数値記憶領域、第2特別図柄乱数値記憶領域、ラウンド遊技回数(R)記憶領域、開放回数(K)記憶領域、大入賞口入球数(C)記憶領域、遊技状態記憶領域(高確率遊技フラグ記憶領域等)、高確率遊技回数(X)カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。
【0052】
主制御部110の検査値生成部500は、メインCPU110aと送信部550との間に設けられている。検査値生成部500は、主制御部110が制御コマンドを送信する際に、制御コマンドの正当性を検査して主制御部110の正当性を認証するための誤り検査値を生成し、制御コマンドに付加する機能(以下、「誤り検査値付加機能」という)を有している。具体的には、検査値生成部500は、メインCPU110aが送信部550にて制御コマンドを送信する処理(以下、「コマンド送信処理」という)を行う際に、メインCPU110aから制御コマンドを受け取る。そして、検査値生成部500は、受け取った制御コマンドの誤り検査値を生成する処理(以下、「検査値生成処理という」)を行う。そして、検査値生成部500は、生成した誤り検査値を制御コマンドに付加した後(以下、「検査値付加処理」という)、誤り検査値付きの制御コマンドを送信部550へ出力する。
【0053】
主制御部110の送信部550は、上記主制御用の出力ポートの中でも、特に、主制御部110に対する認証機能を担うよう予め定められた制御部(後述する演出制御部120や払出制御部130等)への制御コマンドの出力に用いられる。具体的には、送信部550は、検査値生成部500に後続して設けられており、検査値生成部500から出力された誤り検査値付きの制御コマンドを演出制御部120や払出制御部130等へ送信する。
【0054】
遊技情報出力端子板30は、主制御部110において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板30は、主制御部110と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。
【0055】
電源部170は、コンデンサからなるバックアップ電源を備えており、遊技機1に電源電圧を供給するとともに、遊技機1に供給する電源電圧を監視し、電源電圧が設定値以下となったときに、電断検知信号を主制御部110へ出力する。より具体的には、電源電圧が、設定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインCPU110aは動作を停止する処理を行う。その後、電源電圧が、設定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインCPU110aは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。
【0056】
演出制御部120は、主に遊技中や待機中等の各演出を制御する。この演出制御部120は、サブCPU120a、サブROM120b、サブRAM120cを備えており、主制御部110に対して、当該主制御部110から演出制御部120への一方向に通信可能に接続されている。サブCPU120aは、主制御部110から送信された制御コマンド、または、上記演出ボタン検出スイッチ35a、タイマからの入力信号に基づいて、サブROM120bに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータをランプ制御部140または画像制御部150に送信する。サブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能する。
【0057】
例えば、演出制御部120におけるサブCPU120aは、主制御部110から送信された制御コマンドの1つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部150やランプ制御部140へ送信する。
【0058】
演出制御部120のサブROM120bには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブROM120bに記憶されたテーブルとして一例を挙げれば、主制御部から受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄36の組み合わせを決定するための演出図柄決定テーブルなどがある。
【0059】
また、主制御部110に対する認証機能が演出制御部120に備えられている場合には、サブROM120bには、サブCPU120aにて行われる受信した制御コマンドへの誤り検査処理を含む認証処理の内容や手順を記述した認証処理用プログラムや、認証処理用プログラムを実行する際に使用される固定データ、および主制御部110のメインROM110bに記憶された固有情報に対応する情報などが予め記憶されている。なお、主制御部110に対する認証機能が払出制御部130に備えられている場合には、後述する払出ROMに、上記演出制御部120の認証処理に関するプログラム等が記憶されている。また、これら認証処理に関する構成については後述する。
【0060】
演出制御部120のサブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブRAM120cが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
【0061】
払出制御部130は、遊技球の払い出し制御を行う。この払出制御部130は、図示しない払出CPU、払出ROM、払出RAMから構成されるワンチップマイコンを備えており、主制御部110に対して、双方向に通信可能に接続されている。払出CPUは、遊技球が払い出されたか否かを検知する払出球計数スイッチ132、扉開放スイッチ133、タイマからの入力信号に基づいて、払出ROMに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを主制御部110に送信する。
【0062】
また、払出制御部130の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ131が接続されている。払出CPUは、主制御部110から送信された制御コマンドの1つである払出個数指定コマンドに基づいて、払出ROMから所定のプログラムを読み出して演算処理を行うとともに、払出装置の払出モータ131を制御して所定の遊技球を払い出す。このとき、払出RAMは、払出CPUの演算処理時におけるデータのワークエリアとして機能する。
【0063】
ランプ制御部140は、遊技盤2に設けられた演出用照明装置34を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置33を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部140は、演出制御部120に接続されており、演出制御部120から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。
【0064】
画像制御部150は、液晶表示装置31の画像表示制御を行うためのホストCPU、ホストCPU150aのワークエリアとして機能する一時的な記憶領域を有するホストRAM、ホストCPU150aの制御処理のプログラム等が記憶されたホストROM、画像データが記憶されたCGROM、画像データを描画するフレームバッファを有するVRAM、画像プロセッサとなるVDP(Video Display Processor)と、音の制御を行う音制御回路とを備えている。
【0065】
ホストCPUは、演出制御部120から受信した演出パターン指定コマンドに基づいて、VDPにCGROMに記憶されている画像データを液晶表示装置31に表示させる指示を行う。
VDPは、ホストCPUからの指示に基づいて、CGROMに記憶された画像データをVRAMのフレームバッファに描画する。次に、VRAMにある表示用のフレームバッファに記憶された画像データに基づいて映像信号(RGB信号等)を生成し、生成した映像信号を液晶表示装置に出力する。
【0066】
音制御回路には、音声データが多数記憶されている音声ROMが備えられており、音制御回路が、演出制御部120から送信されたコマンドに基づいて所定のプログラムを読み出すとともに、音声出力装置32における音声出力制御をする。
【0067】
発射制御部160は、遊技球の発射制御を行う。この発射制御部160は、入力側にタッチセンサ3aおよび発射ボリューム3bが接続されており、出力側に発射用ソレノイド4aおよび玉送りソレノイド4bを接続している。発射制御部160は、タッチセンサ3aからのタッチ信号を入力するとともに、発射ボリューム3bから供給された電圧に基づいて、発射用ソレノイド4aや玉送りソレノイド4bを通電させる制御を行う。
【0068】
タッチセンサ3aは、操作ハンドル3の内部に設けられ、遊技者が操作ハンドル3に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ3aは、遊技者が操作ハンドル3に触れたことを検知すると、発射制御部160(図4参照)に発射用ソレノイド4aの通電を許可するタッチ信号を出力する。発射制御部160は、大前提としてタッチセンサ3aからタッチ信号の入力がなければ、遊技球200を遊技領域6に発射させないように構成されている。
【0069】
発射ボリューム3bは、操作ハンドル3が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム3bは、その発射ボリューム3bに印加された定電圧(例えば5V)を可変抵抗器により分圧して、分圧した電圧を発射制御部160に供給する(発射制御部160に供給する電圧を可変させる)。発射制御部160は、発射ボリューム3bにより分圧された電圧に基づいて、発射用ソレノイド4aを通電して、発射用ソレノイド4aに直結された打出部材4cを回転させることで、遊技球200を遊技領域6に発射させる。
【0070】
発射用ソレノイド4aは、ロータリーソレノイドから構成され、発射用ソレノイド4aには打出部材4cが直結されており、発射用ソレノイド4aが回転することで、打出部材4cを回転させる。
【0071】
ここで、発射用ソレノイド4aの回転速度は、発射制御部160に設けられた水晶発振器の出力周期に基づく周波数から、約99.9(回/分)に設定されている。これにより、1分間における発射遊技数は、発射ソレノイドが1回転する毎に1個発射されるため、約99.9(個/分)となる。すなわち、1個の遊技球は約0.6秒毎に発射されることになる。
【0072】
玉送りソレノイド4bは、直進ソレノイドから構成され、受け皿40にある遊技球を、発射用ソレノイド4aに直結された打出部材4cに向けて1個ずつ送り出す。
【0073】
ここで、上記構成の演出制御部120、払出制御部130、ランプ制御部140、画像制御部150、および発射制御部160など、主制御部110からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機1の制御処理を行う制御部を総称して「周辺制御部300」という。また、演出制御部120が搭載された演出制御基板や払出制御部130が搭載された払出制御基板など、周辺制御部300の各制御部が搭載された各制御基板を総称して「周辺制御基板」という。なお、ランプ制御部140および画像制御部150は、演出制御部120と同一の基板上に搭載することもできる。また、払出制御部130および発射制御部160は、主制御部110と同一の基板上に搭載することもできる。
【0074】
[遊技機の認証処理に関する内部構成]
以下、上記構成の遊技機1が不正行為防止のために有するセキュリティ機能を実現する制御手段について説明する。
本実施形態に係る遊技機1のセキュリティ機能は、周辺制御部300が主制御部110から送信された制御コマンドの正当性を検査し主制御部110の認証を行うことによって実現される。そのために主制御部110および周辺制御部300が実行する処理を、通常の遊技進行に係る処理とは区別する意味で「認証処理」という。なお、本実施形態では、周辺制御部300のうちの演出制御部120に、主制御部110に対する認証機能が備えられていることとして説明する。
【0075】
具体的には、主制御部110は、制御コマンドを生成し演出制御部120へ送信する際に、当該制御コマンドより前(過去)に生成された制御コマンドの誤り検査値を生成し、今回送信すべき制御コマンドに付加して送信する。演出制御部120は、今回受信した制御コマンドに付加された誤り検査値と、当該制御コマンドより前に受信した制御コマンドを用いて予め生成しておいた誤り検査値とを照合する。そして、両者が一致すると、今回受信した制御コマンドの正当性が認証され、主制御部110の認証に成功したと判断される。
【0076】
図5は、本実施形態に係る主制御部110の認証処理に関する内部構成を示す機能ブロック図である。
主制御部110は、上記のようにメインCPU110a、メインROM110b、メインRAM110cに加え、メインCPU110aからの送信指示に基づき、誤り検査値の生成処理および付加処理を行う検査値生成部500と、演出制御部120への制御コマンドの送信処理を行う送信部550とを少なくとも備えている。また、これら主制御部110の各構成部は、各々が出力する各種データや信号を送受できるようバス接続されている(図示せず)。バスは、アドレスバス、データバス、および制御バスの機能を少なくとも備え、主制御部110の各構成部から出力された制御信号に基づきバス上を通るデータの割り当てを行い、データの衝突が生じないように制御している。なお、図5においては、便宜上、バスという形では明示せず、主制御部110の各構成部を結ぶ信号線として表し、その中でも特徴的なものだけを示している。また、主制御部110の各構成部には、クロックパルス発生回路(図示せず)により出力された所定のクロック信号がそれぞれ入力されている。
【0077】
メインCPU110aは、上記のように遊技進行に係る処理を実行する他、遊技機1での認証処理を実行する。メインCPU110aは、メインROM110bに記憶された認証処理用プログラムや各種固定データを用いて、各種演算処理を実行するとともに、各種演算処理の結果に応じて制御信号や制御コマンドを出力する。
【0078】
例えば、メインCPU110aは、認証処理用プログラムに基づいて、演出制御部120へ送信すべき制御コマンドのコマンド送信処理を行う際には、検査値生成部500へ当該制御コマンドを書き込むための制御信号(以下、「書き込み信号」という)を出力し、当該制御コマンドを検査値生成部500を介して送信部550にて送信させる。
また、メインCPU110aは、主制御部110の初期化処理時に、後述する固有情報を検査値生成部500へ設定する必要があるときは、メインROM110bに記憶された固有情報を読み出すための制御信号(以下、「読み出し信号」という)を出力して固有情報を取得し、取得した固有情報を検査値生成部500へ設定する処理を行う。
【0079】
メインROM110bには、上記のように遊技処理用プログラムやデータの他、認証処理用プログラムや固定データおよび遊技機1固有の情報である固有情報が予め記憶されている。固有情報は、主制御部110が保持する遊技機1固有の情報であれば特に限定されない。固有情報は、例えば、メインROM110bの固定データが記憶された領域の中の特定のアドレスに記憶されたデータ(例えば、制御コマンドデータやプログラムコードなど)や当該データのチェックサム値、また、メインCPU110aに固有に付与されている識別番号(ID)やメーカーコード・機種コード等の製品情報などを用いることができる。また、予め演出制御部120との間で取り決められた誤り検査値のダミーデータなども用いることができる。これらのデータに四則演算や論理演算等を施した値でもよい。なお、固有情報は、メインROM110bとは別個の記憶手段(メモリセルやROMなど)に記憶されていてもよい。
【0080】
主制御部110が出力する制御コマンドは、演出制御部120へ送信される際に、図6に示すように、今回送信するべき制御コマンドより前(過去)に生成された制御コマンドの誤り検査値が付加されるようになっている。この付加するべき誤り検査値は、所定の記憶領域(後述する検査値生成部500の格納回路522)に格納されている。ただし、電源投入直後などの遊技機1のリセット時などにおいて、主制御部110が初期化された場合は、上記記憶領域に格納されていた付加するべき誤り検査値もクリアされる。このとき、付加するべき誤り検査値がクリアされてから、最初に生成された制御コマンドなどに付加する誤り検査値(以下、「初期検査値」という)として、メインROM110bに予め格納された固有情報を用いる。初期検査値は、後述する遡及数N(N個;Nは正の整数)の数だけ必要となるため、固有情報は、少なくとも初期検査値の必要数個以上、予め用意されている。
【0081】
ここで、誤り検査値が上記のようにクリアされた直後に、最初に生成れた制御コマンドを「制御コマンド(1)」といい、制御コマンド(1)を用いて生成された誤り検査値を「誤り検査値(1)」という。同様に、誤り検査値が上記のようにクリアされてからP番目(Pは正の整数)に生成された制御コマンドを「制御コマンド(P)」といい、制御コマンド(P)を用いて生成された誤り検査値を「誤り検査値(P)」という。Pの値は、誤り検査値が上記のようにクリアされた直後からの制御コマンドの生成個数を示しており、公知のカウンタ回路などによって計数すればよい(以下、Pを「生成個数」という)。本実施形態では、メインRAM110cに生成個数記憶領域(P)を設けておき、メインCPU110aがコマンド送信処理の際に生成個数機能領域(P)の値を更新していくとする。
【0082】
本実施形態では、メインCPU110aで生成され、今回のコマンド送信処理において実際に出力された制御コマンドを、制御コマンド(P)とし、当該制御コマンド(P)よりN個前に生成された制御コマンドを制御コマンド(P−N)とする。そして、制御コマンド(P)に対して、これよりN個前に生成された制御コマンド(P−N)の誤り検査値(P−N)を付加する。そして、制御コマンド(P)および誤り検査値(P−N)を演出制御部120へ送信する。Nの値は、今回送信する制御コマンドに対して、何個前に生成された制御コマンドの誤り検査値を付加するのかということを予め取り決めておいた数である(以下、Nを「遡及数」という)。なお、主制御部110が、制御コマンド(P)を生成する度に、演出制御部120へ送信するならば、Nは、今回送信する制御コマンドに対して、何個前に送信された制御コマンドの誤り検査値を付加するのかということを取り決めておいた数であると考えることができる。本発明には、このような概念も含まれる。
【0083】
検査値生成部500は、メインCPU110aと送信部550との間に設けられている。そして、メインCPU110aと検査値生成部500との接続、および検査値生成部500と送信部550との接続は、上記のようにバス接続されており、それぞれの接続に使用されるバスは同一規格のバスとなっている。すなわち、検査値生成部500のメインCPU110a側の入力インターフェースと、送信部550の検査値生成部500側の入力インターフェースにおいて、各インターフェース間でのデータ送受を制御する方式(以下、「入出力制御形式」という)は、それぞれ、メインCPU110aの検査値生成部500側の出力インターフェースに設定された入出力制御方式に対応した方式となっている。なお、バス規格は、公知の規格を用いればよい。
【0084】
本実施形態では、メインCPU110aの検査値生成部500側の出力インターフェースの入出力制御方式を、「CPUインターフェース方式」という。そして、このCPUインターフェース方式は、上記のバス規格に基づいて定められた公知の入出力制御方式を用いればよく、検査値生成部500を追加する前のメインCPU110aと送信部550の間のバス規格に基づいて定められた入出力制御方式でよい。検査値生成部500の送信部550側の出力インターフェースも、CPUインターフェース方式で構成されている。
【0085】
本実施形態のCPUインターフェース方式を具体的に説明する。例えば、メインCPU110aが制御コマンドを検査値生成部500へ出力する際、メインCPU110aは、データバスに制御コマンド、アドレスバスに検査値生成部500の所定の記憶領域を指定するアドレスデータ、制御バスに書き込み信号を出力する。このアドレスデータは、デコーダを介してチップセレクト信号へ変換され、検査値生成部500へ入力される。検査値生成部500は、チップセレクト信号および書き込み信号がアクティブとなると(以下、制御信号がアクティブとなることを「制御信号が入力される」という)、データバス上の制御コマンドを取り込む。このような入出力制御方式で、制御コマンドがメインCPU110aから検査値生成部500へ出力される。
【0086】
また、検査値生成部500が制御コマンドを送信部550へ出力する際も、検査値生成部500は、データバスに制御コマンド、アドレスバスに送信部550の所定の記憶領域を指定するアドレスデータ、制御バスに書き込み信号を出力する。そして、送信部550は、当該アドレスデータのチップセレクト信号および書き込み信号が入力されると、データバス上の制御コマンドを取り込み、制御コマンドが検査値生成部500から送信部550へ転送される。検査値生成部500が誤り検査値を送信部550へ出力する際も同様である。
【0087】
なお、本実施形態では、出力されたアドレスデータは、チップセレクト信号へ変換された後、指定された主制御部110内の構成部へ入力されるものとし、アドレスデータからチップセレクト信号への変換については説明を省略する。また、本実施形態では、バスは、制御コマンドまたは誤り検査値のいずれか小さい方のデータ長以上のビット幅を有するバスを設けておけばよい。例えば、制御コマンドは2バイト、誤り検査値は1バイトのデータであるとすると、データバスのビット幅は、少なくとも1バイト以上とすればよい。この場合、メインCPU110aおよび検査値生成部500は、まず、2バイト長の制御コマンドの上位1バイトをデータバスへ出力し、続いて、下位1バイトをデータバスへ出力する。続いて、検査値生成部500は、1バイトの誤り検査値をデータバスへ出力する。
【0088】
検査値生成部500は、メインCPU110aから出力された制御コマンドに対して誤り検査値を付加して送信部550へ出力する機能を果たし、検査値生成処理および検査値付加処理など、遊技機1のセキュリティ機能実現に係る主制御部110の処理全般を実行する回路である。具体的には、検査値生成部500は、バッファ手段510と、生成手段520と、付加手段530とを少なくとも備えている。そして、検査値生成部500の各手段は、ワイヤードロジック制御方式で回路構成されている。本実施形態では、検査値生成部500内の各手段同士および各手段内の各回路同士の入出力制御方式を「ワイヤードインターフェース方式」という。ワイヤードインターフェース方式では、出力するデータの接続先に対してイネーブル信号等を出力すれば、接続先は当該イネーブル信号等の入力に基づいて、当該出力データを取り込む。よって、ワイヤードインターフェース方式は、バスを介して送出されるアドレスデータ(チップセレクト信号)および書き込み信号を必要とするCPUインターフェース方式とは異なる。
【0089】
バッファ手段510は、メインCPU110aから出力された制御コマンドを一時的に保持し、保持した制御コマンドを後続する生成手段520および付加手段530へ出力する回路である。すなわち、バッファ手段510は、メインCPU110aが演出制御部120へ送信する制御コマンドを一時的に保持し、メインCPU110aのコマンド送信処理と、後続する生成手段520の検査値生成処理および付加手段530の検査値付加処理との実行タイミングを調整する役割を担っている。また、バッファ手段510の入力側は、メインCPU110aとの間で、上記のようにCPUインターフェース方式に対応する入出力制御方式でデータ送受が制御されている。一方、バッファ手段510の出力側は、後続する生成手段520および付加手段530との間で、ワイヤードインターフェース方式でデータ送受が制御されている。すなわち、バッファ手段510は、自身の入力側と出力側とで異なる入出力制御方式を有し、メインCPU110aのCPUインターフェース方式と検査値生成部500内のワイヤードインターフェース方式とを整合する役割を担っている。
【0090】
そして、バッファ手段510は、データバッファ511と制御回路512とを少なくとも備えている。データバッファ511は、メインCPU110aから出力された制御コマンドを、データバスを介して取り込んで保持する回路である。制御回路512は、メインCPU110aから出力された制御信号に基づいて、データバッファ511の動作を制御する回路である。
【0091】
具体的には、制御回路512は、メインCPU110aから出力された制御コマンドをバッファ手段510のデータバッファ511へ書き込むための書き込み信号と、バッファ手段510を指定するアドレスデータとが入力されると、データバス上の制御コマンドをデータバッファ511が取り込むよう作動させるためのイネーブル信号(以下、「作動許可信号」という)を出力する。データバッファ511は、当該作動許可信号の入力に基づいて、データバス上の制御コマンドを取り込む。また、制御回路512は、データバッファ511が取り込んだ制御コマンドを生成手段520および付加手段530へ出力するよう作動させるための作動許可信号を出力する。データバッファ511は、当該作動許可信号の入力に基づいて、取り込んだ制御コマンドを生成手段520および付加手段530へ出力する。そして、制御回路512は、データバッファ511から出力された制御コマンドが、生成手段520および付加手段530で入力可能となるよう、生成手段520の制御回路523および付加手段530の制御回路532に対して、作動許可信号を出力する。なお、制御回路512が、上記各作動許可信号を出力するタイミングは、検査値生成部500内の各手段の動作時間等を考慮しながら、各手段がメインCPU110aからの制御信号およびクロック信号の入力に同期して正常に動作できるようなタイミングとなるように予め設定されている。
【0092】
生成手段520は、バッファ手段510から出力された制御コマンドの誤り検査値を生成し、生成した誤り検査値を後続する付加手段530へ出力する回路である。すなわち、生成手段520は、検査値生成処理を実行する役割を担っている。そして、生成手段520は、生成回路521と、格納回路522と、制御回路523とを少なくとも備えている。生成回路521は、バッファ手段510から出力された制御コマンドに演算処理を施して誤り検査値を生成する回路である。格納回路522は、生成回路521で生成した誤り検査値を格納する回路である。制御回路523は、バッファ手段510から出力された作動許可信号に基づいて、生成回路521および格納回路522の動作を制御する回路である。
【0093】
具体的には、生成回路521は、バッファ手段510から出力された制御コマンドに対し、予め設定された誤り検査値生成のための演算方式(以下、「生成方式」という)で演算して誤り検査値を生成し、格納回路522へ出力する回路である。より詳細には、生成回路521は、バッファ手段510のデータバッファ511とデータ線で接続され、制御回路523と制御線で接続されている。そして、制御回路523は、バッファ手段510の制御回路512から出力された作動許可信号に基づいて、制御コマンドを入力して演算処理するよう作動させるための作動許可信号を生成回路521へ出力する。生成回路521は、制御回路523から当該作動許可信号が入力されると、データバッファ511から出力された制御コマンドを入力する。そして、生成回路521は、入力した制御コマンドを予め設定された生成方式で演算し、誤り検査値を生成する。続いて、生成回路521は、生成した誤り検査値を格納回路522へ出力する。
【0094】
生成方式は、主制御部110と演出制御部120との間で予め取り決めてあれば、特に限定されない。生成方式は、例えば、チェックサム方式、CRC方式、奇数パリティ方式、偶数パリティ方式、群計数チェック方式、垂直パリティ方式、水平パリティ方式、またはハミング符号方式等の公知の方式を用いることができる。なお、生成回路521は、バッファ手段510が出力した制御コマンドをそのまま入力し、演算するように構成することもできるし、バッファ手段510が出力した制御コマンドの一部だけを入力し、演算するように構成することもできる。例えば、制御コマンドは後述するように1バイトの「MODE」の情報と1バイトの「DATA」の情報とから構成されているが、出力された制御コマンドの「MODE」の情報のみを入力し、演算するように構成することができる。
【0095】
格納回路522は、生成回路521から出力された誤り検査値を格納しておく回路である。より詳細には、格納回路522は、少なくとも遡及数Nに対応するN段の格納回路(1)〜(N)で構成されている。格納回路522の各格納回路(1)〜(N)は、パイプライン構成となるように各々を接続しておく。初段の格納回路(図5では格納回路(N))は、生成回路521とデータ線で接続されており、最終段の格納回路(図5では格納回路(1))は、付加手段530とデータ線で接続されている。また、各格納回路(1)〜(N)は、それぞれ制御回路523と制御線で接続されている。そして、制御回路523は、各格納回路(1)〜(N)に格納されたデータを順次シフトさせるための制御信号(以下、「シフト処理信号」という)を出力する。各格納回路(1)〜(N)は、シフト処理信号が制御回路523から入力されると、各格納回路(1)〜(N)は、各々が格納する誤り検査値を次段の格納回路に順次シフトさせる。
【0096】
このように、格納回路522は、遡及数Nに対応するN段のシフトレジスタ(FIFOメモリ)の機能を少なくとも有している。そして、格納回路522は、バッファ手段510がメインCPU110aより受け取った制御コマンド(P)から、当該制御コマンド(P)より遡及数N個前の制御コマンド(P−N)までの、N個の制御コマンドのそれぞれに対応した誤り検査値(誤り検査値(P)〜誤り検査値(P−N))を格納することができる。そして、格納回路522の初段の格納回路(N)は、シフト処理信号の入力に伴って、生成回路521から出力された誤り検査値を取り込んで格納し、最終段の格納回路(1)は、自身が格納する誤り検査値を付加手段530へ出力する。すなわち、格納回路522は、バッファ手段510に保持された制御コマンド(P)より過去に生成された制御コマンド(P−N)の誤り検査値(P−N)を、付加手段530へ出力することとなる。
【0097】
ここで、誤り検査値の付加手順について図6を用いて説明する。
P=1の場合、すなわち、主制御部110が初期化されたことに伴って格納回路522に格納されていた誤り検査値がクリアされてから最初に生成された制御コマンドを送信する場合には、メインCPU110aがメインROM110bからN個の固有情報を全て読み出して、初期検査値(1)〜(N)として、制御コマンドの生成順序と対応するように各格納回路(1)〜(N)へ格納させておく。
そして、P≦Nの場合、すなわち、格納回路522に格納されていた誤り検査値がクリアされてからN番目以前に生成された制御コマンドを送信する場合には、当該制御コマンド(P)に対し、初期検査値(1)〜(N)が付加されることとなる。
一方、P>Nの場合、すなわち、格納回路522に格納されていた誤り検査値がクリアされてからN番目より後に生成された制御コマンドを送信する場合には、上記のように当該制御コマンド(P)に対し、誤り検査値(P−N)が付加されることとなる。図6には、N=2の場合が示されている。このような誤り検査値の付加手順については、主制御部110と演出制御部120との間で予め取り決められている。
【0098】
遡及数Nの値の取り得る範囲は、格納回路522(および演出制御部120の格納部622)の記憶容量によって制限されるものの、基本的には任意である。Nの値が大きければ、不正者にとっては、制御コマンドとそれに付加された誤り検査値との関係性を解析することがより困難となり、不正行為をより一層防止することができる。但し、Nの値が、例えば1日の遊技機稼働中における制御コマンドの送信回数より遥かに大きい値となると、制御コマンドに付加される誤り検査値は全て固有情報となり、固有情報の秘匿性が損なわれるおそれがある。なお、本実施形態では、「誤り検査値」および「誤り検査値(P−N)」という表現には、特に明記する場合を除き、P≦Nの場合に付加される初期検査値(初期検査値(1)〜初期検査値(N)のいずれか)も含まれるものとして説明する。
【0099】
付加手段530は、バッファ手段510から出力された制御コマンドに対し、生成手段520から出力された誤り検査値を付加して、送信部550へ出力する回路である。すなわち、付加手段530は、検査値付加処理を実行する役割を担っている。また、付加手段530の入力側は、バッファ手段510および生成手段520との間で、ワイヤードインターフェース方式でデータ送受が制御されている。一方、付加手段530の出力側は、後続する送信部550との間で、上記のようにCPUインターフェース方式に対応する入出力制御方式でデータ送受が制御されている。すなわち、付加手段530は、自身の入力側と出力側とで異なる入出力制御方式を有し、検査値生成部500内のワイヤードインターフェース方式と送信部550のCPUインターフェース方式に対応する入出力制御方式とを整合する役割を担っている。
【0100】
そして、付加手段530は、入力選択回路531と、制御回路532とを少なくとも備えている。入力選択回路531は、予め取り決められた上記の誤り検査値の付加手順と整合するように、バッファ手段510から出力された制御コマンドと、生成手段520から出力された誤り検査値とを選択的に取り込む回路である。制御回路532は、バッファ手段510から出力された作動許可信号に基づいて、入力選択回路531の動作を制御する回路である。
【0101】
具体的には、入力選択回路531は、バッファ手段510のデータバッファ511および生成手段520の格納回路522の最終段の格納回路(図5では格納回路(1))と、それぞれデータ線で接続されている。また、入力選択回路531は、制御回路532と制御線で接続されている。入力選択回路531は、デフォルトは、データバッファ511との接続を有効となるように予め設定されており、データバッファ511から出力された制御コマンドを取り込む。そして、制御回路532は、バッファ手段510の制御回路512から出力された作動許可信号に基づき、所定時間遅延して、入力選択回路531の格納回路522との接続を有効とするための制御信号(以下、「接続切替信号」という)を入力選択回路531へ出力する。入力選択回路531は、制御回路532から当該接続切替信号が入力されると、格納回路522から出力された誤り検査値を取り込む。
【0102】
そして、入力選択回路531は、送信部550と接続されたデータバスへ取り込んだ制御コマンドおよび誤り検査値を出力する。また、制御回路532は、送信部550と接続されたアドレスバスに送信部550の所定の記憶領域を指定するアドレスデータ、制御バスに書き込み信号を出力する。このとき、制御回路532が、上記書き込み信号を出力するタイミングは、バッファ手段510の制御回路512から出力された作動許可信号に基づいて、生成手段520および送信部550の動作時間等を考慮しながら、上記の誤り検査値の付加手順と整合して誤り検査値が付加されるようなタイミングとなるように予め設定されている。
【0103】
送信部550は、検査値生成部500から出力された制御コマンドと誤り検査値を演出制御部120へ送信する機能を果たし、送信バッファ551と、送信回路552とを少なくとも備えている。
【0104】
送信バッファ551は、演出制御部120へ送信するデータを一時的に保持するためのバッファ回路である。具体的には、送信バッファ551は、検査値生成部500から出力された制御コマンドを送信バッファ551へ書き込むための書き込み信号と、送信バッファ551を指定するアドレスデータとが入力されると、当該制御コマンドをバスを介して取り込む。また、送信バッファ551は、検査値生成部500から出力された上記制御コマンドに付加すべき誤り検査値を送信バッファ551へ書き込むための書き込み信号と、送信バッファ551を指定するアドレスデータとが入力されると、当該誤り検査値をバスを介して取り込む。そして、送信バッファ551は、取り込んだ制御コマンドおよび誤り検査値を送信回路552へ直ちに受け渡す。
【0105】
送信回路552は、演出制御部120へ送信するデータを、主制御部110と演出制御部120との間のデータ伝送形式(シリアル伝送形式やパラレル伝送形式)に対応したデータ形式へ変換する機能などを備えている。そして、送信回路552は、送信バッファ551から受け渡されたデータに上記変換処理等を施して送信データとし、演出制御部120へ直ちに送信する。
【0106】
上述のように構成された、主制御部110の認証処理に関する各構成部の動作について概説する。
遊技機1に電源が投入されると、主制御部110にシステムリセットが発生し、メインCPU110aは、主制御部110の初期化処理を行う。その後、メインCPU110aは、メインROM110bに記憶された遊技処理用プログラムに基づき遊技進行に係る処理を行う。そして、メインCPU110aは、制御コマンドを送信するタイミングとなると、コマンド送信処理を行う。
【0107】
まず、メインCPU110aは、制御コマンドを構成するために必要なデータをメインROM110bから読み出す。続いて、メインCPU110aは、読み出したデータを用いて今回送信する制御コマンド(P)を構成し、メインRAM110cの送信データ用記憶領域にセットする。このとき、メインCPU110aは、メインRAM110cの生成個数記憶領域(P)の値を更新し、今回送信する制御コマンド(P)が制御コマンド(1)であれば初期検査値の設定を行う。初期検査値の設定は、メインCPU110aがメインROM110bから固有情報を読み出し、読み出した固有情報を検査値生成部500へ出力し、検査値生成部500の格納回路522へ格納させる。
【0108】
そして、メインCPU110aは、制御コマンドの送信タイミングとなると、送信データ用記憶領域にセットされた制御コマンド(P)を、検査値生成部500のバッファ手段510へ出力する。このとき、メインCPU110aは、書き込み信号およびアドレスデータをバッファ手段510へ出力する。バッファ手段510は、当該書き込み信号の入力に基づいて、制御コマンド(P)を取り込み、検査値生成部500の生成手段520および付加手段530へ出力する。このとき、バッファ手段510は、生成手段520および付加手段530へ作動許可信号を出力する。
【0109】
生成手段520は、バッファ手段510から出力された作動許可信号の入力に基づいて、バッファ手段510から出力された制御コマンド(P)を用いて、誤り検査値を生成する。生成手段520は、入力された制御コマンド(P)に対して予め設定された生成方式にて誤り検査値(P)を生成する。そして、生成した誤り検査値(P)を格納するとともに、自身の格納回路522にシフト処理を施して、付加手段530へ過去に格納された誤り検査値(P−N)を出力する。
【0110】
一方、付加手段530は、バッファ手段510から出力された作動許可信号の入力に基づいて、バッファ手段510から出力された制御コマンド(P)を取り込む。そして、付加手段530は、取り込んだ制御コマンド(P)を送信部550へ出力する。このとき、付加手段530は、書き込み信号およびアドレスデータを送信部550へ出力する。また、付加手段530は、バッファ手段510から出力された作動許可信号の入力から所定時間遅延して、自身の入力選択回路531の接続を切り替え、生成手段520から出力された誤り検査値(P−N)を取り込む。そして、付加手段530は、取り込んだ誤り検査値(P−N)を送信部550の送信バッファ551へ出力する。このとき、付加手段530は、書き込み信号およびアドレスデータを送信バッファ551へ出力する。
【0111】
送信バッファ551は、付加手段530から出力された書き込み信号が入力されると、制御コマンド(P)および誤り検査値(P−N)を取り込み、直ちに送信部550の送信回路552へ受け渡す。送信回路552は、送信バッファ551から受け渡された制御コマンド(P)および誤り検査値(P−N)に上記変換処理等を施して送信データとし、演出制御部120へ直ちに送信する。このようにして、主制御部110の送信部550から誤り検査値付きの制御コマンドが演出制御部120へ送信されることとなる。
【0112】
その後、主制御部110を構成する送信部550から送信された制御コマンド(P)は、演出制御部120を構成する受信部600にて受信される。
図7に、本実施形態に係る演出制御部120の認証処理に関する機能ブロックを示す。
演出制御部120は、認証処理に関する機能として、受信部600と、検査部610と、検査値生成部620と、を少なくとも有している。さらに、検査値生成部620は、誤り検査値を生成する生成部621と、生成した誤り検査値を格納する格納部622との機能を少なくとも有している。
【0113】
受信部600は、主制御部110からの送信データに上記変換処理に対応する処理等を施して制御コマンド(P)とし、自身の受信バッファに記憶する機能を有するものである。また、受信部600は、制御コマンド(P)の受信割込要求があった旨を示す信号を出力したり、制御コマンド(P)の受信が完了したことを示すフラグを立てたりして、サブCPU120aが、主制御部110から送信された制御コマンド(P)の受信が完了したことを検知できるようにする機能を有するものである。
【0114】
また、受信部600は、受信した誤り検査値付きの制御コマンド(P)から、付加された誤り検査値(P−N)を抽出して検査部610へ出力する機能を有するものである。加えて、受信部600は、誤り検査値(P−N)を抽出後の制御コマンド(P)を検査値生成部620へ出力する機能を有するものである。なお、受信部600の機能を実現する具体的な手段は、図4に示すサブCPU120aの一部、サブROM120bの一部、サブRAM120cの一部、およびコマンド受信用入力ポート(図示せず)等から構成することができる。
【0115】
検査値生成部620は、受信部600から出力された制御コマンド(P)を用いて、生成部621にて誤り検査値(P)を生成する機能を有するものである。この機能で生成された誤り検査値は、受信した制御コマンド(P)の正当性を検証するために用いられる。また、検査値生成部620は、生成部621で生成した誤り検査値(P)を格納部622に格納する機能を有するものである。また、検査値生成部620は、予め主制御部110との間で取り決められた誤り検査値の出力手順に基づいて、過去に格納部622にて格納しておいた誤り検査値(P−N)を、検査部610へ出力する機能を有するものである。
【0116】
検査値生成部620が有する、過去に生成し格納部622に格納しておいた誤り検査値を検査部610へ出力する機能(以下、「誤り検査値出力機能」という)は、主制御部110が有する誤り検査値付加機能と同様のものである。そして、この出力手順は、主制御部110の遡及数Nに相当する値によって定義される。そして、これら演出制御部120の誤り検査値出力機能は、予め主制御部110と演出制御部120との間で取り決められている。
【0117】
とりわけ、生成部621が、受信部600から出力された制御コマンド(P)を用いて誤り検査値(P)を生成する機能も、主制御部110の生成回路521が有する機能と同様のものである。また、格納部622が、生成部621にて生成された誤り検査値(P)を格納するとともに、過去に格納しておいた誤り検査値(P−N)を検査部610へ出力する機能も、主制御部110の格納回路522が有する機能と同様のものである。また、主制御部110または演出制御部120が初期化され、格納部622に格納されていた過去の誤り検査値がクリアされた場合には、サブCPU120aがサブROM120bから固有情報を読み出し、初期検査値として格納部622へ格納する機能も、主制御部110と同様である。そして、固有情報を初期検査値として設定する機能を実現するため、サブRAM120cには、主制御部110の生成個数記憶領域(P)に相当する受信個数記憶領域(P)が設けられている。なお、生成部621および格納部622の機能を実現する具体的な手段は、図4に示すサブCPU120aの一部、サブROM120bの一部、サブRAM120cの一部等から構成することができる。
【0118】
検査部610は、受信部600から出力された誤り検査値と、検査値生成部620の格納部622から出力された誤り検査値とを照合する誤り検査処理を行う機能を有するものである。誤り検査処理では、受信部600から出力された誤り検査値と、格納部622から出力された誤り検査値とを比較し、共に誤り検査値(P−N)で一致する場合は、検査結果は正常であると判断され、一致しない場合は、検査結果は正常でないと判断される。
【0119】
検査結果が正常と判断された場合、検査部610は、今回受信した誤り検査値(P−N)が付加された制御コマンド(P)、および今回の誤り検査値(P−N)の生成元であるN個前の制御コマンド(P−N)の正当性を認証し、主制御部110の正当性を認証することができたと判断する。そして、受信した制御コマンド(P)をサブRAM120cの受信データ用記憶領域へ出力し、制御コマンド(P)に応じた処理が行われる。検査結果が正常と判断されなかった場合は、検査部610は、不正行為等が発生したおそれがあると判断し、報知信号を出力する。なお、検査部610の機能を実現する具体的な手段は、図4に示すサブCPU120aの一部、サブROM120bの一部、サブRAM120cの一部等から構成することができる。
【0120】
[制御コマンドの説明]
以下、本発明の実施形態に係る遊技機1の主制御部110から演出制御部120に対して送信される制御コマンドの種別について説明する。
図8は、本実施形態に係る遊技機1を構成する主制御部110から演出制御部120へ送信される制御コマンドの種別を示す図である。なお、図8に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
【0121】
主制御部110から演出制御部120へ送信される制御コマンドは、1コマンドが2バイトのデータで構成されており、制御コマンドの分類を識別するための1バイトの「MODE」の情報と、各制御コマンドの詳細な制御内容を示す1バイトの「DATA」の情報とから構成されている。「MODE」の情報と「DATA」の情報は、上記のようにメインROM110bに予め記憶されている。なお、本実施形態では、制御コマンドには誤り検査値が付加され、誤り検査値付きの制御コマンドとして演出制御部120に送信されるが、以下の説明において、「制御コマンドを送信する」との表現には、制御コマンドに誤り検査値を付加して送信することが含まれる。
【0122】
「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「MODE」の情報が「E0H」で設定され、特別図柄の種別に合わせて「DATA」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドは、コマンド送信処理により、誤り検査値を付加されて演出制御部120へ送信されることになる。以下、他の制御コマンドも同様にして演出制御部120へ送信される。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
【0123】
ここで、演出図柄指定コマンドのうち、「DATA」の情報が「00H」で設定される「ハズレ演出図柄指定コマンド」は、抽選結果がハズレの場合に、ハズレの結果を停止表示させるための制御コマンドである。すなわち、ハズレ演出図柄指定コマンド、抽選結果がハズレの場合に、主制御部110から演出制御部120に必ず送信される制御コマンドである。以下、ハズレ演出図柄指定コマンドを、ハズレの際の処理を実行させるコマンドとして、「ハズレコマンド」ともいう。
【0124】
「第1特別図柄記憶指定コマンド」は、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E1H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第1特別図柄記憶指定コマンドは、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第1特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第1始動口14への入球や大当たりの抽選結果の判定に際し第1特別図柄保留数(U1)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第1特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0125】
「第2特別図柄記憶指定コマンド」は、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E2H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第2特別図柄記憶指定コマンドは、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第2特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第2始動口15への入球や大当たりの抽選結果の判定に際し第2特別図柄保留数(U2)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第2特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄記憶指定コマンド」と「第2特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」ともいう。
【0126】
「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「MODE」の情報が「E3H」で設定され、「DATA」の情報が「00H」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させるときに、図柄確定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0127】
「電源投入時指定コマンド」は、遊技機1の電源が投入されたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「00H」に設定されている。
この電源投入時指定コマンドは、遊技機1の電源が投入されたときに演出制御部120に送信される。遊技機1の電源が投入され主制御部110の初期化処理が行われる際に、電源遮断時(以下、「電断時」という)に生成したメインRAM110cのバックアップ情報が有効でない場合は、メインRAM110cの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
【0128】
「RAMクリア指定コマンド」は、メインRAM110cに記憶された情報がクリアされたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「01H」に設定されている。
遊技機1の裏側には図示しないRAMクリアボタンが設けられており、RAMクリアボタンを押下しながら遊技機1の電源を投入すると、主制御部110にシステムリセットが発生し初期化処理が行われる。そして、メインRAM110cの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、RAMクリア指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0129】
「電源復旧指定コマンド」は、遊技機1の電源が投入されて、正常に復旧したことを示すものであり、「MODE」の情報が「E4H」で設定され、電断時の遊技状態別に合わせて「DATA」の情報が設定されている。
この電源復旧指定コマンドは、遊技機1の電源が投入されて、正常に復旧したときに演出制御部120に送信される。具体的には、遊技機1の電源が投入され初期化処理が行われる際に、電断時に生成したメインRAM110cのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0130】
なお、電源投入時に、電源投入時指定コマンド、RAMクリア指定コマンド、電源復旧指定コマンドのいずれか少なくとも1つが主制御部110から演出制御部120へ送信される。すなわち、「MODE」の情報が「E4H」で設定される上記の制御コマンド群は、電源投入時の処理を実行させるコマンドである。以下、「MODE」の情報が「E4H」で設定される上記の制御コマンド群を、「電源投入コマンド」ともいう。
【0131】
「デモ指定コマンド」は、第1特別図柄表示装置20または第2特別図柄表示装置21が作動していないことを示すものであり、「MODE」の情報が「E5H」で設定され、「DATA」の情報が「00H」に設定されている。
このデモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がなく、遊技者による操作がない非遊技状態が所定の時間経過したときに、演出制御部120に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていない状態が所定の時間継続したときに、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0132】
なお、デモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がないとき直ちに送信するようにしてもよい。この場合、演出制御部120は、デモ指定コマンドを受信した後、他の制御コマンドを所定時間受信しなかった場合、すなわち非遊技状態が所定時間経過した場合にデモ演出を実行する。
【0133】
「第1特別図柄用変動パターン指定コマンド」は、第1特別図柄表示装置20における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E6H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第1特別図柄用変動パターン指定コマンドは、第1特別図柄表示装置20の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0134】
「第2特別図柄用変動パターン指定コマンド」は、第2特別図柄表示装置21における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E7H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第2特別図柄用変動パターン指定コマンドは、第2特別図柄表示装置21の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄用変動パターン指定コマンド」と「第2特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
【0135】
ここで、変動パターン指定コマンドのうち、「DATA」の情報が「01H」、「02H」、「03H」、「04H」、「05H」で設定される制御コマンド群は、リーチ演出を実行させる制御コマンドである。以下、「MODE」の情報が「E6H」で設定され、かつ「DATA」の情報が「01H」〜「05H」で設定される制御コマンド群を、「リーチコマンド」ともいう。
【0136】
「大入賞口開放指定コマンド」は、各種大当たりの種別に合わせた大当たりのラウンド数を示すものであり、「MODE」の情報が「EAH」で設定され、大当たりのラウンド数に合わせて「DATA」の情報が設定されている。
この大入賞口開放指定コマンドは、大当たりラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理において第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「EAH」で設定されるコマンド群は、大当たり中の各ラウンドに対応する処理を実行させるコマンドである。以下、「MODE」の情報が「EAH」で設定されるコマンド群を、「大当たりコマンド」ともいう。
【0137】
「オープニング指定コマンド」は、各種の大当たりが開始することを示すものであり、「MODE」の情報が「EBH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このオープニング指定コマンドは、各種の大当たりが開始するときに、大当たりの種別に対応するオープニング指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「EBH」で設定されるコマンド群は、大当たり状態の処理を開始させるコマンドである。以下、「MODE」の情報が「EBH」で設定されるコマンド群を、「大当たり開始コマンド」ともいう。
【0138】
「エンディング指定コマンド」は、各種の大当たりが終了したことを示すものであり、「MODE」の情報が「ECH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このエンディング指定コマンドは、各種の大当たりが終了するときに、大当たりの種別に対応するエンディング指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「ECH」で設定されるコマンド群は、大当たり状態の処理を終了させるコマンドである。以下、「MODE」の情報が「ECH」で設定されるコマンド群を、「大当たり終了コマンド」ともいう。
【0139】
「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「MODE」の情報が「EDH」で設定され、遊技状態の内容に合わせて「DATA」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが演出制御部120に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
【0140】
[主制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の主制御部110の制御処理について説明する。まず、主制御部110のメイン処理について説明する。
図9は、本実施形態に係る主制御部110によるメイン処理を示すフローチャートである。
【0141】
遊技機1に電源が投入され、電源部170により電源が供給されると、主制御部110にシステムリセットが発生し、メインCPU110aは、初期化処理(図9のステップS1〜ステップS17までの処理)および乱数値更新処理(図9のステップS20およびステップS30の処理)を行う。
【0142】
ステップS1において、メインCPU110aは、主制御部110の初期化処理の前提としてブート処理を行う。このブート処理において、メインCPU110aは、自身の自己診断処理や、内蔵回路や周辺回路等の初期化および初期値の設定を行う。
ステップS2において、メインCPU110aは、メインRAM110cへのアクセスを許可に設定する。
ステップS3において、メインCPU110aは、RAMクリアスイッチがオンとなっているか判定し、RAMクリアスイッチがオンと判定された場合、RAMクリアを行うためステップS10に処理を移す。一方、RAMクリアスイッチがオンと判定されなかた場合には、ステップS4に処理を移す。
【0143】
ステップS4において、メインCPU110aは、電源投入時のメインRAM110cの所定の記憶領域におけるチェックサムを生成する。
ステップS5において、メインCPU110aは、生成したチェックサムと、電断時に生成したメインRAM110cの所定の記憶領域におけるチェックサムとを比較する。そして、メインCPU110aは、両者が一致していれば、正常と判定し、ステップS6に処理を移す。一方、メインCPU110aは、両者が一致していなければ、エラーと判定し、ステップS10に処理を移す。
ステップS6において、メインCPU110aは、演出制御部120をはじめとした周辺制御部300との間で、起動後の動作の開始タイミングを調整する。具体的には、周辺制御部300がすべて起動し安定状態となってから演出処理等をほぼ同じタイミングで開始できるように、一定時間だけ待機する。
【0144】
ステップS7において、メインCPU110aは、電断からの復旧に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効である場合のRAMの設定処理を行う。
ステップS8において、メインCPU110aは、電断時の遊技状態に復旧すべく、電断時に生成したメインRAM110cのバックアップ情報を読み込む。具体的には、バックアップされているメインRAM110cの遊技状態記憶領域から遊技状態の情報を読み込む。
ステップS9において、メインCPU110aは、読み込んだ遊技状態の情報に基づいて電源復旧指定コマンドを決定し、決定した電源復旧指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
【0145】
ステップS10において、メインCPU110aは、上記ステップS6と同様に周辺制御部300との間でのタイミング調整を行う。
ステップS11において、メインCPU110aは、メインRAM110cの使用領域をクリアする。
ステップS12において、メインCPU110aは、各種乱数値の初期値の設定をはじめとする、遊技機1の初期化に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効でない場合のメインRAM110cの設定処理を行う。
【0146】
ステップS13において、メインCPU110aは、電源投入時指定コマンドを生成し、生成した電源投入時指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS14において、メインCPU110aは、送信データ用記憶領域にセットされている制御コマンドを演出制御部120に送信するコマンド送信処理を行う。すなわち、電源投入時指定コマンドを演出制御部120に送信する。なお、本ステップS14およびステップS16のコマンド送信処理は、上記検査値生成処理および上記検査値付加処理を伴う。さらに、この検査値生成処理では、上記固有情報を格納回路522へ初期検査値として設定する処理を伴う。コマンド送信処理の詳細については後述する。
【0147】
ステップS15において、メインCPU110aは、RAMクリア指定コマンドを生成し、生成したRAMクリア指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS16において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを演出制御部120に送信するコマンド送信処理を行う。すなわち、電源復旧指定コマンドまたはRAMクリア指定コマンドのいずれかの制御コマンドを演出制御部120に送信する。
ステップS17において、メインCPU110aは、割込許可の設定をするとともに、タイマ割込プログラムの実行周期(α、例えば4ミリ秒)を設定する。
【0148】
なお、ステップS14およびステップS16のコマンド送信処理は、本ステップS17での割込許可後に行われるタイマ割込処理の中で行ってもよい。このとき、各制御コマンドの送信順番が前後しないよう予め取り決めておく。
【0149】
ステップS20において、メインCPU110aは、特別図柄の変動態様(変動時間)を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップS30において、メインCPU110aは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップS20とステップS30との処理を繰り返し行う。
【0150】
次に、主制御部110の割込処理について説明する。
図10は、本実施形態に係る主制御部110による割込処理を示すフローチャートである。
メインCPU110aは、主制御部110に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(α)ごとに、主制御部110のタイマ割込処理を実行する。
【0151】
まず、ステップS100において、メインCPU110aは、メインCPU110aのレジスタに記憶されている情報をスタック領域に退避させる。
【0152】
ステップS110において、メインCPU110aは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから1を減算する処理を行う。
【0153】
ステップS120において、メインCPU110aは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値および乱数カウンタに1を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合(乱数カウンタが1周した場合)には、乱数カウンタを0に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
【0154】
ステップS130において、メインCPU110aは、ステップS30と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。
【0155】
ステップS200において、メインCPU110aは、入力制御処理を行う。この処理において、メインCPU110aは、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15a、ゲート検出スイッチ13aの各スイッチに入力があったか否か判定する入力処理を行う。
【0156】
具体的には、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15aからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。
【0157】
さらに、第1始動口検出スイッチ14aから検出信号を入力した場合には、第1特別図柄保留数(U1)記憶領域にセットされているデータが4未満であれば、第1特別図柄保留数(U1)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第1特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0158】
同様に、第2始動口検出スイッチ15aから検出信号を入力した場合には、第2特別図柄保留数(U2)記憶領域にセットされているデータが4未満であれば、第2特別図柄保留数(U2)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第2特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0159】
また、ゲート検出スイッチ13aから検出信号を入力した場合には、普通図柄保留数(G)記憶領域にセットされているデータが4未満であれば、普通図柄保留数(G)記憶領域に1を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0160】
さらに、第1大入賞口検出スイッチ16aまたは第2大入賞口検出スイッチ17aからの検出信号を入力した場合には、第1大入賞口16または第2大入賞口17に入賞した遊技球を計数するための大入賞口入球数(C)記憶領域に1を加算して更新する。
【0161】
ステップS300において、メインCPU110aは、上記ステップS200での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理(以下、「特図特電制御処理」という)を行う。特図特電制御処理の詳細については、図11を用いて後述する。
【0162】
ステップS400において、メインCPU110aは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理(以下、「普図普電制御処理」という)を行う。
具体的には、まず普通図柄保留数(G)記憶領域に1以上のデータがセットされているか否かを判定し、普通図柄保留数(G)記憶領域に1以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
【0163】
普通図柄保留数(G)記憶領域に1以上のデータがセットされていれば、普通図柄保留数(G)記憶領域に記憶されている値から1を減算した後、普通図柄保留記憶領域にある第1記憶部〜第4記憶部に記憶された普通図柄判定用乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第0記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定する処理を行う。その後、普通図柄表示装置22において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド15cを駆動させ、第2始動口15を所定の開放時間、第2の態様に制御する。
【0164】
ステップS500において、メインCPU110aは、払出制御処理を行う。この払出制御処理において、メインCPU110aは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部130に送信する。
【0165】
ステップS600において、メインCPU110aは、外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。
【0166】
ステップS700において、メインCPU110aは、出力制御処理を行う。この処理において、ステップS600で作成した外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第1特別図柄表示装置20、第2特別図柄表示装置21および普通図柄表示装置22の各LEDを点灯させるために、上記S600で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
【0167】
ステップS710において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを演出制御部120へ送信するコマンド送信処理を行う。なお、本ステップS710のコマンド送信処理においても上記検査値生成処理および上記検査値付加処理を伴うが、詳細については後述する。
【0168】
ステップS800において、メインCPU110aは、ステップS100で退避した情報をメインCPU110aのレジスタに復帰させる。
【0169】
次に、主制御部110の特図特電制御処理を説明する。
図11は、本実施形態に係る主制御部110による特図特電制御処理を示すフローチャートである。
【0170】
ステップS301において、メインCPU110aは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。
【0171】
ステップS302において、メインCPU110aは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ=0であれば特別図柄記憶判定処理(ステップS310)に処理を移し、特図特電処理データ=1であれば特別図柄変動処理(ステップS320)に処理を移し、特図特電処理データ=2であれば特別図柄停止処理(ステップS330)に処理を移し、特図特電処理データ=3であれば大当たり遊技処理(ステップS340)に処理を移し、特図特電処理データ=4であれば大当たり遊技終了処理(ステップS350)に処理を移し、特図特電処理データ=5であれば小当たり遊技処理(ステップS360)に処理を移す。
【0172】
ステップS310の特別図柄記憶判定処理においては、メインCPU110aは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図12を用いて、特別図柄記憶判定処理の具体的な内容を説明する。
【0173】
図12は、本実施形態に係る主制御部110による特別図柄記憶判定処理におけるフローチャートである。
【0174】
ステップS311において、メインCPU110aは、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされているか否かを判定する。
そして、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていなければ、特図特電処理データ=0を保持したまま、今回の特別図柄変動処理を終了する。
一方、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされていれば、ステップS312に処理を移す。
【0175】
ステップS312において、メインCPU110aは、大当たり判定処理を行う。
具体的には、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされている場合には、第2特別図柄保留数(U2)記憶領域に記憶されている値から1を減算した後、第2特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第2特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【0176】
また、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされておらず、第1特別図柄保留数(U1)記憶領域に1以上のデータがセットされている場合には、第1特別図柄保留数(U1)記憶領域に記憶されている値から1を減算した後、第1特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このときにも、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【0177】
本実施形態では、第1特別図柄乱数値記憶領域よりも第2特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト(消化)されることになる。しかしながら、始動口に入賞した順序で、第1特別図柄記憶領域または第2特別図柄記憶領域をシフトさせてもよいし、第1特別図柄記憶領域を第2特別図柄記憶領域よりも優先させてシフトさせてもよい。
【0178】
ステップS313において、メインCPU110aは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当たり判定処理(ステップS312)において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄(特別図柄1〜特別図柄6)を決定する。また、上記大当たり判定処理(ステップS312)において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄(特別図柄A、特別図柄B)を決定する。また、上記大当たり判定処理(ステップS312)において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄(特別図柄0)を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
【0179】
ステップS314において、メインCPU110aは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
【0180】
ステップS315において、メインCPU110aは、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄の変動表示(LEDの点滅)を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップS600でLEDの点灯または消灯のデータが適宜作成され、作成されたデータがステップS700において出力されることで、第1特別図柄表示装置20または第2特別図柄表示装置21の変動表示が行われる。
さらに、メインCPU110aは、特別図柄の変動表示が開始されるときに、上記ステップS314で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド(第1特別図柄用変動パターン指定コマンドまたは第2特別図柄用変動パターン指定コマンド)をメインRAM110cの送信データ用記憶領域にセットする。
【0181】
ステップS316において、メインCPU110aは、特図特電処理データ=0から特図特電処理データ=1にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。
【0182】
再び、図11に示す特図特電制御処理について説明を戻すことにする。
ステップS320の特別図柄変動処理においては、メインCPU110aは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップS314で決定された特別図柄の変動時間が経過したか(特別図柄時間カウンタ=0)否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ=1を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップS314でセットされた特別図柄の変動時間のカウンタは、上記ステップS110において減算処理されていく。
【0183】
特別図柄の変動時間が経過したと判定すれば、上記ステップS313で決定された特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させる。これにより、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、高確率遊技回数(X)>0のときには高確率遊技回数(X)カウンタから1を減算して更新し、高確率遊技回数(X)=0となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ=1から特図特電処理データ=2にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
【0184】
ステップS330の特別図柄停止処理においては、メインCPU110aは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域(高確率遊技フラグ記憶領域等)に記憶されているデータ(高確率遊技フラグ)、高確率遊技回数(X)カウンタをクリアする。さらに、特図特電処理データ=2から特図特電処理データ=3にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【0185】
また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ=2から特図特電処理データ=5にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ=2から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【0186】
ステップS340の大当たり遊技処理においては、メインCPU110aは、上記長当たりまたは短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)に基づいて、大当たりの開放態様を決定する。
【0187】
次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットするとともに、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データを出力して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させる。このとき、ラウンド遊技回数(R)記憶領域に1を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると(大入賞口入球数(C)=9または特別遊技タイマカウンタ=0である)と、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データの出力を停止して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を閉鎖させる。これにより、1回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し15回行う。
【0188】
15回のラウンド遊技が終了すると(ラウンド遊技回数(R)=15)、ラウンド遊技回数(R)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=3から特図特電処理データ=4にセットして、大当たり遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。
【0189】
ステップS350の大当たり遊技終了処理においては、メインCPU110aは、高確率遊技状態または低確率遊技状態のいずれかの確率遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)とに基づいて、高確率遊技フラグの設定、高確率遊技回数(X)の設定を行う。例えば、特別図柄1であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数(X)カウンタに10000回をセットする。
その後、特図特電処理データ=4から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当たり遊技終了処理を終了する。
【0190】
ステップS360の小当たり遊技処理においては、メインCPU110aは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された小当たり図柄の種類(停止図柄データ)に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第2大入賞口開閉ソレノイド17cの駆動データを出力して第2大入賞口開閉扉17bを開放させる。このとき、開放回数(K)記憶領域に1を加算する。
小当たりの開放時間が経過する(特別遊技タイマカウンタ=0)と、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止して第2大入賞口開閉扉17bを閉鎖させる。この第2大入賞口開閉扉17bの開閉制御を繰り返し15回行う。
【0191】
そして、第2大入賞口開閉扉17bの開閉制御が15回行われるか、第2大入賞口17に規定個数の遊技球が入球する(開放回数(K)=15または大入賞口入球数(C)=9である)と、小当たり遊技を終了させるため、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止させ、開放回数(K)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=5から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。
【0192】
[主制御部の認証処理に関する制御処理]
以下、本発明の実施形態に係る遊技機1の主制御部110の認証処理に関する制御処理について説明する。具体的には、上記検査値生成処理および上記検査値付加処理を含む主制御部110のコマンド送信処理について説明する。
図13は、本実施形態に係る主制御部110におけるコマンド送信処理を示すフローチャートである。なお、図13の各ステップにおいて、中括弧{}内の表記は、メインRAM110cに設けられた生成個数記憶領域(P)への処理を概説するためのものである。
主制御部110がコマンド送信処理の実行タイミングとなると、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされた制御コマンド(P)を、検査値生成部500を介して送信部550へ出力し、演出制御部120へ送信させる。
【0193】
ステップS71において、メインCPU110aは、メインRAM110cの生成個数記憶領域(P)の値を更新する。
ステップS72において、メインCPU110aは、送信データ用記憶領域にセットされた制御コマンド(P)が制御コマンド(1)に該当するか否かを判定する。具体的には、メインCPU110aは、生成個数記憶領域(P)の値を参照し、P=1であるか否かを判定する。P=1であれば、ステップS73に処理を移し、P=1でなければ、ステップS75に処理を移す。
ステップS73において、メインCPU110aは、メインROM110bに記憶されている固有情報を読み出す。このとき、固有情報がN個分ある場合は、一度にN個の固有情報を読み出す。そして、メインCPU110aは、読み出した固有情報を検査値生成部500へ出力する。
【0194】
ステップS74において、検査値生成部500は、メインCPU110aから出力された固有情報を、生成手段520の格納回路522を構成する各格納回路(1)〜(N)に格納し、初期検査値として設定する。具体的には、検査値生成部500のバッファ手段510は、メインCPU110aからバスを介して固有情報をデータバッファ511へ取り込み、生成手段520へ出力する。生成手段520は、データバッファ511から出力された固有情報を、自身の格納回路522へ格納する。このとき、図5では省略したが、データバッファ511と格納回路522とを別途データ線で接続しておき、データバッファ511から格納回路522へ直接固有情報を出力してもよい。また、図5に示したデータバッファ511と生成回路521とを接続するデータ線を経由させ、データバッファ511から生成回路521を介して格納回路522へ固有情報を出力してもよい。この場合、生成回路521にて固有情報へ演算処理を施してもよいし、施さないように制御してもよく、いずれにしても初期検査値として設定された値が演出制御部120と整合するように予め取り決めておく。
【0195】
ステップS75において、メインCPU110aは、送信データ用記憶領域にセットされた制御コマンド(P)を検査値生成部500のバッファ手段510へ書き込む。具体的には、メインCPU110aは、バッファ手段510へ制御コマンド(P)を書き込むための書き込み信号およびアドレスデータを出力するとともに、送信データ用記憶領域にセットされた制御コマンド(P)をデータバスへ出力する。バッファ手段510の制御回路512は、メインCPU110aから出力された書き込み信号の入力に基づいて、バッファ手段510のデータバッファ511へ作動許可信号を出力する。データバッファ511は、制御回路512から出力された作動許可信号の入力に基づいて、データバス上の制御コマンド(P)を取り込み、生成手段520および付加手段530へ出力する。そして、制御回路512は、当該書き込み信号の入力から所定時間遅延して、生成手段520および付加手段530へ作動許可信号を出力する。
【0196】
ステップS76において、生成手段520は、バッファ手段510から出力された作動許可信号の入力に基づいて、制御コマンド(P)を取り込み、取り込んだ制御コマンド(P)に対応する誤り検査値(P)を生成する。具体的には、生成手段520の制御回路523は、バッファ手段510の制御回路512から出力された作動許可信号の入力に基づいて、生成手段520の生成回路521へ作動許可信号を出力する。生成回路521は、制御回路523から出力された作動許可信号の入力に基づいて、制御コマンド(P)を取り込み、制御コマンド(P)を用いて誤り検査値(P)を生成し、生成手段520の格納回路522へ出力する。そして、制御回路523は、制御回路512から出力された作動許可信号の入力から所定時間遅延して、格納回路522へシフト処理信号を出力する。
【0197】
ステップS77において、生成手段520は、生成した誤り検査値(P)を自身の格納回路522へ格納する。具体的には、格納回路522は、制御回路523から出力されたシフト処理信号の入力に基づいて、自身の各格納回路(1)〜(N)に格納された各誤り検査値を次段へ順次シフトする。これに伴い、格納回路522の初段の格納回路(N)は、生成回路521から出力された誤り検査値(P)を取り込むとともに、格納回路522の最終段の格納回路(1)は、自身に格納しておいた誤り検査値(P−N)を付加手段530へ出力する。
【0198】
ステップS78において、付加手段530は、バッファ手段510から出力された作動許可信号の入力に基づいて、制御コマンド(P)および誤り検査値(P−N)を取り込む。そして、付加手段530は、取り込んだ制御コマンド(P)および誤り検査値(P−N)を送信部550へ書き込む。具体的には、付加手段530の入力選択回路531は、バッファ手段510のデータバッファ511から出力された制御コマンド(P)を取り込み、取り込んだ制御コマンド(P)をデータバスへ出力する。また、付加手段530の制御回路532は、バッファ手段510の制御回路512から出力された作動許可信号の入力に基づいて、送信部550の送信バッファ551へ制御コマンド(P)を書き込むための書き込み信号およびアドレスデータを出力する。また、制御回路532は、当該書き込み信号の出力から所定時間遅延して、入力選択回路531へ接続切替信号を出力する。入力選択回路531は、制御回路532から出力された接続切替信号の入力に基づいて、接続元をデータバッファ511から格納回路522へ切り替える。そして、入力選択回路531は、格納回路522から誤り検査値(P−N)を取り込み、取り込んだ誤り検査値(P−N)をデータバスへ出力する。また、制御回路532は、接続切替信号を出力して入力選択回路531から誤り検査値(P−N)がデータバス上へ出力されると、送信バッファ551へ誤り検査値(P−N)を書き込むための書き込み信号およびアドレスデータを直ちに出力する。
【0199】
ステップS79において、送信部550は、付加手段530から出力された制御コマンド(P)および誤り検査値(P−N)を演出制御部120へ直ちに送信する。具体的には、送信部550の送信バッファ551は、付加手段530から出力された制御コマンド(P)の書き込み信号の入力に基づいて、データバス上の制御コマンド(P)を取り込み、取り込んだ制御コマンド(P)を直ちに送信回路552へ出力する。また、送信バッファ551は、付加手段530から出力された誤り検査値(P−N)の書き込み信号の入力に基づいて、データバス上の誤り検査値(P−N)を取り込み、取り込んだ誤り検査値(P−N)を送信回路552へ直ちに出力する。送信回路552は、送信バッファ551から出力された制御コマンド(P)および誤り検査値(P−N)を一連の送信データとして、演出制御部120へ直ちに送信する。よって、制御コマンド(P)は、誤り検査値(P−N)が付加された制御コマンドとして演出制御部120へ送信されることになる。
【0200】
なお、ステップS78において、制御回路532が、入力選択回路531に対して接続切替信号を出力するタイミングは、入力選択回路531から出力された制御コマンド(P)が送信バッファ551へ書き込みが完了されるまでに要する時間が経過した後に、誤り検査値(P−N)の送信バッファ551への書き込みが開始されるようなタイミングに設定する。これによって、誤り検査値(P−N)が送信バッファ551へ書き込まれるタイミングは、送信バッファ551に書き込まれる制御コマンド(P)の直後に連続して誤り検査値(P−N)が書き込まれるようなタイミングとなる。
【0201】
誤り検査値の書き込みタイミングを上記のように設定することで、送信バッファ551のオーバーランやアンダーラン等が発生し、今回送信する制御コマンド(P)に対して付加すべき誤り検査値(P−N)が適切に付加されなくなるおそれを抑止することができる。このことが、演出制御部120での誤り検査処理の際に、実際に付加されて送信された誤り検査値が本来付加すべき誤り検査値と整合していないことに起因して誤り検査処理の検査結果が正常と判定されなくなるおそれを抑止し、誤り検査処理の確度を向上することにつながる。
【0202】
また、誤り検査値の書き込みタイミングを上記のように設定することで、今回付加すべき誤り検査値(P−N)の送信バッファ551への書き込みタイミングと、制御コマンド(P)の送信バッファ551への書き込みタイミングの時間軸上の位置関係が明確化され、誤り検査値(P−N)は制御コマンド(P)の直後に確実に付加され、一つの送信データとして送信されることとなる。これにより、誤り検査値(P−N)が、誤り検査値(P−N)単体で演出制御部120へ送信されることがない。よって、不正者が、主制御部110と演出制御部120の間の送信データを窃取して、誤り検査値(P−N)を不正に解析し再利用することが困難となり、遊技機1のセキュリティ強度を向上することができる。
【0203】
[演出制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の演出制御部120の制御処理について説明する。まず、演出制御部120のメイン処理について説明する。
図14は、本実施形態に係る演出制御部120によるメイン処理を示すフローチャートである。
【0204】
ステップS1000において、サブCPU120aは、初期化処理を行う。この処理において、サブCPU120aは、電源投入に応じて、サブROM120bからメイン処理に関するプログラムコードを読み込む。これとともに、サブCPU120aは、サブRAM120cに記憶されるフラグなどを初期化し、設定値を設定する処理を行う。この処理が終了した場合には、ステップS1100に処理を移す。なお、本ステップS1000の中で、主制御部110の誤り検査値付加機能に対応した誤り検査値出力機能を、検査値生成部620へ設定する処理が行われる。
【0205】
ステップS1100において、サブCPU120aは、演出用乱数更新処理を行う。この処理において、サブCPU120aは、サブRAM120cに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップS1100の処理を繰り返し行う。
【0206】
次に、演出制御部120の割込処理について説明する。
図15は、本実施形態に係る演出制御部120による割込処理を示すフローチャートである。
サブCPU120aは、演出制御部120に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば2ミリ秒)ごとに、演出制御部120のタイマ割込処理を実行する。
【0207】
ステップS1200において、サブCPU120aは、サブCPU120aのレジスタに記憶されている情報をスタック領域に退避させる。
ステップS1300において、サブCPU120aは、演出制御部120で用いられる各種タイマカウンタの更新処理を行う。
【0208】
ステップS1500において、サブCPU120aは、コマンド解析処理を行う。この処理において、サブCPU120aは、サブRAM120cの受信データ用記憶領域に記憶された制御コマンドの種別を解析する処理を行う。
【0209】
演出制御部120を構成する受信部600では、主制御部110から送信された制御コマンドを受信し、自身の受信バッファに記憶すると、主制御部110から制御コマンドの受信割込要求があった旨を示す信号を出力し、制御コマンドの受信割込処理を発生させる。
そして、サブCPU120aは、受信した制御コマンドの誤り検査処理を行うとともに、誤り検査値処理において、制御コマンドの正当性が認証されると、当該制御コマンドを受信バッファからサブRAM120cの受信データ用記憶領域へ取り込んで記憶する。そして、サブCPU120aは、受信データ用記憶領域に記憶された制御コマンドの種別を解析し、制御コマンドの種別に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
【0210】
ステップS1700において、サブCPU120aは、演出ボタン検出スイッチ35aの信号のチェックを行い、演出ボタン35からの入力に関する演出用入力制御処理を行う。
ステップS1800において、サブCPU120aは、サブRAM120cの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部140や画像制御部150へ送信するための処理である演出用出力制御処理を行う。
ステップS1900において、サブCPU120aは、ステップS1200で退避した情報をサブCPU120aのレジスタに復帰させる。
【0211】
次に、演出制御部120のコマンド解析処理について説明する。
図16および図17は、本実施形態に係る演出制御部120によるコマンド解析処理を示すフローチャートである。なお、図17のコマンド解析処理2は、図16のコマンド解析処理1に引き続いて行われるものである。
【0212】
ステップS1501において、サブCPU120aは、演出制御部120を構成する受信部600の受信バッファに制御コマンドが記憶されているか否かを確認して、制御コマンドを受信したか否かを判定する。
サブCPU120aは、受信バッファに制御コマンドが記憶されていれば、ステップS3000に処理を移し、受信バッファに制御コマンドが記憶されていなければ、コマンド解析処理を終了する。
【0213】
ステップS3000において、サブCPU120aは、受信バッファに記憶されている制御コマンドに対して誤り検査処理を行い、受信した制御コマンドの正当性が認証されると、受信した制御コマンドを受信データ用記憶領域に取り込み、制御コマンドの種別を更に解析するべく、ステップS1510に処理を移す。なお、誤り検査処理の詳細については後述する。
【0214】
ステップS1510において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップS1511に処理を移し、デモ指定コマンドでなければ、ステップS1520に処理を移す。
【0215】
ステップS1511において、サブCPU120aは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0216】
ステップS1520において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップS1521に処理を移し、特別図柄記憶指定コマンドでなければ、ステップS1530に処理を移す。
【0217】
ステップS1521において、サブCPU120aは、特別図柄記憶指定コマンドを解析して、液晶表示装置31に表示させる特別図柄の保留画像(以下、「特図保留画像」という)の表示個数を決定するとともに、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部150とランプ制御部140に送信する特別図柄記憶数決定処理を行う。
【0218】
ステップS1530において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップS1531に処理を移し、演出図柄指定コマンドでなければ、ステップS1540に処理を移す。
【0219】
ステップS1531において、サブCPU120aは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置31に停止表示させる演出図柄36を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄36の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部150とランプ制御部140に送信するため、演出図柄データ示す停止図柄指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0220】
ステップS1532において、サブCPU120aは、上記ステップS1100において更新されている演出モード決定用乱数値から1つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード(例えば、ノーマル演出モードやチャンス演出モード)の中から1つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。
【0221】
ステップS1540において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップS1541に処理を移し、変動パターン指定コマンドでなければ、ステップS1550に処理を移す。
【0222】
ステップS1541において、サブCPU120aは、上記ステップS1100において更新されている演出用乱数値から1つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンドおよび演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から1つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて1つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄36の変動態様が決定されることとなる。
【0223】
ステップS1550において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップS1551に処理を移し、図柄確定コマンドでなければ、ステップS1560に処理を移す。
【0224】
ステップS1551において、サブCPU120aは、演出図柄36を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブRAM120cの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。
【0225】
ステップS1560において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであれば、ステップS1561に処理を移し、遊技状態指定コマンドでなければ、ステップS1570に処理を移す。
【0226】
ステップS1561において、サブCPU120aは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブRAM120cにある遊技状態記憶領域にセットする。
【0227】
ステップS1570において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであれば、ステップS1571に処理を移し、オープニング指定コマンドでなければ、ステップS1580に処理を移す。
【0228】
ステップS1571において、サブCPU120aは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0229】
ステップS1580において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであれば、ステップS1581に処理を移し、大入賞口開放指定コマンドでなければ、ステップS1590に処理を移す。
【0230】
ステップS1581において、サブCPU120aは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0231】
ステップS1590において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであれば、ステップS1591に処理を移し、エンディング指定コマンドでなければ、コマンド解析処理を終了する。
【0232】
ステップS1591において、サブCPU120aは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
【0233】
次に、演出制御部120の誤り検査処理について説明する。
図18は、本実施形態に係る演出制御部120による誤り検査処理を示すフローチャートである。なお、図18の各ステップにおいて、中括弧{}内の表記は、サブRAM120cに設けられた、受信個数記憶領域(P)への処理を概説するためのものである。
【0234】
ステップS3010において、サブCPU120aは、制御コマンドの受信割込要求があった旨を示す信号が演出制御部120の受信部600から出力されると、サブRAM120cの受信個数記憶領域(P)の値を更新する。
ステップS3020において、サブCPU120aは、受信部600の受信バッファに記憶された制御コマンド(P)が制御コマンド(1)に該当するか否かを判定する。具体的には、サブCPU120aは、受信個数記憶領域(P)の値を参照し、P=1であるか否かを判定する。P=1であれば、ステップS3030に処理を移し、P=1でなければ、ステップS3050に処理を移す。
【0235】
ステップS3030において、サブCPU120aは、サブROM120bに記憶されている固有情報を読み出す。このとき、固有情報がN個分ある場合は、一度にN個の固有情報を読み出す。そして、サブCPU120aは、読み出した固有情報を検査値生成部620へ出力する。
ステップS3040において、サブCPU120aは、検査値生成部620へ出力された固有情報を検査値生成部620内の格納部622にて格納し、初期検査値として設定する。
【0236】
ステップS3050において、サブCPU120aは、受信部600の受信バッファに記憶された制御コマンド(P)から、当該制御コマンド(P)に付加された誤り検査値(P−N)を抽出する。
ステップS3060において、サブCPU120aは、抽出した誤り検査値(P−N)を検査部610へ出力するとともに、誤り検査値(P−N)を抽出後の制御コマンド(P)を検査値生成部620へ出力する。
【0237】
ステップS3070において、サブCPU120aは、受信部600から出力された制御コマンド(P)の誤り検査値(P)を、検査値生成部620の生成部621にて生成する。
ステップS3080において、サブCPU120aは、生成部621にて生成された誤り検査値(P)を、検査値生成部620の格納部622にて格納する。
【0238】
ステップS3090において、サブCPU120aは、格納部622へ過去に格納されていた誤り検査値(P−N)を検査部610へ出力する。
ステップS3100において、サブCPU120aは、受信部600から出力された誤り検査値(P−N)と、格納部622から出力された誤り検査値(P−N)とを検査部610にて比較する。サブCPU120aは、両者が共に誤り検査値(P−N)で一致する場合は、誤り検査の検査結果は正常であると判断する。一方、サブCPU120aは、両者が一致しない場合は、検査結果は正常でないと判断する。
【0239】
ステップS3110において、サブCPU120aは、検査結果が正常であると判断されたか否かを検査部610にて判定する。サブCPU120aは、検査結果が正常であると判断された場合は、今回受信した誤り検査値(P−N)が付加された制御コマンド(P)、および今回の誤り検査値(P−N)の生成元であるN個前の制御コマンド(P−N)の正当性を認証することができたことにより、主制御部110の正当性が認証されたと判断する。そして、サブCPU120aは、遊技機1は正常に稼働していると判断し、受信した制御コマンド(P)をサブRAM120cの受信データ用記憶領域へ出力し、当該制御コマンド(P)に応じた処理を行わせるべく、誤り検査処理を終了する。一方、サブCPU120aは、検査結果が正常でないと判断された場合は、主制御部110の正当性を認証することができなかったと判断する。そして、サブCPU120aは、遊技機1で不正行為等が発生したおそれがあると判断し、ステップS3120に処理を移す。
ステップS3120において、サブCPU120aは、遊技機1で不正行為等が発生したおそれがあると判断した場合、その旨を報知する為に報知信号を出力し、誤り検査処理を終了する。
【0240】
サブCPU120aは、生成した報知信号を、例えば、ランプ制御部140や画像制御部150、あるいは遊技機1を管理するホールコンピュータ等へ送信する。ランプ制御部140や画像制御部150等は、受信した報知信号に基づいて、遊技機1で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置31に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置31の輝度を変えたり、色を変えたり、ランプ制御部140に対して所定のランプを表示制御するようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【0241】
また、報知信号に、遊技機1の遊技状態や大当たりの種別に関する情報を含めてもよい。これらの情報に基づいて、遊技機1を管理するホールコンピュータ等によって不正行為が行われているか否かの判断を行ってもよい。例えば、「高確率遊技状態」は賞球が集中していても正常である場合がある。よって、高確率遊技状態中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態や大当たりの種別に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態や大当たりの種別に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【0242】
なお、主制御部110と、周辺制御部300の他の制御部との間の認証処理は、主制御部110と演出制御部120との間の認証処理とほぼ同様の手順で行われるため説明を省略する。
【0243】
以上のように、本実施形態では、セキュリティ機能として、主制御部110が出力する制御コマンドの正当性を検査して主制御部110の正当性を認証する。主制御部110は、制御コマンドの誤り検査値を生成し格納している。そして、主制御部110は、今回送信する制御コマンドに、これより前(過去)に生成した制御コマンドの誤り検査値を付加して演出制御部120に送信する。一方、演出制御部120は、受信した制御コマンドの誤り検査値を生成し保存している。そして、演出制御部120は、今回受信した制御コマンドに付加された誤り検査値と、今回受信した制御コマンドより前(過去)に生成された制御コマンドの誤り検査値とを照合して誤り検査を行う。
【0244】
通常、チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態では、上述のように、過去に生成した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加する。このような従来にない新規かつ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を窃取しても制御コマンドと誤り検査値の関係を容易に知ることができないようにすることができる。したがって、本実施形態によれば、不正行為を防止することができ、遊技機1のセキュリティ強度を向上させることができる。
【0245】
また、主制御部110が過去に生成した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加して送信し、演出制御部120が制御コマンドの誤り検査処理を行うことにより、今回受信した制御コマンドの正当性を認証するとともに、過去に生成された制御コマンド、すなわち、今回付加された誤り検査値の生成元となった制御コマンドの正当性をも認証することができる。すなわち、制御コマンドの連続性を認証することができることとなり、不正行為をより検出しやすくなり、遊技機1のセキュリティ強度を向上させることができる。
【0246】
また、本実施形態では、P≦Nの場合に送信される制御コマンドには、遊技機1に固有の固有情報が付加されることで、誤り検査値が遊技機1に固有の値とすることができる。これにより、固有情報を知らない不正者が一部の制御コマンドを窃取したとしても誤り検査値の解析を不可能とすることができ、遊技機1のセキュリティ強度をより一層向上させることができる。
【0247】
また、本実施形態では、通常は通信エラーチェックに用いる誤り検査値を、不正行為を検出するための検査値として利用している。このように通信エラーチェックに従来から用いられている誤り検査値を利用することで、不正行為を検出するための検査値生成手段を別途設けずとも不正行為を検出することができ、セキュリティ強度を向上させることができる。すなわち、遊技機の主制御部のリソースが限られているという状況下において、セキュリティ強度を向上させつつ、主制御部110の処理負荷の増大を抑制することができる。
【0248】
また、本実施形態では、主制御部110へ追加するセキュリティ機能の具体的態様として追加された検査値生成部500は、ワイヤードロジック制御方式のハードウェアで回路構成され、メインCPU110aと送信部550との間に設けられている。その際、検査値生成部500とメインCPU110aとの間の入出力制御方式、および検査値生成部500と送信部550との間の入出力制御方式を、それぞれCPUインターフェース方式としている。そして、検査値生成部500内の各手段同士の入出力制御方式をワイヤードインターフェース方式としている。よって、本実施形態では、メインCPU110aの処理負荷やコードサイズを増大させない検査値生成部500を、既存遊技機のメインCPUと送信部との間の入出力制御方式を維持しつつ、追加することができる。したがって、本実施形態によれば、遊技機1がセキュリティ機能を有しながらも、セキュリティ機能を有することで増大する主制御部110のCPUの処理負荷やコードサイズを最大限抑制することができる。同時に、本実施形態によれば、このような特徴を有するセキュリティ機能を既存の遊技機に比較的簡易に追加することができる。
【0249】
本実施形態では、バッファ手段510のデータバッファ511と生成手段520の生成回路521とを接続し、生成回路521の出力側に格納回路522を設けた。よって、格納回路522で格納する対象を、生成回路521で生成した誤り検査値とした。しかしながら、本発明はこれに限定されず、図19に示すように、格納回路522を生成回路521の入力側に設け、格納回路522で格納する対象を制御コマンドとしてもよい。なお、図5の格納回路522におけてデータをシフトする方向(格納回路(N)から格納回路(1)の方向)と、図19の格納回路522においてデータをシフトする方向(格納回路(1)から格納回路(N)の方向)とは、それぞれ逆方向であるが、これは、説明の便宜上、格納回路(1)〜(N)の符号を同一の順で付与したためである。いずれの格納回路522もFIFOメモリとして機能するものであり、図5と図19における実施態様において、特段異なる構成を必要とするものではない。なお、演出制御部120においても、格納部622で格納する対象を誤り検査値としてもよいし、制御コマンドとしてもよい。また、主制御部110での格納対象と、演出制御部120での格納対象とが異なってもよい。
【0250】
また、本実施形態では、P≦Nの場合に、主制御部110では、制御コマンド(P)に対して初期検査値を付加して送信し、演出制御部120では、対応する初期検査値を用いて誤り検査処理を行うこととしたが、本発明はこれに限定されず、演出制御部120は、P≦Nの場合は誤り検査処理を行わず、P>Nとなってから初めて誤り検査処理を行うこととしてもよい。
【0251】
また、本実施形態では、演出制御部120は、主制御部110が有する誤り検査値付加機能と同様の機能である誤り検査値出力機能を有し、格納部622で過去に格納された特定の誤り検査値を検査部610へ出力することとした。そして、格納部622から出力した特定の誤り検査値と、受信した制御コマンドに付加された誤り検査値とを比較して誤り検査処理を行うこととした。しかしながら、本発明はこれに限定せず、受信した制御コマンドに付加された誤り検査値と格納部622に格納された全ての誤り検査値と照合して、誤り検査処理を行うこととしてもよい。この場合、演出制御部120は、格納部622のいずれかの誤り検査値と一致すれば、検査結果は正常であるとして、受信した制御コマンドの正当性ならびに主制御部110の正当性を認証すればよい。
【0252】
また、本実施形態では、P≦Nの場合に用いる初期検査値を、メインROM110bに予め記憶された固有情報としたが、本発明はこれに限定されない。例えば、主制御部110に計時手段を設け、または主制御部110が予め備えている計時手段を用いて、電源投入時から制御コマンドの送信タイミングまでの経過時間を経時情報として取得し、取得した経時情報を初期検査値として用いてもよい。取得した経時情報の値は、ランダム性を有する変動値であるため、これを用いて生成された初期検査値を再利用することは困難であり、遊技機1のセキュリティ強度をより一層向上させることができる。このとき、演出制御部120は、上記のようにP≦Nの場合は誤り検査処理を行わないようにすればよい。
【0253】
また、このとき、予めN≧2と取り決めてあれば、演出制御部120は、初期検査値として連続して送信された経時情報同士が時系列として連続性を有するか否か、すなわち、連続して送信された経時情報の値が送信順番に従って増加しているか否かを確認することによって誤り検査処理を行ってもよい。なお、経時情報は、計時手段をリアルタイムクロック回路等として取得される絶対的な時間であってもよいし、リセット時から計数された相対的な時間であってもよい。いずれにしても、経時情報は、その取得されるタイミングが不定期なタイミングであればある程、様々な値に変動するため、実質的に遊技機1に固有の情報と捉える事ができる。また、N≧2のとき、経時情報は、制御コマンドの送信タイミング毎に計時手段から取得した経時情報を用いてもよいし、最初に生成した制御コマンドの送信タイミングに取得した経時情報を複数の制御コマンドに対して初期検査値として用いてもよい。また、例えば、最初に生成した制御コマンドに付加する初期検査値は固定値あるメインCPU110aの識別番号(ID)を用い、それ以降の初期検査値は変動値である経時情報を用いるというように、固定値と変動値を組み合わせることもできる。
【0254】
また、本実施形態では、誤り検査値を送信部550の送信バッファ551へ書き込むタイミングは、付加手段530の制御回路532が出力する接続切替信号の出力タイミングを調整することによって制御していた。しかしながら、本発明はこれに限定されず、バッファ手段510の制御回路512が、制御回路532に対して出力する作動許可信号の出力タイミングを調整することで制御することもできる。また、生成手段520の制御回路523が、生成回路521へ出力する作動許可信号の出力タイミングを調整することで制御することもできる。制御回路532が出力する接続切替信号の出力タイミングは、制御回路512が出力する作動許可信号の入力に基づいているからである。また、接続切替信号が入力される入力選択回路531へ誤り検査値が入力されるタイミングは、制御回路523が出力する作動許可信号の入力に基づいているからである。
【0255】
なお、制御回路523が出力する作動許可信号の出力タイミングにおいても、制御回路512が出力する作動許可信号の入力に基づいており、更に、制御回路512が出力する作動許可信号の出力タイミングは、メインCPU110aが出力するバッファ手段510への書き込み信号の入力に基づいている。そして、メインCPU110aが出力する当該書き込み信号は、既存の遊技処理用プログラムに元来規定されていたコマンド送信処理の実行タイミングによって予め指定されている。このように、本発明では、検査値生成部500が誤り検査値を送信部550へ書き込むタイミングは、既存の遊技処理用プログラムで規定されたコマンド送信処理の実行タイミングに基づいて一意に決定すればよく、比較的簡易にタイミング設計が可能である。よって、本発明は、セキュリティ機能を既存の遊技機に比較的簡易に追加することができ、かつ、誤り検査値の書き込みタイミングの設計に、比較的大きなマージンを確保することができ、誤り検査値処理の確度確保が容易となる。
【0256】
また、本実施形態では、検査値生成部500をワンチップマイコン110mとは別個の回路構成としたが、本発明はこれに限定されず、検査値生成部500をワンチップマイコン110mと一体の回路構成としてもよいし、送信部550と一体の回路構成としてもよい。更に、本発明は、検査値生成部500、ワンチップマイコン110m、及び送信部550の全てを一体の回路構成としてもよい。
【0257】
また、本実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、本実施形態と同様に構成することにより、本実施形態と同様の効果を得ることができる。また、本実施形態は、その目的および構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【0258】
1 遊技機
110 主制御部
110a メインCPU
110b メインROM
110c メインRAM
110m ワンチップマイコン
120 演出制御部
120a サブCPU
120b サブROM
120c サブRAM
130 払出制御部
140 ランプ制御部
150 画像制御部
160 発射制御部
170 電源部
300 周辺制御部
500 検査値生成部
510 バッファ手段
520 生成手段
521 生成回路
522 格納回路
530 付加手段
550 送信部
600 受信部
610 検査部
620 検査値生成部
621 生成部
622 格納部


【特許請求の範囲】
【請求項1】
制御コマンドを出力する主制御部と前記制御コマンドに基づく処理を行う周辺制御部とを含む遊技機であって、
前記主制御部は、
所定の遊技情報に応じた演算を行って前記制御コマンドを生成し、生成した制御コマンドを予め取り決められた出力制御方式で出力する演算処理部と、
前記演算処理部によって出力された制御コマンドに対応する誤り検査値を生成し、生成した誤り検査値を出力する第1検査値生成部と、
前記制御コマンドと前記誤り検査値とを前記周辺制御部へ送信する送信部と、
を備え、
前記周辺制御部は、
前記第1検査値生成部によって生成された誤り検査値に対応する検証用の誤り検査値を生成する第2検査値生成部と、
前記送信部によって送信された誤り検査値と前記第2検査値生成部によって生成された誤り検査値とを比較して前記送信部によって送信された制御コマンドの正当性の検査を行う検査部と、
前記送信部によって送信された制御コマンドに基づく処理を行うと共に、前記検査の結果に応じた処理を行う処理部と、
を備え、
前記第1検査値生成部は、
前記演算処理部によって出力された制御コマンドを入力し、入力した該制御コマンドを予め指定されたタイミングで出力するバッファ手段と、
前記バッファ手段によって出力された制御コマンドを入力し、入力した制御コマンドより過去に前記演算処理部によって出力された制御コマンドに対応する誤り検査値を生成し、生成した該誤り検査値を前記タイミングに応じて出力する生成手段と、
前記バッファ手段によって出力された制御コマンドと前記生成手段によって出力された誤り検査値とを入力し、入力した該制御コマンドに入力した該誤り検査値を付加して、該誤り検査値が付加された制御コマンドを、前記演算処理部において予め取り決められた出力制御方式と同じ出力制御方式で、前記タイミングに応じて出力する付加手段と、
を有し、
前記送信部は、前記付加手段によって出力された前記誤り検査値が付加された制御コマンドを入力し、入力した該誤り検査値が付加された制御コマンドを、前記周辺制御部へ送信する
ことを特徴とする遊技機。
【請求項2】
前記生成手段は、生成した誤り検査値を格納する第1格納回路を有する手段であり、前記第1格納回路に格納された誤り検査値を前記タイミングに応じて前記付加手段へ出力することを特徴とする請求項1に記載の遊技機。
【請求項3】
前記生成手段は、遊技機固有の情報を示す固有情報を格納する第2格納回路を更に有する手段であり、前記第1格納回路に、前記生成手段によって生成された誤り検査値が格納されていない場合は、前記第2格納回路に格納された固有情報を該誤り検査値として、前記付加手段へ出力することを特徴とする請求項2に記載の遊技機。
【請求項4】
前記生成手段は、前記バッファ手段によって出力された制御コマンドより過去に前記演算処理部によって出力された制御コマンドを格納する第3格納回路を有する手段であり、前記第3格納回路に格納された制御コマンドに対応する誤り検査値を生成し、生成した誤り検査値を前記タイミングに応じて前記付加手段へ出力することを特徴とする請求項1に記載の遊技機。
【請求項5】
前記生成手段は、遊技機固有の情報を示す固有情報を格納する第4格納回路を更に有する手段であり、前記第3格納回路に、前記バッファ手段によって出力された制御コマンドより過去に前記演算処理部によって出力された制御コマンドが格納されていない場合は、前記第4格納回路に格納された固有情報を該制御コマンドに対応する誤り検査値として、前記付加手段へ出力することを特徴とする請求項4に記載の遊技機。
【請求項6】
前記バッファ手段は、入力した制御コマンドを、前記演算処理部において予め取り決められた出力制御方式とは異なる所定の出力制御方式で出力し、
前記生成手段は、生成した誤り検査値を、前記バッファ手段が用いる前記所定の出力制御方式と同じ出力制御方式で出力する
ことを特徴とする請求項1乃至5のいずれかに記載の遊技機。
【請求項7】
前記第1検査値生成部は、前記演算処理部と前記送信部との間に設けられ、
前記演算処理部と前記第1検査値生成部との接続と、前記第1検査値生成部と前記送信部との接続とは、同じ規格のバスで接続され、
前記演算処理部において予め取り決められた出力制御方式は、前記規格に基づいて取り決められた方式である
ことを特徴とする請求項1乃至6のいずれかに記載の遊技機。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−176066(P2012−176066A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2011−39936(P2011−39936)
【出願日】平成23年2月25日(2011.2.25)
【出願人】(000161806)京楽産業.株式会社 (4,820)
【出願人】(300023383)株式会社トリニティーセキュリティーシステムズ (376)
【Fターム(参考)】