(基本説明)
まず、パチンコ遊技機1の基本的な構成および制御について説明する。
(パチンコ遊技機1の構成等)
図1は、パチンコ遊技機1の正面図であり、主要部材の配置レイアウトを示す。パチンコ遊技機(遊技機)1は、大別して、遊技盤面を構成する遊技盤(ゲージ盤)2と、遊技盤2を支持固定する遊技機用枠(台枠)3とから構成されている。遊技盤2には、遊技領域が形成され、この遊技領域には、遊技媒体としての遊技球が、所定の打球発射装置から発射されて打ち込まれる。
遊技盤2の所定位置には、第1特別図柄表示装置4Aと、第2特別図柄表示装置4Bと、が設けられている。図1に示す例では、遊技領域の右側方に設けられている。第1特別図柄表示装置4Aと、第2特別図柄表示装置4Bとは、それぞれ、複数種類の特別識別情報としての特別図柄の可変表示を行うことができる。特別図柄は、「特図」ともいう。特別図柄の可変表示は、「特図ゲーム」ともいう。第1特別図柄表示装置4Aと、第2特別図柄表示装置4Bとは、いずれも7セグメントのLEDなどを用いて構成される。特別図柄は、「0」~「9」を示す数字や「-」を示す記号、その他、任意の点灯パターンなどにより表される。特別図柄には、LEDを全て消灯したパターンが含まれてもよい。
特別図柄の「可変表示」とは、例えば、複数種類の特別図柄を変動可能に表示することである。演出図柄や小図柄、普通図柄など、他の図柄についても、「可変表示」は同じく複数種類の図柄を変動可能に表示することである。演出図柄は、飾り図柄あるいは装飾図柄ともいう。可変表示は、変動表示、あるいは単に、変動ともいう。変動としては、複数の図柄の更新表示、複数の図柄のスクロール表示、1以上の図柄の変形、拡大、縮小などがある。変動には、ある図柄を点滅表示する態様が含まれてもよい。特別図柄や普通図柄の可変表示では、複数種類の特別図柄または普通図柄が更新可能に表示される。演出図柄の可変表示では、複数種類の演出図柄がスクロール表示または更新表示されたり、1以上の演出図柄が変形、拡大、縮小されたりする。任意の図柄の可変表示において、最後には表示結果として所定図柄が停止表示される。停止表示は、導出表示、あるいは単に、導出ともいう。可変表示において最終的に停止表示される図柄は、最終停止図柄あるいは確定図柄ともいう。特図ゲームにおける最終停止図柄は、確定特別図柄ともいう。可変表示の表示結果は、特別図柄の表示結果を含み、可変表示結果ともいう。特別図柄の表示結果は、特図表示結果ともいう。可変表示の実行時間は、特別図柄の変動時間である特図変動時間を含み、可変表示時間ともいう。特図変動時間は、複数パターンが予め用意された特別図柄の変動パターンに対応して、異なる時間を設定可能である。
第1特別図柄表示装置4Aにおいて可変表示される特別図柄は「第1特図」ともいう。第2特別図柄表示装置4Bにおいて可変表示される特別図柄は「第2特図」ともいう。第1特図を用いた特図ゲームは「第1特図ゲーム」ともいう。第2特図を用いた特図ゲームは「第2特図ゲーム」ともいう。特別図柄の可変表示を行う特別図柄表示装置は1種類であってもよい。
遊技盤2の所定位置には、普通図柄表示器20が設けられている。図1に示す例では、遊技領域の左側方に設けられている。普通図柄表示器20は、特別図柄とは異なる複数種類の普通識別情報としての普通図柄の可変表示を行うことができる。普通図柄は、「普図」ともいう。普通図柄の可変表示は、「普図ゲーム」ともいう。普通図柄表示器20は、7セグメントのLEDなどを用いて構成される。普通図柄は、「0」~「9」を示す数字や「-」を示す記号、その他、任意の点灯パターンなどにより表される。普通図柄には、複数のLEDにおける一部または全部を点灯したパターンや、複数のLEDを全て消灯したパターンが、含まれてもよい。普図ゲームにおける最終停止図柄は、確定普通図柄ともいう。普通図柄の表示結果は、普図表示結果ともいう。普図ゲームにおいて普通図柄が可変表示される実行時間は、普図変動時間ともいう。普図変動時間は、複数パターンが予め用意された普通図柄の変動パターンに対応して、異なる時間を設定可能である。
遊技盤2における遊技領域の中央付近には画像表示装置5が設けられている。画像表示装置5は、例えばLCD(液晶表示装置)、有機EL(Electro Luminescence)、ドットマトリクスLED、プロジェクタおよびスクリーン、立体画像投影装置、その他、任意の画像を形成可能な機構を用いた構成であればよい。画像表示装置5は、各種の演出画像を表示可能である。また、画像表示装置5は、演出画像に限定されず、検査用画像や設定用画像といった、任意の制御関連画像を表示可能である。
例えば、画像表示装置5の画面上では、第1特図ゲームや第2特図ゲームと同期して、演出図柄の可変表示を実行可能である。演出図柄は、数字などを示す表示図柄であり、特別図柄や普通図柄とは異なる複数種類の装飾識別情報となる。図1に示す画像表示装置5の画面上には、「左」、「中」、「右」の各演出図柄表示エリア5L、5C、5Rが設けられ、第1特図ゲームまたは第2特図ゲームに同期して、例えば演出図柄が上下方向のスクロール表示や更新表示されることにより、演出図柄の可変表示が行われる。可変表示の同期は、図柄の変動が開始されるタイミングと、その変動が終了して図柄が最終的に停止表示されるタイミングとが、異なる種類の図柄について共通のタイミングとなるものであればよい。演出図柄の可変表示における最終停止図柄は、確定演出図柄、確定飾り図柄、確定装飾図柄ともいう。演出図柄の可変表示は第1特図ゲームや第2特図ゲームと同期するので、演出図柄の可変表示時間は、特図変動時間と同じになる。
画像表示装置5の画面上には、保留表示とアクティブ表示とに対応した演出画像を表示可能な表示エリアが設けられてもよい。保留表示は、未だ実行されずに保留されている可変表示に対応する表示である。アクティブ表示は、実行中の可変表示に対応する表示である。保留表示およびアクティブ表示は、可変表示に対応する可変表示対応表示とも総称される。保留表示を行う表示エリアは、保留表示エリアともいう。アクティブ表示を行う表示エリアは、アクティブ表示エリアともいう。保留されている可変表示の数は、保留記憶数ともいう。第1特図ゲームに対応する保留記憶数は、第1保留記憶数ともいう。第2特図ゲームに対応する保留記憶数は、第2保留記憶数ともいう。第1保留記憶数と第2保留記憶数との合計値は、合計保留記憶数ともいう。
図1に示す第1特別図柄表示装置4Aおよび第2特別図柄表示装置4Bの上方には、複数のLEDを含んで構成された第1保留表示器25Aと第2保留表示器25Bとが設けられる。第1保留表示器25Aは、LEDの点灯個数によって、第1保留記憶数を表示する。第2保留表示器25Bは、LEDの点灯個数によって、第2保留記憶数を表示する。図1に示す普通図柄表示器20の上方には、複数のLEDを含んで構成された普図保留表示器25Cが設けられている。普図保留表示器25Cは、LEDの点灯個数によって、普図保留記憶数を表示する。普図保留記憶数は、普図ゲームに対応する保留記憶数である。
画像表示装置5の下方には、入賞球装置6Aと、可変入賞球装置6Bと、が設けられている。入賞球装置6Aは、例えば所定の玉受部材によって、常に遊技球が進入可能な一定の開放状態に保たれる第1始動入賞口を形成する。可変入賞球装置6Bは、普通電動役物として、図2に示す普通電動役物ソレノイド81により閉鎖状態と開放状態とに変化可能な第2始動入賞口を形成する。可変入賞球装置6Bは、例えば一対の可動翼片を有する電動チューリップ型役物を備え、普通電動役物ソレノイド81がオフ状態であるときに可動翼片が垂直位置となることにより、第2始動入賞口を遊技球が進入しない閉鎖状態あるいは第2始動入賞口を遊技球が進入しにくい通常開放状態となる。可変入賞球装置6Bは、普通電動役物ソレノイド81がオン状態であるときに可動翼片が傾動位置となることにより、第2始動入賞口を遊技球が進入可能な開放状態あるいは第2始動入賞口を遊技球が進入しやすい拡大開放状態となる。第2始動入賞口を遊技球が進入可能な開放状態や進入しやすい拡大開放状態は、第1可変状態ともいう。第2始動入賞口を遊技球が進入しない閉鎖状態や進入しにくい通常開放状態は、第2可変状態ともいう。なお、可変入賞球装置6Bは、第1可変状態と第2可変状態とに変化可能なものであればよく、電動チューリップ型役物を備えるものに限定されない。
入賞球装置6Aが形成する第1始動入賞口に遊技球が進入することは、第1始動入賞ともいう。可変入賞球装置6Bが形成する第2始動入賞口に遊技球が進入することは、第2始動入賞ともいう。第1始動入賞口に進入した遊技球は、図2に示す第1始動口スイッチ22Aによって検出される。第2始動入賞口に進入した遊技球は、図2に示す第2始動口スイッチ22Bによって検出される。第1始動入賞の発生にもとづいて、例えば3個といった、所定個数の賞球が払い出され、第1保留記憶数が1加算されるように更新可能である。ただし、第1保留記憶数が上限数に達している場合に、第1始動入賞が発生しても第1保留記憶数は更新されない。第1保留記憶数が1加算される場合に対応して、第1始動条件が成立し、第1特別図柄表示装置4Aにより特別図柄を可変表示する第1特図ゲームが実行可能になる。第2始動入賞の発生にもとづいて、例えば3個といった、所定個数の賞球が払い出され、第2保留記憶数が1加算されるように更新可能である。ただし、第2保留記憶数が上限数に達している場合に、第2始動入賞が発生しても第2保留記憶数は更新されない。第2保留記憶数が1加算される場合に対応して、第2始動条件が成立し、第2特別図柄表示装置4Bにより特別図柄を可変表示する第2特図ゲームが実行可能になる。
遊技盤2の所定位置には、所定の玉受部材によって常に一定の開放状態に保たれる一般入賞口10が設けられる。図1に示す例では、遊技領域の左下方2箇所に一般入賞口10が設けられている。一般入賞口10のいずれかに遊技球が進入したときに、例えば10個といった、所定個数の賞球が払い出される。
遊技盤2が形成する遊技領域においては、遊技球が流下する流下経路として、第1経路と、第2経路と、が設けられている。第1経路は、正面から見て画像表示装置5よりも左側の領域に主に設けられている。第2経路は、正面から見て画像表示装置5よりも右側の領域に主に設けられている。画像表示装置5の左側領域は、左側遊技領域あるいは左遊技領域ともいう。画像表示装置5の右側領域は、右側遊技領域あるいは右遊技領域ともいう。左側遊技領域と右側遊技領域とは、例えば遊技領域における画像表示装置5の端面や、遊技釘の配列などにより区分けされていればよい。第1経路に遊技球を流下させるために左側遊技領域に向けて遊技球を発射させることは、左打ちともいう。第2経路に遊技球を流下させるために右側遊技領域に向けて遊技球を発射させることは、右打ちともいう。第1経路は、左打ち経路ともいう。第2経路は、右打ち経路ともいう。第1経路と第2経路とは、別の経路により構成されてもよく、一部が共通化された経路であってもよい。
打球発射装置が備える打球操作ハンドルの操作に応じて、遊技球が打球発射装置から発射されて遊技領域に打ち込まれる。遊技領域に打ち込まれた遊技球は、左側遊技領域へと誘導されて第1経路を流下する場合に、例えば遊技釘の配列に沿って誘導されることにより、右側遊技領域における第2経路へは誘導不可能または誘導困難となる。遊技領域に打ち込まれた遊技球は、右側遊技領域へと誘導されて第2経路を流下する場合に、例えば遊技釘の配列に沿って誘導されることにより、左側遊技領域における第1経路へは誘導不可能または誘導困難となる。
入賞球装置6Aは、左側遊技領域における第1経路に設けられ、第1経路を流下する遊技球が進入可能となる。可変入賞球装置6Bは、右側遊技領域における第2経路に設けられ、第2経路を流下する遊技球が進入可能となる。なお、可変入賞球装置6Bは、左側遊技領域における第1経路を流下する遊技球が進入可能となってもよい。可変入賞球装置6Bは、左側遊技領域における第1経路を流下する遊技球よりも、右側遊技領域における第2経路を流下する遊技球の方が、進入しやすくなるように配置されてもよい。
右側遊技領域における第2経路には、通過ゲート41と、特別可変入賞球装置50と、が設けられている。通過ゲート41は、遊技球が通過可能な通過領域を形成する。通過ゲート41を通過した遊技球は、図2に示すゲートスイッチ21によって検出される。遊技球が通過ゲート41を通過したことにもとづいて、普通保留記憶数の加算更新が可能になり、普図ゲームとして、普通図柄表示器20による普通図柄の可変表示が実行可能になる。通過ゲート41は、遊技球が進入可能な普通図柄作動口として構成可能である。この場合に、ゲートスイッチ21は、普通図柄作動口に進入した遊技球を検出可能な普通図柄作動口スイッチとして構成可能である。
特別可変入賞球装置50は、特別電動役物として、大入賞口ソレノイド82により閉鎖状態と開放状態とに変化可能な大入賞口を形成する。特別可変入賞球装置50の上部は、遊技球が通過可能な程度に前後方向の通路幅を有する誘導通路が形成されている。この誘導経路は、右側から左側へと向けて下降するように傾斜し、延在した通路の両側となる手前側および奥側に壁部が設けられる。誘導通路の中央部には、大入賞口となる役物進入口が形成されている。特別可変入賞球装置50において、大入賞口を開閉可能な位置には、大入賞口開閉部材として、前後方向に移動可能な可動部材52が設けられている。特別可変入賞球装置50において、誘導通路の大入賞口が形成されていない部分は、固定された通路を形成する固定部材53が設けられている。
可動部材52は、大入賞口ソレノイド82により駆動され、大入賞口となる役物進入口を開閉するための進退動作が可能である。特別可変入賞球装置50において、大入賞口から内部に進入した遊技球は、カウントスイッチ23によって検出される。特別可変入賞球装置50の内部には、遊技球が通過可能な入賞領域として、特定領域となるV入賞領域51が設けられている。また、特別可変入賞球装置50の内部には、V入賞領域51とは異なる通常領域が設けられている。V入賞領域51の上部には、V入賞口開閉部材として、V入賞領域51を開放状態と閉鎖状態とに切替え可能な板状の振分部材が設けられている。振分部材は、特定領域ソレノイド83により駆動され、V入賞領域51を開閉するための進退動作が可能である。V入賞領域51は、開放状態であるときに遊技球が通過可能であり、閉鎖状態であるときに遊技球が通過不可能である。V入賞領域51を通過した遊技球は、特定領域スイッチ24によって検出される。V入賞領域51を通過しなかった遊技球は、通常領域を通過する。V入賞領域51を通過した遊技球と、V入賞領域51を通過せずに通常領域を通過した遊技球とは、いずれも排出口スイッチ26によって検出された後に、特別可変入賞球装置50の外部へと排出される。
遊技盤2の表面には、上記の構成以外にも、遊技球の流下方向や速度を変化させる風車および多数の障害釘が設けられている。遊技領域の最下方には、いずれの入賞口にも進入しなかった遊技球が取り込まれるアウト口が設けられている。遊技機用枠3の左右上部位置には、効果音等を再生出力するためのスピーカ8L、8Rが設けられており、遊技領域周辺部には、点灯演出用の遊技効果ランプ9が設けられている。遊技効果ランプ9は、LEDを含んで構成されている。遊技盤2の所定位置には、演出に応じて動作する可動体32が設けられている。
遊技機用枠3の右下部位置には、遊技球を打球発射装置により遊技領域に向けて発射するために遊技者等によって操作される打球操作ハンドルが設けられている。打球操作ハンドルは、操作ノブともいう。遊技領域の下方における遊技機用枠3の所定位置には、賞球として払い出された遊技球や所定の球貸機により貸し出された遊技球を、打球発射装置へと供給可能に保持する打球供給皿が設けられている。打球供給皿は、上皿ともいう。上皿の下方には、上皿満タン時に払い出された賞球が流下して貯留される賞球貯留皿が設けられている。賞球貯留皿は、下皿ともいう。
遊技領域の下方における遊技機用枠3の所定位置には、スティックコントローラ31Aと、プッシュボタン31Bと、が設けられている。スティックコントローラ31Aは、遊技者が把持して傾倒操作を可能であり、遊技者が押引操作を可能なトリガボタンが設けられている。スティックコントローラ31Aに対する操作は、図2に示すコントローラセンサユニット35Aによって検出される。プッシュボタン31Bは、遊技者が押下操作を可能である。プッシュボタン31Bに対する操作は、図2に示すプッシュセンサ35Bによって検出される。パチンコ遊技機1では、遊技者の操作などの動作を検出する検出手段として、スティックコントローラ31Aやプッシュボタン31Bが用いられるが、これら以外の検出手段が用いられてもよい。
(遊技の進行の概略)
パチンコ遊技機1が備える打球操作ハンドルへの遊技者による回転操作により、遊技球が遊技領域に向けて発射される。遊技球が通過ゲート41を通過すると、普通図柄表示器20による普図ゲームが開始される。なお、前回の普図ゲームの実行中の期間などである場合に、遊技球が通過ゲート41を通過しても当該通過にもとづく普図ゲームを直ちに実行できないので、当該通過にもとづく普図ゲームは、例えば「4」といった所定の上限数まで保留される。普図ゲームでは、普図当り図柄といった、特定の普通図柄が確定普通図柄として停止表示された場合に、普通図柄の表示結果が「普図当り」となる。これに対し、確定普通図柄として、普図ハズレ図柄といった、普図当り図柄以外の普通図柄が停止表示された場合に、普通図柄の表示結果が「普図ハズレ」となる。「普図当り」である場合に、可変入賞球装置6Bを所定期間において開放状態や拡大開放状態とする開放制御が行われる。このときに、第2始動入賞口が開放状態や拡大開放状態になる。
入賞球装置6Aに形成された第1始動入賞口を遊技球が通過して進入した場合に、第1特別図柄表示装置4Aによる第1特図ゲームが開始可能になる。可変入賞球装置6Bに形成された第2始動入賞口を遊技球が通過して進入した場合に、第2特別図柄表示装置4Bによる第2特図ゲームが開始可能になる。なお、特図ゲームを実行中の期間や、大当り遊技状態または小当り遊技状態に制御されている期間などである場合に、遊技球が始動入賞口に進入して始動入賞が発生しても当該始動入賞にもとづく特図ゲームを直ちに実行できないので、当該始動入賞にもとづく特図ゲームは、例えば「4」といった所定の上限数まで保留される。特図ゲームでは、大当り図柄といった、特定の特別図柄が確定特別図柄として停止表示された場合に、特別図柄の表示結果が「大当り」となる。これに対し、確定特別図柄として、小当り図柄といった、大当り図柄とは異なる所定の特別図柄が停止表示された場合に、特別図柄の表示結果が「小当り」となる。また、確定特別図柄として、ハズレ図柄といった、大当り図柄や小当り図柄とは異なる特別図柄が停止表示された場合に、特別図柄の表示結果が「ハズレ」となる。さらに、確定特別図柄として、時短図柄といった、大当り図柄、小当り図柄、ハズレ図柄とは異なる特別図柄が停止表示された場合に、特別図柄の表示結果が「時短」となることがあってもよい。特別図柄は、時短図柄を含まないものであってもよい。すなわち、特別図柄の表示結果は、「時短」を含まないものであってもよい。
特図ゲームにおいて、特別図柄の表示結果が「大当り」になった後には、遊技者にとって有利な有利状態として大当り遊技状態に制御される。大当り遊技状態では、特別可変入賞球装置50に形成された大入賞口が所定の態様で開放状態となることができる。このときの開放状態は、例えば29秒間や1.8秒間など、所定期間の経過タイミングと、大入賞口に進入した遊技球の数が所定個数に達するタイミングと、のうちのいずれか早いタイミングまで継続される。大入賞口を開放状態に制御可能な所定期間は、1ラウンドにおいて大入賞口を開放することができる上限期間であり、開放上限期間ともいう。大当り遊技状態において大入賞口が開放状態となる1のサイクルは、ラウンドあるいはラウンド遊技という。大当り遊技状態では、このようなラウンドを、例えば15回や2回など、所定の上限回数に達するまで繰り返し実行可能となっている。大当り遊技状態において、遊技者は、遊技球を大入賞口に進入させることで、賞球を得ることができる。したがって、大当り遊技状態は、遊技者にとって有利な有利状態となる。大当り遊技状態におけるラウンド数が多い程、また、開放上限期間が長い程、遊技者にとって有利になる。
特別図柄の表示結果が「大当り」になる場合は、複数の大当り種別を含んでいる。例えば、ラウンド数や開放上限期間といった大入賞口の開放態様、通常状態や時短状態や確変状態といった大当り遊技状態の終了後における遊技状態を、複数種類の異なる設定とし、各設定に対応して大当り種別が指定される。複数の大当り種別は、多くの賞球を得ることができる大当り種別や、賞球の少ない大当り種別、または、ほとんど賞球を得ることができない大当り種別のうち、一部または全部を含んでいてもよいし、獲得可能な賞球に関しては同程度の大当り種別を含んでいてもよい。特別図柄の表示結果が「大当り」であることにもとづいて大当り遊技状態に制御されることは、図柄大当り、特別図柄による大当り、可変表示大当り、あるいは直撃大当りともいう。
特図ゲームにおいて、特別図柄の表示結果が「小当り」になった後には、小当り遊技状態に制御される。小当り遊技状態では、特別可変入賞球装置50に形成された大入賞口が所定の開放態様で開放状態となることができる。例えば、小当り遊技状態では、一部の大当り種別のときの大当り遊技状態と同様の開放態様で大入賞口が開放状態となってもよい。大入賞口は、開放回数や開放期間が共通することにより、同様の開放態様にできればよい。あるいは、小当り遊技状態において、大当り遊技状態とは異なる開放態様で大入賞口が開放状態となってもよい。大当り種別と同様に、特別図柄の表示結果が「小当り」になる場合にも、複数の小当り種別が含まれてもよい。大当り種別や小当り種別は、当り種別とも総称される。小当り遊技状態において大入賞口を開閉させる動作は、始動動作ともいう。小当り遊技状態であるときに、特別可変入賞球装置50の大入賞口となる役物進入口が開放され、遊技球がV入賞領域51を通過して特定領域スイッチ24によって検出されると、大当りの発生条件が成立し、大当り遊技状態に制御可能となる。小当り遊技状態において遊技球がV入賞領域51を通過することによるV入賞の発生にもとづいて大当り遊技状態に制御されることは、小当り経由大当りともいう。
大当り遊技状態が終了した後に、大当り種別と対応して、遊技状態を時短状態や確変状態に制御可能である。また、特図ゲームにおいて、特別図柄の表示結果が「時短」になった後には、大当り遊技状態に制御されずに、遊技状態が時短状態に制御される。時短状態は、第2特別図柄表示装置4Bによる第2特図ゲームが通常状態よりも実行されやすい遊技状態である。通常状態よりも第2特図ゲームが実行されやすい遊技状態は、通常状態よりも第2始動入賞口を遊技球が通過して進入しやすい遊技状態である。第2始動入賞口を遊技球が通過しやすいか否かの制御は、ベース制御ともいう。通常状態におけるベース制御は、通常ベース制御あるいは低ベース制御ともいう。時短状態におけるベース制御は、高ベース制御を含んでいる。高ベース制御に加えて、時短状態が中ベース制御を含んでいてもよい。中ベース制御は、低ベース制御よりも第2始動入賞口を遊技球が通過しやすい一方で、高ベース制御よりも第2始動入賞口を遊技球が通過しにくいベース制御である。中ベース制御が行われる遊技状態は、中ベース状態ともいう。高ベース制御が行われる遊技状態は、高ベース状態ともいう。高ベース制御は、高開放制御ともいう。
通常状態である場合と、中ベース状態である場合と、高ベース状態である場合とで、いずれも特別図柄の表示結果として時短図柄の停止表示が可能である。ただし、中ベース状態である場合と、高ベース状態である場合とでは、特別図柄の表示結果として時短図柄が停止表示されたとしても、その時短図柄にもとづくベース制御は行われず、中ベース状態や高ベース状態に移行する新たな制御は開始されない。時短状態では、平均的な可変表示時間を通常状態よりも短縮させる時短制御が可能である。これにより、時短状態は、時間短縮状態ともいう。
時短状態は、特に第2特別図柄といった、特別図柄の変動効率が向上する状態であるので、大当り遊技状態とは異なる遊技者にとって有利な特別状態に含まれる。遊技状態が確変状態であるときに、時短制御に加えて、特別図柄の表示結果が「大当り」となる確率が通常状態よりも高くなる確変制御が可能である。これにより、確変状態は、確率変動状態ともいう。確変状態は、特別図柄の変動効率が向上することに加えて「大当り」となりやすい状態であるので、大当り遊技状態とは異なる遊技者にとって有利な特別状態に含まれる。時短状態や確変状態は、所定回数の特図ゲームが実行されたこと、次回の大当り遊技状態に制御されたことなど、予め定められた終了条件のいずれか1つが先に成立するまで継続する。所定回数の特図ゲームが実行されたことが終了条件となるものを、回数切りともいう。回数切りの時短状態は、回数切り時短ともいう。回数切りの確変状態は、回数切り確変ともいう。
通常状態となる遊技状態は、遊技者にとって有利な大当り遊技状態などの有利状態、小当り遊技状態などの所定状態、時短状態や確変状態などの特別状態には含まれない遊技状態である。通常状態は、普図ゲームにおける表示結果が「普図当り」となる確率、特図ゲームにおける表示結果が「大当り」となる確率などが、パチンコ遊技機1の初期設定状態と同一に制御される遊技状態である。パチンコ遊技機1の初期設定状態は、例えばシステムリセットが行われた場合のように、電源投入後に所定の復旧処理を実行せずに初期設定処理を実行した後の制御状態である。
確変制御が実行されている状態を高確状態、確変制御が実行されていない状態を低確状態ともいう。時短制御が実行されている状態を高ベース状態、時短制御が実行されていない状態を低ベース状態ともいう。これらを組み合わせて、時短状態は低確高ベース状態、確変状態は高確高ベース状態、通常状態は低確低ベース状態などともいわれる。高確状態かつ低ベース状態は高確低ベース状態ともいう。なお、パチンコ遊技機1は、遊技状態として確変状態を含まないものであってもよい。
小当り遊技状態が終了した後に、V入賞の発生にもとづいて大当り遊技状態に制御される場合と、V入賞が発生せずに小当り遊技状態となる前の遊技状態が変更されない場合と、がある。ただし、特図ゲームの表示結果が「小当り」となり、回数切りにおける所定回数の特図ゲームが実行された場合に、時短状態や確変状態の制御が終了して、通常状態となることがある。なお、パチンコ遊技機1は、遊技状態として小当り遊技状態を含まないものであってもよい。すなわち、特別図柄の表示結果は、「小当り」を含まないものであってもよい。
可変表示の実行回数にもとづく時短条件が成立した場合に、遊技状態を時短状態に制御可能であってもよい。このような時短状態は、救済時短ともいう。時短条件は、パチンコ遊技機1への電源投入後や、大当り発生後、特図ゲームの表示結果が「時短」となった後に、特定回数の可変表示を実行しても新たな大当り遊技状態や時短状態への制御が行われなかった場合に、成立可能な条件であればよい。
(演出の進行など)
パチンコ遊技機1では、遊技の進行にあわせて種々の演出を実行可能である。この演出は、遊技の進行状況を報知する演出と、遊技を盛り上げる演出と、を含む。これらの演出は、画像表示装置5に各種の演出画像を表示すること、スピーカ8L、8Rから効果音を出力すること、遊技効果ランプ9を点灯すること、可動体32を動作させること、スティックコントローラ31Aやプッシュボタン31Bを振動させること、あるいは、これらの一部または全部の組合せを含み、任意の演出装置を用いて実行可能なものであればよい。
遊技の進行にあわせて実行可能な演出は、演出図柄の可変表示を含む。第1特図ゲームまたは第2特図ゲームが開始されることに対応して、画像表示装置5の画面上に設けられた「左」、「中」、「右」の演出図柄表示エリア5L、5C、5Rにおいて、演出図柄の可変表示が開始される。第1特図ゲームや第2特図ゲームにおいて表示結果となる確定特別図柄が停止表示されるときに、演出図柄の可変表示において表示結果となる確定演出図柄が停止表示される。確定演出図柄は、「左」、「中」、「右」の演出図柄表示エリア5L、5C、5Rに対応した3つの演出図柄の組合せで構成される。演出図柄の可変表示が開始されてから終了するまでの期間に、演出図柄の可変表示における表示態様がリーチ態様となることがある。リーチ態様とは、画像表示装置5の画面上にて停止した演出図柄が大当り組合せの一部を構成しているときに、未だ停止していない演出図柄について変動が継続している態様などである。演出図柄の可変表示における表示態様がリーチ態様となることは、リーチが成立するともいう。
演出図柄の可変表示がリーチ態様となったことに対応して、リーチ演出を実行可能である。パチンコ遊技機1は、演出態様が異なる場合に、可変表示の表示結果が「大当り」となる割合が異なるように、複数種類のリーチ演出を実行可能である。演出態様に対応する「大当り」の割合は、大当り信頼度、大当り期待度ともいう。リーチ演出は、例えば、ノーマルリーチと、ノーマルリーチよりも大当り信頼度が高いスーパーリーチと、を含む。その他、リーチ演出の実行時間に対応して、ショートリーチと、ショートリーチよりも実行時間が長いロングリーチと、を含むものとしてもよい。
特別図柄の表示結果が「大当り」となるときに、画像表示装置5の画面上において、予め定められた大当り組合せとなる確定演出図柄が、演出図柄の表示結果として停止表示される。一例として、「左」、「中」、「右」の演出図柄表示エリア5L、5C、5Rに、例えば「7」の数字を示す演出図柄といった、同一の演出図柄が揃って所定の有効ライン上に停止表示される。大当り遊技状態の終了後に確変状態に制御される「確変大当り」である場合に、例えば「7」の数字を示す演出図柄など、奇数の演出図柄が揃って停止表示されてもよい。大当り遊技状態の終了後に確変状態に制御されない「非確変大当り」である場合に、例えば「6」の数字を示す演出図柄など、偶数の演出図柄が揃って停止表示されてもよい。「非確変大当り」は、「通常大当り」ともいう。この場合に、奇数の演出図柄は、確変図柄ともいう。偶数の演出図柄は、非確変図柄あるいは通常図柄ともいう。非確変図柄でリーチ態様となった後に、最終的に「確変大当り」となる昇格演出を実行するようにしてもよい。
特別図柄の表示結果が「小当り」となるときに、画像表示装置5の画面上において、予め定められた小当り組合せとなる確定演出図柄が、演出図柄の表示結果として停止表示される。一例として、「左」、「中」、「右」の演出図柄表示エリア5L、5C、5Rに、例えば「7」以外の数字を示す演出図柄といった、同一の演出図柄が揃って所定の有効ライン上に停止表示されてもよい。特別図柄の表示結果が「大当り」になるときと「小当り」になるときとで、共通の確定演出図柄が停止表示されてもよい。
特別図柄の表示結果が「ハズレ」となるときに、演出図柄の可変表示においてリーチ態様とならずに、表示結果が停止表示される場合がある。この場合に、演出図柄の表示結果として、非リーチ組合せの確定演出図柄が停止表示される。リーチ態様とならずに非リーチ組合せの確定演出図柄が停止表示される表示結果は、非リーチハズレともいう。特別図柄の表示結果が「ハズレ」となるときに、演出図柄の可変表示においてリーチ態様となり、リーチ演出が実行された後に表示結果が停止表示される場合がある。この場合に、演出図柄の表示結果として、大当り組合せや小当り組合せではないリーチ組合せの確定演出図柄が停止表示される。リーチ態様となった後にリーチ組合せの確定演出図柄が停止表示される表示結果は、リーチハズレともいう。
パチンコ遊技機1が実行可能な演出は、保留表示やアクティブ表示などの可変表示対応表示を含む。その他に、例えば、大当り信頼度を予告する予告演出などを、演出図柄の可変表示中に実行可能である。予告演出は、実行中の可変表示に対応した大当り信頼度を予告する当該変動予告演出と、実行が保留されている実行前の可変表示に対応した大当り信頼度を予告する先読み予告演出と、を含んでもよい。先読み予告演出は、例えば保留表示やアクティブ表示などの可変表示対応表示の表示態様を、通常とは異なる態様に変化させる変化演出を実行可能であってもよい。
画像表示装置5の画面上において、演出図柄の可変表示中に演出図柄を一旦仮停止させた後に、可変表示を再開させることで、1回の可変表示を擬似的に複数回の可変表示のように見せる擬似連演出を実行可能であってもよい。擬似連演出は、演出図柄を一旦仮停止させた後に可変表示を再開させる再変動回数が多い場合の方が、再変動回数が少ない場合よりも大当り信頼度が高くなるように設定されてもよい。演出図柄の可変表示において、リーチ態様となるより前に擬似連演出が実行される場合と、リーチ態様となった後に擬似連演出が実行される場合と、が含まれてもよい。その他、演出図柄の可変表示において、複数のタイミングで擬似連演出を実行可能であってもよい。
大当り遊技状態の制御中に、大当り遊技状態を報知する大当り中演出を実行可能である。大当り中演出は、ラウンド数を報知する演出と、大当り遊技状態の有利度が向上することを示唆または報知する昇格演出と、を含んでいてもよい。小当り遊技状態の制御中に、小当り遊技状態を報知する小当り中演出を実行可能である。大当り遊技状態の制御中と、小当り遊技状態の制御中とで、共通の演出を実行することで、現在の遊技状態が大当り遊技状態であるか小当り遊技状態であるかを、遊技者が認識不可能または認識困難となるようにしてもよい。
特図ゲームなどの実行がなく、遊技が進行していない非遊技状態では、画像表示装置5の画面上にデモンストレーション用の演出画像を表示可能である。デモンストレーション用の演出画像は、デモ画像ともいう。デモ画像の表示は、デモ表示ともいう。デモ表示による演出は、客待ちデモ演出ともいう。
(基板構成)
パチンコ遊技機1には、例えば図2に示すような主基板11、演出制御基板12、音声制御基板13、ランプ制御基板14、中継基板15、電源基板17などが搭載されている。その他にも、パチンコ遊技機1の背面には、例えば払出制御基板、情報端子基板、発射制御基板など、各種の基板が配置されている。
主基板11は、メイン側の制御基板であり、パチンコ遊技機1における遊技の進行を制御可能な機能を有する。遊技の進行は、保留の管理を伴う特図ゲームの実行、保留の管理を伴う普図ゲームの実行、大当り遊技状態、小当り遊技状態、時短状態、確変状態など、各種遊技の実行や遊技状態の移行を含む。主基板11は、遊技制御用マイクロコンピュータ100と、スイッチ回路110と、ソレノイド回路111と、を備える。
主基板11が備える遊技制御用マイクロコンピュータ100は、例えば1チップのマイクロコンピュータであり、ROM(Read Only Memory)101と、RAM(Random Access Memory)102と、CPU(Central Processing Unit)103と、乱数回路104と、I/O(Input/Output port)105と、を備えて構成可能である。ROM101、RAM102、乱数回路104の一部または全部は、遊技制御用マイクロコンピュータ100に対して外付可能な構成であってもよいし、遊技制御用マイクロコンピュータ100に内蔵された構成であってもよい。スイッチ回路110は、遊技球検出用の各種スイッチからの検出信号を取り込んで遊技制御用マイクロコンピュータ100に伝送する。遊技球検出用の各種スイッチは、例えばゲートスイッチ21、第1始動口スイッチ22Aや第2始動口スイッチ22Bといった始動口スイッチ、カウントスイッチ23、特定領域スイッチ24、排出口スイッチ26を含む。検出信号は、遊技球が通過または進入してスイッチがオンになったことなどを示す。検出信号の伝送により、遊技球の通過または進入が検出されたことになる。ソレノイド回路111は、遊技制御用マイクロコンピュータ100からのソレノイド駆動信号を、普通電動役物ソレノイド81と、大入賞口ソレノイド82と、特定領域ソレノイド83と、に供給可能である。ソレノイド駆動信号は、各ソレノイドをオンする信号などであればよい。
遊技制御用マイクロコンピュータ100が備えるROM101は、遊技制御に用いられるコンピュータプログラムやデータを記憶する不揮発性記憶装置である。ROM101が記憶するデータは、変動パターン、演出制御コマンド、その他の各種設定や判定、決定に用いられるテーブルを構成するテーブルデータなどを含む。遊技制御用マイクロコンピュータ100が備えるRAM102は、遊技制御に用いられるワークエリアやデータを退避するためのスタックを提供する一時記憶装置である。RAM102は、パチンコ遊技機1に対する電力供給が停止した場合でも、所定期間内であれば記憶領域の一部または全部における記憶内容を復旧可能となるように保存するバックアップRAMとなっていればよい。RAM102は、RWM(Read/Write Memory)ともいう。RAM102のワークエリアは、カウンタ、タイマ、バッファ、その他の各種コードや数値の格納領域など、遊技制御に用いられる各種データを記憶可能な記憶領域を含んでいる。遊技制御用マイクロコンピュータ100が備えるCPU103は、ROM101に記憶されたプログラムに対応する処理を実行することにより、パチンコ遊技機1における遊技の進行を制御可能である。
遊技制御用マイクロコンピュータ100が備える乱数回路104は、遊技の進行を制御するときに使用される各種の乱数値を示す数値データを、更新可能にカウントする。遊技の進行を制御するときに使用される乱数は、遊技用乱数ともいう。遊技用乱数の一部または全部は、専用回路を用いてハードウェアにより更新されるものであってもよいし、CPU103が実行するコンピュータプログラムなどのソフトウェアにより更新されるものであってもよい。
図3は、遊技用乱数の一例を示している。遊技用乱数は、特別図柄判定用の乱数MR1-1と、当り図柄用の乱数MR1-2と、当り図柄用初期値となる乱数MR1-3と、普通図柄当り図柄用の乱数MR2-1と、普通図柄当り図柄用初期値となる乱数MR2-2と、普通図柄変動パターン用の乱数MR3-1と、ハズレ演出選択用の乱数MR3-2と、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、を含んでいる。
特別図柄判定用の乱数MR1-1は、特別図柄の表示結果を「大当り」にするか否かや、特別図柄の表示結果を「小当り」にするか否かなど、特別図柄の表示結果を判定することに用いられる。当り図柄用の乱数MR1-2は、特別図柄の表示結果を「大当り」にする場合の大当り図柄や、特別図柄の表示結果を「小当り」にする場合の小当り図柄など、確定特別図柄を複数の特別図柄から選択することに用いられる。当り図柄用初期値となる乱数MR1-3は、乱数MR1-2の初期値を設定することに用いられる。普通図柄当り図柄用の乱数MR2-1は、普通図柄の可変表示において表示結果が「普図当り」の場合に表示される確定普通図柄を複数の普通図柄から選択することに用いられる。普通図柄当り図柄用初期値となる乱数MR2-2は、乱数MR2-1の初期値を設定することに用いられる。普通図柄変動パターン用の乱数MR3-1は、普通図柄の変動パターンを、予め用意された複数パターンのいずれかに決定することに用いられる。ハズレ演出選択用の乱数MR3-2は、特別図柄の表示結果が「ハズレ」となる場合に、演出図柄の可変表示においてリーチ態様となるか否かを選択することに用いられる。変動パターン種別選択用の乱数MR3-3は、特別図柄の変動パターン種別を選択することに用いられる。特別図柄の変動パターン種別は、例えば演出図柄の可変表示中における演出態様などにもとづいて、特別図柄の変動パターンを予め分類したグループであり、1または複数の変動パターンを含むように構成されていればよい。変動パターン用の乱数MR3-4は、特別図柄の変動パターンを選択することに用いられる。
CPU103は、遊技用乱数の値を示す数値データといった、乱数値にもとづいて各種の判定や決定を行う場合に、各種のテーブルをROM101から読み出して参照する。乱数値を用いない場合でも、必要なテーブルをROM101から読み出して参照し、各種の判定や決定、設定などが行われてもよい。
遊技制御用マイクロコンピュータ100が備えるI/O105は、各種信号が入力される入力ポートと、各種信号が出力される出力ポートと、を含んで構成される。I/O105の入力ポートに入力される各種信号は、スイッチ回路110を介して伝送される各種スイッチからの検出信号を含んでいればよい。I/O105の出力ポートから出力される各種信号は、第1特別図柄表示装置4A、第2特別図柄表示装置4B、普通図柄表示器20、第1保留表示器25A、第2保留表示器25B、普図保留表示器25Cなどを制御する信号と、普通電動役物ソレノイド81、大入賞口ソレノイド82、特定領域ソレノイド83などを駆動するソレノイド駆動信号と、を含んでいればよい。
主基板11は、遊技制御用マイクロコンピュータ100により、遊技の進行を制御する動作の一部として、遊技の進行に応じた演出制御コマンドを、演出制御基板12に対して送信可能に出力する。演出制御コマンドは、遊技の進行状況などを指定または通知するコマンドである。主基板11から出力された演出制御コマンドは、中継基板15により中継され、演出制御基板12に供給される。演出制御コマンドは、例えば特図ゲームの表示結果、当り種別、変動パターンなど、主基板11における各種の決定結果を指定するコマンドと、例えば可変表示の開始や終了、大入賞口の開放状況、入賞の発生、保留記憶数、遊技状態など、遊技の状況を指定するコマンドと、エラーの発生などを指定するコマンドと、を含むものであればよい。
演出制御基板12は、主基板11とは独立したサブ側の制御基板であり、演出制御コマンドを受信し、受信した演出制御コマンドにもとづいて演出を制御可能な機能を有する。演出制御基板12において制御可能な演出は、例えば可動体32の駆動など、遊技の進行に応じた種々の演出であり、その他に、エラー報知、電断復旧の報知など、各種報知を含む。演出制御基板12は、演出制御用CPU120と、ROM121と、RAM122と、表示制御部123と、乱数回路124と、I/O125と、を備える。
演出制御用CPU120は、ROM121に記憶されたプログラムを実行することにより、表示制御部123とともに演出の実行を制御するための処理を行う。この処理は、演出制御基板12の諸機能を実現するための処理であり、実行する演出の決定などを含む。演出制御用CPU120は、各種テーブルのデータなど、ROM121が記憶する各種データを用いるとともに、RAM122をメインメモリとして使用する。演出制御用CPU120は、コントローラセンサユニット35Aやプッシュセンサ35Bからの検出信号にもとづいて、演出の実行を表示制御部123に指示することもある。ここでの検出信号は、遊技者による操作を検出したときに出力される信号であり、操作内容を適宜示す信号であればよい。
表示制御部123は、VDP(Video Display Processor)、CGROM(Character Generator ROM)、VRAM(Video RAM)などを含み、演出制御用CPU120からの演出の実行指示にもとづいて、主に表示に関する演出を実行可能に制御する。表示制御部123は、実行する演出に応じた映像信号を画像表示装置5に供給することにより、演出画像を画像表示装置5の画面上に表示させる。表示制御部123は、さらに、音指定信号を音声制御基板13に供給したり、ランプ信号をランプ制御基板14に供給したりする。音指定信号は、スピーカ8L、8Rにて出力される音声を指定する。ランプ信号は、遊技効果ランプ9の点灯態様や消灯態様を指定する。音指定信号やランプ信号の供給により、演出画像の表示に同期して、スピーカ8L、8Rの音声出力や、遊技効果ランプ9の点灯または消灯が可能になる。表示制御部123は、可動体32を動作させる信号を、可動体32のモータやソレノイドに、または可動体32を駆動するドライバ回路に、供給可能であってもよい。演出制御基板12とは別に、可動体32を駆動するためのドライバ基板が設けられてもよい。
乱数回路124は、各種演出の実行を制御するときに使用される各種の乱数値を示す数値データを更新可能にカウントする。演出の実行を制御するときに使用される乱数は、演出用乱数ともいう。演出用乱数は、演出制御用CPU120が実行するコンピュータプログラムなどのソフトウェアにより更新されるものであってもよい。演出制御用CPU120は、演出用乱数の値を示す数値データといった、乱数値にもとづいて各種の判定や決定を行う場合に、各種のテーブルをROM121から読み出して参照する。乱数値を用いない場合でも、演出制御用CPU120は必要なテーブルをROM121から読み出して参照し、各種の判定や決定、設定などが行われてもよい。
I/O125は、例えば主基板11から伝送された演出制御コマンドなどを取り込むための入力ポートと、各種信号を伝送するための出力ポートと、を含んで構成される。I/O125の入力ポートは、コントローラセンサユニット35Aから供給される検出信号の入力端子と、プッシュセンサ35Bから供給される検出信号の入力端子と、を含んでいればよい。I/O125の出力ポートは、画像表示装置5に供給される映像信号の出力端子と、音声制御基板13に供給される音指定信号の出力端子と、ランプ制御基板14に供給されるランプ信号の出力端子と、を含んでいればよい。
音声制御基板13は、スピーカ8L、8Rを駆動する各種回路を搭載しており、表示制御部123からの音指定信号にもとづいてスピーカ8L、8Rを駆動し、音指定信号が指定する音声をスピーカ8L、8Rから出力させる。ランプ制御基板14は、遊技効果ランプ9を駆動する各種回路を搭載しており、表示制御部123からのランプ信号にもとづいて遊技効果ランプ9を駆動し、ランプ信号が指定する態様で遊技効果ランプ9を点灯または消灯する。このようにして、スピーカ8L、8Rからの音声出力と、遊技効果ランプ9の点灯や消灯とは、表示制御部123からの信号にもとづいて制御することができる。なお、音指定信号やランプ信号の供給など、音声出力およびランプの点灯や消灯の制御と、可動体32を動作させる信号の供給など、可動体32の制御とは、演出制御用CPU120が一部または全部を実行するようにしてもよい。演出制御基板12、音声制御基板13、ランプ制御基板14といった、主基板11以外の基板は、サブ基板ともいう。図2に示す構成例のように、サブ基板が機能別に複数設けられていてもよいし、図2に示す構成例とは異なり、1のサブ基板が複数の機能を有するように構成してもよい。
電源基板17は、商用電源などの外部電源におけるAC100Vといった交流電源からの電力を、主基板11や演出制御基板12などの各種制御基板を含めた電気部品に供給可能である。電源基板17は、例えば交流(AC)を直流(DC)に変換するための整流回路、所定の直流電圧を特定の直流電圧(例えば直流12Vや直流5Vなど)に変換するための電源回路などを備えている。パチンコ遊技機1は、電源スイッチ91の操作により、電源投入の開始と終了とを切替可能である。主基板11のスイッチ回路110には、電源基板17からのリセット信号、電源断信号、クリア信号が取り込まれて遊技制御用マイクロコンピュータ100に伝送される。リセット信号は、遊技制御用マイクロコンピュータ100などの制御回路を動作停止状態とするための動作停止信号であり、電源監視回路、ウォッチドッグタイマ内蔵IC、システムリセットICのいずれかを用いて出力可能であればよい。電源断信号は、パチンコ遊技機1において用いられる所定電源電圧が所定値を超えるとオフ状態となり、所定電源電圧が所定値以下になった期間が電断基準時間以上まで継続したときにオン状態となる。クリア信号は、例えば電源基板17に設けられたクリアスイッチ92に対する押下操作などに応じてオン状態となる。
(動作)
次に、パチンコ遊技機1の動作(作用)を説明する。
(主基板11の主要な動作)
まず、主基板11における主要な動作を説明する。パチンコ遊技機1に対して電力供給が開始されると、遊技制御用マイクロコンピュータ100が起動し、CPU103によって遊技制御用のメイン処理が実行される。
図4は、主基板11においてCPU103が実行する遊技制御用のメイン処理P_MAINを示すフローチャートである。図4に示す遊技制御用のメイン処理P_MAINを開始すると、CPU103は、電力供給開始対応処理P_POWER_ONを実行し(ステップS1)、続いてRWMチェック処理P_RWM_CHKを実行する(ステップS2)。ステップS1の電力供給開始対応処理P_POWER_ONは、パチンコ遊技機1における電力供給の開始に対応して、遊技制御用マイクロコンピュータ100の初期設定などを実行可能である。遊技制御用マイクロコンピュータ100の初期設定は、出力ポートの初期化、割込みベクタの設定、内蔵デバイスレジスタの設定、特定レジスタの設定を、含んでいればよい。ステップS2のRWMチェック処理P_RWM_CHKは、チェックサム算出処理を含み、処理結果として得られたチェックサムデータを、チェックサムバッファの記憶データと比較して、両者のデータが合致した場合に、RAM102における記憶内容が正常であると判断する。
続いて、予め定められた復旧条件が成立したか否かを判定する(ステップS3)。復旧条件は、クリアスイッチ92の操作に対応したクリア信号がオフ状態であり、チェックサムバッファに正常な記憶データがあり、バックアップRAMとしてのRAM102における記憶内容が正常である場合に、成立可能である。パチンコ遊技機1の電源投入時に、例えば電源基板17に設けたクリアスイッチ92が押下操作されていれば、オン状態のクリア信号が遊技制御用マイクロコンピュータ100に入力される。このようなオン状態のクリア信号が入力されている場合に、ステップS3にて復旧条件が成立しないと判定すればよい。チェックサムバッファは、前回の電源断時にてバックアップ監視タイマによりバックアップ判定時間を計測したときに、チェックサム算出処理で算出されたチェックサムデータが記憶される。バックアップ監視タイマの計時値がバックアップ判定時間に対応する特定値と合致しない場合に、ステップS3にて復旧条件が成立しないと判定すればよい。バックアップデータは、遊技制御用のバックアップRAMとなるRAM102における遊技ワーク領域の記憶データであればよい。ステップS3では、ステップS2のRWMチェック処理P_RWM_CHKによりバックアップデータの有無やデータ誤りの有無などを確認あるいは検査した結果にもとづいて、復旧条件が成立し得るか否かを判定すればよい。
復旧条件が成立した場合に(ステップS3;Yes)、バックアップ時設定処理P_BACKUP_SETを実行する(ステップS4)。バックアップ時設定処理P_BACKUP_SETは、バックアップ時コマンド送信テーブルを用いて、バックアップ時に対応する演出制御コマンドを、主基板11から演出制御基板12に対して送信可能にする。また、バックアップ時設定処理P_BACKUP_SETは、バックアップ時設定テーブルにより指定されたプロセスコード、タイマ、カウンタ、フラグを、クリアすることにより初期化可能にする。
復旧条件が成立しない場合に(ステップS3;No)、初期化時設定処理P_INIT_SETを実行する(ステップS5)。初期化時設定処理P_INIT_SETは、RAM102における作業領域となる遊技ワーク領域にクリアデータを転送可能にする。これにより、RAM102における遊技ワーク領域が初期化される。そして、初期化時設定処理P_INIT_SETは、初期化時コマンド送信テーブルを用いて、初期化時に対応する演出制御コマンドを、主基板11から演出制御基板12に対して送信可能にする。また、初期化時設定処理P_INIT_SETは、初期化時設定テーブルにより指定されたバッファ、タイマ、ポインタ、カウンタを、クリアすることにより初期化可能にする。
その後、制御開始設定処理P_STACONを実行する(ステップS6)。制御開始設定処理P_STACONは、ウエイト処理を含んでもよい。ウエイト処理は、設定された待機時間が経過するまでループ処理を実行して待機することにより、演出制御基板12などのサブ基板が確実に起動可能とする。また、制御開始設定処理P_STACONは、特定回数コマンド送信処理またはチップ個別ナンバー情報用コマンド送信処理を、含んでもよい。特定回数コマンド送信処理は、電源投入時に特定回数カウンタの計数値を指定する演出制御コマンドを、主基板11から演出制御基板12に対して送信可能にする。特定回数カウンタは、RAM102の所定アドレスに設けられ、可変表示の実行回数が時短条件に対応する特定回数となるまでの残り回数を計数可能であればよい。チップ個別ナンバー情報用コマンド送信処理は、チップ個別ナンバーレジスタの格納値を指定する演出制御コマンドを、主基板11から演出制御基板12に対して送信可能にする。チップ個別ナンバーレジスタは、遊技制御用マイクロコンピュータ100の内蔵レジスタに含められ、チップ毎に割り当てられた異なる値を、チップ個別ナンバーとして格納可能であればよい。
制御開始設定処理P_STACONは、起動時領域外処理を含んでもよい。起動時領域外処理は、パチンコ遊技機1における電力供給の開始による起動時に対応して、ROM101の非遊技プログラム領域に記憶されたプログラムを読み出すことで実行される処理である。起動時領域外処理は、例えば性能表示RWM初期値設定処理であればよい。性能表示RWM初期値設定処理は、性能表示モニタを構成する7セグメントのLEDにより初期表示を行うための初期値を設定可能にする。性能表示モニタは、例えば主基板11に搭載され、設定値に関する内容やベースに関する内容を表示可能であればよい。設定値は、パチンコ遊技機1の設定を変更可能な設定変更状態であるときに、例えば6段階といった、複数段階のいずれかに変更可能であり、特別図柄の表示結果が「大当り」となる確率を設定可能にする。ベースは、例えば始動入賞口、一般入賞口、大入賞口といった、各入賞口を遊技球が通過することによって払い出される賞球数を、遊技領域に発射された遊技球の個数で除算することにより算出される。
ステップS6における制御開始設定処理P_STACONの次に、タイマ割込み用カウンタ設定が行われる(ステップS7)。ステップS7では、例えば4[ms(ミリ秒)]といった、所定時間ごとに定期的なタイマ割込みが発生するようにPTCカウンタ出力値が設定される。その後、遊技制御用のメイン処理P_MAINはループ処理に入る。このループ処理では、割込み禁止が設定され(ステップS8)、初期値決定用乱数更新処理P_TFINITを実行するとともに(ステップS9)、ループ中領域外処理P_REGOUTを実行してから(ステップS10)、割込み許可が設定され(ステップS11)、ステップS8に戻る。そして、割込み許可状態であるときにPTCからCPU103に対する割込み要求信号の入力毎に、CPU103はタイマ割込み処理を実行可能になる。これにより、CPU103は、例えば4[ms]といった、所定時間が経過するごとに、タイマ割込み処理を実行することができる。
図5は、遊技制御用のタイマ割込み処理P_PCTの一例を示すフローチャートである。図5に示すタイマ割込み処理P_PCTでは、電源断処理P_POWER_OFFが実行される(ステップS51)。続いて、不正行為監視フラグが「0」であるか否かが判定される(ステップS52)。不正行為監視フラグは、磁石センサにより磁気が検知された場合や、枠電波センサにより電波が検知された場合に、オン状態と対応した「1」が設定される。それ以外の場合に、不正行為監視フラグは、オフ状態と対応した「0」に設定される。
不正行為監視フラグが「1」である場合に(ステップS52;No)、遊技停止処理P_GAME_STOPを実行する(ステップS53)。遊技停止処理P_GAME_STOPは、出力ポートの初期化を行い、接続確認信号の出力をオフ状態にする処理であればよい。接続確認信号は、主基板11から払出制御基板に対して伝送され、オフ状態である場合に、払出制御基板における払出処理の実行が停止される。
不正行為監視フラグが「0」である場合に(ステップS52;Yes)、スイッチ処理P_SWを実行し(ステップS54)、スイッチエラー報知処理P_CON_CHKを実行し(ステップS55)、乱数更新処理P_RANDOMを実行し(ステップS56)、初期値決定用乱数更新処理P_TFINITを実行する(ステップS57)。また、特別図柄プロセス処理P_TPROCを実行し(ステップS58)、普通図柄プロセス処理P_FPROCを実行し(ステップS59)、情報出力処理P_JYOUHOUを実行し(ステップS60)、賞球処理P_PAYを実行し(ステップS61)、表示処理P_HYOUZIを実行する(ステップS62)。さらに、その他のタイマ割込み対応処理を実行する(ステップS63)。その後、割込み許可が設定されてから(ステップS64)、タイマ割込み処理P_PCTが終了する。
ステップS51の電源断処理P_POWER_OFFは、電源基板17から伝送される電源確認信号の判定を行い、電源断時のチェックサム算出処理などを実行可能にする。ステップS54のスイッチ処理P_SWは、入力ポートの状態判定を行い、スイッチオンバッファなどを更新可能にする。ステップS55のスイッチエラー報知処理P_CON_CHKは、例えばスイッチエラー報知判定テーブルにより指定されたセンサオンカウンタの計数値を更新可能であり、その計数値がセンサ異常エラー判定値に達した場合に、エラー報知表示を実行可能にする。ステップS56の乱数更新処理P_RANDOMは、遊技用乱数のうちで、ソフトウェア乱数となるものをソフトウェアによって更新可能にする。ステップS57の初期値決定用乱数更新処理P_TFINITは、遊技用乱数のうちで、乱数初期値として用いられるものをソフトウェアによって更新可能にする。
ステップS58の特別図柄プロセス処理P_TPROCは、特図ゲームの実行および保留の管理や、大当り遊技状態および小当り遊技状態の制御、遊技状態の制御など、特別図柄の可変表示と遊技状態に関する処理が含まれる。ステップS59の普通図柄プロセス処理P_FPROCは、ゲートスイッチ21からの検出信号にもとづく普図ゲームの実行および保留の管理や、「普図当り」にもとづく可変入賞球装置6Bの開閉制御など、普通図柄の可変表示と第2始動入賞口の状態制御に関する処理が含まれる。ステップS60の情報出力処理P_JYOUHOUは、情報出力信号の設定を行う。情報出力信号は、大当り情報、始動情報、確率変動情報など、例えばパチンコ遊技機1の外部に設置されたホール管理用コンピュータに供給される情報に対応した信号である。大当り情報は、大当りの発生回数などを示す。始動情報は、始動入賞の回数などを示す。確率変動情報は、確変状態となった回数などを示す。ステップS61の賞球処理P_PAYは、賞球コマンド出力カウンタ加算処理と、賞球制御処理と、が含まれる。賞球コマンド出力カウンタ加算処理は、賞球個数テーブルを使用してスイッチのオン判定を行い、オン検出時に、賞球コマンド出力カウンタの更新、入賞情報出力カウンタの更新を行う。賞球制御処理は、賞球プロセスコードに対応した処理を選択して、遊技球の検出にもとづく賞球を払出可能に制御する。ステップS62の表示処理P_HYOUZIは、第1保留表示器25A、第2保留表示器25B、普図保留表示器25C、その他、各種の状態表示灯による表示に関する設定を行う。
図6は、特別図柄プロセス処理P_TPROCとして、図5に示すステップS58にて実行可能な処理の一例を示すフローチャートである。CPU103は、特別図柄プロセス処理P_TPROCにおいて、第1始動入賞対応フラグ設定を行う(ステップS101)。第1始動入賞対応フラグ設定は、論理演算命令の実行などにより、スイッチオンバッファに含まれる第1始動口スイッチ22Aの状態をCPU103のフラグレジスタに反映させる。このとき、フラグレジスタにおけるゼロフラグがオン状態であることは、第1始動入賞対応フラグがオフ状態であることを示す。これに対し、ゼロフラグがオフ状態であることは、第1始動入賞対応フラグがオン状態であることを示す。続いて、テーブルポインタを設定するための転送命令により、第1始動口入賞テーブルをセットする(ステップS102)。その後、第1始動入賞対応フラグがオンであるか否かを判定する(ステップS103)。第1始動入賞対応フラグがオンである場合に(ステップS103;Yes)、始動口スイッチ通過処理P_TZU_ONが実行される(ステップS104)。
ステップS103に対応して第1始動入賞対応フラグがオフである場合や(ステップS103;No)、ステップS104における始動口スイッチ通過処理P_TZU_ONの後に、第2始動入賞対応フラグ設定を行う(ステップS105)。第2始動入賞対応フラグ設定は、論理演算命令の実行などにより、スイッチオンバッファに含まれる第2始動口スイッチ22Bの状態をCPU103のフラグレジスタに反映させる。このとき、フラグレジスタにおけるゼロフラグがオン状態であることは、第2始動入賞対応フラグがオフ状態であることを示す。これに対し、ゼロフラグがオフ状態であることは、第2始動入賞対応フラグがオン状態であることを示す。続いて、テーブルポインタを設定するための転送命令により、第2始動口入賞テーブルをセットする(ステップS106)。その後、第2始動入賞対応フラグがオンであるか否かを判定する(ステップS107)。第2始動入賞対応フラグがオンである場合に(ステップS107;Yes)、始動口スイッチ通過処理P_TZU_ONが実行される(ステップS108)。
ステップ104の始動口スイッチ通過処理P_TZU_ONは、ステップS102にてセットされた第1始動口入賞テーブルを用いて、第1保留記憶数が上限数未満である場合に、第1保留記憶数や合計保留記憶数を1加算する更新を行い、特別図柄判定用の乱数MR1-1と、ハズレ演出選択用の乱数MR3-2と、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、を抽出し、それぞれの乱数バッファにストアした後に、第1特別図柄保留バッファへと転送する。また、第1保留記憶情報指定コマンド送信テーブルを用いて、第1保留記憶数が指定される第1保留記憶情報指定コマンドを、主基板11から演出制御基板12に対して送信可能にする。そして、始動口入賞指定値として「1」を示す値を、始動口入賞バッファにストアする。
ステップS108の始動口スイッチ通過処理P_TZU_ONは、ステップS106にてセットされた第2始動口入賞テーブルを用いて、第2保留記憶数が上限数未満である場合に、第2保留記憶数や合計保留記憶数を1加算する更新を行い、特別図柄判定用の乱数MR1-1と、ハズレ演出選択用の乱数MR3-2と、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、を抽出し、それぞれの乱数バッファにストアした後に、第2特別図柄保留バッファへと転送する。また、第2保留記憶情報指定コマンド送信テーブルを用いて、第2保留記憶数が指定される第2保留記憶情報指定コマンドを、主基板11から演出制御基板12に対して送信可能にする。そして、始動口入賞指定値として「2」を示す値を、始動口入賞バッファにストアする。
ステップS104とステップS108とで、共通の始動口スイッチ通過処理P_TZU_ONを実行可能である。その一方、ステップS104の始動口スイッチ通過処理P_TZU_ONはステップS102にてセットされた第1始動口入賞テーブルを用いるのに対し、ステップS108の始動口スイッチ通過処理P_TZU_ONはステップS106にてセットされた第2始動口入賞テーブルを用いる。このように、共通の始動口スイッチ通過処理P_TZU_ONが異なる始動口入賞テーブルを用いて実行される。したがって、遊技球が第1始動入賞口に進入した場合と第2始動入賞口に進入した場合とで、共通となる処理により異なるデータ設定や制御が可能になる。なお、始動口スイッチ通過処理P_TZU_ONは、抽出した遊技用乱数を用いた入賞時演出処理が含まれてもよい。
ステップS107に対応して第2始動入賞対応フラグがオフである場合や(ステップS107;No)、ステップS108における始動口スイッチ通過処理P_TZU_ONの後に、ポインタを設定する転送命令により、特別図柄プロセス処理ジャンプテーブルをセットする(ステップS109)。特別図柄プロセス処理ジャンプテーブルは、特別図柄プロセスコードの読出値に対応する処理を、選択して実行可能にするアドレス管理テーブルである。特別図柄プロセスコードは、パチンコ遊技機1における遊技制御の進行に対応して、00[H]~0B[H]のいずれかに更新設定が可能であり、特図プロセスコードともいう。ここで、[H]は16進数であることを示す。なお、[B]により2進数を示すこともある。
ステップS109に続いて、記憶データを読み出すための転送命令により、特別図柄プロセスコードをロードする(ステップS110)。その次に、2バイトデータ選択処理P_ABXEXECを実行することにより(ステップS111)、特別図柄プロセスコードに対応して選択される処理のアドレスを取得する。このとき取得されたアドレスは、ポインタに設定される。この後、サブルーチンの呼出命令により、ポインタの指す処理を実行することで(ステップS112)、特別図柄プロセスコードに対応して選択された処理が実行可能になる。こうして選択された処理が終了して、復帰命令により特別図柄プロセス処理P_TPROCにリターンすると、この特別図柄プロセス処理P_TPROCも終了し、復帰命令により遊技制御用のタイマ割込み処理P_PCTにリターンする。
図7は、特別図柄プロセス処理P_TPROCにおいて用いられる特別図柄プロセス処理ジャンプテーブルの構成例TT01を示している。特別図柄プロセス処理ジャンプテーブルは、特別図柄プロセスコードに対応して選択される処理のアドレスを、ポインタとして用いられるCPU103の内部レジスタに設定可能なテーブルデータを含んで構成される。構成例TT01の特別図柄プロセス処理ジャンプテーブルは、特別図柄プロセスコードが00[H]である場合の特別図柄通常処理P_TNORMALと、特別図柄プロセスコードが01[H]である場合の特別図柄変動処理P_TSTARTと、特別図柄プロセスコードが02[H]である場合の特別図柄停止処理P_TSTOPと、特別図柄プロセスコードが03[H]である場合の小当り開放前処理P_TLFANと、特別図柄プロセスコードが04[H]である場合の小当り開放中処理P_TLOPENと、特別図柄プロセスコードが05[H]である場合の小当り開放後処理P_TLCLSFと、特別図柄プロセスコードが06[H]である場合の小当り排出球待機処理P_TLOUTと、特別図柄プロセスコードが07[H]である場合の小当り終了処理P_TLENDと、特別図柄プロセスコードが08[H]である場合の大入賞口開放前処理P_TINTと、特別図柄プロセスコードが09[H]である場合の大入賞口開放中処理P_TOPENと、特別図柄プロセスコードが0A[H]である場合の大入賞口開放後処理P_TCLSFと、特別図柄プロセスコードが0B[H]である場合の大当り終了処理P_TENDと、に対応するアドレス値をポインタに設定可能なテーブルデータが含まれる。
特別図柄通常処理P_TNORMALは、記憶された保留情報の有無などにもとづいて特図ゲームを開始するか否か判定と、特別図柄判定用の乱数MR1-1を用いた特図表示結果の判定と、特別図柄の可変表示において停止表示する確定特別図柄の決定と、特別図柄の変動パターンの決定と、を可能にする。特図表示結果は、「大当り」や「小当り」、「ハズレ」などを含み、「大当り」とすることが判定された場合に、遊技者にとって有利な有利状態としての大当り遊技状態に制御することが決定される。また、特別図柄の表示結果が「大当り」である場合に、確定特別図柄となる大当り図柄に対応して、遊技者にとっての有利度が異なる複数種類の大当り遊技状態のうちで、いずれの大当り遊技状態に制御されるかが決定される。したがって、CPU103は、特別図柄通常処理P_TNORMALを実行することにより、遊技者にとって有利な有利状態に制御するか否かを判定可能であり、遊技者にとっての有利度が異なる複数種類の有利状態のうちのいずれに制御するかを決定可能である。さらに、CPU103は、特別図柄通常処理P_TNORMALを実行することにより、複数種類の変動パターンのいずれかに決定可能である。
特別図柄変動処理P_TSTARTは、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおいて特別図柄が変動を開始してからの経過時間を計測し、変動パターンに対応する特図変動時間が経過したか否かの判定を可能にする。特別図柄停止処理P_TSTOPは、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bにおいて特別図柄が変動を停止してからの経過時間を計測し、図柄停止時間が経過したか否かの判定を可能にする。図柄停止時間は、特別図柄変動処理P_TSTARTにおいて特図変動時間が経過したと判定された場合に、特別図柄を停止表示する時間として設定可能であればよい。図柄停止時間が経過した場合に、特図表示結果に対応して、特別図柄プロセスコードの更新や各種設定が行われる。例えば、特図表示結果が「大当り」の場合に特別図柄プロセスコードを08[H]に更新可能であり、特図表示結果が「小当り」の場合に特別図柄プロセスコードを03[H]に更新可能であり、特図表示結果が「ハズレ」の場合に特別図柄プロセスコードを00[H]に更新可能であればよい。
小当り開放前処理P_TLFAN、小当り開放中処理P_TLOPEN、小当り開放後処理P_TLCLSF、小当り排出球待機処理P_TLOUT、小当り終了処理P_TLENDは、小当り遊技状態における遊技の進行を制御するための処理である。大入賞口開放前処理P_TINT、大入賞口開放中処理P_TOPEN、大入賞口開放後処理P_TCLSF、大当り終了処理P_TENDは、大当り遊技状態における遊技の進行を制御するための処理である。
(演出制御基板12の主要な動作)
次に、演出制御基板12における主要な動作を説明する。演出制御基板12では、電源基板17などから電源電圧の供給を受けると、演出制御用CPU120が起動して、演出制御メイン処理を実行する。
図8は、演出制御基板12において演出制御用CPU120が実行する演出制御用のメイン処理S_MAINを示すフローチャートである。図8に示す演出制御用のメイン処理S_MAINを開始すると、演出制御用CPU120は、演出制御初期化処理S_INITを実行する(ステップS71)。演出制御初期化処理S_INITは、RAM122のクリアや各種初期値の設定、演出制御基板12に搭載されたタイマ回路用のレジスタ設定などを含む。続いて、初期動作制御処理S_SYOKIを実行する(ステップS72)。初期動作制御処理S_SYOKIは、可動体32を駆動して初期位置に戻す制御、所定の動作確認を行う制御など、可動体32の初期動作を制御可能にする。その後、タイマ割込みフラグがオンであるか否かを判定する(ステップS73)。タイマ割込みフラグは、タイマ回路用のレジスタ設定にもとづいて、例えば2[ms(ミリ秒)]といった、所定時間が経過するごとに、オン状態にセットされる。タイマ割込みフラグがオフに対応して(ステップS73;No)、ステップS73を繰り返して待機する。
タイマ割込みフラグがオンに対応して(ステップS73;Yes)、タイマ割込みフラグをクリアしてオフ状態にするとともに(ステップS74)、コマンド解析処理S_COMMANDを実行し(ステップS75)、演出制御プロセス処理S_CPROCを実行し(ステップS76)、演出用乱数更新処理S_RANDOMを実行し(ステップS77)、演出用出力処理S_OUTを実行する(ステップS78)。そして、その他のタイマ割込み対応処理を実行してから(ステップS79)、ステップS73に戻る。
ステップS75のコマンド解析処理S_COMMANDは、演出制御コマンド受信用バッファに格納されている演出制御コマンドの読出と、読み出された演出制御コマンドに対応した設定や制御と、を可能にする。演出制御用CPU120は、コマンド解析処理S_COMMANDを実行することにより、主基板11から送信された演出制御コマンドに対応して、フラグの状態を示す記憶データ、レジスタの格納データ、その他、RAM122の作業領域における任意の記憶データなどを、更新可能である。ステップS76の演出制御プロセス処理S_CPROCは、例えば画像表示装置5の画面上における演出画像の表示と、スピーカ8L、8Rからの音声出力と、遊技効果ランプ9および装飾用LEDといった装飾発光体における点灯または消灯と、可動体32の駆動制御と、を含めた各種の演出装置を用いた演出の実行を制御可能にする。各種の演出装置を用いた演出の制御内容は、主基板11から送信された演出制御コマンドや、演出制御用CPU120による処理の実行結果などにもとづいて、判定や決定、設定などが可能になればよい。ステップS77の演出用乱数更新処理S_RANDOMは、演出制御基板12の側で用いられる演出用乱数の少なくとも一部を、ソフトウェアとしてのプログラムを実行することで更新可能にする。
図9(A)は、演出制御プロセス処理S_CPROCとして、図8に示すステップS76にて実行可能な処理の一例を示すフローチャートである。演出制御用CPU120は、演出制御プロセス処理において、先読み演出設定処理S_SAKI_SETを実行する(ステップS151)。先読み演出設定処理S_SAKI_SETは、例えば主基板11から送信された始動入賞時の演出制御コマンドにもとづいて、先読み予告演出の実行に関する判定や決定、設定などを可能にする。また、先読み演出設定処理S_SAKI_SETは、演出制御コマンドから特定される保留記憶数にもとづいて保留表示を更新可能にする。
ステップS151における先読み演出設定処理S_SAKI_SETの後に、ポインタを設定する転送命令により、演出制御プロセス処理ジャンプテーブルをセットする(ステップS152)。演出制御プロセス処理ジャンプテーブルは、演出制御プロセスコードの読出値に対応する処理を、選択して実行可能にするアドレス管理テーブルである。演出制御プロセスコードは、パチンコ遊技機1における演出制御の進行に対応して、00[H]~0A[H]のいずれかに更新設定が可能であり、演出プロセスコードともいう。演出制御プロセスコードは、記憶データを読み出すための転送命令によりロードされる(ステップS153)。こうして取得された演出制御プロセスコードに対応して、選択される処理のアドレスが演出制御ポインタにセットされる(ステップS154)。したがって、演出制御ポインタの指す処理を実行することで(ステップS115)、演出制御プロセスコードに対応して選択された処理が実行可能になる。
図9(B)は、演出制御プロセス処理S_CPROCにおいて用いられる演出制御プロセス処理ジャンプテーブルの構成例TT02を示している。演出制御プロセス処理ジャンプテーブルは、演出制御プロセスコードに対応して選択される処理のアドレスを、演出制御ポインタとして用いられるレジスタに設定可能なテーブルデータを含んで構成される。構成例TT02の演出制御プロセス処理ジャンプテーブルは、演出制御プロセスコードが00[H]である場合の変動パターンコマンド待ち処理と、演出制御プロセスコードが01[H]である場合の演出図柄変動開始処理と、演出制御プロセスコードが02[H]である場合の演出図柄変動中処理と、演出制御プロセスコードが03[H]である場合の演出図柄変動停止処理と、演出制御プロセスコードが04[H]である場合の小当り表示処理と、演出制御プロセスコードが05[H]である場合の小当り開放中処理と、演出制御プロセスコードが06[H]である場合の小当り終了演出処理と、演出制御プロセスコードが07[H]である場合の大当り表示処理と、演出制御プロセスコードが08[H]である場合のラウンド中処理と、演出制御プロセスコードが09[H]である場合のラウンド後処理と、演出制御プロセスコードが0A[H]である場合の大当り終了演出処理と、に対応するアドレス値を演出制御ポインタに設定可能なテーブルデータが含まれる。
変動パターンコマンド受信待ち処理は、主基板11の遊技制御用マイクロコンピュータ100から伝送された変動パターン指定コマンドを受信したか否かを判定可能にする。変動パターン指定コマンドの受信ありと判定された場合に、演出制御プロセスコードが演出図柄変動開始処理に対応する01[H]に更新され、変動パターン指定コマンドの受信なしと判定された場合に、デモ表示を制御可能にする。演出図柄変動開始処理は、特図ゲームに対応する変動時演出の開始を可能にする。例えば主基板11から送信された変動パターンコマンドに対応して、変動時演出の制御に用いる演出パターンの選択と、演出実行時間を計測する演出プロセスタイマの更新開始と、を可能にする。演出図柄変動中処理は、演出パターンを構成する各演出要素の切替えタイミングを制御可能にするとともに、演出プロセスタイマの計時値にもとづいて演出実行時間が経過したか否かを判定可能にする。演出実行時間が経過したと判定された場合に、演出制御プロセスコードが演出図柄変動停止処理に対応する03[H]に更新される。演出図柄変動停止処理は、演出実行時間が経過したこと、または演出図柄確定コマンドを受信したことなど、変動時演出の終了条件が成立したことにもとづいて、変動時演出の終了制御と、確定特別図柄に対応した演出結果の表示制御と、を可能にする。このときに、可変表示の表示結果に対応して、演出制御プロセスコードの更新や各種設定が行われる。例えば、可変表示の表示結果が「大当り」の場合に演出制御プロセスコードを07[H]に更新可能であり、可変表示の表示結果が「小当り」の場合に演出制御プロセスコードを04[H]に更新可能であり、可変表示の表示結果が「ハズレ」の場合に演出制御プロセスコードを00[H]に更新可能である。
小当り表示処理、小当り開放中処理、小当り終了演出処理は、小当り遊技状態に対応した演出の進行を制御するための処理である。大当り表示処理、ラウンド中処理、ラウンド後処理、大当り終了演出処理は、大当り遊技状態に対応した演出の進行を制御するための処理である。
(基本説明などの変形例)
パチンコ遊技機1は、基本説明その他の説明における構成、機能、処理、動作に限定されず、様々な変形および応用が可能である。例えばパチンコ遊技機1は、実施の形態で示された全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、実施の形態で説明された一部の構成を備えたものであってもよい。実施の形態において、下位概念となる事項が記載されている場合に、同族的事項や同類的事項を用いた上位概念の発明、あるいは、共通する性質を用いた上位概念の発明は、本願発明として包含され、従来技術における少なくとも1つの課題を解決できるように、実施の形態で説明された一部の構造や特性を備えたものであってもよい。
パチンコ遊技機1は、入賞の発生にもとづいて所定数の遊技媒体を景品として払い出す払出式遊技機であってもよいし、遊技媒体を封入して入賞の発生により得点を付与する封入式遊技機であってもよい。
特別図柄の可変表示中に表示されるものは、例えば、「-」を示す記号など、1種類の図柄だけとして、この図柄の表示と消灯とを繰り返す可変表示を行うようにしてもよい。可変表示中に1種類の図柄が表示され、可変表示の停止時に、この図柄が表示されなくてもよい。例えば、表示結果としては「-」を示す記号が表示されず、特別図柄の表示がない非表示状態としてもよい。
パチンコ遊技機1は、複数の設定値に対応して大当りの当選確率や出玉率が変わる構成を備えてもよい。例えば、特別図柄プロセス処理の特別図柄通常処理において、設定されている設定値ごとに異なる大当り判定値を用いることにより、大当りの当選確率や出玉率を変更可能であってもよい。具体的な一例として、設定値は1~6の6段階からなり、6が最も大当りの当選確率が高く、6、5、4、3、2、1の順に値が小さくなるほど大当りの当選確率が低くなる。この場合に、設定値として6が設定されていれば遊技者にとって最も有利度が高く、6、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。設定値に応じて大当りの当選確率が変われば、出玉率も設定値に応じて変わってもよい。大当りの当選確率は設定値にかかわらず一定であるのに対し、大当り遊技状態におけるラウンド数が設定値に応じて変わってもよい。パチンコ遊技機1は、遊技者にとっての有利度が異なる複数の設定値のうちいずれかを設定可能に構成されていればよい。パチンコ遊技機1において設定されている設定値は、主基板11の側から演出制御基板12の側へ設定値指定コマンドが送信されることにより通知されてもよい。可変表示の実行中には、所定割合でパチンコ遊技機1における設定値を示唆する設定示唆演出を実行可能であってもよい。パチンコ遊技機1の設定値に関する示唆は、パチンコ遊技機1における設定値を示唆するものに限定されず、例えばパチンコ遊技機1における設定値が変更されたか否かを示唆するものであってもよい。設定示唆演出は、任意の演出によって大当り期待度を示唆するとともに、パチンコ遊技機1の設定値に関する示唆を行うことができるようにしてもよい。
大当り遊技状態の制御に関する示唆の一部または全部に代えて、あるいは、大当り遊技状態の制御に関する示唆の一部または全部とともに、大当り遊技状態とは異なる遊技者にとって有利な状態の制御に関する示唆を行うものであってもよい。例えば、大当り遊技状態の終了後に制御される確変状態に関する示唆を行うものであってもよい。その他、有利状態として、遊技者にとって有利な任意の遊技価値が付与される状態に関して、制御されるか否かなどに応じた示唆を行うものであってもよい。
遊技機に関する発明は、パチンコ遊技機1に限定されず、スロットマシンにも、適宜、適用することができる。スロットマシンは、メダルが投入されて所定の賭け数が設定され、遊技者による操作レバーの操作に応じて複数種類の図柄を回転させ、遊技者によるストップボタンの操作に応じて図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数のメダルが遊技者に払い出されるゲームを実行可能である。スロットマシンにおいて、遊技者にとって有利な有利状態は、例えば、ビッグボーナス、レギュラーボーナス、RT、AT、ART、CZといった、いわゆるボーナスのうち1以上のものを含んでいればよい。
遊技の進行や演出の実行を含めた各種の制御を実現するためのプログラムおよびデータは、パチンコ遊技機1などの遊技機に含まれるコンピュータ装置に対して、着脱自在の記録媒体により配布と提供が可能なものであってもよいし、予めコンピュータ装置などの有する記憶装置にインストールしておくことで配布と提供が可能なものであってもよい。また、通信回線などを介してネットワーク上の外部機器に接続可能な通信処理部を備え、その外部機器からプログラムやデータをダウンロードすることにより配布や提供が可能なものであってもよい。遊技や演出の実行形態も、着脱自在の記録媒体を装着することにより実行可能なものであってもよいし、通信回線などを介してダウンロードしたプログラムおよびデータを、内部メモリなどに一旦格納することにより実行可能なものであってもよいし、通信回線などを介して接続されたネットワーク上の外部機器におけるハードウェア資源を用いて直接実行が可能なものであってもよいし、他のコンピュータ装置などとネットワークを介してデータの交換を行うことにより遊技や演出を実行可能なものであってもよい。
処理やデータの決定割合、演出の実行割合など、各種割合を比較する場合に、「高い」、「低い」、「異なる」などの表現は、一方が「0%」または「100%」の割合であることを含んでもよい。例えば、一方の決定結果や実行内容について、「0%」の割合で決定や実行がない場合を含んでもよいし、「100%」の割合で必ず決定や実行がある場合を含んでもよい。
(特徴部01AKに関する説明)
図10-1は、特徴部01AKに関し、遊技制御用マイクロコンピュータ100の構成例を示している。特徴部01AKの遊技制御用マイクロコンピュータ100は、ROM101、RAM102、CPU103の他に、外部バスインタフェース131、クロック回路132、固有情報記憶回路133、リセットコントローラ134、割込みコントローラ135、タイマ回路136、アドレスデコード回路137、フリーランカウンタ138、シリアル通信回路139を備えて構成される。また、図2に示された乱数回路104は、16ビットの乱数回路104Aと、8ビットの乱数回路104Bと、を含んで構成される。図2に示されたI/O105は、PIP(Parallel Input Port)105Aと、POP(Parallel Output Port)105Bと、を含んで構成される。
外部バスインタフェース131は、遊技制御用マイクロコンピュータ100を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバスおよび各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース131は、遊技制御用マイクロコンピュータ100に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信可能であればよい。外部バスインタフェース131は、外部装置から遊技制御用マイクロコンピュータ100の内部データに対するアクセスを制御する内部リソースアクセス制御回路を含んでもよい。
クロック回路132は、制御用外部クロック端子EXCに入力される発振信号を用いて、内部システムクロックSCLKを生成可能である。制御用外部クロック端子EXCは、遊技制御用マイクロコンピュータ100に設けられた制御用クロック生成回路が生成した制御用クロックが入力されてもよい。クロック回路132により生成された内部システムクロックSCLKは、CPU103、16ビットの乱数回路104A、8ビットの乱数回路104Bなど、遊技制御用マイクロコンピュータ100における各種回路に供給可能である。また、内部システムクロックSCLKは、システムクロック出力端子CLKOから、遊技制御用マイクロコンピュータ100の外部へと出力可能である。あるいは、内部システムクロックSCLKは、遊技制御用マイクロコンピュータ100の外部へと出力されないように制限することで、遊技制御用マイクロコンピュータ100の動作状態を外部から特定することが困難になるようにしてもよい。
固有情報記憶回路133は、例えば遊技制御用マイクロコンピュータ100の内部情報となる複数種類の固有情報を記憶可能である。例えば、固有情報記憶回路133は、ROMコード、チップ個別ナンバー、IDナンバーを、遊技制御用マイクロコンピュータ100のチップ毎に異なる固有情報として記憶可能であればよい。ROMコードは、ROM101の所定領域における記憶データから生成可能な数値データである。チップ個別ナンバーおよびIDナンバーは、遊技制御用マイクロコンピュータ100の製造時に付与される番号であり、チップ毎に異なる数値を示す。チップ個別ナンバーは遊技プログラムなどのユーザプログラムにより読出可能である一方、IDナンバーはユーザプログラムにより読出不可能であるように、設定可能であればよい。固有情報記憶回路133は、ROM101の所定領域に含まれてもよいし、遊技制御用マイクロコンピュータ100の内蔵レジスタに含まれてもよい。
リセットコントローラ134は、遊技制御用マイクロコンピュータ100の内部や外部にて発生する各種リセットを制御可能である。リセットコントローラ134により制御可能なリセットは、システムリセットとユーザリセットとを含む。システムリセットは、外部システムリセット端子XSRSTの入力信号が一定の期間にわたりローレベルであるときに発生する。ユーザリセットは、ウォッチドッグタイマ134Aのタイムアウト信号が発生したこと、指定エリア外走行禁止(IAT)が発生したことなど、所定の要因により発生する。リセットコントローラ134は、ウォッチドッグタイマ134Aを含む。ウォッチドッグタイマ134Aは、監視時間に対応するタイマ値を設定可能であり、タイマ値を定期的に1減算するように更新するカウントダウンを可能とし、タイマ値が「0」となりタイムアウトが発生したときに、遊技制御用マイクロコンピュータ100をリセット状態にして再起動させるためのタイムアウト信号を出力可能である。これにより、ウォッチドッグタイマ134Aは、監視時間を計測して、監視時間が経過したことが計測されたときに、遊技制御用マイクロコンピュータ100をリセット可能である。ウォッチドッグタイマ134Aは、例えば遊技プログラムに従って動作を有効化または無効化する設定が可能である。
割込みコントローラ135は、遊技制御用マイクロコンピュータ100の内部や外部にて発生する各種割込み要求を制御可能である。割込みコントローラ135により制御可能な割込みは、ノンマスカブル割込みNMIとマスカブル割込みINTとを含む。ノンマスカブル割込みNMIは、CPU103の割込み禁止状態でも無条件に受け付けられる割込みであり、外部ノンマスカブル割込み端子XNMI(入力ポートPI6と兼用)の入力信号が一定の期間にわたりローレベルであるときに発生する。マスカブル割込みINTは、CPU103の設定命令により、割込み要求の受け付けを許可または禁止できる割込みであり、優先順位設定による多重割込みの実行が可能である。マスカブル割込みINTの要因は、外部マスカブル割込み端子XINT(入力ポートPI5と兼用)の入力信号が一定の期間にわたりローレベルであること、タイマ回路136にてタイムアウトが発生したこと、16ビットの乱数回路104Aや8ビットの乱数回路104Bにて乱数値を示す数値データが乱数値レジスタに格納されたこと、を含む複数種類の割込み要因のうち、一部または全部の要因を設定可能であればよい。
タイマ回路136は、3つのチャネルPTC0~PTC2に対応したタイマカウンタとしてのPTC(Programmable Timer Counter)を含んで構成され、リアルタイム割込みの発生や時間計測を可能にする。タイマ回路136の各チャネルPTC0~PTC2は、内部システムクロックSCLKにもとづいて生成されたカウントクロックを用いて、例えばクロック信号がハイレベルからローレベルへと変化する立ち下がりタイミングなど、カウントクロックの信号変化に対応して、タイマ値を更新可能であればよい。
アドレスデコード回路137は、遊技制御用マイクロコンピュータ100の内部における各機能ブロックから取得した各種信号をデコード可能であり、外部装置用のデコード信号であるチップセレクト信号を出力可能である。チップセレクト信号は、遊技制御用マイクロコンピュータ100の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させ、CPU103からのアクセスを可能にする。アドレスデコード回路137が使用可能な出力端子は、POP105Bからのパラレル出力信号、シリアル通信回路139からのシリアル送信信号、クロック回路132からのクロック出力信号と、アドレスデコード回路137が生成したチップセレクト信号と、を選択的に出力可能な機能兼用端子であればよい。
フリーランカウンタ138は、4つのチャネルFRC0~FRC3に対応したカウンタ回路を含んで構成され、CPU103の動作とは別個にカウント値を更新可能である。フリーランカウンタ138の各チャネルFRC0~FRC3は、それぞれ独立した更新クロックで起動可能であり、例えば遊技プログラムに従って動作の停止または変更を設定可能である。フリーランカウンタ138によるカウント値は、PIP105Aにおいてラッチ信号入力端子となる入力端子から伝送されたラッチ信号に対応して、ハードラッチレジスタに格納可能である。ハードラッチレジスタに格納されたカウント値は、CPU103により読み出して、遊技プログラムを実行するときなどに使用可能である。
シリアル通信回路139は、3つのチャネルSCU0、SCU1、STU2に対応したシリアル通信ユニットを含んで構成され、シリアル通信方式により外部装置との通信を可能にする。シリアル通信回路139の各チャネルSCU0、SCU1、STU2は、例えば全二重、非同期、標準NRZ(Non Return to Zero)フォーマットで通信データを処理可能である。シリアル通信回路139のチャネルSCU0、SCU1は、外部回路との間にて双方向でシリアルデータを送受信可能な第1チャネル送受信回路に含まれる。シリアル通信回路139のチャネルSTU2は、外部回路との間にて単一方向でシリアルデータを送信のみが可能な第2チャネル送信回路に含まれる。例えば、シリアル通信回路139のチャネルSCU0は、払出制御基板とのデータ通信に使用される。また、シリアル通信回路139のチャネルSCU1は、演出制御基板12とのデータ通信に使用される。シリアル通信回路139のチャネルSCU1に代えて、シリアル通信回路139のチャネルSTU2が、演出制御基板12とのデータ通信に使用されてもよい。
16ビットの乱数回路104Aは、4つのチャネルRL0~RL3に対応した乱数生成ユニットを含んで構成され、それぞれが独立した動作により16ビット擬似乱数の値を示す数値データにより、「0」から「65535」までの乱数値を発生可能である。16ビットの乱数回路104Aにおける各チャネルRL0~RL3が発生する乱数の最大値は、「256」から「65535」までの範囲で、任意の値を設定可能である。このような最大値の設定により、乱数値を示す数値データの更新が開始されるように、乱数の起動方式を選択する初期設定が可能である。あるいは、16ビットの乱数回路104Aにおける各チャネルRL0~RL3は、遊技制御用マイクロコンピュータ100の動作モードがセキュリティモードからユーザモードに移行することで自動起動されるように、乱数の起動方式を選択する初期設定が可能である。16ビットの乱数回路104Aは、チャネルRL0により特別図柄判定用の乱数MR1-1を更新可能であり、チャネルRL2によりハズレ演出選択用の乱数MR3-2を更新可能である。
8ビットの乱数回路104Bは、4つのチャネルRS0~RS3に対応した乱数生成ユニットを含んで構成され、それぞれが独立した動作により8ビット擬似乱数の値を示す数値データにより、「0」から「255」までの乱数値を発生可能である。8ビットの乱数回路104Bにおける各チャネルRS0~RS3が発生する乱数の最大値は、「16」から「255」までの範囲で、任意の値を設定可能である。このような最大値の設定により、乱数値を示す数値データの更新が開始されるように、乱数の起動方式を選択する初期設定が可能である。あるいは、8ビットの乱数回路104Bにおける各チャネルRS0~RS3は、遊技制御用マイクロコンピュータ100の動作モードがセキュリティモードからユーザモードに移行することで自動起動されるように、乱数の起動方式を選択する初期設定が可能であってもよい。8ビットの乱数回路104Bは、チャネルRS1により変動パターン種別選択用の乱数MR3-3を更新可能であり、チャネルRS2により変動パターン用の乱数MR3-4を更新可能であり、チャネルRS3により普通図柄変動パターン用の乱数MR3-1を更新可能である。
PIP105Aは、例えば8ビット幅の入力専用ポートを内蔵し、遊技制御用マイクロコンピュータ100の外部から各種信号を入力可能にする。PIP105Aは、入力ポートPI0~PI7に対応する入力端子を使用可能である。入力ポートPI5は、外部マスカブル割込み端子XINTと兼用可能な機能兼用端子を使用する。入力ポートPI6は、外部ノンマスカブル割込み端子XNMIと兼用可能な機能兼用端子を使用する。入力ポートPI7は、シリアル通信回路139におけるチャネルSCU0の受信端子と兼用可能な機能兼用端子を使用する。POP105Bは、例えば11ビット幅の出力専用ポートを内蔵し、遊技制御用マイクロコンピュータ100の外部に各種信号を出力可能にする。POP105Bは、出力ポートPO0~PO7、PO10~PO12に対応するパラレル出力信号を、アドレスデコード回路137に供給可能である。
図10-2は、遊技制御用マイクロコンピュータ100におけるアドレスマップの一例を示している。図10-2に示す例において、アドレス0000[H]~3FFF[H]の領域は、ROM101に割り当てられ、遊技プログラム領域、遊技データ領域、非遊技プログラム領域、非遊技データ領域、ROMコメント領域、プログラム管理エリア、その他、未使用領域が含まれている。アドレスF000[H]~F3FF[H]の領域は、RAM102に割り当てられ、遊技ワーク領域、遊技スタック領域、非遊技ワーク領域、非遊技スタック領域、その他、未使用領域が含まれている。アドレスFE00[H]~FEBF[H]の領域は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられた機能設定レジスタエリアである。アドレスFF00[H]~FFFF[H]の領域は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられた機能制御レジスタエリアである。
ROM101において、遊技プログラム領域は、遊技の進行に関するコンピュータプログラムである遊技プログラムを記憶可能である。遊技データ領域は、遊技プログラムが用いる遊技データを記憶可能である。非遊技プログラム領域は、遊技の進行とは異なる制御や処理に関するコンピュータプログラムである非遊技プログラムを記憶可能である。非遊技データ領域は、非遊技プログラムが用いる非遊技データを記憶可能である。これらのROM101に記憶されたプログラムやデータは、遊技制御用マイクロコンピュータ100のユーザであるパチンコ遊技機1の製造業者が予め設計して作成したものである。したがって、遊技プログラムおよび非遊技プログラムは、ユーザプログラムに含まれる。遊技データや非遊技データは、ユーザデータに含まれる。
ROM101の記憶領域には、遊技の進行に関する遊技プログラムを記憶可能な遊技プログラム領域と、遊技の進行とは異なる制御や処理に関する非遊技プログラム領域と、がそれぞれ別個に設けられ、遊技プログラム領域および非遊技プログラム領域のうち後方のアドレスが割り当てられた非遊技プログラム領域の手前の領域は、例えば16バイトといった、境界バイト数以上の記憶領域による未使用領域となる。これにより、遊技の進行に関する遊技プログラムを記憶可能な遊技プログラム領域と、遊技の進行とは異なる制御や処理に関する非遊技プログラムを記憶可能な非遊技プログラム領域と、を容易に特定することができ、ROM101に記憶されるプログラムやデータの設計および管理が容易になる。
ROM101の記憶領域には、遊技の進行に関する遊技プログラムを記憶可能な遊技プログラム領域と、遊技プログラムが用いる遊技データを記憶可能な遊技データ領域と、がそれぞれ別個に設けられ、遊技プログラム領域および遊技データ領域のうち後方のアドレスが割り当てられた遊技データ領域の手前の領域は、例えば16バイトといった、境界バイト数以上の記憶領域による未使用領域となる。これにより、遊技の進行に関する遊技プログラムを記憶可能な遊技プログラム領域と、遊技プログラムにより用いられる遊技データを記憶可能な遊技データ領域と、を容易に特定することができ、ROM101に記憶されるプログラムやデータの設計および管理が容易になる。
ROM101の記憶領域には、遊技の進行とは異なる制御や処理に関する非遊技プログラムを記憶可能な非遊技プログラム領域と、非遊技プログラムが用いる非遊技データを聴く可能な非遊技データ領域と、が互いに隣接して設けられ、非遊技プログラム領域および非遊技データ領域のうち、前方のアドレスが割り当てられた非遊技プログラム領域の背後の領域は非遊技データ領域となり、後方のアドレスが割り当てられた非遊技データ領域の手前の領域は非遊技プログラム領域となる。これにより、遊技の進行とは異なる制御や処理に関する非遊技プログラムを記憶可能な非遊技プログラム領域と、非遊技プログラムにより用いられる非遊技データを記憶可能な非遊技データ領域と、を連続するアドレスが割り当てられた記憶領域に設けて一体性を高めることができ、ROM101に記憶されるプログラムやデータの設計および管理が容易になる。なお、非遊技プログラム領域と非遊技データ領域との間に、境界バイト数以上の記憶領域による未使用領域を設けることで、非遊技プログラム領域と非遊技データ領域とを容易に特定することができるようにしてもよい。
ROM101の記憶領域において、未使用領域となる記憶領域には、全ての領域に「0」の値を示すデータが記憶されてもよい。これにより、遊技プログラム領域および遊技データ領域と、非遊技プログラム領域および非遊技データ領域と、未使用領域と、を容易に区別することができる。また、未使用領域に不正なデータが記憶されている場合に、そのデータを容易に発見することができる。なお、未使用領域となる記憶領域には、全ての領域に「1」の値を示すデータが記憶されてもよい。すなわち、未使用領域となる記憶領域には、全ての領域に同一値を示すデータが記憶されるようにすればよい。これにより、複数種類の記憶領域を容易に区別することができ、不正な記憶データを容易に発見することができる。
RAM102において、遊技ワーク領域は、CPU103が遊技プログラムを実行する場合に作業領域として使用可能である。遊技スタック領域は、CPU103が遊技プログラムを実行する場合にスタック領域として使用可能である。非遊技ワーク領域は、CPU103が非遊技プログラムを実行する場合に作業領域として使用可能である。非遊技スタック領域は、CPU103が非遊技プログラムを実行する場合にスタック領域として使用可能である。
ROM101の記憶領域に設けられた遊技プログラム領域および遊技データ領域と、RAM102の記憶領域に設けられた遊技ワーク領域および遊技スタック領域と、は遊技制御用の記憶領域に含まれる。ROM101の記憶領域に設けられた非遊技プログラムおよび非遊技データ領域と、RAM102の記憶領域に設けられた非遊技ワーク領域および非遊技スタック領域と、は非遊技制御用の記憶領域に含まれる。
ROM101の記憶領域に設けられたROMコメント領域は、例えばプログラムのタイトル、バージョンなど、任意のプログラム特定情報を示すデータが記憶される。ROM101の記憶領域に設けられたプログラム管理エリアは、CPU103が遊技プログラムや非遊技プログラムを実行するために、遊技制御用マイクロコンピュータ100の内部設定に必要な設定情報を記憶可能である。
図10-3は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられるアドレスのうち、機能設定レジスタエリアに含まれるアドレスの主な設定例AKA01を示している。機能設定レジスタエリアは、例えばリセットコントローラ134のウォッチドッグタイマ134A、割込みコントローラ135、タイマ回路136、シリアル通信回路139など、遊技制御用マイクロコンピュータ100に含まれる各種回路を用いた機能設定のための第1領域となる。
設定例AKA01において、アドレスFE1A[H]のWDTスタートレジスタやアドレスFE1B[H]~FE1C[H]のWDTクリアレジスタの設定値が未使用に対応した無効値である。これにより、リセットコントローラ134のウォッチドッグタイマ134Aを用いた監視時間の計測機能は、未使用状態に設定される。アドレスFE00[H]の割込みマスクレジスタの設定値が7E[H]であることにより、割込みコントローラ135を用いた割込み制御機能は、マスカブル割込みIR0の使用可能状態に設定される。アドレスFE01[H]~FE03[H]にてタイマ回路136のチャネルPTC0に関するレジスタの設定値が有効値であることにより、タイマ回路136のチャネルPTC0を用いた計時機能は、使用可能状態に設定される。アドレスFE04[H]~FE09[H]にてタイマ回路136のチャネルPTC1、PTC2に関するレジスタの設定値が未使用に対応した無効値であることにより、タイマ回路136のチャネルPTC1、PTC2を用いた計時機能は、未使用状態に設定される。
アドレスFE0A[H]~FE11[H]にてシリアル通信回路139のチャネルSCU0、SCU1に関するレジスタの設定値が有効値であることにより、シリアル通信回路139のチャネルSCU0、SCU1を用いたシリアル通信機能は、使用可能状態に設定される。アドレスFE12[H]~FE14[H]にてシリアル通信回路139のチャネルSTU2に関するレジスタの設定値が未使用に対応した無効値であることにより、シリアル通信回路139のチャネルSTU2を用いたシリアル通信機能は、未使用状態に設定される。
アドレスFE2C[H]~FE2E[H]にてPIP105Aの入力ポートに関するレジスタの設定値が有効値であることにより、各入力ポートを用いた信号入力機能は、使用可能状態に設定される。アドレスFE36[H]~FE4A[H]にて乱数回路104に関するレジスタの設定値が有効値と無効値とを含むことにより、乱数回路104を用いた乱数生成機能は、有効値に対応するチャネルが使用可能状態に設定され、無効値に対応するチャネルが未使用状態に設定される。例えば、16ビットの乱数回路104Aにおける4つのチャネルRL0~RL3のうち、対応する最大値設定レジスタの設定値が有効値であるチャネルRL0、RL2は、乱数生成機能が使用可能状態に設定される一方、対応する最大値設定レジスタの設定値が無効値であるチャネルRL1、RL3は、乱数生成機能が未使用状態に設定される。また、8ビットの乱数回路104Bにおける4つのチャネルRS0~RS3のうち、対応する最大値設定レジスタの設定値が有効値であるチャネルRS1~RS3は、乱数生成機能が使用可能状態に設定され、対応する最大値設定レジスタの設定値が無効値であるチャネルRS0は、乱数生成機能が未使用状態に設定される。
このように、遊技制御用マイクロコンピュータ100に含まれる各種回路は、機能設定レジスタエリアにおける設定値に対応して、それぞれの回路を用いた各種機能が使用可能状態または未使用状態のいずれかに設定可能であればよい。機能設定レジスタエリアは、遊技制御用マイクロコンピュータ100に含まれる各種回路に限定されず、任意の機能設定のための第1領域であってもよい。
図10-4は、遊技制御用マイクロコンピュータ100の内蔵レジスタに割り当てられたアドレスのうち、機能制御レジスタエリアに含まれるアドレスの主な設定例AKA02を示している。機能制御レジスタエリアは、例えばRAM102、乱数回路104、PIP105A、シリアル通信回路139など、遊技制御用マイクロコンピュータ100に含まれる各種回路を用いた機能制御のための第2領域となる。
設定例AKA02において、アドレスFF00[H]のRWMアクセスプロテクトレジスタは、設定値が00[H]または01[H]に対応して、RWMであるRAM102のアクセス禁止またはアクセス許可とする機能制御を可能にする。アドレスFF01[H]の内部情報レジスタは、設定値が未使用に対応した無効値であり、対応する回路を用いた機能制御が未使用状態となる。内部情報レジスタは、乱数更新状態の異常、乱数更新用クロックの周波数異常、システムリセット発生、WDTタイムアウト発生、IAT発生など、内部情報を示すデータを記憶可能であるが、この実施例では未使用状態として使用されない。
アドレスFF25[H]~FF28[H]の各レジスタは、シリアル通信回路139のチャネルSCU0を用いたシリアル通信機能が使用可能状態であることに対応して、そのシリアル通信機能を制御する場合に用いられる設定値を格納可能である。アドレスFF29[H]~FF2C[H]の各レジスタは、シリアル通信回路139のチャネルSCU1を用いたシリアル通信機能が使用可能状態であることに対応して、そのシリアル通信機能を制御する場合に用いられる設定遅を格納可能である。
アドレスFF60[H]~FF67[H]の各レジスタは、16ビットの乱数回路104Aによるソフトラッチ乱数値取得機能を用いて取得可能な乱数値を格納可能である。このうち、アドレスFF60[H]~FF61[H]のRL0ソフトラッチ乱数値レジスタは、16ビットの乱数回路104Aに設けられたチャネルRL0が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF62[H]~FF63[H]のRL1ソフトラッチ乱数値レジスタは、16ビットの乱数回路104Aに設けられたチャネルRL1が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF64[H]~FF65[H]のRL2ソフトラッチ乱数値レジスタは、16ビットの乱数回路104Aに設けられたチャネルRL2が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF66[H]~FF67[H]のRL3ソフトラッチ乱数値レジスタは、16ビットの乱数回路104Aに設けられたチャネルRL3が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。
アドレスFF68[H]~FF6B[H]の各レジスタは、8ビットの乱数回路104Bによるソフトラッチ乱数値取得機能を用いて取得可能な乱数値を格納可能である。このうち、アドレスFF68[H]のRS0ソフトラッチ乱数値レジスタは、8ビットの乱数回路104Bに設けられたチャネルRS0が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF69[H]のRS1ソフトラッチ乱数値レジスタは、8ビットの乱数回路104Bに設けられたチャネルRS1が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF6A[H]のRS2ソフトラッチ乱数値レジスタは、8ビットの乱数回路104Bに設けられたチャネルRS2が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。アドレスFF6B[H]のRS3ソフトラッチ乱数値レジスタは、8ビットの乱数回路104Bに設けられたチャネルRS3が生成可能な乱数について、その値を示す数値データがソフトラッチにより取得された場合に記憶可能である。
アドレスFF88[H]~FF89[H]のRL0ハードラッチ乱数値レジスタ番号「0」およびアドレスFF98[H]~FF99[H]のRL0ハードラッチ乱数値レジスタ番号「1」は、16ビットの乱数回路104Aに設けられたチャネルRL0が生成可能な乱数について、その値を示す数値データがハードラッチにより取得された場合に記憶可能である。ここで、RL0ハードラッチ乱数値レジスタは、複数のレジスタ番号に対応した複数の格納領域を含み、異なるレジスタ番号の格納領域に対応して、異なるハードラッチ条件を設定可能である。例えば、レジスタ番号「0」に対応したRL0ハードラッチ乱数値レジスタであるRL0ハードラッチ乱数値レジスタ番号「0」は、第1始動口スイッチ22Aによる遊技球の検出信号がオン状態である場合に、ハードラッチ条件が成立可能である。これに対し、レジスタ番号「1」に対応したRL0ハードラッチ乱数値レジスタであるRL0ハードラッチ乱数値レジスタ番号「1」は、第2始動口スイッチ22Bによる遊技球の検出信号がオン状態である場合に、ハードラッチ条件が成立可能である。これにより、RL0ハードラッチ乱数値レジスタ番号「0」は、第1始動入賞の発生に対応して取得される特別図柄判定用の乱数MR1-1について、その値を示す数値データがハードラッチにより取得された場合に記憶可能である。RL0ハードラッチ乱数値レジスタ番号「1」は、第2始動入賞の発生に対応して取得される特別図柄判定用の乱数MR1-1について、その値を示す数値データがハードラッチにより取得された場合に記憶可能である。
アドレスFFF0[H]~FFF2[H]、FF35[H]の各レジスタは、PIP105Aの入力ポートを用いた信号入力機能が使用可能状態であることに対応して、各入力ポートにて入力された信号値を格納可能である。このうち、アドレスFFF0[H]の入力ポート番号「0」レジスタは、PIP105Aに設けられたポート番号「0」の入力ポートについて、入力された信号値を格納可能である。アドレスFFF1[H]の入力ポート番号「1」レジスタは、PIP105Aに設けられたポート番号「1」の入力ポートについて、入力された信号値を格納可能である。アドレスFFF2[H]の入力ポート番号「2」レジスタは、PIP105Aに設けられたポート番号「2」の入力ポートについて、入力された信号値を格納可能である。アドレスFF35[H]の入力ポート番号「3」レジスタは、PIP105Aに設けられたポート番号「3」の入力ポートについて、入力された信号値を格納可能である。
このように、遊技制御用マイクロコンピュータ100に含まれる各種回路は、機能制御レジスタエリアにおける格納値などに対応して、それぞれの動作状態を制御可能であればよい。また、遊技制御用マイクロコンピュータ100に含まれる各種回路は、それぞれの動作状態などに対応して、機能制御レジスタエリアにおける格納値を更新可能であってもよい。機能制御レジスタエリアは、遊技制御用マイクロコンピュータ100に含まれる各種回路に限定されず、任意の機能制御のための第2領域であってもよい。
図10-5は、図3に示された遊技用乱数について、この実施形態における設定例を説明するための図である。図3に示された遊技用乱数は、それぞれの用途に対応して、特別図柄の可変表示における表示結果の決定に用いられる乱数と、普通図柄の可変表示における表示結果の決定に用いられる乱数と、特別図柄や普通図柄の可変表示における表示態様の決定に用いられる乱数と、に分類可能である。
図10-5(A)は、特別図柄の可変表示における表示結果の決定に用いられる遊技用乱数の設定例AKA11を示している。設定例AKA11における遊技用乱数は、特別図柄判定用の乱数MR1-1と、当り図柄用の乱数MR1-2と、当り図柄用初期値となる乱数MR1-3と、を含んでいる。例えば、特別図柄判定用の乱数MR1-1は、特図表示結果を「大当り」や「小当り」とするか否かの判定に使用可能である。当り図柄用の乱数MR1-2は、特図表示結果が「大当り」または「小当り」である場合に、確定特別図柄に対応した大当り図柄指定値や小当り図柄指定値の決定に使用可能である。当り図柄用初期値となる乱数MR1-3は、乱数MR1-2の初期値を設定する場合に使用可能である。
乱数MR1-1の範囲は、乱数MR1-1を更新可能な数値の範囲であり、「0」~「65535」である。乱数MR1-1の大きさは、乱数MR1-1の更新範囲に含まれる乱数値の総数であり、乱数MR1-1の範囲となる「0」~「65535」に対応した「65536」である。乱数MR1-1は、その大きさが「65536」であるので、更新範囲に含まれる乱数値の総数が素数ではない。乱数MR1-1は、その値を更新するために用いられる数値データのバイト数が「2」である。乱数MR1-1の最大値設定方法は、16ビットの乱数回路104Aに対応して設けられたレジスタの初期設定によるものである。乱数MR1-1の更新方法は、16ビットの乱数回路104Aを用いたハード更新によるものである。乱数MR1-1の更新条件は、16ビットの乱数回路104Aにおけるシステムクロック入力である。乱数MR1-1の取得条件は、始動入賞に対応したハードラッチと、その始動入賞に対応したソフトウェアによる乱数バッファへの読み出しと、を含む。乱数MR1-1の周期は、4.369[ms]である。
乱数MR1-2の範囲は、乱数MR1-2を更新可能な数値の範囲であり、「0」~「199」である。乱数MR1-2の大きさは、乱数MR1-2の更新範囲に含まれる乱数値の総数であり、乱数MR1-2の範囲となる「0」~「199」に対応した「200」である。乱数MR1-2は、その大きさが「200」であるので、更新範囲に含まれる乱数値の総数が素数ではない。乱数MR1-2は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR1-2の最大値設定方法は、プログラムコードの即値設定によるものである。乱数MR1-2の更新方法は、ソフト更新SA1である。乱数MR1-2の更新条件は、所定時間の経過によるタイマ割込みである。乱数MR1-2の取得条件は、始動入賞に対応したソフトウェアによる読み出しである。乱数MR1-2の周期は、800[ms]である。
乱数MR1-3の範囲は、乱数MR1-3を更新可能な数値の範囲であり、乱数MR1-2と同一の「0」~「199」である。乱数MR1-3の大きさは、乱数MR1-3の更新範囲に含まれる乱数値の総数であり、乱数MR1-3の範囲となる「0」~「199」に対応して、乱数MR1-2と同一の「200」である。乱数MR1-3は、その大きさが「200」であるので、更新範囲に含まれる乱数値の総数が素数ではない。乱数MR1-3は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR1-3の最大値設定方法は、プログラムコードの即値設定によるものである。乱数MR1-3の更新方法は、ソフト更新SA2である。乱数MR1-3の更新条件は、所定時間の経過によるタイマ割込みと、遊技制御用のメイン処理P_MAIN内において待機時処理となるループ処理中と、を含んでいる。乱数MR1-3の取得条件は、乱数MR1-2が一巡したことである。乱数MR1-3の周期は、その更新条件から不定となる。
図10-5(B)は、普通図柄の可変表示における表示結果の決定に用いられる遊技用乱数の設定例AKA12を示している。設定例AKA12における遊技用乱数は、普通図柄当り図柄用の乱数MR2-1と、普通図柄当り図柄用初期値となる乱数MR2-2と、を含んでいる。例えば、普通図柄当り図柄用の乱数MR2-1は、普通図柄の表示結果として、確定普通図柄に対応した普通図柄指定値の決定に使用可能である。普通図柄当り図柄用初期値となる乱数MR2-2は、乱数MR1-2の初期値を設定する場合に使用可能である。
乱数MR2-1の範囲は、乱数MR2-1を更新可能な数値の範囲であり、「0」~「198」である。乱数MR2-1の大きさは、乱数MR2-1の更新範囲に含まれる乱数値の総数であり、乱数MR2-1の範囲となる「0」~「198」に対応した「199」である。乱数MR2-1は、その大きさが「199」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR2-1は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR2-1の最大値設定方法は、プログラムコードの即値設定によるものである。乱数MR2-1の更新方法は、ソフト更新SA1である。乱数MR2-1の更新条件は、所定時間の経過によるタイマ割込みである。乱数MR2-1の取得条件は、遊技球が普通図柄作動口として構成可能な通過ゲート41を通過したことに対応したソフトウェアによる読み出しである。乱数MR2-1の周期は、796[ms]である。
乱数MR2-2の範囲は、乱数MR2-2を更新可能な数値の範囲であり、乱数MR2-1と同一の「0」~「198」である。乱数MR2-2の大きさは、乱数MR2-2の更新範囲に含まれる乱数値の総数であり、乱数MR2-2の範囲となる「0」~「198」に対応して、乱数MR2-1と同一の「199」である。乱数MR2-2は、その大きさが「199」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR2-2は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR2-2の最大値設定方法は、プログラムコードの即値設定によるものである。乱数MR2-2の更新方法は、ソフト更新SA2である。乱数MR2-2の更新条件は、所定時間の経過によるタイマ割込みと、遊技制御用のメイン処理P_MAIN内において待機時処理となるループ処理中と、を含んでいる。乱数MR2-2の取得条件は、乱数MR2-1が一巡したことである。乱数MR2-2の周期は、その更新条件から不定となる。
図10-5(C)は、特別図柄や普通図柄の可変表示における表示態様の決定に用いられる遊技用乱数の設定例AKA13を示している。設定例AKA13における遊技用乱数は、普通図柄変動パターン用の乱数MR3-1と、ハズレ演出選択用の乱数MR3-2と、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、を含んでいる。例えば、普通図柄変動パターン用の乱数MR3-1は、普通図柄の可変表示に対応した普通図柄変動パターンの決定に使用可能である。ハズレ演出選択用の乱数MR3-2は、特図表示結果が「ハズレ」である特別図柄の可変表示に対応した可変表示態様の決定に使用可能である。変動パターン種別選択用の乱数MR3-3は、特別図柄の可変表示に対応した変動パターン種別の選択に使用可能である。変動パターン用の乱数MR3-4は、特別図柄の可変表示に対応した変動パターンの決定に使用可能である。
乱数MR3-1の範囲は、乱数MR3-1を更新可能な数値の範囲であり、「0」~「232」である。乱数MR3-1の大きさは、乱数MR3-1の更新範囲に含まれる乱数値の総数であり、乱数MR3-1の範囲となる「0」~「232」に対応した「233」である。乱数MR3-1は、その大きさが「233」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR3-1は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR3-1の最大値設定方法は、8ビットの乱数回路104Bに対応して設けられたレジスタの初期設定によるものである。乱数MR3-1の更新方法は、8ビットの乱数回路104Bを用いたハード更新によるものである。乱数MR3-1の更新条件は、8ビットの乱数回路104Bにおけるシステムクロック入力である。乱数MR3-1の取得条件は、普通図柄の可変表示における変動開始である。乱数MR3-1の周期は、0.249[ms]である。
乱数MR3-2の範囲は、乱数MR3-2を更新可能な数値の範囲であり、「0」~「65518」である。乱数MR3-2の大きさは、乱数MR3-2の更新範囲に含まれる乱数値の総数であり、乱数MR3-2の範囲となる「0」~「65518」に対応した「65519」である。乱数MR3-2は、その大きさが「65519」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR3-2は、その値を更新するために用いられる数値データのバイト数が「2」である。乱数MR3-2の最大値設定方法は、16ビットの乱数回路104Aに対応して設けられたレジスタの初期設定によるものである。乱数MR3-2の更新方法は、16ビットの乱数回路104Aを用いたハード更新によるものである。乱数MR3-2の更新条件は、16ビットの乱数回路104Aにおけるシステムクロック入力である。乱数MR3-2の取得条件は、始動入賞に対応したソフトウェアによる乱数バッファへの読み出しなどである。乱数MR3-2の周期は、139.774[ms]である。
乱数MR3-3の範囲は、乱数MR3-3を更新可能な数値の範囲であり、「0」~「240」である。乱数MR3-3の大きさは、乱数MR3-3の更新範囲に含まれる乱数値の総数であり、乱数MR3-3の範囲となる「0」~「240」に対応した「241」である。乱数MR3-3は、その大きさが「241」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR3-3は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR3-3の最大値設定方法は、8ビットの乱数回路104Bに対応して設けられたレジスタの初期設定によるものである。乱数MR3-3の更新方法は、8ビットの乱数回路104Bを用いたハード更新によるものである。乱数MR3-3の更新条件は、8ビットの乱数回路104Bにおけるシステムクロック入力である。乱数MR3-3の取得条件は、始動入賞に対応したソフトウェアによる乱数バッファへの読み出しなどである。乱数MR3-3の周期は、0.257[ms]である。
乱数MR3-4の範囲は、乱数MR3-4を更新可能な数値の範囲であり、「0」~「250」である。乱数MR3-4の大きさは、乱数MR3-4の更新範囲に含まれる乱数値の総数であり、乱数MR3-4の範囲となる「0」~「250」に対応した「251」である。乱数MR3-4は、その大きさが「251」であるので、更新範囲に含まれる乱数値の総数が素数である。乱数MR3-4は、その値を更新するために用いられる数値データのバイト数が「1」である。乱数MR3-4の最大値設定方法は、8ビットの乱数回路104Bに対応して設けられたレジスタの初期設定によるものである。乱数MR3-4の更新方法は、8ビットの乱数回路104Bを用いたハード更新によるものである。乱数MR3-4の更新条件は、8ビットの乱数回路104Bにおけるシステムクロック入力である。乱数MR3-4の取得条件は、始動入賞に対応したソフトウェアによる乱数バッファへの読み出しなどである。乱数MR3-4の周期は、0.268[ms]である。
乱数MR1-2および乱数MR2-1の更新方法であるソフト更新SA1は、ソフトウェアによる更新処理が実行されるごとに、前回の値を1加算するように更新可能である。このときに、更新後の値が乱数最大値を超えていれば、乱数最小値としての「0」に変更される。また、更新後の値が乱数初期値と一致した場合、対応する初期値となる乱数を用いて、現在の乱数値を設定し、新たな乱数初期値として格納する。例えば、乱数MR1-2について、更新後の値が乱数初期値と一致した場合、当り図柄用初期値となる乱数MR1-3を用いて、現在の乱数値を設定し、その乱数値を新たな乱数初期値として格納する。乱数MR2-1について、更新後の値が乱数初期値と一致した場合、普通図柄当り図柄用初期値となる乱数MR2-2を用いて、現在の乱数値を設定し、その乱数値を新たな乱数初期値として格納する。
乱数MR1-3および乱数MR2-2の更新方法であるソフト更新SA2は、ソフトウェアによる更新処理が実行されるごとに、前回の値を1加算するように更新可能である。このときに、更新後の値が乱数最大値を超えていれば、乱数最小値としての「0」に変更される。この場合に、ソフト更新SA1とは異なり、乱数初期値を用いないので、更新後の値は、前回の値を1加算したもの、または、乱数最小値である「0」のうち、いずれかとなる。
図10-6は、乱数回路104に含まれる16ビットの乱数回路104Aや8ビットの乱数回路104Bを用いて、乱数値を更新する場合の乱数更新周期を説明するための図である。ここでは、16ビットの乱数回路104Aに設けられたチャネルRL0~RL4により生成可能な乱数を、16ビット乱数RLnとする。また、8ビットの乱数回路104Bに設けられたチャネルRS0~RS4により生成可能な乱数を、8ビット乱数RSnとする。16ビットの乱数回路104Aにより更新可能な16ビット乱数RLnが一巡する周期は、その16ビット乱数RLnの最大値が2の累乗数を用いて表される特定最大値であるか否かに対応して、異なる関係式により決定される。8ビットの乱数回路104Bにより更新可能な8ビット乱数RSnが一巡する周期は、その8ビット乱数RSnの最大値が2の累乗数を用いて表される特定最大値であるか否かに対応して、異なる関係式により決定される。
図10-6(A)は、16ビットの乱数回路104Aにおける16ビット乱数周期設定例AKA21を示している。16ビット乱数周期は、16ビットの乱数回路104Aにより更新可能な16ビット乱数RLnが一巡する周期である。16ビット乱数周期設定例AKA21において、16ビット乱数RLnの最大値が、m=9~16のいずれかとした場合の2m-1に対応している場合に、その16ビット乱数列が一巡する周期は、カウントクロック周波数の逆数、すなわち、カウントクロック周期に比例する。そして、最大値を1加算した値、すなわち、16ビット乱数RLnの大きさを変数とした場合の1次関数になる。これに対し、16ビット乱数RLnの最大値が、m=9~16のいずれかとした場合の2m-1に対応していない場合に、その16ビット乱数列が一巡する周期は、カウントクロック周波数の逆数、すなわち、カウントクロック周期の32倍に比例する。そして、最大値を1加算した値、すなわち、16ビット乱数RLnの大きさを変数とした場合の1次関数になる。このように、16ビットの乱数回路104Aにより更新可能な16ビット乱数RLnは、その最大値が特定最大値である場合に、特定最大値以外である場合よりも、乱数更新周期が短くなり、すなわち、乱数値の更新速度が速くなる。
図10-6(B)は、8ビットの乱数回路104Bにおける8ビット乱数周期設定例AK22を示している。8ビット乱数周期は、8ビットの乱数回路104Bにより更新可能な8ビットの乱数RSnが一巡する周期である。8ビット乱数周期設定例AKA22において、8ビット乱数RSnの最大値が、m=5~8のいずれかとした場合の2m-1に対応している場合に、その8ビット乱数列が一巡する周期は、カウントクロック周波数の逆数、すなわち、カウントクロック周期に比例する。そして、最大値を1加算した値、すなわち、8ビット乱数RSnの大きさを変数とした場合の1次関数になる。これに対し、8ビット乱数RSnの最大値が、m=5~8のいずれかとした場合の2m-1に対応していない場合に、その8ビット乱数列が一巡する周期は、カウントクロック周波数の逆数、すなわち、カウントクロック周期の16倍に比例する。そして、最大値を1加算した値、すなわち、8ビット乱数RSnの大きさを変数とした場合の1次関数になる。このように、8ビットの乱数回路104Bにより更新可能な8ビット乱数RSnは、その最大値が特定最大値である場合に、特定最大値以外である場合よりも、乱数更新周期が短くなり、すなわち、乱数値の更新速度が速くなる。
図10-6(C)は、16ビットの乱数回路104Aおよび8ビットの乱数回路104Bにより更新可能な乱数値について比較した乱数値比較例AKA23を示している。16ビットの乱数回路104Aは、特別図柄判定用の乱数MR1-1と、ハズレ演出選択用の乱数MR3-2と、に対応する乱数値を更新可能である。8ビットの乱数回路104Bは、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、に対応する乱数値を更新可能である。
乱数MR1-1は、最大値が「65535」であり、m=16とした場合の2m-1に対応している。これにより、乱数MR1-1の周期は4.369[ms]となり、このときの更新速度は15000[回/ms]となる。乱数MR3-2は、最大値が「65518」であり、m=9~16のいずれとした場合の2m-1にも対応していない。これにより、乱数MR3-2の周期は139.774[ms]となり、このときの更新速度は469[回/ms]となる。乱数MR3-3は、最大値が「240」であり、m=5~8のいずれとした場合の2m-1にも対応していない。これにより、乱数MR3-3の周期は0.257[ms]となり、このときの更新速度は938[回/ms]となる。乱数MR3-4は、最大値が「250」であり、m=5~8のいずれとした場合の2m-1にも対応していない。これにより、乱数MR3-4の周期は0.268[ms]となり、このときの更新速度は938[回/ms]となる。
このように、16ビットの乱数回路104Aにより更新可能な遊技用乱数は、特別図柄判定用の乱数MR1-1と、ハズレ演出選択用の乱数MR3-2と、を含んでいる。これらの乱数MR1-1および乱数MR3-2は、いずれも数値データのバイト数が「2」であり、特定バイト数としての2バイトで構成される。乱数MR1-1の大きさは「65536」であり、乱数MR3-2の大きさは「65519」であるので、乱数MR1-1の更新範囲に含まれる乱数値の総数が特定数であるとした場合に、乱数MR3-2の更新範囲に含まれる乱数の総数が特定数よりも小さい所定数である。乱数MR1-1の更新速度は15000[回/ms]であり、乱数MR3-2の更新速度は469[回/ms]であるので、乱数MR1-1の方が乱数MR3-2よりも更新速度が速くなる。これにより、乱数値の同期発生を抑制して、適切な乱数値の更新が可能になる。
また、16ビットの乱数回路104Aにより更新可能な遊技用乱数は、ハズレ演出選択用の乱数MR3-2を含んでいる。8ビットの乱数回路104Bにより更新可能な遊技用乱数は、変動パターン種別選択用の乱数MR3-3と、変動パターン用の乱数MR3-4と、を含んでいる。これらの乱数MR3-2~MR3-4は、いずれも更新範囲に含まれる乱数値の総数が素数である。そして、乱数MR3-2の更新速度は469[回/ms]であるのに対し、乱数MR3-3、MR3-4の更新速度は938[回/ms]である。すなわち、乱数MR3-3、MR3-4の更新速度は、乱数MR3-2の更新速度の整数倍である2倍となっている。したがって、乱数MR3-2を第1乱数値とし、乱数MR3-3、MR3-4を第2乱数値とした場合に、第1乱数値は更新速度が第1速度であり、第2乱数値は更新速度が第1速度の整数倍となる第2速度である。そして、乱数MR3-2の更新範囲は「0」~「65518」であり、乱数MR3-3の更新範囲は「0」~「240」であり、乱数MR3-3の更新範囲は「0」~「250」なので、第1乱数値と第2乱数値とで、それぞれの更新範囲に含まれる乱数値の総数が異なり、いずれも更新範囲に含まれる乱数値の総数が素数である。これにより、乱数値の同期発生を抑制して、適切な乱数値の更新が可能になる。
CPU103の内部には、プログラムカウンタ、割込みレジスタ、スタックポインタ、インデックスレジスタ、フラグレジスタ、アドレスレジスタ、アキュムレータを含めた汎用レジスタといった、複数のレジスタが設けられている。インデックスレジスタ、フラグレジスタ、汎用レジスタは、メインレジスタとサブレジスタとが設けられてもよい。メインレジスタおよびサブレジスタに含まれるレジスタと、スタックポインタは、複数のレジスタバンクを構成可能に設けられてもよい。複数のレジスタバンクは、遊技プログラムを実行する場合に使用可能な領域内用の第1レジスタバンクと、非遊技プログラムを実行する場合に使用可能な領域外用の第2レジスタバンクと、を含んでもよい。これにより、例えば遊技プログラムと非遊技プログラムとを切り替えて実行する場合に、汎用レジスタなどの格納値をスタック領域に退避させたりスタック領域から復帰させたりする必要がなくなり、プログラム量や処理負担の増大を防止することができる。
プログラムカウンタは、CPU103が次に実行すべき命令のアドレス値を保持するためのものであり、PCレジスタともいう。プログラムカウンタの格納値は、各命令が実行されるごとに順次カウントアップされたり、分岐命令による分岐先のアドレス値が設定されたりする。割込みレジスタは、割込みベクタテーブルの上位アドレス値を保持可能であり、Iレジスタともいう。Iレジスタの格納値は、パチンコ遊技機1に対する電力供給の開始に対応して設定される。
スタックポインタは、遊技スタック領域や非遊技スタック領域に対応するアドレス値を保持可能であり、SPレジスタともいう。スタックポインタの格納値は、割込み発生、PUSH命令の実行、CALL命令やCALLF命令やRST命令といったサブルーチン呼出命令の実行などに対応して、プログラムカウンタを含めて予め定められたレジスタあるいは命令により指定されたレジスタにおける格納値もしくは即値を、退避して保持するための退避先アドレスを指定可能であり、この退避に伴い格納値を保持している格納領域の先頭アドレスを示す値に更新される。また、スタックポインタの格納値は、割込み処理の終了、POP命令の実行、サブルーチン処理の終了などに対応して、退避させていたレジスタの格納値を復帰させるための読出アドレスを指定可能であり、この復帰に伴い格納値の読出後に対応するアドレスを示す値に更新される。その他、スタックポインタの格納値は、LD命令などのロード命令により指定されたレジスタの格納値や即値を、設定可能である。
インデックスレジスタは、16ビットデータを格納可能な2バイトの記憶容量を有するIXレジスタとIYレジスタとを含む。アキュムレータはAレジスタともいう。その他に汎用レジスタは、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタなど、8ビットデータを格納可能な1バイトの記憶容量を有する複数のレジスタが含まれる。BレジスタおよびCレジスタは、16ビットデータを格納可能なペアレジスタのBCレジスタとして用いることができる。DレジスタおよびEレジスタは、16ビットデータを格納可能なペアレジスタのDEレジスタとして用いることができる。HレジスタおよびLレジスタは、16ビットデータを格納可能なペアレジスタのHLレジスタとして用いることができる。
CPU103の内部レジスタは、CPU103が実行する演算命令や転送命令などに対応して格納値を更新可能であり、プログラムアドレスやデータアドレスあるいは遊技制御用マイクロコンピュータ100が備える内蔵レジスタアドレスの指定、演算データや転送データの保持などに用いられる。
遊技制御用マイクロコンピュータ100において、CPU103にプログラムを実行させるための命令セットは、ロード命令などの転送命令、サブルーチン呼出命令、ジャンプ命令、その他、算術演算命令と論理演算命令とを含む演算命令、入出力命令などを含んで構成される。CPU103が実行可能な遊技プログラムや非遊技プログラムといったコンピュータプログラムは、これら各種命令を記述したプログラムコードとして予め用意され、ROM101に記憶されている。
ロード命令は、ROM101またはRAM102のメモリ領域や内蔵デバイスエリアから読み出したデータを、CPU103の内部レジスタに格納してセットする場合と、CPU103の内部レジスタにおける格納値を、RAM102のメモリ領域や内蔵デバイスエリアに書き込んでストアする場合と、オペランドにより指定された数値を即値として、CPU103の内部レジスタあるいはRAM102の記憶領域や内蔵デバイスエリアにセットまたはストアさせる場合とに、使用可能な転送命令である。ロード命令によりデータを転送する対象は、命令コードやオペランドに対応して特定可能であり、一般的に、データの転送元と転送先とが含まれる。ただし、オペランドにより即値が指定される場合に、データの転送元が含まれない。
ロード命令は、通常のLD命令と、特殊なLDQ命令と、特殊なLDF命令と、特殊なICPLD命令と、を含む。通常のLD命令は、通常転送命令ともいう。特殊なLDQ命令は、第1特殊転送命令ともいう。特殊なLDF命令は、第2特殊転送命令ともいう。特殊なICPLD命令は、第3特殊転送命令ともいう。
通常転送命令であるLD命令は、ROM101またはRAM102の記憶領域や内蔵デバイスエリアを対象としてデータを転送する場合に、上位アドレスおよび下位アドレスの双方を指定してデータを転送可能な通常転送命令である。また、通常転送命令であるLD命令は、ROM101またはRAM102の記憶領域や内蔵デバイスエリアを対象としてデータを転送する場合に、HLレジスタなどのペアレジスタをポインタとすることで、転送先または転送元のアドレスをポインタにより指定してデータを転送することができる。
第1特殊転送命令であるLDQ命令は、CPU103の内部レジスタに含まれる特別なレジスタであるQレジスタを用いて、下位アドレスのみを指定してデータを転送することができる。Qレジスタには、上位アドレスを示す格納値を予め設定しておき、LDQ命令により指定された下位アドレスと組み合わせることで、転送先または転送元のアドレスを特定してデータを転送することができる。
第1特殊転送命令であるLDQ命令は、通常転送命令であるLD命令よりも少ないプログラムコード量によりデータを転送することができる。ただし、Qレジスタの格納値を頻繁に変更するプログラムでは、かえって通常のLD命令よりもプログラムコード量が増大する場合がある。そこで、アドレスF000[H]~F0D7[H]の遊技ワーク領域や、アドレスFE00[H]~FEBF[H]の機能設定レジスタエリア、アドレスFF00[H]~FFFF[H]の機能制御レジスタエリアに、各種データを複数回転送する必要がある処理などに対応して、第1特殊転送命令であるLDQ命令を用いたデータの転送を実行可能であればよい。
第2特殊転送命令であるLDF命令は、特定アドレス範囲の記憶データについて、下位アドレスのみを指定してデータを転送することができる。特定アドレス範囲は、例えばアドレス1200[H]~1DFF[H]の範囲である。そこで、ROM101の遊技データ領域を、この特定アドレス範囲に含まれるように予め設定しておき、LDF命令により指定された下位アドレスと組み合わせることで、転送元のアドレスを特定してデータを転送することができる。なお、ROM101の遊技データ領域は読出専用であり書込不可なので、遊技データ領域のアドレスが転送先のアドレスに指定されることはない。
第2特殊転送命令であるLDF命令は、通常転送命令であるLD命令よりも少ないプログラムコード量によりデータを転送することができる。ただし、特定アドレス範囲が仕様により固定されているので、例えばROM101の遊技データ領域といった、使用頻度が高いデータの記憶領域を特定アドレス範囲に含まれるように設定して、第2特殊転送命令であるLDF命令を用いたデータの転送を実行可能であればよい。
第3特殊転送命令であるICPLD命令は、更新対象値と比較判定値とを比較し、更新対象値が比較判定値未満である場合に更新対象値を1加算するように更新するのに対し、更新対象値が比較判定値以上である場合に更新対象値を最小値である「0」に変更する。更新対象値は、ポインタが指すアドレスの記憶データが示す値であってもよいし、レジスタの格納値であってもよい。比較判定値は、レジスタの格納値であってもよいし、ICPLD命令のオペランドが示す値であってもよい。
このように、第3特殊転送命令であるICPLD命令は、更新対象値を比較判定値と比較すること、比較の結果が比較判定値未満であれば更新対象値を1加算すること、比較の結果が比較判定値以上であれば更新対象値を最小値に変更すること、を含む単一の比較加算命令である。
なお、転送命令のオペランドによる即値などを用いて、CPU103の内部レジスタにおける格納値を設定することは、セットともいう。ROM101の遊技データ領域やRAM102の遊技ワーク領域における記憶データを読み出して、CPU103の内部レジスタに格納することは、ロードともいう。CPU103の内部レジスタにおける格納値を、RAM102の遊技ワーク領域に設けられたバッファ、カウンタ、タイマ、その他の任意の記憶領域に記憶させることは、ストアともいう。
図10-7は、電力供給開始対応処理P_POWER_ONの一例を示すフローチャートである。電力供給開始対応処理P_POWER_ONは、図4に示された遊技制御用のメイン処理P_MAINから呼出可能な処理に含まれ、パチンコ遊技機1における電力供給の開始に対応して、ステップS1にて実行可能である。CPU103は、電力供給開始対応処理P_POWER_ONを実行した場合、割込み禁止に設定した後に(ステップAKS1)、領域内スタックポインタ初期値を、スタックポインタにセットする(ステップAKS2)。領域内スタックポインタ初期値は、遊技スタック領域に退避データが格納されていない初期状態に対応して、遊技スタック領域の最終アドレスに1加算されたアドレスF200[H]であればよい。
ステップAKS2に続いて、CPU103の内部レジスタを設定するための転送命令により、接続確認信号オン出力値をセットする(ステップAKS3)。接続確認信号オン出力値は、接続確認信号がオン状態であることを示す値であり、例えば00[H]であればよい。このときに、CPU103の内部レジスタに含まれるQレジスタを設定するための転送命令により、機能制御レジスタ上位アドレスをQレジスタにセットする(ステップAKS4)。機能制御レジスタ上位アドレスは、図10-4に示された設定例AKA02における機能制御レジスタエリアの上位アドレスを示す値FF[H]である。こうして、機能制御レジスタ上位アドレスをセットすると、Qレジスタの格納値により示される上位アドレスを用いた転送命令により、接続確認信号オン出力値をストアする(ステップAKS5)。この場合に、転送先の下位アドレスは、転送命令のオペランドにより指定可能である。Qレジスタの格納値は、ステップAKS4により機能制御レジスタエリアの上位アドレスに設定されている。したがって、下位アドレスを指定する2バイトの特殊なLDQ命令といった、指定アドレスの記憶領域に書き込むための転送命令により、機能制御レジスタエリアにおける指定アドレスの機能制御レジスタに、ステップAKS3でセットされた接続確認信号オン出力値を格納することができる。ステップAKS5において、接続確認信号オン出力値は、機能制御レジスタエリアに設けられた出力ポート番号「1」レジスタにストアされる。これにより、主基板11から払出制御基板に対して伝送される接続確認信号がオン状態に設定される。
ステップAKS5により接続確認信号をオン状態に設定すると、Qレジスタの格納値により示される上位アドレスを用いた転送命令により、SCU0コマンドレジスタクリア出力値をストアする(ステップAKS6)。この場合に、転送先の下位アドレスは、転送命令のオペランドにより指定可能である。Qレジスタの格納値は、ステップAKS4により機能制御レジスタエリアの上位アドレスに設定されている。SCU0コマンドレジスタクリア出力値は、転送命令のオペランドにより指定可能である。したがって、下位アドレスおよびSCU0コマンドレジスタクリア出力値を指定する3バイトの特殊なLDQ命令といった、指定アドレスの記憶領域に書き込むための転送命令により、機能制御レジスタエリアにおける指定アドレスの機能制御レジスタに、SCU0コマンドレジスタクリア出力値を格納することができる。ステップAKS6において、SCU0コマンドレジスタクリア出力値は、図10-4に示された設定例AKA02における機能制御レジスタエリアのアドレスFF28[H]に設けられたSCU0コマンドレジスタにストアされる。これにより、シリアル通信回路139のチャネルSCU0を用いたシリアル通信機能が初期状態に制御される。
ステップAKS6の後に、Qレジスタの格納値により示される上位アドレスを用いた転送命令により、SCU1コマンドレジスタクリア出力値をストアする(ステップAKS7)。この場合に、転送先の下位アドレスは、転送命令のオペランドにより指定可能である。Qレジスタの格納値は、ステップAKS4により機能制御レジスタエリアの上位アドレスに設定されている。SCU1コマンドレジスタクリア出力値は、転送命令のオペランドにより指定可能である。したがって、下位アドレスおよびSCU0コマンドレジスタクリア出力値を指定する3バイトの特殊なLDQ命令といった、指定アドレスの記憶領域に書き込むための転送命令により、機能制御レジスタエリアにおける指定アドレスの機能制御レジスタに、SCU1コマンドレジスタクリア出力値を格納することができる。ステップAKS7において、SCU1コマンドレジスタクリア出力値は、図10-4に示された設定例AKA02における機能制御レジスタエリアのアドレスFF2C[H]に設けられたSCU1コマンドレジスタにストアされる。これにより、シリアル通信回路139のチャネルSCU1を用いたシリアル通信機能が初期状態に制御される。
これらのシリアル通信機能を初期状態に制御すると、CPU103の内部レジスタを設定するための転送命令により、割込みベクタテーブル上位アドレスをセットする(ステップAKS8)。割込みベクタテーブル上位アドレスは、ROM101の遊技プログラム領域に設けられた割込みベクタテーブルの上位アドレスである。割込みベクタテーブルは、例えばタイマ割込みの発生に対応して実行される遊技制御用のタイマ割込み処理P_PCTについて、割込み順位に対応したテーブル位置に先頭アドレスが記憶される。このような割込みベクタテーブル上位アドレスは、CPU103の内部レジスタを設定するための転送命令により、Iレジスタにセットされる(ステップAKS9)。
ステップAKS9の次に、Qレジスタの格納値を1減算するように更新する(ステップAKS10)。Qレジスタの格納値は、ステップAKS4により機能制御レジスタエリアの上位アドレスに設定されていた。この格納値を1減算した場合に、図10-3に示された設定例AKA01における機能設定レジスタエリアの上位アドレスが、Qレジスタに格納された状態になる。こうして、機能制御レジスタエリアに設けられた機能制御レジスタの設定が行われた後に、機能設定レジスタエリアに設けられた機能設定レジスタを設定可能にする。このときに、ポインタを設定するための転送命令により、機能設定レジスタ格納値テーブルアドレスをセットする(ステップAKS11)。機能設定レジスタ格納値テーブルアドレスは、ROM101の遊技データ領域に記憶された機能設定レジスタ格納値テーブルのアドレスである。そして、ポインタが指すアドレスの記憶データを読み出すための転送命令により、処理数をロードする(ステップAKS12)。また、機能設定レジスタストア命令により、機能設定レジスタ格納値テーブルを用いた設定が行われる(ステップAKS13)。機能設定レジスタストア命令は、ポインタが指すアドレスを1加算した場合のアドレスにおける記憶データにより機能設定レジスタを特定すること、ポインタが指すアドレスを2加算した場合のアドレスにおける記憶データが示す機能設定レジスタ設定値を特定された機能設定レジスタにストアすること、ポインタの格納値を2加算すること、処理数を1減算すること、を処理数が0になるまで繰り返す命令であればよい。こうして、機能設定レジスタの初期設定を可能にする。
ステップAKS13により機能設定レジスタの初期設定が完了すると、RWMアクセスプロテクトレジスタにアクセス許可出力値をストアする(ステップAKS14)。RWMアクセスプロテクトレジスタのアクセス許可出力値は、CPU103の内部レジスタを設定するための転送命令により、例えば01[H]がセットされる。このようなアクセス許可出力値は、機能設定レジスタエリアにおける先頭アドレスの記憶領域に書き込むための転送命令により、RWMアクセスプロテクトレジスタにストアされる。RWMアクセスプロテクトレジスタは、アクセス許可出力値である01[H]の設定に対応して、RWMであるRAM102のアクセス許可とする機能制御を可能にする。したがって、ステップAKS14によりアクセス許可出力値がRWMアクセスプロテクトレジスタにストアされることで、パチンコ遊技機1における電力供給の開始に対応して、RAM102に対するアクセスが許可される。
ステップAKS14の後に、RAM102の作業領域となる遊技ワーク領域の上位アドレスをQレジスタにセットしてから(ステップAKS15)、電力供給開始対応処理P_POWER_ONが終了する。このように、ステップAKS14によりRAM102に対するアクセスが許可された後に、RAM102における遊技ワーク領域の上位アドレスを示す値F0[H]がQレジスタに設定される。ステップAKS15の以後に、第1特殊転送命令であるLDQ命令を実行すると、Qレジスタの格納値であるF0[H]をオペランドにより指定せずに、転送先または転送元の上位アドレスとして用いることができる。これにより、RAM102における遊技ワーク領域を用いた処理のプログラム容量を削減して、遊技機の商品性を高めることができる。
図10-8は、電力供給開始対応処理P_POWER_ONにて用いられる機能設定レジスタ格納値テーブルの構成例AKT01を示している。電力供給開始対応処理P_POWER_ONでは、例えばステップAKS11によりアドレスがセットされた機能設定レジスタ格納テーブルを用いて、ステップAKS12により処理数がロードされ、ステップAKS13の機能設定レジスタストア命令により各機能設定レジスタの格納値がストアされる。構成例AKT01の機能設定レジスタ格納値テーブルは、先頭アドレス1200[H]に処理数を示す値18[H]が記憶されている。ステップAKS12では、このテーブルデータを読み出して、CPU103の内部レジスタにロードされる。その後、ステップAKS13の機能設定レジスタストア命令は、機能設定レジスタの下位アドレスと格納値とを組み合わせたテーブルデータを順次に読み出し、それぞれの下位アドレスに対応する機能設定レジスタに格納値をストア可能にする。
構成例AKT01の機能設定レジスタ格納値テーブルでは、下位アドレスを示す値が小さい機能設定レジスタの格納値を先に設定可能であり、下位アドレスを示す値が大きい機能設定レジスタの格納値を後に設定可能であるように、テーブルデータが構成されている。これにより、機能設定レジスタエリアでは、先頭アドレスに近い機能設定レジスタの格納値が先に設定され、最終アドレスに近い機能設定レジスタの格納値が後に設定される順番で、それぞれの機能設定レジスタの格納値が設定される。これにより、機能設定レジスタの格納値を示すデータの設計や管理が容易になり、遊技機の商品性を高めることができる。
16ビットの乱数回路104Aは、4つのチャネルRL0~RL3に対応して、最大値設定レジスタに乱数最大値を示す格納値が設定されたチャネルから更新を開始可能になる。8ビットの乱数回路104Bは、4つのチャネルRS0~RS3に対応して、最大値設定レジスタに乱数最大値を示す格納値が設定されたチャネルから更新を開始可能になる。図10-3に示された設定例AKA01の機能設定レジスタエリアは、アドレスFE3F[H]~FE40[H]のRL0最大値設定レジスタと、アドレスFE41[H]~FE42[H]のRL1最大値設定レジスタと、アドレスFE43[H]~FE44[H]のRL2最大値設定レジスタと、アドレスFE45[H]~FE46[H]のRL3最大値設定レジスタと、が16ビットの乱数回路104Aにおける4つのチャネルRL0~RL3に対応して設けられている。また、この機能設定レジスタエリアは、アドレスFE47[H]のRS0最大値設定レジスタと、アドレスFE48[H]のRS1最大値設定レジスタと、アドレスFE49[H]のRS2最大値設定レジスタと、アドレスFE4A[H]のRS3最大値設定レジスタと、が8ビットの乱数回路104Bにおける4つのチャネルRS0~RS4に対応して設けられている。構成例AKT01の機能設定レジスタ格納値テーブルは、これらの最大値設定レジスタのうちで、RL0最大値設定レジスタの格納値を最初に設定し、RL2最大値設定レジスタの格納値を次に設定し、RS1最大値設定レジスタの格納値を次に設定し、RS2最大値設定レジスタの格納値を次に設定し、RS3最大値設定レジスタを最後に設定するように、テーブルデータが構成されている。したがって、16ビットの乱数回路104AにおけるチャネルRL0の更新が最初に開始され、16ビットの乱数回路104AにおけるチャネルRL2の更新が次に開始され、8ビットの乱数回路104BにおけるチャネルRS1の更新が次に開始され、8ビットの乱数回路104BにおけるチャネルRS2の更新が次に開始され、8ビットの乱数回路104BにおけるチャネルRS3の更新が最後に開始される。このように、乱数最大値が設定された乱数値から順に更新を開始するので、乱数値の更新を開始するタイミングにより乱数値の不確定性が高められ、処理負担を軽減して、適切な乱数値の更新が可能になる。
電力供給開始対応処理P_POWER_ONは、パチンコ遊技機1における電力供給の開始にもとづいて実行される起動時処理となる遊技制御用のメイン処理P_MAINから呼出可能な処理に含まれ、構成例AKT01の機能設定レジスタ格納値テーブルを用いて、機能に関する格納領域としての機能設定レジスタエリアに格納値を設定可能にする。このとき、16ビットの乱数回路104Aや8ビットの乱数回路104Bによって更新される乱数値の乱数最大値を設定できるので、電力供給開始対応処理P_POWER_ONは、最大値設定処理として実行可能である。16ビットの乱数回路104Aは、特定バイト数としての2バイトに対応する16ビットで構成される第1乱数値を更新可能である。8ビットの乱数回路104Bは、特定バイト数よりも小さい所定バイト数としての1バイトに対応する8ビットで構成される第2乱数値を更新可能である。そして、電力供給開始対応処理P_POWER_ONを実行する場合、構成例AKT01の機能設定レジスタ格納値テーブルを用いて、16ビットの乱数回路104Aにより更新可能な第1乱数値の乱数最大値を設定した後に、8ビットの乱数回路104Bにより更新可能な第2乱数値の乱数最大値を設定する。このように、特定バイト数の第1乱数値に関する設定の後に所定バイト数の第2乱数値に関する設定を行うことにより第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
図10-9は、RWMアクセスプロテクトレジスタの構成例を示している。RWMアクセスプロテクトレジスタは、図10-4に示された機能制御レジスタエリアの構成例AKA02において、アドレスFF00[H]に設けられる。RWMアクセスプロテクトレジスタの格納値は、RWMとなるRAM102のアクセス禁止またはアクセス許可に対応して、異なる値になる。
図10-9(A)は、RWMアクセスプロテクトレジスタのビット構成例を示している。RWMアクセスプロテクトレジスタは、ビット番号が「0」から「7」までの8ビットデータRAPを記憶可能であり、ビット番号「0」のビットデータRAP0を、0[B]または1[B]に設定可能である。これに対し、ビット番号「1」からビット番号「7」までのビットデータは、常に0[B]に設定され、「1」には設定されることがない固定値を示す。
図10-9(B)は、RWMアクセスプロテクトレジスタのビットデータRAPの使用例を説明するための図である。ビットデータRAPにおいて、ビット番号「0」のビットデータRAP0は、RWMアクセス制御ビットであり、0[B]の設定によりRWMはアクセス禁止となり、1[B]の設定によりRWMはアクセス許可となる。パチンコ遊技機1における電力供給の開始に対応して、ビット番号「0」のビットデータRAP0は、初期値である0[B]に設定される。これにより、パチンコ遊技機1における電力供給の開始に対応して、RWMとなるRAM102へのアクセスを禁止することができる。
図10-10は、電源断処理P_POWER_OFFの一例を示すフローチャートである。電源断処理P_POWER_OFFは、図5に示された遊技制御用のタイマ割込み処理P_PCTから呼出可能な処理に含まれ、タイマ割込みが発生する毎に、ステップS51にて実行可能である。CPU103は、電源断処理P_POWER_OFFを実行した場合に、ポインタを設定するための転送命令により、バックアップ監視タイマアドレスをセットする(ステップAKS31)。バックアップ監視タイマアドレスは、RAM102の遊技ワーク領域に設けられたバックアップ監視タイマのアドレスである。
入力ポート番号「3」を入力する(ステップAKS32)。入力ポート番号「3」は、ポート番号として「3」が割り当てられた入力ポートであり、電源確認信号入力ビットが含まれている。そこで、入力ポート番号「3」の入力データと、電源確認信号入力ビットのビット位置に対応するチェックデータと、を用いた論理積演算を実行する。このとき、ゼロフラグがオンであるか否かにより、電源確認信号入力ビットが「0」であるか否かを判定する(ステップAKS33)。電源確認信号入力ビットは、そのビット値が「0」に対応した0[B]である場合に電源確認信号がオフ状態であることを示し、そのビット値が「1」に対応した1[B]である場合に電源確認信号がオン状態であることを示す。
電源確認信号入力ビットが「0」ではなく「1」である場合に(ステップAKS33;No)、ポインタが指すアドレスの記憶データを更新可能な転送命令により、バックアップ監視タイマクリアデータをストアする(ステップAKS34)。ステップAKS34では、バックアップ監視タイマにクリアデータをストアすることで、電源確認信号がオン状態の場合に、電源断判定中以外であることに対応して、バックアップ監視タイマをクリアすることができる。
ステップAKS33に対応して電源確認信号入力ビットが「0」である場合に(ステップAKS33;Yes)、バックアップ監視タイマによる計時値を1加算するように更新する(ステップAKS35)。また、ポインタが指すアドレスの記憶データを読み出すための転送命令により、バックアップ監視タイマをロードする(ステップAKS36)。そして、バックアップ監視タイマによる計時値と、バックアップ判定時間に対応する判定値と、を比較可能な演算リターン命令により(ステップAKS37)、バックアップ監視タイマがバックアップ判定時間を示していないことを確認する(ステップAKS38)。この演算リターン命令は、バックアップ監視タイマによる計時値と、バックアップ判定時間に対応する判定値と、が異なる場合にオフ状態となるゼロフラグに対応して、電源断処理を終了して特別図柄プロセス処理への復帰を可能にする。こうして、バックアップ監視タイマがバックアップ判定時間を示していない場合に(ステップAKS38;Yes)、電源断処理が終了する。
ステップAKS38に対応してバックアップ監視タイマがバックアップ判定時間を示している場合に(ステップAKS38;No)、チェックサム算出処理P_SUM_CALCを実行する(ステップAKS39)。ステップAKS39のチェックサム算出処理P_SUM_CALCは、図4に示された遊技制御用のメイン処理P_MAINにおいて、ステップS2のRWMチェック処理P_RWM_CHKに含まれるチェックサム算出処理と共通の処理であればよい。このように、パチンコ遊技機1における電力供給の開始と停止とに対応して、共通となるチェックサム算出処理を実行することで、RAM102の遊技ワーク領域における記憶内容が変更なく保持されたか否かにより、バックアップデータによる復旧の可否を判定可能になる。ステップAKS39のチェックサム算出処理P_SUM_CALCにより作成されたチェックサムデータは、ポインタが指すアドレスの記憶領域に書き込むための転送命令により、チェックサムバッファにストアされる(ステップAKS40)。
ステップAKS40の次に、排他的論理和演算命令により、クリアデータを出力値データにセットする(ステップAKS41)。この排他的論理和演算命令は、単一のレジスタを対象として格納値の排他的論理和を演算することにより、すべてのビット値が同一値どうしの排他的論理和になるので、その格納値を00[H]のクリアデータに初期化可能である。このようなクリアデータは、機能設定レジスタエリアにおける先頭アドレスの記憶領域に書き込むための転送命令により、RWMアクセスプロテクトレジスタにストアされる(ステップAKS42)。RWMアクセスプロテクトレジスタは、クリアデータである00[H]の設定に対応して、RWMであるRAM102のアクセス禁止とする機能制御を可能にする。したがって、ステップAKS42によりクリアデータがRWMアクセスプロテクトレジスタにストアされることで、パチンコ遊技機1における電力供給の停止に対応して、RAM102に対するアクセスが禁止される。
ステップAKS42の後に、出力ポート番号「0」から「10」までをクリアする(ステップAKS43)。出力ポート番号「0」から「10」までは、ポート番号が「0」から「10」までの出力ポートであり、遊技制御用マイクロコンピュータ100における全部の出力ポートである。したがって、ステップAKS43により、パチンコ遊技機1における電力供給の停止に対応して、遊技制御用マイクロコンピュータ100における全部の出力ポートがクリア状態に設定される。このとき、CPU103の内部レジスタを設定するための転送命令により、接続確認信号オフ出力値をセットする(ステップAKS44)。接続確認信号オフ出力値は、接続確認信号がオフ状態であることを示す値であり、例えば01[H]であればよい。このような接続確認信号オフ出力値は、機能制御レジスタエリアにおける指定アドレスの記憶領域に書き込むための転送命令により、出力ポート番号「1」レジスタにストアされる(ステップAKS45)。これにより、主基板11から払出制御基板に対して伝送される接続確認信号がオフ状態に設定される。
ステップAKS45に続いて、CPU103の内部レジスタを設定するための転送命令により、PTC0割込み禁止出力値をセットする(ステップAKS46)。PTC0割込み禁止出力値は、タイマ回路136のチャネルPTC0を用いたタイマ割込みの発生を、禁止状態に設定するための出力値である。このPTC0割込み禁止出力値は、機能設定レジスタエリアにおける指定アドレスの機能設定レジスタに書き込むための転送命令により、PTC0制御レジスタにストアされる(ステップAKS47)。PTC0制御レジスタは、タイマ回路136のチャネルPTC0を用いた計時機能の使用状態を設定可能である。ステップAKS47では、ステップAKS46によりセットされたPTC0割込み禁止出力値がPTC0制御レジスタにストアされることで、パチンコ遊技機1における電力供給の停止に対応して、遊技制御用のタイマ割込みが禁止状態に設定される。
こうしたバックアップ判定時間の経過に対応した設定が行われると、ループ処理の実行による待機状態に移行する。この待機状態において、入力ポート番号「3」を入力し(ステップAKS48)、電源確認信号入力ビットが「0」であるか否かを判定する(ステップAKS49)。電源確認信号がオフ状態に対応して、電源確認信号入力ビットが「0」である場合に(ステップAKS49;Yes)、ステップAKS48に戻るループ処理を継続させる。これにより、パチンコ遊技機1における電力供給の停止に対応して、電源断による動作停止までの待機状態を維持することで、不都合な記憶データの変更やCPU103による処理の暴走を防止可能にする。
ステップAKS49に対応して電源確認信号入力ビットが「1」であり「0」ではない場合に(ステップAKS49;No)、電源断復旧時ベクタテーブルアドレスをスタックポインタにセットしてから(ステップAKS50)、割込みリターン命令により、電源断処理P_POWER_OFFを終了させる。電源断復旧時ベクタテーブルアドレスは、ROM101の遊技プログラム領域に設けられた電源断復旧時ベクタテーブルのアドレスである。割込みリターン命令は、スタックポインタをポインタとして用いて、スタックポインタの格納値で指定されるアドレスが示す記憶領域の記憶データを、プログラムカウンタに設定可能である。例えば、スタックポインタの格納値で指定されるアドレスが示す記憶領域の記憶データを、プログラムカウンタの下位バイトに設定し、スタックポインタの格納値を1加算した値で指定されるアドレスが示す記憶領域の記憶データを、プログラムカウンタの上位バイトに設定する。
図10-11は、電源断処理P_POWER_OFFに関するデータ構成の使用例を説明するための図である。電源断処理P_POWER_OFFでは、例えばステップAKS38によりバックアップ監視タイマの計時値を用いた分岐処理が実行され、ステップAKS40によりチェックサムバッファを用いてチェックサムデータが保存される。また、ステップAKS50により電源断復旧時ベクタテーブルアドレスを設定することで、パチンコ遊技機1における電力供給の停止が検知された後に動作停止せず、正常な電力供給が再開された場合に、遊技制御用のプログラムを先頭から実行可能にする。このように、電源断処理P_POWER_OFFは、バックアップ監視タイマ、チェックサムバッファ、電源断復旧時ベクタテーブルを用いて、パチンコ遊技機1の電力供給が停止される場合の制御を可能にする。
図10-11(A)は、バックアップデータエリアとなる記憶領域の構成例AKB01を示している。構成例AKB01のバックアップデータエリアは、RAM102の遊技ワーク領域における記憶データをバックアップする場合に使用されるバックアップ設定用データを記憶可能である。このバックアップデータエリアは、アドレスF000[H]のバックアップ監視タイマと、アドレスF0DE[H]のチェックサムバッファと、を含んでいる。アドレスF000[H]は遊技ワーク領域の先頭アドレスであり、アドレスF0DE[H]は遊技ワーク領域の最終アドレスである。このように、遊技ワーク領域の先頭アドレスと最終アドレスにバックアップデータエリアを設けることにより、RAM102の遊技ワーク領域における記憶データの適切なバックアップを可能にする。
図10-11(B)は、電源断復旧時ベクタテーブルの構成例AKT11を示している。構成例AKT11の電源断復旧時ベクタテーブルは、正常な電力供給が再開された場合の割込みリターン命令に対応して、電源断処理からの復帰先アドレスを指定可能である。電源断復旧時ベクタテーブルは、ROM101の遊技プログラム領域におけるアドレス0016[H]に記憶された下位アドレス指定データ00[H]と、ROM101の遊技プログラム領域におけるアドレス0017[H]に記憶された上位アドレス指定データ00[H]と、をテーブルデータとして含んで構成される。電源断処理P_POWER_OFFのステップAKS50では、電源断復旧時ベクタテーブルアドレスとして、アドレス0016[H]を示すデータがスタックポインタにセットされる。その後、割込みリターン命令により、プログラムカウンタの格納値が0000[H]に設定されて処理を復帰させることで、遊技制御用のメイン処理P_MAINを先頭から実行可能にする。
図10-12は、乱数更新処理P_RANDOMの一例を示すフローチャートである。乱数更新処理P_RANDOMは、図5に示された遊技制御用のタイマ割込み処理P_PCTから呼出可能な処理に含まれ、例えば4msといった、所定時間の経過による定期的なタイマ割込みの発生に対応して、ステップS56にて実行可能である。その一方で、乱数更新処理P_RANDOMは、図4に示された遊技制御用のメイン処理P_MAINから呼出可能な処理に含まれず、ステップS7の後にタイマ割込みが発生するまで繰り返されるループ処理にて実行されることがない。したがって、乱数更新処理P_RANDOMは、所定時間の経過によるタイマ割込みに対応して実行可能な第1処理に含まれるものの、その第1処理が実行されるまで繰り返し実行可能な第2処理には含まれない。また、乱数更新処理P_RANDOMは、遊技の進行を制御する遊技制御用のタイマ割込み処理P_PCTにおいて、呼び出されて実行可能であるものの、パチンコ遊技機1における電力供給の開始にもとづいて実行される遊技制御用のメイン処理P_MAINにおいて、ステップS1の電力供給開始対応処理P_POWER_ONなどの起動時処理の後に、繰り返されるループ処理としての待機時処理では呼び出されず実行不可である。
乱数更新処理P_RANDOMは、Bレジスタ、DEレジスタ、HLレジスタといった、CPU103の内部レジスタを用いて、当り図柄用の乱数MR1-2や普通図柄当り図柄用の乱数MR2-1について、それらの値を示す数値データを更新可能にする。当り図柄用の乱数MR1-2は、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bにおける特別図柄の可変表示である特図ゲームに対応して、特別図柄の表示結果となる確定特別図柄の決定に用いられる。普通図柄当り図柄用の乱数MR2-1は、普通図柄表示器20における普通図柄の可変表示である普図ゲームに対応して、普通図柄の表示結果である確定普通図柄の決定に用いられる。乱数更新処理P_RANDOMは、当り図柄用の乱数MR1-2を更新する場合と普通図柄当り図柄用の乱数MR2-1を更新する場合とで、共通となる内部レジスタとして、Bレジスタ、DEレジスタ、HLレジスタを用いて、それぞれの乱数値を更新可能である。
CPU103は、乱数更新処理P_RANDOMを実行した場合に、乱数ポインタとして用いるHLレジスタを設定するための転送命令により、当り図柄用乱数カウンタアドレスをセットする(ステップAKS61)。当り図柄用乱数カウンタアドレスは、RAM102の遊技ワーク領域に設けられた当り図柄用乱数カウンタのアドレスである。乱数ポインタは、更新対象乱数値に対応した乱数カウンタのアドレスを格納可能であり、格納値の設定により更新対象乱数値を指定可能になる。ステップAKS61では、LDQ命令により当り図柄用乱数カウンタのアドレスを乱数ポインタに格納することで、当り図柄用の乱数MR1-2を、更新対象乱数値として設定することができる。
ステップAKS61に続いて、乱数最大値レジスタとして用いるBレジスタを設定するための転送命令により、当り図柄用乱数最大判定値に対応する乱数最大値をセットする(ステップAKS62)。乱数最大値レジスタは、更新対象乱数値が取り得る最大値を格納可能であり、格納値の設定により乱数最大値を指定可能になる。ステップAKS62では、当り図柄用の乱数MR1-2について、例えば「199」に対応するC7[H]といった、乱数MR1-2の更新範囲に含まれる最大値をLD命令により乱数最大値レジスタに格納する。これにより、ステップAKS61において更新対象乱数値とした乱数MR1-2の乱数最大値を設定することができる。
ステップAKS62の次に、初期値ポインタとして用いるDEレジスタを設定するための転送命令により、当り図柄用乱数初期値データバッファアドレスをセットする(ステップAKS63)。当り図柄用乱数初期値データバッファアドレスは、RAM102の遊技ワーク領域に設けられた当り図柄用乱数初期値データバッファのアドレスである。初期値ポインタは、更新対象乱数値に対応した乱数初期値データバッファのアドレスを格納可能であり、格納値の設定により乱数初期値の取得や変更を可能にする。ステップAKS63では、LDQ命令により当り図柄用乱数初期値データバッファのアドレスを初期値ポインタに格納することで、ステップAKS61により更新対象乱数とした乱数MR1-2に対応して、乱数初期値を取得可能および変更可能に設定する。続いて、サブルーチンの呼出命令により、初期値変更乱数更新処理P_RANCPを実行する(ステップAKS64)。ステップAKS64の初期値変更乱数更新処理P_RANCPは、ステップAKS61~AKS63による設定にもとづいて、更新対象乱数値である当り図柄用の乱数MR1-2の更新と、乱数初期値の変更と、を実行可能にする。
ステップAKS64における初期値変更乱数更新処理P_RANCPの後に、乱数ポインタとして用いるHLレジスタを設定するための転送命令により、普通図柄当り図柄用乱数カウンタアドレスをセットする(ステップAKS65)。普通図柄当り図柄用乱数カウンタアドレスは、RAM102の遊技ワーク領域に設けられた普通図柄当り図柄用乱数カウンタのアドレスである。ステップAKS65では、LDQ命令により普通図柄当り図柄用乱数カウンタのアドレスを乱数ポインタに格納することで、普通図柄当り図柄用の乱数MR2-1を、更新対象乱数値として設定することができる。
ステップAKS65に続いて、乱数最大値レジスタとして用いるBレジスタを設定するための転送命令により、普通図柄当り図柄用乱数最大判定値に対応する乱数最大値をセットする(ステップAKS66)。ステップAKS66では、普通図柄当り図柄用の乱数MR2-1について、例えば最大値「198」に対応するC6[H]といった、乱数MR2-1の更新範囲に含まれる最大値をLD命令により乱数最大値レジスタに格納する。これにより、ステップAKS65において更新対象乱数値とした乱数MR2-1の乱数最大値を設定することができる。
ステップAKS66の次に、初期値ポインタとして用いるDEレジスタを設定するための転送命令により、普通図柄当り図柄用乱数初期値データバッファアドレスをセットする(ステップAKS67)。普通図柄当り図柄用乱数初期値データバッファアドレスは、RAM102の遊技ワーク領域に設けられた普通図柄当り図柄用乱数初期値データバッファのアドレスである。ステップAKS67では、LDQ命令により普通図柄当り図柄用乱数初期値データバッファのアドレスを初期値ポインタに格納することで、ステップAKS65により更新対象乱数値とした乱数MR2-1について、乱数初期値を取得可能および変更可能に設定する。続いて、ステップAKS64と共通であるサブルーチンの呼出命令により、初期値変更乱数更新処理P_RANCPを実行する(ステップAKS68)。ステップAKS68の初期値変更乱数更新処理P_RANCPは、ステップAKS65~AKS67による設定にもとづいて、更新対象乱数値である普通図柄当り図柄用の乱数MR2-1の更新と、乱数初期値の変更と、を実行可能にする。
図10-13は、乱数更新処理P_RANDOMに関するデータ構成の使用例を説明するための図である。乱数更新処理P_RANDOMでは、ステップAKS61により乱数ポインタにアドレスをセットした当り図柄用乱数カウンタと、ステップAKS63により初期値ポインタにアドレスをセットした当り図柄用乱数初期値データバッファと、を用いてステップAKS64の初期値変更乱数更新処理P_RANCPが実行される。また、乱数更新処理P_RANDOMでは、ステップAKS65により乱数ポインタにアドレスをセットした普通図柄当り図柄用乱数カウンタと、ステップAKS67により初期値ポインタにアドレスをセットした普通図柄当り図柄用乱数初期値データバッファと、を用いてステップAKS68の初期値変更乱数更新処理P_RANCPが実行される。当り図柄用乱数カウンタは、特別図柄用乱数バッファエリアに設けられ、当り図柄用の乱数MR1-2に対応する数値データを記憶可能である。当り図柄用乱数初期値データバッファは、当り図柄用乱数データエリアに設けられ、乱数MR1-2の乱数初期値に対応する数値データを記憶可能である。普通図柄当り図柄用乱数カウンタは、当り図柄用乱数データエリアに設けられ、普通図柄当り図柄用の乱数MR2-1に対応する数値データを記憶可能である。普通図柄当り図柄用乱数初期値データバッファは、当り図柄用乱数データエリアに設けられ、乱数MR2-1の乱数初期値に対応する数値データを記憶可能である。このように、乱数更新処理P_RANDOMは、当り図柄用乱数データエリアに設けられた当り図柄用乱数初期値データバッファと、普通図柄当り図柄用乱数カウンタと、普通図柄当り図柄用乱数初期値データバッファと、特別図柄用乱数バッファエリアに設けられた当り図柄用乱数カウンタと、を用いて、ソフトウェアによる乱数MR1-2および乱数MR2-1の更新を可能にする。
図10-13(A)は、当り図柄用乱数データエリアの構成例AKB11を示している。構成例AKB11の当り図柄乱数データエリアは、アドレスF050[H]の当り図柄用乱数初期値データバッファと、アドレスF051[H]の当り図柄用初期値乱数カウンタと、アドレスF052[H]の普通図柄当り図柄用乱数カウンタと、アドレスF053[H]の普通図柄当り図柄用乱数初期値データバッファと、アドレスF054[H]の普通図柄当り図柄用初期値乱数カウンタと、を含んでいる。このうち、当り図柄用乱数初期値データバッファのアドレスF050[H]が乱数更新処理P_RANDOMのステップAKS63により初期値ポインタにセットされ、普通図柄当り図柄用乱数カウンタのアドレスF052[H]が乱数更新処理P_RANDOMのステップAKS65により乱数ポインタにセットされ、普通図柄当り図柄用乱数初期値データバッファのアドレスF053[H]が乱数更新処理P_RANDOMのステップAKS67により初期値ポインタにセットされる。当り図柄用初期値乱数カウンタは、当り図柄用初期値となる乱数MR1-3に対応する数値データを記憶可能である。普通図柄当り図柄用初期値乱数カウンタは、普通図柄当り図柄用初期値となる乱数MR2-2に対応する数値データを記憶可能である。
図10-13(B)は、特別図柄用乱数バッファエリアの構成例AKB12を示している。構成例AKB12の特別図柄用乱数バッファエリアは、アドレスF07F[H]の特別図柄判定用乱数バッファと、アドレスF081[H]の当り図柄用乱数カウンタと、アドレスF082[H]の変動パターン種別選択用乱数バッファと、アドレスF083[H]の変動パターン用乱数バッファと、アドレスF084[H]のハズレ演出選択用乱数バッファと、を含んでいる。このうち、当り図柄用乱数カウンタのアドレスF081[H]が乱数更新処理P_RANDOMのステップAKS61により乱数ポインタにセットされる。特別図柄判定用乱数バッファは、16ビットの乱数回路104Aから取得した特別図柄判定用の乱数MR1-1に対応する数値データを記憶可能である。変動パターン種別選択用乱数バッファは、8ビットの乱数回路104Bから取得した変動パターン種別選択用の乱数MR3-3に対応する数値データを記憶可能である。変動パターン用乱数バッファは、8ビットの乱数回路104Bから取得した変動パターン用の乱数MR3-4に対応する数値データを記憶可能である。ハズレ演出選択用乱数バッファは、16ビットの乱数回路104Aから取得したハズレ演出選択用の乱数MR3-2に対応する数値データを記憶可能である。
図10-14は、初期値変更乱数更新処理P_RANCPの一例を示すフローチャートである。初期値変更乱数更新処理P_RANCPは、図10-12に示された乱数更新処理P_RANDOMから呼出可能な処理に含まれ、ステップAKS61~AKS63により当り図柄用の乱数MR1-2に関する設定をした後にステップAKS64にて実行可能であり、ステップAKS65~AKS67により普通図柄当り図柄用の乱数MR2-1に関する設定をした後にステップAKS68にて実行可能である。このような初期値変更乱数更新処理P_RANCPは、ステップAKS64において当り図柄用の乱数MR1-2に対応する数値データを用いて、乱数MR1-2の値を更新可能にする。また、初期値変更乱数更新処理P_RANCPは、ステップAKS68において普通図柄当り図柄用の乱数MR2-1に対応する数値データを用いて、乱数MR2-1の値を更新可能にする。
CPU103は、初期値変更乱数更新処理P_RANCPを実行した場合、最初に比較加算命令を実行する(ステップAKS101)。この比較加算命令は、乱数ポインタであるHLレジスタの格納値が示すアドレスの記憶データを更新対象値とし、乱数最大値レジスタであるBレジスタの格納値を比較判定値とし、第3特殊転送命令である単一のICPLD命令により実行可能である。乱数ポインタであるHLレジスタの格納値は、更新対象乱数値に対応する数値データが記憶される乱数カウンタのアドレスを示す。乱数最大値レジスタであるBレジスタの格納値は、更新対象乱数値に対応して設定された乱数最大値を示す。そして、更新対象乱数値を示す乱数カウンタの計数値が乱数最大値レジスタの格納値未満である場合に、乱数カウンタの計数値を1加算するように更新することで、更新対象乱数値が1加算される。これに対し、更新対象乱数値を示す乱数カウンタの計数値が乱数最大値レジスタの格納値以上である場合に、乱数カウンタをクリアして計数値を「0」に初期化することで、更新対象乱数値が乱数最小値に変更される。したがって、ステップAKS101の比較加算命令は、更新対象乱数値を乱数最大値と比較すること、比較の結果が乱数最大値未満であれば更新対象乱数値を1加算すること、比較の結果が乱数最大値以上であれば更新対象乱数値を乱数最小値に変更すること、を含む単一の命令である。このように、初期値変更乱数更新処理P_RANCPにより更新対象乱数値を更新する場合に、単一の比較加算命令を最初に実行する。こうした単一の比較加算命令を最初に実行することにより、不具合の発生を抑制して、適切な乱数値の更新が可能になる。
ステップAKS101において比較加算命令を実行すると、記憶データを読み出すための転送命令により、乱数ポインタの指す乱数値をロードする(ステップAKS102)。また、乱数ポインタと初期値ポインタを交換する(ステップAKS103)。そして、ステップAKS102によりロードした乱数値と初期値ポインタの指す乱数初期値データバッファを比較する(ステップAKS104)。このとき比較した乱数値が初期値ポインタの指す乱数初期値データバッファの格納値とは異なる値であるか否かを判定する(ステップAKS105)。初期値ポインタであるDEレジスタの格納値は、更新対象乱数値に対応した乱数初期値データバッファのアドレスを示す。したがって、ステップAKS104では、ステップAKS101の比較加算命令を実行した後に、その比較加算命令による更新後の更新対象乱数値を乱数初期値と比較する。
ステップAKS105に対応して乱数値が初期値ポインタの指す乱数初期値データバッファの格納値とは異なる場合に(ステップAKS105;Yes)、初期値変更乱数更新処理P_RANCPが終了する。ステップAKS101の比較加算命令を実行した場合に、更新対象乱数値を示す乱数カウンタの計数値は、更新後の更新対象乱数値を示すことになる。そして、ステップAKS105の判定結果により初期値変更乱数更新処理P_RANCPが終了する場合に、更新後の更新対象乱数値を示す乱数カウンタの格納値は、そのまま現在の乱数値として格納される。したがって、ステップAKS105では、更新後の更新対象乱数値が乱数初期値と一致しない場合、初期値変更乱数更新処理P_RANCPが終了することにより、更新後の更新対象乱数値を現在の乱数値として格納させることができる。
ステップAKS105に対応して乱数値が初期値ポインタの指す乱数初期値データバッファの格納値と同じである場合に(ステップAKS105;No)、初期値ポインタの格納値を1加算した場合に指す初期値乱数カウンタをロードする(ステップAKS106)。図10-13(A)に示された当り図柄用乱数データエリアの構成例AKB11において、当り図柄用乱数初期値データバッファが設けられたアドレスF050[H]を1加算した場合の次アドレスF051[H]には、当り図柄用初期値乱数カウンタが設けられている。また、普通図柄当り図柄用乱数初期値データバッファが設けられたアドレスF053[H]を1加算した場合の次アドレスF054[H]には、普通図柄当り図柄用初期値乱数カウンタが設けられている。したがって、ステップAKS106では、初期値ポインタの格納値が当り図柄用乱数初期値データバッファのアドレスを示す場合に、当り図柄用初期値乱数カウンタの計数値が読み出される。また、ステップAKS106では、初期値ポインタの格納値が普通図柄当り図柄用乱数初期値データバッファのアドレスを示す場合に、普通図柄当り図柄用初期値乱数カウンタの計数値が読み出される。このように、ステップAKS106では、初期値乱数カウンタの計数値を初期値用乱数値として読み出すことができる。
ステップAKS106において初期値乱数カウンタをロードすると、これにより読み出された初期値乱数カウンタの計数値を、乱数ポインタの指す乱数カウンタにストアする(ステップAKS107)。乱数ポインタの格納値は更新対象乱数値に対応する乱数カウンタのアドレスを示すので、ステップAKS107により、初期値乱数カウンタの計数値を、現在の更新対象乱数値として格納することができる。したがって、ステップAKS105の判定結果により更新後の更新対象乱数値が乱数初期値と一致した場合、ステップAKS107では、ステップAKS106により読み出された初期値用乱数値を、現在の乱数値として格納させることができる。
ステップAKS107に続いて、ステップAKS106により読み出された初期値乱数カウンタの計数値を、初期値ポインタの指す乱数初期値データバッファにストアしてから(ステップAKS108)、初期値変更乱数更新処理P_RANCPが終了する。初期値ポインタの格納値は更新対象乱数値に対応した乱数初期値データバッファのアドレスを示すので、ステップAKS108により、初期値乱数カウンタの計数値を、新たな乱数初期値として格納することができる。したがって、ステップAKS105の判定結果により更新後の更新対象乱数値が乱数初期値と一致した場合、ステップAKS107により初期値用乱数値を現在の乱数値として格納するとともに、ステップAKS108では、ステップAKS106により読み出された初期値用乱数値を、新たな乱数初期値として格納させることができる。こうして新たな乱数初期値の設定により乱数値の不確定性が高められるとともに、現在の乱数値としても格納することによりデータ容量の増大を防止して、適切な乱数値の更新が可能になる。
図10-12に示された乱数更新処理P_RANDOMは、ステップAKS61~AKS63により、当り図柄用の乱数MR1-2について、更新対象乱数値、乱数最大値、乱数初期値に関する設定をした後に、ステップAKS64の初期値変更乱数更新処理P_RANCPを実行する。初期値変更乱数更新処理P_RANCPは、更新対象乱数値、乱数最大値、乱数初期値に関する設定にもとづいて、更新対象乱数値の更新と乱数初期値の変更とを実行可能にする。ステップAKS64の初期値変更乱数更新処理P_RANCPは、ステップAKS61により更新対象乱数値とした当り図柄用の乱数MR1-2について、ステップAKS62により設定した乱数最大値やステップAKS63により設定した乱数初期値を用いた更新を可能にする。また、ステップAKS64の初期値変更乱数更新処理P_RANCPは、ステップAKS61により更新対象乱数値とした当り図柄用の乱数MR1-2について、その値がステップAKS63により設定した乱数初期値と一致した場合に、乱数初期値の変更を可能にする。このように、設定された更新対象乱数値の更新などにより、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMは、ステップAKS65~AKS67により、普通図柄当り図柄用の乱数MR2-1について、更新対象乱数値、乱数最大値、乱数初期値に関する設定をした後に、ステップAKS68の初期値変更乱数更新処理P_RANCPを実行する。ステップAKS68の初期値変更乱数更新処理P_RANCPは、ステップAKS65により更新対象乱数値とした普通図柄当り図柄用の乱数MR2-1について、ステップAKS66により設定した乱数最大値やステップAKS67により設定した乱数初期値を用いた更新を可能にする。また、ステップAKS68の初期値変更乱数更新処理P_RANCPは、ステップAKS65により更新対象乱数値とした普通図柄当り図柄用の乱数MR2-1について、その値がステップAKS67により設定した乱数初期値と一致した場合に、乱数初期値の変更を可能にする。このように、設定された更新対象乱数値の更新などにより、適切な乱数値の更新が可能になる。また、設定された更新対象乱数値の更新や乱数初期値の変更により、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMは、特別図柄の表示結果を決定する場合に用いられる当り図柄用の乱数MR1-2を、ステップAKS61~AKS64からなる第1更新処理により更新可能であり、普通図柄の表示結果を決定する場合に用いられる普通図柄当り図柄用の乱数MR2-1を、ステップAKS65~AKS68からなる第2更新処理により更新可能である。そして、ステップAKS61~AKS64により第1乱数値として当り図柄用の乱数MR1-2を更新し、その後に、ステップAKS65~AKS68により第2乱数値として普通図柄当り図柄用の乱数MR2-1を更新する。特別図柄の表示結果となる確定特別図柄は、大当り遊技状態における大入賞口開放回数最大値に対応している。また、特別図柄の表示結果となる確定特別図柄は、大当り遊技状態の終了後に確変状態に制御されるか否かや、大当り遊技状態の終了後に時短状態で実行可能な可変表示回数の最大値などに、対応する場合もある。これに対し、普通図柄の表示結果である確定普通図柄は、第2大入賞口の開放時間や開放回数に対応している。したがって、特別図柄の表示結果は、普通図柄の表示結果よりも、遊技者の注目度が高い。特定更新処理となる乱数更新処理P_RANDOMにより、第1乱数値として乱数MR1-2を更新した後に、第2乱数値として乱数MR2-1を更新することで、遊技者の注目度が高い表示結果の決定に用いられる第1乱数値を第2乱数値よりも先に更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMにおいて、ステップAKS61~AKS64は第1乱数値となる乱数MR1-2を更新可能であり、ステップAKS65~AKS68は第2乱数値となる乱数MR2-1を更新可能である。そして、第1乱数値となる乱数MR1-2に対応してステップAKS64の初期値変更乱数更新処理P_RANCPを呼び出して実行可能であり、第2乱数値となる乱数MR2-1に対応してステップAKS68の初期値変更乱数更新処理P_RANCPを呼び出して実行可能である。このように、特定更新処理となる乱数更新処理P_RANDOMは、第1乱数値と第2乱数値とに対応して共通更新用処理となる初期値変更乱数更新処理P_RANCPを呼び出すことにより、第1乱数値としての乱数MR1-2および第2乱数値としての乱数MR2-1を更新し、それらの初期値を変更可能にする。このような共通更新用処理となる初期値変更乱数更新処理P_RANCPによりプログラム容量の増大を防止し、第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMにおいて、第1乱数値となる乱数MR1-2を更新可能にするステップAKS61~AKS64は第1更新処理となり、第2乱数値となる乱数MR2-1を更新可能にするステップAKS65~AKS68は第2更新処理となる。そして、第1更新処理ではステップAKS64により初期値変更乱数更新処理P_RANCPを呼び出して実行可能であり、第2更新処理ではステップAKS68により初期値変更乱数更新処理P_RANCPを呼び出して実行可能である。このように、乱数更新処理P_RANDOMは、第1更新処理と第2更新処理とで、共通更新用処理として初期値変更乱数更新処理P_RANCPを呼び出すことにより、第1乱数値としての乱数MR1-2および第2乱数値としての乱数MR2-1を更新し、それらの初期値を変更可能にする。このような共通更新用処理となる初期値変更乱数更新処理P_RANCPによりプログラム容量の増大を防止し、第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMにおいて、第1乱数値となる乱数MR1-2を更新可能にするステップAKS61~AKS64は第1更新処理となり、第2乱数値となる乱数MR2-1を更新可能にするステップAKS65~AKS68は第2更新処理となる。そして、第1更新処理と第2更新処理とで、共通となる内部格納手段であるCPU103のHLレジスタ、Bレジスタ、DEレジスタを用いて、第1乱数値としての乱数MR1-2および第2乱数値としての乱数MR2-1を更新可能にする。このように、共通となる内部格納手段を用いて第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMにおいて、ステップAKS64により初期値変更乱数更新処理P_RANCPを実行する前に、ステップAKS61~AKS63により、当り図柄用乱数カウンタアドレス、当り図柄用乱数最大判定値、当り図柄用乱数初期値データバッファアドレスといった、参照先情報を内部格納手段であるCPU103のHLレジスタ、Bレジスタ、DEレジスタに格納する。また、乱数更新処理P_RANDOMにおいて、ステップAKS68により初期値変更乱数更新処理P_RANDCPを実行する前に、ステップAKS65~AKS67により、普通図柄当り図柄用乱数カウンタアドレス、普通図柄当り図柄用乱数最大判定値、普通図柄当り図柄用乱数初期値データバッファアドレスといった、参照先情報を内部格納手段であるCPU103のHLレジスタ、Bレジスタ、DEレジスタに格納する。ステップAKS61により第1乱数値となる乱数MR1-2の更新に用いられる命令と、ステップAKS65により第2乱数値となる乱数MR2-1の更新に用いられる命令は、CPU103のHLレジスタを設定するという点で共通の命令であり、ステップAKS61により当り図柄用乱数カウンタアドレスをセットするがステップAKS65により普通図柄当り図柄用乱数カウンタアドレスをセットするので異なる参照先情報を設定可能である。ステップAKS62により第1乱数値となる乱数MR1-2の更新に用いられる命令と、ステップAKS66により第2乱数値となる乱数MR2-1の更新に用いられる命令は、CPU103のBレジスタを設定するという点で共通の命令であり、ステップAKS62により当り図柄用乱数最大判定値に対応する乱数最大値をセットするがステップAKS66により普通図柄当り図柄用乱数最大判定値に対応する乱数最大値をセットするので異なる参照先情報を設定可能である。ステップAKS63により第1乱数値となる乱数MR1-2の更新に用いられる命令と、ステップAKS67により第2乱数値となる乱数MR2-1の更新に用いられる命令は、CPU103のDEレジスタを設定するという点で共通の命令であり、ステップAKS63により当り図柄用乱数初期値データバッファアドレスをセットするがステップAKS67により普通図柄当り図柄用乱数初期値データバッファアドレスをセットするので異なる参照先情報を設定可能である。これらのステップAKS61~AKS63とステップAKS65~AKS67とで、例えばCPU103の内部レジスタを設定するための転送命令であるLD命令やLDQ命令といった、共通となる命令を用いて異なる参照先情報を設定可能にする。そして、ステップAKS64とステップAKS68とで、共通となるサブルーチンの呼出命令により初期値変更乱数更新処理P_RANCPを呼び出して実行する。このように、特定更新処理となる乱数更新処理P_RANDOMにおいて、第1乱数値となる乱数MR1-2の更新に用いられる命令と、第2乱数値となる乱数MR2-1の更新に用いられる命令と、が共通となる。共通となる命令を用いて第1乱数値としての乱数MR1-2や第2乱数値としての乱数MR2-1を更新可能にすることにより、第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
乱数更新処理P_RANDOMは、第1更新処理となるステップAKS61~AKS64により第1乱数値となる乱数MR1-2を更新可能にするとともに、第2更新処理となるステップAKS65~AKS68により第2乱数値となる乱数MR2-1を更新可能にする。そして、ステップAKS64およびステップAKS68により初期値変更乱数更新処理P_RANCPを呼び出して実行可能である。図10-14に示された初期値変更乱数更新処理P_RANCPは、単一の比較加算命令を最初に実行するので、第1乱数値としての乱数MR1-2を更新する場合と第2乱数値としての乱数MR2-1を更新する場合とで、いずれも比較加算命令を最初に実行可能にする。このような比較加算命令を最初に実行することにより、第1乱数値や第2乱数値における不具合の発生を抑制して、適切な乱数値の更新が可能になる。
初期値変更乱数更新処理P_RANCPは、乱数更新処理P_RANDOMのステップAKS64にて実行されたときに、当り図柄用の乱数MR1-2を更新可能であり、当り図柄用初期値となる乱数MR1-3を用いて、当り図柄用の乱数MR1-2に対応した乱数初期値を変更可能である。また、初期値変更乱数更新処理P_RANCPは、乱数更新処理P_RANDOMのステップAKS68にて実行されたときに、普通図柄当り図柄用の乱数MR2-1を更新可能であり、普通図柄当り図柄用初期値となる乱数MR2-2を用いて、普通図柄当り図柄用の乱数MR2-1に対応した乱数初期値を変更可能である。したがって、当り図柄用初期値となる乱数MR1-3は、乱数更新処理P_RANDOMのステップAKS64にて初期値変更乱数更新処理P_RANCPが実行されることで、更新対象乱数値が第1乱数値となる当り図柄用の乱数MR1-2である場合に対応して、乱数初期値を変更するときに使用される第1初期値用乱数値である。普通図柄当り図柄用初期値となる乱数MR2-2は、乱数更新処理P_RANDOMのステップAKS68にて初期値変更乱数更新処理P_RANCPが実行されることで、更新対象乱数値が第2乱数値となる普通図柄当り図柄用の乱数MR2-1である場合に対応して、乱数初期値を変更するときに使用される第2初期値用乱数値である。
図10-15は、初期値決定用乱数更新処理P_TFINITの一例を示すフローチャートである。初期値決定用乱数更新処理P_TFINITは、図4に示された遊技制御用のメイン処理P_MAINから呼出可能な処理に含まれ、ステップS7の後にタイマ割込みが発生するまで繰り返されるループ処理のステップS9にて実行可能である。また、初期値決定用乱数更新処理P_TFINITは、図5に示された遊技制御用のタイマ割込み処理P_PCTから呼出可能な処理に含まれ、例えば4msといった、所定時間の経過による定期的なタイマ割込みの発生に対応して、ステップAKS57にて実行可能である。したがって、初期値決定用乱数更新処理P_TFINITは、所定時間の経過によるタイマ割込みに対応して実行可能な第1処理と、その第1処理が実行されるまで繰り返し実行可能な第2処理と、に含まれる。また、初期値決定用乱数更新処理P_TFINITは、遊技の進行を制御する遊技制御用のタイマ割込み処理P_PCTにおいて、呼び出されて実行可能であるとともに、パチンコ遊技機1における電力供給の開始にもとづいて実行される遊技制御用のメイン処理P_MAINにおいて、ステップS1の電力供給開始対応処理P_POWER_ONなどの起動時処理の後に、繰り返されるループ処理としての待機時処理に含まれるステップS9により呼び出されて実行可能である。このように、初期値決定用乱数更新処理P_IFINITは、初期値用乱数更新処理として、定期的なタイマ割込みに対応して実行可能な処理に含まれるとともに、不定期に繰り返し実行可能な処理にも含まれることにより、初期値用乱数値の更新周期や更新速度が不定になるので、初期値用乱数値の不確定性が高められ、適切な乱数値の更新が可能になる。
CPU103は、初期値決定用乱数更新処理P_TINITを実行した場合に、ポインタを設定するための転送命令により、当り図柄用初期値乱数カウンタアドレスをセットする(ステップAKS81)。当り図柄用初期値乱数カウンタアドレスは、図10-13(A)に示された当り図柄用乱数データエリアの構成例AKB11において、当り図柄用初期値乱数カウンタに割り当てられたアドレスF051[H]である。このようにポインタを設定した場合に、比較加算命令により、当り図柄用初期値乱数カウンタの計数値を「0」~「199」の更新範囲において更新可能にする(ステップAKS82)。この比較加算命令は、ポインタが指すアドレスの記憶データを更新対象値とし、オペランドで指定された即値を比較判定値とし、第3特殊転送命令である単一のICPLD命令により実行可能である。ポインタの格納値は、更新対象初期値用乱数値に対応する数値データが記憶される乱数カウンタのアドレスを示す。オペランドで指定された即値は、更新対象初期値用乱数値に対応して設定された初期値用乱数最大値を示す。そして、更新対象初期値用乱数値を示す乱数カウンタの計数値が初期値用乱数最大値未満である場合に、乱数カウンタの計数値を1加算するように更新することで、更新対象初期値用乱数値が1加算される。これに対し、更新対象初期値用乱数値を示す乱数カウンタの計数値が初期値用乱数最大値レジスタの格納値以上である場合に、乱数カウンタをクリアして計数値を「0」に初期化することで、更新対象初期値用乱数値が乱数最小値に変更される。したがって、ステップAKS82の比較加算命令は、当り図柄用初期値となる乱数MR1-3が更新対象初期値用乱数値に設定され、その更新対象初期値用乱数値を初期値用乱数最大値と比較すること、比較の結果が初期値用乱数最大値未満であれば更新対象初期値用乱数値を1加算すること、比較の結果が初期値用乱数最大値以上であれば更新対象初期値用乱数値を乱数最小値に変更すること、を含む単一の命令である。なお、比較加算命令は、更新対象値を示す記憶データのアドレスがポインタにより指定されるICPLD命令に限定されず、例えばQレジスタを用いて上位アドレスが設定され、比較加算命令の第1オペランドで指定された即値を用いて下位アドレスが設定されるICPLDQ命令であっても。この場合に、比較加算命令の第2オペランドで指定された即値を比較判定値に設定すればよい。このような比較加算命令を用いて更新対象初期値用乱数値を更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
ステップAKS82の後に、ポインタを設定するための転送命令により、普通図柄当り図柄用初期値乱数カウンタアドレスをセットする(ステップAKS83)。普通図柄当り図柄用初期値乱数カウンタアドレスは、図10-13(A)に示された当り図柄用乱数データエリアの構成例AKB11において、普通図柄当り図柄用初期値乱数カウンタに割り当てられたアドレスF054[H]である。このようにポインタを設定した場合に、比較加算命令により、普通図柄当り図柄用初期値乱数カウンタの計数値を「1」~「198」の更新範囲において更新可能にして(ステップAKS84)、初期値決定用乱数更新処理P_TFINITが終了する。ステップAKS84の比較加算命令は、ステップAKS82と同様の比較加算命令であればよい。ただし、ステップAKS84の比較加算命令は、普通図柄当り図柄用初期値となる乱数MR2-2が更新対象初期値用乱数値に設定されるので、初期値用乱数最大値を示すオペランドで指定された即値が、ステップAKS82の比較加算命令とは異なる値に設定される。したがって、ステップAKS84の比較加算命令は、普通図柄当り図柄用初期値となる乱数MR2-2が更新対象初期値用乱数値に設定され、その更新対象初期値用乱数値を初期値用乱数最大値と比較すること、比較の結果が初期値用乱数最大値未満であれば更新対象初期値用乱数値を1加算すること、比較の結果が初期値用乱数最大値以上であれば更新対象初期値用乱数値を乱数最小値に変更すること、を含む単一の命令である。このような比較加算命令を用いて更新対象初期値用乱数値を更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
初期値決定用乱数更新処理P_TFINITは、第1初期値用乱数値の更新として、ステップAKS81、AKS82により当り図柄用初期値となる乱数MR1-3を更新する。これとともに、初期値決定用乱数更新処理P_TFINITは、第2初期値用乱数値の更新として、ステップAKS83、AKS84により普通図柄当り図柄用初期値となる乱数MR2-2を更新する。当り図柄用初期値となる乱数MR1-3は、更新対象乱数値が第1乱数値となる当り図柄用の乱数MR1-2である場合に、乱数初期値を変更するときに使用される第1初期値用乱数値である。普通図柄当り図柄用初期値となる乱数MR2-2は、更新対象乱数値が第2乱数値となる普通図柄当り図柄用の乱数MR2-1である場合に、乱数初期値を変更するときに使用される第2初期値用乱数値である。そして、初期値決定用乱数更新処理P_TFINITのステップAKS81、AKS82は、第1初期値用乱数値を更新可能な第1初期値更新処理となる。初期値決定用乱数更新処理P_TFINITのステップAKS83、AKS84は、第2初期値用乱数値を更新可能な第2初期値更新処理となる。こうした第1初期値用乱数値や第2初期値用乱数値の更新により、第1乱数値や第2乱数値の不確定性が確実に高められるように、適切な乱数値の更新が可能になる。
また、初期値決定用乱数更新処理P_TFINITは、ステップAKS81、AKS82により第1初期値用乱数値として当り図柄用初期値となる乱数MR1-3を更新し、その後に、ステップAKS83、AKS84により第2初期値用乱数値として普通図柄当り図柄用初期値となる乱数MR2-2を更新する。したがって、初期値決定用乱数更新処理P_TFINITは、第1初期値更新処理となるステップAKS81、AKS82により第1初期値用乱数値である当り図柄用初期値となる乱数MR1-3を更新した後に、第2初期値更新処理となるステップAKS83、AKS84により第2初期値用乱数値である普通図柄当り図柄用初期値となる乱数MR2-1を更新する。
図10-16は、始動口スイッチ通過処理P_TZU_ONの一例を示すフローチャートである。始動口スイッチ通過処理P_TZU_ONは、図6に示された特別図柄プロセス処理P_TPROCから呼出可能な処理に含まれ、ステップS103において第1始動入賞対応フラグがオンである場合にステップS104にて実行可能であり、ステップS107において第2始動入賞対応フラグがオンである場合にステップS108にて実行可能である。CPU103は、始動口スイッチ通過処理P_TZU_ONを実行した場合に、ポインタを設定するための転送命令により、始動口入賞記憶カウンタアドレスをセットする(ステップAKS201)。始動口入賞記憶カウンタアドレスは、RAM102の遊技ワーク領域に設けられた第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタのアドレスである。ステップAKS201では、特別図柄プロセス処理P_TPROCによりセットされた第1始動口入賞テーブルまたは第2始動口入賞テーブルに対応して、遊技ワーク領域における異なるアドレスを指定可能である。例えば、作業領域となる遊技ワーク領域の上位アドレスF0[H]を、転送命令によりポインタの上位バイトに設定するとともに、テーブルポインタの指す第1始動口入賞テーブルまたは第2始動口入賞テーブルに記憶された始動口入賞記憶カウンタの下位アドレスを、転送命令によりポインタの下位バイトに設定する。これにより、第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタのアドレスを示す値は、ポインタとなるCPU103の内部レジスタに格納される。続いて、ポインタが指すアドレスの記憶データを読み出すための転送命令により、始動口入賞記憶カウンタをロードする(ステップAKS202)。
ステップAKS202の次に、始動口入賞記憶カウンタの計数値がカウンタ最大値以上であるか否かを判定する(ステップAKS203)。例えば、ステップAKS202によりロードされた値と、「4」などのカウンタ最大値と、を比較可能な比較復帰命令により、カウンタ最大値以上の場合に(ステップAKS203;Yes)、始動口スイッチ通過処理P_TZU_ONが終了して特別図柄プロセス処理P_TPROCにリターンする。これに対し、カウンタ最大値未満の場合に(ステップAKS203;No)、始動口入賞記憶カウンタの計数値を1加算するように更新する(ステップAKS204)。この場合に、ポインタが指すアドレスの記憶データをインクリメントする算術論理演算命令により、第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタの計数値を1加算する更新が可能になる。
ステップAKS204の後に、特別図柄判定用バッファアドレスを転送先にセットする(ステップAKS205)。特別図柄判定用バッファアドレスは、RAM102の遊技ワーク領域に設けられた第1特別図柄保留バッファに含まれる第1特別図柄判定用バッファまたは第2特別図柄保留バッファに含まれる第2特別図柄判定用バッファのアドレスである。ステップAKS205では、特別図柄プロセス処理P_TPROCによりセットされた第1始動口入賞テーブルまたは第2始動口入賞テーブルと、ステップAKS202によりロードした第1始動口入賞カウンタまたは第2始動口入賞カウンタの計数値と、に対応して、遊技ワーク領域における異なるアドレスを指定可能である。
第1特別図柄保留バッファは、第1特別図柄判定用バッファ、第1当り図柄用バッファ、第1変動パターン種別選択用バッファ、第1変動パターン用バッファ、第1ハズレ演出選択用バッファを含んで構成された第1保留記憶用バッファが、第1特別図柄の可変表示を実行中である場合と未だ実行されていない第1保留記憶数とに対応して、例えばバッファ番号が「0」から「4」までに対応する5つの記憶領域など、複数の記憶領域として確保されている。第2特別図柄保留バッファは、第2特別図柄判定用バッファ、第2当り図柄用バッファ、第2変動パターン種別選択用バッファ、第2変動パターン用バッファ、第2ハズレ演出選択用バッファを含んで構成された第2保留記憶用バッファが、第2特別図柄の可変表示を実行中である場合と未だ実行されていない第2保留記憶数とに対応して、例えばバッファ番号が「0」から「4」までに対応する5つの記憶領域など、複数の記憶領域として確保されている。
ステップAKS205では、第1保留記憶用バッファや第2保留記憶用バッファのバッファサイズに対応する値と、始動口入賞カウンタの計数値とを乗算し、バッファ番号「1」の第1保留記憶用バッファまたは第2保留記憶用バッファの下位アドレスに、その乗算値を加算する。このような加算値を転送先ポインタに設定することで、特別図柄判定用バッファアドレスを転送先にセットできればよい。
ステップAKS205に続いて、RL0ハードラッチ乱数値レジスタアドレスをセットする(ステップAKS206)。RL0ハードラッチ乱数値レジスタアドレスは、機能制御レジスタエリアに設けられたRL0ハードラッチ乱数値レジスタのアドレスである。例えば、機能制御レジスタエリアの上位アドレスFF[H]を、転送命令によりポインタの上位バイトに設定するとともに、テーブルポインタの指す第1始動口入賞テーブルまたは第2始動口入賞テーブルに記憶されたRL0ハードラッチ乱数値レジスタの下位アドレスを、転送命令によりポインタの下位バイトに設定する。第1始動口入賞テーブルには、バッファ番号「0」であるRL0ハードラッチ乱数値レジスタの下位アドレスが記憶されている。第2始動口入賞テーブルには、バッファ番号「1」であるRL0ハードラッチ乱数値レジスタの下位アドレスが記憶されている。これにより、RL0ハードラッチ乱数値レジスタのアドレスとして、第1始動入賞の場合と第2始動入賞の場合とで異なるアドレスが、ポインタとなるCPU103の内部レジスタに格納される。
ステップAKS206の次に、ポインタが指すアドレスの記憶データを読み出すための転送命令により、RL0ハードラッチ乱数値レジスタをロードする(ステップAK207)。こうして取得したRL0ハードラッチ乱数値レジスタの格納値は、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、特別図柄判定用乱数バッファにストアされる(ステップAKS208)。このように、RL0ハードラッチ乱数値レジスタから取得した数値データを、特別図柄判定用乱数バッファにストアすることにより、特別図柄判定用の乱数MR1-1について、その値を示す数値データが抽出され、乱数MR1-1の値を特別図柄判定用乱数バッファに格納することができる。
ステップAKS208の後に、機能制御レジスタエリアにおける指定アドレスの記憶領域から記憶データを読み出すための転送命令により、RL2ソフトラッチ乱数値レジスタをロードする(ステップAKS209)。このとき取得したRL2ソフトラッチ乱数値レジスタの格納値は、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、ハズレ演出選択用乱数バッファにストアされる(ステップAKS210)。このように、RL2ソフトラッチ乱数値レジスタから取得した数値データを、ハズレ演出選択用乱数バッファにストアすることにより、ハズレ演出選択用の乱数MR3-2について、その値を示す数値データが抽出され、乱数MR3-2の値をハズレ演出選択用乱数バッファに格納することができる。
ステップAKS210の後に、機能制御レジスタエリアにおける指定アドレスの記憶領域から記憶データを読み出すための転送命令により、RS1ソフトラッチ乱数値レジスタをロードする(ステップAKS211)。このとき取得したRS1ソフトラッチ乱数値レジスタの格納値は、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、変動パターン種別選択用乱数バッファにストアされる(ステップAKS212)。このように、RS1ソフトラッチ乱数値レジスタから取得した数値データを、変動パターン種別選択用乱数バッファにストアすることにより、変動パターン種別選択用の乱数MR3-3について、その値を示す数値データが抽出され、乱数MR3-3の値を変動パターン種別選択用乱数バッファに格納することができる。
ステップAKS212の後に、機能制御レジスタエリアにおける指定アドレスの記憶領域から記憶データを読み出すための転送命令により、RS2ソフトラッチ乱数値レジスタをロードする(ステップAKS213)。このとき取得したRS2ソフトラッチ乱数値レジスタの格納値は、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、変動パターン用乱数バッファにストアされる(ステップAKS214)。このように、RS2ソフトラッチ乱数値レジスタから取得した数値データを、変動パターン用乱数バッファにストアすることにより、変動パターン用の乱数MR3-4について、その値を示す数値データが抽出され、乱数MR3-4の値を変動パターン用乱数バッファに格納することができる。
ステップAKS214に続いて、乱数バッファから特別図柄判定用バッファへのブロック転送を行う(ステップAKS215)。乱数バッファは、ステップAKS208により乱数MR1-1の値が格納された特別図柄判定用乱数バッファ、ステップAKS210により乱数MR3-2の値が格納されたハズレ演出選択用乱数バッファ、ステップAKS212により乱数MR3-3の値が格納された変動パターン種別選択用乱数バッファ、ステップAKS214により乱数MR3-4の値が格納された変動パターン用乱数バッファを含んで構成される。ステップAKS215では、特別図柄判定用乱数バッファのアドレスを転送元にセットし、乱数バッファのバッファサイズに対応する値を転送回数にセットする。なお、転送先となる特別図柄判定用バッファアドレスは、ステップAKS205によりセットされている。これらの設定にもとづいて、ブロック転送命令を実行することにより、乱数バッファに一時記憶された各乱数の値を、第1保留記憶用バッファまたは第2保留記憶用バッファにおいて、新たな保留情報として記憶させることができる。
ステップAKS215により新たな記憶情報を記憶させると、入賞時演出条件成立の有無を判定する(ステップAKS216)。入賞時演出条件は、先読み演出を実行可能にする条件として、予め設定されていればよい。例えば始動口入賞指定値が「2」である場合に、入賞時演出条件の成立ありと判定される。また、始動口入賞指定値が「1」である場合に、時短状態ではないことに対応して時短機能フラグが「0」であるとともに、小当り遊技状態または大当り遊技状態ではないことに対応して特別図柄プロセスコードが03[H]未満である場合に、入賞時演出条件の成立ありと判定される。入賞時演出条件の成立ありと判定された場合に(ステップAKS216;Yes)、入賞時演出処理P_GAME_CHKを実行する(ステップAKS217)。入賞時演出処理P_GAME_CHKは、特別図柄の当り判定を含み、判定結果に対応した演出指定値の選択などを行い、入賞時演出コマンドを送信可能にする。
ステップAKS216に対応して入賞時演出条件の成立なしと判定された場合や(ステップAKS216;No)、ステップAKS217による入賞時演出処理を実行した後には、ポインタを設定するための転送命令により、演出記憶情報指定コマンド送信テーブルアドレスをセットする(ステップAKS218)。演出記憶情報指定コマンド送信テーブルアドレスは、ROM101の遊技データ領域に記憶された演出記憶情報指定コマンド送信テーブルのアドレスである。そして、コマンドセット処理P_COM_SETを実行することで(ステップAKS219)、始動入賞時コマンドとして、第1演出記憶情報指定コマンドまたは第2演出記憶情報指定コマンドを送信可能にする。第1演出記憶情報指定コマンドは、第1始動口入賞記憶カウンタの計数値が示す第1保留記憶数を指定する演出制御コマンドである。第2演出記憶情報指定コマンドは、第2始動口入賞記憶カウンタの計数値が示す第2保留記憶数を指定する演出制御コマンドである。このように、ステップAKS219のコマンドセット処理P_COM_SETにより、始動入賞時コマンドとなる演出制御コマンドを、主基板11から演出制御基板12に対して送信することができる。
ステップAKS219の次に、ポインタを設定するための転送命令により、始動口入賞バッファ記憶カウンタアドレスをセットする(ステップAKS220)。始動口入賞バッファ記憶カウンタアドレスは、RAM102の遊技ワーク領域に設けられた始動口入賞バッファ記憶カウンタのアドレスである。このように、アドレスがセットされた始動口入賞バッファ記憶カウンタの計数値を、1加算するように更新する(ステップAKS221)。また、レジスタやポインタを設定するための複合転送命令などにより、始動口入賞バッファ記憶カウンタに対応してポインタを更新する(ステップAKS222)。例えば、ステップAKS221による更新後の始動口入賞バッファ記憶カウンタの計数値を、CPU103の内部レジスタにロードするとともに、ポインタの格納値を1加算するように更新することで、始動口入賞バッファの先頭アドレスを示す値がポインタに格納される。さらに、ロードした始動口入賞バッファ記憶カウンタの計数値を、ポインタの格納値に加算することで、始動口入賞バッファにおいて更新対象となるバッファ番号の格納領域を特定可能にする。
ステップAKS222によりポインタを更新すると、始動口入賞指定値をロードする(ステップAKS223)。始動口入賞指定値は、特別図柄プロセス処理P_TPROCによりセットされた第1始動口入賞テーブルまたは第2始動口入賞テーブルに対応して、第1始動入賞を示す「1」または第2始動入賞を示す「2」を設定可能である。ステップAKS223では、第1始動口入賞テーブルまたは第2始動口入賞テーブルからテーブルデータを読み出すための転送命令により、始動口入賞指定値を取得可能にする。こうして取得された始動口入賞指定値は、ポインタが指すアドレスの記憶領域に書き込むための転送命令により、始動口入賞バッファにストアされ(ステップAKS224)、始動口スイッチ通過処理P_TZU_ONが終了する。
図10-17は、始動口スイッチ通過処理P_TZU_ONに関するデータ構成の使用例を説明するための図である。始動口スイッチ通過処理P_TZU_ONでは、図6に示された特別図柄プロセス処理P_TPROCのステップS102によりセットされた第1始動口入賞テーブルまたはステップS106によりセットされた第2始動口入賞テーブルを用いて、各種設定や制御が行われる。そして、例えばステップAKS204により計数値を更新可能な第1始動口入賞記憶カウンタや第2始動口入賞記憶カウンタは、特別図柄制御データエリアに設けられ、第1保留記憶数や第2保留記憶数に対応するデータを記憶可能である。AKS221により計数値を更新可能な始動口入賞バッファ記憶カウンタや、AKS224により始動口入賞指定値がストアされる始動口入賞バッファは、始動口入賞バッファエリアに設けられ、第1始動入賞と第2始動入賞との合計回数や発生順序を記憶可能である。また、ステップAKS219のコマンドセット処理P_COM_SETでは、ステップAKS218によりアドレスをセットした第1演出記憶情報指定コマンド送信テーブルまたは第2演出記憶情報指定コマンド送信テーブルが用いられる。
このように、始動口スイッチ通過処理P_TZU_ONは、第1始動口入賞テーブルまたは第2始動口入賞テーブル、特別図柄制御データエリアに設けられた第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタ、始動口入賞バッファエリアに設けられた始動口入賞バッファ記憶カウンタや始動口入賞バッファ、第1演出記憶情報指定コマンド送信テーブルまたは第2演出記憶情報指定コマンド送信テーブルを用いて、特別図柄の可変表示である特図ゲームに関する制御を可能にする。
図10-17(A1)は、第1始動口入賞テーブルの構成例AKT21を示している。構成例AKT21の第1始動口入賞テーブルは、第1始動口入賞記憶カウンタの下位アドレスと、RL0ハードラッチ乱数値レジスタ番号「0」の下位アドレスと、第1特別図柄判定用バッファ番号「1」の下位アドレスと、第1演出記憶情報指定コマンド送信テーブルのアドレスと、始動口入賞指定値「1」と、を示すテーブルデータが含まれるように構成されている。
第1始動口入賞記憶カウンタは、RAM102の遊技ワーク領域に設けられ、第1保留記憶数に対応するデータを記憶可能である。RL0ハードラッチ乱数値レジスタ番号「0」は、機能制御レジスタエリアに設けられたレジスタ番号「0」のRL0ハードラッチ乱数値レジスタであり、16ビットの乱数回路104Aに設けられたチャネルRL0が生成可能な特別図柄判定用の乱数MR1-1について、その値を示す数値データがハードラッチにより取得されて記憶可能である。第1特別図柄判定用バッファ番号「1」は、第1特別図柄保留バッファにおけるバッファ番号「1」の第1保留記憶用バッファに含まれる第1特別図柄判定用バッファである。第1演出記憶情報指定コマンド送信テーブルは、ROM101の遊技データ領域に記憶され、第1保留記憶数を指定する第1演出記憶情報指定コマンドを送信するときに用いられる。始動口入賞指定値「1」は、第1始動入賞が発生したことを特定可能に示す指定値である。
図10-17(A2)は、第2始動口入賞テーブルの構成例AKT22を示している。構成例AKT22の第2始動口入賞テーブルは、第2始動口入賞記憶カウンタの下位アドレスと、RL0ハードラッチ乱数値レジスタ番号「1」の下位アドレスと、第2特別図柄判定用バッファ番号「1」の下位アドレスと、第2演出記憶情報指定コマンド送信テーブルのアドレスと、始動口入賞指定値「2」と、を示すテーブルデータが含まれるように構成されている。
第2始動口入賞記憶カウンタは、RAM102の遊技ワーク領域に設けられ、第2保留記憶数に対応するデータを記憶可能である。RL0ハードラッチ乱数値レジスタ番号「1」は、機能制御レジスタエリアに設けられたレジスタ番号「1」のRL0ハードラッチ乱数値レジスタであり、16ビットの乱数回路104Aに設けられたチャネルRL0が生成可能な特別図柄判定用の乱数MR1-1について、その値を示す数値データがハードラッチにより取得されて記憶可能である。第2特別図柄判定用バッファ番号「1」は、第2特別図柄保留バッファにおけるバッファ番号「1」の第2保留記憶用バッファに含まれる第2特別図柄判定用バッファである。第2演出記憶情報指定コマンド送信テーブルは、ROM101の遊技データ領域に記憶され、第2保留記憶数を指定する第2演出記憶情報指定コマンドを送信するときに用いられる。始動口入賞指定値「2」は、第2始動入賞が発生したことを特定可能に示す指定値である。
図10-17(B1)は、特別図柄制御データエリアの構成例AKB21を示している。構成例AKB21の特別図柄制御データエリアは、特別図柄の可変表示である特図ゲームや、その表示結果にもとづいて制御可能な小当り遊技状態および大当り遊技状態など、特別図柄プロセス処理P_TPROCによる制御に関する各種データを記憶可能である。この特別図柄制御データエリアは、アドレスF030[H]の特別図柄プロセスタイマと、アドレスF032[H]の当りフラグと、アドレスF033[H]の特別図柄プロセスコードと、アドレスF034[H]の第1始動口入賞記憶カウンタと、アドレスF035[H]の大当り図柄判定バッファと、アドレスF036[H]の小当り図柄判定バッファと、アドレスF037[H]の大入賞口入賞個数カウンタと、アドレスF038[H]の大入賞口開放回数カウンタと、アドレスF039[H]の大入賞口開放パターンタイマと、アドレスF03B[H]の大入賞口開放パターンテーブルポインタと、アドレスF03D[H]のデモ表示フラグと、アドレスF099[H]の第2始動口入賞記憶カウンタと、を含んでいる。
特別図柄プロセスタイマは、特別図柄プロセス処理P_TPROCによる制御時間に対応した計時値を格納可能である。特別図柄プロセスコードは、特別図柄プロセス処理P_TPROCにおいて選択される処理を指定可能である。第1始動口入賞記憶カウンタは、第1保留記憶数に対応した計数値を記憶可能である。大当り図柄判定バッファは、大当り図柄指定値に対応するデータを格納可能である。大当り図柄指定値は、特別図柄の可変表示において表示結果が「大当り」の場合に表示される確定特別図柄に対応した指定値であり、大当り遊技状態の種類を設定可能にする。小当り図柄判定バッファは、小当り図柄指定値に対応するデータを格納可能である。小当り図柄指定値は、特別図柄の可変表示において表示結果が「小当り」の場合に表示される確定特別図柄に対応した指定値であり、小当り遊技状態の酒類を設定可能にする。大入賞口入賞個数カウンタは、特別可変入賞球装置50が形成する大入賞口を通過した遊技球の個数に対応した計数値を記憶可能である。大入賞口開放回数カウンタは、小当り遊技状態や大当り遊技状態における大入賞口の開放回数に対応した計数値を記憶可能である。大入賞口開放パターンタイマは、小当り遊技状態や大当り遊技状態において大入賞口を開放状態に制御する残り時間に対応した計時値を格納可能である。大入賞口開放パターンテーブルポインタは、大入賞口の開放時間が設定される大入賞口開放パターンテーブルの記憶アドレスを指定可能である。デモ表示フラグは、デモンストレーション表示を実行中であるか否かに対応して、オン状態またはオフ状態に対応したフラグ値を記憶可能である。第2始動口入賞記憶カウンタは、第2保留記憶数に対応した計数値を記憶可能である。
図10-17(B2)は、始動口入賞バッファエリアの構成例AKB22を示している。構成例AKB22の始動口入賞バッファエリアは、遊技球が第1始動入賞口や第2始動入賞口に進入して発生する第1始動入賞や第2始動入賞に関する各種データを記憶可能である。この始動口入賞バッファエリアは、アドレスF0BA[H]の始動口入賞バッファ記憶カウンタと、アドレスF0BB[H]~F0C3[H]の始動口入賞バッファ番号「0」~「8」と、を含んでいる。
始動口入賞バッファ記憶カウンタは、始動口入賞バッファエリアに有効な始動口入賞指定値が記憶されている個数に対応した計数値を記憶可能である。したがって、始動口入賞バッファ記憶カウンタの計数値は、第1始動入賞と第2始動入賞との合計回数を示す。始動口入賞バッファ番号「0」~「8」は、バッファ番号「0」~「8」が割り当てられた始動口入賞バッファであり、第1始動入賞と第2始動入賞とが発生した順に始動口入賞指定値を記憶可能である。これにより、始動口入賞バッファの記憶情報は、第1始動入賞と第2始動入賞との発生順序を示す。
図10-17(C1)は、第1演出記憶情報指定コマンド送信テーブルの構成例AKT23を示している。構成例AKT23の第1演出記憶情報指定コマンド送信テーブルは、第1演出記憶情報指定コマンド上位バイトと、第1始動口入賞記憶カウンタ参照指定値と、を示すテーブルデータが含まれるように構成されている。ステップAKS219のコマンドセット処理P_COM_SETは、第1演出記憶情報指定コマンド送信テーブルを用いた場合に、第1演出記憶情報指定コマンドを送信可能にする。第1演出記憶情報指定コマンドは、第1始動口入賞記憶カウンタの計数値に対応した下位バイトを設定可能である。このような第1演出記憶情報指定コマンドを送信することにより、演出制御基板12に対して第1保留記憶数を通知することができる。
図10-17(C2)は、第2演出記憶情報指定コマンド送信テーブルの構成例AKT24を示している。構成例AKT24の第2演出記憶情報指定コマンド送信テーブルは、第2演出記憶情報指定コマンド上位バイトと、第2始動口入賞記憶カウンタ参照指定値と、を示すテーブルデータが含まれるように構成されている。ステップAKS219のコマンドセット処理P_COM_SETは、第2演出記憶情報指定コマンド送信テーブルを用いた場合に、第2演出記憶情報指定コマンドを送信可能にする。第2演出記憶情報指定コマンドは、第2始動口入賞記憶カウンタの計数値に対応した下位バイトを設定可能である。このような第2演出記憶情報指定コマンドを送信することにより、演出制御基板12に対して第2保留記憶数を通知することができる。
図10-16に示された始動口スイッチ通過処理P_TZU_ONは、ステップAKS209によりロードしたRL2ソフトラッチ乱数値レジスタの格納値をステップAKS210によりハズレ演出選択用乱数バッファにストアすることにより、ハズレ演出選択用の乱数MR3-2について、その値を示す数値データが抽出可能になる。また、始動口スイッチ通過処理P_TZU_ONは、ステップAKS211によりロードしたRS1ソフトラッチ乱数値レジスタの格納値をステップAKS212により変動パターン種別選択用乱数バッファにストアすることにより、変動パターン種別選択用の乱数MR3-3について、その値を示す数値データが抽出可能になる。さらに、始動口スイッチ通過処理P_TZU_ONは、ステップAKS213によりロードしたRS2ソフトラッチ乱数値レジスタの格納値をステップAKS214により変動パターン用乱数バッファにストアすることにより、変動パターン用の乱数MR3-4について、その値を示す数値データが抽出可能になる。ここで、ハズレ演出選択用の乱数MR3-2を第1乱数値とし、変動パターン種別選択用の乱数MR3-3を第2乱数とし、変動パターン用の乱数MR3-4を第3乱数値とした場合に、始動口スイッチ通過処理P_TZU_ONは始動入賞の発生に対応して実行されるので、第1乱数値と第2乱数値と第3乱数値とで、始動入賞の発生という、共通となる抽出条件の成立により抽出可能になる。ハズレ演出選択用の乱数MR3-2は16ビットの乱数回路104Aにより更新可能な遊技用乱数に含まれ、変動パターン種別選択用の乱数MR3-3および変動パターン用の乱数MR3-4は8ビットの乱数回路104Bにより更新可能な遊技用乱数に含まれ、いずれも更新範囲に含まれる乱数値の総数が素数である。そして、乱数MR3-2の更新速度は469[回/ms]であるのに対し、乱数MR3-3、MR3-4の更新速度は938[回/ms]である。すなわち、乱数MR3-3、MR3-4の更新速度は、乱数MR3-2の更新速度の整数倍である2倍となっている。乱数MR3-2の更新範囲は「0」~「65518」であり、乱数MR3-3の更新範囲は「0」~「240」であり、乱数MR3-4の更新範囲は「0」~「250」なので、それぞれの更新範囲に含まれる乱数値の総数が異なり、いずれも更新範囲に含まれる乱数値の総数が素数である。このように、第2乱数値および第3乱数値の更新速度が、第1乱数値の更新速度の整数倍となる場合に、それぞれの更新範囲に含まれる乱数値の総数が異なり、いずれも更新範囲に含まれる乱数値の総数が素数である。これにより、第1乱数値と第2乱数値と第3乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
図10-18は、特別図柄通常処理P_TNORMALの一例を示すフローチャートである。特別図柄通常処理P_TNORMALは、図6に示された特別図柄プロセス処理P_TPROCから呼出可能な処理に含まれ、ステップS110によりロードされた特別図柄プロセスコードが00[H]である場合に、ステップS112にて実行可能である。CPU103は、特別図柄通常処理P_TNORMALを実行した場合に、ポインタを設定するための転送命令により、始動口入賞バッファ記憶カウンタアドレスをセットする(ステップAKS241)。始動口入賞バッファ記憶カウンタアドレスは、RAM102の遊技ワーク領域に設けられた始動口入賞バッファ記憶カウンタのアドレスである。このように、アドレスがセットされた始動口入賞バッファ記憶カウンタの計数値が「0」であるか否かを判定する(ステップAKS242)。例えば、ポインタが指すアドレスの記憶データが「0」に対応した00[H]であるか否かに対応して処理を分岐させる演算ジャンプ命令により、始動口入賞バッファ記憶カウンタの計数値が「0」である場合と「0」以外である場合とで、異なる処理内容を実行可能にする。
ステップAKS242に対応して始動口入賞バッファ記憶カウンタの計数値が「0」ではない場合に(ステップAKS242;No)、始動口入賞バッファ記憶カウンタの計数値を1減算するように更新する(ステップAKS243)。また、始動口入賞バッファのシフト用ブロック転送を行う(ステップAKS244)。ステップAKS244では、転送先アドレスを始動口入賞バッファ番号「0」の下位アドレスBB[H]に、転送元アドレスを始動口入賞バッファ番号「1」の下位アドレスBC[H]に、転送回数を始動口入賞バッファのバッファサイズである「8」に、それぞれ設定する。その後に、ブロック転送命令を実行することにより、始動口入賞バッファにおける記憶内容を、1単位ずつ前のバッファに転送してシフトさせればよい。そして、始動口入賞バッファ番号「8」の記憶領域を、クリアすることにより初期化すればよい。
ステップAKS244の次に、テーブルポインタを設定するための転送命令により、第2特別図柄判定制御テーブルアドレスをセットする(ステップAKS245)。第2特別図柄判定制御テーブルアドレスは、ROM101の遊技データ領域に記憶された第2特別図柄判定制御テーブルのアドレスである。このときに、始動口入賞チェック処理を実行することにより、始動口入賞指定値が「1」であるか否かを判定する(ステップAKS246)。例えば、始動口入賞チェック処理では、始動口入賞指定値が「1」である場合にゼロフラグがオン状態となり、始動口入賞指定値が「2」である場合にゼロフラグがオフ状態となる。このような始動口入賞チェック処理が実行された後に、ゼロフラグがオフ状態であるか否かに対応して処理を分岐させるジャンプ命令により、始動口入賞指定値が「1」である場合と「2」である場合とで、異なる処理内容を実行可能にする。
ステップAKS246に対応して始動口入賞指定値が「1」である場合に(ステップAKS246;Yes)、テーブルポインタを設定するための転送命令により、第1特別図柄判定制御テーブルアドレスをセットする(ステップAKS247)。第1特別図柄判定制御テーブルアドレスは、ROM101の遊技データ領域に記憶された第1特別図柄判定制御テーブルのアドレスである。ステップAKS247では、テーブルポインタを設定するための転送命令により、テーブルポインタの値を上書き設定する。このように、特別図柄通常処理P_TNORMALでは、ステップAKS245により第2特別図柄判定制御テーブルアドレスをセットした後に、ステップAKS246において始動口入賞指定値が「1」に対応して、ステップAKS247により第1特別図柄判定制御テーブルアドレスを上書き設定により設定し直す。これにより、第2特別図柄判定制御テーブルの使用頻度が第1特別図柄判定制御テーブルの使用頻度よりも高い場合に、テーブル設定に必要なプログラム容量を削減でき、パチンコ遊技機1の商品性を高めることができる。また、第2特別図柄判定制御テーブルの使用頻度が第1特別図柄判定制御テーブルの使用頻度よりも高い場合に、分岐命令としてのジャンプ命令による処理を簡素化して、設計段階での確認が容易になり、パチンコ遊技機1の商品性を高めることができる。
ステップAKS246に対応して始動口入賞指定値が「2」であり「1」ではない場合や(ステップAKS246;No)、ステップAKS247の後に、特別図柄判定処理P_TDECISIONを実行するとともに(ステップAKS248)、変動パターン設定処理P_TPATSETを実行してから(ステップAKS249)、特別図柄通常処理が終了する。
ステップAKS242に対応して始動口入賞バッファ記憶カウンタの計数値が「0」である場合に(ステップAKS242;Yes)、デモ表示フラグがオンであるか否かを判定する(ステップAKS250)。デモ表示フラグは、デモンストレーション表示を実行中であることを示すフラグである。デモ表示フラグがオンである場合に(ステップAKS250;Yes)、特別図柄通常処理が終了する。これに対し、デモ表示フラグがオフである場合に(ステップAKS250;No)、デモ表示フラグを設定するための転送命令により、デモ表示中指定値である01[H]をデモ表示フラグにストアする(ステップAKS251)。これにより、デモ表示フラグがオン状態に設定される。また、ポインタを設定するための転送命令により、待機時コマンド送信テーブルアドレスをセットする(ステップAKS252)。待機時コマンド送信テーブルアドレスは、ROM101の遊技データ領域に記憶された待機時コマンド送信テーブルのアドレスである。そして、コマンドセット処理P_COM_SETを実行してから(ステップAKS253)、特別図柄通常処理が終了する。
図10-19は、特別図柄通常処理P_TNORMALに関するデータ構成の使用例を説明するための図である。特別図柄通常処理P_TNORMALでは、ステップAKS245によりアドレスをセットした第2特別図柄判定制御テーブルまたはステップAKS247によりアドレスをセットした第1特別図柄判定制御テーブルを用いて、ステップAKS248の特別図柄判定処理が実行される。また、ステップAKS253のコマンドセット処理P_COM_SETでは、ステップAKS252によりアドレスをセットした待機時コマンド送信テーブルが用いられる。このように、特別図柄通常処理P_TNORMALは、第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルや待機時コマンド送信テーブルを用いて、特別図柄の可変表示である特図ゲームに関する制御を可能にする。
図10-19(A1)は、第1特別図柄判定制御テーブルの構成例AKT31を示している。構成例AKT31の第1特別図柄判定制御テーブルは、第1特別図柄バッファシフト制御テーブルのアドレスと、第1特別図柄判定用バッファ番号「0」の下位アドレスと、第1当り図柄用バッファ番号「0」の下位アドレスと、第1特別図柄バッファの下位アドレスと、第1特別図柄当り判定後ワーク設定テーブルのアドレスと、を示すテーブルデータが含まれるように構成されている。第1特別図柄バッファシフト制御テーブルは、ROM101の遊技データ領域に記憶され、第1特別図柄保留バッファの記憶内容をシフトさせるときに用いられる。第1特別図柄判定用バッファ番号「0」は、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1特別図柄判定用バッファである。第1当り図柄用バッファ番号「0」は、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1当り図柄用バッファである。第1特別図柄バッファは、RAM102の遊技ワーク領域に設けられ、第1特別図柄表示装置4Aによる第1特図ゲームにおいて停止表示される確定特別図柄に対応する特別図柄パターン指定値を記憶可能である。第1特別図柄当り判定後ワーク設定テーブルは、ROM101の遊技データ領域に記憶され、特別図柄判定処理P_TDECISIONの終了に対応してデータを初期化するときに用いられる。
図10-19(A2)は、第2特別図柄判定制御テーブルの構成例AKT32を示している。構成例AKT32の第2特別図柄判定制御テーブルは、第2特別図柄バッファシフト制御テーブルのアドレスと、第2特別図柄判定用バッファ番号「0」の下位アドレスと、第2当り図柄用バッファ番号「0」の下位アドレスと、第2特別図柄バッファの下位アドレスと、第2特別図柄当り判定後ワーク設定テーブルのアドレスと、を示すテーブルデータが含まれるように構成されている。第2特別図柄バッファシフト制御テーブルは、ROM101の遊技データ領域に記憶され、第2特別図柄保留バッファの記憶内容をシフトさせるときに用いられる。第2特別図柄判定用バッファ番号「0」は、第2特別図柄保留バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2特別図柄判定用バッファである。第2当り図柄用バッファ番号「0」は、第2特別図柄保留バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2当り図柄用バッファである。第2特別図柄バッファは、RAM102の遊技ワーク領域に設けられ、第2特別図柄表示装置4Bによる第2特図ゲームにおいて停止表示される確定特別図柄に対応する特別図柄パターン指定値を記憶可能である。第2特別図柄当り判定後ワーク設定テーブルは、ROM101の遊技データ領域に記憶され、特別図柄判定処理P_TDECISIONの終了に対応してデータを初期化するときに用いられる。
図10-19(B)は、待機時コマンド送信テーブルAKT33の構成例AKT33を示している。構成例AKT33の待機時コマンド送信テーブルは、処理数と、第2特定回数指定コマンド上位バイトと、特定回数コマンドバッファ参照指定値と、背景色指定コマンド上位バイトと、特別図柄状態指定コード参照指定値と、客待ちデモコマンド上位バイトと、客待ちデモコマンド下位バイトと、を示すテーブルデータが含まれるように構成されている。ステップAKS253のコマンドセット処理P_COM_SETは、構成例AKT33の待機時コマンド送信テーブルを用いて、第2特定回数指定コマンド、背景色指定コマンド、客待ちデモコマンドを、それぞれ送信可能にする。第2特定回数指定コマンドは、特定回数コマンドバッファの格納値に対応した下位バイトを設定可能である。背景色指定コマンドは、特別図柄状態指定コードに対応した下位バイトを設定可能である。客待ちデモコマンドは、固定値03[H]を用いた下位バイトを設定可能である。
図10-20は、特別図柄判定処理P_TDECISIONの一例を示すフローチャートである。特別図柄判定処理P_TDECISIONは、図10-18に示された特別図柄通常処理P_TNORMALから呼出可能な処理に含まれ、特別図柄の可変表示を開始する場合に、ステップAKS248にて実行可能である。CPU103は、特別図柄判定処理P_TDECISIONを実行した場合、ポインタを設定するための転送命令により、特別図柄バッファシフト制御テーブルアドレスをセットする(ステップAKS301)。特別図柄バッファシフト制御テーブルアドレスは、ROM101の遊技データ領域に記憶された第1特別図柄バッファシフト制御テーブルまたは第2特別図柄バッファシフト制御テーブルのアドレスである。ステップAKS301では、特別図柄通常処理P_TNORMALによりセットされた第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに対応して、遊技データ領域における異なるアドレスを指定可能である。例えば、第1特別図柄判定制御テーブルがセットされた場合に、第1特別図柄バッファシフト制御テーブルのアドレス13C2[H]を示す値がポインタにセットされる。また、第2特別図柄判定制御テーブルがセットされた場合に、第2特別図柄バッファシフト制御テーブルのアドレス13C8[H]を示す値がポインタにセットされる。
ステップAKS301に続いて、特別図柄バッファシフト処理P_TBUFSHIFTが実行される(ステップAKS302)。ステップAKS302の特別図柄バッファシフト処理P_TBUFSHIFTは、ステップAKS301によりアドレスがセットされた第1特別図柄バッファシフト制御テーブルまたは第2特別図柄バッファシフト制御テーブルを用いて、第1特別図柄保留バッファまたは第2特別図柄保留バッファの記憶内容をシフト可能である。例えば、転送先アドレス、転送元アドレス、転送回数を設定した後に、ブロック転送命令を実行することにより、第1特別図柄バッファの第1保留記憶用バッファや第2特別図柄バッファの第2保留記憶用バッファにおける記憶内容を、1単位ずつ前のバッファに転送してシフトさせればよい。
ステップAKS302の次に、バッファ番号「0」の特別図柄判定用バッファをロードする(ステップAKS303)。バッファ番号「0」の特別図柄判定用バッファは、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1特別図柄判定用バッファ、または、第2特別図柄判定用バッファである。ステップAKS303では、特別図柄通常処理P_TNORMALによりセットされた第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに対応して、第1特別図柄保留バッファまたは第2特別図柄保留バッファから、特別図柄判定用バッファの格納値を読出可能である。例えば、作業領域となる遊技ワーク領域の上位アドレスF0[H]を、転送命令によりポインタの上位バイトに設定するとともに、テーブルポインタの指す第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに記憶された第1特別図柄判定用バッファ番号「0」または第2特別図柄判定用バッファ番号「0」の下位アドレスを、転送命令によりポインタの下位バイトに設定した後に、ポインタの指す遊技ワーク領域におけるアドレスの記憶データを読み出すことで、バッファ番号「0」の特別図柄判定用バッファに記憶された特別図柄判定用の乱数MR1-1を読出可能であればよい。
ステップAKS303の後に、特別図柄大当り判定処理P_TFVR_CHKが実行される(ステップAKS304)。ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKは、ステップAKS303により読み出された特別図柄判定用の乱数MR1-1について、その値を大当り判定値と比較することにより、特図表示結果を「大当り」とするか否かを判定可能である。特図表示結果を「大当り」とするか否かの判定は、特別図柄大当り判定とも称し、有利状態としての大当り遊技状態に制御するか否かの判定となる。そして、特別図柄大当り判定において特図表示結果を「大当り」とする判定がなされた場合に、大当り指定値となる01[H]が、当りフラグにストアされる。当りフラグは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF032[H]が割り当てられている。ステップAKS304の特別図柄大当り判定処理は、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、当りフラグに大当り指定値を格納可能にすればよい。なお、当りフラグは、ステップAKS304における特別図柄大当り判定処理P_TFVR_CHKの開始に対応して実行されるクリア命令により、初期値となる00[H]を設定可能であればよい。
ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKとともに、特別図柄小当り判定処理P_TLITTLE_CHKが実行される(ステップAKS305)。ステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKは、ステップAKS303により特別図柄判定用バッファをロードすることで読み出された特別図柄判定用の乱数MR1-1について、その値を小当り判定値と比較することにより、特図表示結果を「小当り」とするか否かを判定可能である。特図表示結果を「小当り」とするか否かの判定は、特別図柄小当り判定とも称し、所定状態としての小当り遊技状態に制御するか否かの判定となる。そして、特別図柄小当り判定において特図表示結果を「小当り」とする判定がなされた場合に、小当り指定値となる02[H]が、当りフラグにストアされる。ステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKは、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、当りフラグに小当り指定値を格納可能にすればよい。
ステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKにおいて、小当り判定値は、大当り判定値とは異なる範囲に含まれているので、特別図柄大当り判定により特図表示結果を「大当り」とする判定がなされた後に、特別図柄小当り判定により特図表示結果を「小当り」とする判定がなされることはない。ただし、例えばエラー発生などにより、特別図柄大当り判定により特図表示結果を「大当り」とする判定がなされた後に、特別図柄小当り判定により特図表示結果を「小当り」とする判定がなされ場合は、当りフラグに小当り指定値がストアされることになる。したがって、特別図柄大当り判定により特図表示結果を「大当り」とする判定と、特別図柄小当り判定により特図表示結果を「小当り」とする判定とが競合した場合に、小当り遊技状態よりも有利度が高い大当り遊技状態に制御されないように、判定処理の不具合による不正行為を防止して、適切な遊技の制御が可能になる。
ステップS305の特別図柄小当り判定処理P_TLITTLE_CHKを実行すると、バッファ番号「0」の当り図柄用バッファをロードする(ステップAKS306)。バッファ番号「0」の当り図柄用バッファは、第1特別図柄バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1当り図柄用バッファ、または、第2特別図柄バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2当り図柄用バッファである。ステップAKS306では、特別図柄通常処理P_TNORMALによりアドレスがセットされた第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに対応して、第1特別図柄バッファまたは第2特別図柄バッファから、当り図柄用バッファの格納値を読出可能である。例えば、作業領域となる遊技ワーク領域の上位アドレスF0[H]を、転送命令によりバッファポインタの上位バイトに設定するとともに、テーブルポインタの指す第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに記憶された特別図柄判定用バッファの下位アドレスを、転送命令によりバッファポインタの下位バイトに設定した後に、バッファポインタの指す遊技ワーク領域におけるアドレスの記憶データを読み出すことで、バッファ番号「0」の当り図柄用バッファに記憶された当り図柄用の乱数MR1-2を読出可能であればよい。
ステップAKS306の後に、特別図柄バッファ下位アドレスをロードする(ステップAKS307)。特別図柄バッファ下位アドレスは、RAM102の遊技ワーク領域に設けられた第1特別図柄バッファまたは第2特別図柄バッファのアドレスである。ステップAKS307では、特別図柄通常処理P_TNORMALによりアドレスがセットされた第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに対応して、異なる下位アドレスを指定可能である。例えば、第1特別図柄判定制御テーブルがセットされた場合に、第1特別図柄バッファの下位アドレスB8[H]を示す値がバッファポインタの下位バイトにセットされる。また、第2特別図柄判定制御テーブルがセットされた場合に、第2特別図柄バッファの下位アドレスB9[H]を示す値がバッファポインタの下位バイトにセットされる。バッファポインタの上位バイトには、ステップAKS306により、遊技ワーク領域の上位アドレスF0[H]が既に格納されている。
ステップAKS307に続いて、特別図柄情報設定処理P_TZU_SETが実行される(ステップAKS308)。特別図柄情報設定処理P_TZU_SETは、特図ゲームにおいて停止表示される確定特別図柄を決定可能にして、決定結果に対応する特別図柄パターン指定値を特別図柄バッファに格納可能である。特別図柄情報設定処理P_TZU_SETの次に、特別図柄当り判定後ワーク設定テーブルアドレスをセットする(ステップAKS309)。特別図柄当り判定後ワーク設定テーブルアドレスは、ROM101の遊技データ領域に記憶された第1特別図柄当り判定後ワーク設定テーブルまたは第2特別図柄当り判定後ワーク設定テーブルのアドレスである。ステップAKS309では、特別図柄通常処理P_TNORMALによりアドレスがセットされた第1特別図柄判定制御テーブルまたは第2特別図柄判定制御テーブルに対応して、遊技データ領域における異なるアドレスを指定可能である。例えば、第1特別図柄判定制御テーブルがセットされた場合に、第1特別図柄当り判定後ワーク設定テーブルのアドレス12BB[H]を示す値がポインタにセットされる。また、第2特別図柄判定制御テーブルがセットされた場合に、第2特別図柄当り判定後ワーク設定テーブルのアドレス12C0[H]を示す値がポインタにセットされる。
ステップAKS309の次に、データセット処理P_DATASETを実行して(ステップAKS310)、特別図柄判定処理P_TDECISIONが終了する。ステップAKS310のデータセット処理P_DATASETは、ステップAKS309によりアドレスがセットされた特別図柄当り判定後ワーク設定テーブルを用いて、バッファ番号「0」の第1保留記憶用バッファまたは第2保留記憶用バッファにおいて、特別図柄判定用バッファと当り図柄用バッファとを、クリアすることにより初期化可能にする。例えば、第1特別図柄当り判定後ワーク設定テーブルがセットされた場合に、第1特別図柄保留バッファに含まれるバッファ番号「0」の第1保留記憶用バッファにおいて、第1特別図柄判定用バッファと第1当り図柄用バッファとが、初期化される。また、第2特別図柄当り判定後ワーク設定テーブルがセットされた場合に、第2特別図柄保留バッファに含まれるバッファ番号「0」の第2保留記憶用バッファにおいて、第2特別図柄判定用バッファと第2当り図柄用バッファとが、初期化される。
図10-21は、特別図柄判定処理P_TDECISIONに関するデータ構成の使用例を説明するための図である。特別図柄判定処理P_TDECISIONでは、ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKやステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKにより、特別図柄判定用の乱数MR1-1を用いて、特別図柄の可変表示における表示結果を、「大当り」とするか否かや「小当り」とするか否かが、可変表示の開始に対応して判定される。また、ステップAKS308の特別図柄情報設定処理P_TZU_SETでは、ステップAKS307により下位アドレスをロードした特別図柄バッファが用いられる。このように、特別図柄判定処理P_TDECISIONは、特別図柄判定用の乱数MR1-1や特別図柄バッファを用いて、特別図柄の可変表示である特図ゲームに関する制御を可能にする。
図10-21(A)は、ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKやステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKによる特別図柄判定例AKC01を示している。ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKは、特別図柄判定用の乱数MR1-1について、その値が大当り判定範囲内であるか否かを判定するために、大当り判定値との比較演算を実行可能にする。大当り判定値は、大当り下限判定値と、大当り上限判定値と、を含む。そして、大当り下限判定値から乱数MR1-1の値を減算した場合に、キャリーフラグがオフ状態であれば乱数MR1-1の値は大当り下限判定値以下の値であり、キャリーフラグがオン状態であれば乱数MR1-1の値は大当り下限判定値を超える値である。乱数MR1-1の値が大当り下限判定値以下の値であれば、大当り判定範囲内ではないことに対応して、特別図柄大当り判定処理P_TFVR_CHKを終了することで特別図柄判定処理P_TDECISIONにリターンする。これに対し、乱数MR1-1の値が大当り下限判定値を超える値である場合に、大当り上限判定値から乱数MR1-1の値を減算する。このとき、キャリーフラグがオフ状態であれば乱数MR1-1の値は大当り上限判定値以下の値であり、キャリーフラグがオン状態であれば乱数MR1-1の値は大当り上限判定値を超える値である。そこで、乱数MR1-1の値が大当り上限判定値以下の値であれば、大当り判定範囲内であることに対応して、大当り指定値となる01[H]を当りフラグにストアする。乱数MR1-1の値が大当り上限判定値を超える値であれば、大当り判定範囲内ではないことに対応して、特別図柄大当り判定処理P_TFVR_CHKを終了することで特別図柄判定処理P_TDECISIONにリターンする。
一例として、大当り下限判定値は「60000」となり、大当り上限判定値は「60285」となるように、予め設定されていればよい。これにより、特別図柄判定例AKC01のように、始動口入賞指定値が「1」と「2」とに対応して、乱数MR1-1の値が「60001」から「60285」までの大当り判定範囲内である場合に、特図表示結果についての判定結果が「大当り」となる。
ステップAKS305の特別図柄小当り判定処理P_TLITTLE_CHKは、特別図柄判定用の乱数MR1-1について、その値が小当り判定範囲内であるか否かを判定するために、小当り判定値との比較演算を実行可能にする。小当り判定値は、小当り下限判定値と、小当り上限判定値と、を含む。そして、小当り下限判定値から乱数MR1-1の値を減算した場合に、キャリーフラグがオフ状態であれば乱数MR1-1の値は小当り下限判定値以下の値であり、キャリーフラグがオン状態であれば乱数MR1-1の値は小当り下限判定値を超える値である。乱数MR1-1の値が小当り下限判定値以下の値であれば、小当り判定範囲内ではないことに対応して、特別図柄小当り判定処理P_TLITTLE_CHKを終了することで特別図柄判定処理P_TDECISIONにリターンする。これに対し、乱数MR1-1の値が小当り下限判定値を超える値である場合に、小当り上限判定値から乱数MR1-1の値を減算する。このとき、キャリーフラグがオフ状態であれば乱数MR1-1の値は小当り上限判定値以下の値であり、キャリーフラグがオン状態であれば乱数MR1-1の値は小当り上限判定値を超える値である。そこで、乱数MR1-1の値が小当り上限判定値以下の値であれば、小当り判定範囲内であることに対応して、小当り指定値となる02[H]を当りフラグにストアする。乱数MR1-1の値が小当り上限判定値を超える値であれば、小当り判定範囲内ではないことに対応して、特別図柄小当り判定処理P_TLITTLE_CHKを終了することで特別図柄判定処理P_TDECISIONにリターンする。小当り上限判定値は、始動口入賞指定値が「1」である場合と「2」である場合とに対応して、異なる値が設定されてもよい。
一例として、小当り下限判定値は、始動口入賞指定値が「1」である場合と「2」である場合とで共通の「21000」となるように、予め設定されていればよい。また、小当り上限判定値は、始動口入賞判定値が「1」である場合に「21285」となり、始動口入賞指定値が「2」である場合に「29282」となるように、予め設定されていればよい。これにより、特別図柄判定例AKC01のように、始動口入賞指定値が「1」に対応して、乱数MR1-1の値が「21001」から「21285」までの小当り判定範囲内である場合と、始動口入賞指定値が「2」に対応して、乱数MR1-1の値が「21001」から「29282」までの小当り判定範囲内である場合に、特図表示結果についての判定結果が「小当り」となる。
図10-21(B)は、特別図柄バッファエリアの構成例AKB31を示している。構成例AKB31の特別図柄バッファエリアは、特別図柄の表示結果として停止表示される確定特別図柄に対応して、特別図柄パターン指定値を記憶可能である。この特別図柄バッファエリアは、アドレスF0B8[H]の第1特別図柄バッファと、アドレスF0B9[H]の第2特別図柄バッファと、を含んでいる。第1特別図柄バッファは、第1特別図柄表示装置4Aによる第1特図ゲームが実行される場合に、特別図柄パターン指定値を記憶可能である。第2特別図柄バッファは、第2特別図柄表示装置4Bによる第2特図ゲームが実行される場合に、特別図柄パターン指定値を記憶可能である。特別図柄パターン指定値は、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる特別図柄の可変表示における表示結果となる確定特別図柄に対応した表示パターンの指定値であり、大当り特別図柄パターン指定値と小当り特別図柄パターン指定値とを含む。大当り特別図柄パターン指定値は、特別図柄の可変表示において表示結果が「大当り」の場合に、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bにより表示される確定特別図柄に対応した表示パターンの指定値である。小当り特別図柄パターン指定値は、特別図柄の可変表示において表示結果が「小当り」の場合に、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bにより表示される確定特別図柄に対応した表示パターンの指定値である。
図10-22は、特別図柄情報設定処理P_TZU_SETの一例を示すフローチャートである。特別図柄情報設定処理P_TZU_SETは、図10-20に示された特別図柄判定処理P_TDECISIONから呼出可能な処理に含まれ、ステップAKS304の特別図柄大当り判定処理P_TFVR_CHKやステップAKS305の特別図柄小当り判定処理P_LITTLE_CHKが実行された後に、ステップAKS308にて実行可能である。CPU103は、特別図柄情報設定処理P_TZU_SETを実行した場合、当りフラグをロードする(ステップAKS321)。当りフラグは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF032[H]が割り当てられている。ステップAKS321では、RAM102の遊技ワーク領域における指定アドレスの記憶データを読み出すための転送命令により、当りフラグをロードすればよい。そして、当りフラグと、大当り指定値に対応する判定値と、を比較可能な演算ジャンプ命令により、当りフラグが大当り指定値ではないことを確認する(ステップAKS322)。
ステップAKS322に対応して当りフラグが大当り指定値である場合に(ステップAKS322;No)、バッファ番号「0」の当り図柄用バッファをセットする(ステップAKS323)。バッファ番号「0」の当り図柄用バッファは、その格納値が図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS306によりロードされている。このロード内容を、CPU103の内部レジスタに含まれる処理用レジスタへと転送することにより、処理対象としてセットすればよい。このようにセットされたバッファ番号「0」の当り図柄用バッファについて、その格納値を特別図柄バッファにストアする(ステップAKS324)。特別図柄バッファは、図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS307により下位アドレスがロードされた第1特別図柄バッファまたは第2特別図柄バッファである。これにより、バッファ番号「0」の当り図柄用バッファに格納された当り図柄用の乱数MR1-2について、その乱数値を示す数値データが第1特別図柄バッファまたは第2特別図柄バッファに格納される。したがって、乱数MR1-2の値を示す数値データは、特図表示結果が「大当り」の場合に確定特別図柄が大当り図柄である特別図柄に対応して、大当り特別図柄パターン指定値として使用可能である。
ステップAKS324に続いて、バッファ番号「0」の始動口入賞バッファを、始動口入賞指定値にロードする(ステップAKS325)。バッファ番号「0」の始動口入賞バッファは、図10-17(B2)に示された構成例AKB22の始動口入賞バッファエリアに設けられ、アドレスF0BB[H]が割り当てられている。ステップAKS325では、RAM102の遊技ワーク領域における指定アドレスの記憶領域から記憶データを読み出すための転送命令により、バッファ番号「0」の始動口入賞バッファをロードすればよい。
ステップAKS325の後に、大当り情報データ選択処理P_TFVR_ZUが実行される(ステップAKS326)。大当り情報データ選択処理P_TFVR_ZUは、ステップAKS325によりロードされた始動口入賞指定値や、図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS306によりロードされた当り図柄用バッファの格納値などを用いて、大当り図柄指定値を決定可能にして、決定結果に対応する大当り情報設定用データを設定可能である。大当り情報設定用データは、大当り演出指定値と、ファンファーレ表示指定値と、大当り終了表示指定値と、を示すデータである。このような大当り情報データ選択処理P_TFVR_ZUにより決定された大当り図柄指定値を、大当り図柄判定バッファにストアする(ステップAKS327)。大当り図柄判定バッファは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF035[H]が割り当てられている。ステップAKS327では、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、大当り図柄指定値をストアすればよい。
ステップAKS327の次に、大当り情報設定用データを転送する(ステップAKS328)。この場合に、ROM101の遊技データ領域に記憶された大当り情報設定用テーブルにおいて、大当り図柄指定値の決定結果に対応する大当り情報設定用データの記憶アドレスが、転送元を指定するポインタにセットされる。また、RAM102の遊技ワーク領域に設けられた演出図柄情報バッファのアドレスが、転送先を指定するバッファポインタにセットされる。さらに、大当り情報設定用データのデータサイズが、転送回数にセットされる。その後、ブロック転送命令により、大当り情報設定用テーブルから読み出した大当り情報設定用データを、演出図柄情報バッファ、ファンファーレ表示バッファ、大当り終了表示バッファへと、転送して格納すればよい。このときに、変動コマンド指定バッファの設定を行う(ステップAKS329)。変動コマンド指定バッファは、RAM102の遊技ワーク領域にて大当り終了表示バッファの次アドレスに設けられ、ステップAKS327のブロック転送命令により更新された転送先のアドレスを用いて、格納値を設定可能である。例えば、特図表示結果が「大当り」に決定されたことに対応する変動コマンド指定値である01[H]を、変動コマンド指定バッファの格納値として設定すればよい。なお、大当り遊技状態の終了後における演出状態や、演出図柄情報バッファの格納値などに対応して、変動コマンド指定バッファをクリアすることで、その格納値が00[H]に初期化される場合があってもよい。
ステップAKS329により変動コマンド指定バッファを設定すると、大入賞口開放回数最大値バッファの設定を行う(ステップAKS330)。大入賞口開放回数最大値バッファは、RAM102の遊技ワーク領域にて変動コマンド指定バッファの次アドレスに設けられ、大当り遊技状態において大入賞口を開放状態に制御する開放回数の最大値を格納可能である。ステップAKS330では、ステップAKS326の大当り情報データ選択処理P_TFVR_ZUにより決定された大当り図柄指定値と、ROM101の遊技データ領域に記憶された大入賞口開放回数最大値テーブルと、を用いて大入賞口開放回数最大値を決定可能である。このとき決定された大入賞口開放回数最大値に対応する格納値を、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、大入賞口開放回数最大値バッファにストアすればよい。
ステップAKS322に対応して当りフラグが大当り指定値ではない場合に(ステップAKS322;Yes)、その当りフラグと、小当り指定値に対応する判定値と、を比較可能な演算ジャンプ命令により、当りフラグが小当り指定値ではないことを確認する(ステップAKS331)。当りフラグが小当り指定値である場合に(ステップAKS331;No)、小当り特別図柄パターン指定値を特別図柄バッファにストアする(ステップAKS332)。小当り特別図柄パターン指定値は、バッファ番号「0」の当り図柄用バッファから読み出した格納値に、予め設定された小当り図柄加算値を加算することにより作成されてもよい。また、小当り特別図柄パターン指定値は、大当り特別図柄パターン指定値とは異なる値が予め用意されてもよい。特別図柄バッファは、図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS307により下位アドレスがロードされた第1特別図柄バッファまたは第2特別図柄バッファである。ステップAKS332では、小当り図柄加算値などを用いて作成された小当り特別図柄パターン指定値を、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、第1特別図柄バッファまたは第2特別図柄バッファにストアすればよい。
ステップAKS332により小当り特別図柄パターン指定値をストアした後に、小当り図柄指定値を決定する(ステップAKS333)。小当り図柄指定値は、図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS306によりロードされた当り図柄用バッファの格納値と、始動口入賞指定値に対応してセットされる第1小当り状態設定用テーブルまたは第2小当り状態設定用テーブルと、を用いて決定可能である。このとき決定された小当り図柄指定値を、小当り図柄判定バッファにストアする(ステップAKS334)。小当り図柄判定バッファは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF036[H]が割り当てられている。ステップAKS334では、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、小当り図柄指定値をストアすればよい。
ステップAKS334の次に、小当り演出指定値を決定する(ステップAKS335)。小当り演出指定値は、ROM101の遊技データ領域に記憶された小当り情報設定用テーブルと、ステップAKS333により決定された小当り図柄指定値と、を用いて決定可能である。このとき決定された小当り演出指定値を、演出図柄情報バッファにストアする(ステップAKS336)。ステップAKS336では、ステップAKS335により決定された小当り演出指定値を、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、演出図柄情報バッファにストアすればよい。
ステップAKS336により小当り演出指定値をストアすると、小当り情報設定用データを転送する(ステップAKS337)。小当り情報設定用データは、小当りファンファーレ表示指定値と、小当りエンディング表示指定値と、を示すデータである。ステップAKS337では、ROM101の遊技データ領域に記憶された小当り情報設定用テーブルにおいて、小当り演出指定値の決定結果に対応する小当り情報設定用データの記憶アドレスが、転送元を指定するポインタに設定される。また、RAM102の遊技ワーク領域に設けられた小当りファンファーレ表示バッファのアドレスが、転送先にセットされる。さらに、小当り情報設定用データのデータサイズが、転送回数にセットされる。その後、ブロック転送命令により、小当り情報設定用テーブルから読み出した小当り情報設定用データを、小当りファンファーレ表示バッファ、小当りエンディング表示バッファへと、転送して格納すればよい。
ステップAKS331に対応して当りフラグが小当り指定値ではない場合に(ステップAKS331;Yes)、ハズレ特別図柄パターン指定値を特別図柄バッファにストアする(ステップAKS338)。ハズレ特別図柄パターン指定値は、大当り特別図柄パターン指定値や小当り特別図柄パターン指定値とは異なる値が予め用意されていればよい。例えば、ハズレ特別図柄パターン指定値としてF1[H]を設定可能であってもよい。特別図柄バッファは、図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS307により下位アドレスがロードされた第1特別図柄バッファまたは第2特別図柄バッファである。ステップAKS338では、予め用意されたハズレ特別図柄パターン指定値を、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、第1特別図柄バッファまたは第2特別図柄バッファにストアすればよい。
ステップAKS338に続いて、演出図柄情報バッファをクリアする(ステップAKS339)。演出図柄情報バッファは、特図表示結果が「大当り」や「小当り」の場合に対応した演出指定値を格納可能である。その一方で、特図表示結果が「ハズレ」の場合に対応して、演出図柄情報バッファをクリアすることで、その格納値を00[H]に初期化する。また、変動コマンド指定バッファをクリアする(ステップAKS340)。
ステップAKS330、AKS337、AKS340の後に、ポインタを設定するための転送命令により、変動開始前コマンド送信テーブルアドレスをセットする(ステップAKS341)。変動開始前コマンド送信テーブルアドレスは、ROM101の遊技データ領域に記憶された変動開始前コマンド送信テーブルのアドレスである。そして、コマンドセット処理P_COM_SETを実行してから(ステップAKS342)、特別図柄情報設定処理P_TZU_SETが終了する。
図10-23は、大当り情報データ選択処理P_TFVR_ZUの一例を示すフローチャートである。大当り情報データ選択処理P_TFVR_ZUは、図10-22に示された特別図柄情報設定処理P_TZU_SETにおいて呼び出され、ステップAKS322において当りフラグが大当り指定値である場合に、ステップAKS326にて実行可能である。CPU103は、大当り情報データ選択処理P_TFVR_ZUを実行した場合、ポインタを設定するための転送命令により、第2大当り状態設定用テーブルアドレスをセットする(ステップAKS401)。第2大当り状態設定用テーブルアドレスは、ROM101の遊技データ領域に記憶された第2大当り状態設定用テーブルのアドレスである。
ステップAKS401に続いて、始動口入賞指定値が「1」ではないことを確認する(ステップAKS402)。始動口入賞指定値は、図10-22に示された特別図柄情報設定処理P_TZU_SETのステップAKS325により、CPU103の内部レジスタに格納されている。この始動口入賞指定値が「1」である場合に(ステップAKS402;No)、ポインタを設定するための転送命令により、第1大当り状態設定用テーブルアドレスをセットする(ステップAKS403)。第1大当り状態設定用テーブルアドレスは、ROM101の遊技データ領域に記憶された第1大当り状態設定用テーブルのアドレスである。ステップAKS403では、ポインタを設定するための転送命令により、ポインタの値を上書き設定する。このように、特別図柄情報設定処理P_TZU_SETでは、ステップAKS401により第2大当り状態設定用テーブルアドレスをセットした後に、ステップAKS402において始動口入賞指定値が「1」に対応して、ステップAKS403により第1大当り状態設定用テーブルアドレスを上書き設定により設定し直す。これにより、第2大当り状態設定用テーブルの使用頻度が第1大当り状態設定用テーブルの使用頻度よりも高い場合に、テーブル設定に必要なプログラム容量を削減でき、パチンコ遊技機1の商品性を高めることができる。また、第2大当り状態設定用テーブルの使用頻度が第1大当り状態設定用テーブルの使用頻度よりも高い場合に、分岐命令としてのジャンプ命令による処理を簡素化して、設計段階での確認が容易になり、パチンコ遊技機1の商品性を高めることができる。
ステップAKS402に対応して始動口入賞指定値が「2」であり「1」ではない場合や(ステップAKS401;Yes)、ステップAKS403の後に、当り図柄用バッファをセットする(ステップAKS404)。当り図柄用バッファは、その格納値が図10-20に示された特別図柄判定処理P_TDECISIONのステップAKS306によりロードされたバッファ番号「0」の当り図柄用バッファである。このロード内容を、CPU103の内部レジスタに含まれる処理用レジスタへと転送することにより、処理対象としてセットすればよい。このようにセットされた当り図柄用バッファの格納値を、ステップAKS401によりセットされた第2大当り状態設定用テーブルまたはステップAKS403によりセットされた第1大当り状態設定用テーブルとともに用いて、第2振り分け判定値比較処理P_HANTEI2が実行される(ステップAKS405)。
第2振り分け判定値比較処理P_HANTEI2は、テーブル先頭アドレスの記憶データを開始番号データとし、次アドレスの記憶データを処理数データとして、開始番号データを振り分け結果データに初期設定する。その後、比較値としてセットされた数値データと、処理数データの次アドレス以降における記憶データが示す振り分け判定値と、を比較する処理を、テーブルアドレスの先頭側から最終側へと増加する順に、比較値を超える振り分け判定値となるまで実行可能にする。このとき、比較値以下の振り分け判定値であれば振り分け結果データを1加算するように更新して次の比較に進み、比較値を超える振り分け判定値であれば第2振り分け判定値比較処理P_HANTEI2が終了する。比較回数が処理数データに対応する回数となっても比較値を超える振り分け判定値ではなければ、次アドレス以降の記憶データを用いて、開始番号データや処理数データの設定から処理を繰り返せばよい。ステップAKS405の第2振り分け判定値比較処理P_HANTEI2は、当り図柄用バッファの格納値である当り図柄用の乱数MR1-2が比較値としてセットされ、第1大当り状態設定用テーブルまたは第2大当り状態設定用テーブルの記憶データにより、振り分け結果データが示す大当り図柄指定値を、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bによる表示結果に対応する大当り遊技状態の種類として決定可能にする。第2振り分け判定値比較処理P_HANTEI2は、特別図柄情報設定処理P_TZU_SETのステップAKS333により小当り図柄指定値を決定する場合にも実行可能であればよい。この場合に、当り図柄用バッファの格納値である当り図柄用の乱数MR1-2が比較値としてセットされ、第1小当り状態設定用テーブルまたは第2小当り状態設定用テーブルの記憶データにより、振り分け結果データが示す小当り指定値を、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bによる表示結果に対応する小当り遊技状態の種類として決定可能にする。
ステップAKS405の第2振り分け判定値比較処理P_HANTEI2が終了すると、大当り情報設定用データを決定する(ステップAKS406)。大当り情報設定用データは、演出状態選択バッファの格納値に対応して選択された大当り情報データ指定テーブルと、ステップAKS405の第2振り分け判定値比較処理P_HANTEI2により決定された大当り図柄指定値と、を用いて、予め用意された複数種類のデータセットのうちから選択可能であればよい。演出状態選択バッファは、大当り遊技状態の終了後における演出状態に対応した格納値を設定可能であればよい。
図10-24は、特別図柄情報設定処理P_TZU_SETおよび大当り情報データ選択処理P_TFVR_ZUに関して、大当り遊技状態の制御に対応したデータ構成の使用例を説明するための図である。特別図柄情報設定処理P_TZU_SETのステップAKS322において当りフラグが大当り指定値である場合に、ステップAKS326にて大当り情報データ選択処理P_TFVR_ZUを実行可能である。この大当り情報データ選択処理P_TFVR_ZUでは、ステップAKS401によりアドレスがセットされた第2大当り状態設定用テーブルまたはステップAKS403によりアドレスがセットされた第1大当り状態設定用テーブルを用いて、ステップAKS405の第2振り分け判定値比較処理P_HANTEI2が実行されることで、大当り図柄指定値を決定可能にする。その後、特別図柄情報設定処理P_TZU_SETのステップAKS328では、大当り図柄指定値に対応して大当り情報設定用テーブルから読み出した大当り情報設定用データを、演出図柄情報バッファ、ファンファーレ表示バッファ、大当り終了表示バッファへと、転送して格納可能である。演出図柄情報バッファ、ファンファーレ表示バッファ、大当り終了表示バッファは、演出図柄情報エリアに設けられ、大当り遊技状態に制御される場合の設定用データを格納可能である。また、特別図柄情報設定処理P_TZU_SETのステップAKS330では、大入賞口開放回数最大値テーブルを用いて、大当り図柄指定値に対応した大入賞口開放回数最大値を決定可能にする。
このように、大当り情報データ選択処理P_TFVR_ZUは、第1大当り状態設定用テーブルまたは第2大当り状態設定用テーブルを用いて、大当り図柄指定値を決定可能にする。特別図柄情報設定処理P_TZU_SETは、演出図柄情報エリアに設けられた演出図柄情報バッファやファンファーレ表示バッファや大当り表示バッファの格納値を設定可能であるとともに、大当り図柄指定値に対応した大入賞口開放回数最大値を決定可能にする。
図10-24(A1)は、第1大当り状態設定用テーブルの構成例AKT41を示している。構成例AKT41の第1大当り状態設定用テーブルは、先頭アドレス1AFD[H]に大当り図柄指定値「1」と対応する値00[H]が記憶され、次アドレス1AFE[H]に処理数を示す値0A[H]が記憶されている。そして、アドレス1AFF[H]以降における記憶データは、大当り図柄指定値「1」~「10」に対応した振り分け判定値を示している。ステップAKS405の第2振り分け判定値比較処理P_HANTEI2は、構成例AKT41の第1大当り状態設定用テーブルを用いた場合に、当り図柄用バッファの格納値が示す当り図柄用の乱数MR1-2に対応して、大当り図柄指定値「1」~「10」のいずれかに決定可能である。例えば、当り図柄用の乱数MR1-2が乱数最小値の「0」に対応した00[H]である場合に、大当り図柄指定値「1」が決定される。
図10-24(A2)は、第2大当り状態設定用テーブルの構成例AKT42を示している。構成例AKT42の第2大当り状態設定用テーブルは、先頭アドレス1B09[H]に大当り図柄指定値「11」と対応する値0A[H]が記憶され、次アドレス1B0A[H]に処理数を示す値04[H]が記憶されている。そして、アドレス1B0B[H]以降における記憶データは、大当り図柄指定値「11」~「14」に対応した振り分け判定値を示している。ステップAKS405の第2振り分け判定値比較処理P_HANTEI2は、構成例AKT42の第2大当り状態設定用テーブルを用いた場合に、当り図柄用バッファの格納値が示す当り図柄用の乱数MR1-2に対応して、大当り図柄指定値「11」~「14」のいずれかに決定可能である。例えば、当り図柄用の乱数MR1-2が乱数最小値の「0」に対応した00[H]である場合に、大当り図柄指定値「11」が決定される。
図10-24(B)は、演出図柄情報エリアの構成例AKB41を示している。構成例AKB41の演出図柄情報エリアは、大当り遊技状態または小当り遊技状態に制御される場合に対応して、演出図柄の可変表示を含めた遊技制御や演出制御に関する各種データを記憶可能である。この演出図柄情報エリアは、アドレスF056[H]の演出図柄情報バッファと、アドレスF057[H]のファンファーレ表示バッファと、アドレスF058[H]の大当り終了表示バッファと、アドレスF059[H]の変動コマンド指定バッファと、アドレスF05A[H]の大入賞口開放回数最大値バッファと、アドレスF05F[H]の小当りファンファーレ表示バッファと、アドレスF060[H]の小当りエンディング表示バッファと、を含んでいる。
図10-24(C)は、大入賞口開放回数最大値決定例AKD01を示している。特別図柄情報設定処理P_TZU_SETのステップAKS330では、大当り情報データ選択処理P_TFVR_ZUのステップAKS405にて第2振り分け判定値比較処理P_HANTEI2により決定された大当り図柄指定値に対応した大入賞口開放回数最大値を決定可能である。大入賞口開放回数最大値決定例AKD01では、大入賞口開放回数最大値が、「2」に対応した02[H]と、「4」に対応した04[H]と、「7」に対応した07[H]と、「10」に対応した0A[H]と、を含むいずれかに決定可能である。また、構成例AKT41の第1大当り状態設定用テーブルは、始動口入賞指定値が「1」である場合に用いられ、大当り図柄指定値「1」~「10」のいずれかを決定可能にする。これに対し、構成例AKT42の第2大当り状態設定用テーブルは、始動口入賞指定値が「2」である場合に用いられ、大当り図柄指定値「11」~「14」のいずれかを決定可能にする。一方において、大入賞口開放回数最大値決定例AKD01では、大当り図柄指定値「1」~「10」に対応した00[H]~09[H]の場合に、大入賞口開放回数最大値が、「4」に対応した04[H]と、「10」に対応した0A[H]と、のいずれかに決定され得る。他方において、大入賞口開放回数最大値決定例AKD01では、大当り図柄指定値「11」~「14」に対応した0A[H]~0D[H]の場合に、大入賞口開放回数最大値が、「2」に対応した02[H]と、「4」に対応した04[H]と、「7」に対応した07[H]と、「10」に対応した0A[H]と、のいずれにも決定され得る。
このように、大入賞口開放回数最大値決定例AKD01では、大当り図柄指定値「1」に対応した00[H]の場合に、大入賞口開放回数最大値が「4」に対応した04[H]となる。これは、始動口入賞指定値が「1」である場合において決定可能な大入賞口開放回数最大値の「4」または「10」のうち、小さい方の「4」に対応している。大当り図柄指定値「1」は、当り図柄用バッファの格納値により示される当り図柄用の乱数MR1-2が乱数最小値の「0」である場合に決定可能である。また、大入賞口開放回数最大値決定例AKD01では、大当り図柄指定値「11」に対応した0A[H]の場合に、大入賞口開放回数最大値が「2」に対応した02[H]となる。これは、始動口入賞指定値が「2」である場合において決定可能な大入賞口開放回数最大値の「2」、「4」、「7」、「10」のうち、最も小さい「2」に対応している。大当り図柄指定値「11」は、当り図柄用バッファの格納値により示される当り図柄用の乱数MR1-2が乱数最小値の「0」である場合に決定可能である。したがって、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bにおける特別図柄の可変表示である特図ゲームのうち、特図表示結果が「大当り」となる特図ゲームに対応して、当り図柄用の乱数MR1-2が乱数最小値の「0」である場合に、乱数最小値以外である場合よりも有利度が高い表示結果に決定されない。これにより、当り図柄用の乱数MR1-2を第1乱数値とした場合に、第1乱数値の不具合による不正行為を防止するように、適切な乱数値の更新が可能になる。
図10-25は、特別図柄情報設定処理P_TZU_SETなどに関して、小当り遊技状態の制御に対応したデータ構成の使用例を説明するための図である。特別図柄情報設定処理P_TZU_SETのステップAKS331において当りフラグが小当り指定値である場合に、ステップAKS333では小当り図柄指定値を決定可能にする。この場合に、始動口入賞指定値が「1」であれば、第1小当り状態設定用テーブルを用いて、小当り図柄指定値が決定される。これに対し、始動口入賞指定値が「2」であれば、第2小当り状態設定用テーブルを用いて、小当り図柄指定値が決定される。その後、特別図柄情報設定処理P_TZU_SETのステップAKS339では、ステップAKS338により決定された小当り演出指定値を演出図柄情報バッファにストアする。そして、特別図柄情報設定処理P_TZU_SETのステップAKS340では、小当り図柄指定値に対応して小当り情報設定用テーブルから読み出した小当り情報設定用データを、小当りファンファーレ表示バッファおよび小当りエンディング表示バッファへと、転送して格納可能である。演出図柄情報バッファ、小当りファンファーレ表示バッファ、小当りエンディング表示バッファは、図10-24(B)に示された演出図柄情報エリアに設けられ、小当り遊技状態に制御される場合の設定用データを格納可能である。また、図6に示された特別図柄プロセス処理P_TPROCのステップS112では、特別図柄プロセスコードが03[H]に対応して小当り開放前処理P_TLFANが実行される場合に、小当り開放中ワーク設定テーブルなどを用いて、大入賞口の開放時間や開放回数を決定可能にする。
このように、特別図柄情報設定処理P_TZU_SETは、第1小当り状態設定用テーブルまたは第2小当り状態設定用テーブルを用いて、小当り図柄指定値を決定可能にする。また、特別図柄情報設定処理P_TZU_SETは、演出図柄情報エリアに設けられた演出図柄情報バッファや小当りファンファーレ表示バッファや小当りエンディング表示バッファの格納値を設定可能である。さらに、小当り遊技状態に制御されることに対応して実行される小当り開放前処理P_TLFANは、大入賞口の開放時間や開放回数を決定可能である。
図10-25(A1)は、第1小当り状態設定用テーブルの構成例AKT43を示している。構成例AKT43の第1小当り状態設定用テーブルは、先頭アドレス1B0B[H]に小当り図柄指定値「1」と対応する値00[H]が記憶され、次アドレス1B0C[H]に処理数を示す値01[H]が記憶されている。そして、アドレス1B0D[H]における記憶データは、小当り図柄指定値「1」に対応した振り分け判定値を示している。特別図柄情報設定処理P_TZU_SETのステップAKS333は、構成例AKT43の第1小当り状態設定用テーブルを用いた場合に、当り図柄用バッファの格納値が示す当り図柄用の乱数MR1-2に対応して、小当り図柄指定値「1」のみに決定可能である。したがって、当り図柄用の乱数MR1-2が乱数最小値の「0」に対応した00[H]である場合に、小当り図柄指定値「1」が決定される。
図10-25(A2)は、第2小当り状態設定用テーブルの構成例AKT44を示している。構成例AKT44の第2小当り状態設定用テーブルは、先頭アドレス1B0E[H]に小当り図柄指定値「2」と対応する値01[H]が記憶され、次アドレス1B0F[H]に処理数を示す値06[H]が記憶されている。そして、アドレス1B10[H]以降における記憶データは、小当り図柄指定値「2」~「7」に対応した振り分け判定値を示している。特別図柄情報設定処理P_TZU_SETのステップAKS333は、構成例AKT44の第2小当り状態設定用テーブルを用いた場合に、当り図柄用バッファの格納値が示す当り図柄用の乱数MR1-2に対応して、小当り図柄指定値「2」~「7」のいずれかに決定可能である。例えば、当り図柄用の乱数MR1-2が乱数最小値の「0」に対応した00[H]である場合に、小当り図柄指定値「2」が決定される。
図10-25(B)は、大入賞口開放態様決定例AKD02を示している。小当り開放前処理P_TLFANでは、始動口入賞指定値に対応した大入賞口開放態様を決定可能である。大入賞口開放態様は、大入賞口の開放時間や開放回数が異なる複数態様のいずれかに決定可能であればよい。大入賞口開放態様決定例AKD02では、始動口入賞指定値「1」に対応して、開放時間が36[ms]で開放回数が15[回]である大入賞口開放態様に決定される。また、大入賞口開放態様決定例AKD02では、始動口入賞指定値「2」に対応して、開放時間が1600[ms]で開放回数が1[回]である大入賞口開放態様に決定される。
このように、小当り遊技状態における大入賞口開放態様は、小当り図柄指定値がいずれの値である場合にも、始動口入賞指定値に対応して、大入賞口の開放時間や開放回数が異なるものに決定可能である。小当り図柄指定値は、当り図柄用バッファの格納値が示す当り図柄用の乱数MR1-2に対応して決定可能である。そして、始動口入賞指定値が同一値であれば、当り図柄用の乱数MR1-2が乱数最小値の「0」である場合と、乱数最小値以外である場合とで、共通となる大入賞口開放態様に決定される。したがって、第1特別図柄表示装置4Aまたは第2特別図柄表示装置4Bにおける特別図柄の可変表示である特図ゲームのうち、特図表示結果が「小当り」となる特図ゲームに対応して、当り図柄用の乱数MR1-2が乱数最小値の「0」である場合に、乱数最小値以外である場合よりも有利度が高い表示結果に決定されない。これにより、当り図柄用の乱数MR1-2を第1乱数値とした場合に、第1乱数値の不具合による不正行為を防止するように、適切な乱数値の更新が可能になる。
図10-26は、変動パターン設定処理P_TPATSETの一例を示すフローチャートである。変動パターン設定処理P_TPATSETは、図10-18に示された特別図柄通常処理P_TNORMALから呼出可能な処理に含まれ、特別図柄の可変表示を開始する場合に、ステップAKS249にて実行可能である。CPU103は、変動パターン設定処理P_TPATSETを実行した場合、当りフラグをロードする(ステップAKS361)。当りフラグは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF032[H]が割り当てられている。ステップAKS361では、RAM102の遊技ワーク領域における指定アドレスの記憶データを読み出すための転送命令により、当りフラグをロードすればよい。そして、当りフラグと、大当り指定値に対応する判定値と、を比較可能な演算ジャンプ命令により、当りフラグが大当り指定値ではないことを確認する(ステップAKS362)。
ステップAKS362に対応して当りフラグが大当り指定値である場合に(ステップAKS362;No)、大当り図柄判定バッファをロードする(ステップAKS363)。大当り図柄判定バッファは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF035[H]が割り当てられている。ステップAKS363では、RAM102の遊技ワーク領域における指定アドレスの記憶データを読み出すための転送命令により、大当り図柄判定バッファをロードすればよい。このときに、ポインタを設定するための転送命令により、状態別大当り選択テーブルアドレスをセットする(ステップAKS364)。状態別大当り選択テーブルアドレスは、ROM101に記憶された状態別大当り選択テーブルのアドレスである。その後、当り時変動パターン種別テーブル選択処理P_TPATAが実行される(ステップAKS365)。ステップAKS365の当り時変動パターン種別テーブル選択処理P_TPATAは、特図表示結果が「大当り」に対応して、変動パターン種別振り分けテーブルを選択可能にする。
ステップAKS362に対応して当りフラグが大当り指定値ではない場合に(ステップAKS362;Yes)、その当りフラグと、小当り指定値に対応する判定値と、を比較可能な演算ジャンプ命令により、当りフラグが小当り指定値ではないことを確認する(ステップAKS366)。当りフラグが小当り指定値である場合に(ステップAKS366;No)、変動コマンド指定バッファの設定を行う(ステップAKS367)。変動コマンド指定バッファは、図10-24(B)に示された構成例AKB41の演出図柄情報エリアに設けられ、アドレスF059[H]が割り当てられている。ステップAKS367では、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、01[H]を変動コマンド指定バッファにストアすればよい。また、小当り図柄判定バッファをロードする(ステップAKS368)。小当り図柄判定バッファは、図10-17(B1)に示された構成例AKB21の特別図柄制御データエリアに設けられ、アドレスF036[H]が割り当てられている。ステップAKS368では、RAM102の遊技ワーク領域における指定アドレスの記憶データを読み出すための転送命令により、小当り図柄判定バッファをロードすればよい。このときに、ポインタを設定するための転送命令により、状態別小当り選択テーブルアドレスをセットする(ステップAKS369)。状態別小当り選択テーブルアドレスは、ROM101に記憶された状態別小当り選択テーブルのアドレスである。その後、当り時変動パターン種別テーブル選択処理P_TPATAが実行される(ステップAKS370)。ステップAKS370の当り時変動パターン種別テーブル選択処理P_TPATAは、特図表示結果が「小当り」に対応して、変動パターン種別振り分けテーブルを選択可能にする。
ステップAKS366に対応して当りフラグが小当り指定値ではない場合に(ステップAKS366;Yes)、ハズレ時変動パターン種別テーブル選択処理P_TPATHが実行される(ステップAKS371)。ステップAKS371のハズレ時変動パターン種別テーブル選択処理P_TPATHは、特図表示結果が「ハズレ」に対応して、変動パターン種別振り分けテーブルを選択可能にする。
ステップAKS365、AKS370、AKS371の後に、バッファ番号「0」の変動パターン種別選択用バッファをロードする(ステップAKS372)。バッファ番号「0」の変動パターン種別選択用バッファは、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1変動パターン種別選択用バッファ、または、第2特別図柄保留バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2変動パターン種別選択用バッファである。ステップAKS372では、バッファ番号「0」の第2変動パターン種別選択用バッファのアドレスをセットした後、始動口入賞チェック処理を実行し、始動口入賞指定値が「1」である場合に、バッファ番号「0」の第1変動パターン種別選択用バッファのアドレスをセットしてから、セットされたアドレスの記憶データを読み出すための転送命令により、バッファ番号「0」の変動パターン種別選択用バッファに記憶された変動パターン種別選択用の乱数MR3-3を読出可能であればよい。
ステップAKS372により変動パターン種別選択用の乱数MR3-3を読み出すと、変動パターン振り分けテーブル選択処理P_TPATTBLが実行される(ステップAKS373)。ステップAKS373の変動パターン振り分けテーブル選択処理P_TPATTBLは、ステップAKS365、AKS370、AKS371のいずれかにより選択された変動パターン種別振り分けテーブルと、ステップAKS372により読み出された変動パターン種別選択用の乱数MR3-3と、を用いて、変動パターン振り分けテーブルを選択可能にする。
ステップAKS373の次に、バッファ番号「0」の変動パターン用バッファをロードする(ステップAKS374)。バッファ番号「0」の変動パターン用バッファは、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1変動パターン用バッファ、または、第2特別図柄保留バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2変動パターン用バッファである。ステップAKS374では、バッファ番号「0」の第2変動パターン用バッファのアドレスをセットした後、始動口入賞チェック処理を実行し、始動口入賞指定値が「1」である場合に、バッファ番号「0」の第1変動パターン用バッファのアドレスをセットしてから、セットされたアドレスの記憶データを読み出すための転送命令により、バッファ番号「0」の変動パターン用バッファに記憶された変動パターン用の乱数MR3-4を読出可能であればよい。
ステップAKS374により変動パターン用の乱数MR3-4を読み出すと、第2振り分け判定値比較処理P_HANTEI2が実行される(ステップAKS375)。ステップAKS375の第2振り分け判定値比較処理は、ステップAKS373により選択された変動パターン振り分けテーブルと、ステップAKS374により読み出された変動パターン用の乱数MR3-4と、を用いて、変動パターンを決定可能にする。このとき、決定された変動パターンに対応した変動パターン指定データを、演出図柄変動パターンバッファにストアする(ステップAKS376)。演出図柄変動パターンバッファは、RAM102の遊技ワーク領域に設けられ、変動パターンの決定結果に対応して異なる変動パターン指定データを格納可能である。
ステップAKS376に続いて、変動コマンド送信テーブルを選択する(ステップAKS377)。ステップAKS377では、変動コマンド送信テーブル選択テーブルと、変動コマンド指定バッファの格納値と、を用いて、変動コマンド送信テーブルを選択可能にする。これにより、例えば特図表示結果が「大当り」または「小当り」である場合と「ハズレ」である場合とで、異なる変動コマンド送信テーブルを選択することができればよい。変動コマンド送信テーブルは、処理数と、図柄情報指定コマンド上位バイトと、図柄情報指定コード参照指定値と、演出図柄指定コマンド上位バイトと、演出図柄指定コード参照指定値と、演出図柄変動コマンドと、変動パターン指定データ参照指定値と、を示すテーブルデータが含まれるように構成されている。その後、コマンドセット処理P_COM_SETが実行される(ステップAKS378)。ステップAKS378のコマンドセット処理P_COM_SETは、ステップAKS377により選択された変動コマンド送信テーブルを用いて、図柄情報指定コマンド、演出図柄指定コマンド、演出図柄変動コマンドを、それぞれ送信可能にする。このようなステップAKS378のコマンドセット処理P_COM_SETにより、変動開始時コマンドとなる演出制御コマンドを、主基板11から演出制御基板12に対して送信することができる。
ステップAKS378により変動開始時コマンドを送信可能にすると、特別図柄変動時間を設定する(ステップAKS379)。ステップAKS379では、特別図柄変動時間テーブルと、変動パターン指定データと、を用いて時間データ展開処理を実行することにより、変動パターンの決定結果に対応して異なる特別図柄変動時間を設定可能にする。続いて、ポインタを設定するための転送命令により、変動パターン設定後ワークテーブルアドレスをセットする(ステップAKS380)。変動パターン設定後ワークテーブルアドレスは、ROM101の遊技データ領域に記憶された変動パターン設定後ワークテーブルのアドレスである。その次に、データセット処理P_DATASETを実行して(ステップAKS381)、変動パターン設定処理P_TPATSETが終了する。ステップAKS381のデータセット処理P_DATASETは、ステップAKS380によりアドレスがセットされた変動パターン設定後ワークテーブルを用いて、特別図柄プロセスコードを特別図柄変動処理指定値となる01[H]に設定し、特別図柄変動中表示バッファの格納値を特別図柄変動中表示データとなる01[H]に設定する。また、特別図柄表示更新タイマと、バッファ番号「0」のハズレ演出選択用バッファと、バッファ番号「0」の変動パターン種別選択用バッファと、バッファ番号「0」の変動パターン用バッファと、をクリアすることにより初期化可能にする。このとき、始動口入賞指定値が「1」である場合と「2」である場合とで、異なるテーブルを参照することで、異なるバッファやタイマの設定やクリアを可能にすればよい。
図10-27(A)は、当り時変動パターン種別テーブル選択処理P_TPATAの一例を示すフローチャートである。当り時変動パターン種別テーブル選択処理P_TPATAは、図10-26に示された変動パターン設定処理P_TPATSETから呼出可能な処理に含まれ、ステップAKS362において当りフラグが大当り指定値である場合はステップAKS365にて実行可能であり、ステップAKS366において当りフラグが小当り指定値である場合はステップAKS370にて実行可能である。CPU103は、当り時変動パターン種別テーブル選択処理P_TPATAを実行した場合に、演出状態選択バッファをロードする(ステップAKS421)。演出状態選択バッファは、RAM102の遊技ワーク領域に設けられ、大当り遊技状態の終了後における演出状態に対応した格納値を設定可能である。ステップAKS421では、RAM102の遊技ワーク領域における指定アドレスの記憶データを読み出すための転送命令により、演出状態選択バッファの格納値を読出可能であればよい。
ステップAKS421に続いて、変動パターン種別選択テーブルを決定する(ステップAKS422)。ステップAKS422では、状態別大当り選択テーブルまたは状態別小当り選択テーブルと、ステップAKS421により読み出された演出状態選択バッファの格納値と、を用いて、変動パターン種別選択テーブルを決定可能にする。状態別大当り選択テーブルは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS365にて当り時変動パターン種別テーブル選択処理P_TPATAが実行される場合に、ステップAKS364によりアドレスがセットされる。状態別小当り選択テーブルは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS370にて当り時変動パターン種別テーブル選択処理P_TPATAが実行される場合に、ステップAKS369によりアドレスがセットされる。状態別大当り選択テーブルや状態別小当り選択テーブルは、演出状態選択バッファの格納値に対応して、異なる変動パターン種別選択テーブルを決定可能にするテーブルデータが含まれるように構成されている。したがって、ステップAKS422により、特図表示結果が「大当り」の場合と「小当り」の場合とで、演出状態選択バッファの格納値に対応して、異なる変動パターン種別選択テーブルを決定することができる。
ステップAKS422により変動パターン種別選択テーブルを決定すると、当り図柄指定値をセットする(ステップAKS423)。ステップAKS423では、大当り図柄判定バッファまたは小当り図柄判定バッファからのロード内容を、CPU103の内部レジスタに含まれる処理用レジスタへと転送することにより、処理対象としてセットすればよい。大当り図柄判定バッファは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS365にて当り時変動パターン種別テーブル選択処理P_TPATAが実行される場合に、ステップAKS363によりロードされる。小当り図柄判定バッファは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS370にて当り時変動パターン種別テーブル選択処理P_TPATAが実行される場合に、ステップAKS368によりロードされる。大当り図柄判定バッファの格納値は、大当り図柄指定値を示している。小当り図柄判定バッファの格納値は、小当り図柄指定値を示している。このようにセットされた当り図柄指定値を、ステップAKS422により決定された変動パターン種別選択テーブルとともに用いて、振り分け判定値比較処理P_HANTEIが実行される(ステップAKS424)。
振り分け判定値比較処理P_HANTEは、比較値としてセットされた数値データと、テーブル記憶データが示す振り分け判定値と、を比較する処理を、テーブルアドレスの先頭側から最終側へと増加する順に、比較値を超える振り分け判定値となるまで実行可能にする。このとき、比較値以下の振り分け判定値であれば次の比較に進み、比較値を超えた振り分け判定値に対応して、テーブル記憶データを指定データとして読出可能にする。ステップAKS424の振り分け判定値比較処理P_HANTEIは、大当り図柄指定値または小当り図柄指定値が比較値としてセットされ、変動パターン種別選択テーブルの記憶データにより、比較値を超えた振り分け判定値に対応する指定データが読み出される。
ステップAKS424の振り分け判定値比較処理P_HANTEIが終了すると、変動パターン種別振り分けテーブルを決定して(ステップAKS425)、当り時変動パターン種別テーブル選択処理P_TPATAが終了する。ステップAKS425では、変動パターン種別振り分けテーブルの先頭アドレスに対して、ステップAKS424の振り分け判定値比較処理P_HANTEIにより読み出された指定データを加算することにより、使用される変動パターン種別振り分けテーブルのアドレスをポインタに設定することで、変動パターン種別振り分けテーブルを決定可能にする。
図10-27(B1)は、特図表示結果が「大当り」に対応した変動パターン種別振り分けテーブル決定例AKD11を示している。特図表示結果が「大当り」である場合に、図10-23に示された大当り情報データ選択処理P_TFVR_ZUのステップAKS405では、第2振り分け判定値比較処理P_HANTEI2により、大当り図柄指定値「1」~「14」と対応する値00[H]~0D[H]のいずれかに決定可能である。当り時変動パターン種別テーブル選択処理P_TPATAは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS365にて実行される場合に、大当り図柄指定値の決定結果に対応して、変動パターン種別振り分けテーブルを決定可能である。変動パターン種別振り分けテーブル決定例AKD11では、大当り図柄指定値を示す値00[H]~0D[H]に対応して、変動パターン種別振り分けテーブルAKU01~AKU03のいずれかに決定可能である。
図10-27(B2)は、特図表示結果が「小当り」に対応した変動パターン種別振り分けテーブル決定例AKD12を示している。特図表示結果が「小当り」である場合に、図10-22に示された特別図柄情報設定処理P_TZU_SETのステップAKS333では、小当り図柄指定値「1」~「7」と対応する値00[H]~06[H]のいずれかに決定可能である。当り時変動パターン種別テーブル選択処理P_TPATAは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS370にて実行される場合に、小当り図柄指定値の決定結果に対応して、変動パターン種別振り分けテーブルを決定可能である。変動パターン種別振り分けテーブル決定例AKD12では、小当り図柄指定値を示す00[H]~06[H]に対応して、変動パターン種別振り分けテーブルAKU11、AKU12のいずれかに決定可能である。
図10-28(A)は、ハズレ時変動パターン種別テーブル選択処理P_TPATHの一例を示すフローチャートである。ハズレ時変動パターン種別テーブル選択処理P_TPATHは、図10-26に示された変動パターン設定処理P_TPATSETから呼出可能な処理に含まれ、ステップAKS366において当りフラグが小当り指定値ではない場合に、ステップAKS371にて実行可能である。CPU103は、ハズレ時変動パターン種別テーブル選択処理P_TPATHを実行した場合に、ポインタを設定するための転送命令により、状態別ハズレ選択テーブルアドレスをセットする(ステップAKS441)。状態別ハズレ選択テーブルアドレスは、ROM101の遊技データ領域に記憶された第1状態別ハズレ選択テーブルまたは第2状態別ハズレ選択テーブルのアドレスである。ステップAKS441では、始動口入賞指定値が「1」である場合と「2」である場合とに対応して、遊技データ領域における異なるアドレスを指定可能である。これにより、始動口入賞指定値が「1」である場合は第1状態別ハズレ選択テーブルのアドレスを設定可能であり、始動口入賞指定値が「2」である場合は第2状態別ハズレ選択テーブルのアドレスを設定可能である。そして、演出状態選択バッファをロードする(ステップAKS442)。演出状態選択バッファは、RAM102の遊技ワーク領域に設けられ、大当り遊技状態の終了後における演出状態に対応した格納値を設定可能である。
ステップAKS442に続いて、保留別ハズレ演出振り分け選択テーブルを決定する(ステップAKS443)。ステップAKS443では、ステップAKS441によりアドレスがセットされた第1状態別ハズレ選択テーブルまたは第2状態別ハズレ選択テーブルと、ステップAKS442によりロードされた演出状態選択バッファの格納値と、を用いて、保留別ハズレ演出振り分け選択テーブルを決定可能にする。第1状態別ハズレ選択テーブルや第2状態別ハズレ選択テーブルは、演出状態選択バッファの格納値に対応して、異なる保留別ハズレ演出振り分け選択テーブルを決定可能にするテーブルデータが含まれるように構成されている。また、保留別ハズレ演出振り分け選択テーブルは、始動口入賞記憶カウンタの計数値に対応して、異なるハズレ演出振り分けテーブルを決定可能にするテーブルデータが含まれるように構成されている。したがって、ステップAKS443により、始動口入賞指定値が「1」である場合と「2」である場合とで、演出状態選択バッファの格納値に対応して、異なる保留別ハズレ演出振り分け選択テーブルを決定することができる。
ステップAKS443の次に、始動口入賞記憶カウンタをロードする(ステップAKS444)。始動口入賞記憶カウンタは、始動口入賞指定値が「1」である場合の第1始動口入賞記憶カウンタまたは始動口入賞指定値が「2」である場合の第2始動口入賞記憶カウンタである。ステップAKS444では、第2始動口入賞記憶カウンタアドレスを記憶ポインタにセットした後、始動口入賞チェック処理を実行し、始動口入賞指定値が「1」である場合に、第1始動口入賞記憶カウンタアドレスを記憶ポインタにセットしてから、記憶ポインタにセットされたアドレスの記憶データを読み出すための転送命令により、第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタの計数値を取得可能にすればよい。
ステップAKS444の後に、振り分け判定値比較処理P_HANTEIが実行される(ステップAKS445)。ステップAKS445の振り分け判定値比較処理P_HANTEIは、ステップAKS444により取得した第1始動口入賞記憶カウンタまたは第2始動口入賞記憶カウンタの計数値が比較値としてセットされ、ステップAKS443により決定された保留別ハズレ演出振り分け選択テーブルの記憶データにより、比較値を超えた振り分け判定値に対応する指定データが読み出される。
ステップAKS445の振り分け判定値比較処理P_HANTEIが終了すると、ハズレ演出振り分けテーブルを決定する(ステップAKS446)。ステップAKS446では、ハズレ演出振り分けテーブルの先頭アドレスに対して、ステップAKS445の振り分け判定値比較処理P_HANTEIにより読み出された指定データを加算することにより、使用されるハズレ演出振り分けテーブルのアドレスをポインタに設定することで、ハズレ演出振り分けテーブルを決定可能にする。
ステップAKS446の次に、バッファ番号「0」のハズレ演出選択用バッファをロードする(ステップAKS447)。バッファ番号「0」のハズレ演出選択用バッファは、第1特別図柄保留バッファにおけるバッファ番号「0」の第1保留記憶用バッファに含まれる第1ハズレ演出選択用バッファ、または、第2特別図柄保留バッファにおけるバッファ番号「0」の第2保留記憶用バッファに含まれる第2ハズレ演出選択用バッファである。ステップAKS447では、バッファ番号「0」の第2ハズレ演出選択用バッファのアドレスをセットした後、始動口入賞チェック処理により始動口入賞指定値が「1」であった場合に、バッファ番号「0」の第1ハズレ演出選択用バッファのアドレスをセットしてから、セットされたアドレスの記憶データを読み出すための転送命令により、バッファ番号「0」のハズレ演出選択用バッファに記憶されたハズレ演出選択用の乱数MR3-2を読出可能であればよい。
ステップAKS447によりハズレ演出選択用の乱数MR3-2を読み出すと、振り分け判定値比較処理P_HANTEIが実行される(ステップAKS448)。ステップAKS448の振り分け判定値比較処理P_HANTEIは、ステップAKS446により決定されたハズレ演出振り分けテーブルと、ステップAKS447により読み出されたハズレ演出選択用の乱数MR3-2と、を用いて、変動パターン種別振り分けテーブルのオフセット値を決定可能にする。この場合に、ステップAKS447により読み出されたハズレ演出選択用の乱数MR3-2が比較値としてセットされ、ステップAKS446により決定されたハズレ演出振り分けテーブルの記憶データにより、比較値を超えた振り分け判定値に対応する指定データが示す変動パターン種別振り分けテーブルのオフセット値を読出可能にする。
ステップAKS448の振り分け判定値比較処理P_HANTEIが終了すると、変動パターン種別振り分けテーブルを決定して(ステップAKS449)、ハズレ時変動パターン種別テーブル選択処理P_TPATHが終了する。ステップAKS449では、変動パターン種別振り分けテーブルの先頭アドレスに対して、ステップAKS448の振り分け判定値比較処理P_HANTEIにより読み出された指定データが示すオフセット値を加算することにより、使用される変動パターン種別振り分けテーブルのアドレスをポインタにセットすることで、変動パターン種別振り分けテーブルを決定可能にする。
図10-28(B1)は、第1特図ハズレに対応したハズレ演出振り分けテーブル決定例AKD21を示している。第1特図ハズレは、始動口入賞指定値が「1」に対応して、第1特別図柄表示装置4Aによる第1特図を用いた特図ゲームにおいて特図表示結果が「ハズレ」となる場合である。始動口入賞指定値が「1」である場合に、ハズレ時変動パターン種別テーブル選択処理P_TPATHのステップAKS444では、第1始動口入賞記憶カウンタの計数値を取得可能である。第1始動口入賞記憶カウンタの計数値は、第1保留記憶数を示している。そして、ステップAKS445の振り分け判定値比較処理P_HANTEIにより、第1始動口入賞記憶カウンタの計数値に対応する指定データが読み出され、ステップAKS446にて第1保留記憶数に対応したハズレ演出振り分けテーブルを決定することができる。ハズレ演出振り分けテーブル決定例AKD21では、第1保留記憶数「0」~「3」に対応して、ハズレ演出振り分けテーブルAKV01~AKV04のいずれかに決定可能である。
図10-28(B2)は、第2特図ハズレに対応したハズレ演出振り分けテーブル決定例AKD22を示している。第2特図ハズレは、始動口入賞指定値が「2」に対応して、第2特別図柄表示装置4Bによる第2特図を用いた特図ゲームにおいて特図表示結果が「ハズレ」となる場合である。始動口入賞指定値が「2」である場合に、ハズレ時変動パターン種別テーブル選択処理P_TPATHのステップAKS444では、第2始動口入賞カウンタの計数値を取得可能である。第2始動口入賞記憶カウンタの計数値は、第2保留記憶数を示している。そして、ステップAKS445の振り分け判定値比較処理P_HANTEIにより、第2始動口入賞記憶カウンタの計数値に対応する指定データが読み出され、ステップAKS446にて第2保留記憶数に対応したハズレ演出振り分けテーブルを決定することができる。ハズレ演出振り分けテーブル決定例AKD22では、第2保留記憶数「0」~「3」に対応して、共通となるハズレ演出振り分けテーブルAKV11のみに決定可能である。
図10-28(C)は、ハズレ演出振り分けテーブルAKV01の場合における変動パターン種別振り分けテーブル決定例AKD23を示している。ハズレ演出振り分けテーブルAKV01は、始動口入賞指定値が「1」である場合に、ハズレ演出振り分けテーブル決定例AKD21において、第1保留記憶数「0」のときに決定可能である。始動口入賞指定値が「1」である場合に、ハズレ時変動パターン種別テーブル選択処理P_TPATHのステップAKS447では、バッファ番号「0」の第1ハズレ演出選択用バッファからハズレ演出選択用の乱数MR3-2を読出可能である。そして、ステップAKS448の振り分け判定値比較処理P_HANTEIにより、ハズレ演出選択用の乱数MR3-2に対応する指定データが読み出され、ステップAKS449にて変動パターン種別振り分けテーブルを決定することができる。変動パターン種別振り分けテーブル決定例AKD23では、ハズレ演出選択用の乱数MR3-2に対応して、変動パターン種別振り分けテーブルAKU21~AKU25のいずれかに決定可能である。
図10-29は、変動パターン種別振り分けテーブルの構成例を説明するための図である。図10-27(A)に示された当り時変動パターン種別テーブル選択処理P_TPATAは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS365にて実行される場合に、大当り図柄指定値の決定結果に対応して、図10-27(B1)に示された変動パターン種別振り分けテーブル決定例AKD11における変動パターン種別振り分けテーブルAKU01~AKU03のいずれかといった、複数の変動パターン種別振り分けテーブルのうちいずれかに決定可能である。図10-27(A)に示された当り時変動パターン種別テーブル選択処理P_TPATAは、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS370にて実行される場合に、小当り図柄指定値の決定結果に対応して、図10-27(B2)に示された変動パターン種別振り分けテーブル決定例AKD12における変動パターン種別振り分けテーブルAKU11、AKU12のいずれかといった、複数の変動パターン種別振り分けテーブルのうちいずれかに決定可能である。図10-28(A)に示されたハズレ時変動パターン種別テーブル選択処理P_TPATHのステップAKS449は、図10-28(C)に示された変動パターン種別振り分けテーブル決定例AKD23における変動パターン種別振り分けテーブルAKU21~AKU25のいずれかといった、複数の変動パターン種別振り分けテーブルのうちいずれかに決定可能である。そして、図10-26に示された変動パターン設定処理P_TPATSETのステップAKS373にて実行される変動パターン振り分けテーブル選択処理P_TPATTBLは、ステップAKS372により読み出された変動パターン種別選択用の乱数MR3-3を用いて、変動パターン種別振り分けテーブルを参照することで変動パターン種別を選択可能であり、その選択結果に対応した変動パターン振り分けテーブルを選択可能にする。
図10-29(A)は、変動パターン種別振り分けテーブルAKU01の構成例を示している。変動パターン種別振り分けテーブルAKU01は、大当り図柄指定値に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(A)の変動パターン種別振り分けテーブルAKU01は、変動パターン種別選択用の乱数MR3-3に対応して、変動パターン種別CPA01~CPA05のいずれかに決定可能となるように、テーブルデータが構成されている。
図10-29(B1)は、変動パターン種別振り分けテーブルAKU11の構成例を示している。変動パターン種別振り分けテーブルAKU11は、小当り図柄指定値に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(B1)の変動パターン種別振り分けテーブルAKU11は、すべての変動パターン種別選択用の乱数MR3-3に対応して、共通となる変動パターン種別CPB01のみに決定可能となるように、テーブルデータが構成されている。
図10-29(B2)は、変動パターン種別振り分けテーブルAKU12の構成例を示している。変動パターン種別振り分けテーブルAKU12は、小当り図柄指定値に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(B2)の変動パターン種別振り分けテーブルAKU12は、すべての変動パターン種別選択用の乱数MR3-3に対応して、共通となる変動パターン種別CPB02のみに決定可能となるように、テーブルデータが構成されている。
図10-29(C1)は、変動パターン種別振り分けテーブルAKU21の構成例を示している。変動パターン種別振り分けテーブルAKU21は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(C1)の変動パターン種別振り分けテーブルAKU21は、変動パターン種別選択用の乱数MR3-3に対応して、変動パターン種別CPC01、CPC02のいずれかに決定可能となるように、テーブルデータが構成されている。
図10-29(C2)は、変動パターン種別振り分けテーブルAKU22の構成例を示している。変動パターン種別振り分けテーブルAKU22は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(C2)の変動パターン種別振り分けテーブルAKU22は、すべての変動パターン種別選択用の乱数MR3-3に対応して、共通となる変動パターン種別CPC03のみに決定可能となるように、テーブルデータが構成されている。
図10-29(C3)は、変動パターン種別振り分けテーブルAKU23の構成例を示している。変動パターン種別振り分けテーブルAKU23は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(C3)の変動パターン種別振り分けテーブルAKU23は、すべての変動パターン種別選択用の乱数MR3-3に対応して、共通となる変動パターン種別CPC04のみに決定可能となるように、テーブルデータが構成されている。
図10-29(C4)は、変動パターン種別振り分けテーブルAKU24の構成例を示している。変動パターン種別振り分けテーブルAKU24は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(C4)の変動パターン種別振り分けテーブルAKU24は、変動パターン種別選択用の乱数MR3-3に対応して、変動パターン種別CPC05~CPC07のいずれかに決定可能となるように、テーブルデータが構成されている。
図10-29(C5)は、変動パターン種別振り分けテーブルAKU25の構成例を示している。変動パターン種別振り分けテーブルAKU25は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な複数の変動パターン種別振り分けテーブルに含まれる。図10-29(C5)の変動パターン種別振り分けテーブルAKU25は、すべての変動パターン種別選択用の乱数MR3-3に対応して、共通となる変動パターン種別CPC08のみに決定可能となるように、テーブルデータが構成されている。
図10-30から図10-32までは、変動パターン種別に対応して使用可能な変動パターン振り分けテーブルの構成例を説明するための図である。図10-26に示された変動パターン設定処理P_TPATSETのステップAKS373にて実行される変動パターン振り分けテーブル選択処理P_TPATTBLでは、変動パターン種別選択用の乱数MR3-3を用いた変動パターン種別の選択結果に対応して、変動パターン振り分けテーブルが選択される。その後、ステップAKS375の第2振り分け判定値比較処理P_HANTEI2は、ステップAKS374により読み出された変動パターン用の乱数MR3-4を用いて、変動パターン振り分けテーブルを参照することで変動パターンを決定可能にする。
図10-30(A1)は、変動パターン種別CPA01に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPA01は、大当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU01を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-30(A1)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPA01~PA03、PA51、PA52のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPA01は、変動パターンPA01~PA03、PA51、PA52のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(A2)は、変動パターン種別CPA02に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPA02は、大当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU01を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-30(A2)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPA04~PA11、PA21~PA23、PA54のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPA02は、変動パターンPA04~PA11、PA21~PA23、PA54のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(A3)は、変動パターン種別CPA03に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPA03は、大当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU01を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-30(A3)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPA31~PA38、PA24~PA26、PA55のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPA03は、変動パターンPA31~PA38、PA24~PA26、PA55のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(A4)は、変動パターン種別CPA04に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPA04は、大当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU01を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-30(A4)の構成例において、変動パターン振り分けテーブルは、すべての変動パターン用の乱数MR3-4に対応して、共通となる変動パターンPA41のみに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPA04は、変動パターンPA41のみに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(A5)は、変動パターン種別CPA05に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPA05は、大当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU01を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-30(A5)の構成例において、変動パターン振り分けテーブルは、すべての変動パターン用の乱数MR3-4に対応して、共通となる変動パターンPA42のみに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPA05は、変動パターンPA42のみに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(B1)は、変動パターン種別CPB01に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPB01は、小当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU11を用いた場合に、すべての変動パターン種別選択用の乱数MR3-3に対応して決定可能である。図10-30(B1)の構成例において、変動パターン振り分けテーブルは、すべての変動パターン用の乱数MR3-4に対応して、共通となる変動パターンPB01のみに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPB01は、変動パターンPB01のみに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-30(B2)は、変動パターン種別CPB02に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPB02は、小当り図柄指定値に対応して決定可能な変動パターン種別振り分けテーブルAKU12を用いた場合に、すべての変動パターン種別選択用の乱数MR3-3に対応して決定可能である。図10-30(B2)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPB11~PB14のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPB02は、変動パターンPB11~PB14のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-31(A)は、変動パターン種別CPC01に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC01は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU21を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-31(A)の構成例において、変動パターン振り分けテーブルは、すべての変動パターン用の乱数MR3-4に対応して、共通となる変動パターンPC01のみに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC01は、変動パターンPC01のみに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-31(B)は、変動パターン種別CPC02に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC02は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU21を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した所定割合で決定可能である。図10-31(B)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC12、PC13、PC15、PC16、PC24、PC27、PC33、PC49のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC02は、変動パターンPC12、PC13、PC15、PC16、PC24、PC27、PC33、PC49のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-31(C)は、変動パターン種別CPC03に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC03は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU22を用いた場合に、すべての変動パターン種別選択用の乱数MR3-3に対応して決定可能である。図10-31(C)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC11~PC18、PC101のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC03は、変動パターンPC11~PC18、PC101のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-31(D)は、変動パターン種別CPC04に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC04は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU23を用いた場合に、すべての変動パターン種別選択用の乱数MR3-3に対応して決定可能である。図10-31(D)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC19~PC27、PC102のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC04は、変動パターンPC19~PC27、PC102のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-32(A)は、変動パターン種別CPC05に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC05は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU24を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した第1割合で決定可能である。図10-32(A)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC28~PC43のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC05は、変動パターンPC28~PC43のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-32(B)は、変動パターン種別CPC06に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC06は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU24を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した第1割合とは異なる第2割合で決定可能である。第2割合は、第1割合よりも低い割合である。図10-32(B)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC44~PC59のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC06は、変動パターンPC44~PC59のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-32(C)は、変動パターン種別CPC07に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC07は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU24を用いた場合に、変動パターン種別選択用の乱数MR3-3に対応した第1割合および第2割合とは異なる第3割合で決定可能である。第3割合は、第1割合や第2割合よりも低い割合である。図10-32(C)の構成例において、変動パターン振り分けテーブルは、変動パターン用の乱数MR3-4に対応して、変動パターンPC60~PC75のいずれかに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC07は、変動パターンPC60~PC75のいずれかに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-32(D)は、変動パターン種別CPC08に対応する変動パターン振り分けテーブルの構成例を示している。変動パターン種別CPC08は、ハズレ演出選択用の乱数MR3-2に対応して決定可能な変動パターン種別振り分けテーブルAKU25を用いた場合に、すべての変動パターン種別選択用の乱数MR3-3に対応して決定可能である。図10-32(D)の構成例において、変動パターン振り分けテーブルは、すべての変動パターン用の乱数MR3-4に対応して、共通となる変動パターンPC02のみに決定可能となるように、テーブルデータが構成されている。このように、変動パターン種別CPC08は、変動パターンPC02のみに決定可能となるように、変動パターン振り分けテーブルの記憶データにより振り分け判定値が設定される。
図10-33(A)は、普通図柄プロセス処理P_FPROCの一例を示すフローチャートである。普通図柄プロセス処理P_FPROCは、図5に示された遊技制御用のタイマ割込み処理P_PCTから呼出可能な処理に含まれ、タイマ割込みが発生する毎に、ステップAKS59にて実行可能である。CPU103は、普通図柄プロセス処理P_FPROCを実行した場合に、ゲートスイッチ通過対応フラグ設定を行う(ステップAKS501)。ゲートスイッチ通過対応フラグ設定は、論理演算命令の実行などにより、スイッチオンバッファに含まれるゲートスイッチ21の状態をCPU103のフラグレジスタに反映させる。このとき、フラグレジスタにおけるゼロフラグがオン状態であることは、ゲートスイッチ通過対応フラグがオフ状態であることを示す。これに対し、ゼロフラグがオフ状態であることは、ゲートスイッチ通過対応フラグがオン状態であることを示す。その後、ゲートスイッチ通過対応フラグがオンであるか否かを判定する(ステップAKS502)。ゲートスイッチ通過対応フラグがオンである場合に(ステップAKS502;Yes)、ゲートスイッチ通過処理P_FZU_ONが実行される(ステップAKS503)。
ステップAKS502に対応してゲートスイッチ通過対応フラグがオフである場合や(ステップAKS502;No)、ステップAKS503におけるゲートスイッチ通過処理P_FZU_ONの後に、ポインタを設定する転送命令により、普通図柄プロセス処理ジャンプテーブルをセットする(ステップAKS504)。普通図柄プロセス処理ジャンプテーブルは、普通図柄プロセスコードの読出値に対応する処理を、選択して実行可能にするアドレス管理テーブルである。普通図柄プロセスコードは、パチンコ遊技機1における遊技制御の進行に対応して、00[H]~04[H]のいずれかに更新設定が可能であり、普図プロセスコードともいう。
ステップAKS504に続いて、記憶データを読み出すための転送命令により、普通図柄プロセスコードをロードする(ステップAKS505)。その次に、2バイトデータ選択処理P_ABXEXECを実行することにより(ステップAKS506)、普通図柄プロセスコードに対応して選択される処理のアドレスを取得する。このときに取得されたアドレスは、ポインタに設定される。この後、サブルーチンの呼出命令により、ポインタの指す処理を実行することで(ステップAKS507)、普通図柄プロセスコードに対応して選択された処理が実行可能になる。こうして選択された処理が終了して、復帰命令により普通図柄プロセス処理P_FPROCにリターンすると、この普通図柄プロセス処理P_FPROCも終了し、復帰命令により遊技制御用のタイマ割込み処理P_PCTにリターンする。
図10-33(B)は、普通図柄プロセス処理P_FPROCにおいて用いられる普通図柄プロセス処理ジャンプテーブルの構成例AKT51の構成例を示している。普通図柄プロセス処理ジャンプテーブルは、普通図柄プロセスコードに対応して選択される処理のアドレスを、ポインタとして用いられるCPU103の内部レジスタに設定可能なテーブルデータを含んで構成される。構成例AKT51の普通図柄プロセス処理ジャンプテーブルは、普通図柄プロセスコードが00[H]である場合の普通図柄通常処理P_FNORMと、普通図柄プロセスコードが01[H]である場合の普通図柄変動処理P_FSCRLと、普通図柄プロセスコードが02[H]である場合の普通図柄停止処理P_FSTOPと、普通図柄プロセスコードが03[H]である場合の普通電動役物作動前処理P_FINTと、普通図柄プロセスコードが04[H]である場合の普通電動役物作動処理P_FOPENと、に対応するアドレス値をポインタに設定可能なテーブルデータが含まれる。
普通図柄通常処理P_FNORMは、記憶された普通図柄保留情報の有無などにもとづいて普図ゲームを開始するか否かの判定と、普通図柄の可変表示において停止表示する確定普通図柄の決定と、普通図柄の変動パターンである普通図柄変動パターンの決定と、を可能にする。普通図柄変動処理P_FSCRLは、普通図柄表示器20において普通図柄が変動を開始してからの経過時間を計測し、普通図柄変動パターンに対応する普図変動時間が経過したか否かの判定を可能にする。普通図柄停止処理P_FSTOPは、普通図柄表示器20において普通図柄が変動を停止してからの経過時間を計測し、普通図柄停止時間が経過したか否かの判定を可能にする。普通図柄停止時間が経過した場合に、普図表示結果に対応して、普通図柄プロセスコードの更新や各種設定を可能にする。この実施例では、すべての普図表示結果に対応して、普通図柄プロセスコードを03[H]に更新可能であればよい。普通電動役物作動前処理P_FINTおよび普通電動役物作動処理P_FOPENは、普通電動役物ソレノイド81の制御により、可変入賞球装置6Bに形成された第2始動入賞口を閉鎖状態から開放状態へと変化可能にするための処理である。
図10-34は、普通図柄の可変表示である普図ゲームの制御に関するデータ構成の使用例を説明するための図である。例えば図10-33(A)に示された普通図柄プロセス処理P_FPROCは、ステップAKS505によりロードした普通図柄プロセスコードを用いて、ステップAKS506の2バイトデータ選択処理P_ABXEXECを実行することにより、ステップAKS507では普通図柄プロセスコードに対応して選択された処理を実行可能にする。普通図柄プロセスコードは、普通図柄制御データエリアに設けられ、普図ゲームや第2始動入賞口の制御状態に対応して記憶値を更新可能である。ステップAKS503のゲートスイッチ通過処理P_FZU_ONは、普通図柄当り図柄用の乱数MR2-1を読出可能であり、読み出された乱数MR2-1について、その値を示す数値データを普通図柄当り図柄用バッファに格納して保存可能にする。普通図柄当り図柄用バッファは、普通図柄当り図柄用バッファエリアに設けられ、普通図柄保留記憶数が上限値に達するまで、読み出された乱数MR2-1の値を示す数値データを記憶可能である。このように、普通図柄プロセス処理P_FPROCや、普通図柄プロセス処理P_FPROCにおいて実行可能な処理は、普通図柄制御データエリアや普通図柄当り図柄用バッファエリアにおける記憶データを用いて、普通図柄の可変表示である普図ゲームに関する制御を可能にする。
図10-34(A)は、普通図柄制御データエリアの構成例AKB51を示している。構成例AKB51の普通図柄制御データエリアは、普通図柄の可変表示である普図ゲームや、その表示結果にもとづいて制御可能な第2始動入賞口の閉鎖状態や開放状態など、普通図柄プロセス処理P_FPROCなどによる制御に関する各種データを記憶可能である。この普通図柄制御データエリアは、アドレスF03E[H]の普通図柄プロセスコードと、アドレスF03F[H]のゲート通過記憶カウンタと、アドレスF040[H]の普通図柄バッファと、アドレスF041[H]の普通電動役物開放パターンタイマと、アドレスF043[H]の普通電動役物開放ポインタと、アドレスF045[H]の普通電動役物入賞個数カウンタと、アドレスF04A[H]の普通図柄プロセスタイマと、を含んでいる。
普通図柄プロセスコードは、普通図柄プロセス処理P_FPROCにおいて選択される処理を指定可能である。ゲート通過記憶カウンタは、ゲートスイッチ21により検出された遊技球の個数に対応した計数値を記憶可能である。普通図柄バッファは、普通図柄指定値に対応するデータを格納可能である。普通図柄指定値は、普通図柄表示器20による普通図柄の可変表示における表示結果となる確定普通図柄に対応した指定値であり、普通図柄当り図柄指定値を含む。普通図柄当り図柄指定値は、普通図柄の可変表示において表示結果が「普図当り」の場合に、普通図柄表示器20により表示される確定普通図柄に対応した指定値である。普通電動役物開放パターンタイマは、第2始動入賞口を開放状態に制御する残り時間に対応した計時値を格納可能である。普通電動役物開放ポインタは、第2始動入賞口を開放状態に制御する時間が設定される普通電動役物開放パターンテーブルの記憶アドレスを指定可能である。普通電動役物入賞個数カウンタは、第2始動口スイッチ22Bにより検出された遊技球の個数に対応した計数値を記憶可能である。普通図柄プロセスタイマは、普通図柄プロセス処理P_FPROCによる制御時間に対応した計時値を格納可能である。
図10-34(B)は、普通図柄当り図柄用バッファエリアの構成例AKB52を示している。構成例AKB52の普通図柄当り図柄用バッファエリアは、遊技球が通過ゲート41を通過した場合に読み出された普通図柄当り図柄用の乱数MR2-1について、その値を示す数値データを記憶可能である。この普通図柄当り図柄用バッファエリアは、アドレスF046[H]~F049[H]の普通図柄当り図柄用バッファ番号「1」~「4」を含んでいる。普通図柄当り図柄用バッファ番号「1」~「4」は、バッファ番号「1」~「4」が割り当てられた普通図柄当り図柄用バッファであり、通過ゲート41を遊技球が通過した順に乱数MR2-1の値を記憶可能である。これにより、普通図柄当り図柄用バッファの記憶情報は、通過ゲート41を通過した遊技球の個数を示し、また、各通過に対応して読み出された乱数MR2-1の値を示す。
図10-35は、ゲートスイッチ通過処理P_FZU_ONの一例を示すフローチャートである。ゲートスイッチ通過処理P_FZU_ONは、図10-33(A)に示された普通図柄プロセス処理P_FPROCから呼出可能な処理に含まれ、ステップAKS502においてゲートスイッチ通過対応フラグがオンである場合に、ステップAKS503にて実行可能である。CPU103は、ゲートスイッチ通過処理P_FZU_ONを実行した場合に、ポインタを設定するための転送命令により、ゲート通過記憶カウンタアドレスをセットする(ステップAKS601)。ゲート通過記憶カウンタアドレスは、RAM102の遊技ワーク領域に設けられたゲート通過記憶カウンタのアドレスである。続いて、ポインタが指すアドレスの記憶データを読み出すための転送命令により、ゲート通過記憶カウンタをロードする(ステップAKS602)。
ステップAKS602の次に、ゲート通過記憶カウンタの計数値がカウンタ最大値以上であるか否かを判定する(ステップAKS603)。例えば、ステップAKS602によりロードされた値と、「4」などのカウンタ最大値と、を比較可能な比較復帰命令により、カウンタ最大値以上の場合に(ステップAKS603;Yes)、ゲートスイッチ通過処理P_FZU_ONが終了して普通図柄プロセス処理P_FPROCにリターンする。これに対し、カウンタ最大値未満の場合に(ステップAKS603;No)、ゲート通過記憶カウンタの計数値を1加算するように更新する(ステップAKS604)。この場合に、ポインタが指すアドレスの記憶データをインクリメントする算術論理演算命令により、ゲート通過記憶カウンタの計数値を1加算する更新が可能になる。
ステップAKS604の後に、ポインタを設定するための転送命令などにより、普通図柄当り図柄用バッファアドレスをセットする(ステップAKS605)。この場合に、RAM102の遊技ワーク領域に設けられたバッファ番号「0」の普通図柄当り図柄用バッファのアドレスが、ポインタに設定される。そして、ステップAKS602によりロードされた値を、ポインタの格納値に加算する。これにより、普通図柄当り図柄用バッファエリアにおいて、普通図柄当り図柄用の乱数MR2-1を記憶させる普通図柄当り図柄用バッファのアドレスを、ポインタにセットすることができる。これに続き、普通図柄当り図柄用乱数カウンタをストアして(ステップAKS606)、ゲートスイッチ通過処理P_FZU_ONが終了する。ステップAKS606では、RAM102の遊技ワーク領域における普通図柄当り図柄用乱数カウンタの下位アドレスを指定して読み出した値を、ポインタが指すアドレスの記憶領域に書き込むための転送命令により、普通図柄当り図柄用乱数カウンタから取得した乱数MR2-1の値を、普通図柄当り図柄用バッファに格納できればよい。
図10-36は、普通図柄通常処理P_FNORMの一例を示すフローチャートである。普通図柄通常処理P_FNORMは、図10-33(A)に示された普通図柄プロセス処理P_FPROCから呼出可能な処理に含まれ、ステップAKS505によりロードされた普通図柄プロセスコードが00[H]である場合に、ステップAKS507にて実行可能である。CPU103は、普通図柄通常処理P_FNORMを実行した場合に、ゲート通過記憶カウンタをロードする(ステップAKS621)。この場合に、RAM102の遊技ワーク領域におけるゲート通過記憶カウンタの下位アドレスを指定して読み出した値を、CPU103の内部レジスタに設定するための転送命令により、ゲート通過記憶カウンタの計数値を取得できればよい。そして、CPU103のフラグレジスタにおける第2ゼロフラグがオン状態である場合に処理をリターンさせる演算復帰命令により、ゲート通過記憶カウンタの計数値が「0」であるか否かを判定する(ステップAKS622)。このとき、第2ゼロフラグがオン状態であれば、ゲート通過記憶カウンタの計数値が「0」であることに対応して(ステップAKS622;Yes)、普通図柄通常処理P_FNORMが終了し、普通図柄プロセス処理P_FPROCにリターンする。
ステップAKS622に対応してゲート通過記憶カウンタの計数値が「0」ではない場合に(ステップAKS622;No)、ポインタを設定するための転送命令により、普通図柄当り図柄設定用テーブルアドレスをセットする(ステップAKS623)。普通図柄当り図柄設定用テーブルアドレスは、ROM101の遊技データ領域に記憶された普通図柄当り図柄設定用テーブルのアドレスである。その後、バッファ番号「1」の普通図柄当り図柄用バッファをロードする(ステップAKS624)。ステップAKS624では、RAM102の遊技ワーク領域におけるバッファ番号「1」の普通図柄当り図柄用バッファの下位アドレスを指定して読み出した値を、CPU103の内部レジスタに設定するための転送命令により、バッファ番号「1」の普通図柄当り図柄用バッファに記憶された普通図柄当り図柄用の乱数MR2-1を読出可能であればよい。
ステップAKS624により普通図柄当り図柄用の乱数MR2-1を読み出すと、第2振り分け判定値比較処理P_HANTEI2が実行される(ステップAKS625)。ステップAKS625の第2振り分け判定値比較処理P_HANTEI2は、ステップAKS624により読み出した乱数MR2-1の値が比較値としてセットされ、ステップAKS623によりアドレスがセットされた普通図柄当り図柄設定用テーブルの記憶データにより、振り分け結果データが示す普通図柄当り図柄指定値を、普通図柄表示器20による表示結果として決定可能にする。このようなステップAKS625の第2振り分け判定値比較処理P_HANTEI2により普通図柄当り図柄指定値が決定されると、その普通図柄当り図柄指定値を普通図柄バッファにストアする(ステップAKS626)。普通図柄バッファは、図10-34(A)に示された普通図柄制御データエリアに設けられ、アドレスF040[H]が割り当てられている。ステップAKS626では、RAM102の遊技ワーク領域における指定アドレスの記憶領域に書き込むための転送命令により、普通図柄当り図柄指定値をストアすればよい。
ステップAKS626の次に、ゲート通過記憶カウンタの計数値を1減算する(ステップAKS627)。そして、普通図柄当り図柄用バッファをシフトさせる(ステップAKS628)。この場合に、RAM102の遊技ワーク領域に設けられた普通図柄当り図柄用バッファエリアにおいて、バッファ番号「2」の普通図柄当り図柄用バッファのアドレスが、転送元を指定するポインタにセットされる。また、バッファ番号「1」の普通図柄当り図柄用バッファのアドレスが、転送先を指定するバッファポインタにセットされる。さらに、普通図柄当り図柄用バッファエリアのデータサイズに対応した転送回数がセットされる。その後、ブロック転送命令により、普通図柄当り図柄用バッファの記憶内容を順次に転送してシフトさせればよい。このとき、バッファ番号「4」の普通図柄当り図柄用バッファをクリアして、記憶内容を初期化しておく。
ステップAKS628の後に、ポインタを設定するための転送命令により、第1普通図柄変動パターン振り分けテーブルアドレスをセットする(ステップAKS629)。第1普通図柄変動パターン振り分けテーブルアドレスは、ROM101の遊技データ領域に記憶された第1普通図柄変動パターン振り分けテーブルのアドレスである。また、時短チェック処理により、時短機能フラグが時短作動指定値ではないことを確認する(ステップAKS630)。このとき、時短機能フラグが時短作動指定値であれば(ステップAKS630;No)、ポインタを設定するための転送命令により、第2普通図柄変動パターン振り分けテーブルアドレスをセットする(ステップAKS631)。第2普通図柄変動パターン振り分けテーブルアドレスは、ROM101の遊技データ領域に記憶された第2普通図柄変動パターン振り分けテーブルのアドレスである。
ステップAKS630に対応して時短機能フラグが時短作動指定値ではない場合や(ステップAKS630;Yes)、ステップAKS631の後に、RS3ソフトラッチ乱数値レジスタをロードする(ステップAKS632)。この場合に、機能制御レジスタエリアにおけるRS3ソフトラッチ乱数値レジスタのアドレスを指定して読み出した格納値を、CPU103の内部レジスタに設定するための転送命令により、普通図柄変動パターン用の乱数MR3-1として使用可能に設定すればよい。そして、第2振り分け判定値比較処理P_HANTEI2が実行される(ステップAKS633)。ステップAKS633の第2振り分け判定値比較処理P_HANTEI2は、ステップAKS632により読み出した乱数MR3-1の値が比較値としてセットされ、ステップAKS629によりアドレスがセットされた第1普通図柄変動パターン振り分けテーブルまたはステップAKS631によりアドレスがセットされた第2普通図柄変動パターン振り分けテーブルの記憶データにより、振り分け結果データが示す普通図柄変動パターンを決定可能にする。
ステップAKS633の第2振り分け判定値比較処理P_HANTEI2により普通図柄変動パターンが決定されると、その普通図柄変動パターンに対応した普通図柄変動時間を設定する(ステップAKS634)。ステップAKS634では、普通図柄変動時間テーブルと、普通図柄変動パターン指定データと、を用いて時間データ展開処理を実行することにより、普通図柄変動パターンの決定結果に対応した普通図柄変動時間を設定可能にする。続いて、ポインタを設定するための転送命令により、普通図柄変動時ワークテーブルアドレスをセットする(ステップAKS635)。普通図柄変動時ワークテーブルアドレスは、ROM101の遊技データ領域に記憶された普通図柄変動時ワークテーブルのアドレスである。その次に、データセット処理P_DATASETを実行して(ステップAKS636)、普通図柄通常処理P_FNORMが終了する。ステップAKS636のデータセット処理P_DATASETは、ステップAKS635によりアドレスがセットされた普通図柄変動時ワークテーブルを用いて、普通図柄プロセスコードを普通図柄変動処理指定値となる01[H]に設定し、普通図柄変動中表示バッファの格納値を普通図柄変動中表示データとなる01[H]に設定する。また、普通図柄表示更新タイマをクリアすることにより初期化可能にする。
図10-37は、普通図柄通常処理P_FNORMに関するデータ構成の使用例を説明するための図である。普通図柄通常処理P_FNORMでは、ステップAKS623によりアドレスがセットされた普通図柄当り図柄設定用テーブルを用いて、ステップAKS625の第2振り分け判定値比較処理P_HANTEI2を実行することにより、普通図柄当り図柄指定値を決定可能にする。また、ステップAKS629によりアドレスがセットされた第1普通図柄変動パターン振り分けテーブルまたはステップAKS631によりアドレスがセットされた第2普通図柄変動パターン振り分けテーブルを用いて、ステップAKS633の第2振り分け判定値比較処理P_HANTEI2を実行することにより、普通図柄変動パターンを決定可能にする。ステップAKS634では、普通図柄変動時間テーブルを用いて、普通図柄変動パターンの決定結果に対応した普通図柄変動時間を設定可能にする。また、図10-33(A)に示された普通図柄プロセス処理P_FPROCのステップAKS507では、普通図柄プロセスコードが03[H]に対応して普通電動役物作動前処理P_FINTが実行される場合に、普通電動役物作動時ワーク設定テーブルなどを用いて、第2始動入賞口に対応して設けられた普通電動役物の開放時間を決定可能にする。
このように、普通図柄通常処理P_FNORMは、普通図柄当り図柄設定用テーブルを用いて、普通図柄当り図柄指定値を決定可能にする。また、普通図柄通常処理P_FNORMは、第1普通図柄変動パターン振り分けテーブルまたは第2普通図柄変動パターン振り分けテーブルを用いて、普通図柄変動パターンを決定可能にする。さらに、普通図柄通常処理P_FNORMは、普通図柄変動時間テーブルを用いて、普通図柄変動時間を決定可能にする。普図ゲームの実行結果に対応して実行される普通電動役物作動前処理P_FINTは、普通電動役物の開放時間を決定可能である。
図10-37(A)は、普通図柄当り図柄設定用テーブルの構成例AKT61を示している。構成例AKT61の普通図柄当り図柄設定用テーブルは、先頭アドレス1B54[H]に第1普通図柄当り図柄指定値と対応する値00[H]が記憶され、次アドレス1B55[H]に処理数を示す値03[H]が記憶されている。そして、アドレス1B56[H]以降における記憶データは、第1~第3普通図柄当り図柄指定値に対応した振り分け判定値を示している。ステップAKS625の第2振り分け判定値比較処理P_HANTEI2は、構成例AKT61の普通図柄当り図柄設定用テーブルを用いた場合に、普通図柄当り図柄用の乱数MR2-1に対応して、第1~第3普通図柄当り図柄指定値のいずれかに決定可能である。構成例AKT61において、第1普通図柄当り図柄指定値は00[H]であり、第2普通図柄当り図柄指定値は01[H]であり、第3普通図柄当り図柄指定値は02[H]である。例えば、普通図柄当り図柄用の乱数MR2-1が乱数最小値の「0」に対応した00[H]である場合に、第1普通図柄当り図柄指定値が決定される。
図10-37(B1)は、第1普通図柄変動パターン振り分けテーブルの構成例AKT62を示している。構成例AKT62の第1普通図柄変動パターン振り分けテーブルは、先頭アドレス1B59[H]に普通図柄変動パターンFPZ1指定値と対応する値00[H]が記憶され、次アドレス1B5A[H]に処理数を示す値04[H]が記憶されている。そして、アドレス1B5B[H]以降における記憶データは、普通図柄変動パターンFPZ1~FPZ4に対応した振り分け判定値を示している。ステップAKS633の第2振り分け判定値比較処理P_HANTEI2は、構成例AKT62の第1普通図柄変動パターン振り分けテーブルを用いた場合に、普通図柄変動パターン用の乱数MR3-1に対応して、普通図柄変動パターンFPZ1~FPZ4のいずれかに決定可能である。
図10-37(B2)は、第2普通図柄変動パターン振り分けテーブルの構成例AKT63を示している。構成例AKT63の第2普通図柄変動パターン振り分けテーブルは、先頭アドレス1B5F[H]に普通図柄変動パターンFPZ5指定値と対応する値04[H]が記憶され、次アドレス1B60[H]に処理数を示す値04[H]が記憶されている。そして、アドレス1B61[H]以降における記憶データは、普通図柄変動パターンFPZ5~FPZ8に対応した振り分け判定値を示している。ステップAKS633の第2振り分け判定値比較処理P_HANTEI2は、構成例AKT63の第2普通図柄変動パターン振り分けテーブルを用いた場合に、普通図柄変動パターン用の乱数MR3-1に対応して、普通図柄変動パターンFPZ5~FPZ8のいずれかに決定可能である。
図10-37(C)は、普通図柄変動時間決定例AKD61を示している。決定例AKD61では、普通図柄変動パターンFZP1~FZP4に対応して普通図柄変動時間が1000[ms]に決定され、普通図柄変動パターンFZP5~FZP8に対応して普通図柄変動時間が100[ms]に決定される。ステップAKS634では、ステップAKS633の第2振り分け判定値比較処理P_HANTEI2により決定された普通図柄変動パターンに対応した普通図柄変動時間が設定される。普通図柄変動パターンFZP1~FZP4は、時短機能フラグがオフである場合に、構成例AKT61の第1普通図柄変動パターン振り分けテーブルを用いて決定可能である。普通図柄変動パターンFZP5~FZP8は、時短機能フラグがオンである場合に、構成例AKT62の第2普通図柄変動パターン振り分けテーブルを用いて決定可能である。これにより、時短制御が行われている場合の方が、時短制御が行われていない場合よりも、普通図柄の可変表示時間である普通図柄変動時間は短くなるように設定可能になる。
図10-37(D)は、普通電動役物開放時間決定例AKD62を示している。普通電動役物作動前処理P_FINTでは、時短作動指定値や普通図柄当り図柄指定値に対応して、普通電動役物開放時間を決定可能である。普通電動役物開放時間は、時短作動指定値が時短状態ではないことを示す「×」に対応した値00[H]の場合に、すべての普通図柄当り図柄指定値00[H]~02[H]に対応して、16msに決定される。これに対し、普通電動役物作動時間は、時短作動指定値が時短状態であることを示す「○」に対応した値01[H]の場合に、すべての普通図柄当り図柄指定値00[H]~02[H]に対応して、5000msに決定される。
このように、普通電動役物開放時間は、普通図柄当り図柄指定値がいずれの値である場合にも、時短作動指定値に対応して、異なる時間に決定可能である。普通図柄当り図柄指定値は、普通図柄当り図柄用バッファから読み出された普通図柄当り図柄用の乱数MR2-1に対応して決定可能である。そして、時短作動指定値が同一値であれば、普通図柄当り図柄用の乱数MR2-1が乱数最小値の「0」である場合と、乱数最小値以外である場合とで、共通となる普通電動役物作動時間に決定される。したがって、普通図柄表示器20における普通図柄の可変表示である特図ゲームに対応して、普通図柄当り図柄用の乱数MR2-1が乱数最小値の「0」である場合に、乱数最小値以外である場合よりも有利度が高い表示結果に決定されない。これにより、普通図柄当り図柄用の乱数MR2-1を第2乱数値とした場合に、第2乱数値の不具合による不正行為を防止するように、適切な乱数値の更新が可能になる。
図10-1に示された遊技制御用マイクロコンピュータ100では、16ビットの乱数回路104Aや8ビットの乱数回路104Bにより、遊技用乱数に含まれる乱数値のうち、特別図柄判定用の乱数MR1-1、ハズレ演出選択用の乱数MR3-2、変動パターン種別選択用の乱数MR3-3、変動パターン用の乱数MR3-4、普通図柄変動パターン用の乱数MR3-1について、それぞれの値を示す数値データを更新可能である。また、CPU103が図10-12に示された乱数更新処理P_RANDOMなどを実行することにより、遊技用乱数に含まれる乱数値のうち、当り図柄用の乱数MR1-2、当り図柄用初期値となる乱数MR1-3、普通図柄当り図柄用の乱数MR2-1、普通図柄当り図柄用初期値となる乱数MR2-2について、それぞれの値を示す数値データを更新可能である。
図10-18に示された特別図柄通常処理のステップAKS248において、図10-20に示された特別図柄判定処理P_TDECISIONが実行された場合に、ステップAKS304の特別図柄大当り判定処理やステップAKS305の特別図柄小当り判定処理により、特別図柄判定用の乱数MR1-1を用いて特図表示結果を「大当り」とするか否かや「小当り」とするか否かを判定可能になる。そして、特別図柄判定処理P_TDECISIONのステップAKS308において、図10-22に示された特別図柄情報設定処理P_TZU_SETが実行された場合に、ステップAKS326の大当り情報データ選択処理P_TFVR_ZUあるいはステップAKS333により、当り図柄用の乱数MR1-2を用いて特別図柄の表示結果となる確定特別図柄に対応した大当り図柄指定値や小当り図柄指定値を決定可能になる。また、図10-36に示された普通図柄通常処理のステップAKS625にて第2振り分け判定値比較処理P_HANTEISが実行された場合に、普通図柄当り図柄用の乱数MR2-1を用いて普通図柄の表示結果となる確定普通図柄に対応した普通図柄当り図柄指定値を決定可能になる。当り図柄用の乱数MR1-2を用いて決定された大当り図柄指定値は、特別図柄情報設定処理P_TZU_SETのステップAKS330において、図10-24(C)に示された大入賞口開放回数最大値決定例AKD01のように、大入賞口開放回数最大値を設定可能にする。普通図柄当り図柄用の乱数MR2-1を用いて決定された普通図柄当り図柄指定値は、図10-33(A)に示された普通図柄プロセス処理P_FPROCのステップAKS507において、普通図柄プロセスコードが03[H]に対応して普通電動役物作動前処理P_FINTが実行される場合に、図10-37(D)に示された普通電動役物開放時間決定例AKD62のように、普通電動役物開放時間を設定可能にする。したがって、当り図柄用の乱数MR1-2は、第1特別図柄表示装置4Aや第2特別図柄表示装置4Bによる表示結果の決定に用いられ、遊技者にとって有利な大当り遊技状態の種類を設定可能にする。普通図柄当り図柄用の乱数MR2-1は、普通図柄表示器20による表示結果の決定に用いられ、始動領域となる第2始動入賞口を遊技球が通過しやすい誘導状態に変化させる変化態様を設定可能にする。
このように、各種の遊技用乱数となる乱数値を用いて、遊技制御に関する処理を実行可能であるところ、第1乱数値となる当り図柄用の乱数MR1-2と、第2乱数値となる普通図柄当り図柄用の乱数MR2-1とを、図10-12に示された乱数更新処理P_RANDOMにより呼び出して実行可能な初期値変更乱数更新処理P_RANCPといった、共通となる更新処理によりそれぞれの更新範囲において更新可能である。ここで、普通図柄当り図柄用の乱数MR2-1は、その更新範囲が「0」~「198」であり、更新範囲に含まれる乱数値の総数が「199」なので、更新範囲に含まれる乱数値の総数が素数になる。したがって、共通となる更新処理により更新可能な第1乱数値と第2乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数である。こうして、共通となる更新処理がプログラム容量の増大を防止し、更新範囲に含まれる乱数値の総数が素数であることで乱数値の同期発生を抑制して、適切な乱数値の更新が可能になる。
なお、第1乱数値となる当り図柄用の乱数MR1-2は、その更新範囲が「0」~「199」であり、更新範囲に含まれる乱数値の総数が「200」なので、更新範囲に含まれる乱数値の総数が素数以外になる。当り図柄用の乱数MR1-2は、確定特別図柄における大当り図柄指定値の決定に用いられ、大当り図柄指定値に対応して、大当り遊技状態の終了後に確変状態となるか否かが決定される場合もある。この場合に、大当り図柄指定値の決定割合は、確変状態に制御される割合である確変突入率に対応することになる。確変突入率は、パチンコ遊技機1における重要な仕様に含まれ、明確に認識しやすい値にすることが望ましい。しかしながら、仮に、当り図柄用の乱数MR1-2について、更新範囲に含まれる乱数の総数が素数であれば、確変突入率の分母が素数になり、百分率で示すことが困難になるので、確変突入率を認識しにくくなるおそれがある。そこで、共通となる更新処理により更新可能な当り図柄用の乱数MR1-2および普通図柄当り図柄用の乱数MR2-1のうち、普通図柄当り図柄用の乱数MR2-1は更新範囲に含まれる乱数値の総数が素数である一方で、当り図柄用の乱数MR1-2は更新範囲に含まれる乱数値の総数が素数ではないものとしてもよい。これにより、乱数値の同期発生を抑制しつつ、パチンコ遊技機1の仕様を明確に認識できるように、適切な乱数値の更新が可能になる。
第1乱数値となる当り図柄用の乱数MR1-2についても、更新範囲に含まれる乱数値の総数が素数であるようにしてもよい。これにより、共通の更新処理により更新可能な乱数値の同期発生を、より確実に抑制して、適切な乱数値の更新が可能になる。
図10-12に示された乱数更新処理P_RANDOMにおいて、ステップAKS61~AKS64は第1乱数値となる乱数MR1-2を更新可能であり、ステップAKS65~AKS68は第2乱数値となる乱数MR2-1を更新可能である。そして、乱数更新処理P_RANDOMは、第1乱数値となる乱数MR1-2および第2乱数値となる乱数MR2-1を、共通となる内部格納手段であるCPU103のHLレジスタ、Bレジスタ、DEレジスタを用いて更新可能である。このように、共通となる内部格納手段を用いて第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
図10-12に示された乱数更新処理P_RANDOMを実行するCPU103は、当り図柄用の乱数MR1-2を第1乱数値とし、普通図柄当り図柄用の乱数MR2-1を第2乱数値とした場合に、第1乱数値および第2乱数値を乱数更新処理によりそれぞれの更新範囲において更新可能な第1更新手段となる。また、16ビットの乱数回路104Aや8ビットの乱数回路104Bは、特別図柄判定用の乱数MR1-1、ハズレ演出選択用の乱数MR3-2、変動パターン種別選択用の乱数MR3-3、変動パターン用の乱数MR3-4のうちから第3乱数値および第4乱数値となるものを設定した場合に、第3乱数値および第4乱数値を乱数用クロック信号となるシステムクロック入力によりそれぞれの更新範囲において更新可能な第2更新手段となる。そして、例えば普通図柄当り図柄用の乱数MR2-1は、その更新範囲が「0」~「198」であり、更新範囲に含まれる乱数値の総数が「199」なので、第2乱数値の更新範囲に含まれる乱数値の総数が素数になる。これに対し、例えばハズレ演出選択用の乱数MR3-2は、その更新範囲が「0」~「65518」であり、更新範囲に含まれる乱数値の総数が「65519」であり、変動パターン種別選択用の乱数MR3-3は、その更新範囲が「0」~「240」であり、更新範囲に含まれる乱数値の総数が「241」であり、変動パターン用の乱数MR3-4は、その更新範囲が「0」~「250」であり、更新範囲に含まれる乱数値の総数が「251」なので、第3乱数値と第4乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数になる。こうして、第1更新手段と第2更新手段とで更新方法が異なり、更新方法が同じ場合でも少なくとも一方の乱数値は更新範囲に含まれる乱数値の総数が素数であることにより同期発生を抑制して、適切な乱数値の更新が可能になる。
16ビットの乱数回路104Aや8ビットの乱数回路104Bは、特別図柄判定用の乱数MR1-1、ハズレ演出選択用の乱数MR3-2、変動パターン種別選択用の乱数MR3-3、変動パターン用の乱数MR3-4のうちから第1乱数値および第2乱数値となるものを設定した場合に、第1乱数値および第2乱数値を乱数用クロック信号となるシステムクロック入力により更新可能な第1更新手段となる。図10-12に示された乱数更新処理P_RANDOMを実行するCPU103は、当り図柄用の乱数MR1-2、普通図柄当り図柄用の乱数MR2-1のうちから第3乱数値となるものを設定した場合に、第3乱数値を乱数更新処理により更新可能な第2更新手段となる。パチンコ遊技機1における電力供給の開始にもとづいて、図4に示された遊技制御用のメイン処理P_MAINを実行するCPU103は、ステップS1において図10-7に示された電力供給開始対応処理P_POWER_ONを実行した場合に、ステップAKS13の機能設定レジスタストア命令により、機能設定レジスタエリアの格納値を設定する。このときに、16ビットの乱数回路104Aや8ビットの乱数回路104Bに対応して設けられた最大値設定レジスタの格納値を設定することで、16ビットの乱数回路104Aや8ビットの乱数回路104Bによって更新される乱数値の乱数最大値を設定する最大値設定処理を実行可能である。そして、第1更新手段となる16ビットの乱数回路104Aや8ビットの乱数回路104Bは、最大値設定処理において、第1乱数値の乱数最大値が設定されたことにより第1乱数の更新を開始した後に、第2乱数値の乱数最大値が設定されたことにより第2乱数の更新を開始する。図4に示された遊技制御用のメイン処理P_MAINを実行するCPU103は、ステップS1の電力供給開始対応処理P_POWER_ONを実行した後に、ステップS8~S11のループ処理を実行中に、タイマ割込みの発生に対応して、図5に示された遊技制御用のタイマ割込み処理P_PCTを実行可能になり、ステップS56において乱数更新処理P_RANDOMを実行することで、第3乱数値の更新を開始する。このように、第2更新手段となる乱数更新処理P_RANDOMを実行するCPU103は、電力供給開始対応処理P_POWER_ONにおいて最大値設定処理を実行した後に、第3乱数値の更新を可能にするので、例えば特別図柄判定用の乱数MR1-1といった、遊技価値との関連度が高い乱数値の更新を先に開始することにより不確定性が高められ、適切な乱数値の更新が可能になる。
図10-9(B)に示されたRWMアクセスプロテクトレジスタのビットデータRAPにおいて、ビット番号「0」のビットデータRAM0は、パチンコ遊技機1における電力供給の開始に対応して、初期値である0[B]に設定される。これにより、RWMとなるRAM102は、特定格納領域であるRWMアクセスプロテクトレジスタの格納値が第1格納値に設定されたことに対応して、アクセス禁止となる。図10-7に示された電力供給開始対応処理P_POWER_ONを実行したCPU103は、ステップAKS13の機能設定レジスタストア命令により、機能設定レジスタエリアの格納値を設定し、その後にステップAKS14によりRWMアクセスプロテクトレジスタにアクセス許可出力値をストアする。このように、機能に関する格納領域である機能設定レジスタエリアに格納値を設定した後に、記憶手段としてのRAM102へのアクセスを許可する第2格納値を特定格納領域であるRWMアクセスプロテクトレジスタに設定可能である。そして、第2格納値を設定した次の処理として、図4に示された遊技制御用のメイン処理P_MAIN処理においてステップS2のRWMチェック処理P_RWM_CHKなどを実行することで、記憶手段であるRAM102の記憶内容にもとづいて制御状態を復旧可能か否かを確認する確認処理を実行可能である。こうして、記憶手段の記憶内容がいたずらに変化することがないようにして、確認処理を確実に実行できるとともに、適切な乱数値の更新が可能になる。
図10-10に示された電源断処理P_POWER_OFFを実行するCPU103は、ステップAKS39のチェックサム算出処理P_SUM_CALCにより作成されたチェックサムデータをステップAKS40によりチェックサムバッファにストアすることで、電力供給の停止に対応して、制御状態を復旧させるための復旧情報となるチェックサムデータを、記憶手段であるRAM102のチェックサムバッファといった記憶領域に記憶させる停止時記憶処理を実行可能である。このような停止時記憶処理が実行された後に、ステップAKS41において出力値データにセットされたクリアデータを、ステップAKS42においてRWMアクセスプロテクトレジスタにストアすることで、第1格納値を特定格納領域に設定する停止時格納処理を実行可能である。停止時格納処理が実行された後に、ステップAKS48、AKS49のループ処理により遊技制御を実行しない待機状態に移行させる。この待機状態であるときに電力供給が回復したことに対応して、ステップAKS49において電源確認信号入力ビットが「0」ではない場合に、ステップAKS50において電源断復旧時ベクタテーブルアドレスをスタックポインタにセットしてから、割込みリターン命令により、電源断処理P_POWER_OFFを終了させることで、パチンコ遊技機1の起動にもとづく起動時処理として、図4に示された遊技制御用のメイン処理P_MAINを、先頭から実行可能にする。これにより、電力供給が回復した場合に不安定な動作を防止するとともに、適切な乱数値の更新が可能になる。
図10-2に示された遊技制御用マイクロコンピュータ100におけるアドレスマップにおいて、アドレスFE00[H]~FEBF[H]が割り当てられた内蔵レジスタの機能設定レジスタエリアは、遊技制御用マイクロコンピュータ100に含まれる各種回路を用いた機能設定のための第1領域となり、アドレスFF00[H]~FFFF[H]が割り当てられた内蔵レジスタの機能制御レジスタエリアは、遊技制御用マイクロコンピュータ100に含まれる各種回路を用いた機能制御のための第2領域となる。このうち、アドレスFF00[H]のRWMアクセスプロテクトレジスタは、RWMであるRAM102へのアクセスを許可するか否かを示す格納値を設定可能な特定格納領域となる。パチンコ遊技機1における電力供給の開始にもとづいて、図4に示された遊技制御用のメイン処理P_MAINを実行するCPU103は、ステップS1において図10-7に示された電力供給開始対応処理P_POWER_ONを実行した場合に、ステップAKS5~AKS7により、第2領域である機能制御レジスタエリアの格納値を設定する制御用格納処理を実行可能である。このような制御用格納処理が実行された後に、ステップAKS11~AKS13により、第1領域である機能設定レジスタエリアの格納値を設定する設定用格納処理を実行可能である。このような設定用格納処理が実行された後に、ステップAKS14により、記憶手段であるRAM102へのアクセスを許可する格納値を、特定格納領域としてのRWMアクセスプロテクトレジスタに設定することができる。こうして、記憶手段の記憶内容がいたずらに変化することの防止とともに、適切な乱数値の更新が可能になる。
(特徴部01AKの課題解決手段および効果)
(1-1) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
特別識別情報の可変表示を実行可能な第1表示手段と、
普通識別情報の可変表示を実行可能な第2表示手段と、を備え、
第1表示手段による表示結果に対応して、有利状態の種類が決定され、
第2表示手段による表示結果に対応して、始動領域を遊技媒体が通過しやすい誘導状態に変化させる変化態様が決定され、
更新手段は、
第1表示手段による表示結果の決定に用いられる第1乱数値および第2表示手段による表示結果の決定に用いられる第2乱数値を共通となる更新処理によりそれぞれの更新範囲において更新可能であり、
第1乱数値および第2乱数値を共通となる内部格納手段を用いて更新可能であり、
第1乱数値は、更新範囲に含まれる乱数値の総数が素数ではなく、
第2乱数値は、更新範囲に含まれる乱数値の総数が素数である。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば乱数更新処理P_RANDOMを実行するCPU103などであればよい。特別識別情報は、例えば特別図柄などであればよい。第1表示手段は、例えば第1特別図柄表示装置4Aおよび第2特別図柄表示装置4Bなどであればよい。普通識別情報は、例えば普通図柄などであればよい。第2表示手段は、例えば普通図柄表示器20などであればよい。第1表示手段による表示結果は、例えば特別図柄の表示結果となる確定特別図柄などであればよい。第2表示手段による表示結果は、例えば普通図柄の表示結果となる確定普通図柄などであればよい。有利状態の種類は、例えば大入賞口開放回数最大値などであればよい。変化態様は、例えば普通電動役物開放時間などであればよい。第1乱数値は、例えば乱数MR1-2などであればよい。第2乱数値は、例えば乱数MR2-1などであればよい。更新処理は、例えば初期値変更乱数更新処理P_RANCPなどであればよい。内部格納手段は、例えばCPU103のHLレジスタ、Bレジスタ、DEレジスタなどであればよい。第1乱数値の総数は、例えば乱数MR1-2の大きさが「65536」などであればよい。第2乱数値の総数は、例えば乱数MR2-1の大きさが「199」などであればよい。
このような構成によれば、共通となる更新処理がプログラム容量の増大を防止し、更新範囲に含まれる乱数値の総数が素数であることで第1乱数値と第2乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
(1-2) 更新手段は、更新処理を実行する場合、更新対象乱数値と、乱数最大値と、乱数初期値と、に関する設定をした後に、更新対象乱数値の更新と乱数初期値の変更とを実行可能であってもよい。
ここで、更新処理を実行する場合の設定は、例えばステップAKS61~AKS63、AKS65~AKS67の部分などであればよい。更新対象乱数値の更新と乱数初期値の変更は、例えばステップAKS64、AKS68の初期値変更乱数更新処理P_RANCPを実行する部分などであればよい。
このような構成においては、設定された更新対象乱数値の更新などにより、適切な乱数値の更新が可能になる。
(1-3) 更新手段は、特定更新処理により、第1乱数値を更新した後に第2乱数値を更新してもよい。
ここで、特定更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。
このような構成においては、遊技者の注目度が高い表示結果の決定に用いられる第1乱数値を第2乱数値よりも先に更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
(1-4) 更新手段は、特定更新処理により、第1乱数値と第2乱数値とに対応して共通更新用処理を呼び出すことにより、第1乱数値および第2乱数値を更新し、第1乱数値および第2乱数値の初期値を変更可能であってもよい。
ここで、共通更新用処理は、例えば乱数更新処理P_RANDOMにおけるステップAKS64、AKS68の初期値変更乱数更新処理P_RANCPなどであればよい。
このような構成においては、共通更新用処理によりプログラム容量の増大を防止し、第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
(1-5) 更新手段は、特定更新処理により、共通となる内部格納手段を用いて、第1乱数値および第2乱数値を更新可能であってもよい。
例えば乱数更新処理P_RANDOMにおいて、ステップAKS61、AKS65によりHLレジスタが設定され、ステップAKS62、AKS66によりBレジスタが設定され、ステップAKS63、AKS67によりDEレジスタが設定された後に、ステップAKS64、AKS68の初期値変更乱数更新処理P_RANCPを実行することなどであればよい。
このような構成においては、共通となる内部格納手段を用いて第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
(1-6) 更新手段は、特定更新処理により、共通更新用処理の前に参照先情報を内部格納手段に格納する場合、第1乱数値と第2乱数値とに対応して共通となる命令を用いて異なる参照先情報を内部格納手段に設定可能であってもよい。
ここで、内部格納手段は、例えばHLレジスタ、Bレジスタ、DEレジスタなどであればよい。共通となる命令は、LD命令やLDQ命令などの転送命令であればよい。異なる参照先情報は、例えば当り図柄用乱数カウンタのアドレスF081[H]と普通図柄当り図柄用乱数カウンタのアドレスF052[H]や、当り図柄用乱数初期値データバッファのアドレスF050[H]と普通図柄当り図柄用乱数初期値データバッファのアドレスF053[H]などであればよい。
このような構成においては、共通となる命令を用いて第1乱数値や第2乱数値を更新可能とすることにより、第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
(1-7) 更新手段は、更新処理を実行する場合、更新対象乱数値を更新した後に、該更新対象乱数値が乱数初期値と一致したことに対応して、乱数初期値を変更可能である、
例えば初期値変更乱数更新処理P_RANCPにおいて、ステップAKS101により更新対象乱数値を更新した後に、ステップAKS105にて乱数初期値データバッファの格納値と一致したことに対応して、ステップAKS108により新たな乱数初期値を格納することなどであればよい。
このような構成においては、更新対象乱数値の更新や乱数初期値の変更により、適切な乱数値の更新が可能になる。
(1-8) 更新手段は、更新処理を実行して更新対象乱数値を更新する場合、
更新対象乱数値を乱数最大値と比較すること、
比較の結果が乱数最大値未満であれば更新対象乱数値を1加算すること、
比較の結果が乱数最大値以上であれば更新対象乱数値を乱数最小値に変更すること、を含む単一の比較加算命令を最初に実行してもよい。
ここで、比較加算命令は、例えばステップAKS101の部分などであればよい。
このような構成においては、比較加算命令を最初に実行することにより、不具合の発生を抑制して、適切な乱数値の更新が可能になる。
(1-9) 更新手段は、第1乱数値を更新する場合と第2乱数値を更新する場合とで、いずれも比較加算命令を最初に実行してもよい。
例えばステップAKS64、AKS68の初期値変更乱数更新処理P_RANCPにおけるステップAKS101の部分などであればよい。
このような構成においては、比較加算命令を最初に実行することにより、第1乱数値や第2乱数値における不具合の発生を抑制して、適切な乱数値の更新が可能になる。
(1-10) 第1表示手段による表示結果を決定する場合、第1乱数値が乱数最小値であるときに、第1乱数値が乱数最小値以外であるときよりも有利度が高い表示結果に決定されず、
第2表示手段による表示結果を決定する場合、第2乱数値が乱数最小値であるときに、第2乱数値が乱数最小値以外であるときよりも有利度が高い表示結果に決定されなくてもよい。
ここで、有利度が高い表示結果に決定されないことは、例えば大入賞口開放回数決定例AKD01や大入賞口開放態様決定例AKD02などであればよい。
このような構成においては、第1乱数値や第2乱数値の不具合による不正行為を防止するように、適切な乱数値の更新が可能になる。
(1-11) 更新手段は、
乱数初期値を変更するときに使用される初期値用乱数値を更新可能な初期値更新処理を実行可能であり、
比較加算命令を実行した後に、該比較加算命令による更新後の更新対象乱数値を乱数初期値と比較し、
更新後の更新対象乱数値が乱数初期値と一致しない場合、更新後の更新対象乱数値を現在の乱数値として格納し、
更新後の更新対象乱数値が乱数初期値と一致した場合、初期値更新処理により得られた初期値用乱数値を、現在の乱数値として格納するとともに、新たな乱数初期値として格納してもよい。
ここで、初期値用乱数値は、例えば乱数MR1-3や乱数MR2-2などであればよい。初期値更新処理は、例えば初期値決定用乱数更新処理P_TFINITなどであればよい。乱数初期値と比較することは、例えばステップAKS105の部分などであればよい。乱数初期値と一致しない場合は、例えばステップAKS105にてYesの場合などであればよい。乱数初期値と一致した場合は、例えばステップAKS105にてNoの場合におけるステップAKS106~AKS108の部分などであればよい。
このような構成においては、新たな乱数初期値の設定により乱数値の不確定性が高められ、現在の乱数値としても格納することによりデータ容量の増大を防止して、適切な乱数値の更新が可能になる。
(1-12) 更新手段は、
更新対象乱数値が第1乱数値である場合に対応して、乱数初期値を変更するときに使用される第1初期値用乱数値を更新する第1初期値更新処理と、
更新対象乱数値が第2乱数値である場合に対応して、乱数初期値を変更するときに使用される第2初期値用乱数値を更新する第2初期値更新処理と、を含む初期値更新処理を実行可能であってもよい。
ここで、第1初期値用乱数値は、例えば乱数MR1-3などであればよい。第1初期値更新処理は、例えば初期値決定用乱数更新処理P_TFINITにおけるステップAKS81、AKS82の部分などであればよい。第2初期値用乱数値は、例えば乱数MR2-2などであればよい。第2初期値更新処理は、例えば初期値決定用乱数更新処理P_TFINITにおけるステップAKS83、AKS84の部分などであればよい。
このような構成においては、第1初期値用乱数値や第2初期値用乱数値の更新により、適切な乱数値の更新が可能になる。
(1-13) 更新手段は、初期値更新処理により、第1初期値用乱数値を更新した後に第2初期値用乱数値を更新してもよい。
例えば初期値決定用乱数更新処理P_TFINITにおいて、ステップAKS81、AKS82の後に、ステップAKS83、AKS84を実行することなどであればよい。
このような構成においては、優先度が高い第1初期値用乱数値を優先度が低い第2初期値用乱数値よりも先に更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
(1-14) 更新手段は、初期値更新処理を実行する場合、更新対象初期値用乱数値と、初期値用乱数最大値と、に関する設定にもとづいて、
更新対象初期値用乱数値を初期値用乱数最大値と比較すること、
比較の結果が初期値用乱数最大値未満であれば更新対象初期値用乱数値を1加算すること、
比較の結果が初期値用乱数最大値以上であれば更新対象初期値用乱数値を乱数最小値に変更すること、を含む単一の比較加算命令を実行してもよい。
ここで、比較加算命令は、例えばステップAKS82、AKS84の部分などであればよい。
このような構成においては、比較加算命令を用いて更新対象初期値用乱数値を更新することにより不具合の発生を抑制して、適切な乱数値の更新が可能になる。
(1-15) 更新手段は、
更新対象乱数値を更新可能な乱数更新処理と、
更新対象乱数値に対応した乱数初期値を変更するときに使用される初期値用乱数値を更新可能な初期値用乱数更新処理と、を実行可能であり、
所定時間の経過によるタイマ割込みに対応して実行可能な第1処理は、乱数更新処理と、初期値用乱数更新処理と、を含み、
第1処理が実行されるまで繰り返し実行可能な第2処理は、乱数更新処理を含まず、初期値用乱数更新処理を含んでもよい。
ここで、更新対象乱数値は、例えば乱数MR1-2や乱数MR2-1などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。初期値用乱数値は、例えば乱数MR1-3や乱数MR2-2などであればよい。初期値用乱数更新処理は、例えば初期値決定用乱数更新処理P_TFINITなどであればよい。第1処理は、例えば遊技制御用のタイマ割込み処理P_PCTなどであればよい。第2処理は、例えば遊技制御用のメイン処理P_MAINにおけるステップS8~S10の部分などであればよい。
このような構成においては、初期値用乱数更新処理により初期値用乱数値の不確定性が高められ、適切な乱数値の更新が可能になる。
(1-16) 更新処理は、
更新対象乱数値を更新可能な乱数更新処理と、
更新対象乱数値に対応した乱数初期値を変更するときに使用される初期値用乱数値を更新可能な初期値用乱数更新処理と、を含み、
乱数更新処理および初期値用乱数更新処理は、遊技の進行を制御するタイマ割込み処理において、呼び出されて実行可能であり、
初期値用乱数更新処理は、電力供給の開始にもとづいて実行される起動時処理の後に繰り返される待機時処理において、呼び出されて実行可能であってもよい。
ここで、更新対象乱数値は、例えば乱数MR1-2や乱数MR2-1などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。初期値用乱数値は、例えば乱数MR1-3や乱数MR2-2などであればよい。初期値用乱数更新処理は、例えば初期値決定用乱数更新処理P_TFINITなどであればよい。タイマ割込み処理は、例えば遊技制御用のタイマ割込み処理P_PCTなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINにおけるステップS1~S7の部分などであればよい。待機時処理は、例えば遊技制御用のメイン処理P_MAINにおけるステップS8~S10の部分などであればよい。
このような構成においては、初期値用乱数更新処理により初期値用乱数値の不確定性が高められ、適切な乱数値の更新が可能になる。
(2-1) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、を備え、
更新手段は、有利状態に制御するか否かを判定するための第1乱数値と、該第1乱数値と異なる第2乱数値と、を更新可能であり、
第1乱数値は、特定バイト数で構成され、更新範囲に含まれる乱数値の総数が特定数であり、
第2乱数値は、特定バイト数で構成され、更新範囲に含まれる乱数値の総数が特定数よりも小さい所定数であり、
第1乱数値の方が第2乱数値よりも更新速度が速くてもよい。
ここで、有利状態は、例えば大当り遊技状態などであればよい。遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR1-1などであればよい。第2乱数値は、例えば乱数MR3-2などであればよい。特定バイト数は、例えば2バイトであればよい。特定数は、例えば乱数MR1-1の大きさである「65536」などであればよい。所定数は、例えば乱数MR3-2の大きさである「65519」などであればよい。更新速度が速いことは、例えば乱数値比較例AKA23における乱数MR1-1の更新速度が15000[回/ms]と乱数MR3-2の更新速度が469[回/ms]などであればよい。
このような構成においては、有利状態に関する第1乱数値の更新速度が速いことにより意図的な有利状態の制御が困難になるように、適切な乱数値の更新が可能になる。
(2-2) 遊技を行うことが可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、を備え、
更新手段は、第1乱数値と、該第1乱数値と異なる第2乱数値と、を更新可能であり、
第1乱数値は、更新速度が第1速度であり、
第2乱数値は、更新速度が第1速度の整数倍となる第2速度であり、
第1乱数値と第2乱数値とで、それぞれの更新範囲に含まれる乱数値の総数が異なり、いずれも更新範囲に含まれる乱数値の総数が素数であってもよい。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3、MR3-4などであればよい。第1速度は、例えば469[回/ms]などであればよい。第2速度は、例えば938[回/ms]などであればよい。乱数値の総数は、例えば乱数MR3-2の大きさである「65519」、乱数MR3-3の大きさである「241」、乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、更新速度が整数倍となる場合でも更新範囲に含まれる乱数値の総数が異なる素数であることにより第1乱数値と第2乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
(2-3) 遊技を行うことが可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、を備え、
更新手段は、第1乱数値と、該第1乱数値と異なる第2乱数値と、該第1乱数値および該第2乱数値と異なる第3乱数値と、を更新可能であり、
処理手段は、第1乱数値と第2乱数値と第3乱数値とで、共通となる抽出条件の成立により抽出可能であり、
第1乱数値は、更新速度が第1速度であり、
第2乱数値および第3乱数値は、更新速度が第1速度の整数倍となる第2速度であり、
第1乱数値と第2乱数値と第3乱数値とで、それぞれの更新範囲に含まれる乱数値の総数が異なり、いずれも更新範囲に含まれる乱数値の総数が素数であってもよい。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3などであればよい。第3乱数値は、例えば乱数MR3-4などであればよい。第1速度は、例えば469[回/ms]などであればよい。第2速度は、例えば938[回/ms]などであればよい。乱数値の総数は、例えば乱数MR3-2の大きさである「65519」、乱数MR3-3の大きさである「241」、乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、更新速度が整数倍となる場合でも更新範囲に含まれる乱数値の総数が異なる素数であることにより第1乱数値と第2乱数値と第3乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
(2-4) 遊技を行うことが可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、を備え、
更新手段は、
第1乱数値および第2乱数値を乱数更新処理によりそれぞれの更新範囲において更新可能な第1更新手段と、
第3乱数値および第4乱数値を乱数用クロック信号によりそれぞれの更新範囲において更新可能な第2更新手段と、を含み、
第1乱数値と第2乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数であり、
第3乱数値と第4乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数であってもよい。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bや乱数更新処理P_RANDOMを実行するCPU103などであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCや普通図柄プロセス処理P_FPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR2-1などであればよい。第2乱数値は、例えば乱数MR1-2などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。第3乱数値は、例えば乱数MR3-3などであればよい。第4乱数値は、例えば乱数MR3-4などであればよい。乱数用クロック信号は、例えばシステムクロックなどであればよい。更新範囲に含まれる乱数値の総数は、例えば乱数MR2-1の大きさである「199」、乱数MR1-2の大きさである「200」、乱数MR3-3の大きさである「241」、乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、第1更新手段と第2更新手段とで更新方法が異なり、更新方法が同じ場合でも少なくとも一方の乱数値は更新範囲に含まれる乱数値の総数が素数であることにより同期発生を抑制して、適切な乱数値の更新が可能になる。
(3-1) 遊技を行うことが可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、
更新手段および処理手段の機能に関する格納領域を含む格納手段と、を備え、
処理手段は、電力供給の開始にもとづいて実行される起動時処理により機能に関する格納領域に格納値を設定するときに、更新手段によって更新される乱数値の乱数最大値を設定する最大値設定処理を実行可能であり、
更新手段は、
特定バイト数で構成される第1乱数値を更新可能な第1更新手段と、
該特定バイト数よりも小さい所定バイト数で構成される第2乱数値を更新可能な第2更新手段と、を含み、
処理手段は、最大値設定処理を実行する場合、第1乱数値の乱数最大値を設定した後に、第2乱数値の乱数最大値を設定してもよい。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば乱数回路104などであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINなどであればよい。最大値設定処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS11~AKS13の部分などであればよい。特定バイト数は、例えば2バイトであればよい。第1乱数値は、例えば乱数MR3-2などであればよい。第1更新手段は、例えば16ビットの乱数回路104Aなどであればよい。所定バイト数は、例えば1バイトであればよい。第2乱数値は、例えば乱数MR3-3、MR3-4などであればよい。第2更新手段は、例えば8ビットの乱数回路104Bなどであればよい。第1乱数値の乱数最大値を設定することや、第2乱数値の乱数最大値を設定することは、機能設定レジスタ格納値テーブルAKT01を用いてステップAKS13を実行することなどであればよい。
このような構成においては、特定バイト数の第1乱数値に関する設定の後に所定バイト数の第2乱数値に関する設定を行うことにより第1乱数値や第2乱数値を安定的に更新して、適切な乱数値の更新が可能になる。
(3-2) 更新手段は、乱数最大値が設定された乱数値から順に更新を開始してもよい。
例えば機能設定レジスタ格納値テーブルAKT01を用いてチャネル番号「0」の16ビット乱数回路チャネルRL0、チャネル番号「2」の16ビット乱数回路チャネルRL2、チャネル番号「1」~「3」の8ビット乱数回路チャネルRS1~RS3に最大値を設定する部分などであればよい。
このような構成においては、乱数値の更新を開始するタイミングにより乱数値の不確定性が高められ、処理負担を軽減して、適切な乱数値の更新が可能になる。
(3-3) 遊技を行うことが可能な遊技機であって、
乱数値を更新可能な更新手段と、
更新手段により更新される乱数値を用いて、遊技制御に関する処理を実行可能な処理手段と、
更新手段および処理手段の機能に関する格納領域を含む格納手段と、を備え、
処理手段は、電力供給の開始にもとづいて実行される起動時処理により機能に関する格納領域に格納値を設定するときに、更新手段によって更新される乱数値の乱数最大値を設定する最大値設定処理を実行可能であり、
更新手段は、
第1乱数値および第2乱数値を乱数用クロック信号により更新可能な第1更新手段と、
第3乱数値を乱数更新処理により更新可能な第2更新手段と、を含み、
第1更新手段は、処理手段が実行する最大値設定処理において、第1乱数値の乱数最大値が設定されたことにより第1乱数値の更新を開始した後に、第2乱数値の乱数最大値が設定されたことにより第2乱数値の更新を開始し、
第2更新手段は、処理手段が最大値設定処理を実行した後に、第3乱数値の更新を開始してもよい。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば乱数回路104や乱数更新処理P_RANDOMを実行するCPU103などであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCや普通図柄プロセス処理P_FPROCを実行するCPU103などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINなどであればよい。最大値設定処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS11~AKS13の部分などであればよい。第1乱数値は、例えば乱数MR1-1、MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3、MR3-4などであればよい。第1更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。第3乱数値は、例えば乱数MR1-2、MR2-1などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。第2更新手段は、例えばステップS56の乱数更新処理P_RANDOMを実行するCPU103などであればよい。第1乱数値の更新を開始は、例えば機能設定レジスタ格納値テーブルAKT01を用いてチャネル番号「0」の16ビット乱数回路チャネルRL0、チャネル番号「2」の16ビット乱数回路チャネルRL2に最大値を設定する部分などであればよい。第2乱数値の更新を開始は、例えば機能設定レジスタ格納値テーブルAKT01を用いてチャネル番号「1」~「3」の8ビット乱数回路チャネルRS1~RS3に最大値を設定する部分などであればよい。第3乱数値の更新を開始は、例えばステップS1の電力供給開始対応処理P_POWER_ONが実行された後に遊技制御用のタイマ割込み処理P_PCTにおいてステップS56の乱数更新処理P_RANDOMを実行する部分などであればよい。
このような構成においては、遊技価値と関連度が高い乱数MR1-1などの更新を先に開始することにより不確定性が高められ、適切な乱数値の更新が可能になる。
(4-1) 遊技制御に関する情報を記憶可能な記憶手段と、
更新手段および処理手段の機能に関する格納領域を含む格納手段と、を備え、
機能に関する格納領域のうちの特定格納領域は、電力供給の開始に対応して、記憶手段へのアクセスを禁止する第1格納値に設定可能であり、
処理手段は、
機能に関する格納領域に格納値を設定した後に、記憶手段へのアクセスを許可する第2格納値を特定格納領域に設定可能であり、
第2格納値を特定格納領域に設定した次の処理として、記憶手段の記憶内容にもとづいて制御状態を復旧可能か否かを確認する確認処理を実行可能であってもよい。
ここで、記憶手段は、例えばRAM102などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。特定格納領域は、例えばRWMアクセスプロテクトレジスタなどであればよい。第1格納値は、例えば00[H]などであればよい。第2格納値は、例えば01[H]などであればよい。第2格納値を特定格納領域に設定可能であることは、例えば電力供給開始対応処理P_POWER_ONにおいてステップAKS14を実行することなどであればよい。確認処理は、例えばステップS2のRWMチェック処理P_RWM_CHKなどであればよい。
このような構成においては、記憶手段の記憶内容がいたずらに変化することがないようにして、確認処理を確実に実行できるとともに、適切な乱数値の更新が可能になる。
(4-2) 処理手段は、
電力供給の停止に対応して、制御状態を復旧させるための復旧情報を記憶手段に記憶させる停止時記憶処理を実行可能であり、
停止時記憶処理が実行された後に、第1格納値を特定格納領域に設定する停止時格納処理を実行可能であり、
停止時格納処理が実行された後に、遊技制御を実行しない待機状態に移行させ、該待機状態であるときに電力供給が回復したことに対応して、遊技機の起動にもとづく起動時処理の最初から実行可能であってもよい。
復旧情報は、例えばチェックサムデータなどであればよい。停止時記憶処理は、例えば電源断処理P_POWER_OFFにおけるステップAKS39のチェックサム算出処理やステップAKS40の部分などであればよい。停止時格納処理は、例えば電源断処理P_POWER_OFFにおけるステップAKS41、AKS42の部分などであればよい。待機状態に移行させることは、例えば電源断処理P_POWER_OFFにおいてステップAKS48、AKS49を実行することなどであればよい。起動時処理の最初から実行可能であることは、例えば電源断処理P_POWER_OFFにおいてステップAKS50を実行してからRET命令を実行することなどであればよい。
このような構成においては、電力供給が回復した場合に不安定な動作を防止するとともに、適切な乱数値の更新が可能になる。
(4-3) 遊技制御に関する情報を記憶可能な記憶手段と、
更新手段および処理手段の機能に関する格納領域を含む格納手段と、を備え、
格納手段は、機能に関する格納領域として、
機能設定のための第1領域と、
機能制御のための第2領域と、を含み、
第2領域は、記憶手段へのアクセスを許可するか否かを示す格納値を設定可能な特定格納領域を含み、
処理手段は、電力供給の開始にもとづいて実行される起動時処理において、
第2領域に格納値を設定する制御用格納処理を実行可能であり、
制御用格納処理が実行された後に、第1領域に格納値を設定する設定用格納処理を実行可能であり、
設定用格納処理が実行された後に、記憶手段へのアクセスを許可する格納値を特定格納領域に設定可能であってもよい。
ここで、記憶手段は、例えばRAM102などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。第1領域は、例えば設定例AKA01の機能設定レジスタエリアなどであればよい。第2領域は、例えば設定例AKA02の機能制御レジスタエリアなどであればよい。特定格納領域は、例えばRWMアクセスプロテクトレジスタなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINなどであればよい。制御用格納処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS5~AKS7の部分などであればよい。設定用格納処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS11~AKS13の部分などであればよい。格納値を特定格納領域に設定可能であることは、例えば電力供給開始対応処理P_POWER_ONにおいてステップAKS14を実行することなどであればよい。
このような構成においては、記憶手段の記憶内容がいたずらに変化することの防止とともに、適切な乱数値の更新が可能になる。
(SKY2021-664) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
前記乱数値には、第1乱数値と、該第1乱数値とは異なる第2乱数値と、が含まれ、
前記第1乱数値の決定結果の方が、前記第2乱数値の決定結果よりも、出玉率への影響が大きく、
前記更新手段は、
前記第1乱数値および前記第2乱数値を共通となる更新処理によりそれぞれの更新範囲において更新可能であり、
前記第1乱数値を更新した後、前記第2乱数値を更新し、
前記第1乱数値を更新処理により更新する前に、特定命令を用いて第1乱数値用の参照先情報を内部格納手段に設定し、
前記第2乱数値を更新処理により更新する前に、前記特定命令を用いて第2乱数値用の参照先情報を内部可能手段に設定する。
ここで、出玉率とは、遊技機へ打ち込まれた遊技球数を分母とし、遊技者に払い出された遊技球を分子として、算出される率である。遊技機毎に設計値として定められている。100%を超えると遊技機へ打ち込まれた遊技球数よりも遊技者に払い出された遊技球の方が多いことを示す。
ここで、第1乱数値は、当り図柄用乱数(MR1-2)が対応し、第2乱数値は、普通図柄当り図柄用乱数(MR2-1)が対応する。当り図柄用乱数は、遊技球を獲得する主の契機となる大当りラウンド数を決定するために用いられる乱数である(大当りラウンド数が紐づいた特別図柄の表示結果を決めるための乱数)(図10-24(C)参照)。普通図柄当り図柄用乱数は、普通電動役物の開放時間を決定するために用いられる乱数である(普通電動役物の開放時間が紐づいた普通図柄の表示結果を決めるための乱数)(図10-37(D)参照)。当り図柄用乱数による決定は、大当りラウンド数を決めるためのものであり、普通図柄当り図柄用乱数による決定は、普通電動役物の開放時間を決めるためのものであり、当り図柄用乱数の方が遊技球獲得数に影響が大きいものとなっている。大入賞口への入球により獲得できる遊技球は15球であるのに対し、普通電動役物への入球により獲得できる遊技球は1球である。
このような構成においては、第1乱数値の方が遊技者の出玉への影響が大きいため、処理を先に行うことで、不具合等で乱数値が一定となってしまうこと(更新がされずに偏る時間を発生させてしまう)ことを極力防止し、共通の命令により乱数の更新を行うことで、安定的な更新を行うことができる。
(SKY2021-665) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
前記乱数値には、第1乱数値と、該第1乱数値とは異なる第2乱数値と、が含まれ、
前記更新手段は、
前記第1乱数値および前記第2乱数値を共通となる更新処理によりそれぞれの更新範囲において更新可能であり、
前記乱数値を乱数最大値と比較すること、比較の結果が乱数最大値未満であれば前記乱数値を1加算すること、比較の結果が乱数最大値以上であれば前記乱数値を乱数最小値に変更すること、を含む単一の比較加算命令が前記第1乱数値における更新処理および前記第2乱数値における更新処理の最初の処理であり、
前記第1乱数値が前記乱数最小値である場合は、前記第1乱数値が前記乱数最小値以外である場合よりも有利度が高い決定結果とならず、
前記第2乱数値が前記乱数最小値である場合は、前記第2乱数値が前記乱数最小値以外である場合よりも有利度が高い決定結果とならない。
ここで、有利度が高い表示結果に決定されないことは、例えば大入賞口開放回数決定例AKD01や大入賞口開放態様決定例AKD02などであればよい。また、図10-37(D)の普通電動役物開放時間決定例における普通電動役物開放時間は、通常状態(時短作動指定値×)において一律16ms、特別状態(時短作動指定値〇)において一律5000msといったように有利不利がないように設計されているが、図10-37(D)の普通電動役物開放時間決定例における普通図柄当り図柄指定値「00」の普通電動役物開放時間は16ms、5000msとなっているが、他の開放時間と比べ、相対的に不利とするために、10ms、3000msとするようにしてもよい。そのようにすることで、第1乱数値(当り図柄用乱数(MR1-2))による結果である大入賞口開放回数、第2乱数値(普通図柄当り図柄用乱数(MR2-1))による結果である普通電動役物開放時間、のいずれも乱数最小値(00H)となった場合に、有利な決定結果(大入賞口開放回数であれば10回、普通電動役物開放時間であれば5000ms)とならないようにすることができる。
このような構成においては、比較加算命令を最初に実行することにより、不具合の発生を抑制して、適切な乱数値の更新が可能になり、仮に不具合が発生した場合には、乱数値が最小乱数値に若干偏ってしまうことになるが、その際にも、有利度が高い決定結果とならない設計であるため、不具合をあえて誘発させることを防止することができ、結果として、適切な乱数値の更新が可能になる。
(SKY2021-708) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
前記乱数値には、前記有利状態に制御するか否かに関する処理に用いられる第1乱数値と、該第1乱数値とは異なる第2乱数値と、が含まれ、
前記第1乱数値は、特定バイト数で構成され、更新範囲に含まれる乱数値の総数が特定数であり、
前記第2乱数値は、前記特定バイト数で構成され、更新範囲に含まれる乱数値の総数が前記特定数よりも小さい所定数であり、
前記更新手段による前記第1乱数値の更新の方が、該更新手段による前記第2乱数値の更新よりも更新速度が速い。
ここで、有利状態は、例えば大当り遊技状態などであればよい。遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR1-1などであればよい。第2乱数値は、例えば乱数MR3-2などであればよい。特定バイト数は、例えば2バイトであればよい。特定数は、例えば乱数MR1-1の大きさである「65536」などであればよい。所定数は、例えば乱数MR3-2の大きさである「65519」などであればよい。更新速度が速いことは、例えば乱数値比較例AKA23における乱数MR1-1の更新速度が15000[回/ms]と乱数MR3-2の更新速度が469[回/ms]などであればよい。
このような構成においては、有利状態に関する第1乱数値の更新速度が速いことにより意図的な有利状態の制御が困難になるように、適切な乱数値の更新が可能になる。
(SKY2021-709) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
前記乱数値には、第1乱数値と、該第1乱数値とは異なる第2乱数値と、が含まれ、
前記第1乱数値は、更新速度が第1速度であり、
前記第2乱数値は、更新速度が前記第1速度の整数倍となる第2速度であり、
前記第1乱数値と前記第2乱数値は、同一の契機で取得される乱数値であり、
前記第1乱数値と前記第2乱数値とで、それぞれの更新範囲に含まれる乱数値の総数が異なり、
前記第1乱数値は、更新範囲に含まれる乱数値の総数が素数であり、
前記第2乱数値は、更新範囲に含まれる乱数値の総数が素数である。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3、MR3-4などであればよい。第1速度は、例えば469[回/ms]などであればよい。第2速度は、例えば938[回/ms]などであればよい。乱数値の総数は、例えば乱数MR3-2の大きさである「65519」、乱数MR3-3の大きさである「241」、乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、更新速度が整数倍となる場合でも更新範囲に含まれる乱数値の総数が異なる素数であることにより第1乱数値と第2乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
(SKY2021-710) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
乱数値を更新可能な更新手段と、
前記乱数値には、第1乱数値と、該第1乱数値とは異なる第2乱数値と、該第1乱数値と該第2乱数値とは異なる第3乱数値と、が含まれ、
前記第1乱数値は、更新速度が第1速度であり、
前記第2乱数値および前記第3乱数値は、更新速度が前記第1速度の整数倍となる第2速度であり、
前記第1乱数値と前記第2乱数値と前記第3乱数値は、同一の契機で取得される乱数値であり、
前記第1乱数値と前記第2乱数値と前記第3乱数値とで、それぞれの更新範囲に含まれる乱数値の総数が異なり、
前記第1乱数値は、更新範囲に含まれる乱数値の総数が素数であり、
前記第2乱数値は、更新範囲に含まれる乱数値の総数が素数であり、
前記第3乱数値は、更新範囲に含まれる乱数値の総数が素数である。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3などであればよい。第3乱数値は、例えば乱数MR3-4などであればよい。第1速度は、例えば469[回/ms]などであればよい。第2速度は、例えば938[回/ms]などであればよい。乱数値の総数は、例えば乱数MR3-2の大きさである「65519」、乱数MR3-3の大きさである「241」、乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、更新速度が整数倍となる場合でも更新範囲に含まれる乱数値の総数が異なる素数であることにより第1乱数値と第2乱数値と第3乱数値との同期発生を抑制して、適切な乱数値の更新が可能になる。
(SKY2021-711) 遊技者にとって有利な有利状態に制御可能な遊技機であって、
第1乱数値および第2乱数値を乱数更新処理によりそれぞれの更新範囲において更新可能な第1更新手段と、
第3乱数値および第4乱数値を乱数用クロック信号によりそれぞれの更新範囲において更新可能な第2更新手段と、を備え、
前記第1乱数値と前記第2乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数であり、
前記第3乱数値と前記第4乱数値とのうち少なくとも一方の乱数値は、更新範囲に含まれる乱数値の総数が素数である。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bや乱数更新処理P_RANDOMを実行するCPU103などであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCや普通図柄プロセス処理P_FPROCを実行するCPU103などであればよい。第1乱数値は、例えば乱数MR2-1などであればよい。第2乱数値は、例えば乱数MR1-2などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。第3乱数値は、例えば乱数MR3-3などであればよい。第4乱数値は、例えば乱数MR3-4などであればよい。乱数用クロック信号は、例えばシステムクロックなどであればよい。更新範囲に含まれる乱数値の総数は、例えば乱数MR2-1の大きさである「199」、乱数MR1-2の大きさである「200」、乱数MR3-3の大きさである「241」、
乱数MR3-4の大きさである「251」などであればよい。
このような構成においては、第1更新手段と第2更新手段とで更新方法が異なり、更新方法が同じ場合でも少なくとも一方の乱数値は更新範囲に含まれる乱数値の総数が素数であることにより同期発生を抑制して、適切な乱数値の更新が可能になる。
(SKY2021-712) 遊技を行うことが可能な遊技機であって、
遊技の制御を行う遊技制御手段と、
第1乱数値および第2乱数値を乱数用クロック信号により更新可能な第1更新手段と、
第3乱数値を乱数更新処理により更新可能な第2更新手段と、を備え、
前記遊技制御手段は、電力供給の開始にもとづいて実行される起動時処理により格納領域に格納値を設定するときに、前記第1乱数値および前記第2乱数値の乱数最大値を設定する最大値設定処理を実行可能であり、
前記第1更新手段は、前記最大値設定処理において、前記第1乱数値の乱数最大値が設定されたことにより前記第1乱数値の更新を開始した後に、前記第2乱数値の乱数最大値が設定されたことにより前記第2乱数値の更新を開始可能であり、
前記第2更新手段は、前記第1乱数値の更新および前記第2乱数値の更新が開始された後に、第3乱数値の更新を開始可能である。
ここで、遊技機は、例えばパチンコ遊技機1などであればよい。更新手段は、例えば乱数回路104や乱数更新処理P_RANDOMを実行するCPU103などであればよい。処理手段は、例えば特別図柄プロセス処理P_TPROCや普通図柄プロセス処理P_FPROCを実行するCPU103などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINなどであればよい。最大値設定処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS11~AKS13の部分などであればよい。第1乱数値は、例えば乱数MR1-1、MR3-2などであればよい。第2乱数値は、例えば乱数MR3-3、MR3-4などであればよい。第1更新手段は、例えば16ビットの乱数回路104A、8ビットの乱数回路104Bなどであればよい。第3乱数値は、例えば乱数MR1-2、MR2-1などであればよい。乱数更新処理は、例えば乱数更新処理P_RANDOMなどであればよい。第2更新手段は、例えばステップS56の乱数更新処理P_RANDOMを実行するCPU103などであればよい。第1乱数値の更新を開始は、例えば機能設定レジスタ格納値テーブルAKT01を用いてチャネル番号「0」の16ビット乱数回路チャネルRL0、チャネル番号「2」の16ビット乱数回路チャネルRL2に最大値を設定する部分などであればよい。第2乱数値の更新を開始は、例えば機能設定レジスタ格納値テーブルAKT01を用いてチャネル番号「1」~「3」の8ビット乱数回路チャネルRS1~RS3に最大値を設定する部分などであればよい。第3乱数値の更新を開始は、例えばステップS1の電力供給開始対応処理P_POWER_ONが実行された後に遊技制御用のタイマ割込み処理P_PCTにおいてステップS56の乱数更新処理P_RANDOMを実行する部分などであればよい。
このような構成においては、遊技価値と関連度が高い乱数MR1-1などの更新を先に開始することにより不確定性が高められ、適切な乱数値の更新が可能になる。
(SKY2021-713) 遊技を行うことが可能な遊技機であって、
遊技の制御を行う遊技制御手段と、
遊技の制御に関する情報を記憶可能な記憶手段と、
遊技の制御の機能に関する格納領域を含む格納手段と、を備え、
前記格納手段は、機能に関する格納領域として、
遊技の制御に関する機能設定のための第1領域と、
遊技の制御に関する機能制御のための第2領域と、を含み、
前記第2領域は、前記記憶手段へのアクセスを許可するか否かを示す格納値を設定可能な特定格納領域を含み、
前記遊技制御手段は、電力供給の開始にもとづいて実行される起動時処理において、
前記第2領域に格納値を設定する制御用格納処理を実行可能であり、
前記制御用格納処理が実行された後に、前記第1領域に格納値を設定する設定用格納処理を実行可能であり、
前記設定用格納処理が実行された後に、前記記憶手段へのアクセスを許可する格納値を前記特定格納領域に設定可能である。
ここで、記憶手段は、例えばRAM102などであればよい。機能に関する格納領域は、例えば設定例AKA01の機能設定レジスタエリアや設定例AKA02の機能制御レジスタエリアなどであればよい。格納手段は、例えば遊技制御用マイクロコンピュータ100の内蔵レジスタなどであればよい。第1領域は、例えば設定例AKA01の機能設定レジスタエリアなどであればよい。第2領域は、例えば設定例AKA02の機能制御レジスタエリアなどであればよい。特定格納領域は、例えばRWMアクセスプロテクトレジスタなどであればよい。起動時処理は、例えば遊技制御用のメイン処理P_MAINなどであればよい。制御用格納処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS5~AKS7の部分などであればよい。設定用格納処理は、例えば電力供給開始対応処理P_POWER_ONにおけるステップAKS11~AKS13の部分などであればよい。格納値を特定格納領域に設定可能であることは、例えば電力供給開始対応処理P_POWER_ONにおいてステップAKS14を実行することなどであればよい。
このような構成においては、記憶手段の記憶内容がいたずらに変化することの防止とともに、適切な乱数値の更新が可能になる。
以上、説明してきた種々の形態は、パチンコ遊技機に限定されることなく、スロットマシン等にも適用可能である。