以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。図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特図」ともいう。
遊技盤2における遊技領域の中央付近には、画像表示装置5が設けられている。画像表示装置5は、例えばLCD(液晶表示装置)等から構成され、各種の演出画像を表示する表示領域を形成している。画像表示装置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では、可変表示の保留数(特図保留記憶数)を特定可能に表示する保留記憶表示が行われる。ここで、可変表示の保留は、普通入賞球装置6Aが形成する第1始動入賞口や普通可変入賞球装置6Bが形成する第2始動入賞口に遊技球が進入(始動入賞)したときに発生する。すなわち、特図ゲームや飾り図柄の可変表示といった可変表示ゲームを実行するための始動条件(「実行条件」ともいう)は成立したが、先に成立した開始条件に基づく可変表示ゲームが実行中であることやパチンコ遊技機1が大当り遊技状態に制御されていることなどにより、可変表示ゲームを開始するための開始条件は成立していないときに、成立した始動条件に対応する可変表示の保留が行われる。
一例として、始動入賞記憶表示部5Hには、始動入賞の発生に基づき先に始動条件が成立した可変表示ゲームから順に左から右へと、表示色が変更される複数の表示部位が設けられている。そして、第1始動入賞口に遊技球が進入したことに基づき第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームの始動条件(第1始動条件)が成立したときには、通常非表示(透過色)となっている表示部位のうちの1つ(例えば非表示となっている表示部位のうち左端の表示部位)を青色表示に変化させる。また、第2始動入賞口に遊技球が進入したことに基づき第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームの始動条件(第2始動条件)が成立したときには、通常非表示となっている表示部位のうちの1つを赤色表示に変化させる。その後、第1特図を用いた特図ゲームの開始条件(第1開始条件)と第2特図を用いた特図ゲームの開始条件(第2開始条件)のいずれかが成立したときには、例えば左端の表示部位における表示を除去するとともに、各表示部位における表示を1つずつ左方向に移動させる。このとき、青色表示や赤色表示に変化していた表示部位のうちの1つ(例えば表示色が変化していた表示部位のうち右端の表示部位)は、非表示に戻る。ここで、保留記憶表示を行う際に、可変表示ゲームの始動条件が成立したことに基づく特図保留記憶数は特定できたものの、その始動条件が第1始動条件であるか第2始動条件であるかを特定できない場合に、例えば特図保留記憶数に対応する個数の表示部位を灰色表示に変化させることなどにより、特図保留記憶数の表示態様を所定の表示態様に変更してもよい。
なお、始動入賞記憶表示部5Hでは、特図保留記憶数を示す数字を表示することなどにより、特図保留記憶数を遊技者等が認識できるようにしてもよい。始動入賞記憶表示部5Hとともに、あるいは始動入賞記憶表示部5Hに代えて、特図保留記憶数を表示する表示器を設けるようにしてもよい。図1に示す例では、始動入賞記憶表示部5Hとともに、第1特別図柄表示装置4A及び第2特別図柄表示装置4Bの上部に、特図保留記憶数を特定可能に表示するための第1保留表示器25Aと第2保留表示器25Bとが設けられている。第1保留表示器25Aは、普通入賞球装置6Aが形成する第1始動入賞口に進入した有効始動入賞球数としての第1保留記憶数を特定可能に表示する。第2保留表示器25Bは、普通可変入賞球装置6Bが形成する第2始動入賞口に進入した有効始動入賞球数としての第2保留記憶数を特定可能に表示する。第1保留表示器25Aと第2保留表示器25Bはそれぞれ、例えば第1保留記憶数と第2保留記憶数のそれぞれにおける上限値(例えば「4」)に対応した個数(例えば4個)のLEDを含んで構成されている。
画像表示装置5の表示領域には、飾り図柄とは異なる識別情報としての色図柄を可変表示する色図柄表示部が設けられていてもよい。一例として、色図柄表示部には、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームが開始されるときに、色図柄の変動(例えば表示色の更新表示)が開始される「左」の色図柄表示部と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームが開始されるときに、色図柄の変動が開始される「右」の色図柄表示部とが含まれていればよい。そして、特図ゲームにおいて可変表示結果となる確定特別図柄が完全停止表示されるときには、色図柄の変動が終了して、色図柄の可変表示結果となる確定色図柄が完全停止表示される。「左」及び「右」の色図柄表示部にて可変表示される色図柄には、例えば4種類の図柄(「黄色」、「緑色」、「赤色」、「青色」など)といった、複数種類の色図柄が含まれていればよい。色図柄のそれぞれには、対応する図柄番号が付されている。一例として、「黄色」、「緑色」、「赤色」、「青色」の色図柄それぞれに対して、「1」〜「4」の図柄番号が付されていればよい。
画像表示装置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に示す例では、遊技領域の左側方)には、普通図柄表示器20が設けられている。一例として、普通図柄表示器20は、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bと同様に7セグメントやドットマトリクスのLED等から構成され、特別図柄とは異なる複数種類の識別情報である普通図柄(「普図」あるいは「普通図」ともいう)を変動可能に表示(可変表示)する。このような普通図柄の可変表示は、普図ゲーム(「普通図ゲーム」ともいう)と称される。普通図柄表示器20は、例えば「0」〜「9」を示す数字や「−」を示す記号等から構成される複数種類の普通図柄を可変表示する。複数種類の普通図柄には、それぞれに対応した図柄番号が付されている。一例として、「0」〜「9」を示す数字それぞれには、「0」〜「9」の図柄番号が付され、「−」を示す記号には、「10」の図柄番号が付されていればよい。なお、普通図柄表示器20は、「0」〜「9」を示す数字や「−」を示す記号等を普通図柄として可変表示するものに限定されず、例えば「○」と「×」とを示す装飾ランプ(又はLED)を交互に点灯させることや、「左」、「中」、「右」といった複数の装飾ランプ(又はLED)を所定順序で点灯させることにより、普通図柄を可変表示するものであってもよい。普通図柄表示器20の上方には、普図保留表示器25Cが設けられている。普図保留表示器25Cは、例えば4個のLEDを含んで構成され、通過ゲート41を通過した有効通過球数としての普図保留記憶数を表示する。
遊技盤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」である飾り図柄は、確変図柄と称される。そして、特図ゲームにおける確定特別図柄が確変大当り図柄となることに対応して、リーチ演出が実行された後に、確変大当り組合せの確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「第1確変」の可変表示態様(大当り種別ともいう)と称される。こうして「第1確変」の可変表示態様により可変表示結果が「大当り」となった後には、15ラウンド大当り状態に制御され、その15ラウンド大当り状態が終了すると、確変状態に制御されることになる。
特図ゲームにおける確定特別図柄として、15ラウンド大当り図柄となる特別図柄のうち確変大当り図柄である「7」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、可変表示態様が「通常」である場合とは異なるリーチ演出が実行された後に、所定の確変大当り組合せとなる確定飾り図柄が停止表示されることがある。このように特図ゲームにおける確定特別図柄が確変大当り図柄となることに対応して、飾り図柄の可変表示態様が「通常」である場合とは異なるリーチ演出が実行された後に、確変大当り組合せの確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「第2確変」の可変表示態様(大当り種別ともいう)と称される。こうして「第2確変」の可変表示態様により可変表示結果が「大当り」となった後には、15ラウンド大当り状態に制御され、その15ラウンド大当り状態が終了すると、確変状態に制御されることになる。
特図ゲームにおける確定特別図柄として、15ラウンド大当り図柄となる特別図柄のうち確変大当り図柄である「7」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、飾り図柄の可変表示態様が「通常」である場合と同様のリーチ演出が実行された後に、通常大当り組合せの確定飾り図柄が停止表示されることがある。このように特図ゲームにおける確定特別図柄が確変大当り図柄となることに対応して、飾り図柄の可変表示態様が「通常」である場合と同様のリーチ演出が実行された後に、通常大当り組合せの確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「第3確変」の可変表示態様(大当り種別ともいう)と称される。こうして「第3確変」の可変表示態様により可変表示結果が「大当り」となった後には、15ラウンド大当り状態に制御され、その15ラウンド大当り状態が終了すると、確変状態に制御されることになる。
このように、可変表示結果が「大当り」となるときの大当り種別が「第1確変」や「第2確変」である場合には、飾り図柄の可変表示にて確変大当り組合せとなる確定飾り図柄が停止表示されることで、15ラウンド大当り状態に制御された後に確変状態となることが確定する。その一方で、可変表示結果が「大当り」となるときの大当り種別が「第3確変」である場合には、大当り種別が「通常」となる場合と同様に、飾り図柄の可変表示にて通常大当り組合せとなる確定飾り図柄が停止表示される。そのため、大当り種別が「第3確変」である場合には、確変状態となるか否かを、飾り図柄の可変表示結果からは遊技者が認識することはできない。すなわち、確変大当り組合せとなる確定飾り図柄は、大当り遊技状態に制御されることが確定する特定表示結果に含まれるとともに、確変状態に制御されることが確定する特別表示結果に含まれる。その一方で、通常大当り組合せとなる確定飾り図柄は、確変状態に制御されることが確定しない特別表示結果以外の特定表示結果(非特別表示結果)に含まれる。
特図ゲームにおける確定特別図柄として、2ラウンド大当り図柄となる「1」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態とならずに、所定の非リーチ組合せとなる確定飾り図柄が停止表示されることや、複数種類の発展チャンス目のいずれかとなる確定飾り図柄が停止表示されること、あるいは、複数種類の突確チャンス目として予め定められた飾り図柄の組合せのいずれかとなる確定飾り図柄が停止表示されることがある。また、特図ゲームにおける確定特別図柄として、2ラウンド大当り図柄となる「1」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示状態がリーチ状態となったことに対応して、所定のリーチ演出が実行された後に、所定のリーチハズレ組合せとなる確定飾り図柄が停止表示されることがある。このように特図ゲームにおける確定特別図柄が2ラウンド大当り図柄である「1」の数字を示す特別図柄となることに対応して、各種の確定飾り図柄が停止表示される飾り図柄の可変表示態様は、可変表示結果が「大当り」となる場合における「突確」(「突確大当り」あるいは「突然確変大当り」ともいう)の可変表示態様(大当り種別ともいう)と称される。こうして「突確」の可変表示態様により可変表示結果が「大当り」となった後には、2ラウンド大当り状態に制御され、その2ラウンド大当り状態が終了すると、確変状態に制御されることになる。
特図ゲームにおける確定特別図柄として、小当り図柄となる「5」の数字を示す特別図柄が停止表示される場合には、飾り図柄の可変表示態様が「突確」である場合と同様にして飾り図柄の可変表示が行われた後、所定の非リーチ組合せとなる確定飾り図柄が停止表示されることや、複数種類の発展チャンス目のいずれかとなる確定飾り図柄が停止表示されること、あるいは、所定のリーチハズレ組合せとなる確定飾り図柄が停止表示されることがある。このように特図ゲームにおける確定特別図柄が小当り図柄である「5」の数字を示す特別図柄となることに対応して、各種の確定飾り図柄が停止表示される飾り図柄の可変表示態様は、「小当り」の可変表示態様(小当り種別ともいう)と称される。ここで、複数種類の突確チャンス目のいずれかとなる確定飾り図柄は、飾り図柄の可変表示態様が「突確」となる場合に限り停止表示され、可変表示態様が「小当り」となる場合などには確定飾り図柄として停止表示されない。すなわち、飾り図柄の可変表示にて突確チャンス目となる確定飾り図柄が停止表示された場合には、「突確」の可変表示態様により可変表示結果が「大当り」となることが確定する。可変表示結果が「小当り」となった後には、2ラウンド大当り状態と同様の可変入賞動作が行われる小当り遊技状態に制御され、その小当り遊技状態が終了すると、遊技状態が変更されないことから、可変表示結果が「小当り」となる以前の遊技状態が継続する。なお、可変表示結果が「小当り」となる可変表示ゲームに対応して、確変状態や時短状態を終了する旨の判定がなされた場合には、小当り遊技状態の終了後に、通常状態へと制御されることになる。
可変表示結果が「大当り」となるときの大当り種別が「通常」、「第1確変」、「第3確変」のいずれかである場合には、飾り図柄の可変表示中に、特定変動表示としての変動中昇格演出が実行されることがある。変動中昇格演出では、画像表示装置5における「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rの有効ライン上に通常大当り組合せとなる飾り図柄を仮停止表示させた後に、例えば「左」、「中」、「右」の各飾り図柄表示部5L、5C、5Rにて同一の飾り図柄が揃った状態で再び変動させ、確変大当り組合せとなる飾り図柄と、通常大当り組合せとなる飾り図柄のうちいずれかを、確定飾り図柄として停止表示(最終停止表示)させる。ここで、飾り図柄の可変表示態様が「通常」や「第3確変」であることに対応して変動中昇格演出が実行される場合には、その変動中昇格演出として、仮停止表示させた飾り図柄を再変動させた後に通常大当り組合せとなる確定飾り図柄を停止表示する変動中昇格失敗演出が行われる。これに対して、可変表示態様が「第1確変」であることに対応して変動中昇格演出が実行される場合には、その変動中昇格演出として、仮停止表示させた飾り図柄を再変動させた後に確変大当り組合せとなる確定飾り図柄を停止表示する変動中昇格成功演出が行われる。
可変表示結果が「大当り」となるときの大当り種別が「通常」と「第3確変」のいずれかである場合には、可変表示結果が停止表示されてから、15ラウンド大当り状態に制御された後、その15ラウンド大当り状態が終了するまでの期間にて、確変状態に制御するか否かの報知演出としての大当り中昇格演出が実行される。ここで、大当り中昇格演出が実行されるタイミングは、可変表示結果が停止表示されてから、15ラウンド大当り状態における最初のラウンドが開始される以前の期間であってもよいし、15ラウンド大当り状態においていずれかのラウンドが実行中の期間であってもよいし、15ラウンド大当り状態においていずれかのラウンドが終了してから次のラウンドが開始されるまでの期間であってもよいし、15ラウンド大当り状態において最終のラウンドが終了してから、次の可変表示ゲームが開始されるまでの期間であってもよい。あるいは、15ラウンド大当り状態の終了後における最初の特別図柄や飾り図柄の変動中に、大当り中昇格演出に相当する演出動作が行われるようにしてもよい。15ラウンド大当り状態において最終のラウンドが終了してから実行される大当り中昇格演出を、特に「エンディング昇格演出」ということもある。
大当り中昇格演出には、確定飾り図柄が通常大当り組合せであるにもかかわらず遊技状態が確変状態となる昇格がある旨を報知する大当り中昇格成功演出と、確変状態となる昇格がない旨を報知する大当り中昇格失敗演出とがある。一例として、大当り中昇格演出では、画像表示装置5の表示領域にて飾り図柄を可変表示させ、通常図柄と、確変図柄のうちいずれかを、演出表示結果として停止表示させる。このとき、大当り中昇格失敗演出では通常図柄を演出表示結果として停止表示させる一方、大当り中昇格成功演出では確変図柄を演出表示結果として停止表示させればよい。他の一例として、大当り中昇格演出では、画像表示装置5の表示領域にて飾り図柄とは異なる所定の演出画像が表示されてもよい。例えば、大当り中昇格演出として、ルーレットゲームを示す演出画像の表示を行う。このとき、大当り中昇格失敗演出では回転するルーレットに投入されたボールが「偶数」に入って「残念!」という演出画像の表示を行う一方、大当り中昇格成功演出では回転するルーレットに投入されたボールが「奇数」に入って「確変!」という演出画像の表示を行う。特図ゲームにおける確定特別図柄として「7」の数字を示す特別図柄が停止表示されることに対応して、「第3確変」の大当り種別により可変表示結果が「大当り」となった後には、大当り中昇格成功演出を実行することにより、確変状態となる昇格がある旨を報知する。特図ゲームにおける確定特別図柄として「3」の数字を示す特別図柄が停止表示されることに対応して、「通常」の大当りにより可変表示結果が「大当り」となった後には、例えば大当り中昇格失敗演出が実行される一方で、大当り中昇格成功演出は実行されず、確変状態となる昇格がある旨の報知が行われない。
パチンコ遊技機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において用いられる所定電圧(一例としてVLP)が所定値(一例として+20V)以下になった期間が、予め決められている時間(一例として56ミリ秒)以上継続したときに、電源断信号を出力する。あるいは、電源監視回路303は、パチンコ遊技機1において用いられる所定電圧が所定値以下になると、直ちに電源断信号を出力するようにしてもよい。電源断信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。電源監視回路303から出力された電源断信号は、例えば電源基板10に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、払出制御基板15へと伝送され、払出制御基板15から主基板11へと伝送される。なお、外部からパチンコ遊技機1に供給される電力の供給停止を検出するための条件としては、パチンコ遊技機1において用いられる所定電圧が所定値以下になったことに限られず、外部からの電力が途絶えたことを検出できる任意の条件であればよい。例えば、AC24V等の交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をデジタル化した信号を監視して、デジタル信号が平坦になったことをもって交流波が途絶えたことの検出条件としてもよい。
また、電源監視回路303は、例えば所定電圧(一例としてVCC)が所定値(一例として+5V強)以下になったときに、リセット信号を出力してもよい。リセット信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。電源監視回路303から出力されたリセット信号は、例えば電源基板10に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、主基板11、ランプ制御基板14及び払出制御基板15へと伝送される。なお、演出制御基板12には、ランプ制御基板14を経由してリセット信号が伝送されればよい。さらに、リセット信号を出力する回路は、電源監視回路303とは別個に設けられたウォッチドッグタイマ内蔵IC、あるいはシステムリセットICなどを用いて構成されてもよい。
パチンコ遊技機1への電力供給が停止するときには、電源監視回路303が、電源断信号を出力(ローレベルに設定)してから所定期間が経過したときに、リセット信号を出力(ローレベルに設定)する。ここでの所定期間は、例えば図2に示す主基板11に搭載されている遊技制御用マイクロコンピュータ100及び払出制御基板15に搭載されている払出制御用マイクロコンピュータ150が、所定の電源断処理を実行するのに十分な時間であればよい。すなわち、電源監視回路303は、停電信号としての電源断信号を出力した後、遊技制御用マイクロコンピュータ100及び払出制御用マイクロコンピュータ150が所定の電源断処理を実行完了してから、動作停止信号としてのリセット信号を出力(ローレベルに設定)する。電源監視回路303から出力されたリセット信号を受信した遊技制御用マイクロコンピュータ100や払出制御用マイクロコンピュータ150は、動作停止状態となり、各種の制御処理の実行が停止される。また、パチンコ遊技機1への電力供給が開始され、例えば所定電圧(一例としてVCC)が所定値(一例として+5V強)を超えたときに、電源監視回路303はリセット信号の出力を停止(ハイレベルに設定)する。
図4は、パチンコ遊技機1への電力供給が開始されたとき、及び電力供給が停止するときにおける、AC24V、VLP、VCC、リセット信号及び電源断信号の状態を、模式的に示すタイミング図である。図4に示すように、パチンコ遊技機1への電力供給が開始されたときに、VLP及びVCCは徐々に規定値(直流+24V及び直流+5V)に達する。このとき、VLPが第1の所定値を超えると、電源監視回路303は電源断信号の出力を停止(ハイレベルに設定)してオフ状態とする。また、VCCが第2の所定値を超えると、電源監視回路303はリセット信号の出力を停止(ハイレベルに設定)してオフ状態とする。他方、パチンコ遊技機1への電力供給が停止するときに、VLP及びVCCは徐々に低下する。このとき、VLPが第1の所定値にまで低下すると、電源監視回路303は電源断信号をオン状態として出力(ローレベルに設定)する。また、VCCが第2の所定値にまで低下すると、電源監視回路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は、例えば図7に示すような遊技制御用マイクロコンピュータ100の制御用外部クロック端子EXCを介してクロック回路502に供給される。乱数用クロック生成回路112は、遊技制御用マイクロコンピュータ100の外部にて、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する。乱数用クロック生成回路112により生成された乱数用クロックRCLKは、例えば図7に示すような遊技制御用マイクロコンピュータ100の乱数用外部クロック端子ERCを介して乱数回路509に供給される。一例として、乱数用クロック生成回路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(図7参照)によって送信設定が行われ、その設定に基づいて遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511(図7参照)の第2チャネル送信回路571B(図25参照)により、演出制御基板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)に示すように、可変表示結果が「ハズレ」、「大当り」、「小当り」のいずれとなるかの事前判定結果、また、可変表示結果が「大当り」となる場合における大当り種別が「通常」、「第1確変」〜「第3確変」、「突確」のいずれとなるかの大当り種別決定結果に対応して、異なるEXTデータが設定される。より具体的には、コマンド8C00Hは、可変表示結果が「ハズレ」となる旨の事前判定結果を示す第1可変表示結果通知コマンドである。コマンド8C01Hは、可変表示結果が「大当り」となる場合における大当り種別が「通常」となる旨の事前判定結果及び大当り種別決定結果を示す第2可変表示結果通知コマンドである。コマンド8C02Hは、可変表示結果が「大当り」となる場合における大当り種別が「第1確変」となる旨の事前判定結果及び大当り種別決定結果を示す第3可変表示結果通知コマンドである。コマンド8C03Hは、可変表示結果が「大当り」となる場合における大当り種別が「第2確変」となる旨の事前判定結果及び大当り種別決定結果を示す第4可変表示結果通知コマンドである。コマンド8C04Hは、可変表示結果が「大当り」となる場合における大当り種別が「第3確変」となる旨の事前判定結果及び大当り種別決定結果を示す第5可変表示結果通知コマンドである。コマンド8C05Hは、可変表示結果が「大当り」となる場合における大当り種別が「突確」となる旨の決定結果を示す第6可変表示結果通知コマンドである。コマンド8C06Hは、可変表示結果が「小当り」となる旨の決定結果を示す第7可変表示結果通知コマンドである。
この実施の形態では、変動パターン指定コマンドと可変表示結果通知コマンドとを、互いに別個の演出制御コマンドとして用意している。これに対して、変動パターン指定コマンドに示される変動パターンと、可変表示結果通知コマンドに示される可変表示結果とを、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に対して送信される。保留記憶数通知コマンドでは、例えば図45に示す第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(図7参照)によって払出制御コマンドを送信するための設定が行われ、その設定に基づいて遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511(図7参照)の第1チャネル送受信回路571A(図25参照)により払出制御基板15に対して送信されるものである。以下の説明では、主基板11から払出制御基板15に対する払出制御コマンドの送信動作に、こうした遊技制御用マイクロコンピュータ100に設けられたCPU505やシリアル通信回路511による一連の動作が含まれているものとする。また、払出制御基板15から主基板11に対しては、例えば電気信号としての払出通知コマンドなどが送信される。なお、払出通知コマンドは、払出制御基板15に搭載された払出制御用マイクロコンピュータ150が備えるCPUによって払出通知コマンドを送信するための設定が行われ、その設定に基づいて払出制御用マイクロコンピュータ150が備えるシリアル通信回路により主基板11に対して送信されるものである。以下の説明では、払出制御基板15から主基板11に対する払出通知コマンドの送信動作に、こうした払出制御用マイクロコンピュータ150に設けられたCPUやシリアル通信回路による一連の動作が含まれているものとする。加えて、以下の説明では、主基板11及び払出制御基板15のいずれか一方から他方に対する所定動作の指令だけでなく、一方での動作状態を他方に通知する通知信号も、払出制御コマンドや払出通知コマンドに含まれるものとする。
図6は、主基板11と払出制御基板15との間で送受信されるコマンド構成の一例を示す説明図である。図6(A)に示すように、主基板11から払出制御基板15に対して送信される払出制御コマンドと、払出制御基板15から主基板11に対して送信される払出通知コマンドは、いずれも2バイト構成であり、1バイト目を反転させることで2バイト目となるように構成されている。そして、各バイトの先頭ビット(ビット番号[7])をヘッダとして、そのヘッダを異ならせることにより、1バイト目と2バイト目の区別を可能にしている。例えば、1バイト目におけるヘッダは“0”の固定値に設定されている一方で、2バイト目におけるヘッダは“1”の固定値に設定されている。
主基板11から払出制御基板15に対して送信される払出制御コマンドには、払出数指定コマンドやACKフィードバックコマンドが含まれている。払出数指定コマンドは、払い出すべき賞球の数を示すコマンドであり、例えば図6(B)に示すようなビット値で構成されている。ここで、払出数指定コマンドにおける1バイト目及び2バイト目のビット番号[3−0]は、払い出すべき賞球の個数に応じて設定される値であればよい。図6(C)には、この実施の形態で用いられる払出数指定コマンドが16進数表示で示されている。図6(C)に示すコマンドE31CHは、払い出すべき賞球個数が13個であることを示す第1払出数指定コマンドである。コマンドED12Hは、払い出すべき賞球個数が3個であることを示す第2払出数指定コマンドである。この実施の形態では、第1始動口スイッチ22A及び第2始動口スイッチ22Bのいずれかで遊技球が検出されると3個の賞球払出を行い、カウントスイッチ23で遊技球が検出されると13個の賞球払出を行う。
図6(C)に示すコマンドF00FHは、払出制御基板15から主基板11に対して送信された賞球ACKコマンドを主基板11の側で受信したことを示す受信確認受付信号となるACKフィードバックコマンドである。
図6(D)は、払出制御基板15から主基板11に対して送信される払出通知コマンドの構成例を示す説明図である。払出通知コマンドには、賞球ACKコマンド、払出エラー通知コマンド、払出エラー解除コマンドが含まれている。図6(D)に示すコマンドA0F5Hは、主基板11から払出制御基板15に対して送信された払出数指定コマンドを払出制御基板15の側で受信したことを示す受信確認信号となる賞球ACKコマンドである。コマンドB0F4Hは、払出制御基板15の側において遊技球の払出に関わる異常が発生した旨を主基板11の側に通知するための払出エラー通知コマンドである。コマンドB1E4Hは、払出制御基板15の側で発生したエラーが解除された旨を主基板11の側に通知するための払出エラー解除コマンドである。
なお、主基板11と払出制御基板15との間では、シリアル通信によりコマンドを送受信するものに限定されず、複数本の信号線を用いたパラレル通信によりコマンドを送受信してもよい。また、払出制御コマンドや払出通知コマンドは、2バイト構成のものに限定されず、例えば1バイト構成としてもよい。この場合、払出数指定コマンドにおいて、ビット番号[3−0]が賞球個数を示す払出数指定信号とする点は、図6(B)の構成と同様にする。その一方、ビット番号[7−4]のいずれか1ビットを、払出数指定信号の取り込みを指示する払出数取込信号、あるいは、賞球の払出しを要求する賞球REQ信号として用いる。払出制御基板15から主基板11に対して送信される払出エラー通知コマンドや払出エラー解除コマンドに代えて、払出制御基板15におけるエラーの発生状態を示す払出エラー状態信号を、主基板11に設けられた入力ポートの1つに入力してもよい。例えば、払出エラー状態信号は、払出制御基板15にてエラーが発生したときにオン状態となり、エラーが発生していないときや、エラーが解除されたときにオフ状態となる。この場合、主基板11の側では、タイマ割込みの発生毎に払出エラー状態信号を取り込み、その取込結果を記憶しておく。そして、今回のタイマ割込みで取り込んだ信号状態と、前回のタイマ割込みで取り込んで記憶された信号状態との排他的論理和をとることにより、払出エラー状態信号がオフ状態からオン状態に変化したことや(エラー発生時を示す)、オン状態からオフ状態に変改したことを(エラー解除時を示す)、検出できるようにすればよい。払出制御基板15におけるエラー発生時やエラー解除時には、主基板11から演出制御基板12に向け、各々に対応して用意された演出制御コマンドを伝送することなどにより、払出動作にエラーが発生したことを報知する報知動作の開始や終了を、指示するようにしてもよい。払出エラー状態信号として主基板11に設けられた入力ポートの1つに入力するものに限定されず、例えば満タン信号や球切れ信号、賞球ケースエラー信号、ドア開放信号といった、払出制御基板15に入力される信号を、それぞれ主基板11にも入力して、払出エラー状態信号の場合と同様にエラー発生時やエラー解除時を検出できるようにしてもよい。そして、検出されたエラーの種類に応じた演出制御コマンドを主基板11から演出制御基板12に向けて伝送することなどにより、検出されたエラーに応じた報知動作の開始や終了を、指示するようにしてもよい。
図7は、主基板11に搭載された遊技制御用マイクロコンピュータ100の構成例を示している。図7に示す遊技制御用マイクロコンピュータ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とを備えて構成される。
図8は、遊技制御用マイクロコンピュータ100におけるアドレスマップの一例を示している。図8に示すように、アドレス0000H〜アドレス1FFFHの領域は、ROM506に割り当てられ、ユーザプログラムエリアとプログラム管理エリアとを含んでいる。図9(A)は、ROM506におけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレス2000H〜アドレス20FFHの領域は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図9(B)は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレス7E00H〜アドレス7FFFHの領域は、RAM507に割り当てられたワークエリアであり、I/Oマップやメモリマップに割り付けることができる。アドレスFDD0H〜アドレスFDFBHの領域は、アドレスデコード回路512に割り当てられるXCSデコードエリアである。
プログラム管理エリアは、CPU505がユーザプログラムを実行するために必要な情報を格納する記憶領域である。図9(A)に示すように、プログラム管理エリアには、ヘッダKHDR、機能設定KFCS、第1乱数初期設定KRS1、第2乱数初期設定KRS2、割込み初期設定KIIS、セキュリティ時間設定KSESなどが、含まれている。
プログラム管理エリアに記憶されるヘッダKHDRは、遊技制御用マイクロコンピュータ100における内部データの読出設定を示す。図10(A)は、ヘッダKHDRにおける設定データと動作との対応関係を例示している。ここで、遊技制御用マイクロコンピュータ100では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、遊技制御用マイクロコンピュータ100が備えるROM506の記憶データについて、読出動作を許可又は禁止する機能であり、読出禁止に設定された状態では、ROM506の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置から遊技制御用マイクロコンピュータ100の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図10(A)に示すように、ヘッダKHDRの設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図10(A)に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクが有効となる設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
プログラム管理エリアに記憶される機能設定KFCSは、遊技制御用マイクロコンピュータ100におけるウォッチドッグタイマ(WDT;Watch Dog Timet)の動作設定や、各種機能兼用端子の使用設定を示す。図10(B)は、機能設定KFCSにおける設定内容の一例を示している。
機能設定KFCSのビット番号[7−5]は、例えばリセット/割込みコントローラ504における割込み要因として設定可能なウォッチドッグタイマの動作許可/禁止や、許可した場合の周期を示している。機能設定KFCSのビット番号[4]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第1兼用端子)を、シリアル通信回路511が使用する第2チャネル送信端子TXBとするか、アドレスデコード回路512が使用するチップセレクト出力端子XCS13とするかを指定するTXB端子設定である。図10(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端子設定である。図10(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端子設定である。図10(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接続設定である。図10(B)に示す例において、機能設定KFCSのビット番号[1]におけるビット値が“0”であれば、第4兼用端子がCPU505等に接続される外部ノンマスカブル割込み端子XNMIの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第4兼用端子がPIP510で使用される入力ポートP4の設定となる(CPU非接続)。
機能設定KFCSのビット番号[0]は、遊技制御用マイクロコンピュータ100における所定の機能兼用端子(第5兼用端子)を、CPU505等に接続される外部マスカブル割込み端子XINTとするか、PIP510が使用する入力ポートP3とするかを示すXINT接続設定である。図10(B)に示す例において、機能設定KFCSのビット番号[0]におけるビット値が“0”であれば、第5兼用端子がCPU505等に接続される外部マスカブル割込み端子XINTの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第5兼用端子がPIP510で使用される入力ポートP3の設定となる(CPU非接続)。
プログラム管理エリアに記憶される第1乱数初期設定KRS1及び第2乱数初期設定KRS2は、乱数回路509の初期設定を示す。図11(A)は、第1乱数初期設定KRS1における設定内容の一例を示している。図11(B)は、第2乱数初期設定KRS2における設定内容の一例を示している。
第1乱数初期設定KRS1のビット番号[3]は、乱数回路509を使用するか否かを示す乱数回路使用設定である。図11(A)に示す例において、第1乱数初期設定KRS1のビット番号[3]におけるビット値が“0”であれば、乱数回路509を使用しない設定となる一方(未使用)、“1”であれば、乱数回路509を使用する設定となる(使用)。この実施の形態では、第1乱数初期設定KRS1のビット番号[3]を“1”として、乱数回路509を使用可能に設定する。
第1乱数初期設定KRS1のビット番号[2]は、乱数回路509における乱数値となる数値データの更新に用いられる乱数更新クロックRGK(図15参照)を、内部システムクロックSCLKとするか、乱数用クロックRCLKの2分周とするかを示す乱数更新クロック設定である。図11(A)に示す例において、第1乱数初期設定KRS1のビット番号[2]におけるビット値が“0”であれば、内部システムクロックSCLKを乱数更新クロックRGKに用いる設定となる一方、“1”であれば、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定となる。この実施の形態では、第1乱数初期設定KRS1のビット番号[2]を“1”として、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定とする。
第1乱数初期設定KRS1のビット番号[1−0]は、乱数回路509における乱数更新規則を変更するか否かや、変更する場合における変更方式を示す乱数更新規則設定である。図11(A)に示す例において、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が“00”であれば、乱数更新規則を変更しない設定となり、“01”であれば、2周目以降にて乱数更新規則をソフトウェアにより変更する設定となり、“10”であれば、2周目以降にて乱数更新規則を自動で変更する設定となる。
第2乱数初期設定KRS2のビット番号[3−2]は、固定のビット値“00”が設定される。なお、図11(B)における「00B」の“B”は2進数表示であることを示す。第2乱数初期設定KRS2のビット番号[1−0]は、乱数回路509における乱数値となる数値データでのスタート値に関する設定を示す。図11(B)に示す例において、第2乱数初期設定KRS2のビット番号[1]におけるビット値が“0”であれば、スタート値が所定のデフォルト値0001Hに設定される一方、“1”であるときには、遊技制御用マイクロコンピュータ100ごとに付与された固有の識別情報であるIDナンバーに基づく値がスタート値に設定される。また、図11(B)に示す例では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“0”であれば、システムリセット毎にスタート値を変更しない設定となる一方、“1”であるときには、システムリセット毎にスタート値を変更する設定となる。なお、スタート値をIDナンバーに基づく値に設定する場合には、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値をスタート値に用いるようにすればよい。また、スタート値をシステムリセット毎に変更する場合には、例えば遊技制御用マイクロコンピュータ100に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時に遊技制御用マイクロコンピュータ100が備える所定の内蔵レジスタ(乱数スタート値用レジスタ)に格納する。そして、初期設定時に乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、スタート値がランダムに決定されればよい。フリーランカウンタは、例えば遊技制御用マイクロコンピュータ100のRAM507におけるバックアップ領域といった、主基板11におけるバックアップ箇所と共通のバックアップ電源を用いてバックアップされるものであればよい。あるいは、フリーランカウンタは、RAM507におけるバックアップ領域などに用いられるバックアップ電源とは別個に設けられた電源によりバックアップされてもよい。こうして、フリーランカウンタがパックアップ電源によってバックアップされることで、電力供給が停止した場合でも、所定期間はフリーランカウンタにおけるカウント値が保存されることになる。
なお、乱数回路509にて乱数値となる数値データを生成するための回路が2系統(第1及び第2チャネル対応)設けられる場合には、図11(A)及び(B)に示す第1乱数初期設定KRS1のビット番号[3−0]と第2乱数初期設定KRS2のビット番号[3−0]とを、第1チャネルにおける初期設定を示すものとして使用する。その一方で、第1乱数初期設定KRS1のビット番号[7−4]や第2乱数初期設定KRS2のビット番号[7−4]を(図11(A)及び(B)では省略)、第2チャネルにおける初期設定を示すものとして使用すればよい。
プログラム管理エリアに記憶される割込み初期設定KIISは、遊技制御用マイクロコンピュータ100にて発生するマスカブル割込みの取扱いに関する初期設定を示す。図11(C)は、割込み初期設定KIISにおける設定内容の一例を示している。
割込み初期設定KIISのビット番号[7−4]では、割込みベクタの上位4ビットを設定する。割込み初期設定KIISのビット番号[3−0]では、マスカブル割込み要因の優先度の組合せを設定する。図11(C)に示す例において、割込み初期設定KIISのビット番号[3−0]により「00H」〜「02H」及び「06H」のいずれかが指定されれば、CTC508からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。これに対して、「03H」及び「07H」のいずれかが指定されれば、乱数回路509からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。また、「04H」及び「05H」のいずれかが指定されれば、シリアル通信回路511からのマスカブル割込み要因を最優先とする優先度の組合せが設定される。なお、同一回路からのマスカブル割込み要因を最優先とする優先度の組合せでも、指定値が異なる場合には、最優先となるマスカブル割込み要因の種類や第2順位以下における優先度の組合せなどが異なっている。
プログラム管理エリアに記憶されるセキュリティ時間設定KSESは、乱数用クロックRCLKの周波数を監視する場合に異常を検知する周波数や、遊技制御用マイクロコンピュータ100の動作開始時などに移行するセキュリティモードの時間(セキュリティ時間)に関する設定を示す。ここで、遊技制御用マイクロコンピュータ100の動作モードがセキュリティモードであるときには、所定のセキュリティチェック処理が実行されて、ROM506の記憶内容が変更されたか否かが検査される。図12(A)は、セキュリティ時間設定KSESにおける設定内容の一例を示している。
セキュリティ時間設定KSESのビット番号[7−6]は、乱数用クロックRCLKの周波数を監視する場合に異常が検出される周波数を示す乱数用クロック異常検出設定である。図12(B)は、セキュリティ時間設定KSESのビット番号[7−6]における設定内容の一例を示している。セキュリティ時間設定KSESのビット番号[7−6]は、内部システムクロックSCLKの周波数に基づき、乱数用クロックRCLKの周波数が異常と検知される基準値(判定値)を指定する。セキュリティ時間設定KSESのビット番号「5」は、固定のビット値“0”が設定される。
セキュリティ時間設定KSESのビット番号[4−3]は、セキュリティ時間をシステムリセット毎にランダムな時間分延長する場合の時間設定を示す。図12(C)は、セキュリティ時間設定KSESのビット番号[4−3]における設定内容の一例を示している。図12(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の範囲で延長時間がランダムに決定される。なお、セキュリティ時間を延長する際の延長時間をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタは、乱数回路509にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタと、同一のカウンタであってもよいし、別個に設けられたカウンタであってもよい。
セキュリティ時間設定KSESのビット番号[2−0]は、セキュリティ時間を固定時間に加えて予め選択可能な複数の延長時間のいずれかとする場合の時間設定を示す。図12(D)は、セキュリティ時間設定KSESのビット番号[2−0]における設定内容の一例を示している。図12(D)に示す例において、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”であれば、固定時間に加える延長時間がなく延長しない設定となる。これに対して、そのビット値が“000”以外の値であれば、内部システムクロックSCLKの周期TSCLKを用いて定められる複数の延長時間のいずれかに設定される。この場合には、指定されたビット値に応じて、異なる延長時間の設定となる。一例として、内部システムクロックSCLKの周波数が6.0MHzである場合に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“001”であれば、固定時間に加えて約699.1ms(ミリ秒)の延長時間が設定される。また、他の一例として、内部システムクロックSCLKの周波数が10.0MHzである場合に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“001”であれば、固定時間に加えて約419.4msの延長時間が設定される。
また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値によりショートモード又はロングモードを設定するとともに、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外とすることにより固定時間に加える延長時間を設定することもできる。この場合には、ビット番号[2−0]におけるビット値に対応した延長時間と、ビット番号[4−3]におけるビット値に基づいてランダムに決定された延長時間との双方が、固定時間に加算されて、遊技制御用マイクロコンピュータ100がセキュリティモードとなるセキュリティ時間が決定されることになる。
図7に示す遊技制御用マイクロコンピュータ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は、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、割込みマスクレジスタIMR(アドレス2028H)、割込み待ちモニタレジスタIRR(アドレス2029H)、割込み中モニタレジスタISR(アドレス202AH)、内部情報レジスタCIF(アドレス208CH)などを用いて、割込みの制御やリセットの管理を行う。割込みマスクレジスタIMRは、互いに異なる複数の要因によるマスカブル割込みINTのうち、使用するものと使用しないものとを設定するレジスタである。割込み待ちモニタレジスタIRRは、割込み初期設定KIISにより設定されたマスカブル割込み要因のそれぞれについて、マスカブル割込み要求信号の発生状態を確認するレジスタである。割込み中モニタレジスタISRは、割込み初期設定KIISにより設定されたマスカブル割込み要因のそれぞれについて、マスカブル割込み要求信号の処理状態を確認するレジスタである。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数用クロックRCLKの周波数異常を記録したりするためのレジスタである。
図13(A)は、内部情報レジスタCIFの構成例を示している。図13(B)は、内部情報レジスタCIFに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4は、乱数用クロックRCLKにおける周波数異常の有無を示す乱数用クロック異常指示である。図13(B)に示す例では、乱数用クロックRCLKの周波数異常が検知されないときに、内部情報データCIF4のビット値が“0”となる一方、周波数異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[2]に格納される内部情報データCIF2は、直前に発生したリセット要因がシステムリセットであるか否かを示すシステムリセット指示である。図13(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データCIF2のビット値が“0”となる一方、システムリセットであるときには(システムリセット発生)、そのビット値が“1”となる。内部情報データCIF2を用いた動作の第1例として、電源投入時に遊技制御用マイクロコンピュータ100のCPU505などが内部情報データCIF2のビット値をチェックして、そのビット値が“1”(セット)でなければ、通常の電源投入ではないと判断する。このときには、例えば演出制御基板12に向けて所定の演出制御コマンドを伝送させることなどにより、パチンコ遊技機1における電源投入直後に大当り遊技状態とすることを狙った不正信号の入力行為が行われた可能性がある旨を、演出装置などにより報知させてもよい。また、内部情報データCIF2を用いた動作の第2例として、パチンコ遊技機1が電源投入時にのみ確変状態を報知し、通常時には確変状態を報知しない場合に、電源投入時に遊技制御用マイクロコンピュータ100のCPU505などが内部情報データCIF2のビット値をチェックして、そのビット値が“1”(セット)でなければ、遊技状態の報知を行わないようにしてもよい。
内部情報レジスタCIFのビット番号[1]に格納される内部情報データCIF1は、直前に発生したリセット要因がウォッチドッグタイマ(WDT)のタイムアウトによるユーザリセットであるか否かを示すWDTタイムアウト指示である。図13(B)に示す例では、直前のリセット要因がウォッチドッグタイマのタイムアウトによるユーザリセットではないときに(タイムアウト未発生)、内部情報データCIF1のビット値が“0”となる一方、ウォッチドッグタイマのタイムアウトによるユーザリセットであるときに(タイムアウト発生)、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[0]に格納される内部情報データCIF0は、直前に発生したリセット要因が指定エリア外走行禁止(IAT)によるユーザリセットであるか否かを示すIAT発生指示である。図13(B)に示す例では、直前のリセット要因が指定エリア外走行の発生によるユーザリセットではないときに(IAT発生なし)、内部情報データCIF0のビット値が“0”となる一方、指定エリア外走行の発生によるユーザリセットであるときに(IAT発生あり)、そのビット値が“1”となる。
遊技制御用マイクロコンピュータ100が備えるCPU505は、ROM506から読み出したプログラムを実行することにより、パチンコ遊技機1における遊技の進行を制御するための処理などを実行する。このときには、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は、セキュリティ時間を延長する際の延長時間(可変設定時間)をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタや、乱数回路509にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタなどを、含んでもよい。あるいは、これらのフリーランカウンタは、例えばRAM507のバックアップ領域といった、CTC508とは異なる遊技制御用マイクロコンピュータ100の内部回路に含まれてもよい。
遊技制御用マイクロコンピュータ100が備える乱数回路509は、例えば16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。この実施の形態では、主基板11の側において、例えば図14に示すような特図表示結果判定用の乱数値MR1、大当り種別決定用の乱数値MR2、リーチ判定用の乱数値MR3、変動パターン種別決定用の乱数値MR4、変動パターン決定用の乱数値MR5、加算値決定用の乱数値MR6のそれぞれを示す数値データが、カウント可能に制御される。なお、遊技効果を高めるために、これら以外の乱数値が用いられてもよい。CPU505は、乱数回路509から抽出した数値データに基づき、例えば図45に示す遊技制御カウンタ設定部594に設けられたランダムカウンタといった、乱数回路509とは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工あるいは更新することで、乱数値MR1〜MR6の全部又は一部を示す数値データをカウントするようにしてもよい。あるいは、CPU505は、乱数回路509を用いることなく、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタのみを用いて、ソフトウェアによって乱数値MR1〜MR6を示す数値データをカウント(更新)するようにしてもよい。以下では、一例として、特図表示結果判定用の乱数値MR1を示す数値データと、加算値決定用の乱数値MR6を示す数値データとが、ハードウェアとなる乱数回路509からCPU505により抽出された数値データを、ソフトウェアにより加工することで更新され、それ以外の乱数値MR2〜MR5を示す数値データは、CPU505がランダムカウンタなどを用いてソフトウェアにより更新するものとする。なお、乱数回路509は、遊技制御用マイクロコンピュータ100に内蔵されるものであってもよいし、遊技制御用マイクロコンピュータ100とは異なる乱数回路チップとして、遊技制御用マイクロコンピュータ100に外付けされるものであってもよい。
図14に示す乱数値MR1〜MR6のうち、乱数値MR3〜MR5については、加算値や加算判定値、最大判定値が定められている。加算値は、1回のタイマ割込みなどに対応して各乱数値に加算する値であり、その値は乱数値を更新するための乱数更新処理が実行されるごとに異ならせることができる。例えば、加算値は、加算値決定用の乱数値MR6などに基づいて求められるものであり、一時的な変数として加算値を記憶するための領域がRAM507などに設けられていればよい。加算判定値は、加算値決定用の乱数値MR6との比較により、各乱数値に対応した加算値を取得するために用いられる値である。より具体的には、加算値決定用の乱数値MR6が各乱数値に対応した加算値の初期値として読み出された後、現在の加算値が加算判定値よりも小さくなったと判定されるまで、現在の加算値から加算判定値を減算した値を、新たな加算値として更新していく。乱数判定値は、最終的に求められた加算値を加算したことによる更新後の各乱数値が取り得る値の範囲内であるかを判定するために用いられる値である。そして、更新後の各乱数値が対応する乱数判定値を超えているときには、更新後の乱数値から乱数判定値を減算した値が、新たな乱数値として設定される。なお、この実施の形態において、乱数値MR2を示す数値データは、遊技制御用マイクロコンピュータ100にてタイマ割込みが発生する毎に、1ずつ加算するように更新されるものとする。
特図表示結果判定用の乱数値MR1は、特図ゲームにおける特別図柄などの可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、判定するために用いられる乱数値である。例えば、特図表示結果判定用の乱数値MR1は、「0」〜「65535」の範囲の値をとる。大当り種別決定用の乱数値MR2は、可変表示結果を「大当り」とする場合に、大当り種別を複数種類のいずれかに決定するために用いられる乱数値である。例えば、大当り種別決定用の乱数値MR2は、「0」〜「99」の範囲の値をとる。
リーチ判定用の乱数値MR3は、可変表示結果を「ハズレ」とする場合に、飾り図柄をリーチ表示状態で導出表示する「リーチ」の可変表示態様とするか否かを判定するために用いられる乱数値である。例えば、リーチ判定用の乱数値MR3は、「0」〜「239」の範囲の値をとる。また、リーチ判定用の乱数値MR3に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「240」に定められている。
変動パターン種別決定用の乱数値MR4は、飾り図柄の変動パターン種別を、予め用意された複数種類のいずれかに決定するために用いられる乱数値である。例えば、変動パターン種別決定用の乱数値MR4は、「0」〜「241」の範囲の値をとる。ここで、各変動パターン種別は、例えば飾り図柄の可変表示中に実行される演出動作などに基づいて分類された1つ又は複数の変動パターンを含むように構成されたものであればよい。なお、複数の変動パターン種別のうちには、共通の変動パターンを一部に含んで構成されたものがあってもよく、一方の変動パターン種別に含まれる変動パターンの全部が、他方の変動パターン種別にも含まれるように構成されたものがあってもよい。一例として、各変動パターン種別は、リーチ演出の有無や、リーチ演出がある場合の演出態様などに応じて分類した変動パターンにより構成されてもよい。また、リーチ変動パターンや大当り変動パターンについて、「擬似連」の特定演出が実行されるか否かや、実行される場合における擬似連続変動の実行回数(初回変動を除く)などに応じて分類した変動パターンにより構成してもよい。変動パターン種別決定用の乱数値MR4に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「242」に定められている。
変動パターン決定用の乱数値MR5は、飾り図柄の変動パターンを、予め用意された複数種類のいずれかに決定するために用いられる乱数値である。例えば、変動パターン決定用の乱数値MR5は、「0」〜「255」の範囲の値をとる。また、変動パターン決定用の乱数値MR5に対応して、加算値の範囲が「0」〜「7」、加算判定値が「8」、最大判定値が「256」に定められている。
加算値決定用の乱数値MR6は、各乱数値に対応した加算判定値と比較されることなどにより、各乱数値に対応した加算値を取得するために用いられる値である。例えば、加算値決定用の乱数値MR6は、「0」〜「7」の範囲の値をとる。
図15は、乱数回路509の一構成例を示すブロック図である。乱数回路509は、図15に示すように、周波数監視回路551、クロック用フリップフロップ552、乱数生成回路553、スタート値設定回路554、乱数列変更回路555、乱数列変更設定回路556、ラッチ用フリップフロップ557A、557B、乱数ラッチセレクタ558A、558B、乱数値レジスタ559A、559Bを備えて構成される。なお、乱数値レジスタ559Aと乱数値レジスタ559Bはそれぞれ、図9(B)に示すような遊技制御用マイクロコンピュータ100の内蔵レジスタに含まれる乱数値レジスタR1D(アドレス2038H−2039H)と乱数値レジスタR2D(アドレス203AH−203BH)に対応している。
周波数監視回路551は、乱数用クロック生成回路112により生成された乱数用クロックRCLKの周波数を監視して、その異常発生を検知するための回路である。周波数監視回路551は、例えば乱数用外部クロック端子ERCに入力される発振信号を監視して、内部システムクロックSCLKに基づきセキュリティ時間設定KSESのビット番号[7−6]における設定内容(図12(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]におけるビット値(図11(B)参照)に応じて、乱数生成回路553により生成されるカウント値におけるスタート値を設定する。例えば、スタート値設定回路554は、第2乱数初期設定KRS2のビット番号[1−0]が“00”であればスタート値をデフォルト値である「0000H」に設定し、“10”であればIDナンバーに基づく値に設定し、“01”であればシステムリセット毎に変更される値に設定する。
乱数列変更回路555は、乱数生成回路553により生成された数値データが一巡したときに、数値データの更新順である順列を所定の乱数更新規則に従った順列に変更可能とする回路である。例えば、乱数列変更回路555は、乱数生成回路553から出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する。また、乱数列変更回路555は、例えばビットスクランブル処理に用いるビットスクランブル用キーやビットスクランブルテーブルを変更することなどにより、数値データの更新順である順列の変更を行うことができる。
乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値(図11(A)参照)などに応じて、乱数列変更回路555における数値データの更新順を変更する設定を行うための回路である。例えば、乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“00”であれば2周目以降も乱数更新規則を変更しない設定とする一方、“01”であれば2周目以降はソフトウェアでの変更要求に応じて乱数更新規則を変更し、“10”であれば自動で乱数更新規則を変更する。
乱数列変更回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応してソフトウェアによる乱数更新規則の変更を行う場合に、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数列変更レジスタRDSC(アドレス2034H)を用いて、乱数更新規則の変更を制御する。図16(A)は、乱数列変更レジスタRDSCの構成例を示している。図16(B)は、乱数列変更レジスタRDSCに格納される乱数列変更要求データの各ビットにおける設定内容の一例を示している。乱数列変更レジスタRDSCのビット番号[0]に格納される乱数列変更要求データRDSC0は、乱数更新規則をソフトウェアにより変更する場合に、乱数列の変更要求の有無を示している。図16(B)に示す例では、ソフトウェアにより乱数列の変更要求がないときに、乱数列変更要求データRDSC0のビット値が“0”となる一方、乱数列の変更要求があったときには、そのビット値が“1”となる。
図17は、乱数更新規則をソフトウェアにより変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたときに、乱数列変更要求データRDSC0が“1”であることに応答して、乱数更新規則を変更する。図17に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。この後、CPU505がROM506に格納されたユーザプログラムを実行することによって、所定のタイミングで乱数列変更レジスタRDSCのビット番号[0]に“1”が書き込まれたものとする。
そして、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応して、乱数列変更設定回路556が乱数列変更要求データRDSC0を読み出し、そのビット値が“1”であることに応答して、乱数更新規則を変更するための設定を行う。このとき、乱数列変更設定回路556は、乱数生成回路553から出力されたカウント値順列RCNが所定の最終値に達したことに応じて、例えば予め用意された複数種類の乱数更新規則のいずれかを選択することなどにより、乱数更新規則を変更する。図17に示す動作例では、乱数列変更回路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”が書き込まれると、乱数更新規則が再度変更される。図17に示す動作例では、乱数列変更回路555が乱数列RSNにおける最終値に対応する数値データ「0」を出力したときに、乱数列変更要求データRDSC0としてビット値“1”が書き込まれたことに応じて乱数更新規則を変更する。その後、乱数列変更回路555は、変更後の乱数更新規則に従った乱数列RSNとして、「0→2→…→65534→1→…→65535」を出力する。
図18は、乱数更新規則を自動で変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更設定回路556が自動的に乱数更新規則を変更する。図18に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。
そして、乱数変更回路555から出力された乱数列RSNが所定の最終値に達したときに、乱数列変更設定回路556は、予め用意された複数種類の更新規則のうちから予め定められた順序に従って更新規則を選択することにより、更新規則を変更するようにしてもよい。あるいは、乱数列変更設定回路556は、複数種類の更新規則のうちから任意の更新規則を選択することにより、更新規則を変更するようにしてもよい。図18に示す動作例では、1回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNが、「65535→65534→…→0」となる。その後、2回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「0→2→…→65534→1→…→65535」となる。図18に示す動作例では、3回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「65534→0→…→32768」となる。4回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「16383→49151→…→49150」となる。5回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「4→3→…→465531」となる。
ラッチ用フリップフロップ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は、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数値取込レジスタRDLT(アドレス2032H)と、乱数ラッチ選択レジスタRDLS(アドレス2030H)とを用いて、乱数ラッチ信号LL1や乱数ラッチ信号LL2の出力を制御する。乱数値取込レジスタRDLTは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、ソフトウェアにより乱数値レジスタ559Aや乱数値レジスタ559Bに取り込むために用いられるレジスタである。乱数ラッチ選択レジスタRDLSは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、乱数値レジスタ559Aや乱数値レジスタ559Bに、ソフトウェアにより取り込むか、入力ポートP0、P1への信号入力により取り込むかの取込方法を示すレジスタである。
図19(A)は、乱数値取込レジスタRDLTの構成例を示している。図19(B)は、乱数値取込レジスタRDLTに格納される乱数値取込指定データの各ビットにおける設定内容の一例を示している。乱数値取込レジスタRDLTのビット番号[1]に格納される乱数値取込指定データRDLT1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに対する乱数値取込指定の有無を示している。図19(B)に示す例では、ソフトウェアにより乱数値レジスタR2Dに対する乱数値の取込指定がないときに、乱数値取込指定データRDLT1のビット値が“0”となる一方、乱数値の取込指定があったときには、そのビット値が“1”となる。乱数値取込レジスタRDLTのビット番号[0]に格納される乱数値取込指定データRDLT0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに対する乱数値取込指定の有無を示している。図19(B)に示す例では、ソフトウェアにより乱数値レジスタR1Dに対する乱数値の取込指定がないときに、乱数値取込指定データRDLT0のビット値が“0”となる一方、乱数値の取込指定があったときには、そのビット値が“1”となる。
図20(A)は、乱数ラッチ選択レジスタRDLSの構成例を示している。図20(B)は、乱数ラッチ選択レジスタRDLSに格納される乱数ラッチ選択データの各ビットにおける設定内容の一例を示している。乱数ラッチ選択レジスタRDLSのビット番号[1]に格納される乱数ラッチ選択データRDLS1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bへの取込方法を示している。図20(B)に示す例では、ソフトウェアによる乱数値取込指定データRDLT1の書き込みに応じて乱数値となる数値データを乱数値レジスタR2Dに取り込む場合に、乱数ラッチ選択データRDLS1のビット値を“0”とする。これに対して、入力ポートP1への信号入力に応じて乱数値となる数値データを乱数値レジスタR2Dに取り込む場合には、乱数ラッチ選択データRDLS1のビット値を“1”とする。乱数ラッチ選択レジスタRDLSのビット番号[0]に格納される乱数ラッチ選択データRDLS0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aへの取込方法を示している。図20(B)に示す例では、ソフトウェアによる乱数値取込指定データRDLT0の書き込みに応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合に、乱数ラッチ選択データRDLS0のビット値を“0”とする。これに対して、入力ポートP0への信号入力に応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合には、乱数ラッチ選択データRDLS0のビット値を“1”とする。
乱数値レジスタ559A、559Bはそれぞれ、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として格納するレジスタである。図21(A)及び(B)は、乱数値レジスタR1Dとなる乱数値レジスタ559Aの構成例を示している。なお、図21(A)は、乱数値レジスタR1Dの下位バイトR1D(L)を示し、図21(B)は、乱数値レジスタR1Dの上位バイトR1D(H)を示している。図21(C)及び(D)は、乱数値レジスタR2Dとなる乱数値レジスタ559Bの構成例を示している。なお、図21(C)は、乱数値レジスタR2Dの下位バイトR2D(L)を示し、図21(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は、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、乱数ラッチフラグレジスタRDFM(アドレス2033H)と、乱数割込み制御レジスタRDIC(アドレス2031H)とを用いて、乱数ラッチ時の動作管理や割込み制御を可能にする。乱数ラッチフラグレジスタRDFMは、乱数値レジスタ559Aと乱数値レジスタ559Bのそれぞれに対応して、乱数値となる数値データがラッチされたか否かを示す乱数ラッチフラグを格納するレジスタである。乱数割込み制御レジスタRDICは、乱数値レジスタ559Aや乱数値レジスタ559Bに乱数値となる数値データがラッチされたときに発生する割込みの許可/禁止を設定するレジスタである。
図22(A)は、乱数ラッチフラグレジスタRDFMの構成例を示している。図22(B)は、乱数ラッチフラグレジスタRDFMに格納される乱数ラッチフラグデータの各ビットにおける設定内容の一例を示している。乱数ラッチフラグレジスタRDFMのビット番号[1]に格納される乱数ラッチフラグデータRDFM1は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図22(B)に示す例では、乱数値レジスタR2Dに数値データが取り込まれていないときに(乱数値取込なし)、乱数ラッチフラグデータRDFM1のビット値が“0”となる一方、数値データが取り込まれたときには(乱数値取込あり)、そのビット値が“1”となる。乱数ラッチフラグレジスタRDFMのビット番号[0]に格納される乱数ラッチフラグデータRDFM0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図22(B)に示す例では、乱数値レジスタR1Dに数値データが取り込まれていないときに(乱数値取込なし)、乱数ラッチフラグデータRDFM0のビット値が“0”となる一方、数値データが取り込まれたときには(乱数値取込あり)、そのビット値が“1”となる。
図23(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”とする。
遊技制御用マイクロコンピュータ100が備えるPIP510は、例えば6ビット幅の入力専用ポートであり、専用端子となる入力ポートP0〜入力ポートP2と、機能兼用端子となる入力ポートP3〜入力ポートP5とを含んでいる。入力ポートP3は、CPU505等に接続される外部マスカブル割込み端子XINTと兼用される。入力ポートP4は、CPU505等に接続される外部ノンマスカブル割込み端子XNMIと兼用される。入力ポートP5は、シリアル通信回路511が使用する第1チャネル受信端子RXAと兼用される。入力ポートP3〜入力ポートP5の使用設定は、プログラム管理エリアに記憶される機能設定KFCSにより指示される。
PIP510は、図9(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)フォーマットで通信データを取扱う回路である。図25は、シリアル通信回路511の構成例を示している。図25に示すシリアル通信回路511は、外部回路との間にて双方向でシリアルデータを送受信可能な第1チャネル送受信回路571Aと、外部回路との間にて単一方向でシリアルデータを送信のみが可能な第2チャネル送信回路571Bとを含んでいる。この実施の形態では、第1チャネル送受信回路571Aを用いて払出制御基板15に搭載された払出制御用マイクロコンピュータ150との間で双方向のシリアル通信を行う一方、第2チャネル送信回路571Bを用いて演出制御基板12に搭載された演出制御用マイクロコンピュータ120との間で単一方向(送信のみ)のシリアル通信を行う。
第1チャネル送受信回路571Aは、送信用シフトレジスタ581Aと、送信データレジスタ582Aと、割込み制御回路583Aと、受信データレジスタ584Aと、受信用シフトレジスタ585Aとを備えている。第2チャネル送信回路571Bは、送信用シフトレジスタ581Bと、送信データレジスタ582Bと、割込み制御回路583Bとを備えている。
第1チャネル送受信回路571Aは、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、第1チャネルデータレジスタSADT(アドレス201FH)と、第1チャネル通信設定レジスタSAFM(アドレス201AH)と、第1チャネル割込み制御レジスタSAIC(アドレス201BH)と、第1チャネルコマンドレジスタSACM(アドレス201CH)と、第1チャネルステータスレジスタSAST(アドレス201EH)とを用いて、シリアル通信の動作管理や動作制御などを可能にする。第2チャネル送信回路571Bは、図9(B)に示すような遊技制御用マイクロコンピュータ100が備える内蔵レジスタのうち、第2チャネルデータレジスタSBDT(アドレス2027H)と、第2チャネル通信設定レジスタSBFM(アドレス2022H)と、第2チャネル割込み制御レジスタSBIC(アドレス2023H)と、第2チャネルコマンドレジスタSBCM(アドレス2024H)と、第2チャネルステータスレジスタSBST(アドレス2026H)とを用いて、シリアル通信の動作管理や動作制御などを可能にする。
第1チャネルデータレジスタSADTは、第1チャネル送受信回路571Aによるシリアル通信で送受信される通信データ(送信データ又は受信データ)を格納するレジスタである。第2チャネルデータレジスタSBDTは、第2チャネル送信回路571Bによるシリアル通信で送信される通信データ(送信データ)を格納するレジスタである。図26(A)は、第1チャネルデータレジスタSADTの構成例を示している。図26(B)は、第2チャネルデータレジスタSBDTの構成例を示している。第1チャネル送受信回路571Aにより通信データを送信するときには、例えばCPU505等により第1チャネルデータレジスタSADTに書き込まれたデータが、第1チャネル送受信回路571Aにより読み出されて、送信データレジスタ582Aに供給される。第1チャネル送受信回路571Aにより通信データを受信するときには、例えば第1チャネル送受信回路571Aにて受信データレジスタ584Aから読み出されたデータが、第1チャネルデータレジスタSADTに書き込まれることにより、CPU505等に提供可能となる。第2チャネル送信回路571Bにより通信データを送信するときには、例えばCPU505等により第2チャネルデータレジスタSBDTに書き込まれたデータが、第2チャネル送信回路571Bにより読み出されて、送信データレジスタ582Bに供給される。
第1チャネル通信設定レジスタSAFMは、第1チャネル送受信回路571Aの通信フォーマット等を設定するためのレジスタである。第2チャネル通信設定レジスタSBFMは、第2チャネル送信回路571Bの通信フォーマット等を設定するためのレジスタである。図27(A)は、第1チャネル通信設定レジスタSAFMの構成例を示している。図27(B)は、第2チャネル通信設定レジスタSBFMの構成例を示している。図27(C)は、第1チャネル通信設定レジスタSAFMや第2チャネル通信設定レジスタSBFMに格納される通信設定データの各ビットにおける設定内容の一例を示している。第1チャネル通信設定レジスタSAFMのビット番号[7]に格納される通信設定データSAFM7や、第2チャネル通信設定レジスタSBFMのビット番号[7]に格納される通信設定データSBFM7は、送信機能の使用/停止を示している。例えば、第1チャネル送受信回路571Aにおける送信機能を一時的に使用禁止とする場合には、通信設定データSAFM7のビット値を“1”とする。また、第2チャネル送信回路571Bにおける送信機能を一時的に使用禁止とする場合には、通信設定データSBFM7のビット値を“1”とする。第1チャネル通信設定レジスタSAFMのビット番号[6]に格納される通信設定データSAFM6は、受信機能の使用/停止を示している。例えば、第1チャネル送受信回路571Aにおける受信機能を一時的に使用禁止とする場合には、通信設定データSAFM6のビット値を“1”とする。
第1チャネル通信設定レジスタSAFMのビット番号[3]に格納される通信設定データSAFM3や、第2チャネル通信設定レジスタSBFMのビット番号[3]に格納される通信設定データSBFM3は、動作モードの選択設定を示している。例えば、第1チャネル送受信回路571Aにおける動作モードをノーマルモードとする場合には、通信設定データSAFM3のビット値を“0”とする一方、FIFO(First In First Out)モードとする場合には、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおける動作モードをノーマルモードとする場合には、通信設定データSBFM3のビット値を“0”とする一方、FIFOモードとする場合には、そのビット値を“1”とする。なお、この実施の形態では、第1チャネル送受信回路571Aと第2チャネル送信回路571Bの双方における動作モードを、ノーマルモードとする。第1チャネル通信設定レジスタSAFMのビット番号[2]に格納される通信設定データSAFM2や、第2チャネル通信設定レジスタSBFMのビット番号[2]に格納される通信設定データSBFM2は、データ長の選択設定を示している。例えば、第1チャネル送受信回路571Aにおける送受信動作でのデータ長を第1データ長(1スタートビット、8データビット、1ストップビット)とする場合には、通信設定データSAFM2のビット値を“0”とする一方、第2データ長(1スタートビット、9データビット、1ストップビット)とする場合には、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおける送信動作でのデータ長を第1データ長とする場合には、通信設定データSBFM2のビット値を“0”とする一方、第2データ長とする場合には、そのビット値を“1”とする。
第1チャネル通信設定レジスタSAFMのビット番号[1]に格納される通信設定データSAFM1や、第2チャネル通信設定レジスタSBFMのビット番号[1]に格納される通信設定データSBFM1は、パリティ機能の使用/未使用を示している。例えば、第1チャネル送受信回路571Aにおけるパリティ機能を使用しない場合には(パリティ未使用)、通信設定データSAFM1のビット値を“0”とする一方、パリティ機能を使用する場合には(パリティ使用)、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおけるパリティ機能を使用しない場合には(パリティ未使用)、通信設定データSBFM1のビット値を“0”とする一方、パリティ機能を使用する場合には(パリティ使用)、そのビット値を“1”とする。第1チャネル通信設定レジスタSAFMのビット番号[0]に格納される通信設定データSAFM0や、第2チャネル通信設定レジスタSBFMのビット番号[0]に格納される通信設定データSBFM0は、パリティ機能を使用する場合におけるパリティ機能の選択設定を示している。例えば、第1チャネル送受信回路571Aにおけるパリティ機能を偶数パリティとする場合には、通信設定データSAFM0のビット値を“0”とする一方、奇数パリティとする場合には、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおけるパリティ機能を偶数パリティとする場合には、通信設定データSBFM0のビット値を“0”とする一方、奇数パリティとする場合には、そのビット値を“1”とする。
第1チャネル割込み制御レジスタSAICは、第1チャネル送受信回路571Aにおける割込み要求の許可/禁止等を設定するレジスタである。第2チャネル割込み制御レジスタSBICは、第2チャネル送信回路571Bにおける割込み要求の許可/禁止等を設定するレジスタである。図28(A)は、第1チャネル割込み制御レジスタSAICの構成例を示している。図28(B)は、第2チャネル制御レジスタSBICの構成例を示している。図28(C)は、第1チャネル割込み制御レジスタSAICや第2チャネル割込み制御レジスタSBICに格納される通信割込み制御データの各ビットにおける設定内容の一例を示している。第1チャネル割込み制御レジスタSAICのビット番号[7]に格納される通信割込み制御データSAIC7や、第2チャネル割込み制御レジスタSBICのビット番号[7]に格納される通信割込み制御データSBIC7は、送信割込み発生因子の1つである送信完了による割込み要求について、許可/禁止の設定を示している。例えば、送信完了による割込み要求は、送信用シフトレジスタ581Aや送信用シフトレジスタ581Bに格納された通信データの送信が完了したときに発生する。そして、第1チャネル送受信回路571Aにおける送信完了時の割込み要求を禁止する場合には(割込み要求禁止)、通信割込み制御データSAIC7のビット値を“0”とする一方、この割込み要求を許可する場合には(割込み要求許可)、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおける送信完了時の割込み要求を禁止する場合には(割込み要求禁止)、通信割込み制御データSBIC7のビット値を“0”とする一方、この割込み要求を許可する場合には(割込み要求許可)、そのビット値を“1”とする。
第1チャネル割込み制御データSAICのビット番号[6]に格納される通信割込み制御データSAIC6や、第2チャネル割込み制御レジスタSBICのビット番号[6]に格納される通信割込み制御データSBIC6は、送信割込み発生因子の1つである送信データエンプティによる割込み要求について、許可/禁止の設定を示している。例えば、送信データエンプティによる割込み要求は、送信データレジスタ582Aから送信用シフトレジスタ581Aに通信データが転送されたときや、送信データレジスタ582Bから送信用シフトレジスタ581Bに通信データが転送されたときに、発生する。そして、第1チャネル送受信回路571Aにおける送信データエンプティ時の割込み要求を禁止する場合には(割込み要求禁止)、通信割込み制御データSAIC6のビット値を“0”とする一方、この割込み要求を許可する場合には(割込み要求許可)、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおける送信データエンプティ時の割込み要求を禁止する場合には(割込み要求禁止)、通信割込み制御データSBIC6のビット値を“0”とする一方、この割込み要求を許可する場合には(割込み要求許可)、そのビット値を“1”とする。
第1チャネル割込み制御レジスタSAICのビット番号[5]に格納される通信割込み制御データSAIC5は、受信割込み発生因子の1つである受信データフルによる割込み要求について、許可/禁止の設定を示している。例えば、受信データフルによる割込み要求は、受信用シフトレジスタ585Aから受信データレジスタ584Aに通信データが転送されたときに発生する。そして、第1チャネル送受信回路571Aにおける受信データフル時の割込み要求を禁止する場合には(割込み要求禁止)、通信割込み制御データSAIC5のビット値を“0”とする一方、この割込み要求を許可する場合には(割込み要求許可)、そのビット値を“1”とする。
第1チャネルコマンドレジスタSACMは、第1チャネル送受信回路571Aのソフトウェアによるクリアや、ブレークコード(1フレーム以上の“0”)の送信を行うために用いられるレジスタである。第2チャネルコマンドレジスタSBCMは、第2チャネル送信回路571Bのソフトウェアによるクリアや、ブレークコードの送信を行うために用いられるレジスタである。図29(A)は、第1チャネルコマンドレジスタSACMの構成例を示している。図29(B)は、第2チャネルコマンドレジスタSBCMの構成例を示している。図29(C)は、第1チャネルコマンドレジスタSACMや第2チャネルコマンドレジスタSBCMに格納される通信コマンド設定データの各ビットにおける設定内容の一例を示している。第1チャネルコマンドレジスタSACMのビット番号[7]に格納される通信コマンド設定データSACM7や、第2チャネルコマンドレジスタSBCMのビット番号[7]に格納される通信コマンド設定データSBCM7は、送信データレジスタ582Aや送信データレジスタ582Bに含まれる送信バッファのクリア、第1チャネルステータスレジスタSASTや第2チャネルステータスレジスタSBSTに含まれる送信完了フラグ及び送信データエンプティフラグのクリアといった、送信機能に関するクリアを実行するか否かを示している。例えば、第1チャネル送受信回路571Aにおける送信バッファや送信完了フラグ、送信データエンプティフラグをクリアしない場合には(NOP)、通信コマンド設定データSACM7のビット値を“0”とする一方、これらをクリアする場合には、そのビット値を“1”とする。また、第2チャネル送信回路571Bにおける送信バッファや送信完了フラグ、送信データエンプティフラグをクリアしない場合には(NOP)、通信コマンド設定データSBCM7のビット値を“0”とする一方、これらをクリアする場合には、そのビット値を“1”とする。
第1チャネルコマンドレジスタSACMのビット番号[6]に格納される通信コマンド設定データSACM6は、受信データレジスタ584Aに含まれる受信バッファのクリア、第1チャネルステータスレジスタSASTに含まれる各種受信フラグ(例えば受信データフルフラグ、ノイズフラグ、オーバーランフラグ、ブレークコード検出フラグ、フレーミングエラーフラグ、パリティエラーフラグなど)のクリアといった、受信機能に関するクリアを実行するか否かを示している。例えば、第1チャネル送受信回路571Aにおける受信バッファや各種受信フラグをクリアしない場合には(NOP)、通信コマンド設定データSACM6のビット値を“0”とする一方、これらをクリアする場合には、そのビット値を“1”とする。
第1チャネルコマンドレジスタSACMのビット番号[0]に格納される通信コマンド設定データSACM0や、第2チャネルコマンドレジスタSBCMのビット番号[0]に格納される通信コマンド設定データSBCM0は、ブレークコードの送信/未送信を示している。例えば、第1チャネル送受信回路571Aによりブレークコードを送信しない場合には(ブレークコード未送信)、通信コマンド設定データSACM0のビット値を“0”とする一方、ブレークコードを送信する場合には(ブレークコード送信)、そのビット値を“1”とする。また、第2チャネル送信回路571Bによりブレークコードを送信しない場合には(ブレークコード未送信)、通信コマンド設定データSBCM0のビット値を“0”とする一方、ブレークコードを送信する場合には(ブレークコード送信)、そのビット値を“1”とする。
第1チャネルステータスレジスタSASTは、第1チャネル送受信回路571Aの送信状態及び受信状態を確認するためのレジスタである。第2チャネルステータスレジスタSBSTは、第2チャネル送信回路571Bの送信状態を確認するためのレジスタである。図30(A)は、第1チャネルステータスレジスタSASTの構成例を示している。図30(B)は、第2チャネルステータスレジスタSBSTの構成例を示している。図30(C)は、第1チャネルステータスレジスタSASTや第2チャネルステータスレジスタSBSTに格納される通信ステータスデータの各ビットにおける設定内容の一例を示している。
第1チャネルステータスレジスタSASTのビット番号[7]に格納される通信ステータスデータSAST7や、第2チャネルステータスレジスタSBSTのビット番号[7]に格納される通信ステータスデータSBST7は、送信用シフトレジスタ581Aや送信用シフトレジスタ581Bからのデータ転送が完了したか否かを示す送信完了フラグとなる。例えば、第1チャネル送受信回路571Aにて通信データの送信中であるときには(送信中)、通信ステータスデータSAST7のビット値が“0”となる一方、通信データの送信が完了したときには(送信完了)、そのビット値が“1”となる。また、第2チャネル送信回路571Bにて通信データの送信中であるときには(送信中)、通信ステータスデータSBST7のビット値が“0”となる一方、通信データの送信が完了したときには(送信完了)、そのビット値が“1”となる。なお、送信完了フラグがオフ状態“0”からオン状態“1”に変化することは、送信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[6]に格納される通信ステータスデータSAST6や、第2チャネルステータスレジスタSBSTのビット番号[6]に格納される通信ステータスデータSBST6は、送信データレジスタ582Aから送信用シフトレジスタ581Aへのデータ転送や、送信データレジスタ582Bから送信用シフトレジスタ581Bへのデータ転送が完了したか否かを示す送信データエンプティフラグとなる。例えば、第1チャネル送受信回路571Aにて送信用シフトレジスタ581Aへのデータ転送が完了していないときには(送信用シフトレジスタ未転送)、通信ステータスデータSAST6のビット値が“0”となる一方、このデータ転送が完了したときには(送信用シフトレジスタ転送完了)、そのビット値が“1”となる。また、第2チャネル送信回路571Bにて送信用シフトレジスタ581Bへのデータ転送が完了していないときには(送信用シフトレジスタ未転送)、通信ステータスデータSBST6のビット値が“0”となる一方、このデータ転送が完了したときには(送信用シフトレジスタ転送完了)、そのビット値が“1”となる。なお、送信データエンプティフラグがオフ状態“0”からオン状態“1”に変化することは、送信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[5]に格納される通信ステータスデータSAST5は、受信用シフトレジスタ585Aから受信データレジスタ584Aへのデータ転送を実行したか否かを示す受信データフルフラグとなる。例えば、第1チャネル送受信回路571Aにて受信用シフトレジスタ585Aから受信データレジスタ584Aへのデータ転送が実行されていないために、受信データレジスタ584Aにおける格納データがない場合には(受信データレジスタにデータなし)、通信ステータスデータSAST5のビット値が“0”となる。これに対して、受信用シフトレジスタ585Aから受信データレジスタ584Aへのデータ転送が実行されたことにより、受信データレジスタ584Aにおける格納データがある場合には(受信データレジスタにデータあり)、通信ステータスデータSAST5のビット値が“1”となる。なお、受信データフルフラグがオフ状態“0”からオン状態“1”に変化することは、受信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[4]に格納される通信ステータスデータSAST4は、第1チャネル送受信回路571Aに含まれる受信回路にてノイズが検出されたか否かを示すノイズフラグとなる。例えば、第1チャネル送受信回路571Aにて受信した通信データにノイズが検出されていないときには(ノイズ未検出)、通信ステータスデータSAST4のビット値が“0”となる一方、ノイズが検出されたときには、その値が“1”となる。また、受信データのノイズが検出されるときには、受信データフルフラグとなる通信ステータスデータSAST5が“1”となる。
第1チャネルステータスレジスタSASTのビット番号[3]に格納される通信ステータスデータSAST3は、第1チャネル送受信回路571Aに含まれる受信回路にてオーバーランが検出されたか否かを示すオーバーランフラグとなる。なお、オーバーランは、受信済みの通信データがユーザプログラムによってリードされるより前に、次の通信データを受信してしまった場合に発生するエラーである。例えば、第1チャネル送受信回路571Aにて通信データの受信中にオーバーランが検出されていないときには(オーバーラン未検出)、通信ステータスデータSAST3のビット値が“0”となる一方、オーバーランが検出されたときには(オーバーラン検出)、その値が“1”となる。また、オーバーランが検出されるときには、受信データフルフラグとなる通信ステータスデータSAST5が“1”となっている。そして、第1チャネル割込み制御レジスタSAICのビット番号[5]に格納される通信割込み制御データSAIC5が“1”となっていれば、オーバーランの検出によるエラー(オーバーランエラー)の発生時に、受信割込みを発生させることができる。すなわち、オーバーランフラグがオフ状態“0”からオン状態“1”に変化することは、受信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[2]に格納される通信ステータスデータSAST2は、第1チャネル送受信回路571Aに含まれる受信回路にてブレークコードが検出されたか否かを示すブレークコード検出フラグとなる。例えば、第1チャネル送受信回路571Aにて通信データの受信中にブレークコードが検出されていないときには(ブレークコード未検出)、通信ステータスデータSAST2のビット値が“0”となる一方、ブレークコードが検出されたときには(ブレークコード検出)、その値が“1”となる。また、ブレークコードが検出されるときには、受信データフルフラグとなる通信ステータスデータSAST5のビット値が“1”となる。そして、第1チャネル割込み制御レジスタSAICのビット番号[5]に格納される通信割込み制御データSAIC5が“1”となっていれば、ブレークコードの検出によるエラー(ブレークコードエラー)の発生時に、受信割込みを発生させることができる。すなわち、ブレークコード検出フラグがオフ状態“0”からオン状態“1”に変化することは、受信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[1]に格納される通信ステータスデータSAST1は、第1チャネル送受信回路571Aに含まれる受信回路にてフレーミングエラーが検出されたか否かを示すフレーミングエラーフラグとなる。なお、フレーミングエラーは、受信した通信データにおけるストップビットが“0”である場合に発生するエラーである。例えば、第1チャネル送受信回路571Aにてフレーミングエラーが検出されていないときには(フレーミングエラー未検出)、通信ステータスデータSAST1のビット値が“0”となる一方、フレーミングエラーが検出されたときには(フレーミングエラー検出)、その値が“1”となる。また、フレーミングエラーが検出されるときには、受信データフルフラグとなる通信ステータスデータSAST5のビット値が“1”となる。そして、第1チャネル割込み制御レジスタSAICのビット番号[5]に格納される通信割込み制御データSAIC5が“1”となっていれば、フレーミングエラーの発生時に、受信割込みを発生させることができる。すなわち、フレーミングエラーフラグがオフ状態“0”からオン状態“1”に変化することは、受信割込み発生因子の1つとなる。
第1チャネルステータスレジスタSASTのビット番号[0]に格納される通信ステータスデータSAST0は、第1チャネル送受信回路571Aに含まれる受信回路にてパリティエラーが検出されたか否かを示すパリティエラーフラグとなる。なお、パリティエラーは、第1チャネル通信設定レジスタSAFMのビット番号[1]に格納される通信設定データSAFM1やビット番号[0]に格納される通信設定データSAFM0によりパリティ機能を使用する設定とした場合、受信した通信データのパリティが、通信設定データSAFM0により指定されたパリティと一致しない場合に発生するエラーである。例えば、第1チャネル送受信回路571Aにて通信データの受信中にパリティエラーが検出されていないときには(パリティエラー未検出)、通信ステータスデータSAST0のビット値が“0”となる一方、パリティエラーが検出されたときには(パリティエラー検出)、そのビット値が“1”となる。また、パリティエラーが検出されるときには、受信データフルフラグとなる通信ステータスデータSAST5のビット値が“1”となる。そして、第1チャネル割込み制御レジスタSAICのビット番号[5]に格納される通信割込み制御データSAIC5が“1”となっていれば、パリティエラーの発生時に、受信割込みを発生させることができる。すなわち、パリティエラーフラグがオフ状態“0”からオン状態“1”に変化することは、受信割込み発生因子の1つとなる。
このように、シリアル通信回路511では、オーバーランエラー、ブレークコードエラー、フレーミングエラー、パリティエラーという、4種類のエラーが通信データの受信時に発生することがあり、いずれかのエラーが発生したときに、受信割込みを発生させることができる。
図26に示すシリアル通信回路511が備える送信用シフトレジスタ581Aと送信用シフトレジスタ581Bは、送信データをパラレル信号形式からシリアル信号形式に変換するための回路である。送信用シフトレジスタ581Aには、送信データレジスタ582Aに格納された通信データが転送される。送信用データレジスタ581Bには、送信データレジスタ582Bに格納された通信データが転送される。送信用シフトレジスタ581Aでの変換によりシリアル信号形式とされた送信データは、各ビットデータが順次に第1チャネル送信端子TXAへと伝送されることにより、遊技制御用マイクロコンピュータ100の外部へと出力される。送信用シフトレジスタ581Bでの変換によりシリアル信号形式とされた送信データは、各ビットデータが順次に第2チャネル送信端子TXBへと伝送されることにより、遊技制御用マイクロコンピュータ100の外部へと出力される。
送信データレジスタ582Aは、第1チャネルデータレジスタSADTから取得した通信データを格納する。送信データレジスタ582Bは、第2チャネルデータレジスタSBDTから取得した通信データを格納する。また、送信データレジスタ582Aや送信データレジスタ582Bでは、送信データフォーマットへの変換や、パリティの生成などが行われてもよい。
割込み制御回路583Aは、第1チャネル送受信回路571Aにおける割込み発生因子を管理して、通信割込み要求を制御するための回路である。割込み制御回路583Aが制御する割込みには、第1チャネル送信割込みと、第1チャネル受信割込みとがある。第1チャネル送信割込みには、送信完了による割込みや、送信データエンプティによる割込みが含まれている。第1チャネル受信割込みには、受信データフルによる割込みや、ブレークコードエラー、オーバーランエラー、フレーミングエラー、パリティエラーといった受信時エラーの発生による割込みが含まれている。割込み制御回路583Bは、第2チャネル送信回路571Bにおける割込み発生因子を管理して、通信割込み要求を制御するための回路である。割込み制御回路583Bが制御する割込みは、第2チャネル送信割込みである。第2チャネル送信割込みには、送信完了による割込みや、送信データエンプティによる割込みが含まれている。
第1チャネル送受信回路571Aが備える受信データレジスタ584Aは、受信用シフトレジスタ585Aから取得した通信データを格納して、第1チャネルデータレジスタSADTへとデータ転送する。また、受信データレジスタ584Aでは、受信データフォーマットからのデータ抽出や、パリティのチェックなどが行われてもよい。
受信用シフトレジスタ585Aは、受信データをシリアル信号形式からパラレル信号形式に変換するための回路である。受信用シフトレジスタ585Aには、遊技制御用マイクロコンピュータ100の外部から第1チャネル受信端子RXAへと供給された受信データが、ビットデータの単位で順次に格納される。受信用シフトレジスタ585Aに格納された受信データは、受信用データレジスタ584Aへと転送される。
図7に示す遊技制御用マイクロコンピュータ100が備えるアドレスデコード回路512は、遊技制御用マイクロコンピュータ100の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、遊技制御用マイクロコンピュータ100の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU505からのアクセスが可能となる。
遊技制御用マイクロコンピュータ100が備えるROM506には、ゲーム制御用のユーザプログラムやセキュリティチェックプログラム506Aの他に、遊技の進行を制御するために用いられる各種の選択用データ、テーブルデータなどが格納される。例えば、ROM506には、CPU505が各種の判定や決定、設定を行うために用意された複数の判定テーブルや決定テーブル、設定テーブルなどを構成するデータが記憶されている。また、ROM506には、CPU505が主基板11から各種の制御コマンドとなる制御信号を送信するために用いられる複数のコマンドテーブルを構成するテーブルデータや、飾り図柄の変動パターンを複数種類格納する変動パターンテーブルを構成するテーブルデータなどが記憶されている。
図31は、可変表示結果が「ハズレ」となる場合における飾り図柄の可変表示態様が「非リーチ」である場合と「リーチ」である場合のそれぞれに対応して予め用意された飾り図柄の変動パターンを例示する説明図である。図31に示すように、この実施の形態では、飾り図柄の可変表示態様が「非リーチ」である場合に対応した変動パターンとして、非リーチPA1−1〜非リーチPA1−7、非リーチPB1−1及び非リーチPB1−2、非リーチPC1−1及び非リーチPC1−2の変動パターンが用意されている。また、飾り図柄の可変表示態様が「リーチ」である場合に対応した変動パターンとして、ノーマルPA2−1〜ノーマルPA2−4、スーパーPA3−1〜スーパーPA3−8、スーパーPB3−1〜スーパーPB3−5、スーパーPC3−1〜スーパーPC3−4の変動パターンが用意されている。
図32は、可変表示結果が「大当り」又は「小当り」となる場合に対応して予め用意された飾り図柄の変動パターンを例示する説明図である。図32に示すように、この実施の形態では、飾り図柄の可変表示結果が「大当り」又は「小当り」である場合に対応した変動パターンとして、ノーマルPA2−5〜ノーマルPA2−8、スーパーPA4−1〜スーパーPA4−8、スーパーPA5−1〜スーパーPA5−4、スーパーPB4−1〜スーパーPB4−4、スーパーPB5−1〜スーパーPB5−4、スーパーPC4−1及びスーパーPC4−2、スーパーPD1−1及びスーパーPD1−2、スーパーPE1−1及びスーパーPE1−2、スーパーPF1−1〜スーパーPF1−3、特殊PG1−1〜特殊PG1−4、特殊PG2−1〜特殊PG2−3、特殊PG3−1〜特殊PG3−3の変動パターンが用意されている。
図33は、ROM506に記憶される特図表示結果判定テーブルの構成例を示している。この実施の形態では、特図表示結果判定テーブルとして、図33(A)に示す第1特図表示結果判定テーブル130Aと、図33(B)に示す第2特図表示結果判定テーブル130Bとが、予め用意されている。第1特図表示結果判定テーブル130Aは、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果判定用の乱数値MR1に基づいて判定するために参照されるテーブルである。第2特図表示結果判定テーブル130Bは、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果判定用の乱数値MR1に基づいて判定するために参照されるテーブルである。
第1特図表示結果判定テーブル130Aでは、図45に示す遊技制御フラグ設定部592に設けられた確変フラグがオフであるかオンであるかに応じて、特図表示結果判定用の乱数値MR1が、大当り判定値データや小当り判定値データ、ハズレ判定値データと対応付けられるように、割り振られている。第2特図表示結果判定テーブル130Bでは、確変フラグがオフであるかオンであるかに応じて、特図表示結果判定用の乱数値MR1が、大当り判定値データやハズレ判定値データと対応付けられるように、割り振られている。第1特図表示結果判定テーブル130Aや第2特別図柄表示結果判定テーブル130Bにおいて特図表示結果判定用の乱数値MR1を示すテーブルデータは、大当り遊技状態に制御するか否かの判定結果に割り振られる判定用データとなっている。そして、第1特図表示結果判定テーブル130Aと第2特図表示結果判定テーブル130Bのそれぞれでは、確変フラグがオンであるときには、確変フラグがオフであるときに比べて多くの乱数値MR1が、大当り決定値データに割り振られている。ここで、パチンコ遊技機1における遊技状態が確変状態であるときには、確変フラグがオンとなる。その一方で、パチンコ遊技機1における遊技状態が通常状態や時短状態であるときには、確変フラグがオフとなる。これにより、パチンコ遊技機1における遊技状態が確変状態であるときには、通常状態や時短状態であるときに比べて、可変表示結果を「大当り」として大当り遊技状態に制御すると判定される確率が高くなる。すなわち、第1特図表示結果判定テーブル130Aと第2特図表示結果判定テーブル130Bのそれぞれでは、パチンコ遊技機1における遊技状態が確変状態であるときに、通常状態や時短状態であるときに比べて大当り遊技状態に制御すると判定される確率が高くなるように、判定用データが大当り遊技状態に制御するか否かの判定結果に割り振られている。
また、図33(A)に示す第1特図表示結果判定テーブル130Aの設定例では、特図表示結果判定用の乱数値MR1のうち、所定範囲の値(「30000」〜「30099」)が小当り判定値データと対応付けられるように割り振られている。これに対して、図33(B)に示す第2特図表示結果判定テーブル130Bの設定例では、特図表示結果判定用の乱数値MR1が小当り判定値データとは対応付けられないように割り振られている。このような設定により、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて可変表示結果の判定を行う場合と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて可変表示結果の判定を行う場合とで、可変表示結果を「小当り」として小当り遊技状態に制御すると判定される割合を、異ならせることができる。なお、第2特図表示結果判定テーブル130Bにおいても、特図表示結果判定用の乱数値MR1のうち、第1特図表示結果判定テーブル130Aにおける設定とは異なる所定範囲の値が、小当り判定値データと対応付けられるように割り振られていてもよい。あるいは、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の特図表示結果判定テーブルを参照して、可変表示結果の判定を行うようにしてもよい。
図34は、ROM506に記憶される大当り種別決定テーブル131の構成例を示している。大当り種別決定テーブル131は、可変表示結果を「大当り」として大当り遊技状態に制御すると決定されたときに、大当り種別決定用の乱数値MR2に基づき、大当り種別を複数種類のいずれかに決定するために参照されるテーブルである。大当り種別決定テーブル131では、図45に示す遊技制御バッファ設定部595に設けられた変動特図指定バッファの値(変動特図指定バッファ値)が「1」であるか「2」であるかに応じて、大当り種別決定用の乱数値MR2が、「通常」、「第1確変」〜「第3確変」、「突確」といった複数種類の大当り種別と対応付けられるように、割り振られている。ここで、変動特図指定バッファ値は、第1開始条件の成立により第1特別図柄表示装置4Aにて第1特図を用いた特図ゲームを開始するときに「1」が設定される一方で、第2開始条件の成立により第2特別図柄表示装置4Bにて第2特図を用いた特図ゲームを開始するときに「2」が設定される。また、大当り種別決定テーブル131は、遊技制御バッファ設定部595に設けられた大当り種別バッファの値(大当り種別バッファ値)を、大当り種別決定用の乱数値MR2に基づいて決定された大当り種別に対応して、「0」〜「4」のいずれかに設定するためのテーブルデータ(設定用データ)を含んでいる。
図34に示す大当り種別決定テーブル131の設定例では、変動特図指定バッファ値が「1」であるか「2」であるかに応じて、「突確」の大当り種別に対する大当り種別決定用の乱数値MR2の割り振りが異なっている。すなわち、変動特図指定バッファ値が「1」である場合には、大当り種別決定用の乱数値MR2のうち「82」〜「99」の範囲の値が「突確」の大当り種別に割り振られる一方で、変動特図指定バッファ値が「2」である場合には、「突確」の大当り種別に対して大当り種別決定用の乱数値MR2が割り振られていない。このような設定により、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合とで、大当り種別を「突確」に決定する割合を、異ならせることができる。なお、変動特図指定バッファ値が「2」である場合にも、大当り種別決定用の乱数値MR2のうち、変動特図指定バッファ値が「1」である場合とは異なる所定範囲の値が、「突確」の大当り種別に対して割り振られるようにしてもよい。一例として、変動特図指定バッファ値が「2」である場合には、大当り種別決定用の乱数値MR2のうち、変動特図指定バッファ値が「1」である場合に比べて少ない個数の値が「突確」の大当り種別に対して割り振られるように設定すれば、第2開始条件が成立したときには、第1開始条件が成立したときに比べて、「突確」の大当り種別に決定される割合を低減することができる。
図35(A)〜(F)及び図36(A)〜(C)は、ROM506に記憶される大当り用変動パターン種別決定テーブルの構成例を示している。この実施の形態では、大当り変動パターン種別決定テーブルとして、図35(A)〜(F)に示す大当り用変動パターン種別決定テーブル132A〜132Fと、図36(A)〜(C)に示す大当り用変動パターン種別決定テーブル132G〜132Iとが、予め用意されている。大当り用変動パターン種別決定テーブル132A〜132Iはそれぞれ、可変表示結果を「大当り」として大当り遊技状態に制御すると判定されたときに、変動パターン種別を、変動パターン種別決定用の乱数値MR4に基づいて決定するために参照されるテーブルである。各大当り用変動パターン種別決定テーブル132A〜132Iは、例えば図36(D)に示すようなテーブル選択設定に従い、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかや、大当り種別の決定結果に応じて、使用テーブルとして選択される。各大当り用変動パターン種別決定テーブル132A〜132Iでは、大当り種別の決定結果が「通常」、「第1確変」〜「第3確変」、「突確」のいずれであるかに応じて、変動パターン種別決定用の乱数値MR4が、ノーマルCA3−1、スーパーCA3−2〜スーパーCA3−8、スーパーCB3−1〜スーパーCB3−5、特殊CA4−1、特殊CA4−2、特殊CB4−1、特殊CB4−2、特殊CC4−1、特殊CC4−2といった複数種類の変動パターン種別のいずれかと対応付けられるように、割り振られている。
ここで、一例として、パチンコ遊技機1における遊技状態が通常状態である場合に着目すれば、大当り種別が「通常」又は「第3確変」である場合に用いられる図35(A)に示す大当り用変動パターン種別決定テーブル132Aと、大当り種別が「第1確変」である場合に用いられる図35(B)に示す大当り用変動パターン種別決定テーブル132Bとでは、ノーマルCA3−1やスーパーCA3−2の変動パターン種別に対する変動パターン種別決定用の乱数値MR4の割り振りが異なっている。また、大当り用変動パターン種別決定テーブル132AではスーパーCA3−3の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られている一方で、大当り用変動パターン種別決定テーブル132BではスーパーCA3−3の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られていない。他方、大当り用変動パターン種別決定テーブル132AではスーパーCA3−4の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られていない一方で、大当り用変動パターン種別決定テーブル132BではスーパーCA3−4の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られている。このように、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれかである場合に着目して、その遊技状態において大当り種別に応じて選択される大当り用変動パターン種別決定テーブル132A〜132Dや(通常状態のときに選択)、大当り用変動パターン種別決定テーブル132E〜132H(確変状態のときに選択)、大当り用変動パターン種別決定テーブル132A〜132C、132I(時短状態のときに選択)を互いに比較すると、大当り種別に応じて各変動パターン種別に対する変動パターン種別決定用の乱数値MR4の割り振りが異なっており、また、大当り種別に応じて異なる変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られている。これにより、大当り種別を複数種類のいずれとするかの決定結果に応じて、異なる変動パターン種別に決定することが可能となり、同一の変動パターン種別に決定される割合を異ならせることができる。
特に、大当り種別が「突確」である場合に用いられる大当り用変動パターン種別決定テーブル132D、132H、132Iでは、例えば特殊CA4−1、特殊CA4−2、特殊CB4−1、特殊CB4−2、特殊CC4−1、特殊CC4−2といった、大当り種別が「突確」以外である場合には変動パターン種別決定用の乱数値MR4が割り振られない変動パターン種別に対して、変動パターン種別決定用の乱数値MR4が割り振られている。これにより、可変表示結果が「大当り」となり大当り種別が「突確」となることに応じて2ラウンド大当り状態に制御する場合には、15ラウンド大当り状態に制御する場合とは異なる変動パターン種別に決定することができる。
また、他の一例として、大当り種別が「通常」に決定された場合に着目すれば、パチンコ遊技機1における遊技状態が通常状態や時短状態である場合に用いられる図35(A)に示す大当り用変動パターン種別決定テーブル132Aと、遊技状態が確変状態である場合に用いられる図35(E)に示す大当り用変動パターン種別決定テーブル132Eとでは、ノーマルCA3−1やスーパーCA3−2の変動パターン種別に対する変動パターン種別決定用の乱数値MR4の割り振りが異なっている。また、大当り用変動パターン種別決定テーブル132AではスーパーCA3−3の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られている一方で、大当り用変動パターン種別決定テーブル132EではスーパーCA3−3の変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られていない。このように、大当り種別が「通常」、「第1確変」〜「第3確変」、「突確」のいずれかに決定された場合に着目して、パチンコ遊技機1における遊技状態に応じて選択される大当り用変動パターン種別決定テーブル132A、132E(「通常」又は「第3確変」のときに選択)、大当り用変動パターン種別決定テーブル132B、132F(「第1確変」のときに選択)、大当り用変動パターン種別決定テーブル132C、132G(「第2確変」のときに選択)、大当り用変動パターン種別決定テーブル132D、132H、132I(「突確」のときに選択)を互いに比較すると、パチンコ遊技機1における遊技状態が通常状態や時短状態であるか確変状態であるかなどに応じて各変動パターン種別に対する変動パターン種別決定用の乱数値MR4の割り振りが異なっており、また、遊技状態に応じて異なる変動パターン種別に対して変動パターン種別決定用の乱数値MR4が割り振られることがある。これにより、パチンコ遊技機1における遊技状態が通常状態や時短状態であるか確変状態であるかなどに応じて、異なる変動パターン種別に決定することが可能となり、同一の変動パターン種別に決定される割合を異ならせることができる。
図37(A)〜(C)は、ROM506に記憶される小当り用変動パターン種別決定テーブルの構成例を示している。この実施の形態では、小当り用変動パターン種別決定テーブルとして、図37(A)〜(C)に示す小当り用変動パターン種別決定テーブル133A〜133Cが、予め用意されている。小当り用変動パターン種別決定テーブル133A〜133Cはそれぞれ、可変表示結果を「小当り」として小当り遊技状態に制御すると判定されたときに、変動パターン種別を、変動パターン種別決定用の乱数値MR4に基づいて決定するために参照されるテーブルである。各小当り用変動パターン種別決定テーブル133A〜133Cは、例えば図37(D)に示すようなテーブル選択設定に従い、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかに応じて、使用テーブルとして選択される。各小当り用変動パターン種別決定テーブル133A〜133Cでは、変動パターン種別決定用の乱数値MR4が、特殊CA4−1、特殊CB4−1、特殊CC4−1といった複数種類の変動パターン種別のいずれかと対応付けられるように、割り振られている。
ここで、図37(A)に示す小当り用変動パターン種別決定テーブル133Aにて変動パターン種別決定用の乱数値MR4が割り振られた特殊CA4−1の変動パターン種別には、図35(D)に示す大当り用変動パターン種別決定テーブル132Dにおいても変動パターン種別決定用の乱数値MR4が割り振られている。図37(B)に示す小当り用変動パターン種別決定テーブル133Bにて変動パターン種別決定用の乱数値MR4が割り振られた特殊CB4−1の変動パターン種別には、図36(B)に示す大当り用変動パターン種別決定テーブル132Hにおいても変動パターン種別決定用の乱数値MR4が割り振られている。図37(C)に示す小当り用変動パターン種別決定テーブル133Cにて変動パターン種別決定用の乱数値MR4が割り振られた特殊CC4−1の変動パターン種別には、図36(C)に示す大当り用変動パターン種別決定テーブル132Iにおいても変動パターン種別決定用の乱数値MR4が割り振られている。このように、特殊CA4−1、特殊CB4−1、特殊CC4−1の変動パターン種別は、大当り種別が「突確」となる場合と、可変表示結果が「小当り」となる場合で共通の変動パターン種別となっている。すなわち、大当り種別が「突確」である場合に用いられる図35(D)に示す大当り用変動パターン種別決定テーブル132Dや、図36(B)に示す大当り用変動パターン種別決定テーブル132H、図36(C)に示す大当り用変動パターン種別決定テーブル132Iと、可変表示結果が「小当り」となる場合に用いられる図37(A)に示す小当り用変動パターン種別決定テーブル133Aや、図37(B)に示す小当り用変動パターン種別決定テーブル133B、図37(C)に示す小当り用変動パターン種別決定テーブル133Cとには、共通の変動パターン種別が含まれるように設定されている。
図38(A)〜(C)は、ROM506に記憶されるリーチ判定テーブルの構成例を示している。この実施の形態では、リーチ判定テーブルとして、図38(A)〜(C)に示すリーチ判定テーブル134A〜134Cが、予め用意されている。リーチ判定テーブル134A〜134Cはそれぞれ、可変表示結果を「ハズレ」として大当り遊技状態や小当り遊技状態に制御しないと判定されたときに、飾り図柄をリーチ表示状態で導出表示するか否かを、リーチ判定用の乱数値MR3に基づいて決定するために参照されるテーブルである。各リーチ判定テーブル134A〜134Cは、例えば図38(D)に示すようなテーブル選択設定に従い、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかに応じて、使用テーブルとして選択される。各リーチ判定テーブル134A〜134Cでは、リーチ判定用の乱数値MR3が、非リーチHA1−1〜非リーチHA1−5、非リーチHB1−1、非リーチHB1−2、非リーチHC1−1、非リーチHC1−2といった可変表示態様を「非リーチ」とする旨の判定結果や、リーチHA2−1〜リーチHA2−3、リーチHB2−1、リーチHC2−1といった可変表示態様を「リーチ」とする旨の判定結果のいずれかと対応付けられるように、割り振られている。
ここで、例えば図38(A)に示すリーチ判定テーブル134Aの設定では、合計保留記憶数が「0」である場合に対応して、リーチ判定用の乱数値MR3のうち「1」〜「204」の範囲の値が非リーチHA1−1の判定結果に割り振られる一方で「205」〜「239」の範囲の値がリーチHA2−1の判定結果に割り振られる。また、合計保留記憶数が「1」である場合に対応して、リーチ判定用の乱数値MR3のうち非リーチHA1−1に割り振られる乱数値の個数よりも多い「1」〜「217」の範囲の値が、非リーチHA1−2の判定結果に割り振られる。さらに、合計保留記憶数が「2」である場合に対応して、リーチ判定用の乱数値MR3のうち非リーチHA1−1や非リーチHA1−2に割り振られる乱数値の個数よりも多い「1」〜「220」の範囲の値が、非リーチHA1−3の判定結果に割り振られる。合計保留記憶数が「3」又は「4」である場合に対応して、非リーチHA1−1〜非リーチHA1−3のそれぞれに割り当てられる決定値の個数よりも多い「1」〜「230」の範囲の判定値が、非リーチHA1−4の判定結果に割り振られる。合計保留記憶数が「5」〜「8」のいずれかである場合に対応して、非リーチHA1−1〜非リーチHA1−4のそれぞれに割り当てられる決定値の個数よりも多い「1」〜「233」の範囲の判定値が、非リーチHA1−5の判定結果に割り振られる。このような設定により、合計保留記憶数が所定数(例えば「3」)以上であるときには、所定数未満であるときに比べて、可変表示態様を「リーチ」とする旨の判定がなされる割合が低くなる。そして、「非リーチ」に対応した変動パターンにおける平均的な特図変動時間が「リーチ」に対応した変動パターンにおける平均的な特図変動時間に比べて短くなるように設定されていれば、合計保留記憶数が所定数以上であるときには、所定数未満であるときに比べて、平均的な特図変動時間を短縮することができる。
図39(A)〜(C)は、ROM506に記憶されるリーチ用変動パターン種別決定テーブルの構成例を示している。この実施の形態では、リーチ用変動パターン種別決定テーブルとして、図39(A)〜(C)に示すリーチ用変動パターン種別決定テーブル135A〜135Cが、予め用意されている。リーチ用変動パターン種別決定テーブル135A〜135Cはそれぞれ、可変表示結果を「ハズレ」として可変表示態様を「リーチ」とする旨の判定がなされたときに、変動パターン種別を、変動パターン種別決定用の乱数値MR4に基づいて決定するために参照されるテーブルである。各リーチ用変動パターン種別決定テーブル135A〜135Cは、リーチHA2−1〜リーチHA2−3、リーチHB2−1、リーチHC2−1といった可変表示態様を「リーチ」とする旨の判定結果に応じて、使用テーブルとして選択される。すなわち、リーチHA2−1〜リーチHA2−3の判定結果に応じてリーチ用変動パターン種別決定テーブル135Aが使用テーブルとして選択され、リーチHB2−1の判定結果に応じてリーチ用変動パターン種別決定テーブル135Bが使用テーブルとして選択され、リーチHC2−1の判定結果に応じてリーチ用変動パターン種別決定テーブル135Cが使用テーブルとして選択される。各リーチ用変動パターン種別決定テーブル135A〜135Cでは、可変表示態様を「リーチ」とする旨の判定結果がリーチHA2−1〜リーチHA2−3、リーチHB2−1、リーチHC2−1のいずれであるかに応じて、変動パターン種別決定用の乱数値MR4が、ノーマルCA2−1、スーパーCA2−2、スーパーCA2−3、スーパーCB2−1、スーパーCB2−2といった複数種類の変動パターン種別のいずれかと対応付けられるように、割り振られている。
ここで、例えば図39(A)に示すリーチ用変動パターン種別決定テーブル135Aの設定例では、リーチHA2−1の判定結果に対応して、変動パターン種別決定用の乱数値MR4のうち「0」〜「128」の範囲の値がノーマルCA2−1の変動パターン種別に割り振られる一方で、それ以外の乱数値がスーパーCA2−2やスーパーCA2−3の変動パターン種別に割り振られる。また、リーチHA2−2の判定結果に対応して、変動パターン種別決定用の乱数値MR4のうち「0」〜「170」の範囲の値がノーマルCA2−1の変動パターン種別に割り振られる。さらに、リーチHA2−3の判定結果に対応して、変動パターン種別決定用の乱数値MR4のうち「0」〜「182」の範囲の値がノーマルCA2−1の変動パターン種別に割り振られる。リーチHA2−1の判定結果は、図38(A)に示すリーチ判定テーブル134Aの設定により、合計保留記憶数が「0」である場合に対応して、リーチ判定用の乱数値MR3が割り振られている。リーチHA2−2の判定結果は、合計保留記憶数が「1」である場合や「2」である場合に対応して、リーチ判定用の乱数値MR3が割り振られている。リーチHA2−3の判定結果は、合計保留記憶数が「3」、「4」のいずれかである場合や「5」〜「8」のいずれかである場合に対応して、リーチ判定用の乱数値MR3が割り振られれている。これらの設定により、合計保留記憶数が所定数(例えば「1」)以上であるときには、所定数未満であるときに比べて、「ノーマル」のリーチ演出(ノーマルリーチ)が実行されるノーマルCA2−1の変動パターン種別に決定される割合が高くなる。そして、「ノーマル」のリーチ演出を実行する変動パターンにおける平均的な特図変動時間が「ノーマル」以外のリーチ演出を実行する変動パターンにおける平均的な特図変動時間に比べて短くなるように設定されていれば、合計保留記憶数が所定数以上であるときには、所定数未満であるときに比べて、平均的な特図変動時間を短縮することができる。
図40(A)〜(C)は、ROM506に記憶される非リーチ用変動パターン種別決定テーブルの構成例を示している。この実施の形態では、非リーチ用変動パターン種別決定テーブルとして、図40(A)〜(C)に示す非リーチ用変動パターン種別決定テーブル136A〜136Cが、予め用意されている。非リーチ用変動パターン種別決定テーブル136A〜136Cはそれぞれ、可変表示結果を「ハズレ」として可変表示態様を「非リーチ」とする旨の判定がなされたときに、変動パターン種別を、変動パターン種別決定用の乱数値MR4に基づいて決定するために参照されるテーブルである。各非リーチ用変動パターン種別決定テーブル136A〜136Cは、非リーチHA1−1〜非リーチHA1−5、非リーチHB1−1、非リーチHB1−2、非リーチHC1−1、非リーチHC1−2といった可変表示態様を「非リーチ」とする旨の判定結果に応じて、使用テーブルとして選択される。すなわち、非リーチHA1−1〜非リーチHA1−5の判定結果に応じて非リーチ用変動パターン種別決定テーブル136Aが使用テーブルとして選択され、非リーチHB1−1、非リーチHB1−2の判定結果に応じて非リーチ用変動パターン種別決定テーブル136Bが使用テーブルとして選択され、非リーチHC1−1、非リーチHC1−2の判定結果に応じて非リーチ用変動パターン種別決定テーブル136Cが使用テーブルとして選択される。各非リーチ用変動パターン種別決定テーブル136A〜136Cでは、可変表示態様を「非リーチ」とする旨の判定結果が非リーチHA1−1〜非リーチHA1−5、非リーチHB1−1、非リーチHB1−2、非リーチHC1−1、非リーチHC1−2のいずれであるかに応じて、変動パターン種別決定用の乱数値MR4が、非リーチCA1−1〜非リーチCA1−4、非リーチCB1−1〜非リーチCB1−3、非リーチCC1−1〜非リーチCC1−3といった複数種類の変動パターン種別のいずれかと対応付けられるように、割り振られている。
図41、図42(A)及び(B)は、ROM506に記憶される当り変動パターン決定テーブルの構成例を示している。この実施の形態では、当り変動パターン決定テーブルとして、図41に示す当り変動パターン決定テーブル137Aと、図42(A)に示す当り変動パターン決定テーブル137Bと、図42(B)に示す当り変動パターン決定テーブル137Cとが、予め用意されている。当り変動パターン決定テーブル137A〜137Cはそれぞれ、可変表示結果を「大当り」または「小当り」とする旨の判定がなされたときに、大当り種別や変動パターン種別の決定結果に応じて、変動パターンを、変動パターン決定用の乱数値MR5に基づいて決定するために参照されるテーブルである。各当り変動パターン決定テーブル137A〜137Cは、変動パターン種別の決定結果に応じて、使用テーブルとして選択される。すなわち、変動パターン種別をノーマルCA3−1、スーパーCA3−2〜スーパーCA3−8のいずれかとする旨の決定結果に応じて当り変動パターン決定テーブル137Aが使用テーブルとして選択され、変動パターン種別をスーパーCB3−1〜スーパーCB3−5のいずれかとする旨の決定結果に応じて当り変動パターン決定テーブル137Bが使用テーブルとして選択され、変動パターン種別を特殊CA4−1、特殊CA4−2、特殊CB4−1、特殊CB4−2、特殊CC4−1、特殊CC4−2のいずれかとする旨の決定結果に応じて当り変動パターン決定テーブル137Cが使用テーブルとして選択される。各当り変動パターン決定テーブル137A〜137Cでは、変動パターン種別に応じて、変動パターン決定用の乱数値MR5が、飾り図柄の可変表示結果を「大当り」または「小当り」とする場合に対応した複数種類の変動パターンのいずれかと対応付けられるように、割り振られている。
図43及び図44は、ROM506に記憶されるハズレ変動パターン決定テーブルの構成例を示している。この実施の形態では、ハズレ変動パターン決定テーブルとして、図43に示すハズレ変動パターン決定テーブル138Aと、図44に示すハズレ変動パターン決定テーブル138Bとが、予め用意されている。ハズレ変動パターン決定テーブル138A、138Bはそれぞれ、可変表示結果を「ハズレ」とする旨の判定がなされたときに、リーチ判定結果や変動パターン種別の決定結果に応じて、変動パターンを、変動パターン決定用の乱数値MR5に基づいて決定するために参照されるテーブルである。各ハズレ変動パターン決定テーブル138A、138Bは、変動パターン種別の決定結果に応じて、使用テーブルとして選択される。すなわち、変動パターン種別を非リーチCA1−1〜非リーチCA1−4、非リーチCB1−1〜非リーチCB1−3、非リーチCC1−1〜非リーチCC1−3のいずれかとする旨の決定結果に応じてハズレ変動パターン決定テーブル138Aが使用テーブルとして選択され、変動パターン種別をノーマルCA2−1、スーパーCA2−2、スーパーCA2−3、スーパーCB2−1、スーパーCB2−2のいずれかとする旨の決定結果に応じてハズレ変動パターン決定テーブル138Bが使用テーブルとして選択される。ハズレ変動パターン決定テーブル138Aでは、変動パターン種別に応じて、変動パターン決定用の乱数値MR5が、飾り図柄の可変表示結果を「ハズレ」とし可変表示態様を「非リーチ」とする場合に対応した複数種類の変動パターンのいずれかと対応付けられるように、割り振られている。ハズレ変動パターン決定テーブル138Bでは、変動パターン種別に応じて、変動パターン決定用の乱数値MR5が、飾り図柄の可変表示結果を「ハズレ」とし可変表示態様が「リーチ」とする場合に対応した複数種類の変動パターンのいずれかと対応付けられるように、割り振られている。
ここで、図44に示すハズレ変動パターン決定テーブル138Aの設定例では、非リーチCA1−4や非リーチCC1−2といった非リーチの変動パターン種別となる場合に対応して、非リーチPA1−4〜非リーチPA1−7といった特定演出を実行する変動パターンに、変動パターン決定用の乱数値MR5が割り振られている。また、非リーチCB1−3の変動パターン種別に対応して、変動パターン決定用の乱数値MR5のうち、「0」〜「100」の範囲の値が「発展チャンス目終了」の特定演出を実行する非リーチPA1−7の変動パターンに割り振られている。このような設定により、可変表示結果を「ハズレ」とする旨の判定結果、及び、飾り図柄の可変表示状態を「非リーチ」とする旨の判定結果に対応して、変動パターンを非リーチPA1−4〜非リーチPA1−7のいずれかに決定し、特定演出となる演出動作を実行することができる。
そして、非リーチCA1−4の変動パターン種別に対しては、図40(A)に示す非リーチ用変動パターン種別変動パターンの136Aにおいて、変動パターン種別決定用の乱数値MR4のうち、非リーチHA1−1の判定結果に対応して「217」〜「241」の範囲の値が割り振られ、非リーチHA1−2の判定結果に対応して「230」〜「241」の範囲の値が割り振られ、非リーチHA1−3の判定結果に対応して「231」〜「241」の範囲の値が割り振られ、非リーチHA1−4の判定結果と非リーチHA1−5の判定結果のそれぞれに対応して「237」〜「241」の範囲の値が割り振られる。ここで、非リーチHA1−1の判定結果に対しては、図38(A)に示すリーチ判定テーブル134Aにおいて、合計保留記憶数が「0」である場合に対応して、リーチ判定用の乱数値MR3のうち「0」〜「204」の範囲の値が割り振られる。非リーチHA1−2の判定結果に対しては、リーチ判定テーブル134Aにおいて、合計保留記憶数が「1」に対応して、リーチ判定用の乱数値MR3のうち「0」〜「217」の範囲の値が割り振られる。非リーチHA1−3の判定結果に対しては、リーチ判定テーブル134Aにおいて、合計保留記憶数が「2」に対応して、リーチ判定用の乱数値MR3のうち「0」〜「220」の範囲の値が割り振られる。非リーチHA1−4の判定結果に対しては、リーチ判定テーブル134Aにおいて、合計保留記憶数が「3」、「4」に対応して、リーチ判定用の乱数値MR3のうち「0」〜「230」の範囲の値が割り振られる。非リーチHA1−5の判定結果に対しては、リーチ判定テーブル134Aにおいて、合計保留記憶数が「5」〜「8」に対応して、リーチ判定用の乱数値MR3のうち「0」〜「233」の範囲の値が割り振られる。したがって、合計保留記憶数が「1」や「2」である場合には、合計保留記憶数が「0」である場合に比べて、非リーチCA1−4の変動パターン種別に決定される割合が低くなる。また、合計保留記憶数が「3」、「4」あるいは「5」〜「8」のいずれかである場合には、合計保留記憶数が「0」である場合や、「1」または「2」である場合に比べて、非リーチCA1−4の変動パターン種別に決定される割合が低くなる。
図31に示す変動パターンの一例では、特定演出が実行されない非リーチPA1−1の変動パターンにおける特図変動時間が5.75秒であり、非リーチPA1−2の変動パターンにおける特図変動時間が3.75秒であり、非リーチPA1−3の変動パターンにおける特図変動時間が1.50秒である。これに対して、「滑り」の特定演出が実行される非リーチPA1−4の変動パターンにおける特図変動時間は8.25秒であり、「擬似連」の特定演出が実行される非リーチPA1−5の変動パターンにおける特図変動時間は16.70秒であり、「イントロ」の特定演出が実行される非リーチPA1−6の変動パターンにおける特図変動時間は7.75秒であり、「発展チャンス目終了」の特定演出が実行される非リーチPA1−7の変動パターンにおける特図変動時間は9.25秒である。すなわち、「非リーチ」に対応して特定演出が実行される変動パターンにおける特図変動時間はいずれも、特定演出が実行されない変動パターンにおける特図変動時間に比べて長くなっている。そして、合計保留記憶数が「1」以上である場合には、「0」である場合に比べて特定演出を実行する非リーチCA1−4の変動パターン種別に決定される割合が低くなっており、また、合計保留記憶数が「3」以上である場合には、「3」未満である場合に比べて非リーチCA1−4の変動パターン種別に決定される割合が低くなっている。こうして、合計保留記憶数が所定数以上であるときには、所定数未満であるときに比べて、平均的な特図変動時間を短縮することができる。
遊技制御用マイクロコンピュータ100が備えるRAM507には、パチンコ遊技機1における遊技の進行などを制御するために用いられる各種のデータを保持する領域として、例えば図45に示すような遊技制御用データ保持エリア590が設けられている。図45に示す遊技制御用データ保持エリア590は、第1特図保留記憶部591Aと、第2特図保留記憶部591Bと、始動データ記憶部591Cと、遊技制御フラグ設定部592と、遊技制御タイマ設定部593と、遊技制御カウンタ設定部594と、遊技制御バッファ設定部595とを備えている。また、RAM507としては、例えばDRAM(Dynamic RAM)が使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要になる。CPU505には、このリフレッシュ動作を行うためのリフレッシュレジスタが内蔵されている。例えば、リフレッシュレジスタは8ビットからなり、そのうち下位7ビットはCPU505がROM506から命令フェッチするごとに自動的にインクリメントされる。したがって、リフレッシュレジスタにおける格納値の更新は、CPU505における1命令の実行時間ごとに行われることになる。
第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は、別々に設けるようにしてもよいし、これらを組み合わせた記憶領域を設けるようにしてもよい。一例として、図46に示すように、始動データ記憶領域と乱数値記憶領域とを組み合わせた領域を8つ含む記憶領域を設けるようにしてもよい。図46に示す構成において、始動データ記憶領域と乱数値記憶領域の各領域には、RAM507における連続したアドレスが割り当てられればよい。
図46に示す構成では、例えば合計保留記憶数に基づいてデータ格納先のアドレスを指定するポインタの値を更新することによって、空き領域の先頭となる始動データ記憶領域に、始動データをセットする。このとき、空き領域の先頭を特定するには、例えば1つの保留データ(始動データと乱数値を示す数値データ)におけるデータ数を合計保留記憶数に乗算した値に1加算した値(始動データ記憶領域1つ分を加算した値)を、アドレスのオフセット値として特定する。こうして特定したオフセット値に従ってポインタの値を更新すればよい。図46に示す構成では、1つの保留データに対応して始動データ記憶領域と乱数値記憶領域が1つずつの合計2つのデータ格納領域が設けられている。そこで、合計保留記憶数を2倍した値に1加算した値がアドレスのオフセット値として特定される。一例として、合計保留記憶数が「3」である場合には、オフセット値として「+7」(合計保留記憶数「3」を2倍した後に1加算した値)が特定され、このオフセット値に対応した始動データ記憶領域に始動データをセットすることになる。また、1つの保留データに対応して1つの始動データ記憶領域と2つの乱数値記憶領域との合計3つのデータ格納領域が設けられている場合には、合計保留記憶数を3倍した値に1加算した値(始動データ記憶領域1つ分を加算した値)が、アドレスのオフセット値として特定されればよい。
また、データ格納先のアドレスを指定するポインタの初期位置を図46に示す保留番号「1」に対応した始動データ記憶領域とする場合には、1つの保留データにおけるデータ数を合計保留記憶数に乗算した値が、アドレスのオフセット値として特定されればよい。例えば、図46に示す構成では、合計保留記憶数を2倍した値が、アドレスのオフセット値として特定されればよい。また、1つの保留データに対応して1つの始動データ記憶領域と2つの乱数値記憶領域との合計3つのデータ格納領域が設けられている場合には、合計保留記憶数を3倍した値が、アドレスのオフセット値として特定されればよい。こうして始動データ記憶領域に始動データをセットした後には、アドレスを指定するポインタの値を1加算して、加算後のポインタが指すアドレスの乱数値記憶領域に、乱数値を示す数値データを格納すればよい。
遊技制御フラグ設定部592には、パチンコ遊技機1における遊技の進行状況などに応じて状態を更新可能な複数種類のフラグが設けられている。例えば、遊技制御フラグ設定部592には、複数種類のフラグそれぞれについて、フラグの値を示すデータや、オン状態あるいはオフ状態を示すデータが記憶される。この実施の形態では、遊技制御フラグ設定部592に、特図プロセスフラグ、普図プロセスフラグ、大当りフラグ、小当りフラグ、確変フラグ、時短フラグなどが設けられている。
特図プロセスフラグは、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームの進行や、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームの進行などを制御するために実行される図51のステップS95や図53に示す特別図柄プロセス処理において、どの処理を選択・実行すべきかを指示する。普図プロセスフラグは、普通図柄表示器20による普通図柄を用いた普図ゲームの進行などを制御するために実行される図51のステップS96に示す普通図柄プロセス処理において、どの処理を選択・実行すべきかを指示する。
大当りフラグは、特図ゲームが開始されるときに可変表示結果を「大当り」とする旨の判定結果に対応して、オン状態にセットされる。その一方で、特図ゲームにおける確定特別図柄として大当り図柄が停止表示されたことなどに対応して、クリアされてオフ状態となる。小当りフラグは、特図ゲームが開始されるときに可変表示結果を「小当り」とする旨の判定結果に対応して、オン状態にセットされる。その一方で、特図ゲームにおける確定特別図柄として小当り図柄が停止表示されたことなどに対応して、クリアされてオフ状態となる。確変フラグは、パチンコ遊技機1における遊技状態が確変状態に制御されることに対応してオン状態にセットされる一方で、確変状態が終了することなどに対応してクリアされてオフ状態となる。時短フラグは、パチンコ遊技機1における遊技状態が時短状態に制御されることに対応してオン状態にセットされる一方で、時短状態が終了することなどに対応してクリアされてオフ状態となる。
遊技制御タイマ設定部593には、パチンコ遊技機1における遊技の進行を制御するために用いられる各種のタイマが設けられている。例えば、遊技制御タイマ設定部593には、複数種類のタイマそれぞれにおけるタイマ値を示すデータが記憶される。この実施の形態では、遊技制御タイマ設定部593に、遊技制御プロセスタイマ、特図変動タイマ、普図変動タイマなどが設けられている。
遊技制御プロセスタイマは、例えば大当り遊技状態あるいは小当り遊技状態の進行を制御するための時間などを、主基板11の側にて計測するためのものである。具体的な一例として、遊技制御プロセスタイマは、大当り遊技状態あるいは小当り遊技状態の進行を制御するために計測する時間に対応したタイマ値を示すデータを、遊技制御プロセスタイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、遊技制御プロセスタイマは、大当り遊技状態もしくは小当り遊技状態の開始時点といった、所定時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
特図変動タイマは、特図ゲームの実行時間である特図変動時間といった特図ゲームの進行を制御するための時間を、主基板11の側にて計測するためのものである。具体的な一例として、特図変動タイマは、特図ゲームの進行を制御するために計測する時間に対応したタイマ値を示すデータを、特図変動タイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、特図変動タイマは、特図ゲームの開始時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
普図変動タイマは、普図ゲームの実行時間である普図変動時間といった普図ゲームの進行を制御するための時間を、主基板11の側にて計測するためのものである。具体的な一例として、普図変動タイマは、普図ゲームの進行を制御するために計測する時間に対応したタイマ値を示すデータを、普図変動タイマ値として記憶し、定期的にカウントダウンするダウンカウンタとして用いられる。あるいは、普図変動タイマは、普図ゲームの開始時点からの経過時間に対応したタイマ値を示すデータを記憶し、定期的にカウントアップするアップカウンタとして用いられてもよい。
遊技制御カウンタ設定部594には、パチンコ遊技機1における遊技の進行を制御するために用いられるカウント値を計数するためのカウンタが複数種類設けられている。例えば、遊技制御カウンタ設定部594には、複数種類のカウンタそれぞれにおけるカウント値を示すデータが記憶される。この実施の形態では、遊技制御カウンタ設定部594に、ランダムカウンタ、第1保留記憶数カウンタ、第2保留記憶数カウンタ、合計保留記憶数カウンタ、ラウンド数カウンタ、第1始動入賞判定カウンタ、第2始動入賞判定カウンタなどが設けられている。
遊技制御カウンタ設定部594のランダムカウンタは、遊技の進行を制御するために用いられる乱数値を示す数値データの一部を、乱数回路509とは別個に、CPU505がソフトウェアにより更新可能にカウントするためのものである。例えば、遊技制御カウンタ設定部594のランダムカウンタには、乱数値MR1〜MR6を示す数値データが、ランダムカウント値として記憶される。そして、乱数値MR2〜MR5については、CPU505によるソフトウェアの実行に応じて、定期的あるいは不定期に、各乱数値を示す数値データが更新される。
ラウンド数カウンタは、大当り遊技状態におけるラウンドの実行回数などをカウントするためのものである。例えば、ラウンド数カウンタには、大当り遊技状態の開始時にカウント初期値「1」を示すデータが、ラウンド数カウント値として設定される。そして、1回のラウンドが終了して次回のラウンドが開始されるときに、ラウンド数カウント値が1加算されて更新される。また、ラウンド数カウンタは、小当り遊技状態における可変入賞動作の実行回数もカウントするようにしてもよい。
第1始動入賞判定カウンタは、第1始動口スイッチ22Aから伝送される検出信号としての第1始動入賞信号SS1がオン状態となっているときに、遊技制御用のタイマ割込みが発生するごとにカウントアップされるアップカウンタとして用いられる。そして、第1始動入賞判定カウンタの値である第1始動入賞判定カウント値が所定の入賞判定値(例えば「2」)に達したときに、第1始動入賞口に進入した遊技球を有効に検出したと判定される。
第2始動入賞判定カウンタは、第2始動口スイッチ22Bから伝送される検出信号としての第2始動入賞信号SS2がオン状態となっているときに、遊技制御用のタイマ割込みが発生するごとにカウントアップされるアップカウンタとして用いられる。そして、第2始動入賞判定カウンタの値である第2始動入賞判定カウント値が所定の入賞判定値(例えば「2」)に達したときに、第2始動入賞口に進入した遊技球を有効に検出したと判定される。
遊技制御バッファ設定部595は、パチンコ遊技機1における遊技の進行を制御するために用いられるデータを一時的に記憶する各種のバッファが設けられている。例えば、遊技制御バッファ設定部595には、複数種類のバッファそれぞれにおけるバッファ値を示すデータが記憶される。この実施の形態では、遊技制御バッファ設定部595に、送信コマンドバッファ、変動特図指定バッファ、大当り種別バッファ、始動口バッファなどが設けられている。
送信コマンドバッファは、主基板11からサブ側の制御基板に対して制御コマンドを送信するための設定データを一時的に格納するために用いられる。例えば、送信コマンドバッファは、複数(例えば「12」)のバッファ領域を備えて構成され、送信する制御コマンドに対応したコマンドテーブルのROM506における記憶アドレスを示す設定データなどが、各バッファ領域に格納される。また、送信コマンドバッファにおいて設定データの書込や読出を行うバッファ領域は、送信コマンドポインタなどによって指定され、複数のバッファ領域をリングバッファとして使用することができるように構成されていればよい。
変動特図指定バッファには、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームと、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームのうち、いずれの特図ゲームが実行されるかを示すバッファ値が格納される。一例として、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームが実行されることに対応して、変動特図指定バッファの値(変動特図指定バッファ値)が“1”に設定される。また、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームが実行されることに対応して、変動特図指定バッファ値が“2”に設定される。そして、特図ゲームが終了したことなどに対応して、変動特図指定バッファ値が“0”に設定される。
大当り種別バッファには、可変表示結果が「大当り」となる場合における飾り図柄の可変表示態様を、「通常」、「第1確変」〜「第3確変」、「突確」といった複数種類の大当り種別のいずれかとする決定結果に対応したバッファ値が格納される。一例として、図34に示すような大当り種別決定テーブル131での設定に基づき、大当り種別が「通常」の場合には大当り種別バッファの値(大当り種別バッファ値)が「0」に設定され、大当り種別が「第1確変」の場合には大当り種別バッファ値が「1」に設定され、大当り種別が「第2確変」の場合には大当り種別バッファ値が「2」に設定され、大当り種別が「第3確変」の場合には大当り種別バッファ値が「3」に設定され、大当り種別が「突確」の場合には大当り種別バッファ値が「4」に設定される。
始動口バッファには、普通入賞球装置6Aが形成する第1始動入賞口と、普通可変入賞球装置6Bが形成する第2始動入賞口のうち、いずれの始動入賞口に進入した遊技球が有効に検出されたかに対応したバッファ値が、始動口バッファ値として格納される。一例として、第1始動入賞口に進入した遊技球が第1始動口スイッチ22Aにより有効に検出されたときには、始動口バッファ値が「1」に設定され、第2始動入賞口に進入した遊技球が第2始動口スイッチ22Bにより有効に検出されたときには、始動口バッファ値が「2」に設定される。
図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に内蔵されたシリアル通信回路にて受信される。
なお、演出制御基板12と画像表示装置5の間には、画像データにおける解像度を変換するためのスケーラ回路が設けられていてもよい。この場合、演出制御基板12に搭載されたVDP121が演出制御用マイクロコンピュータ120からの描画コマンドに応じて生成した画像データは、スケーラ回路により解像度が変換された後、画像表示装置5に供給される。具体的な一例として、スケーラ回路は、VDPによって生成された第1の解像度による画像データを入力し、垂直方向及び水平方向のいずれか一方あるいは双方について、以下のような処理を施すことにより、入力された画像データを第1の解像度とは異なる第2の解像度に変換する。
例えば、垂直方向における解像度を変換する場合には、入力された画像データの垂直方向に沿って第1のサンプルレートでアップサンプリングを行った後、予め用意されたフィルタ(例えばFIRフィルタ)によるフィルタリング処理を施す。その後、垂直方向に沿って所定のスケーリング係数に対応する第2のサンプルレートでダウンサンプリングを行うようにすればよい。また、水平方向における解像度を変換する場合には、入力された画像データの水平方向に沿って、垂直方向と同じようなアップサンプリング、フィルタリング処理及びダウンサンプリングを行うようにすればよい。具体的な一例として、VDPによってVGAモード(640×480ピクセル)の画像データが生成された場合に、スケーラ回路における変換処理により、その画像データをSXGAモード(1280×1024ピクセル)、あるいは他のモードに変換することが可能になる。
音声制御基板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に基づき、図47のフローチャートに示すようなセキュリティチェック処理が実行される。このとき、遊技制御用マイクロコンピュータ100は、セキュリティモードとなり、ROM506に記憶されているゲーム制御用のユーザプログラムは未だ実行されない状態となる。
図47に示すセキュリティチェック処理を開始すると、CPU505は、まず、セキュリティチェック処理が実行されることにより遊技制御用マイクロコンピュータ100がセキュリティモードとなる時間(セキュリティ時間)を決定するための処理を実行する。このとき、CPU505は、ROM506のプログラム管理エリアに記憶されるセキュリティ時間設定KSESのビット番号[2−0]におけるビット値を読み出す(ステップS1)。そして、この読出値が“000”であるか否かを判定する(ステップS2)。
ステップS2にて読出値が“000”と判定された場合には(ステップS2;Yes)、定常設定時間を既定の固定時間に設定する(ステップS3)。ここで、定常設定時間は、セキュリティ時間のうち、パチンコ遊技機1におけるシステムリセットの発生等に基づくセキュリティチェック処理の実行回数(遊技制御用マイクロコンピュータ100がセキュリティーモードとなる回数)に関わりなく、一定となる時間成分である。また、固定時間は、セキュリティ時間のうち、遊技制御用マイクロコンピュータ100の仕様などに基づいて予め定められた不変時間成分であり、例えばセキュリティ時間として設定可能な最小値となるものであればよい。
ステップS2にて読出値が“000”以外と判定された場合には(ステップS2;No)、その読出値に対応して、固定時間に加えて図12(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)に設定することなどにより、遊技制御メイン処理の実行を開始する。こうして、遊技制御メイン処理の実行が開始されることにより、遊技制御用マイクロコンピュータ100の動作状態がセキュリティモードからユーザモードへと移行し、ROM506に記憶されたユーザプログラムの実行が開始されることになる。
図48は、遊技制御用マイクロコンピュータ100のCPU505により実行される遊技制御メイン処理の一例を示すフローチャートである。なお、以下に説明する各処理は、遊技制御用マイクロコンピュータ100が備えるCPU505によって実行されるものとする。また、遊技制御用マイクロコンピュータ100が備えるCTC508や乱数回路509、シリアル通信回路511などで発生した各種の割込み要因に基づく割込み要求は、CPU505に所定の割込み処理を実行させるためのものである。そして、CPU505やCPU505以外の各種回路を含んだ概念を遊技制御用マイクロコンピュータ100ということもあるものとする。図48に示す遊技制御メイン処理を開始すると、CPU505は、まず、割込禁止に設定し(ステップS21)、割込モードの設定を行う(ステップS22)。例えば、ステップS22では、遊技制御用マイクロコンピュータ100の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビットは“0”)とを合成することにより割込アドレスが生成されるマスク可能割込の割込モード[2]が設定される。マスク可能な割込みが発生したときには、CPU505が自動的に割込禁止状態となる設定を行うとともに、プログラムカウンタの内容がスタックにセーブされればよい。
続いて、例えばスタックポインタ指定アドレスの設定など、スタックポインタに関わる設定を行う(ステップS23)。また、図9(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を読み出して、図49のフローチャートに示すような乱数回路設定処理が実行される。なお、ステップS33の処理は、ステップS24の処理やステップS25の処理が実行されるときに、実行されるようにしてもよい。
図49に示す乱数回路設定処理において、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”とされている場合には、乱数のスタート値をデフォルト値「0001H」とする設定がなされる。また、第2乱数初期設定KRS2のビット番号[1]におけるビット値が予め“1”とされている場合には、乱数のスタート値をIDナンバーに基づく値とする設定がなされる。
さらに、第2乱数初期設定KRS2のビット番号[0]におけるビット値に基づき、乱数値となる数値データのスタート値をシステムリセット毎に変更するか否かの設定を行う(ステップS55)。例えば、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“0”とされている場合には、パチンコ遊技機1の電源初期投入時(バックアップ無効後の起動)における起動であるか、システムリセットによる再起動であるかに関わりなく、ステップS54にて設定した起動時スタート値をそのまま用いて、乱数回路509におけるスタート値とすればよい。また、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“1”とされている場合には、乱数のスタート値をシステムリセット毎に変更する設定がなされる。例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値が遊技制御用マイクロコンピュータ100に内蔵された乱数スタート値用レジスタに格納される場合には、ステップS55の処理において、乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、乱数のスタート値がシステムリセット毎に所定の数値範囲(例えば乱数生成回路553にて生成されるカウント値順列RCNに含まれる数値データの全部又は一部を含む範囲)でランダムに変化するように決定されればよい。こうしたステップS55の処理による設定が完了すると、乱数回路509では乱数値の生成動作が開始されればよい。
なお、乱数回路設定処理による設定は、CPU505の処理が介在することなく、乱数回路509がプログラム管理エリアの記憶データに基づき自律的に行うようにしてもよい。この場合、乱数回路509は、遊技制御用マイクロコンピュータ100がセキュリティモードとなっているときには初期設定を行わず、乱数値の生成動作が行われないようにしてもよい。そして、遊技制御用マイクロコンピュータ100にてCPU505がROM506に記憶されたユーザプログラムを読み出して遊技制御メイン処理の実行が開始されたときに、例えばCPU505から乱数回路509に対して初期設定を指示する制御信号が伝送されたことなどに応答して、乱数回路509が初期設定を行ってから乱数値の生成動作を開始するようにしてもよい。あるいは、特に乱数回路509が遊技制御用マイクロコンピュータ100に外付けされる場合などには、遊技制御用マイクロコンピュータ100がセキュリティモードとなっているときでも、乱数回路509がCPU505における処理とは独立して、プログラム管理エリアの記憶データに基づく初期設定を行ってから、乱数値の生成動作を開始するようにしてもよい。また、図48に示すステップS33の処理には、プログラム管理エリアに記憶されている割込み初期設定KIISを読み出して、リセット/割込みコントローラ504におけるマスカブル割込み要因の優先制御に関する設定を行う処理などが含まれてもよい。マスカブル割込み要因の優先順位を設定する際には、割込み初期設定KIISのビット番号[3−0]におけるビット値に対応して、最優先割込みの設定が行われる。例えば、割込み初期設定KIISのビット番号[3−0]のビット値を予め「04H」及び「05H」のいずれかとしておくことにより、シリアル通信回路511で発生した割込み要因による割込み処理を最優先で実行することができる。こうして、割込み初期設定KIISのビット番号[3−0]におけるビット値に応じたマスカブル割込み要因の優先制御を行うことにより、割込み処理の優先順位を任意に設定可能とし、設計の自由度を増大させることができる。
ステップS33での設定を行った後には、乱数回路509における動作異常の有無を検査するための乱数回路異常検査処理を実行する(ステップS34)。図50は、ステップS34にて実行される乱数回路異常検査処理の一例を示すフローチャートである。
図50に示す乱数回路異常検査処理において、CPU505は、まず、例えば遊技制御カウンタ設定部594などに設けられた乱数用クロック異常判定カウンタをクリアして、そのカウント値である乱数用クロック異常判定カウント値を「0」に初期化する(ステップS61)。続いて、内部情報レジスタCIFのビット番号[4]に格納されている内部情報データCIF4を読み出す(ステップS62)。そして、ステップS62での読出値が“1”であるか否かを判定する(ステップS63)。このとき、乱数回路509が備える周波数監視回路551によって、乱数用外部クロック端子ERCからの乱数用クロックRCLKに周波数異常が検知された場合には、内部情報データCIF4としてビット値“1”が書き込まれる。
そこで、ステップS63にて読出値が“1”と判定された場合には(ステップS63;Yes)、乱数用クロック異常判定カウント値を1加算するように更新する(ステップS64)。このときには、ステップS64での更新後におけるカウント値が所定のクロック異常判定値に達したか否かを判定する(ステップS65)。ここで、クロック異常判定値は、周波数監視回路551により乱数用クロックRCLKの周波数異常が連続して検知された場合にクロック異常と判定するために予め定められた数値であればよい。ステップS65にてクロック異常判定値に達していなければ、ステップS62の処理に戻り、再び内部情報データCIF4のビット値に基づく判定を行う。
ステップS65にてクロック異常判定値に達した場合には(ステップS65;Yes)、所定の乱数用クロックエラー時処理を実行してから(ステップS66)、乱数回路異常検査処理を終了する。なお、乱数用クロックエラー時処理では、例えば演出制御基板12に対して所定の演出制御コマンドを送信するための設定を行って、演出装置により乱数用クロックRCLKの周波数異常が検知されたことを報知させるとともに、所定のエラー解除手順(例えばシステムリセットやエラー解除スイッチの操作など)がとられるまでは、以後の処理には進まないようにしてもよい。また、乱数用クロックエラー時処理を実行することなく、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に対して所定の演出制御コマンドを送信するための設定を行って、演出装置により乱数値の異常が検知されたことを報知させるとともに、所定のエラー解除手順(例えばシステムリセットやエラー解除スイッチの操作など)がとられるまでは、以後の処理には進まないようにしてもよい。また、乱数値エラー時処理を実行することなく、CPU505の動作を停止状態(HALT)へ移行させてもよい。
なお、ステップS34の乱数回路異常検査処理は、CPU505が実行するものに限定されず、CPU505以外の遊技制御用マイクロコンピュータ100における内蔵回路により乱数回路異常検査処理が実行されてもよい。一例として、乱数回路509が乱数回路異常検査処理を実行する機能を有し、乱数用クロックRCLKの周波数異常が検知されたときや、乱数値の異常が検知されたときに、エラーの発生をCPU505に通知するようにしてもよい。また、乱数回路異常検査処理は、ステップS34のみにて実行されるものに限定されず、例えば遊技制御用マイクロコンピュータ100にてタイマ割込みが発生する毎に、後述する遊技制御用タイマ割込み処理(図51参照)にて乱数回路異常検査処理の一部又は全部が実行されるようにしてもよい。
図48に示すステップS34にて以上のような乱数回路異常検査処理を実行した後には、主基板11に設置された遊技開始スイッチ31から伝送されるスイッチ信号の信号状態などに基づき、遊技開始スイッチ31がオン操作されたか否かを判定する(ステップS35)。なお、ステップS35の処理では、遊技開始スイッチ35から伝送されるスイッチ信号を複数回チェックし、連続してオン状態となったときに、遊技開始スイッチ31がオン操作されたと判定してもよい。また、ステップS35の処理は、例えばステップS31及びステップS32の処理が実行された場合のように、復旧のない初期状態からのスタート時(コールドスタート時)に限り実行し、例えばステップS30の処理が実行された場合のように、電断前の遊技状態に復旧させるスタート時(ホットスタート時)には遊技開始スイッチ31の操作に関わりなく、例えば遊技制御用タイマ割込み処理といった、遊技の進行を制御する処理に進めるようにしてもよい。ここで、遊技制御用マイクロコンピュータ100が備えるRAM507にて遊技制御カウンタ設定部594に設けられたランダムカウンタとなる領域がバックアップ電源によりバックアップされている場合には、ホットスタート時であれば電断前のランダムカウンタにおける格納データを用いて乱数値となる数値データの更新を開始するので、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値を特定することは困難になる。これに対して、コールドスタート時には、例えばステップS31の処理でランダムカウンタがクリア(初期化)されてしまうことなどにより、一定の初期値(例えば「0」など)から乱数値の更新が開始され、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値が特定されてしまう可能性がある。そこで、コールドスタート時にはステップS35の処理が実行されて遊技開始スイッチ31がオン操作されるまで待機させ、パチンコ遊技機1の動作開始タイミングからランダムカウンタに格納された乱数値が特定されることを困難にする。これにより、特に大当り判定用の乱数値(例えば特図表示結果判定用の乱数値MR1)をソフトウェアのみで更新するような場合に、いわゆる「ぶら下げ基板」を接続してパチンコ遊技機1の動作開始タイミングから所定時間が経過したタイミングで不正信号が入力されても、不正な大当り遊技状態の発生を防止できる。また、ステップS35にて遊技開始スイッチ31がオン操作されていないと判定したときには、ステップS35の処理に戻る前に、乱数更新処理を実行して、ランダムカウンタに格納された乱数値をソフトウェアにより更新するようにしてもよい。これにより、遊技開始スイッチ31のオン操作がなされたタイミングからの経過時間に加えて、パチンコ遊技機1の動作開始タイミングから遊技開始スイッチ31のオン操作がなされるまでの経過時間も特定できなければ、たとえコールドスタート時でもランダムカウンタに格納された乱数値を特定することは困難になり、狙い撃ちや不正信号の入力などにより不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
ステップS35にて遊技開始スイッチ31がオフと判定された場合には(ステップS35;No)、ステップS35の処理を繰り返し実行して、遊技開始スイッチ31がオン操作されるまで待機する。これにより、遊技制御用マイクロコンピュータ100にて所定の初期設定処理が実行された後でも、遊技開始スイッチ31がオン操作されるまでは、例えば遊技制御用タイマ割込み処理といった、遊技の進行を制御する処理の実行が開始されない。なお、遊技制御用マイクロコンピュータ100にて実行される初期設定処理には、例えば図47に示すセキュリティチェック処理の全体や、図48に示す遊技制御メイン処理のうち、ステップS21〜S35の処理などが、含まれるものとすればよい。
ステップS35にて遊技開始スイッチ31がオンと判定された場合(ステップS35;Yes)、あるいは、ステップS35の処理を実行しない場合には、割込み許可状態に設定して(ステップS36)、各種割込み要求の発生を待機する。なお、ステップS36の処理も、遊技制御用マイクロコンピュータ100にて実行される初期設定処理に含まれるものとしてもよい。ステップS36の処理を実行した後には、例えばステップS25におけるCTC508の設定に基づき、2ミリ秒ごとに遊技制御用のタイマ割込みが発生するようになればよい。ステップS36の処理を実行した後には、乱数更新処理が繰り返し実行される(ステップS37)。
こうしてステップS25の処理が実行されることにより割込み許可状態となった後、例えばCTC508や乱数回路509、シリアル通信回路511の一部又は全部などにて同時に複数のマスカブル割込み要因が生じたときには、割込み初期設定KIISのビット番号[3−0]におけるビット値による指定に基づき、リセット/割込みコントローラ504によって優先順位の高い割込み要因が受け付けられる。リセット/割込みコントローラ504が割込み要因を受け付けたときには、例えばCPU505が備えるIクラス割込み(IRQ)端子などに対して、オン状態の割込み要求信号を出力する。CPU505にてIRQ端子にオン状態の割込み要求信号が入力されたときには、例えば内部レジスタの格納データを確認した結果などに基づき、発生した割込み要因を特定し、特定された割込み要因に対応するベクタアドレスを先頭アドレスとするプログラムを実行することにより、各割込み要因に基づく割込み処理を開始することができる。
具体的な一例として、割込み初期設定KIISのビット番号[3−0]におけるビット値が「04H」を示す場合には、まず、第1チャネルステータスレジスタSASTのビット番号[5]やビット番号[4]〜ビット番号[0]を読み出し、少なくとも1つのビット値が“1”となっているか否かを判定する。このとき、ビット値が“1”となっている箇所があれば、シリアル通信回路511にて発生した第1チャネル受信割込みの割込み要因に対応する割込み処理を実行するものと判断して、例えば割込み初期設定KIISのビット番号[7−4]におけるビット値などに基づいて割込みベクタにおけるベクタアドレスを設定し、そのベクタアドレスを先頭アドレスとするプログラムを実行する。また、第1チャネルステータスレジスタSASTのビット番号[5]やビット番号[4]〜ビット番号[0]におけるビット値がいずれも“0”であるときには、第1チャネルステータスレジスタSASTのビット番号「7」及びビット番号「6」を読み出し、いずれかのビット値が“1”となっているか否かを判定する。このとき、ビット値が“1”となっている箇所があれば、シリアル通信回路511にて発生した第1チャネル送信割込みの割込み要因に対応する割込み処理を実行する。その一方で、いずれのビット値も“0”であれば、第2チャネルステータスレジスタSASTのビット番号[7]及びビット番号[6]を読み出し、いずれかのビット値が“1”となっているか否かを判定する。このとき、ビット値が“1”となっている箇所があれば、シリアル通信回路511にて発生した第2チャネル送信割込みの割込み要因に対応する割込み処理を実行する。さらに、割込み要因がシリアル通信回路511におけるものではないときには、例えば乱数回路509における割込み要因、CTC508における割込み要因、外部マスカブル割込み端子XINTにおける外部割込み要因の順といった、所定の優先順位で割込み要因の発生の有無を判定し、発生が特定された割込み要因に対応した割込み処理を実行する。こうして、割込み初期設定KIISのビット番号[3−0]におけるビット値を「04H」とした場合には、シリアル通信回路511における第1チャネル受信割込み、第1チャネル送信割込み、第2チャネル送信割込み、乱数回路509からの割込み、CTC508からの割込み、外部マスカブル割込み端子XINTからの割込みの順という優先順位で、割込み要因発生の有無を特定し、特定された割込み要因に対応する割込み処理を実行することができる。
シリアル通信回路511が備える第1チャネル送受信回路571Aによる通信データの受信中に、オーバーランエラー、ブレークコードエラー、フレーミングエラー、パリティエラーという、4種類のエラーのいずれかが発生した場合には、第1チャネル受信割込みが発生する。このときには、CPU505が所定のシリアル通信エラー割込み処理を実行してもよい。このシリアル通信エラー割込み処理では、例えば第1チャネル通信設定レジスタSAFMのビット番号[7]及びビット番号[6]と、第2チャネル通信設定レジスタSBFMのビット番号[7]とにおけるビット値を、いずれも“0”に設定することなどにより、シリアル通信回路511における送信機能と受信機能をいずれも使用しないものと設定すればよい。また、第1チャネル送受信回路571Aによる通信データの受信中にエラーが発生したときには、払出モータ51を含む払出装置による遊技球の払い出しを禁止する制御を行うようにしてもよい。これにより、通信データの受信エラーなどによる異常が発生したときに、賞球となる遊技球の過剰な払い出しを防止することができる。
遊技制御用マイクロコンピュータ100では、例えばリセット/割込みコントローラ504がCTC508からの割込み要求を受け付けたことなどに基づき、CPU505が図51のフローチャートに示す遊技制御用タイマ割込み処理を実行する。図51に示す遊技制御用タイマ割込み処理において、CPU505は、まず、割込み禁止状態としてから、所定のスイッチ処理を実行することにより、スイッチ回路114を介して遊技球検出用の各スイッチ21、22A、22B、23などから入力される検出信号(入賞検出信号)の状態を判定する(ステップS91)。続いて、所定のメイン側エラー処理を実行することにより、パチンコ遊技機1の異常診断を行い、その診断結果に応じて必要ならば警告を発生可能とする(ステップS92)。例えば、メイン側エラー処理では、賞球過多や賞球不足、その他の動作エラーが発生した場合に対応して、異常動作の発生を報知するための設定などが行われてもよい。この後、所定の情報出力処理を実行することにより、例えばパチンコ遊技機1の外部に設置されたホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する(ステップS93)。
情報出力処理に続いて、乱数更新処理を実行する(ステップS94)。この後、CPU505は、特別図柄プロセス処理を実行する(ステップS95)。特別図柄プロセス処理では、遊技制御フラグ設定部592に設けられた特図プロセスフラグの値をパチンコ遊技機1における遊技の進行状況に応じて更新し、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおける表示動作の制御や特別可変入賞球装置7における大入賞口の開閉動作設定などを所定の手順で行うために、各種の処理が選択されて実行される。
特別図柄プロセス処理に続いて、普通図柄プロセス処理が実行される(ステップS96)。CPU505は、普通図柄プロセス処理を実行することにより、普通図柄表示器20における表示動作(例えばセグメントLEDの点灯、消灯など)を制御して、普通図柄の可変表示や普通可変入賞球装置6Bにおける可動翼片の傾動動作設定などを可能にする。普通図柄プロセス処理を実行した後、CPU505は、例えばステップS91におけるスイッチ処理の実行結果などに基づき、入賞検出信号の入力に応じて賞球個数の設定などを行う賞球処理を実行する(ステップS97)。賞球処理に続いて、メイン側通信制御処理を実行することにより、主基板11から演出制御基板12や払出制御基板15などのサブ側の制御基板に向けて制御コマンドを送信したり、払出制御基板15から伝送された制御コマンドを受信したりするための通信制御を行う。
一例として、メイン側通信制御処理では、遊技制御バッファ設定部595に設けられた送信コマンドバッファに含まれる払出用送信コマンドバッファの記憶データによって指定されたコマンド送信テーブルにおける設定に対応して、シリアル通信回路511が備える第1チャネル送受信回路571Aに送信動作の指示を送ることなどにより、払出制御コマンドの伝送を可能にする。より具体的には、第1チャネルステータスレジスタSASTのビット番号[7]に格納された通信ステータスデータSAST7におけるビット値が“1”となって送信完了を示しているとき、あるいは、第1チャネルステータスレジスタSASTのビット番号[6]に格納された通信データステータスデータSAST6におけるビット値が“1”となって送信用シフトレジスタ転送完了を示しているときに、コマンド送信テーブルのテーブルデータにおける全部又は一部を、第1チャネルデータレジスタSADTに転送する。これにより、通信ステータスデータSAST7がクリアされてビット値が“0”となり、第1チャネルデータレジスタSADTから第1チャネル送受信回路571Aが備える送信データレジスタ582Aへのデータ転送が開始される。送信データレジスタ582Aへの転送が完了すると、通信ステータスデータSAST6がクリアされてビット値が“0”となり、送信データレジスタ582Aから送信用シフトレジスタ581Aへのデータ転送が開始される。送信用シフトレジスタ581Aへの転送が完了すると、通信ステータスデータSAST6のビット値が“1”にセットされ、また、送信用シフトレジスタ581Aから第1チャネル送信端子TXAへと順次に各ビットデータが伝送される。これにより、シリアル通信回路511の第1チャネル送受信回路571Aを用いて、払出制御コマンドがシリアル信号形式で払出制御基板15へと向けて送信されることになる。
また、遊技制御バッファ設定部595などに設けられた払出用受信コマンドバッファの記憶内容を確認して受信コマンドが格納されているか否かを判定し、格納されているときには、その受信コマンドを読み出す。なお、払出用受信コマンドバッファに対する受信コマンドの格納は、シリアル通信回路511にて第1チャネル送受信回路571Aにより払出通知コマンドとなる通信データを受信したことに応じて発生する第1チャネル受信割込みに基づいて実行される割込み処理により、行われるようにすればよい。この場合、シリアル通信回路511では、第1チャネル受信端子RXAから受信用シフトレジスタ585Aへと順次に格納された通信データが、受信データレジスタ584Aに転送されたときに、第1チャネルステータスレジスタのビット番号[5]に格納される通信ステータスデータSAST5におけるビット値が“1”にセットされる。このときには、第1チャネル割込み制御レジスタSAICのビット番号[5]に格納された通信割込み制御データSAIC5が“1”である場合に、第1チャネル受信割込みによる割込み要求が許可される。そして、第1チャネル受信割込みに応答して、CPU505が所定の割込み処理を実行することにより、受信データレジスタ584Aに格納された通信データを読み出し、払出用受信コマンドバッファに格納すればよい。受信データレジスタ584Aから通信データが読み出されたときには、通信ステータスデータSAIC5がクリアされてビット値が“0”となる。こうして、シリアル通信回路511の第1チャネル送受信回路571Aにより受信した払出通知コマンドとなる通信データを、払出用受信コマンドバッファに取り込んで格納することができる。メイン側通信制御処理にて払出用受信コマンドバッファに格納された受信コマンドを読み出したときには、例えば読み出した受信コマンドの種類に応じたフラグをセットあるいはクリアする処理などといった、受信コマンドの種類に対応した処理を実行する。なお、払出用受信コマンドバッファから受信コマンドを読み出したときには、その受信コマンドにおける1バイト目と2バイト目との排他的論理和を演算し、算出された演算結果が正常値となっているか否かを判定することで、受信コマンドが適正なコマンドであるか否かをチェックするようにしてもよい。この実施の形態では、払出制御基板15から主基板11に対して送信されるコマンドが、1バイト目を反転させることで2バイト目となるように構成されていることから、受信コマンドの1バイト目と2バイト目との排他的論理和を演算した結果、全ビット値が“1”となれば、受信コマンドが適正なコマンドであると判断することができる。あるいは、シリアル通信回路511でのエラー発生に基づき、シリアル通信エラー割込み処理が実行された後には、払出制御コマンドを送信するための処理や、払出通知コマンドを受信するための処理が、実行されないようにしてもよい。これにおり、シリアル通信回路511での受信動作中にエラーが発生したときには、払出制御基板15に対する払出制御コマンドの送信や払出制御基板15からの払出通知コマンドの受信を、停止する状態に制御することができる。
他の一例として、メイン側通信制御処理では、送信コマンドバッファに含まれる演出用送信コマンドバッファの記憶データによって指定されたコマンド送信テーブルにおける設定に対応して、シリアル通信回路511が備える第2チャネル送信回路571Bに送信動作の指示を送ることなどにより、演出制御コマンドの伝送を可能にする。より具体的には、第2チャネルステータスレジスタSBSTのビット番号[7]に格納された通信ステータスデータSBST7におけるビット値が“1”となって送信完了を示しているとき、あるいは、第2チャネルステータスレジスタSBSTのビット番号[6]に格納された通信データステータスデータSBST6におけるビット値が“1”となって送信用シフトレジスタ転送完了を示しているときに、コマンド送信テーブルのテーブルデータにおける全部又は一部を、第2チャネルデータレジスタSBDTに転送する。これにより、通信ステータスデータSBST7がクリアされてビット値が“0”となり、第2チャネルデータレジスタSBDTから第2チャネル送信回路571Bが備える送信データレジスタ582Bへのデータ転送が開始される。送信データレジスタ582Bへの転送が完了すると、通信ステータスデータSBST6がクリアされてビット値が“0”となり、送信データレジスタ582Bから送信用シフトレジスタ581Bへのデータ転送が開始される。送信用シフトレジスタ581Bへの転送が完了すると、通信ステータスデータSBST6のビット値が“1”にセットされ、また、送信用シフトレジスタ581Bから第2チャネル送信端子TXBへと順次に各ビットデータが伝送される。これにより、シリアル通信回路511の第2チャネル送信回路571Bを用いて、演出制御コマンドがシリアル信号形式で演出制御基板12へと向けて送信されることになる。このように、演出制御基板12へと向けて演出制御コマンドを送信するときに用いるレジスタ(例えば第2チャネルデータレジスタSBDTや送信データレジスタ582Bなど)は、払出制御基板15へと向けて払出制御コマンドを送信するときに用いるレジスタ(例えば第1チャネルデータレジスタSADTや送信データレジスタ582Aなど)や、払出制御基板15から伝送された払出通知コマンドを受信するときに用いるレジスタ(例えば受信データレジスタ584A)とは、異なるレジスタとなる。
こうしたメイン側通信制御処理が終了すると、割込み許可状態としてから、遊技制御用タイマ割込み処理を終了する。
図52は、乱数更新処理として、図48に示すステップS37や図51に示すステップS94にて実行される処理の一例を示すフローチャートである。図52に示す乱数更新処理において、CPU505は、まず、割込み禁止状態に設定する(ステップS501)。なお、遊技制御用マイクロコンピュータ100が乱数更新処理の開始に対応して自動的に割込み禁止状態となる場合には、ステップS501の処理を実行しなくてもよい。続いて、例えば遊技制御カウンタ設定部594が備えるランダムカウンタの所定領域における記憶データを更新することなどにより、大当り種別決定用の乱数値MR2を1加算する(ステップS502)。こうして、この実施の形態では、大当り種別決定用の乱数値MR2について、タイマ割込みが発生する毎に1ずつ加算するように更新する。ステップS502の処理を実行した後には、リーチ判定用の乱数値MR3を、更新対象とする乱数値として設定する(ステップS503)。
そして、CPU505は、例えば遊技制御カウンタ594に設けられたランダムカウンタなどから、加算値決定用の乱数値MR6を示す数値データを読み出す(ステップS504)。このときには、ステップS504での読出値が、更新処理の対象となる乱数値ごとに定められた加算判定値未満であるか否かを判定する(ステップS505)。ここで、図14に示すように、乱数値MR3〜MR5のそれぞれに対応して、加算判定値が予め定められている。ステップS505にて読出値が加算判定値未満であれば(ステップS505;Yes)、ステップS504にて読み出した乱数値MR6を、加算値に設定する(ステップS506)。これに対して、ステップS505にて読出値が加算判定値以上であれば(ステップS505;No)、ステップS504にて読み出した乱数値MR6から加算判定値を減算した値を、加算値に設定する(ステップS507)。
ステップS506、S507の処理のいずれかを実行した後には、更新処理の対象となる乱数値に加算値を加算して、加算後乱数値とする(ステップS508)。このときには、ステップS508にて得られた加算後乱数値が、更新処理の対象となる乱数値ごとに定められた最大判定値未満であるか否かを判定する(ステップS509)。ここで、図14に示すように、乱数値MR3〜MR5のそれぞれに対応して、最大判定値が予め定められている。ステップS509にて加算後乱数値が最大判定値未満であれば(ステップS509;Yes)、ステップS508にて得られた加算後乱数値を、更新後乱数値に設定する(ステップS510)。これに対して、ステップS509にて加算後乱数値が最大判定値以上であれば(ステップS509;No)、ステップS508にて得られた加算後乱数値から最大判定値を減算した値を、更新後乱数値に設定する(ステップS511)。
ステップS510、S511の処理のいずれかを実行した後には、ランダムカウンタにて更新処理の対象となる乱数値を格納する所定領域に、更新後乱数値をセットする(ステップS512)。こうして、更新処理の対象となる乱数値の更新が完了する。ステップS512の処理に続いて、未処理の乱数値があるか否かを判定する(ステップS513)。この実施の形態では、乱数値MR3〜MR5について、順次に更新処理の対象となる乱数値にセットすることにより、乱数更新処理が1回実行されるごとに、乱数値MR3〜MR5の全部が更新されるようにする。ステップS513にて未処理の乱数値がある場合には(ステップS513;Yes)、次の乱数値を更新処理の対象となる乱数値にセットしてから(ステップS514)、ステップS504の処理に戻る。他方、ステップS513にて未処理の乱数値がない場合には(ステップS513;No)、割込みを許可してから(ステップS515)、乱数更新処理を終了する。
図53は、特別図柄プロセス処理として、図51に示すステップS95にて実行される処理の一例を示すフローチャートである。この特別図柄プロセス処理において、CPU505は、まず、始動入賞判定処理を実行する(ステップS101)。図54及び図55は、ステップS101にて実行される始動入賞判定処理の一例を示すフローチャートである。
図54及び図55に示す始動入賞判定処理において、CPU505は、まず、入力ポートレジスタPIに格納された入力ポートデータを読み出す(ステップS201)。このとき読み出された入力ポートデータは、例えば遊技制御バッファ設定部595などに設けられた始動入賞バッファなどに格納されればよい。そして、ステップS201にて読み出した入力ポートデータのビット番号[1]におけるビット値が“1”であるか否かを判定する(ステップS202)。この実施の形態では、PIP510が備える入力ポートP1に第2始動口スイッチ22Bからの第2始動入賞信号SS2を伝送する配線が接続されており、入力ポートデータのビット番号[1]におけるビット値を確認することにより、第2始動口スイッチ22Bによる遊技球検出の有無を特定できる。そして、第2始動入賞信号SS2がオン状態である場合には、入力ポートデータのビット番号[1]におけるビット値が“1”となる。
そこで、ステップS202にて“1”であると判定された場合には(ステップS202;Yes)、遊技制御カウンタ設定部594に設けられた第2始動入賞判定カウンタの値である第2始動入賞判定カウント値を、例えば1加算するなどしてカウントアップするように、更新する(ステップS203)。これに対して、ステップS202にて“0”であると判定された場合には(ステップS202;No)、第2始動入賞判定カウンタをクリアして、そのカウント値を「0」に初期化する(ステップS204)。
ステップS203、S204の処理のいずれかを実行した後には、ステップS201にて読み出した入力ポートデータのビット番号[0]におけるビット値が“1”であるか否かを判定する(ステップS205)。この実施の形態では、PIP510が備える入力ポートP0に第1始動口スイッチ22Aからの第1始動入賞信号SS1を伝送する配線が接続されており、入力ポートデータのビット番号[0]におけるビット値を確認することにより、第1始動口スイッチ22Aによる遊技球検出の有無を特定できる。そして、第1始動入賞信号SS1がオン状態である場合には、入力ポートデータのビット番号[0]におけるビット値が“1”となる。
そこで、ステップS205にて“1”であると判定された場合には(ステップS205;Yes)、遊技制御カウンタ設定部594に設けられた第1始動入賞判定カウンタの値である第1始動入賞判定カウント値を、例えば1加算するなどしてカウントアップするように、更新する(ステップS206)。これに対して、ステップS205にて“0”であると判定された場合には(ステップS205;No)、第1始動入賞判定カウンタをクリアして、そのカウント値を「0」に初期化する(ステップS207)。
ステップS206、S207の処理のいずれかを実行した後には、第1始動入賞判定カウント値が入賞判定値として予め定められた所定の判定値(例えば「2」)に達したか否かを判定する(ステップS208)。このとき、第1始動入賞判定カウント値が入賞判定値に達していれば(ステップS208;Yes)、遊技制御バッファ設定部595に設けられた始動口バッファの値(始動口バッファ値)を、「1」に設定する(ステップS209)。また、第1始動入賞判定カウンタをクリアして、そのカウント値を「0」に初期化する(ステップS210)。
ステップS208にて第1始動入賞判定カウント値が入賞判定値に達していなければ(ステップS208;No)、第2始動入賞判定カウント値が入賞判定値に達したか否かを判定する(ステップS211)。このとき、第2始動入賞判定カウント値が入賞判定値に達していなければ(ステップS211;No)、始動入賞判定処理を終了する。これに対して、第2始動入賞判定カウント値が入賞判定値に達していれば(ステップS211;Yes)、始動口バッファ値を「2」に設定する(ステップS212)。また、第2始動入賞判定カウンタをクリアして、そのカウント値を「0」に初期化する(ステップS213)。
ステップS210、S213の処理のいずれかを実行した後、CPU505は、始動口バッファ値に応じた保留記憶数カウント値を読み出す(ステップS214)。例えば、始動口バッファ値が「1」であるときには、遊技制御カウンタ設定部594に設けられた第1保留記憶数カウンタの値(第1保留記憶数カウント値)を読み出し、始動口バッファ値が「2」であるときには、遊技制御カウンタ設定部594に設けられた第2保留記憶数カウンタの値(第2保留記憶数カウント値)を読み出す。そして、ステップS214における読出値が、所定の上限値(例えば「4」)に達しているか否かを判定する(図55のステップS215)。このとき、ステップS214での読出値が上限値に達していなければ、特別図柄や飾り図柄の可変表示を開始するための始動条件が有効に成立することになる。例えば、図54に示すステップS208にて第1始動入賞判定カウント値が入賞判定値に達したと判定された後に、ステップS215にて読出値が上限値に達していないと判定されたときには、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームや、飾り図柄の可変表示を実行するための第1始動条件が成立する。また、図54に示すステップS211にて第2始動入賞判定カウント値が入賞判定値に達したと判定された後に、ステップS215にて読出値が上限値に達していないと判定されたときには、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームや、飾り図柄の可変表示を実行するための第2始動条件が成立する。
このように、ステップS215にて読出値が上限値に達していないときには(ステップS215;No)、始動口バッファ値に応じた保留記憶数カウント値を1加算する(ステップS216)。例えば、始動口バッファ値が「1」であるときには、第1保留記憶数カウント値を1加算し、始動口バッファ値が「2」であるときには、第2保留記憶数カウント値を1加算する。そして、CPU505は、第1保留記憶数と第2保留記憶数との合計値である合計保留記憶数を示す合計保留記憶数カウンタの値(合計保留記憶数カウント値)を1加算する(ステップS217)。
ステップS217の処理に続いて、CPU505は、始動口バッファ値に応じた始動データを、始動データ記憶部591Cにおける空き領域の先頭にセットして記憶させる(ステップS218)。例えば、始動口バッファ値が「1」であるときには、「第1」を示す始動データをセットし、始動口バッファ値が「2」であるときには、「第2」を示す始動データをセットする。そして、CPU505は、乱数設定処理を実行する(ステップS219)。ステップS219にて乱数設定処理を実行した後には、始動口バッファ値に応じた始動口入賞指定コマンドを送信するための設定を行う(ステップS220)。例えば、始動口バッファ値が「1」であるときには、ROM506における第1始動口入賞指定コマンドテーブルの記憶アドレス(先頭アドレス)を送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納する。他方、始動口バッファ値が「2」であるときには、ROM506における第2始動口入賞指定コマンドテーブルの記憶アドレス(先頭アドレス)を送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納する。こうして設定された始動口入賞指定コマンドは、例えば特別図柄プロセス処理が終了した後に図51に示すステップS98のメイン側通信制御処理が実行されることなどにより、主基板11から演出制御基板12に対して伝送される。
また、CPU505は、例えばROM506における保留記憶数通知コマンドテーブルの記憶アドレスを送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納することなどにより、演出制御基板12に対して保留記憶数通知コマンドを送信するための設定を行う(ステップS221)。なお、第1始動口入賞指定コマンドテーブルが、第1始動口入賞指定コマンドを送信するための設定データと、保留記憶数通知コマンドを送信するための設定データとを含むように構成されるとともに、第2始動口入賞指定コマンドテーブルが、第2始動口入賞指定コマンドを送信するための設定データと、保留記憶数通知コマンドを送信するための設定データとを含むように構成されている場合には、ステップS220、S221の処理として第1始動口入賞指定コマンドテーブルと第2始動口入賞指定コマンドテーブルのうち、始動口バッファ値に応じたコマンドテーブルの記憶アドレスだけを送信コマンドバッファのバッファ領域に格納すればよい。こうして設定された保留記憶数通知コマンドは、例えば特別図柄プロセス処理が終了した後、図51に示すステップS98のメイン側通信制御処理が実行されることなどにより、第1始動口入賞指定コマンドや第2始動口入賞指定コマンドに続いて、主基板11から演出制御基板12に対して伝送される。
ステップS215にて読出値が上限値に達している場合や(ステップS215;Yes)、ステップS221の処理を実行した後には、始動口バッファ値が「1」であるか「2」であるかを判定する(ステップS222)。このとき、始動口バッファ値が「1」であれば(ステップS222;「1」)、始動口バッファをクリアして、そのバッファ値を「0」に初期化してから(ステップS223)、図54に示すステップS211の処理に進む。これに対して、始動口バッファ値が「2」であるときには(ステップS222;「2」)、始動口バッファをクリアして、そのバッファ値を「0」に初期化してから(ステップS224)、始動入賞判定処理を終了する。
この実施の形態では、第1始動口スイッチ22Aと第2始動口スイッチ22Bの双方が同時に有効な遊技球の始動入賞を検出した場合には、2ミリ秒内で実行される処理によって、双方のスイッチが有効な遊技球の始動入賞を検出したことに基づく処理が実行される。すなわち、図54に示すステップS208にて第1始動入賞判定カウント値が入賞判定値に達したと判定されたときには、図54に示すステップS209、S210、S214の処理を実行してから、図55に示すステップS215〜S221の処理を実行した後、ステップS222にて始動口バッファ値が「1」であることに対応して、ステップS223の処理を実行してから、図54に示すステップS211の処理に進む。そして、ステップS211にて第2始動入賞判定カウント値が入賞判定値に達したと判定されたときには、図54に示すステップS212〜S214の処理を実行してから、図55に示すステップS215〜S221の処理を実行した後、ステップS222にて始動口バッファ値が「2」であることに対応して、ステップS224の処理を実行してから、始動入賞判定処理を終了する。これにより、第1始動口スイッチ22Aと第2始動口スイッチ22Bの双方が同時に有効な遊技球の始動入賞を検出した場合でも、確実に双方の有効な始動入賞の検出に基づく処理を完了できる。
図56は、図55のステップS219にて実行される乱数設定処理の一例を示すフローチャートである。この乱数設定処理では、CPU505が乱数回路509から抽出した乱数値を示す数値データを、ソフトウェアにより加工するための処理を実行する。図57は、乱数回路509が備える乱数値レジスタR1Dとなる乱数値レジスタ559Aや乱数値レジスタR2Dとなる乱数値レジスタ559Bから抽出した乱数値を示す数値データを、CPU505がソフトウェアにより特図表示結果判定用の乱数値MR1や加算値決定用の乱数値MR6に加工するまでの動作を説明するための説明図である。
図56に示す乱数設定処理において、CPU505は、まず、割込み禁止状態に設定した後(ステップS351)、始動口バッファ値が「1」であるか「2」であるかを判定する(ステップS352)。なお、遊技制御用マイクロコンピュータ100が乱数設定処理の開始に対応して自動的に割込み禁止状態となる場合には、ステップS351の処理を実行しなくてもよい。そして、ステップS352において始動口バッファ値が「1」であれば(ステップS352;「1」)、図15に示す乱数回路509が備える乱数値レジスタR1Dとしての乱数値レジスタ559Aから、数値データを読み出して抽出する(ステップS353)。このときには、CPU505が乱数回路509の乱数値レジスタ559Aに対してレジスタリード信号RRS1を供給することなどにより、乱数値レジスタ559Aに格納された乱数値となる数値データを読み出せばよい。また、ステップS352にて始動口バッファ値が「2」であるときには(ステップS352;「2」)、乱数回路509が備える乱数値レジスタR2Dとしての乱数値レジスタ559Aから、数値データを読み出して抽出する(ステップS354)。こうして乱数回路509から抽出された数値データは、CPU505が有する16ビットの汎用レジスタなどに格納される。例えば図57に示すように、乱数回路505から抽出された数値データのうちで、乱数値レジスタ559Aから抽出された数値データの上位バイトや、乱数値レジスタ559Bから抽出された数値データの上位バイトといった、数値データの上位バイトに相当する部分は、CPU505が有する汎用レジスタにて、上位バイトGR1−1として格納される。また、乱数回路509から抽出された数値データのうちで、乱数値レジスタ559Aから抽出された数値データの下位バイトや、乱数値レジスタ559Bから抽出された数値データの下位バイトといった、数値データの下位バイトに相当する部分は、CPU505が有する汎用レジスタにて、下位バイトGR1−2として格納される。なお、乱数回路509から抽出された数値データは、CPU505が有する汎用レジスタに格納されるものに限定されず、例えばRAM507の所定領域に格納されるようにしてもよい。
続いて、CPU505は、内蔵されたリフレッシュレジスタRR1の格納値(リフレッシュレジスタ値)を、加工用の乱数値となる数値データとして読み出す(ステップS355)。CPU505は、汎用レジスタにおける上位バイトGR1−1に、ステップS355にて読み出したリフレッシュレジスタ値を加算する(ステップS356)。このとき、汎用レジスタにおける下位バイトGR1−2については、そのままにしておく。その後、CPU505は、汎用レジスタの格納値、すなわち上位バイトGR1−1に加工用の乱数値となるリフレッシュレジスタ値を加算した値に基づき、特図表示結果判定用の乱数値MR1を示す数値データを設定する(ステップS357)。一例として、特図表示結果判定用の乱数値MR1が「0」〜「65535」の範囲の値をとる場合には、汎用レジスタの格納値と「FFFFH」とを論理積演算して、あるいは、汎用レジスタの格納値をそのまま出力して、RAM507の所定領域に格納することなどにより、16ビットの乱数値MR1を示す数値データを設定する。他の一例として、特図表示結果判定用の乱数値MR1が「0」〜「16383」の範囲の値をとる場合には、汎用レジスタの格納値と「7F7FH」とを論理積演算して、RAM507の所定領域に格納することなどにより、14ビットの乱数値MR1を示す数値データを設定する。なお、特図表示結果判定用の乱数値MR1が「0」〜「16383」の範囲の値をとる場合には、汎用レジスタの格納値のうち任意の14ビット値が乱数値MR1として抽出されるように、所定の論理値との論理積演算などが実行されればよい。また、論理積演算に代えて、論理和演算が実行されてもよい。このとき、乱数値MR1を示す数値データが格納されるRAM507の領域は、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどに含まれていればよい。あるいは、CPU505は、始動口バッファ値が「1」であるか「2」であるかに応じて、第1特図保留記憶部591Aと第2特図保留記憶部591Bのいずれかにおける空き領域の先頭に、乱数値MR1を示す数値データを保留データとして格納することにより、乱数値MR1を設定してもよい。
ステップS357の処理に続いて、CPU505は、汎用レジスタの格納値に基づき、加算値決定用の乱数値MR6を示す数値データを設定する(ステップS358)。一例として、加算値決定用の乱数値MR6を示す数値データが「0」〜「7」の範囲の値をとる場合には、汎用レジスタの格納値と「C0C0H」とを論理積演算して、RAM507の所定領域に格納することなどにより、4ビットの乱数値MR6を示す数値データを設定する。なお、汎用レジスタの格納値のうち任意の4ビット値が乱数値MR6として抽出されるように、所定の論理値との論理積演算などが実行されればよい。また、論理積演算に代えて、論理和演算が実行されてもよい。このとき、乱数値MR6を示す数値データが格納されるRAM507の領域は、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどに含まれていればよい。
ステップS358の処理に続いて、遊技制御カウンタ設定部594に設けられたランダムカウンタから、大当り種別決定用の乱数値MR2を示す数値データを抽出する(ステップS359)。そして、ステップS359にて抽出した乱数値MR2を示す数値データなどが始動口バッファ値に応じた第1特図保留記憶部591Aあるいは第2特図保留記憶部591Bにおける空き領域の先頭に保留データとしてセットされることで、抽出した乱数値が記憶される(ステップS360)。なお、ステップS357にて遊技制御カウンタ設定部594に設けられたランダムカウンタに乱数値MR1を示す数値データを格納した場合には、そのランダムカウンタから抽出した乱数値MR1を示す数値データが、大当り種別決定用の乱数値MR2を示す数値データとともに、保留データとして第1特図保留記憶部591Aあるいは第2特図保留記憶部591Bにおける空き領域の先頭にセットされればよい。その後、CPU505は、割込みを許可してから(ステップS361)、乱数設定処理を終了する。なお、加算値決定用の乱数値MR6を設定するための処理は、図52に示すステップS504の処理にて乱数値MR6を読み出すごとに、実行されるようにしてもよい。この場合には、ステップS504の処理が実行されるときに、図56に示すステップS355、S356、S358の処理を実行することにより、乱数回路509から新たな数値データを抽出することなく、加算値決定用の乱数値MR6を示す数値データの更新を行うようにしてもよい。あるいは、ステップS504の処理が実行されるごとに、乱数回路509から数値データを抽出して、加算値決定用の乱数値MR6を示す数値データの更新を行うようにしてもよい。このとき乱数回路509から抽出する数値データは、常に乱数値レジスタ559Aにおける記憶データといった一定の乱数値レジスタに記憶された数値データとしてもよいし、ステップS504の処理が実行されるごとに、乱数値レジスタ559Aの記憶データと、乱数値レジスタ559Bの記憶データとを、交互に抽出するようにしてもよい。
また、ステップS356の処理では、汎用レジスタにおける上位バイトGR1−1にリフレッシュレジスタ値を加算するものに限定されず、任意の演算を実行して得られた値が乱数値MR1を示す数値データとなるようにすればよい。一例として、図48に示すステップS37や図51に示すステップS94にて乱数更新処理が実行されることにより、乱数値MR2〜MR5と同様にソフトウェアで更新される16ビットのソフト乱数を用意する。そして、ステップS356の処理では、まず、汎用レジスタにおける上位バイトGR1−1及び下位バイトGR1−2に、このソフト乱数値を加算する。続いて、例えば加算の演算結果を「10000H(65536)」で除算して、その剰余をとる演算(modulo演算)により、加算演算でキャリーオーバーが生じた部分を除外(無視)する。こうした演算の結果として得られた値が、乱数値MR1を示す数値データとなるようにしてもよい。
図53に示すステップS101にて始動入賞判定処理を実行した後には、特図プロセスフラグの値に応じて、ステップS110〜S120の処理のいずれかを選択して実行する。
ステップS110の特別図柄通常処理は、特図プロセスフラグの値が“0”のときに実行される。この特別図柄通常処理では、第1特図保留記憶部591Aや第2特図保留記憶部591Bに記憶されている保留データの有無などに基づいて、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特図ゲームを開始するか否かの判定が行われる。また、特別図柄通常処理では、特図表示結果判定用の乱数値MR1を示す数値データに基づき、特別図柄や飾り図柄、色図柄などの可変表示結果を「大当り」や「小当り」とするか否かの判定が行われる。さらに、特別図柄通常処理では、特図ゲームにおける特別図柄の可変表示結果に対応して、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特図ゲームにおける確定特別図柄(大当り図柄、小当り図柄及びハズレ図柄のいずれか)が設定される。
ステップS111の変動パターン設定処理は、特図プロセスフラグの値が“1”のときに実行される。この変動パターン設定処理には、可変表示結果を「大当り」や「小当り」とするか否かの事前決定結果や、飾り図柄の可変表示状態をリーチ状態とするか否かのリーチ判定結果などに基づいて、変動パターン種別を複数種類のいずれかに決定する処理や、変動パターン種別の決定結果に対応して、変動パターンを複数種類のいずれかに決定する処理などが含まれている。
ステップS112の特別図柄変動処理は、特図プロセスフラグの値が“2”のときに実行される。この特別図柄変動処理には、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおいて特別図柄を変動させるための設定を行う処理や、その特別図柄が変動を開始してからの経過時間を計測する処理などが含まれている。例えば、ステップS112の特別図柄変動処理が実行されるごとに、遊技制御タイマ設定部593に設けられた特図変動タイマにおける値(特図変動タイマ値)を1減算あるいは1加算することにより、第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームであるか、第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームであるかに関わりなく、共通のタイマによって経過時間の測定が行われる。また、計測された経過時間が変動パターンに対応する特図変動時間に達したか否かの判定も行われる。このように、ステップS112の特別図柄変動処理は、第1特別図柄表示装置4Aにおける第1特図を用いた特図ゲームにおける特別図柄の変動や、第2特別図柄表示装置4Bにおける第2特図を用いた特図ゲームにおける特別図柄の変動を、共通の処理ルーチンによって制御する処理となっている。そして、特別図柄の変動を開始してからの経過時間が特図変動時間に達したときには、特図プロセスフラグの値を“3”に更新する。
ステップS113の特別図柄停止処理は、特図プロセスフラグの値が“3”のときに実行される。この特別図柄停止処理には、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにて特別図柄の変動を停止させ、特別図柄の可変表示結果となる確定特別図柄を停止表示させるための設定を行う処理が含まれている。そして、遊技制御フラグ設定部592に設けられた大当りフラグと小当りフラグのいずれかがオンとなっているか否かの判定などが行われ、大当りフラグがオンである場合には特図プロセスフラグの値を“4”に更新し、小当りフラグがオンである場合には特図プロセスフラグの値を“8”に更新する。また、大当りフラグと小当りフラグがいずれもオフである場合には、特図プロセスフラグの値を“0”に更新する。
ステップS114の大入賞口開放前処理は、特図プロセスフラグの値が“4”のときに実行される。この大入賞口開放前処理には、可変表示結果が「大当り」となったことなどに基づき、大当り遊技状態においてラウンドの実行を開始して大入賞口を開放状態とするための設定を行う処理などが含まれている。このときには、例えば大入賞口開放回数最大値の設定に対応して、大入賞口を開放状態とする期間の上限を設定するようにしてもよい。一例として、大入賞口開放回数最大値が15ラウンド大当り状態に対応した「15」に設定されている場合には、大入賞口を開放状態とする期間の上限を「29秒」に設定する。これに対して、大入賞口開放回数最大値が2ラウンド大当り状態に対応した「2」に設定されている場合には、大入賞口を開放状態とする期間の上限を「0.5秒」に設定する。
ステップS115の大入賞口開放中処理は、特図プロセスフラグの値が“5”のときに実行される。この大入賞口開放中処理には、大入賞口を開放状態としてからの経過時間を計測する処理や、その計測した経過時間やカウントスイッチ23によって検出された遊技球の個数などに基づいて、大入賞口を開放状態から閉鎖状態に戻すタイミングとなったか否かを判定する処理などが含まれている。そして、大入賞口を閉鎖状態に戻すときには、大入賞口扉用のソレノイドに対するソレノイド駆動信号の供給を停止させる処理などが実行されればよい。
ステップS116の大入賞口開放後処理は、特図プロセスフラグの値が“6”のときに実行される。この大入賞口開放後処理には、大入賞口を開放状態とするラウンドの実行回数が大入賞口開放回数最大値に達したか否かを判定する処理や、大入賞口開放回数最大値に達した場合に当り終了指定コマンドを送信するための設定を行う処理などが含まれている。
ステップS117の大当り終了処理は、特図プロセスフラグの値が“7”のときに実行される。この大当り終了処理には、画像表示装置5やスピーカ8L、8R、遊技効果ランプ9といった演出用の電気部品(演出装置)により、大当り遊技状態の終了を報知する演出動作としてのエンディング演出が実行される期間に対応した待ち時間が経過するまで待機する処理や、その大当り遊技状態の終了に対応した各種の設定を行う処理などが含まれている。
ステップS118の小当り開放前処理は、特図プロセスフラグの値が“8”のときに実行される。この小当り開放前処理には、可変表示結果が「小当り」となったことなどに基づき、小当り遊技状態において可変入賞動作の実行を開始して大入賞口を開放状態とするための設定を行う処理などが含まれている。このときには、例えば可変表示結果が「小当り」であることにより大入賞口開放回数最大値が「2」であることに対応して、大入賞口を開放状態とする期間の上限を「0.5秒」に設定すればよい。
ステップS119の小当り開放中処理は、特図プロセスフラグの値が“9”のときに実行される。この小当り開放中処理には、大入賞口を開放状態としてからの経過時間を計測する処理や、その計測した経過時間などに基づいて、大入賞口を開放状態から閉鎖状態に戻すタイミングとなったか否かを判定する処理などが含まれている。大入賞口を閉鎖状態に戻すときには、大入賞口扉用のソレノイドに対するソレノイド駆動信号の供給を停止させる処理などが実行されればよい。
ステップS120の小当り終了処理は、特図プロセスフラグの値が“10”のときに実行される。この小当り終了処理には、画像表示装置5やスピーカ8L、8R、遊技効果ランプ9といった演出用の電気部品(演出装置)により、小当り遊技状態の終了を報知する演出動作が実行される期間に対応した待ち時間が経過するまで待機する処理などが含まれている。ここで、小当り遊技状態が終了するときには、確変フラグや時短フラグの状態を変更しないようにして、小当り遊技状態となる以前のパチンコ遊技機1における遊技状態を継続させる。
図58は、図53のステップS110にて実行される特別図柄通常処理の一例を示すフローチャートである。図58に示す特別図柄通常処理において、CPU505は、まず、例えば遊技制御カウンタ設定部594に記憶されている合計保留記憶数カウント値が「0」であるか否か、すなわち、第1保留記憶数と第2保留記憶数の合計値である合計保留記憶数が「0」であるか否かを判定する(ステップS231)。このとき、合計保留記憶数カウント値が「0」以外であれば(ステップS231;No)、始動データ記憶部591Cから始動データを読み出す(ステップS232)。ここでは、始動データ記憶部591Cにて保留番号「1」と関連付けて記憶されている始動データを読み出せばよい。
この実施の形態では、第1始動条件と第2始動条件とを区別することなく、先に成立した始動条件に対応する特図ゲームから順次に実行するものとして説明する。これに対して、例えば第2保留記憶数が「0」でないことを条件として、第1特図を用いた特図ゲームよりも、第2特図を用いた特図ゲームを優先して実行するようにしてもよい。この場合には、例えばステップS231にて合計保留記憶数カウント値が「0」以外であれば、第2保留記憶数カウント値が「0」であるか否かを判定する。そして、第2保留記憶数カウント値が「0」であれば、始動データ記憶部591Cから「第1」を示す始動データが読み出された場合と同様の処理を実行する一方で、第2保留記憶数カウント値が「0」以外であれば、始動データ記憶部591Cから「第2」を示す始動データが読み出された場合と同様の処理を実行すればよい。あるいは、第1保留記憶数と第2保留記憶数とのうち、いずれの保留記憶数が多いかを判定し、保留記憶数が多い方に対応する特別図柄を用いた特図ゲームを優先して実行するようにしてもよい。この場合には、例えばステップS231にて合計保留記憶数カウント値が「0」以外であれば、第1保留記憶数カウント値と第2保留記憶数カウント値とを比較する。そして、第1保留記憶数カウント値の方が大きい場合には、始動データ記憶部591Cから「第1」を示す始動データが読み出された場合と同様の処理を実行する一方で、第2保留記憶数カウント値の方が大きい場合には、始動データ記憶部591Cから「第2」を示す始動データが読み出された場合と同様の処理を実行すればよい。このとき、第1保留記憶数カウント値と第2保留記憶数カウント値が一致した場合には、第1特図を用いた特図ゲームを優先して実行してもよいし、第2特図を用いた特図ゲームを優先して実行してもよい。このように、保留記憶数が多い方に対応する特別図柄を用いた特図ゲームを優先して実行することで、無効な始動入賞の発生を低減することができる。
ステップS232の処理に続いて、例えば合計保留記憶数カウント値を1減算することなどにより、合計保留記憶数を1減算するように更新するとともに、始動データ記憶部591Cにて保留番号「1」より下位のエントリ(例えば保留番号「2」〜「8」に対応するエントリ)に記憶された始動データの記憶内容を、1エントリずつ上位にシフトさせる(ステップS233)。そして、ステップS232にて読み出した始動データが「第1」と「第2」のいずれであるかを判定する(ステップS234)。
ステップS234にて始動データが「第1」であると判定された場合には(ステップS234;第1)、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始する第1開始条件が成立したことに対応して、遊技制御バッファ設定部595に記憶される変動特図指定バッファ値を「1」に設定する(ステップS235)。他方、ステップS234にて始動データが「第2」であると判定された場合には(ステップS234;第2)、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始する第2開始条件が成立したことに対応して、変動特図指定バッファ値を「2」に設定する(ステップS236)。
ステップS235、S236の処理のいずれかを実行した後には、ステップS232にて読み出した始動データに応じた特図保留記憶部から、保留データを読み出す(ステップS237)。例えば、始動データが「第1」である場合には、第1特図保留記憶部591Aにて保留番号「1」と関連付けて記憶されている保留データとして、特図表示結果判定用の乱数値MR1を示す数値データと、大当り種別決定用の乱数値MR2を示す数値データとを、それぞれ読み出す。これに対して、始動データが「第2」である場合には、第2特図保留記憶部151Bにて保留番号「1」と関連付けて記憶されている保留データとして、特図表示結果判定用の乱数値MR1を示す数値データと、大当り種別決定用の乱数値MR2を示す数値データとを、それぞれ読み出す。
ステップS237の処理に続いて、始動データに応じた保留記憶数カウント値を1減算するとともに、始動データに応じた特図保留記憶部にて保留番号「1」より下位のエントリ(例えば保留番号「2」〜「4」に対応するエントリ)に記憶された保留データの記憶内容を、1エントリずつ上位にシフトさせる(ステップS238)。例えば、始動データが「第1」である場合には、第1保留記憶数カウント値を1減算するとともに、第1特図保留記憶部591Aにおける保留データの記憶内容を、1エントリずつ上位にシフトさせる。これに対して、始動データが「第2」である場合には、第2保留記憶数カウント値を1減算するとともに、第2特図保留記憶部591Bにおける保留データの記憶内容を、1エントリずつ上位にシフトさせる。
この後、可変表示結果を「大当り」とするか否かや「小当り」とするか否かを判定するための使用テーブルとして、始動データに応じた特図表示結果判定テーブルを選択してセットする(ステップS239)。例えば、始動データが「第1」であれば図33(A)に示す第1特図表示結果判定テーブル130Aを使用テーブルとしてセットする一方で、始動データが「第2」であれば図33(B)に示す第2特図表示結果判定テーブル130Bを使用テーブルとしてセットする。CPU505は、こうしてセットされた特図表示結果判定テーブルを参照することにより、ステップS237にて読み出された特図表示結果判定用の乱数値MR1を示す数値データが、大当り判定値データと合致するか否かを判定する(ステップS240)。
ステップS240にて乱数値MR1を示す数値データが大当り判定値データと合致した場合には(ステップS240;Yes)、遊技制御フラグ設定部592に設けられた大当りフラグをオン状態にセットする(ステップS241)。このときには、大当り種別を複数種類のいずれかに決定するための使用テーブルとして、図34に示す大当り種別決定テーブル131を選択してセットする(ステップS242)。そして、ステップS237にて読み出した大当り種別決定用の乱数値MR2を示す数値データに基づき、ステップS242にてセットした大当り種別決定テーブル131を参照することにより、大当り種別を、「通常」、「第1確変」〜「第3確変」、「突確」という複数種類のうち、いずれかに決定する(ステップS243)。なお、ステップS236の処理で変動特図指定バッファ値を「2」に設定した場合には、大当り種別決定テーブル131にて「突確」の大当り種別に対して大当り種別決定用の乱数値MR2が割り当てられていないことから、大当り種別が「突確」に決定されることはない。こうしてステップS243にて決定された大当り種別に対応して、大当り種別バッファ値を、「00」〜「04」のいずれかに設定する(ステップS244)。
ステップS240にて乱数値MR1を示す数値データが大当り判定値データと合致しない場合には(ステップS240;No)、ステップS237にて読み出された特図表示結果判定用の乱数値MR1を示す数値データが、ハズレ判定値データと合致するか否かを判定する(ステップS245)。このとき、ハズレ判定値データと合致しなければ(ステップS245;No)、小当り判定値データに合致するものとして、小当りフラグをオン状態にセットする(ステップS246)。
ステップS244とステップS246の処理のいずれかを実行した後には、可変表示結果の判定結果や大当り種別の決定結果に対応して、確定特別図柄を設定する(ステップS247)。一例として、ステップS245にて乱数値MR1を示す数値データがハズレ判定値データと合致する場合には、可変表示結果を「ハズレ」とする旨の事前判定結果に対応して、ハズレ図柄となる「−」の記号を示す特別図柄を、確定特別図柄に設定する。その一方で、ステップS240にて乱数値MR1を示す数値データが大当り判定値データと合致した場合には、ステップS243における大当り種別の決定結果に応じて、大当り図柄となる「1」、「3」、「7」の数字を示す特別図柄のいずれかを、確定特別図柄に設定する。すなわち、大当り種別を「通常」とする決定結果に応じて、通常大当り図柄となる「3」の数字を示す特別図柄を、確定特別図柄に設定する。また、大当り種別を「第1確変」〜「第3確変」のいずれかとする決定結果に応じて、確変大当り図柄となる「7」の数字を示す特別図柄を、確定特別図柄に設定する。さらに、大当り種別を「突確」とする決定結果に応じて、2ラウンド大当り図柄となる「1」の数字を示す特別図柄を、確定特別図柄に設定する。さらに、ステップS245にて乱数値MR1を示す数値データがハズレ判定値データと合致しない場合には、可変表示結果を「小当り」とする旨の事前判定結果に対応して、小当り図柄となる「5」の数字を示す特別図柄を、確定特別図柄に設定する。
ステップS247にて確定特別図柄を設定した後には、特図プロセスフラグの値を変動パターン設定処理に対応した値である“1”に更新してから(ステップS248)、特別図柄通常処理を終了する。また、ステップS231にて合計保留記憶数が「0」である場合には(ステップS231;Yes)、所定のデモ表示設定を行ってから(ステップS249)、特別図柄通常処理を終了する。
図59は、図53のステップS111にて実行される変動パターン設定処理の一例を示すフローチャートである。図59に示す変動パターン設定処理において、CPU505は、まず、大当りフラグがオンであるか否かを判定する(ステップS261)。このとき、大当りフラグがオンであれば(ステップS261;Yes)、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかに基づき、図36(D)に示すテーブル選択設定に従い、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、大当り用変動パターン種別決定テーブル132A〜132Iのいずれかを選択してセットする(ステップS262)。ここで、パチンコ遊技機1における遊技状態は、遊技制御フラグ設定部592に設けられた確変フラグや時短フラグの状態から特定すればよい。
ステップS261にて大当りフラグがオフである場合には(ステップS261;No)、小当りフラグがオンであるか否かを判定する(ステップS263)。このとき、小当りフラグがオンであれば(ステップS263;Yes)、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかに基づき、図37(D)に示すテーブル選択設定に従い、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、小当り用変動パターン種別決定テーブル133A〜133Cのいずれかを選択してセットする(ステップS264)。
ステップS263にて小当りフラグがオフである場合には(ステップS263;No)、パチンコ遊技機1における遊技状態が通常状態、確変状態及び時短状態のいずれであるかに基づき、図38(D)に示すテーブル選択設定に従い、飾り図柄をリーチ表示状態で導出表示するか否かを判定するための使用テーブルとして、リーチ判定テーブル134A〜134Cのいずれかを選択してセットする(ステップS265)。このときには、例えば遊技制御カウンタ設定部594に記憶されている合計保留記憶数カウント値を読み取ることなどにより、合計保留記憶数を特定する(ステップS266)。続いて、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、リーチ判定用の乱数値MR3を抽出する(ステップS267)。そして、ステップS267にて抽出したリーチ判定用の乱数値MR3に基づき、ステップS265にてセットしたリーチ判定テーブル134A〜134Cのいずれかを参照することにより、リーチ表示状態の有無を判定し(ステップS268)、その判定結果がリーチ表示状態ありとするものであるか否かを特定する(ステップS269)。
ステップS269においてリーチ表示状態ありとする旨のリーチ判定結果が特定された場合には(ステップS269;Yes)、ステップS268におけるリーチHA2−1〜リーチHA2−3、リーチHB2−1、リーチHC2−1の判定結果といったリーチ表示状態ありの各判定結果に応じて、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図39(A)〜(C)に示すリーチ用変動パターン種別決定テーブル135A〜135Cのいずれかを選択してセットする(ステップS270)。これに対して、ステップS269においてリーチ表示状態なしとする旨のリーチ判定結果が特定された場合には(ステップS269;No)、ステップS268における非リーチHA1−1〜非リーチHA1−5、非リーチHB1−1、非リーチHB1−2、非リーチHC1−1、非リーチHC1−2の判定結果といったリーチ表示状態なしの各判定結果に応じて、変動パターン種別を複数種類のいずれかに決定するための使用テーブルとして、図40(A)〜(C)に示す非リーチ用変動パターン種別決定テーブル136A〜136Cのいずれかを選択してセットする(ステップS271)。
ステップS262、S264、S270、S271の処理のいずれかを実行した後には、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、変動パターン種別決定用の乱数値MR4を抽出する(ステップS272)。そして、ステップS272にて抽出した変動パターン種別決定用の乱数値MR4に基づき、ステップS262、S264、S270、S271のいずれかにてセットした使用テーブルを参照することにより、変動パターン種別を複数種類のいずれかに決定する(ステップS273)。
ここで、ステップS272、S273の処理では、第1始動条件が成立したことに基づき第1特別図柄表示装置4Aにより第1特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターン種別を決定するか、第2始動条件が成立したことに基づき第2特別図柄表示装置4Bにより第2特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターン種別を決定するかに関わりなく、共通のランダムカウンタなどによって更新される変動パターン種別決定用となる共通の乱数値MR4を示す数値データを用いて、変動パターン種別を複数種類のいずれかに決定する。また、ステップS272、S273の処理では、ステップS268におけるリーチ表示状態の有無の判定結果に関わりなく、変動パターン種別決定用となる共通の乱数値MR4を示す数値データを用いて、共通の処理モジュールにより変動パターン種別を複数種類のいずれかに決定することができる。一例として、ステップS273の処理では、決定テーブルポインタにセットされたROM506のアドレスに記憶された決定テーブルを参照して変動パターン種別の決定を行うようにすればよい。
こうしてステップS273にて変動パターン種別が決定された後には、その変動パターン種別の決定結果に基づき、変動パターンを複数種類のいずれかに決定するための使用テーブルとして、図41、図42(A)及び(B)に示す当り変動パターン決定テーブル137A〜137Cや図43、図44に示すハズレ変動パターン決定テーブル138A、138Bといった複数種類の変動パターン決定テーブルのいずれかを選択してセットする(ステップS274)。続いて、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタなどから、変動パターン決定用の乱数値MR5を抽出する(ステップS275)。そして、ステップS275にて抽出した変動パターン決定用の乱数値MR5に基づき、ステップS274にてセットした変動パターン決定テーブルを参照することにより、変動パターンを複数種類のいずれかに決定する(ステップS276)。
ここで、ステップS275、S276の処理では、第1始動条件が成立したことに基づき第1特別図柄表示装置4Aにより第1特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターンを決定するか、第2始動条件が成立したことに基づき第2特別図柄表示装置4Bにより第2特図を用いて実行される特図ゲームに対応した飾り図柄の変動パターンを決定するかに関わりなく、共通のランダムカウンタなどによって更新される変動パターン決定用となる共通の乱数値MR5を示す数値データを用いて、変動パターンを複数種類のいずれかに決定する。また、ステップS275、S276の処理では、ステップS268におけるリーチ表示状態の有無の判定結果に関わりなく、変動パターン決定用となる共通の乱数値MR5を示す数値データを用いて、共通の処理モジュールにより変動パターンを複数種類のいずれかに決定することができる。一例として、ステップS276の処理では、決定テーブルポインタにセットされたROM506のアドレスに記憶された決定テーブルを参照して変動パターンが決定されればよい。
このようなステップS276における変動パターンの決定に続いて、その変動パターンの決定結果に応じた特図変動時間を設定する(ステップS277)。その後、変動特図指定バッファ値に応じて、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームと、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームのいずれかを開始させるように、特別図柄の変動を開始させるための設定を行う(ステップS278)。一例として、変動特図指定バッファ値が“1”であれば、第1特別図柄表示装置4Aによる第1特図の表示を更新させる駆動信号を送信するための設定を行う。これに対して、変動特図指定バッファ値が“2”であれば、第2特別図柄表示装置4Bによる第2特図の表示を更新させる駆動信号を送信するための設定を行う。
ステップS278の処理を実行した後には、特別図柄の変動開始時用となる各種コマンドを送信するための設定を行う(ステップS279)。例えば、変動特図指定バッファ値が“1”である場合に、CPU505は、主基板11から演出制御基板12に対して第1変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドを順次に送信するために、予め用意された第1変動開始用コマンドテーブルのROM506における記憶アドレス(先頭アドレス)を示す設定データを、遊技制御バッファ設定部595に設けられた送信コマンドバッファに含まれる演出用送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納する。他方、変動特図指定バッファ値が“2”である場合に、CPU505は、主基板11から演出制御基板12に対して第2変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドを順次に送信するために、予め用意された第2変動開始用コマンドテーブルのROM506における記憶アドレスを示す設定データを、演出用送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納する。こうしたステップS279での設定を行った場合には、変動パターン設定処理が終了してから図51に示すステップS98のメイン側通信制御処理が実行されるごとに、主基板11から演出制御基板12に対して、第1変動開始コマンドまたは第2変動開始コマンド、変動パターン指定コマンド、可変表示結果通知コマンドが、順次に送信されることになる。
ステップS279での設定に続いて、特図プロセスフラグの値を特別図柄変動処理に対応した値である“2”に更新してから(ステップS280)、変動パターン設定処理を終了する。
図60は、図53のステップS113にて実行される特別図柄停止処理の一例を示すフローチャートである。図60に示す特別図柄停止処理において、CPU505は、まず、大当りフラグがオンであるか否かを判定する(ステップS291)。このとき、大当りフラグがオンであれば(ステップS291;Yes)、大当り開始時演出待ち時間を設定する(ステップS292)。例えば、ステップS292の処理では、大当り開始時演出待ち時間に対応して予め定められたタイマ初期値が、遊技制御タイマ設定部593に設けられた遊技制御プロセスタイマにセットされればよい。
ステップS292の処理に続いて、当り開始指定コマンドを主基板11から演出制御基板12に対して送信するための設定を行う(ステップS293)。例えば、ステップS293の処理では、当り開始指定コマンドを送信するために予め用意された当り開始指定コマンドテーブルのROM506における記憶アドレスを示す設定データが、演出用送信コマンドバッファにおいて送信コマンドポインタによって指定されたバッファ領域に格納されればよい。その後、大当りフラグをクリアしてオフ状態とする(ステップS294)。また、確変状態や時短状態を終了するための設定を行う(ステップS295)。例えば、ステップS295では、確変フラグや時短フラグをクリアしてオフ状態とする処理や、確変状態や時短状態における特図ゲームの実行回数をカウントするための特図変動回数カウンタをクリアする処理などが実行されればよい。そして、特図プロセスフラグの値を大入賞口開放前処理に対応した値である“4”に更新してから(ステップS296)、特別図柄停止処理を終了する。
ステップS291にて大当りフラグがオフである場合には(ステップS291;No)、小当りフラグがオンであるか否かを判定する(ステップS297)。このとき、小当りフラグがオンであれば(ステップS297;Yes)、小当り開始時演出待ち時間を設定する(ステップS298)。例えば、ステップS298の処理では、小当り開始時演出待ち時間に対応して予め定められたタイマ初期値が、遊技制御プロセスタイマにセットされればよい。
ステップS298の処理に続いて、ステップS293の処理と同様に、当り開始指定コマンドを主基板11から演出制御基板12に対して送信するための設定を行う(ステップS299)。その後、小当りフラグをクリアしてオフ状態とする(ステップS300)。そして、特図プロセスフラグの値を小当り開放前処理に対応した値である“8”に更新する(ステップS301)。
また、ステップS297にて小当りフラグがオフである場合には(ステップS297;No)、特図プロセスフラグの値を特別図柄通常処理に対応した値である“0”に更新する(ステップS302)。ステップS301、S302の処理のいずれかを実行した後には、確変状態や時短状態を終了させるか否かの判定を行う(ステップS303)。例えば、ステップS303の処理では、特図変動回数カウンタの値(特図変動回数カウント値)を、例えば1減算または1加算するなどして更新し、更新後の特図変動回数カウント値が所定の特別遊技状態終了判定値と合致するか否かの判定が行われる。このとき、特別遊技状態終了判定値と合致すれば、確変フラグや時短フラグをクリアしてオフ状態とすることなどにより、確変状態や時短状態を終了して通常状態に制御すればよい。他方、特別遊技状態終了判定値と合致しなければ、確変フラグや時短フラグの状態を維持して、ステップS303の処理を終了すればよい。こうした確変状態や時短状態の終了判定を実行した後には、特別図柄停止処理が終了する。なお、特図変動回数カウント値に基づく終了判定は、時短状態である場合のみ行うようにして、確変状態については、次に可変表示結果が「大当り」となるまで継続されるようにしてもよい。あるいは、例えば遊技制御カウンタ設定部594に設けられたランダムカウンタから、確変状態終了判定用の乱数値を示す数値データを抽出し、予めROM506などに格納された確変状態終了判定テーブルを参照することにより、確変状態を終了するか否かの判定を行うようにしてもよい。
図61は、図53に示すステップS117にて実行される大当り終了処理の一例を示すフローチャートである。図61に示す大当り終了処理において、CPU505は、まず、大当り終了時演出待ち時間が経過したか否かを判定する(ステップS311)。一例として、図53に示すステップS116の大入賞口開放後処理では、特図プロセスフラグの値を“7”に更新するときに、大当り終了時演出待ち時間に対応して予め定められたタイマ初期値が遊技制御プロセスタイマにセットされる。この場合、ステップS311の処理では、例えば遊技制御プロセスタイマ値を1減算することなどにより更新し、更新後の遊技制御プロセスタイマ値が所定の待ち時間経過判定値と合致したか否かに応じて、大当り終了時演出待ち時間が経過したか否かを判定すればよい。ステップS311にて大当り終了時演出待ち時間が経過していなければ(ステップS311;No)、そのまま大当り終了処理を終了する。
これに対して、ステップS311にて大当り終了時演出待ち時間が経過した場合には(ステップS311;Yes)、遊技制御バッファ設定部595に記憶されている大当り種別バッファ値を読み出す(ステップS312)。続いて、ステップS312にて読み出した大当り種別バッファ値が「通常」の大当り種別に対応した「0」であるか否かを判定する(ステップS313)。このとき、大当り種別バッファ値が「0」であれば(ステップS313;Yes)、時短状態への制御を開始するための設定を行う(ステップS314)。一例として、ステップS314の処理では、時短フラグがオン状態にセットされるとともに、時短状態にて実行可能な特図ゲームの上限値に対応して予め定められたカウント初期値(例えば「100」)が、特図変動回数カウンタにセットされればよい。
ステップS313にて大当り種別バッファ値が「0」以外である場合には(ステップS313;No)、確変状態への制御を開始するための設定を行う(ステップS315)。一例として、ステップS315の処理では、確変フラグがオン状態にセットされるとともに、確変状態にて実行可能な特図ゲームの上限値に対応して予め定められたカウント初期値が、特図変動回数カウンタにセットされればよい。なお、次に可変表示結果が「大当り」となるまで確変状態が継続されるようにした場合には、ステップS315の処理において、特図変動回数カウンタの設定を行う必要はない。ステップS314、S315の処理のいずれかを実行した後には、特図プロセスフラグの値を特別図柄通常処理に対応した値である“0”に更新してから(ステップS316)、大当り終了処理を終了する。
次に、演出制御基板12における動作を説明する。演出制御基板12では、電源基板等から電源電圧の供給を受けると、演出制御用マイクロコンピュータ120のCPUが起動し、図62のフローチャートに示すような演出制御メイン処理を実行する。なお、演出制御用マイクロコンピュータ120においても、電源投入時やシステムリセット時には、CPUによりセキュリティチェック処理が実行され、演出制御用マイクロコンピュータ120がセキュリティモードとなるようにしてもよい。この場合には、セキュリティチェック処理にてROMに不正な変更が加えられていないと判定された後、セキュリティ時間が経過してから、演出制御メイン処理の実行が開始されるユーザモードへと移行すればよい。図62に示す演出制御メイン処理を開始すると、演出制御用マイクロコンピュータ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から送信された演出制御コマンド等に応じた判定や決定、設定などが行われる。
図63は、図62のステップS406にて実行される演出制御プロセス処理の一例を示すフローチャートである。図63に示す演出制御プロセス処理において、演出制御用マイクロコンピュータ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”に更新される。
次に、払出制御基板15における動作を説明する。払出制御基板15では、電源基板10からの電力供給が開始され払出制御用マイクロコンピュータ150へのリセット信号がハイレベル(オフ状態)になったことに応じて、払出制御用マイクロコンピュータ150が起動し、図64のフローチャートに示すような払出制御メイン処理が実行される。なお、払出制御用マイクロコンピュータ150においても、電源投入時やシステムリセット時には、CPUによりセキュリティチェック処理が実行され、払出制御用マイクロコンピュータ150がセキュリティモードとなるようにしてもよい。この場合には、セキュリティチェック処理にてROMに不正な変更が加えられていないと判定された後、セキュリティ時間が経過してから、払出制御メイン処理の実行が開始されるユーザモードへと移行すればよい。図64に示す払出制御メイン処理を開始すると、払出制御用マイクロコンピュータ150は、まず、割込み禁止状態に設定し(ステップS421)、割込モードの設定を行う(ステップS422)。例えば、ステップS422では、マスク可能割込の割込モード[2]が設定される。続いて、例えばスタックポインタ指定アドレスの設定など、スタックポインタに関わる設定を行う(ステップS423)。また、内蔵レジスタの設定(初期化)を行う(ステップS424)。また、払出制御用マイクロコンピュータ150が備えるCTCやPIPの設定が行われる(ステップS424)。
その後、払出制御用マイクロコンピュータ150のRAMをアクセス可能に設定する(ステップS425)。続いて、例えば払出制御用マイクロコンピュータ150が備えるPIPに設けられた複数の入力ポートのいずれかにおける端子状態をチェックすることなどにより、電源基板10に設置されたクリアスイッチ304から伝送されるスイッチ信号(クリア信号)の信号状態に基づき、クリアスイッチ304がオン操作されたか否かを判定する(ステップS427)。ここで、払出制御用マイクロコンピュータ150は、入力ポートを介して1回だけクリア信号の状態を確認するようにしてもよいが、クリア信号の状態を複数回確認するようにしてもよい。
ステップS427にてクリアスイッチ304がオフであるときには(ステップS427;No)、払出制御用マイクロコンピュータ150における所定のバックアップフラグがオンとなっているか否かを判定する(ステップS428)。払出制御用マイクロコンピュータ150におけるバックアップフラグの状態は、電力供給が停止するときに、払出制御用マイクロコンピュータ150が備えるRAM等の所定領域に設定される。そして、このバックアップフラグの設定箇所がバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、バックアップフラグの状態は保存されることになる。
ステップS428にてバックアップフラグがオンであるときには(ステップS428;Yes)、払出制御用マイクロコンピュータ150が備えるRAMのデータチェックを行い、チェック結果が正常であるか否かを判定する(ステップS429)。ステップS429の処理では、例えばRAMの特定領域における記憶データを用いてチェックサムを算出し、算出されたチェックサムと払出チェックサムバッファに記憶されているチェックサムとを比較する。ここで、払出チェックサムバッファには、前回の電力供給停止時に、同様の処理によって算出されたチェックサムが記憶されている。そして、比較結果が不一致であれば、RAMの特定領域におけるデータが電力供給停止時のデータとは異なっていることから、チェック結果が正常でないと判断される。
ステップS429におけるチェック結果が正常であるときには(ステップS429;Yes)、例えば払出制御用マイクロコンピュータ150の内部状態といった払出制御基板15における制御状態を電力供給が停止されたときの状態に戻すための復旧時における設定を行い、電断前の制御状態を復旧させる(ステップS430)。例えば、パチンコ遊技機1への電力供給が停止されるときに、所定の賞球未払出カウンタの値が払出制御用マイクロコンピュータ150のRAMにおけるバックアップ領域に格納される場合には、ステップS430の処理においてRAMのバックアップ領域の記憶データを読み出して、賞球未払出カウンタにセットするようにすればよい。
ステップS427にてクリアスイッチ304がオンであるときや(ステップS427;Yes)、ステップS428にてバックアップフラグがオフであるとき(ステップS428;No)、あるいは、ステップS429にてチェック結果が正常ではないときには(ステップS429;No)、停電復旧時でない電源投入時やシステムリセット時に対応した初期化処理を実行する。この初期化処理では、払出制御用マイクロコンピュータ150におけるRAMのクリア(初期化)を行い(ステップS431)、作業領域となるワークエリアを設定する(ステップS432)。なお、ステップS431の処理では、払出制御用マイクロコンピュータ150のRAMに記憶される所定のデータが任意の値あるいは予め定められている初期値などに設定されてもよい。また、払出制御用マイクロコンピュータ150におけるRAMの全領域を初期化してもよいし、一部の領域を初期化する一方で所定のデータはそのままにしてもよい。
ステップS430、S432の処理のいずれかを実行した後には、割込み許可状態に設定して(ステップS433)、各種割込みの発生を待機する。なお、ステップS433にて割込み許可状態とするより前に、例えば払出制御用マイクロコンピュータ150におけるCTCのレジスタ設定などを行うことにより、所定時間(例えば2ミリ秒)ごとにタイマ割込みが発生するように払出制御用マイクロコンピュータ150の内部設定を行えばよい。また、シリアル通信動作の初期設定を行うためのシリアル通信初期設定処理や、割込み要求に基づいて実行される割込み処理に関する初期設定を行うための割込み初期設定処理などが、実行されてもよい。
続いて、タイマ割込みフラグがオンとなっているか否かの判定を行う(ステップS434)。タイマ割込みフラグは、例えば払出制御用マイクロコンピュータ150におけるCTCにてタイムアウトが発生したことによりオン状態にセットされる。そして、タイマ割込みフラグがオフであれば(ステップS434;No)、ステップS434の処理を繰り返し実行して待機する。
なお、払出制御基板15の側では、所定時間が経過するごとに発生するタイマ割込みとは別に、主基板11から払出制御コマンドを受信するための割込みが発生する。この割込みは、例えば払出制御用マイクロコンピュータ150が備えるシリアル通信回路における受信データフルにより発生する割込みであればよい。こうした割込み発生に応答して、払出制御用マイクロコンピュータ150のCPUは、自動的に割込み禁止に設定するが、自動的に割込み禁止状態にならないCPUを用いている場合には、割込み禁止命令(DI命令)を発行することが望ましい。払出制御用マイクロコンピュータ150のCPUは、受信データフルによる割込みなどに対応して、例えば所定のコマンド受信割込み処理を実行する。このコマンド受信割込み処理では、払出制御用マイクロコンピュータ150のシリアル通信回路に対応して設けられた通信データレジスタなどに格納された通信データを取り込む。このとき取り込まれた払出制御コマンドは、例えば払出制御用マイクロコンピュータ150におけるRAMなどに設けられた払出制御コマンド受信用バッファに格納する。一例として、払出制御コマンドが図6(A)にしめすような2バイト構成である場合には、1バイト目(MODE)と2バイト目(EXT)を順次に受信して払出制御コマンド受信用バッファに格納する。その後、払出制御用マイクロコンピュータ150のCPUは、割込み許可に設定してから、コマンド受信割込み処理を終了する。
ステップS434にてタイマ割込みフラグがオンである場合には(ステップS434;Yes)、タイマ割込みフラグをクリアしてオフ状態にするとともに(ステップS435)、払出制御用タイマ割込み処理を実行してから(ステップS436)、ステップS434の処理に戻る。
図65は、図64のステップS436にて実行される払出制御用タイマ割込み処理の一例を示すフローチャートである。この払出制御用タイマ割込み処理は、主基板11から送信された払出制御コマンドに応じて払出モータ51を制御する払出制御処理となる処理である。図65に示す払出制御用タイマ割込み処理において、払出制御用マイクロコンピュータ150のCPUは、まず、所定の入出力処理を実行して(ステップS491)、例えば払出制御用マイクロコンピュータ150におけるPIP等に設けられた入力ポートにおける所定ビットの状態をチェックしたり、払出制御用マイクロコンピュータ150における外部バスインタフェースなどにおける所定ビットに対して所定の制御データをセットしたりする。
続いて、払出制御用マイクロコンピュータ150のCPUは、カードユニット処理を実行して、インタフェース基板を介して払出制御基板15に接続されたカードユニットとの間での通信を行う(ステップS492)。また、払出制御用マイクロコンピュータ150のCPUは、払出制御基板15の側で発生する各種エラーの有無を検査して、発生したエラーに対処するための払出側エラー処理を実行する(ステップS493)。例えば、払出側エラー処理では、満タンスイッチ26、球切れスイッチ27、払出モータ位置センサ71、払出カウントスイッチ72などからの信号状態をチェックすることや、払出制御用マイクロコンピュータ150におけるシリアル通信回路での通信状態を検査することなどにより、払出制御基板15の側で発生する各種エラーの有無を判定する。そして、エラー発生が検出されたときには、例えばエラー表示用LED74に発生したエラーの種類に対応した表示動作を実行させたり、主基板11に対してエラー発生を通知するための払出通知コマンドを送信したりするための設定が行われればよい。その後、例えばエラー解除スイッチ73がオン操作されることなどにより発生したエラーの解除手続がとられたときには、例えばエラー表示用LED74の表示を初期化したり、主基板11に対してエラー解除を通知するための払出通知コマンドを送信したりするための設定が行われればよい。
ステップS493にて払出側エラー処理が実行された後には、カードユニットからの球貸し要求や、主基板11からの払出数指定コマンドに応じて、遊技球の払出動作を制御する払出動作制御処理を実行する(ステップS494)。なお、払出動作制御処理では、主基板11からの払出数指定コマンドを受信したときに賞球ACKコマンドを送信する設定が行われてもよい。あるいは、払出動作制御処理とは別個の処理として、賞球ACKコマンドを送信するための設定が行われる処理を実行してもよい。
ステップS494における払出動作制御処理に続いて、払出側通信制御処理を実行することにより、主基板11から伝送される払出制御コマンドを受信したり、主基板11に対して払出通知コマンドを送信したりするための通信制御を行う。一例として、払出側通信制御処理では、シリアル通信により主基板11から送信された払出制御コマンドを取得するための払出制御コマンド取得処理を実行する。払出制御コマンド取得処理では、払出制御コマンド受信用バッファに格納された払出制御コマンドを読み出し、読み出された払出制御コマンドに対応したフラグやバッファの設定などが行われればよい。他の一例として、払出側通信制御処理では、払出制御用マイクロコンピュータ150のシリアル通信回路が備える送信回路に送信動作の指示を送ることなどにより、払出通知コマンドの伝送を可能にする。こうした払出側通信制御処理が終了すると、割込み許可状態としてから、払出制御用タイマ割込み処理を終了する。
以下、パチンコ遊技機1における具体的な動作例について説明する。主基板11では、電源基板10からの初期電力供給時(バックアップ電源のない電源投入時)や、システムリセットの発生後における再起動時などに、CPU505がROM506などに記憶されているセキュリティチェックプログラム506Aを読み出して実行することにより、遊技制御用マイクロコンピュータ100がセキュリティモードとなる。
このときには、セキュリティチェックプログラム506Aに対応した処理として、例えば図47に示すようなセキュリティチェック処理が実行される。ここで、遊技制御用マイクロコンピュータ100がセキュリティモードとなるセキュリティ時間は、ROM506のプログラム管理エリアに記憶されているセキュリティ時間設定KSESのビット番号[2−0]やビット番号[4−3]に予め格納されたビット値に応じて、一定の固定時間とは異なる時間成分を含むことができる。
例えば、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値であれば(図47に示すステップS2;No)、図12(D)に示すような設定内容に対応して、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる(ステップS4)。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値であれば(ステップS6;No)、図12(C)に示すようなショートモード又はロングモードに対応して、システムリセットや電源投入に基づき初期設定処理が実行されるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる(ステップS8)。
こうして設定されたセキュリティ時間が経過するまでは(ステップS14;No)、ROM506に記憶されているユーザプログラムによる遊技制御メイン処理の実行が開始されない。そして、乱数回路509による乱数値となる数値データの生成動作も、遊技制御用マイクロコンピュータ100がセキュリティモード中である期間では、開始されないようにすればよい。これにより、パチンコ遊技機1の電源投入やシステムリセット等による動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
一例として、パチンコ遊技機1の機種毎に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を異なる値に設定する。この場合には、図47に示すステップS4にて設定される延長時間を、パチンコ遊技機1の機種毎に異ならせることができ、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することが困難になる。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“01”又は“10”に設定することにより、ステップS8にて設定される可変設定時間を、システムリセット毎に異ならせる。これにより、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することは著しく困難になる。
図66は、主基板11に搭載された遊技制御用マイクロコンピュータ100に内蔵された乱数回路509の動作を説明するためのタイミングチャートである。また、図66(A)では、主基板11に搭載された制御用クロック生成回路111により生成される制御用クロックCCLKを示している。図66(B)では、乱数用クロック生成回路112により生成される乱数用クロックRCLKを示している。図66(A)及び(B)に示すように、制御用クロックCCLKの発振周波数と、乱数用クロックRCLKの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。
図66(B)に示すように、乱数用クロックRCLKは、タイミングT10,T11,T12,…においてローレベルからハイレベルに立ち上がる。そして、乱数用クロックRCLKは、遊技制御用マイクロコンピュータ100の乱数用外部クロック端子ERCに供給され、図15に示す乱数回路509が備えるクロック用フリップフロップ552におけるクロック端子CKに入力される。クロック用フリップフロップ552は、逆相出力端子(反転出力端子)QバーからD入力端子へとフィードバックされるラッチ用クロックRC0を、クロック端子CKに入力される乱数用クロックRCLKの立ち上がりエッジに応答して取り込み(ラッチして)、正相出力端子(非反転出力端子)Qから乱数更新クロックRGKとして出力する。これにより、乱数更新クロックRGKは、図66(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における数値データは、例えば図66(D)に示すように、乱数更新クロックRGKの立ち上がりエッジなどに応答して更新される。
クロック用フリップフロップ552から出力されるラッチ用クロックRC0は、乱数更新クロックRGKの反転信号となり、その発振周波数は乱数更新クロックRGKの発振周波数と同一で、その位相は乱数更新クロックRGKの位相とπ(=180°)だけ異なる。ラッチ用クロックRC0は、分岐点BR1にてラッチ用クロックRC1とラッチ用クロックRC2とに分岐される。したがって、例えば図66(E)に示すように、各ラッチ用クロックRC0、RC1、RC2はいずれも、共通の周期で信号状態が変化する発振信号となる。ラッチ用クロックRC1は、ラッチ用フリップフロップ557Aのクロック端子CKに入力される。ラッチ用クロックRC2は、ラッチ用フリップフロップ557Bのクロック端子CKに入力される。
ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立ち上がりエッジに応答して、第1始動口スイッチ22Aから伝送されて入力ポートP0に供給された第1始動入賞信号SS1を取り込み(ラッチして)、始動入賞時ラッチ信号SL1として出力端子Qから出力する。そして、乱数ラッチセレクタ558Aにおける取込方法が入力ポートP0への信号入力に指定されていれば、始動入賞時ラッチ信号SL1が乱数ラッチ信号LL1として出力される。これにより、例えば図66(F)に示すようなタイミングでオフ状態(ローレベル)とオン状態(ハイレベル)とで信号状態が変化する第1始動入賞信号SS1は、ラッチ用クロックRC1が立ち上がるタイミングT11、T13、T15、…にてラッチ用フリップフロップ557Aに取り込まれた後、図66(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として出力される。これにより、例えば図66(I)に示すようなタイミングでオフ状態(ローレベル)とオン状態(ハイレベル)とで信号状態が変化する第2始動入賞信号SS2は、ラッチ用クロックRC2が立ち上がるタイミングT11、T13、T15、…にてラッチ用フリップフロップ557Bに取り込まれた後、図66(J)に示すようなタイミングT14、T15で信号状態がオフ状態とオン状態とで変化する乱数ラッチ信号LL2となって、乱数ラッチセレクタ558Bから出力される。ここで、第2始動口スイッチ22Bから伝送される第2始動入賞信号SS2は、普通可変入賞球装置6Bが形成する第2始動入賞口における遊技球の始動入賞が検出されたときに、オフ状態からオン状態へと変化する。ラッチ用フリップフロップ557Bから乱数ラッチセレクタ558Bを介して出力された乱数ラッチ信号LL2は、乱数値レジスタR2Dとなる乱数値レジスタ559Bに供給されて、乱数列変更回路555から出力された乱数列RSNにおける数値データを取得するために用いられる。こうして、ラッチ用フリップフロップ557B及び乱数ラッチセレクタ558Bでは、第2始動入賞口における遊技球の始動入賞が検出されたことに基づき、ラッチ用クロックRC2を用いて、乱数値となる数値データを取得するための乱数ラッチ信号LL2が、第1始動入賞口における遊技球の始動入賞が検出された場合とは別個に生成される。
乱数値レジスタR1Dとなる乱数値レジスタ559Aは、乱数列変更回路555から出力される乱数列RSNにおける数値データを、乱数ラッチセレクタ558Aからクロック端子へと入力される乱数ラッチ信号LL1の立ち上がりエッジに応答して取り込み(ラッチして)、記憶データとなる数値データを更新する。乱数値レジスタR2Dとなる乱数値レジスタ559Bは、乱数列変更回路555から出力される乱数列RSNにおける数値データを、乱数ラッチセレクタ558Bからクロック端子へと入力される乱数ラッチ信号LL2の立ち上がりエッジに応答して取り込み(ラッチして)、記憶データとなる数値データを更新する。
例えば図66(G)に示すように、タイミングT11にて乱数ラッチ信号LL1がオフ状態からオン状態に変化する立ち上がりエッジが生じた場合には、このタイミングT11にて乱数列変更回路555から出力されている乱数列RSNにおける数値データが、図66(H)に示すように、乱数値レジスタR1Dに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタR1Dとなる乱数値レジスタ559Aでは、第1始動入賞口における遊技球の始動入賞が検出されたことに基づき、乱数値として用いられる数値データを、第2始動入賞口における遊技球の始動入賞が検出された場合とは別個に、取得して記憶することができる。
また、例えば図66(J)に示すように、タイミングT13にて乱数ラッチ信号LL2がオフ状態からオン状態に変化する立ち上がりエッジが生じた場合には、このタイミングT13にて乱数列変更回路555から出力されている乱数列RSNにおける数値データが、図66(K)に示すように、乱数値レジスタR2Dに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタR2Dとなる乱数値レジスタ559Bは、第2始動入賞口における遊技球の始動入賞が検出されたことに基づき、乱数値として用いられる数値データを、第1始動入賞口における遊技球の始動入賞が検出された場合とは別個に、取得して記憶することができる。
こうして、乱数値レジスタ559Aは、ラッチ用フリップフロップ557Aがラッチ用クロックRC1を用いて生成した始動入賞時ラッチ信号SL1や乱数ラッチセレクタ558Aから出力された乱数ラッチ信号LL1の立ち上がりエッジに応答して、乱数値RSNにおける数値データを取得する。乱数値レジスタ559Aに記憶された数値データは、図54に示すステップS208にて第1始動入賞判定カウント値が入賞判定値に達したと判定されることで(ステップS208;Yes)、第1始動口スイッチ22Aにより有効な遊技球の始動入賞が検出されたことに基づき、図56に示すステップS353にてCPU505によって読み出される。このとき、ステップS357、S358では、乱数値レジスタ559Aから読み出された数値データを用いて、例えば図57に示すようにして、特図表示結果判定用の乱数値MR1や加算値決定用の乱数値MR6が設定される。
また、乱数値レジスタ559Bは、ラッチ用フリップフロップ557Bがラッチ用クロックRC2を用いて生成した始動入賞時ラッチ信号SL2や乱数ラッチセレクタ558Bから出力された乱数ラッチ信号LL2の立ち上がりエッジに応答して、乱数列RSNにおける数値データを取得する。乱数値レジスタ559Bに記憶された数値データは、図54に示すステップS211にて第2始動入賞判定カウント値が入賞判定値に達したと判定されることで(ステップS211;Yes)、第2始動口スイッチ22Bにより有効な遊技球の始動入賞が検出されたことに基づき、図56に示すステップS354にてCPU505によって読み出される。このとき、ステップS357、S358では、乱数値レジスタ559Bから読み出された数値データを用いて、例えば図57に示すようにして、特図表示結果判定用の乱数値MR1や加算値決定用の乱数値MR6が設定される。
このように、乱数回路509では、クロック用フリップフロップ552や乱数生成回路553、乱数列変更回路555などが、第1始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得するように構成されたラッチ用フリップフロップ557Aや乱数ラッチセレクタ558A、乱数値レジスタ559Aの組合せと、第2始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得するように構成されたラッチ用フリップフロップ557Bや乱数ラッチセレクタ558B、乱数値レジスタ559Bの組合せとに対して、共通化されている。したがって、クロック用フリップフロップ552から出力されて乱数生成回路553に供給されてカウント値順列RCNにおける数値データや乱数列RSNにおける数値データの更新に用いられる乱数更新クロックRGKは、第1始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得する構成と、第2始動入賞口における遊技球の始動入賞に基づき乱数値となる数値データを取得する構成とについて、共通の乱数更新用クロック信号となる。
図47に示すステップS14にてセキュリティ時間が経過したと判定されたときには(ステップS14;Yes)、CPU505がROM506に記憶されているユーザプログラムを読み出して、図48に示すような遊技制御メイン処理が実行される。そして、例えばステップS33における設定処理として、図49に示すような乱数回路設定処理などが実行される。この場合、乱数回路509は、CPU505による乱数回路設定処理での設定に基づき、乱数値となる数値データの生成動作を開始することになる。こうして乱数回路509による乱数値の生成動作が開始された後、主基板11に設置された遊技開始スイッチ31のオン操作が検出されるまでは、ステップS35の処理が繰り返し実行され、ステップS36の処理により割込み許可状態とする設定が行われない。そのため、乱数回路509による数値データの更新動作が開始された後であっても、遊技開始スイッチ31のオン操作が検出されるまでは、例えば図51に示す遊技制御用タイマ割込み処理といった、パチンコ遊技機1における遊技の進行を制御するための遊技制御処理が開始されることがない。これにより、遊技制御処理の開始タイミングから、乱数回路509の動作開始タイミングや数値データの更新動作を特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定のタイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
図11(B)に示すような第2乱数初期設定KRS2のビット番号[0]におけるビット値を“1”とすれば、例えば図49に示すステップS55の処理などにより、乱数回路509にて生成される乱数値となる数値データのスタート値を、システムリセット毎に変更することができる。これにより、たとえ乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタ559Aや乱数値レジスタ559Bから読み出される数値データを特定することは困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
次に、画像表示装置5の表示領域における飾り図柄の可変表示を中心とした、各種の演出画像を表示することによる演出動作の具体例について説明する。演出制御基板12では、主基板11から伝送された第1変動開始コマンドや第2変動開始コマンドを受信したことに対応して、変動パターン指定コマンドにて指定された変動パターンなどに基づき、例えば演出制御用マイクロコンピュータ120のCPUが所定の表示制御指令をVDP121に供給することなどにより、画像表示装置5の表示領域に設けられた「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rにて、飾り図柄の変動を開始させる。
以下ではまず、可変表示結果が「ハズレ」となる場合のうち、飾り図柄の可変表示態様が「非リーチ」である場合における具体例について説明する。図67は、飾り図柄の可変表示態様が「非リーチ」である場合のうち、特定演出が実行されない場合や、「擬似連」の特定演出が実行される場合、「滑り」の特定演出が実行される場合、「発展チャンス目終了」の特定演出が実行される場合の表示動作例を示している。例えば、変動パターン指定コマンドにより非リーチPA1−1の変動パターンが指定されたときには、図67(C1)及び(C2)に示すような特定演出が実行されない場合となり、非リーチPA1−4の変動パターンが指定されたときには図67(E1)〜(E4)に示すような「滑り」の特定演出が実行される場合となり、非リーチPA1−5の変動パターンが指定されたときには図67(D1)〜(D6)に示すような「擬似連」の特定演出が実行される場合となり、非リーチPA1−7の変動パターンが指定されたときには図67(F1)〜(F6)に示すような「発展チャンス目終了」の特定演出が実行される場合となる。図67(A)では、例えば特図ゲームにおける特別図柄の変動開始などに対応して、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄の変動が開始される。その後、例えば図67(B)に示すように、「左」の飾り図柄表示部5Lにて「6」の数字を示す飾り図柄が停止表示(仮停止表示)される。
特定演出が実行されない場合や「滑り」の特定演出が実行される場合には、図63に示すステップS161の飾り図柄変動設定処理にて左最終停止図柄として「6」の数字を示す飾り図柄が決定されたことに対応して、図67(B)に示すような飾り図柄の停止表示が行われることになる。なお、飾り図柄の可変表示態様が「非リーチ」である場合に「滑り」の特定演出が実行される非リーチPA1−4の変動パターンであれば、常に「右」の飾り図柄表示部5Rにて一旦仮停止表示した飾り図柄を再変動させる「滑り」の特定演出が実行され、「左」の飾り図柄表示部5Lに停止表示する飾り図柄は、「滑り」の特定演出によっては変更されなければよい。また、「発展チャンス目終了」の特定演出が実行される場合には、図63に示すステップS161の飾り図柄変動設定処理にて所定の発展チャンス目を構成する飾り図柄の組合せが左中右最終停止図柄として決定されたことに対応して、図67(B)に示すような飾り図柄が停止表示されればよい。「擬似連」の特定演出が実行される場合には、図63に示すステップS161の飾り図柄変動設定処理にて左最終停止図柄として「6」の数字を示す飾り図柄が決定され、その左最終停止図柄に基づき所定の擬似連チャンス目を構成する飾り図柄の組合せが左中右仮停止図柄として決定されたことに対応して、図67(B)に示すような飾り図柄が停止表示されればよい。
その後、特定演出が実行されない場合には、一例として、図67(C1)に示すように「右」の飾り図柄表示部5Rにて「7」の数字を示す飾り図柄を停止表示(仮停止表示)してから、図67(C2)に示すように「中」の飾り図柄表示部5Cにて「4」の数字を示す飾り図柄を停止表示(仮停止表示)した後、非リーチ組合せとなる確定飾り図柄が停止表示(最終停止表示)される。このとき「右」の飾り図柄表示部5Rや「中」の飾り図柄表示部5Cにて停止表示される確定飾り図柄は、図63に示すステップS161の飾り図柄変動設定処理にて決定されればよい。
これに対して、「擬似連」の特定演出が実行される場合には、一例として、図67(D1)に示すように「右」の飾り図柄表示部5Rにて「7」の数字を示す飾り図柄を停止表示(仮停止表示)してから、図67(D2)に示すように「中」の飾り図柄表示部5Cにて「6」の数字を示す飾り図柄を停止表示(仮停止表示)することにより、擬似連チャンス目となる飾り図柄が停止表示される。このときには、例えば飾り図柄の揺れ変動表示といった仮停止表示を行ってから、図67(D3)に示すように「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄を再び変動させればよい。その後、例えば図67(D4)〜(D6)に示すように、「左」→「右」→「中」といった所定順序で、「6」、「7」、「4」の数字を示す飾り図柄を順次に停止表示(仮停止表示)した後、非リーチ組合せとなる確定飾り図柄が停止表示(最終停止表示)される。
「滑り」の特定演出が実行される場合には、一例として、図67(E1)に示すように「右」の飾り図柄表示部5Rにて「5」の数字を示す飾り図柄を停止表示(仮停止表示)してから、図67(E2)に示すように「右」の飾り図柄表示部5Rにて飾り図柄を再変動させる。その後、図67(E3)に示すように「右」の飾り図柄表示部5Rにて「7」の数字を示す飾り図柄が導出表示されることで、停止表示させる飾り図柄を変更する。ここで、図67(E1)に示すように「右」の飾り図柄表示部5Rにて仮停止表示される飾り図柄は、例えば図63に示すステップS161の飾り図柄変動設定処理にて、右最終停止図柄に基づいて決定されればよい。その後、例えば図67(E4)に示すように、「中」の飾り図柄表示部5Cにて「4」の数字を示す飾り図柄を停止表示(仮停止表示)した後、非リーチ組合せとなる確定飾り図柄が停止表示(最終停止表示)される。
「発展チャンス目終了」の特定演出が実行される場合には、一例として、図67(F1)に示すように「右」の飾り図柄表示部5Rにて「7」の数字を示す飾り図柄を停止表示(仮停止表示)してから、図67(F2)に示すように「中」の飾り図柄表示部5Cにも「7」の数字を示す飾り図柄を停止表示(仮停止表示)する。これにより、所定の発展チャンス目を構成する飾り図柄が仮停止表示される。このときには、例えば図67(F3)に示すように、仮停止表示された飾り図柄が一定方向に回転するような演出表示が行われ、続いて図67(F4)に示すように、飾り図柄がリーチ表示状態で導出表示される発展が生じることを遊技者に期待させるような演出表示(煽り演出)が行われる。ここで、図67(F4)に示すような演出表示から仮停止表示されている飾り図柄が反転する方向に回転すれば、リーチ表示状態となる発展が生じることになる。この例では、リーチ表示状態となる発展が生じることなく、例えば図67(F5)に示すように、回転状態にあった仮停止表示された飾り図柄が元に戻るような演出表示が行われてから、所定の発展チャンス目を構成する確定飾り図柄がそのまま停止表示(最終停止表示)される。
図68は、飾り図柄の可変表示態様が「非リーチ」である場合のうち、「イントロ」の特定演出が実行される場合の表示動作例を示している。例えば、変動パターン指定コマンドにより非リーチPA1−6の変動パターンが指定されたときには図68に示すような「イントロ」の特定演出が実行される場合となる。図68(A)では、例えば特図ゲームにおける特別図柄の変動開始などに対応して、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄の変動が開始される。その後、例えば図68(B)に示すように、「左」の飾り図柄表示部5Lにて「3」の数字を示す飾り図柄が停止表示(仮停止表示)され、「右」の飾り図柄表示部5Rにて「2」の数字を示す飾り図柄が停止表示(仮停止表示)されるとともに、「中」の飾り図柄表示部5Cに相当する表示位置に、キャラクタCH1を示す演出画像が表示される。なお、キャラクタCH1を示す演出画像は、後に飾り図柄がリーチ表示状態で導出表示された場合に実行されるリーチ演出にて、演出画像として出現するものであればよい。
続いて、例えば図68(C)に示すように、「左」及び「右」の飾り図柄表示部5L、5Rにて仮停止表示された飾り図柄を更新させるような演出表示が行われてから、例えば図68(D)に示すように、キャラクタCH1が変化するような演出画像の更新表示に伴って、「左」の飾り図柄表示部5Lでは「4」の数字を示す飾り図柄への更新表示が、「右」の飾り図柄表示部5Rでは「3」の数字を示す飾り図柄への更新表示が、それぞれ行われる。また、例えば図68(E)に示すように、「左」及び「右」の飾り図柄表示部5L、5Rにて更新表示された飾り図柄をさらに更新させるような演出表示が行われてから、例えば図68(F)に示すように、キャラクタCH1が変化するような演出画像の更新表示に伴って、「左」の飾り図柄表示部5Lでは「2」の数字を示す飾り図柄への更新表示が、「右」の飾り図柄表示部5Rでは「1」の数字を示す飾り図柄への更新表示が、それぞれ行われる。そして、例えば図68(G)に示すように、キャラクタCH1が変化するような演出画像の更新表示に伴って、「左」及び「右」の飾り図柄表示部5L、5Rにて仮停止表示された飾り図柄を更新させるような演出表示が行われてから、例えば図68(H)〜(K)に示すように、「左」の飾り図柄表示部5Lでは「2」の数字を示す飾り図柄が仮停止表示される一方で、「右」の飾り図柄表示部5Rでは「1」〜「3」の数字を示す飾り図柄が所定順序で更新表示される。その後、「右」の飾り図柄表示部5Rでは、例えば図68(L)に示すように飾り図柄を更新させるような演出表示が行われてから、図68(M)に示すように「3」の数字を示す飾り図柄が仮停止表示される。こうして「イントロ」の特定演出が終了すると、例えば図68(N)に示すように、キャラクタCH1を示す演出画像が消去されてから、非リーチ組合せとなる確定飾り図柄が停止表示(最終停止表示)される。
図69は、飾り図柄の可変表示態様が「リーチ」である場合のうち、「イントロ」の特定演出が実行される場合の表示動作例を示している。例えば、変動パターン指定コマンドによりスーパーPA3−3、スーパーPA3−7、スーパーPB3−3、スーパーPA4−3、スーパーPA4−7、スーパーPA5−3、スーパーPB4−3、スーパーPB5−3の変動パターンのいずれかが指定されたときなどには図69に示すような「イントロ」の特定演出が実行される場合となる。図69に示す表示動作例では、図69(A)〜(L)の部分において、図68(A)〜(L)と同様の演出表示が行われる。その後、「右」の飾り図柄表示部5Rでは、例えば図69(M)に示すように「2」の数字を示す飾り図柄が仮停止表示されることにより、「左」の飾り図柄表示部5Lにて仮停止表示されている飾り図柄と揃って、リーチ表示状態となる。こうして「イントロ」の特定演出が終了すると、例えば図69(N)に示すように、キャラクタCH1を示す演出画像が消去されてから、飾り図柄がリーチ表示状態で導出表示されたことに対応したリーチ演出などが開始され、その後にリーチ組合せとなる確定飾り図柄や、大当り組合せとなる確定飾り図柄などが、停止表示(最終停止表示)される。
図70〜図72は、可変表示結果が「大当り」であり大当り種別が「突確」以外である場合の表示動作例を示している。図70(A)では、例えば特図ゲームにおける特別図柄の変動開始などに対応して、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄の変動が開始される。その後、例えば図70(B)に示すように、「左」の飾り図柄表示部5Lにて「6」の数字を示す飾り図柄が停止表示(仮停止表示)される。
そして、例えば変動パターンがスーパーPA4−2であるときなどのように、「滑り」の特定演出が実行される場合には、一例として、図70(C1)〜(C3)に示すように、「左」及び「右」の飾り図柄表示部5L、5Rにて飾り図柄を仮停止表示させた後、「右」の飾り図柄表示部5Rにて飾り図柄を再び変動させた後に停止表示させることで、飾り図柄がリーチ表示状態で導出表示されるように、停止表示する飾り図柄を変更させる演出表示が行われる。また、例えば変動パターンがスーパーPA4−4であるときなどのように、「擬似連」の特定演出が実行される場合には、一例として、図70(D1)〜(D5)に示すように、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄を仮停止表示させた後、全部の飾り図柄表示部5L、5C、5Rにて飾り図柄を再び変動(擬似連変動)させる演出表示が行われる。その後、「左」及び「右」の飾り図柄表示部5L、5Rにて「6」の数字を示す飾り図柄が揃って停止表示(仮停止表示)されることにより、飾り図柄の可変表示状態がリーチ状態となる。さらに、例えば変動パターンがスーパーPC4−1であるときなどのように、「発展チャンス目」の特定演出が実行される場合には、一例として、図70(E1)〜(E6)に示すように、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて、所定の発展チャンス目となる飾り図柄の組合せを停止表示(仮停止表示)した後、仮停止表示されている飾り図柄が反転する方向に回転するような演出表示が行われた後に、飾り図柄がリーチ表示状態で導出表示される。
図70(C3)や図70(D5)に示すようにして飾り図柄がリーチ表示状態で導出表示された後には、例えば図71(A)に示すように、「中」の飾り図柄表示部5Cにおける飾り図柄の変動速度が低下する。そして、例えば変動パターンがノーマルPA2−5〜ノーマルPA2−8のいずれかであるときなどには、図71(B)に示すように「中」の飾り図柄表示部5Cにて「6」を示す数字が「左」及び「右」の飾り図柄表示部5L、5Rと揃って停止表示(仮停止表示)される「ノーマル」のリーチ演出が行われる。なお、図71(B)に示す例では、可変表示結果が「大当り」である場合に対応して、大当り組合せを構成する飾り図柄が停止表示されているが、可変表示結果が「ハズレ」となる場合には、例えば図71(H)に示すように「5」を示す数字が「中」の飾り図柄表示部5Cにて停止表示されることを示す演出画像を表示させてから「中」の飾り図柄表示部5Cにて「5」を示す数字の飾り図柄を停止表示させるといった、「中」の飾り図柄表示部5Cにて「6」を示す数字以外の飾り図柄を停止表示させることなどにより、リーチハズレ組合せを構成する確定飾り図柄を停止表示させ、飾り図柄の可変表示を終了すればよい。リーチ演出α1〜リーチ演出α3やリーチ演出β1〜リーチ演出β3のいずれかが実行される場合には、例えば図71(C)に示すように、低下していた「中」の飾り図柄表示部5Cにおける飾り図柄の変動速度が再び上昇し、各種のリーチ演出表示が開始される。例えば、リーチ演出 β1では、図71(D)に示すようなキャラクタCH2を示す演出画像が表示された後、対応するリーチ演出表示が進行する。また、リーチ演出α1〜リーチ演出α3のいずれかである場合には、図71(E)に示すようなキャラクタCH1を示す演出画像が表示された後、図71(F)に示すようなリーチ演出表示が進行する。そして、リーチ演出α1では、例えば図71(G)に示すように、1段階目の演出表示で停止表示(仮停止表示)される飾り図柄が出現する。図71(G)に示す例では、可変表示結果が「大当り」である場合に対応して、大当り組合せを構成する飾り図柄が停止表示されているが、可変表示結果が「ハズレ」となる場合には、リーチハズレ組合せを構成する確定飾り図柄を停止表示させ、飾り図柄の可変表示を終了すればよい。これに対して、リーチ演出α2やリーチ演出α3では、例えば図71(H)及び(I)に示すように、2段階目の演出表示に進むことになる。他方、リーチ演出β2やリーチ演出β3では、図71(J)に示すようなキャラクタCH3を示す演出画像が表示された後、対応するリーチ演出表示が進行する。
図71(I)に示すようにして2段階目の演出表示が進行すると、リーチ演出α2であれば、例えば図72(A)に示すように、2段階目の演出表示で停止表示(仮停止表示)される飾り図柄が出現する。なお、可変表示結果が「ハズレ」となる場合には、例えば図72(B)に示すように、表示されている飾り図柄が変更されず、リーチハズレ組合せを構成する確定飾り図柄を停止表示させ、飾り図柄の可変表示を終了させればよい。これに対して、リーチ演出α3では、例えば図72(B)〜(D)に示すように、3段階目の演出表示(「救済演出」ともいう)に進むことになる。そして、3段階目の演出表示で停止表示(仮停止表示)される飾り図柄が出現する。ここで、変動中昇格演出を実行しない場合には、図72(E)に示すように、仮停止表示された飾り図柄がそのまま最終停止図柄となる確定飾り図柄として停止表示(最終停止表示)される。これに対して、変動中昇格演出を実行する場合には、図72(F)に示すようにして通常大当り組合せとなる飾り図柄を仮停止表示した後に、図72(G)に示すように「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて同一の飾り図柄が揃った状態で再び変動させる。そして、大当り種別が「第1確変」であることに対応して変動中昇格演出が実行される場合には、例えば図72(H)に示すように、仮停止表示させた飾り図柄を再変動させた後に確変大当り組合せとなる確定飾り図柄を停止表示する変動中昇格成功演出が行われる。なお、変動中昇格失敗演出が実行される場合には、図72(G)に示すような飾り図柄の再変動を行った後、例えば図72(F)と同様に、通常大当り組合せとなる確定飾り図柄を停止表示させればよい。
図73は、可変表示結果が「大当り」であり大当り種別が「突確」である場合の表示動作例を示している。この場合には、まず、例えば図73(A)に示すように、特図ゲームにおける特別図柄の変動開始などに対応して、「左」、「中」、「右」の飾り図柄表示部5L、5C、5Rの全部にて飾り図柄の変動が開始される。その後、例えば図73(B)〜(D)に示すように、「左」→「右」→「中」といった所定順序で、「1」、「5」、「3」の数字を示す飾り図柄を順次に停止表示(仮停止表示)した後、所定の突確チャンス目となる確定飾り図柄が停止表示(最終停止表示)される。このときには、2ラウンド大当り状態における大当り中演出として、例えば図73(E)に示すように「LIVEモード」といった特別な演出モードに移行することを報知する演出画像を表示させる。そして、2ラウンド大当り状態が終了することに応じたエンディング演出として、例えば図73(F)に示すような演出画像を表示させ、「LIVEモード」であることを認識可能とする表示については、例えば図73(G)に示すように、次の飾り図柄の変動が開始された後にも、表示させたままにしておく。
なお、図53に示す特別図柄プロセス処理の一例では、タイマ割込みが発生する毎にステップS101の始動入賞判定処理を実行して、図54に示すステップS201にて読み出した入力ポートレジスタPIの格納データ(入力ポートデータ)から、第1始動入賞信号SS1や第2始動入賞信号SS2がオン状態となったか否かを判定している(ステップS202、S205)。これに対し、図53に示すステップS101の始動入賞判定処理に代えて、乱数回路509にて乱数値レジスタR1Dとなる乱数値レジスタ559Aと乱数値レジスタR2Dとなる第2乱数値レジスタ559Bの少なくともいずれか一方に数値データが取り込まれた(ラッチされた)ときに、乱数回路509からの割込み要求に応じた割込み処理を実行するようにしてもよい。この場合、例えば図49に示す乱数回路設定処理内などにて、乱数割込み制御レジスタRDICのビット番号[1]及び[0]におけるビット値を、図74(A)に示すように“1”としておく。そして、乱数回路509からの割込み要求が発生したときには、例えば図74(B)のフローチャートに示すような始動入賞割込み処理をCPU505が実行する。
図74(B)に示す始動入賞割込み処理において、CPU505は、まず、乱数ラッチフラグレジスタRDFMのビット番号[0]に格納された乱数ラッチフラグデータRDFM0を読み出す(ステップS601)。そして、ステップS601での読出値が“1”であるか否かを判定する(ステップS602)。ここで、図22(B)に示すように、乱数ラッチフラグレジスタRDFMのビット番号[0]に格納される乱数ラッチフラグデータRDFM0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたときにビット値が“1”となる。したがって、ステップS602にて読出値が“1”と判定されたときには(ステップS602;Yes)、第1始動入賞信号SS1がオンとなったことに基づき乱数値レジスタ559Aに数値データが取り込まれたと判断して、始動口バッファ値を「1」に設定する(ステップS603)。
ステップS602にて読出値が“0”と判定された場合には(ステップS602;No)、乱数ラッチフラグレジスタRDFMのビット番号[1]に格納された乱数ラッチフラグデータRDFM1を読み出す(ステップS604)。そして、ステップS604での読出値が“1”であるか否かを判定する(ステップS605)。ここで、図22(B)に示すように、乱数ラッチフラグレジスタRDFMのビット番号[1]に格納される乱数ラッチフラグデータRDFM1は、乱数値レジスタR2Dとなる第2乱数値レジスタ559Bに数値データが取り込まれたときにビット値が“1”となる。したがって、ステップS605にて読出値が“1”と判定されたときには(ステップS605;Yes)、第2始動入賞信号SS2がオンとなったことに基づき乱数値レジスタ559Bに数値データが取り込まれたと判断して、始動口バッファ値を「2」に設定する(ステップS606)。
ステップS603、S606の処理のいずれかを実行した後、CPU505は、始動口バッファ値に応じた保留記憶数カウント値を読み出す(ステップS607)。なお、この処理は、図54に示すステップS214の処理と同様の処理であればよい。これに対して、ステップS605にて読出値が“0”と判定されたときには(ステップS605;No)、乱数回路509からの割込み要求に対応した適切な乱数値となる数値データの取り込みが行われていないと判断して、始動入賞割込みエラー時処理を実行してから(ステップS608)、始動入賞割込み処理を終了する。始動入賞割込みエラー時処理では、例えば演出制御基板12に対して所定の演出制御コマンドを送信するための設定を行って、演出装置により始動入賞の異常が検知されたことなどを報知させるとともに、所定のエラー解除手順(例えばシステムリセットやエラー解除スイッチの操作など)がとられるまでは、以後の処理には進まないようにしてもよい。
ステップS606の処理を実行した後には、図55に示すステップS215〜S224の処理と同様にして、図74(B)に示すステップS609〜S616の処理を実行する。ここで、ステップS616の処理を実行した後には、ステップS604の処理に進む。これにより、第1始動口スイッチ22Aと第2始動口スイッチ22Bの双方が同時に有効な遊技球の始動入賞を検出した場合でも、確実に双方の有効な始動入賞の検出に基づく処理を完了できる。
こうした始動入賞割込み処理を実行するようにした場合には、第1始動入賞口や第2始動入賞口に遊技球が進入(始動入賞)したときに、その始動入賞に対応して乱数値レジスタ559Aや乱数値レジスタ559Bに乱数値となる数値データが取り込まれたことに基づく割込み要求に応答して、乱数回路509から数値データを抽出するための処理(例えばステップS613にて実行される乱数設定処理に含まれる図56に示すステップS353、S354の処理など)を実行すればよく、タイマ割込みが発生するごとに第1始動入賞信号SS1や第2始動入賞信号SS2がオンとなったか否かを判定する必要がなくなり、遊技制御用マイクロコンピュータ100が備えるCPU505などにおける処理負担を軽減することができる。
以上説明したように、上記実施の形態におけるパチンコ遊技機1では、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“00”以外の値とすることにより、システムリセットや電源投入に基づき初期設定処理が実行されるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる。これにより、パチンコ遊技機1の電源投入やシステムリセット等による動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
また、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外の値とすることにより、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる。これにより、パチンコ遊技機1の電源投入やシステムリセット等による動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に大当り遊技状態を発生させるなどの行為を、確実に防止することができる。
遊技制御用マイクロコンピュータ100に内蔵されたCPU505は、図35、図36、図37、図39及び図40に示す変動パターン種別決定テーブルのいずれかを用いて変動パターン種別を決定した後、その変動パターン種別に基づき、図41〜図44に示す変動パターン決定テーブルのいずれかを用いて変動パターンを決定する。これにより、変動パターン種別の追加や発生率の変更を行う場合には、変動パターン種別決定テーブルにおける決定値の設定のみを変更すればよいので、設定時間を短縮化することができる。また、詳細な変動パターンの追加や発生率の変更を行う場合には、変動パターン決定テーブルにおける決定値の設定のみを変更すればよいので、設定時間を短縮化することができる。すなわち、変動パターン種別の決定割合と、変動パターンの決定割合とを、別個に設定することができるので、変動パターン種別や変動パターンの振分けにかかわる設計変更を容易に行うことができる。
ここで、複数の変動種別カウンタの値を用いる遊技機として、第1変動種別カウンタCS1の値に基づいてリーチ種別などを決定するとともに、第2変動種別カウンタCS2の値に基づいてより細かな図柄変動態様を決定するものが提案されている(例えば特開2005−160763号公報の段落0209、0211、0212及び図30など)。しかしながら、この文献で提案された技術では、例えば15ラウンド大当り状態の他に、ラウンドの実行回数や大入賞口の開放時間などを15ラウンド大当り状態とは異ならせた大当り遊技状態(具体的には、大当り種別が「突確」に対応した2ラウンド大当り状態など)を設けた場合でも、大当り種別に関わりなく、可変表示結果が「大当り」であると判別されることになる。そのため、15ラウンド大当り状態のような通常の大当り遊技状態とは異なる2ラウンド大当り状態といった大当り遊技状態に制御される場合でも、通常の大当り遊技状態に制御される場合と同様のリーチ種別や図柄変動態様などが、共通の割合で出現することになり、遊技者に不信感を与えるおそれがある。これに対して、上記実施の形態におけるパチンコ遊技機1では、図58に示すステップS243にて大当り種別が「突確」に決定されたことに基づき、図59に示すステップS273での決定に用いるためにステップS262にてセットされる大当り用変動パターン種別決定テーブル132D、132H、132Iでは、例えば特殊CA4−1、特殊CA4−2、特殊CB4−1、特殊CB4−2、特殊CC4−1、特殊CC4−2の変動パターン種別といった、大当り種別が「突確」以外である場合とは異なる変動パターン種別が含まれるように、テーブルデータが構成されている。このようにして、大当り種別が「突確」である場合には、「突確」以外である場合とは異なる変動パターン種別や変動パターンに決定することにより、大当り種別が「突確」であることにより2ラウンド大当り状態に制御されるにもかかわらず、15ラウンド大当り状態に制御される場合と同様の演出動作が行われて遊技者に不信感を与えてしまうことを防止できる。
遊技制御用マイクロコンピュータ100に内蔵又は外付けられた乱数回路509では、ラッチ用フリップフロップ557A、乱数ラッチセレクタ558A及び乱数値レジスタ559Aの組合せにより、ラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタ559Bの組合せとは別個に、乱数値となる数値データを更新するように、乱数列変更回路555から出力される乱数列RSNにおける数値データを取り込んで記憶する。これにより、例えば第1及び第2始動入賞口といった、複数の始動領域に遊技球が同時に進入して始動入賞が発生したときでも、正確な乱数値となる数値データを取得することができる。また、クロック用フリップフロップ552、乱数生成回路553及び乱数列変更回路555などは、ラッチ用フリップフロップ557A、乱数ラッチセレクタ558A及び乱数値レジスタ559Aの組合せと、ラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタ559Bの組合せとに対して、共通化されており、乱数生成回路553に供給されることによりカウント値順列RCNや乱数列RSNの更新に用いられる乱数更新クロックRGKは、各組合せに共通の乱数更新用クロック信号となる。これにより、乱数回路509における回路構成を簡素化することができ、パチンコ遊技機1の製造コストを削減することができる。そして、ラッチ用フリップフロップ557A、557Bはそれぞれ、互いに共通のクロック用フリップフロップ552にて生成されたラッチ用クロックRC0を分岐点BR1で分岐したことにより、互いに共通の周期で信号状態が変化するラッチ用クロックRC1、RC2を用いて、乱数値となる数値データを取得するための始動入賞時ラッチ信号SL1や始動入賞時ラッチ信号SL2を生成する。これによっても、乱数回路509における回路構成の簡素化や、パチンコ遊技機1における製造コストの削減を図ることができる。
また、乱数用クロック生成回路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における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。また、ラッチ用クロックRC0を分岐することにより生成されるラッチ用クロックRC1、RC2の発振周波数も、制御用クロックCCLKや内部システムクロックSCLKの発振周波数とは、異なるものとなる。こうして、制御用クロックCCLKや内部システムクロックSCLKと、ラッチ用クロックRC1、RC2とに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
遊技制御用マイクロコンピュータ100に内蔵されたCPU505は、例えば図48に示すステップS33における設定処理として、図49に示すような乱数回路設定処理などを実行して、乱数回路509における乱数値の生成動作を開始させた後、主基板11に設置された遊技開始スイッチ31のオン操作が検出されるまでは、ステップS35の処理を繰り返し実行して、パチンコ遊技機1における遊技の進行を制御するための遊技制御処理の実行を開始させない。これにより、遊技制御処理の開始タイミングからは、乱数回路509の動作開始タイミングや数値データの更新動作を特定することが困難になる。したがって、遊技制御処理の開始タイミングを解析した結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。なお、乱数回路509が遊技制御用マイクロコンピュータ100に外付けされる場合には、例えばCPU505がステップS35の処理を実行するより前に、乱数回路509がCPU505における処理とは独立して、プログラム管理エリアの記憶データに基づく初期設定を行ってから、乱数値の生成動作を開始すればよい。
遊技制御用マイクロコンピュータ100に内蔵又は外付けされた乱数回路509では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”とされたことに対応して、乱数生成回路553から出力されるカウント値順列RCNや乱数列変更回路555から出力される乱数列RSNにおける数値データのスタート値を、システムリセット毎に変更することができる。これにより、たとえ乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタ559Aや乱数値レジスタ559Bから読み出される数値データを特定することは困難になり、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
遊技制御用マイクロコンピュータ100が備える外部バスインタフェース501では、内部リソースアクセス制御回路501Aにより、例えばROM506の記憶データといった、遊技制御用マイクロコンピュータ100の内部データにつき、CPU505等の内部回路以外による外部読出が制限される。これにより、例えばROM506に記憶されているゲーム制御用のユーザプログラムといった、遊技制御処理プログラムが遊技制御用マイクロコンピュータ100の外部から読み出されて解析などに提供されることを防止できる。そして、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
遊技制御用マイクロコンピュータ100が備えるシリアル通信回路511では、双方向でシリアルデータを送受信可能な第1チャネル送受信回路571Aを用いて払出制御基板15に搭載された払出制御用マイクロコンピュータ150との間で双方向のシリアル通信を行う。その一方で、主基板11からの単一方向でシリアルデータを送信のみが可能な第2チャネル送信回路571Bを用いて演出制御基板12に搭載された演出制御用マイクロコンピュータ120との間で単一方向のシリアル通信を行う。これにより、演出制御基板12の側から主基板11に対する信号入力を禁止して、不正行為を防止することができる。
遊技制御用マイクロコンピュータ100に内蔵又は外付けされた乱数回路509では、周波数監視回路551により乱数用クロックRCLKにおける周波数異常が検知されたときに、内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4のビット値が“1”に設定される。そして、CPU505では、例えば図50に示すステップS63にて内部情報データCIF4の読出値が“1”であると連続して判定された回数が、ステップS65にてクロック異常判定値に達したと判定されたときに、乱数回路509の動作状態に異常が発生したと判定する。これにより、乱数用クロックRCLKとして不正信号を入力することによる不正行為を確実に防止することができる。
遊技制御用マイクロコンピュータ100に内蔵されたCPU505は、例えば図50に示すステップS71の処理を繰り返し実行することなどにより、乱数回路509に対するラッチ信号の出力に相当する乱数値取込指定レジスタRDLTへのビット値“1”の書き込みを行い、乱数値レジスタ559Aや乱数値レジスタ559Bに格納された数値データを複数回読み出す。そして、ステップS72〜S74の処理を実行することなどにより読み出した数値データの全ビットを監視して、変化しないビットデータの有無に基づき、ステップS76にて乱数回路509の動作状態に異常が発生したか否かを判定する。これにより、乱数回路509の動作状態に異常が発生していることを確実かつ容易に検知して、不正行為を防止することができる。
遊技制御用マイクロコンピュータ100に内蔵又は外付けされた乱数回路509では、普通入賞球装置6Aが形成する第1始動入賞口での遊技球の始動入賞が第1始動口スイッチ22Aにより検出されたときに、ラッチ用フリップフロップ557A、乱数ラッチセレクタ558A及び乱数値レジスタ559Aの組合せにより、乱数値となる数値データを更新するように、乱数列変更回路555から出力される乱数列RSNにおける数値データを取り込んで記憶する。その一方で、普通可変入賞球装置6Bが形成する第2始動入賞口での遊技球の始動入賞が第2始動口スイッチ22Bにより検出されたときには、ラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタ559Bの組合せにより、乱数値となる数値データを更新するように、乱数列変更回路555から出力される乱数列RSNにおける数値データを取り込んで記憶する。これにより、短時間のうちに第1始動入賞口と第2始動入賞口の双方に遊技球が進入(始動入賞)したときでも、一方の始動入賞に対応して取得された乱数値が、他方の始動入賞に対応した乱数値として用いられてしまう不都合を、確実に防止することができる。
遊技制御用マイクロコンピュータ100に内蔵されたCPU505は、図58に示すステップS240にて特図表示結果判定用の乱数値MR1を示す数値データが大当り判定値データと合致したときに、ステップS242にて図34に示す大当り種別決定テーブル131を使用テーブルとしてセットした後、ステップS243にて大当り種別を複数種類のいずれかに決定する。そして、大当り種別決定テーブル131では、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合と、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合とで、大当り種別が「突確」に決定される割合を異ならせるように、テーブルデータが構成されている。これにより、第1開始条件と第2開始条件のいずれが成立したかに応じて2ラウンド大当り状態に制御されることに対する遊技者の期待感を異ならせ、遊技興趣を向上させることができる。特に、第2開始条件が成立したときには大当り種別を「突確」には決定しないようにすることで、例えば確変状態や時短状態といった第2始動入賞口が拡大開放状態に制御されやすい期間において、大当り種別が「突確」となることで遊技興趣が低下することを防止でき、確変状態や時短状態において賞球が払い出される頻度を高めることができる。
遊技制御用マイクロコンピュータ100に内蔵されたCPU505は、乱数回路509からの割込み要求が発生したときに、図74(B)に示すステップS601にて乱数ラッチフラグデータRDFM0を読み出した後、ステップS602にて読出値が“1”であるか否かを判定することにより、第1始動入賞口に遊技球が進入(始動入賞)したことに基づく第1始動条件の成否を判定する。また、ステップS604にて乱数ラッチフラグデータRDFM1を読み出した後には、ステップS605にて読出値が“1”であるか否かを判定することにより、第2始動入賞口に遊技球が進入(始動入賞)したことに基づく第2始動条件の成否を判定する。これにより、タイマ割込みが発生するごとに第1始動条件や第2始動条件の成否を判定する場合に比べて、判定処理が容易になり、CPU505における処理負担などを軽減することができる。
電源基板10には、例えば図3に示すようなクリアスイッチ304が設置されている。そして、遊技制御用マイクロコンピュータ100のCPU505は、図48に示すステップS27にてクリアスイッチ304のオン操作がなされたと判定したときに、ステップS31及びステップS32の処理を実行することにより、乱数回路509の動作状態を含めた遊技制御の初期化を行う。そして、遊技開始スイッチ31が例えば図2に示すように主基板11に設置されることにより、乱数回路509の動作状態を初期化してから遊技制御処理プログラムの実行を開始させるには、電源基板10に設置されたクリアスイッチ304と主基板11に設置された遊技開始スイッチ31の双方に対するオン操作が要求されるので、狙い撃ちなどによる不正行為を防止することができる。
遊技制御用マイクロコンピュータ100に内蔵又は外付けされた乱数回路509は、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”である場合に、例えばCPU505が図49に示すステップS55の処理を実行したことなどに対応して、システムリセット毎に乱数値となる数値データのスタート値を変更する。このときには、例えば遊技制御用マイクロコンピュータ100に内蔵されたフリーランカウンタのカウント値などを用いて、システムリセット毎に変更されるスタート値を決定すればよい。これにより、システムリセット等のタイミングにより異なる初期値決定用データを用いて初期値を決定することができ、狙い撃ちなどによる不正行為を防止することができる。
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、上記実施の形態では、図47に示すステップS4にて設定される延長時間が、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値に対応して、予め選択可能な複数の延長時間のいずれかとなり、この延長時間はシステムリセット毎に変更されないものとして説明した。しかしながら、この発明はこれに限定されず、例えばROM506に記憶されたユーザプログラムにおける設定などにより、固定時間に加算される延長時間を、システムリセット毎に複数の延長時間のいずれかに決定するようにしてもよい。この場合には、ステップS4にて設定される延長時間がいずれも、ステップS8にて設定可能な最長の可変設定時間に比べて、長くなるように定義しておく。そして、ステップS4では大まかな延長時間を決定した後、ステップS8では詳細な延長時間を決定すればよい。これにより、パチンコ遊技機1の電源投入時やシステムリセット時にセキュリティモードとなるセキュリティ時間を、システムリセット毎に大きく変化させることが可能になり、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングや更新される数値データなどを特定することが、より困難になる。
また、例えば図47に示すステップS4にて設定される延長時間などは、遊技制御用マイクロコンピュータ100を構成するチップ毎に付与されるIDナンバーを用いて決定されるようにしてもよい。一例として、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値に対応して延長時間を設定してもよい。この場合には、例えばシステムリセット毎に延長時間を決定するために用いる演算式を変更することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしてもよい。さらに、例えばIDナンバーを用いて延長時間を決定するための演算式をシステムリセット時に格納したフリーランカウンタのカウント値に対応して決定するといったように、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしてもよい。また、乱数回路509にて生成される乱数のスタート値をシステムリセット毎に変更する場合にも、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、乱数のスタート値を決定してもよい。
上記実施の形態では、遊技制御用マイクロコンピュータ100の外部に設けられた乱数用クロック生成回路112により、制御用クロック生成回路111で生成される制御用クロックCCLKの発振周波数とは異なる発振周波数を有する乱数用クロックRCLKを生成して、乱数回路509に供給するものとして説明した。しかしながら、この発明はこれに限定されず、遊技制御用マイクロコンピュータ100のCPU505に供給されるクロック信号と、乱数回路509に供給されるクロック信号とが、共通のクロック生成回路に含まれる1つの発振器により生成された発振信号を用いて、生成されるようにしてもよい。この場合には、例えば乱数用クロックRCLKと制御用クロックCCLKをそれぞれ生成するための分周器などを設け、ラッチ用クロックRC0、RC1、RC2と制御用クロックCCLKあるいは内部システムクロックSCLKとの同期が生じにくくなるように、各分周器における分周比などを設定すればよい。制御用クロック生成回路111と乱数用クロック生成回路112とは、その全部又は一部が、遊技制御用マイクロコンピュータ100の内部に設けられてもよいし、遊技制御用マイクロコンピュータ100の外部に設けられてもよい。
上記実施の形態では、乱数回路509が乱数用クロック生成回路112により生成された乱数用クロックRCLKの供給を受け、クロック用フリップフロップ552により、乱数更新クロックRGKとラッチ用クロックRC0とを生成するものとして説明した。しかしながら、この発明はこれに限定されず、例えば乱数用クロック生成回路112といった、乱数回路509の外部において、乱数更新クロックRGKやラッチ用クロックRC0となる発振信号が生成されるようにしてもよい。あるいは、乱数回路509の内部にて、乱数更新クロックRGKを生成するための回路と、ラッチ用クロックRC0を生成するための回路とを、別個に設けるようにしてもよい。一例として、クロック用フリップフロップ552と同様のフリップフロップにより乱数更新クロックRGKを生成する一方で、乱数更新クロックRGKの信号状態を反転させる反転回路を設け、その反転回路から出力される信号を、ラッチ用クロックRC0として用いるようにしてもよい。
上記実施の形態では、CPU505に内蔵されたリフレッシュレジスタRR1の格納値を汎用レジスタにおける上位バイトGR1−1に加算して、特図表示結果判定用の乱数値MR1を示す数値データや、加算値決定用の乱数値MR6を示す数値データを設定するものとして説明した。しかしながら、この発明はこれに限定されず、リフレッシュレジスタRR1の格納値とは異なり、ハードウェア又はソフトウェアにより周期的に更新される値を加算してもよい。また、リフレッシュレジスタRR1の格納値などを加算することに代えて、減算、論理和、論理積といった、所定の演算処理を実行するようにしてもよい。あるいは、リフレッシュレジスタRR1の格納値を汎用レジスタにおける下位バイトGR1−2に加算するようにしてもよい。あるいは、これらの演算処理を何ら実行せずに、汎用レジスタにおける上位バイトGR1−1や下位バイトGR1−2をそのまま用いて、各種の乱数値となる数値データを設定するようにしてもよい。また、乱数回路509から抽出された数値データの上位バイトと下位バイトとを入れ替えて、汎用レジスタにおける上位バイトGR1−1や下位バイトGR1−2として格納してもよい。さらに、汎用レジスタにおける上位バイトGR1−1もしくは下位バイトGR1−2にリフレッシュレジスタRR1の格納値を加算した後に、あるいは、汎用レジスタにおける上位バイトGR1−1や下位バイトGR1−2に加算などの演算処理を行うことなく、上位バイトと下位バイトとを入れ替えるようにしてもよい。乱数回路509から抽出された数値データの上位バイトと下位バイトとのうち、特定のビットのデータを、他のビットのデータと入れ替えるようにしてもよい。この場合には、例えば乱数回路509における乱数値レジスタ559Aや乱数値レジスタ559Bと、汎用レジスタの上位バイトGR1−1や下位バイトGR1−2とを接続するバスにおいて、特定のビットのデータを他のビットのデータと入れ替えるように、配線をクロスさせるなどすればよい。
上記実施の形態では、クリアスイッチ304が電源基板10に設置され、遊技開始スイッチ31がクリアスイッチ304とは別個に主基板11に設置されるものとして説明した。しかしながら、この発明はこれに限定されず、例えば電源基板10及び主基板11のいずれか一方にて、クリアスイッチ304と遊技開始スイッチ31とを兼用する1つのスイッチを設置してもよい。これにより、例えば遊技開始スイッチ31をテープ止めして固定するなどの不正行為がなされたときでも、クリアスイッチ304が同時に作動して制御内容がクリア(初期化)されることになるため、狙い撃ちなどによる不正行為を防止することができる。ただし、上記実施の形態では、図47に示すステップS4にて延長時間を設定することや、ステップS8にて可変設定時間を設定することにより、セキュリティモードとなるセキュリティ時間を変更することができるので、クリアスイッチ304と遊技開始スイッチ31とを兼用しない場合に、たとえ遊技開始スイッチ31に対する不正行為がなされたとしても、パチンコ遊技機1の動作開始タイミングから乱数回路509の動作開始タイミングやソフトウェアによる乱数更新動作の開始タイミングなどを特定することは困難であり、狙い撃ちなどによる不正行為を防止する効果は十分に高いものとなっている。
上記実施の形態では、特図表示結果判定用の乱数値MR1を示す数値データや加算値決定用の乱数値MR6を示す数値データといった、主基板11で用いられる乱数値を設定する際に、ソフトウェアによる加工を行うものとして説明した。しかしながら、この発明はこれに限定されず、例えば演出制御基板12といった、サブ側の制御基板で用いられる乱数値を設定する際にも、ソフトウェアによる加工を行ってもよい。一例として、演出制御基板12に搭載された演出制御用マイクロコンピュータ120のCPUが、飾り図柄の可変表示における確定飾り図柄となる最終停止図柄を決定するために用いる乱数値や、予告演出を実行するか否かを決定するために用いる乱数値などについて、ソフトウェアによる加工を行って設定するようにしてもよい。
上記実施の形態では、例えばROM506における記憶データの全部又は一部といった、遊技制御用マイクロコンピュータ100の内部データの外部読出を、外部バスインタフェース501が備える内部リソースアクセス制御回路501Aにより制限するものとして説明した。しかしながら、この発明はこれに限定されず、例えば遊技制御用マイクロコンピュータ100にてROM506の記憶データを外部読出するための接続端子などを、パチンコ遊技機1の提供者において外部装置が接続不能に封止することなどにより、ROM506の外部読出などを制限できるようにしてもよい。
上記実施の形態では、普通入賞球装置6Aが形成する第1始動入賞口と、普通可変入賞球装置6Bが形成する第2始動入賞口とが、複数の始動領域として設けられるものとして説明した。しかしながら、この発明はこれに限定されず、例えば3個以上といった複数の始動領域が設けられるものであってもよい。この場合、各始動領域にて遊技球の始動入賞が検出されたことに基づき、互いに異なる特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。あるいは、例えば3個以上の始動領域のうちで、一部(少なくとも2個)の始動領域にて遊技球の始動入賞が検出されたことに基づき、同一の特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。また、複数の始動領域のうち、いずれの始動領域にて遊技球の始動入賞が検出された場合でも、共通する1個(あるいは1組)の特別図柄を用いた特図ゲームを実行するための始動条件が成立するようにしてもよい。この場合には、複数の始動領域において遊技球の始動入賞が検出された順番と同一の順番で、特図ゲームを開始するための開始条件が成立するようにしてもよい。あるいは、複数の始動領域に優先順位を付け、優先順位が高い始動領域にて遊技球の始動入賞が検出されたことに基づく特図ゲームを開始するための開始条件を、優先順位が低い始動領域にて遊技球の始動入賞が検出されたことに基づく開始条件よりも、優先的に成立させるようにしてもよい。
上記実施の形態では、図53に示すステップS111の変動パターン設定処理として、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、図59のフローチャートに示すような処理が実行されるものとして説明した。しかしながら、この発明はこれに限定されず、第1開始条件が成立した場合と第2開始条件が成立した場合とでは、互いに異なる処理を実行して、変動パターン種別を複数種類のいずれとするかの決定や、変動パターンを複数種類のいずれとするかの決定を行うようにしてもよい。この場合、変動パターン種別を決定するための処理や、変動パターンを決定するための処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、変動パターン種別決定用の乱数値SR4を示す数値データや、変動パターン決定用の乱数値SR5を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。
例えば、大当り用変動パターン種別決定テーブルや小当り用変動パターン種別決定テーブル、リーチ用変動パターン種別決定テーブル、非リーチ用変動パターン種別決定テーブルといった変動パターン種別決定テーブルとして、第1開始条件と第2開始条件のいずれが成立したかに応じて、各変動パターン種別に対する変動パターン種別決定用の乱数値SR4の割当てを異ならせたものを予め用意してもよい。そして、第1開始条件の成立に対応して実行される変動パターン設定処理では、第1開始条件の成立に応じた変動パターン種別決定テーブルを使用テーブルとして選択し、変動パターン種別決定用の乱数値SR4に基づいて、変動パターン種別を複数種類のいずれかに決定する。これに対して、第2開始条件の成立に対応して実行される変動パターン設定処理では、第2開始条件の成立に応じて第1開始条件が成立した場合とは異なる変動パターン種別決定テーブルを使用テーブルとして選択し、第1開始条件が成立した場合と共通の変動パターン種別決定用の乱数値SR4に基づいて、変動パターン種別を複数種類のいずれかに決定すればよい。
また、飾り図柄をリーチ表示状態で導出表示するか否かの判定処理についても、第1開始条件が成立した場合と第2開始条件が成立した場合とでは、互いに異なる処理が実行されるようにしてもよい。この場合、リーチ状態とするか否かの処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、リーチ判定用の乱数値MR3を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。さらに、例えば上記実施の形態において図58に示したステップS243のような処理に代えて、大当り種別を複数種類のいずれかに決定する処理として、第1開始条件が成立した場合と第2開始条件が成立した場合とで互いに異なる処理が実行されるようにしてもよい。この場合、大当り種別を決定するための処理は、第1開始条件と第2開始条件のいずれが成立したかに応じて異ならせる一方で、大当り種別決定用の乱数値MR2を示す数値データとしては、第1開始条件と第2開始条件のいずれが成立したかに関わりなく、共通の数値データを用いるようにすればよい。
上記実施の形態では、可変表示結果が「小当り」となったことに基づいて小当り遊技状態に制御され、小当り遊技状態が終了した後には、遊技状態の変更が行われない。その一方で、可変表示結果が「大当り」となる場合に大当り種別が「突確」となったことに基づいて2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、確変状態に制御されるものとして説明した。しかしながら、この発明はこれに限定されず、大当り種別が「突確」となる場合や可変表示結果が「小当り」となる場合に代えて、あるいは、これらの場合に加えて、「突然時短」や「突然通常」となる場合を設けるようにしてもよい。一例として、「突然時短」と「突然通常」は、可変表示結果が「大当り」となる場合における大当り種別に含まれるものとする。この場合、大当り種別決定テーブル131は、変動特図指定バッファ値に応じて、大当り種別決定用の乱数値MR2を、「突然時短」や「突然通常」の大当り種別に割り当てるテーブルデータが含まれるように構成されればよい。そして、可変表示結果が「大当り」となる場合に大当り種別が「突然時短」となるときには、大当り種別が「突確」の場合と同様にして2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、大当り種別が「突確」の場合とは異なり時短状態に制御される。他方、可変表示結果が「大当り」となる場合に大当り種別が「突然通常」となるときには、大当り種別が「突確」の場合と同様にして2ラウンド大当り状態に制御され、2ラウンド大当り状態が終了した後には、大当り種別が「突確」の場合とは異なり通常状態に制御される。これにより、2ラウンド大当り状態の終了後に制御される遊技状態に対する遊技者の期待感を高め、遊技興趣を向上させることができる。
このような「突然時短」や「突然通常」を設ける場合には、「突然時短」及び「突然通常」以外である場合とは異なる変動パターン種別や変動パターンに決定するようにしてもよい。これにより、大当り種別が「突然時短」や「突然通常」であることにより2ラウンド大当り状態に制御されるにもかかわらず、15ラウンド大当り状態に制御される場合と同様の演出動作が行われて遊技者に不信感を与えてしまうことを防止できる。また、大当り種別が「突然時短」や「突然通常」となる場合には、可変表示結果が「小当り」となる場合、あるいは、大当り種別が「突確」となる場合と、共通の変動パターン種別に決定可能としてもよい。これにより、変動パターンを決定する際には、大当り種別が「突然時短」や「突然通常」となる場合であるか、可変表示結果が「小当り」となる場合あるいは大当り種別が「突確」となる場合であるかに関わりなく、共通の変動パターン決定テーブルを用いることができ、データ容量の削減を図ることができる。
上記実施の形態では、可変表示結果が「大当り」となったことに基づく大当り遊技状態が終了した後に、確変状態や時短状態といった遊技状態に制御できるものとして説明した。そして、確変状態や時短状態では、第2始動入賞口に遊技球が進入する可能性を高めて第2始動条件が成立しやすくなることで遊技者にとって有利となる制御が行われるものとして説明した。しかしながら、この発明はこれに限定されず、例えば確変状態には、継続して確変制御が行われるとともに、第2始動入賞口に遊技球が進入する可能性を高める有利開放制御が行われる高確高ベース状態と、確変制御は行われるが有利開放制御は行われない高確低ベース状態とが含まれるようにしてもよい。また、時短状態には、特図変動時間が短縮されるとともに有利開放制御が行われる低確高ベース状態と、特図変動時間は短縮されるが有利開放制御は行われない低確低ベース状態とが含まれるようにしてもよい。一例として、大当り種別が「第1確変」〜「第3確変」、「突確」のいずれであるかに対応して、大当り遊技状態の終了後に、高確高ベース状態と高確低ベース状態のいずれかに制御されるようにしてもよい。他の一例として、大当り種別が「第1確変」〜「第3確変」、「突確」のいずれであるかに応じて、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれかに制御される割合を、互いに異ならせるようにしてもよい。
大当り種別が「突確」である場合に変動パターン種別を複数種類のいずれかに決定する際には、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれに制御するかに応じて、異なる変動パターン種別に決定するようにしてもよい。一例として、図58に示すステップS243にて大当り種別が「突確」に決定された際には、大当り遊技状態の終了後に高確高ベース状態と高確低ベース状態のいずれに制御するかを決定するための判定処理を実行する。このとき、高確低ベース状態に制御することが決定された場合には、特殊CA4−1、特殊CB4−1、特殊CC4−1の変動パターン種別といった、大当り種別が「突確」となる場合と可変表示結果が「小当り」となる場合で共通の変動パターン種別に決定する。これに対して、高確高ベース状態に制御することが決定された場合には、特殊CA4−2、特殊CB4−2、特殊CC4−2といった、大当り種別が「突確」となる場合のみに専用の変動パターン種別に決定すればよい。これにより、大当り種別が「突確」で大当り遊技状態の終了後に高確低ベース状態となる場合には、飾り図柄の可変表示中における演出動作や2ラウンド大当り状態における演出動作として、可変表示結果が「小当り」となる場合と共通の演出動作が行われた後、高確低ベース状態となることができる。他方、大当り種別が「突確」で大当り遊技状態の終了後に高確高ベース状態となる場合には、飾り図柄の可変表示中における演出動作や2ラウンド大当り状態における演出動作として、大当り種別が「突確」となる場合のみに専用の演出動作が行われた後、高確高ベース状態となることができる。
上記実施の形態では、画像表示装置5の表示領域において、「左」、「中」、「右」の飾り図柄表示エリア5L、5C、5Rが設けられ、各飾り図柄表示エリア5L、5C、5Rにて1個の飾り図柄が停止表示されることで、予め定められた1個の有効ライン上に最終停止図柄となる確定飾り図柄が停止表示されるものとして説明した。しかしながら、この発明はこれに限定されず、例えば「左」、「中」、「右」の各飾り図柄表示エリア5L、5C、5Rにて「上段」、「中段」、「下段」の3カ所に飾り図柄を停止表示可能とし、5個あるいは8個の有効ライン上に最終停止図柄となる確定飾り図柄が停止表示されるようにしてもよい。
上記実施の形態では、第1特別図柄表示装置4A及び第2特別図柄表示装置4Bを備えたパチンコ遊技機1について説明したが、1つの特別図柄表示装置が設けられたパチンコ遊技機にも本発明の一部を適用することができる。この場合には、例えば図15に示す乱数回路509が備えるラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタ559Bの組合せを不使用とする一方、セキュリティ時間をシステムリセット毎に所定の時間範囲で変化させたり、セキュリティ時間を固定時間に加えて予め選択可能な複数の延長時間のいずれかに設定したりすることができればよい。
上記実施の形態では、変動パターン種別決定用の乱数値MR4に基づき変動パターン種別が非リーチCA1−4や非リーチCC1−2の変動パターン種別に決定されたことに対応して、特定演出を実行するための非リーチPA1−4〜非リーチPA1−7の変動パターンのいずれかに決定されるものとして説明した。すなわち、変動パターン種別決定用の乱数値MR4を用いて変動パターン種別を決定することにより、特定演出の有無が決定されるものとして説明した。しかしながら、この発明はこれに限定されず、例えば変動パターン決定用の乱数値MR5を用いて変動パターンを決定することにより、特定演出の有無が決定されるようにしてもよい。一例として、非リーチCA1−4や非リーチCC1−2の変動パターン種別には、非リーチPA1−1の変動パターンも含まれるように、ハズレ変動パターン決定テーブル138Aのテーブルデータを設定する。この場合には、変動パターン種別決定用の乱数値MR4に基づき変動パターン種別が非リーチCA1−4や非リーチCC1−2の変動パターン種別に決定された時点では、未だ特定演出の有無が確定せず、変動パターン決定用の乱数値MR5に基づき変動パターンが非リーチPA1−1に決定されることにより特定演出を実行しないことが決定される一方で、変動パターンが非リーチPA1−4〜非リーチPA1−7のいずれかに決定されることにより特定演出を実行することが決定される。
その他にも、パチンコ遊技機1の装置構成、データ構成、フローチャートで示した処理、画像表示装置5の表示領域における演出画像の表示動作を含めた各種の演出動作などは、本発明の趣旨を逸脱しない範囲で、任意に変更及び修正が可能である。加えて、本発明の遊技機は、入賞球の検出に応答して所定数の賞球を払い出す払出式遊技機に限定されるものではなく、遊技球を封入し入賞球の検出に応答して得点を付与する封入式遊技機にも適用することができる。
さらに、この発明は、上記実施の形態におけるパチンコ遊技機1に限定されず、その一部がスロットマシンなどの他の遊技機に適用されてもよい。この場合には、例えば図15に示す乱数回路509が備えるラッチ用フリップフロップ557B、乱数ラッチセレクタ558B及び乱数値レジスタ559Bの組合せを不使用とする。その一方で、PIP510が備える入力ポートP0には、スロットマシンが備えるスタートレバースイッチからの検出信号を入力する。スタートレバースイッチは、複数のリールを回転させることによりゲームを開始するためのスタートレバーに対する操作を検出したときに、オン状態となる検出信号を出力する。
スロットマシンの筐体内部には、外周に複数種の図柄が配列された複数(例えば3つ)のリールを水平方向に並設した可変表示装置が設けられている。また、スロットマシンの前面扉には、上記実施の形態における画像表示装置5と同様の表示機能を有する画像表示装置が設けられている。各リールの外周部には、例えば「赤7」、「白7」、「BAR」、「JAC」、「スイカ」、「チェリー」、「ベル」といった、互いに識別可能な複数種類の図柄が所定の順序で描かれている。各リールの外周部に描かれた図柄は、可変表示装置にて各々上中下三段に表示されている。各リールは、スタートレバーに対する所定操作(例えば押下操作など)に応答して回転することで、各リールの図柄が連続的に変化しつつ表示される。そして、各リールの回転を停止させるときには、各リールに対応して設置された複数のストップスイッチを遊技者が操作する。なお、リールの回転が開始された後、所定時間が経過してもストップスイッチの操作がなされないときには、自動的にリールの回転が停止してもよい。
スロットマシンにおける前面扉の所定位置には、例えばメダルといった遊技媒体を投入可能な投入口や、遊技媒体を1単位(例えばメダル1枚)ずつ賭数として設定(BET)するためのBETスイッチ、1ゲームで賭けることのできる最高単位数(例えばメダル3枚分)の賭数を設定するためのMAXBETスイッチ、クレジット(遊技者所有の遊技用価値として記憶されている遊技媒体数)として記憶されている遊技媒体及び賭数の設定に用いた遊技媒体を精算するための精算スイッチなどが設けられている。
スロットマシンにおいてゲームを行う場合には、まず、遊技媒体を投入口から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用する場合にはBETスイッチ又はMAXBETスイッチを操作する。こうして賭数が設定されると、その賭数に応じた複数の入賞ラインのいずれかが有効となり、スタートレバーの操作が有効な状態、すなわち、ゲームが実行可能な状態となって、可変表示の実行条件が成立する。なお、前回のゲームにてリプレイなどの再遊技役の入賞が発生した場合には、続けて次のゲームが実行可能となり、可変表示の実行条件が成立する。こうしてゲームが実行可能な状態でスタートレバーが操作されると、可変表示の開始条件が成立したことに対応して、各リールが回転し、図柄が連続的に変動する。各リールが回転することによる図柄の変動中には、画像表示装置における演出画像の表示動作や、スピーカからの音声出力動作、遊技効果ランプの点灯動作などにより、各種の演出動作が実行される。例えば、画像表示装置では、各リールの外周部に描かれた図柄と同一の図柄、又は、各リールの図柄とは異なるものの当該図柄と対応付けられた図柄が、演出用識別情報として可変表示されればよい。また、図柄の変動が終了した後にも、例えば入賞の発生を報知する演出動作や、デモンストレーションとなる演出動作といった、各種の演出動作が実行されてもよい。この状態で複数のストップスイッチのいずれかが操作されると、対応するリールの回転が停止し、表示結果が視認可能に導出表示される。
そして、全てのリールの回転が停止されることで1ゲームが終了し、有効化されたいずれかの入賞ライン上に予め定められた役と呼ばれる図柄の組合せが各リールの表示結果として停止した場合には入賞が発生する。入賞となる役の種類には、大別して、メダルの付与を伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役とがあり、遊技状態に応じて入賞となる役が定められている。スロットマシンでは、スタートレバーが操作されたタイミングで上記実施の形態における乱数回路509と同様の乱数回路などから抽出した乱数値に基づき、遊技状態に応じて定められた各役の入賞の発生を許容するか否かを決定する内部抽選を行う。この内部抽選に当選して入賞の発生が許容されていることを、「内部当選している」ともいう。各役の当選のうち、小役及び再遊技役の当選は、その当選が決定されたゲームにおいてのみ有効とされるが、特別役の当選は、その内部抽選により発生が許容された役が揃うまで有効とされる。すなわち特別役となる入賞の発生が一度許容されると、例え、各ゲームにて特別役となる入賞を発生させることができなかった場合でも、その当選は次のゲームへ持ち越されることになる。
スロットマシンにおける遊技状態には、特定遊技状態と通常遊技状態とが含まれている。特定遊技状態には、レギュラーボーナスやビッグボーナスの他、AT(アシストタイム)、CT(チャレンジタイム)、RT(リプレイタイム)、ART(アシストリプレイタイム)などが含まれてもよい。レギュラーボーナスの遊技状態では、例えばJAC、チェリー、スイカ及びベルなどの小役が、入賞となる役として定められており、内部抽選での抽選対象とされる。ビッグボーナスの遊技状態では、所定の小役ゲームにおいて、例えばチェリー、スイカ及びベルなどの小役や、レギュラーボーナス(あるいはJACIN)などの特別役が、入賞となる役として定められており、各小役ゲームにおける内部抽選での抽選対象とされる。ATの遊技状態では、各リールの停止順や停止タイミング等の入賞条件に一致する操作を行わないと入賞を出現させることができない特定役の入賞条件が報知される。CTの遊技状態では、各リールが一定の範囲で無制御となることで狙った特定の小役を入賞させることが可能になる。RTの遊技状態では、リプレイなどの再遊技役が高確率で入賞する。ARTの遊技状態では、ATの遊技状態とRTの遊技状態とが組み合わされる。通常遊技状態では、例えばチェリー、スイカ及びベルなどの小役や、リプレイなどの再遊技役、ビッグボーナス、レギュラーボーナスなどの特別役が、入賞となる役として予め定められており、各ゲームにおける内部抽選での抽選対象とされる。
スロットマシンには、上記実施の形態における電源基板10と共通の構成及び機能を含んだ電源基板や、主基板11と共通の構成及び機能を含んだ主基板や、演出制御基板12と共通の構成及び機能を含んだ演出制御基板、払出制御基板12と共通の構成及び機能を含んだ払出制御基板などが搭載されている。なお、各制御基板は、スロットマシンにおけるゲームの進行や演出内容に応じて、上記実施の形態における制御基板とは異なる構成や機能を含んでいてもよい。
スロットマシンの主基板には、上記実施の形態における遊技制御用マイクロコンピュータ100と共通の構成及び機能を含んだ遊技制御用マイクロコンピュータなどが搭載されている。例えば、この遊技制御用マイクロコンピュータには、上記実施の形態におけるCPU505と同様の制御を実行可能なCPUや、ROM506と同様のプログラムや固定データを記憶可能なROM、RAM507と同様のワークエリアを提供可能なRAMなどが内蔵されていればよい。また、上記実施の形態における乱数回路509と一部又は全部が共通する乱数回路が、遊技制御用マイクロコンピュータに内蔵又は外付けされていればよい。
そして、一例として、スロットマシンが備える遊技制御用マイクロコンピュータに内蔵されたCPUは、図47に示すステップS1〜S8に相当する処理を実行することにより、セキュリティ時間をシステムリセット毎に所定の時間範囲で変化させたり、セキュリティ時間を固定時間に加えて予め選択可能な複数の延長時間のいずれかに設定したりすることができればよい。その他にも、本発明の趣旨を逸脱しない範囲で、上記実施の形態におけるパチンコ遊技機1の構成及び機能を、スロットマシンに適用すればよい。ここで、スロットマシンにおいて図41〜図44などに示すような変動パターン種別や変動パターンを決定する場合には、図59に示すステップS261〜S276の処理をスロットマシンに適合させた処理が、スロットマシンの主基板に搭載された遊技制御用マイクロコンピュータのCPUによって実行されてもよいし、主基板から演出制御基板へと伝送された演出制御コマンドに基づき、スロットマシンの演出制御基板に搭載された演出制御用マイクロコンピュータのCPUによって実行されてもよい。スロットマシンの主基板側で変動パターン種別や変動パターンを決定した場合には、決定された変動パターンを示す演出制御コマンドが、主基板から演出制御基板へと伝送されるようにすればよい。その一方で、スロットマシンの演出制御基板側で変動パターン種別は変動パターンを決定した場合には、主基板から演出制御基板へと内部抽選結果を示す演出制御コマンドなどを伝送し、演出制御用マイクロコンピュータのCPUが、この演出制御コマンドに基づいて選択した変動パターン種別決定テーブルを参照して変動パターン種別を複数種類のいずれかに決定する(ステップS261〜S273に相当する処理)。その後、決定された変動パターン種別に対応して選択した変動パターン決定テーブルを参照することなどにより、その変動パターン種別に含まれる変動パターンの中から、画像表示装置にて可変表示される演出用識別情報となる図柄の変動パターンが決定されればよい(ステップS274〜S276に相当する処理)。