JP2020162762A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2020162762A JP2020162762A JP2019064917A JP2019064917A JP2020162762A JP 2020162762 A JP2020162762 A JP 2020162762A JP 2019064917 A JP2019064917 A JP 2019064917A JP 2019064917 A JP2019064917 A JP 2019064917A JP 2020162762 A JP2020162762 A JP 2020162762A
- Authority
- JP
- Japan
- Prior art keywords
- game
- special
- main cpu
- determined
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 503
- 230000008569 process Effects 0.000 claims description 498
- 230000008859 change Effects 0.000 claims description 98
- 238000012790 confirmation Methods 0.000 claims description 58
- 238000001514 detection method Methods 0.000 description 116
- 238000012545 processing Methods 0.000 description 99
- 238000003860 storage Methods 0.000 description 99
- 230000000694 effects Effects 0.000 description 87
- 230000005540 biological transmission Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 32
- 230000009467 reduction Effects 0.000 description 18
- 230000002159 abnormal effect Effects 0.000 description 16
- 230000005856 abnormality Effects 0.000 description 11
- 238000003825 pressing Methods 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 7
- 238000010304 firing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000005096 rolling process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000005389 magnetism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
Description
図5は、遊技機100のブロック図である。主制御基板300は遊技の基本動作を制御する。この主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
図21は、主制御基板300におけるCPU初期化処理を説明する第1のフローチャートであり、図22は、主制御基板300におけるCPU初期化処理を説明する第2のフローチャートである。
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100−3に処理を移し、電源断予告信号を検出していない場合には、ステップS100−7に処理を移す。
メインCPU300aは、上記ステップS100−3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100−9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100−5に処理を移す。
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
メインCPU300aは、Dレジスタに電源断前の遊技機状態フラグのフラグ値をロードする。
メインCPU300aは、チェックサムを算出するとともに、算出したチェックサムが、電源断時に保存されたチェックサムと一致する(正常である)か、ならびに、バックアップフラグが正常であるかを判定する。その結果、バックアップフラグおよびチェックサムが正常であると判定した場合にはステップS100−15に処理を移し、いずれか一方または双方が正常ではないと判定した場合にはステップS100−25に処理を移す。
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含まない番地をセットする。
メインCPU300aは、RAMクリアスイッチ182sからRAMクリア操作信号が入力されているか(RAMクリアボタンが押下操作されているか)を判定する。その結果、RAMクリア操作信号が入力されていると判定した場合にはステップS100−31に処理を移し、RAMクリア操作信号は入力されていないと判定した場合にはステップS100−19に処理を移す。
メインCPU300aは、上記ステップS100−11でロードした遊技機状態フラグのフラグ値が00H(遊技可能状態)であり、設定変更スイッチ180sがオンしており、かつ、中枠104が開放しているかを判定する。その結果、3つの条件をすべて満たすと判定した場合にはステップS100−21に処理を移し、3つの条件の1つでも満たされないと判定した場合にはステップS100−23に処理を移す。
メインCPU300aは、遊技機状態フラグに02H(設定確認状態)をセットする。すなわち、中枠104が開放されており、設定変更スイッチ180sがオンしており、RAMクリアボタンが押下されていない状態で正常に電源投入がなされると、設定確認状態となる。
メインCPU300aは、メインRAM300cのうち、上記ステップS100−15でセットされた先頭アドレス以降の領域である電源復帰時のクリア対象をクリアする初期化処理を実行し、ステップS100−49に処理を移す。
メインCPU300aは、Dレジスタに05H(チェックサム異常状態)をセットする。
メインCPU300aは、使用外領域のリードライトメモリのチェックおよびクリアを行う領域外リードライトチェック処理を行う。
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含む番地をセットする。
メインCPU300aは、使用領域のリードライトメモリのチェックおよびクリアを行う。
メインCPU300aは、上記ステップS100−31におけるリードライトメモリのチェック結果が正常であるかを判定する。その結果、正常であると判定した場合にはステップS100−37に処理を移し、正常ではないと判定した場合にはステップS100−35に処理を移す。
メインCPU300aは、Dレジスタに04H(RAM異常状態)をセットし、ステップS100−45に処理を移す。
メインCPU300aは、Dレジスタに02H(設定確認状態)がセットされているかを判定する。その結果、02Hがセットされていると判定した場合にはステップS100−39に処理を移し、02Hはセットされていないと判定した場合にはステップS100−41に処理を移す。
メインCPU300aは、Dレジスタに00H(遊技可能状態)をセットする。
メインCPU300aは、設定変更条件を満たしているかを判定する。その結果、設定変更条件を満たしていると判定した場合にはステップS100−43に処理を移し、設定変更条件は満たしていないと判定した場合にはステップS100−45に処理を移す。なお、ここでは、設定変更条件に、設定変更スイッチ180sがオンしていること、中枠104が開放していること、および、RAMクリアスイッチ182sからRAMクリア操作信号が入力されていることが少なくとも含まれる。
メインCPU300aは、Dレジスタに01H(設定変更状態)をセットする。
メインCPU300aは、Dレジスタにセットされている値を遊技機状態フラグにセーブする。
メインCPU300aは、メインRAM300cのうち、RAMクリア時のクリア対象をクリアする初期化処理を実行し、ステップS100−49に処理を移す。
メインCPU300aは、メインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理(RAMクリア指定コマンドを送信バッファに格納)を行う。
メインCPU300aは、遊技機状態フラグをロードする。
メインCPU300aは、上記ステップS100−51でロードした遊技機状態フラグが00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS110に処理を移し、00Hではないと判定した場合にはステップS100−55に処理を移す。
メインCPU300aは、サブコマンド群セット処理を行う。なお、このサブコマンド群セット処理については後述する。
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンドセット処理を行う。
メインCPU300aは、タイマ割込みの周期を設定する。
メインCPU300aは、割込みを禁止するための処理を行う。
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数−1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100−59から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンドセット処理を行う。
メインCPU300aは、遊技機100の機種情報を示す機種コマンドを送信バッファにセットする機種コマンド設定処理を行う。
メインCPU300aは、登録設定値を示す設定値指定コマンドを送信バッファにセットする設定値指定コマンド設定処理を行う。
メインCPU300aは、特1保留数を示す特図1保留指定コマンドを送信バッファにセットする特図1保留指定コマンド設定処理を行う。
メインCPU300aは、特2保留数を示す特図2保留指定コマンドを送信バッファにセットする特図2保留指定コマンド設定処理を行う。
メインCPU300aは、時短遊技状態の残り回数を示す回数コマンドを送信バッファにセットする回数コマンド設定処理を行う。
メインCPU300aは、変動パターン選択状態を示す変動パターン選択状態指定コマンドを送信バッファにセットする変動パターン選択状態指定コマンド設定処理を行う。
メインCPU300aは、特別遊技管理フェーズを示す特図フェーズ指定コマンドを送信バッファにセットする特図フェーズ指定コマンド設定処理を行う。なお、特別遊技管理フェーズについては後述する。
メインCPU300aは、特別遊技管理フェーズが特別図柄変動待ち状態であるかを判定する。その結果、特別図柄変動待ち状態であると判定した場合にはステップS110−21に処理を移し、特別図柄変動待ち状態ではないと判定した場合には当該サブコマンド群セット処理を終了する。
メインCPU300aは、客待ち指定コマンドを送信バッファにセットし、当該サブコマンド群セット処理を終了する。
図24は、主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、CPU初期化処理に割り込んで電源断時退避処理を実行する。
電源断予告信号が入力されると、メインCPU300aは、レジスタを退避する。
メインCPU300aは、電源断予告信号をチェックする。
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300−11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300−7に処理を移す。
メインCPU300aは、レジスタを復帰させる。
メインCPU300aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
メインCPU300aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
メインCPU300aは、チェックサムを算出して保存するチェックサム設定処理を実行する。
メインCPU300aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
メインCPU300aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
メインCPU300aは、電源断予告信号をチェックする。
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300−17に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300−23に処理を移す。
メインCPU300aは、上記ステップS300−17でセットしたループカウンタの値を1減算する。
メインCPU300aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS300−19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS100)に移行する。
図25は、主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(本実施形態では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
メインCPU300aは、レジスタを退避する。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、性能表示モニタ184を点灯制御するダイナミックポート出力処理を実行する。
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
メインCPU300aは、上記ステップS100−61と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
メインCPU300aは、上記ステップS400−13でロードしたフラグ値が00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS400−19に処理を移し、00Hではないと判定した場合にはステップS400−17に処理を移す。
メインCPU300aは、上記ステップS400−13でロードしたフラグ値が03H(設定異常状態)以上であるかを判定する。その結果、03H以上であると判定した場合にはステップS400−27に処理を移し、03H以上ではないと判定した場合にはステップS450に処理を移す。
メインCPU300aは、設定関連処理を実行し、ステップS400−27に処理を移す。なお、設定関連処理については後述する。
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
メインCPU300aは、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、ゲート検出スイッチ124s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128s、特定領域検出スイッチ140s、アウト球検出スイッチ130sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
メインCPU300aは、上記の特別遊技を進行制御するための特別遊技管理処理を実行する。また、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cを駆動させる場合には、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cを駆動させるためのソレノイド出力イメージを作成する。なお、この特別遊技管理処理の詳細については後述する。
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。また、普通電動役物ソレノイド122cを駆動させる場合には、普通電動役物ソレノイド122cを駆動させるためのソレノイド出力イメージを作成する。なお、この普通遊技管理処理の詳細については後述する。
メインCPU300aは、可動部材駆動ソレノイド142cを駆動させる場合には、可動部材駆動ソレノイド142cを駆動させるためのソレノイド出力イメージを作成する。なお、可動部材駆動ソレノイド142cは、上記した小当たり遊技が実行される場合に、可動部材142の開閉を行う。
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sのチェックを行い、該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
メインCPU300aは、上記ステップS400−23でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
メインCPU300aは、常時可動体144を作動させる常時可動体モータ144cを駆動させるためのソレノイド出力イメージを作成する。すなわち、遊技機状態フラグのフラグ値によらず、常時可動体モータ144cを駆動させるためのソレノイド出力イメージが作成されることとなるため、常時可動体144は、遊技機の電源投入中においては、常時、作動することとなる。これにより、エラーをわざと発生させ、常時可動体144に対して何らかの不正を施すような、所謂、ゴト行為(不正行為)を抑制することが可能となる。例えば、常時可動体144が止まっている間に、常時可動体144に対して細工を施すゴト行為や、常時可動体が有利な位置で止まることで残存球が有利になるといったゴト行為も防止することができる。
メインCPU300aは、上記ステップS400−7において取得した入力ポート情報に基づいて、各種エラーの判定および判定結果に応じた設定を行うための状態管理処理を実行する。なお、この状態管理処理の詳細については後述する。
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。
メインCPU300aは、各種エラーの発生に基づいて遊技を停止させるための遊技機状態フラグ設定処理を実行する。なお、この遊技機状態フラグ設定処理の詳細については後述する。
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するための表示データを、各コモンに対応した出力バッファにセットするLED表示設定処理を実行する。
メインCPU300aは、普通電動役物ソレノイド122c、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128c、可動部材駆動ソレノイド142c、および、常時可動体モータ144cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。なお、上記したように、遊技機状態フラグのフラグ値が00H(遊技可能状態)ではない場合には、普通電動役物ソレノイド122c、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128c、および、可動部材駆動ソレノイド142cのソレノイド出力イメージは作成されない。したがって、遊技機状態フラグのフラグ値が00H(遊技可能状態)ではない場合には、当該ステップS400−33において、常時可動体モータ144cのソレノイド出力イメージのみが出力ポートバッファに格納されることとなる。
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
メインCPU300aは、割込みを禁止するための処理を行う。
メインCPU300aは、メインRAM300cの使用外領域を用いて、性能表示モニタ184に表示するベース比率を算出するための処理を行い、算出したベース比率を性能表示モニタ184に表示するためのコモンデータをコモン出力バッファにセットする性能表示モニタ制御処理を実行する。なお、性能表示モニタ制御処理においては、所定期間ごとにベース比率が算出される。ここで、性能表示モニタ184には、現在の期間のベース比率と、それ以前の期間のベース比率とが所定時間ごとに切り替え表示されてもよい。また、所定の操作に応じて、性能表示モニタ184に表示されるベース比率が切り替わってもよい。
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
メインCPU300aは、遊技機状態フラグのフラグ値が01H(設定変更状態)であるかを判定する。その結果、01Hであると判定した場合にはステップS450−3に処理を移し、01Hではないと判定した場合にはステップS450−15に処理を移す。
メインCPU300aは、設定値バッファに記憶されている登録設定値を所定の処理領域にロードする。
メインCPU300aは、RAMクリアスイッチ182sが押下されたか(RAMクリア操作信号が入力されているか)を判定する。その結果、RAMクリアスイッチ182sが押下されていると判定した場合にはステップS450−7に処理を移し、RAMクリアスイッチ182sが押下されていないと判定した場合にはステップS450−9に処理を移す。
メインCPU300aは、処理領域の設定値に1を加算する。
メインCPU300aは、処理領域の設定値が1〜6の範囲であるかを判定する。その結果、設定値が1〜6の範囲であると判定した場合にはステップS450−13に処理を移し、設定値が1〜6の範囲ではないと判定した場合にはステップS450−11に処理を移す。
メインCPU300aは、処理領域の設定値を1にセットする。
メインCPU300aは、処理領域の設定値を設定値バッファにセットする。
メインCPU300aは、設定変更スイッチ180sがオンしているかを判定する。その結果、設定変更スイッチ180sがオンしていると判定した場合には当該設定関連処理を終了し、設定変更スイッチ180sはオンしていないと判定した場合にはステップS450−17に処理を移す。
メインCPU300aは、設定関連処理の終了を示す設定関連終了指定コマンドを送信バッファにセットする。
メインCPU300aは、図23のサブコマンド群セット処理を実行する。すなわち、設定関連処理が実行された場合、その終了時に、機種コマンド、設定値指定コマンド、特図1保留指定コマンド、特図2保留指定コマンド、回数コマンド、変動パターン選択状態指定コマンド、特図フェーズ指定コマンド、客待ち指定コマンドが副制御基板330に送信されることとなる。
メインCPU300aは、遊技機状態フラグに00H(遊技可能状態)をセットし、当該設定関連処理を終了する。
メインCPU300aは、状態管理処理テーブルのアドレスをセットする。ここでは、状態管理処理テーブルのうち、対象となるエラー判定用のデータが記憶されたアドレスがセットされる。
メインCPU300aは、エラー判定の検知対象となるセンサの数に対応し、下記ステップS460−5〜S460−17の共通処理をループさせるためのループ回数をセットする。例えば、1回目の共通処理では、磁気検出センサに関するエラー判定を行い、2回目以降の共通処理において、扉開放検出センサ、電波検出センサ等に関するエラー判定および判定結果に対する処理を順次実行する。
メインCPU300aは、エラー判定の検知対象となるセンサにおいてエラーが発生しているかを判定する。その結果、エラーが発生している場合には、ステップS460−7に処理を移し、エラーが発生していない場合には、ステップS460−15に処理を移す。
メインCPU300aは、エラー指定コマンドを送信バッファにセットする。なお、エラー指定コマンドは、発生したエラーの種別を識別可能となっている。ここでセットされたエラー指定コマンドは、上記ステップS100−65において副制御基板330に送信されることになる。なお、詳しくは後述するが、副制御基板330は、エラー指定コマンドを受信すると、エラー履歴情報を記憶する。
メインCPU300aは、エラーが発生したことを示す外部情報用の出力データをセットする。この外部情報用の出力データは、遊技情報出力端子板312から外部へ出力されることとなる。
メインCPU300aは、遊技機状態フラグの設定のために用いる遊技機エラー状態フラグをオンするか否かを判断する。上記したように、状態管理処理テーブルには、エラーが検出された場合に遊技機エラー状態フラグをオンするか否かが、対応するセンサごとにそれぞれ記憶されている。本実施形態では、振動センサおよび磁気センサに基づいてエラー(振動エラーおよび磁気エラー)が検出された場合には、遊技機エラー状態フラグをオンすることが予め設定され、一方で、扉開放センサに基づいてエラー(扉開放エラー)が検出された場合には、遊技機エラー状態フラグをオンしないことが予め設定されている。
メインCPU300aは、遊技機エラー状態フラグをオンする。
メインCPU300aは、上記ステップS460−3において設定したループ回数のループが終了したかを判定する。その結果、ループが終了した場合には当該状態管理処理を終了し、ループが終了していない場合にはステップS460−17に処理を移す。
メインCPU300aは、次の共通処理の対象となるエラー判定を選択し、ステップS460−5に処理を戻す。
メインCPU300aは、遊技機状態フラグのフラグ値が00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS470−3に処理を移し、00Hではないと判定した場合には当該遊技機状態フラグ設定処理を終了する。
メインCPU300aは、遊技機エラー状態フラグがオンであるか判定する。その結果、遊技機エラー状態フラグがオンであると判定した場合にはステップS470−5に処理を移し、遊技機エラー状態フラグがオンではないと判定した場合には当該遊技機状態フラグ設定処理を終了する。
メインCPU300aは、遊技機状態フラグに06H(不正検出状態)をセットし、当該遊技機状態フラグ設定処理を終了する。
メインCPU300aは、ゲート検出スイッチオン検出時であるか、すなわち、ゲート124を遊技球が通過してゲート検出スイッチ124sからの検出信号がオンされたかを判定する。その結果、ゲート検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、ゲート検出スイッチオン検出時ではないと判定した場合にはステップS500−3に処理を移す。
メインCPU300aは、ゲート124への遊技球の通過に基づいてゲート通過処理を実行する。なお、このゲート通過処理の詳細については後述する。
メインCPU300aは、第1始動口検出スイッチオン検出時であるか、すなわち、第1始動口120に遊技球が入球して第1始動口検出スイッチ120sから検出信号が入力されたかを判定する。その結果、第1始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1始動口検出スイッチオン検出時ではないと判定した場合にはステップS500−5に処理を移す。
メインCPU300aは、第1始動口120への遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
メインCPU300aは、第2始動口検出スイッチオン検出時であるか、すなわち、第2始動口122に遊技球が入球して第2始動口検出スイッチ122sから検出信号が入力されたかを判定する。その結果、第2始動口検出スイッチオン検出時であると判定した場合にはステップS530に処理を移し、第2始動口検出スイッチオン検出時ではないと判定した場合にはステップS500−7に処理を移す。
メインCPU300aは、第2始動口122への遊技球の入球に基づいて第2始動口通過処理を実行する。なお、この第2始動口通過処理の詳細については後述する。
メインCPU300aは、大入賞口検出スイッチオン検出時であるか、すなわち、第1大入賞口126および第2大入賞口128に遊技球が入球して第1大入賞口検出スイッチ126sおよび第2大入賞口検出スイッチ128sから検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS500−9に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合には、ステップS500−11に処理を移す。
メインCPU300aは、現在、大役遊技中または小当たり遊技中であるか否かを判定し、第1大入賞口126および第2大入賞口128への遊技球の入球が適正になされたものであるかを判定する。ここでは、大役遊技中または小当たり遊技中ではないと判定した場合には、所定の不正検出処理を実行し、大役遊技中または小当たり遊技中であり、第1大入賞口126および第2大入賞口128への遊技球の入球が適正になされたと判定した場合には、大入賞口入賞球数カウンタを1加算するとともに、大入賞口入賞指定コマンドを送信バッファにセットする。
メインCPU300aは、特定領域検出スイッチオン検出時であるか、すなわち、特定領域140bに遊技球が進入して特定領域検出スイッチ140sから検出信号が入力されたかを判定する。その結果、特定領域検出スイッチオン検出時であると判定した場合にはステップS540に処理を移し、特定領域検出スイッチオン検出時ではないと判定した場合にはステップS500−13に処理を移す。
メインCPU300aは、特定領域140bへの遊技球の進入に基づいて特定領域通過処理を実行する。また、特定領域通過処理においては、特定領域検出スイッチ140sに関するエラー(スイッチエラー)の監視(検出)が行われる。なお、この特定領域通過処理の詳細については後述する。
メインCPU300aは、一般入賞口検出スイッチオン検出時であるか、すなわち、一般入賞口118に遊技球が入球して一般入賞口検出スイッチ118sから検出信号が入力されたかを判定する。その結果、一般入賞口検出スイッチオン検出時であると判定した場合にはステップS500−15に処理を移し、一般入賞口検出スイッチオン検出時ではないと判定した場合にはステップS500−17に処理を移す。
メインCPU300aは、一般入賞口入賞指定コマンドを送信バッファにセットする。
メインCPU300aは、アウト球検出スイッチオン検出時であるか、すなわち、アウト球検出スイッチ130sから検出信号が入力されたかを判定する。その結果、アウト球検出スイッチオン検出時であると判定した場合にはステップS500−19に処理を移し、アウト球検出スイッチオン検出時ではないと判定した場合には、当該スイッチ管理処理を終了する。
メインCPU300aは、アウト球検出指定コマンドを送信バッファにセットし、当該スイッチ管理処理を終了する。
メインCPU300aは、ハードウェア乱数生成部によって更新された当たり決定乱数をロードする。
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値が最大値以上であるか、つまり、普通図柄保留球数カウンタのカウンタ値が4以上であるかを判定する。その結果、普通図柄保留球数カウンタのカウンタ値が最大値以上であると判定した場合には当該ゲート通過処理を終了し、普通図柄保留球数カウンタは最大値以上ではないと判定した場合にはステップS510−5に処理を移す。
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
メインCPU300aは、普図保留記憶領域の4つの記憶部のうち、取得した当たり決定乱数をセーブする対象となる対象記憶部を算定する。
メインCPU300aは、上記ステップS510−1で取得した当たり決定乱数を、上記ステップS510−7で算定した対象記憶部にセーブする。
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットし、当該ゲート通過処理を終了する。
メインCPU300aは、特別図柄識別値として「00H」をセットする。なお、特別図柄識別値は、保留種別として特1保留および特2保留のいずれであるかを識別するためのもので、特別図柄識別値(00H)は特1保留を示し、特別図柄識別値(01H)は特2保留を示す。
メインCPU300aは、特別図柄1保留球数カウンタのアドレスをセットする。
メインCPU300aは、特別図柄乱数取得処理を実行して、当該第1始動口通過処理を終了する。なお、この特別図柄乱数取得処理は、第2始動口通過処理(ステップS530)と共通のモジュールを利用して実行される。したがって、特別図柄乱数取得処理の詳細は、第2始動口通過処理の説明後に説明する。
メインCPU300aは、特別図柄識別値として「01H」をセットする。
メインCPU300aは、特別図柄2保留球数カウンタのアドレスをセットする。
メインCPU300aは、後述する特別図柄乱数取得処理を実行する。
メインCPU300aは、普通遊技管理フェーズをロードする。なお、詳しくは後述するが、普通遊技管理フェーズは、普通遊技の実行処理の段階、すなわち、普通遊技の進行状況を示すものであり、普通遊技の実行処理の段階に応じて更新される。
メインCPU300aは、上記ステップS530−5でロードした普通遊技管理フェーズが「04H」ではないかを判定する。なお、普通遊技管理フェーズの「04H」は、普通電動役物入賞口開放制御処理中であることを示すものである。この普通電動役物入賞口開放制御処理においては、普通電動役物ソレノイド122cが通電されて可動片122bが開状態に制御されることから、ここでは、第2始動口122が適正に開放され得る状態にあるかを判定することとなる。その結果、普通遊技管理フェーズが「04H」ではないと判定した場合には当該第2始動口通過処理を終了し、普通遊技管理フェーズが「04H」であると判定した場合にはステップS530−9に処理を移す。
メインCPU300aは、普通電動役物入賞球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該第2始動口通過処理を終了する。
メインCPU300aは、上記ステップS520−1またはステップS530−1でセットした特別図柄識別値をロードする。
メインCPU300aは、対象特別図柄保留球数をロードする。ここでは、上記ステップS535−1でロードした特別図柄識別値が「00H」であれば、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数をロードする。また、上記ステップS535−1でロードした特別図柄識別値が「01H」であれば、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数をロードする。
メインCPU300aは、ハードウェア乱数生成部によって更新された大当たり決定乱数をロードする。
メインCPU300aは、上記ステップS535−3でロードした対象特別図柄保留球数が上限値以上であるかを判定する。その結果、上限値以上であると判定した場合には、ステップS535−23に処理を移し、上限値以上ではないと判定した場合には、ステップS535−9に処理を移す。
メインCPU300aは、対象特別図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
メインCPU300aは、特図保留記憶領域の8つの記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
メインCPU300aは、上記ステップS535−5でロードした大当たり決定乱数、上記ステップS400−19で更新された当たり図柄乱数、上記ステップS100−69で更新されたリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を取得し、上記ステップS535−11で算定した対象記憶部に格納する。
メインCPU300aは、特図保留記憶領域に記憶されている特1保留および特2保留の入賞順序を更新して記憶する特別図柄保留球入賞順序設定処理を行う。
メインCPU300aは、上記ステップS535−13で対象記憶部に格納した各種の乱数に基づいて、大役仮抽選、当たり図柄仮決定、変動情報仮決定をする取得時演出判定処理を実行する。この取得時演出判定処理では、新たに記憶された保留が読み出された際に決定される変動情報を示す先読み指定コマンドを副制御基板330に送信する。
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードする。
メインCPU300aは、上記ステップS535−17でロードしたカウンタ値に基づいて、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。これにより、特1保留または特2保留が記憶されるたびに、特1保留数および特2保留数が副制御基板330に伝達されることとなる。
メインCPU300aは、普通遊技管理フェーズをロードする。
メインCPU300aは、上記ステップS535−23でロードした普通遊技管理フェーズを確認し、後述する普通電動役物入賞口開放制御状態未満であるかを判定する。その結果、普通電動役物入賞口開放制御状態未満であると判定した場合にはステップS535−27に処理を移し、普通電動役物入賞口開放制御状態未満ではないと判定した場合には当該特別図柄乱数取得処理を終了する。
メインCPU300aは、異常入賞があったか否かを判定するとともに、異常入賞があったと判定した場合には、所定の処理を行う始動口異常入賞エラー処理を実行し、当該特別図柄乱数取得処理(ステップS535)を終了する。
メインCPU300aは、上記ステップS500−11で特定領域検出スイッチオン検出時であると判定した場合には、有効期間フラグがオンしているか否かを判定する。その結果、有効期間フラグがオンしていると判定した場合にはステップS540−3に処理を移し、有効期間フラグはオンしていないと判定した場合にはステップS540−9に処理を移す。
上記ステップS540−1において、有効期間フラグがオンしていると判定した場合には、メインCPU300aは、特定領域進入フラグがオンしているかを判定する。なお、特定領域進入フラグは、特定領域140bに遊技球が既に有効に進入したことを識別するものである。特定領域進入フラグがオンしていると判定した場合には当該特定領域通過処理を終了し、特定領域進入フラグはオンしていないと判定した場合にはステップS540−5に処理を移す。
メインCPU300aは、特定領域進入フラグをオンする。
メインCPU300aは、特定領域140bに遊技球が有効に進入したことを副制御基板330に伝達すべく、特定領域進入コマンドを送信バッファにセットし、当該特定領域通過処理を終了する。
メインCPU300aは、所定のエラー処理を実行する。
メインCPU300aは、エラーが検出されたことを示すエラー指定コマンドを送信バッファにセットする。ここでは、特定領域140bへの不正入賞(不正入賞エラー)が発生したことを示すエラー指定コマンドを送信バッファにセットする。
メインCPU300aは、遊技機エラー状態フラグをオンし、当該特定領域通過処理を終了する。
メインCPU300aは、特別遊技管理フェーズをロードする。
メインCPU300aは、上記ステップS600−1でロードした特別遊技管理フェーズに対応する特別遊技制御モジュールを選択する。
メインCPU300aは、上記ステップS600−3で選択した特別遊技制御モジュールをコールして処理を開始する。
メインCPU300aは、特別遊技の制御時間を管理する特別遊技タイマをロードし、当該特別遊技管理処理を終了する。
メインCPU300aは、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数(X2)が「1」以上であるかを判定する。その結果、特2保留数(X2)が「1」以上であると判定した場合にはステップS610−7に処理を移し、特2保留数(X2)は「1」以上ではないと判定した場合にはステップS610−3に処理を移す。
メインCPU300aは、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数(X1)が「1」以上であるかを判定する。その結果、特1保留数(X1)が「1」以上であると判定した場合にはステップS610−7に処理を移し、特1保留数(X1)は「1」以上ではないと判定した場合にはステップS610−5に処理を移す。
メインCPU300aは、客待ちコマンドを送信バッファにセットするとともに、客待ち状態に設定するための客待ち設定処理を実行し、当該特別図柄変動待ち処理を終了する。
メインCPU300aは、第2特図保留記憶領域の第1記憶部〜第4記憶部に記憶されている特2保留、または、第1特図保留記憶領域の第1記憶部〜第4記憶部に記憶されている特1保留を、1つ序数の小さい記憶部にブロック転送する。具体的には、上記ステップS610−1において、特別図柄2保留球数が「1」以上であると判定した場合には、第2特図保留記憶領域の第2記憶部〜第4記憶部に記憶されている特2保留を、第1記憶部〜第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている特2保留を、第0記憶部にブロック転送する。また、上記ステップS610−3において、特別図柄1保留球数が「1」以上であると判定した場合には、第1特図保留記憶領域の第2記憶部〜第4記憶部に記憶されている特1保留を、第1記憶部〜第3記憶部に転送するとともに、第1記憶部に記憶されている特1保留を、第0記憶部にブロック転送する。なお、この特別図柄記憶エリアシフト処理においては、第0記憶部に転送された保留種別に対応する対象特別図柄保留球数カウンタのカウンタ値を「1」減算するとともに、特1保留または特2保留が「1」減算したことを示す、保留減指定コマンドを送信バッファにセットする。
メインCPU300aは、大役抽選を行う特別図柄当たり判定処理を実行する。この特別図柄当たり判定処理については後述する。
メインCPU300aは、特別図柄を決定するための特別図柄図柄判定処理を実行する。ここでは、上記ステップS611で記憶された判定情報(大役抽選の抽選結果)が大当たりもしくは小当たりである場合、当選種別(大当たりであるか小当たりであるか)および保留種別をロードし、対応する当たり図柄乱数判定テーブルをセットする。そして、セットした当たり図柄乱数判定テーブルを参照し、第0記憶部に転送された当たり図柄乱数を用いて特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄または小当たり図柄の種別)をセーブする。一方、上記ステップS611で記憶された大役抽選の抽選結果がハズレである場合、保留種別が特1保留であれば、ハズレ図柄として特別図柄Xをセーブし、保留種別が特2保留であれば、ハズレ図柄として特別図柄Yをセーブする。なお、ここでは、セーブした特別図柄判定データに対応する図柄種別指定コマンドが送信バッファにセットされる。
メインCPU300aは、上記ステップS610−11で抽出した特別図柄判定データに対応する特別図柄停止図柄番号をセーブする。なお、第1特別図柄表示器160および第2特別図柄表示器162は、それぞれ7セグで構成されており、7セグを構成する各セグメントには番号(カウンタ値)が対応付けられている。ここで決定する特別図柄停止図柄番号は、最終的に点灯するセグメントの番号(カウンタ値)を示すものである。
メインCPU300aは、変動モード番号および変動パターン番号を決定する特別図柄変動番号決定処理を実行する。この特別図柄変動番号決定処理の詳細は後述する。
メインCPU300aは、上記ステップS612で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間1および変動時間2を決定する。そして、決定した変動時間1、2の合計時間を、特別図柄変動タイマにセットする。
メインCPU300aは、大役抽選が実行されたときの遊技状態を遊技状態バッファに記憶する等の処理を行う予備領域設定処理を行う。また、この予備領域設定処理では、大役抽選の結果が大当たりである場合に、メインRAM300cの予備領域に、大役遊技後に設定する遊技状態情報や大当たり図柄の種別(特別図柄判定データ)等を記憶する。
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162において、特別図柄の変動表示を開始するために、特別図柄表示図柄カウンタを設定する処理を実行する。第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントにはカウンタ値が対応付けられており、特別図柄表示図柄カウンタに設定されたカウンタ値に対応するセグメントが点灯制御される。ここでは、特別図柄の変動表示の開始時に点灯させるセグメントに対応するカウンタ値が特別図柄表示図柄カウンタに設定されることとなる。なお、特別図柄表示図柄カウンタは、第1特別図柄表示器160に対応する特別図柄1表示図柄カウンタと、第2特別図柄表示器162に対応する特別図柄2表示図柄カウンタとが別個に設けられており、ここでは、保留種別に対応するカウンタにカウンタ値が設定される。
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードし、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。また、ここでは、上記ステップS610−7で記憶した特1保留および特2保留の入賞順序に対応する特別図柄入賞順序コマンドを送信バッファにセットする。これにより、特1保留または特2保留が消化されるたびに、特1保留数および特2保留数、ならびに、これら各保留の入賞順序が副制御基板330に伝達されることとなる。
メインCPU300aは、特別遊技管理フェーズを「01H」に更新し、当該特別図柄変動待ち処理を終了する。
メインCPU300aは、設定値バッファの登録設定値をロードする。
メインCPU300aは、上記ステップS611−1でロードした登録設定値が正常範囲内の値であるかを判定する。その結果、正常範囲内の値であると判定した場合にはステップS611−9に処理を移し、正常範囲内の値ではないと判定した場合にはステップS611−5に処理を移す。
メインCPU300aは、遊技機状態フラグに03H(設定異常状態)をセットする。
メインCPU300aは、設定異常状態コマンド(サブコマンド)を送信バッファにセットし、当該特別図柄当たり判定処理を終了する。この設定異常状態コマンドが副制御基板330に送信されると、設定異常である旨の報知がなされる。
メインCPU300aは、ステップS611−1でロードした情報に対応する大当たり決定乱数判定テーブルを参照し、大当たりまたは小当たりと判定する際の下限値および上限値をそれぞれセットする。
メインCPU300aは、第0記憶部に転送された大当たり決定乱数と、上記の下限値および上限値とを比較し、大当たりまたは小当たりの当選有無を判定する判定処理(大役抽選)を行う。
メインCPU300aは、上記ステップS611−11の判定処理の結果を判定情報としてセットし、当該特別図柄当たり判定処理を終了する。
メインCPU300aは、上記ステップS611における大役抽選の結果が大当たりまたは小当たりであるかを判定する。その結果、大当たりまたは小当たりであると判定した場合にはステップS612−3に処理を移し、大当たりおよび小当たりのいずれでもない(ハズレである)と判定した場合にはステップS612−5に処理を移す。
メインCPU300aは、現在の遊技状態、大当たり図柄の種別、保留種別、変動状態に対応するリーチモード決定乱数判定テーブルをセットする。
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
メインCPU300aは、現在の遊技状態、上記ステップS612−5で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610−5で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
メインCPU300aは、上記ステップS612−7で決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルをセットする。
メインCPU300aは、上記ステップS612−3または上記ステップS612−9でセットしたリーチモード決定乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
メインCPU300aは、上記ステップS612−11で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS612−11で決定した変動パターン乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
メインCPU300aは、上記ステップS612−15で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
メインCPU300aは、特別図柄変動ベースカウンタを更新する処理を実行する。なお、特別図柄変動ベースカウンタは、所定周期(例えば100ms)で1周するようにカウンタ値が設定される。具体的には、特別図柄変動ベースカウンタのカウンタ値が「0」であった場合には、所定のカウンタ値(例えば25)がセットされ、カウンタ値が「1」以上であった場合には、現在のカウンタ値から「1」減算した値にカウンタ値を更新する。
メインCPU300aは、上記ステップS620−1で更新した特別図柄変動ベースカウンタのカウンタ値が「0」であるかを判定する。その結果、カウンタ値が「0」であった場合にはステップS620−5に処理を移し、カウンタ値が「0」ではなかった場合にはステップS620−9に処理を移す。
メインCPU300aは、上記ステップS610−15で設定された特別図柄変動タイマのタイマ値を所定値減算する特別図柄変動タイマ更新処理を行う。
メインCPU300aは、上記ステップS620−5で更新した特別図柄変動タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS620−15に処理を移し、タイマ値が「0」ではなかった場合にはステップS620−9に処理を移す。
メインCPU300aは、第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントの点灯時間を計時する特別図柄表示タイマを更新する。具体的には、特別図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
メインCPU300aは、特別図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、特別図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS620−13に処理を移し、特別図柄表示タイマのタイマ値が「0」でないと判定した場合には当該特別図柄変動中処理を終了する。
メインCPU300aは、更新対象の特別図柄表示図柄カウンタのカウンタ値を更新し、当該特別図柄変動中処理を終了する。これにより、7セグを構成する各セグメントが、所定時間おきに順次点灯することとなる。
メインCPU300aは、特別遊技管理フェーズを「02H」に更新する。
メインCPU300aは、対象の特別図柄表示図柄カウンタに、上記ステップS610−13で決定した特別図柄停止図柄番号(カウンタ値)をセーブする。これにより、第1特別図柄表示器160または第2特別図柄表示器162に、決定された特別図柄が停止表示されることとなる。
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示されたことを示す特図停止指定コマンドを送信バッファにセットする。
メインCPU300aは、特別図柄を停止表示する時間である特別図柄変動停止時間を特別遊技タイマにセットし、当該特別図柄変動中処理を終了する。
メインCPU300aは、上記ステップS620−21でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該特別図柄停止図柄表示処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS630−3に処理を移す。
メインCPU300aは、大役抽選の結果を確認する。
メインCPU300aは、大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS630−19に処理を移し、大当たりではないと判定した場合にはステップS630−7に処理を移す。
メインCPU300aは、回数切り管理処理を実行する。ここでは、遊技状態が非時短遊技状態であるか時短遊技状態であるかを識別するための時短状態フラグをロードして、現在の遊技状態が非時短遊技状態であるか時短遊技状態であるかを確認する。そして、遊技状態が時短遊技状態であった場合には、時短回数切りカウンタのカウンタ値を、現在のカウンタ値から「1」減算した値に更新する。なお、時短回数切りカウンタを更新した結果、カウンタ値が「0」になった場合には、非時短遊技状態に対応する時短状態フラグをセットする。これにより、時短遊技状態において、大当たりに当選することなく、特別図柄が所定回数確定したところで、遊技状態が非時短遊技状態に移行することとなる。
メインCPU300aは、変動状態を更新する。
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS630−7で更新した時短回数を副制御基板330に伝達するための回数コマンドを送信バッファにセットする。
メインCPU300aは、大役抽選の結果が小当たりであるかを判定する。その結果、小当たりであると判定した場合にはステップS630−21に処理を移し、小当たりではないと判定した場合にはステップS630−17に処理を移す。
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、1の保留に基づく特別遊技管理処理が終了し、特1保留または特2保留が記憶されている場合には、次の保留に基づく特別図柄の変動表示を開始するための処理が行われることとなる。
メインCPU300aは、遊技状態を初期状態である非時短遊技状態にリセット(設定)する。
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630−21でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
メインCPU300aは、上記ステップS630−21でセットしたデータを参照し、特別遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
メインCPU300aは、大役遊技または小当たり遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。なお、このオープニング指定コマンドは、オープニング時間ごとに設けられており、ここでは、上記ステップS630−25でセーブされたオープニング時間に対応するオープニング指定コマンドが送信バッファにセットされる。
メインCPU300aは、上記ステップS630−3で確認した大役抽選の結果が大当たりである場合には、特別遊技管理フェーズを「03H」に更新し、小当たりである場合には、特別遊技管理フェーズを「07H」に更新して、当該特別図柄停止図柄表示処理を終了する。これにより、大役遊技または小当たり遊技が開始されることとなる。
メインCPU300aは、特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS640−3に処理を移す。
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
メインCPU300aは、第1大入賞口126および第2大入賞口128の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
メインCPU300aは、特別遊技管理フェーズが07Hであるか、つまり、小当たり遊技中であるかを判定する。その結果、特別遊技管理フェーズが07Hであると判定した場合にはステップS640−9に処理を移し、特別遊技管理フェーズは07Hではないと判定した場合にはステップS640−13に処理を移す。
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値に基づいて、1回目のラウンド遊技の開始時であるかを判定する。その結果、1回目のラウンド遊技の開始時であると判定した場合はステップS640−11に処理を移し、1回目のラウンド遊技の開始時ではないと判定した場合にはステップS640−13に処理を移す。
メインCPU300aは、有効期間フラグをオンする。これにより、小当たり遊技の開始に伴って、特定領域140bへの遊技球の進入が有効化される。
メインCPU300aは、特別遊技管理フェーズを、現在の値に01Hを加算した値(「04H」または「08H」)に更新し、当該大入賞口開放前処理を終了する。
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における第1大入賞口126および第2大入賞口128の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS641−3に処理を移す。
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cを通電制御するためのソレノイド制御データ、ならびに、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電時間もしくは通電停止時間であるタイマデータを抽出する。
メインCPU300aは、上記ステップS641−3で抽出したソレノイド制御データに基づいて、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始するか、もしくは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400−31およびステップS400−33において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始もしくは通電停止の制御がなされることとなる。
メインCPU300aは、上記ステップS641−3で抽出したタイマデータに基づくタイマ値を、特別遊技タイマにセーブする。なお、ここで特別遊技タイマにセーブされるタイマ値は、第1大入賞口126および第2大入賞口128の1回の最大開放時間となる。
メインCPU300aは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS641−5において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS641−11に処理を移し、通電開始状態ではないと判定した場合には当該大入賞口開閉切替処理を終了する。
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該大入賞口開閉切替処理を終了する。
メインCPU300aは、上記ステップS641−7でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS650−5に処理を移し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS650−3に処理を移す。
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS650−7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS641に処理を移す。
上記ステップS650−3において、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS641の処理を実行する。
メインCPU300aは、上記ステップS500−9で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第1大入賞口126または第2大入賞口128に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS650−7に処理を移す。
メインCPU300aは、第1大入賞口ソレノイド126cおよび第2大入賞口ソレノイド128cの通電を停止して第1大入賞口126および第2大入賞口128を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、第1大入賞口126および第2大入賞口128が閉鎖状態となる。
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別遊技タイマにセーブする。
メインCPU300aは、特別遊技管理フェーズを、現在の値に01Hを加算した値(「05H」または「09H」)に更新する。
メインCPU300aは、第1大入賞口126および第2大入賞口128が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
メインCPU300aは、上記ステップS650−9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口閉鎖有効処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS660−3に処理を移す。
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致するか、すなわち、予め設定された回数のラウンド遊技が終了したかを判定する。その結果、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致すると判定した場合にはステップS660−9に処理を移し、一致しないと判定した場合にはステップS660−5に処理を移す。
メインCPU300aは、特別遊技管理フェーズを「03H」に更新する。なお、特別遊技管理フェーズが「09H」である場合、すなわち、小当たり遊技の制御中は、小当たり遊技のラウンド遊技回数が「1」であることから、上記ステップS660−3で必ずYESと判定され、当該ステップに処理が移行することはない。
メインCPU300aは、所定の大入賞口閉鎖時間を特別遊技タイマにセーブし、当該大入賞口閉鎖有効処理を終了する。これにより、次のラウンド遊技が開始されることとなる。
メインCPU300aは、特別遊技管理フェーズが09Hであるか、つまり、小当たり遊技中であるかを判定する。その結果、特別遊技管理フェーズが09Hであると判定した場合にはステップS660−11に処理を移し、特別遊技管理フェーズは09Hではないと判定した場合にはステップS660−21に処理を移す。
メインCPU300aは、第2大入賞口128に入球した遊技球が全て排出されたかを判定する。ここでは、第2大入賞口128に入球した遊技球数から、特定領域140bおよび非特定領域140cに進入した遊技球の合計数を減算した値が0になった場合に、排出が完了したと判定する。排出が完了したと判定した場合にはステップS660−13に処理を移し、排出は完了していないと判定した場合には当該大入賞口閉鎖有効処理を終了する。なお、排出が完了していないとする判定結果が一定時間に亘って継続的に導出されると、エラー処理が行われる。
メインCPU300aは、特定領域進入フラグがオンしているかを判定する。その結果、特定領域進入フラグがオンしていると判定した場合にはステップS660−15に処理を移し、特定領域進入フラグはオンしていないと判定した場合にはステップS660−21に処理を移す。
メインCPU300aは、特定領域進入フラグをオフする。
メインCPU300aは、小当たり図柄の種別を確認し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数から1を減算した値、すなわち、大役遊技におけるラウンド遊技数)をセットする。
メインCPU300aは、特別遊技管理フェーズに03Hをセットし、当該大入賞口閉鎖有効処理を終了する。
メインCPU300aは、エンディング時間を特別遊技タイマにセーブするエンディング時間設定処理を実行する。
メインCPU300aは、特別遊技管理フェーズを、現在の値に01Hを加算した値(「06H」または「0AH」)に更新する。
メインCPU300aは、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
メインCPU300aは、上記ステップS660−9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS670−3に処理を移す。
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、大役遊技の実行契機となった大当たり図柄に基づいて、大役遊技終了後の遊技状態が設定される。具体的には、大役遊技の実行契機となった大当たり図柄が特別図柄A、aである場合には、時短遊技状態に設定するとともに時短回数を1回に設定する。また、大役遊技の実行契機となった大当たり図柄が特別図柄B、C、b、cである場合には、時短遊技状態に設定するとともに時短回数を7回に設定する。
メインCPU300aは、大役遊技の終了後に設定される遊技状態および変動状態を伝達するための遊技状態変化指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS670−3でセーブした時短回数に対応する回数指定コマンドを送信バッファにセットする。
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、特別図柄の変動表示が再開されることとなる。
メインCPU300aは、普通遊技管理フェーズをロードする。
メインCPU300aは、上記ステップS700−1でロードした普通遊技管理フェーズに対応する普通遊技制御モジュールを選択する。
メインCPU300aは、上記ステップS700−3で選択した普通遊技制御モジュールをコールして処理を開始する。
メインCPU300aは、普通遊技の制御時間を管理する普通遊技タイマをロードする。
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値をロードし、カウンタ値が「0」であるか、すなわち、普図保留が「0」であるかを判定する。その結果、カウンタ値が「0」であると判定した場合には当該普通図柄変動待ち処理を終了し、カウンタ値は「0」ではないと判定した場合にはステップS710−3に処理を移す。
メインCPU300aは、普図保留記憶領域の第1記憶部〜第4記憶部に記憶されている普図保留(当たり決定乱数)を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部〜第4記憶部に記憶されている普図保留を、第1記憶部〜第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている普図保留を、第0記憶部に転送する。なお、この普通図柄記憶エリアシフト処理においては、普通図柄保留球数カウンタのカウンタ値を「1」減算するとともに、普図保留が「1」減算したことを示す、普図保留減指定コマンドを送信バッファにセットする。
メインCPU300aは、第0記憶部に転送された当たり決定乱数をロードし、現在の遊技状態に対応する当たり決定乱数判定テーブルを選択して普図抽選を行い、その抽選結果を記憶する普通図柄当たり判定処理を実行する。
メインCPU300aは、上記ステップS710−5の普図抽選の結果に対応する普通図柄停止図柄番号をセーブする。なお、本実施形態では、普通図柄表示器168は1つのLEDランプで構成されており、当たりの場合には普通図柄表示器168を点灯させ、ハズレの場合には普通図柄表示器168を消灯させる。ここで決定する普通図柄停止図柄番号は、最終的に普通図柄表示器168を点灯するか否かを示すものであり、例えば、当たりに当選した場合には、普通図柄停止図柄番号として「0」が決定され、ハズレの場合には、普通図柄停止図柄番号として「1」が決定される。
メインCPU300aは、現在の遊技状態を確認し、対応する普通図柄変動時間データテーブルを選択してセットする。
メインCPU300aは、上記ステップS710−3で第0記憶部に転送した当たり決定乱数と、上記ステップS710−9でセットした普通図柄変動時間データテーブルとに基づいて、普通図柄変動時間を決定する。
メインCPU300aは、上記ステップS710−11で決定した普通図柄変動時間を普通遊技タイマにセーブする。
メインCPU300aは、普通図柄表示器168において、普通図柄の変動表示を開始するために、普通図柄表示図柄カウンタを設定する処理を実行する。この普通図柄表示図柄カウンタに、カウンタ値として例えば「0」が設定されている場合には普通図柄表示器168が点灯制御され、カウンタ値として「1」が設定されている場合には普通図柄表示器168が消灯制御される。ここでは、普通図柄の変動表示の開始時に所定のカウンタ値が普通図柄表示図柄カウンタに設定されることとなる。
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS710−7で決定された普通図柄停止図柄番号、すなわち、普通図柄当たり判定処理によって決定された図柄種別(当たり図柄またはハズレ図柄)に基づいて、普通図柄指定コマンドを送信バッファにセットする。
メインCPU300aは、普通遊技管理フェーズを「01H」に更新し、当該普通図柄変動待ち処理を終了する。
メインCPU300aは、上記ステップS710−13でセーブした普通遊技タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS720−9に処理を移し、タイマ値が「0」でなかった場合にはステップS720−3に処理を移す。
メインCPU300aは、普通図柄表示器168の点灯時間および消灯時間を計時する普通図柄表示タイマを更新する。具体的には、普通図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
メインCPU300aは、普通図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、普通図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS720−7に処理を移し、普通図柄表示タイマのタイマ値が「0」でないと判定した場合には当該普通図柄変動中処理を終了する。
メインCPU300aは、普通図柄表示図柄カウンタのカウンタ値を更新する。ここでは、普通図柄表示図柄カウンタのカウンタ値が、普通図柄表示器168の消灯を示すカウンタ値であった場合には点灯を示すカウンタ値に更新し、普通図柄表示器168の点灯を示すカウンタ値であった場合には消灯を示すカウンタ値に更新し、当該普通図柄変動中処理を終了する。これにより、普通図柄表示器168は、普通図柄変動時間にわたって、所定時間おきに点灯、消灯を繰り返す(点滅する)こととなる。
メインCPU300aは、普通図柄表示図柄カウンタに、上記ステップS710−7で決定した普通図柄停止図柄番号(カウンタ値)をセーブする。これにより、普通図柄表示器168が最終的に点灯もしくは消灯制御され、普図抽選の結果が報知されることとなる。
メインCPU300aは、普通図柄を停止表示する時間である普通図柄変動停止時間を普通遊技タイマにセットする。
メインCPU300aは、普通図柄の停止表示が開始されたことを示す普図停止指定コマンドを送信バッファにセットする。
メインCPU300aは、普通遊技管理フェーズを「02H」に更新し、当該普通図柄変動中処理を終了する。
メインCPU300aは、上記ステップS720−11でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通図柄停止図柄表示処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS730−3に処理を移す。
メインCPU300aは、普図抽選の結果を確認する。
メインCPU300aは、普図抽選の結果が当たりであるかを判定する。その結果、当たりであると判定した場合にはステップS730−9に処理を移し、当たりではない(ハズレである)と判定した場合にはステップS730−7に処理を移す。
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、1の普図保留に基づく普通遊技管理処理が終了し、普図保留が記憶されている場合には、次の保留に基づく普通図柄の変動表示を開始するための処理が行われることとなる。
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通遊技タイマに、タイマ値として普電開放前時間をセーブする。
メインCPU300aは、普通遊技管理フェーズを「03H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、第2始動口122の開閉制御が開始されることとなる。
メインCPU300aは、普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」でないと判定した場合には当該普通電動役物入賞口開放前処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS741に処理を移す。
メインCPU300aは、普通電動役物入賞口開閉切替処理を実行する。この普通電動役物入賞口開閉切替処理については後述する。
メインCPU300aは、普通遊技管理フェーズを「04H」に更新し、当該普通電動役物入賞口開放前処理を終了する。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における可動片122bの開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該普通電動役物入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS741−3に処理を移す。
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、普通電動役物ソレノイド122cを通電制御するためのソレノイド制御データ(通電制御データまたは通電停止制御データ)、および、普通電動役物ソレノイド122cの通電時間(ソレノイド通電時間)もしくは通電停止時間(普電閉鎖有効時間=休止時間)であるタイマデータを抽出する。
メインCPU300aは、上記ステップS741−3で抽出したソレノイド制御データに基づいて、普通電動役物ソレノイド122cの通電を開始するか、もしくは、普通電動役物ソレノイド122cの通電を停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、上記ステップS400−31およびステップS400−33において、普通電動役物ソレノイド122cの通電開始もしくは通電停止の制御がなされることとなる。
メインCPU300aは、上記ステップS741−3で抽出したタイマデータに基づくタイマ値を、普通遊技タイマにセーブする。なお、ここで普通遊技タイマにセーブされるタイマ値は、第2始動口122の1回の最大開放時間となる。
メインCPU300aは、普通電動役物ソレノイド122cの通電開始状態か、すなわち、上記ステップS741−5において、普通電動役物ソレノイド122cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS741−11に処理を移し、通電開始状態ではないと判定した場合には当該普通電動役物入賞口開閉切替処理を終了する。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
メインCPU300aは、上記ステップS741−7でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS750−5に処理を移し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS750−3に処理を移す。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS750−7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS741に処理を移す。
上記ステップS750−3において、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS741の処理を実行する。
メインCPU300aは、上記ステップS530−9で更新された普通電動役物入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第2始動口122に、1回の開閉制御中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該普通電動役物入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS750−7に処理を移す。
メインCPU300aは、普通電動役物ソレノイド122cの通電を停止して第2始動口122を閉鎖するために必要な普通電動役物閉鎖処理を実行する。これにより、第2始動口122が閉鎖状態となる。
メインCPU300aは、普電有効状態時間を普通遊技タイマにセーブする。
メインCPU300aは、普通遊技管理フェーズを「05H」に更新し、当該普通電動役物入賞口開放制御処理を終了する。
メインCPU300aは、上記ステップS750−9でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口閉鎖有効処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS760−3に処理を移す。
メインCPU300aは、普電終了ウェイト時間を普通遊技タイマにセーブする。
メインCPU300aは、普通遊技管理フェーズを「06H」に更新し、当該普通電動役物入賞口閉鎖有効処理を終了する。
メインCPU300aは、上記ステップS760−3でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口終了ウェイト処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS770−3に処理を移す。
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。
図59は、副制御基板330のサブCPU初期化処理(S1000)を説明するフローチャートである。
サブCPU330aは、電源投入に応じて、サブROM330bからCPU初期化処理プログラムを読み込むとともに、サブRAM330cに記憶されるフラグ等の初期化、設定処理を行う。
次に、サブCPU330aは、各演出乱数を更新する処理を行うとともに、以後は、割込み処理が行われるまで当該ステップS1000−3の処理を繰り返し行う。なお、演出乱数は複数種類設けられており、ここでは、それぞれの演出乱数が非同期的に更新されている。
図60は、副制御基板330のサブタイマ割込み処理(S1100)を説明するフローチャートである。副制御基板330には、所定の周期(1秒間に30回)でクロックパルスを発生するリセット用クロックパルス発生回路(不図示)が設けられている。そして、このリセット用クロックパルス発生回路によるクロックパルスの発生により、サブCPU330aはタイマ割込み処理プログラムを読み込んで当該サブタイマ割込み処理を開始する。
サブCPU330aは、レジスタを退避する。
サブCPU330aは、割込みを許可するための処理を行う。
サブCPU330aは、副制御基板330で用いられる各種タイマカウンタの更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該副制御基板330のサブタイマ割込み処理の度に1ずつ減算され、0になると減算を停止する。
サブCPU330aは、主制御基板300から受信したコマンドを解析し、受信したコマンドに応じたコマンド受信処理を行う。このコマンド受信処理については、図61を用いて後述する。
サブCPU330aは、演出ボタン208および十字キー209からの操作入力に応じて各種の処理を実行する操作入力処理を行う。この操作入力処理については後述する。
サブCPU330aは、レジスタを復帰して当該サブタイマ割込み処理を終了する。
サブCPU330aは、設定確認状態指定コマンドを受信したかを判定する。設定確認状態指定コマンドは、主制御基板300において遊技機状態フラグが02Hに設定された場合に送信される。設定確認状態指定コマンドを受信したと判定した場合には、ステップS1210−3に処理を移し、設定確認状態指定コマンドを受信していないと判定した場合には、ステップS1210−9に処理を移す。
サブCPU330aは、設定確認中画面を演出表示部200aに表示する。
サブCPU330aは、所定の演出照明装置204の専用点灯制御を開始し、音声出力装置206から専用音声の出力を開始する。専用点灯制御では、例えば、所定の演出照明装置204が点滅を繰り返す。また、専用音声としては、例えば「設定確認中です」というメッセージが繰り返し音声出力装置206から出力される。
サブCPU330aは、設定確認中フラグをオンする。
サブCPU330aは、RAMクリア指定コマンドを受信したかを判定する。RAMクリア指定コマンドは、RAMクリアスイッチ182sが押下された状態で電源投入された場合において、メインRAM300cの所定の領域が初期化処理された場合に送信される。RAMクリア指定コマンドを受信したと判定した場合には、ステップS1210−11に処理を移し、RAMクリア指定コマンドを受信していないと判定した場合には、ステップS1210−15に処理を移す。
サブCPU330aは、待機中画面を演出表示部200aに表示する。
サブCPU330aは、待機中フラグをオンする。
サブCPU330aは、設定値指定コマンドを受信したかを判定する。設定値指定コマンドは、主制御基板300で設定されている登録設定値を示し、電源投入時、あるいは、電源投入後の設定変更時に送信される。設定値指定コマンドを受信したと判定した場合には、ステップS1210−17に処理を移し、設定値指定コマンドを受信していないと判定した場合には、ステップS1210−27に処理を移す。
サブCPU330aは、受信した設定値指定コマンドに対応する設定値情報を、サブRAM330cの仮記憶領域に記憶する。なお、設定値情報は、主制御基板300で設定された登録設定値と対応する。したがって、副制御基板330においては、主制御基板300で設定されている登録設定値が、設定値情報により把握されることとなる。
サブCPU330aは、サブRAM330cの本記憶領域に記憶されている設定値情報をロードする。
サブCPU330aは、本記憶領域に記憶されている設定値情報と、仮記憶領域に記憶されている設定値情報とを比較し、登録設定値が変更されたかを判定する。その結果、登録設定値が変更されたと判定した場合にはステップS1210−23に処理を移し、登録設定値は変更されていないと判定した場合にはステップS1210−27に処理を移す。
サブCPU330aは、RTC330dから現在の日時を取得する。
サブCPU330aは、設定に係る各種の情報を更新する設定情報更新処理を行う。ここでは、仮記憶領域に記憶した設定値情報を本記憶領域に上書きし、仮記憶領域をクリアする。また、ステップS1210−23で取得した日時と、本記憶領域に上書きした設定値情報とを設定変更履歴情報として、サブRAM330cに記憶する。
サブCPU330aは、エラー指定コマンドを受信したかを判定する。主制御基板300においては、状態管理処理(図27)で、扉開放エラー、磁気エラー、振動エラー等を判定し、特定領域通過処理(図34)で、不正入賞エラーを判定している。エラー指定コマンドは、エラーの種別ごとに設けられており、主制御基板300で発生したと判定されたエラーに対応するエラー指定コマンドが副制御基板330に送信される。エラー指定コマンドを受信したと判定した場合には、ステップS1210−29に処理を移し、エラー指定コマンドを受信していないと判定した場合には、ステップS1210−35に処理を移す。
サブCPU330aは、RTC330dから現在の日時を取得する。
サブCPU330aは、エラーに係る各種の情報を更新するエラー情報更新処理を行う。ここでは、ステップS1210−29で取得した日時と、受信したエラー指定コマンドに対応するエラー種別とをエラー履歴情報として、サブRAM330cに記憶する。
サブCPU330aは、エラーの発生を報知するエラー報知処理を行う。
サブCPU330aは、設定関連終了指定コマンドを受信したかを判定する。なお、設定関連終了指定コマンドは、主制御基板300において登録設定値の設定が完了した際(図23のステップS450−17)に副制御基板330に送信される。設定関連終了指定コマンドを受信したと判定した場合にはステップS1210−37に処理を移し、設定関連終了指定コマンドは受信していないと判定した場合にはステップS1210−41に処理を移す。
サブCPU330aは、演出表示部200aに初期画面を表示する。
サブCPU330aは、サブRAM330cに記憶されている各種の情報をリセットするリセット処理を行う。例えば、上記の設定確認中フラグおよび待機中フラグは、このリセット処理でオフされる。
サブCPU330aは、払出コマンドを受信したかを判定する。なお、払出コマンドは、賞球数ごとに設けられており、賞球が払い出されるたびに、払出制御管理処理(図25のステップS400−25)において主制御基板300から副制御基板330に送信される。払出コマンドを受信したと判定した場合にはステップS1210−45に処理を移し、払出コマンドは受信していないと判定した場合にはステップS1210−43に処理を移す。
サブCPU330aは、アウト球検出指定コマンドを受信したかを判定する。なお、アウト球検出指定コマンドは、アウト球検出スイッチ130sが遊技球を検出するたびに、主制御基板300から副制御基板330に送信される(図29のステップS500−17)。アウト球検出指定コマンドを受信したと判定した場合には、ステップS1210−45に処理を移し、アウト球検出指定コマンドは受信していないと判定した場合には、当該コマンド受信処理を終了する。
サブCPU330aは、ベース情報を更新する。ベース情報は、払い出された賞球数と、遊技球の発射球数との比率であり、賞球が払い出されるたびに、また、遊技球が遊技盤108から排出されるたびに更新される。
サブCPU330aは、上記ステップS1210−45で更新したベース情報に基づき、ベース異常であるかを判定する。ここでは、遊技の進行状況(例えば、大役遊技中であるか否か等)ごとに閾値が設けられており、単位時間当たりのベース情報が閾値を超えたときに、ベース異常であると判定される。ベース異常であると判定した場合にはステップS1210−49に処理を移し、ベース異常ではないと判定した場合には当該コマンド受信処理を終了する。
サブCPU330aは、ベース異常エラーに係る情報を更新するエラー情報更新処理を行う。ここでは、RTC330dから取得した日時とベース異常エラーとを対応付けて、エラー履歴情報としてサブRAM330cに記憶する。
サブCPU330aは、エラーの発生を報知するエラー報知処理を行い、当該コマンド受信処理を終了する。
サブCPU330aは、十字キー209からメニュー表示操作が入力されたかを判定する。その結果、メニュー表示操作が入力されたと判定した場合にはステップS1300−3に処理を移し、メニュー表示操作は入力されていないと判定した場合にはステップS1300−17に処理を移す。
サブCPU330aは、設定確認中フラグがオンしているかを判定する。その結果、設定確認中フラグがオンしていると判定した場合にはステップS1300−5に処理を移し、設定確認中フラグはオンしていないと判定した場合にはステップS1300−11に処理を移す。
サブCPU330aは、管理者メニュー画面を演出表示部200aに表示する。
サブCPU330aは、設定確認中画面の表示開始とともに出力が開始される専用音声の出力を停止させる。つまり、設定確認中は、演出照明装置204および音声出力装置206(複数の出力装置)において専用の出力制御が行われるが、設定確認中に管理者メニュー画面が表示されると、音声出力装置206(一部の出力装置)において専用の出力制御が停止する。このように、管理者メニューにしたがって作業が行われている場合に、音声の出力が停止されるため、作業者に与える鬱陶しさを低減することができる。なお、管理者メニュー画面の操作に伴う操作音は出力可能としてもよい。
サブCPU330aは、設定確認中フラグをオフする。
サブCPU330aは、待機中フラグがオンしているかを判定する。その結果、待機中フラグがオンしていると判定した場合にはステップS1300−13に処理を移し、待機中フラグはオンしていないと判定した場合にはステップS1300−17に処理を移す。
サブCPU330aは、スタッフメニュー画面を演出表示部200aに表示する。なお、管理者メニュー画面が表示されたときと同様に、専用音声の出力を停止させてもよい。
サブCPU330aは、待機中フラグをオフする。
サブCPU330aは、選択操作が入力されたかを判定する。その結果、選択操作が入力されたと判定した場合にはステップS1300−19に処理を移し、選択操作は入力されていないと判定した場合にはステップS1300−23に処理を移す。
サブCPU330aは、メニュー画面(管理者メニュー画面およびスタッフメニュー画面)の表示中であるかを判定する。その結果、メニュー画面の表示中であれば、ステップS1300−21に処理を移し、メニュー画面の表示中でなければ、ステップS1300−23に処理を移す。
サブCPU330aは、メニュー画面に表示されているタブのうち、選択中のタブを切り替える。
サブCPU330aは、決定操作が入力されたかを判定する。その結果、決定操作が入力されたと判定した場合にはステップS1300−25に処理を移し、決定操作は入力されていないと判定した場合には当該操作入力処理を終了する。
サブCPU330aは、メニュー画面(管理者メニュー画面およびスタッフメニュー画面)の表示中であるかを判定する。その結果、メニュー画面の表示中であれば、ステップS1300−27に処理を移し、メニュー画面の表示中でなければ、当該操作入力処理を終了する。
サブCPU330aは、選択中のタブに対応する詳細画面を表示し、当該操作入力処理を終了する。
また、上記実施形態において遊技機状態フラグが00Hである場合が、本発明の遊技可能状態に相当し、上記実施形態において遊技機状態フラグが00H以外である場合が、本発明の遊技不可能状態に相当する。
また、上記実施形態における常時可動体144および常時可動体144を作動させる常時可動体モータ144cが、本発明の可動体に相当する。また、上記実施形態において、ステップS400−27の処理を実行するメインCPU300aが、本発明の可動体制御手段に相当する。
また、上記実施形態における主制御基板300が、本発明の主制御部に相当する。
また、上記実施形態において、図26の処理を実行するメインCPU300aが、本発明の設定変更部に相当する。
また、上記実施形態において、図25のステップS400−39の処理を実行するメインCPU300aが、本発明の設定確認部に相当する。
142c 可動部材駆動ソレノイド
144 常時可動体
300 主制御基板
300a メインCPU
300b メインROM
300c メインRAM
Claims (2)
- 遊技者が遊技可能な遊技可能状態、または、遊技者が遊技不可能な遊技不可能状態に設定する状態管理手段と、
可動体を動作させる可動体制御手段と、
を備え、
前記可動体制御手段は、前記状態管理手段によって前記遊技不可能状態に設定されている場合に、所定の可動体を動作可能である遊技機。 - 設定変更操作の入力に基づいて、複数段階設けられた設定値のいずれかを登録設定値として設定する設定変更処理を実行する設定変更部、および、設定確認操作の入力に基づいて、設定中の前記登録設定値を表示させる設定確認処理を実行する設定確認部を含む主制御部を備え、
前記状態管理手段は、前記主制御部において前記設定変更処理、および、前記設定確認処理の少なくともいずれかが実行されている場合を前記遊技不可能状態とする請求項1に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019064917A JP7525982B2 (ja) | 2019-03-28 | 2019-03-28 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019064917A JP7525982B2 (ja) | 2019-03-28 | 2019-03-28 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020162762A true JP2020162762A (ja) | 2020-10-08 |
JP7525982B2 JP7525982B2 (ja) | 2024-07-31 |
Family
ID=72716854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019064917A Active JP7525982B2 (ja) | 2019-03-28 | 2019-03-28 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7525982B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62176473A (ja) * | 1986-01-30 | 1987-08-03 | 株式会社三共 | 弾球遊技機 |
JP2017070611A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社サンセイアールアンドディ | 遊技機 |
JP2017202165A (ja) * | 2016-05-12 | 2017-11-16 | 株式会社三洋物産 | 遊技機 |
-
2019
- 2019-03-28 JP JP2019064917A patent/JP7525982B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62176473A (ja) * | 1986-01-30 | 1987-08-03 | 株式会社三共 | 弾球遊技機 |
JP2017070611A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社サンセイアールアンドディ | 遊技機 |
JP2017202165A (ja) * | 2016-05-12 | 2017-11-16 | 株式会社三洋物産 | 遊技機 |
Non-Patent Citations (2)
Title |
---|
"10 設定確認タイムチャート(案)/設定変更タイムチャート(案)/RWM異常時遊技停止タイムチャート", 日本遊技機工業組合提供資料(「確率設定」に関する技術資料), JPN6022046195, 5 October 2017 (2017-10-05), ISSN: 0005026673 * |
"7 設定操作手順(案)", 日本遊技機工業組合提供資料(「確率設定」に関する技術資料), JPN6022046196, 7 September 2017 (2017-09-07), ISSN: 0005026672 * |
Also Published As
Publication number | Publication date |
---|---|
JP7525982B2 (ja) | 2024-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6970512B2 (ja) | 遊技機 | |
JP7050510B2 (ja) | 遊技機 | |
JP2021171430A (ja) | 遊技機 | |
JP2021074429A (ja) | 遊技機 | |
JP2021171432A (ja) | 遊技機 | |
JP2021122421A (ja) | 遊技機 | |
JP2021074426A (ja) | 遊技機 | |
JP2020141948A (ja) | 遊技機 | |
JP2021003477A (ja) | 遊技機 | |
JP2021013420A (ja) | 遊技機 | |
JP2021115234A (ja) | 遊技機 | |
JP2020162892A (ja) | 遊技機 | |
JP2020202894A (ja) | 遊技機 | |
JP2020162826A (ja) | 遊技機 | |
JP2020162762A (ja) | 遊技機 | |
JP2020162761A (ja) | 遊技機 | |
JP2020162763A (ja) | 遊技機 | |
JP7033569B2 (ja) | 遊技機 | |
JP2022030109A (ja) | 遊技機 | |
JP6656943B2 (ja) | 遊技機 | |
JP2022001229A (ja) | 遊技機 | |
JP2021171433A (ja) | 遊技機 | |
JP2022100640A (ja) | 遊技機 | |
JP2021171431A (ja) | 遊技機 | |
JP2021137087A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230525 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231113 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231121 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20240126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240719 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7525982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |