[第1実施形態]
以下、本発明の好適な実施の形態を図面に基づいて説明する。なお、遊技機の説明における前後左右とは、遊技中の遊技者から見た方向を指すものとする。
〔遊技機全体図〕
図1は、遊技機を説明する図である。
遊技機10は島設備に固定される枠11に、ヒンジ16を介して開閉回動自在に取り付けられる開閉枠を備える。開閉枠は、前面枠12(本体枠)及びガラス枠15(前枠ユニット)によって構成されている。また、開閉枠は、その左端側がヒンジに取り付けられる軸着端側になっており、その右端側が回動によって開放される開放端側になっている。なお、枠11と前面枠12は、外枠ユニット17を構成する。
前面枠12には、遊技盤30(図2参照)が配設されるとともに、遊技盤30の前面を覆うカバーガラス14を有するガラス枠15が取り付けられる。カバーガラス14は、遊技盤30に形成される遊技領域32(図2参照)を視認可能とする遊技視認領域として機能する。なお、カバーガラス14は、透明部材の一例として示すものであり、カバーガラス14の代わりにプラスチック製のカバーを使用してよい。ガラス枠15は、透明部材を保持する透明部材保持枠として機能する。
前面枠12及びガラス枠15は、それぞれ個別に開放することが可能となっている。例えば、ガラス枠15のみを開放することで、遊技盤30の遊技領域32にアクセスすることができる。また、前面枠12をガラス枠15が開放されていない状態で開放することで、遊技盤30の裏面側に配設された遊技制御装置(主基板)100(図3参照)等にアクセスすることができる。
ガラス枠15のカバーガラス14周囲の縁部分には、種々の枠構成部材が配設されている。
ガラス枠15の上部中央及び右側部と左側部には、遊技状態に応じて発光演出可能な装飾装置18a,18b,18cが配設されている。装飾装置18a,18b,18cは、内部にLED等の照明部材を収容しており、遊技状態に応じた発光演出を行う演出装置である。これら装飾装置18a,18b,18cの内部に配設される照明部材は、枠装飾装置18(図4参照)の一部を構成している。
装飾装置18aは、ガラス枠15(或いは開閉枠)の上部で、遊技機10の左右方向に延設されるとともに、斜め上の前方に向かって突出するトップユニットである。装飾装置18aは、機種名などの種々の表示を有する略平坦な前面部456を有する。装飾装置18aは、本実施形態では固定され動作しないが、遊技者への圧迫感を低減するように、引っ込んだ初期位置(通常位置)から必要な場合のみ前方や上方や斜めの動作位置へ突出動作したり、前後方向や上下方向に移動動作してもよい。なお、装飾装置18a(ここではトップユニット)が動作(移動)する場合に、初期位置から動作位置へ動作可能な枠演出装置(可動役物)となる。
装飾装置18bは、ガラス枠15の右側で上下方向に延設されるとともに、前方に向かって突出する突出演出ユニット(前枠発光ユニット)である。装飾装置18cは、ガラス枠15の左側で、上下方向に延設されるとともに、前方に向かって突出する突出演出ユニット(前枠発光ユニット)である。装飾装置18b,18cは、遊技機10の中央側(内側)へ遊技者に向けて光を照射するとともに、複数の開口から遊技機10の外側に光が漏れる。
ガラス枠15の右上角部分及び左上角部分には、上スピーカ19aがそれぞれ配設される。これら上スピーカ19aとは別に遊技機10の下部には、2つの下スピーカ19bが設けられている。下スピーカ19bは、ガラス枠15の左下角部分及び前面枠12の右下角部分に配設されている。これら上スピーカ19a及び下スピーカ19bは、効果音や警報音、報知音等を発するものである。なお、左右の上スピーカ19aは、各々、右側と左側のスピーカ飾り部材470で覆われている。
ガラス枠15の下部には、遊技球(遊技媒体)を貯留可能な上皿21を有する上皿ユニット20が取り付けられている。上皿21は、上部で開口した箱状に形成されている。上皿21に貯留されている遊技球は、一球ずつ球発射装置に供給される。
上皿ユニット20は、遊技者からの入力操作を受け付ける演出操作装置と、遊技者からの入力操作を受け付ける球貸操作装置と、遊技状態に応じて発光演出等を行う装飾装置22と、をさらに備える。
演出操作装置は、演出ボタン25、十字キースイッチ450、及び、音量調整用ボタンスイッチ451a,451bを含む操作装置であり、遊技者が操作しやすいように上皿ユニット20の上部中央とその左側に設けられている。演出ボタン25は、操作パネル490に包囲されるように、操作パネル490の開口内に配置される。操作パネル490は、表面への金属メッキや全体を金属製にすることなどによって光を反射可能であり、例えばシルバー(銀色)の金属光沢を有する。演出ボタン25が発光すると、周囲の操作パネル490で演出ボタン25からの光が反射され、演出ボタン25の発光演出が効果的になる。
演出ボタン25は、内蔵されている演出ボタンスイッチ25aと、表面に設けられているタッチパネル25bを含んでよい。
音量調整用ボタンスイッチ451a,451bは、上皿ユニット20の操作パネル690の上部左側に設けられ、スピーカ19(上スピーカ19aや下スピーカ19b)の音量を増減(+-)して調整する。十字キースイッチ450(十字キーSW)は、上皿ユニット20の操作パネル490の上部左側で音量調整用ボタンスイッチ451a,451bに隣接して設けられ、例えば、演出用LEDの輝度を調整する。十字キースイッチ450は、方向キースイッチとも呼ばれてよく、前後左右などに配置された複数(例えば4つ)のスイッチからなる一般的なものでよい。例えば、客待ち中及び/又は遊技中(ゲーム中)などの所定の状態で、音量調整用ボタンスイッチ451a,451bが押下げ操作されてスピーカ19の音量が調整可能であってよく、十字キースイッチ450の前又は後のスイッチが押下げ操作されて演出用LED等の光量(明るさ、輝度)が調整可能であってよい。なお、音量調整用ボタンスイッチ451a,451bを設けずに、十字キースイッチ450の左又は右のスイッチが押下げ操作されてスピーカ19の音量が調整可能であってよい。
遊技者が演出操作装置(特に演出ボタン25)を操作することによって、表示装置41(図2参照)に表示される特図変動表示ゲーム等において遊技者の操作を介入させた演出を行うことができる。例えば、演出パターン(演出態様)を選択したり、始動記憶に対応する変動表示ゲームの結果を事前に予告する予告演出を実行したりすることができる。なお、変動表示ゲームには特図変動表示ゲームが含まれ、単に変動表示ゲームとした場合には、本明細書では特図変動表示ゲームを指すものとする。
また、変動表示ゲームの実行中だけでなく、非実行中に遊技者が演出操作装置を操作することによっても演出パターンを変更するようにしてもよい。
なお、変動表示ゲームが実行される際の遊技状態は、複数の遊技状態からなる。通常遊技状態(通常状態)とは、特別な遊技状態が発生していない遊技状態である。また、特別な遊技状態とは、例えば、特定遊技状態としての時短状態や変動表示ゲームにおいて特別結果(例えば大当り)の発生確率が高い状態(確変状態、確率変動状態)、大当り状態(特別遊技状態)、小当り遊技状態(小当り状態)である。このように遊技機10は、特別結果の発生確率が異なる遊技状態を複数備え、遊技制御装置100(遊技状態選択手段、設定手段)は、当該複数の遊技状態の中から一の遊技状態を選択(設定)して現在の遊技状態とすることができる。
ここで、確変状態(特定遊技状態)は、次の大当りが発生するまで継続するもの(ループタイプ)、所定回数の変動表示ゲームが実行されるまで継続するもの(回数切りタイプ、ST)、及び所定の確率転落抽選に当選するまで継続するもの(転落抽選タイプ)等がある。
さらに、確変状態を発生させるか否かを大当り図柄乱数によって決定せずに、大当りが発生した場合に必ず確変状態を発生させるようにしてもよい。
球貸操作装置は、遊技者が遊技球を借りる場合に操作する操作装置であって、上皿ユニット20の操作パネル490の上部右側に設けられている。球貸操作装置は、残高表示部490aと、球貸ボタン27と、返却ボタン28と、を備えている。残高表示部490aは、プリペイドカード等の残高が表示される表示領域である。球貸ボタン27は遊技球を借りる場合に遊技者が操作するボタンであり、返却ボタン28は遊技機10に隣接するように配置されるカードユニット(図示省略)からプリペイドカード等を排出させる場合に遊技者が操作するボタンである。
装飾装置22は、内部にLED等の照明部材を収容しており、遊技状態に応じて発光演出等を行う装置であって、上皿ユニット20に設けられている。装飾装置22の内部に配設される照明部材は、枠装飾装置18(図4参照)の一部を構成している。
上記した上皿ユニット20等を備えるガラス枠15の下方であって、前面枠12の下部には、球発射装置(図示省略)の動作を制御するための操作ハンドル24と、遊技球を貯留可能な下皿23等を備える下皿ユニット29とが設けられている。下皿ユニット29と上皿ユニット20は、形状的に適合しており上下方向に重ねて並べて配置される。上皿ユニット20の上皿操作部435を操作することによって、上皿21の遊技球は下皿23へと流下させることができる。
操作ハンドル24は、前面枠12の右下部であって、右側の下スピーカ19bの下方に配置されている。遊技者が操作ハンドル24を回動操作することによって、球発射装置は上皿21から供給された遊技球を遊技盤30の遊技領域32に発射する。球発射装置から発射される遊技球の発射速度は、操作ハンドル24の回動操作量が大きくなるほど速くなるように設定されている。即ち、球発射装置は、遊技領域32に遊技球を発射する勢(速度)である発射勢を、遊技者による操作ハンドル24の操作に対応して変更でき、発射勢の異なる種々の発射態様で遊技球を発射できる。発射態様には、遊技領域32の左側において遊技球を流下させる左打ち(通常打ち)と、遊技領域32の右側において遊技球を流下させる右打ちが含まれる。
下皿ユニット29の下皿23は、上皿ユニット20に対して所定の間隔をあけて、上皿ユニットの下方に配置されている。下皿23は、当該下皿23の底面を上下方向に貫通する球抜き穴23aと、球抜き穴23aを開閉するための開閉操作部23bと、を有している。遊技者が開閉操作部23bを操作して、球抜き穴23aを開くことによって、下皿23に貯留されていた遊技球を球抜き穴23aを通じて外部に排出することができる。
また、前面枠12の裏側には、各種装置に電力を供給する電源装置400、島設備に設置された補給装置(図示省略)から補給される遊技球を貯留する上部タンク448、上部タンク448から流下してきた遊技球を上皿21に払い出す払出装置(払出ユニット)などが配置される。
〔遊技盤〕
続いて、図2を参照して、遊技機10の遊技盤30について説明する。図2は、遊技機10に備えられる遊技盤30の正面図である。
図2に示すように、遊技盤30は、各種部材の取付ベースとなる平板状の遊技盤本体30aを備える。遊技盤本体30aは木製又は合成樹脂製であって、当該遊技盤本体30aの前面にはガイドレール31で囲まれた遊技領域32が設けられている。遊技機10は、ガイドレール31で囲まれた遊技領域32内に球発射装置から遊技球を発射して遊技を行うように構成されている。遊技領域32には遊技球の流下方向を変換する部材として風車や障害釘等が配設されており、発射された遊技球はこれら部材により転動方向を変えながら遊技領域32を流下する。
遊技領域32の略中央には、変動表示ゲームの表示領域となる窓部を形成するセンターケース(前面構成体)40が取り付けられている。センターケース40に形成された窓部の後方には、複数の識別情報を変動表示(可変表示)する演出表示装置(変動表示装置)としての表示装置41が配置されている。表示装置41は、例えば、液晶ディスプレイを備え、センターケース40の窓部を介して遊技盤30の前面側から表示内容が視認可能となるように配置される。なお、表示装置41は、液晶ディスプレイを備えるものに限らず、ELやCRT等のディスプレイを備えるものであってもよい。
表示装置41の表示画面(表示部)には、複数の変動表示領域が設けられており、各変動表示領域に識別情報(特別図柄)や変動表示ゲームを演出するキャラクタが表示される。その他、表示画面には遊技の進行に基づく画像(大当り表示やファンファーレ表示、エンディング表示等)が表示される。
また、センターケース40には、遊技領域32を流下する遊技球をセンターケース40の内側に導くためのワープ通路40eへの流入口40aと、ワープ通路40eを通過した遊技球が転動可能なステージ部40bとが設けられている。センターケース40のステージ部40bは、始動入賞口36及び普通変動入賞装置37の上方に配置されているため、ステージ部40b上で転動した遊技球は始動入賞口36又は普通変動入賞装置37に入賞しやすくなっている。
センターケース40の上部及び右側部には、それぞれ上部演出ユニット40c及び側部演出ユニット40dが設けられる。上部演出ユニット40c及び側部演出ユニット40dは、盤装飾装置46(図4参照)及び盤演出装置44(図4参照)の一部を構成している。
センターケース40の右側方の遊技領域32には、普通図柄始動ゲート(普図始動ゲート)34が設けられている。普図始動ゲート34の内部には、当該普図始動ゲート34を通過した遊技球を検出するためのゲートスイッチ(SW)34a(図3参照)が設けられている。遊技領域32内に打ち込まれた遊技球が普図始動ゲート34を通過すると、普図変動表示ゲームが実行される。
センターケース40の左下方の遊技領域32には一般入賞口35が配置されており、センターケース40の右下方の遊技領域32にも一般入賞口35が配置されている。これら一般入賞口35への遊技球の入賞は、一般入賞口35に備えられた入賞口スイッチ(SW)35a~35n(図3参照)によって検出される。
センターケース40の下方の遊技領域32には、特図変動表示ゲームの開始条件を付与する始動入賞口(始動口1、第1始動入賞領域)36が設けられる。センターケース40の右側の遊技領域32において、普図始動ゲート34の下方には第2始動入賞口(始動口2、第2始動入賞領域)を備えた普通変動入賞装置37(普通電動役物、普電)が設けられる。普通変動入賞装置37は、前方へ回動することで、遊技球が流入し易い状態に変換する可動部材(可動片)37bを備える。可動部材37bが閉状態である場合には遊技球が普通変動入賞装置37に入賞できないようになっている。遊技球が始動入賞口36又は普通変動入賞装置37に入賞した場合には、補助遊技として特図変動表示ゲームが実行される。なお、始動入賞口36には、左打ち時に遊技球が入賞し易くなり、普通変動入賞装置37には、右打ち時に遊技球が入賞し易くなる。
可動部材37bは、いわゆるベロ型の普通電動役物であり、普図変動表示ゲームの結果が所定の停止表示態様となった場合に、普電ソレノイド37c(図3参照)を介して動作して開いて、遊技球が普通変動入賞装置37に流入しやすい開状態(遊技者にとって有利な入賞容易状態)に変化する。可動部材37bは、開状態(入賞容易状態)でなければ、遊技球が普通変動入賞装置37に流入し難い閉状態(入賞非容易状態、入賞困難状態)となる。なお、本実施形態において、始動入賞口36は、普通変動入賞装置37と異なり、可動部材(開閉部材)を有さず、常時、開放状態(開状態)であるが、可動部材(開閉部材)を有する構成も可能である。
なお、可動部材37bは、後述する遊技制御装置100によって制御される。遊技制御装置100は、普図変動表示ゲームの変動時間を短縮したり普図変動表示ゲームの当り確率を通常よりも高確率としたりすることで入賞容易状態の発生頻度を高めたり、特別な遊技を行わない通常遊技状態で発生する入賞容易状態よりも入賞容易状態の発生時間を長くしたりすることで、前述の特定遊技状態として時短状態(普電サポート状態)を発生させる。なお、確変状態(潜伏確変状態を除く)においても、重複して時短状態(普電サポート状態)が発生する。
始動入賞口36の右方の遊技領域32には、下大入賞口ソレノイド38b(図3参照)によって前方から奥側に引っ込むことで大入賞口を開放する下大入賞口を開放するアタッカ形式の開閉扉38cを有する第1特別変動入賞装置38(特別電動役物)が設けられている。第1特別変動入賞装置38は、特図変動表示ゲームの結果によって大入賞口を閉じた状態(遊技者にとって不利な閉塞状態)から開放状態(遊技者にとって有利な遊技状態)に変換し、下大入賞口内への遊技球の流入を容易にさせることで、遊技者に所定の遊技価値(例えば、賞球や大当り終了後の時短回数/確変回数)を付与するようになっている。なお、下大入賞口内には、当該大入賞口に入った遊技球を検出する検出手段として下大入賞口スイッチ38a(カウントスイッチ)が配設されている。なお、第1特別変動入賞装置38には、右打ち時に遊技球が入賞し易くなる。
普通変動入賞装置37の上方の遊技領域32には、上大入賞口ソレノイド39b(図3参照)によって上端側が右側に倒れる方向に回動することで上大入賞口を開放する開閉扉39cを有する第2特別変動入賞装置39が設けられている。第2特別変動入賞装置39は、特図変動表示ゲームの結果によって大入賞口を閉じた状態(遊技者にとって不利な閉塞状態)から開放状態(遊技者にとって有利な特別遊技状態)に変換し、大入賞口内への遊技球の流入を容易にさせることで、遊技者に所定の遊技価値(例えば、賞球や大当り終了後の時短回数/確変回数)を付与するようになっている。なお、大入賞口内には、当該大入賞口に入った遊技球を検出する検出手段として上大入賞口スイッチ39a(カウントスイッチ)(図3参照)が配設されている。なお、第2特別変動入賞装置39には、右打ち時に遊技球が入賞し易くなる。また、下大入賞口スイッチ38aと上大入賞口スイッチ39aを総称して、大入賞口スイッチ43と呼ぶ。
第2特別変動入賞装置39の内部には、特定領域86(いわゆるV入賞口)が設けられている。小当りによって開閉扉39cが開放された後に特定領域86(V入賞口)に遊技球が入球した場合に大当りが確定する。特定領域86は、小当り中にのみ、長時間開放されるなどして遊技球が容易に通過できるようにしてよい。なお、遊技制御装置100は、特定領域86への遊技球の通過(V入賞)をセンサ(後述の特定領域スイッチ72)等を介して検知でき、V入賞を検知すると小当り終了後に大当り状態に移行することを確定するとともに、後述の演出制御装置300にV入賞があったことを示す情報(特定領域通過コマンド等)を送信する。そして、演出制御装置300は、V入賞を表示装置41などにおいて報知できる。
即ち、本実施形態では、遊技機10は、いわゆる1種2種混合機(1+2種機)である。本実施形態では、小当りで第2特別変動入賞装置39が開放されることによって、第2特別変動入賞装置39内の特定領域86(V入賞口)に遊技球がV入賞して、大当りが発生する。
一般入賞口35、始動入賞口36、普通変動入賞装置37、及び特別変動入賞装置38、39の大入賞口に遊技球が入賞すると、払出制御装置200(図3参照)は、入賞した入賞口の種類に応じた数の賞球を払出装置から上皿21に排出する。また、下方の遊技領域32には、入賞口等に入賞しなかった遊技球を回収するアウト口30bが設けられている。また、一般入賞口35、始動入賞口36、普通変動入賞装置37、及び特別変動入賞装置38、39やその近傍には、遊技球が入賞した場合などに発光可能なLED(後述の盤装飾装置46の一部)が配設されている。
また、遊技領域32の外側であって遊技盤本体30aの右下角部には、特図変動表示ゲーム(特図1変動表示ゲーム、特図2変動表示ゲーム)及び普図変動表示ゲームを実行する一括表示装置50が設けられている。一括表示装置50は、LEDランプ(発光部、発光部材)から構成されて現在の遊技状態等の情報を表示する表示部51~60を備える。
一括表示装置50は、7セグメント型の表示器(LEDランプ)等で構成された変動表示ゲーム用の第1特図変動表示部51(特図1表示器、ランプD1)及び第2特図変動表示部52(特図2表示器、ランプD2)と、普図変動表示ゲーム用の変動表示部53(普図表示器、ランプD8、D10、D18)と、各変動表示ゲームの始動(保留)記憶数報知用の記憶表示部(特図1保留表示器54、特図2保留表示器55、普図保留表示器56)と、を有している。特図1保留表示器54はランプD11、D12により構成される。特図2保留表示器55は、ランプD13、D14により構成される。普図保留表示器56は、ランプD15、D16により構成される。
また、一括表示装置50には、右打ち時(右打ちすべき時)又は左打ち時(通常打ち時)であることを報知する第1遊技状態表示部57(第1遊技状態表示器、ランプD7)、時短状態が発生すると点灯して時短状態発生を報知する第2遊技状態表示部58(第2遊技状態表示器、ランプD17)、遊技機10の電源投入時に大当りの確率状態が高確率状態となっていることを表示する第3遊技状態表示部59(第3遊技状態表示器、確率状態表示部、ランプD9)、大当り時のラウンド数(特別変動入賞装置38、39の開閉回数)を表示するラウンド表示部60(ランプD3-D6)が設けられている。
特図1表示器51と特図2表示器52において、変動表示ゲームは、識別情報(例えば、中央のセグメント)の点灯消灯(点滅)を繰り返す変動表示によって実行される。なお、特図1表示器51、特図2表示器52は、このようなセグメント型の表示部に限らず、複数のLEDの集合体により構成されていてもよいし、変動表示を実行する場合に、表示器として設けられるすべてのLEDにより全点灯全消灯(全LEDの同時点滅)や、循環点灯(何れか1のLEDから所定時間毎に所定の順序で点灯し、消灯する)、または複数のLEDのうちの所定数のLEDによる点灯消灯(点滅)や循環点灯によって行ってもよい。普図表示器53においても、変動表示ゲームは、ランプD10、D18の点灯消灯を繰り返す変動表示(点滅)によって実行される。また、普図表示器53も特図1表示器51、特図2表示器52と同様に適宜構成することが可能である。
ランプ表示装置80は、図柄(後述の第四特別図柄、第4図柄)として点灯表示と消灯表示を繰り返す変動表示(点滅)を実行するランプ表示部1、2(LED)と、各特図変動表示ゲームの始動(保留)記憶数報知用のランプ表示部3-6(LED)を有する。なお、ランプ表示装置80は、演出制御装置300(後述)で制御される。
ランプ表示部1、2は、変動表示として所定の点滅周期(例えば200msec(ミリ秒))で点滅する。即ち、ランプ表示部1、2の消灯と点灯の切り替えは、点滅周期の2分の1(例えば、100msec)の期間で行われる。一括表示装置50の特図1表示器51、特図2表示器52、普図表示器53における変動表示の変動時間が遊技制御装置100で計測されるのに対して、ランプ表示装置80のランプ表示部1、2の変動時間は演出制御装置300(後述)で計測される。
ランプ表示部3、4(特図1保留LED1、特図1保留LED2)は、消灯状態、点灯状態、点滅状態の組合せによって、特図1保留数(第1始動記憶数)を表示する。同様に、ランプ表示部5、6(特図2保留LED1、特図2保留LED2)は、消灯状態、点灯状態、点滅状態の組合せによって、特図2保留数(第2始動記憶数)を表示する。ランプ表示部3-6は、大当り発生により保留数の表示を終了するが、大当り状態中以外の場合(表示装置41で後述のリーチが発生している場合も含む)では、保留数の表示を行う。
次に、遊技機10における遊技の流れ、普図変動表示ゲーム及び特図変動表示ゲームの詳細について説明する。
遊技機10では、図示しない球発射装置から遊技領域32に向けて遊技球が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域32内の各所に配置された障害釘や風車等によって転動方向を変えながら遊技領域32を流下し、普図始動ゲート34、一般入賞口35、始動入賞口36、普通変動入賞装置37、又は特別変動入賞装置38、39に入賞又は入球するか、遊技領域32の最下部に設けられたアウト口30bへ流入し、遊技領域32から排出される。そして、一般入賞口35、始動入賞口36、普通変動入賞装置37、又は特別変動入賞装置38、39に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が払出装置を介して上皿21に排出される。
普図始動ゲート34には、当該普図始動ゲート34を通過した遊技球を検出するゲートスイッチ34a(図3参照)が設けられている。遊技球が普図始動ゲート34を通過すると、ゲートスイッチ34aによって検出され、このときに抽出された当り判定用乱数値の判定結果に基づき普図変動表示ゲームが実行される。
普図変動表示ゲームを開始できない状態、例えば、既に普図変動表示ゲームが行われており当該普図変動表示ゲームが終了していない場合や、普図変動表示ゲームの結果が当りとなって普通変動入賞装置37が開放状態に変換されている場合に、遊技球が普図始動ゲート34を通過すると、普図始動記憶数(普図保留数)が上限数未満ならば当該記憶数が加算(+1)される。
普図始動記憶(普図保留)には普図変動表示ゲームの当りはずれを決定するための当り判定用乱数値が記憶されており、この当り判定用乱数値が判定値と一致した場合に、当該普図変動表示ゲームが当りとなって特定の結果態様(特定結果)が導出される。
普図変動表示ゲームは、一括表示装置50に設けられた普図表示器53で実行されるようになっている。普図表示器53は、普通識別情報(普図)として点灯状態の場合に当りを示し、消灯状態の場合にはずれを示すLEDから構成され、このLEDを点滅表示することで普通識別情報の変動表示を行い、所定の変動表示時間の経過後、LEDを点灯又は消灯することで結果を表示するようになっている。
普図始動ゲート34通過時に抽出された普図乱数値が当り値である場合には、普図表示器53に表示される普通図柄(普図)が当り状態で停止し、当り状態となる。このとき、普電ソレノイド37c(図3参照)が駆動されることにより、可動部材37bが所定の時間(例えば3秒間×2回)だけ開状態に変換され、普通変動入賞装置37への遊技球の入賞が許容される。
遊技球の始動入賞口36への入賞及び普通変動入賞装置37への入賞は、始動口1スイッチ36a(図3参照)及び始動口2スイッチ37a(図3参照)によって検出される。始動入賞口36に入賞した遊技球は特図1変動表示ゲームの始動入賞球として検出され、所定の上限数を限度に記憶されるとともに、普通変動入賞装置37に入賞した遊技球は特図2変動表示ゲームの始動入賞球として検出され、所定の上限数を限度に記憶される。
特図変動表示ゲームの始動入賞球の検出時には、大当り乱数値や大当り図柄乱数値、各変動パターン乱数値等が抽出される。これら乱数値は、遊技制御装置100の特図保留記憶領域(RAMの一部)に特図始動入賞記憶として各々所定回数分(例えば最大で8回分)を限度に記憶される。特図始動入賞記憶の記憶数は、一括表示装置50の始動入賞数報知用の特図1保留表示器54や特図2保留表示器55に表示されるとともに、表示装置41の表示画面にも表示される。
遊技制御装置100は、始動入賞口36への入賞若しくは第1始動記憶(特図1始動記憶、特図1保留)に基づいて、特図1表示器51で特図1変動表示ゲームを実行する。また、遊技制御装置100は、普通変動入賞装置37への入賞若しくは第2始動記憶(特図2始動記憶、特図2保留)に基づいて、特図2表示器52で特図2変動表示ゲームを実行する。
特図1変動表示ゲーム(第1特図変動表示ゲーム)及び特図2変動表示ゲーム(第2特図変動表示ゲーム)は、特図1表示器51及び特図2表示器52において識別情報(特別図柄、特図)を変動表示した後に所定の結果態様を停止表示することで行われる。
また、表示装置41では、各特図変動表示ゲームに対応して複数種類の識別情報(例えば、数字、記号、キャラクタ図柄など)を変動表示させる飾り特図変動表示ゲームが実行される。
表示装置41における飾り特図変動表示ゲームは、前述した数字等で構成される飾り特別図柄(識別情報)が左(第一特別図柄)、右(第二特別図柄)、中(第三特別図柄)の順に変動表示(スクロール表示)を開始して、所定時間後に変動している図柄を順次停止させて、特図変動表示ゲームの結果を表示することで行われる。また、表示装置41では、興趣向上のためにキャラクタの出現等の多様な演出表示が行われる。さらに、飾り特図変動表示ゲームでは、他の飾り特別図柄(識別情報)として、ランプ表示装置80のランプ表示部1、2において、点灯表示と消灯表示の繰り返し(点滅)によって第四特別図柄(第4図柄)が変動する。ランプ表示部1、2の変動表示は、開始から所定時間後に、はずれの場合は「消灯」、大当りもしくは小当りの場合は「点灯」で停止する。
始動入賞口36又は普通変動入賞装置37への遊技球の入賞が所定のタイミングでなされた場合(入賞検出時の大当り乱数値が大当り値である場合)には、特図変動表示ゲームの結果として表示図柄により特定の結果態様(特別結果態様)が導出され、大当り状態(特別遊技状態)となる。これに対応して、表示装置41の表示態様は特別結果態様(例えば「7,7,7」等の数字が揃った状態)となる。
このとき、特別変動入賞装置38、39は、大入賞口ソレノイド(38b、39b)(図3参照)への通電によって、大入賞口が所定の時間(例えば30秒)だけ閉状態から開状態に変換される。すなわち、特別変動入賞装置38、39に備えられた大入賞口が所定の時間又は所定数の遊技球が入賞するまで大きく開き、この間遊技者は多くの遊技球を獲得することができるという特典が付与される。
第1始動入賞口36又は普通変動入賞装置37への遊技球の入賞が所定のタイミングでなされた場合(入賞検出時の大当り乱数値が小当り値である場合)には、特図変動表示ゲームの結果として表示図柄により特定結果態様(小当り結果態様)が導出され、小当り状態となる。これに対応して、表示装置41の表示態様は小当り結果態様となる。なお、本実施形態では、小当りの判定にも大当り乱数値が使用されるが、小当り値(小当り判定値)は、大当り値(大当り判定値)と異なる。
このとき、特別変動入賞装置38、39は、大入賞口ソレノイド38b、39b(図3参照)への通電によって、大入賞口が所定の短時間だけ閉状態から開状態に変換される。なお、大入賞口の全開放時間は、小当り状態(小当り遊技状態)の方が大当り状態(特別遊技状態)よりも短いため、小当り状態では大当り状態よりも遊技者が獲得可能な遊技価値(獲得球数)が少ない。なお、小当り状態と大当り状態では両方とも大入賞口が開放状態となるが、大当り状態を第1特別遊技状態と呼び、小当り状態を第2特別遊技状態と呼んでもよい。なお、簡単のため、本実施形態では、小当り状態で特別変動入賞装置39(上大入賞口)のみが開状態に変換され、大当り状態(小当り中のV入賞による大当り状態も含む)で特別変動入賞装置38(下大入賞口)のみが開状態に変換される構成を説明する。
ここで、大当りと小当りとの違いについて説明する。
大当りとは条件装置の作動を伴う特別結果であり、小当りとは条件装置の作動を伴わない特定結果である。条件装置とは、特図変動表示ゲームで大当りが発生(大当り図柄の停止表示)した場合に作動するもので、条件装置が作動するとは、例えば大当り状態が発生して特別電動役物としての特別変動入賞装置38、39を連続して作動させるための特定のフラグがセットされることを意味する。また、条件装置が作動するとは、特定領域86への遊技球の通過(V入賞)があったことを意味してもよい。条件装置が作動しないとは、例えば単に小当り抽選に当選した場合のように上述の特定のフラグがセットされないことを意味する。ただし、本実施形態で後述するように、小当り状態中にV入賞があった場合には条件装置が作動することになる。なお、「条件装置」は、上記のようなソフトウェア的にオンオフされるフラグのようなソフトウェア手段であっても良いし、電気的にオンオフされるスイッチのようなハードウェア手段であっても良い。また、「条件装置」は、その作動が電動役物の連続作動に必要条件とされる装置として、パチンコ遊技機の分野においては一般的に使用されている用語であり、本明細書においても同様の意味を有する用語として使用している。
具体的には、大当りの場合は、大当りフラグが設定されることにより特別変動入賞装置が開放されるのに対して、小当りの場合は、小当りフラグが設定されることにより特別変動入賞装置が開放される。
なお、特図1表示器51及び特図2表示器52は、別々の表示器として構成してもよいし同一の表示器として構成してもよいが、各特図変動表示ゲームが同時に実行されないように設定される。なお、特図2変動表示ゲームは、特図1変動表示ゲームよりも優先して実行されるようになっており、特図1変動表示ゲームと特図2変動表示ゲームの始動記憶があり、特図変動表示ゲームの実行が可能な状態になった場合は特図2変動表示ゲームが実行される(特図2保留優先消化、特図2優先変動)。
表示装置41における飾り特図変動表示ゲームについては、特図1変動表示ゲームと特図2変動表示ゲームとを別々の表示装置や別々の表示領域で実行するようにしてもよいし、同一の表示装置や表示領域で実行するようにしてもよい。この場合、特図1変動表示ゲーム及び特図2変動表示ゲームに対応する飾り特図変動表示ゲームが同時に実行されないようにしてよい。
なお、以下の説明において、特図1変動表示ゲームと特図2変動表示ゲームを区別しない場合は、単に特図変動表示ゲームと称する。
また、特に限定されるわけではないが、上記始動入賞口36内の始動口1スイッチ36a、普通変動入賞装置37内の始動口2スイッチ37a、ゲートスイッチ34a、入賞口スイッチ35a、カウントスイッチ(38a、39a)には、磁気検出用のコイルを備え該コイルに金属が近接すると磁界が変化する現象を利用して遊技球を検出する非接触型の磁気近接センサ(以下、近接スイッチと称する)が使用されている。また、遊技機10のガラス枠15等に設けられたガラス枠開放検出スイッチ63や前面枠(遊技枠)12等に設けられた前面枠開放検出スイッチ64(本体枠開放検出スイッチ)には、機械的な接点を有するマイクロスイッチを用いることができる。
〔遊技制御装置〕
図3は、遊技機10の遊技制御系のブロック図である。遊技機10は遊技制御装置100(主基板)を備え、遊技制御装置100は、遊技を統括的に制御する主制御装置(主基板)であって、遊技用マイクロコンピュータ(以下、遊技用マイコンと称する)111を有するCPU部110と、入力ポートを有する入力部120と、出力ポートやドライバなどを有する出力部130、CPU部110と入力部120と出力部130との間を接続するデータバス140などからなる。
CPU部110は、アミューズメントチップ(IC)と呼ばれる遊技用マイコン(CPU)111と、水晶振動子のような発振子を備え、CPUの動作クロックやタイマ割込み、乱数生成回路の基準となるクロックを生成する発振回路(水晶発振器)113などを有する。遊技制御装置100及び該遊技制御装置100によって駆動されるソレノイドやモータなどの電子部品には、電源装置400で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
電源装置400は、24Vの交流電源からDC32Vの直流電圧を生成するACDCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC-DCコンバータなどを有する通常電源部410と、遊技用マイコン111の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部420と、停電監視回路を有し、遊技制御装置100に停電の発生、回復を知らせる停電監視信号やリセット信号などの制御信号を生成して出力する制御信号生成部430などを備える。
本実施形態では、電源装置400は、遊技制御装置100と別個に構成されているが、バックアップ電源部420及び制御信号生成部430は、別個の基板上あるいは遊技制御装置100と一体、すなわち、主基板上に設けるように構成してもよい。遊技盤30及び遊技制御装置100は機種変更の際に交換の対象となるので、実施例のように、電源装置400若しくは主基板とは別の基板にバックアップ電源部420及び制御信号生成部430を設けることにより、交換の対象から外しコストダウンを図ることができる。
バックアップ電源部420は、電解コンデンサのような大容量のコンデンサ1つで構成することができる。バックアップ電源は、遊技制御装置100の遊技用マイコン111(特に内蔵RAM)に供給され、停電中あるいは電源遮断後もRAMに記憶されたデータが保持されるようになっている。制御信号生成部430は、例えば通常電源部410で生成された32Vの電圧を監視してそれが例えば17V以下に下がると停電発生を検出して停電監視信号を変化させるとともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
また、遊技制御装置100にはRAM初期化スイッチ112が設けられている。RAM初期化スイッチ112が押下げられてオン操作されると初期化スイッチ信号が生成され、これに基づき遊技用マイコン111内のRAM111c及び払出制御装置200内のRAMに記憶されている情報を強制的に初期化する処理が行われる。特に限定されるわけではないが初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン111が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は強制割込み信号の一種であり、制御システム全体をリセットさせる。
また、遊技制御装置100(主基板)は、設定キースイッチ93を備える。設定キースイッチ93は、操作者の回転操作等によってオンすることによって遊技条件(遊技)に関する設定に応じた確率設定値(設定値)を変更可能な状態にする。なお、RAM初期化スイッチ112は、操作者の操作に応じて確率設定値を変更可能な設定値変更スイッチとしても使用可能である。本実施形態では、確率設定値は、大当り確率や小当り確率などの当選確率を設定するための設定値であるが、確率以外の他の遊技条件(演出など)も確率設定値に応じて変更可能である。例えば、確率設定値が大きいほど、当選確率を大きくしてよい。設定キースイッチ93とRAM初期化スイッチ112は、遊技条件に関する設定(確率設定値)を変更可能な設定変更手段(設定変更装置42、設定手段)を構成する。なお、RAM初期化スイッチ112ではなく、他のスイッチが、設定値変更スイッチを兼用してもよいし、専用に独自の設定値変更スイッチを設けてもよい。
設定キースイッチ93とRAM初期化スイッチ112は、遊技機10内部の遊技制御装置100上に設けられることによって、前面枠12(本体枠)が開放されなければ操作できない位置(アクセスできない位置)に配置される。即ち、一般の遊技者は、設定キースイッチ93とRAM初期化スイッチ112にアクセスして操作することができない。
後述するように、遊技機10の電源投入(停電復旧、復電)の際に、遊技機10は、設定キースイッチ93とRAM初期化スイッチ112のオン/オフ状態に応じて、確率設定値を変更可能(設定可能)な設定可変状態(設定変更状態、設定可能状態、設定変更モード)、確率設定値を確認可能な設定確認状態(設定確認モード)などの各種状態に、移行することができる。
本実施形態において、確率設定値は、例えば6段階で規定され、確率設定値1(設定1)、確率設定値2(設定2)、確率設定値3(設定3)、確率設定値4(設定4)、確率設定値5(設定5)、確率設定値6(設定6)がある。一般的に、設定1が遊技者に最も不利な設定であり、設定6が遊技者に最も有利な設定である。設定1、2が低設定であり、設定3、4が中間の設定(中間設定)であり、設定5、6が高設定である。
確率設定変更処理では、操作者によってRAM初期化スイッチ112が押下操作される度に、作業用設定値領域の作業用設定値(設定)が、設定値0(設定1、確率設定値1)→設定値1(設定2、確率設定値2)→設定値2(設定3、確率設定値3)→設定値3(設定4、確率設定値4)→設定値4(設定5、確率設定値5)→設定値5(設定6、確率設定値6)→設定値0(設定1)→設定値1(設定2)→・・・のように変更される。このように、RAM初期化スイッチ112は、設定値変更スイッチとしても機能する。なお、説明の都合上、設定変更状態(設定変更モード)中に、作業用設定値0~5をそれぞれ確率設定値1~6に対応して設けるが、作業用設定値と確率設定値は同じ数値範囲(即ち0~5又は1~6)に揃えて同じものとして取り扱ってもよい(作業用設定値と確率設定値を同じ数値にする)。
なお、RAM初期化スイッチ112(設定値変更スイッチ)の操作ではなく、設定キースイッチ93を所定の位置に回転操作して確率設定値を変更する構成としてもよい。また、確率設定値は6段階に限られない。そして、選択されている0~5の作業用設定値に対応する表示用確率設定値が、例えば4桁の7セグメント型(ドットDpを含めると8セグメント型)の表示器である性能表示装置152等に表示される。また、遊技機の前面(例えば一括表示装置50)に、表示用確率設定値など設定値に関する情報(例えば確率設定値1~6を読み取れる表示)を表示してもよい。また、遊技機の前面(例えば一括表示装置50)に、設定可変状態中や設定確認状態中だけでなく、遊技制御実行中(後述のゲーム処理の実行中)にも、表示用確率設定値など設定値に関する情報を表示してもよい。
遊技用マイコン111は、CPU(中央処理ユニット:マイクロプロセッサ)111a、読出し専用のROM(リードオンリメモリ)111b及び随時読出し書込み可能なRAM(ランダムアクセスメモリ)111cを備える。
ROM111bは、遊技制御のための不変の情報(プログラム、固定データ、各種乱数の判定値等)を不揮発的に記憶する。RAM111cは、遊技制御時にCPU111aの作業領域や各種信号や乱数値の記憶領域として利用されるもので、遊技に関する情報(遊技情報)が記憶され、停電が発生しても記憶された情報の記憶保持が可能な保持記憶手段となる。ROM111b又はRAM111cとして、EEPROMのような電気的に書換え可能な不揮発性メモリを用いてもよい。
また、ROM111bは、例えば、特図変動表示ゲームの実行時間、演出内容、リーチ状態の発生の有無などを規定する変動パターン(変動態様)を決定するための変動パターンテーブルを記憶している。変動パターンテーブルとは、始動記憶として記憶されている変動パターン乱数1~3をCPU111aが参照して変動パターンを決定するためのテーブルである。また、変動パターンテーブルには、結果がはずれとなる場合に選択されるはずれ変動パターンテーブル、結果が大当りとなる場合に選択される大当り変動パターンテーブル等が含まれる。さらに、これらのパターンテーブルには、リーチ状態となった後の変動パターンである後半変動パターンを決定するためのテーブル(後半変動グループテーブルや後半変動パターン選択テーブル等)、リーチ状態となる前の変動パターンである前半変動パターンを決定するためのテーブル(前半変動グループテーブルや前半変動パターン選択テーブル等)が含まれている。
ここでリーチ(リーチ状態)とは、表示状態が変化可能な表示装置を有し、該表示装置が時期を異ならせて複数の表示結果を導出表示し、該複数の表示結果が予め定められた特別結果態様となった場合に、遊技状態が遊技者にとって有利な遊技状態(特別遊技状態)となる遊技機10において、複数の表示結果の一部がまだ導出表示されていない段階で、既に導出表示されている表示結果が特別結果態様となる条件を満たしている表示状態をいう。また、別の表現をすれば、リーチ状態とは、表示装置の変動表示制御が進行して表示結果が導出表示される前段階にまで達した時点でも、特別結果態様となる表示条件からはずれていない表示態様をいう。そして、例えば、特別結果態様が揃った状態を維持しながら複数の変動表示領域による変動表示を行う状態(いわゆる全回転リーチ)もリーチ状態に含まれる。また、リーチ状態とは、表示装置の表示制御が進行して表示結果が導出表示される前段階にまで達した時点での表示状態であって、表示結果が導出表示される以前に決定されている複数の変動表示領域の表示結果の少なくとも一部が特別結果態様となる条件を満たしている場合の表示状態をいう。
よって、例えば、特図変動表示ゲームに対応して表示装置に表示される飾り特図変動表示ゲームが、表示装置における左、中、右の変動表示領域の各々で所定時間複数の識別情報を変動表示した後、左、右、中の順で変動表示を停止して結果態様を表示するものである場合、左、右の変動表示領域で、特別結果態様となる条件を満たした状態(例えば、同一の識別情報)で変動表示が停止した状態がリーチ状態となる。他に、すべての変動表示領域の変動表示を一旦停止した時点で、左、中、右のうちいずれか二つの変動表示領域で特別結果態様となる条件を満たした状態(例えば、同一の識別情報となった状態、ただし特別結果態様は除く)をリーチ状態とし、リーチ状態から残りの一つの変動表示領域を変動表示するようにしてもよい。
そして、リーチ状態には複数のリーチ演出が含まれ、特別結果態様(大当り態様)が導出される可能性が異なる(期待度が異なる)リーチ演出の系統(種類)として、ノーマルリーチ(Nリーチ)、スペシャル1リーチ(SP1リーチ)、スペシャル2リーチ(SP2リーチ)、スペシャル3リーチ(SP3リーチ)、プレミアリーチが設定されている。なお、大当りの期待度(期待値)は、リーチなし<ノーマルリーチ<スペシャル1リーチ<スペシャル2リーチ<スペシャル3リーチ<プレミアリーチの順に高くなるようになっている。また、リーチ状態は、少なくとも特図変動表示ゲームで特別結果態様が導出される場合(大当りとなる場合)における変動表示態様に含まれるようになっている。すなわち、特図変動表示ゲームで特別結果態様が導出されないと判定する場合(はずれとなる場合)における変動表示態様に含まれることもある。よって、リーチ状態が発生した状態は、リーチ状態が発生しない場合と比較して大当りとなる可能性の高い状態である。
なお、演出(予告)の期待度は、その演出が選択された場合に大当りになる確率を示唆し、大当りであるときのその演出の選択率及び大当りでないとき(はずれのとき)のその演出の選択率などに基づいて算出することができる。
CPU111aは、ROM111b内の遊技制御用プログラムを実行して、払出制御装置200や演出制御装置300に対する制御信号(コマンド)を生成したりソレノイドや表示装置の駆動信号を生成して出力して遊技機10全体の制御を行う。また、図示しないが、遊技用マイコン111は、特図変動表示ゲームの大当りを判定するための大当り乱数や大当りの図柄を決定するための大当り図柄乱数、小当りの図柄を決定するための小当り図柄乱数、後述の時短図柄(サポ当りの停止図柄)を決定するためのサポ当り図柄乱数、特図変動表示ゲームでの変動パターン(各種リーチやリーチなしの変動表示における変動表示ゲームの実行時間等を含む)を決定するための変動パターン乱数等を生成するための乱数生成回路と、発振回路113からの発振信号(原クロック信号)に基づいてCPU111aに対する所定周期(例えば、4msec(ミリ秒))のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータを備えている。
また、CPU111aは、特図変動表示ゲームに関する処理において、ROM111bに記憶されている複数の変動パターンテーブルの中から、いずれか一の変動パターンテーブルを取得する。具体的には、CPU111aは、特図変動表示ゲームの遊技結果(大当りあるいははずれ)や、現在の遊技状態としての特図変動表示ゲームの確率状態(通常確率状態あるいは高確率状態)、始動記憶数などに基づいて、複数の変動パターンテーブルの中から、いずれか一の変動パターンテーブルを選択して取得する。ここで、CPU111aは、特図変動表示ゲームを実行する場合に、ROM111bに記憶された複数の変動パターンテーブルのうち、いずれか一の変動パターンテーブルを取得する変動振り分け情報取得手段をなす。
払出制御装置200は、CPU、ROM、RAM、入力インタフェース、出力インタフェース等を備え、遊技制御装置100からの賞球払出し指令(コマンドやデータ)に従って、払出ユニットの払出モータ91を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置200は、カードユニット600からの貸球要求信号に基づいて払出ユニットの払出モータ91を駆動させ、貸球を払い出させるための制御を行う。
遊技用マイコン111の入力部120には、遊技機に対する電波の発射を検出する電波センサ62(盤電波センサ)、普図始動ゲート34のゲートスイッチ34a、第1始動入賞口36内の始動口1スイッチ36a、第2始動入賞口37(普通変動入賞装置)内の始動口2スイッチ37a、一般入賞口35の入賞口スイッチ35a、特別変動入賞装置38、39の大入賞口スイッチ43(下大入賞口スイッチ38a、上大入賞口スイッチ39a)に接続され、これらのスイッチから供給されるハイレベルが11Vでロウレベルが7Vのような負論理の信号が入力され、0V-5Vの正論理の信号に変換するインタフェースチップ(近接I/F)121が設けられている。
さらに、インタフェースチップ(近接I/F)121は、特定領域スイッチ72、残存球排出口スイッチ73、アウト球検出スイッチ74に接続される。特定領域スイッチ72は、特定領域86(V入賞口)への遊技球の通過(V入賞)を検出する。残存球排出口スイッチ73は、特別変動入賞装置38、39からの遊技球を排出する残存球排出口を通過した遊技球を検出する。アウト球検出スイッチ74は、遊技領域に発射されて遊技を終えた全ての遊技球(即ち、入賞口又はアウト口30bを通過した全ての遊技球)を検出する。
近接I/F121の出力は、第2入力ポート123、第3入力ポート124、又は、第4入力ポート126に供給されデータバス140を介して遊技用マイコン111に読み込まれる。なお、近接I/F121の出力のうち、ゲートスイッチ34a、始動口1スイッチ36a、始動口2スイッチ37a、入賞口スイッチ35a、大入賞口スイッチ43の検出信号は第3入力ポート124に入力される。
また、近接I/F121の出力のうち、電波センサ62の検出信号及びセンサやスイッチの異常を検出した際に出力される異常検知信号は第2入力ポート123に入力される。
また、近接I/F121の出力のうち、特定領域スイッチ72、残存球排出口スイッチ73、又は、アウト球検出スイッチ74の検出信号は第4入力ポート126に入力される。
また、第2入力ポート123には、遊技機10の前面枠12等に設けられた不正検出用の磁気センサスイッチ61の検出信号、遊技機10のガラス枠15等に設けられたガラス枠開放検出スイッチ63、前面枠12(本体枠)等に設けられた前面枠開放検出スイッチ64(本体枠開放検出スイッチ)からの信号、遊技機10の振動を検出する振動センサ65からの信号が入力される。
また、第2入力ポート123は、設定キースイッチ93からの設定キースイッチ信号を取り込んでデータバス140を介して遊技用マイコン111に供給する。
また、近接I/F121の出力のうち、第3入力ポート124への出力は、遊技制御装置100から中継基板70を介して図示しない試射試験装置へも供給されるようになっている。さらに、近接I/F121の出力のうち始動口1スイッチ36aと始動口2スイッチ37aの検出信号は、第3入力ポート124の他、遊技用マイコン111に入力されるように構成されている。
前述のように近接I/F121は、信号のレベル変換機能を有する。このようなレベル変換機能を可能にするため、近接I/F121には、電源装置400から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されるようになっている。
第3入力ポート124が保持しているデータは、遊技用マイコン111が第3入力ポート124に割り当てられているアドレスをデコードすることによってイネーブル信号CE2をアサート(有効レベルに変化)することよって、読み出すことができる。第2入力ポート123、第4入力ポート126や後述の第1入力ポート122も同様である。
また、入力部120には、払出制御装置200から出力される枠電波不正信号、払出ビジー信号、払出異常を示すステータス信号、払出前の遊技球の不足を示すシュート球切れスイッチ信号、オーバーフローを示すオーバーフロースイッチ信号、操作ハンドル24に設けられたタッチスイッチの入力に基づくタッチスイッチ信号、RAM初期化スイッチ112からの信号を取り込んでデータバス140を介して遊技用マイコン111に供給する第1入力ポート122が設けられている。オーバーフロースイッチ信号は、下皿23に遊技球が所定量以上貯留されていること(満杯になったこと)を検出したときに出力される信号である。枠電波不正信号は前面枠12(本体枠)に設けられた枠電波センサが電波を検出することに基づき出力される信号であり、払出ビジー信号は払出制御装置200がコマンドを受付可能な状態か否かを示す信号である。
また、入力部120には、電源装置400からの停電監視信号やリセット信号などの信号を遊技用マイコン111等に入力するためのシュミットバッファ125が設けられており、シュミットバッファ125はこれらの入力信号からノイズを除去する機能を有する。電源装置400からの停電監視信号は、一旦第1入力ポート122に入力され、データバス140を介して遊技用マイコン111に取り込まれる。つまり、前述の各種スイッチからの信号と同等の信号として扱われる。遊技用マイコン111に設けられている外部からの信号を受ける端子の数には制約があるためである。
一方、シュミットバッファ125によりノイズ除去されたリセット信号RSTは、遊技用マイコン111に設けられているリセット端子に直接入力されるとともに、出力部130の各ポートに供給される。また、リセット信号RSTは出力部130を介さずに直接中継基板70に出力することで、試射試験装置に出力するために中継基板70のポート(図示省略)に保持される試射試験信号をオフするように構成されている。
また、リセット信号RSTを中継基板70を介して試射試験装置に出力可能に構成するようにしてもよい。なお、リセット信号RSTは入力部120の各ポート122,123,124には供給されない。リセット信号RSTが入る直前に遊技用マイコン111によって出力部130の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号RSTが入る直前に入力部120の各ポートから遊技用マイコン111が読み込んだデータは、遊技用マイコン111のリセットによって廃棄されるためである。
出力部130には、遊技用マイコン111から演出制御装置300への通信経路及び遊技用マイコン111から払出制御装置200への通信経路に配されるシュミットバッファ132が設けられている。遊技制御装置100から演出制御装置300及び払出制御装置200へは、シリアル通信でデータが送信される。なお、演出制御装置300の側から遊技制御装置100へ信号を入力できないようにした片方向通信とされている。
さらに、出力部130には、データバス140に接続され図示しない認定機関の試射試験装置へ変動表示ゲームの特図図柄情報を知らせるデータや大当りの確率状態を示す信号などを中継基板70を介して出力するバッファ133が実装可能に構成されている。バッファ133は遊技店に設置される実機(量産販売品)としてのパチンコ遊技機の遊技制御装置(主基板)には実装されない部品である。なお、前記近接I/F121から出力される始動口スイッチなど加工の必要のないスイッチの検出信号は、バッファ133を通さずに中継基板70を介して試射試験装置に供給される。
一方、磁気センサスイッチ61や電波センサ62のようにそのままでは試射試験装置に供給できない検出信号は、一旦遊技用マイコン111に取り込まれて他の信号若しくは情報に加工されて、例えば遊技機が遊技制御できない状態であることを示すエラー信号としてデータバス140からバッファ133、中継基板70を介して試射試験装置に供給される。
なお、中継基板70には、バッファ133から出力された信号を取り込んで試射試験装置に供給するポートや、バッファを介さないスイッチの検出信号の信号線を中継して伝達するコネクタなどが設けられている。中継基板70上のポートには、遊技用マイコン111から出力されるチップイネーブル信号CEも供給され、該信号CEにより選択制御されたポートの信号が試射試験装置に供給されるようになっている。
また、出力部130には、データバス140に接続され普通変動入賞装置37を開放させるソレノイド(普電ソレノイド)37c、第1特別変動入賞装置38を開放させる下大入賞口ソレノイド38b(大入賞口ソレノイド1)、第2特別変動入賞装置39を開放させる上大入賞口ソレノイド39b(大入賞口ソレノイド2)、レバーを動作させ特定領域86を開放させるレバーソレノイド86bの開閉データを出力するための第2出力ポート134が設けられている。
また、出力部130には、一括表示装置50に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための第3出力ポート135、一括表示装置50のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための第4出力ポート136が設けられている。
また、出力部130には、性能表示装置152に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための第6出力ポート141、性能表示装置152のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための第7出力ポート142が設けられている。
また、出力部130には、大当り情報など遊技機10に関する情報を外部情報端子71に出力するための第5出力ポート137が設けられている。外部情報端子71にはフォトリレーが備えられ、例えば遊技店に設置された外部装置(情報収集端末や遊技場内部管理装置(ホールコンピュータ)など)に接続可能であり、遊技機10に関する情報を外部装置に供給することができるようになっている。また、第5出力ポート137からはシュミットバッファ132を介して払出制御装置200に発射許可信号も出力される。
さらに、出力部130には、第2出力ポート134から出力される普電ソレノイド37cや大入賞口ソレノイド38b、39bなどの開閉データ信号を受けてソレノイド駆動信号を生成し出力する第1ドライバ(駆動回路)138a、第3出力ポート135から出力される一括表示装置50の電流供給側のセグメント線のオン/オフ駆動信号を出力する第2ドライバ138b、第4出力ポート136から出力される一括表示装置50の電流引き込み側のデジット線のオン/オフ駆動信号を出力する第3ドライバ138c、第5出力ポート137から管理装置等の外部装置に供給する外部情報信号を外部情報端子71に出力する第4ドライバ138dが設けられている。
さらに、出力部130には、第6出力ポート141から出力される性能表示装置152の電流供給側のセグメント線のオン/オフ駆動信号を出力する性能表示用セグメントドライバ150a、第7出力ポート142から出力される性能表示装置152の電流引き込み側のデジット線のオン/オフ駆動信号を出力する性能表示用デジットドライバ150bが設けられている。
第1ドライバ138aには、32Vで動作するソレノイドを駆動できるようにするため、電源電圧としてDC32Vが電源装置400から供給される。また、一括表示装置50のセグメント線を駆動する第2ドライバ138bには、DC12Vが供給される。デジット線を駆動する第3ドライバ138cは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は12V又は5Vのいずれであってもよい。
12Vを出力する第2ドライバ138bによりセグメント線を介してLEDのアノード端子に電流を流し込み、接地電位を出力する第3ドライバ138cによりカソード端子よりデジット線を介して電流を引き抜くことで、一括表示装置50においてダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて点灯される。12Vを出力する性能表示用セグメントドライバ150aによりセグメント線を介してLEDのアノード端子に電流を流し込み、接地電位を出力する性能表示用デジットドライバ150bによりカソード端子よりデジット線を介して電流を引き抜くことで、性能表示装置152においてダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて点灯される。外部情報信号を外部情報端子71に出力する第4ドライバ138dは、外部情報信号に12Vのレベルを与えるため、DC12Vが供給される。なお、バッファ133や第2出力ポート134、第1ドライバ138a等は、遊技制御装置100の出力部130、すなわち、主基板ではなく、中継基板70側に設けるようにしてもよい。
さらに、出力部130には、外部の検査装置500へ各遊技機の識別コードやプログラムなどの情報を送信するためのフォトカプラ139が設けられている。フォトカプラ139は、遊技用マイコン111が検査装置500との間でシリアル通信によってデータの送受信を行えるように双方通信可能に構成されている。なお、かかるデータの送受信は、通常の汎用マイクロプロセッサと同様に遊技用マイコン111が有するシリアル通信端子を利用して行われるため、入力ポート122,123,124のようなポートは設けられていない。
本実施形態では、性能表示装置152は、複数(4つ)の7セグメント型(ドットDpを含めると8セグメント型)の表示器(LEDランプ)からなり、性能表示用ドライバ150a、150bはLEDドライバであるが、これに限られるものではない。
性能表示装置152は、遊技制御装置100(主基板)上に設けられるものであるが、他の場所に設けられてもよい。例えば、性能表示装置152は、表示用確率設定値や役物比率や出玉率や排出球数を表示可能である。
ここで、排出球数は、遊技領域32から排出された遊技球の数(アウト球数とも呼ぶ)であり、入賞口を通過した遊技球の数(入賞数)とアウト口30bを通過した遊技球の数との合計である。排出球数は、アウト球検出スイッチ74の信号などをカウント(計数)することにより取得できる。本実施形態では、入賞口には、一般入賞口35、始動入賞口36(第1始動入賞口、始動口1)、普通変動入賞装置37(第2始動入賞口、始動口2)、及び、特別変動入賞装置38、39(大入賞口)が含まれる。
出玉率は、排出球数(或は遊技領域32に導入された発射球数)に対する賞球数の合計の比率(割合)であり、(獲得球数÷排出球数)×100(%)で計算される。即ち、出玉率は、排出球数100個当りの獲得球数(賞球数の合計)となる。
例えば、役物比率は、所定期間(例えば、遊技機10の電源投入から現在まで)に入賞口に入賞したことで得られた全賞球数(賞球の合計数)のうち、大当り状態中に大入賞口に入賞したことで得られた賞球数(役物別獲得球数)の割合(%)(=いわゆる連続役物比率)である。なお、役物比率は、全賞球数のうち、大入賞口に入賞したことで得られた賞球数(大当り状態中と小当り状態中)の割合(=大入賞口比率)でもよいし、或は、大入賞口及び普通変動入賞装置37(第2始動入賞口)に入賞したことで得られた賞球数の割合(=一般的に使用されるいわゆる役物比率(全役物比率))でもよい。
さらに、遊技制御装置100は、安全装置の機能も有する。安全装置とは、セーフ球数と排出球数に基づく作動条件(所定条件)の成立によって、遊技として特図変動表示ゲーム、普図変動表示ゲーム、及び、ラウンド遊技(大当り中や小当り中での遊技)等が実行できない遊技停止状態(遊技不可状態、遊技禁止状態)を発生可能な遊技停止手段(打ち止め手段)である。遊技停止状態では、新たな特図変動表示ゲームと新たな普図変動表示ゲームは開始できない。安全装置によって、不正によってセーフ球数が異常に多いなどの場合に適切に不正対策をすることができ、また、遊技者の遊技に対するのめり込みも抑制できる可能性がある。のめり込みが抑制されると遊技者は安心して遊技ができる。
本実施形態において、安全装置は、遊技制御装置100でソフトウェア(プログラム)によって実現される機能であり、コンプリート機能(又はエンディング機能、打ち止め機能)とも呼ばれる。もちろん、安全装置は、電気回路や回路基板などのハードウェアとして設けられてもよい。
また、本実施形態において、安全装置の作動条件は、(1)セーフ球数と排出球数との差を示す差玉数が差玉基準値(所定値)に達しており、且つ、(2)大当り中でも小当り中でもないことである。差玉数は、セーフ球数から排出球数を減算したものである(差玉数=セーフ球数-排出球数)。このように、安全装置の作動条件は、2段階の条件(1)(2)からなる。なお、条件(1)に関する差玉数は、本実施形態で主に記載するように、簡単には、電源投入時をゼロとして電源投入時から現在までのセーフ球数と排出球数との差でよい。しかし、条件(1)に関する差玉数は、差玉数の最低値の時点から現在までの所定期間における差玉数、即ち、最低値を基準とした差玉数(最低値から増加した差玉数の増加幅)でよく、1日の営業における差玉数の最大増加幅(いわゆるMY)に対応するものでよい。また、作動条件は他のものでもよく、例えば、条件(1)は、セーフ球数が所定値に達することとする構成も可能である。また、条件(2)は、特別変動入賞装置が作動していないこと、或いは、大入賞口が開放状態でないこととする構成も可能である。
本実施形態において、セーフ球数は、所定期間(例えば電源投入から現在までの期間)に払い出されることが決定された賞球の合計数(獲得球数、出玉)である。賞球(遊技球)の払い出しのエラーがあると、払い出されることが決定された賞球の合計数は、払出装置を介して上皿21に実際に払い出された賞球の合計数に等しくならないが、実際に払い出された賞球の合計数を検出スイッチ等で計測してセーフ球数としてもよい。また、排出球数(アウト球数)は、所定期間において遊技領域32から排出された遊技球の数で、アウト球検出スイッチ74からの信号をカウントして計数可能である。
なお、排出球数の代わりに遊技領域32に発射され導入された発射球の数である発射球数を用いてもよく、差玉数は、セーフ球数-発射球数としてよい。遊技球の発射球数と排出球数を総称して使用数と呼んでよい(差玉数=セーフ球数-使用数)。発射球数からは、球発射装置で発射されたが遊技領域32に届かなかったファール球は除かれ、差玉数は球発射装置で遊技球が1個発射されると-1減算され、ファール球が1個生じると+1加算されることになる。発射球数を計数するための検出スイッチ(検出センサ)を、遊技領域32への遊技球の入口、即ち、遊技盤30における発射された遊技球の案内通路の上端近傍に設けてもよい。
〔演出制御装置〕
次に、図4を用いて、演出制御装置300(サブ基板)の構成について説明する。図4は、遊技機10の演出制御系のブロック図である。
演出制御装置300は、遊技用マイコン111と同様にアミューズメントチップ(IC)からなる主制御用マイコン(CPU)311と、主制御用マイコン311からのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP(Video Display Processor)312と、各種のメロディや効果音などをスピーカ19から再生させるため音の出力を制御する音源LSI314を備えている。
主制御用マイコン311には、CPUが実行するプログラムや各種データを格納したPROM(プログラマブルリードオンリメモリ)からなるプログラムROM321、作業領域を提供するRAM322、停電時に電力が供給されなくとも記憶内容を保持可能なFeRAM323、現在の日時(年月日や曜日、時刻など)を示す情報を生成する計時手段をなすRTC(リアルタイムクロック)338が接続されている。なお、主制御用マイコン311の内部にも作業領域を提供するRAMが設けられている。
また、主制御用マイコン311にはWDT(ウォッチドッグ・タイマ)回路324が接続されている。主制御用マイコン311は、遊技用マイコン111からのコマンドを解析し、表示内容を決定してVDP312に出力映像の内容を指示したり、音源LSI314への再生音の指示、装飾ランプの点灯、モータやソレノイドの駆動制御、演出時間の管理などの処理を実行する。
VDP312には、作業領域を提供するRAM312aや、画像を拡大、縮小処理するためのスケーラ312bが設けられている。また、VDP312にはキャラクタ画像や映像データが記憶された画像ROM325や、画像ROM325から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なVRAM(ビデオRAM)326が接続されている。
特に限定されるわけではないが、主制御用マイコン311とVDP312との間は、パラレル方式でデータの送受信が行われるように構成されている。パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。
VDP312から主制御用マイコン311へは、表示装置41の映像とガラス枠15や遊技盤30に設けられている装飾ランプの点灯を同期させるための垂直同期信号VSYNC、データの送信タイミングを与える同期信号STSが入力される。なお、VDP312から主制御用マイコン311へは、VRAMへの描画の終了等処理状況を知らせるため割込み信号INT0~n及び主制御用マイコン311からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号WAITなども入力される。
演出制御装置300には、LVDS(小振幅信号伝送)方式で表示装置41に送信する映像信号を生成する信号変換回路313が設けられている。VDP312から信号変換回路313へは、映像データ、水平同期信号HSYNC及び垂直同期信号VSYNCが入力されるようになっており、VDP312で生成された映像は、信号変換回路313を介して表示装置41に表示される。
音源LSI314には音声データが記憶された音声ROM327が接続されている。主制御用マイコン311と音源LSI314は、アドレス/データバス340を介して接続されている。また、音源LSI314から主制御用マイコン311へは割込み信号INTが入力されるようになっている。演出制御装置に300には、ガラス枠15に設けられた上スピーカ19a及び前面枠12に設けられた下スピーカ19bを駆動するオーディオパワーアンプなどからなるアンプ回路337が設けられており、音源LSI314で生成された音声はアンプ回路337を介して上スピーカ19a及び下スピーカ19bから出力される。
また、演出制御装置300には、遊技制御装置100から送信されるコマンドを受信するインタフェースチップ(コマンドI/F)331が設けられている。コマンドI/F331を介して、遊技制御装置100から演出制御装置300に送信された飾り特図保留数コマンド、飾り特図コマンド、変動コマンド、停止情報コマンド等を、演出制御指令信号(演出コマンド)として受信する。遊技制御装置100の遊技用マイコン111はDC5Vで動作し、演出制御装置300の主制御用マイコン311はDC3.3Vで動作するため、コマンドI/F331には信号のレベル変換の機能が設けられている。
また、演出制御装置300には、遊技盤30(センターケース40を含む)に設けられているLED(発光ダイオード)を有する盤装飾装置46を駆動制御する盤装飾LED制御回路332、ガラス枠15に設けられているLED(発光ダイオード)を有する枠装飾装置(例えば枠装飾装置18等)を駆動制御する枠装飾LED制御回路333、遊技盤30(センターケース40を含む)に設けられている盤演出装置44(例えば表示装置41における演出表示と協働して演出効果を高める可動役物等)を駆動制御する盤演出可動体制御回路334が設けられている。なお、盤装飾装置46には、前述のランプ表示装置80が含まれてよい。
ランプやモータ及びソレノイドなどを駆動制御するこれらの制御回路332~334は、アドレス/データバス340を介して主制御用マイコン311と接続されている。なお、ガラス枠15に設けられているモータ等(トップユニットを動かすモータ等)の枠演出装置(例えばトップユニット)を駆動制御する枠演出可動体制御回路を備えていてもよい。
さらに、演出制御装置300には、ガラス枠15に設けられた演出ボタン25に内蔵されている演出ボタンスイッチ25a、演出ボタン25の表面に設けられているタッチパネル25b、十字キースイッチ450、音量調整用ボタンスイッチ451a,451b、盤演出装置44内のモータの初期位置等を検出する演出役物スイッチ47(演出モータスイッチ)のオン/オフ状態を検出して主制御用マイコン311に検出信号を入力する機能を有し、演出制御装置300に設けられた音量調節スイッチ335の状態を検出して主制御用マイコン311に検出信号を入力するスイッチ入力回路336が設けられている。
電源装置400の通常電源部410は、前述のような構成を有する演出制御装置300やそれによって制御される電子部品に対して所望のレベルの直流電圧を供給するため、モータやソレノイドを駆動するためのDC32V、液晶パネルからなる表示装置41、モータやLEDを駆動するためのDC12V、コマンドI/F331の電源電圧となるDC5Vの他に、モータやLED、スピーカを駆動するためのDC15Vの電圧を生成するように構成されている。
さらに、主制御用マイコン311として、3.3Vあるいは1.2Vのような低電圧で動作するLSIを使用する場合には、DC5Vに基づいてDC3.3VやDC1.2Vを生成するためのDC-DCコンバータが演出制御装置300に設けられる。なお、DC-DCコンバータは通常電源部410に設けるようにしてもよい。
電源装置400の制御信号生成部430により生成されたリセット信号は、主制御用マイコン311に供給され、当該デバイスをリセット状態にする。また、主制御用マイコン311から出力される形で、VDP312(VDPRESET信号)、音源LSI314、スピーカを駆動するアンプ回路337(SNDRESET信号)、ランプやモータなどを駆動制御する制御回路332~334(IORESET信号)に供給され、これらをリセット状態にする。また、演出制御装置300には遊技機10の各所を冷却する冷却FAN45が接続され、演出制御装置300の電源が投入された状態では冷却FAN45が駆動するようにされている。
次に、これらの制御回路において行われる遊技制御について説明する。遊技制御装置100の遊技用マイコン111のCPU111aは、普図始動ゲート34に備えられたゲートスイッチ34aからの遊技球の検出信号の入力に基づき、普図の当り判定用乱数値を抽出してROM111bに記憶されている判定値と比較し、普図変動表示ゲームの当り外れを判定する。
そして、普図表示器53に、識別図柄を所定時間変動表示した後、停止表示する普図変動表示ゲームを表示する。普図変動表示ゲームの結果が当りの場合は、普図表示器53に特別の結果態様を表示するとともに、普電ソレノイド37cを動作させ、普通変動入賞装置37の可動部材37bを所定時間(例えば、3秒間×2回)前述のように開放する制御を行う。すなわち、遊技制御装置100が、変換部材(可動部材37b)の変換制御を行う変換制御実行手段をなす。なお、普図変動表示ゲームの結果がはずれの場合は、普図表示器53にはずれの結果態様を表示する制御を行う。
また、始動入賞口36に備えられた始動口1スイッチ36aからの遊技球の検出信号の入力に基づき始動入賞(始動記憶)を記憶し、始動記憶に基づき、特図1変動表示ゲームの大当り判定用乱数値を抽出してROM111bに記憶されている判定値と比較し、特図1変動表示ゲームの当り外れを判定する。
また、普通変動入賞装置37に備えられた始動口2スイッチ37aからの遊技球の検出信号の入力に基づき始動記憶を記憶し、始動記憶に基づき、特図2変動表示ゲームの大当り判定用乱数値を抽出してROM111bに記憶されている判定値と比較し、特図2変動表示ゲームの当り外れを判定する。
そして、遊技制御装置100のCPU111aは、特図1変動表示ゲームや特図2変動表示ゲームの判定結果を含む制御信号(演出制御コマンド)を、演出制御装置300に出力する。そして、特図1表示器51や特図2表示器52に、識別図柄を所定時間変動表示した後、停止表示する特図変動表示ゲームを表示する。すなわち、遊技制御装置100が、遊技領域32を流下する遊技球の始動入賞領域(第1始動入賞口36、普通変動入賞装置37)への入賞に基づき変動表示ゲームの進行制御を行う遊技制御手段をなす。
また、演出制御装置300は、遊技制御装置100からの制御信号に基づき、表示装置41で特図変動表示ゲームに対応した飾り特図変動表示ゲームを表示する。さらに、演出制御装置300は、遊技制御装置100からの制御信号に基づき、演出状態の設定や、スピーカ19a,19bからの音の出力、各種LEDの発光を制御する処理等を行う。すなわち、演出制御装置300が、遊技(変動表示ゲーム等)に関する演出を制御する演出制御手段をなす。
そして、遊技制御装置100のCPU111aは、特図変動表示ゲームの結果が当りの場合は、特図1表示器51や特図2表示器52に特別結果態様を表示するとともに、特別遊技状態を発生させる。特別遊技状態を発生させる処理においては、CPU111aは、例えば、大入賞口ソレノイド39bにより特別変動入賞装置39の開閉扉39cを開放させ、大入賞口内への遊技球の流入を可能とする制御を行う。
そして、大入賞口に所定個数(例えば、10個)の遊技球が入賞するか、大入賞口の開放から所定の開放可能時間(例えば、27秒又は0.05秒)が経過するかのいずれかの条件が達成されるまで大入賞口を開放することを1ラウンド(R)とし、これを所定ラウンド回数(例えば、15回、11回又は2回)継続する(繰り返す)制御(サイクル遊技)を行う。すなわち、遊技制御装置100が、停止結果態様が特別結果態様となった場合に、大入賞口を開閉する制御を行う大入賞口開閉制御手段をなす。また、特図変動表示ゲームの結果がはずれの場合は、特図1表示器51や特図2表示器52にはずれの結果態様を表示する制御を行う。
また、遊技制御装置100は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として高確率状態を発生可能である。高確率状態(確変状態)は、特図変動表示ゲームにて当り結果となる確率が、通常確率状態と比較して高い状態である。また、特図1変動表示ゲーム及び特図2変動表示ゲームのどちらの特図変動表示ゲームの結果態様に基づき高確率状態となっても、特図1変動表示ゲーム及び特図2変動表示ゲームの両方が高確率状態となる。
また、遊技制御装置100は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として時短状態(特定遊技状態)を発生可能である。時短状態においては、普図変動表示ゲーム及び普通変動入賞装置37を時短動作状態とする制御を行ってよく、特別な遊技を行わない通常遊技状態よりも、単位時間当りの普通変動入賞装置37の開放時間が実質的に多くなるように制御するため、普電サポート状態となる。なお、潜伏確変状態を除く高確率状態(通常の確変状態)でも、重複して時短状態にして普電サポートを実行する。
なお、時短状態においては、特図変動表示ゲームの実行時間(特図変動時間)も通常より短縮され得るようにし、特図変動表示ゲームの時間短縮変動も実行可能である。
また、時短状態においては、普図変動表示ゲームの1回の当り結果に対して、普通変動入賞装置37の開放回数(普電開放回数)を第1開放回数(例えば2回)よりも多い回数(例えば、4回)の第2開放回数に設定することが可能である。また、時短状態においては、普図変動表示ゲームの当り結果となる確率(普図確率、普図当り確率)を通常動作状態である場合の通常確率(低確率)よりも高い高確率とすることが可能である。
時短状態においては、普図変動時間、普図停止時間、普電開放回数、普電開放時間、普図確率のいずれか一つ又は複数を変化させることで普通変動入賞装置37を開状態に状態変換する時間を通常よりも延長するようにする。これにより、時短状態では、特別な遊技を行わない通常遊技状態よりも普通変動入賞装置37への入賞が容易化して、単位時間当たりの特図変動表示ゲームの実行回数が当該通常遊技状態よりも増加可能である。また、変化させるものが異なる複数種類の時短状態を設定することも可能である。また、通常動作状態において可動部材37bを開放しないように設定(普図確率が0)してもよい。また、当りとなった場合に第1開放態様と第2開放態様のいずれかを選択するようにしてもよい。この場合、第1開放態様と第2開放態様の選択確率を異ならせてもよい。また、高確率状態と時短状態は、それぞれ独立して発生可能であり、両方を同時に発生することも可能であるし一方のみを発生させることも可能である。
〔電源投入時の移行状態〕
前述のように、電源投入時のRAM初期化スイッチ112及び設定キースイッチ93のオンオフ状態によって、4つの状態(モード)へ移行する。
電源投入時に、RAM初期化スイッチ112と設定キースイッチ93とがオンにされている場合には、確率設定値(設定値)を変更可能(設定可能)な設定可変状態(設定変更状態、設定可能状態、設定変更モード)に移行する(図5BのA1030-A1039と図15参照)。
次に、電源投入時に、設定キースイッチ93がオンにされているがRAM初期化スイッチ112がオフの場合には、確率設定値を確認可能な設定確認状態(設定確認モード)に移行する(図5BのA1034-A1039と図15参照)。
また、電源投入時に、設定キースイッチ93がオフであるがRAM初期化スイッチ112がオンにされている場合には、RAM初期化状態(RAMクリアモード)に移行し、RAM初期化処理(RAMクリア処理)が実行されて、RAM111cが初期化される(図5BのA1045-A1047参照)。
電源投入時に、設定キースイッチ93とRAM初期化スイッチ112とがオフである場合には、通常復電状態(通常復電モード)に移行し、単に復電されるだけの状態になる。
[遊技制御装置の制御]
以下、このような遊技を行う遊技機の制御について説明する。まず、上記遊技制御装置100の遊技用マイクロコンピュータ(遊技用マイコン)111によって実行される制御について説明する。遊技用マイコン111による制御処理は、主に図5A、図5B、図5Cに示すメイン処理と、所定時間周期(例えば4msec)で行われる図9に示すタイマ割込み処理とからなる。
〔メイン処理(遊技制御装置)〕
まず、メイン処理について説明する。図5A、図5B、図5Cは、遊技制御装置100によるメイン処理の手順を示すフローチャートである。メイン処理は、電源が投入されることで開始される。なお、遊技制御装置100が実行する処理のフローチャートにおいて、ステップの符号(番号)は「A****」と表されている。
図5Aに示すように、遊技制御装置100は、メイン処理を開始すると、まず、割込みを禁止する処理を実行する(A1001)。さらに、割込み発生時にレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理を実行する(A1002)。
続いて、使用するレジスタバンクとしてレジスタバンク0を指定し(A1003)、所定のレジスタにRAM先頭アドレスの上位アドレスをセットする(A1004)。例えば、RAMのアドレスが0000h~01FFhの範囲である場合に、上位アドレスとして00hをセットする。
次に、遊技制御装置100は、発射禁止の信号を出力して発射許可信号を禁止状態に設定する(A1005)。発射許可信号は遊技制御装置100と払出制御装置200の少なくとも一方が発射禁止の信号を出力している場合に禁止状態に設定され、球発射装置からの遊技球の発射が禁止されるようになっている。その後、遊技制御装置100は、設定キースイッチ93とRAM初期化スイッチ112の状態を読み込む(A1006)。即ち、設定キースイッチ93とRAM初期化スイッチ112からの信号を読み込む。
さらに、遊技制御装置100は、電源ディレイタイマを設定する(A1007)。電源ディレイタイマに所定の初期値を設定することにより、主制御手段をなす遊技制御装置100からの指示に従い種々の制御を行う従制御手段(例えば、払出制御装置200や演出制御装置300)のプログラムが正常に起動するまで待機するための待機時間(例えば3秒)が設定される。これにより、電源投入の際に仮に遊技制御装置100が先に立ち上がって従制御装置(例えば払出制御装置200や演出制御装置300)が立ち上がる前にコマンドを従制御装置に送ってしまい、従制御装置がコマンドを取りこぼすことを回避することができる。すなわち、遊技制御装置100が、電源投入時において、主制御手段(遊技制御装置100)の起動を遅らせて従制御装置(払出制御装置200、演出制御装置300等)の起動を待つための所定の待機時間を設定する待機手段をなす。
また、電源ディレイタイマの計時は、RAMの正当性判定(チェックサム算出)の対象とならない記憶領域(正当性判定対象外のRAM領域又はレジスタ等)を用いて行われる。これにより、RAM領域のチェックサム等のチェックデータを算出する際に、一部のRAM領域を除外して算出する必要がないため電源投入時の制御が複雑になることを防止することができる。
なお、待機時間の開始前に設定キースイッチ93とRAM初期化スイッチ112の状態を読み込むことで、設定キースイッチ93とRAM初期化スイッチ112の操作を確実に検出できる。すなわち、待機時間の経過後に設定キースイッチ93とRAM初期化スイッチ112の状態を読み込むようにすると、待機時間の経過を待ってから設定キースイッチ93とRAM初期化スイッチ112を操作したり、電源投入から待機時間の経過まで設定キースイッチ93とRAM初期化スイッチ112を操作し続けたりする必要がある。しかし、待機時間の開始前に状態を読み込むことで、このような煩わしい操作を行わなくても、電源投入時に行った設定キースイッチ93とRAM初期化スイッチ112の操作が受け付けられないような事態を防止できる。
電源ディレイタイマを設定すると(A1007)、遊技制御装置100は、待機時間の計時と、待機時間中における停電の発生を監視する処理とを実行する(A1008からA1010)。
停電監視処理が開始されると、遊技制御装置100は、まず、電源装置400から入力されている停電監視信号をポート及びデータバスを介して読み込むなどして、停電が発生しているか否か判定する(A1008)。停電が発生している場合に(A1008の結果が「Y」)、遊技機の電源が遮断されるまで待機する。
遊技制御装置100は、停電が発生していない場合には(A1008の結果が「N」)、電源投入ディレイタイマを-1更新し(A1009)、タイマの値が0であるか否かを判定する(A1010)。タイマの値が0でない場合(A1010の結果が「N」)、すなわち、待機時間が終了していない場合には、ステップA1008の処理に戻る。
すなわち、遊技制御装置100が、所定の待機時間において停電の発生を監視する停電監視手段をなす。これにより、主制御手段をなす遊技制御装置100の起動を遅らせている期間において発生した停電に対応することが可能となり、電源投入時における不具合に適切に対処することができる。なお、待機時間の終了まではRAMへのアクセスが許可されておらず、前回の電源遮断時の記憶内容が保持されたままとなっているため、ここでの停電発生時にはバックアップの処理等は行う必要がない。したがって、待機時間中に停電が発生してもRAMのバックアップを取る必要がなく、制御の負担を軽減することができる。
一方、遊技制御装置100は、タイマの値が0である場合(A1010の結果が「Y」)、すなわち、待機時間が終了した場合には、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)のアクセスを許可し(A1011)、全出力ポートにオフデータを出力(出力が無い状態に設定)する(A1012)。
次に、遊技制御装置100は、シリアルポート(遊技用マイコン111に予め搭載されているポートで、本実施形態では、演出制御装置300や払出制御装置200との通信に使用)を設定する(A1013)。
次に、遊技制御装置100は、遊技用マイコン111(クロックジェネレータ)内のタイマ割込み信号及び乱数更新トリガ信号(CTC)を発生するCTC(Counter/Timer Circuit)回路を起動する(A1014)。なお、CTC回路は、遊技用マイコン111内のクロックジェネレータに設けられている。クロックジェネレータは、発振回路113からの発振信号(原クロック信号)を分周する分周回路と、分周された信号に基づいてCPU111aに対して所定周期(例えば、4ミリ秒)のタイマ割込み信号及び乱数生成回路に供給する乱数更新のトリガを与える信号CTCを発生するCTC回路とを備えている。
続いて、遊技制御装置100は、RAM(ここではRAM111c)の異常を示すRAM異常フラグをセットする(A1015)。ここでは、一旦、異常前提のフラグを所定のレジスタにセットしておく。
次に、遊技制御装置100は、RWM内の停電検査領域1の値が正常な停電検査領域チェックデータであるか否かを判定する(A1016)。そして、正常であれば(A1016の結果が「Y」)、RWM内の停電検査領域2の値が正常な停電検査領域チェックデータであるか否かを判定する(A1017)。
さらに、遊技制御装置100は、停電検査領域2の値が正常であれば(A1017の結果が「Y」)、RWM内の所定領域(例えば領域内ワーク領域)のチェックサムを算出するチェックサム算出処理を実行し(A1018)、算出されたチェックサムと電源断時のチェックサムが一致するか否かを判定する(A1019)。チェックサムが一致する場合には(A1019の結果が「Y」)、RAMは正常であり、RAMの異常を示すRAM異常フラグをクリアする(A1020)。その後、ステップA1021の処理に移行する。
また、遊技制御装置100は、停電検査領域のチェックデータが正常なデータでないと判定された場合(A1016の結果が「N」、又は、A1017の結果が「N」)、チェックサムが一致しない場合には(A1019の結果が「N」)、RAM異常フラグをクリアすることなく、ステップA1021の処理に移行する。
次に、遊技制御装置100は、設定キースイッチ93及びRAM初期化スイッチ112の両スイッチがオンであるか否かを判定する(A1021)。遊技制御装置100は、両スイッチがオンである場合に(A1021の結果が「Y」)、設定可変状態(設定変更モード)に移行し、ステップA1030-A1040の確率設定変更中の処理を実行する。
遊技制御装置100は、設定キースイッチ93及びRAM初期化スイッチ112の少なくとも一方がオフである場合に(A1021の結果が「N」)、RAM(ここではRAM111c)の異常を示すRAM異常フラグがセットされているか否か判定する(A1022)。RAM異常フラグがセットされていない場合に(A1022の結果が「N」)、確率設定変更中フラグがセットされているか否かを判定する(A1023)。確率設定変更中フラグがセットされていない場合に(A1023の結果が「N」)、ステップA1034-A1040の確率設定確認中(設定確認状態中、設定確認モード中)の処理、ステップA1044-A1047のRAM初期化処理(RAMクリア処理)、又は、ステップA1044、A1048-A1051の通常の電源投入時(電源復旧時)の処理を実行する。
遊技制御装置100は、確率設定変更中フラグがセットされている場合に(A1023の結果が「Y」)、遊技制御装置100(主基板、メイン基板)に異常があったことを報知するメイン異常エラー報知のコマンドを演出制御装置300に送信する(A1024)。メイン異常エラー報知のコマンドを受信した演出制御装置300は、遊技制御装置100の異常があったことを報知する。
続いて、遊技制御装置100は、遊技停止時の7セグ表示データ(「E1」のエラー表示のデータ)を性能表示装置152で表示するために性能表示装置152のドライバ150a、150bに出力する(A1025)。そして、外部装置(遊技場内部管理装置(ホールコンピュータ)や情報収集端末など)に異常を知らせるためのセキュリティ信号のオンデータを外部情報端子71に出力する(A1026)。なお、ここで、大当りに関する情報がRAM111cに残っている場合でも、大当り信号など外部情報端子71への他の信号はオフ状態に維持される。その後、ステップA1025とA1026の処理を繰り返して待機し、再度、設定変更の操作(設定キースイッチ93及びRAM初期化スイッチ112の両方のオン操作)をして電源が投入されるのを待つ。なお、ステップA1025とA1026の処理を繰り返して待機して待機している間、割込みは禁止されたままであり(A1001)、特図1、2ゲーム処理や普図ゲーム処理を実行可能なタイマ割込み処理(図9)が実行できないため、遊技(特図変動表示ゲーム、普図変動表示ゲーム、ラウンド遊技等)は実行できない。
このように、設定変更の操作(設定キースイッチ93及びRAM初期化スイッチ112の両方のオン操作)を実行していないのに、確率設定変更中フラグがセットされている場合に異常があったとして、A1024-A1026の処理を実行する。例えば、確率設定変更中(設定変更が完了する前)に電源がオフして再起動した場合などに、設定変更の操作を実行していないのに、確率設定変更中フラグがセットされることがある。
一方、遊技制御装置100は、RAM異常フラグがセットされている場合も(A1022の結果が「Y」)、遊技制御装置100(メイン基板)に異常があったことを報知するメイン異常エラー報知のコマンドを演出制御装置300に送信し(A1024)、遊技停止時の7セグ表示データ(「E1」のエラー表示のデータ)を性能表示装置152のドライバ150a、150bに出力し(A1025)、外部装置にRAM異常を知らせるために、セキュリティ信号のオンデータを外部情報端子71に出力する(A1026)。なお、前述と同様に、大当りに関する情報がRAM111cに残っている場合でも、大当り信号など外部情報端子71への他の信号はオフ状態に維持される。
その後、停電が発生しているか否かを判定し(A1027)、停電が発生していない場合に(A1027の結果が「N」)、ステップA1025とA1026の処理を繰り返して待機する。一方、停電が発生していると判定した際に(A1027の結果が「Y」)、全出力ポートにオフデータを出力し(A1028)、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)のアクセスを禁止する(A1029)。その後、遊技機の電源が遮断されるまで待機する。
遊技制御装置100は、設定キースイッチ93及びRAM初期化スイッチ112の両スイッチがオンである場合に(A1021の結果が「Y」)、確率設定変更中(設定可変状態中)の処理を開始して、まず、RAM異常フラグがセットされているか否かを判定する(A1030)。RAM異常フラグがセットされている場合に(A1030の結果が「Y」)、確率設定値が正しいものであるか不明であるため、RAM111cの確率設定値領域に記憶されている確率設定値をクリアし初期値(例えば最低設定値「1」)にしてから(A1031)、確率設定変更中であることを示す確率設定変更中フラグをセットする(A1032)。RAM異常フラグがセットされていない場合に(A1030の結果が「N」)、確率設定値をクリアせずに、確率設定変更中フラグをセットする(A1032)。次に、確率設定変更中のコマンドを演出制御装置300(演出制御基板)に送信し(A1033)、ステップA1037の処理に移行する。なお、確率設定変更中のコマンドを受信した演出制御装置300は、確率設定変更中であることを表示装置41などにおいて報知する。
遊技制御装置100は、設定キースイッチ93及びRAM初期化スイッチ112の少なくとも一方がオフであり(A1021の結果が「N」)、RAM異常フラグがセットされておらず(A1022の結果が「N」)、且つ、確率設定変更中フラグがセットされていない場合に(A1023の結果が「N」)、設定キースイッチ93がオンであるか否かを判定する(A1034)。設定キースイッチ93がオンである場合に(A1034の結果が「Y」)、RAM初期化スイッチ112はオフということになり、確率設定確認中(設定確認状態中)の処理が開始して、確率設定確認中であることを示す確率設定確認中フラグをセットする(A1035)。そして、確率設定確認中のコマンドを演出制御装置300(演出制御基板)に送信し(A1036)、ステップA1037の処理に移行する。なお、確率設定変更中のコマンドを受信した演出制御装置300は、確率設定確認中であることを表示装置41などにおいて報知する。
ステップA1033又はステップA1036の後に、遊技制御装置100は、確率設定変更中と確率設定確認中の共通の処理として、ステップA1037からA1043の処理を実行する。
遊技制御装置100は、まず、確率設定変更中と確率設定確認中においてセキュリティ信号を出力するために、セキュリティ信号制御タイマ領域に128ms(所定時間)をセーブする(A1037)。なお、セキュリティ信号制御タイマのカウントとセキュリティ信号の出力は、後述の確率設定変更/確認処理(図15)において実行されるが、確率設定変更又は確率設定確認が早期に終了した場合には、残りのセキュリティ信号制御タイマのカウントとセキュリティ信号の出力は、外部情報編集処理(A1319)で実行される。確率設定変更中と確率設定確認中において、少なくとも50msは、セキュリティ信号は出力される。
次に、遊技制御装置100は、割込みを許可する(A1038)。これにより、タイマ割込み処理(図9)が実行可能となる。そして、設定キースイッチ93がオフであるか否かを判定する(A1039)。設定キースイッチ93がオンである場合に(A1039の結果が「N」)、停電が発生しているか否かを判定する(A1040)。停電が発生していない場合に(A1040の結果が「N」)、ステップA1039の処理に戻る。一方、停電が発生している場合に(A1040の結果が「Y」)、ステップA1063-A1069の停電発生時の処理を実行する。
このように、設定キースイッチ93がオンであり、停電が発生していない限り、確率設定値を変更可能な設定可変状態(設定変更状態、設定変更モード)、又は、確率設定値を確認可能な設定確認状態(設定確認モード)が継続される。
一方、遊技制御装置100は、設定キースイッチ93がオフである場合に(A1039の結果が「Y」)、割込みを禁止し(A1041)、報知終了のコマンドを演出制御装置300(演出制御基板)に送信する(A1042)。なお、報知終了のコマンドを受信した演出制御装置300は、確率設定確認中であることの報知又は確率設定変更中であることの報知を終了する。
次に、遊技制御装置100は、確率設定変更中フラグがセットされているか否か、即ち、これまで確率設定変更中であったか否かを判定する(A1043)。確率設定変更中フラグがセットされている場合に(A1043の結果が「Y」)、即ち、これまで確率設定変更中であった場合に、ステップA1045-A1047のRAM初期化処理(後述)を実行する。一方、確率設定変更中フラグがセットされていない場合に(A1043の結果が「N」)、即ち、これまで確率設定確認中であった場合に、ステップA1048以降の電源投入時(電源復旧時)の通常の処理を実行する。
遊技制御装置100は、設定キースイッチ93がオフである場合に(A1034の結果が「N」)、RAM初期化スイッチ112がオンであるか否かを判定する(A1044)。RAM初期化スイッチ112がオンである場合に(A1044の結果が「Y」)、RAM111cにおいて、確率設定値を記憶するための確率設定値領域以外のRAM領域を0クリアする(A1045)。即ち、確率設定値領域で記憶されている確率設定値を除いて、RAM111cに記憶された遊技情報は0クリアされる。ここで、前述の確率設定変更中フラグもここでクリアされる。また、所定時間周期内(ここではタイマ割込みの1割込み内)において獲得した賞球の数(合計)である獲得遊技球数を格納する獲得遊技球数領域も0クリアされる。そして、安全装置(前述)が作動中であるか否かを示す安全装置作動中フラグを格納する安全装置作動中フラグ領域も0クリアされ(安全装置作動中フラグ=0)、安全装置の作動が解除される。なお、ステップA1045において、設定変更を伴うRAMクリア(A1043の結果が「Y」の場合)と、設定変更を伴わないRAMクリア(A1044の結果が「Y」の場合)の何れの場合でも、安全装置作動中フラグ領域を0クリアすることによって安全装置の作動が解除されるが、安全装置の作動が解除されるのは片方の場合に限定してもよい。即ち、ステップA1045のRAMクリア時に、安全装置作動中フラグ領域を0クリアしない場合があってよい。
また、ここでは、確率設定値領域の他に、スタック領域や未使用領域をクリアしない構成や、性能情報やその表示(性能表示)に関連する性能表示用ワーク領域(領域外ワーク領域の一部)とスタック領域(領域外スタック領域)をクリアしなくてよい。なお、性能情報は、入賞により得られた賞球数に基づいて導出されるもので、例えば、出玉率、ベース値(通常遊技状態における出玉率)、役物比率、排出球数などである。
次に、遊技制御装置100は、初期化すべき領域にRAM初期化時の初期値をセーブする(A1046)。そして、RAM初期化時のコマンドを演出制御装置300(演出制御基板)に送信し(A1047)、ステップA1052の処理に移行する。なお、ステップA1045で0クリアされない領域は、初期化すべき領域から除かれる。
一方、遊技制御装置100は、RAM初期化スイッチ112がオフである場合に(A1044の結果が「N」)、設定キースイッチ93とRAM初期化スイッチ112が両方ともオフであるため、通常の電源投入時(停電からの電源復旧時)の処理を開始し、停電復旧処理として初期化すべき領域に停電復旧時(復電時)の初期値をセーブする(A1048)。ここでの初期化すべき領域は、領域内ワーク領域(図6)の停電検査領域1、停電検査領域2、チェックサム領域を含む。その他、通常の電源投入時にエラーは全て再監視になるため、初期化すべき領域は、領域内ワーク領域と領域外ワーク領域(図6)のいずれでもエラー又はエラー監視に関する領域(エラーに関する試験信号出力データの領域など)を含む。また、前述の確率設定確認中フラグもここでクリア(初期化)される。ステップA1048で初期化すべき領域は、必要に応じて追加してよい。なお、RAM初期化時とは異なり、通常の電源投入時には、領域内ワーク領域(図6)の安全装置作動中フラグ領域は、安全装置の作動が解除されないように、クリア(初期化)されず値が維持される。
また、領域外ワーク領域の安全装置に関する安全装置関連ワーク領域(後述の安全装置カウンタ領域、安全装置作動情報領域、旧作動情報領域)は、ステップA1048では初期化されないが、後述の安全装置情報初期化処理(A1053)で初期化される。なお、安全装置カウンタ領域の安全装置カウンタ値(差玉数に関する情報)が初期化されることによって、差玉数に関して安全装置の作動(遊技停止状態の発生)までの余地(差玉数の許容範囲、差玉数の限度)を大きくできる。領域外ワーク領域の性能表示用ワーク領域もステップA1048では初期化されないが、後述のように性能表示編集処理(A1059)で初期化されることがある。
また、RAM初期化のない通常の電源投入時(停電からの電源復旧時)のステップA1048において、電源投入後又は大当り終了後に確変状態以外の状態で特図変動表示ゲームが実行された実行回数を示す天井カウンタ値が格納される天井カウンタ領域(後述)も、遊技者に不利益にならないようにクリア(初期化)されず値が維持されてよい。後述のように天井カウンタ値が天井回数になると時短状態になるが(図36B)、天井カウンタ値がクリア(初期化)されないことによって、時短状態の発生までの(天井回数までの)残りのゲーム回数は電源投入によって変わらず、遊技者は不利益を受けない。
なお、この実行回数(即ち天井カウンタ値)又は天井までの残りのゲーム回数(天井回数-実行回数)が、後述の変動回数表示677(図92、図100等参照)によって表示装置41に表示される場合、演出制御装置300は、通常の電源投入時に、変動回数表示677と天井カウンタ領域の天井カウンタ値の整合を取ってよいし、整合を取らずに変動回数表示677を初期値0にして表示してよい。なお、整合を取らない場合には、変動回数表示677は、天井カウンタ値を反映しない値を表示することになる。
同様に、ステップA1048において、遊技場側(遊技店側)の不利益にならないように、時短状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の残りの実行回数に対応する時間短縮変動回数1(後述)が格納される時間短縮変動回数1領域と、時短状態における特図2変動表示ゲームの残りの実行回数に対応する時間短縮変動回数2(後述)が格納される時間短縮変動回数2領域もクリア(初期化)されず値が維持されてよい。また、回数切りタイプ(ST)の確変状態が存在する機種では、遊技場側の不利益にならないように、確変状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の残りの実行回数に対応する高確率変動回数が格納される高確率変動回数領域(STカウンタ)もクリア(初期化)されず値が維持されてよい。また、連続して発生する大当りの回数(後述の連チャンの回数でもよい)に制限(リミット)が設けられる機種では、遊技場側の不利益にならないように、連続して発生した大当りの回数が格納される大当り回数領域もクリア(初期化)されず値が維持されてよい。
次に、後述の特図ゲーム処理等を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御装置300(演出制御基板)に送信し(A1049)、ステップA1050の処理に移行する。
なお、ステップA1047の処理で送信されるRAM初期化時のコマンド及びステップA1049の処理で送信される停電復旧時のコマンドには、遊技機の種類を示す機種指定コマンド、特図1、2の保留数を示す飾り特図1保留数コマンド及び飾り特図2保留数コマンド、確率の状態(高確率状態又は低確率状態)や時短状態の有無を示す確率情報コマンド、所定の演出モードで特図変動表示ゲームが実行された回数を示す演出回数情報コマンド、電源投入されたこと示す停電復旧コマンドが含まれる。
さらに、RAM初期化時のコマンド及び停電復旧時のコマンドには、遊技機10の確率設定値(設定値)の情報である設定値情報(設定情報)を示す設定値情報コマンド(確率設定値情報コマンド)が含まれる。遊技制御装置100は、電源の復旧(投入)時に、一度だけ設定値情報コマンドを演出制御装置300に送信するだけでよく、以降、演出制御装置300は自身が記憶した設定値情報を参照して演出制御を行える。
なお、RAM初期化時のコマンドには、RAM初期化のコマンド(RAMクリアのコマンド)も含まれる。RAM初期化のコマンドを受信した演出制御装置300は、例えば、表示装置41に客待ちデモを表示し、盤装飾装置46等のLEDとスピーカの音でRAM初期化(RAMクリア)の報知を30秒間行う。また、停電復旧時のコマンドには、表示装置41の画面の表示内容を指定する画面指定のコマンドが含まれる。なお、画面指定のコマンドは、特図1、2について共に普段処理中では(変動中でも当り中でもないとき)、客待ちデモコマンドであり、それ以外なら復旧画面コマンドでよい。また、停電復旧時のコマンドには、前述のように変動回数表示677と天井カウンタ値の整合を取るために、天井カウンタ値を示すコマンドが含まれてよい。
次に、安全装置が作動中であるか否か判定する(A1050)。例えば、安全装置作動中フラグとして、安全装置が作動中であることを示す「1」が、安全装置作動中フラグ領域にセーブされている場合に安全装置が作動中であると判定できる(安全装置作動中フラグ=1)。そして、安全装置が作動中である場合に(A1050の結果が「Y」)、安全装置が作動中であることを示す安全装置作動中のコマンドを演出制御装置300(演出制御基板)に送信し(A1051)、ステップA1052の処理に移行する。安全装置が作動中でない場合に(A1050の結果が「N」)、そのままステップA1052の処理に移行する。
そして、フラグレジスタの情報(値)を領域内スタック領域に退避(PUSH)し(A1052)、安全装置に関連する安全装置情報(後述の安全装置カウンタ値、安全装置作動情報、旧作動情報など)を初期化する安全装置情報初期化処理を実行する(A1053)。その後、フラグレジスタの情報を復帰(POP)する(A1054)。なお、RAM異常による遊技停止時(A1025-A1026)を除いて、電源投入すると無条件に安全装置情報(安全装置カウンタ値など)を初期化(クリア)するようにしたが、カウント継続スイッチを設けて、カウント継続スイッチを押しながら電源投入すると安全装置情報を初期化(クリア)しなくてよい。
なお、後述のように、安全装置情報初期化処理に移行する際に、スタックポインタを遊技制御に関連する領域内スタック領域から安全装置情報や性能情報や性能表示(性能情報の表示)に関連する領域外スタック領域に切り替える。その際、遊技制御用のスタックポインタをRAM111cのスタックポインタ保存領域に保存する時にフラグレジスタのフラグ(特にゼロフラグ)が変化する可能性があるため、ステップA1052において事前にフラグレジスタの情報を退避しておく。フラグレジスタは、8ビットの各ビットが0又は1の値をとるフラグになっている。なお、フラグレジスタについては、特開2013-233299号公報や特開2018-94101号公報等に開示されたものが使用できる。
次に、遊技制御装置100は、乱数生成回路を起動設定する(A1055)。具体的には、乱数生成回路内の所定のレジスタ(CTC更新許可レジスタ)に乱数生成回路を起動させるためのコード(指定値)の設定などがCPU111aによって行われる。また、乱数生成回路のハードウェアで生成されるハード乱数のビット転置パターンの設定も行われる。なお、本実施形態において、乱数生成回路は、ハードウェアのみで更新される乱数として、大当り乱数、当り図柄乱数(大当り図柄乱数、小当り図柄乱数、サポ当り図柄乱数等)、普図の当り乱数、及び、変動パターン乱数1~3を生成する。これら乱数は、動作クロックと同等以上の速度のクロックを基にして更新される所謂「高速カウンタ」でよい。
ビット転置パターンとは、抽出した乱数のビット配置(上段のビット転置前の配置)を、予め定められた順で入れ替えて異なるビット配置(下段のビット転置後の配置)として格納する際の入れ替え方を定めるパターンである。
本実施形態では、ビット転置パターンに従い乱数のビットを入れ替えることで、乱数の規則性を崩すことができるとともに、乱数の秘匿性を高めることができる。なお、ビット転置パターンは、固定された単一のパターンであってもよいし、予め用意された複数のパターンから選択するようにしてもよい。また、ユーザーが任意に設定できるようにしてもよい。
次に、遊技制御装置100は、割込みを禁止し(A1056)、遊技停止中であるか否かを判定する(A1057)。安全装置が作動した場合(安全装置作動中フラグ=1の場合)や、遊技(特図変動表示ゲームや普図変動表示ゲームやラウンド遊技等)を停止する必要のある強エラー2(後述)が発生している場合に、遊技停止中であると判定できる。
遊技制御装置100は、遊技停止中でない場合に(A1057の結果が「N」)、フラグレジスタの情報(値)を領域内スタック領域に退避(PUSH)して(A1058)、ベース値(出玉率)などの性能情報を計算する性能表示編集処理を実行する(A1059)。ここで、性能情報(役物比率や出玉率など)を計算してよい。また、性能情報やその表示(性能表示)に関連する性能表示用ワーク領域(領域外ワーク領域の一部)に異常がある場合に、これをクリアしてもよい。その後、フラグレジスタの情報を復帰(POP)して(A1060)、割込みを許可する(A1061)。エラーが全く発生していない場合の他に、強エラー2以外のエラーである弱エラー(後述)又は強エラー1(後述)が発生している場合も、遊技停止中でなく、性能表示編集処理等を含めてステップA1058-A1060の処理が実行される。なお、弱エラー又は強エラー1が発生している場合に、ステップA1058-A1060の処理を実行しない構成も可能である。
なお、後述のように、性能表示編集処理に移行する際に、スタックポインタを遊技制御に関連する領域内スタック領域から安全装置情報や性能情報や性能表示(性能情報の表示)に関連する領域外スタック領域に切り替える。その際、遊技制御用のスタックポインタをRAM111cのスタックポインタ保存領域に保存する時にフラグレジスタのフラグ(特にゼロフラグ)が変化する可能性があるため、ステップA1058において事前にフラグレジスタの情報を退避しておく。
一方、遊技制御装置100は、遊技停止中である場合に(A1057の結果が「Y」)、性能表示編集処理等を実行することなく、割込みを許可する(A1061)。即ち、安全装置が作動した場合や強エラー2が発生している場合に、性能表示編集処理(特に、性能表示編集処理中のベース値算出処理)が実行されないため、ベース値などの性能情報が新たに計算されず変化しない。なお、強エラー2が発生しても、遊技停止とせず、性能表示編集処理等を実行する構成も可能である。また、割込みの許可により、タイマ割込み処理(図9)が実行可能となる。
本実施形態において、エラーは、弱エラー、強エラー1、強エラー2の3つに区分けされる。なお、エラー/不正系のコマンドを受信した演出制御装置300は、エラー/不正設定処理(B1316)で、弱エラー、強エラー1、強エラー2に対応した異なる強さのエラー報知を設定して実行できる。
例えば、演出制御装置300は、スピーカからのエラーの報知音の音量、又は、エラー報知のために発光するLED(盤装飾装置46又は枠装飾装置18の演出用LED)の輝度(明るさ)を、弱エラー<強エラー1≦強エラー2の順に大きくしてもよい。なお、強エラー1と強エラー2のスピーカの音量又はLEDの輝度を同じにしてもよい。また、演出制御装置300は、弱エラーの発生した場合に、報知音の音量をホール・遊技者設定モード処理(B0011)で調整した音量(最大の音量以下)にし、強エラー1と強エラー2の発生した場合に、報知音の音量を最大の音量にしてよい。
弱エラーは、払出前の遊技球の不足に対応してシュート球切れスイッチ信号が発生するようなシュート球切れエラーと、下皿23が満杯になったことに対応してオーバーフロースイッチ信号が発生するようなオーバーフローエラーを含む。弱エラーでは、外部情報信号は外部情報端子71に出力されない(図54A参照)。また、弱エラーに、スイッチ異常エラーや、払出異常を示すステータス信号が発生する払出異常エラーを含めてもよい。
強エラー1は、枠開放に関する枠開放エラーであり、ガラス枠開放エラーと本体枠開放エラー(前面枠開放エラー)を含む。強エラー1では、外部情報信号として扉・枠開放信号(A9305)が外部情報端子71に出力される(図54A参照)。
強エラー2は、不正に関係する不正系エラーであり遊技停止とすることが好ましく、磁石不正、盤電波不正、枠電波不正、振動不正、異常排出エラー、V通過エラー、大入賞口不正、普電不正を含む。強エラー2では、外部情報信号としてセキュリティ信号(A9322)が外部情報端子71に出力される(図54A参照)。また、強エラー2に残存球エラーを含めてもよい。強エラー2が発生している場合に、遊技(特図変動表示ゲームと普図変動表示ゲームやラウンド遊技等)は停止され、遊技停止中であると判定できる(A1057)。また、強エラー2が発生している場合に、安全装置が作動した場合と同じく、遊技として特図変動表示ゲーム、普図変動表示ゲーム、及び、ラウンド遊技(大当り中や小当り中での遊技)等が実行できない遊技停止状態(遊技不可状態、遊技禁止状態)を発生可能である。
遊技制御装置100は、ステップA1061の後に、停電が発生しているか否かを判定する(A1062)。停電が発生していない場合に(A1062の結果が「N」)、ステップA1056の処理に戻る。これにより、停電が発生するまで、ステップA1056-A1062のループ処理が繰り返される。そして、停電が発生するまでは、遊技停止にならない限り、即ち、安全装置が作動したり強エラー2が発生しない限り、性能表示編集処理(A1059)においてベース値などの性能情報が繰り返し計算できる。
なお、ループ処理の繰り返しの周期は、タイマ割込みの割込み周期(所定時間周期、例えば4msec)よりもかなり短いため、割込み周期の間に何度も性能表示編集処理が実行される。従って、遊技球の入賞や排出球数の変化(アウト口30bに対する遊技球の入球)等があると、すぐにベース値などの性能情報が変化可能である。
停電が発生した場合に(A1062の結果が「Y」)、遊技制御装置100は、停電発生時の処理を開始し、一旦割込みを禁止し(A1063)、全出力ポートにオフデータを出力する(A1064)。その後、停電検査領域1に停電検査領域チェックデータ1をセーブし(A1065)、停電検査領域2に停電検査領域チェックデータ2をセーブする(A1066)。さらに、RWMの電源遮断時のチェックサムを算出するチェックサム算出処理を実行し(A1067)、さらに、算出したチェックサムをチェックサム領域にセーブする(A1068)。最後に、RWMへのアクセスを禁止する処理を実行し(A1069)、遊技機の電源が遮断されるまで待機する。
このように、停電検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
以上のように、メイン処理について説明したが、例えばステップA1056-A1062の処理中に設定キースイッチとRAM初期化スイッチがオンにされた場合に、ステップA1021と同様の判定処理を行って、ステップA1032と同様に確率設定変更中フラグをセットさせることで、遊技機10が起動している間に何度でも設定可変状態(設定変更モード)に切り替え可能にしてもよい。
〔RAM領域の構成例〕
図6は、遊技用マイコン111のRAM111cの構成(アドレス空間におけるメモリマップ)を示す図である。図6のように、RAM111cの先頭アドレスから領域内ワーク領域、未使用領域、領域内スタック領域、未使用領域、領域外ワーク領域、未使用領域、領域外スタック領域がアドレス空間において順に配置される。領域内ワーク領域と領域内スタック領域(遊技制御用スタック領域、領域内用スタック領域)の間の未使用領域と、領域外ワーク領域と領域外スタック領域(領域外用スタック領域)の間の未使用領域はなくてもよい。
RAMの領域内ワーク領域(遊技制御用ワーク領域、第1領域)は、領域内プログラムで読み書きされ、領域外プログラムで読まれる遊技制御用の作業領域である。領域内ワーク領域は、確率設定値領域、試験信号出力データ領域(エラーに関する試験信号出力データの領域を含む)、乱数領域、スイッチ制御領域、セグメント領域、停電検査領域1、停電検査領域2、チェックサム領域などの他に、安全装置が作動中であるか否か(作動したか否か)を示す安全装置作動中フラグ領域や、タイマ割込みの1割込み(例えば4msec)内で賞球として獲得した獲得遊技球数を格納する獲得遊技球数領域などを含む。
RAMの領域外ワーク領域(第2領域)は、領域外プログラムで読み書きされ、領域内プログラムで読まれる領域である。領域外ワーク領域は、差玉数に対応する安全装置カウンタ値(差玉数+初期値)を格納する安全装置カウンタ領域、安全装置の状態に対応する安全装置作動情報を格納する安全装置作動情報領域、旧作動情報を格納する旧作動情報領域を含み、安全装置に関連する安全装置情報を記憶可能である。安全装置カウンタ領域(3バイトサイズ)は、基本的には領域内プログラムでは読まれないが、安全装置カウンタ値又は差玉数の情報を差玉コマンドで演出制御装置300に送信する場合には、領域内プログラムで読まれて参照されることもある。本実施形態において、安全装置カウンタ値は、差玉数に比例して、差玉数に所定の初期値(10万)を加えた値である(安全装置カウンタ値=差玉数+10万)。しかし、安全装置カウンタ値は、差玉数に対応付けられ差玉数を示唆するものであればこれに限られない。なお、領域外ワーク領域を領域内ワーク領域から分離することによって、プログラムの開発効率を向上できる他、これら領域の初期化も区別して行い易くなる。
さらに、領域外ワーク領域は、性能情報や性能表示に関連する性能表示用ワーク領域を含み、性能情報や性能表示に関連する情報などを記憶可能である。その他、領域外ワーク領域は、試験信号に関連する情報や、エラー監視に関連する情報を記憶してよい。なお、領域外ワーク領域において、安全装置情報に関連する安全装置関連ワーク領域(安全装置カウンタ領域、安全装置作動情報領域、旧作動情報領域を含む)と、性能情報や性能表示に関連する性能表示用ワーク領域を、明確に区分けして配置してもよいし、混在させてもよい。
そして、領域外スタック領域は、性能情報や性能表示に関する処理を行う時と、安全装置に関する処理を行う時とで共用される。また、領域外スタック領域は、試験信号に関する処理、エラー監視に関する処理を行う時にも使用される。
なお、領域内プログラム(領域内処理のプログラム)と領域外プログラム(領域外処理のプログラム)は、この順に、ROM111bのアドレス空間内で先頭アドレス側から配置され、領域内プログラムの領域と領域外プログラムの領域の間に未使用領域を挟んで配置されて区別される。ROMの領域内プログラムは、遊技制御用プログラムや遊技制御用データ等からなり、メイン処理(図5A-図5C)に対応するメインプログラムと、後述のタイマ割込み処理に対応する割込み処理プログラムを含む。遊技制御用プログラムの領域と遊技制御用データの領域(データエリア)の間には、未使用領域を挟んでよい。メインプログラム又は割込み処理プログラムのサブルーチンは、基本的に領域内プログラムとなる(特に記載がない場合に領域内プログラムとなる)が、例外的に領域外プログラムとなることもある。ROMの領域外プログラムは、安全装置情報初期化処理に対応する安全装置情報初期化プログラム、性能表示編集処理に相当する性能表示編集処理プログラム、後述の領域外統合処理に対応する領域外統合処理プログラムを含む。
〔安全装置情報初期化処理〕
次に、メイン処理における安全装置情報初期化処理(A1053)の詳細について説明する。図7は、安全装置情報初期化処理の手順を示すフローチャートである。安全装置情報初期化処理では、安全装置カウンタ領域、安全装置作動情報領域、旧作動情報領域を初期化又はクリアし、安全装置カウンタ値、安全装置作動情報、旧作動情報などの安全装置情報を初期値(初期情報)にする。なお、安全装置作動情報は、現在の状態を示す情報であり、旧作動情報は前回(主に1割込み前)の状態を示す。
遊技制御装置100は、まず、スタックポインタを領域外ワーク領域のスタックポインタ保存領域にセーブし(A1101)、スタックポインタに領域外スタック領域(領域外用スタック領域)の値として、領域外スタック領域の先頭を示すアドレス値を設定する(A1102)。これにより、使用するスタックを示すスタックポインタを領域内スタック領域から領域外スタック領域に切り替える。
次に、遊技制御装置100は、レジスタの情報(値)を領域外スタック領域に退避(PUSH)する(A1103)。退避するレジスタは、保護すべきレジスタ(安全装置情報初期化処理内で使用されるレジスタ)のみでよいし、全ての汎用レジスタを退避してもよい。全ての汎用レジスタを退避するには、レジスタバンク0とレジスタバンク1の両方に対して退避(PUSH)する。
続いて、遊技制御装置100は、安全装置カウンタ領域に初期値(10万)をセーブし、安全装置カウンタ値が初期値となる(A1104)。大当りが発生しない場合など差玉数が0から減少する場合に、安全装置カウンタ値(=差玉数+初期値)は初期値より小さくなることもあるため、初期値は0より大きく設定されているが10万以外の数値でもよい。なお、このように、停電復旧時(電源投入時)に、安全装置カウンタ値は遊技者に不利益にならないように初期化(クリア)されるが、特図変動表示ゲームが確変状態以外で実行された回数を示す天井カウンタ値は、RAM初期化スイッチ112がオンでない限り、停電復旧時に初期化(クリア)されなくてよい。安全装置カウンタ値(差玉数に関する情報)が初期化(クリア)されると、差玉数に関して安全装置の作動(遊技停止状態の発生)までの余地(差玉数の許容範囲、差玉数の限度)を大きくでき遊技者の利益となる。一方、前述のように停電復旧時(電源投入時)に天井カウンタ値がクリア(初期化)されないことによって、時短状態の発生までの(天井回数までの)残りのゲーム回数は電源投入によって変わらず、遊技者の利益となる。そして、安全装置作動情報領域に安全装置の未作動状態(通常状態)に対応する安全装置未作動情報(値0)を安全装置作動情報としてセーブする(A1105)。さらに、旧作動情報領域に安全装置未作動情報(値0)を旧作動情報としてセーブする(A1106)。
次に、遊技制御装置100は、退避したレジスタを復帰し(A1107)、スタックポインタ保存領域からロードしてスタックポインタを設定し(A1108)、安全装置情報初期化処理を終了する。設定したスタックポインタは、領域内スタック領域のアドレスを示すことになる。
上記の安全装置情報初期化処理において、レジスタを使用せずRAMに直接情報を書き込む場合には、レジスタを退避/復帰しない。この場合に、レジスタのRAMへの退避も行わないのでスタックポインタ関連の処理(A1101,A1102,A1103,A1107,A1108)も不要となる。また、安全装置情報初期化処理前後のフラグレジスタの退避/復帰(A1052,A1054)も不要になる。
なお、本実施形態において、安全装置カウンタ値が0~189999(安全装置カウンタ=0~189999)の場合に、安全装置作動情報は、安全装置が未作動(通常)である未作動状態(作動予告状態や作動警告状態や作動状態でない通常状態)に対応する安全装置未作動情報(値0)となる。安全装置カウンタ値が190000~194999(安全装置カウンタ=190000~194999)の場合に、安全装置作動情報は、安全装置の作動を予告する作動予告状態に対応する安全装置作動予告情報(値1)となる。
また、安全装置カウンタ値がカウンタ基準値である195000(安全装置カウンタ=195000)に到達しても遊技停止できる状態になっていない場合に、安全装置作動情報は、安全装置の作動を警告する作動警告状態に対応する安全装置作動警告情報(値2)となる。この場合は、差玉数(=セーフ球数-排出球数)が差玉基準値95000に達しても、大当り中又は小当り中であるため、前述の条件(1)は成立したが条件(2)が不成立で安全装置の作動条件が成立していない場合に相当する。
さらに、安全装置カウンタ値が195000(安全装置カウンタ=195000)に到達して遊技停止中である場合に、安全装置作動情報は、安全装置が作動中である作動状態(作動中状態)に対応する安全装置作動中情報(値3)となる。この場合は、差玉数が差玉基準値95000に達して、且つ、大当り中でも小当り中でもないため前述の条件(1)(2)の両方が成立することによって、安全装置の作動条件が成立した場合に相当する。
〔性能表示編集処理〕
次に、メイン処理における性能表示編集処理(A1059)の詳細について説明する。図8は、性能表示編集処理の手順を示すフローチャートである。
遊技制御装置100は、まず、スタックポインタを領域外ワーク領域のスタックポインタ保存領域にセーブし(A1201)、スタックポインタに領域外スタック領域の値として、領域外スタック領域(領域外用スタック領域)の先頭を示すアドレス値を設定する(A1202)。これにより、使用するスタックを示すスタックポインタを領域内スタック領域から領域外スタック領域に切り替える。
次に、遊技制御装置100は、レジスタバンク0とレジスタバンク1の両方に対してレジスタの情報(値)を領域外スタック領域に退避(PUSH)する(A1203)。ここで、汎用レジスタ全部を退避することが好適である。そして、領域外ワーク領域のうち性能表示用ワーク領域の正当性を判定する正当性判定を実行し、正当でなく異常である場合に、性能表示用ワーク領域の初期化(初期値設定も含む)を実行する(A1204)。
正当性判定では、性能表示用ワーク領域に格納される値が設計上あり得ない値であったり設計値から外れる場合(所定範囲外の場合)に、正当でないと判定できる。例えば、性能表示用ワーク領域の初期化が済んだことを示す性能表示用RAM初期化済みフラグに特定の値(例えば5Ah)が格納されているか否かを判定し、ベース値算出等に用いる除算処理の進行を管理する番号が所定範囲内であるかを判定し、スイッチカウンタの値が監視されるスイッチの数以下の範囲内であるかを判定し、現在の表示期間を示す表示期間管理番号が期間数の範囲内(0~3)であるかを判定し、現在の集計区間を示す集計区間番号が区間数の範囲内(0~4)であるかを判定する。このように、正当性判定では、データテーブルに対してポインタとして使用する領域の値に対して所定範囲内にあるかの判定を行うのが好適である。これにより、範囲外の値を取得することによってプログラムが暴走するのを事前に防ぐことができる。また、性能表示編集処理毎に、正当性判定を行っているので効果的である。
なお、性能表示編集処理が実行される度に正当性判定が実行されるため、性能表示用ワーク領域が正当でない場合に、すぐにその初期化が実行でき、異常な性能表示(異常なベース値等の表示)が極力防止できる。
また、性能表示用ワーク領域の初期化(初期値設定も含む)は、スタックポインタ保存領域を保護するよう、スタックポインタ保存領域以外を初期化の対象とする。なお、本実施形態において領域外スタック領域は初期化しないが、初期化するようにしてもよい。領域外スタック領域を初期化する場合でも、領域外スタック領域に退避したレジスタの値は保護して初期化しない。性能表示用ワーク領域の初期化は、領域内ワーク領域(遊技制御用ワーク領域)と領域内スタック領域(遊技制御用スタック領域)の初期化とは区別されて実行されるため、領域内ワーク領域と領域内スタック領域には影響を与えない。
続いて、遊技制御装置100は、ベース値(出玉率)の計算の元になるデータ(通常アウト球数や通常賞球数など)を集計する集計区間の切替えタイミングであるか否かを判定する(A1205)。電源投入からの総アウト球数(総排出球数、総アウト数)に対して集計区間が設けられ、総アウト球数が複数の所定個数に達するごとに(例えば60000増えるごとに)集計区間が切り替えられる。
例えば、集計区間の切替えタイミングは、電源投入からの総アウト球数が所定個数としての300個、60300個、120300個、180300個・・・になるタイミングである。即ち、集計区間の幅は最初の第1集計区間を除いて基本的に60000であり、第1集計区間=0~300個、第2集計区間=300~60300個、第3集計区間=60300~120300個、第4集計区間=120300~180300個、第5集計区間=180300~240300個・・・となる。第1~5集計区間を示す集計区間番号はそれぞれ0~4であり、第6集計区間以降に対して集計区間番号は4に維持される。なお、現在の集計区間番号は、性能表示用ワーク領域に記憶される。
遊技制御装置100は、集計区間の切替えタイミングである場合に(A1205の結果が「Y」)、集計区間の切替え設定をする(A1206)。集計区間の切替え設定では、総アウト球数(総アウト数)をカウントする総アウトカウンタ、各集計区間内におけるアウト球数(排出球数)である通常アウト球数(通常アウト数)をカウントする通常アウトカウンタ、及び、各集計区間内における全賞球数(獲得球数)である通常賞球数をカウントする通常賞球数カウンタをクリアしたり、各集計区間の最終ベース値(又は最新ベース値)を隣の集計区間のベース値格納領域にシフト(移動)したりする。
遊技制御装置100は、集計区間の切替えタイミングでない場合に(A1205の結果が「N」)、監視対象の入力ポートにスイッチの入力があるか否かを判定する(A1207)。本実施形態において、監視対象の入力ポートは、第3入力ポート124と第4入力ポート126である(図3参照)。
ここでは、監視対象の入力ポートごとに性能表示用ワーク領域にコピーしたスイッチ立ち上がりエッジの情報(図58のステップA9603でコピーされる)をチェックする。監視対象の入力ポートごとに、コピーしたスイッチ立ち上がりエッジの情報を記憶する8ビットの領域がある。全ての監視対象の入力ポートに関してスイッチ立ち上がりエッジの情報が全て0である場合に入力がないと判定でき、それ以外の場合に入力があると判定できる。なお、スイッチ立ち上がりエッジの情報として、コピー時にマスクされない限り、入力処理(A1303)において新たな入力(検出)があったスイッチに対応するビットが1に設定され、新たな入力のないスイッチに対応するビットが0に設定されている。
遊技制御装置100は、監視対象の入力ポートにスイッチの入力がある場合に(A1207の結果が「Y」)、スイッチカウンタに対応するスイッチ(対象スイッチ)の入力をチェックして入力情報を取得する(A1208)。ここでの対象スイッチは、第1特別変動入賞装置38の下大入賞口スイッチ38a、第2特別変動入賞装置39の上大入賞口スイッチ39a、第1始動入賞口36の始動口1スイッチ36a、第2始動入賞口37(普通変動入賞装置)の始動口2スイッチ37a、一般入賞口35の入賞口スイッチ35a(左入賞口スイッチ、右入賞口スイッチ)、アウト球検出スイッチ74、など、遊技球の検出によってベース値(又は出玉率)を変化させ得るものである。
続いて、遊技制御装置100は、対象スイッチの有効期間であるか否かを判定する(A1209)。なお、大入賞口不正や普電不正が発生して、大入賞口や第2始動入賞口37への入賞が無効な場合、即ち大入賞口スイッチ38a、39aや始動口2スイッチ37aが有効でない場合がある。また、第1始動入賞口36やアウト球検出スイッチ74など常時有効なスイッチもある。
遊技制御装置100は、対象スイッチの有効期間である場合に(A1209の結果が「Y」)、スイッチカウンタに対応する対象スイッチに入力があるか否かを判定する(A1210)。対象スイッチの有効期間でない場合に(A1209の結果が「N」)又は対象スイッチに入力がない場合に(A1210の結果が「N」)、ステップA1218の処理に移行する。
遊技制御装置100は、対象スイッチに入力がある場合に(A1210の結果が「Y」)、対象スイッチに対応するビットの入力情報(1ビット)をクリアし(A1211)、通常ベース状態中であるか否かを判定する(A1212)。通常ベース状態(低ベース状態)は、ベース値を算出且つ更新できる期間であり、本実施形態において通常遊技状態である。
遊技制御装置100は、通常ベース状態中(通常遊技状態中)である場合に(A1212の結果が「Y」)、対象スイッチが賞球の付与されるスイッチであれば、対象スイッチに対応する賞球数を加算することによって、集計区間内における全賞球数である通常賞球数を更新する(A1213)。続いて、対象スイッチがアウト球検出スイッチ74である場合に1を加算することによって、集計区間内におけるアウト球数である通常アウト球数(通常アウト数、通常排出球数)を更新する(A1214)。次に、対象スイッチがアウト球検出スイッチ74である場合に1を加算することによって、総アウト球数(総アウト数、総排出球数)を更新する(A1215)。
なお、本実施形態において、アウト球検出スイッチ74は、遊技領域32から排出された全ての遊技球(即ち、入賞口又はアウト口30bを通過した全ての遊技球)を検出する。アウト口30bに入球した遊技球だけでなく、入賞口(第1始動入賞口36、第2始動入賞口37、大入賞口、又は、一般入賞口35)に入球した遊技球は、図示しない通路等を介してアウト球検出スイッチ74に導かれて検出される。
遊技制御装置100は、通常遊技状態である通常ベース状態中でない場合に(A1212の結果が「N」)、通常賞球数も通常アウト球数も更新することなく、総アウト球数だけを更新する(A1215)。従って、通常ベース状態でない高ベース状態(第2の遊技状態、時短状態、確変状態又は特別遊技状態)において、通常賞球数も通常アウト球数も更新されず、通常賞球数と通常アウト球数から算出されるベース値(通常賞球数÷通常アウト球数)は、更新されず変化がない。なお、ステップA1212の通常ベース状態に関する判定処理をなくして、ベース値を全ての遊技状態における出玉率として更新可能(変化可能)とする構成も可能である。
次に、遊技制御装置100は、次回の性能表示編集処理で対象スイッチを次のものに変更するために、スイッチカウンタを+1更新する(A1216)。なお、メイン処理におけるループ処理によって性能表示編集処理は、タイマ割込みの割込み周期(所定時間周期、例えば4msec)よりもかなり短い時間間隔で実行される(例えば、数μsec)。このため、割込み周期の間に、性能表示編集処理は繰り返し実行され、スイッチカウンタ(例えば0から7)は、監視対象の入力ポートごとに全スイッチのビット(例えばビット0からビット7)を網羅する。また、スイッチカウンタは最終の値(例えば7)の後に0に更新されて、次の監視対象の入力ポートに関してスイッチの入力がチェック開始される。例えば、最初に第3入力ポート124に関してスイッチの入力がチェックされた後に、次に第4入力ポート126に関してスイッチの入力がチェックされる。
一方、遊技制御装置100は、全ての監視対象の入力ポートにスイッチの入力がない場合に(A1207の結果が「N」)、ベース値を算出するためのベース値算出処理(所定処理)を実行する(A1217)。なお、監視対象の入力ポートにスイッチの入力が最初からない場合がある。他方、一部又は全ての監視対象の入力ポートにスイッチの入力が最初にあったとしても、全ての監視対象の入力ポートに関してスイッチの入力がチェックされた後は、入力があった対象スイッチの入力情報はクリアされている(A1211)ので、全ての監視対象の入力ポートにスイッチの入力がない状態となる。
ベース値算出処理において、ベース値は、通常アウト球数に対する通常賞球数の比率であり、通常賞球数÷通常アウト球数で算出される。従って、始動入賞口(始動入賞口36、普通変動入賞装置37)、大入賞口、又は、一般入賞口35に入球があった場合に、第1段階として、賞球が付与される入賞口のスイッチ35a、36a、37a、38a、39aの入力(検出)によって通常賞球数が更新され変化してベース値が変化し、且つ、第2段階としてアウト球検出スイッチ74の入力(検出)によって通常アウト球数が更新され変化してベース値が変化する。即ち、入賞口へ1個の遊技球が入球すると、2段階でベース値が変化することになる(影響を受けることになる)。遊技盤30に開口するアウト口30bに入球があった場合に、アウト球検出スイッチ74の入力(検出)によって通常アウト球数が更新され変化して、ベース値も変化する。一方で、普図始動ゲート34に入球があった場合には、通常賞球数も通常アウト球数もその入球自体によっては更新されず変化しないため、ベース値も変化せずに維持される。普図始動ゲート34に入球があっても、賞球が付与されないため通常賞球数は更新されない。
ベース値は、変化の有無にかかわらず、出力処理のステップA1624-A1630の処理によって、性能表示装置152に性能表示として出力されることになる。ただし、安全装置が作動して遊技停止中である場合や、強エラー2が発生して遊技停止中である場合に、性能表示装置152は、オフデータが出力されて消灯する。
なお、特殊な例として、ベース値のリアルタイム値(bL.)を表示するリアルタイム値表示期間でのみ、ベース値の算出を実行してよく、この特殊な例では、リアルタイム値表示期間が到来するまで通常賞球数と通常アウト球数は更新されるが、ベース値は算出されず変化しない。
遊技制御装置100は、ステップA1216又はA1217の後、退避したレジスタを復帰し(A1218)、スタックポインタ保存領域からロードしてスタックポインタを設定し(A1219)、性能表示編集処理を終了する。設定したスタックポインタは、領域内スタック領域のアドレスを示すことになる。
なお、図8において、ステップA1217の処理を、ステップA1214の直後に実施して、監視対象の入力ポートの全てのスイッチの入力チェックを待たずに、通常賞球数又は通常アウト球数が更新された直後にベース値算出処理を行うような構成も可能である。
〔タイマ割込み処理〕
次に、タイマ割込み処理について説明する。図9は、タイマ割込み処理(割込み処理プログラム)の手順を示すフローチャートである。タイマ割込み処理は、クロックジェネレータ内のCTC回路で生成される周期的なタイマ割込み信号がCPU111aに入力されることで開始される。遊技用マイコン111においてタイマ割込みが発生すると、タイマ割込み処理が開始される。
タイマ割込み処理が開始されると、遊技制御装置100は、まず、使用するレジスタバンクとしてレジスタバンク1を指定し(A1301)、所定のレジスタにRAM先頭アドレスの上位アドレスをセットする(A1302)。タイマ割込み処理の開始時にメイン処理で使用するレジスタバンク0からレジスタバンク1に切り替えることで、メイン処理で使っているレジスタを退避したのと同等になる。なお、タイマ割込み処理が開始されると、自動的に割込み禁止状態になる。
次に、遊技制御装置100は、各種センサやスイッチからの入力や、信号の取り込み、すなわち、各入力ポートの状態を読み込む入力処理を実行する(A1303)。次に、確率設定変更中フラグと確率設定確認中フラグに基づいて、確率設定変更中又は確率設定確認中であるか否かを判定する(A1304)。確率設定変更中又は確率設定確認中である場合に(A1304の結果が「Y」)、確率設定値を変更又は確認するための確率設定変更/確認処理を実行する(A1305)。
遊技制御装置100は、確率設定変更中でも確率設定確認中でもない場合に(A1304の結果が「N」)、各種処理でセットされた出力データに基づき、ソレノイド(例えば大入賞口ソレノイド39b)等のアクチュエータの駆動制御やLEDの駆動制御(発光制御)などを行うための出力処理を実行する(A1306)。なお、メイン処理におけるステップA1005の処理で発射禁止の信号を出力した場合は、この出力処理が行われることで発射許可の信号が出力でき、発射許可信号を許可状態に設定可能である。
次に、遊技制御装置100は、各種処理で送信バッファにセットされたコマンド(払出コマンドなど)を払出制御装置200に出力する払出コマンド送信処理を実行する(A1307)。その後、始動口1スイッチ36a、始動口2スイッチ37a、入賞口スイッチ35a、大入賞口スイッチ39aから正常な信号の入力があるか否かの監視や、エラーの監視(前面枠やガラス枠が開放されていないかなど)を行う入賞口スイッチ/状態監視処理を実行する(A1308)。
次に、遊技制御装置100は、遊技停止中であるか否かを判定する(A1309)。安全装置が作動した場合(安全装置作動中フラグ=1の場合)や、遊技を停止する必要のある強エラー2が発生している場合に、遊技停止中であると判定できる。
遊技制御装置100は、遊技停止中でない場合に(A1309の結果が「N」)、特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)を実行する。その後、ステップA1314以降の処理を実行する。なお、エラーが全く発生していない場合の他に、弱エラーと強エラー1が発生している場合にも、特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)を実行する。
セグメントLED編集処理では、一括表示装置50を構成する複数のセグメントLEDの一部(記憶表示部やラウンド表示部等:LEDランプD3-D7、D11-D17)の駆動に関する設定等が実行される。なお、一括表示装置50の他の一部(変動表示部:LEDランプD1、D2、D8、D10、D18)の駆動に関する設定等は、図柄変動制御処理(A2615、A2617、A7615)で実行される。一括表示装置50の別の他の一部(確率状態表示部:LEDランプD9)の駆動に関する設定等は、停電復旧処理(A1048)などで実行される。
遊技制御装置100は、遊技停止中である場合に(A1309の結果が「Y」)、特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)を実行することなく、ステップA1314以降の処理に移行する。このように安全装置が作動した場合や、強エラー2が発生して遊技停止中である場合に、特図ゲーム処理(A1310)と普図ゲーム処理(A1312)が実行されないため、特図保留数(A2906、A4611)と普図保留数(A7707、A7918)は変化しない。一方、弱エラーや強エラー1が発生して場合に、遊技停止中でなく、特図ゲーム処理(A1310)と普図ゲーム処理(A1312)が実行されるため、特図保留数(A2906、A4611)と普図保留数(A7707、A7918)は+1更新(保留発生時)や-1更新(保留消化時)によって変化可能である。
なお、弱エラーと強エラー1と強エラー2などのエラーの種類に応じて、特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)のうちいずれか一部を実行してその他を実行しない構成も可能である。例えば、強エラー2が発生した場合に、セグメントLED編集処理だけは実行するなどしてよい。
さらに、遊技制御装置100は、安全装置の状態に対応する安全装置作動情報を演出コマンドとして演出制御装置300に送信したり、安全装置作動中フラグを設定できる安全装置関連処理を実行する(A1314)。そして、磁気センサスイッチ61からの検出信号をチェックして異常がないか否かを判定する磁石不正監視処理を実行する(A1315)。さらに、遊技盤の電波センサ62からの検出信号をチェックして異常がないか否かを判定する電波不正監視処理(盤電波不正監視処理)を実行する(A1316)。
その後、遊技制御装置100は、振動センサ65からの入力に基づいて振動による不正を監視する振動不正監視処理を実行する(A1317)。次に、大入賞口からの異常排出を監視する異常排出監視処理を実行する(A1318)。異常排出監視処理では、特別変動入賞装置39における大入賞口スイッチ39a、特定領域スイッチ72(V入賞口スイッチ)、残存球排出口スイッチ73からの入力に基づいて、特別変動入賞装置39の異常排出を監視し、異常排出が発生した場合に異常排出発生中フラグが設定される。なお、特別変動入賞装置39の大入賞口スイッチ39aを通過した遊技球は、特定領域スイッチ72(V入賞口スイッチ)又は残存球排出口スイッチ73を通過して排出される。
次に、遊技制御装置100は、各種外部装置に出力する信号を出力バッファにセットする外部情報編集処理を実行する(A1319)。そして、ステップA1309等と同じく、遊技停止中であるか否かを判定する(A1320)。
遊技制御装置100は、遊技停止中でない場合に(A1320の結果が「N」)、フラグレジスタを領域内スタック領域に退避し(A1321)、安全装置カウンタ値の更新(差玉数の算出)や性能表示装置152の表示制御などを行う領域外統合処理を実行する(A1322)。その後、フラグレジスタを復帰して(A1323)、タイマ割込み処理を終了する。安全装置が作動しておらず且つ強エラー2が発生していない場合に、遊技停止中でなく、領域外統合処理等を含めてステップA1321-A1323の処理が実行される。
なお、後述のように、領域外統合処理に移行する際に、スタックポインタを遊技制御に関連する領域内スタック領域から領域外スタック領域に切り替える。その際、遊技制御用のスタックポインタをRAM111cのスタックポインタ保存領域に保存する時にフラグレジスタのフラグ(特にゼロフラグ)が変化する可能性があるため、ステップA1321において事前にフラグレジスタを退避しておく。
一方、遊技制御装置100は、遊技停止中である場合に(A1320の結果が「Y」)、領域外統合処理等を実行することなく、タイマ割込み処理を終了する。即ち、安全装置が作動した場合(安全装置作動中フラグ=1の場合)や強エラー2が発生している場合に、領域外統合処理が実行されないため、安全装置カウンタ値は更新されないしベース値などの性能表示の表示内容は更新されない。これにより、遊技停止中の不要な制御を省略できる。
なお、上記と異なり、強エラー2が発生しても、遊技停止とせず、特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)を実行する構成も可能である。また、強エラー2が発生しても、領域外統合処理等を実行する構成も可能である。
また、タイマ割込み処理のリターンの際、割込み禁止状態の復元やレジスタバンクの指定の復元は、自動的に行われる構成とするが、使用するCPUによっては、外部情報編集処理の後に、割込みを許可する処理やレジスタバンクの指定をレジスタバンク0に戻す処理を行ってもよい。
〔出力処理〕
次に、タイマ割込み処理(図9)における出力処理(A1306)の詳細について説明する。図10は、出力処理の手順を示すフローチャートである。
遊技制御装置100は、まず、一括表示装置(LED)50のセグメントのデータを出力する出力ポート135(セグメント出力ポート)(図3参照)にオフデータを出力して出力ポート135をリセットする(A1601)。続いて、全ソレノイド(大入賞口ソレノイド38b、39b、レバーソレノイド86b、普電ソレノイド37c)に対するオフの出力データをセットする(A1602)。そして、ステップA1309等と同じく、遊技停止中であるか否かを判定する(A1603)。安全装置が作動した場合(安全装置作動中フラグ=1の場合)や、遊技を停止する必要のある強エラー2が発生している場合に、遊技停止中であると判定できる。
遊技制御装置100は、遊技停止中でない場合に(A1603の結果が「N」)、大入賞口ソレノイド38b、39b、レバーソレノイド86b、普電ソレノイド37cのデータを出力するソレノイド出力ポート134に出力するデータを合成する(A1604)。そして、ソレノイド出力ポート134にデータを出力する(A1605)。遊技停止中である場合に(A1603の結果が「Y」)、何もせず、ステップA1605の処理に移行して、ソレノイド出力ポート134にオフデータ(A1602)を出力する。これにより、遊技停止状態である場合に、全ソレノイドの動作が停止し、大入賞口、特定領域86、普通変動入賞装置37等が閉鎖して閉状態となる。このように遊技停止状態において大入賞口が閉鎖されてラウンド遊技(大当り中や小当り中での遊技)が実行できない。
そして、遊技制御装置100は、一括表示装置(LED)50のデジット線を順次スキャンするためのデジットカウンタの値を0~3の範囲で+1更新する(1だけ加算するが3の次は0に更新される)(A1606)。さらに、デジットカウンタの値に対応するLEDのデジット線へのデジット出力データを取得する(A1607)。そして、取得したデジット出力データと外部情報データを合成し(A1608)、合成したデータをデジット出力・外部情報出力ポート136に出力する(A1609)。
次に、遊技制御装置100は、セグメント線へのセグメント出力データとしてオフデータをセットする(A1610)。そして、発射禁止の出力データをセットする(A1611)。さらに、ステップA1603等と同じく、遊技停止中であるか否かを判定する(A1612)。
遊技制御装置100は、遊技停止中でない場合に(A1612の結果が「N」)、デジットカウンタの値に対応するRAM111c内のセグメント領域からセグメント線へのセグメント出力データをロードし(A1613)、発射許可の出力データをセットし(A1614)、ロードしたセグメント出力データをセグメント出力用の出力ポート135に出力する(A1615)。なお、このセグメント領域は、領域内ワーク領域(遊技制御用ワーク領域)に含まれてよい。
このように、遊技停止中でない場合に、デジットカウンタの値が0~3の範囲で+1更新される度に、新たなデジット線が選択されて、このデジット線が接続する桁の8本のセグメント線にセグメント出力データが出力される。桁0~桁3(デジット0~3)が順次選択されて、一括表示装置50に対するダイナミック駆動方式(ダイナミック点灯制御)が実現される。
一方、遊技制御装置100は、遊技停止中である場合に(A1612の結果が「Y」)、ステップA1613とA1614の処理をすることなく、オフデータ(A1610)をセグメント出力用の出力ポート135に出力する(A1615)。これにより、安全装置が作動した場合(安全装置作動中フラグ=1の場合)や強エラー2が発生している場合の遊技停止状態において、一括表示装置50は消灯する。これにより、遊技停止状態において特図変動表示ゲームと普図変動表示ゲームが実行できない。そして、一括表示装置50を見た遊技者は、遊技停止中であることや、安全装置が作動したこと又は強エラー2(不正系エラー)が発生したことを認識できる。
続いて、遊技制御装置100は、外部情報端子71に出力する外部情報データをロードして合成し(A1616)、さらに、合成した外部情報データと発射許可または発射禁止の出力データを合成し(A1617)、最終的に合成したデータを外部情報・発射許可信号出力ポート137に出力する(A1618)。なお、ここで、遊技停止中でない場合に発射許可の出力データになり(A1614)、遊技停止中である場合に発射禁止(発射停止)の出力データになる(A1611)。これにより、安全装置が作動した場合や強エラー2が発生している場合の遊技停止状態において、球発射装置からの遊技球の発射が禁止されるようになっている一方で、遊技停止状態でなければ、球発射装置からの遊技球の発射が許可されるようになっている。なお、遊技停止状態でも、球発射装置からの遊技球の発射を許可して、発射禁止(発射停止)しない構成も可能である。
次に、遊技制御装置100は、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート1に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート1に合成したデータを出力する(A1619)。その後、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート2に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート2に合成したデータを出力する(A1620)。
次に、遊技制御装置100は、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート3に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート3へ合成したデータを出力する(A1621)。さらに、試射試験装置の試験信号を出力する中継基板70上の試験端子出力ポート4に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート4に合成したデータを出力する(A1622)。そして、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート5に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート5に合成したデータを出力する(A1623)。
次に、遊技制御装置100は、性能表示装置(LED)152のセグメントのデータを出力する出力ポート141(セグメント出力ポート2)にオフデータを出力して出力ポート141をリセットする(A1624)。次に、性能表示装置152のデジット線を順次スキャンするためのデジットカウンタ2の値を0~3の範囲で+1更新する(1だけ加算するが3の次は0に更新される)(A1625)。さらに、デジットカウンタ2の値に対応するLEDのデジット線へのデジット出力データを取得する(A1626)。そして、取得したデジット出力データを出力ポート142(デジット出力ポート2)に出力する(A1627)。
次に、遊技制御装置100は、ステップA1603等と同じく、遊技停止中であるか否かを判定する(A1628)。遊技停止中でない場合に(A1628の結果が「N」)、デジットカウンタ2の値に対応するRAM111c内の性能表示装置セグメント領域からセグメント出力データをロードする(A1629)。性能表示装置セグメント領域は、性能情報やその表示(性能表示)に関連する性能表示用ワーク領域に含まれる。そして、ロードしたセグメント出力データを性能表示装置152用の出力ポート141(セグメント出力ポート2)に出力し(A1630)、その後、出力処理を終了する。
一方、遊技制御装置100は、遊技停止中である場合に(A1628の結果が「Y」)、ステップA1629とA1630の処理を実行することなく、出力処理を終了する。従って、安全装置が作動して遊技停止中である場合(安全装置作動中フラグ=1の場合)や強エラー2が発生して遊技停止中である場合に、性能表示装置セグメント領域のセグメント出力データを出力ポート141に出力できないため、ステップA1624のオフデータがそのまま性能表示装置152用の出力ポート141に出力される。そして、この場合に、デジットカウンタ2の値が0~3の範囲で一巡すると、性能表示装置152は、全LEDが強制的に消灯して非表示になり、性能表示装置152を見た遊技場の責任者や係員は、遊技停止中であることや安全装置が作動したこと又は強エラー2(不正系エラー)が発生したことを認識できる。
また、強エラー2が発生しても、遊技停止とせず、ステップA1629とA1630の処理等を実行する構成も可能である。
〔入賞口スイッチ/状態監視処理〕
次に、タイマ割込み処理(図9)における入賞口スイッチ/状態監視処理(A1308)の詳細について説明する。図11は、入賞口スイッチ/状態監視処理の手順を示すフローチャートである。
遊技制御装置100は、まず、領域内ワーク領域に含まれる獲得遊技球数領域を0クリアする(A2001)。これにより、獲得遊技球数領域は、1割込み内(所定時間周期内)に獲得した賞球の数(合計)である獲得遊技球数を格納する領域となる。なお、獲得遊技球数は、1割込み内でのセーフ球数の増加に等しい。そして、上大入賞口(特別変動入賞装置39)内の上大入賞口スイッチ39aに対応する入賞口監視テーブル1を準備する(A2002)。そして、上大入賞口が開いていないにもかかわらず上大入賞口に不正な入賞がないかを監視するとともに正常な入賞を検出する不正&入賞監視処理を実行する(A2003)。
その後、遊技制御装置100は、下大入賞口(特別変動入賞装置38)内の下大入賞口スイッチ38aに対応する入賞口監視テーブル2を準備する(A2004)。そして、下大入賞口が開いていないにもかかわらず下大入賞口に不正な入賞がないかを監視するとともに正常な入賞を検出する不正&入賞監視処理を実行する(A2005)。
そして、遊技制御装置100は、普通変動入賞装置37内の始動口2スイッチ37aに対応する入賞口監視テーブルを準備する(A2006)。そして、不正入賞を監視するとともに正常な入賞を検出する不正&入賞監視処理を実行する(A2007)。続いて、常時入賞可能で不正監視が不要な入賞口スイッチの入賞口監視テーブルを準備する(A2008)。常時入賞可能な入賞口スイッチは、始動口1スイッチ36aや一般入賞口35等である。
次に、遊技制御装置100は、入賞数を更新する入賞数カウンタ更新処理を実行する(A2009)。そして、状態を監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するための状態スキャンカウンタを更新する(A2010)。状態スキャンカウンタは0から3の範囲で更新される。
その後、遊技制御装置100は、状態スキャンカウンタの値に応じて、監視する状態を設定するための遊技機状態監視テーブル1を準備する(A2011)。そして、エラーが発生しているかなどの状態を判定する遊技機状態チェック処理を実行する(A2012)。
状態スキャンカウンタの値を遊技機状態監視テーブル1に参照することで、状態スキャンカウンタの値が0である場合はスイッチのコネクタ抜けなどの発生により出力される異常検知信号に基づく状態(スイッチ異常エラー)の監視が設定され、状態スキャンカウンタの値が1である場合は払出制御装置200からのシュート玉切れスイッチ信号に基づく状態(シュート球切れエラー)の監視が設定される。状態スキャンカウンタの値が2である場合はオーバーフロースイッチ信号に基づく状態(オーバーフローエラー)の監視が設定され、状態スキャンカウンタの値が3である場合は払出異常ステータス信号に基づく状態(払出異常エラー)の監視が設定される。このように、遊技機状態監視テーブル1では、弱エラーが監視される。
次に、遊技制御装置100は、状態スキャンカウンタの値に応じて、監視する状態を設定するための遊技機状態監視テーブル2を準備する(A2013)。そして、エラーが発生しているかなどの状態を判定する遊技機状態チェック処理を実行する(A2014)。
状態スキャンカウンタの値を遊技機状態監視テーブル2に参照することで、状態スキャンカウンタの値が0である場合はガラス枠開放検出スイッチから出力される信号に基づく状態(ガラス枠開放エラー)の監視が設定され、状態スキャンカウンタの値が1である場合は前面枠開放検出スイッチから出力される信号に基づく状態(本体枠開放エラー、前面枠開放エラー)の監視が設定される。また、状態スキャンカウンタの値が2である場合は枠電波不正信号に基づく状態(枠電波不正)の監視が設定され、状態スキャンカウンタの値が3である場合はタッチスイッチ信号に基づく状態の監視が設定される。
次に、遊技制御装置100は、状態スキャンカウンタの値が0であるか否かを判定する(A2015)。そして、エラースキャンカウンタの値が0でない場合には(A2015の結果が「N」)、ステップA2017の処理に移行する。
また、遊技制御装置100は、エラースキャンカウンタの値が0である場合には(A2015の結果が「Y」)、払出制御装置200が払出制御を開始可能であるかを示す払出ビジー信号に基づきビジー信号ステータス(払出ビジー信号フラグ)を設定する払出ビジー信号チェック処理を実行し(A2016)、ステップA2017の処理に移行する。
なお、ステップA2016の処理は、タイマ割込み毎に更新される状態スキャンカウンタの値が0の場合のみ実行されるため、4回のタイマ割込みに1回の割合で実行されることとなる。すなわち、タイマ割込みが4ms毎に行われる場合は、16ms毎にA2016の処理が行われることとなる。
次に、遊技制御装置100は、不適切なタイミングで特定領域スイッチ72を遊技球が通過したか否かを監視するV通過タイミング監視処理を実行する(A2017)。V通過タイミング監視処理では、不適切なタイミングで特定領域スイッチ72の検出信号が発生した場合にV通過エラーとする。
続いて、遊技制御装置100は、特定領域スイッチ72に遊技球が残っていないかを監視する残存球監視処理を実行し(A2018)、入賞口スイッチ/状態監視処理を終了する。
なお、入賞口スイッチ/状態監視処理におけるV通過タイミング監視処理と残存球監視処理は、本実施形態のようないわゆる1種2種混合機(1+2種機)に必要であり、通常の1種パチンコ機では不要となることもある。
〔不正&入賞監視処理〕
図12は、不正&入賞監視処理の手順を示すフローチャートである。不正&入賞監視処理は、図11に示した入賞口スイッチ/状態監視処理におけるステップA2003、A2005、A2007にて実行される。
不正&入賞監視処理は、特別変動入賞装置38内の下大入賞口スイッチ38a、特別変動入賞装置39の上大入賞口スイッチ39a、普通変動入賞装置37内の入賞口スイッチ(始動口2スイッチ37a)に対して行われる処理である。第2始動入賞口(普通変動入賞装置37)や大入賞口(特別変動入賞装置38、39)については、無理やり開閉部材を開いて遊技球を入れて賞球を払い出させる不正が行われ易いため、入賞の検出の他に不正の監視をする。
遊技制御装置100は、まず、エラー監視対象の入賞口スイッチの不正監視期間フラグをチェックし(A2101)、不正監視期間中であるか否かを判定する(A2102)。例えば、不正監視期間とは、エラー監視対象の入賞口スイッチが本来遊技球を検出しない期間であり、例えば入賞口スイッチが下大入賞口スイッチ38aである場合に特別変動入賞装置38を開放する特別遊技状態中以外の期間である。
そして、遊技制御装置100は、不正監視期間である場合には(A2102の結果が「Y」)、対象の入賞口スイッチに入力があるか否かを判定する(A2103)。対象の入賞口スイッチに入力がない場合には(A2103の結果が「N」)、対象の報知タイマ更新情報をロードする(A2112)。また、対象の入賞口スイッチに入力がある場合には(A2103の結果が「Y」)、対象の不正入賞数を+1更新し(A2104)、加算後の不正入賞数が監視対象の不正発生判定個数(例えば5個)以上であるか否かを判定する(A2105)。
判定個数を5個としている理由は、例えば、開状態にある大入賞口が閉状態に変換した際に遊技球が大入賞口の扉部材に挟まり、その遊技球がカウントスイッチの有効期間を過ぎて入賞した場合や信号にノイズがのった場合などを不正と判断しないようにするためであり、不正でないにもかかわらず容易にエラーと判定しないようにするためである。
そして、遊技制御装置100は、判定個数以上でない場合には(A2105の結果が「N」)、対象の入賞口スイッチの入賞口監視テーブルを準備する(A2110)。また、判定個数以上の場合には(A2105の結果が「Y」)、不正入賞数を不正発生判定個数に留め(A2106)、対象の不正入賞報知タイマ領域に初期値(例えば60000ms)をセーブする(A2107)。
次に、遊技制御装置100は、対象の不正発生コマンドを演出コマンドとして準備し(A2108)、さらに、不正フラグとして不正入賞発生フラグを準備する(A2109)。そして、準備した不正フラグを対象の不正フラグ領域の値と比較する(A2120)。
一方、遊技制御装置100は、不正監視期間でない場合には(A2102の結果が「N」)、対象の入賞口スイッチの入賞口監視テーブルを準備し(A2110)、賞球の設定を行う入賞数カウンタ更新処理を実行する(A2111)。入賞数カウンタ更新処理の詳細については、後述する。
そして、遊技制御装置100は、対象の報知タイマ更新情報をロードし(A2112)、報知タイマの更新許可の有無を判定する(A2113)。報知タイマの更新が許可されない場合には(A2113の結果が「N」)、不正&入賞監視処理を終了する。一方、報知タイマの更新が許可される場合には(A2113の結果が「Y」)、対象の報知タイマが0でなければ-1更新する(A2114)。なお、報知タイマの最小値は0に設定されている。
報知タイマの更新は、エラー監視対象の入賞口スイッチが普通変動入賞装置37内の入賞口スイッチ(始動口2スイッチ37a)である場合は許可される。また、一つの特別変動入賞装置(大入賞口)内に2つ入賞口スイッチがある場合に、報知タイマの更新は、エラー監視対象の入賞口スイッチが一方である場合は許可され、エラー監視対象の入賞口スイッチが他方の場合は許可されない。これにより、一つの特別変動入賞装置についての不正報知について、報知タイマの更新が倍の頻度で行われてしまい、規定時間(例えば60000ms)の半分でタイムアップしてしまうことを防止している。
その後、遊技制御装置100は、報知タイマの値が0であるか否かを判定し(A2115)、値が0でない場合(A2115の結果が「N」)、すなわち、タイムアップしていない場合には、不正&入賞監視処理を終了する。また、報知タイマの値が0である場合(A2115の結果が「Y」)、すなわち、タイムアップした又は既にタイムアップしていた場合は、対象の不正解除コマンドを演出コマンドとして準備し(A2116)、不正フラグとして不正入賞解除フラグを準備する(A2117)。そして、報知タイマの値が0になった瞬間であるか否かを判定する(A2118)。
遊技制御装置100は、報知タイマの値が0になった瞬間である場合(A2118の結果が「Y」)、すなわち、今回の不正&入賞監視処理で報知タイマの値が0になった場合には、対象の不正入賞数をクリアする(A2119)。
また、遊技制御装置100は、ステップA2119の処理が終了後、又は、報知タイマの値が0になった瞬間でない場合(A2118の結果が「N」)、すなわち、前回以前の不正&入賞監視処理で報知タイマの値が0になった場合には、準備した不正フラグを対象の不正フラグ領域の値と比較する(A2120)。
そして、遊技制御装置100は、準備した不正フラグと対象の不正フラグ領域の値が一致した場合には(A2120の結果が「Y」)、不正&入賞監視処理を終了する。また、準備した不正フラグと対象の不正フラグ領域の値が一致しない場合には(A2120の結果が「N」)、準備した不正フラグを対象の不正フラグ領域にセーブし(A2121)、演出コマンド設定処理を実行する(A2122)。その後、不正&入賞監視処理を終了する。
以上の処理により、不正の発生に伴い不正発生コマンドが演出制御装置300に送信され、不正の解除に伴い不正解除コマンドが演出制御装置300に送信されて、不正の報知の開始、終了が設定されることとなる。
〔入賞数カウンタ更新処理〕
図13は、入賞数カウンタ更新処理の手順を示すフローチャートである。入賞数カウンタ更新処理は、図11に示した入賞口スイッチ/状態監視処理のステップA2009や図12に示した不正&入賞監視処理のステップA2111にて実行される。
遊技制御装置100は、まず、遊技停止中であるか否かを判定する(A2201)。安全装置が作動した場合(安全装置作動中フラグ=1の場合)や、遊技を停止する必要のある強エラー2が発生している場合に、遊技停止中であると判定できる。
遊技制御装置100は、遊技停止中でない場合に(A2201の結果が「N」)、入賞口監視テーブルから監視する入賞口スイッチの個数を取得し(A2202)、対象の入賞口スイッチに入力があるか否かを判定する(A2203)。入賞口監視テーブルのうちの入賞テーブルには、監視する入賞口スイッチ毎に、賞球数、入賞数カウンタ領域1のアドレス、入賞数カウンタ領域2のアドレスなどが定義されている。入力がない場合には(A2203の結果が「N」)、テーブルアドレスを次レコードのアドレスに更新し(A2215)、全スイッチの監視が終了したか否かを判定する(A2216)。
一方、遊技制御装置100は、対象の入賞口スイッチに入力がある場合には(A2203の結果が「Y」)、獲得遊技球数領域から獲得遊技球数をロードし(A2204)、対象の入賞口スイッチに対応する賞球数を獲得遊技球数に加算し(A2205)、加算後の値を獲得遊技球数領域にセーブする(A2206)。これにより、獲得遊技球数領域に記憶される獲得遊技球数が入賞口スイッチごとに更新されていき、獲得遊技球数は、最終的に1割込み内に獲得した賞球の数(合計)になる。
なお、獲得遊技球数領域は、領域内ワーク領域にあり、入賞数カウンタ更新処理のプログラム(領域内プログラムの一部)で書き込まれ、後述の差玉確認処理のプログラム(領域外プログラムの一部)では読み出すだけとなる。なお、全ての入賞口スイッチに同時に入力したとしても賞球の合計値は255(1バイト)に満たないため、獲得遊技球数に対して上限のチェックは行わない。
次に、遊技制御装置100は、対象の入賞数カウンタ領域1の値をロードし(A2207)、ロードした値を+1更新する(A2208)。さらに、更新された値によってオーバーフローが発生するか否かを判定する(A2209)。入賞数カウンタ領域1は、2バイト(0~65535)のサイズである。
遊技制御装置100は、オーバーフローが発生していない場合には(A2209の結果が「N」)、更新後の値を入賞数カウンタ領域1にセーブする(A2210)。ステップA2210の処理の終了後、又は、オーバーフローが発生した場合には(A2209の結果が「Y」)、対象の入賞数カウンタ領域2の値をロードする(A2211)。
その後、遊技制御装置100は、ロードした値を+1更新し(A2212)、更新した値によってオーバーフローが発生するか否かを判定する(A2213)。オーバーフローが発生しない場合には(A2213の結果が「N」)、更新後の値を入賞数カウンタ領域2にセーブする(A2214)。入賞数カウンタ領域2は、1バイト(0~255)のサイズである。
遊技制御装置100は、ステップA2214の処理の終了後、又は、オーバーフローが発生した場合には(A2213の結果が「Y」)、テーブルアドレスを次レコードのアドレスに更新する(A2215)。そして、全スイッチの監視が終了したか否かを判定する(A2216)。
遊技制御装置100は、全スイッチの監視が終了していない場合には(A2216の結果が「N」)、対象の入賞口スイッチに入力があるか否かを判定するステップA2203の処理に戻る。また、全スイッチの監視が終了した場合には(A2216の結果が「Y」)、入賞数カウンタ更新処理を終了する。これにより、全スイッチの監視が終了するまで、ステップA2203-A2216の処理が繰り返されて、1割込み内で獲得した賞球の数(合計)である獲得遊技球数が得られるとともに、1割込み内での各入賞口(各入賞領域)への入賞に基づき入賞数カウンタ領域1及び2が更新されて入賞の情報が記憶されることとなる。
遊技制御装置100は、遊技停止中である場合に(A2201の結果が「Y」)、何もせず、入賞数カウンタ更新処理を終了する。これにより、遊技停止状態において、入賞口スイッチでの遊技球の検出が無効になり、獲得遊技球数は更新されず、入賞数カウンタ領域1及び2が更新されないため入賞の情報が記憶されず賞球も得られない(払い出されない)。なお、遊技停止状態になる前に(即ち、入賞口スイッチでの遊技球の検出が有効であるときに)記憶された入賞の情報に基づく賞球の払い出しは、遊技停止状態でも継続する。
なお、入賞数カウンタ領域1は、払出制御装置200に対して賞球の払い出しを指示するための払出コマンド(賞球指令)を送信するために用いる領域であって、払出コマンドを未だ送信していない賞球に対応する入賞のデータが記憶される。すなわち、入賞数カウンタ領域1が、賞球指令に関する情報を記憶可能な賞球指令カウンタをなす。
入賞数カウンタ領域2は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に外部装置に出力するメイン賞球信号を送信するために用いる領域であって、メイン賞球信号の生成処理を行っていない賞球に対応する入賞のデータが記憶される。すなわち、入賞数カウンタ領域2が、メイン賞球信号に関する情報を記憶可能なメイン賞球信号カウンタをなす。
これらの入賞数カウンタ領域にはそれぞれ、各入賞口に対して設定された賞球数別(例えば、3個賞球、2個賞球、10個賞球、14個賞球)に入賞数カウンタ領域が設けられており、入賞口への入賞に基づき対応する入賞数カウンタ領域のカウント数が1加算されるようになっている。つまり、入賞口への一の入賞を単位として当該入賞の情報を記憶可能とされている。なお、入賞数カウンタ領域1(2バイト)は入賞数カウンタ領域2(1バイト)よりも広い領域が割り当てられ、より多くの入賞のデータを記憶できるようにされている。これは、メイン賞球信号が送信先の状態に関係なく送信可能であることに対し、払出コマンドが送信先である払出制御装置200の状態により送信を保留する場合もあり、より多くの未送信データが蓄積される可能性があるためである。
〔遊技機状態チェック処理〕
図14は、遊技機状態チェック処理の手順を示すフローチャートである。遊技機状態チェック処理は、図11に示した入賞口スイッチ/状態監視処理におけるステップA2012、A2014などにて実行される。
遊技制御装置100は、まず、状態スキャンカウンタに対応する状態監視テーブルを取得する(A2301)。状態スキャンカウンタは遊技状態に対応して0から3の範囲の値が設定されている。なお、状態監視テーブルと状態スキャンカウンタとの関係については、入賞口スイッチ/状態監視処理にて説明した通りである。
続いて、遊技制御装置100は、チェック対象の信号がオンであるか否かを判定する(A2302)。チェック対象の信号がオンでない場合(A2302の結果が「N」)、すなわち、チェック対象の信号がオフの場合には、状態フラグとして状態オフフラグを準備し(A2303)、対象の状態オフコマンドを取得し、準備する(A2304)。さらに、対象の状態オフ監視タイマ比較値を取得する(A2305)。状態オフフラグは、エラー系の信号に関しては、正常状態を示し、タッチスイッチ信号に関しては、タッチ無しの状態を示す。
一方、遊技制御装置100は、チェック対象の信号がオンの場合には(A2302の結果が「Y」)、状態フラグとして状態オンフラグを準備し(A2306)、対象の状態オンコマンドを取得し、準備する(A2307)。さらに、対象の状態オン監視タイマ比較値を取得する(A2308)。状態オンフラグは、エラー系の信号に関しては、異常又は不正状態を示し、タッチスイッチ信号に関しては、タッチ有りの状態を示す。
ステップA2305又はステップA2308の処理が終了すると、遊技制御装置100は、対象の信号制御領域の値が取得された信号の状態と一致するか否かを判定する(A2309)。一致する場合には(A2309の結果が「Y」)、ステップA2312の処理に移行する。一致していない場合には(A2309の結果が「N」)、対象の信号制御領域に取得した信号状態をセーブし(A2310)、対象の状態監視タイマをクリアする(A2311)。
続いて、遊技制御装置100は、対象の状態監視タイマを+1更新する(A2312)。さらに、更新された状態監視タイマの値が対応するタイマ比較値以上であるか否かを判定する(A2313)。更新された状態監視タイマの値が対応するタイマ比較値未満の場合には(A2313の結果が「N」)、遊技機状態チェック処理を終了する。
一方、遊技制御装置100は、更新された状態監視タイマの値が対応するタイマ比較値以上の場合には(A2313の結果が「Y」)、状態監視タイマを-1更新し、タイマ比較値-1の値に留める(A2314)。さらに、準備した状態フラグが対象の状態フラグ領域の値と一致するか否かを判定する(A2315)。一致している場合には(A2315の結果が「Y」)、遊技機状態チェック処理を終了する。
一方、遊技制御装置100は、準備した状態フラグが対象の状態フラグ領域の値と一致していない場合には(A2315の結果が「N」)、準備した状態フラグを対象の状態フラグ領域にセーブする(A2316)。最後に、演出コマンドを設定する演出コマンド設定処理を実行し(A2317)、遊技機状態チェック処理を終了する。
ここでの演出コマンドは、状態オフコマンドか状態オンコマンドの何れかである。状態オンコマンドがエラー系のコマンドであれば、演出制御装置300にエラー報知を開始させる。演出制御装置300にエラー報知を開始させる状態オンコマンドとして、シュート球切れエラーやオーバーフローエラーや払出異常エラーなどの遊技球の払い出しに関する払い出しエラー(弱エラーに含まれる)に対応するコマンドがあり、また、ガラス枠開放エラーや本体枠開放エラーなどの枠開放エラー(強エラー1に含まれる)に対応するコマンドや、枠電波不正のエラー(強エラー2に含まれる)に対応するコマンドがある。
〔確率設定変更/確認処理〕
次に、タイマ割込み処理における確率設定変更/確認処理(A1305)の詳細について説明する。図15は、確率設定変更/確認処理の手順を示すフローチャートである。確率設定変更/確認処理では、確率設定値が変更又は確認できる。
遊技制御装置100は、まず、確率設定値が正常範囲内であるか否かを判定する(A2401)。ここでの確率設定値は、RAM111cの領域内ワーク領域に含まれる確率設定値領域に記憶されている。
遊技制御装置100は、確率設定値が正常範囲内である場合に(A2401の結果が「Y」)、確率設定値に対応する確率設定値表示データを設定して(A2402)、性能表示装置152にドライバ150a、150bを介して出力する(A2404)。確率設定値が正常範囲内でない場合に(A2401の結果が「N」)、確率設定値表示データとして消灯データを設定して(A2403)、性能表示装置152にドライバ150a、150bを介して出力する(A2404)。
ここで、確率設定値表示データは、性能表示装置152で表示される表示用確率設定値のデータであり、確率設定値表示データ領域に記憶されている。なお、遊技場の責任者や係員などホール関係者等の混乱を防止するため、確率設定値が異なっても同じ大当り確率(及び小当たり確率)であれば、表示用確率設定値を大当り確率(及び小当たり確率)に対応付けて同じにしてよい。即ち、同じ表示用確率設定値は、同じ大当り確率(及び小当たり確率)を意味してよい。
次に、遊技制御装置100は、セキュリティ信号制御タイマが0でなければ-1更新する(A2405)。セキュリティ信号制御タイマは、ステップA1037で設定された128ms(所定時間)である。続いて、外部装置(遊技場内部管理装置(ホールコンピュータ)など)に異常を知らせるためのセキュリティ信号のオンデータを外部情報端子71に出力する(A2406)。なお、ここで、大当り信号など外部情報端子71への他の信号はオフ状態に維持される。
その後、遊技制御装置100は、確率設定変更中フラグがセットされているか否かを判定する(A2407)。確率設定変更中フラグがセットされていない場合に(A2407の結果が「N」)、即ち、確率設定確認中である場合に、何もせずに確率設定変更/確認処理を終了する。
遊技制御装置100は、確率設定変更中フラグがセットされている場合に(A2407の結果が「Y」)、即ち、確率設定変更中である場合に、電源投入後の最初のタイマ割込み処理であるか否かを判定する(A2408)。電源投入後の最初のタイマ割込み処理である場合に(A2408の結果が「Y」)、確率設定変更/確認処理を終了する。これは、RAM初期化スイッチ112を押しっぱなしだった場合に、意図せずに確率設定値の更新がされる事態を防止するためである。
遊技制御装置100は、電源投入後の最初のタイマ割込み処理でない場合に(A2408の結果が「N」)、RAM初期化スイッチ112の入力があるか否かを判定する(A2409)。RAM初期化スイッチの入力がない場合に(A2409の結果が「N」)、確率設定変更/確認処理を終了する。
遊技制御装置100は、RAM初期化スイッチ112の入力がある場合に(A2409の結果が「Y」)、作業用設定値領域(RAM111c内又はレジスタ)の作業用設定値を取り得る範囲内で+1更新するとともに、作業用設定値に対応して確率設定値領域の確率設定値を+1更新する(A2410)。これにより、RAM初期化スイッチ112が操作される度に、確率設定値領域の確率設定値が1ずつ更新される。その後、確率設定変更/確認処理を終了する。なお、設定変更モードに入ったときに作業用設定値を格納する作業用設定値領域(RAM111c内又はレジスタ)に、確率設定値領域から読み出した確率設定値に対応する値(確率設定値から1減算した値)が格納されてよい。なお、作業用設定値5(確率設定値6)のときに+1更新される場合は、作業用設定値0(確率設定値1)に戻ることができる。したがって、確率設定値1~6は、何度も繰り返し+1更新して切り替えることができる。また、作業用設定値の取り得る範囲は、複数の確率設定値が存在する多段階設定の場合は例えば0~1や0~5などであるが、一段階設定の場合は0のみである。多段階設定の場合に、RAM初期化スイッチ112が操作される度に作業用設定値と確率設定値が異なる値に更新されるが、一段階設定の場合は更新されても同じ値のままである(同じ値に更新される)。
また、確率設定値が+1更新される毎や、設定可変状態等への遊技状態の切り替えがあった場合に、演出制御装置300に設定値を知らせるコマンド(設定値情報コマンド)を送信してもよい。また、同様に、確率設定値が+1更新される毎や、設定可変状態等への遊技状態の切り替えがあった場合に、試験信号を外部の試射試験装置に出力可能にしてもよい。なお、これらの送信や出力は、遊技制御装置100にメイン異常等の異常がある場合には中止することが好ましい。その他、確変状態、時短状態や大当り状態などの遊技状態の切り替えがあった場合や特図変動表示ゲームの開始時に、演出制御装置300に設定値を知らせるコマンド(設定値情報コマンド)を送信してもよいし、試験信号を外部の試射試験装置に出力可能にしてもよい。
なお、上記では、RAM初期化スイッチ112が操作される度に、作業用設定値の更新に対応して確率設定値領域の確率設定値を直接更新するようにしたが、RAM111cの作業用設定値領域に設定変更中の確率設定値(作業用設定値)を記憶するようにし、設定キースイッチ93がオフになり設定変更作業が完了したときに(A1039の結果が「Y」)、作業用設定値領域の作業用設定値に対応する値をはじめて確率設定値領域に格納するようにしてもよい。このようにすれば、設定変更中に停電が発生した場合(A1040の結果が「Y」)に、遊技制御や演出制御等に使用される確率設定値(確率設定値領域に記憶される確率設定値)が意図しない値で変更される事態を防止できる。
〔特図ゲーム処理〕
次に、前述のタイマ割込み処理における特図ゲーム処理(A1310)の詳細について説明する。図16は、特図ゲーム処理の手順を示すフローチャートである。特図ゲーム処理では、始動口1スイッチ36a及び始動口2スイッチ37aの入力の監視と、特図変動表示ゲームに関する処理全体の制御、特図の表示の設定を行う。
遊技制御装置100は、まず、始動口1スイッチ36a及び始動口2スイッチ37aの入賞を監視する始動口スイッチ監視処理を実行する(A2600)。始動口スイッチ監視処理では、始動入賞口36、第2始動入賞口をなす普通変動入賞装置37に遊技球が入賞すると、各種乱数(大当り乱数など)を抽出し、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。なお、始動口スイッチ監視処理の詳細については後述する。
続いて、特定領域86(V入賞口)への遊技球の入賞(入球)を監視する特定領域スイッチ監視処理を実行する(A2601)。なお、特定領域スイッチ監視処理の詳細については後述する。
次に、遊技制御装置100は、上大入賞口スイッチ監視処理を実行する(A2602)。上大入賞口スイッチ監視処理では、特別変動入賞装置39内に設けられたカウントスイッチ39aでの遊技球の検出を監視する。
次に、遊技制御装置100は、特図ゲーム処理タイマが0でなければ-1更新する(1だけ減算する)(A2603)。特図ゲーム処理タイマは、-1更新によって、タイマ割込み処理の割込み周期(4msec)の分だけ計時されることになる。なお、特図ゲーム処理タイマの最小値は0に設定されている。次に、特図ゲーム処理タイマが0であるか否かを判定する(A2604)。特図ゲーム処理タイマが0でない場合(A2604の結果が「N」)、ステップA2619の処理に移行する。
遊技制御装置100は、特図ゲーム処理タイマが0である場合(A2604の結果が「Y」)、すなわち、タイムアップした又は既にタイムアップしていた場合には、特図ゲーム処理番号に対応する処理に分岐させるために参照する特図ゲームシーケンス分岐テーブルをレジスタに設定する(A2605)。さらに、特図ゲームシーケンス分岐テーブルを用いて特図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(A2606)。続いて、特図ゲーム処理番号によるサブルーチンコールを行って、特図ゲーム処理番号に応じたゲーム分岐処理を実行する(A2607)。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「0」の場合には、特図変動表示ゲームの変動開始を監視し、特図変動表示ゲームの変動開始の設定、演出の設定や、特図変動中処理を行うために必要な情報の設定等を行う特図普段処理を実行する(A2608)。なお、特図普段処理の詳細については後述する。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「1」の場合には、特図の停止表示時間の設定や、特図表示中処理を行うために必要な情報の設定等を行う特図変動中処理を実行する(A2609)。例えば、特図変動中処理では、特別図柄の停止を示す図柄停止コマンドや停止図柄パターンに対応する停止表示時間など必要な情報を設定して、特図表示中処理に係る処理番号「2」を設定し特図ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「2」の場合には、大当り状態又は小当り状態に移行するために必要な情報の設定等を行う特図表示中処理を実行する(A2610)。例えば、特図表示中処理では、特図変動表示ゲームの結果が大当りであれば、条件装置が作動中であることを示す条件装置作動情報を条件装置作動情報領域に設定して特図普段処理に係る処理番号「0」を設定し特図ゲーム処理番号領域にセーブする。特図変動表示ゲームの結果が小当りであれば、小当りファンファーレコマンドや小当り開放前時間など必要な情報を設定して、小当り開放前処理に係る処理番号「3」を設定し特図ゲーム処理番号領域にセーブする。特図変動表示ゲームの結果がはずれであれば、特図普段処理に係る処理番号「0」を設定し特図ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「3」の場合には、小当り開放前処理を実行する(A2611)。例えば、小当り開放前処理では、小当りによる大入賞口の開放時間(小当り開放時間、例えば1.6秒)を特図ゲーム処理タイマ領域にセーブし、上大入賞口ソレノイド出力データ領域にオンデータをセーブし、小当り開放中コマンドを演出コマンドとして設定し、小当り開放中処理に係る処理番号「4」を設定し特図ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「4」の場合には、小当り開放中処理を実行する(A2612)。例えば、小当り開放中処理では、小当り残存球処理時間(例えば3.0秒)を特図ゲーム処理タイマ領域にセーブし、小当り残存球処理に係る処理番号「5」を設定し特図ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA2607にてゲーム処理番号が「5」の場合には、小当り残存球処理を実行する(A2613)。例えば、小当り残存球処理では、特図普段処理に係る処理番号「0」を設定し特図ゲーム処理番号領域にセーブする。
特図ゲーム処理番号に基づく処理が終了すると、遊技制御装置100は、特図1表示器51の変動を制御するための特図1変動制御テーブルを準備した後(A2614)、特図1表示器51に係る図柄変動制御処理を実行する(A2615)。そして、特図2表示器52の変動を制御するための特図2変動制御テーブルを準備した後(A2616)、特図2表示器52に係る図柄変動制御処理を実行する(A2617)。次に、小当り中にレバーソレノイド86bを開放するようにレバーソレノイド86bの開放動作を制御するレバーソレノイド制御処理(A2618)を実行して、特図ゲーム処理を終了する。
〔始動口スイッチ監視処理〕
次に、特図ゲーム処理における始動口スイッチ監視処理(A2600)の詳細について説明する。図17は、始動口スイッチ監視処理の手順を示すフローチャートである。
遊技制御装置100は、まず、始動入賞口36(始動口1)に対する入賞監視テーブルを準備し(A2701)、ハード乱数取得処理を実行し(A2702)、始動入賞口36への入賞があるか否かを判定する(A2703)。始動入賞口36への入賞がない場合(A2703の結果が「N」)には、ステップA2709以降の処理を実行する。一方、始動入賞口36への入賞がある場合(A2703の結果が「Y」)、右打ちする遊技状態であるか否かを判定する(A2704)。
遊技制御装置100は、右打ちする遊技状態でないと判定した場合(A2704の結果が「N」)、ステップA2707以降の処理を実行する。一方、右打ちする遊技状態である場合(A2704の結果が「Y」)、右打ち指示報知コマンドを演出コマンドとして準備して(A2705)、演出コマンド設定処理を実行する(A2706)。演出コマンド設定処理では、シリアル送信バッファに演出コマンドを書き込み、演出コマンドが演出制御装置300に送信されることになる。
即ち、普電サポート状態(時短状態)であれば、変動表示ゲームの確率状態(高確率状態/低確率状態)にかかわらず、右打ち指示報知コマンドを準備して、演出コマンド設定処理を実行する。本実施形態の場合、始動入賞口36へは左打ちの方が入賞し易く、普通変動入賞装置37へは右打ちでないと入賞しない。また、右打ちでないと、遊技球が普図始動ゲート34を通過しない。したがって、普電サポート状態(時短状態)は、左打ちよりも右打ちの方が有利となるが、普電サポート状態中に始動入賞口36に入賞があった場合(すなわち、普電サポート状態中に左打ちされた場合)には、右打ち指示報知コマンドを演出制御装置300に送信し、演出制御装置300は、右打ちするよう指示する報知(警告)を右打ち指示表示によって表示装置41等で実行する。
次に、遊技制御装置100は、始動入賞口36(始動口1)による保留の情報を設定するテーブルを準備した後(A2707)、特図始動口スイッチ共通処理を実行する(A2708)。そして、第2始動入賞口(普通変動入賞装置37)に対する入賞監視テーブルを準備し(A2709)、ハード乱数取得処理を実行し(A2710)、第2始動入賞口への入賞があるか否かを判定する(A2711)。第2始動入賞口への入賞がない場合(A2711の結果が「N」)には、始動口スイッチ監視処理を終了する。
一方、遊技制御装置100は、第2始動入賞口への入賞がある場合(A2711の結果が「Y」)には、普通電動役物(普通変動入賞装置37)が作動中であるか否か、すなわち、普通変動入賞装置37が作動して遊技球の入賞が可能な開状態となっているか否かを判定する(A2712)。普通電動役物が作動中である場合(A2712の結果が「Y」)、ステップA2714の処理に移行する。
一方、遊技制御装置100は、普通電動役物が作動中でない場合(A2712の結果が「N」)、普電不正発生中であるかを判定する(A2713)。普通変動入賞装置37への不正入賞数が不正発生判定個数(例えば5個)以上である場合に普電不正発生中であると判定する。普通変動入賞装置37は、閉状態では遊技球が入賞不可能であり、開状態でのみ遊技球が入賞可能である。従って、閉状態で遊技球が入賞した場合は何らかの異常や不正が発生した場合であり、このような閉状態で入賞した遊技球があった場合はその数を不正入賞数として計数する。そして、このように計数された不正入賞数が所定の不正発生判定個数(上限値)以上である場合に不正発生中と判定する。
遊技制御装置100は、普電不正発生中でない場合(A2713の結果が「N」)、第2始動入賞口(普通変動入賞装置37)による保留の情報を設定するテーブルを準備した後(A2714)、特図始動口スイッチ共通処理を実行し(A2715)、始動口スイッチ監視処理を終了する。また、A2713にて、普電不正発生中である(A2713の結果が「Y」)と判定した場合にも、始動口スイッチ監視処理を終了する。すなわち、第2始動記憶をそれ以上発生させないようにする。
〔特図始動口スイッチ共通処理〕
次に、始動口スイッチ監視処理における特図始動口スイッチ共通処理(A2708、A2715)の詳細について説明する。図18は、特図始動口スイッチ共通処理の手順を示すフローチャートである。特図始動口スイッチ共通処理は、始動口1スイッチ36aや始動口2スイッチ37aの入力があった場合に、各々の入力について共通して行われる処理である。
遊技制御装置100は、まず、始動口1スイッチ36a及び始動口2スイッチ37aのうち、監視対象の始動口スイッチへの入賞の回数に関する情報を遊技機10の外部の管理装置に対して出力する回数である始動口信号出力回数をロードし(A2901)、ロードした値を+1更新して(A2902)、出力回数がオーバーフローするか否かを判定する(A2903)。出力回数がオーバーフローしない場合(A2903の結果が「N」)、更新後の値をRWMの始動口信号出力回数領域にセーブして(A2904)、ステップA2905の処理に移行する。一方、出力回数がオーバーフローする場合(A2903の結果が「Y」)、ステップA2905の処理に移行する。本実施形態では、始動口信号出力回数領域に「0」から「255」までの値を記憶することができる。そして、ロードした値が「255」である場合には+1更新によって更新後の値は「0」になり、出力回数がオーバーフローすると判定するよう構成されている。
次に、遊技制御装置100は、始動口1スイッチ36a及び始動口2スイッチ37aのうち、監視対象の始動口スイッチに対応する更新対象の特図保留数(始動記憶数)が上限値(ここでは4)未満か否かを判定する(A2905)。更新対象の特図保留数が上限値未満でない場合(A2905の結果が「N」)は、特図始動口スイッチ共通処理を終了する。また、更新対象の特図保留数が上限値未満(ここでは4)である場合(A2905の結果が「Y」)は、更新対象の特図保留数(特図1保留数又は特図2保留数)を+1更新して(A2906)、対象の始動口入賞フラグをセーブする(A2907)。
次に、遊技制御装置100は、監視対象の始動口スイッチ及び特図保留数に対応する乱数格納領域のアドレスを算出して(A2908)、ステップA2805にて準備した大当り乱数をRWMの大当り乱数格納領域にセーブする(A2909)。次に、監視対象の始動口スイッチの検出によって開始する特図変動表示ゲームの大当り図柄乱数を抽出し、RWMの大当り図柄乱数格納領域にセーブする(A2910)。続いて、監視対象の始動口スイッチの検出によって開始する特図変動表示ゲームの小当り図柄乱数を抽出し、小当り図柄乱数格納領域にセーブする(A2911)。また、時短図柄を決定するためのサポ当り図柄乱数を抽出し、サポ当り図柄乱数をRWMのサポ当り図柄乱数格納領域にセーブする(A2912)。
なお、本実施形態では、前述のように小当り後に確実にV入賞によって大当りが発生するため、小当り図柄乱数を使用しなくてもよく、ステップA2911はオプションであり実行されなくてもよい。また、特図1変動表示ゲームに小当り結果はないため、監視対象の始動口スイッチが始動口1スイッチ36aであれば、小当り図柄乱数を抽出しなくてもよい。
なお、小当り図柄乱数、サポ当り図柄乱数、大当り図柄乱数は、後述の特図1停止図柄設定処理(A3403)と特図2停止図柄設定処理(A3503)において、小当り時の停止図柄番号、サポ当り時の停止図柄番号、又は大当り時の停止図柄番号と、これら停止図柄番号に対応する小当り停止図柄パターン、サポ当り停止図柄パターン、又は大当り停止図柄パターンを決定するために用いられる。
本実施形態において、混乱を回避するため、小当り図柄乱数、サポ当り図柄乱数、大当り図柄乱数は、各々、独立に設けられるが、RWMの乱数格納領域を小さくするため、1つの乱数(共通乱数)を共用して、小当り図柄(小当り時の停止図柄番号、小当り停止図柄パターン)、サポ当り図柄(サポ当り時の停止図柄番号、サポ当り停止図柄パターン)、大当り図柄(大当り時の停止図柄番号、大当り停止図柄パターン)の振り分けを行ってよい。即ち、小当り図柄を決定する場合に、共通乱数の範囲を区分して各小当り図柄に割り当てたり、サポ当り図柄を決定する場合に、共通乱数の範囲を区分して各サポ当り図柄に割り当てたり、大当り図柄を決定する場合に、共通乱数の範囲を区分して各大当り図柄に割り当てたりしてよい。
次に、遊技制御装置100は、変動パターン乱数1から3を対応するRWMの変動パターン乱数格納領域にセーブして(A2913)、変動表示ゲームの結果(遊技結果)を事前に判定可能な特図保留情報判定処理(事前判定処理、先読み処理)を実行する(A2914)。特図保留情報判定処理では、セーブした大当り乱数や当り図柄乱数(大当り図柄乱数、小当り図柄乱数、サポ当り図柄乱数)などに基づく停止図柄情報(大当り停止図柄、小当り停止図柄、時短停止図柄、はずれ停止図柄)に対応する先読み停止図柄コマンドや、セーブした変動パターン乱数1から3に基づく前半変動番号(リーチ前変動の番号)及び後半変動番号(リーチ後変動の番号)に対応する先読み変動パターンコマンドを演出コマンドとして設定する。そして、監視対象の始動口スイッチ及び特図保留数に対応する飾り特図保留数コマンドを演出コマンドとして準備し(A2915)、演出コマンド設定処理(A2916)を実行して、特図始動口スイッチ共通処理を終了する。このように、遊技制御装置100は、始動記憶に基づく変動表示ゲームが実行されるよりも前に当該変動表示ゲームの結果を事前に判定可能な事前判定手段を構成する。
ここで、遊技制御装置100(RAM111c)は、始動入賞口36や普通変動入賞装置37の始動入賞領域への遊技球の流入に基づき、所定の乱数を抽出し前記変動表示ゲームの実行権利となる始動記憶として所定数を上限に記憶する始動記憶手段をなす。また、始動記憶手段(遊技制御装置100)は、第1始動入賞口(始動入賞口36)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第1始動記憶として記憶し、第2始動入賞口(普通変動入賞装置37)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第2始動記憶として記憶する。
〔特定領域スイッチ監視処理〕
次に、特図ゲーム処理における特定領域スイッチ監視処理(A2601)の詳細について説明する。図19は、特定領域スイッチ監視処理の手順を示すフローチャートである。
遊技制御装置100は、まず、小当り中であるか否かを判定する(A3001)。特図ゲーム処理番号が「4」「5」であれば、小当り中であると判定できる。小当り中である場合に(A3001の結果が「Y」)、条件装置作動中であるか否かを判定する(A3002)。条件装置が作動中であることを示す条件装置作動情報が設定されていれば、条件装置作動中であると判定できる。
遊技制御装置100は、条件装置作動中でない場合に(A3002の結果が「N」)、特定領域スイッチ72に入力があるか否かを判定する(A3003)。特定領域スイッチ72に入力がある場合に(A3003の結果が「Y」)、即ち、特定領域86への入賞(V入賞)があった場合に、条件装置が作動中であることを示す条件装置作動情報を条件装置作動情報領域にセーブして(A3004)、特定領域スイッチ監視処理を終了する。
小当り中でない場合(A3001の結果が「N」)、条件装置作動中である場合(A3002の結果が「Y」)、又は、特定領域スイッチ72に入力がない場合に(A3003の結果が「N」)、何もせずに特定領域スイッチ監視処理を終了する。
〔特図普段処理〕
次に、特図ゲーム処理における特図普段処理(A2608)の詳細について説明する。図20は、特図普段処理の手順を示すフローチャートである。
遊技制御装置100は、まず、後述の役物ゲーム処理の役物普段処理中であり、且つ、大入賞口の残存球カウンタが0であるか否かを判定する(A3200)。役物普段処理中でないか、又は、大入賞口の残存球カウンタが0でない場合に(A3200の結果が「N」)、特図変動表示ゲームを開始せずステップA3215の処理に移行する。
遊技制御装置100は、役物普段処理中であり、且つ、大入賞口の残存球カウンタが0である場合に(A3200の結果が「Y」)、特図2保留数(第2始動記憶数)が0であるか否かを判定する(A3201)。特図2保留数が0である場合(A3201の結果が「Y」)、特図1保留数(第1始動記憶数)が0であるか否かを判定する(A3206)。そして、特図1保留数が0である場合(A3206の結果が「Y」)、客待ちデモが開始済みであるか否かを判定し(A3211)、客待ちデモが開始済みでない場合(A3211の結果が「N」)は、客待ちデモフラグ領域に客待ちデモ中フラグをセットする(A3212)。
続けて、遊技制御装置100は、客待ちデモコマンドを演出コマンドとして準備して(A3213)、演出コマンド設定処理を行い(A3214)、ステップA3215の処理に移行する。一方、ステップA3211にて、客待ちデモが開始済みである場合(A3211の結果が「Y」)、処理番号として特図普段処理に係る「0」を設定し(A3215)、特図ゲーム処理番号領域に処理番号をセーブして(A3216)、変動図柄判別フラグ領域をクリアする(A3217)。そして、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(A3218)、特図普段処理を終了する。
また、遊技制御装置100は、特図2保留数が0でない場合(A3201の結果が「N」)、特図2変動開始処理を実行し(A3202)、特図2保留数に対応する飾り特図保留数コマンド(飾り特図2保留数コマンド)を演出コマンドとして準備して(A3203)、演出コマンド設定処理を実行する(A3204)。そして、特図2の特図変動中処理移行設定処理を実行し(A3205)、特図普段処理を終了する。
特図2の特図変動中処理移行設定処理では、処理番号として「1」を設定し特図ゲーム処理番号領域に処理番号をセーブし、客待ちデモフラグ領域をクリアし、特図2変動制御フラグ領域に変動中フラグをセーブする。
また、遊技制御装置100は、特図1保留数が0でない場合(A3206の結果が「N」)、特図1変動開始処理を実行し(A3207)、特図1保留数に対応する飾り特図保留数コマンド(飾り特図1保留数コマンド)を演出コマンドとして準備して(A3208)、演出コマンド設定処理を実行する(A3209)。そして、特図1の特図変動中処理移行設定処理を実行し(A3210)、特図普段処理を終了する。
特図1の特図変動中処理移行設定処理では、処理番号として「1」を設定し特図ゲーム処理番号領域に処理番号をセーブし、客待ちデモフラグ領域をクリアし、特図1変動制御フラグ領域に変動中フラグをセーブする。
このように、特図2保留数のチェックを特図1保留数のチェックよりも先に行うことで、特図2保留数が0でない場合には特図2変動開始処理(A3202)が実行されることとなる。すなわち、特図2変動表示ゲームが特図1変動表示ゲームに優先して実行されることとなる(特図2保留優先消化)。つまり、遊技制御装置100が、第2始動記憶手段(遊技制御装置100)に第2始動記憶がある場合には、当該第2始動記憶に基づく変動表示ゲームを、第1始動記憶に基づく変動表示ゲームよりも優先的に実行する優先制御手段をなす。なお、特図1変動表示ゲームが特図2変動表示ゲームに優先して実行されることとする特図1保留優先消化にする場合には、ステップA3201の判定を、特図1保留数≠0であるか否かを判定すればよい。
〔特図1変動開始処理〕
次に、特図普段処理における特図1変動開始処理(A3207)の詳細について説明する。図21は、特図1変動開始処理の手順を示すフローチャートである。特図1変動開始処理は、特図1変動表示ゲームの開始時に行う処理である。
遊技制御装置100は、実行する特図変動表示ゲームの種別(ここでは特図1)を示す特図1変動フラグを変動図柄判別領域にセーブする(A3401)。続いて、特図1変動表示ゲームが大当りであるか否かを判別するための大当りフラグ1にはずれ情報や大当り情報を設定するなどの処理を行う大当りフラグ1設定処理を実行する(A3402)。大当りフラグ1設定処理の詳細については後述する。
次に、遊技制御装置100は、特図1変動表示ゲームに関する特図1停止図柄(図柄情報)の設定に係る特図1停止図柄設定処理を実行する(A3403)。特図1停止図柄設定処理では、はずれ時、サポ当り時、又は大当り時の停止図柄番号と、この停止図柄番号に対応するはずれ停止図柄パターン、サポ当り停止図柄パターン、又は大当り停止図柄パターンをセーブする。サポ当り時、又は大当り時の停止図柄番号は、各々、サポ当り図柄乱数、大当り図柄乱数に対応して決定される。
さらに、遊技制御装置100は、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理を実行する(A3404)。
続いて、遊技制御装置100は、特図1変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図1変動パターン設定情報テーブルを準備する(A3405)。
その後、遊技制御装置100は、特図1変動表示ゲームにおける変動態様である変動パターン(変動パターン番号)を設定する変動パターン設定処理を実行する(A3406)。次に、遊技制御装置100は、特図1変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理を実行し(A3407)、特図1変動開始処理を終了する。変動開始情報設定処理では、変動パターン(変動パターン番号)に対応する変動時間値を取得し、特図ゲーム処理タイマ領域にセーブする。そして、変動パターン番号に対応する変動コマンド(MODE、ACTION)を演出コマンドとして準備して、演出コマンド設定処理を行う。また、変動開始情報設定処理では、これから開始する特図変動表示ゲームの特図種別(特図1又は特図2)に係る特図保留数を-1更新する(1だけ減少する)。
〔特図2変動開始処理〕
次に、特図普段処理における特図2変動開始処理(A3202)の詳細について説明する。図22は、特図2変動開始処理の手順を示すフローチャートである。特図2変動開始処理は、特図2変動表示ゲームの開始時に行う処理であって、図21に示した特図1変動開始処理での処理と同様の処理を、第2始動記憶を対象として行うものである。
遊技制御装置100は、まず、実行する特図変動表示ゲームの種別(ここでは特図2)を示す特図2変動フラグを変動図柄判別領域にセーブする(A3501)。続いて、特図2変動表示ゲームが大当りであるか否かを判別するための大当りフラグ2にはずれ情報や大当り情報を設定するなどの処理を行う大当りフラグ2設定処理を実行する(A3502)。
次に、遊技制御装置100は、特図2変動表示ゲームに関する特図2停止図柄(図柄情報)の設定に係る特図2停止図柄設定処理を実行する(A3503)。さらに、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理を実行する(A3504)。続いて、特図2変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図2変動パターン設定情報テーブルを準備する(A3505)。
その後、遊技制御装置100は、特図2変動表示ゲームの変動パターンを設定する変動パターン設定処理を実行する(A3506)。最後に、特図2変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理を実行し(A3507)、特図2変動開始処理を終了する。
〔大当りフラグ1設定処理〕
次に、特図1変動開始処理における大当りフラグ1設定処理(A3402)の詳細について説明する。図23は、大当りフラグ1設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、大当りフラグ1領域、サポ当りフラグ1領域にはずれ情報をセーブする(A3601)。次に、RWMの特図1大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(A3602)、当該特図1大当り乱数格納領域(保留数1用)を0クリアする(A3603)。なお、保留数1用とは、消化順序が最先(ここでは特図1のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理を実行する(A3604)。
遊技制御装置100は、大当り判定処理(A3604)の判定結果が大当りである場合(A3605の結果が「Y」)、ステップA3601にてはずれ情報をセーブした大当りフラグ1領域に大当り情報を上書きしてセーブし(A3606)、大当りフラグ1設定処理を終了する。
一方、大当り判定処理(A3605)の判定結果が大当りでない場合(A3605の結果が「N」)、オプションで、取得した大当り乱数値に基づいて、特図変動表示ゲームがサポ当りであるか否かを判定するサポ当り判定処理を実行し(A3607)、判定の結果はサポ当りであるか否か判断する(A3608)。なお、本実施形態では、サポ当りの判定にも大当り乱数値が使用される(別の言い方では、サポ当り判定と大当り判定に同じ乱数値が使用される)。ここで、特図変動表示ゲームのサポ当り(時短当り)とは、次回の特図変動表示ゲームから時短状態に突入する時短結果(特定結果)のことであり、この時短結果に対応して、演出制御装置300は、飾り特図変動表示ゲームの停止結果として時短図柄を表示装置41に表示できる。
遊技制御装置100は、特図変動表示ゲームがサポ当りである場合(A3608の結果が「Y」)、ステップA3601にてはずれ情報をセーブしたサポ当りフラグ1領域にサポ当り情報を上書きしてセーブし(A3609)、大当りフラグ1設定処理を終了する。一方、特図変動表示ゲームがサポ当りでない場合(A3608の結果が「N」)、サポ当りフラグ1領域にサポ当り情報をセーブすることなく、大当りフラグ1設定処理を終了する。
このように、本実施形態において、特図1変動表示ゲームの結果は、「大当り」、「サポ当り(時短当り)」、及び「はずれ」のうちの何れかとなり、「小当り」はない。なお、ステップA3607-A3609は、オプションで設けられるものであり、これらを省略して、特図1変動表示ゲームの結果に「サポ当り(時短当り)」を設けなくてもよい。また、特図1変動表示ゲームの結果に「小当り」を設ける構成も可能である。
なお、大当りフラグ1設定処理において、サポ当りフラグ1領域にサポ当り情報をセーブする構成としたが、大当りとサポ当りは重複しないため、大当りフラグ1領域にサポ当り情報をセーブしてもよい。
〔大当りフラグ2設定処理〕
次に、特図2変動開始処理における大当りフラグ2設定処理(A3502)の詳細について説明する。図24は、大当りフラグ2設定処理の手順を示すフローチャートである。この処理は、図23に示した大当りフラグ1設定処理での処理と同様の処理を、第2始動記憶を対象として行うものである。
遊技制御装置100は、まず、大当りフラグ2領域、小当りフラグ2領域、サポ当りフラグ2領域にはずれ情報をセーブする(A3701)。次に、RWMの特図2大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(A3702)、当該特図2大当り乱数格納領域(保留数1用)を0クリアする(A3703)。なお、保留数1用とは、消化順序が最先(ここでは特図2のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、準備した大当り乱数値が小当り判定値と一致するか否かに応じて小当りであるか否かを判定する小当り判定処理を実行する(A3704)。
遊技制御装置100は、小当り判定処理(A3704)の判定結果が小当りである場合(A3705の結果が「Y」)、ステップA3701にてはずれ情報をセーブした小当りフラグ2領域に小当り情報を上書きしてセーブし(A3706)、大当りフラグ2設定処理を終了する。
一方、遊技制御装置100は、特図変動表示ゲームが小当りでない場合(A3705の結果が「N」)、取得した大当り乱数値に基づいて、特図変動表示ゲームがサポ当りであるか否かを判定するサポ当り判定処理を実行し(A3707)、判定の結果はサポ当りであるか否か判断する(A3708)。なお、本実施形態では、サポ当りの判定にも大当り乱数値が使用される(別の言い方では、サポ当り判定と大当り判定に同じ乱数値が使用される)。ここで、特図変動表示ゲームのサポ当り(時短当り)とは、次回の特図変動表示ゲームから時短状態に突入する時短結果(特定結果)のことであり、この特定結果に対応して、演出制御装置300は、飾り特図変動表示ゲームの停止結果として時短図柄を表示装置41に表示できる。
遊技制御装置100は、特図変動表示ゲームがサポ当りである場合(A3708の結果が「Y」)、ステップA3701にてはずれ情報をセーブしたサポ当りフラグ2領域にサポ当り情報を上書きしてセーブし(A3709)、大当りフラグ2設定処理を終了する。
一方、サポ当り判定処理(A3707)の判定結果がサポ当りでない場合(A3708の結果が「N」)は、オプションで、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理を実行してもよい(A3710)。遊技制御装置100は、大当り判定処理(A3710)の判定結果が大当りである場合(A3711の結果が「Y」)、ステップA3701にてはずれ情報をセーブした大当りフラグ2領域に大当り情報を上書きしてセーブし(A3712)、大当りフラグ2設定処理を終了する。一方、大当り判定処理(A3710)の判定結果が大当りでない場合(A3711の結果が「N」)、大当りフラグ2領域にはずれ情報をセーブしたまま大当りフラグ2設定処理を終了する。
このように、本実施形態では、特図2変動表示ゲームの結果は、「小当り」、「サポ当り(時短当り)」、及び「はずれ」のうちの何れかとなるが、オプションで、特図2変動表示ゲームの結果として「大当り」を設ける構成も可能である。
なお、大当りフラグ2設定処理において、小当りフラグ2領域に小当り情報をセーブし、サポ当りフラグ2領域にサポ当り情報をセーブする構成としたが、大当りとサポ当りと小当りは重複しないため、大当りフラグ2領域に小当り情報とサポ当り情報をセーブしてもよい。
〔大当り判定処理〕
次に、大当りフラグ1設定処理と大当りフラグ2設定処理等における大当り判定処理(A3604、A3710)の詳細について説明する。図25Aは、大当り判定処理の手順を示すフローチャートである。なお、大当り判定処理は、タイマ割込み処理中に実行される他の処理における大当り判定処理に共通する処理であり、特図保留情報判定処理などでも実行される。
遊技制御装置100は、まず、確率設定値に対応する上限判定値を設定し(A3800)、大当り判定値の下限判定値を設定し(A3801)、対象の大当り乱数の値が下限判定値未満であるか否かを判定する(A3802)。なお、大当りであるとは大当り乱数が大当り判定値と一致することである。大当り判定値は連続する複数の値であり、大当り乱数が、大当り判定値の下限の値である下限判定値以上で、かつ、大当り判定値の上限の値である上限判定値以下である場合に、大当りであると判定される。上限判定値は、低確率状態(確変状態以外の通常確率状態)と高確率状態(確変状態)で異なってよい。
遊技制御装置100は、対象の大当り乱数の値が下限判定値未満である場合(A3802の結果が「Y」)、判定結果としてはずれ(大当り以外)を設定し(A3804)、大当り判定処理を終了する。
遊技制御装置100は、対象の大当り乱数の値が上限判定値より大きいか否かを判定する(A3803)。大当り乱数の値が上限判定値より大きい場合(A3803の結果が「Y」)、判定結果としてはずれ(大当り以外)を設定する(A3804)。一方、大当り乱数の値が上限判定値より大きくない場合(A3803の結果が「N」)、判定結果として大当りを設定する(A3805)。判定結果を設定すると、大当り判定処理を終了する。
〔小当り判定処理〕
次に、大当りフラグ2設定処理における小当り判定処理(A3704)の詳細について説明する。図25Bは、小当り判定処理の手順を示すフローチャートである。なお、小当り判定処理は、タイマ割込み処理中に実行される他の処理における小当り判定処理に共通する処理であり、特図保留情報判定処理などでも実行される。
遊技制御装置100は、まず、確率設定値に対応する小当り上限判定値を設定し(A3900)、対象(特図2)の大当り乱数の値が小当り下限判定値未満であるか否かを判定する(A3901)。なお、小当りであるとは大当り乱数が小当り判定値と一致することである。小当り判定値は連続する複数の値であり、大当り乱数が、小当り判定値の下限の値である小当り下限判定値以上で、かつ、小当り判定値の上限の値である小当り上限判定値以下である場合に、小当りであると判定される。小当り上限判定値は、低確率状態(確変状態以外の通常確率状態)と高確率状態(確変状態)で異なってよい。
当然ながら、同じ特図変動表示ゲームの結果が小当り且つ大当りとなることを避けるべく、小当り判定値の範囲(小当り下限判定値と小当り上限判定値の間)は、前述の大当り判定値の範囲(下限判定値と上限判定値の間)とは重ならない。なお、本実施形態では、独自に小当り乱数を設けることはせず、小当りの判定にも大当り乱数を利用するが、独自の小当り乱数を設ける構成も可能である。
遊技制御装置100は、対象(特図2)の大当り乱数の値が小当り下限判定値未満である場合(A3901の結果が「Y」)、判定結果としてはずれを設定し(A3903)、小当り判定処理を終了する。
また、遊技制御装置100は、大当り乱数の値が小当り下限判定値未満でない場合には(A3901の結果が「N」)、対象(特図2)の大当り乱数の値が小当り上限判定値より大きいか否かを判定する(A3902)。大当り乱数の値が小当り上限判定値より大きい場合(A3902の結果が「Y」)、判定結果としてはずれを設定する(A3903)。一方、大当り乱数の値が小当り上限判定値より大きくない場合(A3902の結果が「N」)、判定結果として小当りを設定する(A3904)。判定結果を設定すると、小当り判定処理を終了する。なお、本実施形態では、小当り確率が1/8(=12.5%)になるように、小当り下限判定値と小当り上限判定値が設定されるが、小当り確率は他の値でもよい。
〔サポ当り判定処理〕
次に、大当りフラグ1設定処理と大当りフラグ2設定処理等におけるサポ当り判定処理(A3607、A3707)の詳細について説明する。図25Cは、サポ当り判定処理の手順を示すフローチャートである。なお、サポ当り判定処理は、タイマ割込み処理中に実行される他の処理におけるサポ当り判定処理に共通する処理であり、特図保留情報判定処理などでも実行される。
遊技制御装置100は、まず、確率設定値に対応するサポ当り上限判定値を設定する(A7001)。次に、サポ当り判定値の下限判定値を設定し(A7002)、対象の大当り乱数の値が下限判定値未満であるか否かを判定する(A7003)。なお、サポ当りであるとは、大当り乱数が、確率設定値と遊技状態に対応するサポ当り判定値と一致することである。サポ当り判定値は連続する複数の値であり、大当り乱数が、サポ当り判定値の下限の値である下限判定値以上で、かつ、サポ当り判定値の上限の値であるサポ当り上限判定値以下である場合に、サポ当りであると判定される。なお、サポ当り上限判定値は、低確率状態(確変状態以外の通常確率状態)と高確率状態(確変状態)で異なってよい。
当然ながら、同じ特図変動表示ゲームの結果がサポ当り且つ大当り、又は、サポ当り且つ小当りとなることを避けるべく、サポ当り判定値の範囲(サポ当り下限判定値とサポ当り上限判定値の間)は、前述の大当り判定値及び小当り判定値の範囲とは重ならない。なお、本実施形態では、独自にサポ当り乱数を設けることはせず、サポ当りの判定にも大当り乱数を利用するが、独自のサポ当り乱数を設ける構成も可能である。
遊技制御装置100は、対象の大当り乱数の値がサポ当り下限判定値未満である場合(A7003の結果が「Y」)、判定結果としてはずれ(サポ当り以外)を設定し(A7005)、サポ当り判定処理を終了する。
また、遊技制御装置100は、大当り乱数の値がサポ当り下限判定値未満でない場合には(A7003の結果が「N」)、対象の大当り乱数の値がサポ当り上限判定値より大きいか否かを判定する(A7004)。大当り乱数の値がサポ当り上限判定値より大きい場合(A7004の結果が「Y」)、判定結果としてはずれ(サポ当り以外)を設定する(A7005)。一方、大当り乱数の値がサポ当り上限判定値より大きくない場合(A7004の結果が「N」)、判定結果としてサポ当りを設定する(A7006)。判定結果を設定すると、サポ当り判定処理を終了する。
サポ当り判定処理では、大当り乱数値を用いた抽選によって、サポ当り判定(時短判定)が行われる。抽選としてのサポ当り判定(時短判定)では、大当り乱数値がサポ当り判定値(時短判定値)に一致すると、判定結果として、サポ当り結果(時短結果、特定結果)が得られ時短が設定される。サポ当り判定値は、大当り判定値及び小当り判定値とは異なる。
なお、メリハリを付けるために、確率設定値毎にサポ当りの当選確率(サポ当り判定値の範囲÷大当り乱数の範囲)を異ならせてもよいし、簡便のために、確率設定値毎にサポ当りの当選確率を同じにしてもよい。設定1(又は低設定側)がサポ当りに当選し易く、設定6(又は高設定側)がサポ当りに当選し難くなるようにサポ当りの当選確率を設定して、低設定の不利益を緩和してよいし、逆に設定して、高設定側でサポ当りに当選し易いと期待する遊技者の期待感に合わせてよい。また、設定1から設定6へと、単調にサポ当りの当選確率を変化させてもよいし、設定の2段階ごとに変化させるなど単調でなくてもよい。偶数設定と奇数設定とでサポ当りの当選確率を異ならせて、確率設定値の推定に関する遊技者の興趣を向上してよい。
また、大当り確率の低確率中(確変状態中以外)と高確率中(確変状態中)で、サポ当りの当選確率を異ならせてメリハリを付けてもよいし、簡単化のため同じでもよい。低確率中(確変状態中以外)に当選し易く高確率中(確変状態中)に当選し難くなるように、サポ当りの当選確率を設定して、低確率中の不利益を緩和してもよいし、逆に設定して、高確率中にサポ当りにも当選し易いと期待する遊技者の期待感に合わせてよい。例えば、低確率中だけサポ当りに当選するようにサポ当りの当選確率を設定して(高確率中はサポ当りの当選確率はゼロ)、低確率中の不利益を緩和してもよい。
また、特図1変動表示ゲームと特図2変動表示ゲームとでサポ当りの当選確率を異ならせてメリハリを付けてもよいし、簡便のために同じでもよい。例えば、普電サポート状態(時短状態や確変状態)におけるサポ当りを増やすべく、特図2変動表示ゲームでのサポ当りの当選確率を特図1変動表示ゲームよりも大きくしてよい。逆に、通常遊技状態で遊技の興趣を向上させるべく、特図1変動表示ゲームでのサポ当りの当選確率を特図2変動表示ゲームよりも大きくしてよい。端的には、特図1変動表示ゲームと特図2変動表示ゲームのうちの一方の特図変動表示ゲームでのサポ当りの当選確率をゼロにして、他方の特図変動表示ゲームでのみサポ当りが発生するようにしてよい。
特図変動表示ゲームの結果がサポ当り結果(時短結果)の場合に、特図1停止図柄設定処理(A3403)又は特図2停止図柄設定処理(A3503)において、停止図柄(停止図柄番号、停止図柄パターン)として時短図柄(時短図柄番号、時短図柄パターン)が設定され、次回の特図変動表示ゲームから時短状態に突入する。即ち、この場合には、大当りを経由せずに突然に時短状態になる(突然時短)。また、この場合に、時短図柄に対応する飾り特図コマンドが演出制御装置300に送信され、表示装置41において、演出制御装置300によって飾り停止図柄としても時短図柄(飾り時短図柄)が表示される。
表示装置41に表示される時短図柄としては、例えば、左図柄と中図柄のみが揃った「1,1,3」などがある。時短図柄は、予め決めておけば制約はないが、数字が順番に並んだ「1,2,3」や左図柄と右図柄のみが揃った「1,3,1」など規則性があるものが、遊技者が覚えやすく好ましい。時短図柄を複数用意しておき、時短状態が継続する特図変動表示ゲームの回数(時短回数)が時短図柄ごとに定められてもよい。
ランプ表示装置80のランプ表示部1、2は、時短結果(時短図柄)の場合に、大当り結果又は小当り結果の場合と異なって、第四特別図柄(第4図柄)として特定の態様で発光する。例えば、ランプ表示部1、2は、大当り結果又は小当り結果の場合に、赤色などの暖色系の色で発光してよく、時短結果(時短図柄)の場合に、緑色や青色などの中性色系や寒色系の色(即ち暖色系以外の色)で発光してよい。また、はずれの場合に消灯状態となる。従って、停止図柄として時短図柄が表示される場合に、大当りが発生したと遊技者が誤認することが防止できるとともに、時短に当選したことを遊技者は把握しやすくなる。
なお、大当り状態終了後に実行される特図変動表示ゲームの回数(確変状態での回数を除く)が所定回数(いわゆる天井回数、時短天井)に到達した場合に、サポ当りに当選しなくても時短状態(遊タイム)に突入する。このとき、特図変動表示ゲームの結果がはずれであればランプ表示部1、2は消灯状態とし、小当り又は大当りであれば暖色系の色で発光する。なお、このとき、小当り又は大当りでなければ、時短状態に突入することを遊技者が認識しやすくするため、ランプ表示部1、2は寒色系の色で第4図柄として発光してもよい。所定回数(天井回数)は、例えば、500回である。この場合に、特図表示器や表示装置41において停止図柄としてはずれ図柄(時短図柄でもよい)又は小当り図柄(V入賞のない小当りであれば)が表示され、次回の特図変動表示ゲームから時短状態に突入する。この場合に、表示装置41に表示される時短図柄としては、例えば、左図柄と中図柄のみが揃った「3,3,5」(サポ当り結果による時短の場合と同じく「1,1,3」でもよい)などがある。
〔特図1停止図柄設定処理〕
次に、特図1変動開始処理における特図1停止図柄設定処理(A3403)の詳細について説明する。図26は、特図1停止図柄設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、大当りフラグ1は大当りであるか否か、即ち、大当りフラグ1領域に大当り情報がセーブされているか判定する(A4001)。大当りフラグ1が大当りである場合(A4001の結果が「Y」)、特図1大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(A4002)。次に、特図1大当り図柄テーブルを設定し(A4003)、ロードした大当り図柄乱数に対応する停止図柄番号を取得してRWMの特図1停止図柄番号領域にセーブする(A4004)。この処理により特別結果の種類が選択される。
その後、遊技制御装置100は、特図1大当り停止図柄情報テーブルを設定し(A4005)、停止図柄番号に対応する停止図柄パターンを取得して停止図柄パターン領域にセーブする(A4006)。停止図柄パターンとは、特図表示器(ここでは特図1表示器51)での停止図柄や表示装置41での停止図柄を設定するためのものである。そして、停止図柄番号に対応するラウンド数上限値情報を取得し、RWMの特図1ラウンド数上限値情報領域にセーブし(A4007)、停止図柄番号に対応するファンファーレ情報を取得し、ファンファーレ情報領域にセーブする(A4008)。これらの情報は、特別遊技状態の実行態様を設定するためのものである。
次に、遊技制御装置100は、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブする(A4009)。時間短縮判定データは、大当り終了後の時短状態の有無(時短あり又は時短なし)の情報を含み、後述の特図1大当り終了処理と特図2大当り終了処理で使用される。続いて、停止図柄パターン(或は停止図柄番号、後述の図柄A)に対応する演出モード移行情報をセーブする(A4010)。その後、ステップA4020の処理に移行する。
一方、遊技制御装置100は、大当りフラグ1が大当りでない場合(A4001の結果が「N」)、オプションで、サポ当りフラグ1はサポ当りであるか否かを判定する(A4011)。サポ当りフラグ1はサポ当りである場合に(A4011の結果が「Y」)、特図1サポ当り図柄乱数格納領域(保留数1用)から乱数をロードし(A4012)、特図1サポ当り図柄テーブルを設定する(A4013)。そして、特図1サポ当り図柄テーブルを参照して、ロードした乱数に対応する停止図柄番号を取得し、特図1停止図柄番号領域にセーブする(A4014)。続いて、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブする(A4015)。その後、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブし(A4016)、停止図柄パターンに対応する演出モード移行情報をセーブする(A4017)。その後、ステップA4020の処理に移行する。
一方、遊技制御装置100は、大当りフラグ1が大当りでない場合(A4001の結果が「N」)、且つ、サポ当りフラグ1はサポ当りでない場合に(A4011の結果が「N」)、はずれ時の停止図柄番号を特図1停止図柄番号領域にセーブし(A4018)、はずれ停止図柄パターンを停止図柄パターン領域にセーブする(A4019)。その後、ステップA4020の処理に移行する。なお、大当りフラグ1設定処理でサポ当りに関する処理(A3607-A3609)を実行しない場合には、大当りフラグ1が大当りでない場合(A4001の結果が「N」)、ステップA4011-A4017を実行せずに、ステップA4018に移行する。
遊技制御装置100は、ステップA4010、A4017、A4019の後、停止図柄パターンに対応する飾り特図1コマンドを準備し、演出コマンドとして飾り特図1コマンドを飾り特図1コマンド領域にセーブする(A4020)。以上の処理により、特図1変動表示ゲームの結果に対応した停止図柄が設定される。
その後、遊技制御装置100は、演出コマンド設定処理を実行する(A4021)。これにより、飾り特図1コマンドは、演出制御装置300に送信される。
次に、遊技制御装置100は、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(A4022)、特図1大当り図柄乱数格納領域(保留数1用)を0クリアする(A4023)。その後、特図1停止図柄設定処理を終了する。なお、前述の図柄変動制御処理によって、停止図柄パターン或いは停止図柄番号に対応した停止図柄(大当り図柄、時短図柄、はずれ図柄など)の停止表示が、特図1表示器51で実行される。
〔特図2停止図柄設定処理〕
次に、特図2変動開始処理における特図2停止図柄設定処理(A3503)の詳細について説明する。図27は、特図2停止図柄設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、小当りフラグ2は小当りであるか否か、即ち、小当りフラグ2領域に小当り情報がセーブされているか判定する(A4101)。小当りフラグ2が小当りである場合(A4101の結果が「Y」)、特図2大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(A4102)。次に、特図2大当り図柄テーブルを設定し(A4103)、ロードした大当り図柄乱数に対応する停止図柄番号を取得してRWMの特図2停止図柄番号領域にセーブする(A4104)。この処理により特別結果の種類が選択される。
なお、本実施形態では、小当りで第2特別変動入賞装置39が開放されることによって遊技球がV入賞し、小当り後にすぐに大当りが発生するため、特図2変動表示ゲームが小当り(小当りフラグ2が小当り)であっても大当り図柄乱数をロードしている。しかし、小当り図柄乱数(A2911)をロードし、小当り図柄乱数に対応する停止図柄番号を取得する構成も可能である。この構成では、V入賞時(図19のA3003の結果が「Y」となった時)に大当り図柄乱数をロードして停止図柄番号を取得してステップA4107からA4110からの処理を実行してもよい。
その後、遊技制御装置100は、特図2大当り停止図柄情報テーブルを設定し(A4105)、停止図柄番号に対応する停止図柄パターンを取得して停止図柄パターン領域にセーブする(A4106)。停止図柄パターンとは、特図表示器(ここでは特図2表示器52)での停止図柄や表示装置41での停止図柄を設定するためのものである。なお、小当りの場合に、特図2大当り停止図柄情報テーブルの代わりに、特図2小当り停止図柄情報テーブルを使用してもよい。そして、停止図柄番号に対応するラウンド数上限値情報を取得し、RWMの特図2ラウンド数上限値情報領域にセーブし(A4107)、停止図柄番号に対応するファンファーレ情報を取得し、ファンファーレ情報領域にセーブする(A4108)。これらの情報は、特別遊技状態の実行態様を設定するためのものである。
次に、遊技制御装置100は、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブする(A4109)。時間短縮判定データは、大当り終了後の時短状態の有無(時短あり又は時短なし)の情報を含み、後述の特図1大当り終了処理と特図2大当り終了処理で使用される。続いて、停止図柄パターン(或は停止図柄番号、後述の図柄B-G)に対応する演出モード移行情報をセーブする(A4010)。その後、ステップA4121の処理に移行する。
一方、遊技制御装置100は、小当りフラグ2が小当りでない場合(A4101の結果が「N」)、大当りフラグ2は大当りであるか否か、即ち、大当りフラグ2領域に大当り情報がセーブされているか判定する(A4111)。大当りフラグ2は大当りである場合(A4111の結果が「Y」)、ステップA4102以降の処理に移行するが、小当りの場合と異なる特図2大当り図柄テーブルや特図2大当り停止図柄情報テーブルを使用してよい。
遊技制御装置100は、大当りフラグ2は大当りでない場合(A4111の結果が「N」)、サポ当りフラグ2はサポ当りであるか否かを判定する(A4112)。サポ当りフラグ2がサポ当りである場合に(A4112の結果が「Y」)、特図2サポ当り図柄乱数格納領域(保留数1用)から乱数をロードし(A4113)、特図2サポ当り図柄テーブルを設定する(A4114)。そして、特図2サポ当り図柄テーブルを参照して、ロードした乱数に対応する停止図柄番号を取得し、特図2停止図柄番号領域にセーブする(A4115)。続いて、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブし(A4116)、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブする(A4117)。その後、停止図柄パターンに対応する演出モード移行情報をセーブし(A4118)、ステップA4121の処理に移行する。
遊技制御装置100は、小当りフラグ2が小当りでなく(A4101の結果が「N」)、大当りフラグ2は大当りでなく(A4111の結果が「N」)、且つ、サポ当りフラグ2がサポ当りでない場合に(A4112の結果が「N」)、はずれ時の停止図柄番号を特図2停止図柄番号領域にセーブし(A4119)、はずれ停止図柄パターンを停止図柄パターン領域にセーブする(A4120)。その後、ステップA4121の処理に移行する。
なお、本実施形態では、特図2変動表示ゲームの結果として「大当り」を設けないため、ステップA4111の処理はオプションであり実行しなくてもよい。即ち、大当りフラグ2が小当りでない場合(A4101の結果が「N」)、ステップA4111を実行せずに、ステップA4112の処理に移行してよい。
遊技制御装置100は、ステップA4110、A4118、A4120の後、停止図柄パターンに対応する飾り特図2コマンドを準備し、演出コマンドとして飾り特図2コマンドを飾り特図2コマンド領域にセーブする(A4121)。以上の処理により、特図2変動表示ゲームの結果に対応した停止図柄が設定される。
その後、遊技制御装置100は、演出コマンド設定処理を実行する(A4122)。飾り特図2コマンドは、演出制御装置300に送信される。
次に、遊技制御装置100は、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(A4123)、特図2大当り図柄乱数格納領域(保留数1用)を0クリアする(A4124)。また、小当り図柄乱数(A2911)を抽出した場合には、特図2小当り図柄乱数格納領域(保留数1用)を0クリアしてもよい。その後、特図2停止図柄設定処理を終了する。なお、前述の図柄変動制御処理によって、停止図柄パターン或いは停止図柄番号に対応した停止図柄(大当り図柄、時短図柄、はずれ図柄など)の停止表示が、特図2表示器52で実行される。
このように、遊技制御装置100が、第1始動入賞口36での遊技球の検出に基づいて変動表示ゲームとして特図1変動表示ゲームを実行し、普通変動入賞装置37での遊技球の検出に基づいて変動表示ゲームとして特図2変動表示ゲームを実行する変動表示ゲーム実行手段をなす。また、遊技制御装置100が、判定手段(遊技制御装置100)による判定結果に基づき変動表示ゲームの実行を制御する変動表示ゲーム実行制御手段をなす。
〔特図情報設定処理〕
次に、特図1変動開始処理と特図2変動開始処理における特図情報設定処理(A3404、A3504)の詳細について説明する。図28は、特図情報設定処理の手順を示すフローチャートである。本実施形態において、確率状態(低確率/高確率、時短あり/なし)は変動の振り分けに直接影響せず、遊技制御装置100が管理している演出モードが変動の振り分けに影響する。演出モードは、確率状態、時短状態の有無、特図変動表示ゲームの進行状況などに応じて、複数の演出モードから一の演出モードが設定されるようになっている。なお、確率状態、時短状態の有無、特図変動表示ゲームの進行状況などに基づいて直接的に変動の振り分けを行ってもよい。
遊技制御装置100は、まず、前半変動グループ選択ポインタテーブルを設定して(A4201)、演出モード情報に対応する前半変動グループ選択ポインタを取得する(A4202)。次いで、前半変動グループ選択オフセットテーブルを設定して(A4203)、対象の特図保留数(特図1保留数又は特図2保留数)と停止図柄パターンに対応するオフセットデータを取得する(A4204)。
次に、遊技制御装置100は、前半変動グループ選択ポインタとオフセットデータを加算して(A4205)、加算して得た値を変動振分情報1領域にセーブする(A4206)。これにより変動振分情報1領域には、停止図柄の種類、保留数、及び演出モードに基づいて生成された変動振分情報1がセーブされる。この変動振分情報1は、前半変動(リーチ開始前までの変動態様)を振り分けるためのテーブルポインタであり、後に変動グループを選択するために用いられる。ただし、機種の仕様次第であるが、保留数が多い時に変動時間を短くするのははずれの場合のみであるため、はずれ以外の場合には、結果として保留数は前半変動の振り分けに影響しない。なお、変動グループとは複数の変動パターンが含まれたもので、変動パターンを決定する際には、まず変動グループを選択し、さらにこの変動グループの中から一の変動パターンを選択するようになっている。
次に、遊技制御装置100は、後半変動グループ選択ポインタテーブルを設定して(A4207)、演出モード情報に対応する後半変動グループ選択ポインタを取得する(A4208)。次いで、後半変動グループ選択オフセットテーブルを設定して(A4209)、対象の特図保留数と停止図柄パターンに対応するオフセットデータを取得する(A4210)。
次に、遊技制御装置100は、後半変動グループ選択ポインタとオフセットデータを加算して(A4211)、加算して得た値を変動振分情報2領域にセーブして(A4212)、特図情報設定処理を終了する。これにより変動振分情報2領域には、停止図柄の種類、保留数、及び演出モードに基づいて生成された変動振分情報2がセーブされる。この変動振分情報2は、後半変動(リーチの種類(リーチなしも含む。))を振り分けるためのテーブルポインタであり、後に変動グループを選択するために用いられる。ただし、はずれの場合のみ保留数に応じてリーチの発生率が変化する(保留数が多い時にリーチの発生率が低くなる)ため、はずれ以外の場合には、結果として保留数は後半変動の振り分けに影響しない。
〔変動パターン設定処理〕
次に、特図1変動開始処理及び特図2変動開始処理における変動パターン設定処理(A3406、A3506)の詳細について説明する。図29は、変動パターン設定処理の手順を示すフローチャートである。
変動パターンは、特図変動表示ゲームの開始からリーチ状態となるまでの変動態様である前半変動パターンと、リーチ状態となってから特図変動表示ゲームの終了までの変動態様である後半変動パターンとからなり、先に後半変動パターンを設定してから前半変動パターンを設定する。
遊技制御装置100は、まず、変動グループ選択アドレステーブルを設定し(A4301)、変動振分情報2に対応する後半変動グループテーブルのアドレスを取得し、準備して(A4302)、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードし、準備する(A4303)。本実施形態において、後半変動グループテーブルの構造は、当り用とはずれ用とで構造が異なる。具体的には、当り用は1バイトサイズ、はずれ用は2バイトサイズとなっている。はずれの発生率よりも当りの発生率が低く、1バイトでも足りるため、データ容量の節約の観点から、当り用は1バイトサイズになっている。したがって、当り時は、2バイトの変動パターン乱数1の下位の値だけを使用している。また、当りの発生率よりもはずれの発生率は高く、より多様な演出を出現させたいため、はずれ用は2バイトサイズになっている。
そして、遊技制御装置100は、特図変動表示ゲームの結果がはずれであるかを判定し(A4304)、はずれである場合(A4304の結果が「Y」)、2バイト振り分け処理(A4305)を行って、ステップA4307の処理に移行する。また、はずれでない場合(A4304の結果が「N」)、振り分け処理(A4306)を行って、ステップA4307の処理に移行する。
次に、遊技制御装置100は、振り分けられた結果得られた後半変動選択テーブル(後半変動パターン選択テーブル)のアドレスを取得し、準備して(A4307)、対象の変動パターン乱数2格納領域(保留数1用)から変動パターン乱数2をロードし、準備する(A4308)。そして、振り分け処理を実行し(A4309)、振り分けられた結果得られた後半変動番号を取得し、後半変動番号領域にセーブする(A4310)。この処理により、後半変動パターンが設定されることとなる。
次に、遊技制御装置100は、前半変動グループテーブルを設定し(A4311)、変動振分情報1と後半変動番号を基にテーブル選択ポインタを算出する(A4312)。そして、算出したポインタに対応する前半変動選択テーブル(前半変動パターン選択テーブル)のアドレスを取得し、準備して(A4313)、対象の変動パターン乱数3格納領域(保留数1用)から変動パターン乱数3をロードし、準備する(A4314)。その後、振り分け処理(A4315)を行い、振り分けられた結果得られた前半変動番号を取得し、前半変動番号領域にセーブして(A4316)、変動パターン設定処理を終了する。この処理により、前半変動パターンが設定され、特図変動表示ゲームの変動パターンが設定されることとなる。すなわち、遊技制御装置100が、ゲームの実行態様である変動パターンを複数のうちから設定する変動パターン設定手段をなす。
〔2バイト振り分け処理〕
次に、変動パターン設定処理における2バイト振り分け処理(A4305)の詳細について説明する。図30は、2バイト振り分け処理の手順を示すフローチャートである。2バイト振り分け処理は、変動パターン乱数1に基づいて後半変動グループテーブルから特図変動表示ゲームの後半変動選択テーブルを選択するための処理である。
遊技制御装置100は、まず、選択テーブル(A4302にて準備した後半変動グループテーブル)の先頭のデータが振り分けなしのコード(すなわち「0」)であるかをチェックする(A4401)。ここで、後半変動グループテーブルは、少なくとも一の後半変動選択テーブルと対応付けて所定の振り分け値を記憶しているが、後半変動パターンが「リーチなし」となる後半変動選択テーブルのみを規定する後半変動グループテーブル(例えば、結果がはずれの場合の一部の変動グループテーブル)にあっては、振り分けの必要がないため、振り分け値「0」、すなわち、振り分けなしのコードが先頭に規定されている。
そして、遊技制御装置100は、選択テーブル(後半変動グループテーブル)の先頭のデータが振り分けなしのコードである場合(A4402の結果が「Y」)は、振り分けた結果に対応するデータのアドレスに更新して(A4407)、2バイト振り分け処理を終了する。一方、選択テーブル(後半変動グループテーブル)の先頭のデータが振り分けなしのコードでない場合(A4402の結果が「N」)は、選択テーブル(後半変動グループテーブル)に最初に規定されている一の振り分け値を取得する(A4403)。
続けて、ステップA4303にて準備した乱数値(変動パターン乱数1の値)からステップA4403にて取得した振り分け値を減算して新たな乱数値を算出し(A4404)、当該算出した新たな乱数値が「0」よりも小さいかを判定する(A4405)。そして、新たな乱数値が「0」よりも小さくない場合(A4405の結果が「N」)は、次の振り分け値のアドレスに更新した後(A4406)、ステップA4403の処理に移行して、それ以降の処理を行う。すなわち、選択テーブル(後半変動グループテーブル)に次に規定されている振り分け値を取得し(A4403)、その後、前回のステップA4405にて判定済みの乱数値から振り分け値を減算することで新たな乱数値を算出して(A4404)、算出した新たな乱数値が「0」よりも小さいか否かを判定する(A4405)。
上記の処理をステップA4405にて新たな乱数値が「0」よりも小さいと判定(A4405の結果が「Y」)するまで実行する。これにより、選択テーブル(後半変動グループテーブル)に規定されている少なくとも一の後半変動選択テーブルの中から何れか一の後半変動選択テーブルが選択される。そして、ステップA4405にて、新たな乱数値が「0」よりも小さいと判定すると(A4405の結果が「Y」)、振り分けた結果に対応するデータのアドレスに更新して(A4407)、2バイト振り分け処理を終了する。
〔振り分け処理〕
次に、変動パターン設定処理における振り分け処理(A4306、A4309、A4315)の詳細について説明する。図31は、振り分け処理の手順を示すフローチャートである。振り分け処理は、変動パターン乱数2に基づいて、後半変動選択テーブル(後半変動パターングループ)から特図変動表示ゲームの後半変動パターンを選択したり、変動パターン乱数3に基づいて、前半変動選択テーブル(前半変動パターングループ)から特図変動表示ゲームの前半変動パターンを選択したりするための処理である。
遊技制御装置100は、まず、対象の選択テーブル(A4302にて準備した後半変動グループテーブル、ステップA4307にて準備した後半変動選択テーブル、又はステップA4313にて準備した前半変動選択テーブル)の先頭のデータが振り分けなしのコード(すなわち「0」)であるかをチェックする(A4501)。ここで、後半変動グループテーブル、後半変動選択テーブル、及び前半変動選択テーブルは、少なくとも一の後半変動選択テーブルや後半変動パターン(後半変動番号)や前半変動パターン(前半変動番号)と対応付けて所定の振り分け値を記憶しているが、振り分けの必要がない選択テーブルの場合、振り分け値「0」、すなわち、振り分けなしのコードが先頭に規定されている。
そして、遊技制御装置100は、対象の選択テーブル(後半変動グループテーブルや後半変動選択テーブルや前半変動選択テーブル)の先頭のデータが振り分けなしのコードである場合(A4502の結果が「Y」)、振り分けた結果に対応するデータのアドレスに更新して(A4507)、振り分け処理を終了する。一方、対象の選択テーブル(後半変動グループテーブルや後半変動選択テーブルや前半変動選択テーブル)の先頭のデータが振り分けなしのコードでない場合(A4502の結果が「N」)、対象の選択テーブル(後半変動グループテーブルや後半変動選択テーブルや前半変動選択テーブル)に最初に規定されている一の振り分け値を取得する(A4503)。
続けて、遊技制御装置100は、ステップA4303やA4308やA4314にて準備した乱数値(変動パターン乱数1や変動パターン乱数2や変動パターン乱数3の値)からステップA4503にて取得した振り分け値を減算して新たな乱数値を算出し(A4504)、当該算出した新たな乱数値が「0」よりも小さいかを判定する(A4505)。そして、新たな乱数値が「0」よりも小さくない場合(A4505の結果が「N」)は、次の振り分け値のアドレスに更新した後(A4506)、ステップA4503の処理に移行して、それ以降の処理を行う。
すなわち、対象の選択テーブル(後半変動グループテーブルや後半変動選択テーブルや前半変動選択テーブル)に次に規定されている振り分け値を取得し(A4503)、その後、前回のステップA4505にて判定済みの乱数値から振り分け値を減算することで新たな乱数値を算出して(A4504)、算出した新たな乱数値が「0」よりも小さいか否かを判定する(A4505)。上記の処理をステップA4505にて新たな乱数値が「0」よりも小さいと判定(A4505の結果が「Y」)するまで実行する。これにより、対象の選択テーブル(後半変動グループテーブルや後半変動選択テーブルや前半変動選択テーブル)に規定されている少なくとも一の後半変動選択テーブルや後半変動パターン(後半変動番号)や前半変動パターン(前半変動番号)の中から何れか一の後半変動選択テーブルや後半変動パターン(後半変動番号)や前半変動パターン(前半変動番号)が選択される。
そして、遊技制御装置100は、ステップA4505にて、新たな乱数値が「0」よりも小さいと判定すると(A4505の結果が「Y」)、振り分けた結果に対応するデータのアドレスに更新して(A4507)、振り分け処理を終了する。
〔変動開始情報設定処理〕
次に、特図1変動開始処理及び特図2変動開始処理における変動開始情報設定処理(A3407、A3507)の詳細について説明する。図32は、変動開始情報設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、開始する変動表示ゲームが特図2変動表示ゲームであるか否かを判定する(A4600a)。開始する変動表示ゲームが特図2変動表示ゲームでなく特図1変動表示ゲームである場合に(A4600aの結果が「N」)、対象の変動パターン乱数1~3の乱数格納領域をクリアする(A4601)。次に、前半変動時間値テーブルを設定し(A4602)、前半変動番号に対応する前半変動時間値を取得する(A4603)。さらに、後半変動時間値テーブルを設定し(A4604)、後半変動番号に対応する後半変動時間値を取得する(A4605)。
そして、遊技制御装置100は、前半変動時間値と後半変動時間値を加算し(A4606)、加算値(全変動時間値)を特図ゲーム処理タイマ領域にセーブする(A4607)。その後、前半変動番号に対応する変動コマンド(MODE)を準備し(A4608)、後半変動番号に対応する変動コマンド(ACTION)を演出コマンドとして準備して(A4609)、演出コマンド設定処理を行う(A4610)。次に、開始する変動の図柄(特図1又は特図2)を示す変動図柄判別フラグに対応する特図保留数を-1更新して(A4611)、変動図柄判別フラグに対応する乱数格納領域のアドレスを設定する(A4612)。次いで、乱数格納領域をシフトし(A4613)、シフト後の空き領域をクリアして(A4614)、変動開始情報設定処理を終了する。
遊技制御装置100は、まず、開始する変動表示ゲームが特図2変動表示ゲームである場合に(A4600aの結果が「Y」)、特図2変動表示ゲームの結果が小当り又は大当りであるか否かを判定する(A4600b)。特図2変動表示ゲームの結果が小当り又は大当りである場合に(A4600bの結果が「Y」)、開始する変動表示ゲームが特図1変動表示ゲームである場合と同様にステップA4601以降の処理を実行する。なお、本実施形態と異なり、特図2変動表示ゲームの結果がサポ当りの場合も、ステップA4601以降の処理を実行する構成でもよい。
遊技制御装置100は、特図2変動表示ゲームの結果が小当りでもなく大当りでもない場合(A4600bの結果が「N」)、即ち、特図2変動表示ゲームの結果がはずれ結果の場合に、大当り終了後の特図2変動回数(特図2変動表示ゲームの実行回数)に対応する変動時間値(全変動時間値)を特図ゲーム処理タイマ領域にセーブする(A4615)。
従って、特図1変動表示ゲームの変動時間値と、小当り又は大当りの場合の特図2変動表示ゲームの変動時間値は、振り分け(抽選)で設定され固定されない時間値である一方、はずれの場合の特図2変動表示ゲームの変動時間値は、大当り終了後の特図2変動回数ごとに設定される固定時間値となる。即ち、特図2変動表示ゲームの変動時間値は、回転数制御がなされる。なお、小当り又は大当りの場合の特図2変動表示ゲームの変動時間値も固定時間値とする構成も可能である。
その後、遊技制御装置100は、変動時間値に対応した変動コマンド(MODE,ACTION)を演出コマンドとして準備し(A4616)、ステップA4610以降の処理を実行する。
なお、後述の変形例のように普電サポートの態様(内容)に関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、変動時間値は、大当り終了後の特図2変動回数だけでなく、サポ状態にも対応して設定してもよい。
以上の処理により、特図変動表示ゲームの開始に関する情報が設定される。すなわち、遊技制御装置100が、始動記憶手段(遊技制御装置100)に記憶された各種の乱数値の判定を行う判定手段をなす。また、遊技制御装置100が、始動記憶の判定情報に基づいて、変動表示ゲームで実行する識別情報の変動パターンを決定することが可能な変動パターン決定手段をなす。
そして、これらの特図変動表示ゲームの開始に関する情報は後に演出制御装置300に送信され、演出制御装置300では、特図変動表示ゲームの開始に関する情報の受信に基づき、決定された変動パターンに応じて飾り特図変動表示ゲームでの詳細な演出内容を設定する。これらの特図変動表示ゲームの開始に関する情報としては、始動記憶数(保留数)に関する情報を含む飾り特図保留数コマンド、停止図柄に関する情報を含む飾り特図コマンド、特図変動表示ゲームの変動パターンに関する情報を含む変動コマンドが挙げられ、この順でコマンドが演出制御装置300に送信される。特に、飾り特図コマンドを変動コマンドよりも先に送信することで、演出制御装置300での処理を効率よく進めることができる。
〔特図変動中処理〕
次に、特図ゲーム処理における特図変動中処理(A2609)の詳細について説明する。図33は、特図変動中処理の手順を示すフローチャートである。
遊技制御装置100は、まず、特図2変動中(特図2変動表示ゲームが実行中)であるか否かを判定する(A4801)。特図2変動中でない場合、即ち、特図1変動中(特図1変動表示ゲームが実行中)である場合に(A4801の結果が「N」)、停止図柄パターンに対応する表示時間を設定する(A4802)。
一方、遊技制御装置100は、特図2変動中である場合(A4801の結果が「Y」)、特図2変動表示ゲームのか結果が小当り又は大当りであるか否かを判定する(A4803)。特図2変動表示ゲームのか結果が小当り又は大当りである場合に(A4803の結果が「Y」)、停止図柄パターンに対応する表示時間を設定する(A4802)。表示時間(停止表示時間)は、変動表示ゲームの結果である停止図柄(停止表示)の表示時間である。なお、本実施形態と異なり、特図2変動表示ゲームの結果がサポ当りの場合も、ステップA4802の処理に移行する構成でもよい。
遊技制御装置100は、特図2変動表示ゲームの結果が小当り又は大当りでない場合、即ち、はずれの場合に(A4803の結果が「N」)、大当り終了後の特図2変動回数(特図2変動表示ゲームの実行回数)に対応する表示時間を設定する(A4804)。
従って、特図1変動表示ゲームの表示時間と、小当り又は大当りの場合の特図2変動表示ゲームの表示時間は、抽選で設定された停止図柄パターンに基づく固定されない時間である一方、はずれの場合の特図2変動表示ゲームの表示時間は、大当り終了後の特図2変動回数(特図2変動表示ゲームの実行回数)ごとに固定的に設定される。なお、小当り又は大当りの場合の特図2変動表示ゲームの表示時間も固定的に設定する構成も可能である。
なお、後述のように普電サポートの態様(内容)に関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、表示時間(停止表示時間)は、大当り終了後の特図2変動回数だけでなく、サポ状態にも対応して設定してもよい。
次に、遊技制御装置100は、ステップA4802又はA4804で設定された表示時間を特図ゲーム処理タイマ領域にセーブする(A4805)。続いて、遊技制御装置100は、普電サポート中(時短状態中)であるか否か判定する(A4806)。普電サポート中でない場合(A4806の結果が「N」)、ステップA4813の処理に移行する。普電サポート中である場合(A4806の結果が「Y」)、特図1変動表示ゲームの変動であるか否か判定する(A4807)。特図1変動表示ゲームの変動である場合(A4807の結果が「Y」)、ステップA4810の処理に移行する。
遊技制御装置100は、特図2変動表示ゲームの変動である場合(A4807の結果が「N」)、時間短縮変動回数2を-1更新(1だけ減少)して(A4808)、時間短縮変動回数2が0であるか否か判定する(A4809)。時間短縮変動回数2が0である場合(A4809の結果が「Y」)、時短の終了を設定する時短終了設定処理を実行する(A4812)。
遊技制御装置100は、時間短縮変動回数2が0でない場合(A4809の結果が「N」)、時間短縮変動回数1を-1更新(1だけ減少)して(A4810)、時間短縮変動回数1が0であるか否か判定する(A4811)。時間短縮変動回数1が0でない場合(A4811の結果が「N」)、ステップA4813の処理に移行する。一方、時間短縮変動回数1が0である場合(A4811の結果が「Y」)、時短の終了を設定する時短終了設定処理を実行する(A4812)。その後、後述の演出モード情報チェック処理を実行する(A4813)。
その後、遊技制御装置100は、特図表示中処理移行設定処理を実行する(A4814)。特図表示中処理移行設定処理では、特図表示中処理に係る処理番号「2」を設定し特図ゲーム処理番号領域に処理番号をセーブし、特図1表示器51での変動停止に係る停止フラグを特図1変動制御フラグ領域にセーブし、特図2表示器52での変動停止に係る停止フラグを特図2変動制御フラグ領域にセーブする。その後、特図変動中処理を終了する。
〔時短終了設定処理〕
次に、特図変動中処理における時短終了設定処理(A4812)の詳細について説明する。図34は、時短終了設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、時短終了に関する信号をRWMの外部情報出力データ領域にセーブする(A4901)。ここで、時短終了に関する信号は、大当り2信号のオフデータである。これにより、時短終了に関する信号が外部情報として外部情報端子71を介して外部装置(ホールコンピュータなど)に出力される。
なお、通常遊技状態において、普通変動入賞装置37の開放時間が非常に短いか又は普図変動表示ゲームの当り確率が非常に低いため、普通変動入賞装置37への入賞はなく第2始動記憶は発生しない。このため、時短終了の時点で第2始動記憶(特図2始動記憶、特図2保留)が残保留として残っている場合に、大当り2信号のオンデータの出力を継続し(このようにしても不都合が生じない)、最後の残保留に係る特図変動表示ゲームの変動表示が停止するときに、大当り2信号のオフデータ(時短終了に関する信号)を外部装置に出力してもよい。
次に、遊技制御装置100は、時短終了に関する信号をRWMの試験信号出力データ領域にセーブする(A4902)。これにより、時短終了に関する信号が、試験信号として試射試験装置に出力される。ここでの時短終了に関する信号は、例えば、特別図柄1変動時間短縮状態信号のオフデータ、特別図柄2変動時間短縮状態信号のオフデータ、普通図柄1変動時間短縮状態信号のオフデータ、普通電動役物1開放延長状態信号のオフデータ、普通図柄1高確率状態信号のオフデータである。そして、RWMの遊技状態表示番号領域に時短なしの番号をセーブし(A4903)、RWMの普図ゲームモードフラグ領域に普図低確率&時短なしフラグをセーブし(A4904)、RWMの特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブする(A4905)。
続いて、遊技制御装置100は、時間短縮変動回数1が格納されるRWMの時間短縮変動回数1領域をクリアし(A4906)、時間短縮変動回数2が格納されるRWMの時間短縮変動回数2領域をクリアする(A4907)。そして、左打ち指示に関する信号をRWMの試験信号出力データ領域にセーブし(A4908)、RWMの遊技状態表示番号2領域に左打ち状態中の番号をセーブする(A4909)。
その後、RWMの通常ベース状態判定領域に通常ベース状態情報をセーブする(A4910)。ここで、通常ベース状態情報は、ベース値(通常遊技状態における出玉率)を算出する期間である通常遊技状態を示す値である。その後、時短終了設定処理を終了する。
このように、時短終了設定処理が実行されることで、時短状態(特図低確率且つ普電サポートありの状態)から適切に通常遊技状態(特図低確率且つ普電サポートなしの状態)へ移行させることができる。
〔演出モード情報チェック処理〕
次に、特図変動中処理における演出モード情報チェック処理(A4813)の詳細について説明する。図35は、演出モード情報チェック処理の手順を示すフローチャートである。
遊技制御装置100は、まず、次モード移行情報が更新なしコードであるか否かを判定する(A5001)。次モード移行情報が更新なしコードである場合(A5001の結果が「Y」)は、演出モード情報チェック処理を終了する。この場合は、実行した特図変動表示ゲームの回数に応じた演出モードの変更が行われない場合であって、例えば次回の大当りまで継続する演出モードが選択されている場合である。
また、遊技制御装置100は、次モード移行情報が更新なしコードでない場合(A5001の結果が「N」)は、演出モードの変更までの特図変動表示ゲームの実行可能回数である演出残り回転数を-1更新し(A5002)、演出残り回転数が0となったか否かを判定する(A5003)。ここで、演出残り回転数は、今回実行したのが主となる特図変動表示ゲームである場合にのみ、-1更新されるが、主ではない変動表示ゲームである場合も-1更新される構成も可能である。
遊技状態等に応じて、特図1変動表示ゲームと特図2変動表示ゲームのうち一方の変動表示ゲームが、主となる変動表示ゲームとして定められている。例えば、主となる変動表示ゲーム(主変動表示ゲーム)は、特図1変動表示ゲームと特図2変動表示ゲームのうち頻繁に実行される方であり、主ではない変動表示ゲーム(従変動表示ゲーム)は、特図1変動表示ゲームと特図2変動表示ゲームのうち頻繁には実行されない方である。なお、遊技制御装置100及び/又は演出制御装置300は、遊技状態等に応じて、主となる変動表示ゲームを示す情報(特図1又は特図2)を記憶してもよい。
演出残り回転数が0となっていない場合(A5003の結果が「N」)には、演出モード情報チェック処理を終了する。また、演出残り回転数が0となった場合(A5003の結果が「Y」)、すなわち次の特図変動表示ゲームから演出モードを移行する場合は、演出モード情報アドレステーブルを設定し(A5004)、次モード移行情報に対応するテーブルのアドレスを取得する(A5005)。
そして、遊技制御装置100は、移行する演出モードの演出モード番号を取得し、RWM内の演出モード番号領域にセーブして(A5006)、移行する演出モードの演出残り回転数(初期値)を取得し、RWM内の演出残り回転数領域にセーブして(A5007)、移行する演出モードの次モード移行情報を取得し、RWM内の次モード移行情報領域にセーブする(A5008)。
なお、時短状態の終了(時間短縮変動回数1又は2=0)によって演出モードを移行する場合には、移行する演出モードの演出残り回転数(初期値)を規定の残保留数(例えば4~9)に設定してよい。残保留数とは、時短状態終了後に消化される特図2保留(残保留)の数であり、時短終了後の特図2変動回数である。残保留は、時短状態中の普図当りによって開放される普通変動入賞装置37への入賞によって生じる。このようにして、残保留(特図2保留、特図2始動記憶)の消化中に対応する演出モードとして残保留消化モード(図54)を設定できる。
或は、時短状態中の普図当りによって開放される普通変動入賞装置37の開放(後述の後半開放に対応)が終了した際に演出モードを移行する場合には、移行する演出モードの演出残り回転数(初期値)をその時点での特図2保留数に設定してよい。これにより、時短状態中の普図当りによって開放される普通変動入賞装置37の開放が終了した後の特図2保留の消化中に対応する演出モードとして普電開放終了後モード(図71A)を設定できる。さらに、この場合に、時短状態の終了(時間短縮変動回数1又は2=0)によって移行する演出モードの演出残り回転数(初期値)を時短回数に応じた所定値(例えば6から時短回数を減算した値)に設定して、普電開放終了前モード(図71A)を設定できる。
さらに、時短状態の終了(時間短縮変動回数1又は2=0)によって演出モードを切り替える場合には、移行する演出モードの演出残り回転数(初期値)をその時点での特図2保留数又は特図2保留数以下の所定数に設定してよい。このようにして、時短終了時の特図2保留数又は所定数の残保留(特図2保留、特図2始動記憶)の消化中に対応する演出モードとして時短中発生残保留消化モード(図71B)を設定できる。時短中発生残保留消化モードの後に移行する演出モードの演出残り回転数(初期値)を、規定の残保留数(例えば10)から時短中発生残保留消化モードで消化された残保留の数を引いた値(過剰保留数)に設定できる。このようにして、時短中発生残保留消化モード後の演出モードとして過剰保留消化モード(図71B)を設定できる。
その後、遊技制御装置100は、新たに設定された演出モード番号に対応する確率情報コマンド(確率状態の情報と時短の有無の情報と演出モードの情報を含む)を演出コマンドとして準備し(A5009)、準備した確率情報コマンドが停電復旧時送信コマンド領域の値と一致するか否かを判定する(A5010)。準備した確率情報コマンドが停電復旧時送信コマンド領域の値と一致する場合(A5010の結果が「Y」)、すなわち確率情報コマンドが変化していない場合には、演出モード情報チェック処理を終了する。
また、準備した確率情報コマンドが停電復旧時送信コマンド領域の値と一致しない場合(A5010の結果が「N」)には、準備した確率情報コマンドを停電復旧時送信コマンド領域にセーブして(A5011)、確率情報コマンドを演出コマンドとして設定する演出コマンド設定処理を実行する(A5012)。
次いで、遊技制御装置100は、演出残り回転数に対応する演出回転数コマンドを演出コマンドとして準備して(A5013)、演出コマンド設定処理を実行する(A5014)。これにより、演出制御装置300は、演出残り回転数を取得できる。次に、時間短縮変動回数2に対応する時間短縮変動回数コマンドを演出コマンドとして準備して(A5015)、演出コマンド設定処理(A5016)を実行する。これにより、演出制御装置300は、時間短縮変動回数2を取得できる。なお、遊技制御装置100は、同様に、時間短縮変動回数1も演出コマンドとして準備して、演出コマンド設定処理を実行してよい。
次いで、遊技制御装置100は、ステップA5006で新たな演出モード番号が取得された場合に、新たな演出モードは左打ちするモードであるか否かを判定し(A5017)、左打ちするモードでない場合(A5017の結果が「N」)には、演出モード情報チェック処理を終了する。また、左打ちするモードである場合(A5017の結果が「Y」)には、左打ち指示報知コマンドを演出コマンドとして準備し(A5018)、演出コマンド設定処理を実行して(A5019)、演出モード情報チェック処理を終了する。
なお、上記において、さらに、演出残り回転数が0であるか否かの判定結果(A5003)によらず、更新された演出残り回転数(A5002)に対応する演出回転数コマンドと更新された時間短縮変動回数1、2(A4808、A4810)に対応する時間短縮変動回数コマンドも演出コマンドとして準備して、演出コマンド設定処理を実行してもよい。
〔特図表示中処理〕
次に、特図ゲーム処理における特図表示中処理(A2610)の詳細について説明する。図36は、特図表示中処理の手順を示すフローチャートである。図36Aは、特図表示中処理の前半部分を示し、図36Bは、特図表示中処理の後半部分を示す。
遊技制御装置100は、まず、今回実行したのが特図1の変動であるか否かを判定する(A5101)。即ち、停止図柄の表示(停止表示)が特図1変動表示ゲームに関するものであるか否かを判定する。今回実行したのが特図1の変動である場合に(A5101の結果が「Y」)、大当りフラグ1をロードし(A5102)、大当りフラグ1領域をクリアし(A5103)、ロードした大当りフラグ1は大当りであるか否かを判定する(A5104)。
遊技制御装置100は、ロードした大当りフラグ1は大当りである場合に(A5104の結果が「Y」)、条件装置が作動中であることを示す条件装置作動情報を条件装置作動情報領域にセーブし(A5105)、ステップA5106の処理に移行する。ロードした大当りフラグ1は大当りでない場合に(A5104の結果が「N」)、ステップA5111の処理に移行する。
そして、遊技制御装置100は、特図普段処理移行設定処理を実行する(A5106)。特図普段処理移行設定処理では、特図普段処理に係る処理番号として0を設定し特図ゲーム処理番号領域に処理番号をセーブし、変動図柄判別フラグ領域をクリアする。その後、特図表示中処理を終了する。
一方、遊技制御装置100は、今回実行したのが特図2の変動である場合に(A5101の結果が「N」)、大当りフラグ2をロードし(A5107)、大当りフラグ2領域をクリアする(A5108)。ロードした大当りフラグ2は大当りであるか否かを判定する(A5109)。大当りフラグ2は大当りである場合に(A5109の結果が「Y」)、条件装置が作動中であることを示す条件装置作動情報を条件装置作動情報領域にセーブし(A5110)、ステップA5106の処理に移行する。大当りフラグ2が大当りでない場合に(A5109の結果が「N」)、即ち、小当り又ははずれの場合に、ステップA5111の処理に移行する。
なお、本実施形態では、特図2変動表示ゲームの結果として「大当り」を設けないため、ステップA5107からA5110の処理はオプションであり実行しなくてもよい。即ち、ステップA5101の後に、ステップA5111の処理に移行してよい。
次に、遊技制御装置100は、現在、特図高確率中(確変状態中)であるか否かを判定する(A5111)。特図高確率中でない場合に(A5111の結果が「N」)、特図変動表示ゲームの実行された回数が天井回数(時短天井)に到達したことを示す天井到達済みフラグがあるか否か判定する(A5112)。
遊技制御装置100は、天井到達済みフラグがない場合に(A5112の結果が「N」)、RWMの天井カウンタ領域の天井カウンタ値を+1更新(1だけ増加)する(A5113)。そして、確変状態以外の状態で特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲームを含む)の実行された回数(即ち天井カウンタ値)が天井回数に到達したか否かを判定する(A5114)。例えば、天井回数は、500回である。天井回数に到達した場合(A5114の結果が「Y」)、天井時短が発生することを示す天井時短発動フラグと、天井回数に到達したことを示す天井到達済みフラグをセット(オン)する(A5115)。なお、天井時短発動フラグと天井到達済みフラグをまとめて一つのフラグとする構成も可能である。
なお、天井到達済みフラグは、大当りが発生するとクリアされるが、大当りが発生しない限りクリアされない。従って、一旦天井回数に到達した後、大当りしないまま時短回数が終了してしまうと、天井到達済みフラグがセット(オン)されたままであるため、以降、天井時短は発生しないことになるし、天井カウンタ値も更新されない。
一方、遊技制御装置100は、特図高確率中(確変状態中)である場合(A5111の結果が「Y」)、天井到達済みフラグがある場合(A5112の結果が「Y」)、天井回数に到達していない場合(A5114の結果が「N」)、小当りフラグ2が小当りか否かを判定する(A5116)。
次に、遊技制御装置100は、小当りフラグ2は小当りである場合に(A5116の結果が「Y」)、小当りファンファーレコマンドを演出コマンドとして準備し(A5117)、演出コマンド設定処理を実行する(A5118)。そして、飾り特図2コマンド領域から飾り特図2コマンドを演出コマンドとしてロードし、準備し(A5119)、演出コマンド設定処理を実行する(A5120)。その後、小当り開放前処理移行設定処理を実行して(A5121)、特図表示中処理を終了する。
小当り開放前処理移行設定処理では、小当り開放前処理に係る処理番号として3を設定し、特図ゲーム処理番号領域に処理番号をセーブし、小当り開放前時間(例えば300ms)を特図ゲーム処理タイマ領域にセーブする。また、小当り遊技の開始に関する信号(例えば、大当り1信号をオン(大当り、小当りで出力))を外部情報出力データ領域にセーブする。
一方、遊技制御装置100は、小当りフラグ2は小当りでない場合、即ち、はずれの場合に(A5116の結果が「N」)、天井時短が発生することを示す天井時短発動フラグがあるか否かを判定する(A5122)。天井時短発動フラグがある場合(A5122の結果が「Y」)、天井時短回数(天井時短による時短回数)となる初期値を時間短縮変動回数1領域と時間短縮変動回数2領域にセーブする(A5123)。前述した、天井時短の場合の時間短縮変動回数1と時間短縮変動回数2の初期値(例えば704回と700回)は、ここでセーブされることになる。初期値は、抽選で決定してもよい。続いて、天井時短による時短状態を発生するためにサポ作動設定処理を実行し(A5127)、特図普段処理移行設定処理を実行し(A5128)、特図表示中処理を終了する。特図普段処理移行設定処理では、特図普段処理に係る処理番号「0」を設定し特図ゲーム処理番号領域にセーブする。
遊技制御装置100は、天井時短が発生することを示す天井時短発動フラグがない場合(A5122の結果が「N」)、サポ当りフラグ2はサポ当りであるか否かを判定する(A5124)。そして、サポ当りフラグ2はサポ当りでない場合(A5124の結果が「N」)、サポ当りフラグ1はサポ当りであるか否かを判定する(A5125)。
遊技制御装置100は、サポ当りフラグ1とサポ当りフラグ2のいずれかがサポ当りである場合(A5124又はA5125の結果が「Y」)、時間短縮判定データに対応する初期値を時間短縮変動回数1領域と時間短縮変動回数2領域にセーブする(A5126)。前述した、サポ当り結果(突然時短)の場合の時間短縮変動回数1と時間短縮変動回数2の初期値(例えば34回と30回、或いは、104回と100回)は、ここでセーブされることになる。続いて、時短図柄による時短状態(突然時短)を発生するためにサポ作動設定処理を実行し(A5127)、特図普段処理移行設定処理を実行し(A5128)、特図表示中処理を終了する。
なお、時間短縮判定データは、特図1停止図柄設定処理(A3403)や特図2停止図柄設定処理(A3503)において、停止図柄番号に対応して設定されるため、サポ当り結果の場合の初期値(即ち時短回数)は、サポ当り図柄乱数による抽選で決定されることになる。
遊技制御装置100は、サポ当りフラグ1とサポ当りフラグ2の両方がサポ当りでない場合(A5124とA5125の結果が「N」)、時短を設定するサポ作動設定処理を実行せずに、特図普段処理移行設定処理を実行し(A5128)、特図表示中処理を終了する。
以上のように、特図表示中処理において、天井時短と突然時短に関して、時短回数(即ち、時間短縮変動回数の初期値)の設定など、時短の設定が実行される。なお、大当りによる時短、即ち、大当り状態の終了から開始する時短に関しては、大当り終了処理において、時短回数の設定など、時短の設定が実行される。
なお、特図表示中処理は、停止表示時間(A4805)が設定された特図ゲーム処理タイマが0になったときに実行されるため(A2604、A2610)、特図変動表示ゲームの停止結果の表示が終了するとき(又は終了する際:終了する時や終了する直前を含む)に実行されることになる。従って、特図変動表示ゲームの停止結果の表示が終了するとき(次の特図変動表示ゲームが開始するなら開始するときに略等しい)に、時間短縮変動回数(A5123、A5126)が設定され、天井時短と突然時短による時短状態が開始する。
〔サポ作動設定処理〕
次に、特図表示中処理におけるサポ作動設定処理(A5127)の詳細について説明する。図37は、サポ作動設定処理の手順を示すフローチャートである。
遊技制御装置100は、まず、時短開始に関する信号を外部情報出力データ領域にセーブする(A5301)。これにより、天井回数到達による天井時短と時短図柄(サポ当り)による突然時短の開始時に、時短開始に関する信号が外部情報として外部情報端子71ひいては外部装置(ホールコンピュータなど)に出力される。ここで、時短開始に関する信号は、大当り2信号のオンデータである。そして、時短信号制御タイマ領域にタイマ初期値(例えば128msec)をセーブする(A5302)。このタイマ初期値は、後述の外部情報編集処理によって大当り3信号を出力する時間となる。
次に、遊技制御装置100は、時短開始に関する信号を試験信号出力データ領域にセーブする(A5303)。これにより、天井時短と突然時短の開始時に、時短開始に関する信号が試験信号として試射試験装置に出力される。ここでの時短開始に関する信号は、例えば、特別図柄1変動時間短縮状態信号のオンデータ、特別図柄2変動時間短縮状態信号のオンデータ、普通図柄1高確率状態信号のオンデータ、普通図柄1変動時間短縮状態信号のオンデータ、普通電動役物1開放延長状態信号のオンデータである。そして、遊技状態表示番号領域に時短ありの番号をセーブし(A5304)、普図ゲームモードフラグ領域に普図高確率&時短ありフラグをセーブし(A5305)、特図ゲームモードフラグ領域に特図時短ありフラグを合成する(A5306)。続いて、右打ち指示に関する信号を試験信号出力データ領域にセーブし(A5307)、遊技状態表示番号2領域に右打ち状態中の番号をセーブする(A5308)。
その後、遊技制御装置100は、天井時短又は突然時短に応じた演出モード情報アドレステーブルを設定し(A5309)、特図1停止図柄設定処理(A3403)又は特図2停止図柄設定処理(A3503)で設定した演出モード移行情報に対応するテーブルのアドレスを取得し(A5310)、演出モードの演出モード番号(演出モードの番号)をテーブルに基づいて取得してセーブする(A5311)。これにより、天井時短と突然時短の開始時に移行する演出モードが選択できる。
次に、遊技制御装置100は、演出モードの演出残り回転数(初期値)をテーブルに基づいて取得してセーブする(A5312)。例えば、演出残り回転数(初期値)は、時短回数(時間短縮変動回数1又は時間短縮変動回数2の初期値)である。これにより、例えば、時短が終了するまで同一の演出モードが継続できる。
続いて、遊技制御装置100は、天井時短中又は突然時短中の演出モードの次のモードへの移行の情報である次モード移行情報をテーブルに基づいて取得してセーブする(A5313)。そして、特図ゲームモードフラグと今回新たに設定された演出モード番号に対応する確率情報コマンドを演出コマンドとして準備し(A5314)、準備した確率情報コマンドを停電復旧時送信コマンド領域にセーブし(A5315)、確率情報コマンドを演出コマンドとして設定する演出コマンド設定処理を実行する(A5316)。ここで、確率情報コマンドには、確率状態、時短(普電サポート)の有無、演出モードの情報が含まれる。
次に、遊技制御装置100は、演出残り回転数に対応する演出回転数コマンドを演出コマンドとして準備し(A5317)、演出コマンド設定処理を実行する(A5318)。そして、時間短縮変動回数1と時間短縮変動回数2(ここでは初期値である時短回数)のそれぞれに対応する時間短縮変動回数コマンドを演出コマンドとして準備し(A5319)、演出コマンド設定処理を実行する(A5320)。
その後、遊技制御装置100は、時間短縮判定データ領域をクリアし(A5321)、演出モード移行情報領域をクリアし(A5322)、サポ作動設定処理を終了する。また、ここで、天井時短が発動したため天井時短発動フラグが格納される天井時短発動フラグ領域をクリアしてもよい。
〔役物ゲーム処理〕
次に、前述のタイマ割込み処理における役物ゲーム処理(A1311)の詳細について説明する。図38は、役物ゲーム処理の手順を示すフローチャートである。役物ゲーム処理では、大当り状態に関する処理全体の制御を行う。
遊技制御装置100は、まず、下大入賞口スイッチ監視処理を実行する(A5601)。下大入賞口スイッチ監視処理では、特別変動入賞装置38内に設けられたカウントスイッチ38aでの遊技球の検出を監視する。
次に、遊技制御装置100は、役物ゲーム処理タイマが0でなければ-1更新する(1だけ減算する)(A5602)。役物ゲーム処理タイマは、-1更新によって、タイマ割込み処理の割込み周期(4msec)の分だけ計時されることになる。なお、役物ゲーム処理タイマの最小値は0に設定されている。次に、役物ゲーム処理タイマが0であるか否かを判定する(A5603)。役物ゲーム処理タイマが0でない場合(A5603の結果が「N」)、役物ゲーム処理を終了する。
遊技制御装置100は、役物ゲーム処理タイマが0である場合(A5603の結果が「Y」)、すなわち、タイムアップした又は既にタイムアップしていた場合には、役物ゲーム処理番号に対応する処理に分岐させるために参照する役物ゲームシーケンス分岐テーブルをレジスタに設定する(A5604)。さらに、役物ゲームシーケンス分岐テーブルを用いて役物ゲーム処理番号に対応する処理の分岐先アドレスを取得する(A5605)。続いて、役物ゲーム処理番号によるサブルーチンコールを行って、役物ゲーム処理番号に応じたゲーム分岐処理を実行する(A5606)。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「0」の場合には、大当り開始の際の設定などを行う役物普段処理を実行する(A5607)。例えば、役物普段処理では、所定の場合にファンファーレ中処理に係る処理番号「1」を設定し役物ゲーム処理番号領域にセーブする。なお、役物普段処理の詳細については、図39にて後述する。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「1」の場合には、ファンファーレ中処理を実行する(A5608)。例えば、ファンファーレ中処理では、インターバル中処理に係る処理番号「2」を設定し役物ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「2」の場合には、インターバル中処理を実行する(A5609)。例えば、インターバル中処理では、ラウンド数を+1更新して、下大入賞口開放時間を役物ゲーム処理タイマ領域にセーブし、下大入賞口ソレノイド出力データ領域にオンデータをセーブし、ラウンドコマンドを演出コマンドとして設定し、大当り開放中処理に係る処理番号「3」を設定し役物ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「3」の場合には、大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであればエンディングコマンドを設定する処理や、大当り残存球処理を行うために必要な情報の設定等を行う大当り開放中処理を実行する(A5610)。例えば、大入賞口開放中処理では、インターバルコマンドやエンディングコマンドなど必要な情報を設定して、大当り残存球処理に係る処理番号「4」を設定し役物ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「4」の場合には、大当りラウンドが最終ラウンドであれば大入賞口内にある残存球が排出されるための時間を設定する処理や、大当り終了処理を行うために必要な情報の設定等を行う大当り残存球処理を実行する(A5611)。例えば、大当り残存球処理では、最終ラウンドでなければインターバル時間を役物ゲーム処理タイマ領域にセーブし、インターバル中処理に係る処理番号「2」を設定し役物ゲーム処理番号領域にセーブする。最終ラウンドであればエンディング時間を役物ゲーム処理タイマ領域にセーブし、大当り終了処理に係る処理番号「5」を設定し役物ゲーム処理番号領域にセーブする。
遊技制御装置100は、ステップA5606にてゲーム処理番号が「5」の場合には、役物普段処理を実行するために必要な情報の設定等を行う大当り終了処理を実行する(A5612)。例えば、大当り終了処理では、大当り終了後の時短状態の有無(時短あり又は時短なし)の情報を含む時間短縮判定データに基づいて、大当り状態終了後の普電サポート状態(時短状態)など必要な情報の設定を行い、役物普段処理に係る処理番号「0」を設定し役物ゲーム処理番号領域にセーブする。
〔役物普段処理〕
次に、前述の役物ゲーム処理における役物普段処理(A5607)の詳細について説明する。図39は、役物普段処理の手順を示すフローチャートである。
遊技制御装置100は、まず、条件装置が作動中であるか否かを判定する(A5801)。条件装置作動情報が条件装置作動情報領域にセーブされている場合に(A3004、A5005、A5010)、即ち、大当りフラグ1或は大当りフラグ2に大当り情報があるか、又は、特定領域86(V入賞口)への入賞(特定領域スイッチ72への入力、V入賞)があった場合に、条件装置が作動中であると判定できる。条件装置が作動中でない場合に(A5801の結果が「N」)、役物普段処理を終了する。
遊技制御装置100は、条件装置が作動中である場合に(A5801の結果が「Y」)、ラウンド数上限値情報に対応するラウンド数上限値をラウンド数上限値領域にセーブする(A5802)。続いて、ラウンド数上限値情報に対応するラウンドLED出力ポインタをラウンドLED出力ポインタ領域にセーブし(A5803)、確率情報コマンド(通常中)を演出コマンドとして準備し(A5804)、演出コマンド設定処理を実行する(A5805)。
次に、遊技制御装置100は、ファンファーレ情報に対応するファンファーレコマンドを演出コマンドとして準備し(A5806)、演出コマンド設定処理を実行する(A5807)。そして、今回大当り又は小当りとなった特図の飾り特図コマンド領域から飾り特図コマンド(飾り特図1コマンド又は飾り特図2コマンド)をロードし、演出コマンドとして準備し(A5808)、演出コマンド設定処理を実行する(A5809)。
続いて、遊技制御装置100は、条件装置作動情報に対応する信号を外部情報出力データ領域にセーブし(A5810)、条件装置作動情報に対応する信号を試験信号出力データ領域にセーブする(A5811)。そして、ラウンド数領域に初期値をセーブする(A5812)。初期値は、大当り情報によって条件装置が作動中の場合には0であり、特定領域86への入賞(V入賞)によって条件装置が作動中の場合には1である。
次に、遊技制御装置100は、ファンファーレ中処理移行設定処理を実行し(A5813)、役物普段処理を終了する。例えば、ファンファーレ中処理移行設定処理では、ファンファーレ中処理に係る処理番号として「1」を設定して役物ゲーム処理番号領域に処理番号をセーブし、ファンファーレ時間を役物ゲーム処理タイマ領域にセーブする。
ファンファーレ中処理移行設定処理において、遊技制御装置100は、時間短縮変動回数1が格納される時間短縮変動回数1領域、時間短縮変動回数2が格納される時間短縮変動回数2領域、天井カウンタ値が格納される天井カウンタ領域、天井時短発動フラグが格納される天井時短発動フラグ領域、天井到達済みフラグが格納される天井到達済みフラグ領域をクリアする。また、普図ゲームモードフラグ領域に普図低確率&時短なしフラグをセーブし、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブする。確変状態以外の状態で特図変動表示ゲームが実行された回数を示す天井カウンタ値が格納される天井カウンタ領域は、大当り発生の際にここでクリアされることになるが、前述のように通常の停電復旧時(RAM初期化スイッチ112がオンでない)にはクリアされていなくてよい。
さらに、ファンファーレ中処理移行設定処理において、遊技制御装置100は、大当り(特別遊技状態)の開始に関する信号(例えば、大当り1信号をオン(大当り、小当りで出力)、大当り4信号をオン(大当りで出力))を外部情報出力データ領域にセーブする。そして、高確率状態と時短状態の終了に関する信号(例えば、特別図柄1高確率状態信号をオフ、特別図柄2高確率状態信号をオフ、特別図柄1変動時間短縮状態信号をオフ、特別図柄2変動時間短縮状態信号をオフ、普通図柄1高確率状態信号をオフ、普通図柄1変動時間短縮状態信号をオフ、普通電動役物1開放延長状態信号をオフ)を試験信号出力データ領域にセーブする。
〔大当り終了処理〕
次に、前述の役物ゲーム処理における大当り終了処理(A5612)の詳細について説明する。図40は、大当り終了処理の手順を示すフローチャートである。
遊技制御装置100は、まず、時間短縮判定データ(A4009、A4109)が、時短ありのデータであるか否かを判定する(A6001)。時短ありのデータは、大当り状態終了後に時短状態(普電サポート状態)になることを示す。時短なしのデータは、大当り状態終了後に時短状態(普電サポート状態)にならないことを示す。
遊技制御装置100は、時間短縮判定データが時短なしのデータの場合に、大当り終了後に通常遊技状態に移行するために大当り終了設定処理1を実行し(A6002)、時間短縮判定データが時短ありのデータの場合に、大当り終了後に時短状態(普電サポート状態)に移行するために大当り終了設定処理2を実行する(A6003)。
遊技制御装置100は、演出モード情報アドレステーブルを設定し(A6004)、停止1図柄設定処理又は停止2図柄設定処理で設定した演出モード移行情報(A4010、A4110)に対応するテーブルのアドレスを取得し(A6005)、大当り状態の終了後に設定される演出モードの演出モード番号(演出モードの番号)を取得してセーブする(A6006)。これにより、大当り終了後に移行する演出モードが選択できる。
次に、遊技制御装置100は、特別遊技状態の終了後に設定される演出モードの演出残り回転数(初期値)を取得してセーブする(A6007)。例えば、演出残り回転数(初期値)は、時短回数(時間短縮変動回数初期値)や、時短回数と規定の残保留数の合計回数(例えば10回)である。これにより、例えば、大当り終了後に、時短が終了するまで、又は、残保留に係る特図2変動表示ゲームが全て実行されるまで、同一の演出モードが継続できる。
続いて、遊技制御装置100は、大当り状態終了直後に設定される演出モードの次のモードへの移行の情報である次モード移行情報を取得してセーブする(A6009)。そして、特図ゲームモードフラグと今回新たに設定された演出モード番号に対応する確率情報コマンドを演出コマンドとして準備し(A6009)、準備した確率情報コマンドを停電復旧時送信コマンド領域にセーブし(A6010)、確率情報コマンドを演出コマンドとして設定する演出コマンド設定処理を実行する(A6011)。ここで、確率情報コマンドには、大当り状態の終了後における確率状態、時短(普電サポート)の有無、演出モードの情報が含まれる。
次に、遊技制御装置100は、演出残り回転数に対応する演出回転数コマンドを演出コマンドとして準備し(A6012)、演出コマンド設定処理を実行する(A6013)。そして、時間短縮変動回数(ここでは初期値である時短回数、例えば、5回以下又は99回)に対応する時間短縮変動回数コマンドを演出コマンドとして準備し(A6014)、演出コマンド設定処理を実行する(A6015)。
その後、遊技制御装置100は、演出モード移行情報領域をクリアし(A6016)、役物普段処理移行設定処理を実行し(A6017)、大当り終了処理を終了する。役物普段処理移行設定処理では、役物普段処理に移行するために、役物普段処理に係る処理番号「0」を設定し役物ゲーム処理番号領域に処理番号をセーブし、条件装置作動情報領域をクリアし、時間短縮判定データ領域をクリアする。
〔大当り終了設定処理1〕
次に、大当り終了処理における大当り終了設定処理1(A6002)の詳細について説明する。図41は、大当り終了設定処理1の手順を示すフローチャートである。
遊技制御装置100は、まず、大当りの終了に関する信号を外部情報出力データ領域にセーブし(A6201)、大当りの終了に関する信号を試験信号出力データ領域にセーブする(A6202)。例えば、外部情報端子71を介して外部装置に出力する外部情報として、大当り1信号のオフデータ、大当り2信号のオフデータ、大当り3信号のオフデータ、大当り4信号のオフデータを、外部情報出力データ領域にセーブする。大当り終了設定処理1は大当り状態終了後に時短がない場合の処理であるため、大当り2信号をオフする。一括表示装置50の第2遊技状態表示部58(ランプD17)の表示データとして遊技状態表示番号2領域に通常中の番号をセーブする(A6203)。
次に、遊技制御装置100は、普図ゲームモードフラグ領域に低確率フラグをセーブし
(A6204)、特図ゲームモードフラグ領域に特図時短なしフラグをセーブする(A6205)。そして、時間短縮変動回数領域をクリアし(A6206)、一括表示装置50の第1遊技状態表示部57(ランプD7)の表示データとして遊技状態表示番号1領域に左打ち状態中の番号をセーブし(A6207)、大当り終了設定処理1を終了する。
〔大当り終了設定処理2〕
次に、大当り終了処理における大当り終了設定処理2(A6003)の詳細について説明する。図42は、大当り終了設定処理2の手順を示すフローチャートである。
遊技制御装置100は、まず、大当りの終了に関する信号を外部情報出力データ領域にセーブし(A6401)、大当りの終了に関する信号を試験信号出力データ領域にセーブする(A6402)。例えば、外部情報端子71を介して外部装置に出力する外部情報として、大当り1信号のオフデータ、大当り3信号のオフデータ、大当り4信号のオフデータを、外部情報出力データ領域にセーブする。そして、時短の開始に関する信号を外部情報出力データ領域にセーブし(A6403)、時短の開始に関する信号を試験信号出力データ領域にセーブする(A6404)。大当り終了設定処理2は大当り状態終了後に時短状態(普電サポート状態)に突入する場合の処理であるため、時短の開始に関する信号として、大当り2信号のオンデータを外部情報出力データ領域にセーブする(本実施形態では大当り状態中から大当り2信号が出力されているため、大当り2信号のオン状態が継続する形になる)。
次に、遊技制御装置100は、一括表示装置50の第2遊技状態表示部58(ランプD17)の表示データとして遊技状態表示番号2領域に時短中の番号をセーブし(A6405)、普図ゲームモードフラグ領域に高確率フラグをセーブし(A6406)、特図ゲームモードフラグ領域に特図時短中フラグをセーブする(A6407)。
続いて、遊技制御装置100は、時短終了後に特図2変動表示ゲームが大当りになったか否か、即ち、残保留に係る特図2変動表示ゲームが大当りになったか否かを判定する(A6408)。特図1変動表示ゲームが大当りになった場合又は時短状態中に特図2変動表示ゲームが大当りになった場合に(A6408の結果が「N」)、時間短縮変動回数領域に停止図柄パターン(或は停止図柄番号、後述の図柄A-F)に対応する時間短縮変動回数初期値(時短回数)をセーブして(A6409)、ステップA6411以降の処理を実行する。ここで、時間短縮変動回数初期値(時短回数)は、時間短縮変動回数2の初期値(後述の第1所定回数)となる。なお、ステップA6409では、時間短縮変動回数2についての時間短縮変動回数初期値(時短回数)の他に、時間短縮変動回数1の初期値(後述の第2所定回数)もセーブする。例えば、時間短縮変動回数1の初期値は、時間短縮変動回数2の初期値に、特図1保留数(第1始動記憶数)の最大値(例えば4)を加算したものでよい。
遊技制御装置100は、時短終了後に特図2変動表示ゲームが大当りになった場合、即ち、残保留に係る特図2変動表示ゲームが大当りになった場合に(A6408の結果が「Y」)、時間短縮変動回数領域に時間短縮変動回数初期値(時短回数、ここでは99)をセーブする(A6410)。ここでも、時間短縮変動回数初期値(時短回数)は、時間短縮変動回数2の初期値(後述の第1所定回数)となる。なお、ステップA6410では、時間短縮変動回数2についての時間短縮変動回数初期値(時短回数)の他に、時間短縮変動回数1の初期値(後述の第2所定回数)もセーブする。例えば、時間短縮変動回数1の初期値は、時間短縮変動回数2の初期値に、特図1保留数(第1始動記憶数)の最大値(例えば4)を加算したものでよい。
その後、遊技制御装置100は、停止図柄パターン(或は停止図柄番号、後述の図柄A-G)に対応して、普電サポートの状態(態様)であるサポ状態(サポ態様、普電開放パターン)の種別をサポ状態領域にセーブする(A6411)。なお、ステップA6411の処理は、オプションであり、後述の変形例のように普電サポートの態様(内容)に関するサポ状態が可変である場合に実行される。
次に、遊技制御装置100は、一括表示装置50の第1遊技状態表示部57(ランプD7)の表示データとして遊技状態表示番号1領域に右打ち状態中の番号をセーブし(A6412)、右打ち指示報知コマンドを演出コマンドとして準備し(A6413)、演出コマンド設定処理を実行し(A6414)、大当り終了設定処理2を終了する。
〔普図ゲーム処理〕
次に、タイマ割込み処理における普図ゲーム処理(A1312)の詳細について説明する。図43は、普図ゲーム処理の手順を示すフローチャートである。普図ゲーム処理では、ゲートスイッチ34aの入力の監視と、普図変動表示ゲームに関する処理全体の制御、普図の表示の設定等を行う。
遊技制御装置100は、まず、ゲートスイッチ34aからの入力を監視するゲートスイッチ監視処理を実行する(A7601)。ゲートスイッチ監視処理の詳細については、後述する。
続いて、遊技制御装置100は、始動口2スイッチ37aからの入力を監視する普電入賞スイッチ監視処理を実行する(A7602)。普電入賞スイッチ監視処理の詳細については、後述する。
次に、遊技制御装置100は、普図ゲーム処理タイマが0でなければ-1更新する(1だけ減算する)(A7603)。なお、普図ゲーム処理タイマの最小値は0に設定されている。そして、遊技制御装置100は、普図ゲーム処理タイマの値が0となったか否かを判定する(A7604)。
遊技制御装置100は、普図ゲーム処理タイマの値が0である場合(A7604の結果が「Y」)、すなわち、タイムアップした又はすでにタイムアップしていた場合には、普図ゲーム処理番号に対応する処理に分岐させるために参照する普図ゲームシーケンス分岐テーブルをレジスタに設定する(A7605)。
さらに、遊技制御装置100は、設定された普図ゲームシーケンス分岐テーブルに基づいて普図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(A7606)。そして、普図ゲーム処理番号によるサブルーチンコールを行って、普図ゲーム処理番号に応じたゲーム分岐処理を実行する(A7607)。
遊技制御装置100は、ステップA7607にてゲーム処理番号が「0」の場合には、普図変動表示ゲームの変動開始を監視し、普図変動表示ゲームの変動開始の設定や演出の設定や、普図変動中処理を行うために必要な情報の設定等を行う普図普段処理を実行する(A7608)。普図普段処理の詳細については、後述する。
また、遊技制御装置100は、ステップA7607にてゲーム処理番号が「1」の場合には、普図表示中処理を行うために必要な情報の設定等を行う普図変動中処理を実行する(A7609)。例えば、普図変動中処理では、普図表示中処理に移行するために、ゲーム処理番号として「2」を設定して普図ゲーム処理番号領域にセーブする他、普図表示時間を普図ゲーム処理タイマ領域にセーブする。
また、遊技制御装置100は、ステップA7607にてゲーム処理番号が「2」の場合には、普図変動表示ゲームの結果が当りであれば、普電開放時間の設定や、普図当り中処理を行うために必要な情報の設定等を行う普図表示中処理を実行する(A7610)。例えば、普図表示中処理では、普図変動表示ゲームの結果が当りの場合に、普図当り中処理に移行するために、ゲーム処理番号として「3」を設定して普図ゲーム処理番号領域にセーブする一方、はずれの場合に、普図普段処理に移行するために、ゲーム処理番号として「0」を設定して普図ゲーム処理番号領域にセーブする。
また、遊技制御装置100は、ステップA7607にてゲーム処理番号が「3」の場合は、普図当り中処理の継続、あるいは普電残存球処理を行うために必要な情報の設定等を行う普図当り中処理を実行する(A7611)。例えば、普図当り中処理では、所定回数だけ普通変動入賞装置37を開放するための設定を行った後、普電残存球処理に移行するために、ゲーム処理番号として「4」を設定して普図ゲーム処理番号領域にセーブする。
また、遊技制御装置100は、ステップA7607にてゲーム処理番号が「4」の場合は、普図当り終了処理を行うために必要な情報の設定等を行う普電残存球処理を実行する(A7612)。例えば、普電残存球処理では、普図当り終了処理に移行するために、ゲーム処理番号として「5」を設定して普図ゲーム処理番号領域にセーブする他、普図エンディング時間を普図ゲーム処理タイマ領域にセーブする。
また、遊技制御装置100は、ステップA7607にてゲーム処理番号が「5」の場合は、普図普段処理(A7608)を行うために必要な情報の設定等を行う普図当り終了処理を実行する(A7613)。例えば、普図当り終了処理では、普図普段処理に移行するために、ゲーム処理番号として「0」を設定して普図ゲーム処理番号領域にセーブする。
その後、遊技制御装置100は、普図表示器53による普通図柄の変動を制御するための普図変動制御テーブルを準備する(A7614)。その後、普図表示器53による普通図柄(普図)の変動の制御に係る図柄変動制御処理を実行し(A7615)、普図ゲーム処理を終了する。
一方、遊技制御装置100は、普図ゲーム処理タイマの値が0でない場合(A7604の結果が「N」)、すなわち、タイムアップしていない場合には、ステップA7614以降の処理を実行する。
〔ゲートスイッチ監視処理〕
図44は、ゲートスイッチ監視処理の手順を示すフローチャートである。ゲートスイッチ監視処理は、図43に示した普図ゲーム処理におけるステップA7601にて実行される。
遊技制御装置100は、まず、ゲートスイッチ34aに入力があるか否かを判定する(A7701)。そして、ゲートスイッチ34aに入力がある場合(A7701の結果が「Y」)、右打ちする遊技状態であるか否かを判定する(A7702)。右打ちする遊技状態は、大当り状態、時短状態(普電サポート状態)である。右打ちする遊技状態である場合(A7702の結果が「Y」)、ステップA7705の処理に移行する。右打ちする遊技状態でない場合(A7702の結果が「N」)、左打ち指示報知コマンド(左打ち指示コマンド)を演出コマンドとして準備し(A7703)、演出コマンド設定処理を実行する(A7704)。左打ち指示報知コマンドを受信した演出制御装置300は、左打ちするよう指示する報知(警告)を左打ち指示表示によって表示装置41等で実行する。
次に、遊技制御装置100は、普図保留数を取得して当該普図保留数が上限値(本実施形態では1)未満であるか否かを判定する(A7705)。遊技制御装置100は、普図保留数が上限値未満である場合には(A7705の結果が「Y」)、普図変動表示ゲームの変動中(実行中)又は普図当り状態中であるか否かを判定する(A7706)。普図変動表示ゲームの変動中でも普図当り状態中でもない場合に(A7706の結果が「N」)、普図保留数を+1更新する(A7707)。このように、普図変動表示ゲームの変動中や普図当り状態中でない場合にだけ普図保留数が+1更新され、+1更新されるとすぐに普図保留は消化されるため、普図保留は実質的に貯まらず普図変動表示ゲームが開始する直前のみ瞬間的に1となる(普図保留数は実質的に0となる)。
続いて、遊技制御装置100は、更新後の普図保留数に対応する当り乱数格納領域のアドレスを算出する(A7708)。そして、当り乱数を抽出してRWMの当り乱数格納領域にセーブし(A7709)、当り図柄乱数を抽出し、当り図柄乱数格納領域にセーブし(A7710)、ゲートスイッチ監視処理を終了する。
一方、遊技制御装置100は、ゲートスイッチ34aに入力がない場合(A7701の結果が「N」)、普図保留数が上限値未満でないと判定された場合(A7705の結果が「N」)、又は、普図変動表示ゲームの変動中又は普図当り状態中である場合には(A7706の結果が「Y」)、ゲートスイッチ監視処理を終了する。
〔普電入賞スイッチ監視処理〕
次に、普図ゲーム処理における普電入賞スイッチ監視処理(A7602)の詳細について説明する。図45は、普電入賞スイッチ監視処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図当り中か否か、すなわち、普図変動表示ゲームが当り状態となって普通変動入賞装置37が所定回数の開放動作を実行中であるか否かを判定する(A7801)。そして、普図当り中である場合には(A7801の結果が「Y」)、始動口2スイッチ37aに入力があるか否かを判定する(A7802)。始動口2スイッチ37aに入力がある場合には(A7802の結果が「Y」)、普電カウンタのカウント数を+1更新する(A7803)。
次に、遊技制御装置100は、更新後の普電カウンタのカウント数が上限値(例えば、10)に達したか否かを判定する(A7804)。そして、カウント数が上限値に達した場合には(A7804の結果が「Y」)、RWM内の普図当り終了ポインタ領域から当り終了ポインタ値(例えば、2)をロードし、RWM内の普図当り中制御ポインタ領域にセーブする(A7805)。
最後に、普図ゲーム処理タイマをクリアし(A7806)、普電入賞スイッチ監視処理を終了する。すなわち、普図の当り状態中に上限値以上の普電入賞があった場合には、その時点で普図当り中処理制御ポインタ領域に当り終了の値をセーブし、普通変動入賞装置37が閉じられて普図の当り状態が途中で終了するようにする。
一方、遊技制御装置100は、普図当り中でないと判定された場合(A7801の結果が「N」)、始動口2スイッチ37aに入力がないと判定された場合(A7802の結果が「N」)、又は、カウント数が上限値に達していないと判定された場合には(A7804の結果が「N」)、普電入賞スイッチ監視処理を終了する。
〔普図普段処理〕
次に、普図ゲーム処理における普図普段処理(A7608)の詳細について説明する。図46は、普図普段処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図保留数が0であるか否かを判定する(A7901)。普図保留数が0でない場合には(A7901の結果が「N」)、RWMの普図当り乱数格納領域(保留数1用)から当り乱数をロードし、RWMの普図当り図柄乱数格納領域(保留数1用)から当り図柄乱数をロードし、ロードした後の普図当り乱数格納領域(保留数1用)と普図当り図柄乱数格納領域(保留数1用)を0クリアする(A7902)。さらに、普図変動表示ゲームにて当り結果となる確率が通常よりも高い普図高確率中(高確率状態中)であるか否か、すなわち、時短状態(普電サポート状態)であるか否かを判定する(A7903)。なお、本実施形態において、当り乱数の範囲は0~250であり、高確率中の普図当り確率は251/251であり、低確率中での普図当り確率は0/251である。なお、これに限られず、低確率中での普図当り確率は、0%より大きい値(例えば、2/251(0.8%))でもよい。
遊技制御装置100は、普図高確率中でない場合(A7903の結果が「N」)、普図低確率中の下限判定値である低確率下限判定値(ここでは251)を設定し(A7904)、普図高確率中である場合(A7903の結果が「Y」)、普図高確率中の下限判定値である高確率下限判定値(ここでは0)を設定し(A7905)、ステップA7906の処理に移行する。
遊技制御装置100は、当り乱数が上限判定値(ここでは251)以上であるか否か判定する(A7906)。なお、ここでの上限判定値は、普図高確率中と普図低確率中とで共通する。当り乱数が上限判定値以上である場合(A7906の結果が「Y」)、即ち、はずれの場合、ステップA7908の処理に移行する。当り乱数が上限判定値未満である場合(A7906の結果が「N」)、当り乱数が下限判定値未満であるか否かを判定する(A7907)。
遊技制御装置100は、当り乱数が下限判定値未満である場合(A7907の結果が「Y」)、即ち、はずれの場合、当りフラグ領域にはずれ情報をセーブする(A7908)。さらに、普図停止図柄番号としてはずれ停止図柄番号を設定し(A7909)、はずれ図柄情報を普図停止図柄情報領域にセーブし(A7910)、ステップA7914の処理に移行する。
遊技制御装置100は、当り乱数が下限判定値未満でない場合(A7907の結果が「N」)、即ち、当りの場合、当りフラグ領域に当り情報をセーブし(A7911)、ロードした当り図柄乱数に対応する当り停止図柄番号を設定し(A7912)、当り停止図柄番号に対応する当り停止図柄情報を普図停止図柄情報領域にセーブし(A7913)、ステップA7914の処理に移行する。なお、ここでは、当り停止図柄(普図当り図柄)は1種類であるが、後述の変形例では数種類存在してよい。
次に、遊技制御装置100は、停止図柄番号を普図停止図柄領域にセーブし(A7914)、停止図柄番号を試験信号出力データ領域にセーブし(A7915)、普図当り乱数格納領域をシフトし(A7916)、シフト後の空き領域を0クリアした後(A7917)、普図保留数を-1更新する(A7918)。
すなわち、最も古い普図保留数1に関する普図変動表示ゲームが実行されることに伴い、普図保留数1以降に保留となっている普図保留数2~4の順位を1つずつ繰り上げる。この処理により、普図当り乱数格納領域の普図保留数1用の値がクリアされて0になるとともに、普図保留数が1デクリメントされ0になる。
その後、遊技制御装置100は、サポ状態(サポ態様、普電開放パターン)の情報をロードする(A7919)。なお、ステップA7919の処理は、オプションであり、後述の変形例のように普電サポートの状態(態様)であるサポ状態が可変である場合に実行される。
次に、遊技制御装置100は、固定の普図変動時間(例えば200msec)を設定し、普図ゲーム処理タイマ領域にセーブする(A7920)。なお、後述の変形例のように普電サポートの状態(態様)であるサポ状態(サポ態様、普電開放パターン)が可変である場合に、サポ状態に対応する可変の普図変動時間を設定し、普図ゲーム処理タイマ領域にセーブする。そして、普図変動中処理移行設定処理を実行し(A7921)、普図普段処理を終了する。なお、普図変動中処理移行設定処理については後述する。
また、遊技制御装置100は、普図保留数が0である場合には(A7901の結果が「Y」)、普図普段処理に移行するための処理番号として「0」を設定し(A7922)、処理番号を普図ゲーム処理番号領域にセーブする(A7923)。その後、普電不正監視期間フラグ領域に不正監視期間中フラグをセーブし(A7924)、普図普段処理を終了する。
〔普図変動中処理移行設定処理〕
図47は、普図変動中処理移行設定処理の手順を示すフローチャートである。普図変動中処理移行設定処理は、普図普段処理におけるステップA7921にて実行される。
遊技制御装置100は、まず、普図変動中処理に移行するための処理番号として「1」を設定し(A8101)、処理番号を普図ゲーム処理番号領域にセーブする(A8102)。
その後、遊技制御装置100は、普図変動表示ゲームの開始に関する信号(普通図柄1変動中信号をオン)を試験信号出力データ領域にセーブし(A8103)、普図変動表示ゲームが変動中であることを示す変動中フラグを普図変動制御フラグ領域にセーブする(A8104)。そして、普図表示器の点滅周期のタイマの初期値である点滅制御タイマ初期値を普図点滅制御タイマ領域にセーブし(A8105)、普図変動図柄番号領域に初期値(ここでは0)をセーブする(A8106)。その後、普図変動中処理移行設定処理を終了する。
〔普図変動中処理〕
次に、普図ゲーム処理における普図変動中処理(A7609)の詳細について説明する。図48は、普図変動中処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図表示中処理に移行するための設定処理として処理番号を「2」に設定し(A8301)、処理番号を普図ゲーム処理番号領域にセーブする(A8302)。その後、遊技制御装置100は、普図表示器における普図変動表示ゲームの結果の表示時間である普図表示時間(普図停止時間、例えば、48msec)を普図ゲーム処理タイマ領域にセーブする(A8303)。
さらに、遊技制御装置100は、普図の変動終了に関する信号(普通図柄1変動中信号をオフ)を試験信号出力データ領域にセーブする(A8304)。そして、普図変動表示ゲームが停止中であることを示す停止フラグを普図変動制御フラグ領域にセーブし(A8305)、普図変動中処理を終了する。
〔普図表示中処理〕
次に、普図ゲーム処理における普図表示中処理(A7610)の詳細について説明する。図49は、普図表示中処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図普段処理にて設定された当りフラグ(当り情報又ははずれ情報)をロードし(A8401)、RWMの当りフラグ領域をクリアする(A8402)。そして、ロードされた当りフラグに当り情報が設定されているか否かを判定する(A8403)。
遊技制御装置100は、当りフラグに当り情報が設定されている場合には(A8403の結果が「Y」)、当り中処理設定テーブルを設定し(A8404)、普図停止図柄情報に対応する当り開始ポインタ値(ここでは0)を取得し、普図当り中制御ポインタ領域にセーブする(A8405)。また、普図停止図柄情報に対応する当り終了ポインタ値を取得し、普図当り終了ポインタ領域にセーブする(A8406)。次いで、普図停止図柄情報に対応する普電開放時間(例えば3000msec)を取得し、普図ゲーム処理タイマ領域にセーブする(A8407)。以上の処理により時短状態中での普通変動入賞装置37の開放態様が設定され、例えば2回の開放が可能となる。なお、当りの普図停止図柄(普図当り図柄)は1種類であり、当り開始ポインタ値、当り終了ポインタ値、普電開放時間は、固定されているが、後述の変形例のように普電サポートに関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、サポ状態に対応する当り開始ポインタ値、当り終了ポインタ値、普電開放時間を設定し、普図ゲーム処理タイマ領域にセーブしてよい。
続いて、遊技制御装置100は、普図当り中処理に移行するための処理番号として「3」を設定し(A8408)、処理番号を普図ゲーム処理番号領域にセーブする(A8409)。その後、普図変動表示ゲームの当りに関する信号(普通図柄1当り中信号をオン)と、普電作動開始に関する信号(普通電動役物1作動中信号をオン)を試験信号出力データ領域にセーブする(A8410)。さらに、普電ソレノイドを駆動(オン)する信号を出力するために普電ソレノイド出力データ領域にオンデータをセーブする(A8411)。
さらに、遊技制御装置100は、普通変動入賞装置37への入賞数を記憶する普電カウント数領域の情報をクリアし(A8412)、普電不正監視期間における普通変動入賞装置37への入賞数を記憶する普電不正入賞数領域の情報をクリアする(A8413)。最後に、普通変動入賞装置37の不正監視期間外を規定するフラグを普電不正監視期間フラグ領域にセーブする(A8414)。
遊技制御装置100は、当りフラグに当り情報が設定されていない場合には(A8403の結果が「N」)、普図普段処理に移行するための処理番号として「0」を設定し(A8415)、処理番号を普図ゲーム処理番号領域にセーブする(A8416)。その後、普電不正監視期間フラグ領域に不正監視期間中フラグをセーブし(A8417)、普図表示中処理を終了する。
〔普図当り中処理〕
次に、普図ゲーム処理における普図当り中処理(A7611)の詳細について説明する。図50は、普図当り中処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図当り中制御ポインタをロードして準備し(A8601)、ロードされた普図当り中制御ポインタの値が普図当り中制御ポインタ上限値(当り終了ポインタ値)に達したか否かを判定する(A8602)。
そして、遊技制御装置100は、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了ポインタ値)に達していない場合には(A8602の結果が「N」)、普図当り中制御ポインタを+1更新する(A8603)。さらに、普電作動移行設定処理を実行し(A8604)、普図当り中処理を終了する。なお、普電作動移行設定処理の詳細については後述する。
また、遊技制御装置100は、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了ポインタ値)に達した場合には(A8602の結果が「Y」)、ステップA8603における普図当り中処理制御ポインタ領域を更新(+1)する処理を実行せずに、普電作動移行設定処理を実行し(A8604)、普図当り中処理を終了する。
〔普電作動移行設定処理〕
次に、普図当り中処理における普電作動移行設定処理(A8604)の詳細について説明する。図51は、普電作動移行設定処理の手順を示すフローチャートである。普電作動移行設定処理は、普通変動入賞装置37を開閉するための普電ソレノイド37cの駆動制御を行う処理であり、制御ポインタの値に応じて処理を分岐するようにしている。
遊技制御装置100は、まず、制御ポインタ(普図当り中制御ポインタ)の値に応じて処理を分岐させる(A8701)。なお、ここで、制御ポインタは、ステップA8603で更新する前の値を使用する。制御ポインタの例は、後述の図73に示される。制御ポインタの値が偶数の値であった場合には、ステップA8702の処理に移行して普通変動入賞装置37の閉塞を制御するため、制御ポインタに対応する普通変動入賞装置37の閉塞後のウェイト時間(普電インターバル時間、例えば60000msec)を普図ゲーム処理タイマ領域にセーブする(A8702)。なお、後述の変形例のように普電サポートに関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、サポ状態に対応してウェイト時間(普電インターバル時間)を設定してよい。
さらに、遊技制御装置100は、普電ソレノイド37cをオフさせるために普電ソレノイド出力データ領域にオフデータを設定し(A8703)、普電作動移行設定処理を終了する。
また、制御ポインタの値が奇数の値であった場合には、遊技制御装置100は、ステップA8704の処理に移行して普通変動入賞装置37の開放を制御するため、制御ポインタに対応する普通変動入賞装置37の開放時間である普電開放時間を普図ゲーム処理タイマ領域にセーブする(A8704)。ここでの普電開放時間は、ステップA8407で設定した値(例えば3000msec)と同じでよい。さらに、普電ソレノイド37cをオンさせるために普電ソレノイド出力データ領域にオンデータを設定し(A8705)、普電作動移行設定処理を終了する。
さらに、制御ポインタの値が当り終了ポインタ値であった場合には、遊技制御装置100は、ステップA8706に移行して普通変動入賞装置37の開放制御を終了して普電残存球処理(A7612)を実行するために、処理番号として「4」を設定し(A8706)、処理番号を普図ゲーム処理番号領域にセーブする(A8707)。
続いて、遊技制御装置100は、普電残存球処理時間(例えば600msec)を普図ゲーム処理タイマ領域にセーブする(A8708)。その後、普電ソレノイド37cをオフに設定するために普電ソレノイド出力データ領域にオフデータをセーブし(A8709)、普電作動移行設定処理を終了する。なお、後述の変形例のように普電サポートに関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、サポ状態に対応して普電残存球処理時間を設定してよい。
〔普電残存球処理〕
次に、普図ゲーム処理における普電残存球処理(A7612)の詳細について説明する。図52は、普電残存球処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図当り終了処理に係る処理番号「5」を設定し(A8901)、処理番号を普図ゲーム処理番号領域にセーブする(A8902)。その後、普図エンディング時間(例えば、100msec)を普図ゲーム処理タイマ領域にセーブする(A8903)。なお、後述の変形例のように普電サポートに関するサポ状態(サポ態様、普電開放パターン)が可変である場合に、サポ状態に対応して普図エンディング時間を設定してよい。
さらに、遊技制御装置100は、普通変動入賞装置37の作動終了に関する信号(普通電動役物1作動中信号をオフ)を試験信号出力データ領域にセーブする(A8904)。続いて、普通変動入賞装置37への入賞数を計数する普電カウント数領域をクリアし(A8905)、さらに、普図当り中制御ポインタ領域をクリアする(A8906)。その後、普図当り終了ポインタ領域をクリアし(A8907)、普電残存球処理を終了する。
〔普図当り終了処理〕
次に、普図ゲーム処理における普図当り終了処理(A7613)の詳細について説明する。図53は、普図当り終了処理の手順を示すフローチャートである。
遊技制御装置100は、まず、普図普段処理に係る処理番号「0」を設定し(A9101)、さらに、処理番号を普図ゲーム処理番号領域にセーブする(A9102)。その後、普図変動ゲームの当り終了に関する信号(普通図柄1当り中信号をオフ)を試験信号出力データ領域にセーブする(A9103)。
さらに、遊技制御装置100は、普通変動入賞装置37の不正監視期間を規定するフラグ(不正監視期間中フラグ)を普電不正監視期間フラグ領域にセーブし(A9104)、その後、普図当り終了処理を終了する。
〔外部情報編集処理〕
次に、タイマ割込み処理における外部情報編集処理(A1319)の詳細について説明する。図54Aと図54Bは、外部情報編集処理の手順を示すフローチャートである。図54Aは外部情報編集処理の前半部分を示し、図54Bは外部情報編集処理の後半部分を示す。外部情報編集処理では、払出コマンド送信処理(A1307)、入賞口スイッチ/状態監視処理(A1308)、磁石不正監視処理(A1315)、盤電波不正監視処理(A1316)での監視結果に基づいて、情報収集端末や遊技場内部管理装置等の外部装置や、試射試験装置に出力する情報を作成して出力バッファにセットする処理等を行う。
遊技制御装置100は、まず、ガラス枠開放エラーが発生中であるか否かを判定する(A9301)。ガラス枠開放エラーが発生中でない場合(A9301の結果が「N」)、本体枠開放エラー(前面枠開放エラー)が発生中であるか否かを判定する(A9302)。本体枠開放エラーが発生中でない場合(A9302の結果が「N」)、扉・枠開放信号のオフデータを外部情報出力データ領域にセーブし(A9303)、セキュリティ信号のオフデータを外部情報出力データ領域にセーブする(A9304)。
遊技制御装置100は、ガラス枠開放エラーが発生中である場合(A9301の結果が「Y」)、又は、本体枠開放エラーが発生中である場合(A9302の結果が「Y」)、扉・枠開放信号のオンデータを外部情報出力データ領域にセーブし(A9305)、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブする(A9306)。
遊技制御装置100は、ステップA9304、A9306の後、セキュリティ信号制御タイマが0でなければ-1更新し(A9307)、セキュリティ信号制御タイマが0であるか否か(タイムアップしたか否か)を判定する(A9308)。セキュリティ信号制御タイマの初期値は、初期化スイッチ(設定値変更スイッチ102)の操作等によりRAMに記憶されたデータが初期化されたときなどに、所定時間(例えば256msec)が設定される(メイン処理のA1046)。そして、セキュリティ信号制御タイマはRAM初期化時から計時されることになる。
遊技制御装置100は、セキュリティ信号制御タイマが0でない場合(A9308の結果が「N」)、セキュリティ信号のオンデータを外部情報出力データ領域にセーブし(A9309)、ステップA9310の処理に移行する。即ち、RAMに記憶されたデータの初期化が行われたことが外部情報として出力される。
遊技制御装置100は、セキュリティ信号制御タイマが0である場合(A9308の結果が「Y」)、磁石不正が発生中であるか否かを判定する(A9310)。なお、磁気センサスイッチ61からの検出信号があった場合に、磁石不正が発生中であると判定できる。磁石不正が発生中でない場合(A9310の結果が「N」)、さらに、盤電波不正が発生中であるか否かを判定する(A9311)。なお、電波センサ62から検出信号があった場合に、盤電波不正が発生中であると判定できる。
遊技制御装置100は、盤電波不正が発生中でない場合(A9311の結果が「N」)、さらに、枠電波不正が発生中であるか否かを判定する(A9312)。枠電波不正信号があった場合に、枠電波不正が発生中であると判定できる。枠電波不正が発生中でない場合(A9312の結果が「N」)、さらに、大入賞口不正が発生中であるか否か判定する(A9313)。なお、入賞口スイッチ/状態監視処理によって大入賞口に関しての不正入賞発生フラグが不正フラグ領域にセーブされている場合、大入賞口不正が発生中であると判定できる。大入賞口不正が発生中でない場合(A9313の結果が「N」)、さらに、普電不正発生中であるか否かを判定する(A9314)。なお、入賞口スイッチ/状態監視処理によって普通変動入賞装置37の第2始動入賞口に関しての不正入賞発生フラグが不正フラグ領域にセーブされている場合、普電不正が発生中であると判定できる。
遊技制御装置100は、普電不正発生中でない場合(A9314の結果が「N」)、振動不正が発生中であるか否か判定する(A9315)。なお、振動センサ65から検出信号があった場合に、振動不正が発生中であると判定できる。振動不正が発生中でない場合(A9315の結果が「N」)、異常排出エラーが発生中であるか否か判定する(A9316)。なお、異常排出監視処理(A1318)によって異常排出発生中フラグが設定された場合に、異常排出エラーが発生中であると判定できる。
遊技制御装置100は、異常排出エラーが発生中でない場合(A9316の結果が「N」)、V通過エラーが発生中であるか否か判定する(A9317)。不適切なタイミングで特定領域スイッチ72の検出信号が発生した場合に、V通過エラーが発生中であると判定できる。V通過エラーが発生中でない場合(A9317の結果が「N」)、残存球に関するエラーである残存球エラーが発生中であるか否か判定する(A9318)。残存球エラーが発生中でない場合(A9318の結果が「N」)、安全装置作動中フラグに基づいて安全装置が作動中であるか否か判定する(A9319)。安全装置が作動中でない場合(A9319の結果が「N」)、スイッチ異常エラーが発生中であるか否かを判定する(A9320)。
遊技制御装置100は、スイッチのコネクタ抜けなどのスイッチ異常エラーが発生中でない場合(A9320の結果が「N」)、遊技機エラー状態信号のオフデータを試験信号出力データ領域にセーブする(A9321)。スイッチ異常エラーが発生中である場合(A9320の結果が「Y」)、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブする(A9323)。
一方、遊技制御装置100は、磁石不正が発生中である場合(A9310の結果が「Y」)、盤電波不正が発生中である場合(A9311の結果が「Y」)、枠電波不正が発生中である場合(A9312の結果が「Y」)、大入賞口不正が発生中である場合(A9313の結果が「Y」)、普電不正発生中である場合(A9314の結果が「Y」)、振動不正が発生中である場合(A9315の結果が「Y」)、異常排出エラーが発生中である場合(A9316の結果が「Y」)、V通過エラーが発生中である場合(A9317の結果が「Y」)、残存球エラーが発生中である場合(A9318の結果が「Y」)、安全装置が作動中である場合(A9319の結果が「Y」)、セキュリティ信号のオンデータを外部情報出力データ領域にセーブし(A9322)、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブする(A9323)。セキュリティ信号のオンデータの設定によって、セキュリティ信号が外部情報として外部情報端子71を介して外部装置(ホールコンピュータなど)に出力される。なお、本実施形態では、安全装置作動中フラグ=1の場合に安全装置が作動中である。
このように、安全装置が作動中である場合に(A9319の結果が「Y」)、セキュリティ信号がオン状態になりホールコンピュータなどの外部装置に出力され(A9322)、遊技場の責任者や係員などが安全装置が作動中であることを認識できる。なお、安全装置が作動中に継続的にセキュリティ信号を外部装置に出力する構成の他に、安全装置が作動した際に1パルス(例:256ms)だけセキュリティ信号を外部装置に出力する構成も可能である。また、セキュリティ信号の代わりに又はセキュリティ信号と併用して、安全装置専用に外部情報を設けて、安全装置が作動中に専用の外部情報を外部装置に出力してもよい。
また、安全装置が作動中である場合(A9319の結果が「Y」)、遊技機エラー状態信号のオンデータが試験信号出力データ領域にセーブされ、遊技機エラー状態信号が試験信号として試射試験装置へ出力される。なお、安全装置が作動中であることに対応する試験信号(遊技機エラー状態信号)を出力しない構成も可能である。また、遊技機エラー状態信号とは別の試験信号を試射試験装置へ出力してもよい。
遊技制御装置100は、ステップA9321、A9323の後、始動口の入賞信号を編集する始動口信号編集処理を実行する(A9324)。続いて、払出予定の賞球数に関する情報を設定するメイン賞球信号編集処理を実行し(A9325)、特図変動表示ゲームの停止図柄が確定する際に生成される図柄確定回数信号を外部装置に出力する図柄確定回数信号編集処理を実行する(A9326)。
次に、遊技制御装置100は、時短信号制御タイマが0でなければ-1更新し(A9327)、時短信号制御タイマが0であるか否かを判定する(A9328)。時短信号制御タイマが0である場合(A9328の結果が「Y」)、そのまま外部情報編集処理を終了し、時短信号制御タイマが0でない場合(A9328の結果が「N」)、大当り3信号のオンデータを外部情報出力データ領域にセーブして(A9329)、外部情報編集処理を終了する。
このようにして、天井回数到達による天井時短と時短図柄(サポ当り)による突然時短の開始時に、大当り3信号のオンデータが、遊技場内部管理装置(ホールコンピュータ)などの外部装置に、外部情報端子71を介して出力される。ここで、大当り3信号のオンデータは、前述のサポ作動設定処理のステップA5302において時短信号制御タイマ領域に設定されたタイマ初期値(例えば128msecの固定時間)の間、出力される。従来の大当り1~4信号は大当り等の期間中に出力していたが、大当り3信号の当該出力は、大当り等の期間に比べてずっと短い固定時間(例えば128msec)の出力とした。このため、外部装置(ホールコンピュータ等)は、大当りや大当りに続く時短等と混同することなく、天井回数到達による天井時短や時短図柄による突然時短によって時短が発生したことを認識できる。
なお、前述のように、大当り2信号は、大当り状態中と大当り状態に続く時短状態(大当りに起因する時短状態、第1特定遊技状態、第1時短状態)において長時間継続して外部装置に外部情報として出力される。上記の短い固定時間(例えば128msec)の大当り3信号は、天井時短又は突然時短による時短状態(第2特定遊技状態、第2時短状態)の発生を示す外部情報として、大当りに起因する時短状態を示す外部情報(長時間の大当り2信号)と区別して外部装置に出力され、外部装置で混同されない。
なお、他の構成として、天井時短と突然時短の一方でのみ、時短開始時に、大当り3信号を固定時間の間出力するようにしてよい。また、天井時短の発生と突然時短の発生とを区別するために、一方の時短では、時短開始時に固定時間の間、大当り3信号と大当り4信号の両方を出力し、他方の時短では、大当り3信号のみを出力してよい。例えば、天井時短について大当り3信号と大当り4信号を出力し、突然時短について大当り3信号だけを出力してもよい(逆でもよい)。また、天井時短の発生と突然時短の発生とを区別するために、時短開始時に、天井時短について大当り3信号(又は大当り4信号)を出力し、突然時短について大当り4信号(又は大当り3信号)を出力してもよい。このように、大当り3信号と大当り4信号を適宜組み合わせて、外部装置が認識できるように天井時短の発生と突然時短の発生とを区別してもよい。
〔外部情報又は試験信号の送信の様子〕
図55は、外部情報又は試験信号の送信の様子を示すタイムチャートである。
図55(A)は、先の時短状態における最後の特図変動表示ゲーム(時短回数に達する特図変動表示ゲーム)で、天井回数の到達や時短図柄の停止があり、次の特図変動表示ゲームから後の時短状態(天井時短や突然時短による時短状態)になる場合を示している。
この場合に、本実施形態において、先の時短状態が終了するタイミングは、特図変動中処理内で時短終了設定処理(A4812、図33)が実行されるタイミング、即ち、先の特図変動表示ゲームの変動表示が停止するタイミングである。また、後の時短状態(天井時短や突然時短)が開始するタイミングは、特図表示中処理内で時間短縮変動回数(A5123、A5126)が設定されるタイミング、即ち、先の特図変動表示ゲームの停止結果の表示が終了するタイミング(次の特図変動表示ゲームが開始するなら開始するタイミングに略等しい)である。
また、先の特図変動表示ゲームの変動表示が停止するタイミングで、特図変動中処理内で時短終了設定処理によって、時短終了に関する信号として大当り2信号のオフデータが、外部情報出力データ領域に設定されて外部装置(ホールコンピュータなど)に出力されるとともに(A4901)、時短終了に関する信号として変動時間短縮状態信号(特別図柄1変動時間短縮状態信号、特別図柄2変動時間短縮状態信号、普通図柄1変動時間短縮状態信号)のオフデータなどが、試験信号出力データ領域に設定されて、試射試験装置に出力される(A4902)。従って、外部情報としての大当り2信号と試験信号としての変動時間短縮状態信号は、先の特図変動表示ゲームの変動表示が停止するタイミングの後(先の時短終了後)にオフ状態になる。
さらに、先の特図変動表示ゲームの停止結果の表示が終了するタイミングで、サポ作動設定処理によって、時短開始に関する信号として大当り2信号のオンデータが、外部情報出力データ領域に設定されて外部装置(ホールコンピュータなど)に出力されるとともに(A5301)、時短開始に関する信号として変動時間短縮状態信号(特別図柄1変動時間短縮状態信号、特別図柄2変動時間短縮状態信号、普通図柄1変動時間短縮状態信号)のオンデータなどが、試験信号出力データ領域に設定されて、試射試験装置に出力される(A5303)。従って、外部情報としての大当り2信号と試験信号としての変動時間短縮状態信号は、先の特図変動表示ゲームの停止結果の表示が終了するタイミングの後にオン状態になる。
このようにして、時短が終了となる特図変動表示ゲーム(先の特図変動表示ゲーム)が、ちょうど天井回数に達した場合や時短図柄で停止した場合に、時短が一旦終了したことが明確になる。また、外部情報(大当り2信号)や試験信号(変動時間短縮状態信号など)の出力が、停止結果(停止図柄)の表示時間(停止表示時間)の分だけオフ状態となることにより、時短が再開した場合に、外部情報や試験信号の出力のオン状態が、明確に識別できる。
一方、図55(B)のように、従来の遊技機では、先の特図変動表示ゲームの停止結果の表示が終了するタイミングで、特図表示中処理内で時短終了設定処理によって時短が終了する。時短終了設定処理において、時短終了に関する信号として大当り2信号のオフデータが、外部情報出力データ領域に設定されて外部装置(ホールコンピュータなど)に出力されるとともに、時短終了に関する信号として変動時間短縮状態信号のオフデータなどが、試験信号出力データ領域に設定されて、試射試験装置に出力される。
このため、従来の遊技機では、外部情報としての大当り2信号と試験信号としての変動時間短縮状態信号は、先の特図変動表示ゲームの停止結果の表示が終了するタイミングの後にオフ状態になるが、このタイミングでサポ作動設定処理によって、大当り2信号と変動時間短縮状態信号はすぐにオン状態になるため、実質的にオフ状態になることはない(オン状態が実質的に継続されたままになる)。従って、本実施形態と異なり、従来の遊技機では、時短が一旦終了したことが不明確になるとともに、時短再開の際に外部情報や試験信号の出力のオン状態が不明確になる。
〔安全装置関連処理〕
次に、タイマ割込み処理(図9)における安全装置関連処理(A1314)の詳細について説明する。図56は、安全装置関連処理の手順を示すフローチャートである。安全装置関連処理は、領域内処理であり前述の領域内プログラムの一部として実行される。
遊技制御装置100は、まず、領域内ワーク領域に含まれる安全装置作動中フラグ領域の安全装置作動中フラグに基づいて安全装置が作動中であるか否かを判定する(A9401)。安全装置作動中フラグ=1であれば安全装置が作動中であると判断できる。安全装置が作動中である場合に(A9401の結果が「Y」)、安全装置関連処理を終了する。
遊技制御装置100は、安全装置が作動中でない場合に(A9401の結果が「N」)、領域外ワーク領域に含まれる安全装置作動情報領域から安全装置作動情報をロードし(A9402)、安全装置作動情報が旧作動情報領域の値であるか否かを判定する(A9403)。安全装置作動情報が旧作動情報領域の値である場合に(A9403の結果が「Y」)、安全装置作動情報に変化がないため、演出コマンドを設定(送信)せずに、ステップA9409の処理に移行する。
遊技制御装置100は、安全装置作動情報が旧作動情報領域の値でない場合に(A9403の結果が「N」)、安全装置作動情報に変化があるため、演出コマンドを設定(送信)できるよう、安全装置作動情報とコマンドを対応付けた安全装置作動関連コマンドテーブルを設定し(A9404)、安全装置作動情報に対応するコマンド(ACTION部)を取得する(A9405)。そして、コマンド定義なしであるか否かを判定する(A9406)。安全装置作動関連コマンドテーブルにおいて、安全装置未作動情報(値0)に対応するコマンドが定義されていないため(コマンドがないため)、安全装置作動情報が安全装置未作動情報(値0)である場合に、コマンド定義なしと判定できる。コマンド定義なしの場合に(A9406の結果が「Y」)、演出コマンドを設定(送信)せずに、ステップA9409の処理に移行する。
遊技制御装置100は、コマンド定義ありの場合に(A9406の結果が「N」)、安全装置作動関連コマンド(MODE部)を演出コマンドとして準備する(A9407)。安全装置作動情報が安全装置作動予告情報(値1)、安全装置作動警告情報(値2)、安全装置作動中情報(値3)である場合に、コマンド定義ありと判定できる。そして、演出コマンドを設定(送信)する演出コマンド設定処理を実行する(A9408)。なお、演出コマンドは、MODE部及びACTION部からなる。なお、安全装置作動関連コマンドテーブルにおいて、安全装置未作動情報(値0)に対応するコマンドを定義して、ステップA9406の判定を省略し、安全装置未作動情報(値0)に対しても安全装置作動関連コマンドを設定(送信)できるようにしてよい。
次に、遊技制御装置100は、安全装置作動情報が安全装置作動中情報(値3)であるか否かを判定する(A9409)。安全装置作動情報が安全装置作動中情報(値3)でない場合に(A9409の結果が「N」)、そのまま安全装置関連処理を終了する。一方、安全装置作動情報が安全装置作動中情報(値3)である場合に(A9409の結果が「Y」)、安全装置作動中フラグ領域に安全装置が作動中であることを示す「1」を安全装置作動中フラグとしてセーブし(A9410)、その後安全装置関連処理を終了する。なお、前回のタイマ割込み処理においてステップA9804(後述)にて安全装置作動中情報(値3)がセーブされた場合に、次回のタイマ割込み処理においてステップA9409の結果が「Y」となる。
以上のようにして、安全装置作動情報が変化して安全装置作動予告情報(値1)、安全装置作動警告情報(値2)、安全装置作動中情報(値3)となった際に、安全装置作動関連コマンドが安全装置作動情報を一部(ACTION部)に含んだ形で、演出制御装置300に送信される。安全装置作動関連コマンドは、ACTION部が安全装置作動予告情報(値1)、安全装置作動警告情報(値2)、安全装置作動中情報(値3)の場合に、それぞれ、作動予告状態に対応する作動予告コマンド、作動警告状態に対応する作動警告コマンド、作動状態に対応する作動中コマンドになる。
演出制御装置300が、作動予告コマンドを受信することによって、安全装置の作動予告状態で作動予告表示(例えば「まもなく打ち止めです」の文字)を表示装置41に表示できる。従って、遊技者に遊技停止状態になる可能性があることを事前に報知して、遊技者に遊技を終了させることを促し、遊技者が意図せず不利益を受けることを防止できる。また、不正を行っている者には驚きを与えて、不正を止めることを促すことができる。
演出制御装置300が、作動警告コマンドを受信することによって、安全装置の作動警告状態で作動警告表示(例えば「当り終了後に打ち止めとなります」の文字)を表示装置41に表示できる。従って、遊技者に小当り又は大当りの終了後に遊技停止状態になることを事前に報知して、連チャンが止まるなど不利益を受けることを遊技者に警告することができる。なお、連チャンとは、例えば通常モード(又は通常遊技状態)を経ないで、大当り状態と特定遊技状態が継続することである。また、作動警告状態によって、不正を行っている者には驚きを与えて、不正を止めることを促すことができる。
演出制御装置300が、作動中コマンドを受信することによって、安全装置の作動状態(作動中状態)で、作動中表示513(例えば「打ち止め中」の文字)を表示装置41に表示できる。従って、新たな遊技者(客)が遊技機10を使用することを防止でき、不正を行っている者がいれば不正行為を止めさせることもできる。
なお、安全装置作動情報が変化せず0、1、2、3に維持される場合(0→0、1→1、2→2、3→3の無変化の場合)に、安全装置作動関連コマンドは演出制御装置300に送信されない。安全装置カウンタ値が190000~194999になった後に190000未満となって安全装置作動情報が1から0に変化したとき(1→0の変化時)にも、安全装置作動関連コマンドはコマンド定義なしで送信されない。なお、安全装置作動情報が2から1に或いは3から2に変化すること(2→1、3→2の変化)は、後述の差玉確認処理や安全装置作動監視処理によって除かれている。
安全装置作動情報が0から1に変化したとき(0→1の変化時)に、安全装置作動関連コマンドのうち作動予告コマンドが演出制御装置300に送信される。安全装置作動情報が1から2に変化したとき(1→2の変化時)に、安全装置作動関連コマンドのうち作動警告コマンドが演出制御装置300に送信される。安全装置作動情報が2から3に変化したとき(2→3の変化時)に、安全装置作動関連コマンドのうち作動中コマンドが演出制御装置300に送信される。なお、安全装置作動情報が2から3に変化した場合は、直後の1回だけ、ステップA9403の結果が「Y」となりステップA9404-A9410を通り作動中コマンドが送信され、安全装置作動中フラグ=1となるため安全装置が作動中になり(A9401の結果が「Y」)、以降のタイマ割込み処理ではステップA9404-A9410を通らず安全装置作動関連コマンドは送信されない。
なお、安全装置作動情報が1から3に直接的に変化すること自体(1→3の変化自体)は、後述の差玉確認処理や安全装置作動監視処理によって除かれているが、安全装置作動情報が瞬時に1→2→3と変化することはある(2は瞬間値になり後述のように作動警告状態は発生しない)。この1→2→3の変化は、大当り中でも小当り中でもない場合に安全装置カウンタ値が195000に達して作動予告状態から作動状態に移行したことに対応する。そして、安全装置の作動予告状態から作動状態に移行したことに対応して、作動中コマンドが安全装置作動関連コマンドとして演出制御装置300に送信される(A9405、A9407)。
〔領域外統合処理〕
次に、タイマ割込み処理(図9)における領域外統合処理(A1322)の詳細について説明する。図57は、領域外統合処理の手順を示すフローチャートである。領域外統合処理は、領域外処理であり前述の領域外プログラムの一部として実行される。
遊技制御装置100は、まず、スタックポインタを領域外ワーク領域のスタックポインタ保存領域にセーブし(A9501)、スタックポインタに領域外スタック領域の値として、領域外スタック領域(領域外用スタック領域)の先頭を示すアドレス値を設定する(A9502)。これにより、使用するスタックを示すスタックポインタを領域内スタック領域から領域外スタック領域に切り替える。
次に、遊技制御装置100は、レジスタバンク0とレジスタバンク1の両方に対してレジスタの情報(値)を領域外スタック領域に退避(PUSH)する(A9503)。ここで、汎用レジスタ全部を退避することが好適である。そして、性能表示装置152の表示制御等を行う性能表示装置制御処理を実行する(A9504)。続いて、差玉数(安全装置カウンタ値)を更新して差玉数(安全装置カウンタ値)に対応して安全装置作動情報を設定する差玉確認処理(A9505)を実行する。次に、安全装置の作動を監視する安全装置作動監視処理を実行する(A9506)。
その後、遊技制御装置100は、退避したレジスタを復帰し(A9507)、スタックポインタ保存領域からロードしてスタックポインタを設定し(A9508)、性能表示編集処理を終了する。設定したスタックポインタは、領域内スタック領域のアドレスを示すことになる。
〔性能表示装置制御処理〕
次に、領域外統合処理(図57)における性能表示装置制御処理(A9504)の詳細について説明する。図58は、性能表示装置制御処理の手順を示すフローチャートである。性能表示装置制御処理は、領域外処理であり前述の領域外プログラムの一部として実行される。
遊技制御装置100は、まず、性能表示用ワーク領域の正当性を判定する正当性判定を実行し、正当でなく異常な場合に、性能表示用ワーク領域の初期化(初期値設定も含む)を実行する(A9601)。ステップA9601の処理は、図8のステップA1204の処理と同様である。
なお、性能表示装置制御処理が実行される度に正当性判定が実行されるため、性能表示用ワーク領域が正当でない場合に、すぐにその初期化が実行でき、異常な性能表示(異常なベース値等の表示)が極力防止できる。
また、性能表示用ワーク領域の初期化(初期値設定も含む)は、スタックポインタ保存領域を保護するよう、スタックポインタ保存領域以外を初期化の対象とする。なお、本実施形態において領域外スタック領域は初期化しないが、初期化するようにしてもよい。領域外スタック領域を初期化する場合でも、領域外スタック領域に退避したレジスタの値は保護して初期化しない。性能表示用ワーク領域の初期化は、領域内ワーク領域(遊技制御用ワーク領域)と領域内スタック領域(遊技制御用スタック領域)の初期化とは区別されて実行されるため、領域内ワーク領域と領域内スタック領域には影響を与えない。
続いて、遊技制御装置100は、初期表示タイマ更新処理を実行する(A9602)。初期表示タイマ更新処理において、性能表示開始時(電源投入後)に約5秒間だけ性能表示装置152の各桁の表示器のLEDを全て点滅する全点滅制御(初期表示制御)するためのタイマの更新を行う。
次に、遊技制御装置100は、ベース値の算出の対象となる入力ポートのスイッチ立ち上がりエッジ情報を性能表示ワーク領域にコピーする(A9603)。スイッチ立ち上がりエッジ情報は、入力処理で取得されて領域内ワーク領域(特にスイッチ制御領域)に記憶されている(A1303)。前述のとおり、本実施形態において、ベース値算出の対象となる入力ポート(監視対象の入力ポート)は、第3入力ポート124と第4入力ポート126である。コピーしたスイッチ立ち上がりエッジ情報は、性能表示編集処理(図8)で使用される。
なお、遊技球を検出しても直接的に通常賞球数又は通常アウト球数を変化させず、ベース値の算出の対象とならないスイッチの立ち上がりエッジ情報(ビット)はクリアした状態でコピーする(マスクする)。例えば、ゲートスイッチ34aや特定領域スイッチ72や残存球排出口スイッチ73などの情報はクリアした状態でコピーする。これにより、性能表示編集処理において、これらスイッチに関する処理(少なくともA1211のクリア処理)が省略できる。
なお、通常アウト球数は、仮に、入賞口のスイッチ35a、36a、37a、38a、39a、ゲートスイッチ34aや特定領域スイッチ72や残存球排出口スイッチ73での入力(遊技球検出)自体によって更新されてしまうと、遊技領域32から排出された全ての遊技球を検出するアウト球検出スイッチ74と重複して余分に更新され、ベース値が誤った値に算出されてしまう。また、通常賞球数は、仮に、入賞口のスイッチと重複して遊技球が通過可能なゲートスイッチ34aや特定領域スイッチ72や残存球排出口スイッチ73での入力(遊技球検出)自体によって更新されてしまうと、入賞口のスイッチと重複して余分に更新され、ベース値が誤った値に算出されてしまう。
次に、遊技制御装置100は、性能表示装置表示処理を実行する(A9604)。性能表示装置表示処理では、表示期間の種類や、その他各種条件に合わせ、性能表示装置152に表示するベース値に対応するセグメント出力データ(ベース値に関する表示データや点灯パターンデータ)を設定する。例えば、表示期間として、リアルタイム値表示期間BL、1回前表示期間B1、2回前表示期間B2、3回前表示期間B3を設けて、それぞれの表示期間において、ベース値の計測中のリアルタイム値、1回前の集計区間、2回前の集計区間、3回前の集計区間で計測したベース値に対応するセグメント出力データを設定してよい。
次に、遊技制御装置100は、表示期間の期間切替えのためのタイマの更新を行うとともに、表示期間の切替えタイミングであるか否かを判定する(A9605)。表示期間の切替えタイミングである場合に(A9605の結果が「Y」)、表示期間の切替え設定を実行し(A9606)、性能表示装置制御処理を終了する。遊技制御装置100は、表示期間の切替えタイミングでない場合に(A9605の結果が「N」)、表示期間の切替え設定を実行せずに、性能表示装置制御処理を終了する。
表示期間の切替え設定では、BL→B1→B2→B3→BL→・・・のように、表示期間の情報の切り替え設定を行う。また、期間切替えのためのタイマの初期値(例えば所定期間5秒に相当する初期値)を設定する。
〔差玉確認処理〕
次に、領域外統合処理(図57)における差玉確認処理(A9505)の詳細について説明する。図59は、差玉確認処理の手順を示すフローチャートである。差玉確認処理は、領域外処理であり前述の領域外プログラムの一部として実行される。差玉確認処理では、差玉数を示唆する安全装置カウンタ値(差玉数+10万)を更新し、安全装置の状態を示唆する安全装置作動情報を更新する。
遊技制御装置100は、まず、領域内ワーク領域に含まれる安全装置作動中フラグ領域の安全装置作動中フラグに基づいて安全装置が作動中であるか否かを判定する(A9701)。安全装置が作動中である場合に(A9701の結果が「Y」)、直ちに差玉確認処理を終了して、安全装置カウンタ値と安全装置作動情報の更新は行われない。なお、本実施形態では、領域外プログラムに含まれる領域外統合処理プログラム(安全装置に関するプログラム)が遊技停止中に実行されない構成を有し、安全装置が作動して遊技停止状態になっている場合には、差玉確認処理を含む領域外統合処理は実行されないため(A1320の結果が「Y」)、ステップA9701の処理は無くてもよい。なお、ステップA9701の処理が無い場合に、安全装置作動中フラグ領域は領域内プログラムで読み書きされ、領域外プログラムで読まれない領域(アクセスされない領域)となる。
遊技制御装置100は、安全装置が作動中でない場合に(A9701の結果が「N」)、領域外ワーク領域に含まれる旧作動情報領域の旧作動情報が2以上(旧作動情報領域≧2)であるか否かを判定する(A9702)。旧作動情報が2以上である場合に(A9702の結果が「Y」)、差玉確認処理を終了して、安全装置カウンタ値と安全装置作動情報の更新は行われない。
遊技制御装置100は、旧作動情報が2未満である場合に(A9702の結果が「N」)、第4入力ポート126に関するスイッチ制御領域(領域内ワーク領域)のスイッチ立ち上がりエッジ情報に基づいてアウト球検出スイッチ74に入力があるか否かを判定する(A9703)。アウト球検出スイッチ74に入力がある場合に(A9703の結果が「Y」)、安全装置カウンタ値が0であるか否かを判定する(A9704)。安全装置カウンタ値が0でない場合に(A9704の結果が「N」)、安全装置カウンタ領域の値である安全装置カウンタ値を-1更新する(1だけ減少する)(A9705)。従って、アウト球検出スイッチ74への入力で排出球数が1だけ増加することに対応して、差玉数(=セーフ球数-排出球数)ひいては安全装置カウンタ値(=差玉数+10万)が1だけ減少して更新されることになる。次に、領域内ワーク領域に含まれる獲得遊技球数領域から獲得遊技球数をロードする(A9706)。
遊技制御装置100は、アウト球検出スイッチ74に入力がない場合に(A9703の結果が「N」)、又は、安全装置カウンタ値が0である場合に(A9704の結果が「Y」)、安全装置カウンタ値を-1更新することなく維持して、獲得遊技球数をロードする(A9706)。
次に、遊技制御装置100は、領域外ワーク領域に含まれる安全装置カウンタ領域の安全装置カウンタ値をロードし(A9707)、安全装置カウンタ値に獲得遊技球数を加算する(A9708)。獲得遊技球数は、1割込み内に獲得した賞球の数(合計)、即ち、1割込み内でのセーフ球数の増加であるため、ステップA9708において、差玉数(=セーフ球数-排出球数)ひいては安全装置カウンタ値(=差玉数+10万)が獲得遊技球数の分だけ増加して更新されることになる。
続いて、遊技制御装置100は、安全装置カウンタ値がカウンタ基準値(195000)以上であるか否か(安全装置カウンタ≧195000であるか否か)を判定する(A9709)。安全装置カウンタ値がカウンタ基準値(195000)以上である場合に(A9709の結果が「Y」)、安全装置カウンタ値を上限値(195000のカウンタ基準値)まで戻すように安全装置カウンタ値に上限値(195000)をセットし(A9710)、加算後の値として上限値を安全装置カウンタ領域にセーブする(A9711)。なお、安全装置カウンタ値はステップA9708において上限値を超えて195000+αになることもある。ここで、αは、獲得遊技球数(1割込み内で獲得)の最大値未満であり、例えば、全ての入賞口スイッチに同時に入力があった場合の賞球の合計値よりも小さい。
一方、安全装置カウンタ値がカウンタ基準値(195000)未満である場合に(A9709の結果が「N」)、上限値に制限する必要がないため、ステップA9708の加算処理による加算後の値をそのまま安全装置カウンタ領域にセーブする(A9711)。このようにして、安全装置カウンタ領域の安全装置カウンタ値が、加算後の値(上限値に制限されたものも含む)に更新される。
なお、安全装置カウンタ値を上限値19500に制限することによって、安全装置カウンタ領域の範囲(バイト数又はビット数)が明確になり、遊技制御用プログラムの開発に都合がよい。
次に、遊技制御装置100は、安全装置カウンタ値に対応する作動情報番号(ここでは0~2)を設定する(A9712)。0~189999の安全装置カウンタ値、190000~194999の安全装置カウンタ値、195000の安全装置カウンタ値のそれぞれに対応して、作動情報番号は、安全装置の未作動状態(通常状態)を示す「0」、作動予告状態を示す「1」、作動警告状態を示す「2」に設定される。なお、作動情報番号は、安全装置が作動中である作動状態を示す「3」には設定されない。ここで、前述のように条件(1)に関する差玉数を、最低値を基準とした差玉数(最低値の時点から現在までの所定期間における差玉数)とする場合には、ステップA9709において、現在の安全装置カウンタ値から、現在までの最低の安全装置カウンタ値を減算した値が、差玉基準値95000以上であるか否かを判定し、差玉基準値95000以上であればステップA9710で差玉数を95000に設定してよい。そして、ステップA9712において、最低値を基準として0~89999の差玉数、90000~94999の差玉数、95000の差玉数のそれぞれに対応して、作動情報番号は、安全装置の未作動状態(通常状態)を示す「0」、作動予告状態を示す「1」、作動警告状態を示す「2」に設定されてよい。また、上述の最低の安全装置カウンタ値は、領域外ワーク領域の最低値領域に保存され、現在の安全装置カウンタ値が保存された最低の安全装置カウンタ値よりも小さくなる度に、最低の安全装置カウンタ値は現在の安全装置カウンタ値に更新されてよい。なお、作動情報番号が「2」となると、後述のように、即時、又は、大当りや小当りの終了後に遊技停止状態になってしまう。このように、条件(1)に関する差玉数を最低値を基準とした差玉数とする場合、現時点での差玉数が差玉基準値95000以上であれば遊技停止状態が発生可能になるため、条件(1)に関する差玉数を、1日の営業における差玉数の最大増加幅(いわゆるMY)としたのと同等になる。
続いて、遊技制御装置100は、領域外ワーク領域に含まれる安全装置作動情報領域から現在の安全装置作動情報をロードして、旧作動情報領域にセーブする(A9713)。そして、旧作動情報が2で且つ作動情報番号が1(旧作動情報=2且つ作動情報番号=1)であるか否かを判定する(A9714)。旧作動情報=2且つ作動情報番号=1である場合(A9714の結果が「Y」)、作動情報番号を安全装置作動情報領域にセーブすることなく安全装置作動情報「2」(ロードした値)を維持して、差玉確認処理を終了する。これにより、安全装置作動情報が「2」から「1」に変化することが防止される(2→1の変化の防止)。そして、次回のタイマ割込み以降の差玉確認処理は、旧作動情報が2であるため(A9702の結果が「Y」)、すぐに終了して、安全装置カウンタ値と安全装置作動情報の更新は行われず、安全装置作動情報「2」が維持される。
一方、遊技制御装置100は、旧作動情報が2でないか又は作動情報番号が1でない場合に(A9714の結果が「N」:旧作動情報≠2又は作動情報番号≠1の場合)、作動情報番号を安全装置作動情報領域にセーブして、安全装置作動情報領域を更新する(A9715)。その後、差玉確認処理を終了する。なお、安全装置作動情報領域に作動警告状態を示す「2」がセーブされても、大当り中でも小当り中でもない場合には、後の安全装置作動監視処理において瞬時に安全装置の作動状態を示す「3」が安全装置作動情報領域にセーブされて、作動警告状態は発生しない。
このようにして、差玉確認処理において、0~189999の安全装置カウンタ値、190000~194999の安全装置カウンタ値、195000の安全装置カウンタ値のそれぞれに対応して、安全装置作動情報は、安全装置の未作動状態(通常状態)を示す「0」(安全装置未作動情報)、作動予告状態を示す「1」(安全装置作動予告情報)、作動警告状態を示す「2」(安全装置作動警告情報)に設定される。
安全装置作動情報の旧情報(A9713の旧作動情報)から更新後の新情報(A9715)への変化パターン(維持パターン含む)は、0→0、0→1、1→0、1→1、1→2、2→2のいずれかになり、前述のとおり、2→1の変化は防止されている(A9714)。
なお、遊技制御装置100は、更新された安全装置カウンタ値(A9711)を示す差玉コマンド、或いは、更新された差玉数(=安全装置カウンタ値-10万)を示す差玉コマンドを、演出制御装置300(サブ基板)に送信し、演出制御装置300は表示装置41等に安全装置カウンタ値或いは差玉数を表示させてもよい。その場合、差玉確認処理において、旧作動情報領域の旧作動情報が2(安全装置作動警告情報)でも(A9702)、安全装置カウンタ値の更新を行うようにするとともに、ステップA9709とA9710の処理を省略して、安全装置カウンタ値を上限値19500に制限しないようにする。ただし、195000以上の安全装置カウンタ値に対応して、安全装置作動情報は、作動警告状態を示す「2」(安全装置作動警告情報)に設定されるようにする。
以上、差玉確認処理について説明したが、差玉確認処理のステップA9706は、払い出された遊技媒体の数又は払い出されることが決定された遊技媒体の数である払出数(付与された遊技価値の量又は付与されることが決定された遊技価値の量)を計数可能な第1計数手段を構成する。差玉確認処理のステップA9703-A9705は、使用された遊技媒体の数である使用数(例えば発射球数又は排出球数)を計数可能な第2計数手段を構成する。差玉確認処理のステップA9708は、払出数と使用数とに基づいた演算値(例えば安全装置カウンタ値又は差玉数)を演算可能な演算手段を構成する。
〔安全装置作動監視処理〕
次に、領域外統合処理(図57)における安全装置作動監視処理(A9506)の詳細について説明する。図60は、安全装置作動監視処理の手順を示すフローチャートである。安全装置作動監視処理は、領域外処理であり前述の領域外プログラムの一部として実行される。
遊技制御装置100は、まず、安全装置作動情報が2以上(安全装置作動情報≧2)であるか否かを判定する(A9801)。安全装置作動情報が2以上である場合に(A9801の結果が「Y」)、即ち、安全装置作動警告情報(値2)又は安全装置作動中情報(値3)が設定されている場合に、大当り中又は小当り中であるか否かを判定する(A9802)。ここで、大当り中又は小当り中であるか否かは、例えば、ゲーム処理番号(特図ゲーム処理番号、役物ゲーム処理番号)に基づいて判定できる。ゲーム処理番号は、領域内ワーク領域のゲーム処理番号領域(特図ゲーム処理番号領域、役物ゲーム処理番号領域)に記憶される。
例えば、大当りファンファーレのゲーム処理番号から大当りエンディングのゲーム処理番号なら、大当り中と判定できる。本実施形態では、役物ゲーム処理番号が1から5なら大当り中と判定できる。また、例えば、小当り開始(又は小当りファンファーレ(存在する場合のみ))のゲーム処理番号から小当り残存球処理(又は小当りのエンディング(存在する場合のみ))のゲーム処理番号なら、小当り中と判定できる。本実施形態では、特図ゲーム処理番号が3から5なら小当り中と判定できる。なお、小当り図柄が導出された時点から小当り中と判定してもよいし、大当り図柄が導出された時点から大当り中と判定してもよい。小当り中のV入賞によって大当りが発生する場合では、V入賞があった時点から大当り中と判定してもよい。
遊技制御装置100は、小当り中でも大当り中でもない場合に(A9802の結果が「N」)、領域外ワーク領域に含まれる安全装置作動情報領域から現在の安全装置作動情報をロードして、旧作動情報領域にセーブする(A9803)。そして、安全装置作動情報領域に安全装置作動中情報(値3)をセーブして、安全装置作動情報領域を更新する(A9804)。
一方、安全装置作動情報が2より小さい「0」又は「1」の場合に(A9801の結果が「N」)、或いは、大当り中又は小当り中である場合に(A9802の結果が「Y」)、安全装置作動監視処理をすぐに終了して、実質的に安全装置作動監視処理では何もしない。
以上のように、安全装置作動警告情報(値2)が設定されており安全装置の作動を警告する作動警告状態(条件(1)が成立し、条件(2)は未成立)において、大当り又は小当りが終了することによって小当り中でも大当り中でもなくなったら(条件(2)が成立したら)、安全装置作動情報を安全装置作動中情報(値3)に設定する(安全装置作動情報の2→3の変化)(A9804)。これによって、安全装置作動中フラグを「1」にして(安全装置関連処理のA9410)、安全装置が作動した作動状態(打ち止め状態)、即ち、遊技として特図変動表示ゲーム、普図変動表示ゲーム、及び、ラウンド遊技等が実行できない遊技停止状態(遊技不可状態、遊技禁止状態)を発生できることになる。このように、安全装置作動中フラグは、安全装置作動情報領域(領域外ワーク領域の一部)の安全装置作動情報に基づいて設定可能である。そして、「1」の安全装置作動中フラグは、作動条件(所定条件)の成立に基づいて安全装置が作動したこと(作動中であること)や遊技不可状態の発生を示すことになる。なお、「1」の安全装置作動中フラグに基づいて、ステップA1309、A1603、A1612、A2201等の結果が「Y」となり、遊技停止状態が発生する。
安全装置が作動して遊技ができなくなることによって、差玉数やセーフ球数が大きい場合などに不正対策を適切に行うことができ、また、差玉数やセーフ球数を抑制することによって遊技者の遊技に対するのめり込みも抑制できる可能性がある。
なお、195000の安全装置カウンタ値に達して安全装置作動警告情報(値2)が設定されていても(差玉確認処理のA9712、A9715)、大当り中でも小当り中でもない場合には(A9802の結果が「N」)、安全装置作動情報が瞬時に安全装置作動警告情報(値2)から安全装置作動中情報(値3)に切り替わることになる(A9804)。即ち、この場合には、作動警告コマンドが演出制御装置300に送信される前に、安全装置作動情報領域の安全装置作動警告情報(値2)が安全装置作動中情報(値3)で上書きされ消去されてしまう。従って、大当り中でも小当り中でもない場合に、安全装置カウンタ値が195000に達すると、安全装置の作動を警告する作動警告状態は発生せず、直後から安全装置が作動して遊技停止状態(遊技不可状態、遊技禁止状態)が発生する。なお、これは前述のように安全装置作動情報が瞬時に1→2→3と変化することに相当するが(2は瞬間値になり作動警告状態は発生しない)、安全装置の作動を予告する作動予告状態から安全装置が作動中である作動状態に移行したことに対応して、作動中コマンドが安全装置作動関連コマンドとして演出制御装置300に送信される(A9405、A9407)。
また、安全装置作動警告情報(値3)が設定されており、安全装置が既に作動して遊技停止状態になっている場合には、領域外統合処理は実行されないため(A1320の結果が「Y」)、安全装置作動情報を安全装置作動中情報(値3)に維持し、遊技停止状態を継続する。
なお、本実施形態では、小当り中においてV入賞の前後のいずれでも、195000の安全装置カウンタ値に到達して安全装置作動警告情報(値2)が設定されたら、V入賞による大当りの終了後に、ステップA9804で安全装置作動中情報(値3)を設定して遊技停止状態にする(大当りは発生する)。しかし、他の例として、小当り中においてV入賞の前に安全装置作動警告情報(値2)が設定されたら、小当り終了直後に安全装置作動中情報(値3)を設定して遊技停止状態にし(大当りは発生せず)、小当り中においてV入賞の後に安全装置作動警告情報(値2)が設定されたら、V入賞による大当り終了後に安全装置作動中情報(値3)を設定して遊技停止状態にしてよい(大当りは発生する)。また、さらなる他の例として、小当り中においてV入賞の前後のいずれで安全装置作動警告情報(値2)が設定されても、小当り終了直後に、安全装置作動中情報(値3)を設定して遊技停止状態にしてよい(大当りは発生しない)。
[演出制御装置の制御]
以下に、演出制御装置300が演出制御用プログラムによって実行する制御(処理)を説明する。
〔メイン処理(演出制御装置)〕
最初に、演出制御装置300によって実行されるメイン処理の詳細を説明する。図61は、演出制御装置300によって実行されるメイン処理(メインプログラム)の手順を示すフローチャートである。メイン処理は、遊技機10に電源が投入されると主制御用マイコン311(演出用マイコン)によって実行される。なお、演出制御装置300が実行する処理のフローチャートにおいて、ステップの符号(番号)は「B****」と表されている。
演出制御装置300は、メイン処理の実行が開始されると、まず、割込みを禁止する(B0001)。次にCPU311及びVDP312の初期設定を実行し(B0002、B0003)、割込みを許可する(B0004)。割込みが許可されると、遊技制御装置100から送信されたコマンドを受信するコマンド受信割込み処理を実行可能な状態となる。
次に、演出制御装置300は、表示装置41等に表示する表示用データの生成を許可し(B0005)、乱数生成に用いる乱数シードを設定する(B0006)。そして、初期化すべき領域に電源投入時の初期値をセーブする(B0007)。
続いて、演出制御装置300は、WDT(ウォッチドックタイマ)をクリアする(B0008)。WDTは、上述したCPU初期設定(B0002)で起動され、CPU311が正常に動作しているかどうかを監視する。WDTが一定周期を経過してもクリアされない場合は、WDTがタイムアップしてCPU311がリセットされる。
その後、演出制御装置300は、RTC(リアルタイムクロック)338から時刻の情報を読み込むRTC読込処理を実行する(B0009)。
RTC読込処理では、所定の周期(例えば2時間おき)でRTC338から時刻の情報を読み込む構成としてもよく、ステップB0009へ処理が移行する度に時刻の情報を読み込む必要はない。演出制御装置300への電源投入(即ち遊技機10への電源投入)の際に、一度だけ、RTC読込処理を実行する構成としてもよい(RTC読込処理の位置を変えて、例えばステップB0003とB0004の間で実行してもよい)。演出制御装置300は、RAM内のタイマ領域に時刻を計時する時刻用タイマ(計時手段)を設定し、所定の周期でRTC338から時刻の情報を読み込んだ際又は電源投入時に一度だけRTC338から時刻の情報を読み込んだ際に、時刻用タイマ(計時手段)をRTC338の時刻に合わせるよう調整してよい。そして、演出制御装置300は、時刻用タイマを使用して各種処理を実行してもよい。このようにすれば、RTC338から時刻を読み込む処理の回数を低減でき、CPU311の負荷が減少する。
次に、演出制御装置300は、遊技者による演出ボタン25の操作信号(演出ボタンスイッチ25a又はタッチパネル25bの信号)を検出したり、検出した信号に応じて演出内容(設定)を変更したりする演出ボタン入力処理を実行する(B0010)。続いて、遊技場(遊技店)の責任者や遊技者等によるLEDや液晶(表示装置41等)の輝度、音量の変更などの操作を受け付けるホール・遊技者設定モード処理を実行する(B0011)。操作としては、十字キースイッチ450、音量調整用ボタンスイッチ451a,451b、演出ボタン25、遊技機裏面の音量調節スイッチ335などの操作部の操作がある。ホール・遊技者設定モード処理において、後述の演出ポイントに応じて、遊技者は演出をカスタマイズすることができる。
次に、演出制御装置300は、演出ポイントの加算やクリアを実行する演出ポイント制御処理を実行する(B0012)。演出ポイント制御処理では、演出ポイントの加算対象となる演出や操作が実行されることで演出ポイントが加算される処理がされ、また、演出ポイントを次回の遊技に繰り越せるよう遊技終了時又は遊技停止時(打ち止め時)などに、例えば、演出ポイントの情報等を含む情報が2次元コードであるQRコード(登録商標)として表示装置41に表示される。例えば、演出制御装置300は、ホール・遊技者設定モード処理や安全装置系処理(作動中コマンド受信時)において、QRコード(登録商標)を表示装置41に表示できる。
次に、演出制御装置300は、演出乱数などの乱数を更新するための乱数更新処理を実行し(B0013)、遊技制御装置100から受信した受信コマンドを解析して対応する受信コマンドチェック処理を実行する(B0014)。なお、受信コマンドチェック処理の詳細については、図62にて後述する。
続いて、演出制御装置300は、表示装置41で表示される客待ちデモの内容を編集して制御する客待ちデモ編集処理を実行し(B0015)、客待ち中の遊技機10の節電状態を制御する節電制御処理を実行する(B0016)。
次に、演出制御装置300は、表示装置41等の表示装置(表示手段)に表示する内容に合わせて各種データの更新を行ったり、表示装置41に表示する描画を表示フレームバッファに設定したりする演出表示編集処理を実行する(B0017)。このとき設定される描画データは、フレーム周期1/30秒(約33.3msec)以内にVDP312が描画を完了することができるものであれば問題なく表示装置41の画像を更新することができる。そして、表示フレームバッファへの描画準備を完了させて描画コマンド準備終了設定を実行する(B0018)。
続いて、演出制御装置300は、フレーム切替タイミングであるか否かを判定する(B0019)。フレーム切替タイミングでない場合は(B0019の結果が「N」)、フレーム切替タイミングになるまでB0019の処理を繰り返し、フレーム切替タイミングである場合は(B0019の結果が「Y」)、表示装置41への画面描画を指示する(B0020)。本実施形態のフレーム周期は1/30秒なので、例えば1/60秒(フレーム周期の1/2)毎の周期的なVブランク(画像更新)が2回実行されるとフレームの切り替えが行われる。なお、1/60秒で画像を更新せず、さらに間隔を大きくしてもよい。
また、演出制御装置300は、スピーカ19から出力される音を制御するサウンド制御処理を実行する(B0021)。
また、演出制御装置300は、LED等からなる装飾装置(盤装飾装置46、枠装飾装置18)を制御する装飾制御処理を実行する(B0022)。装飾制御処理では、例えば、LED等の装飾装置の輝度制御(発光制御)を実行する。
さらに、演出制御装置300は、モータ及びソレノイドで駆動される可動役物(電動役物)などの演出装置(盤演出装置44、枠演出装置等)を制御する可動体制御処理を実行する(B0023)。可動体制御処理では、例えば、モータを駆動する役物動作演出を設定する。
そして、演出制御装置300は、前述のB0023の処理を終えると、B0008の処理に戻る。以降、B0008からB0023までの処理を繰り返す。
〔受信コマンドチェック処理〕
次に、図62を参照して、上述したメイン処理(図61)における受信コマンドチェック処理(B0014)の詳細について説明する。図62は、演出制御装置300によって実行される受信コマンドチェック処理の手順を示すフローチャートである。
演出制御装置300は、まず、遊技制御装置100から受信したコマンド数をチェックするためにRAMのコマンド受信カウンタ領域のコマンド受信カウンタの値をコマンド受信数としてロードする(B1101)。そして、コマンド受信数が0でないか否かを判定する(B1102)。コマンド受信数が0である場合、すなわち、遊技制御装置100から受信したコマンドがない場合には(B1102の結果が「N」)、解析するコマンドがないので、受信コマンドチェック処理を終了する。
一方、演出制御装置300は、コマンド受信数が0でない場合、すなわち、遊技制御装置100からコマンドを受信している場合には(B1102の結果が「Y」)、コマンド受信カウンタ領域のコマンド受信カウンタ値をコマンド受信数分減算した後(B1103)、RAMの受信コマンドバッファの内容を解析用のコマンド領域にコピーする(B1104)。ここで、受信コマンドバッファはリングバッファなので、バッファ内の内容をコマンド領域にコピーする前にコマンド受信数を減算しても問題ない。また、コピー中に新たにコマンドを受信してもデータが上書きされることはない。
そして、演出制御装置300は、コマンド読出インデックスを0~31の範囲で+1更新(1だけ加算)する(B1105)。受信コマンドバッファは受信したコマンドを32個まで保存できるよう構成されている。受信したコマンドは、コマンド読出インデックス0~31の順に受信コマンドバッファに格納されており、ここではインデックス順に受信したコマンドを読み出して、解析用のコマンド領域にコピーする。なお、解析用のコマンド領域へのコピーが完了したタイミングで、読みだしたコマンド読出インデックスに対応する受信コマンドバッファの格納領域内はクリアされる。
演出制御装置300は、ステップB1101の処理にてロードしたコマンド受信数分のコマンドのコピーが完了したか否かを判定し(B1106)、コピーが完了していない場合は(B1106の結果が「N」)、ステップB1104からB1106の処理を繰り返す。
遊技制御装置100から送信されたコマンドを演出制御装置300が受信すると、受信コマンドバッファに受信したコマンドの内容が保存されると同時にコマンド受信カウンタ領域のコマンド受信カウンタ値が加算更新される。受信コマンドバッファには32個分のコマンドを保存することができるが、受信したコマンドの解析は、別途、解析用のコマンド領域で行われる。そして、解析用のコマンド領域に受信したコマンドの内容がコピーされると、受信コマンドバッファ及びコマンド受信カウンタ値はクリアされる。このように、受信コマンドバッファ内で直接解析を行わずに常に空き領域を確保しておくことで、コマンドの大量受信に備えることができる。
続いて、演出制御装置300は、コピーが完了した場合には(B1106の結果が「Y」)、解析用のコマンド領域の受信したコマンド内容をロードし(B1107)、内容を解析する受信コマンド解析処理を実行する(B1108)。なお、受信コマンド解析処理の詳細については、次の図63にて後述する。また、解析用のコマンド領域のアドレスを更新する(B1109)。その後、ステップB1101の処理にてロードしたコマンド受信数分のコマンドの解析が完了したか否かを判定し(B1110)、解析が完了していない場合は(B1110の結果が「N」)、ステップB1107からB1110の処理を繰り返す。解析が完了した場合には(B1110の結果が「Y」)、受信コマンドチェック処理を終了する。
〔受信コマンド解析処理〕
次に、図63を参照して、前述した受信コマンドチェック処理(図62)における受信コマンド解析処理(B1108)の詳細について説明する。図63は、演出制御装置300によって実行される受信コマンド解析処理の手順を示すフローチャートである。
演出制御装置300は、まず、受信したコマンドの上位バイトをMODE部、下位バイトをACTION部(ACT部)として分離する(B1201)。遊技制御装置100から演出制御装置300に送信されるコマンドは、MODE部(MODEコマンド)及びACTION部(ACTIONコマンド)によって構成されており、通常、コマンドの種類を示すMODE部から連続して送信される。従って、受信したコマンドの上位、下位はMODE部、ACTION部の順に構成される。
次に、演出制御装置300は、MODE部が正常範囲であるか否かを判定する(B1202)。すなわち、コマンドの種類を示すMODE部が取り得る値(種類を示すコマンド仕様として割り当てられた値)であるか否かを判定する。そして、MODE部が正常範囲である場合には(B1202の結果が「Y」)、同様にACTION部が正常範囲であるか否かを判定する(B1203)。すなわち、コマンドの内容(具体的な演出指示等)を示すACTION部が取り得る値(内容を示すコマンド仕様として割り当てられた値)であるか否かを判定する。そして、ACTION部が正常範囲である場合には(B1203の結果が「Y」)、さらに、MODE部に対するACTION部は正しい組み合せか否かを判定する(B1204)。すなわち、ACTION部の値が、MODE部によって特定される種類のコマンドが取り得る値であるのか否かを判定する。そして、正しい組み合せである場合には(B1204の結果が「Y」)、B1205以降の処理でコマンドの系統に応じたコマンド処理を実行する。
演出制御装置300は、まず、MODE部の値が変動系コマンドの範囲か否かを判定する(B1205)。なお、変動系コマンドは、飾り特別図柄の変動パターンなどを指令するコマンドであり、例えば変動コマンドがある。そして、MODE部が変動系コマンドを表す場合には(B1205の結果が「Y」)、変動系コマンド処理を実行し(B1206)、受信コマンド解析処理を終了する。
演出制御装置300は、MODE部が変動系コマンドを表していない場合には(B1205の結果が「N」)、次に、MODE部が当り系コマンドの範囲か否かを判定する(B1207)。なお、当り系コマンドは、大当り中や小当り中の演出に関する動作(ファンファーレ画面やラウンド画面の表示など)などを指令するコマンドであり、例えば、ファンファーレ画面を指令するためのファンファーレコマンド、ラウンド画面を指令するためのラウンドコマンド、インターバル画面を指令するためのインターバルコマンド、エンディング画面を指令するためのエンディングコマンドなどである。そして、MODE部が当り系コマンドを表す場合には(B1207の結果が「Y」)、当り系コマンド処理を実行し(B1208)、受信コマンド解析処理を終了する。
演出制御装置300は、MODE部が当り系コマンドを表していない場合には(B1207の結果が「N」)、次に、MODE部が図柄系コマンドの範囲か否かを判定する(B1209)。なお、図柄系コマンドには、例えば、停止図柄パターンに対応する飾り特図1コマンドと飾り特図2コマンドがある。そして、MODE部が図柄系コマンドを表す場合には(B1209の結果が「Y」)、図柄系コマンド処理を実行し(B1210)、受信コマンド解析処理を終了する。
演出制御装置300は、MODE部が図柄系コマンドを表していない場合には(B1209の結果が「N」)、次に、MODE部が単発系コマンドの範囲か否かを判定する(B1211)。そして、MODE部が単発系コマンドを表す場合には(B1211の結果が「Y」)、単発系コマンド処理を実行し(B1212)、受信コマンド解析処理を終了する。
演出制御装置300は、MODE部が単発系コマンドを表していない場合には(B1211の結果が「N」)、次に、MODE部が先読み図柄系コマンドの範囲か否かを判定する(B1213)。先読み図柄系コマンドには、例えば、先読み停止図柄コマンドがある。そして、MODE部が先読み図柄系コマンドを表す場合には(B1213の結果が「Y」)、先読み図柄系コマンド処理を実行し(B1214)、受信コマンド解析処理を終了する。
演出制御装置300は、MODE部が先読み図柄系コマンドを表していない場合には(B1213の結果が「N」)、次に、MODE部が先読み変動系コマンドの範囲か否かを判定する(B1215)。先読み変動系コマンドには、例えば、先読み変動パターンコマンドがある。そして、MODE部が先読み変動系コマンドを表す場合には(B1215の結果が「Y」)、先読み変動系コマンド処理を実行し(B1216)、受信コマンド解析処理を終了する。
一方、演出制御装置300は、MODE部が先読み変動系コマンドを表していない場合には(B1215の結果が「N」)、予期しないコマンド(例えば、テストモード中のみ使用するコマンド)を受信した可能性があるので、受信コマンド解析処理を終了する。また、MODE部が正常範囲でない場合(B1202の結果が「N」)、ACTION部が正常範囲でない場合(B1203の結果が「N」)、もしくは、MODE部に対するACTION部が正しい組合せでない場合も(B1204の結果が「N」)、受信コマンド解析処理を終了する。
〔単発系コマンド処理〕
次に、図64を参照して、前述した受信コマンド解析処理(図63)における単発系コマンド処理(B1212)の詳細について説明する。図64は、演出制御装置300によって実行される単発系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、まず、MODE部が遊技機の種類を示す機種指定コマンドを表すか否かを判定する(B1301)。そして、MODE部が機種指定コマンドを表す場合には(B1301の結果が「Y」)、遊技機の種類を設定する機種設定処理を実行し(B1302)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が機種指定コマンドを表していない場合には(B1301の結果が「N」)、次に、MODE部がRAM初期化のコマンドを表すか否かを判定する(B1303)。そして、MODE部がRAM初期化のコマンドを表す場合には(B1303の結果が「Y」)、RAM初期化の報知等を行うRAM初期化設定処理を実行し(B1304)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部がRAM初期化のコマンドを表していない場合には(B1303の結果が「N」)、次に、MODE部が停電復旧系コマンドを表すか否かを判定する(B1305)。例えば、停電復旧系コマンドとして、停電復旧コマンドと復旧画面コマンドがある。そして、MODE部が停電復旧系コマンドを表す場合には(B1305の結果が「Y」)、停電復旧設定処理を実行し(B1306)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が停電復旧系コマンドを表していない場合には(B1305の結果が「N」)、次に、MODE部が客待ちデモコマンドを表すか否かを判定する(B1307)。そして、MODE部が客待ちデモコマンドを表す場合には(B1307の結果が「Y」)、客待ちデモ設定処理を実行し(B1308)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が客待ちデモコマンドを表していない場合には(B1307の結果が「N」)、次に、MODE部が飾り特図1保留数コマンドを表すか否かを判定する(B1309)。そして、MODE部が飾り特図1保留数コマンドを表す場合には(B1309の結果が「Y」)、特図1保留情報設定処理を実行し(B1310)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が飾り特図1保留数コマンドを表していない場合には(B1309の結果が「N」)、次に、MODE部が飾り特図2保留数コマンドを表すか否かを判定する(B1311)。そして、MODE部が飾り特図2保留数コマンドを表す場合には(B1311の結果が「Y」)、特図2保留情報設定処理を実行し(B1312)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が飾り特図2保留数コマンドを表していない場合には(B1311の結果が「N」)、次に、MODE部が確率情報コマンドを表すか否かを判定する(B1313)。そして、MODE部が確率情報コマンドを表す場合には(B1313の結果が「Y」)、確率情報設定処理を実行し(B1314)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が確率情報コマンドを表していない場合には(B1313の結果が「N」)、次に、MODE部がエラー/不正系のコマンドを表すか否かを判定する(B1315)。なお、エラー/不正系のコマンドとして、例えば、不正発生コマンド、不正解除コマンド、状態オフコマンド、状態オンコマンド、磁石不正報知コマンド(磁気エラーコマンド)、盤電波不正報知コマンド(盤電波エラーコマンド)がある。不正発生コマンドとして、始動口1スイッチ36a、始動口2スイッチ37a、入賞口スイッチ35a、大入賞口スイッチ43の信号に基づく不正入賞の発生を示すコマンドがある。不正解除コマンドは、不正の解除を示すコマンドである。入賞口スイッチ/状態監視処理(A1308)において、不正入賞の発生と不正の解除が監視されて、不正発生コマンドと不正解除コマンドが送信され得る。状態オンコマンドとして、シュート球切れスイッチ信号の発生(シュート球切れエラー)や、オーバーフロースイッチ信号の発生(オーバーフローエラー)や、払出異常ステータス信号の発生(払出異常エラー)や、ガラス枠開放検出スイッチ63からの信号の発生(ガラス枠開放エラー)や、前面枠開放検出スイッチ64(本体枠開放検出スイッチ)からの信号の発生(本体枠開放エラー、前面枠開放エラー)を示すコマンドがある。また、状態オフコマンドは、エラーの不発生を示す。磁気センサスイッチ61からの検出(磁石不正)があった場合に、磁石不正監視処理(A1315)において磁石不正報知コマンドが送信される。電波センサ62からの検出(電波不正)があった場合に、電波不正監視処理(A1316)において盤電波不正報知コマンドが送信される。
そして、MODE部がエラー/不正系のコマンドを表す場合には(B1315の結果が「Y」)、エラーや不正の報知や報知解除をするためのエラー/不正設定処理を実行し(B1316)、単発系コマンド処理を終了する。エラー/不正設定処理では、例えば、エラーや不正の報知音を発生させたり、枠装飾装置18や盤装飾装置46のLEDなど遊技機10に設けられた演出用LEDを所定態様で発光させたり、表示装置41等でエラー表示をするよう設定する。
演出制御装置300は、MODE部がエラー/不正系のコマンドを表していない場合には(B1315の結果が「N」)、次に、MODE部が演出モード切替用のコマンド(特図表示中処理等で設定)を表すか否かを判定する(B1317)。そして、MODE部が演出モード切替用のコマンドを表す場合には(B1317の結果が「Y」)、演出モード切替設定処理を実行し(B1318)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部が演出モード切替用のコマンドを表していない場合には(B1317の結果が「N」)、次に、MODE部がアウト球数を示すアウト球数コマンドを表すか否かを判定する(B1319)。そして、MODE部がアウト球数コマンドを表す場合には(B1319の結果が「Y」)、アウト球数受信時処理を実行し(B1320)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部がアウト球数コマンドを表していない場合には(B1319の結果が「N」)、次に、MODE部がカウントのコマンド(大入賞口カウントコマンド)を表すか否かを判定する(B1321)。そして、MODE部が大入賞口スイッチのカウントのコマンドを表す場合には(B1321の結果が「Y」)、カウント情報設定処理を実行し(B1322)、単発系コマンド処理を終了する。
演出制御装置300は、MODE部がカウントのコマンドを表していない場合には(B1321の結果が「N」)、MODE部が設定値情報コマンド(確率設定値情報コマンド)を表すか否かを判定する(B1323)。設定値情報コマンドは、図5BのステップA1049の停電復旧時のコマンド及びステップA1047の処理で送信されるRAM初期化時のコマンドに含まれる。そして、MODE部が設定値情報コマンドを表す場合には(B1323の結果が「Y」)、設定値受信時処理を実行し(B1324)、単発系コマンド処理を終了する。設定値受信時処理では、設定値(確率設定値)をRAM等の記憶部に記憶するとともに必要な処理を実行する。
演出制御装置300は、MODE部が設定値情報コマンドを表していない場合には(B1323の結果が「N」)、MODE部が設定変更系のコマンドを表すか否かを判定する(B1325)。設定変更系のコマンドとして、例えば、確率設定変更中のコマンド(A1033)がある。そして、MODE部が設定変更系のコマンドを表す場合には(B1325の結果が「Y」)、設定変更系情報設定処理を実行し(B1326)、単発系コマンド処理を終了する。設定変更系情報設定処理では、設定変更系のコマンドの内容を記憶し、コマンドに対応する処理を実行する。例えば、確率設定変更中のコマンドを受信した場合に、設定変更系情報設定処理では、遊技者に設定変更中であること報知する設定変更中表示を表示装置41に表示する。
演出制御装置300は、MODE部が設定変更系のコマンドを表していない場合には(B1325の結果が「N」)、MODE部が設定確認系のコマンドを表すか否かを判定する(B1327)。設定確認系のコマンドとして、例えば、確率設定確認中のコマンド(A1036)がある。そして、MODE部が設定確認系のコマンドを表す場合には(B1327の結果が「Y」)、設定確認系情報設定処理を実行し(B1328)、単発系コマンド処理を終了する。設定確認系情報設定処理では、設定確認系のコマンドの内容を記憶し、コマンドに対応する処理を実行する。例えば、確率設定確認中のコマンドを受信した場合に、設定確認系情報設定処理では、遊技者に設定確認中であること報知する設定確認中表示を表示装置41に表示する。
演出制御装置300は、MODE部が設定確認系のコマンドを表していない場合には(B1327の結果が「N」)、MODE部が安全装置関連系のコマンドを表すか否かを判定する(B1329)。安全装置関連系のコマンドとして、例えば、安全装置作動関連コマンド(A9407)がある。安全装置カウンタ値や差玉数などの差玉情報を含む差玉コマンドが遊技制御装置100から演出制御装置300に送信される場合には、安全装置関連系のコマンドにこの差玉コマンドを含めてよい。そして、MODE部が安全装置関連系のコマンドを表す場合には(B1329の結果が「Y」)、安全装置に関連する安全装置系処理を実行し(B1330)、単発系コマンド処理を終了する。安全装置系処理では、安全装置関連系のコマンドの内容を記憶し、コマンドに対応する処理を実行する。
安全装置系処理では、コマンドに対応する処理として、安全装置関連系のコマンドに含まれる情報を表示装置41に表示できる。例えば、安全装置関連系のコマンドとして安全装置作動関連コマンドを受信した場合に、安全装置作動関連コマンドのACTION部に含まれる安全装置作動情報(安全装置作動予告情報(値1)、安全装置作動警告情報(値2)、安全装置作動中情報(値3))に対応した安全装置関連表示(作動予告表示511、作動警告表示512、作動中表示513)を表示装置41に表示する。また、例えば、安全装置関連系のコマンドとして差玉コマンドを受信した場合に、差玉数を表示装置41に表示する。
差玉数(=安全装置カウンタ値-10万)の表示は、受信した差玉コマンドに対応させて全範囲の値(例えば、0~10万または-10万~+10万)を表示装置41に表示するようにしてもよいし、所定の範囲の値(例えば、作動予告状態以降の9万~10万)だけを表示するようにしてもよい。この所定の範囲の場合だけ差玉数が表示されると、差玉数が重要なときのみ表示されて遊技者の注目を引くことができるし、差玉数が重要でないときは差玉数を非表示にして表示装置41を見やすくできる。所定の範囲として、作動予告状態に対応する範囲(9万以上9万5千未満)、作動警告状態と作動状態に対応する範囲(9万5千以上)、作動予告状態と作動警告状態と作動状態の全てに対応する範囲(9万以上)、作動予告状態に入る直前又は直後の値以上(例えば8万9千以上、9万1千以上)などがある。また、差玉数そのものを表示するようにしてもよいし、安全装置の作動(打ち止め)までの残りの遊技球数(遊技媒体数)の形で間接的に差玉数を表示するようにしてもよい。さらに、差玉数の代わりに、安全装置カウンタ値を表示してもよく、安全装置カウンタ値が、所定の範囲(例えば、作動予告状態以降の19万以上)の場合に、表示装置41に表示されるようにしてもよい。
なお、差玉コマンドは、1の単位で変化する差玉数に対応して通知(送受信)されてよい。例えば、差玉コマンドが示す差玉数は、0~10万の間又は-10万~+10万の間で、実際の差玉数と同じく1つずつに変化可能である。安全装置カウンタ値ひいては差玉数が更新される度(A9711)に、差玉コマンドが送信されてよい。
また、差玉コマンドは、所定の単位で変化する差玉数に対応して通知(送受信)されてよい。例えば、差玉コマンドが示す差玉数は、1000の単位で変化可能であり、0(=実際の差玉数0~999)、1000(=実際の差玉数1000~1999)、2000(=実際の差玉数2000~2999)、・・・、10万(=実際の差玉数10万)であってよい。なお、この場合に、差玉コマンドの送信の機会を減らすために、安全装置カウンタ値ひいては差玉数が1000単位で更新される度(A9711)に、差玉コマンドが送信されてもよい。また、差玉コマンドが示す差玉数は、マイナス側の値があってもよい。
演出制御装置300は、MODE部が安全装置関連系のコマンドを表していない場合には(B1329の結果が「N」)、MODE部が図柄停止のコマンドを表すか否かを判定する(B1331)。なお、図柄停止のコマンドには、例えば、特図1の図柄停止コマンド(飾り特図1停止コマンド)と特図2の図柄停止コマンド(飾り特図2停止コマンド)がある。そして、MODE部が図柄停止のコマンドを表す場合には(B1331の結果が「Y」)、演出制御装置300は、次に、MODE部のコマンドが正常なコマンドであるか否かを判定する(B1332)。
MODE部のコマンドが正常なコマンドである場合には(B1332の結果が「Y」)、演出制御装置300は、対応する特図の停止態様を設定し(B1333)、全図柄が停止した後に遊技状態フラグを通常状態に設定して(B1334)、単発系コマンド処理を終了する。B1334の処理では、一例として、遊技状態フラグを通常状態に設定しているが、本処理が実行されるタイミングによって、遊技状態フラグは、「変動中」「大当り中」「小当り中」のフラグが設定される。
一方、MODE部が図柄停止のコマンドを表していない場合(B1331の結果が「N」)、または、MODE部のコマンドが正常ではない場合(B1332の結果が「N」)には、演出制御装置300は、単発系コマンド処理を終了する。
その他、演出制御装置300は、図64には記載されていないコマンドに対する処理を単発系コマンド処理において実行してよい。例えば、演出制御装置300は、時間短縮変動回数コマンド、演出回転数コマンド、打ち方指示報知コマンド(左打ち指示報知コマンド、右打ち指示報知コマンド)などを遊技制御装置100から受信して、当該コマンドに対応する処理を行ってよい。演出制御装置300は、時間短縮変動回数コマンド(時間短縮変動回数)などから時短状態における残りの変動回数を取得でき、演出回転数コマンドなどから各演出モードの演出残り回転数を取得でき、時短状態における残りの変動回数や各演出モードの演出残り回転数などに基づいて演出を設定できる。演出制御装置300は、打ち方指示報知コマンド(左打ち指示報知コマンド又は右打ち指示報知コマンド)に応じて、打ち方を指示(示唆)する打ち方指示表示(左打ち指示表示又は右打ち指示表示)を表示装置41などにおいて表示(報知)できる。
〔先読み図柄系コマンド処理〕
次に、図65を参照して、前述した受信コマンド解析処理(図63)における先読み図柄系コマンド処理(B1214)の詳細について説明する。図65は、演出制御装置300によって実行される先読み図柄系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、まず、最新保留情報が特図1保留(特図1始動記憶)の情報であるか否か、例えば、最新で受信した飾り特図保留数コマンドが飾り特図1保留数コマンドであるか否かを判定する(B1601)。最新保留情報が特図1保留の情報である場合(B1601の結果が「Y」)、先読み図柄系コマンド(先読み停止図柄コマンド)を特図1保留数に対応する特図1先読み図柄コマンド領域にセーブする(B1602)。
演出制御装置300は、最新保留情報が特図1保留の情報でない場合(B1601の結果が「N」)、即ち、最新で受信した飾り特図保留数コマンドが飾り特図2保留数コマンドである場合、先読み図柄系コマンド(先読み停止図柄コマンド)を特図2保留数に対応する特図2先読み図柄コマンド領域にセーブする(B1603)。
演出制御装置300は、ステップB1602とB1603の後、先読み変動系コマンドの受信待ちであることを示す先読み変動系コマンド受信待ちフラグを設定する(B1604)。これは、先読み図柄系コマンドと先読み変動系コマンドがセットになっているため、遊技制御装置100から先読み図柄系コマンドに続いて先読み変動系コマンドが送信されるためである。その後、先読み図柄系コマンド処理を終了する。
〔先読み変動系コマンド処理〕
次に、図66を参照して、前述した受信コマンド解析処理(図63)における先読み変動系コマンド処理(B1216)の詳細について説明する。図66は、演出制御装置300によって実行される先読み変動系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、まず、先読み変動系コマンド(先読み変動パターンコマンド)の受信待ち中であるか否かを判定する(B1701)。前述の先読み変動系コマンド受信待ちフラグ(B1604)が設定されている場合、先読み変動系コマンドの受信待ち中であると判定できる。先読み変動系コマンドの受信待ち中でない場合(B1701の結果が「N」)、先読み変動系コマンド処理を終了する。先読み変動系コマンドの受信待ち中である場合(B1701の結果が「Y」)、先読み変動系コマンド受信待ちフラグをクリアする(B1702)。
次に、演出制御装置300(サブ基板)は、最新保留情報の図柄(特図1又は特図2)の保留数に対応する先読み変動MODE変換テーブルを設定し(B1703)、先読み変動系コマンドのMODE部に対応してサブ内先読み変動コマンドMODE部を取得する(B1704)。次に、先読み変動ACT変換テーブルを設定し(B1705)、先読み変動系コマンドのACTION部(ACT部)に対応するサブ内先読み変動コマンドACT部を取得する(B1706)。
次に、演出制御装置300は、変換後のMODE部とACT部(即ち、サブ内先読み変動コマンドMODE部とACT部)が共に0以外であるか否かを判定する(B1707)。なお、正常(有効)なコマンドであれば0以外に変換される。変換後のMODE部、ACT部が共に0以外である場合(B1707の結果が「Y」)、変換後のMODE部とACT部から構成される変換後のコマンドを最新保留情報、保留数に対応する先読み変動コマンド領域(特図1先読み変動コマンド領域又は特図2先読み変動コマンド領域)にセーブする(B1708)。そして、先読みコマンド整合チェック処理を実行して(B1709)、変換後のMODE部とACT部の組合せが正常であるか否か判定する(B1710)。
なお、保留が変動表示ゲームを開始するときの保留数によって、MODE部に対応する前半変動の時間が変化する。保留が変動表示ゲームを開始するときに、保留が他になければ長めの前半変動になり、新たに保留が発生して保留数が多ければ短めの前半変動となる。従って、前半変動の時間値が遷移しても、演出制御装置300の内部コマンドが同じに扱えるように、受信した先読み変動系コマンドのMODE部をサブ内先読み変動コマンドMODE部に変換しておく。
また、リーチの種類は保留数に関係ないため、サブ内先読み変動コマンドACT部に対応する後半変動は保留数に依存しない。しかし、同一系統のリーチにも種類があるため、仮に先読み変動系コマンドのACT部(後半変動の値)を変換せずに、演出制御装置300がそのまま使うと数が多くなりチェックが困難になる。例えば、ノーマルリーチにも、ノーマルリーチ-1停止はずれ、ノーマルリーチ+1停止はずれなどの種類が存在する。従って、同一系統のリーチを示すACT部を、同じサブ内先読み変動コマンドACT部に変換することで、数を減らし、先読みコマンド整合チェック処理等のチェック処理の負担を軽減する。
次に、演出制御装置300は、変換後のMODE部とACT部(即ち、サブ内先読み変動コマンドMODE部とACT部)の少なくとも一方が0である場合(B1707の結果が「N」)、又は、変換後のMODE部とACT部の組合せが正常でない場合(B1710の結果が「N」)、変換後のコマンドに異常があるとして、先読み変動系コマンド処理を終了する。
演出制御装置300は、変換後のMODE部とACT部の組合せが正常である場合(B1710の結果が「Y」)、先読み対象の保留情報(最新保留の情報)を先読み変動コマンド領域からロードし(B1711)、最新保留の先読み演出に関する先読み抽選処理を実行する(B1712)。先読み演出(先読み予告演出)としては、例えば、連続予告演出(チャンス目先読み演出を含む)、先読みゾーン演出、保留変化予告などがある。続いて、最新保留の先読み演出(保留変化予告等)が発生するか否かを判定する(B1713)。最新保留の先読み演出が発生する場合(B1713の結果が「Y」)、選出された先読み演出に対応するポイント情報を設定する(B1714)。
次に、演出制御装置300は、発生する先読み演出(保留変化予告等)が直ちに開始する演出であるか否か判定する(B1715)。発生する先読み演出が直ちに開始する演出である場合(B1715の結果が「Y」)、選出された先読み演出に対応する表示を設定する(B1716)。発生する先読み演出が直ちに開始する演出でない場合(B1715の結果が「N」)、保留シフトの際(保留表示の移動の際、保留数減少の際)の先読み演出に対応する表示を設定、保存する(B1717)。そして、先読み変動系コマンド処理を終了する。なお、先読み演出は、変動表示ゲームの結果(遊技結果)を示唆する情報を当該変動表示ゲームが停止する前に予告することで大当り期待度(特別結果となる期待度)を報知する演出になるが、設定された確率設定値(1~6)を示唆する情報を報知するようにしてもよい。すなわち、演出制御装置300は、大当り期待度や確率設定値に基づいて先読み対象の保留表示(アイコン)を変化させるように先読み演出を行うことができる。
一方、演出制御装置300は、最新保留の先読み演出が発生しない場合(B1713の結果が「N」)、そのまま、先読み変動系コマンド処理を終了する。
〔図柄系コマンド処理〕
次に、図67を参照して、前述した受信コマンド解析処理(図63)における図柄系コマンド処理(B1210)の詳細について説明する。図67は、演出制御装置300によって実行される図柄系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、受信した図柄系コマンド(飾り特図1コマンド又は飾り特図2コマンド)のMODE部に対応する特図種別を設定する(B1801)。特図種別は、特図1又は特図2である。そして、図柄系コマンドのMODE部とACTION部(ACT部)の組合せに対応する図柄種別を設定し、RAM等の所定領域にセーブする(B1802)。ここで、特図1と特図2では、図柄の振分け割合が変わるので、MODE毎にテーブルを使用して、図柄種別を設定する。なお、本実施形態において、図柄種別は、はずれ図柄や、特図1の大当り図柄A、特図2の大当り図柄B-F、残保留(特図2保留)での大当り図柄G、時短図柄(サポ当り図柄)などに対応する。
〔変動系コマンド処理〕
次に、図68を参照して、前述した受信コマンド解析処理(図63)における変動系コマンド処理(B1206)の詳細について説明する。図68は、演出制御装置300によって実行される変動系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、受信した変動系コマンド(変動コマンド)の特図種別(特図1又は特図2)が未確定であるか否かを判定する(B1901)。特図種別が未確定である場合(B1901の結果が「Y」)、変動系コマンド処理を終了する。特図種別が未確定でない場合(B1901の結果が「N」)、受信した変動系コマンドと図柄系コマンドの組合せをチェックし(B1902)、変動系コマンドと図柄種別が不整合であるか否かを判定する(B1903)。ここで、不整合とは、はずれの変動系コマンドを受信したのに大当り図柄の図柄系コマンドを受信していた場合など、演出を行う上で矛盾してしまうことである。変動系コマンドと図柄種別が不整合である場合(B1903の結果が「Y」)、変動系コマンド処理を終了する。
演出制御装置300は、変動系コマンドと図柄種別が不整合でない場合(B1903の結果が「N」)、変動系コマンド(変動コマンド)から変動パターン種別を判別し(B1904)、変動中の演出である変動演出を設定する変動演出設定処理を実行する(B1905)。なお、同じ変動系コマンドに対して、複数の演出が存在する。続いて、遊技状態(P機状態)を示す遊技状態フラグに特図変動中を設定し(B1906)、連続演出等の先読み演出回数が0でなければ-1更新する(B1907)。
〔変動演出設定処理〕
次に、図69を参照して、前述した変動系コマンド処理(図68)における変動演出設定処理(B1905)の詳細について説明する。図69は、演出制御装置300によって実行される変動演出設定処理の手順を示すフローチャートである。
演出制御装置300は、まず、変動パターン種別が、リーチなし変動(リーチ状態にならない変動)であるか否かを判定する(B2001)。変動パターン種別がリーチなし変動である場合(B2001の結果が「Y」)、演出ポイントのポイント数、機種コード、特図種別、演出モード、設定情報(設定値)に対応する前半予告振分グループアドレステーブルを設定し(B2002)、変動系コマンド(変動コマンド)のMODE部と特図種別の保留数に対応する前半予告振分グループテーブルのアドレスを取得する(B2003)。リーチなし変動の場合、保留数が多いほど変動時間が短縮されるため、保留数に対応するテーブルのアドレスを取得している。
演出制御装置300は、変動パターン種別がリーチなし変動でない場合(B2001の結果が「N」)、即ち、リーチあり変動である場合、演出ポイントのポイント数、機種コード、特図種別、演出モード、図柄種別、設定情報(設定値)に対応する前半予告振分グループアドレステーブルを設定し(B2004)、変動系コマンド(変動コマンド)のMODE部と変動パターン種別に対応する前半予告振分グループテーブルのアドレスを取得する(B2005)。
演出制御装置300は、ステップB2003、B2005の後、前半変動中(リーチ前)に出現する予告の抽選を行う(B2006)。続いて、演出ポイントのポイント数、機種コード、特図種別、演出モード、図柄種別、設定情報(設定値)に対応する後半予告振分グループアドレステーブルを設定し(B2007)、変動系コマンドのACT部に対応する後半予告振分グループテーブルのアドレスを取得し(B2008)、後半変動中(リーチ中)に出現する予告の抽選を行う(B2009)。その後、変動系コマンド(変動コマンド)のMODE部、ACT部に対応する変動演出の内容を決定する(B2010)。なお、変動系コマンドから変動時間や主なリーチ内容などがわかる。
次に、演出制御装置300は、予告の抽選結果に対応する演出(予告演出)の内容を決定する(B2011)。その後、リーチ演出等の変動演出や予告演出の内容に応じて、飾り特図変動表示ゲームの停止図柄を決定する(B2012)。ここで、はずれ図柄の場合にばらけ目を決定するなど、飾り停止図柄を具体的に決定する。
次に、演出制御装置300は、変動演出の表示設定を行い(B2013)、予告演出の表示設定を行う(B2014)。続いて、特図種別に対応する保留減少の表示設定を行い、例えば、今回変動する飾り特図に対応する保留表示が減る表示(保留シフトの表示)が設定される(B2015)。続いて、スピーカの音声による演出態様(音出力態様)を定める音声番号、装飾装置の発光による演出態様を定める装飾番号を設定する(B2016)。装飾装置(盤装飾装置46、枠装飾装置18)は、複数の装飾用発光部(装飾LED等)を有し、装飾番号で定められる発光態様(各LEDの色や発光タイミング等)で発光する。
なお、音声番号や装飾番号を演出内容だけでなく設定情報(設定値)に基づいて設定することも可能である。このようにすると、遊技者は、装飾装置の発光態様、即ち、装飾用発光部(LED)の発光態様から遊技機10の設定情報(設定値)を推測することを楽しめる。
次に、演出制御装置300は、特図種別に対応する飾り特図変動の表示設定を行い(B2017)、表示装置41で変動する前述の第一から第三の特別図柄以外に第四特別図柄(第4図柄、識別情報)に関する第4図柄変動の表示設定を行う(B2018)。なお、第4図柄変動は、表示装置41以外に設けた前述のランプ表示装置80のランプ表示部1、2(LED)で表示されてもよいし、表示装置41の表示画面上で実行されてもよい。
〔当り系コマンド処理〕
次に、図70を参照して、前述した受信コマンド解析処理(図63)における当り系コマンド処理(B1208)の詳細について説明する。図70は、演出制御装置300によって実行される当り系コマンド処理の手順を示すフローチャートである。
演出制御装置300は、まず、受信した当り系コマンドのMODE部がファンファーレを表すか否かを判定する(B2101)。当り系コマンドのMODE部がファンファーレを表す場合(B2101の結果が「Y」)、即ち、当り系コマンドが大当りファンファーレコマンド又は小当りファンファーレコマンドである場合、ファンファーレ演出を設定するためのファンファーレ演出設定処理を実行する(B2102)。また、大当りファンファーレコマンド又は小当りファンファーレコマンドに対応して、打ち方指示(左打ち指示又は右打ち指示)の表示を表示装置41などにおいて表示(報知)してよい。なお、ファンファーレコマンドには、今回の大当りのラウンド数上限値の情報が含まれている。続いて、現在の遊技機10の遊技状態(P機状態)を示す遊技状態フラグにファンファーレ中を設定し(B2103)、当り系コマンド処理を終了する。なお、ラウンド数上限値は、図柄系コマンド(停止図柄パターンに対応する飾り特図コマンド)から判定される図柄種別からも得ることができる。
演出制御装置300は、受信した当り系コマンドのMODE部がファンファーレを表さない場合には(B2101の結果が「N」)、当り系コマンドのMODE部がラウンドを表すか否かを判定する(B2104)。MODE部がラウンドを表す場合(B2104の結果が「Y」)、即ち、当り系コマンドがラウンドコマンド又は小当り開放中コマンドである場合、演出制御装置300は、ラウンド演出設定処理を実行し、現在の遊技機10の遊技状態(P機状態)を示す遊技状態フラグにラウンド中を設定し(B2105、B2106)、当り系コマンド処理を終了する。
受信した当り系コマンドのMODE部がラウンドを表さない場合には(B2104の結果が「N」)、演出制御装置300は、当り系コマンドのMODE部がインターバルを表すか否かを判定する(B2107)。MODE部がインターバルを表す場合(B2107の結果が「Y」)、即ち、当り系コマンドがインターバルコマンドである場合、演出制御装置300は、インターバル演出設定処理を実行し、現在の遊技機10の遊技状態(P機状態)を示す遊技状態フラグにインターバル中を設定し(B2108、B2109)、当り系コマンド処理を終了する。
受信した当り系コマンドのMODE部がインターバルを表さない場合には(B2107の結果が「N」)、演出制御装置300は、当り系コマンドのMODE部がエンディングを表すか否かを判定する(B2110)。MODE部がエンディングを表す場合(B2110の結果が「Y」)、即ち、当り系コマンドがエンディングコマンドである場合、演出制御装置300は、エンディング演出を設定するためのエンディング演出設定処理を実行し、現在の遊技機10の遊技状態(P機状態)を示す遊技状態フラグにエンディング中を設定し(B2111、B2112)、当り系コマンド処理を終了する。
なお、受信した当り系コマンドのMODE部がエンディングを表さない場合には(B2110の結果が「N」)、演出制御装置300は、いずれの処理も実行せずに、当り系コマンド処理を終了する。
〔遊技状態遷移図(ゲームフロー)の例〕
図71Aは、第1実施形態における遊技状態の遷移を例示する遊技状態遷移図(ゲームフロー)である。遊技状態は、遊技制御装置100の遊技制御によって遷移(移行)する。遊技状態は、特に、大当りの発生を契機として遷移するものや、所定のゲーム数(回転数、変動回数)の経過を契機として遷移するものなどが示されている。図71Aにおいて、それぞれの遊技状態について、大当り確率(特図確率)の状態、普図変動表示ゲームの当り結果となる確率である普図当り確率(普図確率)の状態、演出モード、主となる変動表示ゲーム(主変動表示ゲーム、主変動)、右打ち又は左打ちの発射態様などの特徴が示されている。
なお、演出モード(演出ステージ)は、前述のように、遊技制御装置100が大当り終了処理(図40)や演出モード情報チェック処理(図35)などによって設定することができる。しかし、これに限られず、演出制御装置300が、時短回数、規定の残保留数、大当り終了後の特図2変動表示ゲームの実行回数などに基づいて設定することもできる。
また、図71Aにおいて、天井回数到達による天井時短と時短図柄による突然時短の場合の特定遊技状態B、C(時短モード#3、#4)は省略されているが(図71Bも同様)、後述の第2実施形態(図77)と第3実施形態(図82)で詳細に説明される。
第1実施形態において、遊技状態は、通常遊技状態、特定遊技状態、移行状態が存在する。本実施形態において、特定遊技状態は時短状態であるが、特定遊技状態を大当り確率が高確率状態である確変状態とする構成も可能である。
なお、移行状態において大当り確率と普図当り確率は通常遊技状態と変わらないため、確率的には移行状態を通常遊技状態に含めてよい。即ち、移行状態を主変動表示ゲームが特図2変動表示ゲームとなる通常遊技状態とみなしてもよい。しかし、移行状態では、残保留の消化によって特図2変動表示ゲームが実行されて特図2変動表示ゲームが主変動表示ゲームとなり、小当りひいては小当り中でのV通過(V入賞口への遊技球の通過、V入賞)による大当りが、小当り確率(1/8)で発生する。このため、移行状態は、通常よりも遊技者に有利な有利状態であり、この観点では通常遊技状態とは区別できる遊技状態とみなしてもよい。また、移行状態と特定遊技状態(時短状態)とまとめて遊技者に有利な有利状態としてもよいし、或は、特定遊技状態(時短状態)を第1有利状態とし、移行状態を第2有利状態としてもよい。
まず、各遊技状態について説明する。通常遊技状態において、遊技制御装置100は、大当り確率を低確率とし(特図低確率)、普図当り確率も低確率とする(普図低確率)。なお、本実施形態では、普図低確率の状態を普電サポートのない状態(サポ無し状態)とし、普図高確率の状態を普電サポートのある状態(サポ有り状態)とする。従って、本実施形態では、サポ有り状態での普図当りに起因して普通変動入賞装置37(普電)が開放されても、開放時に普図低確率となっている場合にはサポ無し状態となる。しかし、これに限られず、普通変動入賞装置37の開放中はサポ有り状態とみなす構成も可能である。
また、通常遊技状態において、演出モードは通常モードである。通常遊技状態において、第1始動入賞口36への遊技球の入球を容易にする左打ちが、右打ちよりも遊技者にとって有利となり、遊技球の発射態様として推奨される。推奨される発射態様で遊技球が入賞し易い主始動領域は第1始動入賞口36となり、主変動表示ゲーム(主変動特図)は特図1変動表示ゲームとなる。推奨される発射態様で遊技球が入賞し難い従始動領域は普通変動入賞装置37となり、従変動表示ゲームは特図2変動表示ゲームとなる。
特定遊技状態(時短状態)において、遊技制御装置100は、大当り確率は低確率状態であるが、普図当り確率は高確率(普図高確率)となるように制御する。特定遊技状態において、遊技球の発射態様として、普通変動入賞装置37が開放され易くなり普通変動入賞装置37を狙う右打ちが推奨される。そのため、特定遊技状態において、主始動領域は普通変動入賞装置37となり従始動領域は第1始動入賞口36となることから、主変動表示ゲームは特図2変動表示ゲームとなり、従変動表示ゲームは特図1変動表示ゲームとなる。
また、特定遊技状態において、時短回数が基準回数(ここでは5回)以下である場合(時短回数≦5)と、基準回数より大きい99回の場合(時短回数=99)がある。時短回数≦5の場合の演出モードを時短モード#1として、時短回数=99の場合の演出モードを時短モード#2とし、時短モード#1と時短モード#2の演出の態様を異ならせて遊技の興趣を向上してよい。なお、基準回数は、例えば、小当り確率1/8の逆数の値(8回)程度であればよく、7回等でもよい。基準回数が小さいほど、時短モード#1で小当り(小当り中でのV通過で大当り状態になるもの)が発生し難くなる一方、演出モード#2との差が大きくなりメリハリがでる。
移行状態は、特定遊技状態(時短状態)の終了後に発生可能な状態である。移行状態において、特定遊技状態中の普図当りによって開放される普通変動入賞装置37(普電)への入賞によって生じる残保留が消化され、主変動表示ゲームとして特図2変動表示ゲームが実行される。移行状態の演出モードは、残保留消化モードである。さらに、残保留消化モードを、特定遊技状態中の普図当りによる普電の開放が終了する前の普電開放終了前モードと、普電の開放が終了した後の普電開放終了後モードに分けてもよい。普電開放終了前モードでは、普電を狙う右打ちが推奨され、普電開放終了後モードでは普電が閉鎖されているため左打ちが推奨される。
移行状態の演出モードである残保留消化モードを普電開放終了前モードと普電開放終了後モードに分けると、遊技者は、普電が開放されているか(右打ちすべきか)、閉鎖されているか(左打ちすべき)をわかり易くなる。なお、分けない場合には、移行状態を通して、残保留が消化中であることが認識し易くなる。
また、前述のように、移行状態と特定遊技状態(時短状態)とまとめて遊技者に有利な有利状態とし、有利状態において、演出モードを分けずに同じ演出モードとしてもよい。この場合には、特図2変動表示ゲームが主変動表示ゲームとなる有利状態を共通の演出態様とすることができる。後述のように、残保留の消化で特図の当り(小当り中でのV通過で大当り)が発生した場合に、特定遊技状態中に特図の当りが発生した場合よりも、遊技者に付与する遊技価値を大きくすれば、時短状態中であるか残保留の消化中であるか共通の演出態様から不明であるにもかかわらず大きな遊技価値が得られて、遊技者を喜ばすことができる。なお、ここでは、遊技価値(特典)は、大当り終了後の時短回数や最終的に得られる大当りの回数などである。
次に、各遊技状態からの遷移(移行)について説明する。まず、通常遊技状態において、特図変動表示ゲームによって大当り(V入賞によるものではない)が発生すると、大当り状態の終了後に特定遊技状態に遷移する。
特定遊技状態において、特図変動表示ゲームによって小当り(V通過で大当り状態になるもの)が発生すると、大当り状態の終了後に再び特定遊技状態に戻る。なお、この場合は、時短モード#1に戻って、遊技価値(特典)としての時短回数は基準回数以下である(時短回数≦5)。
所定の遷移条件が成立した場合に、特定遊技状態から移行状態に遷移する。例えば、この所定の遷移条件は、(i)特定遊技状態における特図2変動表示ゲームの実行回数が時短回数(第1所定回数、時間短縮変動回数2の初期値)を超えること、及び、(ii)特定遊技状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の合計の実行回数が時短回数(第1所定回数)よりも大きい第2所定回数(時間短縮変動回数1の初期値、例えば時短回数の2倍)を超えること、(iii)所定開放回数(例えば2回)の普電開放が終了すること、の何れかが成立することである。なお、第2所定回数は、時短回数(第1所定回数)に、特図1保留数の最大値(例えば4)を足したものでもよい。(iii)の条件は、止め打ち対策として設けられる。
特定遊技状態では、主変動表示ゲームである特図2変動表示ゲームが時短回数実行できることが遊技機10の本来の仕様(性能)であるが、従来の如く、特図変動表示ゲームの合計の実行回数が時短回数を超えることだけを特定遊技状態からの遷移条件とすると、従変動表示ゲームである特図1変動表示ゲームが実行された分、遊技機10の本来の仕様から離れてしまう。しかし、2つの条件(i)(ii)を設けることで従変動表示ゲームの実行分はおまけ(特典)として扱い、遊技者に損をさせることなく本来の仕様で遊技を行わせることができる。なお、遊技者が普通に遊技すれば、(i)の条件の成立で移行状態に移行し、(ii)の条件が成立することはまずありえない。
なお、特定遊技状態の時短モード#2では、時短回数99回の特図2変動表示ゲームが実行されるまで継続可能であるため、ほぼ確実に小当り(V通過で大当り状態になる)が発生し、大当り状態終了後に再度特定遊技状態(時短モード#1)になる。従って、時短モード#2は、大当り状態終了後に特定遊技状態が確実に継続する次回継続確定モード(確定モード)となる。
移行状態において、特図2変動が終了すると、主変動表示ゲームが特図1変動表示ゲームとなる通常遊技状態に遷移する。一方、移行状態において、小当り(小当り中でのV通過で大当り状態になる)が発生すると、大当り状態終了後に特定遊技状態の時短モード#2に遷移して99回の時短回数が付与される。即ち、残保留が消化される移行状態(残保留消化モード)において小当り(V通過後に大当り)が発生すると、特定遊技状態において小当り(V通過後に大当り)が発生した場合の時短回数(≦5)よりも、時短回数が多くなり、遊技者に付与する遊技価値が大きくなる。さらに、移行状態(残保留消化モード)において小当り(V通過後に大当り)が発生すると、次の時短モード#2でほぼ確実に小当り(V通過後に大当り)が発生するから、合計2回の大当りが遊技価値として確保される。
〔遊技状態遷移図(ゲームフロー)の別例〕
図71Bは、遊技状態の遷移を示す遊技状態遷移図の別例である。なお、図71Bの遊技状態の遷移は、第2実施形態においても適用することができる。
図71Bでは、時短終了後に消化される全ての特図2保留である残保留を、所定残保留(第1残保留)と過剰保留(第2残保留)に分けるとともに、移行状態に対応する演出モードとしての残保留消化モードを、所定残保留が消化される時短中発生残保留消化モードと、過剰保留が消化される過剰保留消化モードとに分ける。ここで、所定残保留は、時短中に発生して時短終了後に消化される特図2保留のうちの最初の所定個(当該特図2保留のうちの全部または一部)であり、過剰保留は、所定残保留の後に消化される特図2保留(残保留)である。過剰保留消化モードは、例えば、遊技結果を示すリザルト画面を表示装置41に表示するモードやその他の特殊モードを含んでよい。なお、時短中発生残保留消化モードと時短モード(時短モード#1又は時短モード#2)は、時短中に発生した特図2保留を消化する点で共通するため、同じ演出モードとして演出態様を共通にしてもよい。
〔図柄に対応する時短回数と規定残保留数〕
図72は、特図変動表示ゲームの当りの種類である図柄に対応する時短回数と規定の残保留数(規定残保留数)などについて示すテーブルである。図柄は、大当りになる場合の図柄であり、ここでは大当り図柄乱数によって決定され、時短図柄は除かれる。図柄は、当りの停止図柄であり停止図柄番号と停止図柄パターンの何れに対応させてもよい。(A)は、特図1変動表示ゲームの当りの図柄に関するものである。(B)の上図は、普図高確率状態中(時短状態中)における特図2変動表示ゲームの当りの図柄に関するものであり、下図は、普図低確率状態中における特図2変動表示ゲームの当りの図柄(残保留での当りの図柄)に関するものである。
図柄Aは、大当り図柄乱数によって決定される停止図柄であり、特図1変動表示ゲームの大当りの停止図柄である。図柄B-Fも、大当り図柄乱数によって決定される停止図柄であるが、普図高確率状態中(時短状態中)における特図2変動表示ゲームの小当りでのV通過(V入賞)に関する大当りの停止図柄である。図柄Gも、大当り図柄乱数によって決定される停止図柄であるが、普図低確率状態中における特図2変動表示ゲームの小当り(残保留での小当り)でのV通過(V入賞)に関する大当りの停止図柄である。なお、大当り図柄乱数の他に小当り図柄乱数がある場合には、図柄B-Fと図柄Gを、小当り図柄乱数によって決定される小当りの停止図柄とする構成も可能である。
図柄Aは、振り分け(選択率)が100%であり、特図1変動表示ゲームの大当りの停止図柄は図柄Aしか存在しない。図柄B-Fは、それぞれ、大当り図柄乱数に対する振り分けが40%、25%、15%、10%、10%である。図柄Gは、振り分けが100%である。
特図1変動表示ゲームの大当りの種類である図柄Aでは、大当り後の時短回数は1回である。また、図柄Aでは、時短状態終了後に消化される規定(予定)の残保留数は4個である。従って、大当り状態終了後に特図2変動表示ゲームの実行によって消化可能な特図2保留の合計数は、規定では5(=1+4)になる。図柄Aでは、1/8の小当り確率に対して、継続率は、{1-(1-1/8)5}×100%=48.7%であり、確定モード移行率は、(1-1/8)×{1-(1-1/8)4}×100%=36.2%となる。
普図高確率状態中に開始した特図2変動表示ゲームの大当りの種類である図柄B-Fでは、各々、大当り後の時短回数は5回、4回、3回、2回、1回である。また、図柄B-Fでは、各々、規定残保留数は、5個、6個、7個、8個、9個である。従って、大当り状態終了後に特図2変動表示ゲームの実行によって消化可能な特図2保留の合計数は、図柄B-Fのいずれでも規定では10になる。図柄B-Fでは、1/8の小当り確率に対して、各々、継続率は同じであり、{1-(1-1/8)10}×100%=73.7%であり、確定モード移行率は、各々、25.0%、32.3%、40.7%、50.3%、61.2%となる。
普図低確率状態中に開始した特図2変動表示ゲームの大当り(残保留の大当り)の種類である図柄Gでは、大当り後の時短回数は99回である。また、図柄Gでは、規定残保留数は4個である。従って、大当り状態終了後に特図2変動表示ゲームの実行によって消化可能な特図2保留の合計数は103になる。図柄Gでは、1/8の小当り確率に対して、各々、継続率は略100%であり、確定モード移行率は略0%となる。従って、図柄Gでは、残保留での大当り終了後には、時短モード#2に移行して確実に再度大当りとなりその後に特定遊技状態(時短状態)が継続する。一方、図柄Gでは確定モード移行率は略0%であり、特定遊技状態の時短モード#2から大当りを経て時短モード#1に遷移する流れがほとんどである。
なお、継続率は、大当り状態終了後の特図2変動表示ゲーム(図柄Aでは5回内、図柄B-Fでは10回内、図柄Gでは103回内)によって特定遊技状態が継続する確率であり、通常遊技状態(通常モード)を経ずに特定遊技状態へ再度突入する確率である。確定モード移行率は、大当り状態終了後に残保留に基づく特図2変動表示ゲームによって残保留消化モードから時短モード#2(確定モード、次回継続確定モード)に移行する確率である。
継続率は、大当り状態終了後に消化される特図2保留の合計数(即ち、大当り状態終了後の特図2変動表示ゲームの実行回数)に依存し、合計数が10である図柄B-Fの場合の継続率は、合計数が5である図柄Aの場合の継続率よりも大きい。また、図柄B-Fの順に、時短回数が減少して規定残保留数が増加するのに伴って、確定モード移行率が上昇する。
以上のように、図柄B-Fにおいて、時短回数は、大当りの種類(特別結果の種類)である図柄に応じて設定されるため、大当り終了後の特定遊技状態が、抽選(振り分け)で設定されランダムに変化するような可変な時短回数(1~5)を有して、遊技の興趣が向上する。さらに、特定遊技状態の終了後に特図2変動表示ゲームが実行される実行回数である残保留数(5~9)を時短回数に応じて変化させている。従って、残保留数も抽選で設定されるランダム且つ可変なものとなり、遊技の興趣が向上する。特に、特定遊技状態での大当りと残保留での大当りとに遊技価値の差を設ける場合には、抽選で設定される残保留数で遊技者が一喜一憂して遊技の興趣が向上することになる。
また、さらに、特定遊技状態での主変動表示ゲーム(特図2変動表示ゲーム)の当り図柄B-Fに関して、時短回数と残保留数が可変でも、時短回数と残保留数との合計を一定(10)にしているため、特定遊技状態の継続率を同じにしつつ、確定モード移行率を可変にできる。前述のように、時短回数と残保留数との合計の数の特図2変動表示ゲームが実行される間、即ち、特定遊技状態(時短モード)と移行状態(残保留消化モード)において同じ演出モードを実行すると、遊技者は時短中なのか残保留消化中なのか見分けにくくなり、残保留での大当りで大きな遊技価値(99回の時短回数)が得られると驚くことになり、遊技の興趣が向上する。
〔普図変動表示ゲームと普電動作の特徴等〕
図73は、普図変動表示ゲームと普電動作の特徴等ついて示す図である。
図73(A)のように、普図変動表示ゲームの当り図柄(当り停止図柄、普図当り図柄)は1種類のみであり、常に同じ普電開放パターンとなり、普図変動表示ゲームの当り状態において、普通変動入賞装置37(普電)は常に同じタイミングで開放される。
普図当り確率は、低確率状態で0/251(0%)、高確率状態で251/251(100%)である。普図変動表示ゲームは高確率状態では必ず当り、低確率状態では必ずはずれるため、ランダム性が排除される。なお、これに限られず、普図当り確率は、低確率状態(通常遊技状態等)において0%より大きい値(例えば、2/251(0.8%))でもよい。
普図変動表示ゲームの始動記憶数(普図保留数)は実質的に0であり、普図変動表示ゲームの当り状態中(普電動作中)と変動中において、普図始動ゲート34を遊技球が通過しても普図変動表示ゲームの普図始動記憶は記憶されない。普図変動表示ゲームは停止図柄の停止表示中においてのみ開始でき、停止表示中に遊技球が普図始動ゲート34を通過すると普図始動記憶が発生するがすぐに消化されて普図変動表示ゲームが開始する。このように普図変動表示ゲームの始動記憶が実質的に貯まらないため、テンポよく普図変動表示ゲームが実行される。従って、特定遊技状態において、普図変動表示ゲーム又は普電動作と特図変動表示ゲームとがズレなしで連動し易くなるとともに、攻略の防止にもつながる。
普図変動表示ゲームの変動時間である普図変動時間は200msecである。なお、普図高確率状態で200msecとし、普図低確率状態では200msecよりも長くしてもよい。普図停止時間(普図表示時間)は、48msecである。特定遊技状態(時短状態、普図高確率状態)において、普図変動表示ゲーム(ひいては普電動作)と特図変動表示ゲームとをズレなしで連動させるために、普図変動時間と普図停止時間は極力短い時間であることが好ましい。遊技球の発射速度が1分ごとに100個であると想定すると、普図始動ゲート34には600msecごとに遊技球が通過可能なため、1回の普図変動表示ゲームに要する時間、即ち普図変動時間と普図停止時間の合計は、600msecより小さいことが好ましい。
また、普電の最大カウント数(カウント数上限値)は10である。
図73(B)は、普図始動ゲート34と普通変動入賞装置37(普電)とその周囲の構成を示す図である。遊技機10は、普電の開放(普電開放)に合わせて右打ちしたほぼ全ての遊技球が普図始動ゲート34を通過して普電に入賞するための以下の構成を有する。
まず、普電開放に合わせた右打ち時に普通変動入賞装置37への入賞率(遊技球1個が入賞する割合)を一定にするために、遊技球の動きにムラが生じ難い構成として、普図始動ゲート34と普通変動入賞装置37の周囲の遊技領域32から障害釘32aや構造物が極力排除される。例えば、遊技領域32において普図始動ゲート34と普通変動入賞装置37の間や左右に障害釘32aや構造物が配置されない。普図始動ゲート34の略真上に配置される障害釘32aは、2列で遊技球の通路を形成し、そこから遊技球が外に漏れ難いようにしている。2列の障害釘32aが形成する当該通路は、構造物によって形成される上側の通路32cとなだらかに繋がっている。
また、普図始動ゲート34と普通変動入賞装置37は、普図始動ゲート34を通過した遊技球がそのまま普通変動入賞装置37に入るような位置関係で配置される。即ち、普通変動入賞装置37は、普図始動ゲート34の直下に配置される。例えば、普図始動ゲート34を通過した遊技球が普通変動入賞装置37に到達するまでに、普通変動入賞装置37が開放されるようにする場合には、普図始動ゲート34と普通変動入賞装置37の間の距離L(上下方向の中心間の距離)は、遊技球の平均落下速度と1回の普図変動表示ゲームに要する時間とを乗算したものより大きくしてもよい。しかし、距離Lは、普図始動ゲート34を通過した遊技球の落下方向が垂直からずれてもそのまま普通変動入賞装置37に入るような近い距離とする。
さらに、普通変動入賞装置37への入賞数にムラが生じ難いように、前述の通り、普通変動入賞装置37は可動部材37bが前方へ倒れるように回動可能ないわゆるベロ型であることが好ましい。
図73(C)は、本実施形態の普通変動入賞装置37(普電)の開放パターン(普電開放パターン)を示す。普電開放パターンは、一回の普図当りによる普電の動作態様を示す。大当り状態終了後の普電開放パターンは、大当りの図柄A-G(即ち大当りの種類)によらず同じである。なお、四角の枠に囲まれた数字は、普図当り中制御ポインタ(図51等)の値である。
本実施形態では、一回の普図当りによる普電開放パターンにおいて、普電は2回開放される。なお、普電は2回以上の複数回開放されてもよい。普電開放は、普電の閉状態である長時間のインターバルを挟んで前半開放と後半開放に分けられる。インターバルの時間である普電インターバル時間(ウェイト時間)は60000msecであり、前半開放と後半開放の普電開放時間は、両方とも、3000msecである。
例えば、遊技球の発射速度が1分ごとに100個であるとすると、600msecごとに遊技球が普電に到達するため、3000msecの前半開放の間に5回普電に入賞可能であり、60000msecのインターバルの後、3000msecの後半開放の間に5回普電に入賞可能である。前半開放の間に貯めた特図2保留は、60000msecの普電の閉状態であるインターバルの間に消化して特図2保留数を0にすることができ、その後の後半開放の間に最大限(ここでは4個)の特図2保留が貯められる。
普電のインターバル中(閉状態中)に、大当り状態終了後の特図2変動表示ゲームの実行回数が時短回数に到達すると特定遊技状態(時短状態、普図高確率状態、サポ有り状態)が終了して普図低確率状態(移行状態)となる。そして、前半開放の間に貯めたが時短状態終了後に消化される特図2保留は残保留となり、加えて、3000msecの後半開放の間に普電への入賞によって貯まる特図2保留も残保留となる。このように、普図低確率状態になっても、後半開放によって残保留を多く貯めることができる。
以上のように、普図変動表示ゲームの1回の普図当り(特定結果)が導出されることによって、普通変動入賞装置37を開状態に複数回変換可能であり、普図変動表示ゲームが普図当りとなる確率が高確率である高確率状態と低確率である低確率状態の両方で、普通変動入賞装置37を開状態に変換可能である。従って、普図当りとなる確率が低確率であっても、普通変動入賞装置37を開状態に変換でき特図2保留を貯めることができるため、遊技者を喜ばすことができ遊技の興趣が向上する。
さらに、普電の前半開放で特図2保留を貯めインターバルで消化することができるとともに、普電の後半開放で特図2保留を再度貯め普電動作終了後に消化することができる。このため、残保留を特図2保留数の上限値である4よりも多くすることができるとともに、時短回数を可変にすることによって残保留数も可変にすることができる。
〔タイミングチャート〕
図74-図76は、大当りの後に関して、遊技状態、普図確率(普図当り確率)、普図状態、普電状態、特図2保留数、特図変動表示ゲーム(特図変動)などを示すタイミングチャートである。なお、タイミングチャートにおいて右側にいくほど時間が経過する。図74は、図柄Aの大当りの後に関し、図75は、図柄Bの大当りの後に関し、図76は、図柄Fの大当りの後に関するものである。
図柄B-Fの大当りの後の様子については、時短回数と規定残保留数が異なることによって普図高確率状態(特定遊技状態)から普図低確率状態に変化するタイミングが異なるだけであるため、図柄Bと図柄Fについてのみを例示している。遊技状態と普図確率の2つ以外の様子は、図柄B-Fの全てに関して共通する。
また、図74-図76は、普図始動ゲート34(普図ゲート)の遊技球の通過(ゲートスイッチ34aの検出)と、普通変動入賞装置37(普電)への遊技球の入賞(始動口2スイッチ37aの検出)もパルスで示す。図74-図76において、普図ゲートの遊技球の通過、普図状態、普電状態、普電入賞(普電への入賞)の様子や変化については同じであり、適宜説明が省略される。
図74-図76において、大当り状態の一部として大当りラウンド中(大当り中)と大当りエンディングが示されている。エンディング演出が実行される大当りエンディングにおいて、遊技者は、右打ち指示表示に促されるなどして右打ちをすると、普図始動ゲート34(普図ゲート)を遊技球が通過し(図74の最初のパルスで示す)、普図(普通図柄)が普図表示器53で変動して普図変動表示ゲームが実行されて、その後停止する。ここで、普図の変動開始時に普図低確率状態であるため、はずれ停止する。
ここでは普図がはずれ停止する際に大当りエンディングが終了して、普図確率の高確率状態になり、図71Aの特定遊技状態(時短モード#1)に対応して、サポ有りの右打ち状態になる。サポ有りの右打ち状態(普図高確率状態)の最初に、普図始動ゲート34を遊技球が通過して、普図の変動が開始する。そして、普図確率100%の高確率状態であるため、普図当りとなり普電動作が開始し、前半開放として普電は開放される。普電が開放された開状態において、普図始動ゲート34を通過した遊技球はそのまま普電に入賞する(パルスで示される)。特図2保留が1個発生するとすぐに特図2保留は消化され、特図2変動表示ゲームが開始されて特図2保留数は0になる。
前述のように、遊技制御装置100は、特図2変動表示ゲームの変動時間(実行時間)と停止表示時間を、大当り状態終了からの特図2変動回数(特図2変動表示ゲームの実行回数)に基づいて制御している(図32の変動開始情報設定処理と図33の特図変動中処理)。なお、遊技制御装置100は、特図2変動表示ゲームの変動時間と停止表示時間を、図柄Aの大当り終了後、図柄B-Fの大当り終了後、図柄Gの大当り終了後の3種類で異なるように設定する。
図74の図柄Aの大当りの後においては、1回目の特図2変動表示ゲームが少なくとも普電動作の終了、即ち、後半開放の終了まで継続するように変動時間が十分長く設定されている。1回目の特図2変動表示ゲームの変動時間は、図74では普電動作時間(66000msec、66秒)と略同一であるが、普電動作時間にマージン(数秒~十数秒)を加えたものでもよい。このように、2回の開状態を含む普電動作に対応して(合わせて)、1回目の特図2変動表示ゲームが実行中となり、この特図2変動表示ゲームの実行中に特図2保留が上限値である4個貯められる。
図柄Aの大当りの後の時短回数は1回であるため、1回目の特図2変動表示ゲームが終了すると、特定遊技状態(時短モード)が終了し普図低確率状態になり、移行状態(残保留消化モード)に遷移する。移行状態(残保留消化モード)では、残保留として4個貯めた特図2保留に基づく特図2変動表示ゲームが1回目よりもかなり短い変動時間で4回実行される(2~5回目の特図2変動表示ゲーム)。この2~5回目の特図2変動表示ゲームは、いずれも同じ固定の変動時間を有してよい。
図75の図柄Bの大当りの後においては、1回目の特図2変動表示ゲームが少なくとも普電の前半開放の終了前に開始し終了以降まで継続する。また、1回目の特図2変動表示ゲームの変動時間は、図75では普電開放時間(3000msec、3秒)と略同一であるが、普電開放時間よりも長くてよい。普電の前半開放に対応して(合わせて)、1回目の特図2変動表示ゲームが実行中となり、この特図2変動表示ゲームの実行中に特図2保留が上限値である4個貯められる。4個貯めた特図2保留が普電の閉状態であるインターバル中に全て消化され、インターバル中に、特図2変動表示ゲームが1回目よりもかなり短い変動時間で4回実行される(2~5回目の特図2変動表示ゲーム)。この2~5回目の特図2変動表示ゲームは、いずれも同じ固定の変動時間を有してよい。
図柄Bの大当りの後の時短回数は5回であるため、5回目の特図2変動表示ゲームが終了すると、特定遊技状態(時短モード)が終了し普図低確率状態になり、移行状態(残保留消化モード)に遷移する。移行状態(残保留消化モード)では、後半開放として普電は開放される。開状態の普電への入賞によって特図2保留が残保留として1個発生するとすぐに特図2保留は消化され、6回目の特図2変動表示ゲームが開始されて特図2保留数は0になる。
普電の後半開放に対応して(合わせて)、6回目の特図2変動表示ゲームが実行中となり、この特図2変動表示ゲームの実行中に特図2保留が上限値である4個貯められる。6回目の特図2変動表示ゲームは少なくとも普電の後半開放の終了前に開始し終了以降まで継続する。6回目の特図2変動表示ゲームの変動時間は、図75では普電開放時間(3000msec、3秒)と略同一であるが、普電開放時間よりも長くてよい。
6回目の特図2変動表示ゲームの後、残保留として4個貯めた特図2保留に基づく特図2変動表示ゲームが1回目と6回目よりもかなり短い変動時間で4回実行される(7~10回目の特図2変動表示ゲーム)。このように、6~10回目の特図2変動表示ゲームに対応する5個の規定残保留数が実現できる。
7~10回目の特図2変動表示ゲームは、いずれも同じ固定の短い変動時間を有してよく、2~5回目の特図2変動表示ゲームの変動時間(特に時短状態中の変動時間)と同じかより短い固定の変動時間でよい。これにより、テンポよく同じリズムで特図2変動表示ゲームが実行できるとともに、早く残保留を消化できる。なお、7~10回目の特図2変動表示ゲームは、特図2保留を消化するだけで貯めることと関係がないため、変動パターンの振り分け(抽選)によって選択されるような可変の変動時間にすると、遊技が単調でなくなる。また、7~10回目の特図2変動表示ゲームの変動時間を、2~5回目の特図2変動表示ゲームの変動時間(特に時短状態中の変動時間)よりも長くして、ゆっくりと対応する演出を行うこともできる。
また、普電の後半開放が終了すると、普図当り状態は終了して、普図始動ゲート34(普図ゲート)の遊技球の通過によって普図変動表示ゲームが実行できるが、普図当り確率0%の普図低確率状態であるため、普図変動表示ゲームに当り結果は生じない。なお、普図当り状態の終了後の停止は、普電残存球処理時間と普図エンディング時間に相当する。
図76の図柄Fの大当りの後においては、普図ゲートの遊技球の通過、普図状態、普電状態、普電入賞、特図2保留数、特図変動表示ゲーム(特図変動)の様子や変化については、図75の図柄Bの大当りの後と同じである。しかし、時短回数と規定残保留数が図柄Bと図柄Fで異なることによって特定遊技状態(普図高確率状態)から移行状態(普図低確率状態、残保留消化モード)に変化するタイミングが異なる。
図柄Fの大当りの後において、1回目の特図2変動表示ゲームが終了すると、特定遊技状態(時短モード)が終了し普図低確率状態になり、移行状態(残保留消化モード)に遷移する。その後、図柄Bの大当りの後と同様に、9回の特図2変動表示ゲームが実行され、9個の規定残保留数が実現できる。
図75と図76のように、遊技制御装置100は、普電の開状態に対応して特図2変動表示ゲームを長時間実行し、普電の閉状態(インターバル)に対応して特図2変動表示ゲームを短時間で実行可能である。従って、普電の前半開放で特図2保留を貯めインターバルで消化することができるとともに、普電の後半開放で特図2保留を再度貯め普電動作終了後に消化することができる。このため、残保留を特図2保留数の上限値である4個よりも多くすることができるとともに、時短回数を可変にすることによって残保留数も可変にすることができる。
なお、図柄Gの大当りの後について図示しないが、例えば、普電動作を繰り返しながら特図2変動表示ゲームが、図74-図76の2~5回目、7~10回目のような短い固定の変動時間で時短回数(99回)と残保留分(4個)だけ実行されてよい。なお、図柄Gの大当りの後の特図2変動表示ゲームの変動時間は、固定であるとテンポよく特図2変動表示ゲームが実行でき、固定はなく可変の変動時間とすると遊技が単調でなくなる。
以上、第1実施形態について説明したが、特定遊技状態は、時短状態だけでなく確変状態(潜伏確変状態を除く)でもよい。また、1種2種混合機(1+2種機)だけでなく、単に、特定遊技状態(時短状態又は確変状態)を有する1種の遊技機(いわゆるデジパチ)に第1実施形態を適用してもよい。確変状態を有する1種の遊技機では、特に、確変状態終了後の特図低確率でも大当り確率が高い機種(いわゆる甘デジ、ちょいパチ)について、残保留数に大当りが期待できるため、第1実施形態を適用すると効果が大きい。
[第1実施形態の作用・効果]
第1実施形態に係る遊技機10は、ゲーム(特図変動表示ゲーム)を実行可能な遊技制御手段(例えば遊技制御装置100)を備える。遊技機10は、特定遊技状態(例えば時短状態又は確変状態)において開状態と閉状態とに変換可能な変動入賞装置(普通変動入賞装置37、普電)を備える。遊技制御手段(例えば遊技制御装置100)は、変動入賞装置への入賞によって発生する始動記憶(例えば特図2保留)に基づいてゲーム(例えば特図2変動表示ゲーム)を実行可能である。特定遊技状態においてゲームが特別結果(例えば、小当り又は大当り、小当り中のV入賞による大当りも含む)となる場合に遊技者に付与する遊技価値(例えば時短回数又は確変回数)は、特定遊技状態の終了後においてゲームが特別結果となる場合に遊技者に付与する遊技価値と異なる。
このような遊技機10では、特定遊技状態中と特定遊技状態の終了後において、ゲームの特別結果で付与する遊技価値に差があるため、特定遊技状態中に発生して特定遊技状態の終了後にゲームが実行される始動記憶の数に関して遊技者が一喜一憂して、遊技の興趣が向上することになる。
第1実施形態に係る遊技機10は、ゲーム(普図変動表示ゲーム)を実行可能な遊技制御手段(例えば遊技制御装置100)を備える。遊技機10は、ゲーム(普図変動表示ゲーム)の結果が特定結果(普図当り)となる場合に開状態と閉状態とに変換可能な変動入賞装置(普通変動入賞装置37、普電)を備える。遊技制御手段は、1回の特定結果(普図当り)が導出されることによって、変動入賞装置を開状態に複数回変換可能であり、ゲームが特定結果(普図当り)となる確率が高確率である高確率状態と低確率である低確率状態の両方で、変動入賞装置を開状態に変換可能である。
このような遊技機10では、ゲームが特定結果(普図当り)となる確率が低確率であっても、変動入賞装置(普通変動入賞装置37、普電)を開状態に変換でき、変動入賞装置への入賞によって発生する始動記憶(例えば特図2保留)を貯めることができるため、遊技者を喜ばすことができ、遊技の興趣が向上する。
第1実施形態に係る遊技機10は、ゲームを実行可能な遊技制御手段(例えば遊技制御装置100)と、ゲームに関連する演出を実行可能な演出制御手段(例えば演出制御装置300)と、を備える。遊技機10は、特定遊技状態(例えば時短状態又は確変状態)において開状態と閉状態とに変換可能な変動入賞装置(普通変動入賞装置37、普電)を備える。遊技制御手段は、特定遊技状態の終了後においても、変動入賞装置が開状態に変換される所定状態(例えば普図低確率の右打ち状態)を発生可能であり、演出制御手段は、所定状態での演出態様を、所定状態以外での演出態様とは異ならせる。
このような遊技機10では、特定遊技状態の終了後において、特定遊技状態と同様に変動入賞装置が開状態に変換される所定状態を、演出上の見た目で特定遊技状態と区別できる。また、所定状態に特有の演出態様とすることによって、遊技の興趣を向上できる。
第1実施形態において、遊技制御手段は、変動入賞装置の開状態に対応してゲーム(特図変動表示ゲーム)を実行可能である。従って、変動入賞装置の開状態で、ゲーム(特図変動表示ゲーム)の実行権利となる始動記憶(例えば特図2保留)を消化することなく、変動入賞装置への入賞によって当該始動記憶を貯めることができる。
第1実施形態において、遊技制御手段は、変動入賞装置の開状態に対応してゲーム(特図変動表示ゲーム)を長時間で実行し、変動入賞装置の閉状態に対応してゲームを短時間で実行可能である。従って、特定遊技状態中に変動入賞装置の開状態(例えば前半開放)で始動記憶(例えば特図2保留)を多く貯め、その後の閉状態(例えばインターバル)で始動記憶(例えば特図2保留)を多く消化し、特定遊技状態終了後に再度の開状態(例えば後半開放)で始動記憶(例えば特図2保留)を多く貯められる。このため、特定遊技状態終了後に消化される始動記憶の数(残保留数)を、始動記憶数の上限値(例えば4個)よりも多くすることができる。さらに、残保留数を可変にすることができる。
第1実施形態において、遊技制御手段は、変動入賞装置の開状態の時間よりも長い時間、変動入賞装置の開状態に対応してゲーム(特図変動表示ゲーム)を実行する。従って、変動入賞装置の開状態とゲーム(特図変動表示ゲーム)の実行期間(変動時間、変動期間)がズレても、ズレを吸収でき、実際の残保留数が規定の残保留数に過不足なく一致する。
第1実施形態において、遊技制御手段は、変動入賞装置の閉状態の期間において、ゲーム(特図変動表示ゲーム)を所定回数(例えば4回)以上実行可能である。従って、変動入賞装置の開状態とゲーム(特図変動表示ゲーム)の実行期間(変動時間、変動期間)がズレても、ズレを吸収でき、実際の残保留数が規定の残保留数に過不足なく一致する。
第1実施形態において、遊技制御手段は、ゲーム(特図変動表示ゲーム)が所定回数(例えば時短回数又は確変回数)実行された場合に特定遊技状態が終了するように制御する。そして、特定遊技状態の終了後に、変動入賞装置への入賞によって発生する始動記憶に基づくゲームが実行される実行回数(規定の残保留数5~9)を、所定回数(例えば時短回数又は確変回数)に応じて変化させる。従って、所定回数を抽選で選択すれば、残保留数も抽選で設定されるランダム且つ可変なものとなり、残保留数で遊技者が一喜一憂して遊技の興趣が向上することになる。
第1実施形態において、遊技制御手段は、ゲーム(特図変動表示ゲーム)が特別結果(小当り又は大当り)となる場合に遊技者に付与する遊技価値として所定回数(例えば時短回数又は確変回数)を設定可能であり、所定回数を特別結果の種類(図柄)に応じて設定する。従って、特別結果に基づく特別遊技状態の終了後の特定遊技状態の所定回数が抽選(振り分け)で設定され可変(例えば1~5)となりランダムに変化するようになり、遊技の興趣が向上する。
第1実施形態において、遊技制御手段は、特定遊技状態の終了後にゲーム(特図変動表示ゲーム)が実行される実行回数(規定残保留数)と、所定回数(例えば時短回数又は確変回数)との合計を一定(例えば10)とする。従って、特定遊技状態の継続率を同じにしつつ、残保留数を可変にできる。特定遊技状態中と特定遊技状態の終了後にこの一定の数の特図2変動表示ゲームが実行される間、同じ演出モードを実行すると、遊技者は特定遊技状態中なのか特定遊技状態の終了後なのか見分けにくくなり、特定遊技状態の終了後の残保留の大当りで大きな遊技価値が得られると驚くことになり、遊技の興趣が向上する。
第1実施形態において、ゲームは、第1のゲーム(特図1変動表示ゲーム)と第2のゲーム(特図2変動表示ゲーム)を含む。遊技制御手段は、所定の入賞領域(例えば始動入賞口36)への遊技球の入賞によって発生する始動記憶に基づいて第1のゲームを実行可能であり、変動入賞装置への遊技球の入賞によって発生する始動記憶に基づいて第2のゲームを実行可能である。第2のゲーム(特図2変動表示ゲーム)を第1のゲーム(特図1変動表示ゲーム)よりも優先して実行可能であるとともに、特定遊技状態において第1のゲームが実行される場合には、第2のゲームよりも短い時間で実行される。
従って、特定遊技状態において第1のゲーム(特図1変動表示ゲーム)が実行される回数が少なくなるとともに、特定遊技状態において第1のゲーム(特図1変動表示ゲーム)が実行されても、第2のゲーム(特図2変動表示ゲーム)の開始が大きく遅れない。
第1実施形態において、ゲームは、第1ゲーム(普図変動表示ゲーム)と第2ゲーム(特図変動表示ゲーム)を含む。遊技制御手段は、所定の領域(普図始動ゲート34)での遊技球の通過に基づいて第1ゲームを実行可能であり、変動入賞装置(普通変動入賞装置37、普電)への入賞によって発生する始動記憶に基づいて第2ゲーム(特図変動表示ゲーム)を実行可能である。特定遊技状態において、第1ゲームの実行中、及び、第1ゲームの特定結果によって発生する当り状態中に、所定の領域(普図始動ゲート34)で遊技球の通過があっても、第1ゲームの実行権利となる始動記憶(普図記憶)を発生させない。
従って、第1ゲーム(普図変動表示ゲーム)は停止表示中においてのみ開始でき、停止表示中に遊技球が所定の領域(普図始動ゲート34)を通過するとすぐに普図変動表示ゲームが開始する。このように第1ゲーム(普図変動表示ゲーム)の始動記憶(普図記憶)が実質的に貯まらないため、テンポよく第1ゲーム(普図変動表示ゲーム)が実行される。このため、特定遊技状態において、第1ゲーム(普図変動表示ゲーム)の当りによる変動入賞装置の動作と第2ゲーム(特図変動表示ゲーム)とがズレなしで連動し易くなる。
第1実施形態において、遊技制御手段は、特定遊技状態において変動入賞装置(普通変動入賞装置37、普電)の開状態が規定回数(例えば2回)終了した場合に、特定遊技状態を終了させる。従って、止め打ちによって変動入賞装置への入賞数を所定回数(例えば時短回数又は確変回数)未満として特定遊技状態を延長するような事態を防止できる。さらに、延長された特定遊技状態での第1ゲーム(普図変動表示ゲーム)の当りに起因して変動入賞装置の開状態を余分に増やすことを防止できる。
第1実施形態において、遊技制御手段は、特別遊技状態の終了からのゲーム(特図変動表示ゲーム)の実行回数に基づいてゲームの実行時間(変動時間)を制御する。従って、変動入賞装置の開状態に対応してゲーム(特図変動表示ゲーム)を実行可能となり、変動入賞装置の開状態で、ゲーム(特図変動表示ゲーム)の実行権利となる始動記憶(例えば特図2保留)を貯めることができる。
第1実施形態に係る遊技機10は、ゲーム(変動表示ゲーム)の進行を制御する遊技制御手段(遊技制御装置100)を備える。遊技制御手段は、所定期間(例えば電源投入から現在までの期間)に払い出された遊技媒体(遊技球)の数又は所定期間に払い出されることが決定された遊技媒体の数である払出数(例えば所定期間の合計の賞球数、セーフ球数)を計数可能な第1計数手段(例えば差玉確認処理)を備える。遊技制御手段は、所定期間に使用された遊技媒体の数である使用数(例えば発射球数又は排出球数)を計数可能な第2計数手段(例えば差玉確認処理)を備える。遊技制御手段は、払出数と使用数との差(例えば差玉数)に基づいて、ゲームの実行のできない遊技不可状態を発生可能な遊技停止手段(例えば安全装置)を備える。遊技制御手段は、所定の条件下(例えば特図低確率の状態)でのゲームの実行回数が所定回数(例えば天井回数)になる場合に、特定遊技状態(例えば特定遊技状態B、b時短)を発生可能である。遊技制御手段は、電源投入時に、払出数と使用数との差(例えば差玉数)に関する情報(例えば安全装置カウンタ値)を初期化し、ゲームの実行回数に関する情報(例えば天井カウンタ値)を初期化しない。
このような遊技機10では、特定遊技状態の発生までの(所定回数までの)残りのゲーム回数は電源投入によって変わらない一方で、払出数と使用数との差に関して遊技不可状態の発生までの余地(許容範囲、限度)は電源投入時の初期化によって大きくすることができる(最大限にできる)。従って、遊技者は電源投入によって不利益を被らない。
第1実施形態において、遊技を実行可能な遊技機10は、遊技制御用の作業領域となり得る第1領域(領域内ワーク領域)と、当該第1領域とは異なる第2領域(領域外ワーク領域)と、第1領域と第2領域の間の未使用領域と、を含む記憶手段(例えばRAM111c)を備える。遊技機10は、所定条件(作動条件)の成立によって、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)を発生可能な遊技停止手段(例えば安全装置)を備える。第1領域は、所定条件の成立に基づいて遊技不可状態の発生を示すフラグ(例えば安全装置作動中フラグ)を格納可能である。フラグは、第2領域内の所定の領域(例えば安全装置作動情報領域)の情報に基づいて設定可能であり、電源投入時に初期化されない。遊技停止手段は、このフラグに基づいて遊技不可状態を発生する。
このような遊技機10では、所定条件の成立によって遊技をできなくして、不正対策を行うことができるとともに、遊技者が遊技にのめり込むことも抑制できる。また、遊技不可状態を発生するためのフラグ(例えば安全装置作動中フラグ)が電源投入時に初期化されないため、特殊な状況(例えば、設定変更を伴うRAMクリアがあった場合)以外で遊技不可状態が解除されない。従って、不正対策が適切に行え、遊技者の遊技に対するのめり込みも適切に抑制できる。
また、このような遊技機10では、記憶手段(例えばRAM111c)は、未使用領域で分けられる第1領域(領域内ワーク領域)と第2領域(領域外ワーク領域)を含む。そして、フラグ(例えば安全装置作動中フラグ)は、第1領域(領域内ワーク領域)に記憶され、第2領域(領域外ワーク領域)内の所定の領域(例えば安全装置作動情報領域)の情報に基づいて設定可能である。このため、フラグの初期化を、フラグを設定するための情報(所定の領域の情報)の初期化から区別して行うことが容易になる。さらに、フラグを設定するためのプログラム(領域外プログラム)と遊技制御用プログラム(領域内プログラム)を分離し易くなり、プログラムの開発効率を向上できる。
第1実施形態において、遊技に関連する演出を制御可能な演出制御手段(演出制御装置300)を備える遊技機10は、所定期間(例えば電源投入から現在までの期間)に払い出された遊技媒体(遊技球)の数又は所定期間に払い出されることが決定された遊技媒体の数である払出数(例えば所定期間の合計の賞球数、セーフ球数)を計数可能な第1計数手段(例えば遊技制御装置100の差玉確認処理)を備える。遊技機10は、所定期間に使用された遊技媒体の数である使用数(例えば発射球数又は排出球数)を計数可能な第2計数手段(例えば遊技制御装置100の差玉確認処理やアウト球検出スイッチ74)を備える。遊技機10は、払出数と使用数に基づいて、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)を発生可能な遊技停止手段(例えば安全装置)を備える。演出制御手段(演出制御装置300)は、払出数と使用数との差に対応する値(例えば差玉数や安全装置カウンタ値)が所定の範囲(例えば作動予告状態と作動警告状態と作動状態の全てに対応する範囲など)である場合に、当該値を表示手段(例えば表示装置41)に表示可能である。
従って、所定の範囲の場合だけ払出数と使用数との差に対応する値が表示され、この値が重要なときのみ表示されて遊技者の注目を引くことができるし、この値が重要でないときは当該値を非表示にして表示手段を見やすくできる。また、払出数(セーフ球数等)と使用数に基づいて、遊技の実行のできない遊技不可状態を発生可能であるため、例えば払出数と使用数との差に対応する値(例えば差玉数や安全装置カウンタ値)が大きい場合などに、効果的に不正対策を行うことができ、また、効果的に遊技者の遊技に対するのめり込みも抑制できる。
[第2実施形態]
図77から図80を参照して、第2実施形態について説明する。なお、以下で述べる以外の構成は、第1実施形態と同様でよい。また、以下の実施形態では、第1実施形態と同じ機能を果たす構成には同一の符号を用い、重複する記載を適宜省略して説明する。第2実施形態は、普電サポートのある特定遊技状態の終了後の特図変動表示ゲームに関するものである。
〔遊技状態遷移図(ゲームフロー)の例〕
図77は、第2実施形態における遊技状態の遷移を例示する遊技状態遷移図(ゲームフロー)である。図77は、図71Aと同様であるが、天井回数到達による天井時短と時短図柄(サポ当り)による突然時短の場合の特定遊技状態(図71Aと図71Bで省略されていた)が追加されている点などで図71Aと異なる。
特定遊技状態には、大当りに起因して大当り直後の時短(a時短)として発生する時短状態である特定遊技状態A、大当りに起因せずに天井時短(b時短)として発生する時短状態である特定遊技状態B、大当りに起因せずに突然時短(c時短)として発生する時短状態である特定遊技状態Cが含まれる。なお、本実施形態において、特定遊技状態は時短状態であるが、特定遊技状態を大当り確率が高確率状態である確変状態(普電サポート有り/特図高確率)とする構成も可能である。
特定遊技状態A-Cにおいて、大当り確率は低確率状態であるが、普電サポートがある。特定遊技状態A-Cにおいて、普通変動入賞装置37(普電)が開放され易くなるため、遊技球の発射態様として普通変動入賞装置37を狙う右打ちが推奨される。そのため、特定遊技状態において、主始動領域は普通変動入賞装置37となり従始動領域は第1始動入賞口36となることから、主変動表示ゲームは特図2変動表示ゲームとなり、従変動表示ゲームは特図1変動表示ゲームとなる。
特定遊技状態Aの演出モードとして、図71Aと同じく時短モード#1、#2がある。本実施形態では、時短モード#1に関する時短回数は、簡単のため固定値(ここでは3回)とするが、第1実施形態(図72)と同じく可変値でもよい。特定遊技状態Bの演出モードは時短モード#3であり、特定遊技状態Cの演出モードは時短モード#4であり、演出モードは異なり、遊技者は天井時短(b時短)による時短状態と突然時短(c時短)による時短状態とを演出によって区別できる。なお、特定遊技状態Bと特定遊技状態Cで演出モードを同じにして、演出の共通化を図り開発コストを削減することもできる。
また、時短モード#3、#4は、時短モード#1、#2とは異なる演出モードとなり、演出モードは異なり、大当りに起因する時短状態(特定遊技状態A)と大当りに起因しない時短状態(特定遊技状態B、C)とを演出によって区別できる。なお、特定遊技状態Aと特定遊技状態B、Cで演出モードを同じにして、演出の共通化を図り開発コストを削減することもできる。
また、特定遊技状態A中において、天井時短又は突然時短による時短状態を発生可能とする場合には、時短モード#1、#2を時短モード#3、#4に変更せずに、時短モード#1、#2を継続する構成としてもよく、この場合に遊技者に特定遊技状態Aが延長された印象(時短回数が増えた印象)を与えることもできる。もちろん、特定遊技状態A中において、天井時短又は突然時短による時短状態を発生可能とする場合に、時短モード#1、#2を時短モード#3、#4に変更して、天井時短又は突然時短が発生したことを遊技者に報知してもよい。
通常遊技状態、移行状態(残保留を消化する通常遊技状態)の内容は、第1実施形態(図71A)と同じである。移行状態の演出モードは、普電開放終了前モードと普電開放終了後モードを分けずに一つの残保留消化モードとして説明するが、分けてもよい。
次に、各遊技状態からの遷移(移行)、特に、特定遊技状態B、Cへの遷移と特定遊技状態B、Cからの遷移について説明する。
通常遊技状態、移行状態、特定遊技状態Aにおいて、大当り状態終了後に実行される特図変動表示ゲームの回数(確変状態での回数を除く)が天井回数に到達した場合に、天井時短(b時短)となり特定遊技状態B(時短モード#3)に遷移する。また、通常遊技状態、移行状態、特定遊技状態Aにおいて、特図変動表示ゲームの結果がサポ当り結果(時短結果、時短図柄)の場合に、突然時短(c時短)となり特定遊技状態C(時短モード#4)に遷移する。
なお、特定遊技状態A中に天井回数に到達した場合やサポ当り結果が発生した場合に、天井時短又は突然時短によって時短状態を継続して(重ねて)発生させてもよいし、継続して発生させなくてもよい。基本的には、特定遊技状態Aの残りの時短回数によらず、特定遊技状態B、Cへ遷移する条件(天井回数到達やサポ当り結果発生)が成立したら、特定遊技状態B、Cに遷移するが、残りの時短回数に応じて遷移するかしないかを変えてもよい。例えば、特定遊技状態Bの時短回数(b時短回数m3)が、特定遊技状態Aでの残りの時短回数(未消化の時短回数)よりも大きい場合には、特定遊技状態Aから特定遊技状態Bに遷移する。特定遊技状態Cの時短回数(c時短回数m4)が、特定遊技状態Aでの残りの時短回数よりも大きい場合には、特定遊技状態Aから特定遊技状態Cに遷移する。特定遊技状態B、Cの時短回数(m3、m4)が特定遊技状態Aでの残りの時短回数以下の場合には、時短図柄は表示されても、特定遊技状態B、Cは発生せず特定遊技状態Aから特定遊技状態B、Cに遷移しない。なお、時短図柄は、天井時短の場合に表示されなくてもよい。
なお、基本的には特定遊技状態B、Cの時短回数が終了すると残保留消化モードに移行するが、特定遊技状態Aの時短回数が残っている場合には特定遊技状態Aに戻るようにしてもよい。即ち、特定遊技状態B、Cの時短回数が終了しても特定遊技状態Aの時短回数が残っている場合には、特定遊技状態Aに継続する特定遊技状態B、Cから特定遊技状態Aに戻り、移行状態(残保留消化モード)には移行しなくてもよい。
また、特定遊技状態A中に天井回数に到達した場合やサポ当り結果が発生した場合に、特定遊技状態B、Cの時短回数と特定遊技状態Aでの残りの時短回数の関係によらず、天井時短又は突然時短による時短状態を全く発生させない構成も可能である。この構成でも、時短図柄は表示されても、特定遊技状態Aから特定遊技状態B、Cに遷移することはない。
なお、本実施形態において、特定遊技状態A中において、サポ当り結果(時短図柄)による突然時短(c時短)による時短状態を発生させない(重ねない)ことが好適である。即ち、特定遊技状態Aでも特図2変動表示ゲームに対してサポ当り結果に当選する場合があるが、時短図柄が停止表示されても、突然時短(c時短)による時短状態を発生させないことが好適である。なお、この場合に、表示装置41やランプ表示装置80では、演出上の飾り特別図柄としてはずれ図柄を表示してもよい。また、第1実施形態の図23で説明したと同様に、本実施形態において、特図1変動表示ゲームに対してサポ当り結果を設けず、通常モード(通常遊技状態)でも、突然時短(c時短)による時短状態を発生させないことが好適である。従って、本実施形態において、好適には、残保留を消化するための移行状態(残保留消化モード)からのみ、特定遊技状態C(時短モード#4)に遷移する。このようにすれば、残保留消化モードの価値が高まり、遊技者は残保留消化モードに集中的に期待するようになり、遊技の興趣が向上する。
また、図77には示していないが、特定遊技状態B、C中に天井回数に到達した場合やサポ当り結果が発生した場合に、天井時短又は突然時短によって時短状態を継続して(重ねて)発生させてもよいし、継続して発生させなくてもよい。即ち、特定遊技状態B、Cからさらに特定遊技状態B、Cに遷移することも可能である。
特定遊技状態B、Cから遷移条件が成立すると、残保留を消化する移行状態(通常遊技状態に含めてよい)に遷移する。特定遊技状態B、Cから移行状態に遷移する遷移条件は、特定遊技状態Aから移行状態に遷移する遷移条件と同様でよい。遷移条件は、(i)特定遊技状態における特図2変動表示ゲームの実行回数が時短回数m3、m4(第1所定回数、時間短縮変動回数2の初期値)を超えること、及び、(ii)特定遊技状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の合計の実行回数が時短回数m3、m4(第1所定回数)よりも大きい第2所定回数(時間短縮変動回数1の初期値)を超えること、の何れかが成立することである。本実施形態では、必要ないため第1実施形態の(iii)の条件(所定開放回数の普電開放が終了すること)は設けられない。なお、第2所定回数は、時短回数に、特図1保留数の最大値(例えば4)を足したものでもよい。
なお、時短モード#1-#4の時短回数m1-m4や天井回数m5は、適宜大小関係を調整して、遊技性を変更することができる。
例えば、特定遊技状態Aと特定遊技状態B、Cの利益をバランスよくするため、m1(a時短回数1)<m4(c時短回数)<m2(a時短回数2)<m5(天井回数)<m3(b時短回数)の関係を満たすよう調整してよい。
また、例えば、天井時短(b時短)と突然時短(c時短)が大当りに続く時短(a時短)より有利になるように、m1(a時短回数1)<m2(a時短回数2)<m4(c時短回数)<m5(天井回数)<m3(b時短回数)の関係を満たすよう調整してよい。
また、例えば、天井時短の利益が少なくなるよう、m1(a時短回数1)<m4(c時短回数)<m3(b時短回数)<m2(a時短回数2)<m5(天井回数)の関係を満たすよう調整してよい。
〔図柄に対応する時短回数と規定残保留数〕
図78は、本実施形態において、特図変動表示ゲームの当りの種類である図柄に対応する時短回数と規定の残保留数(規定残保留数)などについて示すテーブルである。図柄は、大当り(小当り中のV入賞も含む)になる場合の図柄であり、ここでは大当り図柄乱数によって決定され、時短図柄は除かれている。
本実施形態では、特図1変動表示ゲームの大当りの図柄Aに関して、時短回数が異なるだけで、第1実施形態と同じである。普電サポート無しの状態での特図2変動表示ゲームの大当り(残保留での大当り)の図柄Gに関しては、第1実施形態と同じである。普電サポート有りの状態での特図2変動表示ゲームの大当り(小当りでのV入賞を含む)に関して、時短回数が3回に固定されるため、図柄は、図柄Sの1種類のみである。
通常遊技状態(通常モード)において、特図1変動表示ゲームによって大当り(図柄A)が発生すると、大当り状態の終了後に特定遊技状態A(時短モード#1)に移行する。特定遊技状態Aにおいて、特図2変動表示ゲームによって大当り(図柄S)が発生すると、大当り状態の終了後に再び特定遊技状態A(時短モード#1)に戻る。特定遊技状態B、Cにおいて、特図2変動表示ゲームによって大当り(図柄S)が発生すると、大当り状態の終了後に特定遊技状態A(時短モード#1)に移行する。本実施形態では、第1実施形態と異なり、特定遊技状態Aの時短モード#1で、時短回数を3回、規定残保留数を4個に固定している。
〔普図変動表示ゲームと普電動作の特徴等〕
図79は、本実施形態において、普図変動表示ゲームと普電動作の特徴等ついて示す図である。
図79(A)のように、普図変動表示ゲームの当り図柄(当り停止図柄、普図当り図柄)は1種類のみである。本実施形態では、普電サポートの有無によらず、普図当り確率は常に一定値250/251であり、第1実施形態と異なり、低確率(普図低確率)と高確率(普図高確率)の間で変化するようには制御されない。なお、第1実施形態と同様に、通常遊技状態で250/251よりも低い低確率としてもよい。
普図変動表示ゲームの始動記憶数(普図保留数)は4である。普電の最大カウント数(カウント数上限値)は10である。
普図変動表示ゲームの変動時間である普図変動時間FZ1は一定値500msecである。なお、通常遊技状態で普図変動時間FZ1を500msecよりも長い値としてもよい。普図停止時間FZ2(普図表示時間)は、600msecである。なお、図79に記載されていないが、普電残存球処理時間と普図エンディング時間の合計FZ3は、例えば、普図変動時間FZ1又は普図停止時間FZ2と同等かそれ以上の700msecでよい。
図79(B)のように、一回の普図変動表示ゲームの当りに対して、一回だけ普通変動入賞装置37(普電)は開放されて入賞容易状態になる。しかし、一回の普電開放時間は、通常遊技状態など普電サポート無しの状態で短時間(例えば48msec)であり、時短状態など普電サポート有りの状態で長時間(例えば3400msec)であり、普電開放パターン(普電開放態様)は遊技状態に応じて異なる。前述のように、遊技状態に関係なく普図当り確率は常に一定値であるため、本実施形態において、普電サポートの入賞容易状態は、普電サポート無しの場合よりも普電開放時間を長くすることによって実現される。
また、普電開放時間は、普電サポート無しの状態で、普図変動時間FZ1、普図停止時間FZ2、普電残存球処理時間と普図エンディング時間の合計FZ3よりも短時間であってよく、普電サポート有りの状態で、これら普図や普電の制御に関連する時間FZ1-FZ3よりも長時間でよい。
〔タイミングチャート〕
図80は、特定遊技状態としての時短状態から移行状態(通常遊技状態に含めてよい)にかけて、遊技状態、特図変動表示ゲーム(特図変動)、普図状態、普電状態、特図2保留数などを示すタイミングチャートである。なお、図80において、簡単のため、時短終了のタイミングと普電開放の開始タイミングを揃えているが、この限りではなくズレていてもよい。
図80(A)は、大当りに続く特定遊技状態A(第1特定遊技状態)の時短モード#1、#2が終了して移行状態(残保留消化モード)に遷移する状況を示す。図80(A)の場合、時短モード#1、#2の最終の特図変動表示ゲームである時短最終変動の終了から次の特図変動表示ゲームの開始までの停止表示時間STP1(第1期間)を、普電サポートになる長時間の普電開放時間OPN(第3期間、例えば3400msec)よりも長くする。即ち、STP1>OPNの関係に設定する。
なお、遊技制御装置100は、大当り終了後の特図2変動回数(特図2変動表示ゲームの実行回数)に対応する停止表示時間を設定できるが(A4804)、本実施形態では、さらに、時短最終変動の停止表示時間を時短モード(特定遊技状態)の種類にも対応して設定する。時短モード#1、#2(特定遊技状態A)に対応して、時短最終変動の停止表示時間STP1は、普電が入賞容易状態になる長時間の普電開放時間OPNよりも長く設定される。
なお、図80では、時短最終変動は、大当り終了後の特図2変動回数が時短回数(3回)になる変動として説明する。しかし、時短最終変動は、特図1変動(特図1変動表示ゲーム)であってよく、特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の合計の実行回数が前述の第2所定回数になるものでもよい。
時短最終変動の開始前において特図2保留数が最大値の4個であるとすると、特図2の時短最終変動時に特図2保留数が1減って3個になるが、普通変動入賞装置37の普電開放によって普通変動入賞装置37に遊技球が入賞すると、特図2保留数がまた4個になる。時短最終変動の終了直前に普図始動ゲート34を遊技球が通過すると、この際に開始した普図変動表示ゲーム(普図変動)の当り結果によって、時短終了後の残保留消化モードでも普電開放となる。
仮に、時短終了後の残保留消化モードで長時間の普電開放中に特図2変動表示ゲームの変動(特図2残保留変動)が開始すると、特図2保留数が1だけ減少して3個になり、ここで普通変動入賞装置37に遊技球が入賞すると特図2保留数が再び4個となって、時短状態終了後に消化される特図2保留(残保留)の数である残保留数が5個(1個+4個)になる。なお、残保留消化モードでの普電開放中に特図2変動表示ゲームの変動開始が2回あれば、残保留数が6個になる(5個よりも大きくなる)可能性もある。
特定遊技状態A(時短モード#1、#2)は、大当り状態を経由しているため、出玉(獲得球数)として遊技者の特典や遊技価値が大きい。そこで、本実施形態では、過度に遊技者に特典や遊技価値を与えないように、残保留数が規定残保留数の4個を超えて5個以上にならないようにする。このため、前述のように、特定遊技状態Aの時短最終変動の停止表示時間STP1を、普電サポートになる長い普電開放時間OPNよりもさらに長く設定して、普電開放時間OPN中に残保留の消化(特図2変動表示ゲームの実行)が開始されないようにしている(STP1>OPN)。これにより、残保留数を規定残保留数の4個に保持することができる。
また、残保留消化モードにおける普図変動の当り結果によって生じる普電開放時間(例えば48msec)は、時短モード#1、#2で開始された普図変動の当り結果によって生じる普電開放時間OPN(例えば3400msec)に比較して、かなり短時間である。このため、残保留消化モードでの短時間の普電開放(普電開放時間OPNによる普電開放の後の普電開放)では、特図2保留(残保留)は貯まらず残保留数は増加しないため、残保留数は規定残保留数の4個になる。
なお、普図変動時間FZ1や普図停止時間FZ2を考慮して、より厳しい条件STP1>(OPN+FZ2)の関係、又は、STP1>(FZ1+FZ2+OPN)の関係を設定することもできるが、普図変動時間FZ1や普図停止時間FZ2は普電開放時間OPNに比較してかなり短く無視できるため、STP1>OPNの関係を設定することで、残保留数を規定残保留数の4個に保持する効果は十分に得られる。
一方、図80(B)は、天井時短又は突然時短による特定遊技状態B、C(時短状態、第2特定遊技状態)の時短モード#3、#4が終了して移行状態(残保留消化モード)に遷移する状況を示す。図80(B)の場合、時短モード#3、#4の最終の特図変動表示ゲームである時短最終変動の終了から次の特図変動表示ゲームの開始までの停止表示時間STP2(第2期間)を、普電サポートになる長時間の普電開放時間OPN(第3期間、例えば3400msec)よりも短くする。即ち、STP2<OPNの関係に設定する。時短モード#3、#4(特定遊技状態B、C)に対応して、時短最終変動の停止表示時間STP2は、普電が入賞容易状態になる長時間の普電開放時間OPNよりも短く設定される(A4804)。
このため、時短モード#3、#4の時短終了後の残保留消化モードで普電開放中に特図2変動表示ゲームの変動(特図2残保留変動)が開始すると、特図2保留数が1だけ減少して3個になる。この普電開放中に、普通変動入賞装置37に遊技球が入賞すると特図2保留数が再び4個となって、時短状態終了後に消化される特図2保留(残保留)の数である残保留数が5個(1個+4個)になる。なお、残保留消化モードでの普電開放中に特図2変動表示ゲームの変動開始が2回あれば、残保留数が6個になる(5個よりも大きくなる)。
特定遊技状態B、C(時短モード#3、#4)は、大当り状態を経由せずに発生して、出玉(獲得球数)としての遊技者の特典や遊技価値が小さい。そこで、本実施形態では、遊技者に特典や遊技価値をより大きく与えるように、残保留数が規定残保留数の4個を超えて5個以上になる可能性を高める。このため、前述のように、特定遊技状態B、Cの時短最終変動の停止表示時間STP2を、普電サポートになる長い普電開放時間OPNよりも短く設定して、普電開放時間OPN中に残保留の消化(特図2変動表示ゲームの実行)が開始され易くしている(STP2<OPN)。
もちろん、時短最終変動の終了直前に普図始動ゲート34を遊技球が通過しないと、時短終了後の残保留消化モードで普電開放時間OPNの長い普電開放が起こらなかったり、この長い普電開放が前倒しになり一部が時短終了前に開放されたりする。この場合には、STP2<OPNの関係に設定しても、残保留数が規定残保留数の4個にとどまって、5個以上にならないこともある。
なお、普図変動時間FZ1や普図停止時間FZ2を考慮して、より緩い条件STP2<(OPN+FZ2)の関係、又は、STP2<(FZ1+FZ2+OPN)の関係を設定することもできるが、よりSTP2の値の範囲が狭い厳しい条件STP2<OPNの関係を設定することで、残保留数が5個以上になる可能性を確実に高めている。
なお、本実施形態において、STP2(第2期間)<OPN(第3期間)<STP1(第1期間)の関係が成立し、普電開放時間OPNの長さによらず、STP2<STP1の関係が成立する。このように、特定遊技状態A(時短モード#1、#2)における時短最終変動の停止表示時間STP1(第1期間)を、特定遊技状態B、C(時短モード#3、#4)における時短最終変動の停止表示時間STP2よりも大きくする。ここで、時短最終変動の停止表示時間は、残保留がある場合に、特定遊技状態の最終の特図変動表示ゲームの終了から次の特図変動表示ゲームの開始までの時間と同じになる。
なお、普電開放時間OPNによらず、STP2<STP1の関係が成立するだけでも、特定遊技状態B、Cの時短終了後の残保留変動の開始が特定遊技状態Aの場合よりも早まるため、特定遊技状態B、Cに対して特定遊技状態Aよりも残保留数が大きくなる可能性を高められる。このため、大当り状態を経由して出玉が大きい特定遊技状態Aと、大当り状態を経由せず出玉が小さい特定遊技状態B、Cとの差異(特典や遊技価値の差異)を緩和することができる。従って、大当りに続く特定遊技状態A(時短モード#1、#2)よりも出玉が少ないような、天井時短又は突然時短による特定遊技状態B、C(時短モード#3、#4)でも、特典や遊技価値が補償され、遊技の興趣が高まる。
なお、特定遊技状態A中に特定遊技状態B、Cを発生させる条件が成立した場合、即ち、特定遊技状態A中に天井回数に到達した場合やサポ当り結果が発生した場合に、時短最終変動の停止表示時間をSTP1(第1期間)ではなく、STP1よりも小さいSTP2(第2期間)に設定してもよい。この場合に、大当り後に特定遊技状態Aから天井時短や突然時短による時短状態(特定遊技状態B、C)を継続して(重ねて)発生させ得るが、時短最終変動の停止表示時間を短時間のSTP2に設定し、大当り後の一連の時短状態(特定遊技状態Aと特定遊技状態B、C)の時短最終変動の後に、小さいSTP2(第2期間)による特典や遊技価値をさらに与えて、遊技の興趣を向上できる。
なお、基本的には、特定遊技状態Aに継続する特定遊技状態B、Cの時短回数が終了すると残保留消化モードに移行し、時短最終変動は特定遊技状態B、Cでの変動となる。特定遊技状態Aから特定遊技状態B、Cが発生する場合に、時間短縮変動回数1、2領域は、特定遊技状態B、Cの時短回数(時間短縮変動回数1、2の初期値)に上書きされてしまうので、特定遊技状態Aの残りの時短回数が消えてしまうためである。しかし、特定遊技状態Aに継続する特定遊技状態B、Cの時短回数が終了しても特定遊技状態Aの残りの時短回数が別の所定領域にコピーされて消えずに残っているような構成の場合には、特定遊技状態Aに継続する特定遊技状態B、Cから特定遊技状態Aに戻り、移行状態(残保留消化モード)には移行しなくてよい。この場合には、時短最終変動は特定遊技状態Aでの変動となる。残りのの時短回数は、特定遊技状態Aについての時間短縮変動回数2の初期値より小さく、ゼロよりも大きい。
また、特定遊技状態A中に特定遊技状態B、Cを発生させ得る時短図柄(サポ当り結果)が停止表示されても、時短最終変動の停止表示時間をSTP2ではなく、STP2よりも大きいSTP1に設定してよい。時短図柄が停止表示されても、特定遊技状態Aから時短図柄による時短状態を継続して発生させないような構成(好適な構成)の場合には、長時間の第1期間(STP1)によって、前述のように特定遊技状態Aの後に消化される残保留数を規定残保留数に保持し、大当りに続く特定遊技状態Aが有利になりすぎないようにできる。また、たとえ特定遊技状態Aから時短図柄による時短状態を継続して発生させるような構成の場合でも、特定遊技状態B、Cは、大当りに続く特定遊技状態Aを経由しているため、特定遊技状態B、Cが有利になりすぎないようにできる。
[第2実施形態の作用・効果]
第2実施形態に係る遊技機10は、ゲーム(例えば特図変動表示ゲーム)を実行可能な遊技制御手段(例えば遊技制御装置100)を備え、ゲームの結果が特別結果となる場合に遊技者に有利な特別遊技状態(例えば大当り状態)を発生可能である。遊技制御手段は、特別遊技状態の発生を伴って、当該特別遊技状態に続いて遊技者に有利な第1特定遊技状態(例えば特定遊技状態A)を発生可能であるとともに、特別遊技状態の発生を伴わずに、遊技者に有利な第2特定遊技状態(例えば特定遊技状態B、C)を発生可能である。遊技制御手段は、第1特定遊技状態の最終ゲームの終了から次のゲームの開始までの第1期間(例えば、時短最終変動の停止表示時間STP1)を、第2特定遊技状態の最終ゲームの終了から次のゲームの開始までの第2期間(例えば、時短最終変動の停止表示時間STP2)よりも大きくする。
このような遊技機10では、第2期間が第1期間よりも短いため、第2特定遊技状態の終了後に第2特定遊技状態で最大限貯まった始動記憶(残保留)の消化が早まり、この分だけ余分に始動記憶(残保留)を貯められる可能性がある。このため、特別遊技状態を経由して特別遊技状態の利益(例えば出玉)が得られる第1特定遊技状態(例えば特定遊技状態A)と、特別遊技状態を経由せず特別遊技状態の利益(例えば出玉)が得られない第2特定遊技状態(例えば特定遊技状態B、C)との間の利益の差異を緩和することができる。従って、特別遊技状態の発生を伴わない第2特定遊技状態でも、利益が補償されて遊技の興趣が高まる。
第2実施形態に係る遊技機10は、入賞容易状態と非入賞容易状態とに変換可能であり、第1特定遊技状態と第2特定遊技状態において通常遊技状態よりも入賞容易状態に変換し易くなる変動入賞装置(例えば普通変動入賞装置37)を備える。変動入賞装置が入賞容易状態になる第3期間(例えば普電開放時間OPN)は、第1期間(STP1)よりも小さく、第2期間(STP2)よりも大きい。従って、第1特定遊技状態(例えば特定遊技状態A)の終了後に消化される残保留数を規定残保留数に保持することができるとともに、第2特定遊技状態(例えば特定遊技状態B、C)の終了後に消化される残保留数が規定残保留数を超える可能性を高められる。これによって、特別遊技状態の発生を伴わない第2特定遊技状態でも、利益が確保されて遊技の興趣が高まる。
第2実施形態に係る遊技機10において、遊技制御手段(例えば遊技制御装置100)は、第1特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を第1期間(STP1)に設定可能であり、第2特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を第2期間(STP2)に設定可能である。遊技制御手段は、第1特定遊技状態中に第2特定遊技状態を発生させる条件が成立した場合(例えば、天井回数に到達した場合やサポ当り結果が発生した場合)は、第1特定遊技状態又は第2特定遊技状態としての特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を、第1期間ではなく、第1期間よりも小さい第2期間に設定可能である。
このような遊技機10では、特別遊技状態と第1特定遊技状態と第2特定遊技状態とを含む一連の遊技状態の後に、小さい第2期間(STP2)による特典や遊技価値をさらに与えて、遊技の興趣を向上できる。
第2実施形態に係る遊技機10において、遊技制御手段(例えば遊技制御装置100)は、第1特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を第1期間に設定可能であり、第2特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を第2期間に設定可能である。遊技制御手段は、第1特定遊技状態中に、第2特定遊技状態を発生させ得るゲームの結果(例えば時短図柄、サポ当り結果)が表示されても、第1特定遊技状態又は第2特定遊技状態としての特定遊技状態の最終ゲームの終了から次のゲームの開始までの期間を、第2期間ではなく、第2期間(STP2)よりも大きい第1期間(STP1)に設定可能である。
このような遊技機10では、第2特定遊技状態を発生させ得るゲームの結果が表示されても、第1特定遊技状態から第2特定遊技状態を継続して(重ねて)発生させないような構成の場合には、特別遊技状態に続く第1特定遊技状態が有利になりすぎることを、長い第1期間(STP1)によって防止できる。また、第1特定遊技状態から第2特定遊技状態を継続して(重ねて)発生させるような構成の場合でも、第2特定遊技状態は、特別遊技状態に続く第1特定遊技状態を経由しているため、第2特定遊技状態が有利になりすぎないようにできる。
[第3実施形態]
図81から図98を参照して、第3実施形態について説明する。なお、以下で述べる以外の構成は、第1実施形態又は第2実施形態と同様でよい。また、以下の実施形態では、第1実施形態又は第2実施形態と同じ機能を果たす構成には同一の符号を用い、重複する記載を適宜省略して説明する。第3実施形態は、変動表示ゲームの変動パターンを選択するための変動パターンテーブル(変動パターン選択テーブル、変動パターン群)などに関するものである。
〔遊技盤〕
図81を参照して、第3実施形態における遊技盤30について説明する。図81の遊技盤30は、図2の遊技盤30に対して、センターケース40の左下方の遊技領域32において、普図始動ゲート34が一般入賞口35の近傍にもう一つ追加されている。2つの普図始動ゲート34が、センターケース40の右側方と左下方の遊技領域32に存在していることになる。普図始動ゲート34自体の機能と構成は、第1実施形態と同様である。即ち、普図始動ゲート34の内部には、当該普図始動ゲート34を通過した遊技球を検出するためのゲートスイッチ34aが設けられている。遊技領域32内に打ち込まれた遊技球が普図始動ゲート34を通過してゲートスイッチ34aで検出されると、普図変動表示ゲームが実行される。
左下方の遊技領域32にて普図始動ゲート34が存在するため、遊技領域32の左側において遊技球を流下させる左打ち(通常打ち)であっても、普図始動ゲート34での遊技球の通過によって、普図変動表示ゲームが実行される。普図変動表示ゲームの結果が当り結果になると可動部材37bが開状態(入賞容易状態)に変換され、普通変動入賞装置37(普電)への遊技球の入賞が許容される。ただし、右側の遊技領域32の普通変動入賞装置37へ遊技球を入賞させるために、遊技者は、左下方の普図始動ゲート34での遊技球の通過直後に、遊技球の発射態様(打ち方)を左打ちから右打ちに素早く切り替えるような技能が要求される。従って、左下方の普図始動ゲート34を遊技球が通過して、右側の遊技領域32の普通変動入賞装置37が開状態に変換されても、普通変動入賞装置37へ遊技球がうまく入賞するとは限らない。
〔遊技状態遷移図(ゲームフロー)の例〕
図82は、第3実施形態における遊技状態の遷移を例示する遊技状態遷移図(ゲームフロー)である。図82は、図77と同様であるが、天井回数到達によって発生する特定遊技状態B(時短モード#3)において普電サポートが高サポとなり、時短図柄によって発生する特定遊技状態C(時短モード#4)において普電サポートが中サポとなる点などで図77と異なる。なお、本実施形態において、特定遊技状態は時短状態であるが、特定遊技状態の一部又は全てを大当り確率が高確率状態である確変状態(普電サポート有り/特図高確率)とする構成も可能である。
中サポでは、普通変動入賞装置37は、普電サポート(電サポ)の無い通常遊技状態よりも開状態に変換し易いが、高サポよりも開状態に変換し難い。このため、電サポ無し(普電サポート無し)<中サポ<高サポの順に、遊技者の得る利益は大きくなる。そして、普通変動入賞装置37は、特定遊技状態Cにおいて、通常遊技状態よりも開状態に変換し易いが特定遊技状態Bよりも開状態に変換し難くなる。
なお、大当りに続いて発生する特定遊技状態A(時短モード#1、#2)では、普電サポートは、特定遊技状態Bと同じ種類の高サポであってもよいし、他の種類の高サポでもよい。この他の種類の高サポにおいて、普通変動入賞装置37が特定遊技状態Cよりも開状態に変換し易く、特定遊技状態Bよりも開状態に変換し難い又は変換し易い。特定遊技状態Aと特定遊技状態Bの高サポが同じ種類であれば制御が簡単になる一方、異なる種類であれば遊技にバリエーションが出る。
特定遊技状態A、Bにおいて、普通変動入賞装置37が開放され易くなるため、遊技球の発射態様として普通変動入賞装置37を狙う右打ちが推奨される。そのため、特定遊技状態A、Bにおいて、主始動領域は普通変動入賞装置37となり従始動領域は第1始動入賞口36となることから、主変動表示ゲームは特図2変動表示ゲームとなり、従変動表示ゲームは特図1変動表示ゲームとなる。
なお、前述のとおり、第1始動入賞口36への入賞若しくは第1始動記憶(特図1始動記憶、特図1保留)の発生が、特図1変動表示ゲームを実行可能とする第1の始動条件となっている。なお、普通変動入賞装置37への入賞若しくは第2始動記憶(特図2始動記憶、特図2保留)の発生が、特図2変動表示ゲームを実行可能とする第2の始動条件となっている。
一方、本実施形態では、特定遊技状態Cにおいて、中サポによって普通変動入賞装置37が通常遊技状態よりも若干開放され易くなるものの、特定遊技状態C中に右打ちを常に継続すると始動入賞口36に入賞しなくなる不利益の方が大きくなる。例えば、左打ちの場合の単位発射球数当りの始動入賞口36への入賞数が、右打ちの場合の単位発射球数当りの普通変動入賞装置37への入賞数よりも大きいと、右打ちでの不利益の方が左打ちでの不利益よりも大きくなる。
このため、本実施形態では、特定遊技状態Cにおいて、遊技球の発射態様(打ち方)として始動入賞口36を狙う左打ちが基本的に推奨される。そのため、特定遊技状態Cにおいて、主始動領域は第1始動入賞口36となり従始動領域は普通変動入賞装置37となることから、主変動表示ゲームは特図1変動表示ゲームとなり従変動表示ゲームは特図2変動表示ゲームとなる。
特定遊技状態Aの演出モードとして、図71Aや図77と同じく時短モード#1、#2がある。本実施形態では、時短モード#1、#2に関する時短回数m1、m2は、各々4回、30回の固定値であるが、遊技のバリエーションを増やすために可変値でもよい。例えば、時短回数m2は、抽選によって、20回、30回、50回のいずれかが選択されてよい。本実施形態では、第1実施形態と異なり、特図2変動表示ゲームの小当り確率は1/15.79であるとともに時短回数m2は小さい。このため、時短モード#2は、確実に小当り(V通過の大当り状態)が発生するわけではないので、次回継続確定モード(確定モード)とはならない。
特定遊技状態Bの演出モードは時短モード#3であり、特定遊技状態Cの演出モードは時短モード#4であり、演出モードは異なり、遊技者は天井時短(b時短)による時短状態と突然時短(c時短)による時短状態とを演出によって区別できる。なお、特定遊技状態Bと特定遊技状態Cで演出モードを同じにして、演出の共通化を図り開発コストを削減することもできる。本実施形態では、時短モード#3、#4に関する時短回数m3、m4は、各々251回、30回の固定値であるが、遊技のバリエーションを増やすために可変にしてもよい。例えば、時短回数50回の時短図柄、時短回数30回の時短図柄、時短回数20回の時短図柄など複数の時短図柄を設けて、各々、10%、70%、20%でサポ当り図柄乱数によって抽選して、時短回数m4の平均回数を30回にしてもよい。
また、時短モード#3、#4は、時短モード#1、#2とは異なる演出モードとなり、大当りに起因する時短状態(特定遊技状態A)と大当りに起因しない時短状態(特定遊技状態B、C)とを演出によって区別できる。なお、特定遊技状態Aと特定遊技状態B、Cで演出モードを同じにして、演出の共通化を図り開発コストを削減することもできる。
次に、各遊技状態からの遷移(移行)について説明する。
本実施形態では、天井回数m5は580回であり、特定遊技状態A中と移行状態(残保留消化モード)において、大当り状態終了後に所定条件下(特図低確率状態、確変状態でない状態)で実行される特図変動表示ゲームの回数が天井回数に到達することはない。従って、特定遊技状態A中と残保留消化モードから特定遊技状態Bに遷移することはない。
そして、本実施形態では、通常遊技状態又は特定遊技状態Cにおいて、大当り状態終了後に所定条件下で実行される特図変動表示ゲームの回数が天井回数に到達した場合に、天井時短(b時短)となり特定遊技状態B(時短モード#3)に遷移する。
また、本実施形態では、特図2変動表示ゲームの結果にサポ当り(時短結果、時短図柄)はなく、特図1変動表示ゲームの結果のみにサポ当りがあるようにする。このようにするため、大当りフラグ1設定処理(図23)においてサポ当り判定処理(A3607-A3609)が実行され、逆に、大当りフラグ2設定処理(図24)においてサポ当り判定処理等(A3707-A3709)が実行されない構成とする。従って、基本的に、主変動表示ゲームが特図2変動表示ゲームとなる特定遊技状態A中と移行状態(残保留消化モード)と特定遊技状態Bから、特定遊技状態Cに移行しない。
そして、本実施形態では、主変動表示ゲームが特図1変動表示ゲームとなる通常遊技状態において、特図1変動表示ゲームの結果がサポ当り結果(時短図柄)の場合に、突然時短(c時短)としての特定遊技状態C(時短モード#4)に遷移する。このようにして、遊技者の得る利益が少なく演出も単調になりがちな通常遊技状態において、サポ当り結果(時短図柄)になる特典を設けて、遊技の興趣を向上できる。
さらに、特定遊技状態B、Cにおいて小当り又は大当りが発生せずに遷移条件が成立すると、残保留を消化する移行状態(残保留消化モード)に遷移する。特定遊技状態B、Cから移行状態に遷移する遷移条件は、第2実施形態の図77と同様でよい。即ち、遷移条件は、(i)特定遊技状態における特図2変動表示ゲームの実行回数が時短回数m3、m4(第1所定回数)を超えること、及び、(ii)特定遊技状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の合計の実行回数が時短回数m3、m4(第1所定回数)よりも大きい第2所定回数を超えること、の何れかが成立することである。なお、第2所定回数は、時短回数に、特図1保留数又は特図2保留数の最大値(例えば4)を足したものでもよい。また、特定遊技状態Cから移行状態への遷移する場合の条件(i)について、特定遊技状態Cにおける特図1変動表示ゲーム(主変動表示ゲーム)の実行回数が時短回数m4を超えることとしてもよい。
〔図柄に対応する時短回数と規定残保留数〕
図83は、第3実施形態において、特図変動表示ゲームの当りの種類である図柄に対応する時短回数と規定残保留数などについて示すテーブルである。図柄は、大当り(V入賞による大当りも含む)になる場合の図柄であり、ここでは、時短図柄は除かれている。
(A)のように、本実施形態では、普電サポート無しの状態において、特図1変動表示ゲームの大当りの図柄には、図柄A1のみがある(主に通常遊技状態での大当りとなる)。図柄A1に関して、時短回数(ここでは4回)が異なるだけで、第1実施形態と第2実施形態の図柄Aと同じである。また、普電サポート有りの状態において、特図1変動表示ゲームの大当りの図柄には、図柄P1のみがある(主に特定遊技状態Cでの大当りとなる)。図柄P1に関して、時短回数は30回(m2)になり規定残保留数は4個になる。大当りの図柄A1、図柄P1は、V入賞による大当りではないものであり、また、大当り図柄乱数によって決定される停止図柄である。なお、図柄A1と図柄P1を特図1変動表示ゲームの小当りでのV入賞に関する大当りの停止図柄とする構成も可能だが、この場合に、大当り図柄乱数の他に小当り図柄乱数があるなら、図柄A1と図柄P1を、小当り図柄乱数によって決定される小当りの停止図柄とする構成も可能である。
普電サポート無しの状態において、特図1変動表示ゲームが大当りである場合の図柄は、図柄A1のみであり振り分けは100%である。従って、通常遊技状態で、主変動表示ゲームの特図1変動表示ゲームが大当りになると、大当り状態後に特定遊技状態Aの時短モード#1(時短回数4回)に遷移する。なお、図柄A1以外に図柄P1を設けて、特図1変動表示ゲームの大当り状態後に特定遊技状態Aの時短モード#2に遷移するようにしてもよい(図82の点線など)。或いは、図柄A1の代わりに図柄P1を設けて、特図1変動表示ゲームが大当りになると、通常遊技状態から、大当り状態を経て特定遊技状態Aの時短モード#2に遷移するようにしてもよい。
普電サポート有りの状態において、特図1変動表示ゲームが大当りである場合の図柄は、図柄P1のみであり振り分けは100%である。従って、特定遊技状態Cで、主変動表示ゲームの特図1変動表示ゲームが大当りになると、大当り状態後に特定遊技状態Aの時短モード#2(時短回数30回)に遷移する。なお、図柄P1以外に図柄A1を設けて、特図1変動表示ゲームの大当り状態後に特定遊技状態Aの時短モード#1に遷移するようにしてもよい。或いは、図柄P1の代わりに図柄A1を設けて、特図1変動表示ゲームが大当りになると、特定遊技状態Cから、大当り状態を経て特定遊技状態Aの時短モード#1に遷移するようにしてもよい。
(B)のように、普電サポート有りの状態での特図2変動表示ゲームの大当りに関して、図柄は、大当り終了後に付与される時短回数m2が30回となる図柄S1の1種類のみであり振り分けは100%である。なお、本実施形態では、特図2変動表示ゲームの大当りは、小当りでのV入賞によるものであるが、これに限られない。普電サポート有りの特定遊技状態A-Cで、主変動表示ゲームの特図2変動表示ゲームが大当りになると、特定遊技状態Aの時短モード#2に遷移する。なお、図柄S1以外に、時短回数m2が20回、50回の2つの図柄を設けて、振り分けによる図柄の抽選によって、時短回数m2として20回、30回、50回のいずれかが選択されてよい。
なお、本実施形態では、小当り確率は特図1変動表示ゲームと特図2変動表示ゲームとで異なり、小当り上限判定値(A3900)は、特図1変動表示ゲームと特図2変動表示ゲームとで異なる。特図2変動表示ゲームの小当り確率は1/15.79であるのに対して、特図1変動表示ゲームの小当り確率は1/199.80である。従って、主変動表示ゲームが特図2変動表示ゲームである特定遊技状態A、特定遊技状態B、及び、移行状態(残保留消化モード)において、主変動表示ゲームが特図1変動表示ゲームである通常遊技状態と特定遊技状態Cよりも、小当りひいては小当りでのV入賞による大当りが発生し易い。
普電サポート無しの状態での特図2変動表示ゲームの大当り(残保留における小当りでのV入賞による大当り)の図柄G1に関して、第1実施形態の図柄Gと同じである。図柄は、大当り終了後に付与される時短回数m2が30回となる図柄G1の1種類のみであり振り分けは100%である。従って、移行状態(残保留消化モード)で、主変動表示ゲームの特図2変動表示ゲームが大当りになると、特定遊技状態Aの時短モード#2に遷移する。なお、図柄G1と図柄S1によって大当り終了後に同じ時短モードに移行するため、図柄G1と図柄S1を共通の図柄としてもよい。また、図柄G1以外に、時短回数m2が20回、50回の2つの図柄を設けて、振り分けによる図柄の抽選によって、時短回数m2として20回、30回、50回のいずれかが選択されてよい。また、図柄G1以外に図柄A1を設けて、特定遊技状態Aの時短モード#1に遷移するようにしてもよい(図82の点線)。
以上、図82と図83のように、通常遊技状態、移行状態、特定遊技状態A、特定遊技状態B、特定遊技状態Cは、個々の発生条件(遷移条件)に基づいて発生し、発生条件(遷移条件)は互いに異なってよい。
特に、本実施形態において、特定遊技状態Cで特図1変動表示ゲームが大当りになると、特図2変動表示ゲームが大当りになる場合(図柄S1、G1の場合)と同じく、大当り終了後に時短モード#2に遷移して高サポでの時短回数30回が得られる。このため、特定遊技状態Cは高サポではなく中サポであっても、遊技者に非常に有利となり遊技の興趣が向上する。なお、中サポの特定遊技状態Cも、普電サポート有りの状態には変わりないので、通常モード(又は通常遊技状態)を経ないで大当り状態と特定遊技状態が継続する連チャン扱いとなる。
なお、(C)のラウンド数上限値の割合の円グラフに例示するように、ラウンド数上限値(大当りラウンド数)が複数ある場合に、各ラウンド数上限値に対応する大当りの図柄があってよい。例えば、(C)のように、特図2変動表示ゲームの大当りに対してラウンド数上限値が複数9R、6R、3Rの3種類ある場合に、図柄S1-9R(振り分け15%)、図柄S1-6R(振り分け10%)、図柄S1-3R(振り分け75%)や、図柄G1-9R(振り分け15%)、図柄G1-6R(振り分け10%)、図柄G1-3R(振り分け75%)のように、ラウンド数上限値に対応する図柄があってよい。なお、小当りでのV入賞による大当りの場合には、小当りを1ラウンド分とみなしてラウンド数上限値に含めてよいし、小当りをラウンド数上限値に含めなくてもよい。
〔時短の作動状況〕
図84は、各遊技状態から新たな時短の作動契機が発生した場合について、時短の作動状況をまとめたテーブルである。時短の作動契機とは、大当りを経由した時短(a時短)であれば大当りであり、天井時短(b時短)であれば天井回数到達であり、突然時短(c時短)であれば時短図柄の設定や導出(表示)である。
前述の通り、通常遊技状態(残保留消化モードを含む)と特定遊技状態A-Cにおいて、a時短の発生契機として大当りが発生すると、大当り状態を経由して、大当り終了直後にa時短が作動して特定遊技状態Aに遷移する。
通常遊技状態(残保留消化モードを含む)、特定遊技状態A、及び、特定遊技状態Cにおいて、b時短の発生契機として天井回数に到達すると、b時短が作動して特定遊技状態Bに遷移可能である。しかし、特定遊技状態Bにおいて、b時短の発生契機として天井回数に到達しても、新たに天井時短発動フラグ(A5115)が発生せず、新たなb時短は作動不能である。このように、特定遊技状態Bにおいてb時短が重複して発生することを禁止し、特定遊技状態Bが実質的に延長される事態を防止して、過度に遊技者に有利になることを防止できる。なお、本実施形態において、特定遊技状態Aと残保留消化モードでは天井回数に到達できないため、実質的に特定遊技状態Aと、通常遊技状態のうちの残保留消化モードから特定遊技状態Bに遷移することはない。これにより、過度に遊技者に有利になることを防止できる。
なお、前述のように天井回数到達によって、中サポの特定遊技状態C(c時短)から高サポの特定遊技状態B(b時短)に遷移すると、演出モードは時短モード#4から時短モード#3に切り替わり、演出が変化する。また、この場合に、遊技球の打ち方は左打ちが推奨される左打ち状態から右打ちが推奨される右打ち状態に切り替わり、主変動表示ゲームは特図1変動表示ゲームから特図2変動表示ゲームに切り替わる。
また、通常遊技状態(残保留消化モードを除く)において、c時短の発生契機としてサポ当りで時短図柄が導出されると、c時短が作動して特定遊技状態Cに遷移する。しかし、特定遊技状態Aと、特定遊技状態Bと、通常遊技状態のうちの残保留消化モードとにおいて、主変動表示ゲームは特図2変動表示ゲームであり、前述のように特図2変動表示ゲームでサポ当り(時短図柄)は発生しない構成のため、c時短は作動せず特定遊技状態Cに遷移しない。さらに、本実施形態において、特定遊技状態Cにおいて、特図1変動表示ゲームによってc時短の発生契機として時短図柄が導出されても、例えば時間短縮変動回数の初期値の設定(A5126)とサポ作動設定処理(A5127)を実行しないことによって、c時短の作動を禁止し新たなc時短を作動不能にする。このように、特定遊技状態Cにおいてc時短が重複して発生することを禁止し、特定遊技状態Cが実質的に延長される事態をなくし、過度に遊技者に有利になることを防止できる。なお、特定遊技状態Cにおいて時短図柄が導出された場合に、時間短縮変動回数の初期値を再設定しサポ作動設定処理を実行して、新たなc時短を作動させる構成も可能である。ただし、この構成でも、時短残り回数の方が時間短縮変動回数の初期値(新たなc時短の時短回数)よりも大きい場合には、時短残り回数が突然減ってしまうことになるため、新たなc時短を作動不能にしてキャンセルしてよい。
なお、特定遊技状態A、Bにおいて、始動入賞口36に入賞し特図2始動記憶が無ければ特図1変動表示ゲームが実行されることもあるが、強制的にc時短の作動を禁止して特定遊技状態Cに遷移しないようにしてもよい。このようにするため、特定遊技状態A、Bにおいて、特図1変動表示ゲームの結果がサポ当り(時短図柄)となった場合でも、時間短縮変動回数の初期値の設定(A5126)とサポ作動設定処理(A5127)を実行しない構成とする。
〔一括表示装置の表示〕
図85は、第3実施形態に関して、一括表示装置50の表示を説明する図である。なお、図85に示す表示以外の一括表示装置50の表示は、第1実施形態と同様であり説明を省略する。
本実施形態では、特図高確率の確変状態がないため、第1実施形態と異なってLEDランプD9(第3遊技状態表示部59)は、LEDランプD7(第1遊技状態表示部57)と同様に、点灯又は消灯によって右打ち時又は左打ち時(通常打ち時)であることを報知する。
普電サポート無し(電サポ無し)の状態、即ち、通常遊技状態又は移行状態において、一括表示装置50のLEDランプD7、D9は消灯して左打ち状態(通常打ち状態)であることを示し、一括表示装置50のLEDランプD17も消灯して変動時間短縮機能未作動の状態(即ち非時短状態)であることを示す。
c時短である特定遊技状態Cにおいて、LEDランプD7、D9は消灯して左打ち状態(通常打ち状態)であることを示す一方、LEDランプD17は点灯して変動時間短縮機能作動の状態(即ち時短状態)であることを示す。ただし、例外的にc時短中(特定遊技状態C)において普図変動表示ゲームの当り(普図当り)が発生する場合には、当り図柄の停止タイミングで、普電が開放される右打ち状態であることを示すべく右打ちLEDとしてのLEDランプD7、D9が点灯する。従って、左打ち状態で左下方の遊技領域32の普図始動ゲート34を遊技球が通過することで実行された普図変動表示ゲームが当りとなって、中サポによって普通変動入賞装置37が開状態に変換する場合に、遊技者に対して右打ちの指示(示唆)が報知される。
なお、特定遊技状態Cにおいて、一括表示装置50のLEDランプD7、D9の示す左打ち状態と右打ち状態に対応して、表示装置41において、左打ちを指示する左打ち指示表示と右打ちを指示する右打ち指示表示を表示してよい。このようにすると、熟練していない遊技者でも、右打ちすることを把握し易くなり、中サポによる普電開放の利益を受け易くなる。なお、表示装置41の右打ち指示表示は、遊技者の利益になるよう、LEDランプD7、D9が点灯するタイミングでなく、実際に普通変動入賞装置37(普電)が開放されるタイミングで表示されてよい。また、特定遊技状態Cにおいて、普通変動入賞装置37の開放が短時間(例えば50msec以下)の普図当りの場合(後述の普電開放パターンH1の場合)には、遊技者を失望させないように、右打ち指示表示は表示装置41に表示されなくてもよい。
また、特定遊技状態Cにおいて、右打ちが推奨される右打ち状態は例外的に発生するものであるため、LEDランプD7、D9の示す左打ち状態と右打ち状態に関係なく、常に、表示装置41において左打ち指示表示を表示してもよい。このようにすると、熟練した遊技者が普電開放に対応して右打ちするため中サポによる利益を受け易くなり、遊技者が熟練度を増そうとして遊技機10の稼働が向上する可能性がある。
また、特定遊技状態Cにおいて、左打ち状態が通常であるため、遊技者が不快にならないように、表示装置41において左打ち指示表示は表示されなくてもよいし、或いは、特定遊技状態Cに遷移した際の所定期間にのみ、表示装置41において左打ち指示表示は表示されてもよい。
さらに、a時短である特定遊技状態Aとb時短である特定遊技状態Bにおいて、LEDランプD7、D9は点灯して右打ち状態であることを示すとともに、LEDランプD17は点灯して変動時間短縮機能作動の状態であることを示す。
大当り状態中と小当り遊技状態中は、LEDランプD7、D9は点灯して右打ち状態であることを示し、LEDランプD17は消灯して変動時間短縮機能未作動の状態(即ち非時短状態)であることを示す。なお、例外的に、特定遊技状態において、特図1変動表示ゲームの小当り結果によるV入賞のない短時間の小当り遊技状態中(図98の小当り開放中)に、変動時間短縮機能をオフとせず(時短なしフラグをセーブせず)作動したままとするため、LEDランプD7、D9は点灯して右打ち状態であることを示し、LEDランプD17は点灯して変動時間短縮機能作動の状態(即ち時短状態)であることを示す。また、特図2変動表示ゲームの小当り結果による長時間の小当り遊技状態中(図98の小当り開放中)にV入賞が確実に発生して大当りとなるため、変動時間短縮機能をオフして(時短なしフラグをセーブして)非作動にし、LEDランプD17は消灯して変動時間短縮機能未作動の状態(即ち非時短状態)であることを示す。
〔普図変動表示ゲームと普電動作の特徴等〕
図86と図87は、第3実施形態において、普図変動表示ゲームと普電動作の特徴等ついて示す図である。
図86のように、普図変動表示ゲームの当り図柄(当り停止図柄、普図当り図柄)は3種類である。本実施形態では、普電サポートの有無によらず、普図当り確率は常に一定値250/251であり、低確率(普図低確率)と高確率(普図高確率)の間で変化するようには制御されない。なお、通常遊技状態や中サポの特定遊技状態Cで250/251よりも低い低確率としてもよい。
普図変動表示ゲームの始動記憶数(普図保留数)は4である。普電の最大カウント数(カウント数上限値)は5である。普図停止時間(普図表示時間)は、遊技状態に関係なく600msecである。
普図変動表示ゲームの変動時間である普図変動時間は、普電サポート(電サポ)が無い通常遊技状態と移行状態で5000msecであり、c時短の特定遊技状態Cで4900msecであり、a時短の特定遊技状態Aとb時短の特定遊技状態Bで200msecである。普図変動時間は、電サポ無し(通常遊技状態、移行状態)>中サポ(特定遊技状態C)>高サポ(特定遊技状態A、B)の順に短くなる。このように、通常遊技状態と移行状態での普電サポート無しの状態(低サポ)に比較して、中サポの特定遊技状態Cにおいて、普電の入賞容易状態(開状態)に若干なり易く、高サポの特定遊技状態A、Bにおいて、普電の入賞容易状態に極めてなり易い。なお、普図変動時間は、普図普段処理において、各遊技状態に対応するサポ状態(即ち、電サポ無し、中サポ、高サポ)に基づいて設定される(図46のA7920)。
図87(A)のように、65521通りある普図の当り図柄乱数(A7710)の振り分けによる抽選によって、65321/65521の確率で当り1の図柄に対応する当り停止図柄番号1が設定され、100/65521の確率で当り2の図柄に対応する当り停止図柄番号2が設定され、100/65521の確率で当り3の図柄に対応する当り停止図柄番号3が設定される(A7912)。
普図変動表示ゲーム用の変動表示部53のLEDランプD8、D10、D18の点灯/消灯の組合せによって、当り1の図柄は(消灯,点灯,消灯)、当り2の図柄は(消灯,消灯,点灯)、当り3の図柄は(消灯,点灯,点灯)のように表示される。なお、停止図柄番号0であるはずれ停止図柄番号(A7909)のはずれ図柄は(消灯,消灯,消灯)のように表示される。
普電開放パターンは、1度の普図当りでの普通変動入賞装置37(普電)の開放態様である。通常時、即ち、通常遊技状態と移行状態において、普電開放パターンは、当り1~3の全図柄に対して短時間の普電1回開放のパターンH1となり、100%の確率でパターンH1が選択されるため普電サポートは無い(電サポ無し)。また、特定遊技状態A(a時短)と特定遊技状態B(b時短)において、普電開放パターンは、当り1~3の全図柄に対して長時間の普電1回開放のパターンH3となり、100%の確率でパターンH3が選択されるため高サポになる。
一方、特定遊技状態C(c時短)において、普電開放パターンは、当り1の図柄に対してパターンH1であり、当り2、3の図柄に対して普電2回開放のパターンH2となり、パターンH1とパターンH2が混在する。短時間の普電1回開放のパターンH1が65321/65521×100%の確率で選択されて、普電2回開放のパターンH2が200/65521×100%の確率で選択される。このように、特定遊技状態Cでは、パターンH2よりも普電開放が短時間になるパターンH1の選択確率が、パターンH2の選択確率よりも極めて大きいため、中サポになる。中サポ(特定遊技状態C)において、電サポ無し(通常遊技状態)よりも少しだけ有利にすることによって、遊技者側の利益が大きくなり過ぎないように遊技者側の利益と遊技場側の利益を調整している。
なお、上述のように、当り2、3に対応するパターンは各遊技状態で同じであるため、当り2、3を一つの当りとしてまとめてもよい。
図87(B)のように、短時間開放のパターンH1では、普通変動入賞装置37は1回だけ短時間開放される。パターンH1の普電開放時間(A8407)は36msec、普電残存球処理時間(A8708)は600msec、普図エンディング時間(A8903)は100msec、普図エンディング後に次の普図変動表示ゲームが可能になるまでの復帰時間は4msec(タイマ割込み処理の割込み周期)となる。
普電2回開放のパターンH2では、普通変動入賞装置37は2回開放され、普電開放時間が1回目の開放で36msec、2回目の開放で1624msecとなる。1回目の開放の普電開放時間(A8407)は、パターンH1の普電開放時間36msecと同じになる。1回目の開放ではパターンH2はパターンH1と見分けがつかないところ、2回目の開放で遊技者を驚かせて遊技の興趣が向上する。2回目の開放の普電開放時間(A8704)は、1回目の開放の普電開放時間よりもかなり長い。また、パターンH2の2回目の開放の普電開放時間(1624msec)或いは1回目と2回目の合計開放時間(36msec+1624msec)は、パターンH1の普電開放時間36msecよりも長い。なお、パターンH2の普電残存球処理時間、普図エンディング時間、復帰時間は、パターンH1と同じであり、普電の制御が簡単になる。
さらに、パターンH2において、1回目の開放と2回目の開放の間のウェイト時間(A8702)は、1回目と2回目の普電開放時間よりも長く、例えば3000msecである。左下方の普図始動ゲート34への遊技球の通過、及び、1回目の普電開放を確認した遊技者は、この長いウェイト時間によって、左打ちから右打ちへ切り替える余裕が生じて、2回目の放電開放に間に合わせて右打ちをすることができる。パターンH2の普電開放開始から復帰時間完了までの全時間(36msec+3000msec+1624msec+704msec)は、パターンH1の全時間(36msec+704msec)やパターンH3の全時間(2800msec+704msec)よりも長くなる。
長時間開放のパターンH3では、普通変動入賞装置37は1回だけ長時間開放される。パターンH3の普電開放時間(A8407)は2800msecであり、パターンH1の普電開放時間36msecよりも長く、さらに、パターンH2の2回目の開放の普電開放時間(1624msec)或いは合計開放時間(36msec+1624msec)よりも長い。従って、パターンH3は、パターンH1、H2よりも、普通変動入賞装置37への入賞が容易になる。パターンH3の普電残存球処理時間、普図エンディング時間、復帰時間は、パターンH1、H2と同じであり、普電の制御が簡単になる。
以上のように、普電の合計開放時間は、パターンH1<パターンH2<パターンH3の順に大きくなるとともに、最短の合計開放時間を有するパターンH1の選択確率は、電サポ無し(通常遊技状態、移行状態)>中サポ(特定遊技状態C)>高サポ(特定遊技状態A、B)の順に小さくなる。そして、電サポ無しでは、パターンH1の選択確率は100%であり、高サポでは、パターンH3の選択確率は100%である。また、前述のように、普図変動時間は、電サポ無し>中サポ>高サポの順に小さくなる。従って、電サポ無し<中サポ<高サポの順に、遊技者の得る利益は大きくなる。
なお、本実施形態において、普電開放時間、当り開始ポインタ値、及び、当り終了ポインタ値は、普図停止図柄情報(当り1-3の図柄)、及び、各遊技状態に応じたサポ状態(電サポ無し、中サポ、高サポ)に対応して設定される(図49のA8405-A8407、図51のA8704)。従って、パターンH1の普電開放、パターンH2の1回目と2回目の普電開放、パターンH3の普電開放に関して、普電開放時間がパターンH1-H3ごとに設定されることになる。そして、パターンH1とパターンH3に関して、当り開始ポインタ値と当り終了ポインタ値は同じ値(ここでは0)に設定され、普電は1回のみ開放される。さらに、パターンH3に関して、当り開始ポインタ値と当り終了ポインタ値は異なる値(ここでは0と2)に設定され、普電は2回開放される。
なお、本実施形態において、2回目の普電開放があるのはパターンH2だけであるため、ウェイト時間と2回目の普電開放の普電開放時間は、当り2、3の普図停止図柄情報、及び、特定遊技状態Cに応じたサポ状態(中サポ)に対してのみ、即ちパターンH2に対してのみ、普電作動移行設定処理で設定される(図51のA8702とA8704)。
普電残存球処理時間、普図エンディング時間は、普図停止図柄情報(当り1-3の図柄)、及び、各遊技状態に応じたサポ状態(電サポ無し、中サポ、高サポ)に関係なく、即ち、パターンH1-H3のいずれであるかに関係なく、同じ値が設定される(図51のA8708、図52のA8903)。しかし、これらを普図停止図柄情報とサポ状態に対応して設定してもよい。
〔特図情報設定処理〕
図88は、第3実施形態に係る特図情報設定処理の手順を示すフローチャートである。特図情報設定処理は、特図1変動開始処理と特図2変動開始処理において実行される(A3404、A3504)。なお、図88の処理では、第1実施形態の図28と異なり、簡単のため前半変動と後半変動の区別はなくしたが、区別してもよい。
遊技制御装置100は、まず、変動グループ選択ポインタテーブルを設定して(A14201)、この変動グループ選択ポインタテーブルを用いて、演出モード情報に対応する変動グループ選択ポインタを取得する(A14202)。図82のとおり、通常モード、残保留消化モード、時短モード#1-#4等の演出モードは、それぞれ、各遊技状態(通常遊技状態、移行状態、特定遊技状態A-C)に対応する。従って、ステップA14202の処理によって、後述のように各遊技状態に応じて変動パターンテーブルが設定されることになる。
続いて、遊技制御装置100は、変動グループ選択オフセットテーブルを設定して(A14203)、この変動グループ選択オフセットテーブルを用いて、変動図柄判別フラグと停止図柄パターンに対応するオフセットデータを取得する(A14204)。
変動図柄判別フラグは、開始する変動の図柄(特図1又は特図2)を示し、開始する特図変動表示ゲームが特図1変動表示ゲームであるか特図2変動表示ゲームであるかを判別する。従って、ステップA14204の処理によって、後述のように特図1変動表示ゲームと特図2変動表示ゲームとで変動パターンテーブルを異ならせることができる。また、停止図柄パターンは、特図変動表示ゲームの結果(大当り、小当り、サポ当り、はずれ)に対応する。従って、ステップA14204の処理によって、特図変動表示ゲームの結果に対応して変動パターンテーブルを異ならせることができる。
次に、遊技制御装置100は、変動グループ選択ポインタとオフセットデータを加算して(A14205)、加算して得た値を変動振分情報として変動振分情報領域にセーブする(A14206)。
〔変動パターン設定処理〕
図89は、第3実施形態に係る変動パターン設定処理の手順を示すフローチャートである。変動パターン設定処理は、特図1変動開始処理と特図2変動開始処理において実行される(A3406、A3506)。なお、図89の処理では、第1実施形態の図29と異なり、簡単のため前半変動と後半変動の区別はなくしたが、区別してもよい。また、簡単のため、変動パターン乱数1~3のうち一つの変動パターン乱数(例えば変動パターン乱数2)しか使用しない。
遊技制御装置100は、まず、変動選択アドレステーブル(変動グループテーブル)を設定する(A14301)。そして、変動振分情報(A14206)に対応する変動パターンテーブル(変動パターン選択テーブル、変動選択テーブル)のアドレスを取得し、準備する(A14302)。ここで、変動パターンテーブルは、一又は複数の変動パターン(変動番号)の集まりからなる変動パターン群であり、そのアドレス(例えば先頭アドレス)を取得することによって設定される。前述のように、特図情報設定処理(図88)において、変動振分情報は、遊技状態に対応する演出モード、変動図柄判別フラグ、停止図柄パターンに基づいて設定される。このため、各遊技状態(通常遊技状態、移行状態、特定遊技状態A-C)、特図種別(特別図柄の種類:特図1又は特図2)、特図変動表示ゲームの結果(大当り、小当り、サポ当り、はずれ)に対応して、変動パターンテーブル(変動パターン群)を設定することができる。
その後、対象(特図1又は特図2)の変動パターン乱数2格納領域(保留数1用)から変動パターン乱数2をロードし、準備する(A14303)。そして、振り分け処理(A14304)を行い、振り分けられた結果得られた変動番号を取得し、変動番号領域にセーブする(A14305)。変動番号は、所定の変動パターンに対応付けられており、所定の変動パターン(例えばノーマルリーチはずれA、SP3リーチ大当りBなど)を示す。このように、変動パターン設定処理において、変動パターンテーブルに基づいて、抽選としての振り分け処理によって、変動パターンとしての変動番号が設定されることになる。
〔変動開始情報設定処理〕
図90は、第3実施形態に係る変動開始情報設定処理の手順を示すフローチャートである。変動開始情報設定処理は、特図1変動開始処理と特図2変動開始処理において実行される(A3407、A3507)。なお、図90において、第1実施形態の図32と同様の処理には同じステップ番号を付して説明を省略する。図90の処理では、第1実施形態の図32と異なり、簡単のため前半変動と後半変動の区別はなくしたが、区別してもよい。
遊技制御装置100は、特図2変動表示ゲームの結果が小当りでもなく大当りでもない場合(A4600bの結果が「N」)、時短モード#1又は残保留消化モードであるか否かを判定する(A4600c)。時短モード#1又は残保留消化モードである場合に(A4600cの結果が「Y」)、大当り終了後の特図2変動回数(特図2変動表示ゲームの実行回数)に対応する変動時間値を特図ゲーム処理タイマ領域にセーブする(A4615)。これにより、時短モード#1又は残保留消化モードにおいて、はずれの場合には(サポ当りはなし)、特図2変動表示ゲームの変動時間値は、大当り終了後の特図2変動回数ごとに設定され回転数制御がなされる。時短モード#1又は残保留消化モードでの回転数制御によって、遊技の興趣が向上する可能性がある。
なお、ステップA4600cにおいて、代わりに、特定遊技状態A(時短モード#1、#2)又は残保留消化モードであるか否かを判定して、特定遊技状態A又は残保留消化モードにおいて、はずれの場合には、特図2変動表示ゲームの変動時間値の回転数制御がなされてもよい。或いは、ステップA4600cにおいて、残保留消化モードであるか否かのみ判定して、残保留消化モードにおいてのみ、はずれの場合には、特図2変動表示ゲームの変動時間値の回転数制御がなされてもよい。ステップA4600cにおいて、時短モード#1であるか否かのみ判定して、時短モード#1においてのみ、はずれの場合には、特図2変動表示ゲームの変動時間値の回転数制御がなされてもよい。
遊技制御装置100は、開始する変動表示ゲームが特図2変動表示ゲームでなく特図1変動表示ゲームである場合に(A4600aの結果が「N」)、特図2変動表示ゲームの結果が小当り又は大当りである場合に(A4600bの結果が「Y」)、又は、時短モード#1でも残保留消化モードでもない場合に(A4600cの結果が「N」)、ステップA14601-A14605の処理を実行する。
遊技制御装置100は、対象の変動パターン乱数2の乱数格納領域をクリアする(A14601)。そして、変動時間値テーブルを設定し(A14602)、変動時間値テーブルを用いて、変動パターンを示す変動番号に対応する変動時間値を取得する(A14603)。これにより、変動パターンに対応する変動時間値が得られる。続いて、変動時間値を特図ゲーム処理タイマ領域にセーブする(A14604)。その後、変動番号(つまり変動パターン)に対応する変動コマンド(MODE,ACTION)を演出コマンドとして準備する(A14605)。これにより、次の演出コマンド設定処理(A4610)によって、変動コマンド(MODE,ACTION)が演出制御装置300に送信される。
なお、図90において、ステップA4600a、A4600b、A4600c、A4615、A4616の処理をなくして、全ての場合に、変動番号(変動パターン)に対応する変動時間値を取得してもよい(A14603)。
〔変動パターンテーブルの設定状況〕
図91は、図88と図89等の処理に基づいて設定される変動パターンテーブル(変動パターン選択テーブル、変動選択テーブル、変動パターン群)(A14302)の設定状況を、各遊技状態と特図種別(特図1又は特図2)に対して示す表である。前述のとおり、特図1変動表示ゲーム(第1変動表示ゲーム)の変動パターンを抽選によって選択するために、特図1変動パターンテーブルが設定され、特図2変動表示ゲーム(第2変動表示ゲーム)の変動パターンを抽選によって選択するために、特図2変動パターンテーブルが設定されている。
特図1変動表示ゲームに係る特図1変動パターンテーブルは、電サポ無しである通常遊技状態(通常モード)、中サポである特定遊技状態C(時短モード#4)、高サポである特定遊技状態B(時短モード#3)において、共通の同じ変動パターンテーブルAが設定される(A14302)。そして、この変動パターンテーブルAを参照して、特図1変動表示ゲームの変動パターン(変動番号)が振り分け処理(A14304)による抽選によって選択される。
特図2変動表示ゲームに係る特図2変動パターンテーブルは、通常遊技状態において、特図1変動パターンテーブルと同じく、変動パターンテーブルAが設定される。一方、通常遊技状態と異なって、特定遊技状態Cと特定遊技状態Bにおいて、特図2変動パターンテーブルは、共通の同じ変動パターンテーブルCが設定される。
図82のように、天井回数到達によって特定遊技状態Cから特定遊技状態Bに遷移する場合に、時短状態(時短モード)であることに変化はないため、同一の特図種別の変動表示ゲーム(特図1変動表示ゲーム又は特図2変動表示ゲーム)に関して、変動パターンテーブルを変えずに同じにしておくと違和感が少なく、また、遊技規則等にも違反しない。なお、変動パターンテーブルを同じにすると、変動パターン或いは変動表示ゲームの変動時間値が共通化され、違和感が少なくなる。
このため、特定遊技状態Cと特定遊技状態Bにおいて、特図1変動パターンテーブル(第1変動パターン群)として共通の同じ変動パターンテーブルAが設定され、特図2変動パターンテーブル(第2変動パターン群)として共通の同じ変動パターンテーブルCが設定されることになる。また、通常遊技状態から特定遊技状態Cに遷移する場合に、左打ち状態で主変動表示ゲームが特図1変動表示ゲームであることに変化はないため、違和感が少ないように、通常遊技状態と特定遊技状態Cとで、特図1変動パターンテーブルとして共通の同じ変動パターンテーブルAが設定されることになる。
なお、特定遊技状態Cから特定遊技状態Bに遷移する場合に、普電サポートの種類(状態)は中サポから高サポに遷移して遊技の内容が大きく変化するため、主変動表示ゲーム(特定遊技状態Cで特図1変動表示ゲーム、特定遊技状態Bで特図2変動表示ゲーム)の変動パターンの種類を普電サポートの変化に合わせて明確に切り替えることが好適である。従って、特定遊技状態Cと特定遊技状態Bの両方において、特図1変動パターンテーブル(第1変動パターン群)と特図2変動パターンテーブル(第2変動パターン群)は、変動パターンテーブルAと変動パターンテーブルCのように、異なったものが設定されている。
また、図91には示していないが、特定遊技状態A(a時短、時短モード#1、#2)において、特図1変動パターンテーブルは、共通の変動パターンによる演出の共通性確保と開発コスト削減のため、特定遊技状態B、Cと同じく変動パターンテーブルAでもよいし、演出バリエーションの増加のため変動パターンテーブルA以外でもよい。同様に、特定遊技状態Aにおいて、特図2変動パターンテーブルは、演出の共通性確保とコスト削減のため特定遊技状態B、Cと同じく変動パターンテーブルCでもよいし、演出バリエーションの増加のため変動パターンテーブルC以外でもよい。
或いは、特図1変動パターンテーブルは、特定遊技状態Aのうち時短モード#2において、共通の変動パターンによる演出の共通性確保と開発コスト削減のため、特定遊技状態B、Cと同じく変動パターンテーブルAでもよいし、時短モード#1において、時短モード#2や特定遊技状態B、Cに比較して時短回数が極めて少ないので、演出上の区別を付けるために変動パターンテーブルA以外でもよい。同様に、特図2変動パターンテーブルは、時短モード#2において、演出の共通性確保と開発コスト削減のために特定遊技状態B、Cと同じく変動パターンテーブルCでもよいし、時短モード#1において、演出上の区別を付けるために変動パターンテーブルC以外でもよい。
また、図91の変動パターンテーブルの設定は、変動表示ゲームの結果によらず同じでよい。或いは、図91の変動パターンテーブルの設定は、変動表示ゲームの結果(大当り、小当り、サポ当り、はずれ)に応じて変わることになってもよい。例えば、変動表示ゲームの結果がはずれの場合には図91に示す通りだが、小当り又は大当りの場合には、特図1と特図2や遊技状態に関係なく共通の変動パターンテーブルDを用いて、特図1と特図2や遊技状態によらず変動パターン或いは変動時間値を共通化してよい。
〔演出画面の一例〕
図92は、第3実施形態に係る表示装置41の表示画面として演出画面を示す図である。(A)は、普電サポートの無い通常遊技状態の演出モードである通常モードの演出画面を示し、(B)は、中サポの特定遊技状態Cの演出モードである時短モード#4の演出画面を示す。
図92(A)では、通常モードに対応したモード表示679として「ハイスクールモード」や「ハイスクールステージ」などと表示され、学校を模した背景画像が表示される。ここでは、モード表示679と背景画像は静止画であるが、動画でもよい。変動回数表示677は「95G」であり、大当り終了後の特図変動表示ゲームの実行回数(確変状態での回数を除く)が95であることを示す。また、変動回数表示677は、天井回数までの残りのゲーム回数(天井回数-実行回数)を示してよい。表示画面の右上の特図1保留数表示部650と特図2保留数表示部660には、それぞれ、特図1保留数(特図1始動記憶数)を示す数字「4」と特図2保留数(特図2始動記憶数)を示す数字「0」が表示されている。
表示画面において、飾り特別図柄(大図柄)として、左図柄611a、右図柄611b、及び、中図柄611cを変動表示することができる。左図柄611a、右図柄611b、中図柄611cの変動表示は、各々、左の変動表示領域610A、右の変動表示領域610B、中央の変動表示領域610Cに表示される。さらに、飾り縮小図柄(小図柄)の変動表示が表示画面右側の変動表示領域615で実行される。
左図柄611aと右図柄611bは、縦スクロールで変動表示される。例えば、縦スクロールでは、1から7までの数字に対応する7個の一連の複数の図柄(飾り識別図柄)が、順番に表示画面に出現して縦方向(上下方向)に表示画面を横切って移動した後、表示画面から消える。表示領域の節約のため、中図柄611cは、左図柄611aと右図柄611bの縦スクロールとは変動表示の方向が異なり、軸を中心に回転するように遊技者に視認される回転変動で変動表示される。なお、回転変動に代えて、重なった一連の複数の図柄が前後方向に移動するように遠近法などによって見せる前後変動(前後スクロール)が行われてもよい。また、中図柄611cは、左図柄611aと右図柄611bと同じく、縦スクロールさせてもよい。
左図柄611aは、キャラクタを示すキャラクタ画像612a(キャラクタ構成要素、キャラクタ部)と数字(文字)を示す文字画像613a(文字構成要素、文字部)から構成される。なお、左図柄611a全体の横幅を短くするために、キャラクタ画像612aと文字画像613aは、中心をスクロール方向(縦方向)にほぼ並べて配置され、文字画像613aは、キャラクタ画像612aの中心軸上に位置する。同様に、右図柄611bは、キャラクタを示すキャラクタ画像612bと数字を示す文字画像613bから構成される。なお、右図柄611b全体の横幅を短くするために、キャラクタ画像612bと文字画像613bは、中心をスクロール方向(縦方向)にほぼ並べて配置され、文字画像613bはキャラクタ画像612bの中心軸上に位置する。また、表示領域を節約するため、中図柄611cは、数字を示す文字画像613cだけから構成される。
なお、通常モードにおいて、識別情報としての1から7までの複数の数字は、例えば、1(緑)、2(青)、3(橙)、4(青)、5(緑)、6(青)、7(橙)のように同色でなく、少なくとも一つの数字が他と異なる色となる。なお、偶数の数字は同色(寒色系)でよい。奇数の数字は、偶数の数字と異なる色で、緑(中性色系)や橙(暖色系)など複数の色を含んでよい。また、本実施形態において、飾り特別図柄が、キャラクタと数字を含む場合に、キャラクタは数字に一対一で対応して数字ごとに異なるが、この限りでなく、異なる数字に対して同じキャラクタを用いてもよい。
変動表示ゲーム実行前の第1始動記憶(特図1始動記憶)を第1保留表示として表示する第1保留表示部630a(待機領域)において、保留表示682a(第1保留表示)が4つ表示される。保留表示682aは、トランプを模した表示態様を有する。また、保留消化領域640では、実行中の特図1変動表示ゲームに係る変動中保留(この特図変動表示ゲームの実行権利となっていた始動記憶)を示す変動中保留表示682bが、めくったトランプを模した表示態様で表示されている。なお、台座で保留消化領域640を示してよい。なお、変動表示ゲーム実行前の第2始動記憶(特図2始動記憶)を第2保留表示(第2始動記憶表示)として表示する第2保留表示部630bには、ここでは何も表示されていない。
図92(B)では、動画(ムービー)の背景画像(背景ムービー)が表示装置41の全画面で表示される。また、中サポの時短モード#4に対応したモード表示679として、左上隅と右下隅の対向する2か所で、「超絶モード」や「超絶領域」などと表示される。複数のモード表示679は、保留表示682aの背面側のレイヤに表示されるため、右下隅のモード表示679が前面側のレイヤの保留表示682aに隠れて表示されている。しかし、保留表示682aに隠れない左上隅のモード表示679によって、遊技者は現在の演出モードを十分に認識できる。モード表示679は、図92(A)の横方向と異なって斜め方向に表示され、背景画像の動画の一部或いは動画とは独立して、帯状の領域を斜め方向に移動してよい。このように、モード表示679の態様は、時短モード#4と通常モードで明確に異なるため、時短モード#4を通常モードから区別して視認し易くできる。
変動回数表示677は「124G」であり、大当り終了後の特図変動表示ゲームの実行回数が124であることを示す。表示画面の右上隅の残り回数表示696は、時短残り回数、即ち、時短モード#4で今後に実行可能な変動表示ゲームの回数を表示する。表示画面の右上の特図1保留数表示部650と特図2保留数表示部660には、それぞれ、特図1保留数を示す数字「4」と特図2保留数を示す数字「0」が表示されている。なお、中サポであるため、普通変動入賞装置37への入賞によって、特図2保留数表示部660の数字が「0」以外になることも多々ある。
図92(B)の中サポの時短モード#4では、図92(A)の通常モードと同様に、左図柄611aと右図柄611bは、縦スクロールで変動表示され、中図柄611cは、回転変動で変動表示されている。しかし、図92(B)では中サポであることがわかるよう、図92(A)と異なる変動態様でもよく、例えば、中図柄611cが縦スクロールで変動表示されてよく、左図柄611aと右図柄611bは、回転変動で変動表示されてよい。
図92(B)の中サポの時短モード#4では、図92(A)の通常モードと同様に、左図柄611aと右図柄611bは、キャラクタを示すキャラクタ画像と数字を示す文字画像から構成される。中図柄611cは、数字を示す文字画像613cだけから構成される。しかし、図92(B)では中サポであることが明確にわかるよう、図92(A)と異なる飾り特別図柄の構成態様でよく、例えば、中図柄611cがキャラクタ画像と文字画像から構成されてよく、左図柄611aと右図柄611bは、文字画像のみから構成されよい。なお、時短モード#4と通常モードとで、同じ数字に対して同じキャラクタを用いる場合に、共通の特徴によって同じキャラクタであると認識可能な範囲で表示態様を異ならせてよい。
また、中サポの時短モード#4において、識別情報としての1から7までの複数の数字は、例えば、1(赤)、2(赤)、3(赤)、4(赤)、5(赤)、6(赤)、7(赤)のように、暖色系の同色(ここでは赤)である。キャラクタの色も数字と同色(赤)にする。従って、普電サポート無しの通常モードとは異なる中サポの時短モード#4であることが、遊技者にわかり易くなる。また、時短モード#4であることがわかり易くなるように、上部演出ユニット40c及び側部演出ユニット40dなどの盤装飾装置46のLEDや、装飾装置18a、18bなどの枠装飾装置18のLEDも、数字と同色(赤)で発光してよい。なお、時短モード#4と通常モードは、共通に、左打ち状態であり特図1変動表示ゲームが主変動表示ゲームであるため、時短モード#4を通常モードから視覚的に区別し易くすることは重要である。
また、時短モード#4において、変動表示ゲーム実行前の第1始動記憶(特図1始動記憶)を第1保留表示として表示する第1保留表示部630a(待機領域)において、保留表示682a(第1保留表示)が4つ表示される。ただし、図92(A)の通常モードとは異なり、保留表示682aは、星型の表示態様を有する。これによっても、時短モード#4を通常モードから区別し易くできる。また、保留消化領域640では、実行中の特図1変動表示ゲームに係る変動中保留を示す変動中保留表示682bが、星型の表示態様で表示されている。
なお、中サポによって普通変動入賞装置37への入賞があった場合に、変動表示ゲーム実行前の第2始動記憶(特図2始動記憶)を第2保留表示(第2始動記憶表示)として第2保留表示部630bに表示してよい。また、第2保留表示部630bと第1保留表示部630aの区別をなくして、第2保留表示を第1保留表示とともに、共通の保留表示部(待機領域)に表示してもよい。
また、中サポの時短モード#4において、普電サポート無しの通常モードとは異なり、上部演出ユニット40cは、可動役物(可動部材)として、表示装置41の表示画面の遊技者側の前方において、表示画面に沿ってゆっくりと上下動を繰り返して振動するように動作する。これにより、中サポであるとともに時短回数30回の時短モード#2に移行可能な時短モード#4に対して、遊技者の期待を高めて遊技の興趣を向上できる。また、このように時短モード#4で出現可能だが通常モードにおいて出現しない演出(上部演出ユニット40cの動作演出)を設けて、時短モード#4を通常モードから区別し易くできる。なお、上部演出ユニット40cは、特図変動表示ゲームにおいて、飾り特別図柄の変動開始から動作を行い、変動終了時、または、既定の演出が発生した時に動作を停止してよい。
さらに、中サポの時短モード#4において、通常モードで出現可能な演出(予告演出)のうち一部の演出が出現しない。通常モードで出現可能だが時短モード#4において出現しない演出として、保留変化予告のうち特定の態様の保留表示への変化や、可動役物の動作による先読み演出や、特定の種類のセリフ予告や、特定の種類のステップアップ演出などがある。
以上、中サポの時短モード#4と通常モードの演出上の違いを説明したが、さらに中サポの時短モード#4と高サポの時短モード#2、#3と演出上の違いを設けて、時短モード#4を時短モード#2、#3から区別し易くしてよい。例えば、時短モード#4と時短モード#2、#3との間で、モード表示679の表示態様、背景画像、飾り特別図柄の構成態様や変動態様、飾り特別図柄の数字の色彩やキャラクタの色彩、出現可能な演出などを異ならせてよい。
〔外部情報編集処理〕
図93Aは、第3実施形態に係る外部情報編集処理の後半部分の手順を示すフローチャートである。外部情報編集処理は、タイマ割込み処理において実行される(A1319)。なお、図93Aにおいて、第1実施形態の図54Bと同様の処理には同じステップ番号を付して説明を省略する。
遊技制御装置100は、時短信号制御タイマが0でなければ-1更新し(A9527)、その後、時短モード#3(b時短中、特定遊技状態B)であるか否かを判定する(A9528a)。なお、時短信号制御タイマのタイマ初期値は、前述のサポ作動設定処理(図37)のステップA5302において時短信号制御タイマ領域に設定されたものである(例えば128msecの固定時間)。遊技制御装置100は、時短モード#3でない場合に(A9528aの結果が「N」)、ステップA9528cの処理に移行する。
遊技制御装置100は、時短モード#3である場合に(A9528aの結果が「Y」)、時短信号制御タイマが0であるか否かを判定する(A9528b)。時短信号制御タイマが0である場合(A9528bの結果が「Y」)、そのまま外部情報編集処理を終了し、時短信号制御タイマが0でない場合(A9528bの結果が「N」)、大当り3信号のオンデータを外部情報出力データ領域にセーブして(A9529)、外部情報編集処理を終了する。
これにより、天井回数到達による天井時短(b時短)の開始時に、大当り3信号のオンデータが、遊技場内部管理装置(ホールコンピュータ)などの外部装置に、外部情報端子71を介して出力される。その後、大当り3信号のオンデータの出力は、時短信号制御タイマ領域に設定されたタイマ初期値(例えば128msecの固定時間)の間だけ継続する。
遊技制御装置100は、時短モード#3でない場合に(A9528aの結果が「N」)、時短モード#4(c時短中、特定遊技状態C)以外であるか否かを判定する(A9528c)。時短モード#4(特定遊技状態C)以外の遊技状態である場合に(A9528cの結果が「Y」)、そのまま外部情報編集処理を終了し、時短モード#4(特定遊技状態C)である場合に(A9528cの結果が「N」)、大当り4信号のオンデータを外部情報出力データ領域にセーブして(A9530)、外部情報編集処理を終了する。
これにより、時短図柄(サポ当り)による突然時短(c時短)の開始時に、大当り4信号のオンデータが、遊技場内部管理装置(ホールコンピュータ)などの外部装置に、外部情報端子71を介して出力される。その後、大当り4信号のオンデータの出力は、時短モード#4(特定遊技状態C)の間、継続する。
なお、遊技制御装置100は、ステップA9528cにおいて、時短信号制御タイマが0であるか否かの判定も追加してよい。即ち、ステップA9528cにおいて、時短モード#4以外であるか又は時短信号制御タイマが0であるか否かを判定してよい。このようにすれば、時短モード#4(特定遊技状態C)の開始からタイマ初期値(例えば128msecの固定時間)の間だけ、大当り4信号のオンデータが出力される。
〔大当り信号(外部情報)の出力〕
図93Bは、外部情報としての大当り1~4信号のオン/オフの様子を示すタイムチャートである。(I)は、b時短へ突入する前後(即ち天井回数到達の前後)の様子を示す。(II)は、c時短へ突入する前後(即ち時短図柄導出の前後)の様子を示す。
大当り1信号、大当り2信号、大当り3信号、大当り4信号は、機種により定義される信号であってよい。本実施形態では、大当り1信号は、大当り又は小当りの開始時にオンし、大当り又は小当りの終了時にオフする。大当り2信号は、大当り又は小当りの開始時にオンし大当り又は小当りの終了時にオフする。さらに、大当り2信号は、高サポの時短(中サポの時短を除く)の開始時にオンし残保留消化モードの終了時(最後の残保留に係る変動表示ゲームの停止時)にオフする。
大当り3信号は、大当り又は小当りの開始時にオンし、大当り又は小当りの終了時にオフする。さらに、大当り3信号は、b時短(天井時短)の開始時にオンし短い固定時間(例えば128msec)の経過後にオフする。大当り4信号は、中サポの時短(高サポの時短を除く)の開始時にオンし中サポの時短の終了時にオフする。
図93B(I)において、天井回数到達によってb時短へ突入すると、遊技状態は、通常遊技状態から特定遊技状態Bに変化する。高サポのb時短へ突入すると、時短開始に関する信号として大当り2信号のオンデータ(オン状態の大当り2信号)が出力される。大当り2信号のオンデータの出力は、残保留消化モードの終了時、即ち、最後の残保留に係る変動表示ゲームが停止時まで長時間継続する。
また、b時短へ突入すると、図93Aの処理によって、大当り3信号のオンデータが外部装置に短い固定時間(例えば128msec)の間、出力される。これにより、外部装置は、大当りに起因する時短(a時短)やc時短の発生と区別して、b時短の発生又は天井回数到達を認識できる。また、外部装置は、大当り3信号が大当り又は小当りにより発生する場合(長時間継続する場合)と、大当り3信号がb時短により発生する場合(短時間継続する場合)とを区別することができる。
なお、図93B(I)において、大当り、小当り、c時短は発生しないため、大当り1信号と大当り4信号はオフのままである。
図93B(II)において、時短図柄によってc時短(突然時短)へ突入すると、図93Aの処理によって、大当り4信号のオンデータが外部装置に出力される。これにより、外部装置は、大当りに起因する時短(a時短)やb時短の発生と区別して、c時短(特定遊技状態C)の発生又は時短図柄の導出を認識できる。大当り4信号のオンデータの出力は、c時短(特定遊技状態C)の終了まで長時間継続する。
なお、図93B(II)において、大当り、小当り、b時短は発生しないため、大当り1信号と大当り2信号と大当り3信号はオフのままである。なお、中サポのc時短へ突入しても、高サポの時短で発生する大当り2信号のオンデータ(オン状態の大当り2信号)は出力されない。
〔試験信号の出力〕
図94Aは、試射試験装置に出力される試験信号として、普通図柄1高確率状態信号(1ビット)、普通電動役物1開放延長状態信号(1ビット)、普通図柄1変動時間短縮状態信号(1ビット)、入賞容易状態信号1~4(4ビット)、入賞容易状態確定信号(1ビット)のオン/オフの出力の様子を示すタイムチャートである。図94Bは、中サポと高サポに対応する入賞容易状態信号1~4を例示する。
普通電動役物1開放延長状態信号、普通図柄1変動時間短縮状態信号、普通図柄1高確率状態信号など、普電の状態や普図変動の状態を示す普電普図状態信号は、入賞容易状態信号1~4と同時か遅れてオンに変化でき、普電普図状態信号と入賞容易状態信号1~4のオンタイミングの時間差は0msec以上でよい。入賞容易状態確定信号は入賞容易状態信号1~4と同時か遅れてオンに変化でき、入賞容易状態確定信号と入賞容易状態信号1~4のオンタイミングの時間差は0msec以上でよい。
図94Aは、特に、通常遊技状態→特定遊技状態C(中サポ、c時短)→特定遊技状態B(高サポ、b時短)→大当り状態又は移行状態の順に、遊技状態が遷移する場合を例示する。
通常遊技状態において特図1変動表示ゲームのサポ当りで時短図柄が導出されると、特定遊技状態Cが発生し、普電サポートの種類は中サポ(入賞容易化状態2)となる。この際に、まず、普電サポートの種類を示す4ビットの入賞容易状態信号1~4が、不定の状態から中サポに対応する01Hに変化して、試射試験装置に出力される。続いて、普電サポート状態(入賞容易化状態)が確定したことを示す入賞容易状態確定信号が、所定期間(2msec以上、例えば32msec)だけオンになって試射試験装置に出力される。次に、普電開放時間が長くなることを示す普通電動役物1開放延長状態信号と、普図変動時間が通常遊技状態よりも短縮されることを示す普通図柄1変動時間短縮状態信号が、普電の状態や普図変動の状態を示す普電普図状態信号として、オンに変化して試射試験装置に出力される。図94Aでは、入賞容易状態信号1~4→入賞容易状態確定信号→普電普図状態信号の順に変化している。
その後、特定遊技状態Cにおいて大当り状態終了後に所定条件下(特図低確率状態)で実行される特図変動表示ゲームの回数が天井回数に到達すると、特定遊技状態Bが発生し、普電サポートは高サポ(入賞容易化状態1)となる。この際に、普電サポートの種類を示す4ビットの入賞容易状態信号1~4が、中サポに対応する01Hから高サポに対応する00Hに変化して、試射試験装置に出力される。続いて、普電サポート状態(入賞容易化状態)が確定したことを示す入賞容易状態確定信号が、所定期間(2msec以上、例えば32msec)だけオンに変化して試射試験装置に出力される。そして、普通電動役物1開放延長状態信号と普通図柄1変動時間短縮状態信号が、特定遊技状態Cから引き続きオンに維持されて試射試験装置に出力される。
その後、特定遊技状態Bから大当り状態又は移行状態に遷移すると、入賞容易状態信号1~4が不定の状態になり、普通電動役物1開放延長状態信号と普通図柄1変動時間短縮状態信号がオフとなる。
なお、本実施形態では、図86のように普図当り確率は変化せずに常に一定値250/251であるため、普図当り確率が通常よりも高確率であることを示す普通図柄1高確率状態信号はオンにならない。しかし、高サポの時だけ普図当り確率が高確率になる場合には、点線のように普通図柄1高確率状態信号はオンに変化して試射試験装置に出力される。中サポ及び高サポの両方で普図当り確率が高確率になる場合には、普通電動役物1開放延長状態信号や普通図柄1変動時間短縮状態信号のオン期間と同じ期間に、普通図柄1高確率状態信号はオンになって試射試験装置に出力される。
図95と図96は、試射試験装置に出力される試験信号として、発射位置指定信号1と発射位置指定信号2の出力の様子を示す表とタイムチャートである。発射位置指定信号1と発射位置指定信号2は、共に、右側の遊技領域32に遊技球を発射すべき右打ちを示す信号である。
図95(A)のように、中サポ(特定遊技状態C)において、普図当りによってパターンH1で普電が開放される場合に、発射位置指定信号1がオンして出力されるが発射位置指定信号2はオフする。一方、中サポにおいて、普図当りによってパターンH2で普電が開放される場合に、発射位置指定信号1と発射位置指定信号2の両方がオンして出力される。このように、パターンH1の普電開放とパターンH2の普電開放で、発射位置指定信号1と発射位置指定信号2の出力状態がことなるため、試射試験装置はこれら2種類の普電開放を区別して認識できる。なお、普電開放を区別するために、パターンH1で普電が開放される場合に、発射位置指定信号1と発射位置指定信号2の一方のみをオンして、パターンH2で普電が開放される場合に、他方のみをオンする構成も可能である。また、中サポ中でも普図当りが発生していない期間や、通常遊技状態の期間において、発射位置指定信号1と発射位置指定信号2の両方がオフされる。
図95(B)のように、中サポ以外の電サポ中(高サポ、特定遊技状態Aと特定遊技状態B)、小当り中、大当り中では、右打ち状態であるため、発射位置指定信号1と発射位置指定信号2は、共に、オンして出力される。
例えば、図96のように、パターンH1の普電開放中に小当りがあった場合に、パターンH1の普電開放の開始時に発射位置指定信号1がオンし、小当り開始時に発射位置指定信号2がオンし、小当り終了時に発射位置指定信号1と発射位置指定信号2がオフする。小当り中にパターンH1の普電開放があった場合に、小当り開始時に発射位置指定信号1と発射位置指定信号2がオンし、小当り終了時に発射位置指定信号1と発射位置指定信号2がオフする。小当り終了間際にパターンH1の普電開放があった場合に、小当り開始時に発射位置指定信号1と発射位置指定信号2がオンし、小当り終了時に発射位置指定信号2がオフし、パターンH1の普電開放の終了時に発射位置指定信号1がオフする。
パターンH2の普電開放中に小当りがあった場合に、パターンH2の普電開放の開始時に発射位置指定信号1と発射位置指定信号2がオンし、小当り終了時に発射位置指定信号1と発射位置指定信号2がオフする。小当り中にパターンH2の普電開放があった場合に、小当り開始時に発射位置指定信号1と発射位置指定信号2がオンし、小当り終了時に発射位置指定信号1と発射位置指定信号2がオフする。小当り終了間際にパターンH2の普電開放があった場合に、小当り開始時に発射位置指定信号1と発射位置指定信号2がオンし、パターンH2の普電開放の終了時に発射位置指定信号1と発射位置指定信号2がオフする。
〔大入賞口やレバーソレノイド等の動作〕
図97は、特図1変動表示ゲームの小当り結果の場合において、第2特別変動入賞装置39の上大入賞口の開放動作や、特定領域86を開放させるレバーソレノイド86bのオン/オフ動作などを例示するタイムチャートである。(A)は、残存球エラーの無い状況を示し、(B)は、残存球エラーの有る状況を示す。第2特別変動入賞装置39の上大入賞口の開放と閉塞(閉鎖)に関する動作は、小当り開放中処理(A2612)で制御される。レバーソレノイド86bのオン/オフ動作、即ち、特定領域86の開放/閉塞の動作は、レバーソレノイド制御処理(A2618)で制御される。
図97(A)では、特図1変動表示ゲームの小当り結果の場合に、特図2変動表示ゲームの小当り結果の場合と異なって、第2特別変動入賞装置39の上大入賞口は、短時間だけ一回開放される。この短時間は、例えば、小当り開放時間(例えば1000msec)と上大入賞口への規定数入賞までの時間との短い方の時間である。
この短時間の上大入賞口の小当り開放中に、レバーソレノイド86bがさらに短時間(例えば100msec)だけオンして、特定領域86が開放される。しかし、特定領域86(V入賞口)の開放は非常に短いため、遊技球が特定領域86に入球することはほぼ無い。従って、特図1変動表示ゲームの結果による小当り開放中に、V入賞による大当りはほとんど発生しない。
特定領域86への入球としてのV入賞は、特定領域86の特定領域スイッチ72によって検出される。特定領域スイッチ72は、レバーソレノイド86bがオンすると有効になり、残存球の処理の終了時に無効になる。また、特定領域スイッチ72が有効である間、試験信号として特別電動役物作動中信号がオンになり試射試験装置に出力される。
上大入賞口スイッチ39a(カウントスイッチ)は、上大入賞口に入った遊技球を検出すると、パルス状にオンする。その後、すぐに、残存球排出口スイッチ73又は特定領域スイッチ72が遊技球を検出するため、残存球エラーが無い。なお、特定領域スイッチ72が遊技球を検出した場合には、残存球の処理の終了時に、想定しない異常なV入賞による大当りであることを示すイレギュラー当り情報が、エンディングコマンドとともに演出制御装置300に送信される。そして、演出制御装置300は、異常なV入賞であることを報知するなど、イレギュラー当り情報に対応する処理を実行する。
なお、残存球の処理は、小当り開放の終了時(上大入賞口の閉鎖時)から開始して、残存球カウンタが0になる時と残存球処理時間の経過時との遅い方の時点に終了する。残存球カウンタは、遊技球が上大入賞口スイッチ39aを通過した後に+1更新され、その遊技球(残存球)が残存球排出口スイッチ73又は特定領域スイッチ72で検出されると-1更新される。図97(A)では、残存球処理時間(例えば1900msec)の経過前に、残存球排出口スイッチ73又は特定領域スイッチ72が遊技球を検出して残存球カウンタが既に0になっている。このため、小当り残存球処理(A2613)は残存球処理時間(例えば1900msec)の経過時に実行終了し、この時点で特定領域スイッチ72は無効になる。
本実施形態では、残存球の処理の後に小当りのエンディングになるが、特図ゲーム処理(図16)にゲーム処理番号「6」の処理として小当り終了処理が設けられ、小当り残存球処理(A2613)で設定される小当りエンディング時間(例えば2000msec)の間、小当りのエンディングが継続する。小当り終了処理で特図普段処理に係るゲーム処理番号「0」が設定され特図ゲーム処理番号領域にセーブされる。V入賞による大当りが発生した場合に、ファンファーレ時間の間、ファンファーレコマンド(A5806)に対応するファンファーレ演出(B2102)が実行される。
図97(B)では、図97(A)と同様に、上大入賞口は短時間だけ開放され、この短時間の上大入賞口の小当り開放中に、レバーソレノイド86bが短時間(例えば100msec)だけオンして特定領域86が開放される。特定領域スイッチ72は、レバーソレノイド86bがオンすると有効になる。しかし、残存球エラーがあり、残存球処理時間(例えば1900msec)が経過しても、小当り残存球処理は終了しない。このため、レバーソレノイド86bのオンオフパターン(即ち特定領域86の開放パターン)にしたがって、短時間でのオンオフ後に、インターバル(例えば2900msec)を挟んで、再度、レバーソレノイド86bが長時間オンした後に残存球エラーの解除(残存球の処理の終了)に応じてオフする。ここで、インターバルの時間は、小当り開放時間(例えば1000msec)と残存球処理時間(例えば1900msec)と和になっているが、この限りでない。なお、レバーソレノイド86bのオンオフパターンは、特図1変動表示ゲームによる小当りと特図2変動表示ゲームによる小当り(図98)とで共通に設定されている。
その後、残存球エラーが解除されるまで、小当り残存球処理が継続するとともに、レバーソレノイド86bがオンに維持され、特定領域スイッチ72が有効状態に維持される。そして、特定領域スイッチ72が有効である間、試験信号として特別電動役物作動中信号がオンになり試射試験装置に出力される。残存球エラーが解除されて小当り残存球処理が終了すると、図97(A)と同様に小当りのエンディングになる。
なお、上大入賞口に入った遊技球を検出して上大入賞口スイッチ39a(カウントスイッチ)がパルス状にオンオフしてから残存球エラー監視時間(例えば3000msec)経過すると、残存球エラーの発生中であることを示す残存球エラー発生中フラグがオンに設定される。その後、残存球カウンタが0になると、残存球エラー発生中フラグがオフにされて残存球エラーが解除される。例えば、残存球エラー監視時間に関するタイマの計測や残存球エラー発生中フラグのオンオフは、入賞口スイッチ/状態監視処理(A1308)内に残存球監視処理を設けて実行される。
図98は、特図2変動表示ゲームの小当り結果の場合において、第2特別変動入賞装置39の上大入賞口の開放動作や、特定領域86を開放させるレバーソレノイド86bのオン/オフ動作などを例示するタイムチャートである。(A)は、残存球エラーの無い状況を示し、(B)は、残存球エラーの有る状況を示す。
図98(A)では、特図2変動表示ゲームの小当り結果の場合に、特図1変動表示ゲームの小当り結果の場合(図97)と異なって、第2特別変動入賞装置39の上大入賞口は、短時間(例えば48msec)だけ一回開放された後に、インターバル(例えば2860msec)を挟んで、長時間の間に複数回開放される。例えば、複数回開放は、48msec×19回の開放と424msec×18回の閉塞からなり、この長時間は計8544msec又は上大入賞口への規定数入賞までの時間になる。このような上大入賞口の開放パターンとするため、例えば小当り開放中処理において、普電開放パターンと同様に、制御ポインタによって第2特別変動入賞装置39の開放と閉塞が制御されてよい。
また、図98(A)では、レバーソレノイド86bの前述のオンオフパターンにしたがって、レバーソレノイド86bは、短時間(例えば100msec)でのオンオフ後に、インターバル(例えば2900msec)を挟んで、再度、レバーソレノイド86bが長時間オンした後にオフする。ここでの長時間は、21000msecと残存球の処理が終了するまでの時間の短い方の時間である。なお、特図2変動表示ゲームによる小当りの場合に、レバーソレノイド86bのオンオフパターン(即ち特定領域86の開放パターン)と上大入賞口の開放パターンは、上大入賞口の複数回の開放が開始するまで同様であり、略同期して連動する(レバーソレノイド86bと上大入賞口ソレノイド39bも略同期して連動する)。
上大入賞口スイッチ39a(カウントスイッチ)は、上大入賞口に入った遊技球を検出すると、パルス状にオンする。その後、すぐに、或いは、残存球の処理の前に、残存球排出口スイッチ73又は特定領域スイッチ72が遊技球を検出するため、残存球エラーが無い。なお、特定領域スイッチ72が遊技球を検出した場合に、正常なV入賞による大当りであるため、イレギュラー当り情報は演出制御装置300に送信されない。残存球の処理の終了時には、エンディングコマンドだけが演出制御装置300に送信される。
なお、残存球の処理は、小当り開放の終了時(上大入賞口の閉鎖時)から開始して、残存球処理時間の経過時と残存球カウンタが0になる時(エラー解除時)との遅い方の時点に終了する。図98(A)では、残存球処理時間(例えば1900msec)の経過前に、残存球排出口スイッチ73又は特定領域スイッチ72が遊技球を検出して残存球カウンタが既に0になっているため、小当り残存球処理(A2613)は残存球処理時間(例えば1900msec)の経過時に実行終了し、この時点で特定領域スイッチ72は無効になる。
本実施形態では、残存球の処理の後に小当りのエンディングになるが、小当り残存球処理(A2613)で設定される小当りエンディング時間(例えば4200msec)の間、小当りのエンディングが継続する。なお、特図2変動表示ゲームによる小当りの場合の小当りエンディング時間は、特図1変動表示ゲームによる小当りの場合よりも長い。
図98(B)では、図98(A)と同じ開放パターンで、上大入賞口は開放される。上大入賞口の開放パターンは、残存球エラーの有無によらない。また、図98(B)では、小当り開放終了まで、図98(A)と同じオンオフパターンでレバーソレノイド86bが動作するが、残存球エラーがあるため、残存球処理時間(例えば1900msec)が経過しても、レバーソレノイド86bは長時間21000msecの間オンしたままである。
その後、残存球エラーが解除されるまで、小当り残存球処理が継続するとともに、特定領域スイッチ72が有効状態に維持される。そして、特定領域スイッチ72が有効である間、試験信号として特別電動役物作動中信号がオンになり試射試験装置に出力される。残存球エラーが解除されて小当り残存球処理が終了すると、図98(A)と同様に小当りのエンディングになる。なお、残存球エラーの発生と解除は、図98(B)で説明したとおりである。
[第3実施形態の作用・効果]
第3実施形態に係る遊技機10は、識別情報を変動表示させる変動表示ゲームを実行可能な遊技制御手段(例えば遊技制御装置100)を備える。遊技制御手段は、遊技者に有利な第1の特定遊技状態(例えば特定遊技状態B、特定遊技状態Aでも可)と、第1の特定遊技状態とは発生条件の異なる第2の特定遊技状態(例えば特定遊技状態C)と、を発生可能である。遊技制御手段は、変動表示ゲームとして、第1の始動条件の成立に基づいて第1変動表示ゲーム(例えば特図1変動表示ゲーム)を実行可能であり、第2の始動条件の成立に基づいて第2変動表示ゲーム(例えば特図2変動表示ゲーム)を実行可能である。第1の特定遊技状態及び第2の特定遊技状態において、第1変動表示ゲームの変動パターンを選択するための第1変動パターン群(例えば特図1変動パターンテーブル、変動パターンテーブルA)と、第2変動表示ゲームの変動パターンを選択するための第2変動パターン群(例えば特図2変動パターンテーブル、変動パターンテーブルC)とを異ならせる。
例えば、主変動表示ゲームが、第1の特定遊技状態で第2変動表示ゲームになり第2の特定遊技状態で第1変動表示ゲームになるなど、第1の特定遊技状態と第2の特定遊技状態で主変動表示ゲームが異なることがある。しかし、このような遊技機10では、第1の特定遊技状態でも第2の特定遊技状態でも第1変動パターン群と第2変動パターン群とを異ならせることによって、特図変動表示ゲームで選択される変動パターンの種類を特定遊技状態の種類に合わせて明確に切り替えることができる。このため、特定遊技状態の種類に合わた演出ができ、遊技の興趣を向上することができる。
また、第3実施形態では、第1の特定遊技状態及び第2の特定遊技状態において、第1変動パターン群(例えば特図1変動パターンテーブル)を通常遊技状態と同じにする。従って、第1変動表示ゲームで選択される変動パターンの種類が、通常遊技状態、第1の特定遊技状態、及び、第2の特定遊技状態で共通して演出上の違和感が少なくなり、遊技の興趣を向上することができる。さらに、遊技制御も簡単になる。また、遊技規則等にも違反しないことになる。
また、第3実施形態では、第1の特定遊技状態及び第2の特定遊技状態において、第2変動パターン群(例えば特図2変動パターンテーブル)を同じにする。従って、第2変動表示ゲームで選択される変動パターンの種類が、第1の特定遊技状態及び第2の特定遊技状態で共通して演出上の違和感がなり、遊技の興趣を向上することができる。さらに、遊技制御も簡単になる。また、遊技規則等にも違反しないことになる。
また、第3実施形態に係る遊技機10は、識別情報を変動表示させる変動表示ゲームを実行可能な遊技制御手段(例えば遊技制御装置100)を備え、変動表示ゲームの結果が特別結果となる場合に遊技者に有利な特別遊技状態(例えば大当り状態)を発生可能である。遊技機10は、遊技球が入賞容易な入賞容易状態(例えば開状態)と入賞困難な入賞非容易状態(例えば閉状態)とに変換可能であり、特定遊技状態において通常遊技状態よりも入賞容易状態に変換し易くなる変動入賞装置(例えば普通変動入賞装置37)を備える。遊技制御手段は、所定条件(例えば特図低確率)での変動表示ゲームの実行回数が所定回数(例えば天井回数)になる場合に、特別遊技状態の発生を伴わずに第1の特定遊技状態(例えば特定遊技状態B、b時短)を発生可能であり、変動表示ゲームの結果が特別結果と異なる特定結果(例えば時短図柄)になる場合に、特別遊技状態の発生を伴わずに第2の特定遊技状態(例えば特定遊技状態C、c時短)を発生可能である。遊技制御手段は、変動表示ゲームとして、第1の始動条件の成立に基づいて第1変動表示ゲーム(例えば特図1変動表示ゲーム)を実行可能であり、第2の始動条件の成立に基づいて第2変動表示ゲーム(例えば特図2変動表示ゲーム)を実行可能である。第1の特定遊技状態及び第2の特定遊技状態において、第1変動表示ゲームの変動パターンを選択するための第1変動パターン群(例えば特図1変動パターンテーブル、変動パターンテーブルA)と、第2変動表示ゲームの変動パターンを選択するための第2変動パターン群(例えば特図2変動パターンテーブル、変動パターンテーブルC)とを異ならせる。変動入賞装置(例えば普通変動入賞装置37)は、第2の特定遊技状態(例えば特定遊技状態C、c時短)において、通常遊技状態よりも入賞容易状態に変換し易くなるが、第1の特定遊技状態(例えば特定遊技状態B、b時短)よりも入賞容易状態に変換し難くなる。
主変動表示ゲーム(例えば第2の特定遊技状態で特図1変動表示ゲーム、第1の特定遊技状態で特図2変動表示ゲーム)と普電サポートの種類(例えば第1の特定遊技状態で高サポ、第2の特定遊技状態で中サポ)が第1の特定遊技状態と第2の特定遊技状態で異なることがある。しかし、このような遊技機10では、第1の特定遊技状態でも第2の特定遊技状態でも第1変動パターン群と第2変動パターン群とを異ならせることによって、特図変動表示ゲームで選択される変動パターンの種類を特定遊技状態の種類、ひいては、普電サポートの種類に合わせて明確に切り替えることができる。このため、特定遊技状態の種類、ひいては、普電サポートの種類に合わた演出ができ、遊技の興趣を向上することができる。
また、第3実施形態では、遊技制御手段は、特別遊技状態(例えば大当り状態)の発生を伴って、特別遊技状態に続いて遊技者に有利な第3の特定遊技状態(例えば特定遊技状態A、a時短)を発生可能である。変動入賞装置(例えば普通変動入賞装置37)は、第1の特定遊技状態(例えば特定遊技状態B、b時短)と第3の特定遊技状態(例えば特定遊技状態A、a時短)において、第2の特定遊技状態(例えば特定遊技状態C、c時短)よりも入賞容易状態に変換し易くなる。
従って、第2の特定遊技状態の普電サポートを中サポとし、第1の特定遊技状態と第3の特定遊技状態の普電サポートをを高サポとすることができる。そして、第2の特定遊技状態は、他の複数の特定遊技状態(第1の特定遊技状態と第3の特定遊技状態)とは、遊技者が得られる利益や遊技球の発射態様である打ち方も異なる特色のある特定遊技状態にすることができ、遊技にメリハリが出て遊技の興趣を向上することができる。
また、第3実施形態に係る遊技機10において、遊技球が入賞容易な入賞容易状態と入賞困難な入賞非容易状態とに変換可能であり、特定遊技状態(例えば、時短状態、確変状態、普電サポート状態)において通常遊技状態よりも入賞容易状態に変換し易くなる変動入賞装置(例えば普通変動入賞装置37)を備える。遊技制御手段は、特別遊技状態(例えば大当り状態)の終了後に第1の特定遊技状態(例えば特定遊技状態A又は特定遊技状態B)を発生可能であり、変動表示ゲームの結果が特別結果と異なる特定結果(例えば時短図柄)になる場合に、特別遊技状態の発生を伴わずに第2の特定遊技状態(例えば特定遊技状態C)を発生可能である。遊技制御手段は、第1の特定遊技状態において、第2の特定遊技状態よりも変動入賞装置を入賞容易状態に変換し易くする。遊技制御手段は、変動表示ゲームとして、第1の始動条件の成立に基づいて第1変動表示ゲームを実行可能であり、第2の始動条件の成立に基づいて第2変動表示ゲームを実行可能である。第1の特定遊技状態及び第2の特定遊技状態において、第1変動表示ゲームの変動パターンを選択するための第1変動パターン群(例えば特図1変動パターンテーブル、変動パターンテーブルA)と、第2変動表示ゲームの変動パターンを選択するための第2変動パターン群(例えば特図2変動パターンテーブル、変動パターンテーブルC)とを異ならせる。
例えば、主変動表示ゲームが、第1の特定遊技状態で第2変動表示ゲームになり第2の特定遊技状態で第1変動表示ゲームになるなど、第1の特定遊技状態と第2の特定遊技状態で主変動表示ゲームが異なることがある。しかし、第1の特定遊技状態でも第2の特定遊技状態でも、第1変動パターン群と第2変動パターン群とが互いに異なるようにし、特図変動表示ゲームで選択される変動パターンの種類を、特定遊技状態の種類、ひいては、変動入賞装置が入賞容易状態になる頻度(例えば普電サポートの種類)に合わせて切り替えることができる。このため、特定遊技状態の種類、ひいては、変動入賞装置が入賞容易状態になる頻度(程度)に応じた演出ができ、遊技の興趣を向上できる。
また、第3実施形態に係る遊技機10において、遊技制御手段は、第1の特定遊技状態(例えば特定遊技状態A又は特定遊技状態B)において、第2の特定遊技状態(例えば特定遊技状態C)よりも変動入賞装置(例えば普通変動入賞装置37)を入賞容易状態に変換し易くし、変動表示ゲームとして、第1の始動条件の成立に基づいて第1変動表示ゲームを実行可能であり、第2の始動条件の成立に基づいて第2変動表示ゲームを実行可能であり、第2の特定遊技状態において、第1変動表示ゲームの変動パターンを選択するための第1変動パターン群を通常遊技状態と同じにする。
第1の特定遊技状態(例えば特定遊技状態A又は特定遊技状態B)よりも入賞容易状態に変換し難い第2の特定遊技状態(例えば特定遊技状態C)は、変動入賞装置の入賞容易状態に変換する頻度(程度)が第2の特定遊技状態よりも通常遊技状態に近い場合もある。従って、第2の特定遊技状態において、第1変動パターン群を通常遊技状態と同じにすれば、第2の特定遊技状態の第1変動表示ゲームで選択される変動パターンの種類が、通常遊技状態と共通して演出上の違和感を少なくしつつ、入賞容易状態に変換する頻度の異なる2つの特定遊技状態によって遊技の興趣を向上できる。また、遊技制御も簡単になる。特に、第2の特定遊技状態と通常遊技状態において、遊技球の発射態様である打ち方(右打ち又は左打ち)が同じで、主変動表示ゲームが第1変動表示ゲームで共通する場合には、第1変動パターン群を第2の特定遊技状態と通常遊技状態とで同じにして第1変動表示ゲームの変動パターンの種類を共通化する利点が大きくなる(共通化しない場合には違和感が大きくなってしまう)。
[第4実施形態]
図99から図107を参照して、第4実施形態について説明する。なお、以下で述べる以外の構成は、第1実施形態から第3実施形態までの実施形態と同様でよい。また、以下の実施形態では、第1実施形態から第3実施形態と同じ機能を果たす構成には同一の符号を用い、重複する記載を適宜省略して説明する。
第4実施形態は、安全装置の状態又は安全装置カウンタ値(差玉数+初期値)に応じた演出系の装置の態様(表示態様、発光態様、動作態様)などに関するものである。演出系の装置は、演出を実行可能な装置であり、例えば、表示装置41や、演出用LED等からなる装飾装置(盤装飾装置46又は枠装飾装置18など)、動作可能な可動役物(可動体、盤演出装置44、枠演出装置)がある。なお、遊技制御装置100が実行する制御は、第1実施形態から第3実施形態までの他の実施形態と同様である。
〔安全装置の状態等に応じた演出系の装置の態様〕
図99は、安全装置の状態に応じた演出系の装置の態様などを示すテーブルである。図99のように、安全装置の状態又は安全装置カウンタ値(ひいては差玉数)に応じて、演出系の装置の態様が変化する。
第1実施形態で説明したとおり、0~189999の安全装置カウンタ値(-100000~89999の差玉数)に対応して安全装置の状態は未作動状態(作動予告状態や作動警告状態や作動状態でない通常状態)になる。190000~194999の安全装置カウンタ値(90000~94999の差玉数)に対応して安全装置の状態は、安全装置の作動を予告する作動予告状態になる。195000の安全装置カウンタ値(95000の差玉数に到達)に対応して、安全装置の作動を警告する作動警告状態又は安全装置が作動中である作動状態(作動中状態)になる。
なお、195000の安全装置カウンタ値で、安全装置は、大当り中又は小当り中の場合に作動警告状態になり、大当り中でも小当り中でもない場合に作動状態になる。従って、大当り又は小当りが発生する前に、安全装置が作動状態になると、直後から遊技停止状態(遊技不可状態、遊技禁止状態)が発生し、作動警告状態は発生しないことになる。
一方、作動警告状態は、大当り中又は小当り中に安全装置カウンタ値が195000に達すると発生可能である。このため、大当り又は小当りが終了することによって大当り中でも小当り中でもなくなると、安全装置は作動警告状態から作動状態(作動中状態)に移行する。
0~194999の安全装置カウンタ値(-100000~94999の差玉数)の安全装置の未作動状態又は作動予告状態において、遊技機の状態(遊技状態)は、遊技中又は客待ち中(客待ち状態)である。また、195000の安全装置カウンタ値(95000の差玉数に到達)では、遊技機の状態は、安全装置の作動警告状態において小当り中又は大当り中であるが、安全装置の作動状態において遊技停止状態(遊技不可状態、遊技禁止状態)である。なお、強エラー2が発生している場合においても、同じ遊技停止状態が発生可能である。
遊技停止状態において、遊技として特図変動表示ゲーム、普図変動表示ゲーム、及び、ラウンド遊技(大当り中や小当り中での遊技)等を実行できない。このようにするため、第1実施形態のとおり、遊技停止状態において、入賞口スイッチでの遊技球の検出が無効となって入賞口(入賞)は無効になり(A2201で「Y」)、大入賞口、特定領域86、普通変動入賞装置37等が閉鎖するようソレノイドは停止して(A1602とA1603で「Y」)、球発射装置からの遊技球の発射が停止(禁止)され発射停止となり(A1611とA1612で「Y」)、一括表示装置50は消灯する(A1610とA1612の結果が「Y」)。遊技停止状態において、特図変動表示ゲームや普図変動表示ゲームが継続できなくなるだけでなく、新たな特図変動表示ゲームや新たな普図変動表示ゲームは開始できないことになる。なお、安全装置の作動した遊技停止状態において、発射停止としない構成も可能である(強エラー2に起因して発生した遊技停止状態においても、発射停止としなくてもよい)。また、遊技停止状態において、第1実施形態のとおり、払出コマンド送信処理(A1307)は停止されず、遊技停止状態となる前に発生した入賞による賞球の払い出しは継続される。
遊技停止状態において、ホールコンピュータなどの外部装置に外部情報信号として出力されるセキュリティ信号が発生し(A9322)、遊技機エラー状態信号のオンデータとして試射試験装置へ出力される試験信号が発生する(A9323)。なお、安全装置の作動した遊技停止状態において、試験信号(遊技機エラー状態信号)を発生しない構成も可能である(強エラー2に起因して発生した遊技停止状態においても、試験信号を発生しなくてもよい)。
安全装置の未作動状態において、表示装置41は、基本的に安全装置に関連する安全装置関連表示は表示しないが、例外的に、客待ち中などにおいて、特定機種表示541(例えば「コンプリート機能搭載」の文字)などによって、安全装置付きの機種であることを表示してよい。特定機種表示541を見た遊技者は、遊技機10が安全装置(コンプリート機能)を有することを認識できる。
安全装置の作動予告状態において、表示装置41は、安全装置関連表示(又は安全装置作動情報表示)として作動予告表示511(例えば「まもなく打ち止めです」の文字)を表示する。作動予告表示511を効果的に表示するために、作動予告表示511の表示態様は、客待ち中や変動表示中(特図変動表示ゲームの実行中)などの遊技状態に応じて変化してよい。なお、作動予告状態の開始時において、演出制御装置300は、安全装置作動関連コマンドとして作動予告状態に対応する作動予告コマンドを受信しているため、表示装置41で作動予告表示511が可能となる(B1330の安全装置系処理)。
作動予告表示511によって遊技者に遊技をできなく可能性を事前に報知して、遊技者に遊技を終了させることを促し、遊技者が意図せず不利益を受けることを防止できる。また、作動予告表示511によって、不正を行っている者には驚きを与えて、不正を止めることを促すことができる。作動予告表示511の表示態様を遊技状態(例えば客待ち中、変動表示中)に応じて異ならせて、適切に予告表示を行うことができる。
小当り中や大当り中の安全装置の作動警告状態において、表示装置41は、安全装置関連表示として作動警告表示512(例えば「当り終了後に打ち止めとなります」の文字)を表示する。なお、作動警告状態の開始時において、演出制御装置300は、安全装置作動関連コマンドとして作動警告状態に対応する作動警告コマンドを受信しているため、表示装置41で作動警告表示512が可能となる(B1330の安全装置系処理)。
安全装置の作動状態(小当り中や大当り中でない)、即ち遊技停止状態において、表示装置41は、安全装置関連表示として作動中表示513(例えば「打ち止め中」の文字)を表示する。なお、作動状態の開始時において、演出制御装置300は、安全装置作動関連コマンドとして作動状態に対応する作動中コマンドを受信しているため、表示装置41で作動中表示513が可能となる(B1330の安全装置系処理)。
なお、演出制御装置300は、安全装置の作動を予告する作動予告表示511、安全装置の作動を警告する作動警告表示512、安全装置の作動中であることを示す作動中表示513を表示装置41等(表示手段)に表示可能な表示制御手段を構成する。
なお、表示装置41は、安全装置が作動した遊技停止状態においても、エラー表示を表示可能である。例えば、遊技停止状態においても払い出しは継続されるため、遊技球(遊技媒体)の払い出しに関する払い出しエラーが発生することがあるが、表示装置41は、エラー表示によって払い出しエラーを報知可能である。なお、強エラー2が発生している場合にも遊技が停止し遊技停止状態(遊技不可状態、遊技禁止状態)となるが、強エラー2による遊技停止状態において、表示装置41は、ホール関係者や遊技者にエラー発生を認識させるためエラー表示によって払い出しエラーを報知可能としてもよいし、強エラー2と混同しないよう払い出しエラーを報知不可としてもよい。
遊技停止状態において、未作動状態や作動予告状態や作動警告状態とは異なり、一括表示装置50と性能表示装置152の発光部(LED)は全て消灯する(全消灯)。なお、遊技停止状態において、一括表示装置50と性能表示装置152の発光部(LED)は全て点灯してもよい(全点灯)。遊技停止状態において、球貸ボタン27は有効のままであり、遊技球を借りる場合に遊技者が操作すると、払出装置から遊技球が上皿21に払い出されてよい。
遊技停止状態において、作動中コマンドを受信した演出制御装置300は、枠装飾装置18や盤装飾装置46のLEDなど遊技機10に設けられた演出用LEDを、全て消灯するか(全消灯)又は全て点灯する(全点灯)。ただし、エラーの発生中は、一部または全ての演出用LEDが赤色で点灯してもよい。また、遊技停止状態において、演出制御装置300は、スピーカ19からの音声出力を停止して無音としてよい。
また、遊技停止状態において、演出制御装置300は、ホール・遊技者設定モード処理(B0011)を実行せず、操作部への操作があった場合でも演出用LEDや液晶(表示装置41等)の輝度やスピーカ19の音量を調整不可にして、既定(デフォルト)の輝度や音量にしてよい。なお、例えば、既定の輝度はゼロ又は所定値でよく(全消灯又は全点灯)、既定の音量はゼロ(無音)でよい。また、ホール・遊技者設定モード処理(調整処理)では、遊技場の責任者や遊技者の操作部(十字キースイッチ450、音量調整用ボタンスイッチ451a,451b、遊技機裏面の音量調節スイッチ335等)への操作に応じて遊技機10の音量調整や輝度調整などの各種調整を実行可能である。このように、遊技停止状態において、遊技者等の操作があった場合でも音量調整や輝度調整などの各種調整が実行されないため、遊技者等は遊技停止状態であることを認識し易くなるし、また、既定の輝度や既定の音量が小さければ遊技停止状態において節電できる。
別の構成では、遊技停止状態において、演出制御装置300は、ホール・遊技者設定モード処理(B0011)を実行しても、操作部の操作に対応する操作信号を受け付けないようにして(無視する又は無効にして)、遊技場の責任者や遊技者の操作部への操作があった場合でも既定の輝度や既定の音量にしてよい。この構成の場合に、遊技者が操作可能な第1操作部(十字キースイッチ450、音量調整用ボタンスイッチ451a,451b)に対応する操作信号を受け付けないようにする(無視する又は無効にする)一方で、遊技場の責任者や係員などホール関係者が操作可能な第2操作部(音量調節スイッチ335)に対応する操作信号を受け付けてよい。そして、遊技者の第1操作部への操作があった場合に既定の輝度や既定の音量にして、ホール関係者の第2操作部への操作があった場合には、第2操作部への操作に応じて遊技機10の音量調整や輝度調整を実行してもよい。なお、第2操作部(音量調節スイッチ335)は、遊技機裏面の演出制御装置300上に設けられており、ホール関係者は操作可能であるが、遊技者は操作不可能である。
演出制御装置300は、可動役物(可動部材、電動役物、可動体、盤演出装置44、枠演出装置)の動作中に遊技停止状態が開始した場合(安全装置が作動した場合)に、可動役物が初期位置以外の動作位置に位置していれば、可動役物を動作位置から初期位置に戻すよう移動させてよい。これにより、遊技の実行のできない遊技不可状態で可動部材が動作位置に維持されることを防止できるため、可動部材が故障しているなど不必要な誤解を招くことを防止できる。可動役物(可動部材)が動作位置から初期位置に戻る戻り動作をしている間に、可動役物の演出用LEDは点灯状態(動作状態)であっても消灯状態(初期状態)であってもよい。なお、前述のように、遊技停止状態において、遊技機10に設けられた演出用LEDは、全て消灯するか(全消灯)又は全て点灯する(全点灯)ため、可動役物が初期位置に戻った後、可動役物の演出用LEDは、他のLEDに合わせて消灯するか又は点灯する。
逆に、演出制御装置300は、可動役物(可動部材、電動役物、可動体、盤演出装置44、枠演出装置)の動作中に遊技停止状態が開始した場合(安全装置が作動した場合)に、可動役物が初期位置以外の動作位置に位置していれば、可動役物を動作位置から初期位置に戻さず、動作位置に維持してもよい。この場合に、可動役物が止まって維持される動作位置は、遊技停止状態の開始時の動作位置、タイムラグ等によって遊技停止状態の開始時から可動役物が若干移動した別の動作位置、又は、遊技停止状態の開始時の動作位置と異なる適切な別の動作位置などでよい。なお、前述のように、遊技停止状態において、遊技機10に設けられた演出用LEDは、全て消灯するか(全消灯)又は全て点灯する(全点灯)ため、可動役物は動作位置に位置して停止したままで、可動役物の演出用LEDは、他のLEDに合わせて消灯するか又は点灯していてよい。
このように、遊技停止状態の開始後(安全装置の作動後)、可動役物が初期位置に戻らず所定の動作位置に止まっていれば、不自然なため遊技機10が普通の状態(遊技ができる状態、遊技可能状態)でないことを遊技者に強調できる。例えば、可動役物として盤演出装置44(上部演出ユニット40cなど)が表示装置41の表示画面の前側(前方)などの不自然な位置のまま遊技停止状態となっていると、遊技者は違和感を覚え、遊技機10が普通の状態でないことを認識し易くなる。
可動役物が遊技盤30(センターケース40を含む)に設けられている盤演出装置44である場合に、可動役物の初期位置は、例えば、可動役物が表示装置41の前側(前方)から外れた位置であり、可動役物の動作位置は、例えば、可動役物が表示装置41の前側で表示装置41に重なるような位置である(図103(ク3)における上部演出ユニット40cの位置参照)。また、この場合の初期位置は、センターケース40の裏面側(後側)の収容スペースで可動役物が前側(遊技者側)から視認し難い位置(センターケース40に可動役物の一部が覆われるような位置)などでもよい。また、可動役物がガラス枠15(或いは開閉枠)に設けられている枠演出装置(例えばトップユニットなどの装飾装置18a)である場合、可動役物の初期位置は、例えば、ガラス枠15(或いは開閉枠)内部の収容スペースで可動役物が前側から視認し難い位置(ガラス枠15内に引っ込んで可動役物の一部がガラス枠15に覆われるような位置)であり、可動役物の動作位置は、例えば、可動役物が初期位置よりも前方や上方や斜めに突出した位置である。
なお、強エラー2が発生している場合にも、安全装置が作動した場合と同様に遊技停止状態が発生するが、可動役物の動作中にこの遊技停止状態が開始した場合に、可動役物が初期位置以外の動作位置に位置していれば、演出制御装置300は、可動役物を動作位置から初期位置に戻すよう移動させてよいし、初期位置に戻さずに動作位置に維持してもよい。可動役物を初期位置に戻せば、可動部材が故障しているなど不必要な誤解を招くことを防止できる。可動役物を初期位置に戻さなければ、不自然なため、遊技機10にエラーが発生していることを遊技者が認識し易くなる。
また、他の例として、遊技停止状態において、特図ゲーム処理タイマや役物ゲーム処理タイマや普図ゲーム処理タイマなどの各種ゲーム処理タイマは停止するが、一括表示装置50は消灯せずに、遊技停止状態になったときの表示を継続してよい。さらに、一括表示装置50は、遊技停止状態の開始時において変動表示中であれば、この変動表示が終了してから消灯してもよい。これにより、一括表示装置50で、突然に変動表示が終了することを防止できる。また、遊技停止状態において、性能表示装置152は、表示を継続してもよい。
なお、遊技機10の電源が遮断(オフ)して再度電源投入(オン)すると、安全装置情報初期化処理によって安全装置カウンタ領域や安全装置作動情報領域などが初期化され(A1104-A1106)、安全装置作動予告情報(値1)、安全装置作動警告情報(値2)、安全装置作動中情報(値3)などの安全装置作動情報が消去されるため、表示装置41において安全装置関連表示(作動予告表示511、作動警告表示512、作動中表示513等)は消去されて非表示になってよい。安全装置の作動中に遊技機10の電源が遮断(オフ)した後にRAM初期化スイッチ112がオンの状態で再度電源投入(オン)すると、安全装置作動中フラグ領域も0クリアされ(A1045)、遊技機10は遊技停止状態から遊技できる状態に復帰する。
〔画面遷移の例1〕
図100Aと図100Bは、第4実施形態に関して、表示装置41の表示画面を時系列で示した画面遷移図の一例(例1)である。
(ア)では、電源投入後に遊技機10は客待ち中(客待ち状態)になり、表示装置41は客待ち画面となる。遊技が開始していないため、安全装置カウンタ値は、初期値(10万)である。その後に、遊技機10の前で椅子に着座した遊技者が操作ハンドル24を回転操作し、球発射装置が遊技球を発射して、遊技球が始動入賞口36に入賞するなどして特図変動表示ゲームが実行される。
その後、(イ)では、電源投入後から特図変動表示ゲームが2回実行された状況を示す。安全装置カウンタ値は初期値(10万)から減って99920となっている。なお、大当りが発生するまで、賞球の合計数が大きく増えないため、差玉数(=セーフ球数-排出球数)が排出球数の分減っていく傾向となり、安全装置カウンタ値(差玉数+初期値)も減っていく傾向となる。安全装置カウンタ値又は差玉数を示す差玉コマンドが遊技制御装置100から演出制御装置300に送信される場合には、安全装置カウンタ値又は差玉数(安全装置カウンタ値-初期値)を表示装置41の表示画面で表示してもよい。
電源投入後に通常遊技状態であるため、モード表示679が演出モードとしての通常モードに対応した「Aモード」と表示されている。変動回数表示677は、電源投入後又は大当り終了後の特図変動表示ゲームの実行回数を示し、ここでは電源投入後の特図変動表示ゲームの実行回数が2であることを「2G」のように示す。なお、確変状態が発生可能な機種の場合、変動回数表示677は、天井回数に近付いていることをわかり易くするため、確変状態での回数を除いて、電源投入後又は大当り終了後の特図変動表示ゲームの実行回数を示してよい。また、変動回数表示677は、天井までの残りのゲーム回数(天井回数-実行回数)を示してよい。
第1所定画像675は特図1変動表示ゲームが実行中(変動中)であることを示す記号「○」になっており、第2所定画像676は特図2変動表示ゲームが停止中であることを示す記号「×」となっている。記号「○」を点滅表示して、第四特別図柄(第4図柄)として第4図柄変動を行ってもよい。
表示画面において、飾り特別図柄(大図柄)として、左図柄611a、右図柄611b、及び、中図柄611cを変動表示することができる。左図柄611a、右図柄611b、中図柄611cの変動表示は、各々、変動表示領域610において、左の変動表示領域610A、右の変動表示領域610B、中央の変動表示領域610Cに表示される。本実施形態では、左図柄611a、右図柄611b、及び、中図柄611cは、縦スクロールで変動表示される。さらに、飾り縮小図柄(小図柄)の変動表示が表示画面右側の変動表示領域615で実行される。
変動表示ゲーム実行前の第1始動記憶(特図1始動記憶)を第1保留表示として表示する第1保留表示部630a(待機領域)において、保留表示682a(第1保留表示)が4つ表示される。保留表示682aは、トランプを模した表示態様を有する。また、保留消化領域640では、実行中の特図1変動表示ゲームに係る変動中保留(この特図変動表示ゲームの実行権利となっていた始動記憶)を示す変動中保留表示682bが、めくったトランプを模した表示態様で表示されている。なお、台座で保留消化領域640を示してよい。なお、変動表示ゲーム実行前の第2始動記憶(特図2始動記憶)を第2保留表示(第2始動記憶表示)として表示する第2保留表示部630bには、ここでは何も表示されていない。
表示画面の右上の特図1保留数表示部650と特図2保留数表示部660には、それぞれ、特図1保留数(特図1始動記憶数)を示す数字「4」と特図2保留数(特図2始動記憶数)を示す数字「0」が表示されている。
(イ)の後に大当りが多数発生して、(ウ)では、安全装置カウンタ値が189993(差玉数=89993)となり、安全装置の作動予告状態が開始する予告開始値190000(差玉数=90000)未満であるが、予告開始値190000に近付いている。
(ウ)では、大当り終了後や天井回数到達などで特定遊技状態(時短状態)となっており、モード表示679が演出モードとして時短モードに対応した「花モード」と表示されている。変動回数表示677は、大当り終了後の特図変動表示ゲームの実行回数が73であることを「73G」のように示す。また、時短モードに対応して、遊技者に右打ちするよう指示する右打ち指示表示502が表示されている。
特図1保留数表示部650と特図2保留数表示部660には、それぞれ、特図1保留数を示す数字「0」と特図2保留数を示す数字「1」が表示されている。第1所定画像675は特図1変動表示ゲームが停止中であることを示す記号「×」になっており、第2所定画像676は特図2変動表示ゲームが実行中であることを示す記号「○」となっている。
第2始動記憶を第2保留表示として表示する第2保留表示部630bにおいて、保留表示683a(第2保留表示)が1つ表示される。保留表示683aは、花を模した表示態様を有する。また、保留消化領域640では、実行中の特図2変動表示ゲームに係る変動中保留(この特図変動表示ゲームの実行権利となっていた始動記憶)を示す変動中保留表示683bが、花を模した表示態様で表示されている。なお、台座で保留消化領域640を示してよい。なお、変動表示ゲーム実行前の第1始動記憶を第1保留表示として表示する第1保留表示部630aには、ここでは何も表示されていない。
次に、(エ)では、右打ちによる普通変動入賞装置37(第2始動入賞口)への入賞によって、特図1保留数表示部650と特図2保留数表示部660には、それぞれ、特図1保留数を示す数字「0」と特図2保留数を示す数字「4」が表示されている。第2保留表示部630bにおいて、保留表示683a(第2保留表示)が4つ表示される。
(エ)では、普通変動入賞装置37への入賞によって賞球がいくつか得られて、安全装置カウンタ値は作動予告状態が開始する予告開始値190000より大きくなり190009となっている(安全装置カウンタ値≧190000)。そして、安全装置関連表示として安全装置の作動を予告する作動予告表示511(「まもなく打ち止めです」)が表示される。作動予告表示511は、小さい(短い)表示領域で済む表現も可能となるため、一度に全て表示せずに、画面を横断するようなスクロール表示にしてもよい。なお、この作動予告状態において、作動予告表示511によって安全装置の作動を予告するだけでなく、スピーカからの音声や、演出用LEDの所定態様での発光によって、安全装置の作動を予告してよい。
作動予告表示511によって安全装置の作動を予告して、遊技者に遊技停止状態の可能性があることを事前に報知して、遊技者に遊技を終了させることを促し、遊技者が意図せず不利益を受けることを防止できる。また、安全装置の作動を予告して、不正を行っている者には驚きを与えて、不正を止めることを促すことができる。
作動予告表示511は、他の表示や画像オブジェクトと重ならないように小さく表示される。これにより、他の表示や画像オブジェクトを見やすくできる。ここで、他の表示や画像オブジェクトは、飾り特別図柄(変動表示領域610の大図柄、変動表示領域615の小図柄)、第1所定画像675、第2所定画像676、保留表示682a,682b,683a,683b、保留数表示(特図1保留数表示部650と特図2保留数表示部660の数字)、モード表示679、変動回数表示677、右打ち指示表示502、キャラクタ(図示せず)などである。
なお、作動予告表示511は、他の表示の邪魔にならないよう小さく表示しても、ある程度注目され易くなるよう、揺らして表示したり、表示画面を横切ってスクロールするなど移動してよい。また、作動予告表示511は、ある程度注目され易くなるよう、右打ち指示表示502の近傍(左隣など)に右打ち指示表示502に対向(隣接)して表示されてよい。作動予告表示511は、大きく表示される場合には、他の表示や他の画像オブジェクトと重ならせてもよいが、目立ちやすくするため、他の表示や他の画像オブジェクトよりも前面側のレイヤに表示する。
その後、(オ)では、遊技者は休憩するなどのために操作ハンドル24の操作をやめて遊技球の発射が終わる。そして、第2始動記憶の消化が進み第2保留表示部630bの保留表示683aが消え、特図2保留数表示部660の特図2保留数は「0」になる。変動中保留表示683bだけが表示されている。
安全装置カウンタ値は作動予告状態が開始する予告開始値190000より大きい190055であり、安全装置関連表示として作動予告表示511(「まもなく打ち止めです」)の表示が継続している。変動回数表示677は、大当り終了後の特図変動表示ゲームの実行回数として「77G」と表示されている。
続いて、(カ)では、(オ)の特図2変動表示ゲームが終了し、変動表示領域610と変動表示領域615において飾り停止図柄が「3,7,8」と表示されている。変動中保留表示683bが消え、第2所定画像676は「×」となっている。作動予告表示511は、飾り特別図柄(ここでは飾り停止図柄)と重ならない。安全装置カウンタ値は190055のままである。
続いて、(キ)では、遊技機10は客待ち中(客待ち状態)になり、表示装置41は客待ち画面となる。客待ち中に、安全装置カウンタ値は190055に維持されている。前述のように作動予告表示511(「まもなく打ち止めです」)の表示態様は遊技状態に応じて変化してよく、作動予告表示511の表示態様は、客待ち中において、変動表示中(特図変動表示ゲームの実行中)よりも大きくしてよい。これにより、作動予告表示511を適切に且つ効果的に表示できる。すぐに安全装置が作動して遊技停止となることが予想される作動予告状態において、客待ち中に作動予告表示511を(キ)のように大きく目立つように表示することによって、新たな遊技者(客)が遊技機10を使用することを防止できる。作動予告表示511をさらに目立つように、客待ち中に揺らしたり移動させたりして動作させてもよい。また、作動予告表示511は、目立つように、画面を横断するようなスクロール表示してもよい。
なお、客待ち画面の詳細については、図104で後述するが、客待ち画面での他の表示や他の画像オブジェクト(ここでは機種名表示519「P虎虎虎」)よりも前面側のレイヤで作動予告表示511を表示して、大きな作動予告表示511が客待ち画面での他の表示や他の画像オブジェクトに隠れて見えにくくなる事態を防止する。
その後、(ク)では、遊技者は休憩を終えて遊技を再開した直後である。普通変動入賞装置37への入賞によって、2つの第2始動記憶(特図2始動記憶)が発生して、変動中保留表示683bと保留表示683aが表示されている。特図2保留数表示部660の特図2保留数は「1」になる。そして、変動表示領域610と変動表示領域615において特図2変動表示ゲームが開始し、第2所定画像676は「〇」となっている。変動回数表示677は「78G」と表示されている。安全装置カウンタ値は変化が開始して、190057になっている。客待ち状態の終了後に、作動予告表示511(「まもなく打ち止めです」)は、客待ち状態の開始前の変動表示中と同じ表示態様に戻り、小さく表示されている。
(ク)の後に、連チャン等によって通常モードを経ることなく大当りが多数発生して、(ケ)では、安全装置カウンタ値が194500(差玉数=94500)となり、安全装置の作動開始可能となるカウンタ基準値195000未満であるが、カウンタ基準値195000に近付いている。
なお、安全装置カウンタ値又は差玉数を示す差玉コマンドが遊技制御装置100から演出制御装置300に送信される場合には、演出制御装置300は、安全装置カウンタ値が予告開始値190000よりも大きくカウンタ基準値195000よりも若干小さい所定の値194500に達したことを認識できる。安全装置カウンタ値がこの所定の値194500の場合に、演出制御装置300は、安全装置の作動開始が近いことを、作動予告表示511を点滅させて報知してよい。
(ケ)では、変動中保留表示683bと4つ保留表示683aが表示され、特図2保留数表示部660の特図2保留数は「4」になる。変動回数表示677は「115G」と表示されている。ここで、安全装置の作動による遊技停止によって第2始動記憶が無駄になることを報知するため、演出制御装置300は、変動中保留表示683bと4つ保留表示683aの一部又は全部を点滅させてよい。
なお、(ケ)以降、所定の値194500以上の安全装置カウンタ値(所定値94500以上の差玉数)では、安全装置の作動による遊技停止が近い状況で遊技者に無駄に期待させないよう、演出制御装置300は、保留表示682a,683a等の表示態様(色又は形状)を大当りの期待度に応じて変化させる保留変化予告を禁止して実行しないようにしてよい。一方で、(ケ)以降でも、現在実行中の変動表示ゲームが小当り結果又は大当り結果となる期待度を示唆するため、変動中保留表示682b、683bの表示態様の変化は禁止しなくてよい。また、所定の値194500以上の安全装置カウンタ値で、演出制御装置300は、保留変化予告以外の先読み演出(連続予告演出や先読みゾーン演出等の先読み予告演出)も禁止してよいし、または、先読み演出うちの一部(例えば保留変化予告)だけを禁止してもよい。先読み演出うちの一部として保留変化予告だけを禁止した場合には、保留表示682a,683a自体に直接的に遊技者が期待しないようにしつつ演出性を確保できる。なお、(エ)以降の作動予告状態において、保留変化予告や先読み演出を禁止して実行しない構成も可能である。
また、安全装置カウンタ値が一旦所定の値194500に達した後(差玉数が所定値94500に達した後)は、電源遮断後に再度電源投入されない限り、先読み演出の全部または一部を禁止して実行しないようにしてよい。或いは、安全装置カウンタ値が一旦所定の値194500に達した後に所定の値194500(又は別のもっと小さな値194000)よりも小さくなってしまった場合には、先読み演出の全部または一部を禁止せずに再度実行できるようにしてよい。
なお、遊技制御装置100は、安全装置カウンタ値(差玉数)にかかわらず、始動記憶に基づく特図変動表示ゲームが実行される以前に特図変動表示ゲームの結果を事前に判定可能な特図保留情報判定処理(事前判定処理)を実行して、判定結果を先読み停止図柄コマンドや先読み変動パターンコマンドに含めて演出制御装置300に送信可能である。そして、先読み停止図柄コマンドや先読み変動パターンコマンドを受信した演出制御装置300は、前述と異なり、安全装置カウンタ値(差玉数)にかかわらず、先読み演出(先読み予告演出)を実行してよい。これにより、安全装置カウンタ値(差玉数)が遊技不可状態の発生の近い所定の値194500(差玉数の所定値94500)に達した場合でも、先読み演出を実行でき、遊技の興趣を向上できる。
また、(エ)から(ケ)において表示される作動予告表示511は、安全装置の作動する前に、遊技機10の電源が遮断(オフ)して再度電源投入(オン)すると、安全装置情報初期化処理によって安全装置作動情報領域が初期化されて安全装置作動予告情報(値1)が消去されるため、表示されなくなる。
その後、(コ)では、安全装置カウンタ値がカウンタ基準値195000(差玉数=差玉基準値95000)になっているが、大当り中でも小当り中でもないため、安全装置は作動状態(作動中状態)になり、遊技機10は即時に遊技停止状態となる。なお、大当り結果や小当り結果となる特図変動表示ゲーム中(停止表示中も含んでよい)であっても、カウンタ基準値195000(差玉基準値95000)になれば、安全装置は作動状態になり、遊技機10は遊技停止状態となる(逆に、本実施形態と異なって、大当り結果や小当り結果となる特図変動表示ゲーム中で安全装置を作動状態にしない構成も可能である)。遊技停止状態(遊技不可状態、遊技禁止状態)となったため、安全装置関連表示として作動中表示513(「打ち止め中」)を表示する。作動中表示513は、作動予告表示511よりも、サイズが大きくて目立ち、遊技者が遊技機10を使用しないように安全装置の作動中(遊技停止状態中)であることを強く示唆する。作動中表示513(「打ち止め中」)は、アニメーション表示などによって、目立つように、点滅させたり、揺らしたり、移動させたりしてよい。
作動中表示513によって、遊技(特に新たなゲーム)のできない遊技停止状態であることを報知して、遊技者(客)が遊技機10を使用することを防止でき、不正を行っている者がいれば不正行為を止めさせることができる。なお、作動中表示513(「打ち止め中」の文字画像)を表示する場合に、作動中表示513と異なる所定の画像(第1所定画像675、第2所定画像676、保留表示682a,682b,683a,683b、保留数表示、モード表示679、変動回数表示677、右打ち指示表示502、飾り特別図柄、キャラクタなどの演出画像)を消去して非表示にする。これにより、作動中表示513が遊技者やホール関係者等に認識され易くなる。なお、対照的に、作動予告表示511(「まもなく打ち止めです」)は所定の画像(第1所定画像675、第2所定画像676、保留表示682a,682b,683a,683b、保留数表示、モード表示679、変動回数表示677、右打ち指示表示502、飾り特別図柄、キャラクタなどの演出画像)を表示したままで表示されてよく、作動警告表示512(後述の図101の「当り終了後に打ち止めとなります」)も、ラウンドの回数やラウンド演出(動画)などの画像を表示したままで表示されてよい。
なお、遊技停止状態となったときに、変動表示領域610と変動表示領域615において特図変動表示ゲームが実行中(変動表示中)であれば、特図変動表示ゲームを強制的に中止するか、或いは、背面側のレイヤ(背景よりも背後、最背面側)で実行中の特図変動表示ゲームを視認できない形で継続してもよい。
次に、(サ)では、(コ)の直後において、遊技球の払い出しに関する払い出しエラーを報知する払い出しエラー表示が表示装置41で表示されている。なお、遊技停止状態となる前に発生した入賞による賞球の払い出しが、遊技停止状態となった際又は後に継続して、この払い出しに関する払い出しエラーが発生しているものとする。払い出しエラーとして、払出前の遊技球の不足に対応するシュート球切れエラーや下皿23が満杯になったことに対応するオーバーフローエラーがある。前述のように、これら払い出しエラーは弱エラーに含まれる。
(サ)では、払い出しエラー表示として、シュート球切れエラーを報知する球切れエラー表示520(例えば「球切れエラー」の文字)と、オーバーフローエラーを報知するオーバーフローエラー表示522(例えば「球を抜いてください」の文字)が表示されている。各払い出しエラーが解消されると、対応する各払い出しエラー表示は消去されてよい。このように、安全装置が作動した遊技停止状態でも、払い出しエラーが報知できるため、遊技者やホール関係者等に不利益又は不都合が生じない。なお、遊技制御装置100、演出制御装置300、表示装置41等が協働して、エラーを報知可能な報知手段を構成する。
なお、遊技停止状態となった際又は後に払い出しエラー以外のエラーや不正(枠開放エラーや磁石不正など)が発生している場合にも、遊技者やホール関係者等に不利益又は不都合が生じないように、このエラーや不正を報知するためのエラー表示を行ってもよい。また、エラー(特に払い出しエラー)や不正が発生した場合でも、安全装置カウンタ値がカウンタ基準値195000になっていれば、安全装置が作動して遊技停止状態が発生可能である。
本実施形態では、球切れエラー表示520やオーバーフローエラー表示522などの払い出しエラー表示は、重ならないように作動中表示513(「打ち止め中」)ととともに表示装置41に表示される。作動中表示513を目立つように払い出しエラー表示よりも前面側のレイヤ(最前面レイヤ)に表示して払い出しエラー表示に重ねてもよいし、逆に、払い出しエラー表示を目立つように作動中表示513よりも前面側のレイヤ(最前面レイヤ)に表示して作動中表示513に重ねてもよい。また、払い出しエラーが解消されるまで、払い出しエラー表示だけを表示し作動中表示513を表示しないようにしてもよい。
なお、払い出しエラーなどのエラー表示は、作動予告状態においても、作動予告表示511(「まもなく打ち止めです」)ととともに表示装置41に表示でき、作動警告状態(図101参照)においても、作動警告表示512(「当り終了後に打ち止めとなります」)ととともに表示装置41に表示できる。エラー表示は、目立つように作動予告表示511や作動警告表示512よりも前面側のレイヤに表示してこれに重ねてもよい。
遊技停止状態において、各エラー(特に各払い出しエラー)は、エラー表示に加えて、スピーカ19から音声を出力して報知したり、枠装飾装置18や盤装飾装置46の演出用LEDを特定の発光態様で発光させて報知してよい。例えば、この特定の発光態様は、一部または全ての演出用LEDが赤色で発光するもので、枠装飾装置18のLED(枠のLED)のみ発光してよいし、盤装飾装置46のLED(遊技盤30のLED)のみ発光してよいし、枠装飾装置18と盤装飾装置46の両方のLEDが発光してよい。
例えば、シュート球切れエラーとオーバーフローエラーに対して、エラー表示(球切れエラー表示520やオーバーフローエラー表示522)とともに、スピーカ19からエラー内容を示す音声を出力する(「球切れです」「球を抜いてください」など)。
遊技停止状態と遊技停止状態以外の状態(遊技中又は客待ち中の状態、未作動状態、作動予告状態、作動警告状態)の両方において、各エラー(特に各払い出しエラー)は、同じエラーであることが認識できるように同じ報知態様(報知方法)で報知されてもよいし、遊技停止状態と遊技停止状態以外の状態を区別して認識できるように或いは各々の状態で適したものになるように異なる報知態様(報知方法)で報知されてもよい。なお、前述と異なり、払い出しエラーなどのエラーは、表示装置41でエラー表示をすることなく、スピーカ19からの音声及び/又は演出用LEDの発光のみで報知する構成も可能である。
異なる報知態様で報知する場合に、例えば、シュート球切れエラーに関して、遊技停止状態では、表示装置41の球切れエラー表示520とスピーカ19の音声出力とで報知し、遊技停止状態以外の状態では、球切れエラー表示520と演出用LEDの発光とで報知してよい。また、例えば、オーバーフローエラーに関して、緊急に対処する必要を考慮して、遊技停止状態と遊技停止状態以外の状態とで、共通にオーバーフローエラー表示522と音声出力とで報知するが、これら二つの状態の間で、音声出力の音量や音の高低を異ならせてもよい。また、異なる報知態様で報知する場合に、遊技停止状態では、枠装飾装置18のLEDが発光し、遊技停止状態以外の状態では、盤装飾装置46のLEDが発光してよい。
以上、画面遷移について説明したが、190000の安全装置カウンタ値(90000の差玉数)に到達して安全装置の作動予告状態になった後、安全装置カウンタ値が減っていった場合(差玉数が減っていった場合)に、作動予告表示511(「まもなく打ち止めです」)の表示を消去して非表示にしてもよい。例えば、安全装置カウンタ値が190000に達した後、189000まで減った場合、作動予告表示511を非表示にしてもよい。
例えば、この場合に、安全装置カウンタ値又は差玉数を示す差玉コマンドが遊技制御装置100から演出制御装置300に送信されていれば、演出制御装置300が189000の安全装置カウンタ値を判断して、作動予告表示511を非表示にする。或いは、この場合に、未作動状態に対応する安全装置作動関連コマンドを新たに設けて、189000の安全装置カウンタ値で遊技制御装置100から演出制御装置300に送信して、演出制御装置300は作動予告表示511を非表示にしてよい。なお、前述の安全装置関連処理で送信する安全装置作動関連コマンドには、作動予告状態に対応する作動予告コマンドや、作動警告状態に対応する作動警告コマンドや、作動状態に対応する作動中コマンドがあったが、安全装置関連処理で未作動状態に対応する安全装置作動関連コマンド(未作動コマンド)を演出制御装置300に送信できるようにする。
〔画面遷移の例2〕
図101は、第4実施形態に関して、表示装置41の表示画面を時系列で示した画面遷移図の別の一例(例2)である。図100Aと図100Bでは、(ク)の後に、小当り又は大当りとならずに、(コ)で安全装置カウンタ値がカウンタ基準値195000に達すると即時に安全装置が作動して遊技停止状態となった。しかし、例2では、(ク)の後に、小当り又は大当りとなり、小当り中又は大当り中に安全装置カウンタ値がカウンタ基準値195000に達して作動警告状態となり、小当り状態又は大当り状態の終了後(作動警告状態終了後)に、遊技停止状態になる。
(ケ1)では、(ク)の後に、特図変動表示ゲーム(ここでは特図1変動表示ゲーム)が小当り結果又は大当り結果となり、飾り停止図柄として小当り図柄又は大当り図柄が変動表示領域610と変動表示領域615において表示される。なお、ここでは大当り図柄「3,3,3」が表示される例を示す。安全装置カウンタ値は作動予告状態が開始する予告開始値190000より大きい194278であり、安全装置関連表示として作動予告表示511(「まもなく打ち止めです」)が表示されている。作動予告表示511は、図100Aの(エ)(カ)と同様に、他の表示や他の画像オブジェクトと重ならないように小さく表示される。
変動中保留表示682bが消え、第1所定画像675と第2所定画像676は「×」となっている。モード表示679が演出モードとしての通常モードに対応した「Aモード」と表示されている。変動回数表示677は「170G」と表示されている。特図1保留数表示部650と特図2保留数表示部660には、それぞれ、「3」と「0」が表示されている。第1保留表示部630aにおいて保留表示682aが3つ表示され、第2保留表示部630bには何も表示されていない。
次に、(ケ2)では、小当り又は大当りのラウンド遊技(大当り中や小当り中での遊技)が1回目のラウンドで実行されている。小当りのラウンド遊技の場合にはここでV入賞が発生して次の2回目のラウンドからV入賞による大当り状態が開始するものとする。表示画面では、ラウンド演出が動画などで実行されている。また、大入賞口の開放に対応して、右打ちするよう指示する右打ち指示表示502が表示されている。大入賞口が開放されているため、大入賞口への入賞による多数の賞球(獲得球数、セーフ球数)が得られる。そして、安全装置カウンタ値は(ケ1)から増加して194318であり、安全装置関連表示として作動予告表示511(「まもなく打ち止めです」)の表示が継続している。作動予告表示511は、邪魔にならないようラウンド演出に重ならなくてよいし、重なってもよい。
なお、(ケ2)では、作動予告表示511の表示態様が、(ケ1)の通常遊技(通常遊技状態、通常モード)からラウンド遊技(特別遊技状態、ラウンド演出)への遊技の進行又は演出の進行に応じて変化して、(ケ1)に対して異なってよい。例えば、作動予告表示511は、ラウンド演出の邪魔にならないよう、(ケ1)よりも小さく表示したり目立たない色で表示したり、非表示にしてよい(作動予告表示511の表示態様に非表示を含めてよい)。これにより、遊技の進行又は演出の進行に対応して適切に作動予告表示511を表示できる。特に、作動予告表示511の表示態様を表示装置41での演出の邪魔にならないように遊技の進行又は演出の進行に応じて変化させて、遊技の興趣を向上できる。
その後、(ケ3)では、3回目のラウンドでラウンド演出が実行されている。ここで、安全装置カウンタ値がカウンタ基準値195000に達しているが、大当り中であるため、安全装置はまだ作動せず、作動警告状態となり作動警告表示512(「当り終了後に打ち止めとなります」)が表示装置41に表示される。なお、作動警告表示512は、作動予告表示511よりも、サイズが大きくて目立ち、安全装置の作動(遊技停止状態の発生)の可能性を作動予告状態よりも強く示唆する。作動警告表示512は、邪魔にならないようラウンド演出に重ならなくてよいし、重なってもよい。
その後、(ケ4)では、安全装置カウンタ値はカウンタ基準値195000のままであるが、大当りのエンディング演出が実行され、(ケ3)と同様に作動警告表示512が表示される。作動警告表示512は、邪魔にならないようエンディング演出に重ならなくてよいし、重なってもよい。また、作動警告状態でのエンディング演出は、作動警告状態以外の状態(未作動状態、作動予告状態)でのエンディング演出と異なり、安全装置の作動の直前であるため、安全装置の作動(打ち止め)を示唆するような専用のエンディング演出としてよい。なお、(ケ4)に関して、作動警告状態で小当りのエンディング演出が実行される場合も同様である。
また、(ケ4)では、作動警告表示512の表示態様が、(ケ3)のラウンド遊技(ラウンド演出)からエンディング(エンディング演出)への遊技の進行又は演出の進行に応じて変化して、(ケ3)に対して異なってよい。例えば、作動警告表示512は、エンディング演出の邪魔にならないよう、(ケ3)よりも小さく表示したり目立たない色で表示したり、非表示にしてよい(作動警告表示512の表示態様に非表示を含めてよい)。これにより、遊技の進行又は演出の進行に対応して適切に作動警告表示512を表示できる。特に、作動警告表示512の表示態様を表示装置41での演出の邪魔にならないように遊技の進行又は演出の進行に応じて変化させて、遊技の興趣を向上できる。
このように、作動警告表示512によって、遊技者に小当り又は大当りの終了後に遊技停止状態になることを事前に報知して、連チャンが止まるなど不利益を受けることを遊技者に警告することができる。また、作動警告表示512によって、不正を行っている者には驚きを与えて、不正を止めることを促すことができる。
続いて、(コ1)では、エンディング時間が経過して大当りのエンディングが終了し、即ち、大当り状態が終了し、安全装置が作動して遊技停止状態になる(小当りのエンディングでも同じ)。遊技停止状態において、演出制御装置300は、作動中コマンドを受信したことに対応して、表示画面に作動中表示513(「打ち止め中」)が表示される。作動中表示513は、作動予告表示511と作動警告表示512よりも、サイズが大きくて目立ち、遊技者が遊技機10を使用しないように安全装置の作動中(遊技停止状態中)であることを強く示唆する。
また、(コ1)では、QRコード(登録商標)などの二次元コード524が表示画面に表示される。さらに、スマートフォンや携帯電話などのカメラ付きの情報端末で二次元コード524を読み取ることを遊技者に推奨(促進)する読み取り推奨表示525(読み取り促進表示)が、文字表示(例えば、「続きはスマートフォンでお楽しみください」「カメラで読み取ってください」)も表示画面に表示される。二次元コード524をカメラ付きの情報端末のカメラで読み取って入力することで、この情報端末は、遊技場の外部のサーバーにアクセスでき、遊技の結果をサーバーに記憶させることができ、遊技者はいわゆるスマホ連動サービス(携帯連動サービス)等の連動サービス(連携サービス)を利用することができる。
なお、安全装置の作動(打ち止め)によって遊技停止状態となった場合に、演出制御装置300は、作動中コマンドを受信したこと又は専用のエンディング演出(ケ4)があったことに対応して、演出ポイントを通常の演出で得られる増加量よりも大きく増加(加算)してよい(B0012)。これにより、遊技者は遊技停止となった不快感を緩和できる。大きな演出ポイントの情報は、符号化(エンコード)されて二次元コード524に組み込まれているので、外部のサーバーに記憶される。なお、演出ポイントの情報は、間接的に打ち止めを示す打ち止め情報となるが、打ち止め情報自体が符号化されて二次元コード524に組み込まれてもよい。遊技者は、いつでも情報端末等で外部のサーバーにアクセスして、演出ポイントの情報や打ち止め情報を情報端末に表示することができる。これにより、遊技者は、大きな演出ポイントの情報や打ち止め情報を他者に示して、自慢することができ満足感が得られる。
なお、二次元コード524に代えて、バーコードなどの一次元コードを用いてもよい。また、図100Bの(コ)でも同様に二次元コード524を表示してよい。
次に、(サ)では、図100Bの(サ)と同様に、エラー表示として球切れエラー表示520やオーバーフローエラー表示522が行われている。なお、二次元コード524は所定時間(例えば2分間)表示された後に、表示画面から消去されていてよい。
なお、(コ1)と(サ)の順番を逆にして、エラー表示の後に二次元コード524を表示画面に表示してもよい。或いは、(コ1)において、エラー表示と二次元コード524の両方を表示画面に表示してもよい。この場合に、エラー表示を目立つように作動中表示513と二次元コード524よりも前面側のレイヤ(最前面レイヤ)に表示して、作動中表示513や二次元コード524に重ねてもよい。エラー表示が二次元コード524よりも前面側のレイヤ(最前面レイヤ)で二次元コード524に重ねて表示されると、エラーへの対処の方が二次元コード524の読み取りよりも重要度が高いことを、二次元コード524を読み取れない状態にして報知できる。なお、演出制御装置300は、エラー表示中において、二次元コード524を表示する所定時間(例えば2分間)を計測する表示タイマの更新(タイマ値の更新)を停止又は中断してもよい。この表示タイマの更新が中断した場合には、エラーが解消されて無くなったときに、表示タイマは、中断したときのタイマ値から更新を再開することによって所定時間の計測を再開するか、又は、タイマ値の初期値から更新を開始することによって所定時間を計測し直すようにしてよい。
以上、図101に関して、作動予告表示511(「まもなく打ち止めです」)と作動警告表示512(「当り終了後に打ち止めとなります」)と作動中表示513(「打ち止め中」)は、この順番で大きく表示されるとともに文字表示する文章自体も違うため、表示態様が異なる。なお、表示態様に、文字表示する文章自体も含めてよい。しかし、安全装置関連表示(特定画像、特定の文字画像)として作動予告表示511(特定画像の第1表示態様)と作動警告表示512(特定画像の第3表示態様)と作動中表示513(特定画像の第2表示態様)の表示態様は全体的には異なっても共通性を持たせてよい。例えば、作動予告表示511と作動警告表示512と作動中表示513は、「打ち止め」という文字列が共通であり、同じフォント(書体)で表示されて少なくとも一部の表示態様が共通する(一部の表示態様として色や文字サイズを共通させてもよい)。これにより、各種の安全装置関連表示は、表示態様が共通性を有しある程度揃えられて、共通に安全装置(コンプリート機能、打ち止め機能)に関係する表示であることを印象付けやすくなるとともに、安全装置関連表示以外の他の種類の表示と誤認しないようにできる。作動予告表示511と作動警告表示512と作動中表示513は、エラー表示(球切れエラー表示520やオーバーフローエラー表示522)と誤認しないように、エラー表示とは異なるフォント(書体)や文字サイズや色で表示されるなどして、エラー表示と表示態様において共通性を持たせないように異ならせてよい。
〔遊技状態に応じて異なる作動予告表示の例〕
図102は、第4実施形態に関して、遊技状態に応じて異なる作動予告表示511a-511dを例示する図である。図100Aと図100Bにおいて、遊技状態として(キ)の客待ち中と(オ)(ク)等の変動表示中とで、作動予告表示511(「まもなく打ち止めです」)の表示態様が異なっている。しかし、図102において、(A)通常遊技状態、(B)時短状態、(C)確変状態、(D)特別遊技状態の間で、作動予告表示が適切に表示できるよう、作動予告表示511a-511dに示すように表示態様が異なっている。なお、図102(A)-(D)において、安全装置カウンタ値は、作動予告状態が開始する予告開始値190000より大きくカウンタ基準値195000よりも小さい値(例えば190055)である。
図102(A)は、通常遊技状態(通常モード)での表示装置41の表示画面を示すが、左打ち指示表示503と作動予告表示511aがあること、及び、変動回数表示677の表示内容「170G」を除いて、図100Aの(イ)と同じである。通常遊技状態では、入賞による賞球の数(獲得球数、セーフ球数)があまり得られないため、安全装置が作動して遊技停止状態となる可能性は低い。このため、通常遊技状態の作動予告表示511aは、変動表示など他の表示の邪魔にならないように、例えば表示画面の左端で小さく表示される。遊技者に左打ちするよう指示する左打ち指示表示503が表示されている場合には、作動予告表示511aは遊技者が注目する機会を高めるため左打ち指示表示503の近傍(下隣など)に左打ち指示表示503に対向(隣接)して表示されてもよい。
図102(B)は、時短状態(時短モード)での表示装置41の表示画面を示すが、図100Bの(ク)と同じである。時短状態では、普電サポートによって通常遊技状態よりも賞球が得られ易く、さらに、通常遊技状態よりも大当りとなってセーフ球数が大幅に増加する可能性が高く、安全装置が作動する可能性が高い。このため、時短状態の作動予告表示511bは、通常遊技状態の作動予告表示511aよりも大きく目立つように表示され、安全装置が作動する可能性をより強く報知する。
図102(C)は、確変状態(確変モード)が存在する場合に、確変状態(確変モード)での表示装置41の表示画面を示すが、作動予告表示511c、モード表示679、及び、変動回数表示677を除いて、図100Bの(ク)と同じである。確変状態では、時短状態よりも、大当りとなってセーフ球数が大幅に増加する可能性さらには安全装置が作動する可能性が高い。このため、確変状態の作動予告表示511cは、時短状態の作動予告表示511bよりも大きく目立つように表示され、安全装置が作動する可能性をより強く報知する。
図102(D)は、特別遊技状態(大当り中又は小当り中)での表示装置41の表示画面を示すが、図101の(ケ2)と同様に表示画面においてラウンド演出が実行されている。特別遊技状態では、大入賞口の開放によってセーフ球数が大幅に増加するため、確変状態よりも安全装置が作動する可能性が高い。このため、特別遊技状態の作動予告表示511dは、確変状態の作動予告表示511cよりも大きく目立つように表示され、安全装置が作動する可能性をより強く報知する。作動予告表示511dは遊技者が注目する機会を高めるため右打ち指示表示502の近傍(左隣など)に右打ち指示表示502に対向(隣接)して表示されてもよい。
以上のように、図102では、通常遊技状態、時短状態、確変状態、特別遊技状態の順番で、作動予告表示511a-511dのサイズが大きくなり、目立ち易くなる。なお、他の例として、通常遊技状態、時短状態、確変状態、特別遊技状態の順番で目立つよう、作動予告表示511a-511dの色やフォントがこれら遊技状態に応じて異なってもよい。このようにして、作動予告表示511a-511dで、効果的に安全装置の作動を予告できる。
〔リーチ前後での作動予告表示の例〕
図103は、第4実施形態に関して、変動表示中のリーチ前後での作動予告表示511を例示する図である。
(ク1)は、図100Bの(ク)と同じであるが、飾り特別図柄がリーチ状態となる前を示し、作動予告表示511が表示画面の下部中央から下部左端にかけて表示されている。
次に、(ク2)では、リーチ状態が開始し、左の変動表示領域610Aで左図柄611aが仮停止(例えば揺れ変動)し、右の変動表示領域610Bで右図柄611bが仮停止(例えば揺れ変動)する。リーチ演出として、文字「リーチ」と表示画面に表示されたり、スピーカ19から音声「リーチ」が発生されてよい。作動予告表示511は、仮停止した左図柄611aや右図柄611bの邪魔にならないよう、又は、今後に表示画面の中央で大きく表示されるリーチ演出の邪魔にならないよう、作動予告表示511は、(ク1)のリーチ前とは異なる態様で表示され、例えば表示画面の左端に移動してリーチ前よりも小さく縦書きで表示される。なお、この段階では、ムービー(動画)が表示されたり上部演出ユニット40cが下方に移動するSPリーチとなっていないため、作動予告表示511は、(ク1)と同じ表示態様でもよい。
次に、(ク3)では、(ク2)のNリーチの状態からSPリーチに発展する。ここで、左図柄611aと右図柄611bは、縮小されるとともに各々左上隅と右上隅に移動する。SPリーチ演出として、表示画面の中央ではムービー(動画)が大きく表示される。また、SPリーチ演出として、可動役物として上部演出ユニット40cが初期位置から下方に移動して、表示画面の前方の動作位置に配置される。ここで、作動予告表示511は、表示画面中央のムービーや動作位置にある上部演出ユニット40cの邪魔にならないよう、すでに(ク2)の段階で、(ク1)のリーチ前とは異なる態様で表示され、例えば表示画面の左端に移動してリーチ前よりも小さく縦書きで表示されている。なお、(ク2)で作動予告表示511は、非表示にしてもよい(作動予告表示511の表示態様に非表示を含めてよい)。
なお、(ク3)のSPリーチの段階で初めて、作動予告表示511はリーチ前とは異なる態様で表示されてもよい。また、作動予告表示511は、SPリーチ演出に合わせて、(ク2)のSPリーチ前から表示態様が変化してもよい。例えば、作動予告表示511は、SPリーチ演出の邪魔にならないよう、(ク2)よりもさらに小さく表示したり目立たない色で表示してよい。なお、(ク3)でSPリーチ演出が出現すると、作動予告表示511は、SPリーチ演出の邪魔になるため非表示にしてもよい(作動予告表示511の表示態様に非表示を含めてよい)。
以上、図103のように、作動予告表示511の表示態様は、遊技(ここでは変動表示ゲーム)の進行、或いは、演出の進行に応じて、変化して異なってよい。これにより、遊技の進行又は演出の進行に対応して適切に作動予告表示511を表示できる。特に、作動予告表示511の表示態様を表示装置41での演出の邪魔にならないように遊技の進行に応じて変化させて、遊技の興趣を向上できる。
〔客待ち中の作動予告表示の例〕
図104は、第4実施形態に関して、客待ち中の作動予告表示511を例示する画面遷移図である。演出制御装置300は、客待ちデモ編集処理(B0015)やホール・遊技者設定モード処理(B0011)等によって、客待ち中の表示装置41の客待ち画面を、(キ1)停止時画面→(キ2)遊技者設定画面→(キ3)客待ちデモムービー画面→(キ4)機種名表示画面→(キ5)注意喚起表示画面→(キ1)停止時画面→(キ2)遊技者設定画面→(キ3)客待ちデモムービー画面・・・の順で、循環的に切り替えてよい。なお、客待ち画面として、遊技や演出の内容を説明する遊技説明画面や、遊技機10のメーカのロゴを表示するメーカ表示画面が存在してもよい。
(キ1)の停止時画面は、(カ)の飾り停止図柄が「3,7,8」と表示される停止表示時間(特図ゲーム処理タイマに設定される)が経過した段階である。ここで、客待ちデモ中フラグがセットされ(A3212)、演出制御装置300に客待ちデモコマンドが送信されて(A3213,B1307)、表示装置41は客待ち画面となるが、ここでは(カ)から見かけ上は変化のない停止時画面となる。なお、(カ)からモード表示679や変動回数表示677を消去するなどして、見かけ上も変化させてもよい。停止時画面では、変動表示領域610と変動表示領域615で飾り停止図柄が表示されるとともに、作動予告表示511が飾り停止図柄などの邪魔にならないように小さく表示されている。
次に、(キ2)の遊技者設定画面は、停止時画面が所定期間(例えば20sec)だけ表示された後に表示される。遊技者設定画面では、音量調整用のメータ画像である音量調整画像527と、輝度調整用(光量調整用)のメータ画像である輝度調整画像528(光量調整画像)が表示される。ホール・遊技者設定モード処理(B0011)によって、音量調整用ボタンスイッチ451a,451bの操作に応じてスピーカ19の音量が調整されて音量調整画像527中のメータが上昇又は下降し、十字キースイッチ450の操作に応じて演出用LEDの輝度が調整されて輝度調整画像528中のメータが上昇又は下降する。
(キ2)の遊技者設定画面では、音量調整画像527と輝度調整画像528は、飾り停止図柄や作動予告表示511よりも前面側のレイヤ(最前面レイヤ)で、変動表示領域610及び/又は変動表示領域615の飾り停止図柄や作動予告表示511に重ねて表示されてよい。
次に、(キ3)の客待ちデモムービー画面では、流れ星が流れるような客待ちデモムービー535が表示されている。ここで、客待ちデモムービー535以外の他の表示(飾り停止図柄、特図1保留数表示部650、特図2保留数表示部660、第1所定画像675、第2所定画像676、モード表示679、変動回数表示677など)が消去され、非表示になっている。これにより作動予告表示511は、客待ちデモムービー535以外の他の表示の邪魔にならないため、(キ1)の停止時画面や(キ2)の遊技者設定画面よりも拡大されるように表示態様が変化される。
次に、(キ4)の機種名表示画面では、遊技機10の機種名(例えば型式(正式な名称)である「P虎虎虎」)が機種名表示519として表示される。さらに、機種名表示画面では、遊技機10が安全装置付きの機種(コンプリート機能を搭載した機種)であることを、例えば「コンプリート機能搭載」の文字表示からなる特定機種表示541によって表示してよい。コンプリート機能搭載表示としての特定機種表示541を見た遊技者は、遊技機10が安全装置(コンプリート機能)を有することを認識できる。作動予告表示511は、機種名表示519や特定機種表示541よりも前面側のレイヤ(最前面レイヤ)でこれらに重ねて表示されてよい。なお、特定機種表示541は、(キ3)の客待ちデモムービー画面でも表示してよい。
次に、(キ5)の注意喚起表示画面では、遊技者にのめり込みを注意するための注意喚起表示543が、作動予告表示511や特定機種表示541とともに表示される。(キ5)では注意喚起表示543と作動予告表示511は重ならないが、重なる場合には、注意喚起表示543と作動予告表示511のいずれを前面側のレイヤ(最前面レイヤ)で表示してよい。
その後に、客待ち画面は、再度(キ1)停止時画面になり、さらに(キ2)遊技者設定画面、(キ3)客待ちデモムービー画面へと順番に切り替えられる(移行する)。
以上のように、客待ち中の作動予告表示511の表示態様は、作動予告表示511以外の画像の表示状態、即ち、循環的に切り替えられる客待ち画面の種類(停止時画面、遊技者設定画面、客待ちデモムービー画面、機種名表示画面、注意喚起表示画面)に応じて、異ならせてよい。さらに、客待ち中に、表示装置41の表示画面において、遊技機10が安全装置付きの機種(コンプリート機能を搭載した機種)であることを特定機種表示541によって表示してよい。
〔設定確認中画面の例〕
図105は、第4実施形態に関して、設定確認状態(設定確認モード)における表示装置41の表示画面を例示する。
(A)は、設定確認状態になって最初に表示される表示画面であり、演出制御装置300は、設定確認中であること報知する設定確認中表示545を、文字表示「設定確認中」として表示画面に表示する(B1328)。また、演出制御装置300は、文字表示「設定履歴一覧」や、操作部(ここでは演出ボタン25)を模した操作促進画像546を表示画面に表示する。操作促進画像546は、遊技者の操作部への操作を促すものであり、十字キースイッチ450を模したものでもよい。
(B)は、操作部(ここでは演出ボタン25)の操作があった場合に(A)から切り替えて表示される表示画面であり、設定履歴一覧548が表示されている。設定履歴一覧548では、設定変更や設定確認の有無が過去から現在まで順番に表示され、設定変更時又は設定確認時の確率設定値と、設定変更された確率設定値の継続時間が表示されている。操作部(演出ボタン25)への所定の操作(押下げ操作)で(A)の画面に戻ることを促す操作促進画像546が表示されている。また、操作部(演出ボタン25)への別の所定の操作(スワイプ操作)で設定履歴一覧548をスクロールして過去の履歴を見ることを促す操作促進画像547も表示される。なお、ここでの操作促進画像546や操作促進画像547は、十字キースイッチ450を模したものでもよい。
さらに、設定履歴一覧548では、安全装置が作動して打ち止めになった場合の確率設定値が認識できるように、この確率設定値と対応付けて同じ行に所定のマーク(ここでは☆)が表示されている。これにより、ホール関係者は、大当り確率や小当り確率などの当選確率が大きくなる高設定の確率設定値(例えば5、6)で、意図したとおりに大量の出玉(大きなセーフ球数)が生じて、安全装置の作動(打ち止め)があったか否かを確認できる。そして、確認の結果を今後の確率設定値の変更に活用することができる。
〔特定機種表示の例1〕
図106は、第4実施形態に関して、映像以外で表示される特定機種表示541(コンプリート機能搭載表示)の例(例1)を示す図である。図106では、印刷、印字、又はペイント(塗装)等によって特定機種表示541が表示されている。なお、図104では、特定機種表示541は映像として表示装置41の表示画面に表示されている。
図106は、遊技盤30に設けられる一括表示装置50とその周辺を示している。一括表示装置50のLEDランプD1-D18の周囲において、遊技機10のスペック(仕様)に関する仕様表示がされている。仕様表示として、設定1(最低設定)と設定6(最高設定)における低確率時における大当り確率の表示85a「1/300と1/200」、賞球数の表示85b「3&2&10&14」、ラウンド数上限値の表示85c「3,6,9」、型式(正式な名称)の表示85d「Pxxxxx」、確変状態が存在する機種の場合には、確変大当りに関するリミットの有無の表示85e(ここでは「リミットなし」)が表示される。
賞球数の表示85bでは、始動入賞口36、普通変動入賞装置37、一般入賞口35、及び特別変動入賞装置39の賞球数が、例えば3、2、10、14と順に認識できるように表示される。確変大当りに関するリミットとは、連続して発生する確変大当りの回数が所定のリミット回数に制限されることを意味する(一回の大当りで所定のリミット回数(連荘回数)の大当りが発生可能になる)。
図106において、特定機種表示541は、遊技機10が安全装置付きの機種(コンプリート機能を搭載した機種)であることを、例えば「コンプリート機能搭載」と印刷、印字、又はペイント等された文字によって固定的に常に表示する。特定機種表示541は、遊技機10の電源が遮断されても常に表示されており、さらに、図104のように特定の画面にて映像で表示されるわけでもなく常に表示されている。このため、特定機種表示541は、常に遊技者に認識され易くなるため、映像で表示された特定機種表示541よりも遊技者にとって利便性に優れる。特定機種表示541は、遊技機10が安全装置付きの機種であることを印象付けるために、遊技機10の型式(正式な名称)の表示85dと連ねて表示したり対向して近傍に表示するなど、表示85dと関連付けて表示してよい。
なお、図106の印刷、印字、又はペイント等による特定機種表示541は、図104の映像による特定機種表示541と同じ文字列「コンプリート機能搭載」(同じ表示内容)であるが、これに限られず、違う文字列(異なる表示内容)にしてもよい。図106の特定機種表示541の文字列を例えば「コンプリート機能」などと一部省略して短くすれば、空きスペースの少ない一括表示装置50の周辺を有効に利用できる。
〔特定機種表示の例2〕
図107は、第4実施形態に関して、映像以外で表示される特定機種表示541(コンプリート機能搭載表示)の例(例2)を示す図である。図107でも、印刷、印字、又はペイント(塗装)等によって特定機種表示541が表示されている。
図107では、特定機種表示541は、装飾装置18a(トップユニット)における略平坦な前面部456に表示されている。なお、装飾装置18aは、ガラス枠15(或いは開閉枠)の上部で斜め上の前方に向かって突出する。前面部456では、機種名(ここでは「虎虎虎」)を示す機種名表示456aが、印刷、印字、又はペイント等によって設けられる。機種名表示456aは、映像として表示画面に表示する機種名表示519と表示態様や表示内容が異なってよく、機種名表示456aでは「P」という文字が省略されて型式(正式な名称)でなくてよい。また、前面部456では、機種名に関連するとともに表示装置41の表示画面にも登場可能なキャラクタ456bが、印刷又はペイント等によって設けられる。
特定機種表示541は、前面部456の端部付近で、例えばキャラクタ456bに隣接又は対向する位置において、印刷、印字、又はペイント(塗装)等によって設けられる。
なお、前面部456は、装飾装置18aに対して常時固定されたものでよいし、利便性のために装飾装置18aに対して着脱可能であり機種に応じて交換可能であるものでもよい。また、前面部456は、機種名表示456aとキャラクタ456bと特定機種表示541が印刷等で固定的に表示されたシートやフィルムが挿入でき、シートやフィルムが前方から透明部材(透明プラスチック等)を介して視認できるものでもよい。シートやフィルムは、機種に応じて交換可能であるため、利便性がよい。
〔その他の構成例〕
演出制御装置300の制御を簡単にするため、図102と異なって、通常遊技状態、時短状態、確変状態、特別遊技状態の間で、作動予告表示511a-511d(「まもなく打ち止めです」)は同じ表示態様にしてよい(同じサイズや同じフォント)。また、図103と異なって、変動表示中は作動予告表示511を同じ表示態様にしてよいし、図104と異なって、客待ち中は作動予告表示511を同じ表示態様にしてよい。
安全装置の作動予告状態が開始する予告開始値(上記では190000)、即ち、作動予告表示511を表示開始するタイミングを変化させてもよい。例えば、大当りが出やすい遊技状態では早めのタイミングで予告できるよう、普電サポート状態(確変状態、時短状態)で、通常遊技状態よりも小さな予告開始値で作動予告表示511を表示開始してよい。
ホール関係者の操作で安全装置(コンプリート機能)をオンオフするスイッチを遊技機10の裏面に設けて、遊技制御装置100に接続するこのスイッチがオンの場合にのみ、遊技制御装置100は安全装置が働くようにしてよい。
[第4実施形態の作用・効果]
第4実施形態に係る遊技機10は、遊技を実行可能であり、所定条件(作動条件)の成立によって、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)を発生可能な遊技停止手段(例えば安全装置)と、遊技不可状態において、遊技媒体の払い出しに関するエラーを報知可能な報知手段(例えば、遊技制御装置100、演出制御装置300、表示装置41等)と、を備える。
このような遊技機10では、差玉数やセーフ球数が大きい場合など所定条件の成立によって、遊技をできなくして適切な不正対策を行うことができ、また、差玉数やセーフ球数を抑制することによって遊技者が遊技にのめり込むことも抑制できる可能性がある。のめり込みが抑制されると遊技者は安心して遊技ができる。また、遊技の実行のできない遊技不可状態でもエラーを報知可能にして、遊技者やホール関係者等に不利益又は不都合が生じないようにしつつ、適切な不正対策を行うことができる。
また、第4実施形態に係る遊技機10は、遊技を実行可能な遊技機において、所定条件(作動条件)の成立によって、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)を発生可能な遊技停止手段(例えば安全装置)と、遊技不可状態となることを予告する予告表示(例えば作動予告表示511)を表示手段(例えば表示装置41)に表示可能な表示制御手段(例えば演出制御装置300)と、を備える。表示制御手段は、予告表示の表示態様を遊技状態(例えば客待ち中、変動表示中)に応じて異ならせる。
このような遊技機10では、差玉数やセーフ球数が大きい場合など所定条件の成立によって、遊技をできなくして適切な不正対策を行うことができ、また、遊技者の遊技に対するのめり込みも抑制できる可能性がある。予告表示(例えば作動予告表示511)によって遊技者に遊技をできなく可能性を事前に報知して、遊技者に遊技を終了させることを促し、遊技者が意図せず不利益を受けることを防止できる。また、予告表示によって不正を行っている者には驚きを与えて、不正を止めることを促すことができる。そして、予告表示の表示態様を遊技状態(例えば客待ち中、変動表示中)に応じて異ならせて、効果的に予告表示を行うことができる。
また、第4実施形態に係る遊技機10は、遊技媒体を払い出し可能な払出制御手段(例えば払出制御装置200)と、所定期間(例えば電源投入から現在までの期間)に払い出された遊技媒体(遊技球)の数又は所定期間に払い出されることが決定された遊技媒体の数である払出数(例えば所定期間の合計の賞球数、セーフ球数)を計数可能な第1計数手段(例えば遊技制御装置100の差玉確認処理)と、を備える。また、遊技機10は、所定期間に使用された遊技媒体の数である使用数(例えば発射球数又は排出球数)を計数可能な第2計数手段(例えば遊技制御装置100の差玉確認処理やアウト球検出スイッチ74)を備える。さらに、遊技機10は、払出数と使用数とに基づいた演算値(例えば安全装置カウンタ値又は差玉数)を演算可能な演算手段(例えば遊技制御装置100の差玉確認処理)と、を備える。演算値が基準値(例えばカウンタ基準値、差玉基準値)になった場合に、遊技停止手段(例えば安全装置)は所定条件(作動条件)が成立したとして遊技不可状態を発生可能である。表示制御手段(例えば演出制御装置300)は遊技不可状態であることを示す所定表示(例えば作動中表示513)を表示手段に表示可能である。
このような遊技機10では、遊技媒体の払出数と遊技媒体の使用数(例えば発射球数又は排出球数)とに基づいた演算値に基づいて、遊技不可状態を発生可能であり、遊技不可状態であることを示す所定表示(例えば作動中表示513)を表示可能であるため、効果的に不正対策を行うことができ、また、効果的に遊技者の遊技に対するのめり込みも抑制できる。
また、第4実施形態に係る遊技機10では、演算値(例えば安全装置カウンタ値又は差玉数)が基準値よりも小さな所定値(予告開始値)になった場合に、表示制御手段は予告表示(例えば作動予告表示511)を表示手段に表示可能である。従って、効果的に遊技不可状態となることを事前に予告できる。
また、第4実施形態に係る遊技機10では、演算値(例えば安全装置カウンタ値又は差玉数)が基準値になったが所定条件(作動条件)が成立しない場合に、表示制御手段(例えば演出制御装置300)は、所定表示(例えば作動中表示513)及び予告表示(例えば作動予告表示511)とは異なる表示(例えば作動警告表示512)を表示手段に表示可能である。従って、遊技者に所定条件が成立した後(例えば小当り又は大当りの終了後)に遊技停止状態になることを事前に報知して、不利益を受けることを遊技者に警告することができる。
また、第4実施形態に係る遊技機10では、表示制御手段(例えば演出制御装置300)は、遊技不可状態となることを予告する予告表示(例えば作動予告表示511)の表示態様を遊技の進行に応じて異ならせてよい。これにより、予告表示を遊技の進行に対応して表示手段(例えば表示装置41)に適切に表示できる。また、予告表示の表示態様を表示手段での演出の邪魔にならないように遊技の進行に応じて変化させて、遊技の興趣を向上できる。
また、第4実施形態に係る遊技機10では、遊技者の操作に応じて遊技機10の調整(例えば、輝度調整や音量調整)を実行可能な調整手段(例えば、演出制御装置300)を備える。調整手段は、遊技不可状態において、遊技者の操作があった場合でも調整を実行しない。従って、遊技停止状態において、遊技者等の操作があった場合でも音量調整や輝度調整などの各種調整が実行されないため、遊技者等は遊技停止状態であることを認識し易くなるし、また、遊技者が自由に遊技機10の調整ができないため遊技停止状態において節電できる可能性もある。
また、第4実施形態に係る遊技機10では、ゲームの進行を制御する遊技制御手段(遊技制御装置100)と、ゲームに関連する演出を制御可能な演出制御手段(演出制御装置300)を備える。遊技制御手段は、所定期間(例えば電源投入から現在までの期間)に払い出された遊技媒体(遊技球)の数又は所定期間に払い出されることが決定された遊技媒体の数である払出数(例えばセーフ球数)を計数可能な第1計数手段と、所定期間に使用された遊技媒体の数である使用数(例えば発射球数又は排出球数)を計数可能な第2計数手段と、払出数と使用数との差(例えば差玉数)に基づいて、ゲームの実行のできない遊技不可状態を発生可能な遊技停止手段(例えば安全装置)と、を備える。遊技制御手段は、ゲームの実行権利として始動記憶を記憶可能な始動記憶手段と、始動記憶に基づくゲームが実行される以前に、当該ゲームの結果を事前に判定可能な事前判定手段(例えば特図保留情報判定処理)と、を備える。演出制御手段(演出制御装置300)は、遊技制御手段から事前判定手段の判定結果(例えば先読み停止図柄コマンドや先読み変動パターンコマンドに含まれる情報)を受信した場合に、当該判定結果に基づいて予告演出(例えば先読み演出、先読み予告演出)を実行可能であり、払出数と使用数との差が所定値(例えば94500)以上である場合には、判定結果を受信しても予告演出を実行しない。これにより、払出数と使用数との差が遊技不可状態の発生の近い所定値に達した場合に、遊技者に無駄に期待させないようにすることができ、遊技不可状態の発生による遊技者の不快感を低減できる。
また、第4実施形態に係る遊技機10では、遊技制御手段(遊技制御装置100)は、払出数と使用数との差(例えば差玉数)にかかわらず、始動記憶に基づくゲームが実行される以前に、当該ゲームの結果を事前に判定して、判定結果(例えば先読み停止図柄コマンドや先読み変動パターンコマンドに含まれる情報)を演出制御手段(演出制御装置300)に送信可能である。演出制御手段は、遊技制御手段から判定結果を受信した場合に、当該判定結果に基づいて予告演出(例えば先読み演出、先読み予告演出)を実行可能である。これにより、払出数と使用数との差(例えば差玉数)にかかわらず、予告演出(例えば先読み演出、先読み予告演出)を実行できるため、払出数と使用数との差が遊技不可状態の発生の近い所定値(例えば94500)に達した場合でも、予告演出を実行でき、遊技の興趣を向上できる。
また、第4実施形態に係る遊技機10では、遊技に関連する演出を制御可能な演出制御手段(演出制御装置300)を備える。遊技機10は、演出として動作可能である可動部材(可動役物)と、所定条件の成立によって、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)を発生可能な遊技停止手段(例えば安全装置)と、を備える。演出制御手段は、遊技不可状態になった後、可動部材が初期位置以外の動作位置に位置していれば、可動部材を動作位置から初期位置に戻す。これにより、遊技の実行のできない遊技不可状態で可動部材が動作位置に維持されることを防止できるため、可動部材が故障しているなど不必要な誤解を招くことを防止できる。
また、第4実施形態に係る遊技機10では、演出制御手段は、遊技不可状態になった後、可動部材が初期位置以外の動作位置に位置している場合に、当該可動部材を前記動作位置から前記初期位置に戻さなくてもよい。この場合には、可動部材が不自然な位置に止まったままで、遊技の実行のできない遊技不可状態(遊技停止状態、遊技禁止状態)となっているため、遊技機10が普通の状態(遊技ができる状態、遊技可能状態)でないことを遊技者に強調できる。
また、第4実施形態に係る遊技機10では、第1条件(例えば条件(1):差玉数が差玉基準値95000に達すること)と第2条件(例えば条件(2):大当り中でも小当り中でもないこと)との成立によって、遊技の実行のできない遊技不可状態を発生可能な遊技停止手段を備える。演出制御手段は、第1条件の成立する前に、遊技不可状態となることを予告する第1表示(例えば作動予告表示511)を表示手段に表示可能である。演出制御手段は、第1条件が成立したが第2条件が成立しない場合に、第1表示と少なくとも一部の表示態様が共通する第2表示(例えば作動警告表示512)を表示手段(例えば表示装置41)に表示可能である。これにより、第1表示(例えば作動予告表示511)と第2表示(例えば作動警告表示512)が、両方とも、遊技停止手段の作動や遊技不可状態の発生に関係する表示であることを印象付けやすくなるとともに、安全装置関連表示以外の他の種類の表示と誤認しないようにできる。
また、第4実施形態に係る遊技機10では、ゲームの進行を制御する遊技制御手段と、特定画像(安全装置関連表示)を表示手段に表示可能な演出制御手段を備え、ゲームの結果が特別結果となる場合に、遊技者に有利な特別遊技状態(大当り又は小当り)を発生可能である。遊技制御手段(遊技制御装置100)は、所定条件の成立によって、遊技の実行のできない遊技不可状態を発生可能な遊技停止手段(打ち止め手段)を備える。遊技停止手段の作動に関連する特定画像(安全装置関連表示)の表示態様は、第1表示態様(作動予告表示511)と、第2表示態様(作動中表示513)とを含む。演出制御手段は、特別結果となるゲームにおいて、特定画像の第2表示態様(作動中表示513)を表示する場合に、特定画像と異なる所定の画像(第1所定画像675、第2所定画像676、保留表示682a,682b,683a,683b、保留数表示、モード表示679、変動回数表示677、右打ち指示表示502、飾り特別図柄、キャラクタなどの演出画像)を非表示にする。
このような遊技機10では、特定画像の第2表示態様(作動中表示513)を表示する場合に、特定画像と異なる所定の画像を非表示にするため、特定画像の第2表示態様(作動中表示513)が遊技者やホール関係者等に認識され易くなる。さらに、特別結果(当り)となるゲームであっても、特別遊技状態の発生前(特別結果の導出前)であれば、例えば遊技停止手段が作動する所定条件の成立によって、特定画像の第2表示態様(作動中表示513)を表示することになり、好適である。
[第5実施形態]
図108から図140を参照して、第5実施形態について説明する。なお、以下で述べる以外の構成は、第1実施形態から第4実施形態までの実施形態と同様でよい。また、以下の実施形態では、第1実施形態から第4実施形態と同じ機能を果たす構成には同一の符号を用い、重複する記載を適宜省略して説明する。第5実施形態は、命令(コード)やプログラムに関するものである。
〔CPUの構成〕
図108Aは、第5実施形態に係る遊技用マイコン111のCPU111aの内部構成を示すブロック図である。第5実施形態においては、CPU111aは、CPUコア102として示されている。CPUコア102はZ80系のCPUとして構成されている。
図108Aに示すCPUコア102(CPU111a)は、それぞれ8ビットの幅を有する、Wレジスタ1201A、Aレジスタ1202A、Bレジスタ1204A、Cレジスタ1205A、Dレジスタ1207A、Eレジスタ1208A、Hレジスタ1210A、Lレジスタ1211Aを備えている。
これらの汎用レジスタは、Wレジスタ1201AとAレジスタ1202Aとを組み合わせて、16ビットの幅を有するWAレジスタ1203A(ペアレジスタ、レジスタペア)として使用することも可能である。同様に、Bレジスタ1204AとCレジスタ1205Aとを組み合わせたBCレジスタ1206A(ペアレジスタ、レジスタペア)、Dレジスタ1207AとEレジスタ1208Aとを組み合わせたDEレジスタ1209A(ペアレジスタ、レジスタペア)、Hレジスタ1210AとLレジスタ1211Aとを組み合わせたHLレジスタ1212A(ペアレジスタ、レジスタペア)を使用することも可能である。
さらに、CPUコア102(CPU111a)は、それぞれ16ビットの幅を有する、IXレジスタ1231a、IYレジスタ1232aを備えている。IXレジスタ1231a、IYレジスタ1232aは、命令解釈実行回路1242がデータにアクセスする際のインデックスとして用いられる。また、IYレジスタ1232aは、アドレス空間(又は、メモリ空間)におけるRAM111c(更新情報記憶手段)の先頭アドレスを設定するための先頭アドレス指定レジスタとして使用できる。
なお、なお、8ビット(1バイト)の幅(容量)を有するレジスタを第1レジスタと呼ぶことがある。16ビット(2バイト)の幅(容量)を有するペアレジスタ、IXレジスタ1231a、IYレジスタ1232aを第2レジスタと呼ぶことがある。
なお、これらの汎用レジスタは、1つの汎用レジスタ群(レジスタバンク0のレジスタ群)1220Aを形成している。一方、CPUコア102は、レジスタバンク0のレジスタ群1220Aに含まれる汎用レジスタと同一(又は同様)の構成を有する、もう1つの汎用レジスタ群(レジスタバンク1のレジスタ群)1220Bを備えている。
このレジスタバンク1のレジスタ群1220Bには、レジスタバンク0のWレジスタ1201A~Lレジスタ1211Aと同一の機能を有する、Wレジスタ1201B~Lレジスタ1211Bを備えている。これらのレジスタも、レジスタバンク0同様に、WAレジスタ1203B~HLレジスタ1212Bとして、16ビットのレジスタとして使用することが可能である。また、レジスタバンク1のレジスタ群1220Bには、IXレジスタ1231a、IYレジスタ1232aと同一の機能を有する、IXレジスタ1231b、IYレジスタ1232bを備えている。
さらに、CPUコア102は、8ビットの幅を有するフラグレジスタ1200を備えている。
フラグレジスタ1200は、レジスタを用いた演算結果が格納される。また、フラグレジスタ1200のビットであるレジスタバンクセレクタ(RBS)によって、2つの汎用レジスタ群1220A、1220Bのうちのいずれを、演算対象として用いるかが選択される。
レジスタバンクセレクタ(RBS)により選択されたレジスタ群に属する各レジスタは、命令解釈実行回路1242によって演算に用いられる。一方、選択されていないレジスタ群に属する各レジスタは、レジスタバンクセレクタ(RBS)の値が変更されて選択対象となるまでは、値を保持する。
また、CPUコア102は、DPレジスタ1230を備えている。DPレジスタ1230は、例えば、アドレス空間(又は、メモリ空間)におけるROM111bの遊技制御用データ領域の先頭アドレスを格納するために使用できる。
さらに、CPUコア102は、それぞれ16ビットの幅を有する、スタックポインタとして機能するSPレジスタ1233、及びプログラムカウンタとして機能するPCレジスタ1234を備えている。
スタックポインタ1233は、スタック領域にデータを格納する(又はデータを取り出す)際の領域の位置を示す。プログラムカウンタ1234は、命令解釈実行回路1242で実行されている命令が格納されているアドレス(番地)を示している。
命令解釈実行回路1242は、プログラム(領域内プログラム又は領域外プログラム)を実行して、CPUコア102内部の各レジスタを用いた演算処理を行う。具体的には、ROM111bにて、プログラムカウンタ1234に示されるアドレスに記憶されたデータを読み出すとともに、読み出したデータをコードと見なして、コードに対応する命令を実行する。命令解釈実行回路1242は、所定の命令セットに含まれる命令を解釈実行である。
故に、本実施形態においては、CPUコア102(CPU111a)自体を演算処理手段として例示しているが、CPUコア102の内部では、命令解釈実行回路1242が主体となって演算処理手段の機能を果たしている。なお、RAM111cは、演算処理手段(CPU111a、CPUコア102)によって更新される情報が記憶される更新情報記憶手段となるとともに、バックアップ電源によって停電が発生したとしても記憶された情報の記憶保持が可能な保持記憶手段となる。
なお、命令解釈実行回路1242は、プログラムの命令に対応して、アクセス回路1243、アドレスバス721、及びデータバス722を介して、CPUコア102外部のROM111b、RAM111c、及び他の回路との間で、データの授受を行う場合もある。アドレスバス721は、16ビットの信号線によって構成され、CPUコア102は、アドレスバス721に指定したアドレスを出力し、データバス722を介して指定したアドレス(ROM111b、RAM111c等のアドレス)に格納されたデータを入出力する。
また、命令解釈実行回路1242は、ROM111bの命令を1つずつ実行する毎に、次の命令が格納されているアドレスをプログラムカウンタ1234に格納する。このようにして命令の実行と、プログラムカウンタ1234の更新を繰り返すことで、プログラムが順次実行される。なお、遊技用マイコン111に設けられている割込制御回路724からの割込み信号を受け付けると、プログラムカウンタ1234の値は、予め設定された割込み処理のアドレスの値に切り替えられる。
この命令解釈実行回路1242及びCPUコア102に備える各レジスタは、内部バス1235によって、データが授受される。
初期値設定回路1241は、CPUコア102に備える各レジスタに初期値をハード的に設定する回路である。
内蔵リセット回路1240は、遊技用マイコン111に設けられているセキュリティ回路725からのリセット信号を受信すると、初期値設定回路1241を起動させ、CPUコア102に備える各レジスタに初期値を設定させたのちに、命令解釈実行回路1242を起動させる。
また、電源投入の際やリセット信号を受信などに、初期値設定回路1241が動作を開始すると、スタックポインタ1233に初期値(本実施形態では「29FFh」)を設定し、IYレジスタ1232a、1232bに初期値(RAM111cの先頭アドレスで、本実施形態では「2800h」)を設定し、DPレジスタ1230に初期値(ROM111bのデータエリアの先頭アドレスで、本実施形態では「5000h」)を設定し、HLレジスタ1212Aにリセットアドレス(本実施形態では「4000h」)を設定し、プログラムカウンタ1234に、リセットアドレス(ROM111bの先頭アドレスで、本実施形態では「4000h」)の値を設定し、他のレジスタには「00h」の値(16ビットレジスタには「0000h」の値)を設定する。なお、リセットアドレスは「0000h」としてもよい。
〔フラグレジスタ〕
図108Bは、第5実施形態に係るフラグレジスタ1200の構成を説明する図である。8ビットの幅を有するフラグレジスタ1200の各ビットの値は、図108Aにおける命令解釈実行回路1242によって設定される。なお、フラグレジスタ1200に記憶される8ビットのデータ(値)は、プログラムステータスワードPSWと呼ばれる。
割込マスタ許可フラグ(IMF)1300は、割込み信号による割込み処理の許否を設定するフラグであり、セット(値が「1」)で許可、クリア(値が「0」)で禁止となる。
レジスタバンクセレクタ(RBS)1301は、図108Aにおける命令解釈実行回路1242が演算処理を行う際に、2つの汎用レジスタ群1220A、1220Bのうちのいずれを用いるかを選択するフラグであり、セット(値が「1」)でレジスタバンク1のレジスタ群1220B、クリア(値が「0」)でレジスタバンク0のレジスタ群1220Aが選択される。
オーバーフローフラグ(VF)1302は、所定の演算によって演算対象の汎用レジスタに桁溢れ(オーバーフロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。
サインフラグ(SF)1303は、所定の演算によって演算対象の汎用レジスタの最上位ビットが「1」になるとセット(値が「1」)され、他の場合はクリア(値が「0」)される。
ハーフキャリーフラグ(HF)1304は、8ビット演算を行った結果として演算対象の汎用レジスタの4ビット目に桁上がり(キャリー)や桁借り(ボロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。
キャリーフラグ(CF)1305は、所定の演算によって桁上がり(キャリー)や桁借り(ボロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。
ゼロフラグ(ZF)1306は、所定の演算の演算結果が「0」となった場合や転送されるデータ(値)が「0」の場合などの所定の場合にセット(値が「1」)され、他の場合はクリア(値が「0」)される。
ジャンプステータスフラグ(JF)1307は、キャリーフラグ(CF)1305又はゼロフラグ(ZF)1306の少なくとも一方がセットされた場合にはセット(値が「1」)される。このため、ジャンプステータスフラグ(JF)1307は、所定の演算によって、キャリーフラグ(CF)1305又はゼロフラグ(ZF)1306と同じ値になり得る。若しくは、演算処理を行わない場合であっても、汎用レジスタの値が「00h」の値になった場合は、セット(値が「1」)される。このような条件をいずれも満たさない場合は、クリア(値が「0」)される。ジャンプステータスフラグ(JF)1307は、分岐命令や呼出し命令の動作条件を判断するためなどに使用できる。
なお、CPUコア102がリセットされた場合には、フラグレジスタの全ビットが0に設定される。
〔メモリマップ〕
図109は、第5実施形態において、CPU111a(CPUコア102)が使用するメモリに関するメモリマップ(メモリの構成)を示す図である。第1実施形態と同様に、CPU111aが使用するメモリは、RAM111cとROM111bを含む。メモリのアドレス空間においてアドレス(番地)が1バイト(8ビット)ごとに通し番号で割り振られている。本実施形態では、RAM111cの先頭アドレスは「2800h」であり、ROM111bの先頭アドレスは「4000h」であり、ROM111bのデータエリアの先頭アドレスは「5000h」であるが、アドレスは一例であり他のアドレスでもよい。
第1実施形態と同様に、RAM111cの先頭アドレス「2800h」から領域内ワーク領域、未使用領域、領域内スタック領域、未使用領域、領域外ワーク領域、未使用領域、領域外スタック領域、未使用領域がアドレス空間において順に配置される。領域内ワーク領域と領域内スタック領域の間の未使用領域と、領域外ワーク領域と領域外スタック領域の間の未使用領域はなくてもよい。アドレス空間で連続する領域内ワーク領域、未使用領域、領域内スタック領域が、第1のRAM領域となる。アドレス空間で連続する領域外ワーク領域、未使用領域、領域外スタック領域が、第2のRAM領域となる。
ROM111bの先頭アドレス「4000h」から領域内プログラムの領域(第1のROM領域、第1プログラム記憶領域)、未使用領域、領域外プログラムの領域(第2のROM領域、第2プログラム記憶領域)、未使用領域、プログラム管理エリアが、アドレス空間において順に配置される。領域内プログラムの領域は、先頭アドレス「5000h」のデータエリア(遊技制御用データの領域)と、データエリア以外の遊技制御用プログラムの領域を含む。遊技制御用プログラムの領域とデータエリアの間には、未使用領域を挟んでよい。領域外プログラムの領域もデータエリアを含んでよい。ROM111bのアドレス空間の最後に位置するプログラム管理エリアは、ハードウェア(HW)パラメータやベクタテーブル等を格納する。このベクタテーブルは、後述のCALLT命令(第3呼出し命令)で使用するテーブルである。
本実施形態において、ROMの領域内プログラム(第1プログラム)は、遊技制御用プログラムや遊技制御用データ等からなり、メイン処理(図5A-図5C)に対応するメインプログラムと、タイマ割込み処理に対応するタイマ割込み処理プログラムを含む。メインプログラム又はタイマ割込み処理プログラムにおけるサブルーチン(サブルーチンのサブルーチン等も含む)は、基本的に領域内プログラムとなる(特に記載がない場合に領域内プログラムとなる)が、例外的に領域外プログラムとなることもある。本実施形態において、遊技制御に直接には関係が無い非遊技制御用の領域外プログラム(第2プログラム)は、安全装置情報初期化処理に対応する安全装置情報初期化プログラム、性能表示編集処理に対応する性能表示編集処理プログラム、領域外統合処理に対応する領域外統合処理プログラムを含む。他に、領域外プログラム(第2プログラム)は、領域外統合処理プログラムから呼び出されるサブルーチンとして、試験信号出力処理に対応する試験信号出力処理プログラム、性能表示装置制御処理に対応する性能表示装置制御処理プログラム、差玉確認処理に対応する差玉確認処理プログラム、安全装置作動監視処理に対応する安全装置作動監視処理プログラムを含む。なお、まとまりのある各種処理を担う上記のような処理プログラムは、プログラムモジュールとも呼ばれる。
〔遊技制御装置のCPUの命令〕
図110から図119は、遊技制御装置100のCPU111a(CPUコア102)において、命令解釈実行回路1242が解釈実行可能な命令セットうちの典型的な命令(コード)を例示する命令表である。CPUコア102(命令解釈実行回路1242)に、命令表の各命令を実行する専用論理回路を設けてもよい。
命令表において、命令は、8ビットマイクロプロセッサであるZ80に対応したアセンブリ言語による命令(ソースコード)によって示され、ROM111bに記憶される機械語命令(マシンコード)に1対1に対応する。命令は、操作内容(演算内容)を示す「オペコード」(或いは「ニーモニック」)と命令対象の「オペランド」に分けられる。「オペランド」は、第1オペランド、第2オペランド・・・など複数あってよい。
また、命令表において、命令の実行結果や命令による演算結果に応じて生じるフラグの変化、CPUの動作クロックの何サイクル(何周期)で命令が実行されるか(即ち、命令の実行に要する動作クロックのサイクル数)、機械語命令での命令の語長(命令サイズ、命令の長さ、バイト数)が示されている。サイクル数は命令の実行時間に対応し、小さければ命令の実行時間も小さくなりプログラムの実行速度も速くなる。命令の語長が短ければ(小さければ)、プログラムの容量(サイズ)を削減できる。
なお、命令表のサイクル数及び/又は語長は、命令で使用するレジスタの種類やレジスタの組合せなどに応じて、カッコ書きで示すように通常よりも例外的に小さくなる特別な場合がある。命令で使用可能なレジスタの種類が多いほどプログラムの開発がしやすいが、サイクル数及び/又は語長が小さい場合の命令をプログラムで可能な限り多く使用すれば、プログラムの実行速度も速くでき且つ/又はプログラムの容量を削減できる。
また、命令表において、命令の実行によるフラグの変化が示されているが、ゼロフラグ(ZF)の値Z、キャリーフラグ(CF)の値C、ハーフキャリーフラグ(HF)の値H、サインフラグ(SF)の値S、オーバーフローフラグ(VF)の値Vが記載されていることは、変化可能であることを示す。また、「-」はフラグの変化がないこと、「U」は不定値なることを示している。
命令表の命令は、一般的な形式で示されている。命令において、nは、8ビット(=1バイト)の直値(即値)を示す。命令によって、nは、例外的に4ビットの直値を示す。命令において、mnは16ビット(=2バイト)の直値(即値)を示す。なお、直値nと直値mnは、後述のプログラムリストでは、数値に対応するラベルや16進数(・・・・h等)や10進数などで示される。dとkは、メモリのアドレスを指定する際に利用可能な5ビット又は8ビットのオフセット値(ディスプレースメント値、直値)を示す。vwは、メモリのアドレスを直接指定する際に利用可能な16ビット(=2バイト)の直接アドレスの値(直値)を示す。( )は、メモリにおける( )内で指定されたアドレスの領域、或いは、そのアドレスの領域(メモリの領域)に格納された内容又は格納される内容を示す。なお、領域が2バイトの場合は、( )内は、領域の先頭アドレスを示す。$は、命令の先頭アドレス(即ち、PCレジスタ1234の値)を示す。
また、命令において、r,g,p,q,f,k,s,tは、8ビット(1バイト)のレジスタを示す。詳しくは、図110等に掲載したとおり、rとgは、各々、Wレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタのいずれかを示す。pは、Wレジスタ、Aレジスタのいずれかを示す。qは、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタのいずれかを示す。fは、Wレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタのいずれかを示す。kは、Hレジスタ、Lレジスタのいずれかを示す。sは、Aレジスタを示す。tは、Wレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタのいずれかを示す。
また、命令において、rr,gg,jj,uu,zz,ss,ff,kkは、16ビット(2バイト)のレジスタ又はペアレジスタ(レジスタペア)を示す。詳しくは、図110等に掲載したとおり、rrとggは、各々、WAレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタのいずれかを示す。jjは、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタのいずれかを示す。uuとzzは、各々、WAレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタ、SPレジスタ、DPレジスタのいずれかを示す。ssは、WAレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタ、SPレジスタのいずれかを示す。ffは、WAレジスタ、BCレジスタ、DEレジスタ、HLレジスタのいずれかを示す。kkは、IXレジスタ、IYレジスタ、SPレジスタ、DPレジスタのいずれかを示す。
〔転送命令(例1)〕
転送命令(ロード命令)は、データを転送する命令である。本実施形態において、転送命令は、第1オペランドに対応するものに第2オペランドに対応するデータ(値、内容)を転送(コピー、ロード)する。
転送命令は、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(RBSとIMF以外のフラグ)のうち、ジャンプステータスフラグ(JF)とゼロフラグ(ZF)を変化させ得るが、キャリーフラグ(CF)、ハーフキャリーフラグ(HF)、サインフラグ(SF)、オーバーフローフラグ(VF)を変化させずそのまま維持する。転送命令によって転送される値が「0」の場合に、ゼロフラグ(ZF)の値Zは「1」になり、転送される値が「0」でない場合にゼロフラグ(ZF)の値Zは「0」になる。そして、ジャンプステータスフラグ(JF)には、ゼロフラグ(ZF)と同じ値Z(1または0)が設定される。
〔例1-1〕
図110の例1-1は、転送命令のうち1バイトのデータを転送するLD命令を例示する命令表である。ここで、LD命令は、アセンブリ言語で「LD 第1オペランド,第2オペランド」と記載され、第1オペランドに対応するものに第2オペランドに対応するデータ(値、内容)を転送(コピー、ロード)する。なお、LDはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。
「LD r,g」は、rレジスタにgレジスタの値を転送する命令である。命令の実行に要する動作クロックのサイクル数は、基本的に2サイクルであり、命令の語長(命令サイズ)は、基本的に2バイト長である。しかし、例外的に、(r,g)のレジスタの組合せが、(W,A)、(A,W)、(A,B)、(A,C)、(A,E)、(B,A)、(C,A)、(E,A)の特別な組合せ場合に、命令のサイクル数は1サイクルで命令実行時間は短くなり、命令の語長は1バイト長で短くなる。
「LD f,n」は、2サイクルかつ2バイト長の命令であり、fレジスタに直値n(1バイト)を転送する。「LD k,n」は、3サイクルかつ3バイト長の命令であり、kレジスタに直値nを転送する。「LD f,n」と「LD k,n」は、転送先のレジスタの違いによって、サイクル数と語長が異なる。両命令の使用によって転送先のレジスタは増えるが、「LD f,n」を「LD k,n」よりもプログラムで多く使用すれば、プログラムの容量を削減できるし、プログラムの実行速度も速くなる。
「LD s,(vw)」は、5サイクルかつ3バイト長の命令であり、sレジスタに、直値vw(2バイト)で指定された直接アドレスの領域(メモリの領域)に記憶された値を転送する。「LD t,(vw)」は、5サイクルかつ4バイト長の命令であり、tレジスタに、直値vwで指定された直接アドレスの領域(直値vwに相当するアドレスの領域)に記憶された値を転送する。両命令の使用によって転送先のレジスタは増えるが、「LD s,(vw)」と「LD t,(vw)」は、転送先のレジスタの違いによって、語長が異なる。「LD s,(vw)」を「LD t,(vw)」よりもプログラムで多く使用すれば、プログラムの容量を削減できる。
「LD r,(jj)」は、rレジスタに、jjレジスタで指定されたアドレスの領域(メモリの領域)に記憶された値を転送する命令である。命令のサイクル数は、基本的に3サイクルであり、命令の語長は、基本的に2バイト長である。しかし、例外的に、jjレジスタがDEレジスタであり且つrレジスタがWレジスタまたはAレジスタである場合や、jjレジスタがHLレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、またはEレジスタである場合に、命令のサイクル数は3サイクル、命令の語長は1バイト長になる。
「LD r,(jj+)」は、rレジスタに、jjレジスタで指定されたアドレスの領域に記憶(格納)された値を転送し、転送後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイト(8ビット)のrレジスタに1バイトのデータが転送されるため、アドレスを1だけ増加する。なお、「JJ+」は、転送後にjjレジスタに格納されたアドレスを次のアドレスに更新することを意味する。この命令は、基本的に4サイクルかつ2バイト長である。しかし、例外的に、jjレジスタがDEレジスタであり且つrレジスタがWレジスタまたはAレジスタである場合や、jjレジスタがHLレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、またはEレジスタである場合に、3サイクルかつ1バイト長になる。
「LD r,(jj+d)」は、rレジスタに、jjレジスタとオフセット値(直値)で指定されたアドレスの領域(メモリの領域)に格納された値を転送する命令である。「jj+d」は、jjレジスタに格納されたアドレス(基準アドレス)の値にオフセット値d(相対アドレス)を加算した加算アドレスを意味する。この命令は、基本的に4サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタであり、rレジスタがWレジスタまたはAレジスタであり、且つdの値が1から7である場合に、4サイクルかつ2バイト長になる。また、例外的に、jjレジスタがIYレジスタであり、Wレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、またはEレジスタである場合に、4サイクルかつ2バイト長になる。
「LD r,(jj+p)」は、rレジスタに、jjレジスタとpレジスタで指定されたアドレスの領域に格納された値を転送する命令である。「jj+p」は、jjレジスタに格納されたアドレスの値にpレジスタに格納されたアドレス(オフセットアドレス)の値を加算した加算アドレスを意味する。この命令は、4サイクルかつ2バイト長である。
「LD (vw),n」は、8サイクルかつ5バイト長の命令であり、直値vw(2バイト)で指定された直接アドレスの領域(RAM内)に、直値n(1バイト)を転送する。
「LD (jj),n」は、jjレジスタで指定されたアドレスの領域(RAM内)に、直値nを転送する命令である。この命令は、基本的に6サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタである場合に、4サイクルかつ2バイト長になる。
「LD (jj+),n」は、jjレジスタで指定されたアドレスの領域(RAM内)に直値nを転送し、転送後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイトの直値nのデータが転送されるため、アドレスを1だけ増加して次のアドレスに更新する。この命令は、4サイクルかつ2バイト長である。
「LD (jj+d),n」は、jjレジスタとオフセット値(直値)で指定されたアドレスの領域(RAM内)に直値nを転送する命令である。「jj+d」は、jjレジスタに格納されたアドレスの値にオフセット値dを加算した加算アドレスを意味する。この命令は、基本的に7サイクルかつ4バイト長である。しかし、例外的に、jjレジスタがIYレジスタである場合に、5サイクルかつ3バイト長になる。
「LD (jj+p),n」は、jjレジスタとpレジスタで指定されたアドレスの領域(RAM内)に直値nを転送する命令である。「jj+p」は、jjレジスタに格納されたアドレスの値にpレジスタに格納されたアドレス(オフセットアドレス)の値を加算した加算アドレスを意味する。この命令は、7サイクルかつ3バイト長である。
「LD (vw),s」は、5サイクルかつ3バイト長の命令であり、直値vwで指定された直接アドレスの領域(RAM内)に、sレジスタの値を転送する。「LD (vw),t」は、7サイクルかつ4バイト長の命令であり、直値vwで指定された直接アドレスの領域に、tレジスタの値を転送する。両命令の使用によって転送元のレジスタは増えるが、「LD (vw),s」と「LD (vw),t」は、転送元のレジスタの違いによって、サイクル数と語長が異なる。「LD (vw),s」を「LD (vw),t」よりもプログラムで多く使用すれば、プログラムの容量を削減できるし、プログラムの実行速度も速くなる。
「LD (jj),r」は、jjレジスタで指定されたアドレスの領域(RAM内)に、rレジスタの値を転送する命令である。この命令は、基本的に5サイクルかつ2バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタであり且つrレジスタがWレジスタまたはAレジスタである場合に、4サイクルかつ1バイト長になる。
「LD (jj+),r」は、jjレジスタで指定されたアドレスの領域(RAM内)に、rレジスタに格納された値を転送し、転送後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイト(8ビット)のrレジスタから1バイトのデータが転送されるため、アドレスを1だけ増加する。この命令は、基本的に6サイクルかつ2バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタであり且つrレジスタがWレジスタまたはAレジスタである場合に、4サイクルかつ1バイト長になる。
「LD (jj+d),r」は、前述の加算アドレス「jj+d」の領域に、rレジスタに格納された値を転送する命令である。この命令は、基本的に6サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタであり、rレジスタがWレジスタまたはAレジスタであり、且つdの値が1から7である場合に、5サイクルかつ2バイト長になる。また、例外的に、jjレジスタがIYレジスタであり、rレジスタがWレジスタまたはAレジスタである場合に、5サイクルかつ2バイト長になる。
「LD (jj+p),r」は、前述の加算アドレス「jj+p」の領域に、rレジスタに格納された値を転送する命令である。この命令は、6サイクルかつ2バイト長である。
〔例1-2〕
図111の例1-2は、転送命令のうち2バイト(16ビット)のデータ(値)を転送するLD命令などを例示する命令表である。ここで、2バイトのデータを扱う転送命令であるため、( )内で指定されたアドレスは、転送先または転送元の2バイトの領域の先頭アドレスを示す。
「LD uu,zz」は、2サイクルかつ2バイト長の命令であり、uuレジスタにzzレジスタの値を転送する。
「LD ff,mn」は、3サイクルかつ3バイト長の命令であり、ffレジスタに直値mn(2バイト)を転送する。「LD kk,mn」は、4サイクルかつ4バイト長の命令であり、kkレジスタに直値mnを転送する。「LD ff,mn」と「LD kk,mn」は、転送先のレジスタの違いによって、サイクル数と語長が異なる。両命令の使用によって転送先のレジスタは増えるが、「LD ff,mn」を「LD kk,mn」よりもプログラムで多く使用すれば、プログラムの容量を削減できるし、プログラムの実行速度も速くなる。
「LD ss,(vw)」は、6サイクルかつ4バイト長の命令であり、ssレジスタに、直値vwで指定された直接アドレスの領域に記憶された値を転送する。ここで、直値vwは、2バイトの転送される値が格納された2バイトの領域の先頭アドレスである。
「LD ss,(jj)」は、ssレジスタに、jjレジスタで指定されたアドレスの領域(メモリの領域)に記憶された値を転送する。この命令は、基本的に4サイクルかつ2バイト長である。しかし、例外的に、jjレジスタがHLレジスタであり、ssレジスタがWAレジスタである場合に、4サイクルかつ1バイト長になる。
「LD ss,(jj+)」は、5サイクルかつ2バイト長の命令であり、ssレジスタに、jjレジスタで指定されたアドレスの領域に記憶された値を転送し、転送後にjjレジスタに格納されたアドレスを2だけ増加する。2バイトのssレジスタに2バイトのデータが転送されるため、アドレスを2だけ増加する。
「LD ss,(jj+d)」は、ssレジスタに、加算アドレス「jj+d」の領域に記憶(格納)された値を転送する命令である。この命令は、基本的に5サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがIYレジスタであり、ssレジスタがWAレジスタ、BCレジスタ、DEレジスタ,またはHLレジスタである場合に、5サイクルかつ2バイト長になる。
「LD ss,(jj+p)」は、5サイクルかつ2バイト長の命令であり、ssレジスタに、加算アドレス「jj+p」の領域に記憶された値を転送する。
「LD (vw),ss」は、8サイクルかつ4バイト長の命令であり、直値vwで指定された直接アドレスの領域(RAM内)に、ssレジスタの値を転送する。
「LD (jj),ss」は、6サイクルかつ2バイト長の命令であり、jjレジスタで指定されたアドレスの領域(RAM内)に、ssレジスタの値を転送する命令である。
「LD (jj+),ss」は、jjレジスタで指定されたアドレスの領域(RAM内)に、ssレジスタに格納された値を転送し、転送後にjjレジスタに格納されたアドレスを2だけ増加する命令である。2バイトのssレジスタから2バイトのデータが転送されるため、アドレスを2だけ増加する。この命令は、7サイクルかつ2バイト長である。
「LD (jj+d),ss」は、加算アドレス「jj+d」の領域(RAM内)に、ssレジスタに格納された値を転送する命令である。この命令は、基本的に7サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがIYレジスタであり、ssレジスタがWAレジスタ、DEレジスタ,またはHLレジスタである場合に、6サイクルかつ2バイト長になる。
「LD (jj+p),ss」は、加算アドレス「jj+p」の領域(RAM内)に、ssレジスタに格納された値を転送する命令である。この命令は、7サイクルかつ2バイト長である。
「LD A,PSW」は、Aレジスタに、フラグレジスタ1200に記憶される8ビットのデータPSWを転送する命令である。「LD RBS,0」は、フラグレジスタ1200のビットであるレジスタバンクセレクタ(RBS)に、値「0」を転送する命令である。「LD RBS,1」は、レジスタバンクセレクタ(RBS)に、値「1」を転送する命令である。これらの命令は、2サイクルかつ2バイト長である。
〔例1-3〕
図112の例1-3は、転送命令のうち2バイト(16ビット)の直値を転送するLDW命令を例示する命令表である。ここで、2バイトのデータを扱う転送命令であるため、( )内で指定されたアドレスは、転送先または転送元の2バイトの領域の先頭アドレスを示す。LDW命令は、アセンブリ言語で「LDW 第1オペランド,第2オペランド」と記載され、第1オペランドに対応するものに第2オペランドに対応するデータ(値、内容)を転送(コピー、ロード)する。なお、LDWはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。
「LDW (vw),mn」は、10サイクルかつ6バイト長の命令であり、直値vwで指定された直接アドレスの領域(RAM内)に、直値mn(2バイト)を転送する。
「LDW (jj),mn」は、8サイクルかつ4バイト長の命令であり、jjレジスタで指定されたアドレスの領域(RAM内)に、直値mnを転送する。
「LDW (jj+),mn」は、9サイクルかつ4バイト長の命令であり、jjレジスタで指定されたアドレスの領域(RAM内)に直値mnを転送し、転送後にjjレジスタに格納されたアドレスを2だけ増加する。2バイトの直値mnのデータが転送されるため、アドレスを2だけ増加して次のアドレスに更新する。
「LDW (jj+d),mn」は、加算アドレス「jj+d」の領域(RAM内)に直値mnを転送する命令である。この命令は、基本的に9サイクルかつ5バイト長である。しかし、例外的に、jjレジスタがIYレジスタである場合に、6サイクルかつ4バイト長になる。
「LDW (jj+p),mn」は、9サイクルかつ4バイト長の命令であり、加算アドレス「jj+p」の領域(RAM内)に直値mnを転送する命令である。
〔例1-4〕
図112の例1-4は、その他の転送命令(LDD命令、LDY命令)を例示する命令表である。
「LDD HL,mn」は、2サイクルかつ2バイト長の命令であり、HLレジスタに、DPレジスタに格納された値と直値mnの和を転送する命令である。
「LDY jj,n」は、jjレジスタの8ビット目から15ビット目(jj[15:8])に、IYレジスタの8ビット目から15ビット目(IY[15:8])を転送し、jjレジスタの0ビット目から7ビット目(jj[7:0])に8ビットの直値nを転送する。この命令は、基本的に3サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタまたはHLレジスタである場合に、2サイクルかつ2バイト長になる。
〔比較命令(例2)〕
比較命令は、複数のデータ(値)を減算等によって比較する命令である。本実施形態において、比較命令は、第1オペランドに対応するデータ(値)から第2オペランドに対応するデータ(値)を減算して、減算結果に応じてフラグを変化させる。なお、逆に、比較命令は、第2オペランドに対応するデータ(値)から第1オペランドに対応するデータ(値)を減算して、減算結果に応じてフラグを変化させる構成も可能である。
比較命令は、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(RBSとIMF以外のフラグ)の全て、即ち、ジャンプステータスフラグ(JF)、ゼロフラグ(ZF)、キャリーフラグ(CF)、ハーフキャリーフラグ(HF)、サインフラグ(SF)、オーバーフローフラグ(VF)を変化させ得る。なお、ハーフキャリーフラグ(HF)は、2バイトのデータの比較命令では、不定値(U)になることもある。
第1オペランドに対応するデータ(値)と第2オペランドに対応するデータ(値)が一致する場合、即ち、上述の減算結果がゼロの場合に、ゼロフラグ(ZF)の値Zは「1」になり、一致しない場合(減算結果がゼロでない場合)に、ゼロフラグ(ZF)の値Zは「0」になる。上述の減算結果がゼロ未満(-、負)の場合に、キャリーフラグ(CF)の値Cは「1」になり、ゼロ以上(0又は+(正))の場合に、キャリーフラグ(CF)の値Cは「0」になる。そして、ジャンプステータスフラグ(JF)には、基本的にキャリーフラグ(CF)と同じ値C(1または0)が設定されるが、例外的に、特定の比較命令(後述のCPJ命令)の場合に、ゼロフラグ(ZF)と同じ値Z(1または0)が設定される。
〔例2-1〕
図113の例2-1は、比較命令のうち1バイトのデータを比較するCP命令を例示する命令表である。CP命令は、アセンブリ言語で「CP 第1オペランド,第2オペランド」と記載され、第1オペランドに対応するデータ(値)から第2オペランドに対応するデータ(値)を減算して、2つのデータ(値)を比較する。なお、CPはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。
CP命令の実行によって、ジャンプステータスフラグ(JF)には、キャリーフラグ(CF)と同じ値Cが設定される。CP命令での減算結果がゼロ未満(負)の場合に、キャリーフラグ(CF)の値Cは「1」になり、ゼロ以上(0又は正)の場合に、キャリーフラグ(CF)の値Cは「0」になる。従って、CP命令は、分岐命令が実行される直前に、値の大小を判定する場合に使用されることが多い。
なお、CP命令とLD命令は、第1オペランドと第2オペランドが同じであれば、サイクル数及び/又は語長が同じになることがある。これによって、プログラムが設計し易くなる可能性がある。
「CP r,g」は、2サイクルかつ2バイト長の命令であり、rレジスタの値とgレジスタの値を比較する。
「CP p,n」は、2サイクルかつ2バイト長の命令であり、pレジスタの値と直値n(1バイト)を比較する。「CP q,n」は、3サイクルかつ3バイト長の命令であり、qレジスタの値と直値nを比較する。「CP p,n」と「CP q,n」は、比較先のレジスタの違いによって、サイクル数と語長が異なる。両命令の使用によって比較先のレジスタは増えるが、「CP p,n」を「CP q,n」よりもプログラムで多く使用すれば、プログラムの容量を削減できるし、プログラムの実行速度も速くなる。
「CP r,(vw)」は、5サイクルかつ4バイト長の命令であり、rレジスタの値と、直値vwで指定された直接アドレスの領域に記憶(格納)された値を比較する。
「CP r,(jj)」は、3サイクルかつ2バイト長の命令であり、rレジスタの値と、jjレジスタで指定されたアドレスの領域に記憶された値を比較する命令である。
「CP r,(jj+)」は、rレジスタの値と、jjレジスタで指定されたアドレスの領域に記憶された値を比較し、比較後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイトの値同士が比較されるため、アドレスを1だけ増加する。この命令は、4サイクルかつ2バイト長である。
「CP r,(jj+d)」は、rレジスタの値と、前述の加算アドレス「jj+d」の領域に記憶された値を比較する命令である。この命令は、基本的に4サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがIYレジスタであり、rレジスタがWレジスタまたはAレジスタである場合に、4サイクルかつ2バイト長になる。
「CP r,(jj+p)」は、rレジスタの値と、前述の加算アドレス「jj+p」の領域に記憶された値を比較する命令である。この命令は、4サイクルかつ2バイト長である。
「CP (vw),n」は、6サイクルかつ5バイト長の命令であり、直値vwで指定された直接アドレスの領域に記憶された値と、直値nを比較する。
「CP (jj),n」は、jjレジスタで指定されたアドレスの領域に記憶された値と、直値nを比較する命令である。この命令は、基本的に4サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがHLレジスタである場合に、3サイクルかつ2バイト長になる。
「CP (jj+),n」は、jjレジスタで指定されたアドレスの領域に記憶された値と、直値nを比較し、比較後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイトの値同士が比較されるため、アドレスを1だけ増加して次のアドレスに更新する。この命令は、5サイクルかつ3バイト長である。
「CP (jj+d),n」は、加算アドレス「jj+d」の領域に記憶された値と、直値nを比較する命令である。この命令は、基本的に5サイクルかつ4バイト長である。しかし、例外的に、jjレジスタがIYレジスタである場合に、4サイクルかつ3バイト長になる。
「CP (jj+p),n」は、加算アドレス「jj+p」の領域に記憶された値と、直値nを比較する命令である。この命令は、5サイクルかつ3バイト長である。
「CP (vw),r」は、6サイクルかつ5バイト長の命令であり、直値vwで指定された直接アドレスの領域に記憶された値と、rレジスタの値を比較する。
「CP (jj),r」は、jjレジスタで指定されたアドレスの領域に記憶された値と、rレジスタの値を比較する命令である。この命令は、基本的に4サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Hレジスタ、またはLレジスタである場合や、jjレジスタがHLレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、またはEレジスタである場合、4サイクルかつ2バイト長になる。
「CP (jj+),r」は、jjレジスタで指定されたアドレスの領域に記憶された値と、rレジスタに格納された値を比較し、比較後にjjレジスタに格納されたアドレスを1だけ増加する命令である。1バイトの値同士が比較されるため、アドレスを1だけ増加する。この命令は、基本的に5サイクルかつ3バイト長である。しかし、例外的に、jjレジスタがDEレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Hレジスタ、またはLレジスタである場合や、jjレジスタがHLレジスタであり且つrレジスタがWレジスタ、Aレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、またはEレジスタである場合、4サイクルかつ2バイト長になる。
「CP (jj+d),r」は、5サイクルかつ4バイト長の命令であり、加算アドレス「jj+d」の領域に記憶された値と、rレジスタに格納された値を比較する。
「CP (jj+p),r」は、5サイクルかつ3バイト長の命令であり、加算アドレス「jj+p」の領域に記憶された値と、rレジスタに格納された値を比較する命令である。
〔例2-2〕
図114の例2-2は、比較命令のうち2バイトのデータ(値)を比較するCP命令を例示する命令表である。ここで、2バイトのデータを扱う比較命令であるため、( )内で指定されたアドレスは、2バイトの領域の先頭アドレスを示す。なお、2バイトのデータを比較する比較命令の実行によって、ハーフキャリーフラグ(HF)の値は、不定値「U」となる。
「CP rr,gg」は、2サイクルかつ2バイト長の命令であり、rrレジスタに格納された値とggレジスタの値を比較する。
「CP rr,mn」は、4サイクルかつ4バイト長の命令であり、rrレジスタに格納された値と直値mn(2バイト)を比較する。
「CP rr,(vw)」は、6サイクルかつ4バイト長の命令であり、rrレジスタに格納された値と、直値vwで指定された直接アドレスの領域に記憶された値を比較する。ここで、直値vwは、2バイトの比較される値が格納された2バイトの領域の先頭アドレスである。
「CP rr,(jj)」は、4サイクルかつ2バイト長の命令であり、rrレジスタに格納された値と、jjレジスタで指定されたアドレスの領域に記憶された値を比較する。
「CP rr,(jj+)」は、5サイクルかつ2バイト長の命令であり、rrレジスタに格納された値と、jjレジスタで指定されたアドレスの領域に記憶された値を比較し、比較後にjjレジスタに格納されたアドレスを2だけ増加する。2バイトの値同士が比較されるため、アドレスを2だけ増加する。
「CP rr,(jj+d)」は、rrレジスタに格納された値と、加算アドレス「jj+d」の領域に記憶された値を比較する命令である。この命令は、基本的に5サイクルかつ3バイト長である。
「CP rr,(jj+p)」は、5サイクルかつ2バイト長の命令であり、rrレジスタに格納された値と、加算アドレス「jj+p」の領域に記憶された値を比較する。
「CP (jj),rr」は、jjレジスタで指定されたアドレスの領域に記憶された値と、rrレジスタの値を比較する命令である。この命令は、基本的に5サイクルかつ2バイト長である。
「CP (jj+),rr」は、jjレジスタで指定されたアドレスの領域に記憶された値と、rrレジスタに格納された値を比較し、比較後にjjレジスタに格納されたアドレスを2だけ増加する命令である。2バイトの値同士が比較されるため、アドレスを2だけ増加する。この命令は、5サイクルかつ2バイト長である。
〔例2-3〕
図115の例2-3は、比較命令のうちCPJ命令を例示する命令表である。CPJ命令は、アセンブリ言語で「CPJ 第1オペランド,第2オペランド」と記載され、第1オペランドに対応するデータ(値)から第2オペランドに対応するデータ(値)を減算して、2つのデータ(値)を比較する。なお、CPJはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。
なお、CPJ命令とCP命令は、第1オペランドと第2オペランドが同じであれば、比較自体の機能や比較自体の動作そのものは同じであるため、具体的な説明を省略する。例えば、「CPJ r,g」は、「CP r,g」と同じく、rレジスタの値とgレジスタの値を比較する命令である。また、「CPJ p,n」は、「CP p,n」と同じく、pレジスタの値と直値nを比較する命令である。また、「CPJ q,n」は、「CP q,n」と同じく、qレジスタの値と直値nを比較する命令である。また、「CPJ r,(vw)」は、「CP r,(vw)」と同じく、rレジスタの値と、直値vwで指定された直接アドレスの領域に記憶された値を比較する命令である。
同様に、比較自体の機能や比較自体の動作そのものに関して、「CPJ r,(jj)」と「CP r,(jj)」、「CPJ r,(jj+)」と「CP r,(jj+)」、「CPJ r,(jj+d)」と「CP r,(jj+d)」、「CPJ r,(jj+p)」と「CP r,(jj+p)」、「CPJ (vw),n」と「CP (vw),n」、「CPJ (jj),n」と「CP (jj),n」、「CPJ (jj+),n」と「CP (jj+),n」、「CPJ (jj+d),n」と「CP (jj+d),n」、「CPJ (jj+p),n」と「CP (jj+p),n」、「CPJ rr,gg」と「CP rr,gg」、「CPJ rr,mn」と「CP rr,mn」は、同じである。
ただし、CP命令の実行によって、ジャンプステータスフラグ(JF)は、キャリーフラグ(CF)と同じ値Cが設定されて変化態様が同じであるのに対して、CPJ命令の実行によって、ジャンプステータスフラグ(JF)は、ゼロフラグ(ZF)と同じ値Zが設定されて変化態様が同じである。なお、CPJ命令での比較結果が一致する場合(減算結果がゼロの場合)に、ゼロフラグ(ZF)の値Zはセットされ「1」になり、一致しない場合(減算結果がゼロでない場合)に、ゼロフラグ(ZF)の値Zはセットされず「0」になる。従って、CPJ命令は、分岐命令(ジャンプ命令)が実行される直前に、値の一致を判定する場合に使用されることが多い。
このように、CPJ命令とCP命令の2種類の比較命令では、比較結果(減算結果)が同じでも、ジャンプステータスフラグ(JF)のフラグ変化の態様が異なる。そして、ゼロフラグを重視するCPJ命令とキャリーフラグを重視するCP命令の2種類の比較命令を設けて、比較命令に続く分岐命令(ジャンプ命令)の種類などに応じて使い分けることによって、プログラムの開発が容易になる。
また、CPJ命令とCP命令は、第1オペランドと第2オペランドが同じであれば、基本的に、同じサイクル数と同じ語長を有する。例えば、「CPJ (vw),n」と「CP (vw),n」は、共に、直値vwで指定された直接アドレスの領域に記憶された値と、直値nを比較する命令であるが、両方とも6サイクルかつ5バイト長である。また、例えば、「CPJ r,(jj+p)」と「CP r,(jj+p)」は、共に、rレジスタの値と、加算アドレス「jj+p」の領域に記憶された値を比較する命令であるが、両方とも4サイクルかつ2バイト長である。
ただし、例外的に、「CPJ r,(jj+d)」は、「CP r,(jj+d)」と異なり、jjレジスタの種類によらず、4サイクルかつ3バイト長になる。
〔例2-4〕
図116の例2-4は、比較命令のうち2バイトのデータ(値)を比較するCPW命令を例示する命令表である。CPW命令は、アセンブリ言語で「CPW 第1オペランド,第2オペランド」と記載され、第1オペランドに対応するデータ(値)から第2オペランドに対応するデータ(値)を減算して、2バイトのデータ(値)同士を比較する。なお、CPWはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。ここで、( )内で指定されたアドレスは、2バイトの領域の先頭アドレスを示す。
CPW命令の実行によって、ジャンプステータスフラグ(JF)には、キャリーフラグ(CF)と同じ値Cが設定される。CP命令での減算結果がゼロ未満(負)の場合に、キャリーフラグ(CF)の値Cは「1」になり、ゼロ以上(0又は正)の場合に、キャリーフラグ(CF)の値Cは「0」になる。従って、CPW命令は、分岐命令(ジャンプ命令)が実行される直前に、値の大小を判定する場合に使用されることが多い。
なお、CPW命令とLDW命令は、第1オペランドと第2オペランドが同じであれば、基本的に語長が同じになる。これによって、プログラムが設計し易くなる可能性がある。
「CPW (vw),mn」は、8サイクルかつ6バイト長の命令であり、直値vwで指定された直接アドレスの領域に記憶された値と、直値mn(2バイト)を比較する。
「CPW (jj),mn」は、6サイクルかつ4バイト長の命令であり、jjレジスタで指定されたアドレスの領域に記憶された値と、直値mnを比較する。
「CPW (jj+),mn」は、7サイクルかつ4バイト長の命令であり、jjレジスタで指定されたアドレスの領域に記憶された値と直値mnを比較し、比較後にjjレジスタに格納されたアドレスを2だけ増加する。
「CPW (jj+d),mn」は、加算アドレス「jj+d」の領域に記憶された値と直値mnを比較する命令である。この命令は、7サイクルかつ5バイト長である。
「CPW (jj+p),mn」は、7サイクルかつ4バイト長の命令であり、加算アドレス「jj+p」の領域に記憶された値と直値mnを比較する命令である。
以上、比較命令について説明したが、異なる2バイト幅のレジスタ(異なる第2レジスタ)の値同士を比較する命令「CP rr,gg」と、2バイト幅のレジスタの値と直値を比較する命令「CP rr,mn」を、第1比較命令と呼ぶことがある。第1比較命令は、ジャンプステータスフラグ(JF)とキャリーフラグ(CF)を同値に変化させる。
レジスタの値と直値(1バイト)を比較して、ジャンプステータスフラグ(JF)とゼロフラグ(ZF)を同値に変化させる命令「CPJ p,n」「CPJ q,n」を、第2比較命令と呼ぶことがある。
レジスタの値と直値(1バイト)を比較して、ジャンプステータスフラグ(JF)とキャリーフラグ(CF)を同値に変化させる「CP p,n」「CP q,n」を、第3比較命令と呼ぶことがある。
レジスタの値とメモリの領域に記憶された値(1バイト又は2バイト)を比較して、ジャンプステータスフラグ(JF)とキャリーフラグ(CF)を同値に変化させる「CP r,(vw)」「CP r,(jj+d)」「CP rr,(vw)」「CP rr,(jj+d)」を、第4比較命令と呼ぶことがある。
〔分岐命令(例3)〕
分岐命令(ジャンプ命令)は、実行される命令(処理)のアドレスを、分岐命令のアドレス(分岐元)から分岐先の所定のアドレス(ROM内)に分岐(ジャンプ、移動)させる命令である。本実施形態において、分岐命令は、その次に実行される命令のアドレスを、無条件でオペランドに対応する分岐先のアドレス(ROM内)にジャンプさせるか、又は、第1オペランドに対応する条件が成立すると、第2オペランドに対応する分岐先のアドレス(ROM内)にジャンプさせる。なお、第1オペランドに対応する条件が成立しないと、分岐命令の次の命令にそのまま進む(分岐しない)。
分岐命令は、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(RBSとIMF以外のフラグ)のうち、ジャンプステータスフラグ(JF)を「1」に設定するが、ゼロフラグ(ZF)、キャリーフラグ(CF)、ハーフキャリーフラグ(HF)、サインフラグ(SF)、オーバーフローフラグ(VF)を変化させずそのまま維持する。
〔例3-1〕
図117の例3-1は、分岐命令のうち、分岐元の分岐命令のアドレスから分岐先の近いアドレスに処理がジャンプするJRR命令を例示する命令表である。JRR命令では、後述のJR命令よりもアドレス空間において近距離のアドレス(番地)にジャンプする。ここで、JRR命令は、アセンブリ言語で「JRR 第1オペランド,第2オペランド」と記載され、第1オペランドに対応する条件が成立すると、第2オペランドに対応するアドレスに処理(次に実行される命令)がジャンプ(条件分岐)する。また、第1オペランドに対応する条件が成立しないと、分岐命令の次の命令にそのまま進む(分岐しない)。なお、JRRはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。なお、JRR命令の分岐の条件は、ジャンプステータスフラグ(JF)の状態(T又はF)に関する条件だけを含み、他のゼロフラグ(ZF)、キャリーフラグ(CF)、ハーフキャリーフラグ(HF)、サインフラグ(SF)、オーバーフローフラグ(VF)の状態に関する条件を含まない。
「JRR T,$+1+k」は、4サイクルかつ1バイト長の命令であり、ジャンプステータスフラグ(JF)が「1」の場合(JF=1(真、T)の場合)に、ジャンプ先のアドレス「PC+1+k」に処理がジャンプする。「PC+1+k」は、プログラムカウンタであるPCレジスタの現在値$に1+kを加算したものである。ここで、JRR命令のkの範囲は、-12~-2または+1~+15の狭い範囲(絶対値の小さめの値の範囲)であり、後述のJR命令のkの範囲(-128~+127)よりも狭い。従って、このJRR命令の語長は、1バイト長で短くなる。なお、語長が1バイト長であるため、ジャンプ先のアドレス「PC+1+k」においてkに加えて1が加算されている。
「JRR F,$+1+k」は、「JRR T,$+1+k」と同様の命令であるが、ジャンプステータスフラグ(JF)が「0」の場合(JF=0(偽、F)の場合)に、ジャンプ先のアドレス「PC+1+k」に処理がジャンプする。同様に、kは、-12~-2または+1~+15の狭い範囲である。
以上のように、kの範囲は-12~-2または+1~+15であるため、JRR命令では、ジャンプ先のアドレスは、JRR命令のアドレスから-11バイトから+16バイトの範囲で離れたアドレスになる。この範囲から外れたアドレスには、後述のJR命令を用いてジャンプする。
〔例3-2〕
図117の例3-2は、分岐命令のうち、分岐元の分岐命令のアドレスから分岐先の遠いアドレスに処理がジャンプ可能なJR命令を例示する命令表である。JR命令では、前述のJRR命令よりもアドレス空間において遠距離のアドレス(番地)にジャンプできる。ここで、JR命令は、アセンブリ言語で「JR オペランド」と記載される場合に、無条件でオペランドに対応するアドレスに処理(次に実行される命令)がジャンプ(無条件分岐)し、「JR 第1オペランド,第2オペランド」と記載される場合に、第1オペランドに対応する条件が成立すると、第2オペランドに対応するアドレスに処理がジャンプ(条件分岐)する。また、第1オペランドに対応する条件が成立しないと、分岐命令の次の命令にそのまま進む(分岐しない)。なお、JRはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。JR命令の分岐の条件は、ジャンプステータスフラグ(JF)の状態(T又はF)に関する条件を含まない。
「JR $+2+k」は、3サイクルかつ2バイト長の命令であり、無条件で、ジャンプ先のアドレス「PC+2+k」に処理がジャンプする。「PC+2+k」は、プログラムカウンタであるPCレジスタの現在値$に2+kを加算したものである。ここで、JR命令のkの範囲は、-128~+127の広い範囲(絶対値の大きめの値の範囲)であり、JRR命令のkの範囲(-12~-2または+1~+15)よりも広い。従って、このJR命令は、JRR命令よりも遠いアドレスにジャンプ可能であり、また、このJR命令の語長は、JRR命令よりも長い2バイト長になる。なお、2バイト長であるため、kに加えて2が加算されている。
「JR Z,$+2+k」「JR NZ,$+2+k」「JR C,$+2+k」「JR NC,$+2+k」は、3サイクルかつ2バイト長の命令であり、第1オペランドに対応する特定の条件(各々、ZF=1、ZF=0、CF=1、CF=0)が成立すると、「JR $+2+k」と同様に、ジャンプ先のアドレス「PC+2+k」に処理がジャンプする。
「JR LE,$+3+k」「JR GT,$+3+k」「JR M,$+3+k」「JR P,$+3+k」「JR SLT,$+3+k」「JR SGE,$+3+k」「JR SLE,$+3+k」「JR SGT,$+3+k」「JR VS,$+3+k」「JR VC,$+3+k」は、4サイクルかつ3バイト長の命令であり、第1オペランドに対応する特定の条件(各々、CF=1またはZF=1、CF=0かつZF=0、SF=1、SF=0、SFとVFの排他的論理和が1、SFとVFの排他的論理和が0、SFとVFの排他的論理和が1またはZF=1、SFとVFの排他的論理和が0かつZF=0、VF=1、VF=0)が成立すると、ジャンプ先のアドレス「PC+3+k」に処理がジャンプする。「PC+3+k」は、プログラムカウンタであるPCレジスタの現在値$に3+kを加算したものである。ここで、kは、-128~+127の絶対値の大きめの値であるため、これらのJR命令は、JRR命令よりも遠いアドレスにジャンプ可能であり、また、これらのJR命令の語長は、JRR命令よりも長い3バイト長になる。なお、3バイト長であるため、kに加えて3が加算されている。
以上、分岐命令について説明したが、分岐命令のアドレスから遠いアドレスに処理をジャンプさせ得る2バイト長のJR命令を第1分岐命令と呼ぶことがある。分岐命令のアドレスから近いアドレスに処理をジャンプさせる1バイト長のJRR命令を第2分岐命令と呼ぶことがある。なお、分岐の条件は。第1分岐命令(JR命令)ではジャンプステータスフラグの状態(T又はF)に関する条件を含まないが、第2分岐命令(JRR命令)ではジャンプステータスフラグの状態に関する条件を含む。
〔呼出し命令(例4)〕
呼出し命令は、呼び出し元のプログラムから、呼び出し先の所定のアドレスのサブルーチンを呼び出す命令である。本実施形態において、呼出し命令は、オペランドに対応するアドレス(番地)のサブルーチンを呼び出すか、又は、第1オペランドに対応する条件が成立すると、第2オペランドに対応するアドレス(番地)のサブルーチンを呼び出す。
呼出し命令は、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(RBSとIMF以外のフラグ)を変化させずそのまま維持する。
〔例4-1〕
図118の例4-1は、呼出し命令のうち、任意のアドレス(ROM内アドレス)のサブルーチンを呼び出せるCALL命令を例示する命令表である。ここで、CALL命令は、アセンブリ言語で「CALL オペランド」と記載される場合に、無条件でオペランドに対応するアドレス(番地)のサブルーチンを呼び出し、「CALL 第1オペランド,第2オペランド」と記載される場合に、第1オペランドに対応する条件が成立すると、第2オペランドに対応するアドレス(番地)のサブルーチンを呼び出す。なお、CALLはオペコードで、オペランドにおけるカンマの前が第1オペランドで、カンマの後が第2オペランドである。
無条件でサブルーチンを呼び出せる「CALL mn」「CALL rr」「CALL (vw)」「CALL (jj)」「CALL (jj+)」「CALL (jj+d)」「CALL (jj+p)」は、各々、呼び出されるサブルーチンのアドレス(先頭アドレス、ROM内)の値が、直値mn、rrレジスタに格納された値、直値vwで指定された直接アドレスの領域に記憶された値、jjレジスタで指定されたアドレスの領域に記憶された値、jjレジスタで指定されたアドレスの領域に記憶された値、加算アドレス「jj+d」の領域に記憶された値、加算アドレス「jj+p」の領域に記憶された値となる命令である。これらのCALL命令は、上記の順に、7サイクルかつ4バイト長、6サイクルかつ2バイト長、9サイクルかつ4バイト長、7サイクルかつ2バイト長、8サイクルかつ2バイト長、8サイクルかつ3バイト長、8サイクルかつ2バイト長である。
「CALL T,mn」「CALL F,mn」「CALL Z,mn」「CALL NZ,mn」「CALL C,mn」「CALL NC,mn」は、各々、JF=1の条件、JF=0の条件、ZF=1の条件、ZF=0の条件、CF=1の条件、CF=0の条件が成立した場合に、直値mnのアドレスのサブルーチンを呼び出す命令である。これらのCALL命令の語長は、いずれも4バイト長である。また、これらのCALL命令のサイクル数は、条件が成立した場合に7サイクルであり、条件が不成立の場合に5サイクルである。
〔例4-2〕
図118の例4-2は、呼出し命令のうち、任意のアドレスのサブルーチンを呼び出せないCALLT命令とCALLR命令を例示する命令表である。ここで、CALLT命令とCALLR命令は、各々、アセンブリ言語で「CALLT オペランド」と「CALLR オペランド」と記載され、無条件でオペランドに基づいて導出されるかオペランドに対応するアドレス(番地)のサブルーチンを呼び出す。なお、CALLTとCALLRはオペコードである。
「CALLT n」は、7サイクルかつ1バイト長の命令であり、無条件でベクタテーブルのn番目に登録(アドレスが登録)されたサブルーチンを呼び出す。ここで、直値nは、4ビットで0から15までの値を示す(n=0~15)。ベクタテーブルは、ROM111bのアドレス空間の最後尾にあるプログラム管理エリア内に配置される(図109参照)。ベクタテーブルにおいて、サブルーチンのアドレス(先頭アドレス)が順番に登録(定義)され記憶されている。ベクタテーブルを利用できるため、オペランドは直値mnではなく直値n(4ビット)となり、「CALLT n」の語長は1バイトと短くなる。しかし、ベクタテーブルにおいて登録できるアドレス(サブルーチンのアドレス)の数には上限(16個)がある。
「CALLR mn」は、無条件で直値mnのアドレス(番地)のサブルーチンを呼び出す。この命令の呼び出せる呼び出し先のサブルーチンのアドレスには所定の範囲(例えば4000hから53FFh)に制限される。「CALLR mn」は、例えば直値mnの範囲が4000hから4BFFhの場合に、6サイクルかつ2バイト長であり、例えば直値mnの範囲が4C00hから53FFhの場合に、7サイクルかつ3バイト長である。このように、直値mnが大きい場合に、この命令のサイクル数と語長は大きくなる。なお、直値mnが大きい場合には、アドレスが大きい第2のROM領域(領域外プログラムの領域)にあるサブルーチンも呼び出せることもある。
呼び出し先のアドレスに関係するオペランドが直値mn又は直値nである場合において、CALLT命令、CALLR命令、CALL命令は、この順に、1バイト長、2バイト長(又は3バイト長)、4バイト長となる。即ち、呼び出し先のアドレスに関係するオペランドが直値である場合において、呼び出すことが可能なアドレス(サブルーチンのアドレス)の数が小さいほど(数に制限があるほど)、呼出し命令の語長は短くなる(命令サイズは小さくなる)。なお、CALLT命令はベクタテーブルを利用し、CALLR命令は呼び出し可能なアドレスの範囲に制限があり、CALL命令は任意のアドレスを呼び出せるため、呼び出し可能なアドレスの数は、CALLT命令<CALLR命令<CALL命令の順番になる。
以上、呼出し命令について説明したが、任意のアドレスのサブルーチンを呼び出せるが命令サイズの大きい特定のCALL命令(4バイト長の「CALL mn」「CALL T,mn」「CALL F,mn」「CALL Z,mn」「CALL NZ,mn」「CALL C,mn」「CALL NC,mn」)を第1呼出し命令と呼ぶことがある。第1呼出し命令では、呼び出し先のアドレスが直値mnで指定されている。なお、これらCALL命令の中で、無条件でサブルーチンを呼び出せる「CALL mn」だけを第1呼出し命令としてもよい。また、呼び出せるサブルーチン(呼び出し先)のアドレスに制限があるが、第1呼出し命令よりも語長が短い2バイト長又は3バイト長のCALLR命令を第2呼出し命令と呼ぶことがある。さらに、ベクタテーブルに登録(アドレスが登録)されたサブルーチンのみを呼び出すことができ、第2呼出し命令よりも語長が短い1バイト長のCALLT命令を第3呼出し命令と呼ぶことがある。
〔復帰命令(例5)〕
復帰命令(リターン命令)は、サブルーチンや割込み処理等からリターンする命令である。本実施形態において、復帰命令は、無条件でリターンするか、又は、オペランドに対応する条件が成立すると、リターンする。
復帰命令は、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(RBSとIMF以外のフラグ)を変化させずそのまま維持するか、指定した値に設定する。
〔例5-1〕
図119の例5-1は、復帰命令のうち、フラグレジスタ1200のデータであるプログラムステータスワードPSWの復帰を伴わないRET命令を例示する命令表である。ここで、RET命令は、アセンブリ言語で「RET」と記載される場合に、無条件でサブルーチンからリターンし、「RET オペランド」と記載される場合に、オペランドに対応する条件が成立するとリターンする。なお、RETはオペコードである。なお、条件が不成立の場合、復帰命令の次の命令にそのまま進む(リターンしない)。
「RET」は、6サイクルかつ1バイト長の命令であり、無条件でサブルーチンからリターンする。
「RET T」「RET F」「RET Z」「RET NZ」「RET C」「RET NC」は、オペランドに対応する特定の条件(各々、JF=1、JF=0、ZF=1、ZF=0、CF=1、CF=0)が成立すると、リターンする。これらのRET命令の語長は、上記の順に、2バイト長、2バイト長、1バイト長、1バイト長、1バイト長、1バイト長である。「RET T」「RET F」のサイクル数は、条件が成立した場合に7サイクルであり、条件が不成立の場合に4サイクルである。「RET Z」「RET NZ」「RET C」「RET NC」のサイクル数は、条件が成立した場合に6サイクルであり、条件が不成立の場合に3サイクルである。
〔例5-2〕
図119の例5-2は、復帰命令のうち、プログラムステータスワードPSWの復帰を伴うRETI命令とRETN命令を例示する命令表である。ここで、RETI命令とRETN命令は、アセンブリ言語で、オペランドなしで「RETI」「RETN」と記載され、無条件でリターンする。なお、RETIとRETNはオペコードである。
「RETI」「RETN」は、7サイクルかつ2バイト長の命令である。「RETI」は、PSWをスタックから復帰し、割込み処理またはCALLI命令のサブルーチンからリターンする命令である。ここで、CALLI命令(命令表には不記載)は、呼出し命令のうち、PSWをスタックに退避し割込み禁止(IMF=0)を設定してからサブルーチンを呼び出す命令である。「RETN」は、PSWをスタックから復帰し、NMI割込み処理からリターンする命令である。NMI割込み処理(ノンマスカブル割り込み処理)は、割込み禁止にできず強制的に実行される割込み処理である。
〔出力処理〕
図120は、第5実施形態に係る出力処理の手順を示すフローチャートである。第5実施形態に係る出力処理は、第1実施形態の出力処理(図10)からステップA1619-A1623の試験信号出力処理を削除しただけのものである。図120において、第1実施形態の出力処理(図10)と同じ処理には同じステップ番号を付しているため、説明を省略する。なお、試験信号出力処理は、出力処理以外の領域外統合処理で実行される。
〔領域外統合処理〕
図121は、第5実施形態に係る領域外統合処理の手順を示すフローチャートである。第5実施形態に係る領域外統合処理は、第1実施形態の領域外統合処理(図57)に試験信号出力処理(A10001)を追加したものである。図121において、第1実施形態の領域外統合処理(図57)と同じ処理には同じステップ番号を付して、説明を省略する。領域外統合処理は、第1実施形態と同じく領域外処理であり、領域外プログラムの一部である領域外統合処理プログラムとして実行される。
遊技制御装置100は、スタックポインタの切り替え(A9501とA9502)とレジスタの退避(A9503)を実行した後、領域外プログラムの一部として、試験信号出力処理(A10001)に対応する試験信号出力処理プログラムを実行する。このように試験信号出力処理(A10001)を領域外統合処理からサブルーチンとして呼び出せば、スタックポインタの切り替えやレジスタの退避・復帰に掛かる処理時間を節約できる。なお、領域内プログラムである出力処理のプログラムからサブルーチンとして領域外プログラムである試験信号出力処理を呼び出すように構成した場合、出力処理でフラグレジスタの退避や試験信号出力処理でのスタックポインタ切り替えや汎用レジスタの退避・復帰の処理が必要になることもある。なお、第1実施形態では、試験信号出力処理は、領域内プログラムである出力処理のプログラムの一部として実行されるため、フラグレジスタの退避やスタックポインタの切り替えや汎用レジスタの退避・復帰は必要ない。
〔試験信号出力処理〕
図122は、第5実施形態に係る試験信号出力処理の手順を示すフローチャートである。試験信号出力処理は、領域外統合処理(図121)のサブルーチンとして実行される。
遊技制御装置100は、まず、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート1に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート1に合成したデータを出力する(A10101)。その後、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート2に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート2に合成したデータを出力する(A10102)。
次に、遊技制御装置100は、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート3に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート3へ合成したデータを出力する(A10103)。さらに、試射試験装置の試験信号を出力する中継基板70上の試験端子出力ポート4に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート4に合成したデータを出力する(A10104)。そして、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート5に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート5に合成したデータを出力する(A10105)。
ステップA10101-A10105の処理は、第1実施形態の出力処理のステップA1619-A1623と同様である。しかし、本実施形態において、試験信号出力処理は、領域外処理に対応する領域外プログラムの一部である試験信号出力処理プログラムとして実行される。一方、出力処理は、領域内処理に対応する領域内プログラムの一部である出力処理プログラムとして実行される。なお、ステップA10101-A10105の処理において、試験端子出力ポート1-5に出力するデータは、RAMの領域内ワーク領域から読み出される(ロードされる)。
〔プログラムリスト〕
図123-図139は、第5実施形態に係る遊技制御装置100のCPU111a(CPUコア102)が実行するプログラムのプログラム構造を例示するプログラムリストである。図123-図139は、あくまでプログラム構造を一例として示すものであり、適宜、命令(コード)の削除や追加など改変可能である。各プログラムリストは、8ビットマイクロプロセッサであるZ80に対応したアセンブリ言語による命令(ソースコード)のリストであり、擬似命令(アセンブラに対する命令)等を除いて、ROM111bに記憶される機械語命令(マシンコード)に1対1に対応する。いずれの命令も機械語命令として命令解釈実行回路1242が解釈実行可能な命令セットに含まれる。
各プログラムリストにおける一行の記載は、左側より、便宜のために付した「行番号」、「アセンブリ言語の命令(コード)」、「命令の語長(命令サイズ、命令長)」、説明の便宜のために付した「コメント」からなる。セミコロン「;」より右側の数字が「語長」であり、さらに右側が「コメント」である。「アセンブリ言語の命令(コード)」は、前述のとおり、操作内容(演算内容)を示す「オペコード」、命令対象の「オペランド」に分けられる。アセンブリ言語の命令(コード)において、ラベルや16進数(・・h、・・・・h等)は、直値n又は直値mnを意味する。なお、プログラムリストの命令は、サブルーチンを呼び出す呼出し命令や分岐命令(ジャンプ命令)等がない限り、基本的に行番号の順に(行番号の小さなものから大きなものへ)プログラムリストの上から下へ実行される。
なお、図123から図135までのプログラムは、第1のROM領域(第1プログラム記憶領域)の領域内プログラムに含まれ、図136から図139までのプログラムは、第2のROM領域(第2プログラム記憶領域)の領域外プログラムに含まれる。
〔メイン処理プログラム〕
図123は、第5実施形態に係るメイン処理(図5A)に対応するメイン処理プログラムの一部のプログラム構造を示すプログラムリストである。
行番号0510では、メイン処理のA1001に対応して、割込みを禁止する(コード「DI」)。
行番号0520では、メイン処理のA1002に対応して、SPレジスタにスタックポインタとして値「29FFh」を転送する(コード「LD SP,29FFH」)。
行番号0530では、メイン処理のA1003に対応して、レジスタバンクセレクタ(RBS)に0を転送する(コード「LD RBS,0」)。これにより、レジスタバンク0を設定する。
行番号0540では、メイン処理のA1004に対応して、IYレジスタにRAM111cの先頭アドレスとして「2800h」を転送して設定する(コード「LD IY,2800H」)。なお、本実施形態では、上位アドレスだけではなく、先頭アドレスの全体(下位アドレスも含む)を設定している。
行番号0550では、メイン処理のA1004の処理に含めてよいが、DPレジスタにROM111bのデータエリア(ユーザプログラム用)の先頭アドレスとして「5000h」を転送して設定する(コード「LD DP,5000H」)。
行番号0560と行番号0570は、メイン処理のA1005に対応する。行番号0560では、ラベルC_SHOT_NGに対応する直値n(発射停止を意味する数値)をAレジスタに転送する(コード「LD A,C_SHOT_NG」)。
行番号0570では、ポートC_OUT01(即ち、ラベルC_OUT01に対応する数値の番号のポート)にAレジスタの数値を出力する(コード「OUT (C_OUT01),A」)。
行番号0580では、メイン処理のA1006に対応して、ポートC_INPUT1(即ち、ラベルC_INPUT1に対応する数値の番号のポート)から数値をAレジスタに入力する(コード「IN A,(C_INPUT1)」)。ここでのポートは、RAM初期化スイッチ112からの信号を取り込む第1入力ポート122である。なお、省略されているが、次の行番号0590では、同様に、メイン処理のA1006に対応して、設定キースイッチ93からの設定キースイッチ信号を取り込む第2入力ポート123であるポートC_INPUT2(即ち、ラベルC_INPUT2に対応する数値の番号のポート)から数値をBレジスタ等に入力してよい。
行番号0610では、メイン処理のA1052に対応して、フラグレジスタ1200のデータ(値)であるプログラムステータスワードPSWを領域内スタック領域に退避(PUSH)する(コード「PUSH PSW」)。
行番号0620では、メイン処理のA1053に対応して、安全装置に関連する安全装置情報を初期化する安全装置情報初期化処理のサブルーチンを呼び出して実行する(コード「CALL P_SAFINI」)。なお、「CALL ラベル」と記載されるコードは、命令表の「CALL mn」に対応する。安全装置情報初期化処理のサブルーチンは、領域外プログラムであり、ラベルP_SAFINIの直値mnに対応するROM内アドレス(先頭アドレス)を第2のROM領域(領域外プログラムの領域)に有する。このように、領域内プログラム(メイン処理プログラム)から領域外プログラムを呼び出す場合には、領域内プログラムを呼び出す場合と区別して、特定のCALL命令が使用される。
行番号0630では、メイン処理のA1054に対応して、プログラムステータスワードPSWを復帰(POP)する。
行番号0640と行番号0650は、メイン処理のA1055に対応する。行番号0640では、乱数生成回路を起動又は使用するために必要なデータテーブル(RNDSET)のアドレス(ラベルD_RNDSET)を、相対アドレス「D_RNDSET-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_RNDSET-5000H」)。相対アドレスは、ユーザプログラム用のデータエリアの先頭アドレス「5000h」を基準とするROM内のアドレスである。なお、コード「LDD HL,D_RNDSET-5000H」は、命令表の「LDD HL,mn」に対応する。
LDD命令は、第2オペランドにアドレス空間の先頭からの絶対アドレス(2バイト)ではなく、相対アドレス(実質的に1バイト)を用いるため、命令の語長が通常のLD命令(「LD ff,mn」)よりも1バイト分だけ減少する(3バイト長から2バイト長へ減少)。
行番号0650では、デバイス(ここでは乱数生成回路)を設定するサブルーチンを呼び出して実行する(コード「CALLR P_DEVSET」)。なお、「CALLR ラベル」と記載されるコードは、命令表の「CALLR mn」に対応する。このサブルーチンは、ラベルP_DEVSETの直値mnに対応するROM内アドレス(先頭アドレス)を有する。
行番号0670では、メイン処理のA1056に対応して、割込みを禁止する(コード「DI」)。
行番号0680と行番号0690は、メイン処理のA1057に対応する。行番号0680では、遊技停止中であるか否かを判定する遊技停止中判定処理に対応するサブルーチンを呼び出して実行する(コード「CALLT P_MSSTA_CHK」)。なお、「CALLT ラベル」と記載されるコードは、命令表の「CALLT n」に対応する。ラベルP_MSSTA_CHKの値がnとなり、ここで呼び出されるサブルーチンのROM内アドレスは、ベクタテーブルにおいてn番目に登録されている。
行番号0690では、ジャンプステータスフラグ(JF)がセットされておらず「0」の場合(JF=0:遊技停止中である場合)に、ラベルMAIN80に対応するROM内アドレスへジャンプして、行番号0740以降の命令を実行する(コード「JRR F,MAIN80」)。ジャンプ先(ラベルMAIN80)は、コード「JRR F,MAIN80」のアドレスから+9バイト(+16バイト以下)離れた近いアドレスである。なお、「JRR F,ラベル」と記載されるコードは、命令表の「JRR F,$+1+k」に対応する。ジャンプステータスフラグ(JF)がセットされており「1」の場合(JF=1:遊技停止中でない場合)に、次の行番号0700の命令に移行する。
行番号0700では、メイン処理のA1058に対応して、フラグレジスタ1200のデータであるプログラムステータスワードPSWを領域内スタック領域に退避(PUSH)する(コード「PUSH PSW」)。
行番号0710では、メイン処理のA1059に対応して、ベース値などの性能情報を計算する性能表示編集処理のサブルーチンを呼び出して実行する(コード「CALL P_SHKSHM」)。性能表示編集処理のサブルーチンは、領域外プログラムであり、ラベルP_SHKSHMの直値mnに対応するROM内アドレス(先頭アドレス)を第2のROM領域(領域外プログラムの領域)に有する。このように、領域内プログラム(メイン処理プログラム)から領域外プログラムを呼び出す場合には、領域内プログラムを呼び出す場合と区別して、特定のCALL命令が使用される。
行番号0720では、メイン処理のA1060に対応して、プログラムステータスワードPSWを復帰(POP)する。
行番号0740では、メイン処理のA1061に対応して、割込みを許可する(コード「EI」)。
行番号0750では、Wレジスタの値同士について排他的論理和をとることによって、Wレジスタの値をクリアして0に設定しておく(コード「XOR W,W」)。
行番号0770から行番号0830は、メイン処理のA1062に対応し、停電が発生しているか否かを判定する。行番号0770では、停電監視信号が入ってくるポートC_INPUT1から数値をAレジスタに入力する(コード「IN A,(C_INPUT1)」)。
行番号0780では、Aレジスタの値と停電監視信号がオフであることを示す値C_PDWNSW(例えば、負論理で00000001B)の論理積をとる(コード「AND A,C_PDWNSW」)。行番号0810の論理積の演算結果は、停電監視信号がオン(例えば、負論理で00000000B)の停電発生状態であれば、ゼロになる。なお、演算結果がゼロの場合、ゼロフラグ(ZF)がセットされ「1」になり、演算結果がゼロでない場合、ゼロフラグ(ZF)がセットされず「0」になる(NZ)。
行番号0790では、行番号0780の演算結果がゼロでなくNZの場合(即ち停電発生状態でない場合)に、ラベルMAIN70に対応するROM内アドレス(分岐先)へジャンプして、行番号0670以降の命令を実行する(コード「JR NZ,MAIN70」)。なお、「JR NZ,ラベル」と記載されるコードは、命令表の「JR NZ,$+2+k」に対応する。ジャンプ先(ラベルMAIN70)は、コード「JR NZ,MAIN70」のアドレスから-17バイト(-12バイト以下)離れた遠いアドレスであり、JRR命令ではジャンプできないアドレスである。しかし、このJR命令では、JRR命令(例えば)よりも、アドレス空間内の遠い距離をジャンプできる。行番号0780の演算結果がゼロである場合(即ち停電発生状態である場合)に、行番号0810の命令に移行する。ジャンプしない場合に、次の行番号0810の命令に移行する。
行番号0810から行番号0830では、チェック回数分停電監視信号のオン状態が継続しているか否かを判定する。
行番号0810では、停電監視信号がオン状態(停電発生状態)の場合に、オン状態の検出回数を示すWレジスタの値を+1更新(1だけ増加)させる(コード「INC W」)。
行番号0820では、Wレジスタの値とチェック回数である「2」を比較する(コード「CP W,2」)。なお、このコードは、命令表の「CP p,n」に対応する。Wレジスタの値がチェック回数「2」より小さい場合に、比較の演算結果としてキャリーフラグ(CF)とジャンプステータスフラグ(JF)がセットされ「1」になる。
行番号0830では、ジャンプステータスフラグ(JF)がセットされ「1」である場合(オン状態の検出回数がチェック回数に達していない場合)に、ラベルMAIN90に対応するROM内アドレスへジャンプして、行番号0770以降の命令を実行する(コード「JRR T,MAIN90」)。なお、「JRR T,ラベル」と記載されるコードは、命令表の「JRR T,$+2+k」に対応する。ジャンプステータスフラグ(JF)がセットされておらず「0」である場合(オン状態の検出回数がチェック回数に達した場合)に、行番号0840に移行する。ジャンプしない場合に、次の行番号0840の命令に移行する。
行番号0840では、メイン処理のA1063に対応して、割込みを禁止する(コード「DI」)。
行番号0850では、メイン処理のA1064に対応して、全出力ポートにオフデータを出力するサブルーチンを呼び出して実行する(コード「CALLR P_OUTCLR」)。このサブルーチンは、ラベルP_OUTCLRに対応するROM内アドレス(先頭アドレス)を有する。
〔タイマ割込み処理プログラム〕
図124は、第5実施形態に係るタイマ割込み処理(図9)に対応するタイマ割込み処理プログラムのプログラム構造を示すプログラムリストである。
行番号1000では、タイマ割込み処理のA1301に対応して、レジスタバンクセレクタ(RBS)に1を転送する(コード「LD RBS,1」)。これにより、レジスタバンク1を設定する。
行番号1010では、タイマ割込み処理のA1302に対応して、所定のレジスタ(Dレジスタ)にRAM先頭アドレスの上位アドレス(28h)をセットする(コード「LD D,28H」)。
行番号1020では、行番号0540と同様に、IYレジスタにRAM111cの先頭アドレスの全体として「2800h」を転送して設定する。
行番号1030では、タイマ割込み処理のA1303に対応して、入力処理に対応するサブルーチンを呼び出して実行する(コード「CALLR P_INPUT」)。入力処理に対応するサブルーチンは、ラベルP_INPUTに対応するROM内アドレス(先頭アドレス)を有する。
行番号1040と行番号1050は、タイマ割込み処理のA1304に対応する。行番号1040では、確率設定変更中又は確率設定確認中であることを示す値(加算アドレス「IY+R_SETMODE」の領域に記憶された値)をAレジスタに転送する(コード「LD A,(IY+R_SETMODE)」)。加算アドレス「IY+R_SETMODE」は、IYレジスタの値「2800h」(RAM111cの先頭アドレス、基準アドレス)とラベルR_SETMODEに対応するオフセット値(直値、相対アドレス)の和である。なお、加算アドレス「IY+ラベル」は、RAM内のアドレスを示す。このコードは、命令表の「LD r,(jj+d)」に対応する。確率設定変更中でも確率設定確認中でもない場合に、Aレジスタに「0」が転送され、ジャンプステータスフラグ(JF)が「1」になっており(JF=1)、確率設定変更中又は確率設定確認中の場合に、Aレジスタに「0」以外の値が転送され、ジャンプステータスフラグ(JF)が「0」になっている(JF=0)。
行番号1050では、ジャンプステータスフラグ(JF)がセットされており「1」の場合(JF=1:確率設定変更中でも確率設定確認中でもない場合)に、ラベルTINT10に対応するROM内アドレスへジャンプして、行番号1090以降の命令を実行する(コード「JRR T,TINT10」)。なお、「JRR T,ラベル」と記載されるコードは、命令表の「JRR T,$+1+k」に対応する。ジャンプ先(ラベルTINT10)は、このコード「JRR T,TINT10」のアドレスから+5バイト(+16バイト以下)離れた近いアドレスである。ジャンプステータスフラグ(JF)がセットされておらず「0」の場合(JF=0:確率設定変更中又は確率設定確認中の場合)に、次の行番号1060の命令に移行する。
行番号1060と行番号1070は、タイマ割込み処理のA1305に対応する。行番号1060では、確率設定変更/確認処理に対応するサブルーチンを呼び出して実行する(コード「CALLR P_SET_DISP」)。確率設定変更/確認処理に対応するサブルーチンは、ラベルP_SET_DISPに対応するROM内アドレス(先頭アドレス)を有する。
行番号1070では、無条件で、ラベルTINT30に対応するROM内アドレスへジャンプして、行番号1310以降の命令を実行する(コード「JR TINT30」)。なお、「JR ラベル」と記載されるコードは、命令表の「JR $+2+k」に対応する。ジャンプ先(ラベルTINT30)は、コード「JR TINT30」のアドレスから+40バイト(+17バイト以上)離れた遠いアドレスであり、JRR命令ではジャンプできないアドレスである。
行番号1090から行番号1110では、各々、タイマ割込み処理における出力処理(A1306)、払出コマンド送信処理(A1307)、入賞口スイッチ/エラー監視処理(A1308)に対応するサブルーチンをCALLR命令によって呼び出して実行する(コード「CALLR P_OUTPUT」「CALLR P_PAYCOM」「CALLR P_PRZERR」)。
行番号1120と行番号1130は、タイマ割込み処理のA1309に対応する。行番号1120では、遊技停止中であるか否かを判定する遊技停止中判定処理に対応するサブルーチンを呼び出して実行する(コード「CALLT P_MSSTA_CHK」)。このサブルーチンは、ベクタテーブルにおいてラベルP_MSSTA_CHKの値nに対応付けられた(n番目に登録された)ROM内アドレス(先頭アドレス)を有する。
行番号1130では、ジャンプステータスフラグ(JF)がセットされておらず「0」の場合(JF=0:遊技停止中である場合)に、ラベルTINT20に対応するROM内アドレスへジャンプして、行番号1190以降の命令を実行する(コード「JRR F,TINT20」)。ジャンプ先(ラベルTINT20)は、このコード「JRR F,TINT20」のアドレスから+9バイト(+16バイト以下)離れた近いアドレスである。ジャンプステータスフラグ(JF)がセットされており「1」の場合(JF=1:遊技停止中でない場合)に、次の行番号1140の命令に移行する。
行番号1140から行番号1170では、各々、タイマ割込み処理における特図ゲーム処理(A1310)、役物ゲーム処理(A1311)、普図ゲーム処理(A1312)、セグメントLED編集処理(A1313)に対応するサブルーチンをCALLR命令によって呼び出して実行する(コード「CALLR P_TGAMEPRC」「CALLR P_YGAMEPRC」「CALLR P_FGAMEPRC」「CALLR P_SEGEDIT」)。
行番号1190から行番号1240では、各々、タイマ割込み処理における安全装置関連処理(A1314)、磁石不正監視処理(A1315)、盤電波不正監視処理(A1316)、振動不正監視処理(A1317)、異常排出監視処理(A1318)、外部情報編集処理(A1319)に対応するサブルーチンをCALLR命令によって呼び出して実行する(コード「CALLR P_SAFSET」「CALLR P_MAGERR」「CALLR P_JAMERR」「CALLR P_VIBERR」「CALLR P_PAYERR」「CALLR P_INFEDIT」)。
行番号1250と行番号1260は、タイマ割込み処理のA1320に対応する。行番号1250では、遊技停止中であるか否かを判定する遊技停止中判定処理に対応するサブルーチンを呼び出して実行する(コード「CALLT P_MSSTA_CHK」)。
行番号1260では、ジャンプステータスフラグ(JF)がセットされておらず「0」の場合(JF=0:遊技停止中である場合)に、ラベルTINT30に対応するROM内アドレスへジャンプして、行番号1310以降の命令を実行する(コード「JRR F,TINT30」)。ジャンプ先(ラベルTINT30)は、このコード「JRR F,TINT30」のアドレスから+9バイト(+16バイト以下)離れた近いアドレスである。ジャンプステータスフラグ(JF)がセットされており「1」の場合(JF=1:遊技停止中でない場合)に、次の行番号1270の命令に移行する。
行番号1270では、タイマ割込み処理のA1321に対応して、プログラムステータスワードPSWを領域内スタック領域に退避(PUSH)する(コード「PUSH PSW」)。
行番号1280では、タイマ割込み処理のA1322に対応して、安全装置カウンタ値の更新(差玉数の算出)や性能表示装置152の表示制御などを行う領域外統合処理に対応するサブルーチンを呼び出して実行する(コード「CALL P_OUTAREA」)。領域外統合処理に対応するサブルーチンは、領域外プログラムであり、ラベルP_OUTAREAの直値mnに対応するROM内アドレス(先頭アドレス)を第2のROM領域(領域外プログラムの領域)に有する。このように、領域内プログラム(タイマ割込み処理プログラム)から領域外プログラムを呼び出す場合には、領域内プログラムを呼び出す場合と区別して、特定のCALL命令が使用される。これによって、プログラムの開発効率を向上できる。
行番号0630では、タイマ割込み処理のA1323に対応して、プログラムステータスワードPSWを復帰(POP)する。
行番号1310では、タイマ割込み処理プログラムからリターンする(コード「RETI」)。
なお、図124のタイマ割込み処理プログラムから呼び出される多数のサブルーチンとして、入力処理、確率設定変更/確認処理、出力処理、払出コマンド送信処理、入賞口スイッチ/エラー監視処理、遊技停止中判定処理、特図ゲーム処理、役物ゲーム処理、普図ゲーム処理、セグメントLED編集処理、安全装置関連処理、磁石不正監視処理、盤電波不正監視処理、振動不正監視処理、異常排出監視処理、外部情報編集処理に対応するサブルーチンは、アドレス空間内の第1のROM領域に配置される領域内プログラムである。領域内プログラムに含まれるこれらのサブルーチンは、呼出し先のアドレスに制限があるが語長の短いCALLT命令又はCALLR命令によって、領域内プログラムに含まれるタイマ割込み処理プログラムから呼び出される。これによって、プログラム容量が削減できる。また、呼び出し先のアドレスが直値mnで指定される7サイクルかつ4バイト長の特定のCALL命令(第1呼出し命令)を使用せず、特定のCALL命令よりもサイクル数又は語長が小さいCALLR命令(第2呼出し命令)又はCALLT命令(第3呼出し命令)を使用することによって、領域内プログラムに含まれるこれらのサブルーチンを呼び出す処理が効率化されるとともに、処理が高速化される。
一方、タイマ割込み処理プログラムから呼び出されるサブルーチンとして、領域外統合処理に対応するサブルーチンは、アドレス空間内の第2のROM領域に配置される領域外プログラムである。領域外プログラムとなるサブルーチン(領域外統合処理のサブルーチン)は、領域内プログラムとなるサブルーチンとは区別して、特定のCALL命令(第1呼出し命令)によって、領域内プログラム(ここではタイマ割込み処理プログラム)から呼び出される。これによって、プログラムの開発効率を向上できる。
なお、後述のように、領域外プログラムに含まれるサブルーチン(領域外統合処理プログラム)からさらに領域外プログラムに含まれるサブルーチン(試験信号出力処理プログラム、性能表示装置制御処理プログラム、差玉確認処理プログラム、安全装置作動監視処理プログラム)を呼び出す場合には、CALLT命令とCALLR命令を使用せずにCALL命令だけを使用して、領域内プログラムに含まれるサブルーチンの呼出しとは区別する。これによっても、プログラムの開発効率を向上できる。
〔特図ゲーム処理プログラム〕
図125の上段は、第5実施形態に係る特図ゲーム処理(図16)に対応する特図ゲーム処理プログラムのプログラム構造を示すプログラムリストである。特図ゲーム処理プログラムは、ラベルP_TGAMEPRCに相当する先頭アドレス(ROM内)を有し、タイマ割込み処理(図9)のステップA1310において、CALLR命令(行番号1140)によって呼び出される。
行番号1510から行番号1530では、各々、特図ゲーム処理における始動口スイッチ監視処理(A2600)、特定領域スイッチ監視処理(A2601)、上大入賞口スイッチ監視処理(A2602)に対応するサブルーチンをCALLR命令によって呼び出して実行する(コード「CALLR P_SIDOSW」「CALLR P_VSW」「CALLR P_CNTUSW」)。
行番号1540と行番号1550は、特図ゲーム処理のA2603に対応する。行番号1540では、「R_TGAME+1」(直値n)を下位アドレス、IYレジスタの8ビット目から15ビット目を上位アドレス(28h)として、HLレジスタに転送する(コード「LDY HL,R_TGAME+1」)。なお、コード「LDY HL,R_TGAME+1」は、命令表の「LDY jj,n」に対応する。ここで、ラベルR_TGAMEは、特図ゲーム処理番号(A2606)を記憶する特図ゲーム処理番号領域のオフセットアドレス(「2800h」を基準とするオフセット値)を示し、当該アドレスに1を加算したアドレス「R_TGAME+1」は、2バイト領域である特図ゲーム処理タイマ領域の先頭アドレス(ここでは「2800h」を基準とするオフセット値)を示す。従って、HLレジスタの値は、特図ゲーム処理タイマ領域の絶対アドレスになっている。
行番号1550では、2バイトデクリメント処理のサブルーチンを呼び出して実行する(コード「CALLT P_DECWORD」)。ここでの2バイトデクリメント処理によって、HLレジスタで指定されたアドレスの領域(特図ゲーム処理タイマ領域)の値が0でなければ1だけ減算される。このように、特図ゲーム処理タイマがタイムアップしておらず0でなければ、-1更新されることになる。なお、ここで呼び出されるサブルーチンのROM内アドレスは、ラベルP_DECWORDの値をnとして、ベクタテーブルにおいてn番目に登録されている。
行番号1560では、特図ゲーム処理のA2604に対応して、ジャンプステータスフラグ(JF)がセットされておらず「0」の場合(JF=0:特図ゲーム処理タイマがタイムアップしておらず0でない場合)に、ラベルTGAMEPRC10に対応するROM内アドレスへジャンプして、行番号1620以降の命令を実行する(コード「JRR F,TGAMEPRC10」)。ジャンプ先(ラベルTGAMEPRC10)は、このコード「JRR F,TGAMEPRC10」のアドレスから+6バイト(+16バイト以下)離れた近いアドレスである。ジャンプステータスフラグ(JF)がセットされており「1」の場合(JF=1:特図ゲーム処理タイマが0である場合)に、次の行番号1570の命令に移行する。
行番号1570では、特図ゲーム処理のA2605に対応して、HLレジスタに特図ゲームシーケンス分岐テーブルの先頭アドレスD_TGAMEPRCを転送する(コード「LD HL,D_TGAMEPRC」)。このコードは、命令表の「LD ff,mn」に対応する。特図ゲームシーケンス分岐テーブルは、分岐先アドレスを登録(羅列)したアドレステーブルである。
行番号1580から行番号1600のコードは、特図ゲーム処理のA2606とA2607に対応する。
行番号1580では、加算アドレス「IY+R_TGAME」の特図ゲーム処理番号領域(RAM内)に格納された値(特図ゲーム処理番号)を、Aレジスタに転送する(コード「LD A,(IY+R_TGAME)」)。ラベルR_TGAMEは、IYレジスタの値「2800h」を基準とする特図ゲーム処理番号領域のオフセットアドレスである。
行番号1590では、2バイトデータ取得処理のサブルーチンを呼び出して実行する(コード「CALLT P_GETWORD」)。なお、ここで呼び出されるサブルーチンのROM内アドレスは、ラベルP_GETWORDの値をnとして、ベクタテーブルにおいてn番目に登録されている。ここでの2バイトデータ取得処理によって、HLレジスタの値(特図ゲームシーケンス分岐テーブルの先頭アドレス)とAレジスタの値(特図ゲーム処理番号)から分岐先アドレスを取得してHLレジスタに格納する。即ち、HLレジスタには、特図ゲーム処理番号に対応して、特図ゲームシーケンス分岐テーブルから取得された分岐先アドレスが格納されている。
行番号1600では、サブルーチンコールとして、HLレジスタに格納されている分岐先アドレスのサブルーチンを呼び出して実行する(コード「CALL HL」)。サブルーチンコールによって、特図ゲーム処理のA2608からA2613の処理のいずれかが実行される。
行番号1620では、特図ゲーム処理のA2614に対応して、特図1表示器51の変動を制御するための特図1変動制御テーブルのアドレス(ラベルD_TZ1CTL)を、相対アドレス「D_TZ1CTL-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_TZ1CTL-5000H」)。
行番号1630では、特図ゲーム処理のA2615に対応して、特図表示器での図柄の変動等を制御する図柄変動制御処理のサブルーチンを呼び出して実行する(コード「CALLR P_ZGRCTL」)。図柄変動制御処理のサブルーチンは、ラベルP_ZGRCTLに対応するROM内アドレス(先頭アドレス)を有する。
行番号1640では、特図ゲーム処理のA2616に対応して、特図2表示器52の変動を制御するための特図2変動制御テーブルのアドレス(ラベルD_TZ2CTL)を、相対アドレス「D_TZ2CTL-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_TZ2CTL-5000H」)。
行番号1650では、特図ゲーム処理のA2617に対応して、図柄変動制御処理のサブルーチン(ラベルP_ZGRCTLに対応するROM内アドレス)を呼び出して実行する(コード「CALLR P_ZGR_CTL」)。
行番号1660では、特図ゲーム処理のA2618に対応して、レバーソレノイド86bの開放動作を制御するレバーソレノイド制御処理のサブルーチンを呼び出して実行する(コード「CALLR P_LEV_SOL」)。レバーソレノイド制御処理のサブルーチンは、ラベルP_LEV_SOLに対応するROM内アドレス(先頭アドレス)を有する。
行番号1660では、特図ゲーム処理プログラムからタイマ割込み処理プログラムにリターンする(コード「RET」)。
〔特図ゲームシーケンス分岐テーブル〕
図125の下段は、第5実施形態に係る特図ゲームシーケンス分岐テーブルを説明するプログラムリストである。上述のとおり、特図ゲームシーケンス分岐テーブルは、ラベルD_TGAMEPRCに対応する先頭アドレスをROM内に有し、特図ゲーム処理のサブルーチンコールのために参照される。なお、特図ゲームシーケンス分岐テーブルのような、領域内プログラム(ここでは特図ゲーム処理プログラム)に関連して使用される分岐テーブルは、プログラム扱いとし、領域内プログラムの領域(第1のROM領域)内で、データエリア以外の遊技制御用プログラムの領域に配置される。普図ゲーム処理や役物ゲーム処理で使用される分岐テーブルも、同様に、データエリア以外の遊技制御用プログラムの領域に配置される。
コードの中に「DW」のニーモニックがあるが、このニーモニックは、テーブルの1段が2バイトのデータであることをアセンブラに指定する擬似命令である。
特図ゲームシーケンス分岐テーブルは、サブルーチン名(ラベル)を分岐先アドレス値に対応付けて設定するための擬似命令の命令群として示されているが、実際には、特図ゲームシーケンス分岐テーブルは、これら命令群によってROM111b内に順番に設定(記憶)される分岐先アドレスの値(サブルーチンの先頭アドレス)のリストである。即ち、ラベル(P_TUSUL、P_TSTOP、P_TDISPLY、P_TSFAN、P_TSOPEN、P_TSZAN)を分岐先アドレスの値に置き換えたものがROM111b内の特図ゲームシーケンス分岐テーブルとなる。
行番号2010の擬似命令は、特図ゲーム処理のA2608のサブルーチン(特図普段処理)の分岐先アドレスの値の設定に対応し、行番号2020の擬似命令は、A2609のサブルーチン(特図変動中処理)の分岐先アドレスの値の設定に対応する。また、行番号2030の擬似命令は、A2610のサブルーチン(特図表示中処理)の分岐先アドレス値の設定に対応し、行番号2040の擬似命令は、A2611のサブルーチン(小当り開放前処理)の分岐先アドレス値の設定に対応する。また、行番号2050の擬似命令は、A2612のサブルーチン(小当り開放中処理)の分岐先アドレス値の設定に対応し、行番号2060の擬似命令は、A2613のサブルーチン(小当り残存球処理)の分岐先アドレス値の設定に対応する。
〔2バイトデクリメント処理プログラム〕
図126の一段目は、第5実施形態に係る2バイトデクリメント処理プログラム(サブルーチン)のプログラム構造を示すプログラムリストである。2バイトデクリメント処理プログラムのサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_DECWORDの値)に登録され、例えば行番号1550等のコード「CALLT P_DECWORD」によって呼び出される。
行番号2110では、HLレジスタで指定されたアドレスの領域(2バイトの領域)に記憶された値をWAレジスタに転送する(コード「LD WA,(HL)」)。
行番号2120では、WAレジスタに転送された値が「0」でありゼロフラグ(ZF)がセットされ「1」である場合(ZF=1の場合)、2バイトデクリメント処理プログラムから呼び出し元の処理プログラムにリターンする(コード「RET Z」)。
行番号2130では、WAレジスタの値を1だけ減算して-1更新する(コード「DEC WA」)。このコードは、WAレジスタの値が「0」でない場合に実行されることになる。
行番号2140では、WAレジスタの値を、HLレジスタで指定されたアドレスの領域(2バイトの領域)に転送する(コード「LD (HL),WA」)。これによって、HLレジスタで指定されたアドレスの領域に記憶された値が、2バイトデクリメント処理の実行前から1だけ減算されて-1更新されたことになる。なお、HLレジスタで指定されたアドレスは、2バイトの領域の先頭アドレスである。また、この2バイトの領域に記憶された値が「0」である場合には、ゼロフラグ(ZF)がセットされ「1」となる。
行番号2150では、2バイトデクリメント処理プログラムから呼び出し元の処理プログラムにリターンする(コード「RET」)。なお、呼び出し元の処理プログラムに返されるゼロフラグによって、HLレジスタで指定されたアドレスを先頭アドレスとする2バイトの領域に記憶されている値が「0」か否かを判定可能となる。
〔2バイトデータ取得処理プログラム〕
図126の二段目は、第5実施形態に係る2バイトデータ取得処理プログラム(サブルーチン)のプログラム構造を示すプログラムリストである。2バイトデータ取得処理プログラムのサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_GETWORDの値)に登録され、例えば行番号1590等のコード「CALLT P_GETWORD」によって呼び出される。
行番号2210では、Aレジスタの値を2倍してWAレジスタに格納する(コード「MUL A,2」)。
行番号2220では、WAレジスタの値をHLレジスタの値に加算する(コード「ADD HL,WA」)。これによって、2バイトデータ取得処理の実行開始時にHLレジスタの値がデータテーブル(例えば特図ゲームシーケンス分岐テーブル)の先頭アドレスであった場合に、ここで加算されたHLレジスタの値が、データテーブル内のデータ(例えばアドレスの値)を指し示すポインタとして機能する。
行番号2230では、HLレジスタで指定されたアドレスの領域に記憶された値をHLレジスタに転送する(コード「LD HL,(HL)」)。これによって、最終的に、データテーブル(例えば特図ゲームシーケンス分岐テーブル)に登録(定義)されたデータ(例えば分岐先アドレスの値)のいずれかがHLレジスタに2バイトデータとして格納されることになる。
行番号2240では、2バイトデータ取得処理プログラムから呼び出し元の処理プログラムにリターンする(コード「RET」)。
なお、行番号2210においてAレジスタの値を2倍する理由は、HLレジスタの値がアドレステーブル(例えば特図ゲームシーケンス分岐テーブル)の先頭アドレスであった場合に、アドレステーブルに登録(定義)されたアドレス値(例えば分岐先アドレスの値)が2バイトであるため、偶数値を加算する必要があるためである(例えば特図ゲーム処理番号は奇数値を含む)。
〔1バイトデータ取得処理プログラム〕
図126の三段目は、第5実施形態に係る1バイトデータ取得処理プログラム(サブルーチン)のプログラム構造を示すプログラムリストである。1バイトデータ取得処理プログラムのサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_GETBYTEの値)に登録され、例えば後述の行番号6350や行番号7570等のコード「CALLT P_GETBYTE」によって呼び出される。
行番号2310では、Aレジスタの値をHLレジスタの値に加算する(コード「ADD HL,A」)。加算後のHLレジスタの値が、アドレスを示すポインタとして機能する。
行番号2320では、HLレジスタで指定されたアドレスの領域に記憶された値をAレジスタに転送する(コード「LD A,(HL)」)。これによって、最終的に使用する1バイトデータがAレジスタに格納されることになる。
行番号2330では、1バイトデータ取得処理プログラムから呼び出し元の処理プログラムにリターンする(コード「RET」)。
〔特図状態チェック処理プログラム〕
図126の四段目は、第5実施形態に係る特図状態チェック処理プログラム(サブルーチン)のプログラム構造を示すプログラムリストである。特図状態チェック処理プログラムのサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_TGMCHKの値)に登録され、例えば後述の行番号2540や行番号4080等のコード「CALLT P_TGMCHK」によって呼び出される。
行番号2410では、ラベルR_TGMFLGに対応するアドレスの領域(R_TGMFLG領域)のビット0がキャリーフラグ(CF)にコピーされる(コード「LD CF,(R_TGMFLG).0」)。このコードによって、CFの値を反転したものがジャンプステータスフラグ(JF)に格納される。例えば、R_TGMFLG領域のビット0が「1」の場合に、CF=1となり、さらに、転送される値が「1」であるためJF=0になる。例えば、R_TGMFLG領域のビット0が「0」の場合に、CF=0となり、さらに、転送される値が「0」であるためJF=1になる。
なお、特図状態チェック処理のサブルーチンの実行結果として、CF=0且つJF=1であれば、時短状態でない(時短なし)と判定でき、CF=1且つJF=0であれば、時短状態である(時短あり)と判定できる。なお、判定自体は、CFまたはJFの何れかで可能である。
行番号2420では、特図状態チェック処理プログラムから呼び出し元の処理プログラムにリターンする(コード「RET」)。
〔始動口スイッチ監視処理プログラム〕
図127は、第5実施形態に係る始動口スイッチ監視処理(図17)に対応する始動口スイッチ監視処理プログラムの一部のプログラム構造を示すプログラムリストである。始動口スイッチ監視処理プログラムは、ラベルP_SIDOSWに相当する先頭アドレス(ROM内)を有し、特図ゲーム処理(図16)のステップA2600において、CALLR命令(行番号1510)によって呼び出されるサブルーチンである。
行番号2510では、始動口スイッチ監視処理のA2701に対応して、始動口1入賞監視テーブルのアドレス(ラベルD_SIDCHK1)を、相対アドレス「D_SIDCHK1-5000h」にして、HLレジスタに転送する(コード「LDD HL,D_SIDCHK1-5000H」)。これにより、始動口1入賞監視テーブルが準備される。
行番号2520では、始動口スイッチ監視処理のA2702に対応して、ハード乱数取得処理のサブルーチンをCALLR命令によって呼び出して実行する(コード「CALLR P_HRNDGET」)。ハード乱数取得処理のサブルーチンは、ラベルP_HRNDGETに対応するROM内アドレス(先頭アドレス)を有する。
行番号2530では、始動口スイッチ監視処理のA2703に対応して、対象の始動入賞口36(始動口1)に始動口入賞がなくキャリーフラグ(CF)がセットされていない場合(NCの場合)に、ラベルSIDOSW20に対応するROM内アドレスへジャンプする(コード「JR NC,SIDOSW20」)。「JR NC,ラベル」と記載されるコードは、命令表の「JR NC,$+2+k」に対応する。なお、キャリーフラグ(CF)は、ハード乱数取得処理で始動口入賞があればセットされ「1」である。ジャンプしない場合に、次の行番号2540の命令に移行する。
行番号2540と行番号2550は、始動口スイッチ監視処理のA2704に対応する。行番号2540では、右打ちする遊技状態であるか否かを判定するために、特図状態チェック処理のサブルーチンを呼び出して実行する(コード「CALLT P_TGMCHK」)。本実施形態では、右打ちする遊技状態は、時短状態(特定遊技状態A-C)とするが、図82のように特定遊技状態C(c時短)を中サポとする場合に、特定遊技状態Cは右打ちする遊技状態からはずしてもよい。特図状態チェック処理のサブルーチンの実行によって、キャリーフラグ(CF)がセットされている場合(CF=1の場合)、時短状態、即ち、右打ちする遊技状態である。
行番号2550では、右打ちする遊技状態である場合、即ち、特図時短中である場合に、ラベルSIDOSW10に対応するROM内アドレスへジャンプして、行番号2590以降の命令を実行する(コード「JR C,SIDOSW10」)。ジャンプしない場合に、次の行番号2560の命令に移行する。
行番号2560では、始動口スイッチ監視処理のA2705に対応し、右打ち指示報知コマンドをBCレジスタに転送する(コード「LD BC,C_RIGHTCOM」)。右打ち指示報知コマンドは、ラベルC_RIGHTCOMに対応する数値で表される。
行番号2570は、始動口スイッチ監視処理のA2706に対応し、演出コマンド設定処理のサブルーチンを呼び出して実行する(コード「CALLT P_COMSET」)。演出コマンド設定処理のサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_COMSETの値)に登録されている。
行番号2590では、始動口スイッチ監視処理のA2707に対応し、始動入賞口36(始動口1)による保留の情報を設定するテーブルのアドレス(ラベルD_T1HOINF)を、相対アドレス「D_T1HOINF-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_T1HOINF-5000H」)。
行番号2600では、始動口スイッチ監視処理のA2708に対応し、特図始動口スイッチ共通処理のサブルーチンを呼び出して実行する(コード「CALLR P_TSIDOSW」)。特図始動口スイッチ共通処理のサブルーチンは、ラベルP_TSIDOSWに対応するROM内アドレス(先頭アドレス)を有する。
〔ハード乱数取得処理プログラム〕
図128は、第5実施形態に係るハード乱数取得処理(A2702,A2710)に対応するハード乱数取得処理プログラムのプログラム構造を示すプログラムリストである。ハード乱数取得処理プログラムは、ラベルP_HRNDGETに相当する先頭アドレス(ROM内)を有し、例えば、始動口スイッチ監視処理のステップA2702においてCALLR命令(行番号2520)によって呼び出されるサブルーチンである。
行番号3010では、始動口入賞がないことを示す始動口入賞なし情報として、キャリーフラグ(CF)をゼロクリアする(コード「CLR CF」)。
行番号3020から行番号3040は、対象のスイッチに入力があったか否かを判定する。行番号3020では、現時点でHLレジスタに指定されているアドレスの領域(例えばROMのデータエリア内)に記憶された値をAレジスタに転送した後、HLレジスタ内のアドレスを次のアドレスに更新する(コード「LD A,(HL+)」)。コード「LD A,(HL+)」は、命令表の「LD r,(jj+)」に対応する。
現時点でHLレジスタに格納(記憶)されているアドレスは、始動口スイッチ監視処理のプログラムの行番号2510で設定されている。そして、このアドレスの領域に記憶された値は、対象のスイッチのスイッチビットデータ(ゼロ以外の判定値)であり、例えば、「00000001B」である。なお、対象のスイッチは、ステップA2702のハード乱数取得処理では、始動口1スイッチ36aであり、ステップA2710のハード乱数取得処理では、始動口2スイッチ37aである。
行番号3030では、対象のスイッチに関する情報が格納されたスイッチ制御領域のうち立ち上がり情報が格納される加算アドレス「IY+R_SWCTL3+2」の領域(RAM内)から立ち上がり情報を取得して、Aレジスタのスイッチビットデータ(判定値)と論理積を取って、当該スイッチがオンしたか否かの判定を行う(コード「AND A,(IY+R_SWCTL3+2)」)。加算アドレス「IY+R_SWCTL3+2」は、IYレジスタの値「2800h」とR_SWCTL3+2に対応するオフセット値の和である。なお、スイッチ制御領域とは、遊技機に備えられた各種スイッチの検出状態をタイマ割込毎に記憶しておく記憶領域のことであり、本実施形態ではRAM111c内に設けられる。立ち上がり情報は、対象のスイッチがオフからオンに変化したことを示す情報である。
なお、R_SWCTL3はスイッチ制御領域の先頭アドレス(RAM111cの先頭アドレス「2800h」からの相対アドレス)であり、論理レベルの情報が先頭アドレスから1番目のアドレスR_SWCTL3+1に記憶され、立ち上がり情報が先頭アドレスから2番目のアドレスR_SWCTL3+2に記憶されている。対象のスイッチがオフからオンに変化した場合に、アドレスR_SWCTL3+2の8ビットのデータのうち対象のビットが0から1になる。
対象の始動口(始動口1又は始動口2)に入賞(入球)がなく対象のスイッチがオフの場合、対象のスイッチに対応する立ち上がり情報(対象のビット)はゼロであり、演算結果(論理積)はゼロになり、ゼロフラグがセットされる(ZF=1)。立ち上がり情報がスイッチビットデータ(判定値)と同じである場合(例えば、「00000001B」で対象のスイッチのビットがオンした場合)に、演算結果(論理積)はゼロ以外(例えば、「00000001B」)になり、ゼロフラグ(ZF)がセットされない(ZF=0)。
行番号3040では、演算結果がゼロになりゼロフラグ(ZF)がセットされている場合に、サブルーチンを終了して、ハード乱数取得処理プログラムから始動口スイッチ監視処理プログラムにリターンする(コード「RET Z」)。即ち、対象の始動口(始動口1又は始動口2)に入賞がなく対象のスイッチがオフである場合に、始動口スイッチ監視処理プログラムに復帰する。
行番号3050では、乱数ラッチレジスタステータスをポートC_HRDCNT(即ち、ラベルC_HRDCNTに対応する数値の番号のポート)からAレジスタに入力する(コード「IN A,(C_HRDCNT)」)。
行番号3060と行番号3070は、対象の乱数ラッチレジスタにラッチデータあるか否かを判定する。行番号3060では、現時点でHLレジスタに格納されているアドレスの領域(例えばROMのデータエリア内)に記憶された判定値(判定データ)とAレジスタの値との論理積をとる(コード「AND A,(HL+)」)。その後、HLレジスタ内のアドレスを次のアドレスに更新する(「HL+」)。判定値はゼロ以外で例えば「00000010B」であり、行番号3060の演算結果(論理積)は、Aレジスタの値である乱数ラッチレジスタステータスが判定値に一致しない場合に、ゼロになりゼロフラグ(ZF)がセットされ、乱数ラッチレジスタステータスが判定値に一致する場合に、ゼロ以外(例えば「00000010B」)になりゼロフラグ(ZF)がセットされない。なお、対象の乱数ラッチレジスタにラッチデータがない場合に、対象の乱数ラッチレジスタに対応する乱数ラッチレジスタステータスのビットは0であり、乱数ラッチレジスタステータスが判定値に一致せず、演算結果(論理積)はゼロになる。
行番号3070では、行番号2060の演算結果がゼロ(Z)の場合(即ち対象の乱数ラッチレジスタにラッチデータがない場合)に、サブルーチンを終了して、ハード乱数取得処理プログラムからリターンする(コード「RET Z」)。
行番号3080では、対象のハード乱数ラッチレジスタのアドレスを準備するため、現時点でHLレジスタに格納されているアドレスの領域(例えばROMのデータエリア内)に記憶された値(対象のハード乱数ラッチレジスタのアドレス)をEレジスタに転送する(コード「LD E,(HL)」)。
行番号3090では、Eレジスタに格納されているアドレス(対象のハード乱数ラッチレジスタのアドレス)から2バイトの領域に記憶されている値(2バイトの大当り乱数、16ビット固定長乱数#0)をWAレジスタに入力する(コード「INW WA,(E)」)。
行番号3100では、WAレジスタの値(2バイトの大当り乱数)をIXレジスタに転送する(コード「LD IX,WA」)。
行番号3110では、始動口入賞があることを示す始動口入賞あり情報として、キャリーフラグ(CF)をセットする(コード「SET CF」)。
行番号3120では、サブルーチンを終了して、ハード乱数取得処理プログラムからリターンする(コード「RET」)。
〔特図始動口スイッチ共通処理プログラム〕
図129は、第5実施形態に係る特図始動口スイッチ共通処理(図18)に対応する特図始動口スイッチ共通処理プログラムのプログラム構造を示すプログラムリストである。特図始動口スイッチ共通処理プログラムは、ラベルP_TSIDOSWに相当する先頭アドレス(ROM内)を有し、例えば、始動口スイッチ監視処理のステップA2708(行番号2600)やA2715においてCALLR命令によって呼び出されるサブルーチンである。
行番号3510では、特図始動口スイッチ共通処理のA2901に対応して、加算アドレス「IY+R_SIDOSIG」の始動口信号出力回数領域に記憶された始動口信号出力回数をAレジスタに転送する(コードLD A,(IY+R_SIDOSIG)」)。
行番号3520では、特図始動口スイッチ共通処理のA2902に対応して、Aレジスタの値(始動口信号出力回数)を1だけ増加して+1更新する(コード「INC A」)。
行番号3530では、特図始動口スイッチ共通処理のA2903に対応して、Aレジスタの始動口信号出力回数がオーバーフローしてゼロに戻っている場合(ZF=1)、ラベルTSIDOSW10に対応するROM内アドレスへジャンプして、行番号3560以降の命令を実行する(コード「JR Z,TSIDOSW10」)。なお、「JR Z,ラベル」と記載されるコードは、命令表の「JR Z,$+2+k」に対応する。ジャンプしない場合に、次の行番号3540の命令に移行する。
行番号3540では、特図始動口スイッチ共通処理のA2903に対応して、Aレジスタの始動口信号出力回数がオーバーフローしてない場合に、更新後のAレジスタの値(始動口信号出力回数)を加算アドレス「IY+R_SIDOSIG」の始動口信号出力回数領域に転送する(コード「LD (IY+R_SIDOSIG),A」)。
行番号3560から3590は、特図始動口スイッチ共通処理のA2905に対応する。行番号3560では、保留情報テーブル(現時点のHLレジスタで指定されたアドレスの領域)に記憶された値を、保留数領域のオフセットアドレスとしてWレジスタに転送する(コード「LD W,(HL+)」)。なお、コード「LD W,(HL+)」は、命令表の「LD r,(jj+)」に対応する。その後、現時点のHLレジスタ内のアドレスを次のアドレスに+1更新する。例えば、対象の始動口が始動口1であれば、現時点のHLレジスタ内のアドレス(例えばROMのデータエリア内)は、行番号2590でロード(転送)した値である。保留情報テーブル(A2707、A2714)は、始動入賞口36(始動口1)又は第2始動入賞口(普通変動入賞装置37、始動口2)への入賞による保留(始動記憶)に関する情報を設定したテーブル(例えばROMのデータエリア内)である。
行番号3570では、加算アドレス「IY+W」の領域に記憶された値(保留数)をAレジスタに転送する(コード「LD A,(IY+W)」)。加算アドレス「IY+W」は、Wレジスタに格納された値(保留数領域のオフセットアドレス)とIYレジスタに格納された値(RAM先頭アドレス「2800h」)を加算したものである。加算アドレス「IY+W」は、保留数領域の絶対アドレスとなる。即ち、行番号3570では、保留数領域の現時点での保留数をAレジスタに格納するが、現時点での保留数(始動記憶の数)は、行番号3600(A2906)で今回の入賞によって+1更新する前の保留数である。
行番号3580では、Aレジスタの保留数を上限値(ここでは4)と比較して、上限値より小さい場合にキャリーフラグ(CF)をセットし(CF=1)、上限値以上の場合にキャリーフラグ(CF)をセットしない(CF=0)(コード「CP A,4」)。
行番号3590では、保留数が上限値に達してキャリーフラグ(CF)をセットしない場合に(NC)、特図始動口スイッチ共通処理プログラムから始動口スイッチ監視処理プログラムにリターンする(コード「RET NC」)。
行番号3600は、特図始動口スイッチ共通処理のA2906に対応する。行番号3600では、対象の特図保留数(特図1保留数又は特図2保留数)として、RAM内アドレス「IY+W」に対応する保留数領域の値である保留数を+1更新する(コード「INC (IY+W)」)。RAM内アドレスIY+Wは、IYレジスタに格納された値とWレジスタに格納された値を加算したアドレスである。
行番号3610から3640は、特図始動口スイッチ共通処理のA2907に対応する。行番号3610では、Aレジスタに格納された保留数(+1更新する前の保留数)をCレジスタに転送する(コード「LD C,A」)。
行番号3620では、現時点のHLレジスタのアドレスの領域に記憶された値(始動口入賞フラグ)をBレジスタに転送する(コード「LD B,(HL+)」)。なお、コード「LD B,(HL+)」は、命令表の「LD r,(jj+)」に対応する。即ち、保留情報テーブルから始動口入賞フラグ(特図1又は特図2を示す値)を取得する。その後、HLレジスタ内の値を次のアドレスに+1更新する。
行番号3630では、加算アドレス「IY+R_SIDOFLG」の領域(RAM内)に、Bレジスタに格納された値(始動口入賞フラグ)を転送する(コード「LD (IY+R_SIDOFLG),B」。加算アドレス「IY+R_SIDOFLG」は、IYレジスタに格納された値(RAM先頭アドレス「2800h」)にラベルR_SIDOFLGに対応する値を加算したものである。なお、加算アドレス「IY+ラベル」は、RAM内のアドレスを示す。
行番号3640では、BCレジスタの値をRAMのスタック領域に退避する(コード「PUSH BC」)。
行番号3650から3690は、特図始動口スイッチ共通処理のA2908に対応する。行番号3650では、現時点のHLレジスタに格納されたアドレスに記憶された値(1つの保留に対するバイト数(8))をWレジスタに転送する(コード「LD W,(HL+)」)。即ち、保留情報テーブルから1つの保留に対するバイト数(8)を取得する。その後、HLレジスタ内のアドレスを次のアドレスに+1更新する。
なお、特図1保留記憶領域又は特図2保留記憶領域の各保留の乱数格納領域には、2バイトの大当り乱数、1バイトの大当り図柄乱数、1バイトのサポ当り図柄乱数、2バイトの変動パターン乱数1、1バイトの変動パターン乱数2、1バイトの変動パターン乱数3が格納され、各特図保留(各始動記憶)に対して割り当てられたバイト数(保留バイト数)は8バイトになる。
行番号3660では、Wレジスタに格納された保留バイト数(8)と、Aレジスタに格納された保留数(+1更新する前の保留数であり0から3)とを乗算し、WAレジスタに演算結果(保留数×保留バイト数(8))を格納する(コード「MUL W,A」)。演算結果は0から24であるため、演算結果は実質的に下位バイトのAレジスタに格納される。
行番号3670では、現時点のHLレジスタに格納されたアドレスに記憶された値(乱数格納領域のアドレス)をLレジスタに転送する(コード「LD L,(HL)」)。即ち、保留情報テーブルから乱数格納領域のアドレス(先頭アドレス)を取得する。例えば、乱数格納領域(保留記憶領域)の先頭アドレスは、特図1保留記憶領域では2830hであり、特図2保留記憶領域では2850hである。
行番号3680では、Aレジスタに格納された値(保留数×保留バイト数)を、Lレジスタに格納された乱数格納領域の先頭アドレスに加算する(コード「ADD L,A」)。加算の結果、Lレジスタの値は、保留数(+1更新する前の保留数)に対応する領域のアドレス、即ち、今回の入賞により発生した保留の乱数格納領域の先頭アドレスになる。例えば、今回の入賞により発生した保留が保留3なら、特図1保留記憶領域に関して、保留数に対応する領域のアドレスは、RAM111cの先頭アドレス「2800h」に対するオフセットアドレス(下位バイト)で30h+2×8=40hとなり、特図2保留記憶領域では、「2800h」に対するオフセットアドレス(下位バイト)で50h+2×8=60hとなる。
行番号3690では、保留数に対応する領域のアドレスの上位アドレスとして、Hレジスタに数値「28h」を転送する(コード「LD H,28H」)。
行番号3700では、特図始動口スイッチ共通処理のA2909に対応して、HLレジスタで指定されたアドレスの領域(RAM内)に、IXレジスタに格納されている2バイトの大当り乱数を転送し、その後、HLレジスタ内のアドレスを次のアドレスに+2更新する(コード「LD (HL+),IX」)。なお、コード「LD (HL+),IX」は、命令表の「LD (jj+),ss」に対応する。
行番号3710と行番号3720は、特図始動口スイッチ共通処理のA2910に対応する。行番号3710では、1バイトの大当り図柄乱数(8ビット可変長乱数#0)をポートC_RNSV0(即ち、ラベルC_RNSV0に対応する数値の番号のポート)からAレジスタに入力する(コード「IN A,(C_RNSV0)」)。
行番号3720では、HLレジスタで指定されたアドレスの領域(RAM内)に、Aレジスタの大当り図柄乱数を転送し、その後、HLレジスタ内のアドレスを次のアドレスに+1更新する(コード「LD (HL+),A」)。なお、コード「LD (HL+),A」は、命令表の「LD (jj+),r」に対応する。
行番号3730と行番号3740は、特図始動口スイッチ共通処理のA2912に対応する。行番号3730では、1バイトのサポ当り図柄乱数(8ビット可変長乱数#1)をポートC_RDSV1(即ち、ラベルC_RDSV1に対応する数値の番号のポート)からAレジスタに入力する(コード「IN A,(C_RDSV1)」)。
行番号3740では、HLレジスタで指定されたアドレスの領域(RAM内)に、Aレジスタのサポ当り図柄乱数を転送し、その後、HLレジスタ内のアドレスを次のアドレスに+1更新する(コード「LD (HL+),A」)。
行番号3750から行番号3780は、特図始動口スイッチ共通処理のA2913に対応する。行番号3750では、2バイトの変動パターン乱数1(16ビット固定長乱数#1)をポートC_RDLF1(即ち、ラベルC_RDLF1に対応する数値の番号のポート)からWAレジスタに入力する(コード「INW WA,(C_RDLF1)」)。
行番号3760では、HLレジスタで指定されたアドレスの領域(RAM内)に、WAレジスタの変動パターン乱数1を転送し、その後、HLレジスタ内のアドレスを次のアドレスに+2更新する(コード「LD (HL+),WA」)。なお、コード「LD (HL+),WA」は、命令表の「LD (jj+),ss」に対応する。
行番号3770では、1バイトの変動パターン乱数2と3(8ビット可変長乱数#2と#3)をポートC_RDSV2(即ち、ラベルC_RDSV2に対応する数値の番号のポート)からWAレジスタに入力する(コード「INW WA,(C_RDSV2)」)。
行番号3780では、HLレジスタで指定されたアドレスの領域(RAM内)に、WAレジスタの変動パターン乱数2と3を転送する(コード「LD (HL),WA」)。なお、コード「LD (HL),WA」は、命令表の「LD (jj),ss」に対応する。
行番号3790では、特図始動口スイッチ共通処理のA2914に対応して、特図保留情報判定処理のサブルーチンを呼び出して実行する(コード「CALLR P_THOINF」)。特図保留情報判定処理のサブルーチンは、ラベルP_THOINFに対応するROM内アドレス(先頭アドレス)を有する。
行番号3800から3820は、特図始動口スイッチ共通処理のA2915に対応する。行番号3800では、RAMのスタック領域からBCレジスタの値を復帰する(コード「POP BC」)。Bレジスタの値は、始動口入賞フラグ(特図1又は特図2を示す値)であり、Cレジスタの値は、保留数(+1更新する前の保留数)である。
行番号3810では、Bレジスタの値に、ラベルC_THOMDに対応する数値(特図保留モードを示す数値)を加算する(コード「ADD B,C_THOMD」)。
行番号3820では、Cレジスタの値に2を加算する(コード「ADD C,2」)。
行番号3830では、特図始動口スイッチ共通処理のA2916に対応して、演出コマンド設定処理のサブルーチン(P_COMSET)を呼び出して実行する(コード「CALLT P_COMSET」)。演出コマンド設定処理のサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_COMSETの値)に登録されている。演出コマンド設定処理は、BレジスタとCレジスタの値に基づいて実行されることになる。
行番号2840では、サブルーチンを終了して、特図始動口スイッチ共通処理プログラムからリターンする(コード「RET」)。
〔特図保留情報判定処理プログラム〕
図130は、第5実施形態に係る特図保留情報判定処理に対応する特図保留情報判定処理プログラムの一部のプログラム構造を示すプログラムリストである。特図保留情報判定処理プログラムは、ラベルP_THOINFに相当する先頭アドレス(ROM内)を有し、例えば、特図始動口スイッチ共通処理のA2914(行番号3790)等においてCALLR命令によって呼び出されるサブルーチンである。
行番号4010では、特図2保留数の保留数記憶領域に対応するアドレス(ラベルR_T2HORYU)をDEレジスタに転送する(コード「LDY DE,R_T2HORYU」)。R_T2HORYUは、IYレジスタの値「2800h」を基準とするオフセットアドレスであり、保留数記憶領域の下位アドレスのみをR_T2HORYUとして指定するだけで済む。
行番号4020では、特図2保留の乱数格納領域(特図2保留記憶領域)の先頭アドレス(ラベルR_T2RNDMEM)から8(特図2保留の保留バイト数)を減算した値「R_T2RNDMEM-8」を、特図2保留の乱数格納領域のアドレスに関連する値(基準値)としてHLレジスタに転送する(コード「LDY HL,R_T2RNDMEM-8」)。
行番号4030では、特図2保留に対する保留バイト数「8」をWレジスタに転送する(コード「LD W,8」)。
行番号4040では、加算アドレス「IY+R_SIDOFLG」の領域(RAM内)に記憶された始動口入賞フラグを、特図1を示す値(ラベルC_SIDO1)と比較する(コード「CPJ (IY+R_SIDOFLG),C_SIDO1」)。なお、コード「CPJ (IY+R_SIDOFLG),C_SIDO1」は、命令表の「CPJ (jj+d),n」に対応する。始動口入賞フラグが特図1を示し比較結果が一致する場合には、ゼロフラグがセットされ(ZF=1)、始動口入賞フラグが特図2を示し比較結果が一致しない場合には、ゼロフラグがセットされない(NZ、ZF=0)。
行番号4050では、始動口入賞フラグが特図2を示しゼロフラグがセットされない場合に(NZ)、ラベルTHOINF10に対応するROM内アドレスへジャンプして、行番号4150以降の命令を実行する(コード「JR NZ,THOINF10」)。即ち、始動口1の入賞でなければ分岐する。ジャンプしない場合に、次の行番号4060の命令に移行する。
行番号4060では、特図1保留数の保留数記憶領域のアドレス(ラベルR_T1HORYU)をDEレジスタに転送する(コード「LDY DE,R_T1HORYU」)。
行番号4070では、特図1保留の乱数格納領域(特図1保留記憶領域)の先頭アドレス(ラベルR_T1RNDMEM)から8(特図1保留の保留バイト数)を減算した値「R_T1RNDMEM-8」を、特図1保留の乱数格納領域のアドレスに関連する値(基準値)としてHLレジスタに転送する(コード「LDY HL,R_T1RNDMEM-8」)。
行番号4080では、行番号2540と同じく、右打ちする遊技状態であるか否かを判定するために、特図状態チェック処理のサブルーチンを呼び出して実行する(コード「CALLT P_TGMCHK」)。本実施形態では、右打ちする遊技状態は、時短状態(特定遊技状態A-C)とする。特図状態チェック処理のサブルーチンの実行によって、キャリーフラグ(CF)がセットされている場合(CF=1の場合)、時短状態、即ち、右打ちする遊技状態である。
行番号4090では、右打ちする遊技状態である場合(CF=1の場合)、サブルーチンを終了して、特図保留情報判定処理プログラムからリターンする(コード「RET C」)。これによって、右打ちする遊技状態では、特図1変動表示ゲームの結果を事前判定しない。なお、行番号4050のコードによって、始動口入賞フラグが特図2を示す場合に分岐して行番号4060から行番号4130の命令は実行されないため、右打ちする遊技状態でも、特図2変動表示ゲームの結果は事前判定される。
行番号4100では、特図ゲーム処理番号領域(加算アドレス「IY+R_TGAME」の領域)(RAM内)に格納された特図ゲーム処理番号と、小当り中であることを示すラベルC_TSFANの値を比較する(コード「CP (IY+R_TGAME),C_TSFAN」)。ここで、ラベルR_TGAMEに対応するオフセットアドレスは、IYレジスタの値「2800h」を基準として、特図ゲーム処理番号領域を示す。ラベルC_TSFANの値は、小当り開放前処理の特図ゲーム処理番号「3」である。なお、コード「CP (IY+R_TGAME),C_TSFAN」は、命令表の「CP (jj+d),n」に対応する。小当り中であり、特図ゲーム処理番号が3以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、小当り中でなく3より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号4110では、小当り中でありキャリーフラグ(CF)がセットされていない場合(NC、CF=0の場合)、特図保留情報判定処理プログラムからリターンする(コード「RET NC」)。これによって、小当り中では、特図1変動表示ゲームの結果を事前判定しない。
行番号4120では、役物ゲーム処理番号領域(加算アドレス「IY+R_YGAME」)の領域(RAM内)に格納された役物ゲーム処理番号と、大当り中であることを示すラベルC_YFANの値を比較する(コード「CP (IY+R_YGAME),C_YFAN」)。ここで、ラベルR_YGAMEに対応するオフセットアドレスは、IYレジスタの値「2800h」を基準として、役物ゲーム処理番号領域を示す。ラベルC_YFANの値は、ファンファーレ中処理の特図ゲーム処理番号「1」である。大当り中であり、役物ゲーム処理番号が1以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、大当り中でなく1より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号4130では、大当り中でありキャリーフラグ(CF)がセットされていない場合(NC、CF=0の場合)、特図保留情報判定処理プログラムからリターンする(コード「RET NC」)。これによって、大当り中では、特図1変動表示ゲームの結果を事前判定しない。
行番号4150では、DEレジスタのアドレスに対応する保留数記憶領域に記憶されている保留数(特図1保留数又は特図2保留数)をAレジスタに転送する(コード「LD A,(DE)」)。なお、コード「LD A,(DE)」は、命令表の「LD r,(jj)」に対応する。
行番号4160では、Wレジスタに格納された保留バイト数(8)と、Aレジスタに格納された保留数(特図1保留数又は特図2保留数)(ここでは1から4)とを乗算し、WAレジスタに演算結果(保留数×保留バイト数)を格納する(コード「MUL W,A」)。演算結果は8から32であるため、演算結果は実質的に下位バイトのAレジスタに格納される。
行番号4170では、加算アドレス「HL+A」に対応する領域(2バイト)の値である最新保留の大当り乱数を、IXレジスタに転送(ロード)する(コード「LD IX,(HL+A)」)。なお、コード「LD IX,(HL+A)」は、命令表の「LD ss,(jj+p)」に対応する。この加算アドレスの値は、HLレジスタの値とAレジスタの値(保留数×保留バイト数)との合計である。HLレジスタの値は、乱数格納領域の先頭アドレスから保留バイト数を引いた値であり、乱数格納領域に関連する値である。Aレジスタの値は、保留数×保留バイト数であり、保留数(始動記憶の数)と保留毎に割り当てられたバイト数との乗算値に基づく値である。
なお、HLレジスタの値を、乱数格納領域の先頭アドレスとして、Aレジスタの値を(保留数-1)×保留バイト数とする構成も可能である。
ここで、加算アドレス「HL+A」は、最も新しく発生した最新保留の乱数格納領域の先頭アドレスになる。そして、加算アドレス「HL+A」に対応する領域には、最新保留の大当り乱数が記憶されているが、最新保留の大当り乱数がIXレジスタに取得される(読み出される)。
行番号4180は、大当り判定処理のサブルーチンを呼び出して実行する(コード「CALLR P_BHITJUD」)。大当り判定処理のサブルーチンは、ラベルP_BHITJUDに対応するROM内アドレス(先頭アドレス)を有する。大当り判定処理では、最新保留の大当り乱数に基づいて、大当りか否かを判定する。
行番号4190では、大当り判定処理の結果が大当りでない場合(キャリーフラグがセットされていない場合(NCの場合))、行番号4300以後の処理を行うべく、ラベルTHOINF30に対応するROM内アドレスへジャンプする(コード「JR NC,THOINF30」)。ジャンプしない場合に、次の行番号4200の命令に移行する。
行番号4200では、特図1用の大当り図柄乱数チェックテーブルのアドレスD_ZCHKTBL1(先頭アドレス)をDEレジスタに転送する(コード「LD DE,D_ZCHKTBL1」)。
行番号4210は、行番号4040と同じコードであり、加算アドレス「IY+R_SIDOFLG」の領域(RAM内)に記憶された始動口入賞フラグを、特図1を示す値(ラベルC_SIDO1)と比較する(コード「CPJ (IY+R_SIDOFLG),C_SIDO1」)。
行番号4220では、始動口入賞フラグが特図1を示しジャンプステータスフラグ(JF)がセットされる場合(JF=1の場合、Tの場合)、ラベルTHOINF20に対応するROM内アドレスへジャンプして、行番号4250以降の命令を実行する(コード「JRR T,THOINF20」)。即ち、始動口1の入賞であれば分岐する。ジャンプ先(ラベルTHOINF20)は、このコード「JRR T,THOINF20」のアドレスから+4バイト(+16バイト以下)離れた近いアドレスである。始動口入賞フラグが特図1を示さない場合に、次の行番号4230の命令に移行する。
行番号4230では、特図2用の大当り図柄乱数チェックテーブルのアドレスD_ZCHKTBL2(先頭アドレス)をDEレジスタに転送して上書きする(コード「LD DE,D_ZCHKTBL2」)。
行番号4250では、Aレジスタの値に2を加算する(コード「ADD A,2」)。Aレジスタには、(保留数×保留バイト数)に「2」を加算した値が格納されることになる。
行番号4260では、加算アドレス「HL+A」に対応する領域(1バイト)の値を、Aレジスタに転送する(コード「LD A,(HL+A)」)。なお、コード「LD A,(HL+A)」は、命令表の「LD r,(jj+p)」に対応する。現在、加算アドレスの値は、HLレジスタの値(乱数格納領域の先頭アドレスから保留バイト数を引いた値)とAレジスタの値(保留数×保留バイト数+2)との合計である。HLレジスタの値は、乱数格納領域に関連する値であり、Aレジスタの値は、保留数と保留毎に割り当てられたバイト数との乗算値に基づく値である。ここで、加算アドレスの値は、最も新しく発生した最新保留の乱数格納領域の先頭アドレスに「2」を加算したものである。そして、この加算アドレスに対応する領域には、最も新しく発生した最新保留の大当り図柄乱数が記憶されているが、最新保留の大当り図柄乱数がAレジスタに取得される。
行番号4270では、加算アドレス「DE+A」に対応する領域(1バイト)の値を、Aレジスタに転送する(コード「LD A,(DE+A)」)。なお、コード「LD A,(DE+A)」は、命令表の「LD r,(jj+p)」に対応する。加算アドレスの値は、DEレジスタに格納された値(大当り図柄乱数チェックテーブルの先頭アドレス)とAレジスタの値(大当り図柄乱数の値)との合計である。そして、この加算アドレス値に対応する領域には、大当り図柄乱数に対応する停止図柄情報が記憶されているため、最新保留の停止図柄情報がAレジスタに取得される。このように、大当り図柄乱数に対応して停止図柄情報が取得される。
行番号4280では、ラベルTHOINF100に対応するROM内アドレスへジャンプする(コード「JR THOINF100」)。
〔大当り判定処理プログラム〕
図131は、第5実施形態に係る大当り判定処理(図25A)に対応する大当り判定処理プログラムのプログラム構造を示すプログラムリストである。大当り判定処理プログラムは、ラベルP_BHITJUDに相当する先頭アドレス(ROM内)を有し、例えば、特図保留情報判定処理(行番号4180)、大当りフラグ1設定処理、大当りフラグ2設定処理等においてCALLR命令等の呼出し命令によって呼び出されるサブルーチンである。
行番号4510では、HLレジスタの値をRAMのスタック領域に退避する(コード「PUSH HL」)。
行番号4520から行番号4540は、大当り判定処理のA3800に対応する。行番号4520では、使用するデータテーブルのアドレス(ラベルD_BHITJUD)を、相対アドレス「D_BHITJUD-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_BHITJUD-5000H」)。なお、このデータテーブルには、確率設定値ごとにデータ(図25Aの上限判定値に1を加えた値に相当)が登録されている。
行番号4530では、加算アドレス「IY+R_SETNUM」の領域に記憶された確率設定値をAレジスタに転送する(コード「LD A,(IY+R_SETNUM)」)。
行番号4540では、2バイトデータ取得処理のサブルーチンを呼び出して実行する(コード「CALLT P_GETWORD」)。ここでの2バイトデータ取得処理によって、HLレジスタの値(データテーブルのアドレス)とAレジスタの値(確率設定値)からデータテーブルのデータを取得してHLレジスタに格納する。なお、HLレジスタには、データテーブルから取得されたデータ(値)として、上限判定値に1を加えた値(=上限判定値+1)が格納される。
行番号4550と行番号4560は、大当り判定処理のA3801とA3802に対応する。行番号4550では、IXレジスタの大当り乱数と下限判定値(ラベルC_BHIT_MIN)を比較する(コード「CP IX,C_BHIT_MIN」)。なお、大当り乱数が格納されるレジスタは、16ビットの幅(容量)であれば、IXレジスタではなくペアレジスタでもよい。コード「CP IX,C_BHIT_MIN」は、命令表の「CP rr,mn」(第1比較命令)に対応し、大当り乱数と下限判定値の大小関係を適切に判定できる。IXレジスタの大当り乱数が下限判定値C_BHIT_MIN未満の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされ(CF=1、JF=1(T))、大当り乱数が下限判定値C_BHIT_MIN以上である場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされない(CF=0、JF=0(F))。
行番号4560では、大当り乱数が下限判定値未満の場合(Tの場合)、ラベルBHITJUD10に対応するROM内アドレスへジャンプして、行番号4600以降の命令を実行する(コード「JRR T,BHITJUD10」)。ジャンプ先(ラベルBHITJUD10)は、このコード「JRR T,BHITJUD10」のアドレスから+4バイト(+16バイト以下)離れた近いアドレスである。大当り乱数が下限判定値以上である場合に、次の行番号4570の命令に移行する。
行番号4570と行番号4580は、大当り判定処理のA3803に対応する。行番号4570では、IXレジスタの大当り乱数と、現在HLレジスタに格納されている値(=上限判定値+1)を比較する(コード「CP IX,HL」)。なお、コード「CP IX,HL」は、命令表の「CP rr,gg」(第1比較命令)に対応し、大当り乱数と上限判定値の大小関係を適切に判定できる。IXレジスタの大当り乱数が上限判定値+1未満の場合、即ち、大当り乱数が上限判定値以下の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされる(CF=1、JF=1(T))。ここで、大当りであることを示す大当り情報として、キャリーフラグ(CF)がセットされている(CF=1)。
行番号4580では、大当り乱数が上限判定値以下の場合(Tの場合)、ラベルBHITJUD20に対応するROM内アドレスへジャンプして、行番号4620以降の命令を実行する(コード「JRR T,BHITJUD20」)。ジャンプ先(ラベルBHITJUD20)は、このコード「JRR T,BHITJUD20」のアドレスから+3バイト(+16バイト以下)離れた近いアドレスである。大当り乱数が上限判定値より大きい場合に、次の行番号4600の命令に移行する。
行番号4600では、はずれであることを示すはずれ情報として、キャリーフラグ(CF)をゼロクリアする(CF=0)(コード「CLR CF」)。
行番号4620では、RAMのスタック領域からHLレジスタの値を復帰する(コード「POP HL」)。
行番号4630では、大当り判定処理プログラムからリターンする(コード「RET」)。
以上で説明した大当り判定処理プログラムは、分岐命令としてJRR命令(第2分岐命令)だけを含むサブルーチンである。一方、例えば、特図保留情報判定処理プログラム、特図普段処理プログラム(後述)、特図表示中処理プログラム(後述)などは、分岐命令としてJR命令(第1分岐命令)とJRR命令(第2分岐命令)が混在するサブルーチンである。そして、特図保留情報判定処理プログラム(52バイト以上の容量)、特図普段処理プログラム(59バイトの容量)、特図表示中処理プログラム(89バイト以上の容量)などの第1サブルーチンよりも、20バイトの容量の大当り判定処理プログラム(第2サブルーチン)は、プログラム容量が小さい。なお、1バイト長のJRR命令は2バイト長のJR命令よりも語長が短いため、大当り判定処理プログラムのプログラム容量を合理的に小さくできる。従って、合理的にプログラムの設計ができ、プログラムの開発効率が向上する。
なお、大当り判定処理プログラム(第2サブルーチン)は、特図保留情報判定処理プログラム、大当りフラグ1設定処理のプログラム、大当りフラグ2設定処理のプログラムなどの複数の処理プログラムから共通して呼び出される。これによって、プログラムの全体的な容量(サイズ)を小さくできる。
〔特図普段処理プログラム〕
図132は、第5実施形態に係る特図普段処理(図20)に対応する特図普段処理プログラムのプログラム構造を示すプログラムリストである。特図普段処理プログラムは、ラベルP_TUSULに相当する先頭アドレス(ROM内)を有し、特図ゲーム処理プログラムの行番号1600においてCALL命令によって呼び出されるサブルーチンである。
行番号5010から行番号5040は、特図普段処理のA3200に対応する。行番号5010では、加算アドレス「IY+R_YGAME」の領域に記憶された役物ゲーム処理番号を、Aレジスタに転送する(コード「LD A,(IY+R_YGAME)」)。
行番号5020では、役物ゲーム処理番号が「0」でない場合、即ち、役物普段処理中でない場合(NZ)、ラベルTUSUL30に対応するROM内アドレスへジャンプして、行番号5310以降の命令を実行する(コード「JR NZ,TUSUL30」)。ジャンプしない場合に、次の行番号5030の命令に移行する。
行番号5030では、加算アドレス「IY+R_ZANZON」の領域に記憶された残存球カウンタの値を、Aレジスタに転送する(コード「LD A,(IY+R_ZANZON)」)。
行番号5040では、残存球カウンタの値が「0」でない場合、ラベルTUSUL30に対応するROM内アドレスへジャンプして、行番号5310以降の命令を実行する(コード「JR NZ,TUSUL30」)。ジャンプしない場合に、次の行番号5050の命令に移行する。
行番号5050と行番号5060は、特図普段処理のA3201に対応する。行番号5050では、加算アドレス「IY+R_T2HORYU」の領域に記憶された特図2保留数を、Aレジスタに転送する(コード「LD A,(IY+R_T2HORYU)」)。
行番号5060では、特図2保留数が「0」の場合(Tの場合、JF=1の場合)、ラベルTUSUL10に対応するROM内アドレスへジャンプして、行番号5150以降の命令を実行する(コード「JRR T,TUSUL10」)。ジャンプ先(ラベルTUSUL10)は、このコード「JRR T,TUSUL10」のアドレスから+13バイト(+16バイト以下)離れた近いアドレスである。特図2保留数が「0」でない場合(JF=0の場合)、次の行番号5070の命令に移行する。
行番号5070では、特図普段処理のA3202に対応して、特図2変動開始処理のサブルーチンを呼び出して実行する(コード「CALLR P_T2START」)。特図2変動開始処理のサブルーチンは、ラベルP_T2STARTに対応するROM内アドレス(先頭アドレス)を有する。
行番号5080から行番号5100は、特図普段処理のA3203に対応する。行番号5080では、ラベルC_THOMD2に対応する数値(特図保留モードを示す数値)をBレジスタに転送する(コード「LD B,C_THOMD2」)。
行番号5090では、加算アドレス「IY+R_T2HORYU」の領域に記憶された特図2保留数を、Cレジスタに転送する(コード「LD C,(IY+R_T2HORYU)」)。
行番号5100では、Cレジスタの値を+1更新(1だけ増加)させる(コード「INC C」)。
行番号5110では、特図普段処理のA3204に対応して、演出コマンド設定処理のサブルーチン(P_COMSET)を呼び出して実行する(コード「CALLT P_COMSET」)。演出コマンド設定処理は、BレジスタとCレジスタの値に基づいて実行されることになる。
行番号5120では、特図普段処理のA3205に対応して、特図2の特図変動中処理移行設定処理のサブルーチンを呼び出して実行する(コード「CALLR P_T2HEN_SET」)。特図2の特図変動中処理移行設定処理のサブルーチンは、ラベルP_T2HEN_SETに対応するROM内アドレス(先頭アドレス)を有する。
行番号5130では、特図普段処理プログラムからリターンする(コード「RET」)。
行番号5150と行番号5160は、特図普段処理のA3206に対応する。行番号5150では、加算アドレス「IY+R_T1HORYU」の領域に記憶された特図1保留数を、Aレジスタに転送する(コード「LD A,(IY+R_T1HORYU)」)。
行番号5160では、特図1保留数が「0」の場合(Tの場合、JF=1の場合)、ラベルTUSUL20に対応するROM内アドレスへジャンプして、行番号5250以降の命令を実行する(コード「JRR T,TUSUL20」)。特図1保留数が「0」でない場合に、次の行番号5170に移行する。
行番号5170では、特図普段処理のA3207に対応して、特図1変動開始処理のサブルーチンを呼び出して実行する(コード「CALLR P_T1START」)。特図1変動開始処理のサブルーチンは、ラベルP_T1STARTに対応するROM内アドレス(先頭アドレス)を有する。
行番号5180から行番号5200は、特図普段処理のA3208に対応する。行番号5180では、ラベルC_THOMD1に対応する数値(特図保留モードを示す数値)をBレジスタに転送する(コード「LD B,C_THOMD1」)。
行番号5190では、加算アドレス「IY+R_T1HORYU」の領域に記憶された特図1保留数を、Cレジスタに転送する(コード「LD C,(IY+R_T1HORYU)」)。
行番号5200では、Cレジスタの値を+1更新(1だけ増加)させる(コード「INC C」)。
行番号5210では、特図普段処理のA3209に対応して、演出コマンド設定処理のサブルーチン(P_COMSET)を呼び出して実行する(コード「CALLT P_COMSET」)。
行番号5220では、特図普段処理のA3210に対応して、特図1の特図変動中処理移行設定処理のサブルーチンを呼び出して実行する(コード「CALLR P_T1HEN_SET」)。
行番号5230では、特図普段処理プログラムからリターンする(コード「RET」)。
行番号5250と行番号5260は、特図普段処理のA3211に対応する。行番号5250では、加算アドレス「IY+R_DEMO」の客待ちデモ中フラグ領域(RAM内)に記憶された客待ちデモ中フラグを、客待ちデモの開始済みの値(ラベルC_DEMO)と比較する(コード「CPJ (IY+R_DEMO),C_DEMO」)。客待ちデモ中フラグが客待ちデモの開始済みの値を示し、比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号5260では、客待ちデモ中フラグが客待ちデモの開始済みの値であり、ジャンプステータスフラグ(JF)がセットされる場合(JF=1の場合、Tの場合)、ラベルTUSUL30に対応するROM内アドレスへジャンプして、行番号5310以降の命令を実行する(コード「JRR T,TUSUL30」)。客待ちデモ中フラグが客待ちデモの開始済みの値でない場合に、次の行番号5270の命令に移行する。
行番号5270では、特図普段処理のA3212に対応して、加算アドレス「IY+R_DEMO」の客待ちデモ中フラグ領域に、ラベルC_DEMOに対応する数値(客待ちデモの開始済みの値)を転送して、セットする(コード「LD (IY+R_DEMO),C_DEMO」)。
行番号5280では、特図普段処理のA3213に対応して、客待ちデモコマンドに対応する数値(ラベルC_DEMOCOM)をBCレジスタに転送する(コード「LD BC,C_DEMOCOM」)。
行番号5290では、特図普段処理のA3214に対応して、演出コマンド設定処理のサブルーチン(P_COMSET)を呼び出して実行する(コード「CALLT P_COMSET」)。
行番号5310では、特図普段処理のA3215とA3216に対応して、加算アドレス「IY+R_TGAME」の特図ゲーム処理番号領域(RAM内)に、特図ゲーム処理番号「0」としてラベルC_TUSULの数値を転送する(コード「LD (IY+R_TGAME),C_TUSUL」)。
行番号5320では、特図普段処理のA3217に対応して、加算アドレス「IY+R_TZINF」の変動図柄判別フラグ領域に「0」を転送してクリアする(コード「LD (IY+R_TZINF),0」)。
行番号5330では、特図普段処理のA3218に対応して、加算アドレス「IY+R_DAIERR」の大入賞口不正監視期間フラグ領域に不正監視期間中フラグを示す値(ラベルC_CNTNG)を転送する(コード「LD (IY+R_DAIERR),C_CNTNG」)。
行番号5340では、特図普段処理プログラムからリターンする(コード「RET」)。
〔特図表示中処理プログラム〕
図133Aと図133Bは、第5実施形態に係る特図表示中処理(図36A、図36B)に対応する特図表示中処理プログラムの一部のプログラム構造を示すプログラムリストである。特図表示中処理プログラムは、ラベルP_TDISPLYに相当する先頭アドレス(ROM内)を有し、特図ゲーム処理プログラムの行番号1600においてCALL命令によって呼び出されるサブルーチンである。
行番号6010では、Aレジスタの値同士について排他的論理和をとることによって、Aレジスタの値をクリアして0に設定しておく(コード「XOR A,A」)。
行番号6020と行番号6030は、特図表示中処理のA5101に対応する。行番号6020では、加算アドレス「IY+R_TZINF」の変動図柄判別フラグ領域(RAM内)に記憶された変動図柄の情報(特図1又は特図2)を、特図1の変動を示す値(ラベルC_TZ1HEN)と比較する(コード「CPJ (IY+R_TZINF),C_TZ1HEN」)。変動図柄判別フラグ領域が特図1を示し比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号6030では、変動図柄判別フラグ領域が特図2を示し、ジャンプステータスフラグ(JF)がセットされない場合(JF=0の場合、Fの場合)に、ラベルTDISPLY10に対応するROM内アドレスへジャンプして、行番号6090以降の命令を実行する(コード「JRR F,TDISPLY10」)。変動図柄判別フラグ領域が特図1を示す場合、次の行番号6040の命令に移行する。
行番号6040では、特図表示中処理のA5102とA5103に対応して、加算アドレス「IY+BHITFLG1」の大当りフラグ1領域に記憶された値を、Aレジスタの値と交換命令XCHによって交換して、Aレジスタにロードする(コード「XCH A,(IY+BHITFLG1)」)。交換前にAレジスタの値はクリアして0になっていたから、交換後の大当りフラグ1領域はクリアして0になる。
行番号6050から行番号6070は、特図表示中処理のA5104に対応する。行番号6050では、Aレジスタの大当りフラグ1の値と大当りを示す数値(ラベルC_BHIT(例えば1))を比較する(コード「CPJ A,C_BHIT」)。なお、コード「CPJ A,C_BHIT」は、命令表の「CPJ p,n」(第2比較命令)に対応し、大当りフラグ1の値と大当りを示す数値の一致を適切に判定できる。大当りフラグ1が大当りを示し比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号6060では、大当りフラグ1が大当りを示しジャンプステータスフラグがセットされている場合(T、JF=1)、ラベルTDISPLY20に対応するROM内アドレスへジャンプして、行番号6130以降の命令を実行する(コード「JRR T,TDISPLY20」)。大当りフラグ1が大当りを示さない場合、次の行番号6070の命令に移行する。
行番号6070では、ラベルTDISPLY40に対応するROM内アドレスへジャンプして、行番号6180以降の命令を実行する(コード「JR TDISPLY40」)。
行番号6090では、特図表示中処理のA5107とA5108に対応して、加算アドレス「IY+BHITFLG2」の大当りフラグ2領域に記憶された値を、Aレジスタの値と交換命令XCHによって交換して、Aレジスタにロードする(コード「XCH A,(IY+BHITFLG2)」)。交換前にAレジスタの値はクリアして0になっていたから、交換後の大当りフラグ2領域はクリアして0になる。
行番号6100と行番号6110は、特図表示中処理のA5109に対応する。行番号6100では、Aレジスタの大当りフラグ2の値と大当りを示す数値(ラベルC_BHIT)を比較する(コード「CPJ A,C_BHIT」)。大当りフラグ2が大当りを示し比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号6110では、大当りフラグ1が大当りを示さずジャンプステータスフラグがセットされていない場合(F、JF=0)、ラベルTDISPLY40に対応するROM内アドレスへジャンプして、行番号6180以降の命令を実行する(コード「JRR F,TDISPLY40」)。
行番号6130では、特図表示中処理のA5105とA5110に対応して、加算アドレス「IY+JOSADO」の条件装置作動情報領域に、条件装置が作動中であることを示す条件装置作動情報(ラベルC_SADOの値)を転送する(コード「LD (IY+JOSADO),C_SADO」)。
行番号6150では、特図表示中処理のA5106に対応して、特図普段処理移行設定処理のサブルーチンを呼び出して実行する(コード「CALLR P_TUSUL_SET」)。特図普段処理移行設定処理のサブルーチンは、ラベルP_TUSUL_SETに対応するROM内アドレス(先頭アドレス)を有する。
行番号6160では、特図表示中処理プログラムからリターンする(コード「RET」)。
行番号6210と行番号6220は、特図表示中処理のA5122に対応する。行番号6210では、加算アドレス「IY+R_TNJFLG」の天井時短発動フラグ領域(RAM内)に記憶された値を、ラベルC_TNJONの値(天井時短発動フラグがセットされたことを示す値(例えば「1」))と比較する(コード「CPJ (IY+R_TNJFLG),C_TNJON」)。天井時短発動フラグがセットされて比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号6220では、天井時短発動フラグがセットされずジャンプステータスフラグ(JF)がセットされない場合(JF=0の場合、Fの場合)、ラベルTDISPLY70に対応するROM内アドレスへジャンプして、行番号6270以降の命令を実行する(コード「JRR F,TDISPLY70」)。天井時短発動フラグがセットされている場合、次の行番号6230の命令に移行する。
行番号6230と行番号6240は、特図表示中処理のA5123に対応する。行番号6230では、加算アドレス「IY+R_JTNCNT1」の時間短縮変動回数1領域に、時間短縮変動回数1の初期値「704」を転送する(コード「LDW (IY+R_JTNCNT1),704」)。なお、コード「LDW (IY+R_JTNCNT1),704」は、命令表の「LDW (jj+d),mn」に対応する。
行番号6240では、加算アドレス「IY+R_JTNCNT2」の時間短縮変動回数2領域に、時間短縮変動回数2の初期値「700」を転送する(コード「LDW (IY+R_JTNCNT2),700」)。なお、コード「LDW (IY+R_JTNCNT2),700」は、命令表の「LDW (jj+d),mn」に対応する。
行番号6250では、ラベルTDISPLY110に対応するROM内アドレスへジャンプして、行番号6530以降の命令を実行する(コード「JR TDISPLY110」)。
行番号6270と行番号6280は、特図普段処理のA5124に対応する。行番号6270では、加算アドレス「IY+R_SAPFLG2」のサポ当りフラグ2フラグ領域に記憶されたサポ当りフラグ2フラグを、サポ当りを示す数値(ラベルC_SAPON)と比較する(コード「CPJ (IY+R_SAPFLG2),C_SAPON」)。なお、コード「CPJ (IY+R_SAPFLG2),C_SAPON」は、命令表の「CPJ (jj+d),n」に対応する。サポ当りフラグ2がサポ当りを示し比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号6280では、サポ当りフラグ2がサポ当りでありジャンプステータスフラグがセットされている場合、ラベルTDISPLY80に対応するROM内アドレスへジャンプして、行番号6320以降の命令を実行する(コード「JRR T,TDISPLY80」)。サポ当りフラグ2がサポ当りでない場合、次の行番号6290の命令に移行する。
行番号6290と行番号6300は、特図普段処理のA5125に対応する。行番号6290では、加算アドレス「IY+R_SAPFLG1」のサポ当りフラグ1フラグ領域に記憶されたサポ当りフラグ1フラグを、サポ当りを示す数値(ラベルC_SAPON)と比較する(コード「CPJ (IY+R_SAPFLG1),C_SAPON」)。サポ当りフラグ2がサポ当りを示し比較結果が一致する場合には、ゼロフラグがセットされ(Z、ZF=1且つJF=1)、比較結果が一致しない場合には、ゼロフラグがセットされない(NZ、ZF=0且つJF=0)。
行番号6300では、サポ当りフラグ2がサポ当りでなくゼロフラグがセットされていない場合(NZの場合、ZF=0の場合)、ラベルTDISPLY120に対応するROM内アドレスへジャンプして、行番号6550以降の命令を実行する(コード「JR NZ,TDISPLY120」)。サポ当りフラグ2がサポ当りである場合、次の行番号6320の命令に移行する。
行番号6320から行番号6510は、特図普段処理のA5126に対応する。行番号6510では必要なデータテーブルのアドレス(ラベルD_SAPCNT)を、相対アドレス「D_SAPCNT-5000h」に変換して、HLレジスタに転送する(コード「LDD HL,D_SAPCNT-5000H」)。
行番号6330では、加算アドレス「IY+R_SAPNUM」の領域に記憶された時間短縮判定データを、Aレジスタに転送する(コード「LD A,(IY+R_SAPNUM)」)。
行番号6340では、Aレジスタの時間短縮判定データの値を4倍にしてWAレジスタに格納する(コード「MUL A,4」)。
行番号6350では、1バイトデータ取得処理のサブルーチンを呼び出して実行する(コード「CALLT P_GETBYTE」)。これにより、Aレジスタの値がHLレジスタの値に加算され、加算されたHLレジスタの値が、新たな時間短縮変動回数1(初期値)の格納領域のアドレスを示すポインタとして機能する。
行番号6360では、時間短縮変動回数2領域(加算アドレス「IY+R_JTNCNT2」)に記憶された時間短縮変動回数2を、WAレジスタに転送する(コード「LD WA,(IY+R_JTNCNT2)」)。ここでの時間短縮変動回数2は、時短状態における特図2変動表示ゲームの残りの実行回数である。
行番号6370では、WAレジスタの時間短縮変動回数2と、時間短縮変動回数1領域(加算アドレス「IY+R_JTNCNT1」)に記憶された時間短縮変動回数1を比較する(コード「CP WA,(IY+R_JTNCNT1)」)。ここでの時間短縮変動回数1は、時短状態における特図変動表示ゲーム(特図1変動表示ゲームと特図2変動表示ゲーム)の残りの実行回数である。なお、コード「CP WA,(IY+R_JTNCNT1)」は、命令表の「CP rr,(jj+d)」(第4比較命令)に対応する。時間短縮変動回数2が時間短縮変動回数1未満の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされる(CF=1、JF=1(T))。時間短縮変動回数2が時間短縮変動回数1以上の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされない(CF=0、JF=0(F))。
行番号6380では、時間短縮変動回数2が時間短縮変動回数1未満の場合(Tの場合)、ラベルTDISPLY90に対応するROM内アドレスへジャンプして、行番号6440以降の命令を実行する(コード「JRR T,TDISPLY90」)。時間短縮変動回数2が時間短縮変動回数1以上の場合に、次の行番号6390の命令に移行する。
行番号6390では、行番号6350で設定されたアドレス(HLレジスタの値)の領域に記憶された新たな時間短縮変動回数1(初期値)を、WAレジスタに転送する(コード「LD WA,(HL)」)。なお、コード「LD WA,(HL)」は、命令表の「LD ss,(jj)」に対応する。
行番号6400では、WAレジスタの新たな時間短縮変動回数1(初期値)を、時間短縮変動回数1領域(加算アドレス「IY+R_JTNCNT1」)に記憶された時間短縮変動回数1(残り回数)と比較する(コード「CP WA,(IY+R_JTNCNT1)」)。なお、コード「CP WA,(IY+R_JTNCNT1)は、命令表の「CP rr,(jj+d)」(第4比較命令)に対応しており、種々の判定に使用されRAMの領域から直接に読み出す必要のある時間短縮変動回数(ゲーム回数)に関して大小関係を適切に判定できる。新たな時間短縮変動回数1(初期値)が時間短縮変動回数1(残り回数)未満の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされる(CF=1、JF=1(T))。新たな時間短縮変動回数1(初期値)が時間短縮変動回数1(残り回数)以上の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされない(CF=0、JF=0(F))。
行番号6410では、新たな時間短縮変動回数1(初期値)が時間短縮変動回数1(残り回数)以上の場合(Fの場合)、ラベルTDISPLY100に対応するROM内アドレスへジャンプして、行番号6480以降の命令を実行する(コード「JRR F,TDISPLY100」)。新たな時間短縮変動回数1(初期値)が時間短縮変動回数1(残り回数)未満の場合に、次の行番号6420の命令に移行する。
行番号6420では、ラベルTDISPLY120に対応するROM内アドレスへジャンプして、行番号6550以降の命令を実行する(コード「JR TDISPLY120」)。
行番号6440では、加算アドレス「HL+2」の領域に記憶された新たな時間短縮変動回数2(初期値)を、WAレジスタに転送する(コード「LD WA,(HL+2)」)。
行番号6450では、WAレジスタの新たな時間短縮変動回数2(初期値)を、時間短縮変動回数2領域(加算アドレス「IY+R_JTNCNT2」)に記憶された時間短縮変動回数2(残り回数)と比較する(コード「CP WA,(IY+R_JTNCNT2)」)。新たな時間短縮変動回数2(初期値)が時間短縮変動回数2(残り回数)未満の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされる(CF=1、JF=1(T))。新たな時間短縮変動回数2(初期値)が時間短縮変動回数2(残り回数)以上の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされない(CF=0、JF=0(F))。
行番号6460では、新たな時間短縮変動回数2(初期値)が時間短縮変動回数2(残り回数)未満の場合(Tの場合)、ラベルTDISPLY120に対応するROM内アドレスへジャンプして、行番号6550以降の命令を実行する(コード「JRR T,TDISPLY120」)。
行番号6480では、行番号6350で設定されたアドレス(HLレジスタの値)の領域に記憶された新たな時間短縮変動回数1(初期値)を、WAレジスタに転送し、転送後にHLレジスタに格納されたアドレスを2だけ増加する(コード「LD WA,(HL+)」)。なお、コード「LD WA,(HL+)は、命令表の「LD ss,(jj+)」に対応する。
行番号6490では、時間短縮変動回数1領域(加算アドレス「IY+R_JTNCNT1」)に、WAレジスタの新たな時間短縮変動回数1(初期値)を転送する(コード「LD (IY+R_JTNCNT1),WA」)。なお、コード「LD (IY+R_JTNCNT1),WA」は、命令表の「LD (jj+d),ss」に対応する。このように、サポ当りが発生した場合に、初期値としての新たな時間短縮変動回数1が現在の時短残りの回数としての時間短縮変動回数1以上であれば、時間短縮変動回数1は、初期値として新たな時間短縮変動回数1に更新され、他方、新たな時間短縮変動回数1が現在の時間短縮変動回数1未満であれば、更新されない。これにより、時間短縮変動回数1が突然減少してしまうことを防止できる。
行番号6500では、行番号6480で更新されたアドレス(HLレジスタの値)の領域に記憶されたた新たな時間短縮変動回数2(初期値)を、WAレジスタに転送する(コード「LD WA,(HL)」)。
行番号6510では、時間短縮変動回数2領域(加算アドレス「IY+R_JTNCNT2」)に、WAレジスタの新たな時間短縮変動回数2(初期値)を転送する(コード「LD (IY+R_JTNCNT2),WA」)。このように、サポ当りが発生した場合に、初期値としての新たな時間短縮変動回数2が現在の時短残りの回数としての時間短縮変動回数2以上であれば、時間短縮変動回数2は、初期値として新たな時間短縮変動回数2に更新され、他方、新たな時間短縮変動回数2が現在の時間短縮変動回数2未満であれば、更新されない。これにより、時間短縮変動回数2が突然減少してしまうことを防止できる。
行番号6530では、特図普段処理のA5127に対応して、サポ作動設定処理のサブルーチンを呼び出して実行する(コード「CALLR P_SAPSET」)。
行番号6550では、特図普段処理のA5128に対応して、特図普段処理移行設定処理(コード「CALLR P_TUSUL_SET」)。
行番号6560では、特図表示中処理プログラムからリターンする(コード「RET」)。
なお、本実施形態では、図36BのA5126と異なり、サポ当りが発生した場合でも、所定の状況下では、時間短縮変動回数1領域と時間短縮変動回数2領域は初期値に更新されない。具体的には、残りの回数としての時間短縮変動回数2が残りの回数としての時間短縮変動回数1より小さく、さらに、初期値としての新たな時間短縮変動回数2が残りの回数としての時間短縮変動回数2より小さければ、時間短縮変動回数1領域と時間短縮変動回数2領域は初期値に更新されず、サポ作動設定処理も実行されない(A5126とA5127は実行されない)。このように、残りの回数としての時間短縮変動回数2が残りの回数としての時間短縮変動回数1より小さい場合(例えば高サポの場合など)に、時短中に特図2変動表示ゲームが主変動表示ゲームとして実行されているため、時間短縮変動回数2の初期値と残り回数を比較して、時間短縮変動回数1領域と時間短縮変動回数2領域を初期値に更新するか判定することが適切である。
また、具体的には、サポ当りが発生した場合でも、残りの回数としての時間短縮変動回数1が残りの回数としての時間短縮変動回数2以下であり、さらに、初期値としての新たな時間短縮変動回数1が残りの回数としての時間短縮変動回数1より小さければ、時間短縮変動回数1領域と時間短縮変動回数2領域は初期値に更新されず、サポ作動設定処理も実行されない(A5126とA5127は実行されない)。このように、残りの回数としての時間短縮変動回数1が残りの回数としての時間短縮変動回数2以下である場合(例えば中サポの場合など)に、時短中に特図1変動表示ゲームが主変動表示ゲームとして実行されているため、時間短縮変動回数1の初期値と残り回数を比較して、時間短縮変動回数1領域と時間短縮変動回数2領域を初期値に更新するか判定することが適切である。
なお、プログラム容量の削減と制御の簡略化のため、行番号6360、6370、6380、6420の命令を無くして、残りの回数としての時間短縮変動回数1が残りの回数としての時間短縮変動回数2を比較しなくてよい。これにより、初期値としての新たな時間短縮変動回数1が現在の時短残りの回数としての時間短縮変動回数1以上である場合、又は、初期値としての新たな時間短縮変動回数2が現在の時短残りの回数としての時間短縮変動回数2以上である場合のいずれかであれば、時間短縮変動回数1領域と時間短縮変動回数2領域は初期値に更新されることになる。
また、プログラム容量の削減と制御の簡略化のため、行番号6360、6370、6380の命令を無くし、且つ、行番号6410のコードを「JRR F,TDISPLY90」としジャンプ先をTDISPLY90に対応するROM内アドレスしてよい。これにより、初期値としての新たな時間短縮変動回数1が現在の時短残りの回数としての時間短縮変動回数1以上である場合、且つ、初期値としての新たな時間短縮変動回数2が現在の時短残りの回数としての時間短縮変動回数2以上である場合に、時間短縮変動回数1領域と時間短縮変動回数2領域は初期値に更新されることになる。このようにすれば、時間短縮変動回数1と時間短縮変動回数2の両方に関して、突然減少してしまうことを防止できる。
〔始動口信号編集処理プログラム〕
図134は、第5実施形態に係る始動口信号編集処理(A9324)に対応する始動口信号編集処理プログラムのプログラム構造を示すプログラムリストである。始動口信号編集処理プログラムは、ラベルP_SIDOINFに相当する先頭アドレス(ROM内)を有し、外部情報編集処理のステップA9324において呼び出されるサブルーチンである。
行番号7010では、Wレジスタの値同士について排他的論理和をとることによって、Wレジスタの値をクリアして0(オフデータ)に設定しておく(コード「XOR W,W」)。
行番号7020では、始動口信号出力制御タイマ領域のアドレスの下位バイト(R_SIDOSIG+1)をEレジスタに転送する(コード「LD E,R_SIDOSIG+1」)。なお、DEレジスタの値が、始動口信号出力制御タイマ領域のアドレスになる。
行番号7030では、始動口信号出力制御タイマ領域の値である始動口信号出力制御タイマが0でなければ-1更新するサブルーチンを呼び出して実行する(コード「CALLT P_DECBYTE」)。このような-1更新処理(カウントダウン)の処理プログラムとなるサブルーチンは、ベクタテーブルにおいてn番目(n=ラベルP_DECBYTEの値)に登録されている。このサブルーチンによって、-1更新後の始動口信号出力制御タイマの値がAレジスタに格納されている。
行番号7040では、始動口信号出力制御タイマが0である場合(T、ZF=JF=1)、ラベルSIDOINF10に対応するROM内アドレスへジャンプして、行番号7090以降の命令を実行する(コード「JRR T,SIDOINF10」)。始動口信号出力制御タイマが0でない場合、次の行番号7050の命令に移行する。
行番号7050では、Aレジスタの始動口信号出力制御タイマの値を、所定値(64/T+1)と比較する(コード「CP A,64/T+1」)。ここで、Tは、タイマ割込みの割込み周期(4msec)に対応する4である。従って、所定値(64/T+1)は17である。なお、コード「CP A,64/T+1」は、命令表の「CP p,n」(第3比較命令)に対応する。そして、カウントダウンの処理プログラム(サブルーチンP_DECBYTE)を他のタイマの値とも共通化して、始動口信号出力制御タイマの値を更新してAレジスタに格納しておいた場合に、このコードによって、始動口信号出力制御タイマと所定値を適切に比較できる。始動口信号出力制御タイマが所定値未満の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされる(CF=1、JF=1(T))。始動口信号出力制御タイマが所定値以上の場合に、キャリーフラグ(CF)とジャンプステータスフラグ(JF)はセットされない(CF=0、JF=0(F))。
行番号7060では、始動口信号出力制御タイマが所定値以上(オンタイミング)でありジャンプステータスフラグ(JF)はセットされない場合(JF=0の場合、Fの場合)、ラベルSIDOINF20に対応するROM内アドレスへジャンプして、行番号7160以降の命令を実行する(コード「JRR F,SIDOINF20」)。
行番号7070では、ラベルSIDOINF30に対応するROM内アドレスへジャンプして、行番号7180以降の命令を実行する(コード「JR SIDOINF30」)。
行番号7090では、DEレジスタの値を1だけ減算して、始動口信号出力回数領域のアドレスを取得する(コード「DEC DE」)。
行番号7100では、DEレジスタで現在指定されたアドレスの始動口信号出力回数領域の値(始動口信号出力回数)を、Aレジスタに転送する(コード「LD A,(DE)」)。
行番号7110では、出力要求がないために転送された始動口信号出力回数が「0」の場合(ZF=JF=0の場合、Tの場合)、ラベルSIDOINF30に対応するROM内アドレスへジャンプして、行番号7180以降の命令を実行する(コード「JRR T,SIDOINF30」)。
行番号7120では、始動口信号出力回数を1だけ減少して-1更新する(コード「DEC (DE)」)。
行番号7130では、DEレジスタの値を1だけ増加して、始動口信号出力制御タイマ領域のアドレスを取得する(コード「INC DE」)。
行番号7140では、DEレジスタで現在指定されたアドレスの始動口信号出力制御タイマ領域に初期値(128/T+64/T)を転送する(コード「LD (DE),128/T+64/T」)。初期値(128/T+64/T)は48である。
行番号7160では、始動口信号のオンデータ(ラベルC_SIDO_INFの値)をWレジスタに転送する(コード「LD W,C_SIDO_INF」)。
行番号7180では、Wレジスタの値として始動口信号のオンデータ又はオフデータを、外部情報出力データ領域(加算アドレス「IY+R_SIDOSIG+2」)に転送する(コード「LD (IY+R_SIDOSIG+2),W」)。これにより、始動口信号のオンデータ又はオフデータが外部情報端子71から外部装置(ホールコンピュータなど)に出力されることになる。
行番号7190では、始動口信号編集処理プログラムからリターンする(コード「RET」)。
以上の始動口信号編集処理プログラムによって、始動口信号出力回数がゼロにならない限り、始動口信号出力制御タイマに初期値が設定され、初期値(128/T+64/T)から所定値(64/T+1)になるまでのオンタイミングの間に、始動口信号のオンデータが外部情報端子71から外部装置(ホールコンピュータなど)に出力される。
〔安全装置関連処理プログラム〕
図135は、第5実施形態に係る安全装置関連処理(図56)に対応する安全装置関連処理プログラムのプログラム構造を示すプログラムリストである。安全装置関連処理プログラムは、ラベルP_SAFSETに相当する先頭アドレス(ROM内)を有し、タイマ割込み処理のステップA1314においてCALLR命令(行番号1190)によって呼び出されるサブルーチンである。
行番号7510と行番号7520は、安全装置関連処理のA9401に対応する。行番号7510では、領域内ワーク領域に含まれる安全装置作動中フラグ領域(加算アドレス「IY+R_SAFFLG」)の安全装置作動中フラグを、安全装置が作動中であることを示す値(ラベルC_SAFON)と比較する(コード「CPJ (IY+R_SAFFLG),C_SAFON」)。安全装置作動中フラグが作動中であることを示し比較結果が一致する場合には、ゼロフラグがセットされ(Z、ZF=1)、比較結果が一致しない場合には、ゼロフラグがセットされない(NZ、ZF=0)。
行番号7520では、安全装置作動中フラグが作動中であることを示し比較結果が一致する場合(Z)の場合に、サブルーチンを終了して、安全装置関連処理プログラムからリターンする(コード「RET Z」)。
行番号7530から行番号7550は、安全装置関連処理のA9402とA9403に対応する。行番号7530では、領域外ワーク領域に含まれ、安全装置作動情報領域と旧作動情報領域を含む2バイトの領域(ラベルR_SAFINF1の先頭アドレスを有する)から安全装置作動情報と旧作動情報を、WAレジスタに転送する(コード「LD WA,(R_SAFINF1)」)。Wレジスタには、旧作動情報が転送され、Aレジスタには安全装置作動情報が転送される。なお、コード「LD WA,(R_SAFINF1)」は、命令表の「LD ss,(vw)」に対応する。
行番号7540では、Aレジスタの安全装置作動情報とWレジスタの旧作動情報を比較する(コード「CPJ A,W」)。なお、コード「CPJ A,W」は、命令表の「CPJ r,g」に対応する。安全装置作動情報が旧作動情報と同じ値であり変化なく、比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号7550では、安全装置作動情報が旧作動情報と同じ値であり、ジャンプステータスフラグ(JF)がセットされる場合(JF=1の場合、Tの場合)、ラベルSAFSET10に対応するROM内アドレスへジャンプして、行番号7640以降の命令を実行する(コード「JRR T,SAFSET10」)。安全装置作動情報が旧作動情報と同じ値でなく変化した場合に、次の行番号7560の命令に移行する。
行番号7560では、安全装置関連処理のA9404に対応して、安全装置作動情報とコマンドを対応付けた安全装置作動関連コマンドテーブルのアドレス(ラベルD_SAFCOM)を、相対アドレス「D_SAFCOM-5000h」にして、HLレジスタに転送する(コード「LDD HL,D_SAFCOM-5000H」)。
行番号7570では、安全装置関連処理のA9405に対応して、1バイトデータ取得処理のサブルーチンを呼び出して実行する(コード「CALLT P_GETBYTE」)。これにより、Aレジスタの安全装置作動情報の値がHLレジスタの安全装置作動関連コマンドテーブルのアドレスに加算され、加算後のHLレジスタで指定されたアドレスの領域に記憶された値をAレジスタに転送する。従って、安全装置作動関連コマンドテーブルから安全装置作動情報に対応して取得されたコマンド(ACTION部)が、Aレジスタに格納される。
行番号7580と行番号7590は、安全装置関連処理のA9406に対応する。行番号7580では、Aレジスタのコマンド(ACTION部)を、コマンド定義なしを示す数値(ラベルC_NONCOM)と比較する(コード「CPJ A,C_NONCOM」)。コマンド(ACTION部)がコマンド定義なしであり比較結果が一致する場合には、ジャンプステータスフラグがセットされ(T、ZF=1且つJF=1)、比較結果が一致しない場合には、ジャンプステータスフラグがセットされない(F、ZF=0且つJF=0)。
行番号7590では、安全装置作動情報がコマンド定義なしであり、ジャンプステータスフラグ(JF)がセットされる場合(JF=1の場合、Tの場合)、ラベルSAFSET10に対応するROM内アドレスへジャンプして、行番号7640以降の命令を実行する(コード「JRR T,SAFSET10」)。
行番号7600では、Aレジスタのコマンド(ACTION部)をCレジスタに転送する(コード「LD C,A」)。
行番号7610では、安全装置関連処理のA9407に対応して、安全装置作動関連コマンド(MODE部)を演出コマンドとして準備するため、安全装置作動関連コマンド(MODE部)の値(ラベルC_SAFMD)をBレジスタに転送する(コード「LD B,C_SAFMD」)。
行番号7620では、安全装置関連処理のA9408に対応して、演出コマンド設定処理のサブルーチンを呼び出して実行する(コード「CALLT P_COMSET」)。演出コマンド設定処理は、BレジスタとCレジスタの値に基づいて実行されることになる。
行番号7640と行番号7650は、安全装置関連処理のA9409に対応する。行番号7640では、安全装置作動情報領域(アドレスR_SAFINF1)の安全装置作動情報を、ラベルC_SAFSADOの安全装置作動中情報(値3)と比較する(コード「CPJ (R_SAFINF1),C_SAFSADO」)。なお、コード「CPJ (R_SAFINF1),C_SAFSADO」)は、命令表の「CPJ (vw),n」に対応する。安全装置作動情報が安全装置作動中情報(値3)であり比較結果が一致する場合、ゼロフラグがセットされ(Z、ZF=1)、比較結果が一致しない場合には、ゼロフラグがセットされない(NZ、ZF=0)。
行番号7650では、安全装置作動情報が安全装置作動中情報(値3)でなくゼロフラグ(ZF)がセットされていない場合(NZの場合)、安全装置関連処理プログラムからリターンする(コード「RET NZ」)。
行番号7660では、安全装置関連処理のA9410に対応して、安全装置作動中フラグ領域(加算アドレス「IY+R_SAFFLG」)に、安全装置が作動中であることを示す値(ラベルC_SAFON、例えば「1」)を転送して、安全装置作動中フラグとしてセーブする(コード「LD (IY+R_SAFFLG),C_SAFON」)。
行番号7670では、安全装置関連処理プログラムからリターンする(コード「RET」)。
以上、図123から図135において、アドレス空間内で第1のROM領域(第1プログラム記憶領域)に配置される領域内プログラム(第1プログラム)について説明されたが、
領域内プログラムにおいて、呼び出し先のアドレスが直値mnで指定される4バイト長の特定のCALL命令(第1呼出し命令、特定の呼出し命令)は、行番号0620、行番号0710、行番号1280の3箇所で、領域外プログラムを呼び出すために出現する。領域内プログラムにおいて特定のCALL命令が出現する数は、後述の領域外プログラム(図136から図139)において、特定のCALL命令が出現する数(4つ以上)よりも少ない。
このように特定のCALL命令は、語長が4バイトと大きいため、アドレスの小さい第1のROM領域(領域内プログラムの領域、第1プログラム記憶領域)で、第2のROM領域(領域外プログラムの領域、第2プログラム記憶領域)よりも少なく使用されている。これによって、第1のROM領域の容量に余裕を持たせて、領域内プログラムである遊技制御用プログラムの開発効率を向上できる。
また、CALLR命令(第2呼出し命令)とCALLT命令(第3呼出し命令)のうちのいずれかによって、領域内プログラムの一部である所定の処理プログラムから一のサブルーチンを呼び出し可能であり、一のサブルーチンでは、JRR命令(所定の分岐命令、第2分岐命令)を少なくとも実行する。JRR命令によって、所定の処理プログラムから呼び出される他のサブルーチンに分岐しない。このようにして、一のサブルーチンと他のサブルーチンの区切りを明確にし、プログラムの開発効率を向上できる。
所定の処理プログラムと一のサブルーチンの組合せの一例は、タイマ割込み処理プログラムと特図ゲーム処理プログラムの組合せであり、特図ゲーム処理プログラムのJRR命令(行番号1560)では、タイマ割込み処理プログラムの他のサブルーチンである役物ゲーム処理プログラム内や普図ゲーム処理プログラム内に分岐しない。また、所定の処理プログラムと一のサブルーチンの組合せの一例は、特図始動口スイッチ共通処理プログラムと特図保留情報判定処理プログラムの組合せであり、特図保留情報判定処理プログラムのJRR命令(行番号4220)では、特図始動口スイッチ共通処理プログラムの他のサブルーチンである演出コマンド設定処理プログラム(P_COMSET)内に分岐しない。さらに、所定の処理プログラムと一のサブルーチンの組合せの一例は、特図保留情報判定処理プログラムと大当り判定処理プログラムの組合せであり、大当り判定処理プログラムのJRR命令(行番号4560と行番号4580)では、特図保留情報判定処理プログラムの他のサブルーチンである特図状態チェック処理プログラム内に分岐しない。
〔領域外統合処理プログラム〕
図136は、第5実施形態に係る領域外統合処理(図121)に対応する領域外統合処理プログラムのプログラム構造を示すプログラムリストである。領域外統合処理プログラムは、ラベルP_OUTAREAに相当する先頭アドレス(ROM内)を有し、タイマ割込み処理のステップA1322においてCALL命令(行番号1280)によって呼び出されるサブルーチンである。
行番号8010では、領域外統合処理のA9501に対応して、SPレジスタのスタックポインタの値を、領域外ワーク領域のスタックポインタ保存領域(ラベルR_ESTCKPTのアドレス)に転送する(コード「LD (R_ESTCKPT),SP」)。なお、コード「LD (R_ESTCKPT),SP」は、命令表の「LD (vw),ss」に対応する。
行番号8020では、領域外統合処理のA9502に対応して、SPレジスタのスタックポインタに、領域外スタック領域の値として、領域外スタック領域の先頭を示す先頭アドレス値(ラベルC_S_STKTOP)を転送する(コード「LD SP,C_S_STKTOP」)。なお、領域外スタック領域の最終アドレス(最大アドレス)が先頭アドレス(開始アドレス)であり、領域外スタック領域は最大アドレスから最小アドレスまでの範囲となる。
行番号8030から行番号8060は、領域外統合処理のA9503に対応する。行番号8030では、レジスタバンク0を選択するため、フラグレジスタ1200のビットであるレジスタバンクセレクタ(RBS)に、値「0」を転送する(コード「LD RBS,0」)。
行番号8040では、レジスタバンク0の汎用レジスタ全部(WAレジスタ,BCレジスタ,DEレジスタ,HLレジスタ,IXレジスタ,IYレジスタ)の値を領域外スタック領域に退避(PUSH)する(コード「PUSH WA,BC,DE,HL,IX,IY」)。
行番号8050では、レジスタバンク1を選択するため、フラグレジスタ1200のビットであるレジスタバンクセレクタ(RBS)に、値「1」を転送する(コード「LD RBS,1」)。
行番号8060では、レジスタバンク1の汎用レジスタ全部(WAレジスタ,BCレジスタ,DEレジスタ,HLレジスタ,IXレジスタ,IYレジスタ)の値を領域外スタック領域に退避(PUSH)する(コード「PUSH WA,BC,DE,HL,IX,IY」)。
行番号8070から行番号8100では、各々、試験信号出力処理(A10001)、性能表示装置制御処理(A9504)、差玉確認処理(A9505)、安全装置作動監視処理(A9506)に対応するサブルーチン(領域外プログラム)を呼び出して実行する。呼び出しは、呼び出し先のサブルーチンのアドレスが直値mn(ラベル)で指定される4バイト長の特定のCALL命令(第1呼出し命令)によって実行される(コード「CALL P_SOUTPUT」「CALL P_SHYMT」「CALL P_DEFCHK」「CALL P_SAFCHK」)。
なお、試験信号出力処理の呼び出しに関して、サイクル数又は語長が特定のCALL命令よりも小さいCALLT命令(1バイト長)又はCALLR命令(2バイト長又は3バイト長)を使用せず、任意のアドレスのサブルーチンを呼び出せる特定のCALL命令(4バイト長)を使用する。これにより、試験信号出力処理の呼び出しに関して、試験信号出力処理プログラムのアドレスに依存しない汎用性を持たせるとともに開発者に分かり易くしている。
行番号8110から行番号8130は、領域外統合処理のA9507に対応して、退避したレジスタを復帰する。行番号8110では、レジスタバンク1の汎用レジスタ全部(WAレジスタ,BCレジスタ,DEレジスタ,HLレジスタ,IXレジスタ,IYレジスタ)の値を領域外スタック領域から復帰(POP)する(コード「POP WA,BC,DE,HL,IX,IY」)。
行番号8120では、レジスタバンク0を選択するため、フラグレジスタ1200のビットであるレジスタバンクセレクタ(RBS)に、値「0」を転送する(コード「LD RBS,0」)。
行番号8130では、レジスタバンク0の汎用レジスタ全部(WAレジスタ,BCレジスタ,DEレジスタ,HLレジスタ,IXレジスタ,IYレジスタ)の値を領域外スタック領域から復帰(POP)する(コード「POP WA,BC,DE,HL,IX,IY」)。
行番号8140では、領域外統合処理のA9508に対応して、領域外ワーク領域のスタックポインタ保存領域(ラベルR_ESTCKPTのアドレス)に記憶されていたスタックポインタの値をSPレジスタに転送する(コード「LD SP,(R_ESTCKPT)」)。
行番号8150では、領域外統合処理プログラムからリターンする(コード「RET」)。
以上、領域外統合処理プログラムについて説明したが、領域外統合処理プログラムから呼び出されるサブルーチンとして、試験信号出力処理、性能表示装置制御処理、差玉確認処理、安全装置作動監視処理に対応するサブルーチンは、アドレス空間内の第2のROM領域に配置される領域外プログラムである。領域外プログラムに含まれる領域外統合処理プログラムからさらに領域外プログラムに含まれるこれらのサブルーチンを呼び出す場合には、CALLT命令とCALLR命令を使用せずに特定のCALL命令だけを使用して、領域内プログラムに含まれるサブルーチンの呼出しとは区別する。これによって、プログラムの開発効率を向上できる。
なお、仮に、領域外プログラムから逆に領域内プログラムに含まれるサブルーチンを呼び出す場合にも、領域外プログラムにおいてCALL命令だけを使用して、CALL命令以外の呼出し命令が無いことを介して領域外プログラムと領域内プログラムを区別でき、プログラムの開発効率を向上できる。
なお、試験信号出力処理、性能表示装置制御処理、差玉確認処理、安全装置作動監視処理に対応するサブルーチン(領域外プログラムの一部)からさらに、領域外プログラムに含まれるサブルーチンを呼び出す場合にも、領域内プログラムに含まれるサブルーチンの呼出しとは区別して、CALLT命令とCALLR命令を使用せずに、CALL命令だけを使用してプログラムの開発効率を向上できる。
〔試験信号出力処理プログラム〕
図137は、第5実施形態に係る試験信号出力処理(図122)に対応する試験信号出力処理プログラムのプログラム構造を示すプログラムリストである。試験信号出力処理プログラムは、ラベルP_SOUTPUTに相当する先頭アドレス(ROM内)を有し、領域外統合処理(図121)のステップA10001においてCALL命令(行番号8070)によって呼び出されるサブルーチンであり、領域外プログラムに含まれる。
行番号8510から行番号8560は、試験信号出力処理のA10101とA10102に対応する。行番号8510では、アドレス「R_SKNBF+0」の領域に記憶された値をAレジスタに転送する(コード「LD A,(R_SKNBF+0)」)。なお、コード「LD A,(R_SKNBF+0)」は、命令表の「LD s,(vw)」に対応する。
行番号8520では、アドレス「R_SKNBF+1」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_SKNBF+1)」)。
行番号8530では、アドレス「R_SKNBF+2」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_SKNBF+2)」)。
行番号8540では、アドレス「R_SKNBF+3」の領域に記憶された値をWレジスタに転送する(コード「LD W,(R_SKNBF+3)」)。なお、コード「LD W,(R_SKNBF+3)」は、命令表の「LD t,(vw)」に対応する。
行番号8550では、アドレス「R_SKNBF+4」の領域に記憶された値とWレジスタの値を、論理和を取ることによって合成して、Wレジスタに格納する(コード「OR W,(R_SKNBF+4)」)。
行番号8560では、ポートC_OUT05(即ち、ラベルC_OUT05に対応する数値の番号のポート)にWAレジスタの数値を出力する(コード「OUTW (C_OUT05),WA」)。これによって、中継基板70上の試験端子出力ポート1,2にWAレジスタの数値が出力される。
行番号8570から行番号8620は、試験信号出力処理のA10103とA10104に対応する。行番号8570では、アドレス「R_TZ1STP」の領域に記憶された値をAレジスタに転送する(コード「LD A,(R_TZ1STP)」)。アドレス「R_TZ1STP」の領域には、特図1の図柄データのビット信号が記憶されている。
行番号8580では、アドレス「R_T1HENSKN」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_T1HENSKN)」)。アドレス「R_T1HENSKN」の領域には、特図1変動表示ゲームの開始に関する信号である特別図柄1変動中信号が記憶されている。
行番号8590では、アドレス「R_SKNBF+5」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_SKNBF+5)」)。
行番号8600では、アドレス「R_TZ2STP」の領域に記憶された値をWレジスタに転送する(コード「LD W,(R_TZ2STP)」)。アドレス「R_TZ2STP」の領域には、特図2の図柄データのビット信号が記憶されている。
行番号8610では、アドレス「R_T2HENSKN」の領域に記憶された値とWレジスタの値を、論理和を取ることによって合成して、Wレジスタに格納する(コード「OR W,(R_T2HENSKN)」)。アドレス「R_T2HENSKN」の領域には、特図2変動表示ゲームの開始に関する信号である特別図柄2変動中信号が記憶されている。
行番号8620では、ポートC_OUT07(即ち、ラベルC_OUT07に対応する数値の番号のポート)にWAレジスタの数値を出力する(コード「OUTW (C_OUT07),WA」)。これによって、中継基板70上の試験端子出力ポート3,4にWAレジスタの数値が出力される。
行番号8630から行番号8660は、試験信号出力処理のA10105に対応する。行番号8630では、アドレス「R_FZSTP」の領域に記憶された値をAレジスタに転送する(コード「LD A,(R_FZSTP)」)。アドレス「R_FZSTP」の領域には、普図の図柄データのビット信号が記憶されている。
行番号8640では、アドレス「R_SKNBF+6」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_SKNBF+6)」)。
行番号8650では、アドレス「R_SKNBF+7」の領域に記憶された値とAレジスタの値を、論理和を取ることによって合成して、Aレジスタに格納する(コード「OR A,(R_SKNBF+7)」)。
行番号8660では、ポートC_OUT09(即ち、ラベルC_OUT09に対応する数値の番号のポート)にAレジスタの数値を出力する(コード「OUT (C_OUT09),A」)。これによって、試験端子出力ポート5にAレジスタの数値が出力される。
行番号8670では、試験信号出力処理プログラムからリターンする(コード「RET」)。
〔差玉確認処理プログラム〕
図138は、第5実施形態に係る差玉確認処理(図59)に対応する差玉確認処理プログラムの一部のプログラム構造を示すプログラムリストである。差玉確認処理プログラムは、ラベルP_DEFCHKに相当する先頭アドレス(ROM内)を有し、領域外統合処理(図121)のステップA9505においてCALL命令(行番号8090)によって呼び出されるサブルーチンであり、領域外プログラムに含まれる。
行番号9010と行番号9020は、差玉確認処理のA9701に対応する。行番号9010では、領域内ワーク領域に含まれる安全装置作動中フラグ領域(アドレスR_SAFFLG)の安全装置作動中フラグを、安全装置が作動中であることを示す値(ラベルC_SAFON)と比較する(コード「CPJ (R_SAFFLG),C_SAFON」)。なお、安全装置作動中フラグ領域のアドレスは、領域外プログラム(ここでは差玉確認処理プログラム)では、領域内プログラムと異なりオフセット値d(相対アドレス)を使用せず、絶対アドレスで示されている。これによって、領域外プログラムの独立性を高めて、領域外プログラムを種々の遊技機で共通に使用し易くして、汎用性を高めている。安全装置作動中フラグが作動中であることを示し比較結果が一致する場合には、ゼロフラグがセットされ(Z、ZF=1)、比較結果が一致しない場合には、ゼロフラグがセットされない(NZ、ZF=0)。
行番号9020では、行番号7510の比較結果が一致する場合(Z)の場合(即ち安全装置作動中の場合)に、サブルーチンを終了して、差玉確認処理プログラムからリターンする(コード「RET Z」)。
行番号9030と行番号9040は、差玉確認処理のA9702に対応する。行番号9030では、旧作動情報領域(アドレスR_SAFINF2)に記憶された旧作動情報の値と、ラベルC_SAFWRNの値(2)を比較する(コード「CP (R_SAFINF2),C_SAFWRN」)。旧作動情報の値が2以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、2より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号9040では、旧作動情報の値が2以上でありキャリーフラグ(CF)がセットさていない(NC)場合に、差玉確認処理プログラムからリターンする(コード「RET NC」)。旧作動情報の値が2より小さくキャリーフラグ(CF)がセットされている場合に、次の行番号9050の命令に移行する。
行番号9050と行番号9060は、差玉確認処理のA9703に対応する。行番号9050では、アドレス「R_SWCTL4+2」からアウト球検出スイッチ74の立ち上がり情報を取得して、ラベルC_OUTSWに対応するスイッチビットデータ(判定値)と論理積を取って、当該スイッチがオンしたか否かの判定を行う(コード「TEST (R_SWCTL4+2),C_OUTSW」)。アドレス「R_SWCTL4+2」の領域には、アウト球検出スイッチ74に関する情報が格納されたスイッチ制御領域のうち立ち上がり情報が格納される。
遊技球の通過がなくアウト球検出スイッチ74がオフの場合(遊技球の検出をしない場合)、アウト球検出スイッチ74に対応する立ち上がり情報(対象のビット)はゼロであり、演算結果(論理積)はゼロになり、ゼロフラグ(ZF)がセットされる。立ち上がり情報がスイッチビットデータ(判定値)と同じである場合(例えば、「00001000B」でスイッチのビットがオンした場合)に、演算結果(論理積)はゼロ以外(例えば、「00001000B」)になり、ゼロフラグ(ZF)がセットされない。
行番号9060では、アウト球検出スイッチ74がオフでありゼロフラグ(ZF)がセットされている場合に、ラベルDEFCHK10に対応するROM内アドレスへジャンプして、行番号9150以降の命令を実行する(コード「JR Z,DEFCHK10」)。遊技球の通過がありアウト球検出スイッチ74がオンの場合(遊技球の検出をした場合)、次の行番号9070の命令に移行する。
行番号9070から行番号9130は、差玉確認処理のA9704とA9705に対応する。行番号9070では、安全装置カウンタ領域(アドレスR_SAFCNT)に記憶された安全装置カウンタ値の下位2バイトをHLレジスタに転送する(コード「LD HL,(R_SAFCNT)」)。なお、前述のように安全装置カウンタ領域は、3バイトの領域(3バイトサイズ)であり、安全装置カウンタ値は、下位2バイトと上位1バイトからなる。そして、下位2バイトの先頭アドレスは、ラベルR_SAFCNTの値であり、上位1バイトの先頭アドレスは、R_SAFCNT+2となる。
行番号9080では、安全装置カウンタ値の上位1バイトをAレジスタに転送する(コード「LD A,(R_SAFCNT+2)」)。
行番号9090では、安全装置カウンタ値の下位2バイトの値(HLレジスタの値)から1を減算して-1更新する(コード「SUB HL,1」)。
行番号9100では、下位2バイトに対する減算で生じた桁借りに対応するキャリーフラグの値を上位1バイトの値(Aレジスタの値)から減算する(コード「SBC A,0」)。
行番号9110では、行番号9100の減算結果がマイナスでキャリーフラグが「1」(CF=1)である場合、即ち、安全装置カウンタ値がマイナスになった場合(-1更新前に下限値「0」に達していた場合)、ラベルDEFCHK10に対応するROM内アドレスへジャンプして、行番号9150以降の命令を実行する(コード「JR C,DEFCHK10」)。安全装置カウンタ値がマイナスでない場合に、次の行番号9120の命令に移行する。
行番号9120では、更新後における下位2バイトの値(HLレジスタの値)を、安全装置カウンタ領域の下位2バイトに転送して戻す(コード「LD (R_SAFCNT),HL」)。
行番号9130では、更新後における上位1バイトの値(Aレジスタの値)を、安全装置カウンタ領域の上位1バイトに転送して戻す(コード「LD (R_SAFCNT+2),A」)。
〔安全装置作動監視処理プログラム〕
図139は、第5実施形態に係る安全装置作動監視処理(図60)に対応する安全装置作動監視処理プログラムのプログラム構造を示すプログラムリストである。安全装置作動監視処理のプログラムは、ラベルP_SAFCHKに相当する先頭アドレス(ROM内)を有し、領域外統合処理のステップA9506においてCALL命令(行番号8100)によって呼び出されるサブルーチンであり、領域外プログラムに含まれる。
行番号9510と行番号9520は、安全装置作動監視処理のA9801に対応する。行番号9510では、安全装置作動情報領域(アドレスR_SAFINF1)の安全装置作動情報の値を、ラベルC_SAFWRNの値(2)と比較する(コード「CP (R_SAFINF1),C_SAFWRN」)。安全装置作動情報の値が2以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、2より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号9520では、安全装置作動情報の値が2より小さくキャリーフラグ(CF)がセットされている(C)場合に、安全装置作動監視処理プログラムからリターンする(コード「RET C」)。
行番号9530から行番号9560は、安全装置作動監視処理のA9802に対応する。行番号9530では、特図ゲーム処理番号領域(アドレスR_TGAME)の領域(RAM内)に格納された特図ゲーム処理番号と、小当り中であることを示すラベルC_TSFANの値を比較する(コード「CP (R_TGAME),C_TSFAN」)。ラベルC_TSFANの値は、小当り開放前処理の特図ゲーム処理番号「3」である。なお、特図ゲーム処理番号領域のアドレスは、領域外プログラム(ここでは安全装置作動監視処理プログラム)では、領域内プログラムと異なりオフセット値d(相対アドレス)を使用せず、絶対アドレスで示されている。これによって、領域外プログラムの独立性を高めて、領域外プログラムを種々の遊技機で共通に使用し易くして、汎用性を高めている。小当り中であり、特図ゲーム処理番号が3以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、小当り中でなく3より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号9540では、小当り中でありキャリーフラグ(CF)がセットされていない場合(NC、CF=0の場合)、安全装置作動監視処理プログラムからリターンする(コード「RET NC」)。小当り中でなくキャリーフラグ(CF)がセットされている場合、次の行番号9550の命令に移行する。
行番号9550では、役物ゲーム処理番号領域(アドレスR_YGAME)の領域(RAM内)に格納された役物ゲーム処理番号と、大当り中であることを示すラベルC_YFANの値を比較する(コード「CP (R_YGAME),C_YFAN」)。ラベルC_YFANの値は、ファンファーレ中処理の特図ゲーム処理番号「1」である。なお、役物ゲーム処理番号領域のアドレスは、領域外プログラム(ここでは安全装置作動監視処理プログラム)では、領域内プログラムと異なりオフセット値d(相対アドレス)を使用せず、絶対アドレスで示されている。これによって、領域外プログラムの独立性を高めて、領域外プログラムを種々の遊技機で共通に使用し易くして、汎用性を高めている。大当り中であり、役物ゲーム処理番号が1以上の場合には、キャリーフラグ(CF)がセットされず(NC、CF=0)、大当り中でなく1より小さい場合には、キャリーフラグ(CF)がセットされる(CF=1)。
行番号9560では、大当り中でありキャリーフラグ(CF)がセットされていない場合(NC、CF=0の場合)、安全装置作動監視処理プログラムからリターンする(コード「RET NC」)。大当り中でなくキャリーフラグ(CF)がセットされている場合、次の行番号9570の命令に移行する。
行番号9570と行番号9580は、安全装置作動監視処理のA9803に対応する。行番号9570では、安全装置作動情報領域(アドレスR_SAFINF1)の安全装置作動情報を、Aレジスタに転送する(コード「LD A,(R_SAFINF1)」)。
行番号9580では、Aレジスタの安全装置作動情報を、旧作動情報領域(アドレスR_SAFINF2)に転送する(コード「LD (R_SAFINF2),A」)。
行番号9590では、安全装置作動監視処理のA9804に対応して、安全装置作動情報領域(アドレスR_SAFINF1)に、ラベルC_SAFSADOの安全装置作動中情報(値3)を転送する(コード「LD (R_SAFINF1),C_SAFSADO」)。
行番号9600では、安全装置作動監視処理プログラムからリターンする(コード「RET」)。
以上、図136から図139において、アドレス空間内で第2のROM領域(第2プログラム記憶領域)に配置される領域外プログラム(第2プログラム)について説明されたが、
領域外プログラムにおいて、呼び出し先のアドレスが直値mnで指定されている特定のCALL命令は、行番号8070、行番号8080、行番号8090、行番号8100の4箇所で出現する。勿論、特定のCALL命令は、領域外プログラムにおいて、4箇所よりも多い箇所で出現してもよい。このように、領域外プログラムにおいて特定のCALL命令(第1呼出し命令、特定の呼出し命令)が出現する数(4つ以上)は、前述の領域内プログラム(図123から図135)において、特定のCALL命令が出現する数(3つ)よりも多い。このように特定のCALL命令は、語長が4バイトと大きいため、第1のROM領域(第1プログラム記憶領域)よりも、アドレスの大きい第2のROM領域(第2プログラム記憶領域)で多く使用されている。これによって、第1のROM領域の容量に余裕を持たせて、領域内プログラムである遊技制御用プログラムの開発効率を向上できる。また、各種の処理プログラム(プログラムモジュール)のアドレス空間での配置に影響を受けずに任意のアドレスのサブルーチンを呼び出せる特定のCALL命令だけを、領域外プログラムにおいて使用することによって、遊技機の異なる機種間で領域外プログラムを共用化し易くなり、プログラムの開発効率が向上する。
なお、図109のように、第2のROM領域のアドレスの大きな側には、第2のROM領域とプログラム管理エリアの間の大きな未使用領域があるため、語長が長い特定のCALL命令を多く使用しても問題ない。また、呼び出し先のサブルーチンのアドレスに上限のあるCALLR等は、呼び出し先のアドレスの大きい第2のROM領域におけるサブルーチンを呼び出す場合には、第2のROM領域内で使用し難い可能性もある。
また、図136から図139で説明された領域外プログラムである領域外統合処理プログラムとそのサブルーチン(例えば試験信号出力処理、性能表示装置制御処理、差玉確認処理、安全装置作動監視処理)は、CALL命令によって呼び出されるサブルーチンである(例えば行番号1280、行番号8070-8100)。これらサブルーチンにおいて、分岐条件がジャンプステータスフラグの状態に関する条件を含むJRR命令(第2分岐命令)を実行せず、分岐条件がジャンプステータスフラグの状態に関する条件を含まないJR命令(第1分岐命令)を実行する。なお、プログラムリストの例では、差玉確認処理において、JR命令を実行するが(行番号9060と行番号9110)、領域外統合処理プログラム自体や、性能表示装置制御処理等でもJR命令を実行してもよい。
ジャンプステータスフラグは、状況によって意味が変化し、使用する命令によってゼロフラグに一致したりキャリーフラグに一致したりする。しかし、このようにCALL命令によって呼び出される領域外統合処理プログラムとそのサブルーチンは、ジャンプステータスフラグの状態に関する分岐条件を含むJRR命令を使用しないため、複数の開発担当者が見たときに理解し易くなる。従って、領域外統合処理プログラムとそのサブルーチンを複数機種で共用し易くなり、プログラムの開発効率が向上する。また、CALL命令によって呼び出されるサブルーチンと、他の呼出し命令(例えばCALLR命令)から呼び出されるサブルーチンとを、JR命令だけが存在しているか又はJR命令とJRR命令が混在しているかで区別し易くなり、プログラムの開発効率が向上する。
〔演出制御装置のCPUの命令〕
図140は、演出制御装置300のCPU311において、プログラム中で使用され命令解釈実行回路が解釈実行可能な命令のセット(命令セット)うち、比較命令を例示する命令表である。CPUコア(命令解釈実行回路)に、各比較命令を実行する専用論理回路を設けてよい。なお、本実施形態において、CPU311とVDP312をまとめて一つのVDPとして構成してもよい。
CPU311は、4バイト(32ビット)の15個の汎用レジスタ(R0からR14)を有する。
演出制御装置300のCPU311が比較命令の実行に要する動作クロックのサイクル数は1サイクルであり、比較命令の語長(命令サイズ)は2バイト長の固定長である。演出制御装置300のCPU311の実行可能な比較命令は、遊技制御装置100のCPU111aの実行可能な比較命令よりも、サイクル数が小さく語長も短く、単純化されている。また、固定長であるため、CPU311は命令長の判別に時間を要せず、演出コマンドに対応する処理を実行する時間が短くて済む。サイクル数は1サイクルであるため、比較命令を高速に実行でき、演出コマンドに対応する処理を実行する時間が短くて済む。
遊技制御装置100のCPU111aの実行可能な比較命令では、フラグレジスタ1200の2ビット目から7ビット目の6つのフラグ(JF、ZF、CF、HF、SF、VF)の全てが変化可能であるのに対して、演出制御装置300のCPU311の実行可能な比較命令では、32ビットのフラグレジスタの0ビット目のTFフラグのみ変化可能であり単純化されている。
命令表の比較命令は、操作内容(演算内容)を示す「オペコード」(或いは「ニーモニック」)と命令対象の「オペランド」に分けられる。「オペランド」は、第1オペランド、第2オペランド・・・など複数あってよい。
「CMP/EQ #imm,R0」は、R0レジスタの値と直値immを比較して、両値が一致する場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/EQ Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、両値が一致する場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/HS Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、無符号(絶対値)でRnレジスタの値がRmレジスタの値以上である場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/GE Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、有符号でRnレジスタの値がRmレジスタの値以上である場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/HI Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、無符号(絶対値)でRnレジスタの値がRmレジスタの値よりも大きい場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/GT Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、有符号でRnレジスタの値がRmレジスタの値よりも大きい場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/PL Rn」は、Rnレジスタの値とゼロを比較して、Rnレジスタの値がゼロよりも大きい場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/PZ Rn」は、Rnレジスタの値とゼロを比較して、Rnレジスタの値がゼロより以上である場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
「CMP/STR Rm,Rn」は、Rnレジスタの値とRmレジスタの値を比較して、いずれかのバイトが等しい場合にTFフラグに「1」がセットされ、それ以外の場合にTFフラグに「0」がセットされる。
比較命令のうち機械語命令が異なるものは、遊技制御装置100のCPU111aの実行可能な比較命令は、少なくとも命令表(図113から図116)に挙げた47種類(=18+9+15+5種類)ある。これに対して、演出制御装置300のCPU311の実行可能な比較命令は、命令表(図140)に挙げた9種類であり、CPU111aの場合よりも少なくなっており単純化されており、プログラムの開発が行いやすく、CPU内部の回路構成も簡単になる。
例えば、任意の直値とレジスタの値を比較する比較命令は、CPU311の場合に1種類「CMP/EQ #imm,R0」だけであり、CPU111aの場合の6個よりも少なく単純化されている。また、CPU311の場合には、メモリに記憶されたデータ(値)を直接的に参照して、直値やレジスタのデータ(値)と比較する比較命令は存在しない。
その他、演出制御装置300のCPU311が実行するプログラムの特徴として、安全装置系処理(B1330)に対応する安全装置系処理プログラムのプログラム容量は、遊技制御装置100のCPU111aが実行する安全装置系処理プログラム(安全装置情報初期化処理プログラム、安全装置関連処理プログラム、領域外統合処理プログラム、差玉確認処理プログラム、安全装置作動監視処理プログラム)のプログラム容量の合計よりも少ない。演出制御装置300の安全装置系処理(B1330)では、安全装置関連表示(作動予告表示511、作動警告表示512、作動中表示513)の表示に関する処理だけを実行すればよいためである。このように、安全装置に関連する処理の多くを遊技制御装置100で実行するため、演出制御装置300での安全装置に関連する処理の負担が下がる。
なお、逆に、演出制御装置300で実行する安全装置に関連する処理を増加して、遊技制御装置100での安全装置に関連する処理の負担を減少させてもよい。この場合には、演出制御装置300のCPU311が実行する安全装置系処理プログラムのプログラム容量は、遊技制御装置100のCPU111aが実行する安全装置系処理プログラムのプログラム容量より大きくなることもある。
[第5実施形態の作用・効果]
第5実施形態に係る遊技機10は、ゲーム(例えば変動表示ゲーム)を実行可能な遊技制御手段(例えば遊技制御装置100)を備え、ゲームの結果に応じて遊技者に遊技価値を付与可能である。遊技制御手段は、プログラムを記憶するプログラム記憶手段(例えばROM)と、プログラムによって所定の演算処理を行う演算処理手段(例えばCPU)と、演算処理を行う際に値が記憶される複数のレジスタと、演算処理手段によって更新される情報を記憶可能な更新情報記憶手段(例えばRAM)と、を備える。複数のレジスタには、第1レジスタ(例えば1バイト幅のレジスタ)と、第1レジスタの2倍の容量を有する第2レジスタ(例えば2バイト幅のレジスタ:ペアレジスタ、IXレジスタ、IYレジスタ)が含まれる。演算処理手段は、異なる第2レジスタの値を比較するか、又は、第2レジスタの値と直値を比較して、キャリーフラグを変化可能な第1比較命令(例えば「CP rr,gg」「CP rr,mn」)と、第1レジスタの値と直値を比較して、ゼロフラグを変化可能な第2比較命令(例えば「CPJ p,n」「CPJ q,n」)と、を実行可能に構成される。第1比較命令は、ゲームの結果に係る乱数値(例えば大当り乱数)を判定可能であり(行番号4550や行番号4570)、第2比較命令は、ゲームの結果に対応するフラグ値を判定可能である(例えば6050)。
このような遊技機10では、ゲームの結果に係る乱数値を判定する場合に、第1比較命令によってキャリーフラグを変化可能であり、乱数値と下限判定値又は上限判定値との大小関係を適切に判定できる。ゲームの結果に対応するフラグ値を判定する場合に、第2比較命令によってゼロフラグを変化可能であり、ゲームの結果に対応するフラグ値と所定値との一致を適切に判定できる。従って、第1比較命令又は第2比較命令の後に実行される条件分岐命令と効果的に組み合わせることによって、遊技制御用プログラム等のプログラムを適切に構成でき、プログラム容量(プログラムサイズ)を削減できる。
また、第5実施形態において、遊技機10は、ゲームの結果に応じて遊技者に有利な特別遊技状態と異なる特定遊技状態を発生可能である。演算処理手段(例えばCPU)は、第1レジスタの値と直値を比較してキャリーフラグを変化可能な第3比較命令(例えば「CP p,n」「CP q,n」)と、第1レジスタの値と更新情報記憶手段(例えばRAM)に記憶された値を比較する第4比較命令(例えば「CP r,(vw)」「CP r,(jj+d)」「CP rr,(vw)」「CP rr,(jj+d)」)を実行可能に構成される。第3比較命令は、タイマ値(又はカウンタ値)と所定値の大小関係を判定可能である(例えば行番号7050)。第4比較命令は、発生中の特定遊技状態の残りのゲーム回数と、新たに発生可能な特定遊技状態のゲーム回数(初期値)との大小関係を判定可能である(例えば行番号6400や行番号6450)。タイマ値(又はカウンタ値)がゼロか否かを判定する場合には比較命令を使用しない(例えば特図ゲーム処理タイマのタイムアップの判定(行番号1550と行番号1560))。
従って、カウントダウンやカウントアップの処理プログラムを共通化して更新され第1レジスタに格納されるタイマ値やカウンタ値(例えば1バイト)と所定値の大小関係を判定する場合に第3比較命令を使用できる。また、種々の判定に使用され更新情報記憶手段(例えばRAM)の領域から直接に読み出す必要のあるゲーム回数に関して大小関係を判定する場合に、第4比較命令を使用できる。このため、遊技制御用プログラム等のプログラムを適切に構成でき、プログラム容量を削減できる。また、タイマ値(又はカウンタ値)がゼロか否かを判定する処理は比較命令以外の処理に置き換えられるため、プログラムの開発が柔軟に行える。
第5実施形態に係る遊技機10では、プログラム記憶手段(例えばROM)は、第1プログラム記憶領域(例えば第1のROM領域)と、第2プログラム記憶領域(第2のROM領域)と、第1プログラム記憶領域と第2プログラム記憶領域の間の未使用領域と、を備える。演算処理手段は、第1プログラム記憶領域の第1プログラム(例えば領域内プログラム)から第2プログラム記憶領域の第2プログラム(例えば領域外プログラムに含まれる領域外統合処理のサブルーチン)を呼び出す際に、第1呼出し命令(例えば呼び出し先のアドレスが直値mnで指定されている特定のCALL命令、4バイト長の特定のCALL命令)を使用する。演算処理手段は、第2プログラム記憶領域の第2プログラムからサブルーチンを呼び出す際に、第1呼出し命令(例えばCALL)のみを使用し、第1呼出し命令よりも命令サイズの小さい第2呼出し命令(例えばCALLR)と第3呼出し命令(例えばCALLT)は使用しない。
このような遊技機10では、第1プログラムから第2プログラムを呼び出す際に第1呼出し命令(例えば特定のCALL命令)を使用するとともに、第2プログラムにおいて第1呼出し命令以外にサブルーチンを呼び出す呼出し命令が無いため、第2プログラムを第1プログラムから区別でき、プログラムの開発効率を向上できる。
第5実施形態に係る遊技機10では、プログラム記憶手段(例えばROM)は、第1プログラム記憶領域(例えば第1のROM領域)と、第2プログラム記憶領域(例えば第2のROM領域)と、第1プログラム記憶領域と第2プログラム記憶領域の間の未使用領域と、を備える。第1プログラム記憶領域のプログラムにおいて出現してサブルーチンを呼び出す特定の呼出し命令の数(例えば3つ)は、第2プログラム記憶領域のプログラムにおいて出現してサブルーチンを呼び出す特定の呼出し命令の数(例えば4つ以上)よりも少ない。
このような遊技機10では、特定の呼出し命令(例えば第1呼出し命令、特定のCALL命令)は、第2のROM領域(第2プログラム記憶領域)よりも、第1のROM領域(第1プログラム記憶領域)で少なく使用されている。これによって、プログラムの開発効率を向上できる。特に、特定の呼出し命令の語長(命令サイズ)が大きい場合に、第1のROM領域の容量に余裕を持たせて、プログラムの開発効率を向上できる。
第5実施形態に係る遊技機10では、演算処理手段(例えばCPU)は、ゲームの実行に関する処理(例えば特図ゲーム処理、役物ゲーム処理、普図ゲーム処理)を呼び出す場合に、任意のアドレスのサブルーチンを呼び出せる特定の呼出し命令(例えば第1呼出し命令、特定のCALL命令)を使用しない(行番号1140-1160)。演算処理手段は、当該遊技機の外部への外部情報の出力に関する処理(例えば外部情報編集処理)を呼び出す場合に、特定の呼出し命令を使用しない(行番号1240)。演算処理手段は、当該遊技機に係る試験信号の出力に関する処理(例えば試験信号出力処理)を呼び出す場合に、特定の呼出し命令を使用する(行番号8070)。
このような遊技機10では、任意のアドレスのサブルーチンを呼び出せるために特定の呼出し命令の語長やサイクル数が大きいとしても、特定の呼出し命令を、ゲームの実行に関する処理や外部情報の出力に関する処理を呼び出す場合に使用せず、試験信号の出力に関する処理を呼び出す場合に使用する。このため、プログラムによる処理の効率化と高速化が可能になる。なお、遊技機に係る試験信号の出力に関する処理(例えば試験信号出力処理)を呼び出す場合には、任意のアドレスのサブルーチンを呼び出せる特定の呼出し命令を使用する。これによって、試験信号の出力に関する処理の呼び出しについて、当該処理に係るサブルーチンのアドレスに依存しない汎用性を持たせるとともに開発者に分かり易くしている。
第5実施形態に係る遊技機10では、演算処理手段は、プログラム記憶手段における実行される命令のアドレスをジャンプさせる第1分岐命令(例えばJR命令)と第2分岐命令(例えばJRR命令)を実行可能に構成され、特定の呼出し命令(例えば第1呼出し命令、特定のCALL命令)によって呼び出されるサブルーチンの中では、第2分岐命令(例えばJRR命令)を実行せず、第1分岐命令(例えばJR命令)を実行する。例えば、特定の呼出し命令によって呼び出されるサブルーチンは、領域外プログラムである領域外統合処理とそのサブルーチン(例えば試験信号出力処理、性能表示装置制御処理、差玉確認処理、安全装置作動監視処理)である(行番号1280、行番号8070-8100)。
このような遊技機10では、プログラムの開発効率が向上する。例えば、第2分岐命令(例えばJRR命令)の分岐条件がジャンプステータスフラグ(JF)の状態に関する条件を含む場合に、特定の呼出し命令によって呼び出されるサブルーチンの中で第2分岐命令を使用しなければ、状況によって意味が変化する(使用する命令によってゼロフラグに一致したりキャリーフラグに一致したりする)ようなジャンプステータスフラグを参照しないようにすることで、複数の開発担当者がプログラムを見たときに混乱を招かないようにできる。従って、特定の呼出し命令によって呼び出されるサブルーチンを複数機種で共用し易くなり、プログラムの開発効率が向上する。また、特定の呼出し命令(例えば第1呼出し命令、特定のCALL命令)によって呼び出されるサブルーチンと、他の呼出し命令(例えばCALLR命令)から呼び出されるサブルーチンとを、第1分岐命令だけが存在しているか、第1分岐命令と第2分岐命令が混在しているかで区別し易くなり、プログラムの開発効率が向上する。
第5実施形態に係る遊技機10では、複数の呼出し命令(例えば第2呼出し命令と第3呼出し命令)のうちのいずれかによって、所定の処理プログラム(例えば領域内プログラムの一部)から一のサブルーチンを呼び出し可能であり、一のサブルーチンでは、所定の分岐命令(例えば第2分岐命令(JRR命令))を少なくとも実行し、前記所定の分岐命令によって、前記所定の処理プログラムから呼び出される他のサブルーチンに分岐しない。例えば、所定の処理プログラムと一のサブルーチンの組合せは、タイマ割込み処理プログラムと特図ゲーム処理プログラムの組合せ、特図始動口スイッチ共通処理プログラムと特図保留情報判定処理プログラムの組合せ、特図保留情報判定処理プログラムと大当り判定処理プログラムの組合せなどである。
このような遊技機10では、一のサブルーチンと他のサブルーチンの区切りを明確にして、プログラムの開発効率を向上できる。
第5実施形態に係る遊技機10では、プログラムは、分岐命令として、第1分岐命令(例えばJR命令)と第2分岐命令(例えばJRR命令)が混在する第1サブルーチン(例えば特図普段処理プログラム、特図表示中処理プログラム、特図保留情報判定処理プログラム)と、分岐命令として、第2分岐命令だけを含む第2サブルーチン(例えば大当り判定処理プログラム)と、を含む。第1サブルーチンと第2サブルーチンのうちで第2サブルーチンの方が、プログラム容量が小さい。
このような遊技機10では、第1サブルーチンと第2サブルーチンのうち、プログラム容量(プログラムサイズ)の小さい第2サブルーチンで、第2分岐命令だけを含むため、第2分岐命令の語長が第1分岐命令の語長よりも短い場合に、合理的にプログラムの設計ができプログラムの開発効率が向上する。
第5実施形態に係る遊技機10では、第2サブルーチン(例えば大当り判定処理プログラム)は、複数の処理プログラム(例えば特図保留情報判定処理プログラム、大当りフラグ1設定処理プログラム、大当りフラグ2設定処理プログラム)から呼び出される。これによって、プログラムの全体的な容量(サイズ)を小さくできる。
なお、本発明は、以上説明した実施形態に限定されることなく、その技術的思想の範囲内において種々の変形や変更が可能であり、それらも本発明の技術的範囲に含まれることが明白である。例えば、時短状態を確変状態に置き換えることも可能である。例えば、遊技制御装置が実行している処理の一部を演出制御装置が実行することもできるし、逆に演出制御装置が実行している処理の一部を遊技制御装置が実行することもできる。例えば、複数の実施形態や複数の変形例を種々に組合せることも可能である。また、例えば、本発明をパチンコ機だけでなく他の種類の遊技機(スロットマシンなど)に適用することもできる。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲でのすべての変更が含まれることが意図される。
例えば、上述の実施形態をスロットマシンに適用する場合において、遊技に使用する遊技媒体は、遊技球に代えてメダル(コイン)になり、賞球数はメダルの払い出し枚数に代えられる。遊技媒体の使用数は、スロットマシンに投入した投入メダルの枚数である投入メダル数となる。そして、スロットマシンでは、性能情報としての出玉率(ベース)は、スロットマシンへのメダルの投入枚数に対する払い出し枚数の比率(%)となり、役物比率は、所定期間に払い出したメダルの枚数のうち、各種ボーナスにより払い出した枚数の比率(%)となる。