特許第6586712号(P6586712)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソフイアの特許一覧
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6586712
(24)【登録日】2019年9月20日
(45)【発行日】2019年10月9日
(54)【発明の名称】遊技機
(51)【国際特許分類】
   A63F 7/02 20060101AFI20191001BHJP
【FI】
   A63F7/02 320
【請求項の数】1
【全頁数】282
(21)【出願番号】特願2017-20200(P2017-20200)
(22)【出願日】2017年2月7日
(65)【公開番号】特開2018-126243(P2018-126243A)
(43)【公開日】2018年8月16日
【審査請求日】2018年2月22日
(73)【特許権者】
【識別番号】000132747
【氏名又は名称】株式会社ソフイア
(74)【代理人】
【識別番号】100096699
【弁理士】
【氏名又は名称】鹿嶋 英實
(72)【発明者】
【氏名】大塚 敬宏
(72)【発明者】
【氏名】畑 加都彦
(72)【発明者】
【氏名】▲高▼野 祐樹
(72)【発明者】
【氏名】山▲崎▼ 賢人
(72)【発明者】
【氏名】園田 欽章
【審査官】 福田 知喜
(56)【参考文献】
【文献】 特開2014−079268(JP,A)
【文献】 特開2013−208243(JP,A)
【文献】 特開2012−065763(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 7/02
(57)【特許請求の範囲】
【請求項1】
始動入賞があったことを条件として、表示手段の表示領域により識別情報を変動表示する変動表示ゲームを実行可能な遊技機であって、
前記始動入賞に基づき前記変動表示ゲームの実行に関する判定情報を抽出して当該変動表示ゲームの始動記憶として記憶する始動記憶手段と、
前記始動記憶手段に記憶されている始動記憶があると、前記変動表示ゲームを実行するための制御を行う変動表示ゲーム制御手段と、
前記始動記憶手段に記憶されている始動記憶に対応する始動記憶表示として、アニメーション表示を表示領域にて実行可能な演出制御手段と、を備え、
前記アニメーション表示には、アニメーションの一巡に要する時間が異なる複数の態様があり、
前記演出制御手段は、
前記アニメーション表示の進行を管理する始動記憶アニメーションタイマを有し、少なくとも前記アニメーション表示を実行している間は前記始動記憶アニメーションタイマが常に更新されるようにし、前記アニメーション表示を行う前記始動記憶が複数存在する場合、前記始動記憶アニメーションタイマによって当該複数の始動記憶の前記アニメーション表示の進行を管理し、
前記アニメーション表示の態様に応じた係数を前記始動記憶アニメーションタイマにかけた値に基づいて各態様の前記アニメーション表示を進行させることにより、前記アニメーションの一巡に要する時間が異なる複数の態様において、前記始動記憶アニメーションタイマを共用可能とすることを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ機などの遊技機に関する。
【背景技術】
【0002】
従来、パチンコ機等の遊技機としては、複数の識別情報による変動表示ゲームを表示可能な表示装置(表示手段)を有し、前記変動表示ゲームの結果に応じて遊技者に有利な状態を発生可能なものが知られている。
この種の遊技機では、例えば特許文献1に記載されているように、前記変動表示ゲームの際などの演出として、前記変動表示ゲームの結果等を示唆する予告を含む各種演出が前記表示装置等で行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−192622号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、この種の遊技機では、演出が多様化しているが、例えばよりダイナミックで興趣の高い演出が求められている。
本発明は、上記課題を解決するためになされたものであり、遊技の興趣の高い遊技機を提供することを目的とする。
【課題を解決するための手段】
【0005】
請求項1に記載の発明は、
始動入賞があったことを条件として、表示手段の表示領域により識別情報を変動表示する変動表示ゲームを実行可能な遊技機であって、
前記始動入賞に基づき前記変動表示ゲームの実行に関する判定情報を抽出して当該変動表示ゲームの始動記憶として記憶する始動記憶手段と、
前記始動記憶手段に記憶されている始動記憶があると、前記変動表示ゲームを実行するための制御を行う変動表示ゲーム制御手段と、
前記始動記憶手段に記憶されている始動記憶に対応する始動記憶表示として、アニメーション表示を表示領域にて実行可能な演出制御手段と、を備え、
前記アニメーション表示には、アニメーションの一巡に要する時間が異なる複数の態様があり、
前記演出制御手段は、
前記アニメーション表示の進行を管理する始動記憶アニメーションタイマを有し、少なくとも前記アニメーション表示を実行している間は前記始動記憶アニメーションタイマが常に更新されるようにし、前記アニメーション表示を行う前記始動記憶が複数存在する場合、前記始動記憶アニメーションタイマによって当該複数の始動記憶の前記アニメーション表示の進行を管理し、
前記アニメーション表示の態様に応じた係数を前記始動記憶アニメーションタイマにかけた値に基づいて各態様の前記アニメーション表示を進行させることにより、前記アニメーションの一巡に要する時間が異なる複数の態様において、前記始動記憶アニメーションタイマを共用可能とすることを特徴とする。
【発明の効果】
【0006】
本発明によれば、遊技の興趣の高い遊技機を提供できる。
【図面の簡単な説明】
【0007】
図1】パチンコ機の前面側斜視図である。
図2】パチンコ機の遊技盤の前面図である。
図3】パチンコ機の遊技盤の裏面図である。
図4】パチンコ機の制御系(主に遊技制御装置)を示すブロック図である。
図5】演出制御装置のブロック図である。
図6】遊技制御装置のメイン処理を示すフローチャートである。
図7】遊技制御装置のメイン処理を示すフローチャートである。
図8】チェックサム算出処理を示すフローチャートである。
図9】初期値乱数更新処理を示すフローチャートである。
図10】タイマ割込み処理を示すフローチャートである。
図11】入力処理を示すフローチャートである。
図12】スイッチ読み込み処理を示すフローチャートである。
図13】出力処理を示すフローチャートである。
図14】払出コマンド送信処理を示すフローチャートである。
図15】乱数更新処理1を示すフローチャートである。
図16】乱数更新処理2を示すフローチャートである。
図17】入賞口スイッチ/状態監視処理を示すフローチャートである。
図18】不正&入賞監視処理を示すフローチャートである。
図19】入賞数カウンタ更新処理を示すフローチャートである。
図20】遊技機状態チェック処理を示すフローチャートである。
図21】払出ビジー信号チェック処理を示すフローチャートである。
図22】特図ゲーム処理を示すフローチャートである。
図23】始動口スイッチ監視処理を示すフローチャートである。
図24】ハード乱数取得処理を示すフローチャートである。
図25】特図始動口スイッチ共通処理を示すフローチャートである。
図26】特図保留情報判定処理を示すフローチャートである。
図27】大入賞口スイッチ監視処理を示すフローチャートである。
図28】特図普段処理を示すフローチャートである。
図29】特図普段処理移行設定処理1を示すフローチャートである。
図30】特図1変動開始処理及び特図2変動開始処理を示すフローチャートである。
図31】大当りフラグ1設定処理及び大当りフラグ2設定処理を示すフローチャートである。
図32】大当り判定処理を示すフローチャートである。
図33】小当り判定処理を示すフローチャートである。
図34】特図1停止図柄設定処理を示すフローチャートである。
図35】特図2停止図柄設定処理を示すフローチャートである。
図36】特図情報設定処理を示すフローチャートである。
図37】変動パターン設定処理を示すフローチャートである。
図38】変動開始情報設定処理を示すフローチャートである。
図39】特図変動中処理移行設定処理(特図1、特図2)を示すフローチャートである。
図40】特図変動中処理を示すフローチャートである。
図41】特図表示中処理移行設定処理を示すフローチャートである。
図42】特図表示中処理を示すフローチャートである。
図43】特図表示中処理を示すフローチャートである。
図44】高確率変動回数更新処理を示すフローチャートである。
図45】演出モード情報チェック処理を示すフローチャートである。
図46】ファンファーレ/インターバル中処理移行設定処理1を示すフローチャートである。
図47】小当りファンファーレ中処理移行設定処理1を示すフローチャートである。
図48】ファンファーレ/インターバル中処理を示すフローチャートである。
図49】大入賞口開放中処理移行設定処理を示すフローチャートである。
図50】大入賞口開放中処理を示すフローチャートである。
図51】大入賞口残存球処理移行設定処理を示すフローチャートである。
図52】大入賞口残存球処理を示すフローチャートである。
図53】ファンファーレ/インターバル中処理移行設定処理2を示すフローチャートである。
図54】大当り終了処理移行設定処理を示すフローチャートである。
図55】大当り終了処理を示すフローチャートである。
図56】大当り終了設定処理1、2を示すフローチャートである。
図57】特図普段処理移行設定処理2を示すフローチャートである。
図58】小当りファンファーレ中処理と小当り中処理移行設定処理を示すフローチャートである。
図59】小当り中処理を示すフローチャートである。
図60】小当り動作移行設定処理を示すフローチャートである。
図61】小当り残存球処理移行設定処理を示すフローチャートである。
図62】小当り残存球処理と小当り終了処理移行設定処理を示すフローチャートである。
図63】小当り終了処理を示すフローチャートである。
図64】特図普段処理移行設定処理3を示すフローチャートである。
図65】演出コマンド設定処理を示すフローチャートである。
図66】図柄変動制御処理を示すフローチャートである。
図67】振り分け処理と2バイト振り分け処理を示すフローチャートである。
図68】普図ゲーム処理を示すフローチャートである。
図69】ゲートスイッチ監視処理を示すフローチャートである。
図70】普電入賞スイッチ監視処理を示すフローチャートである。
図71】普図普段処理を示すフローチャートである。
図72】普図普段処理移行設定処理1を示すフローチャートである。
図73】普図変動中処理移行設定処理を示すフローチャートである。
図74】普図変動中処理と普図表示中処理移行設定処理を示すフローチャートである。
図75】普図表示中処理を示すフローチャートである。
図76】普図当り中処理移行設定処理を示すフローチャートである。
図77】普図当り中処理を示すフローチャートである。
図78】普電作動移行設定処理を示すフローチャートである。
図79】普電残存球処理と普図当り終了処理移行設定処理を示すフローチャートである。
図80】普図当り終了処理と普図普段処理移行設定処理2を示すフローチャートである。
図81】セグメントLED編集処理を示すフローチャートである。
図82】磁石不正監視処理を示すフローチャートである。
図83】盤電波不正監視処理を示すフローチャートである。
図84】外部情報編集処理を示すフローチャートである。
図85】外部情報編集処理を示すフローチャートである。
図86】メイン賞球信号編集処理を示すフローチャートである。
図87】始動口信号編集処理を示すフローチャートである。
図88】演出制御装置のメイン処理を示すフローチャートである。
図89】受信コマンドチェック処理を示すフローチャートである。
図90】受信コマンド解析処理を示すフローチャートである。
図91】単発系コマンド処理を示すフローチャートである。
図92】単発系コマンド処理を示すフローチャートである。
図93】客待ちデモ設定処理を示すフローチャートである。
図94】客待ち用シナリオデータ設定処理を示すフローチャートである。
図95】シナリオデータ設定処理を示すフローチャートである。
図96】球貸し情報設定処理を示すフローチャートである。
図97】図柄系コマンド処理を示すフローチャートである。
図98】変動系コマンド処理を示すフローチャートである。
図99】変動演出設定処理を示すフローチャートである。
図100】変動演出設定処理を示すフローチャートである。
図101】リーチ開始演出設定処理を示すフローチャートである。
図102】SD1変動設定処理を示すフローチャートである。
図103】シナリオ設定処理を示すフローチャートである。
図104】シナリオ解析処理を示すフローチャートである。
図105】シナリオ解析処理を示すフローチャートである。
図106】モーション登録処理を示すフローチャートである。
図107】モーションデータ初期化処理1及び2を示すフローチャートである。
図108】モーション削除処理及びモーション継続処理を示すフローチャートである。
図109】定数ウェイト処理及び可変ウェイト処理を示すフローチャートである。
図110】PB待ち処理及びPB判定分岐処理を示すフローチャートである。
図111】図柄停止処理を示すフローチャートである。
図112】図柄逆算差替処理を示すフローチャートである。
図113】変動シナリオ切替処理を示すフローチャートである。
図114】繰り返し処理及び終了処理を示すフローチャートである。
図115】モーション制御処理を示すフローチャートである。
図116】モーションコマンド実行処理を示すフローチャートである。
図117】モーションコマンド実行処理を示すフローチャートである。
図118】ビットマップ追加処理を示すフローチャートである。
図119】動画追加処理を示すフローチャートである。
図120】1点指定オブジェクト移動処理を示すフローチャートである。
図121】エフェクトタイプ指定処理及びエフェクトパラメータ指定処理を示すフローチャートである。
図122】オブジェクト削除処理及びオブジェクト変更処理を示すフローチャートである。
図123】オブジェクト動画デコード処理を示すフローチャートである。
図124】ビヘイビアインデックス設定処理を示すフローチャートである。
図125】演出表示編集処理を示すフローチャートである。
図126】演出表示編集処理を示すフローチャートである。
図127】演出表示編集処理を示すフローチャートである。
図128】キャラクタ描画処理を示すフローチャートである。
図129】表示左図柄変換処理、PB色変換処理、及びリーチ文字変換処理を示すフローチャートである。
図130】遊技盤(可動役物は起立状態)の前面図である。
図131】始動口振分装置を示す図である。
図132】始動口振分装置の作用を説明する図である。
図133】静止画ROMメンバリストテーブルの一例を示す図である。
図134】動画ROMメンバリストテーブルの一例を示す図である。
図135】モーション用リストテーブルの一例を示す図である。
図136】客待ちデモ時シナリオテーブルの具体例を示す図である。
図137】特図1通常変動時シナリオテーブルの具体例を示す図である。
図138】左図柄通常変動開始時モーションテーブルの具体例を示す図である。
図139】左図柄変動開始時の表示例を示す図である。
図140】通常変動時の現図柄、前図柄、次図柄の関係を説明する図である。
図141】左図柄通常変動時モーションテーブルの具体例(連結例)を示す図である。
図142】プッシュボタン予告時シナリオ及びモーションテーブルの一例を示す図である。
図143】変動表示エンディング時シナリオテーブルの具体例を示す図である。
図144】表示レイヤーを説明する図である。
図145】演出表示の具体例を示す図である。
図146】演出表示の具体例を示す図である。
図147】画像と表示レイヤーの状態を説明する図である。
図148】シナリオテーブルの具体例を示す図である。
図149】モーションテーブルの具体例を示す図である。
図150】画像と表示レイヤーの状態を説明する図である。
図151】モーションテーブルの具体例を示す図である。
図152】演出表示の具体例を示す図である。
図153】モーションテーブルの具体例を示す図である。
図154】モーションテーブルの具体例を示す図である。
図155】演出表示の具体例を示す図である。
図156】演出表示の具体例を示す図である。
図157】演出表示の具体例を示す図である。
図158】演出表示の具体例を示す図である。
図159】シナリオテーブルの具体例を示す図である。
図160】シナリオテーブルの具体例を示す図である。
図161】シナリオテーブルの具体例を示す図である。
図162】演出表示の具体例を示す図である。
図163】演出表示の具体例を示す図である。
図164】演出表示の具体例を示す図である。
図165】演出表示の具体例を示す図である。
図166】演出表示の具体例を示す図である。
図167】演出表示の具体例を示す図である。
図168】演出表示の具体例を示す図である。
図169】縮小演出制御処理を示すフローチャートである。
図170】演出表示の具体例を示す図である。
図171】演出表示の具体例を示す図である。
図172】演出表示の具体例を示す図である。
図173】保留(始動記憶)表示の同期を説明するタイミングチャートである。
図174】保留演出設定処理を示すフローチャートである。
図175】保留演出設定処理を示すフローチャートである。
図176】演出表示の具体例を示す図である。
図177】演出表示の具体例を示す図である。
図178】演出表示の具体例を示す図である。
図179】保留(始動記憶)アニメーションタイマを説明する図である。
図180】保留演出設定処理を示すフローチャートである。
【発明を実施するための形態】
【実施例1】
【0008】
以下、本発明の実施例1として、パチンコ機に適用した場合の形態例を、図面を参照して説明する。
A.パチンコ機の正面構成
最初に、図1によって本例のパチンコ機の全体構成について説明する。図1は本例のパチンコ機1の前面側斜視図である。
パチンコ機1は、当該パチンコ機1が設置される島に対して固定される機枠2と、この機枠2にヒンジ部3において回動可能に軸支されることによって、機枠2に対して開閉自在とされた前面枠4とを備える。この前面枠4には、遊技盤20(図2及び図3に示す)が取り付けられている。遊技盤20は前面枠4の表側に形成された収納部(図示省略)に収納されている。
【0009】
また前面枠4には、その前面上側を覆うようにガラス枠5が開閉自在に取付けられている。なお、このガラス枠5により保持されるガラス板(透明のプラスチックボードでもよい、符号は省略)を介して、遊技盤20の後述する遊技領域22が前面から視認可能となっている。またガラス枠5は、ヒンジ部3において前面枠4に開閉可能に軸支されている。
ここで、前面枠4は遊技枠(或いは本体枠)という名称で呼称され、ガラス枠5は前枠という名称で呼称されることもあるが、本実施例では前面枠4、ガラス枠5で説明している。
このガラス枠5の下側には、操作パネル6が設けられている。
なお、パチンコ機1には遊技媒体貸出装置(球貸機)としてのCRユニット(カード式球貸制御ユニット又はカードユニットともいう)が併設されることもあるが、ここでは図示を略している。このCRユニットは、カードユニット接続基板(図示省略)を介して後述する払出制御装置200(図4に示す)と接続される。
【0010】
図2に示すように、遊技盤20は、板状の基材(いわゆるベニア)の前面に遊技釘を植設したもので、その前面の略円形領域がガイドレール21で囲まれることにより遊技領域22が形成されたものである。遊技領域22は、打ち込まれた遊技球を上方から落下させつつアウトあるいはセーフの判定(入賞したか否かの判定)を行う領域であり、入賞口に遊技球が入って有効にセーフとなる場合は、所定数の遊技球がガラス枠5の下部に設けられた上皿7に排出される(即ち、賞球として排出される)構成となっている。
また、前面枠4の開閉側(図1において右側)の縁部には、前面枠4及びガラス枠5の施錠装置(図示省略)の鍵挿入部8が形成されている。
【0011】
また、ガラス枠5の下部に設けられた上皿7は、賞球として又は貸球として排出された発射前の遊技球を一時保持するものである。この上皿7の上縁部には、遊技者が操作する押ボタン式の演出ボタン9が設けられている。演出ボタン9は、後述する演出ボタンスイッチ(演出ボタンSW46)を内蔵している。また、演出ボタン9の上面(押圧面)に
には、遊技者からの接触操作入力を受け付けるためのタッチパネル9aが設けられている。
また、操作パネル6には、上皿7の遊技球を遊技者の操作によって移すことができる下皿10と、遊技球の発射操作を行う発射操作ハンドル11(操作部)とが設けられている。ここで、発射操作ハンドル11には、遊技者の手などが当該発射操作ハンドル11にタッチ(接触)しているか否かを検出するタッチスイッチ11a(タッチセンサともいう)が設けられている。このタッチスイッチ11aにより発射操作ハンドル11への接触が有る状態が検出されていれば、遊技者が遊技中(即ち、遊技球を発射中)であると判定することができる。このタッチスイッチ11aは接触検出手段に相当する。
また、図1において符号12a、12bで示すものは、効果音等を出力するスピーカである。このうち符号12aは、ガラス枠5の上部左右両側に設けられた上スピーカである。また符号12bは操作パネル6の右端部(下皿10の右側)に設けられた下スピーカである。
【0012】
なお、本実施形態ではタッチパネル9aを演出ボタン9と一体的に設けたが、タッチパネル9aは、演出ボタン9と別体であってもよく、例えば、演出ボタン9の近傍にサブ表示装置を設け、そのサブ表示装置の表示面にタッチパネル9aを設けてもよい。
また、演出ボタン9右方には、遊技者が隣接する球貸機から球貸しを受ける場合に操作する球貸ボタン16、球貸機のカードユニットからプリペイドカードを排出させるために操作する排出ボタン17、プリペイドカードの残高を表示する残高表示部(図示省略)
等が設けられている。この実施形態の遊技機(パチンコ機1)においては、遊技者が上記操作部(発射操作ハンドル11)を回動操作することによって、発射装置(図示省略)が上皿7から供給される遊技球を遊技盤20前面の遊技領域22に向かって発射する。また、遊技者が演出ボタン9やタッチパネル9aを操作することによって、表示装置41の表示部41a(図2参照)における変動表示ゲーム(飾り特図変動表示ゲーム)において、遊技者の操作を介入させた演出等を行うことができる。
また図1において、符号13で示すものは、ガラス枠5の前面左右に設けられたLED(発光ダイオード)を発光源とする装飾ランプであり、符号14で示すものは、この右側の装飾ランプ13の側部に形成されたロゴ表示部14(パチンコ機のブランドを表示する部分)である。なお、この他にパチンコ機1前面には、ムービングライトが設けられていてもよい、ムービングライトは、発光源としてLEDを備え、駆動源としてモータを備えている。ここで、パチンコ機1の盤と枠という概念で装飾機構を区分するとすれば、装飾ランプ13とムービングライトは図5に示す枠装飾装置43(枠側の装飾装置)を構成し、またムービングライトは図示省略した枠演出装置(枠側の演出装置)も構成する。
【0013】
B.遊技盤の前面構成
図2において、符号21は遊技盤20のガイドレールであり、既述したように、遊技盤前面の略円形領域がこのガイドレール21で囲まれることにより遊技領域22が形成されている。
遊技領域22には、図2に示すように、アウト球流入口23、センターケース24、始動口振分装置600(後述の特図1始動口607と特図2始動口608を含む)、普通電動役物(普電)としての普通変動入賞装置26(始動入賞口26a含む)、変動入賞装置27、一般入賞口28〜31、普図始動ゲート32、ワープ入口33、表示ランプ部34、多数の遊技釘(図示省略)などが設けられている。また、遊技盤20の遊技領域22外には、一括表示装置35が設けられている。なお遊技釘は、遊技領域22の上部に飛入した遊技球がこれに当たりながら流下するものであり、センターケース等の取付部分を除いた遊技領域内に複数本植設されている。
【0014】
センターケース24は、遊技盤20の裏側に取り付けられる表示装置41(図5に示す)の表示部41a(図2に示す)の前面周囲を囲む部材(遊技演出構成体)である。一部を図示省略しているが、このセンターケース24には、演出又は装飾のためのLEDを発光源とするランプ類や、表示装置41における演出表示と協働して演出効果を高める可動役物(モータやソレノイドなどの駆動源によって作動する可動部を有する役物)が設けられている。本例の場合、この可動役物としては、図2及び図130に示すように、薔薇の花をモチーフとした装飾部701を有する可動役物700と、上側可動役物801と、左側可動役物802と、右側可動役物803とが設けられている。
【0015】
可動役物700は、図2及び図130に示すように、薔薇の花を表す装飾が表面に施された略円盤状の装飾部701と、この装飾部701が先端側に一体に設けられたアーム部703とを有し、装飾部701が表示装置41(表示手段)の表示部41a(表示画面、表示領域)に対して移動可能なものである。具体的には、この可動役物700は、センターケース24内の下部に設けられ、アーム部703が図示省略した機構及び駆動源によって表示部41aの前面に沿って揺動可能となっており、少なくとも図130に示すようにアーム部703と装飾部701が起立した起立状態と、図2に示すように前面から見て左方にアーム部703と装飾部701が略水平に倒れた初期状態(通常状態)と、これら起立状態と初期状態の間の状態(例えば斜め40度に傾斜した状態)とに、変位して停止可能となっている。そして、このうちの起立状態では装飾部701が表示部41a(表示画面、表示領域)の下部前面を部分的に覆うように前面に露出し(遊技者から見えるようになり)、一方初期状態では、装飾部701(少なくともその主要部分)がセンターケース24の左下部内に隠れて前面に露出しない(遊技者から見えない)構成となっている。
【0016】
上側可動役物801は、センターケース24内の上側に設けられ、本例の遊技盤20のテーマである薔薇(ばら)の花を模した可動演出部材が表示部41aの前面側に落下又は回転移動可能な可動役物である。左側可動役物802は、センターケース24内の前面から見て左側に設けられ、薔薇(ばら)の蔓(つる)を模した可動演出部材が表示部41aの前面側に例えば平行移動可能な可動役物である。右側可動役物803は、センターケース24内の前面から見て右側に設けられ、薔薇(ばら)の蔓(つる)を模した可動演出部材が表示部41aの前面側に例えば平行移動可能な可動役物である。なお、これら上側可動役物801、左側可動役物802、及び右側可動役物803などの可動役物は、このような態様に限定されず、各種の変形がありうる。例えば、上側、左側、右側の各可動演出部材が連動するように何れも回転移動又は平行移動して表示部41aの前面において合体可能な態様(合体して一輪の大きな薔薇を形成する態様)でもよい。また、上側可動役物801、左側可動役物802、及び右側可動役物803が、前記可動役物700と連動して動いて何かを表現することが可能な態様でもよい。
【0017】
なお、演出又は装飾のためのランプ類は、遊技盤20のセンターケース24以外の部分(遊技領域22外でもよい)にも設けられる。また、遊技盤20(センターケース24含む)に設けられた演出又は装飾のためのランプ類(本例の場合、表示ランプ部34のランプを含む)は、盤側の演出機構に相当し、盤装飾装置42(図5に示す)を構成する。また、センターケース24に設けられた可動役物(例えば、可動役物700、上側可動役物801、左側可動役物802、右側可動役物803)は、盤側の演出機構に相当し、盤演出装置44(図5に示す)を構成する。なお、盤演出装置44を構成する可動役物は、遊技盤20のセンターケース24以外の箇所に設けられてもよい。
【0018】
次に、始動口振分装置600及び普通変動入賞装置26は、後述するように特図の始動入賞口を含む始動入賞装置であり、本例では図2に示すように始動口振分装置600がセンターケース24の中央部下方に配置され、普通変動入賞装置26は始動口振分装置600の右上側(センターケース24の右側部下方)に配置されている。
始動口振分装置600は、前面が装飾カバー601で覆われており、後述するように上面から流入した遊技球を内部(装飾カバー601の奥側)の特図1始動口607又は特図2始動口608(図131に示す)に流入させる入賞装置である。この始動口振分装置600の詳細は、後述する。また、普通変動入賞装置26は、一つの始動入賞口26aを有する。
ここで、特図1始動口607、特図2始動口608、及び始動入賞口26aは、後述するように特図の始動入賞口(始動口又は始動領域と呼ぶこともある)として機能する入賞口(入賞領域)である。なお厳密に言うと、始動入賞口の内部に始動領域(遊技球が始動入賞として検出される領域)があり、始動入賞口内に遊技球が入ると始動入賞として検出される。始動口振分装置600の上面の遊技球の流入口(後述する遊技球流入口606;図131)は常に開口し、ここから始動口振分装置600内に流入した遊技機は特図1始動口607又は特図2始動口608の何れかに入賞する。普通変動入賞装置26の始動入賞口26aは、後述する開閉部材26bが開くと入賞可能な状態(遊技球の入賞可能性が高くなる開状態)になり、この開閉部材26bが閉じていると入賞不可能な状態(遊技球の入賞可能性が前記開状態よりも低くなる閉状態、入賞可能性ゼロでもよく、本実施例では入賞可能性ゼロ)になる。
【0019】
普通変動入賞装置26は、開閉部材26b(開閉扉)によって開閉される始動入賞口26aを有する装置(いわゆるミニアタッカー)であり、普通電動役物(普電)ともいう。以下では、「普通変動入賞装置26の開放」、「普電の開放」、「始動入賞口26aの開放」、「開閉部材26bの開放」とは、いずれも、上記開閉部材26bを開状態にすることを意味する。なお、この普通変動入賞装置26は、逆ハの字状に開く開閉部材によって始動入賞口26aが開閉されるタイプでもよい。
【0020】
また、変動入賞装置27は、本例では普通変動入賞装置26の下方(始動口振分装置600の右方)に設けられ、開閉部材27b(開閉扉)によって開閉される大入賞口27aを有する装置(いわゆるアタッカー)である。この大入賞口27aは、後述する大当りになったことを条件として開放されて遊技球が入賞可能となる。開閉部材27bは大入賞口ソレノイド133(図4)によって駆動される。ここで、大入賞口を含む変動入賞装置(特別変動入賞装置)は、図2では1個のみの態様を例示しているが、この特別変動入賞装置が遊技領域22に複数有る態様もあり得る。また、この特別変動入賞装置は、逆ハの字状に開く開閉部材によって大入賞口が開閉されるタイプでもよい。
【0021】
ワープ入口33は、センターケース24の左側部に形成され、センターケース24の左方を流下する遊技球が流入可能となっている。このワープ入口33から流入した遊技球は、センターケース24内の図示省略したワープ流路を経由して、センターケース24の底部に設けられたステージ24aに誘導される構成となっている。ステージ24aに誘導された遊技球は、このステージ24a上での転動を経てセンターケース24より下方に流下し、流下位置によっては例えば始動口振分装置600内に流入する。
表示ランプ部34は、例えばLEDを発光源とする複数のランプよりなり、特図1,2の第4図柄や保留表示(保留されている始動入賞記憶の数の表示)を行うものである。
【0022】
なお、表示装置41(演出手段、表示手段)は、例えば液晶表示装置を含んで構成され、通常、変動表示装置と称されるものである。なお、表示装置41の名称としては、同様の機能を持つ部材の呼び名として、例えば特別図柄表示装置、特図表示装置、図柄変動装置、可変図柄表示装置、識別情報変動装置、識別情報変動表示装置など各種あるが、機能が同じものは同一の範疇である。
表示装置41は、数字や文字などの識別情報(特図という)を表示可能な表示部41a(表示画面、表示領域)を有し、複数列の特図を表示可能である。例えば、左側と中央と右側に特図を縦3列に表示し、各列において数字や文字等よりなる特図を停止状態で表示(停止表示)したり、あるいは変動状態(例えば、縦方向にスクロールする状態)で表示(即ち、変動表示)したりすることが可能である。
また表示部41aには、上記特図とは別個に背景画像やキャラクタ画像などの演出用又は情報報知用の画像が表示可能である。
【0023】
また、いわゆる普図に相当する画像を表示装置41に表示可能な構成としてもよい。ただし、表示装置41に普図を表示した場合には、それは飾り普図のことである。表示装置41に普図を表示する構成にした場合、表示装置41は普通図柄可変表示装置に相当する。
ここで、特図とは大当りに関連する変動表示ゲームで変動表示される識別情報(特別図柄)であり、普図とは普図当り(大当りではない)に関連する変動表示ゲームで変動表示される識別情報(普通図柄)である。
普図は、本例では表示装置41の表示部41aに表示されておらず、一括表示装置35に表示する構成になっている。一括表示装置35に表示される普図を後述のように本普図という。
【0024】
このように、一括表示装置35(詳細は後述する)には特図とは別に普図も表示されており、普図ゲームについて説明すると、以下の通りである。
遊技球が普図始動ゲート32を通過したとき、一括表示装置35で普図の変動表示による普図の変動表示ゲーム(以下、普図変動表示ゲームという)が行われ、停止した普図が所定の態様(特定表示態様)であれば、普図当りと呼ばれる特典が付与される。
なお、表示装置41で普図を表示する構成にした場合には、表示装置41の画面で普図(飾り普図)の変動表示が行われる。ただし、表示装置41とは別に独自の普図表示器を配置してもよい。
【0025】
普図当りになると、普通変動入賞装置26の開閉部材26bが開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われ、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、後述の一括表示装置35の表示器によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。なお、普図の確率を高確率にすれば、普図当たりしやすくなる。
なお、一括表示装置35の表示器によって表示される普図始動記憶の保留表示は、本普図始動記憶である。一括表示装置35とは別に、飾り普図始動記憶を表示するための独自の普図始動記憶表示器を遊技領域22に配置してもよい。
【0026】
ここで、時短について説明しておくと、以下のようなものである。
時短は「時間短縮」の略で、大当たり終了後、特図や普図の変動時間を通常よりも短縮し、時間効率を高めるとともに、普図当たり確率を高めて普電(普通変動入賞装置26)の始動入賞口26aの開放(普電の開放時間を通常よりも長くすることも含む)による始動口への入賞のサポートを行うことで、所定の特図の変動表示ゲームの実施回数まで持ち玉(持球数)を減らさずに効率よく特図を変動させる機能である。即ち時短とは、狭義には特図や普図の変動時間を通常よりも短縮することであるが、普電への入賞可能性を高めるいわゆる普電サポート状態(電サポ状態)において行われる特別制御全体を意味する場合もある。普電サポート状態において行われる特別制御とは、上述したように普図の変動パターン(普図変動時間、普図停止時間など)を遊技者に有利に変更する制御(例えば普図変動時間を短縮する制御など)、普図当り確率を高める制御、普電の開放パターン(開放時間、開放回数など)を遊技者に有利に変更する制御(例えば開放時間を長くする制御、或いは開放回数を増やす制御)のうちの何れか一つ又は複数である。
【0027】
次に一括表示装置35は、いわゆる普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示(場合により、特図保留表示、普図保留表示という)や、遊技状態の表示を行うものであり、例えばLEDを発光源とする複数の表示器(例えば、1個の小さなランプよりなる表示器、或いは本特図としての数字等を表示可能な例えば7セグメントの表示器)によって構成される。例えば、一括表示装置35の中のLEDセグメントのうち、特図1を表示するものは特図1表示器、特図2を表示するものは特図2表示器として配置されている。
なお、始動記憶の保留表示(場合により、単に「始動記憶表示」或いは「保留表示」という)とは、変動表示ゲームが未実施の状態で保留されている始動記憶の数等を報知するための表示であり、一般的には、始動記憶毎にランプ等の点灯によって表示する。即ち、始動記憶が3個有れば、3個のランプを点灯させたり、3個の図形を表示させたりすることによって行われる。但し、変動表示ゲームが未実施の始動記憶に限らず、変動表示ゲームを実行中の始動記憶についても表示を行う場合がある。例えば、特図の変動表示を行う変動表示装置41の表示部41a(表示領域)では、演出の一種として、変動表示ゲームを実行中の始動記憶についても変動中保留として表示を行うことがあり、この表示も広義には始動記憶表示(保留表示)である。
【0028】
また、この一括表示装置35の表示器によって表示されるものが本特図や本普図(正式な特図や普図)であるのに対して、前述の変動表示装置41の表示部41a等で行われる特図や普図(ただし、変動表示装置41で普図を表示する構成を採用した場合)の表示は、遊技者向けの演出用のダミー表示である。このため、遊技者から見て特図や普図といえば、このダミー表示の方を指している。なお以下では、このダミー表示であることを強調する場合に、例えば「飾り特図」、「飾り普図」と表記する。
このように、この一括表示装置35は、遊技者向けのものではなく、遊技盤20の検査などで使用されるものである。遊技者向けの特図の始動記憶の表示(特図保留表示)は、例えば変動表示装置41の表示部41a、或いは遊技盤20に設けた複数のランプ(本例の場合、例えば前述の表示ランプ部34の一部のランプ)によって行われる。
【0029】
次に、始動口振分装置600の構成及び動作について、図131及び図132により説明する。なお、図131(a)、図132(a)、及び図132(b)は、装飾カバー601を取り外した状態の始動口振分装置600の前面図である。また、図131(b)は、後述する振分部材603等を上方から見た上面図である。
始動口振分装置600は、前述した装飾カバー601(図2に示す)に加え、図131(a)に示すベース部材602、振分部材603、ベース部材側磁石604、及び振分部材側磁石605を有する。
ベース部材602は、全体として箱型の部材であり、上面に遊技球(パチンコ球)が上方から流入可能な遊技球流入口606が形成され、内側下部の左右両側の位置(前面から見て振分部材603の左下と右下の位置)には特図1始動口607と特図2始動口608が左右に並んで設けられている。
【0030】
振分部材603は、ベース部材602内における遊技球流入口606の略直下の位置に配置され、遊技盤面に垂直な前後方向(図131(a)における紙面に垂直な方向)の回転軸603aの中心軸線を中心として所定角度回転自在にベース部材602に取り付けられている。ここで所定角度とは、後述する左寄り状態から右寄り状態までの角度範囲である。この振分部材603の前面側であって回転軸603aの外周側には、図131(a)に示すように、振分板状部610、左側ガイド壁部611、及び右側ガイド壁部612が設けられている。振分板状部610は、その左右両面が遊技盤面に垂直な前後方向に平行とされ、前面から見ると、図131(a)に示すように回転軸603aの外周近傍から径方向に伸びており、この振分板状部610の先端部の裏側の位置に振分部材側磁石605が固定されている。遊技球流入口606から流下した遊技球は、この振分板状部610の左右両面側のうちの何れか一面側に流下する構成となっている。また、左側ガイド壁部611及び右側ガイド壁部612は、その上面が遊技盤面に垂直な前後方向に平行とされ、遊技球流入口606から流下した遊技球が、これら左側ガイド壁部611又は右側ガイド壁部612の何れか一方の上面に当接する構成となっている。また、前面から見て振分板状部610が真っ直ぐ上を向いた中立状態では、左側ガイド壁部611が振分板状部610の左下方(回転軸603aより左側)に位置し、この左側ガイド壁部611の上面が回転軸603aの外周近傍より左斜め下方に向かって伸びる姿勢となり、一方、右側ガイド壁部612は振分板状部610の右下方(回転軸603aより右側)に位置し、この右側ガイド壁部612の上面は回転軸603aの外周近傍より右斜め下方に向かって伸びる姿勢となるよう構成されている。
【0031】
そして、ベース部材側磁石604及び振分部材側磁石605は永久磁石であり、図131(b)に示すようにベース部材側磁石604はベース部材602の奥側内面における遊技球流入口606の直下の位置より奥側に固定され、前記中立状態においては、振分部材側磁石605がベース部材側磁石604の略真正面に対向する位置(中立位置)にくる構成となっている。また、振分部材側磁石605は振分部材603の裏面側における回転軸603aの中心軸線から所定寸法離れた位置(振分板状部610の先端部の裏側の位置)に固定されている。なお図131(b)では、煩雑を避けるため、ベース部材側磁石604及び振分部材側磁石605とのその周辺(特図1始動口607及び特図2始動口608を含む)のみを示して他は図示省略している。
また、図132(a)及び図132(b)に示すように、振分部材側磁石605は、ベース部材602に対する振分部材603の回転に伴って、ベース部材側磁石604の略真正面に対向する位置(中立位置)を中心として、左右に所定角度揺動するように動くことが可能な構成となっている。ここで、ベース部材側磁石604と振分部材側磁石605は互いに対向する側が同極となるような姿勢で固定されており、磁力により互いに反発する構成となっている。また、遊技球流入口606から始動口振分装置600の内部(即ち、ベース部材602の内部)に流下した遊技球は、図131(b)において符号Pで示す位置(振分部材603の前面側であって、遊技球流入口606の直下の位置)にまず落下する構成となっている。
【0032】
以上のような構成の始動口振分装置600では、各部の詳細な寸法や位置関係等を設定することにより、モータ等の駆動源無しの構成でありながら、次のような遊技球Pの振分動作が実現される。即ち、振分部材603は、遊技球Pの流入のない自然状態では、上記磁力による反発によって、正面から見て振分部材側磁石605がベース部材側磁石604よりも右側にある右寄り状態(図131(a)に示す状態)か、正面から見て振分部材側磁石605がベース部材側磁石604よりも左側にある左寄り状態(図131(a)とは左右反対の状態)のうちの何れかで停止している。つまり振分部材603は、遊技球Pの流入のない自然状態では、上記磁力による反発によって、前述した中立位置でない状態(前記右寄り状態又は左寄り状態)に維持される。しかし、遊技球流入口606から遊技球Pが流入して落下すると、遊技球Pが振分板状部610の前面から見て左側又は右側の何れかに落下し、左側ガイド壁部611又は右側ガイド壁部612のうちの何れか一方の上面に当接してこれを押し下げることによって、振分部材603の一方向への回転(即ち振分部材側磁石605の回転移動)が生じ、これに伴って、落下した遊技球Pは図132(a)又は(b)に示すように、特図1始動口607又は特図2始動口608の何れか一方に振り分けられて流入(入賞)する。そして、このように遊技球Pが何れかの始動口に入球する際の動作により、振分部材603は、右寄り状態から左寄り状態へ、或いは逆に左寄り状態から右寄り状態に切り替わり、遊技球Pが遊技球流入口606から入って落下する度に向きの異なる同様の動作が交互に行われることになる。即ち、始動口振分装置600のこのような動作によって、遊技球流入口606に流入する遊技球は、特図1始動口607又は特図2始動口608に交互に流入する。言い換えると、遊技球流入口606に流入した遊技球が特図1始動口607に入賞したとすると、次に遊技球流入口606に流入する遊技球は特図2始動口608に入賞し、遊技球流入口606に流入した遊技球が特図2始動口608に入賞したとすると、次に遊技球流入口606に流入する遊技球は特図1始動口607に入賞する。
【0033】
C.パチンコ機裏側の構成
次に図3は、本実施例のパチンコ機1の遊技盤20の裏側を示す図である。
パチンコ機1における裏機構の主要な部品としては、貯留タンク(図示省略)、誘導路(図示省略)、払出ユニット(図示省略)、カードユニット接続基板(図示省略)、外部情報端子板55(図4に示す)、払出制御装置200(図4に示す)、遊技制御装置100、演出制御装置300、及び電源装置500(図4に示す)などがある。このうち、遊技制御装置100と演出制御装置300は、図3に示すように遊技盤20の裏面に設けられている。
【0034】
なお、図3では本来直接に演出制御装置300のボックスは見えず、カバー部材(図示省略)の奥に演出制御装置300の基板を収納するボックスが配置されている。カバー部材は、遊技機裏面に遊技球が入り込まないようにする機能を有するもので、例えば扉状に開閉可能な構造である。但し、図3に示すように、演出制御装置300の音量スイッチ(音量SW)388と設定確認用LED339は、遊技盤20の裏面側に露出し、例えば遊技機製造工場の作業員や遊技店の店員がこの設定確認用LED339を見ながら音量SW338を操作することが可能な構成となっている。なお、音量スイッチ388は、スピーカ12a、12bから出力される音の音量或いは音量範囲を設定するもので、設定確認用LED339は、音量SW338が所定の操作位置になると点灯するものである。即ち、演出制御装置300の図示省略した制御によって、音量SW338により変更した設定値がバックアップRAM(例えば後述のFeRAM327)に登録されたデフォルトの設定値と一致していない場合には、設定確認用LED339は消灯し、音量SW338により変更した設定値が前記デフォルトの設定値と一致している場合には、設定確認用LED339は点灯する構成となっている。このように、設定確認用LED339がデフォルトの設定において点灯することにより、操作する者は、音量SW338の目盛の小さな数字を見なくても(或いはこの数字が見えなくても)、音量SW338をデフォルトの設定に切り替えることが極めて容易にできる。
【0035】
貯留タンクは、払出される前の球を予め貯留しておくもので、この貯留タンクの球数の不足は補給センサ(図示略)によって検出され、不足のときは島設備のシュートと呼ばれる機器から球が補給される。貯留タンク内の球は誘導路により誘導され、払出ユニットによって前述の上皿7に排出される。なお払出ユニットは、内蔵する払出モータの回転量に応じた球数の遊技球の排出が可能であり、この払出ユニットによって上皿7に向けて払い出される遊技球は、払出球検出スイッチ(図示省略)によって検出される。
外部情報端子板55はパチンコ機1の各種情報をホールの管理装置に送る場合の中継端子基板(外部端子基板)としての機能を有するものである。
【0036】
払出制御装置200は、遊技球の払出(賞球払出と貸球払出の両方)に必要な制御(前記払出ユニットの制御含む)を行うもので、所定のケース内にこの制御機能を実現する回路基板が収納されて構成されている。この払出制御装置200は、図4に示すように遊技制御装置100に接続されて遊技制御装置100から送信される払出制御コマンドに基づき、所定数の遊技球を賞球として上皿7に排出させる賞球払出の制御を行う。また払出制御装置200は、前記カードユニットからのBRDY信号やBRQ信号に基づいて、所定数の遊技球を貸球として上皿7に排出させる貸球払出の制御を行う。
遊技制御装置100は、遊技盤20に配設されているソレノイド等を制御するとともに、他の制御装置に制御情報(コマンド)を送って、遊技の進行を統括的に管理制御するものであり(詳細後述する)、これら制御を行うマイコンを含む回路が形成された基板が、所定のケース内に収納された構成となっている。
【0037】
演出制御装置300は、遊技制御装置100から送信されるコマンドに基づき、前述の表示装置41や装飾ランプや演出装置やスピーカ12a、12bの制御を行うもので、所定のケース内にこの制御機能を実現する回路基板が収納されて構成されている。
また、カードユニット接続基板は、パチンコ機1側と球を貸し出すCRユニット(カードユニット)側との配線接続のための基板である。このカードユニット接続基板での上記配線接続がされていないと、パチンコ機1では遊技球の発射が不可能となるように制御される。
なお一般に、パチンコ機の機種交換などの場合には、前記カードユニットを除くパチンコ機全体を交換するか、或いはパチンコ機の枠側(払出制御装置含む)を残して遊技盤側(遊技盤と遊技制御装置などの主要な制御装置含む)だけを交換する場合もある。
【0038】
D.制御系の構成
次に、本例のパチンコ機1の制御系について、図4乃至図5を参照して説明する。なお図や以下の説明において、「SW」はスイッチを意味する。また、図面では部材の名称が長い場合に図示がしにくくなるので、適宜、短めにして表記(図示)することがある。
パチンコ機1は、制御系の主な構成要素として、遊技制御装置100、払出制御装置200、演出制御装置300、発射制御装置(図示省略)、及び電源装置500を備えている。
【0039】
(遊技制御装置関係)
まず、パチンコ機1の遊技制御装置100の構成と、この遊技制御装置100に接続される機器について、図4によって説明する。
遊技制御装置100は、遊技を統括的に制御する主制御装置(主基板)であって、遊技用マイクロコンピュータ(以下、遊技用マイコンと称する)101及び検査装置接続端子(図示省略)を備えている。遊技制御装置100は制御装置或いは制御手段に相当する。遊技制御装置100の詳細構成については、後述する。
検査装置接続端子は、例えばフォトカプラ179(図4に示す)を含んで構成され、遊技用マイコン101から得られる各種の遊技情報を検査装置185に伝送するためのケーブルが接続される端子である。
【0040】
遊技制御装置100には、第1始動口スイッチ120(図4では始動口1スイッチ)、第2始動口スイッチ121(図4では始動口2スイッチ)、ゲートスイッチ122、入賞口スイッチ123、大入賞口スイッチ124、磁気センサ126、盤電波センサ127、ガラス枠開放検出スイッチ211、前面枠開放検出スイッチ212(図4では本体枠開放検出スイッチ)からの検出信号が入力される。
ここで、第1始動口スイッチ120は前記特図1始動口607に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサであり、第2始動口スイッチ121は前記始動入賞口26a又は特図2始動口608に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサである。本例の場合、第2始動口スイッチ121(始動口2スイッチ)は、始動入賞口26aと特図2始動口608とで共通のものとして説明しているが、始動入賞口26aと特図2始動口608とにそれぞれ別個に設けられて合計2個ある態様でもよい。
大入賞口スイッチ124は、前記変動入賞装置27の大入賞口27aに入賞した遊技球を検出する同様のセンサ(いわゆるカウントスイッチ)である。この大入賞口スイッチ124は、大入賞口が複数個あるときには、それぞれに1個又は2個程度、全体としてx個設けられる。
また、入賞口スイッチ123は一般入賞口28〜31に対して設けられた同様のセンサであり、一般入賞口がn個あるときには、それぞれに1個ずつ、全体としてn個設けられる。なお、一般入賞口のそれぞれに1個ずつセンサを設けるのではなく、複数の一般入賞口に対して、全体で1個のセンサを設けるようにしてもよい。ゲートスイッチ122は前記普図始動ゲート32を通過する遊技球を1個ずつ検出するセンサである。
これら遊技球を検出する上記各センサ120、121、122、123、124は、本例では近接スイッチであり、ハイレベルが11Vでロウレベルが7Vのような負論理の検出信号を出力するように回路構成されている。
【0041】
また、磁気センサ126や盤電波センサ127は、遊技盤20の裏面等に設けられ、磁気又は電波によって不正を検出するセンサである。例えば、磁気センサ126は遊技盤20における一般入賞口28、30、31及び変動入賞装置27の大入賞口27aのそれぞれに配置(つまり4箇所に配置)され、一般入賞口28、30、31、変動入賞装置27の大入賞口27aの周辺に磁石を使って遊技球を積み上げ、各入賞口への入賞を容易にさせる等の不正を検知するためのセンサである。なお、磁気センサ126は上記のように4箇所に配置する構成でなく、それ以上の箇所に配置する構成であってもよい。
磁気センサ126は、その設置箇所がk個あるときには、それぞれに1個ずつ、全体としてk個設けられる。同様に盤電波センサ127も、その設置箇所がm個あるときには、それぞれに1個ずつ、全体としてm個設けられる。
さらに、ガラス枠開放検出スイッチ211はパチンコ機前面のガラス枠5が開放されていることを検出するセンサである。前面枠(本体枠)開放検出スイッチ212はガラス枠5が取り付けられた前面枠4が開放されていることを検出するセンサである。
なお、遊技制御装置100には、上記各センサ120、121、122、123、124、及び127からの信号を処理する近接I/F163が設けられているが、詳細は後述する。
【0042】
ここで、遊技制御装置100及び該遊技制御装置100によって駆動される後述のソレノイド132、133などの電子部品には、電源装置500で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
電源装置500は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部501と、遊技用マイコン101の内部のRAM(後述するRAM101C)に対して停電時に電源電圧を供給するバックアップ電源部502と、停電監視回路を有し遊技制御装置100に停電の発生、回復を知らせる停電監視信号やリセット信号などの制御信号を生成して出力する制御信号生成部503などを備える。
【0043】
なお、遊技用マイコン101の内部のRAMなどを初期化するためのRAMクリアスイッチ(RAM初期化スイッチ)504は、本例では遊技制御装置100に設けられているが、このRAMクリアスイッチ(RAM初期化スイッチ)504を電源装置500に設けてもよい。
またこの実施例1では、電源装置500は、遊技制御装置100と別個に構成されているが、バックアップ電源部502及び制御信号生成部503は、別個の基板上あるいは遊技制御装置100と一体、即ち、主基板上に設けるように構成してもよい。遊技盤20及び遊技制御装置100は機種変更の際に交換の対象となるので、このように、電源装置500若しくは主基板とは別の基板にバックアップ電源部502及び制御信号生成部503を設けることにより、機種変更の際の交換の対象から外しコストダウンを図ることができる。
【0044】
上記バックアップ電源部502は、電解コンデンサのような大容量のコンデンサ1つで構成することができる。バックアップ電源は、遊技制御装置100の遊技用マイコン101(特に内蔵RAM101C)に供給され、停電中あるいは電源遮断後もRAMに記憶されたデータが保持されるようになっている。制御信号生成部503は、例えば通常電源部501で生成された32Vの電圧を監視して、それが例えば17V以下に下がると停電発生を検出して停電監視信号を変化させる(例えば、オンさせる)とともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
【0045】
RAMクリアスイッチ504からは初期化スイッチ信号が出力されるようになっており、初期化スイッチ信号はRAMクリアスイッチ504がオン状態にされたときに生成される信号で、遊技用マイコン101内のユーザワークRAM101CなどのRAMエリア及び払出制御装置200内の同様のRAMエリアに記憶されている情報を強制的に初期化する。
なお本例の場合、初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン101や払出用マイコン(払出制御装置200のマイクロコンピュータ)が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は、強制読み込み信号の一種であり、制御システム全体をリセットさせる。
【0046】
次に、遊技制御装置100は、払出制御装置200、演出制御装置300、普電ソレノイド132、大入賞口ソレノイド133、及び一括表示装置35と接続されている。
また遊技制御装置100は、中継基板170を介して図示省略した試射試験装置(試験機関における試験時に接続される)に接続可能となっている。試射試験装置は、認定機関が遊技機の試射試験などを行うものである。
また、遊技制御装置100からは外部情報端子板55を介して遊技制御装置100の外部情報が外部装置としての管理装置に出力されるようになっている。
外部情報端子板55は、遊技制御装置100とケーブルで接続されており、外部情報を外部装置としての管理装置(図示省略、例えばホールコンピュータと呼ばれる装置)に伝送する際の中継を行う。
なお、管理装置は遊技店に設置された多数のパチンコ機からの情報(例えば、外部情報など)を収集して、営業に必要な情報の演算処理や集計表示などの処理を行う。
【0047】
ここで、外部情報としては、例えば遊技制御装置100に入力された信号を外部へ知らせる信号や、遊技進行の過程で発生する大当りを知らせる大当り信号、図柄(特図)を回動させるための条件となる始動口への入賞を知らせる始動口信号、図柄が回動開始、或いは、図柄の回動停止をトリガに図柄回転を知らせる図柄確定回数信号、遊技状態が遊技者に有利な状態であること(いわゆる確変状態、時短状態)を示す特典状態信号、等、外部へ報知する信号であり、これらを総称して遊技機状態信号と称している。
また、遊技制御装置100からは払出制御装置200に対してシリアル通信でデータ(例えば、払出コマンド)が送信されるようになっている。一方、払出制御装置200から遊技制御装置100に対して、払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号、枠電波不正信号、払出ビジー信号、タッチスイッチ信号が出力される。各信号の内容は後述する。
【0048】
次に、遊技制御装置100に接続されているソレノイドなどについて説明する。
普電ソレノイド132は普通変動入賞装置26の開閉部材26bを開閉させるソレノイド、大入賞口ソレノイド133は変動入賞装置27の開閉部材27bを開閉させるソレノイド、一括表示装置35は前述したように、いわゆる普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示や遊技状態の表示を行うものである。
また、遊技制御装置100からは演出制御装置300に対して、シリアル通信でデータ(コマンド)が送信されるようになっている。
【0049】
(演出制御装置関係)
次に、演出制御装置300の構成と、この演出制御装置300に接続される機器について説明する。
演出制御装置300は、主制御用マイコン311、表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP312、各種のメロディや効果音などの出力を制御する音源LSI313などを有しているが、細かい構成については、図5で後述する。演出制御装置300は制御装置及び制御手段に相当する。
演出制御装置300は遊技制御装置100の遊技用マイコン101からの制御コマンド(後述するMODEとACTIONのデータよりなる)を解析し、演出内容を決定して表示装置41の出力映像の内容を制御したり、音源LSI313への再生音の指示をしてスピーカ12a、12bを駆動して効果音等を出したり、前述した盤装飾装置42、枠装飾装置43、及び盤演出装置44の駆動制御などの処理を実行する。また、演出制御装置300は遊技制御装置100からエラー報知の指示を受けると、エラー報知LED(図示省略)に対して信号を出力してオンさせる。
ここで、遊技制御装置100の遊技用マイコン101から演出制御装置300へ送信されるコマンドには、単独コマンド(例えば、停止コマンド)の他に、単独では演出を開始せず、組で効果を発揮するものがあるが、それは例えば特図変動開始時の「変動パターンコマンド+図柄指定コマンド」などである。
【0050】
上記の他に主要なコマンドを説明すると、確率情報コマンドがある。これは、特図ゲームモードフラグに対応して準備されるもので(後述のステップS25、S30、S694、S779、A248等参照)、そのときの確率状態を反映するフラグである。
なお、遊技制御装置100から送信した確率情報コマンドを、例えば演出制御装置300が受信しても、そのコマンドだけでは直ちに表示装置41の画面が変化するわけではなく、画面を演出するための内部的なパラメータの変更をするだけである。その後、画面を変化するコマンド(変動系、客待ちデモコマンドなど)を受信すると、その時の確率状態として反映する構成である。
また、大当り中は低確率と決まっているので、確率情報コマンドを受けなくとも大当り系コマンドを受信すると、内部パラメータを強制的に低確率に書き換える場合もある。
確率情報コマンドによって分かる情報としては、例えば以下のようなものがある。
・「低確率・時短あり(所謂100回転の時短中などを指す)」
・「高確率・時短あり(所謂確変中)」
ここで、遊技機(パチンコ機1)における「確率の情報」とは「確変か否か」だけでなく、「時短中か否か」という情報も含んでいる。遊技機の状態は「低確率・時短なし」、「低確率・時短あり」、「高確率・時短あり」、「高確率・時短なし」の4種類に大きく分けられる。本実施例では上記のうちの3種類(例えば「低確率・時短なし」を除いたもの)を使用しており、確率情報コマンドにはさらに演出モードの情報が含まれている(後述する)。確率情報コマンドは、各状態の変化するタイミングで遊技制御装置100から送信される。
なお、コマンド通信はシリアル通信方式でもよいし、あるいはパラレル通信方式でもよい。本実施例では、コマンド通信としてシリアル通信方式を採用している。
【0051】
(払出制御装置関係)
次に、払出制御装置200の構成と、この払出制御装置200に接続される機器について説明する。
払出制御装置200は、図示省略しているが、遊技球の払出(賞球払出又は貸球払出)を制御する払出用マイクロコンピュータ(払出用マイコンと称する)、エラーナンバー表示器、エラー解除スイッチ、検査装置接続端子を備えている。払出制御装置200は制御装置に相当する。
ここで、検査装置接続端子は、例えばフォトカプラを含んで構成され、払出用マイコンから得られる払い出しに関連する各種の情報を検査装置に伝送するためのケーブルが接続される端子である。エラーナンバー表示器は払出制御の処理でエラーがある場合に、エラーの内容に応じて特定のナンバーを点灯させる。エラー解除スイッチは払出制御の処理でエラーがあって処理が停止した場合などに、操作されるとエラーを解除する信号を出すものである。
【0052】
払出制御装置200の入力側に接続される機器としては、図示省略しているが、オーバーフロースイッチ、枠電波センサ、払出球検出スイッチ、及びシュート球切れスイッチがある。
ここで、オーバーフロースイッチは下皿10の遊技球が過剰であることを検出するスイッチ、枠電波センサは例えば前面枠4又はガラス枠5に設けられて不正などの異常な電波を検知するセンサ、払出球検出スイッチは前述した払出ユニットによって上皿7に向けて払い出される遊技球(賞球あるいは貸球)を1個ずつ検出するスイッチ、シュート球切れスイッチは前述した貯留タンクに遊技球を供給するシュートに遊技球が無いことを検出するスイッチである。
なお、枠電波センサは払い出される遊技球が払出球検出スイッチを通過するときに、電波によって当該センサを反応させないようにして規定数以上の遊技球を獲得する等の不正を検出するセンサである。枠電波センサはその他の不正な電波を検出するものでもよい。
【0053】
また、払出制御装置200の出力側に接続される機器としては、図示省略しているが、前記払出ユニットの払出モータ、カードユニット接続基板、発射制御装置及び外部情報端子板55(図4に示す)がある。
払出制御装置200は、遊技制御装置100からの信号(払出制御コマンド)に従って、払出ユニットの払出モータを駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置200は、カードユニット接続基板に接続されているカードユニット(CRユニット)からのBRQ信号(貸出要求信号)等に基づいて払出モータを駆動させ、貸球を払い出させるための制御を行う。
【0054】
また、カードユニット接続基板には操作パネル基板(図示省略)が接続されており、この操作パネル基板はパチンコ機1に設けられている球貸可LED、残高表示器、球貸スイッチ、返却スイッチ(何れも図示略)などが接続されている。操作パネル基板は球貸可LED、残高表示器などの信号をカードユニット(CRユニット)から受け取るとともに、球貸スイッチ、返却スイッチからの操作信号をカードユニット(CRユニット)に送り、貸球の払い出しに必要な制御が行われる。ここで、球貸スイッチは、前述の球貸ボタン16(図1)の操作によって作動するスイッチである。また返却スイッチは、前述の排出ボタン17(図1)の操作によって作動するスイッチである。
なお図示省略しているが、この払出制御装置200のRAMエリアにも、停電時に電源装置500からバックアップ電源が供給される構成となっている。
【0055】
払出制御装置200は、遊技制御装置100から受信した払出コマンドに基づいて作成した賞球信号(賞球として払い出した球数情報)を外部情報端子板55を介して外部装置としての管理装置に出力する。
外部情報端子板55は払出制御装置200に対してもケーブルで接続されており、賞球信号を外部装置としての管理装置に伝送する際の中継を行う。
【0056】
発射制御装置(図示省略)は、払出制御装置200から必要な電源の供給を受けるとともに、発射許可信号、停電検出信号を受けるようになっている。発射制御装置は発射操作ハンドル11の操作に従って遊技球を発射する発射装置の発射モータを制御するとともに、発射制御装置には発射操作ハンドル11に設けられたタッチスイッチ11aや発射停止スイッチ(図示略)からの信号が入力されている。発射停止スイッチは遊技球の発射を一時的に停止するもので、遊技者によって操作されるものである。タッチスイッチ11aは遊技者の手などが発射操作ハンドル11にタッチしているか否かを検出するものであり、接触検出手段に相当する。本実施例では、このタッチスイッチ11a(接触検出手段)の検出情報は、タッチスイッチ信号(図4に示す)として払出制御装置200から遊技制御装置100に送信され、さらに遊技制御装置100から演出制御装置300にコマンドデータとして送信される構成となっている(後述する遊技機状態チェック処理参照)。これにより、演出制御装置300が遊技者の発射操作ハンドル11(操作部)への接触の有無を常時監視できる構成となっている。
【0057】
次に、遊技制御装置100の詳細な構成について、図4によって説明する。
遊技制御装置100は、遊技を統括的に制御する主制御装置であって、主基板(つまり主基板に形成された回路)に相当し、具体的には図4に示す回路よりなる。この遊技制御装置100は、図4に示すように、遊技用マイクロコンピュータ(つまり、遊技用マイコン)101を有するCPU部150、入力ポートなどを有する入力部151、出力ポートなどを有する出力部152、CPU部150と入力部151と出力部152との間を接続するデータバス153などからなる。
【0058】
上記CPU部150は、アミューズメントチップ(IC)と呼ばれる遊技用マイコン101と、水晶振動子のような発振子を備え、CPUの動作クロックやタイマ割込み、乱数生成回路の基準となるクロックを生成する発振回路113とを有する。遊技用マイコン101には、後述する近接I/F163からの信号(始動入賞検出信号)が入力されるが、この信号を論理反転するインバータなどからなる反転回路がCPU部150にさらに設けられていてもよい。
遊技用マイコン101は、CPU(中央処理ユニット:マイクロプロセッサ)101A、読出し専用のROM(リードオンリメモリ)101B及び随時読出し書込み可能なRAM(ランダムアクセスメモリ)101Cを備える。ROM101Bは、遊技制御のための不変の情報(プログラム、固定データ、各種乱数の判定値等)を不揮発的に記憶し、RAM101Cは、遊技制御時にCPU101Aの作業領域や各種信号や乱数値の記憶領域として利用される。ROM101B又はRAM101Cとして、EEPROMのような電気的に書換え可能な不揮発性メモリを用いてもよい。
【0059】
CPU101Aは、ROM101B内の遊技制御用プログラムを実行して、払出制御装置200や演出制御装置300に対する制御信号(コマンド)を生成したり、普電ソレノイド132、大入賞口ソレノイド133や一括表示装置35の駆動信号を生成したりしてパチンコ機1全体の制御を行う。
また、図示しないが、遊技用マイコン101は、特図変動表示ゲームの大当り判定用の大当り乱数や大当りの図柄を決定するための大当り図柄乱数、普図変動表示ゲームの当り判定用の当り乱数等をハード的に生成するための乱数生成回路と、発振回路113からの発振信号(原クロック信号)に基づいてCPU101Aに対する所定周期(例えば、4ミリ秒)のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータと、を備えている。
【0060】
ここで、遊技制御装置100及び該遊技制御装置100によって駆動される普電ソレノイド132、大入賞口ソレノイド133などの電子部品には、電源装置500で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
【0061】
次に、遊技制御装置100の入力部151には、入力ポートとして、第1入力ポート160、第2入力ポート161、及び第3入力ポート162が設けられている。この入力部151には、第1始動口スイッチ120、第2始動口スイッチ121、ゲートスイッチ122、入賞口スイッチ123、大入賞口スイッチ124、磁気センサ126、盤電波センサ127、ガラス枠開放検出スイッチ211、及び前面枠(本体枠)開放検出スイッチ212からの検出信号が入力される。
入力部151には、上記の各スイッチ120〜124、127から入力される検出信号を0V−5Vの正論理の信号に変換するインタフェースチップ(近接I/F)163が設けられている。近接I/F163は、入力の範囲が7V−11Vとされることで、近接スイッチ(上記各スイッチ120〜124、127)のリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常状態を検出でき、このような異常状態を検出すると異常検知信号を出力する構成とされている。また近接I/F163には、前記のような信号レベル変換機能を可能にするため、電源装置500から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されている。
【0062】
ここで、近接I/F163の出力(異常検知信号除く)のうちの一部(上記各スイッチ120〜124からの出力)は第3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるとともに、主基板としての遊技制御装置100から中継基板170を介して試射試験装置(図示省略)へ供給されるようになっている。
また、近接I/F163の出力のうち盤電波センサ127の検出信号は、第2入力ポート161へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
【0063】
近接I/F163の出力のうち第1始動口スイッチ120と第2始動口スイッチ121の検出信号は、第3入力ポート162の他、遊技用マイコン101へ反転回路無しで入力されるように構成されている。ここに反転回路を設ける必要があるのは、遊技用マイコン101の信号入力端子が、マイクロスイッチなどからの信号が入力されることを想定し、かつ負論理、即ち、ロウレベル(0V)を有効レベルとして検知するように設計されている場合である。本例は、遊技用マイコン101の信号入力端子が正論理を有効レベルとして検知できる場合であるので、反転回路は不要となる。
さらに、近接I/F163の出力のうち、近接I/F163において各スイッチ120〜124やセンサ127の異常を検出した際に出力される前述の異常検知信号は第2入力ポート161へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
【0064】
次に第2入力ポート161には、ガラス枠開放検出スイッチ211や前面枠(本体枠)開放検出スイッチ212からの信号、磁気センサ126からの信号が入力されるとともに、盤電波センサ127からの信号が近接I/F163を介して入力され、前記異常検知信号が近接I/F163から入力される。
なお、磁気センサ126について説明すると、図4では磁気センサ126が1個のように示されているが、これは遊技制御装置100への入力が1本になっているだけで、実際には複数の磁気センサ(本例では4個)が搭載され、中継基板(センサと主基板の間に存在。図示省略)上でワイヤードオア接続されている。
ここで、第2入力ポート161が保持しているデータは、遊技用マイコン101が第2入力ポート161に割り当てられているアドレスをデコードすることにより対応のイネーブル信号(図示省略)をアサート(有効レベルに変化)することよって、読み出すことができる(他のポートも同様)。
【0065】
一方、第1入力ポート160には、払出制御装置200からの信号やRAM初期化スイッチ504からの信号(初期化スイッチ信号)が入力されている。そしてこれら信号は、第1入力ポート160からデータバス153を介して遊技用マイコン101に供給されている。払出制御装置200からの信号には、枠電波不正信号、払出ビジー信号、払出異常を示す払出異常ステータス信号、払出し前の遊技球の不足を示すシュート球切れスイッチ信号、オーバーフローを示すオーバーフロースイッチ信号、前述したタッチスイッチ信号がある。ここで、オーバーフロースイッチ信号は、下皿10に遊技球が所定量以上貯留されていること(満杯になったこと)を検出したときに出力される信号である。枠電波不正信号は、前面枠4等に設けられた枠電波センサ(図示省略)が電波を検出することに基づき出力される信号である。タッチスイッチ信号は、既述したように、遊技者の手などが発射操作ハンドル11に接触すると前述したタッチスイッチ11aによって出力される信号である。
【0066】
また、払出ビジー信号は、払出制御装置200がコマンドを受付可能な状態か否かを示す信号である。この払出ビジー信号は、遊技球の払出動作に関連するエラーが発生していない限り、基本的に遊技球(賞球又は貸球)の払出動作を実行する際にオンになる信号である。このため、エラーが発生しておらず(即ち、払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号などがオンしておらず)、遊技制御装置100が賞球払出のコマンドを払出制御装置200に送信して賞球払出を指令していない状態で、この払出ビジー信号が立っていれば(オンしていれば)、遊技制御装置100では貸球の払出動作が実行されたと判定することができる。
【0067】
また入力部151には、電源装置500からの停電監視信号や、リセット信号などの信号を遊技用マイコン101等に入力するためのシュミットトリガ回路(シュミットバッファ)164が設けられており、シュミットトリガ回路164はこれらの入力信号からノイズを除去する機能を有する。電源装置500からの信号のうち停電監視信号は、一旦第1入力ポート160に入力され、データバス153を介して遊技用マイコン101に取り込まれる。つまり、前述の各種スイッチからの信号と同等の信号として扱われる。遊技用マイコン101に設けられている外部からの信号を受ける端子の数には制約があるためである。
【0068】
一方、シュミットトリガ回路164によりノイズ除去されたリセット信号RESETは、遊技用マイコン101に設けられているリセット端子に直接入力されるとともに、出力部152の各ポート(後述するポート175,176,177、180)に供給される。また、リセット信号RESETは出力部152を介さずに直接中継基板170に出力することで、試射試験装置へ出力するために中継基板170のポート(図示省略)に保持される試射試験信号をオフするように構成されている。
また、リセット信号RESETを中継基板170を介して試射試験装置へ出力可能に構成するようにしてもよい。なお、リセット信号RESETは入力部151の各入力ポート160乃至162には供給されない。リセット信号RESETが入る直前に遊技用マイコン101によって出力部152の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号RESETが入る直前に入力部151の各ポートから遊技用マイコン101が読み込んだデータは、遊技用マイコン101のリセットによって廃棄されるためである。
【0069】
次に、遊技制御装置100の出力部152は、データバス153に接続された出力ポートとして、第1ポート175、第2ポート176、第3ポート177及び第4ポート180を備える。なお、遊技制御装置100から払出制御装置200及び演出制御装置300へは、シュミットバッファ(シュミットトリガバッファ)173を介してシリアル通信でデータが送信される。
シュミットバッファ173は、払出制御装置200や演出制御装置300の側から遊技制御装置100へ信号を入力できないようにするため、即ち、片方向通信を担保するために、遊技制御装置100からのデータ信号を払出制御装置200及び演出制御装置300へ出力することのみを許容する単方向のバッファである。
【0070】
第1ポート175は、変動入賞装置27の開閉部材27bを開閉させる大入賞口ソレノイド133、普通変動入賞装置26の開閉部材26bを開閉させる普電ソレノイド132の各開閉データを出力するための出力ポートである。
第2ポート176は、一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
第3ポート177は、一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
第4ポート180は、大当り情報などパチンコ機1に関する外部情報を外部情報信号として外部情報端子板55へ出力するための出力ポートである。なお、外部情報端子板55から出力された情報は、例えば遊技店に設置された情報収集端末や管理装置に供給される。また、外部情報端子板55にはフォトリレー55aが搭載されており、このフォトリレー55aを介して外部情報が外部装置としての管理装置(図示省略)に伝送される。なお、フォトカプラでは極性があるので、接続に注意する必要があるが、上記のようにフォトリレー55aを用いれば極性が不要となり、便利であるという利点がある。
【0071】
なお出力部152には、データバス153に接続され図示しない認定機関の試射試験装置へ変動表示ゲームの特図図柄情報を知らせるデータや大当りの確率状態を示す信号などを中継基板170を介して出力するバッファ174が実装可能に構成されている。このバッファ174は遊技店に設置される実機(量産販売品)としてのパチンコ機1の遊技制御装置100(主基板)には実装されない部品である。なお、前記近接I/F163から出力される始動口SWなど加工の必要のないスイッチ120〜124の検出信号は、図4に示した近接I/F163出力側でのパターン分岐によって、バッファ174を通さずに中継基板170を介して試射試験装置へ供給される。
【0072】
一方、磁気センサ126や盤電波センサ127のようにそのままでは試射試験装置へ供給できない検出信号は、一旦遊技用マイコン101に取り込まれて他の信号若しくは情報に加工されて、例えば遊技機が遊技制御できない状態であることを示すエラー信号としてデータバス153からバッファ174、中継基板170を介して試射試験装置へ供給される。なお、中継基板170には、上記バッファ174から出力された信号を取り込んで試射試験装置へ供給するポートや、バッファを介さないスイッチの検出信号の信号線を中継して伝達するコネクタなどが設けられている。中継基板170上のポートには、遊技用マイコン101から出力されるチップイネーブル信号CE(図示省略)も供給され、該信号CEにより選択制御されたポートの信号が試射試験装置へ供給されるようになっている。
【0073】
また出力部152には、複数の駆動回路(第1ドライバ178a〜第4ドライバ178d)が設けられている。第1ドライバ178aは、第1ポート175から出力される大入賞口ソレノイド133、普電ソレノイド132の各開閉データ信号を受けて、それぞれのソレノイド駆動信号を生成し出力する。第2ドライバ178bは、第2ポート176から出力される一括表示装置35の電流供給側のセグメント線のオン/オフ駆動信号を出力する。第3ドライバ178cは、第3ポート177から出力される一括表示装置35の電流引き込み側のデジット線のオン/オフ駆動信号を出力する。第4ドライバ178dは、第4ポート180から管理装置等の外部装置へ供給する外部情報信号を外部情報端子板55へ出力するものである。
【0074】
なお、第1ドライバ178aには、32Vで動作する大入賞口ソレノイド133、普電ソレノイド132を駆動できるようにするため、電源電圧としてDC32Vが電源装置500から供給される。
また、前記セグメント線を駆動する第2ドライバ178bには、DC12Vが供給される。また前記デジット線を駆動する第3ドライバ178cは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は12V又は5Vのいずれであってもよい。なお一括表示装置35は、12Vを出力する第2ドライバ178bにより前記セグメント線を介して所定のLEDのアノード端子に電流が流し込まれ、接地電位を出力する第3ドライバ178cにより所定のLEDのカソード端子からセグメント線を介して電流が引き抜かれることで、ダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて所定のLEDが点灯する。また第4ドライバ178dは、外部情報信号に12Vのレベルを与えるため、DC12Vが供給される。
【0075】
さらに、出力部152には、外部の検査装置185へ各遊技機の識別コードやプログラムなどの情報を送信するためのフォトカプラ179が設けられている。フォトカプラ179は、遊技用マイコン101が検査装置185との間でシリアル通信によってデータの送受信を行なえるように双方通信可能に構成されている。なお、かかるデータの送受信は、通常の汎用マイクロプロセッサと同様に遊技用マイコン101が有するシリアル通信端子を利用して行なわれるため、入力ポート160乃至162のようなポートは設けられていない。
【0076】
次に、演出制御装置300の構成と、この演出制御装置300に接続される機器について、図5によって詳細に説明する。
演出制御装置300は、遊技用マイコン101と同様にアミューズメントチップ(IC)からなる主制御用マイコン(CPU)311と、該CPU311からのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP(Video Display Processor)312と、各種のメロディや効果音などをスピーカ12a,12bから再生させるため音の出力を制御する音源LSI313と、信号変換回路315とを備えている。
ここで、主制御用マイコン(CPU)311の他に、該CPU311の制御下でもっぱら映像制御を行う映像制御用マイコン(2ndCPU)を配置し、2つのCPUを備え、VDPは該2ndCPUからのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うという構成を採用してもよいが、本実施例では、高性能化したCPU311のみを備え、配置スペースやコストの点で有利にしている。
【0077】
上記主制御用マイコン(CPU)311には、CPUが実行するプログラムや各種データを格納したPROM(プログラマブルリードオンリメモリ)321、作業領域を提供するRAM326、停電時に電力供給されなくても記憶内容を保持可能なFeRAM327、RTC(real time clock)325、及びWDT(ウォッチドッグ・タイマ)回路328が接続されるとともに、VDP312が接続される。
RTC325は時刻を刻むクロック素子であり、設定により実時刻に合わせることが可能であり、そのクロック信号は主制御用マイコン311に送られる、主制御用マイコン311はRTC325からの信号を用いて、例えば遊技店のイベント告知や特殊演出など時刻に関した演出制御が可能になっている。
【0078】
一方、VDP312にはキャラクタ画像や映像データが記憶された画像ROM322に加えてVRAM329が接続され、音源LSI313には音声データが記憶された音声ROM323が接続されている。なお、画像ROM322には映像データとして複数の動画(ムービー)等が格納されている。
ここで、キャラクタデータは画像ROM322に格納されているが、キャラクタの動きの情報を表すモーションデータやモーションデータの繋がりを定義しているシナリオデータはPROM321に格納されている。
画像ROM322はキャラクタデータ記憶手段に相当し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段に相当する。
【0079】
主制御用マイコン311は、遊技制御装置100の遊技用マイコン101からの制御コマンドである演出コマンド(前記バッファ173から出力されるデータ信号)を解析し、演出内容を決定して表示装置41の出力映像の内容を指示したり、音源LSI313への再生音の指示、前述した盤装飾装置42、枠装飾装置43や盤演出装置44の駆動制御などの処理を実行する。
ここで、本実施例では表示装置41、盤装飾装置42、枠装飾装置43、盤演出装置44、スピーカ12a,12b等は演出手段を構成する。
【0080】
例えば、変動表示ゲームを実行する際には、遊技制御装置100から停止図柄の組み合わせ(結果態様)のデータと、リーチ系統(或いは変動時間)のデータとを含むコマンド(例えば後述する変動パターンコマンド)が、演出制御装置300に送信される構成となっており、これを受けた主制御用マイコン311は、この停止態様と変動時間を満足する変動態様を選択して、VDP312を介して表示装置41に所定の特図を変動表示させて最終的に特定の図柄の組み合わせ(結果態様)を導出表示させる特図変動表示ゲームの制御を行う構成となっている。
なお、演出制御装置300の制御で実際に実施される特図の変動表示等の態様は、遊技制御装置100からのコマンドによって一義的に決定されてもよいが、上記コマンドで与えられた条件の範囲で、演出制御装置300の主制御用マイコン311が乱数抽出などによって態様を最終的に選択する構成(演出制御装置300にも態様を選択する、ある程度の裁量が与えられた構成)となっている。
【0081】
ここで、主制御用マイコン311の作業領域を提供するRAMとしては、チップ内部のRAM311aもある。
また、主制御用マイコン311と音源LSI313は、アドレス/データバス340を介して接続されている。また、音源LSI313から主制御用マイコン311へは割込み信号INTが入力されるようになっている。演出制御装置300には、前述の上スピーカ12a及び下スピーカ12bを駆動するオーディオパワーアンプなどからなるアンプ回路337が設けられており、音源LSI313で生成された音声はアンプ回路337を介して上スピーカ12a及び下スピーカ12bから出力される。
なお、主制御用マイコン311と音源LSI313との間は、ハンドシェイク方式でコマンドやデータの送受信を行う構成としてもよい。その場合、呼び掛け(コール)信号CTSと応答(レスポンス)信号RTSが交換される。
【0082】
また、特に限定されるわけではないが、主制御用マイコン311とVDP312との間は、パラレル方式でデータの送受信が行なわれるように構成されている。一般には、パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。
VDP312には、作業領域を提供するRAM312aや、画像を拡大、縮小処理するためのスケーラ312bが設けられている。またVDP312には、前述した画像ROM322やVRAM329に加えて、信号変換回路315も接続されている。ここで、VRAM329は、画像ROM322から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なVRAM(ビデオRAM)である。また、信号変換回路315は、LVDS(小振幅信号伝送)方式で表示装置41へ送信する映像信号を生成する回路である。VRAM329や信号変換回路315は、VDP312内に設けてもよい。
【0083】
VDP312から信号変換回路315へは、映像データ、水平同期信号HSYNC及び垂直同期信号VSYNCが入力されるようになっており、VDP312で生成された映像は、信号変換回路315を介して表示装置41に表示される。
VDP312から主制御用マイコン311へは、表示装置41の映像とガラス枠5や遊技盤20に設けられているランプ類の点灯を同期させるために垂直同期信号VSYNC、データの送受信タイミングを与える同期信号STSが入力される。なお、VDP312から主制御用マイコン311へは、VRAMへの描画の終了等処理状況を知らせるため割込み信号INT0〜nと、主制御用マイコン311からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号WAITなども入力される。
【0084】
また、演出制御装置300には、遊技制御装置100の遊技用マイコン101から送信されてくるコマンド(前記バッファ173から出力されるデータ信号)を受信するインタフェース回路(コマンドI/F)331が設けられている。このコマンドI/F331を介して、上記遊技用マイコン101からの制御コマンド(演出コマンド)、例えば客待ちデモコマンド、変動パターンコマンド等を、主制御用マイコン311が受信する。
【0085】
なお、遊技制御装置100の遊技用マイコン101から送信されてくるコマンドは、必要に応じてRAM311a又はRAM326に記憶される。
また、遊技制御装置100の遊技用マイコン101はDC5Vで動作し、演出制御装置300の主制御用マイコン311はDC3.3Vで動作するため、コマンドI/F331には信号のレベル変換の機能が設けられている。
【0086】
さらに、演出制御装置300には、前述の盤装飾装置42のLEDを駆動制御する盤装飾LED制御回路332、前述の枠装飾装置43のLEDを駆動制御する枠装飾LED制御回路333、前述の盤演出装置44のモータやソレノイドを駆動制御する盤演出可動体制御回路334が設けられている。これらの制御回路332〜334は、アドレス/データバス340を介して主制御用マイコン(CPU)311と接続されている。なお、盤装飾装置42や枠装飾装置43の発光源として、LED以外の発光源が使用されてもよい。また、ガラス枠5にモータ(例えばムービングライトや演出用の装置を動作させるモータ)等の駆動源を備えた枠演出装置を設け、この枠演出装置を駆動制御する枠演出可動体制御回路を備えていても良い。
【0087】
また、演出制御装置300には、SW入力回路336が備えられている。
SW入力回路336は、ガラス枠5に設けられた演出ボタン9に内蔵されている演出ボタンSW46のオン/オフ状態、ガラス枠5に設けられたタッチパネル9aの操作状態、及び盤演出装置44のモータの初期位置を検出する演出役物SW(演出モータSW)47のオン/オフ状態を検出して主制御用マイコン311へ検出信号を入力する回路である。
このSW入力回路336には、前述の音量SW338も接続されている。SW入力回路336は、前述の音量SW338の状態を検出して主制御用マイコン311へ検出信号を入力する。
なお、図3で説明した設定確認用LED339は、本例の場合、盤装飾装置42を構成する要素の一つとして、前述した盤装飾LED制御回路332を介して主制御用マイコン311に制御される構成となっている。
【0088】
電源装置500の通常電源部501は、上記のような構成を有する演出制御装置300やそれによって制御される電子部品に対して所望のレベルの直流電圧を供給するため、モータやソレノイドを駆動するためのDC32V、液晶パネルからなる表示装置41を駆動するためのDC12V、コマンドI/F331の電源電圧となるDC5Vの他に、前述のLEDやスピーカ12a,12bを駆動するためのDC15Vの電圧を生成するように構成されている。さらに、主制御用マイコン311として、3.3Vあるいは1.2Vのような低電圧で動作するLSIを使用する場合には、DC5Vに基づいてDC3.3VやDC1.2Vを生成するためのDC−DCコンバータが演出制御装置300に設けられる。なお、DC−DCコンバータは通常電源部501に設けるようにしてもよい。
【0089】
電源装置500の制御信号生成部503により生成されたリセット信号は、主制御用マイコン311に供給され、当該デバイスをリセット状態にする。また当該リセット信号は、主制御用マイコン311から出力される形で、VDP312へのVDPRESET信号、音源LSI313とアンプ回路337へのSNDRESET信号、各制御回路332〜334へのIORESET信号として、演出制御装置300の各デバイスにそれぞれ供給され、これらデバイスをリセット状態にする。
なお、この演出制御装置300のRAM(RAM311aとRAM326の少なくとも一方)にも、停電時に電源装置500のバックアップ電源部502からバックアップ電源が供給される構成となっていてもよい。
また、演出制御装置300には遊技機1の各所を冷却する冷却FAN48が接続され、演出制御装置300の電源が投入された状態では冷却FAN48が駆動するように構成されている。
また、この実施例においては、主制御用マイコン311の有する汎用のポートを利用して、VDP312に対するリセット信号を生成して供給する機能を有するように構成されている。これにより、主制御用マイコン311とVDP312の動作の連携性を向上させることができる。
【0090】
なお本例の場合、上記演出制御装置300を構成する回路基板が、サブ制御基板(サブ基板ともいう)に相当する。そして、以上説明したように、表示装置41を制御する演出制御装置300(サブ制御基板)がスピーカやランプ類や装飾用の可動部などを制御しており、遊技制御装置100を構成する主基板は、サブ制御基板へ制御コマンドを送ることで前記可動部などを間接的に制御している。このため、主基板の配線パターンなどのハード構成は機種が異なっても基本的に同じであり、遊技機用マイコン101に機種毎の遊技プログラムをインストールすることによって、技術的には主基板を機種やブランドが異なっても共用できる。
【0091】
E.遊技の概要
次に、本例のパチンコ機1で行われる遊技の概要や遊技の流れについて説明する。
まず、遊技開始当初の時点(或いは遊技開始前の時点)では、客待ち状態(デモ中)となっており、客待ち画面の表示を指令するコマンドが遊技制御装置100のバッファ(図4ではバッファ173に相当)から演出制御装置300に送信され、表示装置の表示部41aには客待ち画面(動画又は静止画)が表示される。この客待ち状態において、可動役物700は、図2に示す初期状態(略水平に倒れた状態)となっている。
【0092】
そして、ガイドレール21を介して遊技領域22に打込まれた遊技球が、特図の始動入賞口(特図1始動口607、特図2始動口608、始動入賞口26aのうちの何れか)に入賞すると(即ち、特図の始動入賞があると)、特図の変動表示を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aにおいて特図(数字、文字、記号、模様等の識別情報よりなるもの)が変動(例えば、スクロール)する表示(いわゆる変動表示)が行われて、特図の変動表示ゲーム(以下、特図変動表示ゲームという)が行われる。
【0093】
そして、この特図変動表示ゲームの停止結果態様(変動表示により導出された特図の組合せ)が特別結果態様(例えば、「3、3、3」などのゾロ目)であれば、大当りと呼ばれる特典が遊技者に付与される。なお制御上は、例えば始動入賞があったことを条件として、大当り乱数等の値が抽出記憶されて、この抽出記憶された乱数値と予め設定された判定値とが判定時に比較判定され、この比較判定結果に基づいて、予め大当りとするか否かが決定され、この決定に応じて上記特図変動表示ゲームが開始される。
また、通常モードにおいて、変動表示ゲームの停止結果態様が特別結果態様のうちの特定の態様(例えば、「7、7、7」のゾロ目)であれば、上記大当りになるとともに、大当り遊技後(後述する特賞期間後)に、遊技状態が通常モードから確変モードへ移行する。この確変モードでは、特図が大当りになる確率(以下、特図の大当り確率という)を高める制御が行われる。また場合によっては、いわゆる時短(特図等の変動表示時間を短くする等して変動表示ゲームの頻度を高め当り易くするもの)も行われる。
【0094】
上記大当りになって大当り状態に移行すると、ファンファーレ期間(大当りになったことを演出する効果音の出力などが実行される期間)を経て、変動入賞装置27の大入賞口27aが、規定時間(例えば、30秒)を越えない範囲内において、例えば10個入賞までの期間だけ一時的に開放される開放動作(大当たりラウンド)が行われる。そしてこの開放動作は、規定のラウンド数だけ繰り返し行われる。また、この大当り状態では、大当り状態を演出したり、大当りラウンド数などを遊技者に報知するための大当り画面の表示を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aでは、このような大当り中の表示が実行される。
【0095】
なお、この大当り状態になっている期間(ファンファーレ期間と、大入賞口が開放されている大当りラウンドの期間と、大当りラウンドと次の大当りラウンドの間のインターバル期間と、エンディング期間)が、特賞期間に相当する。
また上記大当りのラウンド数としては、例えば、通常は15ラウンド大当りが主の大当りであるが、プレミアとして16R大当りを発生させる構成でもよいし、その他の構成(例えば6R又は4R)でもよい。また、いわゆる突確(出玉の少ない大当りを経由して大当り確率が変化する突然確変)として2ラウンド大当り等があってもよい。
さらに、第2変動入賞装置がある場合には、表示装置41による変動表示ゲームの停止結果態様が特殊な態様(例えば、「3、特殊図柄、3」などの特殊目)になると、特殊大当りと呼ばれる特典が発生し、第2変動入賞装置の開閉部材が規定時間(例えば、30秒)を越えない範囲内において、例えば5個入賞までの期間だけ一時的に開放される開放動作(大当たりラウンド)が行われる。そしてこの開放動作は、規定のラウンド数だけ繰り返し行われる。
【0096】
一方、上記特図の変動表示ゲーム中又は大当り中に、前記特図の始動入賞口の何れかにさらに遊技球が入賞したときには、表示部41a等で特図の始動記憶の保留表示が行われて例えば4個まで記憶され、変動表示ゲーム又は大当り状態が終了した後に、その始動記憶に基づいて上記特図の変動表示ゲームが繰り返されたり、客待ち状態(客待ちデモ演出中)に戻ったりする。
即ち、変動表示ゲームが大当りで終了すれば大当り状態に移行し、変動表示ゲームがはずれで終了し始動記憶があれば再度変動表示ゲームが実行され、変動表示ゲームがはずれで終了し始動記憶がなければ客待ち状態に戻り、大当りが終了して始動記憶があれば再度変動表示ゲームが実行され、大当りが終了して始動記憶がなければ客待ち状態に戻る流れとなっている。
【0097】
なお本形態例では、例えば特図の始動記憶(特図始動記憶)の表示を2種類(特図1保留表示と特図2保留表示)行うようにし、特図変動表示ゲームとして、2種類の変動表示ゲーム(第1変動表示ゲームと第2変動表示ゲーム)を実行する。即ち、遊技球が特図1始動口607に入ることによる特図始動入賞(第1始動入賞)が発生すると、表示装置41にて特図1の変動表示による第1変動表示ゲームが行われる。そして、何れかの特図変動表示ゲーム中などに遊技球が特図1始動口607に入賞すると、第1始動記憶(特図1保留表示に対応する始動記憶)が1個記憶され、これに対して、上記特図変動表示ゲーム終了後などに、表示装置41にて特図1の変動表示による第1変動表示ゲームが行われる。
【0098】
また、遊技球が始動入賞口26a(普電の始動口)又は特図2始動口608に入ることによる特図始動入賞(第2始動入賞)があると、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる。そして、何れかの特図変動表示ゲーム中などに遊技球が始動入賞口26a又は特図2始動口608に入賞すると、第2始動記憶(特図2保留表示に対応する始動記憶)が1個記憶され、これに対して、上記特図変動表示ゲーム終了後などに、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる構成となっている。
なお、第1始動記憶と第2始動記憶の両方があるときには、予め設定されたルールに従って第1変動表示ゲームと第2変動表示ゲームのうちの何れかが先に実行される。例えば、始動入賞口26a及び特図2始動口608に対応する第2変動表示ゲームが優先的に行われる態様(即ち、第2始動記憶が優先的に消化される態様)、或いは2種類の変動表示ゲームが入賞順に行われる態様などが有り得る。
【0099】
一方、遊技中に、遊技球が普図始動ゲート32を通過したときは、表示部41a等で普図の変動表示による普図の変動表示ゲーム(以下、普図変動表示ゲームという)が行われる。そして、この普図変動表示ゲーム結果(停止した普図)が所定の態様(特定表示態様)であれば、普図当りと呼ばれる特典が付与される。
この普図当りになると、始動入賞口26aを開閉する開閉部材26bが開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われる。これにより、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、一括表示装置35によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。
【0100】
F.制御系の動作
次に、遊技制御装置100の制御内容について図6図87により説明する。
遊技制御装置100の遊技用マイコン101によって実行される制御処理は、主に図6及び図7に示すメイン処理と、所定時間周期(例えば4m秒)で行われる図10に示すタイマ割込み処理とからなる。
最初に、以下のフローチャートの説明に使用する主要な構成の概念を明確にしておくと、下記の通りである。
(イ)特図の表示装置
前述したように、一括表示装置35で本特図や本普図を表示している。以下の遊技制御装置100のフローチャートで特図という場合には、原則として一括表示装置35で表示される「本特図」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図」という。但し、遊技機の説明をする上で、必要な場合には「飾り特図」を含めて説明することもある。
【0101】
(ロ)普図の表示装置
以下の遊技制御装置100のフローチャートで普図という場合には、原則として一括表示装置35で表示される「本普図」の方を指している。また、表示装置41で普図を表示する構成を採用し、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は、例えば「飾り普図」という。
ただし、本実施例では、このような普図の表示を表示装置41では表示していない構成になっている。なお、普図(ここでは飾り普図)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図」を表示する装置を含めて説明することもある。
(ハ)普電
普電に相当する装置は、普通電動役物(普電)としての普通変動入賞装置26である。
なお、既述したように普電に入賞し易くなる特別制御(普図の変動時間を短縮する制御など)を行って始動入賞をサポートすることが行われるが、これを普電サポート(或いは、単に電サポ)ということがある。
【0102】
(ニ)特図記憶
以下の遊技制御装置100のフローチャートで特図保留(単に「保留」という場合もある)、特図記憶、あるいは特図の始動記憶という場合には、原則として一括表示装置35で表示される「本特図記憶」の方を指している。また、表示装置41等で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図保留」、あるいは「飾り特図記憶」という。
(ホ)普図記憶
以下の遊技制御装置100のフローチャートで普図保留、普図記憶、あるいは普図の始動記憶という場合には、原則として一括表示装置35で表示される「本普図記憶」の方を指している。また、表示装置41等で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り普図保留」、あるいは「飾り普図記憶」という。
ただし、本実施例では、このような普図の始動記憶表示を表示装置41では表示していない構成になっている。なお、普図の始動記憶(ここでは飾り普図記憶)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図記憶」を表示する装置を含めて説明することもある。
(ヘ)変動入賞装置
変動入賞装置27は、開閉部材27bによって開閉される大入賞口27aを有する装置(いわゆるアタッカー)である。この変動入賞装置27は、普通変動入賞装置26と区別するために特別変動入賞装置ということもある。
【0103】
〔遊技制御装置のメイン処理〕
まず、図6、7により、遊技制御装置100(遊技用マイコン101)のメイン処理を説明する。
このメイン処理は、遊技用マイコン101に強制的にリセットがかけられたことに基づいて開始する。すなわち、電源装置500の図示省略した電源スイッチがオン操作されると、所定のタイミングに(電源投入時の所定のリセット期間に)電源装置500の制御信号生成部503からリセット信号が遊技制御装置100に入力されて遊技用マイコン101のリセット端子がオンし、その後このリセット信号が解除されると、遊技用マイコン101が起動する。なお、停電からの電源復旧時にも、同様にリセット信号がオンした後に解除されて遊技用マイコン101が起動する。また、作業者が遊技制御装置100のユーザワークRAM等(例えばRAM101C)の初期化をしようとする場合には、遊技制御装置100のRAMクリアスイッチ504(初期化スイッチ)をオン操作しながら前記電源スイッチをオン操作する必要がある。
【0104】
遊技用マイコン101が起動すると、まず割込みを禁止する処理(ステップS1)を行い、次いで、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理(ステップS2)を行う。次に、レジスタバンク0を指定し(ステップS3)、所定のレジスタ(例えばDレジスタ)にRAM先頭アドレスの上位アドレスをセットする(ステップS4)。本実施形態の場合、RAMのアドレスの範囲は0000h〜01FFhで、上位としては00hか01hをとり、ステップS4では先頭の00hをセットする。次に、発射停止の信号を出力して発射許可信号を禁止状態に設定する(ステップS5)。発射許可信号は遊技制御装置100と払出制御装置200の少なくとも一方が発射停止の信号を出力している場合に禁止状態に設定され、遊技球の発射が禁止されるようになっている。
【0105】
その後、入力ポート1(第1入力ポート160)の状態を読み込み(ステップS6)、電源投入ディレイタイマを設定する処理を行う(ステップS7)。この処理では所定の初期値を設定することにより、主制御手段をなす遊技制御装置100からの指示に従い種々の制御を行う従制御手段(例えば、払出制御装置200や演出制御装置300)のプログラムが正常に起動するのを待つための待機時間(例えば3秒)が設定される。これにより、電源投入の際に仮に遊技制御装置100が先に立ち上がって従制御装置(例えば払出制御装置200や演出制御装置300)が立ち上がる前にコマンドを従制御装置へ送ってしまい、従制御装置がコマンドを取りこぼすのを回避することができる。すなわち、遊技制御装置100が、電源投入時において、主制御手段(遊技制御装置100)の起動を遅らせて従制御装置(払出制御装置200、演出制御装置300等)の起動を待つための所定の待機時間を設定する待機手段をなす。
【0106】
また、電源投入ディレイタイマの計時は、RAMの正当性判定(チェックサム算出)の対象とならない記憶領域(正当性判定対象外のRAM領域又はレジスタ等)を用いて行われる。これにより、RAM領域のチェックサム等のチェックデータを算出する際に、一部のRAM領域を除外して算出する必要がないため電源投入時の制御が複雑になることを防止することができる。
【0107】
なお、第1入力ポート160にはRAM初期化スイッチ504からの初期化スイッチ信号が入力されるようになっており、待機時間の開始前に第1入力ポート160の状態を読み込むことで、初期化スイッチ(RAM初期化スイッチ504)の操作を確実に検出できる。すなわち、待機時間の経過後に初期化スイッチの状態を読み込むようにすると、待機時間の経過を待ってから初期化スイッチを操作したり、電源投入から待機時間の経過まで初期化スイッチを操作し続けたりする必要がある。しかし、待機時間の開始前に状態を読み込むことで、このような煩わしい操作を行わなくても電源投入後すぐに操作を行うことで検出されるようになり、電源投入時に行った初期化の操作が受け付けられないような事態を防止できる。
【0108】
電源ディレイタイマを設定する処理(ステップS7)を行った後、待機時間の計時と、待機時間中における停電の発生を監視する処理(ステップS8乃至S12)を行う。まず、電源装置500から入力されている停電監視信号をポート及びデータバスを介して読み込んでチェックする回数(例えば、2回)を設定し(ステップS8)、停電監視信号がオンであるかの判定を行う(ステップS9)。なお、ステップS7により電源ディレイタイマが設定されて同タイマがカウントを進行中である場合にも、ステップS9の停電監視が行われる。
【0109】
停電監視信号がオンである場合(ステップS9;YES)は、ステップS8で設定したチェック回数分停電監視信号のオン状態が継続しているかを判定する(ステップS10)。そして、チェック回数分停電監視信号のオン状態が継続していない場合(ステップS10;NO)には、停電監視信号がオンであるかの判定(ステップS9)に戻る。また、チェック回数分停電監視信号のオン状態が継続している場合(ステップS10;YES)、すなわち、停電が発生していると判定した場合は、遊技機(パチンコ機1)の電源が遮断されるのを待つ。このように、所定期間に亘り停電監視信号を受信し続けた場合に停電が発生したと判定することで、ノイズなどにより停電を誤検知することを防止でき、電源投入時における不具合に適切に対処することができる。
【0110】
すなわち、遊技制御装置100が所定の待機時間において停電の発生を監視する停電監視手段をなしているので、これにより、主制御手段をなす遊技制御装置100の起動を遅らせている期間において発生した停電に対応することが可能となり、電源投入時における不具合に適切に対処することができる。なお、待機時間の終了まではRAM(例えば、RAM101C)へのアクセスが許可されておらず、前回の電源遮断時の記憶内容が保持されたままとなっているため、ここでの停電発生時にはバックアップの処理等は行う必要がない。このため、待機時間中に停電が発生してもRAMのバックアップを取る必要がなく、制御の負担を軽減することができる。
【0111】
一方、停電監視信号がオンでない場合(ステップS9;NO)、すなわち、停電が発生していない場合には、電源投入ディレイタイマを−1更新し(ステップS11)、続いてタイマの値が0であるかを判定する(ステップS12)。タイマの値が0でない場合(ステップS12;NO)、すなわち、待機時間が終了していない場合は、停電監視信号のチェック回数を設定する処理(ステップS8)に戻る。また、タイマの値が0である場合(ステップS12;YES)、すなわち、待機時間が終了した場合は、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)のアクセス許可をし(ステップS13)、全出力ポートにオフデータを出力(2値信号の「0」に相当する信号を出力:つまり出力が無い状態に設定)する(ステップS14)。
ここで、本実施例においてRWMとはRAM101Cを指すが、RAMに限らず、RWMとして例えばEEPROM等の読出し書込み可能な記憶素子を含めて使用してもよい。
なお、リセット信号によって各出力ポートはオフ設定(リセット)されているので、ソフト的に各出力ポートにオフ信号を出力する必要は必ずしもないが、ここでは念のためにステップS14が設けられている。
【0112】
続いて、シリアルポート(遊技用マイコン101に予め搭載されているポートで、この実施例では、演出制御装置300や払出制御装置200との通信に使用)を設定する(ステップS15)。即ち、演出制御装置300等との間でシリアル通信を行う必要があるので、シリアルポートを使用する状態に設定する。
次いで、先に読み込んだ第1入力ポート160の状態から初期化スイッチ(RAM初期化スイッチ504)がオンにされたかを判定する(ステップS16)。これは、初期化スイッチ信号の状態によって前記初期化スイッチがオンしているか否か判断するもので、初期化スイッチがオンしていれば、ステップS26に進み、オンしていなければステップS17に進む。
なお、ステップS26に進むのは、前記初期化スイッチがオン操作されて遊技用マイコン101が起動した場合、後述するステップS17、ステップS18のそれぞれでRWMの停電検査領域1、停電検査領域2が正常ではないと判定された場合、或いは後述するステップS20でチェックサムが正常でないと判定された場合である。このため、ステップS26に進むと、ステップS26乃至S30において遊技用マイコン101のRWM内のデータを初期化するなどの処理を行う。
【0113】
初期化スイッチがオンしていなければ、ステップS17に進んで、RWMの停電検査領域1の値が正常な停電検査領域チェックデータ1(例えば5Ah)であるか否かチェックし、ステップS17でチェック結果が正常でないと判断すると、ステップS26にジャンプする。一方、ステップS17でのチェック結果が正常であれば、続くステップS18でRWMの停電検査領域2の値が正常な停電検査領域チェックデータ2(例えばA5h)であるか否かチェックする。そして、ステップS18でチェック結果が正常でなければステップS26にジャンプし、チェック結果が正常であれば、ステップS19に進む。
このように、RWMの停電検査領域1、2の値が全て正常であれば、停電復帰時であると判断してステップS19に進むことになる。一方、RWMの停電検査領域1、2の値が異常であれば(正常に記憶されてなければ)、通常の電源投入時であるとしてステップS26にジャンプすることになる。
なお、停電検査領域チェックデータ1、2は、後述するステップS41、42で設定されるものである。これらのステップS17、18では、このように複数のチェックデータ1,2によって停電復帰時であるか否か判定するので、停電復帰時であるか否かの判断が信頼性高く為される。
【0114】
次にステップS19では、RWMのデータのチェックサムを算出し、ステップS20では算出したチェックサムと電源遮断時のチェックサムとを比較し、その値が正常(一致)か否かを判定する。このチェックサムが正常でない場合(即ちRWMのデータが壊れているとき)には、ステップS26に進み、前記チェックサムが正常である場合には、図7のステップS21へ移行し、停電から正常に復旧した場合の処理を行う。
ステップS21では、初期化すべき領域に停電復旧時の初期値をセーブする。ここでの初期化すべき領域とは、停電検査領域1,2、チェックサム領域、及びエラー不正監視に係る領域である。エラー不正監視に係る領域には、例えば、以下の領域が含まれる。
・外部情報領域の扉・枠開放信号、セキュリティ信号
・試験信号領域の遊技機エラー状態信号
・状態スキャンカウンタ(遊技枠状態監視スキャンカウンタ)
・前枠(ガラス枠)開放監視領域
・遊技枠(前面枠)開放監視領域
・シュート球切れ監視領域
・オーバーフロー監視領域
・払い出し異常監視領域
・スイッチ1、2異常監視領域
・大入賞口不正入賞監視領域
・普電不正入賞監視領域
・磁石不正監視領域
・電波不正監視領域
・大入賞口不正監視領域
・普電不正監視領域
【0115】
なお、ステップS21では、払出制御装置200がコマンドを受付可能な状態か否かを示す信号である払出ビジー信号の状態を記憶するビジー信号ステータス領域もクリアされ、払出ビジー信号の状態を確定していないことを示す不定状態とされる。同様に発射操作ハンドル11への接触の有無を示すタッチスイッチ信号の状態を記憶するタッチスイッチ信号状態監視領域もクリアされ、タッチスイッチ信号の状態を確定していないことを示す不定状態とされる。
【0116】
ステップS21を経ると、その後、RWM内の遊技状態を記憶する領域を調べて遊技状態が高確率状態であるか否かを判定する(ステップS22)。ここで、高確率でない場合(ステップS22;NO)は、ステップS23,S24をスキップしてステップS25へ移行する。また、高確率である場合(ステップS22;YES)は、高確率報知フラグ領域にオン情報をセーブし(ステップS23)、例えば一括表示装置35に設けられる高確率報知LED(図示略)のオン(点灯)データをセグメント領域にセーブする(ステップS24)。これにより、今回の高確率状態に対応する処置が行なわれることとなり、例えば一括表示装置35に設けられる高確率報知LEDが点灯して高確率状態を知らせる表示がされる。
【0117】
次いで、後述の特図ゲーム処理を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御装置300へ送信し(ステップS25)、ステップS31へ進む。本実施形態の場合、ステップS25では、機種指定コマンド、特図1保留数コマンド、特図2保留数コマンド、確率情報コマンド、画面指定のコマンド(客待ち中なら客待ちデモ画面のコマンド、それ以外なら復旧画面のコマンド)等の複数のコマンドを送信する。また、機種によっては、これらのコマンドに加えて、演出回数情報コマンドや高確率回数情報コマンドも送信する。
【0118】
一方、ステップS16、S17、S18、S20からステップS26へジャンプした場合には、RAMアクセス禁止領域をアクセス許可に設定し(ステップS26)、ビジー信号ステータス領域やタッチスイッチ信号状態監視領域を含む全てのRAM領域を0クリアして(ステップS27)、RAMアクセス禁止領域をアクセス禁止に設定する(ステップS28)。そして、初期化すべき領域にRAM初期化時の初期値をセーブする(ステップS29)。ここでの初期化すべき領域とは、ステップS27において書き込まれた値(0)ではない値を初期値とする領域のことであり、本実施例では客待ちデモ及び演出モードの設定に係る領域である。これらの領域の具体例は、例えば以下の通りである。
<初期化すべき領域>
・客待ちデモフラグ領域(後述のステップS472等で使う)
・演出モード移行情報領域(後述のステップS529等で演出モード移行情報がセーブされる領域)
・セキュリティ信号制御タイマ(後述のステップC68等で使う)
・次モード移行情報領域(後述のステップS778等参照)
・特図ゲームモードフラグ領域(後述のステップS759参照)
・特図ゲームモードフラグ退避領域(後述のステップS701等参照)
【0119】
次いで、RAM初期化時のコマンドを演出制御基板(演出制御装置300)へ送信して(ステップS30)、ステップS31へ進む。本実施形態の場合、ステップS30では、機種指定コマンド、特図1保留数コマンド、特図2保留数コマンド、確率情報コマンド、RAM初期化のコマンド(客待ちデモ画面を表示させるとともに、所定時間(例えば30秒間)光と音でRAM初期化の報知を行わせるためのコマンド)等の複数のコマンドを送信する。また、機種によっては、これらのコマンドに加えて、演出回数情報コマンドや高確率回数情報コマンドも送信する。
なお、RAM初期化時のコマンドが送信されると、演出制御装置300は演出装置のモータの動作位置を初期位置にするなどの初期化を行い、RWMクリアがなされたことを報知する演出を開始する。
【0120】
さて、上述のステップS25あるいはステップS30から、ステップS31に進むと、ステップS31では、タイマ割込み信号及び乱数更新トリガ信号(CTC)を発生するCTC(Counter/Timer Circuit)回路を起動する処理を行う。
なお、CTC回路は、遊技用マイコン101内のクロックジェネレータに設けられている。クロックジェネレータは、水晶発振器113からの発振信号(原クロック信号)を分周する分周回路と、分周された信号に基づいてCPU101Aに対して所定周期(例えば、4ミリ秒)のタイマ割込み信号及び乱数生成回路へ供給する乱数更新のトリガを与える信号CTCを発生するCTC回路とを備えている。
【0121】
上記ステップS31のCTC起動処理の後は、遊技用マイコン101内の乱数生成回路を起動設定する処理を行う(ステップS32)。具体的には、乱数生成回路内の所定のレジスタ(CTC更新許可レジスタ)へ乱数生成回路を起動させるためのコード(指定値)の設定などがCPU101Aによって行われる。
また、乱数生成回路のハードウェアで生成されるハード乱数(ここでは大当り乱数)のビット転置パターンの設定も行われる。すなわち、ステップS32の処理では、ハード乱数ビット転置パターンを設定し、大当り乱数のビット転置も行う。
ここで、ビット転置パターンとは、抽出した乱数のビット配置(ビット転置前の配置)を、予め定められた順で入れ替えて異なるビット配置(ビット転置後の配置)として格納する際の入れ替え方を定めるパターンである。このビット転置パターンに従い乱数のビットを入れ替えることで、乱数の規則性を崩すことができるとともに、乱数の秘匿性を高めることができる。なお、ビット転置パターンは、固定された単一のパターンであっても良いし、予め用意された複数のパターンから選択するようにしても良い。また、ユーザーが任意に設定できるようにしても良い。
【0122】
次いで、電源投入時の乱数生成回路内の所定のレジスタ(ソフト乱数レジスタ1〜n)の値を抽出し、対応する各種初期値乱数の初期値(スタート値)としてRWMの所定領域にセーブする(ステップS33)。本実施例の場合、各種初期値乱数としては、特図の当り図柄を決定する乱数(大当り図柄乱数、小当り図柄乱数)の初期値乱数(即ち、大当り図柄初期値乱数、小当り図柄初期値乱数)、普図の当りを決定する乱数(当り乱数)の初期値乱数(即ち、当り初期値乱数)、普図の当り図柄を決定する乱数(当り図柄乱数)の初期値乱数(即ち、当り図柄初期値乱数)がある。なお、普図に関する乱数は、例えば「普図当り乱数」を単に「当り乱数」というように、「普図」という語を省略する場合がある。
【0123】
なお、本実施例で使用するCPU101A内の乱数生成回路においては、電源投入毎にソフト乱数レジスタの初期値が変わるように構成されているため、この値をステップS33で各種初期値乱数の初期値(スタート値)とすることで、ソフトウェアで更新される乱数の規則性を崩すことができ、遊技者による不正な乱数の取得を困難にすることができる。
【0124】
次いで、ステップS34で割込みを許可し、次のステップS35では、初期値乱数更新処理を行う。初期値乱数更新処理は、遊技球を発射するタイミングを計って故意に大当り等をねらうことが困難になるように、各種初期値乱数の値を更新して乱数の規則性を崩すためのものである。
なお、上記ステップS35での初期値乱数更新処理は、メイン処理のほか、タイマ割込み処理の中においても初期値乱数更新処理を行う方法もあり、そのような方法を採用した場合には両方で初期値乱数更新処理が実行されるのを回避するため、メイン処理で初期値乱数更新処理を行う場合には割込みを禁止してから更新して割込みを解除する必要があるが、本実施例のようにタイマ割込み処理の中での初期値乱数更新処理はせず、メイン処理内のみした場合には初期値乱数更新処理の前に割込みを解除しても何ら問題はなく、それによってメイン処理が簡素化されるという利点がある。
【0125】
また、特に限定されるわけではないが、本実施例においては、大当り乱数、大当り図柄乱数、小当り図柄乱数、当り乱数、当り図柄乱数はCPU101A内の乱数生成回路において生成される乱数を使用して生成するように構成されている。ただし、大当り乱数はCPUの動作クロックと同等以上の速度のクロックを基にして更新される所謂「高速カウンタ」であり、大当り図柄乱数、小当り図柄乱数、当り乱数、当り図柄乱数はプログラムの処理単位であるタイマ割込み処理と同周期となるCTC出力(タイマ割込み処理のCTC(CTC0)とは別のCTC(CTC2))を基にして更新される「低速カウンタ」である。また、大当り図柄乱数、小当り図柄乱数、当り乱数、当り図柄乱数においては、乱数が一巡する毎に各々の初期値乱数(ソフトウェアで更新)を用いてスタート値を変更する所謂「初期値変更方式」を採用している。なお、前記各乱数は、+1或いは−1によるカウンタ式更新でもよいし、一巡するまで範囲内の全ての値が重複なくバラバラに出現するランダム式更新でもよい。つまり、大当り乱数はハードウェアのみで更新される乱数であり、大当り図柄乱数、小当り図柄乱数、当り乱数、当り図柄乱数はハードウェア及びソフトウェアで更新される乱数である。
また、特図に関する乱数は、特図が2種類ある場合、特図1と特図2で共通でもよいし、別個に設けられていてもよいが、本実施例においては共通であるとして説明している。
【0126】
次いでステップS36に進み、電源装置500から入力されている停電監視信号をポート及びデータバスを介して読み込み、停電監視信号のチェック回数(例えば2回)を設定し、次のステップS37で停電監視信号がオンしているか否か判定し、オンしていれば停電の最終判断のためのステップS38に進み、オンしていなければステップS35に戻る。通常運転中は、ステップS35〜S37を繰り返す。
すなわち、停電監視信号がオンでない場合(ステップS37;NO)は、初期値乱数更新処理(ステップS35)に戻る。つまり、停電が発生していない場合には、初期値乱数更新処理と停電監視信号のチェック(ループ処理)を繰り返し行う。初期値乱数更新処理(ステップS35)の前に割り込みを許可する(ステップS34)ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。
【0127】
そして、ステップS38に進むと、前記チェック回数分だけ停電監視信号のオン状態が継続しているか否か判定し、この判定結果が肯定的であると停電発生と最終判断してステップS39に進み、否定的であれば停電発生と判断できないとしてステップS37に戻る。
なお停電監視信号がオンになると、この停電監視信号をNMI割込信号として、実行中の処理を中断してステップS39以降の停電処理を強制的に実行する態様でもよい。但し本例の構成であると、停電監視信号のオン状態をステップS38で複数回チェックするので、実際には停電が発生していないのにノイズ等によって停電監視信号が一時的かつ瞬間的にオンした場合に停電発生と誤判断してしまうことがないという利点がある。
【0128】
そしてステップS39に進むと、割込を禁止した後、次のステップS40で全ての出力をオフし(全ての出力ポートにオフデータを出力し)、次いでステップS41、S42で停電情報設定処理を実行する。停電情報設定処理では、ステップS41で前述の停電検査領域チェックデータ1を停電検査領域1にセーブし、ステップS42で前述の停電検査領域チェックデータ2を停電検査領域2にセーブする。
ステップS42を経ると、次のステップS43でRWMの電源遮断時のチェックサムを算出する処理を行なった後、ステップS44で算出したチェックサムを所定のチェックサム領域にセーブする。
次いでステップS45でRWMへのアクセスを禁止した後、待機する(遊技機の電源が遮断されるのを待つ)。
このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
なお、以上のステップS39〜S45の停電処理は、停電によって電源電圧が遊技用マイコン101の動作電圧未満に低下する前に行われる。
【0129】
〔チェックサム算出処理〕
次に、前記メイン処理におけるチェックサム算出処理(ステップS19、S43)を図8により説明する。
このルーチンが開始されると、まずステップS51で算出アドレスの開始値としてRWMの先頭アドレスを設定し、ステップS52で繰り返し数を設定する。繰り返し数は、使用しているRWMのバイト数に対応して設定される。次いで、ステップS53で算出値として「0」を設定した後、ステップS54で算出値+算出アドレスの内容を新たな算出値として演算する。このようにして、各アドレスの毎の内容を算出値として加算していく。次いで、ステップS55で算出アドレスを「+1」だけ更新し、ステップS56で繰り返し数を「−1」だけ更新して算出終了かをチェックし、ステップS57で算出終了か否かを判定しする。ステップS57の判定結果がNOであれば、ステップS54に戻ってルーチンを繰り返す。そして、繰り返した回数=RWMのバイト数になると、算出終了と判断してステップS57からYESに抜けて、ルーチンを終了する。
このようにして、RWMの電源遮断時におけるチェックサムの算出が行われる。
【0130】
〔初期値乱数更新処理〕
次に、前記メイン処理における初期値乱数更新処理(ステップS35)を図9により説明する。
このルーチンが開始されると、大当り図柄初期値乱数をインクリメント(更新(+1))する処理(ステップS61)、小当り図柄初期値乱数をインクリメント(更新(+1))する処理(ステップS62)、当り初期値乱数をインクリメント(更新(+1))する処理(ステップS63)、当り図柄初期値乱数をインクリメント(更新(+1))する処理(ステップS64)、を順次行う。
ここで、「大当り図柄初期値乱数」は、既述したように、特図の大当り停止図柄を決定する乱数の初期値となる乱数で、0〜99の範囲で更新していく。また、「当り初期値乱数」は普図変動ゲームの当りを決定する乱数の初期値となる乱数のことで、0〜250の範囲で更新していく。このように、メイン処理の中で時間が許す限り初期値乱数をインクリメントし続けることによって、乱数のランダム性を高めるようにしている。
【0131】
〔タイマ割込み処理〕
次に、遊技制御装置100(遊技用マイコン101)のタイマ割込み処理を図10により説明する。
このタイマ割込み処理は、前述したメイン処理におけるステップS31、S34の処理により、クロックジェネレータ内のCTC回路で生成される周期的なタイマ割込み信号がCPU101Aに入力されて割込み(タイマ割込み)が発生することで開始される。遊技用マイコン101においてこのタイマ割込みが発生すると、自動的に割込み禁止状態になって、このタイマ割込み処理が開始される。
【0132】
このタイマ割込み処理が開始されると、まず、レジスタバンク1を指定する(ステップS70)。レジスタバンク1に切り替えたことで、所定のレジスタ(例えばメイン処理で使っているレジスタ)に保持されている値をRWMに移すレジスタ退避の処理を行ったのと同等になる。次に、所定のレジスタ(例えばDレジスタ)にRAM先頭アドレスの上位アドレスをセットする(ステップS71)。ステップS71では、メイン処理におけるステップS4と同じ処理を行っているが、レジスタバンクが異なる。
次いで、ステップS72で入力処理を実行する。この入力処理では、前述の各センサ類(始動口スイッチ120、121、ゲートスイッチ122、入賞口スイッチ123、大入賞口スイッチ124など)の検出信号(各入力ポートの状態)の読み取りを実行する。具体的には、各センサの出力値をタイマ割込周期毎に判定し、同じレベルの出力値が規程回数(例えば、2回)以上継続した場合に、この出力値のレベルを各センサの検出信号の確定的な値として読み取る。なお、何れかのセンサがオンしていることが読み取られると、それを示すフラグ(入力フラグ)がたてられる。
【0133】
次に、ステップS73で、後述する各ステップで設定された出力データを対応する出力ポートに設定し出力する出力処理を実行する。これは、各種処理でセットされた出力データに基づき、ソレノイド(大入賞口ソレノイド133、普電ソレノイド132)等のアクチュエータの駆動制御などを行うための処理である。
なお、メイン処理におけるステップS5で発射停止の信号を出力すると、この出力処理が行われることで発射許可の信号が出力され(後述のステップS138a参照)、発射許可信号を許可状態に設定可能な状態とされる。この発射許可信号は払出制御装置を経由して発射制御装置に出力される。その際、信号の加工等は行われない。また、当該発射許可信号は遊技制御装置から見た発射許可の状態を示す第1の信号であり、払出制御装置から見た発射許可の状態を示す第2の信号(これも発射許可信号)も払出制御装置内で生成され、発射制御装置に出力される。つまり、2つの発射許可信号が発射制御装置に出力されており、両者が共に発射許可となっている場合に、遊技球が発射可能な状態となるよう構成されている。
【0134】
次いでステップS74で、払出コマンド送信処理を行う。これは、各種処理で遊技用マイコン101の送信バッファにセットされたコマンドを払出制御装置200に出力する処理である。
次いで、ステップS75、S76で乱数更新処理1、2をそれぞれ実行する。詳細は後述するが、乱数更新処理1では初期値乱数による各乱数(大当り図柄乱数、小当り図柄乱数、普図の当り乱数、普図の当り図柄乱数)の初期値の設定、乱数更新処理2では変動パターン乱数のソフトウェアによる更新が行われる。このうち乱数更新処理1によれば、前述した「初期値変更方式」による各乱数の初期値の更新が実現される。また、乱数更新処理2によれば、タイマ割込み処理のルーチンが繰り返される毎に、変動パターン乱数が変り、変動パターン乱数の抽出値がアトランダム性を保つようになる。
【0135】
なお、変動パターン乱数は、本例では変動パターン乱数1〜3の3種類が有る。このうち、変動パターン乱数1は後半変動(リーチ開始後の変動)のリーチ系統を選択するための乱数であり、変動パターン乱数2はリーチ系統の中から詳細な演出の振分(例えばプラス1コマで特図が停止するかマイナス1コマで特図が停止するか)を行うための乱数であり、変動パターン乱数3は前半変動(リーチ開始前までの変動)の態様を選択するための乱数である。また、上記変動パターン乱数は変動態様の全てを直接決定するものでもよいが、本例では、具体的な態様は演出制御装置300が決定する。例えば、変動時間とリーチ系統(リーチの大まかな種別)のみを変動パターン乱数1により決定し、決定した変動時間とリーチ系統に基づいて演出制御装置300が具体的な変動態様を決定する。
【0136】
次いで、ステップS77では、入賞口スイッチ監視処理と状態監視処理を実行する。入賞口スイッチ監視処理は、前述したように設定される入力フラグ(特図の始動口スイッチ120、121、入賞口スイッチ123、大入賞口スイッチ124)を監視し、例えば大入賞口スイッチ124の入力フラグが設定されていると、15個の賞球払い出しを払出制御装置200に要求する前準備などの処理を実行するものである。また状態監視処理は、前述の各センサ類の未検出エラーや、賞球排出の過剰エラーや、ガラス枠5の開放状態、及び大入賞口27a、普電26の開放中以外での不正入賞などを監視するための処理である。
【0137】
次に、ステップS78では、特図ゲーム処理を行う。この特図ゲーム処理では、特図の変動表示ゲーム全体の統括的制御が行われる。即ち、変動開始条件(変動表示ゲームの開始条件)の成立時において、大当り乱数の判定や、特図の停止図柄の組み合わせ(結果態様)を設定する処理や、特図の変動態様を設定する処理が行われる(詳細後述する)。
ここで、変動開始条件の成立時とは、客待ち状態で始動口入賞があって変動表示ゲームが開始される時、変動表示ゲームがはずれで終了し始動記憶があって再度変動表示ゲームが実行される時、大当たりが終了して始動記憶があって再度変動表示ゲームが実行される時の3種類がある。
また、この特図ゲーム処理では、特図の変動表示ゲームに関する各種出力データを設定する処理も行われる。即ち、特図の変動表示ゲームの遊技状態に合わせて、例えば、演出制御装置300などへ送信するコマンドの内容(コマンドデータ)を設定する。
【0138】
次いで、ステップS79では、普図の変動表示ゲームのための処理を行う。即ち、普図の変動表示遊技の状態に合わせて演出制御装置300などへ送信するコマンドの内容を設定する処理などを行う。
次に、ステップS80では、セグメントLED編集処理を実行する。これは、ステップS78の特図ゲーム処理において決定された特図の図柄やステップS79の普図ゲーム処理において決定された普図の図柄、その他の情報を、一括表示装置35の本特図の表示器(LED、7セグメントの表示器)において表示するための処理である。
次に、ステップS81では磁石不正監視処理を実行する。これは、磁気センサ126からの検出信号をチェックして異常がないか判定するものである、例えば、磁気センサ126の入力フラグが設定されていると、磁気エラーが発生したとして、所定の処理(不正報知のコマンドの準備等)を実行する。
【0139】
次いで、ステップS82では盤電波不正監視処理を実行する。これは、盤電波センサ127からの検出信号をチェックして異常がないか判定するものである、例えば、盤電波センサ127の入力フラグが設定されていると、電波を用いた不正が発生したとして、所定の処理(不正報知のコマンドの準備等)を実行する。
次に、ステップS83では外部情報編集処理を実行する。これは、遊技制御装置100から外部へ出力しようとするデータの編集を行うものである。
ステップS83を経ると、当該タイマ割込み処理を終了する。
ここで、本実施形態では、割込み禁止状態を復元する処理(すなわち、割込みを許可する処理)や、レジスタバンクの指定を復元する処理(すなわち、レジスタバンク0を指定する処理)は、割込みリターンの際(タイマ割込み処理の終了時)に自動的に行う。なお、使用するCPUによっては、割込み禁止状態を復元する処理やレジスタバンクの指定を復元する処理の実行を命令する必要がある遊技機もある。
【0140】
〔入力処理〕
次に、前記タイマ割込み処理における入力処理(ステップS72)を図11により説明する。
入力処理においては、まず入力ポート1、即ち、第1入力ポート160に取り込まれたスイッチの検出信号の状態を読み込む(ステップS91)。そして、8ビットのポートのうち未使用ビットがあればそのビットの状態をクリアする(ステップS92)。
ここで、入力ポート1(第1入力ポート160)で監視するスイッチは、以下の通りである。
・枠電波不正信号(ビット0)
・払出ビジー信号(ビット1)
・払出異常ステータス信号(ビット2)
・シュート球切れスイッチ信号(ビット3)
・オーバーフロースイッチ信号(ビット4)
・タッチスイッチ信号(ビット5)
・RAM初期化スイッチ(ビット6)
・停電監視信号(ビット7)
なお、上記ビット6とビット7は、この入力処理では未使用扱いとなり、ステップS92でクリアされる。
【0141】
続いて、読み込まれた入力ポート1の状態をRWM内のスイッチ制御領域1にセーブ(格納)する(ステップS93)。
次いで、ステップS94で入力ポート2、即ち第2入力ポート161のアドレスを準備し、ステップS95でRWM内のスイッチ制御領域2のアドレスを準備する。
ここで、本実施例において「準備」とは、レジスタに値をセットすることを意味するが、これに限らず、RWM、その他のメモリに値をセットするようにしてもよい。
次いで、ステップS96で未使用のビットデータを準備し、ステップS97で反転するビットデータを準備する。例えば、盤電波センサ127は検出信号の反転が必要なので、そうようなセンサ/スイッチ等のビットデータを準備するものである。
なお、未使用のビットデータ、反転するビットデータは入力ポート毎に準備されている。これらのデータは、フローチャート内で名称が同じであるが、入力ポート毎に別のデータである。但し、結果として同じ値のデータである可能性もある。
【0142】
次に、ステップS98でスイッチ読込み処理を行う。
ここで、入力ポート2(第2入力ポート161)で監視するスイッチは、以下の通りである。
・盤電波センサ(ビット0)(反転ビット):
・スイッチ異常検知信号(ビット1):図4では「異常検知信号」
・磁気センサ(ビット2):
・ガラス枠開放検出スイッチ(ビット3)
・前面枠(本体枠)開放検出スイッチ(ビット4)
・未使用(ビット5〜7)
【0143】
次いで、ステップS99で入力ポート3、即ち第3入力ポート162のアドレスを準備するとともに、ステップS100でRWM内のスイッチ制御領域3のアドレスを準備し、ステップS101で未使用のビットデータを準備する。その後、ステップS102で反転するビットデータを準備し、さらにステップS103でスイッチ読込み処理を行い、入力処理を終了する。
ここで、入力ポート3(第3入力ポート162)で監視するスイッチは、以下の通りである。
・始動口2スイッチ(ビット0):第2始動口スイッチ121
・始動口1スイッチ(ビット1):第1始動口スイッチ120
・左入賞口スイッチ(ビット2):入賞口スイッチ123−1
・右入賞口スイッチ(ビット3):入賞口スイッチ123−2
・ゲートスイッチ(ビット4):ゲートスイッチ122
・大入賞口スイッチ(ビット5):大入賞口スイッチ124
・未使用(ビット6〜7)
なお、上記ビット0〜5の各スイッチの信号は、図4に示すように第3入力ポート162の入力側(近接I/F163の出力側)におけるパターン分岐により、中継基板170を介して試射試験装置へ試験信号として出力される構成となっている。即ち、始動口2スイッチ(ビット0)の信号は「始動口2入賞信号」及び「普通電動役物1入賞信号1」として、始動口1スイッチ(ビット1)の信号は「始動口1入賞信号」として、左入賞口スイッチ(ビット2)の信号は「普通入賞口1入賞信号」として、右入賞口スイッチ(ビット3)の信号は「普通入賞口2入賞信号」として、ゲートスイッチ(ビット4)の信号は「普通図柄1に係るゲート通過信号1」として、大入賞口スイッチ(ビット5)の信号は「特別電動役物1入賞信号1」として、それぞれ試射試験装置へ出力される構成となっている。
【0144】
〔スイッチ読込み処理〕
次に、上述の入力処理におけるスイッチ読込み処理(ステップS98、S103)を図12により説明する。
スイッチ読込み処理においては、対象の入力ポートに取り込まれた信号の状態を読み込む(ステップS111)。これは、1回目の読み込みに相当する。次いで、8ビットのポートのうち未使用ビットがあれば、そのビットの状態をクリアし(ステップS112)、反転の必要なビットを反転(ステップS113)した後、RWM内の対象のスイッチ制御領域のポート入力状態1にセーブ(格納)する(ステップS114)。その後、2回目の読込みまでのディレイ時間(0.1ms;sは秒を表す)が経過するのを待つ(ステップS115)。
【0145】
ディレイ時間(0.1ms)が経過すると、対象の入力ポートに取り込まれた信号の状態の2回目の読込みを行う(ステップS116)。そして、8ビットのポートのうち未使用ビットがあれば、そのビットの状態をクリアし(ステップS117)、反転の必要なビットを反転(ステップS118)した後、対象のスイッチ制御領域のポート入力状態2にセーブ(格納)する(ステップS119)。その後、1回目と2回目の読込みで変化したビット、即ち、信号を検出し、確定ビットパターンを作成する(ステップS120)。具体的には、読み込まれた対象の入力ポートの状態のうち、1回目と2回目で状態が同じビットを「1」、違うビットを「0」とした確定ビットパターンを作成する。次いで、確定ビットパターンとポート入力状態2との論理積をとり、今回確定ビットとする(ステップS121)。
【0146】
次いで、1回目と2回目の読込みで状態が同じビットを0、違うビットを1とした未確定ビットパターンを作成し(ステップS122)、未確定ビットパターンと前回割り込み時の確定状態との論理積をとり、前回保持ビットとする(ステップS123)。これにより、スイッチのチャタリング等によるノイズを除去した信号の状態を得ることができる。そして、今回確定ビットと前回保持ビットを合成し、今回確定状態としてRWMにセーブし(ステップS124)、前回と今回の確定状態との排他的論理和をとり、立上りエッジとしてRWMにセーブして(ステップS125)、スイッチ読み込み処理を終了する。
【0147】
なお、スイッチの読込みは、タイマ割込みの周期が短い場合(例えば2ms)には、各割込みの処理ごとにそれぞれ1回ずつスイッチの読込みを行なって前回の読込みの結果と比較することで信号が変化したか否か判定する方法があるが、そのようにすると次の割込み処理までに前回の割込みで読み込んだスイッチの状態が失われた場合、正しい判定が行なえないおそれがある。また、単純計算でタイマ割込み周期の2倍以上の時間分、スイッチの入力パルスが保持されなくてはならないので、パルスを延長する電気回路の設計やスイッチを通過する遊技球の速度を遅くするための球流路の構造設計などが必要になる。
これに対し、本実施例のように、所定の時間差をおいて1回の割込み処理の中で2回のスイッチ読込み処理を行うことで、タイマ割込みの周期を延ばすことによる割込み内の処理可能量増加と、構造設計等の容易さを両立させ、上記のような不具合を回避することが可能となる。
【0148】
〔出力処理〕
次に、上述のタイマ割込み処理における出力処理(ステップS73)を図13により説明する。
出力処理では、まず一括表示装置(LED)35のセグメントのデータを出力するポート176(図4参照)の出力データを全てオフにする(ステップS131)。続いて、大入賞口ソレノイド133、普電ソレノイド132のデータを出力する機能を有する第1ポート175に出力するデータを合成して出力する(ステップS132)。
次いで、一括表示装置(LED)35のデジット線を順次スキャンするためのデジットカウンタの値を更新(0〜3の範囲で(+1)更新)(ステップS133)し、デジットカウンタの値に対応するLEDのデジット線の出力データを取得する(ステップS134)。次いで、取得したデータと外部情報データを合成する(ステップS134a)。ここで合成する外部情報は「扉・枠開放信号」(つまり、ガラス枠5(扉)・前面枠4(枠)の開放信号のこと)と、「セキュリティ信号」(各種不正発生中と、RAMクリアによる電源投入を行ったときに所定時間出力される信号)とがある。
なお本願では、制御処理においてデータを「取得する」とは、ROM(本例の遊技制御装置100ではROM101B)からデータを取り出すことを意味する。
【0149】
その後、ステップS134aで合成したデータをデジット出力ポート(第3ポート177)と外部情報出力ポート(第4ポート180)に出力する(ステップS135)。第3ポート177は一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
次いで、デジットカウンタの値に対応するRWM内のセグメントデータ領域からセグメント線の出力データをロードし(ステップS136)、ロードしたセグメント出力データをセグメント出力用のポート(第2ポート176)に出力する(ステップS137)。第2ポート176は一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
なお本願では、上記ステップS136のように、制御処理においてデータを「ロードする」とは、RAM(本例の遊技制御装置100ではRAM101C)からデータを取り出すことを意味する。
また、上記ステップS137までの処理により、一括表示装置35における所定のLEDをダイナミック点灯させることになるが、この点灯により実行される表示には、例えば、特別図柄表示、普通図柄表示、特図保留表示、普図保留表示、ラウンド表示、遊技状態表示(時短表示、高確率表示)などがある。
【0150】
続いて、外部情報端子基板55へ出力するデータを合成するとともに(ステップS138)、この合成したデータと発射許可の出力データをさらに合成し(ステップS138a)、ステップS138aで合成したデータを外部情報・発射許可信号出力用のポート(第4ポート180)へ出力する(ステップS138b)。第4ポート180は、大当り情報などパチンコ機1に関する情報を外部情報信号として外部情報端子板55へ出力し、また遊技制御装置100からの発射許可信号を払出制御装置200を経由して発射制御装置へ出力するための出力ポートである。
なお、ステップS138で合成するここで合成する外部情報としては、「大当り信号1」、「大当り信号2」、「大当り信号3」、「大当り信号4」、「図柄確定回数信号」、「始動口信号」、「メイン賞球信号」がある。
【0151】
次いで、試射試験装置へ出力する試験信号の出力データ1〜3をロードして合成し、中継基板170上に設けられている試験信号出力ポート1へ合成したデータを出力する(ステップS139)。さらにその後、試射試験装置へ出力する試験信号の出力データ4〜6をロードして合成し、中継基板170上に設けられている試験信号出力ポート2へ合成したデータを出力する(ステップS140)。
次いで、試射試験装置へ出力する試験信号の出力データ7〜8をロードして合成し、中継基板170上に設けられている試験信号出力ポート3へ合成したデータを出力する(ステップS141)。また、試射試験装置へ出力する試験信号の出力データ9〜10をロードして合成し、中継基板170上に設けられている試験信号出力ポート4へ合成したデータを出力する(ステップS142)。さらに、試射試験装置へ出力する試験信号の出力データ11をロードして合成し、中継基板170上に設けられている試験信号出力ポート5へ合成したデータを出力(ステップS143)して、図13の出力処理を終了する。
【0152】
〔払出コマンド送信処理〕
次に、上述のタイマ割込み処理における払出コマンド送信処理(ステップS74)を図14により説明する。なお概略を説明すると、図14において左列(ステップS151〜S161)はメイン賞球信号の出力回数を更新する(増やす)処理、右列(ステップS162〜S172)は払出コマンドを送信する処理である。
この払出コマンド送信処理では、まず、賞球数別(例えば、3個賞球、10個賞球、14個賞球)に入賞数カウンタとしての記憶領域が複数設けられてなる入賞数カウンタ領域2の各カウンタのうち、チェック対象とされた入賞数カウンタ領域2のカウンタに「0」でないカウント数があるかを判定する(ステップS151)。
入賞数カウンタ領域2の構造(図14にも示す)は、例えば以下の通りである。
・3個賞球カウンタ
・10個賞球カウンタ
・14個賞球カウンタ
各々の入賞数カウンタは255個入賞まで記憶可能になっており、入賞数カウンタ領域2のチェックでは、上述したカウンタを上から(3個賞球カウンタから)順にチェックしていく。
【0153】
フローに戻り、カウント数がない場合(ステップS151:NO)は、チェック対象となる入賞数カウンタ領域2のカウンタのアドレスを更新し(ステップS152)、入賞数カウンタ領域2の全てのカウンタのカウント数のチェックが終了したかを判定する(ステップS153)。この判定で、すべてのチェックが終了した(ステップS153;YES)と判定すると、ステップS162に進む。一方、すべてのチェックが終了していない(ステップS153;NO)と判定すると、ステップS151へ戻って上記処理を繰り返す。
【0154】
また、上記ステップS151で、カウント数がある(ステップS151;YES)と判定した場合には、対象の入賞数カウンタのカウント数を減算(−1)し(ステップS154)、入賞数カウンタ領域2のアドレスに対応する払出数(例えば、3個、10個、又は14個)を取得する(ステップS155)。
ステップS155を経ると、賞球残数領域の値と、ステップS155で取得した払出数とを加算する(ステップS156)。この処理の前における賞球残数領域の値としては、メイン賞球信号の出力の基準となる所定数(この場合、10個)に満たなかった端数が記憶されており、この処理において、賞球残数領域の値に新たに発生した賞球の払出数の値を加算する。そして、加算した値を賞球残数領域にセーブする(ステップS157)。
【0155】
その後、賞球残数領域の値からメイン賞球信号の出力の基準となる所定数である10を減算し(ステップS158)、減算結果が0以上であるかを判定する(ステップS159)。減算結果が0以上でない場合(ステップS159;NO)は、メイン賞球残数更新を終了しステップS162に進む。また、減算結果が0以上である場合(ステップS159;YES)は、メイン賞球信号出力回数領域の値を+1更新し(ステップS160)、減算結果を賞球残数領域にセーブして(ステップS161)、ステップS158に戻る。
【0156】
このメイン賞球残数更新の処理(主にステップS156〜S161)では、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に外部装置へ出力するメイン賞球信号を設定する。即ち、賞球残数が10個になる度に上記ステップS160が実行されてメイン賞球信号の出力回数が+1される。外部装置(遊技店の管理装置等)には、このメイン賞球信号の他に、払出制御装置200からも実際に払い出した賞球数が所定数(ここでは10個)になる毎に賞球信号が出力されるようになっており、この二つの信号を照合することで、不正な払い出しを監視することが可能となっている。すなわち、メイン賞球残数更新の処理は遊技制御装置100から払出予定に基づいて賞球信号を外部装置に送信することで、払出の実払出(払出制御装置200から実際に払い出した賞球数)との整合性をとるために行われる処理である。
なお、賞球信号は主基板たる遊技制御装置100からは10個払出予定毎に1パルスが出力され、払出基板たる払出制御装置200からは10個払出毎に1パルスが出力されるようになっている。
【0157】
次に、入賞数カウンタ領域2の全てのカウンタにカウント数がなく、全てのカウンタのチェックが終了した(ステップS153;YES)と判定するか、前記減算結果が0以上でない場合(ステップS159;NO)には、払出コマンド送信タイマが0でなければ当該タイマを−1更新し(ステップS162)、次いで当該タイマが0になった(タイムアップした)かを判定する(ステップS163)。この判定で、当該タイマ(払出コマンド送信タイマ)がタイムアップした(ステップS163;YES)と判定すると、この払出コマンド送信処理を終了する。一方、当該タイマがタイムアップしていない(ステップS163;NO)と判定すると、払出ビジー信号がビジー中であるか判定する(ステップS164)。そして、払出ビジー信号がビジー中である(ステップS164;YES)と判定すると、この払出コマンド送信処理を終了する。一方、払出ビジー信号がビジー中でない(ステップS164;NO)と判定すると、後述の入賞数カウンタ領域1をチェックすべくステップS165に進む。
なお、ステップS164の判定では、第1入力ポート160のポートの状態を見るのではなく、払出ビジー信号のオン状態が検出されたときに図10の入力処理で設定される払出ビジー信号フラグを見て判定が行われる。
【0158】
そしてステップS165に進むと、賞球数別(例えば、3個賞球、10個賞球、14個賞球)に入賞数カウンタとしての記憶領域が複数設けられてなる入賞数カウンタ領域1の各カウンタのうち、チェック対象とされた入賞数カウンタ領域1のカウンタに「0」でないカウント数があるかを判定する(ステップS165)。
入賞数カウンタ領域1の構造(図14にも示す)は、例えば以下の通りである。
・3個賞球カウンタ
・10個賞球カウンタ
・14個賞球カウンタ
各々の入賞数カウンタは65535個入賞まで記憶可能になっており、入賞数カウンタ領域1のチェックでは、上述したカウンタを上から(3個賞球カウンタから)順にチェックしていく。前述した入賞数カウンタ領域2とこの入賞数カウンタ領域1との違いは、各カウンタの記憶容量である。
【0159】
フローに戻り、カウント数がない場合(ステップS165:NO)は、チェック対象となる入賞数カウンタ領域1のカウンタのアドレスを更新し(ステップS166)、入賞数カウンタ領域1の全てのカウンタのカウント数のチェックが終了したかを判定する(ステップS167)。この判定で、すべてのチェックが終了した(ステップS167;YES)と判定すると、この払出コマンド送信処理を終了する。一方、すべてのチェックが終了していない(ステップS167;NO)と判定すると、ステップS165へ戻って上記処理を繰り返す。
【0160】
また、上記ステップS165で、カウント数がある(ステップS165;YES)と判定した場合には、対象の入賞数カウンタのカウント数を減算(−1)し(ステップS168)、入賞数カウンタ領域1のアドレスに対応する払出数コマンドを取得し(ステップS169)、取得した払出数コマンドを払出用シリアル送信バッファに書き込む(ステップS170)。そしてステップS170を経ると、前記ステップS162、S163で使用する払出コマンド送信タイマ領域に初期値(例えば200ms)をセーブし(ステップS171)、払出要求フラグ領域に要求フラグ(払出要求フラグ)のデータ(フラグが立ったことを示す情報)をセーブし(ステップS172)、このコマンド送信処理を終了する。ここでステップS172では、遊技制御装置100において、自分自身(遊技制御装置100)が払出制御装置200に対して払出要求した(賞球の払出動作を指令した)ことを他の処理で判断可能にするために、払出要求フラグのデータをセットしている(フラグが立った状態としている)。
【0161】
以上のステップS162乃至S171の処理により、入賞に対応する遊技球(賞球)の払出しを指示する払出数コマンド(払出コマンドの一種)が払出制御装置200に送信され、払出制御装置200ではこの払出数コマンドに基づき遊技球(賞球)を払い出す。上記のように、払出数コマンドは、タイマ割込み毎に送信するのではなく、所定時間(例えば200ms)経ってから送る。また、払出制御基板側が賞球を払い出せる状態であること(即ち、払出ビジー信号がビジー中でないこと)も、払出数コマンドが送信される必要条件となっている。
【0162】
なお、払出ビジー信号は、以下の状態のうちの何れか一つ以上になることを条件としてオン(ビジー中)となる。
・払出動作中
・球貸し動作中
・シュート球切れエラー中
・オーバーフローエラー中
・枠電波不正発生中
・払出球検出スイッチの異常中(払い出された球を監視するスイッチの異常中)
・払出不足エラー中
・払出過剰エラー中
・払出制御基板のメモリ内に払い出すべき賞球数の
カウント(未払い出しの賞球数=獲得遊技球数残)
があるとき(=0でないとき)など
【0163】
〔乱数更新処理1〕
次に、上述のタイマ割込み処理における乱数更新処理1(ステップS75)を図15により説明する。
乱数更新処理1は、図9の初期値乱数更新処理の対象となっている大当り図柄乱数、小当り図柄乱数、当り乱数、当り図柄乱数の初期値(スタート値)を更新するための処理である。
乱数更新処理1においては、まず、大当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS185)。
【0164】
大当り図柄乱数が初期値設定待ちでない場合(ステップS185;NO)は、小当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS191)。また、大当り図柄乱数が初期値設定待ちである場合(ステップS185;YES)は、次回初期値として大当り図柄初期値乱数をロードし(ステップS186)、ロードした大当り図柄乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定する(ステップS187)。その後、小当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS191)。
【0165】
小当り図柄乱数が初期値設定待ちでない場合(ステップS191;NO)は、普図の当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS194)。また、小当り図柄乱数が初期値設定待ちである場合(ステップS191;YES)は、次回初期値として小当り図柄初期値乱数をロードし(ステップS192)、ロードした小当り図柄乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定する(ステップS193)。その後、当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS194)。
【0166】
普図の当り乱数が初期値設定待ちでない場合(ステップS194;NO)は、普図の当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS197)。また、普図の当り乱数が初期値設定待ちである場合(ステップS194;YES)は、次回初期値として当り初期値乱数をロードし(ステップS195)、ロードした普図の当り乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定する(ステップS196)。その後、当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS197)。
【0167】
普図の当り図柄乱数が初期値設定待ちでない場合(ステップS197;NO)は、乱数更新処理1を終了する。また、普図の当り図柄乱数が初期値設定待ちである場合(ステップS197;YES)は、次回初期値として当り図柄初期値乱数をロードし(ステップS198)、ロードした当り図柄乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定し(ステップS199)、乱数更新処理1を終了する。
【0168】
〔乱数更新処理2〕
次に、上述のタイマ割込み処理における乱数更新処理2(ステップS76)を図16により説明する。
乱数更新処理2は、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する処理である。
なお、本実施例においては、変動パターン乱数1〜3の3種類が有ることは前述したが、変動パターン乱数として1バイトの乱数(変動パターン乱数2、3)と、2バイトの乱数(変動パターン乱数1)があり、図16の乱数更新処理2は両方を更新対象とし、割込みが発生するごとに更新対象を切り替えて処理する。しかも、更新対象の乱数が2バイトの場合には、上位のバイトと下位のバイトに対して異なる割込み時に更新処理を行うようになっている。即ち、メイン処理に対する一の割り込み処理において実行される乱数更新処理2による2バイトの変動パターン乱数1(リーチ変動態様決定用乱数)の更新は、上位1バイト若しくは下位1バイトの何れかについて実行されるように構成されている。
【0169】
乱数更新処理2においては、まず更新すべき複数の乱数のうちいずれの乱数を今回の更新処理の対象とするかを順番に指定するための乱数更新スキャンカウンタを更新する(ステップS201)。ここでは、0乃至3の範囲で更新する。
なお、更新する乱数の種類は、以下の通りである。
・0のとき:変動パターン乱数1(上位)
・1のとき:変動パターン乱数1(下位)
・2のとき:変動パターン乱数2
・3のとき:変動パターン乱数3
次に、乱数更新スキャンカウンタの値に対応する演出乱数更新テーブルのアドレスを算出する(ステップS202)。そして、算出されたアドレスに基づいて参照したテーブルから乱数の上限判定値を取得する(ステップS203)。このとき参照するテーブルには、乱数の種類ごとに上限値、即ち、乱数が一巡したか否かを判定するための値が格納されている。
ここで、演出乱数更新テーブルには更新する乱数の種類分(4ブロック)のデータがあり、詳細は以下の通りである。
・上限判定値
・M1カウンタのマスク値
・更新する乱数領域の種別情報(詳細は下記)
1バイト乱数
2バイト乱数(上位)
2バイト乱数(下位)
・更新領域のアドレス
【0170】
続いて、遊技用マイコン101内のM1カウンタの値をロードし(ステップS204)対応する演出乱数更新テーブルからM1カウンタの値をマスクするためのマスク値を取得して、M1カウンタの値をマスクする(ステップS205)。
なお、本実施例において遊技用マイコン101として想定しているマイコンには、リフレッシュレジスタ(以下、Rレジスタと称する)が無いので、その代わりにM1カウンタを使用している。ここで、Rレジスタは、Z80系のマイコンに設けられているDRAMのリフレッシュ等のため使用され、常時値が更新されるレジスタであり、読み出す毎にランダムな値が取得される。またM1カウンタは、プログラム命令をフェッチする毎に値が更新されるカウンタであり、Rレジスタと同様に読み出す毎に値が変化するカウンタである。遊技用マイコン101にRレジスタがある場合は、上記M1カウンタの代わりにRレジスタを使用してもよい。いずれにせよ、M1カウンタ或いはRレジスタの値を使用することで、乱数にランダム性を付与することができる。
【0171】
また、上記マスク値は、更新対象の乱数によって異なるビット数、例えば、変動パターン乱数1の下位1バイトを更新する場合には、M1カウンタ(又はRレジスタ、以下同様)の下位3ビットに、また、変動パターン乱数1の上位1バイトを更新する場合には、M1カウンタの下位4ビットに設定されている。乱数の種類によって上限値が異なるためである。
なお、マスク値として、変動パターン乱数1の下位1バイトを更新する場合には、M1カウンタの下位3ビットを、また、変動パターン乱数1の上位1バイトを更新する場合には、M1カウンタの下位4ビットを例示したが、数値は一例であってこれに限られるものではない。
【0172】
次に、更新する乱数領域が2バイト乱数の上位かどうかをチェックする(ステップS206)。2バイト乱数の上位であれば(ステップS206;YES)、ステップS207に進み、マスク値によってM1カウンタの値をマスクすることによって残った値(以下、これをマスクした値と称する)に「1」を加算したものを加算値(上位)とし、また、「0」を加算値(下位)としてステップS208に進む。
マスクした値に「1」を加算するのは、マスクした値が「0」になる場合があり、「0」を後に加算すると加算する前の値から変化しないので、それを避けるためである。
一方、更新する乱数領域が2バイト乱数の下位又は1バイト乱数であれば(ステップS206;NO)、ステップS209に分岐して「0」を加算値(上位)とし、マスク値に「1」を加算したものを加算値(下位)としてステップS208に進む。
【0173】
次のステップS208では、更新する乱数領域(乱数カウンタ)が2バイト乱数かどうかをチェックする。ここで、2バイト乱数でなければステップS210へジャンプする(ステップS208;NO)。一方、乱数領域が2バイト乱数であるときはステップS211へ進む(ステップS208;YES)。ステップS210では、「0」を乱数値(上位)とし、マスク値に「1」を加算したものを更新する乱数領域の値(下位)としてステップS212に進む。
乱数領域が2バイト乱数であるときは、ステップS211で、更新する乱数領域の値(2バイト)を乱数値としてステップS212に進む。
【0174】
次いで、ステップS212では乱数値にステップS207、S209で決定した加算値を加算した値を算出して新たな乱数値を求め、この乱数値がステップS203で取得した上限判定値を超えているかどうかを判定する(ステップS213)。
新たに算出した乱数値が上限判定値を超えていれば、算出した乱数値から上限判定値を差し引いて今回の乱数値とし(ステップS214)、その後、ステップS215に進む。一方、新たに算出した乱数値が上限判定値を超えていなければ、算出した乱数値を今回の乱数値とし、ステップS214をジャンプしてステップS215に進む。
ステップS215では、乱数値の下位を対応する乱数領域にセーブする。ここでは、1バイト乱数領域又は2バイト乱数の下位領域のいずれかの領域にセーブする。続いて、更新した乱数が2バイト乱数かをチェックし(ステップS216)、2バイト乱数であれば(ステップS216;YES)、乱数値の上位を乱数領域の上位(2バイト乱数(上位))側にセーブする(ステップS217)。ここでは、2バイト乱数の上位の領域にセーブする。ステップS217を経ると、当該乱数更新処理2を終了する。
一方、更新した乱数が2バイト乱数でなければ(ステップS216;NO)、ステップS217をジャンプし、その処理は行わず、当該乱数更新処理2を終了する。
【0175】
このように、CPU101Aは、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する。また、変動パターンとしては、後述するように、「リーチなし」の変動パターンや、「ノーマルリーチ」、多数の「スペシャル(SP)リーチ」等の各種リーチ状態における変動パターン(リーチ変動態様)が規定されている。
従って、CPU101Aは、始動口振分装置600や普通変動入賞装置26の始動領域(特図1始動口607、特図2始動口608、又は始動入賞口26a)への遊技球の流入に基づいて抽出された各種乱数のうち、リーチ状態におけるリーチ変動態様を決定するためのリーチ変動態様決定用乱数(変動パターン乱数)を更新する乱数更新手段をなす。
【0176】
〔入賞口スイッチ/状態監視処理〕
次に、上述のタイマ割込み処理における入賞口スイッチ/状態監視処理(ステップS77)を図17により説明する。
入賞口スイッチ/状態監視処理は、各種入賞口に設けられたスイッチから信号の入力(信号の変化)があるか否かの監視や、エラーの監視を行う処理である。
【0177】
入賞口スイッチ/状態監視処理においては、まず大入賞口(変動入賞装置27)内の一方の大入賞口スイッチ124に対応する入賞口監視テーブル1(例えば、一方の大入賞口スイッチ124からの検出信号が入力されるポートの番号や該信号のポート内でのビット位置等を示すデータが格納されている)を準備する(ステップS221)。なお本実施例のパチンコ機1では大入賞口は1個であるが、本実施例では大入賞口スイッチ124が2つ設けられ、変動入賞装置27の大入賞口内に流入した遊技球は何れかの大入賞口スイッチ124に検出されるようになっているので、ここでは一方の大入賞口スイッチ124に対応する入賞口監視テーブル1を準備するものである。
次いで、大入賞口が開いていないにもかかわらず大入賞口に不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS222)を実行する。
【0178】
その後、大入賞口(変動入賞装置27)内の他方の大入賞口スイッチ124に対応する入賞口監視テーブル2を準備し(ステップS223)、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS224)を実行する。
このように、大入賞口スイッチ124は2個あり、大入賞口27a内に配置される大入賞口スイッチ124が2つである。
次いで、普電内の入賞口スイッチの入賞口監視テーブルを準備する(ステップS227)。普電内の入賞口スイッチとしては、普電としての普通変動入賞装置26の始動入賞口26aへの入賞を検出する第2始動口スイッチ121がある。
次いで、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS228)を実行する。
【0179】
その後、不正監視が不要な入賞口スイッチの入賞口監視テーブル(例えば、不正監視不要なスイッチを示すリスト)を準備する(ステップS229)。不正監視が不要な入賞口スイッチとしては、例えば第1始動口スイッチ120、一般入賞口28〜31に対して設けられた入賞口スイッチ123がある。不正監視が不要な入賞口スイッチについては、不正監視はしないが入賞検出処理は行うので、ステップS229でその処理のために入賞口監視テーブルを用意し、次のステップで、入賞数を更新する入賞数カウンタ更新処理(ステップS230)を実行するものである。この入賞数カウンタ更新処理の詳細な手順については、後述する。
【0180】
入賞数カウンタ更新処理(ステップS230)の後は、エラーを監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するための状態スキャンカウンタを更新(0乃至3の範囲で「+1」更新)し、準備する(ステップS231)。続いて、遊技機状態監視テーブル1を準備する(ステップS232)。
遊技機状態監視テーブル1で監視するエラーの種類としては、状態スキャンカウンタの値に対応して以下のものが設定されており、これらは、例えば払出制御装置200からのシュート球切れスイッチ、オーバーフロースイッチ、払出制御装置200の払出し異常ステータス信号などに対応する。
(イ)0のとき:スイッチ異常1エラー(コネクタ抜け、スイッチ故障など)
(ロ)1のとき:シュート球切れエラー
(ハ)2のとき:オーバーフローエラー
(ニ)3のとき:払い出し異常エラー
【0181】
次いで、遊技機状態監視テーブル1で定義した種類のエラーチェックを行い(ステップS233)、その後、遊技機状態監視テーブル2を準備する(ステップS235)。
遊技機状態監視テーブル2で監視するエラーの種類は、下記の通りである。
(ホ)0のとき:ガラス枠開放(前枠開放)
(ヘ)1のとき:前面枠開放(本体枠開放)
(ト)2のとき:枠電波不正
(チ)3のとき:タッチスイッチ
【0182】
次いで、遊技機状態監視テーブル2で定義した種類のエラーチェックを行い(ステップS236)、状態スキャンカウンタが「0」になったか否かを判定する(ステップS237)。状態スキャンカウンタが「0」と判定した場合には、遊技機状態監視テーブル3を準備する(ステップS235)。
遊技機状態監視テーブル3で監視するエラーの種類としては、以下のものがある。
(リ)0のとき:スイッチ異常2エラー(コネクタ抜け、スイッチ故障など)
即ち、遊技機状態監視テーブル3で監視するエラーの種類としては、状態スキャンカウンタの値が「0」に対応するものだけが設定されている。
【0183】
次いで、遊技機状態監視テーブル3で定義した種類のエラーチェックを行い(ステップS239)、さらに払出ビジー信号チェック処理(ステップS240)を実行した後、入賞口スイッチ/状態監視処理を終了してタイマ割込処理にリターンする。
一方、ステップS237で状態スキャンカウンタ=「0」になっていなければ、遊技機状態監視テーブル3には監視対象となるエラーがないので、ステップS238、239を経由せずに、タイマ割込処理にリターンする。
なお、上記ステップS239のテーブル3の遊技機状態チェック処理と、ステップS240の払出ビジー信号チェック処理とは、状態スキャンカウンタが「0」のときのみ、即ちタイマ割込みの4回に1回だけ実行されるので、タイマ割込み周期が4msの場合には、これらチェック処理による監視は16ms周期の監視となっている。
【0184】
〔不正&入賞監視処理〕
次に、上述の入賞口スイッチ/状態監視処理における不正&入賞監視処理(ステップS222、ステップS224、ステップS228)を図18により説明する。
入賞監視処理は、大入賞口(変動入賞装置27)の2つの大入賞口スイッチ124の各々、及び普電内の第2始動口スイッチ121に対して行なわれる処理である。大入賞口(変動入賞装置27)や普電(普通変動入賞装置26)については、無理やり開閉部材を開いて遊技球を入れて賞球を払い出させる不正が行なわれ易いため、入賞の検出の他に不正の監視をする。
ここで、入賞口スイッチ/状態監視処理の中の不正&入賞監視処理を説明するに当たり、準備される入賞口監視テーブルのうちの不正監視テーブルに定義されている情報は、以下の通りである。
・入力があるかを判定するデータ(監視スイッチビット)
・不正監視情報の下位アドレス
・不正入賞数領域の下位アドレス
・不正入賞エラー報知コマンド
・不正入賞数上限値(不正発生判定個数)
・入賞口スイッチテーブルのアドレス
・報知タイマ更新情報(許可/更新)
【0185】
不正&入賞監視処理においては、まず、エラー監視対象の入賞口スイッチの不正監視期間フラグをチェックし(ステップS241)、不正監視期間中かどうかを判定する(ステップS242)。不正監視期間とは、エラー監視対象の入賞口スイッチが大入賞口スイッチ124である場合は変動入賞装置27を開放する特別遊技状態中以外の期間である。また、エラー監視対象の入賞口スイッチが第2始動口スイッチ121である場合は普図の当りに基づき普通変動入賞装置26の開放制御を実行している状態以外の期間である。
【0186】
そして、不正監視期間である場合(ステップS242;YES)は、対象の入賞口スイッチに入力があるかを判定する(ステップS243)。対象の入賞口スイッチに入力がない場合(ステップS243;NO)は、対象の報知タイマ更新情報をロードする(ステップS252)。また、対象の入賞口スイッチに入力がある場合(ステップS243;YES)は、対象の不正入賞数を+1更新し(ステップS244)、加算後の不正入賞数が監視対象の不正発生判定個数(例えば、5個)以上であるを判定する(ステップS245)。
【0187】
判定個数を例えば5個としているのは、例えば、開状態にある大入賞口が閉状態に変換した際に遊技球が大入賞口の扉部材に挟まり、その遊技球がカウントスイッチ(大入賞口スイッチ124)の有効期間を過ぎて入賞した場合や信号にノイズがのった場合に、それを不正と判断しないようにするためであり、不正でないのに簡単にエラーと判定しないためである。上記判定個数は、スイッチ毎に異なる値としてもよい。
そして、判定個数以上でない(ステップS245;NO)と判定すると、ステップS250へジャンプし、対象の入賞口スイッチの入賞監視テーブル(入賞口監視テーブル)を準備する。また、判定個数を超えた場合(ステップS245;YES)は、不正入賞数を不正発生判定個数に留め(ステップS246)、対象の不正入賞報知タイマ領域に初期値(例えば60000ms)をセーブする(ステップS247)。次に、対象の不正発生コマンドを準備し(ステップS248)、不正フラグとして不正入賞発生フラグを準備して(ステップS249)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。
【0188】
一方、不正監視期間でない場合(ステップS242;NO)は、対象の入賞口スイッチの入賞監視テーブルを準備し(ステップS250)、賞球の設定を行う入賞数カウンタ更新処理(ステップS251)を行う。そして、対象の報知タイマ更新情報をロードし(ステップS252)、報知タイマの更新許可の有無を判定する(ステップS253)。そして、報知タイマの更新が許可されない場合(ステップS253;NO)は、不正&入賞監視処理を終了する。また、報知タイマの更新が許可される場合(ステップS253;YES)は、対象の報知タイマが0でなければ−1更新する(ステップS254)。なお、報知タイマの最小値は0に設定されている。
【0189】
報知タイマの更新は、エラー監視対象の入賞口スイッチが一方の大入賞口スイッチ124である場合は許可されず、エラー監視対象の入賞口スイッチが他方の大入賞口スイッチ124である場合は許可される。これにより、変動入賞装置27についての不正報知について、報知タイマの更新が倍の頻度で行われてしまい、規定時間(例えば60000ms)の半分でタイムアップしてしまうことを防止している。
すなわち、大入賞口(変動入賞装置27)に対してエラー監視を2つの大入賞口スイッチ124で行っているため、双方のスイッチでタイマ更新すると、倍のタイマ更新が行われることとなり、結果的に規定時間の半分で不正タイマがタイムアップしてしまうことから、あとから監視処理を行う他方の大入賞口スイッチ124の監視処理を行うタイミングでのみ、タイマ更新をするようにしているものである。
なお、エラー監視対象の入賞口スイッチが普電内の第2始動口スイッチ121である場合は報知タイマの更新は常に許可される。
【0190】
その後、報知タイマの値が0であるかを判定し(ステップS255)、値が0でない場合(ステップS255;NO)、すなわちタイムアップしていない場合は、不正&入賞監視処理を終了する。また、値が0である場合(ステップS255;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合は、対象の不正解除コマンドを準備し(ステップS256)、不正フラグとして不正入賞解除フラグを準備する(ステップS257)。そして、報知タイマの値が0になった瞬間であるかを判定する(ステップS258)。
【0191】
報知タイマの値が0になった瞬間である場合(ステップS258;YES)、すなわち今回の不正&入賞監視処理で報知タイマの値が0になった場合は、対象の不正入賞数をクリアし(ステップS259)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。また、報知タイマの値が0になった瞬間でない場合(ステップS258;NO)、すなわち前回以前の不正&入賞監視処理で報知タイマの値が0になった場合は、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。
【0192】
そして、準備した不正フラグと対象の不正フラグ領域の値が一致した場合(ステップS260;YES)は、不正&入賞監視処理を終了する。また、準備した不正フラグと対象の不正フラグ領域の値が一致しない場合(ステップS260;NO)は、準備した不正フラグを対象の不正フラグ領域にセーブし(ステップS261)、演出コマンド設定処理を行い(ステップS262)、不正&入賞監視処理を終了する。
以上の処理により、エラーの発生に伴いエラー報知コマンドが演出制御装置300に送信され、エラーの解除に伴い不正入賞エラー解除コマンドが演出制御装置300に送信されて、エラー報知の開始、終了が設定されることとなる。
【0193】
〔入賞数カウンタ更新処理〕
次に、上述の入賞口スイッチ/状態監視処理における入賞数カウンタ更新処理(ステップS230)及び不正&入賞監視処理における入賞数カウンタ更新処理(ステップS251)を図19により説明する。
入力数カウンタ更新処理においては、まず、上述の入賞口スイッチ/状態監視処理にて取得した入賞口監視テーブルから監視する入賞口スイッチの個数を取得する(ステップS271)。
ここで、入賞口スイッチ/状態監視処理等で準備された入賞口監視テーブルのうちの入賞テーブルに定義されている情報は、以下の通りである。
・繰り返し回数
・入力があるかを判定するデータ(監視スイッチビット)
・入賞数カウンタ領域1の下位アドレス
・入賞数カウンタ領域2の下位アドレス
(一つのテーブルに対して入賞口スイッチが複数ある場合、繰り返し回数を除いて、スイッチ毎に定義されている)
【0194】
次いで、監視対象の入賞口スイッチから検出信号の入力(正確には入力の変化)があるかチェックする(ステップS272)。ここで、入力がない(S272;NO)と判定するとステップS281へジャンプし、入力がある(S272;YES)と判定すると、次のステップS273で、対象の入賞数カウンタ領域1の値をロードする。
【0195】
次のステップS274では、ロードした入賞数カウンタを更新(+1)し、続くステップS275でオーバーフローするかチェックする。そして、カウンタオーバーフローが発生していない(ステップS275;NO)と判定すると、ステップS276へ進んで更新後の値を入賞数カウンタ領域1にセーブしてからステップS277へ進む。
一方、ステップS275でカウンタオーバーフローが発生している(S275;YES)と判定すると、ステップS276をスキップしてステップS277へジャンプする。設けられた入賞数カウンタ領域のサイズによって、最大記憶数(例えば、1バイトサイズなら255個、2バイトサイズなら65535個)が決まるので、それを超えると値が「0」に戻ってしまい、支払うべき大量の賞球数の情報を失ってしまうことになる。それを回避するためにステップS274では、いきなり領域の内容を更新せず、領域の外で(+1)して「0」になってしまわないかを確認した上で更新を行うようにしている。
【0196】
ステップS277に進むと、ステップS277乃至S280において、入賞数カウンタ領域2について前記ステップS273乃至S276と同様の処理を実行する。即ち、まずステップS277で対象の入賞数カウンタ領域2の値をロードし、次のステップS278では、ロードした入賞数カウンタを更新(+1)し、続くステップS279でオーバーフローするかチェックする。そして、カウンタオーバーフローが発生していない(ステップS279;NO)と判定すると、ステップS280へ進んで更新後の値を入賞数カウンタ領域2にセーブしてからステップS281へ進む。
一方、ステップS279でカウンタオーバーフローが発生している(S279;YES)と判定すると、ステップS280をスキップしてステップS281へジャンプする。
ステップS281では、入賞口監視テーブルのテーブルアドレスを次レコードのアドレスに更新し、次いでステップS282で全部のスイッチの監視処理が終了したか判定して、終了している場合(ステップS282;YES)には当該入力数カウンタ更新処理を終了し、終了していない場合(ステップS282;NO)には、ステップS272へ戻り上記処理を繰り返す。
【0197】
以上の処理により、入賞に応じた賞球が設定されることとなる。
詳細には、前半部の処理(ステップS273乃至S276)によれば、賞球(払出コマンド送信)のための入賞数カウンタの値(即ち、入賞数カウンタ領域1の値)が更新される。このカウンタサイズは2バイトであり、0〜65535の範囲の値をとる。
また、後半部の処理(ステップS277乃至S280)によれば、メイン賞球信号のための入賞数カウンタの値(即ち、入賞数カウンタ領域2の値)が更新される。このカウンタサイズは1バイトであり、0〜255の範囲の値をとる。入賞数カウンタ領域2の値は、メイン賞球信号のために例えば前述のステップS155で使われる。
【0198】
〔遊技機状態チェック処理〕
次に、上述の入賞口スイッチ/状態監視処理における遊技機状態チェック処理(ステップS233、ステップS236、ステップS239)を図20により説明する。
遊技機状態チェック処理においては、まず、エラーを監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するための状態スキャンカウンタに対応する遊技機状態監視テーブルを取得する(ステップS301)。
入賞口スイッチ/状態監視処理にて準備された遊技機状態監視テーブル上に定義されている情報としては、以下のものがある。
(イ)状態監視領域の先頭アドレスの下位アドレス
(ロ)対象の信号情報が保存されているスイッチ制御領域の
ポート入力状態領域の下位アドレス
(ハ)対象の信号のビットだけを取り出すマスクデータ
(ニ)信号オンの判定データ
(ホ)状態オフコマンド(エラー系の場合は、エラー報知終了のコマンドの意味)
(ヘ)状態オンコマンド(エラー系の場合は、エラー報知開始のコマンドの意味)
(ト)状態オフ監視タイマ比較値
(チ)状態オン監視タイマ比較値
【0199】
次いで、今回取得した対象のスイッチの状態をチェックし、監視対象である信号(スイッチの状態含む)がオンであるかを判定する(ステップS302)。ここで、「信号がオン」であるとは、エラー系に関してはエラー(異常、不正)の状態であり、タッチスイッチ信号に関してはタッチしている方の状態(発射操作ハンドル11に遊技者の手が接触している状態)を意味する。また、「信号がオフ」であるとは、エラー系に関してはエラーでない(正常)方の状態であり、タッチスイッチ信号に関してはタッチしていない方の状態(発射操作ハンドル11に遊技者の手が接触していない状態)を意味する。
そして、スイッチがオンでない場合(ステップS302:NO)は、状態フラグとして状態オフフラグを準備し(ステップS303)、対象の状態オフコマンドを取得して準備する(ステップS304)。その後、対象の状態オフ監視タイマ比較値を取得して(ステップS305)、対象の信号制御領域の値と今回の信号の状態を比較する(ステップS309)。
【0200】
一方、信号がオンである場合(ステップS302:YES)は、状態フラグとして状態オンフラグを準備する(ステップS306)。例えば、遊技機状態監視テーブルで定義するエラーの1つとして、シュート球切れの場合であれば、貯留タンクに遊技球を供給するシュートに遊技球が無いことがシュート球切れスイッチで検出されてオンになると、ステップS302がYESとなる。YESであればステップS306で、状態オンフラグを準備することになる。
次いで、対象の状態オンコマンドを準備する(ステップS307)。その後、対象の状態オン監視タイマ比較値を取得して(ステップS308)、対象の信号制御領域の値と今回の信号の状態を比較する(ステップS309)。
【0201】
対象の信号制御領域の値と今回の信号の状態が一致した場合(ステップS309;YES)、すなわち信号の状態が変化していない場合は、エラーの処置等が必要かどうかのタイマを判断するために対象の状態監視タイマを+1更新して(ステップS312)、対象の状態監視タイマの値が監視タイマ比較値(エラーへの処置等が必要と判断する基準値)に達したかを判定する(ステップS313)。また、対象の信号制御領域の値と今回の信号の状態が一致しない場合(ステップS309;NO)、すなわち信号の状態が変化した場合は、まだエラーの処置まで必要ないと判断して対象の信号制御領域に今回の信号状態をセーブする(ステップS310)、そして、対象の状態監視タイマをクリアし(ステップS311)、対象の状態監視タイマを+1更新して(ステップS312)、対象の状態監視タイマの値が監視タイマ比較値に達したかを判定する(ステップS313)。
【0202】
対象の状態監視タイマの値が監視タイマ比較値に達していない場合(ステップS313;NO)は、遊技機状態チェック処理を終了する。また、対象の状態監視タイマの値が監視タイマ比較値に達した場合(ステップS313:YES)は、状態監視タイマを−1更新して比較値−1の値に留め(ステップS314)、準備した状態フラグを対象の状態フラグ領域の値と比較する(ステップS315)。
ここで、ステップS313で対象の状態監視タイマが監視タイマ比較値に達したと判定したときは、信号の状態(エラー系の場合は、エラー発生または解除の状態)が確定したと見なされることになる。しかし、例えばエラー系の場合、既にエラーが発生している状態のときにエラー発生が確定するか、またはエラー発生中でない状態のときにエラー解除が確定するという状況もあり得るので、ステップS314の処理を経て、ステップS315では、準備した状態フラグを対象の状態フラグ領域の値と比較することにより、今回確定した信号の状態は現エラーフラグの状態と同じかどうかをチェックするようにしている。
【0203】
そして、準備した状態フラグと対象の状態フラグ領域の値とが一致する場合(ステップS315;YES)は、信号の状態(エラー系の場合は、エラーの状況)が変化していないことになるので、処置(信号の状態変化に対する対応)の必要はないと判断し、遊技機状態チェック処理を終了する。また、準備した状態フラグと対象の状態フラグ領域の値とが一致しない場合(状態フラグが同じでなければ)(ステップS315;NO)は、信号の状態が変化した(新たなエラー状態に変化した、或いはタッチスイッチ信号がオフからオン又はオンからオフに変化した)ことになるので、準備した状態フラグを対象の状態フラグ領域にセーブして(ステップS316)、ステップS317に進む。すなわち、対象の状態フラグ領域の値を今回確定した信号の状態のものに変更して、ステップS317に進む。ステップS317では、コマンド設定処理を行い、今回確定した信号の状態に対応するコマンドを設定する。つまり、上で準備した状態オフコマンドか状態オンコマンドの
何れかを送信する処理をする。これにより、今回の信号状態に対応する処置が行なわれることとなり、例えばシュート球切れであれば、それを知らせるエラー表示が報知されたり、報知解除されたりする。ステップS317を経ると、遊技機状態チェック処理を終了する。
このようにして、エラー等の信号がオンになれば、該当する状態オンフラグを立てて状態オンコマンドを準備し、エラー等の信号がオフになると該当する状態オフフラグを立て状態オフコマンドの設定が行なわれる。特に、この遊技機状態チェック処理では、信号のオン(エラーの発生、或いは発射操作ハンドル11への手の接触)だけを監視しているものではなく、信号のオフ(エラーの解除、或いは発射操作ハンドル11から手を離す動作・状態)も合わせて監視するようにして、処理を共通にしている。
なお、このような遊技機状態チェック処理は、例えばガラス枠開放、前面枠開放などの他のエラーについても同様である。
【0204】
〔払出ビジー信号チェック処理〕
次に、上述の入賞口スイッチ/状態監視処理における払出ビジー信号チェック処理(ステップS240)を図21により説明する。
この処理においては、まず、払出制御装置200からの前述した払出ビジー信号の状態を対応のフラグによりチェックし、払出ビジー信号がオンであるかを判定する(ステップS285)。
そして、払出ビジー信号がオンでない場合(ステップS285:NO)は、状態フラグとしてアイドル状態フラグを準備し(ステップS285)、規定のオフ確定監視タイマ比較値(例えば、32ms)を設定して(ステップS286)、ビジー信号状態領域の値と今回の信号の状態を比較する(ステップS287)。
【0205】
一方、払出ビジー信号がオンである場合(ステップS302:YES)は、状態フラグとしてビジー状態フラグを準備する(ステップS285a)。次いで、規定のオン確定監視タイマ比較値(例えば、32ms)を設定して(ステップS286a)、ビジー信号状態領域の値と今回のビジー信号の状態を比較する(ステップS287)。このステップS287では、同じ状態が複数割込み分継続しているかをチェックしている。
【0206】
ビジー信号状態領域の値と今回のビジー信号の状態が一致した場合(ステップS287;YES)、すなわちビジー信号の状態が変化していない場合は、ビジー信号監視タイマを+1更新して(ステップS290)、ビジー信号監視タイマの値が設定された監視タイマ比較値(前記オフ確定監視タイマ比較値又はオン確定監視タイマ比較値)に達したかを判定する(ステップS291)。
また、ビジー信号状態領域の値と今回のビジー信号の状態が一致しない場合(ステップS287;NO)、すなわち信号の状態が変化した場合は、ビジー信号制御領域に今回のビジー信号の状態をセーブする(ステップS288)、そして、ビジー信号監視タイマを0クリアし(ステップS289)、ビジー信号監視タイマを+1更新して(ステップS290)、ビジー信号監視タイマの値が設定された監視タイマ比較値に達したかを判定する(ステップS291)。
【0207】
ビジー信号監視タイマの値が監視タイマ比較値に達していない場合(ステップS291;NO)は、払出ビジー信号チェック処理を終了する。また、ビジー信号監視タイマの値が監視タイマ比較値に達した場合(ステップS291:YES)は、ビジー信号監視タイマを−1更新して比較値−1の値に留め(ステップS292)、準備した状態フラグを払出ビジー信号フラグ領域にセーブして(ステップS293)、準備した状態フラグがビジー状態を示すものか判定する(ステップS294)。
ここで、ステップS291でビジー信号監視タイマが監視タイマ比較値に達したと判定したときは、ビジー信号の状態が確定したことになる。
【0208】
そして、準備した状態フラグがビジー状態を示すものでない場合(ステップS294;NO)は、当該払出ビジー信号チェック処理を終了する。また、準備した状態フラグがビジー状態を示すものである場合(ステップS294;YES)は、ビジー信号がオフからオンに変化したことになるので、その変化が遊技者の球貸し操作(球貸ボタン16を押下する操作)によるものか判断すべく、ステップ295に進む。
ステップS295に進むと、払出要求フラグ(前述の払出コマンド送信処理でセーブされる)のデータをロードした後にクリアし(ステップS295)、ロードした払出要求フラグのデータが要求フラグあり(即ち、フラグが立った状態)であるか判定する(ステップS296)。
【0209】
そして、払出要求フラグのデータが要求フラグあり(ステップS296;YES)であれば、自分自身(遊技制御装置100)が要求した賞球払出動作を払出制御装置200が実行しているためにビジー状態であると判断されるため、後述するステップS298、S299は実行しないで、この払出ビジー信号チェック処理を終了する。
一方、払出要求フラグのデータが要求フラグありでない場合(ステップS296;NO)には、遊技者の球貸し操作がされた可能性があるので、次にビジー信号がオンとなるエラーが発生中がをチェックする(ステップS297)。
【0210】
そして、ビジー信号がオンとなるエラーが発生中(ステップS297;YES)であれば、当該エラー発生中のためにビジー状態であると判断されるため、やはり後述するステップS298、S299は実行しないで、この払出ビジー信号チェック処理を終了する。
一方、ビジー信号がオンとなるエラーが発生中でない場合(ステップS297;NO)には、遊技者の球貸し操作がされた(遊技者の球貸し操作によりビジー信号がオンになった)と判断できるので、球貸しボタン押下コマンド(球貸ボタン16が押下されて球貸操作が為されたことを示すコマンド)を準備し(ステップS298)、このコマンドを演出制御装置200に送信すべく演出コマンド設定処理を実行し(ステップS299)、その後この払出ビジー信号チェック処理を終了する。
【0211】
なお、払出ビジー信号がオン(ビジー中)となる場合は、払出コマンド送信処理の説明で既に記載したとおりであり、エラーや異常発生中を除けば、賞球の払出動作中か、球貸し動作中(貸球の払出動作中)の何れかである。このため、払出要求フラグの状態と、ビジー信号がオンとなるエラーが発生中(シュート球切れエラー中か、オーバーフローエラー中か、払出異常ステータス信号がオン状態かなど)かを確認すれは、球貸しによるビジー状態なのかを判断できる。
したがって、この払出ビジー信号チェック処理によれば、払出制御装置200から受信される払出ビジー信号の状態がチェックされて当該状態に応じて所定のフラグのデータが設定されるとともに、この払出ビジー信号の状態に基づいて遊技者の球貸し操作(球貸ボタン16が押下されることによる球貸操作)が為されたか否かが判断され、遊技者の球貸し操作が為される度にた球貸しボタン押下コマンドが演出制御装置300に送信されることになる。
【0212】
〔特図ゲーム処理〕
次に、前記タイマ割込処理における特図ゲーム処理(ステップS78)を図22により説明する。
特図ゲーム処理では、第1始動口スイッチ120及び第2始動口スイッチ121の入力の監視と、特図変動表示ゲームに関する処理全体の制御、特図の表示の設定を行う。
特図ゲーム処理では、まず、ステップS321で第1始動口スイッチ120及び第2始動口スイッチ121の入賞を監視する始動口スイッチ監視処理を行う。
始動口スイッチ監視処理では、特図1始動口607、特図2始動口608、又は始動入賞口26aに遊技球の入賞があると、各種乱数(大当り乱数など)の抽出を行い、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。なお、始動口スイッチ監視処理(ステップS321)の詳細については後述する。
次いでステップS322で大入賞口スイッチ監視処理を行う。これは、変動入賞装置27内に設けられた大入賞口スイッチ124での遊技球の検出を監視する処理を行うものである。
【0213】
次いで、ステップS323では、特図ゲーム処理タイマが0でなければ−1更新する。なお、特図ゲーム処理タイマの最小値は0に設定されている。そして、特図ゲーム処理タイマの値が0であるかを判定する(ステップS324)。特図ゲーム処理タイマの値が0である場合(ステップS324;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合は、特図ゲーム処理番号に対応する処理に分岐させるために参照する特図ゲームシーケンス分岐テーブル(図22右上に具体例を示す)をレジスタに設定し(ステップS325)、当該テーブルを用いて特図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(ステップS326)。そして、ゲーム処理番号に応じてサブルーチンコールを行う(ステップS328)。
特図ゲーム処理タイマは、後述する処理番号による分岐後の各処理(ステップS329〜S339:処理番号=0乃至処理番号=10に相当)において、それぞれ所定の値にタイマ値が設定されるものであり、この特図ゲーム処理タイマがタイムアップしたときにステップS329以降を実行すべきタイミングになるように設定される。これにより、ステップS323を実行した時点で、ステップS325以降を実行すべきタイミングになっていると、ステップS324の判定結果が肯定的になり、ステップS325以降(ステップS340〜S343含む)が実行される。そして、ステップS323を実行した時点で、ステップS325〜S339を実行すべきタイミングでない場合には、ステップS324の判定結果が否定的になり、ステップS340〜S343のみが実行される構成となっている。
【0214】
ステップS328における処理番号によるサブルーチンコールでは、処理番号0でステップS329(特図普段処理)へ、処理番号1でステップS330(特図変動中処理)へ、処理番号2でステップS331(特図表示中処理)へ、処理番号3でステップS332(ファンファーレ/インターバル中処理)へ、処理番号4でステップS333(大入賞口開放中処理)へ、処理番号5でステップS334(大入賞口残存球処理)へ、処理番号6でステップS335(大当り終了処理)へ、処理番号7でステップS336(小当りファンファーレ中処理)へ、処理番号8でステップS337(小当り中処理)へ、処理番号9でステップS338(小当り残存球処理)へ、処理番号10でステップS339(小当り終了処理)へ進む。なお、客待ち状態(デモ中)は、処理番号0である。
【0215】
処理番号におけるサブルーチンコールで実行される各処理の具体的内容は、以下の通りである。
ステップS329(特図普段処理)では、特図保留数(特図変動表示ゲーム未実施で保留になっている特図始動記憶の数)がゼロで特図変動表示ゲームを実行中でないときには、客待ち状態の表示を表示装置41で行うための処理を行う。また、この特図普段処理では、次の特図変動表示ゲームを開始するための処理(特図変動開始処理)を行う。この特図変動開始処理では、特図1及び特図2の始動記憶を監視し、何れかの特図始動記憶があれば、対応する変動表示(第1又は第2変動表示)を開始するための設定(演出制御装置300に送信する変動パターンコマンドの設定など)を実行し、処理番号を1とした後にリターンする。特図保留数がゼロで次の特図変動表示ゲームを実行しない場合には、そのまま(処理番号は0のまま)リターンする。
【0216】
次に、ステップS330(特図変動中処理)では、特図変動開始処理で設定された変動時間が経過するまで、特図を変動表示させるための処理が行われる。そして、前記変動時間が経過すると、特図の図柄を停止させるコマンド(図柄停止コマンド)を演出制御装置300に送信する処理を実行した後、処理番号を2としてリターンする。
また、ステップS331(特図表示中処理)では、特図の変動表示結果を一定時間(1秒〜2秒)表示するための処理を行う。また、特図変動表示ゲームの遊技結果が大当りであれば、大当りの種類に応じたファンファーレコマンドの設定や、各大当りの大入賞口開放パターンに応じたファンファーレ時間の設定や、ファンファーレ/インターバル中処理を行うために必要な情報の設定等を行う。そして、大当りなら処理番号を3とし、小当りなら処理番号を7とし、はずれなら処理番号を0としてリターンする。
【0217】
次に、ステップS332(ファンファーレ/インターバル中処理)では、大当り直後にはファンファーレ音等をスピーカ12a等から出力するファンファーレ処理を実行し、大当りのインターバル期間にはインターバル期間の表示等を実現するためのインターバル処理を実行し、変動入賞装置27の大入賞口開放を開始するタイミングで処理番号を4にする。また、ここでは大入賞口の開放時間の設定や開放回数の更新、大入賞口開放中処理を行うために必要な情報の設定等を行う。
次に、ステップS333(大入賞口開放中処理)は、変動入賞装置27の大入賞口27aや第2変動入賞装置33を開放している間の処理である。また、ここでは大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであればエンディングコマンドを設定する処理や、大入賞口残存球処理を行うために必要な情報の設定等を行う。大入賞口開放が終了すると、処理番号を5にする。
【0218】
次に、ステップS334(大入賞口残存球処理)では、大入賞口内にある残存球が排出されるための時間を設定する処理や、大当りラウンドが最終ラウンドであれば大当り終了処理を行うために必要な情報の設定等を行う。具体的には、例えば大入賞口開放終了の間際に変動入賞装置27の大入賞口27aに入った遊技球を確実にカウントするために一定時間待機する処理を行い、この一定時間が経過した後に、大当りのラウンドが残っているときには処理番号を3にし、大当りのラウンドが残っていないときには処理番号を6としてリターンする。
次に、ステップS335(大当り終了処理)では、特図普段処理を行うために必要な情報の設定等を行い、処理番号を0に戻してリターンする。
【0219】
次に、ステップS336(小当りファンファーレ中処理)では、小当りが発生した際の大入賞口の開放時間・開放パターンの設定、ファンファーレコマンドの設定、小当り中処理を行う。
次に、ステップS337(小当り中処理)は、エンディングコマンドの設定や小当り残存球処理を行うために必要な情報の設定等を行う。
【0220】
次に、ステップS338(小当り残存球処理)では、小当り中処理の際に大入賞口内に入賞した残存球が排出されるための時間を設定する処理や、小当り終了処理を行うために必要な情報の設定等を行う。
次に、ステップS339(小当り終了処理)では、特図普段処理を行うために必要な情報の設定等を行い、処理番号を0に戻してリターンする。
【0221】
次に、処理番号に応じた上記何れかの処理が終了すると、ステップS340に進み、特図1の一括表示装置35での表示(本特図1の表示)を制御するためのテーブル(特図1変動制御テーブル)を準備し、次のステップS341では、この本特図1の変動表示のための制御処理(図柄変動制御処理)を行う。
次いでステップS342に進み、特図2の一括表示装置35での表示(本特図2の表示)を制御するためのテーブル(特図2変動制御テーブル)を準備し、次のステップS343では、この本特図2の変動表示のための制御処理(図柄変動制御処理)を行い、その後リターンする。
一方、ステップS324にて、特図ゲーム処理タイマの値が「0」でない場合(ステ
ップS324;N)、すなわちタイムアップしていない場合は、ステップS340の処理に移行して、それ以降の処理を行う。
【0222】
なお、小当りは条件装置の作動を伴わない結果態様であり、大当りとは条件装置の作動を伴う特別結果である。条件装置とは、特図変動表示ゲームで大当りが発生(大当り図柄の停止表示)した場合に作動するもので、条件装置が作動するとは、例えば大当り状態が発生して特別電動役物としての特別変動入賞装置を連続して作動させるための特定のフラグがセットされる(役物連続作動装置が作動される)ことを意味する。条件装置が作動しないとは、例えば小当り抽選に当選したような場合のように前述のフラグはセットされないことを意味する。なお、「条件装置」は上記のようなソフトウェア的にオンオフされるフラグのようなソフトウェア手段であっても良いし、電気的にオンオフされるスイッチのようなハードウェア手段であっても良い。また、「条件装置」は、その作動が電動役物の連続作動に必要条件とされる装置として、パチンコ遊技機の分野においては一般的に使用されている用語であり、本明細書においても同様な意味を有する用語として使用する場合がある。
【0223】
〔始動口スイッチ監視処理〕
次に、上述の特図ゲーム処理における始動口スイッチ監視処理(ステップS321)を図23により説明する。
始動口スイッチ監視処理では、先ず、第1始動口(特図1始動口607)の入賞監視テーブル(始動口1入賞監視テーブル)を準備し(ステップS351)、ハード乱数取得処理(ステップS352)を行って、第1始動口への入賞があるか否かを判定する(ステップS353)。ここで、ステップS353での始動入賞有無の判定は、例えば後述するステップS376で設定される情報に基づいて行う。
ステップS353にて、第1始動口への入賞がないと判定した場合(ステップS353;N)には、ステップS359の処理に移行して、それ以降の処理を行う。
一方、ステップS353にて、第1始動口への入賞があると判定した場合(ステップS353;Y)には、特図時短中(普電サポート中のこと;低確率か高確率かは問わない)であるか否かを判定する(ステップS354)。
【0224】
ステップS354にて、特図時短中でないと判定した場合(ステップS354;N)には、ステップS357の処理に移行して、それ以降の処理を行う。
一方、ステップS354にて、特図時短中であると判定した場合(ステップS354;Y)には、右打ち指示報知コマンドを準備して(ステップS355)、演出コマンド設定処理(ステップS356)を行う。すなわち、時短状態であれば、特図変動表示ゲームの確率状態にかかわらず、右打ち指示報知コマンドを準備して(ステップS355)、演出コマンド設定処理(ステップS356)を行う。本実施形態の遊技機1の場合、始動口振分装置600の始動口(特図1始動口607、特図2始動口608)へは左打ちでないと入賞せず、普通変動入賞装置26の始動口(始動入賞口26a)へは右打ちでないと入賞しない。したがって、時短状態は、左打ちよりも右打ちの方が有利な遊技状態となるが、時短状態中に第1始動口(特図1始動口607)に入賞があった場合(すなわち、時短状態中に左打ちされた場合)には、右打ち指示報知コマンドを演出制御装置300に送信して、右打ちするよう指示する報知(警告)を演出制御装置300によって行うよう構成されている。
次いで、第1始動口(特図1始動口607)による保留の情報を設定するテーブルを準備した後(ステップS357)、特図始動口スイッチ共通処理(ステップS358)を行う。
【0225】
次に、第2始動口(始動入賞口26a、特図2始動口608)の入賞監視テーブル(始動口2入賞監視テーブル)を準備し(ステップS359)、ハード乱数取得処理(ステップS360)を行って、第2始動口への入賞があるか否かを判定する(ステップS361)。ここで、ステップS361での始動入賞有無の判定は、例えば後述するステップS376で設定される情報に基づいて行う。ステップS361にて、第2始動口への入賞がないと判定した場合(ステップS361;N)には、始動口スイッチ監視処理を終了する。
一方、ステップS361にて、第2始動口への入賞があると判定した場合(ステップS361;Y)には、普通電動役物が作動中であるか否か、すなわち、普通変動入賞装置26の開閉部材26bが作動して遊技球の入賞が可能な開状態となっているか否かを判定し(ステップS362)、普通電動役物が作動中である(ステップS362;Y)と判定すると、ステップS364の処理に移行して、それ以降の処理を行う。一方、ステップS362にて、普通電動役物が作動中でない(ステップS362;N)と判定すると、普電不正発生中であるかを判定する(ステップS363)。
【0226】
普電不正発生中であるかの判定では、ステップS361で入賞ありと判定されたのが始動入賞口26aへの入賞である場合、この普通変動入賞装置26の始動入賞口26aへの不正入賞数が不正発生判定個数(例えば5個)以上である場合に不正発生中であると判定する。普通変動入賞装置26は、本例の場合は閉状態では遊技球が入賞不可能であり、開状態でのみ遊技球が入賞可能である。よって、閉状態で遊技球が入賞した場合は何らかの異常や不正が発生した場合であり、このような閉状態で入賞した遊技球があった場合はその数を不正入賞数として計数する。そして、このように計数された不正入賞数が所定の不正発生判定個数(上限値)以上である場合に不正発生中と判定する。なお、ステップS361で入賞ありと判定されたのが、始動口振分装置600の特図2始動口608への入賞である場合には、上記ステップS363の判定結果は無条件に普電不正発生中でない(ステップS363;N)になる。
【0227】
ステップS363にて、普電不正発生中でない(ステップS363;N)と判定すると、第2始動口(始動入賞口26a、特図2始動口608)による保留の情報を設定するテーブルを準備した後(ステップS364)、特図始動口スイッチ共通処理(ステップS365)を行って、始動口スイッチ監視処理を終了する。また、ステップS363にて、普電不正発生中である(ステップS363;Y)と判定した場合は、始動口スイッチ監視処理を終了する。すなわち、第2始動記憶をそれ以上発生させないようにする。
【0228】
〔ハード乱数取得処理〕
次に、上述の始動口スイッチ監視処理におけるハード乱数取得処理(ステップS352、S360)の詳細について説明する。図24に示すように、ハード乱数取得処理では、まず、第1始動口(特図1始動口607)及び第2始動口(始動入賞口26a、特図2始動口608)のうち、監視対象の始動口の入賞なし情報を設定して(ステップS371)、始動口1スイッチ120及び始動口2スイッチ121のうち、監視対象の始動口スイッチに入力があるか否かを判定する(ステップS372)。そして、監視対象の始動口スイッチに入力がない場合(ステップS372;N)は、ハード乱数取得処理を終了する。一方、監視対象の始動口スイッチに入力がある場合(ステップS372;Y)は、乱数ラッチレジスタステータスを読み込み(ステップS373)、対象の乱数ラッチレジスタにラッチデータがあるかを判定する(ステップS374)。
【0229】
対象の乱数ラッチレジスタにラッチデータがない場合(ステップS374;N)、すなわち乱数が抽出されていない場合は、ハード乱数取得処理を終了する。また、対象の乱数ラッチレジスタにラッチデータがある場合(ステップS374;Y)は、監視対象のハード乱数ラッチレジスタに抽出された大当り乱数をロードし、準備する(ステップS375)。そして、前記第1始動口及び第2始動口のうち、監視対象の始動口の入賞あり情報を設定して(ステップS376)、ハード乱数取得処理を終了する。
なお、ステップS375で準備した大当り乱数の抽出値は、リターンした後に実行する特図始動口スイッチ共通処理で使用する。
【0230】
〔特図始動口スイッチ共通処理〕
次に、上述の始動口スイッチ監視処理における特図始動口スイッチ共通処理(ステップS358、S365)を図25により説明する。
特図始動口スイッチ共通処理は、始動口1スイッチ120や始動口2スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
【0231】
特図始動口スイッチ共通処理では、先ず、始動口1スイッチ120及び始動口2スイッチ121のうち、監視対象の始動口スイッチへの入賞の回数に関する情報を遊技機1の外部の管理装置に対して出力する回数である始動口信号出力回数をロードし(ステップS381)、ロードした値を+1更新して(ステップS382)、出力回数がオーバーフローするかを判定する(ステップS383)。出力回数がオーバーフローしない場合(ステップS383;N)は、更新後の値をRWMの始動口信号出力回数領域にセーブして(ステップS384)、ステップS385の処理に移行する。一方、出力回数がオーバーフローする場合(ステップS383;Y)は、ステップS385の処理に移行する。本実施形態では、始動口信号出力回数領域に「0」から「255」までの値を記憶することができる。そして、ロードした値が「255」である場合には+1更新によって更新後の値は「0」になり、出力回数がオーバーフローすると判定するよう構成されている。そのため、ここでは、更新によりループして「0」になるようならステップS384をスキップしてセーブしない構成となっている。
【0232】
次に、始動口1スイッチ120及び始動口2スイッチ121のうち、監視対象の始動口スイッチに対応する更新対象の特図保留(始動記憶)数が上限値未満かを判定する(ステップS385)。更新対象の特図保留数が上限値未満でない場合(ステップS385;N)は、対象の始動口スイッチに対応する始動口オーバー入賞コマンドを準備し(ステップS399)、演出コマンド設定処理(ステップS398)を行って、特図始動口スイッチ共通処理を終了する。また、更新対象の特図保留数が上限値未満である場合(ステップS385;Y)は、更新対象の特図保留数(特図1保留数又は特図2保留数)を+1更新して(ステップS386)、対象の始動口入賞フラグをセーブする(ステップS387)。続けて、監視対象の始動口スイッチ及び特図保留数に対応する乱数格納領域のアドレスを算出して(ステップS388)、ステップS375にて準備した大当り乱数をRWMの大当り乱数格納領域にセーブする(ステップS389)。次に、監視対象の始動口スイッチの大当り図柄乱数を抽出し、準備して(ステップS390)、RWMの大当り図柄乱数格納領域にセーブする(ステップS391)。このステップS390で準備した大当り図柄乱数の抽出値は特図保留情報判定処理で使用する。
【0233】
次いで、第1始動口(特図1始動口607)への入賞であるかを判定する(ステップS392)。
ステップS392にて、第1始動口への入賞でないと判定した場合(ステップS392;N)には、ステップS395の処理に移行する。
一方、ステップS392にて、第1始動口への入賞であると判定した場合(ステップS392;Y)には、小当り図柄乱数を抽出し、準備して(ステップS393)、RWMの小当り図柄乱数格納領域にセーブする(ステップS394)。このステップS393で準備した小当り図柄乱数の抽出値は特図保留情報判定処理で使用する。
【0234】
次いで、変動パターン乱数1から3を対応するRWMの変動パターン乱数格納領域にセーブして(ステップS395)、特図保留情報判定処理(ステップS396)を行う。
次いで、監視対象の始動口スイッチ及び特図保留数に対応する飾り特図保留数コマンドを準備し(ステップS397)、演出コマンド設定処理(ステップS398)を行って、特図始動口スイッチ共通処理を終了する。
【0235】
ここで、遊技制御装置100(RAM101C)は、始動口振分装置600の始動入賞領域(特図1始動口607、特図2始動口608)や、普通変動入賞装置26の始動入賞領域(始動入賞口26a)への遊技球の流入に基づき、所定の乱数を抽出し前記変動表示ゲームの実行権利となる始動記憶として所定数を上限に記憶する始動入賞記憶手段をなす。また、始動入賞記憶手段(遊技制御装置100)は、第1始動口(特図1始動口607)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第1始動記憶として記憶し、第2始動口(始動入賞口26a、特図2始動口608)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第2始動記憶として記憶する。
【0236】
〔特図保留情報判定処理〕
次に、上述の特図始動口スイッチ共通処理における特図保留情報判定処理(ステップS396)を図26により説明する。
特図保留情報判定処理は、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に当該始動記憶に対応した結果関連情報の判定を行う先読み処理である。
【0237】
図26に示すように、まず、特図始動口スイッチ共通処理のステップS387にてセーブした始動口入賞フラグをチェックして、第1始動口(特図1始動口607)への入賞であるかを判定する(ステップS401)。
ステップS401にて、第1始動口への入賞でないと判定した場合(ステップS401;N)には、ステップS404の処理に移行する。
一方、ステップS401にて、第1始動口への入賞であると判定した場合(ステップS401;Y)には、特図時短中であるかを判定する(ステップS402)。
【0238】
ステップS402にて、特図時短中であると判定した場合(ステップS402;Y)には、特図保留情報判定処理を終了する。
一方、ステップS402にて、特図時短中でないと判定した場合(ステップS402;N)には、大当り中または小当り中であるかを判定する(ステップS403)。
ステップS403にて、大当り中または小当り中であると判定した場合(ステップS403;Y)には、特図保留情報判定処理を終了する。
一方、ステップS403にて、大当り中または小当り中でないと判定した場合(ステップS403;N)には、大当り乱数値が大当り判定値と一致するか否かにより大当りであるか否かを判定する大当り判定処理(ステップS404)を行う。そして、判定結果が大当りである場合(ステップS405;Y)は、対象の始動口スイッチに対応する大当り図柄乱数チェックテーブルを設定し(ステップS406)、ステップS390にて準備した大当り図柄乱数に対応する停止図柄情報を取得して(ステップS407)、ステップS414の処理に移行する。
【0239】
一方、判定結果が大当りでない場合(ステップS405;N)は、第1始動口(特図1始動口607)への入賞であるかを判定する(ステップS408)。
ステップS408にて、第1始動口への入賞でないと判定した場合(ステップS408;N)には、はずれの停止図柄情報を設定して(ステップS413)、ステップS414の処理に移行する。
一方、ステップS408にて、第1始動口への入賞であると判定した場合(ステップS408;Y)には、大当り乱数値が小当り判定値と一致するか否かにより小当りであるか否かを判定する小当り判定処理(ステップS409)を行う。そして、判定結果が小当りでない場合(ステップS410;N)は、はずれの停止図柄情報を設定して(ステップS413)、ステップS414の処理に移行する。
一方、判定結果が小当りである場合(ステップS410;Y)には、小当り図柄乱数チェックテーブルを設定し(ステップS411)、ステップS393にて準備した小当り図柄乱数に対応する停止図柄情報を取得して(ステップS412)、ステップS414の処理に移行する。
【0240】
そして、対象の始動口スイッチ及び停止図柄情報に対応する先読み停止図柄コマンドを準備し(ステップS414)、演出コマンド設定処理を行う(ステップS415)。次に、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS416)を行い、特図変動表示ゲームの変動態様を設定する変動パターン設定処理を行う(ステップS417)。
【0241】
その後、特図変動表示ゲームの変動態様における前半変動パターンを示す前半変動番号及び後半変動パターンを示す後半変動番号に対応する先読み変動パターンコマンドを準備して(ステップS418)、演出コマンド設定処理を行い(ステップS419)、特図保留情報判定処理を終了する。なお、ステップS416における特図情報設定処理、ステップS417における変動パターン設定処理は、特図普段処理で特図変動表示ゲームの開始時に実行される処理と同様である。
【0242】
以上の処理により、先読み対象の始動記憶に基づく特図変動表示ゲームの結果を含む先読み図柄コマンドと、当該始動記憶に基づく特図変動表示ゲームでの変動パターンの情報を含む先読み変動パターンコマンドが準備され、演出制御装置300に送信される。これにより、始動記憶に対応した結果関連情報(大当りか否かや変動パターンの種類)の判定結果(先読み結果)を、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に演出制御装置300に対して知らせることができ、特に表示装置41に表示される飾り特図始動記憶表示を変化させるなどして、その特図変動表示ゲームの開始タイミングより前に遊技者に結果関連情報を報知することが可能となる。
【0243】
すなわち、遊技制御装置100が、始動入賞記憶手段(遊技制御装置100)に始動記憶として記憶される乱数を、当該始動記憶に基づく変動表示ゲームの実行前に判定する(例えば特別結果となるか否か等を判定)事前判定手段をなす。なお、始動記憶に対応して記憶された乱数値を事前に判定する時期は、当該始動記憶が発生した始動入賞時だけではなく、当該始動記憶に基づく変動表示ゲームが行われる前であればいつでもよい。
【0244】
〔大入賞口スイッチ監視処理〕
次に、上述の特図ゲーム処理における大入賞口スイッチ監視処理(ステップS322)を図27により説明する。
大入賞口スイッチ監視処理では、まず、大入賞口(変動入賞装置27)の開放中処理中であるかを判定する(ステップS421)。大入賞口開放中処理中でない場合(ステップS421;NO)は、大入賞口残存球処理中であるかを判定する(ステップS422)。
大入賞口残存球処理中でない場合(ステップS422;NO)は、小当り中処理中であるかを判定する(ステップS423)。
小当り中処理中でない場合(ステップS423;NO)は、小当り残存球処理中であるかを判定する(ステップS424)。小当り残存球処理中でない場合(ステップS424;NO)は、大入賞口スイッチ監視処理を終了する。
【0245】
そして、大入賞口開放中処理中である場合(ステップS421;YES)、大入賞口残存球処理中である場合(ステップS422;YES)、小当り中処理中である場合(ステップS423;YES)、及び小当り残存球処理中である場合(ステップS424;YES)には、それぞれステップS425に移行する。
ここで、ステップS421乃至S424の各判定は、特図ゲーム処理番号の値でチェックする。特図ゲーム処理タイマが0になるまで処理番号は次に移行しないため、遊技の進行状態をチェックできる。
【0246】
次いで、今回の大入賞口スイッチ監視処理において加算される大入賞口への入賞数をカウントするための入賞カウンタに0をセットする(ステップS425)。入賞カウンタは、大入賞口の一のラウンドの開放で入った球を数え、後述のステップS437の処理で大入賞口カウント数に加算するために設けられたカウンタである。
次いで、大入賞口スイッチ1(一方の大入賞口スイッチ124)に入力があるかを判定する(ステップS426)。
【0247】
大入賞口スイッチ1に入力ありの場合(ステップS426;YES)は、大入賞口カウントコマンドを準備し(ステップS427)、演出コマンド設定処理(ステップS428)を行い、入賞カウンタを+1更新して(ステップS429)、ステップS430に移行する。大入賞口スイッチ1に入力がない場合(ステップS425;NO)は、ステップS430に移行する。
ステップ430では、大入賞口スイッチ2(他方の大入賞口スイッチ124)に入力があるかを判定する(ステップS430)。大入賞口スイッチ2に入力がある場合(ステップS430;YES)は、大入賞口カウントコマンドを準備し(ステップS431)、演出コマンド設定処理(ステップS432)を行い、入賞カウンタを+1更新し(ステップS433)、ステップS434に移行する。大入賞口スイッチ2に入力がない場合(ステップS430;NO)は、ステップS434に移行する。
【0248】
ステップ434では、入賞カウンタの値が0であるかを判定する(ステップS434)。入賞カウンタの値が0でない場合(ステップS434;NO)は、大入賞口残存球処理中であるかを判定する(ステップS435)。大入賞口残存球処理中でない場合(ステップS435;NO)は、小当り残存球処理中であるかを判定する(ステップS436)。小当り残存球処理中でない場合(ステップS436;NO)は、入賞カウンタの値を大入賞口カウント数に加算する(ステップS437)。これは、大入賞口への球の入賞時には入賞したことを示すコマンドを払出制御装置200へ送信するとともに入賞カウンタで計数(ステップS429、ステップS433)しておき、残存球処理中でない場合に後のステップS437にて大入賞口カウント数に加算するようにしたものである。ここでは、大入賞口スイッチ1又は大入賞口スイッチ2について、入賞カウンタの値が大入賞口カウント数に加算される。
【0249】
一方、入賞カウンタの値が0である場合(ステップS434;YES)、大入賞口残存球処理中である場合(ステップS435;YES)、及び小当り残存球処理中である場合(ステップS436;YES)には、大入賞口スイッチ監視処理を終了する。
次にステップS437を経ると、大入賞口カウント数が上限値(一のラウンドで入賞可能な遊技球数に対応:例えば9個)以上となったかを判定する(ステップS438)。
【0250】
大入賞口カウント数が上限値以上となっていない場合(ステップS438;NO)は、大入賞口スイッチ監視処理を終了する。また、大入賞口カウント数が上限値以上となった場合(ステップS438;YES)は、大入賞口カウント数を上限値に留め(ステップS439)、特図ゲーム処理タイマ領域を0クリアし(ステップS440)、小当り中処理中であるかを判定する(ステップS441)。
小当り中処理中でない場合(ステップS441;NO)は、大入賞口スイッチ監視処理を終了する。小当り中処理中である場合(ステップS441;YES)は、大入賞口制御ポインタ領域に小当り開放動作終了の値をセーブし(ステップS442)、大入賞口スイッチ監視処理を終了する。これにより大入賞口が閉鎖されて一つのラウンドが終了することとなる。
【0251】
〔特図普段処理〕
次に、上述の特図ゲーム処理における特図普段処理(ステップS329)の詳細について図28により説明する。
特図普段処理では、まず、特図2保留数(第2始動記憶数)が0であるか否かをチェックする(ステップS461)。
図2保留数が0である(ステップS461;YES)と判定すると、特図1保留数(第1始動記憶数)が0であるかを判定する(ステップS466)。そして、特図1保留数が0である(ステップS466;YES)と判定すると、客待ちデモが開始済みであるかを判定し(ステップS471)、客待ちデモが開始済みでない場合(ステップS471;NO)は、客待ちデモフラグ領域に客待ちデモ中フラグをセーブする(ステップS472)。
【0252】
続けて、客待ちデモコマンドを準備して(ステップS473)、演出コマンド設定処理(ステップS474)を行い、特図普段処理移行設定処理1(ステップS475)を行って、特図普段処理を終了する。一方、ステップS471にて、客待ちデモが開始済みである場合(ステップS471;YES)は、特図普段処理移行設定処理1(ステップS475)を行って、特図普段処理を終了する。なお、特図普段処理移行設定処理1(ステップS475)の詳細は図29で後述する。
【0253】
一方、ステップS461にて、特図2保留数が「0」でない場合(ステップS461;NO)は、特図2変動開始処理(ステップS462)を行い、特図2保留数に対応する飾り特図保留数コマンドを準備して(ステップS463)、演出コマンド設定処理(ステップS464)を行う。そして、特図2の特図変動中処理移行設定処理(ステップS465)を行って、特図普段処理を終了する。
また、ステップS466にて、特図1保留数が「0」でない場合(ステップS466;NO)は、特図1変動開始処理(ステップS467)を行い、特図1保留数に対応する飾り特図保留数コマンドを準備して(ステップS468)、演出コマンド設定処理(ステップS469)を行う。そして、特図1の特図変動中処理移行設定処理(ステップS470)を行って、特図普段処理を終了する。
【0254】
このように、特図2保留数のチェックを特図1保留数のチェックよりも先に行うことで、特図2保留数が「0」でない場合には特図2変動開始処理(ステップS462)が実行されることとなる。すなわち、第2特図変動表示ゲームが第1特図変動表示ゲームに優先して実行されることとなる。つまり、遊技制御装置100が、第2始動記憶手段(遊技制御装置100)に第2始動記憶がある場合には、当該第2始動記憶に基づく変動表示ゲームを、第1始動記憶に基づく変動表示ゲームよりも優先的に実行する優先制御手段をなす。
【0255】
〔特図普段処理移行設定処理1〕
次に、上述の特図普段処理における特図普段処理移行設定処理1(ステップS475)の詳細について図29により説明する。
このルーチンが開始されると、まずステップS481で処理番号として「0」を設定(例えば、特図普段処理に移行するためのテーブルを準備して当該テーブルに特図普段処理に係る処理番号「0」を設定)し、ステップS482で特図ゲーム処理番号領域に処理番号をセーブする。
次いで、ステップS483で変動図柄判別フラグ領域をクリアし、ステップS484で大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブする。ステップS484を経ると、特図普段処理移行設定処理1を終了する。
これにより、特図普段処理に移行するための各種データ、例えば特図普段処理に係る処理番号「0」を設定し、大入賞口不正監視期間を規定するフラグ(大入賞口不正監視情報)を設定する処理が行われる。
【0256】
〔特図1変動開始処理〕
次に、上述の特図普段処理における特図1変動開始処理(ステップS467)の詳細について図30左側により説明する。
図1変動開始処理は、第1特図変動表示ゲームの開始時に行う処理であり、具体的には、図30に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図1)を示す特図1変動フラグを変動図柄判別領域にセーブし(ステップS491)、第1特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ1にはずれ情報や大当り情報を設定する大当りフラグ1設定処理(ステップS492)を行う。なお、ステップS492における大当りフラグ1設定処理の詳細については後述する。
【0257】
次に、特図1停止図柄(図柄情報)の設定に係る特図1停止図柄設定処理(ステップS493)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS494)を行い、第1特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図1変動パターン設定情報テーブルを準備する(ステップS495)。その後、第1特図変動表示ゲームにおける変動態様である変動パターンを設定する変動パターン設定処理(ステップS496)を行い、第1特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップS497)を行って、特図1変動開始処理を終了する。
なお、ステップS493における特図1停止図柄設定処理、ステップS494における
特図情報設定処理、ステップS496における変動パターン設定処理、ステップS497における変動開始情報設定処理の詳細については後述する。
【0258】
〔特図2変動開始処理〕
次に、上述の特図普段処理における特図2変動開始処理(ステップS462)の詳細について図30右側により説明する。
図2変動開始処理は、第2特図変動表示ゲームの開始時に行う処理であり、具体的には、図30に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図2)を示す特図2変動フラグを変動図柄判別領域にセーブし(ステップS491a)、第2特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ2にはずれ情報や大当り情報を設定する大当りフラグ2設定処理(ステップS492a)を行う。なお、ステップS492aにおける大当りフラグ2設定処理の詳細については後述する。
【0259】
次に、特図2停止図柄(図柄情報)の設定に係る特図2停止図柄設定処理(ステップS493a)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS494a)を行い、第2特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図2変動パターン設定情報テーブルを準備する(ステップS495a)。その後、第2特図変動表示ゲームにおける変動態様である変動パターンを設定する変動パターン設定処理(ステップS496a)を行い、第2特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップS497a)を行って、特図2変動開始処理を終了する。
【0260】
〔大当りフラグ1設定処理〕
次に、上述の特図1変動開始処理における大当りフラグ1設定処理(ステップS492)の詳細について図31左側により説明する。
この大当りフラグ1設定処理では、まず、小当りフラグ領域にはずれ情報をセーブして(ステップS501)、大当りフラグ1領域にはずれ情報をセーブする(ステップS502)。次に、RWMの特図1大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(ステップS503)、当該特図1大当り乱数格納領域(保留数1用)を0クリアする(ステップS504)。なお、保留数1用とは、消化順序が最先(ここでは特図1のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS505)を行う。
【0261】
そして、大当り判定処理(ステップS505)の判定結果が大当りである場合(ステップS506;Y)は、ステップS502にてはずれ情報をセーブした大当りフラグ1領域に大当り情報を上書きしてセーブし(ステップS507)、大当りフラグ1設定処理を終了する。一方、大当り判定処理(ステップS505)の判定結果が大当りでない場合(ステップS506;N)は、準備した大当り乱数値が小当り判定値と一致するか否かに応じて小当りであるか否かを判定する小当り判定処理(ステップS508)を行う。
【0262】
そして、小当り判定処理(ステップS508)の判定結果が小当りである場合(ステップS509;Y)は、ステップS501にてはずれ情報をセーブした小当りフラグ領域に小当り情報を上書きしてセーブし(ステップS510)、大当りフラグ1設定処理を終了する。一方、小当り判定処理(ステップS508)の判定結果が小当りでない場合(ステップS509;N)は、大当りフラグ1領域にも小当りフラグ領域にもはずれ情報をセーブしたまま大当りフラグ1設定処理を終了する。このように、本実施形態において、第1特図変動表示ゲームの結果は、「大当り」、「小当り」、及び「はずれ」のうちの何れかとなる。
【0263】
〔大当りフラグ2設定処理〕
次に、上述の特図2変動開始処理における大当りフラグ2設定処理(ステップS492a)の詳細について図31右側により説明する。
この大当りフラグ2設定処理では、まず、大当りフラグ2領域にはずれ情報をセーブする(ステップS502a)。次に、RWMの特図2大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(ステップS503a)、当該特図2大当り乱数格納領域(保留数1用)を0クリアする(ステップS504a)。その後、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS505a)を行う。
【0264】
そして、大当り判定処理(ステップS505a)の判定結果が大当りである場合(ステップS506a;Y)は、ステップS502aにてはずれ情報をセーブした大当りフラグ2領域に大当り情報を上書きしてセーブし(ステップS507a)、大当りフラグ2設定処理を終了する。一方、大当り判定処理(ステップS505a)の判定結果が大当りでない場合(ステップS506a;N)は、大当りフラグ2にはずれ情報をセーブしたまま大当りフラグ2設定処理を終了する。このように、本実施形態において、第2特図変動表示ゲームの結果は、「大当り」及び「はずれ」のうちの何れかとなる。
【0265】
〔大当り判定処理〕
次に、上述の大当りフラグ1設定処理、大当りフラグ2設定処理におけるステップS505、ステップS505aなどで実行される大当り判定処理の詳細について図32により説明する。
ルーチンが開始すると、ステップS511で大当り判定用の下限判定値を設定する処理を行う。その後、ステップS512で対象の大当り乱数の値が下限判定値未満であるか否かをチェック、つまり、前記ステップS503、S503aで読み込んだ大当り乱数の値が、当該大当り乱数の当り判定値の下限値未満であるかをチェックする。
なお、大当りであるとは大当り乱数が大当り判定値と一致することである。大当り判定値は連続する複数の値であり、大当り乱数が、大当り判定値の下限の値である下限判定値以上で、かつ、大当り判定値の上限の値である上限判定値以下である場合に、大当りであると判定される。
ステップS512で大当り乱数の値が下限判定値未満であると判定すると、ステップS517に分岐し、判定結果としてはずれ(大当り以外を意味する)を設定し、リターンする。
【0266】
一方、ステップS512で大当り乱数の値が下限判定値未満でなければ、ステップS513に進んで、高確率中か否かを判定する。これは、確率変動により大当り確率が高い状態にあるかどうかを判定するもの、すなわち、特図変動表示ゲームにて当り結果となる確率が高確率状態(確率変動状態)となっているか否かを判定するものである。高確率中であれば、ステップS514で高確率中における大当り判定用の上限判定値を設定する処理を行い、その後、ステップS516に進む。
また、ステップS513で高確率中でないと判定すると、ステップS515に分岐し、低確率中における大当り判定用の上限判定値を設定する処理を行い、その後、ステップS516に進む。
このようにして、高確率中と低確率中の上限判定値が設定された場合、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあれば、大当りと判断できることになる。
そのため、ステップS516では対象の大当り乱数の値が上限判定値より大きいか(上限判定値を超えたか)否かをチェックし、ステップS516で大当り乱数の値が上限判定値より大きいと判定(ステップS516;YES)すると、大当りではないと判断できるので、ステップS517に進んで判定結果としてはずれを設定し、リターンする。
一方、ステップS516で対象の大当り乱数の値が上限判定値以下である(上限判定値を超えていない)と判定(ステップS516;NO)すると、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあらから、大当りと判断して、ステップS518で判定結果として大当りを設定してリターンする。
【0267】
〔小当り判定処理〕
次に、上述の大当りフラグ1設定処理におけるステップS508などで実行される小当り判定処理の詳細について図33により説明する。ここでは、ステップ番号に「ステップA」を使う。
この小当り判定処理では、まず、小当り下限判定値を設定し、対象の大当り乱数の値が小当り下限判定値未満かを判定する(ステップA11)。なお、大当り判定と同一の乱数(大当り乱数)を用いて小当り判定を行う。すなわち、小当りであるとは大当り乱数が小当り判定値と一致することである。小当り判定値は連続する複数の値であり、大当り乱数が、小当り判定値の下限の値である小当り下限判定値以上で、かつ、小当り判定値の上限の値である小当り上限判定値以下である場合に、小当りであると判定される。無論、大当り判定値の範囲と小当り判定値の範囲は被らないよう設定されている。
【0268】
大当り乱数の値が小当り下限判定値未満である場合(ステップA11;Y)、すなわちはずれである場合は、判定結果としてはずれを設定し(ステップA13)、小当り判定処理を終了する。
また、大当り乱数の値が小当り下限判定値未満でない場合(ステップA11;N)は、小当り上限判定値を設定し、対象の大当り乱数の値が小当り上限判定値より大きいかを判定する(ステップA12)。
【0269】
大当り乱数の値が小当り上限判定値より大きい場合(ステップA12;Y)、すなわちはずれである場合は、判定結果としてはずれを設定し(ステップA13)、小当り判定処理を終了する。
また、大当り乱数の値が小当り上限判定値より大きくない場合(ステップA12;N)、すなわち小当りである場合は、判定結果として小当りを設定し(ステップA14)、小当り判定処理を終了する。
【0270】
〔特図1停止図柄設定処理〕
次に、上述の特図1変動開始処理における特図1停止図柄設定処理(ステップS493)の詳細について図34により説明する。
この特図1停止図柄設定処理では、まず、大当りフラグ1が大当りかを判定し(ステップS521)、大当りである場合(ステップS521;Y)は、特図1大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS522)。次に、特図1大当り図柄テーブルを設定して(ステップS523)、ロードした大当り図柄乱数に対応する停止図柄番号を取得し、特図1停止図柄番号領域にセーブする(ステップS524)。ここで、特図1大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
また、停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図1表示器)での停止図柄を設定するものである。
【0271】
その後、特図1大当り停止図柄情報テーブルを設定して(ステップS525)、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブする(ステップS526)。停止図柄パターンとは、特図表示器(ここでは特図1表示器)での停止図柄や表示装置41での停止図柄を設定するためのものである。次に、停止図柄番号に対応するラウンド数上限値情報を取得し、ラウンド数上限値情報領域にセーブして(ステップS527)、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブして(ステップS528)、停止図柄パターン及び確率状態に対応する演出モード移行情報をセーブする(ステップS529)。これらの情報は、特別遊技状態の実行態様、及び特別遊技状態の終了後の演出モードを設定するためのものである。本実施形態の場合、当りを契機に演出モードが移行し、当り図柄の種類(大当り図柄の種類、又は小当り)に応じて当り終了後に移行する演出モードの移行先が変化する。また、特図1における大当りのうち特定の大当り図柄(例えば、4R確変図柄)となる場合は、遊技状態が確変中であるか否かに応じて、移行先の演出モードが確変確定となる専用の演出モードとなるのか、確変であるか否か区別が困難な演出モードに移行するかが決定される。そして、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS538)。
【0272】
一方、大当りフラグ1が大当りでない場合(ステップS521;N)は、小当りフラグが小当りかを判定し(ステップS530)、小当りである場合(ステップS531;Y)は、特図1小当り図柄乱数格納領域(保留数1用)から小当り図柄乱数をロードする(ステップS531)。次に、特図1小当り図柄テーブルを設定し(ステップS532)、ロードした小当り図柄乱数に対応する停止図柄番号を取得し、特図1停止図柄番号領域にセーブする(ステップS533)。
その後、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブして(ステップS534)、停止図柄パターンに対応する演出モード移行情報をセーブする(ステップS535)。そして、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS538)。
【0273】
また、小当りフラグが小当りでない場合(ステップS530;N)は、はずれ時の停止図柄番号を特図1停止図柄番号領域にセーブし(ステップS536)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップS537)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS538)。飾り特図コマンドは、例えば11種類あり、この種類の違いにより演出制御装置300における特図種別が判別できるようになっている。以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
【0274】
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップS539)、演出コマンド設定処理(ステップS540)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(ステップS541)、特図1大当り図柄乱数格納領域(保留数1用)を0クリアし(ステップS542)、特図1小当り図柄乱数格納領域(保留数1用)を0クリアして(ステップS543)、特図1停止図柄設定処理を終了する。
【0275】
〔特図2停止図柄設定処理〕
次に、上述の特図2変動開始処理における特図2停止図柄設定処理(ステップS493a)の詳細について図35により説明する。
この特図2停止図柄設定処理では、まず、大当りフラグ2が大当りかを判定し(ステップS551)、大当りである場合(ステップS551;Y)は、特図2大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS552)。次に、特図2大当り図柄テーブルを設定して(ステップS553)、ロードした大当り図柄乱数に対応する停止図柄番号を取得し、特図2停止図柄番号領域にセーブする(ステップS554)。ここで、特図2大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
また、停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図2表示器)での停止図柄を設定するものである。
【0276】
その後、特図2大当り停止図柄情報テーブルを設定して(ステップS555)、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブする(ステップS556)。停止図柄パターンとは、特図表示器(ここでは特図2表示器52)での停止図柄や表示装置41での停止図柄を設定するためのものである。次に、停止図柄番号に対応するラウンド数上限値情報を取得し、ラウンド数上限値情報領域にセーブして(ステップS557)、停止図柄番号に対応する時間短縮判定データを取得し、時間短縮判定データ領域にセーブして(ステップS558)、停止図柄パターン及び確率状態に対応する演出モード移行情報をセーブする(ステップS559)。これらの情報は、特別遊技状態の実行態様、及び特別遊技状態の終了後の演出モードを設定するためのものである。また、本実施形態の場合、特図2における大当りにおいては、何れの大当り図柄であっても移行先の演出モードが確変確定となる専用の演出モードとなる。そして、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS562)。
【0277】
一方、大当りフラグ2が大当りでない場合(ステップS551;N)は、はずれ時の停止図柄番号を特図2停止図柄番号領域にセーブし(ステップS560)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップS561)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS562)。以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
【0278】
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップS563)、
演出コマンド設定処理(ステップS564)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(ステップS565)、特図2大当り図柄乱数格納領域(保留数1用)を0クリアして(ステップS566)、特図2停止図柄設定処理を終了する。
【0279】
すなわち、遊技制御装置100が、第1始動口(特図1始動口607)での遊技球の検出に基づいて変動表示ゲームとして第1変動表示ゲームを実行し、第2始動口(始動入賞口26a、特図2始動口608)での遊技球の検出に基づいて変動表示ゲームとして第2変動表示ゲームを実行する変動表示ゲーム実行手段をなす。また、遊技制御装置100が、判定手段(遊技制御装置100)による判定結果に基づき変動表示ゲームの実行を制御する変動表示ゲーム実行制御手段をなす。
【0280】
〔特図情報設定処理〕
次に、上述の特図1変動開始処理、特図2変動開始処理におけるステップS494、ステップS494aなどで実行される特図情報設定処理の詳細について図36により説明する。
本実施形態の場合、確率状態(低/高確率、時短あり/なし)は変動の振り分けに影響せず、遊技制御装置100が管理している演出モードが変動の振り分けに影響する。演出モードは、確率状態、時短状態の有無、特図変動表示ゲームの進行状況などに応じて、複数の演出モードから一の演出モードが設定されるようになっている。
【0281】
図36に示すように特図情報設定処理では、まず、前半変動グループ選択ポインタテーブルを設定して(ステップS571)、演出モード情報に対応する前半変動グループ選択ポインタを取得する(ステップS572)。
次いで、前半変動グループ選択オフセットテーブルを設定して(ステップS573)、対象の特図保留数と停止図柄パターンに対応するオフセットデータを取得する(ステップS574)。
次いで、前半変動グループ選択ポインタとオフセットデータを加算して(ステップS575)、加算して得た値を変動振分情報1領域にセーブする(ステップS576)。これにより変動振分情報1領域には、停止図柄の種類、保留数、及び演出モードに基づいて生成された変動振分情報1がセーブされる。この変動振分情報1は、前半変動(リーチ開始前までの変動態様)を振り分けるためのテーブルポインタであり、後に変動グループを選択するために用いられる。ただし、機種の仕様次第であるが、保留数が多い時に変動時間を短くするのははずれの場合のみであるため、はずれ以外の場合には、結果として保留数は前半変動の振り分けに影響しない。なお、変動グループとは複数の変動パターンが含まれたもので、変動パターンを決定する際には、まず変動グループを選択し、さらにこの変動グループの中から一の変動パターンを選択するようになっている。
【0282】
次いで、後半変動グループ選択ポインタテーブルを設定して(ステップS577)、演出モード情報に対応する後半変動グループ選択ポインタを取得する(ステップS578)。
次いで、後半変動グループ選択オフセットテーブルを設定して(ステップS579)、対象の特図保留数と停止図柄パターンに対応するオフセットデータを取得する(ステップS580)。
次いで、後半変動グループ選択ポインタとオフセットデータを加算して(ステップS581)、加算して得た値を変動振分情報2領域にセーブして(ステップS582)、特図情報設定処理を終了する。これにより変動振分情報2領域には、停止図柄の種類、保留数、及び演出モードに基づいて生成された変動振分情報2がセーブされる。この変動振分情報2は、後半変動(リーチの種類(リーチなしも含む。))を振り分けるためのテーブルポインタであり、後に変動グループを選択するために用いられる。ただし、はずれの場合のみ保留数に応じてリーチの発生率が変化する(保留数が多い時にリーチの発生率が低くなる)ため、はずれ以外の場合には、結果として保留数は後半変動の振り分けに影響しない。
【0283】
〔変動パターン設定処理〕
次に、上述の特図1変動開始処理、特図2変動開始処理におけるステップS496、ステップS496aなどで実行される変動パターン設定処理の詳細について図37により説明する。
なお、変動パターンは、特図変動表示ゲームの開始からリーチ状態となるまでの変動態様である前半変動パターンと、リーチ状態となってから特図変動表示ゲームの終了までの変動態様である後半変動パターンとからなり、先に後半変動パターンを設定してから前半変動パターンを設定する。
【0284】
この変動パターン設定処理では、まず、変動グループ選択アドレステーブルを設定し(ステップS591)、変動振分情報2に対応する後半変動グループテーブルのアドレスを取得し、準備して(ステップS592)、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードし、準備する(ステップS593)。本実施形態において、後半変動グループテーブルの構造は、当り用とはずれ用とで構造が異なる。具体的には、当り用は1バイトサイズ、はずれ用は2バイトサイズとなっている。はずれの発生率よりも当りの発生率が低く、1バイトでも足りるため、データ容量の節約の観点から、当り用は1バイトサイズになっている。したがって、当り時は、2バイトの変動パターン乱数1の下位の値だけを使用している。また、当りの発生率よりもはずれの発生率は高く、より多様な演出を出現させたいため、はずれ用は2バイトサイズになっている。
【0285】
そして、特図変動表示ゲームの結果がはずれであるかを判定し(ステップS594)、はずれである場合(ステップS594;Y)には、2バイト振り分け処理(ステップS595)を行って、ステップS597の処理に移行する。また、はずれでない場合(ステップS594;N)には、振り分け処理(ステップS596)を行って、ステップS597の処理に移行する。
【0286】
そして、振り分けられた結果得られた後半変動選択テーブルのアドレスを取得し、準備して(ステップS597)、対象の変動パターン乱数2格納領域(保留数1用)から変動パターン乱数2をロードし、準備する(ステップS598)。そして、振り分け処理(ステップS599)を行い、振り分けられた結果得られた後半変動番号を取得し、後半変動番号領域にセーブする(ステップS600)。この処理により、後半変動パターンが設定されることとなる。
【0287】
次に、前半変動グループテーブルを設定し(ステップS601)、変動振分情報1と後半変動番号を基にテーブル選択ポインタを算出する(ステップS602)。そして、算出したポインタに対応する前半変動選択テーブルのアドレスを取得し、準備して(ステップS603)、対象の変動パターン乱数3格納領域(保留数1用)から変動パターン乱数3をロードし、準備する(ステップS604)。その後、振り分け処理(ステップS605)を行い、振り分けられた結果得られた前半変動番号を取得し、前半変動番号領域にセーブして(ステップS606)、変動パターン設定処理を終了する。この処理により、前半変動パターンが設定され、特図変動表示ゲームの変動パターンが設定されることとなる。すなわち、遊技制御装置100が、ゲームの実行態様である変動パターンを複数のうちから設定する変動パターン設定手段をなす。
【0288】
〔変動開始情報設定処理〕
次に、上述の特図1変動開始処理、特図2変動開始処理におけるステップS497、ステップS497aで実行される変動開始情報設定処理の詳細について図38により説明する。
変動開始情報設定処理では、まず、対象の変動パターン乱数1〜3の乱数格納領域をクリアする(ステップS611)。次に、前半変動時間値テーブルを設定し(ステップS612)、前半変動番号に対応する前半変動時間値を取得する(ステップS613)。さらに、後半変動時間値テーブルを設定し(ステップS614)、後半変動番号に対応する後半変動時間値を取得する(ステップS615)。
【0289】
そして、前半変動時間値と後半変動時間値を加算し(ステップS616)、加算値を特図ゲーム処理タイマ領域にセーブする(ステップS617)。その後、前半変動番号に対応する変動コマンド(MODE)を準備し(ステップS618)、後半変動番号に対応する変動コマンド(ACTION)を準備して(ステップS619)、演出コマンド設定処理を行う(ステップS620)。次に、変動図柄判別フラグに対応する特図保留数を−1更新して(ステップS621)、変動図柄判別フラグに対応する乱数格納領域のアドレスを設定する(ステップS622)。次いで、乱数格納領域をシフトし(ステップS623)、シフト後の空き領域をクリアして(ステップS624)、変動開始情報設定処理を終了する。
【0290】
以上の処理により、特図変動表示ゲームの開始に関する情報が設定される。すなわち、遊技制御装置100が、始動記憶手段(遊技制御装置100)に記憶された各種の乱数値の判定を行う判定手段をなす。また、遊技制御装置100が、始動記憶の判定情報に基づいて、変動表示ゲームで実行する識別情報の変動パターンを決定することが可能な変動パターン決定手段をなす。なお、ステップS621〜S624では、変動図柄判別フラグに対応する特図の種別(特図1又は特図2)の特図保留(特図の始動記憶)の中で、最も古い(始動入賞順が最も先の)特図保留1に関する特図変動表示ゲームが実行されることに伴い、当該特図保留1(始動入賞順が最も先の特図保留)以降に保留となっている特図保留2〜4の順位を1つずつ繰り上げるための処理(いわゆる保留シフトのための処理;シフト処理)を行っている。この処理により、例えば特図の当り乱数格納領域の特図保留数2用から特図保留数4用の値が、当該当り乱数格納領域の特図保留数1用から特図保留数3用に移動することとなる。そして、当該当り乱数格納領域の特図保留数4用の値がクリアされて、特図保留数が1デクリメントされることになる。つまり、保留されている始動記憶のうち、最古の始動記憶(最も先の始動入賞による始動記憶)に対応する変動表示ゲームが実行されることに伴い、残りの始動記憶の順位(始動入賞の順番であり、変動表示ゲームが実行される順位)を1つずつ繰り上げる処理が行われ、特図保留数が1個分少ない値に変更される。このシフト処理は、特図の種別毎に(即ち、特図1の始動記憶と特図2の始動記憶とでそれぞれ別個に)実行される。
【0291】
そして、これらの特図変動表示ゲームの開始に関する情報は後に演出制御装置300に送信され、演出制御装置300では、特図変動表示ゲームの開始に関する情報の受信に基づき、決定された変動パターンに応じて飾り特図変動表示ゲームでの詳細な演出内容を設定する。これらの特図変動表示ゲームの開始に関する情報としては、始動記憶数(保留数)に関する情報を含む飾り特図保留数コマンド、停止図柄に関する情報を含む飾り特図コマンド、特図変動表示ゲームの変動パターンに関する情報を含む変動コマンド、停止時間の延長に関する情報を含む停止情報コマンドが挙げられ、この順でコマンドが演出制御装置300に送信される。特に、飾り特図コマンドを変動コマンドよりも先に送信することで、演出制御装置300での処理を効率よく進めることができる。
【0292】
〔特図変動中処理移行設定処理(特図1)〕
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図1)(ステップS470)の詳細について図39左側により説明する。
ルーチンが開始すると、ステップS631で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS632で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS633で客待ちデモフラグ領域をクリアし、ステップS634で特図1変動開始に関する信号を試験信号出力データ領域にセーブする。このステップS634により特別図柄1変動中信号をオンすることになる。
次いで、ステップS635で特図1変動制御フラグ領域に変動中フラグをセーブし、ステップS636で特図1点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図1表示器の点滅の周期のタイマ)の初期値(例えば、100ms)をセーブしてルーチンを終了する。
このようにして、特図1に関して特図変動中処理に移行するための処理が行われる。
【0293】
〔特図変動中処理移行設定処理(特図2)〕
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図2)(ステップS465)の詳細について図39右側により説明する。
ルーチンが開始すると、ステップS641で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS642で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS643で客待ちデモフラグ領域をクリアし、ステップS644で特図2変動開始に関する信号を試験信号出力データ領域にセーブする。このステップS644により特別図柄2変動中信号をオンすることになる。
次いで、ステップS645で特図2変動制御フラグ領域に変動中フラグをセーブし、ステップS646で特図2点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図2表示器の点滅の周期のタイマ)の初期値(例えば、100ms)をセーブしてルーチンを終了する。
このようにして、特図2に関して特図変動中処理に移行するための処理が行われる。
【0294】
〔特図変動中処理〕
次に、上述の特図ゲーム処理における特図変動中処理(ステップS330)の詳細について図40により説明する。
特図変動中処理では、まず、停止図柄パターンに対応する表示時間を設定して(ステップS651)、設定した表示時間を特図ゲーム処理タイマ領域にセーブする(ステップS652)。本実施形態の場合、停止図柄パターンがはずれ図柄パターンである場合には表示時間として600m秒を設定し、停止図柄パターンが大当り図柄パターンである場合には表示時間として600m秒を設定し、停止図柄パターンが小当り図柄パターンである場合には表示時間として600m秒を設定する。
次いで、特図表示中処理移行設定処理(ステップS653)を行って、特図表示中処理を終了する。すなわち、遊技制御装置100が、変動表示ゲームの停止結果態様を表示する停止時間を設定する停止時間設定手段をなす。
【0295】
〔特図表示中処理移行設定処理〕
次に、上述の特図変動中処理における特図表示中処理移行設定処理(ステップS653)の詳細について図41により説明する。
ルーチンが開始すると、ステップS661で処理番号として「2」(特図表示中処理に係る処理番号に相当)を設定し、ステップS662で特図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップS663で特図1変動終了処理に関する信号を試験信号出力データ領域にセーブし(即ち、特別図柄1変動中信号をオフし)、ステップS664で特図2変動終了処理に関する信号を試験信号出力データ領域にセーブする(即ち、特別図柄2変動中信号をオフする)。
次いで、ステップS665で図柄確定回数信号制御タイマ領域に制御タイマ初期値(例えば、256ms)をセーブする。その後、ステップS666で特図1変動制御フラグ領域に特図1表示器(一括表示装置35の中のLEDセグメントである特図1表示器)における特図1変動表示ゲームの制御用の情報として特図1表示器での変動停止に係る停止フラグをセーブし、ステップS667で特図2変動制御フラグ領域に停止フラグをセーブしてルーチンを終了する。
このようにして、特図表示中処理に移行するための処理が行われる。
【0296】
〔特図表示中処理〕
次に、上述の特図ゲーム処理における特図表示中処理(ステップS331)の詳細について図42及び図43により説明する。
特図表示中処理では、まず、特図1変動開始処理における大当りフラグ1設定処理にて設定された小当りフラグをロードして(ステップS681)、RWMの小当りフラグ領域をクリアする処理(ステップS682)を行う。
次いで、特図1変動開始処理における大当りフラグ1設定処理にて設定された大当りフラグ1と、特図2変動開始処理における大当りフラグ2設定処理にて設定された大当りフラグ2と、をロードして(ステップS683)、RWMの大当りフラグ1領域及び大当りフラグ2領域をクリアする処理(ステップS684)を行う。そして、ロードされた大当りフラグ2が大当りかを判定して(ステップS685)、大当りである(ステップS685;Y)と判定すると、第2特図変動表示ゲームの大当り(特図2大当り)の開始に関する試験信号(例えば、条件装置作動中信号をON、役物連続作動装置作動中信号をオン、特別図柄2当り信号をON)をRWMの試験信号出力データ領域にセーブして(ステップS688)、ラウンド数上限値テーブルを設定する(ステップS689)。
【0297】
一方、ステップS685にて、大当りフラグ2のチェックの結果、大当りでない(ステップS685;N)と判定すると、ロードされた大当りフラグ1が大当りかを判定して(ステップS686)、大当りである(ステップS686;Y)と判定すると、第1特図変動表示ゲームの大当り(特図1大当り)の開始に関する試験信号(例えば、条件装置作動中信号をON、役物連続作動装置作動中信号をオン、特別図柄1当り信号をON)をRWMの試験信号出力データ領域にセーブし(ステップS687)、ラウンド数上限値テーブルを設定する処理(ステップS689)を行う。
【0298】
ラウンド数上限値テーブルを設定する処理(ステップS689)を行った後、ラウンド数上限値情報に対応するラウンド数上限値(本実施形態の場合、「16」又は「4」)を取得し、RWMのラウンド数上限値領域にセーブする(ステップS690)。続けて、ラウンド数上限値情報に対応するラウンドLEDポインタを取得し、RWMのラウンドLEDポインタ領域にセーブする(ステップS691)。
【0299】
次に、停止図柄パターンに対応した飾り特図コマンドをRWMの飾り特図コマンド領域からロードし、準備して(ステップS692)、演出コマンド設定処理(ステップS693)を行う。その後、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報に係る確率情報コマンドを準備して(ステップS694)、演出コマンド設定処理(ステップS695)を行う。続けて、特図1又は特図2停止図柄設定処理にて設定された図柄情報(停止図柄番号又は停止図柄パターン)に対応するファンファーレコマンドを準備して(ステップS696)、演出コマンド設定処理(ステップS697)を行う。
【0300】
次に、大当りパターンを表す大入賞口開放情報と、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率の状態に対応する信号をRWMの外部情報出力データ領域にセーブする(ステップS698)。本実施形態の場合、ステップS698において、大入賞口開放情報と確率の状態に対応する信号として、大当り2信号と大当り3信号をセーブする。なお、それぞれのON/OFFは大入賞口開放情報と確率の状態とで決まる。例えば、大当り2信号は、出玉のある大当り(大入賞口開放情報が大入賞口開放情報1以外)である場合にはON、出玉のない大当り(所謂、突確大当りなど。大入賞口開放情報が大入賞口開放情報1)である場合には、時短状態中での大当り時であればON、それ以外ではOFFとなる。
また、大当り3信号は、出玉のある大当りである場合にはON、出玉のない大当りである場合にはOFFとなる。
なお、大入賞口開放情報については、後述するファンファーレ/インターバル中処理の説明において述べる。
【0301】
その後、大入賞口開放情報と、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率の状態に対応する大当りファンファーレ時間(例えば5000m秒、4700m秒、7700m秒又は300m秒)を設定して(ステップS699)、設定した大当りファンファーレ時間を特図ゲーム処理タイマ領域にセーブする(ステップS700)。そして、特図ゲームモードフラグをロードし、ロードしたフラグを特図ゲームモードフラグ退避領域にセーブする(ステップS701)。これにより特別結果が発生した際における特図の確率状態、時短状態の情報が記憶される。そして、後に記憶した情報に基づき特別遊技状態の終了後の演出モードが決定される。
【0302】
そして、大入賞口開放情報に対応する大入賞口(特別変動入賞装置27)の大入賞口不正入賞数領域をクリアし(ステップS702)、大入賞口開放情報に対応する大入賞口の大入賞口不正監視期間フラグ領域に不正監視期間外フラグをセーブする(ステップS703)。その後、ファンファーレ/インターバル中処理移行設定処理1(ステップS704)を行い、特図表示中処理を終了する。
【0303】
一方、ステップS686にて、大当りフラグ1が大当りでない場合(ステップS686;N)は、ロードした小当りフラグが小当りかを判定する(ステップS725)。
ステップS725にて、小当りフラグが小当りであると判定した場合(ステップS725;Y)には、高確率変動回数更新処理(ステップS726)、演出モードの設定に関する演出モード情報チェック処理(ステップS727)を行って、特図変動表示ゲームの確率状態が高確率状態であるかを判定する(ステップS728)。
【0304】
ステップS728にて、特図の高確率中でないと判定した場合(ステップS728;N)には、飾り特図コマンド領域から飾り特図コマンドをロードし、準備して(ステップS729)、演出コマンド設定処理(ステップS730)を行う。次いで、小当りファンファーレコマンドを準備し(ステップS731)、演出コマンド設定処理(ステップS732)を行って、ステップS733の処理に移行する。
また、ステップS728にて、特図の高確率中であると判定した場合(ステップS728;Y)には、ステップS733の処理に移行する。このように、本実施形態の遊技機1においては、特図変動表示ゲームの確率状態が高確率状態である場合には、小当りの発生で大入賞口は開くが、小当りの発生を遊技者に意識させないようにするために、表示装置41に表示される画面を変化させないようになっている。
そして、特図ゲームモードフラグをロードし、ロードしたフラグを特図ゲームモードフラグ退避領域にセーブする(ステップS733)。その後、小当りファンファーレ中処理移行設定処理1(ステップS734)を行い、特図表示中処理を終了する。
【0305】
一方、ステップS725にて、小当りフラグが小当りでないと判定した場合(ステップS725;N)には、高確率変動回数更新処理(ステップS735)、演出モードの設定に関する演出モード情報チェック処理(ステップS736)を行い、演出モード番号に対応する切替準備残り回転数を設定して(ステップS737)、演出残り回転数と切替準備残り回転数とが一致するかを判定する(ステップS738)。なお、切替準備残り回転数は、複数の演出モードのうちの全ての演出モードにおいて異なる値(回転数)であってもよいし、複数の演出モードのうちの何れかの演出モードにおいて同一の値(回転数)であってもよいし、複数の演出モードのうちの全ての演出モードにおいて同一の値(回転数)であってもよい。
ステップS738にて、演出残り回転数と切替準備残り回転数とが一致しないと判定した場合(ステップS738;N)には、特図普段処理移行設定処理1(ステップS741)を行い、特図表示中処理を終了する。
一方、ステップS738にて、演出残り回転数と切替準備残り回転数とが一致すると判定した場合(ステップS738;Y)には、演出モード切替準備コマンドを準備して(ステップS739)、演出コマンド設定処理(ステップS740)を行った後に、特図普段処理移行設定処理1(ステップS741)を行い、特図表示中処理を終了する。演出モード切替準備コマンドは、演出モードが切り替わる数回転前から先読み演出を行わないようにするためのコマンドであり、演出モード切替準備コマンドを演出制御装置300に送信することによって、モードをまたいで演出に矛盾等が生じないようにすることができる。
【0306】
〔高確率変動回数更新処理〕
次に、上述の特図表示中処理におけるステップS726、ステップS735で実行される高確率変動回数更新処理の詳細について図44により説明する。
高確率変動回数更新処理では、特図高確率中(特図変動表示ゲームの確率状態が高確率中)であるかを判定し(ステップS751)、特図高確率中でなければ高確率変動回数更新処理を終了する。
一方、特図高確率中である場合(ステップS751;Y)、高確率変動回数を−1更新し(ステップS752)、高確率変動回数が「0」であるかを判定する(ステップS753)。高確率変動回数とは、特図高確率中(即ち、確変モード中)において特図変動表示ゲームが行われた回数(特図確変中の特図回転数)を意味する。この高確率変動回数は、後述する大当り終了設定処理1,2において初期値(例えば100回)が設定される。
高確率変動回数が「0」でない場合(ステップS753;N)は、高確率変動回数更新処理を終了する。
【0307】
高確率変動回数が「0」である場合(ステップS753;Y)は、高確率報知フラグ領域をクリアし(ステップS754)、高確率終了に関する信号を外部情報出力データ領域にセーブし(ステップS755)する。このステップS755では、具体的には大当り2信号をオフする。
次いで、高確率&時短の終了に関する信号を試験信号出力データ領域にセーブする(ステップS756)。ここでは、特別図柄1高確率状態信号をオフ、特別図柄2高確率状態信号をオフ、特別図柄1変動時間短縮状態信号をオフ、特別図柄2変動時間短縮状態信号をオフ、普通図柄1高確率状態信号をオフ、普通図柄1変動時間短縮状態信号をオフ、普通電動役物1開放延長状態信号をオフとする。なお、高確率モードには、「高確率&時短あり」(特図高確率で普電サポートあり)と「高確率&時短なし」(特図高確率で普電サポートなし)の状態がある。
【0308】
続いて、遊技状態表示番号領域に時短なしの番号をセーブし(ステップS757)、普図ゲームモードフラグ領域に普図低確率&時短なしフラグをセーブし(ステップS758)、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし(ステップS759)、左打ち指示に関する信号(発射位置指定信号1をオフ)を試験信号出力データ領域にセーブする(ステップS760)。
その後、右打ち中の表示LEDを消灯させるため、遊技状態表示番号2領域に左打ち状態中の番号をセーブし(ステップS761)、高確率変動回数更新処理を終了する。
【0309】
以上の高確率変動回数更新処理により、高確率変動回数更新(特図変動表示ゲームが行われる度に高確率変動回数を1だけ減らす更新)が行われ、高確率変動回数が「0」になると確変モード終了の各種設定が行われる。このため、特図確変は大当りが発生しなくても特図が例えば100回まわると終了し、特図確変と同時期に行われる普電サポート(普図時短)も特図確変とともに終了する。但し、確変モードは、大当りが発生すればその時点で終了する。なお、上記高確率変動回数更新処理からも分かるように、特図の遊技状態の切り替え(少なくとも特図の大当り確率の状態の切り替え)と、普図の遊技状態の切り替え(普電サポートを行う状態と、普電サポートを行わない状態との切り替え)とは、本実施形態では連動して行われる。
【0310】
〔演出モード情報チェック処理〕
次に、上述の特図表示中処理におけるステップS727、ステップS736で実行される演出モード情報チェック処理の詳細について図45により説明する。
演出モード情報チェック処理では、まず、次モード移行情報が更新なしコードであるかを判定する(ステップS771)。次モード移行情報が更新なしコードである場合(ステップS771;YES)は、演出モード情報チェック処理を終了する。この場合は、実行した特図変動表示ゲームの回数に応じた演出モードの変更が行われない場合であって、例えば高確率状態において、次回の大当りまで継続する演出モードが選択されている場合である。
【0311】
また、次モード移行情報が更新なしコードでない場合(ステップS771;NO)は、演出モードの変更までの特図変動表示ゲームの実行可能回数である演出残り回転数を−1更新し(ステップS772)、演出残り回転数が0となったかを判定する(ステップS773)。演出残り回転数が「0」となった場合(ステップS773;YES)、すなわち次の特図変動表示ゲームから演出モードを変更する場合は、演出モード情報アドレステーブルを設定し(ステップS774)、次モード移行情報に対応するテーブルのアドレスを取得する(ステップS775)。
【0312】
そして、移行する演出モードの演出モード番号を取得してRWMの演出モード番号領域にセーブし(ステップS776)、移行する新たな演出モードの演出残り回転数を取得して演出残り回転数領域にセーブして(ステップS777)、移行する演出モードの次モード移行情報を取得して次モード移行情報領域にセーブする(ステップS778)。
その後、新たな演出モード番号に対応する確率情報コマンドを準備し(ステップS779)、準備したコマンドが停電復旧時送信コマンド領域の値と同じであるかを判定する(ステップS780)。準備したコマンドが停電復旧時送信コマンド領域の値と同じである場合(ステップS780;Y)は、演出モード情報チェック処理を終了する。これは、確率の状態が変化しないのであればコマンドを演出制御装置300に送らないようにし、動作を簡素化するためである。
【0313】
一方、準備したコマンドが停電復旧時送信コマンド領域の値と同じでない場合(ステップS780;N)は、ステップS779で準備したコマンドを停電復旧時送信コマンド領域にセーブして(ステップS781)、演出コマンド設定処理(ステップS782)を行い、移行する新たな演出モードの演出残り回転数(ステップS777で新しく設定された演出残り回転数)に対応する演出回転数コマンドを準備して(ステップS783)、演出コマンド設定処理(ステップS784)を行う。
次いで、ステップS784に続き、高確率変動回数(ステップS726、ステップS735で実行される高確率変動回数更新処理で必要に応じ更新されたもの)に対応する高確率変動回数コマンドを準備して(ステップS785)、演出コマンド設定処理(ステップS786)を行い、新たな演出モードが左打ちするモードであるかを判定する(ステップS787)。新たな演出モードが左打ちするモードでない場合(ステップS787;N)は、演出モード情報チェック処理を終了する。
【0314】
そして、新たな演出モードが左打ちするモードである場合(ステップS787;Y)は、左打ち指示報知コマンドを準備して(ステップS788)、演出コマンド設定処理(ステップS789)を行い、演出モード情報チェック処理を終了する。
このように、遊技制御装置100で演出モードを管理するようにしたことで、例えば特定の演出モードでのみ特定のリーチを発生させる等の制御が可能となり、遊技の興趣を向上させることができる。
【0315】
〔ファンファーレ/インターバル中処理移行設定処理1〕
次に、上述の特図表示中処理におけるファンファーレ/インターバル中処理移行設定処理1(ステップS704)の詳細について図46により説明する。
ルーチンが開始すると、ステップS801で処理番号として「3」(ファンファーレ/インターバル中処理に係る処理番号に相当)を設定し、ステップS802で特図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップS803で大当りの開始に関する信号を外部情報出力データ領域にセーブし、ステップS804で高確率&時短の終了に関する信号を試験信号出力データ領域にセーブする。
ここで、ステップS803では、具体的には大当り1信号(大当り+小当りでオンする信号)をオンし、大当り4信号(大当りでオンする信号)をオンする。また、ステップS804では、特別図柄1高確率状態信号をオフ、特別図柄2高確率状態信号をオフ、特別図柄1変動時間短縮状態信号をオフ、特別図柄2変動時間短縮状態信号をオフ、普通図柄1高確率状態信号をオフ、普通図柄1変動時間短縮状態信号をオフ、普通電動役物1開放延長状態信号をオフとする。大当り中(特別遊技状態中)は、特図は通常状態(高確率モードでない状態)とし、普電サポートも行わない状態(普図も通常状態)とするためである。
【0316】
次いで、ステップS805に進み、特別遊技状態で実行したラウンド数を管理するためのラウンド数領域をクリアし、続くステップS806で遊技状態表示番号領域に低確率時の番号(時短なしの番号)をセーブし、ステップS807で普図ゲームモードフラグ領域に普図低確率&時短なし(普電サポートなし)フラグをセーブする。
次いで、ステップS808で変動図柄判別フラグ領域をクリアし、ステップS809で高確率状態の表示に係る遊技状態表示LEDを消灯させるために高確率報知フラグ領域をクリアし、ステップS810で特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし、ステップS811で停電復旧時に演出制御装置300に出力されるコマンドをセーブする停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブする。次いで、ステップS812では高確率モードで実行可能な特図変動表示ゲームの回数を管理するための高確率変動回数領域をクリアする。これにより、高確率状態及び時短状態が終了し、通常確率状態かつ通常動作状態となる。つまり、このファンファーレ/インターバル中処理移行設定処理1は大当り発生により実行される処理であるため、大当り発生前に特図の大当り確率を高確率にする高確率モードであった場合には、大当り発生によってこの高確率モードは終了し、特図の遊技状態は通常状態(低確率状態)に戻る。またこれに連動して、普図の時短などの普電サポートが行われる状態(普電サポート状態)であった場合には、大当り発生によってこの普電サポートも終了し、普図の遊技状態は通常状態(普電サポートが行われていない状態)に戻る。
【0317】
その後、演出モード番号領域に演出モード1の番号をセーブし(ステップS813)、演出残り回転数領域をクリアする(ステップS814)。これは、遊技制御装置100(主基板)にて演出モードの管理をしているため、一旦、クリアするものである。
次いで、次モード移行情報領域に更新なしコードをセーブし(ステップS815)、右打ち指示に関する信号(発射位置指定信号1をオン)を試験信号出力データ領域にセーブし(ステップS816)、遊技状態表示番号2領域に右打ち状態中の番号をセーブして(ステップS817)、ファンファーレ/インターバル中処理移行設定処理1を終了する。これにより、特別遊技状態の発生に伴い演出モードの情報が一旦クリア(つまり、デフォルト状態の初期値になる)されることとなる。
なお、ステップS817は、右打ち中の表示LEDを点灯させるための処理である。
【0318】
〔小当りファンファーレ中処理移行設定処理1〕
次に、上述の特図表示中処理における小当りファンファーレ中処理移行設定処理1(ステップS734)の詳細について図47により説明する。
ルーチンが開始すると、ステップS831で処理番号として「7」(小当りファンファーレ中処理に係る処理番号に相当)を設定し、ステップS832で特図ゲーム処理番号領域に処理番号(ここでは「7」)をセーブする。次いで、ステップS833で小当りファンファーレ時間(例えば、0.3秒)を特図ゲーム処理タイマ領域にセーブし、ステップS834で小当りの開始に関する信号を外部情報出力データ領域にセーブし、ステップS835で小当りの開始に関する信号を試験信号出力データ領域にセーブする。
ここで、ステップS834では具体的には大当り1信号(大当り+小当りで出力)をオンする。また、ステップS835では特別図柄1小当り信号をオンする。
【0319】
続いて、ステップS836で大入賞口不正入賞数領域をクリアし、ステップS837で大入賞口不正監視期間フラグ領域に不正監視期間外フラグをセーブし、ステップS838で右打ち指示に関する信号(発射位置指定信号1をオン)を試験信号出力データ領域にセーブし、ステップS839で遊技状態表示番号2領域に右打ち状態中の番号をセーブして、小当りファンファーレ中処理移行設定処理1を終了する。
以上の処理により、小当り発生時の各種設定が行われる。なお、ステップS839は、右打ち中の表示LEDを点灯させるための処理である。
【0320】
〔ファンファーレ/インターバル中処理〕
次に、上述の特図ゲーム処理におけるファンファーレ/インターバル中処理(ステップS332)の詳細について図48により説明する。以降は、ステップ番号に「ステップA」を使う。
ファンファーレ/インターバル中処理では、まず、特別遊技状態(大当り状態)のラウンド数を+1更新し(ステップA31)、特別遊技状態のラウンド数に対応するラウンドコマンドを準備して(ステップA32)、演出コマンド設定処理(ステップA33)を行う。
【0321】
その後、大入賞口動作判定テーブルを設定し(ステップA34)、大入賞口開放情報に対応する開放切替判定値を取得して(ステップA35)、開始しようとしている特別遊技状態のラウンド数が、取得した開放切替判定値よりも大きいかを判定する(ステップA36)。
ここで、大入賞口動作判定テーブルは、例えば図48の中段に示す構成であり、大入賞口開放情報に対応する開放切替判定値(ラウンド数であり、図48の例では「0」、「16」、「4」など)が設定されたデータテーブルである。開放切替判定値は、大入賞口の開放について長開放(長時間の開放)から短開放(長開放より短時間の開放)に切り替えるラウンド数を示す値であり、切替判定値(ラウンド数)より前は長開放、以降は短開放となる開放動作を行う。
【0322】
そして、ラウンド数が開放切替判定値よりも大きい場合(ステップA36;Y)は、短開放用の大入賞口開放時間(本実施形態の場合、0.2秒)を特図ゲーム処理タイマ領域にセーブして(ステップA37)、ステップA39の処理に移行する。
また、ラウンド数が開放切替判定値よりも大きくない場合(ステップA36;N)は、長開放用の大入賞口開放時間(本実施形態の場合、29秒)を特図ゲーム処理タイマ領域にセーブして(ステップA38)、ステップA39の処理に移行する。
ステップA39では、大入賞口開放中処理移行設定処理(ステップA39)を行って、ファンファーレ/インターバル中処理を終了する。
【0323】
ここで、本実施形態においては、図48の下段に示すように、大当りパターンとして、(1)4R、大入賞口開放情報1(全て短開放)、(2)16R、大入賞口開放情報2(全て長開放)、(3)16R、大入賞口開放情報3(1〜4Rは長開放、5〜16Rは短開放)、(4)4R、大入賞口開放情報4(全て長開放)、(5)16R、大入賞口開放情報5(全て長開放)、(6)16R、大入賞口開放情報6(1〜8Rは長開放、9〜16Rは短開放)、(7)16R、大入賞口開放情報7(1〜4Rは長開放、5〜16Rは短開放)が設定されている。
【0324】
したがって、図48の中段に示すように、大入賞口動作判定テーブルには、大入賞口開放情報1データと開放切替判定値「0」とが、大入賞口開放情報2データと開放切替判定値「16」とが、大入賞口開放情報3データと開放切替判定値「4」とが、大入賞口開放情報4データと開放切替判定値「4」とが、大入賞口開放情報5データと開放切替判定値「16」とが、大入賞口開放情報6データと開放切替判定値「8」とが、大入賞口開放情報7データと開放切替判定値「4」とが対応付けて記憶されている。そして、ラウンド数が開放切替判定値以下である間は長開放、ラウンド数が開放切替判定値を上回ると短開放となる開放動作を行うようになっている。
そして、大入賞口開放情報は、このように各種ある大当りパターンの何れであるかを示す情報であり、前述の特図表示中処理のステップS698で設定される。
【0325】
〔大入賞口開放中処理移行設定処理〕
次に、上述のファンファーレ/インターバル中処理における大入賞口開放中処理移行設定処理(ステップA39)の詳細について図49により説明する。
大入賞口開放中処理移行設定処理においては、まず、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップA41)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA42)。その後、大入賞口の開放開始に関する信号(例えば、特別電動役物1作動中信号をON)を試験信号出力データ領域にセーブし(ステップA43)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報(即ち、大入賞口カウント数)をクリアする(ステップA44)。そして、大入賞口ソレノイド出力データ領域に大入賞口(特別変動入賞装置27)のオンデータをセーブして(ステップA45)、大入賞口開放中処理移行設定処理を終了する。
【0326】
〔大入賞口開放中処理〕
次に、上述の特図ゲーム処理における大入賞口開放中処理(ステップS333)の詳細について図50により説明する。
大入賞口開放中処理では、まず、実行中の特別遊技状態における現在のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して現在のラウンドが最終ラウンドであるかを判定する(ステップA61)。そして、最終ラウンドでない場合(ステップA61;N)は、大入賞口動作判定テーブルを設定し(ステップA62)、大入賞口開放情報に対応する開放切替判定値を取得して(ステップA63)、現在のラウンド数が取得した開放切替判定値よりも大きいかを判定する(ステップA64)。
【0327】
そして、ラウンド数が開放切替判定値よりも大きい場合(ステップA64;Y)は、残存球処理時間(短閉用)(本実施形態の場合、1.4秒)を特図ゲーム処理タイマ領域にセーブし(ステップA65)、ラウンド間のインターバルに係るインターバルコマンドを準備して(ステップA66)、ステップA67の処理に移行する。
また、ラウンド数が開放切替判定値よりも大きくない場合(ステップA64;N)は、残存球処理時間(長閉用)(本実施形態の場合、1.9秒)を特図ゲーム処理タイマ領域にセーブし(ステップA71)、ラウンド間のインターバルに係るインターバルコマンドを準備して(ステップA66)、ステップA67の処理に移行する。
【0328】
一方、最終ラウンドである場合(ステップA61;Y)は、残存球処理時間(最終用)(本実施形態の場合、1.9秒)を特図ゲーム処理タイマ領域にセーブし(ステップA69)、大当り状態の終了に係るエンディングコマンドを準備して(ステップA70)、ステップA67の処理に移行する。
そして、ステップA67に移行すると、準備されたコマンドを送信すべく演出コマンド設定処理(ステップA67)を行い、大入賞口残存球処理移行設定処理(ステップA68)を行って、大入賞口開放中処理を終了する。
【0329】
〔大入賞口残存球処理移行設定処理〕
次に、上述の大入賞口開放中処理における大入賞口残存球処理移行設定処理(ステップA68)の詳細について図51により説明する。
大入賞口残存球処理移行設定処理においては、まず、処理番号を大入賞口残存球処理にかかる「5」に設定し(ステップA81)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA82)。その後、変動入賞装置27の開閉部材27bを閉鎖するために、大入賞口ソレノイド133をオフさせるためのオフデータを大入賞口ソレノイド出力データ領域にセーブして(ステップA83)、大入賞口残存球処理移行設定処理を終了する。
【0330】
〔大入賞口残存球処理〕
次に、上述の特図ゲーム処理における大入賞口残存球処理(ステップS334)の詳細について図52により説明する。
大入賞口残存球処理では、まず、実行中の特別遊技状態における今回のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して今回のラウンドが上限値に達した(最終ラウンド)か否かをチェックする(ステップA101)。
そして、特別遊技状態における現在のラウンドが最終ラウンドでない場合(ステップA101;NO)は、大入賞口動作判定テーブルを設定し(ステップA102)、大入賞口開放情報に対応する開放切替判定値を取得し(ステップA22)、インターバル時間(通常)(例えば0.1秒)を設定して(ステップA104)、現在のラウンド数が取得した開放切替判定値よりも大きいかを判定する(ステップA105)。
【0331】
そして、ラウンド数が取得した開放切替判定値よりも大きくない場合(ステップA105;N)は、大入賞口開放情報がランクダウン演出系の値であるかを判定し(ステップA106)、ラウンド数が取得した開放切替判定値よりも大きい場合(ステップA105;Y)は、ステップA109に移行する。
ここで、ランクダウン演出系の値とは、途中のラウンドから短開放に切り替わる大当りパターンに相当する大入賞口開放情報(図48の下段において大入賞口開放情報3,6,7)を意味する。
【0332】
大入賞口開放情報がランクダウン演出系の値である場合(ステップA106;Y)は、ラウンド数が特殊演出ラウンドの値(例えば2R、4R、8R)であるかを判定し(ステップA107)、大入賞口開放情報がランクダウン演出系の値でない場合(ステップA106;N)は、ステップA109に移行する。
そして、ラウンド数が特殊演出ラウンドの値である場合(ステップA107;Y)は、インターバル時間(ランクダウン演出)(例えば3.6秒)を設定し(ステップA108)、ステップA109に移行する。一方、ラウンド数が特殊演出ラウンドの値でない場合(ステップA107;N)は、ステップA109に移行する。
【0333】
次に、ステップA109に移行すると、設定されたインターバル時間を特図ゲーム処理タイマ領域にセーブし(ステップA108)、ファンファーレ/インターバル中処理移行設定処理2(ステップA110)を行って、大入賞口残存球処理を終了する。
ここで、前記ステップA108が実行されると、その前のステップA104の設定は取り消されたことになるので、最終ラウンドでないときに、開放切替(長開放から短開放への切り替え)前であり、大入賞口開放情報がランクダウン演出系の値であり(ステップA106;Y)、ラウンド数が特殊演出ラウンドの値であると(ステップA107;Y)、ステップA109でセーブされるインターバル時間はインターバル時間(ランクダウン演出)となる。これにより、開放切替(長開放から短開放への切り替え)直前のランクダウン演出が実現できる時間が設定される。
なお、最終ラウンドでないときでも、開放切替(長開放から短開放への切り替え)後であるか、大入賞口開放情報がランクダウン演出系の値でないか(ステップA106;N)、或いはラウンド数が特殊演出ラウンドの値でない場合(ステップA107;Y)には、ステップA109でセーブされるインターバル時間はステップA104で設定されたインターバル時間(通常)となる。また、最終ラウンドの場合は、もうインターバル期間(ラウンドとラウンドの間の期間)が無いのでインターバル時間はセーブする必要がない。
【0334】
一方、現在のラウンドが最終ラウンドである場合(ステップA101;Y)は、特別結果が導出された際の確率状態を記憶する特図ゲームモードフラグ退避領域からゲームモードフラグ(ステップS701でセーブされたデータ)をロードする(ステップA111)。そして、ロードしたフラグと大入賞口開放情報、停止図柄パターンに対応するエンディング時間を設定し(ステップA112)、設定したエンディング時間(例えば1.9秒)を特図ゲーム処理タイマ領域にセーブし(ステップA113)、大当り終了処理移行設定処理(ステップA114)を行って、大入賞口残存球処理を終了する。
このように、エンディング時間は、停止図柄情報と大入賞口開放情報と大当り時のゲームモードフラグに基づいて設定される。
【0335】
なお、エンディング時間は、上記に限らず、例えば図柄情報ではなく、大入賞口情報と大当り時のゲームモードフラグに基づいて設定してもよい。
また、最終ラウンドの終了から特別遊技状態(大当り状態)の終了までの期間(これをエンディング期間と呼ぶ場合もある)は、最終ラウンドの終了から大入賞口残存球処理時間(例えば1.9秒)が経過し、さらに該大入賞口残存球処理時間の経過からエンディング時間(例えば1.9秒)が経過するまでの期間(例えば合計3.8秒)とされる。そして、このエンディング時間と大入賞口残存球処理時間とを合わせた期間(エンディング期間という場合がある)において、表示装置41等でエンディング演出が可能となる。
【0336】
〔ファンファーレ/インターバル中処理移行設定処理2〕
次に、上述の大入賞口残存球処理におけるファンファーレ/インターバル中処理移行設定処理2(ステップA110)の詳細について図53により説明する。
ファンファーレ/インターバル中処理移行設定処理2では、まず、ファンファーレ/インターバル中処理に係る処理番号である「3」を設定し(ステップA211)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA212)。
次に、大入賞口(変動入賞装置27)の開放終了に関する信号(特別電動役物1作動中信号をオフ)を試験信号出力データ領域にセーブし(ステップA213)、ファンファーレ/インターバル中処理移行設定処理2を終了する。
【0337】
〔大当り終了処理移行設定処理〕
次に、上述の大入賞口残存球処理における大当り終了処理移行設定処理(ステップA114)の詳細について図54により説明する。
この大当り終了処理移行設定処理においては、まず、大当り終了処理に係る処理番号として「6」を設定し(ステップA221)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA222)。その後、大入賞口開放終了に関する信号(特別電動役物1作動中信号をオフ)を試験信号出力データ領域にセーブする(ステップA223)。
【0338】
次に、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアし(ステップA224)、特別遊技状態のラウンド数を記憶するラウンド数領域の情報をクリアして(ステップA225)、特別遊技状態のラウンド数の上限値を記憶するラウンド数上限値領域の情報をクリアする(ステップA226)。そして、ラウンド数の上限値判定用のフラグを記憶するラウンド数上限値情報領域の情報をクリアし(ステップA227)、大入賞口の開放情報判定用のフラグを記憶する大入賞口開放情報領域の情報をクリアして(ステップA228)、大当り終了処理移行設定処理を終了する。
【0339】
〔大当り終了処理〕
次に、上述の特図ゲーム処理における大当り終了処理(ステップS335)の詳細についての詳細について図55により説明する。
この大当り終了処理では、まず、時間短縮判定データが、時短作動データか(即ち、普電サポートが行われる時短ありか否か)を判定する(ステップA241)。なお、本実施形態では大当り終了後に100%確変に突入する(大当り終了後に必ず特図が確変モードとなる)ので、特図が高確率状態か否かは判定する必要がない。
そして、時短作動データでない場合(ステップA241;N)は、大当り終了設定処理1を行い(ステップA242)、時短作動データである場合(ステップA241;Y)は、大当り終了設定処理2を行う(ステップA243)。ステップA243又はステップA242を経ると、演出モード情報アドレステーブルを設定して(ステップA244)、変動開始時(停止図柄設定時)に設定された演出モード移行情報に対応するテーブルのアドレスを取得する(ステップA245)。
【0340】
次に、遊技制御装置100での演出モードの管理に必要な情報をセーブする処理として、まず、特別遊技状態の終了後に設定される演出モードの演出モード番号を取得し、演出モード番号領域にセーブする(ステップA246)。さらに、特別遊技状態の終了後に設定される演出モードの演出残り回転数を取得し、演出残り回転数領域にセーブして(ステップA247)、特別遊技状態の終了後に設定される演出モードの次モード移行情報を取得し、次モード移行情報領域にセーブする(ステップA248)。
【0341】
その後、演出モード番号に対応する確率情報コマンドを準備し(ステップA249)、コマンドを停電復旧時送信コマンド領域にセーブして(ステップA250)、演出コマンド設定処理(ステップA251)を行う。ここで、確率情報コマンドとして、「高確率・時短あり」、「高確率・時短なし」の何れかの情報と、更に演出モードの情報が含まれた複数のコマンドがある。本実施形態の場合、大当りが終了すると必ず確変状態になる(所謂ST状態)ので、確率情報コマンドとして、「高確率・時短あり・演出モードA」、「高確率・時短あり・演出モードB」、「高確率・時短あり・演出モードC」、「高確率・時短なし・演出モードA」があり、この処理では使われないが、他に「低確率・時短なし・演出モードA」、「低確率・時短なし・演出モードB」、「低確率・時短なし・演出モードC」がある。
【0342】
次いで、演出残り回転数に対応する演出回転数コマンドを準備して(ステップA252)、演出コマンド設定処理(ステップA253)を行う。
次いで、高確率変動回数に対応する高確率変動回数コマンドを準備し(ステップA254)、演出コマンド設定処理(ステップA255)を行って、大当り終了後に時短状態が発生するかを判定する(ステップA256)。
大当り終了後に時短状態が発生する場合(ステップA256;Y)は、特図普段処理移行設定処理2を行い(ステップA259)、大当り終了処理を終了する。
また、大当り終了後に時短状態が発生しない場合(ステップA256;N)は、左打ち指示報知コマンドを準備し(ステップA257)、演出コマンド設定処理(ステップA258)を行った後に、特図普段処理移行設定処理2を行い(ステップA259)、大当り終了処理を終了する。
【0343】
〔大当り終了設定処理1〕
次に、上述の大当り終了処理における大当り終了設定処理1(ステップA242)の詳細について図56左側により説明する。
この大当り終了設定処理1では、まず、時短状態なしに関する信号(例えば、大当り2信号をOFF)を外部情報出力データ領域にセーブして(ステップA271)、高確率状態と時短状態なしの開始に関する信号(例えば、特別図柄1高確率状態信号をON、特別図柄2高確率状態信号をON、特別図柄1変動時間短縮状態信号をOFF、特別図柄2変動時間短縮状態信号をOFF、普通図柄1高確率状態信号をOFF、普通図柄1変動時間短縮状態信号をOFF、普通電動役物1開放延長状態信号をOFF)を試験信号出力データ領域にセーブする(ステップA272)。
【0344】
次に、遊技状態表示番号領域に時短状態なしの番号をセーブし(ステップA273)、普図ゲームモードフラグ領域に普図低確率&時短なしフラグをセーブして(ステップA274)、特図ゲームモードフラグ領域に特図高確率&時短なしフラグをセーブする(ステップA275)。その後、高確率変動回数領域に初期値(例えば100回)をセーブし(ステップA276)、左打ち指示に関する信号(例えば、発射位置指定信号1をOFF)を試験信号出力データ領域にセーブし(ステップA277)、右打ち中の表示LEDを消灯させるため、遊技状態表示番号2領域に左打ち状態中の番号をセーブして(ステップA278)、大当り終了設定処理1を終了する。
【0345】
〔大当り終了設定処理2〕
次に、上述の大当り終了処理における大当り終了設定処理2(ステップA243)の詳細について図56右側により説明する。
この大当り終了設定処理2では、まず、時短状態の開始に関する信号(例えば、大当り2信号をON)を外部情報出力データ領域にセーブする(ステップA281)。なお、時短状態の開始に関する信号は、大当り中から出力されているので継続する形で、外部情報出力データ領域にセーブされる。次いで、高確率状態と時短状態の開始に関する信号(例えば、特別図柄1高確率状態信号をON、特別図柄2高確率状態信号をON、特別図柄1変動時間短縮状態信号をON、特別図柄2変動時間短縮状態信号をON、普通図柄1高確率状態信号をON、普通図柄1変動時間短縮状態信号をON、普通電動役物1開放延長状態信号をON)を試験信号出力データ領域にセーブする(ステップA282)。
【0346】
次に、遊技状態表示番号領域に時短状態ありの番号をセーブし(ステップA283)、普図ゲームモードフラグ領域に普図高確率&時短ありフラグをセーブして(ステップA284)、特図ゲームモードフラグ領域に特図高確率&時短ありフラグをセーブする(ステップA285)。その後、高確率変動回数領域に初期値(例えば100回)をセーブして(ステップA286)、大当り終了設定処理2を終了する。なお、本実施形態の場合、時短状態中は右打ちモードであるが、大当り中から右打ちモードが設定されているので、大当り終了設定処理2では右打ちに関する設定を行わない。
以上の処理により、特別遊技状態の終了後、特図変動表示ゲームの確率状態が高確率状態となるとともに、時短状態となる。
【0347】
〔特図普段処理移行設定処理2〕
次に、上述の大当り終了処理における特図普段処理移行設定処理2(ステップA259)の詳細について図57により説明する。
この特図普段処理移行設定処理2においては、まず、特図普段処理に係る処理番号として「0」を設定し(ステップA291)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA292)。
【0348】
その後、大当りの終了に関する信号(例えば、大当り1信号をOFF、大当り3信号をOFF、大当り4信号をOFF)を外部情報出力データ領域にセーブして(ステップA293)、大当りの終了に関する信号(例えば、条件装置作動中信号をOFF、役物連続作動装置作動中信号をOFF、特別図柄1当り信号をOFF、特別図柄2当り信号をOFF)を試験信号出力データ領域にセーブする(ステップA294)。続いて、時間短縮判定フラグ領域の情報をクリアし(ステップA295)、大当りのラウンド回数を示すラウンドLEDのポインタ領域の情報をクリアして(ステップA296)、演出モード移行情報領域の情報をクリアする(ステップA297)。そして、特図ゲームモードフラグ退避領域の情報をクリアし(ステップA298)、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップA299)、特図普段処理移行設定処理2を終了する。
【0349】
〔小当りファンファーレ中処理〕
次に、上述の特図ゲーム処理における小当りファンファーレ中処理(ステップS336)の詳細について図58上段により説明する。
小当りファンファーレ中処理においては、小当り中処理移行設定処理(ステップA311)を実行し、この小当りファンファーレ中処理を終了する。
【0350】
〔小当り中処理移行設定処理〕
次に、上述の小当りファンファーレ中処理における小当り中処理移行設定処理(ステップA311)の詳細について図58下段により説明する。
小当り中処理移行設定処理においては、まず、処理番号を小当り中処理にかかる「8」に設定し(ステップA321)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA322)。その後、小当り開放時間(例:0.2秒)を特図ゲーム処理タイマ領域にセーブし(ステップA323)、小当り動作の開始に関する信号(例えば、特別電動役物1作動中信号をON)を試験信号出力データ領域にセーブし(ステップA324)、大入賞口ソレノイド出力データ領域にオンデータをセーブし(ステップA325)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報(即ち、大入賞口カウント数)をクリアする(ステップA326)。そして、小当り中制御ポインタ領域に小当り動作初期値「0」をセーブして(ステップA327)、小当り中処理移行設定処理を終了する。
【0351】
〔小当り中処理〕
次に、上述の特図ゲーム処理における小当り中処理(ステップS337)の詳細について図59により説明する。
小当り中処理では、まず、小当り中制御ポインタ(ステップA327で初期値設定されるポインタ)をロードし(ステップA341)、ロードした値が小当り動作終了値(例えば「6」)以上であるか判定する(ステップA342)。
ロードした値が小当り動作終了値以上でない場合(ステップA342;N)は、小当りによる大入賞口開放はまだ終わらないため、小当り中制御ポインタを+1更新し(ステップA343)、小当り動作移行設定処理(ステップA344)を行って、小当り中処理を終了する。
ロードした値が小当り動作終了値以上である場合(ステップA342;Y)は、小当りによる大入賞口開放は終了するので、特図ゲームモードフラグ退避領域からフラグをロードし(ステップA345)、このフラグが特図高確率中かを判定する(ステップA346)。ここでは、高確率中での小当りか判定し、時短状態は問わない。
【0352】
そして、フラグが特図高確率中でない場合(ステップA346;N)は、ステップA349に進む。フラグが特図高確率中である場合(ステップA346;Y)は、小当り終了画面のコマンドを準備し(ステップA347)、演出コマンド設定処理(ステップA348)を行い、ステップA349に進む。
ステップA349に進むと、小当り残存球処理移行設定処理(ステップA)を行い、小当り中処理を終了する。
【0353】
〔小当り動作移行設定処理〕
次に、小当り中処理における小当り動作移行設定処理(ステップA344)の詳細について図60により説明する。
小当り動作移行設定処理においては、まず、小当り中制御ポインタの値をチェックし、このポインタの値による分岐を行う(ステップA361)。即ち、このポインタの値が「0」、「2」、「4」の何れかであればステップA362に進み、「1」、「3」、「5」であればステップA364に進む。
ステップA362に進むと、制御ポインタに対応するウェイト時間(例えば1500ms)を特図ゲーム処理タイマ領域にセーブし(ステップA362)、大入賞口ソレノイド出力データ領域にオフデータをセーブし(ステップA363)、小当り動作移行設定処理を終了する。
ステップA364に進むと、制御ポインタに対応する大入賞口開放時間(例えば200ms)を特図ゲーム処理タイマ領域にセーブし(ステップA364)、大入賞口ソレノイド出力データ領域にオンデータをセーブし(ステップA365)、小当り動作移行設定処理を終了する。
【0354】
上記小当り動作移行設定処理等を含めた本実施形態の制御処理により、例えば図60下段の小当りタイミングチャートに示すような小当り動作(小当り時の大入賞口開放動作)が実現される。ここで、小当りファンファーレ時間は前記ステップS833で、大入賞口開放時間200msは上記ステップA364で、ウェイト時間1500msは上記ステップA362で、小当り残存球時間は後述するステップA373で、小当りエンディング時間は後述するステップA403で、それぞれ設定される。
【0355】
〔小当り残存球処理移行設定処理〕
次に、小当り中処理における小当り残存球処理移行設定処理(ステップA349)の詳細について図61により説明する。
小当り残存球処理移行設定処理においては、まず、処理番号を小当り残存球処理にかかる「9」に設定し(ステップA371)、この処理番号を特図ゲーム処理番号領域にセーブし(ステップA372)、小当り残存球処理時間(例えば1.9秒)を特図ゲーム処理タイマ領域にセーブする(ステップA373)。その後、変動入賞装置27の開閉部材27bを閉鎖するために、大入賞口ソレノイド133をオフさせるためのオフデータを大入賞口ソレノイド出力データ領域にセーブして(ステップA374)、小当り残存球処理移行設定処理を終了する。
【0356】
〔小当り残存球処理〕
次に、上述の特図ゲーム処理における小当り残存球処理(ステップS338)の詳細について図62上段により説明する。
小当り残存球処理においては、小当り終了処理移行設定処理(ステップA391)を実行し、この小当り残存球処理を終了する。
【0357】
〔小当り終了処理移行設定処理〕
次に、上述の小当り残存球処理における小当り終了処理移行設定処理(ステップA391)の詳細について図62下段により説明する。
小当り終了処理移行設定処理においては、まず、処理番号を小当り終了処理にかかる「10」に設定し(ステップA401)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA402)。その後、小当りエンディング時間(例:0.1秒)を特図ゲーム処理タイマ領域にセーブし(ステップA403)、小当り動作の終了に関する信号(例えば、特別電動役物1作動中信号をオフ)を試験信号出力データ領域にセーブし(ステップA404)、大入賞口カウント数領域をクリアし(ステップA405)、小当り中制御ポインタ領域をクリア(0クリア)して(ステップA406)、小当り終了処理移行設定処理を終了する。
【0358】
〔小当り終了処理〕
次に、上述の特図ゲーム処理における小当り終了処理(ステップS339)の詳細についての詳細について図63により説明する。
この小当り終了処理では、まず、特図ゲームモードフラグ退避領域からゲームモードフラグをロードし(ステップA421)、このフラグの値が特図高確率中であるかを判定する(ステップA422)。
そして、特図高確率中である場合(ステップA422;Y)は、ステップA439に進む。
一方、特図高確率中でない場合(ステップA422;N)は、演出モード情報アドレステーブルを設定して(ステップA423)、変動開始時(停止図柄設定時)に設定された演出モード移行情報に対応するテーブルのアドレスを取得する(ステップA424)。
【0359】
次に、遊技制御装置100での演出モードの管理に必要な情報をセーブする処理として、まず、小当り動作の終了後に設定される演出モードの演出モード番号を取得し、演出モード番号領域にセーブする(ステップA425)。さらに、小当り動作の終了後に設定される演出モードの演出残り回転数を取得し、演出残り回転数領域にセーブして(ステップA426)、小当り動作の終了後に設定される演出モードの次モード移行情報を取得し、次モード移行情報領域にセーブする(ステップA427)。
【0360】
その後、演出モード番号に対応する確率情報コマンドを準備し(ステップA428)、
準備したコマンドが停電復旧時送信コマンド領域の値と同じか判定する(ステップA429)。準備したコマンドが停電復旧時送信コマンド領域の値と同じである場合(ステップA429;Y)は、ステップA439に進む。
一方、準備したコマンドが停電復旧時送信コマンド領域の値と同じでない場合(ステップA429;N)は、準備したコマンドを停電復旧時送信コマンド領域にセーブして(ステップA430)、演出コマンド設定処理(ステップA431)を行う。
【0361】
次いで、演出残り回転数に対応する演出回転数コマンドを準備して(ステップA432)、演出コマンド設定処理(ステップA433)を行う。
次いで、高確率変動回数に対応する高確率変動回数コマンドを準備し(ステップA434)、演出コマンド設定処理(ステップA435)を行って、新たな演出モードが左打ちするモードであるかを判定する(ステップA436)。新たな演出モードが左打ちするモードでない場合(ステップA436;N)は、ステップA439に進む。
【0362】
そして、新たな演出モードが左打ちするモードである場合(ステップA436;Y)は、左打ち指示報知コマンドを準備して(ステップA437)、演出コマンド設定処理(ステップA438)を行い、ステップA439に進む。
ステップA439に進むと、特図ゲームモードフラグ退避領域からゲームモードフラグをロードし(ステップA439)、このフラグの値が特図時短中(特図の変動時間を短縮している状態)であるかを判定する(ステップA440)。
そして、特図時短中である場合(ステップA440;Y)は、ステップA443に進む。
一方、特図時短中でない場合(ステップA440;N)は、左打ち指示に関する信号(例えば、発射位置指定信号1をオフ)を試験信号出力データ領域にセーブし(ステップA441)、右打ち中の表示LEDを消灯させるため、遊技状態表示番号2領域に左打ち状態中の番号をセーブして(ステップA442)、ステップA443に進む。
ステップA443に進むと、特図普段処理移行設定処理3を行い(ステップA443)、小当り終了処理を終了する。
【0363】
〔特図普段処理移行設定処理3〕
次に、上述の小当り終了処理における特図普段処理移行設定処理3(ステップA443)の詳細について図64により説明する。
この特図普段処理移行設定処理3においては、まず、特図普段処理に係る処理番号として「0」を設定し(ステップA461)、この処理番号を特図ゲーム処理番号領域にセーブする(ステップA462)。
【0364】
その後、小当りの終了に関する信号(例えば、大当り1信号をオフ)を外部情報出力データ領域にセーブして(ステップA463)、小当りの終了に関する信号(例えば、特別図柄1小当り信号をオフ)を試験信号出力データ領域にセーブする(ステップA464)。続いて、変動図柄判別フラグ領域の情報をクリアし(ステップA465)、演出モード移行情報領域の情報をクリアする(ステップA466)。そして、特図ゲームモードフラグ退避領域の情報をクリアし(ステップA467)、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップA468)、特図普段処理移行設定処理3を終了する。
【0365】
〔演出コマンド設定処理〕
次に、例えば上述の不正&入賞監視処理におけるステップS262などの多数のステップにおいて実行される演出コマンド設定処理を図65により説明する。なお、この演出コマンド設定処理は、タイマ割込み処理中に実行される他の処理における演出コマンド設定処理に共通する処理である。
この演出コマンド設定処理では、まず、演出用シリアル送信バッファのステータスを読み込み(ステップA481)、この送信バッファが満杯であるか判定する(ステップA482)。送信バッファが満杯である場合(ステップA482;Y)は、ステップA481に戻って処理を繰り返す。
一方、送信バッファが満杯でない場合(ステップA482;N)は、準備されたコマンドデータ(MODE(上位バイト))を演出用シリアル送信バッファに書き込み(ステップA483)、ステップA484に進む。
ステップA484に進むと、演出用シリアル送信バッファのステータスを読み込み(ステップA484)、この送信バッファが満杯であるか判定する(ステップA485)。送信バッファが満杯である場合(ステップA485;Y)は、ステップA484に戻って処理を繰り返す。
一方、送信バッファが満杯でない場合(ステップA485;N)は、準備されたコマンドデータ(ACTION(下位バイト))を演出用シリアル送信バッファに書き込み(ステップA486)、演出コマンド設定処理を終了する。
【0366】
このように、演出制御装置300に対してはシリアル通信でコマンドを送信するようにしたことで、遊技制御装置100の負担を軽減できるとともに、コマンドの解析を困難にすることができる。また、コマンドの送出タイミングが早まるとともに、データ線の本数を減らすことができる。さらに、演出制御装置300においてもストローブ内でのコマンドの取り込みが必要なくなり、負担を軽減することができる。なお本実施形態では、払出制御装置200へもシリアル通信によりコマンドを送信する構成であるため、同様の効果がある。
【0367】
〔図柄変動制御処理〕
次に、上述の特図ゲーム処理における図柄変動制御処理(ステップS341、S343)の詳細について図66により説明する。
図柄変動制御処理は、第1特図(特図1)や第2特図(特図2)の特別図柄の変動の制御と特別図柄の表示データの設定を行う処理である。図柄変動制御処理では、まず、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る特図変動制御フラグが変動中であるかをチェックする(ステップA501)。
そして、当該特図変動中フラグが変動中である場合(ステップA502;YES)は、制御対象の特図(例えば、第1特図)に対応する図柄表示テーブル(変動用)を取得する(ステップA503)。
【0368】
ここで、特図ゲーム処理のステップS340にて準備された変動制御テーブルは、例えば図66下段に示すような構成であり、このテーブル上に定義されている情報は、以下の通りである。
・変動制御領域の下位アドレス
・表示テーブル2(停止用)のアドレス
・表示テーブル1(変動用)のアドレス
そして図66下段に示す場合、上記ステップA503では、準備された「特図1変動制御テーブル」上の表示テーブル1のアドレス「D_TZ1_LED1」に基づいて、図66において「特図1変動制御テーブル」の下に示す「特図1表示テーブル1(変動用)(D_TZ1_LED1)」が取得される。
次いで、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る点滅制御タイマを−1更新して(ステップA504)、当該タイマの値が0、すなわちタイムアップしたかを判定する(ステップA505)。
【0369】
点滅制御タイマの値が0でない場合(ステップA505;NO)は、対象の変動図柄番号領域の値に対応する表示データを取得する(ステップA508)。また、点滅制御タイマの値が0である場合(ステップA505;YES)は、点滅制御タイマ初期値(例えば100ms)を制御対象の点滅制御タイマ領域にセーブし(ステップA506)、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る変動図柄番号を+1更新して(ステップA507)、対象の変動図柄番号領域の値に対応する表示データを取得する(ステップA508)。その後、取得した表示データを対象のセグメント領域にセーブして(ステップA509)、図柄変動制御処理を終了する。
ここで、上記ステップA508では、例えば図66下段に示す場合であって、変動図柄番号領域の値(即ち特図1図柄番号)が「0」である場合には、取得された「特図1表示テーブル1(変動用)(D_TZ1_LED1)」上の特図1図柄番号が「0」に対応する表示データ「C_SEG1_OFF」が取得される。
【0370】
一方、特図変動中フラグが変動中でない場合(ステップA502;NO)は、制御対象の特図(例えば、第1特図)に対応する図柄表示テーブル(停止用)を取得する(ステップA510)。そして、対象の変動図柄番号領域の値に対応する表示データを取得し(ステップA511)、取得した表示データを対象のセグメント領域にセーブして(ステップA509)、図柄変動制御処理を終了する。ここで、ステップA510、ステップA511の処理も、例えば図66下段に示すような構成の変動制御テーブルに基づいて行われる。この場合は、「特図1表示テーブル2(停止用)(D_TZ1_LED2)」がステップA510で取得されてステップA511で使用される。
以上の処理により、一括表示装置35の中のLEDセグメントである特図1表示器及び特図2表示器のうち、制御対象となる特図表示器(例えば、特図1表示器)に図柄番号に対応した特図が表示されることとなる。
【0371】
〔2バイト振り分け処理〕
次に、上述の変動パターン設定処理における2バイト振り分け処理(ステップS595)の詳細について図67右側により説明する。
2バイト振り分け処理は、変動パターン乱数1に基づいて後半変動グループテーブルから特図変動表示ゲームの後半変動選択テーブルを選択するための処理である。
【0372】
この2バイト振り分け処理では、まず、変動パターン設定処理にて準備した後半変動グループテーブル(選択テーブル)の先頭のデータが振り分けなしのコード(即ち、「0」)であるかをチェックする(ステップA521)。ここで、後半変動グループテーブルは、少なくとも一の後半変動パターングループと対応付けて所定の振り分け値を記憶しているが、後半変動パターンが「リーチなし」となる後半変動パターングループのみを規定する後半変動グループテーブル(例えば、結果がはずれの場合の一部の変動グループテーブル)のような場合には、振分けの必要がないため、振り分け値「0」、即ち、振り分けなしのコードが先頭に規定されている。
【0373】
そして、後半変動グループテーブルの先頭のデータが振り分けなしのコードである場合(ステップA522;YES)は、振り分けた結果に対応するデータのアドレスに更新して(ステップA527)、2バイト振り分け処理を終了する。一方、後半変動グループテーブルの先頭のデータが振り分けなしのコードでない場合(ステップA522;NO)は、後半変動グループテーブルに最初に規定されている一の振り分け値を取得する(ステップA523)。
【0374】
続けて、ステップS593にてロードされた乱数値(変動パターン乱数1の値)からステップA523にて取得された振り分け値を減算して新たな乱数値を算出し(ステップA524)、当該算出された新たな乱数値が「0」よりも小さいかを判定する(ステップA525)。新たな乱数値が「0」よりも小さくない場合(ステップA525;NO)は、次の振り分け値のアドレスに更新した後(ステップA526)、処理をステップA523に移行して、それ以降の処理を行う。即ち、ステップA523にて、変動グループ選択テーブルに次に規定されている振り分け値を取得した後、ステップA525にて判定済みの乱数値を新たな乱数値として振り分け値を減算し、さらに新たな乱数値を算出する(ステップA524)。そして、算出された新たな乱数値が「0」よりも小さいか否かを判定する(ステップA525)。
【0375】
上記の処理をステップA525にて、新たな乱数値が「0」よりも小さい(ステップA525;YES)と判定するまで実行する。これにより、後半変動グループテーブルに規定されている少なくとも一の後半変動選択テーブルの中から何れか一の後半変動選択テーブルが選択される。そして、ステップA525にて、新たな乱数値が「0」よりも小さい(ステップA525;YES)と判定すると、振り分けた結果に対応するデータのアドレスに更新して(ステップA527)、2バイト振り分け処理を終了する。
【0376】
〔振り分け処理〕
次に、上述の変動パターン設定処理における振り分け処理(ステップS596、S599、S605)の詳細について図67左側により説明する。
振り分け処理は、変動パターン乱数2に基づいて、後半変動選択テーブル(後半変動パターングループ)から特図変動表示ゲームの後半変動パターンを選択したり、変動パターン乱数3に基づいて、前半変動選択テーブル(前半変動パターングループ)から特図変動表示ゲームの前半変動パターンを選択したりするための処理である。
【0377】
この振り分け処理では、まず、準備された後半変動選択テーブル(選択テーブル)や前半変動選択テーブル(選択テーブル)の先頭のデータが振り分けなしのコード(即ち、「0」)であるか否かをチェックする(ステップA541)。ここで、後半変動選択テーブルや前半変動選択テーブルは、後半変動グループテーブルと同様に、少なくとも一の後半変動パターンや前半変動パターンと対応付けて所定の振り分け値を記憶しているが、振分けの必要がない選択テーブルの場合、振り分け値「0」、即ち、振り分けなしのコードが先頭に規定されている。
【0378】
そして、後半変動選択テーブルや前半変動選択テーブルの先頭のデータが振り分けなしのコードである場合(ステップA542;YES)は、振り分けた結果に対応するデータのアドレスに更新して(ステップA547)、振り分け処理を終了する。一方、後半変動選択テーブルや前半変動選択テーブルの先頭のデータが振り分けなしのコードでない場合(ステップA542;NO)は、後半変動選択テーブルや前半変動選択テーブルに最初に規定されている一の振り分け値を取得する(ステップA543)。
【0379】
続けて、ステップS598やS604にてロードされた乱数値(変動パターン乱数2や変動パターン乱数3の値)からステップA543にて取得された振り分け値を減算して新たな乱数値を算出した後(ステップA544)、当該算出された新たな乱数値が「0」よりも小さいかを判定する(ステップA545)。そして、新たな乱数値が「0」よりも小さくない場合(ステップA545;NO)は、次の振り分け値のアドレスに更新した後(ステップA546)、処理をステップA543に移行して、それ以降の処理を行う。
【0380】
即ち、ステップA543にて、後半変動選択テーブルや前半変動選択テーブルに次に規定されている振り分け値を取得した後、ステップA545にて判定済みの乱数値を新たな乱数値として振り分け値を減算し、さらに新たな乱数値を算出する(ステップA544)。そして、算出された新たな乱数値が「0」よりも小さいか否かを判定する(ステップA545)。上記の処理をステップA545にて、新たな乱数値が「0」よりも小さい(ステップA545;YES)と判定するまで実行する。これにより、後半変動選択テーブルや前半変動選択テーブルに規定されている少なくとも一の後半変動パターンや前半変動パターンの中から何れか一の後半変動番号や前半変動番号を選択する。そして、ステップA545にて、新たな乱数値が「0」よりも小さい(ステップA545;YES)と判定すると、振り分けた結果に対応するデータのアドレスに更新して(ステップA547)、振り分け処理を終了する。
なお、上記振り分け処理と前述の2バイト振り分け処理とは、基本的に構成は同じである。振り分けに使用する乱数のサイズが1バイトか2バイトかという点が異なるため、計算するためのプログラム命令が違っている。
【0381】
次に、普図ゲーム処理に関するフローチャートの説明に移るが、ここでは、ステップ番号として「ステップB」を用いて説明する。
〔普図ゲーム処理〕
まず、上述のタイマ割込み処理における普図ゲーム処理(ステップS79)の詳細について図68により説明する。
普図ゲーム処理では、ゲートスイッチ122の入力の監視と、普図変動表示ゲームに関する処理全体の制御、普図の表示の設定等を行う。
まず、ゲートスイッチ122からの入力を監視するゲートスイッチ監視処理(ステップB1)を行う。なお、ゲートスイッチ監視処理(ステップB1)の詳細については後述する。
次に、第2始動口スイッチ121からの入力を監視する普電入賞スイッチ監視処理(ステップB2)を行う。なお、普電入賞スイッチ監視処理(ステップB2)の詳細については後述する。
【0382】
次に、普図ゲーム処理タイマが0でなければ−1更新する(ステップB3)。なお、普図ゲーム処理タイマの最小値は0に設定されている。そして、普図ゲーム処理タイマの値が0となったかを判定する(ステップB4)。
普図ゲーム処理タイマの値が0である(ステップB4;YES)、すなわちタイムアップした又はすでにタイムアップしていたと判定すると、普図ゲーム処理番号に対応する処理に分岐させるために参照する普図ゲームシーケンス分岐テーブル(図68右上に具体例を示す)をレジスタに設定する処理(ステップB5)を行って、当該テーブルを用いて普図ゲーム処理番号に対応する処理の分岐先アドレスを取得する処理(ステップB6)を行う。そして、ゲーム処理番号に応じてサブルーチンコールを行う(ステップB8)。
【0383】
ステップB8にて、ゲーム処理番号が「0」の場合は、普図変動表示ゲームの変動開始を監視し、普図変動表示ゲームの変動開始の設定や演出の設定や、普図変動中処理を行うために必要な情報の設定等を行う普図普段処理(ステップB9)を行う。
なお、普図普段処理(ステップB9)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「1」の場合は、普図表示中処理を行うために必要な情報の設定等を行う普図変動中処理(ステップB10)を行う。
なお、普図変動中処理(ステップB10)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「2」の場合は、普図変動表示ゲームの結果が当りであれば、普通変動入賞装置27が普電サポート中(時短状態中)であるか否かに応じた普電開放時間の設定や、普図当り中処理を行うために必要な情報の設定等を行う普図表示中処理(ステップB11)を行う。
なお、普図表示中処理(ステップB11)の詳細については後述する。
【0384】
また、ステップB8にて、ゲーム処理番号が「3」の場合は、普図当り中処理の継続、或いは普電残存球処理を行うために必要な情報の設定等を行う普図当り中処理(ステップB12)を行う。
なお、普図当り中処理(ステップB12)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「4」の場合は、普図当り終了処理を行うために必要な情報の設定等を行う普電残存球処理(ステップB13)を行う。
なお、普電残存球処理(ステップB13)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「5」の場合は、普図普段処理(ステップB9)を行うために必要な情報の設定等を行う普図当り終了処理(ステップB14)を行う。
なお、普図当り終了処理(ステップB14)の詳細については後述する。
その後、普図表示器(一括表示装置35)による普通図柄の変動を制御するための各種テーブルを準備した後(ステップB15)、普図表示器(一括表示装置35)による普通図柄の変動の制御に係る図柄変動制御処理(ステップB16)を行って、普図ゲーム処理を終了する。
【0385】
一方、ステップB4にて、普図ゲーム処理タイマの値が0でない(ステップB4;NO)、すなわちタイムアップしていないと判定すると、処理をステップB15に移行して、それ以降の処理を行う。
【0386】
〔ゲートスイッチ監視処理〕
次に、上述の普図ゲーム処理におけるゲートスイッチ監視処理(ステップB1)の詳細について図69により説明する。
ゲートスイッチ監視処理では、まず、ゲートスイッチ122に入力があるか否かをチェックする(ステップB21)。そして、ゲートスイッチ122に入力があると(ステップB21;YES)判定すると、右打ちする遊技状態か判定する(ステップB22)。右打ちする遊技状態である場合(ステップB22;Y)は、ステップB25に進む。右打ちする遊技状態でない場合(ステップB22;N)は、右打ち指示コマンドを準備し(ステップB23)、演出コマンド設定処理を行い(ステップB24)、ステップB25に進む。
ここで、右打ちする遊技状態には下記がある。
・大当り中
・小当り中
・特図時短中(普電サポート中)
【0387】
ステップB25では、普図保留数を取得して当該普図保留数が上限値(例えば、4)未満か否かを判定する(ステップB25)。普図保留数が上限値未満である(ステップB25;YES)と判定すると、普図保留数を更新(+1)する処理(ステップB26)を行う。
【0388】
その後、更新後の普図保留数に対応する当り乱数格納領域のアドレスを算出する処理(ステップB27)を行った後、当り乱数を抽出してRWMの当り乱数格納領域にセーブし(ステップB28)、当り図柄乱数を抽出してRWMの当り図柄乱数格納領域にセーブして(ステップB29)、ゲートスイッチ監視処理を終了する。
また、ステップB21にて、ゲートスイッチ122に入力がないと判定されるか(ステップB21;NO)、或いは、ステップB25にて、普図保留数が上限値未満でないと判定された場合にも(ステップB25;NO)、ゲートスイッチ監視処理を終了する。
【0389】
〔普電入賞スイッチ監視処理〕
次に、上述の普図ゲーム処理における普電入賞スイッチ監視処理(ステップB2)の詳細について図70により説明する。
普電入賞スイッチ監視処理では、まず、普図変動表示ゲームが当り状態となって普通変動入賞装置26が所定回数(例えば、3回)の開放動作を実行中であるか(普図当り中か)否かをチェックする(ステップB31)。そして、普図当り中である(ステップB31;YES)と判定すると、第2始動口スイッチ121に入力があるか否かを判定し(ステップB32)、第2始動口スイッチ121に入力がある(ステップB32;YES)と判定すると、普電カウンタのカウント数を更新(+1)する処理(ステップB33)を行う。
【0390】
次に、更新後の普電カウンタのカウント数が上限値(例えば、6)に達したか否かを判定し(ステップB34)、カウント数が上限値に達した(ステップB34;YES)と判定すると、普図当り中制御ポインタ領域に当り動作終了の値(例えば「4」)をセーブし(ステップB35)、普図ゲーム処理タイマを0クリアして(ステップB36)、普電入賞スイッチ監視処理を終了する。
すなわち、普図の当り状態中に上限値以上の普電入賞があった場合は、その時点で普図当り中処理制御ポインタ領域に当り終了の値をセーブし、普図の当り状態が途中で終了するようにする。
【0391】
また、ステップB31にて、普図当り中でないと判定されるか(ステップB31;NO)、或いは、ステップB32にて第2始動口スイッチ121に入力がないと判定されるか(ステップB32;NO)、或いはステップB34にてカウント数が上限値に達していないと判定された場合にも(ステップB34;NO)、普電入賞スイッチ監視処理を終了する。
【0392】
〔普図普段処理〕
次に、上述の普図ゲーム処理における普図普段処理(ステップB9)の詳細について図71により説明する。なお、単に「当り乱数」という場合は普図当り乱数を意味し、単に「当り図柄乱数」という場合は、普図当り図柄乱数を意味する。
普図普段処理では、まず、普図保留数が「0」であるか否かを判定し(ステップB41)、普図保留数が「0」である(ステップB41;YES)と判定すると、ステップB62に移行して、普図普段処理移行設定処理1を行った後、普図普段処理を終了する。普図普段処理移行設定処理1は、次回に普図普段処理を繰り返すための処理を行うもので、詳細は後述する。
【0393】
一方、ステップB41にて普図保留数が0でない(ステップB41;NO)と判定すると、RWMの普図当り乱数格納領域(保留数1用)と普図当り図柄乱数格納領域(保留数1用)からそれぞれ乱数をロードし(ステップB42)、その後これら普図当り乱数格納領域(保留数1用)と普図当り図柄乱数格納領域(保留数1用)を0クリアし(ステップB43)、ステップB44に進む。
ステップB44では、普図変動表示ゲームにて当り結果となる確率が通常よりも高くされた普図高確率中であるか、すなわち時短状態(普電サポート状態)であるかを判定する(ステップB44)。なお本実施形態では、普図高確率中は普電サポート状態であり、特図も高確率状態(高確率モード)である。そして本実施形態では、普図の遊技状態が通常状態(普図の当り確率を高確率にするなどの特別制御が行われていない状態、即ち普電サポート状態でない通常時)の場合の普図の当り確率はゼロ(例えば0/251)であり、普電サポート状態での普図の当り確率は例えば250/251であり、通常状態と高確率状態との格差の大きい確率設定となっている。これにより、通常状態での出玉を抑制しつつ、遊技者に対しては高確率状態になること(即ち確変)の魅力を増大させて興趣を高めることができる。
【0394】
普図高確率時でない場合(ステップB44;NO)は、低確率下限判定値(例えば「251」)を設定し(ステップB45)、ロードした当り乱数が規定の上限判定値以上であるか判定する(ステップB47)。一方、普図高確率時である場合(ステップB44;Y)は、高確率下限判定値(例えば「1」)を設定し(ステップB46)、ロードした当り乱数が規定の上限判定値以上であるか判定する(ステップB47)。なお、上限判定値は、普図高確率時(普電サポート状態)でも通常時(普図の通常状態)でも共通の値であり、例えば「251」である。
ロードした当り乱数が上限判定値以上でない場合(ステップB47;N)は、ロードした当り乱数が設定した下限判定値未満であるか判定する(ステップB48)。
そして、ロードした当り乱数が上限判定値以上である場合(ステップB47;Y)と、ロードした当り乱数が設定した下限判定値未満である場合(ステップB48;Y)は、普図外れであるため、当りフラグ領域にはずれ情報をセーブし(ステップB49)、はずれ停止図柄番号を設定して(ステップB50)、この停止図柄番号に対応するはずれ図柄情報を普図停止図柄情報領域にセーブし(ステップB51)、ステップB55に進む。
【0395】
また、ロードした当り乱数が設定した下限判定値未満でない場合(ステップB48;N)は、普図当りであるため、当りフラグ領域に当り情報をセーブし(ステップB52)、ロードした当り図柄乱数に対応する停止図柄番号を設定し(ステップB53)、この停止図柄番号に対応する停止図柄情報を普図停止図柄情報格納領域にセーブし(ステップB54)、ステップB55に進む。なお、本実施形態では、普図の当り図柄は3種類ある。
【0396】
次に、ステップB55に進むと、設定された停止図柄番号を普図停止図柄領域にセーブし(ステップB55)、設定された停止図柄番号を試験信号出力データ領域にセーブし(ステップB56)、普図ゲームモード状態に対応する普図変動時間(例えば、通常時;700ms、普電サポート中;500ms(時短のため短い))を普図ゲーム処理タイマ領域にセーブする(ステップB57)。
次いで、普図当り乱数格納領域をシフトし(ステップB58)、シフト後の空き領域を0クリアして(ステップB59)、普図保留数を−1更新する(ステップB60)。即ち、最も古い普図保留数1に関する普図変動表示ゲームが実行されることに伴い、普図保留数1以降に保留となっている普図保留数2〜4の順位を1つずつ繰り上げる処理を行う。この処理により、普図当り乱数格納領域の普図保留数2用から普図保留数4用の値が、普図当り乱数格納領域の普図保留数1用から普図保留数3用に移動することとなる。そして、普図当り乱数格納領域の普図保留数4用の値がクリアされて、普図保留数が1デクリメントされる。
【0397】
次に、ステップB60を経ると、普図変動中処理移行設定処理(ステップB61)を行って、普図普段処理を終了する。
なお、普図の遊技状態が通常状態(本実施形態では特図の遊技状態も通常状態(低確率状態))である場合には、上述の上限判定値も下限判定値も例えば「251」で同じ値であるので、ステップB47とB48の判定処理では、必ずステップB49に進むことになり、本実施形態での通常状態での普図当り確率はゼロとなっている。
【0398】
〔普図普段処理移行設定処理1〕
次に、上述の普図普段処理における普図普段処理移行設定処理1(ステップB62)の詳細について図72により説明する。
ルーチンが開始すると、ステップB71で普図普段処理に移行するための処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB72で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB73で普電不正監視期間フラグ領域に不正監視期間中フラグをセーブしてリターンする。これにより、次回に普図普段処理に移行する。
【0399】
〔普図変動中処理移行設定処理〕
次に、上述の普図普段処理における普図変動中処理移行設定処理(ステップB61)の詳細について図73により説明する。
ルーチンが開始すると、ステップB81で処理番号として「1」(普図変動中処理に係る処理番号に相当)を設定し、ステップB82で普図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップB83で普図変動開始に関する信号(例えば、普通図柄1変動中信号をオン)を試験信号出力データ領域にセーブし、ステップB84で普図変動制御フラグ領域に変動中フラグをセーブする。次いで、ステップB85で普図表示器(一括表示装置35の普図表示LED)の点滅周期のタイマの初期値である点滅制御タイマ初期値(例えば100ms)を普図点滅制御タイマ領域にセーブして、普図変動中処理移行設定処理を終了する。これにより、次回に普図変動中処理に移行する。
【0400】
〔普図変動中処理〕
次に、上述の普図ゲーム処理における普図変動中処理(ステップB10)の詳細について図74上段により説明する。
ルーチンが開始すると、ステップB91で普図表示中処理移行設定処理を行う。これは、普図表示中処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
【0401】
〔普図表示中処理移行設定処理〕
次に、上述の普図変動中処理における普図表示中処理移行設定処理(ステップB91)の詳細について図74下段により説明する。
ルーチンが開始すると、ステップB101で処理番号として「2」(普図表示中処理に係る処理番号に相当)を設定し、ステップB102で普図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップB103で普図表示時間(例えば、600ms)を普図ゲーム処理タイマ領域にセーブし、ステップB105で普図変動終了に関する信号(例えば、普通図柄1変動中信号をオフ)を試験信号出力データ領域にセーブする。次いで、ステップB106で普図変動制御フラグ領域に停止フラグをセーブしてリターンする。これにより、次回に普図表示中処理に移行する。
【0402】
〔普図表示中処理〕
次に、上述の普図ゲーム処理における普図表示中処理(ステップB11)の詳細について図75により説明する。
普図表示中処理では、まず、普図普段処理にて設定された当りフラグ(当たり情報又ははずれ情報)をロードして(ステップB111)、RWMの当りフラグ領域をクリアする処理(ステップB112)を行う。
次に、ロードされた当りフラグが当りか否かを判定し(ステップB113)、当りフラグが当りでない(ステップB113;NO)と判定すると、ステップB122に分岐して普図普段処理移行設定処理1(図72で説明)を行い、普図表示中処理を終了する。
【0403】
一方、ステップB113にて、当りフラグが当りである(ステップB113;YES)と判定すると、普電サポート中(時短状態中)かを判定する処理(ステップB114)を行う。
そして、普電サポート中である場合(ステップB114;YES)は、当り中処理設定テーブルを設定し(ステップB115)、普図停止図柄情報に対応する当り開始ポインタ値(制御ポインタの初期値、詳細後述する)を取得して、これを普図当り中制御ポインタ領域にセーブし(ステップB116)、普図停止図柄情報に対応する普電開放時間(例えば、500ms又は1700ms)を取得して、これを普図ゲーム処理タイマ領域にセーブし(ステップB117)、普図当り中処理移行設定処理(ステップB121)を行って、普図表示中処理を終了する。
【0404】
一方、普電サポート中でない場合(ステップB114;NO)は、通常時用の当り開始ポインタ値(制御ポインタの初期値)を設定して、これを普図当り中制御ポインタ領域にセーブし(ステップB119)、通常時用の普電開放時間(例えば、100ms)を設定して、これを普図ゲーム処理タイマ領域にセーブし(ステップB120)、図72の普図普段処理移行設定処理1を行って(ステップB122)、普図表示中処理を終了する。
【0405】
なお、図78の下段に本実施形態での普電作動タイミングチャートの具体例(普電開放パターンの具体例)を示した。この具体例の場合、普図の当り図柄は「当り図柄1」、「当り図柄2」、「当り図柄3」と3種類ある。
そして、当り図柄1で当った場合には、図78下段チャート内に示すように、600msの普図の表示時間(前記ステップB104で設定される時間)を経た後、500ms(前記ステップB117で設定される普電開放時間)の普電の開放が行われ、その後600msの普電残存球処理時間(後述するステップB158で設定される時間)が設けられた1回開きの普電開放パターンとなる。
【0406】
次に、当り図柄2で当った場合には、図78下段チャート内に示すように、600msの普図の表示時間を経た後、1700ms(前記ステップB117で設定される普電開放時間)の普電の開放が行われ、その後200msのウェイト時間(後述するステップB152で設定される時間)を経て、2回目の1700msの普電の開放が行われ、その後600msの普電残存球処理時間が設けられた2回開きの普電開放パターンとなる。
次に、当り図柄3で当った場合には、図78下段チャート内に示すように、600msの普図の表示時間を経た後、1700msの普電の開放が行われ、その後200msのウェイト時間を経て2回目の1700msの普電の開放が行われ、続いて200msのウェイト時間を経て3回目の1700msの普電の開放が行われ、その後600msの普電残存球処理時間が設けられた3回開きの普電開放パターンとなる。
【0407】
また本実施形態では、図78下段チャート内には図示していないが、普電サポート中(高確率中)に普図当りが発生したものの、その普図当り(普図保留)に対して普電を開放する時点が普電サポート中以外(通常状態)となってしまった時(即ち、上記ステップB114を経てステップB119に処理が進む時)は、当り図柄によらず普電開放パターンが、100ms(前記ステップB120で設定された普電開放時間)の1回開放(即ち、当り図柄1の開放動作の開放時間が短くなったもの)となる構成となっている。これは、普図の遊技状態が通常状態である場合には普図当り確率をゼロに設定している本実施例の構成と関係している。つまり本実施例では、普図の遊技状態が前記通常状態である場合には普図当り確率をゼロに設定することにより、普電サポート状態の優位性を相対的に格段に高めて、普電サポート状態(本例では特図高確率状態でもある)への期待を高めて興趣を向上させている。そしてその上で、始動領域開閉手段の開放パターン(即ち、普電の開放パターン)としては、普図の遊技状態が前記サポート状態である場合の開放パターン(例えば図78下段チャート内に示したもの)に加え、普図の遊技状態が前記通常状態である場合の専用の開放パターン(100ms×1)を設けている。これにより、入賞させたくない通常状態で想定外の入賞数が発生してしまうこと(遊技設計が狂ってしまうこと)を防止できる効果がある。というのは、通常状態では普図が当らない(普図当り確率はゼロ)という理由で通常状態での開放パターンを用意せず、例えば高確率中の開放パターンを使用していたのでは、開放時間が延長されたり、開放回数が増やされたりしているため、入賞させたくない通常状態で想定外の始動入賞が相当数発生して、遊技設計が狂うことになる。ところが、通常状態である場合の専用の普電開放パターンを有していれば、この専用の普電開放パターンとして入賞困難な仕様を設定することにより、上記想定外の始動入賞を抑制又は回避することできる。
【0408】
そして本実施形態では、以上のような合計4種類の普電開放動作を実現するために、図78下段チャート内にも示した普電開放制御用の制御ポインタ(普図当り中処理制御ポインタ)を使用しており、この制御ポインタの値は、各開放パターンにおいて図78下段チャート内に示すように、1回目の開放動作の終了時点以降の開閉状態が変化する時点にそれぞれ対応して値が変化するようになっている。
前記ステップB116やB119における当り開始ポインタ値とは、このような制御ポインタの値の最初の値(初期値)を意味する。したがって図78下段チャートに示した具体例の場合には、ステップB116では、当り図柄1の場合は「4」が、当り図柄2の場合は「2」が、当り図柄3の場合は「0」が、この当り開始ポインタ値としてセーブされる。また、ステップB119では、当り図柄1の場合と同様に、「4」が当り開始ポインタ値としてセーブされる。
【0409】
〔普図当り中処理移行設定処理〕
次に、上述の普図表示中処理における普図当り中処理移行設定処理(ステップB121)の詳細について図76により説明する。
ルーチンが開始すると、ステップB131で処理番号として「3」(普図当り中処理に係る処理番号に相当)を設定し、ステップB132で普図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップB133で普図当りの開始に関する信号(例えば、普通図柄1当り中信号をON)と普電作動開始に関する信号(例えば、普通電動役物1作動中信号をON)を試験信号出力データ領域にセーブする。次いで、ステップB134で普電ソレノイド出力データ領域にONデータをセーブし、ステップB135で普通変動入賞装置26への入賞数を記憶する普電カウント数領域をクリアする、次いで、ステップB136で普電不正監視期間における普通変動入賞装置26への入賞数を記憶する普電不正入賞数領域をクリアし、ステップB137で普電不正監視期間フラグ領域に不正監視期間外フラグ(普通変動入賞装置26の不正監視期間外を規定するフラグ)をセーブしてリターンする。これにより、次回は普図当り中処理に移行する。
【0410】
〔普図当り中処理〕
次に、上述の普図ゲーム処理における普図当り中処理(ステップB12)の詳細について図77により説明する。
普図当り中処理では、まず、普図当り中処理制御ポインタをロードして準備した後(ステップB141)、ロードされた普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値:例えば「4」等))に達したかを判定する(ステップB142)。
そして、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値に達していない場合(ステップB142;NO)は、普図当り中制御ポインタを+1更新し(ステップB143)、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
また、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値)に達した場合(ステップB142;YES)は、ステップB143における普図当り中処理制御ポインタ領域を更新(+1)する処理を行わずに、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
【0411】
〔普電作動移行設定処理〕
次に、上述の普図当り中処理における普電作動移行設定処理(ステップB144)の詳細について図78により説明する。
なお、普電開放動作の時間制御には、図78中段に具体例を示す当り中処理時間値テーブルが使用される。この当り中処理時間値テーブルは、普図表示中処理におけるステップB115で設定される当り中処理設定テーブルの中にある。図78中段に示すように、当り中処理時間値テーブルは、制御ポインタの値と、その値が対応する普電動作中の各時点以降の普電動作(普電開放、又は普電閉塞)の継続時間値とが、対応付けて記録されたものである。図78中段の当り中処理時間値テーブルは、図78下段チャート(普電作動タイミングチャート)内に示した前述の当り図柄3に対応する普電開放パターンを制御するものである。後述するステップB152、ステップB154では、このような当り中処理時間値テーブルを参照して制御ポインタの値に対応した時間がセーブされる。
【0412】
普電作動移行設定処理は、普通変動入賞装置26を開閉するための普電ソレノイド132の駆動制御を行う処理であり、制御ポインタの値に応じて処理を分岐するようにしている。
ルーチンが開始すると、ステップB151で制御ポインタによる分岐を行う。ここでは、ステップB141でロードして準備された制御ポインタの値に応じて分岐する。具体的には、ステップB151で制御ポインタの値が0,2の何れかであった場合は、ステップB152へ移行して普通変動入賞装置26の閉塞を制御するため、制御ポインタに対応する普通変動入賞装置26の閉塞後のウェイト時間(例えば、200ms)を普図ゲーム処理タイマ領域にセーブし(ステップB152)、ステップB153で普電ソレノイド132をオフさせるために普電ソレノイド出力データ領域にオフデータを設定して、普電作動移行設定処理を終了する。これにより、普通変動入賞装置26の開放後の閉塞時間が上記ウエイト時間となり、その期間は普通変動入賞装置26が閉塞することになる。
【0413】
一方、ステップB151で制御ポインタの値が1,3の何れかであった場合は、ステップB154へ移行して普通変動入賞装置26の開放を制御するため、制御ポインタに対応する普通変動入賞装置26の開放時間である普電開放時間(例えば、1700ms)を普図ゲーム処理タイマ領域にセーブし(ステップB154)、ステップB155で普電ソレノイド132をオンさせるために普電ソレノイド出力データ領域にオンデータを設定して、普電作動移行設定処理を終了する。これにより、普通変動入賞装置26の開放時間が上記普電開放時間となり、その期間は普通変動入賞装置26が開放することになる。
【0414】
また、ステップB151で制御ポインタの値が4であった場合は、ステップB156へ移行して普通変動入賞装置26の開放制御を終了して普電残存球処理(ステップB13)を行うために、処理番号として「4」を設定する(ステップB156)。次いで、ステップB157で普図ゲーム処理番号領域に処理番号(ここでは「4」)をセーブする。次いで、ステップB158で普電残存球処理時間(例えば600ms)を普図ゲーム処理タイマ領域にセーブし、その後、ステップB159で普電ソレノイド132をオフさせるために普電ソレノイド出力データ領域にオフデータをセーブし、普電作動移行設定処理を終了する。
【0415】
〔普電残存球処理〕
次に、上述の普図ゲーム処理における普電残存球処理(ステップB13)の詳細について図79上側により説明する。
ルーチンが開始すると、ステップB161で普図当り終了処理移行設定処理を行う。これは、普図当り終了処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
【0416】
〔普図当り終了処理移行設定処理〕
次に、上述の普電残存球処理における普図当り終了処理移行設定処理(ステップB161)の詳細について図79下側により説明する。
ルーチンが開始すると、ステップB171で処理番号として「5」(普図当り終了処理に係る処理番号に相当)を設定し、ステップB172で普図ゲーム処理番号領域に処理番号(ここでは「5」)をセーブする。次いで、ステップB173で普図エンディング時間(例えば、100ms)を普図ゲーム処理タイマ領域にセーブし、ステップB174で普通変動入賞装置26の作動終了に関する信号(例えば、普通電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB175で普通変動入賞装置26への入賞数を計数する普電カウント数領域をクリアする。そして、ステップB176で普図当り中制御ポインタ領域をクリアして、普図当り終了処理移行設定処理を終了する。これにより、次回は普図当り終了処理に移行する。
【0417】
〔普図当り終了処理〕
次に、上述の普図ゲーム処理における普図当り終了処理(ステップB14)の詳細について図80上側により説明する。
ルーチンが開始すると、ステップB181で普図普段処理移行設定処理2を行う。これは、普図普段処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
【0418】
〔普図普段処理移行設定処理2〕
次に、上述の普図当り終了処理における普図普段処理移行設定処理2(ステップB181)の詳細について図80下側により説明する。
ルーチンが開始すると、ステップB191で処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB192で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB193で普図当りの終了に関する信号(例えば、普通図柄1当り中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB194で普電不正監視期間フラグ領域に不正監視期間中フラグ(普通変動入賞装置26の不正監視期間を規定するフラグ)をセーブしてリターンする。これにより、次回は普図普段処理に移行する。
【0419】
以上で、普図ゲーム処理に関するフローチャートを説明したので、次に、上述のタイマ割込み処理におけるステップS80以降のサブルーチンの説明に移る。
ここでは、ステップ番号として「ステップC」を用いて説明する。
〔セグメントLED編集処理〕
まず、上述のタイマ割込み処理におけるセグメントLED編集処理(ステップS80)の詳細について図81により説明する。
セグメントLED編集処理は一括表示装置35に設けられたセグメントLEDに関する処理を行うものであり、一括表示装置35は前述したように、普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示(特図保留表示、普図保留表示)や、遊技状態の表示を行うようになっている。
これらの表示は、例えばLEDを発光源とする複数の表示器(例えば、1個のランプや7セグメント表示器)によって行われる構成である。より具体的には、例えば特図1保留表示器、特図2保留表示器、普図保留表示器、第1遊技状態表示部、第2遊技状態表示部、エラー表示部、ラウンド表示部などの機能を有するセグメントLEDで構成され、それらの駆動に関する設定等を行うのがセグメントLED編集処理である。
【0420】
セグメントLED編集処理では、まず、点滅制御タイマを+1更新し(ステップC1)、出力オンタイミングであるか判定する(ステップC2)。この判定はタイマの特定ビットが1か否かで判断する。本例ではビット5を見ることで128msの点滅周期を作っている。
出力オンタイミング である場合(ステップC2;Y)は、普図保留数表示テーブル1を設定し(ステップC3)、ステップC5に進む。出力オンタイミングでない場合(ステップC2;N)は、普図保留数表示テーブル2を設定し(ステップC4)、ステップC5に進む。
なお、保留数が0〜2なら普図保留数表示テーブルがどちらのテーブルでも表示データは同じになる。
【0421】
ステップC5では、設定された普図保留数表示テーブル1又は2に基づいて、普図保留数に対応する表示データを取得し、セグメント領域にセーブし(ステップC5)、出力オンタイミング であるか判定する(ステップC6)。出力オンタイミングである場合(ステップC6;Y)は、特図1保留数表示テーブル1を設定し(ステップC7)、ステップC9に進む。出力オンタイミングでない場合(ステップC6;N)は、特図1保留数表示テーブル2を設定し(ステップC8)、ステップC9に進む。
なお、所定のセグメント領域に表示データをセーブすることにより、一括表示装置35の対応するLEDが点灯又は消灯する。
【0422】
ステップC9では、設定された特図1保留数表示テーブル1又は2に基づいて、特図1保留数に対応する表示データを取得し、セグメント領域にセーブし(ステップC9)、出力オンタイミングであるか判定する(ステップC10)。出力オンタイミング である場合(ステップC10;Y)は、特図2保留数表示テーブル1を設定し(ステップC11)、ステップC13に進む。出力オンタイミングでない場合(ステップC10;N)は、特図2保留数表示テーブル2を設定し(ステップC12)、ステップC13に進む。
【0423】
ステップC13では、設定された特図2保留数表示テーブル1又は2に基づいて、特図2保留数に対応する表示データを取得し、セグメント領域にセーブし(ステップC13)、ラウンド表示テーブルを設定し(ステップC14)、このテーブルよりラウンド表示LEDポインタに対応する表示データを取得し、セグメント領域にセーブする(ステップC15)。
次に、遊技状態表示テーブル1を設定し(ステップC16)、このテーブルから遊技状態表示番号に対応する表示データを取得し、セグメント領域にセーブする(ステップC17)。なお、遊技状態表示では、特図時短中(普電サポート中)か否かを報知する。例えば、LED1個で行い、消灯で通常中を表し、点灯で特図時短中(普電サポート中)を表す。
次いで、遊技状態表示テーブル2を設定し(ステップC18)、遊技状態表示番号2に対応する表示データを取得し、セグメント領域にセーブし(ステップC19)、セグメントLED編集処理を終了する。なお、遊技状態表示2では、右打ちをする遊技状態か否かを報知する。例えば、LED1個で行い、消灯で通常打ち(左打ち)を表し、点灯で右打ちを表す。本例の場合、既述したように、右打ち期間は、大当り中、小当り中、普電サポート中である。
【0424】
〔磁石不正監視処理〕
次に、上述のタイマ割込み処理における磁石不正監視処理(ステップS81)の詳細について図82により説明する。
磁石不正監視処理は、磁気センサ126からの検出信号をチェックして異常がないか判定して不正報知の開始や終了の設定等を行うものである。
磁石不正監視処理では、まず、磁気センサ126から出力されて第2入力ポート161(入力ポート2)に取り込まれる検出信号の状態から、磁気センサ126がオン、すなわち異常な磁気を検出した状態であるかを判定する(ステップC21)。
磁気センサ126がオンである場合(ステップC21;YES)、すなわち異常な磁気を検出した場合は、異常な磁気の検出期間を計時する磁石不正監視タイマを+1更新して(ステップC22)、当該タイマがタイムアップしたかを判定する(ステップC23)。
【0425】
磁石不正監視タイマがタイムアップした場合(ステップC23;YES)、すなわち異常な磁気を一定期間継続して検出した場合は、磁石不正監視タイマをクリアし(ステップC24)、磁石不正報知タイマ初期値(例えば、60000ms)を磁石不正報知タイマ領域にセーブする(ステップC25)。そして、磁石不正報知のコマンドを準備し(ステップC26)、磁石不正フラグとして磁石不正発生フラグを準備して(ステップC27)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップC33)。すなわち、磁気センサ126が一定期間(例えば、8回の割込み分の期間、即ち、割込み周期4ms×8=32ms)連続してオンであった場合に異常が発生していると判定するようにしている。
【0426】
一方、磁気センサ126がオンでない場合(ステップC21;NO)、すなわち異常な磁気を検出していない場合は、磁石不正監視タイマをクリアし(ステップC28)、磁石不正の報知時間を規定する磁石不正報知タイマが0でなければ−1更新する(ステップC29)。なお、磁石不正報知タイマの最小値は0に設定されている。次いで、磁石不正報知タイマの値が0であるかを判定する(ステップC30)。なお、磁石不正監視タイマがタイムアップしていない場合(ステップC23;NO)もステップC29の処理に移行する。
【0427】
そして、磁石不正報知タイマの値が0でない場合(ステップC30;NO)、すなわちタイムアップしていない場合は、磁石不正監視処理を終了する。
また、磁石不正報知タイマの値が0である場合(ステップC30;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、磁石不正報知終了のコマンドを準備する(ステップC31)。さらに、磁石不正フラグとして磁石不正解除フラグを準備して(ステップC32)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップC33)。
【0428】
そして、準備した磁石不正フラグが磁石不正フラグ領域の値と一致する場合(ステップC33;YES)は、演出制御装置300に当該状態についてのコマンド送信済みであるため、磁石不正監視処理を終了する。また、値が一致しない場合(ステップC33;NO)は、準備した磁石不正フラグを磁石不正フラグ領域にセーブし(ステップC34)、演出制御装置300に当該状態についてのコマンド送信するために演出コマンド設定処理を行い(ステップC35)、磁石不正監視処理を終了する。
ここで、図82において矢印は磁石不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC21、ステップC28、ステップC29、ステップC30、ステップC31、ステップC32、ステップC33、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
【0429】
〔盤電波不正監視処理〕
次に、上述のタイマ割込み処理における盤電波不正監視処理(ステップS82)の詳細について図83により説明する。
盤電波不正監視処理は、盤電波センサ127からの検出信号に基づき異常の有無を判定し不正報知の開始や終了の設定等を行うものである。
電波不正監視処理では、まず、盤電波センサ127から出力されて近接I/F163を経由して第2入力ポート161(入力ポート2)に取り込まれる検出信号の状態から、盤電波センサ127がオン、すなわち異常な電波を検出した状態であるかを判定する(ステップC41)。電波センサがオンである場合(ステップC41;YES)、すなわち異常な電波を検出した場合は、電波不正報知タイマ初期値(例えば、60000ms)を電波不正報知タイマ領域にセーブする(ステップC42)。
【0430】
そして、電波不正報知のコマンドを準備し(ステップC43)、電波不正フラグとして電波不正発生フラグを準備して(ステップC44)、準備した電波不正フラグが電波不正フラグ領域の値と一致するかを判定する(ステップC49)。すなわち、電波不正の場合は磁石不正の場合と違い、異常な電波を検出した時点で異常が発生していると判定するようにしている。
【0431】
一方、電波センサがオンでない場合(ステップC41;NO)、すなわち異常な電波を検出していない場合は、電波不正の報知時間を規定する電波不正報知タイマが0でなければ−1更新する(ステップC45)。なお、電波不正報知タイマの最小値は0に設定されている。そして、電波不正報知タイマの値が0であるかを判定する(ステップC46)。
電波不正報知タイマの値が0でない場合(ステップC46;NO)、すなわちタイムアップしていない場合は、電波不正監視処理を終了する。また、電波不正報知タイマの値が0である場合(ステップC46;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、電波不正報知終了のコマンドを準備し(ステップC47)、電波不正フラグとして電波不正解除フラグを準備して(ステップC48)、準備した電波不正フラグが電波不正フラグ領域の値と一致するかを判定する(ステップC49)。
【0432】
そして、準備した電波不正フラグが電波不正フラグ領域の値と一致する場合(ステップC49;YES)は、演出制御装置300に当該状態についてのコマンド送信済みであるため、盤電波不正監視処理を終了する。また、値が一致しない場合(ステップC49;NO)は、準備した電波不正フラグを盤電波不正フラグ領域にセーブし(ステップC50)、演出制御装置300に当該状態についてのコマンド送信するために演出コマンド設定処理を行い(ステップC51)、盤電波不正監視処理を終了する。
ここで、図83において矢印は電波不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC41、ステップC45、ステップC46、ステップC47、ステップC48、ステップC49、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
【0433】
〔外部情報編集処理〕
次に、上述のタイマ割込み処理における外部情報編集処理(ステップS83)の詳細について図84図85により説明する。
外部情報編集処理では、払出コマンド送信処理(ステップS74)、入賞口スイッチ/状態監視処理(ステップS77)、磁石不正監視処理(ステップS81)及び盤電波不正監視処理(ステップS82)での監視結果に基づいて、情報収集端末や遊技場内部管理装置等の外部装置や試射試験装置に出力する情報を作成して出力バッファにセットする処理等を行う。
【0434】
図84に示すように、外部情報編集処理では、まず、ステップC61でガラス枠開放エラー発生中か否かを判別する。この処理では、直接にガラス枠開放検出スイッチ211の信号に基づいてガラス枠5(扉)の開放を監視するのではなく、図20の「遊技機状態チェック処理」での監視結果に基づいた判定を行う。すなわち、図20の「遊技機状態チェック処理」でエラーフラグ(エラー発生フラグ)が立っているか否かに基づいてガラス枠開放エラー発生中かを判断する。
ガラス枠開放エラー発生中でなければ、ステップC62に進んで前面枠(本体枠)開放エラー発生中か否かを判別する。この処理でも、図20の「遊技機状態チェック処理」での監視結果に基づいた判定を行う。
【0435】
そして、前面枠(本体枠)開放エラー発生中であれば、ステップC65に進む。また、ステップC61でガラス枠開放エラー発生中である場合もステップC65に進む。
すなわち、ガラス枠開放エラー発生中又は前面枠開放エラー発生中であれば、ステップC65に進み、ステップC65において扉・枠開放信号のオンデータを外部情報出力データ領域にセーブし、次いでステップC66で遊技機エラー状態信号のオンデータを外部情報出力データ領域にセーブし、ステップC67に進む。
一方、前面枠(本体枠)開放エラー発生中でない場合(ステップC62;N)は、ステップC63に進み、ステップC63において扉・枠開放信号のオフデータを外部情報出力データ領域にセーブし、ステップC64でセキュリティ信号のオフデータを外部情報出力データ領域にセーブし、ステップC67に進む。
【0436】
ステップC67では、セキュリティ信号制御タイマが0でなければ「−1」更新し(ステップC67)、次いで、セキュリティ信号制御タイマの値が0となったかを判定する(ステップC68)。なお、セキュリティ信号制御タイマの最小値は0に設定されている。セキュリティ信号制御タイマは、メイン処理のステップS29にてタイマ初期値(例えば256ms)がセットされるタイマであり、RAMクリアによる電源投入を行った時にセキュリティ信号を最短でも所定時間(例えば256ms)はオン出力するためのものである。
【0437】
ステップC68でセキュリティ信号制御タイマの値が0でない場合、すなわちタイムアップしていない場合は、ステップC69でセキュリティ信号のオンデータを外部情報出力データ領域にセーブした後、ステップC70以降の処理に進む。
一方、ステップC68でセキュリティ信号制御タイマが既にタイムアップ又は「−1」更新後にタイムアップしていれば、ステップC70以降に進む。
【0438】
ステップC70に進むと、ステップC70、71、72、73、74で、磁石不正発生中か、盤電波不正発生中か、枠電波不正発生中か、普電不正発生中か、大入賞口不正発生中かをそれぞれ判別する。これらの処理では、図20の「遊技機状態チェック処理」での監視結果等に基づいた判定を行う。すなわち、図20の「遊技機状態チェック処理」でエラーフラグ(エラー発生フラグ)が立っているか否かに基づいて上記の各不正発生中かを判断する。或いは、図82図83の不正監視処理でセーブされる不正フラグ領域(磁石不正フラグ領域、盤電波不正フラグ領域)のフラグに基づいて、上記不正発生中かを判定してもよい。
【0439】
そして何れか1つ以上の不正が発生していれば、ステップC78に進んでセキュリティ信号のオンデータを外部情報出力データ領域にセーブし、さらにステップC79で遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして、ステップC80に進む。これにより、不正や遊技機エラー状態が外部に出力されることになる。
そして本例の場合セキュリティ信号は、前記ステップC69に加え上記ステップC78でもオンするため、上記セキュリティ信号制御タイマがタイムアップし、かつ、何れのエラーも発生していない状態にならない限りオフしない。つまり、セキュリティ信号は、上記セキュリティ信号制御タイマがタイムアップしていて、何れのエラーも発生していない状態になると、前記ステップC64の処理が効いてオフする。
【0440】
一方、ステップC70でNO、ステップC71でNO、ステップC72でNO、ステップC73でNO、ステップC74でNOのとき、すなわち、ステップC70〜C74で全てNOのときは、ステップC74からステップC75に分岐して遊技機エラー状態信号のオフデータを試験信号出力データ領域にセーブした後、ステップC80に進む。
【0441】
ステップC80に進むと、払出予定の賞球数に関する情報を設定するメイン賞球信号編集処理(ステップC80)を行い、次いで始動口の入賞信号を編集する始動口信号編集処理(ステップC81)を行う。続いて、図柄確定回数制御タイマが0でなければ「−1」更新し(ステップC82)、次いで、図柄確定回数制御タイマの値が0となったか(タイムアップしたか)を判定する(ステップC83)。図柄確定回数制御タイマは、図柄確定回数信号のオン時間を制御するためのタイマである。
図柄確定回数制御タイマがタイマアップしていなければ(ステップC83;NO)、ステップC85に進んで、図柄確定回数信号のオンデータを外部情報出力データ領域にセーブしてリターンする。そして、ルーチンを繰り返し、ステップC83で図柄確定回数制御タイマがタイムアップした(ステップC83;YES)と判定すると、ステップC84に進み、図柄確定回数信号のオフデータを外部情報出力データ領域にセーブして外部情報編集処理を終了する。
このようにして、特図の図柄が変動を終了する度に図柄確定回数信号が外部情報として出力されることになる。
【0442】
〔メイン賞球信号編集処理〕
次に、上述の外部情報編集処理におけるメイン賞球信号編集処理(ステップC80)の詳細について図86により説明する。
メイン賞球信号編集処理は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に生成されるメイン賞球信号を外部装置へ出力する処理である。
メイン賞球信号編集処理では、最初に、メイン賞球信号出力制御タイマが0でなければ−1更新する(ステップC101)。なお、メイン賞球信号出力制御タイマの最小値は0に設定されている。そして、メイン賞球信号出力制御タイマの値が0であるかを判定する(ステップC102)。メイン賞球信号出力制御タイマの値が0である場合(ステップC102;YES)は、前述のステップS160で更新されるメイン賞球信号出力回数が0であるかを判定する(ステップC103)。
【0443】
そして、メイン賞球信号出力回数が0でない場合(ステップC103;NO)は、メイン賞球信号出力回数を−1更新し(ステップC104)、メイン賞球信号出力制御タイマ領域にメイン賞球信号出力制御タイマ初期値をセーブする(ステップC105)。このメイン賞球信号出力制御タイマ初期値は、メイン賞球信号のオン状態(例えば、ハイレベル)の時間(例えば、128ms)とオフ状態(例えば、ロウレベル)の時間(例えば、64ms)を加算した時間(例えば、192ms)となっている。その後、メイン賞球信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップC107)、メイン賞球信号編集処理を終了する。
また、メイン賞球信号出力回数が0である場合(ステップC103;YES)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
【0444】
一方、メイン賞球信号出力制御タイマの値が0でない場合(ステップC102;NO)は、メイン賞球信号出力制御タイマが出力オン区間中であるかを判定する(ステップC106)。なお、メイン賞球信号出力制御タイマが出力オン区間中であるとは、メイン賞球信号出力制御タイマの値が所定時間(例えば64ms)以上であることである。
メイン賞球信号出力制御タイマが出力オン区間中である場合(ステップC106;YES)は、処理をステップC107に移行する。また、メイン賞球信号出力制御タイマが出力オン区間中でない場合(ステップC106;NO)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
このように、遊技制御装置100からは賞球の払出予定数が10個毎に1パルスのメイン賞球信号が外部装置(例えば、遊技店の管理装置)へ出力される。なお、払出制御装置200からは10個払出毎に生成される1パルスの賞球信号が外部装置(例えば、管理装置)へ出力されることになる。
すなわち、遊技制御装置100(主基板)で10個払出予定毎(払出コマンドを送信する毎)にメイン賞球数信号出力回数を+1更新し(払出コマンド送信処理内のサブルーチン)、その後、更新(設定)されている出力回数分だけメイン賞球数信号が出力される。そして、上記のように10個払出予定毎に出力されるメイン賞球信号に対し、払出制御装置200(払出基板)からは実際に10個払出が行われたら賞球信号が送信されることにより、予定と結果の整合を取ることで、不正な払出に対応することができる。
【0445】
また、メイン賞球信号から、いつ発生した入賞であるかが外部装置としての管理装置等で判断できるようになり、ホール営業における方針の助けにもなる。
具体的には、大当り中に発生した入賞か、通常遊技中に発生した入賞かが判断できる。例えば、大当り中ならたくさん入賞があってもおかしくないが、通常遊技中にたくさん入賞があるようであれば、釘調整が甘すぎると判断できるなどの効果があり、これはホール営業における方針の助けになる。
一方、メイン賞球信号が外部装置に出力されず、払い出し完了時に出力される払出制御装置200からの賞球信号だけしかない場合であれば、大当り中に球切れになったりして払い出しが行われず、補給が遅れて払い出しされたのが大当り終了後となったとき等に、いつ発生した入賞なのかが判断できないことになる。
そのため、補給が遅れて払い出しされたのが大当り終了後となった場合には、通常遊技中に大量の入賞(払い出し)があったことになってしまい、営業データに不備等が出てしまう可能性がある。
これに対して本実施例では、メイン賞球信号と払出制御装置200からの賞球信号の双方を併用しており、メイン賞球信号は入賞してすぐに出力されるので、上記のような不具合がなくなる。
【0446】
また、上記メイン賞球信号編集処理により生成されるメイン賞球信号のON・OFFパターンは、例えば図86下側に示すタイミングチャートのようになる。即ち、オン状態(例えば、ハイレベル)の時間(例えば、128ms)とオフ状態(例えば、ロウレベル)の時間(例えば、64ms)とからなるパターンとなる。ここで、出力制御タイマの値は、タイマ割込み周期である4msを1単位として表しているため、「48」が192msに相当し、「16」が64msに相当する。
後述する始動口信号編集処理により生成される始動口信号も、上記メイン賞球信号と同じパターンとなる。
【0447】
〔始動口信号編集処理〕
次に、上述の外部情報編集処理における始動口信号編集処理(ステップC81)の詳細について図87により説明する。
始動口信号編集処理は、第1始動口スイッチ120や第2始動口スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
始動口信号編集処理では、まず、始動口信号出力制御タイマが0でなければ−1更新する(ステップC111)。なお、始動口信号出力制御タイマの最小値は0に設定されている。そして、始動口信号出力制御タイマの値が0であるかを判定する(ステップC112)。始動口信号出力制御タイマの値が0である場合(ステップC112;YES)は、前述のステップS382で更新される始動口信号出力回数が0であるかを判定する(ステップC113)。
【0448】
そして、始動口信号出力回数が0でない場合(ステップC113;NO)は、始動口信号出力回数を−1更新し(ステップC114)、始動口信号出力制御タイマ領域に始動口信号出力制御タイマ初期値をセーブする(ステップC115)。この始動口信号出力制御タイマ初期値は、始動口信号のオン状態(例えば、ハイレベル)の時間(例えば、128ms)とオフ状態(例えば、ロウレベル)の時間(例えば、64ms)を加算した時間(例えば、192ms)となっている。その後、始動口信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップC117)、始動口信号編集処理を終了する。
また、始動口信号出力回数が0である場合(ステップC113;YES)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC118)、始動口信号編集処理を終了する。
【0449】
一方、始動口信号出力制御タイマの値が0でない場合(ステップC112;NO)は、始動口信号出力制御タイマが出力オン区間中であるかを判定する(ステップC116)。なお、始動口信号出力制御タイマが出力オン区間中であるとは、始動口信号出力制御タイマの値が所定時間(例えば64ms)以上であることである。始動口信号出力制御タイマが出力オン区間中である場合(ステップC116;YES)は、処理をステップC117に移行する。また、始動口信号出力制御タイマが出力オン区間中でない場合(ステップC116;NO)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC118)、始動口信号編集処理を終了する。
【0450】
次に、演出制御装置300の制御について、図88乃至図129により説明する。
ここでは、ステップ番号として「ステップD」を用いて説明する。
なお、演出制御装置300が制御する特図は、表示装置41に表示される演出用の特図であり、以下の演出制御装置300の制御処理の説明における特図は、この演出用の特図(本特図ではない飾り図柄)を意味する。
【0451】
また、一般に「キャラクタ」とは、性質や性格、或いは性質や性格を有する登場人物や動物等を意味し、コンピュータ用語としては文字を意味する場合もある。しかし、以下の演出制御装置300の説明では、特にVDPを使った画像表示制御の説明においては、一連のムービー、背景画像、図柄(特図の飾り図柄や第4図柄)の画像、登場人物の画像等のまとまりのある静止画又は動画をキャラクタと称し、またそのような画像データ(静止画又は動画のデータ)をキャラクタのデータ(或いはキャラクタデータ)と称する場合がある。
また、以下の演出制御装置300の説明において、オブジェクトとは、表示制御の場合、まとまりのある表示制御の対象を意味し、表示要素(背景画像、特図の飾り図柄の画像、予告キャラクタの画像、保留表示の画像など、まとまりのある画像)に相当する。例えば本例の場合、特図の飾り図柄には、左図柄、右図柄、中図柄という変動表示領域(リール)の違いでの区別があり、さらにこれら区別のそれぞれに、現図柄、次図柄、前図柄というスクロール方向の表示位置が異なる区別がある。即ち、例えば左図柄については、左図柄の現図柄、左図柄の次図柄、左図柄の前図柄があり、細かく見れば、これらそれぞれが一つのオブジェクトである。但し、制御処理上においては、例えば現図柄、次図柄、前図柄を含む左図柄全体を一つの表示要素として分類する場合もある。
【0452】
また本実施例では、表示装置41等での演出を行う場合、シナリオテ−ブル(シナリオ用データテーブルともいう)を用いている。このシナリオテ−ブルでは特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されている。
上記のモーションテーブルには、ブロック化(パーツ化)された各演出(主に演出表示)のモーションのデータ(すなわち、表示する画像データやその表示位置等を指定するデータ)があり、モーションはブロック化された演出動作を意味している。即ち、モーションテーブルとは、ブロック化された各演出を実行するための制御テーブルであり、モーション制御テーブルともいう。このモーションテーブルのデータは、PC(パーソナルコンピュータ)で実行できる市販のアプリケーションソフトによってマウス等を使用したグラフィカルな入力操作によって容易に制作できるものであり、ブロック化された演出毎に演出制御装置300のPROM321に予め記憶されている。
【0453】
また本実施例では、表示装置41に表示する画面の描画制御等において、シナリオレイヤーという概念が使用される。シナリオレイヤーとは、演出表示等を複数の層に分けて制御する方式における各層を意味する。本例では、各シナリオレイヤー毎に必要に応じてシナリオテーブルが設定され、各シナリオレイヤーの演出を合成することで、演出全体が実現される。
また、「シナリオ管理領域」とは、シナリオ用タイマの値を記憶する領域(シナリオ用タイマ領域)と、シナリオテーブルのアドレスを記憶する領域(シナリオ用データテーブル領域)などを含む構造の記憶領域である。そして、同一構造のシナリオ管理領域が各シナリオレイヤーに対応してシナリオレイヤー分存在し、本例ではシナリオレイヤーが8個あるので、このシナリオ管理領域も8個(シナリオ管理領域0〜7)存在する。
また、「シナリオ管理領域のアドレス領域」とは、シナリオ管理領域の先頭アドレスを格納するための記憶領域を意味する。
【0454】
〔メイン処理〕
まず、図88により、演出制御装置300のメイン処理を説明する。
このメイン処理は、パチンコ機1の電源供給が開始された時点で開始する。
パチンコ機1の電源供給が開始すると、まずステップD1で割込みを禁止し、次にステップD2でCPU311の初期設定を行い、次にステップD3でVDP312の初期設定を行い、次にステップD4で割込みを許可する。次いで、ステップD13、D15、D19を順次実行した後、ステップD20に進む。
【0455】
ステップD13では、表示用データ生成を許可する。これは、VDP312内の表示回路(図示省略)がVRAM329へアクセスを行い、表示データを生成するのを許可する処理である。
ステップD15では、乱数シードを設定する。これは、例えばsrand関数を用いて擬似乱数の発生系列を設定する処理である。ここで、srand関数に与える引数としては、0(ゼロ)などの固定値を使用してもよいし、遊技機毎に異なるようにCPU等のID値などを基に作成した値を使用してもよい。
ステップD19では、演出制御装置300のRWM(例えばRAM326)における初期化すべき領域(例えば、演出用フラグ領域(当該演出制御装置300の制御処理において後述する各種のフラグとして使う記憶領域))に電源投入時の初期値をセーブする。
【0456】
次に、ステップD20に進むと、ステップD20乃至D32を順次実行する。
ステップD20では、WDT(ウォッチドッグ・タイマ)をクリアする。
ステップD21では、演出ボタン入力処理を実行する。これは、演出ボタン9(例えば、プッシュボタンとセレクトボタンからなる構成でもよい)やタッチパネル9aが有効時に操作された場合の編集を行う処理である。なお、演出ボタンは高速でオンオフしないので、ボタンの入力を感知する処理はこの処理内(即ち、後述するメインループ処理内)で行ってもよいし、図示していない短周期のタイマ割込み内で行ってもよい。
【0457】
ステップD22では、LEDや表示装置41の輝度、音量などの変更可能範囲の設定や、遊技者によるLEDや表示装置41の輝度、音量の変更などの操作を受け付けるホール・遊技者設定モード処理を行う。
ステップD23では、乱数更新処理を実行する。これは、例えばrand関数を用いてメイン処理の制御周期毎に最低1回は擬似乱数の更新を行う処理である。rand関数は再計算が行われる度に指定の発生系列に基づいて乱数を発生するので、関数を実行するだけでよい。なお、主基板(遊技制御装置100)のように+1ずつ更新する乱数を使ってもよい。
ステップD24では、受信コマンドチェック処理(後述する)を実行する。
ステップD28では、シナリオ設定処理を実行する。これは、受信した遊技制御装置100からのコマンドに基づくシナリオの解析などを行う処理である(詳細は後述する)。
ステップD30では、モーション制御処理を実行する。これはステップD28で解析等されたシナリオを実行するための処理である(詳細は後述する)。
【0458】
ステップD31では、演出表示編集処理を実行する。これは、VDP312に表示装置41での描画内容を指示するための各種コマンドとそのパラメータの設定を行う処理であり、詳細は後述する。なお、この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドは後述するステップD34(画面描画を指示)でVDP312に順次送信される。
ステップD32では、描画コマンド準備終了設定を実行し、ステップD33に進む。ステップD32の処理は、ステップD31で設定されるVDP312への全てのコマンドの準備が終了したことを設定する処理である。
【0459】
ステップD33に進むと、フレーム切替タイミングであるか判定し、フレーム切替タイミングであればステップD34乃至D38を順次実行し、フレーム切替タイミングでなければ、このステップD33を繰り返す。ここで、フレーム切替タイミングは、Vブランク割込み(Vシンク割込みともいう)の周期(例えば1/60秒)を基に作成された処理周期(例えば1/30秒≒33.333ms)に相当する時間的間隔で到来するタイミングである。なお、Vブランク割込みは、VDP312によって描画のための画面全体の1回の走査が終了する度に発生する。このVブランク割込みの発生周期は、前述したように、例えば1/60秒である。本実施例の場合、同じ描画が2回繰り返されてVブランク割込みが2回発生するとフレーム切替が行われ、フレーム切替タイミングの周期は、Vブランク割込みの周期(例えば1/60秒)の2倍(例えば1/30秒≒33.33ms)になる。但し、この態様に限られず、フレーム切替タイミングは適宜任意に変更可能であり、例えば、1/30秒以上の周期でフレーム切替(画像の更新)を行ってもよいし、1/30秒以下の周期でフレーム切替を行ってもよい。
【0460】
このステップD33の処理によって、これより後の処理(ステップD34乃至D38、及びその後のステップD20乃至D32)は、このフレーム切替タイミングで上記処理周期毎に実行される。なお、演出内容と同期する必要のある時間管理は、このフレーム単位(即ち、上記処理周期単位)で行われる。上記処理周期が、1/30秒の場合、例えば3フレームでは100msになる。このことは、主基板(遊技制御装置)がタイマ割込み周期の4ms単位で時間値管理しているのと同様である。
【0461】
次いで、ステップD34では、VDP312に画面描画を指示する。
ステップD35では、スピーカ(上スピーカ12a、下スピーカ12b)からの音声の音量に関する処理を行うサウンド制御処理を実行する。
ステップD36では、盤装飾装置42や枠装飾装置43の各種LED等を制御するための装飾制御処理を実行する。
ステップD37では、各種モータやSOL(ソレノイド)を含む可動体を制御するための可動体制御処理を実行する。
ステップD38では、発射情報制御処理を実行する。発射情報制御処理では、発射状態フラグに基づいて、発射関連情報(後述する)を設定するとともに、特図回転状態(所定金額分(即ち所定貸球数分)の遊技あたりの特図変動回数)に応じた演出のモード補正を行う。ここで、発射状態フラグは、遊技者が遊技球を発射中であるか否かを示す情報であり、後述する発射タッチ情報設定処理(ステップD233)において、遊技制御装置100から受信した発射タッチ情報を知らせるコマンドに基づいて発射状態フラグ領域にセーブされる情報である。
このステップD38を実行した後は、ステップD20に戻り、ステップD20に進んだ場合と同じ処理を繰り返す。即ち、ステップD20乃至ステップD38は、演出制御装置300の起動後に上記処理周期で繰り返し実行されるループ処理(場合によりメインループ処理という)を構成している。
【0462】
なお、ステップD35乃至D37の制御処理は、画面の演出に合わせるため、動作の切り替えが処理周期単位で実行されるこれらのステップ内で行っているが、これら制御処理で生成又は設定された信号やデータ(特に各種LEDやモータを駆動制御する信号等)を実際にポートに出力する処理は、図示していない短周期のタイマ割込み内で行われる。ただし、各種デバイスの制御に特化したICを使用している場合は、シリアル通信等で指示するだけで、タイマ割込みで信号等の出力を行わない場合もある。
【0463】
〔受信コマンドチェック処理〕
次に、上述のメイン処理における受信コマンドチェック処理(ステップD24)の詳細について図89により説明する。なお、主基板からのコマンドは、MODEのデータ(1バイト)とACTIONのデータ(1バイト)とを含む構成となっており、これらが順次送信される。以下では、コマンドを構成するこのようなデータを、コマンドのデータ或いはコマンドデータという。
【0464】
また、主基板からのコマンド受信の処理は、図示省略した「コマンド受信割込み処理」によって行われる。即ち、本例のシリアル通信では、ハード的に(CPU自身の機能により)自動で送受信が行われ、コマンドを受信完了すると割込み(コマンド受信割込み)が発生して知らせてくれるので、あとはシリアル受信バッファから取り出すだけでよいが、上記「コマンド受信割込み処理」では、コマンド受信割込みがある毎に、シリアル受信バッファからコマンドをロードし、ロードしたコマンドデータに異常が無いかチェックした上で、当該コマンドデータ(MODEとACTIONのデータ)をコマンドバッファに格納し、格納した分だけコマンド受信カウンタの値を1だけ増やす更新を行う。なお、制御処理の説明において、単に「格納する」というときは、後の制御処理に使用するために所定の記憶領域に読出し可能に記憶保存することを意味する(以下同様)。また、コマンドバッファは、例えばリングバッファである。このコマンドバッファは、例えばCPU311のRAM311a(或いはRAM326、以下同様)内の記憶領域によって構成される。コマンドバッファの容量は、システム制御周期(前述の処理周期;例えば1/30秒)で主基板から送信される可能性のあるコマンド数以上になっていればよい。
【0465】
この受信コマンドチェック処理のルーチンが開始されると、まずステップD151でコマンド受信カウンタの値をコマンド受信数としてロードし、次にステップD152でコマンド受信数がゼロでないか判定し、ゼロでないならばステップD153乃至D155を順次実行した後にステップD156に進み、ゼロならばリターンする。なお本願では、上記ステップD151のように、制御処理においてデータを「ロードする」とは、RAM(本例の演出制御装置300ではRAM326又はRAM311a)からデータを取り出すことを意味する。
また、コマンド受信カウンタは、フレーム切替タイミング毎に実行される本ルーチンの次のステップD153で減算され基本的には0クリアされるので、結果的に1フレーム(1/30秒間)の間(前述の処理周期の1周期分の時間)に何個のコマンドを受信したかをカウントするものであり、RWM(RAM326又はRAM311a)のコマンド受信カウンタ領域により構成される。
【0466】
ステップD153では、コマンド受信カウンタ領域の内容(即ち、コマンド受信カウンタの値)をコマンド受信数分だけ減算する。
なお、A:コマンド受信カウンタの値、B:コマンド受信数とすると、ステップD151の実行直後では「A=B」である。そして、ステップD153の実行直後では「A=A−B=0」となるのが通常の動きだが、本例の態様では、演出制御装置は遊技制御装置(主基板)からのコマンド受信割込みを割込み禁止にせず最優先にしているので、ステップD151の処理からステップD153の処理の間にAの値が増えている可能性がある。よって、ステップD153の処理を「A←0」(即ち、コマンド受信カウンタの値をゼロとする処理)としてしまうとコマンドのカウントがずれてしまうので、ステップD153では「A−B」という減算処理を行っている。但し、本実施例のように主基板からのコマンドの送受信にシリアル通信を使用した場合は、割込み禁止にしてステップD151の処理からステップD153の処理の間にAの値が増えることがないようにすることによって、ステップD153の処理内容を「A←0」としてもよい。
【0467】
ステップD154では、受信コマンドバッファ(コマンドバッファに相当、以下単にコマンドバッファという場合もある)の内容(即ち、コマンドバッファの読出用ポインタに対応するアドレスに記憶されているコマンドデータ)をコマンド領域(場合により、コマンド格納領域という)にコピーする。コマンド領域は、いわゆるFIFO形式(先入れ先出し形式)のバッファを構成する例えばRAM326又はRAM311a内の記憶領域である。
ステップD155では、コマンドバッファのデータを読み出したので、コマンドバッファの読出用ポインタであるコマンド読出インデックスの値を例えば0乃至31の範囲で1だけ増やす更新を行う。なお、ここでの0乃至31の範囲は、コマンドバッファの容量(例えば、32)に対応している。
【0468】
ステップD156に進むと、コマンド受信数分のコマンドをコピー完了したか否か(即ち、コマンド受信数分だけステップD154及びD155を繰り返し実行したか否か)を判定し、完了していなければステップD154に戻ってステップD154から処理を繰り返し、完了していればステップD157に進む。
【0469】
ステップD157に進むと、コマンド領域の内容(コマンド領域の未だ読み出されていないデータのうちで一番先に格納されたデータ、即ち、次に読み出すべきデータ)をロードし(即ち、読み出し)、このロードしたコマンド(以下、今回のコマンドという)のデータについて、次のステップD158で受信コマンド解析処理(後述する)を実行し、その後ステップD159に進む。
ステップD159に進むと、コマンド領域のアドレス(次に読み出すべきデータのアドレス)を更新し、ステップD160に進む。
ステップD160では、コマンド受信数分のコマンドを解析完了したか否か(即ち、コマンド受信数分だけステップD157乃至D159を繰り返し実行したか否か)を判定し、完了していなければステップD157に戻ってステップD157から処理を繰り返し、完了していればリターンする。
【0470】
〔受信コマンド解析処理〕
次に、上述の受信コマンドチェック処理における受信コマンド解析処理(ステップD158)の詳細について図90により説明する。
このルーチンが開始されると、まずステップD171で、前記ステップD157においてロードした今回のコマンドのデータのうちの上位バイトをMODEに、下位バイトをACTにそれぞれ分離して記憶し、その後ステップD172に進む。なお、特図の変動パターンを指令する変動系のコマンドの場合、MODEとして記憶される上位バイトのデータは前半変動パターンを指令し、ACTとして記憶される下位バイトのデータは後半変動パターンを指令するものである。
【0471】
ステップD172、D173では、ステップD171で分離されたMODEの値とACTの値がそれぞれ正常範囲か判定し、これらの値が一方だけでも正常範囲でなければリターンし、これらの値の両方が正常範囲であればステップD174に進む。MODEの値は定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD172の判定で正常範囲でないと判定される。
また、上記ステップD173における、ステップD171で分離されたACTの値が正常範囲か否かの判定は、例えば次のように行う。即ち、MODE毎に有効なACTの値は異なり、このACTの有効値の上限〜下限は所定のACTIONチェックテーブル(図示省略)に定義されており、ステップD173ではこの上限〜下限の範囲内に分離されたACTの値が収まっているかをチェックし、収まっていれば正常範囲と判定する(この時点では歯抜けチェックは出来ていない)。
【0472】
ステップD174に進むと、分離されたMODEの値に対する分離されたACTの値が正しい組み合わせか判定する。この判定は、例えば一致チェックテーブルを使って行う。一致チェックテーブルとは、MODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。そして、MODEの値に対応するこの一致チェックテーブルの中に、分離されたACTの値が有れば正しい組み合わせであると判定し、一致チェックテーブルの中に分離されたACTの値が無ければ正しい組み合わせでないと判定する。
このステップD174の処理では、MODEに対して正常なACTの組合せになっているか否かのチェック(歯抜けチェック含む)を実行している。1つのMODEに対し、有効なACTは複数あるがそれらの値が連続しているとは限らない(即ち、不連続に存在していない値、歯抜けになっている値がある)ので、コマンドが有効値であるかを比較確認している。そして、一致チェックテーブル中には有効値のみ定義されているので、それらの何れかと一致するかを1つ1つ比較確認している。
そして、このステップD174の判定結果がNOになる場合はACTの値が異常であるため、コマンド異常であるとしてステップD175以降を実行しないでリターンしてしまう。このステップD174の判定結果がYESになる場合には、ステップD175に進む。
【0473】
ステップD175では、MODEのデータが変動系コマンド範囲内にあるか判定し、この範囲内ならばステップD176で変動系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD177に進む。ここで、MODEのデータとは、ステップD171で分離されて記憶されたMODEのデータである(後述のステップD177等でも同様)。また、変動系コマンド(変動コマンド或いは変動パターンコマンドという場合もある)は、特図の変動パターンを指令するコマンドであり、この変動コマンドのデータがとり得る範囲が変動系コマンド範囲である。
ステップD177に進むと、MODEのデータが大当り系コマンド範囲内にあるか判定し、この範囲内ならばステップD178で大当り系コマンド処理(詳細省略する)を実行してリターンし、この範囲外ならばステップD179に進む。大当り系コマンドは、大当り中演出に関する動作(ファンファーレ画面やラウンド画面の表示など)を指令するコマンドであり、この大当り系コマンドのデータがとり得る範囲が大当り系コマンド範囲である。
【0474】
ステップD179に進むと、MODEのデータが図柄系コマンド範囲内にあるか判定し、この範囲内ならばステップD180で図柄系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD181に進む。図柄系コマンド(図柄コマンド、或いは飾り特図コマンドという場合もある)は、特図の図柄に関する情報(例えば、特図の停止図柄を何にするかなど)を指令するコマンドであり、この図柄コマンドのデータがとり得る範囲が図柄系コマンド範囲である。
ステップD181では、MODEのデータが単発系コマンド範囲内にあるか判定し、この範囲内ならばステップD182で単発系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD183に進む。なお、図柄コマンドと変動系コマンドのように組合せで意味をなすコマンドと違い、単独で成立するコマンドを単発系コマンドという。単発系コマンド(単発コマンドという場合もある)には、客待ちデモコマンド、保留数コマンド、図柄停止コマンド、確率情報系コマンド、エラー/不正系コマンド、機種指定コマンドなどがある。この単発コマンドのデータがとり得る範囲が単発系コマンド範囲である。
【0475】
ステップD183に進むと、MODEのデータが先読み演出のための先読み図柄系コマンド範囲内にあるか判定し、この範囲内ならばステップD184で先読み図柄系コマンド処理(詳細省略する)を実行してリターンし、この範囲外ならばステップD185に進む。
ステップD185に進むと、MODEのデータが先読み演出のための先読み変動系コマンド範囲内にあるか判定し、この範囲内ならばステップD186で先読み変動系コマンド処理(詳細省略する)を実行してリターンし、この範囲外ならば、受信コマンド解析処理を終了してリターンする。
【0476】
ここで、先読み演出(先読み予告、或いは先読み予告演出ともいう)とは、特図の変動表示ゲームが未実行の始動入賞記憶(始動入賞記憶の保留、或いは単に保留という)に対応する変動表示ゲームがその後実行された時に大当りになるか否か(或いはどんな変動パターンになるか)を、所定の信頼度で遊技者に事前報知すべく、始動入賞記憶の保留表示等を通常と異なる態様で行うなどの演出である。そして、先読み系コマンド(先読み変動系コマンド、及び先読み図柄系コマンド)は、先読み演出の対象となる始動入賞記憶の保留に対応する変動パターンや停止図柄を事前に知らせるコマンドであり、始動入賞時に遊技制御装置100から演出制御装置300に送信される。なお、先読みでない通常の変動系コマンドや図柄系コマンドは、変動表示開始時に遊技制御装置100から演出制御装置300に送信される。
【0477】
〔単発系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD176で実行される単発系コマンド処理の詳細について図91及び図92により説明する。
このルーチンが開始されると、まずステップD201で、MODEのデータ(前述のステップD171で分離された上位バイトのデータ、以下同様)が機種指定するもの(機種指定コマンドのデータ)であるか判定し、機種指定するものであるならばステップD202で機種設定処理(説明省略する)を実行した後にリターン(この単発系コマンド処理を終了)し、機種指定するものでない場合にはステップD203に進む。
【0478】
ステップD203に進むと、MODEのデータがRAM初期化(初期化スイッチ(RAMクリアスイッチ)をオンした状態での電源投入)を知らせるもの(RAM初期化のコマンドのデータ)であるか判定し、RAM初期化を知らせるものであるならばステップD204でRAM初期化設定処理を実行した後にリターンし、RAM初期化を指令するものでない場合にはステップD205に進む。なお、RAM初期化のコマンドは、遊技制御装置100がRWMクリアしたことを演出制御装置300に知らせるコマンド(電源投入コマンドということもある)のことであり、前述のステップS30で送信される。このRAM初期化のコマンドは、演出制御装置300に演出状態をクリアさせるのと、RWMクリア報知(RWMクリアされたことを例えば表示装置41に表示する動作)を行わせるために送られ、そのための処理が上記ステップD204のRAM初期化設定処理である。
【0479】
ステップD205に進むと、MODEのデータが停電復旧を知らせるもの(停電復旧時のコマンドのデータ)であるか判定し、停電復旧を知らせるものであるならばステップD206で停電復旧設定処理を実行した後にリターンし、停電復旧を指令するものでない場合にはステップD207に進む。ステップD206の停電復旧設定処理は、例えば「遊技再開しました」といったメッセージを表示装置41に表示したり、ランプ類を所定態様で点滅させたりして遊技者へ停電復旧を報知する等のための処理であり、そのためのシナリオデータ設定処理を含む。
なお、シナリオデータ設定処理は、詳細後述するが、準備されたシナリオレイヤー番号に対応するシナリオ管理用の記憶領域(「シナリオ管理領域のアドレス領域」及び「シナリオ管理領域」)に、これから実行しようとする演出用のシナリオ制御データを設定する処理である。また、シナリオ制御データとは、特定の演出の流れを制御するために、前述したシナリオ管理領域或いはシナリオ管理領域のアドレス領域に設定されるデータ(例えば、シナリオ管理領域に書き込むシナリオ用データテーブル(シナリオテーブル)のアドレスなど)を意味する。
【0480】
ステップD207に進むと、MODEのデータが客待ちデモを指令するもの(客待ちデモコマンドのデータ)であるか判定し、客待ちデモを指令するものであるならばステップD208、D210を順次実行後にリターンし、客待ちデモを指令するものでない場合にはステップD211に進む。なお、客待ちデモとは、客待ちデモ演出(又は客待ち演出ともいう)のことであり、表示装置41で行われる客待ちデモ表示を含む演出である。客待ちデモ演出では、表示装置41での表示に限られず、他の表示装置での表示やランプ類の点灯(点滅含む)、或いは音声の出力による演出が行われてもよい。
ステップD208では、客待ち演出を行うためのシナリオ制御データの設定などを行う客待ちデモ設定処理(詳細後述する)を実行する。
次にステップD210では、役物位置確認処理(説明省略)が実行され、その後リターンする。
【0481】
ステップD211に進むと、MODEのデータが特図1保留数の値を知らせるもの(特図1の保留数コマンドのデータ)であるか判定し、特図1保留数の値を知らせるものであるならばステップD212に進み、特図1保留数の値を知らせるものでない場合にはステップD215に進む。
ステップD212に進むと、MODEのデータに基づいて特図1の保留数(特図1の始動記憶の数)が1個増加したか判定し、増加していればステップD213で始動口入賞コマンド受信数を+1更新した後にステップD214に進み、増加していなければステップD213を実行しないでステップD214に進む。ステップD214では、特図1保留情報設定処理(説明省略する)を実行した後にリターンする。なお、始動口入賞コマンド受信数は、後述のステップD217及びステップD220でも+1更新されるため、始動入賞口(特図1始動口607、特図2始動口608、始動入賞口26a)の何れかに遊技球が入球した数(つまり、始動入賞の数)に相当し、ステップD38の発射情報制御処理で前記特図回転状態を決定するために使用される。
【0482】
ステップD215に進むと、MODEのデータが特図2保留数の値を知らせるもの(特図2の保留数コマンドのデータ)であるか判定し、特図2保留数の値を知らせるものであるならばステップD216に進み、特図2保留数の値を知らせるものでない場合にはステップD219に進む。
ステップD216に進むと、MODEのデータに基づいて特図2の保留数(特図2の始動記憶の数)が1個増加したか判定し、増加していればステップD217で始動口入賞コマンド受信数を+1更新した後にステップD218に進み、増加していなければステップD217を実行しないでステップD218に進む。ステップD218では、特図2保留情報設定処理(説明省略する)を実行した後にリターンする。
なお、説明を簡単にするため、上記ステップD213とD217では、第1始動口(特図1始動口607)と第2始動口(特図2始動口608、始動入賞口26a)での賞球数を同じとして共通の始動口入賞コマンド受信数領域を+1するようにしたが、異なる賞球数として領域を分けるようにしてもよい。その場合、ステップD38の発射情報制御処理もそれに応じて変わる。
【0483】
ステップD219に進むと、MODEのデータが始動口オーバー入賞を知らせるもの(前述のステップS399で準備される始動口オーバー入賞コマンドのデータ)であるか判定し、始動口オーバー入賞を知らせるものであるならばステップD220で始動口入賞コマンド受信数を+1更新した後にステップD221に進み、始動口オーバー入賞を知らせるものでない場合にはステップD222に進む。ステップD221では、始動口オーバー入賞設定処理(説明省略する)を実行した後にリターンする。なお、始動口オーバー入賞とは、特図保留数(始動記憶数)の上限値を超えた始動入賞を意味する。
【0484】
ステップD222に進むと、MODEのデータが確率情報を知らせるもの(確変情報コマンドのデータ)であるか判定し、確率情報を知らせるものであるならばステップD223で確率情報設定処理を実行した後にリターンし、確率情報を指令するものでない場合にはステップD224に進む。
ここで、確率情報設定処理は、大当り後に確変になった場合の確変終了時(高確率状態から低確率である通常状態への移行時)の画面切替のための設定処理であり、そのためのシナリオデータ設定処理を含む場合もある。
ステップD224に進むと、MODEのデータがエラー/不正を知らせるもの(例えばエラー報知コマンドのデータ)であるか判定し、エラー/不正を知らせるものであるならばステップD225でエラー/不正設定処理(説明省略する)を実行した後にリターンし、エラー/不正を指令するものでない場合にはステップD226に進む。
【0485】
ステップD226に進むと、MODEのデータが演出モード切替を指令するもの(演出モード切替コマンドのデータ)であるか判定し、演出モード切替を指令するものであるならばステップD227で演出モード切替設定処理(詳細省略する)を実行した後にリターンし、演出モード切替を指令するものでない場合にはステップD228に進む。演出モード切替設定処理は、演出モード切替コマンドに応じた動作を行うための制御処理であり、そのためのシナリオデータ設定処理を含む。
【0486】
ステップD228に進むと、MODEのデータが特図の図柄停止を指令するもの(即ち、図柄停止コマンド)であるか判定し、特図の図柄停止を指令するものであるならばステップD229に進み、特図の図柄停止を指令するものでない場合にはステップD232に進む。
ステップD229に進むと、MODEのデータに対応するコマンドが正常なコマンドか判定し、正常でなければリターンし、正常であればステップD230、D231を実行した後にリターンする。
ステップD230では、対応する特図(特図1と特図2のうち、図柄停止コマンドのデータが指示するもの)の停止設定を実行する。
ステップD231では、遊技状態フラグの内容(遊技機の状態(P機状態)を表す情報)として通常状態を設定する。ここで、通常状態とは、特図の大当り中、特図の小当り中、特図の変動中、客待ち中(客待ち状態)の何れでもないことを示す。また、ここで通常と設定された後は、主基板からの次のコマンドに応じて例えば特図の変動中になったり、客待ち中になったりする。
【0487】
ステップD232に進むと、MODEのデータが発射タッチ情報を知らせるもの(前述のステップS304又はS307で準備されてステップS317により送信されるタッチスイッチ信号に関する状態オフコマンド又は状態オンコマンド(以下、発射中コマンドという)のデータ)であるか判定し、発射タッチ情報を知らせるものであるならばステップD233で発射タッチ情報設定処理を実行した後にリターンし、発射タッチ情報を知らせるものでない場合にはステップD234に進む。
なお、発射タッチ情報設定処理では、受信した発射中コマンドのデータに応じて発射状態(遊技者が発射操作ハンドル11に接触して遊技中であるか否かの状態)を示す発射状態フラグの設定などを行う。即ち、発射タッチ情報設定処理では、受信したMODEのデータが正常なタッチオンコマンド(タッチスイッチ信号について前記ステップS307で準備されて演出制御装置300に送信される状態オンコマンド)であるか判定し、正常なタッチオンコマンドである場合は発射中フラグを準備し、正常であるがタッチオンコマンドでない場合は、タッチオフコマンド(タッチスイッチ信号について前記ステップS304で準備されて演出制御装置300に送信される状態オフコマンド)であるから、発射停止中フラグを準備し、こうして準備したフラグのデータが既に発射状態フラグ領域にセーブされているデータと異なる場合に、準備したフラグのデータを発射状態フラグ領域にセーブするなどの処理を行う。
【0488】
ステップD234に進むと、MODEのデータが球貸しボタン押下を知らせるもの(前述のステップS298で準備されてステップS299により送信される球貸しボタン押下コマンドのデータ)であるか判定し、球貸しボタン押下を知らせるものであるならばステップD235で球貸し情報設定処理(後述する)を実行した後にリターンし、球貸しボタン押下を知らせるものでない場合にはリターンする。
なお、この単発系コマンド処理については、図示及び説明を省略しているステップがある。例えば、非変動系の他のコマンドを受信した場合の対応処理等を省略している。また、全てのコマンドに対してシナリオ制御データを設定しているわけではない。例えば、枠開放を示すエラー系コマンドを受信した場合、表示装置41の画面は変化させないためシナリオ制御データの設定は行わない。
【0489】
〔客待ちデモ設定処理〕
次に、単発系コマンド処理のステップD208で実行される客待ちデモ設定処理について図93により説明する。
この客待ちデモ設定処理では、まず、ステップD241に進み、ステップD157においてロードした今回のコマンドのデータが正常か判定し、正常ならばステップD242に進み、異常ならばリターンする。
【0490】
ステップD242に進むと、P機状態(パチンコ機の状態)が客待ちデモ中か判定し、客待ちデモ中ならばリターンし、客待ちデモ中でなければステップD243、D244を順次実行した後にリターンする。
ステップD243では、客待ち演出を行うために客待ち用シナリオデータ設定処理(後述する)を実行する。なお、演出制御装置300の制御処理の説明においてシナリオ制御データとは、特定の演出の流れを制御するために、シナリオ管理領域或いはシナリオ管理領域のアドレス領域に設定されるデータを意味する。このステップD243では、客待ち演出を行うためのシナリオ制御データの設定が行われる。
ステップD244では、P機状態として客待ちA(客待ち状態A)を設定する。なお、客待ち演出には、客待ち状態A、客待ち状態B、客待ちムービー(音無し)、及び客待ちムービー(音有り)がある。
【0491】
〔客待ち用シナリオデータ設定処理〕
次に、客待ちデモ設定処理のステップD243で実行される客待ち用シナリオデータ設定処理について図94により説明する。
この客待ち用シナリオデータ設定処理では、ステップD251乃至D274を順次実行した後にリターンする。
ステップD251では、シナリオレイヤー番号0を準備する。ここで、「準備する」とは、後の処理のためにデータを所定の記憶領域に一次記憶して保持しておくことを意味する(後述する他のステップでも同様)。また、シナリオレイヤーは、演出の流れを階層的に制御するための概念的なシナリオの層(レイヤー)である。また、シナリオレイヤー番号は各シナリオレイヤーに付けた番号であり、本例の場合、0から7まである。また本例では、シナリオレイヤー番号0のシナリオレイヤー(以下、シナリオレイヤー0という)は主に背景画像の表示制御に使い、シナリオレイヤー1は左図柄の表示制御に使うといったように、シナリオレイヤー毎に制御対象が基本的に割り当てられている。但し、客待ち演出はシナリオレイヤー0のみを使用し、シナリオレイヤー0の中で客待ち演出用の図柄等のモーション情報も管理するようにしている。
【0492】
ステップD252では、客待ちシナリオ用データテーブルのアドレスを準備する。シナリオ用データテーブル(単にシナリオテーブルともいう)とは、特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されたテーブルであり、演出制御装置300のPROM321に演出毎に予め記憶されている。客待ちシナリオ用データテーブルは、客待ち演出のためのシナリオテーブルであり、例えば図136に示す構成となっている。また、本例のシナリオテーブルは、図136に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行(各レコード)に設定されてなるものである。
ステップD253では、直前のステップD251、D252で準備されたデータ(アドレスやシナリオレイヤー番号のデータ)に基づいて、後述するシナリオデータ設定処理を実行する。
【0493】
ステップD254では、シナリオレイヤー番号1を準備する。ステップD255では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD256では、直前のステップD254、D255で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD257では、シナリオレイヤー番号2を準備する。ステップD258では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD259では、直前のステップD257、D258で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
【0494】
ステップD260では、シナリオレイヤー番号3を準備する。ステップD261では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD262では、直前のステップD260、D261で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD263では、シナリオレイヤー番号4を準備する。ステップD264では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD265では、直前のステップD263、D264で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
【0495】
ステップD266では、シナリオレイヤー番号5を準備する。ステップD267では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD268では、直前のステップD266、D267で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD269では、シナリオレイヤー番号6を準備する。ステップD270では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD271では、直前のステップD269、D270で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
【0496】
ステップD272では、シナリオレイヤー番号7を準備する。ステップD273では、シナリオ用データテーブルのアドレス(NULL)を準備する。ステップD274では、直前のステップD272、D273で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
なお、ステップD255、D258、D261、D264、D267、D270、D273でアドレス(NULL)を準備するシナリオレイヤー1〜7は、シナリオ用データテーブルが設定されないシナリオレイヤー、即ち制御されないシナリオレイヤーである。
【0497】
〔シナリオデータ設定処理〕
次に、上述の客待ち用シナリオデータ設定処理におけるステップD253、D256、D259、D262、D265、D268、D271、D274で実行されるシナリオデータ設定処理の詳細について図95により説明する。なお、このシナリオデータ設定処理は各種の演出に対して共通化されており、このシナリオデータ設定処理が実行されるステップは、他のルーチン(例えば、後述するリーチ開始演出設定処理のステップD453等)にも多数存在する。「シナリオデータ設定処理」と記載されているステップは、全てこの図95に示すものである。
このルーチンが開始されると、まずステップD281で、準備されたシナリオ用データテーブルのアドレス(例えばステップD252、D255等で準備されたもの)がNULLか判定し、NULLならばステップD287を実行した後にリターンし、NULLでなければステップD282乃至D286を順次実行した後にリターンする。
【0498】
なお、前述の客待ち用シナリオデータ設定処理においては、ステップD253で本ルーチンが実行された場合には直前のステップD252でNULLでない客待ちシナリオ用データテーブルのアドレスが準備されているので、ステップD281の判定結果はNOになってステップD282乃至D286を実行することになり、それ以外のステップD256等で本ルーチンが実行された場合には直前のステップD255等でNULLが準備されているので、ステップD281の判定結果はYESになってステップD287を実行することになる。
【0499】
ステップD282では、準備されたシナリオレイヤー番号(例えばステップD251で準備されたもの、以下同様)に対応するシナリオ管理領域の先頭アドレスを設定する。本例の場合、演出制御装置300のRAM311a又はRAM326には、「シナリオ管理領域のアドレス領域」と「シナリオ管理領域」というシナリオ管理用の記憶領域が設けられる構成となっている。このうち、シナリオ管理領域は、シナリオ用タイマの値を記憶する領域(シナリオ用タイマ領域)と、PB用タイマ(プッシュボタン用タイマ)の値を記憶する領域(PB用タイマ領域)と、PB検知フラグ(プッシュボタン検知フラグ)の値を記憶する領域(PB検知フラグ領域)と、シナリオ用データテーブルのアドレスを記憶する領域(シナリオ用データテーブル領域)とを含む構造である。また、同一構造のシナリオ管理領域が各シナリオレイヤーに対応してシナリオレイヤー分存在し、本例ではシナリオレイヤーが8個あるので、このシナリオ管理領域も8個(シナリオ管理領域0〜7)存在する。上記ステップD282では、このように複数あるシナリオ管理領域のうちの一つを特定するために、準備されたシナリオレイヤー番号に対応するシナリオ管理領域(以下、対応シナリオ管理領域という)の先頭アドレスを設定している。
【0500】
なお、シナリオ管理領域のアドレス領域とは、シナリオレイヤー毎にシナリオ管理領域の先頭アドレスを格納する領域であり、本例ではシナリオレイヤーが8個あるので、これに対応した8個の先頭アドレス(シナリオレイヤー0用アドレス〜シナリオレイヤー7用アドレス)をそれぞれ格納する8個の領域からなる。
次にステップD283では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、直前のステップD282で設定されたシナリオ管理領域の先頭アドレスを格納する(即ち、書き込む)。
【0501】
次にステップD284では、対応シナリオ管理領域のシナリオ用タイマの値として0を書き込む(即ち、値をクリアする)。
次にステップD285では、対応シナリオ管理領域のPB用タイマの値として0を書き込む(即ち、値をクリアする)。なお、対応シナリオ管理領域のPB検知フラグについても値をクリアしてもよいが、必要なとき(PB検知を開始するとき)にクリアすればよいので、ここではPB検知フラグの値の設定は行わない。
次にステップD286では、対応シナリオ管理領域のシナリオ用データテーブル領域に、準備されたシナリオ用データテーブルのアドレス(例えばステップD252で準備されたもの)を書き込む。
一方、ステップD287では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLを書き込む。
【0502】
以上のシナリオデータ設定処理によれば、準備されたシナリオレイヤー番号に対応するシナリオ管理用の記憶領域(「シナリオ管理領域のアドレス領域」及び「シナリオ管理領域」)に、これから実行しようとする演出用のシナリオ制御データが設定される。
例えば、前述した客待ち用シナリオデータ設定処理では、ステップD253、D256、D259、D262、D265、D268、D271、D274で上記シナリオデータ設定処理が実行されることによって、シナリオ管理領域のアドレス領域におけるシナリオレイヤー0用アドレスとしてシナリオ管理領域0の先頭アドレスが設定され、残りのシナリオレイヤー1用アドレスからシナリオレイヤー7用アドレスまでにはNULLが設定される。また、シナリオ管理領域0のシナリオ用データテーブル領域にはステップD252で準備された客待ちシナリオ用データテーブルのアドレスが設定される。これにより、シナリオレイヤー0のみで客待ち演出の制御が実行される。
【0503】
〔球貸し情報設定処理〕
次に、単発系コマンド処理のステップD235で実行される球貸し情報設定処理について図96により説明する。
この球貸し情報設定処理では、まず、前述のステップD234で判定された球貸しボタン押下コマンドが正常なコマンドであるか判定する(ステップD361)。正常なコマンドでない場合(ステップD361;N)は、球貸し情報設定処理を終了する。一方、正常なコマンドである場合(ステップD361;Y)は、球貸し単位数設定処理で設定された球貸し単位数情報に基づいて単位金額情報を設定し(ステップD362)、設定した単位金額情報を球貸し使用金額情報領域の値に加算し(ステップD363)、球貸し情報設定処理を終了する。ここで、球貸し単位数設定処理は、ホール設定モードの場合に前述のホール・遊技者設定モード処理(ステップD22)内で実行される処理であり、ホール店員等による「球貸し単位数設定」の設定変更を実現する処理である。球貸し単位数とは、貸球の1回の払出し動作(球貸しボタン16の一回の押下操作による払出動作)による貸球量の増加分に相当する。また、ホール設定モードは、ホール設定モード開始条件が成立すると開始するモードである。ホール設定モード開始条件とは、ホール設定モードに入る操作入力(例えば、ガラス枠5を開放させた状態で演出ボタン9を2回押下する操作)があることを含み、客待ちデモ中であるなどの条件も含む。即ち、例えば客待ちデモ中にガラス枠5が開放された状態で演出ボタン9が2回押下されると、ホール設定モード開始条件成立となり、上記球貸し単位数設定やホール店員等による音量設定などが可能となる。
【0504】
以上の処理により、遊技継続中に遊技者が球貸し操作(球貸しボタン押下)を行う度に、その分だけ球貸し使用金額情報が増加してゆく(即ち、貸球量の累計が行われる)。
ここで、球貸し単位数情報は、1回の球貸しボタン押下により使う金額の情報(単位金額情報)に対応する情報(当該情報から単位金額情報を求めることができる情報、単位金額情報そのものであってもよい)である。この球貸し単位数情報は、貸球の1回の払出し動作による前記貸球量の増加分に相当する。この貸球量の増加分(即ち、球貸し単位数情報)の登録値は、前述したホール設定モードにおいて、遊技店(ホール)が書き換え可能である。
【0505】
〔図柄系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD180で実行される図柄系コマンド処理の詳細について図97により説明する。
このルーチンが開始されると、まずステップD371で、MODEのデータ(前述のステップD171で分離された上位バイトのデータ、後述のステップD372でも同じ)に対応する特図種別(特図1か特図2かの情報)を設定する。例えば、MODEのデータが85hならば特図1を特図種別として設定し、MODEのデータが86hならば特図2を特図種別として設定する。このように特図1か特図2かはMODEのデータから判定できるので、このステップD371では、MODEのデータから特図種別を判定して設定する。
【0506】
次にステップD372では、MODEとACTの組合せに対応する図柄種別を設定してセーブし、その後リターンする(即ち、図柄系コマンド処理を終了する)。
なおステップD372では、具体的には、まず、MODEのデータに対応する図柄種別設定テーブルを設定する。図柄種別設定テーブルは、図柄コマンドに対応した図柄種別(例えば、はずれ図柄、16R確変大当り図柄、2R確変大当り図柄、11R通常大当り図柄、・・・などのカテゴリ)を判定するためのテーブルであり、図柄コマンドのACTIONのデータ(例えば、11h〜1Bhの11種類ある)と図柄種別との対応関係が定義されたテーブルである。特図1と特図2で図柄の割合が変わるので(確変割合は同じ)、MODE毎にこの図柄種別設定テーブルを分けて設けており、ステップD372では、まず、複数ある図柄種別設定テーブルからMODEのデータに対応するものを選択して設定する。
【0507】
次いで、ステップD372では、設定した図柄種別設定テーブルに基づいて、ACTのデータ(前述のステップD171で分離された下位バイトのデータ)に対応する図柄種別を取得し、図柄種別情報としてセーブする。
なお、こうして図柄コマンドを受けてステップD371やD372で設定された特図種別や図柄種別の情報が、図柄コマンドに続いて(或いは図柄コマンドの前に)受信された組となる変動コマンドに対する後述のステップD401、D402の処理で使用される。そして、特図種別の情報は、ステップD401の判定に使用されても、ステップD371が新たに実行されるまで以前にステップD371で設定されたデータが記憶保持される構成となっている。また、図柄種別の情報は、ステップD402で使用された後も、ステップD372が新たに実行されるまで、以前にステップD372で設定されたデータが記憶保持される構成となっている。
このように本ルーチンによれば、図柄系コマンドを受信する度に、特図種別や図柄種別が設定される。
【0508】
〔変動系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD176で実行される変動系コマンド処理の詳細について図98により説明する。
このルーチンが開始されると、まずステップD401で特図種別が未確定か判定し、未確定ならばリターンし、未確定でない場合(即ち、特図種別が設定されている場合)にはステップD402で変動コマンドと図柄コマンドの組み合わせをチェックしてステップD403に進む。特図種別とは、特図の種別が特図1か特図2かを示す情報であり、図柄系コマンド処理の前述したステップD371で設定される情報である。
【0509】
ステップD403に進むと、変動コマンドと図柄種別が不整合であるか否か判定し、不整合である場合にはリターンし、不整合でない場合にはステップD404乃至D408を実行後にリターンする。
なお、図柄種別とは図柄のカテゴリを意味し、図柄種別には、既述したように、例えばはずれ図柄、16R確変大当り図柄などがある。また、上記ステップD403における不整合とは、はずれの変動コマンド(変動パターンコマンド)を受信したのに、16R確変大当り図柄の図柄コマンドを受信していた時など、演出を行う上で矛盾してしまう組み合わせ(変動コマンドと図柄種別の組み合わせ)であることを意味する。即ち、ステップD402では、停止図柄に合った変動パターンコマンドになっているかという整合性のチェックが行われ、その結果によりステップD403で分岐している。
【0510】
そして、ステップD404では、受信したコマンドに応じた変動パターン種別(特図の変動表示演出の大まかな分類であり、変動パターン種別データによって決まる)を判別する。
ステップD405では、変動コマンドに応じた演出を行うために、変動演出設定処理(後述する)を実行する。
またステップD406では、P機状態(パチンコ機の状態)として特図変動中を設定する。ここで、特図変動中とは、特図の変動表示中(客待ちデモ中や大当り中、或いはファンファーレ中等でないこと)を表している。
ステップD407では、先読み演出回数(先読み実行回数)がゼロでなければ先読み演出回数を−1更新する処理(先読み演出回数を1だけ減らす処理)を実行する。ここで、先読み演出回数を−1更新する理由は、ステップD407が実行されるのは有効な変動系コマンドを受信した場合(これから特図の変動が開始され、始動入賞記憶の保留数が1個減る場合)であるためである。なお、先読み演出回数は、図示省略した先読み抽選処理(前記ステップD186の先読み変動系コマンド処理において呼び出されて実行されるサブルーチン)において、先読み予告を行う場合に最新保留情報に基づいて設定される。例えば、保留数が4個あれば4回、保留数が3個あれば3回、といったように設定される。この先読み演出回数は、上記ステップD407で更新され、後述するステップD729bで使われる。
そして、ステップD408では、前述した特図変動回数(前記ステップD38の発射情報制御処理で使用するカウンタ)を+1更新する。このステップD408は、特図変動表示が開始される毎に実行されるので、特図変動表示の実行回数を計数する特図変動回数をここで+1更新している。ここで更新される特図変動回数は、前記発射情報制御処理において、前記特図回転状態を決定するために使用される。
【0511】
〔変動演出設定処理〕
次に、前述の変動系コマンド処理におけるステップD405で実行される変動演出設定処理の詳細について図99図100により説明する。
このルーチンが開始されると、まずステップD421では、変動系コマンド処理のステップD404で判別された変動パターン種別データがリーチなし変動であるか判定し、リーチなし変動であればステップD422、D423を順次実行後にステップD426に進み、リーチなし変動でなければステップD424、D425を順次実行後にステップD426に進む。
ステップD422では、その時点で設定されている発射関連情報(後述する)、機種コード、特図種別、及びその時点の演出モードに対応する前半予告振分グループアドレステーブル(図示省略)を設定する。なお、ステップD422に進む場合には、リーチなし変動であり、図柄種別は必ずはずれ図柄であるため、ステップD422では図柄種別は特に参照しなくてもよい。
なお、演出モードは、演出制御装置300が管理する遊技モード(本実施例では遊技制御装置からも遊技モードのコマンドが送られてくる)に相当し、機種によって当然異なる。この演出モード(遊技モード)は、例えば軍議モード、決戦モードといったように遊技機の演出テーマに関連するものであり、前記発射情報制御処理(ステップD38)で特図回転状態に応じて補正される演出のモードとは異なる。
【0512】
また、前半予告振分グループアドレステーブルは、後述する前半予告振分グループテーブルのアドレスを選択するためのテーブルであり、この前半予告振分グループテーブルのアドレスのデータがマトリックス状に配列されてなる。この前半予告振分グループアドレステーブルは、テーブルの各行のデータが同一のMODEの値(前半変動パターンを指定するデータ)に対応している。そして、変動パターン種別がリーチなし変動である場合、この前半予告振分グループアドレステーブルの各列には、同一の保留数(特図の変動表示ゲームが未実行である始動入賞記憶の数)に対応するデータが配置されている。即ち、リーチなし変動の場合の前半予告振分グループアドレステーブルは、行を決めるパラメータがMODEの値であり、列を決めるパラメータが保留数となっている。一方、変動パターン種別がリーチなし変動以外である場合、この前半予告振分グループアドレステーブルの各列には、同一の変動パターン種別に対応するデータが配置されている。即ち、リーチなし変動以外の場合の前半予告振分グループアドレステーブルは、行を決めるパラメータがMODEの値であり、列を決めるパラメータが変動パターン種別となっている。
これにより本例の場合には、リーチなし変動の場合にのみ、各変動中に出現する予告演出の抽選内容(具体的には各予告演出態様の出現率)が保留数に応じて変化することになる。例えば、リーチでない変動のときは、保留数が多い程、変動時間が短縮される。
【0513】
ステップD423では、ステップD422で設定された前半予告振分グループアドレステーブルに基づいて、MODE及び特図種別の保留数に対応する前半予告振分グループテーブルのアドレスを取得する。
具体的には、設定された前半予告振分グループアドレステーブルの行のアドレスとして、MODEの値(ステップD171で分離した値、以下同様)に対応する行のアドレスを算出する。次に、設定された前半予告振分グループアドレステーブルの列のアドレスとして、その時点の特図種別の保留数に対応する列のアドレスを算出する。そして、これら算出結果に基づいて、対応する前半予告振分グループアドレステーブルにおける対応の行と列の位置から前半予告振分グループテーブルのアドレスを取得する。
【0514】
一方、ステップD424では、その時点で設定されている発射関連情報(後述する)、機種コード、特図種別、図柄種別、及びその時点の演出モードに対応する前半予告振分グループアドレステーブルを設定する。
次に、ステップD425では、ステップD424で設定された前半予告振分グループアドレステーブルに基づいて、MODE及び変動パターン種別に対応する前半予告振分グループテーブルのアドレスを取得する。
具体的には、設定された前半予告振分グループアドレステーブルの行のアドレスとして、MODEの値に対応する行のアドレスを算出する。次に、設定された前半予告振分グループアドレステーブルの列のアドレスとして、その時点の変動パターン種別(ステップD404で判別されたデータ、以下同様)に対応する列のアドレスを算出する。そして、これら算出結果に基づいて、対応する前半予告振分グループアドレステーブルにおける対応の行と列の位置から前半予告振分グループテーブルのアドレスを取得する。
【0515】
ステップD426に進むと、直前のステップD423又はD425で取得されたアドレスの前半予告振分グループテーブルを使って前半変動のために予告抽選処理(乱数による予告演出の抽選)を実行する。この予告抽選処理によれば、前半予告振分グループテーブルに設定されている全ての予告振分種別に対して振分け結果が予め選択され、この振分け結果に応じた演出内容を指定する各種情報が予め所定の記憶領域にそれぞれ格納されることになる。
上記ステップD426までの処理によれば、前半予告振分グループテーブルのアドレスが選定され、選定された当該前半予告振分グループテーブルに基づいてステップD426の予告抽選処理(前半変動の予告抽選処理)が実行される。ここで、前半予告振分グループテーブルは、一つの予告振分テーブルのアドレスと、当該アドレスに対応する一つの演出振分結果の結果領域のアドレスとが同一行に対応させて複数配置されたテーブルである。一つの変動表示ゲームについて行われる予告振分(予告演出の有無及び態様を決定するための抽選)は、変動パターンによっては非常に多数の異なるものが実行され、それに伴って予告振分グループテーブルの行数も膨大になる。
【0516】
ここで、上記ステップD422及びD424で参照される発射関連情報には、少なくとも、前述した発射状態フラグの情報(発射操作ハンドル11へのタッチ状態を示す発射中フラグ、又はタッチオフ状態を示す発射停止中フラグの情報)、連続タッチ状態フラグの情報(前記ステップD38の発射情報制御処理内の処理でセーブされる情報)、及び球貸し使用金額情報(前記ステップD363で更新される情報)が含まれている。なお、連続タッチ状態フラグは、発射操作ハンドル11への接触が連続タッチ規定時間(例えば3分)以上連続(未発射規定時間未満の非接触状態を含む連続でもよい)しているか否かを示すフラグであり、このフラグにより遊技者の遊技継続状態が分かる。
【0517】
そして、上記ステップD422及びD424では、これら情報を含む発射関連情報により選択する前半予告振分グループアドレステーブルを変える。これにより、所定の演出変更条件の成立によって演出が変化する(例えば、特殊な予告演出の発生頻度が高まる)構成となっている。例えば本実施例では、遊技者が所定時間以上遊技(発射操作ハンドル11にタッチ)した後、発射操作ハンドル11から手を離す(タッチオフする)という条件(第1条件)を含む演出変更条件が成立すると演出を変化させ、この演出変更条件に球貸し使用金額が規定量を超えているという条件(第2条件)も含まれている。また、演出を変更しようとする特図変動(これから開始しようとしている特図変動)に対応する特図保留(特図の始動入賞記憶)が残り1個であるという条件(第3条件)が、この演出変更条件に含まれていてもよい。ステップD422及びD424のテーブル選択では、このような条件(例えば第1条件に加えて、第2条件及び第3条件の全て)が成立しているか否かによって、選択するテーブルが変わり、その結果演出内容が変わる構成となっている。これにより、遊技者に期待感を持たせ、遊技者が意欲的に遊技を継続したくなるという効果や、演出の幅を持たせることができるという効果が、遊技効率を低下させることなく得られる。即ち、規定時間以上遊技していた遊技者がハンドルから手を離すと演出制御装置300により演出が変化し、この演出制御装置300による演出変化には遊技制御装置100が制御するリーチ発生率の変化は含まれないため時間効率は低下せず、遊技者は再度ハンドルを操作して遊技を継続しようとする。
【0518】
なお、遊技者が所定時間以上遊技(発射操作ハンドル11にタッチ)した後、発射操作ハンドル11から手を離す(タッチオフする)という条件は、発射状態フラグと連続タッチ状態フラグにより判定できる。即ち、発射状態フラグが発射停止中フラグであり、連続タッチ状態フラグが連続タッチ条件成立フラグである場合には、現時点では発射操作ハンドル11に遊技者の指などの接触がないタッチオフ状態であるが、一定時間前(前述の未発射規定時間より短い時間内)までは発射操作ハンドル11への接触があったことになる。そこで、ステップD422、D424では、発射状態フラグが発射停止中フラグであり、連続タッチ状態フラグが連続タッチ条件成立フラグであると前述の第1条件が成立しているとして、残りの第2条件及び第3条件が成立していれば、演出内容が変わるようにテーブル選択が行われる構成となっている。なお、この演出変更条件は、上記第1条件のみで成否が決まる態様(第2条件や第3条件が無い態様)であってもよいし、上記第1条件と第2条件で成否が決まる態様でもよいし、上記第1条件と第3条件で成否が決まる態様でもよいし、さらに別の条件が加わる態様も有り得る。
【0519】
次に、ステップD426を経ると、ステップD427乃至D429を実行する。
ステップD427からステップD429までは、後半変動の予告演出を抽選するための処理である。なお、特図の変動表示ゲームの後半変動とはいわゆるリーチアクション(例えば、特図の複数列の表示領域のうち特定領域を除く表示領域が大当りとなる特別結果態様(特別な図柄の組合せ)で変動表示が停止していて、特定領域のみで変動表示している状態)の変動表示である。一方、特図の変動表示ゲームの前半変動とはリーチアクション開始前までの変動表示である。
ステップD427では、その時点で設定されている前記発射関連情報、機種コード、特図種別、図柄種別、及びその時点の演出モードに対応する後半予告振分グループアドレステーブルを設定し、ステップD428に進む。
ここで、後半予告振分グループアドレステーブルは、後半予告振分グループテーブルのアドレスを選択するためのテーブルであり、後半予告振分グループテーブルのアドレスのデータが変動パターン種別毎に配列されてなる。即ち、この後半予告振分グループアドレステーブルでは、テーブルの各行のデータが各変動パターン種別にそれぞれ対応している。
【0520】
ステップD428では、ACTに対応する後半予告振分グループテーブルのアドレスを取得する。具体的には、直前のステップD427で設定された後半予告振分グループアドレステーブルにおける、その時点の変動パターン種別に対応する行の位置から後半予告振分グループテーブルのアドレスを取得する。
次に、ステップD429では、後半変動中(リーチ中)に出現する予告の抽選を行う。即ち、ステップD428で取得されたアドレスの後半予告振分グループテーブルを使って後半変動のために予告抽選処理(乱数による予告演出の抽選)を実行する。
この予告抽選処理によれば、ステップD428で準備された後半予告振分グループテーブルに設定されている全ての予告振分種別に対して振分け結果が予め選択され、この振分け結果に応じた演出内容を指定する各種情報が予め所定の記憶領域にそれぞれ格納されることになる。
【0521】
上記ステップD427からステップD429までの処理によれば、後半予告振分グループテーブルのアドレスが選定され、選定された当該後半予告振分グループテーブルに基づいてステップD429の予告抽選処理(後半変動の予告抽選処理)が実行される。そして、ステップD427の後半予告振分グループアドレステーブルの選択の際には、前述した発射関連情報が前半変動の場合と同様に参照され、前述した演出変更条件成立による演出の変更が後半変動についても実現される。
【0522】
次に、ステップD429を経ると、ステップD431に進む。
ステップD431に進むと、演出モードに対応する基本BGM番号(基本BGMの曲番号)や装飾番号(装飾ランプ(LED)等による演出の種類を示す番号)を設定し、その後ステップD432に進む。なお、演出モード毎に通常変動中のBGM、装飾が変わる。このステップD431では各モードでのデフォルトを先ず設定しておく。予告等で特殊なBGM、装飾に変わるようならシナリオテーブルの方で変更される構成となっている。
【0523】
ステップD432に進むと、ここまでの処理(特にステップD426)で決定された前半変動種別が通常変動か否か判定し、通常変動であればステップD433に進み、通常変動でなければ図100において波線で図示省略した他の処理のステップ(前半変動種別が通常変動でない場合の各種変動の処理)に進む。
なお、前半変動種別とは、同一のMODE(例えば12秒前半通常変動)の中で、演出制御装置側で振り分けている変動予告種類のことである。煩雑を避けるため、ここでは、前半変動種別が通常変動である場合の予告振り分けの様子のみをフローチャート(図100)に記載している。そして、前半変動種別が通常変動でない場合の各種変動(疑似連などを含む)の処理は、ステップD432の判定結果がNOになった流れ以降のステップ(図100において波線で省略している)で実行されるが、この流れ以降の処理を実行した後には、ステップD437に進む構成となっている。
【0524】
ステップD433に進むと、ここまでの処理(特にステップD426、D429、以下同様)で決定された予告種別(演出振分け結果領域のデータ;予告データ)がリーチ開始演出を指定するものであるか判定し、リーチ開始演出でない場合には他の予告演出が選ばれた場合の処理(図100では波線で省略)に移行してその後ステップD437に進み、リーチ開始演出である場合にはステップD434でリーチ開始演出設定処理(後述する)を実行した後にステップD437に進む。
なお、上記リーチ開始演出は、具体的な画面の表示例としては例えば図145及び図146(後述する)に示すような表示を含む演出(表示だけでなく演出のために出力される音声等が含まれてもよい)が行われる種別である。この演出は、前述した演出変更条件が成立して行われる特殊な予告演出(例えば、通常状態では出現率が低いか出現率ゼロの演出)として実行されてもよいし、前述した演出変更条件に無関係に選択されて実行される態様でもよい。
【0525】
ステップD437に進むと、特図種別が特図2か否かを判定し、特図2ならばステップD438、D439を実行した後にステップD442に進み、特図2でない場合(即ち、特図1の場合)にはステップD440、D441を実行した後にステップD442に進む。
ステップD438では、特図2保留数に対応する特図2保留シナリオテーブル情報を設定する。
ステップD439では、第4図柄(特図2変動)シナリオテーブル情報を設定する。
ステップD440では、特図1保留数に対応する特図1保留シナリオテーブル情報を設定する。
ステップD441では、第4図柄(特図1変動)シナリオテーブル情報を設定する。
これらステップD438、D439又はD440、D441は、保留(特図始動記憶)が減るアニメに関するシナリオ制御データを設定している。
【0526】
次にステップD442に進むと、ステップD171で分離されたMODEのデータ(前半変動パターンのデータ)が通常変動を指令するものか否か判定し、通常変動を指令するものであればステップD443に進み、通常変動を指令するものでなければ図100において波線で省略された他のステップに進む。
なお、ステップD442の判定結果がNOになった流れ以降(波線で図示省略した箇所)では、前記MODEのデータが上記以外である場合の変動表示演出についてステップD443、D444等と同様の処理が実行され、前記MODEのデータが何れにも該当しない場合には異常であるのでリターンする。
【0527】
ステップD443に進むと、ここまでの処理で決定された予告種別(演出振分け結果領域のデータ;予告データ)がSD(スーパーデフォルメ)モードで行われる演出の1つであるSD1を指定するものであるか判定し、SD1でない場合にはステップD445に進み、SD1である場合にはステップD444でSD1変動設定処理を実行した後にリターンする。
なお、上記SD1は、具体的な画面の表示例としては例えば図155(b)から図158(b)(後述する)に示すような表示を含む演出(表示だけでなく演出のために出力される音声等が含まれてもよい)が行われる種別である。この演出は、前述した演出変更条件が成立して行われる特殊な予告演出(例えば、通常状態では出現率が低いか出現率ゼロの演出)として実行されてもよいし、前述した演出変更条件に無関係に選択されて実行される態様でもよい。
ステップD445に進むと、ステップD171で分離されたACTのデータ(後半変動パターン)が「はずれ」を指令するものか判定し、「はずれ」であればステップD446ではずれ設定処理を実行した後にリターンし、「はずれ」でない場合には図100において波線で省略された他のステップに進む。なお、はずれ設定処理は、「はずれ」の後半変動演出を行うためのシナリオデータ設定処理を含む処理である。なお、「はずれ」の種類は、実際には一つではなく複数あるが(「ノーマル−1はずれ」、「ノーマル+1はずれ」など)ここでは詳細説明を省略している。
また、ステップD445の判定結果がNOになった流れ以降(波線で図示省略した箇所)では、通常変動の場合の他のリーチ演出(例えば大当りになる場合の変動表示演出含む)についてステップD445、D446と同様の処理が実行され、前記ACTのデータが何れにも該当しない場合には異常であるのでリターンする。
【0528】
〔リーチ開始演出設定処理〕
次に、前記変動演出設定処理のステップD434で実行されるリーチ開始演出設定処理について図101により説明する。
この処理では、ステップS451乃至S459を順次実行した後にリターンする。
まず、ステップD451ではシナリオレイヤー番号1を準備し、ステップD452では左図柄リーチ開始演出のシナリオテーブル(例えば図148上段に示すもの)を準備し、ステップD453では準備したシナリオテーブルについてシナリオデータ設定処理を実行し、その後にステップD454に進む。
次に、ステップD454ではシナリオレイヤー番号2を準備し、ステップD455では右図柄リーチ開始演出のシナリオテーブル(例えば図148中段に示すもの)を準備し、ステップD456では準備したシナリオテーブルについてシナリオデータ設定処理を実行し、その後にステップD457に進む。
次に、ステップD457ではシナリオレイヤー番号4を準備し、ステップD458では虎たろうリーチ開始演出のシナリオテーブル(例えば図148下段に示すもの)を準備し、ステップD459では準備したシナリオテーブルについてシナリオデータ設定処理を実行し、その後にリターンする。
【0529】
なお前述したように、シナリオデータ設定処理は、準備されたシナリオレイヤー番号に対応するシナリオ管理用の記憶領域(「シナリオ管理領域のアドレス領域」及び「シナリオ管理領域」)に、これから実行しようとする演出用のシナリオ制御データを設定する処理である。
上記ステップD451からD459では、リーチ開始演出を実行するためのシナリオ制御データをセットしている。
また、ステップD458で「虎たろうリーチ開始演出のシナリオテーブル」を準備して設定したからといって、このリーチ開始演出に登場するキャラクタが「虎たろう」に限定されるわけではない。「虎たろうリーチ開始演出のシナリオテーブル」とは、本願明細書において、説明の便宜上、シナリオテーブルに付けた呼び名に過ぎない。
また本例では、上述のようにリーチ開始演出にシナリオレイヤー番号1,2,4のシナリオレイヤーを使用しているが、これに限られない。例えば、虎たろうリーチ開始演出のシナリオテーブルをシナリオレイヤー番号5のシナリオレイヤーに設定してもよい。
【0530】
〔SD1変動設定処理〕
次に、前記変動演出設定処理のステップD444で実行されるSD1変動設定処理について図102により説明する。
この処理では、ステップD461乃至D477を順次実行した後にリターンする。
ステップD461では、例えば前記ステップD372でセーブされた図柄種別に基づいて飾り特図の停止図柄を設定して停止図柄領域に格納する停止図柄設定処理(詳細省略する)を実行する。
なお、停止図柄領域は、左図柄、右図柄、中図柄のそれぞれについて存在し、後述する図柄停止処理で使用される。また、本実施例のSD1の変動は、大当りになる場合もあり、上記ステップD461は、前記ステップD372でセーブされた図柄種別に基づいて、外れの図柄又は大当りの図柄が設定される。
【0531】
ステップD462では、前記ACT、前記前半変動種別に対応するSD1のシナリオテーブルのアドレス(シナリオテーブルの名称)を図柄変動シナリオテーブル領域にセーブする。図柄変動シナリオテーブル領域とは、これから使用する図柄変動のシナリオテーブルのアドレスを一時的に格納しておく演出制御装置300のRAM311a(又はRAM326)の記憶領域であり、左図柄用領域、右図柄用領域、中図柄用領域に分かれ、さらに各図柄用領域は1st(序盤)用、2nd(前半)用、3rd(後半)用に分かれていて、一つのシナリオテーブルのアドレスを格納する領域が合計9個(=3×3個)ある。一方、演出制御装置300のPROM321には、遊技制御装置から受信したコマンドと前記前半変動種別(或いはさらに前記演出モードや予告種別)に応じて図柄変動用のシナリオテーブルを選択するためのテーブル(以下、図柄変動リストテーブルという)がコマンド毎(ACTのデータ毎)に登録されている。上記ステップD462では、例えば、まず前記ACTに対応する図柄変動リストテーブルを選択し、次に選択した図柄変動リストテーブルにある複数の設定パターンの中から前記前半変動種別等に対応する設定パターンを選択し、選択した設定パターンのシナリオテーブルのアドレスを図柄変動シナリオテーブル領域にセーブする。上記ステップD462では、SDモードにおけるSD1という変動演出を行うためのシナリオテーブルの組み合わせが選択されてセーブされるが、例えば大当りになる場合と外れになる場合とでは、当然異なる組み合わせ(少なくとも3rd(後半)用のシナリオテーブルが異なる組み合わせ)が選択されてセーブされる。
ここで、図柄変動リストテーブルは、各設定パターン毎に、左図柄、右図柄、中図柄の各図柄について、1st(序盤)用、2nd(前半)用、3rd(後半)用の各シナリオテーブルのアドレスがそれぞれ登録されたテーブルである。
【0532】
なお本願では、前半変動時間内の図柄の動きだしの期間を「序盤」(1st)、前半変動時間内の残りの期間を「前半」(2nd)としている。同一の前半変動時間でも図柄の動きだしが、そのまま下にスクロールする場合や一旦上にホッピングしたりする場合(予告の一種)もあるので、動きが一通りにならないよう「序盤+前半=前半変動」という構成になっている。そして、後半変動時間を「後半」(3rd)としている。また本実施例は、このように、特図変動時の演出を時間的に複数に分割した各期間について演出内容をそれぞれ設定し、各期間の演出内容の組合せとして特図変動時の演出全体を構成する組合せ式となっている。これにより、制御データ記憶用の不揮発性メモリ(本例ではPROM321)に格納しなければならない総データ量が減るというメリットがある。即ち、例えば、少しでも動きが違う演出内容毎にテーブルを全て用意するとデータ量が膨大になってしまうが、この組合せ式であればそのような問題が改善される。
【0533】
ステップD463では、シナリオレイヤー番号0を準備する。
ステップD464では、前記ACT等に対応するSD1用の背景のシナリオテーブルのアドレスを準備する。
ステップD465では、直前のステップD463、D464で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD466では、シナリオレイヤー番号1を準備する。
ステップD467では、前述した図柄変動シナリオテーブル領域から、左図柄シナリオ1stテーブルアドレス(前述した左図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD468では、直前のステップD466、D467で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
【0534】
ステップD469では、シナリオレイヤー番号2を準備する。
ステップD470では、前述した図柄変動シナリオテーブル領域から、右図柄シナリオ1stテーブルアドレス(前述した右図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD471では、直前のステップD469、D470で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD472では、シナリオレイヤー番号3を準備する。
ステップD473では、前述した図柄変動シナリオテーブル領域から、中図柄シナリオ1stテーブルアドレス(前述した中図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD474では、直前のステップD472、D473で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
【0535】
ステップD475では、シナリオレイヤー番号7を準備する。
ステップD476では、第4図柄シナリオテーブル(第4図柄用のシナリオテーブル)のアドレスを準備する。
ステップD477では、直前のステップD475、D476で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
以上説明したルーチン(SD1変動設定処理)によれば、SD1の変動演出を行う場合のシナリオ制御データの設定が必要なシナリオレイヤー(この場合、シナリオレイヤー0,1,2,3,7)について行われ、シナリオテーブルとしては例えば後述する図159図161(第4図柄を制御するシナリオテーブルについては省略)に示すような組み合わせが選択されることになる。
【0536】
〔シナリオ設定処理〕
次に、前述のメイン処理におけるステップD28で実行されるシナリオ設定処理の詳細について図103により説明する。
このルーチンが開始されると、ステップD551乃至D566を順次実行した後にリターンする。
ステップD551では、シナリオ管理領域0(シナリオレイヤー番号0)に対応するシナリオ管理領域のアドレス領域を準備し、次のステップD552では、ステップD551の準備に基づいてシナリオ解析処理(後述する)を実行する。ここで、「アドレス領域を準備し」とは、後の処理で当該アドレス領域に設定されているデータを読み取るために、当該アドレス領域自体のアドレスを準備することを意味する。
【0537】
以下同様に、ステップD553では、シナリオ管理領域1(シナリオレイヤー番号1)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD554でシナリオ解析処理を実行する。
ステップD555では、シナリオ管理領域2(シナリオレイヤー番号2)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD556でシナリオ解析処理を実行する。
ステップD557では、シナリオ管理領域3(シナリオレイヤー番号3)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD558でシナリオ解析処理を実行する。
ステップD559では、シナリオ管理領域4(シナリオレイヤー番号4)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD560でシナリオ解析処理を実行する。
ステップD561では、シナリオ管理領域5(シナリオレイヤー番号5)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD562でシナリオ解析処理を実行する。
ステップD563では、シナリオ管理領域6(シナリオレイヤー番号6)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD564でシナリオ解析処理を実行する。
ステップD565では、シナリオ管理領域7(シナリオレイヤー番号7)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD566でシナリオ解析処理を実行する。
【0538】
なお本例の場合、シナリオレイヤーは前述したように8個あり、シナリオレイヤー番号は0〜7まである。そして、これら8個のシナリオレイヤーのうち、基本的に、シナリオレイヤー0は背景用であり、シナリオレイヤー1は左図柄用であり、シナリオレイヤー2は右図柄用であり、シナリオレイヤー3は中図柄用であり、シナリオレイヤー4は予告1用であり、シナリオレイヤー5は予告2用であり、シナリオレイヤー6は保留用であり、シナリオレイヤー7は第4図柄用である。
【0539】
但し、この態様に限られない。例えば、本実施例はシナリオレイヤーが8個のフローチャートにしているが、このシナリオレイヤーの数はこれに限られない。特に背景や予告に使用するレイヤーは機種仕様により増減し、本実施例はなるべく少数に限定して説明している。また、各シナリオレイヤーの制御対象も上記実施例に限られず、各種割り振りが有り得る。例えば、シナリオレイヤー0は背景用であり、シナリオレイヤー1はカットイン予告用であり、シナリオレイヤー2は左図柄用であり、シナリオレイヤー3は右図柄用であり、シナリオレイヤー4は中図柄用であり、シナリオレイヤー5は保留用であり、シナリオレイヤー6は他の予告用であり、シナリオレイヤー7は第4図柄用であるという態様でもよい。
【0540】
また、シナリオ管理領域のアドレス領域は、既述したようにシナリオレイヤー毎に設けられており、制御するものがある場合には、対応するシナリオ管理領域X(X=0〜7の何れか)のアドレス領域にシナリオ管理領域のアドレスが保存されており、制御するものがない場合には、対応するシナリオ管理領域Xのアドレス領域の中はNULLに設定されている(前述したステップD283、D287参照)。例えば、客待ちのムービー中には保留の表示を行わないので、背景の領域(シナリオ管理領域0のアドレス領域)にはアドレス(シナリオ管理領域0のアドレス)が設定されているが、保留の領域(シナリオ管理領域6のアドレス領域)にはNULLが設定されている。
また、シナリオレイヤーの制御対象の割り振りは、あくまで基本的なものであり、例えば図136に示すように背景用のシナリオレイヤー0で図柄(飾り特図)の制御も行う場合もある。
【0541】
〔シナリオ解析処理〕
次に、上述のシナリオ設定処理におけるステップD552等で実行されるシナリオ解析処理の詳細について図104及び図105により説明する。
このルーチンが開始されると、まずステップD571でbrkの値(後述する処理の繰り返しに利用されるデータ)を0に設定し、次いでステップD572において、準備されているシナリオ管理領域Xのアドレス領域に設定されているデータ(シナリオ管理領域Xのアドレスのデータ、或いはNULL)をロードした後、ステップD573に進む。ここで、「準備されているシナリオ管理領域Xのアドレス領域」とは、例えば、本ルーチンが前述のステップD552で実行されている場合には、その直前のステップD551で準備されたアドレス領域(シナリオ管理領域0のアドレス領域)であり、本ルーチンが前述のステップD554で実行されている場合には、その直前のステップD553で準備されたアドレス領域(シナリオ管理領域1のアドレス領域)であり、他のケースも同様に直前のステップで準備されたものである。
【0542】
ステップD573に進むと、ステップD572でロードしたアドレスのデータがNULLか判定し、NULLならば制御不要なのでリターンし、NULLでなければステップD574に進む。
ステップD574に進むと、ステップD572でロードしたアドレスのシナリオ管理領域におけるシナリオ用タイマの値を読み取り、このシナリオ用タイマの値が0より小さいか判定し、0より小さい場合には異常なのでリターンし、0以上である場合にはステップD575を実行してステップD576に進む。なお、前記シナリオ用タイマの値は、シナリオ制御データが設定される度に前述のステップD284でまず0に設定されるが、0が下限であるので、0より小さい場合は異常と判定する。またステップD575では、前記シナリオ用タイマの値が0でなければ、このシナリオ用タイマの値を1だけ減らす更新を実行する。
ステップD576に進むと、前記シナリオ用タイマの値が0より大きいか判定し、0より大きい場合には未だタイムアップしていないのでリターンし、0以下である場合にはステップD577に進む。
【0543】
これらステップD574乃至D576によれば、ウェイト用のタイマ管理が行われる。即ち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるシナリオ用タイマ領域に設定されたシナリオ用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせる動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせる動作」とは、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、図136の20行目(//19)では、定数ウェイトコードが設定されてウェイト時間値が(300)であるため、300フレームに相当する時間この行にとどまり、当該時間経過後に次の行に進行するが、この動作が「シナリオテーブルの制御進行を遅らせる動作」に相当する。なお、シナリオテーブルにおいて、ウェイト時間値とウェイト時間値の間にあるコード(定数ウェイトコード等(PB待ちコード含む)が設定された行と、次に定数ウェイトコード等が設定された行との間にある行のオペコード)は全て同時期に実行される。そして、ステップD575の更新により前記シナリオ用タイマの値が0以下になると、シナリオ用タイマがタイムアップしたと判断されるため、対象のシナリオテーブルの制御処理を進行させるべく、ステップD576を経てステップD577に進む構成となっている。但し、対象のシナリオテーブルの制御処理(ステップD584以降)は、後述するPB有効時間のためのタイマ管理の処理の後に実行される。
【0544】
即ち、ステップD577に進むと、対象のPB用タイマの値(ステップD572でロードしたアドレスのシナリオ管理領域におけるPB用タイマ領域の値)を読み取り、このPB用タイマの値が0より大きいか判定し、0より大きい場合にはタイムアップしていないのでステップD578に進み、0以下である場合にはタイムアップしているのでステップD583に進む。
ステップD578に進むと、PB操作フラグがセットされているか判定し、PB操作フラグがセットされていればステップD579に進み、PB操作フラグがセットされていない場合にはステップD582で対象のPB用タイマの値を1だけ減らす更新を実行した後にステップD583に進む。ここで、PB操作フラグは、前述のメイン処理におけるステップD21で実行される演出ボタン入力処理において、PB(プッシュボタン9)の押下操作が検出されるとセットされるフラグである。
【0545】
ステップD579に進むと、対象のPB用タイマのこの時点での値(即ち、PBが押された時点におけるPB有効時間の残り時間)をPB演出加算時間として保存し、次いでステップD580で対象のPB用タイマの値を0に設定し、次にステップD581で対象のシナリオ管理領域のPB検知フラグ領域にフラグをセットする(即ち、PB検知フラグが立てられていることを示すデータを設定する)。これらステップD579乃至D581では、PBが押下操作されたので、PB用タイマの残り時間をPB演出加算時間として記憶し(後述するステップD696のため)、PB用タイマを0にリセットし、PBが操作されたことを示すPB検知フラグをシナリオ制御のためにシナリオ管理領域にセットしている。
そして、ステップD583に進むと、対象のPB用タイマの値が0より大きいか判定し、0より大きい場合にはPB操作が検出されずタイムアップもしていないのでリターンし、0以下である場合にはPB操作がされたかタイムアップしたのでステップD584に進む。
【0546】
上記ステップD577乃至D583によれば、PB有効時間のためのタイマ管理が行われる。即ち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるPB用タイマ領域に0より大きなPB用タイマの値が設定されている場合には、このPB用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせてPB有効時間を設ける動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせてPB有効時間を設ける動作」とは、対象のPB用タイマの値が0になる(即ちPB用タイマがタイムアップする)か、或いはPBが押下操作されるまで、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、図136の28行目(//27)では、定数ウェイトコードが設定されてウェイト時間値が(30)であるため、30フレームに相当する時間この行にとどまり、この時間経過後に次の29行目に進行するが、この28行目による動作は前述したシナリオ用タイマによる「シナリオテーブルの制御進行を遅らせる動作」である。一方、次の29行目(//28)では、PB待ちコードが設定されて有効時間値が(2970)であるため、後述するステップD702でこの有効時間値(2970)がPB用タイマに設定され、PB押下操作が無ければ最大2970フレームに相当する有効時間この行にとどまり、この有効時間内にPB押下操作があれば即座に次の行に進行するが、このようにPB用タイマに設定される有効時間(PB有効時間)だけPBの押下操作を待つ動作が「シナリオテーブルの制御進行を遅らせてPB有効時間を設ける動作」に相当する。そして、PBの操作がないままにステップD582の更新により前記PB用タイマの値が0以下になって前記PB用タイマがタイムアップするか、前記PB用タイマがタイムアップするまでのPB有効時間の間にPBが操作されると、ステップD582又はステップD579乃至D581を経てステップD583に進み、この場合はステップD583の判定結果がNO(PB用タイマは0)になってステップD584に進む。
但し、前記PB用タイマ領域に設定されたPB用タイマの値が当初から0の場合には、ステップD577からステップD583に進み、さらにステップD583からステップD584に進んで即座に制御が進行する(この場合のPB有効時間は0(無し)となる)。なお、PB有効時間は予告演出等の場合において設けられるため、それ以外の場合にはPB用タイマ領域の値は0に設定されていてPB有効時間は設けられない。
【0547】
次にステップD584以降では、対象のシナリオテーブルの制御処理が実行される。以下、これを説明する。
ステップD584に進むと、brkの値として0でない値が設定されるまで、ループ端である当該ステップD584からステップD623までの間の処理を繰り返し実行する。つまり、後方のループ端であるステップD623では、その時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返す。
【0548】
即ち、ステップD584に進むと、まずステップD585乃至D588を順次実行した後に、ステップD589に進む。
ステップD585では、対象のシナリオ管理領域におけるシナリオ用データテーブル領域からシナリオテーブルのアドレスをロードする。例えば、客待ちデモ時のシナリオレイヤー番号0の場合には、図136に示すシナリオテーブルのアドレスが、このステップD585でロードされる。
ステップD586では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペコードを取得する。なお既述したように、シナリオテーブルは、例えば図136図137等に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行に設定されたものである。例えば図137の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペコードのデータである「モーション継続コード」がステップD586で取得される。また、図136の場合、例えば指定行が1行目であると、この1行目のオペコードのデータである「モーション1削除コード」(具体的データとしては、例えば「51h」)がステップD586で取得される。或いは、図136の場合、例えば指定行が16行目であると、16行目のオペコードのデータである「モーション10登録コード」(具体的データとしては、例えば「4Ah」)がステップD586で取得される。
【0549】
ステップD587では、直前のステップD586で取得したオペコードを上位ビットと下位ビットに分離して準備する。例えば、オペコードのデータが前述した「51h」である場合、上位ビットである「5」と下位ビットである「1」とを分離してそれぞれ準備する。なお、オペコードの上位ビットと下位ビットには、それぞれ意味が持たせてある(但し、下位ビットには意味が無い場合がある)。例えば、「モーション1削除コード」である「51h」のうち、上位ビットである「5」はモーション削除を意味し、下位ビットである「1」は対象(この場合、モーション削除の対象)のモーションのレイヤーがモーション1であることを意味している。
ステップD588では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペランドを取得し、準備する。例えば図137の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペランドのデータである「モーションインデックスNo.(51)」をステップD588で取得して準備する。また図136の場合、指定行が16行目(オペコードは「モーション10登録コード」)であると、この16行目のオペランドのデータである「モーションインデックスNo.(−1)」をステップD588で取得して準備する。
【0550】
ステップD589に進むと、準備したオペコード上位データ(ステップD587で分離して準備したデータ、以下同様)を判定し、モーション登録を指令するデータ(モーション登録コード)であるとステップD601でモーション登録処理(後述する)を実行した後にステップD621に進み、モーション登録を指令するデータでない場合にはステップD590に進む。
ステップD590に進むと、準備したオペコード上位データを判定し、モーション削除を指令するデータ(モーション削除コード)であるとステップD602でモーション削除処理(後述する)を実行した後にステップD621に進み、モーション削除を指令するデータでない場合にはステップD591に進む。
【0551】
ステップD591に進むと、準備したオペコード上位データを判定し、モーション継続を指令するデータ(モーション継続コード)であるとステップD603でモーション継続処理(後述する)を実行した後にステップD621に進み、モーション継続を指令するデータでない場合にはステップD592に進む。
ステップD592に進むと、準備したオペコード上位データを判定し、定数ウェイトを指令するデータ(定数ウェイトコード)であるとステップD604で定数ウェイト処理(後述する)を実行した後にステップD621に進み、定数ウェイトを指令するデータでない場合にはステップD593に進む。
【0552】
ステップD593に進むと、準備したオペコード上位データを判定し、可変ウェイトを指令するデータ(可変ウェイトコード)であるとステップD605で可変ウェイト処理(後述する)を実行した後にステップD621に進み、可変ウェイトを指令するデータでない場合にはステップD594に進む。
ステップD594に進むと、準備したオペコード上位データを判定し、PB待ちを指令するデータ(PB待ちコード)であるとステップD606でPB待ち処理(後述する)を実行した後にステップD621に進み、PB待ちを指令するデータでない場合にはステップD595に進む。
【0553】
ステップD595に進むと、準備したオペコード上位データを判定し、PB判定分岐を指令するデータ(PB判定分岐コード)であるとステップD607でPB判定分岐処理(後述する)を実行した後にステップD621に進み、PB判定分岐を指令するデータでない場合にはステップD596に進む。
ステップD596に進むと、準備したオペコード上位データを判定し、図柄停止を指令するデータ(停止図柄setコード)であるとステップD608で図柄停止処理を実行した後にステップD621に進み、図柄停止を指令するデータでない場合にはステップD597に進む。
【0554】
ステップD597に進むと、準備したオペコード上位データを判定し、図柄逆算差替を指令するデータ(図柄逆算差替コード)であるとステップD609で図柄逆算差替処理(後述する)を実行した後にステップD621に進み、図柄逆算差替を指令するデータでない場合にはステップD598に進む。
ステップD598に進むと、準備したオペコード上位データを判定し、変動シナリオ切替を指令するデータ(変動シナリオ切替コード)であるとステップD610で変動シナリオ切替処理を実行した後にステップD621に進み、変動シナリオ切替を指令するデータでない場合にはステップD599に進む。
【0555】
ステップD599に進むと、準備したオペコード上位データを判定し、繰り返しを指令するデータ(繰返しコード)であるとステップD611で繰り返し処理を実行した後にステップD621に進み、繰り返しを指令するデータでない場合にはステップD600に進む。
ステップD600に進むと、準備したオペコード上位データを判定し、終了を指令するデータ(終了コード)であるとステップD612で終了処理を実行した後にステップD621に進み、終了を指令するデータでない場合には図示省略した他のステップに進む。なお、図示省略した他のステップ(図105において波線で示した箇所にあるステップ)は、上述したステップD589乃至D612と同様に、準備したオペコード上位データの内容を判定し、その判定結果が他の種類のデータ(コード)である場合に対応する処理を実行してステップD621に進むというもので、準備したオペコード上位データが何れの種類のデータ(コード)にも該当しない場合にはリターンする構成となっている。
【0556】
次にステップD621に進むと、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、この時点で設定されているデータを読み取り、このデータがNULLか判定し、NULLならばステップD622でbrkの値を1に設定してステップD623に進み、NULLでなければステップD622を実行しないでステップD623に進む。
そしてステップD623に進むと、前述したようにその時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返し、brkの値が0でない場合には本ルーチンを終了してリターンする。
【0557】
このため、上記ステップD601乃至D612等の何れかの処理において、brkの値が0でない値に設定されるか、或いは、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLが設定されると、ステップD584とD623をループ端とするループ処理を終了してリターンすることになる。そして、このようにして当該ループ処理を終了するまでは、シナリオ管理領域におけるシナリオ用データテーブル領域のアドレス(シナリオテーブルとその行を指定するアドレス)が適宜変更されて上記ループ処理が繰り返されて一連の演出の制御が実行される。
なお、上記のサブルーチン群(ステップD601乃至D612)は一例であり、機種の仕様次第で変わる。
【0558】
ここで、モーションインデックスについて説明しておく。
モーションインデックスは、モーション制御テーブル(モーションテーブル)を特定するもので、例えば図137の最上段のシナリオレイヤー0のシナリオテーブルの1行目のオペランドのデータである「モーションインデックスNo.(51)」は、モーションインデックスのデータが「51」であることを示している。このモーションインデックスのデータは、例えば図135に示されるようなモーション用リストテーブルの特定の行を指定し、これによりモーション制御テーブル(モーションテーブル)を特定する。
【0559】
なお、図135は演出制御装置のPROM321に記憶されたモーション用リストテーブルの一例である。モーション用リストテーブルは、多数あるモーションテーブルに関するデータを各行(各レコード)に配置したモーションテーブルのデータリストである。このモーション用リストテーブルテーブルの各行のデータがそれぞれ一つのモーションテーブルに関するデータである。このモーション用リストテーブルの各行には、データ項目(データのカテゴリ)として、フレーム数、モーションコマンド数、モーションテーブル名、ビヘイビア数、及びビヘイビアテーブル名がある。但し、このカテゴリ設定は一例であり、これ以外のパラメータを設定してもよい。各データ項目の内容は以下のとおりである。
・フレーム数(表示フレーム数)は、当該モーションテーブルは何フレーム分のモーションデータ(モーションテーブルを構成するデータ)が定義されているかを示す。
・モーションコマンド数は、当該モーションテーブル内に定義されているコマンド数を示す。
・モーションテーブル名は、当該モーションテーブルの名称(=アドレス)を示す。
・ビヘイビア数は、当該モーションテーブル内で使用するビヘイビアの数(種類)を示す。
・ビヘイビアテーブル名は、当該モーション制御時のビヘイビア(処理のアドレス)を定義してあるビヘイビアテーブルの名称(=アドレス)を示す。
なお、ビヘイビア数が0なら、当然ビヘイビアテーブルは不要である。
【0560】
ここで、ビヘイビアとは、オブジェクト(表示要素)の動作を設定する機能である。本例では、主にモーションテーブル上に定義されている基本の画像データ(キャラクタデータ)を状況に応じて変更するために使用している。
また、図135におけるモーション用リストテーブルの右側には、モーションインデックスの値と対応する表示内容を示している。例えば、第4図柄用(特図2変動)モーション制御テーブルを特定するモーションインデックスの値は、62である。また、第4図柄用(特図1変動)モーション制御テーブルを特定するモーションインデックスの値は、61である。
【0561】
〔モーション登録処理〕
次に、上述のシナリオ解析処理におけるステップD601で実行されるモーション登録処理の詳細について図106により説明する。
このルーチンが開始されると、まずステップD631、D632を順次実行した後にステップD633に進む。
ステップD631では、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。これは、前述のステップD585が次回実行されるときの指定行を次の行に進めておくための更新処理であり、この更新処理が行われることによって対象のシナリオテーブルの指定行が次の行に切り替えられて前述のループ処理(ステップD584〜D623)が繰り返されることになる。
【0562】
ステップD632では、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備する。本例の場合、演出制御装置300のRAM311aには、「モーション管理領域のアドレス領域」と「モーション管理領域」というモーション管理用の記憶領域が設けられる構成となっている。このうち、モーション管理領域は、表示制御する(画面上に表示しているとは限らない)オブジェクトの数(最大数)である表示数(例えば左図柄の場合、次図柄、現図柄、前図柄の3個)を記憶する領域(表示数の領域)と、何フレームまで処理が進んだかを示すフレーム番号を記憶する領域(フレーム番号の領域)と、モーションテーブルの何行目まで処理が進んだかを示すコマンド位置を記憶する領域(コマンド位置の領域)と、複数あるモーション用リストテーブルの中でどのテーブルを使用するかを示すアドレスのデータ(モーションインデックスに対応)を記憶する領域(モーション用リストテーブル領域)と、表示数分の表示情報領域とを含む構造である。
【0563】
また、同一構造のモーション管理領域がモーションのレイヤー(本例では、モーション0〜13まである)に対応してこのモーションのレイヤー分存在し、本例ではモーションのレイヤーが14個あるので、このモーション管理領域も14個(モーション管理領域0〜13)存在する。さらに、このモーション管理領域に対応して、モーション管理領域のアドレス領域も本例では14個(モーション0用アドレス〜モーション13用アドレス)ある。ここで、モーション管理領域のアドレス領域は、モーション管理領域のアドレスを記憶する領域であるため、モーション管理領域毎(即ち、モーションのレイヤー毎)に設けられ、本例では14個存在する。
そして、上記ステップD632では、このように複数あるモーション管理領域のうちの一つを特定するために、オペコード下位ビットのデータが指定するモーションのレイヤー番号に対応するモーション管理領域(以下、対応モーション管理領域という)の先頭アドレスを、対応するモーション管理領域のアドレス領域から読み出して準備する。なお本願では、モーションのレイヤー番号(本例では、0〜13)を、モーション番号と簡略化して表記したり、モーション管理領域X(Xはモーション番号に対応する番号)というように使用したりする場合がある。
【0564】
なお、モーション管理領域内の表示情報領域は、表示数(オブジェクトの数)分だけ複数あり、各表示情報領域がそれぞれ、表示種別、エフェクトタイプ、エフェクトパラメータ、表示左上点のX座標、表示左上点のY座標、表示右上点のX座標、表示右上点のY座標、表示左下点のX座標、表示左下点のY座標、画像インデックス、バックグラウンドカラー、フォアグラウンドカラー、IPicture(Iピクチャ)のみの動画時のフレームカウント、及びビヘイビアインデックスの各データを記憶する領域を含んでいる。
【0565】
ここで、表示種別は、当該オブジェクトの種別(静止画か動画(ムービー)かを示す情報の他、ムービーの種類(Iピクチャか否かなど)を示す情報を含む)である。エフェクトタイプは、画像に加えるエフェクト(透過性を持たせるなどの加工処理)の種類を示す情報である。エフェクトパラメータは、前記エフェクトのパラメータ(透過性を持たせる場合の透過度など)である。X座標及びY座標は、画像の表示位置を特定するデータであり、本例ではポリゴン表示機能(立体を多面体として表示する機能)のために、表示左上点、表示右上点、表示左下点の3点の座標がある。画像インデックスは、静止画又はムービーを特定する番号である。IPictureのみの動画時のフレームカウントとは、何フレーム目のデータがIPicture(即ちIフレーム)かを示すデータである。ビヘイビアインデックスは、ビヘイビア(図柄差替え)のためのインデックスである。なお、ビヘイビア(図柄差替え)とは、同じ大きさ同じ表示位置でキャラクタ(静止画或いは動画)のみを差し替えるもので、演出表示に登場するキャラクタ等を差し替えるカットインキャラ差替えとは異なる。カットインキャラ差替えは、キャラクタを表示する大きさや表示位置も差替えにより変化し得る。なお、カットインキャラ差替えの処理は、例えば前述の変動演出設定処理内で呼び出されて実行されるサブルーチン(予告演出設定処理1)で行われるが、このサブルーチンについては図示省略し、説明も省略する。
【0566】
次に、ステップD633に進むと、ステップD632でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD635に進み、NULLでなければステップD634でモーションデータ初期化処理1(後述する)を実行した後にステップD635に進む。
ステップD635に進むと、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域の先頭アドレスを設定して準備し、ステップD636に進む。
ステップD636に進むと、前記オペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域にステップD635で準備した先頭アドレスを設定し、ステップD637に進む。
【0567】
これらステップD632乃至D636では、何れにせよ最終的には、ステップD636において、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域の先頭アドレスを対応するモーション管理領域のアドレス領域に設定するのであるが、対応するモーション管理領域のアドレス領域にNULL以外のアドレスのデータが既に設定されていた場合には、動画展開に使っていた展開領域の開放設定等を行うモーションデータ初期化処理1(後述する)が必要になるので、これをステップD634で実行している。
【0568】
次に、ステップD637に進むと、ステップD588で準備したオペランドのデータが0以上か判定し、0以上ならばステップD638乃至D640を順次実行した後にリターンし、0未満(即ち、マイナスの値)ならばステップD641乃至D643を順次実行した後にリターンする。
ステップD638では、前記オペランドのデータ(ステップD588で準備したオペランドのデータ、以下同様)を、モーションインデックスとして準備する。
ステップD639では、オペコード下位に対応する使用中モーションインデックスを記憶する領域(以下、使用中モーションインデックス領域という)に、ステップD638で準備したデータを設定する。なお、使用中モーションインデックス領域は、モーション用リストテーブルにおける制御対象の行を指定するモーションインデックス(使用中モーションインデックス)のデータを、モーション番号毎に記憶する領域であり、モーション番号毎に設けられている。このステップD639では、ステップD587で分離されたオペコードの下位ビットで特定されるモーション番号に対応する使用中モーションインデックス領域に、ステップD638で準備したデータを設定する(即ち保存する)。
ステップD640では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
【0569】
一方、ステップD641では、オペコード下位に対応するモーションインデックスのデータを、対応するモーションインデックス領域からロードし、準備する。なお、モーションインデックス領域には、例えば、前述の予告演出設定処理1(図示省略)でモーションインデックスのデータがセーブされる記憶領域(SU1カットイン領域、SU2カットイン領域、SU3カットイン領域)がある。このステップD641では、このように複数あるRAM内のモーションインデックス領域のうち、ステップD587で分離されたオペコードの下位ビットと現時点の遊技機の状態(確変中か否かなど)で特定されるモーションインデックス領域からモーションインデックスのデータを取り出して準備する。
次にステップD642では、オペコード下位に対応する使用中モーションインデックス領域に、ステップD641で準備したデータを設定する。
そしてステップD643では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
【0570】
以上説明したステップD637乃至D643のうち、ステップD637の判定結果がYES(オペランドが0以上)となってステップD638乃至D640を実行するルートと、ステップD637の判定結果がNO(オペランドが0未満)となってステップD6412乃至D643を実行するルートとは、以下のように異なる。即ち、前者のルートは、ROMに保存されたシナリオテーブルに設定されたモーションインデックスの値(固定値)を制御に使用するルートであり、後者のルートは、RAM内のモーションインデックス領域に保存されたモーションインデックスの値(固定値でない)を制御に使用するルートである。遊技機の状態(確変中か否かなど)に応じて使用するモーションインデックスを変えたい場合に、前記オペランドの値としてマイナスの値(例えば「−1」)が設定されていて後者のルートが実行される構成となっている。
【0571】
〔モーションデータ初期化処理1〕
次に、前述のモーション登録処理におけるステップD634(或いは後述するステップD674等)で実行されるモーションデータ初期化処理1の詳細について図107左側により説明する。なお、演出制御装置300の制御処理の説明においてモーション制御データとは、モーション管理領域に保存される表示数、フレーム番号等のデータである。
このルーチンが開始されると、まず、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップD651乃至ステップD655を繰り返し実行し、その後ステップD656に進む。即ち、ステップD651ではルーチン開始直後は変数iを0としてステップD652に進む。ステップD655では、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。そしてステップD651に戻ると、変数iの値を1だけ増加させてステップD652に進む。なお、終値の値は、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域(以下、対象のモーション管理領域という)に設定されている表示数のデータから1を減算した値である。即ち、このルーチンでは、この表示数分だけステップD651乃至D655のループ処理を繰り返し実行し、その後ステップD656に進む。
【0572】
ステップD652に進むと、対象のモーション管理領域における変数iに対応する表示情報領域のアドレスを設定し、その後ステップD653に進む。このステップD652では、例えば変数i=0ならば、対象のモーション管理領域において、表示数分だけ複数存在する表示情報領域のうちの最初の表示情報領域のアドレスを設定する。
ステップD653に進むと、直前のステップD652でアドレスが設定された表示情報領域における表示種別のデータを読み取り、この表示種別が動画か否か判定する。そして、表示種別が動画であればステップD654でその展開領域(圧縮された動画データの展開に使用していた領域)の解放設定を行った後にステップD655に進み、動画でなければステップD654を実行しないでステップD655に進む。ステップD655に進むと、前述したように、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。
【0573】
次に、ステップD656に進むと、ステップD656乃至D658で対象のモーション管理領域のパラメータを初期化する処理を行い、その後リターンする。即ち、ステップD656では表示数を0に設定し、ステップD657ではフレーム番号を−1に設定し、ステップD658ではコマンド位置を0に設定する。
【0574】
〔モーションデータ初期化処理2〕
次に、前述のモーション登録処理におけるステップD640、D643(或いは後述するステップD689等)で実行されるモーションデータ初期化処理2の詳細について図107右側により説明する。
このルーチンが開始されると、まずステップD661乃至D663で対象のモーション管理領域のパラメータを初期化する処理を行い、その後ステップD664に進む。即ち、ステップD661では表示数を0に設定し、ステップD662ではフレーム番号を−1に設定し、ステップD663ではコマンド位置を0に設定する。
そしてステップD664に進むと、対象のモーション管理領域におけるモーション用リストテーブル領域に、使用中モーションインデックス(例えば前記ステップD639又はD642で設定したデータ)に対応するアドレス(モーション用リストテーブルとその行を指定するアドレス)を設定し、その後リターンする。
【0575】
〔モーション削除処理〕
次に、前述のシナリオ解析処理におけるステップD602で実行されるモーション削除処理の詳細について図108左側により説明する。
このルーチンが開始されると、まずステップD671、D672を順次実行した後にステップD673に進む。
ステップD671では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD672では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD673に進む。
【0576】
次に、ステップD673に進むと、ステップD672でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD675に進み、NULLでなければステップD674で前記モーションデータ初期化処理1を実行した後にステップD675に進む。
ステップD675に進むと、対象のモーション管理領域のアドレス領域にNULLを設定し、ステップD676に進む。
ステップD676に進むと、前記オペコード(ステップD587で分離されたオペコード、以下同様)の下位ビットのデータに対応する使用中モーションインデックスのデータをクリアし、その後リターンする。
以上説明したモーション削除処理は、キャラクタ等の制御を終了する時に実行されて、これにより、モーション情報(モーション管理領域のアドレス領域のデータや、使用中モーションインデックス領域のデータ)が削除される。
【0577】
〔モーション継続処理〕
次に、前述のシナリオ解析処理におけるステップD603で実行されるモーション継続処理の詳細について図108右側により説明する。
このルーチンが開始されると、まずステップD681、D682を順次実行した後にステップD683に進む。
ステップD681では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD682では、前記オペコードの下位ビットに対応する使用中モーションインデックスのデータをロードする。
【0578】
ステップD683に進むと、ステップD682でロードした使用中モーションインデックスのデータが、ステップD588で取得したオペランドと一致するか判定し、一致する場合にはリターンし、一致しない場合にはステップD684以降を実行する。ここでは、現在制御中のモーションと、シナリオテーブルで指定されたモーションとが同一か判定し、同一であれば現在制御中のモーションをそのまま継続すべきであるので何も処理することなくリターンし、同一でなければ新たなモーション登録を行うべくステップD684以降を実行する構成となっている。
そして、ステップD684以降では、前述したモーション登録処理(シナリオテーブルの値を使用するルート)と同様の処理を行っている。
即ち、ステップD684では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD685に進む。
【0579】
次に、ステップD685に進むと、ステップD684でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD687に進み、NULLでなければステップD686で前記モーションデータ初期化処理1を実行した後にステップD687に進む。
ステップD687に進むと、対象のモーション管理領域の先頭アドレスを設定して準備し、ステップD688に進む。
ステップD688に進むと、対象のモーション管理領域のアドレス領域にステップD687で準備した先頭アドレスを設定し、ステップD689に進む。
ステップD689に進むと、モーションデータ初期化処理(前述のモーションデータ初期化処理2)を実行する。
ステップD690では、前記オペコードの下位ビットに対応する使用中モーションインデックス領域に、前記オペランドのデータを設定し、その後リターンする。
以上説明したモーション継続処理では、シナリオテーブルで指定されたモーション情報が現在制御している内容と同じならそのまま継続、違うなら新たに登録する処理が実行される。これにより、例えば、通常変動中の背景はリーチ等で背景変化しなければ複数の変動にまたがってムービーが継続されるが、リーチが発生したりすると頭からの新規再生となる。
【0580】
〔定数ウェイト処理〕
次に、前述のシナリオ解析処理におけるステップD604で実行される定数ウェイト処理の詳細について図109上側により説明する。
このルーチンが開始されると、まずステップD691で、前記ステップD631と同様の更新処理を実行する。
次にステップD692で、対象のシナリオ管理領域のシナリオ用タイマ領域に、前記オペランドのデータを設定する。
次いでステップD693で、brkの値を1に設定してリターンする。
本ルーチンによれば、指定された固定時間だけ待つ場合の時間値等が設定される。例えば、図136に示すシナリオテーブルおける20行目(//19)の場合、オペコードが定数ウェイトコードであるため本ルーチンが実行され、オペランドのウェイト時間が(300)であるため、上記ステップD692でシナリオ用タイマ領域の値として300(10秒=300×1/30)が設定される。そして、上記ステップD693でbrkの値が1になるので、前述したシナリオ解析処理におけるループ処理(ステップD584からD623)の繰り返しが終了する。
【0581】
〔可変ウェイト処理〕
次に、前述のシナリオ解析処理におけるステップD605で実行される可変ウェイト処理の詳細について図109下側により説明する。
このルーチンが開始されると、まずステップD695で、前記ステップD631と同様の更新処理を実行する。
次にステップD696で、前記オペランドのデータにPB演出加算時間(ステップD579で設定された値)を加えた値を、対象のシナリオ管理領域のシナリオ用タイマ領域に設定する。
次いでステップD697で、brkの値を1に設定してリターンする。
【0582】
本ルーチンでは、遊技者のボタン操作(PB操作)により演出時間が変化する場合に可変時間ウェイトするための時間値等を設定する。これにより、ボタン指示があってから早く押す程その後行われる演出が長くなり、有効時間ギリギリで押すと短時間しか演出が行われないという動作が実現される。例えば、図142上側に示すシナリオテーブルおける11行目(//10)の場合、オペコードが可変ウェイトコードであるため本ルーチンが実行され、オペランドの有効時間値が(55)であるため、上記ステップD696でシナリオ用タイマ領域の値として55+PB演出加算時間が設定される。ここで、PB演出加算時間は、PB操作を遊技者に促す演出が行われてから遊技者が早くPB操作すればする程、大きな値となる(前記ステップD579参照)。そのため、遊技者が早くPB操作すればする程、その後行われる演出が長くなる。
【0583】
〔PB待ち処理〕
次に、前述のシナリオ解析処理におけるステップD606で実行されるPB待ち処理の詳細について図110上側により説明する。
このルーチンが開始されると、まずステップD701で、前記ステップD631と同様の更新処理を実行する。
次にステップD702で、前記オペランドのデータを、対象のシナリオ管理領域のPB用タイマ領域に設定する。
次にステップD703で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグをクリアする。
次いでステップD704で、brkの値を1に設定してリターンする。
【0584】
本ルーチンでは、プッシュボタン演出を開始する時の設定が行われる。例えば、図142上側に示すシナリオテーブルの場合、まず1行目(//0)でモーション9のモーション削除処理が実行され、次いで2行目(//1)でモーション8のモーション登録処理(図135に示すプッシュボタンON/OFF演出のモーションテーブル「MDat0070」に対応するモーションインデックス「70」の設定)が実行された後、次の3行目(//2)のオペコードがPB待ちコードであるため本ルーチンが実行され、オペランドの有効時間値が(90)であるため、上記ステップD702でタイマ領域の値として90が設定され、3秒(=90×1/30)のプッシュボタン演出が開始される。なお、上記ステップD703では、プッシュボタン演出を開始するため、PB(プッシュボタン)が操作されたことを示すPB検知フラグの値をオフ(フラグが立っていない状態)に初期設定している。
【0585】
〔PB判定分岐処理〕
次に、前述のシナリオ解析処理におけるステップD607で実行されるPB判定分岐処理の詳細について図110下側により説明する。
このルーチンが開始されると、まずステップD711で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグがセットされているか(即ち、PB検知フラグが立てられているか)判定し、セットされている場合にはステップD713に進み、セットされていない場合(PB検知フラグがオフの場合)にはステップD712に進む。
ステップD712に進むと、前記ステップD631と同様の更新処理を実行してリターンする。
ステップD713に進むと、前記ステップD631と同様の更新処理を実行してステップD714に進む。
ステップD714に進むと、ステップD588で準備したオペランドのデータ分だけステップD713のアドレス更新処理を実行完了したか判定し、完了していればリターンし、完了していなければステップD713に戻って処理を繰り返す。
【0586】
本ルーチンは、前述のプッシュボタン演出においてプッシュボタンが押されないまま有効時間を計時するPB用タイマがタイムアップしたか、有効時間内にPBが押されてタイマが強制的に0になった時に実行される処理である。そして、PBが押されないままタイムアップした場合には、ステップD711を経てステップD712に進み、シナリオテーブルの指定行が1行分だけ次に進んでリターンする。また、有効時間内にPBが押された場合には、ステップD711を経てステップD713に進み、オペランドで指定された分だけシナリオテーブルの指定行がジャンプする。
【0587】
例えば、図142上側に示すシナリオテーブルの場合、前述したように3行目までの制御が終了すると、次の4行目(//3)のオペコードがPB判定分岐コードであるため本ルーチンが実行され、オペランドのテーブル飛び数が(3)であるため、PBが有効時間内に押されていてステップD713に進めば、ステップD713が3回実行されるまでステップD714の判定結果はNOとなり、この結果、前記シナリオテーブルにおいて次の指定行は7行目(//6)に飛ぶことになる。そして、7行目に飛ぶと、7行目以降の演出(図142上側の場合、モーション8として表示画面に武将のキャラクタが登場してセリフの音声を出力する演出)が開始される。一方、上述したように本ルーチンが実行された場合でも、PBが有効時間内に押されていなければ、ステップD712が1回実行されるだけでリターンする(本ルーチンが終了する)ので、図142上側における指定行は次の5行目(//4)になり、この5行目によってモーション8のモーション削除処理が実行され、次いで6行目によって後述する終了処理が実行されて、前述したプッシュボタン演出が単に終了する(武将のキャラクタは登場しない)。
【0588】
〔図柄停止処理〕
次に、前述のシナリオ解析処理におけるステップD608で実行される図柄停止処理の詳細について図111により説明する。
このルーチンが開始されると、まずステップD721で、前記ステップD631と同様の更新処理を実行した後、ステップD722に進む。
ステップD722に進むと、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD727を実行した後にリターンし、左図柄でなければステップD723に進む。ステップD727では、特図停止図柄領域(左)の値(例えば前述のステップD461で設定された値)を現図柄(左)として設定する。
ステップD723に進むと、前記オペコードの下位ビットのデータが右図柄を指定するものか判定し、右図柄であればステップD728を実行した後にリターンし、右図柄でなければステップD724に進む。ステップD728では、特図停止図柄領域(右)の値(例えば前述のステップD461で設定された値)を現図柄(右)として設定する。
【0589】
ステップD724に進むと、前記オペコードの下位ビットのデータが中図柄を指定するものか判定し、中図柄であればステップD729を実行した後にステップD729aに進み、中図柄でなければステップD725に進む。ステップD729では、特図停止図柄領域(中)の値(例えば前述のステップD461で設定された値)を現図柄(中)として設定する。
ステップD729aに進むと、先読み演出実行中か否か判定し、実行中ならばステップD729bに進み、実行中でなければリターンする。なお、先読み演出実行中か否かは、先読み演出実行中フラグがセットされていれば実行中と判定することにより行う。
ステップD729bに進むと、先読み演出回数がゼロか判定し、ゼロならば先読み演出終了なのでステップD729cで先読み演出実行中フラグをクリアした後にリターンし、ゼロでなければ先読み演出がまだ継続されるのでステップD729cを実行しないでリターンする。
【0590】
なお、先読み演出回数は、先読み実行回数のことであり、前述したステップD186の先読み変動系コマンド処理において実行されるサブルーチンである先読み抽選処理(図示省略)で、先読み演出(先読み予告)を行う場合に設定され、前述したステップD407で特図変動開始時に−1更新される。
また、先読み演出実行中フラグは、上記先読み抽選処理(図示省略)で、先読み演出(先読み予告)を行う場合に設定されるフラグである。特図の変動は本例の場合であると左→右→中の順で停止するので、このような箇所(即ちフローチャート上で中図柄を停止させるタイミングの箇所)に先読み演出実行中フラグをクリアする処理(上記ステップD729a乃至D729c)を入れている。つまり、先読み演出実行中フラグがセットされた先読み演出実行中の状態において、先読み演出回数がゼロになると、中図柄が停止するタイミングで先読み演出実行中フラグをクリアする構成となっている。なお、特図変動の停止順序が違う機種なら、同様に、最後に停止する図柄が停止するタイミングでクリアする処理とすればよい。
また省略しているが、時短や高確率の変動回数終了のチェックなどの処理も、フローチャート上の同じ箇所(ステップD724の判定結果がYESになったときに実行される箇所)にある。
【0591】
ステップD725に進むと、前記オペコードの下位ビットのデータが特図1第4図柄(特図1の第4図柄)を指定するものか判定し、特図1第4図柄であればステップD730を実行した後にリターンし、特図1第4図柄でなければステップD726に進む。ステップD730では、特図停止図柄領域(特図1第4図柄)の値を現図柄(特図1第4図柄)として設定する。
【0592】
ステップD726に進むと、前記オペコードの下位ビットのデータが特図2第4図柄(特図2の第4図柄)を指定するものか判定し、特図2第4図柄図柄であればステップD731を実行した後にリターンし、特図2第4図柄図柄でなければリターンする。ステップD731では、特図停止図柄領域(特図2第4図柄)の値を現図柄(特図2第4図柄)として設定する。
本ルーチンは、飾り特図等の図柄の変動表示を停止する時の処理であり、ステップD727、D728、D729、D730、D731は、その停止図柄を設定する処理である。例えば、図137に示すMS_LZ100というシナリオテーブルにおける6行目が指定行である場合、オペコードが停止図柄setコード(左図柄)であるため、本ルーチンが実行されて上記ステップD722の判定結果がYESとなり、上記ステップD727が実行されて特図の左図柄の停止図柄が設定される。
【0593】
〔図柄逆算差替処理〕
次に、前述のシナリオ解析処理におけるステップD609で実行される図柄逆算差替処理の詳細について図112により説明する。
このルーチンが開始されると、まずステップD741で、前記ステップD631と同様の更新処理を実行する。
次にステップD742で、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD743、D744を実行した後にステップD745に進み、左図柄でなければステップD748に進む。
ステップD743では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
【0594】
ステップD744では、特図停止図柄領域(左)の値からコマ差異(ステップD743で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD745に進むと、ステップD744で設定した図柄番号が0未満(マイナスの値)か判定し、0未満ならばステップD746を実行した後にステップD747を実行してリターンし、0未満でない場合にはステップD746を実行しないでステップD747を実行した後にリターンする。
ステップD746では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD747では、図柄番号の値(ステップD744で設定され、マイナスの場合にはステップD746で調整された値)を現図柄(左)として設定する。
【0595】
次にステップD748に進むと、前記オペコードの下位ビットのデータが右図柄を指定するものか判定し、右図柄であればステップD749、D750を実行した後にステップD751に進み、右図柄でなければステップD754に進む。
ステップD749では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
【0596】
ステップD750では、特図停止図柄領域(右)の値からコマ差異(ステップD749で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD751に進むと、ステップD750で設定した図柄番号が0未満か判定し、0未満ならばステップD752を実行した後にステップD753を実行してリターンし、0未満でない場合にはステップD752を実行しないでステップD753を実行した後にリターンする。
ステップD752では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD753では、図柄番号の値(ステップD750で設定され、マイナスの場合にはステップD752で調整された値)を現図柄(右)として設定する。
【0597】
次にステップD754に進むと、前記オペコードの下位ビットのデータが中図柄を指定するものか判定し、中図柄であればステップD755、D756を実行した後にステップD757に進み、中図柄でなければリターンする。
ステップD755では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
【0598】
ステップD756では、特図停止図柄領域(中)の値からコマ差異(ステップD755で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD757に進むと、ステップD756で設定した図柄番号が0未満か判定し、0未満ならばステップD758を実行した後にステップD759を実行してリターンし、0未満でない場合にはステップD758を実行しないでステップD759を実行した後にリターンする。
ステップD758では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD759では、図柄番号の値(ステップD756で設定され、マイナスの場合にはステップD758で修正された値)を現図柄(中)として設定する。
【0599】
以上説明した図柄逆算差替処理は、高速変動終了後のスローダウンになる瞬間など、図柄を停止予定の数コマ前の図柄(図柄送り数分だけ前の図柄)に差し替える処理である。
例えば、図137に示すMS_LZ100というシナリオテーブルにおける3行目が指定行である場合、オペコードが左図柄逆算差替コードであるため、本ルーチンが実行されて上記ステップD742の判定結果がYESとなり、上記ステップD743乃至D747が実行されて現図柄(左)が設定される。この場合、オペランドは図柄送り数を意味するデータであり、上記MS_LZ100の3行目ではオペランドが送りコマ数(2)であるので、上記ステップD743では、2÷9という割算の余りである2がコマ差異として設定され、このコマ差異の値を使用して上記ステップD744で図柄番号が設定される。例えば、特図停止図柄領域(左)の値が1ならば、−1(=1−2)が図柄番号として設定され、特図停止図柄領域(左)の値が7ならば、5(=7−2)が図柄番号として設定される。そして、このステップD744で設定された図柄番号がマイナスの値(例えば−1)であると、ステップD746が実行されて図柄番号が一巡した値に変更され(例えば、−1ならば8=−1+9に変更され)、その後ステップD747で図柄番号が現図柄(左)として登録される。
【0600】
なお以上の動作は、右図柄の場合(ステップD748乃至D753)や中図柄の場合(ステップD754乃至D759)も同様である。また、ステップD743等における「9」は各リール(左図柄、中図柄、右図柄)における図柄数を表す。これは、機種によって9ではない場合もあるし、更にリール毎に違う値の場合もある。
【0601】
〔変動シナリオ切替処理〕
次に、前述のシナリオ解析処理におけるステップD610で実行される変動シナリオ切替処理の詳細について図113により説明する。
このルーチンが開始されると、まずステップD761で、前記オペランドのデータが左図柄シナリオ2nd(左図柄の変動表示の2nd(前半)への切替を指令するもの)であるか判定し、左図柄シナリオ2ndであればステップD762乃至765を順次実行した後にリターンし、左図柄シナリオ2ndでない場合にはステップD767に進む。
ステップD762では、左図柄なのでシナリオレイヤー番号1を準備する。
【0602】
ステップD763では、図柄変動シナリオテーブル領域から左図柄シナリオ2ndテーブル(左図柄用で2nd(前半)用のシナリオテーブル)のアドレスをロードして準備する。なお、図柄変動シナリオテーブル領域には、前述のステップD462で説明したように、各種の図柄変動のシナリオテーブル(1st(序盤)用、2nd(前半)用、3rd(後半)用のシナリオテーブルが、左図柄と右図柄と中図柄についてそれぞれ存在する)のアドレスが保存されており、このステップD763では左図柄用で2nd(前半)用のシナリオテーブルのアドレスが準備される。
ステップD764では、直前のステップD762、D763で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD765では、準備したシナリオ管理領域のアドレス領域(例えば前記ステップD553等で準備されたシナリオ管理領域のアドレス領域)にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
【0603】
次に、ステップD767に進むと、前記オペランドのデータが右図柄シナリオ2nd(右図柄の変動表示の2ndへの切替を指令するもの)であるか判定し、右図柄シナリオ2ndであればステップD768乃至771を順次実行した後にリターンし、右図柄シナリオ2ndでない場合にはステップD772に進む。
ステップD768では、右図柄なのでシナリオレイヤー番号2を準備する。
【0604】
ステップD769では、図柄変動シナリオテーブル領域から右図柄シナリオ2ndテーブル(右図柄用で2nd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD770では、直前のステップD768、D769で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD771では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
【0605】
次に、ステップD772に進むと、前記オペランドのデータが中図柄シナリオ2nd(中図柄の変動表示の2ndへの切替を指令するもの)であるか判定し、中図柄シナリオ2ndであればステップD773乃至776を順次実行した後にリターンし、中図柄シナリオ2ndでない場合にはステップD777に進む。
ステップD773では、中図柄なのでシナリオレイヤー番号3を準備する。
【0606】
ステップD774では、図柄変動シナリオテーブル領域から中図柄シナリオ2ndテーブル(中図柄用で2nd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD775では、直前のステップD773、D774で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD776では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
【0607】
次に、ステップD777に進むと、前記オペランドのデータが左図柄シナリオ3rd(左図柄の変動表示の3rd(後半)への切替を指令するもの)であるか判定し、左図柄シナリオ3rdであればステップD778乃至781を順次実行した後にリターンし、左図柄シナリオ3rdでない場合にはステップD782に進む。
ステップD778では、左図柄なのでシナリオレイヤー番号1を準備する。
【0608】
ステップD779では、図柄変動シナリオテーブル領域から左図柄シナリオ3rdテーブル(左図柄用で3rd(後半)用のシナリオテーブル)のアドレスをロードして準備する。
ステップD780では、直前のステップD778、D779で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD781では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
【0609】
次に、ステップD782に進むと、前記オペランドのデータが右図柄シナリオ3rd(右図柄の変動表示の3rdへの切替を指令するもの)であるか判定し、右図柄シナリオ3rdであればステップD783乃至786を順次実行した後にリターンし、右図柄シナリオ3rdでない場合にはステップD787に進む。
ステップD783では、右図柄なのでシナリオレイヤー番号2を準備する。
【0610】
ステップD784では、図柄変動シナリオテーブル領域から右図柄シナリオ3rdテーブル(右図柄用で3rd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD785では、直前のステップD783、D784で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD786では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
【0611】
次に、ステップD787に進むと、前記オペランドのデータが中図柄シナリオ3rd(中図柄の変動表示の3rdへの切替を指令するもの)であるか判定し、中図柄シナリオ3rdであればステップD788乃至791を順次実行した後にリターンし、中図柄シナリオ3rdでない場合にはリターンする。
ステップD788では、中図柄なのでシナリオレイヤー番号3を準備する。
【0612】
ステップD789では、図柄変動シナリオテーブル領域から中図柄シナリオ3rdテーブル(中図柄用で3rd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD790では、直前のステップD788、D789で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD791では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
【0613】
以上説明した変動シナリオ切替処理によれば、前述した図柄変動の区間のシナリオの切り替え、即ち、1st(序盤)から2nd(前半)へ、或いは2nd(前半)から3rd(後半)へのシナリオの切り替えが行われる。つまり、飾り特図の変動表示演出は、一つの変動が通常「序盤、前半、後半」と3区間に分けられており、本ルーチンによって各区間のシナリオが切り替えられて繋がれてゆく。例えば、図137に示すMS_LZ100というシナリオテーブルにおける最終行の9行目(//8)が指定行である場合、オペコードが変動シナリオ切替コードであり、オペランドが左図柄シナリオ2ndであるため、本ルーチンが実行されて上記ステップD761の判定結果がYESとなり、上記ステップD762乃至D765が実行されて、左図柄用で2nd(前半)用の新たなシナリオテーブル(例えば図137に示すMS_LZ300)が制御対象のシナリオテーブルとして設定され、このシナリオテーブルを実行する設定が行われることになる。
なお、変動の種類によっては、「序盤、前半、後半」の区切りの時間値は異なる。また、3rd(後半)のない変動もある(リーチなし変動など)。
【0614】
〔繰り返し処理〕
次に、前述のシナリオ解析処理におけるステップD611で実行される繰り返し処理の詳細について図114上側により説明する。
このルーチンが開始されると、まずステップD795で、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを前レコード(シナリオテーブルの一つ前の行を指定するアドレス)に戻す。
次にステップD796で、ステップD588で取得されたオペランド分だけステップD795を実行して前記テーブルアドレスを前レコードに戻したか判定し、前記オペランド分戻していればリターンし、前記オペランド分戻していない場合にはステップD795に戻って処理を繰り返す。
【0615】
以上説明した繰り返し処理は、シナリオテーブルの所定の段に戻って同一シナリオ内の動作を繰り返す場合に使われる。例えば、図136に示すシナリオテーブルにおける最終行の52行目(//51)が指定行である場合、オペコードが繰返しコードであり、オペランドが戻り数(22)であるため、本ルーチンが実行されて上記ステップD795が22回実行されると上記ステップD796の判定結果がYESとなって本ルーチンが終了し、これにより上記シナリオテーブルの指定行は22行分前の30行目(//29)に戻る。図136に示すシナリオテーブルの30行目は、客待ちデモ演出のムービーを開始する行(オペコードがモーション0登録コードで、オペランドがモーションインデックスNo.(13))であり、この客待ちデモ演出のムービーに続いて客待ちデモ演出の図柄表示が行われるテーブル構成となっている。このため、その後は、客待ちデモ演出としてのムービー表示と図柄表示が繰り返されることになり、1ループ分のデータ(図136に示すシナリオテーブルの30行目から最終行までのデータ)を用意すれば済むことになる。
【0616】
〔終了処理〕
次に、前述のシナリオ解析処理におけるステップD612で実行される終了処理の詳細について図114下側により説明する。
このルーチンが開始されると、ステップD798で、準備したシナリオ管理領域のアドレス領域にNULLを設定してリターンする。これにより、対象のシナリオ管理領域の設定が無くなり、シナリオ終了となる。
例えば、図142上側に示すシナリオテーブルの最終行の15行目(//14)が指定行の場合、オペコードが終了コードであるため、本ルーチンが実行されて上記ステップD798で対象のシナリオ管理領域のアドレス領域がNULLとされて、シナリオ終了となる。このように本ルーチンは、一連のシナリオが全て完了したときに実行される。
【0617】
〔モーション制御処理〕
次に、前述のメイン処理におけるステップD30で実行されるモーション制御処理の詳細について図115により説明する。
このルーチンが開始されると、対象のモーション管理領域の番号Xを0から増やしつつステップD801乃至D818のループ処理を繰り返し実行し、このループ処理の終了条件(全てのモーション管理領域0〜13に対する制御が終了)が成立するとリターンする。即ち、本ルーチン開始時点では、まずステップD801で対象のモーション管理領域の番号を0(X=0)としてステップD802に進んでステップD802以降の処理を実行するが、ステップD817に進むと対象のモーション管理領域の番号を1だけ増やして(即ち、X=X+1として)ステップD818で上記終了条件(X=14)が成立したか判定し、成立していればリターンし、成立していなければステップD801に戻ってステップD802に進む構成となっている。
【0618】
以下、ステップD802以降を、対象のモーション管理領域の番号がX(実際には本例の場合、0〜13のうちの何れか)であるとして説明する。
ステップD802に進むと、本ルーチンで使用する初期化フラグをクリアし、次のステップD803でモーション管理領域Xのアドレス領域からモーション管理領域Xのアドレスをロードし、その後ステップD804に進む。
ステップD804に進むと、ステップD803でロードしたアドレスのデータがNULLか判定し、NULLならば当該モーションX(当該モーション管理領域Xに対応するモーションのレイヤー)については制御不要なのでステップD817に進み、NULLでない場合にはステップD805に進む。
【0619】
ステップD805では、ステップD803でロードしたアドレスに基づいてモーション管理領域Xにおけるモーション用リストテーブル領域のデータ(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードして準備し、ステップD806に進む。
ステップD806に進むと、ステップD805でロードしたデータにより指定されるモーション用リストテーブルの行(以下、指定行という)における表示フレーム数のデータを読み取り、この表示フレーム数(あるモーションを実行するフレーム数のこと)が0以下ならば異常であるのステップD817に進み、0以下でない場合には正常であるとしてステップD807に進む。なお、例えば図135に示すモーション用リストテーブルにおける1行目が指定行であるとすると、フレーム数(表示フレーム数)は「1」であるので、ステップD806の判定結果はNOになってステップD807に進む。また、例えば同リストテーブルにおける4行目が指定行であるとすると、フレーム数(表示フレーム数)は「216」であるので、ステップD806の判定結果はやはりNOになってステップD807に進む。このように、モーション毎に実行する期間は異なるので、モーション用リストテーブル上に各々対応する表示フレーム数が定義されていて、最低1フレームは表示フレーム数が定義されているはずであり、この表示フレーム数のモーション用リストテーブル上の定義値が0以下になっているようなら異常である。
【0620】
ステップD807に進むと、モーション管理領域Xにおけるフレーム番号の値を読み取り、このフレーム番号の値が0未満か判定し、0未満であればモーションが新たに登録されたとき(モーション登録時)であるとしてステップD808(初期化フラグのセット)を実行した後にステップD809に進み、0未満でない場合にはモーション登録時でないとしてステップD808を実行しないでステップD809に進む。なおフレーム番号は、モーション登録時に、前述したモーションデータ初期化処理1,2におけるステップD657、D662で「−1」に設定されているため、モーション登録時ならばステップD808で初期化フラグがセットされる。なお、この初期化フラグは、前述のステップD802でクリアされ、後述のステップD812で判定されるフラグである。
【0621】
ステップD809に進むと、モーション管理領域Xにおけるフレーム番号の値が最終フレーム数(即ち、前述の表示フレーム数から1を減算した値)以上に到達したか判定し、最終フレーム数未満ならばステップD812に進み、最終フレーム数以上であればステップD810、D811を順次実行した後にステップD812に進む。
ステップD810では、前述したモーションデータ初期化処理1を実行し、ステップD811では、ステップD808と同様に初期化フラグをセットしている。
ここで、フレーム番号(0から始まる)が最終フレーム数に到達したということは、対象のモーションテーブルの制御が最終フレームまで終了したことになる。そこで、ステップD809の判定結果がYES(フレーム番号が最終フレーム数に到達した)の場合には、モーション登録時と同様にモーションデータ初期化処理1と初期化フラグのセットを実行して、同一のモーションテーブルをまた最初から実行する構成となっている。
【0622】
ステップD812に進むと、前記初期化フラグがセットされているか判定し、セットされていれば対象のモーションテーブルを最初から実行するためにステップD813、D814、D815を実行した後にステップD816に進み、前記初期化フラグがセットされていなければ(即ち、クリアされていれば)ステップD819を実行した後にステップD816に進む。
ステップD813、D814、D815では、モーション管理領域Xにおけるフレーム番号、表示数、コマンド位置の値をそれぞれ0に設定する。
ステップD819では、モーション管理領域Xにおけるフレーム番号の値を1だけ増加させる更新を行う。このステップD819に進むのは、前記初期化フラグがセットされていない場合(即ち、対象のモーションテーブルを実行途中である場合)であるので、フレーム番号を順次増加させる必要があるためである。
【0623】
なお、ステップD814で0に設定される表示数の値(制御中のオブジェクトの数を示す値)は、後述するモーションコマンド実行処理の中で(例えば後述するステップD881で)、オブジェクトが追加又は削除される場合に更新(+1又は−1)される。また、ステップD815で0に設定されるコマンド位置の値(モーションテーブルの何行目かを指す値)も、後述するモーションコマンド実行処理の中で(例えば後述するステップD880で)更新される。なお、コマンド位置の値が0であることは、モーションテーブルにおける指定行が1行目であることを示す。また、表示数の値は、制御中のオブジェクトの数であり、画面上に実際に同時に表示されているオブジェクト(図柄や予告用キャラクタなど)の数ではない。
【0624】
次に、ステップD816に進むと、対象のモーションテーブルの制御を実行するためのモーションコマンド実行処理(後述する)を実行し、ステップD817に進む。
ステップD817に進むと、モーション管理領域のアドレス領域自体のアドレスを更新する。即ち、モーション管理領域の番号Xの値を1だけ増やす更新を実行する。これにより、対象のモーション管理領域や対象のモーションのレイヤーが次に切り替わる。例えば、このステップD817の実行前にモーション管理領域1(モーションのレイヤーはモーション1)が制御対象であったならば、実行後にはモーション管理領域2(モーションのレイヤーはモーション2)が制御対象となる。
そして、ステップD817を実行するとステップD818に進み、前述の終了条件(本例の場合、番号X=14になったこと)が成立していればリターンし、成立していなければステップD801に戻ってステップD802から処理を繰り返す。
【0625】
〔モーションコマンド実行処理〕
次に、前述のモーション制御処理におけるステップD816で実行されるモーションコマンド実行処理の詳細について図116及び図117により説明する。
このルーチンが開始されると、まずステップD821で、モーション管理領域X(対象のモーション管理領域)におけるモーション用リストテーブル領域から、モーション用リストテーブル(モーションリストテーブルともいう)のアドレスのデータ(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD822に進む。
【0626】
ステップD822に進むと、モーション管理領域Xにおけるコマンド位置の値を読み取り、このコマンド位置の値がモーションコマンド数(ステップD821でロードされたアドレスで指定されるモーション用リストテーブルの指定行におけるモーションコマンド数の値)以上であるか判定し、モーションコマンド数以上である場合には全てのコマンド(対象のモーションテーブルの全ての行)を実行済みであるのでリターンし、モーションコマンド数以上でない場合には対象のモーションテーブルを次の1フレーム分実行すべくステップD823に進む。例えば図135に示すモーション用リストテーブルにおける4行目が指定行であるとすると、モーションコマンド数は「1830」であるので、ステップD822では、モーション管理領域Xにおけるコマンド位置の値がこの「1830」以上か判定し、「1830」以上でなければステップD823に進むことになる。また、モーション管理領域Xにおけるコマンド位置の値は、当初は前述のモーションデータ初期化処理1,2におけるステップD658、D663等で0に初期化され、後述するステップD845でモーションテーブルの各行(コマンド)が実行される毎に+1更新されるので、この値が上記「1830」以上になっていれば対象のモーションテーブルの全ての行が実行済みであるため、リターンする構成となっている。
【0627】
ステップD823に進むと、対象のモーション用リストテーブルの指定行(ステップD821でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレス(モーションテーブル名)を取得し、ステップD824に進む。例えば図135に示すモーション用リストテーブルにおける4行目が指定行であるとすると、モーションテーブル名が「Mdat003」であるので、この「Mdat003」をモーションテーブルのアドレスとして取得する(ROM(PROM321)から取り出す)。なお、RAM(RAM311a)のモーション用リストテーブル領域には、モーション用リストテーブルの一番左列(フレーム数の位置)のアドレス(ROM内のテーブルのアドレスを指す)が格納されており、前述のステップD821では、このアドレスをRAMのモーション用リストテーブル領域からロードしている。そして、ステップD823では、ステップD821でロードした上記アドレスの2レコード先のアドレスが示す「モーションテーブル名(アドレス)」の値をROMから読み出している。
なお本例では、モーションテーブルのアドレスとモーションテーブル名が対応しているため、モーションテーブル名を取得すればモーションテーブルのアドレスを取得したことになる。
【0628】
また、モーションテーブルとは、ブロック化された各表示演出を実行するための制御テーブルであることは既述したとおりであるが、ここで詳細を説明する。本願では、前述した図142下側にプッシュボタン予告時のモーションテーブルの一例を示し、また図138に左図柄通常変動開始時のモーションテーブルの一例を示し、その他にも図示しているが、このようなモーションテーブルがROM(本例ではPROM321)に多数登録されている。これら図に示すように、モーションテーブルの各行には、先頭にコマンドのコードが設定され、それに続いてコマンドに対応するパラメータが設定されている。但し、パラメータは無い場合もある。
【0629】
例えば、図138の1行目には、「追加1コード」というコマンドと「キャラクタNo.(図柄「2」)」というパラメータが設定され、同2行目には、「ビヘイビアコード」というコマンドと「オブジェクトインデックス(0)」、「ビヘイビアインデックス(0)」というパラメータが設定され、同7行目には、「移動1コード」というコマンドと「オブジェクトインデックス(0)」、「X座標(0)」、「Y座標(−493)」、「画像幅データ(296)」、「画像高さデータ(490)」というパラメータが設定され、同10行目には、「終了コード」というコマンドのみが設定されている。ここで、オブジェクトインデックスは、各オブジェクトを区別するためにオブジェクトに付けられる番号であり、追加コードで登録される順番に自動的に設定される。例えば図138の1行目で追加登録された図柄「2」はオブジェクトインデックス(0)になり、3行目で追加登録された図柄「1」はオブジェクトインデックス(1)になり、5行目で追加登録された図柄「9」はオブジェクトインデックス(2)になり、というように表示するキャラクタ数(オブジェクト数)に基づいてオブジェクトインデックスの値が増えてゆく。
【0630】
そして、このオブジェクトインデックスの値が小さい程、表示レイヤーの前後関係として画面奥に表示されることになる。つまり、表示位置が重なった場合、オブジェクトインデックスの値が大きいオブジェクトが優先的に画面に表示されることになる。
また、図138の例では3つのキャラクタを登場させているが、同時に使用する他カテゴリ(予告とか)の全てのキャラクタ数合計が128個となるように管理する。つまり、本例のVDP312では同時に128個のキャラクタを表示制御できる。なお、画面外にもキャラクタを配置できるので画面内に128個とは限らない。
また、図138の例は、左図柄の通常変動(前半)のモーションテーブルの最初の4フレーム分のデータである。終了コードまでの区切りが1フレーム分のデータとなっており、例えば1行目から10行目までが最初の1フレーム分のデータである。また、座標データやサイズデータ等の数値は、本実施例の意味となる値を記載しているだけで、小数点以下の情報を含んだデータでもよい。実際は、16bit符号付固定小数(符号ビット、整数部13ビット、小数部2ビットの2の補数)のデータとなっている。
また、前フレームと同じ状態を継続する場合は、終了コードだけを定義すればよい。
【0631】
また、本例におけるモーションテーブルのコマンドの種類と意味は、下記のとおりである。
・「追加コード」;オブジェクトを追加(登録)するコマンド。追加するオブジェクトの種類(ビットマップ、動画、単色矩形)に応じて、それぞれ追加1コード、追加2コード、追加3コードがある。
・「挿入コード」;オブジェクトを特定のオブジェクトインデックスとして挿入するコマンド。挿入するオブジェクトの種類(同上)によって、挿入1コード、挿入2コード、挿入3コードがある。この挿入コードの実行により、既に登録されているオブジェクトのオブジェクトインデックスの値はずれる。
・「移動コード」;オブジェクトの表示位置及び表示の大きさを指定するコマンド。指定方式(1点指定、3点指定)により、移動1コード、移動2コードがある。
・「エフェクトコード」…画像に透過性等の加工を施すエフェクトを指令するコマンド。エフェクトタイプを指定するエフェクト1コード、エフェクトパラメータ(例えば、透過度の値(%))を指定するエフェクト2コード、エフェクト色を指定するエフェクト3コードがある。
・「削除コード」;オブジェクトの削除を指令するコマンド。
・「変更コード」;オブジェクトのキャラクタ(図柄や登場人物など)を動きの途中で動きを継続しまたまま差し替える変更を指令するコマンド。
・「デコードコード」;動画データのデコード(復号化)を指令するコマンド。
・「入替コード」;オブジェクトの入替(例えば、オブジェクトインデックス0とオブジェクトインデックス1のキャラクタを入れ替える制御)を指令するコマンド。
・「ビヘイビアコード」;オブジェクトのキャラクタの差替えを指令するコマンド。
・「複写コード」;前記追加コードや挿入コードによって登録されている既存のオブジェクトの画像(ビットマップ、動画、単色矩形)の一部分又は全体を切り出して複写(コピー)し、表示するためのコマンド。本実施例では、動画の画像を矩形状に切り出す複写2コードがある。他にも、例えば静止画であるビットマップを切り出す複写1コードなどがあってもよいし、矩形状ではなく例えば三角形状或いは円形状に切り出す複写コードがあってもよい。
・「反転コード」;前記追加コードや挿入コードによって登録されている既存のオブジェクトの画像(ビットマップ、動画、単色矩形)を反転させた画像を、表示するためのコマンド。本実施例では、動画の画像を左右方向(水平方向、X座標方向)に反転させる反転2コードがある。他にも、例えば静止画であるビットマップを左右方向(水平方向、X座標方向)に反転させる反転1コードなどがあってもよいし、上下方向(垂直方向、Y座標方向)に反転させる反転コードがあってもよい。
・「終了コード」;1フレーム分のデータの終了を示すコマンド。
なお、モーションテーブルのコマンドは、以上説明したものに限定されず、上記以外のコマンドがさらに含まれた態様でもよいし、上記のコマンドのうちの何れかが削除された態様もあり得る。例えば、オブジェクトの表示角度を指定するコマンドとして「回転コード」があってもよい。具体的には、表示面に沿った回転(表示面に直交する軸を中心とする回転)の角度を指定する回転1コードと、表示面に対して傾斜する態様(前後方向に画像が立体的に傾くような態様)の回転(表示面に平行な軸を中心とする回転)の角度を指定する回転2コード等が設定可能な構成でもよい。
【0632】
次に、前記ステップD823より以降の処理を説明する。
ステップD823を経るとステップD824に進み、ステップD824とステップD846をループ端とするループ処理を終了条件(コマンド=終了)が成立するまで、繰り返し実行する。即ち、モーション登録直後等においては、前述したステップD658,D663,D815によって対象のモーション管理領域Xのコマンド位置kは0(モーションテーブルの1行目を指定する値)に設定されているが(k=0)、ステップD824乃至D846のループ処理を繰り返す度に、後述するステップD845、D880等でモーション管理領域Xのコマンド位置kの値を1だけ増やし(k=k+1)、ステップD844で上記終了条件(コマンド位置kのコマンドが終了コマンドである)が成立したか判定し、成立していればステップD846を経てリターンし、成立していなければステップD846を経てステップD824に戻ってステップD825に進む構成となっている。
【0633】
以下、ステップD825以降を、対象のモーション管理領域Xのコマンド位置の値がkであるとして説明する。
ステップD825に進むと、対象のモーションテーブル(ステップD823で取得したアドレスのモーションテーブル)におけるコマンド位置kに対応する行(例えば、k=0ならば1行目、k=1ならば2行目、…k=NならばN+1行目)のコマンドを取得し、次いでこのコマンドについてステップD826乃至D843で順次各コードに該当するか否かのコマンド判定を実行し、何れかのコマンド判定結果がYESになると対応する処理(ステップD851乃至D868の何れか)を実行してステップD846に進む。
【0634】
即ち、ステップD826では追加1コードか判定し、YESならばステップD851でビットマップ追加処理(静止画をオブジェクトとして追加する処理、詳細後述する)を行った後にステップD846に進み、NOならばステップD827に進む。
ステップD827では追加2コードか判定し、YESならばステップD852で動化追加処理(動画をオブジェクトとして追加する処理、詳細後述する)を行った後にステップD846に進み、NOならばステップD828に進む。
ステップD828では追加3コードか判定し、YESならばステップD853で単色矩形追加処理(キャラROM(画像ROM322)のデータを使用しない単色矩形画像をオブジェクトとして追加する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD829に進む。
ステップD829では挿入1コードか判定し、YESならばステップD854でビットマップ挿入処理(静止画をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD830に進む。
【0635】
ステップD830では挿入2コードか判定し、YESならばステップD855で動画挿入処理(動画をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD831に進む。
ステップD831では挿入3コードか判定し、YESならばステップD856で単色矩形挿入処理(前記単色矩形画像をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD832に進む。
ステップD832では移動1コードか判定し、YESならばステップD857で1点指定オブジェクト移動処理(1点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細後述する)を行った後にステップD846に進み、NOならばステップD833に進む。
ステップD833では移動2コードか判定し、YESならばステップD858で3点指定オブジェクト移動処理(3点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD834に進む。
【0636】
ステップD834ではエフェクト1コードか判定し、YESならばステップD859でエフェクトタイプ指定処理(後述する)を行った後にステップD846に進み、NOならばステップD835に進む。
ステップD835ではエフェクト2コードか判定し、YESならばステップD860でエフェクトパラメータ指定処理(後述する)を行った後にステップD846に進み、NOならばステップD836に進む。
ステップD836ではエフェクト3コードか判定し、YESならばステップD861でエフェクト色指定処理(エフェクト色を設定する処理、詳細は省略する)を行った後にステップD846に進み、NOならばステップD837に進む。
ステップD837では削除コードか判定し、YESならばステップD862でオブジェクト削除処理(オブジェクトを削除する処理、詳細後述する)を行った後にステップD846に進み、NOならばステップD838に進む。
【0637】
ステップD838では変更コードか判定し、YESならばステップD863でオブジェクト変更処理(オブジェクトを変更する処理、詳細後述する)を行った後にステップD846に進み、NOならばステップD839に進む。
ステップD839ではデコードコードか判定し、YESならばステップD864でオブジェクト動画デコード処理(詳細後述する)を行った後にステップD846に進み、NOならばステップD840に進む。
ステップD840では入替コードか判定し、YESならばステップD865でオブジェクト入替処理(オブジェクトを入れ替える処理、詳細は省略)を行った後にステップD846に進み、NOならばステップD841に進む。
ステップD841ではビヘイビアコードか判定し、YESならばステップD866でビヘイビアインデックス設定処理(詳細後述する)を行った後にステップD846に進み、NOならばステップD842に進む。
【0638】
ステップD842では、複写2コードか判定し、YESならばステップD867で矩形複写処理(オブジェクト(動画)の一部分を切り出して表示するための処理、詳細は省略)を行った後にステップD846に進み、NOならばステップD843に進む。なお、この矩形複写処理が実行されると、対象のオブジェクト(動画)の1フレームの画像のうち、コマンド位置kの行にある複写2コードに付随するパラメータで指定される一部分が、例えば後述するステップE58のキャラクタ描画処理における指定画像となり、これが後述するステップE76で仮想描画空間(VDP312のフレームバッファ)に描画される構成となっている。なお、このような複写処理は、オブジェクトが静止画である場合も、同様に可能である。
【0639】
ステップD843では、反転2コードか判定し、YESならばステップD868で水平反転処理(オブジェクト(動画)を水平方向(左右方向)に反転させて表示するための処理、詳細省略する)を行った後にステップD846に進み、NOならばステップD844に進む。なお、この水平反転処理が実行されると、対象のオブジェクト(動画)の1フレームの画像に対して、水平フリップありとする設定処理(例えば、後述する図128のステップE71)が実行されるように設定され(例えば、後述する図128のステップE65で計算される幅データがマイナスの値になるように、表示左上点と表示右上点のX座標の値の交換が行われ)、これによって対象のオブジェクト(動画)の1フレームの画像が水平方向に反転された画像が後述するステップE76で仮想描画空間に描画される構成となっている。なお、このような反転処理は、オブジェクトが静止画である場合も、同様に可能である。
また、反転処理の方向は垂直方向(上下方向)でも可能である。垂直方向の反転を指示するコード(モーションのコマンド)を設定し、このコードである場合に、垂直反転処理(オブジェクトを垂直方向(上下方向)に反転させて表示するための処理、詳細省略する)が実行される構成とすればよい。この垂直反転処理が実行されると、対象のオブジェクトの画像に対して、垂直フリップありとする設定処理(例えば、後述する図128のステップE75)が実行されるように設定され(例えば、後述する図128のステップE66で計算される高さデータがマイナスの値になるように、表示左上点と表示左下点のY座標の値の交換が行われ)、これによって対象のオブジェクトの画像が垂直方向に反転された画像が後述するステップE76で仮想描画空間に描画される。
【0640】
次に、ステップD844では終了コードか判定し、YESならばステップD845に進み、NOでもステップD845に進む。
ステップD845では、コマンド位置kの値を1だけ増やす更新を実行し、ステップD846に進む。
ステップD846では、ステップD844の判定結果がYESならばリターンし、NOならばステップD824に戻って更新後のコマンド位置kについてステップD825以降を実行する。
【0641】
なお、上記ステップD824乃至D846のループ処理による1フレーム分の動作の具体例を図138の場合で説明すると次のようになる。
即ち、まず最初はコマンド位置k=0であり、追加1コードが設定された1行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この1行目にある図柄「2」がオブジェクトインデックス0として登録される。
次はk=1になって、ビヘイビアコードが設定された2行目が指定行であり、パラメータとしてオブジェクトインデックス0、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス0(即ち、図柄「2」)に対してビヘイビアインデックス0の設定が行われる。
【0642】
次はk=2になって、追加1コードが設定された3行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この3行目にある図柄「1」がオブジェクトインデックス1として登録される。
次はk=3になって、ビヘイビアコードが設定された4行目が指定行であり、パラメータとしてオブジェクトインデックス1、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス1(即ち、図柄「1」)に対してビヘイビアインデックス0の設定が行われる。
【0643】
次はk=4になって、追加1コードが設定された5行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この5行目にある図柄「9」がオブジェクトインデックス2として登録される。
次はk=5になって、ビヘイビアコードが設定された6行目が指定行であり、パラメータとしてオブジェクトインデックス2、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス2(即ち、図柄「9」)に対してビヘイビアインデックス0の設定が行われる。
【0644】
次はk=6になって、移動1コードが設定された7行目が指定行であり、パラメータとしてオブジェクトインデックス0等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この7行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス0の画像(即ち、図柄「2」)の表示設定が行われる。
次はk=7になって、移動1コードが設定された8行目が指定行であり、パラメータとしてオブジェクトインデックス1等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この8行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス1の画像(即ち、図柄「1」)の表示設定が行われる。
【0645】
次はk=8になって、移動1コードが設定された9行目が指定行であり、パラメータとしてオブジェクトインデックス2等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この9行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス2の画像(即ち、図柄「9」)の表示設定が行われる。
次はk=9になって、終了コードが設定された10行目が指定行であるので、ステップD844でYESになりステップD846ではループ処理を終了してリターンする。
こうして、図138において(a)で示す最初の1フレーム分が終了する。なお、同図に(b),(c),(d)で示す3フレーム以降も、各フレーム周期(前述の処理周期;例えば1/30秒)毎に同様に実行される。
【0646】
〔ビットマップ追加処理〕
次に、前述のモーションコマンド実行処理におけるステップD851で実行されるビットマップ追加処理の詳細について図118により説明する。本ルーチンは、既述したように、静止画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD871で、モーション管理領域Xにおけるモーション用リストテーブル領域から、モーションリストテーブルのアドレス(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD872に進む。
ステップD872に進むと、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばオブジェクトの追加ができないのでリターンし、最大表示要素数未満であるならばステップD873乃至D881を順次実行した後にリターンする。ここで、最大表示要素数は、VDP312のハード的限界やVRAM329の容量(動画を展開する領域等)などを考慮し、一つのモーションで扱える表示数(制御するオブジェクトの数)の限界値であり、例えば18(静止画16+動画2)に設定されている。但し、18は一例にすぎず、これに限定されない。
【0647】
ステップD873では、表示数に対応する表示情報領域のアドレスを設定する。例えば、オブジェクトの追加が初めて行われる場合には、表示数は1であるため、モーション管理領域Xにおける表示数1に対応する表示情報領域のアドレスを設定する。具体例を挙げると、例えばモーション管理領域5(左図柄用のモーション管理領域)の表示情報領域は、1番目の次図柄用と、2番目の現図柄用と、3番目の前図柄用の3個ある。そして今、例えばモーション管理領域X=5(左図柄)であり、対象のモーションテーブルが図138に示すものであり、コマンド位置k=0であるとすると、指定行である1行目のコマンドが追加1コードであるため本ルーチンが実行されるが、この場合、モーション管理領域5の3個の表示情報領域のうちで、表示数1に対応する1番目の次図柄用の表示情報領域に前記1行目のパラメータで指定されるオブジェクト(キャラクタNo.(図柄「2」))のデータを設定することになるため、上記ステップD873では、この1番目の次図柄用の表示情報領域のアドレスが設定される。同様に、k=2(指定行は3行目)であると表示数2に対応する2番目の現図柄用の表示情報領域に3行目のキャラクタNo.(図柄「1」)のデータを設定することになって2番目の現図柄用の表示情報領域のアドレスが設定され、k=4(指定行は5行目)であると表示数3に対応する3番目の前図柄用の表示情報領域に5行目のキャラクタNo.(図柄「9」)のデータを設定することになって3番目の前図柄用の表示情報領域のアドレスが設定される。
【0648】
なお、モーション管理領域に設定(保存)される「表示数」は基本的に表示されるオブジェクトのMAX数(即ち、制御対象として設定されている全オブジェクトの数)を表すが、本ルーチンのような追加処理においてはオブジェクトが増えることになるので「表示数」は+1ずつ変動していく(例えば、後述のステップD881で更新される)が、このような追加処理が行われなくなった時点での表示数が、表示されるオブジェクトのMAX数を示すことになる。
【0649】
次にステップD874では、ステップD873で設定したアドレスで特定される一つの表示情報領域(以下、対象の表示情報領域という)の各データを0クリアする。一旦、対象の表示情報領域の値を全て0にした後、必要な領域に初期値を設定するためである。なお、ここで0クリアするのは、表示数に対応する1つの表示情報領域のみである。
次にステップD875では、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。初期値としてビヘイビア無しの状態に設定するためである。なお本例では、ビヘイビアインデックスの値が0の場合(図138における2,4,6行目のパラメータのようにビヘイビアインデックス0が指定された場合)でも、ビヘイビア(図柄等の差替え)は有りである。
【0650】
次にステップD876では、対象の表示情報領域における表示種別のデータとして静止画情報をセーブする。即ちここでは、追加する当該オブジェクトが静止画であることを示す情報を設定している。
次にステップD877では、対象のモーション用リストテーブルの指定行(ステップD871でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレス(モーションテーブル名)を取得する。これは、前述のステップD823と同様の処理である。
【0651】
次にステップD878では、コマンド位置kに対応する静止画インデックスを取得する。ここで、静止画インデックスとは、キャラROM(画像ROM322)に登録されている静止画キャラクタの登録番号であり、例えば図133に示すような静止画ROMメンバリストテーブルの行を指定するパラメータである。そして今、例えばモーション管理領域X=5(左図柄)であり、対象のモーションテーブルが図138に示すものであり、コマンド位置k=0であるとすると、指定行である1行目で指定されるオブジェクトはキャラクタNo.(図柄「2」)であるため、上記ステップD878では、図133のテーブルにおいて図柄「2」に対応する行を指定する静止画インデックスの値として「1」を取得する。
次にステップD879では、ステップD878で取得した静止画インデックスの値を画像インデックスとしてセーブする。画像インデックスは、表示する対象としての特定のキャラクタ(静止画、動画などの画像)を示す情報であって、後述する演出表示編集処理におけるステップE51等で使用される情報である。
【0652】
次にステップD880では、コマンド位置を次レコードに更新する。即ち、コマンド位置の値kを1だけ増加させる更新を行う。次の周期で、モーションコマンド実行処理を実行したときに、モーションテーブルの次の行を指定行として制御を行うためである。
次にステップD881では、本ルーチンによりオブジェクトが追加されたため、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行い、その後リターンする。
【0653】
なお、図133に示す静止画ROMメンバリストテーブルの各パラメータの内容は、以下のとおりである。
・画像アドレスオフセット;キャラROM内に当該キャラクタが格納されているアドレスへのオフセット値を示す。
・パレットアドレスオフセット;キャラROM内に当該キャラクタが使用するパレットデータが格納されているアドレスへのオフセット値を示す。本例では、記載しているキャラクタが同一のパレットを使用しているので全て0となっているが、これに限らずキャラクタの必要に応じてパレットを変更してもよい。違うパレットを使用している箇所は異なるオフセット値となる。
・画像の幅、高さ;当該キャラクタの元画像のサイズを表す。例えば単位はピクセル。この例では、通常変動時の図柄とプッシュボタンのキャラだけなので同じサイズばかりとなっているが、実際はキャラクタ毎に様々な値となる。また、通常図柄の中においても例えば図柄に描かれている人物の大きさが多少違ったりして見た目のサイズが異なる可能性があるが、内部制御で扱いやすくするために透明部分でキャラクタの大きさを調整し、同一カテゴリのキャラであれば同一サイズとなるように設定する。
【0654】
・VRAM上の幅;当該キャラクタをVRAMに展開した際の幅を指す。この例は圧縮タイプが「可逆圧縮32bit画像」しか使用していないので元画像と同じ幅になっている。非可逆圧縮にしたり、カラーパレットのbit数を落としたりするとサイズが小さくなる。
・画像の圧縮タイプ;キャラROMへ格納している各キャラクタの圧縮タイプを示す。この圧縮タイプとしては、例えば以下のタイプ0〜6がある。これら以外のタイプがあってもよい。
0: 32bitフルカラー画像圧縮なし
1: 8bitフルカラー画像圧縮なし
2: 4bitフルカラー画像圧縮なし
3: 可逆圧縮32bitフルカラー画像
4: 可逆圧縮8bitフルカラー画像
5: 可逆圧縮4bitフルカラー画像
6: 非可逆圧縮画像
・画像の圧縮後のサイズ;画像データ(キャラクタのデータ)の圧縮後の容量を示す。キャラROM322からVRAM329へデータ転送する際のパラメータ等として使用される。
なお、以上説明した静止画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
【0655】
〔動画追加処理〕
次に、前述のモーションコマンド実行処理におけるステップD852で実行される動画追加処理の詳細について図119により説明する。本ルーチンは、既述したように、動画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD891で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードし、ステップD892に進む。
ステップD892に進むと、前記ステップD872と同様に、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばリターンし、最大表示要素数未満であるならばステップD893乃至D897を順次実行した後にステップD898に進む。
【0656】
ステップD893では、前記ステップD873と同様に、表示数に対応する表示情報領域のアドレスを設定する。
ステップD894では、前記ステップD874と同様に、ステップD893で設定したアドレスで特定される一つの表示情報領域(対象の表示情報領域)の各データを0クリアする。
ステップD895では、前記ステップD875と同様に、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。
ステップD896では、前記ステップD877と同様に、対象のモーション用リストテーブルの指定行(ステップD891でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0657】
ステップD897では、コマンド位置kに対応する動画インデックスを取得する。ここで、動画インデックスとは、キャラROM(画像ROM322)に登録されている動画キャラクタの登録番号であり、例えば図134に示すような動画ROMメンバリストテーブルの行を指定するパラメータである。そして、対象のモーションテーブルの指定行にあるオブジェクトのパラメータ(追加2コードの次の列に設定されているデータ)が例えばアニメ図柄「1」であったとすると、上記ステップD897では、図134のテーブルにおいてアニメ図柄「1」に対応する行を指定する動画インデックスの値として「0」を取得する。
【0658】
次にステップD898では、ステップD897で取得した動画インデックスの値に対応する動画ROMメンバリストテーブルの指定行におけるエンコードタイプ(後述する)のデータを読み取り、このデータに基づいて追加しようとする動画のエンコードタイプがIピクチャ動画か判定し、Iピクチャ動画ならばステップD899に進み、Iピクチャ動画でなければステップD904に進む。図134の場合、エンコードタイプのデータが「0」であるとIピクチャ動画であるので、このデータが「0」のときはステップD899に進み、「0」以外のときはステップD904に進むことになる。なお、Iピクチャとは、フレーム間予測を行わないで単独でデコードできる画像のフレームデータを意味し、Iピクチャ動画とはIピクチャのみで構成された動画を意味する。
【0659】
次にステップD899に進むと、ステップD899乃至D901を順次実行した後にステップD902に進む。
ステップD899では、対象の表示情報領域におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)のデータとして、初期値である「−1」を設定する。なお、初期値として「−1」を設定すれば、Iピクチャ用フレームカウント数は「0」からスタートすることになる。
ステップD900では、対象の表示情報領域における表示種別のデータとしてIピクチャ動画情報をセーブする。即ちここでは、追加する当該オブジェクトがIピクチャ動画であることを示す情報を設定している。
ステップD901では、ステップD897で取得した動画インデックスの値を画像インデックスとしてセーブする。
【0660】
一方、ステップD904に進むと、ステップD904、D905を順次実行した後にステップD906に進む。
ステップD904では、VDP312に対して動画をループする指示を出すために、ループ再生フラグをセットする。なお、ループしない設定も可能である。
ステップD905では、動画データをデコードするRAM311aの記憶領域を確保する動画デコード領域確保処理を実行する。
そしてステップD906に進むと、上記動画デコード領域確保処理の結果、領域が正しく割り当てられたか判定し、YESならばステップD907、D908を実行してステップD902に進み、NOならばリターンする。なお、容量オーバー等により領域が正しく確保できないときNOとなる。
ステップD907では、対象の表示情報領域における表示種別のデータとして通常動画情報をセーブする。即ちここでは、追加する当該オブジェクトが通常動画である(即ち、Iピクチャ動画でない)ことを示す情報を設定している。
ステップD908では、上記動画デコード領域確保処理により割り当てられた領域のインデックスの値を画像インデックスとしてセーブする。
【0661】
次にステップD902に進むと、ステップD902、D903を順次実行した後にリターンする。
ステップD902では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
ステップD903では、前記ステップD881と同様に、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行う。
【0662】
なお、図134に示す動画ROMメンバリストテーブルの各パラメータの内容は、以下のとおりである。
・動画アドレスオフセット;キャラROM内に当該ムービーが格納されているアドレスへのオフセット値を示す。
・動画の幅、高さ;当該ムービーの元画像のサイズを表す。例えば単位はピクセル。静止画の時と同様に、同一カテゴリのムービーのサイズは同じになるように透明部分で調整する。
・動画のフレーム数;何枚の連続絵で構成されたムービーであるかを示す。本実施例では1秒=30フレームの制御なので、それを意識したムービー作成を行う。制御を1秒60フレームとなるように実行したら、倍速再生されることになる。逆も同様である。
【0663】
・α値設定;アルファチャンネル情報を含んだムービーか否かを示す情報。0=アルファなし、1=アルファあり、である。アルファありの場合、当該ムービーの透明度を変更できる。ない場合は不透明のみとなる。
・エンコードタイプ;ムービーがどのように構成されているのかを示す。以下のタイプ0〜2がある。
0=Iピクチャのみで構成
1=Iピクチャと1枚参照のPピクチャを含んだ構成(1つ過去のIピクチャ又はPピクチャを参照して、当該Pピクチャを作る)
2=上記1に加え2枚参照のPピクチャを含んだ構成(1つ過去のIまたはPと、2つ過去のI又はPの2枚を参照して、当該Pピクチャを作る)
但し、以上のエンコードタイプに限定されず、例えばBピクチャを含んだ構成でもよい。
なお、以上説明した動画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
【0664】
〔1点指定オブジェクト移動処理〕
次に、前述のモーションコマンド実行処理におけるステップD857で実行される1点指定オブジェクト移動処理の詳細について図120により説明する。
このルーチンが開始されると、ステップD911乃至D924を順次実行し、その後リターンする。
ステップD911では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD912では、対象のモーション用リストテーブルの指定行(ステップD911でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0665】
ステップD913では、ステップD912で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図138が対象のモーションテーブルであり、k=6(指定行は7行目)であると、コマンドが移動1コードであるため本ルーチンが実行されるが、この場合、7行目のオブジェクトインデックスは(0)であるため、上記ステップD913では、オブジェクトインデックスとして0が取得されることになる。
ステップD914では、ステップD913で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図138でk=6(指定行は7行目)の場合、オブジェクトインデックス0は1行目で追加された図柄「2」(次図柄)であるため、次図柄に対応する1番目の表示情報領域のアドレスが設定される。
【0666】
ステップD915では、コマンド位置kに対応するX座標データを取得する。
ステップD916では、対象の表示情報領域(ステップD914でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)における表示左上点のX座標と表示左下点のX座標として、ステップD915で取得したX座標データをセーブする。
ステップD917では、コマンド位置kに対応するY座標データを取得する。
ステップD918では、対象の表示情報領域における表示左上点のY座標と表示右上点のY座標として、ステップD917で取得したY座標データをセーブする。
【0667】
ステップD919では、コマンド位置kに対応する画像幅データと画像高さデータとを取得する。
ステップD920では、ステップD915で取得したX座標データにステップD919で取得した画像幅データを加算し、次のステップD921では、この加算結果を対象の表示情報領域における表示右上点のX座標としてセーブする。
ステップD922では、ステップD917で取得したY座標データにステップD919で取得した画像高さデータを加算し、次のステップD923では、この加算結果を対象の表示情報領域における表示左下点のY座標としてセーブする。
そして、ステップD924では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
【0668】
上記ステップD915乃至D923によれば、次のような動作が実現される。例えば、図138でk=6(指定行は7行目)の場合、X座標データは「0」、Y座標データは「−493」(マイナスは画面上側の画面外の位置を示す)、画像幅データは「296」、画像高さデータは「490」である。このため、上記ステップD915では「0」が取得され、上記ステップD917では「−493」が取得され、上記ステップD919では「296」、「490」が取得される。そして、上記ステップD920の加算結果は「296」(=0+296)となり、上記ステップD922の加算結果は「−3」(=−493+490)となる。したがって、上記ステップD916では表示左上点と表示左下点のX座標として「0」がセーブされ、上記ステップD918では表示左上点と表示右上点のY座標として「−493」がセーブされ、上記ステップD921では表示右上点のX座標として「296」がセーブされ、上記ステップD923では表示左下点のY座標として「−3」がセーブされる。これにより、対象のオブジェクト(この場合、次図柄「2」)の表示位置が、3点の座標(表示左上点、表示左下点、表示右上点)として設定される。なおこの場合、画面上の左上隅の位置が原点(X座標=0、Y座標=0)であり、上述したように設定されるY座標が全てマイナス値であるため、この次図柄のオブジェクトは、画面上側の画面外に表示位置が設定され、この次図柄の画像は画面上にはまだ見えない。
【0669】
以上説明したように、本ルーチンによれば、1点指定という方式ではあるが、結果として3点を指定している。というのは、オブジェクト(キャラクタ)は4角形の形をしているので、左上の基準点座標とオブジェクトの高さ、幅データがあれば、上記ステップD920、D922のように右上点、左下点の座標が求められるからである。既述したように、モーション管理領域における表示情報領域には、こうして定まる3点の各座標値を入れる領域があり、上記ステップD916、D918、D921、D923では、各領域への登録を行っている。
なお、前述のモーションコマンド実行処理におけるステップD858で実行される3点指定オブジェクト移動処理については、フローチャートを示しての詳細説明は省略するが、この処理も上述した1点指定オブジェクト移動処理と略同様に行われる。但し、3点指定の場合はモーションテーブル上にそれぞれの座標データがある構造になるため、上述したステップD920、D922のような加算処理は不要であり、モーションテーブルから取得した各座標データを全てそのまま表示情報領域の各領域にセーブするだけの処理内容になる。
【0670】
〔エフェクトタイプ指定処理〕
次に、前述のモーションコマンド実行処理におけるステップD859で実行されるエフェクトタイプ指定処理の詳細について図121の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップD931乃至D940を順次実行し、その後リターンする。
ステップD931では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD932では、対象のモーション用リストテーブルの指定行(ステップD931でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0671】
ステップD933では、ステップD932で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図149下側のMdat0041(モーションインデックスNo.41)が対象のモーションテーブルであり、k=4(指定行は5行目)であると、コマンドがエフェクト1コードであるため本ルーチンが実行されるが、この場合、k=4のオブジェクトインデックスは(0)であるため、上記ステップD933では、オブジェクトインデックスとして0が取得されることになる。
ステップD934では、ステップD933で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図149下側の場合、オブジェクトインデックス0はk=0(1行目)で追加された動画「虎たろうムービー1」であり、この動画に対応する表示情報領域のアドレスが設定される。
【0672】
ステップD935では、コマンド位置kに対応するエフェクトタイプのデータを取得する。
ステップD936では、対象の表示情報領域(ステップD934でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトタイプとして、ステップD935で取得したデータをセーブする。
例えば、図149下側でk=4の場合、エフェクトタイプは(1)であるため、これが上記ステップD935で取得されて、上記ステップD936で対象の表示情報領域に設定される。
次に、ステップD937、D938、D939では、対象の表示情報領域におけるエフェクトパラメータ、フォアグランドカラー、バックグランドカラーのデータをそれぞれクリアする。
そして、ステップD940では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
【0673】
以上説明した本ルーチンでは、例えば複数のオブジェクトを重ね合わせて表示する際のブレンド手法のタイプを設定している。すなわち、例えば上記エフェクトタイプ(1)は透過性(透明度)を持たせるエフェクトの一種であり、透過性を持たせるエフェクトは、表示位置が同じで重なり合った後方(奥側)のレイヤーの画像と前方のレイヤーの画像とを混ぜ合わせる(ブレンドする)加工ということができ、本ルーチンでは当該ブレンドのタイプを設定している。
【0674】
〔エフェクトパラメータ指定処理〕
次に、前述のモーションコマンド実行処理におけるステップD860で実行されるエフェクトパラメータ指定処理の詳細について図121の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD941乃至D947を順次実行し、その後リターンする。
ステップD941では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD942では、対象のモーション用リストテーブルの指定行(ステップD941でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0675】
ステップD943では、ステップD942で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図149下側が対象のモーションテーブルであり、k=5(指定行は6行目)であると、コマンドがエフェクト2コードであるため本ルーチンが実行されるが、この場合、k=5のオブジェクトインデックスは(0)であるため、上記ステップD943では、オブジェクトインデックスとして0が取得されることになる。
ステップD944では、ステップD943で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図149下側の場合、オブジェクトインデックス0はk=0(1行目)で追加された動画「虎たろうムービー1」であるため、この動画に対応する表示情報領域のアドレスが設定される。
【0676】
ステップD945では、コマンド位置kに対応するエフェクトパラメータのデータを取得する。
ステップD946では、対象の表示情報領域(ステップD944でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトパラメータとして、ステップD945で取得したデータをセーブする。
例えば、図151下側でk=5の場合、エフェクトパラメータは(64)であるため、これが上記ステップD945で取得されて、上記ステップD946で対象の表示情報領域に設定される。
【0677】
ここで、エフェクトパラメータは、ブレンドする際の当該オブジェクトの透明度(濃さ)の割合を示す。エフェクトパラメータの値をPとすると、本例の場合には、透明度のパーセントを「P/255」の分子に変換したデータがテーブル上に定義されている。具体的には、例えば100%が通常表示(透過性無し)の場合、約10%の濃さで表示する場合のパラメータPは25(≒255×10/100)となる。逆に上述の具体例のように、パラメータPの値が64である場合の透明度は、約25%(=100×64/255)となり、相当薄いということになる。ただし、100%表示を行う場合は、前述のエフェクトタイプ指定処理と本ルーチンであるエフェクトパラメータ指定処理は実行されない。
次にステップD947では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
【0678】
〔オブジェクト削除処理〕
次に、前述のモーションコマンド実行処理におけるステップD862で実行されるオブジェクト削除処理の詳細について図122の左側のフローチャートにより説明する。
このルーチンが開始されると、まずステップD951で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
次にステップD952で、モーション管理領域Xにおける表示数の値が0以下であるか判定し、0以下であれば表示数が1個も無い(即ち、削除するオブジェクトが無い)のでリターンし、0以下でない場合にはステップD953に進む。
ステップD953に進むと、ステップD953乃至D955を順次実行した後にステップD956に進む。
ステップD953では、対象のモーション用リストテーブルの指定行(ステップD951でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0679】
ステップD954では、ステップD953で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図142下側が対象のモーションテーブルであり、k=12(指定行は13行目)であると、コマンドが削除コードであるため本ルーチンが実行されるが、この場合、k=12のオブジェクトインデックスは(0)であるため、上記ステップD954では、オブジェクトインデックスとして0が取得されることになる。
ステップD955では、ステップD954で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図142下側でk=12の場合、オブジェクトインデックス0であるため、この時点でオブジェクトインデックス0に対応する表示情報領域のアドレスが設定される。
【0680】
ステップD956に進むと、モーション管理領域Xにおける表示種別のデータが通常動画情報であるか判定し、通常動画情報であるならばステップD957で動画デコード領域開放処理(詳細は省略)を実行した後にステップD958に進み、通常動画情報でない場合(即ち、Iピクチャ動画である場合)にはステップD957を実行しないでステップD958に進む。
ステップD958に進むと、ステップD958乃至D960を順次実行した後にリターンする。
ステップD958では、取得したオブジェクトインデックス以降の表示情報領域の情報を前にシフト(移動)する。即ち、モーション管理領域Xにおいて、ステップD955で設定されたアドレス以降の表示情報領域のデータを一つ分だけ前の表示情報領域にそれぞれシフトさせる。これにより、ステップD955で設定されたアドレスの表示情報領域のデータは削除され、この削除されたデータに対応するオブジェクトが削除されたことになる。
ステップD959では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
そして、ステップD960では、本ルーチンによりオブジェクトが削除されたため、モーション管理領域Xにおける表示数の値を1だけ減らす更新を実行する。
【0681】
〔オブジェクト変更処理〕
次に、前述のモーションコマンド実行処理におけるステップD863で実行されるオブジェクト変更処理の詳細について図122の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD961乃至D967を順次実行し、その後リターンする。
ステップD961では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD962では、対象のモーション用リストテーブルの指定行(ステップD961でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD963では、ステップD962で取得されたアドレスで特定される対象のモーションテーブルからコマンド位置kに対応するオブジェクトインデックスを取得する。
【0682】
ステップD964では、ステップD963で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。
ステップD965では、前記対象のモーションテーブルにおけるコマンド位置kに対応する変更キャラ(変更後のキャラクタ)のインデックス(前述した静止画インデックス又は動画インデックス)を取得する。
ステップD966では、ステップD965で取得したインデックスの値を画像インデックスとしてセーブする。これにより、画像(図柄や登場人物などのキャラクタ)だけが変わるオブジェクト変更が実現される。
そして、ステップD967では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
【0683】
〔オブジェクト動画デコード処理〕
次に、前述のモーションコマンド実行処理におけるステップD864で実行されるオブジェクト動画デコード処理の詳細について図123により説明する。
このルーチンが開始されると、まずステップD971乃至D974を順次実行し、その後ステップD975に進む。
ステップD971では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD972では、対象のモーション用リストテーブルの指定行(ステップD971でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
【0684】
ステップD973では、ステップD972で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図149の上側に示すテーブルが対象のモーションテーブルであり、k=3(指定行は4行目)であると、コマンドがデコードコードであるため本ルーチンが実行されるが、この場合、k=3のオブジェクトインデックスは(0)であるため、上記ステップD973では、オブジェクトインデックスとして0が取得されることになる。
ステップD974では、ステップD973で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、上記図149上側のテーブルでk=3の場合、オブジェクトインデックス0はk=0(1行目)で追加された動画(虎たろうムービー1)であるため、この動画に対応する表示情報領域のアドレスが設定される。
【0685】
ステップD975に進むと、モーション管理領域Xにおける表示種別のデータがIピクチャ動画情報であるか判定し、Iピクチャ動画情報であるならばステップD977、D978を実行後にステップD979に進み、Iピクチャ動画情報でない場合にはステップD976に進む。
ステップD977では、対象の表示情報領域(ステップD974でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)の領域のアドレスを設定する。
ステップD978では、ステップD977で設定したアドレスに基づいて、対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを1だけ増やす更新を行う。
【0686】
ステップD979に進むと、ステップD978で更新したIピクチャ用フレームカウント数が、動画フレーム数(この時点の画像インデックスのデータに対応する動画のフレーム数)以上になっているか判定し、動画フレーム数以上であるならばステップD980を実行後にステップD983に進み、動画フレーム数以上でない場合にはステップD980を実行しないでステップD983に進む。
ステップD980では、画像インデックス(この場合、動画インデックス)で指定される動画が最終フレームまで表示されたので、当該動画を最初から再度開始するために対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを0(スタート値)に設定する。
【0687】
ステップD976に進むと、モーション管理領域Xにおける表示種別のデータが通常動画情報であるか判定し、通常動画情報であるならばステップD981、D982を実行後にステップD983に進み、通常動画情報でない場合には異常であるとしてリターンする。
ステップD981では、この時点で画像インデックスとして登録されているデータ(この場合は動画インデックスのデータ)をロードする。
ステップD982では、ステップD981でロードしたインデックスに対応する動画の1フレーム分をデコード(復号化)する動画デコード処理(詳細は省略)を実行する。
そして、ステップD983に進むと、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
なお、Iピクチャ動画の場合は、各フレームの絵が独立して存在しているので、フレーム数を管理しておけばよい。後でVDP312の内部レジスタに指示をする際にそのカウント(Iピクチャ用フレームカウント数)が重要になる。
【0688】
〔ビヘイビアインデックス設定処理〕
次に、前述のモーションコマンド実行処理におけるステップD866で実行されるビヘイビアインデックス設定処理の詳細について図124により説明する。
このルーチンが開始されると、まずステップD991乃至D997を順次実行し、その後リターンする。
ステップD991では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD992では、対象のモーション用リストテーブルの指定行(ステップD991でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。なお、前述した図135に一例を示すように、このモーション用リストテーブルの指定行には、ビヘイビアテーブルのアドレスに対応するビヘイビアテーブル名も設定されている(但し、NULLの場合もある)。
【0689】
ステップD993では、ステップD992で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図149上側が対象のモーションテーブルであり、k=1(指定行は2行目)であると、コマンドがビヘイビアコードであるため本ルーチンが実行されるが、この場合、k=1のオブジェクトインデックスは(0)であるため、上記ステップD993では、オブジェクトインデックスとして0が取得されることになる。
ステップD994では、ステップD993で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図149上側の場合、オブジェクトインデックス0はk=0(1行目)で追加された動画(虎たろうムービー1)であるため、この動画に対応する表示情報領域のアドレスが設定される。
【0690】
ステップD995では、コマンド位置kに対応するビヘイビアインデックスのデータを取得する。
ステップD996では、対象の表示情報領域(ステップD994でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるビヘイビアインデックスとして、ステップD995で取得したデータをセーブする。
例えば、図149上側でk=1の場合、ビヘイビアインデックスは(0)であるため、これが上記ステップD995で取得されて、上記ステップD996で対象の表示情報領域に設定される。
そして、ステップD997では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
【0691】
なお、ビヘイビアテーブルは、ビヘイビア(キャラクタの差替え)の処理アドレスが設定された行からなるテーブル(PROM321に登録されたデータテーブル)であり、この行のうちの特定の行(指定行)を指定するのがビヘイビアインデックスである。したがって、ビヘイビアテーブルとビヘイビアインデックスの値が決まると、ビヘイビアの処理アドレスが決まり、ビヘイビアの内容が特定されることになる。本ルーチンは、そのようなビヘイビアの内容を指定するための制御処理を行っている。例えば、図149上側においてk=1の2行目は、オブジェクトインデックス0のオブジェクト(虎たろうムービー1)に対して、ビヘイビアインデックス0で指定されるビヘイビア(キャラクタの差替え)の実行を指令しているので、これに応じて対象の情報表示領域の設定を行っている。ビヘイビアインデックス0で指定されるビヘイビアとは、例えば、ムービーに登場する予告用キャラクタ「虎たろう」の色を大当り信頼度報知のために変化させる、或いは予告用キャラクタの種類を「虎たろう」から「虎すけ」に差替える(後述する図146(b)及び図146(c)参照)といった制御である。
【0692】
〔演出表示編集処理〕
次に、前述のメイン処理におけるステップD31で実行される演出表示編集処理の詳細について図125図126、及び図127により説明する。以下では、ステップ番号としてステップEを使用する。この演出表示編集処理は、メイン処理で説明したように、VDP312に表示装置41での描画内容を指示するための各種コマンドとそのパラメータの設定を行う処理である。この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドはメイン処理のステップD34(画面描画を指示)でVDP312に順次送信される。
このルーチンが開始されると、モーション管理領域の数だけステップE1乃至E50のループ処理Aを繰り返し実行し、その後リターンする。なお、ループ処理A内にはステップE6乃至E48のループ処理Bが含まれており、さらにループ処理B内にはステップE39乃至E43のループ処理Cが含まれている。
【0693】
ループ処理Aでは、最初はX=0としてモーション管理領域X(即ち、最初はモーション管理領域0)についてステップE2から処理を実行し、ステップE49に進むとモーション管理領域のアドレス領域を更新し(即ち、X=X+1とし)、次のステップE50で全てのモーション管理領域について当該ループ処理Aが終了したか(本例では、X=14になっているか)判定し、ステップE50の判定結果がYESとなった場合(即ち、ループ処理Aの終了条件が成立した場合)にはリターンし、NOならばステップE2からループ処理Aを繰り返す。
以下、ステップE2以降の処理を説明する。
ステップE2では、モーション管理領域Xのアドレス領域のデータがNULLか判定し、NULLならば当該モーション管理領域Xについては制御不要であるためステップE49に進み、NULLでない場合にはステップE3乃至E5を順次実行した後にステップE6に進む。なお、このステップE2でNULL(YES)と判定されてステップE49に進む場合、ループ処理Bとループ処理Cを含む以下の処理は、当該モーション管理領域Xについては当然実行されない。
【0694】
ステップE3では、今回制御するモーション用リストテーブルをロードして準備する。
ステップE4では、全てのブレンド情報領域をクリアする。ブレンド情報領域とは、VDP312の内部レジスタのパラメータの情報を新旧比較用に記憶するRAM311a内の領域である。即ち、VDP312には、エフェクトのためのブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類ある。そして、この4種類のパラメータ毎に今回の設定情報と前回の設定情報を記憶する領域がRAM311aに設けられており、これがブレンド情報領域である。
ステップE5では、画素間演算用パラメータ(即ち、VDP312の内部レジスタに設定する4種類のパラメータ)を設定する。
【0695】
次に、ステップE6に進むと、ループ処理Bを開始する。ループ処理Bでは、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップE6乃至E48を繰り返し実行し、その後ステップE49に進む。即ち、ステップE6ではループ開始直後は変数iを0としてステップE7に進む。ステップE48では、変数iが終値未満である場合にはステップE6に戻り、変数iが終値以上である場合にはステップE49に進む。そしてステップE6に戻ると、変数iの値を1だけ増加させてステップE7に進む。なお、終値の値は、モーション管理領域Xに設定されている表示数のデータから1を減算した値である。即ち、このループ処理Bでは、この表示数分だけステップE6乃至E48を繰り返し実行し、その後ステップE49に進む。
【0696】
以下、ステップE7以降の処理を説明する。
ステップE7に進むと、ステップE7乃至E9を順次実行し、その後ステップE10に進む。
ステップE7では、VDP312の内部レジスタのカラーパラメータをα値対応に設定する。
ステップE8では、後述する処理に使用するαフラグをαありに設定する。
ステップE9では、モーション管理領域Xにおける変数iに対応する表示情報領域(以下、対象の表示情報領域という)のアドレスをロードする。
次に、ステップE10に進むと、ステップE9でロードしたアドレスの表示情報領域におけるビヘイビアインデックスの値を読み取り、NULLではないなんらかのインデックスのデータが設定されているか判定し、なんらかのビヘイビアインデックスのデータが設定されている場合(YESの場合)にはステップE11で当該ビヘイビアインデックスに対応する処理を実行した後にステップE12に進み、NOの場合にはステップE11を実行しないでステップE12に進む。
【0697】
なお、ステップE11で実行されるビヘイビアインデックスに対応する処理とは、対象の表示情報領域に対応するオブジェクト(対象のオブジェクト)について、ビヘイビアインデックスで指定されるビヘイビア(画像データの差替え)を実行するための処理であり、前述したビヘイビアテーブルにおいてビヘイビアインデックスで指定される行に設定された処理アドレスによって特定される処理である。
例えば、対象のオブジェクトが左図柄の現図柄である場合には、後述する図129の左側に示すフローチャートの処理(表示左図柄変換処理)が上記ステップE11で実行される。本願では上記ステップE11で実行される処理の具体例を、他にも図129の右側にも示しているが、これらの詳細は後述する。
なお、ステップE11が実行されると、画像インデックスのデータが表示直前に変更され、例えば基本の図柄が表示すべき所定の図柄に差し替えられたり、プッシュボタン(PB)の画像の色が基本色から遊技状態に応じた所定の色(例えば、大当り信頼度を表す特定の色)に差し替えられたりする。モーションテーブル上に定義されているキャラクタの表示パターンは固定になってしまっているため、基本的にはモーションテーブルを変えない限り、変動毎に異なる停止図柄や振り分けにより異なる予告キャラクタなどに対応出来ない。そこで本例では、ビヘイビアを必要箇所に埋め込んでキャラクタを差し替える処理を行うようにして柔軟な対応を行えるようにしている。
【0698】
ステップE12に進むと、対象の表示情報領域に設定されているエフェクトタイプのデータを読み取り、これが基本ブレンドか、加算ブレンドか、減算ブレンドかを、ステップE12、E13、E14でそれぞれ判定し、何れかのブレンドタイプに該当すればステップE15に進み、何れのブレンドタイプにも該当しなければステップE15乃至E18を飛ばしてステップE21に進む。
【0699】
ステップE15に進むと、対象の表示情報領域に設定されているエフェクトパラメータの値をロードし、カラーパラメータに適用し、その後ステップE16に進む。
ステップE16に進むと、対象の表示情報領域に設定されている表示種別などのデータから、描画指定は通常動画の透過なし再生か判定し、YESであればステップE17に進み、NOであればステップE21に進む。
ステップE17に進むと、対象の動画(ステップE16で通常動画の透過なし再生と判定されたもの)は、αなしで登録されているか判定し、YESであればステップE18でαフラグをαなしに設定してステップE21に進み、NOであればステップE18を実行しないでステップE21に進む。
【0700】
次に、ステップE21に進むと、対象の表示情報領域に設定されているエフェクトタイプのデータを読み取り、これが加算ブレンドか、減算ブレンドか、乗算ブレンドか、スクリーンブレンドか、差分ブレンドか、比較(暗)ブレンドか、反転ブレンドかを、ステップE21乃至27でそれぞれ判定し、何れかのブレンドタイプに該当すれば対応の処理(ステップE31乃至E37のうちの対応する処理)を実行後にステップE39に進み、何れのブレンドタイプにも該当しなければステップE28に進む。
ここで、ステップE31は加算ブレンドの場合に実行される処理(加算タイプの描画エフェクトを設定する処理)であり、ステップE32は減算ブレンドの場合に実行される処理(減算タイプの描画エフェクトを設定する処理)であり、ステップE33は乗算ブレンドの場合に実行される処理(乗算タイプの描画エフェクトを設定する処理)であり、ステップE34はスクリーンブレンドの場合に実行される処理(スクリーンタイプの描画エフェクトを設定する処理)であり、ステップE35は差分ブレンドの場合に実行される処理(差分タイプの描画エフェクトを設定する処理)であり、ステップE36は比較(暗)ブレンドの場合に実行される処理(比較(暗)タイプの描画エフェクトを設定する処理)であり、ステップE37は反転ブレンドの場合に実行される処理(反転タイプの描画エフェクトを設定する処理)である。
【0701】
次に、ステップE28に進むと、αフラグの設定がαなしか判定し、αなしである場合にはステップE29でαなしの描画エフェクトを設定してステップE39に進み、αなしでない場合(即ち、αありの場合)にはステップE38でαありタイプの描画エフェクトを設定してステップE39に進む。
なお、上記ステップE29及びステップE31乃至E38では、対象の情報表示領域のエフェクトタイプ等の設定に応じて、ブレンドするための各種パラメータ(本例では4種類)を該当のブレンド情報領域に設定している。
【0702】
次に、ステップE39に進むと、ループ処理Cを開始する。ループ処理Cでは、前述した4種のブレンド情報領域に対応する変数jを初期値0から増分1だけ増加させつつ終値(終値=3)になるまで、ステップE39乃至E43を繰り返し実行し、その後ステップE44に進む。
即ち、ステップE39ではループ開始直後は変数jを0としてステップE40に進む。
ステップE40に進むと、変数jに対応するブレンド情報領域が変更されたか判定し、変更されたならばステップE41、E42を順次実行してステップE43に進み、変更されていない場合にはステップE41、E42を実行しないでステップE43に進む。ここで、ステップE40の判定は、該当のブレンド情報領域の前回のデータと今回のデータが不一致であれば変更されたと判定し、一致であれば変更されていないと判定することにより行う。
また、ステップE41では、変数jに対応するレジストパラメータの画素間演算固定値をVDP312の内部レジスタに設定し、ステップE42では、今回のブレンド情報を前回のブレンド情報として設定する。
【0703】
そして、ステップE43に進むと、変数jが終値未満である場合にはステップE39に戻り、変数jが終値である場合にはループ処理Cを抜けてステップE44に進む。そしてステップE39に戻ると、変数jの値を1だけ増加させてステップE40に進む。
なお、変数jの範囲が4つ分あるのは、前述したように、VDP312にブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類あるからである。また、各レジスタに対応する領域(ブレンド情報領域)を前回用と今回用と設け、このブレンド情報領域の新旧のデータを比較して一致したときだけ、ステップE41の設定処理を行うのは、指定する値が変化する時だけVDP312のレジスタに設定するため(VDPへの設定処理の効率化のため)である。
【0704】
次に、ステップE44に進むと、対象の表示情報領域に設定されている表示種別(表示タイプ)のデータを読み取り、これが静止画か、通常動画か、Iピクチャ動画か、単色四角形かを、ステップE44乃至47でそれぞれ判定し、単色四角形を除く何れかの表示タイプに該当すれば対応の処理(ステップE51及びE52、ステップE53及びE54、或いはステップE55乃至E57、のうちの対応する処理)を実行後にステップE58に進み、単色四角形ならばステップE59に進み、何れの表示タイプにも該当しなければステップE48に進む。
ここで、ステップE51及びE52は、静止画の場合に実行され、ステップE51では画像インデックスのデータをロードし、ステップE52ではロードした画像インデックスのデータに基づいて静止画像データの属性を設定するなどの処理を実行する。ステップE52を経ると、ステップE58に進み、ステップE51でロードしたデータとステップE52の設定に基づいてキャラクタ描画処理(後述する)を実行する。
【0705】
また、ステップE53及びE54は、通常動画の場合に実行され、ステップE53では画像インデックスのデータをロードし、ステップE54ではロードした画像インデックスのデータに基づいて通常動画像データの属性を設定するなどの処理を実行する。ステップE54を経ると、ステップE58に進み、ステップE53でロードしたデータとステップE54の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE55乃至E57は、Iピクチャ動画の場合に実行され、ステップE55では画像インデックスのデータをロードし、ステップE56では対象の表示情報領域からIピクチャ用フレームカウント(Iピクチャのみの動画時のフレームカウント)のデータをロードし、ステップE57ではロードした前記データに基づいてIピクチャ動画像データの属性を設定するなどの処理を実行する。ステップE57を経ると、ステップE58に進み、ステップE55、E56でロードしたデータとステップE57の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE59は、単色四角形の場合に実行され、矩形画像(単色四角形の画像)をVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、矩形画像のスプライトを仮想描画空間に貼り付ける処理)である。
なお、ステップE58又はステップE59を経ると、ステップE48に進む。
【0706】
次に、ステップE48に進むと、ループ処理Bの変数iが終値(表示数−1)に到達しているか判定し、到達していればループ処理Bを抜けてステップE49に進み、到達していなければステップE6に戻ってループ処理Bを繰り返す。
そして、ステップE49に進むと、対象のモーション管理領域の番号Xを1だけ増やす更新を実行し、次いでステップE50でXがループ処理Aの終値(本例では14)に到達したか判定し、到達していればループ処理Aを抜けてリターンし、到達していなければステップE1に戻ってステップE2からループ処理Aを繰り返す。
【0707】
なお、ステップE52、E54、E57の属性を設定するステップでは、当該キャラクタデータ(静止画データ又は動画データ)をキャラROM(画像ROM322)からVRAM329へデータ転送する処理も同時に行われる。ただし、既にVRAMに同じものが存在する場合はこのデータ転送は行わない。また、単色四角形の場合には、キャラROMのデータを使用しないので、このデータ転送は必要ない。ここで、属性とは、キャラクタの基本情報のことであり、例えばαモード、カラーモード(何色表示かなど)、キャラクタサイズ、カラーパレット指定、他がある。
【0708】
〔キャラクタ描画処理〕
次に、前述の演出表示編集処理におけるステップE58で実行されるキャラクタ描画処理の詳細について図128により説明する。
このルーチンが開始されると、まずステップE61で、モーション管理領域Xにおける対象の表示情報領域(変数iに対応する表示情報領域)から表示左上点のX座標と表示左下点のX座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE62に進み、不一致ならばステップE77に進む。
ステップE62に進むと、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標と表示右上点のY座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE63に進み、不一致ならばステップE77に進む。
なお、四角形(矩形)の画像であれば、ステップE61及びE62の判定結果はYESになってステップE63に進むが、三角形キャラクタ(三角形の画像)である場合には何れかの判定がNOになってステップE77に進む。
ステップE77に進むと、三角形キャラクタ描画処理(説明は省略)を実行してリターンする。
【0709】
次に、ステップE63に進むと、ステップE63乃至E67を順次実行した後にステップE68に進む。
ステップE63では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これをキャラクタの左上基点X座標として設定する。
ステップE64では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これをキャラクタの左上基点Y座標として設定する。
ステップE65では、モーション管理領域Xにおける対象の表示情報領域から表示右上点のX座標と表示左上点のX座標のデータを読み出し、これらの差(=表示右上点のX座標−表示左上点のX座標)をキャラクタの幅データとして設定する。
【0710】
ステップE66では、モーション管理領域Xにおける対象の表示情報領域から表示左下点のY座標と表示左上点のY座標のデータを読み出し、これらの差(=表示左下点のY座標−表示左上点のY座標)をキャラクタの高さデータとして設定する。
ステップE67では、水平フリップ(水平方向の反転)なしと、垂直フリップなしとを設定する。ここで、水平フリップは水平方向(X座標方向)の画像反転を意味し、垂直フリップは垂直方向(Y座標方向)の画像反転を意味する。
【0711】
ステップE68に進むと、ステップE65で設定された幅データが0未満(即ち、マイナスの値)か判定し、0未満ならば水平フリップありなのでステップE69乃至E71を順次実行した後にステップE72に進み、0未満でない場合には水平フリップなしなのでステップE69乃至E71を実行しないでステップE72に進む。
ステップE69では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これにステップE65で設定した幅データ(マイナス値)を加算した加算結果をキャラクタの左上基点X座標として更新設定する。
ステップE70では、ステップE65で設定した幅データ(マイナス値)を正数に変換し、これを新たな幅データとして更新設定する。
ステップE71では、水平フリップありを設定する(ステップE67の設定を変更する)。
【0712】
ステップE72に進むと、ステップE66で設定された高さデータが0未満(即ち、マイナスの値)か判定し、0未満ならば垂直フリップありなのでステップE73乃至E75を順次実行した後にステップE76に進み、0未満でない場合には垂直フリップなしなのでステップE73乃至E75を実行しないでステップE76に進む。
ステップE73では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これにステップE66で設定した高さデータ(マイナス値)を加算した加算結果をキャラクタの左上基点Y座標として更新設定する。
ステップE74では、ステップE66で設定した高さデータ(マイナス値)を正数に変換し、これを新たな高さデータとして更新設定する。
ステップE75では、垂直フリップありを設定する(ステップE67の設定を変更する)。
そして、ステップE76に進むと、ここまでの処理(ステップE63乃至E75)による設定に基づいて、前記ステップE51、E53、E55の何れかでロードされた画像インデックスのデータに対応する所定のキャラクタの画像を指定画像としてVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、所定のキャラクタのスプライトを仮想描画空間に貼り付ける処理)を実行し、その後リターンする。
【0713】
〔表示左図柄変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行される表示左図柄変換処理の詳細について図129の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップE81乃至E83を順次実行した後にステップE84に進む。
ステップE81では、画像インデックスのデータ(ビヘイビアによる差替え前のデータ)をロードする。
ステップE82では、表示すべき現図柄(左)のインデックス(図柄番号)のデータ(例えば、前述のステップD727又はD747で設定されたデータ)をロードする。なお本例の場合、図柄の種類が9種類であるため、図柄(特図の飾り図柄)のインデックス(図柄番号)のデータは0から8までの何れかの数値である。
【0714】
ステップE83では、ステップE81でロードした画像インデックスに設定されていた現図柄(左)のインデックスのデータに、ステップE82でロードした現図柄(左)のインデックスのデータを加算し、この加算結果を更新インデックスとして設定する。例えば、ステップE81でロードした差替え(変換)前の画像インデックスの値が例えば0であり、ステップE82でロードした差替えようとする現図柄(左)のインデックスのデータが6であった場合には、上記ステップE83では6(=0+6)を更新インデックスの値として設定する。
【0715】
次に、ステップE84に進むと、ステップE83で設定した更新インデックスのデータが図柄上限(本例では、8)を超えているか判定し、超えている場合にはステップE85を実行後にステップE86に進み、超えていない場合にはステップE85を実行しないでステップE86に進む。

ステップE85では、図柄上限に1を加算した値(本例では、9)を、更新インデックスの値から減算し、この減算結果を新たな更新インデックスの値として設定する。これらステップE84、E85によれば、更新インデックスの値が図柄上限を超えると、更新インデックスの値が一巡した値に更新される。
【0716】
ステップE86に進むと、左図柄インデックス変換テーブルを設定し、ステップE87に進む。左図柄インデックス変換テーブルは、更新インデックスにより行が指定され、指定された行に表示すべき左図柄の画像インデックスの値が設定されているテーブルである。
ステップE87では、ステップE86で設定された左図柄インデックス変換テーブルにおける更新インデックスで指定される行から新たな画像インデックスの値を取得し、ステップE88に進む。
そして、ステップE88では、ステップE87で取得した値を、新たな画像インデックスの値として画像インデックス領域(画像インデックスをセーブする領域)にセーブし、その後リターンする。
なお、表示左図柄変換処理について以上説明したが、右図柄、中図柄についても同様の処理がある(詳細は省略)。
【0717】
〔PB色変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行されるPB色変換処理の詳細について図129の右上側のフローチャートにより説明する。
このルーチンが開始されると、ステップE91乃至E94を順次実行した後にリターンする。
ステップE91では、演出振分け結果領域(前述のステップD426、D429で決定された振分け結果(予告種別)が格納されている領域)のPB色領域から振分け結果をロードする。
ステップE92では、PBインデックス変換テーブルを設定し、ステップE93に進む。PBインデックス変換テーブルは、上記PB色領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきPB(プッシュボタン)の画像の画像インデックスの値が設定されているテーブルである。
【0718】
ステップE93では、ステップE92で設定されたPBインデックス変換テーブルにおける上記振分け結果で指定される行から新たな画像インデックスの値(PBインデックスの値)を取得し、ステップE94に進む。
そして、ステップE94では、ステップE93で取得した値を、新たな画像インデックスの値として画像インデックス領域にセーブし、その後リターンする。
なお、プッシュボタン予告のモーション制御データ(特に画像インデックスのデータ)としては、デフォルト色となるボタンキャラクタしか登録していないので、大当り信頼度の報知等のために色をデフォルト色から変える場合に、本ルーチン(PB色変換処理)が実行される。
なお、このプッシュボタン予告に限らず、登場する基本キャラクタ(例えば「虎たろう」)を演出振分け結果領域の振分け結果に対応する他のキャラクタ(例えば「虎すけ」、或いは「虎ロック」など)にビヘイビアにより変換(差替え)する等の処理も同様に存在する。
【0719】
〔リーチ文字変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行されるリーチ文字変換処理の詳細について図129の右下側のフローチャートにより説明する。
このルーチンが開始されると、ステップE101乃至E103を順次実行した後にステップE104に進む。
ステップE101では、演出振分け結果領域のリーチ文字領域から振分け結果をロードする。
ステップE102では、リーチ文字インデックス変換テーブルを設定し、ステップE103に進む。リーチ文字インデックス変換テーブルは、上記リーチ文字領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきリーチ文字の画像の画像インデックスの値が設定されているテーブルである。
ステップE103では、ステップE102で設定されたリーチ文字インデックス変換テーブルにおける上記振分け結果で指定される行から新たな画像インデックスの値(リーチ文字インデックスの値)を取得する。なお図示省略しているが、このステップE103で取得した値も、新たな画像インデックスの値として所定の画像インデックス領域にセーブされる。
【0720】
そして、ステップE104に進むと、ステップE103で取得したリーチ文字インデックスが「文字なし」を示す値か判定し、YESならばステップE105で当該リーチ文字のキャラクタ(画像)の大きさを0に設定した後にリターンし、NOならばステップE105を実行しないでリターンする。
なお本例では、リーチが発生した瞬間に表示される「リーチ!」や、「戦機」、「勝利」、「リーチ」、「だぜ〜!」などのリーチ文字についても、モーション制御データ(特に画像インデックスのデータ)ではデフォルト文字を表示する構成となっており、必要に応じてビヘイビアによって(即ち、必要に応じて、このリーチ文字変換処理を前記ステップE11で行う設定とすることによって)表示直前に文字変更や各文字の色違いなどの差し替えを行う。
また、以上説明したリーチ文字変換処理では、例えば大当り予告の信頼度が低信頼度での変動の場合にステップE105でその文字サイズを0にすることで、制御上リーチ文字が存在するが実際には見えないという制御を行っている。但し、表示しない手法を、この構成に限られない、例えばリーチ文字表示を行わない構成とすることもあり得る。
【0721】
〔演出制御用データテーブルと演出表示の具体例等〕
次に、以上説明した演出制御装置300の制御で使用するデータテーブルの具体例と、同制御により表示装置41の表示部41a(画面、表示領域)で行われる演出表示の具体例などを、図133乃至図180により説明する。
まず図133は、静止画ROMメンバリストテーブルの具体例であり、ビットマップ追加処理の前記ステップD878等において既に説明した。
次に図134は、動画ROMメンバリストテーブルの具体例であり、動画追加処理の前記ステップD897等において既に説明した。
次に図135は、モーション用リストテーブルの具体例である。このモーション用リストテーブルについては、シナリオ解析処理の説明箇所(詳細には、モーションインデックスについて説明した箇所)において既に説明した。
【0722】
次に図136は、シナリオテーブル(客待ちデモ時)の具体例であり、シナリオ解析処理の前記ステップD585等や、定数ウェイト処理、繰り返し処理等において既に説明した。
次に図137は、シナリオテーブル(特図1通常変動時)の具体例であり、シナリオ解析処理の前記ステップD586等において既に説明した。
【0723】
次に図138は、モーションテーブル(左図柄通常変動開始時)の具体例であり、モーションコマンド実行処理の前記ステップD823等において既に説明した。
なお、モーションテーブルの制御では、対象のモーションのレイヤーに対してモーション削除処理又は新たなモーション登録処理が実行されない限り、テーブルの行が一番下までくると、頭に戻る。即ち、前記モーション制御処理(ステップD30)では、対象のモーションテーブルの制御が最終フレームまで終了した(フレーム番号が最終フレーム数に到達した)場合には、モーション登録時と同様に、同一のモーションテーブルをまた最初から実行する構成となっている。
次に図139は、図138に示したモーションテーブルによる表示結果の一例である。
この図に示すように、表示画面41aの左上隅が原点(X座標=0、Y座標=0)となっており、上下方向がY軸方向であるため、表示画面41aの左下隅はX座標=0でY座標=767となっている。また、表示画面41aにおいて左右方向がX軸方向であるため、表示画面41aの右上隅はX座標=1023でY座標=0となっており、表示画面41aの右下隅はX座標=1023でY座標=767となっている。なお、このような座標の具体的数値は一例にすぎない。
【0724】
図139の(a)は、上記モーションテーブルの最初のフレーム(a)に対応している。虎のキャラクタの画像を含む図柄「2」が次図柄(オブジェクトインデックス0)であり、同じく図柄「1」が現図柄(オブジェクトインデックス1)であり、同じく図柄「9」が前図柄(オブジェクトインデックス2)であり、これらオブジェクトは、上記モーションテーブルの1行目から6行目によって追加登録されてビヘイビアが設定される。また、上記モーションテーブルの7行目から9行目で、これらオブジェクトの表示位置や大きさがそれぞれ設定され、これにより図139の(a)に示す表示が行われる。但し、次図柄は実際には全体が画面の外の位置にあって見えないし、前図柄も一部しか見えない。
【0725】
また、図139の(b)は、上記モーションテーブルの2番目のフレーム(b)に対応している。各オブジェクトの図柄やビヘイビアの設定は最初のフレーム(a)のままであり、上記モーションテーブルの11行目から13行目で、これらオブジェクトの表示位置や大きさが設定され、これにより図139の(b)に示す表示が行われる。この場合、Y座標の値が最初のフレーム(a)よりも全て−8だけ変更され(例えば、オブジェクトインデックス1の現図柄は、Y座標の値が7から−1に変更され)、これにより各図柄が表示画面41aにおいて上に若干移動している。これは、各図柄が変動開始時に一旦ホップ(若干上昇)した後に下方向にスクロール(変動)する動作における、一旦ホップする動きの一部である。上記モーションテーブル(図138)の3番目、4番目のフレーム(c)、(d)もY座標が順次−8だけ変更されている。
【0726】
次に図140の上側は、各図柄の初期位置の状態(前述したホップする動作を除いて一番上にある状態)を示し、前述した図139の(a)と同じ表示となっている。
また、図140の下側は、各図柄が移動範囲の一番下までスクロールした状態を示している。
各図柄の変動表示としての表示位置の移動(スクロール)は、上述した二つの状態の範囲で行われる。
例えば、現図柄が移動範囲の一番下までくると、次は図柄番号を更新(+1)した状態で移動範囲の序盤の値に戻ることになる。この例でいうと、3つの図柄(図柄番号ではなく、現図柄・前図柄・次図柄で考えた場合)が各々の狭い有効範囲内を繰り返し動いているだけとなっている。上に戻る時に図柄番号が+1されるので(即ち、例えば図柄「1」から図柄「2」へ切り替えられるので)、同一の図柄が画面外上方から画面外下方へスクロールしているように見える。
【0727】
そして、y座標が100ずつ加算される速度で変動する場合、現図柄は7→107→207→307→407→7→107→・・・の値で変動制御される。7になる時に表示される図柄番号が+1される。左図柄の前図柄、次図柄も同様であり、中図柄や右図柄の現図柄、前図柄、次図柄も同様である。
この手法のメリットとしては、現在制御の中心となっている図柄番号がいくつであるかを判断しやすいと言う点である。上記図140の例では図柄番号「1」が中心であり、前図柄はそれの1つ前の「9」、次図柄は1つ後の「2」であることを相対的に計算できる。座標が上に戻った時は、中心となる図柄は「2」というように制御対象を1つに絞ることができるためシンプルな構造にできる。
これが「現図柄、前図柄、次図柄」という分け方ではなく、同一の図柄を上から下まで動かす手法だと、各々が独立した3つの図柄として存在することになるので、基準となる図柄が存在しないことになり、図柄差し替え時などにおいて制御し難い、全て管理する必要があるなどの問題があるが、本例であればそのような問題が解消される。
なお、上記範囲分けは通常変動時の場合である。リーチ中(リーチアクション中)などは図柄の位置が色々変化したりするのでこの限りではない。但し、リーチ中などでも、現図柄、前図柄、次図柄等の区分けの考え方は残る。
【0728】
次に図141は、左図柄通常変動時のモーションテーブルの連結例である。このモーションテーブルの連結は、前述したシナリオテーブルによって行われる。まず、図141の上段に示すモーションテーブル(Mdat0000)は、例えば後述の図143に示すシナリオテーブルの20行目(//19)によってモーションインデックス0が設定され、これにより図135のモーション用リストテーブルの1行目(左図柄停止)が指定されることによって設定される。そして、このモーションテーブル(Mdat0000)により、図柄「1」がオブジェクトインデックス0として登録され(1行目)、次いでこの図柄がビヘイビアインデックス0で指定されるビヘイビアによって所定の図柄に差し替えられ(2行目)、3行目で指定された表示位置に停止図柄として表示される。このモーションテーブル(Mdat0000)のようなモーションテーブルは、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1通りづつしか登録しないようにし、基本キャラクタとしてテーブル上に登録するのは、内部制御上一番若い番号のキャラクタ(例えば、キャラROM(画像ROM322)における登録上一番若いアドレスのキャラクタであり、この場合、停止図柄「1」)としている。この構成によれば、内部制御上一番若い番号のものを基準としているので、ビヘイビア(変更処理)によるキャラクタ差し替え等の差分値を算出するのが容易で、制御がしやすい、効率良く制御を行えるようになり、開発効率も向上するという効果がある。また、同一の動きなら1通りづつしかモーションテーブルを登録しないので、データ容量の肥大化を防止できる効果もある。
【0729】
次いで、図141の中段に示すモーションテーブル(Mdat0003)は、例えば図137に示したシナリオテーブル(MS_LZ100)の1行目によってモーションインデックス3が設定され、これにより図135のモーション用リストテーブルの4行目(左通常変動(前半))が指定されることによって設定される。そして、このモーションテーブル(Mdat0003)により、前述した図138で説明した場合と同様に、次図柄、現図柄、前図柄がそれぞれ登録され、左図柄の通常変動(前半)の表示が行われる。なお、図141の中段と図138は、同じモーションテーブル(Mdat0003)を示している。
【0730】
次いで、図141の下段に示すモーションテーブル(Mdat0004)は、例えば図137に示したシナリオテーブル(MS_LZ100)の4行目によってモーションインデックス4が設定され、これにより図135のモーション用リストテーブルの5行目(//4左通常変動(後半))が指定されることによって設定される。そして、このモーションテーブル(Mdat0004)により、次図柄、現図柄、前図柄がそれぞれ登録され、左図柄の通常変動(後半)の表示が行われる。
以上、左図柄についてのみ説明しているが、右図柄や中図柄、或いは他のオブジェクトについても同様である。
このようにシナリオテーブルは、ブロック化された表示演出を指定するモーションテーブルを自在に複数組み合わせて一連の長大な演出を容易に構成することができる。
【0731】
次に図142の上段は、シナリオテーブル(プッシュボタン予告時)の具体例であり、可変ウェイト処理、PB待ち処理、PB判定分岐処理等において既に説明した。
次に図142の下段は、モーションテーブル(プッシュボタン予告時)の具体例であり、モーションコマンド実行処理の前記ステップD823や、オブジェクト削除処理のステップD954において既に説明した。
【0732】
次に図143は、特図の変動表示演出のエンディング時に使用するシナリオテーブルの一例である。
ここでは、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しないようにするため、エンディング期間中に所定時間の図柄表示期間を設けた。この例では、27行目(//26)において定数ウェイトコードを設定し、そのウェイト時間値を30(即ち、1秒間)としている。これにより、20行目(//19)、22行目(//21)、及び24行目(//23)でモーション登録した左・右・中の停止図柄表示が、所定時間(この例では、1秒間)継続し、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しない。
【0733】
また、図143の18行目(//17)の背景設定は、モーションインデックスの値が(−1)に設定されているため、前述したモーション登録処理のステップD637でNOとなり、RAMのモーションインデックス領域の値がモーションインデックスとして使用される。これは、エンディング終了後に表示する背景に合わせなくてはならないが、この時点では確率情報コマンドを受信していないので、既に受信している図柄コマンドやファンファーレコマンド、エンディングコマンド等の情報から予測して背景選択を行う必要があるためである。また、遊技制御装置から確変図柄の図柄コマンドが送られていたとしても、演出制御装置側で通常図柄(非確変図柄)での当りに見せかけるという演出を行う可能性もあるので、コマンドだけでなく演出制御装置の内部情報も使用する必要があるためである。なお、上記エンディングシナリオの終了時に確率情報コマンドが送られてくるが、表示内容と問題なければそのまま継続すればよいし、問題があるのであればコマンドに対応する背景に切り替える構成となっている(遊技制御装置からのコマンドが最優先のため)。
【0734】
次に図144は、表示レイヤーを説明する図である。ここで、表示レイヤーとは、画面において、手前側のものとして表示するか、又は向こう側のものとして表示するかという前後関係(表示優先順位)を決める仮想的なレイヤー(層)を意味する。本実施例では、前述したモーションのレイヤーが基本的な表示レイヤーに対応する。既述したように、本実施例のモーションのレイヤーは、背景用のモーション0から第4図柄用のモーション13まで合計14個あり、画像が同じ位置(X座標とY座標の位置)に重なった場合、このモーション番号が大きいものほど優先的に表示される。即ち、画像が同じ位置に重なった場合、モーション番号が大きいものが透明又は半透明とされていない限り、モーション番号が小さいもの(モーション番号が若いもの)は重なった部分においてモーション番号が大きいものに隠れるように表示されて見えなくなる。このモーションのレイヤーに対応する表示レイヤーの関係を、斜視図として表したものが図144である。
【0735】
なお本実施例の場合、モーションのレイヤーの表示優先順位は、実際には前述した演出表示編集処理(図125乃至図127)によって決まる。前述した演出表示編集処理では、既述したように、モーションのレイヤーの番号(即ち、モーション番号)が小さいもの(若いもの)から処理を順番に行い、この順番で各画像をVDP312の仮想描画空間(フレームバッファ)に描画しているからである。
また、図144にはモーションのレイヤーに対応する基本的な表示レイヤーの分類のみを示したが、同一のモーションのレイヤーにおいても、前述したオブジェクトインデックスが異なることによって、さらに細かく表示レイヤーが異なると考えることができる。既述したように、オブジェクトインデックスの値が小さい程、表示レイヤーの前後関係として画面奥に表示されることになる(つまり、表示位置が重なった場合、オブジェクトインデックスの値が大きいオブジェクトが優先的に画面に表示される)からである。
【0736】
次に図145及び図146は、飾り図柄(即ち、飾り特図の図柄;識別情報)の画像に対して、これと異なる演出情報(識別情報と異なる演出用の情報)の画像が奥側又は手前側に重なる一連の演出表示の具体例として、リーチ開始演出の一例を示したものである。なお、画面41aのどこかには、通常必ず第4図柄が表示され、また場合により特図の始動記憶の保留表示(先読み予告による特殊な演出表示含む)が行われるが、これらの表示については煩雑を避けるために図示省略する。
この演出例では、まず図145(a)に示すように、飾り特図の左図柄KTLとしての「7」と右図柄KTRとしての「7」が画面41aの中央両側に大きく表示される。その後、これら左図柄KTLと右図柄KTRが、徐々に画面上で小さく縮小しつつ、図145(b)に示す状態、次いで図145(c)に示す状態を経て、図146(a)に示す状態まで動く表示が行われる。図145(a)に示した矢印付きの点線は、左図柄KTLと右図柄KTRのその後の移動軌跡(旋回した後に上側の隅に移動する軌跡)を図示したものであり、実際には画面41aに表示されない(但し、これも演出として表示されてもよい)。
【0737】
そして、左図柄KTL(識別情報)と右図柄KTR(識別情報)の画像が動き出すと、画面41aにキャラクタC7としての「虎たろう」の顔の画像(演出情報の画像)が登場し、これが画面上の右上側から左下側に向かって移動する表示が行われる。この際、キャラクタC7は、図145(b)の状態では右図柄KTRと部分的に重なって右図柄KTRより手前側にあるように表示され、図145(c)の状態では左図柄KTL及び右図柄KTRと部分的に重なって左図柄KTL及び右図柄KTRより向う側(奥側)にあるように表示され、ダイナミックな演出表示が実現される。図145(b)、図145(c)、及び図146(a)に示した点線は、キャラクタC7の直前の移動軌跡を示すものであり、実際には画面41aに表示されない(但し、これも演出として表示されてもよい)。
【0738】
また、左図柄KTL及び右図柄KTRとキャラクタC7とが中央に集まって重なる図145(c)の状態(遊技者が当該中央を注視する状態)では、予告抽選処理(例えば前述のステップD426、D429)の結果に応じて、例えば図146(b)に示すようにキャラクタC7の色が一時的に(又はその後継続して)変化したり、或いは図146(c)に示すようにキャラクタC7が異なるキャラクタC6に一時的に(又はその後継続して)変化したりすることによって、例えば大当りとなる信頼度を示唆する予告演出が行われる。このように特図の図柄(識別情報)の画像と、キャラクタ(演出情報)の画像とが重なる状態におけるキャラクタ等の表示内容又は表示態様によって信頼度示唆を行えば、遊技者がその信頼度示唆(予告)の演出を見逃す可能性は極めて低く、効果的な予告の演出表示が実現できる。
【0739】
なお、信頼度を示唆する予告演出は、例えば前述のステップD426、D429で使われる予告振分(予告の演出内容の抽選)のデータテーブルの内容を、例えば大当りとなる場合にビヘイビア等によってキャラクタC7の色が変化する(或いは特定の色に変化する)確率が高くなるように設定しておけばよい。このようにすれば、遊技者は経験的にキャラクタC7の色が変化すると(或いは特定の色に変化すると)大当りになり易いと実感するようになるから、キャラクタC7の色の変化によって大当り信頼度を示唆可能となる。他の予告演出も同様である。
また、キャラクタC7の色の変化等が無くても、図145(a)、図145(b)、図145(c)、及び図146(a)に示した一連のリーチ開始演出自体が大当り信頼度等の予告として行われてもよい。この場合も、例えば大当りとなる場合に当該リーチ開始演出が実行され易いように、演出内容を抽選するデータテーブルの内容を設定しておけば、当該リーチ開始演出が実行されると遊技者は大当りになり易いと推定することができる(つまり、遊技者に大当り信頼度を示唆できる)。
【0740】
次に図147は、図145及び図146に示した前記演出表示における各画像と表示レイヤーの状態の一態様を説明する図である。
前記演出表示において演出制御装置300は、キャラクタC7を右図柄KTR等の手前側に見せる場合(前記具体例では図145(b)の場合)には、図147(a)に示すように、キャラクタC7が前述のように移動する動画であるムービーM1の画像(演出用画像)を、左図柄KTL及び右図柄KTR(識別情報)よりも奥側の表示レイヤー(モーション4;予告4)に配置するとともに、前記ムービーM1の画像におけるキャラクタC7(演出情報)の画像を含む一部分を複写してなる画像GM1を、左図柄KTL及び右図柄KTRよりも手前側の表示レイヤー(モーション8;予告5)に配置し、これら奥側と手前側の画像におけるキャラクタC7の表示位置(X座標とY座標の位置)が一致するように制御する。つまり、飾り特図の図柄(表示レイヤーはモーション5〜7)の前後の表示レイヤーの同じ位置にキャラクタC7を描画し、全体としてキャラクタC7を二重に描画しているが、手前側は奥側の画像の一部を複写(コピー)したものを使用している。一部を複写しているため、元データ(画像ROM322に登録された画像データ)を供用できるとともに、半透明としなくても奥側の画像(例えば、左図柄KTL及び右図柄KTRの画像)を不必要に覆い隠さず、飾り特図等の視認性を確保できる効果がある。
【0741】
また、前記演出表示において演出制御装置300は、キャラクタC7を右図柄KTR等の奥側に見せる場合(前記具体例では図145(c)の場合)には、図147(b)に示すように、前記ムービーM1の画像(演出用画像)を、左図柄KTL及び右図柄KTR(識別情報)よりも奥側の表示レイヤー(モーション4;予告4)に配置したままとし、左図柄KTL及び右図柄KTRよりも手前側の表示レイヤー(モーション8;予告5)でのキャラクタC7の表示は行わない。つまり、飾り特図の図柄(表示レイヤーはモーション5〜7)の奥側の表示レイヤーのみにキャラクタC7を描画している。
【0742】
次に図148図149は、図145乃至図146に示した前記演出表示(リーチ開始演出)を図147の構成で実現するためのシナリオテーブルとモーションテーブルの一例である。
このうち図148上段は、シナリオレイヤー1で左図柄KTL用に使用されるシナリオテーブル(左図柄リーチ開始演出)であり、図148中段は、シナリオレイヤー2で右図柄KTR用に使用されるシナリオテーブル(右図柄リーチ開始演出)であり、図148下段は、シナリオレイヤー4でキャラクタC7用に使用されるシナリオテーブル(虎たろうリーチ開始演出)である。
また、図149上段は、前記ムービーM1の画像(奥側に配置する画像)の制御のためのモーションテーブル「Mdat0040」であり、図149下段は、前記ムービーM1を複写してなる画像GM1(手前側に配置する画像)の制御のためのモーションテーブル「Mdat0041」である。
【0743】
以下、図148上段のシナリオテーブル(左図柄リーチ開始演出)の各行を説明する。
1行目(//0)には、オペコードとして「モーション5登録コード」のデータが設定され、オペランドとして「モーションインデックスNo.(30)」のデータが設定されている。これにより、シナリオレイヤー1のシナリオ解析処理における前述のモーション登録処理において、上記オペランドのデータで指定されるモーションテーブル(図示省略)による表示(左図柄KTLが前述のように移動する表示)を行うための処理が行われる。
次に、2行目(//1)には、オペコードとして「定数ウェイトコード」のデータが設定され、オペランドとして「ウェイト時間値(60)」のデータが設定されている。これにより、前述の定数ウェイト処理が実行され、60フレームに相当する時間(2秒)だけ当該シナリオテーブルの制御進行を遅らせる動作が実現される。これは、左図柄KTLが画面上隅まで移動する表示が終わるのを待つためである。
【0744】
次に、3行目(//2)には、オペコードとして「変動シナリオ切替コード」のデータが設定され、オペランドとして「左図柄シナリオ3rd」のデータが設定されている。これにより、前記変動シナリオ切替処理が実行され、前半変動から図示省略した後半変動(リーチアクション)へとシナリオが切り替えられる。
なお、図148に示したテーブルのウェイト時間値やモーションインデックスなどの数値は、あくまで説明のための具体例であり、実際の数値とは必ずしも同じではない。他の図のテーブル等も同様である。
次に、図148中段のシナリオテーブル(右図柄リーチ開始演出)ついては、図148上段のシナリオテーブル(左図柄リーチ開始演出)と同様であるため、各行毎の説明を省略する。但しここでは、右図柄であるために、シナリオレイヤー番号は2であり、1行目の登録コードのモーション番号は6となっている。
【0745】
次に、図148下段のシナリオテーブル(虎たろうリーチ開始演出)の各行を説明する。
1行目(//0)には、オペコードとして「モーション4登録コード」のデータが設定され、オペランドとして「モーションインデックスNo.(40)」のデータが設定されている。これにより、シナリオレイヤー4のシナリオ解析処理における前述のモーション登録処理において、上記オペランドのデータで指定されるモーションテーブル(図149上段に示す「Mdat0040」)による表示(キャラクタC7が前述のように移動する奥側の表示)を行うための処理が行われる。
次に、2行目(//1)には、オペコードとして「モーション8登録コード」のデータが設定され、オペランドとして「モーションインデックスNo.(41)」のデータが設定されている。これにより、シナリオレイヤー4のシナリオ解析処理における前述のモーション登録処理において、上記オペランドのデータで指定されるモーションテーブル(図149下段に示す「Mdat0041」)による表示(キャラクタC7が前述のように移動する手前側の表示)を行うための処理が行われる。
【0746】
次に、3行目(//2)には、オペコードとして「定数ウェイトコード」のデータが設定され、オペランドとして「ウェイト時間値(30)」のデータが設定されている。これにより、前述の定数ウェイト処理が実行され、30フレームに相当する時間(1秒)だけ当該シナリオテーブルの制御進行を遅らせる動作が実現される。これは、キャラクタC7が左図柄KTL及び右図柄KTRと画面中央で重なる状態(図145(c)の状態)になるのを待つためである。
次に、4行目(//3)には、オペコードとして「モーション8削除コード」のデータが設定され、オペランドとして「NULL」が設定されている。これにより、モーション8での表示が行われなくなり、手前側のキャラクタC7の表示が消えて、奥側のキャラクタC7の表示制御のみが継続されるため、図145(c)に示すようにキャラクタC7が左図柄KTL及び右図柄KTRよりも奥側にあるように見える表示が実現される。
【0747】
次に、5行目(//4)には、オペコードとして「定数ウェイトコード」のデータが設定され、オペランドとして「ウェイト時間値(30)」のデータが設定されている。これにより、前述の定数ウェイト処理が実行され、30フレームに相当する時間(1秒)だけ当該シナリオテーブルの制御進行を遅らせる動作が実現される。これは、キャラクタC7が左下側に移動した状態(図146(a)の状態)になるのを待つためである。
次に、6行目(//5)には、オペコードとして「モーション4削除コード」のデータが設定され、オペランドとして「NULL」が設定されている。これにより、モーション4での表示が行われなくなり、奥側のキャラクタC7の表示も消える。
次に、7行目(//6)には、オペコードとして「終了コード」が設定され、オペランドとして「NULL」が設定されている。これにより、このシナリオテーブルによる演出制御が終了する。
【0748】
次に、図149上段のモーションテーブル「Mdat0040」を説明する。
このモーションテーブル「Mdat0040」によれば、まず1行目(//0)で、前記ムービーM1としての「虎たろうムービー1」がオブジェクトインデックス0として登録され、次いで2行目(//1)で、この「虎たろうムービー1」の画像がビヘイビアインデックス0で指定されるビヘイビアによって適宜差し替えられ(即ち、前述した予告抽選の結果に応じて差し替えられ)、そして3行目(//2)で、前記ムービーM1として指定された表示位置に表示される。
このように、例えば大当り信頼度の最も低いキャラクタを基本キャラクタとしてモーションテーブルに登録しておき、演出の進行でキャラクタの変更(ただし、同種のキャラクタの範囲内での変更)を行いたい場合には、制御プログラムで基本キャラクタを別のものに変更するビヘイビア(オブジェクト(表示要素)の画像データ(キャラクタデータ)を変更する機能)を使うことで、一つのモーションテーブルで各種の表示態様に対応できるようになり、例えば外れ時も大当り時も共通に使えるデータ(モーションテーブル)となって、データ容量を低減でき、開発効率も向上する。
【0749】
なお4行目(//3)には、「デコードコード」というコマンドと「オブジェクトインデックス(0)」というパラメータが設定されているが、これは、オブジェクトインデックス0である上記ムービーM1(基本の「虎たろうムービー1」又はビヘイビアによって差し替えられた他のムービー)を必要に応じてデコードする前述のオブジェクト動画デコード処理を実行させるためのものである。前記キャラクタC7等の演出情報を動画ではなく静止画データによって表示することも可能であり、この場合(即ち、1行目で登録するオブジェクト0が静止画である場合)には、この4行目は不要である。
【0750】
次に、図149下段のモーションテーブル「Mdat0041」を説明する。
このモーションテーブル「Mdat0041」によれば、まず1行目(//0)で、前記ムービーM1としての「虎たろうムービー1」がオブジェクトインデックス0として登録され、次いで2行目(//1)で、この「虎たろうムービー1」の画像がビヘイビアインデックス0で指定されるビヘイビアによって適宜差し替えられ、そして3行目(//2)で、このムービーM1(基本の「虎たろうムービー1」又はビヘイビアによって差し替えられた他のムービー)の画像の一部が複写され、前記画像GM1として指定された表示位置に表示される。但し、この例の場合には、5行目(//4)に「エフェクト1コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトタイプ(1)」というパラメータが設定され、6行目(//5)に「エフェクト2コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトパラメータ(128)」というパラメータが設定されているため、前述したエフェクトタイプ指定処理及びエフェクトパラメータ指定処理が実行され、前記画像GM1として表示される画像は透明度(濃さ)が約50%(=100×128/255)の半透明状態に制御される。但し、半透明状態とする必要は必ずしもなく、5〜6行目のコマンド等の設定が無い態様でもよい。
また、4行目(//3)には、前記モーションテーブル「Mdat0040」と同様に、「デコードコード」と「オブジェクトインデックス(0)」が設定されている。
【0751】
このモーションテーブル「Mdat0041」は、画像を半透明にするための上記5行目及び6行目がある点と、3行目のコマンドが移動コードではなく「複写2コード」である点で前記モーションテーブル「Mdat0040」と異なり、さらに3行目の表示位置(X座標、Y座標)や表示画像の大きさ(幅、高さ)のパラメータの数値も、前記モーションテーブル「Mdat0040」とは異なっている。これは、前記モーションテーブル「Mdat0040」による表示(奥側のモーション4での前記ムービーM1の画像の表示)が、この場合、「虎たろうムービー1」(又はビヘイビアによって差し替えられた他のムービー)の画像全体を表示画面41aの全体に表示するものであるのに対して、前記モーションテーブル「Mdat0041」による表示(手前側のモーション8での前記画像GM1の表示)が、「虎たろうムービー1」(又はビヘイビアによって差し替えられた他のムービー)の画像の一部分(キャラクタC7又は差し替えられたキャラクタC6等の演出情報を含む一部分)のみを表示画面41aの所定位置(奥側のモーション4でのキャラクタC7等の画像と同じ表示位置)に表示するものだからである。そのために、モーションテーブル「Mdat0041」の3行目のパラメータは、例えば「X座標(823)」、「Y座標(200)」、「幅(200)」、「高さ(200)」となっている。「幅(200)」、「高さ(200)」であるので、前記画像GM1は、200×200の小さな矩形画像となる。これに対して本例の場合、前記ムービーM1の画像は、1023×767という画面全体の大きさを持つ。なお、これら表示位置等の数値は、説明するための数値例に過ぎず、必ずしも実際の数値ではない。
【0752】
なお、図145乃至図147に示した前記演出表示を実現するシナリオテーブル等の構成は、以上説明した態様に限定されない。例えば、図148図149の例では、シナリオレイヤー4を使ってキャラクタC7(又は差し替えられた他のキャラクタ)を制御しているが、図148上段又は図148中段のシナリオレイヤー1又は2のシナリオテーブル内に、前記モーションテーブル「Mdat0040」や「Mdat0041」を登録等するためのコードが設定された行を追加して、シナリオレイヤー1及びシナリオレイヤー2のみで図柄(識別情報)とキャラクタ(演出情報)の両方を制御することもできる。また逆に、図148下段のシナリオレイヤー4のシナリオテーブル内に、前記モーションインデックスNo.(30)やNo.(31)のモーション登録等を実行するための行を追加して、シナリオレイヤー4のみで図柄とキャラクタの両方を制御することもできる。
また、モーションのレイヤーを異ならせる場合、キャラクタC7等を配置するモーションのレイヤーは、モーション4とモーション8に限られず、図柄の表示レイヤーであるモーション5〜7の前後のものであれば、どのモーションのレイヤーでもよい。即ち、原理的には、図柄(識別情報)より奥側に配置するキャラクタC7等の画像はモーション0〜4の何れかに配置すればよく、図柄(識別情報)より手前側に配置するキャラクタC7等の画像はモーション8〜13の何れかに配置すればよい。
【0753】
また本演出例では、キャラクタC7等(演出情報)を飾り特図の図柄(識別情報)の奥側又は手前側に配置するために、キャラクタC7等のモーションのレイヤーを左図柄KTL等と異ならせているが、これに限られず、オブジェクトインデックスを前後の配置順に応じて異ならせることによって、表示優先順位を設定する構成としてもよい。即ち、奥側のムービーM1については、左図柄KTLと同じモーション5に配置し、オブジェクトインデックスを左図柄KTLよりも小さい値に設定するモーションテーブルの構成とすることによって、図147(a)と同じ前後関係(表示優先順位)が実現できる。また、手前側のムービーM1を複写した画像GM1については、右図柄KTRと同じモーション6に配置し、オブジェクトインデックスを右図柄KTRよりも大きい値に設定するモーションテーブルの構成とすることによって、図147(a)と同じ前後関係が実現できる。但しこの場合、テーブルの構成としては、例えば図148上段の1行目で登録されるモーションインデックスNo.(30)で指定されるモーションテーブル内で、左図柄に加えてキャラクタC7等のオブジェクト(奥側に配置するもの)を登録して制御し、図148中段の1行目で登録されるモーションインデックスNo.(31)で指定されるモーションテーブル内で、右図柄に加えてキャラクタC7等のオブジェクト(手前側に配置するもの)を登録して制御する構成となり、図148下段のシナリオテーブルは不要となる。
【0754】
また本演出例では、識別情報である左図柄KTL及び右図柄KTRの手前側又は奥側に配置して表示する演出情報として、後述する図155(a)等に示すように識別情報に付加される付加情報であるキャラクタC7「虎たろう」などを表示しているが、これに限られない。上記付加情報でない演出情報でもよいし、また、「虎たろう」といった人物や生物ではなく、無生物(例えば、「薔薇の花」、「炎」、特定の図形など)を演出情報として表示してもよい。
【0755】
次に図150は、図145及び図146に示した前記演出表示を実現する各画像と表示レイヤーの状態(別態様)を説明する図である。この図150に示すように、図145及び図146に示した前記演出表示は、次のような構成によっても実現可能である。
即ち、前記演出表示において演出制御装置300は、キャラクタC7を右図柄KTR等の手前側に見せる場合(前記具体例では図145(b)の場合)には、図150(a)に示すように、キャラクタC7が前述のように移動する動画であるムービーM1の画像(演出用画像)を、左図柄KTL及び右図柄KTR(識別情報)よりも奥側の表示レイヤー(モーション4;予告4)に配置するとともに、同じ前記ムービーM1の画像を半透明状として、左図柄KTL及び右図柄KTRよりも手前側の表示レイヤー(モーション8;予告5)に配置し、これら奥側と手前側の画像におけるキャラクタC7の表示位置(X座標とY座標の位置)が一致するように制御する構成でもよい。つまりこの別態様では、飾り特図の図柄(表示レイヤーはモーション5〜7)の前後の表示レイヤーの同じ位置にキャラクタC7を描画し、全体としてキャラクタC7を二重に描画しているが、手前側は奥側と同じ画像を半透明状としたものを使用している。同じ画像であるため、元データ(画像ROM322に登録された画像データ)を供用できるとともに、半透明状としているために、奥側の飾り特図等の視認性を確保できる効果がある。
【0756】
また、キャラクタC7を右図柄KTR等の奥側に見せる場合(前記具体例では図145(c)の場合)には、図150(b)に示すように、前記ムービーM1の画像(演出用画像)を、左図柄KTL及び右図柄KTR(識別情報)よりも奥側の表示レイヤー(モーション4;予告4)に配置したままとし、左図柄KTL及び右図柄KTRよりも手前側の表示レイヤー(モーション8;予告5)でのキャラクタC7の表示は行わない。つまり、飾り特図の図柄(表示レイヤーはモーション5〜7)の奥側の表示レイヤーのみにキャラクタC7を描画している。これは、図147(b)と同じである。
【0757】
次に図151は、図145乃至図146に示した前記演出表示(リーチ開始演出)を図150の構成で実現するためのモーションテーブルの一例である。なおシナリオテーブルは、図148と同じものが使用できる。
まず、図151上段のモーションテーブル「Mdat0040」は、図149上段と全く同じであるので説明を省略する。
次に、図151下段のモーションテーブル「Mdat0041」を説明する。
このモーションテーブル「Mdat0041」によれば、まず1行目(//0)で、前記ムービーM1としての「虎たろうムービー1」がオブジェクトインデックス0として登録され、次いで2行目(//1)で、この「虎たろうムービー1」の画像がビヘイビアインデックス0で指定されるビヘイビアによって適宜差し替えられ、そして3行目(//2)で、このムービーM1(基本の「虎たろうムービー1」又はビヘイビアによって差し替えられた他のムービー)の画像全体が指定された画面全体に表示される。但し、5行目(//4)に「エフェクト1コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトタイプ(1)」というパラメータが設定され、6行目(//5)に「エフェクト2コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトパラメータ(64)」というパラメータが設定されているため、前述したエフェクトタイプ指定処理及びエフェクトパラメータ指定処理が実行され、前記ムービーM1の画像として表示される画像は透明度(濃さ)が約25%(=100×64/255)の半透明状態に制御される。
【0758】
この図151下段のモーションテーブル「Mdat0041」は、3行目のコマンドが移動コードである点で図149下段のモーションテーブル「Mdat0041」と異なり、さらに3行目の表示位置(X座標、Y座標)や表示画像の大きさ(幅、高さ)のパラメータの数値は前記モーションテーブル「Mdat0040」と同じである。これは、この場合のモーションテーブル「Mdat0041」による表示が、前記モーションテーブル「Mdat0040」による表示と同様に、「虎たろうムービー1」(又はビヘイビアによって差し替えられた他のムービー)の画像全体を表示画面41aの全体に表示するものだからである。なお、このムービーM1の画像全体を表示する場合でも、表示画面41aの全体に表示する態様に限定されず、演出内容によっては表示画面41aの限られた領域に表示する態様もあり得る。
【0759】
次に図152は、図145乃至図146に示した前記演出表示(リーチ開始演出)の変形例である。
まず、図152(a)は、奥側に表示されるキャラクタC7等の画像と、手前側に表示されるキャラクタC7等の画像の表示位置(X座標、Y座標)が異なり、キャラクタC7等が2個ずれて出現し、例えば表示位置がずれたまま移動する態様である。なお、表示位置は特定のタイミングで一時的にずれるだけで、特定のタイミング以外ではずれないで1個に見える演出表示でもよい。
次に、図152(b)は、奥側に表示されるキャラクタC7等の画像と、手前側に表示されるキャラクタC7等の画像の反転状態が異なり(一方のみ反転している状態となり)、キャラクタC7等が左右対称に2個出現し、例えば反転状態が異なったまま移動する態様である。なお、反転状態は特定のタイミングで一時的に異なるだけで、特定のタイミング以外では異ならないで1個に見える演出表示でもよい。
【0760】
これら図152(a)、(b)に示す演出表示によれば、表示位置のずれや、反転状態が異なることによって、表示画面41aを見ている遊技者に違和感を生じさせ、これにより斬新で興趣の高い演出表示が実現される。なお、他の演出表示も同様であるが、これら図152(a)、(b)に示す演出表示は、大当りになるか否かや、或いは確率変動となるか否かなどの信頼度を示唆する予告演出として行うことができる。例えば、大当りになる場合に、図152(a)、(b)に示す演出表示の態様が抽選され易いように、抽選に使用するテーブルの内容を設定しておくことにより、遊技者がこの態様が出現すると経験的に大当りし易いと把握でき、信頼度を示唆できる。
【0761】
次に図153は、図152(a)に示した前記演出表示(リーチ開始演出)を実現するためのモーションテーブルの一例である。なおシナリオテーブルは、図148と同じものが使用できる。
まず、図153上段のモーションテーブル「Mdat0040」は、1行目、2行目、3行目にコマンドとして「終了コード」のみが設定され、その後の4行目以降は、図149上段の1行目以降と全く同じである。
次に、図153下段のモーションテーブル「Mdat0041」は、図151下段のモーションテーブルと全く同じである。
既述したように、「終了コード」によって1フレーム分の表示制御が終わるので、このように奥側のモーションのレイヤーにのみ「終了コード」が最初の3行に設定されていると、最初の3フレーム分は当該奥側の表示レイヤーのモーションテーブルによる表示は何も行われず、手前側に対して3フレーム分(0.1秒)の時間差をもって奥側でのムービーM1の表示が遅れて開始することになる。このため、図152(a)に示すように、手前側と奥側の演出情報の画像の表示位置がずれることになる。
【0762】
次に図154は、図152(b)に示した前記演出表示(リーチ開始演出)を実現するためのモーションテーブルの一例である。なおシナリオテーブルは、図148と同じものが使用できる。
まず、図154上段のモーションテーブル「Mdat0040」は、図149上段と全く同じである。
次に、図154下段のモーションテーブル「Mdat0041」を説明する。
このモーションテーブル「Mdat0041」によれば、まず1行目(//0)で、前記ムービーM1としての「虎たろうムービー1」がオブジェクトインデックス0として登録され、次いで2行目(//1)で、この「虎たろうムービー1」の画像がビヘイビアインデックス0で指定されるビヘイビアによって適宜差し替えられ、そして3行目(//2)で、このムービーM1(基本の「虎たろうムービー1」又はビヘイビアによって差し替えられた他のムービー)の画像が水平方向(左右方向)に反転され、この場合、表示画面41aの全体に表示される。そして、この例の場合も、5行目(//4)に「エフェクト1コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトタイプ(1)」というパラメータが設定され、6行目(//5)に「エフェクト2コード」というコマンドと「オブジェクトインデックス(0)」及び「エフェクトパラメータ(64)」というパラメータが設定されているため、手前側に表示されるムービーM1の画像は透明度(濃さ)が約25%(=100×64/255)の半透明状態に制御される。
【0763】
このモーションテーブル「Mdat0041」は、画像を半透明にするための上記5行目及び6行目がある点と、3行目のコマンドが移動コードではなく「反転2コード」である点で前記モーションテーブル「Mdat0040」と異なっている。これにより、図152(b)に示すように、手前側と奥側の演出情報の画像の表示位置が左右対称になる。
なお、反転させる方向は、水平方向(左右方向)ではなく、垂直方向でもよいし、或いは点対称になるように位置変換した関係としてもよい。
【0764】
次に図155乃至図158は、飾り特図の図柄(識別情報)と異なる複数の演出情報の画像を、表示手段(表示装置41)の画面41aにおける飾り特図の変動表示領域とは異なる領域に表示し、前記複数の演出情報のうち表示した演出情報の組み合わせによって、特図の変動表示ゲームの態様又は結果(本実施例ではリーチアクションの有無)を報知する報知演出を含むSDモードでの演出の一例を示したものである。但し、図155(a)は比較のために、通常変動の表示例を示している。なお、画面41aのどこかには、通常必ず第4図柄が表示され、また場合により特図の始動記憶の保留表示(先読み予告による特殊な演出表示含む)が行われるが、この表示については煩雑を避けるために図示省略する。
【0765】
まず、図155(a)を説明する。図155(a)は、通常変動の表示例である。この場合、表示画面41aの全体が飾り特図(左図柄KTL、右図柄KTR、中図柄KTC)を変動表示する変動表示領域となっている。飾り特図を構成する図柄(識別情報)は、この場合、「1」〜「9」まで9種類あり、この図155(a)に示すように、それぞれに演出情報が付加情報として付加(対応付け)されている。例えば、「6」には虎すけC6の顔の絵やその名称を表す文字が、「7」には虎たろうC7の顔の絵やその名称を表す文字が、「8」には虎ロックC8の顔の絵やその名称を表す文字が、それぞれ付加され、他の「1」〜「5」、「9」にも同様になんらかの演出情報(図示省略)が付加されている。なお、付加される演出情報は、虎をモチーフとしたキャラクタに限られないことはいうまでもなく、人物、動物、植物、架空の生物等でもよいし、無生物でもよい。
なお、以降の表示例の図面では、C6〜C8等のキャラクタの符号(引出線含む)の記載を適宜省略する場合がある。
【0766】
次に、SDモード演出の第1例である図155(b)以降を説明する。ここで、「SD」とはスーパーデフォルメを意味する。デフォルメは、一般に、対象を変形・歪曲して表現することである。またSDモードは、飾り特図の付加情報等に使用されているキャラクタが実際には高度にデフォルメされて登場する演出のモードであるが、本願の図面では、線図の簡素化、見易さ確保等のために、デフォルメの有無にかかわらず、キャラクタを同一の態様で図示している。なお、本例のSDモード演出は、確変モードではない通常状態(特図の大当り確率は低確率状態)で行われるが、例えば確変モード(特図の大当り確率は高確率状態)で行われてもよい。
【0767】
このSDモード演出(第1例)が開始されると、まず図155(b)に示すように、画面41aの右上隅の小さな矩形領域として飾り特図の変動表示領域H1が表示され、以降は、この変動表示領域H1内にて飾り特図(左図柄KTL、右図柄KTR、中図柄KTC)の変動表示が行われ、画面41aにおける変動表示領域H1を除く領域(以下、主画面領域という)で、識別情報(この場合、「1」〜「9」の数字)とは異なる複数の演出情報による演出表示が行われる。図155(b)では、主画面領域に、空C10、道路を含む地面C11、周辺景色C12、天体C13(太陽又は月)の各画像の表示が開始される。ここで、空C10、地面C11、周辺景色C12、天体C13は全て、識別情報と異なる演出情報の一種に相当し、演出内容的には、その後出現する「虎たろう」などのキャラクタの背景を形成する背景情報でもある。
【0768】
このうち空C10は、表示されているオブジェクトの中で最も奥側の例えば画面全体に表示され、図155(b)の時点では例えば青空を表す水色の画像である。地面C11は、画面下部に表示され画面手前から奥側に伸びるように見える道路を含む地面の画像であって、奥側に移動(スクロール)するように見えるように表示される。また、周辺景色C12は、この例の場合、画面略中央左右両側に表示される例えば針葉樹林の画像であって、これも奥側に移動(スクロール)するように見えるように表示される。天体C13は、図155(b)の時点では空に見える太陽であり、この時点では空の東側に相当する画面左側から昇ってくるように徐々に移動して見えるように表示される。
ここで、地面C11と周辺景色C12は、地面C11の道路が手前から奥側に向かって伸びるように見る者が遠近感を感じる画像となっている。具体的には、画面下部中央に表示される道路の中心上端位置付近に遠近法における消失点(無限遠点)が位置する画像となっている。
【0769】
そして、図155(b)に矢印付き点線で示すように、地面C11と周辺景色C12がこの消失点に向かって移動しているように表示されることによって、場所が手前側に移動しているように見える表示が開始される。このように移動するように表示される地面C11と周辺景色C12は、時間経過を示す第1パラメータ(表示を見る遊技者に時間経過を感じさせる第1パラメータ)を実現する背景情報となっている。
また、前述した天体C13の移動に合わせて、空C10の明るさや色はその後変化するように表示され、これによって朝、昼、夕、夜の時間変化が表現されるようになっている。即ち、天体C13と空C10は、時間経過を示す第2パラメータ(表示を見る遊技者に時間経過を感じさせる第2パラメータ)を実現する背景情報となっている。図155(b)の時点で空C10と天体C13は、朝を表現するものとなっている。
【0770】
なお、以降の表示例の図面では、空C10、地面C11、周辺景色C12、天体C13等の符号(引出線含む)の記載は適宜省略する場合がある。
また、空C10、地面C11、周辺景色C12、天体C13などの演出情報、背景情報の具体的態様は、限定されるものではないことはいうまでもない。例えば地面C11と周辺景色C12は、針葉樹林に限られず、例えば薔薇園の画像でもよいし、ビル街でもよいし、限定されるものではない。
また、表示例の図中に示した矢印付き点線は、地面C11と周辺景色C12の移動を示すもので、移動中である場合には以降の図中にも記載しているが、実際には画面41aには表示されない(但し、これも演出として表示されてもよい)。
【0771】
SDモード演出(第1例)では、まず上述した図155(b)に示す表示が短時間なされた後、次に図155(c)に示すように、前記消失点付近に演出情報としてのキャラクタが左右に隣り合う位置に出現する。図155(c)の例では、虎ロックC8と虎たろうC7(顔に加えて身体もある状態)が出現している。ここで、図155(c)の時点では、これらキャラクタは、前記消失点付近に小さく表示されることによって、地面C11の道路上の奥側(遠方)に居るように見えるよう表示され、奥側から手前側に向かって進んでくる(歩いてくる、又は走ってくる等)ように見えるような態様(例えば手足の状態)で表示される。即ち、前記消失点付近に表示される虎たろうC7などのキャラクタの画像が手前側に移動してくる(スクロールする)表示(即ち変動表示)が開始される。このキャラクタの手前側への移動は、前述した地面C11と周辺景色C12の奥側へ移動するような表示によって相対的によりリアルに感じられることになる。
なお、左右のキャラクタは、同時に出現するのではなく、時間差をもって出現してもよく、前後の位置に差があるように表示されてもよい。また、図155(c)の時点では、天体C13と空C10の状態(表示位置、表示色、明るさ等)が、昼を表す状態となっている。特に、天体C13としての太陽の画像が空の高い位置に昇った状態に表示される。
【0772】
次に、図155(c)の状態を経ると、虎ロックC8と虎たろうC7が画面下部に徐々に大きく表示されることによって手前側にさらに進んでくる表示がなされ、図156(a)に示すように虎ロックC8と虎たろうC7が最も手前側まで進んで一瞬停止した後に、図156(b)に示すように消えてしまう表示がなされる。本例の場合、虎ロックC8と虎たろうC7は、複数のキャラクタ(この場合、二つのキャラクタ(演出情報))が所定の組み合わせになった状態(揃った状態)ではないので、この時点ではリーチ発生報知とはならない。
なお、図156(a)の時点では、天体C13と空C10の状態は、まだ昼を表す状態となっている。但し、天体C13としての太陽は、図155(c)よりも移動して少し低い位置にある状態に表示され、これ以降も同様に変化する。
次に、図156(b)に示す状態の後には、図156(c)に示すように次の二つのキャラクタ(この場合、虎すけC6と虎たろうC7)がまた奥側(遠方)に居るように見えるよう表示される。
【0773】
その後、図157(a)に示すように、これら虎すけC6と虎たろうC7が奥側から手前側に向かって進んでくる(歩いてくる、又は走ってくる等)ように見えるような態様(例えば手足の状態)で表示されつつ、画面下部に徐々に大きく表示されることによって手前側に進んでくる表示がなされる。
そして、次いで図157(b)に示すように、虎ロックC8と虎たろうC7が最も手前側まで進んで一瞬停止することによって、リーチ発生の有無が報知される。本例の場合、虎すけC6と虎たろうC7は、複数のキャラクタ(この場合、二つのキャラクタ(演出情報))が所定の組み合わせになった状態(揃った状態)であるので、リーチ発生報知となる。この場合、虎すけC6のセリフC15である「リーチ!」と虎たろうC7のセリフC16である「だぜ〜!」が表示され、リーチ発生を確実に遊技者に報知している。なお、図示省略しているが、リーチ発生なしの場合には、例えば「リーチ」、「失敗だぜ〜」などのセリフの画像を表示してもよい。いずれにしろ、セリフの画像は有っても無くてもよく、キャラクタの種類の組み合わせだけでリーチ発生有無を報知する態様でもよい。
【0774】
以上説明した図155(b)から図157(b)に示した演出によれば、識別情報ではない複数の演出情報を、識別情報の変動表示とは異なる領域に表示し、表示した演出情報の組み合わせによって報知する報知演出を行うため、停止図柄としての出現率が低い演出情報(例えば「虎たろうC7」等の出現率の低い図柄の付加情報に使用されているキャラクタ)も報知演出に出現させることができるし、飾り特図の付加情報になっていない演出情報を出現させることもできて、遊技の興趣を高めることができるとともに、分かりやすくダイナミックな報知演出が可能になる。特に、本実施例(図156等)のように識別情報(飾り特図の図柄)の変動表示を行う変動表示領域H1を画面41aの隅に配置し、画面内の残りの領域であって前記変動表示領域H1よりも面積が大きな領域(主画面領域)において報知演出のための演出情報を表示する態様であると、より分かりやすくダイナミックな報知演出が可能になる。
【0775】
なお、上記報知演出として主画面領域に表示するキャラクタ(演出情報)の種類の数は、飾り特図の図柄数(識別情報の種類の数;本実施例では「1」〜「9」の9種類)と同数でもよいし、それより多くてもよいし、少なくてもよい。即ち、上記報知演出に、飾り特図の付加情報(前記具体例の場合、前述した「虎すけC6」、「虎たろうC7」、「虎ロックC8」…などのキャラクタ)が全て登場する態様でもよいし、前記付加情報の一部が登場する態様(例えば前記付加情報がグループ分けされて、複数あるグループのうちの特定のグループのみが適宜選択され、選択されたグループのキャラクタのみが登場する態様)でもよいし、前記付加情報に加えて前記付加情報でない演出情報も登場する態様でもよいし、前記付加情報でない演出情報のみが登場する態様でもよい。
また、前述の図155(b)から図157(b)に示した演出では、主画面領域に表示する演出情報を、飾り特図の変動表示領域H1における飾り特図の変動表示方向(上下方向)とは異なる方向(前後方向)に変動表示するため、画面全体として多様な動きのあるダイナミックで興趣の高い演出が実現される効果がある。
【0776】
ここで、上述したように複数のキャラクタ(演出情報)が奥側から出現して手前側に移動して消えるというキャラクタの奥側から手前側に向かう前後方向の変動表示は、2回に限らず、3回以上多数回行われてもよい。また、キャラクタ(演出情報)の種類の切り替えは、キャラクタが奥側から最も手前側まで移動する途中で行われてもよい。例えば、図157(a)の時点又はその前後に、左側の虎すけC6が虎たろうC7に瞬時に変更され、図157(b)の時点では左右両側ともに虎たろうC7となってキャラクタが同一になって所定の組み合わせになる構成でもよい。
また本表示例では、後述するように天体C13と空C10の状態が夜を表す状態に切り替わるまで、上記キャラクタの前後方向の変動表示が繰り返されるが、このパターンだけに限定されない。例えば夜になる前(或いは昼になる前)に上記キャラクタの前後方向の変動表示が終了して、その後リーチへ移行するか、又はリーチなし(外れ)で特図の変動表示ゲームが終わるという変動パターンがあってもよい。
【0777】
また、図156(b)と図156(c)の時点では、天体C13と空C10の状態(表示位置、表示色、明るさ等)が、夕方を表す状態となっている。特に、図156(b)では、天体C13としての太陽が図156(a)の時点よりも低い位置に移動した状態に表示され、図156(c)の時点では、天体C13としての太陽がさらに移動して地平線に沈む直前の状態に表示される。そして、図157(a)の時点になると、天体C13と空C10の状態(表示形態、表示位置、表示色、明るさ等)が、夜を表す状態となる。特に、天体C13として太陽に代わって月の画像が表示され、その後、図157(b)、図157(c)では、この月の移動が順次進んだ状態で表示される。このようにして、天体C13と空C10の画像変化によって、時間経過を示す第2パラメータを実現しているが、特に本例では、この第2パラメータ(天体C13と空C10(背景情報)により表現される時間経過)が夕方から夜に切り替わると、例えば、その後はキャラクタの奥側からの新たな出現(変動表示されるキャラクタ(演出情報)の種類の切り替え)は行われず、その時点で手前側に移動中のキャラクタが所定の組み合わせに揃わなければ、リーチ発生にならない設定となっている。つまり、背景情報であるが天体C13と空C10の画像が夜を表す状態になることによって、リーチ発生の最後のチャンスであること、即ちリーチ発生演出期間が終わりであることを遊技者に報知可能となっている。
【0778】
このように背景情報の画像変化によって、なんらかの演出上の期間又は遊技状態の始期、経過、終期等を示唆又は報知することができる。
なお、このような背景情報の画像変化によって、信頼度(リーチ発生の信頼度、又は大当り信頼度、大当り後に高確率になる信頼度等)を示唆する予告演出を実現することもできる。例えば、大当りになる場合に上記第2パラメータが夜まで進行する確率が高く、外れる場合には上記第2パラメータが夜になる前に上記キャラクタの前後方向の変動表示が終了する確率が高くなるように、演出抽選(予告抽選)に使用するテーブルの内容を設定すれば、遊技者から見ると、背景情報の画像が夜になると熱い演出であり大当りになり易いと認識するようになる。
また、以上説明したリーチ発生報知演出で出現する他の演出情報の有無や画像変化等(上記背景情報の画像変化以外)によっても、前記信頼度を示唆する予告演出を実現できる。例えば、リーチ発生を報知したキャラクタの組み合わせの種類によって前記信頼度を示唆することも同様に可能である(例えば虎たろうC7同士の組み合わせだと大当りになり易い等)。
【0779】
次に、図157(c)に示した表示例は、図157(b)の状態を経て開始されるリーチアクションの一例であり、画面下側の可動役物700(表示手段の表示画面41aに対して動くことが可能な可動役物)と連動する役物連動演出の例である。この場合、可動役物700が斜め40度の位置まで揺動した状態となり、この可動役物700を引っ張るロープC17(可動役物の動きと連動して変化する連動画像)が画面41aに新たに表示され、例えば虎すけC6は消えて、虎たろうC7が上記ロープC17の端を持って可動役物700を起立状態に向けて頑張って引っ張る画像(可動役物の動きと連動して変化する連動画像)も表示される。そして同時に、飾り特図の変動表示領域H1では、左図柄と右図柄が同一図柄で揃って停止し、中図柄のみが変動(この場合上下方向スクロール)する、図柄(識別情報)のリーチアクションが行われる。これにより、役物と表示で関連したリーチアクションの演出が可能となり、遊技の興趣を高めることができる。
なお、上述したような役物連動演出は、なんらかの信頼度(リーチとなる信頼度、大当りになる信頼度、或いは高確率状態(確変)となる信頼度でもよい)を示唆(予告)する予告演出として行うことができる。
また、本願で「役物連動」とは、役物の動作と連動することを意味し、「役物連動予告」又は「役物連動演出」とは、役物の動作と表示内容等(表示だけでなく演出のために出力される音声等が含まれてもよい)が連動する予告演出又は演出全般をそれぞれ意味する。また、本願で「連動」とは、なんらかの関係性を持って変化することを意味し、必ずしも同期を意味しない。同期せず、例えば所定量だけ時間的にずれて関連する動きをする態様や、真逆の動きをする態様も「連動」に含まれる。また、可動役物の動きの態様は、回転や揺動に限らず、例えば直線的又は曲線的な動き(平行移動;いわゆるスライド動作)であってもよいし、回転と平行移動を組み合わせた動きでもよい。
【0780】
そして、リーチの結果として外れになる場合には、例えば虎たろうC7が可動役物700を起立状態まで引き起こすのに失敗した画像(図示省略)が表示されて特図の変動表示ゲームが終了となる。一方、リーチの結果として大当りになる場合には、例えば虎たろうC7が可動役物700を起立状態まで引き起こすのに成功した画像(図示省略)が表示される。但し、この態様に限定されず、例えば大当りになる場合でも、虎たろうC7が可動役物700を起立状態まで引き起こすのに成功した画像は表示されず、図157(c)の状態から突然後述する図158(a)の状態に移行してもよい。
【0781】
次に、図158(a)に示した表示例は、図157(c)の状態を経て開始されるブラックアウト演出の一例である。これは、図158(a)に示すように、少なくとも主画面領域全体を例えば黒く塗りつぶすブラックアウト画像C20が表示され、例えば音声の出力も全て一旦停止され、所定時間経過後ゆっくりと所定の音楽又は効果音が小さな音量で流れ始め徐々に音量が大きくなる。この際、第4図柄を除いて、飾り特図の変動表示領域H1も含む画面41aの全体をブラックアウト画像C20で塗りつぶす表示を行ってもよい。また、ブラックアウト画像C20の色は、黒に限定されず、例えば暗い青色や灰色などでもよい。このようなブラックアウト演出によれば、大当りになったのか否かあいまいな状態、さらに言えば、遊技機の故障かもしれないとさえ思える、何が起こったのか不明確な状態とすることができ、遊技者の大当りへの期待と不安を斬新な演出で高まらせて、従来にない興趣が実現できる。
【0782】
なお、このブラックアウト演出は、大当りになる場合にだけ行われる(或いは大当りになる場合に高確率で行われる)ようにして、この演出によって大当りになること(又はその信頼度)を遊技者に示唆し、大当りになる遊技者の興奮や喜びを高めるものとしてもよいが、外れになる場合にも所定の確率で行われる構成として、外れかもしれないという一抹の不安を遊技者に持たせ、その結果大当りになった場合の喜びを高めるようにしてもよい。
また、図158(a)では、可動役物700が起立状態になっているが、このブラックアウト演出の際には、可動役物700は例えば斜め40度の状態でもよいし、略水平に倒れた初期状態に戻っていてもよい。
【0783】
次に、図158(b)に示した表示例は、図157(a)の状態を経て開始される大当り報知演出(飾り特図の停止表示の際の演出)の一例である。この場合、可動役物700が例えば起立状態となり、この可動役物700の装飾部701と関連する演出情報である薔薇の花C21の画像(役物に対する連動画像、関連画像)が画面41aに大小様々複数表示され、大当りになった喜びを祝福し増大させる演出がなされる。この際、可動役物700の装飾部701の薔薇の花(画像ではない実物)と、画像である薔薇の花C21が表示された画面41aとが、全体として一つの絵画のように見えるよう表示され、演出効果が高められている。また音声としては、例えば図157(a)の状態で再生開始された音楽が継続して出力されるが、図157(a)の時点では例えば暗い調子だった音楽が、図157(b)の状態になると例えば明るく陽気な調子に変化して大当りを祝福する演出がなされる。またこの際、飾り特図の変動表示領域H1では、例えば飾り特図が「7、7、7」(付加情報は全て虎たろうC7)で揃った大当り図柄で停止表示がされる。なおこの際、変動表示領域H1を拡大表示して飾り特図の停止図柄を分かりやすく表示してもよい。
【0784】
次に図159乃至図161は、前述の図155(b)から図158(b)に示した前記演出表示(リーチ開始演出含む)を実現するためのシナリオテーブルの一例である。なお、この表示例で使用するモーションテーブルの詳細説明は省略する。
このうち図159上段は、シナリオレイヤー0で背景用(この場合、前述の空C10の表示制御用)に使用されるシナリオテーブルである。
次に図159中段は、シナリオレイヤー1で左図柄KTL等(前述の地面C11、周辺景色C12、天体C13等含む)の序盤(1st)の制御に使用されるシナリオテーブルであり、図159下段は、シナリオレイヤー1で左図柄KTL等の前半(2nd)の制御に使用されるシナリオテーブルであり、図160は、シナリオレイヤー1で左図柄KTL等の後半(3rd)の制御に使用されるシナリオテーブルである。
【0785】
次に、図161の上から1番目(最上段)は、シナリオレイヤー2で右図柄KTRの序盤(1st)の制御に使用されるシナリオテーブルであり、図161の上から2番目は、シナリオレイヤー2で右図柄KTRの前半(2nd)の制御に使用されるシナリオテーブルであり、図161の上から3番目は、シナリオレイヤー2で右図柄KTRの後半(3rd)の制御に使用されるシナリオテーブルである。
また、図161の上から4番目は、シナリオレイヤー3で中図柄KTCの序盤(1st)の制御に使用されるシナリオテーブルであり、図161の上から5番目は、シナリオレイヤー3で中図柄KTCの前半(2nd)の制御に使用されるシナリオテーブルであり、図161の上から6番目は、シナリオレイヤー3で中図柄KTCの後半(3rd)の制御に使用されるシナリオテーブルである。
なお、図159乃至図161に示したテーブルのウェイト時間値やモーションインデックスなどの数値は、あくまで説明のための具体例であり、実際の数値とは必ずしも同じではない。他の図のテーブル等も同様である。
【0786】
以下、図159上段のシナリオテーブル(シナリオレイヤー0;背景)の各行を説明する。
1行目(//0)には、「モーション0登録コード」と「モーションインデックスNo.(81)」のデータが設定されている。これにより、モーションインデックスNo.(81)のモーションテーブル(図示省略)による表示(前記空C10の序盤と前半の動画又は静止画による表示)が開始される。
次に、2行目(//1)には、「定数ウェイトコード」と「ウェイト時間値(270)」のデータが設定されている。これにより、270フレームに相当する時間(9秒)だけ当該シナリオテーブルの制御進行が止まる。これは、前記空C10の序盤と前半の表示(図155(b)の朝から図157(a)の夜までの空C10の表示)を行うためである。
【0787】
次に、3行目(//2)には、「モーション0登録コード」と「モーションインデックスNo.(82)」のデータが設定されている。これにより、モーションインデックスNo.(82)のモーションテーブル(図示省略)による表示(前記空C10の後半の動画又は静止画による表示)が開始される。
次に、4行目(//3)には、「定数ウェイトコード」と「ウェイト時間値(375)」が設定されている。これにより、375フレームに相当する時間(12.5秒)だけ当該シナリオテーブルの制御進行が止まる。これは、前記空C10の後半の表示(図157(b)の夜から図158(b)の状態までの空C10の表示)を行うためである。なお、この空C10の表示は、図158(a)の時点では前記ブラックアウト画像C20に隠れて見えないが、図158(b)の時点では例えば前記薔薇の花C21の背景として表示されてもよい。
次に、5行目(//4)には、「終了コード」と「NULL」のデータが設定されている。これにより、シナリオレイヤー0での制御が行われなくなり、空C10の表示は消える。
【0788】
次に、図159中段のシナリオテーブル(シナリオレイヤー1;左図柄序盤)の各行を説明する。
1行目(//0)には、「モーション4登録コード」と「モーションインデックスNo.(83)」のデータが設定されている。これにより、モーションインデックスNo.(83)のモーションテーブル(図示省略)による表示(前記変動表示領域H1を表す画像(動画又は静止画)の表示)が開始される。
次に、2行目(//1)には、「モーション3登録コード」と「モーションインデックスNo.(84)」のデータが設定されている。これにより、モーションインデックスNo.(84)のモーションテーブル(図示省略)による表示(前記地面C11及び周辺景色C12の序盤と前半の動画又は静止画による表示)が開始される。このモーションテーブルでは、前記地面C11と周辺景色C12は、例えば異なるオブジェクトとして制御される。
【0789】
次に、3行目(//2)には、「モーション2登録コード」と「モーションインデックスNo.(85)」のデータが設定されている。これにより、モーションインデックスNo.(85)のモーションテーブル(図示省略)による表示(前記天体C13の序盤と前半の動画又は静止画による表示)が開始される。
次に、4行目(//3)には、「モーション5登録コード」と「モーションインデックスNo.(30)」のデータが設定されている。これにより、モーションインデックスNo.(30)のモーションテーブル(図示省略)による表示(前記変動表示領域H1における左図柄KTLの序盤の動画又は静止画による変動表示)が開始される。
【0790】
次に、5行目(//4)には、「定数ウェイトコード」と「ウェイト時間値(30)」が設定されている。これにより、30フレームに相当する時間(1秒)だけ当該シナリオテーブルの制御進行が止まる。これは、ここまでのシナリオテーブルの制御により開始された各表示等による序盤の演出を当該時間だけ行うためである。
次に、6行目(//5)には、「変動シナリオ切替コード」と「左図柄シナリオ2nd」のデータが設定されている。これにより、序盤変動から例えば図159下段のシナリオテーブルによる前半変動へとシナリオが切り替えられる。
なお、ここまでのシナリオテーブルの制御により表示が開始された各画像は、モーション番号に対応するモーションのレイヤー(表示レイヤー)に配置されて前後関係(表示優先順位)が決まる(モーション番号が大きいものほど手前側として優先表示する)ことは、図144で既に説明したとおりである(以降説明するシナリオテーブルでも同様)。例えば、変動表示領域H1は、図159中段のシナリオテーブルの1行目によりモーション4で表示されるので、図159上段のシナリオテーブルの1行目及び3行目によりモーション0で表示される空C10や、図159中段のシナリオテーブルの2行目及び3行目によりモーション3やモーション2で表示される地面C11、周辺景色C12、天体C13よりも手前側に見えるように優先表示され、これらの画像によって隠されない。
【0791】
次に、図159下段のシナリオテーブル(シナリオレイヤー1;左図柄前半)の各行を説明する。
1行目(//0)には、「モーション5登録コード」と「モーションインデックスNo.(31)」のデータが設定されている。これにより、前述のモーションインデックスNo.(30)のモーションテーブル(図示省略)による表示に代わって、モーションインデックスNo.(31)のモーションテーブル(図示省略)による表示(前記変動表示領域H1における左図柄KTLの前半の動画又は静止画による変動表示)が開始される。
次に、2行目(//1)には、「モーション8登録コード」と「モーションインデックスNo.(86)」のデータが設定されている。これにより、モーションインデックスNo.(86)のモーションテーブル(図示省略)による表示(前記主画面領域での左側のキャラクタの動画又は静止画による変動表示)が開始される。
次に、3行目(//2)には、「モーション9登録コード」と「モーションインデックスNo.(87)」のデータが設定されている。これにより、モーションインデックスNo.(87)のモーションテーブル(図示省略)による表示(前記主画面領域での右側のキャラクタの動画又は静止画による変動表示)が開始される。
即ち、上記2行目及び3行目によれば、図155(c)や図156等により説明した虎たろうC7等のキャラクタの主画面領域での左右2列における前後方向の変動表示が開始される。
【0792】
次に、4行目(//3)には、「定数ウェイトコード」と「ウェイト時間値(240)」が設定されている。これにより、240フレームに相当する時間(8秒)だけ当該シナリオテーブルの制御進行が止まる。これは、変動表示領域H1での上記左図柄の変動表示や主画面領域での上記キャラクタの前後方向の変動表示を含む前半の演出を当該時間だけ行うためである。
次に、5行目(//4)には、「変動シナリオ切替コード」と「左図柄シナリオ3rd」のデータが設定されている。これにより、リーチ有りの場合には、前半変動から例えば図160のシナリオテーブルによる後半変動(リーチアクション)へとシナリオが切り替えられる。
【0793】
次に、図160のシナリオテーブル(シナリオレイヤー1;左図柄後半)の各行を説明する。
1行目(//0)には、「モーション8登録コード」と「モーションインデックスNo.(88)」のデータが設定されている。これにより、前述のモーションインデックスNo.(86)のモーションテーブルによる表示に代わって、モーションインデックスNo.(88)のモーションテーブル(図示省略)による表示(前記主画面領域での左側のキャラクタの動画又は静止画による停止表示)が開始される。
次に、2行目(//1)には、「モーション9登録コード」と「モーションイン