以下、本発明の実施の形態について説明する。
図1は、本発明の実施の形態の遊技機1の構成を示す正面図である。
遊技機(パチンコ遊技機)1の前面枠3は、本体枠(外枠)4にヒンジ5を介して開閉回動可能に組み付けられ、遊技盤6は前面枠3の裏面に取り付けられた収納フレーム50(図2)に収装される。
遊技盤6の表面には、画像表示装置8、大入賞口を備えた特別変動入賞装置9、一般入賞口10〜14、普通変動入賞装置15を備えた始動口16及び普通図柄始動ゲート27A、27B等が配設された遊技領域が形成される。前面枠3には、遊技盤6の前面を覆うカバーガラス18が取り付けられている。
画像表示装置8は、表示領域に、左、中、右の三つの表示図柄(識別情報)が表示される。これらの表示図柄には、例えば「0」〜「9」までの各数字と、「A」〜「E」のアルファベット文字が割り当てられている。
画像表示装置8は、始動口16へ遊技球の入賞があると、前述した数字又は文字で構成される表示図柄が順に表示される。始動口16への入賞が所定のタイミングでなされたとき(具体的には、入賞検出時の特別図柄乱数カウンタ値が当り値であるとき)には大当り状態となり、三つの表示図柄が揃った状態(大当り図柄)で停止する。このとき、特別変動入賞装置9の大入賞口が所定の時間(例えば、30sec)だけ大きく開き、多くの遊技球を獲得することができる。
この始動口16への遊技球の入賞は、特図始動スイッチ52(図3)で検知される。この遊技球の通過タイミング(具体的には、入賞検出時点での遊技制御装置100(図2)内に備えられた特別図柄乱数カウンタの値)は、特別図柄入賞記憶として、遊技制御装置100内の所定の記憶領域(特別図柄乱数記憶領域)に、最大で連続した4回分を限度に記憶される。この特別図柄入賞記憶の記憶数は、画像表示装置8の左側に設けられた4つのLEDからなる特別図柄記憶状態表示器17に表示される。遊技制御装置100は、特別図柄入賞記憶に基づいて、画像表示装置8にて特図変動表示ゲーム(補助遊技)を行う。
普通図柄表示器7は、普通図柄始動ゲート27A、27Bへ遊技球の入賞があると、普通図柄(例えば一つの数字からなる図柄)の変動表示を始める。普通図柄始動ゲート27A、27Bへの入賞が所定のタイミングでなされたとき(具体的には、入賞検出時の普通図柄乱数カウンタ値が当り値であるとき)には、普通図柄に関する当り状態となり、普通図柄が当り図柄(当り番号)で停止する。このとき、始動口16の手前に設けられた普通変動入賞装置15が所定の時間(例えば、0.5sec)だけ大きく開き、遊技球の始動口16への入賞可能性が高められる。
この普通図柄始動ゲート27A、27Bへの遊技球の通過は、普通図柄始動センサ53A、53B(図3)で検知される。この遊技球の通過タイミング(具体的には、遊技制御装置100内に備えられた普通図柄乱数カウンタの通過検出時点での値)は、普通図柄入賞記憶として、遊技制御装置100内の所定の記憶領域(普通図柄乱数記憶領域)に、所定回数(例えば、最大で連続した4回分)を限度に記憶される。この普通図柄入賞記憶の記憶数は、普通図柄表示器7の左右に設けられた4つのLEDからなる普通図柄記憶状態表示器19に表示される。遊技制御装置100は、普通図柄入賞記憶に基づいて、普通図柄に関する当りの抽選を行う。
前面枠3の下部の開閉パネル20には、遊技球を打球発射装置に供給する上皿21が配設される。また、前面枠3の下部の固定パネル22には、下皿23及び打球発射装置の操作部24等が配設される。
カバーガラス18の上部の前面枠3には、点灯により遊技球の排出の異常等の状態を報知する第1報知ランプ31及び第2報知ランプ32が設けられている。
上皿21の外面には、遊技機1に隣接して設けられるカード球貸ユニット2の操作パネル26が形成される。操作パネル26には、カードの残高を表示するカード残高表示部(図示省略)、球貸しを指令する球貸スイッチ28、及び、カードの返却を指令するカード返却スイッチ29が設けられている。
カード球貸ユニット2には、前面のカード挿入部25に挿入されたカード(プリペイドカード等)のデータの読込及び書込を行うカードリーダライタと球貸制御装置とが内蔵される。
図2は、本発明の実施の形態の遊技機1の背面図である。
遊技機1の前面枠3の裏面には、遊技盤6を収納する収納フレーム50が取り付けられる。収納フレーム50の裏面には、各装置を配設する裏機構盤61が取り付けられる。
裏機構盤61の上部には、外部から電源を取り入れるターミナル基板44、枠用外部接続端子盤42A、遊技球を貯留する球貯留タンク46、及び、球貯留タンク46の遊技球を樋ユニット部47に導くシュート48が取り付けられる。裏機構盤61の右側は、樋ユニット部47の遊技球を遊技機1前面側の上皿21又は下皿23に払い出す排出装置600が取り付けられ、また、裏機構盤61の左側には電源装置(電源基板)250が配設される。
裏機構盤61の下部には、遊技を統括的に制御する遊技制御装置100及び排出装置600を制御する排出制御装置400が配設され、遊技制御装置100の奥方に一部を隠した位置には、発射装置500を制御する発射制御装置550が配設される。
前面枠3の下部には、中央にオーバーフロー流路(上皿21と下皿23とを結ぶ流路)の連絡樋ボックス62が、左側に発射装置500が、右側にスピーカ58(図3)が取り付けられる。スピーカ58の収納カバーには、カード球貸ユニット2と接続するための中継基板33が取り付けられる。
遊技盤6の裏面側のほぼ中央には保護カバー40が配設される。この保護カバー40は、画像表示装置8を制御する表示制御装置150(図3)、装飾用のランプ等を制御する装飾制御装置200(図3)、音制御装置300(図3)、電源装置250及び盤用外部接続端子盤41(図3)を覆うように配設される。なお、図中の保護カバー40は、電源装置250の右部を切り欠いた状態を示す。
そして、電源装置250と遊技制御装置100とは、電源ラインやリセット信号等の信号線等から構成されるケーブル(ハーネス)101、コネクタ102及び252を介して接続される。なお、保護カバー40は、ケーブル101を挿通する開口部(図示省略)を備える。
ケーブル101は、複数の信号線を平行して束ねたフラットケーブルで構成される。ケーブル101の両端に設けられるコネクタ102及び252は、図4に示すようにロック機構を備え、かつ、電源装置250又は遊技制御装置100を覆うカバーに設けた開口部を挿通する。
図3は、本発明の実施の形態の遊技機1の各制御装置の接続を示すブロック図である。
遊技機1には、遊技制御装置(主基板)100、表示制御装置(表示制御基板)150、装飾制御装置(ランプ制御基板)200、音制御装置(音声制御基板)300、排出制御装置(払出制御基板)400及び発射制御装置(発射制御基板)550等の各種制御装置が設けられている。なお、表示制御装置150、装飾制御装置200、音制御装置300、排出制御装置400及び発射制御装置550を総称して従属制御装置という。
遊技制御装置100、表示制御装置150、装飾制御装置200、音制御装置300及び排出制御装置400は、それぞれ、CPU、RAM、ROM及び入出力インターフェース(I/F)で構成されている。
遊技制御装置100は、遊技を統括的に制御する主制御装置であって、遊技制御を司るCPU(CPUコア)80、遊技制御時にワークエリアとして利用されるRAM(ユーザワークRAM82、管理用ワークRAM93及びIDプロパティRAM96)及び遊技制御のための不変の情報(プログラム、データ等)を記憶しているROM(プログラムROM81及びブートROM91)を内蔵した遊技用マイクロコンピュータ113と、入出力インターフェースとから構成される。
遊技制御装置100には各種検出装置からの検出信号が入力され、入出力インターフェースを介してCPU80に入力される。これらの各種検出装置には、一般入賞口10〜14への入賞を検出する一般入賞口センサ51.1〜51.N、始動口16への入賞球の検出によって画像表示装置8による特図変動表示ゲームを開始するための特図始動スイッチ52、遊技球の検出によって普通変動入賞装置15の作動を決定するための普通図柄表示器7の変動を開始させる普通図柄始動センサ53A、53B、大入賞口への入賞を検出するカウントセンサ54、遊技盤前面のガラス枠の開放を検出する金属枠開放センサ56、排出装置600によって排出された遊技球が貯留過多となったことを検出するオーバーフローセンサ57、及び、排出装置600への遊技球の供給が不十分であることを検出する半端球検出センサが含まれる。
遊技制御装置100のCPU80は、これらの検出信号に基づいて、ROM81、91に記録されたプログラム(遊技プログラム)を実行し、遊技の統括的な制御(遊技制御)を行う。
具体的には、遊技制御装置100は、表示制御装置150に表示パラレル通信によって表示制御指令信号を出力し、装飾制御装置200にランプパラレル通信によって装飾制御指令信号を出力し、音制御装置300に音声パラレル通信によって音制御指令信号を出力し、排出制御装置400に賞球パラレル通信によって賞球制御指令信号を出力して、これらの従属制御装置を制御する。なお、遊技制御装置100から各従属制御装置へのデータは単方向で通信され、従属制御装置から遊技制御装置100へはデータが送信されないようになっている。
遊技制御装置100は、大入賞口ソレノイド9A及び普通変動入賞口ソレノイド15Aに制御信号を送信し、これらのソレノイドへの通電を制御することにより、特別変動入賞装置9及び普通変動入賞装置15の開閉を制御する。さらに、普通図柄表示器7に制御信号を送信し、表示を制御する。
また、遊技制御装置100は、賞球排出が正確に行われているか否かを監視する。具体的には、排出制御装置400へ賞球制御指令信号として送信した排出を指令した賞球数と、賞球検出センサ713A、713Bにより計数された実際の排出数が一致するかの監視、及び、賞球排出指令が送信されていないにも関わらず賞球排出がなされていないかの監視を行う。
賞球排出指令信号が送信されていないにも拘わらず、賞球排出がされている等の異常が認められたときは、異常対応処理を行う。例えば、枠用外部接続端子盤42Aから異常検出信号を管理装置(ホールコンピュータ)に出力し、装飾制御装置200に装飾制御指令信号を送信して、第1報知ランプ(賞球異常報知LED)31を点滅させて異常を報知する。また、遊技制御の停止又は打球発射の停止等により、遊技を強制的に中止させる。
RAM82、93、96には、停電時にもバックアップ電源(図示省略)から電源供給され、必要なデータがバックアップされるようになっている。RAM82、93、96は、バックアップエリアと制御エリアとから構成される。バックアップエリアは、停電からの復帰時にも原則としてデータ内容が初期化されないエリアで、チェックデータの他、特別図柄乱数記憶、普通図柄乱数カウンタ及び普通図柄乱数記憶が、対応する格納領域に記憶されている。一方、制御エリアは、バックアップエリア以外の領域で、タイマ値等が記憶されている。
排出制御装置400には、排出された遊技球を検出する賞球検出センサ713A及び713Bからの検出信号が入力される。具体的には、排出装置600から賞球として排出された遊技球を検出する賞球検出センサ713A及び713Bの各検出信号と、排出装置600から貸球として排出された遊技球を検出する貸球検出センサ714A及び714Bの各検出信号とが入力される。そして、排出制御装置400は、賞球制御指令信号に基づいて、排出装置600からの遊技球の排出及び流路切換ユニットにおける流路切換を制御する。
また、排出制御装置400には、遊技制御装置100からの賞球制御指令信号とは別に、カード球貸ユニット2から貸球要求信号が入力される。排出制御装置400は、賞球制御指令信号及び貸球要求信号に基づいて排出装置600を制御し、貸球検出センサ714A又は714Bの検出信号を用いて貸球の排出を行う。
なお、賞球検出センサ713A、713Bの各検出信号は、中継基板33を介して遊技制御装置100へも入力されている。
遊技制御装置100及び排出制御装置400は、通常動作中は、所定時間(2msec)間隔で発生するクロックパルスに基づいて(又は所定時間(2msec)のウェイトを設けることによって)呼び出される割込処理により、所定時間間隔で賞球検出センサ713A、713Bの出力を読み込み、カウンタ(確認カウンタ及び貯留カウンタ)を減算する。また、遊技制御装置100及び排出制御装置400の通常動作中に停電が発生すると、停電検出回路253により発生する停電検出信号に基づくNMI割込により停電検出処理が実行される。
装飾制御装置200には、遊技制御装置100からのランプを点灯(又は点滅)させる指令信号である装飾制御指令信号が入力され、各種ランプを点灯駆動する。具体的には、遊技制御装置100が遊技機1の異常を検出すると、異常報知ランプ(第1報知ランプ)31を点灯させる。また、遊技制御装置100から排出制御装置400に賞球制御指令信号が送られ、賞球の排出が始まると、賞球排出ランプ(第2報知ランプ)32を点灯させる。さらに、遊技機1が大当り状態となると、遊技に抑揚をつけるように装飾ランプ45.1〜45.Nを点灯(又は点滅)させる。
電源装置250は、電源回路251、停電検出回路253及びバックアップ電源回路256を有している。電源回路251は、遊技店の島設備から遊技機1が枠用外部接続端子盤42Aを介して受電した24ボルトの交流電源を、各制御装置(遊技制御装置100及び従属制御装置)の動作に必要な電圧(12V、18V等)の直流電源に変換して、各制御装置に供給する。
停電検出回路253は、遊技機1に供給される電圧の変動を監視し、電圧の低下を検出すると、遊技制御装置100及び排出制御装置400に停電検出信号を出力して停電処理を実行させる。
バックアップ電源回路256は、電源回路251からの5Vの出力が常時印加されている大容量素子(二次電池、スーパーキャパシタ等)によって構成され、遊技機1への電源の供給が停止した状態(停電時)で、電源回路からの出力が消滅しても、停電時にも動作をする必要がある回路に電源を供給する。例えば、停電時にも記憶内容を保持する必要があるバックアップメモリに電源を供給する。
図4は、本発明の実施の形態の乱数発生に関する制御系のブロック図である。
電源基板250の電源回路251は、図3で説明した構成の他、5Vを出力するロジック電源回路251A(電源供給手段)と、リセット信号発生回路251Bとを備える。
ロジック電源回路251Aは、電源投入後に、各制御装置(遊技制御装置100及び従属制御装置)に対して5Vの電源を供給する。また、リセット信号発生回路251Bは、ロジック電源回路251Aが電源供給を開始して所定時間(遊技機1によって個体差があり、100〜200msecの間に設定されている)経過後に、各制御装置に対してリセット信号を送信する。このリセット信号を受信した各制御装置は、各種制御パラメータやプログラム実行番地を初期状態にすることによって、遊技機1を初期状態にする。
16ビットカウンタ120は、4個の4ビットカウンタ(カウンタ回路)121〜124によって、16ビットのカウンタを構成している。4ビットカウンタ121〜124は、例えば、74HC161で構成される。16ビットカウンタ120には、電源(Vcc)の他、発信回路130からのクロック信号(CK)及びリセット信号が入力されている。16ビットカウンタ120は、カウンタ値生成手段を構成する。
16ビットカウンタ120は、リセット信号の立ち下がりを検出すると、16ビットのカウンタ値を全てリセットする。
16ビットカウンタ120は、クロック信号の立ち上がりを検出すると、カウンタ値を1増加させる。各4ビットカウンタ121〜124はカスケード接続されており、カウンタ124がオーバーフローすると次段のカウンタ123に、キャリー信号を出力する。
次段のカウンタ123は、キャリー信号が出力されている間にクロック信号を受信するとカウントアップする。前段のカウンタ124は、キャリー信号が出力されている間にクロック信号を受信すると、キャリー信号の出力を停止する。
このように、4個の4ビットカウンタ121〜124よって、16ビットのカウンタが構成されており、0〜65535の乱数値が生成される。
乱数確定レジスタ140は、16個のフリップフロップ(例えば、2個の74HC574)によって、16ビットのラッチを構成している。なお、上位8ビットをフリップフロップ141、下位8ビットをフリップフロップ142とする。
16ビットカウンタ120の下位4ビット(カウンタ124)の出力は、乱数確定レジスタ140の最上位4ビットに入力されている。16ビットカウンタ120の次の4ビット(下位5〜8ビットのカウンタ123)の出力は、乱数確定レジスタ140の最下位4ビットに入力されている。16ビットカウンタ120の次の4ビット(下位9〜12ビットのカウンタ122)の出力は、乱数確定レジスタ140の下位5〜8ビットに入力されている。16ビットカウンタ120の次の4ビット(下位13〜16ビットのカウンタ121)の出力は、乱数確定レジスタ140の下位9〜12ビットに入力されている。
すなわち、1クロックの信号で、乱数確定レジスタ140に記憶される乱数値は4096(2の12乗)ずつ変化し、16回の変化の後、桁上げ時に1変化することになる。
ここでは、カウンタ値のビットと乱数確定レジスタ140のビットとの関係の一部を入れ替えて16ビットカウンタ120と乱数確定レジスタ140とを接続したので、クロック信号による乱数値の変化が離散的になり、外部からカウンタ値を類推しにくくなる。この場合であっても、大当りの数値範囲となる上限値と下限値を用いて遊技結果を決定することが可能であり、大当り判定処理の負担は軽減できる。
乱数確定レジスタ140には、16ビットカウンタ120からの16ビットの出力の他、特図始動スイッチ52からの検出信号又は乱数取込信号がラッチ信号として入力される。すなわち、始動口16への遊技球の入賞の検出によって発生した検出信号、又は、乱数の監視中に所定のタイミングで出力される乱数取込信号に基づいて、16ビットカウンタ120のカウント値が乱数確定レジスタ140に記憶される。
各フリップフロップの後段には、3ステートバッファ160が設けられている。3ステートバッファ160は、例えば、2個の74HC541によって構成される。そして、CPU80から乱数値読出指令信号(乱数上位RD及び乱数下位RD)が出力されると、乱数確定レジスタ140に記憶された乱数値のうち、上位8ビット(RH)はバッファ161を介して、また、下位8ビット(RL)はバッファ162を介して、それぞれ所定の電圧にプルアップされたデータバス65に出力される。
データバス65には遊技用マイクロコンピュータ113が接続されている(図5及び図6)。すなわち、乱数確定レジスタ140に記憶された値は、乱数値読出指令信号によって、遊技用マイクロコンピュータ113のCPU80に取り込まれる。
なお、乱数確定レジスタ140及び3ステートバッファ160は、伝達手段を構成する。
以上説明した乱数発生回路(16ビットカウンタ120、乱数確定レジスタ140及び3ステートバッファ160)は、データバス65を介して入出力回路(図5のフィルタ回路73、3ステートバッファ74、フリップフロップ76、78及びドライブ回路75、77)、及び、CPU80を備える遊技用マイクロコンピュータ113と接続されている(図4〜図6)。
図5は、本発明の実施の形態のデータの入出力に関する制御系のブロック図である。
始動口16へ遊技球が入賞すると、特図始動スイッチ52からの検出信号がフィルタ回路73に入力される。特図始動スイッチ52からの検出信号は、同時に乱数確定レジスタ140に入力される。なお、特図始動スイッチ52からの検出信号が乱数確定レジスタ140に入力されると、16ビットカウンタ120のカウント値が乱数確定レジスタ140に記憶される。
特図始動スイッチ52からの検出信号のほか、各種スイッチ(例えば、一般入賞口センサ51.1〜51.N、普通図柄始動センサ53A、53B、カウントセンサ54、金属枠開放センサ56又はオーバーフローセンサ57)からの検出信号がフィルタ回路73に入力され、ノイズ等が除去される。
フィルタ回路73には3ステートバッファ74が接続される。3ステートバッファ74は、例えば、1個の74HC541によって構成される。そして、3ステートバッファ74は、遊技用マイクロコンピュータ113からデータバス65を介して入力信号読出指令信号(入力取込RD)が入力されると、フィルタ回路73から検出信号を取り込んで、遊技用マイクロコンピュータ113に出力する。なお、入力取込RDは、後述する入力処理(図8のステップS24)の実行のタイミングで遊技用マイクロコンピュータ113から3ステートバッファ74に入力される。
また、後述する出力処理(図8のステップS24)が実行されると、出力信号書込指令信号(第1出力WR及び第2出力WR)が、遊技用マイクロコンピュータ113からデータバス65を介して、ラッチ回路であるフリップフロップ76又は78に順に入力される。このとき、まず第1出力WRがフリップフロップ76に入力され、次に、第2出力WRがフリップフロップ78に入力される。
フリップフロップ76及び78は、例えば、74HC574によって構成される。フリップフロップ76、78には、それぞれドライブ回路75、77が接続されている。ドライブ回路75及び77には、それぞれ各種装置(普通図柄表示器7、大入賞口ソレノイド9A及び普通変動入賞口ソレノイド15A)が接続されている。
遊技用マイクロコンピュータ113から遊技制御に関するデータが入力されると、これらのデータはフリップフロップ76及び78に記憶される。そして、フリップフロップ76及び78は、各WR信号が入力されると、当該データをドライブ回路75又は77に出力する。ドライブ回路75及び77は、フリップフロップ76又は78から入力されたデータに基づいた駆動信号を各種装置に出力する。そして、各種装置は、入力された駆動信号に基づいて動作を開始する。
なお、これらの3ステートバッファ74、フリップフロップ76及び78は、中継手段を構成する。
図6は、本発明の実施の形態の遊技用マイクロコンピュータ(遊技用演算処理装置)113のブロック図である。
遊技用マイクロコンピュータ113は、遊技制御を行う遊技ブロック113Aと情報管理を行う管理ブロック113Bとに区分され、以下に説明する各ブロックの構成要素を共通の半導体基板上に実装してワンチップ化し、パッケージングして製造されたアミューズメントチップである。
遊技ブロック113Aは、CPUコア80、プログラムROM81、ユーザワークRAM82、アドレスデコーダ83、クロックジェネレータ84、リセット/割込制御回路85、チップセレクトコントローラ86、乱数取込タイミング回路87、乱数監視回路88及び外部バスインターフェース89を含む。これらの構成要素は、CPUバス90によって接続される。
CPUコア80は、各種のレジスタ群、演算・論理部(ALU)、命令レジスタ(IR)、デコーダ、プログラムカウンタ(PC)、スタックポインタ(SP)、これらを結ぶデータバス、アドレスバス及び各種制御部をコア内に含み、例えば、Z80アーキテクチャで構成される。CPUコア80は、プログラムROM81に格納された遊技制御プログラムをユーザワークRAM82にロードして実行することによって、遊技機1の遊技制御に必要な各種機能をソフト的に実現する。
ユーザワークRAM82は、CPUコア80の主記憶に相当し、例えば、S−RAM等の高速半導体デバイスで構成される。また、ユーザワークRAM82は、遊技ブロック113Aにおける遊技プログラムに基づく処理を実行する際にワークエリア(作業領域)として用いられる。なお、ユーザワークRAM82は、遊技用マイクロコンピュータ113の端子群の一つに割り当てられた専用の端子を用いてバッテリバックアップ機能を付与できるようになっており、遊技機1の電源オフ後もその記憶内容を保持する。また、ユーザワークRAM82は、そのチップイネーブルの禁止及び許可が、図示しないプロテクト回路によってコントロールされるようになっており、チップイネーブルの禁止状態中(遊技機1への電源非供給時)は読み書きのいずれも行うことができない。
アドレスデコーダ83は、CPUバス90のアドレスバスの情報をデコードする。そして、そのデコード結果に応じて、24個のI/Oリソース選択用の内部信号のうちの一つをアクティブにする。ここで、CPUバス90のアドレスバス上の情報ビット数は16ビットである。アドレスデコーダ83は、この16ビットの情報をフルデコードし、16ビットで表現される0000hからFFFFhまでのアドレス空間の所定番地に予め割り付けられた24個のI/Oアドレス(例えば、2300h〜2317hまでの24バイトのアドレス)のいずれかを検出すると、当該I/Oアドレスに対応する一つのI/Oリソース選択用の内部信号をアクティブにする。
クロックジェネレータ84は、CPUコア80を含む遊技用マイクロコンピュータ113の各ブロックに動作クロック信号を供給する。
リセット/割込制御回路85は、リセット信号発生回路251Bからのシステムリセット信号に応答してCPUコア80をシステムリセットするとともに、遊技用マイクロコンピュータ113の内部の各種リソースを初期状態に設定する。なお、システムリセットについては後述する。
チップセレクトコントローラ86は、アドレスデコーダ83からの24個のI/Oリソース選択用の内部信号に基づいて、各種信号(入力取込RD、第1出力WR、第2出力WR、乱数上位RD及び乱数下位RD)の状態をコントロールする。具体的には、これらの信号のうち入力取込RD、第1出力WR及び第2出力WRは、そのまま外部I/O選択用のチップセレクト信号として出力する。一方、乱数上位RD及び乱数下位RDは、チップセレクトコントローラ86からの内部信号の入力とともに乱数取込タイミング回路87からの信号があると、外部I/O選択用のチップセレクト信号として出力する。これらのRD信号又はWR信号がそれぞれ3ステートバッファ74、フリップフロップ76、78又は3ステートバッファ160に入力されると、前述のように各種装置へのデータの読込処理又は書込処理が実行される。
乱数取込タイミング回路87は、乱数監視処理中の乱数値の取得のタイミングを乱数確定レジスタ140に指令する。乱数確定レジスタ140は、乱数取込タイミング回路87からの乱数取込信号の入力があると、16ビットカウンタ120で生成された乱数値を記憶する。乱数値の取得は、乱数監視処理中のクロックジェネレータ84からの動作クロック信号に基づいて所定の時間間隔で実行される。
なお、クロックジェネレータ84からの動作クロック信号の周波数は、発振回路130で生成されるクロック信号と同期しない。よって、乱数監視処理中の乱数値の取得タイミングは、16ビットカウンタ120で生成される乱数値の更新タイミングと同期せず、生成された乱数値を均等に取得できる。
また、乱数取込タイミング回路87は、乱数確定レジスタ140へ乱数取込信号を出力すると、その後、3ステートバッファ160への乱数上位RDの出力信号、続いて乱数下位RDの出力信号を出力する。
乱数監視回路88は、乱数監視処理中に取得された乱数値の正当性を判定する。乱数監視回路88は、正当性判定手段を構成する。具体的には、遊技用マイクロコンピュータ113から3ステートバッファ160に乱数上位RD及び乱数下位RDが入力されると、乱数値のうち上位8ビット(RH)及び下位8ビット(RL)が、データバス65及び外部バスインターフェース89を介して乱数監視回路88にそれぞれ取り込まれる。
乱数値の取り込みは、後述するタイマ割込処理が終了して次のタイマ割込処理が実行されるまでの間、繰り返し行われる。そして、乱数監視回路88は、所定の時間内に順次取り込まれた乱数値に、全ての値(0〜65535)が含まれているか否かによって正当性を判定する。
具体的には、乱数監視回路88は、0〜65535の各乱数値と一対一に対応付けられた65536箇所の記憶領域を備える。乱数監視回路88は、遊技用マイクロコンピュータ113への電源供給開始時に、この65536箇所の記憶領域を全てクリアする(「0」を書き込む)。次に、乱数監視回路88に乱数値が取り込まれると、対応する記憶領域を順次「1」に書き換える。そして、電源供給開始時から所定時間経過後に全ての記憶領域が「1」に書き換えられれば、乱数値に異常はないと判定する。
このように、特図変動表示ゲームの結果を決定するための乱数値を、データバス65を介して取り込んで監視するため、CPUコア80が実際に取り込む乱数値と同じ値のカウンタ値を乱数監視回路88によって取り込んで正当性を判定することができ、16ビットカウンタ120からCPU80へ至る信号線の断線を高い信頼度で検出することができる。
また、このように、所定の時間内にデータバス65から取り込まれたカウンタ値に全ての値が含まれるか否かに基づいて乱数値の正当性を判定することによって、信号線の断線を検出するだけではなく、乱数の一様性を確認することができる。
なお、乱数値の正当性は、乱数確定レジスタ140に入力されるカウンタ値を乱数監視回路88がビット毎に監視して判定してもよい。つまり、乱数監視回路88は、乱数確定レジスタ140に入力される16ビットのカウンタが、いずれも1と0とを出力しているか否かを監視する。もし断線しているビットがあれば、当該ビットは1又は0のどちらかしか出力しないため、異常であることを容易に検出することができる。
また、乱数確定レジスタ140に入力される16ビットのカウンタの各ビットが、初期化時点から最初に変化するまでのタイミングを監視することによって、乱数値の正当性を判定してもよい。具体的には、遊技用マイクロコンピュータ113への電源供給開始時に全てのビットをクリアして初期化し、その後、各ビットが1に変化するまでの時間を計時する。そして、計時された時間が所定範囲であれば乱数値に異常はないと判定する。これによって、信号線の断線だけではなく、ビットの入れ替えも検出できる。
外部バスインターフェース(データバス接続端子)89は、データバス65との間で複数ビット(例えば、16ビット)の外部アドレス信号、複数ビット(例えば、8ビット)の外部データ信号、メモリリクエスト信号、入出力リクエスト信号、メモリ書込信号又はメモリ読出信号及びモード信号等の信号インターフェース処理を行うための回路と、当該回路をデータバス65に接続するための信号ピンとからなる。なお、データバス65からCPUコア80へデータを取り込む場合であっても、データバス65から乱数監視回路88へデータを取り込む場合であっても、当該データは外部バスインターフェース89を必ず経由する構成となっている。
例えば、モード信号をアクティブにした状態で、外部アドレス信号を順次インクリメントしながら外部データ信号を外から加えると、プログラムROM81への書込モードとなって遊技機1の製造メーカ又は第三者機関による遊技プログラムの書き込みが可能になる。ただし、プログラムROM81への遊技プログラムの書き込みが終了すると、後述のパラメータメモリ92の所定領域に書込終了コードが記録(例えば、所定のコード又は所定ビットを物理的に切断することで記録)されるようになっており、パラメータメモリ92に書込終了コードが記録されている場合には、プログラムROM81への遊技プログラムの書き込みができないようになっている。
また、メモリリクエスト信号又は入出力リクエスト信号をアクティブにした状態でメモリ書込信号をアクティブにすると、所定の外部I/Oに外部データ信号を書き込むことができ、メモリ読出信号をアクティブにすると、所定の外部I/Oから外部データ信号を取り込むことができるようになっている。
CPUバス90は、データバス、アドレスバス及びコントロールバスを含み、CPUコア80、プログラムROM81、ユーザワークRAM82、アドレスデコーダ83、クロックジェネレータ84、リセット/割込制御回路85、乱数取込タイミング回路87及び外部バスインターフェース89の間を接続するとともに、管理ブロック113Bの一部の構成要素(ブートROM91、パラメータメモリ92及びバスモニタ回路94)にも接続されている。
次に、遊技用マイクロコンピュータ113における情報管理を行う管理ブロック113Bの構成を説明する。
管理ブロック113Bは、ブートROM91、パラメータメモリ92、管理用ワークRAM93、バスモニタ回路94、セキュリティメモリ95、IDプロパティRAM96、制御回路97、外部通信制御回路98及び管理バス99を含むとともに、遊技ブロック113Aから延びるCPUバス90の一部を含んで構成されている。CPUバス90は、ブートROM91、パラメータメモリ92及びバスモニタ回路94に接続されている。
ブートROM91は、ブートプログラムを格納する。遊技用マイクロコンピュータ113のシステムリセット時(正確には、システムリセット直後に実行される管理ブロック113Bの自己診断及び初期化処理の正常完了後に)このブートプログラムが立ち上がって、所定の簡易チェックを行う。そして、ブートROM91が正常であれば、後述のプロテクト設定処理を実行した後、遊技プログラムの所定アドレス(CPU201のアドレス空間内における所定アドレス(一般に当該アドレス空間の先頭番地0000h))に処理を渡す。
パラメータメモリ92は、書込終了コード及び初期設定情報を格納する。書込終了コードは、プログラムROM81に遊技プログラムを書き込んだことを示す。また、初期設定情報とは、遊技機1の製造メーカが遊技プログラムを書き込む際に、チップセレクト信号の拡張機能(ECSモード)のオンオフ設定や、チップセレクト信号の用途等を設定する。
管理用ワークRAM93は、バスモニタ回路94を介して読み込まれた遊技ブロック113Aの情報(プログラムROM81の内容やユーザワークRAM82の内容等)を一時的に保持するための記憶領域である。
バスモニタ回路94は、CPUバス90の状態を監視する。CPUバス90がCPUコア80によって使用されていないときは、必要に応じてCPUバス90を介して遊技ブロック113AのプログラムROM81やユーザワークRAM82等をアクセスし、所要のデータ(遊技プログラムやユーザワークRAM82の内容等)を管理ブロック113Bに取り込む。
セキュリティメモリ95は、ワンタイムPROMで構成する。セキュリティメモリ95には、遊技用マイクロコンピュータ113の識別や正当性の判定のために使用する固有ID(固有情報)が書き込まれている。この固有IDは、管理バス99を介して遊技機1外部の管理装置(ホールコンピュータ)で読み取ることができる。これによって、管理装置で遊技機1の固有IDを監視することができる。具体的には、予め遊技機1に設定された固有IDと、管理装置によって読み取られたセキュリティメモリ95の固有IDとが一致しない場合は、管理装置は、データバス65と乱数監視回路88とが正確に接続されていないと判断して、各種信号の入出力を不可能にする。すると、遊技制御装置100に接続された各種装置(例えば、大入賞口ソレノイド9A及び普通変動入賞口ソレノイド15A)や従属制御装置とCPUコア80との信号の入出力が不可能となり、例えば、スイッチが操作できなくなったり、装飾用ランプが点灯しなかったりして、遊技機1に異常が発生したことが明確となる。セキュリティメモリ95は、固有情報記憶手段を構成する。
このように、外部バスインターフェース89は、データバス65とCPUコア80とを接続するだけではなく、データバス65と乱数監視回路88とを接続する機能を有する。そのため、データバス65とCPUコア80とを接続した場合、乱数監視回路88をデータバス65から切り離すことができない。つまり、乱数監視回路88によってデータバス65を監視できないようにするために信号線を不正に断線させると、遊技制御装置100に接続された各種装置や従属制御装置とCPUコア80とが接続されなくなり、各種装置の動作が異常になって遊技不能となる。よって、乱数監視回路88の機能を無効化することができないため、大当り発生の確率を変更する不正行為を防止できる。
セキュリティメモリ95には、この固有IDに加えて、遊技種別コード、ランクコード、メーカ番号、機種コード及び検査番号等の各情報が書き込まれている。なお、遊技種別コードは、パチンコ遊技機やスロットルマシン等を区別するための情報であって、例えば、パチンコ遊技機の場合は“P”、スロットルマシンの場合は“G”で表される。ランクコードは、遊技機1の機種ランクコード(第1種、第2種等を区別するためのコード)、メーカ番号当該遊技機1の製造メーカを識別するためのメーカID(又はメーカコード)である。機種コードは、製造メーカが設定する当該遊技機1の製品コードである。検査番号(又は検定コード)は、第三者機関による検査に合格した遊技機1に付与される番号である。
IDプロパティRAM96には、セキュリティメモリ95の内容がコピーされる。つまり、固有ID、遊技種別コード、ランクコード、メーカ番号、機種コード及び検査番号が書き込まれている。コピーのタイミングは、遊技機1の電源投入時又は遊技用マイクロコンピュータ113のシステムリセット時であって、例えば、システムリセット直後に管理ブロック113Bで実行される初期化処理の中で行われる。IDプロパティRAM96は、ユーザワークRAM82と同様に、遊技用マイクロコンピュータ113の端子群の一つに割り当てられた専用の端子を用いて、バッテリバックアップ機能を付与可能であって、遊技機1の電源オフ後もその記憶内容を保持することができる。
制御回路97は、所定のシーケンスを実行して管理ブロック113Bの動作を制御する。例えば、システムリセット時に(正確にはシステムリセット直後に管理ブロック113Bで実行される初期化処理で)セキュリティメモリ95の内容をIDプロパティRAM96にコピーしたり、遊技中にバスモニタ回路94を介してCPUコア80のバス解放期間を検出し、同期間中に遊技ブロック113AのプログラムROM81の内容やユーザワークRAM82の内容を読み出して管理用ワークRAM93へ書き込んだり、外部装置からの管理情報要求指令に応答して管理用ワークRAM93やIDプロパティRAM96の内容を外部へ転送したりする。
外部通信制御回路98は、遊技機1の外部に備えられた情報収集端末装置やID検査装置と通信を行う。例えば、情報収集端末装置が接続されている場合は、その情報収集端末装置からの要求に応答して、管理用ワークRAM93やIDプロパティRAM96の記憶内容を要求元の情報収集端末装置に転送し、ID検査装置が接続されている場合は、そのID検査装置からの要求に応答して、少なくともIDプロパティRAM96に記憶されている固有IDの情報を要求元のID検査装置に転送する。
図7は、本発明の実施の形態の遊技制御のメイン処理のフローチャートであり、遊技制御装置100のCPU80で実行される。
遊技機1への電源が投入されると、遊技用マイクロコンピュータ101は、各種制御パラメータに初期値を設定する初期化処理を実行する(S11)。
具体的には、電源投入後に、電源装置250のリセット信号発生回路251Bから送信されたリセット信号を、遊技制御装置100で受信することを契機に、各種制御パラメータやプログラム実行番地を初期状態にすることによって、遊技機1を初期状態にする。
特に、遊技制御装置100では、電源装置250からのリセット信号によって、普図変動表示ゲームに関する大当り判定用乱数を生成する16ビットカウンタ120のうち、最下位桁を構成する4ビットカウンタ123のみを初期化する。なお、16ビットカウンタ120のうち、最上位桁を構成する4ビットカウンタ124や、他の4ビットカウンタ121及び122は、ロジック電源回路251Aから5V電源が供給された時点で作動を開始しており、リセット信号を受信しても初期化されない。
次に、攪拌用乱数更新処理(S12)を行う。以後、この攪拌用乱数更新処理を繰り返し行う。
攪拌用乱数更新処理(S12)は、後述する図8のステップS26における乱数更新処理の初期値を更新する。この処理について説明すると、遊技制御装置100で実行される処理の中には、普通図柄始動ゲート27A又は27Bを遊技球が通過したときに、対応する遊技の結果態様を導き出すための乱数処理が含まれる。これらの乱数処理の一例としては、0から316の間でカウンタの値を所定の時間周期(例えば、1msec周期)で1ずつ増加させ、値が316を越したときに再び0に戻す。この乱数値の更新処理は、ステップS26の乱数更新処理に相当する。
このカウンタ値は、前述した遊技球の通過等の事象を遊技制御装置100が認識した時点で抽出され、そのときの乱数値となる。しかし、乱数とはいっても、前述した処理を繰り返すと、317msec周期で抽出される乱数値は周期性をもってしまい、乱数性が低下する。そこで、攪拌用乱数更新処理でカウンタ値を攪乱することによって更に乱数性を付与している。
前述した例でカウンタ値の変動を毎回0から開始するのではなく、攪拌用乱数更新処理で求められた値をカウンタ値の初期値として変動させる。いわば一回転の変動を終えた時点で、攪拌用乱数更新処理により得られた新たな値を次のカウンタの初期値として設定する。
そしてまた、一回転のカウンタ値を変動する処理が行われ、カウンタ値変動時の初期値が次々と更新されてゆく。攪拌用乱数更新処理における乱数更新の周期は、ステップS26の乱数更新処理における乱数更新の周期に比してかなり短いので、前述したカウンタのランダム性を増すことができる。
図8は、本発明の実施の形態の遊技制御のタイマ割込処理のフローチャートであり、遊技制御装置100のCPU80で実行される。
遊技機1への電源が投入された後、遊技制御のメイン処理が実行される。そして、所定時間周期(例えば、1msec毎に)タイマ割り込みが発生すると、タイマ割込処理が繰り返し実行される。ただし、これらのステップS21〜S33の処理は、割り込み発生毎に必ずしもすべて行なわれるとは限られない。例えば、入力処理(S23)は毎回入力信号を監視するが、出力処理(S24)は割り込みの発生1回おきに実行されてもよい。つまり、1回の割込処理で一通りの処理すべてを完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処理が完了する場合がある。
まず、割り込み禁止の設定と、レジスタ退避の処理を行う(S21)。
その後、乱数取込タイミング回路87からの乱数取込信号の出力を中止して、乱数の監視を停止する(S22)。これによって、16ビットカウンタ120で生成されたカウンタ値が乱数確定レジスタ140に記憶されなくなる。ただし、ステップS28で特図始動スイッチ52からの出力が検出された場合は、乱数確定レジスタ140にカウンタ値が記憶される。
その後、入力インターフェースを介して入力される各種センサやスイッチ等からの信号にチャタリング除去等の処理をし、入力情報を確定する入力処理を行う(S23)。
その後、出力インターフェースを介して、遊技制御に関するデータを所定の出力先(大入賞口ソレノイド9A、普通電動役物ソレノイド15A又は盤用外部接続端子盤41等)に出力する出力処理を行う(S24)。
その後、表示制御指令信号を表示制御装置150に出力したり、排出制御装置200に賞球指令信号を出力したりするコマンド送信処理を行う(S25)。表示制御装置150対するコマンド送信処理は、図10で後述する。
その後、普図変動表示ゲームが当りか否かを判定するための各乱数カウンタ、及び、特図変動表示ゲームを進行させる際の演出又は装飾(変動表示パターンや停止図柄等)にランダム性を付与するための各乱数カウンタの値を一ずつ増す乱数更新処理を行う(S26)。
その後、遊技機1の球詰まりや各種スイッチ、センサ等の異常を監視するエラー監視処理を行う(S27)。
その後、特図始動スイッチ52、普図始動センサ53及びカウントセンサ54等の入力の有無を検出し、その結果に応じて特別図柄入賞記憶、普通図柄入賞記憶及び大入賞口への入賞カウント数等を更新するスイッチの監視処理を行う(S28)。このとき、特図始動スイッチ52による遊技球の検出があれば、乱数確定レジスタ140から取得した特図乱数カウンタ値(特図ゲームの結果態様に関する乱数)が特図始動記憶に記憶され、普図始動センサ53による遊技球の検出があれば、普図乱数カウンタ値(普図ゲームの結果態様に関する乱数)が普図始動記憶に記憶される。スイッチ監視処理については、図9で後述する。
その後、乱数取込タイミング回路87から乱数取込信号を出力して、乱数の監視を再開する(S29)。
その後、特図変動表示ゲームの進行を制御する特別図柄ゲーム処理(S30)、普通図柄ゲーム処理(S31)を行う。
特別図柄ゲーム処理(S30)は、特図始動スイッチ52で検出された始動口16への遊技球の入賞に基づいて抽出され、特図始動記憶に記憶された特図乱数カウンタ値(ステップS28で抽出・記憶した特図ゲームの結果態様に関する乱数)が当りか否か判定し、画像表示装置8に識別情報(特別図柄)の変動表示のための処理を行う。特図乱数カウンタ値が所定の値であれば、特別図柄に関する当り状態となり、識別情報の変動表示が当り図柄で停止する。また、当り状態になると大入賞口ソレノイド9Aを駆動して特別変動入賞装置9を開放し、遊技球を受け入れやすい開状態(遊技者に有利な状態)になる。なお、特別図柄ゲーム処理については、図10で後述する。
普通図柄ゲーム処理(S31)は、普通図柄始動センサ53で検出された普通図柄始動ゲート14への遊技球の通過に基づいて抽出され、普通図柄始動記憶に記憶された普通図柄乱数カウンタ値(ステップS27で抽出・記憶した普通図柄ゲームの結果態様に関する乱数)が当りか否か判定し、画像表示装置8に設けられた普通図柄記憶状態表示領域の変動表示のための処理を行う。普図乱数カウンタ値が所定の値であれば、普図に関する当り状態となり、普通図柄の変動表示が当り図柄で停止する。また、当り状態になると普通電動役物ソレノイド15Aを駆動して普通変動入賞装置15を開放し、始動口16への入賞が容易な状態になる。なお、普通変動入賞装置15の開放時間は、例えば、特定遊技状態(確率変動、時間短縮変動等)では2.9秒間、通常遊技状態では0.5秒間として、遊技状態に応じて開放態様が変化する。
その後、盤用外部接続端子盤41を介して接続される管理用コンピュータに遊技機1の状態を出力するための盤用外部情報を編集する外部情報編集処理を行う(S32)。盤用外部情報には、図柄が確定したか、大当りであるか、確率変動中であるか又は変動時間短縮(時短)であるか等、特図変動表示ゲームの進行状態に関連する情報が含まれる。
その後、一時退避していたレジスタの復帰処理及び禁止設定されていた割り込みの許可設定をする処理を行い(S33)、タイマ割込処理を終了し、メイン処理に戻る。そして、次のタイマ割り込みが発生するまで攪拌用乱数更新処理(S22)を繰り返す。
図9は、本発明の実施の形態のスイッチ監視処理の詳細を示すフローチャートであり、遊技制御装置100のCPU80で実行される。
まず、特図始動記憶数が上限値の4に達していないかを判定する(S41)。なお、特図始動記憶数の上限値は4に限られない。
判定の結果、特図始動記憶数が上限値に達していれば、スイッチ監視処理を終了し、タイマ割込処理へ復帰する。一方、特図始動記憶数が上限値に達していなければ、特図始動スイッチ52の出力によって、始動口16へ遊技球が入賞したか否かを判定する(S42)。
判定の結果、特図始動スイッチ52の出力が検出されなければ、スイッチ監視処理を終了し、タイマ割込処理へ復帰する。一方、特図始動スイッチ52の出力が検出されれば、乱数値を取得するためにステップS43に進む。なお、前述したように、特図始動スイッチ52の出力が検出されれば、16ビットカウンタ120のカウント値が乱数確定レジスタ140に記憶される。
次に、乱数値読出指令信号(乱数上位RD及び乱数下位RD)を出力することによって、乱数確定レジスタ140にラッチされている乱数値の下位8ビット(RL)の値を、バッファ162を介して下位フリップフロップ142から取得する(S43)。
次に、乱数値読出指令信号を出力することによって、乱数確定レジスタ140にラッチされている乱数値の上位8ビット(RH)の値を、バッファ161を介して上位フリップフロップ141から取得する(S44)。
そして、取得した上位ビットの乱数値に所定の乗算をし(本実施の形態では256を乗じる)、取得した下位ビットの乱数値に加算する。そして、算出された値を乱数値としてメモリ(特図始動記憶領域)に格納する(S45)。
その後、特図始動記憶数に1を加算する(S46)。
図10は、本発明の実施の形態の特別図柄ゲーム処理の詳細を示すフローチャートであり、遊技制御装置100のCPU80で実行される。
遊技機1で遊技が開始されると、実行中の遊技状態に基づいて、遊技制御装置100のRAM82、93、96に、特図変動表示ゲーム処理の内容を決定する処理番号0〜3のいずれかが記憶される。
処理番号0は「変動待ち」の状態であり、特図変動表示ゲーム中及び特別遊技中のいずれでもないときに設定される。処理番号1は「変動中」の状態であり、特図変動表示ゲームが開始し、特別図柄の変動表示が停止するまでに設定される。処理番号2は「大当り判定待ち」の状態であり、特別図柄の変動表示の停止後に設定される。処理番号3は「大当り動作中」の状態であり、特別遊技の実行中に設定される。なお、処理番号の初期値は「0」である。
特図変動表示ゲーム処理では、まず、遊技制御装置100のRAM82、93、96に記憶されている処理番号を特定する(S51)。そして、記憶されている処理番号に従って、以下の処理を実行する。
処理番号が0以下の場合(すなわち0である場合)、特図変動表示ゲーム中及び特別遊技中のいずれでもないので、特別図柄入賞記憶数が0以上であるか否かを判定する(S52)。特別図柄入賞記憶数が0の場合、つまり、始動口16への遊技球の入賞に基づいて保留されている特図変動表示ゲームがない場合は、特別図柄ゲーム処理を終了し、タイマ割込処理へ復帰する。
一方、特別図柄入賞記憶数が0より大きい場合は、始動口16への遊技球の入賞によって記憶された特図変動表示ゲームの実行が保留されているので、特図始動記憶領域に格納されている乱数値を判定する(S53)。この乱数値の判定は、特図始動記憶領域から読み出した乱数値が所定の数値範囲に属するか否かで判定する。
具体的には、本実施の形態では乱数値が16ビットで構成されているので、0から65535までの値をとる。そこで、500から699の値を当りと設定する。これによって、大当り確率が約1/328となる。
このとき、乱数値が500以上であり、かつ、699以下であるかを判定する。そして乱数値が500以上で、かつ、699以下である場合に大当りと判定する。
従来の大当り判定では、特図始動記憶領域から読み出した乱数値が当り値と等しいか否かを全ての当り値について判定していたので、大当り判定処理に時間を要していた。しかし、本実施の形態のように数値範囲で大当りを判定すれば、大当り値の上限及び下限との大小を判定するだけで、特図始動記憶領域から読み出した乱数値が当りか否かを判定することができ、大当り判定処理の負担を軽減することができる。
また、大当り確率を変化させることによって確率変動当り値の数が変わっても、当り値の上限値及び/又は下限値が変化するだけなので、大当り判定処理の負担は一定である。
その後、遊技制御装置100は、特図変動表示ゲームを開始する処理を行う(S54)。
具体的には、まず既に記憶されている特図始動記憶数から1を減ずる。
次に、乱数を用いた抽選によって特別図柄の停止図柄を決定する。なお、この停止図柄は、大当りの判定結果(S53)と整合するように決定される。
次に、処理タイマに時間T1を設定する。タイマに設定される時間T1は、特図変動表示ゲームが開始してから特別図柄が停止するまでの時間である。
次に、処理番号を1に設定する。これによって、次回の特図変動表示ゲーム処理実行時には「変動中」の処理に分岐される。
次に、表示制御装置150に、特図変動開始コマンドを出力して、画像表示装置8において識別情報の変動表示を開始する。
処理番号が1の場合、特図変動表示ゲームが開始しているので、ステップS54で処理タイマに設定された時間T1が経過したか否かを判定する(S55)。
設定された時間T1が経過しておらず、処理タイマがタイムアップしていない場合は、特別図柄の変動表示時間が終了していないので、特別図柄の変動表示を継続しつつ、特別図柄ゲーム処理を終了し、タイマ割込処理へ復帰する。
一方、設定された時間T1が経過しており、処理タイマがタイムアップしている場合は、特別図柄の変動表示時間が終了しているので、処理タイマに時間T2を設定する。タイマに設定される時間T2の間は、特別図柄の変動表示が停止してから、特別遊技又は次の特図変動表示ゲームに移行するまでの時間であり、確定した特別図柄(大当り図柄又は外れ図柄)を遊技者に認識させるために必要な時間である。次に、処理番号を2に設定する(S56)。これによって、次回の特図変動表示ゲーム処理実行時には「大当り判定待ち」の処理に分岐される。
処理番号が2の場合、特別図柄の変動表示は終了しているので、ステップS56で処理タイマに設定された時間T2がタイムアップしたか否かを判定する(S57)。
設定された時間T2が経過しておらず、処理タイマT2がタイムアップしていない場合は、特別図柄ゲーム処理を終了し、タイマ割込処理へ復帰する。
一方、設定された時間T2が経過しており、処理タイマT2がタイムアップした場合は、ステップS53における乱数値の判定結果に基づいて特図変動表示ゲームの結果が大当りか否かを判定する(S58)。乱数値が大当り値ではなかった場合(つまり、外れ値であった場合)は、処理番号を0に設定する(S59)。これによって、次回の特図変動表示ゲーム処理実行時には「変動待ち」の処理に分岐される。
乱数値が大当り値であった場合は、処理タイマに時間T3を設定する。タイマに設定される時間T3の間は、画像表示装置8にファンファーレ表示がなされる。次に、処理番号を3に設定する(S60)。これによって、次回の特図変動表示ゲーム処理実行時には「大当り動作中」の処理に分岐される。
処理番号が3の場合、遊技制御装置100は、特別遊技処理を実行する(S61)。具体的には、まず特別遊技処理では、ステップS60で処理タイマに設定された時間T2がタイムアップしたか否かによって、ファンファーレ表示が終了したか否かを判定する。処理タイマT3がタイムアップし、ファンファーレ表示が終了していれば、ステップS54において決定された停止図柄を表示する。
図11は、本発明の実施の形態の乱数監視処理のタイミングチャートである。
遊技制御のメイン処理の実行中にタイマ割り込みが発生すると、タイマ割り込みを許可する許可フラグがオンに設定される(t1)。そして、許可フラグがオフに戻ると同時に、ステップS22で乱数の監視が停止される。
次に、ステップS23の入力処理によって、遊技用マイクロコンピュータ113から入力取込RDが出力されて、特図始動スイッチ52やその他のスイッチからの入力情報が取り込まれる。取り込まれた各スイッチの入力情報(IN)は、データバス65に入力される。
なお、図11において、データバス65を示す横軸上に表された六角形状の記号は、対応する情報がデータバス65上にあることを示す。
次に、ドライブ回路75への出力情報(OT1)がデータバス65上に出力されると、ステップS24の出力処理で第1出力WRがフリップフロップ76に出力される。そして、OT1は、フリップフロップ76からドライブ回路75を介して各種装置に出力され、対応する装置が動作を開始する。
また、ドライブ回路77への出力情報(OT2)がデータバス65上に出力されると、ステップS24の出力処理で第2出力WRがフリップフロップ78に出力される。そして、OT2は、フリップフロップ78からドライブ回路77を介して各種装置に出力され、対応する装置が動作を開始する。
特図始動スイッチ52からの検出信号が入力されると、つまり、始動口16へ遊技球が入賞すると、乱数確定レジスタ140に16ビットカウンタ120の乱数値(RH及びRL)が一時的に記憶される。そして、ステップS28のスイッチ監視処理で、乱数上位RDがオンに設定され、乱数確定レジスタ140に記憶されたRHがデータバス65に取り込まれる。続いて、乱数下位RDがオンに設定され、乱数確定レジスタ140に記憶されたRLがデータバス65に取り込まれる。
なお、特図始動スイッチ52からの入力信号がなかった場合、つまり、始動口16への遊技球の入賞がない場合は、データバス65へ乱数値(RH及びRL)は取り込まれない。
そして、ステップS29で乱数の監視が再開されると(t2)、乱数取込タイミング回路87から出力される乱数取込信号がオンに設定され、続いて乱数上位RDがオンに設定される。この乱数取込信号の入力のタイミングに、乱数確定レジスタ140にRH及びRLが記憶される。その後、乱数上位RDを受けて、乱数確定レジスタ140に記憶されているRHがデータバス65に入力される。また、乱数上位RDに続いて乱数下位RDがオンに設定され、この乱数下位RDを受けて、乱数確定レジスタ140に記憶されているRLがデータバス65に入力される。
以上のようにRH及びRLがデータバス65に取り込まれると、乱数取込信号はオフの状態に戻る(t4)。取り込まれたRH及びRLは遊技用マイクロコンピュータ113の乱数監視回路88に入力されて、正当性の判定に用いられる。
乱数取込信号がオフの状態に戻ってから所定時間が経過すると、再度乱数取込信号がオンに設定される。そして、t3〜t4と同様の処理が実行されて、次に生成された乱数値のRH及びRLがデータバス65に取り込まれる。
このようにして、次のタイマ割込処理が実行(t5)されるまで、乱数値の取り込みが繰り返して実行され、16ビットカウンタ120で生成された乱数値のRH及びRLが順次データバス65を介して乱数監視回路88に入力される。そして、次のタイマ割込処理が実行されると(t5)、ステップS22で再び乱数の監視が停止される。
乱数監視回路88は、入力されたRH及びRLを照合して、全ての値(0〜65535)が出力されているか否かの正当性の判定を行う。この場合、一定時間が経過しても全ての値が乱数監視回路88に入力されない場合は、CPUコア80は、いずれかの信号線において断線が発生していると判断して、遊技制御装置100に接続された各種装置や従属制御装置との信号の入出力を不能化させる。
このように、タイマ割込処理においてデータの入出力処理(S23〜S28)が実行されていない間に乱数監視処理を実行することによって、遊技制御処理中でも乱数を監視できるので、例えば、電源投入時だけに乱数の監視をする構成よりも、より安全性が高い。
なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。