以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。図1は、本実施の形態におけるパチンコ遊技機の正面図であり、主要部材の配置レイアウトを示す。パチンコ遊技機(遊技機)1は、大別して、遊技盤面を構成する遊技盤(ゲージ盤)2と、遊技盤2を支持固定する遊技機用枠(台枠)3とから構成されている。遊技盤2には、ガイドレールによって囲まれた、ほぼ円形状の遊技領域が形成されている。この遊技領域には、遊技媒体としての遊技球が、図2に示す発射モータ61を含む打球発射装置により発射されて打ち込まれる。
遊技盤2の所定位置(図1に示す例では、遊技領域の右側方)には、第1特別図柄表示装置4Aと、第2特別図柄表示装置4Bとが設けられている。第1特別図柄表示装置4Aと第2特別図柄表示装置4Bはそれぞれ、例えば7セグメントやドットマトリクスのLED(発光ダイオード)等から構成され、可変表示ゲームの一例となる特図ゲームにおいて、各々が識別可能な複数種類の識別情報(特別識別情報)である特別図柄(「特図」ともいう)を、変動可能に表示(可変表示)する。例えば、第1特別図柄表示装置4Aと第2特別図柄表示装置4Bはそれぞれ、「0」〜「9」を示す数字や「−」を示す記号等から構成される複数種類の特別図柄を可変表示する。なお、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにて表示される特別図柄は、「0」〜「9」を示す数字や「−」を示す記号等から構成されるものに限定されず、例えば7セグメントのLEDにおいて点灯させるものと消灯させるものとの組合せを異ならせた複数種類の点灯パターンが、複数種類の特別図柄として予め設定されていればよい。複数種類の特別図柄には、それぞれに対応した図柄番号が付されている。一例として、「0」〜「9」を示す数字それぞれには、「0」〜「9」の図柄番号が付され、「−」を示す記号には、「10」の図柄番号が付されていればよい。以下では、第1特別図柄表示装置4Aにより可変表示される特別図柄を「第1特図」ともいい、第2特別図柄表示装置4Bにより可変表示される特別図柄を「第2特図」ともいう。
第1特別図柄表示装置4Aと第2特別図柄表示装置4Bの上方には、第1保留表示器25Aと、第2保留表示器25Bとが設けられている。第1保留表示器25Aと第2保留表示器25Bはそれぞれ、特図ゲームにおける可変表示の保留記憶数(特図保留記憶数)を特定可能に表示(特図保留記憶表示)する。一例として、第1保留表示器25Aは、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームにおける可変表示の保留記憶数(第1特図保留記憶数)を特定可能に表示する。第2保留表示器25Bは、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームにおける可変表示の保留記憶数(第2特図保留記憶数)を特定可能に表示する。特図ゲームにおける可変表示の保留記憶は、普通入賞球装置6Aが形成する第1始動入賞口や普通可変入賞球装置6Bが形成する第2始動入賞口を遊技球が通過(進入)して始動入賞したときに発生する。すなわち、特図ゲームや飾り図柄の可変表示といった可変表示ゲームを実行するための始動条件(「実行条件」ともいう)は成立したが、先に成立した開始条件に基づく可変表示ゲームが実行中であることや、パチンコ遊技機1における遊技状態が大当り遊技状態あるいは小当り遊技状態に制御されていることなどにより、可変表示ゲームを開始するための開始条件が成立していないときに、成立した始動条件に対応する可変表示の保留記憶が行われる。第1保留表示器25Aと第2保留表示器25Bはそれぞれ、例えば第1特図保留記憶数と第2特図保留記憶数のそれぞれにおける上限値(例えば「4」)に対応した個数(例えば4個)のLEDを含んで構成されていればよい。
遊技盤2の所定位置(図1に示す例では、遊技領域の左側方)には、普通図柄表示器20が設けられている。一例として、普通図柄表示器20は、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bと同様に7セグメントやドットマトリクスのLED等から構成され、特別図柄とは異なる複数種類の識別情報である普通図柄(「普図」あるいは「普通図」ともいう)を変動可能に表示(可変表示)する。このような普通図柄の可変表示は、普図ゲーム(「普通図ゲーム」ともいう)と称される。普通図柄表示器20は、例えば「0」〜「9」を示す数字や「−」を示す記号等から構成される複数種類の普通図柄を可変表示する。複数種類の普通図柄には、それぞれに対応した図柄番号が付されている。一例として、「0」〜「9」を示す数字それぞれには、「0」〜「9」の図柄番号が付され、「−」を示す記号には、「10」の図柄番号が付されていればよい。なお、普通図柄表示器20は、「0」〜「9」を示す数字や「−」を示す記号等を普通図柄として可変表示するものに限定されず、例えば「○」と「×」とを示す装飾ランプ(又はLED)を交互に点灯させることや、「左」、「中」、「右」といった複数の装飾ランプ(又はLED)を所定順序で点灯させることにより、普通図柄を可変表示するものであってもよい。
普通図柄表示器20の上方には、普図保留表示器25Cが設けられている。普図保留表示器25Cは、普図ゲームにおける可変表示の保留記憶数(普図保留記憶数)を特定可能に表示(普図保留記憶表示)する。ここで、普図ゲームにおける可変表示の保留記憶は、遊技領域に設けられた通過ゲート41を遊技球が通過したときに発生する。すなわち、普図ゲームの可変表示を実行するための条件は成立したが、普図ゲームを開始するための条件が成立していないときに、普図ゲームの保留記憶が行われる。普図保留表示器25Cは、例えば普図保留記憶数の上限値(例えば「4」)に対応した個数(例えば4個)のLEDを含んで構成されていればよい。
遊技盤2における遊技領域の中央付近には、画像表示装置5が設けられている。画像表示装置5は、例えば液晶表示装置(LCD:Liquid Crystal Display)等から構成され、各種の演出画像を表示する表示領域を形成している。画像表示装置5の表示領域では、特図ゲームにおける第1特別図柄表示装置4Aによる第1特図の可変表示や第2特別図柄表示装置4Bによる第2特図の可変表示のそれぞれに対応して、例えば3つといった複数に分割された可変表示部となる飾り図柄表示部にて、各々が識別可能な複数種類の識別情報(装飾識別情報)である飾り図柄を可変表示する。
一例として、画像表示装置5の表示領域には、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rが配置されている。そして、特図ゲームにおいて、第1特別図柄表示装置4Aによる第1特図の可変表示と、第2特別図柄表示装置4Bによる第2特図の可変表示とのうち、いずれかの可変表示が開始されることに対応して、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部において飾り図柄の可変表示(例えば上下方向あるいは左右方向のスクロール表示など)が開始される。その後、特図ゲームにおける可変表示結果として確定特別図柄が停止表示(完全停止表示)されるときに、画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて、飾り図柄の可変表示結果となる確定飾り図柄(最終停止図柄)が停止表示(完全停止表示)される。なお、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rは、画像表示装置5の表示領域内で移動可能とされ、飾り図柄を縮小あるいは拡大して表示することができるようにしてもよい。特別図柄や飾り図柄が完全停止表示されたときには、各図柄の可変表示における表示結果が確定的に表示され、それ以後は今回の可変表示が進行しないことを遊技者が認識できる表示状態となる。これに対して、飾り図柄の可変表示を開始してから可変表示結果となる確定飾り図柄が完全停止表示されるまでの可変表示中には、飾り図柄の変動速度が「0」となって、飾り図柄が停留して表示され、例えば微少な揺れや伸縮などを生じさせる表示状態となることがある。このような表示状態は、仮停止表示ともいい、可変表示における表示結果が確定的に表示されていないものの、スクロール表示や更新表示による飾り図柄の変動が進行していないことを遊技者が認識可能となる。なお、仮停止表示には、微少な揺れや伸縮なども生じさせず、所定時間(例えば1秒間)よりも短い時間だけ、飾り図柄を完全停止表示することなどが含まれてもよい。完全停止表示や仮停止表示のように、特別図柄や飾り図柄の変動が進行していないことを遊技者が認識できる程度に表示図柄を停止表示することは、導出表示ともいう。
「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて可変表示される飾り図柄には、例えば8種類の図柄(英数字「1」〜「8」あるいは漢数字「一」〜「八」、英文字「A」〜「H」、所定のモチーフに関連する8個のキャラクタを示す演出画像、数字や文字あるいは記号とキャラクタとを組み合わせた演出画像など。なお、キャラクタを示す演出画像は、例えば人物や動物、これら以外の物体、もしくは、文字などの記号、あるいは、その他の任意の図形を示す画像であればよい。)が含まれていればよい。また、こうした8種類の飾り図柄の他に、ブランク図柄(大当り組合せを構成しない図柄)が含まれていてもよい。飾り図柄のそれぞれには、対応する図柄番号が付されている。例えば、「1」〜「8」を示す英数字それぞれに対して、「1」〜「8」の図柄番号が付されている。なお、可変表示される飾り図柄の種類数は、8種類のものに限定されず、任意の複数種類からなる飾り図柄であればよい。
飾り図柄の変動中には、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにおいて、例えば図柄番号が小さいものから大きいものへと順次に、上方から下方へ、あるいは、右側から左側へと、流れるようなスクロール表示が行われる。そして、図柄番号が最大(例えば「8」)である飾り図柄が表示されると、続いて図柄番号が最小(例えば「1」)である飾り図柄が表示される。あるいは、飾り図柄表示部5L、5C、5Rのうち少なくともいずれか1つ(例えば「左」の飾り図柄表示部5Lなど)において、図柄番号が大きいものから小さいものへとスクロール表示を行って、図柄番号が最小である飾り図柄が表示されると、続いて図柄番号が最大である飾り図柄が表示されるようにしてもよい。
画像表示装置5の表示領域には、始動入賞記憶表示部5Hも配置されている。始動入賞記憶表示部5Hでは、特図ゲームにおける可変表示の保留記憶数(特図保留記憶数)を特定可能に表示する。一例として、始動入賞記憶表示部5Hには、始動入賞の発生に基づき先に始動条件が成立した可変表示ゲームから順に左から右へと、表示色が変更される複数の表示部位が設けられている。そして、第1始動入賞口に遊技球が進入したことに基づき第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームの始動条件(第1始動条件)が成立したときには、通常非表示(透過色)となっている表示部位のうちの1つ(例えば非表示となっている表示部位のうち左端の表示部位)を青色表示に変化させる。また、第2始動入賞口に遊技球が進入したことに基づき第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームの始動条件(第2始動条件)が成立したときには、通常非表示となっている表示部位のうちの1つを赤色表示に変化させる。その後、第1特図を用いた特図ゲームの開始条件(第1開始条件)と第2特図を用いた特図ゲームの開始条件(第2開始条件)のいずれかが成立したときには、例えば左端の表示部位における表示を除去するとともに、各表示部位における表示を1つずつ左方向に移動させる。このとき、青色表示や赤色表示に変化していた表示部位のうちの1つ(例えば表示色が変化していた表示部位のうち右端の表示部位)は、非表示に戻る。ここで、保留記憶表示を行う際に、可変表示ゲームの始動条件が成立したことに基づく特図保留記憶数は特定できたものの、その始動条件が第1始動条件であるか第2始動条件であるかを特定できない場合に、例えば特図保留記憶数に対応する個数の表示部位を灰色表示に変化させることなどにより、特図保留記憶数の表示態様を所定の表示態様に変更してもよい。
なお、始動入賞記憶表示部5Hでは、特図保留記憶数を示す数字を表示することなどにより、特図保留記憶数を遊技者等が認識できるようにしてもよい。図1に示す例では、始動入賞記憶表示部5Hとともに、第1特別図柄表示装置4A及び第2特別図柄表示装置4Bの上部に、第1保留表示器25Aと第2保留表示器25Bとが設けられている。これに対して、始動入賞記憶表示部5Hと、第1保留表示器25A及び第2保留表示器25Bとのうち、いずれか一方のみを設けるようにしてもよい。
画像表示装置5の表示領域には、飾り図柄とは異なる識別情報としての色図柄を可変表示する色図柄表示部が設けられていてもよい。一例として、色図柄表示部には、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームが開始されるときに、色図柄の変動(例えば表示色の更新表示)が開始される「左」の色図柄表示部と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームが開始されるときに、色図柄の変動が開始される「右」の色図柄表示部とが含まれていればよい。そして、特図ゲームにおいて可変表示結果となる確定特別図柄が完全停止表示されるときには、色図柄の変動が終了して、色図柄の可変表示結果となる確定色図柄が完全停止表示される。「左」及び「右」の色図柄表示部にて可変表示される色図柄には、例えば5種類の図柄(「黄色」、「緑色」、「赤色」、「青色」、「紫色」など)といった、複数種類の色図柄が含まれていればよい。色図柄のそれぞれには、対応する図柄番号が付されている。一例として、「黄色」、「緑色」、「赤色」、「青色」、「紫色」の色図柄それぞれに対して、「1」〜「5」の図柄番号が付されていればよい。そして、例えば特別図柄の可変表示結果(特図表示結果)が「ハズレ」である場合には色図柄の可変表示結果として「黄色」の確定色図柄が停止表示され、特図表示結果が「大当り」で大当り種別が「非確変」である場合には色図柄の可変表示結果として「緑色」の確定色図柄が停止表示され、特図表示結果が「大当り」で大当り種別が「確変」である場合には色図柄の可変表示結果として「赤色」の確定色図柄が停止表示され、特図表示結果が「大当り」で大当り種別が「突確」である場合には色図柄の可変表示結果として「青色」の確定色図柄が停止表示され、特図表示結果が「小当り」である場合には色図柄の可変表示結果として「紫色」の確定色図柄が停止表示されればよい。
画像表示装置5の下方には、普通入賞球装置6Aと、普通可変入賞球装置6Bとが設けられている。普通入賞球装置6Aは、例えば所定の玉受部材によって常に一定の開放状態に保たれる第1始動入賞口を形成する。普通可変入賞球装置6Bは、図2に示す普通電動役物用のソレノイド81によって垂直位置となる通常開放状態と傾動位置となる拡大開放状態とに変化する一対の可動翼片を有する電動チューリップ型役物(普通電動役物)を備え、第2始動入賞口を形成する。一例として、普通可変入賞球装置6Bでは、普通電動役物用のソレノイド81がオフ状態であるときに可動翼片が垂直位置となることにより、遊技球が第2始動入賞口に進入しにくい通常開放状態となる。その一方で、普通可変入賞球装置6Bでは、普通電動役物用のソレノイド81がオン状態であるときに可動翼片が傾動位置となることにより、遊技球が第2始動入賞口に進入しやすい拡大開放状態となる。なお、普通可変入賞球装置6Bは、通常開放状態であるときでも、第2始動入賞口には遊技球が進入可能であるものの、拡大開放状態であるときよりも遊技球が進入する可能性が低くなるように構成してもよい。あるいは、普通可変入賞球装置6Bは、通常開放状態において、例えば第2始動入賞口を閉鎖することなどにより、第2始動入賞口には遊技球が進入しないように構成してもよい。
普通入賞球装置6Aに形成された第1始動入賞口に進入した遊技球は、例えば図2に示す第1始動口スイッチ22Aによって検出される。普通可変入賞球装置6Bに形成された第2始動入賞口に進入した遊技球は、例えば図2に示す第2始動口スイッチ22Bによって検出される。第1始動口スイッチ22Aによって遊技球が検出されたことに基づき、所定個数(例えば3個)の遊技球が賞球として払い出され、第1保留記憶数が所定の上限値(例えば「4」)以下であれば、第1始動条件が成立する。第2始動口スイッチ22Bによって遊技球が検出されたことに基づき、所定個数(例えば3個)の遊技球が賞球として払い出され、第2保留記憶数が所定の上限値以下であれば、第2始動条件が成立する。なお、第1始動口スイッチ22Aによって遊技球が検出されたことに基づいて払い出される賞球の個数と、第2始動口スイッチ22Bによって遊技球が検出されたことに基づいて払い出される賞球の個数は、互いに同一の個数であってもよいし、異なる個数であってもよい。
普通入賞球装置6Aと普通可変入賞球装置6Bの下方には、特別可変入賞球装置7が設けられている。特別可変入賞球装置7は、図2に示す大入賞口扉用のソレノイド82によって開閉駆動される大入賞口扉を備え、その大入賞口扉によって開放状態(第1状態)と閉鎖状態(第2状態)とに変化する大入賞口を形成する。一例として、特別可変入賞球装置7では、大入賞口扉用のソレノイド82がオフ状態であるときに大入賞口扉が大入賞口を閉鎖状態にする。その一方で、特別可変入賞球装置7では、大入賞口扉用のソレノイド82がオン状態であるときに大入賞口扉が大入賞口を開放状態にする。特別可変入賞球装置7に形成された大入賞口に進入した遊技球は、例えば図2に示すカウントスイッチ23によって検出される。カウントスイッチ23によって遊技球が検出されたことに基づき、所定個数(例えば13個)の遊技球が賞球として払い出される。
遊技盤2の表面には、上記の構成以外にも、遊技球の流下方向や速度を変化させる風車及び多数の障害釘が設けられている。また、第1始動入賞口、第2始動入賞口及び大入賞口とは異なる入賞口として、例えば所定の玉受部材によって常に一定の開放状態に保たれる一般入賞口が1つ又は複数設けられてもよい。この場合には、一般入賞口のいずれかに進入した遊技球が所定の一般入賞球スイッチによって検出されたことに基づき、所定個数(例えば10個)の遊技球が賞球として払い出されればよい。遊技領域の最下方には、いずれの入賞口にも進入しなかった遊技球が取り込まれるアウト口が設けられている。遊技機用枠3の左右上部位置には、効果音等を再生出力するためのスピーカ8L、8Rが設けられており、さらに遊技領域周辺部には、遊技効果ランプ9が設けられている。パチンコ遊技機1の遊技領域における各構造物(例えば普通入賞球装置6A、普通可変入賞球装置6B、特別可変入賞球装置7等)の周囲には、装飾用LEDが配置されていてもよい。
遊技機用枠3の右下部位置には、遊技媒体としての遊技球を遊技領域に向けて発射するために遊技者等によって操作される打球操作ハンドルとなる操作ノブ30が設けられている。例えば、遊技者等による操作量(回転量)に応じて遊技球の弾発力を調整する。打球操作ハンドルには、打球発射装置が備える発射モータの駆動を停止させるための単発発射スイッチや、タッチリング(タッチセンサ)が設けられていればよい。遊技領域の下方における遊技機用枠3の所定位置には、賞球として払い出された遊技球や所定の球貸機により貸し出された遊技球を、打球発射装置へと供給可能に保持(貯留)する打球供給皿(上皿)が設けられている。例えば打球供給皿の上面における手前側の中央位置といった、パチンコ遊技機1の遊技機用枠3における所定位置には、押下操作などにより遊技者が操作可能な操作ボタンが設置されていてもよい。また、打球供給皿の下方には、打球供給皿に収容不能となった遊技球を保持(貯留)する余剰球受皿(下皿)が設けられている。
さらに、パチンコ遊技機1に隣接する所定位置には、プリペイドカード等を用いた球貸しを可能にするための処理が実行されるプリペイドカードユニット(カードユニット)が設置されてもよい。カードユニットは、プリペイドカードを取り込んで球貸しの処理を実行するだけでなく、会員カードや現金を取り込んで球貸しの処理を実行するものであってもよい。
普通図柄表示器20による普図ゲームは、遊技領域に設けられた通過ゲート41を通過した遊技球が図2に示すゲートスイッチ21によって検出されたことといった、普通図柄表示器20にて普通図柄の可変表示を実行するための普図始動条件が成立した後に、例えば前回の普図ゲームが終了したことといった、普通図柄の可変表示を開始するための普図開始条件が成立したことに基づいて、開始される。この普図ゲームでは、普通図柄の変動を開始させた後、所定の可変表示時間(普図変動時間)が経過すると、普通図柄の可変表示結果となる確定普通図柄を完全停止表示する。普通図柄の可変表示時間は、例えば各普図ゲームの開始時に、所定の乱数値を示す数値データを抽出することなどにより、複数種類の可変表示時間のうちで、いずれかに決定されればよい。普図ゲームにおける普通図柄の可変表示結果となる確定普通図柄として、例えば「7」を示す数字あるいは「○」を示す記号といった、特定の普通図柄(普図当り図柄)が停止表示されれば、普通図柄の可変表示結果が「普図当り」となる。その一方、確定普通図柄として、例えば「7」を示す数字以外の数字あるいは「×」を示す記号といった、普図当り図柄以外の普通図柄が停止表示されれば、普通図柄の可変表示結果が「普図ハズレ」となる。普通図柄の可変表示結果が「普図当り」となったことに対応して、普通可変入賞球装置6Bを構成する電動チューリップの可動翼片が傾動位置となる拡大開放制御が行われ、所定時間が経過すると垂直位置に戻る通常開放制御が行われる。
第1特別図柄表示装置4Aによる特図ゲームは、普通入賞球装置6Aに形成された第1始動入賞口に進入した遊技球が図2に示す第1始動口スイッチ22Aによって検出されたことなどにより第1始動条件が成立した後に第1開始条件が成立したことに基づいて、開始される。第1開始条件は、例えば前回の特図ゲームや大当り遊技状態あるいは小当り遊技状態が終了したときなどに、第1特図を用いた今回の特図ゲームが開始可能となることにより成立する。第2特別図柄表示装置4Bによる特図ゲームは、普通可変入賞球装置6Bに形成された第2始動入賞口に進入した遊技球が図2に示す第2始動口スイッチ22Bによって検出されたことなどにより第2始動条件が成立した後に第2開始条件が成立したことに基づいて、開始される。第2開始条件は、例えば前回の特図ゲームや大当り遊技状態あるいは小当り遊技状態が終了したときなどに、第2特図を用いた今回の特図ゲームが開始可能となることにより成立する。
第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特図ゲームでは、特別図柄の可変表示を開始させた後、所定の可変表示時間(特図変動時間)が経過すると、特別図柄の可変表示結果となる確定特別図柄を完全停止表示する。特別図柄の可変表示時間は、各特図ゲームの開始時に、例えば図14に示すような変動パターン種別決定用の乱数値MR4を示す数値データや、変動パターン決定用の乱数値MR5を示す数値データなどに基づいて決定された変動パターンに対応して、複数種類の可変表示時間のうちで、いずれかに決定される。特図ゲームにおける特別図柄の可変表示結果は、特図表示結果ともいう。特図ゲームにおける特別図柄の可変表示結果となる確定特別図柄として、特定の特別図柄(大当り図柄)が停止表示されれば、特定表示結果としての「大当り」となり、大当り図柄とは異なる所定の特別図柄(小当り図柄)が停止表示されれば、所定表示結果としての「小当り」となり、大当り図柄や小当り図柄以外の特別図柄(ハズレ図柄)が停止表示されれば、非特定表示結果としての「ハズレ」となる。特図ゲームでの可変表示結果が「大当り」になった後には、特定遊技状態としての大当り遊技状態に制御される。また、特図ゲームでの可変表示結果が「小当り」になった後には、大当り遊技状態とは異なる小当り遊技状態に制御される。この実施の形態におけるパチンコ遊技機1では、一例として、「1」、「3」、「7」を示す数字を大当り図柄とし、「5」を示す数字を小当り図柄とし、「−」を示す記号をハズレ図柄としている。なお、第1特別図柄表示装置4Aによる特図ゲームにおける大当り図柄や小当り図柄、ハズレ図柄といった各図柄は、第2特別図柄表示装置4Bによる特図ゲームにおける各図柄とは異なる特別図柄となるようにしてもよいし、双方の特図ゲームにおいて共通の特別図柄が大当り図柄や小当り図柄、ハズレ図柄となるようにしてもよい。
この実施の形態では、大当り図柄となる「1」、「3」、「7」の数字を示す特別図柄のうち、「3」、「7」の数字を示す特別図柄を15ラウンド大当り図柄とし、「1」の数字を示す特別図柄を2ラウンド大当り図柄とする。特図ゲームにおける確定特別図柄として15ラウンド大当り図柄が停止表示された後に制御される第1特定遊技状態としての大当り遊技状態(15ラウンド大当り状態)では、特別可変入賞球装置7の開閉板が、第1期間となる所定期間(例えば29秒間)あるいは所定個数(例えば9個)の入賞球が発生するまでの期間にて大入賞口を開放状態とすることにより、特別可変入賞球装置7を遊技者にとって有利な第1状態に変化させるラウンドが実行される。こうしてラウンド中に大入賞口を開放状態とした開閉板は、遊技盤2の表面を落下する遊技球を受け止め、その後に大入賞口を閉鎖状態とすることにより、特別可変入賞球装置7を遊技者にとって不利な第2状態に変化させて、1回のラウンドを終了させる。15ラウンド大当り状態では、大入賞口の開放サイクルであるラウンドの実行回数が、第1回数(例えば「15」)となる。ラウンドの実行回数が「15」となる15ラウンド大当り状態における遊技は、15回開放遊技とも称される。
特図ゲームにおける確定特別図柄として2ラウンド大当り図柄が停止表示された後に制御される第2特定遊技状態としての大当り遊技状態(2ラウンド大当り状態)では、各ラウンドで特別可変入賞球装置7を遊技者にとって有利な第1状態に変化させる期間(開閉板により大入賞口を開放状態とする期間)が、15ラウンド大当り状態における第1期間よりも短い第2期間(例えば0.5秒間)となる。また、2ラウンド大当り状態では、ラウンドの実行回数が、15ラウンド大当り状態における第1回数よりも少ない第2回数(例えば「2」)となる。なお、2ラウンド大当り状態では、各ラウンドで大入賞口を開放状態とする期間が第2期間となることと、ラウンドの実行回数が第2回数となることのうち、少なくともいずれか一方が行われるように制御されればよく、それ以外の制御は15ラウンド大当り状態と同様に行われるようにしてもよい。ラウンドの実行回数が「2」となる2ラウンド大当り状態における遊技は、2回開放遊技とも称される。なお、2ラウンド大当り状態では、各ラウンドで特別可変入賞球装置7とは別個に設けられた所定の入賞球装置を、遊技者にとって不利な第2状態から遊技者にとって有利な第1状態に変化させ、所定期間(第1期間又は第2期間)が経過した後に第2状態へと戻すようにしてもよい。
また、15ラウンド大当り図柄となる「3」、「7」の数字を示す特別図柄のうち、「3」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づく15ラウンド大当り状態が終了した後には、特別遊技状態の1つとして、通常状態に比べて特図ゲームにおける特別図柄の変動時間(特図変動時間)が短縮される時短状態に制御される。ここで、通常状態とは、大当り遊技状態等の特定遊技状態や時短状態等の特別遊技状態以外の遊技状態のことであり、パチンコ遊技機1の初期設定状態(例えばシステムリセットが行われた場合のように、電源投入後に初期化処理を実行した状態)と同一の制御が行われる。時短状態は、所定回数(例えば100回)の特図ゲームが実行されることと、可変表示結果が「大当り」となることのうち、いずれかの条件が先に成立したときに、終了すればよい。なお、特図ゲームにおける確定特別図柄として15ラウンド大当り図柄のうち「3」の数字を示す特別図柄が停止表示されたことに基づく15ラウンド大当り状態が終了した後には、時短状態とはならずに通常状態となるようにしてもよい。こうした「3」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に時短状態や通常状態に制御される15ラウンド大当り図柄は、非確変大当り図柄(「通常大当り図柄」ともいう)と称される。特図ゲームにおける確定特別図柄が非確変大当り図柄となる場合における特別図柄や飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「非確変」(「通常」ともいう)の可変表示態様(「大当り種別」ともいう)と称される。
15ラウンド大当り図柄となる「3」、「7」の数字を示す特別図柄のうち、「7」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づく15ラウンド大当り状態が終了した後や、2ラウンド大当り図柄となる「1」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づく2ラウンド大当り状態が終了した後には、時短状態とは異なる特別遊技状態の1つとして、例えば通常状態に比べて特図変動時間が短縮されるとともに、継続して確率変動制御(確変制御)が行われる確変状態(高確率遊技状態)に制御される。この確変状態では、各特図ゲームや飾り図柄の可変表示において、可変表示結果が「大当り」となって更に大当り遊技状態に制御される確率が、通常状態よりも高くなるように向上する。このような確変状態は、特図ゲームの実行回数に関わりなく、次に可変表示結果が「大当り」となるまで継続してもよい。これに対して、確変状態となった後に、所定回数(例えば100回)の特図ゲームが実行されることと、可変表示結果が「大当り」となることのうち、いずれかの条件が先に成立したときに、終了するようにしてもよい。また、確変状態において所定回数の特図ゲームが実行されたり可変表示結果が「大当り」となる以前であっても、特図ゲームが開始されるときに、所定の割合で確変状態が終了することがあるようにしてもよい。
「7」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に確変状態に制御される15ラウンド大当り図柄は、確変大当り図柄と称される。特図ゲームにおける確定特別図柄が確変大当り図柄となる場合における特別図柄や飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「確変」(「確変大当り」ともいう)の可変表示態様(「大当り種別」ともいう)と称される。「1」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に確変状態に制御される2ラウンド大当り図柄は、突確大当り図柄と称される。特図ゲームにおける確定特別図柄が突確大当り図柄となる場合における特別図柄や飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「突確」(「突確大当り」あるいは「突然確変大当り」ともいう)の可変表示態様(「大当り種別」ともいう)と称される。
確変状態や時短状態では、普通図柄表示器20による普図ゲームにおける普通図柄の可変表示時間を通常状態のときよりも短くする制御や、各回の普図ゲームで普通図柄の可変表示結果が「普図当り」となる確率を通常状態のときよりも向上させる制御、可変表示結果が「普図当り」となったことに基づく普通可変入賞球装置6Bにおける可動翼片の傾動時間を通常状態のときよりも長くする制御、その傾動回数を通常状態のときよりも増加させる制御といった、第2始動入賞口に遊技球が進入する可能性を高めて第2始動条件が成立しやすくなることで遊技者にとって有利となる制御が行われる。なお、確変状態や時短状態では、これらの制御のいずれか1つが行われるようにしてもよいし、複数の制御が組み合わせられて行われるようにしてもよい。確変状態と時短状態とでは、行われる制御が異なるようにしてもよいし、行われる制御の組合せ(同一の制御を含んでも含まなくてもよい)が異なるようにしてもよい。
特図ゲームにおける確定特別図柄として小当り図柄が停止表示された後には、大当り遊技状態とは異なる小当り遊技状態に制御される。この小当り遊技状態では、2ラウンド大当り状態と同様に特別可変入賞装置7を遊技者にとって有利な第1状態に変化させる可変入賞動作が行われる。すなわち、小当り遊技状態では、例えば特別可変入賞球装置7が備える開閉板により大入賞口を第2期間にわたり開放状態とする動作が、第2回数に達するまで繰り返し実行される。なお、小当り遊技状態では、2ラウンド大当り状態と同様に、大入賞口を開放状態とする期間が第2期間となることと、大入賞口を開放状態とする動作の実行回数が第2回数となることのうち、少なくともいずれか一方が行われるように制御されればよい。小当り遊技状態が終了した後には、遊技状態の変更が行われず、可変表示結果が「小当り」となる以前の遊技状態に継続して制御されることになる。ただし、可変表示結果が「小当り」となる可変表示ゲームに対応して、時短状態を終了する旨の判定がなされた場合には、小当り遊技状態の終了後に、通常状態へと制御されることになる。可変入賞動作により大入賞口を開放状態とする回数が「2」である小当り遊技状態における遊技は、2ラウンド大当り状態における遊技と同様に、2回開放遊技とも称される。なお、2ラウンド大当り状態における各ラウンドで特別可変入賞球装置7とは別個に設けられた入賞球装置を第1状態に変化させる場合には、小当り遊技状態でも、2ラウンド大当り状態と同様の態様で、その入賞球装置を第1状態に変化させるようにすればよい。
画像表示装置5の表示領域では、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特別図柄の可変表示に対応して、飾り図柄の可変表示が行われる。すなわち、画像表示装置5の表示領域では、第1開始条件と第2開始条件のいずれか一方が成立したことに基づいて、例えば「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部にて飾り図柄の加速表示(全図柄加速表示)を行い、所定速度に達すれば、飾り図柄の定速表示(全図柄定速表示)を行う。こうした全図柄加速表示や全図柄定速表示は、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄を可変表示する全図柄変動に含まれる。こうした全図柄変動の後、例えば「左」→「右」→「中」といった所定順序で飾り図柄の減速表示(各図柄減速表示)を行い、変動速度が「0」となれば、飾り図柄を停留して表示する一方で、例えば微少な揺れや伸縮などを生じさせる仮停止表示を行う。そして、飾り図柄の可変表示を開始してからの経過時間が変動パターンなどに基づいて決定された可変表示時間に達したときには、可変表示結果となる確定飾り図柄を完全停止表示する。なお、確定飾り図柄を停止表示する手順としては、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおいて所定順序で飾り図柄を減速表示するものに限定されず、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにおいて同時に確定飾り図柄となる飾り図柄を減速表示(全図柄減速表示)するものが含まれていてもよい。
全図柄変動が開始された後には、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rのうち全部又は一部の飾り図柄表示部にて、飾り図柄をリーチ表示状態で導出表示することがある。ここで、リーチ表示状態とは、画像表示装置5の表示領域にて導出表示された飾り図柄が大当り組合せの一部を構成しているときに未だ導出表示されていない飾り図柄(「リーチ変動図柄」ともいう)については変動が継続している表示状態、あるいは、全部又は一部の飾り図柄が大当り組合せの全部又は一部を構成しながら同期して変動している表示状態のことである。具体的には、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける一部(例えば「左」及び「右」の飾り図柄表示部5L、5Rなど)では予め定められた大当り組合せを構成する飾り図柄(例えば「7」の英数字を示す飾り図柄)が導出表示されているときに未だ導出表示されていない残りの飾り図柄表示部(例えば「中」の飾り図柄表示部5Cなど)では飾り図柄が変動している表示状態、あるいは、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部又は一部で飾り図柄が大当り組合せの全部又は一部を構成しながら同期して変動している表示状態である。また、リーチ表示状態となったことに対応して、画像表示装置5の表示領域に飾り図柄とは異なるアニメーション画像や実写画像といった演出画像を表示させたり、背景画像の表示態様を変化させたり、飾り図柄の変動態様を変化させたりすることがある。このような演出画像の表示や背景画像の表示態様の変化、飾り図柄の変動態様の変化を、リーチ演出表示(あるいは単にリーチ演出)という。リーチ演出の中には、それが出現すると、通常のリーチ演出(ノーマルリーチ)に比べて大当りが発生しやすい(高い確率で大当りとなる)ように設定されたものがある。このような特別のリーチ演出を、スーパーリーチ演出(あるいは単に「スーパーリーチ」)ともいう。一例として、スーパーリーチとなるリーチ演出には、ノーマルリーチと同様のリーチ演出を所定時間が経過するまで行ってから、例えば背景画像の表示態様や、表示されるキャラクタ、飾り図柄の変動方向といった飾り図柄の変動態様のうち、少なくともいずれか1つがリーチ表示状態となる以前やノーマルリーチのときとは異なるものとなることにより、演出態様が変化(いわゆる「発展」)して、スーパーリーチに特有のリーチ演出における導入部分が開始されるものが含まれていればよい。また、スーパーリーチとなるリーチ演出には、飾り図柄がリーチ表示状態で導出表示されたときに、ノーマルリーチと同様のリーチ演出を行うことなく、スーパーリーチに特有のリーチ演出における導入部分が開始されるものが含まれていてもよい。
また、飾り図柄の可変表示中には、リーチ演出とは異なり、飾り図柄がリーチ状態で導出表示される可能性があることや、可変表示結果が「大当り」となる可能性があることを、飾り図柄の可変表示態様などにより遊技者に報知するための特定演出が実行されることがある。この実施の形態では、「滑り」や「擬似連」といった特定演出が実行可能に設定されている。なお、この実施の形態における特定演出は、対応する演出動作が実行されるか否か応じて特図変動時間が変化するものであればよい。例えば、ある特定演出が実行される場合には、その特定演出が実行されない場合に比べて、特図変動時間が長くなるものであればよい。
「滑り」の特定演出では、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部にて飾り図柄を変動させる全図柄変動を行ってから、2つ以上の飾り図柄表示部(例えば「左」及び「右」の飾り図柄表示部5L、5Rなど)にて飾り図柄を仮停止表示させた後、その仮停止表示した飾り図柄表示部のうち所定数(例えば「1」又は「2」)の飾り図柄表示部(例えば「左」の飾り図柄表示部5Lと「右」の飾り図柄表示部5Rのいずれか一方又は双方)にて飾り図柄を再び変動させた後に停止表示させることで、停止表示する飾り図柄を変更させる演出表示が行われる。なお、特定演出における飾り図柄の仮停止表示では、飾り図柄が停留して表示される一方で、例えば揺れ変動表示を行うことや短時間の停留だけで直ちに飾り図柄を再変動させることなどによって、遊技者に停止表示された飾り図柄が確定しない旨を報知すればよい。あるいは、仮停止表示でも、停止表示された飾り図柄が確定したと遊技者が認識する程度に飾り図柄を停留させてから、飾り図柄を再変動させるようにしてもよい。
「擬似連」の特定演出では、特別図柄や飾り図柄の可変表示を開始するための第1開始条件あるいは第2開始条件が1回成立したことに対応して、全図柄変動が開始されてから、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて順次に又は同時に飾り図柄を仮停止表示させた後、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄を再び変動させる再可変表示動作(再変動)を、所定回(例えば最大3回まで)実行する演出動作である。一例として、「擬似連」の特定演出では、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにて、擬似連チャンス目として予め定められた複数種類の飾り図柄の組合せのいずれかが仮停止表示される。そして、再変動の回数が多くなるに従って、可変表示結果が「大当り」となる割合が高くなるように設定されていればよい。これにより、遊技者は、擬似連チャンスのいずれかが仮停止表示されることで、「擬似連」の特定演出が行われると認識でき、再変動の回数が多くなるに従って、可変表示結果が「大当り」となる期待感が高められる。この実施の形態では、「擬似連」の特定演出において、再変動が1回〜3回行われることにより、第1開始条件あるいは第2開始条件が1回成立したことに基づき、飾り図柄の可変表示があたかも2回〜4回続けて開始されたかのように見せることができる。
「擬似連」の特定演出が実行される飾り図柄の可変表示中には、擬似連続変動の進行に伴って、例えば画像表示装置5の表示領域における所定位置に予め用意されたキャラクタを示す演出画像を表示することや、スピーカ8L、8Rから所定の音声(特別音)を出力させること、遊技効果ランプ9を所定の点灯パターンで点灯させること、遊技領域内あるいは遊技領域外に設けられた演出用役物が備える複数の可動部材を動作させることといった、所定の演出動作が実行されてもよい。一例として、全部の飾り図柄表示部5L、5C、5Rにて飾り図柄を仮停止表示させた後、全部の飾り図柄表示部5L、5C、5Rにて飾り図柄を再可変表示させるときには、キャラクタを示す演出画像の表示、特別音の出力、ランプの点灯、可動部材の動作のうち、いずれか1つ、あるいは、複数の動作を組み合わせた演出動作が行われることにより、擬似連続変動が行われることを認識可能に報知するようにしてもよい。
こうした飾り図柄の可変表示動作を利用した特定演出としては、「擬似連」や「滑り」の他にも、例えば「発展チャンス目」や「発展チャンス目終了」、「チャンス目停止後滑り」といった、各種の演出動作が実行されてもよい。ここで、「発展チャンス目」の特定演出では、飾り図柄の可変表示が開始されてから可変表示結果となる確定飾り図柄が導出表示されるまでに、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部にて、予め定められた特殊組合せに含まれる発展チャンス目を構成する飾り図柄を仮停止表示させた後、飾り図柄の可変表示状態をリーチ状態として所定のリーチ演出が開始される。これにより、発展チャンス目を構成する飾り図柄が仮停止表示されたときには、飾り図柄の可変表示状態がリーチ状態となることや、リーチ状態となった後に可変表示結果が「大当り」となることに対する、遊技者の期待感が高められる。また、「発展チャンス目終了」の特定演出では、飾り図柄の可変表示が開始された後に、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部にて、発展チャンス目として予め定められた組合せの飾り図柄を、確定飾り図柄として導出表示させる演出表示が行われる。「チャンス目停止後滑り」の特定演出では、「擬似連」の可変表示演出と同様に、飾り図柄の可変表示が開始されてから可変表示結果となる確定飾り図柄が導出表示されるまでに、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにおける全部にて複数種類の擬似連チャンス目のいずれかとなるハズレ組合せ(特殊組合せ)の飾り図柄を一旦仮停止表示させた後、「擬似連」の特定演出とは異なり、飾り図柄表示部5L、5C、5Rの一部にて飾り図柄を再び変動させることで、停止表示する飾り図柄を変更させる演出表示が行われる。
さらに、飾り図柄の可変表示中には、リーチ演出や特定演出とは異なり、例えば所定のキャラクタ画像やメッセージ画像を表示することなどといった、飾り図柄の可変表示態様以外の表示態様により、飾り図柄の可変表示状態がリーチ状態となる可能性があることや、可変表示結果が「大当り」となる可能性があることを、遊技者に報知するための予告演出が実行されることがある。例えば、「キャラクタ表示」、「ステップアップ画像」、「背景変更」といった予告演出が実行可能に設定されていればよい。なお、予告演出は、対応する演出動作が実行されるか否かによって特図変動時間に変化が生じないものであればよい。「キャラクタ表示」の予告演出では、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにおける全部にて飾り図柄を変動させてから、2つ以上の飾り図柄表示部(例えば「左」及び「右」の飾り図柄表示部5L、5Rなど)にて飾り図柄を導出表示させる以前に、画像表示装置5の表示領域における所定位置に予め用意されたキャラクタ画像を表示させる演出表示が行われる。「ステップアップ画像」の予告演出では、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにおける全部にて飾り図柄を変動させてから、2つ以上の飾り図柄表示部にて飾り図柄を導出表示させる以前に、画像表示装置5の表示領域にて、予め用意された複数種類の演出画像を所定の順番に従って切り替えて表示させる演出表示が行われることがある。なお、「ステップアップ画像」の予告演出では、予め用意された複数種類の演出画像のうちいずれか1つ(例えば所定の順番において最初に表示される演出画像など)が表示された後、演出画像が切り替えられることなく、予告演出における演出表示を終了させることがあるようにしてもよい。「背景変更」の予告演出では、画像表示装置5の表示領域における背景画像の表示を、複数種類のいずれかに変更させる演出表示が行われる。
特図ゲームにおける確定特別図柄として、ハズレ図柄となる特別図柄が停止表示される場合には、飾り図柄の可変表示が開始されてから、飾り図柄の可変表示状態がリーチ状態とならずに、所定の非リーチ組合せとなる確定飾り図柄や、複数種類の発展チャンス目のいずれかとなる確定飾り図柄が、停止表示されることがある。このような飾り図柄の可変表示態様は、可変表示結果が「ハズレ」となる場合における「非リーチ」(「通常ハズレ」ともいう)の可変表示態様と称される。
特図ゲームにおける確定特別図柄として、ハズレ図柄となる特別図柄が停止表示される場合には、飾り図柄の可変表示が開始されてから、飾り図柄の可変表示状態がリーチ状態となったことに対応して、リーチ演出が実行された後に、所定のリーチハズレ組合せ(単に「リーチ組合せ」ともいう)となる確定飾り図柄が停止表示されることがある。このような飾り図柄の可変表示結果は、可変表示結果が「ハズレ」となる場合における「リーチ」(「リーチハズレ」ともいう)の可変表示態様と称される。
特図ゲームにおける確定特別図柄として、15ラウンド大当り図柄となる特別図柄のうち非確変大当り図柄である「3」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、所定のリーチ演出が実行された後に、所定の非確変大当り組合せ(「通常大当り組合せ」ともいう)となる確定飾り図柄が停止表示される。ここで、非確変大当り組合せとなる確定飾り図柄は、例えば画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて可変表示される図柄番号が「1」〜「8」の飾り図柄のうち、図柄番号が偶数「2」、「4」、「6」、「8」である飾り図柄のいずれか1つが、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて所定の有効ライン上に揃って停止表示されるものであればよい。このように非確変大当り組合せを構成する図柄番号が偶数「2」、「4」、「6」、「8」である飾り図柄は、非確変図柄(「通常図柄」ともいう)と称される。そして、特図ゲームにおける確定特別図柄が非確変大当り図柄となることに対応して、所定のリーチ演出が実行された後に、非確変大当り組合せの確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「非確変」(「通常」ともいう)の可変表示態様(大当り種別ともいう)と称される。こうして「非確変」の可変表示態様により可変表示結果が「大当り」となった後には、15ラウンド大当り遊技状態に制御され、その15ラウンド大当り状態が終了すると、時短状態又は通常状態に制御されることになる。
特図ゲームにおける確定特別図柄として、15ラウンド大当り図柄となる特別図柄のうち確変大当り図柄である「7」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、大当り種別が「非確変」である場合と同様のリーチ演出が実行された後などに、もしくは、大当り種別が「非確変」である場合とは異なるリーチ演出が実行された後などに、所定の確変大当り組合せとなる確定飾り図柄が停止表示されることがある。ここで、確変大当り組合せとなる確定飾り図柄は、例えば画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて可変表示される図柄番号が「1」〜「8」の飾り図柄のうち、図柄番号が奇数「1」、「3」、「5」、「7」である飾り図柄のいずれか1つが、「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて所定の有効ライン上に揃って停止表示されるものであればよい。このように確変大当り組合せを構成する図柄番号が奇数「1」、「3」、「5」、「7」である飾り図柄は、確変図柄と称される。そして、特図ゲームにおける確定特別図柄が確変大当り図柄となることに対応して、リーチ演出が実行された後などに、確変大当り組合せの確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「確変」の可変表示態様(大当り種別ともいう)と称される。
特図ゲームにおける確定特別図柄として確変大当り図柄が停止表示される場合に、飾り図柄の可変表示結果として、非確変大当り組合せとなる確定飾り図柄が停止表示されることがあるようにしてもよい。このように、非確変大当り組合せとなる確定飾り図柄が停止表示される場合でも、特図ゲームにおける確定特別図柄として確変大当り図柄が停止表示されるときは、「確変」の可変表示態様に含まれる。こうして「確変」の可変表示態様により可変表示結果が「大当り」となった後には、15ラウンド大当り状態に制御され、その15ラウンド大当り状態が終了すると、確変状態に制御されることになる。非確変大当り組合せとなる確定飾り図柄や確変大当り組合せとなる確定飾り図柄は、まとめて大当り組合せ(特定の組合せ)の確定飾り図柄ともいう。
確定飾り図柄が非確変大当り組合せや確変大当り組合せとなる飾り図柄の可変表示中には、再抽選演出が実行されてもよい。再抽選演出では、画像表示装置5における「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rに非確変大当り組合せとなる飾り図柄を仮停止表示させた後に、例えば「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて同一の飾り図柄が揃った状態で再び変動させ、確変大当り組合せとなる飾り図柄(確変図柄)と、非確変大当り組合せとなる飾り図柄(非確変図柄)のうちいずれかを、確定飾り図柄として停止表示(最終停止表示)させる。ここで、大当り種別が「非確変」である場合に再抽選演出が実行されるときには、その再抽選演出として、仮停止表示させた飾り図柄を再変動させた後に非確変大当り組合せとなる確定飾り図柄を導出表示する変動中昇格失敗演出が行われる。これに対して、大当り種別が「確変」である場合に再抽選演出が実行されるときには、その再抽選演出として、仮停止表示させた飾り図柄を再変動させた後に確変大当り組合せとなる確定飾り図柄を停止表示する変動中昇格成功演出が実行されることもあれば、変動中昇格失敗演出が実行されることもある。
非確変大当り組合せとなる確定飾り図柄が導出表示された後には、大当り遊技状態の開始時や大当り遊技状態におけるラウンドの実行中、大当り遊技状態においていずれかのラウンドが終了してから次のラウンドが開始されるまでの期間、大当り遊技状態において最終のラウンドが終了してから次の可変表示ゲームが開始されるまでの期間などにて、確変状態に制御するか否かの報知演出となる大当り中昇格演出が実行されてもよい。なお、大当り中昇格演出と同様の報知演出が、大当り遊技状態の終了後における最初の可変表示ゲーム中などにて実行されてもよい。大当り遊技状態において最終のラウンドが終了してから実行される大当り中昇格演出を、特に「エンディング昇格演出」ということもある。
大当り中昇格演出には、確定飾り図柄が非確変大当り組合せであるにもかかわらず遊技状態が確変状態となる昇格がある旨を報知する大当り中昇格成功演出と、確変状態となる昇格がない旨を報知する大当り中昇格失敗演出とがある。例えば、大当り中昇格演出では、画像表示装置5の表示領域にて飾り図柄を可変表示させて非確変図柄と確変図柄のいずれかを演出表示結果として停止表示させること、あるいは、飾り図柄の可変表示とは異なる演出画像の表示を行うことなどにより、確変状態となる昇格の有無を、遊技者が認識できるように報知すればよい。
特図ゲームにおける確定特別図柄として、2ラウンド大当り図柄となる「1」の数字を示す特別図柄が停止表示される場合や、小当り図柄となる「2」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態とならずに、2回開放チャンス目として予め定められた複数種類の確定飾り図柄の組合せのいずれかが停止表示されることがある。また、特図ゲームにおける確定特別図柄として、2ラウンド大当り図柄となる「1」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、所定のリーチ演出が実行された後などに、所定のリーチ組合せとなる確定飾り図柄が停止表示されることもある。特図ゲームにおける確定特別図柄が2ラウンド大当り図柄である「1」の数字を示す特別図柄となることに対応して、各種の確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「突確」(「突確大当り」あるいは「突然確変大当り」ともいう)の可変表示態様(大当り種別ともいう)と称される。こうして「突確」の可変表示態様により可変表示結果が「大当り」となった後には、2ラウンド大当り状態に制御され、その2ラウンド大当り状態が終了すると、確変状態に制御されることになる。
可変表示結果が「大当り」で大当り種別が「突確」となる場合には、飾り図柄の可変表示中に突確モード開始演出が実行されてもよい。突確モード開始演出では、大当り種別が「突確」となることに対応して予め定められた演出動作が行われる。突確モード開始演出が行われた後には、突確モードと称される通常の演出モードとは異なる演出モードが開始されてもよい。また、突確モード開始演出は、特別図柄や飾り図柄の可変表示中に実行される演出動作に限定されず、2ラウンド大当り状態となる期間の一部または全部においても、可変表示中から継続して実行される演出動作であってもよい。突確モード開始演出が開始されるときには、可変表示中の飾り図柄を消去して、突確モード開始演出が実行された後には、確定飾り図柄が導出表示されないようにしてもよい。突確モードでは、例えば可変表示結果が「大当り」となって確変状態が終了するまで、突確モード中演出が行われる。突確モード中演出では、画像表示装置5の表示領域における背景画像の表示態様を通常の演出モードにおける表示態様とは異なるものとすること、飾り図柄の可変表示に伴ってスピーカ8L、8Rから出力される音声を通常の演出モードにおける音声とは異なるものとすること、遊技効果ランプ9や装飾用LEDの点灯パターンを通常の演出モードにおける点灯パターンとは異なるものとすること、あるいは、これらの一部又は全部を組み合わせることにより、突確モードであることを遊技者が認識できるように報知すればよい。
確変状態では、例えば「確変中」といった確変状態であることを報知する演出画像を画像表示装置5の表示領域に表示させること、及び/又は、画像表示装置5の表示領域における背景画像や飾り図柄の表示態様を通常の演出モードにおける表示態様とは異なるものとすることなどにより、確変状態であることを遊技者が認識できる確変中の演出モードとなるようにしてもよい。
パチンコ遊技機1には、例えば図2に示すような電源基板10、主基板11、演出制御基板12、音声制御基板13、ランプ制御基板14、払出制御基板15、発射制御基板17といった、各種の制御基板が搭載されている。また、パチンコ遊技機1には、主基板11と演出制御基板12との間で伝送される各種の制御信号を中継するための中継基板18なども搭載されている。なお、音声制御基板13やランプ制御基板14は、演出制御基板12とは別個の独立した基板によって構成されてもよいし、演出制御基板12にまとめられて1つの基板として構成されてもよい。その他、パチンコ遊技機1の背面には、例えば情報端子基板やインタフェース基板などといった、各種の制御基板が配置されている。インタフェース基板は、パチンコ遊技機1に隣接してカードユニットが設置される場合に、払出制御基板15とカードユニットとの間に介在する制御基板である。
電源基板10は、主基板11、演出制御基板12、払出制御基板15等の各制御基板とは独立して設置され、パチンコ遊技機1内の各制御基板及び機構部品が使用する電圧を生成する。例えば、電源基板10では、図3に示すように、AC24V、VLP(直流+24V)、VSL(直流+30V)、VDD(直流+12V)、VCC(直流+5V)及びVBB(直流+5V)を生成する。電源基板10は、例えば図3に示すように、変圧回路301と、直流電圧生成回路302と、電源監視回路303と、クリアスイッチ304とを備えて構成されている。また、電源基板10には、バックアップ電源となるコンデンサが設けられていてもよい。このコンデンサは、例えばVBB(直流+5V)の電源ラインから充電されるものであればよい。加えて、電源基板10には、パチンコ遊技機1内の各制御基板及び機構部品への電力供給を実行又は遮断するための電源スイッチが設けられていてもよい。あるいは、電源スイッチは、パチンコ遊技機1において、電源基板10の外部に設けられていてもよい。
変圧回路301は、例えば商用電源が入力側(一次側)に印加されるトランスや、トランスの入力側に設けられた過電圧保護回路としてのバリスタなどを備えて構成されたものであればよい。ここで、変圧回路301が備えるトランスは、商用電源と電源基板10の内部とを電気的に絶縁するためのものであればよい。変圧回路301は、その出力電圧として、AC24Vを生成する。直流電圧生成回路302は、例えばAC24Vを整流素子で整流昇圧することによってVSLを生成する整流平滑回路を含んでいる。VSLは、ソレノイド駆動用の電源電圧として用いられる。また、直流電圧生成回路302は、例えばAC24Vを整流素子で整流することによってVLPを生成する整流回路を含んでいる。VLPは、遊技効果ランプ9等の発光体を点灯するための電源電圧として用いられる。加えて、直流電圧生成回路302は、例えばVSLに基づいてVDDおよびVCCを生成するDC−DCコンバータを含んでいる。このDC−DCコンバータは、例えば1つ又は複数のスイッチングレギュレータと、そのスイッチングレギュレータの入力側に接続された比較的大容量のコンデンサとを含み、外部からパチンコ遊技機1への電力供給が停止したときに、VSL、VDD、VBB等の直流電圧が比較的緩やかに低下するように構成されたものであればよい。VDDは、例えば図2に示すゲートスイッチ21、第1及び第2始動口スイッチ22A、22B、カウントスイッチ23といった、遊技媒体を検出する各種スイッチに供給され、これらのスイッチを作動させるために用いられる。
図3に示すように、変圧回路301から出力されたAC24Vは、例えば所定のコネクタや電源ラインを介して、払出制御基板15へと伝送される。VLPは、例えば所定のコネクタや電源ラインを介して、ランプ制御基板14へと伝送される。VSL、VDD及びVCCは、例えば所定のコネクタや電源ラインを介して、主基板11、ランプ制御基板14及び払出制御基板15へと伝送される。VBBは、例えば所定のコネクタや電源ラインを介して、主基板11及び払出制御基板15へと伝送される。なお、演出制御基板12及び音声制御基板13には、ランプ制御基板14を経由して各電圧が供給されればよい。あるいは、演出制御基板12及び音声制御基板13には、ランプ制御基板14を経由することなく、電源基板10から直接に各電圧が供給されてもよい。
電源監視回路303は、例えば停電監視リセットモジュールICを用いて構成され、電源断信号を出力する電源監視手段を実現する回路である。例えば、電源監視回路303は、パチンコ遊技機1において用いられる所定電源電圧(一例としてVSL)が所定値(一例として+22V)を超えると、オフ状態(ハイレベル)の電源断信号を出力する。その一方で、所定電源電圧が所定値以下になった期間が、予め決められている時間(一例として56ミリ秒)以上継続したときに、オン状態(ローレベル)の電源断信号を出力する。あるいは、電源監視回路303は、パチンコ遊技機1において用いられる所定電源電圧が所定値以下になると、直ちにオン状態の電源断信号を出力するようにしてもよい。電源断信号は、例えばローレベルとなることでオン状態となりハイレベルとなることでオフ状態となる負論理の電気信号であればよい。電源監視回路303から出力された電源断信号は、例えば電源基板10に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、主基板11や払出制御基板15へと伝送される。なお、電源断信号は、払出制御基板15を介して主基板11へと伝送されるようにしてもよい。
電源断信号を出力するための監視対象となる所定電源電圧は、例えば電源電圧VSLといった、スイッチ作動用の電源電圧VDDにおける規定値(一例として+12V)よりも高い電圧であることが好ましい。これにより、スイッチ作動用の電源電圧VDDが低下して各種スイッチ(例えばゲートスイッチ21、第1及び第2始動口スイッチ22A、22B、カウントスイッチ23など)の動作状態が不安定となる以前に、電源断信号を出力する(オン状態にする)ことで、各種スイッチによる誤検出に基づく遊技制御の進行を防止できる。すなわち、スイッチ作動用の電源電圧VDDが低下すると負論理(ローレベルでオン状態となる)のスイッチ出力がオン状態となるものの、電源電圧VDDよりも早く低下する電源電圧VSLを監視して電力供給の停止を認識することで、スイッチ出力がオン状態となる以前に、電源復旧待ちの状態となってスイッチ出力を検出しない状態となることができる。
電源電圧VSLなどを主基板11、ランプ制御基板14及び払出制御基板15へと伝送する電源ラインには、大容量のコンデンサが接続されていてもよい。これに対して、電源電圧VSLを監視対象とするために電源監視回路303へと伝送する入力ラインには、このようなコンデンサが接続されていなくてもよい。この場合、監視対象となる電源監視回路303への入力ラインにおける電源電圧VSLは、コンデンサが接続された電源ラインにおける電源電圧VSLより早く低下する。すなわち、監視対象の電源電圧VSLが低下し始めた後でも、所定期間は、ソレノイドやモータなどに供給される電源ラインにおける電源電圧VSLの供給状態が維持される。したがって、監視対象となる電源電圧VSLが低下し始める場合でも、所定期間は、ソレノイドやモータなどを駆動可能な状態とすることができる。また、電源ラインにおける電源電圧VSLが低下し始める前に、電力供給の停止を認識することができる。
なお、ソレノイド駆動用の電源電圧VSLに代えて、例えば発光体点灯用の電源電圧VLPといった、スイッチ作動用の電源電圧VDDにおける規定値よりも高い任意の電源電圧を監視対象として、電源断信号を出力するようにしてもよい。また、外部からパチンコ遊技機1に供給される電力の供給停止を検出するための条件としては、パチンコ遊技機1において用いられる所定電源電圧が所定値以下になったことに限られず、外部からの電力が途絶えたことを検出できる任意の条件であればよい。例えば、AC24V等の交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をデジタル化した信号を監視して、デジタル信号が平坦になったことをもって交流波が途絶えたことの検出条件としてもよい。
電源監視回路303は、例えば所定電源電圧(一例としてVCC)が所定値(一例として+4.5V)以下になったときに、リセット信号を出力してもよい。リセット信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。電源監視回路303から出力されたリセット信号は、例えば電源基板10に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、主基板11、ランプ制御基板14及び払出制御基板15へと伝送される。演出制御基板12には、ランプ制御基板14を経由してリセット信号が伝送されればよい。あるいは、演出制御基板12に対しても、ランプ制御基板14を経由せずにリセット信号が直接に伝送されるようにしてもよい。さらに、リセット信号を出力する回路は、電源監視回路303とは別個に設けられたウォッチドッグタイマ内蔵IC、あるいはシステムリセットICなどを用いて構成されてもよい。
パチンコ遊技機1への電力供給が停止するときには、電源監視回路303が、電源断信号を出力(ローレベルに設定)してから所定期間が経過したときに、リセット信号を出力(ローレベルに設定)する。ここでの所定期間は、例えば図2に示す主基板11に搭載されている遊技制御用マイクロコンピュータ100及び払出制御基板15に搭載されている払出制御用マイクロコンピュータ150が、所定の電源断処理を実行するのに十分な時間であればよい。すなわち、電源監視回路303は、給電中信号としての電源断信号を出力した後、遊技制御用マイクロコンピュータ100及び払出制御用マイクロコンピュータ150が所定の電源断処理を実行完了してから、動作停止信号としてのリセット信号を出力(ローレベルに設定)する。電源監視回路303から出力されたリセット信号を受信した遊技制御用マイクロコンピュータ100や払出制御用マイクロコンピュータ150は、動作停止状態となり、各種の制御処理の実行が停止される。また、パチンコ遊技機1への電力供給が開始され、例えば所定電源電圧(一例としてVCC)が所定値(一例として+4.5V)を超えたときに、電源監視回路303はリセット信号の出力を停止(ハイレベルに設定)する。
図4は、パチンコ遊技機1への電力供給が開始されたとき、及び電力供給が停止するときにおける、AC24V、VSL、VCC、リセット信号及び電源断信号の状態を、模式的に示すタイミング図である。図4に示すように、パチンコ遊技機1への電力供給が開始されたときに、VSL及びVCCは徐々に規定値(直流+30V及び直流+5V)に達する。このとき、VCCが第1の所定値を超えると、電源監視回路303はリセット信号の出力を停止(ハイレベルに設定)してオフ状態とする。また、VSLが第2の所定値を超えると、電源監視回路303は電源断信号の出力を停止(ハイレベルに設定)してオフ状態とする。他方、パチンコ遊技機1への電力供給が停止するときに、VSL及びVCCは徐々に低下する。このとき、VSLが第2の所定値にまで低下すると、電源監視回路303は電源断信号をオン状態として出力(ローレベルに設定)する。また、VCCが第1の所定値にまで低下すると、電源監視回路303はリセット信号をオン状態として出力(ローレベルに設定)する。
図3に示す電源基板10が備えるクリアスイッチ304は、例えば押しボタン構造を有し、押下などの操作に応じてクリア信号を出力する。クリア信号は、例えば押下などの操作に応じてローレベルとなることでオン状態となる電気信号であればよい。あるいは、クリア信号は、例えば押下などの操作に応じてハイレベルとなることでオン状態となる電気信号であってもよい。クリアスイッチ304から出力されたクリア信号は、例えば所定のコネクタや信号ラインを介して、主基板11へと伝送され、主基板11から払出制御基板15へと伝送される。また、クリアスイッチ304の操作がなされていないときには、クリア信号の出力を停止(ハイレベルあるいはローレベルに設定)する。なお、クリアスイッチ304は、押しボタン構造以外の他の構成(例えばスライドスイッチ構造やトグルスイッチ構造、ダイヤルスイッチ構造など)であってもよい。
主基板11は、メイン側の制御基板であり、パチンコ遊技機1における遊技の進行を制御するための各種回路が搭載されている。主基板11は、主として、特図ゲームにおいて用いる乱数の設定機能、所定位置に配設されたスイッチ等からの信号の入力を行う機能、演出制御基板12や払出制御基板15などからなるサブ側の制御基板に宛てて、指令情報の一例となる制御コマンドを制御信号として出力して送信する機能、ホールの管理コンピュータに対して各種情報を出力する機能などを備えている。また、主基板11は、第1特別図柄表示装置4Aと第2特別図柄表示装置4Bを構成する各LED(例えばセグメントLED)などの点灯/消灯制御を行って第1特図や第2特図の可変表示を制御することや、普通図柄表示器20の点灯/消灯/発色制御などを行って普通図柄表示器20による普通図柄の可変表示を制御することといった、所定の表示図柄の可変表示を制御する機能も備えている。主基板11は、例えば図2に示すように、遊技制御用マイクロコンピュータ100と、制御用クロック生成回路111と、乱数用クロック生成回路112と、スイッチ回路114と、ソレノイド回路115とを備えている。また、主基板11には、遊技開始スイッチ31が設置されていてもよい。
ここで、制御用クロック生成回路111は、遊技制御用マイクロコンピュータ100の外部にて、所定周波数の発振信号となる制御用クロックCCLKを生成する。制御用クロック生成回路111により生成された制御用クロックCCLKは、例えば図6に示すような遊技制御用マイクロコンピュータ100の制御用外部クロック端子EXCを介してクロック回路502に供給される。乱数用クロック生成回路112は、遊技制御用マイクロコンピュータ100の外部にて、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する。乱数用クロック生成回路112により生成された乱数用クロックRCLKは、例えば図6に示すような遊技制御用マイクロコンピュータ100の乱数用外部クロック端子ERCを介して乱数回路509に供給される。一例として、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数以下となるようにすればよい。あるいは、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数よりも高周波となるようにしてもよい。
スイッチ回路114は、遊技球検出用の各種スイッチなどからの検出信号を取り込んで遊技制御用マイクロコンピュータ100に伝送する。ソレノイド回路115は、遊技制御用マイクロコンピュータ100からのソレノイド駆動信号をソレノイド81、82に伝送する。遊技開始スイッチ31は、例えば押しボタン構造を有し、パチンコ遊技機1において遊技機用枠3を閉じて遊技者が通常遊技を行う状態でパチンコ遊技機1の外部から触れることのできない所定箇所に配設されていればよい。そして、例えばパチンコ遊技機1の電源投入時やシステムリセット時などに、パチンコ遊技機1の初期設定を行った後に遊技開始を指示するために操作される。なお、遊技開始スイッチ31は、押しボタン構造以外の他の構成(例えばスライドスイッチ構造やトグルスイッチ構造、ダイヤルスイッチ構造など)であってもよい。
図2に示すように、主基板11には、ゲートスイッチ21、第1始動口スイッチ22A、第2始動口スイッチ22B及びカウントスイッチ23からの検出信号を伝送する配線が接続されている。なお、ゲートスイッチ21、第1始動口スイッチ22A、第2始動口スイッチ22B及びカウントスイッチ23は、例えばセンサと称されるものなどのように、遊技媒体としての遊技球を検出できる任意の構成を有するものであればよい。また、主基板11には、第1特別図柄表示装置4Aや第2特別図柄表示装置4B、普通図柄表示器20、第1保留表示器25A、第2保留表示器25B、普図保留表示器25Cなどの表示制御を行うための指令信号を伝送する配線が接続されている。さらに、主基板11には、普通電動役物用のソレノイド81や大入賞口扉用のソレノイド82などの駆動制御を行うための指令信号を伝送する配線が接続されている。
主基板11と演出制御基板12との間では、例えば主基板11から中継基板18を介して演出制御基板12へと向かう単一方向のみでシリアル通信などを行うことにより、各種の制御コマンドが伝送される。演出制御基板12は、主基板11とは独立したサブ側の制御基板であり、中継基板18を介して主基板11から送信された制御コマンドを受信して、画像表示装置5、スピーカ8L、8R及び遊技効果ランプ9等の発光体といった演出用の電気部品(演出装置)を制御するための各種回路が搭載されている。すなわち、演出制御基板12は、画像表示装置5における表示動作や、スピーカ8L、8Rからの音声出力動作、遊技効果ランプ9等の発光体における点灯動作及び消灯動作などを制御する機能を備えている。演出制御基板12には、音声制御基板13やランプ制御基板14に制御信号を伝送する配線や、画像表示装置5に画像データ信号を伝送する配線などが接続されている。
主基板11には、例えば中継基板18に対応して主基板側コネクタが設けられるとともに、この主基板側コネクタと遊技制御用マイクロコンピュータ100との間に、出力バッファ回路が接続されていてもよい。この出力バッファ回路は、例えば主基板11から中継基板18を介して演出制御基板12へ向かう方向にのみ制御信号を通過させることができ、中継基板18から主基板11への信号の入力を阻止する。したがって、演出制御基板12や中継基板18の側から主基板11の側に信号が伝わる余地はない。なお、主基板11と演出制御基板12との間に中継基板18を設けない構成としてもよい。これにより、主基板11と演出制御基板12との間における配線引き回しの自由度を高めることができる。
中継基板18には、例えば主基板11から演出制御基板12に対して制御信号を伝送するための配線に、伝送方向規制回路が設けられていればよい。伝送方向規制回路は、主基板11対応の主基板用コネクタにアノードが接続されるとともに演出制御基板12対応の演出制御基板用コネクタにカソードが接続されたダイオードと、一端がダイオードのカソードに接続されるとともに他端がグランド(GND)接続された抵抗とから構成されている。この構成により、伝送方向規制回路は、演出制御基板12から中継基板18への信号の入力を阻止して、主基板11から演出制御基板12へ向かう方向にのみ信号を通過させることができる。したがって、演出制御基板12の側から主基板11側に信号が伝わる余地はない。この実施の形態では、中継基板18において制御信号を伝送するための配線に伝送方向規制回路を設けるとともに、主基板11にて遊技制御用マイクロコンピュータ100と主基板側コネクタの間に出力バッファ回路を設けることで、外部から主基板11への不正な信号の入力を防止することができる。
主基板11と払出制御基板15との間では、例えば双方向でシリアル通信を行うことにより、各種の制御コマンドや通知信号が伝送される。払出制御基板15は、主基板11とは独立したサブ側の制御基板であり、主基板11から送信された制御コマンドや通知信号を受信して、払出モータ51による遊技球の払出動作を制御するための各種回路が搭載されている。すなわち、払出制御基板15は、払出モータ51による賞球の払出動作を制御する機能を備えている。また、払出制御基板15は、例えばインタフェース基板を介したカードユニットとの通信結果に応じて払出モータ51の駆動制御を行って、球貸し動作を制御する機能を備えていてもよい。払出制御基板15には、満タンスイッチ26や球切れスイッチ27からの検出信号を受信するための配線や、払出モータ位置センサ71や払出カウントスイッチ72、エラー解除スイッチ73からの検出信号を受信するための配線が接続されている。加えて、払出制御基板15には、払出モータ51における遊技球の払出制御を行うための指令信号を送信するための配線や、エラー表示用LED74における表示制御を行うための指令信号を送信するための配線、インタフェース基板を介してカードユニットとの間で通信を行うための配線などが接続されている。
ここで、満タンスイッチ26は、例えば遊技盤2の背面下方にて打球供給皿と余剰球受皿の間を連通する余剰球通路の側壁に設置され、余剰球受皿の満タンを検出するためのものである。賞球又は球貸し要求に基づく遊技球が多数払い出されて打球供給皿が満杯になり、遊技球が連絡口に到達した後、さらに遊技球が払い出されると、遊技球は余剰球通路を経て余剰球受皿へと導かれる。さらに遊技球が払い出されると、例えば所定の感知レバーが満タンスイッチ26を押圧してオンする。
また、球切れスイッチ27は、例えば遊技盤2の背面にて遊技球を払出モータ51が設置された払出装置へと誘導する誘導レールの下流に設置され、誘導レールの下流にてカーブ樋を介して連通された2列の球通路内における遊技球の有無を検出するためのものである。一例として、球切れスイッチ27は、球通路に27〜28個の遊技球が存在することを検出できるような位置に係止片によって係止され、球貸しの一単位の最大払出個数(例えば100円分に相当する25個)以上が確保されていることを確認可能にする。なお、誘導レールは、遊技盤2の背面上方にて補給球としての遊技球を貯留する貯留タンクからの遊技球を払出装置へと誘導するものであり、球通路の下部には、払出モータ51が設置された払出装置が固定されている。
エラー解除スイッチ73は、払出制御用マイクロコンピュータ150が所定のエラー状態に制御されているときに、ソフトウェアリセットによって、そのエラー状態を解除するためのスイッチである。エラー表示用LED74は、例えば7セグメントLEDにより構成され、払出制御用マイクロコンピュータ150にてセットされたエラーフラグなどに基づいて、各種のエラーに対応するエラーコードを表示するためのものである。
図2に示す発射制御基板17は、操作ノブ30の操作量に応じて、所定の発射装置による遊技球の発射動作を制御するためのものである。発射制御基板17には、例えば電源基板10あるいは主基板11からの駆動信号を伝送する配線や、払出制御基板15及びインタフェース基板を介してカードユニットからの接続信号を伝送する配線、及び操作ノブ30からの配線が接続されるとともに、発射モータ61への配線が接続されている。なお、カードユニットからの接続信号は、払出制御基板15にて分岐されて発射制御基板17に伝送されてもよいし、カードユニットからインタフェース基板を介し、払出制御基板15を経由せずに発射制御基板17に伝送されてもよい。発射制御基板17は、操作ノブ30の操作量に対応して発射モータ61の駆動力を調整する。発射モータ61は、例えば発射制御基板17により調整された駆動力により発射バネを弾性変形させ、発射バネの付勢力を打撃ハンマに伝達して遊技球を打撃することにより、遊技球を操作ノブ30の操作量に対応した速度で遊技領域に向けて発射させる。
中継基板18を介して主基板11から演出制御基板12へと送信される制御コマンドは、例えば電気信号として伝送される演出制御コマンドである。この実施の形態において、演出制御コマンドは、主基板11に搭載された遊技制御用マイクロコンピュータ100が備えるCPU505(図6参照)によって送信設定が行われ、その設定に基づいて遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511(図6参照)の第2チャネル送信回路により、演出制御基板12に対して送信される。以下の説明では、主基板11から演出制御基板12に対する演出制御コマンドの送信動作に、こうした遊技制御用マイクロコンピュータ100に設けられたCPU505やシリアル通信回路511による一連の動作が含まれているものとする。この場合、演出制御基板12の側では、例えば演出制御用マイクロコンピュータ120のCPUが、主基板11から伝送されたシリアル信号形式の通信データを受信した際に発生する受信割込み要求に基づく割込み処理を実行することにより、演出制御コマンドを取り込んで所定のバッファ(例えば演出用受信コマンドバッファ)等に格納してもよい。なお、演出制御コマンドは、複数本の信号線(例えば8本の演出制御信号線)で主基板11から中継基板18を介し演出制御基板12に対して送信されてもよい。この場合には、演出制御コマンドを送信するための信号線に加えて、演出制御コマンドの取込みを要求する取込信号(演出制御INT信号)を送信するための信号線が配線されてもよい。
演出制御コマンドには、例えば画像表示装置5における画像表示動作を制御するために用いられる表示制御コマンドや、スピーカ8L、8Rからの音声出力を制御するために用いられる音声制御コマンド、遊技効果ランプ9といった発光体の点灯動作などを制御するために用いられるランプ制御コマンドが含まれている。図5(A)は、この実施の形態で用いられる表示制御コマンドの内容の一例を示す説明図である。表示制御コマンドは、例えば2バイト構成であり、1バイト目はMODE(コマンドの分類)を示し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット番号[7])は必ず“1”とされ、EXTデータの先頭ビットは“0”とされる。なお、図5(A)に示された表示制御コマンドの形態は一例であって、他のコマンド形態を用いてもよい。また、この例では、表示制御コマンドが2バイト構成であるとしているが、表示制御コマンドを構成するバイト数は、1であってもよいし、3以上の複数であってもよい。
図5(A)に示す例において、コマンド8001Hは、第1特別図柄表示装置4Aによる特図ゲームにおける第1特図の変動開始を指定する第1変動開始コマンドである。コマンド8002Hは、第2特別図柄表示装置4Bによる特図ゲームにおける第2特図の変動開始を指定する第2変動開始コマンドである。コマンド81XXHは、特図ゲームにおける特別図柄の可変表示に対応して画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rで可変表示される飾り図柄などの変動パターンを指定する変動パターン指定コマンドである。ここで、XXHは不特定の16進数であることを示し、演出制御コマンドによる指示内容に応じて任意に設定される値であればよい。変動パターン指定コマンドでは、指定する変動パターンなどに応じて、異なるEXTデータが設定される。
この実施の形態では、第1及び第2変動開始コマンドと、変動パターン指定コマンドとを、互いに別個の演出制御コマンドとして用意している。これに対して、第1特図及び第2特図のいずれが変動開始となるかの指定内容と、変動パターンの指定内容とを、1つの演出制御コマンドにより特定可能となるように構成してもよい。一例として、変動開始となる特別図柄(第1特図あるいは第2特図)と変動パターンとの組合せに対応してEXTデータが設定される演出制御コマンドを用意して、その演出制御コマンドにより、変動開始となる特別図柄と変動パターンとを特定できるようにしてもよい。ここで、変動開始となる特別図柄と変動パターンとを1つの演出制御コマンドにより特定可能となるように構成した場合には、1つの変動パターンに対して、変動開始となる特別図柄(第1特図あるいは第2特図)に応じた2種類の演出制御コマンドを用意しなければならないことがある。これに対して、変動開始となる特別図柄を指定する演出制御コマンドと、変動パターンを指定する演出制御コマンドとを別個に用意すれば、変動開始となる特別図柄に対応した2種類の演出制御コマンドと、変動パターンの種類数に対応した個数の演出制御コマンドとを用意すればよく、予め用意するコマンドの種類や、コマンドテーブルの記憶容量などを、削減することができる。
コマンド8CXXHは、特別図柄や飾り図柄などの可変表示結果を指定する可変表示結果通知コマンドである。可変表示結果通知コマンドでは、例えば図5(B)に示すように、可変表示結果が「ハズレ」、「大当り」、「小当り」のいずれとなるかの事前決定結果、また、可変表示結果が「大当り」となる場合における大当り種別が「非確変」、「確変」、「突確」のいずれとなるかの大当り種別決定結果に対応して、異なるEXTデータが設定される。より具体的には、コマンド8C00Hは、可変表示結果が「ハズレ」となる旨の事前決定結果を示す第1可変表示結果通知コマンドである。コマンド8C01Hは、可変表示結果が「大当り」となる場合における大当り種別が「非確変」となる旨の事前決定結果及び大当り種別決定結果を示す第2可変表示結果通知コマンドである。コマンド8C02Hは、可変表示結果が「大当り」となる場合における大当り種別が「確変」となる旨の事前決定結果及び大当り種別決定結果を示す第3可変表示結果通知コマンドである。コマンド8C03Hは、可変表示結果が「大当り」となる場合における大当り種別が「突確」となる旨の事前決定結果及び大当り種別決定結果を示す第4可変表示結果通知コマンドである。コマンド8C04Hは、可変表示結果が「小当り」となる旨の事前決定結果を示す第5可変表示結果通知コマンドである。
この実施の形態では、変動パターン指定コマンドと可変表示結果通知コマンドとを、互いに別個の演出制御コマンドとして用意している。これに対して、変動パターン指定コマンドに示される変動パターンと、可変表示結果通知コマンドに示される可変表示結果とを、1つの演出制御コマンドにより特定可能となるように構成してもよい。一例として、変動パターンと可変表示結果(「ハズレ」、「大当り」及び「小当り」のいずれかと、「大当り」となる場合における大当り種別)との組合せに対応してEXTデータが設定される演出制御コマンドを用意して、その演出制御コマンドにより、変動パターンと可変表示結果を特定可能な情報が伝送されるようにしてもよい。あるいは、3つ以上の演出制御コマンドにより、変動パターンと可変表示結果とを特定できるようにしてもよい。ここで、変動パターンと可変表示結果とを1つの演出制御コマンドにより特定可能となるように構成した場合には、1つの変動パターンに対して、複数種類の可変表示結果に応じた複数種類の演出制御コマンドを用意しなければならないことがある。これに対して、変動パターンを指定する演出制御コマンドと、可変表示結果を通知する演出制御コマンドとを別個に用意すれば、変動パターンの種類数に対応した個数の演出制御コマンドと、可変表示結果の種類数に対応した個数の演出制御コマンドとを用意すればよく、予め用意するコマンドの種類や、コマンドテーブルの記憶容量などを、削減することができる。
コマンド8F00Hは、画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rで飾り図柄の可変表示の停止を指定する飾り図柄停止コマンドである。なお、飾り図柄停止コマンドは、主基板11から演出制御基板12に対して伝送されないようにしてもよい。この場合には、変動パターン指定コマンドで指定された変動パターンに対応する可変表示時間を、演出制御基板12の側で特定し、飾り図柄の可変表示を開始してからの経過時間が可変表示時間に達したときに、主基板11からの演出制御コマンドを受信しなくても、確定飾り図柄を完全停止表示して可変表示結果を確定させるようにしてもよい。
A0XXHは、大当り遊技状態や小当り遊技状態の開始を示す演出画像の表示を指定する当り開始指定コマンド(「ファンファーレコマンド」ともいう)である。当り開始指定コマンドでは、例えば可変表示結果通知コマンドと同様のEXTデータが設定されることなどにより、事前決定結果や大当り種別決定結果に応じて異なるEXTデータが設定される。あるいは、当り開始指定コマンドでは、事前決定結果や大当り種別決定結果と設定されるEXTデータとの対応関係を、可変表示結果通知コマンドにおける対応関係とは異ならせるようにしてもよい。
コマンドA1XXHは、大当り遊技状態や小当り遊技状態に対応して、各ラウンドや可変入賞動作で大入賞口が開放状態となっている期間における演出画像の表示を指定する大入賞口開放中指定コマンドである。コマンドA2XXHは、大当り遊技状態や小当り遊技状態に対応して、各ラウンドや可変入賞動作の終了により大入賞口が開放状態から閉鎖状態に変化した期間おける演出画像(例えばラウンド間のインターバルにおける演出画像)の表示を指定する大入賞口開放後指定コマンドである。大入賞口開放中指定コマンドや大入賞口開放後指定コマンドでは、例えば15ラウンド大当り状態におけるラウンドの実行回数(例えば「1」〜「15」)や、2ラウンド大当り状態におけるラウンドや小当り遊技状態における可変入賞動作の実行回数(例えば「1」又は「2」)に対応して、異なるEXTデータが設定される。なお、15ラウンド大当り状態であるか、2ラウンド大当り状態や小当り遊技状態であるかに応じて、大入賞口開放中指定コマンドや大入賞口開放後指定コマンドを別個に用意してもよい。これに対して、15ラウンド大当り状態と2ラウンド大当り状態、小当り遊技状態で共通の大入賞口開放中指定コマンドや大入賞口開放後指定コマンドを用いることにより、演出制御コマンドの種類数を削減することができる。また、大当り遊技状態や小当り遊技状態では、各ラウンドや可変入賞動作で大入賞口が開放状態となっている期間であるか、各ラウンドや可変入賞動作の終了により大入賞口が開放状態から閉鎖状態に変化した期間であるかに関わりなく、大当り遊技状態や小当り遊技状態の開始時点から終了時点まで継続的な演出動作が実行されるようにしてもよい。さらに、小当り遊技状態では、大入賞口開放中指定コマンドや大入賞口開放後指定コマンドの伝送が行われないようにしてもよい。
コマンドA3XXHは、大当り遊技状態や小当り遊技状態の終了時における演出画像の表示を指定する当り終了指定コマンドである。当り終了指定コマンドでは、例えば可変表示結果通知コマンドや当り開始指定コマンドと同様のEXTデータが設定されることなどにより、事前決定結果や大当り種別決定結果に応じて異なるEXTデータが設定される。あるいは、当り終了指定コマンドでは、事前決定結果や大当り種別決定結果と設定されるEXTデータとの対応関係を、可変表示結果通知コマンドや当り開始指定コマンドにおける対応関係とは異ならせるようにしてもよい。
コマンドB001Hは、普通入賞球装置6Aが形成する第1始動入賞口に遊技球が入賞したことに基づき、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを実行するための第1始動条件が成立したことを通知する第1始動口入賞指定コマンドである。コマンドB002Hは、普通可変入賞球装置6Bが形成する第2始動入賞口に遊技球が入賞したことに基づき、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを実行するための第2始動条件が成立したことを通知する第2始動口入賞指定コマンドである。
コマンドC0XXHは、画像表示装置5の表示領域に設けられた始動入賞記憶表示部5Hなどにて特図保留記憶数を特定可能に表示するために、第1特図保留記憶数と第2特図保留記憶数との合計値である合計保留記憶数を通知する保留記憶数通知コマンドである。保留記憶数通知コマンドは、例えば第1始動条件と第2始動条件のいずれかが成立したことに対応して、第1始動口入賞指定コマンドと第2始動口入賞指定コマンドのいずれかが送信されたことに続いて、主基板11から演出制御基板12に対して送信される。保留記憶数通知コマンドでは、例えば図34に示す第1特図保留記憶部591Aにおける保留データと第2特図保留記憶部591Bにおける保留データの総記憶数(例えば「1」〜「8」)、あるいは、始動データ記憶部591Cにおける始動データの総記憶数(例えば「1」〜「8」)に対応して、異なるEXTデータが設定される。これにより、演出制御基板12の側では、第1始動条件と第2始動条件のいずれかが成立したときに、主基板11から伝送された保留記憶数通知コマンドを受信して、第1特図保留記憶部591Aと第2特図保留記憶部591Bにおける保留データの総記憶数を特定することができる。
この実施の形態では、第1及び第2始動口入賞指定コマンドと保留記憶数指定コマンドとを、互いに別個の演出制御コマンドとして用意している。これに対して、第1始動条件及び第2始動条件のいずれが成立したかの通知内容と、合計保留記憶数の通知内容とを、1つの演出制御コマンドにより特定可能となるように構成してもよい。一例として、成立した始動条件(第1始動条件あるいは第2始動条件)と合計保留記憶数との組合せに対応してEXTデータが設定される演出制御コマンドを用意して、その演出制御コマンドにより、成立した始動条件と合計保留記憶数とを特定できるようにしてもよい。ここで、第1始動条件と第2始動条件のいずれが成立したかを、合計保留記憶数とともに1つの演出制御コマンドで特定可能とする場合には、例えば合計保留記憶数の上限値が「8」である場合に、第1始動条件と第2始動条件のそれぞれが成立した場合に対応して8種類ずつの合計16種類の演出制御コマンドを用意しなければならない。これに対して、第1始動条件と第2始動条件のいずれが成立したかを特定可能な演出制御コマンドと、合計保留記憶数を特定可能な演出制御コマンドとを別個に用意すれば、第1始動条件と第2始動条件のそれぞれを特定可能な2種類の演出制御コマンドと、合計保留記憶数を特定可能な8種類の演出制御コマンドとからなる、合計10種類の演出制御コマンドを用意すればよく、予め用意するコマンドの種類や、コマンドテーブルの記憶容量などを、削減することができる。
主基板11から払出制御基板15に対して送信される制御コマンドは、例えば電気信号として伝送される払出制御コマンドである。なお、払出制御コマンドは、主基板11に搭載された遊技制御用マイクロコンピュータ100が備えるCPU505(図6参照)によって払出制御コマンドを送信するための設定が行われ、その設定に基づいて遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511(図6参照)の第1チャネル送受信回路により払出制御基板15に対して送信されるものである。以下の説明では、主基板11から払出制御基板15に対する払出制御コマンドの送信動作に、こうした遊技制御用マイクロコンピュータ100に設けられたCPU505やシリアル通信回路511による一連の動作が含まれているものとする。また、払出制御基板15から主基板11に対しては、例えば電気信号としての払出通知コマンドなどが送信される。なお、払出通知コマンドは、払出制御基板15に搭載された払出制御用マイクロコンピュータ150が備えるCPUによって払出通知コマンドを送信するための設定が行われ、その設定に基づいて払出制御用マイクロコンピュータ150が備えるシリアル通信回路により主基板11に対して送信されるものである。以下の説明では、払出制御基板15から主基板11に対する払出通知コマンドの送信動作に、こうした払出制御用マイクロコンピュータ150に設けられたCPUやシリアル通信回路による一連の動作が含まれているものとする。加えて、以下の説明では、主基板11及び払出制御基板15のいずれか一方から他方に対する所定動作の指令だけでなく、一方での動作状態を他方に通知する通知信号も、払出制御コマンドや払出通知コマンドに含まれるものとする。
主基板11から払出制御基板15に対して送信される払出制御コマンドには、払出数指定コマンドやACKフィードバックコマンドが含まれていればよい。払出数指定コマンドは、払い出すべき賞球の数を示すコマンドである。ACKフィードバックコマンドは、払出制御基板15から主基板11に対して送信された賞球ACKコマンドを主基板11の側で受信したことを示す受信確認受付信号となる。
払出制御基板15から主基板11に対して送信される払出通知コマンドには、賞球ACKコマンド、払出エラー通知コマンド、払出エラー解除コマンドが含まれていればよい。賞球ACKコマンドは、主基板11から払出制御基板15に対して送信された払出数指定コマンドを払出制御基板15の側で受信したことを示す受信確認信号となる。払出エラー通知コマンドは、払出制御基板15の側において遊技球の払出に関わる異常が発生した旨を主基板11の側に通知するコマンドである。払出エラー解除コマンドは、払出制御基板15の側で発生したエラーが解除された旨を主基板11の側に通知するコマンドである。
なお、主基板11と払出制御基板15との間では、シリアル通信によりコマンドを送受信するものに限定されず、複数本の信号線を用いたパラレル通信によりコマンドを送受信してもよい。また、払出制御基板15から主基板11に対して送信される払出エラー通知コマンドや払出エラー解除コマンドに代えて、払出制御基板15におけるエラーの発生状態を示す払出エラー状態信号を、主基板11に設けられた入力ポートの1つに入力してもよい。例えば、払出エラー状態信号は、払出制御基板15にてエラーが発生したときにオン状態となり、エラーが発生していないときや、エラーが解除されたときにオフ状態となる。この場合、主基板11の側では、タイマ割込みの発生毎に払出エラー状態信号を取り込み、その取込結果を記憶しておく。そして、今回のタイマ割込みで取り込んだ信号状態と、前回のタイマ割込みで取り込んで記憶された信号状態との排他的論理和をとることにより、払出エラー状態信号がオフ状態からオン状態に変化したことや(エラー発生時を示す)、オン状態からオフ状態に変改したことを(エラー解除時を示す)、検出できるようにすればよい。払出制御基板15におけるエラー発生時やエラー解除時には、主基板11から演出制御基板12に向け、各々に対応して用意された演出制御コマンドを伝送することなどにより、払出動作にエラーが発生したことを報知する報知動作の開始や終了を、指示するようにしてもよい。払出エラー状態信号として主基板11に設けられた入力ポートの1つに入力するものに限定されず、例えば満タン信号や球切れ信号、賞球ケースエラー信号、ドア開放信号といった、払出制御基板15に入力される信号を、それぞれ主基板11にも入力して、払出エラー状態信号の場合と同様にエラー発生時やエラー解除時を検出できるようにしてもよい。そして、検出されたエラーの種類に応じた演出制御コマンドを主基板11から演出制御基板12に向けて伝送することなどにより、検出されたエラーに応じた報知動作の開始や終了を、指示するようにしてもよい。
図6は、主基板11に搭載された遊技制御用マイクロコンピュータ100の構成例を示している。図6に示す遊技制御用マイクロコンピュータ100は、例えば1チップマイクロコンピュータであり、外部バスインタフェース501と、クロック回路502と、固有情報記憶回路503と、リセット/割込みコントローラ504と、CPU(Central Processing Unit)505と、ROM(Read Only Memory)506と、RAM(Random Access Memory)507と、CTC(Counter/Timer Circuit)508と、乱数回路509と、PIP(Parallel Input Port)510と、シリアル通信回路511と、アドレスデコード回路512とを備えて構成される。
図7は、遊技制御用マイクロコンピュータ100におけるアドレスマップの一例を示している。図7に示すように、アドレス0000H〜アドレス1FFFHの領域は、ROM506に割り当てられ、ユーザプログラムエリアとプログラム管理エリアとを含んでいる。図8(A)は、ROM506におけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレス2000H〜アドレス20FFHの領域は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図8(B)は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレス7E00H〜アドレス7FFFHの領域は、RAM507に割り当てられたワークエリアであり、I/Oマップやメモリマップに割り付けることができる。アドレスFDD0H〜アドレスFDFBHの領域は、アドレスデコード回路512に割り当てられるXCSデコードエリアである。
プログラム管理エリアは、CPU505がユーザプログラムを実行するために必要な情報を格納する記憶領域である。図8(A)に示すように、プログラム管理エリアには、ヘッダKHDR、機能設定KFCS、第1乱数初期設定KRS1、第2乱数初期設定KRS2、割込み初期設定KIIS、セキュリティ時間設定KSESなどが、含まれている。
プログラム管理エリアに記憶されるヘッダKHDRは、遊技制御用マイクロコンピュータ100における内部データの読出設定を示す。図9(A)は、ヘッダKHDRにおける設定データと動作との対応関係を例示している。ここで、遊技制御用マイクロコンピュータ100では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、遊技制御用マイクロコンピュータ100が備えるROM506の記憶データについて、読出動作を許可又は禁止する機能であり、読出禁止に設定された状態では、ROM506の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置から遊技制御用マイクロコンピュータ100の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図9(A)に示すように、ヘッダKHDRの設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図9(A)に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクが有効となる設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
プログラム管理エリアに記憶される機能設定KFCSは、遊技制御用マイクロコンピュータ100におけるウォッチドッグタイマ(WDT;Watch Dog Timet)の動作設定や、各種機能兼用端子の使用設定を示す。図9(B)は、機能設定KFCSにおける設定内容の一例を示している。
機能設定KFCSのビット番号[7−5]は、例えばリセット/割込みコントローラ504における割込み要因として設定可能なウォッチドッグタイマの動作許可/禁止や、許可した場合の周期を示している。機能設定KFCSのビット番号[4]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第1兼用端子)を、シリアル通信回路511が使用する第2チャネル送信端子TXBとするか、アドレスデコード回路512が使用するチップセレクト出力端子XCS13とするかを指定するTXB端子設定である。図9(B)に示す例において、機能設定KFCSのビット番号[4]におけるビット値が“0”であれば、第1兼用端子がシリアル通信回路511での第2チャネル送信に使用される第2チャネル送信端子TXBの設定となる。これに対して、そのビット値が“1”であれば、第1兼用端子がアドレスデコード回路512で使用されるチップセレクト出力端子XCS13の設定となる。この実施の形態では、機能設定KFCSのビット番号[4]を“0”として、第1兼用端子を第2チャネル送信端子TXBに設定することにより、演出制御基板12との間でのシリアル通信を可能にする。
機能設定KFCSのビット番号[3]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第2兼用端子)を、シリアル通信回路511が使用する第1チャネル送信端子TXAとするか、アドレスデコード回路512が使用するチップセレクト出力端子XCS12とするかを示すTXA端子設定である。図9(B)に示す例において、機能設定KFCSのビット番号[3]におけるビット値が“0”であれば、第2兼用端子がシリアル通信回路511での第1チャネル送信に使用される第1チャネル送信端子TXAの設定となる。これに対して、そのビット値が“1”であれば、第2兼用端子がアドレスデコード回路512で使用されるチップセレクト出力端子XCS12の設定となる。この実施の形態では、機能設定KFCSのビット番号[3]を“0”として、第2兼用端子を第1チャネル送信端子TXAに設定することにより、払出制御基板15との間でのシリアル通信を可能にする。
機能設定KFCSのビット番号[2]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第3兼用端子)を、シリアル通信回路511が使用する第1チャネル受信端子RXAとするか、PIP510が使用する入力ポートP5とするかを示すRXA端子設定である。図9(B)に示す例において、機能設定KFCSのビット番号[2]におけるビット値が“0”であれば、第3兼用端子がシリアル通信回路511での第1チャネル受信に使用される第1チャネル受信端子RXAの設定となる。これに対して、そのビット値が“1”であれば、第3兼用端子がPIP510で使用される入力ポートP5の設定となる。この実施の形態では、機能設定KFCSのビット番号[2]を“0”として、第3兼用端子を第1チャネル受信端子RXAに設定することにより、払出制御基板15との間でのシリアル通信を可能にする。
機能設定KFCSのビット番号[1]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第4兼用端子)を、CPU505等に接続される外部ノンマスカブル割込み端子XNMIとするか、PIP510が使用する入力ポートP4とするかを示すNMI接続設定である。図9(B)に示す例において、機能設定KFCSのビット番号[1]におけるビット値が“0”であれば、第4兼用端子がCPU505等に接続される外部ノンマスカブル割込み端子XNMIの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第4兼用端子がPIP510で使用される入力ポートP4の設定となる(CPU非接続)。
機能設定KFCSのビット番号[0]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第5兼用端子)を、CPU505等に接続される外部マスカブル割込み端子XINTとするか、PIP510が使用する入力ポートP3とするかを示すXINT接続設定である。図9(B)に示す例において、機能設定KFCSのビット番号[0]におけるビット値が“0”であれば、第5兼用端子がCPU505等に接続される外部マスカブル割込み端子XINTの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第5兼用端子がPIP510で使用される入力ポートP3の設定となる(CPU非接続)。
プログラム管理エリアに記憶される第1乱数初期設定KRS1及び第2乱数初期設定KRS2は、乱数回路509の初期設定を示す。図10(A)は、第1乱数初期設定KRS1における設定内容の一例を示している。図10(B)は、第2乱数初期設定KRS2における設定内容の一例を示している。
第1乱数初期設定KRS1のビット番号[3]は、乱数回路509を使用するか否かを示す乱数回路使用設定である。図10(A)に示す例において、第1乱数初期設定KRS1のビット番号[3]におけるビット値が“0”であれば、乱数回路509を使用しない設定となる一方(未使用)、“1”であれば、乱数回路509を使用する設定となる(使用)。この実施の形態では、第1乱数初期設定KRS1のビット番号[3]を“1”として、乱数回路509を使用可能に設定する。
第1乱数初期設定KRS1のビット番号[2]は、乱数回路509における乱数値となる数値データの更新に用いられる乱数更新クロックRGK(図15参照)を、内部システムクロックSCLKとするか、乱数用クロックRCLKの2分周とするかを示す乱数更新クロック設定である。図10(A)に示す例において、第1乱数初期設定KRS1のビット番号[2]におけるビット値が“0”であれば、内部システムクロックSCLKを乱数更新クロックRGKに用いる設定となる一方、“1”であれば、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定となる。この実施の形態では、第1乱数初期設定KRS1のビット番号[2]を“1”として、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定とする。
第1乱数初期設定KRS1のビット番号[1−0]は、乱数回路509における乱数更新規則を変更するか否かや、変更する場合における変更方式を示す乱数更新規則設定である。図10(A)に示す例において、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が“00”であれば、乱数更新規則を変更しない設定となり、“01”であれば、2周目以降にて乱数更新規則をソフトウェアにより変更する設定となり、“10”であれば、2周目以降にて乱数更新規則を自動で変更する設定となる。
第2乱数初期設定KRS2のビット番号[3−2]は、固定のビット値“00”が設定される。なお、図10(B)における「00B」の“B”は2進数表示であることを示す。第2乱数初期設定KRS2のビット番号[1−0]は、乱数回路509における乱数値となる数値データでのスタート値に関する設定を示す。図10(B)に示す例において、第2乱数初期設定KRS2のビット番号[1]におけるビット値が“0”であれば、スタート値が所定のデフォルト値0000Hに設定される一方、“1”であるときには、遊技制御用マイクロコンピュータ100ごとに付与された固有の識別情報であるIDナンバーに基づく値がスタート値に設定される。また、図10(B)に示す例では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“0”であれば、システムリセット毎にスタート値を変更しない設定となる一方、“1”であるときには、システムリセット毎にスタート値を変更する設定となる。なお、スタート値をIDナンバーに基づく値に設定する場合には、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値をスタート値に用いるようにすればよい。また、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”である場合には、システムリセット毎に所定のフリーランカウンタ(例えば図14に示すフリーランカウンタ554A)におけるカウント値に基づいて設定される値をスタート値に用いるようにすればよい。さらに、第2乱数初期設定KRS2のビット番号[1]及び[0]におけるビット値がともに“1”である場合には、IDナンバーとフリーランカウンタにおけるカウント値とに基づいて設定される値をスタート値に用いるようにすればよい。
なお、乱数回路509にて乱数値となる数値データを生成するための回路が2系統(第1及び第2チャネル対応)設けられる場合には、図10(A)及び(B)に示す第1乱数初期設定KRS1のビット番号[3−0]と第2乱数初期設定KRS2のビット番号[3−0]とを、第1チャネルにおける初期設定を示すものとして使用する。その一方で、第1乱数初期設定KRS1のビット番号[7−4]や第2乱数初期設定KRS2のビット番号[7−4]を(図10(A)及び(B)では省略)、第2チャネルにおける初期設定を示すものとして使用すればよい。
プログラム管理エリアに記憶される割込み初期設定KIISは、遊技制御用マイクロコンピュータ100にて発生するマスカブル割込みの取扱いに関する初期設定を示す。図10(C)は、割込み初期設定KIISにおける設定内容の一例を示している。
割込み初期設定KIISのビット番号[7−4]では、割込みベクタの上位4ビットを設定する。割込み初期設定KIISのビット番号[3−0]では、マスカブル割込み要因の優先度の組合せを設定する。図10(C)に示す例において、割込み初期設定KIISのビット番号[3−0]により「00H」〜「02H」及び「06H」のいずれかが指定されれば、CTC508からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。これに対して、「03H」及び「07H」のいずれかが指定されれば、乱数回路509からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。また、「04H」及び「05H」のいずれかが指定されれば、シリアル通信回路511からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。なお、同一回路からのマスカブル割込み要因を最優先とする優先度の組合せでも、指定値が異なる場合には、最優先となるマスカブル割込み要因の種類や第2順位以下における優先度の組合せなどが異なっている。
プログラム管理エリアに記憶されるセキュリティ時間設定KSESは、乱数用クロックRCLKの周波数を監視する場合に異常を検知する周波数や、遊技制御用マイクロコンピュータ100の動作開始時などに移行するセキュリティモードの時間(セキュリティ時間)に関する設定を示す。ここで、遊技制御用マイクロコンピュータ100の動作モードがセキュリティモードであるときには、所定のセキュリティチェック処理が実行されて、ROM506の記憶内容が変更されたか否かが検査される。図11(A)は、セキュリティ時間設定KSESにおける設定内容の一例を示している。
セキュリティ時間設定KSESのビット番号[7−6]は、乱数用クロックRCLKの周波数を監視する場合に異常が検出される周波数を示す乱数用クロック異常検出設定である。図11(B)は、セキュリティ時間設定KSESのビット番号[7−6]における設定内容の一例を示している。セキュリティ時間設定KSESのビット番号[7−6]は、内部システムクロックSCLKの周波数に基づき、乱数用クロックRCLKの周波数が異常と検知される基準値(判定値)を指定する。こうしたセキュリティ時間設定KSESのビット番号[7−6]における設定に基づき、乱数用クロックRCLKの入力状態を内部システムクロックSCLKと比較することにより、乱数用クロックRCLKの入力状態に異常が発生したか否かの判定を可能にする。セキュリティ時間設定KSESのビット番号「5」は、固定のビット値“0”が設定される。
セキュリティ時間設定KSESのビット番号[4−3]は、セキュリティ時間をシステムリセット毎にランダムな時間分延長する場合の時間設定を示す。図11(C)は、セキュリティ時間設定KSESのビット番号[4−3]における設定内容の一例を示している。図11(C)に示す例において、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”であれば、ランダムな時間延長を行わない設定となる。これに対して、そのビット値が“01”であればショートモードの設定となり、“10”であればロングモードの設定となる。ここで、ショートモードやロングモードが指定された場合には、例えば遊技制御用マイクロコンピュータ100に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時に遊技制御用マイクロコンピュータ100が備える所定の内蔵レジスタ(可変セキュリティ時間用レジスタ)に格納する。そして、初期設定時に可変セキュリティ時間用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、セキュリティ時間を延長する際の延長時間がランダムに決定されればよい。一例として、内部システムクロックSCLKの周波数が6.0MHzである場合には、ショートモードにおいて0〜680μs(マイクロ秒)の範囲で延長時間がランダムに決定され、ロングモードにおいて0〜348,160μsの範囲で延長時間がランダムに決定される。また、他の一例として、内部システムクロックSCLKの周波数が10.0MHzである場合には、ショートモードにおいて0〜408μsの範囲で延長時間がランダムに決定され、ロングモードにおいて0〜208,896μsの範囲で延長時間がランダムに決定される。可変セキュリティ時間用レジスタは、例えば遊技制御用マイクロコンピュータ100のRAM507におけるバックアップ領域といった、主基板11におけるバックアップ箇所と共通のバックアップ電源を用いてバックアップされるものであればよい。あるいは、可変セキュリティ時間用レジスタは、RAM507におけるバックアップ領域などに用いられるバックアップ電源とは別個に設けられた電源によりバックアップされてもよい。こうして、可変セキュリティ時間用レジスタがバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、所定期間は可変セキュリティ時間用レジスタの格納値が保存されることになる。なお、フリーランカウンタにおけるカウント値を読み出して可変セキュリティ時間用レジスタに格納するタイミングは、システムリセットの発生時に限定されず、予め定められた任意のタイミングとしてもよい。あるいは、フリーランカウンタをバックアップ電源によってバックアップしておき、初期設定時にフリーランカウンタから読み出した格納値を用いてセキュリティ時間を延長する際の延長時間がランダムに決定されてもよい。
また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値によりショートモード又はロングモードを設定するとともに、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外とすることにより固定時間に加える延長時間を設定することもできる。この場合には、ビット番号[2−0]におけるビット値に対応した延長時間と、ビット番号[4−3]におけるビット値に基づいてランダムに決定された延長時間との双方が、固定時間に加算されて、遊技制御用マイクロコンピュータ100がセキュリティモードとなるセキュリティ時間が決定されることになる。
図6に示す遊技制御用マイクロコンピュータ100が備える外部バスインタフェース501は、遊技制御用マイクロコンピュータ100を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース501は、遊技制御用マイクロコンピュータ100に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであればよい。この実施の形態において、外部バスインタフェース501には、内部リソースアクセス制御回路501Aが含まれている。
内部リソースアクセス制御回路501Aは、外部バスインタフェース501を介した外部装置から遊技制御用マイクロコンピュータ100の内部データに対するアクセスを制御して、例えばROM506に記憶されたゲーム制御用プログラム(遊技制御処理プログラム)や固定データといった、内部データの不適切な外部読出を制限するための回路である。ここで、外部バスインタフェース501には、例えばインサーキットエミュレータ(ICE;InCircuit Emulator)といった回路解析装置が、外部装置として接続されることがある。
一例として、ROM506のプログラム管理エリアに記憶されたヘッダKHDRの内容に応じて、ROM506における記憶データの読み出しを禁止するか許可するかを切り替えられるようにする。例えば、ヘッダKHDRがバス出力マスク無効データとなっている場合には、外部装置によるROM506の読み出しを可能にして、内部データの外部読出を許可する。これに対して、ヘッダKHDRがバス出力マスク有効データとなっている場合には、例えば外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることなどにより、外部装置からROM506の読み出しを不能にして、内部データの外部読出を禁止する。この場合、外部バスインタフェース501に接続された外部装置から内部データの読み出しが要求されたときには、予め定められた固定値を出力することで、外部装置からは内部データを読み出すことができないようにする。また、ヘッダKHDRがROM読出禁止データとなっている場合には、ROM506自体を読出不能として、ROM506における記憶データの読み出しを防止してもよい。そして、例えば製造段階のROMでは、ヘッダKHDRをROM読出禁止データとすることで、ROM自体を読出不能としておき、開発用ROMとするのであればバス出力マスク無効データをヘッダKHDRに書き込むことで、外部装置による内部データの検証を可能にする。これに対して、量産用ROMとするのであればバス出力マスク有効データをヘッダKHDRに書き込むことで、CPU505などによる遊技制御用マイクロコンピュータ100の内部におけるROM506の読み出しは可能とする一方で、外部装置によるROM506の読み出しはできないようにすればよい。
他の一例として、内部リソースアクセス制御回路501Aは、ROM506における記憶データの全部又は一部といった、遊技制御用マイクロコンピュータ100の内部データの読み出しが、外部バスインタフェース501に接続された外部装置から要求されたことを検出する。この読出要求を検出したときに、内部リソースアクセス制御回路501Aは、遊技制御用マイクロコンピュータ100の内部データの読み出しを許可するか否かの判定を行う。例えば、ROM506における記憶データの全部又は一部に暗号化処理が施されているものとする。この場合、内部リソースアクセス制御回路501Aは、外部装置からの読出要求がROM506に記憶された暗号化処理プログラムや鍵データ等に対する読出要求であれば、この読出要求を拒否して、遊技制御用マイクロコンピュータ100の内部データの読み出しを禁止する。外部バスインタフェース501では、ROM506の記憶データが出力される出力ポートと、内部バスとの間にスイッチ素子を設け、内部リソースアクセス制御回路501Aが内部データの読み出しを禁止した場合には、このスイッチ素子をオフ状態とするように制御すればよい。このように、内部リソースアクセス制御回路501Aは、外部装置からの読出要求が所定の内部データ(例えばROM506の所定領域)の読み出しを要求するものであるか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしてもよい。
あるいは、内部リソースアクセス制御回路501Aは、内部データの読出要求を検出したときに、所定の認証コードが外部装置から入力されたか否かを判定してもよい。この場合には、例えば内部リソースアクセス制御回路501Aの内部あるいはROM506の所定領域に、認証コードとなる所定のコードパターンが予め記憶されていればよい。そして、外部装置から認証コードが入力されたときには、この認証コードを内部記憶された認証コードと比較して、一致すれば読出要求を受容して、遊技制御用マイクロコンピュータ100の内部データの読み出しを許可する。これに対して、外部装置から入力された認証コードが内部記憶された認証コードと一致しない場合には、読出要求を拒否して、遊技制御用マイクロコンピュータ100の内部データの読み出しを禁止する。このように、内部リソースアクセス制御回路501Aは、外部装置から入力された認証コードが内部記憶された認証コードと一致するか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしてもよい。これにより、検査機関などが予め知得した正しい認証コードを用いて、遊技制御用マイクロコンピュータ100の内部データを損なうことなく読み出すことができ、内部データの正当性を適切に検査することなどが可能になる。
さらに他の一例として、内部リソースアクセス制御回路501Aに読出禁止フラグを設け、読出禁止フラグがオン状態であれば外部装置によるROM506の読み出しを禁止する。その一方で、読出禁止フラグがオフ状態であるときには、外部装置によるROM506の読み出しが許可される。ここで、読出禁止フラグは、初期状態ではオフ状態であるが、読出禁止フラグを一旦オン状態とした後には、読出禁止フラグをクリアしてオフ状態に復帰させることができないように構成されていればよい。すなわち、読出禁止フラグはオフ状態からオン状態に不可逆的に変更することが可能とされている。例えば、内部リソースアクセス制御回路501Aには、読出禁止フラグをクリアしてオフ状態とする機能が設けられておらず、どのような命令によっても読出禁止フラグをクリアすることができないように設定されていればよい。そして、内部リソースアクセス制御回路501Aは、外部装置からROM506における記憶データといった遊技制御用マイクロコンピュータ100の内部データの読み出しが要求されたときに、読出禁止フラグがオンであるか否かを判定する。このとき、読出禁止フラグがオンであれば、外部装置からの読出要求を拒否して、遊技制御用マイクロコンピュータ100の内部データの読み出しを禁止する。他方、読出禁止フラグがオフであれば、外部装置からの読出要求を受容して、遊技制御用マイクロコンピュータ100の内部データの読み出しを許可にする。このような構成であれば、ゲーム制御用の遊技制御処理プログラムを作成してROM506に格納する提供者においては、読出禁止フラグがオフとなっている状態でデバッグの終了したプログラムをROM506から外部装置に読み込むことができる。そして、デバッグの作業が終了した後に出荷する際には、読出禁止フラグをオン状態にセットすることにより、それ以後はROM506の外部読出を制限することができ、パチンコ遊技機1の使用者などによるROM506の読出を防止することができる。このように、内部リソースアクセス制御回路501Aは、読出禁止フラグといった内部フラグがオフであるかオンであるかに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしてもよい。
なお、読出禁止フラグを不可逆に設定するのではなく、オン状態からオフ状態に変更することも可能とする一方で、読出禁止フラグをオン状態からオフ状態に変更して内部データの読み出しが許可されるときには、ROM506の記憶データを消去(例えばフラッシュ消去など)することにより、ROM506の外部読出を制限するようにしてもよい。
遊技制御用マイクロコンピュータ100が備えるクロック回路502は、例えば制御用外部クロック端子EXCに入力される発振信号を2分周することなどにより、内部システムクロックSCLKを生成する回路である。この実施の形態では、制御用外部クロック端子EXCに制御用クロック生成回路111が生成した制御用クロックCCLKが入力される。クロック回路502により生成された内部システムクロックSCLKは、例えばCPU505といった、遊技制御用マイクロコンピュータ100において遊技の進行を制御する各種回路に供給される。また、内部システムクロックSCLKは、乱数回路509にも供給され、乱数用クロック生成回路112から供給される乱数用クロックRCLKの周波数を監視するために用いられる。さらに、内部システムクロックSCLKは、クロック回路502に接続されたシステムクロック出力端子CLKOから、遊技制御用マイクロコンピュータ100の外部へと出力されてもよい。なお、内部システムクロックSCLKは、遊技制御用マイクロコンピュータ100の外部へは出力されないことが望ましい。このように、内部システムクロックSCLKの外部出力を制限することにより、遊技制御用マイクロコンピュータ100の内部回路(CPU505など)の動作周期を外部から特定することが困難になり、乱数値となる数値データをソフトウェアにより更新する場合に、乱数値の更新周期が外部から特定されてしまうことを防止できる。
遊技制御用マイクロコンピュータ100が備える固有情報記憶回路503は、例えば遊技制御用マイクロコンピュータ100の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路503は、ROMコード、チップ個別ナンバー、IDナンバーといった3種類の固有情報を記憶する。ROM506コードは、ROM506の所定領域における記憶データから生成される4バイトの数値であり、生成方法の異なる4つの数値が準備されればよい。チップ個別ナンバーは、遊技制御用マイクロコンピュータ100の製造時に付与される4バイトの番号であり、遊技制御用マイクロコンピュータ100を構成するチップ毎に異なる数値を示している。IDナンバーは、遊技制御用マイクロコンピュータ100の製造時に付与される8バイトの番号であり、遊技制御用マイクロコンピュータ100を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、IDナンバーはユーザプログラムから読み取ることができないように設定されていればよい。なお、固有情報記憶回路503は、例えばROM506の所定領域を用いることなどにより、ROM506に含まれるようにしてもよい。あるいは、固有情報記憶回路503は、例えばCPU505の内蔵レジスタを用いることなどにより、CPU505に含まれるようにしてもよい。
遊技制御用マイクロコンピュータ100が備えるリセット/割込みコントローラ504は、遊技制御用マイクロコンピュータ100の内部や外部にて発生する各種リセット、割込み要求を制御するためのものである。リセット/割込みコントローラ504が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子XSRSTに一定の期間にわたりローレベル信号が入力されたときに発生するリセットである。ユーザリセットは、ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したことや、指定エリア外走行禁止(IAT)が発生したことなど、所定の要因により発生するリセットである。
リセット/割込みコントローラ504が制御する割込みには、ノンマスカブル割込みNMIとマスカブル割込みINTが含まれている。ノンマスカブル割込みNMIは、CPU505の割込み禁止状態でも無条件に受け付けられる割込みであり、外部ノンマスカブル割込み端子XNMI(入力ポートP4と兼用)に一定の期間にわたりローレベル信号が入力されたときに発生する割込みである。マスカブル割込みINTは、CPU505の設定命令により、割込み要求の受け付けを許可/禁止できる割込みであり、優先順位設定による多重割込みの実行が可能である。マスカブル割込みINTの要因としては、外部マスカブル割込み端子XINT(入力ポートP3と兼用)に一定の期間にわたりローレベル信号が入力が入力されたこと、CTC508に含まれるタイマ回路にてタイムアウトが発生したこと、シリアル通信回路511にてデータ受信又はデータ送信による割込み要因が発生したこと、乱数回路509にて乱数値となる数値データの取込による割込み要因が発生したことなど、複数種類の割込み要因が予め定められていればよい。
リセット/割込みコントローラ504は、図8(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、割込みマスクレジスタIMR(アドレス2028H)、割込み待ちモニタレジスタIRR(アドレス2029H)、割込み中モニタレジスタISR(アドレス202AH)、内部情報レジスタCIF(アドレス208CH)などを用いて、割込みの制御やリセットの管理を行う。割込みマスクレジスタIMRは、互いに異なる複数の要因によるマスカブル割込みINTのうち、使用するものと使用しないものとを設定するレジスタである。割込み待ちモニタレジスタIRRは、割込み初期設定KIISにより設定されたマスカブル割込み要因のそれぞれについて、マスカブル割込み要求信号の発生状態を確認するレジスタである。割込み中モニタレジスタISRは、割込み初期設定KIISにより設定されたマスカブル割込み要因のそれぞれについて、マスカブル割込み要求信号の処理状態を確認するレジスタである。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数用クロックRCLKの周波数異常を記録したりするためのレジスタである。
図12(A)は、内部情報レジスタCIFの構成例を示している。図12(B)は、内部情報レジスタCIFに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4は、乱数用クロックRCLKにおける周波数異常の有無を示す乱数用クロック異常指示である。図12(B)に示す例では、乱数用クロックRCLKの周波数異常が検知されないときに、内部情報データCIF4のビット値が“0”となる一方、周波数異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[2]に格納される内部情報データCIF2は、直前に発生したリセット要因がシステムリセットであるか否かを示すシステムリセット指示である。図12(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データCIF2のビット値が“0”となる一方、システムリセットであるときには(システムリセット発生)、そのビット値が“1”となる。内部情報データCIF2を用いた動作の第1例として、電源投入時に遊技制御用マイクロコンピュータ100のCPU505などが内部情報データCIF2のビット値をチェックして、そのビット値が“1”(セット)でなければ、通常の電源投入ではないと判断する。このときには、例えば演出制御基板12に向けて所定の演出制御コマンドを伝送させることなどにより、パチンコ遊技機1における電源投入直後に大当り遊技状態とすることを狙った不正信号の入力行為が行われた可能性がある旨を、演出装置などにより報知させてもよい。また、内部情報データCIF2を用いた動作の第2例として、パチンコ遊技機1が電源投入時にのみ確変状態を報知し、通常時には確変状態を報知しない場合に、電源投入時に遊技制御用マイクロコンピュータ100のCPU505などが内部情報データCIF2のビット値をチェックして、そのビット値が“1”(セット)でなければ、遊技状態の報知を行わないようにしてもよい。
内部情報レジスタCIFのビット番号[1]に格納される内部情報データCIF1は、直前に発生したリセット要因がウォッチドッグタイマ(WDT)のタイムアウトによるユーザリセットであるか否かを示すWDTタイムアウト指示である。図12(B)に示す例では、直前のリセット要因がウォッチドッグタイマのタイムアウトによるユーザリセットではないときに(タイムアウト未発生)、内部情報データCIF1のビット値が“0”となる一方、ウォッチドッグタイマのタイムアウトによるユーザリセットであるときに(タイムアウト発生)、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[0]に格納される内部情報データCIF0は、直前に発生したリセット要因が指定エリア外走行禁止(IAT)によるユーザリセットであるか否かを示すIAT発生指示である。図12(B)に示す例では、直前のリセット要因が指定エリア外走行の発生によるユーザリセットではないときに(IAT発生なし)、内部情報データCIF0のビット値が“0”となる一方、指定エリア外走行の発生によるユーザリセットであるときに(IAT発生あり)、そのビット値が“1”となる。
遊技制御用マイクロコンピュータ100が備えるCPU505は、ROM506から読み出した制御コードに基づいてユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を実行することにより、パチンコ遊技機1における遊技制御を実行する制御用CPUである。こうした遊技制御が実行されるときには、CPU505がROM506から固定データを読み出す固定データ読出動作や、CPU505がRAM507に各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU505がRAM507に一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU505が外部バスインタフェース501やPIP510、シリアル通信回路511などを介して遊技制御用マイクロコンピュータ100の外部から各種信号の入力を受け付ける受信動作、CPU505が外部バスインタフェース501やシリアル通信回路511などを介して遊技制御用マイクロコンピュータ100の外部へと各種信号を出力する送信動作等も行われる。
このように、遊技制御用マイクロコンピュータ100では、CPU505がROM506に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ100(又はCPU505)が実行する(又は処理を行う)ということは、具体的には、CPU505がプログラムに従って制御を実行することである。このことは、主基板11以外の他の基板に搭載されているマイクロコンピュータについても同様である。
遊技制御用マイクロコンピュータ100が備えるROM506には、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。また、ROM506には、セキュリティチェックプログラム506Aが記憶されている。CPU505は、パチンコ遊技機1の電源投入やシステムリセットの発生に応じて遊技制御用マイクロコンピュータ100がセキュリティモードに移行したときに、ROM506に記憶されたセキュリティチェックプログラム506Aを読み出し、ROM506の記憶内容が変更されたか否かを検査するセキュリティチェック処理を実行する。なお、セキュリティチェックプログラム506Aは、ROM506とは異なる内蔵メモリに記憶されてもよい。また、セキュリティチェックプログラム506Aは、例えば外部バスインタフェース501を介して遊技制御用マイクロコンピュータ100に外付けされた外部メモリの記憶内容を検査するセキュリティチェック処理に対応したものであってもよい。
遊技制御用マイクロコンピュータ100が備えるRAM507は、ゲーム制御用のワークエリアを提供する。ここで、RAM507の少なくとも一部は、電源基板10において作成されるバックアップ電源によってバックアップされているバックアップRAMであればよい。すなわち、パチンコ遊技機1への電力供給が停止しても、所定期間はRAM507の少なくとも一部の内容が保存される。
遊技制御用マイクロコンピュータ100が備えるCTC508は、例えば8ビットのプログラマブルタイマを3チャネル(PTC0−PTC2)内蔵して構成され、リアルタイム割込みの発生や時間計測を可能とするタイマ回路を含んでいる。各プログラマブルタイマPTC0−PTC2は、内部システムクロックSCLKに基づいて生成されたカウントクロックの信号変化(例えばハイレベルからローレベルへと変化する立ち下がりタイミング)などに応じて、タイマ値が更新されるものであればよい。また、CTC508は、例えば8ビットのプログラマブルカウンタを4チャネル(PCC0−PCC3)内蔵してもよい。各プログラマブルカウンタPCC0−PCC3は、内部システムクロックSCLKの信号変化、あるいは、プログラマブルカウンタPCC0−PCC3のいずれかにおけるタイムアウトの発生などに応じて、カウント値が更新されるものであればよい。CTC508は、セキュリティ時間を延長する際の延長時間(可変設定時間)をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタなどを、含んでもよい。あるいは、こうしたフリーランカウンタは、例えばRAM507のバックアップ領域といった、CTC508とは異なる遊技制御用マイクロコンピュータ100の内部回路に含まれてもよい。
遊技制御用マイクロコンピュータ100が備える乱数回路509は、例えば16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。この実施の形態では、主基板11の側において、例えば図13に示すような特図表示結果決定用の乱数値MR1、大当り種別決定用の乱数値MR2、リーチ決定用の乱数値MR3、変動パターン種別決定用の乱数値MR4、変動パターン決定用の乱数値MR5のそれぞれを示す数値データが、カウント(更新)可能に制御される。なお、遊技効果を高めるために、これら以外の乱数値が用いられてもよい。こうした遊技の進行を制御するために用いられる乱数は、遊技用乱数ともいう。CPU505は、乱数回路509から抽出した数値データに基づき、例えば図34に示す遊技制御カウンタ設定部594に設けられたランダムカウンタといった、乱数回路509とは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工あるいは更新することで、乱数値MR1〜MR5の全部又は一部を示す数値データをカウントするようにしてもよい。あるいは、CPU505は、乱数回路509を用いることなく、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタのみを用いて、ソフトウェアによって乱数値MR1〜MR5を示す数値データの一部をカウント(更新)するようにしてもよい。一例として、ハードウェアとなる乱数回路509からCPU505により抽出された数値データを、ソフトウェアにより加工することで、特図表示結果決定用の乱数値MR1を示す数値データが更新され、それ以外の乱数値MR2〜MR5を示す数値データは、CPU505がランダムカウンタなどを用いてソフトウェアにより更新すればよい。
特図表示結果決定用の乱数値MR1は、特図ゲームにおける特別図柄などの可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、決定するために用いられる乱数値である。例えば、特図表示結果決定用の乱数値MR1は、「0」〜「65535」の範囲の値をとる。大当り種別決定用の乱数値MR2は、可変表示結果を「大当り」とする場合に、大当り種別を複数種類のいずれかに決定するために用いられる乱数値である。例えば、大当り種別決定用の乱数値MR2は、「0」〜「99」の範囲の値をとる。
リーチ決定用の乱数値MR3は、可変表示結果を「ハズレ」とする場合に、飾り図柄をリーチ表示状態で導出表示する「リーチ」の可変表示態様とするか否かを決定するために用いられる乱数値である。例えば、リーチ決定用の乱数値MR3は、「0」〜「239」の範囲の値をとる。
変動パターン種別決定用の乱数値MR4は、飾り図柄の変動パターン種別を、予め用意された複数種類のいずれかに決定するために用いられる乱数値である。例えば、変動パターン種別決定用の乱数値MR4は、「0」〜「241」の範囲の値をとる。ここで、各変動パターン種別は、例えば飾り図柄の可変表示中に実行される演出動作などに基づいて分類された1つ又は複数の変動パターンを含むように構成されたものであればよい。なお、複数の変動パターン種別のうちには、共通の変動パターンを一部に含んで構成されたものがあってもよく、一方の変動パターン種別に含まれる変動パターンの全部が、他方の変動パターン種別にも含まれるように構成されたものがあってもよい。変動パターン決定用の乱数値MR5は、飾り図柄の変動パターンを、予め用意された複数種類のいずれかに決定するために用いられる乱数値である。例えば、変動パターン決定用の乱数値MR5は、「0」〜「997」の範囲の値をとる。
図14は、乱数回路509の一構成例を示すブロック図である。乱数回路509は、図14に示すように、周波数監視回路551、クロック用フリップフロップ552、乱数生成回路553、スタート値設定回路554、フリーランカウンタ554A、乱数列変更回路555、乱数列変更設定回路556、ラッチ用フリップフロップ557A、557B、乱数ラッチセレクタ558A、558B、乱数値レジスタ559A、559Bを備えて構成される。なお、乱数値レジスタ559Aと乱数値レジスタ559Bはそれぞれ、図8(B)に示すような遊技制御用マイクロコンピュータ100の内蔵レジスタに含まれる乱数値レジスタR1D(アドレス2038H−2039H)と乱数値レジスタR2D(アドレス203AH−203BH)に対応している。
周波数監視回路551は、乱数用クロック生成回路112により生成された乱数用クロックRCLKの乱数回路509に対する入力状態を監視して、その異常発生を検知するための回路である。周波数監視回路551は、例えば乱数用外部クロック端子ERCに入力される発振信号を監視して、内部システムクロックSCLKとの比較により、セキュリティ時間設定KSESのビット番号[7−6]における設定内容(図11(B)参照)に応じた周波数異常を検知したときに、内部情報レジスタCIFのビット番号[4]を“1”にセットする。この実施の形態では、乱数用外部クロック端子ERCに乱数用クロック生成回路112が生成した乱数用クロックRCLKが入力される。
クロック用フリップフロップ552は、例えばD型フリップフロップなどを用いて構成され、乱数用外部クロック端子ERCからの乱数用クロックRCLKがクロック端子CKに入力される。また、クロック用フリップフロップ552では、逆相出力端子(反転出力端子)QバーがD入力端子に接続されている。そして、正相出力端子(非反転出力端子)Qから乱数更新クロックRGKを出力する一方で、逆相出力端子(反転出力端子)Qバーからラッチ用クロックRC0を出力する。この場合、クロック用フリップフロップ552は、クロック端子CKに入力される乱数用クロックRCLKにおける信号状態が所定の変化をしたときに、正相出力端子(非反転出力端子)Q及び逆相出力端子(反転出力端子)Qバーからの出力信号における信号状態を変化させる。例えば、クロック用フリップフロップ552は、乱数用クロックRCLKの信号状態がローレベルからハイレベルへと変化する立ち上がりのタイミング、あるいは、乱数用クロックRCLKの信号状態がハイレベルからローレベルへと変化する立ち下がりのタイミングのうち、いずれか一方のタイミングにて、D入力端子における入力信号を取り込む。このとき、正相出力端子(非反転出力端子)Qからは、D入力端子にて取り込まれた入力信号が反転されることなく出力される一方で、逆相出力端子(反転出力端子)Qバーからは、D入力端子にて取り込まれた入力信号が反転されて出力される。こうして、クロック用フリップフロップ552の正相出力端子(非反転出力端子)Qからは乱数用クロックRCLKにおける発振周波数(例えば20MHz)の1/2となる発振周波数(例えば10MHz)を有する乱数更新クロックRGKが出力される一方、逆相出力端子(反転出力端子)Qバーからは乱数更新クロックRGKの逆相信号(反転信号)、すなわち乱数更新クロックRGKと同一周波数で乱数更新クロックRGKとは位相がπ(=180°)だけ異なるラッチ用クロックRC0が出力される。
クロック用フリップフロップ552から出力された乱数更新クロックRGKは、乱数生成回路553のクロック端子に入力されて、乱数生成回路553におけるカウント値の歩進に用いられる。また、クロック用フリップフロップ552から出力されたラッチ用クロックRC0は、分岐点BR1にてラッチ用クロックRC1とラッチ用クロックRC2とに分岐される。したがって、ラッチ用クロックRC1とラッチ用クロックRC2とは、互いに同一の発振周波数を有し、互いに共通の周期で信号状態が変化することになる。ここで、ラッチ用クロックRC1やラッチ用クロックRC2における信号状態の変化としては、例えばローレベルからハイレベルへと変化する立ち上がりや、ハイレベルからローレベルへと変化する立ち下がりなどがある。ラッチ用クロックRC1は、ラッチ用フリップフロップ557Aのクロック端子CKに入力されて、始動入賞時ラッチ信号SL1の生成に用いられる乱数取得用クロックとなる。ラッチ用クロックRC2は、ラッチ用フリップフロップ557Bのクロック端子CKに入力されて、始動入賞時ラッチ信号SL2の生成に用いられる乱数取得用クロックとなる。
ここで、乱数用クロックRCLKの発振周波数と、制御用クロック生成回路111によって生成される制御用クロックCCLKの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。一例として、制御用クロックCCLKの発振周波数が11.0MHzである一方で、乱数用クロックRCLKの発振周波数は9.7MHzであればよい。そのため、乱数更新クロックRGKやラッチ用クロックRC1、RC2はいずれも、CPU505に供給される制御用クロックCCLKとは異なる周期で信号状態が変化する発振信号となる。すなわち、クロック用フリップフロップ552は、乱数用クロック生成回路112によって生成された乱数用クロックRCLKに基づき、カウント値を更新するための乱数更新クロックRGKや、複数の乱数取得用クロックとなるラッチ用クロックRC1、RC2として、制御用クロックCCLKや内部システムクロックSCLK(制御用クロックCCLKを2分周したもの)とは異なる周期で信号状態が変化する発振信号を生成する。
乱数生成回路553は、例えば16ビットのカウンタなどから構成され、クロック用フリップフロップ552から出力される乱数更新クロックRGKなどの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路553は、所定のクロック端子への入力信号である乱数更新クロックRGKにおける立ち下がりエッジに応答して、「0」から「65535」までの範囲内で設定された初期値から「65535」まで1ずつ加算するように数値データをカウントアップして行く。そして、「65535」までカウントアップした後には、「0」から初期値よりも1小さい最終値となる数値まで1ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
スタート値設定回路554は、第2乱数初期設定KRS2のビット番号[1−0]におけるビット値(図10(B)参照)に応じて、乱数生成回路553により生成されるカウント値におけるスタート値を設定する。例えば、スタート値設定回路554は、第2乱数初期設定KRS2のビット番号[1−0]が“00”であればスタート値をデフォルト値である「0000H」に設定し、“10”であればIDナンバーに基づく値に設定し、“01”であればシステムリセット毎に変更されるフリーランカウンタ554Aにおけるカウント値に基づく値に設定し、“11”であればIDナンバーとフリーランカウンタ554Aにおけるカウント値とに基づく値に設定する。図14に示す構成例では、乱数回路509にフリーランカウンタ554Aが内蔵されている。そして、スタート値をシステムリセット毎に変更する場合には、初期設定時にフリーランカウンタ554Aのカウント値をそのまま用いること、あるいは、そのカウント値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、スタート値がランダムに決定されればよい。フリーランカウンタ554Aは、例えば遊技制御用マイクロコンピュータ100のRAM507におけるバックアップ領域といった、主基板11におけるバックアップ箇所と共通のバックアップ電源を用いてバックアップされるものであればよい。あるいは、フリーランカウンタ554Aは、RAM507におけるバックアップ領域などに用いられるバックアップ電源とは別個に設けられた電源によりバックアップされてもよい。こうして、フリーランカウンタ554Aがバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、所定期間はフリーランカウンタ554Aにおけるカウント値が保存されることになる。
フリーランカウンタ554Aがバックアップ電源によってバックアップされるものに限定されず、例えばシステムリセットの発生時にフリーランカウンタ554Aのカウント値を所定の内蔵レジスタ(例えば乱数スタート値用レジスタ)に格納し、この内蔵レジスタがバックアップ電源によってバックアップされるようにしてもよい。そして、初期設定時に乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数に代入して得られた値を用いることなどにより、スタート値がランダムに決定されてもよい。この場合、フリーランカウンタ554Aにおけるカウント値を読み出して乱数スタート値用レジスタに格納するタイミングは、システムリセットの発生時に限定されず、予め定められた任意のタイミングとしてもよい。フリーランカウンタ554Aは、乱数回路509に内蔵されて数値データのスタート値をランダムに決定するために用いられる専用のフリーランカウンタであってもよい。すなわち、フリーランカウンタ554Aは、セキュリティ時間を延長する際に延長時間のランダムな決定に用いられるフリーランカウンタとは別個の構成として設けられたものであってもよい。あるいは、フリーランカウンタ554Aとして、遊技制御用マイクロコンピュータ100には内蔵されるが乱数回路509の外部に設けられて、セキュリティ時間を延長する際に延長時間のランダムな決定に用いられるフリーランカウンタと共通のものを用いてもよい。この場合には、数値データのスタート値を決定する処理と、セキュリティ時間中の延長時間をランダムに決定する処理とにおいて、例えばカウント値を代入する演算関数を互いに異ならせること、あるいは、一方の決定処理ではカウント値をそのまま用いるのに対して他方の決定処理ではカウント値を所定の演算関数に代入して得られた値を用いることなどにより、スタート値の決定手法と延長時間の決定手法とを異ならせてもよい。
このように、フリーランカウンタ554Aは、乱数回路509に内蔵されるものに限定されず、例えばCTC508に含まれるものでもよい。あるいは、例えばRAM507のバックアップ領域といった、CTC508とは異なる遊技制御用マイクロコンピュータ100の内部回路に含まれてもよい。また、フリーランカウンタ554Aは、セキュリティ時間を延長する際の延長時間をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタと、同一のカウンタであってもよいし、別個に設けられたカウンタであってもよい。
乱数列変更回路555は、乱数生成回路553により生成された数値データの順列を所定の乱数更新規則に従った順列に変更可能とする回路である。例えば、乱数列変更回路555は、乱数生成回路553から出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する。また、乱数列変更回路555は、例えばビットスクランブル処理に用いるビットスクランブル用キーやビットスクランブルテーブルを変更することなどにより、数値データの順列を変更することができる。
乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値(図10(A)参照)などに応じて、乱数列変更回路555における乱数更新規則を変更する設定を行うための回路である。例えば、乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“00”であれば2周目以降も乱数更新規則を変更しない設定とする一方、“01”であれば2周目以降はソフトウェアでの変更要求に応じて乱数更新規則を変更し、“10”であれば自動で乱数更新規則を変更する。
乱数列変更回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応してソフトウェアによる乱数更新規則の変更を行う場合に、図8(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数列変更レジスタRDSC(アドレス2034H)を用いて、乱数更新規則の変更を制御する。図15(A)は、乱数列変更レジスタRDSCの構成例を示している。図15(B)は、乱数列変更レジスタRDSCに格納される乱数列変更要求データの各ビットにおける設定内容の一例を示している。乱数列変更レジスタRDSCのビット番号[0]に格納される乱数列変更要求データRDSC0は、乱数更新規則をソフトウェアにより変更する場合に、乱数列の変更要求の有無を示している。図15(B)に示す例では、ソフトウェアにより乱数列の変更要求がないときに、乱数列変更要求データRDSC0のビット値が“0”となる一方、乱数列の変更要求があったときには、そのビット値が“1”となる。
図16は、乱数更新規則をソフトウェアにより変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたときに、乱数列変更要求データRDSC0が“1”であることに応答して、乱数更新規則を変更する。図16に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。この後、CPU505がROM506に格納されたユーザプログラムを実行することによって、所定のタイミングで乱数列変更レジスタRDSCのビット番号[0]に“1”が書き込まれたものとする。
そして、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応して、乱数列変更設定回路556が乱数列変更要求データRDSC0を読み出し、そのビット値が“1”であることに応答して、乱数更新規則を変更するための設定を行う。このとき、乱数列変更設定回路556は、乱数生成回路553から出力されたカウント値順列RCNが所定の最終値に達したことに応じて、例えば予め用意された複数種類の乱数更新規則のいずれかを選択することなどにより、乱数更新規則を変更する。図16に示す動作例では、乱数列変更回路555が乱数生成回路553から出力されたカウント値順列RCNにおける最終値に対応する数値データ「65535」を出力した後、乱数列変更要求データRDSC0に応じて乱数更新規則を変更する。その後、乱数列変更回路555は、変更後の乱数更新規則に従った乱数列RSNとして、「65535→65534→…→0」を出力する。乱数列変更レジスタRDSCは、乱数列変更設定回路556により乱数列変更要求データRDSC0が読み出されたときに初期化される。そのため、再び乱数列変更レジスタRDSCのビット番号[0]にビット値“1”が書き込まれるまでは、乱数列変更回路555から出力される乱数列RSNが、「65535→65534→…→0」となる。
CPU505がROM506に格納されたユーザプログラムを実行することによって、乱数列変更レジスタRDSCのビット番号[0]に再びビット値“1”が書き込まれると、乱数更新規則が再度変更される。図16に示す動作例では、乱数列変更回路555が乱数列RSNにおける最終値に対応する数値データ「0」を出力したときに、乱数列変更要求データRDSC0としてビット値“1”が書き込まれたことに応じて乱数更新規則を変更する。その後、乱数列変更回路555は、変更後の乱数更新規則に従った乱数列RSNとして、「0→2→…→65534→1→…→65535」を出力する。
図17は、乱数更新規則を自動で変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更設定回路556が自動的に乱数更新規則を変更する。図17に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。
そして、乱数変更回路555から出力された乱数列RSNが所定の最終値に達したときに、乱数列変更設定回路556は、予め用意された複数種類の更新規則のうちから予め定められた順序に従って更新規則を選択することにより、更新規則を変更するようにしてもよい。あるいは、乱数列変更設定回路556は、複数種類の更新規則のうちから任意の更新規則を選択することにより、更新規則を変更するようにしてもよい。図17に示す動作例では、1回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNが、「65535→65534→…→0」となる。その後、2回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「0→2→…→65534→1→…→65535」となる。図17に示す動作例では、3回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「65534→0→…→32768」となる。4回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「16383→49151→…→49150」となる。5回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「4→3→…→465531」となる。
このように、乱数列変更回路555は、乱数生成回路553から出力されたカウント値順列RCNを、乱数列変更設定回路556の設定により予め定められた乱数更新規則に基づいて変更することで、数値データを所定手順により更新した乱数列RSNを出力することができる。
ラッチ用フリップフロップ557A、557Bはそれぞれ、例えばD型フリップフロップなどを用いて構成される。ラッチ用フリップフロップ557Aでは、D入力端子にPIP510が備える入力ポートP0からの配線が接続され、クロック端子CKにラッチ用クロックRC1を伝送する配線が接続されている。この実施の形態では、入力ポートP0に第1始動口スイッチ22Aからの第1始動入賞信号SS1が入力される。ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立ち下がりエッジなどに応答して、第1始動入賞信号SS1を取り込み、始動入賞時ラッチ信号SL1として出力する。これにより、ラッチ用フリップフロップ557Aでは、ラッチ用クロックRC1の立ち下がりエッジに同期して、第1始動入賞信号SS1が始動入賞時ラッチ信号SL1として出力される。ラッチ用フリップフロップ557Bでは、D入力端子にPIP510が備える入力ポートP1からの配線が接続され、クロック端子CKにラッチ用クロックRC2を伝送する配線が接続されている。この実施の形態では、入力ポートP1に第2始動口スイッチ22Bからの第2始動入賞信号SS2が入力される。ラッチ用フリップフロップ557Bは、ラッチ用クロックRC2の立ち下がりエッジなどに応答して、第2始動入賞信号SS2を取り込み、始動入賞時ラッチ信号SL2として出力する。これにより、ラッチ用フリップフロップ557Bでは、ラッチ用クロックRC2の立ち下がりエッジに同期して、第2始動入賞信号SS2が始動入賞時ラッチ信号SL2として出力される。
なお、第1始動入賞信号SS1や第2始動入賞信号SS2は、第1始動口スイッチ22Aや第2始動口スイッチ22Bから直接伝送されるものに限定されない。一例として、第1始動口スイッチ22Aからの出力信号や第2始動口スイッチ22Bからの出力信号がオン状態となっている時間を計測し、計測した時間が所定の時間(例えば3ms)になったときに、第1始動入賞信号SS1や第2始動入賞信号SS2を出力するタイマ回路を設けてもよい。
乱数ラッチセレクタ558Aは、ラッチ用フリップフロップ557Aから伝送される始動入賞時ラッチ信号SL1と、ソフトウェアによる乱数ラッチ要求信号とを取り込み、いずれかを乱数ラッチ信号LL1として選択的に出力する回路である。乱数ラッチセレクタ558Bは、ラッチ用フリップフロップ557Bから伝送される始動入賞時ラッチ信号SL2と、ソフトウェアによる乱数ラッチ要求信号とを取り込み、いずれかを乱数ラッチ信号LL1として選択的に出力する回路である。乱数ラッチセレクタ558Aと乱数ラッチセレクタ558Bは、図8(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数値取込レジスタRDLT(アドレス2032H)と、乱数ラッチ選択レジスタRDLS(アドレス2030H)とを用いて、乱数ラッチ信号LL1や乱数ラッチ信号LL2の出力を制御する。乱数値取込レジスタRDLTは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、ソフトウェアにより乱数値レジスタ559Aや乱数値レジスタ559Bに取り込むために用いられるレジスタである。乱数ラッチ選択レジスタRDLSは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、乱数値レジスタ559Aや乱数値レジスタ559Bに、ソフトウェアにより取り込むか、入力ポートP0、P1への信号入力により取り込むかの取込方法を示すレジスタである。
図18(A)は、乱数値取込レジスタRDLTの構成例を示している。図18(B)は、乱数値取込レジスタRDLTに格納される乱数値取込指定データの各ビットにおける設定内容の一例を示している。乱数値取込レジスタRDLTのビット番号[1]に格納される乱数値取込指定データRDLT1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに対する乱数値取込指定の有無を示している。図18(B)に示す例では、ソフトウェアにより乱数値レジスタR2Dに対する乱数値の取込指定がないときに、乱数値取込指定データRDLT1のビット値が“0”となる一方、乱数値の取込指定があったときには、そのビット値が“1”となる。乱数値取込レジスタRDLTのビット番号[0]に格納される乱数値取込指定データRDLT0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに対する乱数値取込指定の有無を示している。図18(B)に示す例では、ソフトウェアにより乱数値レジスタR1Dに対する乱数値の取込指定がないときに、乱数値取込指定データRDLT0のビット値が“0”となる一方、乱数値の取込指定があったときには、そのビット値が“1”となる。
図19(A)は、乱数ラッチ選択レジスタRDLSの構成例を示している。図19(B)は、乱数ラッチ選択レジスタRDLSに格納される乱数ラッチ選択データの各ビットにおける設定内容の一例を示している。乱数ラッチ選択レジスタRDLSのビット番号[1]に格納される乱数ラッチ選択データRDLS1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bへの取込方法を示している。図19(B)に示す例では、ソフトウェアによる乱数値取込指定データRDLT1の書き込みに応じて乱数値となる数値データを乱数値レジスタR2Dに取り込む場合に、乱数ラッチ選択データRDLS1のビット値を“0”とする。これに対して、入力ポートP1への信号入力に応じて乱数値となる数値データを乱数値レジスタR2Dに取り込む場合には、乱数ラッチ選択データRDLS1のビット値を“1”とする。乱数ラッチ選択レジスタRDLSのビット番号[0]に格納される乱数ラッチ選択データRDLS0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aへの取込方法を示している。図19(B)に示す例では、ソフトウェアによる乱数値取込指定データRDLT0の書き込みに応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合に、乱数ラッチ選択データRDLS0のビット値を“0”とする。これに対して、入力ポートP0への信号入力に応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合には、乱数ラッチ選択データRDLS0のビット値を“1”とする。
乱数値レジスタ559A、559Bはそれぞれ、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として格納するレジスタである。図20(A)及び(B)は、乱数値レジスタR1Dとなる乱数値レジスタ559Aの構成例を示している。なお、図20(A)は、乱数値レジスタR1Dの下位バイトR1D(L)を示し、図20(B)は、乱数値レジスタR1Dの上位バイトR1D(H)を示している。図20(C)及び(D)は、乱数値レジスタR2Dとなる乱数値レジスタ559Bの構成例を示している。なお、図20(C)は、乱数値レジスタR2Dの下位バイトR2D(L)を示し、図20(D)は、乱数値レジスタR2Dの上位バイトR2D(H)を示している。乱数値レジスタ559A、559Bはいずれも16ビット(2バイト)のレジスタであり、16ビットの乱数値を格納することができる。
乱数値レジスタ559Aは、乱数ラッチセレクタ558Aから供給される乱数ラッチ信号LL1がオン状態となったことに応答して、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として取り込んで格納する。乱数値レジスタ559Aは、CPU505から供給されるレジスタリード信号RRS1がオン状態となったときに、読出可能(イネーブル)状態となり、格納されている数値データを内部バス等に出力する。これに対して、レジスタリード信号RRS1がオフ状態であるときには、常に同じ値(例えば「65535H」など)を出力して、読出不能(ディセーブル)状態となればよい。また、乱数値レジスタ559Aは、乱数ラッチ信号LL1がオン状態である場合に、レジスタリード信号RRS1を受信不可能な状態となるようにしてもよい。さらに、乱数値レジスタ559Aは、乱数ラッチ信号LL1がオン状態となるより前にレジスタリード信号RRS1がオン状態となっている場合に、乱数ラッチ信号LL1を受信不可能な状態となるようにしてもよい。
乱数値レジスタ559Bは、乱数ラッチセレクタ558Bから供給される乱数ラッチ信号LL2がオン状態となったことに応答して、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として取り込んで格納する。乱数値レジスタ559Bは、CPU505から供給されるレジスタリード信号RRS2がオン状態となったときに、読出可能(イネーブル)状態となり、格納されている数値データを内部バス等に出力する。これに対して、レジスタリード信号RRS2がオフ状態であるときには、常に同じ値(例えば「65535H」など)を出力して、読出不能(ディセーブル)状態となればよい。また、乱数値レジスタ559Bは、乱数ラッチ信号LL2がオン状態である場合に、レジスタリード信号RRS2を受信不可能な状態となるようにしてもよい。さらに、乱数値レジスタ559Bは、乱数ラッチ信号LL2がオン状態となるより前にレジスタリード信号RRS2がオン状態となっている場合に、乱数ラッチ信号LL2を受信不可能な状態となるようにしてもよい。
乱数値レジスタ559Aと乱数値レジスタ559Bは、図8(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数ラッチフラグレジスタRDFM(アドレス2033H)と、乱数割込み制御レジスタRDIC(アドレス2031H)とを用いて、乱数ラッチ時の動作管理や割込み制御を可能にする。乱数ラッチフラグレジスタRDFMは、乱数値レジスタ559Aと乱数値レジスタ559Bのそれぞれに対応して、乱数値となる数値データがラッチされたか否かを示す乱数ラッチフラグを格納するレジスタである。例えば、乱数ラッチフラグレジスタRDFMでは、乱数値レジスタ559Aと乱数値レジスタ559Bのそれぞれに対応した乱数ラッチフラグの状態(オン又はオフ)を示すデータが格納され、乱数値レジスタ559Aや乱数値レジスタ559Bに数値データが取り込まれて格納されたときに対応する乱数ラッチフラグがオン状態となり新たな数値データの格納が制限される一方、乱数値レジスタ559Aや乱数値レジスタ559Bに格納された数値データが読み出されたときに対応する乱数ラッチフラグがオフ状態となり新たな数値データの格納が許可される。乱数割込み制御レジスタRDICは、乱数値レジスタ559Aや乱数値レジスタ559Bに乱数値となる数値データがラッチされたときに発生する割込みの許可/禁止を設定するレジスタである。
図21(A)は、乱数ラッチフラグレジスタRDFMの構成例を示している。図21(B)は、乱数ラッチフラグレジスタRDFMに格納される乱数ラッチフラグデータの各ビットにおける設定内容の一例を示している。乱数ラッチフラグレジスタRDFMのビット番号[1]に格納される乱数ラッチフラグデータRDFM1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図21(B)に示す例では、乱数値レジスタR2Dに数値データが取り込まれていないときに(乱数値取込なし)、乱数ラッチフラグデータRDFM1のビット値が“0”となって乱数ラッチフラグがオフ状態にクリアされる一方、数値データが取り込まれたときには(乱数値取込あり)、そのビット値が“1”となって乱数ラッチフラグがオン状態にセットされる。乱数ラッチフラグレジスタRDFMのビット番号[0]に格納される乱数ラッチフラグデータRDFM0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図21(B)に示す例では、乱数値レジスタR1Dに数値データが取り込まれていないときに(乱数値取込なし)、乱数ラッチフラグデータRDFM0のビット値が“0”となって乱数ラッチフラグがオフ状態にクリアされる一方、数値データが取り込まれたときには(乱数値取込あり)、そのビット値が“1”となって乱数ラッチフラグがオン状態にセットされる。
各乱数ラッチフラグがオンであるときには、各乱数ラッチフラグと対応付けられた乱数値レジスタR1Dあるいは乱数値レジスタR2Dにおける新たな数値データの格納が制限(禁止)される。すなわち、乱数値レジスタR1Dに数値データが取り込まれたか否かを示す乱数ラッチフラグデータRDFM0のビット値が“1”となって乱数ラッチフラグがオン状態であるときには、乱数値レジスタR1Dに格納された数値データを変更することができず、新たな数値データの格納(取り込み)が制限(禁止)される。また、乱数値レジスタR2Dに乱数値データが取り込まれたか否かを示す乱数ラッチフラグデータRDFM1のビット値が“1”となって乱数ラッチフラグがオン状態であるときには、乱数値レジスタR2Dに格納された数値データを変更することができず、新たな数値データの格納(取り込み)が制限(禁止)される。これに対して、各乱数ラッチフラグがオフであるときには、各乱数ラッチフラグと対応付けられた乱数値レジスタR1Dあるいは乱数値レジスタR2Dにおける新たな数値データの格納が許可される。すなわち、乱数ラッチフラグデータRDFM0のビット値が“0”となって乱数ラッチフラグがオフ状態であるときには、乱数値レジスタR1Dに格納された数値データを変更することができ、新たな数値データの格納(取り込み)が許可される。また、乱数ラッチフラグデータRDFM1のビット値が“0”となって乱数ラッチフラグがオフ状態であるときには、乱数値レジスタR2Dに格納された数値データを変更することができ、新たな数値データの格納(取り込み)が許可される。
なお、乱数ラッチフラグデータRDFM0や乱数ラッチフラグデータRDFM1のビット値は、“0”となることで対応する乱数ラッチフラグがオフ状態にクリアされる一方で“1”となることでオン状態にセットされる正論理のものに限定されず、“1”となることで対応する乱数ラッチフラグがオフ状態となる一方で“0”となることでオン状態となる負論理のものであってもよい。すなわち、各乱数ラッチフラグは、対応する乱数値レジスタR1D又は乱数値レジスタR2Dに数値データが格納されたときにオン状態となり新たな数値データの格納が制限(禁止)される一方で、対応する乱数値レジスタR1D又は乱数値レジスタR2Dの読み出しが行われたときにオフ状態となり新たな数値データの格納が許可されるものであればよい。
図22(A)は、乱数割込み制御レジスタRDICの構成例を示している。図22(B)は、乱数割込み制御レジスタRDICに格納される乱数割込み制御データの各ビットにおける設定内容の一例を示している。乱数割込み制御レジスタRDICのビット番号[1]に格納される乱数割込み制御データRDIC1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに数値データが取り込まれたときに発生する割込みを、許可するか禁止するかの割込み制御設定を示している。図22(B)に示す例では、乱数値レジスタR2Dへの取込時における割込みを禁止する場合に(割込み禁止)、乱数割込み制御データRDIC1のビット値を“0”とする一方、この割込みを許可する場合には(割込み許可)、そのビット値を“1”とする。乱数割込み制御レジスタRDICのビット番号[0]に格納される乱数割込み制御データRDIC0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたときに発生する割込みを、許可するか禁止するかの割込み制御設定を示している。図22(B)に示す例では、乱数値レジスタR1Dへの取込時における割込みを禁止する場合に(割込み禁止)、乱数割込み制御データRDIC0のビット値を“0”とする一方、この割込みを許可する場合には(割込み許可)、そのビット値を“1”とする。
図6に示す構成例では、乱数回路509が遊技制御用マイクロコンピュータ100に内蔵されている。これに対して、例えば図23に示すように、乱数回路509は、遊技制御用マイクロコンピュータ100とは異なる乱数回路チップとして、遊技制御用マイクロコンピュータ100に外付けされるものであってもよい。この場合、第1始動口スイッチ22Aからの第1始動入賞信号SS1をスイッチ回路114の内部にて分岐し、一方を遊技制御用マイクロコンピュータ100が備えるPIP510の入力ポートP0へと入力させて、他方を乱数回路509が備えるラッチ用フリップフロップ557AのD入力端子へと入力させればよい。また、第2始動口スイッチ22Bからの第2始動入賞信号SS2をスイッチ回路114の内部にて分岐し、一方を遊技制御用マイクロコンピュータ100が備えるPIP510の入力ポートP1へと入力させて、他方を乱数回路509が備えるラッチ用フリップフロップ557BのD入力端子へと入力させればよい。遊技制御用マイクロコンピュータ100との間では、例えば遊技制御用マイクロコンピュータ100が備えるクロック回路502からシステムクロック出力端子CLKOを介して出力された内部システムクロックSCLKを乱数回路509が備える周波数監視回路551やクロック用フリップフロップ552へと入力させたり、遊技制御用マイクロコンピュータ100が備える外部バスインタフェース501に接続されたアドレスバスやデータバス、制御信号線などを介して、乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データの読み出しなどが行われたりすればよい。
また、図23に示すように乱数回路509が遊技制御用マイクロコンピュータ100に外付けされる場合にも、各乱数ラッチフラグの状態(オン/オフ)に応じて、乱数値レジスタR1Dや乱数値レジスタR2Dへの新たな数値データの格納が制限(禁止)あるいは許可されるようにすればよい。図8(B)に示す内蔵レジスタのうち、例えば乱数ラッチ選択レジスタRDLSや乱数割込み制御レジスタRDIC、乱数値取込レジスタRDLT、乱数ラッチフラグレジスタRDFM、乱数列変更レジスタRDSC、乱数値レジスタR1D、乱数値レジスタR2Dといった、乱数回路509が使用する各種レジスタは、遊技制御用マイクロコンピュータ100には内蔵されず、遊技制御用マイクロコンピュータ100に外付けされた乱数回路509に内蔵されるようにしてもよい。この場合、遊技制御用マイクロコンピュータ100のCPU505は、例えば外部バスインタフェース501などを介して、乱数回路509に内蔵された各種レジスタの書き込みや読み出しを行うようにすればよい。
図6に示す遊技制御用マイクロコンピュータ100が備えるPIP510は、例えば6ビット幅の入力専用ポートであり、専用端子となる入力ポートP0〜入力ポートP2と、機能兼用端子となる入力ポートP3〜入力ポートP5とを含んでいる。入力ポートP3は、CPU505等に接続される外部マスカブル割込み端子XINTと兼用される。入力ポートP4は、CPU505等に接続される外部ノンマスカブル割込み端子XNMIと兼用される。入力ポートP5は、シリアル通信回路511が使用する第1チャネル受信端子RXAと兼用される。入力ポートP3〜入力ポートP5の使用設定は、プログラム管理エリアに記憶される機能設定KFCSにより指示される。
PIP510は、図8(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、入力ポートレジスタPI(アドレス2090H)などを用いて、入力ポートP0〜入力ポートP5の状態管理等を行う。入力ポートレジスタPIは、入力ポートP0〜入力ポートP5のそれぞれに対応して、外部信号の入力状態を示すビット値が格納されるレジスタである。
図24(A)は、入力ポートレジスタPIの構成例を示している。図24(B)は、入力ポートレジスタPIに格納される入力ポートデータの各ビットにおける設定内容の一例を示している。入力ポートレジスタPIのビット番号[5]に格納される入力ポートデータPI5は、第1チャネル受信端子RXAと兼用される入力ポートP5における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[4]に格納される入力ポートデータPI4は、外部ノンマスカブル割込み端子XNMIと兼用される入力ポートP4における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[3]に格納される入力ポートデータPI3は、外部マスカブル割込み端子XINTと兼用される入力ポートP3における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[2]に格納される入力ポートデータPI2は、入力ポートP2における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[1]に格納される入力ポートデータPI1は、入力ポートP1における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[0]に格納される入力ポートデータPI0は、入力ポートP0における端子状態(オン/オフ)を示している。
遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511は、例えば全二重、非同期、標準NRZ(Non Return to Zero)フォーマットで通信データを取扱う回路である。一例として、シリアル通信回路511は、外部回路との間にて双方向でシリアルデータを送受信可能な第1チャネル送受信回路と、外部回路との間にて単一方向でシリアルデータを送信のみが可能な第2チャネル送信回路とを含んでいればよい。シリアル通信回路511が備える第1チャネル送受信回路は、払出制御基板15に搭載された払出制御用マイクロコンピュータ150との間における双方向のシリアル通信に使用されてもよい。シリアル通信回路511が備える第2チャネル送信回路は、演出制御基板12に搭載された演出制御用マイクロコンピュータ120との間における単一方向(送信のみ)のシリアル通信に使用されてもよい。これにより、演出制御基板12の側から主基板11に対する信号入力を禁止して、不正行為を防止することができる。
シリアル通信回路511では、例えばオーバーランエラー、ブレークコードエラー、フレーミングエラー、パリティエラーといった、4種類のエラーが通信データの受信時に発生することがあり、いずれかのエラーが発生したときに、受信割込みを発生させることができればよい。オーバーランエラーは、受信済みの通信データがユーザプログラムによってリードされるより前に、次の通信データを受信してしまった場合に発生するエラーである。ブレークコードエラーは、通信データの受信中に所定のブレークコードが検出されたとき発生するエラーである。フレーミングエラーは、受信した通信データにおけるストップビットが“0”である場合に発生するエラーである。パリティエラーは、パリティ機能を使用する設定とした場合、受信した通信データのパリティが、予め指定したパリティと一致しない場合に発生するエラーである。
シリアル通信回路511は、第1割込み制御回路と、第2割込み制御回路とを含んでいてもよい。第1割込み制御回路は、シリアル通信回路511に含まれる第1チャネル送受信回路における割込み発生因子を管理して、通信割込み要求を制御するための回路である。第1割込み制御回路が制御する割込みには、第1チャネル送信割込みと、第1チャネル受信割込みとがある。第1チャネル送信割込みには、送信完了による割込みや、送信データエンプティによる割込みが含まれている。第1チャネル受信割込みには、受信データフルによる割込みや、ブレークコードエラー、オーバーランエラー、フレーミングエラー、パリティエラーといった受信時エラーの発生による割込みが含まれている。第2割込み制御回路は、シリアル通信回路511に含まれる第2チャネル受信回路における割込み発生因子を管理して、通信割込み要求を制御するための回路である。第2割込み制御回路が制御する割込みは、第2チャネル送信割込みである。第2チャネル送信割込みには、送信完了による割込みや、送信データエンプティによる割込みが含まれている。
遊技制御用マイクロコンピュータ100が備えるアドレスデコード回路512は、遊技制御用マイクロコンピュータ100の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、遊技制御用マイクロコンピュータ100の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU505からのアクセスが可能となる。
遊技制御用マイクロコンピュータ100が備えるROM506には、ゲーム制御用のユーザプログラムやセキュリティチェックプログラム506Aとなる制御コードの他に、遊技の進行を制御するために用いられる各種の選択用データ、テーブルデータなどが格納される。例えば、ROM506には、CPU505が各種の判定や決定、設定を行うために用意された複数の判定テーブルや決定テーブル、設定テーブルなどを構成するデータが記憶されている。また、ROM506には、CPU505が主基板11から各種の制御コマンドとなる制御信号を送信するために用いられる複数のコマンドテーブルを構成するテーブルデータや、飾り図柄の変動パターンを複数種類格納する変動パターンテーブルを構成するテーブルデータなどが記憶されている。
図25は、飾り図柄の変動パターンを例示する説明図である。この実施の形態では、可変表示結果が「ハズレ」となる場合のうち、飾り図柄の可変表示態様が「非リーチ」である場合と「リーチ」である場合のそれぞれに対応して、また、可変表示結果が「大当り」となる場合のうち、大当り種別が「非確変」又は「確変」である場合と「突確」である場合、さらには、可変表示結果が「小当り」となる場合などに対応して、複数の変動パターンが予め用意されている。なお、可変表示結果が「ハズレ」で飾り図柄の可変表示態様が「非リーチ」である場合に対応した変動パターンは、非リーチ変動パターン(「非リーチハズレ変動パターン」ともいう)と称され、可変表示結果が「ハズレ」で飾り図柄の可変表示態様が「リーチ」である場合に対応した変動パターンは、リーチ変動パターン(「リーチハズレ変動パターン」ともいう)と称される。また、非リーチ変動パターンとリーチ変動パターンは、可変表示結果が「ハズレ」となる場合に対応したハズレ変動パターンに含まれる。可変表示結果が「大当り」や「小当り」である場合に対応した変動パターンは、当り変動パターンと称される。
図25に示すように、この実施の形態では、非リーチ変動パターンとして、変動パターンPA1−1〜変動パターンPA1−4が、予め用意されている。また、リーチ変動パターンとして、変動パターンPA2−1、変動パターンPA2−2、変動パターンPB2−1、変動パターンPB2−2、変動パターンPA3−1、変動パターンPA3−2、変動パターンPB3−1、変動パターンPB3−2が、予め用意されている。可変表示結果が「大当り」で大当り種別が「非確変」又は「確変」となる場合に対応した当り変動パターンとしては、変動パターンPA4−1、変動パターンPA4−2、変動パターンPB4−1、変動パターンPB4−2、変動パターンPA5−1、変動パターンPA5−2、変動パターンPB5−1、変動パターンPB5−2が、予め用意されている。可変表示結果が「大当り」で大当り種別が「突確」となる場合や、可変表示結果が「小当り」となる場合に対応した当り変動パターンとしては、変動パターンPC1−1〜変動パターンPC1−3が、予め用意されている。さらに、可変表示結果が「大当り」で大当り種別が「突確」となる場合にのみ対応した当り変動パターンとして、変動パターンPC1−4及び変動パターンPC1−5が、予め用意されている。
図26は、この実施の形態における飾り図柄の変動パターン種別を示している。図25に示す各変動パターンは、図26に示す複数の変動パターン種別のうち、少なくとも1つの変動パターン種別に含まれている。すなわち、各変動パターン種別は、例えば飾り図柄の可変表示中に実行される演出動作などに基づいて分類(グループ化)された1つ又は複数の変動パターンを含むように構成されていればよい。一例として、複数の変動パターンをリーチ演出の種類(演出態様)で分類(グループ化)して、飾り図柄の可変表示状態がリーチ状態とならない変動パターンが含まれる変動パターン種別と、ノーマルリーチを伴う変動パターンが含まれる変動パターン種別と、スーパーリーチ(スーパーリーチα又はスーパーリーチβ)を伴う変動パターンが含まれる変動パターン種別とに分ければよい。他の一例として、複数の変動パターンを「擬似連」の可変表示演出の有無や擬似連変動(再変動)の実行回数で分類(グループ化)して、「擬似連」の可変表示演出を実行しない変動パターンが含まれる変動パターン種別と、「擬似連」の可変表示演出にて擬似連変動(再変動)の実行回数を1回とする変動パターンが含まれる変動パターン種別と、「擬似連」の可変表示演出にて擬似連変動(再変動)の実行回数を2回以上とする変動パターンが含まれる変動パターン種別とに分ければよい。さらに他の一例として、複数の変動パターンを「擬似連」や「滑り」などの特定演出の有無、あるいは、飾り図柄の可変表示時間などに応じて、分類(グループ化)してもよい。複数の変動パターン種別のうちには、共通の変動パターンを含んで構成されたものがあってもよい。
図26に示す例では、可変表示結果が「ハズレ」で「非リーチ」の可変表示態様となる場合に対応して、変動パターン種別CA1−1〜変動パターン種別CA1−3が、予め用意されている。また、可変表示結果が「ハズレ」で「リーチ」の可変表示態様となる場合に対応して、変動パターン種別CA2−1〜変動パターン種別CA2−4が、予め用意されている。可変表示結果が「大当り」で「非確変」又は「確変」の可変表示態様(大当り種別)に対応して、変動パターン種別CA3−1〜変動パターン種別CA3−3が、予め用意されている。可変表示結果が「大当り」で「突確」の可変表示態様(大当り種別)である場合や可変表示結果が「小当り」である場合に対応して、変動パターン種別CA4−1が、予め用意されている。さらに、可変表示結果が「大当り」で「突確」の可変表示態様(大当り種別)である場合のみに対応して、変動パターン種別CA4−2が、予め用意されている。
変動パターン種別CA1−1は、特別図柄や飾り図柄の可変表示時間が短縮されず、また、「擬似連」や「滑り」などの可変表示演出が実行されない「短縮なし」の変動パターン種別であり、「短縮なし」と予め対応付けられた変動パターンを含んでいる。変動パターン種別CA1−2は、例えば通常状態にて合計保留記憶数が「3」以上であることや、確変状態又は時短状態にて合計保留記憶数が「2」以上であることに対応して、特別図柄や飾り図柄の可変表示時間が短縮されて、「擬似連」や「滑り」などの特定演出が実行されない「短縮あり」の変動パターン種別であり、「短縮あり」と予め対応付けられた変動パターンを含んでいる。なお、通常状態であるときに可変表示時間が短縮される場合に対応した変動パターン種別と、確変状態又は時短状態であるときに可変表示時間が短縮される場合に対応した変動パターン種別とを、別個に設けるようにしてもよい。また、通常状態であるときに、合計保留記憶数が「3」で可変表示時間が短縮される場合に対応した変動パターン種別と、合計保留記憶数が「4」で可変表示時間が短縮される場合に対応した変動パターン種別とを、別個に設けるようにしてもよい。変動パターン種別CA1−3は、可変表示態様が「非リーチ」となる場合に「擬似連」や「滑り」の特定演出が実行される「滑り、擬似連」の変動パターン種別であり、「滑り、擬似連」と予め対応付けられた変動パターンを含んでいる。
変動パターン種別CA2−1は、「擬似連」の特定演出が実行されずに、飾り図柄の可変表示状態をリーチ状態とした後に通常のリーチ演出となるノーマルリーチを伴い、リーチ演出が終了したときにリーチ組合せの確定飾り図柄を導出表示する「ノーマルリーチ(ハズレ)擬似連なし」の変動パターン種別であり、「ノーマルリーチ(ハズレ)擬似連なし」と予め対応付けられた変動パターンを含んでいる。変動パターン種別CA2−2は、「擬似連」の特定演出における擬似連変動(再変動)の実行回数が1回であり、飾り図柄の可変表示状態をリーチ状態とした後にノーマルリーチを伴い、リーチ演出が終了したときにリーチ組合せの確定飾り図柄を導出表示する「ノーマルリーチ(ハズレ)擬似連変動1回」の変動パターン種別であり、「ノーマルリーチ(ハズレ)擬似連変動1回」と予め対応付けられた変動パターンを含んでいる。
変動パターン種別CA2−3は、「擬似連」の特定演出における擬似連変動(再変動)の実行回数が2回であり、飾り図柄の可変表示状態をリーチ状態とした後にノーマルリーチを伴い、リーチ演出が終了したときにリーチ組合せの確定飾り図柄を導出表示する「ノーマルリーチ(ハズレ)擬似連変動2回」の変動パターン種別であり、「ノーマルリーチ(ハズレ)擬似連変動2回」と予め対応付けられた変動パターンを含んでいる。変動パターン種別CA2−4は、飾り図柄の可変表示状態をリーチ状態とした後にスーパーリーチ(スーパーリーチα又はスーパーリーチβ)を伴い、リーチ演出が終了したときにリーチ組合せの確定飾り図柄を導出表示する「スーパーリーチ(ハズレ)」の変動パターン種別であり、「スーパーリーチ(ハズレ)」と予め対応付けられた変動パターンを含んでいる。
変動パターン種別CA3−1は、「擬似連」の可変表示演出が実行されずに、飾り図柄の可変表示状態をリーチ状態とした後にノーマルリーチを伴い、リーチ演出が終了したときに大当り組合せの確定飾り図柄を導出表示する「ノーマルリーチ(大当り)擬似連なし」の変動パターン種別であり、「ノーマルリーチ(大当り)擬似連なし」と予め対応付けられた変動パターンを含んでいる。変動パターン種別CA3−2は、「擬似連」の可変表示演出が実行されて、飾り図柄の可変表示状態をリーチ状態とした後にノーマルリーチを伴い、リーチ演出が終了したときに大当り組合せの確定飾り図柄を導出表示する「ノーマルリーチ(大当り)擬似連あり」の変動パターン種別であり、「ノーマルリーチ(大当り)擬似連あり」と予め対応付けられた変動パターンを含んでいる。変動パターン種別CA3−3は、飾り図柄の可変表示状態をリーチ状態とした後にスーパーリーチを伴い、リーチ演出が終了したときに大当り組合せの確定飾り図柄を導出表示する「スーパーリーチ(大当り)」の変動パターン種別であり、「スーパーリーチ(大当り)」と予め対応付けられた変動パターンを含んでいる。
変動パターン種別CA4−1は、2回開放チャンス目となる確定飾り図柄を導出表示する「2回開放チャンス目停止」の変動パターン種別であり、「2回開放チャンス目停止」と予め対応付けられた変動パターンを含んでいる。図25に示す変動パターンの例では、変動パターンPC1−1〜変動パターンPC1−3が、確定飾り図柄を複数種類の2回開放チャンス目のいずれかとする変動パターンとなっており、変動パターン種別CA4−1に含まれることになる。変動パターン種別CA4−2は、可変表示結果が「大当り」で大当り種別が「突確」である場合に飾り図柄の可変表示状態をリーチ状態としてからリーチ組合せの確定飾り図柄を導出表示する「2回開放時リーチハズレ」の変動パターン種別であり、「2回開放時リーチハズレ」と予め対応付けられた変動パターンを含んでいる。図25に示す変動パターンの例では、変動パターンPC1−4及び変動パターンPC1−5が、確定飾り図柄をリーチ組合せとする変動パターンとなっており、変動パターン種別CA4−2に含まれることになる。
図27は、ROM506に記憶される特図表示結果決定テーブルの構成例を示している。この実施の形態では、特図表示結果決定テーブルとして、図27(A)に示す第1特図表示結果決定テーブル130Aと、図27(B)に示す第2特図表示結果決定テーブル130Bとが、予め用意されている。第1特図表示結果決定テーブル130Aは、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果決定用の乱数値MR1に基づいて決定するために参照されるテーブルである。第2特図表示結果決定テーブル130Bは、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果決定用の乱数値MR1に基づいて決定するために参照されるテーブルである。
第1特図表示結果決定テーブル130Aでは、図34に示す遊技制御フラグ設定部592に設けられた確変フラグがオフであるかオンであるかに応じて、特図表示結果決定用の乱数値MR1と比較される数値(決定値)が、「大当り」や「小当り」、「ハズレ」の特図表示結果に割り当てられている。第2特図表示結果決定テーブル130Bでは、確変フラグがオフであるかオンであるかに応じて、特図表示結果決定用の乱数値MR1と比較される数値(決定値)が、「大当り」や「ハズレ」の特図表示結果に割り当てられている。第1特図表示結果決定テーブル130Aや第2特図表示結果決定テーブル130Bにおいて、特図表示結果決定用の乱数値MR1と比較される決定値を示すテーブルデータは、特図表示結果を「大当り」として大当り遊技状態に制御するか否かの決定結果に割り当てられる決定用データとなっている。そして、第1特図表示結果決定テーブル130Aと第2特図表示結果決定テーブル130Bのそれぞれでは、確変フラグがオンであるときには、確変フラグがオフであるときに比べて多くの決定値が、「大当り」の特図表示結果に割り当てられている。ここで、パチンコ遊技機1における遊技状態が確変状態であるときには、確変フラグがオンとなる。その一方で、パチンコ遊技機1における遊技状態が通常状態や時短状態であるときには、確変フラグがオフとなる。これにより、パチンコ遊技機1における遊技状態が確変状態であるときには、通常状態や時短状態であるときに比べて、特図表示結果を「大当り」として大当り遊技状態に制御すると決定される確率が高くなる。すなわち、第1特図表示結果決定テーブル130Aと第2特図表示結果決定テーブル130Bのそれぞれでは、パチンコ遊技機1における遊技状態が確変状態であるときに、通常状態や時短状態であるときに比べて大当り遊技状態に制御すると決定される確率が高くなるように、決定用データが大当り遊技状態に制御するか否かの決定結果に割り当てられている。
また、図27(A)に示す第1特図表示結果決定テーブル130Aの設定例では、所定範囲の決定値(「30000」〜「30099」の範囲の値)が「小当り」の特図表示結果に割り当てられている。その一方で、図27(B)に示す第2特図表示結果決定テーブル130Bの設定例では、「小当り」の特図表示結果に決定値が割り当てられていない。このような設定により、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて可変表示結果の判定を行う場合と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて可変表示結果の判定を行う場合とで、特図表示結果を「小当り」として小当り遊技状態に制御すると決定される割合を、異ならせることができる。特に、第2特図を用いた特図ゲームでは特図表示結果を「小当り」として小当り遊技状態に制御すると決定されることがないので、例えば時短状態や確変状態といった、普通可変入賞球装置6Bが形成する第2始動入賞口に遊技球が進入しやすい遊技状態において、賞球を得ることが困難な小当り遊技状態の頻発を回避して、遊技の間延びによる遊技興趣の低下を防止できる。
なお、第2特図表示結果決定テーブル130Bにおいても、第1特図表示結果決定テーブル130Aにおける設定とは異なる所定範囲の決定値が、「小当り」の特図表示結果に割り当てられるようにしてもよい。あるいは、第1開始条件と第2開始条件のいずれが成立したかにかかわらず、共通の特図表示結果決定テーブルを参照して、特図表示結果の決定を行うようにしてもよい。
図27(B)に示す第2特図表示結果決定テーブル130Bの設定例では、特図表示結果決定用の乱数値MR1と比較される決定値のうち、「0」を示す値が「大当り」の特図表示結果に割り当てられている。これに対して、「0」を示す決定値は、「大当り」の特図表示結果に対して割り当てられず、「ハズレ」の特図表示結果に対して割り当てられるようにしてもよい。これにより、例えば第2乱数初期設定KRS2のビット番号[1]におけるビット値を“0”に設定した場合にスタート値となるデフォルト値「0000H」の設定タイミングで第2始動入賞信号SS1を故意に入力させて特図表示結果決定用の乱数値MR1となる「0」を示す数値データを乱数値レジスタR2Dに格納させて読み出すことや、乱数値レジスタR2Dの破壊や故障を利用して特図表示結果決定用の乱数値MR1となる「0」を示す数値データを抽出させることなどにより、不正に特図表示結果が「大当り」とされてしまうことを防止できる。また、第2特図表示結果決定テーブル130Bでは、第1特図表示結果決定テーブル130Aと同一の決定値が「大当り」の特図表示結果に割り当てられるようにしてもよい。
図28は、ROM506に記憶される大当り種別決定テーブル131の構成例を示している。大当り種別決定テーブル131は、特図表示結果を「大当り」として大当り遊技状態に制御すると決定されたときに、大当り種別決定用の乱数値MR2に基づき、大当り種別を複数種類のいずれかに決定するために参照されるテーブルである。大当り種別決定テーブル131では、図34に示す遊技制御バッファ設定部595に設けられた変動特図指定バッファの値(変動特図指定バッファ値)が「1」であるか「2」であるかに応じて、大当り種別決定用の乱数値MR2と比較される数値(決定値)が、「非確変」や「確変」、「突確」といった複数種類の大当り種別に割り当てられている。ここで、変動特図指定バッファ値は、第1開始条件の成立により第1特別図柄表示装置4Aにて第1特図を用いた特図ゲームを開始するときに「1」が設定される一方で、第2開始条件の成立により第2特別図柄表示装置4Bにて第2特図を用いた特図ゲームを開始するときに「2」が設定される。また、大当り種別決定テーブル131は、遊技制御バッファ設定部595に設けられた大当り種別バッファの値(大当り種別バッファ値)を、大当り種別決定用の乱数値MR2に基づいて決定された大当り種別に対応して、「0」〜「2」のいずれかに設定するためのテーブルデータ(設定用データ)を含んでいる。
図28に示す大当り種別決定テーブル131の設定例では、変動特図指定バッファ値が「1」であるか「2」であるかに応じて、「突確」の大当り種別に対する決定値の割当てが異なっている。すなわち、変動特図指定バッファ値が「1」である場合には、所定範囲の決定値(「82」〜「99」の範囲の値)が「突確」の大当り種別に割り当てられる一方で、変動特図指定バッファ値が「2」である場合には、「突確」の大当り種別に対して決定値が割り当てられていない。このような設定により、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合とで、大当り種別を「突確」に決定する割合を、異ならせることができる。特に、第2特図を用いた特図ゲームでは大当り種別を「突確」として2ラウンド大当り状態に制御すると決定されることがないので、例えば時短状態や確変状態といった、普通可変入賞球装置6Bが形成する第2始動入賞口に遊技球が進入しやすい遊技状態において、賞球を得ることが困難な2ラウンド大当り状態の頻発を回避して、遊技の間延びによる遊技興趣の低下を防止できる。なお、変動特図指定バッファ値が「2」である場合にも、変動特図指定バッファ値が「1」である場合とは異なる所定範囲の決定値が、「突確」の大当り種別に割り当てられるようにしてもよい。
図29は、ROM506に記憶されるリーチ決定テーブル132の構成例を示している。リーチ決定テーブル132は、特図表示結果を「ハズレ」にすると決定されたときに、リーチ決定用の乱数値MR3に基づき、飾り図柄の可変表示状態をリーチ状態とするか否かを決定するために参照されるテーブルである。リーチ決定テーブル132では、遊技状態が通常状態であるか時短状態又は確変状態であるかや、合計保留記憶数に応じて、リーチ決定用の乱数値MR3と比較される数値(決定値)が、飾り図柄の可変表示状態をリーチ状態としない「非リーチ」やリーチ状態とする「リーチ」を示すリーチ決定結果に、割り当てられている。
図29に示すリーチ決定テーブル132の設定例では、パチンコ遊技機1における遊技状態が通常状態であるか時短状態又は確変状態であるかに応じて、リーチ決定結果に対する決定値の割当てが異なっている。また、図29に示す設定例では、合計保留記憶数に応じて、リーチ決定結果に対する決定値の割当てが異なっている。例えば、遊技状態が通常状態であるときには、合計保留記憶数が「0」である場合に対応して、「0」〜「204」の範囲の決定値が「非リーチ」の決定結果に割り当てられ、「205」〜「239」の範囲の決定値が「リーチ」の決定結果に割り当てられている。合計保留記憶数が「1」である場合には、合計保留記憶数が「0」である場合よりも多い「0」〜「217」の範囲の決定値が「非リーチ」の決定結果に割り当てられている。合計保留記憶数が「2」である場合には、合計保留記憶数が「0」や「1」である場合よりも多い「0」〜「220」の範囲の決定値が「非リーチ」の決定結果に割り当てられている。合計保留記憶数が「3」又は「4」である場合には、「0」〜「230」の範囲の決定値が「非リーチ」の決定結果に割り当てられ、合計保留記憶数が「5」〜「8」である場合には「0」〜「233」の範囲の決定値が「非リーチ」の決定結果に割り当てられている。このような設定により、特図ゲームの保留記憶数(合計保留記憶数)が所定数(例えば「3」)以上であるときには、所定数未満であるときに比べて、飾り図柄の可変表示状態をリーチ状態にすると決定される割合が低くなる。そして、非リーチ変動パターンにおける平均的な特図変動時間がリーチ変動パターンにおける平均的な特図変動時間に比べて短くなるように設定されていれば、合計保留記憶数が所定数以上であるときには、所定数未満であるときに比べて、平均的な特図変動時間を短縮することができる。
図30及び図31は、ROM506に記憶される変動パターン種別決定テーブルの構成例を示している。この実施の形態では、変動パターン種別決定テーブルとして、図30(A)に示す大当り変動パターン種別決定テーブル133Aと、図30(B)に示す小当り変動パターン種別決定テーブル133Bと、図30(C)に示す非リーチ変動パターン種別決定テーブル133Cと、図31に示すリーチ変動パターン種別決定テーブル133Dとが、予め用意されている。各変動パターン種別決定テーブルは、変動パターン種別決定用の乱数値MR4などに基づいて、変動パターン種別を複数種類のいずれかに決定するために参照されるテーブルである。
図30(A)に示す大当り変動パターン種別決定テーブル133Aは、特図表示結果を「大当り」にすると決定されたときに、使用テーブルとして選択される。大当り変動パターン種別決定テーブル133Aでは、大当り種別の決定結果が「非確変」、「確変」、「突確」のいずれであるかに応じて、変動パターン種別決定用の乱数値MR4と比較される数値(決定値)が、変動パターン種別CA3−1〜変動パターン種別CA3−3や変動パターン種別CA4−1、変動パターン種別CA4−2などに、割り当てられている。
図30(A)に示す大当り変動パターン種別決定テーブル133Aの設定例では、大当り種別が複数種類のいずれに決定されたかに応じて、各変動パターン種別に決定される割合が異なるように、決定値が各変動パターン種別に割り当てられている。例えば、大当り種別が「非確変」であるか「確変」であるかに応じて、変動パターン種別CA3−1〜変動パターン種別CA3−3に対する決定値の割当てが異なっている。また、大当り種別が「非確変」又は「確変」である場合には、変動パターン種別CA3−1〜変動パターン種別CA3−3に対して決定値が割り当てられている一方で、変動パターン種別CA4−1及び変動パターン種別CA4−2に対しては決定値が割り当てられていない。他方、大当り種別が「突確」である場合には、変動パターン種別CA4−1及び変動パターン種別CA4−2に対して決定値が割り当てられている一方で、変動パターン種別CA3−1〜変動パターン種別CA3−3に対しては決定値が割り当てられていない。
このように、大当り種別に応じて各変動パターン種別に対する決定値の割当てが異なっている。また、大当り種別に応じて異なる変動パターン種別に対して決定値が割り当てられることがある。こうして、大当り種別を複数種類のいずれにするかの決定結果に応じて、異なる変動パターン種別に決定することができ、また、同一の変動パターン種別に決定される割合を異ならせることができる。なお、パチンコ遊技機1における遊技状態が通常状態、確変状態、時短状態のいずれであるかに応じて各変動パターン種別に対する決定値の割当てが異なる変動パターン種別決定テーブルを参照してもよい。これにより、遊技状態が複数種類のいずれであるかに応じて、異なる変動パターン種別に決定することができ、また、同一の変動パターン種別に決定される割合を異ならせることができる。
図30(B)に示す小当り変動パターン種別決定テーブル133Bは、特図表示結果を「小当り」にすると決定されたときに、使用テーブルとして選択される。小当り変動パターン種別決定テーブル133Bでは、変動パターン種別決定用の乱数値MR4と比較される数値(決定値)の全部が、変動パターン種別CA4−1に割り当てられている。変動パターン種別CA4−1には、図30(A)に示す大当り変動パターン種別決定テーブル133Aにおいて、大当り種別が「突確」である場合に応じて決定値の一部が割り当てられている。このように、変動パターン種別CA4−1は、大当り種別が「突確」になる場合と、特図表示結果が「小当り」になる場合とで、共通の変動パターン種別となっている。すなわち、大当り変動パターン種別決定テーブル133Aにて大当り種別が「突確」に対応したテーブルデータと、小当り変動パターン種別決定テーブル133Bを構成するテーブルデータとには、共通の変動パターン種別が含まれるように設定されている。このような設定により、変動パターン種別CA4−1に含まれる変動パターンによる飾り図柄の可変表示が実行されたときには、特図表示結果が「大当り」で大当り種別が「突確」となって2ラウンド大当り状態に制御されるか、特図表示結果が「小当り」となって小当り遊技状態に制御されるかを、遊技者が認識することは困難になり、2回開放遊技(2ラウンド大当り状態や小当り遊技状態における大入賞口の開閉動作)の終了後に確変状態となること(大当り種別が「突確」となること)に対する遊技者の期待感を高めて遊技の興趣を向上させることができる。
図30(C)に示す非リーチ変動パターン種別決定テーブル133Cは、特図表示結果を「ハズレ」にする決定と、飾り図柄の可変表示状態をリーチ状態にしない「非リーチ」の決定とがなされたときに、使用テーブルとして選択される。非リーチ変動パターン種別決定テーブル133Cでは、遊技状態が通常状態であるか時短状態又は確変状態であるかや、合計保留記憶数などに応じて、変動パターン種別決定用の乱数値MR4と比較される数値(決定値)が、変動パターン種別CA1−1〜変動パターン種別CA1−3などに、割り当てられている。図30(C)に示す非リーチ変動パターン種別決定テーブル133Cの設定例では、パチンコ遊技機1における遊技状態が通常状態であるか時短状態又は確変状態であるかに応じて、各変動パターン種別に対する決定値の割当てが異なっている。また、図30(C)に示す設定例では、合計保留記憶数に応じて、各変動パターン種別に対する決定値の割当てが異なっている。こうして、パチンコ遊技機1における遊技状態や合計保留記憶数に応じて、各変動パターン種別の決定割合を異ならせる。ここでは、遊技状態が時短状態又は確変状態であるときに、通常状態であるときよりも平均的な特図変動時間が短くなるように、各変動パターン種別に対して決定値が割り当てられればよい。また、合計保留記憶数が所定数以上であるときには、所定数未満であるときよりも平均的な特図変動時間が短くなるように、各変動パターン種別に対して決定値が割り当てられればよい。
図31に示すリーチ変動パターン種別決定テーブル133Dは、特図表示結果を「ハズレ」にする決定と、飾り図柄の可変表示状態をリーチ状態にする「リーチ」の決定とがなされたときに、使用テーブルとして選択される。リーチ変動パターン種別決定テーブル133Dでは、遊技状態が通常状態、時短状態、確変状態のいずれであるかや、合計保留記憶数などに応じて、変動パターン種別決定用の乱数値MR4と比較される数値(決定値)が、変動パターン種別CA2−1〜変動パターン種別CA2−4などに、割り当てられている。
図32は、ROM506に記憶される変動パターン決定テーブルの構成例を示している。この実施の形態では、変動パターン決定テーブルとして、図32(A)に示す当り変動パターン決定テーブル134Aと、図32(B)に示すハズレ変動パターン決定テーブル134Bとが、予め用意されている。各変動パターン決定テーブルは、変動パターン決定用の乱数値MR5などに基づいて、変動パターンを複数種類のいずれかに決定するために参照されるテーブルである。各変動パターン決定テーブルでは、変動パターン種別の決定結果に応じて、変動パターン決定用の乱数値MR5と比較される数値(決定値)が、単一種類又は複数種類の変動パターンに割り当てられている。
図33は、ROM506に記憶される始動口入賞テーブルの構成例を示している。この実施の形態では、始動口入賞テーブルとして、図33(A)に示す第1始動口入賞テーブル135Aと、図33(B)に示す第2始動口入賞テーブル135Bとが、予め用意されている。各始動口入賞テーブルは、普通入賞球装置6Aが形成する第1始動入賞口や普通可変入賞球装置6Bが形成する第2始動入賞口を遊技球が通過(進入)して始動入賞が発生したときに、各種の設定を行うために参照されるテーブルである。
図33(A)に示す第1始動口入賞テーブル135Aは、第1始動入賞口を遊技球が通過(進入)して始動入賞が発生したときに、使用テーブルとして選択される。第1始動口入賞テーブル135Aは、第1保留記憶カウンタアドレスや乱数値レジスタR1Dアドレス、第1特図保留記憶部アドレス、第1始動入賞指定コマンドテーブルアドレス、始動データ(第1)などを指定するテーブルデータから構成されている。第1保留記憶カウンタアドレスは、第1保留記憶カウンタに割り当てられたアドレスである。第1保留記憶カウンタは、図34に示す遊技制御カウンタ設定部594に設けられて第1特図保留記憶数をカウントする。乱数値レジスタR1Dアドレスは、図8(B)に示す内蔵レジスタエリアにおいて乱数値レジスタR1Dに割り当てられたアドレス(例えば先頭アドレス2038Hなど)である。第1特図保留記憶部アドレスは、図34に示す第1特図保留記憶部591Aに割り当てられたアドレス(例えば先頭アドレスなど)である。第1始動入賞指定コマンドテーブルアドレスは、ROM506に記憶される第1始動入賞指定コマンドテーブルのアドレス(例えば先頭アドレスなど)である。始動データ(第1)は、図34に示す始動データ記憶部591Cに記憶されて第1始動入賞口を遊技球が通過(進入)したことを示す「第1」の始動データである。
図33(B)に示す第2始動口入賞テーブル135Bは、第2始動入賞口を遊技球が通過(進入)して始動入賞が発生したときに、使用テーブルとして選択される。第2始動口入賞テーブル135Bは、第2保留記憶カウンタアドレスや乱数値レジスタR2Dアドレス、第2特図保留記憶部アドレス、第2始動入賞指定コマンドテーブルアドレス、始動データ(第2)などを指定するテーブルデータから構成されている。第2保留記憶カウンタアドレスは、第2保留記憶カウンタに割り当てられたアドレスである。第2保留記憶カウンタは、図34に示す遊技制御カウンタ設定部594に設けられて第2特図保留記憶数をカウントする。乱数値レジスタR2Dアドレスは、図8(B)に示す内蔵レジスタエリアにおいて乱数値レジスタR2Dに割り当てられたアドレス(例えば先頭アドレス203AHなど)である。第2特図保留記憶部アドレスは、図34に示す第2特図保留記憶部591Bに割り当てられたアドレス(例えば先頭アドレスなど)である。第2始動入賞指定コマンドテーブルアドレスは、ROM506に記憶される第2始動入賞指定コマンドテーブルのアドレス(例えば先頭アドレスなど)である。始動データ(第2)は、図34に示す始動データ記憶部591Cに記憶されて第2始動入賞口を遊技球が通過(進入)したことを示す「第2」の始動データである。
遊技制御用マイクロコンピュータ100が備えるRAM507には、パチンコ遊技機1における遊技の進行などを制御するために用いられる各種のデータを保持する領域として、例えば図34に示すような遊技制御用データ保持エリア590が設けられている。図34に示す遊技制御用データ保持エリア590は、第1特図保留記憶部591Aと、第2特図保留記憶部591Bと、始動データ記憶部591Cと、遊技制御フラグ設定部592と、遊技制御タイマ設定部593と、遊技制御カウンタ設定部594と、遊技制御バッファ設定部595とを備えている。
第1特図保留記憶部591Aは、普通入賞球装置6Aが形成する第1始動入賞口を遊技球が通過(進入)したことによる始動入賞の発生に対応して第1始動条件は成立したが第1開始条件は成立していない特図ゲーム(第1特別図柄表示装置4Aによる第1特図を用いた特図ゲーム)の保留データを記憶する。一例として、第1特図保留記憶部591Aは、第1始動入賞口への入賞順に保留番号と関連付けて、その入賞による第1始動条件の成立に基づいてCPU505により取得された特図表示結果決定用の乱数値MR1を示す数値データや大当り種別決定用の乱数値MR2を示す数値データを保留データとし、その数が所定の上限値(例えば「4」)に達するまで記憶する。
第2特図保留記憶部591Bは、普通可変入賞球装置6Bが形成する第2始動入賞口を遊技球が通過(進入)したことによる始動入賞の発生に対応して第2始動条件は成立したが第2開始条件は成立していない特図ゲーム(第2特別図柄表示装置4Bによる第2特図を用いた特図ゲーム)の保留データを記憶する。一例として、第2特図保留記憶部591Bは、第2始動入賞口への入賞順に保留番号と関連付けて、その入賞による第2始動条件の成立に基づいてCPU505により取得された特図表示結果決定用の乱数値MR1を示す数値データや大当り種別決定用の乱数値MR2を示す数値データを保留データとし、その数が所定の上限値(例えば「4」)に達するまで記憶する。
始動データ記憶部591Cは、第1始動入賞口と第2始動入賞口のいずれに遊技球が入賞したかを示す始動データを、各遊技球の入賞順を特定可能として記憶する。一例として、始動データ記憶部591Cには、合計保留記憶数の上限値(例えば「8」)に対応した領域が確保され、第1始動入賞口への入賞に対応した「第1」の始動データ、あるいは、第2始動入賞口への入賞に対応した「第2」の始動データを、各遊技球の入賞順に従った保留番号と関連付けて記憶する。
なお、第1特図保留記憶部591Aと第2特図保留記憶部591B、始動データ記憶部591Cは、別々に設けるようにしてもよいし、これらを組み合わせた記憶領域を設けるようにしてもよい。一例として、始動データ記憶領域と乱数値記憶領域とを組み合わせた領域を8つ含む記憶領域を設けるようにしてもよい。このような構成において、始動データ記憶領域と乱数値記憶領域の各領域には、RAM507における連続したアドレスが割り当てられればよい。この場合、例えば合計保留記憶数に基づいてデータ格納先のアドレスを指定するポインタの値を更新することによって、空き領域の先頭となる始動データ記憶領域に、始動データをセットする。このとき、空き領域の先頭を特定するには、例えば1つの保留データ(始動データと乱数値を示す数値データ)におけるデータ数を合計保留記憶数に乗算した値に1加算した値(始動データ記憶領域1つ分を加算した値)を、アドレスのオフセット値として特定する。こうして特定したオフセット値に従ってポインタの値を更新すればよい。この構成では、1つの保留データに対応して始動データ記憶領域と乱数値記憶領域が1つずつの合計2つのデータ格納領域が設けられている。そこで、合計保留記憶数を2倍した値に1加算した値がアドレスのオフセット値として特定される。一例として、合計保留記憶数が「3」である場合には、オフセット値として「+7」(合計保留記憶数「3」を2倍した後に1加算した値)が特定され、このオフセット値に対応した始動データ記憶領域に始動データをセットすることになる。また、1つの保留データに対応して1つの始動データ記憶領域と2つの乱数値記憶領域との合計3つのデータ格納領域が設けられている場合には、合計保留記憶数を3倍した値に1加算した値(始動データ記憶領域1つ分を加算した値)が、アドレスのオフセット値として特定されればよい。
また、データ格納先のアドレスを指定するポインタの初期位置を保留番号「1」に対応した始動データ記憶領域とする場合には、1つの保留データにおけるデータ数を合計保留記憶数に乗算した値が、アドレスのオフセット値として特定されればよい。例えば、1つの保留データに対応して1つの始動データ記憶領域と1つの乱数値記憶領域との合計2つのデータ格納領域が設けられている場合には、合計保留記憶数を2倍した値が、アドレスのオフセット値として特定されればよい。また、1つの保留データに対応して1つの始動データ記憶領域と2つの乱数値記憶領域との合計3つのデータ格納領域が設けられている場合には、合計保留記憶数を3倍した値が、アドレスのオフセット値として特定されればよい。こうして始動データ記憶領域に始動データをセットした後には、アドレスを指定するポインタの値を1加算して、加算後のポインタが指すアドレスの乱数値記憶領域に、乱数値を示す数値データを格納すればよい。
遊技制御フラグ設定部592には、パチンコ遊技機1における遊技の進行状況などに応じて状態を更新可能な複数種類のフラグが設けられている。例えば、遊技制御フラグ設定部592には、複数種類のフラグそれぞれについて、フラグの値を示すデータや、オン状態あるいはオフ状態を示すデータが記憶される。一例として、遊技制御フラグ設定部592には、特図プロセスフラグ、普図プロセスフラグ、大当りフラグ、小当りフラグ、確変フラグ、時短フラグなどが設けられていればよい。
特図プロセスフラグは、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームの進行や、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームの進行などを制御するために実行される図39のステップS96や図41に示す特別図柄プロセス処理において、どの処理を選択・実行すべきかを指示する。普図プロセスフラグは、普通図柄表示器20による普通図柄を用いた普図ゲームの進行などを制御するために実行される図39のステップS97に示す普通図柄プロセス処理において、どの処理を選択・実行すべきかを指示する。
大当りフラグは、特図ゲームが開始されるときに特図表示結果を「大当り」とする旨の決定結果に対応して、オン状態にセットされる。その一方で、特図ゲームにおける確定特別図柄として大当り図柄が停止表示されたことなどに対応して、クリアされてオフ状態となる。小当りフラグは、特図ゲームが開始されるときに特図表示結果を「小当り」とする旨の決定結果に対応して、オン状態にセットされる。その一方で、特図ゲームにおける確定特別図柄として小当り図柄が停止表示されたことなどに対応して、クリアされてオフ状態となる。確変フラグは、パチンコ遊技機1における遊技状態が確変状態に制御されることに対応してオン状態にセットされる一方で、確変状態が終了することなどに対応してクリアされてオフ状態となる。時短フラグは、パチンコ遊技機1における遊技状態が時短状態に制御されることに対応してオン状態にセットされる一方で、時短状態が終了することなどに対応してクリアされてオフ状態となる。
遊技制御タイマ設定部593には、パチンコ遊技機1における遊技の進行を制御するために用いられる各種のタイマが設けられている。例えば、遊技制御タイマ設定部593には、複数種類のタイマそれぞれにおけるタイマ値を示すデータが記憶される。一例として、遊技制御タイマ設定部593には、遊技制御プロセスタイマ、特図変動タイマ、普図変動タイマ、バックアップ監視タイマなどが設けられていればよい。
遊技制御プロセスタイマは、例えば大当り遊技状態あるいは小当り遊技状態の進行を制御するための時間などを、主基板11の側にて計測するためのものである。具体的な一例として、遊技制御プロセスタイマは、大当り遊技状態あるいは小当り遊技状態の進行を制御するために計測する時間に対応したタイマ値を示すデータを、遊技制御プロセスタイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、遊技制御プロセスタイマは、大当り遊技状態もしくは小当り遊技状態の開始時点といった、所定時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
特図変動タイマは、特図ゲームの実行時間である特図変動時間といった特図ゲームの進行を制御するための時間を、主基板11の側にて計測するためのものである。具体的な一例として、特図変動タイマは、特図ゲームの進行を制御するために計測する時間に対応したタイマ値を示すデータを、特図変動タイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、特図変動タイマは、特図ゲームの開始時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
普図変動タイマは、普図ゲームの実行時間である普図変動時間といった普図ゲームの進行を制御するための時間を、主基板11の側にて計測するためのものである。具体的な一例として、普図変動タイマは、普図ゲームの進行を制御するために計測する時間に対応したタイマ値を示すデータを、普図変動タイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、普図変動タイマは、普図ゲームの開始時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
バックアップ監視タイマは、電源基板10に搭載された電源監視回路303から伝送される電源断信号がオン状態となってからの経過時間を計測するためのものである。一例として、電源監視回路303から供給される電源電圧VSLが低下したことに基づいて出力される電源断信号を主基板11にて検知したときに、バックアップ監視タイマによる経過時間の計測が開始される。そして、電源断信号の出力が停止されるまでは、バックアップ監視タイマによる計測を継続させる。バックアップ監視タイマによって計測された経過時間が所定時間に達すると、例えばRAM507におけるバックアップ領域のデータを保護する処理といった、電力の供給停止に対応した所定の準備処理が実行される。
遊技制御カウンタ設定部594には、パチンコ遊技機1における遊技の進行を制御するために用いられるカウント値を計数するためのカウンタが複数種類設けられている。例えば、遊技制御カウンタ設定部594には、複数種類のカウンタそれぞれにおけるカウント値を示すデータが記憶される。一例として、遊技制御カウンタ設定部594に、ランダムカウンタ、第1保留記憶カウンタ、第2保留記憶カウンタ、ラウンド数カウンタなどが設けられていればよい。
遊技制御カウンタ設定部594のランダムカウンタは、遊技の進行を制御するために用いられる乱数値を示す数値データの一部を、乱数回路509とは別個に、CPU505がソフトウェアにより更新可能にカウントするためのものである。例えば、遊技制御カウンタ設定部594のランダムカウンタには、乱数値MR1〜MR5を示す数値データが、ランダムカウント値として記憶される。そして、乱数値MR2〜MR5については、CPU505によるソフトウェアの実行に応じて、定期的あるいは不定期に、各乱数値を示す数値データが更新される。
第1保留記憶カウンタは、第1特図保留記憶部591Aにおける保留データの記憶数である第1特図保留記憶数をカウントするためのものである。例えば、第1保留記憶カウンタには、第1特図保留記憶数に対応したカウント値を示すデータが、第1保留記憶カウント値として記憶され、第1特図保留記憶数の増減に対応して更新(例えば1加算あるいは1減算)される。第2保留記憶カウンタは、第2特図保留記憶部591Bにおける保留データの記憶数である第2特図保留記憶数をカウントするためのものである。例えば、第2保留記憶カウンタには、第2特図保留記憶数に対応したカウント値を示すデータが、特図保留記憶カウント値として記憶され、特図保留記憶数の増減に対応して更新(例えば1加算あるいは1減算)される。なお、第1及び第2保留記憶カウンタとは別個に、合計保留記憶数をカウントするための合計保留記憶カウンタを設けてもよい。あるいは、合計保留記憶数は、第1保留記憶カウント値と第2保留記憶カウント値とを加算することにより特定できるようにしてもよい。
ラウンド数カウンタは、大当り遊技状態におけるラウンドの実行回数などをカウントするためのものである。例えば、ラウンド数カウンタには、大当り遊技状態の開始時にカウント初期値「1」を示すデータが、ラウンド数カウント値として設定される。そして、1回のラウンドが終了して次回のラウンドが開始されるときに、ラウンド数カウント値が1加算されて更新される。また、ラウンド数カウンタは、小当り遊技状態における可変入賞動作の実行回数もカウントするようにしてもよい。
遊技制御バッファ設定部595は、パチンコ遊技機1における遊技の進行を制御するために用いられるデータを一時的に記憶する各種のバッファが設けられている。例えば、遊技制御バッファ設定部595には、複数種類のバッファそれぞれにおけるバッファ値を示すデータが記憶される。一例として、遊技制御バッファ設定部595には、送信コマンドバッファ、変動特図指定バッファ、大当り種別バッファ、スイッチオンバッファなどが設けられていればよい。
送信コマンドバッファは、主基板11からサブ側の制御基板に対して制御コマンドを送信するための設定データを一時的に格納するために用いられる。例えば、送信コマンドバッファは、複数(例えば「12」)のバッファ領域を備えて構成され、送信する制御コマンドに対応したコマンドテーブルのROM506における記憶アドレスを示す設定データなどが、各バッファ領域に格納される。また、送信コマンドバッファにおいて設定データの書込や読出を行うバッファ領域は、送信コマンドポインタなどによって指定され、複数のバッファ領域をリングバッファとして使用することができるように構成されていればよい。
変動特図指定バッファには、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームと、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームのうち、いずれの特図ゲームが実行されるかを示すバッファ値が格納される。一例として、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームが実行されることに対応して、変動特図指定バッファの値(変動特図指定バッファ値)が“1”に設定される。また、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームが実行されることに対応して、変動特図指定バッファ値が“2”に設定される。そして、特図ゲームが終了したことなどに対応して、変動特図指定バッファ値が“0”に設定される。
大当り種別バッファには、可変表示結果が「大当り」となる場合における飾り図柄の可変表示態様を、「非確変」、「確変」、「突確」といった複数種類の大当り種別のいずれかとする決定結果に対応した値が、大当り種別バッファ値として格納される。一例として、図28に示すような大当り種別決定テーブル131での設定に基づき、大当り種別が「非確変」の場合には大当り種別バッファ値が「0」に設定され、大当り種別が「確変」の場合には大当り種別バッファ値が「1」に設定され、大当り種別が「突確」の場合には大当り種別バッファ値が「2」に設定される。
スイッチオンバッファは、ゲートスイッチ21や第1及び第2始動口スイッチ22A、22B、カウントスイッチ23といった各スイッチに対応した複数のビット値を格納し、各スイッチから伝送された検出信号の状態(オン又はオフ)に対応して、各ビット値(例えばオフに対応した「0」やオンに対応した「1」など)が変更可能に設定される。すなわち、スイッチオンバッファの各ビット値は、予め対応付けられたスイッチのオンが検出された場合に「1」が設定され、そのスイッチのオフが検出された場合に「0」が設定される。
図2に示すように、演出制御基板12には、演出制御用マイクロコンピュータ120が搭載されている。また、演出制御基板12には、演出制御用マイクロコンピュータ120からの描画コマンドに応じて画像データを生成するVDP(Video Display Processor)121や、画像表示装置5、スピーカ8L、8R及び遊技効果ランプ9等の発光体といった演出装置による演出動作を制御するために用いられる各種データを記憶する演出データメモリ122なども搭載されている。演出制御用マイクロコンピュータ120は、例えば遊技制御用マイクロコンピュータ100と同様の構成を有する1チップマイクロコンピュータであり、外部バスインタフェース、クロック回路、固有情報記憶回路、リセット/割込みコントローラ、CPU、ROM、RAM、CTC、乱数回路、PIP、シリアル通信回路、アドレスデコード回路などを備えていればよい。また、演出制御用マイクロコンピュータ120における構成の全部又は一部を、遊技制御用マイクロコンピュータ100における構成とは異ならせてもよい。一例として、演出制御基板12の側で用いられる乱数値となる数値データを、全てソフトウェアにより更新する場合には、演出制御用マイクロコンピュータ120が乱数回路を備えていなくてもよい。また、シリアル通信回路では、少なくとも主基板11から伝送される演出制御コマンドを受信可能な受信回路が設けられていればよく、画像表示装置5、音声制御基板13、ランプ制御基板14に対するデータや指令信号の送信は、外部バスインタフェースやアドレスデコード回路を用いて行うようにしてもよい。
演出制御用マイクロコンピュータ120では、CPUがROMから読み出した演出制御用のプログラムを実行することにより、演出用の電気部品(演出装置)による演出動作を制御するための処理が実行される。このときには、CPUがROMから固定データを読み出す固定データ読出動作や、CPUがRAMに各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPUがRAMに一時記憶されている各種の変動データを読み出す変動データ読出動作、CPUが外部バスインタフェースやPIP、シリアル通信回路などを介して演出制御用マイクロコンピュータ120の外部から各種信号の入力を受け付ける受信動作、CPUが外部バスインタフェースやシリアル通信回路などを介して演出制御用マイクロコンピュータ120の外部へと各種信号を出力する送信動作なども行われる。なお、演出制御用マイクロコンピュータ120を構成する1チップのマイクロコンピュータには、少なくともCPUの他にRAMが内蔵されていればよく、ROMや乱数回路、PIPなどは、外付けされるものでも内蔵されるものでもよい。中継基板18を介して主基板11から送信された演出制御コマンドとなる制御信号は、演出制御用マイクロコンピュータ120が備える所定のシリアル受信端子に供給され、演出制御用マイクロコンピュータ120に内蔵されたシリアル通信回路にて受信すればよい。あるいは、演出制御コマンドとなる制御信号は、複数本の信号線(例えば8本の演出制御信号線)を介して、主基板11から演出制御基板12へと向かう方向でパラレルに送受信されてもよい。
VDP121は、画像表示装置5の表示領域に各種画像を表示させるための高速描画機能や動画像デコード機能といった画像データ処理機能を有し、演出制御用マイクロコンピュータ120からの表示制御指令に従った画像データ処理を実行する画像処理プロセッサである。なお、VDP121は、GPU(Graphics Processing Unit)、GCL(Graphics Controller LSI)、あるいは、より一般的にDSP(Digital Signal Processor)と称される画像処理用のマイクロプロセッサであってもよい。演出データメモリ122は、例えばフラッシュメモリなどの半導体メモリや磁気メモリ、光学メモリといった不揮発性の記録媒体を用いて構成されればよい。
音声制御基板13には、例えば入出力ドライバや音声合成用IC、音声データROM、増幅回路、ボリュームなどが搭載されている。一例として、音声制御基板13では、演出制御基板12から伝送された効果音信号に示される音番号データが入出力ドライバを介して音声合成用ICに入力される。音声合成用ICは、音番号データに応じた音声や効果音を生成し増幅回路に出力する。増幅回路は、音声合成用ICの出力レベルを、ボリュームで設定されている音量に応じたレベルに増幅した音声信号を、スピーカ8L、8Rに出力する。音声データROMには、音番号データに応じた制御データが格納されており、音声合成用ICが音番号データに応じた制御データを読み出して、音声や効果音が生成される。音声データROMの記憶データは、所定期間における音声や効果音の出力態様を時系列的に示すデータなどから構成されていればよい。
ランプ制御基板14には、例えば入出力ドライバやランプドライバなどが搭載されている。一例として、ランプ制御基板14では、演出制御基板12から伝送された電飾信号が、入出力ドライバを介してランプドライバに入力される。ランプドライバは、電飾信号を増幅して遊技効果ランプ9などに供給する。
払出制御基板15には、払出制御用マイクロコンピュータ150やスイッチ回路151などが搭載されている。スイッチ回路151には、満タンスイッチ26、球切れスイッチ27、払出モータ位置センサ71、払出カウントスイッチ72、エラー解除スイッチ73などの各種スイッチやセンサからの検出信号が入力される。スイッチ回路151は、これらの検出信号を取り込んで、払出制御用マイクロコンピュータ150に伝送する。払出制御用マイクロコンピュータ150は、例えば遊技制御用マイクロコンピュータ100と同様の1チップマイクロコンピュータであり、外部バスインタフェース、クロック回路、固有情報記憶回路、リセット/割込みコントローラ、CPU、ROM、RAM、CTC、乱数回路、PIP、シリアル通信回路、アドレスデコード回路などを備えていればよい。また、払出制御用マイクロコンピュータ150における構成の全部又は一部を、遊技制御用マイクロコンピュータ100における構成とは異ならせてもよい。一例として、払出制御基板15の側で乱数値となる数値データを用いない場合には、払出制御用マイクロコンピュータ150が乱数回路を備えていなくてもよい。また、シリアル通信回路では、少なくとも主基板11との間で双方向のシリアル通信が可能な送受信回路が1つ設けられていればよく、払出モータ51、エラー表示用LED74、発射制御基板17に対するデータや指令信号の送信は、外部バスインタフェースやアドレスデコード回路を用いて行うようにしてもよい。
払出制御用マイクロコンピュータ150では、CPUがROMから読み出した払出制御用のプログラムを実行することにより、払出モータ51を含む払出装置による払出動作などを制御するための処理が実行される。このときには、CPUがROMから固定データを読み出す固定データ読出動作や、CPUがRAMに各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPUがRAMに一時記憶されている各種の変動データを読み出す変動データ読出動作、CPUが外部バスインタフェースやPIP、シリアル通信回路などを介して払出制御用マイクロコンピュータ150の外部から各種信号の入力を受け付ける受信動作、CPUが外部バスインタフェースやシリアル通信回路などを介して払出制御用マイクロコンピュータ150の外部へと各種信号を出力する送信動作なども行われる。なお、払出制御用マイクロコンピュータ150を構成する1チップのマイクロコンピュータには、少なくともCPUの他にRAMが内蔵されていればよく、ROMやPIPなどは、外付けされるものでも内蔵されるものでもよい。
次に、本実施例におけるパチンコ遊技機1の動作(作用)を説明する。主基板11では、電源基板10からの電力供給が開始され遊技制御用マイクロコンピュータ100へのリセット信号がハイレベル(オフ状態)になったことに応じて、遊技制御用マイクロコンピュータ100が起動し、CPU505がROM506から読み出したセキュリティチェックプログラム506Aに基づき、図35のフローチャートに示すようなセキュリティチェック処理が実行される。このとき、遊技制御用マイクロコンピュータ100は、セキュリティモードとなり、ROM506に記憶されているゲーム制御用のユーザプログラムは未だ実行されない状態となる。
図35に示すセキュリティチェック処理を開始すると、CPU505は、まず、セキュリティチェック処理が実行されることにより遊技制御用マイクロコンピュータ100がセキュリティモードとなる時間(セキュリティ時間)を決定するための処理を実行する。このとき、CPU505は、ROM506のプログラム管理エリアに記憶されるセキュリティ時間設定KSESのビット番号[2−0]におけるビット値を読み出す(ステップS1)。そして、この読出値が“000”であるか否かを判定する(ステップS2)。
ステップS2にて読出値が“000”と判定された場合には(ステップS2;Yes)、定常設定時間を既定の固定時間に設定する(ステップS3)。ここで、定常設定時間は、セキュリティ時間のうち、パチンコ遊技機1におけるシステムリセットの発生等に基づくセキュリティチェック処理の実行回数(遊技制御用マイクロコンピュータ100がセキュリティーモードとなる回数)に関わりなく、一定となる時間成分である。また、固定時間は、セキュリティ時間のうち、遊技制御用マイクロコンピュータ100の仕様などに基づいて予め定められた不変時間成分であり、例えばセキュリティ時間として設定可能な最小値となるものであればよい。
ステップS2にて読出値が“000”以外と判定された場合には(ステップS2;No)、その読出値に対応して、固定時間に加えて図11(D)に示す設定内容により選択される延長時間を、定常設定時間に設定する(ステップS4)。こうして、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、固定時間に加えて予め選択可能な複数の延長時間のいずれかに設定することができる。
ステップS3、S4の処理のいずれかを実行した後には、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を読み出す(ステップS5)。そして、この読出値が“00”であるか否かを判定する(ステップS6)。
ステップS6にて読出値が“00”と判定された場合には(ステップS6;Yes)、定常設定時間をセキュリティ時間に設定する(ステップS7)。これに対して、読出値が“00”以外と判定された場合には(ステップS6;No)、その読出値に対応して決定される可変設定時間を、定常設定時間に加算してセキュリティ時間に設定する(ステップS8)。ここで、可変設定時間は、セキュリティ時間のうち、セキュリティチェック処理が実行されるごとに変化する時間成分であり、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“01”(ショートモード)であるか“10”(ロングモード)であるかに応じて異なる所定の時間範囲で変化する。例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値が遊技制御用マイクロコンピュータ100に内蔵された可変セキュリティ時間用レジスタに格納される場合には、ステップS8の処理において、可変セキュリティ時間用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、可変設定時間がシステムリセット毎に所定の時間範囲でランダムに変化するように決定されればよい。こうして、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、システムリセットの発生等に基づくセキュリティチェック処理が実行されるごとに所定の時間範囲で変化させることができる。
ここで、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値であり、なおかつ、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値である場合には、ステップS4にて設定される延長時間と、ステップS8にて設定される可変設定時間との双方が、固定時間に加算されて、セキュリティ時間が決定されることになる。
ステップS7、S8の処理のいずれかを実行した後には、ROM506の所定領域に記憶されたセキュリティコードを読み出す(ステップS9)。ここで、ROM506の所定領域には、記憶内容のデータを所定の演算式によって演算した演算結果のセキュリティコードが予め記憶されている。セキュリティコードの生成方法としては、例えばハッシュ関数を用いてハッシュ値を生成するもの、エラー検出コード(CRCコード)を用いるもの、エラー訂正コード(ECCコード)を用いるもののいずれかといった、予め定められた生成方法を使用すればよい。また、ROM506のセキュリティコード記憶領域とは異なる所定領域には、セキュリティコードを演算により特定するための演算式が、暗号化して予め記憶されている。
ステップS9の処理に続いて、暗号化された演算式を復号化して元に戻す(ステップS10)。その後、ステップS10で復号化した演算式により、ROM506の所定領域における記憶データを演算してセキュリティコードを特定する(ステップS11)。このときセキュリティコードを特定するための演算に用いる記憶データは、例えばROM506の記憶データのうち、セキュリティチェックプログラム506Aとは異なるユーザプログラムの全部又は一部に相当するプログラムデータ、あるいは、所定のテーブルデータを構成する固定データの全部又は一部であればよい。そして、ステップS9にて読み出したセキュリティコードと、ステップS11にて特定されたセキュリティコードとを比較する(ステップS12)。このときには、比較結果においてセキュリティコードが一致したか否かを判定する(ステップS13)。
ステップS13にてセキュリティコードが一致しない場合には(ステップS13;No)、ROM506に不正な変更が加えられたと判断して、CPU505の動作を停止状態(HALT)へ移行させる。これに対して、ステップS13にてセキュリティコードが一致した場合には(ステップS13;Yes)、ステップS7やステップS8の処理で設定されたセキュリティ時間が経過したか否かを判定する(ステップS14)。そして、セキュリティ時間が経過していなければ(ステップS14;No)、ステップS14の処理を繰り返し実行して、セキュリティ時間が経過するまで待機する。その一方で、ステップS14にてセキュリティ時間が経過したと判定された場合には(ステップS14;Yes)、例えばCPU505に内蔵されたプログラムカウンタの値をROM506におけるユーザプログラムの先頭アドレス(アドレス0000H)に設定することなどにより、遊技制御メイン処理の実行を開始する。このときには、ROM506に記憶されたユーザプログラムを構成する制御コードの先頭から遊技制御の実行が開始されることにより、遊技制御用マイクロコンピュータ100の動作状態がセキュリティモードからユーザモードへと移行し、遊技制御メイン処理の実行が開始されることになる。
図36は、遊技制御用マイクロコンピュータ100のCPU505により実行される遊技制御メイン処理の一例を示すフローチャートである。なお、以下に説明する各処理は、遊技制御用マイクロコンピュータ100が備えるCPU505によって実行されるものとする。また、遊技制御用マイクロコンピュータ100が備えるCTC508や乱数回路509、シリアル通信回路511などで発生した各種の割込み要因に基づく割込み要求は、CPU505に所定の割込み処理を実行させるためのものである。そして、CPU505やCPU505以外の各種回路を含んだ概念を遊技制御用マイクロコンピュータ100ということもあるものとする。図36に示す遊技制御メイン処理を開始すると、CPU505は、まず、割込禁止に設定し(ステップS21)、割込モードの設定を行う(ステップS22)。例えば、ステップS22では、遊技制御用マイクロコンピュータ100の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビットは“0”)とを合成することにより割込アドレスが生成されるマスク可能割込の割込モード[2]が設定される。マスク可能な割込みが発生したときには、CPU505が自動的に割込禁止状態となる設定を行うとともに、プログラムカウンタの内容がスタックにセーブされればよい。
続いて、例えばスタックポインタ指定アドレスの設定など、スタックポインタに関わる設定を行う(ステップS23)。また、図8(B)に示すような内蔵レジスタの設定(初期化)を行う(ステップS24)。一例として、ステップS24の処理では、第1チャネル通信設定レジスタSAFMや第2チャネル通信設定レジスタSBFM等の設定を行うことにより、シリアル通信回路511における動作設定が行われればよい。ステップS24の処理に続いて、CTC508やPIP510の設定が行われる(ステップS25)。ステップS25の処理を実行した後には、例えばPIP510に含まれる所定の入力ポートにおける端子状態をチェックすることなどにより、電源断信号がオフ状態となっているか否かを判定するようにしてもよい。
その後、RAM507をアクセス可能に設定する(ステップS26)。続いて、電源基板10に設置されたクリアスイッチ304から伝送されるスイッチ信号(クリア信号)の信号状態などに基づき、クリアスイッチ304がオン操作されたかを判定する(ステップS27)。なお、ステップS27の処理では、クリアスイッチ304から伝送されるクリア信号を複数回チェックし、連続してオン状態となったときに、クリアスイッチ304がオン操作されたと判定してもよい。例えば、クリア信号の状態がオフ状態であることを1回確認したら、所定時間(例えば0.1秒)が経過した後に、クリア信号の状態をもう1回確認する。このとき、クリア信号がオフ状態であれば、クリア信号がオフ状態である旨の判定を行うようにする。他方、このときにクリア信号の状態がオン状態であれば、所定時間が経過した後に、クリア信号の状態を再び確認するようにしてもよい。なお、クリア信号の状態を再確認する回数は1回であってもよいし、複数回であってもよい。また、2回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。
ステップS27にてクリアスイッチ304がオフであるときには(ステップS27;No)、遊技制御フラグ設定部592などに設けられたバックアップフラグがオンとなっているか否かを判定する(ステップS28)。バックアップフラグの状態は、遊技制御用マイクロコンピュータ100への電力供給が停止するときに、遊技制御フラグ設定部592などに設定される。そして、このバックアップフラグの設定箇所がバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、バックアップフラグの状態は保存されることになる。ステップS28では、例えばバックアップフラグの値として「55H」が遊技制御フラグ設定部592に設定されていれば、バックアップあり(オン状態)であると判断される。これに対して、「55H」以外の値が設定されていればバックアップなし(オフ状態)であると判断される。
ステップS28にてバックアップフラグがオンであるときには(ステップS28;Yes)、RAM507のデータチェックを行い、チェック結果が正常であるか否かを判定する(ステップS29)。ステップS29の処理では、例えばRAM507の特定領域における記憶データを用いてチェックサムを算出し、算出されたチェックサムとメインチェックサムバッファに記憶されているチェックサムとを比較する。ここで、メインチェックサムバッファには、前回の電力供給停止時に、同様の処理によって算出されたチェックサムが記憶されている。そして、比較結果が不一致であれば、RAM507の特定領域におけるデータが電力供給停止時のデータとは異なっていることから、チェック結果が正常でないと判断される。
ステップS29におけるチェック結果が正常であるときには(ステップS29;Yes)、例えば遊技制御用マイクロコンピュータ100の内部状態といった主基板11における制御状態や、サブ側の制御基板(例えば演出制御基板12など)の制御状態などを電力供給が停止されたときの状態に戻すための復旧時における設定を行い、電断前の遊技状態を復旧させる(ステップS30)。具体的な一例として、ステップS30の処理では、ROM506に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し、バックアップ時設定テーブルの内容を順次に、RAM507内のワークエリアに設定する。ここで、RAM507のワークエリアはバックアップ電源によってバックアップされており、バックアップ時設定テーブルには、作業領域のうちで初期化してもよい領域についての初期化データが設定されていてもよい。
ステップS27にてクリアスイッチ304がオンであるときや(ステップS27;Yes)、ステップS28にてバックアップフラグがオフであるとき(ステップS28;No)、あるいは、ステップS29にてチェック結果が正常ではないときには(ステップS29;No)、停電復旧時でない電源投入時やシステムリセット時に対応した初期化処理を実行する。この初期化処理では、RAM507のクリア(初期化)を行い(ステップS31)、作業領域となるワークエリアを設定する(ステップS32)。なお、ステップS31の処理では、所定のデータ(例えば遊技制御カウンタ設定部594に設けられたランダムカウンタにおける格納データなど)が任意の値あるいは予め定められている初期値などに設定されてもよい。また、RAM507の全領域を初期化してもよいし、一部の領域を初期化する一方で所定のデータはそのままにしてもよい。ステップS31の処理が実行されるときには、乱数回路509の動作状態も初期化してもよい。ステップS32の処理により、遊技制御フラグ設定部592、遊技制御タイマ設定部593、遊技制御カウンタ設定部594、遊技制御バッファ設定部595などに初期値が設定されればよい。このときには、演出制御基板12等といったサブ側の各制御基板を初期化するための制御コマンド(初期化指定コマンド)を送信してもよい。例えば、演出制御基板12では、初期化指定コマンドの受信に応答して、画像表示装置5の表示領域においてパチンコ遊技機1における制御が初期化されたことを報知するための画像を表示させるなどの初期化報知が実行されればよい。
ステップS30にて電断前の遊技状態を復旧した後や、ステップS32の処理を実行した後には、ROM506のプログラム管理エリアにおける記憶データに基づき、遊技制御用マイクロコンピュータ100に内蔵された各種回路の動作設定を行う(ステップS33)。一例として、ステップS33の処理内では、プログラム管理エリアに記憶されている第1乱数初期設定KRS1や第2乱数初期設定KRS2を読み出して、図37のフローチャートに示すような乱数回路設定処理が実行される。なお、ステップS33の処理は、ステップS24の処理やステップS25の処理が実行されるときに、実行されるようにしてもよい。
図37に示す乱数回路設定処理において、CPU505は、まず、第1乱数初期設定KRS1のビット番号[3]におけるビット値に基づき、乱数回路509を使用するための設定を行う(ステップS51)。この実施の形態では、第1乱数初期設定KRS1のビット番号[3]におけるビット値が予め“1”とされており、このビット値に対応して乱数回路509を使用する設定が行われる。続いて、第1乱数初期設定KRS1のビット番号[2]におけるビット値に基づき、乱数回路509における乱数更新クロックRGKの設定を行う(ステップS52)。例えば、第1乱数初期設定KRS1のビット番号[2]におけるビット値が予め“1”とされていることに対応して、乱数用クロック生成回路112で生成された乱数用クロックRCLKを2分周して乱数更新クロックRGKとする設定が行われる。
ステップS52での設定を行った後には、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値に基づき、乱数回路509における乱数更新規則の設定を行う(ステップS53)。例えば、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が予め“00”とされている場合には、乱数列RSNにおける乱数値となる数値データの更新順を指定する乱数更新規則を2周目以降も変更しない設定がなされる。また、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が予め“01”とされている場合には、乱数列RSNにおける乱数更新規則を2周目以降はソフトウェアで変更する設定がなされる。さらに、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が予め“10”とされている場合には、乱数列RSNにおける乱数更新規則を2周目以降は自動で変更する設定がなされる。
続いて、第2乱数初期設定KRS2のビット番号[1]におけるビット値に基づき、乱数値となる数値データにおける起動時スタート値を決定する(ステップS54)。例えば、第2乱数初期設定KRS2のビット番号[1]におけるビット値が予め“0”とされている場合には、乱数のスタート値をデフォルト値「0000H」とする設定がなされる。また、第2乱数初期設定KRS2のビット番号[1]におけるビット値が予め“1”とされている場合には、乱数のスタート値をIDナンバーに基づく値とする設定がなされる。
さらに、第2乱数初期設定KRS2のビット番号[0]におけるビット値に基づき、乱数値となる数値データのスタート値をシステムリセット毎に変更するか否かの設定を行う(ステップS55)。例えば、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“0”とされている場合には、パチンコ遊技機1の電源初期投入時(バックアップ無効後の起動)における起動であるか、システムリセットによる再起動であるかに関わりなく、ステップS54にて設定した起動時スタート値をそのまま用いて、乱数回路509におけるスタート値とすればよい。また、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“1”とされている場合には、乱数のスタート値をシステムリセット毎に変更する設定がなされる。例えば、システムリセットの発生時といった所定タイミングにて、例えばフリーランカウンタ554Aといった所定のフリーランカウンタにおけるカウント値が遊技制御用マイクロコンピュータ100に内蔵された乱数スタート値用レジスタに格納される場合には、ステップS55の処理において、乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、乱数のスタート値がシステムリセット毎に所定の数値範囲(例えば乱数生成回路553にて生成されるカウント値順列RCNに含まれる数値データの全部又は一部を含む範囲)でランダムに変化するように決定されればよい。
ステップS55の処理を実行した後には、例えば乱数値レジスタR1Dや乱数値レジスタR2Dに格納されている数値データを読み出すことなどにより、乱数ラッチフラグレジスタRDFMのビット番号[1]やビット番号[0]に格納される乱数ラッチフラグデータRDFM1や乱数ラッチフラグデータRDFM0のビット値を“0”として、各乱数ラッチフラグをオフ状態にクリアする(ステップS56)。一例として、乱数ラッチフラグデータRDFM1と乱数ラッチフラグデータRDFM0について、それぞれの値が“1”であるか“0”であるかを判定し、その値が“1”であれば、対応する乱数値レジスタの読み出しを行うことにより、乱数ラッチフラグをオフ状態とすればよい。あるいは、乱数ラッチフラグデータRDFM1や乱数ラッチフラグデータRDFM0の値にかかわらず、乱数値レジスタR1Dと乱数値レジスタR2Dの読み出しを行うことにより、各乱数ラッチフラグをオフ状態としてもよい。なお、ステップS56の処理により乱数値レジスタR1Dや乱数値レジスタR2Dから読み出された数値データは、特図表示結果を「大当り」として大当り遊技状態に制御するか否かの判定処理などには使用せず、そのまま破棄(消去)すればよい。こうしたステップS56の処理による設定が完了すると、乱数回路509では乱数値の生成動作が開始されればよい。
なお、乱数回路設定処理による設定の一部又は全部は、CPU505の処理が介在することなく、乱数回路509がプログラム管理エリアの記憶データに基づき自律的に行うようにしてもよい。この場合、乱数回路509は、遊技制御用マイクロコンピュータ100がセキュリティモードとなっているときには初期設定を行わず、乱数値の生成動作が行われないようにしてもよい。そして、遊技制御用マイクロコンピュータ100にてCPU505がROM506に記憶されたユーザプログラムを読み出して遊技制御メイン処理の実行が開始されたときに、例えばCPU505から乱数回路509に対して初期設定を指示する制御信号が伝送されたことなどに応答して、乱数回路509が初期設定を行ってから乱数値の生成動作を開始するようにしてもよい。あるいは、特に乱数回路509が遊技制御用マイクロコンピュータ100に外付けされる場合などには、遊技制御用マイクロコンピュータ100がセキュリティモードとなっているときでも、乱数回路509がCPU505における処理とは独立して、プログラム管理エリアの記憶データに基づく初期設定を行ってから、乱数値の生成動作を開始するようにしてもよい。また、図36に示すステップS33の処理には、プログラム管理エリアに記憶されている割込み初期設定KIISを読み出して、リセット/割込みコントローラ504におけるマスカブル割込み要因の優先制御に関する設定を行う処理などが含まれてもよい。マスカブル割込み要因の優先順位を設定する際には、割込み初期設定KIISのビット番号[3−0]におけるビット値に対応して、最優先割込みの設定が行われる。例えば、割込み初期設定KIISのビット番号[3−0]のビット値を予め「04H」及び「05H」のいずれかとしておくことにより、シリアル通信回路511で発生した割込み要因による割込み処理を最優先で実行することができる。こうして、割込み初期設定KIISのビット番号[3−0]におけるビット値に応じたマスカブル割込み要因の優先制御を行うことにより、割込み処理の優先順位を任意に設定可能とし、設計の自由度を増大させることができる。
ステップS33での設定を行った後には、乱数回路509における動作異常の有無を検査するための乱数回路異常検査処理を実行する(ステップS34)。図38は、ステップS34にて実行される乱数回路異常検査処理の一例を示すフローチャートである。
図38に示す乱数回路異常検査処理において、CPU505は、まず、例えば遊技制御カウンタ設定部594などに設けられた乱数用クロック異常判定カウンタをクリアして、そのカウント値である乱数用クロック異常判定カウント値を「0」に初期化する(ステップS61)。続いて、内部情報レジスタCIFのビット番号[4]に格納されている内部情報データCIF4を読み出す(ステップS62)。そして、ステップS62での読出値が“1”であるか否かを判定する(ステップS63)。乱数回路509が備える周波数監視回路551では、乱数用外部クロック端子ERCにおける乱数用クロックRCLKの入力状態を、内部システムクロックSCLKと比較する。そして、乱数用クロックRCLKの入力状態に、図11(B)で示したような設定内容に応じた周波数異常が検出されたときには、内部情報データCIF4としてビット値“1”が書き込まれる。
そこで、ステップS63にて読出値が“1”と判定された場合には(ステップS63;Yes)、乱数用クロック異常判定カウント値を1加算するように更新する(ステップS64)。このときには、ステップS64での更新後におけるカウント値が所定のクロック異常判定値に達したか否かを判定する(ステップS65)。ここで、クロック異常判定値は、周波数監視回路551により乱数用クロックRCLKの周波数異常が連続して検知された場合にクロック異常と判定するために予め定められた数値であればよい。ステップS65にてクロック異常判定値に達していなければ、ステップS62の処理に戻り、再び内部情報データCIF4のビット値に基づく判定を行う。
ステップS65にてクロック異常判定値に達した場合には(ステップS65;Yes)、所定の乱数用クロックエラー時処理を実行してから(ステップS66)、乱数回路異常検査処理を終了する。なお、乱数用クロックエラー時処理では、例えば演出制御基板12に対して所定の演出制御コマンドを送信するための設定を行って、演出装置により乱数用クロックRCLKの周波数異常が検知されたことを報知させるとともに、所定のエラー解除手順(例えばシステムリセットやエラー解除スイッチの操作など)がとられるまでは、以後の処理には進まないようにしてもよく、あるいは、乱数用クロックエラー時処理の終了とともに乱数回路異常検査処理を終了して、以後は乱数用クロックエラー時処理を実行しない通常時とほぼ同様の遊技制御などが実行されるようにしてもよい。ここで、ステップS66にて乱数用クロックエラー時処理を実行した後に遊技制御などが実行される場合には、乱数用クロックエラー時処理の実行に対応したエラーの発生状態を記憶しておき、例えば後述する図43に示すステップS240の処理に基づき客待ちデモ指定コマンドを送信するときなどに、そのエラーの発生状態を通知する客待ちデモ指定コマンドを送信するようにしてもよい。また、乱数用クロックエラー時処理を実行することなく、CPU505の動作を停止状態(HALT)へ移行させてもよい。
ステップS63にて読出値が“0”と判定された場合には(ステップS63;No)、例えば遊技制御カウンタ設定部594などに設けられた乱数値異常判定カウンタをクリアして、そのカウント値である乱数値異常判定カウント値を「0」に初期化する(ステップS67)。なお、ステップS63の処理では、ステップS62にて読み出した内部情報データCIF4のビット値が複数回(例えば2回など)連続して“0”となったときに、読出値が“0”であると判定してもよい。
ステップS67の処理に続いて、乱数値における異常の有無をチェックするために用いるチェック値を、初期値「0000H」に設定する(ステップS68)。そして、乱数回路509が備える乱数値レジスタR1Dとなる乱数値レジスタ559Aや乱数値レジスタR2Dとなる乱数値レジスタ559Bから、格納されている乱数値となる数値データを読み出す(ステップS69)。例えば、ステップS69の処理では、乱数ラッチ選択レジスタRDLSのビット番号[1]やビット番号[0]に格納される乱数ラッチ選択データRDLS1や乱数ラッチ選択データRDLS0のビット値を“0”として、ソフトウェアによる乱数値の取り込みを指定する。続いて、乱数値取込指定レジスタRDLTのビット番号[1]やビット番号[0]に格納される乱数値取込指定データRDLT1や乱数値取込指定データRDLT0のビット値を“1”として、乱数値レジスタR2Dや乱数値レジスタR1Dへの取り込みを指定する。なお、乱数値取込指定レジスタRDLTのビット番号[1]やビット番号[0]におけるビット値を“1”とすることは、CPU505から乱数回路509に対して数値データの取り込み(ラッチ)を指示するラッチ信号を出力することに相当する。その後、乱数値レジスタR2Dに供給するレジスタリード信号RRS2をオン状態とすることや、乱数値レジスタR1Dに供給するレジスタリード信号RRS1をオン状態とすることにより、格納されている乱数値となる数値データを読み出すようにすればよい。なお、乱数値レジスタR2Dと乱数値レジスタR1Dのそれぞれに格納された数値データを、同時に読み出して乱数値における異常の有無をチェックしてもよいし、一方のレジスタについて異常の有無をチェックしてから、他方のレジスタについて異常の有無をチェックするようにしてもよい。
ステップS69にて数値データを読み出した後には、その読出値を乱数検査基準値に設定する(ステップS70)。続けて、さらに乱数値レジスタ559Aや乱数値レジスタ559Bから乱数値となる数値データを読み出す(ステップS71)。なお、ステップS71での読出動作は、ステップS69での読出動作と同様の手順で行われればよい。また、ステップS69での読出動作と、ステップS71での読出動作との間には、乱数回路509で生成される乱数列RSNにおける数値データが変化するために十分な遅延時間を設けるとよい。ステップS71にて数値データを読み出した後には、乱数検査基準値と、ステップS71での読出値との排他的論理和演算を実行する(ステップS72)。また、ステップS72での演算結果と、チェック値との論理和演算を実行し、演算結果を新たなチェック値とするように更新させる(ステップS73)。例えば、チェック値はRAM507の所定領域に記憶しておき、ステップS73の処理が実行される毎に、その処理で得られた演算結果を新たなチェック値として保存すればよい。これにより、乱数値レジスタ559Aや乱数値レジスタ559Bから読み出した数値データにおける全ビットの変化が記録され、複数回の読出中に少なくとも1回は値が変化したビットであれば、チェック値において対応するビット値が“1”となる。
そこで、チェック値が「FFFFH」となったか否かを判定し(ステップS74)、なっていれば(ステップS74;Yes)、全ビットについてビット値の変化が認められることから、乱数値が正常に更新されていると判断して、乱数回路異常検査処理を終了する。なお、乱数値が正常に更新されていることを確認できた場合には、乱数ラッチ選択レジスタRDLSのビット番号[1]やビット番号[0]に格納される乱数ラッチ選択データRDLS1や乱数ラッチ選択データRDLS0のビット値を“1”として、入力ポートP1への信号入力に応じた乱数値レジスタR2Dへの乱数値取込や、入力ポートP0への信号入力に応じた乱数値レジスタR1Dへの乱数値取込を、指示するようにしてもよい。この実施の形態では、入力ポートP0に第1始動口スイッチ22Aからの第1始動入賞信号SS1を伝送する配線が接続され、入力ポートP1に第2始動口スイッチ22Bからの第2始動入賞信号SS2を伝送する配線が接続される。これにより、第1始動入賞信号SS1がオン状態となったときに乱数値レジスタR1Dへの乱数値取込を行う一方、第2始動入賞信号SS2がオン状態となったときに乱数値レジスタR2Dへの乱数値取込を行うことができる。
ステップS74にてチェック値が「FFFFH」以外と判定された場合には(ステップS74;No)、乱数値異常判定カウント値を1加算するように更新する(ステップS75)。このときには、ステップS75での更新後におけるカウント値が所定の乱数値異常判定値に達したか否かを判定する(ステップS76)。ここで、乱数値異常判定値は、乱数回路509が正常動作していれば、乱数値レジスタ559Aや乱数値レジスタ559Bから読み出される数値データの全ビットが少なくとも1回は変化するのに十分な判定回数となるように、予め定められた数値であればよい。ステップS76にて乱数値異常判定値に達していなければ、ステップS71の処理に戻り、再び乱数回路509から乱数値となる数値データを読み出して異常の有無をチェックするための判定などを行う。
ステップS76にて乱数値異常判定値に達した場合には(ステップS76;Yes)、所定の乱数値エラー時処理を実行してから(ステップS77)、乱数回路異常検査処理を終了する。なお、乱数値エラー時処理では、例えば演出制御基板12に対して所定の演出制御コマンドを送信するための設定を行って、演出装置により乱数値の異常が検知されたことを報知させるとともに、所定のエラー解除手順(例えばシステムリセットやエラー解除スイッチの操作など)がとられるまでは、以後の処理には進まないようにしてもよく、あるいは、乱数値エラー時処理の終了とともに乱数回路異常検査処理を終了して、以後は乱数値エラー時処理を実行しない通常時とほぼ同様の遊技制御などが実行されるようにしてもよい。ここで、ステップS77にて乱数値エラー時処理を実行した後に遊技制御などが実行される場合には、乱数値エラー時処理の実行に対応したエラーの発生状態を記憶しておき、例えば後述する図43に示すステップS240の処理に基づき客待ちデモ指定コマンドを送信するときなどに、そのエラーの発生状態を通知する客待ちデモ指定コマンドを送信するようにしてもよい。また、乱数値エラー時処理を実行することなく、CPU505の動作を停止状態(HALT)へ移行させてもよい。
このように、乱数回路異常検査処理では、例えばステップS71の処理を繰り返し実行することなどにより、乱数回路509の乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データを複数回読み出す。そして、ステップS72〜ステップS74の処理を実行することなどにより読み出した数値データの全ビットを監視して、変化しないビットデータの有無に基づき、ステップS76にて乱数回路509の動作状態に異常が発生したか否かを判定する。これにより、乱数回路509の動作状態に異常が発生していることを確実かつ容易に検知して、不正行為を防止することができる。
なお、ステップS34の乱数回路異常検査処理は、CPU505が実行するものに限定されず、CPU505以外の遊技制御用マイクロコンピュータ100における内蔵回路により乱数回路異常検査処理が実行されてもよい。一例として、乱数回路509が乱数回路異常検査処理を実行する機能を有し、乱数用クロックRCLKの周波数異常が検知されたときや、乱数値の異常が検知されたときに、エラーの発生をCPU505に通知するようにしてもよい。また、乱数回路異常検査処理は、ステップS34のみにて実行されるものに限定されず、例えば遊技制御用マイクロコンピュータ100にてタイマ割込みが発生する毎に、後述する遊技制御用タイマ割込み処理(図39参照)にて乱数回路異常検査処理の一部又は全部が実行されるようにしてもよい。すなわち、ステップS34の乱数回路異常検査処理は、図36に示すステップS35の処理を実行した後に、実行される処理としてもよい。一例として、遊技制御用タイマ割込み処理にて乱数回路異常検査処理が実行される場合には、例えば図38に示すステップS61〜ステップS66の処理を実行する一方で、ステップS67〜ステップS77の処理は実行されないようにしてもよい。ステップS67〜ステップS77の処理は、例えばステップS69の処理を繰り返し実行して乱数回路509から数値データを繰り返し読み出すためなどに、長い処理時間を要することがあり、遊技制御用タイマ割込み処理において処理落ちが発生するおそれがある。そこで、この場合にはステップS61〜ステップS66の処理のみを実行することで、遊技制御用タイマ割込み処理における処理量を軽減し、処理落ちの発生を防止することができる。
ステップS34にて以上のような乱数回路異常検査処理を実行した後には、割込み許可状態に設定して(ステップS35)、各種割込み要求の発生を待機する。ステップS35の処理を実行した後には、例えばステップS25におけるCTC508の設定に基づき、2ミリ秒ごとに遊技制御用のタイマ割込みが発生するようになればよい。ステップS35の処理を実行した後には、遊技用乱数更新処理が繰り返し実行される(ステップS36)。
なお、ステップS35の処理を実行するより前に、主基板11に設置された遊技開始スイッチ31から伝送されるスイッチ信号の信号状態などに基づき、遊技開始スイッチ31がオン操作されたか否かを判定するようにしてもよい。この場合には、遊技開始スイッチ35から伝送されるスイッチ信号を複数回チェックし、連続してオン状態となったときに、遊技開始スイッチ31がオン操作されたと判定してもよい。また、遊技開始スイッチ31のオン操作をチェックする処理は、例えばステップS31及びステップS32の処理が実行された場合のように、復旧のない初期状態からのスタート時(コールドスタート時)に限り実行し、例えばステップS30の処理が実行された場合のように、電断前の遊技状態に復旧させるスタート時(ホットスタート時)には遊技開始スイッチ31の操作に関わりなく、例えば遊技制御用タイマ割込み処理といった、遊技の進行を制御する処理に進めるようにしてもよい。ここで、遊技制御用マイクロコンピュータ100が備えるRAM507にて遊技制御カウンタ設定部594に設けられたランダムカウンタとなる領域がバックアップ電源によりバックアップされている場合には、ホットスタート時であれば電断前のランダムカウンタにおける格納データを用いて乱数値となる数値データの更新を開始するので、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値を特定することは困難になる。これに対して、コールドスタート時には、例えばステップS31の処理でランダムカウンタがクリア(初期化)されてしまうことなどにより、一定の初期値(例えば「0」など)から乱数値の更新が開始され、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値が特定されてしまう可能性がある。
そこで、コールドスタート時には遊技開始スイッチ31がオン操作されるまで待機させ、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値が特定されることを困難にする。これにより、特に大当り判定用の乱数値(例えば特図表示結果判定用の乱数値MR1)をソフトウェアのみで更新するような場合に、いわゆる「ぶら下げ基板」を接続してパチンコ遊技機1の動作開始タイミングから所定時間が経過したタイミングで不正信号が入力されても、不正な大当り遊技状態の発生を防止できる。また、遊技開始スイッチ31がオン操作されていないと判定したときには、遊技用乱数更新処理を実行して、ランダムカウンタに格納された乱数値をソフトウェアにより更新するようにしてもよい。これにより、遊技開始スイッチ31のオン操作がなされたタイミングからの経過時間に加えて、パチンコ遊技機1の動作開始タイミングから遊技開始スイッチ31のオン操作がなされるまでの経過時間も特定できなければ、たとえコールドスタート時でもランダムカウンタに格納された乱数値を特定することは困難になり、狙い撃ちや不正信号の入力などにより不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
こうしてステップS35の処理が実行されることにより割込み許可状態となった後、例えばCTC508や乱数回路509、シリアル通信回路511の一部又は全部などにて同時に複数のマスカブル割込み要因が生じたときには、割込み初期設定KIISのビット番号[3−0]におけるビット値による指定に基づき、リセット/割込みコントローラ504によって優先順位の高い割込み要因が受け付けられる。リセット/割込みコントローラ504が割込み要因を受け付けたときには、例えばCPU505が備えるIクラス割込み(IRQ)端子などに対して、オン状態の割込み要求信号を出力する。CPU505にてIRQ端子にオン状態の割込み要求信号が入力されたときには、例えば内部レジスタの格納データを確認した結果などに基づき、発生した割込み要因を特定し、特定された割込み要因に対応するベクタアドレスを先頭アドレスとするプログラムを実行することにより、各割込み要因に基づく割込み処理を開始することができる。
シリアル通信回路511が備える第1チャネル送受信回路による通信データの受信中に、オーバーランエラー、ブレークコードエラー、フレーミングエラー、パリティエラーという、4種類のエラーのいずれかが発生した場合には、第1チャネル受信割込みが発生する。このときには、CPU505が所定のシリアル通信エラー割込み処理を実行してもよい。このシリアル通信エラー割込み処理では、例えば所定の第1チャネル通信設定レジスタにおける所定のビット番号と、第2チャネル通信設定レジスタにおける所定のビット番号とに対応したビット値を、いずれも“0”に設定することなどにより、シリアル通信回路511における送信機能と受信機能をいずれも使用しないように設定すればよい。ここで、第1チャネル通信設定レジスタや第2チャネル通信設定レジスタは、遊技制御用マイクロコンピュータ100の内蔵レジスタに含まれるものであればよい。また、第1チャネル送受信回路による通信データの受信中にエラーが発生したときには、払出モータ51を含む払出装置による遊技球の払出を禁止する制御を行うようにしてもよい。これにより、通信データの受信エラーといった異常が発生したときに、賞球となる遊技球の過剰な払出を防止することができる。
遊技制御用マイクロコンピュータ100では、例えばリセット/割込みコントローラ504がCTC508からの割込み要求を受け付けたことなどに基づき、CPU505が図39のフローチャートに示す遊技制御用タイマ割込み処理を実行する。図39に示す遊技制御用タイマ割込み処理において、CPU505は、まず、割込み禁止状態としてから、所定の電源断処理を実行する(ステップS91)。また、所定のスイッチ処理を実行することにより、スイッチ回路114を介して遊技球検出用の各スイッチ21、22A、22B、23などから入力される検出信号(入賞検出信号)の状態を判定する(ステップS92)。一例として、スイッチ処理では、各スイッチ21、22A、22B、23などからの検出信号においてオン状態が所定時間(例えば4ミリ秒)継続したか否かを判定し、継続したと判定された場合には、遊技制御バッファ設定部595に設けられたスイッチオンバッファにおいて、オン状態を検出したスイッチと対応付けられたビット値が“1”に設定されればよい。
ステップS92におけるスイッチ処理に続いて、所定のメイン側エラー処理を実行することにより、パチンコ遊技機1の異常診断を行い、その診断結果に応じて必要ならば警告を発生可能とする(ステップS93)。例えば、メイン側エラー処理では、賞球過多や賞球不足、その他の動作エラーが発生した場合に対応して、異常動作の発生を報知するための設定などが行われてもよい。この後、所定の情報出力処理を実行することにより、例えばパチンコ遊技機1の外部に設置されたホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する(ステップS94)。
情報出力処理に続いて、遊技用乱数更新処理を実行する(ステップS95)。この後、CPU505は、特別図柄プロセス処理を実行する(ステップS96)。特別図柄プロセス処理では、遊技制御フラグ設定部592に設けられた特図プロセスフラグの値をパチンコ遊技機1における遊技の進行状況に応じて更新し、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおける表示動作の制御や特別可変入賞球装置7における大入賞口の開閉動作設定などを所定の手順で行うために、各種の処理が選択されて実行される。
特別図柄プロセス処理に続いて、普通図柄プロセス処理が実行される(ステップS97)。CPU505は、普通図柄プロセス処理を実行することにより、普通図柄表示器20における表示動作(例えばセグメントLEDの点灯、消灯など)を制御して、普通図柄の可変表示や普通可変入賞球装置6Bにおける可動翼片の傾動動作設定などを可能にする。普通図柄プロセス処理を実行した後、CPU505は、例えばステップS92におけるスイッチ処理の実行結果などに基づき、入賞検出信号の入力に応じて賞球個数の設定などを行う賞球処理を実行する(ステップS98)。賞球処理に続いて、メイン側通信制御処理を実行することにより、主基板11から演出制御基板12や払出制御基板15などのサブ側の制御基板に向けて制御コマンドを送信したり、払出制御基板15から伝送された制御コマンドを受信したりするための通信制御を行う(ステップS99)。
一例として、メイン側通信制御処理では、遊技制御バッファ設定部595に設けられた送信コマンドバッファに含まれる払出用送信コマンドバッファの記憶データによって指定されたコマンド送信テーブルにおける設定に対応して、シリアル通信回路511が備える第1チャネル送受信回路に送信動作の指示を送ることなどにより、払出制御コマンドの伝送を可能にする。また、遊技制御バッファ設定部595などに設けられた払出用受信コマンドバッファの記憶内容を確認して受信コマンドが格納されているか否かを判定し、格納されているときには、その受信コマンドを読み出す。なお、払出用受信コマンドバッファに対する受信コマンドの格納は、シリアル通信回路511にて第1チャネル送受信回路により払出通知コマンドとなる通信データを受信したことに応じて発生する第1チャネル受信割込みに基づいて実行される割込み処理により、行われるようにすればよい。他の一例として、メイン側通信制御処理では、送信コマンドバッファに含まれる演出用送信コマンドバッファの記憶データによって指定されたコマンド送信テーブルにおける設定に対応して、シリアル通信回路511が備える第2チャネル送信回路に送信動作の指示を送ることなどにより、演出制御コマンドの伝送を可能にする。こうしたメイン側通信制御処理を実行した後には、割込み許可状態としてから、遊技制御用タイマ割込み処理を終了する。
図36のステップS36や図39のステップS95にて実行される遊技用乱数更新処理では、例えば遊技制御カウンタ設定部594が備えるランダムカウンタの所定領域における記憶データを更新することなどにより、大当り種別決定用の乱数値MR2を1加算すればよい。これにより、大当り種別決定用の乱数値MR2について、遊技用乱数更新処理が実行される毎に1ずつ加算するように更新する。また、遊技用乱数更新処理では、遊技用乱数となる乱数値MR1〜MR5を示す数値データのうち、乱数値MR3〜MR5を示す数値データを順次に更新対象とする乱数値に設定する。ここで、例えば乱数値MR3〜MR5については、加算値や加算判定値、最大判定値が定められてもよい。一例として、リーチ判定用の乱数値MR3に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「240」に定められていればよい。変動パターン種別決定用の乱数値MR4に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「242」に定められていればよい。変動パターン決定用の乱数値MR5に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「998」に定められていればよい。
加算値は、1回のタイマ割込みなどに対応して各乱数値に加算する値であり、その値は遊技用乱数更新処理が実行されるごとに異ならせることができればよい。例えば、加算値は、加算値決定用の乱数値となる数値データなどに基づいて求められるもので、一時的な変数として加算値を記憶するための領域がRAM507などに設けられていればよい。加算判定値は、加算値決定用の乱数値との比較により、各乱数値に対応した加算値を取得するために用いられる値である。より具体的には、加算値決定用の乱数値が各乱数値に対応した加算値の初期値として読み出された後、現在の加算値が加算判定値よりも小さくなったと判定されるまで、現在の加算値から加算判定値を減算した値を、新たな加算値として更新していく。乱数判定値は、最終的に求められた加算値を加算したことによる更新後の各乱数値が取り得る値の範囲内であるかを判定するために用いられる値である。そして、更新後の各乱数値が対応する乱数判定値を超えているときには、更新後の乱数値から乱数判定値を減算した値が、新たな乱数値として設定される。なお、例えば乱数値MR2を示す数値データは、遊技制御用マイクロコンピュータ100にてタイマ割込みが発生する毎に、1ずつ加算するように更新されてもよい。
遊技用乱数更新処理では、加算値決定用の乱数値を示す数値データを読み出し、その読出値が更新対象となる乱数値ごとに定められた加算判定値未満であるか否かを判定する。そして、加算判定値未満であれば、読出値を加算値に設定する。これに対して、加算判定値以上であれば、読出値から加算判定値を減算した値を、加算値に設定する。その後、更新対象となる乱数値に加算値を加算して、加算後乱数値とする。このときには、加算後乱数値が、更新対象となる乱数値ごとに定められた最大判定値未満であるか否かを判定する。最大判定値未満であれば、加算後乱数値を更新後乱数値に設定する。これに対して、最大判定値以上であれば、加算後乱数値から最大判定値を減算した値を、更新後乱数値に設定する。こうして設定された更新後乱数値を、ランダムカウンタにて更新対象となる乱数値を格納する所定領域にセットすることで、乱数値の更新が完了する。
図40は、電源断処理として、図39のステップS91にて実行される処理の一例を示すフローチャートである。この電源断処理において、CPU505は、まず、電源断信号がオン状態であるか否か、すなわち、電源基板10に搭載された電源監視回路303から電源断信号が出力されているか否かを判定する(ステップS111)。このとき、電源断信号がオフ状態であり、電源断信号が出力されていなければ(ステップS112;No)、遊技制御タイマ設定部593に設けられたバックアップ監視タイマをクリアして、その格納値であるバックアップ監視タイマ値を初期値となる「0」に設定する(ステップS112)。これに対して、電源断信号がオン状態であり、電源断信号が出力されているときには(ステップS111;Yes)、バックアップ監視タイマ値を1加算するなどして更新する(ステップS113)。そして、ステップS113における更新後のバックアップ監視タイマ値が予め定められたバックアップ判定値(例えば「2」など)に達したか否かを判定する(ステップS114)。ステップS114にてバックアップ判定値に達していないときには(ステップS114;No)、電源断処理を終了する。
ステップS114にてバックアップ判定値に達した場合には(ステップS114;Yes)、電力の供給停止に対応するための準備処理として、ステップS115以降の処理を実行する。こうした準備処理が実行されるときには、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理(電源断時制御処理)を実行する状態に移行する。ステップS114の処理でバックアップ判定値に達した場合に限り準備処理を実行することにより、ノイズ等で電源電圧が一瞬低下して電源断信号のオン状態が発生しても、誤って電力供給停止時処理が開始されてしまうことを防止できる。
電力供給停止時処理では、チェックサムを算出して、例えば遊技制御バッファ設定部595に設けられたメインチェックサムバッファなどに記憶させる(ステップS115)。一例として、ステップS115の処理では、RAM507における所定領域の先頭アドレスをチェックサム算出開始アドレスに設定し、その所定領域の最終アドレスに対応してチェックサム算出回数を設定する。こうしたチェックサム算出開始アドレスとチェックサム算出回数の設定に用いられるアドレスで特定されるRAM507の所定領域は、電力供給停止時でも内容が保存されるべき記憶領域として予め定められた内容保存領域であればよい。そして、この内容保存領域における記憶データを順次に読み出して排他的論理和を演算する。例えば、チェックサム算出開始アドレスをポインタにセットした後、RAM507においてポインタが指すアドレスの記憶データを読み出して、初期値が「00」であるチェックサムデータとの排他的論理和を演算した上で、演算結果を新たなチェックサムデータとしてストアする。このときには、ポインタの値を1加算するとともに、チェックサム算出回数を1減算する。続いて、チェックサム算出回数が「0」以外の値であれば、さらにポインタが指すアドレスの記憶データを読み出して、チェックサムデータとの排他的論理和を演算する処理や、ポインタの値を1加算してチェックサム算出回数を1減算する処理を、チェックサム算出回数が「0」になるまで繰り返し実行すればよい。チェックサム算出回数が「0」になったときには、チェックサムデータの各ビット値を反転して、得られた値をメインチェックサムバッファにストアして記憶させればよい。こうしてメインチェックサムバッファに記憶されたデータは、電源投入時にチェックされるパリティデータとして使用される。
ステップS115の処理を実行してチェックサムデータを記憶させたときには、遊技制御フラグ設定部592に設けられたバックアップフラグをオン状態にセットすればよい。その後、例えば所定のRAMアクセスレジスタにアクセス禁止値を設定することなどにより、以後、RAM507へのアクセスを禁止する(ステップS116)。電源電圧が低下していくときには、CPU505の動作などに暴走が生じることや、各種信号線における信号レベル(電圧レベル)が不安定になることなどにより、RAM507の記憶内容が誤って変更される可能性がある。そこで、ステップS116の処理によりRAM507へのアクセスを禁止した状態に設定することで、RAM507に設けられたバックアップ用の記憶領域などにおける記憶内容の誤った変更(破損)を防止できる。また、CPU505は、遊技制御用マイクロコンピュータ100が備える所定の出力ポートにクリアデータである「00」をセットするなどのクリア設定を行う(ステップS117)。さらに、CPU505は、例えばCTC508の制御レジスタに「00」をセットすることなどにより、タイマ割込み禁止状態に設定する(ステップS118)。ここで、CTC508の制御レジスタは、遊技制御用マイクロコンピュータ100の内蔵レジスタに含まれるものであればよい。なお、ステップS117の処理による出力ポートのクリア設定や、ステップS118の処理によるタイマ割込み禁止状態の設定は、ステップS115の処理によりチェックサムが算出されるよりも前に実行してもよい。図39に示す遊技制御用タイマ割込み処理の実行が開始されるときに割込み禁止状態とする場合には、ステップS118の処理によるタイマ割込み禁止状態の設定は実行されなくてもよい。
ステップS118の処理による設定に続いて、電源断信号がオフ状態となったか否かを監視するループ処理に入る(ステップS119)。そして、電源断信号がオン状態のあいだは(ステップS119;No)、ステップS119の処理を繰り返し実行して待機する。これに対して、ステップS119にて電源断信号がオフ状態となったときには(ステップS119;No)、乱数ラッチフラグをクリアするための処理を実行する。
すなわち、乱数ラッチフラグレジスタRDFMのビット番号[0]に格納される乱数ラッチフラグデータRDFM0のビット値が“1”であるか否かに応じて、乱数値レジスタR1Dに対応する乱数ラッチフラグがオンであるか否かを判定する(ステップS120)。そして、この乱数ラッチフラグがオンであれば(ステップS120;Yes)、乱数値レジスタR1Dの読み出しを行うことにより、乱数ラッチフラグデータRDFM0のビット値を“0”にクリアして、対応する乱数ラッチフラグをオフ状態とする(ステップS121)。また、ステップS120にて乱数ラッチフラグデータRDFM0で指定される乱数ラッチフラグがオフである場合や(ステップS120;No)、ステップS121の処理を実行した後には、乱数ラッチフラグレジスタRDFMのビット番号[1]に格納される乱数ラッチフラグデータRDFM1のビット値が“1”であるか否かに応じて、乱数値レジスタR2Dに対応する乱数ラッチフラグがオンであるか否かを判定する(ステップS122)。このとき、乱数ラッチフラグがオンであれば(ステップS122;Yes)、乱数値レジスタR2Dの読み出しを行うことにより、乱数ラッチフラグデータRDFM1のビット値を“0”にクリアして、対応する乱数ラッチフラグをオフ状態とする(ステップS123)。こうしたステップS121やステップS123の処理により、乱数ラッチフラグがオフ状態とされて、乱数値レジスタR1Dや乱数値レジスタR2Dに新たな数値データの格納が許可された状態に設定できる。なお、ステップS121やステップS123の処理により乱数値レジスタR1Dや乱数値レジスタR2Dから読み出された数値データは、特図表示結果を「大当り」として大当り遊技状態に制御するか否かの判定処理などには使用せず、そのまま破棄(消去)すればよい。また、ステップS120〜ステップS123の処理に代えて、乱数ラッチフラグデータRDFM0や乱数ラッチフラグデータRDFM1の値にかかわらず、乱数値レジスタR1Dと乱数値レジスタR2Dの読み出しを行うことにより、各乱数ラッチフラグをオフ状態とする処理が実行されてもよい。
ステップS122にて乱数ラッチフラグデータRDFM1で指定される乱数ラッチフラグがオフであるときや(ステップS122;No)、ステップS123の処理を実行した後には、所定の電断復旧時における設定を行った後(ステップS124)、遊技制御メイン処理の先頭にリターンする。一例として、ステップS124の処理では、CPU505に内蔵されたスタックポインタに電源断復旧時ベクタテーブルの記憶アドレスを格納し、遊技制御用タイマ割込み処理から復帰(リターン)させる。ここで、電源断復旧時ベクタテーブルは、ROM506に記憶された制御コード(遊技制御プログラム)の先頭アドレスを指定するものであればよい。遊技制御タイマ割込み処理のような割込み処理から復帰(リターン)するときには、スタックポインタで指定されるアドレスの記憶データが復帰アドレスとして読み出される。こうして、ステップS124の処理を実行した後には、CPU505により、ROM506に記憶されている制御コードの先頭から、遊技制御の実行を開始(再開)させることができる。
図41は、特別図柄プロセス処理として、図39に示すステップS96にて実行される処理の一例を示すフローチャートである。この特別図柄プロセス処理において、CPU505は、まず、始動入賞判定処理を実行する(ステップS131)。図42は、ステップS131にて実行される始動入賞判定処理の一例を示すフローチャートである。
図42に示す始動入賞判定処理を開始すると、CPU505は、まず、第1始動口スイッチ22Aにおける遊技球の検出状態をチェックする(ステップS201)。一例として、ステップS201の処理では、遊技制御バッファ設定部595に設けられた所定のスイッチオンバッファにおける格納値をロードして、第1始動口スイッチ22Aと対応付けられたビット値が“0”であるか“1”であるかを特定する。このとき、チェックしたビット値が“0”であれば第1始動口スイッチ22Aは遊技球を検出しておらずオフ状態であることを示す一方、“1”であれば第1始動口スイッチ22Aは遊技球を検出したことによりオン状態であることを示す。他の一例として、ステップS201の処理では、例えばPIP510に含まれる入力ポートP0といった所定ポートの入力状態を確認することにより、始動口スイッチ22Aから伝送される検出信号がオン状態であるか否かを特定する。このとき、検出信号がオフ状態であれば第1始動口スイッチ22Aは遊技球を検出しておらずオフ状態であることを示す一方、オン状態であれば第1始動口スイッチ22Aは遊技球を検出したことによりオン状態であることを示す。この場合、所定ポートの入力状態を複数回(例えば2回)繰り返し確認することにより、連続して検出信号がオン状態であるときに、第1始動口スイッチ22Aがオン状態であることが特定されてもよい。ステップS201の処理に続いて、第1始動口入賞テーブル135Aを選択して、使用テーブルにセットする(ステップS202)。一例として、ステップS202の処理では、ROM506における第1始動口入賞テーブル135Aの記憶アドレス(先頭アドレス)を、所定のテーブルポインタに格納することで、第1始動口入賞テーブル135Aを使用テーブルとして参照可能に設定すればよい。以下、各種のテーブルを選択して使用テーブルにセットする処理において、同様の設定が行われればよい。
ステップS202の処理に続いて、ステップS201でのチェック結果に基づいて、第1始動口スイッチ22Aがオン状態であるか否かを判定する(ステップS203)。このとき、第1始動口スイッチ22Aがオン状態であれば(ステップS203;Yes)、所定の始動口通過時処理を実行する(ステップS204)。また、ステップS203にて第1始動口スイッチ22Aがオフ状態であると判定されたときや(ステップS203;No)、ステップS204にて始動口通過時処理を実行した後には、第2始動口スイッチ22Bにおける遊技球の検出状態をチェックする(ステップS205)。ステップS205の処理は、ステップS201の処理を第2始動口スイッチ22Bに適合させたものであればよい。続いて、第2始動口入賞テーブル135Bを選択して、使用テーブルにセットする(ステップS206)。さらに、ステップS205でのチェック結果に基づいて、第2始動口スイッチ22Bがオン状態であるか否かを判定する(ステップS207)。そして、第2始動口スイッチ22Bがオン状態であれば(ステップS207;Yes)、ステップS204と同様に始動口通過時処理を実行してから(ステップS208)、始動入賞判定処理を終了する。これに対して、ステップS207にて第2始動口スイッチ22Bがオフ状態であると判定されたときには、ステップS207の始動口通過時処理を実行せずに、始動入賞判定処理を終了する。
ステップS204やステップS208において実行される始動口通過時処理は、共通の処理ルーチンとして、予め用意されたユーザプログラム(ゲーム制御用の遊技制御処理プログラム)に含まれる制御コードにより実現される処理であればよい。この始動口通過時処理では、ステップS202の処理でセットされた第1始動口入賞テーブル135Aを使用するか、ステップS206の処理でセットされた第2始動口入賞テーブル135Bを使用するかに応じて、第1始動入賞口を遊技球が通過(進入)した場合に対応した各種処理と、第2始動入賞口を遊技球が通過(進入)した場合に対応した各種処理とのうち、いずれかを実行することができる。
図43は、始動口通過時処理として、図42のステップS204やステップS208にて実行される処理の一例を示すフローチャートである。この始動口通過時処理において、CPU505は、まず、遊技球が通過(進入)した始動入賞口に対応する保留記憶カウント値を読み出す(ステップS501)。すなわち、遊技球が第1始動入賞口を通過(進入)した場合には、遊技制御カウンタ設定部594から第1保留記憶カウント値を読み出す一方、遊技球が第2始動入賞口を通過(進入)した場合には、遊技制御カウンタ設定部594から第2保留記憶カウント値を読み出す。このときには、例えば図42に示すステップS202の処理でセットされた第1始動口入賞テーブル135Aで指定される第1保留記憶カウンタアドレス、あるいは、ステップS206の処理でセットされた第2始動口入賞テーブル135Bで指定される第2保留記憶カウンタアドレスに対応して、保留記憶カウント値の読出元となるRAM507の記憶アドレスなどを特定できればよい。
続いて、ステップS501の処理における読出値が、予め定められた上限値(例えば「4」など)以上であるか否かを判定する(ステップS502)。このとき、上限値未満であれば(ステップS502;No)、ステップS501の処理で読み出した保留記憶カウント値を1加算するように更新する(ステップS503)。また、遊技球が通過(進入)した始動入賞口に対応する特図保留記憶部における保留データの記憶位置を特定する(ステップS504)。すなわち、遊技球が第1始動入賞口を通過(進入)した場合には、第1特図保留記憶部591Aにおける保留データの記憶位置を特定する一方、遊技球が第2始動入賞口を通過(進入)した場合には、第2特図保留記憶部591Bにおける保留データの記憶位置を特定する。このときには、例えば図42に示すステップS202の処理でセットされた第1始動口入賞テーブル135Aで指定される第1特図保留記憶部アドレス、あるいは、ステップS206の処理でセットされた第2始動口入賞テーブル135Bで指定される第2特図保留記憶部アドレスに、ステップS501の処理などで読み出した保留記憶カウント値に対応するアドレス加算値を加算することなどにより、保留データの記憶位置となる第1特図保留記憶部591Aや第2特図保留記憶部592Bの記憶アドレスなどを特定できればよい。
ステップS504の処理を実行した後には、特図表示結果決定用の乱数値MR1となる数値データの読出元となる乱数値レジスタを特定する(ステップS505)。すなわち、遊技球が第1始動入賞口を通過(進入)した場合には、乱数値レジスタR1Dを数値データの読出元とする一方、遊技球が第2始動入賞口を通過(進入)した場合には、乱数値レジスタR2Dを数値データの読出元とする。このときには、例えば図42に示すステップS202の処理でセットされた第1始動口入賞テーブル135Aで指定される乱数値レジスタR1Dアドレス、あるいは、ステップS206の処理でセットされた第2始動口入賞テーブル135Bで指定される乱数値レジスタR2Dアドレスに対応して、数値データの読出元となる乱数値レジスタのアドレスなどを特定できればよい。
そして、ステップS505にて特定された乱数値レジスタを読み出すことなどにより、乱数値となる数値データを抽出する(ステップS506)。すなわち、ステップS505の処理で乱数値レジスタR1Dが読出元とされた場合には、乱数回路509が備える乱数値レジスタR1Dとしての乱数値レジスタ559Aから、数値データを読み出して抽出する。その一方で、ステップS505の処理で乱数値レジスタR2Dが読出元とされた場合には、乱数回路509が備える乱数値レジスタR2Dとしての乱数値レジスタ559Bから、数値データを読み出して抽出する。このときには、数値データが読み出された乱数値レジスタR1Dあるいは乱数値レジスタR2Dに対応する乱数ラッチフラグがオフ状態になる。すなわち、ステップS505の処理で乱数値レジスタR1Dが読出元とされた場合には、ステップS506の処理による数値データの読み出しにより乱数ラッチフラグデータRDFM0のビット値が“1”から“0”へと更新され、乱数値レジスタR1Dと対応付けられた乱数ラッチフラグがオフ状態となる。その一方で、ステップS505の処理で乱数値レジスタR2Dが読出元とされた場合には、ステップS506の処理による数値データの読み出しにより乱数ラッチフラグデータRDFM1のビット値が“1”から“0”へと変更され、乱数値レジスタR2Dと対応付けられた乱数ラッチフラグがオフ状態となる。また、ステップS505の処理では、遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、大当り種別決定用の乱数値MR2を示す数値データを読み出して抽出する。こうして読み出された数値データに基づき、特図表示結果決定用の乱数値MR1を示す数値データや大当り種別決定用の乱数値MR2を示す数値データが、保留データとして、ステップS504の処理で特定された特図保留記憶部の記憶位置に記憶される(ステップS507)。
なお、乱数値レジスタR1Dや乱数値レジスタR2Dから読み出された数値データは、そのまま特図表示結果決定用の乱数値MR1として第1特図保留記憶部591Aや第2特図保留記憶部591Bに記憶されてもよいし、所定の加工処理を施してから記憶されるようにしてもよい。一例として、乱数回路509から抽出された数値データは、CPU505が有する16ビットの汎用レジスタなどに一旦格納される。続いて、CPU505に内蔵されたリフレッシュレジスタの格納値であるリフレッシュレジスタ値を、加工用の乱数値となる数値データとして読み出す。このときには、汎用レジスタにおける上位バイトにリフレッシュレジスタ値を加算する一方で、下位バイトはそのままにしておいてもよい。ここで、リフレッシュレジスタ値を加算することに代えて、減算、論理和、論理積といった、所定の演算処理を実行するようにしてもよい。あるいは、リフレッシュレジスタ値を汎用レジスタにおける下位バイトに加算などするようにしてもよい。また、乱数回路509から抽出された数値データの上位バイトと下位バイトとを入れ替えて、汎用レジスタにおける上位バイトや下位バイトとして格納してもよい。さらに、汎用レジスタにおける上位バイトもしくは下位バイトにリフレッシュレジスタ値を加算などした後に、あるいは、汎用レジスタにおける上位バイトや下位バイトに加算などの演算処理を行うことなく、上位バイトと下位バイトとを入れ替えるようにしてもよい。乱数回路509から抽出された数値データの上位バイトと下位バイトとのうち、特定のビットのデータを、他のビットのデータと入れ替えるようにしてもよい。この場合には、例えば乱数回路509における乱数値レジスタR1Dや乱数値レジスタR2Dと、汎用レジスタの上位バイトや下位バイトとを接続するバスにおいて、特定のビットのデータを他のビットのデータと入れ替えるように、配線をクロスさせるなどすればよい。その後、CPU505は、汎用レジスタの格納値と所定の論理値(例えば「FFFFH」など)とを論理積演算して、あるいは、汎用レジスタの格納値をそのまま出力して、RAM507の所定領域に格納することなどにより、16ビットの乱数値MR1を示す数値データを設定すればよい。なお、例えば14ビットの乱数値を示す数値データを設定する場合などには、汎用レジスタの格納値と「7F7FH」とを論理積演算するなどして、14ビット値を取得できるようにすればよい。また、論理積演算に代えて、論理和演算が実行されてもよい。このとき、乱数値MR1を示す数値データが格納されるRAM507の領域は、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどに含まれていればよい。あるいは、第1特図保留記憶部591Aや第2特図保留記憶部591Bに汎用レジスタの格納値を出力して、乱数値MR1を示す保留データとしてもよい。
また、汎用レジスタの格納値に基づき、加算値決定用の乱数値を示す数値データを設定してもよい。一例として、加算値決定用の乱数値を示す数値データが「0」〜「7」の範囲の値をとる場合には、汎用レジスタの格納値と「C0C0H」などとを論理積演算して、RAM507の所定領域に格納することなどにより、4ビットの乱数値を示す数値データを設定すればよい。
ステップS507の処理に続いて、演出制御基板12に対して始動入賞指定コマンドを送信するための設定が行われる(ステップS508)。すなわち、遊技球が第1始動入賞口を通過(進入)した場合には、第1始動入賞指定コマンドの送信設定が行われる一方、遊技球が第2始動入賞口を通過(進入)した場合には、第2始動入賞指定コマンドの送信設定が行われる。このときには、例えば図42に示すステップS202の処理でセットされた第1始動口入賞テーブル135Aで指定される第1始動入賞指定コマンドテーブルアドレス、あるいは、ステップS206の処理でセットされた第2始動口入賞テーブル135Bで指定される第2始動入賞指定コマンドテーブルアドレスを、遊技制御バッファ設定部595に設けられた送信コマンドバッファにおいて送信コマンドポインタが指定するバッファ領域にセットすればよい。こうして設定された始動入賞指定コマンドは、例えば特別図柄プロセス処理が終了した後に図39に示すステップS99のメイン側通信制御処理が実行されることなどにより、主基板11から演出制御基板12に対して伝送される。以下、各種の制御コマンドを演出制御基板12などのサブ側の制御基板に送信するための設定を行う処理において、同様の設定が行われればよい。
ステップS508の処理を実行した後には、始動データを記憶する(ステップS510)。すなわち、遊技球が第1始動入賞口を通過(進入)した場合には、第1始動入賞口への入賞に対応した「第1」の始動データを、始動データ記憶部591Cにおける空きエントリの先頭にセットする。その一方で、遊技球が第2始動入賞口を通過(進入)した場合には、第2始動入賞口への入賞に対応した「第2」の始動データを、始動データ記憶部591Cにおける空きエントリの先頭にセットする。そして、例えばROM506における保留記憶数通知コマンドテーブルの記憶アドレスを送信コマンドバッファにおいて送信コマンドポインタが指定するバッファ領域にセットすることなどにより、演出制御基板12に対して保留記憶数通知コマンドを送信するための設定を行ってから(ステップS511)、始動口通過時処理を終了する。
また、ステップS502にて読出値が上限値以上であると判定されたときには(ステップS502;Yes)、乱数値レジスタの読み出しにより乱数ラッチフラグをクリアしてから(ステップS512)、始動口通過時処理を終了する。ここで、ステップS512の処理では、遊技球が第1始動入賞口を通過(進入)した場合に対応して、乱数値レジスタR1Dに格納された数値データを読み出す一方、遊技球が第2始動入賞口を通過(進入)した場合に対応して、乱数値レジスタR2Dに格納された数値データを読み出す。このときには、ステップS505の処理と同様に、例えば図42に示すステップS202の処理でセットされた第1始動口入賞テーブル135Aで指定される乱数値レジスタR1Dアドレス、あるいは、ステップS206の処理でセットされた第2始動口入賞テーブル135Bで指定される乱数値レジスタR2Dアドレスに対応して、数値データの読出元となる乱数値レジスタのアドレスなどを特定できればよい。
第1始動入賞信号SS1や第2始動入賞信号SS2が、第1始動口スイッチ22Aや第2始動口スイッチ22BからCPU505などを介することなく乱数回路509に入力される場合には、第1特図保留記憶部591Aや第2特図保留記憶部591Bにおける保留データの記憶数にかかわらず、第1始動入賞信号SS1や第2始動入賞信号SS2の入力に対応して、乱数値レジスタR1Dや乱数値レジスタR2Dに乱数値となる数値データが格納されることになる。このときには、数値データが格納された乱数値レジスタに対応する乱数ラッチフラグがオン状態となり新たな数値データの格納が制限される。したがって、保留データの記憶数が上限値以上である場合に、乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データを読み出さずに放置すると、第1始動入賞口や第2始動入賞口を新たな遊技球が通過(進入)したときに、この遊技球の通過(進入)に対応した新たな数値データを乱数値レジスタR1Dや乱数値レジスタR2Dに取り込んで格納することができず、先に通過(進入)した遊技球に対応して格納された数値データが読み出されてしまい、正確な乱数値を取得できなくなることがある。そこで、保留データの記憶数が上限値に達している場合でも、ステップS512の処理を実行して乱数値レジスタの読み出しにより乱数ラッチフラグをクリアすることで、新たな遊技球の通過(進入)に対応して正確な乱数値となる数値データの取得が可能になる。なお、ステップS512の処理により乱数値レジスタR1Dあるいは乱数値レジスタR2Dから読み出された数値データは、特図表示結果を「大当り」とするか否かの判定処理などには使用せず、そのまま破棄(消去)すればよい。
図41のステップS131にて以上のような始動口通過時処理を含んだ始動入賞判定処理が実行された後には、遊技制御フラグ設定部592に設けられた特図プロセスフラグの値に応じて、ステップS140〜ステップS150の処理のいずれかを選択して実行する。
ステップS140の特別図柄通常処理は、特図プロセスフラグの値が“0”のときに実行される。この特別図柄通常処理では、第1特図保留記憶部591Aや第2特図保留記憶部591Bに記憶されている保留データの有無などに基づいて、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特図ゲームを開始するか否かの判定が行われる。また、特別図柄通常処理では、特図表示結果判定用の乱数値MR1を示す数値データに基づき、特別図柄や飾り図柄、色図柄などの可変表示結果を「大当り」や「小当り」とするか否かを、その可変表示結果が導出表示される以前に決定(事前決定)する。さらに、特別図柄通常処理では、特図ゲームにおける特別図柄の可変表示結果に対応して、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特図ゲームにおける確定特別図柄(大当り図柄、小当り図柄及びハズレ図柄のいずれか)が設定される。
ステップS141の変動パターン設定処理は、特図プロセスフラグの値が“1”のときに実行される。この変動パターン設定処理には、可変表示結果を「大当り」や「小当り」とするか否かの事前決定結果や、飾り図柄の可変表示状態をリーチ状態とするか否かのリーチ決定結果などに基づいて、変動パターン種別を複数種類のいずれかに決定する処理や、変動パターン種別の決定結果に対応して、変動パターンを複数種類のいずれかに決定する処理などが含まれている。
ステップS142の特別図柄変動処理は、特図プロセスフラグの値が“2”のときに実行される。この特別図柄変動処理には、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおいて特別図柄を変動させるための設定を行う処理や、その特別図柄が変動を開始してからの経過時間を計測する処理などが含まれている。例えば、ステップS142にて特別図柄変動処理が実行されるごとに、遊技制御タイマ設定部593に設けられた特図変動タイマにおける値(特図変動タイマ値)を1減算あるいは1加算することにより、第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームであるか、第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームであるかに関わりなく、共通のタイマによって経過時間の測定が行われる。また、計測された経過時間が変動パターンに対応する特図変動時間に達したか否かの判定も行われる。このように、特別図柄変動処理は、第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームにおける特別図柄の変動や、第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームにおける特別図柄の変動を、共通の処理ルーチンによって制御する処理となっている。そして、特別図柄の変動を開始してからの経過時間が特図変動時間に達したときには、特図プロセスフラグの値を“3”に更新する。
ステップS143の特別図柄停止処理は、特図プロセスフラグの値が“3”のときに実行される。この特別図柄停止処理には、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにて特別図柄の変動を停止させ、特別図柄の可変表示結果となる確定特別図柄を停止表示させるための設定を行う処理が含まれている。そして、遊技制御フラグ設定部592に設けられた大当りフラグと小当りフラグのいずれかがオンとなっているか否かの判定などが行われ、大当りフラグがオンである場合には特図プロセスフラグの値を“4”に更新し、小当りフラグがオンである場合には特図プロセスフラグの値を“8”に更新する。また、大当りフラグと小当りフラグがいずれもオフである場合には、特図プロセスフラグの値を“0”に更新する。
ステップS144の大入賞口開放前処理は、特図プロセスフラグの値が“4”のときに実行される。この大入賞口開放前処理には、可変表示結果が「大当り」となったことなどに基づき、大当り遊技状態においてラウンドの実行を開始して大入賞口を開放状態とするための設定を行う処理などが含まれている。このときには、例えば大入賞口開放回数最大値の設定に対応して、大入賞口を開放状態とする期間の上限を設定するようにしてもよい。一例として、大入賞口開放回数最大値が15ラウンド大当り状態に対応した「15」に設定されている場合には、大入賞口を開放状態とする期間の上限を「29秒」に設定する。これに対して、大入賞口開放回数最大値が2ラウンド大当り状態に対応した「2」に設定されている場合には、大入賞口を開放状態とする期間の上限を「0.5秒」に設定する。
ステップS145の大入賞口開放中処理は、特図プロセスフラグの値が“5”のときに実行される。この大入賞口開放中処理には、大入賞口を開放状態としてからの経過時間を計測する処理や、その計測した経過時間やカウントスイッチ23によって検出された遊技球の個数などに基づいて、大入賞口を開放状態から閉鎖状態に戻すタイミングとなったか否かを判定する処理などが含まれている。大入賞口を閉鎖状態から開放状態へと変化させるときには、大入賞口扉用のソレノイド82に対するソレノイド駆動信号の供給を開始させる処理などが実行されればよい。他方、大入賞口を閉鎖状態に戻すときには、大入賞口扉用のソレノイド82に対するソレノイド駆動信号の供給を停止させる処理などが実行されればよい。
ステップS146の大入賞口開放後処理は、特図プロセスフラグの値が“6”のときに実行される。この大入賞口開放後処理には、大入賞口を開放状態とするラウンドの実行回数が大入賞口開放回数最大値に達したか否かを判定する処理や、大入賞口開放回数最大値に達した場合に当り終了指定コマンドを送信するための設定を行う処理などが含まれている。
ステップS147の大当り終了処理は、特図プロセスフラグの値が“7”のときに実行される。この大当り終了処理には、画像表示装置5やスピーカ8L、8R、遊技効果ランプ9といった演出用の電気部品(演出装置)により、大当り遊技状態の終了を報知する演出動作としてのエンディング演出が実行される期間に対応した待ち時間が経過するまで待機する処理や、その大当り遊技状態の終了に対応した各種の設定を行う処理などが含まれている。
ステップS148の小当り開放前処理は、特図プロセスフラグの値が“8”のときに実行される。この小当り開放前処理には、可変表示結果が「小当り」となったことなどに基づき、小当り遊技状態において可変入賞動作の実行を開始して大入賞口を開放状態とするための設定を行う処理などが含まれている。このときには、例えば可変表示結果が「小当り」であることにより大入賞口開放回数最大値が「2」であることに対応して、大入賞口を開放状態とする期間の上限を「0.5秒」に設定すればよい。
ステップS149の小当り開放中処理は、特図プロセスフラグの値が“9”のときに実行される。この小当り開放中処理には、大入賞口を開放状態としてからの経過時間を計測する処理や、その計測した経過時間などに基づいて、大入賞口を開放状態から閉鎖状態に戻すタイミングとなったか否かを判定する処理などが含まれている。
ステップS150の小当り終了処理は、特図プロセスフラグの値が“10”のときに実行される。この小当り終了処理には、画像表示装置5やスピーカ8L、8R、遊技効果ランプ9といった演出用の電気部品(演出装置)により、小当り遊技状態の終了を報知する演出動作が実行される期間に対応した待ち時間が経過するまで待機する処理などが含まれている。ここで、小当り遊技状態が終了するときには、確変フラグや時短フラグの状態を変更しないようにして、小当り遊技状態となる以前のパチンコ遊技機1における遊技状態を継続させる。
図44は、特別図柄通常処理として、図43のステップS140にて実行される処理の一例を示すフローチャートである。この特別図柄通常処理において、CPU505は、まず、例えば始動データ記憶部591Cに有効な始動データの記憶があるか否かを判定することにより、特図ゲームの保留記憶の有無を判定する(ステップS221)。ここで、始動データ記憶部591Cの先頭エントリに「第1」の始動データあるいは「第2」の始動データといった有効な始動データが記憶されていれば、特図ゲームの保留記憶があることを示している。なお、特図ゲームの保留記憶の有無を判定する手法は、始動データ記憶部591Cの記憶内容をチェックするものに限定されない。例えば、遊技制御カウンタ設定部594に格納された合計保留記憶カウント値が「0」以外の値であること、あるいは、第1保留記憶カウント値及び第2保留記憶カウント値の少なくともいずれか一方が「0」以外の値であることに対応して、特図ゲームの保留記憶があることを特定できるようにしてもよい。
ステップS221にて有効な始動データの記憶があることに対応して、特図ゲームの保留記憶があると判定されたときには(ステップS221;Yes)、始動データ記憶部591Cから始動データを読み出す(ステップS222)。ここでは、始動データ記憶部591Cにて保留番号「1」と関連付けて記憶されている始動データを読み出せばよい。
この実施の形態では、第1始動条件と第2始動条件とを区別することなく、先に成立した始動条件に対応する特図ゲームから順次に実行するものとして説明する。これに対して、例えば第1特図を用いた特図ゲームよりも、第2特図を用いた特図ゲームを優先して実行するようにしてもよい。この場合には、例えばステップS221の処理に代えて、第2保留記憶カウント値が「0」であるか否かを判定する。そして、第2保留記憶カウント値が「0」以外の値であれば、始動データ記憶部591Cから「第2」の始動データが読み出された場合と同様の処理を実行すればよい。これに対して、第2保留記憶カウント値が「0」である場合には、第1保留記憶カウント値が「0」であるか否かを判定し、「0」以外の値であれば、始動データ記憶部591Cから「第1」の始動データが読み出された場合と同様の処理を実行すればよい。このように、第1特図を用いた特図ゲームと第2特図を用いた特図ゲームのいずれか一方を他方より優先して実行する場合には、第1保留記憶カウント値や第2保留記憶カウント値に基づいて変動表示を開始させる特別図柄を決定することができるので、始動データ記憶部591Cの構成は設けられなくてもよい。
あるいは、第1保留記憶カウント値と第2保留記憶カウント値とのうち、いずれの値が大きいかを判定し、カウント値が大きい方に対応する特別図柄を用いた特図ゲームを優先して実行するようにしてもよい。この場合には、第1保留記憶カウント値と第2保留記憶カウント値とを比較して、第1保留記憶カウント値の方が大きい場合には、始動データ記憶部591Cから「第1」の始動データが読み出された場合と同様の処理を実行する一方で、第2保留記憶カウント値の方が大きい場合には、始動データ記憶部591Cから「第2」の始動データが読み出された場合と同様の処理を実行すればよい。また、第1保留記憶カウント値と第2保留記憶カウント値とが一致した場合には、第1特図を用いた特図ゲームを優先して実行してもよいし、第2特図を用いた特図ゲームを優先して実行してもよい。このように、保留記憶カウント値が多い方に対応する特別図柄を用いた特図ゲームを優先して実行することで、無効な始動入賞の発生を低減することができる。
ステップS222の処理を実行した後には、始動データ記憶部591Cにて保留番号「1」より下位のエントリ(例えば保留番号「2」〜「8」に対応するエントリ)に記憶された始動データの記憶内容を、1エントリずつ上位にシフトさせる(ステップS223)。そして、ステップS222にて読み出した始動データの内容が「第1」と「第2」のいずれであるかを判定する(ステップS224)。
ステップS224にて始動データの内容が「第1」であると判定された場合には(ステップS224;第1)、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始する第1開始条件が成立したことに対応して、遊技制御バッファ設定部595に記憶される変動特図指定バッファ値を「1」に設定する(ステップS225)。他方、ステップS224にて始動データの内容が「第2」であると判定された場合には(ステップS224;第2)、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始する第2開始条件が成立したことに対応して、変動特図指定バッファ値を「2」に設定する(ステップS226)。
ステップS225、S226の処理のいずれかを実行した後には、ステップS222にて読み出した始動データに応じた特図保留記憶部から、保留データを読み出す(ステップS227)。例えば、始動データが「第1」である場合には、第1特図保留記憶部591Aにて保留番号「1」と関連付けて記憶されている保留データとして、特図表示結果決定用の乱数値MR1を示す数値データと、大当り種別決定用の乱数値MR2を示す数値データとを、それぞれ読み出す。これに対して、始動データが「第2」である場合には、第2特図保留記憶部591Bにて保留番号「1」と関連付けて記憶されている保留データとして、特図表示結果決定用の乱数値MR1を示す数値データと、大当り種別決定用の乱数値MR2を示す数値データとを、それぞれ読み出す。
ステップS227の処理に続いて、始動データに応じた保留記憶数カウント値を1減算するように更新するとともに、始動データに応じた特図保留記憶部にて保留番号「1」より下位のエントリ(例えば保留番号「2」〜「4」に対応するエントリ)に記憶された保留データの記憶内容を、1エントリずつ上位にシフトさせる(ステップS228)。例えば、始動データが「第1」である場合には、第1保留記憶カウント値を1減算するとともに、第1特図保留記憶部591Aにおける保留データの記憶内容を、1エントリずつ上位にシフトさせる。これに対して、始動データが「第2」である場合には、第2保留記憶カウント値を1減算するとともに、第2特図保留記憶部591Bにおける保留データの記憶内容を、1エントリずつ上位にシフトさせる。
この後、可変表示結果を「大当り」とするか否かや「小当り」とするか否かを決定するための使用テーブルとして、始動データに応じた特図表示結果決定テーブルを選択してセットする(ステップS229)。例えば、始動データが「第1」であれば図27(A)に示す第1特図表示結果決定テーブル130Aを使用テーブルとしてセットする一方で、始動データが「第2」であれば図27(B)に示す第2特図表示結果決定テーブル130Bを使用テーブルとしてセットする。CPU505は、こうしてセットされた特図表示結果決定テーブルを参照することにより、ステップS227にて読み出された保留データに含まれる特図表示結果決定用の乱数値MR1を示す数値データに基づいて、特図表示結果を複数種類のいずれかに決定する(ステップS230)。そして、ステップS230にて決定された特図表示結果が「大当り」であるか否かを判定する(ステップS231)。
ステップS231にて「大当り」ではないと判定された場合には(ステップS231;No)、その特図表示結果が「小当り」であるか否かを判定する(ステップS232)。そして、「小当り」であると判定されたときには(ステップS232;Yes)、遊技制御フラグ設定部592に設けられた小当りフラグをオン状態にセットする(ステップS233)。
ステップS231にて「大当り」であると判定された場合には(ステップS231;Yes)、遊技制御フラグ設定部592に設けられた大当りフラグをオン状態にセットする(ステップS234)。このときには、大当り種別を複数種類のいずれかに決定するための使用テーブルとして、図28に示す大当り種別決定テーブル131を選択してセットする(ステップS235)。CPU505は、こうしてセットされた大当り種別決定テーブル131を参照することにより、ステップS227にて読み出された保留データに含まれる大当り種別決定用の乱数値MR2を示す数値データに基づいて、大当り種別を「非確変」、「確変」、「突確」といった複数種類のうち、いずれかに決定する(ステップS236)。なお、ステップS226にて変動特図指定バッファ値を「2」に設定した場合には、大当り種別決定テーブル131にて「突確」の大当り種別に対する決定値の割当てがないことから、大当り種別が「突確」に決定されることはない。こうしてステップS236にて決定された大当り種別に対応して、例えば遊技制御バッファ設定部595に設けられた大当り種別バッファの格納値である大当り種別バッファ値を設定することにより、ステップS236の処理で決定された大当り種別を記憶する(ステップS237)。一例として、大当り種別が「非確変」であれば大当り種別バッファ値を「0」とし、「確変」であれば「1」とし、「突確」であれば「2」とすればよい。
ステップS232にて「小当り」ではないと判定された場合や(ステップS232;No)、ステップS233、S237の処理のいずれかを実行した後には、大当り遊技状態や小当り遊技状態に制御するか否かの事前決定結果、さらには、大当り遊技状態とする場合における大当り種別の決定結果に対応して、確定特別図柄を設定する(ステップS238)。一例として、ステップS232にて特図表示結果が「小当り」ではないと判定された場合には、特図表示結果を「ハズレ」とする旨の事前決定結果に対応して、ハズレ図柄となる「−」を示す記号の特別図柄を、確定特別図柄に設定する。その一方で、ステップS232にて特図表示結果が「小当り」であると判定された場合には、特図表示結果を「小当り」とする旨の事前決定結果に対応して、小当り図柄となる「5」を示す数字の特別図柄を、確定特別図柄に設定する。また、ステップS231にて特図表示結果が「大当り」であると判定された場合には、ステップS236における大当り種別の決定結果に応じて、大当り図柄となる「1」、「3」、「7」を示す数字の特別図柄のうち、いずれかを確定特別図柄に設定する。すなわち、大当り種別を「非確変」とする決定結果に応じて、非確変大当り図柄となる「3」の数字を示す特別図柄を、確定特別図柄に設定する。また、大当り種別を「確変」とする決定結果に応じて、確変大当り図柄となる「7」の数字を示す特別図柄を、確定特別図柄に設定する。大当り種別を「突確」とする決定結果に応じて、突確大当り図柄「1」の数字を示す特別図柄を、確定特別図柄に設定する。
ステップS238にて確定特別図柄を設定した後には、特図プロセスフラグの値を変動パターン設定処理に対応した値である“1”に更新してから(ステップS239)、特別図柄通常処理を終了する。また、ステップS221にて有効な始動データの記憶がないことに対応して、特図ゲームの保留記憶がないと判定された場合には(ステップS221;No)、所定のデモ表示設定を行ってから(ステップS240)、特別図柄通常処理を終了する。ステップS240におけるデモ表示設定では、例えば画像表示装置5において所定の演出画像を表示することなどによるデモンストレーション表示(デモ画面表示)を指定する客待ちデモ指定コマンドが、主基板11から演出制御基板12に対して送信済みであるか否かを判定する。このとき、送信済みであれば、そのままデモ表示設定を終了する。これに対して、未送信であれば、例えばROM506における客待ちデモ指定コマンドテーブルの記憶アドレスを送信コマンドバッファにセットすることなどにより、客待ちデモ指定コマンドの送信設定を行う。
図45は、変動パターン設定処理として、図41のステップS141にて実行される処理の一例を示すフローチャートである。この変動パターン設定処理において、CPU505は、まず、大当りフラグがオンであるか否かを判定する(ステップS251)。このとき、大当りフラグがオンであれば(ステップS251;Yes)、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図30(A)に示す大当り変動パターン種別決定テーブル133Aを選択してセットする(ステップS252)。このときには、例えば遊技制御バッファ設定部595に記憶されている大当り種別バッファ値を読み取ることなどにより、大当り種別が「非確変」や「確変」、「突確」のいずれであるかを特定しておいてもよい。
ステップS251にて大当りフラグがオフであるときには(ステップS251;No)、小当りフラグがオンであるか否かを判定する(ステップS253)。そして、小当りフラグがオンであれば(ステップS253;Yes)、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図30(B)に示す小当り変動パターン種別決定テーブル133Bを選択してセットする(ステップS254)。
ステップS253にて小当りフラグがオフであるときには(ステップS253;No)、飾り図柄の可変表示状態をリーチ状態とするか否かを決定するための使用テーブルとして、図29に示すリーチ決定テーブル132を選択してセットする(ステップS255)。このときには、例えば遊技制御カウンタ設定部594に記憶されている合計保留記憶カウント値を読み取ることにより、あるいは、第1保留記憶カウント値と第2保留記憶カウント値とを加算することなどにより、特図ゲームの合計保留記憶数を特定する(ステップS256)。続いて、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、リーチ決定用の乱数値MR3を示す数値データを抽出する(ステップS257)。その後、ステップS256にてセットしたリーチ決定テーブル132を参照することにより、ステップS257にて抽出したリーチ決定用の乱数値MR3に基づき、リーチ状態の有無を決定する(ステップS258)。そして、ステップS258における決定結果が、可変表示状態をリーチ状態とする「リーチ」であるかリーチ状態としない「非リーチ」であるかを判定する(ステップS259)。
ステップS259にて「非リーチ」であると判定された場合には(ステップS259;非リーチ)、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図30(C)に示す非リーチ変動パターン種別決定テーブル133Cを選択してセットする(ステップS260)。このときには、例えば遊技制御フラグ設定部592に設けられた確変フラグや時短フラグの状態(オン/オフ)をチェックすることなどにより、パチンコ遊技機1における遊技状態が通常状態、確変状態、時短状態のいずれであるかを特定しておいてもよい。
ステップS259にて「リーチ」であると判定された場合には(ステップS259;リーチ)、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図31に示すリーチ変動パターン種別決定テーブル133Dを選択してセットする(ステップS261)。このときには、ステップS260の処理が実行されたときと同様に、パチンコ遊技機1における遊技状態が通常状態、確変状態、時短状態のいずれであるかを特定しておいてもよい。
ステップS252、S254、S260、S261の処理のいずれかを実行した後には、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、変動パターン種別決定用の乱数値MR4を抽出する(ステップS262)。そして、ステップS252、S254、S260、S261のいずれかにてセットした使用テーブルを参照することにより、ステップS262にて抽出した変動パターン種別決定用の乱数値MR4に基づき、変動パターン種別を複数種類のいずれかに決定する(ステップS263)。
ここで、ステップS262、S263の処理では、第1始動条件が成立したことに基づき第1特別図柄表示装置4Aにより第1特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターン種別を決定するか、第2始動条件が成立したことに基づき第2特別図柄表示装置4Bにより第2特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターン種別を決定するかに関わらず、共通のランダムカウンタなどによって更新される変動パターン種別決定用となる共通の乱数値MR4を示す数値データを用いて、変動パターン種別を複数種類のいずれかに決定する。また、ステップS262、S263の処理では、ステップS258におけるリーチ表示状態の有無の決定結果に関わらず、変動パターン種別決定用となる共通の乱数値MR4を示す数値データを用いて、共通の処理ルーチンにより変動パターン種別を複数種類のいずれかに決定することができる。一例として、ステップS263の処理では、決定テーブルポインタにセットされたROM506のアドレスに記憶された決定テーブルを参照して変動パターン種別の決定を行うようにすればよい。
こうしてステップS263にて変動パターン種別が決定された後には、その変動パターン種別の決定結果に応じて、変動パターンを複数種類のいずれかに決定するための使用テーブルとして、図32(A)に示す当り変動パターン決定テーブル134Aと、図32(B)に示すハズレ変動パターン決定テーブル134Bとのうち、いずれかを選択してセットする(ステップS264)。続いて、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、変動パターン決定用の乱数値MR5を抽出する(ステップS265)。そして、ステップS264にてセットした変動パターン決定テーブルを参照することにより、ステップS265にて抽出した変動パターン決定用の乱数値MR5に基づき、変動パターンを複数種類のいずれかに決定する(ステップS266)。
ここで、ステップS265、S266の処理では、第1始動条件が成立したことに基づき第1特別図柄表示装置4Aにより第1特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターンを決定するか、第2始動条件が成立したことに基づき第2特別図柄表示装置4Bにより第2特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターンを決定するかに関わらず、共通のランダムカウンタなどによって更新される変動パターン決定用となる共通の乱数値MR5を示す数値データを用いて、変動パターンを複数種類のいずれかに決定する。また、ステップS265、S266の処理では、ステップS258におけるリーチ表示状態の有無の決定結果に関わらず、変動パターン決定用となる共通の乱数値MR5を示す数値データを用いて、共通の処理ルーチンにより変動パターンを複数種類のいずれかに決定することができる。一例として、ステップS266の処理では、決定テーブルポインタにセットされたROM506のアドレスに記憶された決定テーブルを参照して変動パターンが決定されればよい。
このようなステップS266における変動パターンの決定に続いて、その変動パターンの決定結果に応じた特図変動時間を設定する(ステップS267)。その後、変動特図指定バッファ値に応じて、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームと、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームのいずれかを開始させるように、特別図柄の変動を開始させるための設定を行う(ステップS268)。一例として、変動特図指定バッファ値が“1”であれば、第1特別図柄表示装置4Aによる第1特図の表示を更新させる駆動信号を送信するための設定を行う。これに対して、変動特図指定バッファ値が“2”であれば、第2特別図柄表示装置4Bによる第2特図の表示を更新させる駆動信号を送信するための設定を行う。
ステップS268の処理を実行した後には、特別図柄の変動開始時用となる各種コマンドを送信するための設定を行う(ステップS269)。例えば、変動特図指定バッファ値が“1”である場合に、CPU505は、主基板11から演出制御基板12に対して第1変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドを順次に送信するために、予め用意された第1変動開始用コマンドテーブルのROM506における記憶アドレス(先頭アドレス)を示す設定データを、送信コマンドバッファにセットする。他方、変動特図指定バッファ値が“2”である場合に、CPU505は、主基板11から演出制御基板12に対して第2変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドを順次に送信するために、予め用意された第2変動開始用コマンドテーブルのROM506における記憶アドレスを示す設定データを、送信コマンドバッファにセットする。こうしたステップS269での設定を行った場合には、特別図柄プロセス処理が終了してから図39に示すステップS99のメイン側通信制御処理が実行されるごとに、主基板11から演出制御基板12に対して、第1変動開始コマンドまたは第2変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドが、順次に送信されることになる。
ステップS269での設定に続いて、特図プロセスフラグの値を特別図柄変動処理に対応した値である“2”に更新してから(ステップS270)、変動パターン設定処理を終了する。
図46は、特別図柄停止処理として、図41のステップS143にて実行される処理の一例を示すフローチャートである。この特別図柄停止処理において、CPU505は、まず、大当りフラグがオンであるか否かを判定する(ステップS281)。このとき、大当りフラグがオンであれば(ステップS281;Yes)、大当り開始時演出待ち時間を設定する(ステップS282)。例えば、ステップS282の処理では、大当り開始時演出待ち時間に対応して予め定められたタイマ初期値が、遊技制御タイマ設定部593に設けられた遊技制御プロセスタイマにセットされればよい。
ステップS282の処理に続いて、当り開始指定コマンドを主基板11から演出制御基板12に対して送信するための設定を行う(ステップS283)。例えば、ステップS283の処理では、当り開始指定コマンドを送信するために予め用意された当り開始指定コマンドテーブルのROM506における記憶アドレスを示す設定データが、送信コマンドバッファに格納されればよい。その後、大当りフラグをクリアしてオフ状態とする(ステップS284)。また、確変状態や時短状態を終了するための設定を行う(ステップS285)。例えば、ステップS285では、確変フラグや時短フラグをクリアしてオフ状態とする処理や、確変状態や時短状態における特図ゲームの実行回数をカウントするための特図変動回数カウンタをクリアする処理などが実行されればよい。そして、特別図柄プロセスフラグの値を大入賞口開放前処理に対応した値である“4”に更新してから(ステップS286)、特別図柄停止処理を終了する。
ステップS281にて大当りフラグがオフである場合には(ステップS281;No)、小当りフラグがオンであるか否かを判定する(ステップS287)。このとき、小当りフラグがオンであれば(ステップS287;Yes)、小当り開始時演出待ち時間を設定する(ステップS288)。例えば、ステップS288の処理では、小当り開始時演出待ち時間に対応して予め定められたタイマ初期値が、遊技制御プロセスタイマにセットされればよい。
ステップS288の処理に続いて、ステップS283の処理と同様に、当り開始指定コマンドを主基板11から演出制御基板12に対して送信するための設定を行う(ステップS289)。その後、小当りフラグをクリアしてオフ状態とする(ステップS290)。そして、特図プロセスフラグの値を小当り開放前処理に対応した値である“8”に更新する(ステップS291)。
また、ステップS287にて小当りフラグがオフである場合には(ステップS287;No)、特図プロセスフラグの値を特別図柄通常処理に対応した値である“0”に更新する(ステップS292)。ステップS291、S292の処理のいずれかを実行した後には、確変状態や時短状態を終了させるか否かの判定を行う(ステップS293)。例えば、ステップS293の処理では、特図変動回数カウンタの値(特図変動回数カウント値)を、例えば1減算または1加算するなどして更新し、更新後の特図変動回数カウント値が所定の特別遊技状態終了判定値と合致するか否かの判定が行われる。このとき、特別遊技状態終了判定値と合致すれば、確変フラグや時短フラグをクリアしてオフ状態とすることなどにより、確変状態や時短状態を終了して通常状態に制御すればよい。他方、特別遊技状態終了判定値と合致しなければ、確変フラグや時短フラグの状態を維持して、ステップS293の処理を終了すればよい。こうした確変状態や時短状態の終了判定を実行した後には、特別図柄停止処理が終了する。なお、特図変動回数カウント値に基づく終了判定は、時短状態である場合のみ行うようにして、確変状態については、次に可変表示結果が「大当り」となるまで継続されるようにしてもよい。あるいは、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタから、確変状態終了判定用の乱数値を示す数値データを抽出し、予めROM506などに格納された確変状態終了判定テーブルを参照することにより、確変状態を終了するか否かの判定を行うようにしてもよい。
次に、演出制御基板12における動作を説明する。演出制御基板12では、電源基板等から電源電圧の供給を受けると、演出制御用マイクロコンピュータ120のCPUが起動し、図47のフローチャートに示すような演出制御メイン処理を実行する。なお、演出制御用マイクロコンピュータ120においても、電源投入時やシステムリセット時には、CPUによりセキュリティチェック処理が実行され、演出制御用マイクロコンピュータ120がセキュリティモードとなるようにしてもよい。この場合には、セキュリティチェック処理にてROMに不正な変更が加えられていないと判定された後、セキュリティ時間が経過してから、演出制御メイン処理の実行が開始されるユーザモードへと移行すればよい。図47に示す演出制御メイン処理を開始すると、演出制御用マイクロコンピュータ120のCPUは、まず、所定の初期化処理を実行して(ステップS401)、演出制御用マイクロコンピュータ120に内蔵又は外付けされたRAMのクリアや各種初期値の設定、また演出制御用マイクロコンピュータ120に内蔵等されたCTC(カウンタ/タイマ回路)のレジスタ設定等を行う。
その後、演出用乱数更新処理が実行され(ステップS402)、演出制御に用いる各種の乱数値として、演出制御用マイクロコンピュータ120のRAMなどに設けられたランダムカウンタによってカウントされる乱数値を示す数値データを、ソフトウェアにより更新する。続いて、タイマ割込みフラグがオンとなっているか否かの判定を行う(ステップS403)。タイマ割込みフラグは、例えば演出制御用マイクロコンピュータ120におけるCTCのレジスタ設定に基づき、所定時間(例えば2ミリ秒)が経過するごとにオン状態にセットされる。
また、演出制御基板12の側では、所定時間が経過するごとに発生するタイマ割込みとは別に、主基板11から演出制御コマンドを受信するための割込みが発生する。この割込みは、例えば演出制御用マイクロコンピュータ120が備えるシリアル通信回路における受信データフルにより発生する割込みであればよい。あるいは、主基板11と演出制御基板12との間に演出制御INT信号を伝送するための信号線を配線した場合には、演出制御INT信号がオン状態となることによる割込みが発生するようにしてもよい。こうした割込み発生に応答して、演出制御用マイクロコンピュータ120のCPUは、自動的に割込み禁止に設定するが、自動的に割込み禁止状態にならないCPUを用いている場合には、割込み禁止命令(DI命令)を発行することが望ましい。演出制御用マイクロコンピュータ120のCPUは、受信データフルによる割込み、あるいは、演出制御INT信号がオン状態となることによる割込みに対応して、例えば所定のコマンド受信割込み処理を実行する。このコマンド受信割込み処理では、演出制御用マイクロコンピュータ120のシリアル通信回路に対応して設けられた通信データレジスタなどに格納された通信データを取り込む。あるいは、コマンド受信割込み処理では、演出制御用マイクロコンピュータ120が備えるPIP等に含まれる入力ポートのうちで、中継基板18を介して主基板11から伝送された制御信号を受信する所定の入力ポートより、演出制御コマンドとなる制御信号を取り込むようにしてもよい。このとき取り込まれた演出制御コマンドは、例えば演出制御用マイクロコンピュータ120のRAMなどに設けられた演出制御コマンド受信用バッファに格納する。一例として、演出制御コマンドが2バイト構成である場合には、1バイト目(MODE)と2バイト目(EXT)を順次に受信して演出制御コマンド受信用バッファに格納する。その後、演出制御用マイクロコンピュータ120のCPUは、割込み許可に設定してから、コマンド受信割込み処理を終了する。
ステップS403にてタイマ割込みフラグがオフであれば(ステップS403;No)、ステップS402の処理に戻る。他方、ステップS403にてタイマ割込みフラグがオンである場合には(ステップS403;Yes)、タイマ割込みフラグをクリアしてオフ状態にするとともに(ステップS404)、コマンド解析処理を実行する(ステップS405)。ステップS405にて実行されるコマンド解析処理では、例えば主基板11の遊技制御用マイクロコンピュータ100から送信されて演出制御コマンド受信用バッファに格納されている各種の演出制御コマンドを読み出した後に、その読み出された演出制御コマンドに対応した設定や制御などが行われる。
ステップS405にてコマンド解析処理を実行した後には、演出制御プロセス処理を実行する(ステップS406)。この演出制御プロセス処理では、例えば画像表示装置5の表示領域における演出画像の表示動作、スピーカ8L、8Rからの音声出力動作、遊技効果ランプ9や装飾用LEDにおける点灯動作といった、演出用の電気部品(演出装置)を用いた演出動作の制御内容について、主基板11から送信された演出制御コマンド等に応じた判定や決定、設定などが行われる。
図48は、演出制御プロセス処理として、図47のステップS406にて実行される処理の一例を示すフローチャートである。図48に示す演出制御プロセス処理において、演出制御用マイクロコンピュータ120のCPUは、例えば演出制御用マイクロコンピュータ120のRAM等に設けられた演出プロセスフラグの値に応じて、以下のようなステップS160〜ステップS166の処理のいずれかを選択して実行する。
ステップS160の飾り図柄変動開始待ち処理は、演出プロセスフラグの値が“0”のときに実行される処理である。この飾り図柄変動開始待ち処理には、主基板11から伝送される変動開始コマンドとして、第1変動開始コマンドと第2変動開始コマンドのいずれかを受信したか否かに応じて、画像表示装置5の表示領域に設けられた「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにおける飾り図柄の可変表示や、色図柄表示部における色図柄の可変表示を、開始するか否かの判定を行う処理などが含まれている。このとき、可変表示を開始すると判定されれば、演出プロセスフラグの値が“1”に更新される。
ステップS161の飾り図柄変動設定処理は、演出プロセスフラグの値が“1”のときに実行される処理である。この飾り図柄変動設定処理には、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームの開始や第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームの開始に対応して、飾り図柄や色図柄の可変表示を含めた各種の演出動作を行うために、変動パターンや可変表示結果などに応じた最終停止図柄となる確定飾り図柄や仮停止図柄、予告演出の有無等を決定し、その決定結果に応じて、予め用意された複数種類の演出制御パターンのいずれかを、使用パターンとして選択して設定する処理などが含まれている。こうした決定や設定などが行われた後には、演出プロセスフラグの値が“2”に更新される。
ステップS162の飾り図柄変動中処理は、演出プロセスフラグの値が“2”のときに実行される処理である。この飾り図柄変動中処理には、例えば演出制御用マイクロコンピュータ120のRAM等に設けられた演出制御プロセスタイマの値(演出制御プロセスタイマ値)などに対応して、使用パターンとなる演出制御パターンなどから各種の制御データを読み出して、飾り図柄の可変表示中における各種の演出制御を行うための処理が含まれている。そして、例えば演出制御プロセスタイマ値が所定の可変表示終了値(例えば「0」)となったこと、あるいは、主基板11から伝送される飾り図柄停止コマンドを受信したことなどに対応して、飾り図柄の可変表示結果となる最終停止図柄としての確定飾り図柄を完全停止表示させる。演出制御プロセスタイマ値が可変表示終了値となったことに対応して確定飾り図柄を完全停止表示させるようにすれば、変動パターン指定コマンドにより指定された変動パターンに対応する可変表示時間が経過したときに、主基板11からの演出制御コマンドによらなくても、演出制御基板12の側で自律的に確定飾り図柄を導出表示して可変表示結果を確定させることができる。確定飾り図柄を完全停止表示したときには、演出プロセスフラグの値が“3”に更新される。
ステップS163の飾り図柄変動終了時処理は、演出プロセスフラグの値が“3”のときに実行される処理である。この飾り図柄変動終了時処理には、主基板11から伝送される当り開始指定コマンドを受信したか否かを判定する処理が含まれている。このとき、当り開始指定コマンドを受信した旨の判定がなされれば、その当り開始指定コマンドから特定される可変表示結果が「大当り」である場合に、演出プロセスフラグの値が“4”に更新される。その一方で、当り開始指定コマンドから特定される可変表示結果が「小当り」である場合には、演出プロセスフラグの値が“5”に更新される。また、当り開始指定コマンドを受信せずに所定時間が経過したときには、可変表示結果が「ハズレ」であることに対応して、演出プロセスフラグの値が“0”に更新される。
ステップS164の大当り制御中演出処理は、演出プロセスフラグの値が“4”のときに実行される処理である。この大当り制御中演出処理には、例えば可変表示結果が「大当り」となったことなどに対応した演出制御パターン等を設定し、その設定内容に基づく演出画像を画像表示装置5の表示領域に表示させることや、音声制御基板13に対する音番号データの出力によりスピーカ8L、8Rから音声や効果音を出力させること、ランプ制御基板14に対する電飾信号の出力により遊技効果ランプ9や装飾用LEDを点灯/消灯/点滅させることといった、大当り遊技状態における各種の演出動作を制御する処理が含まれている。そして、例えば主基板11から伝送される当り終了指定コマンドを受信したことなどに対応して、演出プロセスフラグの値が“6”に更新される。
ステップS165の小当り制御中演出処理は、演出プロセスフラグの値が“5”のときに実行される処理である。この小当り制御中演出処理には、例えば可変表示結果が「小当り」となったことなどに対応して演出制御パターン等を設定し、その設定内容に基づく演出画像を画像表示装置5の表示領域に表示させることや、音声制御基板13に対する音番号データの出力によりスピーカ8L、8Rから音声や効果音を出力させること、ランプ制御基板14に対する電飾信号の出力により遊技効果ランプ9や装飾用LEDを点灯/消灯/点滅させることといった、小当り遊技状態における各種の演出動作を制御する処理が含まれている。そして、例えば主基板11から伝送される当り終了指定コマンドを受信したことなどに対応して、演出プロセスフラグの値が“6”に更新される。
ステップS166のエンディング演出処理は、演出プロセスフラグの値が“6”のときに実行される処理である。このエンディング演出処理には、大当り遊技状態や小当り遊技状態が終了することなどに対応した演出制御パターン等を設定し、その設定内容に基づく演出画像を画像表示装置5の表示領域に表示させることや、音声制御基板13に対する音番号データの出力によりスピーカ8L、8Rから音声や効果音を出力させること、ランプ制御基板14に対する電飾信号の出力により遊技効果ランプ9や装飾用LEDを点灯/消灯/点滅させることといった、大当り遊技状態や小当り遊技状態の終了に対応した各種の演出動作を制御する処理が含まれている。そして、こうした演出動作が終了したことなどに対応して、演出プロセスフラグの値が“0”に更新される。
以下、パチンコ遊技機1における具体的な動作例について説明する。パチンコ遊技機1では、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームや、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームが実行され、また、これらの特図ゲームにおける特別図柄の可変表示に対応して、画像表示装置5の表示領域に含まれる「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにて飾り図柄の可変表示が実行される。そして、例えば確定特別図柄といった特図ゲームにおける可変表示結果や、確定飾り図柄の組合せといった飾り図柄の可変表示結果などに基づいて、例えば大当り遊技状態に制御されることといった、所定の遊技価値が付与可能となる。なお、パチンコ遊技機1にて付与可能な遊技価値とは、大当り遊技状態に制御されて大入賞口が閉鎖状態から開放状態に変化して遊技球が進入(入賞)しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることなどであればよい。また、例えば大当り遊技状態にて実行可能なラウンドの上限回数や、時短状態にて実行可能な特図ゲームの上限回数、確変状態における大当り確率、通常状態に制御されることなく大当り遊技状態に制御される回数である連チャン回数が所定回数に達すること、あるいは、これらの一部又は全部といった、パチンコ遊技機1における遊技の有利度合いに関わる任意の事項が、パチンコ遊技機1における遊技価値となり得る。
遊技制御用マイクロコンピュータ100では、例えばCPU505が図43のステップS506にて乱数回路509の乱数値レジスタR1Dや乱数値レジスタR2Dから読み出した数値データに基づく特図表示結果決定用の乱数値MR1を示す数値データを用いて、図44のステップS230にて特図表示結果を「大当り」、「小当り」、「ハズレ」のいずれかに決定する。乱数回路509では、例えば乱数生成回路553から出力されたカウント値順列RCNを、乱数列変更設定回路556の設定により予め定められた乱数更新規則に基づいて乱数列変更回路555が変更することで、数値データを所定手順により更新した乱数列RSNが出力される。そして、入力ポートP0に入力された第1始動口スイッチ22Aからの第1始動入賞信号SS1がオン状態となったことに基づき、乱数値レジスタR1Dに乱数列RSNを構成する数値データが乱数値として取り込まれて格納される。また、入力ポートP1に入力された第2始動口スイッチ22Bからの第2始動入賞信号SS2がオン状態となったことに基づき、乱数値レジスタR2Dに乱数列RSNを構成する数値データが乱数値として取り込まれて格納される。
図49は、乱数回路509の動作を説明するためのタイミングチャートである。また、図49(A)では、主基板11に搭載された制御用クロック生成回路111により生成される制御用クロックCCLKを示している。図49(B)では、乱数用クロック生成回路112により生成される乱数用クロックRCLKを示している。なお、図49に示す各種信号は、ハイレベルでオフ状態となりローレベルでオン状態となる負論理の信号であるものとしている。図49(A)及び(B)に示すように、制御用クロックCCLKの発振周波数と、乱数用クロックRCLKの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。
図49(B)に示すように、乱数用クロックRCLKは、タイミングT10、T11、T12、…においてハイレベルからローレベルに立ち下がる。そして、乱数用クロックRCLKは、遊技制御用マイクロコンピュータ100の乱数用外部クロック端子ERCに供給され、図14に示す乱数回路509が備えるクロック用フリップフロップ552におけるクロック端子CKに入力される。クロック用フリップフロップ552は、逆相出力端子(反転出力端子)QバーからD入力端子へとフィードバックされるラッチ用クロックRC0を、クロック端子CKに入力される乱数用クロックRCLKの立ち下がりエッジに応答して取り込み(ラッチして)、正相出力端子(非反転出力端子)Qから乱数更新クロックRGKとして出力する。これにより、乱数更新クロックRGKは、図49(C)に示すように、タイミングT10、T12、T14、…において、ハイレベルからローレベルへと立ち下がり、乱数用クロックRCLKの発振周波数の1/2の発振周波数を有する信号となる。例えば、乱数用クロックRCLKの発振周波数が20MHzであれば、乱数更新クロックRGKの発振周波数は10MHzとなる。そして、乱数用クロックRCLKの発信周波数は制御用クロックCCLKの発振周波数の整数倍にも整数分の1にもならないことから、乱数更新クロックRGKの発振周波数は、制御用クロックCCLKの発振周波数とは異なる周波数となる。乱数生成回路553は、例えば乱数更新クロックRGKの立ち下がりエッジに応答して、カウント値順列RCNにおける数値データを更新する。乱数列変更回路555は、乱数列変更設定回路556による乱数更新規則の設定に基づき、乱数生成回路553から出力されたカウント値順列RCNにおける数値データの更新順を変更したものを、乱数列RSNとして出力する。こうして、乱数列RSNにおける数値データは、例えば図49(D)に示すように、乱数更新クロックRGKの立ち下がりエッジなどに応答して更新される。
このように、乱数用クロック生成回路112により生成される乱数用クロックRCLKの発振周波数と、制御用クロック生成回路111により生成される制御用クロックCCLKの発振周波数とは、互いに異なっており、また、一方の発振周波数が他方の発振周波数の整数倍となることもない。そのため、乱数回路509のクロック用フリップフロップ552により生成される乱数更新クロックRGKやラッチ用クロックRC0の発振周波数は、乱数用クロックRCLKの発振周波数の1/2となるが、制御用クロックCCLKの発振周波数や、制御用クロックCCLKの発振周波数の1/2となる内部システムクロックSCLKの発振周波数とは、異なるものとなる。こうして、制御用クロックCCLKや内部システムクロックSCLKと、乱数更新クロックRGKとに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数生成回路553や乱数列変更回路555により生成される乱数列RSNにおける数値データの更新タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
クロック用フリップフロップ552から出力されるラッチ用クロックRC0は、乱数更新クロックRGKの反転信号となり、その発振周波数は乱数更新クロックRGKの発振周波数と同一で、その位相は乱数更新クロックRGKの位相とπ(=180°)だけ異なる。ラッチ用クロックRC0は、分岐点BR1にてラッチ用クロックRC1とラッチ用クロックRC2とに分岐される。したがって、例えば図49(E)に示すように、各ラッチ用クロックRC0、RC1、RC2はいずれも、共通の周期で信号状態が変化する発振信号となる。ラッチ用クロックRC1は、ラッチ用フリップフロップ557Aのクロック端子CKに入力される。ラッチ用クロックRC2は、ラッチ用フリップフロップ557Bのクロック端子CKに入力される。
こうして、ラッチ用クロックRC0を分岐することにより生成されるラッチ用クロックRC1、RC2の発振周波数は、制御用クロックCCLKや内部システムクロックSCLKの発振周波数とは、異なるものとなる。したがって、制御用クロックCCLKや内部システムクロックSCLKと、ラッチ用クロックRC1、RC2とに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立ち下がりエッジに応答して、第1始動口スイッチ22Aから伝送されて入力ポートP0に供給された第1始動入賞信号SS1を取り込み(ラッチして)、始動入賞時ラッチ信号SL1として出力端子Qから出力する。そして、乱数ラッチセレクタ558Aにおける取込方法が入力ポートP0への信号入力に指定されていれば、始動入賞時ラッチ信号SL1が乱数ラッチ信号LL1として出力される。これにより、例えば図49(F)に示すようなタイミングでオフ状態(ハイレベル)とオン状態(ローレベル)とで信号状態が変化する第1始動入賞信号SS1は、ラッチ用クロックRC1が立ち下がるタイミングT11、T13、T15、…にてラッチ用フリップフロップ557Aに取り込まれた後、図49(G)に示すようなタイミングT11、T13で信号状態がオフ状態とオン状態とで変化する乱数ラッチ信号LL1となって、乱数ラッチセレクタ558Aから出力される。ここで、第1始動口スイッチ22Aから伝送される第1始動入賞信号SS1は、普通入賞球装置6Aが形成する第1始動入賞口における遊技球の始動入賞が検出されたときに、オフ状態からオン状態へと変化する。ラッチ用フリップフロップ557Aから乱数ラッチセレクタ558Aを介して出力された乱数ラッチ信号LL1は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに供給されて、乱数列変更回路555から出力された乱数列RSNにおける数値データを取得するために用いられる。こうして、ラッチ用フリップフロップ557A及び乱数ラッチセレクタ558Aでは、第1始動入賞口における遊技球の始動入賞が検出されたことに基づき、ラッチ用クロックRC1を用いて、乱数値となる数値データを取得するための乱数ラッチ信号LL1が、第2始動入賞口における遊技球の始動入賞が検出された場合とは別個に生成される。
ラッチ用フリップフロップ557Bは、ラッチ用クロックRC2の立ち下がりエッジに応答して、第2始動口スイッチ22Bから伝送されて入力ポートP1に供給された第2始動入賞信号SS2を取り込み(ラッチして)、始動入賞時ラッチ信号SL2として出力端子Qから出力する。そして、乱数ラッチセレクタ558Bにおける取込方法が入力ポートP1への信号入力に指定されていれば、始動入賞時ラッチ信号SL2が乱数ラッチ信号LL2として出力される。これにより、例えば図49(I)に示すようなタイミングでオフ状態(ハイレベル)とオン状態(ローレベル)とで信号状態が変化する第2始動入賞信号SS2は、ラッチ用クロックRC2が立ち下がるタイミングT11、T13、T15、…にてラッチ用フリップフロップ557Bに取り込まれた後、図49(J)に示すようなタイミングT13、T15で信号状態がオフ状態とオン状態とで変化する乱数ラッチ信号LL2となって、乱数ラッチセレクタ558Bから出力される。ここで、第2始動口スイッチ22Bから伝送される第2始動入賞信号SS2は、普通可変入賞球装置6Bが形成する第2始動入賞口における遊技球の始動入賞が検出されたときに、オフ状態からオン状態へと変化する。ラッチ用フリップフロップ557Bから乱数ラッチセレクタ558Bを介して出力された乱数ラッチ信号LL2は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに供給されて、乱数列変更回路555から出力された乱数列RSNにおける数値データを取得するために用いられる。こうして、ラッチ用フリップフロップ557B及び乱数ラッチセレクタ558Bでは、第2始動入賞口における遊技球の始動入賞が検出されたことに基づき、ラッチ用クロックRC2を用いて、乱数値となる数値データを取得するための乱数ラッチ信号LL2が、第1始動入賞口における遊技球の始動入賞が検出された場合とは別個に生成される。
このように、ラッチ用フリップフロップ557Aとラッチ用フリップフロップ557Bはそれぞれ、互いに共通のクロック用フリップフロップ552にて生成されたラッチ用クロックRC0を分岐点BR1で分岐したことにより、互いに共通の周期で信号状態が変化するラッチ用クロックRC1、RC2を用いて、乱数値となる数値データを取得するための始動入賞時ラッチ信号SL1や始動入賞時ラッチ信号SL2を生成する。これにより、乱数回路509における回路構成の簡素化や、パチンコ遊技機1における製造コストの削減を図ることができる。
乱数値レジスタR1Dとなる乱数値レジスタ559Aは、乱数列変更回路555から出力される乱数列RSNにおける数値データを、乱数ラッチセレクタ558Aからクロック端子へと入力される乱数ラッチ信号LL1の立ち下がりエッジに応答して取り込み(ラッチして)、記憶データとなる数値データを更新する。乱数値レジスタR2Dとなる乱数値レジスタ559Bは、乱数列変更回路555から出力される乱数列RSNにおける数値データを、乱数ラッチセレクタ558Bからクロック端子へと入力される乱数ラッチ信号LL2の立ち下がりエッジに応答して取り込み(ラッチして)、記憶データとなる数値データを更新する。
例えば図49(G)に示すように、タイミングT11にて乱数ラッチ信号LL1がオフ状態からオン状態に変化する立ち下がりエッジが生じた場合には、このタイミングT11にて乱数列変更回路555から出力されている乱数列RSNにおける数値データが、図49(H)に示すように、乱数値レジスタR1Dに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタR1Dとなる乱数値レジスタ559Aでは、第1始動入賞口における遊技球の始動入賞が検出されたことに基づき、乱数値として用いられる数値データを、第2始動入賞口における遊技球の始動入賞が検出された場合とは別個に、取得して記憶することができる。
また、例えば図49(J)に示すように、タイミングT13にて乱数ラッチ信号LL2がオフ状態からオン状態に変化する立ち下がりエッジが生じた場合には、このタイミングT13にて乱数列変更回路555から出力されている乱数列RSNにおける数値データが、図49(K)に示すように、乱数値レジスタR2Dに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタR2Dとなる乱数値レジスタ559Bは、第2始動入賞口における遊技球の始動入賞が検出されたことに基づき、乱数値として用いられる数値データを、第1始動入賞口における遊技球の始動入賞が検出された場合とは別個に、取得して記憶することができる。
こうして、乱数値レジスタ559Aは、ラッチ用フリップフロップ557Aがラッチ用クロックRC1を用いて生成した始動入賞時ラッチ信号SL1や乱数ラッチセレクタ558Aから出力された乱数ラッチ信号LL1の立ち下がりエッジに応答して、乱数値RSNにおける数値データを格納する。また、乱数値レジスタ559Bは、ラッチ用フリップフロップ557Bがラッチ用クロックRC2を用いて生成した始動入賞時ラッチ信号SL2や乱数ラッチセレクタ558Bから出力された乱数ラッチ信号LL2の立ち下がりエッジに応答して、乱数列RSNにおける数値データを格納する。
このように、乱数回路509では、クロック用フリップフロップ552や乱数生成回路553、乱数列変更回路555などが、第1始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得するように構成されたラッチ用フリップフロップ557Aや乱数ラッチセレクタ558A、乱数値レジスタ559Aの組合せと、第2始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得するように構成されたラッチ用フリップフロップ557Bや乱数ラッチセレクタ558B、乱数値レジスタ559Bの組合せとに対して、共通化されている。したがって、クロック用フリップフロップ552から出力されて乱数生成回路553に供給されてカウント値順列RCNにおける数値データや乱数列RSNにおける数値データの更新に用いられる乱数更新クロックRGKは、第1始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得する構成と、第2始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得する構成とについて、共通の乱数更新用クロック信号となる。これにより、乱数回路509における回路構成を簡素化することができ、パチンコ遊技機1の製造コストを削減することができる。
図21(A)に示す乱数ラッチフラグレジスタRDFMでは、乱数値レジスタR1Dとなる乱数値レジスタ559Aにおける数値データの取込動作や読出動作、また、乱数値レジスタR2Dとなる乱数値レジスタ559Bにおける数値データの取込動作や読出動作に応答して、対応するビット値が“0”と“1”とに変化する。図50は、乱数ラッチフラグレジスタRDFMのビット番号[0]及び[1]に格納される乱数ラッチフラグデータRDFM0及び乱数ラッチフラグデータRDFM1の変化を説明するためのタイミングチャートである。
図50(A)に示すように、乱数ラッチ信号LL1や乱数ラッチ信号LL2が立ち下がるタイミングT20にて、図50(B)に示すように乱数値レジスタR1Dや乱数値レジスタR2Dに数値データが取り込まれて格納されたことに対応して、図50(C)に示すように乱数ラッチフラグデータRDFM0や乱数ラッチフラグデータRDFM1のビット値が“0”から“1”へと変化する。例えば、タイミングT20にて乱数ラッチ信号LL1がオン状態(ローレベル)となったことに応答して乱数値レジスタR1Dに数値データが格納されたときには、乱数ラッチフラグデータRDFM0のビット値が“0”から“1”へと変化することにより、乱数値レジスタR1Dに対応する乱数ラッチフラグがオン状態となる。また、タイミングT20にて乱数ラッチ信号LL2がオン状態(ローレベル)となったことに応答して乱数値レジスタR2Dに数値データが格納されたときには、乱数ラッチフラグデータRDFM1のビット値が“0”から“1”へと変化することにより、乱数値レジスタR2Dに対応する乱数ラッチフラグがオン状態となる。
こうして乱数ラッチフラグがオン状態となったときには、対応する乱数値レジスタR1Dや乱数値レジスタR2Dへの新たな数値データの格納が制限される。例えば、乱数ラッチフラグデータRDFM0のビット値が“0”から“1”へと変化したときには、乱数値レジスタR1Dに対応する乱数ラッチフラグがオン状態となり、乱数値レジスタR1Dへの新たな数値データの格納が制限される。また、乱数ラッチフラグデータRDFM1のビット値が“0”から“1”へと変化したときには、乱数値レジスタR2Dに対応する乱数ラッチフラグがオン状態となり、乱数値レジスタR2Dへの新たな数値データの格納が制限される。したがって、対応する乱数ラッチフラグがオン状態である乱数値レジスタR1D及び/又は乱数値レジスタR2Dには、第1始動入賞信号SS1及び/又は第2始動入賞信号SS2の入力に対応して数値データを取り込むための乱数ラッチ信号LL1及び/又は乱数ラッチ信号LL2が入力されたときでも、乱数列RSNに含まれる新たな数値データの格納を行うことができない。
これにより、乱数値レジスタR1Dや乱数値レジスタR2Dに数値データが一旦格納された後、その数値データがCPU505などから読み出されるよりも前に、例えば第1始動入賞信号SS1や第2始動入賞信号SS2がノイズ等により誤ってオン状態となったときでも、既に格納されている数値データが更新されてしまい不正確な乱数値の読み出しを防止することができる。また、乱数値取込指定データRDLT0や乱数値取込指定データRDLT1のビット値を外部から意図的に“1”に設定すること、あるいは、第1始動入賞信号SS1や第2始動入賞信号SS2を外部から意図的にオン状態とすることなどにより、既に格納されている数値データを改変するといった不正行為を防止することもできる。その一方で、乱数値レジスタR1Dや乱数値レジスタR2Dに一旦格納された数値データが長時間にわたりCPU505などから読み出されなくなると、その後に第1始動入賞信号SS1や第2始動入賞信号SS2が正常にオン状態となったときに、第1始動入賞口や第2始動入賞口における遊技球の通過(進入)に対応した正確な数値データを乱数値レジスタR1Dや乱数値レジスタR2Dに格納することができなくなる。
そこで、例えば遊技制御用マイクロコンピュータ100のCPU505は、予め定められた乱数値読出条件が成立したときに、図50(D)に示すような所定の乱数値レジスタ読出処理を実行する。そして、乱数値レジスタR1Dや乱数値レジスタR2Dの読み出しを行って乱数ラッチフラグをオフ状態とすることにより、新たな数値データの格納が許可された状態に設定する。乱数値読出条件としては、CPU505がパチンコ遊技機1における遊技制御の実行を開始すること、及び/又は、第1始動入賞口や第2始動入賞口を遊技球が通過(進入)したときに特図ゲームの保留記憶数が所定の上限値に達していることなどを含むものであればよい。図50に示す動作例では、タイミングT25にて図50(B)に示す乱数値レジスタ読出処理が完了したことに対応して、図50(C)に示すように乱数ラッチフラグデータRDFM0や乱数ラッチフラグデータRDFM1のビット値が“1”から“0”へと更新されて、対応する乱数ラッチフラグがオフ状態に設定される。
一例として、CPU505は、パチンコ遊技機1における電源供給の開始に基づいて遊技制御用マイクロコンピュータ100のシステムリセットが解除されたときに、所定のセキュリティチェック処理などを実行してから、ROM506からユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードの読み出しなどを行い遊技制御の実行を開始する。このとき、CPU505は、乱数値レジスタ読出処理として図37に示すステップS56の処理を実行することにより、乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データを読み出して、対応する乱数ラッチフラグをオフ状態とする。なお、図37に示すステップS56の処理において、CPU505は、乱数ラッチフラグデータRDFM1と乱数ラッチフラグデータRDFM0のビット値をチェックした結果などに基づいて、乱数ラッチフラグがオン状態となっている乱数値レジスタの読み出しのみを行うようにしてもよい。あるいは、乱数ラッチフラグがオン状態であるか否かにかかわらず、乱数値レジスタR1Dと乱数値レジスタR2Dの双方から数値データを読み出すことにより、各乱数ラッチフラグをオフ状態としてもよい。
パチンコ遊技機1の電源投入時などには、例えば図4(B)及び(C)に示す電源電圧VSL及び電源電圧VCCのように、各種の電源電圧が徐々に規定値まで上昇していく。こうした電源電圧の上昇中には、例えば遊技制御用マイクロコンピュータ100の内蔵回路といった、各種回路の一部分が正常に動作する一方で、他の部分は未だ正常には動作できない状態となることがある。一例として、電源電圧が不安定な状態では、第1始動入賞信号SS1や第2始動入賞信号SS2が誤ってオン状態となることなどにより、乱数回路509において乱数値レジスタR1Dや乱数値レジスタR2Dに数値データが取り込まれて格納され、対応する乱数ラッチフラグがオン状態になって新たな数値データの格納が制限されてしまう可能性がある。また、CPU505などによる遊技制御の実行が開始された後、図39に示すステップS92のスイッチ処理が実行されるより前に、所定タイミングで乱数ラッチ信号LL1や乱数ラッチ信号LL2を乱数値レジスタR1Dや乱数値レジスタR2Dに入力することで、特図表示結果を「大当り」とする特図表示結果決定用の乱数値MR1を示す数値データを取得して大当り遊技状態に制御させる不正行為がなされる可能性がある。このように、乱数ラッチフラグがオン状態になると新たな数値データの格納が制限されるようにした場合には、第1始動入賞口や第2始動入賞口といった始動入賞口を遊技球が通過(進入)する始動入賞の発生後にノイズ等により誤った数値データが乱数値レジスタR1Dや乱数値レジスタR2Dに取り込まれて格納されることを防止できる一方で、始動入賞の発生前に電源電圧の不安定による誤動作や不正行為などにより数値データが乱数値レジスタR1Dや乱数値レジスタR2Dに取り込まれて格納された場合、その後に始動入賞が発生しても、この始動入賞の発生タイミングよりも前に既に格納されている数値データが乱数値として取得されて特図表示結果の決定などに用いられる可能性がある。
そこで、遊技制御用マイクロコンピュータ100におけるシステムリセットが解除されて遊技制御が開始されるときには、乱数ラッチフラグをオフ状態に設定して、新たな数値データの格納が許可された状態とする。これにより、例えばパチンコ遊技機1における電源投入時などの電源電圧が不安定な状態で誤って乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データが乱数値として取得されてしまい、遊技制御における各種の決定などに使用されてしまうことを防止できる。また、遊技制御の実行が開始された後、第1始動口スイッチ22Aや第2始動口スイッチ22Bの状態がチェックされるより前に乱数ラッチ信号を入力して大当り遊技状態に制御させる不正行為を防止することができる。
他の一例として、例えば電源電圧VSLといった、パチンコ遊技機1における所定電源電圧が低下したことに基づいて、電源基板10に搭載された電源監視回路303からオン状態の電源断信号が出力される。CPU505は、図40のステップS111にてオン状態の電源断信号が出力され(ステップS111;Yes)、さらに、ステップS114にてバックアップ監視タイマ値がバックアップ判定値に達した後に、ステップS115〜ステップS118の処理を実行して電源電圧の低下によるパチンコ遊技機1の動作不安定あるいは動作停止に備えるとともに、遊技制御用マイクロコンピュータ100が動作停止状態となるまでステップS119の処理を繰り返し実行することにより、電源断信号の入力状態を繰り返し判定する。その後、ステップS119の処理を実行中に電源断信号がオフ状態となり入力されていない旨の判定がなされたときに、CPU505は、ステップS124の処理を実行してから電源断処理を終了するとともに遊技制御用タイマ割込み処理から復帰(リターン)させることにより、ROM506に記憶されているユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードの先頭から、遊技制御の実行を開始させる。ここで、ステップS119の処理により電源断信号がオフ状態となり入力されていない旨の判定がなされた後、電源断処理を終了して制御コードの先頭から遊技制御の実行を開始させるより前に、乱数値レジスタ読出処理としてステップS120〜ステップS123の処理を実行することにより、乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データを読み出して、対応する乱数ラッチフラグをオフ状態に設定する。
図51は、遊技制御の実行中に電源電圧VSLが低下した場合の動作例を示すタイミングチャートである。始めに、例えばパチンコ遊技機1への電源供給が開始されたことなどに基づき、図51(A)に示す電源電圧VSLが所定値VSL1に達するタイミングT31よりも前のタイミングT30にて、図51(B)に示す電源電圧VCCが所定値VCC1に達する。このタイミングT30では、図51(C)に示すリセット信号がオン状態からオフ状態となる。続いて、タイミングT31にて電源電圧VSLが所定値VSL1に達したときに、図51(D)に示す電源断信号がオン状態からオフ状態となる。その後、例えばタイミングT32にて、乱数値レジスタR1Dに乱数値となる数値データが取り込まれて格納されたことに対応して、図51(E)に示す乱数ラッチフラグデータRDFM0のビット値が“0”から“1”へと変化することにより、乱数値レジスタR1Dに対応する乱数ラッチフラグがオン状態になるものとする。
こうしてタイミングT32にて乱数値レジスタR1Dに数値データが格納された後、その数値データがCPU505などにより読み出されるよりも前のタイミングT33にて、図51(A)に示す電源電圧VSLが所定値VSL1より低下したとする。このとき、図51(D)に示す電源断信号がオン状態であると判定されたことなどに基づいて(図40のステップS111;Yes)、ステップS119にて電源断信号がオン状態であるか否かが繰り返し判定される。その後、例えばタイミングT34にて、図51(A)に示す電源電圧VSLが所定値VSL1に復帰したときには、図40に示すステップS119にて電源断信号がオフ状態であり入力されていないと判定される(ステップS119;No)。また、図40に示すステップS120にて乱数ラッチフラグデータRDFM0のビット値が“1”であり乱数ラッチフラグがオン状態であると判定されたことに基づいて、ステップS121の処理が実行される。そして、乱数値レジスタR1Dに格納された数値データが読み出され、乱数ラッチフラグデータRDFM0のビット値が“1”から“0”へと更新されて、乱数値レジスタR1Dに対応する乱数ラッチフラグがオフ状態に設定される。その後、電源断処理が終了するときには、例えば図40に示すステップS124にて設定された電源断復旧時ベクタテーブルでの指定内容などに基づいて、ROM506に記憶されているユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードの先頭から遊技制御の実行を開始することで、図36に示すような遊技制御メイン処理が最初から実行される。
なお、乱数回路509において、第1始動入賞信号SS1や第2始動入賞信号SS2の立ち上がりエッジに応答して乱数値レジスタR1Dや乱数値レジスタR2Dに乱数値となる数値データが取り込まれて格納される場合には、例えば図40に示すステップS119の処理を繰り返し実行している期間などに、スイッチ作動用の電源電圧VDDが所定のスイッチ電圧以下に低下した後に正常電圧値に復旧すると、その正常電圧値への復旧中に第1始動入賞信号SS1や第2始動入賞信号SS2の立ち上がりエッジが生じて乱数値レジスタR1Dや乱数値レジスタR2Dの全部に数値データが取り込まれて格納され、各乱数ラッチフラグがオン状態になることがある。このような乱数ラッチフラグのオン状態を放置すると、電源電圧の復旧後に第1始動入賞口や第2始動入賞口を遊技球が通過(進入)して始動入賞が発生したときには、乱数ラッチフラグがオン状態であることから新たな数値データの格納が制限され、電源電圧の復旧中などに取り込まれた数値データに基づいて特図表示結果の決定などが行われてしまい、始動入賞の発生タイミングとは全く異なるタイミングで取り込まれた数値データを用いた決定が行われてしまうという問題が生じる。そこで、遊技制御用マイクロコンピュータ100のCPU505は、図37に示すステップS56や図40に示すステップS121及び/又はステップS123にて乱数値レジスタR1Dや乱数値レジスタR2Dの読み出しを行い、対応する乱数ラッチフラグをオフ状態にしてから遊技制御の実行を開始(再開)させることで、上記の問題を解決することができる。
乱数値読出条件の他の一例として、第1始動入賞口や第2始動入賞口を遊技球が通過(進入)したときに特図ゲームの保留記憶数が所定の上限値に達している場合がある。ここで、例えば図42に示すステップS203にて第1始動口スイッチ22Aがオン状態であると判定された後、図43に示すステップS502にて第1保留記憶カウンタの読出値が所定の上限値(例えば「4」)以上であると判定された場合には、第1特図保留記憶部591Aにて全てのエントリ(例えば保留番号が「1」〜「4」に対応するエントリ)に保留データが記憶されており、第1特図保留記憶部591Aにおける保留データの記憶数が上限記憶数に達しているために、新たな保留データを第1特図保留記憶部591Aに記憶させることができない。また、例えば図42に示すステップS207にて第2始動口スイッチ22Bがオン状態であると判定された後、図43に示すステップS502にて第1保留記憶カウンタの読出値が所定の上限値以上であると判定された場合には、第2特図保留記憶部591Bにて全てのエントリに保留データが記憶されており、第2特図保留記憶部591Bにおける保留データの記憶数が上限記憶数に達しているために、新たな保留データを第2特図保留記憶部591Bに記憶させることができない。こうした場合には、一般に、第1始動入賞口や第2始動入賞口を遊技球が通過(進入)したことに基づく特図ゲームの始動条件を成立させずに無効なものとし、賞球の払出しのみが行われる。
そのため、乱数回路509により生成される乱数値となる数値データを読み出さないようにすることも考えられる。しかしながら、乱数回路509では、保留データの記憶数にかかわらず、第1始動入賞信号SS1や第2始動入賞信号SS2がオン状態となって入力されたことに応答して、乱数値レジスタR1Dや乱数値レジスタR2Dに乱数値となる数値データが取り込まれて格納され、対応する乱数ラッチフラグがオン状態となる。そうすると、次に第1始動入賞口や第2始動入賞口を遊技球が通過(進入)したときには、第1始動入賞信号SS1や第2始動入賞信号SS2がオン状態となって入力されても、乱数値レジスタR1Dや乱数値レジスタR2Dにおける新たな数値データの格納が制限されるために、始動入賞の発生に対応した正確な乱数値を取得することができなくなる。
これに対して、遊技制御用マイクロコンピュータ100のCPU505は、図43に示すステップS502にて保留記憶カウンタの読出値が所定の上限値以上であると判定したときに(ステップS502;Yes)、ステップS512の処理を実行して、乱数値レジスタR1Dや乱数値レジスタR2Dに格納された数値データを読み出すことで、対応する乱数ラッチフラグをオフ状態としてから、始動口通過時処理を終了する。なお、ステップS512の処理では、図42のステップS202にて第1始動口入賞テーブル135Aがセットされた場合に乱数値レジスタR1Dの読み出しを行う一方、図42のステップS206にて第2始動口入賞テーブル135Bがセットされた場合に乱数値レジスタR2Dの読み出しを行うようにする。こうして、例えば第1特別図柄表示装置4Aや第2特別図柄表示装置4Bといった、特別図柄を可変表示する表示装置が複数設けられている場合において、特図ゲームの保留記憶数が上限値に達している特別図柄と対応付けられた始動入賞口を通過(進入)した遊技球が検出されたときに、その始動入賞口と対応付けられた乱数値レジスタから数値データを読み出して新たな数値データの格納を許可する一方で、その始動入賞口と対応付けられていない乱数値レジスタからは数値データを読み出さないようにする。これにより、複数の始動入賞口のうち、いずれかを遊技球が通過(進入)したときに、他の始動入賞口に対応して乱数値となる数値データを更新や取得する動作に影響が及ばないようにすることができる。
第1始動入賞口や第2始動入賞口を遊技球が通過(進入)したときには、CPU505が図42に示すステップS204やステップS208にて、遊技球が通過(進入)した始動入賞口にかかわらず共通の始動口通過時処理を実行する。そして、例えば図43に示すステップS501〜ステップS512の処理といった、遊技球が通過した始動入賞口にかかわらず共通の処理ルーチンにおいて、特にステップS505及びステップS506の処理を実行することなどにより、乱数回路509が備える乱数値レジスタR1D及び乱数値レジスタR2Dのうち、遊技球が通過した第1始動入賞口又は第2始動入賞口に対応する乱数値レジスタから、乱数値となる数値データを読み出す。こうした共通の処理ルーチンにより乱数値となる数値データを読出可能にすることで、例えば第1始動入賞口や第2始動入賞口といった、複数の始動入賞口を設けたパチンコ遊技機1において、乱数値となる数値データを取得するためのプログラム量が過剰に増大することを防止できる。
主基板11では、電源基板10からの初期電力供給時(バックアップ電源のない電源投入時)や、システムリセットの発生後における再起動時などに、CPU505がROM506などに記憶されているセキュリティチェックプログラム506Aを読み出して実行することにより、遊技制御用マイクロコンピュータ100がセキュリティモードとなる。このときには、セキュリティチェックプログラム506Aに対応した処理として、例えば図35に示すようなセキュリティチェック処理が実行される。ここで、遊技制御用マイクロコンピュータ100がセキュリティモードとなるセキュリティ時間は、ROM506のプログラム管理エリアに記憶されているセキュリティ時間設定KSESのビット番号[2−0]やビット番号[4−3]に予め格納されたビット値に応じて、一定の固定時間とは異なる時間成分を含むことができる。
例えば、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値であれば(図35に示すステップS2;No)、図11(D)に示すような設定内容に対応して、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる(ステップS4)。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値であれば(ステップS6;No)、図11(C)に示すようなショートモード又はロングモードに対応して、システムリセットや電源投入に基づき初期設定処理が実行されるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる(ステップS8)。
こうして設定されたセキュリティ時間が経過するまでは(ステップS14;No)、ROM506に記憶されているユーザプログラムによる遊技制御メイン処理の実行が開始されない。そして、乱数回路509による乱数値となる数値データの生成動作も、遊技制御用マイクロコンピュータ100がセキュリティモード中である期間では、開始されないようにすればよい。これにより、パチンコ遊技機1の電源投入やシステムリセット等による動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
一例として、パチンコ遊技機1の機種毎に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を異なる値に設定する。この場合には、図35に示すステップS4にて設定される延長時間を、パチンコ遊技機1の機種毎に異ならせることができ、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することが困難になる。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“01”又は“10”に設定することにより、ステップS8にて設定される可変設定時間を、システムリセット毎に異ならせる。これにより、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することは著しく困難になる。
図35に示すステップS14にてセキュリティ時間が経過したと判定されたときには(ステップS14;Yes)、CPU505がROM506に記憶されているユーザプログラムを読み出して、図36に示すような遊技制御メイン処理が実行される。そして、例えばステップS33における設定処理などには、図37に示すような乱数回路設定処理が含まれている。ここで、図10(B)に示すような第2乱数初期設定KRS2のビット番号[0]におけるビット値を“1”とすれば、図37に示すステップS55の処理などにより、乱数回路509にて生成される乱数値となる数値データのスタート値を、システムリセット毎に変更することができる。これにより、たとえ乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタ559Aや乱数値レジスタ559Bから読み出される数値データを特定することは困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
乱数回路509などには、CPU505の動作とは別個に初期値決定用データとなるカウント値を更新するフリーランカウンタ554Aが設けられている。そして、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”である場合には、乱数回路509のスタート値初期設定回路554による設定などに基づき、初期設定時にフリーランカウンタ554Aのカウント値をそのまま用いること、あるいは、そのカウント値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、スタート値がランダムに決定される。これにより、CPU505の動作態様から乱数回路509においてスタート値となる数値データを特定することは困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
遊技制御用マイクロコンピュータ100のCPU505は、図45に示すステップS252にて図30(A)に示す大当り変動パターン種別決定テーブル133Aを使用テーブルにセットした後や、ステップS254にて図30(B)に示す小当り変動パターン種別決定テーブル133Bを使用テーブルにセットした後、ステップS260にて図30(C)に示す非リーチ変動パターン種別決定テーブル133Cを使用テーブルにセットした後、あるいは、ステップS261にて図31に示すリーチ変動パターン種別決定テーブル133Dを使用テーブルにセットした後に、ステップS262及びステップS263の処理を実行して、変動パターン種別を予め用意された複数種類のいずれかに決定する。そして、このとき決定された変動パターン種別に基づき、ステップS264にて図32(A)に示す当り変動パターン決定テーブル134Aあるいは図32(B)に示すハズレ変動パターン決定テーブル134Bを使用テーブルにセットした後に、ステップS265及びステップS266の処理を実行して、変動パターンを予め用意された複数種類のいずれかに決定する。これにより、変動パターン種別の追加や発生率の変更を行う場合には、変動パターン種別決定テーブルにおける決定値の設定のみを変更すればよいので、設定時間を短縮化することができる。また、詳細な変動パターンの追加や発生率の変更を行う場合には、変動パターン決定テーブルにおける決定値の設定のみを変更すればよいので、設定時間を短縮化することができる。すなわち、変動パターン種別の決定割合と、変動パターンの決定割合とを、別個に設定することができるので、変動パターン種別や変動パターンの振分けにかかわる設計変更を容易に行うことができる。
図30(A)に示す大当り変動パターン種別決定テーブル133Aの設定例では、大当り種別が「突確」である場合に対応して、変動パターン種別CA4−1及び変動パターン種別CA4−2といった、大当り種別が「非確変」又は「確変」である場合とは異なる変動パターン種別が含まれるように、テーブルデータが構成されている。このようにして、大当り種別が「突確」である場合には、「突確」以外である場合とは異なる変動パターン種別や変動パターンに決定することにより、大当り種別が「突確」であることにより2ラウンド大当り状態に制御されるにもかかわらず、15ラウンド大当り状態に制御される場合と同様の演出動作が行われて遊技者に不信感を与えてしまうことを防止できる。
以上説明したように、上記実施の形態におけるパチンコ遊技機1では、例えば第1始動入賞信号SS1や第2始動入賞信号SS2がオン状態になることといった所定信号の入力に基づいて、乱数回路509で乱数生成回路553や乱数列変更回路555などにより予め定められた手順で更新される乱数列RSNに含まれる数値データが乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納されたときに、乱数ラッチフラグレジスタRDFMに格納される乱数ラッチフラグデータRDFM0や乱数ラッチフラグデータRDFM1のビット値を“0”から“1”へと変化させることなどにより、数値データを格納した乱数値レジスタR1D(559A)あるいは乱数値レジスタR2D(559B)に対応する乱数ラッチフラグがオン状態になり新たな数値データの格納が制限される。その一方で、例えばCPU505が図43に示すステップS506の処理を実行したときといった、乱数値の読出タイミングにて乱数値レジスタR1D(559A)あるいは乱数値レジスタR2D(559B)から乱数値となる数値データが読み出されたときに、その数値データが読み出された乱数値レジスタR1D(559A)あるいは乱数値レジスタR2D(559B)に対応する乱数ラッチフラグがオフ状態になり新たな数値データの格納が許可される。これにより、所定信号の入力に基づいて乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データは、CPU505などによって読み出されるまでにノイズ等により改変されてしまうことがなく、正確な乱数値となる数値データを取得することができる。
そして、遊技制御用マイクロコンピュータ100のCPU505などにより遊技制御の実行が開始されるときには、例えば図37に示すステップS56の処理や、図40に示すステップS120〜ステップS123の処理において、乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)から数値データを読出可能であり、各乱数ラッチフラグをオフ状態に設定することができる。これにより、例えばパチンコ遊技機1において電源遮断が発生したときや電源投入時などの電源電圧が不安定な状態で誤って乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データが、乱数値として取得されてしまうことを防止できる。
第1始動入賞口を通過(進入)した遊技球が検出されて図42に示すステップS203にて第1始動口スイッチ22Aがオンであると判定されたときにはステップS204において、また、第2始動入賞口を通過(進入)した遊技球が検出されて図42に示すステップS207にて第2始動口スイッチ22Bがオンであると判定されたときにはステップS208において、遊技球が通過(進入)した始動入賞口にかかわらず共通の始動口通過時処理が実行される。そして、例えば図43に示すステップS505及びステップS506の処理といった、遊技球が通過した始動入賞口にかかわらず共通の処理ルーチンにおいて、乱数回路509が備える乱数値レジスタR1D(559A)及び乱数値レジスタR2D(559B)のうち、遊技球が通過した第1始動入賞口又は第2始動入賞口に対応する乱数値レジスタから、乱数値となる数値データを読み出す。これにより、例えば第1始動入賞口や第2始動入賞口といった、複数の始動入賞口を設けたパチンコ遊技機1において、プログラム量の過剰な増大を防止することができる。
図43に示すステップS502にて保留記憶カウンタの読出値が上限値以上であると判定されたことに対応して、乱数値の読出タイミングにて第1特図保留記憶部591Aや第2特図保留記憶部591Bにおける保留データの記憶数が上限記憶数に達しているときには、ステップS512の処理において、遊技球が通過した第1始動入賞口又は第2始動入賞口に対応する乱数値レジスタR1D(559A)又は乱数値レジスタR2D(559B)から、乱数値となる数値データを読み出すことにより、対応する乱数ラッチフラグをオフ状態に設定する。これにより、第1特図保留記憶部591Aや第2特図保留記憶部591Bにおける保留データの記憶数が上限記憶数に達した後、例えば上限記憶数未満となってから乱数値の読出タイミングとなったときなどに、第1始動入賞信号SS1や第2始動入賞信号SS2といった所定信号の入力に基づく正確な乱数値を取得することができる。
図8(A)や図11(A)及び(C)に示すセキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“00”以外の値としたときには、システムリセットや電源投入に基づき初期設定処理が実行されるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定する。また、図8(A)や図11(A)及び(D)に示すセキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外の値としたときには、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定する。これにより、パチンコ遊技機1の電源投入やシステムリセット等による動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
乱数回路509では、乱数生成回路553から出力されたカウント値順列RCNを乱数列変更回路555が予め定められた乱数変更規則に基づいて変更することで、数値データを所定手順により所定の更新初期値から所定の更新最終値まで循環的に更新する。そして、図8(A)や図10(B)に示す第2乱数初期設定KRS2のビット番号[0]におけるビット値を“1”としたときには、CPU505が図37に示すステップS55の処理を実行することなどにより、乱数回路509にて生成される乱数値となる数値データのスタート値を、システムリセット毎に変更する。これにより、たとえ乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)から読み出される数値データを特定することは困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
より具体的には、乱数回路509などに設けられたフリーランカウンタ554により、遊技制御用マイクロコンピュータ100のCPU505における動作とは別個に初期値決定用データとなるカウント値が更新される。そして、乱数回路509のスタート値初期設定回路554による設定などに基づき、フリーランカウンタ554のカウント値を用いて乱数値となる数値データのスタート値が決定される。これにより、遊技制御用マイクロコンピュータ100のCPU505における動作態様から乱数値となる数値データを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
遊技制御用マイクロコンピュータ100が備える外部バスインタフェース501では、内部リソースアクセス制御回路501Aにより、例えばROM506の記憶データといった、遊技制御用マイクロコンピュータ100の内部データにつき、CPU505等の内部回路以外による外部読出が制限される。これにより、例えばROM506に記憶されているゲーム制御用のユーザプログラムといった、遊技制御処理プログラムが遊技制御用マイクロコンピュータ100の外部から読み出されて解析などに提供されることを防止できる。そして、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
遊技制御用マイクロコンピュータ100に内蔵又は外付けされた乱数回路509の周波数監視回路551では、乱数用クロック生成回路112から乱数用外部クロック端子ERCに対する乱数用クロックRCLKの入力状態を内部システムクロックSCLKと比較して、乱数用クロックRCLKにおける周波数異常が検知されたときに、内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4のビット値を“1”に設定する。そして、CPU505では、例えば図38に示すステップS63にて内部情報データCIF4の読出値が“1”であると連続して判定された回数が、ステップS65にてクロック異常判定値に達したと判定されたときに、乱数回路509の動作状態に異常が発生したと判定する。これにより、乱数用クロックRCLKとして不正信号を入力することによる不正行為を確実に防止することができる。
遊技制御用マイクロコンピュータ100のCPU505は、パチンコ遊技機1における電源供給の開始などに基づいて遊技制御用マイクロコンピュータ100のシステムリセットが解除されたときに、乱数値レジスタ読出処理として図37に示すステップS56の処理を実行することにより、乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データを読み出して、対応する乱数ラッチフラグをオフ状態とする。これにより、例えば電源投入時などの電源電圧が不安定な状態で誤って乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データを乱数値として取得してしまうことを防止できる。
また、図40に示すステップS111にて電源断信号がオン状態であると判定されたことなどに対応して、例えば電源電圧VSLといった所定電源電圧の低下が検出された後、遊技制御用マイクロコンピュータ100が動作停止状態となるまでは、ステップS119の処理を実行することにより、電源断信号の入力状態を繰り返し判定する。そして、ステップS119にて電源断信号がオフ状態となり入力されていない旨の判定がなされたときに、ステップS124における設定に基づきROM506に記憶された制御コードの先頭から遊技制御が開始されるより前に、ステップS120〜ステップS123の処理を実行して、オン状態となっている乱数ラッチフラグをオフ状態にする。これにより、例えば電源電圧VSLといった所定電源電圧の低下時などの電源電圧が不安定な状態で誤って乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データを乱数値として取得してしまうことを防止できる。
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、上記実施の形態では、第1特別図柄表示装置4A及び第2特別図柄表示装置4Bを備えたパチンコ遊技機1について説明したが、1つの特別図柄表示装置のみが設けられたものであってもよい。この場合には、例えば図14に示す乱数回路509が備えるラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタR2D(559B)の組合せを不使用とするればよい。
また、普通入賞球装置6Aが形成する第1始動入賞口と、普通可変入賞球装置6Bが形成する第2始動入賞口とが、複数の始動領域として設けられるものに限定されず、例えば3個以上といった複数の始動領域が設けられるものであってもよい。この場合、各始動領域にて遊技球の始動入賞が検出されたことに基づき、互いに異なる特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。そして、乱数回路509には、始動領域の個数に対応して3個以上といった複数の乱数値レジスタが設けられ、また、各乱数値レジスタに対応した乱数ラッチフラグが設けられるようにすればよい。あるいは、例えば3個以上の始動領域のうちで、一部(少なくとも2個)の始動領域にて遊技球の始動入賞が検出されたことに基づき、同一の特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。また、複数の始動領域のうち、いずれの始動領域にて遊技球の始動入賞が検出された場合でも、共通する1個(あるいは1組)の特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。この場合には、複数の始動領域において遊技球の始動入賞が検出された順番と同一の順番で、特図ゲームを開始するための開始条件が成立するようにしてもよい。あるいは、複数の始動領域に優先順位を付け、優先順位が高い始動領域にて遊技球の始動入賞が検出されたことに基づく特図ゲームを開始するための開始条件を、優先順位が低い始動領域にて遊技球の始動入賞が検出されたことに基づく開始条件よりも、優先的に成立させるようにしてもよい。
図40に示すステップS119の処理では、電源断信号がオン状態であるか否かの判定に代えて、ウォッチドッグタイマがタイムアウトしたか否かの判定を行うようにしてもよい。例えば、ウォッチドッグタイマの入力端子に内部システムクロックSCLKといった所定の発振信号を供給し、その信号変化をカウントアップする。そして、ウォッチドッグタイマでカウントされた値が所定値(タイムアウト値)に達すると、タイムアウト信号が出力される。タイムアウト信号は所定の反転回路で論理反転された後、復帰信号としてAND回路に入力される。AND回路はリセット信号と復帰信号との論理積をとってCPU505のリセット端子に供給する。ウォッチドッグタイマにおけるタイムアウト値は、電源断信号がオン状態になってから、例えば電源電圧VSLが電源電圧VCCを生成可能な電圧値よりも低下する時間以上に設定されればよい。ウォッチドッグタイマは、電源電圧VCCを駆動電圧として動作するので、タイムアウト値は、ウォッチドッグタイマの動作可能期間に相当する値以上に設定される。したがって、パチンコ遊技機1への電力供給停止時には、そのまま電源電圧が低下して供給停止に至るのであれば、ウォッチドッグタイマがタイムアウトして復帰信号が出力されるより前に、ウォッチドッグタイマ及びその他の回路部品は動作しなくなる。なお、CPU505が遊技制御を実行しているときには、定期的にタイマクリア信号がウォッチドッグタイマに供給されて、カウント値がクリア(例えば初期値「0」に設定など)されればよい。タイマクリア信号の出力周期は、ウォッチドッグタイマがタイムアウトするまでの所要時間よりも短くなるように設定する。そのため、CPU505が通常の遊技制御を実行しているときには、ウォッチドッグタイマからタイムアウト信号が出力されることはない。
この場合、ステップS119の処理が繰り返し実行される期間では、ウォッチドッグタイマへのタイマクリア信号の供給が行われず、所定時間が経過しても電源電圧VCCが正常電圧値であれば、ウォッチドッグタイマにてタイムアウトが発生する。このときには、CPU505に供給された復帰信号に基づいて、遊技制御処理プログラムの先頭から処理を開始(再開)するようにしてもよい。このようにしても、例えば図37に示すステップS56の処理において、乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)から数値データを読出可能であり、各乱数ラッチフラグをオフ状態に設定することができる。あるいは、図40に示すステップS119の処理にてウォッチドッグタイマにてタイムアウトが発生したと判定されたときに、パチンコ遊技機1が電源電圧の瞬断から復帰したと判断して、ステップS120以降の処理が実行されるようにすればよい。このようにしても、図40に示すステップS120〜ステップS123の処理において、乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)から数値データを読出可能であり、各乱数ラッチフラグをオフ状態に設定することができる。これにより、例えばパチンコ遊技機1において瞬断の発生時といった電源電圧が不安定な状態で誤って乱数値レジスタR1D(559A)や乱数値レジスタR2D(559B)に格納された数値データが、乱数値として取得されてしまうことを防止できる。
図35のステップS4にて設定される延長時間は、例えばROM506に記憶されたユーザプログラムにおける設定などにより、システムリセット毎に複数の延長時間のいずれかに決定するようにしてもよい。この場合には、ステップS4にて設定される延長時間がいずれも、ステップS8にて設定可能な最長の可変設定時間に比べて、長くなるように定義しておく。そして、ステップS4では大まかな延長時間を決定した後、ステップS8では詳細な延長時間を決定すればよい。これにより、パチンコ遊技機1の電源投入時やシステムリセット時にセキュリティモードとなるセキュリティ時間を、システムリセット毎に大きく変化させることが可能になり、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングや更新される数値データなどを特定することが、より困難になる。
また、固定時間に加算される延長時間などは、遊技制御用マイクロコンピュータ100を構成するチップ毎に付与されるIDナンバーを用いて決定されるようにしてもよい。一例として、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値に対応して延長時間を設定してもよい。この場合には、例えばシステムリセット毎に延長時間を決定するために用いる演算式を変更することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしてもよい。さらに、例えばIDナンバーを用いて延長時間を決定するための演算式をシステムリセット時に格納したフリーランカウンタのカウント値に対応して決定するといったように、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしてもよい。また、乱数回路509にて生成される乱数のスタート値をシステムリセット毎に変更する場合にも、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、乱数のスタート値を決定してもよい。
遊技制御用マイクロコンピュータ100のCPU505に供給されるクロック信号と、乱数回路509に供給されるクロック信号は、共通のクロック生成回路に含まれる1つの発振器により生成された発振信号を用いて、生成されるようにしてもよい。この場合には、例えば乱数用クロックRCLKと制御用クロックCCLKをそれぞれ生成するための分周器などを設け、ラッチ用クロックRC0、RC1、RC2と制御用クロックCCLKあるいは内部システムクロックSCLKとの同期が生じにくくなるように、各分周器における分周比などを設定すればよい。制御用クロック生成回路111と乱数用クロック生成回路112とは、その全部又は一部が、遊技制御用マイクロコンピュータ100の内部に設けられてもよいし、遊技制御用マイクロコンピュータ100の外部に設けられてもよい。
乱数更新クロックRGKやラッチ用クロックRC0となる発振信号は、例えば乱数用クロック生成回路112といった、乱数回路509の外部において生成されるようにしてもよい。あるいは、乱数回路509の内部にて、乱数更新クロックRGKを生成するための回路と、ラッチ用クロックRC0を生成するための回路とを、別個に設けるようにしてもよい。一例として、クロック用フリップフロップ552と同様のフリップフロップにより乱数更新クロックRGKを生成する一方で、乱数更新クロックRGKの信号状態を反転させる反転回路を設け、その反転回路から出力される信号を、ラッチ用クロックRC0として用いるようにしてもよい。
ROM506の外部読出などを制限する場合には、例えば遊技制御用マイクロコンピュータ100にてROM506の記憶データを外部読出するための接続端子などを、パチンコ遊技機1の提供者において外部装置が接続不能に封止されてもよい。
上記実施の形態では、図41に示すステップS141の変動パターン設定処理として、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、図45のフローチャートに示すような処理が実行されるものとして説明した。しかしながら、この発明はこれに限定されず、第1開始条件が成立した場合と第2開始条件が成立した場合とでは、互いに異なる処理を実行して、変動パターン種別を複数種類のいずれとするかの決定や、変動パターンを複数種類のいずれとするかの決定を行うようにしてもよい。この場合、変動パターン種別を決定するための処理や、変動パターンを決定するための処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、変動パターン種別決定用の乱数値MR4を示す数値データや、変動パターン決定用の乱数値MR5を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。
また、大当り変動パターン種別決定テーブルや小当り変動パターン種別決定テーブル、非リーチ変動パターン種別決定テーブル、リーチ変動パターン種別決定テーブルといった変動パターン種別決定テーブルとして、第1開始条件と第2開始条件のいずれが成立したかに応じて、各変動パターン種別に対する決定値の割当てを異ならせたものを予め用意してもよい。そして、第1開始条件の成立に対応して実行される変動パターン設定処理では、第1開始条件の成立に応じた変動パターン種別決定テーブルを使用テーブルとして選択し、変動パターン種別決定用の乱数値MR4に基づいて、変動パターン種別を複数種類のいずれかに決定する。これに対して、第2開始条件の成立に対応して実行される変動パターン設定処理では、第2開始条件の成立に応じて第1開始条件が成立した場合とは異なる変動パターン種別決定テーブルを使用テーブルとして選択し、第1開始条件が成立した場合と共通の変動パターン種別決定用の乱数値MR4に基づいて、変動パターン種別を複数種類のいずれかに決定すればよい。
さらに、飾り図柄の可変表示状態をリーチ状態とするか否かの決定処理についても、第1開始条件が成立した場合と第2開始条件が成立した場合とでは、互いに異なる処理が実行されるようにしてもよい。この場合、リーチ状態とするか否かの処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、リーチ決定用の乱数値MR3を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。さらに、例えば上記実施の形態において図44に示したステップS236のような処理に代えて、大当り種別を複数種類のいずれかに決定する処理として、第1開始条件が成立した場合と第2開始条件が成立した場合とで互いに異なる処理が実行されるようにしてもよい。この場合、大当り種別を決定するための処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、大当り種別決定用の乱数値MR2を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。
上記実施の形態では、可変表示結果が「小当り」となったことに基づいて小当り遊技状態に制御され、小当り遊技状態が終了した後には、遊技状態の変更が行われない。その一方で、可変表示結果が「大当り」となる場合に大当り種別が「突確」となったことに基づいて2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、確変状態に制御されるものとして説明した。しかしながら、この発明はこれに限定されず、大当り種別が「突確」となる場合や可変表示結果が「小当り」となる場合に代えて、あるいは、これらの場合に加えて、「突然時短」や「突然通常」となる場合を設けるようにしてもよい。一例として、「突然時短」と「突然通常」は、可変表示結果が「大当り」となる場合における大当り種別に含まれるものとする。この場合、大当り種別決定テーブル131は、変動特図指定バッファ値に応じて、大当り種別決定用の乱数値MR2を、「突然時短」や「突然通常」の大当り種別に割り当てるテーブルデータが含まれるように構成されればよい。そして、可変表示結果が「大当り」となる場合に大当り種別が「突然時短」となるときには、大当り種別が「突確」の場合と同様にして2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、大当り種別が「突確」の場合とは異なり時短状態に制御される。他方、可変表示結果が「大当り」となる場合に大当り種別が「突然通常」となるときには、大当り種別が「突確」の場合と同様にして2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、大当り種別が「突確」の場合とは異なり通常状態に制御される。これにより、2ラウンド大当り状態の終了後に制御される遊技状態に対する遊技者の期待感を高め、遊技興趣を向上させることができる。
このような「突然時短」や「突然通常」を設ける場合には、「突然時短」及び「突然通常」以外である場合とは異なる変動パターン種別や変動パターンに決定するようにしてもよい。これにより、大当り種別が「突然時短」や「突然通常」であることにより2ラウンド大当り状態に制御されるにもかかわらず、15ラウンド大当り状態に制御される場合と同様の演出動作が行われて遊技者に不信感を与えてしまうことを防止できる。また、大当り種別が「突然時短」や「突然通常」となる場合には、可変表示結果が「小当り」となる場合、あるいは、大当り種別が「突確」となる場合と、共通の変動パターン種別に決定可能としてもよい。これにより、変動パターンを決定する際には、大当り種別が「突然時短」や「突然通常」となる場合であるか、可変表示結果が「小当り」となる場合あるいは大当り種別が「突確」となる場合であるかに関わりなく、共通の変動パターン決定テーブルを用いることができ、データ容量の削減を図ることができる。
上記実施の形態では、可変表示結果が「大当り」となったことに基づく大当り遊技状態が終了した後に、確変状態や時短状態といった遊技状態に制御できるものとして説明した。そして、確変状態や時短状態では、第2始動入賞口に遊技球が進入する可能性を高めて第2始動条件が成立しやすくなることで遊技者にとって有利となる制御が行われるものとして説明した。しかしながら、この発明はこれに限定されず、例えば確変状態には、継続して確変制御が行われるとともに、第2始動入賞口に遊技球が進入する可能性を高める有利開放制御が行われる高確高ベース状態と、確変制御は行われるが有利開放制御は行われない高確低ベース状態とが含まれるようにしてもよい。また、時短状態には、特図変動時間が短縮されるとともに有利開放制御が行われる低確高ベース状態と、特図変動時間は短縮されるが有利開放制御は行われない低確低ベース状態とが含まれるようにしてもよい。一例として、大当り種別が「確変」及び「突確」のいずれであるかに対応して、大当り遊技状態の終了後に、高確高ベース状態と高確低ベース状態のいずれかに制御されるようにしてもよい。他の一例として、大当り種別が「確変」及び「突確」のいずれであるかに応じて、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれかに制御される割合を、互いに異ならせるようにしてもよい。
大当り種別が「突確」である場合に変動パターン種別を複数種類のいずれかに決定する際には、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれに制御するかに応じて、異なる変動パターン種別に決定するようにしてもよい。一例として、図44に示すステップS236にて大当り種別が「突確」に決定された際には、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれに制御するかを決定するための判定処理を実行する。このとき、高確低ベース状態に制御することが決定された場合には、変動パターン種別CA4−1といった、大当り種別が「突確」となる場合と可変表示結果が「小当り」となる場合で共通の変動パターン種別に決定する。これに対して、高確高ベース状態に制御することが決定された場合には、変動パターン種別CA4−2といった、大当り種別が「突確」となる場合のみに専用の変動パターン種別に決定すればよい。これにより、大当り種別が「突確」で大当り遊技状態の終了後に高確低ベース状態となる場合には、飾り図柄の可変表示中における演出動作や2ラウンド大当り状態における演出動作として、可変表示結果が「小当り」となる場合と共通の演出動作が行われた後、高確低ベース状態となることができる。他方、大当り種別が「突確」で大当り遊技状態の終了後に高確高ベース状態となる場合には、飾り図柄の可変表示中における演出動作や2ラウンド大当り状態における演出動作として、大当り種別が「突確」となる場合のみに専用の演出動作が行われた後、高確高ベース状態となることができる。
上記実施の形態では、画像表示装置5の表示領域において、「左」、「中」、「右」の飾り図柄表示エリア5L、5C、5Rが設けられ、各飾り図柄表示エリア5L、5C、5Rにて1個の飾り図柄が停止表示されることで、予め定められた1個の有効ライン上に最終停止図柄となる確定飾り図柄が停止表示されるものとして説明した。しかしながら、この発明はこれに限定されず、例えば「左」、「中」、「右」の各飾り図柄表示エリア5L、5C、5Rにて「上段」、「中段」、「下段」の3カ所に飾り図柄を停止表示可能とし、5個あるいは8個の有効ライン上に最終停止図柄となる確定飾り図柄が停止表示されるようにしてもよい。
その他にも、パチンコ遊技機1の装置構成、データ構成、フローチャートで示した処理、画像表示装置5の表示領域における演出画像の表示動作を含めた各種の演出動作などは、本発明の趣旨を逸脱しない範囲で、任意に変更及び修正が可能である。加えて、本発明の遊技機は、入賞球の検出に応答して所定数の賞球を払い出す払出式遊技機に限定されるものではなく、遊技球を封入し入賞球の検出に応答して得点を付与する封入式遊技機にも適用することができる。
上記実施の形態では、遊技機の例として、特別図柄や飾り図柄を可変表示する機能や各種の演出画像を表示する機能を有するパチンコ遊技機1を用いて説明した。しかしながら、上記実施の形態におけるパチンコ遊技機1が備える構成及び機能の少なくとも一部は、スロットマシンなどの他の遊技機にも適用することができる。以下、この発明を他の遊技機の一例であるスロットマシンに適用した場合について説明する。
図52は、この発明を適用したスロットマシンの一例となるスロットマシン700の正面図であり、主要部材のレイアウトを示す。スロットマシン700は、大別して、前面が開口する筐体と、この筐体の側端に回動自在に枢支された前面扉とから構成されている。スロットマシン700の筐体内部には、外周に複数種の図柄が配列されたリールRL、RC、RRを水平方向に並設した可変表示装置701が設置されている。リールRL、RC、RRの外周部には、例えば「赤7」、「白7」、「BAR」、「JAC」、「スイカ」、「チェリー」、「ベル」といった、互いに識別可能な複数種類の図柄が所定の順序で描かれている。リールRL、RC、RRの外周部に描かれた図柄は、各々上中下三段に表示されている。各リールRL、RC、RRは、各々対応して設けられたリールモータ851L、851C、851R(図53)によって回転させることで、各リールRL、RC、RRの図柄が連続的に変化しつつ表示されるとともに、各リールRL、RC、RRの回転を停止させることで、3つの連続する図柄が表示結果として導出表示されるようになっている。
また、スロットマシン700の前面扉には、表示機能を有する画像表示装置710が設けられている。そして、スロットマシン700の前面扉における画像表示装置710の下部などには、遊技者が各種の操作を行うための各種入力スイッチ等が配される操作テーブル720が設けられている。操作テーブル720の奥側には、スロットマシン700において遊技媒体となるメダルを投入可能なメダル投入口702、メダルを1枚分の賭数を設定(BET)するためのBETスイッチ703、1ゲームで賭けることのできる最高枚数分(本例では3枚分)の賭数を設定するためのMAXBETスイッチ704、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)として記憶されているメダル及び賭数の設定に用いたメダルを精算するための精算スイッチ708が設けられている。メダル投入口702に投入されたメダルは、所定の投入メダルセンサによって検知される。
操作テーブル720の手前側には、スロットマシン700にてゲームを開始する際に操作されるスタートレバー705、リールRL、RC、RRの回転を各々停止する際に操作されるストップスイッチ706L、706C、706Rが設けられている。操作テーブル720の下部には、メダルが払い出されるメダル払出口707が設けられている。スロットマシン700の上部左右には、効果音を出力する2つのスピーカ711L、711Rが設けられている。その他、例えば操作テーブル720の左右手前側といった所定位置には、遊技効果ランプ713、714が設けられている。
スロットマシン700においてゲームを行う場合には、まず、メダルをメダル投入口702から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはBETスイッチ703またはMAXBETスイッチ704を操作する。こうして賭数が設定されると、賭数に応じた複数の入賞ラインのいずれかが有効となり、スタートレバー705の操作が有効な状態、すなわち、ゲームが実行可能な状態となって、可変表示の実行条件が成立する。なお、前回のゲームにてリプレイなどの再遊技役の入賞が発生した場合にも、続けて次のゲームが実行可能となり、可変表示の実行条件が成立する。
こうしてゲームが実行可能な状態でスタートレバー705が操作されると、その操作がスタートレバースイッチ705A(図53)により検知されたことに基づき、可変表示の開始条件が成立したことに対応して、各リールRL、RC、RRが回転し、各リールRL、RC、RRの図柄が連続的に変動する。この状態でいずれかのストップスイッチ706L、706C、706Rが操作されると、対応するリールRL、RC、RRの回転が停止し、表示結果が視認可能に導出表示される。
そして、全てのリールRL、RC、RRの回転が停止されることで1ゲームが終了し、有効化されたいずれかの入賞ライン上に予め定められた役と呼ばれる図柄の組合せが各リールRL、RC、RRの表示結果として停止した場合には入賞が発生する。入賞となる役の種類には、大別して、メダルの付与を伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役とがあり、遊技状態に応じて入賞となる役が定められている。スロットマシン700では、スタートレバー705が操作されたタイミングで抽出した乱数値に基づき、遊技状態に応じて定められた各役の入賞の発生を許容するか否かを決定する内部抽選を行う。この内部抽選に当選して入賞の発生が許容されていることを、「内部当選している」ともいう。各役の当選のうち、小役及び再遊技役の当選は、その当選が決定されたゲームにおいてのみ有効とされるが、特別役の当選は、その内部抽選により発生が許容された役が揃うまで有効とされる。すなわち特別役となる入賞の発生が一度許容されると、例え、各ゲームにて特別役となる入賞を発生させることができなかった場合でも、その当選は次のゲームへ持ち越されることになる。
スロットマシン700における遊技状態には、例えばレギュラーボーナス、ビッグボーナス、通常遊技状態がある。レギュラーボーナスの遊技状態では、例えばJAC、チェリー、スイカ及びベルなどの小役が、入賞となる役として定められており、内部抽選での抽選対象とされる。ビッグボーナスでは、所定の小役ゲームにおいて、例えばチェリー、スイカ及びベルなどの小役や、レギュラーボーナス(あるいはJACIN)などの特別役が、入賞となる役として定められており、各小役ゲームにおける内部抽選での抽選対象とされる。通常遊技状態では、例えばチェリー、スイカ及びベルなどの小役や、リプレイなどの再遊技役、ビッグボーナス、レギュラーボーナスなどの特別役が、入賞となる役として予め定められており、各ゲームにおける内部抽選での抽選対象とされる。
通常遊技状態においてビッグボーナスとなる特別役の入賞が発生すると、遊技状態がビッグボーナスに移行する。ビッグボーナスでは、小役ゲームと称される所定のゲームを行うことができる。ビッグボーナスは、当該ビッグボーナス中において遊技者に付与したメダルの総数が規定枚数(例えば466枚)以上となった場合に終了する。通常遊技状態やビッグボーナス中の小役ゲームにおいてレギュラーボーナスとなる特別役の入賞が発生すると、遊技状態がレギュラーボーナスに移行する。レギュラーボーナスは、12ゲーム消化した場合と、8ゲーム入賞(役の種類はいずれでもよい)した場合のいずれか早いほうで終了する。通常遊技状態時のレギュラーボーナスでは、遊技者に付与したメダルの総数が規定枚数以上となったときに、レギュラーボーナスを終了させるようにしてもよい。ビッグボーナス中のレギュラーボーナスで当該ビッグボーナス中において遊技者に付与したメダルの総数が規定枚数以上となった場合は、ビッグボーナスとともに当該レギュラーボーナスも終了する。
スロットマシン700では、遊技状態がレギュラーボーナスやビッグボーナスなどの特別遊技状態に移行している場合に、通常遊技状態よりも多くのメダルを遊技者が獲得でき、通常遊技状態よりも遊技者にとって有利な遊技状態となる。こうした特別遊技状態に制御するか否かの決定は、内部抽選において、所定の遊技価値を付与するか否かの決定として行われるものであればよい。なお、特別遊技状態はレギュラーボーナスやビッグボーナスなどに限らず、通常遊技状態に比べて遊技者が多くのメダルを獲得することが期待でき、通常遊技状態よりも遊技者にとって有利な遊技状態であればよい。このような通常遊技状態よりも遊技者にとって有利な遊技状態としては、例えば、リールの導出条件(例えば停止順や停止タイミング)が満たされることを条件に発生する報知対象入賞の導出条件を満たす操作手順が報知される遊技状態(いわゆるアシストタイム)や、少なくともいずれか1つのリールの引込範囲を制限することで、ストップスイッチ706L、706C、706Rが操作された際に表示されている図柄が停止しやすいように制御し、遊技者が目押しを行うことで入賞図柄の組合せを導出させることが可能となるチャレンジタイム(CT)、特定の入賞(例えばリプレイ入賞やシングルボーナス入賞等)の発生が許容される確率が高まる遊技状態(いわゆるリプレイタイムや集中状態)等、さらには、これらを組み合わせた遊技状態などであればよい。
スロットマシン700には、例えば図53に示すような主基板800、演出制御基板820、音声制御基板832、ランプ制御基板833、リールユニット850などが搭載されている。その他にも、スロットマシン700には、主基板800に接続された電源基板や中継基板等の他の基板も搭載されている。主基板800は、上記実施の形態における主基板11の構成及び機能と少なくとも一部が共通するものであればよい。また、電源基板等の他の制御基板についても、上記実施の形態における各種制御基板の構成及び機能と少なくとも一部が共通するものであればよい。
主基板800には、遊技制御用マイクロコンピュータ810が設けられている。遊技制御用マイクロコンピュータ810は、上記実施の形態における遊技制御用マイクロコンピュータ100の構成及び機能と少なくとも一部が共通するものであり、制御コードに基づくユーザプログラムなどを実行するCPU、ユーザプログラムを示す制御コードや固定データなどを記憶するROM、ワークエリアとしてCPUにより使用されるRAMなどを備えて構成されていればよい。また、上記実施の形態における乱数回路509と一部又は全部が共通する乱数回路が、遊技制御用マイクロコンピュータ810に内蔵又は外付けされていればよい。
リールユニット850は、リールモータ851L、851C、851R、リールランプ852、リールセンサ853などを備えて構成される。リールモータ851L、851C、851Rは、各リールRL、RC、RRを回転させるためのモータである。リールランプ852は、各リールRL、RC、RRの内部に設けられ、各リールRL、RC、RRに描かれた図柄のうち、可変表示装置701にて視認可能となる図柄をリールの内側から照射するためのランプである。リールセンサ853は、各リールRL、RC、RRの回転状態や回転数などを検知するためのセンサである。
演出制御基板820には、演出制御用マイクロコンピュータ830や、表示制御部831などが搭載されている。演出制御用マイクロコンピュータ830は、例えば遊技制御用マイクロコンピュータ810の一部又は全部と同様の構成を有する1チップマイクロコンピュータであり、CPU、ROM、RAM、リセット/割込みコントローラなどを備えて構成されていればよい。表示制御部631は、画像表示装置510における表示動作の制御を行うものであり、演出制御用マイクロコンピュータ630からの表示制御指令に従った画像データの処理を実行するVDPや、画像表示装置510の画面上に画像を表示させるといった演出制御に使用される各種の演出データを記憶する演出データメモリを備えて構成されている。
演出制御用マイクロコンピュータ830では、主基板800から受信した演出制御コマンドに基づく演出制御パターンに従って画像表示装置710やスピーカ711L、711R、遊技効果ランプ713、714などによる演出動作を制御するための指令や処理が、CPUによって実行される。表示制御部831では、演出制御用マイクロコンピュータ830からの表示制御指令に従った演出データの処理などが実行される。
こうしたスロットマシン700が備える遊技制御用マイクロコンピュータ810に内蔵又は外付けされた乱数回路では、例えば図14に示した構成のうち、ラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタR2D(559B)の組合せを不使用とすればよい。その一方で、遊技制御用マイクロコンピュータ810では、例えば図6に示した構成において、PIP510が備える入力ポートP0にスロットマシン700が備えるスタートレバースイッチ705Aからの検出信号を入力する。
そして、遊技制御用マイクロコンピュータ810に内蔵又は外付けされた乱数回路では、例えばスタートレバースイッチ705Aからの検出信号がオン状態になることといった所定信号の入力に基づいて、図14に示した乱数生成回路553や乱数列変更回路555などにより予め定められた手順で更新される乱数列RSNに含まれる数値データが乱数値レジスタR1D(559A)に格納されたときに、乱数ラッチフラグレジスタRDFMに格納される乱数ラッチフラグデータRDFM0のビット値を“0”から“1”へと変化させることなどにより、数値データを格納した乱数値レジスタR1D(559A)に対応する乱数ラッチフラグがオン状態になり新たな数値データの格納が制限される。その一方で、例えば遊技制御用マイクロコンピュータ810のCPUが、図43に示すステップS506に相当する処理を実行したときといった、乱数値の読出タイミングにて乱数値レジスタR1D(559A)から乱数値となる数値データが読み出されたときに、その数値データが読み出された乱数値レジスタR1D(559A)に対応する乱数ラッチフラグがオフ状態になり新たな数値データの格納が許可される。これにより、所定信号の入力に基づいて乱数値レジスタR1D(559A)に格納された数値データは、遊技制御用マイクロコンピュータ810のCPUなどによって読み出されるまでにノイズ等により改変されてしまうことがなく、正確な乱数値となる数値データを取得することができる。
また、遊技制御用マイクロコンピュータ810のCPUなどにより遊技制御の実行が開始されるときには、例えば図37に示すステップS56に相当する処理や、図40に示すステップS120及びステップS121に相当する処理において、乱数値レジスタR1D(559A)から数値データを読出可能であり、各乱数ラッチフラグをオフ状態に設定することができる。これにより、例えばスロットマシン700において電源遮断が発生したときや電源投入時などの電源電圧が不安定な状態で誤って乱数値レジスタR1D(559A)に格納された数値データが、乱数値として取得されてしまうことを防止できる。
さらに、図8(A)や図11(A)及び(C)に示したものと同様に、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“00”以外の値としたときには、システムリセットや電源投入に基づき初期設定処理が実行されるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定する。加えて、図8(A)や図11(A)及び(D)に示したものと同様に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外の値としたときには、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定する。これにより、スロットマシン700の電源投入やシステムリセット等による動作開始タイミングから、乱数回路の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別遊技状態を発生させるなどの行為を、確実に防止することができる。
その他、例えば遊技制御用マイクロコンピュータ810に内蔵又は外付けされた乱数回路にて生成される乱数値となる数値データのスタート値をシステムリセット毎に変更すること、より具体的には、遊技制御用マイクロコンピュータ810のCPUにおける動作とは別個に初期値決定用データとなるカウント値を更新するフリーランカウンタから読み出したカウント値を用いて乱数値となる数値データのスタート値が決定されること、遊技制御用マイクロコンピュータ810が備える外部バスインタフェースでは内部リソースアクセス制御回路によりROMの記憶データといった遊技制御用マイクロコンピュータ810の内部データにつきCPU等の内部回路以外による外部読出が制限されること、遊技制御用マイクロコンピュータ810に内蔵又は外付けされた乱数回路の周波数監視回路では乱数用クロックの入力状態を内部システムクロックと比較して乱数用クロックにおける周波数異常が検知されること、あるいは、これらの一部又は全部を組み合わせることなどにより、上記実施の形態におけるパチンコ遊技機1が備える構成及び機能の少なくとも一部が、スロットマシン700においても実現されればよい。
スロットマシン700は、メダル並びにクレジットを使用してゲームを実施可能なものに限らず、例えばパチンコ球を用いてゲームを行うスロットマシンや、メダルが外部に排出されることなくクレジットを使用して遊技可能な完全クレジット式のスロットマシン、可変表示装置が図柄を示す画像の表示を行う画像式のスロットマシンなどにも適用することができる。
パチンコ遊技機1やスロットマシン700が備える構成及び機能の一部又は全部を実現するためのプログラム及びデータは、コンピュータ装置等に対して、着脱自在の記録媒体により配布・提供される形態に限定されるものではなく、予めコンピュータ装置等の有する記憶装置にプリインストールしておくことで配布される形態を採っても構わない。さらに、本発明を実現するためのプログラム及びデータは、通信処理部を設けておくことにより、通信回線等を介して接続されたネットワーク上の、他の機器からダウンロードすることによって配布する形態を採っても構わない。