JP7266363B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP7266363B2 JP7266363B2 JP2017229704A JP2017229704A JP7266363B2 JP 7266363 B2 JP7266363 B2 JP 7266363B2 JP 2017229704 A JP2017229704 A JP 2017229704A JP 2017229704 A JP2017229704 A JP 2017229704A JP 7266363 B2 JP7266363 B2 JP 7266363B2
- Authority
- JP
- Japan
- Prior art keywords
- effect
- game
- special
- main cpu
- image
- 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.)
- Active
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
図3は、遊技の進行を制御する制御手段の内部構成を示すブロック図である。
図15は、主制御基板300におけるCPU初期化処理(S100)を説明するフローチャートである。
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100-3に処理を移し、電源断予告信号を検出していない場合には、ステップS100-7に処理を移す。
メインCPU300aは、上記ステップS100-3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100-5に処理を移す。
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
メインCPU300aは、RAMクリアフラグがオンしているか否かを判定する。なお、遊技盤108の背面には不図示のRAMクリアボタンが設けられており、このRAMクリアボタンが押圧操作されると、RAMクリア検出スイッチがRAMクリアボタンの押圧操作を検出して、主制御基板300にRAMクリア信号が出力される。RAMクリアボタンが押圧操作された状態で電源が投入されると、RAMクリア信号が入力され、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保留の入賞順序を示す特別図柄入賞順序コマンド等、電源投入時の初期状態の演出に必要なコマンドを副制御基板330に送信するための電源投入時サブコマンドセット処理(コマンドを送信バッファに格納)を実行する。
メインCPU300aは、タイマ割込みの周期を設定する。
メインCPU300aは、割込みを禁止するための処理を行う。
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数-1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100-33から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
図16は、主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、CPU初期化処理の割込み許可期間中(ステップS100-41とステップS100-33の処理の間)に割り込んで電源断時退避処理を実行する。
電源断予告信号が入力されると、メイン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)に移行する。
図17は、主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(本実施形態では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
メインCPU300aは、レジスタを退避する。
メインCPU300aは、割込みを許可するための処理を行う。
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172を点灯制御するダイナミックポート出力処理を実行する。
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
メインCPU300aは、上記ステップS100-35と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
メインCPU300aは、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、ゲート検出スイッチ124sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
メインCPU300aは、上記の特別遊技を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
メインCPU300aは、各種エラーの判定およびエラー判定結果に応じた設定を行うためのエラー管理処理を実行する。
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、大入賞口検出スイッチ128sのチェックを行い、該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
メインCPU300aは、上記ステップS400-17でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するためのコモンデータをコモン出力バッファにセットする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に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理を終了する。
メインCPU300aは、現在、大役遊技中であるか否かを判定し、大入賞口128への遊技球の入球が適正になされたものであるかを判定する。ここでは、大役遊技中ではないと判定した場合には、所定の不正検出処理を実行し、大役遊技中であり、大入賞口128への遊技球の入球が適正になされたと判定した場合には、大入賞口入賞球数カウンタを1加算して、当該スイッチ管理処理(ステップS500)を終了する。
メイン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始動口通過処理を終了する。
メイン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で対象記憶部に格納した各種の乱数に基づいて、取得時演出判定処理を実行する。この取得時演出判定処理の詳細は後述する。
メイン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は、低確率遊技状態であるか高確率遊技状態であるかを識別する確率状態識別カウンタのカウンタ値(j)をリセット(0に)する。なお、確率状態識別カウンタのカウンタ値(j)=0は低確率遊技状態を示し、カウンタ値(j)=1は高確率遊技状態を示す。
メインCPU300aは、確率状態識別カウンタのカウンタ値(j)に基づいて、対応する大当たり決定乱数判定テーブルを選択する。具体的には、カウンタ値(j)が「0」であれば、低確時大当たり決定乱数判定テーブル(図5(a)参照)を選択し、カウンタ値(j)が「1」であれば、高確時大当たり決定乱数判定テーブル(図5(b)参照)を選択する。そして、選択したテーブルと、上記ステップS535-13で対象記憶部に記憶した大当たり決定乱数とに基づいて、大当たりまたはハズレのいずれかを仮判定する特別図柄当たり仮判定処理を行う。
メインCPU300aは、特別図柄を仮決定するための特別図柄図柄仮判定処理を実行する。ここでは、上記ステップS536-3の仮大役抽選の結果(特別図柄当たり仮判定処理によって導出された結果)が大当たりであった場合には、上記ステップS535-13で対象記憶部に記憶した当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブル(図6参照)を選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS536-3の仮大役抽選の結果がハズレであった場合には、保留種別に対応するハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。
メインCPU300aは、ステップS536-5でセーブした特別図柄判定データに対応する先読み図柄種別指定コマンド(先読み指定コマンド)を送信バッファにセットする。
メインCPU300aは、上記ステップS536-3の特別図柄当たり仮判定処理によって導出された結果が、大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS536-11に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS536-13に処理を移す。
メインCPU300aは、大当たり時リーチモード決定乱数判定テーブル(図8(b)参照)をセットし、ステップS536-21に処理を移す。
メインCPU300aは、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数をロードする。
メインCPU300aは、上記ステップS536-13でロードしたリーチグループ決定乱数が固定値(8500以上)であるかを判定する。ここで、グループ種別は、リーチグループ決定乱数判定テーブルを参照して決定されるが、このリーチグループ決定乱数判定テーブルは、記憶されている保留数に応じて選択される。このとき、リーチグループ決定乱数は、0~10006の範囲から取得され、リーチグループ決定乱数の値が8500以上であれば、保留数に拘わらず、同一のリーチグループ決定乱数判定テーブルが選択され、リーチグループ決定乱数の値が8500未満であれば、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される。以下では、リーチグループ決定乱数のうち、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される0~8499の範囲の値を不定値とし、保留数に拘わらず同一のリーチグループ決定乱数判定テーブルが選択される8500~10006の範囲の値を固定値と呼ぶ。上記ステップS536-13でロードしたリーチグループ決定乱数が固定値(8500以上)であると判定した場合にはステップS536-17に処理を移し、上記ステップS536-13でロードしたリーチグループ決定乱数が固定値(8500以上)ではないと判定した場合にはステップS536-29に処理を移す。
メインCPU300aは、確率状態識別カウンタのカウンタ値および保留種別に基づいて、対応するリーチグループ決定乱数判定テーブル(図7参照)をセットする。なお、リーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、ここでは、保留数が0のときに用いられるテーブルが選択される。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を仮決定する。
メインCPU300aは、上記ステップS536-17で仮決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブル(図8(a)参照)をセットし、ステップS536-21に処理を移す。
メインCPU300aは、上記ステップS536-11または上記ステップS536-19でセットしたリーチモード決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチモード決定乱数とに基づいて、変動モード番号を仮決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが仮決定される。
メインCPU300aは、上記ステップS536-21で仮決定した変動モード番号に対応する先読み指定変動モードコマンド(先読み指定コマンド)を送信バッファにセットする。
メインCPU300aは、上記ステップS536-21で仮決定した変動パターン乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶した変動パターン乱数とに基づいて、変動パターン番号を仮決定する。
メインCPU300aは、上記ステップS536-25で仮決定した変動パターン番号に対応する先読み指定変動パターンコマンド(先読み指定コマンド)を送信バッファにセットし、ステップS536-31に処理を移す。
メインCPU300aは、対象記憶部に新たに記憶された保留について、当該保留が読み出されたときの保留数に応じて、グループ種別、すなわち、変動演出パターンが変化することを示す不定値コマンド(先読み指定変動モードコマンドおよび先読み指定変動パターンコマンド=7FH)を送信バッファにセットする。
メインCPU300aは、確率状態識別カウンタのカウンタ値(j)が最大(1)であるかを判定し、最大であると判定した場合には当該取得時演出判定処理を終了し、最大ではないと判定した場合には、ステップS536-33に処理を移す。
メインCPU300aは、確率状態識別カウンタのカウンタ値(j)を、現在のカウンタ値(j)に「1」を加算した値に更新し、上記ステップS536-3から処理を繰り返す。これにより、新たに記憶された保留が、低確率遊技状態であるときに読み出された場合に決定される変動モード番号および変動パターン番号と、高確率遊技状態であるときに読み出された場合に決定される変動モード番号および変動パターン番号とが、当該保留の記憶時に導出されることとなる。
メイン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は、上記ステップS612で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間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は、上記ステップS610-9における大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS612-3に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS612-5に処理を移す。
メインCPU300aは、現在の変動状態、大当たり図柄の種別、保留種別に対応する大当たり時リーチモード決定乱数判定テーブルをセットする。
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
メインCPU300aは、現在の変動状態、上記ステップS612-5で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610-7で第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-17に処理を移し、大当たりではないと判定した場合にはステップS630-7に処理を移す。
メインCPU300aは、回数切り管理処理を実行する。ここでは、特別図柄確率状態フラグをロードして、現在の遊技状態が低確率遊技状態であるか高確率遊技状態であるかを確認する。そして、遊技状態が高確率遊技状態であった場合には、高確回数切りカウンタのカウンタ値を、現在のカウンタ値から「1」減算した値に更新する。なお、高確回数切りカウンタを更新した結果、カウンタ値が「0」になった場合には、低確率遊技状態に対応する特別図柄確率状態フラグをセットする。これにより、高確率遊技状態において、大当たりに当選することなく、特別図柄が所定回数確定したところで、遊技状態が低確率遊技状態に移行することとなる。
メインCPU300aは、変動状態更新処理を実行する。ここでは、現在、変動状態が特殊変動状態であるかを判定する。そして、特殊変動状態であると判定した場合には、特殊変動回数カウンタのカウンタ値を確認し、特殊変動状態から通常変動状態に切り替えるか否かを判定する。その結果、通常変動状態に切り替えると判定した場合、すなわち、特殊変動状態における最後の特別図柄の変動表示が終了したと判定した場合には、変動状態識別フラグを通常変動状態用のフラグに更新する。
メイン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保留が記憶されている場合には、特別図柄の変動表示が再開されることとなる。
メイン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は、上記ステップS730-9でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口開放前処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS741に処理を移す。
メインCPU300aは、普通電動役物入賞口開閉切替処理を実行する。この普通電動役物入賞口開閉切替処理については後述する。
メインCPU300aは、普通遊技管理フェーズを「04H」に更新し、当該普通電動役物入賞口開放前処理を終了する。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における第2始動口122の可動片122bの開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該普通電動役物入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS741-3に処理を移す。
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、普通電動役物ソレノイド122cを通電制御するためのソレノイド制御データ(通電制御データまたは通電停止制御データ)、および、普通電動役物ソレノイド122cの通電時間(ソレノイド通電時間)もしくは通電停止時間(普電閉鎖有効時間=休止時間)であるタイマデータを抽出する。
メインCPU300aは、上記ステップS741-3で抽出したソレノイド制御データに基づいて、普通電動役物ソレノイド122cの通電を開始するか、もしくは、普通電動役物ソレノイド122cの通電を停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、上記ステップS400-25およびステップS400-27において、普通電動役物ソレノイド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」に更新し、当該普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。
図45は、演出図柄210a、210b、210cを説明する図である。上記したように、主制御基板300では、大役抽選が行われると、変動モード番号および変動パターン番号が決定され、変動コマンドが副制御基板330に送信される。副制御基板330では、受信した変動コマンドに基づいて変動演出の実行パターンを決定するとともに、決定した実行パターンで変動演出を実行制御する。
図46は、リーチなし変動パターンの変動演出の一例を説明する図である。上記のように、主制御基板300において大役抽選が行われると、特別図柄の変動表示中、すなわち、特別図柄の変動時間に亘って、大役抽選の結果を報知する変動演出が実行される。この変動演出においては、演出表示部200aにおいて種々の背景画像が表示されるとともに、この背景画像に重畳して、演出図柄210a、210b、210cが表示される。なお、変動演出中は、演出表示部200aに表示される画像に伴って、音声出力装置206から音声が出力されるとともに、演出照明装置204が点灯制御され、また、演出役物装置202が可動制御されるが、ここでは詳細な説明は省略する。
図58は、副制御基板330のサブCPU初期化処理(S1000)を説明するフローチャートである。
サブCPU330aは、電源投入に応じて、サブROM330bからCPU初期化処理プログラムを読み込むとともに、サブRAM330cに記憶されるフラグ等の初期化、設定処理を行う。
次に、サブCPU330aは、各演出乱数を更新する処理を行うとともに、以後は、割込み処理が行われるまで当該ステップS1000-3の処理を繰り返し行う。なお、演出乱数は複数種類設けられており、ここでは、それぞれの演出乱数が非同期的に更新されている。
図59は、副制御基板330のサブタイマ割込み処理(S1100)を説明するフローチャートである。副制御基板330には、所定の周期でクロックパルスを発生するリセット用クロックパルス発生回路(不図示)が設けられている。そして、このリセット用クロックパルス発生回路によるクロックパルスの発生により、サブCPU330aはタイマ割込み処理プログラムを読み込んで当該サブタイマ割込み処理を開始する。
サブCPU330aは、レジスタを退避する。
サブCPU330aは、割込みを許可するための処理を行う。
サブCPU330aは、副制御基板330で用いられる各種タイマカウンタの更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該副制御基板330のサブタイマ割込み処理の度に1ずつ減算され、0になると減算を停止する。
サブCPU330aは、サブRAM330cの受信バッファに格納されているコマンドを解析するとともに、受信したコマンドに応じた種々の処理を行う。副制御基板330においては、主制御基板300からコマンドが送信されると、コマンド受信割込み処理が行われ、主制御基板300から送信されたコマンドが受信バッファに格納される。ここでは、コマンド受信割込み処理によって受信バッファに格納されたコマンドを解析することとなる。
サブCPU330aは、ステップS1100-7の解析結果に基づいて、実行する演出に関するコマンドを設定する処理を行う。
サブCPU330aは、設定されたコマンドを、アクト部340に送信する処理を行う。
サブCPU330aは、レジスタを復帰して当該サブタイマ割込み処理を終了する。
アクト部340は、受信したコマンドを解析する処理を行う。
アクト部340は、コマンドの解析結果に基づいて、変動演出の経過時間を計時するとともに、変動演出ごとにセットされるタイムテーブルを参照して、当該タイムテーブルに記憶された該当時間に対応する処理を実行するタイムスケジュール管理処理を行う。ここでは、タイムテーブルにセットされたタイムデータに基づいて、各種のフラグをオン、オフしたり、あるいは、各演出デバイスにコマンドを送信したりすることで、変動演出をはじめとする各演出の実行を制御することとなる。
アクト部340は、ステップS1200-1の解析結果に基づいて、受信したコマンドが特定演出を示すコマンドであるか否かを判定する。その結果、受信したコマンドが特定演出であると判定した場合には、ステップS1310-3に処理を移し、受信したコマンドが特定演出ではないと判定した場合には、ステップS1310-7に処理を移す。特定演出は、例えば、シェイクビジョン演出や画面モノクロフリーズ演出などのリアルタイム演出であり、排他確認の対象となる演出である。例えば、特定演出に該当するか否かのテーブルがサブROM330bに予め格納されており、アクト部340は、そのテーブルを参照して判定を行う。
アクト部340は、ステップS1200-1の解析結果に基づいて、特定コマンドおよび主開始コマンドから構成される特定開始コマンドを生成する。特定開始コマンドは、特定演出の実行開始を指示するコマンドであり、開始コマンドの一種である。特定コマンドについては、実行することとなる特定演出の特定演出名を示す情報に基づいて生成される。主開始コマンドは、特定演出以外の演出の実行開始を指示する開始コマンドと同種の情報を含む。
アクト部340は、ステップS1310-3で生成された特定開始コマンドを表示制御CPU350aに送信する。ここでは、アクト部340は、特定演出の開始フレームの1フレーム前に特定開始コマンドのうちの特定コマンドを送信し、その1フレーム後である特定演出の開始フレームにおいて、特定開始コマンドのうちの主開始コマンドを送信する。アクト部340は、この処理後、開始コマンド送信処理を終了する。
アクト部340は、ステップS1200-1の解析結果に基づいて、開始コマンドを生成する。ここで生成される開始コマンドは、特定演出以外の演出の実行開始を指示するコマンドである。
アクト部340は、ステップS1310-7で生成された開始コマンドを表示制御CPU350aに送信する。ここでは、アクト部340は、演出の開始フレームにおいて、開始コマンドを送信する。なお、ステップS1310-5における主開始コマンドを送信する特定演出の開始フレームと、ステップS1310-9における開始コマンドを送信する演出の開始フレームとは、同フレーム(タイミング)となっている。アクト部340は、この処理後、開始コマンド送信処理を終了する。
表示制御CPU350aは、受信したコマンドを解析する処理を行う。表示制御CPU350aは、アクト部340が送信した特定開始コマンド、特定開始コマンド以外の開始コマンド、終了コマンドなどを受信することとなる。受信したコマンドには、演出パターン番号などの演出表示に関連する制御情報が含まれており、表示制御CPU350aは、今回の変動で表示すべき演出の演出パターン番号の確認などを行う。
表示制御CPU350aは、ステップS1400-1の解析結果に基づいて、排他されるべき複数種の特定演出の実行が重複したか否かを確認する演出重複確認処理を行う。演出重複確認処理については、後述する。
表示制御CPU350aは、演出表示部200aへの画像の表示処理を行う。この処理では、表示制御CPU350aは、VDP350dに対する表示制御を行う。これにより、これ以降の表示処理の主体が、表示制御CPU350aからVDP350dに移る。
表示制御CPU350aは、特定演出の実行中を示す演出実行中フラグがオンであるか否かを判定する。その結果、演出実行中フラグがオンではない(すなわち、演出実行中フラグがオフである)と判定した場合には、ステップS1510-3に処理を移し、演出実行中フラグがオンであると判定した場合には、ステップS1510-7に処理を移す。
表示制御CPU350aは、受信した開始コマンドが特定開始コマンドであるか否かを判定する。その結果、受信した開始コマンドが特定開始コマンドであると判定した場合には、ステップS1510-5に処理を移し、受信した開始コマンドが特定開始コマンドではないと判定した場合には、演出重複確認処理を終了する。開始コマンドが特定開始コマンドである場合、表示制御CPU350aは、主開始コマンドを受信する1フレーム前に特定コマンドを受信することとなる。このため、表示制御CPU350aは、特定コマンドを受信した場合には、受信した開始コマンドが特定開始コマンドであると判定し、特定コマンドを受信しない場合には、受信した開始コマンドが特定開始コマンドではない(特定開始コマンド以外の開始コマンドである)と判定する。
表示制御CPU350aは、演出実行中フラグをオンする。受信した開始コマンドが特定開始コマンドであるため、表示制御CPU350aは、以後、特定演出を実行することとなる。このため、特定演出が実行中であることを示すために、この処理において、演出実行中フラグをオンするのである。表示制御CPU350aは、この処理後、演出重複確認処理を終了する。
表示制御CPU350aは、受信した開始コマンドが特定開始コマンドであるか否かを判定する。その結果、受信した開始コマンドが特定開始コマンドである場合には、ステップS1510-9に処理を移し、受信した開始コマンドが特定開始コマンドではない場合には、演出重複確認処理を終了する。本ステップS1510-7の処理は、ステップS1510-3の処理と同様である。
表示制御CPU350aは、演出実行中フラグによって示される演出と、特定開始コマンド(より正確には、特定開始コマンドのうちの特定コマンド)によって示される演出とが一致するか否かを判定する。その結果、演出実行中フラグによって示される演出と、特定コマンドによって示される演出とが一致する場合には、演出重複確認処理を終了し、演出実行中フラグによって示される演出と、特定コマンドによって示される演出とが一致しない場合には、ステップS1510-11に処理を移す。演出実行中フラグには、実行中の特定演出を特定する情報(例えば、実行中の特定演出名など)が含まれており、特定コマンドには、実行する特定演出を特定する情報(例えば、実行する特定演出名)が含まれているため、表示制御CPU350aは、演出実行中フラグによって示される演出と、特定コマンドによって示される演出とが一致するか否かを判定することができる。すなわち、ここでは、複数の異なる特定演出の実行が重複したか否かが判定されることとなる。
表示制御CPU350aは、複数の異なる特定演出の実行が重複した旨を示すエラーフラグをオンする。すなわち、表示制御CPU350aは、演出実行中フラグがオン(特定演出を実行中)である状況において、実行中の特定演出とは異なる特定演出の実行開始が指示された場合に、複数の異なる特定演出の実行が重複したとして、エラーフラグをオンするのである。表示制御CPU350aは、この処理後、演出重複確認処理を終了する。
VDP350dは、表示済フレーム数が0であるか否かを判定する。その結果、表示済フレーム数が0である場合には、ステップS1610-3に処理を移し、表示済フレーム数が0ではない場合には、ステップS1610-7に処理を移す。ここで、表示済フレーム数とは、指定された演出を構成する複数のフレームのうち、演出表示部200aへの表示を終えたフレームの総数をいう。例えば、表示速度が1秒間に30フレームであり、60秒の演出では、指定された演出を構成する複数のフレームは、1800フレームとなる。また、60秒の演出で30秒までの表示を終えた場合、表示を終えたフレームの総数は、900フレームとなる。また、表示済フレーム数は、画像RAM350c上の変数に保持される。演出を表示する最初には、表示済フレーム数は、初期値として0がセットされている。
VDP350dは、演出パターン番号に対応する画像データを画像ROM350bから取得する。画像ROM350bから取得する画像データは、フレームにおける各層に配置される画像を示すものであり、VDP350dは、演出パターン番号に対応する演出で使用される描画素材としての画像データを取得するのである。なお、フレームにおける層とは、プライオリティの高低に対応付けられた位置に相当する。
VDP350dは、ステップS1610-3で取得した画像データをVRAM350eに転送する。ここでは、演出パターン番号で指定された演出を表示する際に必要となる画像データがまとめてVRAM350e上に展開されるため、本演出におけるこれ以降の処理において画像ROM350bへのアクセスが不要となる。
VDP350dは、表示済フレーム数が、演出パターン番号で指定された演出を構成する総フレーム数より小さいか否かを判定する。その結果、表示済フレーム数が総フレーム数よりも小さい場合には、ステップS1700に処理を移し、表示済フレーム数が総フレーム数より小さくない、すなわち、表示済フレーム数が総フレーム数以上である場合には、ステップS1610-13に処理を移す。
VDP350dは、フレーム表示処理を行う。この処理では、VDP350dは、演出パターン番号で指定された演出を構成する各フレームを演出表示部200aに表示させる。具体的には、VDP350dは、フレームバッファ350f上に画像データをプライオリティ順に展開していくことで、フレームバッファ350f上に合成画像を示す画像データを生成する。そして、VDP350dは、フレームバッファ350f上の合成画像を示す画像データを、1フレーム分のフレーム画像として演出表示部200aに表示させる。VDP350は、表示済フレーム数が総フレーム数以上となるまで、フレーム画像の表示を繰り返すこととなる。フレーム表示処理については、後述する。
VDP350dは、表示済フレーム数を更新する。具体的には、VDP350dは、画像RAM350c上の変数に保持されている表示済フレーム数をインクリメントする。VDP350dは、この処理後、表示処理を終了する。
VDP350dは、表示済フレーム数をリセットする。具体的には、VDP350dは、画像RAM350c上の変数に保持されている表示済フレーム数を初期値の0にリセットし、次の表示処理のために準備する。
VDP350dは、キャプチャ領域350gをクリアする。ここで、ステップS1700のフレーム表示処理において、キャプチャ領域350gが使用された場合、キャプチャ領域350gに画像データが保持されたままとなっている。そこで、VDP350dは、キャプチャ領域350gに保持された画像データを消去し、次の表示処理のために準備する。VDP350dは、この処理後、表示処理を終了する。
VDP350dは、VRAM350e上に展開された画像データのうち、現在のフレームで用いられる画像データであって、未処理の画像データがあるか否かを判定する。その結果、未処理の画像データがある場合には、ステップS1800に処理を移し、未処理の画像データがない場合には、ステップS1710-5に処理を移す。ここでいう未処理の画像データは、フレームにおいて重ねるべき画像であるが、未だに重ねられていない画像のことを指す。つまり、ここでの判定処理は、現在のフレームにおけるフレーム画像の画像データの生成が完了したか否かが判定されることに相当する。
VDP350dは、レイヤ描画処理を行う。この処理では、VDP350dは、フレームを構成する画像データを、プライオリティの低い方から高い方に向けて順番にフレームバッファ350fに展開して重ね合わせていくことにより、1つのフレーム画像を生成する。VDP350dは、レイヤ描画処理後、ステップS1710-1の処理に移る。レイヤ描画処理については、後述する。
VDP350dは、フレームバッファ350fに展開して重ね合わせることで完成されたフレーム画像の画像データに基づいて、演出表示装置200を駆動させ、演出表示部200aにフレーム画像を表示させる。
VDP350dは、フレームバッファ350fをクリアする。ここでは、VDP350dは、フレームバッファ350fに展開された画像データを消去することで、次のフレーム表示処理のために準備する。
VDP350dは、プライオリティ変数をリセットする。ここで、レイヤ描画処理において画像データを重ね合わせる際に、プライオリティ変数が使用される。プライオリティ変数は、フレームにおけるプライオリティの高低に対応する変数であり、プライオリティが最も低い1から順にインクリメントされる。プライオリティ変数は、画像RAM350c上に保持される。プライオリティが最も低いときのプライオリティ変数は、1であり、プライオリティが高いほど、プライオリティ変数は、大きな値となる。ここでは、VDP350dは、画像RAM350c上のプライオリティ変数を初期値の1にリセットし、次のフレーム表示処理のために準備する。VDP350dは、この処理後、フレーム表示処理を終了する。
VDP350dは、プライオリティ変数が所定値P以下であるか否かを判定する。その結果、プライオリティ変数が所定値P以下である場合には、ステップS1810-5に処理を移し、プライオリティ変数が所定値P以下ではない場合、すなわち、プライオリティ変数が所定値Pよりも大きい場合には、ステップS1810-3に処理を移す。
VDP350dは、この時点でフレームバッファ350fに展開されている画像データ(中間画像を示す画像データ)をキャプチャ領域350gに格納する。VDP350gは、この処理後、ステップS1810-5に処理を移す。
VDP350dは、VRAM350eに展開された画像データの中に、現在のフレームの現在のプライオリティ変数に対応する画像データがあるか否かを判定する。その結果、現在のプライオリティ変数に対応する画像データがある場合には、ステップS1810-7に処理を移し、現在のプライオリティ変数に対応する画像データがない場合には、ステップS1810-19に処理を移す。
VDP350dは、VRAM350eに展開された画像データの中から、現在のフレームの現在のプライオリティ変数に対応する画像データを取得する。
VDP350dは、取得した画像データがダミー画像を示すダミー画像データであるか否かを判定する。その結果、取得した画像データがダミー画像データである場合には、ステップS1810-11に処理を移し、取得した画像データがダミー画像データではない場合には、ステップS1810-17に処理を移す。
VDP350dは、キャプチャ領域350gに保持されている画像データを加工するか否かを判定する。その結果、画像データを加工すると判定した場合には、ステップS1810-13に処理を移し、画像データを加工しないと判定した場合には、ステップS1810-15に処理を移す。例えば、VDP350dは、演出パターン番号で指定された演出の種類に応じて、画像データの加工の有無を判定すればよい。
VDP350dは、キャプチャ領域350gに保持されている画像データを加工する。例えば、指定された演出がシェイクビジョン演出の場合、VDP350dは、キャプチャ領域350gの中間画像が縮小して傾斜するような画像となるように、キャプチャ領域350gの画像データを加工する。また、例えば、指定された演出が画面モノクロフリーズ演出の場合、VDP350dは、キャプチャ領域350gの中間画像がモノクロ画像となるように、キャプチャ領域350gの画像データを加工する。VDP350dは、この処理後、ステップS1810-15に処理を移す。
VDP350dは、ダミー画像データを、キャプチャ領域350gに保持されている画像データ、あるいは、キャプチャ領域350gに保持された画像データに加工を施した画像データに差し替える。これにより、例えば、図56の例では、画像222eの位置で取得したダミー画像が、画像222eに差し替えられて表示されることとなる。また、例えば、図57の例では、画像222gの位置で取得したダミー画像が、画像222gに差し替えられて表示されることとなる。
VDP350dは、現在のプライオリティ変数に対応する画像データをフレームバッファ350fに展開する。フレームバッファ350fには、レイヤ描画処理が繰り返されることにより、フレームを構成する複数の画像が重ね合わされた合成画像を示す画像データが展開されている。このステップでは、フレームバッファ350fにおける作成途中の合成画像の画像データの上に、さらに、現在のプライオリティ変数に対応する画像データを展開する。これにより、フレームバッファ350fにおける作成途中の合成画像の上にさらに画像が重ねられた新たな合成画像が生成される。
VDP350dは、画像RAM350cに保持されているプライオリティ変数をインクリメントして更新する。
ステップS1810-1の処理において、プライオリティ変数が所定値P以下ではない場合には、VDP350dは、本ステップS1820-1に処理を移す。本ステップS1820-1において、VDP350dは、キャプチャ済フラグがオンであるか否かを判定する。その結果、キャプチャ済フラグがオンである場合には、ステップS1810-5に処理を移し、キャプチャ済フラグがオンではない場合には、ステップS1810-3に処理を移す。
ステップS1810-3の処理後、VDP350dは、本ステップS1820-3に処理を移す。本ステップS1820-3において、VDP350dは、キャプチャ済フラグをオンする。VDP350dは、この処理後、ステップS1810-5に処理を移す。
200a 演出表示部
330 副制御基板
330a サブCPU
330b サブROM
330c サブRAM
340 アクト部
350 表示制御部
350a 表示制御CPU
350d VDP
350g キャプチャ領域
Claims (1)
- 所定の契機で複数種類の演出それぞれの実行有無を決定する演出決定手段と、
前記演出決定手段の決定にしたがって演出を実行制御する演出制御手段と、
を備え、
所定の演出、および、前記所定の演出と異なる予め設定された特定演出は、いずれも複数の画像が積層されたフレーム画像が演出表示部に表示される演出であり、
前記所定の演出および前記特定演出のそれぞれのフレーム画像は、プライオリティが異なる複数の画像を重ねることで構成されており、
前記演出制御手段は、
前記所定の演出の開始前に、前記特定演出の実行中であるか否かを確認する確認処理を実行し、
前記特定演出の実行中に前記所定の演出の実行条件である所定コマンドを受信した場合、前記所定コマンドを受信したことに基づく報知画像であって、前記所定の演出とは異なる報知画像を表示する遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017229704A JP7266363B2 (ja) | 2017-11-29 | 2017-11-29 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017229704A JP7266363B2 (ja) | 2017-11-29 | 2017-11-29 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019097711A JP2019097711A (ja) | 2019-06-24 |
JP7266363B2 true JP7266363B2 (ja) | 2023-04-28 |
Family
ID=66974548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017229704A Active JP7266363B2 (ja) | 2017-11-29 | 2017-11-29 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7266363B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7033306B2 (ja) * | 2018-03-02 | 2022-03-10 | 株式会社ソフイア | 遊技機 |
JP7242499B2 (ja) * | 2019-10-18 | 2023-03-20 | 株式会社三共 | 遊技機 |
JP7242498B2 (ja) * | 2019-10-18 | 2023-03-20 | 株式会社三共 | 遊技機 |
JP7242497B2 (ja) * | 2019-10-18 | 2023-03-20 | 株式会社三共 | 遊技機 |
JP7229900B2 (ja) * | 2019-11-21 | 2023-02-28 | 株式会社三共 | 遊技機 |
JP7229898B2 (ja) * | 2019-11-21 | 2023-02-28 | 株式会社三共 | 遊技機 |
JP7229899B2 (ja) * | 2019-11-21 | 2023-02-28 | 株式会社三共 | 遊技機 |
JP7154642B2 (ja) * | 2021-05-28 | 2022-10-18 | 株式会社サンセイアールアンドディ | 遊技機 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6168638B1 (ja) | 2017-03-03 | 2017-07-26 | 株式会社大都技研 | 遊技台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4510119B2 (ja) * | 2008-08-05 | 2010-07-21 | 株式会社大都技研 | 遊技台 |
JP6173383B2 (ja) * | 2015-06-26 | 2017-08-02 | 株式会社藤商事 | 遊技機 |
JP6426578B2 (ja) * | 2015-09-30 | 2018-11-21 | 株式会社ニューギン | 遊技機 |
JP6709605B2 (ja) * | 2015-10-26 | 2020-06-17 | 株式会社三共 | 遊技機 |
-
2017
- 2017-11-29 JP JP2017229704A patent/JP7266363B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6168638B1 (ja) | 2017-03-03 | 2017-07-26 | 株式会社大都技研 | 遊技台 |
Also Published As
Publication number | Publication date |
---|---|
JP2019097711A (ja) | 2019-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7266363B2 (ja) | 遊技機 | |
JP6681748B2 (ja) | 遊技機 | |
JP6857525B2 (ja) | 遊技機 | |
JP6685091B2 (ja) | 遊技機 | |
JP7216474B2 (ja) | 遊技機 | |
JP7092492B2 (ja) | 遊技機 | |
JP7084750B2 (ja) | 遊技機 | |
JP6741391B2 (ja) | 遊技機 | |
JP7050464B2 (ja) | 遊技機 | |
JP6856480B2 (ja) | 遊技機 | |
JP6808674B2 (ja) | 遊技機 | |
JP7160476B2 (ja) | 遊技機 | |
JP7074450B2 (ja) | 遊技機 | |
JP6767282B2 (ja) | 遊技機 | |
JP6986410B2 (ja) | 遊技機 | |
JP6832128B2 (ja) | 遊技機 | |
JP7257763B2 (ja) | 遊技機 | |
JP7339295B2 (ja) | 遊技機 | |
JP7186523B2 (ja) | 遊技機 | |
JP6982456B2 (ja) | 遊技機 | |
JP7043233B2 (ja) | 遊技機 | |
JP6826551B2 (ja) | 遊技機 | |
JP7152863B2 (ja) | 遊技機 | |
JP7168379B2 (ja) | 遊技機 | |
JP6982483B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200817 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220603 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220603 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220613 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220614 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20220708 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20220712 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221101 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20221213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230208 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20230228 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20230328 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20230328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7266363 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |