JP2018019841A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2018019841A JP2018019841A JP2016152227A JP2016152227A JP2018019841A JP 2018019841 A JP2018019841 A JP 2018019841A JP 2016152227 A JP2016152227 A JP 2016152227A JP 2016152227 A JP2016152227 A JP 2016152227A JP 2018019841 A JP2018019841 A JP 2018019841A
- Authority
- JP
- Japan
- Prior art keywords
- game
- main cpu
- special
- state
- ratio
- 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 530
- 230000008569 process Effects 0.000 claims description 529
- 238000001514 detection method Methods 0.000 claims description 139
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000010304 firing Methods 0.000 claims description 6
- 230000007547 defect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 98
- 230000001186 cumulative effect Effects 0.000 description 150
- 238000003860 storage Methods 0.000 description 122
- 230000000694 effects Effects 0.000 description 76
- 238000005259 measurement Methods 0.000 description 65
- 230000004397 blinking Effects 0.000 description 59
- 230000005540 biological transmission Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 23
- 230000008859 change Effects 0.000 description 19
- 238000009825 accumulation Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 239000000725 suspension Substances 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 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
- 229920000515 polycarbonate Polymers 0.000 description 1
- 239000004417 polycarbonate Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003449 preventive effect 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
- 239000012780 transparent material Substances 0.000 description 1
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
Description
図3は、遊技機100の裏面図である。遊技機100の裏面側には、主制御基板ケース103、遊技情報出力端子板312、賞球貯留タンク315、賞球払出流路317、払出球計数スイッチ316s、裏カバー331、払出制御基板ケース313および中枠開放スイッチ145s等が設置されている。この他に遊技機100の裏側には、遊技機100の電源系統や制御系統を構成する各種の電子機器類(図示しない制御コンピュータを含む)、電源プラグを備えた電源コード109及び図示しない接続配線等が設置されている。
図4は、主制御基板300を収容した主制御基板ケース103の概略構成を示す図である。図4に示すように、主制御基板300上の左上領域には、比率表示器300dが設けられている。本実施形態における比率表示器300dは、デシマルポイント付きの7セグメントLED表示器であって、4つ(4桁)の表示領域を有している。この7セグメントLED表示器を構成する各セグメントには番号(カウンタ値)が対応付けられており、カウンタ値に対応する各セグメントを点灯制御することで数字およびアルファベットが表示できる。したがって、比率表示器300dでは、最大4つの英数字を表示することができる。4つの表示領域を有する7セグメントLED表示器である比率表示器300dは、賞球数に基づいて算出される役物比率および連続役物比率を表示する。比率表示器300dの点灯制御と、役物比率および連続役物比率の詳細については後述する。なお、役物比率および連続役物比率を「比率情報」と総称する場合がある。
図5は、遊技の進行を制御する制御手段の内部構成を示すブロック図である。
図17は、主制御基板300におけるCPU初期化処理(S100)を説明するフローチャートである。
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100−3に処理を移し、電源断予告信号を検出していない場合には、ステップS100−7に処理を移す。
メインCPU300aは、上記ステップS100−3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100−9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100−5に処理を移す。
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
メインCPU300aは、RAMクリア信号がオンしているか否かを判定する。メインCPU300aは、RAMクリアボタン305(図4参照)が押圧操作された状態で電源が投入された場合に、RAMクリア信号がオンしていると判定する。そして、RAMクリア信号がオンしていると判定した場合にはステップS100−13に処理を移し、RAMクリア信号はオンしていないと判定した場合にはステップS100−19に処理を移す。
メインCPU300aは、メインRAM300cのうち、電源投入時(メインRAM300cをクリアするリセット時)にクリアすべきクリア対象のデータをクリアする初期化処理を行う。
メインCPU300aは、メインRAM300cがクリアされたことを副制御基板330に伝達するためのサブコマンド(RAMクリア指定コマンド)の送信処理を行う。
メインCPU300aは、メインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理を行う。
メインCPU300aは、チェックサムを算出するために必要な処理を実行する。
メインCPU300aは、上記ステップS100−19で算出したチェックサムが、電源断時に保存されたチェックサムと不一致であるかを判定する。その結果、両者が不一致であると判定した場合にはステップS100−13に処理を移し、両者が不一致ではない(一致する)と判定した場合にはステップS100−23に処理を移す。
メインCPU300aは、メインRAM300cのうち、電源復帰時(メインRAM300cをクリアせずに、電源断前のデータを維持するとき)にクリアすべきクリア対象のデータをクリアする初期化処理を行う。
メインCPU300aは、電源断から復帰したことを副制御基板330に伝達するためのサブコマンド(電源復帰指定コマンド)の送信処理を行う。
メインCPU300aは、電源断から復帰したことを払出制御基板310に伝達するための払出コマンド(電源復帰指定コマンド)の送信処理を行う。
メインCPU300aは、特別図柄の種別を示す電源投入時特図図柄種別指定コマンド、特1保留数(X1)を示す特1保留指定コマンド、特2保留数(X2)を示す特2保留指定コマンド、記憶されている特1保留および特2保留の入賞順序を示す特別図柄入賞順序コマンドを送信するための電源投入時サブコマンドセット処理を実行する。
メインCPU300aは、タイマ割込みの周期を設定する。
メインCPU300aは、割込みを禁止するための処理を行う。
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数−1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100−33から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
図18は、主制御基板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)に移行する。
図19は、主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(本実施形態では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
メインCPU300aは、レジスタを退避する。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172および比率表示器300dを点灯制御するダイナミックポート出力処理を実行する。
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
メインCPU300aは、上記ステップS100−35と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
メインCPU300aは、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、ゲート検出スイッチ124sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
メインCPU300aは、上記の特別遊技を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
メインCPU300aは、遊技機100において例外遊技状態が発生しているか否かを判定する例外遊技判定処理を実行する。本実施形態による遊技機100において、例外遊技状態とは、一般入賞口118(第1入球口の一例)への入賞数を用いた演算(第2演算の一例)の結果が予め定められた値を超過している状態(入賞超過状態)および遊技の中断に係る不具合が生じている状態(遊技中断状態)の少なくとも一方の状態を含む状態をいう。本実施形態による遊技機100では、例外遊技状態が発生しているか否かの判定に用いる所定の条件(例外遊技発生条件)が主制御基板300に設定されている。メインCPU300aは、例外遊技発生条件が成立している場合に例外遊技状態が発生していると判定する。
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、大入賞口検出スイッチ128sの各入賞検出スイッチについてチェックを行い、各入賞検出スイッチが遊技球の入球を検出した場合に払い出される賞球数の加算処理を行う賞球数計測処理を実行する。なお、この賞球数計測処理の詳細については後述する。
メインCPU300aは、比率表示器300dに表示される連続役物比率および役物比率の算出に用いられる賞球数に関する情報(賞球情報)を管理するための賞球情報管理処理を実行する。賞球情報には、入賞口ごとの賞球数および払い出された賞球数の合計(賞球数合計)が含まれる。なお、賞球情報管理処理の詳細は、後述する。
メインCPU300aは、役物比率および連続役物比率を算出するための比率算出処理(第1演算結果導出処理の一例)を実行する。役物比率とは、遊技者に払い出された賞球数(賞球数合計)に対する、第2始動口122の入賞に基づく賞球数と大入賞口128の入賞に基づく賞球数とを合算した賞球数の割合をいう。遊技規則上、役物比率は7割(0.7)を超えてはならない。また、連続役物比率とは、賞球数合計に対する、大入賞口128の入賞に基づく賞球数の割合をいう。遊技規則上、連続役物比率は6割(0.6)を超えてはならない。本実施形態による遊技機100では、10セット累計バッファと総累計バッファとに記憶されている賞球情報を用いて、役物比率および連続役物比率を算出する。なお、比率算出処理の詳細については後述する。
メインCPU300aは、各種エラーの判定およびエラー判定結果に応じた設定を行うためのエラー管理処理を実行する。メインCPU300aは、例えば前枠開放スイッチ141s若しくは中枠開放スイッチ145sからの検出信号の入力、または遊技機100の各構成の異常または各構成に対する不正が発生していると判定すると、発生したエラーに対応するエラーコマンドを送信バッファにセットする。また、メインCPU300aは、各始動入賞口および大入賞口の検出スイッチで不正な入賞や過度の入賞等のエラーが検出された場合、エラーが検出された入賞口の情報を含むエラーコマンドを送信バッファにセットする。また、メインCPU300aは、複数のエラーが発生していると判定した場合は、発生したエラーの数だけエラーコマンドをセットする。送信バッファにセットされたエラーコマンドは副制御基板330に送信される。副制御基板330は、エラーコマンドを受信すると音声出力装置206や演出表示装置200を用いたエラー報知を実行する。
メインCPU300aは、上記ステップS800で加算処理された各入賞口に対応する賞球計測カウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。払出制御管理処理においてメインCPU300aは、例外遊技発生フラグがオフ状態であって、例外遊技状態が発生していないと判定した場合には、払出コマンドの作成および送信を行う。一方、メインCPU300aは、例外遊技発生フラグがオン状態であって、例外遊技状態が発生していると判定した場合には、払出コマンドの作成および送信を行わない。これにより、遊技機100では、不正な入賞が行われるおそれがある、またはすでに不正な入賞が行われた可能性のある例外遊技状態において賞球の払出しを防止することができる。
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するための点灯制御データをコモン出力バッファにセットするLED表示設定処理を実行する。
メインCPU300aは、比率表示器300dを点灯制御するための比率LED表示設定処理を実行する。比率表示器300dには、上述した役物比率および連続役物比率が表示される。この比率LED表示設定処理の詳細は、後述する。
メインCPU300aは、普通電動役物ソレノイド122cおよび大入賞口ソレノイド128cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
メイン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は、大入賞口検出スイッチオン検出時であるか、すなわち、大入賞口128に遊技球が入球して大入賞口検出スイッチ128sから検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS500−9に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合にはステップS500−11に処理を移す。
メインCPU300aは、現在、大役遊技中であるか否かを判定し、大入賞口128への遊技球の入球が適正になされたものであるかを判定する。ここでは、大役遊技中ではないと判定した場合には、所定の不正検出処理を実行し、大役遊技中であり、大入賞口128への遊技球の入球が適正になされたと判定した場合には、大入賞口入賞球数カウンタを1加算して、ステップS500−11に処理を移す。
メインCPU300aは、一般入賞口検出スイッチオン検出時であるか、すなわち、一般入賞口118に遊技球が入球して一般入賞口検出スイッチ118sから検出信号が入力されたかを判定する。その結果、一般入賞口検出スイッチオン検出時であると判定した場合にはステップS540に処理を移し、一般入賞口検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理(ステップS500)を終了してタイマ割込み処理(ステップ400)に戻る。
メインCPU300aは、一般入賞口118への遊技球の入球に基づいて一般入賞口通過処理を実行する。なお、この一般入賞口通過処理の詳細については後述する。メインCPU300aは、一般入賞口通過処理を実行すると当該スイッチ管理処理(ステップS500)を終了してタイマ割込み処理(ステップ400)に戻る。
メイン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が通電されて第2始動口122の可動片122bが開状態に制御されることから、ここでは、第2始動口122が適正に開放され得る状態にあるかを判定することとなる。その結果、普通遊技管理フェーズが「04H」ではないと判定した場合には当該第2始動口通過処理を終了し、普通遊技管理フェーズが「04H」であると判定した場合にはステップS530−9に処理を移す。
メインCPU300aは、普通電動役物入賞球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該第2始動口通過処理を終了する。
ステップS540−1においてメインCPU300aは、一般入賞口118への遊技球の入球が検出されたことに基づいて、主制御基板300のメインRAM300cに設けられた期間入球数カウンタ(不図示)を1加算して、ステップS540−3の処理へ移る。主制御基板300には、上述のように例外遊技発生条件の1つ(第4発生条件)として、1分間における一般入賞口118への過度の入賞があるという条件が設定されている。このため、メインCPU300aは、所定期間(本実施形態では1分間)における一般入賞口118への入球数を期間入球数カウンタの加算によって計測している。一般入賞口118への入球数を計測する所定期間を入賞計数期間という。
ステップS540−3においてメインCPU300aは、入賞計数期間が満了しているか否かを判定する。入賞計数期間は、主制御基板300に設けられた入賞計数期間タイマ(不図示)によって計時されている。入賞計数期間タイマのカウンタ値には、初期値として1分間を計時するための値が設定されており、主制御基板300のタイマ割込み処理のステップS400−9においてタイマ割込み処理の度に減算される。入賞計数期間タイマは、遊技機100の電源投入時において入賞計数期間の計時が開始される。メインCPU300aは、入賞計数期間タイマのカウンタ値が0であって、入賞計数期間が満了していると判定すると、ステップS540−5へ処理を移す。一方、インCPU300aは、入賞計数期間タイマのカウンタ値が0でなく入賞計数期間が満了していないと判定すると、ステップS540−9へ処理を移す。
ステップS540−5においてメインCPU300aは、入賞計数期間が満了したことに基づいて、1分間あたりの一般入賞口118への入球数である一般期間入球数を期間入球数カウンタの現在値で更新する。一般期間入球数は、メインRAM300cの所定の記憶領域に記憶されている。これにより、一般期間入球数は入賞計数期間が満了するごとに最新1分間あたりの一般入賞口118への入球数に更新される。メインCPU300aは、一般期間入球数を更新すると、ステップS540−7の処理に移る。
ステップS540−7においてメインCPU300aは、入賞計数期間が満了したことに基づいて、期間入球数カウンタを0にリセットする。これにより、期間入球数カウンタでは、次の入賞計数期間における一般入賞口118への入球数の計測が可能となる。また、ここで、メインCPU300aは入賞計数期間タイマを初期値でリセットする。これにより、入賞計数期間タイマによる次の入賞計数期間の計時が可能となる。メインCPU300aは、期間入球数カウンタおよび入賞計数期間タイマをリセットすると、ステップS540−9へ処理を移す。
ステップS540−9においてメインCPU300aは、一般入賞口118に遊技球が入球したことに基づいて一般入賞総数カウンタ(不図示)を1加算する。主制御基板300では、例外遊技発生条件の1つ(第2発生条件)として、アウト球数が一般入賞口118への入賞の総数の2倍未満であるという条件が設定されている。このため、メインCPU300aは、一般入賞口118へ入球した遊技球の総数(一般入賞総数)を一般入賞総数カウンタの加算によって計測している。メインCPU300aは、一般入賞総数カウンタを加算すると、当該一般入賞口通過処理を終了して、スイッチ管理処理(ステップS500)へ処理を戻す。
メイン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は、特図保留記憶領域の記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
メインCPU300aは、上記ステップS535−5でロードした大当たり決定乱数、上記ステップS400−13で更新された当たり図柄乱数、上記ステップS100−43で更新されたリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を取得し、上記ステップS535−11で算定した対象記憶部に格納する。
メインCPU300aは、特図保留記憶領域に記憶されている特1保留および特2保留の入賞順序を更新して記憶する特別図柄保留球入賞順序設定処理を行う。
メインCPU300aは、上記ステップS535−13で対象記憶部に格納した各種の乱数に基づいて、取得時演出判定処理を実行する。この取得時演出判定処理については、図26および図27を用いて後述する。
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードする。
メインCPU300aは、上記ステップS535−17でロードしたカウンタ値に基づいて、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。これにより、特1保留または特2保留が記憶されるたびに、特1保留数および特2保留数が副制御基板330に伝達されることとなる。
メインCPU300aは、上記ステップS535−15で記憶した特1保留および特2保留の入賞順序に対応する特別図柄入賞順序コマンドを送信バッファにセットする。
メインCPU300aは、普通遊技管理フェーズをロードする。
メインCPU300aは、上記ステップS535−23でロードした普通遊技管理フェーズを確認し、後述する普通電動役物入賞口開放制御状態未満(普通遊技管理フェーズ<
04H)であるかを判定する。その結果、普通電動役物入賞口開放制御状態未満であると判定した場合にはステップS535−27に処理を移し、普通電動役物入賞口開放制御状態未満ではないと判定した場合には当該特別図柄乱数取得処理を終了する。
メインCPU300aは、異常入賞があったか否かを判定するとともに、異常入賞があったと判定した場合には、所定の処理を行う始動口異常入賞エラー処理を実行し、当該特別図柄乱数取得処理(ステップS535)を終了する。
メインCPU300aは、低確率遊技状態であるか高確率遊技状態であるかを識別する確率状態識別カウンタのカウンタ値、すなわち、現在、低確率遊技状態であるか高確率遊技状態であるかを確認する。
メインCPU300aは、確率状態識別カウンタのカウンタ値に基づいて、対応する大当たり決定乱数判定テーブルを選択する。具体的には、確率状態識別カウンタのカウンタ値が、低確率遊技状態を示す値であれば、低確時大当たり決定乱数判定テーブル(図6(a)参照)を選択し、高確率遊技状態を示す値であれば、高確時大当たり決定乱数判定テーブル(図6(b)参照)を選択する。そして、選択したテーブルと、上記ステップS535−13で対象記憶部に記憶した大当たり決定乱数とに基づいて、大当たりまたはハズレのいずれかを仮判定する特別図柄当たり仮判定処理を行う。
メインCPU300aは、特別図柄を仮決定するための特別図柄図柄仮判定処理を実行する。ここでは、上記ステップS536−3の仮判定処理の結果(特別図柄当たり仮判定処理によって導出された結果)が大当たりであった場合には、上記ステップS535−13で対象記憶部に記憶した当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブル(図5参照)を選択して特別図柄判定データを抽出する。また、上記ステップS536−3の仮判定処理の結果がハズレであった場合には、保留種別に対応するハズレ用の特別図柄判定データ(ハズレ図柄の種別)を抽出する。
メインCPU300aは、上記ステップS536−5で抽出した特別図柄判定データに対応する先読み指定図柄コマンドを送信バッファにセットする。これにより、対象記憶部に記憶された保留について、現在の遊技状態において読み出された場合に決定される特別図柄の種別が、当該保留の記憶時点で導出されることとなる。
メインCPU300aは、現在の遊技状態が時短遊技状態であるかを判定する。その結果、時短遊技状態であると判定した場合には図27のステップS536−31に処理を移し、時短遊技状態ではないと判定した場合にはステップS536−11に処理を移す。
メインCPU300aは、セットされた特別図柄識別値が「00H」であるか、すなわち、新たに対象記憶部に記憶された保留は特1保留であるかを判定する。その結果、特別図柄識別値が「00H」である(特1保留が記憶された)と判定した場合にはステップS536−13に処理を移し、特別図柄識別値は「00H」ではない(特2保留が記憶された)と判定した場合には当該取得時演出判定処理を終了する。
メインCPU300aは、上記ステップS536−3の特別図柄当たり仮判定処理によって導出された結果が、大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS536−19に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS536−15に処理を移す。
メインCPU300aは、予め設けられた取得時リーチ種別判定テーブルをセットし、上記ステップS535−13で対象記憶部に記憶したリーチグループ決定乱数の乱数範囲を判定する。詳しくは後述するが、ここでは、リーチグループ決定乱数が0〜8999であれば、新たに記憶した特1保留の乱数範囲が第1の範囲であると判定し、リーチグループ決定乱数が9000〜9799であれば、新たに記憶した特1保留の乱数範囲が第2の範囲であると判定し、リーチグループ決定乱数が9800〜10006であれば、新たに記憶した特1保留の乱数範囲が第3の範囲であると判定する。
メインCPU300aは、上記ステップS536−15の判定結果に対応する先読み指定リーチ種別コマンドを送信バッファにセットする。具体的には、上記ステップS536−15において、乱数範囲が第1の範囲であると判定した場合には、先読み指定リーチ種別コマンド=00Hをセットし、乱数範囲が第2の範囲であると判定した場合には、先読み指定リーチ種別コマンド=01Hをセットし、乱数範囲が第3の範囲であると判定した場合には、先読み指定リーチ種別コマンド=02Hをセットする。
メインCPU300aは、特1保留用の大当たり時リーチモード決定乱数判定テーブル(図9(b)参照)をセットする。なお、詳しい説明は省略するが、特1保留用の大当たり時リーチモード決定乱数判定テーブルは、変動状態ごとに、かつ、大当たり図柄ごとに設けられており、ここでは、現在の変動状態、および、上記ステップS536−5で導出された大当たり図柄の双方に対応する大当たり時リーチモード決定乱数判定テーブルがセットされる。
メインCPU300aは、上記ステップS536−19でセットしたリーチモード決定乱数判定テーブルと、上記ステップS535−13で対象記憶部に記憶したリーチモード決定乱数とに基づいて、変動モード番号を仮決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが仮決定される。
メインCPU300aは、上記ステップS536−21で仮決定した変動モード番号に対応する先読み指定変動モードコマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS536−21で仮決定した変動パターン乱数判定テーブルと、上記ステップS535−13で対象記憶部に記憶した変動パターン乱数とに基づいて、変動パターン番号を仮決定する。
メインCPU300aは、上記ステップS536−25で仮決定した変動パターン番号に対応する先読み指定変動パターンコマンドを送信バッファにセットし、当該取得時演出判定処理を終了する。
また、上記ステップS536−9において、現在の遊技状態が時短遊技状態であると判定した場合には、メインCPU300aは、図27に示すように、セットされた特別図柄識別値が「01H」であるか、すなわち、新たに対象記憶部に記憶された保留が特2保留であるかを判定する。その結果、特別図柄識別値が「01H」である(特2保留が記憶された)と判定した場合にはステップS536−33に処理を移し、特別図柄識別値は「01H」ではない(特1保留が記憶された)と判定した場合には当該取得時演出判定処理を終了する。
メインCPU300aは、現在の変動状態が通常2変動状態であるかを判定する。その結果、通常2変動状態であると判定した場合にはステップS536−35に処理を移し、通常2変動状態ではないと判定した場合にはステップS536−37に処理を移す。
メインCPU300aは、メインRAM300cに記憶されている、現在の変動状態を示す変動状態識別フラグを確認し、予定変動状態識別フラグをセットする。この予定変動状態識別フラグというのは、新たに記憶された特2保留が読み出されるときに設定されているであろう変動状態を示すものであり、ここでは、通常2変動状態に対応する予定変動状態識別フラグがセットされる。
メインCPU300aは、新たに記憶された特2保留が、特殊変動状態に設定されてから何回目の変動演出をもたらすものであるかを算出する。例えば、特2保留が1つも記憶されておらず、かつ、特殊変動状態に設定されてから3回目の変動演出が行われているときに特2保留が記憶された場合には、当該新たに記憶された特2保留によって4回目の変動演出がもたらされるため、この場合には、予定特殊変動回数として「4」が算出される。このように、メインCPU300aは、特殊変動状態に設定されてから実行された変動演出の回数、保留数、現在の特別図柄の変動表示の状況等を考慮したうえで、新たに記憶された特2保留が、特殊変動状態に設定されてから何回目の変動演出をもたらすものであるかを算出することとなる。
メインCPU300aは、上記ステップS536−37で算出された予定特殊変動回数に応じて、予定変動状態識別フラグをセットする。例えば、図14(c)、(d)を参照して説明すると、上記ステップS536−37において、予定特殊変動回数として「1」〜「4」、「6」〜「9」が算出された場合には、特殊B変動状態に対応する予定変動状態識別フラグがセットされ、予定特殊変動回数として「5」が算出された場合には、特殊C変動状態に対応する予定変動状態識別フラグがセットされ、予定特殊変動回数として「10」が算出された場合には、特殊D変動状態に対応する予定変動状態識別フラグがセットされる。なお、上記以外の予定特殊変動回数が算出された場合には、通常2変動状態に対応する予定変動状態識別フラグがセットされる。
メインCPU300aは、上記ステップS536−3の特別図柄当たり仮判定処理によって導出された結果が、大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS536−43に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS536−45に処理を移す。
メインCPU300aは、特2保留用の大当たり時リーチモード決定乱数判定テーブル(図9(c)参照)をセットし、上記ステップS536−21に処理を移す。なお、詳しい説明は省略するが、特2保留用の大当たり時リーチモード決定乱数判定テーブルは、変動状態ごとに、かつ、大当たり図柄ごとに設けられており、ここでは、上記ステップS536−35または上記ステップS536−39でセットされた予定変動状態識別フラグを参照し、当該予定変動状態識別フラグが示す変動状態、および、上記ステップS536−5で導出された大当たり図柄の双方に対応する大当たり時リーチモード決定乱数判定テーブルがセットされる。
メインCPU300aは、上記ステップS536−35または上記ステップS536−39でセットされた予定変動状態識別フラグが示す変動状態に対応するリーチグループ決定乱数判定テーブル(図6参照)をセットする。なお、リーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、ここでは、保留数が0のときに用いられるテーブルが選択される。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS535−13で対象記憶部に記憶したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を仮決定する。
メインCPU300aは、上記ステップS536−45で導出されたグループ種別が、保留数に応じて異なるグループ種別が決定されるものであるか否かを判定する。より詳細に説明すると、各変動状態に対応するリーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、各リーチグループ決定乱数判定テーブルにおいては、リーチグループ決定乱数の値が所定値以上である場合には、いずれのテーブルによっても同一のグループ種別が決定されるように置数が割り振られている。したがって、ここでは、リーチグループ決定乱数の値が所定値未満であれば、グループ種別が保留数で変化すると判定し、リーチグループ決定乱数の値が所定値以上であれば、グループ種別は保留数で変化しないと判定する。そして、グループ種別が保留数で変化すると判定した場合にはステップS536−49に処理を移し、グループ種別は保留数で変化しないと判定した場合にはステップS536−51に処理を移す。
メインCPU300aは、対象記憶部に新たに記憶された保留について、当該保留が読み出されたときの保留数に応じて、グループ種別、すなわち、変動演出パターンが変化することを示す不定値コマンドを先読み指定コマンドとして送信バッファにセットし、当該取得時演出判定処理を終了する。
メインCPU300aは、上記ステップS536−45で導出されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブル(図9(a)参照)をセットし、上記ステップS536−21に処理を移す。
メイン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は、第0記憶部に転送された大当たり決定乱数、保留種別、高確率遊技状態であるか低確率遊技状態であるかを識別する特別図柄確率状態フラグをロードし、対応する大当たり決定乱数判定テーブルを選択して大役抽選を行い、その抽選結果を記憶する特別図柄当たり判定処理を実行する。
メインCPU300aは、特別図柄を決定するための特別図柄判定処理を実行する。ここでは、上記ステップS610−9の大役抽選結果が大当たりであった場合には、第0記憶部に転送された当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS610−9の大役抽選結果がハズレであった場合には、保留種別に対応するハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。このようにして、特別図柄判定データをセーブしたら、当該特別図柄判定データに対応する図柄種別指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS610−11で抽出した特別図柄判定データに対応する特別図柄停止図柄番号をセーブする。なお、第1特別図柄表示器160および第2特別図柄表示器162は、それぞれ7セグで構成されており、7セグを構成する各セグメントには番号(カウンタ値)が対応付けられている。ここで決定する特別図柄停止図柄番号は、最終的に点灯するセグメントの番号(カウンタ値)を示すものである。
メインCPU300aは、変動モード番号および変動パターン番号を決定する特別図柄変動番号決定処理を実行する。この特別図柄変動番号決定処理の詳細は後述する。
メインCPU300aは、上記ステップS611で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間1および変動時間2を決定する。そして、決定した変動時間1、2の合計時間を、特別図柄変動タイマにセットする。
メインCPU300aは、上記ステップS610−9における大役抽選結果が大当たりであるか否かを判定し、大当たりであった場合には、上記ステップS610−11でセーブした特別図柄判定データをロードして、大当たり図柄の種別を確認する。そして、遊技状態設定テーブルを参照して、大役遊技終了後に設定される遊技状態および高確回数を判定し、その判定結果を特別図柄確率状態予備フラグおよび高確回数切り予備カウンタにセーブする。また、ここでは、大当たり当選時に設定されている遊技状態が記憶される。
メイン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は、メインRAM300cにセットされている変動状態識別フラグをロードする。
メインCPU300aは、上記ステップS611−1でロードした変動状態識別フラグを確認し、現在の変動状態が、通常1変動状態もしくは通常2変動状態(以下、通常1変動状態および通常2変動状態のいずれかを示す場合に、単に「通常変動状態」という場合がある)であるかを判定する。その結果、現在の変動状態が通常変動状態であると判定した場合にはステップS611−9に処理を移し、現在の変動状態は通常変動状態ではないと判定した場合にはステップS611−5に処理を移す。
メインCPU300aは、特殊変動状態において特別図柄の変動表示が何回行われたかを示す特殊変動回数カウンタの現在のカウンタ値(TC)に「1」加算した値を、新たなカウンタ値(TC)として記憶する。
メインCPU300aは、上記ステップS611−5で更新された特殊変動回数カウンタのカウンタ値(TC)と、現在設定されている変動状態識別フラグとに基づいて、変動状態識別フラグを更新する処理を行う。例えば、図14を参照して説明すると、特殊B変動状態であることを示す変動状態識別フラグがセットされており、特殊変動回数カウンタのカウンタ値(TC)が、上記ステップS611−5において「5」に更新されたとする。この場合には、特殊C変動状態であることを示す変動状態識別フラグをセットする。これにより、特殊変動期間中は、予め設定された特別図柄の変動表示の回数のとおりに、変動状態が切り替わることとなる。
メインCPU300aは、上記ステップS610−9における大役抽選結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS611−11に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS611−13に処理を移す。
メインCPU300aは、現在の変動状態、大当たり図柄の種別、保留種別に対応する大当たり時リーチモード決定乱数判定テーブルをセットする。
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
メインCPU300aは、現在の変動状態、上記ステップS611−13で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
メインCPU300aは、上記ステップS611−15で決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルをセットする。
メインCPU300aは、上記ステップS611−11または上記ステップS611−17でセットしたリーチモード決定乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
メインCPU300aは、上記ステップS611−19で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS611−19で決定した変動パターン乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
メインCPU300aは、上記ステップS611−23で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
メイン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−17に処理を移し、大当たりではないと判定した場合にはステップS630−7に処理を移す。
メインCPU300aは、回数切り管理処理を実行する。ここでは、特別図柄確率状態フラグをロードして、現在の遊技状態が低確率遊技状態であるか高確率遊技状態であるかを確認する。そして、遊技状態が高確率遊技状態であった場合には、高確回数切りカウンタのカウンタ値を、現在のカウンタ値から「1」減算した値に更新する。なお、高確回数切りカウンタを更新した結果、カウンタ値が「0」になった場合には、低確率遊技状態に対応する特別図柄確率状態フラグをセットする。これにより、高確率遊技状態において、大当たりに当選することなく、特別図柄が所定回数確定したところで、遊技状態が低確率遊技状態に移行することとなる。
メインCPU300aは、変動状態更新処理を実行する。ここでは、変動状態識別フラグを確認し、現在、特殊変動期間中であるかを判定する。そして、特殊変動期間中であると判定した場合には、特殊変動回数カウンタのカウンタ値(TC)を確認し、特殊変動状態から通常変動状態に切り替えるか否かを判定する。その結果、通常変動状態に切り替えると判定した場合、すなわち、特殊変動状態における最後の特別図柄の変動表示が終了したと判定した場合には、変動状態識別フラグを通常変動状態用のフラグに更新する。
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS630−7で更新した高確回数および時短回数を副制御基板330に伝達するための回数コマンドを送信バッファにセットする。
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、1の保留に基づく特別遊技管理処理が終了し、特1保留または特2保留が記憶されている場合には、次の保留に基づく特別図柄の変動表示を開始するための処理が行われることとなる。
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630−17でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
メインCPU300aは、上記ステップS630−17でセットしたデータを参照し、特別遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
メインCPU300aは、大役遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。
メインCPU300aは、特別遊技管理フェーズを「03H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、大役遊技が開始されることとなる。
メインCPU300aは、上記ステップS630−21でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS640−3に処理を移す。
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
メインCPU300aは、大入賞口128の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
メインCPU300aは、特別遊技管理フェーズを「04H」に更新し、当該大入賞口開放前処理を終了する。
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における大入賞口128の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS641−3に処理を移す。
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、大入賞口ソレノイド128cを通電制御するためのソレノイド制御データ、および、大入賞口ソレノイド128cの通電時間もしくは通電停止時間であるタイマデータを抽出する。
メインCPU300aは、上記ステップS641−3で抽出したソレノイド制御データに基づいて、大入賞口ソレノイド128cの通電を開始するか、もしくは、大入賞口ソレノイド128cの通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400−25およびステップS400−27において、大入賞口ソレノイド128cの通電開始もしくは通電停止の制御がなされることとなる。
メインCPU300aは、上記ステップS641−3で抽出したタイマデータに基づくタイマ値を、特別遊技タイマにセーブする。なお、ここで特別遊技タイマにセーブされるタイマ値は、大入賞口128の1回の最大開放時間となる。
メインCPU300aは、大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS641−5において、大入賞口ソレノイド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で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、大入賞口128に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS650−7に処理を移す。
メインCPU300aは、大入賞口ソレノイド128cの通電を停止して大入賞口128を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、大入賞口128が閉鎖状態となる。
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別遊技タイマにセーブする。
メインCPU300aは、特別遊技管理フェーズを「05H」に更新する。
メインCPU300aは、大入賞口128が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
メインCPU300aは、上記ステップS650−9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口閉鎖有効処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS660−3に処理を移す。
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致するか、すなわち、予め設定された回数のラウンド遊技が終了したかを判定する。その結果、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致すると判定した場合にはステップS660−9に処理を移し、一致しないと判定した場合にはステップS660−5に処理を移す。
メインCPU300aは、特別遊技管理フェーズを「03H」に更新する。
メインCPU300aは、所定の大入賞口閉鎖時間を特別遊技タイマにセーブし、当該大入賞口閉鎖有効処理を終了する。これにより、次のラウンド遊技が開始されることとなる。
メインCPU300aは、エンディング時間を特別遊技タイマにセーブするエンディング時間設定処理を実行する。
メインCPU300aは、特別遊技管理フェーズを「06H」に更新する。
メインCPU300aは、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
メインCPU300aは、上記ステップS660−9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS670−3に処理を移す。
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、上記ステップS610−17でセーブした特別図柄確率状態予備フラグおよび高確回数切り予備カウンタをロードして、状態データをセーブする。また、ここでは、特別図柄(大当たり図柄)の種別に応じて、普通図柄時短状態フラグおよび時短回数切りカウンタに所定の状態データをセーブする。さらに、ここでは、大役遊技の実行契機となった大当たり図柄と、大役遊技の実行前の遊技状態(大当たり当選時の遊技状態)とに基づいて、大役遊技の終了後の変動状態を設定すべく、変動状態識別フラグをセットする処理が行われる。また、変動状態が特殊変動状態に設定された場合には、以後、特殊変動状態がどのように切り替わるのかにかかる情報が同時に記憶され、以後、ここで記憶された情報に基づいて、変動状態の切り替え処理がなされることとなる。
メインCPU300aは、大役遊技の終了後に設定される遊技状態を伝達するための遊技状態変化指定コマンドを送信バッファにセットする。
メインCPU300aは、上記ステップS670−3でセーブした高確回数および時短回数に対応する回数コマンドを送信バッファにセットする。
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、特別図柄の変動表示が再開されることとなる。
本実施形態による遊技機100では、上述のように比率表示器300dにおいて役物比率および連続役物比率が表示される。以下、賞球数に関する情報から役物比率および連続役物比率を算出し、比率表示器300dに表示するまでの処理の流れの一例を、図39から図47を用いて説明する。
まず、図39を用いて、役物比率および連続役物比率の算出に用いられる賞球数に関する情報(賞球情報)について説明する。図39は、メインRAM300cに確保されている賞球情報のための記憶領域(賞球情報バッファ、10セット累計バッファおよび総累計バッファ)の概略構成の一例を示す図である。
本実施形態による遊技機100では、賞球数合計が6000個を超過するごとを1単位(1セット)として、入賞口ごとの賞球数および払い出された賞球数の合計(賞球数合計)の情報である賞球情報が最大で10セット分記憶される。このため、メインRAM300cには、図39に示すように領域A1から領域A10までの10個の記憶領域を有する賞球情報バッファが確保されている。賞球情報バッファの領域A1から領域A10にそれぞれ1セット分(賞球数合計6000個超分)の賞球情報が記憶されるので、賞球情報バッファは、最大で合計10セット分(賞球数合計60000個超分)の賞球情報を記憶できる。
次に、図39に示す10セット累計バッファについて説明する。図39に示すように、メインRAM300cには、賞球情報バッファに記憶されている最新10セット分(賞球数合計60000個分)の賞球情報を累計した情報を記憶する記憶領域として、10セット累計バッファが確保されている。10セット累計バッファは、賞球情報バッファの領域A1からA10の各領域のように5つの要素(要素e11から要素e15)で形成された配列構造となっている。10セット累計バッファの各要素は3バイトの記憶容量を有している。このため、10セット累計バッファは少なくとも15バイトの記憶容量を有している。
次に、総累計バッファについて説明する。図39に示すように、メインRAM300cには、遊技機100の稼働後における賞球情報を累計した情報を記憶するための記憶領域として総累計バッファが確保されている。総累計バッファも、賞球情報バッファの領域A1からA10の各領域と同様に5つの要素(要素e101から要素e105)で形成された配列構造を有している。総累計バッファの各要素は3バイトの記憶容量を有している。このため、総累計バッファは少なくとも15バイトの記憶容量を有している。
次に、図39を参照しつつ、図40を用いて1セット計測バッファについて説明する。図40は、メインRAM300cに確保されている1セット計測バッファの概略構成の一例を示す図である。図40に示すように、メインRAM300cには、1セット分(賞球6000個超分)の賞球情報を計測するために一時的に賞球情報を記憶する記憶領域として1セット累計バッファが確保されている。1セット計測バッファも、賞球情報バッファの領域A1からA10の各領域と同様に2バイトの記憶容量を有する5つの要素(要素ce1から要素ce5)で形成された配列構造を有している。このため、1セット計測バッファは少なくとも10バイトの記憶容量を有している。
入賞のあった入賞口に応じた賞球数が加算される。遊技機100では、1セット計測バッファの各要素への賞球数の加算は、払い出される賞球数を計測する処理である賞球数計測処理において行われる。
ここで、図40を参照しつつ、図41を用いて主制御基板300における賞球数計測処理について説明する。図41は、主制御基板300において実行される賞球数計測処理の流れの一例を示すフローチャートである。賞球数計測処理では、入賞検出スイッチの何れかが各入賞口(一般入賞口118、第1始動口120、第2始動口122および大入賞口)への遊技球の入球を検出したことに基づいて、賞球数の加算処理が行われる。賞球数計測処理は、図19を用いて説明したタイマ割込み処理の1ステップ(ステップS850)である。したがって、タイマ割込み処理が実行されるごとに、賞球数計測処理も実行される。
ステップS800−1においてメインCPU300aは、例外遊技発生フラグがオフ状態か否かを判定する。メインCPU300aは、例外遊技発生フラグがオフ状態であって、例外遊技状態が発生していないと判定するとステップS800−3へ処理を移す。一方、メインCPU300aは、例外遊技発生フラグがオン状態であって、例外遊技状態が発生していると判定するとステップS800−3以降の処理を実行せずに賞球数計測処理を終了してタイマ割込み処理(ステップS400)へ処理を戻す。このように、本実施形態による遊技機100は、例外遊技状態が発生してない場合には各入賞検出スイッチの何れかが遊技球の入球を検出したことに伴い賞球数を賞球計測カウンタや1セット計測バッファに加算する加算処理を行い、例外遊技状態が発生している場合には当該加算処理を行わない、すなわち加算処理を無効化するように構成されている。ただし、加算処理の無効化は加算処理を行わないことに限られない。例えば、例外遊技状態が発生している場合には、常に賞球数を0個として当該加算処理を実行するようにしてもよい。
ステップS800−3においてメインCPU300aは、入賞検出スイッチオンを検出しているか否か、すなわち各入賞検出スイッチの少なくとも1つが遊技球の入球を検出しているか否かを判定する。メインCPU300aは、入賞検出スイッチオンを検出していると判定するとステップS800−5に処理を移す。一方、メインCPU300aは、いずれの入賞検出スイッチオンも検出していないと判定するとステップS800−5以降の処理を実行せずに賞球数計測処理を終了してタイマ割込み処理へ処理を戻す。
ステップS800−5においてメインCPU300aは、入賞検出スイッチオンが検出された入賞口に対応する賞球計測カウンタのカウンタ値を加算して、ステップS800−7へ処理を移す。図示は省略するが、主制御基板300のメインRAM300cには、一般入賞口118に対応する賞球計測カウンタである一般賞球計測カウンタ、第1始動口120に対応する第1始動賞球計測カウンタ、第2始動口122に対応する第2始動賞球計測カウンタおよび大入賞口に対応する大入賞口賞球計測カウンタが設けられている。具体的にステップS800−5においてメインCPU300aは、入賞検出スイッチオンが検出された入賞口に対応する賞球計測カウンタのカウンタ値に遊技球1個の入賞に基づく賞球数の分を加算する。この賞球計測カウンタは、ステップS400−19の払出制御管理処理において、払出コマンドの作成に用いられる。
ステップS800−7においてメインCPU300aは、図40に示す1セット計測バッファを更新する。具体的には、メインCPU300aは、ステップS800−5で加算された賞球計測カウンタのカウンタ値を1セット計測バッファの要素ce1から要素ce4に記憶されている各入賞口ごとの賞球数を示す数値および要素ce5に記憶されている賞球数合計を示す数値に加算して更新する。例えば、ステップS800−5で加算された賞球計測カウンタのカウンタが一般賞球計測カウンタと第1始動賞球計測カウンタであるとする。この場合、メインCPU300aは、1セット計測バッファの要素ce1に記憶されている一般入賞口118の賞球数を示す値を4加算し、要素ce2に記憶されている第1始動口120の賞球数を示す数値を1加算する。その後、要素ce5に記憶されている賞球数合計を示す数値を、加算処理後の要素ce1から要素ce4に記憶されている賞球数の合計で上書きする。メインCPU300aは、1セット計測バッファの各要素の値を更新すると、ステップS800−9へ処理を移す。
ステップS800−9においてメインCPU300aは、1セット計測バッファの要素ce5に記憶されている数値(賞球数合計)が6000を超過しているか否かを判定する。メインCPU300aは、1セット計測バッファに記憶されている賞球数合計が6000を超過(6001以上)しており、1セット計測バッファに記憶されている賞球情報が1セット分に到達していると判定すると、ステップS800−11へ処理を移す。一方、メインCPU300aは、1セット計測バッファに記憶されている賞球数合計が6000を超過しておらず(6000以下)、1セット計測バッファに記憶されている賞球情報が賞球情報バッファに記憶するための1セット分に到達していないと判定すると、ステップS800−11の処理を実行せずにタイマ割込み処理(ステップS400)へ処理を戻す。
ステップS800−11においてメインCPU300aは、賞球情報バッファ更新フラグをオン状態に設定して、賞球数計測処理を終了しタイマ割込み処理に処理を戻す。賞球情報バッファ更新フラグは、賞球情報バッファを更新するか否かを示すフラグであり、メインRAM300cの所定の記憶領域に記憶されている。
ここで、図39を参照しながら賞球情報バッファの更新処理の概要を説明する。賞球情報バッファは、データ構造としてキュー構造(FIFO:First In First Out)が用いられており、領域A1から領域A10の全ての領域に賞球情報が記憶された後に新たな1セット分の賞球情報を追加する際には、最も古い賞球情報が取り出されて(削除されて)、そこに新たな賞球情報が記憶される。すなわち、最も古い賞球情報にあらたな賞球情報を上書きしていく。本例の賞球情報バッファは、このようなキュー構造を、先頭(最も古い)データと最後尾(最新)のデータを論理的に繋げたリングバッファとして実装されている。
次に、主制御基板300が行う賞球情報バッファ等を更新するための賞球情報管理処理の流れの一例を、図39および図40を参照しつつ、図42を用いて説明する。図42は、主制御基板300における賞球情報管理処理の流れの一例を示すフローチャートである。賞球情報管理処理は、図19を用いて説明したタイマ割込み処理の1ステップ(ステップS850)である。したがって、タイマ割込み処理が実行されるごとに、賞球情報管理処理も実行される。
ステップS850−1においてメインCPU300aは、賞球情報バッファ更新フラグがオン状態か否かを判定する。メインCPU300aは、賞球情報バッファ更新フラグがオン状態であって賞球情報バッファを更新するタイミングであると判定すると、ステップS850−3へ処理を移す。一方、メインCPU300aは、賞球情報バッファ更新フラグがオン状態でなく賞球情報バッファを更新するタイミングでないと判定すると、ステップS850−3以降の処理を実行せずに賞球情報管理処理を終了してタイマ割込み処理(図19参照)に処理を戻す。
ステップS850−3においてメインCPU300aは、メインRAM300cに記憶されている変数hの値に該当する賞球情報バッファの領域に、新たな賞球情報すなわち1セット計測バッファに記憶されている賞球情報を上書きする。例えば、変数hの値が「8」である場合は、メインCPU300aは、賞球情報バッファの領域A8に新たな賞球情報を上書きする。より具体的には、メインCPU300aは、1セット計測バッファの要素ce1に記憶されている一般入賞口118の賞球数を示す数値を領域A8の要素e1に上書きし、1セット計測バッファの要素ce2に記憶されている第1始動口120の賞球を示す数値を領域A8の要素e2に上書きし、1セット計測バッファの要素ce2に記憶されている第2始動口122の賞球数を示す数値を領域A8の要素e3に上書きし、1セット計測バッファの要素ce4に記憶されている大入賞口128の賞球数を示す数値を領域A8の要素e4に上書きし、1セット計測バッファの要素ce5に記憶されている賞球数合計を示す数値を領域A8の要素e5に上書きする。
ステップS850−5においてメインCPU300aは、賞球情報バッファの最新(最後尾)の賞球情報が記憶された領域を示す変数tの値を1加算してステップS850−7に処理を移す。例えば、賞球情報バッファの最新の賞球情報が記憶された領域を示す変数tが「7」であるときに、ステップS850−3において変数hが「8」であることに基づいて領域A8に新たな賞球情報が記憶されたとする。このとき、メインCPU300aが変数tに1加算することで変数tが「7」から「8」に更新され、変数tの値と最新の賞球情報が記憶された領域とが一致する。
ステップS850−7においてメインCPU300aは、ステップS850−5で加算した変数tの値が「10」を超過しているか否かを判定する。メインCPU300aは、変数tの値が「10」を超過していると判定すると、ステップS850−9へ処理を移す。一方、メインCPU300aは、ステップS850−5で加算した変数tの値が「10」を超えていないと判定するとステップS850−11へ処理を移す。
ステップS850−9においてメインCPU300aは、ステップS850−7において変数tの値が「10」を超過していると判定されたことに基づいて、変数tの値に「1」を代入してステップS850−11へ処理を移す。ステップS850−5で1加算した変数tの値が10を超過しているということは、最新の賞球数情報が賞球数バッファの先頭の領域である領域A1に記憶されていることを示す。したがって、メインCPU300aは、変数tの値に「1」を代入する。
ステップS850−11においてメインCPU300aは、変数tの値が「10」であるか否かを判定する。メインCPU300aは、変数tの値が「10」であると判定すると、ステップS850−13へ処理を移す。一方、メインCPU300aは、変数tの値が「10」でないと判定すると、ステップS850−15へ処理を移す。
ステップS850−13においてメインCPU300aは、変数tの値が「10」であることに基づいて、新たな賞球情報の記憶先の領域を示す変数hの値に、賞球数バッファの先頭の領域である領域A1を示す「1」を代入して、ステップS850−17に処理を移す。
ステップS850−15においてメインCPU300aは、変数hの値を1加算してステップS850−17に処理を移す。ステップS850−3からステップS850−15の処理を行うことで、本実施形態における賞球情報バッファは、最も古い賞球情報を最新の賞球情報で上書きして最新10セット分の賞球情報を記憶し、先頭データと最後尾データとが論理的に繋がっているリングバッファとして機能する。
ステップS850−17においてメインCPU300aは、現時点での賞球情報バッファの領域A1から領域A10の賞球情報の累計で10セット累計バッファを上書き更新して、ステップS850−19へ処理を移す。より具体的には、メインCPU300aは、領域A1から領域A10における要素e1の値(一般入賞口118の賞球数を示す数値)の累計で10セット累計バッファの要素e11を更新し、領域A1から領域A10における要素e2(第1始動口120の賞球数を示す数値)の累計で10セット累計バッファの要素e12を更新し、領域A1から領域A10における要素e3(第2始動口122の賞球数を示す数値)の累計で10セット累計バッファの要素e13を更新し、領域A1から領域A10における要素e4(大入賞口128の賞球数を示す数値)の累計で10セット累計バッファの要素e14を更新し、領域A1から領域A10における要素e5(賞球数合計を示す数値)の累計で10セット累計バッファの要素e15を更新する。これにより、賞球情報バッファの各要素に記憶されている最新10セット分の賞球情報の累計で、10セット累計バッファの各要素の値が更新される。また、賞球情報バッファに記憶されている賞球情報の数が10個に満たない場合、すなわち10セット分に到達せず賞球情報バッファに空き容量がある場合も、メインCPU300aは、賞球情報バッファに記憶されている賞球情報分の各賞球数の累計で10セット累計バッファの各要素の内容を更新する。
ステップS850−19においてメインCPU300aは、1セット計測バッファの要素ce1から要素ce5に記憶された賞球情報の値を総累計バッファの要素e101から要素ce105に記憶されている値に加算して更新し、ステップS850−21へ処理を移す。これにより、新たな1セット分の賞球情報が総累計バッファの各要素の値に累計されるので、総累計バッファの各要素には遊技機100の稼働後からの賞球情報が累計されることとなる。
ステップS850−21においてメインCPU300aは、1セット計測バッファの賞球情報をクリアして賞球情報管理処理を終了し、タイマ割込み処理に処理を戻す。より具体的には、メインCPU300aは、1セット計測バッファの各要素に記憶されている値を削除する。これにより、メインCPU300aは、次の賞球数計測処理から新たな1セット分の賞球情報の計測を開始できる。
次に、賞球情報管理処理において更新された10セット累計バッファおよび総累計バッファに記憶されている賞球情報に基づいて役物比率および連続役物比率を算出するための比率算出処理について図39を参照しつつ図43および図44を用いて説明する。
ステップS900−1においてメインCPU300aは、賞球情報バッファ更新フラグがオン状態か否かを判定する。メインCPU300aは、賞球情報バッファ更新フラグがオン状態であって賞球情報バッファを更新するタイミングであると判定すると、ステップS900−3へ処理を移す。一方、メインCPU300aは、賞球情報バッファ更新フラグがオン状態でなく賞球情報バッファを更新するタイミングでないと判定すると、ステップS900−3以降の処理を実行せずに比率算出処理を終了してタイマ割込み処理(図19参照)に処理を戻す。役物比率および連続役物比率の算出には10セット累計バッファと総累計バッファとに記憶されている賞球情報を用いるため、賞球情報バッファの更新タイミングが役物比率および連続役物比率の算出タイミングとなる。
ステップS900−3においてメインCPU300aは、賞球情報バッファに10セット分の賞球情報が記憶されているか否かを判定する。賞球情報バッファに10セット分の賞球情報が記憶されていることは、10セット累計バッファに10セット分(賞球数合計60,000個超分)の賞球情報が累計されていることを示す。メインCPU300aは、賞球情報バッファに10セット分の賞球情報が記憶されており、10セット累計バッファに累計されている遊技情報が10セット分に達していると判定すると、ステップS900−5へ処理を移す。一方、メインCPU300aは、賞球情報バッファに記憶されている遊技情報が10セット分未満であって、10セット累計バッファに累計されている遊技情報が10セット分に満たないと判定すると、ステップS900−9へ処理を移す。このように、本実施形態による遊技機100では、10セット累計バッファに累計されている遊技情報が10セット分に到達している場合は、10セット累計役物比率および10セット累計連続役物比率の算出を行う。一方、10セット累計バッファに累計されている遊技情報が10セット分に到達していない間は、10セット累計役物比率および10セット累計連続役物比率の算出を行わない。
ステップS900−5においてメインCPU300aは、10セット累計バッファに累計されている遊技情報に基づいて、10セット累計連続役物比率を算出する。10セット累計連続役物比率は、「大入賞口入賞数の10セット累計÷賞球数合計の10セット累計」によって算出される。具体的には、10セット累計役物比率は、図39に示す10セット累計バッファの「要素e14に記憶されている値÷要素e15に記憶されている値」によって算出される。10セット累計連続役物比率は、比率表示器300dにおいてパーセント(%)表示される。したがって、メインCPU300aは、算出された値を小数点切り捨ての上100を乗算した値を10セット累計連続役物比率として図44に示す10セット累計比率バッファに記憶する。
図43に戻って、ステップS900−7においてメインCPU300aは、10セット累計バッファに累計されている遊技情報に基づいて、10セット累計役物比率を算出する。10セット累計役物比率は、「(第2始動口入賞数の10セット累計+大入賞口入賞数の10セット累計)÷賞球数合計の10セット累計」によって算出される。具体的には、10セット累計役物比率は、図39に示す10セット累計バッファの「(要素e13に記憶されている値+要素e14に記憶されている値)÷要素e15に記憶されている値」によって算出される。10セット累計役物比率は、比率表示器300dにおいてパーセント(%)表示される。したがって、メインCPU300aは、算出された値を小数点切り捨ての上100を乗算した値を10セット累計役物比率として図44に示す10セット累計比率バッファの領域ry2に記憶する。メインCPU300aは、10セット累計比率バッファの領域ry2に10セット累計役物比率を記憶すると、ステップS900−9へ処理を移す。
図43に戻って、ステップS900−9においてメインCPU300aは、総累計バッファに累計されている遊技情報に基づいて、総累計連続役物比率を算出する。総累計連続役物比率は、「大入賞口入賞数の総累計÷賞球数合計の総累計」によって算出される。具体的には、総累計役物比率は、図39に示す総累計バッファの「要素e104の値÷要素e105の値」によって算出される。総累計連続役物比率は、比率表示器300dにおいてパーセント(%)表示される。したがって、メインCPU300aは、算出された値をから小数点を切り捨ての上100を乗算した値を総累計連続役物比率として図44に示す総累計比率バッファに記憶する。
図43に戻って、ステップS900−11においてメインCPU300aは、総累計バッファに累計されている遊技情報に基づいて、総累計役物比率を算出する。総累計役物比率は、「(第2始動口入賞数の総累計+大入賞口入賞数の総累計)÷賞球数合計の総累計」によって算出される。具体的には、総累計役物比率は、図39に示す総累計バッファの「(要素e103の値+要素e104の値÷要素e105の値」によって算出される。総累計役物比率は、比率表示器300dにおいてパーセント(%)表示される。したがって、メインCPU300aは、算出された値を小数点を切り捨ての上100を乗算した値を総累計役物比率として図44に示す総累計比率バッファの領域ra2に記憶すると、ステップS900−11へ処理を移す。
ステップS900−13においてメインCPU300aは、賞球情報バッファ更新フラグをオフ状態に設定して、比率算出処理を終了しタイマ割込み処理に処理を戻す。
次に、比率算出処理で算出された連続役物比率および役物比率を比率表示器300dに表示するための点灯制御処理の一例について図45から図47を用いて説明する。図45は、比率表示器300dに表示する内容の一例を一覧形式で説明する図である。また、図46は、比率表示器300dでの表示内容を設定するための比率LED表示設定処理の流れの一例を示すフローチャートである。また、図47は、比率表示器300dにおける比率表示器300dの点灯態様を制御するための比率LED点灯態様制御処理の一例を示すフローチャートである。
まず、図45を用いて比率表示器300dに表示する内容の一例を説明する。図45に示す一覧の最上段は、左から順に「表示順」、「分類」「表示内容」、「セグ上位2桁」、「セグ下位桁」の5つの項目に区分されている。図45中に示す「表示順」は、比率表示器300dに表示する内容の表示順を示している。「表示順」の欄には上から順に1から4までの数値が記載されている。本実施形態における遊技機100では、電源投入されると所定時間ごと(例えば、2秒間ごと)に、比率表示器300dにおいて役物比率および連続役物比率に関する情報が順次切替えて表示される。したがって、「表示順」の欄には、比率表示器300dに順次表示される役物比率および連続役物比率の表示順が示ている。
次に、図46を用いて主制御基板300における比率LED表示設定処理の流れの一例を説明する。比率LED表示設定処理は、図19を用いて説明したタイマ割込み処理の1ステップ(ステップS950)である。したがって、タイマ割込み処理が実行されるごとに、比率LED表示設定処理も実行される。
ステップS950−1においてメインCPU300aは、現時点が比率表示器300dの表示更新タイミングであるか否かを判定する。表示更新タイミングの間隔は主制御基板300に設けられた比率表示更新タイマ(不図示)によって計時されている。本実施形態による遊技機100では、比率表示器300dの表示内容は、例えば2秒間隔で更新される。このため、比率表示更新タイマのカウンタ値には、初期値として2秒間を計時するためのカウンタ値が設定されており、主制御基板300のタイマ割込み処理のステップS400−9においてタイマ割込み処理の度に減算される。また、比率表示更新タイマは、遊技機100の電源投入後から計時が開始されている。メインCPU300aは、比率表示更新タイマのカウンタ値が0であって、表示更新タイミングであると判定すると、比率表示更新タイマのカウンタ値をリセット(カウンタ値の再設定)してステップS950−3へ処理を移す。一方、インCPU300aは、比率表示更新タイマのカウンタ値が0でなく表示更新タイミングでないと判定すると、ステップS951へ処理を移す。
ステップS950−3においてメインCPU300aは、上2桁点滅フラグおよび下2桁点滅フラグをオフ状態に設定し、ステップS950−5へ処理を移す。上2桁点滅フラグは、比率表示器300dの4つの表示領域のうち上2桁の点滅表示(消灯と点灯を繰り返す表示)を行うか否かを示すフラグである。上2桁点滅フラグがオン状態であることは、比率表示器300dの4つの表示領域のうち上2桁の点滅表示を行うことを示し、オフ状態であることは、上2桁の点滅表示を行わないことを示す。また、下2桁点滅フラグは、比率表示器300dの4つの表示領域のうち下2桁の点滅表示を行うか否かを示すフラグである。下2桁点滅フラグがオン状態であることは、比率表示器300dの4つの表示領域のうち下2桁の点滅表示を行うことを示し、オフ状態であることは、下2桁の点滅表示を行わないことを示す。これらのフラグはメインRAM300cの所定の領域に記憶されている。
ステップS950−5においてメインCPU300aは、比率表示順カウンタのカウンタ値に応じた比率情報を取得する。図示は省略するが、主制御基板300のメインRAM300cには比率表示順カウンタが設けられている。比率表示順カウンタは、図45に示す「表示順」を1から4まで順次カウントするために用いられる。メインCPU300aは、現時点における比率表示順カウンタのカウンタ値(表示順)を確認し、表示順に対応する連続役物比率または役物比率を10セット累計比率バッファまたは総累計比率バッファから取得する。例えば、比率表示順カウンタのカウンタ値が「1」であるときは、図45に示す表示順「1」に対応して比率表示器300dに表示される10セット累計連続役物比率を10セット累計比率バッファの領域ry1から取得する。メインCPU300aは、取得した比率情報を、表示対象比率情報としてメインRAM300cの所定領域に記憶する。
ステップS950−7においてメインCPU300aは、現時点が連続役物比率の表示タイミングであるか否かを判定する。メインCPU300aは、現在の比率表示順カウンタのカウンタ値が「1」または「3」であって、連続役物比率の表示タイミングであると判定すると、ステップS950−9へ処理を移す。一方、メインCPU300aは、現在の比率表示順カウンタのカウンタ値が「2」または「4」であって、役物比率の表示タイミングであると判定すると、ステップS950−11へ処理を移す。
ステップS950−9においてメインCPU300aは、メインRAM300cの所定領域に表示対象比率情報として記憶されている連続役物比率の値が「60」を超えているか否かを判定する。メインCPU300aは、表示対象比率情報の値が「60」を超過している、すなわち連続役物比率が6割超えていると判定すると、ステップS950−13へ処理を移す。一方、メインCPU300aは、表示対象比率情報の値が「60」を超過していない、すなわち連続役物比率が6割超えていないと判定するとステップS950−15へ処理を移す。
ステップS950−11においてメインCPU300aは、ステップS950−5においてメインRAM300cの所定領域表示対象比率情報として記憶された役物比率の値が「70」を超えているか否かを判定する。メインCPU300aは、表示対象比率情報の値が「70」を超過している、すなわち連続役物比率が7割超えていると判定すると、ステップS950−13へ処理を移す。一方、メインCPU300aは、表示対象比率情報の値が「70」を超過していない、すなわち連続役物比率が7割超えていないと判定するとステップS950−15へ処理を移す。
ステップS950−13においてメインCPU300aは、ステップS950−9において連続役物比率が6割を超えていると判定されたこと、またはステップS950−11において役物比率が7割を超えていると判定されたことに基づいて、下2桁点滅フラグをオン状態に設定してステップS950−15へ処理を移す。下2桁点滅フラグをオン状態にすることで、比率表示器300dの下2桁が点滅表示されて連続役物比率または役物比率が遊技機規則の定める割合を超過していることが報知される。これにより、比率表示器300dを確認する者は、連続役物比率や役物比率が遊技規則の定める割合を超過していることを容易に認識することができる。
ステップS950−15においてメインCPU300aは、ステップS950−15において図45中に示す「分類」が10セット累計に該当する比率情報が表示されるタイミングか否かを判定する。メインCPU300aは、現在の比率表示順カウンタのカウンタ値が「1」または「2」であって、「分類」が「10セット累計」に該当する比率情報が表示されるタイミングであると判定すると、ステップS950−17へ処理を移す。一方、メインCPU300aは、現在の比率表示順カウンタのカウンタ値が「3」または「4」であって、「分類」が「総累計」に該当する比率情報が表示されるタイミングであると判定すると、ステップS950−21へ処理を移す。
ステップS950−17においてメインCPU300aは、賞球情報バッファに10セット分の賞球情報が記憶されているか否かを判定する。メインCPU300aは、賞球情報バッファに10セット分の賞球情報が記憶されておらず、10セット累計比率バッファに記憶されている10セット累計連続役物比率の値および10セット累計役物比率の値が初期値であると判定すると、ステップS950−19へ処理を移す。一方、メインCPU300aは、賞球情報バッファに10セット分の賞球情報が記憶されていて、10セット累計比率バッファに記憶されている10セット累計連続役物比率の値および10セット累計役物比率の値が初期値でないと判定すると、ステップS950−21へ処理を移す。
ステップS950−19においてメインCPU300aは、ステップS950−15において10セット累計比率バッファに初期値が記憶されていると判定されたことに基づいて、上2桁点滅フラグをオン状態に設定してステップS950−21へ処理を移す。上2桁点滅フラグをオン状態にすることで、比率表示器300dの上2桁が点滅表示されて10セット累計連続役物比率および10セット累計役物比率が初期値であり、実際に計測された賞球数に基づいて算出された比率でないことが報知される。これにより、比率表示器300dを確認する者は、賞球情報バッファに記憶されている賞球情報が10セット分に達していないことを容易に認識することができる。
ステップS950−21においてメインCPU300aは、比率表示器300dの点灯を制御するためのLED点灯制御データを作成する。具体的には、メインCPU300aは、比率表示器300dに比率情報を表示させるために、比率表示器300d(7セグメント表示器)を構成する各セグメントの点灯制御を行うデータを作成する。LED点灯制御データには、比率表示器300dの4つ(4桁)の表示領域のそれぞれの表示内容を示す情報が含まれる。例えば、比率文字列情報に「y6.」が記憶され、表示対象比率情報に「50」が記憶されている場合、LED点灯制御データには、1桁目の表示内容「y」と、2桁目の表示内容「6.」と、3桁目の表示内容「5」と、4桁目の表示内容「0」の情報が含まれる。したがって、比率表示器300dにおける表示内容は「y6.50」となる。メインCPU300aは、LED点灯制御データを作成すると、作成したLED点灯制御データをコモン出力バッファに出力する。コモン出力バッファに出力されたLED点灯制御データは、次のタイマ割込み処理におけるステップS400−5において、ダイナミックポート出力処理により比率表示器300dに送信される。これにより、比率表示器300dの表示更新タイミングにおいて、比率表示器300dの各セグメントが図45中に示す「表示順」に対応する比率情報を表示するように点灯制御される。
ステップS951においてメインCPU300aは、比率表示器300dの上2桁または下2桁の点滅を制御する比率LED点滅制御処理を実行する。メインCPU300aは、比率LED点滅制御処理を実行すると、比率LED表示設定処理を終了してタイマ割込み処理(図19参照)へ処理を戻す。
次に、図47を用いて比率LED点滅制御処理の流れの一例を説明する。比率LED表示設定処理は、図19を用いて説明したタイマ割込み処理の1ステップ(ステップS950)である。したがって、タイマ割込み処理が実行されるごとに、比率LED表示設定処理も実行される。
ステップS951−1においてメインCPU300aは、上2桁点滅フラグまたは下2桁点滅フラグがオン状態であるか否かを判定する。メインCPU300aは、上2桁点滅フラグまたは下2桁点滅フラグがオン状態であって、比率表示器300dの4つの表示領域のうち上2桁または下2桁の点滅表示を行うと判定すると、ステップS951−3へ処理を移す。一方、メインCPU300aは、上2桁点滅フラグおよび下2桁点滅フラグがいずれもオフ状態であって、比率表示器300dにおける上2桁または下2桁の点滅表示を行わないと判定すると、ステップS951−21へ処理を移す。
ステップS951−3においてメインCPU300aは、点滅中フラグがオン状態であるか否かを判定する。点滅中フラグは、比率表示器300dが点滅表示中であるか否かを示すフラグであってメインRAM300cの所定の記憶領域に記憶されている。メインCPU300aは、点滅中フラグがオン状態であって比率表示器300dが点滅表示中であると判定すると、ステップSS951−5へ処理を移す。一方、メインCPU300aは、点滅中フラグがオフ状態であって比率表示器300dが点滅表示中でないと判定すると、ステップSS951−15へ処理を移す。
ステップS951−5においてメインCPU300aは、点滅切替タイミングであるか否かを判定する。メインCPU300aは、主制御基板300に設けられている点滅切替タイマ(不図示)のカウンタ値が0であるか否かによって点滅切替タイミングか否かを判定する。点滅切替タイマには、比率表示器300dが消灯と点灯を繰り返す所定の間隔(本例では、400ミリ秒)を計時するためのカウンタ値が設定されており、主制御基板300のタイマ割込み処理のステップS400−9においてタイマ割込み処理の度に減算される。メインCPU300aは、点滅切替タイマのカウンタ値が0であって、点滅切替タイミングであると判定すると点滅切替タイマをリセットしてステップS951−7へ処理を移す。一方、メインCPU300aは、点滅切替タイマのカウンタ値が0でなく、点滅切替タイミングでないと判定すると比率LED点滅制御処理を終了して、比率LED表示設定処理(図46参照)へ処理を戻す。
ステップS951−7においてメインCPU300aは、消灯フラグがオン状態であるか否かを判定する。消灯フラグは、点滅切替タイミングにおいて比率表示器300dを消灯させるか否かを示すフラグであって、メインRAM300cの所定の記憶領域に記憶されている。メインCPU300aは、消灯フラグがオン状態であって比率表示器300dを消灯させると判定すると、ステップSS951−9へ処理を移す。一方、メインCPU300aは、消灯フラグがオフ状態であって比率表示器300dを消灯させない(すなわち、点灯させる)と判定すると、ステップSS951−11へ処理を移す。
ステップS951−9においてメインCPU300aは、比率表示器300dを消灯させるための消灯制御データを作成する。消灯制御データには、7セグメント表示器である比率表示器300dの4つの表示領域のうち何れの表示領域を消灯するかを示す情報が含まれる。メインCPU300aは、上2桁点滅フラグがオン状態である場合には、比率表示器300dの1桁目と2桁目の表示領域を消灯することを示す情報を含む消灯制御データを作成し、下2桁点滅フラグがオン状態である場合には、比率表示器300dの3桁目と4桁目の表示領域を消灯することを示す情報を含む消灯制御データを作成する。メインCPU300aは、作成した消灯制御データをコモン出力バッファに出力する。コモン出力バッファに出力された消灯制御データは、次のタイマ割込み処理におけるステップS400−5において、ダイナミックポート出力処理により比率表示器300dの点灯制御が行われる。これにより、消灯制御データに基づいて比率表示器300dの上2桁または下2桁が消灯される。
ステップS951−11においてメインCPU300aは、比率LED表示設定処理のステップS950−21で作成したのと同様の比率LED点灯制御データを作成する。具体的には、メインCPU300aは、メインRAM300cから比率文字列情報および表示対象比率情報を取得し、比率文字列情報および表示対象比率情報に基づいて比率LED点灯制御データを作成し、コモン出力バッファに出力する。これにより、比率表示器300dが点灯制御されて比率情報が表示される。このように、消灯フラグがオン状態であるか否かに基づいて、比率表示器300dの点滅対象領域の消灯と点灯が点滅切替間隔ごとに繰り返される。これにより、本実施形態の遊技機100において、比率表示器300dの点滅表示が行われる。
ステップS951−13においてメインCPU300aは、消灯フラグをオフ状態に設定して比率LED点滅制御処理を終了し、比率LED表示設定処理(図46参照)へ処理を戻す。これにより、次回の点滅切替タイミングでは、比率表示器300dの点滅対象の表示領域を点灯させる制御が行われる。
ステップS951−15においてメインCPU300aは、上2桁点滅フラグまたは下2桁点滅フラグがオン状態であり、かつ点滅中フラグがオフ状態であることに基づいて現時点が比率表示器300dの点滅表示の開始時であると判定する。このため、メインCPU300aは、ステップS951−15において点滅切替タイマにカウンタ値を設定して点滅切替タイマの計時を開始し、ステップS950−17へ処理を移す。
ステップS951−17においてメインCPU300aは、点滅中フラグをオン状態に設定してステップS951−19へ処理を移す。ステップS951−15およびステップS951−17の処理を行うことで比率表示器300dの点滅表示が開始される。
ステップS951−19においてメインCPU300aは、消灯フラグをオン状態に設定して比率LED点滅制御処理を終了し、比率LED表示設定処理(図46参照)へ処理を戻す。これにより、次回の点滅切替タイミングでは、比率表示器300dの点滅対象の表示領域を消灯させる制御が行われる。
ステップS951−21においてメインCPU300aは、点滅切替タイマが計時中であるか否かを判定する。メインCPU300aは、点滅切替タイマにカウンタ値が設定されており計時中であると判定すると、ステップS951−23へ処理を移す。一方、メインCPU300aは、点滅切替タイマにカウンタ値が設定されておらず計時中でないと判定すると、比率LED点滅制御処理を終了し、比率LED表示設定処理(図46参照)へ処理を戻す。
ステップS951−23においてメインCPU300aは、点滅切替タイマに設定されているカウンタ値をクリアして点滅切替タイマの計時を終了し、ステップS951−25へ処理を移す。
ステップS951−25においてメインCPU300aは、点滅中フラグをオフ状態に設定して、比率LED点滅制御処理を終了し、比率LED表示設定処理(図46参照)へ処理を戻す。ステップS951−21からステップS951−25の処理を行うことで比率表示器300dの点滅表示が終了される。
上述したように、本実施形態による遊技機100では、例外遊技状態が発生している場合には、各入賞検出スイッチの何れかが遊技球の入球を検出していたとしても賞球数が1セット計測バッファに加算されない(ステップS800−1参照)。すなわち、例外遊技状態が発生している場合に賞球の加算処理が無効化される。これにより、遊技者による正常な遊技中以外における各入賞口への遊技球の入球に基づく賞球は計数されない。このため、遊技機100では、不正な入賞が行われるおそれがある、またはすでに不正な入賞が行われた可能性のある例外遊技状態における賞球数が、賞球情報バッファ、10セット累計バッファおよび総累計バッファに記憶されることがない。したがって、比率表示器300dには、例外遊技状態が発生している場合における賞球数を除いて導出された連続役物比率および役物比率が表示される。このように、遊技機100は、10セット累計バッファおよび総累計バッファの賞球数に基づいて算出され、比率表示器300dに表示される連続役物比率および役物比率の値を、不正に操作することができないように構成されている。したがって、遊技機100は、賞球数の管理処理の精度を向上させて不正行為が行われるおそれを低減したり、不正行為を防止することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
上記実施形態では、例外遊技発生条件として第1発生条件から第4発生条件の4つの条件が設定されているとしたが、これに限られず、例外発生条件の数は4つより少なくてもよいし、4つの例外発生条件に加えて別の条件が設定されていてもよい。また、上記実施形態では、4つの例外発生条件は何れも異常または不正な遊技状態を示す条件であったが、これに限られない。例えば、個々の条件は正常な遊技状態を示す条件であっても複数の条件が同時に成立する場合には例外遊技状態であるような条件を例外発生条件として設定してもよい。この場合、メインCPU300aは、複数の条件が成立しているときに例外遊技状態が発生していると判定する。
104 中枠
106 前枠
108 遊技盤
112 操作ハンドル
116 遊技領域
118 一般入賞口
120 第1始動口
122 第2始動口
124 ゲート
128 大入賞口
113s ハンドルセンサ
118s 一般入賞口検出スイッチ
120s 第1始動口検出スイッチ
122s 第2始動口検出スイッチ
124s ゲート検出スイッチ
128s 大入賞口検出スイッチ
141s 前枠開放スイッチ
143s アウトスイッチ
145s 中枠開放スイッチ
300 主制御基板
300a メインCPU
300b メインROM
300c メインRAM
300d 比率表示器
310 払出制御基板
330 副制御基板
Claims (4)
- 遊技者の操作に基づいて遊技領域に遊技球を発射させる発射操作装置と、
前記遊技領域に設けられ、遊技球の入球に基づいて所定の特典の付与を可能とする第1入球口と、
遊技者による遊技が可能な遊技可能状態であることに基づいて少なくとも前記第1入球口への遊技球の入球を検出可能とする入球検出手段と、
前記入球検出手段による遊技球の入球の検出に基づく当たり抽選の実行を可能とする抽選手段と、
前記遊技領域に設けられ、前記抽選手段による抽選の結果に基づいて遊技球の進入容易性が変化する可動手段を有し、遊技球の入球に基づいて所定の特典の付与を可能とする第2入球口と、
前記第1入球口および前記第2入球口への遊技球の入球に基づく所定の特典として払い出される賞球数の加算処理と、該加算処理された賞球数を用いる第1演算の結果を導出する第1演算結果導出処理とを可能とする遊技制御手段と、
を備え、
前記遊技制御手段は、前記遊技可能状態中における前記第1入球口への遊技球の入球数を用いる第2演算の結果が予め定められた値を超過している状態、および遊技中断に係る不具合が生じている状態の少なくとも一方の状態を含む例外遊技状態が発生している場合に、前記加算処理を無効化すること
を特徴とする遊技機。 - 前記第1入球口には、遊技球が入球しても前記抽選手段による抽選が行われずに所定の特典として賞球が払い出される一般入賞口が含まれ、
遊技者による前記発射操作装置の操作に基づいて前記遊技領域に発射される全ての遊技球、および前記遊技領域に発射された後に集約されて外部へ排出される全ての遊技球のいずれか一方を検出する発射球検出手段を備え、
前記遊技制御手段は、所定時間あたりの前記一般入賞口への遊技球の入球数の総数および前記発射球検出手段が検出した遊技球数に対する前記一般入賞口への遊技球の入球数の割合の少なくとも一方を前記第2演算の結果として求め、該第2演算の結果が予め定められた所定の値を超過している場合に、前記例外遊技状態が発生していると判定して前記加算処理を無効化すること
を特徴とする請求項1記載の遊技機。 - 前記遊技制御手段は、遊技中断に係る不具合を検出する不具合検出手段を有し、
前記不具合検出手段は、前記遊技領域の正面側を視認可能に覆う開閉枠部材が開放されていることを検出する開閉枠開放検出手段および遊技者が前記発射操作装置に触れていることを検出する発射装置接触検出手段の少なくとも一方を有し、
前記遊技制御手段は、前記開閉枠部材が開放されていることが前記開閉枠開放検出手段により検出された場合、または遊技者が前記発射操作装置に触れていることが予め定められた所定時間継続して前記発射装置接触検出手段により検出されていない場合に、前記例外遊技状態が発生していると判定して前記加算処理を無効化すること
を特徴とする請求項1または2に記載の遊技機。 - 前記遊技制御手段は、前記第1演算の結果を表示する表示手段を有し、
前記表示手段は、前記例外遊技状態が発生している場合における賞球数を除いて導出された前記第1演算の結果を表示すること
を特徴とする請求項1から3のいずれか1項に記載の遊技機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016152227A JP6695233B2 (ja) | 2016-08-02 | 2016-08-02 | 遊技機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016152227A JP6695233B2 (ja) | 2016-08-02 | 2016-08-02 | 遊技機 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018181899A Division JP6712115B2 (ja) | 2018-09-27 | 2018-09-27 | 遊技機 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018019841A true JP2018019841A (ja) | 2018-02-08 |
| JP6695233B2 JP6695233B2 (ja) | 2020-05-20 |
Family
ID=61163933
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016152227A Active JP6695233B2 (ja) | 2016-08-02 | 2016-08-02 | 遊技機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6695233B2 (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018161270A (ja) * | 2017-03-24 | 2018-10-18 | サミー株式会社 | ぱちんこ遊技機 |
| JP2018199017A (ja) * | 2018-09-27 | 2018-12-20 | 株式会社平和 | 遊技機 |
| JP2019166047A (ja) * | 2018-03-23 | 2019-10-03 | サミー株式会社 | 遊技機 |
| JP2020124358A (ja) * | 2019-02-05 | 2020-08-20 | 株式会社藤商事 | 遊技機 |
| JP2020124359A (ja) * | 2019-02-05 | 2020-08-20 | 株式会社藤商事 | 遊技機 |
| JP2023182194A (ja) * | 2022-06-14 | 2023-12-26 | 京楽産業.株式会社 | 遊技機 |
| JP2023182046A (ja) * | 2022-06-14 | 2023-12-26 | 京楽産業.株式会社 | 遊技機 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013153807A (ja) * | 2012-01-27 | 2013-08-15 | Sammy Corp | 弾球遊技機 |
| JP2015100682A (ja) * | 2013-11-28 | 2015-06-04 | 株式会社ソフイア | 封入球式遊技機 |
| JP2015144911A (ja) * | 2015-05-18 | 2015-08-13 | 株式会社ソフイア | 遊技機 |
-
2016
- 2016-08-02 JP JP2016152227A patent/JP6695233B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013153807A (ja) * | 2012-01-27 | 2013-08-15 | Sammy Corp | 弾球遊技機 |
| JP2015100682A (ja) * | 2013-11-28 | 2015-06-04 | 株式会社ソフイア | 封入球式遊技機 |
| JP2015144911A (ja) * | 2015-05-18 | 2015-08-13 | 株式会社ソフイア | 遊技機 |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018161270A (ja) * | 2017-03-24 | 2018-10-18 | サミー株式会社 | ぱちんこ遊技機 |
| JP2019166047A (ja) * | 2018-03-23 | 2019-10-03 | サミー株式会社 | 遊技機 |
| JP2018199017A (ja) * | 2018-09-27 | 2018-12-20 | 株式会社平和 | 遊技機 |
| JP2020124358A (ja) * | 2019-02-05 | 2020-08-20 | 株式会社藤商事 | 遊技機 |
| JP2020124359A (ja) * | 2019-02-05 | 2020-08-20 | 株式会社藤商事 | 遊技機 |
| JP7313833B2 (ja) | 2019-02-05 | 2023-07-25 | 株式会社藤商事 | 遊技機 |
| JP7313834B2 (ja) | 2019-02-05 | 2023-07-25 | 株式会社藤商事 | 遊技機 |
| JP2023182194A (ja) * | 2022-06-14 | 2023-12-26 | 京楽産業.株式会社 | 遊技機 |
| JP2023182046A (ja) * | 2022-06-14 | 2023-12-26 | 京楽産業.株式会社 | 遊技機 |
| JP7609449B2 (ja) | 2022-06-14 | 2025-01-07 | 京楽産業.株式会社 | 遊技機 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6695233B2 (ja) | 2020-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6695233B2 (ja) | 遊技機 | |
| JP6122734B2 (ja) | 遊技機 | |
| JP6712115B2 (ja) | 遊技機 | |
| JP2019130242A (ja) | 遊技機 | |
| JP2017148124A (ja) | 遊技機 | |
| JP6069100B2 (ja) | 遊技機 | |
| JP6250984B2 (ja) | 遊技機 | |
| JP2018089259A (ja) | 遊技機 | |
| JP6381286B2 (ja) | 遊技機 | |
| JP2019198482A (ja) | 遊技機 | |
| JP6437793B2 (ja) | 遊技機 | |
| JP2016042926A (ja) | 遊技機 | |
| JP2015043820A (ja) | 遊技機 | |
| JP2015066159A (ja) | 遊技機 | |
| JP6368082B2 (ja) | 遊技機 | |
| JP6242632B2 (ja) | 遊技機 | |
| JP6298877B2 (ja) | 遊技機 | |
| JP7015107B2 (ja) | 遊技機 | |
| JP2015181492A (ja) | 遊技機 | |
| JP2019146790A (ja) | 遊技機 | |
| JP2018202065A (ja) | 遊技機 | |
| JP2016083188A (ja) | 遊技機 | |
| JP6238943B2 (ja) | 遊技機 | |
| JP5841582B2 (ja) | 遊技機 | |
| JP6182106B2 (ja) | 遊技機 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160825 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170725 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170922 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180123 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180323 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180717 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181017 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20181018 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20181207 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190729 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191129 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200421 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6695233 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |