JP2018038720A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2018038720A
JP2018038720A JP2016176420A JP2016176420A JP2018038720A JP 2018038720 A JP2018038720 A JP 2018038720A JP 2016176420 A JP2016176420 A JP 2016176420A JP 2016176420 A JP2016176420 A JP 2016176420A JP 2018038720 A JP2018038720 A JP 2018038720A
Authority
JP
Japan
Prior art keywords
special
winning
game
state
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016176420A
Other languages
English (en)
Other versions
JP6496287B2 (ja
Inventor
敬宏 大塚
Keiko Otsuka
敬宏 大塚
加都彦 畑
Katsuhiko Hata
加都彦 畑
祐樹 ▲高▼野
祐樹 ▲高▼野
Yuki Takano
賢人 山▲崎▼
Kento Yamazaki
賢人 山▲崎▼
園田 欽章
Yoshiaki Sonoda
欽章 園田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sophia Co Ltd
Original Assignee
Sophia Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sophia Co Ltd filed Critical Sophia Co Ltd
Priority to JP2016176420A priority Critical patent/JP6496287B2/ja
Publication of JP2018038720A publication Critical patent/JP2018038720A/ja
Application granted granted Critical
Publication of JP6496287B2 publication Critical patent/JP6496287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】遊技者に興味を抱かせることが可能な特定演出を行うとともに、当該特定演出に遊技者が飽きてしまうことを防止する。【解決手段】始動条件の成立に基づき、識別情報を変動表示する変動表示ゲームに対応する演出表示を表示可能な表示装置を備える遊技機である。変動表示ゲームが行われていないときに、音出力手段から所定音を出力する特定演出を実行させる特定演出制御手段と、当該遊技機の遊技状況に関する履歴情報を記憶する履歴情報記憶手段と、所定音の内容と、前記履歴情報とを対応付けた特定演出内容テーブルを記憶するテーブル記憶手段と、を備える。特定演出制御手段は、履歴情報記憶手段に記憶されている所定期間内の履歴情報に基づいて、特定演出内容テーブルを参照して所定音の内容を決定可能である。【選択図】図167

Description

本発明は、始動条件の成立に基づき、識別情報を変動表示する変動表示ゲームを実行する遊技機に関する。
従来、遊技機の代表例としてパチンコ機がある。このパチンコ機では、遊技領域に設けられた始動口に遊技球が入賞することに基づいて、表示装置に表示される複数の識別情報を変動表示する変動表示ゲームを実行し、当該変動表示ゲームの結果態様が予め定められた特別結果態様となると、遊技者に遊技価値を付与する特別遊技状態を発生するようになっている。
また、このような遊技機として、変動表示ゲームの終了後、次の変動表示ゲームが実行されない状態が所定時間継続した場合に、客待ち用のデモ画面を表示するものがある(例えば、特許文献1参照)。
特開2011−161255号公報
ところで、客待ち用のデモ画面では、機種名やメーカー名等が表示されるようになっているが、これだけでは遊技者に興味を抱かせることが困難である。さらに、機種名やメーカー名等が繰り返し表示される演出が行われるため、当該客待ち用の演出が単調となって遊技者が飽きてしまうといった問題がある。
そこで、本発明の目的は、遊技者に興味を抱かせることが可能な特定演出を行うとともに、当該特定演出に遊技者が飽きてしまうことを防止することである。
以上の課題を解決するため、請求項1に記載の発明は、
始動条件の成立に基づき、識別情報を変動表示する変動表示ゲームに対応する演出表示を表示可能な表示装置を備える遊技機において、
前記変動表示ゲームが行われていないときに、音出力手段から所定音を出力する特定演出を実行させる特定演出制御手段と、
当該遊技機の遊技状況に関する履歴情報を記憶する履歴情報記憶手段と、
前記所定音の内容と、前記履歴情報とを対応付けた特定演出内容テーブルを記憶するテーブル記憶手段と、を備え、
前記特定演出制御手段は、
前記履歴情報記憶手段に記憶されている所定期間内の前記履歴情報に基づいて、前記特定演出内容テーブルを参照して前記所定音の内容を決定可能であることを特徴とする。
本発明によれば、遊技者に興味を抱かせることが可能な特定演出を行うができるとともに、当該特定演出に遊技者が飽きてしまうことを防止することができる。
本発明の第1実施形態の遊技機を前面側から見た斜視図である。 遊技盤の正面図である。 入賞装置を説明する図である。 一括表示装置の詳細を説明する図である。 演出操作部の詳細を説明する図である。 遊技機の制御系の構成例を示すブロック図である。 遊技機の制御系の構成例を示すブロック図である。 メイン処理を説明するフローチャートである。 メイン処理を説明するフローチャートである。 チェックサム算出処理を説明するフローチャートである。 初期値乱数更新処理を説明するフローチャートである。 タイマ割込み処理を説明するフローチャートである。 入力処理を説明するフローチャートである。 スイッチ読み込み処理を説明するフローチャートである。 出力処理を説明するフローチャートである。 払出コマンド送信処理を説明するフローチャートである。 乱数更新処理1を説明するフローチャートである。 乱数更新処理2を説明するフローチャートである。 入賞口スイッチ/状態監視処理を説明するフローチャートである。 不正&入賞監視処理を説明するフローチャートである。 入賞数カウンタ更新処理を説明するフローチャートである。 始動口エラー監視処理を説明するフローチャートである。 遊技機状態チェック処理を説明するフローチャートである。 払出ビジー信号チェック処理を説明するフローチャートである。 特図ゲーム処理を説明するフローチャートである。 始動口スイッチ監視処理を説明するフローチャートである。 ハード乱数取得処理を説明するフローチャートである。 特図始動口スイッチ共通処理を説明するフローチャートである。 特図保留情報判定処理を説明するフローチャートである。 先読み大当り判定処理を説明するフローチャートである。 大入賞口スイッチ監視処理を説明するフローチャートである。 特図普段処理を説明するフローチャートである。 (a)は特図1変動開始処理を説明するフローチャートであり、(b)は特図2変動開始処理を説明するフローチャートである。 (a)は大当りフラグ1設定処理を説明するフローチャートであり、(b)は大当りフラグ2設定処理を説明するフローチャートである。 大当り判定処理を説明するフローチャートである。 特図1停止図柄設定処理を説明するフローチャートである。 特図2停止図柄設定処理を説明するフローチャートである。 特図情報設定処理を説明するフローチャートである。 変動パターン設定処理を説明するフローチャートである。 変動開始情報設定処理を説明するフローチャートである。 特図変動中処理を説明するフローチャートである。 特図表示中処理を説明するフローチャートである。 ファンファーレ/インターバル中処理移行設定処理1を説明するフローチャートである。 ファンファーレ/インターバル中処理を説明するフローチャートである。 大入賞口開放中処理を説明するフローチャートである。 大入賞口残存球処理を説明するフローチャートである。 大当り終了処理を説明するフローチャートである。 (a)は大当り終了設定処理1を説明するフローチャートであり、(b)は大当り終了設定処理2を説明するフローチャートである。 大当り終了設定処理3を説明するフローチャートである。 演出コマンド設定処理を説明するフローチャートである。 図柄変動制御処理を説明するフローチャートである。 (a)は振り分け処理を説明するフローチャートであり、(b)は2バイト振り分け処理を説明するフローチャートである。 普図ゲーム処理を説明するフローチャートである。 ゲートスイッチ監視処理を説明するフローチャートである。 普電入賞スイッチ監視処理を説明するフローチャートである。 普図普段処理を説明するフローチャートである。 普図変動中処理移行設定処理を説明するフローチャートである。 普図変動中処理を説明するフローチャートである。 普図表示中処理を説明するフローチャートである。 普図当り中処理を説明するフローチャートである。 普電作動移行設定処理を説明するフローチャートである。 普電残存球処理を説明するフローチャートである。 普図当り終了処理を説明するフローチャートである。 セグメントLED編集処理を説明するフローチャートである。 磁石不正監視処理を説明するフローチャートである。 盤電波不正監視処理を説明するフローチャートである。 外部情報編集処理を説明するフローチャートである。 外部情報編集処理を説明するフローチャートである。 メイン賞球信号編集処理を説明するフローチャートである。 始動口信号編集処理を説明するフローチャートである。 演出制御装置でのパワーオンリセット処理を説明するフローチャートである。 演出制御装置でのメイン処理を説明するフローチャートである。 コマンド受信割込み処理を説明するフローチャートである。 受信コマンド範囲チェック処理を説明するフローチャートである。 受信コマンドチェック処理を説明するフローチャートである。 受信コマンド解析処理を説明するフローチャートである。 変動系コマンド処理を説明するフローチャートである。 変動パターン対応図柄判定処理を説明するフローチャートである。 大当り系コマンド処理を説明するフローチャートである。 図柄系コマンド処理を説明するフローチャートである。 単発系コマンド処理を説明するフローチャートである。 単発系コマンド処理を説明するフローチャートである。 客待ち用シナリオデータ設定処理を説明するフローチャートである。 シナリオデータ設定処理を説明するフローチャートである。 特図1保留情報設定処理を説明するフローチャートである。 変動演出設定処理を説明するフローチャートである。 変動演出設定処理を説明するフローチャートである。 リーチなし変動設定処理を説明するフローチャートである。 停止図柄設定処理を説明するフローチャートである。 変動パターン分類処理を説明するフローチャートである。 乱数抽選処理Aを説明するフローチャートである。 予告演出設定処理1を説明するフローチャートである。 カットインキャラ差替え判定処理1を説明するフローチャートである。 カットインキャラ差替え判定処理2を説明するフローチャートである。 カットインキャラ差替え判定処理3を説明するフローチャートである。 カットインキャラ差替え判定処理3を説明するフローチャートである。 PB予告用シナリオデータ設定処理を説明するフローチャートである。 サブ間送信開始処理を説明するフローチャートである。 サブ間受信タスク処理を説明するフローチャートである。 サブ間送信データ編集処理を説明するフローチャートである。 サブ間ack応答タスク処理を説明するフローチャートである。 サブ間演出設定処理を説明するフローチャートである。 シナリオ設定処理を説明するフローチャートである。 シナリオ解析処理を説明するフローチャートである。 シナリオ解析処理を説明するフローチャートである。 (a)は、モーション登録処理を説明するフローチャートであり、(b)は、モーション管理領域の構成を説明する図であり、(c)は、表示情報領域の構成を説明する図である。 (a)は、モーションデータ初期化処理1を説明するフローチャートであり、(b)は、モーションデータ初期化処理2を説明するフローチャートである。 (a)は、モーション削除処理を説明するフローチャートであり、(b)は、モーション継続処理を説明するフローチャートである。 (a)は、定数ウェイト処理を説明するフローチャートであり、(b)は、可変ウェイト処理を説明するフローチャートである。 (a)は、PB待ち処理を説明するフローチャートであり、(b)は、PB判定分岐処理を説明するフローチャートである。 図柄停止処理を説明するフローチャートである。 図柄逆算差替処理を説明するフローチャートである。 変動シナリオ切替処理を説明するフローチャートである。 (a)は、繰り返し処理を説明するフローチャートであり、(b)は、終了処理を説明するフローチャートである。 モーション制御処理を説明するフローチャートである。 モーションコマンド実行処理を説明するフローチャートである。 モーションコマンド実行処理を説明するフローチャートである。 ビットマップ追加処理を説明するフローチャートである。 動画追加処理を説明するフローチャートである。 1点指定オブジェクト移動処理を説明するフローチャートである。 (a)は、エフェクトタイプ指定処理を説明するフローチャートであり、(b)は、エフェクトパラメータ指定処理を説明するフローチャートである。 (a)は、オブジェクト削除処理を説明するフローチャートであり、(b)は、オブジェクト変更処理を説明するフローチャートである。 オブジェクト動画デコード処理を説明するフローチャートである。 ビヘイビアインデックス設定処理を説明するフローチャートである。 演出表示編集処理を説明するフローチャートである。 演出表示編集処理を説明するフローチャートである。 演出表示編集処理を説明するフローチャートである。 キャラクタ描画処理を説明するフローチャートである。 (a)は、表示左図柄変換処理を説明するフローチャートであり、(b)は、PB色変換処理を説明するフローチャートであり、(c)は、リーチ文字変換処理を説明するフローチャートである。 キャラ1セリフ変換処理を説明するフローチャートである。 VDP割込み処理を説明するフローチャートである。 Vブランク開始割込み処理を説明するフローチャートである。 シナリオ管理領域のアドレス領域とシナリオ管理領域の一例を示す図である。 モーション管理領域のアドレス領域の一例を示す図である。 客待ち開始時の背景シナリオテーブルの一例を示す図である。 左図柄通常変動開始時のモーションテーブルの一例を示す図である。 図136に示したモーションテーブルによる表示結果の一例を示す図である。 仮想描画空間(フレームバッファ)のデータ構成の一例を示す図である。 特図変動表示ゲームの演出の一例を示す図である。 演出用の動画像の一例を示す図である。 表示レイヤの構成の一例を示す図である。 変形例1のモーション管理領域のアドレス領域の一例を示す図である。 変形例1の表示レイヤの構成の一例を示す図である。 変形例2のシナリオ管理領域のアドレス領域とシナリオ管理領域の一例を示す図である。 変形例2のモーション管理領域のアドレス領域の一例を示す図である。 変形例2の表示レイヤの構成の一例を示す図である。 変形例3のシナリオ管理領域のアドレス領域とシナリオ管理領域の一例を示す図である。 変形例3のモーション管理領域のアドレス領域の一例を示す図である。 変形例3の表示レイヤの構成の一例を示す図である。 本発明の第2実施形態の遊技機の特図変動表示ゲームの演出の一例を示す図である。 本発明の第3実施形態の遊技機のモーション管理領域のアドレス領域の一例を示す図である。 特図変動表示ゲームの演出の一例を示す図である。 表示レイヤの構成の一例を示す図である。 特図変動表示ゲームの演出の別例を示す図である。 本発明の第4実施形態の遊技機の客待ちデモ演出の動作タイミングを説明する図である。 飾り特図変動表示ゲームの飾り図柄の一例を示す図である。 飾り特図変動表示ゲームの停止結果態様の一例を示す図である。 飾り特図変動表示ゲームの停止結果態様の別例を示す図である。 本発明の第5実施形態の遊技機による飾り特図変動表示ゲームの飾り図柄の一例を示す図である。 モーション管理領域のアドレス領域の一例を示す図である。 客待ちデモ演出の一例を示す図である。 本発明の第6実施形態の遊技機の状態判定テーブルの一例を示す図である。 呼び込み演出内容テーブルの一例を示す図である。 音声パターンテーブルの一例を示す図である。 遊技機の遊技盤の正面図である。 可動演出部材の動作を説明するための図である。 呼び込み演出動作の処理内容を説明するフローチャートである。
[第1実施形態]
以下、本発明の好適な実施の形態を図面に基づいて説明する。図1は、本発明の一実施形態の遊技機の説明図である。
本実施形態の遊技機10は前面枠12を備え、該前面枠12は外枠(支持枠)11にヒンジ13を介して開閉回動可能に組み付けられている。遊技盤30(図2参照)は前面枠12の表側に形成された収納部(図示省略)に収納されている。また、前面枠(本体枠)12には、遊技盤30の前面を覆うカバーガラス(透明部材)14を備えたガラス枠15(透明板保持枠)が取り付けられている。
また、ガラス枠15の上部には、内部にランプ及びモータを内蔵した照明装置(ムービングライト)16や払出異常報知用のランプ(LED)17が設けられている。また、ガラス枠15の左右には内部にランプ等を内蔵し装飾や演出のための発光をする枠装飾装置18や、音響(例えば、効果音)を発するスピーカ(上スピーカ)19aが設けられている。さらに、前面枠12の下部にもスピーカ(下スピーカ)19bが設けられている。
また、前面枠12の下部には、図示しない打球発射装置に遊技球を供給する上皿21(貯留皿)、遊技機10の裏面側に設けられている払出ユニットから払い出された遊技球が流出する上皿球出口22、上皿21が一杯になった状態で払い出された遊技球を貯留する下皿(受皿)23及び打球発射装置の操作部24等が設けられている。さらに、上皿21の上縁部には、遊技者からの操作入力を受け付ける演出操作部550が設けられている。この演出操作部550は、遊技者からの押圧操作入力を受け付けるための演出ボタンスイッチ25aを内蔵した演出ボタン25であり、さらに、演出ボタン25の上面(押圧面)には、遊技者からの接触操作入力を受け付けるためのタッチパネル29が設けられている。また、前面枠12下部右側には、前面枠12やガラス枠15を開放したり施錠したりするための鍵26が設けられている。
なお、本実施形態ではタッチパネル29を演出ボタン25と一体的に設けたが、タッチパネル29は、演出ボタン25と別体であってもよく、例えば、演出ボタン25の近傍にサブ表示装置を設け、そのサブ表示装置の表示面にタッチパネル29を設けてもよい。
また、上皿21上方のガラス枠15の前面には、遊技者が隣接する球貸機から球貸しを受ける場合に操作する球貸ボタン27、球貸機のカードユニットからプリペイドカードを排出させるために操作する排出ボタン28、プリペイドカードの残高を表示する残高表示部(図示省略)等が設けられている。この実施形態の遊技機10においては、遊技者が上記操作部24を回動操作することによって、打球発射装置が上皿21から供給される遊技球を遊技盤30前面の遊技領域32に向かって発射する。また、遊技者が演出操作部550を操作することによって、表示装置41(図2参照)における変動表示ゲーム(飾り特図変動表示ゲーム)において、遊技者の操作を介入させた演出等を行うことができる。
次に、図2を用いて遊技盤30の一例について説明する。図2は、本実施形態の遊技盤30の正面図である。
遊技盤30の表面には、ガイドレール31で囲われた略円形状の遊技領域32が形成されている。遊技領域32は、遊技盤30の四隅に各々設けられた樹脂製のサイドケース33及びガイドレール31に囲繞されて構成される。遊技領域32には、ほぼ中央に表示装置41を備えたセンターケース(遊技演出構成体)40が配置されている。表示装置41は、センターケース40に設けられた凹部に、センターケース40の前面より奥まった位置に取り付けられている。すなわち、センターケース40は表示装置41の表示領域の周囲を囲い、表示装置41の表示面よりも前方へ突出し周囲の遊技領域32から遊技球が飛び込みにくくするように形成されている。
表示装置41(変動表示装置)は、例えば、LCD(液晶表示器)、CRT(ブラウン管)等の表示画面を有する装置で構成されている。表示画面の画像を表示可能な領域(表示領域)には、複数の識別情報(特別図柄)や特図変動表示ゲームを演出するキャラクタや演出効果を高める背景画像等の遊技に関する情報が表示される。表示装置41の表示画面においては、識別情報として割り当てられた複数の特別図柄が変動表示(可変表示)されて、特図変動表示ゲームに対応した飾り特図変動表示ゲームが行われる。また、表示画面には遊技の進行に基づく演出のための画像(例えば、大当り表示画像、ファンファーレ表示画像、エンディング表示画像等)が表示される。
また、センターケース40の右上部には、動作することによって遊技の演出を行う盤演出装置44が備えられている。盤演出装置44は、先端部にサブ表示装置42が取り付けられたアームを2本備えており、アームが基端部を中心に回動することによって、サブ表示装置42を、表示装置41に対して前後方向に重なる状態と重ならない状態とに変換させることが可能となっている。
遊技領域32におけるセンターケース40の下方右側には、普図変動表示ゲームの開始条件を与える普通図柄始動ゲート(普図始動ゲート)34が設けられている。普図始動ゲート34に入賞した遊技球は、ゲートスイッチ34a(図6参照)により検出される。
また、遊技領域32におけるセンターケース40の下方左側には、三つの一般入賞口35が配置され、センターケース40の下方右側であって普図始動ゲート34よりも下側には、一つの一般入賞口35が配置されている。これら一般入賞口35に入賞した遊技球は、入賞口スイッチ35a(図6参照)により検出される。
また、普図始動ゲート34の左方には、第2特図変動表示ゲーム(特図2変動表示ゲーム)の開始条件を与える普通変動入賞装置37(始動入賞口、始動入賞領域)が設けられている。
普通変動入賞装置37は、上端側が右側に倒れる方向に回動することで開放して遊技球が流入し易い状態に変換可能な可動部材37bと、遊技球の流入を規制する隔壁37dとを備えている。可動部材37bは、常時は起立することで隔壁37dとの間隔を遊技球の直径以下にした状態、すなわち遊技球が流入できない閉じた閉状態(遊技者にとって不利な状態)を保持している。そして、普図変動表示ゲームの結果が所定の停止表示態様となった場合には、駆動装置としての普電ソレノイド37c(図6参照)によって、普通変動入賞装置37に遊技球が流入し易い開状態(遊技者にとって有利な状態)に変化させられるようになっている。普通変動入賞装置37に入賞した遊技球は、始動口2スイッチ37a(図6参照)により検出される。
さらに、普通変動入賞装置37の下方には、特図変動表示ゲームの結果によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置(大入賞口)38が配設されている。
特別変動入賞装置38は、上端側が手前側に倒れる方向に回動して開放可能になっているアタッカ形式の開閉扉38cを有しており、補助遊技としての特図変動表示ゲームの結果如何によって大入賞口を閉じた状態(遊技者にとって不利な閉塞状態)から開放状態(遊技者にとって有利な状態)に変換する。すなわち、特別変動入賞装置38は、例えば、駆動装置としての大入賞口ソレノイド38b(図6参照)により駆動される開閉扉38cによって開閉される大入賞口を備え、特別遊技状態中は、大入賞口を閉じた状態から開いた状態に変換することにより大入賞口内への遊技球の流入を容易にさせ、遊技者に所定の遊技価値(賞球)を付与するようになっている。なお、大入賞口の内部(入賞領域)には、当該大入賞口に入った遊技球を検出する検出手段としての大入賞口スイッチ(カウントスイッチ)38a(図6参照)が配設されている。本実施形態の遊技機では、大入賞口スイッチ38aが2つ設けられ、大入賞口内に流入した遊技球は何れかの大入賞口スイッチ38aに検出されるようになっている。このように大入賞口スイッチ38aを複数設けることで、大入賞口内に流入した遊技球を迅速に検出できる。
また、センターケース40の下方には、第1特図変動表示ゲーム(特図1変動表示ゲーム)の開始条件を与える第1始動入賞口36(始動入賞口、始動入賞領域)および第2特図変動表示ゲーム(特図2変動表示ゲーム)の開始条件を与える第2始動入賞口97(始動入賞口、始動入賞領域)を備える入賞装置90が設けられている。
入賞装置90は、上部の流入口90aに流入した遊技球を内部で第1始動入賞口36と第2始動入賞口97とに交互に振り分ける振分部材92を備えている(図3参照)。第1始動入賞口36に入賞した遊技球は、始動口1スイッチ36a(図6参照)によって検出され、第2始動入賞口97に入賞した遊技球は、始動口3スイッチ97a(図6参照)によって検出される。
また、入賞装置90の下方には、入賞口などに入賞しなかった遊技球を回収するアウト口30aが設けられている。
図3(a)〜(c)は、本実施形態の入賞装置90の正面図であって、前カバー部材を取り外した状態を示す図である。
図3(a)に示すように、入賞装置90は、その内部のうち、流入口90aの直下となる位置に振分部材92を備えている。また、振分部材92の左下方には第1始動入賞口36が配され、振分部材92の右下方には第2始動入賞口97が配されている。
さらに、振分部材92や第1始動入賞口36、第2始動入賞口97の前方を覆うように前カバー部材が設けられている。この前カバー部材は、入賞装置90内の遊技球の挙動を視認可能なように透明又は半透明となっている。
振分部材92は、前後方向に沿った軸ピン92aを中心として回動可能であり、軸ピン92aが配される位置から上方へ延出する上腕部92bと左方へ延出する左腕部92cと右方へ延出する右腕部92dとを有している。3つの腕部のうちの上腕部92bの左方には、当該上腕部92bと左腕部92cとによって遊技球を一時的に保持する左保持部92eが形成され、上腕部92bの右方には、当該上腕部92bと右腕部92dとによって遊技球を一時的に保持する右保持部92fが形成されている。
振分部材92は、上腕部92bが常に上を向いた状態で、図3(b)に示すように左保持部92eが流入口90aに流入した遊技球を受け入れ可能な位置と、図3(c)に示すように右保持部92fが流入口90aに流入した遊技球を受け入れ可能な位置との間で回動可能となっている。
図3(b)に示すように、左保持部92eが流入口90aに流入した遊技球を受け入れ可能な位置にある場合は、右保持部92fが第2始動入賞口97へ向けて遊技球を流下させた状態となる。
また、図3(c)に示すように、右保持部92fが流入口90aに流入した遊技球を受け入れ可能な位置にある場合は、左保持部92eが第1始動入賞口36へ向けて遊技球を流下させた状態となる。
また、図3(a)に示すように、振分部材92のうち、上腕部92bの後方には、振分部材側磁石96aが取り付けられている。また、振分部材92が前方から装着されるベース部材93のうち、上腕部92bが垂直になった際に振分部材側磁石96aと対向する位置には、ベース部材側磁石96bが取り付けられている。振分部材側磁石96aとベース部材側磁石96bとは対向する側の極が同じ極となるように取り付けられており、磁石96a,96bの反発力によって、振分部材92は上腕部92bが垂直になった状態で留まらずに左右の何れかへ回動するように付勢されている。これにより、振分部材92の回動が停止した状態では、左保持部92eと右保持部92fの何れかが必ず流入口90aに流入した遊技球を受け入れ可能な状態となる。
図3(b),(c)に示すように、流入口90aに流入した遊技球は、左保持部92eと右保持部92fのうちの流入口90aに向いて受け入れ可能な状態となっている一方の保持部で保持される。一方の保持部で遊技球が保持されると、遊技球の重さによって振分部材92は当該一方の保持部の方向へ回動し、保持された遊技球は振分部材92が回動した方向にある第1始動入賞口36または第2始動入賞口97へ向けて流下する。
すなわち、図3(b)に示すように左保持部92eで流入した遊技球を受けると振分部材92が遊技球の重さによって左に回動して第1始動入賞口36へ遊技球を案内した後、図3(c)に示すように右保持部92fが次の遊技球を受入可能な状態で停止する。そして、図3(c)に示すように右保持部92fで流入した遊技球を受けると振分部材92が遊技球の重さによって右に回動して第2始動入賞口97へ遊技球を案内した後、図3(b)に示すように左保持部92eが次の遊技球を受入可能な状態で停止する。
保持部92e,92fから流下した遊技球は第1始動入賞口36または第2始動入賞口97へ流入する可能性が高いが流入しないこともあり、流入しなかった場合は入賞装置90の外へ流出する。特に、保持部92e,92fへ流入する際の勢いが強いと第1始動入賞口36または第2始動入賞口97へ流入しない可能性が高い。なお、必ず何れかの始動入賞口に入賞するように構成しても良い。
また、振分部材92が回動することによって、遊技球を保持していた保持部ではない他方の保持部が流入口90aに向いて受け入れ可能な状態となる。そして、次回受け入れられた遊技球は当該他方の保持部側にある入賞口へ誘導される。これにより、順次流入口90aへ流入する遊技球は第1始動入賞口36と第2始動入賞口97とに交互に振り分けられることとなる。
本実施形態の遊技機10においては、遊技球が流下する遊技領域32のうち、センターケース40の左方の領域が左側遊技領域とされ、センターケース40の右方の領域が右側遊技領域とされている。そして、遊技者が発射勢を調節して左側遊技領域へ遊技球を発射(いわゆる左打ち)することで入賞装置90への入賞を狙うことができ、右側遊技領域へ遊技球を発射(いわゆる右打ち)することで普図始動ゲート34や普通変動入賞装置37や特別変動入賞装置38への入賞を狙うことができるようになっている。
また、遊技領域32の外側(ここでは遊技盤30の右下部)には、特図変動表示ゲームをなす第1特図変動表示ゲームや第2特図変動表示ゲーム及び普図始動ゲート34への入賞をトリガとする普図変動表示ゲームの表示や、各種情報を表示する一括表示装置50が設けられている。
一括表示装置50は、図4(a)に示すように、7セグメント型の表示器(LEDランプ)等で構成された第1特図変動表示ゲーム用の特図1表示器(第1特図変動表示部)51a(D1)及び第2特図変動表示ゲーム用の特図2表示器(第2特図変動表示部)51b(D2)と、LEDランプで構成された普図変動表示ゲーム用の変動表示部(普図表示器)52(D10,D18)と、同じくLEDランプで構成された各変動表示ゲームの始動記憶数報知用の記憶表示部53,54,55(D11〜D16)とを備える。
また、一括表示装置50には、左打ちよりも右打ちの方が有利な遊技状態であることを報知する第1遊技状態表示部(第1遊技状態表示器、右打ち報知部)56(D8)、時短状態が発生すると点灯して時短状態発生を報知する第2遊技状態表示部(第2遊技状態表示器、時短状態報知部)57(D9)、遊技機10の電源投入時に大当りの確率状態が高確率状態となっていることを表示する第3遊技状態表示部(第3遊技状態表示器、確率状態表示部)58(D17)、大当り時のラウンド数(特別変動入賞装置38の開閉回数)を表示するラウンド表示部59(D3〜D7)が設けられている。なお、一括表示装置50には、更に、大当りが発生すると点灯して大当り発生を報知する表示部(表示器)等が設けられていてもよい。
特図1表示器51aと特図2表示器51bにおける特図変動表示ゲームは、例えば変動表示ゲームの実行中、すなわち、表示装置41において飾り特図変動表示ゲームを行っている間は、中央のセグメントを点滅駆動させて変動中であることを表示する。なお、本実施形態の場合、特図1表示器51aにおける特図変動表示ゲームにおいては、中央のセグメントに加えて7セグの右方下側に設けられた8番目のセグメントも点滅駆動させて変動中であることを表示するようにし、特図1と特図2との区別が可能なように構成されている。そして、ゲームの結果が「はずれ」のときは、はずれの結果態様として例えば中央のセグメント(特図1であれば加えて右方下側の8番目のセグメント)を点灯状態にし、ゲームの結果が「当り」のときは、当りの結果態様(特別結果態様)としてはずれの結果態様以外の結果態様(例えば、数字や記号)を点灯状態にしてゲーム結果を表示する。
普図表示器52は、変動中はランプを点滅させて変動中であることを表示し、所定時間後にゲームの結果に応じた点灯態様や点灯色としてゲーム結果を表示する。本実施形態の場合、図4(d)に示すように、普図表示器52を構成するランプD10とランプD18のうち、変動用図柄番号が「0」のとき(すなわち、ゲームの結果がはずれのとき)はランプD10のみを点灯状態にし、変動用図柄番号が「1」のとき(すなわち、ゲームの結果が当りで当り停止図柄番号が「1」のとき)はランプD18のみを点灯状態にし、変動用図柄番号が「2」のとき(すなわち、ゲームの結果が当りで当り停止図柄番号が「2」のとき)はランプD10及びランプD18の双方を点灯状態にするよう構成されている。
また、普図保留表示器55は、普図表示器52の変動開始条件となる普図始動ゲート34の始動記憶数(=保留数)を複数のLEDの消灯、点滅、点灯により表示する。本実施形態の場合、図4(c)に示すように、普図保留表示器55を構成するランプD15とランプD16のうち、保留数が「0」のときはランプD15及びランプD16の双方を消灯状態にし、保留数が「1」のときはランプD15のみを点灯状態にし、保留数が「2」のときはランプD15及びランプD16の双方を点灯状態にし、保留数が「3」のときはランプD15を点滅状態にしてランプD16を点灯状態にし、保留数が「4」のときはランプD15及びランプD16の双方を点滅状態にするよう構成されている。
特図1保留表示器53は、特図1表示器51aにおいて表示される第1特図変動表示ゲームの実行権利である第1始動記憶(特図1保留)の数を複数のLEDの消灯、点滅、点灯により表示する。本実施形態の場合、図4(b)に示すように、特図1保留表示器53を構成するランプD11とランプD12のうち、特図1始動記憶数が「0」のときはランプD11及びランプD12の双方を消灯状態にし、特図1始動記憶数が「1」のときはランプD11のみを点灯状態にし、特図1始動記憶数が「2」のときはランプD11及びランプD12の双方を点灯状態にし、特図1始動記憶数が「3」のときはランプD11を点滅状態にしてランプD12を点灯状態にし、特図1始動記憶数が「4」のときはランプD11及びランプD12の双方を点滅状態にするよう構成されている。
特図2保留表示器54は、特図2表示器51bにおいて表示される第2特図変動表示ゲームの実行権利である第2始動記憶(特図2保留)の数を、複数のLEDの消灯、点滅、点灯により表示する。本実施形態の場合、図4(b)に示すように、特図2保留表示器54を構成するランプD13とランプD14のうち、特図2始動記憶数が「0」のときはランプD13及びランプD14の双方を消灯状態にし、特図2始動記憶数が「1」のときはランプD13のみを点灯状態にし、特図2始動記憶数が「2」のときはランプD13及びランプD14の双方を点灯状態にし、特図2始動記憶数が「3」のときはランプD13を点滅状態にしてランプD14を点灯状態にし、特図2始動記憶数が「4」のときはランプD13及びランプD14の双方を点滅状態にするよう構成されている。
第1遊技状態表示部(右打ち報知部)56は、LEDランプ等で構成され、例えば図4(f)に示すように、右打ちよりも左打ちの方が有利な遊技状態(通常打ち状態)の場合にはランプを消灯状態にし、左打ちよりも右打ちの方が有利な遊技状態(右打ち状態)の場合にはランプを点灯状態にする。
第2遊技状態表示部(時短状態報知部)57は、LEDランプ等で構成され、例えば図4(f)に示すように、時短状態が発生していない通常の遊技状態の場合(時短未作動時)にはランプを消灯状態にし、時短状態が発生している場合(時短作動時)にはランプを点灯状態にする。
第3遊技状態表示部(確率状態表示部)58は、LEDランプ等で構成され、例えば図4(f)に示すように、遊技機10の電源投入時に大当りの確率状態が低確率状態(通常確率状態)の場合にはランプを消灯状態にし、遊技機10の電源投入時に大当りの確率状態が高確率状態(確変状態)の場合にはランプを点灯状態にする。
ラウンド表示部59は、LEDランプ等で構成され、例えば、大当りに基づく特別遊技状態中でない場合にはランプを消灯状態にし、特別遊技状態中には特別結果に応じて選択されたラウンド数に対応するランプを点灯状態にする。本実施形態の場合、図4(e)に示すように、ラウンド表示部59を構成するランプD3〜D7のうち、選択されたラウンド数が「16」のときはランプD3,D5,D7を点灯状態にし、選択されたラウンド数が「2」のときはランプD4,D6を点灯状態にするよう構成されている。なお、ラウンド表示部は7セグメント型の表示器で構成してもよい。
図5には、演出操作部550の詳細を示した。
図5(a)は、演出操作部550の平面図である。本実施形態の演出操作部550は、図5(a)に示すように、演出ボタン(プッシュボタン)25と、演出ボタン(プッシュボタン)25の上面に設けられたタッチパネル29と、を備えて構成されている。すなわち、演出操作部550は、物理的なプッシュボタン機能に加えて、タッチセンサ機能(タッチパネル機能)を有している。
そして、演出制御基板(演出制御装置)300から演出操作部550へは、感度設定データやLED輝度データなどが送信され、演出操作部550から演出制御基板(演出制御装置)300へは、演出ボタン(プッシュボタン)25が備える演出ボタンスイッチ(プッシュセンサ)25aからのプッシュボタン信号(押圧検出信号)やタッチパネル29が備えるタッチセンサ29aからのタッチON/OFF信号(接触/非接触検出信号)が出力されるよう構成されている。
本実施形態の場合、演出ボタン(プッシュボタン)25が備える演出ボタンスイッチ(プッシュセンサ)25aで、演出操作部550の上面に対する押圧操作(演出操作部550の上面を押して演出操作部550を押し下げる操作)を検出する。また、演出操作部550の上面には複数のポイントが設けられており、タッチパネル29が備えるタッチセンサで、演出操作部550の上面に設けられたポイントに対する接触操作を検出する。
具体的には、図5(b)に示すように、複数のポイントとして、「TSW1」〜「TSW8」ポイントと、「Pa」ポイントと、の9つのポイントが設けられている。より具体的には、演出操作部550上面の中央部に設けられた「TSW4」ポイントと、「TSW4」ポイントの左側に設けられた「TSW1」ポイントと、「TSW4」ポイントよりも奥側(遊技盤30側)に設けられた「TSW3」ポイントと、「TSW4」ポイントの右側に設けられた「TSW6」ポイントと、「TSW4」ポイントよりも手前側(遊技者側)に設けられた「TSW8」ポイントと、「TSW1」ポイントと「TSW3」ポイントとの間に設けられた「TSW2」ポイントと、「TSW3」ポイントと「TSW6」ポイントとの間に設けられた「TSW5」ポイントと、「TSW6」ポイントと「TSW8」ポイントとの間に設けられた「TSW7」ポイントと、「TSW8」ポイントと「TSW1」ポイントとの間に設けられた「Pa」ポイントと、が設けられている。なお、ポイントの数は、9つに限定されるものではなく、適宜任意に変更可能である。また、図5(b)では、便宜上、「TSW1」〜「TSW8」の各ポイントにそれぞれ「TSW1」〜「TSW8」と表記しているが、本実施形態の演出操作部550には、図5(a)に示すように、このような表記はない。
タッチパネル29のタッチセンサによって接触操作が検出可能なポイントは、「TSW1」〜「TSW8」ポイントの8つのポイントであり、「Pa」ポイントでは接触操作を検出しない。もちろん「Pa」ポイントでも接触操作を検出するようにしても良い。また、「TSW1」〜「TSW8」ポイントと「Pa」ポイントとの9つのポイント各々には、それぞれが独立した系統のLED(本実施形態の場合、フルカラーLED)が配置されている。
「Pa」ポイントは、例えば、「Pa」ポイントのLEDを一発告知用の告知ランプとして使用することや、演出操作部550上面の各ポイントのLEDをルーレットのように順次点灯させ「Pa」ポイントのLEDを“当確(または確変確定)”ポイントに使用すること、「Pa」ポイントのLEDを先読みの当確演出に使用すること等、確定系の演出に用いることができる。
ここで、演出操作部550の上面を光らせるためのLED(具体的には、「TSW1」〜「TSW8」ポイントや「Pa」ポイントなどに配置されたLED)の点灯輝度は、輝度調整(ホール設定、遊技者調整とも)の対象からは除外されている。すなわち、当該LEDの点灯輝度は、輝度調整の影響を受けず、一定となっている。また、タッチセンサは、タッチON状態(接触状態)が所定時間(例えば、約35秒間(基本設定))継続すると、強制的にタッチOFFする機能(タッチON信号の出力を停止して、タッチOFF信号を出力する機能)を有している。すなわち、タッチセンサ(タッチ検知IC)は、所定時間以上の連続した接触操作を検出できないよう構成されている。
このような演出操作部550で検出する遊技者の操作としては、例えば図5(c)に示す操作が挙げられる。「単打」は、演出操作部550の押下を1回行う操作であり、「連打」は演出操作部550の押下を所定時間以内の間隔で複数回行う操作である。「長押し」は演出操作部550を所定時間以上押下したままとする操作であり、「タッチ」はタッチパネル29に触れる操作である。「「Pa」操作(TSW1or8)+長押し」は、「Pa」ポイント又はこれに隣接する「TSW1」ポイントと「TSW8」ポイントとの2つのポイントの一方(或いは、両方)に接触した状態で長押しする操作であり、「フリック」はタッチパネル29に触れた状態のまま弾くようにスライドさせる操作である。もちろん検出する操作はこれらの操作に限られるものではない。
本実施形態の遊技機10では、図示しない発射装置から遊技領域32に向けて遊技球(パチンコ球)が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域32内の各所に配置された障害釘や風車等の方向転換部材によって転動方向を変えながら遊技領域32を流下し、普図始動ゲート34、一般入賞口35、第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37又は特別変動入賞装置38に入賞するか、遊技領域32の最下部に設けられたアウト口30aへ流入し遊技領域32から排出される。そして、一般入賞口35、第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37又は特別変動入賞装置38に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が、払出制御装置200(図6参照)によって制御される払出ユニットから、ガラス枠15の上皿21又は下皿23に排出される。
一方、普図始動ゲート34内には、該普図始動ゲート34を通過した遊技球を検出するための非接触型のスイッチなどからなるゲートスイッチ34a(図6参照)が設けられており、遊技領域32内に打ち込まれた遊技球が普図始動ゲート34内を通過すると、ゲートスイッチ34aにより検出されて普図変動表示ゲームが行われる。また、普図変動表示ゲームを開始できない状態、例えば、既に普図変動表示ゲームが行われ、その普図変動表示ゲームが終了していない状態や、普図変動表示ゲームが当って普通変動入賞装置37が開状態に変換されている場合に、普図始動ゲート34を遊技球が通過すると、普図始動記憶数の上限数(例えば、4個)未満ならば、普図始動記憶数が加算(+1)されて普図始動記憶が1つ記憶されることとなる。この普図始動入賞の記憶数は、一括表示装置50の普図保留表示器55に表示される。また、普図始動記憶には、普図変動表示ゲームの結果を決定するための当り判定用乱数値(当り乱数値)が記憶されるようになっていて、この当り判定用乱数値を判定値と比較して当該普図変動表示ゲームの結果を決定する。この当り判定用乱数値が判定値と一致した場合に、当該普図変動表示ゲームが当りとなって特定の結果態様(普図特定結果)が導出されることとなる。
普図変動表示ゲームは、一括表示装置50に設けられ、LEDにより構成された変動表示部(普図表示器)52で表示されるようになっており、このLEDの点灯態様や点灯色が普通識別情報(普図、普通図柄)をなす。なお、普図表示器52を表示装置で構成し、普通識別情報として例えば数字、記号、キャラクタ図柄などを用い、これを所定時間変動表示させた後、停止表示させて結果を表示するように構成しても良い。この普図変動表示ゲームの停止表示が普図特定結果となれば、普図の当りとなって、普通変動入賞装置37の可動部材37bが所定時間開放される開状態となる。これにより、普通変動入賞装置37の内部の第2始動入賞口へ遊技球が入賞し易くなり、第2特図変動表示ゲームが実行される回数が多くなる。
第1始動入賞口36への入賞球、第2始動入賞口97への入賞球、及び普通変動入賞装置37への入賞球は、それぞれは内部に設けられた始動口1スイッチ36a、始動口3スイッチ97a、及び始動口2スイッチ37aによって検出される。第1始動入賞口36へ入賞した遊技球は第1特図変動表示ゲームの始動入賞球として検出され、第1始動記憶として所定の上限数(例えば、4個)を限度に記憶されるとともに、第2始動入賞口97や普通変動入賞装置37へ入賞した遊技球は第2特図変動表示ゲームの始動入賞球として検出され、第2始動記憶として所定の上限数(例えば、4個)を限度に記憶される。また、この始動入賞球の検出時にそれぞれ始動記憶情報として大当り乱数値や大当り図柄乱数値、並びに各変動パターン乱数値が抽出され、抽出された乱数値は、遊技制御装置100(図6参照)内の特図記憶領域(RAMの一部)に特図始動記憶として各々所定回数(例えば、最大で4回分)を限度に記憶される。そして、この特図始動記憶の記憶数は、一括表示装置50の始動入賞数報知用の記憶表示部(特図1保留表示器53、特図2保留表示器54)に表示されるとともに、センターケース40の表示装置41においても飾り特図始動記憶表示として表示される。
遊技制御装置100は、第1始動入賞口36、第2始動入賞口97、若しくは普通変動入賞装置37への入賞、又はそれらの始動記憶に基づいて、特図1表示器51a(変動表示装置)又は特図2表示器51b(変動表示装置)で第1又は第2特図変動表示ゲームを行う。第1特図変動表示ゲーム及び第2特図変動表示ゲームは、複数の特別図柄(特図、識別情報)を変動表示したのち、所定の結果態様を停止表示することで行われる。また、表示装置(画像表示装置)41にて複数種類の識別情報(例えば、数字、記号、キャラクタ図柄等)を変動表示させる飾り特図変動表示ゲームが実行されるようになっている。そして、特図変動表示ゲームの結果として、特図1表示器51a若しくは特図2表示器51bの表示態様が特別結果態様(特別結果)となった場合には、大当りとなって特別遊技状態(いわゆる、大当り状態)となる。また、これに対応して表示装置41に表示される飾り特図変動表示ゲームの結果態様も特別結果態様となる。
表示装置41における飾り特図変動表示ゲームは、例えば、表示装置41において前述した数字等で構成される飾り特別図柄(識別情報)を左変動表示領域(第1特別図柄)、右変動表示領域(第2特別図柄)、中変動表示領域(第3特別図柄)のそれぞれにおいて各図柄を識別困難な速さで変動表示(高速変動)する。そして、所定時間後に変動している図柄を左変動表示領域、右変動表示領域、中変動表示領域の順に順次停止させて、左変動表示領域、右変動表示領域、中変動表示領域の各々で停止表示された識別情報により構成される結果態様により特図変動表示ゲームの結果を表示することで行われる。また、表示装置41では、特図始動記憶数に対応する飾り特別図柄による変動表示ゲームを行うとともに、興趣向上のためにキャラクタの出現など多様な演出表示が行われる。
なお、特図1表示器51a、特図2表示器51bは、別々の表示器でも良いし同一の表示器でも良いが、各々独立して、また、同時には実行しないように各特図変動表示ゲームが表示される。また、表示装置41も、第1特図変動表示ゲームと第2特図変動表示ゲームで別々の表示装置や別々の表示領域を使用するとしても良いし、同一の表示装置や表示領域を使用するとしても良いが、各々独立して、また、同時には実行しないように飾り特図変動表示ゲームが表示される。また、遊技機10に特図1表示器51a、特図2表示器51bを備えずに、表示装置41のみで特図変動表示ゲームを実行するようにしても良い。
また、第1特図変動表示ゲーム(第2特図変動表示ゲーム)が開始可能な状態で、且つ、始動記憶数が0の状態で、第1始動入賞口36(若しくは、第2始動入賞口97や普通変動入賞装置37)に遊技球が入賞すると、始動権利の発生に伴って始動記憶が記憶されて、始動記憶数が1加算されるととともに、直ちに始動記憶に基づいて、第1特図変動表示ゲーム(第2特図変動表示ゲーム)が開始され、この際に始動記憶数が1減算される。一方、第1特図変動表示ゲーム(第2特図変動表示ゲーム)が直ちに開始できない状態、例えば、既に第1若しくは第2特図変動表示ゲームが行われ、その特図変動表示ゲームが終了していない状態や、特別遊技状態となっている場合に、第1始動入賞口36(若しくは、第2始動入賞口97や普通変動入賞装置37)に遊技球が入賞すると、始動記憶数が上限数未満ならば、始動記憶数が1加算されて始動記憶が1つ記憶されることになる。そして、始動記憶数が1以上となった状態で、第1特図変動表示ゲーム(第2特図変動表示ゲーム)が開始可能な状態(前回の特図変動表示ゲームの終了若しくは特別遊技状態の終了)となると、始動記憶数が1減算されるとともに、記憶された始動記憶に基づいて第1特図変動表示ゲーム(第2特図変動表示ゲーム)が開始される。以下の説明において、第1特図変動表示ゲームと第2特図変動表示ゲームを区別しない場合は、単に特図変動表示ゲームと称する。
なお、特に限定されるわけではないが、第1始動入賞口36内の始動口1スイッチ36a、第2始動入賞口97内の始動口3スイッチ97a、普通変動入賞装置37内の始動口2スイッチ37a、ゲートスイッチ34a、入賞口スイッチ35a、大入賞口スイッチ38aには、磁気検出用のコイルを備え該コイルに金属が近接すると磁界が変化する現象を利用して遊技球を検出する非接触型の磁気近接センサ(以下、近接スイッチと称する)が使用されている。また、遊技機10のガラス枠15等に設けられたガラス枠開放検出スイッチ63や前面枠(本体枠)12等に設けられた本体枠開放検出スイッチ64には、機械的な接点を有するマイクロスイッチを用いることができる。
図6は、本実施形態のパチンコ遊技機10の制御システムのブロック図である。
遊技機10は遊技制御装置100を備え、遊技制御装置100は、遊技を統括的に制御する主制御装置(主基板)であって、遊技用マイクロコンピュータ(以下、遊技用マイコンと称する)111を有するCPU部110と、入力ポートを有する入力部120と、出力ポートやドライバなどを有する出力部130と、CPU部110と入力部120と出力部130との間を接続するデータバス140などからなる。
上記CPU部110は、アミューズメントチップ(IC)と呼ばれる遊技用マイコン(CPU)111と、水晶振動子のような発振子を備え、CPUの動作クロックやタイマ割込み、乱数生成回路の基準となるクロックを生成する発振回路(水晶発振器)113などを有する。遊技制御装置100及び該遊技制御装置100によって駆動されるソレノイドやモータなどの電子部品には、電源装置400で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
電源装置400は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部410と、遊技用マイコン111の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部420と、停電監視回路を有し、遊技制御装置100に停電の発生、回復を知らせる停電監視信号やリセット信号などの制御信号を生成して出力する制御信号生成部430などを備える。
この実施形態では、電源装置400は、遊技制御装置100と別個に構成されているが、バックアップ電源部420及び制御信号生成部430は、別個の基板上あるいは遊技制御装置100と一体、すなわち、主基板上に設けるように構成してもよい。遊技盤30及び遊技制御装置100は機種変更の際に交換の対象となるので、本実施形態のように、電源装置400若しくは主基板とは別の基板にバックアップ電源部420及び制御信号生成部430を設けることにより、交換の対象から外しコストダウンを図ることができる。
上記バックアップ電源部420は、電解コンデンサのような大容量のコンデンサ1つで構成することができる。バックアップ電源は、遊技制御装置100の遊技用マイコン111(特に内蔵RAM)に供給され、停電中あるいは電源遮断後もRAMに記憶されたデータが保持されるようになっている。制御信号生成部430は、例えば通常電源部410で生成された32Vの電圧を監視してそれが例えば17V以下に下がると停電発生を検出して停電監視信号を変化させるとともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
また、遊技制御装置100にはRAM初期化スイッチ112が設けられている。このRAM初期化スイッチ112が操作されると初期化スイッチ信号が生成され、これに基づき遊技用マイコン111内のRAM111C及び払出制御装置200内のRAMに記憶されている情報を強制的に初期化する処理が行われる。特に限定されるわけではないが初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン111が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は強制割込み信号の一種であり、制御システム全体をリセットさせる。
遊技用マイコン111は、CPU(中央処理ユニット:マイクロプロセッサ)111A、読出し専用のROM(リードオンリメモリ)111B及び随時読出し書込み可能なRAM(ランダムアクセスメモリ)111Cを備える。
ROM111Bは、遊技制御のための不変の情報(プログラム、固定データ、各種乱数の判定値等)を不揮発的に記憶し、RAM111Cは、遊技制御時にCPU111Aの作業領域や各種信号や乱数値の記憶領域として利用される。ROM111B又はRAM111Cとして、EEPROMのような電気的に書換え可能な不揮発性メモリを用いてもよい。
また、ROM111Bは、例えば、特図変動表示ゲームの実行時間、演出内容、リーチ状態の発生の有無などを規定する変動パターン(変動態様)を決定するための変動パターンテーブルを記憶している。変動パターンテーブルとは、始動記憶として記憶されている変動パターン乱数1〜3をCPU111Aが参照して変動パターンを決定するためのテーブルである。また、変動パターンテーブルには、結果がはずれとなる場合に選択されるはずれ変動パターンテーブル、結果が大当りとなる場合に選択される大当り変動パターンテーブル等が含まれる。
ここでリーチ(リーチ状態)とは、表示状態が変化可能な表示装置を有し、該表示装置が時期を異ならせて複数の表示結果を導出表示し、該複数の表示結果が予め定められた特別結果態様となった場合に、遊技状態が遊技者にとって有利な遊技状態(特別遊技状態)となる遊技機10において、複数の表示結果の一部がまだ導出表示されていない段階で、既に導出表示されている表示結果が特別結果態様となる条件を満たしている表示状態をいう。また、別の表現をすれば、リーチ状態とは、表示装置の変動表示制御が進行して表示結果が導出表示される前段階にまで達した時点でも、特別結果態様となる表示条件からはずれていない表示態様(リーチ表示態様)をいう。そして、例えば、特別結果態様が揃った状態を維持しながら複数の変動表示領域による変動表示を行う状態(いわゆる全回転リーチ)もリーチ状態に含まれる。また、リーチ状態とは、表示装置の表示制御が進行して表示結果が導出表示される前段階にまで達した時点での表示状態であって、表示結果が導出表示される以前に決定されている複数の変動表示領域の表示結果の少なくとも一部が特別結果態様となる条件を満たしている場合の表示状態をいう。
よって、例えば、特図変動表示ゲームに対応して表示装置に表示される飾り特図変動表示ゲームが、表示装置における左、中、右の変動表示領域の各々で所定時間複数の識別情報を変動表示した後、左、右、中の順で変動表示を停止して結果態様を表示するものである場合、左、右の変動表示領域で、特別結果態様となる条件を満たした状態(例えば、同一の識別情報)で変動表示が停止した状態がリーチ状態となる。またこの他に、すべての変動表示領域の変動表示を一旦停止した時点で、左、中、右のうち何れか二つの変動表示領域で特別結果態様となる条件を満たした状態(例えば、同一の識別情報となった状態、ただし特別結果態様は除く)をリーチ状態とし、このリーチ状態から残りの一つの変動表示領域を変動表示するようにしても良い。
そして、このリーチ状態には複数のリーチ演出が含まれ、特別結果態様が導出される可能性が異なる(期待値が異なる)リーチ演出として、ノーマルリーチ(Nリーチ)、スペシャル1リーチ(SP1リーチ)、スペシャル2リーチ(SP2リーチ)、スペシャル3リーチ(SP3リーチ)が設定されている。なお、期待値は、リーチなし<ノーマルリーチ<スペシャル1リーチ<スペシャル2リーチ<スペシャル3リーチの順に高くなるようになっている。また、このリーチ状態は、少なくとも特図変動表示ゲームで特別結果態様が導出される場合(大当りとなる場合)における変動表示態様に含まれるようになっている。すなわち、特図変動表示ゲームで特別結果態様が導出されないと判定する場合(はずれとなる場合)における変動表示態様に含まれることもある。よって、リーチ状態が発生した状態は、リーチ状態が発生しない場合に比べて大当りとなる可能性の高い状態である。
CPU111Aは、ROM111B内の遊技制御用プログラムを実行して、払出制御装置200や演出制御装置300に対する制御信号(コマンド)を生成したりソレノイドや表示装置の駆動信号を生成して出力して遊技機10全体の制御を行う。また、図示しないが、遊技用マイコン111は、特図変動表示ゲームの当りを判定するための大当り乱数や大当りの図柄を決定するための大当り図柄乱数、特図変動表示ゲームでの変動パターン(各種リーチやリーチ無しの変動表示における変動表示ゲームの実行時間等を含む)を決定するための変動パターン乱数、普図変動表示ゲームの当りを判定するための当り乱数等を生成するための乱数生成回路と、発振回路113からの発振信号(原クロック信号)に基づいてCPU111Aに対する所定周期(例えば、4ミリ秒)のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータを備えている。
また、CPU111Aは、特図変動表示ゲームに関する処理において、ROM111Bに記憶されている複数の変動パターンテーブルの中から、何れか一の変動パターンテーブルを取得する。具体的には、CPU111Aは、特図変動表示ゲームの遊技結果(大当り或いははずれ)や、現在の遊技状態としての特図変動表示ゲームの確率状態(通常確率状態或いは高確率状態)、現在の遊技状態としての普通変動入賞装置37の動作状態(時短動作状態(普電サポート状態))、始動記憶数などに基づいて、複数の変動パターンテーブルの中から、何れか一の変動パターンテーブルを選択して取得する。ここで、CPU111Aは、特図変動表示ゲームを実行する場合に、ROM111Bに記憶された複数の変動パターンテーブルのうち、何れか一の変動パターンテーブルを取得する変動振り分け情報取得手段をなす。
払出制御装置200は、CPU、ROM、RAM、入力インタフェース、出力インタフェース等を備え、遊技制御装置100からの賞球払出し指令(コマンドやデータ)に従って、払出ユニットの払出モータを駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置200は、カードユニットからの貸球要求信号に基づいて払出ユニットの払出モータを駆動させ、貸球を払い出させるための制御を行う。
遊技用マイコン111の入力部120には、遊技機に対する電波の発射を検出する盤電波センサ62、第1始動入賞口36内の始動口1スイッチ36a、普通変動入賞装置37内の始動口2スイッチ37a、第2始動入賞口97内の始動口3スイッチ97a、普図始動ゲート34内のゲートスイッチ34a、入賞口スイッチ35a、特別変動入賞装置38の大入賞口スイッチ38aに接続され、これらのスイッチから供給されるハイレベルが11Vでロウレベルが7Vのような負論理の信号が入力され、0V−5Vの正論理の信号に変換するインタフェースチップ(近接I/F)121が設けられている。近接I/F121は、入力の範囲が7V−11Vとされることで、センサや近接スイッチのリード線が不正にショートされたり、センサやスイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常な状態を検出することができ、異常検知信号を出力するように構成されている。
近接I/F121の出力は、第2入力ポート123又は第3入力ポート124へ供給されデータバス140を介して遊技用マイコン111に読み込まれる。なお、近接I/F121の出力のうち、始動口1スイッチ36a、始動口2スイッチ37a、始動口3スイッチ97a、ゲートスイッチ34a、入賞口スイッチ35a及び大入賞口スイッチ38aの検出信号は第2入力ポート123へ入力される。また、近接I/F121の出力のうち、盤電波センサ62の検出信号及びセンサやスイッチの異常を検出した際に出力される異常検知信号は第3入力ポート124に入力される。また、第3入力ポート124には、遊技機10の前面枠12等に設けられた不正検出用の磁気センサ61の検出信号や、遊技機10のガラス枠15等に設けられたガラス枠開放検出スイッチ63の検出信号、遊技機10の前面枠(本体枠)12等に設けられた本体枠開放検出スイッチ64の検出信号も入力されるようになっている。なお、振動を検出する振動センサスイッチを遊技機に設け、検出信号が第3入力ポート124に入力されるようにしても良い。
また、近接I/F121の出力のうち、第2入力ポート123への出力は、主基板100から中継基板70を介して図示しない試射試験装置へも供給されるようになっている。さらに、近接I/F121の出力のうち始動口1スイッチ36aと始動口2スイッチ37aと始動口3スイッチ97aの検出信号は、第2入力ポート123の他、遊技用マイコン111へ入力されるように構成されている。
上記のように近接I/F121は、信号のレベル変換機能を有する。このようなレベル変換機能を可能にするため、近接I/F121には、電源装置400から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されるようになっている。
第2入力ポート123が保持しているデータは、遊技用マイコン111が第2入力ポート123に割り当てられているアドレスをデコードすることによってイネーブル信号CE2をアサート(有効レベルに変化)して、読み出すことができる。第3入力ポート124や後述の第1入力ポート122も同様である。
また、入力部120には、払出制御装置200からの枠電波不正信号(前面枠12に設けられた枠電波センサが電波を検出することに基づき出力される信号)、払出ビジー信号(払出制御装置200がコマンドを受付可能な状態か否かを示す信号)、払出異常ステータス信号(払出異常を示すステータス信号)、シュート球切れスイッチ信号(払出し前の遊技球の不足を示す信号)、オーバーフロースイッチ信号(下皿23に遊技球が所定量以上貯留されていること(満杯になったこと)を検出したときに出力される信号)、タッチスイッチ信号(操作部24に設けられたタッチスイッチの入力に基づく信号)を取り込んでデータバス140を介して遊技用マイコン111に供給する第1入力ポート122が設けられている。
また、入力部120には、電源装置400からの停電監視信号やリセット信号などの信号を遊技用マイコン111等に入力するためのシュミットバッファ125が設けられており、シュミットバッファ125はこれらの入力信号からノイズを除去する機能を有する。電源装置400からの停電監視信号や、RAM初期化スイッチ112からの初期化スイッチ信号は、一旦第1入力ポート122に入力され、データバス140を介して遊技用マイコン111に取り込まれる。つまり、前述の各種スイッチからの信号と同等の信号として扱われる。遊技用マイコン111に設けられている外部からの信号を受ける端子の数には制約があるためである。
一方、シュミットバッファ125によりノイズ除去されたリセット信号RESETは、遊技用マイコン111に設けられているリセット端子に直接入力されるとともに、出力部130の各ポートに供給される。また、リセット信号RESETは出力部130を介さずに直接中継基板70に出力することで、試射試験装置へ出力するために中継基板70のポート(図示省略)に保持される試射試験信号をオフするように構成されている。また、リセット信号RESETを中継基板70を介して試射試験装置へ出力可能に構成するようにしてもよい。なお、リセット信号RESETは入力部120の各ポート122,123,124には供給されない。リセット信号RESETが入る直前に遊技用マイコン111によって出力部130の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号RESETが入る直前に入力部120の各ポートから遊技用マイコン111が読み込んだデータは、遊技用マイコン111のリセットによって廃棄されるためである。
出力部130には、遊技用マイコン111から演出制御装置300への通信経路及び遊技用マイコン111から払出制御装置200への通信経路に配されるシュミットバッファ132が設けられている。遊技制御装置100から演出制御装置300及び払出制御装置200へは、シリアル通信でデータが送信される。なお、演出制御装置300の側から遊技制御装置100へ信号を入力できないようにした片方向通信とされている。
さらに、出力部130には、データバス140に接続され図示しない認定機関の試射試験装置へ変動表示ゲームの特図図柄情報を知らせるデータや大当りの確率状態を示す信号などを中継基板70を介して出力するバッファ133が実装可能に構成されている。このバッファ133は遊技店に設置される実機(量産販売品)としてのパチンコ遊技機の遊技制御装置(主基板)には実装されない部品である。なお、前記近接I/F121から出力される始動口スイッチなど加工の必要のないスイッチの検出信号は、バッファ133を通さずに中継基板70を介して試射試験装置へ供給される。
一方、磁気センサ61や盤電波センサ62のようにそのままでは試射試験装置へ供給できない検出信号は、一旦遊技用マイコン111に取り込まれて他の信号若しくは情報に加工されて、例えば遊技機が遊技制御できない状態であることを示すエラー信号としてデータバス140からバッファ133、中継基板70を介して試射試験装置へ供給される。なお、中継基板70には、上記バッファ133から出力された信号を取り込んで試射試験装置へ供給するポートや、バッファを介さないスイッチの検出信号の信号線を中継して伝達するコネクタなどが設けられている。中継基板70上のポートには、遊技用マイコン111から出力されるチップイネーブル信号CEも供給され、該信号CEにより選択制御されたポートの信号が試射試験装置へ供給されるようになっている。
また、出力部130には、データバス140に接続され特別変動入賞装置38を開閉させるソレノイド(大入賞口ソレノイド)38b及び普通変動入賞装置37の可動部材37bを開閉させるソレノイド(普電ソレノイド)37cの開閉データを出力するための第2出力ポート134が設けられている。また、出力部130には、一括表示装置50に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための第3出力ポート135、一括表示装置50のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための第4出力ポート136が設けられている。
また、出力部130には、大当り情報など遊技機10に関する情報を外部情報端子板71へ出力するための第5出力ポート137が設けられている。外部情報端子板71にはフォトリレーが備えられ、例えば遊技店に設置された外部装置(情報収集端末や遊技場内部管理装置(ホールコンピュータ)など)に接続可能であり、遊技機10に関する情報を外部装置に供給することができるようになっている。また、第5出力ポート137からはシュミットバッファ132を介して払出制御装置200に発射許可信号も出力される。
さらに、出力部130には、第2出力ポート134から出力される大入賞口ソレノイド38bや普電ソレノイド37cの開閉データ信号を受けてソレノイド駆動信号を生成し出力する第1ドライバ(駆動回路)138a、第3出力ポート135から出力される一括表示装置50の電流供給側のセグメント線のオン/オフ駆動信号を出力する第2ドライバ138b、第4出力ポート136から出力される一括表示装置50の電流引き込み側のデジット線のオン/オフ駆動信号を出力する第3ドライバ138c、第5出力ポート137から管理装置等の外部装置へ供給する外部情報信号を外部情報端子板71へ出力する第4ドライバ138dが設けられている。
上記第1ドライバ138aには、32Vで動作するソレノイドを駆動できるようにするため、電源電圧としてDC32Vが電源装置400から供給される。また、一括表示装置50のセグメント線を駆動する第2ドライバ138bには、DC12Vが供給される。デジット線を駆動する第3ドライバ138cは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は12V又は5Vのいずれであってもよい。
12Vを出力する第2ドライバ138bによりセグメント線を介してLEDのアノード端子に電流を流し込み、接地電位を出力する第3ドライバ138cによりカソード端子よりセグメント線を介して電流を引き抜くことで、ダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて点灯される。外部情報信号を外部情報端子板71へ出力する第4ドライバ138dは、外部情報信号に12Vのレベルを与えるため、DC12Vが供給される。なお、バッファ133や第2出力ポート134、第1ドライバ138a等は、遊技制御装置100の出力部130、すなわち、主基板ではなく、中継基板70側に設けるようにしてもよい。
さらに、出力部130には、外部の検査装置500へ各遊技機の識別コードやプログラムなどの情報を送信するためのフォトカプラ139が設けられている。フォトカプラ139は、遊技用マイコン111が検査装置500との間でシリアル通信によってデータの送受信を行えるように双方通信可能に構成されている。なお、かかるデータの送受信は、通常の汎用マイクロプロセッサと同様に遊技用マイコン111が有するシリアル通信端子を利用して行われるため、入力ポート122,123,124のようなポートは設けられていない。
次に、図7を用いて、演出制御装置300の構成について説明する。
演出制御装置300は、遊技用マイコン111と同様にアミューズメントチップ(IC)からなる主制御用マイコン(CPU)311と、主制御用マイコン311からのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP(VideoDisplayProcessor)312と、各種のメロディや効果音などをスピーカ19a,19bから再生させるため音の出力を制御する音源LSI314を備えている。
上記主制御用マイコン311には、CPUが実行するプログラムや各種データを格納したPROM(プログラマブルリードオンリメモリ)からなるプログラムROM321、作業領域を提供するRAM322、停電時に電力が供給されなくとも記憶内容を保持可能なFeRAM323、現在の日時(年月日や曜日、時刻など)を示す情報を生成する計時手段をなすRTC(リアルタイムクロック)338が接続されている。なお、主制御用マイコン311の内部にも作業領域を提供するRAMが設けられている。また、主制御用マイコン311にはWDT(ウォッチドッグ・タイマ)回路324が接続されている。主制御用マイコン311は、遊技用マイコン111からのコマンドを解析し、演出内容を決定してVDP312へ出力映像の内容を指示したり、音源LSI314への再生音の指示、装飾ランプの点灯、モータやソレノイドの駆動制御、演出時間の管理などの処理を実行する。
VDP312には、作業領域を提供するRAM312aや、画像を拡大、縮小処理するためのスケーラ312bが設けられている。また、VDP312にはキャラクタ画像や映像データが記憶された画像ROM325や、画像ROM325から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なVRAM(ビデオRAM)326が接続されている。
特に限定されるわけではないが、主制御用マイコン311とVDP312との間は、パラレル方式でデータの送受信が行われるように構成されている。パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。
VDP312から主制御用マイコン311へは、表示装置41の映像とガラス枠15や遊技盤30に設けられている装飾ランプの点灯を同期させるための垂直同期信号VSYNC、データの送信タイミングを与える同期信号STSが入力される。なお、VDP312から主制御用マイコン311へは、VRAMへの描画の終了等処理状況を知らせるため割込み信号INT0〜n及び主制御用マイコン311からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号WAITなども入力される。
演出制御装置300には、LVDS(小振幅信号伝送)方式で表示装置41へ送信する映像信号を生成する信号変換回路313が設けられている。VDP312から信号変換回路313へは、映像データ、水平同期信号HSYNC及び垂直同期信号VSYNCが入力されるようになっており、VDP312で生成された映像は、信号変換回路313を介して表示装置41に表示される。
音源LSI314には音声データが記憶された音声ROM327が接続されている。主制御用マイコン311と音源LSI314は、アドレス/データバス340を介して接続されている。また、音源LSI314から主制御用マイコン311へは割込み信号INTが入力されるようになっている。演出制御装置に300には、ガラス枠15に設けられた上スピーカ19a及び前面枠12に設けられた下スピーカ19bを駆動するオーディオパワーアンプなどからなるアンプ回路337が設けられており、音源LSI314で生成された音声はアンプ回路337を介して上スピーカ19a及び下スピーカ19bから出力される。
また、演出制御装置300には、遊技制御装置100から送信されてくるコマンドを受信するインタフェースチップ(コマンドI/F)331が設けられている。このコマンドI/F331を介して、遊技制御装置100から演出制御装置300へ送信された飾り特図保留数コマンド、飾り特図コマンド、変動コマンド、停止情報コマンド等を、演出制御指令信号(演出コマンド)として受信する。遊技制御装置100の遊技用マイコン111はDC5Vで動作し、演出制御装置300の主制御用マイコン311はDC3.3Vで動作するため、コマンドI/F331には信号のレベル変換の機能が設けられている。
また、演出制御装置300には、遊技盤30(センターケース40を含む)に設けられているLED(発光ダイオード)を有する盤装飾装置46を駆動制御する盤装飾LED制御回路332、ガラス枠15に設けられているLED(発光ダイオード)を有する枠装飾装置(例えば、枠装飾装置18等)を駆動制御する枠装飾LED制御回路333、遊技盤30(センターケース40を含む)に設けられている盤演出装置44(例えば、表示装置41における演出表示と協働して演出効果を高める可動役物等)を駆動制御する盤演出可動体制御回路334が設けられている。ランプやモータ及びソレノイドなどを駆動制御するこれらの制御回路332〜334は、アドレス/データバス340を介して主制御用マイコン311と接続されている。なお、ガラス枠15にモータ(例えば、演出用の装置を動作させるモータ)等の駆動源を備えた枠演出装置を設け、この枠演出装置を駆動制御する枠演出可動体制御回路を備えていても良い。
さらに、演出制御装置300には、ガラス枠15に設けられた演出ボタン25に内蔵されている演出ボタンスイッチ25a、ガラス枠15に設けられたタッチパネル29、盤演出装置44内のモータの初期位置等を検出する演出役物スイッチ47(演出モータスイッチ)のオン/オフ状態を検出して主制御用マイコン311へ検出信号を入力する機能や、演出制御装置300に設けられた音量調節スイッチ335の状態を検出して主制御用マイコン311へ検出信号を入力するスイッチ入力回路336が設けられている。
電源装置400の通常電源部410は、上記のような構成を有する演出制御装置300やそれによって制御される電子部品に対して所望のレベルの直流電圧を供給するため、モータやソレノイドを駆動するためのDC32V、液晶パネルからなる表示装置41、モータやLEDを駆動するためのDC12V、コマンドI/F331の電源電圧となるDC5Vの他に、モータやLED、スピーカを駆動するためのDC15Vの電圧を生成するように構成されている。さらに、主制御用マイコン311として、3.3Vあるいは1.2Vのような低電圧で動作するLSIを使用する場合には、DC5Vに基づいてDC3.3VやDC1.2Vを生成するためのDC−DCコンバータが演出制御装置300に設けられる。なお、DC−DCコンバータは通常電源部410に設けるようにしてもよい。
電源装置400の制御信号生成部430により生成されたリセット信号は、主制御用マイコン311に供給され、当該デバイスをリセット状態にする。また、主制御用マイコン311から出力される形で、VDP312(VDPRESET信号)、音源LSI314、スピーカを駆動するアンプ回路337(SNDRESET信号)、ランプやモータなどを駆動制御する制御回路332〜334(IORESET信号)に供給され、これらをリセット状態にする。また、演出制御装置300には遊技機10の各所を冷却する冷却FAN45が接続され、演出制御装置300の電源が投入された状態では冷却FAN45が駆動するようにされている。
次に、これらの制御回路において行われる遊技制御について説明する。
遊技制御装置100の遊技用マイコン111のCPU111Aでは、普図始動ゲート34に備えられたゲートスイッチ34aからの遊技球の検出信号の入力に基づき、普図の当り判定用乱数値を抽出してROM111Bに記憶されている判定値と比較し、普図変動表示ゲームの当りはずれを判定する処理を行う。そして、普図表示器52に、識別図柄(識別情報)を所定時間変動表示した後、停止表示する普図変動表示ゲームを表示する処理を行う。この普図変動表示ゲームの結果が当りの場合は、普図表示器52に第1当り停止図柄〜第3当り停止図柄の各々に対応した特別の結果態様を表示するとともに、普電ソレノイド37cを動作させ、普通変動入賞装置37の可動部材37bを所定時間(例えば、0.5秒間又は1.7秒間)上述のように開放する制御を行う。すなわち、遊技制御装置100が、変換部材(可動部材37b)の変換制御を行う変換制御実行手段をなす。なお、普図変動表示ゲームの結果がはずれの場合は、普図表示器52にはずれの結果態様を表示する制御を行う。
また、第1始動入賞口36に備えられた始動口1スイッチ36aからの遊技球の検出信号の入力に基づき始動入賞(始動記憶)を記憶し、この始動記憶に基づき、第1特図変動表示ゲームの大当り判定用乱数値を抽出してROM111Bに記憶されている判定値と比較し、第1特図変動表示ゲームの当りはずれを判定する処理を行う。また、普通変動入賞装置37に備えられた始動口2スイッチ37aや第2始動入賞口97に備えられた始動口3スイッチ97aからの遊技球の検出信号の入力に基づき始動記憶を記憶し、この始動記憶に基づき、第2特図変動表示ゲームの大当り判定用乱数値を抽出してROM111Bに記憶されている判定値と比較し、第2特図変動表示ゲームの当りはずれを判定する処理を行う。
そして、遊技制御装置100のCPU111Aは、上記の第1特図変動表示ゲームや第2特図変動表示ゲームの判定結果を含む制御信号(演出制御コマンド)を、演出制御装置300に出力する。そして、特図1表示器51aや特図2表示器51bに、識別図柄(識別情報)を所定時間変動表示した後、停止表示する特図変動表示ゲームを表示する処理を行う。すなわち、遊技制御装置100が、遊技領域32を流下する遊技球の始動入賞領域(第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37)への入賞に基づき変動表示ゲームの進行制御を行う遊技制御手段をなす。
また、演出制御装置300では、遊技制御装置100からの制御信号に基づき、表示装置41で特図変動表示ゲームに対応した飾り特図変動表示ゲームを表示する処理を行う。さらに、演出制御装置300では、遊技制御装置100からの制御信号に基づき、演出状態の設定や、スピーカ19a,19bからの音の出力、各種LEDの発光を制御する処理等を行う。すなわち、演出制御装置300が、遊技(変動表示ゲーム等)に関する演出を制御する演出制御手段をなす。
そして、遊技制御装置100のCPU111Aは、特図変動表示ゲーム結果が大当りの場合は、特図1表示器51aや特図2表示器51bに特別結果態様を表示するとともに、特別遊技状態を発生させる処理を行う。特別遊技状態を発生させる処理においては、CPU111Aは、例えば、大入賞口ソレノイド38bにより特別変動入賞装置38の開閉扉38cを開放させ、大入賞口内への遊技球の流入を可能とする制御を行う。そして、大入賞口に所定個数(例えば、10個)の遊技球が入賞するか、大入賞口の開放から所定の開放可能時間が経過するかの何れかの条件が達成されるまで大入賞口を開放することを1ラウンドとし、これを所定ラウンド回数継続する(繰り返す)制御(サイクル遊技)を行う。すなわち、遊技制御装置100が、停止結果態様が特別結果態様となった場合に、大入賞口を開閉する制御を行う大入賞口開閉制御手段をなす。また、特図変動表示ゲームの結果がはずれの場合は、特図1表示器51aや特図2表示器51bにはずれの結果態様を表示する制御を行う。
また、遊技制御装置100は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として高確率状態を発生可能となっている。この高確率状態は、特図変動表示ゲームにて当り結果となる確率が、通常確率状態(低確率状態)に比べて高い状態である。また、第1特図変動表示ゲーム及び第2特図変動表示ゲームのどちらの特図変動表示ゲームの結果態様に基づき高確率状態となっても、第1特図変動表示ゲーム及び第2特図変動表示ゲームの両方が高確率状態となる。
また、遊技制御装置100は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として時短状態(特定遊技状態、普図高確率状態、普電サポート状態ともいう)を発生可能となっている。この時短状態においては、普図変動表示ゲームの当り結果となる確率(普図当り確率)を通常確率(普図低確率状態)である0よりも高い高確率(普図高確率状態)とすることが可能である。これにより、普通変動入賞装置37が普図低確率状態である場合よりも、単位時間あたりの普通変動入賞装置37の開放時間が多くなるように制御するようになっている。
なお、普図変動表示ゲーム及び普通変動入賞装置37を時短動作状態とする制御を行うよう適宜普図変動表示ゲームの実行時間、普図停止時間、普電開放回数、普電開放時間を設定しても良く、例えば、時短状態においては、上述の普図変動表示ゲームの実行時間(普図変動時間)を第1変動表示時間よりも短い第2変動表示時間となるように制御することが可能である(例えば、10000m秒が1000m秒)。また、時短状態においては、普図変動表示ゲームの結果を表示する普図停止時間を第1停止時間よりも短い第2停止時間となるように制御することが可能である(例えば、1604m秒が704m秒)。また、時短状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置37が開放される場合に、開放時間(普電開放時間)を通常状態(普図低確率状態)の第1開放時間よりも長い第2開放時間となるように制御することが可能である(例えば、100m秒が1352m秒)。また、時短状態においては、普図変動表示ゲームの1回の当り結果に対して、普通変動入賞装置37の開放回数(普電開放回数)を第1開放回数(例えば、2回)よりも多い回数(例えば、4回)の第2開放回数に設定することが可能である。また、時短状態においては、普図変動表示ゲームの当り結果となる確率(普図当り確率)を通常動作状態である場合の通常確率(普図低確率状態、例えば、0/251)よりも高い高確率(普図高確率状態、例えば、250/251)とすることが可能である。
時短状態においては、普図変動時間、普図停止時間、普電開放回数、普電開放時間、普図当り確率の何れか一つ又は複数を変化させることで普通変動入賞装置37を開状態に状態変換する時間を通常よりも延長するようにする。また、変化させるものが異なる複数種類の時短状態を設定することも可能である。また、当りとなった場合に第1開放態様と第2開放態様の何れかを選択するようにしても良い。この場合、第1開放態様と第2開放態様の選択確率を異ならせても良い。また、高確率状態と時短状態は、それぞれ独立して発生可能であり、両方を同時に発生することも可能であるし一方のみを発生させることも可能である。
以下、このような遊技を行う遊技機の制御について説明する。まず、上記遊技制御装置100の遊技用マイクロコンピュータ(遊技用マイコン)111によって実行される制御について説明する。遊技用マイコン111による制御処理は、主に図8及び図9に示すメイン処理と、所定時間周期(例えば、4m秒)で行われる図12に示すタイマ割込み処理とからなる。
〔メイン処理〕
先ず、メイン処理について説明する。メイン処理は、電源が投入されることで開始される。このメイン処理においては、図8及び図9に示すように、まず、割込みを禁止する処理(ステップS1)を行ってから、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理(ステップS2)を行う。次に、レジスタバンク0を指定し(ステップS3)、所定のレジスタ(例えば、Dレジスタ)にRAM先頭アドレスの上位アドレスをセットする(ステップS4)。本実施形態の場合、RAMのアドレスの範囲は0000h〜01FFhで、上位としては00hか01hをとり、ステップS4では先頭の00hをセットする。次に、発射停止の信号を出力して発射許可信号を禁止状態に設定する(ステップS5)。発射許可信号は遊技制御装置100と払出制御装置200の少なくとも一方が発射停止の信号を出力している場合に禁止状態に設定され、遊技球の発射が禁止されるようになっている。
その後、入力ポート1(第1入力ポート122)の状態を読み込み(ステップS6)、電源投入ディレイタイマを設定する処理を行う(ステップS7)。この処理では所定の初期値を設定することにより、主制御手段をなす遊技制御装置100からの指示に従い種々の制御を行う従制御手段(例えば、払出制御装置200や演出制御装置300)のプログラムが正常に起動するのを待つための待機時間(例えば、3秒)が設定される。これにより、電源投入の際に仮に遊技制御装置100が先に立ち上がって従制御装置(例えば、払出制御装置200や演出制御装置300)が立ち上がる前にコマンドを従制御装置へ送ってしまい、従制御装置がコマンドを取りこぼすのを回避することができる。すなわち、遊技制御装置100が、電源投入時において、主制御手段(遊技制御装置100)の起動を遅らせて従制御装置(払出制御装置200、演出制御装置300等)の起動を待つための所定の待機時間を設定する待機手段をなす。
また、電源投入ディレイタイマの計時は、RAMの正当性判定(チェックサム算出)の対象とならない記憶領域(正当性判定対象外のRAM領域又はレジスタ等)を用いて行われる。これにより、RAM領域のチェックサム等のチェックデータを算出する際に、一部のRAM領域を除外して算出する必要がないため電源投入時の制御が複雑になることを防止することができる。
なお、第1入力ポート122には初期化スイッチ信号が入力されるようになっており、待機時間の開始前に第1入力ポート122の状態を読み込むことで、初期化スイッチ112の操作を確実に検出できる。すなわち、待機時間の経過後に初期化スイッチ112の状態を読み込むようにすると、待機時間の経過を待ってから初期化スイッチ112を操作したり、電源投入から待機時間の経過まで初期化スイッチ112を操作し続けたりする必要がある。しかし、待機時間の開始前に状態を読み込むことで、このような煩わしい操作を行わなくても電源投入後すぐに操作を行うことで検出されるようになり、電源投入時に行った初期化の操作が受け付けられないような事態を防止できる。
電源投入ディレイタイマを設定する処理(ステップS7)を行った後、待機時間の計時と、待機時間中における停電の発生を監視する処理(ステップS8からS12)を行う。まず、電源装置400から入力されている停電監視信号をポート及びデータバスを介して読み込んでチェックする回数(例えば、2回)を設定し(ステップS8)、停電監視信号がオンであるかの判定を行う(ステップS9)。
停電監視信号がオンである場合(ステップS9;Y)は、ステップS8で設定したチェック回数分停電監視信号のオン状態が継続しているかを判定する(ステップS10)。そして、チェック回数分停電監視信号のオン状態が継続していない場合(ステップS10;N)は、停電監視信号がオンであるかの判定(ステップS9)に戻る。また、チェック回数分停電監視信号のオン状態が継続している場合(ステップS10;Y)、すなわち、停電が発生していると判定した場合は、遊技機の電源が遮断されるのを待つ。このように、所定期間に亘り停電監視信号を受信し続けた場合に停電が発生したと判定することで、ノイズなどにより停電を誤検知することを防止でき、電源投入時における不具合に適切に対処することができる。
すなわち、遊技制御装置100が、所定の待機時間において停電の発生を監視する停電監視手段をなす。これにより、主制御手段をなす遊技制御装置100の起動を遅らせている期間において発生した停電に対応することが可能となり、電源投入時における不具合に適切に対処することができる。なお、待機時間の終了まではRAMへのアクセスが許可されておらず、前回の電源遮断時の記憶内容が保持されたままとなっているため、ここでの停電発生時にはバックアップの処理等は行う必要がない。このため、待機時間中に停電が発生してもRAMのバックアップを取る必要がなく、制御の負担を軽減することができる。
一方、停電監視信号がオンでない場合(ステップS9;N)、すなわち、停電が発生していない場合には、電源投入ディレイタイマを−1更新し(ステップS11)、タイマの値が0であるかを判定する(ステップS12)。タイマの値が0でない場合(ステップS12;N)、すなわち、待機時間が終了していない場合は、停電監視信号のチェック回数を設定する処理(ステップS8)に戻る。また、タイマの値が0である場合(ステップS12;Y)、すなわち、待機時間が終了した場合は、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)のアクセス許可をし(ステップS13)、全出力ポートにオフデータを出力(出力が無い状態に設定)する(ステップS14)。
次に、シリアルポート(遊技用マイコン111に予め搭載されているポートで、この実施形態では、演出制御装置300や払出制御装置200との通信に使用)を設定し(ステップS15)、先に読み込んだ入力ポート1(第1入力ポート122)の状態から初期化スイッチがオンにされたかを判定する(ステップS16)。
初期化スイッチがオフである場合(ステップS16;N)は、RWM内の停電検査領域1の値が正常な停電検査領域チェックデータ1(例えば、5Ah)であるかを判定し(ステップS17)、正常であれば(ステップS17;Y)、RWM内の停電検査領域2の値が正常な停電検査領域チェックデータ2(例えば、A5h)であるかを判定する(ステップS18)。そして、停電検査領域2の値が正常であれば(ステップS18;Y)、RWM内の所定領域のチェックサムを算出するチェックサム算出処理を行い(ステップS19)、算出したチェックサムと電源断時のチェックサムが一致するかを判定する(ステップS20)。チェックサムが一致する場合(ステップS20;Y)は、図9のステップS21へ移行し、停電から正常に復旧した場合の処理を行う。
また、初期化スイッチがオンである場合(ステップS16;Y)と判定された場合や、停電検査領域の値が正常な停電検査領域チェックデータでないと判定された場合(ステップS17;NもしくはステップS18;N)、チェックサムが一致しないと判定された場合(ステップS20;N)は、図9のステップS26へ移行して初期化の処理を行う。すなわち、初期化スイッチが外部からの操作が可能な初期化操作部をなし、遊技制御装置100が、初期化操作部が操作されたことに基づきRAMに記憶されたデータを初期化する初期化手段をなす。
図9のステップS21では、初期化すべき領域に停電復旧時の初期値をセーブする(ステップS21)。ここでの初期化すべき領域とは、停電検査領域、チェックサム領域及びエラー不正監視に係る領域である。なお、払出制御装置200がコマンドを受付可能な状態か否かを示す信号である払出ビジー信号の状態を記憶するビジー信号ステータス領域もクリアされ、払出ビジー信号の状態を確定していないことを示す不定状態とされる。同様にタッチスイッチ信号の状態を記憶するタッチスイッチ信号状態監視領域もクリアされ、タッチスイッチ信号の状態を確定していないことを示す不定状態とされる。その後、RWM内の遊技状態を記憶する領域を調べて特図変動表示ゲームの確率状態が高確率状態であるか否かを判定する(ステップS22)。ここで、特図の高確率中でない場合(ステップS22;N)は、ステップS23,S24をスキップしてステップS25へ移行する。また、特図の高確率中である場合(ステップS22;Y)は、高確率報知フラグ領域にオン情報をセーブし(ステップS23)、遊技盤30に設けられる高確率報知LED(エラー表示器)のオン(点灯)データをセグメント領域にセーブする(ステップS24)。そして、後述の特図ゲーム処理を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御基板(演出制御装置300)へ送信し(ステップS25)、ステップS31へ進む。本実施形態の場合、ステップS25では、機種指定コマンド、特図1保留数コマンド、特図2保留数コマンド、確率情報コマンド、画面指定のコマンド(客待ち中なら客待ちデモ画面のコマンド、それ以外なら復旧画面のコマンド)等の複数のコマンドを送信する。
一方、ステップS16、S17、S18、S20からステップS26へジャンプした場合には、RAMアクセス禁止領域をアクセス許可に設定し(ステップS26)、ビジー信号ステータス領域やタッチスイッチ信号状態監視領域を含む全てのRAM領域を0クリアして(ステップS27)、RAMアクセス禁止領域をアクセス禁止に設定する(ステップS28)。そして、初期化すべき領域にRAM初期化時の初期値をセーブする(ステップS29)。ここでの初期化すべき領域とは、客待ちデモ領域及び演出モードの設定に係る領域である。そして、RAM初期化時のコマンドを演出制御基板(演出制御装置300)へ送信して(ステップS30)、ステップS31へ進む。本実施形態の場合、ステップS30では、機種指定コマンド、特図1保留数コマンド、特図2保留数コマンド、確率情報コマンド、RAM初期化のコマンド(客待ちデモ画面を表示させるとともに、所定時間(例えば、30秒間)光と音でRAM初期化の報知を行わせるためのコマンド)等の複数のコマンドを送信する。
ステップS31では、遊技用マイコン111(クロックジェネレータ)内のタイマ割込み信号及び乱数更新トリガ信号(CTC)を発生するCTC(Counter/TimerCircuit)回路を起動する処理を行う。なお、CTC回路は、遊技用マイコン111内のクロックジェネレータに設けられている。クロックジェネレータは、発振回路113からの発振信号(原クロック信号)を分周する分周回路と、分周された信号に基づいてCPU111Aに対して所定周期(例えば、4ミリ秒)のタイマ割込み信号及び乱数生成回路へ供給する乱数更新のトリガを与える信号CTCを発生するCTC回路とを備えている。
上記ステップS31のCTC起動処理の後は、乱数生成回路を起動設定する処理を行う(ステップS32)。具体的には、乱数生成回路内の所定のレジスタ(CTC更新許可レジスタ)へ乱数生成回路を起動させるためのコード(指定値)の設定などがCPU111Aによって行われる。また、乱数生成回路のハードウェアで生成されるハード乱数(ここでは大当り乱数)のビット転置パターンの設定も行われる。ビット転置パターンとは、抽出した乱数のビット配置(上段のビット転置前の配置)を、予め定められた順で入れ替えて異なるビット配置(下段のビット転置後の配置)として格納する際の入れ替え方を定めるパターンである。このビット転置パターンに従い乱数のビットを入れ替えることで、乱数の規則性を崩すことができるとともに、乱数の秘匿性を高めることができる。なお、ビット転置パターンは、固定された単一のパターンであっても良いし、予め用意された複数のパターンから選択するようにしても良い。また、ユーザーが任意に設定できるようにしても良い。
その後、電源投入時の乱数生成回路内の所定のレジスタ(ソフト乱数レジスタ1〜n)の値を抽出し、対応する各種初期値乱数(本実施形態の場合、特図の当り図柄を決定する乱数(大当り図柄乱数)、普図の当りを決定する乱数(当り乱数)、普図の当り図柄を決定する乱数(当り図柄乱数))の初期値(スタート値)としてRWMの所定領域にセーブしてから(ステップS33)、割込みを許可する(ステップS34)。本実施形態で使用するCPU111A内の乱数生成回路においては、電源投入毎にソフト乱数レジスタの初期値が変わるように構成されているため、この値を各種初期値乱数の初期値(スタート値)とすることで、ソフトウェアで生成される乱数の規則性を崩すことができ、遊技者による不正な乱数の取得を困難にすることができる。
続いて、各種初期値乱数の値を更新して乱数の規則性を崩すための初期値乱数更新処理(ステップS35)を行う。なお、特に限定されるわけではないが、本実施形態においては、大当り乱数、大当り図柄乱数、当り乱数、当り図柄乱数は乱数生成回路において生成される乱数を使用して生成するように構成されている。ただし、大当り乱数はCPUの動作クロックと同等以上の速度のクロックを基にして更新される所謂「高速カウンタ」であり、大当り図柄乱数、当り乱数、当り図柄乱数はプログラムの処理単位であるタイマ割込み処理と同周期となるCTC出力(タイマ割込み処理のCTC(CTC0)とは別のCTC(CTC2))を基にして更新される「低速カウンタ」である。また、大当り図柄乱数、当り乱数、当り図柄乱数においては、乱数が一巡する毎に各々の初期値乱数(ソフトウェアで生成)を用いてスタート値を変更する所謂「初期値変更方式」を採用している。なお、前記各乱数は、+1或いは−1によるカウンタ式更新でもよいし、一巡するまで範囲内の全ての値が重複なくバラバラに出現するランダム式更新でもよい。つまり、大当り乱数はハードウェアのみで更新される乱数であり、大当り図柄乱数、当り乱数、当り図柄乱数はハードウェア及びソフトウェアで更新される乱数である。
上記ステップS35の初期値乱数更新処理の後、電源装置400から入力されている停電監視信号をポート及びデータバスを介して読み込んでチェックする回数(例えば、2回)を設定し(ステップS36)、停電監視信号がオンであるかの判定を行う(ステップS37)。停電監視信号がオンでない場合(ステップS37;N)は、初期値乱数更新処理(ステップS35)に戻る。すなわち、停電が発生していない場合には、初期値乱数更新処理と停電監視信号のチェック(ループ処理)を繰り返し行う。初期値乱数更新処理(ステップS35)の前に割り込みを許可する(ステップS34)ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。
なお、上記ステップS35での初期値乱数更新処理は、メイン処理のほか、タイマ割込み処理の中においても初期値乱数更新処理を行う方法もあり、そのような方法を採用した場合には両方で初期値乱数更新処理が実行されるのを回避するため、メイン処理で初期値乱数更新処理を行う場合には割込みを禁止してから更新して割込みを解除する必要があるが、本実施形態のようにタイマ割込み処理の中での初期値乱数更新処理はせず、メイン処理内のみにした場合には初期値乱数更新処理の前に割込みを解除しても何ら問題はなく、それによってメイン処理が簡素化されるという利点がある。
停電監視信号がオンである場合(ステップS37;Y)は、ステップS36で設定したチェック回数分停電監視信号のオン状態が継続しているかを判定する(ステップS38)。そして、チェック回数分停電監視信号のオン状態が継続していない場合(ステップS38;N)は、停電監視信号がオンであるかの判定(ステップS37)に戻る。また、チェック回数分停電監視信号のオン状態が継続している場合(ステップS38;Y)、すなわち、停電が発生していると判定した場合は、一旦割込みを禁止する処理(ステップS39)、全出力ポートにオフデータを出力する処理(ステップS40)を行う。
その後、停電検査領域1に停電検査領域チェックデータ1をセーブし(ステップS41)、停電検査領域2に停電検査領域チェックデータ2をセーブする(ステップS42)。さらに、RWMの電源遮断時のチェックサムを算出するチェックサム算出処理(ステップS43)、算出したチェックサムをセーブする処理(ステップS44)を行った後、RWMへのアクセスを禁止する処理(ステップS45)を行ってから、遊技機の電源が遮断されるのを待つ。このように、停電検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
以上のことから、遊技を統括的に制御する主制御手段(遊技制御装置100)と、該主制御手段からの指示に従い種々の制御を行う従制御手段(払出制御装置200、演出制御装置300等)と、を備える遊技機において、主制御手段は、電源投入時において、当該主制御手段の起動を遅らせて従制御装置の起動を待つための所定の待機時間を設定する待機手段(遊技制御装置100)と、当該所定の待機時間において停電の発生を監視する停電監視手段(遊技制御装置100)と、を備えていることとなる。
また、各種装置に電力を供給する電源装置400を備え、当該電源装置400は、停電の発生を検出した際に停電監視信号を出力するように構成され、停電監視手段(遊技制御装置100)は、所定期間に亘り停電監視信号を受信し続けた場合に停電が発生したと判定するようにしていることとなる。
また、主制御手段(遊技制御装置100)は、データを記憶可能なRAM111Cと、外部からの操作が可能な初期化操作部(初期化スイッチ)と、初期化操作部が操作されたことに基づきRAM111Cに記憶されたデータを初期化する初期化手段(遊技制御装置100)と、を備え、当該初期化手段の操作状態を待機時間の開始前に読み込むようにしていることとなる。
また、主制御手段(遊技制御装置100)は、待機時間の経過後にRAM111Cへのアクセスを許可するようにしていることとなる。
〔チェックサム算出処理〕
図10には、上述のメイン処理におけるチェックサム算出処理(ステップS19,S43)を示した。このチェックサム算出処理では、まず、算出アドレスの開始値としてRWMの先頭アドレスを設定し(ステップS51)、繰り返し数を設定し(ステップS52)、算出値として「0」を設定する(ステップS53)。繰り返し数には使用しているRAMのバイト数が設定される。
その後、算出アドレスの内容に算出値を加算した値を新たな算出値とし(ステップS54)、算出アドレスを+1更新して(ステップS55)、繰り返し数を−1更新し(ステップS56)、チェックサムの算出が終了したかを判定する(ステップS57)。算出が終了していない場合(ステップS57;N)は、ステップS54へ戻って上記処理を繰り返す。また、算出が終了した場合(ステップS57;Y)は、チェックサム算出処理を終了する。
〔初期値乱数更新処理〕
図11には、上述のメイン処理における初期値乱数更新処理(ステップS35)を示した。この初期値乱数更新処理では、まず、大当り図柄初期値乱数を+1更新する(ステップS61)。そして、当り初期値乱数を+1更新し(ステップS62)、当り図柄初期値乱数を+1更新して(ステップS63)、初期値乱数更新処理を終了する。
ここで、「大当り図柄初期値乱数」は、特図変動表示ゲームの大当り停止図柄を決定する乱数の初期値となる乱数のことである。また、「当り初期値乱数」は、普図変動表示ゲームの当りを決定する乱数の初期値となる乱数、「当り図柄初期値乱数」は、普図変動表示ゲームの当り停止図柄を決定する乱数の初期値となる乱数のことである。このように、メイン処理の中で時間が許す限り初期値乱数をインクリメントし続けることによって、乱数のランダム性を高めることができるようにしている。
〔タイマ割込み処理〕
次に、タイマ割込み処理について説明する。図12に示すように、タイマ割込み処理は、クロックジェネレータ内のCTC回路で生成される周期的なタイマ割込み信号がCPU111Aに入力されることで開始される。遊技用マイコン111においてタイマ割込みが発生すると、自動的に割込み禁止状態になって、図12のタイマ割込み処理が開始される。
タイマ割込み処理が開始されると、まず、レジスタバンク1を指定する(ステップS101)。レジスタバンク1に切り替えたことで、所定のレジスタ(例えば、メイン処理で使っているレジスタ)に保持されている値をRWMに移すレジスタ退避の処理を行ったのと同等になる。次に、所定のレジスタ(例えば、Dレジスタ)にRAM先頭アドレスの上位アドレスをセットする(ステップS102)。ステップS102では、メイン処理におけるステップS4と同じ処理を行っているが、レジスタバンクが異なる。次に、各種センサやスイッチからの入力や、信号の取込み、すなわち、各入力ポートの状態を読み込む入力処理(ステップS103)を行う。それから、各種処理でセットされた出力データに基づき、ソレノイド(大入賞口ソレノイド38b、普電ソレノイド37c)等のアクチュエータの駆動制御などを行うための出力処理(ステップS104)を行う。
なお、メイン処理におけるステップS5で発射停止の信号を出力すると、この出力処理が行われることで発射許可の信号が出力され、発射許可信号を許可状態に設定可能な状態とされる。この発射許可信号は払出制御装置を経由して発射制御装置に出力される。その際、信号の加工等は行われない。また、当該発射許可信号は遊技制御装置から見た発射許可の状態を示す第1の信号であり、払出制御装置から見た発射許可の状態を示す第2の信号(発射許可信号)も払出制御装置内で生成され、発射制御装置に出力される。つまり、2つの発射許可信号が発射制御装置に出力されており、両者が共に発射許可となっている場合に、遊技球が発射可能な状態となるよう構成されている。
次に、各種処理で送信バッファにセットされたコマンドを払出制御装置200に出力する払出コマンド送信処理(ステップS105)、乱数更新処理1(ステップS106)、乱数更新処理2(ステップS107)を行う。その後、始動口1スイッチ36a、始動口2スイッチ37a、始動口3スイッチ97a、普図のゲートスイッチ34a、入賞口スイッチ35a、大入賞口スイッチ38aから正常な信号の入力があるか否かの監視や、エラーの監視(前面枠やガラス枠が開放されていないかなど)を行う入賞口スイッチ/状態監視処理(ステップS108)を行う。また、特図変動表示ゲームに関する処理を行う特図ゲーム処理(ステップS109)、普図変動表示ゲームに関する処理を行う普図ゲーム処理(ステップS110)を行う。
次に、遊技機10に設けられ、特図変動表示ゲームの表示や遊技に関する各種情報を表示するセグメントLEDを所望の内容を表示するように駆動するセグメントLED編集処理(ステップS111)、磁気センサ61からの検出信号をチェックして異常がないか判定する処理を行う磁石不正監視処理(ステップS112)、盤電波センサ62からの検出信号をチェックして異常がないか判定する処理を行う盤電波不正監視処理(ステップS113)を行う。それから、外部の各種装置に出力する信号を出力バッファにセットする外部情報編集処理(ステップS114)を行って、タイマ割込み処理を終了する。
ここで、本実施形態では、割込み禁止状態を復元する処理(すなわち、割込みを許可する処理)や、レジスタバンクの指定を復元する処理(すなわち、レジスタバンク0を指定する処理)は、割込みリターンの際(タイマ割込み処理の終了時)に自動的に行う。なお、使用するCPUによっては、割込み禁止状態を復元する処理やレジスタバンクの指定を復元する処理の実行を命令する必要がある遊技機もある。
〔入力処理〕
次に、上述のタイマ割込み処理における入力処理(ステップS103)の詳細について説明する。図13に示すように、入力処理においては、まず入力ポート1、すなわち、第1入力ポート122に取り込まれたスイッチの検出信号の状態を読み込む(ステップS121)。そして、8ビットのポート(入力ポート1)のうち未使用ビットがあればそのビットの状態をクリアし(ステップS122)、読み込まれた入力ポート1の状態をRWM内のスイッチ制御領域1にセーブ(格納)する(ステップS123)。
ここで、入力ポート1(第1入力ポート122)で監視するスイッチは、以下の通りである。
<1>ガラス枠開放検出スイッチ63(ビット0)
<2>本体枠開放検出スイッチ64(ビット1)
<3>RAM初期化スイッチ112(ビット2)(この処理では未使用扱い)
<4>停電監視信号(ビット3)(この処理では未使用扱い)
<5>払出異常ステータス信号(ビット4)
<6>シュート球切れスイッチ信号(ビット5)
<7>オーバーフロースイッチ信号(ビット6)
<8>タッチスイッチ信号(ビット7)
次に、入力ポート2、すなわち、第2入力ポート123のアドレスを準備して(ステップS124)、RWM内のスイッチ制御領域2のアドレスを準備する(ステップS125)。その後、8ビットのポート(入力ポート2)のうち未使用ビットがあればそのビットデータを準備し(ステップS126)、8ビットのポート(入力ポート2)のうち反転するビットがあればそのビットデータを準備して(ステップS127)、スイッチ読み込み処理(ステップS128)を行う。ここで、本実施形態において「準備」とは、レジスタに値をセットすることを意味するが、これに限らず、RWM、その他のメモリに値をセットするようにしてもよい。
ここで、入力ポート2(第2入力ポート123)で監視するスイッチは、以下の通りである。なお、入力ポート2で監視するスイッチには反転するビットは無い。
<1>始動口2スイッチ37a(ビット0)(パターン分岐により、「始動口2入賞信号」、「普通電動役物1入賞信号1」としても出力される。)
<2>始動口1スイッチ36a(ビット1)(「始動口1入賞信号」)
<3>左入賞口スイッチ(ビット2)(「普通入賞口1入賞信号」)
<4>右入賞口スイッチ(ビット3)(「普通入賞口2入賞信号」)
「左入賞口スイッチ」は、入賞装置90の左方に設けられた入賞口スイッチ35aであり、「右入賞口スイッチ」は、入賞装置90の右方に設けられた入賞口スイッチ35aである。
<5>ゲートスイッチ34a(ビット4)(「普通図柄1に係るゲート通過信号1」)
<6>大入賞口スイッチ38a(ビット5)(「特別電動役物1入賞信号1」)
<7>始動口3スイッチ97a(ビット6)(「始動口3入賞信号」)
<8>未使用(ビット7)(ゲートスイッチ予備として図示しない中継基板に回路接続され、常時オフ状態となるように中継基板上でGND接続(Low:0)固定されている。)
次に、入力ポート3、すなわち、第3入力ポート124のアドレスを準備して(ステップS129)、RWM内のスイッチ制御領域3のアドレスを準備する(ステップS130)。その後、8ビットのポート(入力ポート3)のうち未使用ビットがあればそのビットデータを準備し(ステップS131)、8ビットのポート(入力ポート3)のうち反転するビットがあればそのビットデータを準備して(ステップS132)、スイッチ読み込み処理(ステップS133)を行い、入力処理を終了する。
ここで、入力ポート3(第3入力ポート124)で監視するスイッチは、以下の通りである。
<1>盤電波センサ62(ビット0)(反転ビット)
<2>スイッチ異常検知信号(ビット1)
<3>磁気センサ61(ビット2)
<4>枠電波エラー信号(ビット3)
<5>払出ビジー信号(ビット4)
<6>未使用(ビット5〜7)
なお、未使用のビットデータや反転するビットデータは、入力ポート毎に準備されている。
したがって、ステップS126で準備する入力ポート2の未使用ビットデータと、ステップS131で準備する入力ポート3の未使用ビットデータとは、異なるデータであるが、結果として同じ値のデータである可能性もある。
また、ステップS127で準備する入力ポート2の反転するビットデータと、ステップS132で準備する入力ポート3の反転するビットデータとは、異なるデータであるが、結果として同じ値のデータである可能性もある。
〔スイッチ読み込み処理〕
次に、上述の入力処理におけるスイッチ読み込み処理(ステップS128,S133)の詳細について説明する。図14に示すように、スイッチ読み込み処理においては、まず、対象の入力ポートに取り込まれた信号の状態を読み込む(ステップS141)。そして、8ビットのポートのうち未使用ビットがあればそのビットの状態をクリアし(ステップS142)、反転の必要なビットを反転(ステップS143)した後、対象のスイッチ制御領域のポート入力状態にセーブ(格納)する(ステップS144)。その後、2回目の読み込みまでのディレイ時間(例えば、約100μ秒)が経過するのを待つ(ステップS145)。
ディレイ時間が経過すると、対象の入力ポートに取り込まれた信号の状態の2回目の読み込みを行う(ステップS146)。そして、8ビットのポートのうち未使用ビットがあればそのビットの状態をクリアし(ステップS147)、反転の必要なビットを反転(ステップS148)した後、対象のスイッチ制御領域のポート入力状態(1回目のデータ)をロードし、反転後データ(2回目のデータ)をセーブ(格納)する(ステップS149)。その後、1回目と2回目の読み込みで状態が同じビットを1、違うビットを0とした確定ビットパターンを作成し(ステップS150)、確定ビットパターンとポート入力状態(2回目のデータ)との論理積をとり、今回確定ビットとする(ステップS151)。
次に、1回目と2回目の読み込みで状態が同じビットを0、違うビットを1とした未確定ビットパターンを作成し(ステップS152)、未確定ビットパターンと前回割込み時の確定状態との論理積をとり、前回保持ビットとする(ステップS153)。これにより、スイッチのチャタリング等によるノイズを除去した信号の状態を得ることができる。そして、今回確定ビットと前回保持ビットを合成し、今回の確定状態としてセーブして(ステップS154)、前回と今回の確定状態との排他的論理和をとり、立上りエッジとしてセーブし(ステップS155)、スイッチ読み込み処理を終了する。
なお、スイッチの読み込みは、タイマ割込みの周期が短い場合(例えば、2m秒)には、各割込みの処理ごとにそれぞれ1回ずつスイッチの読み込みを行って前回の読み込みの結果と比較することで信号が変化したか否か判定する方法があるが、そのようにすると次の割込み処理までに前回の割込みで読み込んだスイッチの状態が失われた場合、正しい判定が行えないおそれがある。これに対し、本実施形態のように、所定の時間差をおいて1回の割込み処理の中で2回のスイッチ読み込み処理を行うことで、上記のような不具合を回避することが可能となる。
〔出力処理〕
次に、前述のタイマ割込み処理における出力処理(ステップS104)の詳細について説明する。図15に示すように、出力処理では、まず、一括表示装置(LED)50のセグメントのデータを出力する出力ポート135にオフデータを出力(リセット)する(ステップS161)。次に、普電ソレノイド37cや大入賞口ソレノイド38bのデータを出力する出力ポート134に出力するデータを合成し、出力する(ステップS162)。
そして、一括表示装置(LED)50のデジット線を順次スキャンするためのデジットカウンタの値を更新して(ステップS163)、デジットカウンタの値に対応するLEDのデジット線の出力データを取得する(ステップS164)。本実施形態の場合、デジットカウンタの値は0から3の範囲で+1更新される。次いで、取得したデータと外部情報データを合成して(ステップS165)、合成したデータ(例えば、「扉・枠開放」のデータ、「セキュリティ信号」のデータ)をデジット・外部情報出力用の出力ポート136に出力する(ステップS166)。
その後、デジットカウンタの値に対応するRWM内のセグメント領域からセグメント線の出力データをロードし(ステップS167)、ロードしたデータをセグメント出力用の出力ポート135に出力する(ステップS168)。本実施形態では、デジットカウンタの値が0の場合に、特図1表示器51aのデジット線及びセグメント線が選択され、デジットカウンタの値が1の場合に、特図2表示器51bのデジット線及びセグメント線が選択される。また、デジットカウンタの値が2の場合に、普図表示器52のデジット線及びセグメント線が選択され、デジットカウンタの値が3の場合に、特図1保留表示器53、特図2保留表示器54、普図保留表示器55、右打ち報知部56、時短状態報知部57、確率状態表示部58、及びラウンド表示部59のデジット線及びセグメント線が選択される。これにより、一括表示装置50に設けられた複数の発光表示部がダイナミック制御によって制御されることとなる。
続いて、外部情報の各種出力データを合成し(ステップS169)、合成したデータ(例えば、「大当り信号1」のデータ、「大当り信号2」のデータ、「大当り信号3」のデータ、「大当り信号4」のデータ、「図柄確定回数信号」のデータ、「始動口信号」のデータ、「メイン賞球信号」のデータ)と発射許可の出力データを合成して(ステップS170)、合成したデータを外部情報・発射許可信号出力用の出力ポート137へ出力する(ステップS171)。次に、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート1に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート1へ合成したデータを出力する(ステップS172)。その後、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート2に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート2へ合成したデータを出力する(ステップS173)。
次に、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート3に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート3へ合成したデータを出力する(ステップS174)。さらに、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート4に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート4へ合成したデータを出力する(ステップS175)。そして、試射試験装置への試験信号を出力する中継基板70上の試験端子出力ポート5に出力するデータをロードして合成し、中継基板70上の試験端子出力ポート5へ合成したデータを出力して(ステップS176)、出力処理を終了する。
なお、各デジット線に対応するセグメント線の出力データは、後述する処理においてRAM111C(RWM)内に設けられた各表示器用のセグメント領域に設定されるようになっている。具体的には、図25に示す特図ゲーム処理や図53に示す普図ゲーム処理における図柄変動制御処理(図51参照)や、図64に示すセグメントLED編集処理において設定される。
一回のタイマ割込み処理においてはこれらの処理の全てが行われるため、RAM111Cにはデジットカウンタの値にかかわらず全てセグメント線に対応する出力データがセグメント領域に設定される。そして、このように設定されたセグメント線の出力データのうち、今回のデジットカウンタの値に応じたセグメント線の出力データが選択されて使用されるようになっている。
また、上述したようにRAM111Cは遊技機への電力の供給が停止されても記憶されたデータを保持することができるようにされている。そして、RAM111Cにおいてセグメント線の出力データを記憶するセグメント領域やデジットカウンタの値を記憶する領域は、遊技機への電力の供給が停止した際に実行されるチェックサム算出処理においてチェックサムの算出対象となる領域に含まれている。よって、遊技機への電力の供給が再開された際に行われる正当性の判定の対象とされる。これにより、停電から正常に遊技機が復旧した場合には停電発生時の状態から一括表示装置50の表示を再開可能となる。
以上のことから、始動条件の成立に基づき、変動表示ゲームを実行する遊技機において、遊技を統括的に制御する遊技制御手段(遊技制御装置100)と、遊技制御手段に制御されて遊技に関する表示を行う表示装置(一括表示装置50)と、を備え、表示装置は、複数の発光表示部(特図1表示器51a、特図2表示器51b、普図表示器52、特図1保留表示器53、特図2保留表示器54、普図保留表示器55、右打ち報知部56、時短状態報知部57、確率状態表示部58、及びラウンド表示部59)を備え、遊技制御手段は、遊技機への電力の供給が停止された状態でもデータを保持可能な記憶手段(RAM111C)と、遊技機への電力の供給が開始された際に記憶手段に記憶されている所定のデータの正当性を判定する正当性判定手段(遊技制御装置100)と、を備え、正当性判定手段により正当性が確認された場合には記憶手段に記憶されていたデータに基づき遊技を再開するように構成され、所定間隔で実行されるタイマ割込みにおいて、複数の発光表示部のコモン線(デジット線)を選択するための情報であるデジットカウンタを更新し、デジットカウンタの値に応じたセグメントデータを表示装置に出力するダイナミック制御により複数の発光表示部の表示制御を行い、タイマ割込み処理では、デジットカウンタの値にかかわらず各コモン線に対応するセグメントデータの全てを生成して記憶手段に記憶し、当該記憶されたセグメントデータのうちからデジットカウンタの値に応じたセグメントデータのみを使用するように構成され、正当性判定手段が正当性の判定対象とする所定のデータには、少なくとも記憶手段に記憶された各コモン線に対応するセグメントデータの全てが含まれていることとなる。
したがって、正当性判定手段が正当性の判定対象とする所定のデータには、少なくとも記憶手段に記憶された各コモン線に対応するセグメントデータの全てが含まれるので、遊技機への電力の供給が開始された際に遊技機への電力の供給が停止された状態から遊技を開始でき、違和感のない変動表示ゲームの表示が可能となる。
また、遊技制御手段は、各々始動条件が異なる複数種類の変動表示ゲーム(第1特図変動表示ゲーム、第2特図変動表示ゲーム、普図変動表示ゲーム)を実行可能であり、表示装置は、複数種類の変動表示ゲームの各々に対応して、複数の発光部により構成される発光表示部を複数備え、当該複数の発光表示部はそれぞれ異なるコモン線に対応するものであることとなる。
したがって、複数種類の変動表示ゲームの何れであっても遊技機への電力の供給が開始された際に遊技機への電力の供給が停止された状態から遊技を開始でき、違和感のない変動表示ゲームの表示が可能となる。
〔払出コマンド送信処理〕
次に、前述のタイマ割込み処理における払出コマンド送信処理(ステップS105)の詳細について説明する。図16に示すように払出コマンド送信処理では、まず、入賞数カウンタ領域2にカウントがあるかをチェックする(ステップS181)。
入賞数カウンタ領域は遊技制御装置100のRAM111Cに設けられ、入賞数カウンタ領域1と入賞数カウンタ領域2が設けられている。入賞数カウンタ領域1は、払出制御装置200に対して賞球の払い出しを指示するための払出コマンド(賞球指令)を送信するために用いる領域であって、払出コマンドを未だ送信していない賞球に対応する入賞のデータが記憶される。すなわち、入賞数カウンタ領域1が、賞球指令に関する情報を記憶可能な賞球指令カウンタをなす。
入賞数カウンタ領域2は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に外部装置へ出力するメイン賞球信号を送信するために用いる領域であって、メイン賞球信号の生成処理を行っていない賞球に対応する入賞のデータが記憶される。すなわち、入賞数カウンタ領域2が、メイン賞球信号に関する情報を記憶可能なメイン賞球信号カウンタをなす。なお、外部装置には、このメイン賞球信号の他に、払出制御装置200からも実際に払い出した賞球数が所定数(ここでは10個)になる毎に払出賞球信号が出力されるようになっており、この二つの信号を照合することで、不正な払い出しを監視することが可能となっている。
これらの入賞数カウンタ領域にはそれぞれ、各入賞口に対して設定された賞球数別(本実施形態の場合、3個賞球、10個賞球、14個賞球)に入賞数カウンタ領域が設けられており、入賞口への入賞に基づき対応する入賞数カウンタ領域のカウント数が1加算されるようになっている。つまり、入賞領域への一の入賞を単位として当該入賞の情報を記憶可能とされている。なお、入賞数カウンタ領域1は入賞数カウンタ領域2よりも広い領域が割り当てられ、より多くの入賞のデータを記憶できるようにされている。これは、メイン賞球信号が送信先の状態に関係なく送信可能であるのに対し、払出コマンドが送信先である払出制御装置200の状態により送信を保留する場合もあり、より多くの未送信データが蓄積される可能性があるためである。
具体的には、本実施形態の場合、入賞数カウンタ領域1の3個賞球カウンタ領域、10個賞球カウンタ領域、及び14個賞球カウンタ領域には、それぞれ65535入賞まで記憶することができ、入賞数カウンタ領域2の3個賞球カウンタ領域、10個賞球カウンタ領域、及び14個賞球カウンタ領域には、それぞれ255入賞まで記憶することができるよう構成されている。
入賞数カウンタ領域2にカウントがあるかをチェックする処理(ステップS181)においては、賞球数別に設けられた複数の入賞数カウンタ領域のうち、チェック対象とされた入賞数カウンタ領域に「0」でないカウント数があるかを判定する。そして、カウント数がない場合(ステップS181;N)は、チェック対象となる入賞数カウンタ領域2のアドレスを更新し(ステップS182)、すべての入賞数カウンタ領域のカウント数のチェックが終了したかを判定する(ステップS183)。この判定で、すべてのチェックが終了した(ステップS183;Y)と判定すると、ステップS192に移行する。一方、すべてのチェックが終了していない(ステップS183;N)と判定すると、ステップS181へ戻って上記処理を繰り返す。本実施形態の場合、3個賞球カウンタ領域→10個賞球カウンタ領域→14個賞球カウンタ領域の順にチェック対象となる入賞数カウンタ領域2のアドレスを更新する。
また、上記ステップS181で、カウント数がある(ステップS181;Y)と判定した場合には、対象の入賞数カウンタ領域のカウント数を−1更新し(ステップS184)、対象の入賞数カウンタ領域2のアドレスに対応する払出数を取得する(ステップS185)。そして、賞球残数領域の値と取得した払出数を加算し(ステップS186)、加算結果を賞球残数領域にセーブする(ステップS187)。なお、この処理の前における賞球残数領域の値としては、メイン賞球信号の出力の基準となる所定数に満たなかった端数が記憶されている。
その後、加算結果から10を減算して(ステップS188)、減算結果が0以上かを判定し(ステップS189)、0以上でない場合(ステップS189;N)は、ステップS192の処理に移行する。また、0以上である場合(ステップS189;Y)は、メイン賞球信号出力回数領域の値を+1更新する(ステップS190)。すなわち、賞球残数が10個になる度に、メイン賞球信号の出力回数を+1更新する。
そして、減算結果を賞球残数領域にセーブして(ステップS191)、ステップS188の処理に戻る。これにより、ホールコンピュータなどの外部の装置にメイン賞球信号が出力されるようになる。すなわち、遊技制御装置100が、所定の入賞領域への遊技球の入賞に伴い払い出しが決定された賞球数に関する情報を含むメイン賞球信号を遊技機の外部に出力する外部情報出力手段をなす。なお、メイン賞球信号を出力するようにすることで、大当り中などの遊技球の払い出しが集中する場合に、遊技球の払い出しとともに賞球信号の出力が遅延して、大当り中に発生した正確な賞球数が計数することができないといった不具合を防止することができる。
ここで、ステップS181〜S191の処理は、メイン賞球信号の出力回数を更新する(増やす)処理であり、ステップS192〜S201の処理は、払出コマンドを送信する処理である。
ステップS192では、払出コマンド送信タイマが「0」でなければ−1更新し(ステップS192)、払出コマンド送信タイマが「0」になったかを判定する(ステップS193)。払出コマンド送信タイマが「0」でない場合(ステップS193;N)は、払出コマンド送信処理を終了する。また、払出コマンド送信タイマが「0」である場合(ステップS193;Y)は、払出ビジー信号フラグをチェックして、払出ビジー信号がビジー状態であるかを判定する(ステップS194)。
払出ビジー信号は払出制御装置200が払出制御を即座に開始可能な状態か否かを示す信号であって、払出制御を即座に開始可能でない場合には払出ビジー信号がオン状態(ビジー状態)とされる。つまり、払出ビジー信号は、払出コマンド(賞球指令)を受付可能な状態であるか否かを示す信号とも言える。すなわち、払出ビジー信号が、払出制御手段(払出制御装置200)が払出制御を開始可能であるか否を示す状態信号をなす。
この払出ビジー信号がビジー状態である場合(ステップS194;Y)は、払出コマンド送信処理を終了する。すなわち、本実施形態では、タイマ割込み毎に払出コマンドを送信するのではなく、所定時間が経過し(払出コマンド送信タイマの値が0になり)、且つ、払出制御装置200側が賞球を払い出せる状態である場合に、払出コマンドを送信するよう構成されている。このように払出制御装置200が払出制御を即座に開始可能でなく、払出コマンドを送信しない場合は、払出コマンドの送信に関する以降の処理を行わないようにすることで、無駄な処理を行うことを防止し制御の負担を軽減するようにしている。
払出ビジー信号がオン状態(ビジー状態)になる条件は、例えば、払出動作中、球貸し動作中、シュート球切れエラー中、オーバーフローエラー中、枠電波不正発生中、払出球検出スイッチ(払い出された球を監視するスイッチ)の異常中、払出不足エラー中、払出過剰エラー中、払出制御装置200のメモリ内に払い出すべき賞球数のカウント(未払い出しの賞球数=獲得遊技球数残)があるとき(=0でないとき)等である。
払出ビジー信号がビジー状態でない場合(ステップS194;N)は、入賞数カウンタ領域1にカウントがあるかをチェックする(ステップS195)。入賞数カウンタ領域1にカウントがあるかをチェックする処理(ステップS195)においては、賞球数別に設けられた複数の入賞数カウンタ領域のうち、チェック対象とされた入賞数カウンタ領域に「0」でないカウント数があるかを判定する。
そして、カウント数がない場合(ステップS195;N)は、チェック対象となる入賞数カウンタ領域1のアドレスを更新し(ステップS196)、すべての入賞数カウンタ領域のカウント数のチェックが終了したかを判定する(ステップS197)。この判定で、すべてのチェックが終了した(ステップS197;Y)と判定すると、払出コマンド送信処理を終了する。一方、すべてのチェックが終了していない(ステップS197;N)と判定すると、ステップS195へ戻って上記処理を繰り返す。本実施形態の場合、3個賞球カウンタ領域→10個賞球カウンタ領域→14個賞球カウンタ領域の順にチェック対象となる入賞数カウンタ領域1のアドレスを更新する。
また、上記ステップS195で、カウント数がある(ステップS195;Y)と判定した場合には、対象の入賞数カウンタ領域のカウント数を−1更新し(ステップS198)、対象の入賞数カウンタ領域1のアドレスに対応する払出数コマンドを取得する(ステップS199)。そして、取得した払出数コマンドを払出用シリアル送信バッファに書き込み(ステップS200)、払出コマンド送信タイマ領域に初期値をセーブして(ステップS201)、払出コマンド送信処理を終了する。払出コマンド送信タイマは送信間隔を管理するためのもので、初期値として、例えば200m秒が設定される。
これにより、入賞領域への一の入賞を単位とした払出コマンド(賞球指令)が生成され、払出制御装置200に送信されるようになる。払出制御装置200はこの払出コマンドに基づき所定数の賞球を払い出す制御を行う。すなわち、遊技制御装置100が、払出制御手段(払出制御装置200)から出力される当該払出制御手段が払出制御を開始可能であるか否を示す状態信号が払出制御を開始可能であることを示している場合に賞球指令を払出制御手段に送信する賞球指令送信手段をなす。
このように遊技制御装置100が、払出制御装置200から出力される状態信号に基づいて賞球指令を送信する制御を行うので、払出制御装置200が即座に払出制御を実行可能な場合にのみ賞球指令が送信されることとなる。これにより、未だ払い出しが行われていない入賞に対応するデータは遊技制御装置100側で保持されるようになるので停電発生時には遊技制御装置100でバックアップされるようになり、払出制御装置200にバックアップするための機能を備えなくとも正確な払出制御を実現できる。
従来の遊技機(例えば、特開2000−312759号公報の遊技機)では、何らかの原因により電源の遮断状態が発生した場合、払出制御装置200は自身の記憶手段にデータをバックアップし、電源遮断直前のデータによる払出制御状態を維持するようにしている。しかしながら、従来の遊技機では、バックアップするための機能が必要となるため、コストアップにつながるという問題があった。本発明によれば、払出制御装置200にバックアップするための機能を備えなくとも正確な払出制御を実現できるようにすることができる。
また、外部の装置に送信されるメイン賞球信号は払出ビジー信号の状態に関係なく出力されるので、遅滞なくメイン賞球信号を出力でき、ホールコンピュータなどの外部の装置では賞球の払い出しの時期を正確に把握でき、例えばベース値を正確に把握できるようになる。また、賞球指令に関する情報を記憶可能な賞球指令カウンタと、メイン賞球信号に関する情報を記憶可能なメイン賞球信号カウンタとを別々に備えるので、送信タイミングが異なる賞球指令とメイン賞球信号の情報を別々に管理でき、情報を確実に管理することができる。
以上のことから、統括的に遊技制御を行うとともに、遊技領域32に設けられた入賞領域(第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37、一般入賞口35、特別変動入賞装置38)への遊技球の入賞に基づいて賞球指令を送信する遊技制御手段(遊技制御装置100)と、遊技制御手段から送信される賞球指令に基づいて、遊技球の払出制御を行う払出制御手段(払出制御装置200)と、を備え、遊技制御手段は、払出制御手段から出力される当該払出制御手段が払出制御を開始可能であるか否を示す状態信号(ビジー信号)に基づいて賞球指令を払出制御手段に送信する制御を行い、停電が発生し該停電から復帰した場合には、払出制御手段から払出制御を開始可能であることを示す状態信号が出力されていたとしても、直ちに賞球指令を払出制御手段に送信せず、払出制御手段から払出制御を開始可能であることを示す状態信号が所定期間に亘って継続して出力されたことに対応して賞球指令を払出制御手段に送信するようにしていることとなる。
また、遊技領域32に賞球数の異なる入賞領域(第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37、一般入賞口35、特別変動入賞装置38)を複数設け、遊技制御手段(遊技制御装置100)は、賞球数毎に、遊技球の払出制御を指示する賞球指令の未送信の有無を特定可能な賞球指令カウンタ(遊技制御装置100)を備え、状態信号が払出制御を開始可能であることを示し、かつ、各賞球指令カウンタに未送信の賞球指令がある場合に、賞球指令を払出制御手段(払出制御装置200)に送信するようにし、状態信号が当該払出制御手段が払出制御を開始可能であるか否かの特定を、各賞球指令カウンタに未送信の賞球指令があるか否かの特定よりも先に行うようにしていることとなる。
また、統括的に遊技制御を行うとともに、所定の入賞領域(第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37、一般入賞口35、特別変動入賞装置38)への遊技球の入賞に基づいて賞球指令を送信する遊技制御手段(遊技制御装置100)と、遊技制御手段から送信される賞球指令に基づいて、遊技球の払出制御を行う払出制御手段(払出制御装置200)と、を備え、遊技制御手段は、払出制御手段から出力される当該払出制御手段が払出制御を開始可能であるか否を示す状態信号が払出制御を開始可能であることを示している場合に賞球指令を払出制御手段に送信する賞球指令送信手段(遊技制御装置100)と、所定の入賞領域への遊技球の入賞に伴い払い出しが決定された賞球数に関する情報を含む賞球信号(メイン賞球信号)を遊技機の外部に出力する外部情報出力手段(遊技制御装置100)と、を備え、外部情報出力手段は、払出制御手段から出力される状態信号が、払出制御手段が払出制御を開始可能であるか否かに関係なく賞球信号の出力を行うようにしたこととなる。
また、賞球指令送信手段(遊技制御装置100)は、停電が発生し該停電から復帰した場合には、状態信号が払出制御を開始可能であることを示していたとしても、直ちに賞球指令を払出制御手段(払出制御装置200)に送信せず、状態信号が払出制御を開始可能であることを示している状態が所定期間に亘って継続していることに対応して賞球指令を払出制御手段に送信するようにしたこととなる。
また、遊技制御手段(遊技制御装置100)は、賞球指令に関する情報を記憶可能な賞球指令カウンタ(遊技制御装置100)と、賞球信号(メイン賞球信号)に関する情報を記憶可能な賞球信号カウンタ(遊技制御装置100)と、を備え、賞球指令送信手段(遊技制御装置100)は、所定の入賞領域(第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37、一般入賞口35、特別変動入賞装置38)への一の入賞を単位として賞球指令を生成し、状態信号が払出制御を開始可能であることを示している場合に一の賞球指令を払出制御手段(払出制御装置200)に送信するように構成され、賞球指令カウンタ(遊技制御装置100)は、所定の入賞領域への一の入賞を単位として当該入賞の情報を記憶可能であり、所定の入賞領域への遊技球の入賞時に更新を行うとともに、払出制御手段への賞球指令への送信に対応させて更新を行うことで、送信していない賞球指令の数を記憶可能とし、外部情報出力手段は、所定の入賞領域への遊技球の入賞に伴い払い出しが決定された賞球数を累積し、累積値が所定数に達する毎に賞球信号を遊技機の外部に出力するように構成され、賞球信号カウンタは、所定の入賞領域への一の入賞を単位として当該入賞の情報を記憶可能であり、所定の入賞領域への遊技球の入賞時に更新を行うとともに、外部情報出力手段による賞球数の累積処理に対応させて更新を行うことで、未だ累積処理を行っていない賞球数を記憶可能であることとなる。
〔乱数更新処理1〕
図17には、タイマ割込み処理における乱数更新処理1(ステップS106)を示した。乱数更新処理1は、初期値乱数更新処理の対象となっている大当り図柄乱数、当り乱数、当り図柄乱数の初期値(スタート値)を更新するための処理である。この乱数更新処理1では、まず、大当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS211)。
大当り図柄乱数が初期値設定待ちでない場合(ステップS211;N)は、普図の当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS214)。また、大当り図柄乱数が初期値設定待ちである場合(ステップS211;Y)は、次回初期値として大当り図柄初期値乱数をロードし(ステップS212)、ロードした大当り図柄乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定して(ステップS213)、普図の当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS214)。
普図の当り乱数が初期値設定待ちでない場合(ステップS214;N)は、普図の当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS217)。また、普図の当り乱数が初期値設定待ちである場合(ステップS214;Y)は、次回初期値として当り初期値乱数をロードし(ステップS215)、ロードした普図の当り乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定して(ステップS216)、普図の当り図柄乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS217)。
普図の当り図柄乱数が初期値設定待ちでない場合(ステップS217;N)は、乱数更新処理1を終了する。また、普図の当り図柄乱数が初期値設定待ちである場合(ステップS217;Y)は、次回初期値として当り図柄初期値乱数をロードし(ステップS218)、ロードした普図の当り図柄乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定して(ステップS219)、乱数更新処理1を終了する。
〔乱数更新処理2〕
図18には、タイマ割込み処理における乱数更新処理2(ステップS107)を示した。乱数更新処理2は、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する処理である。なお、本実施形態の遊技機では、変動パターン乱数として1バイトの乱数(変動パターン乱数2、3)と、2バイトの乱数(変動パターン乱数1)があり、乱数更新処理2は両方を更新対象とし、割込みが発生するごとに更新対象を切り替えて処理する。しかも、更新対象の乱数が2バイトの場合には、上位のバイトと下位のバイトに対して異なる割込み時に更新処理を行うようになっている。すなわち、メイン処理に対する一の割込み処理において実行される乱数更新処理2による2バイトの変動パターン乱数1(リーチ変動態様決定用乱数)の更新は、上位1バイト若しくは下位1バイトの何れかについて実行されるように構成されている。
この乱数更新処理2では、まず、更新すべき複数の乱数のうちいずれの乱数を今回の更新処理の対象とするかを順番に指定するための乱数更新スキャンカウンタを更新する(ステップS231)。本実施形態の場合、乱数更新スキャンカウンタの値は0から3の範囲で更新される。そして、乱数更新スキャンカウンタの値が「0」のときは変動パターン乱数1(上位)が更新され、「1」のときは変動パターン乱数1(下位)が更新され、「2」のときは変動パターン乱数2が更新され、「3」のときは変動パターン乱数3が更新される。次に、乱数更新スキャンカウンタの値に対応する演出乱数更新テーブルのアドレスを算出する(ステップS232)。
次いで、算出されたアドレスに基づいて参照したテーブルから乱数の上限判定値を取得する(ステップS234)。このとき参照するテーブルには、乱数の種類ごとに上限判定値、すなわち、乱数が一巡したか否かを判定するための値が格納されている。
続いて、例えば本実施形態において遊技用マイコンとして使用しているCPUには、DRAMのリフレッシュ等のため使用されるリフレッシュレジスタ(以下、「Rレジスタ」と称する)が設けられておらず、その代わりに、Rレジスタと同等の動作をする「M1カウンタ」というカウンタを内蔵しているが、そのM1カウンタの値をロードする(ステップS234)。M1カウンタの値を使用することで、乱数にランダム性を付与することができる。次に、M1カウンタの値をマスクするためのマスク値を取得し、M1カウンタの値をマスクする(ステップS235)。なお、マスク値は、更新対象の乱数によって異なるビット数、例えば、変動パターン乱数1の下位1バイトを更新する場合には、M1カウンタの下位3ビットに、また、変動パターン乱数1の上位1バイトを更新する場合には、M1カウンタの下位4ビットに設定されている。乱数の種類によって上限値が異なるためである。なお、マスク値として、変動パターン乱数1の下位1バイトを更新する場合には、M1カウンタの下位3ビットを、また、変動パターン乱数1の上位1バイトを更新する場合には、M1カウンタの下位4ビットを例示したが、数値は一例であってこれに限られるものではない。
次に、更新する乱数領域(乱数カウンタ)が2バイト乱数の上位1バイトであるかを判定する(ステップS236)。そして、乱数領域が2バイト乱数の上位1バイトである場合(ステップS236;Y)は、加算値として、上位1バイトをマスク値によってM1カウンタの値をマスクすることによって残った値(以下、これを「マスクした値」と称する)に「1」を加算したマスク更新値に設定し、下位1バイトを「0」に設定して(ステップS237)、ステップS239に進む。また、乱数領域が2バイト乱数の上位1バイトでない場合(ステップS236;N)は、加算値として、上位1バイトを「0」に設定し、下位1バイトを上記マスク更新値に設定して(ステップS238)、ステップS239に進む。なお、マスクした値に「1」を加算するのは、マスクした値が「0」になる場合があり、「0」を後に加算すると加算する前の値から変化しないので、それを避けるためである。
そして、更新する乱数領域が2バイト乱数かを判定し(ステップS239)、2バイト乱数である場合(ステップS239;Y)は、更新する乱数領域の値(2バイト)を設定して(ステップS240)、ステップS242に進む。また、更新する乱数領域が2バイト乱数でない場合(ステップS239;N)は、乱数値の上位1バイトとして「0」を設定し、乱数値の下位1バイトとして、更新する乱数領域の値(1バイト)を設定し(ステップS241)、ステップS242へ進む。
ステップS242では、乱数値にステップS237又はS238で決定した加算値を加算した値を新たな乱数値とし、この新たな乱数値がステップS233で取得した上限判定値よりも大きいかを判定する(ステップS243)。そして、新たな乱数値が上限判定値より大きくない場合(ステップS243;N)は、新たな乱数値を1バイト乱数又は2バイト乱数の下位の乱数領域にセーブする(ステップS245)。また、新たな乱数値が上限判定値より大きい場合(ステップS243;Y)は、新たな乱数値から上限判定値を減算した値を再度の新たな乱数値とし(ステップS244)、この値を1バイト乱数又は2バイト乱数の下位の乱数領域にセーブする(ステップS245)。
次に、更新した乱数領域が2バイト乱数であるかを判定し(ステップS246)、2バイト乱数でない場合(ステップS246;N)は、乱数更新処理2を終了する。また、2バイト乱数である場合(ステップS246;Y)は、新たな乱数値(再度の新たな乱数値を算出した場合はその値)を2バイト乱数の上位の乱数領域にセーブし(ステップS247)、乱数更新処理2を終了する。
本実施形態の場合、演出乱数更新テーブル上に、上限判定値や、M1カウンタのマスク値、更新する乱数領域の種別情報(1バイト乱数、2バイト乱数(上位)、2バイト乱数(下位))、更新領域のアドレスなどが、更新する乱数の種類分(4ブロック)定義されている。
このように、CPU111Aは、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する。従って、CPU111Aは、第1始動入賞口36や第2始動入賞口97や普通変動入賞装置37の始動領域への遊技球の流入に基づいて抽出される各種乱数のうち、特図変動表示ゲームの変動態様(変動パターン)を決定するための変動パターン乱数を更新する乱数更新手段をなす。
〔入賞口スイッチ/状態監視処理〕
図19には、タイマ割込み処理における入賞口スイッチ/状態監視処理(ステップS108)を示した。この入賞口スイッチ/状態監視処理では、まず、大入賞口(特別変動入賞装置38)内の一方の大入賞口スイッチ38aに対応する入賞口監視テーブル1を準備し(ステップS301)、大入賞口が開いていないにもかかわらず大入賞口に不正な入賞がないか監視するとともに正常な入賞を検出する不正&入賞監視処理(ステップS302)を実行する。
その後、大入賞口(特別変動入賞装置38)内の他方の大入賞口スイッチ38aに対応する入賞口監視テーブル2を準備し(ステップS303)、不正な入賞がないか監視するとともに正常な入賞を検出する不正&入賞監視処理(ステップS304)を実行する。
入賞口監視テーブルには、対象のスイッチに入力があるかを判定するデータの位置を示す監視スイッチビット、不正監視情報の下位アドレス、不正入賞数領域の下位アドレス、不正入賞エラー報知コマンド、不正入賞数上限値(不正発生判定個数)、入賞口スイッチテーブルのアドレス、報知タイマ更新情報(許可/更新)の情報が定義されている。また、入賞口監視テーブルのうちの入賞テーブルには、監視の繰り返し回数(スイッチの数)に加えて、各スイッチ毎に、監視スイッチビット、入賞数カウンタ領域1の下位アドレス、入賞数カウンタ領域2の下位アドレスの情報が定義されている。入賞口監視テーブルは、監視対象のスイッチのそれぞれに応じたものが用意されている。
次に、普電内の入賞口スイッチ(始動口2スイッチ37a)の入賞口監視テーブルを準備し(ステップS305)、不正な入賞がないか監視するとともに正常な入賞を検出する不正&入賞監視処理(ステップS306)を実行する。そして、常時入賞可能(不正監視処理が不要)な入賞口スイッチ(例えば、始動口1スイッチ36a、始動口3スイッチ97a、一般入賞口35の入賞口スイッチ35a(左入賞口スイッチ、右入賞口スイッチ))の入賞口監視テーブルを準備し(ステップS307)、入賞数を更新する入賞数カウンタ更新処理(ステップS308)を行って、始動口エラー監視処理(ステップS309)を行う。
次に、状態を監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するための状態スキャンカウンタを更新する(ステップS310)。本実施形態の場合、状態スキャンカウンタは0から3の範囲で更新される。その後、状態スキャンカウンタの値に応じて、監視する状態を設定するための遊技機状態監視テーブル1を準備する(ステップS311)。そして、エラーが発生しているかなどの状態を判定する遊技機状態チェック処理(ステップS312)を行う。
本実施形態の場合、状態スキャンカウンタの値を遊技機状態監視テーブル1に参照することで、状態スキャンカウンタの値が「0」である場合はスイッチのコネクタ抜けなどの発生により出力されるスイッチ異常1信号に基づく状態の監視が設定され、状態スキャンカウンタの値が「1」である場合は払出制御装置200からのシュート球切れスイッチ信号に基づく状態の監視が設定される。状態スキャンカウンタの値が「2」である場合はオーバーフロースイッチ信号に基づく状態の監視が設定され、状態スキャンカウンタの値が「3」である場合は払出異常ステータス信号に基づく状態の監視が設定される。
次に、状態スキャンカウンタの値に応じて、監視する状態を設定するための遊技機状態監視テーブル2を準備する(ステップS313)。そして、エラーが発生しているかなどの状態を判定する遊技機状態チェック処理(ステップS314)を行う。
本実施形態の場合、状態スキャンカウンタの値を遊技機状態監視テーブル2に参照することで、状態スキャンカウンタの値が「0」である場合はガラス枠開放検出スイッチ63から出力される信号に基づく状態の監視が設定され、状態スキャンカウンタの値が「1」である場合は本体枠開放検出スイッチ64から出力される信号に基づく状態の監視が設定される。また、状態スキャンカウンタの値が「2」である場合は枠電波不正信号に基づく状態の監視が設定され、状態スキャンカウンタの値が「3」である場合はタッチスイッチ信号に基づく状態の監視が設定される。
次に、状態スキャンカウンタの値が「0」であるかを判定し(ステップS315)、エラースキャンカウンタの値が「0」でない場合(ステップS315;N)は、入賞口スイッチ/状態監視処理を終了する。この場合は、次に参照する遊技機状態監視テーブル3に状態の監視対象がない場合である。また、エラースキャンカウンタの値が「0」である場合(ステップS315;Y)は、遊技機状態監視テーブル3を準備し(ステップS316)、エラーが発生しているかなどの状態を判定する遊技機状態チェック処理(ステップS317)を行う。
本実施形態の場合、状態スキャンカウンタの値を遊技機状態監視テーブル3に参照することで、状態スキャンカウンタの値が「0」である場合はスイッチのコネクタ抜けなどの発生により出力されるスイッチ異常2信号に基づく状態の監視が設定される。なお、遊技機状態監視テーブル3には状態スキャンカウンタが「1」から「3」の場合は定義されていない。
その後、払出制御装置200が払出制御を開始可能であるかを示す払出ビジー信号をチェックする払出ビジー信号チェック処理(ステップS318)を行って、入賞口スイッチ/状態監視処理を終了する。なお、ステップS316からS318の処理は、タイマ割込み毎に更新される状態スキャンカウンタの値が「0」の場合のみ実行されるため、4回のタイマ割込みに1回の割合で実行されることとなる。すなわち、タイマ割込みが4m秒毎に行われる場合は、16m秒毎にステップS316からS318の処理が行われることとなる。
〔不正&入賞監視処理〕
図20には、上述の入賞口スイッチ/状態監視処理における不正&入賞監視処理(ステップS302,S304,S306)を示した。この不正&入賞監視処理は、特別変動入賞装置38の二つの大入賞口スイッチ38aの各々及び普通変動入賞装置37の始動口2スイッチ37aに対して行われる処理である。大入賞口(特別変動入賞装置38)や普電(普通変動入賞装置37)については、無理やり開閉部材を開いて遊技球を入れて賞球を払い出させる不正が行われ易いため、入賞の検出の他に不正の監視をする。
この不正&入賞監視処理においては、まず、エラー監視対象の入賞口スイッチの不正監視期間フラグをチェックし(ステップS321)、不正監視期間中であるかを判定する(ステップS322)。不正監視期間とは、エラー監視対象の入賞口スイッチが大入賞口スイッチ38aである場合は特別変動入賞装置38を開放する特別遊技状態中以外の期間であり、エラー監視対象の入賞口スイッチが始動口2スイッチ37aである場合は普図の当りに基づき普通変動入賞装置37の開放制御を実行している状態以外の期間である。
そして、不正監視期間である場合(ステップS322;Y)は、対象の入賞口スイッチに入力があるかを判定する(ステップS323)。対象の入賞口スイッチに入力がない場合(ステップS323;N)は、対象の報知タイマ更新情報をロードする(ステップS332)。また、対象の入賞口スイッチに入力がある場合(ステップS323;Y)は、対象の不正入賞数を+1更新し(ステップS324)、更新後の不正入賞数が監視対象の不正発生判定個数以上であるかを判定する(ステップS325)。
本実施形態の場合、エラー監視対象の入賞口スイッチの種類にかかわらず、不正発生判定個数を5個に設定しているが、不正発生個数は、入賞口スイッチの種類毎に異なる個数を定義することもできる。
判定個数を5個としているのは、例えば、開状態にある大入賞口が閉状態に変換した際に遊技球が大入賞口の扉部材に挟まり、その遊技球が大入賞口スイッチの有効期間を過ぎて入賞した場合や信号にノイズがのった場合にそれを不正と判断しないようにするためであり、不正でないのに簡単にエラーと判定しないためである。
そして、不正入賞数が監視対象の不正発生判定個数以上でない場合(ステップS325;N)は、対象の入賞口スイッチの入賞口監視テーブルを準備する(ステップS330)。入賞口スイッチ/状態監視処理にて準備された入賞口監視テーブル(不正監視テーブル)には、対象のスイッチに入力があるかを判定するデータの位置を示す監視スイッチビット、不正監視情報の下位アドレス、不正入賞数領域の下位アドレス、不正入賞エラー報知コマンド、不正入賞数上限値(不正発生判定個数)、入賞口スイッチテーブルのアドレス、報知タイマ更新情報(許可/更新)の情報が定義されている。
また、不正入賞数が監視対象の不正発生判定個数以上である場合(ステップS325;Y)は、不正入賞数を不正発生判定個数に留め(ステップS326)、対象の不正入賞報知タイマ領域に初期値(例えば、60000m秒)をセーブする(ステップS327)。次に、対象の不正発生コマンドを準備し(ステップS328)、不正フラグとして不正入賞発生フラグを準備して(ステップS329)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS340)。
一方、不正監視期間中でない場合(ステップS322;N)は、対象の入賞口スイッチの入賞口監視テーブルを準備し(ステップS330)、賞球の設定を行う入賞数カウンタ更新処理(ステップS331)を行う。そして、対象の報知タイマ更新情報をロードし(ステップS332)、報知タイマの更新許可の有無を判定する(ステップS333)。そして、報知タイマの更新が許可されない場合(ステップS333;N)は、不正&入賞監視処理を終了する。また、報知タイマの更新が許可される場合(ステップS333;Y)は、対象の報知タイマが0でなければ−1更新する(ステップS334)。なお、報知タイマの最小値は0に設定されている。
報知タイマの更新は、エラー監視対象の入賞口スイッチが一方の大入賞口スイッチ38aである場合は許可され、エラー監視対象の入賞口スイッチが他方の大入賞口スイッチ38aである場合は許可されない。これにより、特別変動入賞装置38についての不正報知について、報知タイマの更新が倍の頻度で行われてしまい、規定時間(例えば、60000m秒)の半分でタイムアップしてしまうことを防止している。なお、エラー監視対象の入賞口スイッチが始動口2スイッチ37aである場合は報知タイマの更新は常に許可される。
その後、報知タイマの値が0であるかを判定し(ステップS335)、値が0でない場合(ステップS335;N)、すなわちタイムアップしていない場合は、不正&入賞監視処理を終了する。また、値が0である場合(ステップS335;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合は、対象の不正解除コマンドを準備し(ステップS336)、不正フラグとして不正入賞解除フラグを準備する(ステップS337)。そして、報知タイマの値が0になった瞬間であるかを判定する(ステップS338)。
報知タイマの値が0になった瞬間である場合(ステップS338;Y)、すなわち今回の不正&入賞監視処理で報知タイマの値が0になった場合は、対象の不正入賞数をクリアし(ステップS339)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS340)。また、報知タイマの値が0になった瞬間でない場合(ステップS338;N)、すなわち前回以前の不正&入賞監視処理で報知タイマの値が0になった場合は、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS340)。
そして、準備した不正フラグと対象の不正フラグ領域の値が一致した場合(ステップS340;Y)は、不正&入賞監視処理を終了する。また、準備した不正フラグと対象の不正フラグ領域の値が一致しない場合(ステップS340;N)は、準備した不正フラグを対象の不正フラグ領域にセーブし(ステップS341)、演出コマンド設定処理を行い(ステップS342)、不正&入賞監視処理を終了する。以上の処理により、エラーの発生に伴いエラー報知コマンドが演出制御装置300に送信され、エラーの解除に伴い不正入賞エラー解除コマンドが演出制御装置300に送信されて、エラー報知の開始、終了が設定されることとなる。
〔入賞数カウンタ更新処理〕
図21には、上述の入賞口スイッチ/状態監視処理及び不正&入賞監視処理における入賞数カウンタ更新処理(ステップS308,S331)を示した。この入賞数カウンタ更新処理においては、まず、入賞口監視テーブルから監視する入賞口スイッチの個数を取得し(ステップS351)、対象の入賞口スイッチに入力(正確には入力の変化)があるかを判定する(ステップS352)。入賞口スイッチ/状態監視処理にて準備された入賞口監視テーブル(不正監視テーブル)のうちの入賞テーブルには、監視の繰り返し回数(スイッチの数)に加えて、スイッチ毎に、監視スイッチビット、入賞数カウンタ領域1の下位アドレス、入賞数カウンタ領域2の下位アドレスの情報が定義されている。
対象の入賞口スイッチに入力がない場合(ステップS352;N)は、テーブルアドレスを次レコードのアドレスに更新して(ステップS361)、全スイッチの監視が終了したかを判定する(ステップS362)。また、対象の入賞口スイッチに入力がある場合(ステップS352;Y)は、対象の入賞数カウンタ領域1の値をロードし(ステップS353)、ロードした値を+1更新して(ステップS354)、オーバーフローするか判定する(ステップS355)。そして、オーバーフローが発生していない場合(ステップS355;N)は、更新後の値を入賞数カウンタ領域1にセーブし(ステップS356)、対象の入賞数カウンタ領域2の値をロードする(ステップS357)。また、オーバーフローが発生した場合(ステップS355;Y)は、対象の入賞数カウンタ領域2の値をロードする(ステップS357)。本実施形態の場合、ステップS354では、賞球(払出コマンド送信)のためのカウンタを更新している。カウンタサイズは2バイト(0〜65535の範囲)である。
対象の入賞数カウンタ領域2の値をロード(ステップS357)した後、ロードした値を+1更新して(ステップS358)、オーバーフローするか判定する(ステップS359)。そして、オーバーフローが発生していない場合(ステップS359;N)は、更新後の値を入賞数カウンタ領域2にセーブし(ステップS360)、テーブルアドレスを次レコードのアドレスに更新して(ステップS361)、全スイッチの監視が終了したかを判定する(ステップS362)。また、オーバーフローが発生した場合(ステップS359;Y)は、テーブルアドレスを次レコードのアドレスに更新して(ステップS361)、全スイッチの監視が終了したかを判定する(ステップS362)。本実施形態の場合、ステップS358では、メイン賞球信号のためのカウンタを更新している。カウンタサイズは1バイト(0〜255の範囲)である。
全スイッチの監視が終了していない場合(ステップS362;N)は、対象の入賞口スイッチに入力があるかを判定する処理(ステップS352)に戻る。また、全スイッチの監視が終了した場合(ステップS362;Y)は、入賞数カウンタ更新処理を終了する。以上の処理により、入賞領域への入賞に基づき入賞数カウンタ領域1及び2が更新されて入賞の情報が記憶されることとなる。
〔始動口エラー監視処理〕
図22には、上述の入賞口スイッチ/状態監視処理における始動口エラー監視処理(ステップS309)を示した。この始動口エラー監視処理においては、まず、始動口1スイッチ36aに入力があるか判定する(ステップS371)。そして、始動口1スイッチ36aに入力がないと判定した場合(ステップS371;N)には、始動口3スイッチ97aに入力があるか判定し(ステップS375)、始動口1スイッチ36aに入力があると判定した場合(ステップS371;Y)には、前回の入賞も第1始動口(第1始動入賞口36)への入賞であったか判定する(ステップS372)。
ステップS372で、前回の入賞も第1始動口(第1始動入賞口36)への入賞であったと判定した場合(ステップS372;Y)、すなわち入賞装置90の内部で遊技球が第1始動入賞口36と第2始動入賞口97とに交互に振り分けられていない場合には、連続入賞数領域の値を+1更新して(ステップS373)、連続入賞数領域の値が上限値(本実施形態の場合、4個)以上であるか判定する(ステップS374)。そして、連続入賞数領域の値が上限値以上であると判定した場合(ステップS374;Y)には、ステップS379の処理に移行し、連続入賞数領域の値が上限値以上でないと判定した場合(ステップS374;N)には、始動口3スイッチ97aに入力があるか判定する(ステップS375)。
一方、ステップS372で、前回の入賞は第1始動口(第1始動入賞口36)への入賞でなかったと判定した場合(ステップS372;N)には、連続入賞数領域に1をセーブし(ステップS384)、始動口判定データ領域に始動口1入賞情報をセーブして(ステップS385)、始動口3スイッチ97aに入力があるか判定する(ステップS375)。
ステップS375で、始動口3スイッチ97aに入力がないと判定した場合(ステップS375;N)には、始動口エラー報知タイマが0であるか判定する(ステップS388)。
一方、ステップS375で、始動口3スイッチ97aに入力があると判定した場合(ステップS375;Y)には、前回の入賞も第3始動口(第2始動入賞口97)への入賞であったか判定する(ステップS376)。
ステップS376で、前回の入賞も第3始動口(第2始動入賞口97)への入賞であったと判定した場合(ステップS376;Y)、すなわち入賞装置90の内部で遊技球が第1始動入賞口36と第2始動入賞口97とに交互に振り分けられていない場合には、連続入賞数領域の値を+1更新して(ステップS377)、連続入賞数領域の値が上限値(本実施形態の場合、4個)以上であるか判定する(ステップS378)。そして、連続入賞数領域の値が上限値以上でないと判定した場合(ステップS378;N)には、始動口エラー報知タイマが0であるか判定し(ステップS388)、連続入賞数領域の値が上限値以上であると判定した場合(ステップS378;Y)には、ステップS379の処理に移行する。
ステップS379では、連続入賞数領域の値を上限値に留める(ステップ379)。
次いで、始動口エラー報知タイマ領域に初期値(例えば、60秒)をセーブし(ステップS380)、始動口エラーフラグ領域にエラー発生中フラグをセーブし(ステップS381)、始動口エラー発生コマンドを準備し(ステップS382)、演出コマンド設定処理(ステップS383)を行って、始動口エラー監視処理を終了する。
また、ステップS376で、前回の入賞は第3始動口(第2始動入賞口97)への入賞でなかったと判定した場合(ステップS376;N)には、連続入賞数領域に1をセーブし(ステップS386)、始動口判定データ領域に始動口3入賞情報をセーブして(ステップS387)、始動口エラー報知タイマが0であるか判定する(ステップS388)。
ステップS388で、始動口エラー報知タイマが0であると判定した場合(ステップS388;Y)には、始動口エラー監視処理を終了する。
一方、ステップS388で、始動口エラー報知タイマが0でないと判定した場合(ステップS388;N)には、始動口エラー報知タイマを−1更新して(ステップS389)、始動口エラー報知タイマが0であるか判定する(ステップS390)。
ステップS390で、始動口エラー報知タイマが0でないと判定した場合(ステップS390;N)には、始動口エラー監視処理を終了する。
一方、ステップS390で、始動口エラー報知タイマが0であると判定した場合(ステップS390;Y)には、始動口エラーフラグ領域に正常中フラグをセーブし(ステップS391)、始動口エラー解除コマンドを準備し(ステップS392)、演出コマンド設定処理(ステップS393)を行って、始動口エラー監視処理を終了する。
入賞装置90においては、遊技球が第1始動口(第1始動入賞口36)と第3始動口(第2始動入賞口97)とに交互に振り分けられるように構成されているが、同一の始動口に連続して入賞している場合には、入賞装置90の故障や、糸釣り球等による不正入賞の可能性が考えられるので、始動口エラー監視処理では、それをチェックしている。本実施形態では、4回連続して同じ始動口に入賞した場合にエラー扱いとするようになっている。
〔遊技機状態チェック処理〕
図23には、上述の入賞口スイッチ/状態監視処理における遊技機状態チェック処理(ステップS312,S314,S317)を示した。この遊技機状態チェック処理では、まず、状態スキャンカウンタに対応する状態監視テーブルを取得し(ステップS401)、監視対象である信号がオンであるかを判定する(ステップS402)。
状態監視テーブル(入賞口スイッチ/状態監視処理にて準備した遊技機状態監視テーブル)には、状態スキャンカウンタに対応した情報が定義されている。この情報としては、例えば、状態監視領域の先頭アドレスの下位アドレス、対象の信号情報が保存されているスイッチ制御領域のポート入力状態領域の下位アドレス、対象の信号のビットだけを取り出すマスクデータ、信号オンの判定データ、状態オフコマンド(エラー系の場合はエラー報知終了コマンドをなす)、状態オンコマンド(エラー系の場合はエラー報知開始コマンドをなす)、状態オフ監視タイマ比較値、状態オン監視タイマ比較値が含まれる。
対象の信号がオンでない場合(ステップS402;N)は、状態フラグとして状態オフフラグを準備して(ステップS403)、対象の状態オフコマンドを取得し、準備する(ステップS404)。その後、対象の状態オフ監視タイマ比較値を取得して(ステップS405)、対象の信号制御領域の値と今回の信号の状態を比較する(ステップS409)。対象の信号がオンでない場合(ステップS402;N)とは、エラー系の信号ではエラーでない(正常である)ことを示す状態であり、タッチスイッチからの信号ではタッチされていないことを示す状態である。
一方、対象の信号がオンである場合(ステップS402;Y)は、状態フラグとして状態オンフラグを準備して(ステップS406)、対象の状態オンコマンドを取得し、準備する(ステップS407)。その後、対象の状態オン監視タイマ比較値を取得して(ステップS408)、対象の信号制御領域の値と今回の信号の状態を比較する(ステップS409)。対象の信号がオンである場合(ステップS402;Y)とは、エラー系の信号ではエラーである(異常や不正である)ことを示す状態であり、タッチスイッチからの信号ではタッチされていることを示す状態である。
対象の信号制御領域の値と今回の信号の状態が一致した場合(ステップS409;Y)、すなわち信号の状態が変化していない場合は、対象の状態監視タイマを+1更新して(ステップS412)、対象の状態監視タイマの値が監視タイマ比較値以上となったかを判定する(ステップS413)。また、対象の信号制御領域の値と今回の信号の状態が一致しない場合(ステップS409;N)、すなわち信号の状態が変化した場合は、対象の信号制御領域に今回の信号状態をセーブする(ステップS410)。そして、対象の状態監視タイマをクリアし(ステップS411)、対象の状態監視タイマを+1更新して(ステップS412)、対象の状態監視タイマの値が監視タイマ比較値以上となったかを判定する(ステップS413)。
対象の状態監視タイマの値が監視タイマ比較値以上でない場合(ステップS413;N)は、遊技機状態チェック処理を終了する。また、対象の状態監視タイマの値が監視タイマ比較値以上である場合(ステップS413;Y)は、状態監視タイマを−1更新し、比較値−1の値に留めて(ステップS414)、準備した状態フラグを対象の状態フラグ領域の値と比較する(ステップS415)。
そして、準備した状態フラグと対象の状態フラグ領域の値とが一致する場合(ステップS415;Y)は、遊技機状態チェック処理を終了する。また、準備した状態フラグと対象の状態フラグ領域の値とが一致しない場合(ステップS415;N)は、準備した状態フラグを対象の状態フラグ領域にセーブし(ステップS416)、演出コマンド設定処理を行って(ステップS417)、遊技機状態チェック処理を終了する。これにより、ステップS404で準備した状態オフコマンド又はS407で準備した状態オンコマンドが演出制御装置300に送信されることとなる。
〔払出ビジー信号チェック処理〕
図24には、上述の入賞口スイッチ/状態監視処理における払出ビジー信号チェック処理(ステップS318)を示した。この払出ビジー信号チェック処理においては、まず、払出制御装置200から入力される払出ビジー信号がオンであるかを判定する(ステップS421)。なお、払出ビジー信号は、払出制御装置200が払出制御を開始できない場合にオン状態とされるようになっている。
払出ビジー信号がオンである場合(ステップS421;Y)は、状態フラグとしてビジー状態フラグを準備して(ステップS422)、オン確定監視タイマ比較値(例えば、32m秒)を設定し(ステップS423)、ビジー信号状態領域の値が今回の信号の状態と一致するかを判定する(ステップS426)。また、払出ビジー信号がオンでない場合(ステップS421;N)は、状態フラグとしてアイドル状態フラグを準備して(ステップS424)、オフ確定監視タイマ比較値(例えば、32m秒)を設定し(ステップS425)、ビジー信号状態領域の値が今回の信号の状態と一致するかを判定する(ステップS426)。これにより、同じ状態が、複数回のタイマ割込み分継続しているかチェックすることができる。
ビジー信号状態領域の値が今回の信号の状態と一致しない場合(ステップS426;N)には、ビジー信号状態領域に今回の信号の状態をセーブし(ステップS427)、ビジー信号監視タイマを0クリアして(ステップS428)、ビジー信号監視タイマを+1更新する(ステップS429)。また、ビジー信号状態領域の値が今回の信号の状態と一致する場合(ステップS426;Y)には、ビジー信号監視タイマを+1更新する(ステップS429)。
次に、ビジー信号監視タイマの値が、ステップS423又はステップS425で設定した監視タイマ比較値以上であるかを判定し(ステップS430)、監視タイマ比較値以上でない場合(ステップS430;N)は、払出ビジー信号チェック処理を終了する。また、監視タイマ比較値以上である場合(ステップS430;Y)は、ビジー信号監視タイマを−1更新し、比較値−1の値に留めて(ステップS431)、ステップS422又はステップS424で準備した状態フラグを払出ビジー信号フラグ領域にセーブし(ステップS432)、払出ビジー信号チェック処理を終了する。
この処理により、払出ビジー信号に基づきビジー信号ステータスが設定される。この際に、払出ビジー信号の状態が変化してもすぐにはビジー信号ステータスを変更せず、信号確定時間に亘り変化した状態が継続した場合にビジー信号ステータスを変更するようにしており、ノイズ等の影響を受け難くしている。
また、電源投入時にビジー信号ステータスがクリアされるので、何れかの信号状態が信号確定時間に亘り継続するまではビジー信号ステータスは設定されず不定状態となる。これにより、停電が発生し該停電から復帰した場合には、払出制御装置200から払出制御を開始可能であることを示す状態信号が出力されていたとしても、直ちに賞球指令が払出制御装置200に送信されないようになり、払出制御装置200から払出制御を開始可能であることを示す状態信号が所定期間に亘って継続して出力されたことに対応して賞球指令が払出制御装置200に送信されるようになる。これにより、払出制御装置200が賞球指令を受信して即座に払出処理が可能なことを確実に把握してから賞球指令を送信するようになり、賞球指令に対応する払出制御が行われないことを防止できる。
〔特図ゲーム処理〕
次に、上述のタイマ割込み処理における特図ゲーム処理(ステップS109)の詳細について説明する。特図ゲーム処理では、始動口1スイッチ36a、始動口2スイッチ37a、及び始動口3スイッチ97aの入力の監視と、特図変動表示ゲームに関する処理全体の制御、特図の表示の設定を行う。
図25に示すように、特図ゲーム処理では、先ず、始動口1スイッチ36a、始動口2スイッチ37a、及び始動口3スイッチ97aの入賞を監視する始動口スイッチ監視処理(ステップA1)を行う。始動口スイッチ監視処理では、第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37に遊技球の入賞があると、各種乱数(大当り乱数など)の抽出を行い、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。
次に、大入賞口スイッチ監視処理(ステップA2)を行う。この大入賞口スイッチ監視処理では、特別変動入賞装置38内に設けられた大入賞口スイッチ38aでの遊技球の検出を監視する処理を行う。
次に、特図ゲーム処理タイマが「0」でなければ−1更新する(ステップA3)。なお、特図ゲーム処理タイマの最小値は「0」に設定されている。そして、特図ゲーム処理タイマの値が「0」であるかを判定する(ステップA4)。特図ゲーム処理タイマの値が「0」である場合(ステップA4;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合は、特図ゲーム処理番号に対応する処理に分岐させるために参照する特図ゲームシーケンス分岐テーブルをレジスタに設定し(ステップA5)、当該テーブルを用いて特図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(ステップA6)。そして、特図ゲーム処理番号に応じてサブルーチンコールを行う(ステップA7)。
ステップA7にて、特図ゲーム処理番号が「0」の場合は、特図変動表示ゲームの変動開始を監視し、特図変動表示ゲームの変動開始の設定や演出の設定や、特図変動中処理を行うために必要な情報の設定等を行う特図普段処理(ステップA8)を行う。
ステップA7にて、特図ゲーム処理番号が「1」の場合は、特図の停止表示時間の設定や、特図表示中処理を行うために必要な情報の設定等を行う特図変動中処理(ステップA9)を行う。
ステップA7にて、特図ゲーム処理番号が「2」の場合は、特図変動表示ゲームの遊技結果が大当りであれば、大当りの種類に応じたファンファーレコマンドの設定や、各大当りの大入賞口開放パターンに応じたファンファーレ時間の設定や、ファンファーレ/インターバル中処理を行うために必要な情報の設定等を行う特図表示中処理(ステップA10)を行う。
ステップA7にて、特図ゲーム処理番号が「3」の場合は、大入賞口の開放時間の設定や開放回数の更新、大入賞口開放中処理を行うために必要な情報の設定等を行うファンファーレ/インターバル中処理(ステップA11)を行う。
ステップA7にて、特図ゲーム処理番号が「4」の場合は、大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであればエンディングコマンドを設定する処理や、大入賞口残存球処理を行うために必要な情報の設定等を行う大入賞口開放中処理(ステップA12)を行う。
ステップA7にて、特図ゲーム処理番号が「5」の場合は、大当りラウンドが最終ラウンドであれば大入賞口内にある残存球が排出されるための時間を設定する処理や、大当り終了処理を行うために必要な情報の設定等を行う大入賞口残存球処理(ステップA13)を行う。
ステップA7にて、特図ゲーム処理番号が「6」の場合は、特図普段処理を行うために必要な情報の設定等を行う大当り終了処理(ステップA14)を行う。
その後、特図1表示器51aの変動を制御するためのテーブルを準備した後(ステップA15)、特図1表示器51aに係る図柄変動制御処理(ステップA16)を行う。そして、特図2表示器51bの変動を制御するためのテーブルを準備した後(ステップA17)、特図2表示器51bに係る図柄変動制御処理(ステップA18)を行い、特図ゲーム処理を終了する。一方、ステップA4にて、特図ゲーム処理タイマの値が「0」でない場合(ステップA4;N)、すなわちタイムアップしていない場合は、ステップA15の処理に移行して、それ以降の処理を行う。
なお、大当りとは条件装置の作動を伴う特別結果である。条件装置とは、特図変動表示ゲームで大当りが発生(大当り図柄の停止表示)した場合に作動するもので、条件装置が作動するとは、例えば大当り状態が発生して特別電動役物としての特別変動入賞装置38を連続して作動させるための特定のフラグがセットされる(役物連続作動装置が作動される)ことを意味する。なお、「条件装置」は上記のようなソフトウェア的にオンオフされるフラグのようなソフトウェア手段であっても良いし、電気的にオンオフされるスイッチのようなハードウェア手段であっても良い。また、「条件装置」は、その作動が電動役物の連続作動に必要条件とされる装置として、パチンコ遊技機の分野においては一般的に使用されている用語であり、本明細書においても同様な意味を有する用語として使用している。
〔始動口スイッチ監視処理〕
次に、上述の特図ゲーム処理における始動口スイッチ監視処理(ステップA1)の詳細について説明する。図26に示すように、始動口スイッチ監視処理では、先ず、第1始動口(第1始動入賞口36)入賞監視テーブルを準備し(ステップA101)、ハード乱数取得処理(ステップA102)を行う。このハード乱数取得処理では、対象となる始動口スイッチ(ここでは始動口1スイッチ36a)に入力があった場合にラッチレジスタに抽出された大当り乱数をロードして準備し、対象となる始動口への入賞があったことを示す情報の設定を行う。その後、特図1の始動口である第1始動口への入賞があるか否かを判定する(ステップA103)。
ステップA103にて、第1始動口への入賞がないと判定した場合(ステップA103;N)には、ステップA109の処理に移行して、それ以降の処理を行う。
一方、ステップA103にて、第1始動口への入賞があると判定した場合(ステップA103;Y)には、特図時短中(普電サポート中)であるか否かを判定する(ステップA104)。
ステップA104にて、特図時短中でないと判定した場合(ステップA104;N)には、ステップA107の処理に移行して、それ以降の処理を行う。
一方、ステップA104にて、特図時短中であると判定した場合(ステップA104;Y)には、右打ち指示報知コマンドを準備して(ステップA105)、演出コマンド設定処理(ステップA106)を行う。すなわち、時短状態であれば、特図変動表示ゲームの確率状態にかかわらず、右打ち指示報知コマンドを準備して(ステップA105)、演出コマンド設定処理(ステップA106)を行う。本実施形態の遊技機10の場合、第1始動口(第1始動入賞口36)へは左打ちでないと入賞せず、普通変動入賞装置37へは右打ちでないと入賞しない。したがって、時短状態は、左打ちよりも右打ちの方が有利な遊技状態となるが、時短状態中に第1始動口に入賞があった場合(すなわち、時短状態中に左打ちされた場合)には、右打ち指示報知コマンドを演出制御装置300に送信して、右打ちするよう指示する報知(警告)を演出制御装置300によって行うよう構成されている。
次いで、第1始動口(第1始動入賞口36)による保留の情報を設定するテーブルを準備した後(ステップA107)、特図始動口スイッチ共通処理(ステップA108)を行う。
次に、第2始動口(普通変動入賞装置37)入賞監視テーブルを準備し(ステップA109)、ハード乱数取得処理(ステップA110)を行う。このハード乱数取得処理では、対象となる始動口スイッチ(ここでは始動口2スイッチ37a)に入力があった場合にラッチレジスタに抽出された大当り乱数をロードして準備し、対象となる始動口への入賞があったことを示す情報の設定を行う。その後、特図2の始動口である第2始動口への入賞があるか否かを判定する(ステップA111)。
ステップA111にて、第2始動口への入賞がないと判定した場合(ステップA111;N)には、ステップA116の処理に移行して、それ以降の処理を行う。
一方、ステップA111にて、第2始動口への入賞があると判定した場合(ステップA111;Y)には、普通電動役物(普通変動入賞装置37)が作動中である、すなわち、普通変動入賞装置37が作動して遊技球の入賞が可能な開状態となっているか否かを判定し(ステップA112)、普通電動役物が作動中である(ステップA112;Y)と判定すると、ステップA114の処理に移行して、それ以降の処理を行う。一方、ステップA112にて、普通電動役物が作動中でない(ステップA112;N)と判定すると、普電不正発生中であるかを判定する(ステップA113)。
ステップA113では、普通変動入賞装置37への不正入賞数が不正発生判定個数(例えば、5個)以上である場合に不正発生中であると判定する。普通変動入賞装置37は、閉状態では遊技球が入賞不可能であり、開状態でのみ遊技球が入賞可能である。よって、閉状態で遊技球が入賞した場合は何らかの異常や不正が発生した場合であり、このような閉状態で入賞した遊技球があった場合はその数を不正入賞数として計数する。そして、このように計数された不正入賞数が所定の不正発生判定個数(上限値)以上である場合に不正発生中と判定する。
ステップA113にて、普電不正発生中でないと判定した場合(ステップA113;N)は、第2始動口(普通変動入賞装置37)による保留の情報を設定するテーブルを準備し(ステップA114)、特図始動口スイッチ共通処理(ステップA115)を行った後、ステップA116の処理に移行して、それ以降の処理を行う。また、ステップA113にて、普電不正発生中であると判定した場合(ステップA113;Y)は、ステップA116の処理に移行して、それ以降の処理を行う。
次に、第3始動口(第2始動入賞口97)入賞監視テーブルを準備し(ステップA116)、ハード乱数取得処理(ステップA117)を行う。このハード乱数取得処理では、対象となる始動口スイッチ(ここでは始動口3スイッチ97a)に入力があった場合にラッチレジスタに抽出された大当り乱数をロードして準備し、対象となる始動口への入賞があったことを示す情報の設定を行う。その後、特図2の始動口である第3始動口への入賞があるか否かを判定する(ステップA118)。
ステップA118にて、第3始動口への入賞がないと判定した場合(ステップA118;N)は、始動口スイッチ監視処理を終了する。
一方、ステップA118にて、第3始動口への入賞があると判定した場合(ステップA118;Y)には、特図時短中(普電サポート中)であるか否かを判定する(ステップA119)。
ステップA119にて、特図時短中でないと判定した場合(ステップA119;N)には、ステップA122の処理に移行して、それ以降の処理を行う。
一方、ステップA119にて、特図時短中であると判定した場合(ステップA119;Y)には、右打ち指示報知コマンドを準備して(ステップA120)、演出コマンド設定処理(ステップA121)を行う。すなわち、時短状態であれば、特図変動表示ゲームの確率状態にかかわらず、右打ち指示報知コマンドを準備して(ステップA120)、演出コマンド設定処理(ステップA121)を行う。本実施形態の遊技機10の場合、第3始動口(第2始動入賞口97)へは左打ちでないと入賞せず、普通変動入賞装置37へは右打ちでないと入賞しない。したがって、時短状態は、左打ちよりも右打ちの方が有利な遊技状態となるが、時短状態中に第3始動口に入賞があった場合(すなわち、時短状態中に左打ちされた場合)には、右打ち指示報知コマンドを演出制御装置300に送信して、右打ちするよう指示する報知(警告)を演出制御装置300によって行うよう構成されている。
次いで、第3始動口(第2始動入賞口97)による保留の情報を設定するテーブルを準備した後(ステップA122)、特図始動口スイッチ共通処理(ステップA123)を行って、始動口スイッチ監視処理を終了する。
〔ハード乱数取得処理〕
次に、上述の始動口スイッチ監視処理におけるハード乱数取得処理(ステップA102,A110,A117)の詳細について説明する。図27に示すように、ハード乱数取得処理では、まず、第1始動口(第1始動入賞口36)、第2始動口(普通変動入賞装置37)、及び第3始動口(第2始動入賞口97)のうち、監視対象の始動口の入賞なし情報を設定して(ステップA131)、始動口1スイッチ36a、始動口2スイッチ37a、及び始動口3スイッチ97aのうち、監視対象の始動口スイッチに入力があるか否かを判定する(ステップA132)。
そして、監視対象の始動口スイッチに入力がない場合(ステップA132;N)は、ハード乱数取得処理を終了する。
一方、監視対象の始動口スイッチに入力がある場合(ステップA132;Y)は、乱数ラッチレジスタステータスを読み込み(ステップA133)、対象の乱数ラッチレジスタにラッチデータがあるかを判定する(ステップA134)。
対象の乱数ラッチレジスタにラッチデータがない場合(ステップA134;N)、すなわち乱数が抽出されていない場合は、ハード乱数取得処理を終了する。
また、対象の乱数ラッチレジスタにラッチデータがある場合(ステップA134;Y)は、監視対象のハード乱数ラッチレジスタに抽出された大当り乱数をロードし、準備する(ステップA135)。そして、第1始動口(第1始動入賞口36)、第2始動口(普通変動入賞装置37)、及び第3始動口(第2始動入賞口97)のうち、監視対象の始動口の入賞あり情報を設定して(ステップA136)、ハード乱数取得処理を終了する。
〔特図始動口スイッチ共通処理〕
次に、上述の始動口スイッチ監視処理における特図始動口スイッチ共通処理(ステップA108,A115,A123)の詳細について説明する。特図始動口スイッチ共通処理は、始動口1スイッチ36aや始動口2スイッチ37aや始動口3スイッチ97aの入力があった場合に、各々の入力について共通して行われる処理である。
図28に示すように、特図始動口スイッチ共通処理では、先ず、始動口1スイッチ36a、始動口2スイッチ37a、及び始動口3スイッチ97aのうち、監視対象の始動口スイッチへの入賞の回数に関する情報を遊技機10の外部の管理装置に対して出力する回数である始動口信号出力回数をロードし(ステップA141)、ロードした値を+1更新して(ステップA142)、出力回数がオーバーフローするかを判定する(ステップA143)。
出力回数がオーバーフローしない場合(ステップA143;N)は、更新後の値をRWMの始動口信号出力回数領域にセーブして(ステップA144)、ステップA145の処理に移行する。
一方、出力回数がオーバーフローする場合(ステップA143;Y)は、ステップA145の処理に移行する。本実施形態では、始動口信号出力回数領域に「0」から「255」までの値を記憶することができる。そして、ロードした値が「255」である場合には+1更新によって更新後の値は「0」になり、出力回数がオーバーフローすると判定して、セーブしないよう構成されている。
次に、始動口1スイッチ36a、始動口2スイッチ37a、及び始動口3スイッチ97aのうち、監視対象の始動口スイッチに対応する更新対象の特図保留(始動記憶)数が上限値未満かを判定する(ステップA145)。
更新対象の特図保留数が上限値未満でない場合(ステップA145;N)は、特図始動口スイッチ共通処理を終了する。
また、更新対象の特図保留数が上限値未満である場合(ステップA145;Y)は、更新対象の特図保留数(特図1保留数又は特図2保留数)を+1更新して(ステップA146)、監視対象の始動口スイッチ及び特図保留数に対応する飾り特図保留数コマンドを準備し(ステップA147)、演出コマンド設定処理(ステップA148)を行って、対象の始動口入賞フラグをセーブする(ステップA149)。続けて、監視対象の始動口スイッチ及び特図保留数に対応する乱数格納領域のアドレスを算出して(ステップA150)、ステップA102,A110,A117のハード乱数取得処理にて準備した大当り乱数をRWMの大当り乱数格納領域にセーブする(ステップA151)。次に、監視対象の始動口スイッチの大当り図柄乱数を抽出し、準備して(ステップA152)、RWMの大当り図柄乱数格納領域にセーブする(ステップA153)。この大当り図柄乱数は、特図保留情報判定処理(ステップA157)で使用する。
次いで、変動パターン乱数(本実施形態の場合、変動パターン乱数1から2)を対応するRWMの変動パターン乱数格納領域にセーブする(ステップA154)。
次いで、特図1保留数と特図2保留数の合計に対応する変動順序フラグ格納領域のアドレス(保留1から8までの何れかの場所)を算出し(ステップA155)、算出した領域に対象(特図1または特図2)の変動順序フラグをセーブし(ステップA156)、特図保留情報判定処理(ステップA157)を行って、特図始動口スイッチ共通処理を終了する。
ここで、遊技制御装置100(RAM111C)は、第1始動入賞口36、第2始動入賞口97、普通変動入賞装置37の始動入賞領域への遊技球の流入に基づき、所定の乱数を抽出し変動表示ゲームの実行権利となる始動記憶として所定数を上限に記憶する始動記憶手段をなす。また、始動記憶手段(遊技制御装置100)は、特図1の始動口である第1始動入賞口36への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第1始動記憶として記憶し、特図2の始動口である第2始動入賞口97や普通変動入賞装置37への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第2始動記憶として記憶する。
〔特図保留情報判定処理〕
次に、上述の特図始動口スイッチ共通処理における特図保留情報判定処理(ステップA157)の詳細について説明する。特図保留情報判定処理は、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に当該始動記憶に対応した結果関連情報の判定を行う先読み処理である。
図29に示すように、まず、低確率判定フラグを準備して(ステップA161)、大当り乱数値が大当り判定値(大当り低確率判定値)と一致するか否かにより大当りであるか判定する先読み大当り判定処理(ステップA162)を行い、判定結果として大当りが設定されたか判定する(ステップA163)。
ステップA163で、判定結果として大当りが設定されたと判定した場合(ステップA163;Y)は、対象の始動口スイッチに対応する大当り図柄乱数チェックテーブルを設定し(ステップA164)、ステップA152にて準備した大当り図柄乱数に対応する停止図柄情報を取得して(ステップA165)、ステップA167の処理に移行する。
一方、ステップA163で、判定結果として大当りが設定されていないと判定した場合(ステップA163;N)、すなわち判定結果としてはずれが設定された場合は、はずれの停止図柄情報を設定して(ステップA166)、ステップA167の処理に移行する。
ステップA167では、ステップA165にて取得した停止図柄情報またはステップA166にて設定した停止図柄情報を図柄情報領域にセーブする(ステップA167)。
次いで、対象の始動口スイッチ及び停止図柄情報に対応する先読み停止図柄コマンド(低確率)を準備し(ステップA168)、演出コマンド設定処理(ステップA169)を行う。
次いで、高確率判定フラグを準備して(ステップA170)、大当り乱数値が大当り判定値(大当り高確率判定値)と一致するか否かにより大当りであるか判定する先読み大当り判定処理(ステップA171)を行い、判定結果として大当りが設定されたか判定する(ステップA172)。
ステップA172で、判定結果として大当りが設定されたと判定した場合(ステップA172;Y)には、対象の始動口スイッチに対応する大当り図柄乱数チェックテーブルを設定し(ステップA173)、ステップA152にて準備した大当り図柄乱数に対応する停止図柄情報を取得して(ステップA174)、ステップA176の処理に移行する。
一方、ステップA172で、判定結果として大当りが設定されていないと判定した場合(ステップA172;N)、すなわち判定結果としてはずれが設定された場合には、はずれの停止図柄情報を設定して(ステップA175)、ステップA176の処理に移行する。
ステップA176では、特図の高確率中であるか判定する(ステップA176)。
ステップA176で、特図の高確率中でないと判定した場合(ステップA176;N)には、ステップA178の処理に移行する。
一方、ステップA176で、特図の高確率中であると判定した場合(ステップA176;Y)には、ステップA167にて停止図柄情報をセーブした図柄情報領域に、ステップA174にて取得した停止図柄情報またはステップA175にて設定した停止図柄情報を上書きしてセーブし(ステップA177)、ステップA178の処理に移行する。なお、図柄情報領域にセーブされる停止図柄情報は、変動パターンの先読み等で使用される。
ステップA178では、対象の始動口スイッチ及び停止図柄情報に対応する先読み停止図柄コマンド(高確率)を準備して(ステップA178)、演出コマンド設定処理(ステップA179)を行う。このように、本実施形態では、特図保留情報判定処理を実行する度に、大当り低確率判定値で判定した結果と、大当り高確率判定値で判定した結果とが、演出制御装置300が送信される。
次に、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップA180)を行い、特図変動表示ゲームの変動態様を設定する変動パターン設定処理を行う(ステップA181)。
その後、特図変動表示ゲームの変動態様における変動パターンを示す変動パターン番号に対応する先読み変動パターンコマンドを準備して(ステップA182)、演出コマンド設定処理を行い(ステップA183)、特図保留情報判定処理を終了する。なお、ステップA180における特図情報設定処理、ステップA181における変動パターン設定処理は、特図普段処理で特図変動表示ゲームの開始時に実行される処理と同様である。
以上の処理により、先読み対象の始動記憶に基づく特図変動表示ゲームの結果を含む先読み停止図柄コマンドと、当該始動記憶に基づく特図変動表示ゲームでの変動パターンの情報を含む先読み変動パターンコマンドが準備され、演出制御装置300に送信される。これにより、始動記憶に対応した結果関連情報(大当りか否かや変動パターンの種類)の判定結果(先読み結果)を、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に演出制御装置300に対して知らせることができ、特に表示装置41に表示される飾り特図始動記憶表示を変化させるなどして、その特図変動表示ゲームの開始タイミングより前に遊技者に結果関連情報を報知することが可能となる。
すなわち、遊技制御装置100が、始動入賞記憶手段(遊技制御装置100)に始動記憶として記憶される乱数を、当該始動記憶に基づく変動表示ゲームの実行前に判定する(例えば、特別結果となるか否か等を判定)事前判定手段をなす。なお、始動記憶に対応して記憶された乱数値を事前に判定する時期は、当該始動記憶が発生した始動入賞時だけではなく、当該始動記憶に基づく変動表示ゲームが行われる前であればいつでもよい。
〔先読み大当り判定処理〕
次に、上述の特図保留情報判定処理における先読み大当り判定処理(ステップA162,A171)の詳細について説明する。
図30に示すように、先読み大当り判定処理では、まず、大当り判定値の下限判定値を設定し(ステップA191)、対象の大当り乱数の値が下限判定値未満か判定する(ステップA192)。
ステップA192で、大当り乱数の値が下限判定値未満であると判定した場合(ステップA192;Y)には、判定結果としてはずれを設定して(ステップA197)、先読み大当り判定処理を終了する。
一方、ステップA192で、大当り乱数の値が下限判定値未満でないと判定した場合(ステップA192;N)には、当該先読み大当り判定処理の直前に準備した判定フラグは高確率判定フラグであるか判定する(ステップA193)。
ステップA193で、高確率判定フラグであると判定した場合(ステップA193;Y)、すなわち当該先読み大当り判定処理がステップA171の処理である場合には、高確率中の上限判定値を設定して(ステップA194)、対象の大当り乱数の値が上限判定値より大きいか判定する(ステップA196)。
一方、ステップA193で、高確率判定フラグでないと判定した場合(ステップA193;N)、すなわち当該先読み大当り判定処理がステップA162の処理である場合には、低確率中の上限判定値を設定して(ステップA195)、対象の大当り乱数の値が上限判定値より大きいか判定する(ステップA196)。
ステップA196で、対象の大当り乱数の値が上限判定値より大きいと判定した場合(ステップA196;Y)は、判定結果としてはずれを設定して(ステップA197)、先読み大当り判定処理を終了する。
一方、ステップA196で、対象の大当り乱数の値が上限判定値より大きくないと判定した場合(ステップA196;N)、すなわち大当りである場合には、判定結果として大当りを設定して(ステップA198)、先読み大当り判定処理を終了する。
〔大入賞口スイッチ監視処理〕
次に、上述の特図ゲーム処理における大入賞口スイッチ監視処理(ステップA2)の詳細について説明する。図31に示すように、大入賞口スイッチ監視処理では、まず、特図ゲーム処理番号の値が「4」であるか、すなわち大入賞口開放中処理中であるかを判定する(ステップA201)。大入賞口開放中処理中である場合(ステップA201;Y)は、大入賞口スイッチ38aに入力があるか判定する(ステップA203)。また、大入賞口開放中処理中でない場合(ステップA201;N)は、特図ゲーム処理番号の値が「5」であるか、すなわち大入賞口残存球処理中であるかを判定する(ステップA202)。
大入賞口残存球処理中である場合は(ステップA202;Y)は、大入賞口スイッチ38aに入力があるか判定する(ステップA203)。また、大入賞口残存球処理中でない場合は(ステップA202;N)は、大入賞口スイッチ監視処理を終了する。
特図ゲーム処理タイマが「0」になるまで特図ゲーム処理番号は次に移行しないため、このように特図ゲーム処理番号によって遊技の進行状態をチェックすることができる。
ステップA203で、大入賞口スイッチ38aに入力がないと判定した場合(ステップA203;N)には、大入賞口スイッチ監視処理を終了する。
一方、ステップA203で、大入賞口スイッチ38aに入力があると判定した場合(ステップA203;Y)には、大入賞口カウントコマンドを準備して(ステップA204)、演出コマンド設定処理(ステップA205)を行う。
次いで、特図ゲーム処理番号の値が「4」であるか、すなわち大入賞口開放中処理中であるか判定する(ステップA206)。
ステップA206で、大入賞口開放中処理中でないと判定した場合(ステップA206;N)には、大入賞口スイッチ監視処理を終了する。
一方、ステップA206で、大入賞口開放中処理中であると判定した場合(ステップA206;Y)には、大入賞口カウント数を+1更新して(ステップA207)、大入賞口カウント数が上限値(一のラウンドで入賞可能な遊技球数。例えば、9個)以上となったかを判定する(ステップA208)。
大入賞口カウント数が上限値以上となっていない場合(ステップA208;N)は、大入賞口スイッチ監視処理を終了する。
一方、大入賞口カウント数が上限値以上となった場合(ステップA208;Y)は、特図ゲーム処理タイマ領域を0クリアして(ステップA209)、大入賞口スイッチ監視処理を終了する。これにより大入賞口が閉鎖されて一のラウンドが終了することとなる。
〔特図普段処理〕
次に、上述の特図ゲーム処理における特図普段処理(ステップA8)の詳細について説明する。図32に示すように、特図普段処理では、先ず、特図1保留数及び特図2保留数は共に「0」であるか判定する(ステップA301)。
ステップA301で、特図1保留数及び特図2保留数は共に「0」でないと判定した場合(ステップA301;N)には、変動順序フラグ格納領域(保留数合計1用)からフラグをロードして(ステップA302)、今回の変動が特図1の変動であるか判定する(ステップA303)。
ステップA303で、今回の変動が特図1の変動であると判定した場合(ステップA303;Y)には、特図1保留数に対応する飾り特図保留数コマンドを準備し(ステップA304)、演出コマンド設定処理(ステップA305)を行い、特図1変動開始処理(ステップA306)を行って、特図普段処理を終了する。なお、この時点では、特図1保留数は−1更新されていないが、ステップA304では、−1更新された値に対応するコマンド(飾り特図保留数コマンド)を準備する。
一方、ステップA303で、今回の変動が特図1の変動でないと判定した場合(ステップA303;N)、すなわち今回の変動が特図2の変動である場合には、特図2保留数に対応する飾り特図保留数コマンドを準備し(ステップA307)、演出コマンド設定処理(ステップA308)を行い、特図2変動開始処理(ステップA309)を行って、特図普段処理を終了する。なお、この時点では、特図2保留数は−1更新されていないが、ステップA307では、−1更新された値に対応するコマンド(飾り特図保留数コマンド)を準備する。
また、ステップA301で、特図1保留数及び特図2保留数は共に「0」であると判定した場合(ステップA301;Y)には、客待ちデモが開始済みであるかを判定し(ステップA310)、客待ちデモが開始済みでない場合(ステップA310;N)は、客待ちデモフラグ領域に客待ちデモ中フラグをセットする(ステップA311)。
続けて、客待ちデモコマンドを準備して(ステップA312)、演出コマンド設定処理(ステップA313)を行う。
次いで、処理番号として特図普段処理にかかる「0」を設定し(ステップA314)、その処理番号を特図ゲーム処理番号領域にセーブして(ステップA315)、変動図柄判別フラグ領域をクリアする(ステップA316)。そして、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップA317)、特図普段処理を終了する。
〔特図1変動開始処理〕
次に、上述の特図普段処理における特図1変動開始処理(ステップA306)の詳細について説明する。特図1変動開始処理は、第1特図変動表示ゲームの開始時に行う処理である。図33(a)に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図1)を示す特図1変動フラグを変動図柄判別フラグ領域にセーブし(ステップA321)、第1特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ1にはずれ情報や大当り情報を設定する大当りフラグ1設定処理(ステップA322)を行う。
次に、特図1停止図柄(図柄情報)の設定に係る特図1停止図柄設定処理(ステップA323)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップA324)を行い、第1特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図1変動パターン設定情報テーブルを準備する(ステップA325)。その後、第1特図変動表示ゲームにおける変動態様である変動パターンを設定する変動パターン設定処理(ステップA326)を行い、第1特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップA327)を行う。
次いで、処理番号として特図変動中処理にかかる「1」を設定し(ステップA328)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA329)。
次いで、客待ちデモフラグ領域をクリアし(ステップA330)、特図1の変動開始に関する信号(例えば、特別図柄1変動中信号をON)を試験信号出力データ領域にセーブする(ステップA331)。その後、特図1変動制御フラグ領域に変動中フラグをセーブし(ステップA332)、特図1点滅制御タイマ領域に点滅制御タイマ(特図1表示器51aの点滅の周期のタイマ)の初期値(例えば、100m秒)をセーブし(ステップA333)、特図1変動図柄番号領域に初期値(例えば、0)をセーブして(ステップA334)、特図1変動開始処理を終了する。
〔特図2変動開始処理〕
次に、上述の特図普段処理における特図2変動開始処理(ステップA309)の詳細について説明する。特図2変動開始処理は、第2特図変動表示ゲームの開始時に行う処理であって、図33(a)に示した特図1変動開始処理での処理と同様の処理を、第2始動記憶を対象として行うものである。
図33(b)に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図2)を示す特図2変動フラグを変動図柄判別フラグ領域にセーブし(ステップA341)、第2特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ2にはずれ情報や大当り情報を設定する大当りフラグ2設定処理(ステップA342)を行う。
次に、特図2停止図柄(図柄情報)の設定に係る特図2停止図柄設定処理(ステップA343)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップA344)を行い、第2特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図2変動パターン設定情報テーブルを準備する(ステップA345)。その後、第2特図変動表示ゲームにおける変動態様である変動パターンを設定する変動パターン設定処理(ステップA346)を行い、第2特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップA347)を行う。
次いで、処理番号として特図変動中処理にかかる「1」を設定し(ステップA348)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA349)。
次いで、客待ちデモフラグ領域をクリアし(ステップA350)、特図2の変動開始に関する信号(例えば、特別図柄2変動中信号をON)を試験信号出力データ領域にセーブする(ステップA351)。その後、特図2変動制御フラグ領域に変動中フラグをセーブし(ステップA352)、特図2点滅制御タイマ領域に点滅制御タイマ(特図2表示器51bの点滅の周期のタイマ)の初期値(例えば、100m秒)をセーブし(ステップA353)、特図2変動図柄番号領域に初期値(例えば、0)をセーブして(ステップA354)、特図2変動開始処理を終了する。
〔大当りフラグ1設定処理〕
図34(a)には、上述の特図1変動開始処理における大当りフラグ1設定処理(ステップA322)を示した。この大当りフラグ1設定処理では、まず、大当りフラグ1領域にはずれ情報をセーブする(ステップA361)。次に、RWMの特図1大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(ステップA362)、当該特図1大当り乱数格納領域(保留数1用)を0クリアする(ステップA363)。なお、保留数1用とは、消化順序が最先(ここでは特図1のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか判定する大当り判定処理(ステップA364)を行う。
そして、大当り判定処理(ステップA364)の判定結果が大当りである場合(ステップA365;Y)は、ステップA361にてはずれ情報をセーブした大当りフラグ1領域に大当り情報を上書きしてセーブし(ステップA366)、大当りフラグ1設定処理を終了する。一方、大当り判定処理(ステップA364)の判定結果が大当りでない場合(ステップA365;N)は、大当りフラグ1領域にはずれ情報をセーブしたまま大当りフラグ1設定処理を終了する。
〔大当りフラグ2設定処理〕
図34(b)には、上述の特図2変動開始処理における大当りフラグ2設定処理(ステップA342)を示した。この大当りフラグ2設定処理では、まず、大当りフラグ2領域にはずれ情報をセーブする(ステップA371)。次に、RWMの特図2大当り乱数格納領域(保留数1用)から大当り乱数をロードし、準備して(ステップA372)、当該特図2大当り乱数格納領域(保留数1用)を0クリアする(ステップA372)。なお、保留数1用とは、消化順序が最先(ここでは特図2のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、準備した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか判定する大当り判定処理(ステップA374)を行う。
そして、大当り判定処理(ステップA374)の判定結果が大当りである場合(ステップA375;Y)は、ステップA371にてはずれ情報をセーブした大当りフラグ2領域に大当り情報を上書きしてセーブし(ステップA376)、大当りフラグ2設定処理を終了する。一方、大当り判定処理(ステップA374)の判定結果が大当りでない場合(ステップA375;N)は、大当りフラグ2領域にはずれ情報をセーブしたまま大当りフラグ2設定処理を終了する。
〔大当り判定処理〕
図35には、上述の大当りフラグ1設定処理及び大当りフラグ2設定処理における大当り判定処理(ステップA364,A374)を示した。この大当り判定処理では、まず、大当り判定値の下限判定値を設定し(ステップA381)、対象の大当り乱数の値が下限判定値未満かを判定する(ステップA382)。なお、大当りであるとは大当り乱数が大当り判定値と一致することである。大当り判定値は連続する複数の値であり、大当り乱数が、大当り判定値の下限の値である下限判定値以上で、かつ、大当り判定値の上限の値である上限判定値以下である場合に、大当りであると判定される。
大当り乱数の値が下限判定値未満である場合(ステップA382;Y)は、判定結果としてはずれを設定し(ステップA387)、大当り判定処理を終了する。
また、大当り乱数の値が下限判定値未満でない場合(ステップA382;N)は、高確率状態であるかを判定する(ステップA383)。
そして、高確率状態である場合(ステップA383;Y)は、高確率中の上限判定値を設定し(ステップA384)、対象の大当り乱数の値が上限判定値より大きいかを判定する(ステップA386)。また、高確率状態でない場合(ステップA383;N)は、低確率中の上限判定値を設定し(ステップA385)、対象の大当り乱数の値が上限判定値より大きいかを判定する(ステップA386)。
大当り乱数の値が上限判定値より大きい場合(ステップA386;Y)は、判定結果としてはずれを設定し(ステップA387)、大当り判定処理を終了する。
また、大当り乱数の値が上限判定値より大きくない場合(ステップA386;N)、すなわち大当りである場合は、判定結果として大当りを設定し(ステップA388)、大当り判定処理を終了する。
〔特図1停止図柄設定処理〕
図36には、上述の特図1変動開始処理における特図1停止図柄設定処理(ステップA323)を示した。この特図1停止図柄設定処理では、まず、大当りフラグ1が大当りかを判定し(ステップA391)、大当りである場合(ステップA391;Y)は、特図1大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップA392)。次に、特図1大当り図柄テーブルを設定して(ステップA393)、ロードした大当り図柄乱数に対応する停止図柄番号を取得し、特図1停止図柄番号領域にセーブする(ステップA394)。この処理により特別結果の種類が選択される。
その後、特図1大当り停止図柄情報テーブルを設定して(ステップA395)、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブする(ステップA396)。停止図柄パターンとは、特図表示器(ここでは特図1表示器51a)での停止図柄や表示装置41での停止図柄を設定するためのものである。次に、停止図柄番号に対応するラウンド数上限値情報(本実施形態の場合、16Rまたは6Rを示す情報)を取得し、ラウンド数上限値情報領域にセーブして(ステップA397)、停止図柄番号に対応する確率変動判定データを取得し、確率変動判定データ領域にセーブして(ステップA398)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップA401)。ここで、確率変動判定データは、大当り後にどのモードに移行するかを示す情報であり、本実施形態では、ステップA398において、「低確率データ(通常(普電サポートなし))」、「高確率データ1(確変(普電サポートあり))」、または「高確率データ2(潜伏確変(普電サポートなし))」が取得されて確率変動判定データ領域にセーブされる。
一方、大当りフラグ1が大当りでない場合(ステップA391;N)は、はずれ時の停止図柄番号を特図1停止図柄番号領域にセーブし(ステップA399)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップA400)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップA401)。以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップA402)、演出コマンド設定処理(ステップA403)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(ステップA404)、特図1大当り図柄乱数格納領域(保留数1用)を0クリアして(ステップA405)、特図1停止図柄設定処理を終了する。
〔特図2停止図柄設定処理〕
図37には、上述の特図2変動開始処理における特図2停止図柄設定処理(ステップA343)を示した。この特図2停止図柄設定処理では、まず、大当りフラグ2が大当りかを判定し(ステップA411)、大当りである場合(ステップA411;Y)は、特図2大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップA412)。次に、特図2大当り図柄テーブルを設定して(ステップA413)、ロードした大当り図柄乱数に対応する停止図柄番号を取得し、特図2停止図柄番号領域にセーブする(ステップA414)。この処理により特別結果の種類が選択される。
その後、特図2大当り停止図柄情報テーブルを設定して(ステップA415)、停止図柄番号に対応する停止図柄パターンを取得し、停止図柄パターン領域にセーブする(ステップA416)。停止図柄パターンとは、特図表示器(ここでは特図2表示器51b)での停止図柄や表示装置41での停止図柄を設定するためのものである。次に、停止図柄番号に対応するラウンド数上限値情報(本実施形態の場合、16Rまたは6Rを示す情報)を取得し、ラウンド数上限値情報領域にセーブして(ステップA417)、停止図柄番号に対応する確率変動判定データを取得し、確率変動判定データ領域にセーブして(ステップA418)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップA421)。
一方、大当りフラグ2が大当りでない場合(ステップA411;N)は、はずれ時の停止図柄番号を特図2停止図柄番号領域にセーブし(ステップA419)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップA420)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップA421)。以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップA422)、演出コマンド設定処理(ステップA423)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブし(ステップA424)、特図2大当り図柄乱数格納領域(保留数1用)を0クリアして(ステップA425)、特図2停止図柄設定処理を終了する。
すなわち、遊技制御装置100が、第1始動入賞口36での遊技球の検出に基づいて変動表示ゲームとして第1変動表示ゲームを実行し、第2始動入賞口97や普通変動入賞装置37での遊技球の検出に基づいて変動表示ゲームとして第2変動表示ゲームを実行する変動表示ゲーム実行手段をなす。また、遊技制御装置100が、判定手段(遊技制御装置100)による判定結果に基づき変動表示ゲームの実行を制御する変動表示ゲーム実行制御手段をなす。
〔特図情報設定処理〕
次に、上述の特図保留情報判定処理、特図1変動開始処理、及び特図2変動開始処理における特図情報設定処理(ステップA180,A324,A344)の詳細について説明する。
図38に示すように特図情報設定処理では、まず、変動グループ選択ポインタテーブルを設定して(ステップA431)、現在の確率状態及び停止図柄バターン番号に対応する変動グループ選択ポインタを取得する(ステップA432)。ここで、本実施形態では、停止図柄パターン番号として、「0:はずれ図柄」、「1:16R確変図柄」、「2:6R確変図柄A」、「3:6R確変図柄B」、「4:6R確変図柄C」、または「5:6R通常図柄」が設定されている。また、現在の確率状態として、「1:通常(普電サポートなし)」、「2:確変(普電サポートあり)」、または「3:潜伏確変(普電サポートなし)」が設定されている。
次いで、停止図柄パターン番号が「0」であるか、すなわち停止図柄パターンがはずれ図柄パターンであるか判定する(ステップA433)。
ステップA433で、停止図柄パターンがはずれ図柄パターンでないと判定した場合(ステップA433;N)には、ステップA432で取得した変動グループ選択ポインタを、変動グループ選択ポインタ領域にセーブして(ステップA435)、特図情報設定処理を終了する。
一方、ステップA433で、停止図柄パターンがはずれ図柄パターンであると判定した場合(ステップA433;Y)には、特図1保留数と特図2保留数の合計値に対応する値に変動グループ選択ポインタを更新し(ステップA434)、当該更新した変動グループ選択ポインタを、変動グループ選択ポインタ領域にセーブして(ステップA435)、特図情報設定処理を終了する。
このように、本実施形態では、停止図柄パターンが大当り図柄パターンである場合には、変動パターンの振り分けは保留数に影響しないが、停止図柄パターンがはずれ図柄パターンである場合には、変動パターンの振り分けは保留数に影響する。
具体的には、例えば、停止図柄パターンがはずれ図柄パターンであって、現在の遊技状態が通常(普電サポートなし)または潜伏確変(普電サポートなし)の場合には、特図1保留数と特図2保留数の合計値が「1」である際と、「2」,「3」である際と、「4」,「5」である際と、「6」,「7」,「8」である際で変動パターンの振り分けが異なる。
また、停止図柄パターンがはずれ図柄パターンであって、現在の遊技状態が確変(普電サポートあり)の場合には、特図1保留数と特図2保留数の合計値が「1」である際と、「2」である際と、「3」である際と、「4」,「5」,「6」,「7」,「8」である際で変動パターンの振り分けが異なる。
〔変動パターン設定処理〕
次に、上述の特図保留情報判定処理、特図1変動開始処理、及び特図2変動開始における変動パターン設定処理(ステップA181,A326,A346)の詳細について説明する。
図39に示すように変動パターン設定処理では、まず、変動グループアドレステーブルを設定し(ステップA441)、変動グループ選択ポインタに対応する変動グループテーブルのアドレスを取得し、準備して(ステップA442)、対象(特図1または特図2)の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードし、準備する(ステップA443)。
次いで、2バイト振り分け処理(ステップA444)を行って、振り分けられた結果得られた変動パターン選択テーブルのアドレスを取得し、準備して(ステップA445)、対象(特図1または特図2)の変動パターン乱数2格納領域(保留数1用)から変動パターン乱数2をロードし、準備する(ステップA446)。
次いで、振り分け処理(ステップA447)を行い、振り分けられた結果得られた変動パターン番号を取得し、変動パターン番号領域にセーブして(ステップA448)、変動パターン設定処理を終了する。すなわち、遊技制御装置100が、ゲームの実行態様である変動パターンを複数のうちから設定する変動パターン設定手段をなす。
〔変動開始情報設定処理〕
次に、上述の特図1変動開始処理及び特図2変動開始処理における変動開始情報設定処理(ステップA327,A347)の詳細について説明する。図40に示すように変動開始情報設定処理では、まず、対象の変動パターン乱数1〜2の乱数格納領域をクリアする(ステップA451)。次に、変動時間値テーブルを設定し(ステップA452)、変動パターン番号に対応する変動時間値を取得し、特図ゲーム処理タイマ領域にセーブする(ステップA453)。
そして、変動パターン番号に対応する変動コマンド(MODE,ACTION)を準備して(ステップA454)、演出コマンド設定処理を行う(ステップA455)。次に、変動図柄判別フラグに対応する特図保留数を−1更新して(ステップA456)、変動図柄判別フラグに対応する乱数格納領域のアドレスを設定する(ステップA457)。次いで、乱数格納領域をシフトし(ステップA458)、シフト後の空き領域をクリアする(ステップA459)。次いで、変動順序フラグ格納領域をシフトし(ステップA460)、シフト後の空き領域をクリアして(ステップA461)、変動開始情報設定処理を終了する。
以上の処理により、特図変動表示ゲームの開始に関する情報が設定される。すなわち、遊技制御装置100が、始動記憶手段(遊技制御装置100)に記憶された各種の乱数値の判定を行う判定手段をなす。また、遊技制御装置100が、始動記憶の判定情報に基づいて、変動表示ゲームで実行する識別情報の変動パターンを決定することが可能な変動パターン決定手段をなす。
そして、これらの特図変動表示ゲームの開始に関する情報は後に演出制御装置300に送信され、演出制御装置300では、特図変動表示ゲームの開始に関する情報の受信に基づき、決定された変動パターンに応じて飾り特図変動表示ゲームでの詳細な演出内容を設定する。これらの特図変動表示ゲームの開始に関する情報としては、始動記憶数(保留数)に関する情報を含む飾り特図保留数コマンド、停止図柄に関する情報を含む飾り特図コマンド、特図変動表示ゲームの変動パターンに関する情報を含む変動コマンド、停止時間の延長に関する情報を含む停止情報コマンドが挙げられ、この順でコマンドが演出制御装置300に送信される。特に、飾り特図コマンドを変動コマンドよりも先に送信することで、演出制御装置300での処理を効率よく進めることができる。
〔特図変動中処理〕
次に、上述の特図ゲーム処理における特図変動中処理(ステップA9)の詳細について説明する。
図41に示すように、特図変動中処理では、まず、変動図柄判別フラグに対応する図柄停止コマンドを準備して(ステップA501)、演出コマンド設定処理(ステップA502)を行う。
次いで、停止図柄パターン番号に対応する表示時間を設定して(ステップA503)、設定した表示時間を特図ゲーム処理タイマ領域にセーブする(ステップA504)。本実施形態の場合、停止図柄パターンがはずれ図柄パターンである場合には表示時間として800m秒を設定し、停止図柄パターンが大当り図柄パターンである場合には表示時間として2000m秒を設定する。
次いで、処理番号として特図表示中処理にかかる「2」を設定し(ステップA505)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA506)。
次いで、特図1の変動終了に関する信号(例えば、特別図柄1変動中信号をOFF)を試験信号出力データ領域にセーブし(ステップA507)、特図2の変動終了に関する信号(例えば、特別図柄2変動中信号をOFF)を試験信号出力データ領域にセーブして(ステップA508)、外部情報端子に出力用の特図変動表示ゲームの実行回数に係る図柄確定回数信号制御タイマ領域に制御タイマ初期値(例えば、256m秒)をセーブする(ステップA509)。その後、特図1表示器51aにおける特図1変動表示ゲームの制御用の情報として、特図1表示器51aでの変動停止に係る停止フラグを特図1変動制御フラグ領域にセーブし(ステップA510)、特図2表示器51bにおける特図2変動表示ゲームの制御用の情報として、特図2表示器51bでの変動停止に係る停止フラグを特図2変動制御フラグ領域にセーブして(ステップA511)、特図変動中処理を終了する。
〔特図表示中処理〕
次に、上述の特図ゲーム処理における特図表示中処理(ステップA10)の詳細について説明する。図42に示すように、特図表示中処理では、まず、特図1変動開始処理における大当りフラグ1設定処理にて設定された大当りフラグ1と、特図2変動開始処理における大当りフラグ2設定処理にて設定された大当りフラグ2と、をロードして(ステップA601)、RWMの大当りフラグ1領域及び大当りフラグ2領域をクリアする処理(ステップA602)を行う。そして、ロードされた大当りフラグ2が大当りかを判定して(ステップA603)、大当りである(ステップA603;Y)と判定すると、第2特図変動表示ゲームの大当り(特図2大当り)の開始に関する試験信号(例えば、条件装置作動中信号をON、役物連続作動装置作動中信号をON、特別図柄2当り信号をON)をRWMの試験信号出力データ領域にセーブして(ステップA606)、ラウンド数上限値テーブルを設定する(ステップA607)。
一方、ステップA603にて、大当りフラグ2のチェックの結果、大当りでない(ステップA603;N)と判定すると、ロードされた大当りフラグ1が大当りかを判定して(ステップA604)、大当りである(ステップA604;Y)と判定すると、第1特図変動表示ゲームの大当り(特図1大当り)の開始に関する試験信号(例えば、条件装置作動中信号をON、役物連続作動装置作動中信号をON、特別図柄1当り信号をON)をRWMの試験信号出力データ領域にセーブして(ステップA605)、ラウンド数上限値テーブルを設定する(ステップA607)。
ラウンド数上限値テーブルを設定する処理(ステップA607)を行った後、ラウンド数上限値情報に対応するラウンド数上限値(本実施形態の場合、16Rまたは6R)を取得し、RWMのラウンド数上限値領域にセーブする(ステップA608)。続けて、ラウンド数上限値情報に対応するラウンドLEDポインタを取得し、RWMのラウンドLEDポインタ領域にセーブする(ステップA609)。
次に、停止図柄パターンに対応した飾り特図コマンドをRWMの飾り特図コマンド領域からロードし、準備して(ステップA610)、演出コマンド設定処理(ステップA613)を行う。その後、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報に係る確率情報コマンドを準備して(ステップA612)、演出コマンド設定処理(ステップA613)を行う。続けて、特図1又は特図2停止図柄設定処理にて設定された図柄情報(停止図柄番号又は停止図柄パターン)に対応するファンファーレコマンドを準備して(ステップA614)、演出コマンド設定処理(ステップA615)を行う。
その後、大当りファンファーレ時間(例えば、10000m秒)を特図ゲーム処理タイマ領域にセーブし(ステップA616)、大入賞口開放情報に対応する大入賞口(特別変動入賞装置38)の大入賞口不正入賞数領域をクリアして(ステップA617)、大入賞口開放情報に対応する大入賞口の大入賞口不正監視期間フラグ領域に不正監視期間外フラグをセーブする(ステップA618)。その後、ファンファーレ/インターバル中処理移行設定処理1(ステップA619)を行い、特図表示中処理を終了する。
一方、ステップA604にて、大当りフラグ1が大当りでない場合(ステップA604;N)は、処理番号として特図普段処理にかかる「0」を設定して(ステップA620)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA621)。
次いで、変動図柄判別フラグ領域をクリアし(ステップA622)、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップA623)、特図表示中処理を終了する。
〔ファンファーレ/インターバル中処理移行設定処理1〕
次に、上述の特図表示中処理におけるファンファーレ/インターバル中処理移行設定処理1(ステップA619)の詳細について説明する。図43に示すように、ファンファーレ/インターバル中処理移行設定処理1では、まず、処理番号としてファンファーレ/インターバル中処理にかかる「3」を設定し(ステップA631)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA632)。
次に、大当り(特別遊技状態)の開始に関する信号(例えば、大当り1信号をON、大当り2信号をON、大当り3信号をON、大当り4信号をON)を外部情報出力データ領域にセーブし(ステップA633)、高確率状態と時短状態の終了に関する信号(例えば、特別図柄1高確率状態信号をOFF、特別図柄2高確率状態信号をOFF、特別図柄1変動時間短縮状態信号をOFF、特別図柄2変動時間短縮状態信号をOFF、普通図柄1高確率状態信号をOFF)を試験信号出力データ領域にセーブする(ステップA634)。なお、特図高確率中でも、普図は確率状態しか変化しないので、普通図柄1変動時間短縮状態信号及び普通電動役物1開放延長状態信号は常時OFFされている。その後、特別遊技状態で実行したラウンド数を管理するためのラウンド数領域をクリアし(ステップA635)、遊技状態表示番号領域に時短なしの番号をセーブして(ステップA636)、普図ゲームモードフラグ領域に普図低確率フラグをセーブする(ステップA637)。
そして、変動図柄判別フラグ領域をクリアし(ステップA638)、高確率状態の表示に係る遊技盤30に設けた遊技状態表示LED(第3遊技状態表示部58)を消灯させるために高確率報知フラグ領域をクリアして(ステップA639)、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブする(ステップA640)。次に、停電復旧時に演出制御装置300に出力されるコマンドをセーブする停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブし(ステップA641)、右打ち指示に関する信号(例えば、発射位置指定信号1をON)を試験信号出力データ領域にセーブし(ステップA642)、右打ち中の表示LED(例えば、第1遊技状態表示部56)を点灯させるため、遊技状態表示番号2領域に右打ち状態中の番号をセーブして(ステップA643)、ファンファーレ/インターバル中処理移行設定処理1を終了する。これにより、特別遊技状態の発生に伴い演出モードの情報が一旦クリアされることとなる。
〔ファンファーレ/インターバル中処理〕
次に、上述の特図ゲーム処理におけるファンファーレ/インターバル中処理(ステップA11)の詳細について説明する。図44に示すように、ファンファーレ/インターバル中処理では、まず、特別遊技状態のラウンド数を+1更新し(ステップA701)、特別遊技状態のラウンド数に対応するラウンドコマンドを準備して(ステップA702)、演出コマンド設定処理(ステップA703)を行う。
次いで、大入賞口開放時間(例えば、29秒)を特図ゲーム処理タイマ領域にセーブし(ステップA704)、処理番号として大入賞口開放中処理にかかる「4」を設定して(ステップA705)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA706)。
次いで、大入賞口の開放開始に関する信号(例えば、特別電動役物1作動中信号をON)を試験信号出力データ領域にセーブして(ステップA707)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアする(ステップA708)。そして、特別変動入賞装置38の開閉扉38cを開放するために、大入賞口ソレノイド出力データ領域にオンデータをセーブして(ステップA709)、ファンファーレ/インターバル中処理を終了する。
〔大入賞口開放中処理〕
次に、上述の特図ゲーム処理における大入賞口開放中処理(ステップA12)の詳細について説明する。図45に示すように、大入賞口開放中処理では、まず、実行中の特別遊技状態における現在のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して現在のラウンドが最終ラウンドであるかを判定する(ステップA801)。
そして、最終ラウンドでない場合(ステップA801;N)は、ラウンド間のインターバルに係るインターバルコマンドを準備して(ステップA802)、演出コマンド設定処理(ステップA804)を行い、ステップA805の処理に移行する。
一方、最終ラウンドである場合(ステップA801;Y)は、特別遊技状態の終了の際におけるエンディング表示画面の表示制御等に係るエンディングコマンドを準備して(ステップA803)、演出コマンド設定処理(ステップA804)を行い、ステップA805の処理に移行する。
ステップA805では、処理番号として大入賞口残存球処理にかかる「5」に設定する(ステップA805)。そして、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA806)。
次いで、残存球処理時間(例えば、1.9秒)を特図ゲーム処理タイマ領域にセーブし(ステップA807)、特別変動入賞装置38の開閉扉38cを閉鎖するために、大入賞口ソレノイド38bをオフさせるためのオフデータを大入賞口ソレノイド出力データ領域にセーブして(ステップA808)、大入賞口開放中処理を終了する。
〔大入賞口残存球処理〕
次に、上述の特図ゲーム処理における大入賞口残存球処理(ステップA13)の詳細について説明する。図46に示すように、大入賞口残存球処理では、まず、実行中の特別遊技状態における現在のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して現在のラウンドが最終ラウンドであるかを判定する(ステップA901)。
そして、特別遊技状態における現在のラウンドが最終ラウンドでない場合(ステップA901;N)は、処理番号としてファンファーレ/インターバル中処理にかかる「3」を設定し(ステップA902)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA903)。
次いで、インターバル時間(例えば、0.1秒)を特図ゲーム処理タイマ領域にセーブし(ステップA904)、大入賞口(特別変動入賞装置38)の開放終了に関する信号(例えば、特別電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブして(ステップA905)、大入賞口残存球処理を終了する。
一方、特別遊技状態における現在のラウンドが最終ラウンドである場合(ステップA901;Y)は、処理番号として大当り終了処理にかかる「6」を設定し(ステップA906)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA907)。
次いで、エンディング時間(例えば、5.1秒)を特図ゲーム処理タイマ領域にセーブして(ステップA908)、大入賞口(特別変動入賞装置38)の開放終了に関する信号(例えば、特別電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブする(ステップA909)。
次いで、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアし(ステップA910)、特別遊技状態のラウンド数を記憶するラウンド数領域の情報をクリアし(ステップA911)、特別遊技状態のラウンド数の上限値を記憶するラウンド数上限値領域の情報をクリアして(ステップA912)、大入賞口残存球処理を終了する。
〔大当り終了処理〕
次に、上述の特図ゲーム処理における大当り終了処理(ステップA14)の詳細について説明する。図47に示すように、この大当り終了処理では、まず、確率変動判定データによるサブルーチンコールを行う(ステップA1001)。
ステップA1001で、確率変動判定データが「低確率データ(通常(普電サポートなし))」の場合には、大当り終了設定処理1(ステップA1002)を行って、ステップA1005の処理に移行する。
また、ステップA1001で、確率変動判定データが「高確率データ1(確変(普電サポートあり))」の場合には、大当り終了設定処理2(ステップA1003)を行って、ステップA1005の処理に移行する。
また、ステップA1001で、確率変動判定データが「高確率データ2(潜伏確変(普電サポートなし))」の場合には、大当り終了設定処理3(ステップA1004)を行って、ステップA1005の処理に移行する。
ステップA1005では、停電復旧時送信コマンド領域から確率情報コマンドをロードし、準備する(ステップA1005)。そして、演出コマンド設定処理(ステップA1006)を行う。
次いで、処理番号として特図普段処理にかかる「0」を設定して(ステップA1007)、その処理番号を特図ゲーム処理番号領域にセーブする(ステップA1008)。
次いで、大当りの終了に関する信号(例えば、大当り1信号をOFF、大当り3信号をOFF、大当り4信号をOFF)を外部情報出力データ領域にセーブして(ステップA1009)、大当りの終了に関する信号(例えば、条件装置作動中信号をOFF、役物連続作動装置作動中信号をOFF、特別図柄1当り信号をOFF、特別図柄2当り信号をOFF)を試験信号出力データ領域にセーブする(ステップA1010)。
次いで、確率判定フラグ領域の情報をクリアし(ステップA1011)、大当りのラウンド回数を示すラウンドLEDのポインタ領域の情報をクリアし(ステップA1012)、大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップA1013)、大当り終了処理を終了する。
〔大当り終了設定処理1〕
図48(a)には、上述の大当り終了処理における大当り終了設定処理1(ステップA1002)を示した。この大当り終了設定処理1では、まず、時短状態なしに関する信号(例えば、大当り2信号をOFF)を外部情報出力データ領域にセーブして(ステップA1021)、低確率状態と時短状態なしの開始に関する信号(例えば、特別図柄1高確率状態信号をOFF、特別図柄2高確率状態信号をOFF、特別図柄1変動時間短縮状態信号をOFF、特別図柄2変動時間短縮状態信号をOFF、普通図柄1高確率状態信号をOFF)を試験信号出力データ領域にセーブする(ステップA1022)。
次いで、遊技状態表示番号領域に時短状態なしの番号をセーブし(ステップA1023)、普図ゲームモードフラグ領域に普図低確率フラグをセーブして(ステップA1024)、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブする(ステップA1025)。
次いで、左打ち指示に関する信号(例えば、発射位置指定信号1をOFF)を試験信号出力データ領域にセーブして(ステップA1026)、右打ち中の表示LED(第1遊技状態表示部56)を消灯させるため、遊技状態表示番号2領域に左打ち状態中の番号をセーブする(ステップA1027)。
次いで、停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブして(ステップA1028)、大当り終了設定処理1を終了する。
〔大当り終了設定処理2〕
図48(b)には、上述の大当り終了処理における大当り終了設定処理2(ステップA1003)を示した。この大当り終了設定処理2では、まず、時短状態の開始に関する信号(例えば、大当り2信号をON)を外部情報出力データ領域にセーブする(ステップA1031)。時短状態の開始に関する信号は、大当り中から出力されているので継続する形で、外部情報出力データ領域にセーブされる。
次いで、高確率状態と時短状態ありの開始に関する信号(例えば、特別図柄1高確率状態信号をON、特別図柄2高確率状態信号をON、特別図柄1変動時間短縮状態信号をON、特別図柄2変動時間短縮状態信号をON、普通図柄1高確率状態信号をON)を試験信号出力データ領域にセーブする(ステップA1032)。
次に、遊技状態表示番号領域に時短状態ありの番号をセーブし(ステップA1033)、普図ゲームモードフラグ領域に普図高確率フラグをセーブして(ステップA1034)、特図ゲームモードフラグ領域に特図高確率&時短ありフラグをセーブする(ステップA1035)。
次いで、停電復旧時送信コマンド領域に確率情報コマンド(高確率)をセーブして(ステップA1036)、大当り終了設定処理2を終了する。なお、本実施形態の場合、時短状態中は右打ちモードであるが、大当り中から右打ちモードが設定されているので、大当り終了設定処理2では右打ちに関する設定を行わない。
〔大当り終了設定処理3〕
図49には、上述の大当り終了処理における大当り終了設定処理3(ステップA1004)を示した。この大当り終了設定処理3では、まず、時短状態なしに関する信号(例えば、大当り2信号をOFF)を外部情報出力データ領域にセーブして(ステップA1041)、高確率状態と時短状態なしの開始に関する信号(例えば、特別図柄1高確率状態信号をON、特別図柄2高確率状態信号をON、特別図柄1変動時間短縮状態信号をOFF、特別図柄2変動時間短縮状態信号をOFF、普通図柄1高確率状態信号をOFF)を試験信号出力データ領域にセーブする(ステップA1042)。
次いで、遊技状態表示番号領域に時短状態なしの番号をセーブし(ステップA1043)、普図ゲームモードフラグ領域に普図低確率フラグをセーブして(ステップA1044)、特図ゲームモードフラグ領域に特図高確率&時短なしフラグをセーブする(ステップA1045)。
次いで、左打ち指示に関する信号(例えば、発射位置指定信号1をOFF)を試験信号出力データ領域にセーブして(ステップA1046)、右打ち中の表示LED(第1遊技状態表示部56)を消灯させるため、遊技状態表示番号2領域に左打ち状態中の番号をセーブする(ステップA1047)。
次いで、停電復旧時送信コマンド領域に確率情報コマンド(潜伏)をセーブして(ステップA1048)、大当り終了設定処理3を終了する。
〔演出コマンド設定処理〕
次に、タイマ割込み処理中に実行される各処理における演出コマンド設定処理の詳細について説明する。図50に示すように、演出コマンド設定処理では、まず、演出用シリアル送信バッファのステータスを読み込み(ステップA2001)、演出用シリアル送信バッファは満杯であるかを判定する(ステップA2002)。
演出用シリアル送信バッファが満杯である場合(ステップA2002;Y)は、演出用シリアル送信バッファのステータスを読み込む処理(ステップA2001)に戻る。
また、演出用シリアル送信バッファが満杯でない場合(ステップA2002;N)は、コマンドデータ(MODE)を演出用シリアル送信バッファに書き込む(ステップA2003)。
次いで、演出用シリアル送信バッファのステータスを読み込み(ステップA2004)、演出用シリアル送信バッファは満杯であるかを判定する(ステップA2005)。
演出用シリアル送信バッファが満杯である場合(ステップA2005;Y)は、演出用シリアル送信バッファのステータスを読み込む処理(ステップA2004)に戻る。
また、演出用シリアル送信バッファが満杯でない場合(ステップA2005;N)は、コマンドデータ(ACTION)を演出用シリアル送信バッファに書き込んで(ステップA2006)、演出コマンド設定処理を終了する。
〔図柄変動制御処理〕
図51に、前述の特図ゲーム処理における図柄変動制御処理(ステップA16,A18)、後述の普図ゲーム処理における図柄変動制御処理(ステップB15)を示した。図柄変動制御処理は、特別図柄(第1特図、第2特図等)や普通図柄(普図)の変動の制御と特別図柄や普通図柄の表示データの設定を行う処理である。
この図柄変動制御処理では、まず、制御対象の図柄(例えば、第1特図、第2特図、及び普図の何れか)にかかる変動制御フラグが変動中であるかチェックする(ステップA2101)。本実施形態の場合、ステップA15、ステップA17、ステップB14にて準備した変動制御テーブル上に、変動制御フラグ領域の下位アドレス、表示テーブル2(停止用)のアドレス、表示テーブル1(変動用)のアドレスが定義されている。
制御対象の図柄にかかる変動制御フラグが変動中である場合(ステップA2102;Y)は、制御対象の図柄に対応する図柄表示テーブル(変動用)を取得する(ステップA2103)。本実施形態の場合、ステップA15、ステップA17、ステップB14にて準備した変動制御テーブル上に、図柄表示テーブル(変動用)のアドレスが定義されている。
次いで、制御対象の点滅制御タイマを−1更新して(ステップA2104)、更新後の点滅制御タイマが「0」であるかを判定する(ステップA2105)。
更新後の点滅制御タイマが「0」でない場合(ステップA2105;N)は、制御対象の変動図柄番号領域の値に対応する表示データを取得する(ステップA2108)。そして、取得した表示データをRAM111C内に設けられた対象のセグメント領域にセーブして(ステップA2111)、図柄変動制御処理を終了する。
また、更新後の点滅制御タイマが「0」である場合(ステップA2105;Y)は、点滅制御タイマ初期値(例えば、100m秒)を対象の点滅タイマ領域にセーブし(ステップA2106)、制御対象の変動図柄番号を+1更新して(ステップA2107)、制御対象の変動図柄番号領域の値に対応する表示データを取得する(ステップA2108)。そして、取得した表示データをRAM111C内に設けられた対象のセグメント領域にセーブして(ステップA2111)、図柄変動制御処理を終了する。
一方、制御対象の図柄にかかる変動制御フラグが変動中でない場合(ステップA2102;N)は、制御対象の図柄に対応する図柄表示テーブル(停止用)を取得する(ステップA2109)。本実施形態の場合、ステップA15、ステップA17、ステップB14にて準備した変動制御テーブル上に、図柄表示テーブル(停止用)のアドレスが定義されている。
次いで、制御対象の停止図柄番号領域の値に対応する表示データを取得し(ステップA2110)、取得した表示データを対象のセグメント領域にセーブして(ステップA2111)、図柄変動制御処理を終了する。
〔振り分け処理〕
図52(a)には、上述の変動パターン設定処理における振り分け処理(ステップA447)を示した。
この振り分け処理では、まず、選択テーブル(ステップA445にて準備した変動パターン選択テーブル)の先頭のデータが振り分けなしのコード(すなわち「0」)であるかをチェックする(ステップA2201)。
そして、選択テーブル(変動パターン選択テーブル)の先頭のデータが振り分けなしのコードである場合(ステップA2202;Y)は、振り分けた結果に対応するデータのアドレスに更新して(ステップA2207)、振り分け処理を終了する。
一方、選択テーブル(変動パターン選択テーブル)の先頭のデータが振り分けなしのコードでない場合(ステップA2202;N)は、選択テーブル(変動パターン選択テーブル)に最初に規定されている一の振り分け値を取得する(ステップA2203)。
続けて、ステップA446にて準備した乱数値(変動パターン乱数2の値)からステップA2203にて取得した振り分け値を減算して新たな乱数値を算出し(ステップA2204)、当該算出した新たな乱数値が「0」よりも小さいかを判定する(ステップA2205)。そして、新たな乱数値が「0」よりも小さくない場合(ステップA2205;N)は、次の振り分け値のアドレスに更新した後(ステップA2206)、ステップA2203の処理に移行して、それ以降の処理を行う。
すなわち、選択テーブル(変動パターン選択テーブル)に次に規定されている振り分け値を取得し(ステップA2203)、その後、前回のステップA2205にて判定済みの乱数値から振り分け値を減算することで新たな乱数値を算出して(ステップA2204)、算出した新たな乱数値が「0」よりも小さいか否かを判定する(ステップA2205)。
上記の処理をステップA2205にて新たな乱数値が「0」よりも小さいと判定(ステップA2205;Y)するまで実行する。これにより、選択テーブル(変動パターン選択テーブル)に規定されている少なくとも一の変動パターン番号の中から何れか一の変動パターン番号が選択される。
そして、ステップA2205にて、新たな乱数値が「0」よりも小さいと判定すると(ステップA2205;Y)、振り分けた結果に対応するデータのアドレスに更新して(ステップA2207)、振り分け処理を終了する。
〔2バイト振り分け処理〕
図52(b)には、上述の変動パターン設定処理における2バイト振り分け処理(ステップA444)を示した。2バイト振り分け処理は、変動パターン乱数1に基づいて変動グループテーブルから特図変動表示ゲームの変動パターン選択テーブルを選択するための処理である。
この2バイト振り分け処理では、まず、選択テーブル(ステップA442にて準備した変動グループテーブル)の先頭のデータが振り分けなしのコード(すなわち「0」)であるかをチェックする(ステップA2301)。
そして、選択テーブル(変動グループテーブル)の先頭のデータが振り分けなしのコードである場合(ステップA2302;Y)は、振り分けた結果に対応するデータのアドレスに更新して(ステップA2307)、2バイト振り分け処理を終了する。
一方、選択テーブル(変動グループテーブル)の先頭のデータが振り分けなしのコードでない場合(ステップA2302;N)は、選択テーブル(変動グループテーブル)に最初に規定されている一の振り分け値を取得する(ステップA2303)。
続けて、ステップA443にて準備した乱数値(変動パターン乱数1の値)からステップA2303にて取得した振り分け値を減算して新たな乱数値を算出し(ステップA2304)、当該算出した新たな乱数値が「0」よりも小さいかを判定する(ステップA2305)。そして、新たな乱数値が「0」よりも小さくない場合(ステップA2305;N)は、次の振り分け値のアドレスに更新した後(ステップA2306)、ステップA2303の処理に移行して、それ以降の処理を行う。
すなわち、選択テーブル(変動グループテーブル)に次に規定されている振り分け値を取得し(ステップA2303)、その後、前回のステップA2305にて判定済みの乱数値から振り分け値を減算することで新たな乱数値を算出して(ステップA2304)、算出した新たな乱数値が「0」よりも小さいか否かを判定する(ステップA2305)。
上記の処理をステップA2305にて新たな乱数値が「0」よりも小さいと判定(ステップA2305;Y)するまで実行する。これにより、選択テーブル(変動グループテーブル)に規定されている少なくとも一の変動パターン選択テーブルの中から何れか一の変動パターン選択テーブルが選択される。
そして、ステップA2305にて、新たな乱数値が「0」よりも小さいと判定すると(ステップA2305;Y)、振り分けた結果に対応するデータのアドレスに更新して(ステップA2307)、2バイト振り分け処理を終了する。
図52(a)に示す振り分け処理の構成と、図52(b)に示す2バイト振り分け処理の構成とは、基本的に同じであるが、振り分けに使用する乱数のサイズが1バイトであるか、2バイトであるかという点で異なるため、計算するためのプログラム命令が異なっている。
〔普図ゲーム処理〕
次に、上述のタイマ割込み処理における普図ゲーム処理(ステップS110)の詳細について説明する。普図ゲーム処理では、ゲートスイッチ34aの入力の監視と、普図変動表示ゲームに関する処理全体の制御、普図の表示の設定等を行う。
図53に示すように、普図ゲーム処理では、まず、ゲートスイッチ34aからの入力を監視するゲートスイッチ監視処理(ステップB1)を行い、始動口2スイッチ37aからの入力を監視する普電入賞スイッチ監視処理(ステップB2)を行う。次に、普図ゲーム処理タイマが「0」でなければ−1更新する(ステップB3)。なお、普図ゲーム処理タイマの最小値は「0」に設定されている。そして、普図ゲーム処理タイマの値が「0」であるかを判定する(ステップB4)。
普図ゲーム処理タイマの値が「0」である(ステップB4;Y)、すなわちタイムアップした又はすでにタイムアップしていたと判定すると、普図ゲーム処理番号に対応する処理に分岐させるために参照する普図ゲームシーケンス分岐テーブルをレジスタに設定する処理(ステップB5)を行って、当該テーブルを用いて普図ゲーム処理番号に対応する処理の分岐先アドレスを取得する処理(ステップB6)を行う。そして、普図ゲーム処理番号に応じてサブルーチンコールを行う(ステップB7)。
ステップB7にて、普図ゲーム処理番号が「0」の場合は、普図変動表示ゲームの変動開始を監視し、普図変動表示ゲームの変動開始の設定や演出の設定や、普図変動中処理を行うために必要な情報の設定等を行う普図普段処理(ステップB8)を行う。
また、ステップB7にて、普図ゲーム処理番号が「1」の場合は、普図表示中処理を行うために必要な情報の設定等を行う普図変動中処理(ステップB9)を行う。
また、ステップB7にて、普図ゲーム処理番号が「2」の場合は、普図変動表示ゲームの結果が当りであれば、時短状態中であるか否かに応じた普電開放時間の設定や、普図当り中処理を行うために必要な情報の設定等を行う普図表示中処理(ステップB10)を行う。
また、ステップB7にて、普図ゲーム処理番号が「3」の場合は、普図当り中処理の継続、或いは普電残存球処理を行うために必要な情報の設定等を行う普図当り中処理(ステップB11)を行う。
また、ステップB7にて、普図ゲーム処理番号が「4」の場合は、普図当り終了処理を行うために必要な情報の設定等を行う普電残存球処理(ステップB12)を行う。
また、ステップB7にて、普図ゲーム処理番号が「5」の場合は、普図普段処理を行うために必要な情報の設定等を行う普図当り終了処理(ステップB13)を行う。
その後、普図表示器52による普通図柄の変動を制御するための普図変動制御テーブルを準備した後(ステップB14)、普図表示器52による普通図柄の変動の制御に係る図柄変動制御処理(ステップB15)を行って、普図ゲーム処理を終了する。
一方、ステップB4にて、普図ゲーム処理タイマの値が「0」でない(ステップB4;N)、すなわちタイムアップしていないと判定すると、ステップB14の処理に移行して、それ以降の処理を行う。
〔ゲートスイッチ監視処理〕
次に、上述の普図ゲーム処理におけるゲートスイッチ監視処理(ステップB1)の詳細について説明する。図54に示すように、ゲートスイッチ監視処理では、まず、ゲートスイッチ34aに入力があるかを判定する(ステップB101)。そして、ゲートスイッチ34aに入力がある場合(ステップB101;Y)は、右打ちする遊技状態(例えば、大当り中、特図時短中(普電サポート中))であるかを判定する(ステップB102)。
右打ちする遊技状態である場合(ステップB102;Y)は、普図保留数を取得して当該普図保留数が上限値(例えば、4)未満であるかを判定する(ステップB105)。
また、右打ちする遊技状態でない場合(ステップB102;N)は、左打ち指示コマンドを準備し(ステップB103)、演出コマンド設定処理(ステップB104)を行った後に、普図保留数を取得して当該普図保留数が上限値(例えば、4)未満であるかを判定する(ステップB105)。
普図保留数が上限値未満である場合(ステップB105;Y)は、普図保留数を+1更新し(ステップB106)、更新後の普図保留数に対応する当り乱数格納領域のアドレスを算出する(ステップB107)。そして、当り乱数を抽出し、RWMの当り乱数格納領域にセーブして(ステップB108)、当り図柄乱数を抽出し、RWMの当り図柄乱数格納領域にセーブして(ステップB109)、ゲートスイッチ監視処理を終了する。
また、ステップB101にてゲートスイッチ34aに入力がないと判定した場合(ステップB101;N)や、ステップB105にて普図保留数が上限値未満でないと判定した場合(ステップB105;N)は、ゲートスイッチ監視処理を終了する。
〔普電入賞スイッチ監視処理〕
次に、上述の普図ゲーム処理における普電入賞スイッチ監視処理(ステップB2)の詳細について説明する。図55に示すように、普電入賞スイッチ監視処理では、まず、普図当り中か、すなわち普図変動表示ゲームが当り状態となって普通変動入賞装置37が所定回数の開放動作を実行中であるかを判定する(ステップB201)。そして、普図当り中である場合(ステップB201;Y)は、始動口2スイッチ37aに入力があるかを判定し(ステップB202)、始動口2スイッチ37aに入力があると判定した場合(ステップB202;Y)は、普電カウンタのカウント数を+1更新する(ステップB203)。
次に、更新後の普電カウンタのカウント数が上限値(例えば、6)以上であるかを判定して(ステップB204)、カウント数が上限値以上であると判定した場合(ステップB204;Y)は、普図当り終了ポインタ領域から当り終了ポインタ値(本実施形態の場合、「4」または「7」)をロードし、普図当り中制御ポインタ領域にセーブする(ステップB205)。このステップB205の処理は、普図の当り状態中に上限値以上の普電入賞があったことに基づいて、普通変動入賞装置37を閉じるための処理である。
次いで、普図ゲーム処理タイマ領域を0クリアして(ステップB206)、普電入賞スイッチ監視処理を終了する。すなわち、普図の当り状態中に上限値以上の普電入賞があった場合は、その時点で普図の当り状態が途中で終了するようにする。
また、ステップB201にて普図当り中でないと判定した場合(ステップB201;N)、ステップB202にて始動口2スイッチ37aに入力がないと判定した場合(ステップB202;N)、又はステップB204にて普電カウント数が上限値以上でないと判定した場合(ステップB204;N)は、普電入賞スイッチ監視処理を終了する。
〔普図普段処理〕
次に、上述の普図ゲーム処理における普図普段処理(ステップB8)の詳細について説明する。図56に示すように、普図普段処理では、まず、普図保留数が「0」であるかを判定し(ステップB301)、普図保留数が「0」である場合(ステップB301;Y)は、処理番号として普図普段処理にかかる「0」を設定し(ステップB322)、その処理番号を普図ゲーム処理番号領域にセーブし(ステップB323)、普電不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップB324)、普図普段処理を終了する。
一方、普図保留数が「0」でない場合(ステップB301;N)は、RWMの当り乱数格納領域(保留数1用)、当り図柄乱数格納領域(保留数1用)から乱数をロードし、ロードした領域(すなわち、当り乱数格納領域(保留数1用)、当り図柄乱数格納領域(保留数1用))を0クリアして(ステップB302)、普図変動表示ゲームにて当り結果となる確率が通常確率(すなわち、普図低確率)よりも高くされた普図高確率中であるか、すなわち時短状態中であるかを判定する(ステップB303)。
普図高確率中でない場合(ステップB303;N)は、普図低確率時の下限判定値(低確率下限判定値)を設定し(ステップB304)、普図高確率中である場合(ステップB303;Y)は、普図高確率時の下限判定値(高確率下限判定値)を設定する(ステップB305)。
その後、当り乱数の値が上限判定値以上であるかを判定し(ステップB306)、当り乱数の値が上限判定値以上でない場合(ステップB306;N)、当り乱数の値がステップB304又はB305にて設定した下限判定値未満であるかを判定する(ステップB307)。
当り乱数の値が上限判定値以上である場合(ステップB306;Y)や、当り乱数の値がステップB304又はB305にて設定した下限判定値未満である場合(ステップB307;Y)は、当りフラグ領域にはずれ情報をセーブし(ステップB308)、はずれ停止図柄番号を設定し(ステップB309)、はずれ図柄情報を普図停止図柄情報領域にセーブして(ステップB310)、停止図柄番号を普図停止図柄領域にセーブする(ステップB314)。
一方、当り乱数の値がステップB304又はB305にて設定した下限判定値未満でない場合(ステップB307;N)は、当りフラグ領域に当り情報をセーブし(ステップB311)、ステップB302にてロードした当り図柄乱数に対応する当り停止図柄番号を設定し(ステップB312)、停止図柄番号に対応する停止図柄情報を普図停止図柄情報領域にセーブして(ステップB313)、停止図柄番号を普図停止図柄領域にセーブする(ステップB314)。本実施形態では、普図の当り図柄として2種類の図柄(「当り図柄1」及び「当り図柄2」)が用意されている。
本実施形態の場合、普図低確率時における当りの確率は0/251、普図高確率時における当りの確率は250/251であり、上限判定値は「251」、低確率下限判定値は「251」、高確率下限判定値は「1」である。
したがって、普図低確率時は、当り乱数の値が「0」〜「250」全ての場合ではずれとなる。
また、普図高確率時は、当り乱数の値が「1」〜「250」の何れかである場合が当り、当り乱数の値が「0」である場合がはずれとなる。
停止図柄番号を普図停止図柄領域にセーブ(ステップB314)した後、停止図柄番号を試験信号出力データ領域にセーブする(ステップB315)。
その後、当り乱数格納領域をシフトし(ステップB316)、シフト後の空き領域を0クリアして(ステップB317)、普図保留数を−1更新する(ステップB318)。すなわち、最も古い普図保留数1に関する普図変動表示ゲームが実行されることに伴い、普図保留数1以降に保留となっている普図保留数2〜4の順位を1つずつ繰り上げる処理を行う。この処理により、普図当り乱数格納領域の普図保留数2用から普図保留数4用の値が、普図当り乱数格納領域の普図保留数1用から普図保留数3用に移動することとなる。そして、普図当り乱数格納領域の普図保留数4用の値がクリアされて、普図保留数が1デクリメントされる。
次いで、変動パターン乱数3を抽出して(ステップB319)、変動パターン乱数3に対応する変動時間を設定し、普図ゲーム処理タイマ領域にセーブする(ステップB320)。本実施形態の場合、変動パターン乱数3に対応する変動時間として、200/256の確率で「500m秒」が設定され、40/256の確率で「1500m秒」が設定され、16/256の確率で「3000m秒」が設定される。
そして、普図変動中処理移行設定処理(ステップB321)を行って、普図普段処理を終了する。
〔普図変動中処理移行設定処理〕
図57には、上述の普図普段処理での普図変動中処理移行設定処理(ステップB321)を示した。この普図変動中処理移行設定処理では、まず、処理番号として普図変動中処理にかかる「1」を設定し(ステップB331)、その処理番号を普図ゲーム処理番号領域にセーブする(ステップB332)。
その後、普図変動表示ゲームの開始に関する信号(例えば、普通図柄1変動中信号をON)を試験信号出力データ領域にセーブして(ステップB333)、普図変動表示ゲームが変動中であることを示す変動中フラグを普図変動制御フラグ領域にセーブする(ステップB334)。
そして、普図表示器52の点滅周期のタイマの初期値である点滅制御タイマ初期値(例えば、100m秒)を普図点滅制御タイマ領域にセーブし(ステップB335)、普図変動図柄番号領域に初期値(例えば、0)をセーブして(ステップB336)、普図変動中処理移行設定処理を終了する。
〔普図変動中処理〕
次に、上述の普図ゲーム処理における普図変動中処理(ステップB9)の詳細について説明する。図58に示すように、普図変動中処理では、まず、処理番号として普図表示中処理にかかる「2」を設定し(ステップB401)、その処理番号を普図ゲーム処理番号領域にセーブする(ステップB402)。その後、普図表示器52における普図変動表示ゲームの結果の表示時間である普図表示時間(例えば、600m秒)を普図ゲーム処理タイマ領域にセーブし(ステップB403)、普図の変動終了に関する信号(例えば、普通図柄1変動中信号をOFF)を試験信号出力データ領域にセーブし(ステップB404)、普図変動表示ゲームが停止中であることを示す停止フラグを普図変動制御フラグ領域にセーブして(ステップB405)、普図変動中処理を終了する。
〔普図表示中処理〕
次に、上述の普図ゲーム処理における普図表示中処理(ステップB10)の詳細について説明する。図59に示すように、普図表示中処理では、まず、普図普段処理にて設定された当りフラグ(当り情報又ははずれ情報)をロードし(ステップB501)、RWMの当りフラグ領域をクリアして(ステップB502)、ロードされた当りフラグが当り情報かを判定する(ステップB503)。
当りフラグが当り情報でない場合(ステップB503;N)は、処理番号として普図普段処理にかかる「0」を設定し(ステップB515)、その処理番号を普図ゲーム処理番号領域にセーブし(ステップB516)、普電不正監視期間フラグ領域に不正監視期間中フラグをセーブして(ステップB517)、普図表示中処理を終了する。
一方、当りフラグが当り情報である場合(ステップB503;Y)は、当り中処理設定テーブルを設定して(ステップB504)、普図停止図柄情報に対応する当り開始ポインタの値(例えば、「0」,「5」の何れか)を取得し、普図当り中制御ポインタ領域にセーブして(ステップB505)、普図停止図柄情報に対応する当り終了ポインタの値(例えば、「4」,「7」の何れか)を取得し、普図当り終了ポインタ領域にセーブする(ステップB506)。次いで、普図停止図柄情報に対応する普電開放時間(例えば、1700m秒または2600m秒)を取得し、普図ゲーム処理タイマ領域にセーブする(ステップB507)。
次いで、処理番号として普図当り中処理にかかる「3」を設定し(ステップB508)、その処理番号を普図ゲーム処理番号領域にセーブする(ステップB509)。
次いで、普図変動表示ゲームの当り開始に関する信号(例えば、普通図柄1当り中信号をON)と、普電作動開始に関する信号(例えば、普通電動役物1作動中信号をON)を試験信号出力データ領域にセーブして(ステップB510)、普電ソレノイドを駆動(オン)する信号を出力するため、普電ソレノイド出力データ領域にオンデータをセーブする(ステップB511)。
次いで、普通変動入賞装置37への入賞数を記憶する普電カウント数領域の情報をクリアして(ステップB512)、普電不正監視期間における普通変動入賞装置37への入賞数を記憶する普電不正入賞数領域の情報をクリアする(ステップB513)。
次いで、普通変動入賞装置37の不正監視期間外を規定するフラグ(不正監視期間外フラグ)を普電不正監視期間フラグ領域にセーブして(ステップB514)、普図表示中処理を終了する。
〔普図当り中処理〕
次に、上述の普図ゲーム処理における普図当り中処理(ステップB11)の詳細について説明する。図60に示すように、普図当り中処理では、まず、普図当り中制御ポインタをロードし、準備して(ステップB601)、ロードした普図当り中制御ポインタの値が上限値以上であるかを判定する(ステップB602)。
そして、普図当り中制御ポインタの値が上限値以上でない場合(ステップB602;N)は、普図当り中制御ポインタを+1更新し(ステップB603)、普電作動移行設定処理(ステップB604)を行って、普図当り中処理を終了する。
また、普図当り中制御ポインタの値が上限値以上である場合(ステップB602;Y)は、ステップB603における普図当り中制御ポインタを+1更新する処理を行わずに、普電作動移行設定処理(ステップB604)を行って、普図当り中処理を終了する。
〔普電作動移行設定処理〕
図61には、上述の普図当り中処理における普電作動移行設定処理(ステップB604)を示した。普電作動移行設定処理は、普通変動入賞装置37を開閉するための普電ソレノイド37cの駆動制御を行う処理であり、制御ポインタ(普図当り中制御ポインタ)の値に応じて処理を分岐するようにしている。この普電作動移行設定処理では、まず、制御ポインタの値に応じた分岐処理を行う(ステップB611)。なお、ステップB603の処理(普図当り中制御ポインタを+1更新する処理)を行った場合には、+1更新する前の値に応じた分岐処理を行う。
制御ポインタの値が「0」、「2」、又は「5」であった場合は、ステップB612へ移行して、普通変動入賞装置37の閉塞を制御するため、制御ポインタに対応する普通変動入賞装置37の閉塞後のウェイト時間(例えば、300m秒)を普図ゲーム処理タイマ領域にセーブし(ステップB612)、普電ソレノイド37cをオフさせるため、普電ソレノイド出力データ領域にオフデータをセーブして(ステップB613)、普電作動移行設定処理を終了する。
また、制御ポインタの値が「1」又は「3」であった場合は、ステップB614へ移行して、普通変動入賞装置37の開放を制御するため、制御ポインタに対応する普通変動入賞装置37の開放時間である普電開放時間(例えば、1700m秒)を普図ゲーム処理タイマ領域にセーブし(ステップB614)、普電ソレノイド37cをオンさせるため、普電ソレノイド出力データ領域にオンデータをセーブして(ステップB615)、普電作動移行設定処理を終了する。
また、制御ポインタの値が「6」であった場合は、ステップB616へ移行して、普通変動入賞装置37の開放を制御するため、制御ポインタに対応する普通変動入賞装置37の開放時間である普電開放時間(例えば、2600m秒)を普図ゲーム処理タイマ領域にセーブし(ステップB616)、普電ソレノイド37cをオンさせるため、普電ソレノイド出力データ領域にオンデータをセーブして(ステップB617)、普電作動移行設定処理を終了する。
また、制御ポインタの値が「4」又は「7」であった場合は、ステップB618へ移行して、普通変動入賞装置37の開放制御を終了して普電残存球処理を行うため、処理番号として「4」を設定する(ステップB618)。そして、その処理番号を普図ゲーム処理番号領域にセーブし(ステップB619)、普電残存球処理時間(例えば、600m秒)を普図ゲーム処理タイマ領域にセーブする(ステップB620)。その後、普電ソレノイド37cをオフさせるため、普電ソレノイド出力データ領域にオフデータをセーブして(ステップB621)、普電作動移行設定処理を終了する。
ここで、本実施形態では、普図高確率中において普図停止図柄が「当り図柄1」である場合は、普図表示中処理のステップB505において、当り開始ポインタの値として「0」が取得され、普図表示中処理のステップB506において、当り終了ポインタの値として「4」が取得され、普図表示中処理のステップB507において、普電開放時間として「1700m秒」が取得される。したがって、600m秒の普図表示時間の経過後、普電開放時間が「1700m秒」であるため普電(普通変動入賞装置37)が1700m秒間開放し、その後、普図当り中制御ポインタが「0」であるため300m秒のウェイト時間が設定され、次いで、普図当り中制御ポインタが「1」に更新されるため普電が1700m秒間開放し、次いで、普図当り中制御ポインタが「2」に更新されるため300m秒のウェイト時間が設定され、次いで、普図当り中制御ポインタが「3」に更新されるため普電が1700m秒間開放し、次いで、普図当り中制御ポインタが「4」に更新されるため600m秒の普電残存球処理時間が設定される。
また、普図高確率中において普図停止図柄が「当り図柄2」である場合は、普図表示中処理のステップB505において、当り開始ポインタの値として「5」が取得され、普図表示中処理のステップB506において、当り終了ポインタの値として「7」が取得され、普図表示中処理のステップB507において、普電開放時間として「2600m秒」が取得される。したがって、600m秒の普図表示時間の経過後、普電開放時間が「2600m秒」であるため普電が2600m秒間開放し、その後、普図当り中制御ポインタが「5」であるため300m秒のウェイト時間が設定され、次いで、普図当り中制御ポインタが「6」に更新されるため普電が2600m秒間開放し、次いで、普図当り中制御ポインタが「7」に更新されるため600m秒の普電残存球処理時間が設定される。
〔普電残存球処理〕
次に、上述の普図ゲーム処理における普電残存球処理(ステップB12)の詳細について説明する。図62に示すように、普電残存球処理では、まず、処理番号として普図当り終了処理にかかる「5」を設定して(ステップB701)、その処理番号を普図ゲーム処理番号領域にセーブする(ステップB702)。
その後、普図エンディング時間(例えば、100m秒)を普図ゲーム処理タイマ領域にセーブし(ステップB703)、普通変動入賞装置37の作動終了に関する信号(例えば、普通電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブして(ステップB704)、普通変動入賞装置37への入賞数を計数する普電カウント数領域をクリアする(ステップB705)。そして、普図当り中制御ポインタ領域をクリアし(ステップB706)、普図当り終了ポインタ領域をクリアして(ステップB707)、普電残存球処理を終了する。
〔普図当り終了処理〕
次に、上述の普図ゲーム処理における普図当り終了処理(ステップB13)の詳細について説明する。図63に示すように、普図当り終了処理では、まず、処理番号として普図普段処理にかかる「0」を設定して(ステップB801)、その処理番号を普図ゲーム処理番号領域にセーブする(ステップB802)。
その後、普図変動表示ゲームの当り終了に関する信号(例えば、普通図柄1当り中信号をOFF)を試験信号出力データ領域にセーブし(ステップB803)、普通変動入賞装置37の不正監視期間を規定するフラグ(不正監視期間中フラグ)を普電不正監視期間フラグ領域にセーブして(ステップB804)、普図当り終了処理を終了する。
〔セグメントLED編集処理〕
次に、上述のタイマ割込み処理におけるセグメントLED編集処理(ステップS111)の詳細について説明する。セグメントLED編集処理では、一括表示装置50に設けられた特図1保留表示器53、特図2保留表示器54、普図保留表示器55、第1遊技状態表示部56、第2遊技状態表示部57、第3遊技状態表示部58、ラウンド表示部59を構成するセグメントLEDの駆動に関する設定等を行う。
図64に示すように、セグメントLED編集処理では、まず、点滅制御タイマを+1更新して(ステップS501)、点滅制御タイマの特定ビットが1か否かによって、出力オンタイミングであるかを判定する(ステップS502)。本実施形態では、点滅制御タイマのビット5が1である場合に出力オンタイミングであると判定することで、128m秒の点滅周期を作っている。
出力オンタイミングである場合(ステップS502;Y)は、普図保留表示器55での表示態様が規定された普図保留数表示テーブル1,2のうちの、普図保留数表示テーブル1を設定し(ステップS503)、出力オンタイミングでない場合(ステップS502;N)は、普図保留数表示テーブル2を設定する(ステップS504)。
そして、設定した普図保留数表示テーブルから普図保留数に対応する表示データを取得し、RAM111C内に設けられた普図保留表示器55用のセグメント領域にセーブする(ステップS505)。本実施形態では、普図保留数が「0」〜「2」の何れかであれば、どちらの普図保留数表示テーブルが設定された場合であっても、表示データは同じになる。
次に、出力オンタイミングであるかを判定し(ステップS506)、出力オンタイミングである場合(ステップS506;Y)は、特図1保留表示器53での表示態様が規定された特図1保留数表示テーブル1,2のうちの、特図1保留数表示テーブル1を設定し(ステップS507)、出力オンタイミングでない場合(ステップS506;N)は、特図1保留数表示テーブル2を設定する(ステップS508)。
そして、設定した特図1保留数表示テーブルから特図1保留数に対応する表示データを取得し、RAM111C内に設けられた特図1保留表示器53用のセグメント領域にセーブする(ステップS509)。
その後、出力オンタイミングであるかを判定し(ステップS510)、出力オンタイミングである場合(ステップS510;Y)は、特図2保留表示器54での表示態様が規定された特図2保留数表示テーブル1,2のうちの、特図2保留数表示テーブル1を設定し(ステップS511)、出力オンタイミングでない場合(ステップS510;N)は、特図2保留数表示テーブル2を設定する(ステップS512)。
そして、設定した特図2保留数表示テーブルから特図2保留数に対応する表示データを取得し、RAM111C内に設けられた特図2保留表示器54用のセグメント領域にセーブする(ステップS513)。
さらに、ラウンド表示部59での表示態様が規定されたラウンド表示テーブルを設定して(ステップS514)、設定したラウンド表示テーブルからラウンド表示LEDポインタに対応する表示データを取得し、RAM111C内に設けられたラウンド表示部59用のセグメント領域にセーブする(ステップS515)。
次に、時短状態が発生すると点灯して時短状態発生を報知する第2遊技状態表示部57での表示態様が規定された遊技状態表示テーブル1を設定して(ステップS516)、設定した遊技状態表示テーブル1から遊技状態表示番号に対応する表示データを取得し、RAM111C内に設けられた第2遊技状態表示部57用のセグメント領域にセーブする(ステップS517)。本実施形態では、1個のLEDからなる第2遊技状態表示部57を、通常中には消灯させ、特図時短中(普電サポート中)には点灯させるよう構成されている。
その後、左打ちよりも右打ちの方が有利な遊技状態であることを報知する第1遊技状態表示部56での表示態様が規定された遊技状態表示テーブル2を設定して(ステップS518)、設定した遊技状態表示テーブル2から遊技状態表示番号2に対応する表示データを取得し、RAM111C内に設けられた第1遊技状態表示部56用のセグメント領域にセーブする(ステップS519)。本実施形態では、1個のLEDからなる第1遊技状態表示部57を、通常打ち(左打ち)時には消灯させ、右打ち時(本実施形態の場合、大当り中、普電サポート中)には点灯させるよう構成されている。
次いで、高確率報知フラグ領域にオン情報がセーブされているかを判定する(ステップS520)。
ステップS520で、高確率報知フラグ領域にオン情報がセーブされていると判定した場合(ステップS520;Y)には、セグメントLED編集処理を終了する。
一方、ステップS520で、高確率報知フラグ領域にオン情報がセーブされていないと判定した場合(ステップS520;N)には、高確率報知LED(第3遊技状態表示部58)をオフさせるため、高確率報知LEDのオフデータを第3遊技状態表示部58用のセグメント領域にセーブして(ステップS521)、セグメントLED編集処理を終了する。
〔磁石不正監視処理〕
次に、上述のタイマ割込み処理における磁石不正監視処理(ステップS112)の詳細について説明する。磁石不正監視処理では、磁気センサ61からの検出信号に基づき異常の有無を判定し不正報知の開始や終了の設定等を行う。
図65に示すように、磁石不正監視処理では、まず、磁気センサ61から出力されて第3入力ポート124(入力ポート3)に取り込まれる検出信号の状態から、磁気センサ61がオン、すなわち異常な磁気を検出した状態であるかを判定する(ステップS601)。磁気センサ61がオンである場合(ステップS601;Y)、すなわち異常な磁気を検出した場合は、異常な磁気の検出期間を計時する磁石不正監視タイマを+1更新して(ステップS602)、当該タイマがタイムアップしたかを判定する(ステップS603)。本実施形態の場合、磁石不正監視タイマが32m秒以上である場合にタイムアップしたと判定する。
磁石不正監視タイマがタイムアップした場合(ステップS603;Y)、すなわち異常な磁気を一定期間継続して検出した場合は、磁石不正監視タイマをクリアし(ステップS604)、磁石不正報知タイマ初期値(例えば、60秒)を磁石不正報知タイマ領域にセーブする(ステップS605)。そして、磁石不正報知のコマンドを準備し(ステップS606)、磁石不正フラグとして磁石不正発生フラグを準備して(ステップS607)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップS613)。すなわち、磁気センサ61が一定期間(例えば、8回の割込み)連続してオンであった場合に異常が発生していると判定するようにしている。
一方、磁気センサ61がオンでない場合(ステップS601;N)、すなわち異常な磁気を検出していない場合は、磁石不正監視タイマをクリアし(ステップS608)、磁石不正の報知時間を規定する磁石不正報知タイマが「0」でなければ−1更新する(ステップS609)。なお、磁石不正報知タイマの最小値は「0」に設定されている。そして、磁石不正報知タイマの値が「0」であるかを判定する(ステップS610)。なお、磁石不正監視タイマがタイムアップしていない場合(ステップS603;N)も、ステップS609の処理に移行する。
そして、磁石不正報知タイマの値が「0」でない場合(ステップS610;N)、すなわちタイムアップしていない場合は、磁石不正監視処理を終了する。また、磁石不正報知タイマの値が「0」である場合(ステップS610;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、磁石不正報知終了のコマンドを準備する(ステップS611)。さらに、磁石不正フラグとして磁石不正解除フラグを準備して(ステップS612)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップS613)。
そして、準備した磁石不正フラグが磁石不正フラグ領域の値と一致する場合(ステップS613;Y)は、磁石不正監視処理を終了する。また、準備した磁石不正フラグが磁石不正フラグ領域の値と一致しない場合(ステップS613;N)は、準備した磁石不正フラグを磁石不正フラグ領域にセーブし(ステップS614)、演出コマンド設定処理を行って(ステップS615)、磁石不正監視処理を終了する。
ここで、「ステップS601;N」→「ステップS608」→「ステップS609」→「ステップS610;Y」→「ステップS611」→「ステップS612」→「ステップS613;Y」が正常ルートである。
〔盤電波不正監視処理〕
次に、上述のタイマ割込み処理における盤電波不正監視処理(ステップS113)の詳細について説明する。盤電波不正監視処理では、盤電波センサ62からの検出信号に基づき異常の有無を判定し不正報知の開始や終了の設定等を行う。
図66に示すように、盤電波不正監視処理では、まず、盤電波センサ62から出力されて近接I/F121を経由して第3入力ポート124(入力ポート3)に取り込まれる検出信号の状態から、盤電波センサ62がオン、すなわち異常な電波を検出した状態であるかを判定する(ステップS701)。電波センサがオンである場合(ステップS701;Y)、すなわち異常な電波を検出した場合は、電波不正報知タイマ初期値(例えば、60秒)を電波不正報知タイマ領域にセーブする(ステップS702)。
そして、盤電波不正報知のコマンドを準備し(ステップS703)、盤電波不正フラグとして盤電波不正発生フラグを準備して(ステップS704)、準備した盤電波不正フラグが盤電波不正フラグ領域の値と一致するかを判定する(ステップS709)。すなわち、本実施形態では、磁気不正の場合は、磁気センサ61のオンが所定回数検出された時点で異常が発生していると判定する一方、盤電波不正の場合は、盤電波センサ62のオンが1回検出された時点で異常が発生していると判定するようにしている。
一方、盤電波センサ62がオンでない場合(ステップS701;N)、すなわち異常な電波を検出していない場合は、電波不正の報知時間を規定する電波不正報知タイマが「0」でなければ−1更新する(ステップS705)。なお、電波不正報知タイマの最小値は「0」に設定されている。そして、電波不正報知タイマの値が「0」であるかを判定する(ステップS706)。
電波不正報知タイマの値が「0」でない場合(ステップS706;N)、すなわちタイムアップしていない場合は、盤電波不正監視処理を終了する。また、電波不正報知タイマの値が「0」である場合(ステップS706;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、盤電波不正報知終了のコマンドを準備し(ステップS707)、盤電波不正フラグとして盤電波不正解除フラグを準備して(ステップS708)、準備した盤電波不正フラグが盤電波不正フラグ領域の値と一致するかを判定する(ステップS709)。
そして、準備した盤電波不正フラグが盤電波不正フラグ領域の値と一致する場合(ステップS709;Y)は、盤電波不正監視処理を終了する。また、準備した盤電波不正フラグが盤電波不正フラグ領域の値と一致しない場合(ステップS709;N)は、準備した盤電波不正フラグを盤電波不正フラグ領域にセーブし(ステップS710)、演出コマンド設定処理を行って(ステップS711)、盤電波不正監視処理を終了する。
ここで、「ステップS701;N」→「ステップS705」→「ステップS706;Y」→「ステップS707」→「ステップS708」→「ステップS709;Y」が正常ルートである。
〔外部情報編集処理〕
次に、上述のタイマ割込み処理における外部情報編集処理(ステップS114)の詳細について説明する。外部情報編集処理では、払出コマンド送信処理(ステップS105)、入賞口スイッチ/状態監視処理(ステップS108)、磁石不正監視処理(ステップS112)、盤電波不正監視処理(ステップS113)での監視結果に基づいて、情報収集端末や遊技場内部管理装置等の外部装置や試射試験装置に出力する情報を作成して出力バッファにセットする処理等を行う。
図67及び図68に示すように、外部情報編集処理では、まず、スイッチ異常の発生中であるかを判定する(ステップS801)。
ステップS801で、スイッチ異常の発生中でないと判定した場合(ステップS801;N)には、遊技機エラー状態信号のオフデータを試験信号出力データ領域にセーブして(ステップS802)、ステップS804の処理に移行する。
一方、ステップS801で、スイッチ異常の発生中であると判定した場合(ステップS801;Y)には、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして(ステップS803)、ステップS804の処理に移行する。
次いで、ガラス枠開放エラーの発生中でもなく(ステップS804;N)、本体枠開放エラーの発生中でもない場合(ステップS805;N)には、扉・枠開放信号のオフデータを外部情報出力データ領域にセーブし(ステップS806)、セキュリティ信号のオフデータを外部情報出力データ領域にセーブして(ステップS807)、ステップS810の処理に移行する。
一方、ガラス枠開放エラーの発生中である場合(ステップS804;Y)、あるいは、本体枠開放エラーの発生中である場合(ステップS805;Y)には、扉・枠開放信号のオンデータを外部情報出力データ領域にセーブし(ステップS808)、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして(ステップS809)、ステップS810の処理に移行する。
そして、初期化スイッチの操作等によりRAMに記憶されたデータの初期化が行われた時から所定時間(例えば、256m秒)を計時するセキュリティ信号制御タイマが「0」でなければ−1更新する(ステップS810)。なお、セキュリティ信号制御タイマの初期値は、メイン処理においてRAMクリアで起動したときのRAM初期値設定時に設定され、セキュリティ信号制御タイマの最小値は「0」に設定されている。そして、セキュリティ信号制御タイマの値が「0」であるかを判定する(ステップS811)。
セキュリティ信号制御タイマの値が「0」でない場合(ステップS811;N)、すなわちタイムアップしていない場合は、セキュリティ信号のオンデータを外部情報出力データ領域にセーブして(ステップS812)、ステップS813の処理に移行する。また、セキュリティ信号制御タイマの値が「0」である場合(ステップS811;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合は、ステップS812の処理を行わずに、ステップS813の処理に移行する。
そして、磁石不正の発生中である場合(ステップS813;Y)、盤電波不正の発生中である場合(ステップS814;Y)、大入賞口不正の発生中である場合(ステップS815;Y)、普電不正の発生中である場合(ステップS816;Y)、あるいは、始動口エラーの発生中である場合(ステップS817;Y)は、遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブし(ステップS819)、セキュリティ信号のオンデータを外部情報出力データ領域にセーブして(ステップS820)、ステップS821の処理に移行する。また、枠電波不正の発生中である場合(ステップS818;Y)は、ステップS819の処理を行わずに、セキュリティ信号のオンデータを外部情報出力データ領域にセーブして(ステップS820)、ステップS821の処理に移行する。
一方、磁石不正の発生中でもなく(ステップS813;N)、盤電波不正の発生中でもなく(ステップS814;N)、大入賞口不正の発生中でもなく(ステップS815;N)、普電不正の発生中でもなく(ステップS816;N)、始動口エラーの発生中でもなく(ステップS817;N)、枠電波不正の発生中でもない場合(ステップS818;N)は、ステップS819及びステップS820の処理を行わずに、ステップS821の処理に移行する。
そして、払出予定の賞球数に関する情報を設定するメイン賞球信号編集処理(ステップS821)を行い、始動口の入賞信号を編集する始動口信号編集処理(ステップS822)を行う。
次に、特図変動表示ゲームの実行回数に係る情報の出力時間を制御するための図柄確定回数制御タイマが「0」でなければ−1更新する(ステップS823)。なお、図柄確定回数制御タイマの最小値は「0」に設定されている。そして、図柄確定回数制御タイマの値が「0」であるかを判定する(ステップS824)。
図柄確定回数制御タイマの値が「0」である場合(ステップS824;Y)、すなわちタイムアップした又はすでにタイムアップしていた場合は、図柄確定回数信号のオフデータを外部情報出力データ領域にセーブして(ステップS825)、外部情報編集処理を終了する。
また、図柄確定回数制御タイマの値が「0」でない場合(ステップS824;N)、すなわちタイムアップしていない場合は、図柄確定回数信号のオンデータを外部情報出力データ領域にセーブして(ステップS826)、外部情報編集処理を終了する。
〔メイン賞球信号編集処理〕
次に、上述の外部情報編集処理におけるメイン賞球信号編集処理(ステップS821)の詳細について説明する。メイン賞球信号編集処理は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(本実施形態の場合、10個)になる毎に生成されるメイン賞球信号を外部装置へ出力する処理である。
図69に示すように、メイン賞球信号編集処理では、まず、メイン賞球信号出力制御タイマが「0」でなければ−1更新する(ステップS831)。なお、メイン賞球信号出力制御タイマの最小値は「0」に設定されている。そして、メイン賞球信号出力制御タイマの値が「0」であるかを判定する(ステップS832)。メイン賞球信号出力制御タイマの値が「0」である場合(ステップS832;Y)は、メイン賞球信号出力回数が「0」であるかを判定する(ステップS833)。
そして、メイン賞球信号出力回数が「0」でない場合(ステップS833;N)は、メイン賞球信号出力回数を−1更新し(ステップS834)、メイン賞球信号出力制御タイマ領域にメイン賞球信号出力制御タイマ初期値をセーブする(ステップS835)。このメイン賞球信号出力制御タイマ初期値は、メイン賞球信号のオン状態(例えば、ハイレベル)の時間(例えば、128m秒)とオフ状態(例えば、ロウレベル)の時間(例えば、64m秒)とのうちの、オン状態の時間(例えば、128m秒)となっている。その後、外部装置用のメイン賞球信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップS837)、メイン賞球信号編集処理を終了する。
また、メイン賞球信号出力回数が「0」である場合(ステップS833;Y)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップS838)、メイン賞球信号編集処理を終了する。
一方、メイン賞球信号出力制御タイマの値が「0」でない場合(ステップS832;N)は、メイン賞球信号出力制御タイマが出力オン区間中であるかを判定する(ステップS836)。なお、メイン賞球信号出力制御タイマが出力オン区間中であるとは、メイン賞球信号出力制御タイマの値が「0」でないことである。メイン賞球信号出力制御タイマが出力オン区間中である場合(ステップS836;Y)は、外部装置用のメイン賞球信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップS837)、メイン賞球信号編集処理を終了する。また、メイン賞球信号出力制御タイマが出力オン区間中でない場合(ステップS836;N)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップS838)、メイン賞球信号編集処理を終了する。
本実施形態では、遊技制御装置100からは、遊技球の払出予定個数が10個になる毎にメイン賞球信号が出力され、払出制御装置200からは、遊技球の払出個数が10個になる毎にメイン賞球信号が出力されるよう構成されている。
具体的には、遊技制御装置100は、10個の払出予定毎(払出コマンドを送信する毎)に、メイン賞球信号出力回数を+1更新(払出コマンド送信処理内のサブルーチン)し、更新(設定)されている出力回数分、メイン賞球信号を出力する。
予定毎に出力されるメイン賞球信号に対し、払出制御装置200からは実際に10個の払出が行われる毎に賞球信号が送信されるので、予定と結果の整合をとることができ、不正な払出に対応することができる。また、大当り期間中に入賞しても、球切れ等で払出が遅れ、大当り終了後に払い出された場合にも、入賞時に出力されるメイン賞球信号によって、ホールコン(ホールコンピュータ)が正確な情報を収集(判断)することができる。
〔始動口信号編集処理〕
次に、上述の外部情報編集処理における始動口信号編集処理(ステップS822)の詳細について説明する。始動口信号編集処理は、始動口1スイッチ36aや始動口2スイッチ37aや始動口3スイッチ97aの入力があった場合に、各々の入力について共通して行われる処理である。
図70に示すように、始動口信号編集処理では、まず、始動口信号出力制御タイマが「0」でなければ−1更新する(ステップS841)。なお、始動口信号出力制御タイマの最小値は「0」に設定されている。そして、始動口信号出力制御タイマの値が「0」であるかを判定する(ステップS842)。始動口信号出力制御タイマの値が「0」である場合(ステップS842;Y)は、始動口信号出力回数が「0」であるかを判定する(ステップS843)。
そして、始動口信号出力回数が「0」でない場合(ステップS843;N)は、始動口信号出力回数を−1更新し(ステップS844)、始動口信号出力制御タイマ領域に始動口信号出力制御タイマ初期値をセーブする(ステップS845)。この始動口信号出力制御タイマ初期値は、始動口信号のオン状態(例えば、ハイレベル)の時間(例えば、128m秒)とオフ状態(例えば、ロウレベル)の時間(例えば、64m秒)とのうちの、オン状態の時間(例えば、128m秒)となっている。その後、外部装置用の始動口信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップS847)、始動口信号編集処理を終了する。
また、始動口信号出力回数が「0」である場合(ステップS843;Y)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップS848)、始動口信号編集処理を終了する。
一方、始動口信号出力制御タイマの値が「0」でない場合(ステップS842;N)は、始動口信号出力制御タイマが出力オン区間中であるかを判定する(ステップS846)。なお、始動口信号出力制御タイマが出力オン区間中であるとは、始動口信号出力制御タイマの値が「0」でないことである。始動口信号出力制御タイマが出力オン区間中である場合(ステップS846;Y)は、外部装置用の始動口信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップS847)、始動口信号編集処理を終了する。また、始動口信号出力制御タイマが出力オン区間中でない場合(ステップS846;N)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップS848)、始動口信号編集処理を終了する。
次に、演出制御装置300の制御について説明する。
なお、演出制御装置300が制御する特図は、表示装置41に表示される演出用の特図であり、以下の演出制御装置300の制御処理の説明における特図は、この演出用の特図(本特図ではない飾り図柄)を意味する。
また、一般に「キャラクタ」とは、性質や性格、或いは性質や性格を有する登場人物や動物等を意味し、コンピュータ用語としては文字を意味する場合もある。しかし、以下の演出制御装置300の説明では、特にVDP312を使った画像表示制御の説明においては、一連のムービー、背景画像、図柄(特図の飾り図柄や第4図柄)の画像、登場人物の画像等のまとまりのある静止画又は動画をキャラクタと称し、またそのような画像データ(静止画又は動画のデータ)をキャラクタのデータ(或いはキャラクタデータ)と称する場合がある。
また、以下の演出制御装置300の説明において、オブジェクトとは、表示制御の場合、まとまりのある表示制御の対象を意味し、表示要素(背景画像、特図の飾り図柄の画像、予告キャラクタの画像、保留表示の画像など、まとまりのある画像)に相当する。例えば本例の場合、特図の飾り図柄には、左図柄、右図柄、中図柄という変動表示領域(リール)の違いでの区別があり、さらにこれら区別のそれぞれに、現図柄、次図柄、前図柄というスクロール方向の表示位置が異なる区別がある。すなわち、例えば左図柄については、左図柄の現図柄、左図柄の次図柄、左図柄の前図柄があり、細かく見れば、これらそれぞれが一つのオブジェクトである。但し、制御処理上においては、例えば現図柄、次図柄、前図柄を含む左図柄全体を一つの表示要素として分類する場合もある。
〔パワーオンリセット処理〕
まず、図71により、演出制御装置300のパワーオンリセット処理を説明する。このパワーオンリセット処理は、パチンコ遊技機10の電源供給が開始された時点で開始する。
パチンコ遊技機10の電源供給が開始すると、まず、割込みを禁止して(ステップD1)、CPU311の初期設定を行って(ステップD2)、VDP312の初期設定を行って(ステップD3)、割込みを許可して(ステップD4)、メイン処理(ステップD5)を開始する。メイン処理を開始すると、電源遮断(停電含む)までこのメイン処理を実行する。
〔メイン処理〕
次に、上述のパワーオンリセット処理におけるメイン処理(ステップD5)を図72により説明する。
メイン処理を開始すると、まず、演出制御装置300に設けられた無線モジュール(図示省略)を初期化する無線モジュール初期化処理(ステップD11)を実行する。なお、本例は、異なるパチンコ遊技機におけるサブ基板間(すなわち演出制御装置間、以下、場合により、単に「サブ間」という。)の通信を無線通信で行う例としているが、無線通信に限定されるものではなく、有線通信でもよい。
次いで、VDP312のレジスタのベースアドレスを設定する(ステップD12)。これは、CPU311の種類やその設定によりアドレス空間が異なるので、ベースとなるアドレスを設定し、そこからの差分を基に各種指定を行うためである。
次いで、表示用データ生成を許可する(ステップD13)。これは、VDP312の表示回路がVRAM326へアクセスを行い、表示データを生成するのを許可する処理である。
次いで、VDP312の画像展開領域のサイズを設定する(ステップD14)。
次いで、乱数シードを設定する(ステップD15)。これは、例えばsrand関数を用いて擬似乱数の発生系列を設定する処理である。ここで、srand関数に与える引数としては、0(ゼロ)などの固定値を使用してもよいし、遊技機毎に異なるようにCPU等のID値などを基に作成した値を使用してもよい。
次いで、CPU311内のRAMにおけるモーション管理用の記憶領域(モーション管理領域及びモーション管理領域のアドレス領域を含む)を初期化して(ステップD16)、CPU311内のRAMにおけるシナリオ管理用の記憶領域(シナリオ管理領域及びシナリオ管理領域のアドレス領域を含む)を初期化する(ステップD17)。
ここで、「モーション」は、ブロック化(パーツ化)された演出動作(本例の場合、具体的には、表示装置41での表示演出をブロック化したもの)を意味し、「シナリオ」は、演出の流れ(どのモーションをいつ実行するか等を決めるもの)を意味する。また、「モーション管理領域のアドレス領域」とは、モーション管理領域の先頭アドレスを格納するための記憶領域を意味し、「シナリオ管理領域のアドレス領域」とは、シナリオ管理領域の先頭アドレスを格納するための記憶領域を意味する。
次いで、端末IDを設定する(ステップD18)。これは、例えば、演出制御装置300に設けられた設定スイッチ(図示省略)の設定に基づいて台毎(すなわち遊技機毎)のIDを設定する処理である。設定する端末IDとしては、無線モジュールの個別ID等を使用してもよいが、設定スイッチ等により手動で設定を行った方が島内における遊技機の位置情報を特定し易く、遊技場ホール内の台番号に割り振るのも容易である。すなわち、無線モジュールのIDでは、遊技機の設置時に小さい順に並べる等しなければ、その数値の大小から位置情報を特定することが困難であるが、設定スイッチ等により手動で設定を行う構成であれば、例えば設置されている位置の順にこの端末IDの値を設定すれば、この端末IDの値から設置された位置情報を特定することが容易である。ただし、無線モジュールのID等から端末IDを設定する方法は、人の手を煩わせず自動で設定できるという利点がある。一方、設定スイッチによる端末IDの設定は、人の操作により台毎に異なる番号を設定する必要があるため、遊技機導入時など忙しい時には不可能になる虞がある。また、無線モジュールのIDを使用する場合は設定スイッチが不要なためコストアップにもならない利点がある。このように有利不利があるため、結局はサブ基板間通信で行いたい演出によってこの端末IDの設定方法を選ぶ必要がある。本例では、島内の左端の遊技機から順次予告キャラクタを各遊技機の表示装置41に登場させるといった演出(すなわち、島内における遊技機の並び(左からID1、ID2、ID3、・・・ID10というように)を特定する必要のある演出)を実現できるようにするため、台の位置情報を特定し易い、設定スイッチによる設定方法を例として挙げている。なお、この端末IDは、サブ基板間通信において、送信先や送信元を識別するなどのために設けられる。
次いで、初期化すべき領域(例えば、演出用フラグ領域(後述する各種のフラグとして使う記憶領域))に電源投入時の初期値をセーブして(ステップD19)、WDT(ウォッチドッグ・タイマ)をクリアする(ステップD20)。
次いで、演出ボタン入力処理(ステップD21)を実行する。これは、演出操作部550(プッシュボタン(演出ボタン25)やセレクトボタン(タッチパネル29))が有効時に操作された場合の編集を行う処理である。なお、演出操作部550は高速でオンオフしないので、演出操作部550の入力を感知する処理はこの処理内で行ってもよいし、図示していない短周期のタイマ割込み内で行ってもよい。
次いで、乱数更新処理(ステップD22)を実行する。これは、例えばrand関数を用いてメイン処理の制御周期毎に最低1回は擬似乱数の更新を行う処理である。rand関数は再計算が行われる度に指定の発生系列に基づいて乱数を発生するので、関数を実行するだけでよい。なお、主基板(遊技制御装置100)のように+1ずつ更新する乱数を使ってもよい。
次いで、受信コマンドチェック処理(ステップD23)を実行する。
次いで、サブ間送信開始処理(ステップD24)を実行する。これは、サブ間コマンド送信の要求があった場合にサブ間送信割込みを許可したりする処理である。なお、演出によっては直ぐにコマンドを送りたくない場合もあるので時間調整も行う。
次いで、サブ間受信タスク処理(ステップD25)を実行する。これは、受信したサブ間コマンドの解析を主に行う処理である。
次いで、サブ間ack応答タスク処理(ステップD26)を実行する。これは、他台にack(返信)を要求した場合の監視を行う処理である。
次いで、サブ間演出設定処理(ステップD27)を実行する。これは、受信したサブ間コマンドに対応する演出の制御を行う処理である。
次いで、シナリオ設定処理(ステップD28)を実行する。これは、受信した遊技制御装置100からのコマンドに基づくシナリオの解析などを行う処理である。
次いで、描画領域を黒で塗り潰す(ステップD29)。これは、フレームバッファの過去の表示を完全に消すための処理であり、例えば全体が黒い四角形の画像をフレームバッファに配置し、ゴミなどが表示されないようにする処理である。
次いで、モーション制御処理(ステップD30)を実行する。これは、ステップD28で解析等されたシナリオを実行するための処理である。
ここで、キャラクタデータは画像ROM325に格納されているが、キャラクタの動きの情報を表すモーションデータやモーションデータの繋がりを定義しているシナリオデータはPROM321に格納されている。
また、本例では、表示装置41に表示する表示画面41aの描画制御において、シナリオデータ(シナリオレイヤ−)という概念が使用される。シナリオとは、例えば背景用シナリオ、左図柄用シナリオ、右図柄用シナリオ、・・・等のように、図柄の変動演出を複数のシナリオレイヤーに分けてテーブルとして予め設定し、それらを個別にシナリオとして制御し、全てのシナリオを合成することで、1画面の絵を生成する手法である。
具体的には、表示装置41における図柄の変動演出では、例えば、変動出だしの動き、スローダウンして仮停止するまでの動き(送りコマ数やスベリなど)、予告演出の種類など、変動毎に行われる演出振り分けによって多様な組合せとなるため、全ての組合せに対して1つ1つの画面毎にシナリオデータを作成すると膨大なデータ量となってしまう。
そこで本例では、演出制御装置300において変動演出等の表示演出における描画制御では、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルとして設定して、例えばPROM(制御ROM)321に予め格納しておく。次いで、遊技制御装置100からの演出コマンドに応じて演出制御装置300ではシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。そうすることで、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができる。
次いで、演出表示編集処理(ステップD31)を実行する。これは、VDP312に表示装置41での描画内容(ステップD28〜D30で設定されたもの)を指示するための各種コマンドとそのパラメータの設定を行う処理である。なお、この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドは後述するステップD34(画面描画を指示)でVDP312に順次送信される。
次いで、描画コマンド準備終了を設定して(ステップD32)、ステップD33に進む。これは、ステップD31で設定されるVDP312への全てのコマンドの準備が終了したことを設定する処理である。
ステップD33に進むと、フレーム切替タイミングであるか判定し、フレーム切替タイミングであれば(ステップD33;Y)、ステップD34に進み、フレーム切替タイミングでなければ(ステップD33;N)、このステップD33を繰り返す。ここで、フレーム切替タイミングは、Vブランク割込み(Vシンク割込みともいう)の周期(例えば1/60秒)を基に作成された処理周期(例えば1/30秒≒33.333ms)に相当する時間的間隔で到来するタイミングである。このステップD33の処理によって、これより後の処理(ステップD34〜D37、及びその後のステップD20〜D32)は、このフレーム切替タイミングで上記処理周期毎に実行される。なお、演出内容と同期する必要のある時間管理は、このフレーム単位(すなわち、上記処理周期単位)で行われる。上記処理周期が、1/30秒の場合、例えば3フレームでは100msになる。このことは、主基板(遊技制御装置)がタイマ割込み周期の4ms単位で時間値管理しているのと同様である。
ステップD34に進むと、VDP312に画面描画を指示して(ステップD34)、サウンド制御処理(ステップD35)、各種LED等を制御するための装飾制御処理(ステップD36)、各種モータやSOL(ソレノイド)を制御するためのモータ/SOL制御処理(ステップD37)を実行する。このステップD37を実行した後は、ステップD20に戻り、ステップD20に進んだ場合と同じ処理を繰り返す。
なお、ステップD35〜D37の制御処理は、画面の演出に合わせるため、動作の切り替えが処理周期単位で実行されるこれらのステップ内で行っているが、これら制御処理で生成又は設定された信号やデータ(特に各種LEDやモータを駆動制御する信号等)を実際にポートに出力する処理は、図示していない短周期のタイマ割込み内で行われる。ただし、各種デバイスの制御に特化したICを使用している場合は、シリアル通信等で指示するだけで、タイマ割込みで信号等の出力を行わない場合もある。
〔コマンド受信割込み処理〕
次に、コマンド受信割込み処理について図73により説明する。このコマンド受信割込み処理は、遊技制御装置100(主基板)から送信されるコマンドを演出制御装置300(サブ基板)で受信するための処理であり、当該コマンドを構成するデータが正常な範囲に入っているかをチェックする内容も含まれている。
この主基板とサブ基板の通信は、ストローブ信号(STB信号)を用いたパラレル通信によって行われる態様でもよいが、本例の場合、シリアル通信によって行われる。すなわち、両基板とも、例えばCPU111A,311に搭載されているシリアル通信回路の機能を使用し、通信を行う。
この場合のシリアル通信では、ハード的に自動で送受信が行われるので、パラレル通信時とは異なり、両基板において通信のために処理時間を専有してしまうことがない利点がある。パラレル通信の場合、遊技制御装置が送信してくるタイミングに合わせ演出制御装置は最優先で受信処理を行わなくてはならず、プログラム作成を困難にしていた。さらに、通信中は両基板とも通信処理を実行している必要がある。ところがシリアル通信では、コマンドを受信完了すると割込み(コマンド受信割込み)が発生して知らせてくれるので、あとはシリアル受信バッファから取り出すだけでよい。また、シリアル通信では、最優先で割込み処理を行う必要がなく、割り込まれると困る場合には割込みを禁止することが可能である。また、シリアル通信では、送信側の処理もシリアル送信バッファにコマンドを入れておくだけでよいという簡単なものとなる。また、シリアル通信では、両基板とも、ハードが送受信をしてくれている間、他の処理を実行できるので効率がよい。また、物理的にもパラレル通信の場合は8本以上の配線が必要だったが、シリアル通信では最低1本でも実現できる。なお、シリアル通信を使用した場合でも、遊技制御装置100(主基板)と演出制御装置300(サブ基板)との間の通信は、双方向通信ではなく、単方向通信のみ(主基板→サブ基板の方向のみ)が可能な構成となっている。これにより、サブ基板から主基板への通信を利用した不正が防止される。
このコマンド受信割込み処理は、演出制御装置300(サブ基板)において前述のコマンド受信割込みが発生することによって開始される。すなわち、主基板のCPU111Aによりシリアル通信で送信されたコマンドを、サブ基板のCPU311が受信完了するとコマンド受信割込みが発生し、このコマンド受信割込み処理が開始される。ここで、このコマンド受信割込みは、前述したVブランク割込みよりも、割込みの優先順位が高い。また、上記コマンド受信割込みは上述したように不定期に発生するが、主基板がコマンドを連続で送信する時には、その送信間隔(例えば4m秒)に対応してサブ基板での上記コマンド受信割込みの発生間隔も同じ間隔(例えば4m秒)になる。
また、主基板からのコマンドは、MODEのデータ(1バイト)とACTIONのデータ(1バイト)とを含む構成となっており、これらが順次送信される。以下では、コマンドを構成するこのようなデータを、コマンドのデータ或いはコマンドデータという。
コマンド受信割込み処理が開始されると、まず、受信監視タイマを停止して(ステップD41)、シリアル受信バッファからコマンドをロードして(ステップD42)、ステップD44に進む。
ステップD44に進むと、ステップD42でロードしたコマンドデータがMODE範囲のものか否か、当該データの値に基づいて判定し、MODE範囲のものならば(ステップD44;Y)、ステップD45に進み、MODE範囲のものでなければ(ステップD44;N)、ACTION範囲であるとしてステップD48に進む。なお、MODE範囲とは、MODEのデータとして設定し得る1バイト内の値の範囲であり、ACTION範囲とは、ACTIONのデータとして設定し得る1バイト内の値の範囲であり、予め決められている。
ステップD45に進むと、ステップD42でロードしたコマンドデータを受信MODEとして格納して(ステップD45)、MODE受信フラグに「OK」をセットする(ステップD46)。
次いで、受信監視タイマの値を0(ゼロ)にリセットし、当該受信監視タイマの計時動作をスタートして(ステップD47)、その後コマンド受信割込み処理を終了する。なお、上記ステップD45で使用しているように、単に「格納する」というときは、後の制御処理に使用するために所定の記憶領域に読出し可能に記憶保存することを意味する(以下同様)。
ステップD48に進むと、MODE受信フラグの値が「OK」であるか判定し、「OK」であれば(ステップD48;Y)、ステップD49に進んで受信監視タイマがタイムアウトしたか判定し、タイムアウトしていない場合(ステップD49;N)には、ステップD50に進む。一方、MODE受信フラグの値が「OK」でない場合(ステップD48;N)や、受信監視タイマがタイムアウトしている場合(ステップD49;Y)には、正常にコマンドを受信できなかったので、MODE受信フラグに「NG」をセットして(ステップD59)、コマンド受信割込み処理を終了する。
MODE受信フラグの値が「OK」でない場合(ステップD48;N)は、例えばACTION範囲のコマンドデータが受信されたのに、それに先だってMODE範囲のコマンドデータが受信されていないので異常である。また、受信監視タイマがタイムアウトしている場合(ステップD49;Y)は、MODE範囲のコマンドデータが受信された時点から受信監視タイマで計時される規定の受信監視時間内に、ACTION範囲のコマンドデータが受信されないので異常である。
ステップD50に進むと、ステップD42でロードしたコマンドデータを受信ACTIONとして格納して(ステップD50)、MODE受信フラグの値を「NG」にセットして(ステップD51)、ステップD52に進む。
ステップD52に進むと、コマンド受信カウンタの値が31より大きいか判定し、大きい場合(ステップD52;Y)には、後述するコマンドバッファの容量を超えるのでコマンド受信割込み処理を終了し、大きくない場合(ステップD52;N)、すなわちコマンド受信カウンタ≦31の場合には、ステップD53に進む。なお、コマンド受信カウンタの値が0〜31でステップD53に進む構成としているが、0〜31という値は後述するコマンドバッファの容量に対応する値であり、システム制御周期(前述の処理周期;例えば1/30秒)で主基板から送信される可能性のあるコマンド数以上になっていればよい。
ステップD53に進むと、受信MODE、受信ACTIONに対応する演出動作を準備して(ステップD53)、受信コマンド範囲チェック処理(ステップD54)を実行して、その後ステップD55に進む。
ステップD55に進むと、範囲チェックOKか否か判定し、OKでなければ(ステップD55;N)、コマンド(受信MODE及び受信ACTION)を廃棄すべくコマンド受信割込み処理を終了し、OKならば(ステップD55;Y)、ステップD56に進む。ここで、ステップD55での範囲チェックの判定結果は、受信コマンド範囲チェック処理(ステップD54)においてコマンド範囲正常フラグがセットされていれば範囲チェックOKである(ステップD55がYes)となり、受信コマンド範囲チェック処理(ステップD54)においてコマンド範囲異常フラグがセットされていれば範囲チェックOKでない(ステップD55がNo)となる。
ステップD56に進むと、受信MODEと受信ACTIONをコマンドバッファに格納する(ステップD56)。コマンドバッファは、本例では、いわゆるリングバッファであり、規定の容量(記憶保持できるコマンド数)を有する。このコマンドバッファは、例えばCPU311のRAM内の記憶領域によって構成される。
次いで、コマンド受信カウンタの値を+1更新して(ステップD57)、コマンドバッファにデータを格納した(すなわち、書き込んだ)ので、コマンド書込インデックスの値を0〜31の範囲で+1更新して(ステップD58)、コマンド受信割込み処理を終了する。なお、コマンド書込インデックスは、コマンドバッファの書込用ポインタであり、このコマンド書込インデックスの値を、本例では0〜31の範囲としているが、この範囲はコマンドバッファの容量(この場合、32)に対応しており、既述したように、システム制御周期(前述の処理周期;例えば1/30秒)の1周期の間に主基板から送信される可能性のあるコマンド数以上になっていればよい。
〔受信コマンド範囲チェック処理〕
次に、上述のコマンド受信割込み処理における受信コマンド範囲チェック処理(ステップD54)の詳細について図74により説明する。
受信コマンド範囲チェック処理が開始されると、まずステップD61で、ステップD45で格納された受信MODEの値が正常範囲か判定し、正常範囲でなければ(ステップD61;N)、コマンド範囲異常フラグをセットして(ステップD67)、受信コマンド範囲チェック処理を終了し、正常範囲であれば(ステップD61;Y)、ステップD62に進む。MODEの値は、MODE範囲の値の全てが指令内容を定義されているわけではなく、定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD61の判定で正常範囲でないと判定される。
なお、このステップD61又は後述するステップD92(或いはステップD61とD92の両方)では、MODEのデータの歯抜けチェックも行い、このチェックで無効なコマンドであれば正常範囲でないとする構成であってもよい。MODEのデータの歯抜けチェックとは、チェック対象のMODEのデータが、MODEがとり得る値が連続していない部分における無効な値に相当していないか否か判定することを意味する。MODEの値に不連続な部分が無い場合には、この歯抜けチェックは不要である。
ステップD62に進むと、ステップD45で格納された受信MODEの値に対応するACTIONの値としてあり得る値のうちの最小値(ACTION_min)を取得する(ステップD62)。なお、本願では、このように制御処理においてデータを「取得する」とは、ROM(本例の演出制御装置300ではPROM321)からデータを取り出すことを意味する。
次いで、ステップD45で格納された受信MODEの値に対応するACTIONの値としてあり得る値のうちの最大値(ACTION_max)を取得して(ステップD63)、ステップD64に進む。
なお、PROM321には、ACTIONチェックテーブルが登録されており、上記ステップD62及びD63では、このACTIONチェックテーブルから対応する値を取得する。ACTIONチェックテーブルは、各MODEの値に対応して、上記最小値(ACTION_min)に相当するACTION下限のデータと、上記最大値(ACTION_max)に相当するACTION上限のデータと、一致チェックテーブル(後述する)を特定するデータ(例えば、一致チェックテーブルの先頭アドレス)とが、それぞれ定義されたものである。なお、上記ACTIONチェックテーブルのデータなど、すなわち、演出制御装置300の制御処理で使用する各種情報(例えば、各種テーブルのデータ)は、PROM321に動作プログラムとともに予め記憶されている。
ステップD64に進むと、ステップD50で格納された受信ACTIONの値が、ステップD62で取得された最小値よりも小さいか判定し、小さい場合(ステップD64;Y)には、異常であるのでステップD67に進み、小さくない場合(ステップD64;N)には、ステップD65に進む。
ステップD65に進むと、ステップD50で格納された受信ACTIONの値が、ステップD63で取得された最大値よりも大きいか判定し、大きい場合(ステップD65;Y)には、異常であるのでステップD67に進み、大きくない場合(ステップD65;N)には、ステップD66に進む。
ステップD66に進む場合には、正常であるので、コマンド範囲正常フラグをセットして(ステップD66)、受信コマンド範囲チェック処理を終了する。ステップD67に進む場合は、異常であるので、コマンド範囲異常フラグをセットして(ステップD67)、受信コマンド範囲チェック処理を終了する。
〔受信コマンドチェック処理〕
次に、上述のメイン処理における受信コマンドチェック処理(ステップD23)の詳細について図75により説明する。
受信コマンドチェック処理が開始されると、まず、コマンド受信カウンタの値をコマンド受信数としてロードして(ステップD71)、ステップD72に進む。
ステップD72に進むと、コマンド受信数が0(ゼロ)でないか判定し、ゼロでないならば(ステップD72;Y)、ステップD73に進み、ゼロならば(ステップD72;N)、受信コマンドチェック処理を終了する。なお、本願では、上記ステップD71のように、制御処理においてデータを「ロードする」とは、RAM(本例の演出制御装置300ではCPU311内のRAM)からデータを取り出すことを意味する。
ステップD73に進むと、コマンド受信カウンタ領域の内容(すなわち、コマンド受信カウンタの値)をコマンド受信数分だけ減算する(ステップD73)。なお、A:コマンド受信カウンタの値、B:コマンド受信数とすると、ステップD71の実行直後では「A=B」である。そして、ステップD73の実行直後では「A=A−B=0」となるのが通常の動きだが、本例の態様では、演出制御装置は遊技制御装置(主基板)からのコマンド受信割込みを割込み禁止にせず最優先にしているので、ステップD71の処理からステップD73の処理の間にAの値が増えている可能性がある。よって、ステップD73の処理を「A←0」(すなわち、コマンド受信カウンタの値をゼロとする処理)としてしまうとコマンドのカウントがずれてしまうので、ステップD73では「A−B」という減算処理を行っている。但し、本例のように主基板からのコマンドの送受信にシリアル通信を使用した場合は、割込み禁止にしてステップD71の処理からステップD73の処理の間にAの値が増えることがないようにすることによって、ステップD73の処理内容を「A←0」としてもよい。
次いで、受信コマンドバッファ(ステップD56のコマンドバッファに相当、以下、単に「コマンドバッファ」という)の内容(すなわち、読出用ポインタに対応するアドレスに記憶されているコマンドデータ)をコマンド領域(場合により「コマンド格納領域」という)にコピーする(ステップD74)。コマンド領域は、いわゆるFIFO形式(先入れ先出し形式)のバッファを構成する例えばCPU311のRAM内の記憶領域である。
次いで、コマンドバッファのデータを読み出したので、コマンドバッファの読出用ポインタであるコマンド読出インデックスの値を0〜31の範囲で+1更新して(ステップD75)、ステップD76に進む。なお、ここでの0〜31の範囲は、ステップD58で更新されるコマンド書込インデックスと同範囲になっていればよい。
ステップD76に進むと、コマンド受信数分のコマンドをコピー完了したか否か(すなわち、コマンド受信数分だけステップD74及びD75を繰り返し実行したか否か)を判定し、完了していなければ(ステップD76;N)、ステップD74に戻ってステップD74から処理を繰り返し、完了していれば(ステップD76;Y)、ステップD77に進む。
ステップD77に進むと、コマンド領域の内容(コマンド領域の未だ読み出されていないデータのうちで一番先に格納されたデータ、すなわち、次に読み出すべきデータ)をロードして(ステップD77)、このロードしたコマンド(以下「今回のコマンド」という)のデータについて、受信コマンド解析処理(ステップD78)を実行する。
次いで、コマンド領域のアドレス(次に読み出すべきデータのアドレス)を更新して(ステップD79)、ステップD80に進む。
ステップD80に進むと、コマンド受信数分のコマンドを解析完了したか否か(すなわち、コマンド受信数分だけステップD77〜D79を繰り返し実行したか否か)を判定し、完了していなければ(ステップD80;N)、ステップD77に戻ってステップD77から処理を繰り返し、完了していれば(ステップD80;Y)、受信コマンドチェック処理を終了する。
〔受信コマンド解析処理〕
次に、上述の受信コマンドチェック処理における受信コマンド解析処理(ステップD78)の詳細について図76により説明する。
受信コマンド解析処理が開始されると、まず、ステップD77においてロードした今回のコマンドのデータのうちの上位バイトをMODEに、下位バイトをACTにそれぞれ分離して記憶して(ステップD91)、その後ステップD92に進む。なお、特図の変動パターンを指令する変動系のコマンドの場合、MODEとして記憶される上位バイトのデータは前半変動パターンを指令し、ACTとして記憶される下位バイトのデータは後半変動パターンを指令するものである。
なお、本願において、「前半変動」とは、リーチ前変動、すなわち、リーチ状態となる前に実行される特図変動表示ゲーム(リーチアクション開始前までの変動表示)を意味する。
また、「後半変動」とは、リーチ中変動、すなわち、リーチ状態となった後(リーチ状態となっている最中)に実行される特図変動表示ゲーム(いわゆるリーチアクション(例えば、特図の複数列の表示領域のうち特定領域を除く表示領域が大当りとなる特別結果態様(特別な図柄の組合せ)で変動表示が停止していて、特定領域のみで変動表示している状態)の変動表示)を意味する。
ステップD92に進むと、ステップD91で分離されたMODEの値が正常範囲か判定し、正常範囲でなければ(ステップD92;N)、受信コマンド解析処理を終了し、正常範囲であれば(ステップD92;Y)、ステップD93に進む。前述したように、MODEの値は定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD92の判定で正常範囲でないと判定される(前述のステップD61と同様)。
ステップD93に進むと、ステップD91で分離されたACTの値が正常範囲か判定し、正常範囲でなければ(ステップD93;N)、受信コマンド解析処理を終了し、正常範囲であれば(ステップD93;Y)、ステップD94に進む。このステップD93の判定は、前述したステップD62〜D65と同様に行う。すなわち、MODE毎に有効なACTの値は異なり、このACTの有効値の上限〜下限は前述したACTIONチェックテーブルに定義されており、ステップD93ではこの上限〜下限の範囲内に分離されたACTの値が収まっているかをチェックし、収まっていれば正常範囲と判定する(この時点では歯抜けチェックは出来ていない)。
ステップD94に進むと、前述したACTIONチェックテーブルから、分離されたMODEの値に対応する一致チェックテーブルの先頭アドレスを取得して(ステップD94)、その後ステップD95に進む。
ここで、一致チェックテーブルとは、対応するMODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。
なお、有効なACTIONの値が連続した範囲で固まっているMODEの場合には、一致チェックテーブルは不要であるため、ACTIONチェックテーブルにおける一致チェックテーブルの先頭アドレスのデータはNULLになっている。また、一致チェックテーブルが定義されているMODEの行に対しては、有効ACTIONが歯抜けになっているので、上限/下限をチェックした後、対応する一致チェックテーブルを使って更なる比較判定が行われる(後述するステップD96〜D99)。
ステップD95に進むと、ステップD94で取得した一致チェックテーブルの先頭アドレスがNULLか判定し、NULLであるならば(ステップD95;Y)、ステップD100に進み、NULLでなければ(ステップD95;N)、ステップD96に進む。なお、一致チェックテーブルの先頭アドレスがNULLであるということは、MODEに対する有効なACTの値が連続しているということであり、ステップD93の範囲チェックだけでOKであるため、後述するステップD96〜D99を実行しないでステップD100にジャンプする。
ステップD96に進むと、ステップD96、D99をループ端とするループ処理(繰り返し処理)を実行する。つまり、ステップD96に進むと、ステップD99で分岐することによって、後述するステップD97とステップD98を順次実行する動作を後述の終了条件が成立するまで繰り返す。当該ループ処理は、ステップD94で取得され後述のステップD98で更新される一致チェックテーブルのアドレス(以下「一致チェックテーブルアドレス」という)に対応するデータ(一致チェックテーブル内の対応する行のデータ)がステップD91で分離されたACTの値に一致することを終了条件としており、この終了条件が成立するまで繰り返し実行される。但し、後述するステップD97の判定結果がYesになると、当該ループ処理を抜ける(前記終了条件が成立していなくても当該ループ処理は終了となる)。
すなわち、ステップD96に進むと、まずステップD97で、一致チェックテーブルアドレスに対応するデータがチェック終了コードであるか判定し、チェック終了コードであれば(ステップD97;Y)、当該ループ処理を抜けて受信コマンド解析処理を終了し、チェック終了コードでなければ(ステップD97;N)、一致チェックテーブルアドレスを次レコードに更新して(ステップD98)、ステップD99に進む。一致チェックテーブルアドレスが次レコードに更新されると、当該一致チェックテーブルアドレスに対応する一致チェックテーブル内の行が次の行に切り替わる。
ステップD99に進むと、更新された一致チェックテーブルアドレスに対応するデータがステップD91で分離されたACTの値に一致するか判定し、一致すれば前記終了条件が成立したので当該ループ処理を終了してステップD100に進み、不一致であるならばステップD96に戻って当該ループ処理を繰り返す。
以上説明したステップD96〜D99のループ処理では、MODEに対して正常なACTの組合せになっているか否かのチェック(歯抜けチェックも含む)を実行している。1つのMODEに対し、有効なACTは複数あるがそれらの値が連続しているとは限らないので、コマンドが有効値であるかを比較確認している。そして、一致チェックテーブル中には有効値のみ定義されているので、それらの何れかと一致するかを1つ1つ比較確認している。例えば、ステップD91で分離されたMODEの値が89hであるとともにACTの値が31hであり、一致チェックテーブルの5行目のデータが31hである場合には、上記ループ処理が4回繰り返されたときに上記終了条件が成立してステップD99からステップD100に進むことになる。また、ステップD91で分離されたMODEの値が89hであるとともにACTの値が13h等であり、一致チェックテーブルには13h等が存在しない(13h等は一致チェックテーブルにおいて不連続な部分の存在しないデータである歯抜けデータとなっている)場合には、上記ループ処理が最終行まで繰り返されても上記終了条件は成立せず、最終行に至った時点でデータがチェック終了コードになるためにステップD97の判定結果がYesになって上記ループ処理を抜けてリターンすることになる。なお、このようにステップD97の判定結果がYesになる場合はACTの値が異常であるため、前述のステップD92、D93の判定結果がNoになった場合と同様に、コマンド異常であるとしてステップD100以降を実行しないで受信コマンド解析処理が終了してしまう。
前述したように、ステップD99までの処理においてコマンドの値(ステップD91で分離されたMODE及びACTのデータ)が異常であると判定されない場合には、ステップD95又はD99を経てステップD100が実行される。
ステップD100では、MODEのデータが変動系コマンド範囲内にあるか判定し、この範囲内ならば(ステップD100;Y)、変動系コマンド処理(ステップD101)を実行して受信コマンド解析処理を終了し、この範囲外ならば(ステップD100;N)、ステップD102に進む。ここで、MODEのデータとは、ステップD91で分離されて記憶されたMODEのデータである(後述のステップD102等でも同様)。変動系コマンド(「変動コマンド」或いは「変動パターンコマンド」という場合もある)は、特図の変動パターンを指令するコマンドであり、この変動コマンドのデータがとり得る範囲が変動系コマンド範囲である。なお、このステップD100ではMODEの歯抜けチェックは行わない構成でもよいし、行ってもよい。
ステップD102に進むと、MODEのデータが大当り系コマンド範囲内にあるか判定し、この範囲内ならば(ステップD102;Y)、大当り系コマンド処理(ステップD103)を実行して受信コマンド解析処理を終了し、この範囲外ならば(ステップD102;N)、ステップD104に進む。大当り系コマンドは、大当り中演出に関する動作(ファンファーレ画面やラウンド画面の表示など)を指令するコマンドであり、この大当り系コマンドのデータがとり得る範囲が大当り系コマンド範囲である。
ステップD104に進むと、MODEのデータが図柄系コマンド範囲内にあるか判定し、この範囲内ならば(ステップD104;Y)、図柄系コマンド処理(ステップD105)を実行して受信コマンド解析処理を終了し、この範囲外ならば(ステップD104;N)、ステップD106に進む。図柄系コマンド(「図柄コマンド」或いは「飾り特図コマンド」という場合もある)は、特図の図柄に関する情報(例えば、特図の停止図柄を何にするかなど)を指令するコマンドであり、この図柄コマンドのデータがとり得る範囲が図柄系コマンド範囲である。
ステップD106に進むと、MODEのデータが単発系コマンド範囲内にあるか判定し、この範囲内ならば(ステップD106;Y)、単発系コマンド処理(ステップD107)を実行して受信コマンド解析処理を終了し、この範囲外ならば(ステップD106;N)、ステップD108に進む。なお、図柄コマンドと変動系コマンドのように組合せで意味をなすコマンドと違い、単独で成立するコマンドを単発系コマンドという。単発系コマンド(「単発コマンド」という場合もある)には、客待ちデモコマンド、保留数コマンド、図柄停止コマンド、確率情報系コマンド、エラー/不正系コマンド、機種指定コマンドなどがある。この単発系コマンドのデータがとり得る範囲が単発系コマンド範囲である。
ステップD108に進むと、MODEのデータが先読み系コマンドであるか判定し、先読み系コマンドである場合(ステップD108;Y)には、先読み系コマンド処理(ステップD109)を実行して受信コマンド解析処理を終了し、先読み系コマンドでない場合(ステップD108;N)には、ステップD109を実行しないで受信コマンド解析処理を終了する。ここで、先読み系コマンドとは、先読み演出(例えば、特図の大当り予告)の発生の有無、発生時の演出内容の決定を指令するコマンドである。
なお、本例では、変動開始時のコマンド受信順が従来構成と異なっている。従来は、変動パターンコマンド→停止図柄コマンド→保留数コマンドという順番だったが、本例では、保留数コマンド→停止図柄コマンド→変動パターンコマンドという順番としている。ここで、保留数コマンドは変動演出とは直接関係なく独立した内容なので送信順の変更はそれ程重要ではないが、図柄コマンド(停止図柄コマンド)と変動コマンド(変動パターンコマンド)の順を入れ替えたことについては、次のような背景及び効果がある。
すなわち、変動演出の内容を決めるのは変動パターンコマンドで、停止図柄は演出内容における1つのパラメータでしかないと言うことができ、図柄コマンドを受信しただけでは何も行えない。以前から、変動パターンコマンドを「画面表示変化系のコマンド」、図柄コマンドを「内部パラメータ変更系のコマンド」として扱っているが、従来の構成では、画面表示変化系のコマンドを受信しても、図柄パラメータを受信していない段階のため、直ちに演出準備を行うことができなかった。更に、図柄コマンドが規定時間内に送られてくるかも監視しなければならず、演出制御装置の負担を増加させていた。
しかし、本例では、その順番を逆にしたので、変動パターンコマンドを受信した時点で、受信済みの図柄情報が合致していれば直ちに演出準備を行うことが可能になったという効果が得られる。なお、図柄コマンドを先に受信しても、画面表示を変更するコマンドではないので先に図柄だけ変わってしまうことはない。RAMに図柄情報を保存するだけだからである。また、図柄コマンドを取りこぼしてしまったとしても前回RAMに保存されている図柄情報が合致するものであれば変動が可能であるという利点もある。これに対して、従来の構成では、取りこぼしてしまうと図柄情報欠損となり、変動を行うことができなかった。つまり、本例の場合、コマンド取りこぼしを遊技者に悟られてしまう可能性が限りなく低くなった(従来よりも格段に低くなった)と言える。また、図柄コマンドと変動コマンドは、ペアとなるコマンドであるが、その関係を薄くし独立したコマンドとして扱えるようになったのでプログラムの開発効率が向上したという効果もある。
〔変動系コマンド処理〕
次に、上述の受信コマンド解析処理における変動系コマンド処理(ステップD101)の詳細について図77により説明する。
変動系コマンド処理が開始されると、まずステップD111で、特図種別が未確定か判定し、未確定である場合(ステップD111;Y)には、変動系コマンド処理を終了し、未確定でない場合(ステップD111;N)、すなわち、特図種別が設定されている場合には、変動パターン対応図柄判定処理(ステップD112)を実行してステップD113に進む。特図種別とは、特図の種別が特図1か特図2かを示す情報であり、図柄系コマンド処理の後述するステップD171で設定される情報である。
ステップD113に進むと、変動パターン対応図柄判定処理(ステップD112)で返される情報(有効コマンド情報又は無効コマンド情報)に基づいて、変動コマンドと図柄種別が不整合であるか否か判定し、不整合である場合(ステップD113;Y)、すなわち無効コマンド情報が返された場合には、変動系コマンド処理を終了し、不整合でない場合(ステップD113;N)、すなわち有効コマンド情報が返された場合には、ステップD114に進む。
なお、図柄種別とは図柄のカテゴリを意味し、図柄種別には、例えば、はずれ図柄、16R確変大当り図柄などがある。また、上記ステップD113における不整合とは、はずれの変動コマンド(変動パターンコマンド)を受信したのに、16R確変大当り図柄の図柄コマンドを受信していた時など、演出を行う上で矛盾してしまう組み合わせ(変動コマンドと図柄種別の組み合わせ)であることを意味する。
ステップD114に進むと、変動コマンドに応じた演出を行うために、変動演出設定処理(ステップD114)を実行して、P機状態(パチンコ遊技機の状態)として変動中を設定して(ステップD115)、変動系コマンド処理を終了する。ここで、変動中とは、特図の変動中(客待ちデモ中や大当り中、或いはファンファーレ中等でないこと)を表している。
〔変動パターン対応図柄判定処理〕
次に、上述の変動系コマンド処理の変動パターン対応図柄判定処理(ステップD112)の詳細について図78により説明する。
変動パターン対応図柄判定処理が開始されると、まず、図柄系コマンド処理の後述するステップD173でセーブされた図柄種別情報をロードして(ステップD121)、ステップD122に進む。
なお、ここでの図柄種別情報は、特図(飾り図柄)の変動表示ゲームの停止図柄の図柄種別を示す情報である。本例の場合、図柄種別は、「はずれ図柄」、「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」の5種類に分類することができ、詳細には例えば「16R確変大当り図柄」はさらにA〜Eの5種類に分かれており、また「11R確変大当り図柄」はさらにA〜Cの3種類に分かれているために全部で11種類の停止図柄パターンがある。但し、この態様に限定されず、例えば他のラウンド数の大当り図柄や、小当り図柄などの種別が設定されていてもよく、この図柄種別の設定は機種の仕様によって変化する。ここで、2Rや16Rというのは大当りのラウンド数を示し、確変大当り図柄は大当り後に確変状態(大当りとなる確率が通常状態よりも高められた状態)となる大当り図柄であり、通常大当り図柄は大当り後に通常状態(確変状態でない状態)となる大当り図柄である。また、はずれ図柄は変動表示ゲームの結果がはずれとなる図柄(大当りにならない図柄)である。
ステップD122に進むと、MODEのデータ(前述のステップD91で分離された上位バイトのデータ)が変動系コマンド範囲内にあるか判定し、この範囲内ならば(ステップD122;Y)、ステップD123に進み、この範囲外ならば(ステップD122;N)、コマンド異常であるとしてステップD133に進む。このステップD122では、前述したステップD100と例えば同じ判定を再度実行している。なお、このステップD122ではMODEの歯抜けチェックは行わない構成でもよいし、行ってもよい。また、このステップD122と前述したステップD100の判定内容を異ならせてもよい。例えば、前述したステップD100とこのステップD122のうちの何れか一方のみでMODEの歯抜けチェックを行う態様としてもよい。
ステップD123に進むと、ステップD121でロードした図柄種別情報がはずれ図柄か判定し、はずれ図柄ならば(ステップD123;Y)、MODEのデータに対応するはずれ時ACT整合チェックテーブルを設定して(ステップD124)、ステップD141に進み、はずれ図柄でないならば(ステップD123;N)、ステップD125に進む。ここで、はずれ時ACT整合チェックテーブルは、はずれ図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
なお、PROM321には、はずれ時ACT整合チェックアドレステーブルが登録されており、上記ステップD124では、このはずれ時ACT整合チェックアドレステーブルから対応するはずれ時ACT整合チェックテーブルのアドレスを取得して設定する。はずれ時ACT整合チェックアドレステーブルは、変動系コマンド範囲の各MODEの値に対応して、はずれ時ACT整合チェックテーブルを特定するアドレス(この場合、はずれ時ACT整合チェックテーブルの先頭アドレス)が定義されたものである。そして、はずれ時ACT整合チェックテーブルとは、はずれ図柄の場合に、対応するMODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。
また、このようなACT整合チェックアドレステーブルとACT整合チェックテーブルは、はずれ図柄以外の図柄種別(「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」)についても同様に設けられており、後述のステップD126,D128,D130,D132においてステップD124と同様に使用される。
ステップD125に進むと、ステップD121でロードした図柄種別情報が2R確変大当り図柄か判定し、2R確変大当り図柄ならば(ステップD125;Y)、MODEのデータに対応する2R確変大当り時ACT整合チェックテーブルを設定して(ステップD126)、ステップD141に進み、2R確変大当り図柄でないならば(ステップD125;N)、ステップD127に進む。ここで、2R確変大当り時ACT整合チェックテーブルは、2R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD127に進むと、ステップD121でロードした図柄種別情報が16R確変大当り図柄か判定し、16R確変大当り図柄ならば(ステップD127;Y)、MODEのデータに対応する16R確変大当り時ACT整合チェックテーブルを設定して(ステップD128)、ステップD141に進み、16R確変大当り図柄でないならば(ステップD127;N)、ステップD129に進む。ここで、16R確変大当り時ACT整合チェックテーブルは、16R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD129に進むと、ステップD121でロードした図柄種別情報が11R確変大当り図柄か判定し、11R確変大当り図柄ならば(ステップD129;Y)、MODEのデータに対応する11R確変大当り時ACT整合チェックテーブルを設定して(ステップD130)、ステップD141に進み、11R確変大当り図柄でないならば(ステップD129;N)、ステップD131に進む。ここで、11R確変大当り時ACT整合チェックテーブルは、11R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD131に進むと、ステップD121でロードした図柄種別情報が11R通常大当り図柄か判定し、11R通常大当り図柄ならば(ステップD131;Y)、MODEのデータに対応する11R通常大当り時ACT整合チェックテーブルを設定して(ステップD132)、ステップD141に進み、11R通常大当り図柄でないならば(ステップD131;N)、コマンド異常であるとしてステップD133に進む。ここで、11R通常大当り時ACT整合チェックテーブルは、11R通常大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD133に進むと、無効コマンド情報を返して(ステップD133)、変動パターン対応図柄判定処理を終了する。
ステップD141に進むと、ステップD141、D144をループ端とするループ処理(繰り返し処理)を実行する。つまり、ステップD141に進むと、ステップD144で分岐することによって、ステップD142とステップD143を順次実行する動作を当該ACT整合チェックテーブル(直前のステップD124,D126,D128,D130,D132のうちの何れかで設定されたもの)の最後まで繰り返す。
すなわち、ステップD141に進むと、まずステップD142で、ステップD124,D126,D128,D130,D132の何れかで取得され後述のステップD143で更新されるACT整合チェックテーブルのアドレス(以下「ACT整合チェックテーブルアドレス」という)に対応するデータ(ACT整合チェックテーブル内の対応する行のデータ)がステップD91で分離されたACTの値に一致するか判定し、一致すれば(ステップD142;Y)、当該ループ処理を抜けてステップD146に進み、一致しなければ(ステップD142;N)、ACT整合チェックテーブルアドレスを次レコードに更新して(ステップD143)、ステップD144に進む。
ステップD144に進むと、当該ACT整合チェックテーブルの最後のデータまでステップD142が繰り返し実行されたか判定し、最後のデータまでステップD142が繰り返された場合にはステップD145に進み、そうでない場合にはステップD141に戻って処理を繰り返す。具体的には、ステップD144では、ステップD143で更新されたACT整合チェックテーブルアドレスに対応するデータがチェック終了コード(−1)であるか判定し、チェック終了コードであれば最後まで繰り返されたとしてステップD145に進み、チェック終了コードでなければステップD141に戻って処理を繰り返す。
このステップD141〜D144の繰り返しループの処理によって、当該ACT整合チェックテーブル内の何れかのデータと、前述のステップD91で分離されたACTのデータとが一致すれば、ステップD146に進み、そうでない場合(一致するデータが当該ACT整合チェックテーブルに一つもない場合)には、ステップD145に進む。
そして、ステップD145に進むと、異常であるとして無効コマンド情報を返して(ステップD145)、変動パターン対応図柄判定処理を終了する。また、ステップD146に進むと、正常であるとして有効コマンド情報の値を返して(ステップD146)、変動パターン対応図柄判定処理を終了する。
なお、前述のステップD113では、上記ステップD133、D145、D146の何れかで返された情報によって、変動コマンドと図柄種別の整合性が判定される。
例えば、事前にはずれ図柄の図柄コマンドを受信していてステップD121でロードされる図柄種別情報がはずれ図柄であり、ステップD91で分離された変動コマンドのMODEの値がCBhであるとともにACTの値が06hであり、ACT整合チェックテーブルの5行目のデータが06hである場合には、上記ステップD142が5回繰り返されたときに上記ステップD142の判定結果がYesになってステップD146に進み、有効コマンド情報が返されてステップD113の判定結果はNo(整合)となる。また、同様の場合に、ステップD91で分離されたMODEの値がCBhであるとともにACTの値が例えば01hであり、ACT整合チェックテーブルには01hが存在しない場合には、上記ループ処理が何度繰り返されても上記ステップD142の判定結果はNoであり、最終行に至った時点でデータがチェック終了コードになるために上記ループ処理を終了してステップD145に進み、無効コマンド情報が返されてステップD113の判定結果はYes(不整合)となる。また、ステップD91で分離されたMODEの値が変動系コマンド範囲でない場合(ステップD122がNoの場合)や、ステップD91で分離されたMODEの値が変動系コマンド範囲である(ステップD122がYes)にもかかわらずステップD121でロードされた図柄種別情報が何れの図柄種別でもない場合(ステップD123,D125,D127,D129,D131が全てNoの場合)には、ステップD133で無効コマンド情報が返されてステップD113の判定結果はYes(不整合)となる。
このように、上記変動パターン対応図柄判定処理によれば、停止図柄に合った変動パターンコマンドになっているかという整合性のチェックが行われる。停止図柄の種類(前述したはずれ図柄、16R確変大当り図柄などの図柄種別)によって行われる変動が異なるので、図柄に合った変動パターンコマンドとなっているかを事前にチェックし、整合性がとれていなければ前述したステップD114、D115を実行しないで異常な変動表示演出を行わないようにするためである。なお、変動パターンは、必ずしも完全に図柄毎できれいに分かれているわけではなく、例えば16R確変大当り図柄と2R確変大当り図柄で共用される変動パターンなどもある。
〔大当り系コマンド処理〕
次に、上述の受信コマンド解析処理における大当り系コマンド処理(ステップD103)の詳細について図79により説明する。
大当り系コマンド処理が開始されると、まずステップD151で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD154、D157、D160でも同じ)がファンファーレ演出(大当りになった時の演出)を指令するものであるか判定し、ファンファーレ演出を指令するものである場合(ステップD151;Y)には、ステップD152に進み、ファンファーレ演出を指令するものでない場合(ステップD151;N)には、ステップD154に進む。
ステップD152に進むと、コマンドに応じたファンファーレ演出を行うためのファンファーレ演出設定処理(ステップD152)を実行して、P機状態としてファンファーレ中を設定して(ステップD153)、大当り系コマンド処理を終了する。
ステップD154に進むと、MODEのデータがラウンド演出(大当りのラウンド中の演出)を指令するものであるか判定し、ラウンド演出を指令するものである場合(ステップD154;Y)には、ステップD155に進み、ラウンド演出を指令するものでない場合(ステップD154;N)には、ステップD157に進む。
ステップD155に進むと、コマンドに応じたラウンド演出を行うためのラウンド演出設定処理(ステップD155)を実行して、P機状態としてラウンド中を設定して(ステップD156)、大当り系コマンド処理を終了する。
ステップD157に進むと、MODEのデータがインターバル演出(大当り中のラウンドとラウンドの間の演出)を指令するものであるか判定し、インターバル演出を指令するものである場合(ステップD157;Y)には、ステップD158に進み、インターバル演出を指令するものでない場合(ステップD157;N)には、ステップD160に進む。
ステップD158に進むと、コマンドに応じたインターバル演出を行うためのインターバル演出設定処理(ステップD158)を実行して、P機状態としてインターバル中を設定して(ステップD159)、大当り系コマンド処理を終了する。
ステップD160に進むと、MODEのデータがエンディング演出(大当り終了時の演出)を指令するものであるか判定し、エンディング演出を指令するものである場合(ステップD160;Y)には、ステップD161に進み、エンディング演出を指令するものでない場合(ステップD160;N)には、大当り系コマンド処理を終了する。
ステップD161に進むと、コマンドに応じたエンディング演出を行うためのエンディング演出設定処理(ステップD161)を実行して、P機状態としてエンディング中を設定して(ステップD162)、大当り系コマンドを終了する。
なお、以上は大当り系コマンド処理の一例であり、上記以外の処理(例えば、ファンファーレ、ラウンド、インターバル、及びエンディング以外の演出のための処理)もあり得る。
〔図柄系コマンド処理〕
次に、上述の受信コマンド解析処理における図柄系コマンド処理(ステップD105)の詳細について図80により説明する。
図柄系コマンド処理が開始されると、まず、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD172でも同じ)に対応する特図種別(特図1か特図2かの情報)を設定する(ステップD171)。例えば、MODEのデータが85hならば特図1を特図種別として設定し、MODEのデータが86hならば特図2を特図種別として設定する。このように特図1か特図2かはMODEのデータから判定できるので、このステップD171では、MODEのデータから特図種別を判定して設定する。
次いで、MODEのデータに対応する図柄種別設定テーブルを設定する(ステップD172)。図柄種別設定テーブルは、図柄コマンドに対応した図柄種別(前述したはずれ図柄、16R確変大当り図柄等の図柄のカテゴリ)を判定するためのテーブルであり、図柄コマンドのACTIONのデータ(例えば、11h〜1Bhの11種類ある)と図柄種別との対応関係が定義されたテーブルである。特図1と特図2で図柄の割合が変わるので(確変割合は同じ)、MODE毎にこの図柄種別設定テーブルを分けて設けており、ステップD172では、複数ある図柄種別設定テーブルからMODEのデータに対応するものを選択して設定する。
次いで、ステップD172で設定された図柄種別設定テーブルに基づいて、ACTのデータ(前述のステップD91で分離された下位バイトのデータ)に対応する図柄種別を取得し、図柄種別情報としてセーブして(ステップD173)、図柄系コマンド処理を終了する。
なお、こうして図柄コマンドを受けてステップD171やD173で設定された特図種別や図柄種別の情報が、図柄コマンドに続いて受信された変動コマンドに対する前述のステップD111、D112の処理で使用される。そして、特図種別の情報は、ステップD111の判定に使用されても、ステップD171が新たに実行されるまで以前にステップD171で設定されたデータが記憶保持される構成となっている。また、図柄種別の情報は、ステップD112で使用された後も、ステップD173が新たに実行されるまで、以前にステップD173で設定されたデータが記憶保持される構成となっている。
〔単発系コマンド処理〕
次に、上述の受信コマンド解析処理における単発系コマンド処理(ステップD107)の詳細について図81及び図82により説明する。
単発系コマンド処理が開始されると、まずステップD181で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD191、D193、D195、D197、D199、D204、D207でも同じ)が客待ちデモを指令するものであるか判定し、客待ちデモを指令するものである場合(ステップD181;Y)には、ステップD182に進み、客待ちデモを指令するものでない場合(ステップD181;N)には、ステップD191に進む。なお、客待ちデモとは、客待ちデモ演出(又は「客待ち演出」ともいう)のことであり、表示装置41で行われる客待ちデモ表示を含む演出である。客待ちデモ演出では、表示装置41での表示に限られず、他の表示装置での表示やランプ類の点灯(点滅含む)、或いは音声の出力による演出が行われてもよい。
ステップD182に進むと、P機状態(パチンコ遊技機の状態)が客待ちデモ中か判定し、客待ちデモ中ならば(ステップD182;Y)、単発系コマンド処理を終了し、客待ちデモ中でなければ(ステップD182;N)、客待ち演出を行うために客待ち用シナリオデータ設定処理(ステップD183)を実行する。なお、演出制御装置300の制御処理の説明においてシナリオ制御データとは、特定の演出の流れを制御するために、後述するシナリオ管理領域或いはシナリオ管理領域のアドレス領域に設定されるデータを意味する。このステップD183では、客待ち演出を行うためのシナリオ制御データの設定が行われる。
次いで、P機状態として客待ちA(客待ち状態A)を設定して(ステップD184)、ステップD185に進む。なお、本例の場合、客待ち演出には、客待ち状態A、客待ち状態B、客待ちムービー(音無し)、及び客待ちムービー(音有り)がある。
ステップD185に進むと、サブ間データ送信中であるか判定し(すなわち、異なるパチンコ遊技機の演出制御装置に対してデータ送信中であるか判定し)、送信中であれば(ステップD185;Y)、単発系コマンド処理を終了し、送信中でなければ(ステップD185;N)、ステップD186に進む。
ステップD186に進むと、客待ちデモ同期(客待ちデモ表示におけるサブ間同期)のサブ間コマンド(ブロードキャスト送信設定)を準備して(ステップD186)、この準備したサブ間コマンドを編集すべくサブ間送信データ編集処理(ステップD187)を実行する。
次いで、ack待ちタイマ(後述するステップD521で使用されるタイマ)に初期値をセットする(ステップD188)。なお、サブ間コマンドを受信したパチンコ遊技機のサブ基板(演出制御装置)が、サブ間コマンドを送信したパチンコ遊技機のサブ基板に対してackを返すか否かはコマンドの種類で変わる(後述するステップD480a参照)。本例では、客待ちデモ同期のサブ間コマンドには、ackの返信を要求する内容が入っている。すなわち、本例では、客待ちデモ同期のサブ間コマンドは、ack返答が必要なコマンドである。
次いで、サブ間演出開始待ちタイマ(後述するステップD532で使用されるタイマ)を設定して(ステップD189)、サブ間送信要求フラグをセットして(ステップD190)、単発系コマンド処理を終了する。サブ間送信要求フラグは、後述するステップD461の判定に使用される。
ステップD191に進むと、MODEのデータが特図1保留数の値を指令するものであるか判定し、特図1保留数の値を指令するものである場合(ステップD191;Y)には、特図1保留情報設定処理(ステップD192)を実行した後に単発系コマンド処理を終了し、特図1保留数の値を指令するものでない場合(ステップD191;N)には、ステップD193に進む。
ステップD193に進むと、MODEのデータが特図2保留数の値を指令するものであるか判定し、特図2保留数の値を指令するものである場合(ステップD193;Y)には、特図2保留情報設定処理(ステップD194)を実行した後に単発系コマンド処理を終了し、特図2保留数の値を指令するものでない場合(ステップD193;N)には、ステップD195に進む。なお、特図1保留情報設定処理(ステップD192)は詳細を後述するが、特図2保留情報設定処理(ステップD194)については、特図1保留情報設定処理と同様の処理(特図1か特図2かの違いのみ)であるため説明を省略する。
ステップD195に進むと、MODEのデータが演出モード切替準備を指令するもの(演出モード切替準備コマンドのデータ)であるか判定し、演出モード切替準備を指令するものである場合(ステップD195;Y)には、演出モード切替設定処理(ステップD196)を実行した後に単発系コマンド処理を終了し、演出モード切替準備を指令するものでない場合(ステップD195;N)には、ステップD197に進む。演出モード切替設定処理(ステップD196)は、演出モード切替準備コマンドに応じた動作を行うための制御処理であり、そのためのシナリオデータ設定処理を含む。
ステップD197に進むと、MODEのデータが停電復旧を知らせるもの(停電復旧時のコマンドのデータ)であるか判定し、停電復旧を知らせるものである場合(ステップD197;Y)には、停電復旧設定処理(ステップD198)を実行した後に単発系コマンド処理を終了し、停電復旧を知らせるものでない場合(ステップD197;N)には、ステップD199に進む。停電復旧設定処理(ステップD198)は、例えば「遊技再開しました」といったメッセージを表示装置41に表示したり、ランプ類を所定態様で点滅させたりして遊技者へ停電復旧を報知する等のための処理であり、そのためのシナリオデータ設定処理を含む。
ステップD199に進むと、MODEのデータが電源投入(初期化スイッチ(RAMクリアスイッチ)をオンした状態での電源投入)を知らせるもの(電源投入時のコマンドのデータ)であるか判定し、当該電源投入を知らせるものである場合(ステップD199;Y)には、ステップD200に進み、当該電源投入を知らせるものでない場合(ステップD199;N)には、ステップD204に進む。なお、電源投入時のコマンドは、遊技制御装置100がRWMクリアしたことを演出制御装置300に知らせる電源投入コマンドのことである。この電源投入コマンドは、演出制御装置300に演出状態をクリアさせるのと、RWMクリア報知(RWMクリアされたことを、例えば表示装置41に表示する動作)を行わせるために送られる。
ステップD200に進むと、各種初期画面情報を設定する(ステップD200)。各種初期画面情報の設定内容は、特図種別・図柄種別をクリアする、特図1保留数及び特図2保留数に0を設定する、現図柄及び停止図柄に例えば左=7、中=5、右=3のはずれ図柄を設定するというものである。
次いで、この時点での保留数(=0)に対応する保留用モーション制御テーブルのインデックスを算出し、セーブする(ステップD201)。ここで、保留用モーション制御テーブルのインデックスとは、保留用モーション制御テーブルの行(レコード)を指定するインデックスである。また、保留用モーション制御テーブルとは、特図の始動記憶の保留表示を行うためのモーション制御テーブルである。また、このステップD201の処理は、特図1保留数と特図2保留数についてそれぞれ実行する。
ここで、モーション制御テーブルとは、ブロック化された各演出(主に演出表示)を実行するための制御テーブルであり、単にモーションテーブルともいう。このモーションテーブルのデータは、PC(パーソナルコンピュータ)で実行できる市販のアプリケーションソフトによってマウス等を使用したグラフィカルな入力操作によって容易に制作できるものであり、ブロック化された演出毎に演出制御装置300のPROM321に予め記憶されている。
次いで、電源投入用シナリオデータ設定処理(ステップD202)を実行する。この電源投入用シナリオデータ設定処理には、演出装置のモータの動作位置を初期位置にするなどのための初期化処理、さらには前記RWMクリア報知を実行するための制御処理が含まれてもよい。
次いで、P機状態として客待ちA(客待ち状態A)を設定して(ステップD203)、単発系コマンド処理を終了する。
ステップD204に進むと、MODEのデータが特図の図柄停止を指令するものであるか判定し、特図の図柄停止を指令するものである場合(ステップD204;Y)には、ステップD205に進み、特図の図柄停止を指令するものでない場合(ステップD204;N)には、ステップD207に進む。
ステップD205に進むと、図柄停止用シナリオデータ設定処理(ステップD205)を実行して、P機状態として通常を設定して(ステップD206)、単発系コマンドを終了する。ここで、通常とは、特図の大当り中、特図の変動中、客待ち中(客待ち状態)の何れでもないことを示す。また、ここで通常と設定された後は、主基板からの次のコマンドに応じて、例えば特図の変動中になったり、客待ち中になったりする。
ステップD207に進むと、MODEのデータが確率情報を知らせるもの(確変情報コマンドのデータ)であるか判定し、確率情報を知らせるものである場合(ステップD207;Y)には、確率情報設定処理(ステップD208)を実行した後に単発系コマンド処理を終了し、確率情報を知らせるものでない場合(ステップD207;N)には、図示省略された他の処理のステップ(例えば、MODEのデータを判定する他のステップ)に進む。
ここで、確率情報設定処理(ステップD208)は、大当り後に確変になった場合の確変終了時(高確率状態から低確率である通常状態への移行時)の画面切替のための設定処理であり、そのためのシナリオデータ設定処理を含む場合もある。
なお、この単発系コマンド処理については、図示及び説明を省略しているステップがある。例えば、非変動系の他のコマンド(エラー系等のコマンドなど)を受信した場合の対応処理等を省略している。また、全てのコマンドに対してシナリオ制御データを設定しているわけではない。例えば、枠開放を示すエラー系コマンドを受信した場合、表示装置41の画面は変化させないためシナリオ制御データの設定は行わない。
〔客待ち用シナリオデータ設定処理〕
次に、上述の単発系コマンド処理における客待ち用シナリオデータ設定処理(ステップD183)の詳細について図83により説明する。
客待ち用シナリオデータ設定処理が開始されると、まず、シナリオレイヤー番号0を準備する(ステップD211)。ここで、「準備する」とは、後の処理のためにデータを所定の記憶領域に一次記憶して保持しておくことを意味する(後述する他のステップでも同様)。また、シナリオレイヤーは、演出の流れを階層的に制御するための概念的なシナリオの層(レイヤー)である。また、シナリオレイヤー番号は各シナリオレイヤーに付けた番号であり、本例の場合、0から7まである。また、本例では、シナリオレイヤー番号0のシナリオレイヤー(以下「シナリオレイヤー0」という)は主に背景画像の表示制御に使い、シナリオレイヤー1は左図柄の表示制御に使い、シナリオレイヤー2は右図柄の表示制御に使い、シナリオレイヤー3は中図柄の表示制御に使い、シナリオレイヤー4は予告1キャラクタの表示制御に使い、シナリオレイヤー5は予告2キャラクタの表示制御に使い、シナリオレイヤー6は保留表示(すなわち飾り特図始動記憶表示)の表示制御に使い、シナリオレイヤー7は第4図柄の表示制御に使い、シナリオレイヤー8は輪郭内演出の表示制御に使うといったように、シナリオレイヤー毎に制御対象が基本的に割り当てられている。但し、客待ち演出はシナリオレイヤー0のみを使用し、シナリオレイヤー0の中で客待ち演出用の図柄等のモーション情報も管理するようにしている。
次いで、客待ちシナリオ用データテーブルのアドレスを準備する(ステップD212)。シナリオ用データテーブル(単に「シナリオテーブル」ともいう)とは、特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されたテーブルであり、演出制御装置300のPROM321に演出毎に予め記憶されている。客待ちシナリオ用データテーブルは、客待ち演出のための背景シナリオテーブルであり、例えば図135に示す構成となっている。また、本例のシナリオテーブルは、図135に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行(各レコード)に設定されてなるものである。
次いで、直前のステップD211、D212で準備されたデータ(アドレスやシナリオレイヤー番号のデータ)に基づきシナリオデータ設定処理(ステップD213)を実行する。
次いで、シナリオレイヤー番号1を準備して(ステップD214)、左図柄シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD215)、直前のステップD214、D215で準備されたデータに基づきシナリオデータ設定処理(ステップD216)を実行する。
次いで、シナリオレイヤー番号2を準備して(ステップD217)、右図柄シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD218)、直前のステップD217、D218で準備されたデータに基づきシナリオデータ設定処理(ステップD219)を実行する。
次いで、シナリオレイヤー番号3を準備して(ステップD220)、中図柄シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD221)、直前のステップD220、D221で準備されたデータに基づきシナリオデータ設定処理(ステップD222)を実行する。
次いで、シナリオレイヤー番号4を準備して(ステップD223)、予告1シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD224)、直前のステップD223、D224で準備されたデータに基づきシナリオデータ設定処理(ステップD225)を実行する。
次いで、シナリオレイヤー番号5を準備して(ステップD226)、予告2シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD227)、直前のステップD226、D227で準備されたデータに基づきシナリオデータ設定処理(ステップD228)を実行する。
次いで、シナリオレイヤー番号6を準備して(ステップD229)、保留シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD230)、直前のステップD229、D230で準備されたデータに基づきシナリオデータ設定処理(ステップD231)を実行する。
次いで、シナリオレイヤー番号7を準備して(ステップD232)、第4図柄シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD233)、直前のステップD232、D233で準備されたデータに基づきシナリオデータ設定処理(ステップD234)を実行する。
次いで、シナリオレイヤー番号8を準備して(ステップD235)、輪郭内演出シナリオ用データテーブルのアドレス(NULL)を準備して(ステップD236)、直前のステップD235、D236で準備されたデータに基づきシナリオデータ設定処理(ステップD237)を実行して、客待ち用シナリオデータ設定処理を終了する。
なお、ステップD215、D218、D221、D224、D227、D230、D233、D236でアドレス(NULL)を準備するシナリオレイヤー1〜8は、シナリオ用データテーブルが設定されないシナリオレイヤー、すなわち制御されないシナリオレイヤーである。
〔シナリオデータ設定処理〕
次に、上述の客待ち用シナリオデータ設定処理におけるシナリオデータ設定処理(ステップD213、D216、D219、D222、D225、D228、D231、D234、D237)の詳細について図84により説明する。なお、このシナリオデータ設定処理は各種の演出に対して共通化されており、このシナリオデータ設定処理が実行されるステップは、他の処理(例えば、後述するリーチなし変動設定処理のステップD318等)にも多数存在する。「シナリオデータ設定処理」と記載されているステップは、全てこの図84に示すものである。
シナリオデータ設定処理が開始されると、まずステップD241で、準備されたシナリオ用データテーブルのアドレス(例えばステップD212、D215等で準備されたもの)がNULLか判定し、NULLならば(ステップD241;Y)、ステップD247に進み、NULLでなければ(ステップD241;N)、ステップD242に進む。
なお、前述の客待ち用シナリオデータ設定処理においては、ステップD213で本処理が実行された場合には直前のステップD212でNULLでない客待ちシナリオ用データテーブルのアドレスが準備されているので、ステップD241の判定結果はNoになってステップD242に進むことになり、それ以外のステップD216等で本処理が実行された場合には直前のステップD215等でNULLが準備されているので、ステップD241の判定結果はYesになってステップD247に進むことになる。
ステップD242に進むと、準備されたシナリオレイヤー番号(例えばステップD211で準備されたもの、以下同様)に対応するシナリオ管理領域の先頭アドレスを設定する(ステップD242)。本例の場合、演出制御装置300のCPU311内のRAMには、「シナリオ管理領域のアドレス領域」と「シナリオ管理領域」というシナリオ管理用の記憶領域が設けられる構成となっている。
このうち、シナリオ管理領域は、図133の右側に示すように、シナリオ用タイマの値を記憶する領域(シナリオ用タイマ領域)と、PB用タイマ(プッシュボタン用タイマ)の値を記憶する領域(PB用タイマ領域)と、PB検知フラグ(プッシュボタン検知フラグ)の値を記憶する領域(PB検知フラグ領域)と、シナリオ用データテーブルのアドレスを記憶する領域(シナリオ用データテーブル領域)とを含む構造である。
また、同一構造のシナリオ管理領域が各シナリオレイヤーに対応してシナリオレイヤー分存在し、本例ではシナリオレイヤーが9個あるので、このシナリオ管理領域も9個(シナリオ管理領域0〜8)存在する。上記ステップD242では、このように複数あるシナリオ管理領域のうちの一つを特定するために、準備されたシナリオレイヤー番号に対応するシナリオ管理領域(以下「対応シナリオ管理領域」という)の先頭アドレスを設定している。
ここで、本願において、「PB(プッシュボタン)」とは、プッシュボタン(演出ボタン25)だけを意味するのではなく、演出操作部550全体(すなわち、プッシュボタン(演出ボタン25)とセレクトボタン(タッチパネル29))を意味する。よって、例えば「PB検知」とは、“演出ボタン25操作の検知及び/又はタッチパネル29操作の検知”を意味する。
なお、シナリオ管理領域のアドレス領域とは、シナリオレイヤー毎にシナリオ管理領域の先頭アドレスを格納する領域であり、本例ではシナリオレイヤーが9個あるので、図133の左側に示すように、これに対応した9個の先頭アドレス(シナリオレイヤー0用アドレス〜シナリオレイヤー8用アドレス)をそれぞれ格納する9個の領域からなる。
次いで、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、直前のステップD242で設定されたシナリオ管理領域の先頭アドレスを格納する(すなわち、書き込む)(ステップD243)。
次いで、対応シナリオ管理領域のシナリオ用タイマの値として0を書き込む(すなわち、値をクリアする)処理を行い(ステップD244)、対応シナリオ管理領域のPB用タイマの値として0を書き込む(すなわち、値をクリアする)処理を行う(ステップD245)。なお、対応シナリオ管理領域のPB検知フラグについても値をクリアしてもよいが、必要なとき(PB検知を開始するとき)にクリアすればよいので、ここではPB検知フラグの値の設定は行わない。
次いで、対応シナリオ管理領域のシナリオ用データテーブル領域に、準備されたシナリオ用データテーブルのアドレス(例えばステップD212で準備されたもの)を書き込んで(ステップD246)、シナリオデータ設定処理を終了する。
一方、ステップD247に進むと、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLを書き込んで(ステップD247)、シナリオデータ設定処理を終了する。
以上のシナリオデータ設定処理によれば、準備されたシナリオレイヤー番号に対応するシナリオ管理用の記憶領域(「シナリオ管理領域のアドレス領域」及び「シナリオ管理領域」)に、これから実行しようとする演出用のシナリオ制御データが設定される。
例えば、前述した客待ち用シナリオデータ設定処理では、ステップD213、D216、D219、D222、D225、D228、D231、D234、D237で上記シナリオデータ設定処理が実行されることによって、シナリオ管理領域のアドレス領域におけるシナリオレイヤー0用アドレスとしてシナリオ管理領域0の先頭アドレスが設定され、残りのシナリオレイヤー1用アドレスからシナリオレイヤー8用アドレスまでにはNULLが設定される。また、シナリオ管理領域0のシナリオ用データテーブル領域にはステップD212で準備された客待ちシナリオ用データテーブルのアドレスが設定される。これにより、シナリオレイヤー0のみで客待ち演出の制御が実行される。
〔特図1保留情報設定処理〕
次に、前述の単発系コマンド処理における特図1保留情報設定処理(ステップD192)の詳細について図85により説明する。
特図1保留情報設定処理が開始されると、まず、その時点の特図1保留数のデータをロードし、このロードしたデータを前保留数として記憶する(ステップD251)。
次いで、コマンド(ステップD91で分離されたMODE及びACTのデータ)で指令された保留数の値を特図1保留数として記憶して(ステップD252)、その後ステップD253に進む。
ステップD253に進むと、新保留数(ステップD252で記憶された特図1保留数)と前保留数(ステップD251で記憶された値)とが一致するか判定し、一致する場合(ステップD253;Y)には、特図1保留情報設定処理を終了し、一致しない場合(ステップD253;N)には、ステップD254に進む。
ステップD254に進むと、新保留数に対応する保留用モーション制御テーブルのインデックスを算出し、セーブする(ステップD254)。なお、インデックスとは、グループを成す複数の記憶領域のうちの何番目かを特定するデータであり、特にモーションテーブルを特定するインデックスをモーションインデックスという。このステップD254では、新保留数に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
次いで、シナリオレイヤー番号6を準備して(ステップD255)、特図1保留シナリオ用データテーブル(保留X個)のアドレスを準備する(ステップD256)。ここで、特図1保留シナリオ用データテーブル(保留X個)とは、新保留数に対応する演出を行うための保留数毎に異なるシナリオテーブルを意味し、新保留数が例えば1個であれば特図1保留シナリオ用データテーブル(保留1個)であり、新保留数が例えば2個であれば特図1保留シナリオ用データテーブル(保留2個)である。
次いで、直前のステップD255、D256で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD257)を実行して、ステップD258に進む。
ステップD258に進むと、保留数が増加したか(すなわち、新保留数>前保留数であるか)判定し、増加したならば(ステップD258;Y)、ステップD259に進み、増加していないならば(ステップD258;N)、ステップD262に進む。
ステップD259に進むと、新保留数に対応する色情報領域に保留通常点灯の表示パターンを設定して(ステップD259)、ステップD260に進む。
ステップD260に進むと、P機状態が大当り中か判定し、大当り中であれば(ステップD260;Y)、特図1保留情報設定処理を終了し、大当り中でなければ(ステップD260;N)、始動口入賞音を出力要求して(ステップD261)、特図1保留情報設定処理を終了する。なお、大当り中には、前述したファンファーレ中、ラウンド中、インターバル中、及びエンディング中が含まれる。
ステップD262に進むと、特図1先読み情報領域をシフトして(ステップD262)、色情報領域をシフトして(ステップD263)、特図1保留情報設定処理を終了する。
なお、ステップD259に進むのは、特図1の始動入賞があった場合であるので、この始動入賞による保留表示(保留されている始動記憶の表示)や演出用の入賞音出力を行うためにステップD259及びD261が実行される。但し、大当り中には、ステップD260で分岐して入賞音出力を行わない。また、ステップD262に進むのは、特図1の始動記憶の保留数が減少した場合であるため、先読み表示(例えば大当り予告や変動パターン予告)を行っている保留数の表示をずらして表示したり、先読み情報(先読みした変動パターンや停止図柄の情報及び先読み演出有無等の各種情報(フラグ等))を保留数に対応する領域にずらすために、ステップD262、D263が実行される。
演出制御装置300では、前述のステップD109(先読み系コマンド処理)において、各保留毎に、先読み系コマンドの解析結果として上記先読み情報を設定している。そして、この先読み情報の格納領域は、主基板で変動開始時に乱数格納領域をシフトするのと同様に、前記保留数の減少に対応させてシフトさせる必要があり、この格納領域のシフトを行っているのが、上記ステップD262である。また、ステップD263は、先読み情報に応じた保留表示色(すなわち、先読み演出のために先読み演出の有無や内容によって異ならせている保留表示の色)の情報の格納領域を同様にシフトさせるための処理である。
〔変動演出設定処理〕
次に、前述の変動系コマンド処理における変動演出設定処理(ステップD114)の詳細について図86及び図87により説明する。
変動演出設定処理が開始されると、まず、受信したコマンドに応じた大別パターン(特図の変動表示演出の大まかな分類であり、後述する大別パターンデータによって決まる)を選択する変動パターン分類処理(ステップD271)を実行して、上記ステップD271の変動パターン分類処理で返された大別パターン及び各種演出情報に対応する予告振分テーブル1を準備する(ステップD272)。ここでの演出情報とは、停止図柄の情報(特に大当り図柄の詳細、はずれは大別パターンで分かるため)、高確率/時短状態といった確率状態の情報、保留数の数、及び演出制御装置300が管理する遊技モード(本例では遊技制御装置からも遊技モードのコマンドが送られてくる)などが有り得る。このステップD272(或いは後述のステップD274、D277)で各種演出情報を考慮して予告振分テーブルを設定しているので、例えば同一の変動パターンコマンドでも、そのときの状態で、予告の振り分け率(発生率)を変化させられるようになる。
次いで、乱数抽選処理A(ステップD273)を実行する。
次いで、上記ステップD271で返された大別パターン及び各種演出情報に対応する予告振分テーブル2を準備して(ステップD274)、乱数抽選処理B(ステップD275)を実行して、ステップD276に進む。
ステップD276に進むと、上記ステップD271で返された大別パターンが「通常はずれ」か判定し、「通常はずれ」であれば(ステップD276;Y)、ステップD279に進み、「通常はずれ」でなければ(ステップD276;N)、ステップD277に進む。
ステップD277に進むと、上記ステップD271で返された大別パターン及び各種演出情報に対応する予告振分テーブル3を準備して(ステップD277)、乱数抽選処理C(ステップD278)を実行して、ステップD279に進む。
ステップD279に進むと、基本BGM番号(基本BGMの曲番号)を設定して(ステップD279)、予告演出設定処理1(ステップD280)を実行して、その後ステップD281に進む。
ステップD281に進むと、ここまでの処理で決定された前半変動種別が通常変動か否か判定し、通常変動であれば(ステップD281;Y)、ステップD282に進み、通常変動でなければ(ステップD281;N)、図86において波線で図示省略した他の処理のステップ(前半変動種別が通常変動でない場合の各種変動の処理)に進む。
なお、前半変動種別とは、同一のMODE(例えば12秒前半通常変動)の中で、演出制御装置側で振り分けている変動予告種類のことである。また、「通常変動」における「通常」とは、いわゆるすべりや短縮変動等の特殊な変動ではないという意味である。また煩雑を避けるため、ここでは、前半変動種別が通常(すべりや短縮でない)の場合の予告振り分けの様子のみをフローチャート(図86)に記載している。そして、前半変動種別が通常変動でない場合の各種変動の処理は、ステップD281の判定結果がNoになった流れ以降のステップ(図86において波線で省略している)で実行されるが、この流れ以降の処理を実行した後には、次の図87のステップD290に進む構成となっている。また、大当り、はずれのいずれの場合でも、前半変動が通常になり得るので、各予告用シナリオデータ設定処理(後述するステップD286〜D289)は大当りとはずれの何れの場合でも実行される可能性がある。但し、大当り専用の前半変動なども考えられるので、常に両用の設定処理ばかりとは限らない。
ステップD282に進むと、ここまでの処理(ステップD273等)で決定された予告種別(後述する演出振分け結果領域のデータ)が特殊予告を指定するものであるか判定し、特殊予告でない場合(ステップD282;N)には、ステップD283に進み、特殊予告である場合(ステップD282;Y)には、特殊予告用シナリオデータ設定処理(ステップD286)を実行した後にステップD290に進む。
ステップD283に進むと、ここまでの処理で決定された予告種別が特殊文字予告を指定するものであるか判定し、特殊文字予告でない場合(ステップD283;N)には、ステップD284に進み、特殊文字予告である場合(ステップD283;Y)には、特殊文字予告用シナリオデータ設定処理(ステップD287)を実行した後にステップD290に進む。
ステップD284に進むと、ここまでの処理で決定された予告種別がPB予告を指定するものであるか判定し、PB予告でない場合(ステップD284;N)には、ステップD285に進み、PB予告である場合(ステップD284;Y)には、PB予告用シナリオデータ設定処理(ステップD288)を実行した後にステップD290に進む。
ステップD285に進むと、ここまでの処理で決定された予告種別がフラッシュバック予告を指定するものであるか判定し、フラッシュバック予告でない場合(ステップD285;N)には、ステップD290に進み、フラッシュバック予告である場合(ステップD285;Y)には、フラッシュバック予告用シナリオデータ設定処理(ステップD289)を実行した後にステップD290に進む。
ステップD290に進むと、特図種別が特図2か否かを判定し、特図2である場合(ステップD290;Y)には、ステップD291に進み、特図2でない場合(ステップD290;N)、すなわち、特図1の場合には、ステップD293に進む。
ステップD291に進むと、特図2に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブして(ステップD291)、第4図柄用(特図2変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブして(ステップD292)、ステップD295に進む。
ステップD293に進むと、特図1に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブして(ステップD293)、第4図柄用(特図1変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブして(ステップD294)、ステップD295に進む。
モーション用リストテーブルは、多数あるモーションテーブルに関するデータを各行(各レコード)に配置したモーションテーブルのデータリストである。このモーション用リストテーブルの各行のデータがそれぞれ一つのモーションテーブルに関するデータである。このモーション用リストテーブルの各行には、データ項目(データのカテゴリ)として、フレーム数、モーションコマンド数、モーションテーブル名、ビヘイビア数、及びビヘイビアテーブル名がある。但し、このカテゴリ設定は一例であり、これ以外のパラメータを設定してもよい。各データ項目の内容は以下のとおりである。
・フレーム数(表示フレーム数)は、当該モーションテーブルは何フレーム分のモーションデータ(モーションテーブルを構成するデータ)が定義されているかを示す。
・モーションコマンド数は、当該モーションテーブル内に定義されているコマンド数を示す。
・モーションテーブル名は、当該モーションテーブルの名称(=アドレス)を示す。
・ビヘイビア数は、当該モーションテーブル内で使用するビヘイビアの数(種類)を示す。
・ビヘイビアテーブル名は、当該モーション制御時のビヘイビア(処理のアドレス)を定義してあるビヘイビアテーブルの名称(=アドレス)を示す。
なお、ビヘイビア数が0なら、当然ビヘイビアテーブルは不要である。
ここで、ビヘイビアとは、オブジェクト(表示要素)の動作を設定する機能である。本例では、主にモーションテーブル上に定義されている画像データ(キャラクタデータ)を状況に応じて変更するために使用している。
ステップD295に進むと、特図停止図柄領域の値を現図柄領域にセーブして(ステップD295)、ステップD296に進む。ここで、特図停止図柄領域の値とは、後述するステップD354で設定されるデータである。また、現図柄領域は、表示する現図柄の図柄番号を記憶する記憶領域(その時点で表示画面41a上に表示する現図柄の図柄番号が入っている記憶領域)であり、この記憶領域の値(現図柄の図柄番号)は変動表示中に変動に伴って次々と更新される。なお、特図の変動表示は、前回の変動表示の停止図柄から次回の変動表示(客待ち中の図柄表示も含む)を開始するが、この動作を確実に行うため、このステップD295で前回の変動表示の停止図柄をセーブして次回の変動表示に利用する構成となっている。これは、特に変動表示中に新たな変動コマンドを受信した場合に意味がある。すなわち、変動表示中に新たな変動コマンドを受信した場合、このステップD295の処理があるため、受信時に表示されていた図柄から次の変動を開始するのではなく、前回変動で停止するはずだった図柄に差し替えられて変動を開始する。この場合、仮にステップD295が無ければ、その時点(変動コマンド受信時点)で表示されていた図柄から始まり、どの図柄が停止するはずだったのか遊技者に分からないという問題が生じる。しかし、本例であれば、ステップD295があることによって、前回変動で停止するはずだった図柄に差し替えられて変動を開始することになり、遊技者は前回の停止図柄が分かるため、このような問題が解消される。
ステップD296に進むと、ステップD91で分離されたMODEのデータ(前半変動パターンのデータ)が12秒前半通常変動を指令するものか否か判定し、12秒前半通常変動を指令するものであれば(ステップD296;Y)、ステップD297に進み、12秒前半通常変動を指令するものでなければ(ステップD296;N)、ステップD299に進む。ここで、「12秒前半通常変動」における「通常」とは、短縮変動等の特殊な変動ではないという意味である。
なお、本例では、12秒前半通常変動の場合には、リーチアクション無しの変動パターンしかあり得ない。この場合、リーチアクションを行わないので後半変動の時間値は0として設定し、合計で12秒となる変動パターン(すなわち、12秒通常変動;ここでの「通常」はリーチではない変動という意味である)として定義している。つまり、ステップD91で分離されたACTのデータ(後半変動パターン)が示す後半変動時間値は0秒変動ということになる。
ステップD297に進むと、前記ACTのデータがリーチアクション無し(0秒変動)を指令するものか判定し、リーチアクション無しである場合(ステップD297;Y)には、リーチなし変動設定処理(ステップD298)を実行した後に変動演出設定処理を終了し、リーチアクション無しでない場合(ステップD297;N)には、異常であるのでステップD298を実行しないで変動演出設定処理を終了する。
ステップD299に進むと、前記MODEのデータが(前半変動パターン)が10.4秒前半通常変動(ここでの「通常」は短縮変動等ではないという意味)を指令するものか否か判定し、10.4秒前半通常変動を指令するものであれば(ステップD299;Y)、ステップD300に進み、10.4秒前半通常変動を指令するものでなければ(ステップD299;N)、ステップD308に進む。なお、本例では、10.4秒前半通常変動の場合には、リーチアクション有りの変動パターンしかあり得ない。この場合、リーチアクションの演出内容に伴って後半変動の時間値は変化するので、合計で「10.4+α」秒となる変動パターンとして定義される。同一のMODEに対してACTのデータ(後半変動パターン)は複数の種類があり、この数は遊技機毎の仕様により異なる。
ステップD300に進むと、前記ACTのデータ(後半変動パターン)がノーマル−1はずれの変動を指令するものか否か判定し、ノーマル−1はずれを指令するものであれば(ステップD300;Y)、ノーマル−1はずれ設定処理(ステップD304)を実行した後に変動演出設定処理を終了し、ノーマル−1はずれを指令するものでなければ(ステップD300;N)、ステップD301に進む。なお、ノーマル−1はずれは、ノーマルリーチアクション有りで外れる変動パターンである。
ステップD301に進むと、前記ACTのデータ(後半変動パターン)がノーマル+1はずれの変動を指令するものか否か判定し、ノーマル+1はずれを指令するものであれば(ステップD301;Y)、ノーマル+1はずれ設定処理(ステップD305)を実行した後に変動演出設定処理を終了し、ノーマル+1はずれを指令するものでなければ(ステップD301;N)、ステップD302に進む。なお、ノーマル+1はずれも、ノーマルリーチアクション有りで外れる変動パターンである。
ステップD302に進むと、前記ACTのデータ(後半変動パターン)がキャラ−1はずれの変動を指令するものか否か判定し、キャラ−1はずれを指令するものであれば(ステップD302;Y)、キャラ−1はずれ設定処理(ステップD306)を実行した後に変動演出設定処理を終了し、キャラ−1はずれを指令するものでなければ(ステップD302;N)、ステップD303に進む。なお、キャラ−1はずれは、キャラ(例えば、武将キャラ等の機種固有のキャラクタ)リーチアクション有りで外れる変動パターンである。
ステップD303に進むと、前記ACTのデータ(後半変動パターン)がキャラ発展−1はずれの変動を指令するものか否か判定し、キャラ発展−1はずれを指令するものであれば(ステップD303;Y)、キャラ発展−1はずれ設定処理(ステップD307)を実行した後に変動演出設定処理を終了し、キャラ発展−1はずれを指令するものでなければ(ステップD303;N)、図87において波線で省略された他のステップに進む。なお、キャラ発展−1はずれは、キャラ発展リーチアクション有りで外れる変動パターンである。また、ステップD303の判定結果がNoになった流れ以降(波線で図示省略した箇所)では、10.4秒前半通常変動の場合の他のリーチ演出(例えば大当りになる場合の変動表示演出も含む)についてステップD303、D307等と同様の処理が実行され、前記ACTのデータが何れにも該当しない場合には異常であるので変動演出設定処理を終了する。
ステップD308に進むと、前記MODEのデータが(前半変動パターン)が12.8秒擬似連1変動を指令するものか否か判定し、12.8秒擬似連1変動を指令するものであれば(ステップD308;Y)、ステップD309に進み、12.8秒擬似連1変動を指令するものでなければ(ステップD308;N)、図87において波線で省略された他のステップに進む。なお、ステップD308の判定結果がNoになった流れ以降(波線で図示省略した箇所)では、前記MODEのデータが上記以外である場合の変動表示演出についてステップD303、D307等と同様の処理が実行され、前記MODEのデータが何れにも該当しない場合には異常であるので変動演出設定処理を終了する。
ステップD309に進むと、前記ACTのデータ(後半変動パターン)がキャラ−1はずれの変動を指令するものか否か判定し、キャラ−1はずれを指令するものであれば(ステップD309;Y)、ノーマル−1はずれ設定処理(ステップD310)を実行した後に変動演出設定処理を終了し、キャラ−1はずれを指令するものでなければ(ステップD309;N)、図87において波線で省略された他のステップに進む。なお、ステップD309の判定結果がNoになった流れ以降(波線で図示省略した箇所)では、12.8秒擬似連1変動の場合の他のリーチ演出(例えば大当りになる場合の変動表示演出も含む)についてステップD309、D310等と同様の処理が実行され、前記ACTのデータが何れにも該当しない場合には異常であるので変動演出設定処理を終了する。
〔リーチなし変動設定処理〕
次に、上述の変動演出設定処理におけるリーチなし変動設定処理(ステップD298)の詳細について図88により説明する。なお、本例では、MODE=12秒前半通常変動は、はずれの場合しかない。このため、このリーチなし変動設定処理で設定される後述の図柄生成フラグは、はずれ図柄の指示しかない。
リーチなし変動設定処理が開始されると、まずステップD311で、以前の処理(ステップD271〜D278)で設定された前半変動種別が超短縮変動であるか判定し、超短縮変動であれば(ステップD311;Y)、リーチ+1はずれの図柄生成フラグを準備して(ステップD312)、ステップD314に進み、超短縮変動でなければ(ステップD311;N)、はずれバラケ目の図柄生成フラグを準備して(ステップD313)、ステップD314に進む。
なお、超短縮変動とは、主基板からの指令は12秒前半通常変動でも、その中でリーチの動きを行うことをサブ基板で選択する場合があり、そのような場合の変動の例である。
また、バラケ目とは、特図を構成する複数の図柄がリーチや大当りとなる図柄でない状態(リーチ形の組み合わせでなければ「776」のような組み合わせも含む)を意味する。
ステップD314に進むと、ステップD312又はD313で準備された図柄生成フラグに基づいて停止図柄設定処理(ステップD314)を実行して、前記ACT及び前記前半変動種別に対応するシナリオテーブルのアドレス(シナリオテーブルの名称)を図柄変動シナリオテーブル領域にセーブする(ステップD315)。図柄変動シナリオテーブル領域とは、これから使用する図柄変動のシナリオテーブルのアドレスを一時的に格納しておく演出制御装置300のCPU311内のRAMの記憶領域であり、左図柄用領域、右図柄用領域、中図柄用領域に分かれ、さらに各図柄用領域は1st(序盤)用、2nd(前半)用、3rd(後半)用に分かれていて、一つのシナリオテーブルのアドレスを格納する領域が合計9個(=3×3個)ある。一方、演出制御装置300のPROM321には、遊技制御装置から受信したコマンドと前記前半変動種別に応じて図柄変動用のシナリオテーブルを選択するためのテーブル(以下「図柄変動リストテーブル」という)がコマンド毎(ACTのデータ毎)に登録されている。ステップD315では、まず前記ACTに対応する図柄変動リストテーブルを選択し、次に選択した図柄変動リストテーブルにある複数の設定パターンの中から前記前半変動種別に対応する設定パターンを選択し、選択した設定パターンのシナリオテーブルのアドレスを図柄変動シナリオテーブル領域にセーブする。
なお、本願では、前半変動時間内の図柄の動きだしの期間を「序盤」(1st)、前半変動時間内の残りの期間を「前半」(2nd)としている。同一の前半変動時間でも図柄の動きだしが、そのまま下にスクロールする場合や一旦上にホッピングしたりする場合(予告の一種)もあるので、動きが一通りにならないよう「序盤+前半=前半変動」という構成になっている。そして、後半変動時間を「後半」(3rd)としている。また、本例は、このように、特図変動時の演出を時間的に複数に分割した各期間について演出内容をそれぞれ設定し、各期間の演出内容の組合せとして特図変動時の演出全体を構成する組合せ式となっている。これにより、制御データ記憶用の不揮発性メモリ(本例ではPROM321)に格納しなければならない総データ量が減るというメリットがある。すなわち、例えば、少しでも動きが違う演出内容毎にテーブルを全て用意するとデータ量が膨大になってしまうが、この組合せ式であればそのような問題が改善される。
次いで、シナリオレイヤー番号0を準備して(ステップD316)、現在の遊技モード等に対応する背景シナリオテーブルのアドレスを準備して(ステップD317)、直前のステップD316、D317で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD318)を実行する。
次いで、シナリオレイヤー番号1を準備して(ステップD319)、前述した図柄変動シナリオテーブル領域から、左図柄シナリオ1stテーブルアドレス(前述した左図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードし、準備して(ステップD320)、直前のステップD319、D320で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD321)を実行する。
次いで、シナリオレイヤー番号2を準備して(ステップD322)、前述した図柄変動シナリオテーブル領域から、右図柄シナリオ1stテーブルアドレス(前述した右図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードし、準備して(ステップD323)、直前のステップD322、D323で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD324)を実行する。
次いで、シナリオレイヤー番号3を準備して(ステップD325)、前述した図柄変動シナリオテーブル領域から、中図柄シナリオ1stテーブルアドレス(前述した中図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードし、準備して(ステップD326)、直前のステップD325、D326で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD327)を実行する。
次いで、シナリオレイヤー番号7を準備して(ステップD328)、第4図柄シナリオテーブル(第4図柄用のシナリオテーブル)のアドレスを準備して(ステップD329)、直前のステップD328、D329で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD330)を実行する。
次いで、シナリオレイヤー番号8を準備して(ステップD33A)、輪郭内演出シナリオテーブル(輪郭内演出用のシナリオテーブル)のアドレスを準備して(ステップD33B)、直前のステップD33A、D33Bで準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD33C)を実行して、リーチなし変動設定処理を終了する。
以上説明したリーチなし変動設定処理によれば、リーチなし変動の場合のシナリオ制御データの設定が必要なシナリオレイヤー(この場合、シナリオレイヤー0,1,2,3,7)について行われたことになる。
〔停止図柄設定処理〕
次に、上述のリーチなし変動設定処理における停止図柄設定処理(ステップD314)の詳細について図89により説明する。なお、本例では、演出用の特図が左右並んで配置される3カ所の図柄(左図柄、中図柄、右図柄)からなるが、これら図柄としてそれぞれ9種類の図柄(図柄番号0〜8)がある場合を例示する。
停止図柄設定処理が開始されると、まずステップD331で、前述した特図種別が特図2変動か判定し、特図2である場合(ステップD331;Y)には、ステップD332に進み、特図2でない場合(ステップD331;N)、すなわち、特図1の場合には、ステップD333に進む。
ステップD332に進むと、特図停止図柄領域の特図2第4図柄にはずれ図柄番号をセーブして(ステップD332)、ステップD334に進む。
ステップD333に進むと、特図停止図柄領域の特図1第4図柄にはずれ図柄番号をセーブして(ステップD333)、ステップD334に進む。
ステップD334に進むと、図柄生成フラグとしてはずれバラケ目が設定されているか判定し、設定されていれば(ステップD334;Y)、ステップD335に進み、設定されていなければ(ステップD334;N)、ステップD345に進む。なお、はずれバラケ目の図柄生成フラグは前述のステップD313で設定(準備)される。
ステップD335に進むと、9種類の図柄番号0〜8からランダムに一つ選択した図柄番号を左図柄lxとして設定して(ステップD335)、8種類の図柄番号0〜7からランダムに一つ選択した図柄番号を右図柄rxとして設定して(ステップD336)、ステップD337に進む。
ステップD337に進むと、ステップD336で設定した右図柄rxがステップD335で設定した左図柄lx以上の値であるか判定し、右図柄rx≧左図柄lxであれば(ステップD337;Y)、右図柄rxの図柄番号を1つ増やして(ステップD338)、ステップD339に進み、右図柄rx≧左図柄lxでなければ(ステップD337;N)、すなわち、右図柄rx<左図柄lxであれば、ステップD338を実行しないでステップD339に進む。
これらステップD335〜D338の処理により、左図柄lxと右図柄rxがランダムに設定されるとともに、左図柄lxと右図柄rxは必ず異なる図柄番号に設定される。ステップD336で図柄番号7以下の範囲から選択するのは、ステップD338で必ず一つ増やすことができるようにするためである。
ステップD339に進むと、左図柄lxと右図柄rxとが出現禁止図柄となり得る組合せか判定し、出現禁止図柄となり得る組合せならば(ステップD339;Y)、ステップD340に進み、出現禁止図柄となり得る組合せでなければ(ステップD339;N)、ステップD344に進む。出現禁止図柄とは、ここでは、はずれバラケ目として出現が禁止される図柄である。例えば「357」、「375」、「537」、・・・のように3,5,7の組合せの図柄をチャンス目とした仕様の場合に、このチャンス目がはずれ変動時に出現しないように禁則制御を行う必要があるときには、このチャンス目が出現禁止図柄である。ステップD339〜D343は、この禁則制御のための処理である。単にバラケ目でよい機種なら、この禁則制御は不要であり、右列の処理(ステップD344)だけで足りる。
具体的に説明すると、例えば3,5,7の組合せの図柄が出現禁止図柄であるとすると、ステップD339では、左図柄lxと右図柄rxの図柄番号が3,5,7のうちの異なる何れか二つである場合には、出現禁止図柄となり得るとしてステップD340に進む。
ステップD340に進むと、「左図柄lx,中図柄cx,右図柄rx」の組合せが出現禁止図柄となるcx値をnocxという記憶領域にセット(格納)する(ステップD340)。例えば、左図柄lxが3で、右図柄rxが5の場合、あとは中図柄cxが仮に7であれば、特図の図柄の組み合わせは「3,7,5」となって出現禁止図柄になるので、その中図柄cxの値である7をnocxにセットする。
次いで、8種類の図柄番号0〜7からランダムに一つ選択した図柄番号を中図柄cxとして設定して(ステップD341)、その後ステップD342に進む。
ステップD342に進むと、中図柄cx≧nocxであるか判定し、中図柄cx≧nocxであれば(ステップD342;Y)、中図柄cxの値を1つ増やして(ステップD343)、ステップD354に進み、中図柄cx≧nocxでなければ(ステップD342;N)、ステップD343を実行しないでステップD354に進む。
これらステップD341〜D343の処理によれば、中図柄cxの値は必ずnocxと異なる値になり、結局、「左図柄lx,中図柄cx,右図柄rx」の組合せは、必ず出現禁止図柄でないものとなる。
ステップD344に進むと、8種類の図柄番号0〜7からランダムに一つ選択した図柄番号を中図柄cxとして設定して(ステップD344)、その後ステップD354に進む。
ステップD345に進むと、図柄生成フラグとしてリーチ−1はずれ目が設定されているか判定し、設定されていれば(ステップD345;Y)、ステップD346に進み、設定されていなければ(ステップD345;N)、ステップD353に進む。なお、リーチ−1はずれ目の図柄生成フラグは前述のステップD304やD306でセットされる。
ステップD346に進むと、10種類の値0〜9からランダムに一つ選択した値をtmprndとして格納して(ステップD346)、ステップD347に進む。
ステップD347に進むと、tmprndの値が0か判定し、0ならば(ステップD347;Y)、ステップD348に進み、0でないならば(ステップD347;N)、ステップD350に進む。
ステップD348に進むと、奇数である4種類の値1,3,5,7からランダムに一つ選択した値を左図柄lxの番号として格納して(ステップD348)、ステップD349に進む。なお、ステップD348の図中の記載は、プログラム言語を用いて記載しており、「rand」は乱数を発生させる関数を示し、「mod」は割算の余りを求める演算を示しており、「rand()mod4」は0,1,2,3のうちからランダムに一つ選択された値となる。ステップD348では、この「rand()mod4」の値を2倍して1加算しているため、結局、1,3,5,7のうちからランダムに一つ選択された値となる。
ステップD350に進むと、偶数である5種類の値0,2,4,6,8からランダムに一つ選択した値を左図柄lxの番号として格納して(ステップD350)、ステップD351に進む。
ステップD349又はステップD351に進むと、リーチの図柄とするために、右図柄rxの値を左図柄lxの値と同じにする(すなわち、右図柄を左図柄と同じ図柄とする)処理を行って(ステップD349又はステップD351)、ステップD352に進む。
ここで、ステップD346〜D348、及びステップD350の処理によれば、リーチ図柄の奇数、偶数の出現割合を変化させることができる。この場合、ステップD347からステップD348に進むのはtmprnd=0の場合だけであるため、奇数図柄の出現割合は1/10となり、これに対してステップD347からステップD350に進む割合(すなわち、偶数図柄の出現割合)は9/10となる。このようにするのは、次の理由による。すなわち、再抽選演出があるため、どうしても大当りする時のリーチ図柄が偶数になりやすい。そこで、奇数リーチの大当り信頼度を低下させないために、奇数リーチの出現率を低くしているのである。なお、奇数、偶数の出現率の割合は、もちろん1:9の割合でなくともよい。また、本例では、ステップD348やD350のように計算で図柄を求める態様を例示したが、乱数とデータテーブルで図柄を選出してもよい。
ステップD352に進むと、−1はずれとなるように、左図柄lxの値から1を減算した結果を中図柄cxの値として設定して(ステップD352)、その後ステップD354へ進む。
ステップD353に進むと、その他の図柄生成フラグに対応する組合せの図柄(大当り図柄も含む)を生成して(ステップD353)、ステップD354に進む。
ステップD354に進むと、ここまでのステップで設定された左図柄lx、中図柄cx、右図柄rxの値を、停止図柄領域の左図柄・中図柄・右図柄にそれぞれ格納して(ステップD354)、停止図柄設定処理を終了する。
なお、上記ステップD334〜D352は、以上説明したように、はずれバラケ目の場合と、リーチ−1はずれ目の場合の処理である。実際には停止図柄の種類には、他にも沢山の種類があるが、ここでは煩雑を避けるために、それら他の種類の処理についてはステップD353でまとめて図示しており、その詳細については図示及び説明を省略する。
また、大当り図柄生成の場合は、例えば左図柄だけを決定し、中・右図柄にコピーするやり方などが考えられる。その他、「777」と限定される場合や、計算によらず停止図柄の組合せを複数テーブル上に定義し、乱数で何れかを選択する、というやり方も考えられる。
また、前述のステップD332,D333では第4図柄のはずれ図柄しか設定していないが、当りの場合には、ステップD353で図柄生成フラグに対応する第4図柄の当り図柄を設定する内容となっている。また、図柄生成フラグにも「2R確変大当り図柄目」、「16R確変大当り図柄目」、・・・といったような各種の設定内容があり、例えば「2R確変大当り図柄目」のフラグの場合、左中右図柄(飾り図柄としての左図柄、中図柄、及び右図柄)が「357」、「573」、・・・と複数のパターンが作られるように、第4図柄にも組み合わせが複数あり、どの組み合わせを出現させるかは乱数によって決定される。第4図柄の色の組み合わせは、当りの区分と1対1に対応しており、たとえば「上青、下青」の組み合わせは確変でない大当り、「上青、下黄」は確変大当りといったように対応している。機種毎に異なるが、事前に遊技機の仕様において、第4図柄の色の組み合わせには意味が定義されている。本例は、はずれでは「上白、下白」の1パターンしかあり得ない構成であり、白という色自身が外れ時にしか使われない。図89のステップD332,D333等では図柄番号を設定しているだけであるため、例えば外れでは特図1、2ともに図柄番号=0を設定し、図柄番号=0は特図1、2ともに「上白、下白」の組み合わせと定義されている。当り図柄では例えば第4図柄番号は1から36(例えば、確変当り時は1〜18から抽選、非確変当り時は19〜36から抽選する)までそれぞれあり、同一の番号でも色の組み合わせは特図1と2で異なることもあり得る。例えば、特図1での「上青、下青」は確変ではなくても、特図2では確変の組み合わせになるといったこともあり得る。そのため、図柄番号と色組み合わせのテーブルは特図1と2で別々となっている。このように、第4図柄の色組み合わせがたくさんあるのと、第4図柄の特図1・2で色組み合わせの意味(定義)を変えているのは、左中右図柄の形態で確変か否かが分からなくしているのと同様に、第4図柄の色の組み合わせでも判別を困難とするためである。
〔変動パターン分類処理〕
次に、前述の変動演出設定処理における変動パターン分類処理(ステップD271)の詳細について図90により説明する。
変動パターン分類処理が開始されると、まずステップD361で、MODEのデータが変動系コマンドであるか判定し、変動系コマンドであれば(ステップD361;Y)、ステップD362に進み、変動系コマンドでなければ(ステップD361;N)、ステップD368に進む。
ステップD362に進むと、ACTのデータは有効範囲か判定し、有効範囲であれば(ステップD362;Y)、ステップD363に進み、有効範囲でなければ(ステップD362;N)、ステップD368に進む。
ステップD363に進むと、MODEのデータに対応する変動パターンチェックデータを取得して(ステップD363)、ステップD364に進む。変動パターンチェックデータは、変動系コマンドのMODEのデータ毎に設定され、機種内で使用されていないMODEのデータに対しては変動パターンチェックデータとして0が設定されているものである。
ステップD364に進むと、ステップD363で取得した変動パターンチェックデータが0か判定し、0ならば(ステップD364;Y)、ステップD368に進み、0でなければ(ステップD364;N)、ステップD365に進む。
ステップD365に進むと、MODEのデータに対応する大別パターンテーブルをセット(設定)して(ステップD365)、ステップD365でセットされた大別パターンテーブルに基づいてACTのデータに対応する大別パターンデータを取得する(ステップD366)。
次いで、ステップD366で取得した大別パターンデータを返して(ステップD367)、変動パターン分類処理を終了する。
ステップD368に進むと、0を返して(ステップD368)、変動パターン分類処理を終了する。
ここで、大別パターンテーブルは、MODEのデータ毎に設けられている。大別パターンテーブルは、大別パターンデータがACTの上位データと下位データに対応してマトリクス(行列)状に配置されたもので、ACTの上位データ0〜4に対応して行が決まり、ACTの下位データ0〜Fに対応して列が決まることで、大別パターンデータが決まる構成となっており、テーブルの大きさは5行×16列となっている。大別パターンデータの内訳例は次のとおりである。すなわち、0:無効データ、1:リーチなし変動はずれ、2:ノーマルリーチはずれ、3:女性キャラ系リーチはずれ、4:キャラ系リーチはずれ、5:面完成キャラ発展系リーチはずれ、6:群雄系リーチはずれ、7:チャンス目系リーチ大当り(2R確変)、8:ノーマルリーチ大当り(2R確変)、・・・16:ノーマルリーチ大当り(16R確変、11R確変、11R通常)、17:女性キャラ系リーチ大当り(16R確変、11R確変、11R通常)、18:キャラ系リーチ大当り(16R確変、11R確変、11R通常)、19:面完成キャラ系リーチ大当り(16R確変、11R確変、11R通常)、20:群雄系リーチ大当り(16R確変、11R確変、11R通常)、・・・といったように設定されている。
なお、本例では後半変動パターン(ACTのデータ)の数が01h〜4Bhの範囲となっているので上記のサイズ(5行×16列)のテーブルとなっているが、これは一例であり、もっと細かく分けた構成でもよいし、或いは逆に例えば大別パターンデータが同じ値になる部分をまとめて大まかに分けた構成としてもよい。
また、大別パターンデータは、MODE及びACTのデータに対応した予告振分テーブル等を前述したステップD272等で準備するために、MODE及びACTのデータが指令する変動パターンがどの分類に属するのかを示すデータである。すなわち、コマンドの値から変動パターンの系統をチェックし、対応する予告振り分けのテーブル等を設定できるようにするために、この大別パターンデータがある。これは、リーチの種類等で予告の発生率が変化するためである。
また、大別パターンテーブルは、前述したように大別パターンデータを決定するためのテーブルである。そして、この大別パターンテーブルにおいて、MODE及びACTのデータの組み合わせが存在しない所は大別パターンデータが0となっている。このため、MODE及びACTのデータの組み合わせが存在しない場合、ステップD367では、ステップD368と同様に0を返すことになる。また、こうして0が返された場合、例えば通常外れと同様の扱いとする。通常外れと同様の扱いにすれば、確定したコマンドに万が一異常があっても、特図を一応変動させることができ、遊技者に不安を抱かせないようにすることができるなどの利点がある。但し、0が返された場合、通常外れとしないで、例えば変動演出設定処理においてステップD271を実行した後に、ステップD272以降を実行しないで当該変動演出設定処理を終了する構成として、変動開始設定を行わない態様も有り得る。このようにすると、コマンド異常の場合には特図を変動させないようにすることができる。
〔乱数抽選処理A〕
次に、前述の変動演出設定処理における乱数抽選処理A(ステップD273)の詳細について図91により説明する。この乱数抽選処理Aは、前述のステップD272で振分けのグループA用として準備された予告振分テーブル1における振分け結果を種別毎に乱数により選択する処理である。
乱数抽選処理Aが開始されると、予告種別番号Aを初期値1から増分1だけ増加させつつ終値na(例えば、na=9)になるまで、ステップD371〜ステップD380を繰り返し実行し、その後乱数抽選処理Aを終了する。すなわち、ステップD371では、乱数抽選処理A開始直後は予告種別番号Aを1としてステップD372に進む。ステップD380では、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合には乱数抽選処理Aを終了する。そしてステップD371に戻ると、予告種別番号Aの値を1だけ増加させてステップD372に進む。なお、終値naの値は機種毎に異なる。
なお、ステップD272、D274、D277で準備される予告振分テーブルは、例えばマトリックス状のデータテーブル(行列)であり、振分けの種別毎に同じ行(段)に各種振分け結果の振分け値が横並びに配置されている。予告種別番号Aの値は、このテーブルにおいて複数ある行のうちの一つの行に対応するもので、例えばA=1は上から1番目の行、A=2は上から2番目の行、・・・といったように対応している。すなわち、予告種別番号は、予告振分テーブルにおける特定の振分け値の縦方向の配置位置(何行目か)を示すパラメータである。また、予告振分テーブルの1つの行における特定の振分け値の横方向の配置位置(何列目か)を示すパラメータとして振分けテーブルアドレスが設けられている。また、振分け値は、本例では乱数値が0〜999の1000種類あるので、同じ行にある振分け値を全て加算すると1000になるように設定されている0〜999の範囲内の数である。以上のことは、他の振分テーブルや、他の予告種別番号B、Cについても同様である。
ステップD372に進むと、0〜999からランダムに一つ選択した値をrdmとして格納して(ステップD372)、振分番号を0(初期値)に設定する(ステップD373)。
次いで、予告種別番号Aに対応する振分テーブルアドレスの値(予告種別番号Aの値に対応する行の先頭の列を示す値)を設定して(ステップD374)、ステップD375に進む。ここで、振分テーブルアドレスは、既述したように、前述のステップD272で準備された予告振分テーブル内の同一行における横方向位置(以下「現アドレス」という)を指定する。
ステップD375に進むと、その時点での現アドレスの振分け値とrdmの値とを比較し、前記rdmの値が前記振分け値以上である場合(ステップD375;Y)には、ステップD376に進み、前記rdmの値が前記振分け値未満である場合(ステップD375;N)には、ステップD379に進む。
ステップD376に進むと、前記rdmの値から前記振分け値を減算した値を新たなrdmの値として設定して(ステップD376)、振分テーブルの現アドレスを次振分け値のアドレスに更新(振分テーブルの同一行において1列分だけ現アドレスを先頭から離れる方向にずらす更新)を実行する(ステップD377)。
次いで、振分番号を+1更新して(ステップD378)、ステップD375に戻って処理を繰り返す。
これらステップD375〜D378の処理によれば、rdmの値が現アドレスの振分け値未満になるまで、rdmの値から現アドレスの振分け値を減算して現アドレスを更新する処理が繰り返されることになる。そして、rdmの値が現アドレスの振分け値未満になったとき(すなわち、ステップD375の判定結果がNoになったとき)の現アドレスの更新回数(すなわち、振分番号の値)とその際の予告種別番号Aの値は、予告振分テーブルにおける特定の1つの位置(すなわち、1つの振分け結果)を示すものとなり、これにより振分け結果が乱数に基づいて選択されることになる。
ステップD379に進むと、現アドレスの更新回数(すなわち、前記ステップD376、D377等を繰り返し実行した回数)に相当する振分番号を予告データ値とし、この予告データ値を演出振分け結果領域の対応する領域にセーブして(ステップD379)、その後ステップD380に進む。
ステップD380に進むと、前述したように、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合には乱数抽選処理Aを終了する。
なお、演出振分け結果領域は、上記予告データ値のような演出振分け結果をセーブするCPU311内のRAM内の領域である。
〔乱数抽選処理B〕
次に、前述の変動演出設定処理における乱数抽選処理B(ステップD275)について説明する。この乱数抽選処理Bは、前述のステップD274で振分けのグループB用として準備された予告振分テーブル2における振分け結果を種別毎に乱数により選択する処理である。
乱数抽選処理Bの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
〔乱数抽選処理C〕
次に、前述の変動演出設定処理における乱数抽選処理C(ステップD278)について説明する。この乱数抽選処理Cは、前述のステップD277で振分けのグループC用として準備された予告振分テーブル3における振分け結果を種別毎に乱数により選択する処理である。
乱数抽選処理Cの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
なお、上述の乱数抽選処理AにおけるステップD379及び乱数抽選処理B,Cにおける同じ処理内容のステップでは、予告データ値(現アドレスの更新回数から決まる振分番号の値)によって特定される演出内容(演出パターン)に対応する各種情報(SU予告回数など)を演出振分け結果領域内の所定の記憶領域(例えば、後述するSU予告回数領域、SU1カットイン領域、SU2カットイン領域、SU3カットイン領域、差替え判定領域、差替え対象SU判定領域、セリフSU領域、セリフSU2パターン領域、セリフSU3パターン領域、リーチ文字領域)にそれぞれ格納する。
上述の乱数抽選処理A,B,Cによれば、全てのグループA,B,Cのそれぞれで全ての予告種別番号の値に対して振分け結果が予め選択され、この振分け結果に応じた演出内容を指定する各種情報が予め所定の記憶領域にそれぞれ格納されることになる。
また、三つの乱数抽選処理のうち、乱数抽選処理A(予告振り分けテーブル1)は、主に変動序盤における予告(変動開始直後に出現する予告や、変動開始時の図柄の動きだしのパターンなど)の振り分けを行うものである。また、乱数抽選処理B(予告振り分けテーブル2)は、主にリーチ開始までに行われる予告や、図柄のスローダウン〜仮停止(スベリや図柄送り数)までの動作パターンなどの振り分けを行うものである。また、乱数抽選処理C(予告振り分けテーブル3)は、主にリーチ中に出現する予告を選択するものである。
〔予告演出設定処理1〕
次に、前述の変動演出設定処理における予告演出設定処理1(ステップD280)の詳細について図92により説明する。この予告演出設定処理1としては、乱数抽選結果(前述した乱数抽選処理A、B、Cの結果)に応じてステップアップ予告の設定を行う場合を例示しているが、当然機種毎に予告演出の内容は異なる。なお、ステップアップ予告とは、予告内容や予告の信頼度を変化させつつ大当り予告を段階的に行うものである。本願の図面及び明細書において、「SU」とは、このステップアップ予告のステップアップを意味する。
予告演出設定処理1が開始されると、まず、演出振分け結果領域のSU予告回数領域から振分け結果をロードする(ステップD381)。
次いで、シナリオレイヤー番号4を準備して(ステップD382)、ステップD381でロードしたSU予告回数に対応するSU予告シナリオテーブルのアドレスを準備して(ステップD383)、直前のステップD382、D383で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD384)を実行する。
次いで、演出振分け結果領域のSU1カットイン領域から振分け結果をロードして(ステップD385)、ステップD385でロードしたSU1カットイン番号に対応するキャラデータを取得し、モーションインデックス領域(モーションインデックスを保存する記憶領域)のSU1カットイン領域にセーブする(ステップD386)。
次いで、演出振分け結果領域のSU2カットイン領域から振分け結果をロードして(ステップD387)、ステップD387でロードしたSU2カットイン番号に対応するキャラデータを取得し、モーションインデックス領域のSU2カットイン領域にセーブする(ステップD388)。
次いで、演出振分け結果領域のSU3カットイン領域から振分け結果をロードして(ステップD389)、ステップD389でロードしたSU3カットイン番号に対応するキャラデータを取得し、モーションインデックス領域のSU3カットイン領域にセーブして(ステップD390)、ステップD391に進む。
上記ステップD385〜D390では、振り分けられたキャラ出現を行うためのモーションテーブルのデータを、一旦保存している。なお、ここで保存されたデータが使用されるとは限らず、その後、後述のカットインキャラ差替え判定処理1〜3(ステップD395〜D397)における判定の結果によっては、例えば機種固有の女性キャラのデータに差し替えが行われる。また、ここでは、SU数が満たない結果(例えばSU1が選ばれた)の場合、上位SU領域には一番信頼度の低いキャラクタのデータをセーブしておくことになるが、結果としては使われない制御となっている。
ステップD391に進むと、ステップD381でロードしたSU予告回数が0か判定し、0でない場合(ステップD391;N)には、ステップD392に進み、0である場合(ステップD391;Y)には、予告演出設定処理1を終了する。
ステップD392に進むと、ステップD381でロードしたSU予告回数が1か判定し、1でない場合(ステップD392;N)には、ステップD393に進み、1である場合(ステップD392;Y)には、ステップD395に進む。
ステップD393に進むと、ステップD381でロードしたSU予告回数が2か判定し、2でない場合(ステップD393;N)には、ステップD394に進み、2である場合(ステップD393;Y)には、ステップD396に進む。
ステップD394に進むと、ステップD381でロードしたSU予告回数が3か判定し、3でない場合(ステップD394;N)には、予告演出設定処理1を終了し、3である場合(ステップD394;Y)には、ステップD397に進む。
ステップD395に進むと、カットインキャラ差替え判定処理1(ステップD395)を実行して、その後予告演出設定処理1を終了する。
ステップD396に進むと、カットインキャラ差替え判定処理2(ステップD396)を実行して、その後予告演出設定処理1を終了する。
ステップD397に進むと、カットインキャラ差替え判定処理3(ステップD397)を実行して、その後予告演出設定処理1を終了する。
〔カットインキャラ差替え判定処理1〕
次に、上述の予告演出設定処理1におけるカットインキャラ差替え判定処理1(ステップD395)の詳細について図93により説明する。なお、SU予告回数が1の場合に本処理が実行されるが、SU予告回数が1の場合にはステップアップ予告で登場するキャラが一人目だけであるため、本処理では差替えが全部差替えしかない。
カットインキャラ差替え判定処理1が開始されると、まず、演出振分け結果領域の差替え判定領域から振分け結果をロードして(ステップD401)、ステップD402に進む。
ステップD402に進むと、ステップD401でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならば(ステップD402;Y)、ステップD403に進み、全部差替えでなければ(ステップD402;N)、カットインキャラ差替え判定処理1を終了する。
ステップD403に進むと、カットインSU1用モーション制御テーブルのインデックスをステップD401でロードした振分け結果に基づいて差し替えて(ステップD403)、カットインキャラ差替え判定処理1を終了する。
〔カットインキャラ差替え判定処理2〕
次に、上述の予告演出設定処理1におけるカットインキャラ差替え判定処理2(ステップD396)の詳細について図94により説明する。なお、SU予告回数が2の場合に本処理が実行されるが、SU予告回数が2の場合にはステップアップ予告で登場するキャラが二人目までであるため、本処理では差替えが、一部差替え(一人目だけ差替え)、一部差替え(二人目だけ差替え)、及び全部差替え(一人目と二人目の両方差替え)の3パターンのみである。
カットインキャラ差替え判定処理2が開始されると、まず、演出振分け結果領域の差替え判定領域から振分け結果をロードして(ステップD405)、ステップD406に進む。
ステップD406に進むと、ステップD405でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならば(ステップD406;Y)、カットインキャラ差替え判定処理2を終了し、差替え無しでなければ(ステップD406;N)、ステップD407に進む。
ステップD407に進むと、ステップD405でロードした振分け結果に基づいて差替えが一部差替えであるか判定し、一部差替えならば(ステップD407;Y)、演出振分け結果領域の差替え対象SU判定領域から振分け結果をロードして(ステップD408)、ステップD409に進み、一部差替えでなければ(ステップD407;N)、ステップD413に進む。
ステップD409に進むと、ステップD408でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならば(ステップD409;Y)、カットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD411)、カットインキャラ差替え判定処理2を終了し、SU1でなければ(ステップD409;N)、ステップD410に進む。
ステップD410に進むと、ステップD408でロードした振分け結果に基づいて差替え対象がSU2(二人目のキャラ)か判定し、SU2ならば(ステップD410;Y)、カットインSU2用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD412)、カットインキャラ差替え判定処理2を終了し、SU2でなければ(ステップD410;N)、ステップD412を実行しないでカットインキャラ差替え判定処理2を終了する。
ステップD413に進むと、ステップD405でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならば(ステップD413;Y)、ステップD414に進み、全部差替えでなければ(ステップD413;N)、カットインキャラ差替え判定処理2を終了する。
ステップD414に進むと、カットインSU1用モーション制御テーブルのインデックスをステップD405でロードした振分け結果に基づいて差し替え(ステップD414)、カットインSU2用モーション制御テーブルのインデックスを同様に差し替えて(ステップD415)、カットインキャラ差替え判定処理2を終了する。
〔カットインキャラ差替え判定処理3〕
次に、上述の予告演出設定処理1におけるカットインキャラ差替え判定処理3(ステップD397)の詳細について図95及び図96により説明する。なお、SU予告回数が3の場合に本処理が実行されるが、SU予告回数が3の場合にはステップアップ予告で登場するキャラが三人目まであるため、後述する処理内容に示すような多様な差替えパターンがあり、本例では、全部差替えについても通常の全部差替えと特殊な全部差替え(後述するストーリー用、及びプレミアム用)とがある。
カットインキャラ差替え判定処理3が開始されると、まず、演出振分け結果領域の差替え判定領域から振分け結果をロードして(ステップD421)、ステップD422に進む。
ステップD422に進むと、ステップD421でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならば(ステップD422;Y)、カットインキャラ差替え判定処理3を終了し、差替え無しでなければ(ステップD422;N)、ステップD423に進む。
ステップD423に進むと、ステップD421でロードした振分け結果に基づいて差替えが一部差替えであるか判定し、一部差替えならば(ステップD423;Y)、演出振分け結果領域の差替え対象SU判定領域から振分け結果をロードして(ステップD424)、ステップD425に進み、一部差替えでなければ(ステップD423;N)、ステップD430に進む。
ステップD425に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならば(ステップD425;Y)、カットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD433)、カットインキャラ差替え判定処理3を終了し、SU1でなければ(ステップD425;N)、ステップD426に進む。
ステップD426に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU2(二人目のキャラ)か判定し、SU2ならば(ステップD426;Y)、カットインSU2用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD434)、カットインキャラ差替え判定処理3を終了し、SU2でなければ(ステップD426;N)、ステップD427に進む。
ステップD427に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU3(三人目のキャラ)か判定し、SU3ならば(ステップD427;Y)、カットインSU3用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD435)、カットインキャラ差替え判定処理3を終了し、SU3でなければ(ステップD427;N)、ステップD428に進む。
ステップD428に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU1とSU2(一人目と二人目のキャラ)か判定し、SU1とSU2ならば(ステップD428;Y)、カットインSU1用とカットインSU2用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD436,D437)、カットインキャラ差替え判定処理3を終了し、SU1とSU2でなければ(ステップD428;N)、ステップD429に進む。
ステップD429に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU2とSU3(二人目と三人目のキャラ)か判定し、SU2とSU3ならば(ステップD429;Y)、カットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD438,D439)、カットインキャラ差替え判定処理3を終了し、SU2とSU3でなければ(ステップD429;N)、カットインキャラ差替え判定処理3を終了する。
ステップD430に進むと、ステップD421でロードした振分け結果に基づいて差替え対象が通常の全部差替えか判定し、通常の全部差替えならば(ステップD430;Y)、カットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD440〜D442)、カットインキャラ差替え判定処理3を終了し、通常の全部差替えでなければ(ステップD430;N)、ステップD431に進む。
ステップD431に進むと、ステップD421でロードした振分け結果に基づいて差替え対象がストーリー用か判定し、ストーリー用ならば(ステップD431;Y)、カットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD443〜D445)、カットインキャラ差替え判定処理3を終了し、ストーリー用でなければ(ステップD431;N)、ステップD432に進む。
ステップD432に進むと、ステップD421でロードした振分け結果に基づいて差替え対象がプレミアム用か判定し、プレミアム用ならば(ステップD432;Y)、カットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えて(ステップD446〜D448)、カットインキャラ差替え判定処理3を終了し、プレミアム用でなければ(ステップD432;N)、カットインキャラ差替え判定処理3を終了する。
〔PB予告用シナリオデータ設定処理〕
次に、上述の変動演出設定処理におけるPB予告用シナリオデータ設定処理(ステップD288)の詳細について図97により説明する。
PB予告用シナリオデータ設定処理が開始されると、まず、演出振分け結果領域のセリフSU領域から振分け結果をロードして(ステップD451)、ステップD452に進む。
ステップD452に進むと、ステップD451でロードした振分け結果に基づいてセリフSUがSU2系(SU2系は出現キャラが一人)であるか判定し、SU2系ならば(ステップD452;Y)、ステップD453に進み、SU2系でなければ(ステップD452;N)、すなわち、出現キャラが二人のSU3系であるならば、ステップD456に進む。
ステップD453に進むと、演出振分け結果領域のセリフSU2パターン領域から振分け結果をロードして(ステップD453)、セリフSU2シナリオアドレステーブル(セリフSU2シナリオテーブルのリストテーブル)を設定する(ステップD454)。
次いで、ステップD453でロードした振分け結果に基づいて、ステップD454で設定したテーブルから、振分け結果のセリフSU2パターンに対応するシナリオテーブルのアドレスを取得し、準備して(ステップD455)、ステップD459に進む。
ステップD456に進むと、演出振分け結果領域のセリフSU3パターン領域から振分け結果をロードして(ステップD456)、セリフSU3シナリオアドレステーブル(セリフSU3シナリオテーブルのリストテーブル)を設定する(ステップD457)。
次いで、ステップD456でロードした振分け結果に基づいて、ステップD457で設定したテーブルから、振分け結果のセリフSU3パターンに対応するシナリオテーブルのアドレスを取得し、準備して(ステップD458)、ステップD459に進む。
ステップD459に進むと、シナリオレイヤー番号5を準備して(ステップD459)、直前のステップD459と、直前のステップD455又はD458で準備されたデータに基づいて、前述したシナリオデータ設定処理(ステップD460)を実行して、その後PB予告用シナリオデータ設定処理を終了する。
以上説明したPB予告用シナリオデータ設定処理によれば、PB(プッシュボタン)の操作によって特別なキャラクタが登場したり、PBを操作した後のキャラクタやキャラクタのセリフが変化したりするといったPB予告演出が可能となる。
〔サブ間送信開始処理〕
次に、前述のメイン処理におけるサブ間送信開始処理(ステップD24)の詳細について図98により説明する。なお、サブ間送信とは、サブ間通信における送信のことである。サブ間通信とは、遊技場の異なるパチンコ遊技機のサブ基板(本例では、演出制御装置)の間で行われる通信(本例では、無線通信)である。
サブ間送信開始処理が開始されると、まずステップD461で、サブ間送信要求があるか(すなわち、前述したステップD190、或いは後述するステップD480等でセットされるサブ間送信要求フラグがセットされているか)判定し、サブ間送信要求があれば(ステップD461;Y)、すなわちサブ間送信要求フラグがセットされていれば、ステップD462に進み、サブ間送信要求がなければ(ステップD461;N)、すなわちサブ間送信要求フラグがセットされていなければ、サブ間送信開始処理を終了する。
ステップD462に進むと、サブ間送信開始待ちタイマの値が0より大きいか判定し、0より大きい場合(ステップD462;Y)には、ステップD466に進み、0以下の場合(ステップD462;N)には、ステップD463に進む。
ステップD463に進むと、サブ間送信要求フラグをクリアする(セットされていない状態とする)処理を行い(ステップD463)、サブ間送信許可フラグをセットして(ステップD464)、サブ間送信割込みを許可して(ステップD465)、サブ間送信開始処理を終了する。なお、サブ間送信割込みは、サブ間通信で送信するデータが発生すればこのステップD465で許可され、送信するデータが無くなれば図示省略したルーチン(サブ間送信割込み処理)で禁止される。
ステップD466に進むと、サブ間送信開始待ちタイマを更新する(すなわち、タイマの値を一定値減らす)処理を行って(ステップD466)、サブ間送信開始処理を終了する。サブ間送信開始待ちタイマは、後述するステップD479で初期値を設定され、後述するステップD491でクリアされる(値が0とされる)タイマである。
〔サブ間受信タスク処理〕
次に、前述のメイン処理におけるサブ間受信タスク処理(ステップD25)の詳細について図99により説明する。
サブ間受信タスク処理が開始されると、まずステップD471で、サブ間受信タスク要求があるか(すなわち、サブ間通信の受信データ(サブ間コマンドの受信データ)があって、図示省略したサブ間受信割込み処理でセットされるサブ間受信タスク要求フラグがセットされているか)判定し、サブ間受信タスク要求があれば(ステップD471;Y)、すなわちサブ間受信タスク要求フラグがセットされている場合には、ステップD472に進み、サブ間受信タスク要求がなければ(ステップD471;N)、すなわちサブ間受信タスク要求フラグがセットされていない場合には、サブ間受信タスク処理を終了する。
ステップD472に進むと、受信したサブ間コマンドのSB_MODEのデータ(図示省略したサブ間受信割込み処理でサブ間通信データバッファのsb_mode領域からSB_MODE領域にコピーした値)をSB_MODE領域からロードして(ステップD472)、ステップD473に進む。
ステップD473に進むと、ステップD472でロードしたSB_MODEのデータが端末ID報知を示すものか判定し、端末ID報知を示すものでない場合(ステップD473;N)には、ステップD474に進み、端末ID報知を示すものである場合(ステップD473;Y)には、ステップD482に進む。
ステップD482に進むと、受信した端末ID(図示省略したサブ間受信割込み処理でサブ間通信データバッファの送信元ID領域からサブ間コマンド送信元ID領域にコピーした値)をサブ間コマンド送信元ID領域からロードして(ステップD482)、ステップD482でロードした端末IDに対応する端末情報領域の端末有無情報を「あり」に設定して(ステップD483)、ステップD482でロードした端末IDに対応する端末情報領域の端末有効期間タイマに、初期値を設定する(ステップD484)。なお、端末有効期間タイマを設けることで、受信した端末IDの遊技機が「ある」と認識することに制限時間を設けている。つまり、サブ間通信を行う遊技機間で定期的に互いの存在を確認する必要があり、この端末有効期間タイマに基づく図示省略した処理(例えば、端末有効期間タイマがタイムアップするまでの間に同じ端末ID報知がまた受信されなければ、当該端末IDに対応する端末有無情報を「なし」に更新する処理)によって、この確認を定期的に行っている。こうしておくことで、次のような利点がある。すなわち、ある遊技機が電源を落としたり、無線モジュールが突然故障したりした場合など、何らかの理由により一度は互いに通信を確立した遊技機間の通信が成立しなくなった場合、その相手が存在している前提で通信をし続けることは無駄であるし、それによりサブ間演出の効果が低下してしまう虞もある。例えば、サブ間演出として、島内の左端の遊技機から順次隣の遊技機にサブ間通信で指令を送り、島内の左端の遊技機から順次特定の登場人物等(キャラクタ)の画像を各遊技機の表示装置41に右方に流れるように表示させるといった連続演出(連携演出の一種)を行う場合、その通信が成立しなくなった遊技機のところで、この連続演出が途切れて中断してしまう虞がある。しかし、上記確認を定期的に行って端末有無情報を更新している構成であれば、途中で存在が「なし」となった遊技機にはサブ間演出の要求をしないようにできるので、例えば電源を落としてしまった台を飛ばして上記連動演出を行うなど、効率良いサブ間演出を確実に行えるようになる。
但し、サブ間演出は遊技の結果に影響を与えないものなので、上述したような弊害(例えば、存在のなくなった相手に演出要求をした結果、演出が行われなくなってしまう弊害)があっても問題ないとする思想も成立する。そのような思想に従った仕様の場合には前記端末有効期間タイマは不要である。
次いで、ステップD482でロードした端末IDに対応する端末情報領域のゲーム状態に、受信したゲーム状態のデータ(図示省略したサブ間受信割込み処理でサブ間通信データバッファのゲーム状態領域からサブ間コマンドゲーム状態領域にコピーした値)を格納して(ステップD485)、ステップD481に進む。
ステップD474に進むと、ステップD472でロードしたSB_MODEのデータがack応答を示すものか判定し、ack応答を示すものでない場合(ステップD474;N)には、ステップD476に進み、ack応答を示すものである場合(ステップD474;Y)には、ack受信フラグをセットして(ステップD486)、ステップD481に進む。
ステップD476に進むと、ステップD472でロードしたSB_MODEのデータが演出系コマンドか判定し、演出系コマンドでない場合(ステップD476;N)には、ステップD481に進み、演出系コマンドである場合(ステップD476;Y)には、ステップD477に進む。
ステップD477に進むと、サブ間データ送信中か判定し、サブ間データ送信中ならば(ステップD477;Y)、ステップD481に進み、サブ間データ送信中でなければ(ステップD477;N)、ステップD478に進む。なお、サブ間データ送信とは、サブ間通信におけるデータ送信(例えば、コマンドの送信)である。また、本願では、サブ間通信で送受信されるコマンドをサブ間コマンドと称している。
ステップD478〜D480の処理は、受信したサブ間コマンド(特に演出系コマンド)に応じた演出を行うための処理である。
ステップD478に進むと、受信したサブ間コマンドの内容に対応する各種演出のサブ間コマンド、或いはパラメータ等を設定して(ステップD478)、ステップD478で設定したサブ間コマンドを他の遊技機のサブ基板に送信すべく、サブ間送信開始待ちタイマを設定して(ステップD479)、サブ間送信要求フラグをセットして(ステップD480)、ステップD480aに進む。
なお、演出の内容によっては、サブ間コマンドが発生しない場合もあり得る。このような場合、ステップD478では、サブ間コマンドの設定は行われず、このサブ間コマンドを送信するためのステップD479及びD480の処理も実行されずにステップD480aに進む。
ステップD480aに進むと、ステップD472でロードしたSB_MODEのデータはack返答が必要なコマンドか判定し、ack返答が必要なコマンドでない場合(ステップD480a;N)には、ステップD481に進み、ack返答が必要なコマンドである場合(ステップD480a;Y)には、ステップD488に進む。
ステップD488〜D491は、ack要求に答えてack応答を返すための処理である。
ステップD488に進むと、受信した送信元IDを送信先IDコマンドとして準備して(ステップD488)、ack応答のSB_MODE及びSB_ACTのデータを準備する(ステップD489)。なお、SB_MODEとSB_ACTは、サブ間コマンドを構成するデータである。
次いで、サブ間送信データ編集処理(ステップD490)を実行して、サブ間送信開始待ちタイマをクリアする(タイマの値を0にする)処理を行って(ステップD491)、ステップD481に進む。
ステップD481に進むと、サブ間受信タスク要求フラグをクリアして(ステップD481)、その後サブ間受信タスク処理を終了する。
なお、ステップD477が設けられていることにより、サブ間データの送信中である場合には、サブ間コマンド(演出系コマンド)により要求された動作を行わない構成となっている。これは、サブ間コマンドは主基板からのコマンドと違って必ず対応する必要はないし、送信中ということは、他台に要求をしているか、ackを返している最中ということなので、更に他の台からの要求に応える必要はないという思想からである。また、全ての要求に応えていたら演出に矛盾が出たりする可能性も考えられるが、この構成とすれば、このような矛盾が生じる可能性が無くなるという利点があるからである。但し、この思想は基本的な考え方であり、どんな状態でも行いたい演出があった場合には、送信中でも要求された動作を行う態様も有り得る。
〔サブ間送信データ編集処理〕
次に、前述のサブ間受信タスク処理におけるサブ間送信データ編集処理(ステップD490)、前述の単発系コマンド処理のサブ間送信データ編集処理(ステップD187)の詳細について図100により説明する。
サブ間送信データ編集処理が開始されると、まず、パケット開始コード(STX)のデータ(例えば02H)を、サブ間送信バッファ0に設定する(ステップD501)。ここで、サブ間送信バッファ0は、サブ間通信のための送信バッファ領域(サブ間送信バッファ領域)の一部であり、このサブ間送信バッファ領域のアドレス0の位置の記憶領域がサブ間送信バッファ0である(以下、他のアドレス1,2,3,・・・11についても同様)。
次いで、サブ間データ送信数(SIZE)のデータ(例えば12バイトを示すデータ)を、サブ間送信バッファ1に設定して(ステップD502)、送信元ID(SID)のデータとして自分の端末ID(当該演出制御装置300或いは当該演出制御装置300の無線モジュールに付与された端末ID)やグループID(当該パチンコ遊技機が所属するパチンコ機のグループを特定するID)を、サブ間送信バッファ2に設定して(ステップD503)、送信先ID(DID)のデータ(端末ID及びグループID)を、サブ間送信バッファ3に設定する(ステップD504)。なお、送信元ID(SID)と送信先ID(DID)のデータは、それぞれ、1バイトのうちの上位ビットがグループID、下位ビットが端末IDとなっている。
次いで、サブ間メーカコード(MAKER)のデータを、サブ間送信バッファ4に設定して(ステップD505)、西暦コード(YEAR)のデータを、サブ間送信バッファ5に設定する(ステップD506)。
次いで、サブ間機種コード(TYPE)のデータを、サブ間送信バッファ6に設定して(ステップD507)、サブ間コマンドMODE(SB_MODE)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ7に設定する(ステップD508)。
次いで、サブ間コマンドACT(SB_ACT)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ8に設定して(ステップD509)、自分のゲーム状態(STS)、すなわち、当該パチンコ遊技機のゲーム状態のデータ(例えば、今大当りの5ラウンド目である、などを示すデータ)を、サブ間送信バッファ9に設定する(ステップD510)。
次いで、サブ間送信バッファ0からサブ間送信バッファ9までの設定データ(すなわち、STXからSTSまでのデータ)のチェックサムを算出する(ステップD511)。チェックサムの算出方法は特に限定されないが、例えば、1バイトサイズで単なる加算を行ってもよい。
次いで、ステップD511で算出したチェックサムの演算結果(SUM)のデータを、サブ間送信バッファ10に設定して(ステップD512)、パケット終了コード(ETX)のデータ(例えば03H)を、サブ間送信バッファ11に設定する(ステップD513)。
次いで、サブ間送信ポインタ(サブ間送信バッファ領域のアドレスを指定するパラメータ)のデータとしてサブ間送信バッファ0のアドレスを設定して(ステップD514)、サブ間送信データ編集処理を終了する。このサブ間送信ポインタは、図示省略したサブ間送信割込み処理(サブ間送信のために、サブ間送信バッファ領域のデータを順次CPUのシリアル送信バッファに書き込むなどの処理を行うルーチン)で使用される。
〔サブ間ack応答タスク処理〕
次に、前述のメイン処理におけるサブ間ack応答タスク処理(ステップD26)の詳細について図101により説明する。
サブ間ack応答タスク処理が開始されると、まずステップD521で、ack待ちタイマの値が0か判定し、0である場合(ステップD521;Y)には、サブ間ack応答タスク処理を終了し、0でない場合(ステップD521;N)には、ack待ちタイマを更新(値を規定値だけ減らす)して(ステップD522)、ステップD523に進む。なお、ack待ちタイマは、前述したステップD188で初期値がセットされる。
ステップD523に進むと、ack応答が受信されたか否か(すなわち、ack受信フラグがセットされているか否か)を判定し、受信された場合(ステップD523;Y)には、ステップD524に進み、受信されていない場合(ステップD523;N)、すなわちack受信フラグがセットされていない場合には、サブ間ack応答タスク処理を終了する。なお、ack受信フラグは、前述のステップD486でセットされる。
ステップD524に進むと、ack受信フラグをクリアして(ステップD524)、ack待ちタイマをクリアする(ステップD525)。
次いで、ack応答を受信したので、このack応答を待っていた演出に対応するための各種パラメータを設定して(ステップD526)、サブ間ack応答タスク処理を終了する。
〔サブ間演出設定処理〕
次に、前述のメイン処理におけるサブ間演出設定処理(ステップD27)の詳細について図102により説明する。
サブ間演出設定処理が開始されると、まずステップD531で、サブ間演出要求ありか否か(すなわち、サブ間演出要求フラグがセットされているか否か)を判定し、サブ間演出要求ありの場合(ステップD531;Y)には、ステップD532に進み、サブ間演出要求なし(サブ間演出要求フラグがクリアされた状態)の場合(ステップD531;N)には、サブ間演出設定処理を終了する。サブ間演出要求フラグは、前述のステップD478でセットされる。
ステップD532に進むと、サブ間演出開始待ちタイマの値が0か判定し、0である場合(ステップD532;Y)には、ステップD533に進み、0でない場合(ステップD532;N)には、サブ間演出開始待ちタイマを更新する(値を規定値だけ減らす)処理を行って(ステップD538)、サブ間演出設定処理を終了する。サブ間演出開始待ちタイマは、前述のステップD189でセットされるタイマである。
ステップD533に進むと、受信したサブ間コマンドのSB_MODE及びSB_ACT(以下、サブ間コマンドとはSB_MODE及びSB_ACTを含むものである)のデータをロードして(ステップD533)、ステップD534に進む。
ステップD534に進むと、このロードしたデータがサブ間連動予告系コマンドであるか判定し、サブ間連動予告系コマンドであれば(ステップD534;Y)、ステップD539に進み、サブ間連動予告系コマンドでなければ(ステップD534;N)、ステップD535に進む。なお、サブ間連動予告系コマンドは、サブ間通信を行っている複数のパチンコ遊技機で予告演出を連動させる連携演出のためのコマンドである。連携演出には、例えば同じキャラクタの画像が島内を横方向に移動するように各遊技機で順次表示されるような演出もあれば、同じ演出を同期して一斉に行う同期演出もある。
ステップD539に進むと、ステップD533でロードしたサブ間コマンドのSB_MODE及びSB_ACTのデータが指定する演出に対応する演出動作テーブルを設定して(ステップD539)、その後ステップD537に進む。なお、このステップD539で演出動作テーブルを設定するとは、サブ間コマンドの上記データが指定する演出を実行するためのシナリオデータを設定することを意味する。
ステップD535に進むと、ステップD533でロードしたサブ間コマンドのデータが客待ちタイミング調整コマンドであるか判定し、客待ちタイミング調整コマンドであれば(ステップD535;Y)、ステップD540に進み、客待ちタイミング調整コマンドでなければ(ステップD535;N)、ステップD536に進む。なお、客待ちタイミング調整コマンドは、サブ間通信を行っている複数のパチンコ遊技機で客待ちデモ表示のタイミングを合わせる演出を行わせるためのコマンドであり、この場合、客待ちデモを最初から同期して実行させるコマンドである。
ステップD536に進むと、ステップD533でロードしたサブ間コマンドのデータが正常値なら、このデータに対応する各種演出のパラメータを設定して(ステップD536)、その後ステップD537に進む。
ステップD540に進むと、客待ちデモ演出中か否か(すなわち、客待ちデモ演出を行っている最中か否か)を判定し、客待ちデモ演出中でなければ(ステップD540;N)、客待ちタイミング調整を行うべきでないのでステップD537に進み、客待ちデモ演出中であれば(ステップD540;Y)、客待ちタイミング調整を行うべくステップD541に進む。
ステップD541に進むと、サブ間コマンドを受信した当該パチンコ遊技機(すなわち、自機)の客待ちデモ用のシナリオテーブルを再設定するようにして、客待ちデモ演出を最初から行うように設定して(ステップD541)、P機状態を客待ちAとして(ステップD542)、ステップD537に進む。
上記ステップD541によれば、客待ちデモ演出が図柄表示(客待ちA)の最初から開始されることになる。これにより、ステップD535で判定された客待ちタイミング調整コマンドを送信した送信元のパチンコ遊技機と、この客待ちタイミング調整コマンドを受信した自機及び他のパチンコ遊技機とで、客待ちデモ演出が図柄表示(客待ちA)の最初から同期して開始される。なお、こうして開始された客待ちデモ演出は、再設定された客待ちデモ用のシナリオテーブルによって制御される。
ステップD537に進むと、サブ間演出要求フラグをクリアして(ステップD537)、その後サブ間演出設定処理を終了する。
なお、本例では、このように、予告演出を連動させるものと、客待ちデモ演出のタイミングを合わせる演出の処理を、サブ間演出のための処理の具体例として挙げた。しかし、サブ間演出の内容は、このような態様に限定されず、本例の態様に代えて、或いは本例の態様に加えて、他の内容のサブ間演出を行う構成としてもよい。
また、本例では、煩雑を避けるために、それら他の種類のサブ間演出の設定処理についてはステップD536でまとめて図示しており、その詳細については図示及び説明を省略する。
〔シナリオ設定処理〕
次に、前述のメイン処理におけるシナリオ設定処理(ステップD28)の詳細について図103により説明する。
シナリオ設定処理が開始されると、まず、シナリオ管理領域0(シナリオレイヤー番号0)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD551)、ステップD551の準備に基づいてシナリオ解析処理(ステップD552)を実行する。ここで、「アドレス領域を準備し」とは、後の処理で当該アドレス領域に設定されているデータを読み取るために、当該アドレス領域自体のアドレスを準備することを意味する。
次いで、シナリオ管理領域1(シナリオレイヤー番号1)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD553)、この準備に基づいてシナリオ解析処理(ステップD554)を実行する。
次いで、シナリオ管理領域2(シナリオレイヤー番号2)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD555)、この準備に基づいてシナリオ解析処理(ステップD556)を実行する。
次いで、シナリオ管理領域3(シナリオレイヤー番号3)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD557)、この準備に基づいてシナリオ解析処理(ステップD558)を実行する。
次いで、シナリオ管理領域4(シナリオレイヤー番号4)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD559)、この準備に基づいてシナリオ解析処理(ステップD560)を実行する。
次いで、シナリオ管理領域5(シナリオレイヤー番号5)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD561)、この準備に基づいてシナリオ解析処理(ステップD562)を実行する。
次いで、シナリオ管理領域6(シナリオレイヤー番号6)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD563)、この準備に基づいてシナリオ解析処理(ステップD564)を実行する。
次いで、シナリオ管理領域7(シナリオレイヤー番号7)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD565)、この準備に基づいてシナリオ解析処理(ステップD566)を実行する。
次いで、シナリオ管理領域8(シナリオレイヤー番号8)に対応するシナリオ管理領域のアドレス領域を準備して(ステップD567)、この準備に基づいてシナリオ解析処理(ステップD568)を実行して、シナリオ設定処理を終了する。
なお、本例の場合、シナリオレイヤーは前述したように9個あり、シナリオレイヤー番号は0から8まである。そして、これら9個のシナリオレイヤーのうち、シナリオレイヤー0は基本的に背景用であり、シナリオレイヤー1は左図柄用であり、シナリオレイヤー2は右図柄用であり、シナリオレイヤー3は中図柄用であり、シナリオレイヤー4は予告1用であり、シナリオレイヤー5は予告2用であり、シナリオレイヤー6は保留用であり、シナリオレイヤー7は第4図柄用であり、シナリオレイヤー8は輪郭内演出用である。
但し、この態様に限られない。例えば、本例はシナリオレイヤーが9個のフローチャートにしているが、このシナリオレイヤーの数はこれに限られない。特に背景や予告に使用するシナリオレイヤーは機種仕様により増減し、本例はなるべく少数に限定して説明している。例えば、シナリオレイヤーの数を8個とする場合には、予告1用及び予告2用の何れか一方或いは第4図柄用のシナリオレイヤーを削除しても良い。また、各シナリオレイヤーの制御対象も本例の態様に限られず、各種割り振りが有り得る。例えば、シナリオレイヤー0は背景用であり、シナリオレイヤー1はカットイン予告用であり、シナリオレイヤー2は左図柄用であり、シナリオレイヤー3は右図柄用であり、シナリオレイヤー4は中図柄用であり、シナリオレイヤー5は保留用であり、シナリオレイヤー6は他の予告用であり、シナリオレイヤー7は第4図柄用であり、シナリオレイヤー8は輪郭内演出用であるという態様でもよい。
また、シナリオ管理領域のアドレス領域は、既述したようにシナリオレイヤー毎に設けられており、制御するものがある場合には、対応するシナリオ管理領域X(X=0〜8の何れか)のアドレス領域にシナリオ管理領域のアドレスが保存されており、制御するものがない場合には、対応するシナリオ管理領域Xのアドレス領域の中はNULLに設定されている(前述したステップD243、D247参照)。例えば、客待ちのムービー中には保留の表示を行わないので、背景の領域(シナリオ管理領域0のアドレス領域)にはアドレス(シナリオ管理領域0のアドレス)が設定されているが、保留の領域(シナリオ管理領域6のアドレス領域)にはNULLが設定されている。
〔シナリオ解析処理〕
次に、上述のシナリオ設定処理におけるシナリオ解析処理(ステップD552等)の詳細について図104及び図105により説明する。
シナリオ解析処理が開始されると、まず、brkの値(後述する処理の繰り返しに利用されるデータ)を0に設定して(ステップD571)、準備されているシナリオ管理領域Xのアドレス領域に設定されているデータ(シナリオ管理領域Xのアドレス、或いはNULL)をロードして(ステップD572)、ステップD573に進む。ここで、「準備されているシナリオ管理領域Xのアドレス領域」とは、例えば、本処理が前述のステップD552で実行されている場合には、その直前のステップD551で準備されたアドレス領域(シナリオ管理領域0のアドレス領域)であり、本処理が前述のステップD554で実行されている場合には、その直前のステップD553で準備されたアドレス領域(シナリオ管理領域1のアドレス領域)であり、他のケースも同様に直前のステップで準備されたものである。
ステップD573に進むと、ステップD572でロードしたアドレスのデータがNULLか判定し、NULLならば(ステップD573;Y)、制御不要なのでシナリオ解析処理を終了し、NULLでなければ(ステップD573;N)、ステップD574に進む。
ステップD574に進むと、ステップD572でロードしたアドレスのシナリオ管理領域におけるシナリオ用タイマの値を読み取り、このシナリオ用タイマの値が0より小さいか判定し、0より小さい場合(ステップD574;Y)には、異常なのでシナリオ解析処理を終了し、0以上である場合(ステップD574;N)には、ステップD575に進む。なお、前記シナリオ用タイマの値は、シナリオ制御データが設定される度に前述のステップD244でまず0に設定されるが、0が下限であるので、0より小さい場合は異常と判定する。
ステップD575に進むと、前記シナリオ用タイマの値が0でなければ、このシナリオ用タイマの値を−1更新して(ステップD575)、ステップD576に進む。
ステップD576に進むと、前記シナリオ用タイマの値が0より大きいか判定し、0より大きい場合(ステップD576;Y)には、未だタイムアップしていないのでシナリオ解析処理を終了し、0以下である場合(ステップD576;N)には、ステップD577に進む。
これらステップD574〜D576によれば、ウェイト用のタイマ管理が行われる。すなわち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるシナリオ用タイマ領域に設定されたシナリオ用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせる動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせる動作」とは、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、図135において、18行目(//wait)では、定数ウェイトコードが設定されてウェイト時間値が「3600」であるため、3600フレームに相当する時間(3600×(1/30秒)=120秒)この行にとどまり、当該時間経過後に次の行に進行し、24行目(//wait)では、定数ウェイトコードが設定されてウェイト時間値が「900」であるため、900フレームに相当する時間(900×(1/30秒)=30秒)この行にとどまり、当該時間経過後に次の行に進行するが、これらの動作が「シナリオテーブルの制御進行を遅らせる動作」に相当する。なお、シナリオテーブルにおいて、ウェイト時間値とウェイト時間値の間にあるコード(定数ウェイトコード等(PB待ちコード含む)が設定された行と、次に定数ウェイトコード等が設定された行との間にある行のオペコード)は全て同時期に実行される。そして、ステップD575の更新により前記シナリオ用タイマの値が0以下になると、シナリオ用タイマがタイムアップしたと判断されるため、対象のシナリオテーブルの制御処理を進行させるべく、ステップD576を経てステップD577に進む構成となっている。但し、対象のシナリオテーブルの制御処理(ステップD584以降)は、後述するPB有効時間のためのタイマ管理の処理の後に実行される。
すなわち、ステップD577に進むと、対象のPB用タイマの値(ステップD572でロードしたアドレスのシナリオ管理領域におけるPB用タイマ領域の値)を読み取り、このPB用タイマの値が0より大きいか判定し、0より大きい場合(ステップD577;Y)には、タイムアップしていないのでステップD578に進み、0以下である場合(ステップD577;N)には、タイムアップしているのでステップD583に進む。
ステップD578に進むと、PB操作フラグがセットされているか判定し、PB操作フラグがセットされている場合(ステップD578;Y)には、ステップD579に進み、PB操作フラグがセットされていない場合(ステップD578;N)には、対象のPB用タイマの値を−1更新して(ステップD582)、ステップD583に進む。ここで、PB操作フラグは、前述のメイン処理におけるステップD21で実行される演出ボタン入力処理において、PB(プッシュボタン)の操作が検出されるとセットされるフラグである。
ステップD579に進むと、対象のPB用タイマのこの時点での値(すなわち、PBが操作された時点におけるPB有効時間の残り時間)をPB演出加算時間として保存して(ステップD579)、対象のPB用タイマの値を0に設定する(ステップD580)。
次いで、対象のシナリオ管理領域のPB検知フラグ領域にフラグをセットする(すなわち、PB検知フラグが立てられていることを示すデータを設定する)処理を行って(ステップD581)、ステップD583に進む。これらステップD579〜D581では、PBが操作されたので、PB用タイマの残り時間をPB演出加算時間として記憶し(後述するステップD696のため)、PB用タイマを0にリセットし、PBが操作されたことを示すPB検知フラグをシナリオ制御のためにシナリオ管理領域にセットしている。
ステップD583に進むと、対象のPB用タイマの値が0より大きいか判定し、0より大きい場合(ステップD583;Y)には、PB操作が検出されずタイムアップもしていないのでシナリオ解析処理を終了し、0以下である場合(ステップD573;N)には、PB操作がされたかタイムアップしたのでステップD584に進む。
上記ステップD577〜D583によれば、PB有効時間のためのタイマ管理が行われる。すなわち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるPB用タイマ領域に0より大きなPB用タイマの値が設定されている場合には、このPB用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせてPB有効時間を設ける動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせてPB有効時間を設ける動作」とは、対象のPB用タイマの値が0になる(すなわちPB用タイマがタイムアップする)か、或いはPBが操作されるまで、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、シナリオテーブルのm行目に、定数ウェイトコードが設定されてウェイト時間値が「30」である場合には、30フレームに相当する時間この行にとどまり、この時間経過後に次のm+1行目に進行するが、このm行目による動作は前述したシナリオ用タイマによる「シナリオテーブルの制御進行を遅らせる動作」である。一方、シナリオテーブルのn行目に、PB待ちコードが設定されて有効時間値が「2970」である場合には、後述するステップD702でこの有効時間値「2970」がPB用タイマに設定され、PB押下操作が無ければ最大2970フレームに相当する有効時間この行にとどまり、この有効時間内にPB押下操作があれば即座に次のn+1行目に進行するが、このように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有効時間は設けられない。
次にステップD584以降では、対象のシナリオテーブルの制御処理が実行される。以下、これを説明する。
ステップD584に進むと、brkの値として0でない値が設定されるまで、ループ端である当該ステップD584からステップD623までの間の処理を繰り返し実行する。つまり、後方のループ端であるステップD623では、その時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返す。
すなわち、ステップD584に進むと、まず、対象のシナリオ管理領域におけるシナリオ用データテーブル領域からシナリオテーブルのアドレスをロードする(ステップD585)。例えば、客待ちデモ時のシナリオレイヤー番号0の場合には、図135に示すシナリオテーブルのアドレスが、このステップD585でロードされる。
次いで、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペコードを取得する(ステップD586)。なお、既述したように、シナリオテーブルは、例えば図135に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行に設定されたものである。例えば図135の場合、例えば指定行が1行目であると、この1行目のオペコードのデータである「モーション1削除コード(M1DEL)」(具体的データとしては、例えば「51h」)がステップD586で取得される。或いは、図135の場合、例えば指定行が11行目であると、11行目のオペコードのデータである「モーション10登録コード(M10SET)」(具体的データとしては、例えば「4Ah」)がステップD586で取得される。
次いで、直前のステップD586で取得したオペコードを上位ビットと下位ビットに分離し、準備する(ステップD587)。例えば、オペコードのデータが前述した「51h」である場合、上位ビットである「5」と下位ビットである「1」とを分離してそれぞれ準備する。なお、オペコードの上位ビットと下位ビットには、それぞれ意味が持たせてある(但し、下位ビットには意味が無い場合がある)。例えば、「モーション1削除コード」である「51h」のうち、上位ビットである「5」はモーション削除を意味し、下位ビットである「1」は対象(この場合、モーション削除の対象)のモーションのレイヤーがモーション1であることを意味している。
次いで、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペランドを取得し、準備して(ステップD588)、ステップD589に進む。例えば図135の場合、指定行が11行目(オペコードは「モーション10登録コード」)であると、この11行目のオペランドのデータである「−1」をステップD588で取得して準備する。
ステップD589に進むと、準備したオペコード上位データ(ステップD587で分離して準備したデータ、以下同様)を判定し、モーション登録を指令するデータ(モーション登録コード)である場合(ステップD589;Y)には、モーション登録処理(ステップD601)を実行した後にステップD621に進み、モーション登録を指令するデータでない場合(ステップD589;N)には、ステップD590に進む。
ステップD590に進むと、準備したオペコード上位データを判定し、モーション削除を指令するデータ(モーション削除コード)である場合(ステップD590;Y)には、モーション削除処理(ステップD602)を実行した後にステップD621に進み、モーション削除を指令するデータでない場合(ステップD590;N)には、ステップD591に進む。
ステップD591に進むと、準備したオペコード上位データを判定し、モーション継続を指令するデータ(モーション継続コード)である場合(ステップD591;Y)には、モーション継続処理(ステップD603)を実行した後にステップD621に進み、モーション継続を指令するデータでない場合(ステップD591;N)には、ステップD592に進む。
ステップD592に進むと、準備したオペコード上位データを判定し、定数ウェイトを指令するデータ(定数ウェイトコード)である場合(ステップD592;Y)には、定数ウェイト処理(ステップD604)を実行した後にステップD621に進み、定数ウェイトを指令するデータでない場合(ステップD592;N)には、ステップD593に進む。
ステップD593に進むと、準備したオペコード上位データを判定し、可変ウェイトを指令するデータ(可変ウェイトコード)である場合(ステップD593;Y)には、可変ウェイト処理(ステップD605)を実行した後にステップD621に進み、可変ウェイトを指令するデータでない場合(ステップD593;N)には、ステップD594に進む。
ステップD594に進むと、準備したオペコード上位データを判定し、PB待ちを指令するデータ(PB待ちコード)である場合(ステップD594;Y)には、PB待ち処理(ステップD606)を実行した後にステップD621に進み、PB待ちを指令するデータでない場合(ステップD594;N)には、ステップD595に進む。
ステップD595に進むと、準備したオペコード上位データを判定し、PB判定分岐を指令するデータ(PB判定分岐コード)である場合(ステップD595;Y)には、PB判定分岐処理(ステップD607)を実行した後にステップD621に進み、PB判定分岐を指令するデータでない場合(ステップD595;N)には、ステップD596に進む。
ステップD596に進むと、準備したオペコード上位データを判定し、図柄停止を指令するデータ(停止図柄setコード)である場合(ステップD596;Y)には、図柄停止処理(ステップD608)を実行した後にステップD621に進み、図柄停止を指令するデータでない場合(ステップD596;N)には、ステップD597に進む。
ステップD597に進むと、準備したオペコード上位データを判定し、図柄逆算差替を指令するデータ(図柄逆算差替コード)である場合(ステップD597;Y)には、図柄逆算差替処理(ステップD609)を実行した後にステップD621に進み、図柄逆算差替を指令するデータでない場合(ステップD597;N)には、ステップD598に進む。
ステップD598に進むと、準備したオペコード上位データを判定し、変動シナリオ切替を指令するデータ(変動シナリオ切替コード)である場合(ステップD598;Y)には、変動シナリオ切替処理(ステップD610)を実行した後にステップD621に進み、変動シナリオ切替を指令するデータでない場合(ステップD598;N)には、ステップD599に進む。
ステップD599に進むと、準備したオペコード上位データを判定し、繰り返しを指令するデータ(繰返しコード)である場合(ステップD599;Y)には、繰り返し処理(ステップD611)を実行した後にステップD621に進み、繰り返しを指令するデータでない場合(ステップD599;N)には、ステップD600に進む。
ステップD600に進むと、準備したオペコード上位データを判定し、終了を指令するデータ(終了コード)である場合(ステップD600;Y)には、終了処理(ステップD612)を実行した後にステップD621に進み、終了を指令するデータでない場合(ステップD600;N)には、図示省略した他のステップに進む。なお、図示省略した他のステップ(図105において波線で示した箇所にあるステップ)は、上述したステップD589〜D612と同様に、準備したオペコード上位データの内容を判定し、その判定結果が他の種類のデータ(コード)である場合に対応する処理を実行してステップD621に進むというもので、準備したオペコード上位データが何れの種類のデータ(コード)にも該当しない場合にはシナリオ解析処理を終了する構成となっている。
ステップD621に進むと、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、この時点で設定されているデータを読み取り、このデータがNULLか判定し、NULLならば(ステップD621;Y)、brkの値を1に設定して(ステップD622)、ステップD623に進み、NULLでなければ(ステップD621;N)、ステップD622を実行しないでステップD623に進む。
ステップD623に進むと、前述したようにその時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返し、brkの値が0でない場合にはシナリオ解析処理を終了してリターンする。
このため、上記ステップD601〜D612等の何れかの処理において、brkの値が0でない値に設定されるか、或いは、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLが設定されると、ステップD584とD623をループ端とするループ処理を終了してリターンすることになる。そして、このようにして当該ループ処理を終了するまでは、シナリオ管理領域におけるシナリオ用データテーブル領域のアドレス(シナリオテーブルとその行を指定するアドレス)が適宜変更されて上記ループ処理が繰り返されて一連の演出の制御が実行される。
なお、上記のサブルーチン群(ステップD601〜D612)は一例であり、機種の仕様次第で変わる。
〔モーション登録処理〕
次に、上述のシナリオ解析処理におけるモーション登録処理(ステップD601)の詳細について図106(a)により説明する。
モーション登録処理が開始されると、まず、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する(ステップD631)。これは、前述のステップD585が次回実行されるときの指定行を次の行に進めておくための更新処理であり、この更新処理が行われることによって対象のシナリオテーブルの指定行が次の行に切り替えられて前述のループ処理(ステップD584〜D623)が繰り返されることになる。
次いで、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードし、準備して(ステップD632)、ステップD633に進む。本例の場合、演出制御装置300のCPU311内のRAMには、「モーション管理領域のアドレス領域」と「モーション管理領域」というモーション管理用の記憶領域が設けられる構成となっている。
このうち、モーション管理領域は、図106(b)に示すように、表示制御する(表示画面41a上に表示しているとは限らない)オブジェクトの数(最大数)である表示数(例えば左図柄の場合、次図柄、現図柄、前図柄の3個)を記憶する領域(表示数の領域)と、何フレームまで処理が進んだかを示すフレーム番号を記憶する領域(フレーム番号の領域)と、モーションテーブルの何行目まで処理が進んだかを示すコマンド位置を記憶する領域(コマンド位置の領域)と、複数あるモーション用リストテーブルの中でどのテーブルを使用するかを示すアドレスのデータ(モーションインデックスに対応)を記憶する領域(モーション用リストテーブル領域)と、表示数分の表示情報領域とを含む構造である。
また、同一構造のモーション管理領域がモーションのレイヤー(本例では、モーション0から14まである)に対応してこのモーションのレイヤー分存在し、本例ではモーションのレイヤーが15個あるので、このモーション管理領域も15個(モーション管理領域0〜14)存在する。さらに、このモーション管理領域に対応して、モーション管理領域のアドレス領域も本例では、図134の左側に示すように、15個(モーション0用アドレス〜モーション14用アドレス)ある。そして、上記ステップD632では、このように複数あるモーション管理領域のうちの一つを特定するために、オペコード下位ビットのデータが指定するモーションのレイヤー番号に対応するモーション管理領域(以下「対応モーション管理領域」という)の先頭アドレスを、対応するモーション管理領域のアドレス領域から読み出して準備する。なお、本願では、モーションのレイヤー番号(本例では、0〜13)を、モーション番号と簡略化して表記したり、モーション管理領域X(Xはモーション番号に対応する番号)というように使用したりする場合がある。
なお、モーション管理領域内の表示情報領域は、表示数(オブジェクトの数)分だけ複数あり、図106(c)に示すように、各表示情報領域がそれぞれ、表示種別、エフェクトタイプ、エフェクトパラメータ、表示左上点のX座標、表示左上点のY座標、表示右上点のX座標、表示右上点のY座標、表示左下点のX座標、表示左下点のY座標、画像インデックス、バックグラウンドカラー、フォアグラウンドカラー、IPicture(Iピクチャ)のみの動画時のフレームカウント、及びビヘイビアインデックスの各データを記憶する領域を含んでいる。
ここで、表示種別は、当該オブジェクトの種別(静止画か動画(ムービー)かを示す情報の他、ムービーの種類(Iピクチャか否かなど)を示す情報を含む)である。
エフェクトタイプは、画像に加えるエフェクト(透過性を持たせるなどの加工処理)の種類を示す情報である。
エフェクトパラメータは、前記エフェクトのパラメータ(透過性を持たせる場合の透過度など)である。
X座標及びY座標は、画像の表示位置を特定するデータであり、本例ではポリゴン表示機能(立体を多面体として表示する機能)のために、表示左上点、表示右上点、表示左下点の3点の座標がある。
画像インデックスは、静止画又はムービーを特定する番号である。
IPictureのみの動画時のフレームカウントとは、何フレーム目のデータがIPicture(すなわちIフレーム)かを示すデータである。
ビヘイビアインデックスは、ビヘイビア(図柄差替え)のためのインデックスである。なお、ビヘイビア(図柄差替え)とは、同じ大きさ同じ表示位置でキャラクタ(静止画或いは動画)のみを差し替えるもので、前述のステップD385〜D390で説明したカットインキャラ差替えなどとは異なる。前述のカットインキャラ差替えは、キャラクタを表示する大きさや表示位置も差替えにより変化し得る。
ステップD633に進むと、ステップD632でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならば(ステップD633;Y)、ステップD635に進み、NULLでなければ(ステップD633;N)、モーションデータ初期化処理1(ステップD634)を実行した後にステップD635に進む。
ステップD635に進むと、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域の先頭アドレスを設定し、準備して(ステップD635)、前記オペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域にステップD635で準備した先頭アドレスを設定して(ステップD636)、ステップD637に進む。
これらステップD632〜D636では、何れにせよ最終的には、ステップD636において、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域の先頭アドレスを対応するモーション管理領域のアドレス領域に設定するのであるが、対応するモーション管理領域のアドレス領域にNULL以外のアドレスのデータが既に設定されていた場合には、動画展開に使っていた展開領域の開放設定等を行うモーションデータ初期化処理1(後述する)が必要になるので、これをステップD634で実行している。
ステップD637に進むと、ステップD588で準備したオペランドのデータが0以上か判定し、0以上ならば(ステップD637;Y)には、ステップD638に進み、0未満(すなわち、マイナスの値)ならば(ステップD637;N)、ステップD641に進む。
ステップD638に進むと、前記オペランドのデータ(ステップD588で準備したオペランドのデータ、以下同様)を、モーションインデックスとして準備して(ステップD638)、オペコード下位に対応する使用中モーションインデックスを記憶する領域(以下「使用中モーションインデックス領域」という)に、ステップD638で準備したデータを設定する(ステップD639)。なお、使用中モーションインデックス領域は、モーション用リストテーブルにおける制御対象の行を指定するモーションインデックス(使用中モーションインデックス)のデータを、モーション番号毎に記憶する領域であり、モーション番号毎に設けられている。このステップD639では、ステップD587で分離されたオペコードの下位ビットで特定されるモーション番号に対応する使用中モーションインデックス領域に、ステップD638で準備したデータを設定する(すなわち保存する)。
次いで、表示数等のデータを初期化するモーションデータ初期化処理2(ステップD640)を実行して、モーション登録処理を終了する。
ステップD641に進むと、オペコード下位に対応するモーションインデックスのデータを、対応するモーションインデックス領域からロードし、準備する(ステップD641)。なお、モーションインデックス領域には、前述のステップD291〜D294で説明した記憶領域(保留用インデックス領域、第4図柄インデックス領域)や、前述のステップD386、D388、D390で説明した記憶領域(SU1カットイン領域、SU2カットイン領域、SU3カットイン領域)がある。このステップD641では、このように複数あるRAM内のモーションインデックス領域のうち、ステップD587で分離されたオペコードの下位ビットと現時点の遊技機の状態(確変中か否かなど)で特定されるモーションインデックス領域からモーションインデックスのデータを取り出して準備する。
次いで、オペコード下位に対応する使用中モーションインデックス領域に、ステップD641で準備したデータを設定して(ステップD642)、表示数等のデータを初期化するモーションデータ初期化処理2(ステップD643)を実行して、モーション登録処理を終了する。
以上説明したステップD637〜D643のうち、ステップD637の判定結果がYes(オペランドが0以上)となってステップD638〜D640を実行するルートと、ステップD637の判定結果がNo(オペランドが0未満)となってステップD641〜D643を実行するルートとは、以下のように異なる。すなわち、前者のルートは、ROMに保存されたシナリオテーブルに設定されたモーションインデックスの値(固定値)を制御に使用するルートであり、後者のルートは、RAM内のモーションインデックス領域に保存されたモーションインデックスの値(固定値でない)を制御に使用するルートである。遊技機の状態(確変中か否かなど)に応じて使用するモーションインデックスを変えたい場合に、前記オペランドの値としてマイナスの値(例えば「−1」)が設定されていて後者のルートが実行される構成となっている。例えば、保留表示(飾り特図始動記憶表示)は現在の特図保留数(特図始動記憶数)に応じた態様で表示されるため、図135のシナリオテーブルの11行目(//表示(保留))では、オペランドの値がマイナスの値となっている。
〔モーションデータ初期化処理1〕
次に、前述のモーション登録処理におけるモーションデータ初期化処理1(ステップD634)、後述するモーション削除処理やモーション継続処理におけるモーションデータ初期化処理1(ステップD674やステップD686)の詳細について図107(a)により説明する。なお、演出制御装置300の制御処理の説明においてモーション制御データとは、モーション管理領域に保存される表示数、フレーム番号等のデータである。
モーションデータ初期化処理1が開始されると、まず、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップD651〜ステップD655を繰り返し実行し、その後ステップD656に進む。すなわち、ステップD651ではモーションデータ初期化処理1開始直後は変数iを0としてステップD652に進む。ステップD655では、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。そしてステップD651に戻ると、変数iの値を1だけ増加させてステップD652に進む。なお、終値の値は、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域(以下「対象のモーション管理領域」という)に設定されている表示数のデータから1を減算した値である。すなわち、このモーションデータ初期化処理1では、この表示数分だけステップD651〜D655のループ処理を繰り返し実行し、その後ステップD656に進む。
ステップD652に進むと、対象のモーション管理領域における変数iに対応する表示情報領域のアドレスを設定して(ステップD652)、その後ステップD653に進む。このステップD652では、例えば変数i=0ならば、対象のモーション管理領域において、表示数分だけ複数存在する表示情報領域のうちの最初の表示情報領域のアドレスを設定する。
ステップD653に進むと、直前のステップD652でアドレスが設定された表示情報領域における表示種別のデータを読み取り、この表示種別が動画か否か判定し、表示種別が動画であれば(ステップD653;Y)、その展開領域(圧縮された動画データの展開に使用していた領域)の解放設定を行って(ステップD654)、ステップD655に進み、動画でなければ(ステップD653;N)、ステップD654を実行しないでステップD655に進む。ステップD655に進むと、前述したように、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。
ステップD656に進むと、ステップD656〜D658で対象のモーション管理領域のパラメータを初期化する処理を行い、その後モーションデータ初期化処理1を終了する。すなわち、ステップD656では表示数を0に設定し、ステップD657ではフレーム番号を−1に設定し、ステップD658ではコマンド位置を0に設定する。
〔モーションデータ初期化処理2〕
次に、前述のモーション登録処理におけるモーションデータ初期化処理2(ステップD640、D643)、後述するモーション継続処理におけるモーション初期化処理(モーションデータ初期化処理2(ステップD689))の詳細について図107(b)により説明する。
モーションデータ初期化処理2が開始されると、まず、ステップD661〜D663で対象のモーション管理領域のパラメータを初期化する処理を行い、その後ステップD664に進む。すなわち、ステップD661では表示数を0に設定し、ステップD662ではフレーム番号を−1に設定し、ステップD663ではコマンド位置を0に設定する。
ステップD664に進むと、対象のモーション管理領域におけるモーション用リストテーブル領域に、使用中モーションインデックス(前記ステップD642で設定したデータ)に対応するアドレス(モーション用リストテーブルとその行を指定するアドレス)を設定して(ステップD664)、その後モーションデータ初期化処理2を終了する。
〔モーション削除処理〕
次に、前述のシナリオ解析処理におけるモーション削除処理(ステップD602)の詳細について図108(a)により説明する。
モーション削除処理が開始されると、まず、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新して(ステップD671)、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードし、準備して(ステップD672)、ステップD673に進む。
ステップD673に進むと、ステップD672でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならば(ステップD673;Y)、ステップD675に進み、NULLでなければ(ステップD673;N)、前記モーションデータ初期化処理1(ステップD674)を実行した後にステップD675に進む。
ステップD675に進むと、対象のモーション管理領域のアドレス領域にNULLを設定して(ステップD675)、前記オペコード(ステップD587で分離されたオペコード、以下同様)の下位ビットのデータに対応する使用中モーションインデックスのデータをクリアして(ステップD676)、その後モーション削除処理を終了する。
以上説明したモーション削除処理は、キャラクタ等の制御を終了する時に実行されて、これにより、モーション情報(モーション管理領域のアドレス領域のデータや、使用中モーションインデックス領域のデータ)が削除される。
〔モーション継続処理〕
次に、前述のシナリオ解析処理におけるモーション継続処理(ステップD603)の詳細について図108(b)により説明する。
モーション継続処理が開始されると、まず、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新して(ステップD681)、前記オペコードの下位ビットに対応する使用中モーションインデックスのデータをロードして(ステップD682)、ステップD683に進む。
ステップD683に進むと、ステップD682でロードした使用中モーションインデックスのデータが、ステップD588で取得したオペランドと一致するか判定し、一致する場合(ステップD683;Y)には、モーション継続処理を終了し、一致しない場合(ステップD683;N)には、ステップD684に進む。ここでは、現在制御中のモーションと、シナリオテーブルで指定されたモーションとが同一か判定し、同一であれば現在制御中のモーションをそのまま継続すべきであるので何も処理することなくモーション継続処理を終了し、同一でなければ新たなモーション登録を行うべくステップD684以降を実行する構成となっている。
そして、ステップD684以降では、前述したモーション登録処理(シナリオテーブルの値を使用するルート)と同様の処理を行っている。
すなわち、ステップD684に進むと、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードし、準備して(ステップD684)、ステップD685に進む。
ステップD685に進むと、ステップD684でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならば(ステップD685;Y)、ステップD687に進み、NULLでなければ(ステップD685;N)、前記モーションデータ初期化処理1(