JP6318354B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP6318354B2
JP6318354B2 JP2013151454A JP2013151454A JP6318354B2 JP 6318354 B2 JP6318354 B2 JP 6318354B2 JP 2013151454 A JP2013151454 A JP 2013151454A JP 2013151454 A JP2013151454 A JP 2013151454A JP 6318354 B2 JP6318354 B2 JP 6318354B2
Authority
JP
Japan
Prior art keywords
game
display
command
switch
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013151454A
Other languages
English (en)
Other versions
JP2015019915A (ja
Inventor
園田 欽章
欽章 園田
亀井 欽一
欽一 亀井
敬宏 大塚
敬宏 大塚
Original Assignee
株式会社ソフイア
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 株式会社ソフイア filed Critical 株式会社ソフイア
Priority to JP2013151454A priority Critical patent/JP6318354B2/ja
Publication of JP2015019915A publication Critical patent/JP2015019915A/ja
Application granted granted Critical
Publication of JP6318354B2 publication Critical patent/JP6318354B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Display Devices Of Pinball Game Machines (AREA)

Description

本発明は、パチンコ機などの遊技機に関する。
従来、遊技機では複数の図柄を変動表示可能な表示装置を配置し、パチンコ遊技の制御などに必要な処理を行うため、遊技制御基板、演出制御基板を含む各種基板を備えている。
遊技機を構成する各種基板のうち、遊技者が遊技をする際に最も注目する表示装置での映像表示は演出制御基板が制御している。演出制御基板(サブ基板)は遊技制御基板(主基板)からの指示に基づいて、その時の遊技状態に対する演出内容(描画内容)を判断して、演出を行っている(特許文献1参照)。
なお、遊技制御基板や演出制御基板はそれぞれ制御装置(制御手段)を構成し、それらは遊技制御装置(遊技制御手段)や演出制御装置(演出制御手段)となっている。
特開2005−13477号公報
ところで、年々増加する傾向のある表示演出量に対応するため、効率の良い遊技機の開発が求められている。
そこで本発明は、多様化する演出を効率良く開発できる遊技機を提供することを目的とする。
請求項1に記載の発明は、
遊技の進行を制御する遊技制御手段と、この遊技制御手段からのコマンドに基づいて表示手段を制御して演出を行うことが可能な演出制御手段と、を備えた遊技機において、
前記演出制御手段は、
前記表示手段において、演出用の飾り図柄を変動表示させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
前記飾り図柄の変動表示は前回の変動表示の停止態様から開始し、前記変動状態報知図柄の変動表示は表示態様を規定の変動サイクルの最初の図柄に設定してから開始する構成であり、
前記変動状態報知図柄は、
複数のオブジェクトの組合せによって構成され、前記変動表示ゲームの終了時に表示される該組合せの態様によって前記変動表示ゲームの結果内容を示し、
前記オブジェクトには各々複数の態様があり、各々の前記オブジェクトに同じ態様を含み、
前記変動表示ゲームの結果が当りとなる場合の前記組合せの態様を表示するために使用される前記オブジェクトのみを用いて変動表示を実行することを特徴とする。
ここで、「表示手段」とは、例えば表示装置であるが、表示装置に限られない。
本発明によれば、多様化する演出を効率良く開発できる遊技機を提供可能である。
パチンコ機の前面側斜視図である。 パチンコ機の遊技盤の前面図である。 パチンコ機の裏面図である。 パチンコ機の制御系を示すブロック図である。 遊技制御装置のブロック図である。 演出制御装置のブロック図である。 演出制御装置におけるVDPのブロック図である。 遊技制御装置のメイン処理を示すフローチャートである。 遊技制御装置のメイン処理を示すフローチャートである。 チェックサム算出処理を示すフローチャートである。 初期値乱数更新処理を示すフローチャートである。 タイマ割込み処理を示すフローチャートである。 入力処理を示すフローチャートである。 スイッチ読み込み処理を示すフローチャートである。 出力処理を示すフローチャートである。 払出コマンド送信処理を示すフローチャートである。 メイン賞球残数更新処理を示すフローチャートである。 乱数更新処理1を示すフローチャートである。 乱数更新処理2を示すフローチャートである。 入賞口スイッチ/エラー監視処理を示すフローチャートである。 不正&入賞監視処理を示すフローチャートである。 入賞数カウンタ更新処理を示すフローチャートである。 コマンド設定処理を示すフローチャートである。 エラーチェック処理を示すフローチャートである。 特図ゲーム処理を示すフローチャートである。 始動口スイッチ監視処理を示すフローチャートである。 特図始動口スイッチ共通処理を示すフローチャートである。 特図保留情報判定処理を示すフローチャートである。 大入賞口スイッチ監視処理を示すフローチャートである。 図柄変動制御処理を示すフローチャートである。 特図普段処理を示すフローチャートである。 特図普段処理移行設定処理1を示すフローチャートである。 特図1変動開始処理1を示すフローチャートである。 大当りフラグ1設定処理を示すフローチャートである。 大当り判定処理を示すフローチャートである。 特図1停止図柄設定処理を示すフローチャートである。 特図情報設定処理を示すフローチャートである。 変動パターン設定処理を示すフローチャートである。 2バイト振り分け処理を示すフローチャートである。 振り分け処理を示すフローチャートである。 変動開始情報設定処理を示すフローチャートである。 特図2変動開始処理1を示すフローチャートである。 大当りフラグ2設定処理を示すフローチャートである。 特図2停止図柄設定処理を示すフローチャートである。 特図変動中処理移行設定処理(特図1)を示すフローチャートである。 特図変動中処理移行設定処理(特図2)を示すフローチャートである。 特図変動中処理を示すフローチャートである。 特図表示中処理移行設定処理を示すフローチャートである。 特図表示中処理を示すフローチャートである。 ファンファーレ/インターバル中処理移行設定処理1を示すフローチャートである。 演出モード情報チェック処理を示すフローチャートである。 時間短縮変動回数更新処理を示すフローチャートである。 時短終了設定処理を示すフローチャートである。 ファンファーレ/インターバル中処理を示すフローチャートである。 ファンファーレ/インターバル中処理を示すフローチャートである。 ソレノイド情報設定処理を示すフローチャートである。 大入賞口開放中処理移行設定処理1を示すフローチャートである。 大入賞口開放中処理移行設定処理2を示すフローチャートである。 大入賞口開放中処理を示すフローチャートである。 大入賞口残存球処理移行設定処理を示すフローチャートである。 大入賞口開放中処理移行設定処理3を示すフローチャートである。 大入賞口残存球処理を示すフローチャートである。 ファンファーレ/インターバル中処理移行設定処理2を示すフローチャートである。 大当り終了処理移行設定処理を示すフローチャートである。 大当り終了処理を示すフローチャートである。 大当り終了設定処理1を示すフローチャートである。 大当り終了設定処理2を示すフローチャートである。 特図普段処理移行設定処理3を示すフローチャートである。 普図ゲーム処理を示すフローチャートである。 ゲートスイッチ監視処理を示すフローチャートである。 普電入賞スイッチ監視処理を示すフローチャートである。 普図普段処理を示すフローチャートである。 普図普段処理移行設定処理1を示すフローチャートである。 普図変動中処理移行設定処理を示すフローチャートである。 普図変動中処理を示すフローチャートである。 普図表示中処理移行設定処理を示すフローチャートである。 普図表示中処理を示すフローチャートである。 普図当り中処理移行設定処理を示すフローチャートである。 普図当り中処理を示すフローチャートである。 普電作動移行設定処理を示すフローチャートである。 普電残存球処理を示すフローチャートである。 普図当り終了処理移行設定処理を示すフローチャートである。 普図当り終了処理を示すフローチャートである。 普図普段処理移行設定処理2を示すフローチャートである。 セグメントLED編集処理を示すフローチャートである。 磁石不正監視処理を示すフローチャートである。 電波不正監視処理を示すフローチャートである。 外部情報編集処理を示すフローチャートである。 外部情報編集処理を示すフローチャートである。 メイン賞球信号編集処理を示すフローチャートである。 始動口信号編集処理を示すフローチャートである。 固有情報信号編集処理を示すフローチャートである。 CPU固有情報取得処理を示すフローチャートである。 ハード乱数のビット転置パターンを示す図である。 上大入賞口の開閉パターンを示す図である。 下大入賞口の開閉パターンを示す図である。 演出制御装置のパワーオンリセット処理を示すフローチャートである。 演出制御装置のメイン処理を示すフローチャートである。 コマンド受信割込み処理を示すフローチャートである。 受信コマンド範囲チェック処理を示すフローチャートである。 受信コマンドチェック処理を示すフローチャートである。 受信コマンド解析処理を示すフローチャートである。 変動系コマンド処理を示すフローチャートである。 変動パターン対応図柄判定処理を示すフローチャートである。 大当り系コマンド処理を示すフローチャートである。 図柄系コマンド処理を示すフローチャートである。 単発系コマンド処理を示すフローチャートである。 単発系コマンド処理を示すフローチャートである。 客待ち用シナリオデータ設定処理を示すフローチャートである。 シナリオデータ設定処理を示すフローチャートである。 特図1保留情報設定処理を示すフローチャートである。 変動演出設定処理を示すフローチャートである。 変動演出設定処理を示すフローチャートである。 リーチなし変動設定処理を示すフローチャートである。 停止図柄設定処理を示すフローチャートである。 変動パターン分類処理を示すフローチャートである。 乱数抽選処理Aを示すフローチャートである。 予告演出設定処理1を示すフローチャートである。 カットインキャラ差替え判定処理1を示すフローチャートである。 カットインキャラ差替え判定処理2を示すフローチャートである。 カットインキャラ差替え判定処理3を示すフローチャートである。 カットインキャラ差替え判定処理3を示すフローチャートである。 PB予告用シナリオデータ設定処理を示すフローチャートである。 サブ間送信開始処理を示すフローチャートである。 サブ間受信タスク処理を示すフローチャートである。 サブ間送信データ編集処理を示すフローチャートである。 サブ間ack応答タスク処理を示すフローチャートである。 サブ間演出設定処理を示すフローチャートである。 シナリオ設定処理を示すフローチャートである。 シナリオ解析処理を示すフローチャートである。 シナリオ解析処理を示すフローチャートである。 モーション登録処理を示すフローチャートである。 モーションデータ初期化処理1及び2を示すフローチャートである。 モーション削除処理及びモーション継続処理を示すフローチャートである。 定数ウェイト処理及び可変ウェイト処理を示すフローチャートである。 PB待ち処理及びPB判定分岐処理を示すフローチャートである。 図柄停止処理を示すフローチャートである。 図柄逆算差替処理を示すフローチャートである。 変動シナリオ切替処理を示すフローチャートである。 繰り返し処理及び終了処理を示すフローチャートである。 モーション制御処理を示すフローチャートである。 モーションコマンド実行処理を示すフローチャートである。 モーションコマンド実行処理を示すフローチャートである。 ビットマップ追加処理を示すフローチャートである。 動画追加処理を示すフローチャートである。 1点指定オブジェクト移動処理を示すフローチャートである。 エフェクトタイプ指定処理及びエフェクトパラメータ指定処理を示すフローチャートである。 オブジェクト削除処理及びオブジェクト変更処理を示すフローチャートである。 オブジェクト動画デコード処理を示すフローチャートである。 ビヘイビアインデックス設定処理を示すフローチャートである。 演出表示編集処理を示すフローチャートである。 演出表示編集処理を示すフローチャートである。 演出表示編集処理を示すフローチャートである。 キャラクタ描画処理を示すフローチャートである。 表示左図柄変換処理、PB色変換処理、及びリーチ文字変換処理を示すフローチャートである。 武将1セリフ変換処理を示すフローチャートである。 VDP割込み処理を示すフローチャートである。 Vブランク開始割込み処理を示すフローチャートである。 サブ間通信のパケット構成例を示す図である。 ACTIONチェックテーブル及び一致チェックテーブルの一例を示す図である。 ACT整合チェックアドレステーブル及びACT整合チェックテーブルの一例を示す図である。 大別パターンテーブルの具体例を示す図である。 静止画ROMメンバリストテーブルの一例を示す図である。 動画ROMメンバリストテーブルの一例を示す図である。 モーション用リストテーブルの一例を示す図である。 予告振り分けテ−ブルの具体例を示す図である。 予告振り分けテ−ブルの具体例を示す図である。 図柄変動リストテーブルの具体例を示す図である。 特図1通常変動時シナリオテーブルの具体例を示す図である。 左図柄通常変動開始時モーションテーブルの具体例を示す図である。 左図柄変動開始時の表示例を示す図である。 通常変動時の現図柄、前図柄、次図柄の関係を説明する図である。 特図1第4図柄変動時モーションテーブルの具体例を示す図である。 第4図柄の表示例を示す図である。 左図柄通常変動時モーションテーブルの具体例(連結例)を示す図である。 プッシュボタン予告時シナリオ及びモーションテーブルの一例を示す図である。 客待ちデモ時シナリオテーブルの具体例を示す図である。 エンディング時シナリオテーブルの具体例を示す図である。 モーションテーブル共通化(静止画ムービー)を説明する図である。 巻物予告時モーションテーブルの具体例を示す図である。 巻物予告時モーションテーブルの具体例を示す図である。 巻物予告時の表示例を示す図である。 表示装置の演出で使用される表示構成要素及び表示画面の一例を示す図である。 表示装置の演出で使用されるシナリオテ−ブルの一例を示す図である。 演出ボタンの演出に関するシナリオテ−ブル及びプッシュボタン演出の一例を示す図である。 プッシュボタン予告のモーションテーブルの一例を示す図である。 図柄停止表示の動作を説明する図である。 図柄停止表示のモーションテーブルの一例を示す図である。 図柄停止表示の動作を説明する図である。 図柄停止表示の基本キャラクタの設定動作を説明する図である。 図柄停止表示の基本キャラクタの設定動作を説明する図である。 大当りエンディング期間の動作を説明する図である。 実施例2における表示装置の演出で使用される表示構成要素及び表示画面の一例を示す図である。 実施例3における表示装置の演出で使用される表示構成要素及び表示画面の一例を示す図である。
以下、本発明の実施例1として、パチンコ機に適用した場合の形態例を、図面を参照して説明する。
A.パチンコ機の正面構成
最初に、図1によって本例のパチンコ機の全体構成について説明する。図1は本例のパチンコ機1の前面側斜視図である。
パチンコ機1は、当該パチンコ機1が設置される島に対して固定される機枠2と、この機枠2にヒンジ部3において回動可能に軸支されることによって、機枠2に対して開閉自在とされた前面枠4とを備える。この前面枠4には、遊技盤20(図2に示す)が取り付けられている。
また前面枠4には、その前面上側を覆うようにガラス枠5が開閉自在に取付けられている。なお、このガラス枠5により保持されるガラス板(透明のプラスチックボードでもよい、符号は省略)を介して、遊技盤20の後述する遊技領域22が前面から視認可能となっている。またガラス枠5は、ヒンジ部3において前面枠4に開閉可能に軸支されている。
ここで、前面枠4は遊技枠という名称で呼称され、ガラス枠5は前枠という名称で呼称されることもあるが、本実施例では前面枠4、ガラス枠5で説明している。
このガラス枠5の下側には、操作パネル6が設けられている。
なお、通常、パチンコ機1には遊技媒体貸出装置としてのCRユニット(カード式球貸制御ユニット)が併設されることもあるが、ここでは図示を略している。ただし、図4では、CRユニットをカードユニット551として図示しており、このカードユニット551との間で信号などの伝達を中継するカードユニット接続基板54についても図4で示している。
図2に示すように、遊技盤20は、板状の基材(いわゆるベニア)の前面に遊技釘を植設したもので、その前面の略円形領域がガイドレール21で囲まれることにより遊技領域22が形成されたものである。遊技領域22は、打ち込まれた遊技球を上方から落下させつつアウトあるいはセーフの判定(入賞したか否かの判定)を行う領域であり、入賞口に遊技球が入って有効にセーフとなる場合は、所定数の遊技球がガラス枠5の下部に設けられた上皿7に排出される(即ち、賞球として排出される)構成となっている。
また、前面枠4の開閉側(図1において右側)の縁部には、前面枠4及びガラス枠5の施錠装置(図示省略)の鍵挿入部8が形成されている。
また、ガラス枠5の下部に設けられた上皿7は、賞球として又は貸球として排出された発射前の遊技球を一時保持するものである。この上皿7には、遊技者が操作する押ボタン式の演出ボタン9が設けられている。
また、操作パネル6には、上皿7の遊技球を遊技者の操作によって移すことができる下皿10と、遊技球の発射操作を行う発射操作ハンドル11とが設けられている。
また、図1において符号12a、12bで示すものは、効果音等を出力するスピーカである。このうち符号12aは、ガラス枠5の上部左右両側に設けられた上スピーカである。また符号12bは操作パネル6の左端部(下皿10の左側)に設けられた下スピーカである。
また図1において、符号13で示すものは、ガラス枠5の前面に設けられたLED(発光ダイオード)を発光源とする装飾ランプであり、符号14で示すものは、ガラス枠5の上部左右両側前面に設けられたムービングライトである。図示省略しているが、ムービングライト14は、発光源としてLEDを備え、駆動源としてモータを備えている。ここで、装飾ランプ13とムービングライト14は図4に示す装飾LED301を構成する。
また、パチンコ機1の盤と枠という概念で装飾機構を区分するとすれば、装飾ランプ13とムービングライト14は枠側の演出機構に相当し、図6に示す枠装飾装置43を構成し、またムービングライト14は図6に示す枠演出装置45も構成する。
B.遊技盤の前面構成
図2において、符号21は遊技盤20のガイドレールであり、既述したように、遊技盤前面の略円形領域がこのガイドレール21で囲まれることにより遊技領域22が形成されている。
遊技領域22には、図2に示すように、アウト球流入口23、センターケース24、第1始動入賞口25、普通電動役物(普電)としての第2始動入賞口26、変動入賞装置27、一般入賞口28〜31、普図始動ゲート32、変動入賞装置33(以下、変動入賞装置27と区別するため、第2変動入賞装置33という)、多数の遊技釘(図示省略)などが設けられている。また、遊技盤20の遊技領域22外には、一括表示装置35が設けられている。なお遊技釘は、遊技領域22の上部に飛入した遊技球がこれに当たりながら流下するものであり、センターケース等の取付部分を除いた遊技領域内に複数本植設されている。
センターケース24は、遊技盤20の裏側に取り付けられる表示装置41(図4に示す)の表示部41a(図2に示す)の前面周囲を囲む部材である。図示省略しているが、このセンターケース24には、演出又は装飾のためのLEDを発光源とするランプ類や、例えば表示装置41における演出表示と協働して演出効果を高める電動役物(モータやソレノイドなどの駆動源によって作動する可動部を有する役物)が設けられている。
なお、演出又は装飾のためのランプ類は、遊技盤20のセンターケース24以外の部分(遊技領域22外でもよい)にも設けられる。なお、遊技盤20(センターケース24含む)に設けられた演出又は装飾のためのランプ類は、盤側の演出機構に相当し、盤装飾装置42(図6に示す)また、センターケース24に設けられた電動役物は、盤側の演出機構に相当し、盤演出装置44(図6に示す)を構成する。なお、盤演出装置44を構成する電動役物は、遊技盤20のセンターケース24以外の箇所に設けられてもよい。
表示装置41(演出手段、表示手段)は、例えば液晶表示装置を含んで構成され、通常、変動表示装置と称されるものである。なお、表示装置41の名称としては、同様の機能を持つ部材の呼び名として、例えば特別図柄表示装置、特図表示装置、図柄変動装置、可変図柄表示装置、識別情報変動装置、識別情報変動表示装置など各種あるが、機能が同じものは同一の範疇である。
表示装置41は、数字や文字などの識別情報(特図という)を表示可能な表示部41a(画面)を有し、複数列の特図を表示可能である。例えば、左側と中央と右側に特図を縦3列に表示し、各列において数字や文字等よりなる特図を停止状態で表示(停止表示)したり、あるいは変動状態(例えば、縦方向にスクロールする状態)で表示(即ち、変動表示)したりすることが可能である。
また表示部には、上記特図とは別個に背景画像やキャラクタ画像などの演出用又は情報報知用の画像が表示可能である。
なお、いわゆる普図に相当する画像を表示装置41に表示可能な構成としてもよい。ただし、表示装置41に普図を表示した場合には、それは飾り普図のことである。表示装置41に普図を表示する構成にした場合、表示装置41は普通図柄可変表示装置に相当する。
ここで、特図とは大当りに関連する変動表示ゲームで変動表示される識別情報であり、普図とは普図当り(大当りではない)に関連する変動表示ゲームで変動表示される識別情報である。
普図は、実際には表示装置41に表示されておらず、一括表示装置35に表示する構成になっている。一括表示装置35に表示される普図を後述のように本普図という。
また始動入賞口25,26は、後述するように特図の始動入賞口として機能する入賞口であり、本例では図2に示すように上下に並んで配設されている。上側の第1始動入賞口25は常に開口している。下側の第2始動入賞口26は、開閉部材26aを左右両側に有し、これら開閉部材26aが逆ハの字状に開くと入賞可能になり、図2に示すようにこれら開閉部材26aが閉じていると入賞不可能である。これら始動入賞口25,26は、センターケース24の中央部下方に配置されている。
なお、第2始動入賞口26は普通電動役物(普電)ともいい、普通変動入賞装置に相当する。
また変動入賞装置27は、開閉部材27bによって開閉される大入賞口27a(後述のように第1大入賞口に相当)を有する装置(いわゆるアタッカー)である。この大入賞口27aは、後述する大当りになったことを条件として開放されて遊技球が入賞可能となる。
さらに、第2変動入賞装置33は一対の開閉部材33aを左右両側に有し、これら開閉部材33aが逆ハの字状に開くと入賞可能になり、図2に示すように、これら開閉部材33aが閉じていると入賞不可能である。この第2変動入賞装置33は、後述する大当りの中でも特別の当たり状態になったことを条件として開放されて遊技球が入賞可能となる。この場合、大当りが発生したときには変動入賞装置27あるいは第2変動入賞装置33の何れか一方が開放されるが、何れを開放するかは特図変動表示ゲームの結果態様(特別結果)により決定される。
なお、第2変動入賞装置33において開閉部材33aが逆ハの字状に開いて入賞可能となる開口部を第2大入賞口という。
ここで、本実施例では変動入賞装置27と第2変動入賞装置33の2つのアタッカーが配置される構成であるので、変動入賞装置27を第1アタッカー、第2変動入賞装置33を第2アタッカーと呼ぶことがあり、また、各アタッカーの入賞口を第1大入賞口(又は下大入賞口)、第2大入賞口(又は上大入賞口)と呼ぶことがある。後述のように、第1大入賞口は第1大入賞口ソレノイド133によって開閉され、第2大入賞口は第2大入賞口ソレノイド134によって開閉されるようになっている。
一括表示装置35(詳細は後述)には特図とは別に普図も表示されており、普図ゲームについて説明すると、以下の通りである。
遊技球が普図始動ゲート32を通過したとき、一括表示装置35で普図の変動表示による普図の変動表示ゲーム(以下、普図変動表示ゲームという)が行われ、停止した普図が所定の態様(特定表示態様)であれば、普図当りと呼ばれる特典が付与される。
なお、表示装置41で普図を表示する構成にした場合には、表示装置41の画面で普図(飾り普図)の変動表示が行われる。ただし、表示装置41とは別に独自の普図表示器を配置してもよい。
普図当りになると、第2始動入賞口26の一対の開閉部材26aが逆ハの字に開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われ、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、後述の一括表示装置35の表示器によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。なお、普図の確率を高確率にすれば、普図当たりしやすくなる。
なお、一括表示装置35の表示器によって表示される普図始動記憶の保留表示は、本普図始動記憶である。一括表示装置35とは別に、飾り普図始動記憶を表示するための独自の普図始動記憶表示器を遊技領域22に配置してもよい
ここで、時短について説明しておくと、以下のようなものである。
時短は「時間短縮」の略で、大当たり終了後、特図や普図の変動時間を通常よりも短縮し、時間効率を高めるとともに、普図当たり確率を高めて普通電動役物(普電)(第2始動入賞口26)の開放(普電の開放時間を通常よりも長くすることも含む)による始動口への入賞のサポートを行うことで、所定の特図の変動表示ゲームの実施回数まで持ち玉(持球数)を減らさずに効率よく特図を変動させる機能である。
次に一括表示装置35は、いわゆる普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示(場合により、特図保留表示、普図保留表示という)や、遊技状態の表示を行うものであり、例えばLEDを発光源とする複数の表示器(例えば、1個の小さなランプよりなる表示器、或いは本特図としての数字等を表示可能な例えば7セグメントの表示器)によって構成される。例えば、一括表示装置35の中のLEDセグメントのうち、特図1を表示するものは特図1表示器、特図2を表示するものは特図2表示器として配置されている。
なお、始動記憶の保留表示(場合により、単に始動記憶表示という)とは、変動表示ゲームが未実施の状態で保留されている始動記憶の数等を報知するための表示であり、一般的には、始動記憶毎にランプ等の点灯によって表示する。即ち、始動記憶が3個有れば、3個のランプを点灯させたり、3個の図形を表示させたりすることによって行われる。
なお、この一括表示装置35の表示器によって表示されるものが本特図や本普図(正式な特図や普図)であるのに対して、前述の変動表示装置41の表示部等で行われる特図や普図(ただし、変動表示装置41で普図を表示する構成を採用した場合)の表示は、遊技者向けの演出用のダミー表示である。このため、遊技者から見て特図や普図といえば、このダミー表示の方を指している。なお以下では、このダミー表示であることを強調する場合に、例えば「飾り特図」、「飾り普図」と表記する。
このように、この一括表示装置35は、遊技者向けのものではなく、遊技盤20の検査などで使用されるものである。例えば、遊技者向けの特図の始動記憶の表示(特図保留表示)は、例えば変動表示装置41の表示部、或いは遊技盤20に設けた複数のランプ(発光部)によって行われる。
C.パチンコ機裏側の構成
次に図3は、本実施例のパチンコ機1の裏側全体構成を示す図である。
パチンコ機1における裏機構の主要な部品としては、貯留タンク51、誘導路52a、払出ユニット53、カードユニット接続基板54、外部情報端子板55、払出制御装置200、遊技制御装置100、演出制御装置300、及び電源装置500などがある。
なお、図3では直接に演出制御装置300は見えず、カバー部材の奥に演出制御装置300が配置されているので、説明の都合上、矢印を図3にように表記している。すなわち、図3に見えるカバー部材は演出制御装置300の基板を収納するボックスとは異なり、遊技機裏面に遊技球が入り込まないようにする機能を有するもので、扉状に開閉可能な構造である。そして、図3に示すカバー部材の左側が支点となり、左側に開き、その奥にボックスに収納された演出制御装置300が配置されている。
貯留タンク51は、払出される前の球を予め貯留しておくもので、この貯留タンク51の球数の不足は補給センサ(図示略)によって検出され、不足のときは島設備のシュートと呼ばれる機器から球が補給される。貯留タンク51内の球は誘導路52aにより誘導され、払出モータ222(図4に示す)を内蔵する払出ユニット(図示略)によって前述の上皿7に排出される。なお払出ユニットは、例えば払出モータ222の回転量に応じた球数の遊技球の排出が可能であり、この払出ユニットによって上皿7に向けて払い出される遊技球は、払出球検出スイッチ215(図4に示す)によって検出される。
外部情報端子板55はパチンコ機1の各種情報(固有IDを含む)をホールの管理装置140に送る場合の中継端子基板(外部端子基板)としての機能を有するものである。
固有IDとは、後述のように、遊技用マイコン101を識別可能な個体識別情報(主基板固有ID:主基板固有識別情報)や払出用マイコン201を識別可能な個体識別情報(払出固有ID:払出基板固有識別情報)を表す概念であり、これらを遊技機の外部に出力するのは、固有IDを外部でチェックして遊技機の正当性を判定するためである。上記の管理装置140は遊技機(パチンコ機1)の外部装置に相当し、固有IDに基づいてパチンコ機1の正当性を外部で判定する機能を有する。
なお、遊技機の正当性を判定する機能を有する外部装置としては、管理装置140に限るものではなく、例えばカードユニット551(図4参照)に遊技機の正当性を判定する機能を持たせてもよい。その場合は、上述の外部情報端子板55からパチンコ機1の固有IDをカードユニット551に送る構成とする。
また、遊技機の正当性の判定は、管理装置140のみで行う形態、管理装置140とカードユニット551の双方で行う形態、あるいはカードユニット551のみで行う形態の何れであってもよい。
ここで、上記の固有IDは遊技制御装置100における演算処理装置(後述の遊技用マイコン101)であることを個別に(ユニークに)識別可能な個体識別情報に相当するが、払出制御装置200における演算処理装置(後述の払出用マイコン201)にも、当該演算処理装置であることを個別に(ユニークに)識別可能な個体識別情報が格納されている。
そこで、本実施例1では必要に応じて遊技用マイコン101を識別可能な個体識別情報を主基板固有ID,払出用マイコン201を識別可能な個体識別情報を払出固有IDと適宜、区別して説明する。
また、遊技用マイコン101を識別可能な個体識別情報に対して、これと区別する概念として、払出用マイコン201を識別可能な個体識別情報を払出個体識別情報という。後述の他の実施例についても同様である。
なお、区別しないで、通常単に固有IDというときは、主基板固有IDを指す。
また、発明概念では、固有IDを「個体識別情報」と称しているが、通常の現場レベルなど一般的な場合は、個体識別情報を固有IDとして称することも多いので、本明細書において、実施例1では、個体識別情報を固有IDとして説明したり、また、明細書及び図面上も固有IDとのバランス上、固有情報あるいは固有識別情報として記述や図示することがある。
払出制御装置200は、遊技球の払出(賞球払出と貸球払出の両方)に必要な制御を行うもので、所定のケース内にこの制御機能を実現する回路基板が収納されて構成されている。この払出制御装置200は、図4に示すように遊技制御装置100から送信される払出制御コマンドに基づき、所定数の遊技球を賞球として上皿7に排出させる賞球払出の制御を行う。また払出制御装置200は、カードユニット551(図4参照)からのBRDY信号やBRQ信号に基づいて、所定数の遊技球を貸球として上皿7に排出させる貸球払出の制御を行う。
遊技制御装置100は、遊技盤20に配設されているソレノイド等を制御するとともに、他の制御装置に制御情報(コマンド)を送って、遊技の進行を統括的に管理制御するものであり(詳細後述する)、これら制御を行うマイコンを含む回路が形成された基板が、所定のケース内に収納された構成となっている。
演出制御装置300は、遊技制御装置100から送信されるコマンドに基づき、前述の変動表示装置や装飾ランプや演出装置やスピーカ12a、12bの制御を行うもので、所定のケース内にこの制御機能を実現する回路基板が収納されて構成されている。
また、カードユニット接続基板54(図3参照、図4にも図示)は、パチンコ機1側と球を貸し出すCRユニット(カードユニット551のこと。以下同様)側との配線接続のための基板である。このカードユニット接続基板54での上記配線接続がされていないと、パチンコ機1では遊技球の発射が不可能となるように制御される。
なお一般に、パチンコ機の機種交換などの場合には、CRユニットを除くパチンコ機全体を交換するか、或いはパチンコ機の枠側(払出制御装置含む)を残して遊技盤側(遊技盤と遊技制御装置などの主要な制御装置含む)だけを交換する場合もある。ただし、貸球4円であれば、何れも4円のものが使用されるが、例えば貸球1円専用台であれば、遊技盤側も枠側も貸球1円専用のものが使用されることを前提としている。
D.制御系の構成
次に、本例のパチンコ機1の制御系について、図4乃至図7を参照して説明する。なお図や以下の説明において、「SW」はスイッチを意味する。また、図面では部材の名称が長い場合に図示がしにくくなるので、適宜、短めにして表記(図示)することがある。
パチンコ機1は、制御系の主な構成要素として、遊技制御装置100、払出制御装置200、演出制御装置300、発射制御装置400及び電源装置500を備えている。
(遊技制御装置関係)
まず、パチンコ機1の遊技制御装置100の構成と、この遊技制御装置100に接続される機器について、図4によって説明する。
なお、図4で矢印に添えて示す信号のうち、「主ID」とは主基板固有ID、「外部情報」とは遊技機状態信号、「賞球信号」とは払出制御装置から賞球として払い出される球数信号、「排出コマンド」とは遊技制御装置からの排出指令コマンド、「各種信号」とは払出制御装置から出される払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号、ガラス枠開放スイッチ信号、前面枠開放スイッチ信号などをそれぞれ表す。
また、「外部情報」と「賞球信号」とを合わせて「外部・賞球」とも表す。
遊技制御装置100は、遊技を統括的に制御する主制御装置(主基板)であって、遊技用マイクロコンピュータ(以下、遊技用マイコンと称する)101及び検査装置接続端子102を備えている。遊技用マイコン101の詳細については後述する。
遊技制御装置100は制御装置に相当する。
また、遊技用マイコン101は遊技用演算処理装置(演算処理装置)としての機能を有し、本発明の第1の演算処理装置に相当する。
本実施例では、遊技制御装置100は主制御手段、停電監視手段、乱数更新手段、始動入賞記憶手段、第2始動記憶手段、事前判定手段、優先制御手段、変動パターン決定手段、変動表示ゲーム実行制御手段、判定手段、停止時間設定手段、特定遊技状態発生制御手段、主基板固有識別情報出力手段を構成する。
検査装置接続端子102は、例えばフォトカプラを含んで構成され、遊技用マイコン101から得られる各種の遊技情報を検査装置に伝送するためのケーブルが接続される端子である。
遊技制御装置100には、第1始動口スイッチ120(図4及び図5では始動口1SW)、第2始動口スイッチ121(図4及び図5では始動口2SW)、ゲートスイッチ122、入賞口スイッチ123、下カウントスイッチ124、上カウントスイッチ125、磁気センサ126、電波センサ127、ガラス枠開放検出スイッチ211(ガラス枠開放検出SW)及び前面枠開放検出スイッチ212(前面枠開放検出SW)からの検出信号が入力される。
ここで、第1始動口スイッチ120は前記第1始動入賞口25に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサであり、第2始動口スイッチ121は前記第2始動入賞口26に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサである。
下カウントスイッチ124は前記変動入賞装置27の大入賞口に入賞した遊技球を検出する同様のセンサである。上カウントスイッチ125は第2変動入賞装置33の第2大入賞口に入賞した遊技球を検出する同様のセンサである。
本実施例では、下カウントスイッチ124が2つ設けられ、変動入賞装置27の大入賞口内に流入した遊技球は何れかの下カウントスイッチ124に検出されるようになっている。このように下カウントスイッチ124を複数設けることで、大入賞口内に流入した遊技球を迅速に検出できる。
また、入賞口スイッチ123は一般入賞口28〜31に対して設けられた同様のセンサであり、一般入賞口がn個あるときには、それぞれに1個ずつ、全体としてn個設けられる。なお、一般入賞口のそれぞれに1個ずつセンサを設けるのではなく、複数の一般入賞口に対して、全体で1個のセンサを設けるようにしてもよい。ゲートスイッチ122は前記普図始動ゲート32を通過する遊技球を1個ずつ検出するセンサである。
これら遊技球を検出する上記各センサ120、121、122、123、124,125は、本例では近接スイッチであり、ハイレベルが11Vでロウレベルが7Vのような負論理の検出信号を出力するように回路構成されている。
また、磁気センサ126や電波センサ127は、遊技盤20の裏面等に設けられ、磁気又は電波によって不正を検出するセンサである。例えば、磁気センサ126は遊技盤20における一般入賞口28、30、31及び変動入賞装置27の第1大入賞口(大入賞口27a)のそれぞれに配置(つまり4箇所に配置)され、一般入賞口一般入賞口28、30、31、変動入賞装置27の第1大入賞口の周辺に磁石を使って遊技球を積み上げ、各入賞口への入賞を容易にさせる等の不正を検知するためのセンサである。なお、磁気センサ126は上記のように4箇所に配置する構成でなく、それ以上の箇所に配置する構成であってもよい。
さらに、ガラス枠開放検出スイッチ211はパチンコ機前面のガラス枠5が開放されていることを検出するセンサである。前面枠開放検出スイッチ212はガラス枠5が取り付けられた前面枠4が開放されていることを検出するセンサである。
なお、遊技制御装置100には、上記各センサ120、121、122、123、124、125,126、127からの信号を処理する近接I/Fが設けられているが、詳細は図5を用いて後述する。
ここで、遊技制御装置100及び該遊技制御装置100によって駆動される後述のソレノイド132、133などの電子部品には、電源装置500で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
電源装置500は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部501と、遊技用マイコン101の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部502と、停電監視回路を有し遊技制御装置100に停電の発生、回復を知らせる停電監視信号やリセット信号などの制御信号を生成して出力する制御信号生成部503と、遊技用マイコン101の内部のRAMなどを初期化するRAMクリアスイッチ504などを備える。
この実施例1では、電源装置500は、遊技制御装置100と別個に構成されているが、バックアップ電源部502及び制御信号生成部503は、別個の基板上あるいは遊技制御装置100と一体、即ち、主基板上に設けるように構成してもよい。遊技盤20及び遊技制御装置100は機種変更の際に交換の対象となるので、このように、電源装置500若しくは主基板とは別の基板にバックアップ電源部502及び制御信号生成部503を設けることにより、機種変更の際の交換の対象から外しコストダウンを図ることができる。
上記バックアップ電源部502は、電解コンデンサのような大容量のコンデンサ1つで構成することができる。バックアップ電源は、遊技制御装置100の遊技用マイコン101(特に内蔵RAM)に供給され、停電中あるいは電源遮断後もRAMに記憶されたデータが保持されるようになっている。制御信号生成部503は、例えば通常電源部501で生成された32Vの電圧を監視して、それが例えば17V以下に下がると停電発生を検出して停電監視信号を変化させる(本例ではオンさせる)とともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
RAMクリアスイッチ504からは初期化スイッチ信号が出力されるようになっており、初期化スイッチ信号はRAMクリアスイッチ504がオン状態にされたときに生成される信号で、遊技用マイコン101内のユーザワークRAMなどのRAMエリア及び払出制御装置200内の同様のRAMエリアに記憶されている情報を初期化する。
なお本例の場合、初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン101や払出用マイコン201が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は、制御システム全体をリセットさせる。
次に、遊技制御装置100は、払出制御装置200、演出制御装置300、試射試験装置131(試験機関における試験時に接続される)、普電ソレノイド132、第1大入賞口ソレノイド(図4では第1大入賞口SOL)133、第2大入賞口ソレノイド(図4では第2大入賞口SOL)134及び一括表示装置35と接続されている。
遊技制御装置100からは外部情報端子板55を介して遊技制御装置100の固有ID、詳しくは遊技用マイコン101を識別可能な個体識別情報(主基板固有ID)及び外部情報が外部装置としての管理装置140に出力されるようになっている。
外部情報端子板55は遊技制御装置100とケーブルで接続されており、外部情報、遊技制御装置100の固有ID(主基板固有ID)を外部装置としての管理装置140に伝送する際の中継を行う。
なお、管理装置140は遊技店に設置された多数のパチンコ機からの情報(例えば、外部情報など)を収集して、営業に必要な情報の演算処理や集計表示などの処理を行う。
ここで、外部情報としては、例えば遊技制御装置100に入力された信号を外部へ知らせる信号や、遊技進行の過程で発生する大当りを知らせる大当り信号、図柄を回動させるための条件となる始動口への入賞を知らせる始動口信号、図柄が回動開始、或いは、図柄の回動停止をトリガに図柄回転を知らせる図柄確定回数信号、遊技状態が遊技者に有利な状態であること(いわゆる確変状態、時短状態)を示す特典状態信号、等、外部へ報知する信号であり、これらを総称して遊技機状態信号と称している。
なお、特典状態信号は、大当り状態終了後に発生するため、“大当り状態+遊技者に有利な状態”期間中に出力される信号である。
また、遊技制御装置100からは払出制御装置200に対してパラレル通信でデータ(例えば、払出コマンド)が送信されるようになっている。一方、払出制御装置200から遊技制御装置100に対して、払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号が出力される。各信号の内容は後述する。
次に、遊技制御装置100に接続されている試射試験装置131などについて説明する。
試射試験装置131は、認定機関が遊技機の試射試験などを行うものである。普電ソレノイド132は第2始動入賞口26の開閉部材を開閉させるソレノイド、第1大入賞口ソレノイド133は変動入賞装置27の開閉部材を開閉させるソレノイド、第2大入賞口ソレノイド134は特別入賞装置33の開閉部材33aを開閉させるソレノイド、一括表示装置35は前述したように、いわゆる普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示や遊技状態の表示を行うものである。
また、遊技制御装置100からは演出制御装置300に対して、シリアル通信でデータ(例えば、演出コマンド)が送信されるようになっている。
ここで、遊技制御装置100では始動口25,26への入賞を第1始動口スイッチ120、第2始動口スイッチ121でそれぞれ検出して検出信号が入力されると、特図始動入賞数を4個の範囲で記憶して保留するともに、始動入賞の保留に基づく乱数の抽出により保留情報に関する先読みコマンドを生成して所定のタイミングで演出制御装置300へ送信する。また、始動入賞の記憶が保留されたとき、保留数に関する特図保留数コマンドを生成して、同様に演出制御装置300へ送信する。
上記構成の発明概念は、下記のように表される。
遊技制御装置は、
始動入賞口への遊技球の入賞に基づく始動入賞数を所定範囲で保留数として記憶する始動入賞記憶手段と、
前記始動入賞記憶手段によって始動入賞の記憶がされたとき、該記憶に基づく乱数の抽出により記憶情報に関する先読みコマンドを生成する先読みコマンド生成手段と、
前記始動入賞記憶手段によって始動入賞の記憶がされたとき、保留数に関する保留数コマンドを生成する保留数コマンド生成手段と、
備えていることを特徴とする遊技機。
また、実施例1では始動口が2つ(始動口25,26)あるので、特図の始動記憶(特図始動記憶)の表示を2種類(特図1保留表示と特図2保留表示)行うようにし、特図変動表示ゲームとして、2種類の変動表示ゲーム(第1変動表示ゲームと第2変動表示ゲーム)を実行する構成である。そして、各始動口25,26への遊技球の入賞に基づいて先読みコマンド、保留数コマンドがそれぞれ別に生成される構成である。例えば、特図1の先読み保留情報、特図2の先読み保留情報、特図1,2の保留数コマンドというように、各始動口25,26に対応して個別に生成される。
上記構成の発明概念は、下記のように表される。
遊技球が入賞可能な始動入賞口は複数配置され、
前記始動入賞記憶手段は、
複数の各始動入賞口へのそれぞれの遊技球の入賞に基づく始動入賞数を保留数1、保留数2として区別して記憶し、
前記先読みコマンド生成手段は、
前記始動入賞記憶手段によって複数の各始動入賞口に対応するそれぞれの始動入賞の記憶がされたとき、該記憶に基づく乱数の抽出により記憶情報に関する先読みコマンドを各始動入賞口毎に区別して生成し、
前記保留数コマンド生成手段は、
前記始動入賞記憶手段によって各始動入賞の記憶がされたとき、保留数1、保留数2に関する保留数コマンドを各始動入賞口毎に区別して生成することを特徴とする遊技機。
さらに、実施例1では、遊技制御装置100から演出制御装置300へ組となる変動パターンコマンド及び図柄コマンドが順次送信されるが、後の図柄コマンドを取りこぼした場合には、以下のような制御が行われる。
すなわち、先に送られる変動パターンコマンドを演出制御装置300が受信した時点で、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間(例えば、1秒)以内か否かを判定し、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間以内と判定されると、後で送られる図柄コマンドの受信を取りこぼしても、図柄の変動を開始する処理が行われ、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間を超えていると判定すると、図柄の変動を開始しない処理が行われる。そのため、遊技者に極力ストレスを与えない特図演出を行うことができる
その後、停止コマンドがくると、変動停止又は停止の続行となり、さらに、次のコマンドの組が正常に演出制御装置300へ送信された(組が成立)時点で、正規のコマンド情報に基づいて正しい演出が実行される。
(演出制御装置関係)
次に、演出制御装置300の構成と、この演出制御装置300に接続される機器について説明する。
演出制御装置300は、主制御用マイコン、該主制御用マイコンの制御下でもっぱら映像制御を行う映像制御用マイコン、表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP、各種のメロディや効果音などの出力を制御する音源LSIなどを有しているが、細かい構成については、図6で後述する。
演出制御装置300は遊技制御装置100の遊技用マイコン101からの制御コマンド(8ビットのデータ信号)を解析し、演出内容を決定して表示装置41の出力映像の内容を制御したり、音源LSIへの再生音の指示をしてスピーカ12a、12bを駆動して効果音等を出したり、前述した装飾LED301の駆動制御などの処理を実行する。また、演出制御装置300は遊技制御装置100からエラー報知の指示を受けると、エラー報知LED302に対して信号を出力してオンさせる。
ここで、遊技制御装置100の遊技用マイコン101から演出制御装置300へ送信されるコマンドには、単独コマンド(例えば、停止コマンド)の他に、単独では演出を開始せず、組で効果を発揮するものがあるが、それは例えば特図変動開始時の「変動パターンコマンド+図柄指定コマンド」などであるが、コマンドの種類の詳細などについては後述する。
上記の他に主要なコマンドを説明すると、確率情報コマンドがある。これは、特図ゲームモードフラグに対応して準備されるもので(後述のステップS974,S984等参照)、そのときの確率状態を反映するフラグである。
なお、遊技制御装置100から送信した確率情報コマンドを、例えば演出制御装置300が受信しても、そのコマンドだけでは直ちに表示装置41の画面が変化するわけではなく、画面を演出するための内部的なパラメータの変更をするだけである。その後、画面を変化するコマンド(変動系、客待ちデモコマンドなど)を受信すると、その時の確率状態として反映する構成である。
また、大当り中は低確率と決まっているので、確率情報コマンドを受けなくとも大当り系コマンドを受信すると、内部パラメータを強制的に低確率に書き換える場合もある。
確率情報コマンドで分かる情報としては、例えば以下のようなものがある。
・「低確率・時短あり(所謂100回転の時短中を指す)」
・「高確率・時短あり(所謂確変中)」
・「低確率・時短なし」
ここで、遊技機(パチンコ機1)における「確率の情報」とは「確変か否か」だけでなく、「時短中か否か」という情報も含んでいる。遊技機の状態としては「低確率・時短なし」、「低確率・時短あり」、「高確率・時短あり」、「高確率・時短なし」の4種類がある。本実施例では上記のうちの3種類(「高確率・時短なし」を除く)を使用しており、各状態の変化するタイミングで遊技制御装置100から送信される。
なお、コマンド通信はシリアル通信方式でもよいし、あるいはパラレル通信方式でもよい。本実施例では、コマンド通信としてシリアル通信方式を採用している。
(払出制御装置関係)
次に、払出制御装置200の構成と、この払出制御装置200に接続される機器について説明する。
払出制御装置200は、遊技球の払出(賞球払出又は貸球払出)を制御する払出用マイクロコンピュータ(以下、払出用マイコンと称する)201、エラーナンバー表示器202、エラー解除スイッチ203、検査装置接続端子204を備えている。払出用マイコン201の詳細については後述する。
なお、払出用マイコン201は払出用演算処理装置(演算処理装置)としての機能を有し、本発明の第2の演算処理装置に相当する。
検査装置接続端子204は、例えばフォトカプラを含んで構成され、払出用マイコン201から得られる払い出しに関連する各種の情報を検査装置に伝送するためのケーブルが接続される端子である。エラーナンバー表示器202は払出制御の処理でエラーがある場合に、エラーの内容に応じて特定のナンバーを点灯させる。エラー解除スイッチ203は払出制御の処理でエラーがあって処理が停止した場合などに、操作されるとエラーを解除する信号を出すものである。
払出制御装置200の入力側に接続される機器としては、オーバーフロースイッチ213、電波センサ214、払出球検出スイッチ215及びシュート球切れスイッチ216がある。
オーバーフロースイッチ213は下皿10の遊技球が過剰であることを検出するスイッチ、電波センサ214は不正などの異常な電波を検知するセンサ、払出球検出スイッチ215は払出ユニット53(図3)によって上皿7に向けて払い出される遊技球(賞球あるいは貸球)を1個ずつ検出するスイッチ、シュート球切れスイッチ216は貯留タンク51に遊技球を供給するシュートに遊技球が無いことを検出するスイッチである。
なお、電波センサ214は払い出される遊技球が払出球検出スイッチ215を通過するときに、電波によって当該センサを反応させないようにして規定数以上の遊技球を獲得する等の不正を検出するセンサである。電波センサ214はその他の不正な電波を検出するものでもよい。
また、払出制御装置200の出力側に接続される機器としては、払出モータ222、カードユニット接続基板54、発射制御装置400及び外部情報端子板55がある。
払出制御装置200は、遊技制御装置100からの信号(払出制御コマンド)に従って、払出ユニット53の払出モータ222を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置200は、カードユニット接続基板54に接続されているカードユニット(CRユニット)551からのBRQ信号(貸出要求信号)等に基づいて払出モータ222を駆動させ、貸球を払い出させるための制御を行う。
また、カードユニット接続基板54には操作パネル基板552が接続されており、操作パネル基板552はパチンコ機1に設けられている球貸可LED、残高表示器、球貸スイッチ、返却スイッチ(何れも図示略)などが接続されている。操作パネル基板552は球貸可LED、残高表示器などの信号をカードユニット(CRユニット)551から受け取るとともに、球貸スイッチ、返却スイッチからの操作信号をカードユニット(CRユニット)551に送り、貸球の払い出しに必要な制御が行われる。
なお図示省略しているが、この払出制御装置200のRAMエリアにも、停電時に電源装置500からバックアップ電源が供給される構成となっている。
払出制御装置200は、遊技制御装置100から受信した払出コマンドに基づいて作成した賞球信号(賞球として払い出した球数情報)を外部情報端子板55を介して外部装置としての管理装置140に出力するとともに、払出制御装置200の固有ID、詳しくは払出用マイコン201を識別可能な個体識別情報(払出固有ID)を外部情報端子板55を介して管理装置140に出力する。
なお、カードユニット551にて払出固有IDの正当性を判定する場合には、外部情報端子板55を介して払出固有IDをカードユニット551に出力する構成とする。
外部情報端子板55は払出制御装置200とケーブルで接続されており、賞球信号、払出制御装置200の固有ID(払出固有ID)を外部装置としての管理装置140に伝送する際の中継を行う。
ここで、払出制御装置200は従制御手段、払出基板固有識別情報出力手段を構成する。
発射制御装置400は払出制御装置200から必要な電源の供給を受けるとともに、発射許可信号、停電検出信号を受けるようになっている。発射制御装置400は発射操作ハンドル11の操作に従って遊技球を発射する発射モータ401を制御するとともに、発射制御装置400にはタッチスイッチ402や発射停止スイッチ403からの信号が入力されている。タッチスイッチ402は遊技者が発射操作ハンドル11にタッチしているか否かを検出するものであり、発射停止スイッチ403は遊技球の発射を一時的に停止するもので、遊技者によって操作されるものである。
次に、遊技制御装置100の詳細な構成について、図5によって説明する。
遊技制御装置100は、遊技を統括的に制御する主制御装置であって、主基板(つまり主基板に形成された回路)に相当し、具体的には図5に示す回路よりなる。この遊技制御装置100は、図5に示すように、遊技用マイクロコンピュータ(つまり、遊技用マイコン)101を有するCPU部150、入力ポートなどを有する入力部151、出力ポートなどを有する出力部152、CPU部150と入力部151と出力部152との間を接続するデータバス153などからなる。
上記CPU部150は、アミューズメントチップ(IC)と呼ばれる遊技用マイコン101と、後述する近接I/F163からの信号(始動入賞検出信号)を論理反転して遊技用マイコン101に入力させるインバータなどからなる反転回路112と、水晶振動子のような発振子を備え、CPUの動作クロックやタイマ割込み、乱数生成回路の基準となるクロックを生成する発振回路113などを有する。
遊技用マイコン101は、CPU(中央処理ユニット:マイクロプロセッサ)101A、読出し専用のROM(リードオンリメモリ)101B及び随時読出し書込み可能なRAM(ランダムアクセスメモリ)101Cを備える。
ROM101Bは、遊技制御のための不変の情報(プログラム、固定データ、各種乱数の判定値等)を不揮発的に記憶し、RAM101Cは、遊技制御時にCPU101Aの作業領域や各種信号や乱数値の記憶領域として利用される。ROM101B又はRAM101Cとして、EEPROMのような電気的に書換え可能な不揮発性メモリを用いてもよい。
CPU101Aは、ROM101B内の遊技制御用プログラムを実行して、払出制御装置200や演出制御装置300に対する制御信号(コマンド)を生成したり、普電ソレノイド132、第1大入賞口ソレノイド133、第2大入賞口ソレノイド134や一括表示装置35の駆動信号を生成したりしてパチンコ機1全体の制御を行う。
また、図示しないが、遊技用マイコン101は、特図変動表示ゲームの大当り判定用乱数や大当りの図柄を決定するための大当り図柄用乱数、普図変動表示ゲームの当り判定用乱数等をハード的に生成するための乱数生成回路と、発振回路113からの発振信号(原クロック信号)に基づいてCPU101Aに対する所定周期(例えば、4ミリ秒)のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータと、を備えている。
ここで、遊技制御装置100及び該遊技制御装置100によって駆動される普電ソレノイド132、第1大入賞口ソレノイド133、第2大入賞口ソレノイド134などの電子部品には、電源装置500で生成されたDC32V,DC12V,DC5Vなど所定のレベルの直流電圧が供給されて動作可能にされる。
電源装置500は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部501と、遊技用マイコン101の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部502と、停電監視回路や初期化スイッチを有し遊技制御装置100に停電の発生、回復を知らせる停電監視信号や初期化スイッチ信号、リセット信号などの制御信号を生成して出力する制御信号生成部503などを備える。
この実施形態では、電源装置500は、遊技制御装置100と別個に構成されているが、バックアップ電源部502及び制御信号生成部503は、別個の基板上あるいは遊技制御装置100と一体、即ち、主基板上に設けるように構成してもよい。但し、遊技盤20及び遊技制御装置100は機種変更の際に交換の対象となるので、このように、電源装置500若しくは主基板とは別の基板にバックアップ電源部502及び制御信号生成部503を設けることにより、機種変更の際の交換の対象から外しコストダウンを図ることができる。
上記バックアップ電源部502は、電解コンデンサのような大容量のコンデンサ1つで構成することができる。バックアップ電源は、遊技制御装置100の遊技用マイコン101(特に内蔵RAM101C)に供給され、停電中あるいは電源遮断後もRAMに記憶されたデータが保持されるようになっている。制御信号生成部503は、例えば通常電源部501で生成された32Vの電圧を監視してそれが例えば17V以下に下がると、停電発生を検出したとして停電監視信号を変化させる(例えば、オンさせる)とともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
初期化スイッチ信号は、RAMクリアスイッチ504(初期化スイッチ)がオン状態にされたときに生成される信号で、遊技用マイコン101内のRAM101C及び払出制御装置200内のRAMに記憶されている情報を強制的に初期化する。なお本例の場合、初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン101が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は、制御システム全体をリセットさせる。
次に、遊技制御装置100の入力部151には、入力ポートとして、第1入力ポート160、第2入力ポート161及び第3入力ポート162が設けられている。この入力部151には、第1始動口スイッチ120、第2始動口スイッチ121、ゲートスイッチ122、入賞口スイッチ123、下カウントスイッチ124、上カウントスイッチ125、磁気センサ126、電波センサ127、ガラス枠開放検出スイッチ211及び前面枠開放検出スイッチ212からの検出信号が入力される。
入力部151には、上記の各スイッチ120〜124、127から入力される検出信号を0V−5Vの正論理の信号に変換するインタフェースチップ(近接I/F)163が設けられている。近接I/F163は、入力の範囲が7V−11Vとされることで、近接スイッチ(上記各スイッチ120〜124、127)のリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常状態を検出でき、このような異常状態を検出すると異常検知信号を出力する構成とされている。また近接I/F163には、前記のような信号レベル変換機能を可能にするため、電源装置500から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されている。
ここで、近接I/F163の出力(異常検知信号除く)のうちの一部(上記各スイッチ120〜124からの出力)は第2入力ポート161へ供給され、データバス153を介して遊技用マイコン101に読み込まれるとともに、主基板としての遊技制御装置100から中継基板170を介して試射試験装置131へ供給されるようになっている。
また、近接I/F163の出力のうち電波センサ127の検出信号は、第3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
近接I/F163の出力のうち第1始動口スイッチ120と第2始動口スイッチ121の検出信号は、第2入力ポート161の他、反転回路112を介して遊技用マイコン101へ入力されるように構成されている。反転回路112を設けているのは、遊技用マイコン101の信号入力端子が、マイクロスイッチなどからの信号が入力されることを想定し、かつ負論理、即ち、ロウレベル(0V)を有効レベルとして検知するように設計されているためである。なお、遊技用マイコン101の信号入力端子が正論理を有効レベルとして検知できる場合は、反転回路112は不要となる。
さらに、近接I/F163の出力のうちの下カウントスイッチ124からの信号は異常検知信号1として第3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
上カウントスイッチ125からの検出信号は近接I/F165に入力されている。
ここで、前述した近接I/F163と近接I/F165の2つを設けているのは、近接I/F163の入力端子数が限られているためである。近接I/F165は不足する入力端子数に応じて近接I/F163よりも小型のものを用いることで、コストを削減するようにしている。なお、近接I/F163として必要な入力端子数を備えるものを用い、近接I/F165を設けないようにしてもよい。
近接I/F165は上カウントスイッチ125から入力される検出信号を0V−5Vの正論理の信号に変換するインタフェースチップであり、近接I/F163と同様に、入力の範囲が7V−11Vとされることで、近接スイッチ(上記上カウントスイッチ125)のリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常状態を検出でき、このような異常状態を検出すると異常検知信号を出力する構成とされている。また近接I/F165には、前記のような信号レベル変換機能を可能にするため、電源装置500から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されている。
また、近接I/F165の出力のうち上カウントスイッチ125からの信号は異常検知信号2として3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
さらに、上カウントスイッチ125の出力は近接I/F165を介して第2入力ポート161へ供給され、データバス153を介して遊技用マイコン101に読み込まれるとともに、主基板としての遊技制御装置100から中継基板170を介して試射試験装置131へ供給されるようになっている。
上述したように、第3入力ポート162には磁気センサ126からの信号が入力されるとともに、電波センサ127からの信号が近接I/F163を介して入力され、上カウントスイッチ125からの信号が異常検知信号2として近接I/F165を介して入力され、さらに下カウントスイッチ124からの信号が異常検知信号1として近接I/F163を介して入力される。
なお、磁気センサ126について説明すると、図5では磁気センサスイッチ126が1個のように示されているが、これは遊技制御装置100への入力が1本になっているだけで、実際には複数の磁気センサ(本例では4個)が搭載され、中継基板(センサと主基板の間に存在。図示省略)上でワイヤードオア接続されている。
ここで、第3入力ポート162が保持しているデータは、遊技用マイコン101が第3入力ポート162に割り当てられているアドレスをデコードすることによりイネーブル信号CE3をアサート(有効レベルに変化)することよって、読み出すことができる(他のポートも同様)。第1入力ポート160のイネーブル信号はCE1であり、第2入力ポート161のイネーブル信号はCE2である。
一方、第1入力ポート160には、ガラス枠開放検出スイッチ211や前面枠開放検出スイッチ212からの信号、及び払出制御装置200からの信号が入力されている。そしてこれら信号は、第1入力ポート160からデータバス153を介して遊技用マイコン101に供給されている。払出制御装置200からの信号には、払出異常を示すステータス信号、払出し前の遊技球の不足を示すシュート球切れスイッチ信号、オーバーフローを示すオーバーフロースイッチ信号がある。オーバーフロースイッチ信号は、下皿10に遊技球が所定量以上貯留されていること(満杯になったこと)を検出したときに出力される信号である。
また入力部151には、電源装置500からの停電監視信号や初期化スイッチ信号、リセット信号などの信号を遊技用マイコン101等に入力するためのシュミットトリガ回路164が設けられており、シュミットトリガ回路164はこれらの入力信号からノイズを除去する機能を有する。電源装置500からの信号のうち停電監視信号と初期化スイッチ信号は、一旦第1入力ポート160に入力され、データバス153を介して遊技用マイコン101に取り込まれる。つまり、前述の各種スイッチからの信号と同等の信号として扱われる。遊技用マイコン101に設けられている外部からの信号を受ける端子の数には制約があるためである。
一方、シュミットトリガ回路164によりノイズ除去されたリセット信号RSTは、遊技用マイコン101に設けられているリセット端子に直接入力されるとともに、出力部152の各ポート(後述するポート171,175,176,177、180)に供給される。また、リセット信号RSTは出力部152を介さずに直接中継基板170に出力することで、試射試験装置へ出力するために中継基板170のポート(図示省略)に保持される試射試験信号をオフするように構成されている。
また、リセット信号RSTを中継基板170を介して試射試験装置へ出力可能に構成するようにしてもよい。なお、リセット信号RSTは入力部151の各入力ポート160乃至162には供給されない。リセット信号RSTが入る直前に遊技用マイコン101によって出力部152の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号RSTが入る直前に入力部151の各ポートから遊技用マイコン101が読み込んだデータは、遊技用マイコン101のリセットによって廃棄されるためである。
次に、遊技制御装置100の出力部152は、データバス153に接続された出力ポートとして、第1ポート171、第3ポート175、第4ポート176、第5ポート177及び第6ポート180を備える。なお、遊技制御装置100から払出制御装置200へは、上記第1ポート171を介してパラレル通信でデータが送信される。また、遊技制御装置100から演出制御装置200へは、バッファ(シュミットトリガバッファ)173を介してシリアル通信でデータが送信される。
第1ポート171は、払出制御装置200へ出力する4ビットのデータ信号(例えば、賞球払出しのコマンドやデータ)と、このデータ信号の有効/無効を示す制御信号(データストローブ信号)とを生成する。
バッファ173は、演出制御装置300の側から遊技制御装置100へ信号を入力できないようにするため、即ち、片方向通信を担保するために、遊技制御装置100からのデータ信号を演出制御装置300へ出力することのみを許容する単方向のバッファである。なお、第1ポート171から払出制御装置200へ出力する信号に対しても同様のバッファを設けるようにしてもよい。
第3ポート175は、変動入賞装置27の開閉部材27bを開閉させる第1大入賞口ソレノイド133、第2変動入賞装置33の開閉部材33aを開閉させる第2大入賞口ソレノイド134、第2始動入賞口26の開閉部材26aを開閉させるソレノイド(以下、適宜、普電ソレノイドという)132の各開閉データを出力するための出力ポートである。
第4ポート176は、一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
第5ポート177は、一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
第6ポート180は、大当り情報などパチンコ機1に関する情報を外部情報信号(図4に示す外部情報)として外部情報端子板55へ出力するための出力ポートである。なお、外部情報端子板55から出力された情報は、例えば遊技店に設置された情報収集端末や管理装置140に供給される。また、外部情報端子板55にはフォトリレー55aが搭載されており、このフォトリレー55aを介して外部情報、遊技制御装置100の固有ID(主基板固有ID)、払出制御装置200の固有ID(払出固有ID)が外部装置としての管理装置140に伝送される。なお、フォトカプラでは極性があるので、接続に注意する必要があるが、上記のようにフォトリレー55aを用いれば極性が不要となり、便利であるという利点がある。
なお、カードユニット551にて払出固有IDの正当性を判定する場合には、外部情報端子板55を介して払出固有IDをカードユニット551に出力する構成とする。
なお出力部152には、データバス153に接続され図示しない認定機関の試射試験装置へ変動表示ゲームの特図図柄情報を知らせるデータや大当りの確率状態を示す信号などを中継基板170を介して出力するバッファ174が実装可能に構成されている。このバッファ174は遊技店に設置される実機(量産販売品)としてのパチンコ機1の遊技制御装置100(主基板)には実装されない部品である。なお、前記近接I/F163から出力される始動口SWなど加工の必要のないスイッチの検出信号は、バッファ174を通さずに中継基板170を介して試射試験装置へ供給される。
一方、磁気センサ126や電波センサ127のようにそのままでは試射試験装置へ供給できない検出信号は、一旦遊技用マイコン101に取り込まれて他の信号若しくは情報に加工されて、例えば遊技機が遊技制御できない状態であることを示すエラー信号としてデータバス153からバッファ174、中継基板170を介して試射試験装置へ供給される。なお、中継基板170には、上記バッファ174から出力された信号を取り込んで試射試験装置へ供給するポートや、バッファを介さないスイッチの検出信号の信号線を中継して伝達するコネクタなどが設けられている。中継基板170上のポートには、遊技用マイコン101から出力されるチップイネーブル信号CEも供給され、該信号CEにより選択制御されたポートの信号が試射試験装置へ供給されるようになっている。
また出力部152には、複数の駆動回路(第1ドライバ178a〜第4ドライバ178d)が設けられている。第1ドライバ178aは、第3ポート175から出力される第1大入賞口ソレノイド133、第2大入賞口ソレノイド134、普電ソレノイド132の各開閉データ信号を受けて、それぞれのソレノイド駆動信号を生成し出力する。第2ドライバ178bは、第4ポート176から出力される一括表示装置35の電流供給側のセグメント線のオン/オフ駆動信号を出力する。第3ドライバ178cは、第5ポート177から出力される一括表示装置35の電流引き込み側のデジット線のオン/オフ駆動信号を出力する。第4ドライバ178dは、第6ポート180から管理装置等の外部装置へ供給する外部情報信号を外部情報端子板55へ出力するものである。
なお、第1ドライバ178aには、32Vで動作する第1大入賞口ソレノイド133、第2大入賞口ソレノイド134、普電ソレノイド132を駆動できるようにするため、電源電圧としてDC32Vが電源装置500から供給される。
また、前記セグメント線を駆動する第2ドライバ178bには、DC12Vが供給される。また前記デジット線を駆動する第3ドライバ178cは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は12V又は5Vのいずれであってもよい。なお一括表示装置35は、12Vを出力する第2ドライバ178bにより前記セグメント線を介して所定のLEDのアノード端子に電流が流し込まれ、接地電位を出力する第3ドライバ178cにより所定のLEDのカソード端子からセグメント線を介して電流が引き抜かれることで、ダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて所定のLEDが点灯する。また第4ドライバ178dは、外部情報信号に12Vのレベルを与えるため、DC12Vが供給される。
さらに、出力部152には、外部の検査装置180へ各遊技機の識別コードやプログラムなどの情報を送信するためのフォトカプラ179が設けられている。フォトカプラ179は、遊技用マイコン101が検査装置180との間でシリアル通信によってデータの送受信を行なえるように双方通信可能に構成されている。なお、かかるデータの送受信は、通常の汎用マイクロプロセッサと同様に遊技用マイコン101が有するシリアル通信端子を利用して行なわれるため、入力ポート160乃至162のようなポートは設けられていない。
次に、演出制御装置300の構成と、この演出制御装置300に接続される機器について、図6によって詳細に説明する。
本実施例では、演出制御装置300は従制御手段、シナリオデータ設定手段、画面作成手段、演出制御手段、演出ボタン制御手段、演出内容制御手段、キャラクタデータ記憶手段、モーションテーブル記憶手段、シナリオテーブル記憶手段、背景種類選択手段、背景演出手段を構成する。
演出制御装置300は、遊技用マイコン101と同様にアミューズメントチップ(IC)からなる主制御用マイコン(1stCPU)311と、該1stCPU311からのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP(Video Display Processor)312と、各種のメロディや効果音などをスピーカ12a,12bから再生させるため音の出力を制御する音源LSI313とを備えている。
ここで、主制御用マイコン(1stCPU)311の他に、該1stCPU311の制御下でもっぱら映像制御を行う映像制御用マイコン(2ndCPU)を配置し、2つのCPUを備え、VDPは該2ndCPUからのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うという構成も考えられるが、本実施例では、高性能化した1stCPU311のみを備え、配置スペースやコストの点で有利にしている。
なお、主制御用マイコン(1stCPU)と、該1stCPUの制御下でもっぱら映像制御を行う映像制御用マイコン(2ndCPU)の2つを配置する構成を採用してもよい。
上記主制御用マイコン(1stCPU)311には、CPUが実行するプログラムを格納したPROM(プログラマブルリードオンリメモリ)321やRTC(real time clock)325が接続されるとともに、VDP312が接続される。
RTC325は時刻を刻むクロック素子であり、設定により実時刻に合わせることが可能であり、そのクロック信号は主制御用マイコン311に送られる、主制御用マイコン311はRTC325からの信号を用いて、例えば遊技店のイベント告知や特殊演出など時刻に関した演出制御が可能になっている。
一方、VDP312にはキャラクタ画像や映像データが記憶された画像ROM322が接続され、音源LSI313には音声データが記憶された音声ROM323が接続されている。なお、画像ROM322には映像データとして複数の動画(ムービー)が格納されている。
ここで、キャラクタデータは画像ROM322に格納されているが、キャラクタの動きの情報を表すモーションデータやモーションデータの繋がりを定義しているシナリオデータはPROM321に格納されている。
画像ROM322はキャラクタデータ記憶手段に相当し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段に相当する。
主制御用マイコン311は、遊技制御装置100の遊技用マイコン101からの制御コマンド(前記バッファ173から出力されるデータ信号)を解析し、演出内容を決定して表示装置41の出力映像の内容を指示したり、音源LSI313への再生音の指示、前述した装飾装置42、43や演出装置44、45の駆動制御などの処理を実行する。
ここで、本実施例では表示装置41、盤装飾装置42、枠装飾装置43、盤演出装置44、枠演出装置45、スピーカ12a,12b等は演出手段を構成する。
例えば、変動表示ゲームを実行する際には、遊技制御装置100から停止図柄の組み合わせ(結果態様)のデータと、リーチ系統(或いは変動時間)のデータとを含むコマンド(例えば後述する変動パターンコマンド)が、演出制御装置300に送信される構成となっており、これを受けた主制御用マイコン311は、この停止態様と変動時間を満足する変動態様を選択して、VDP312を介して表示装置41に所定の特図を変動表示させて最終的に特定の図柄の組み合わせ(結果態様)を導出表示させる特図変動表示ゲームの制御を行う構成となっている。
なお、演出制御装置300の制御で実際に実施される特図の変動表示等の態様は、遊技制御装置100からのコマンドによって一義的に決定されてもよいが、上記コマンドで与えられた条件の範囲で、演出制御装置300の主制御用マイコン311が乱数抽出などによって態様を最終的に選択する構成(演出制御装置300にも態様を選択する、ある程度の裁量が与えられた構成)となっている。
そのため、本実施例ではrand関数を用いてメイン処理の制御周期毎に最低1回は擬似乱数の更新を行い、所定の条件が成立する度に、乱数シ−ド値が更新され、乱数シ−ド値によって指定される発生系列に基づいて乱数が生成される構成になっている。
ここで、主制御用マイコン311の作業領域を提供するRAM311aは、チップ内部に設けられている。なお、作業領域を提供するRAM311aはチップ外部に設けるようにしてもよい。
また、特に限定されるわけではないが、主制御用マイコン311と音源LSI313との間は、シリアル方式でデータの送受信が行なわれ、主制御用マイコン311とVDP312との間は、パラレル方式でデータの送受信が行なわれるように構成されている。一般には、パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。
VDP312には、画像ROM322から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なVRAM(ビデオRAM)312aや、画像を拡大、縮小処理するためのスケーラ312b、LVDS(小振幅信号伝送)方式で表示装置41へ送信する映像信号を生成する信号変換回路312cなどが設けられている。
VDP312から主制御用マイコン311へは表示装置41の映像とガラス枠5や遊技盤20に設けられているランプ類の点灯を同期させるために垂直同期信号VSYNCが入力される。さらに、VDP312から主制御用マイコン311へは、VRAMへの描画の終了等処理状況を知らせるため割込み信号INT0〜nと、主制御用マイコン311からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号WAITと、が入力される。また、主制御用マイコン311と音源LSI313との間は、ハンドシェイク方式でコマンドやデータの送受信を行うために、呼び掛け(コール)信号CTSと応答(レスポンス)信号RTSが交換される。
また、演出制御装置300には、遊技制御装置100の遊技用マイコン101から送信されてくるコマンド(前記バッファ173から出力されるデータ信号)を受信するインタフェース回路(コマンドI/F)331が設けられている。このコマンドI/F331を介して、上記遊技用マイコン101からの制御コマンド、例えば飾り特図保留数コマンド、特図種別・図柄情報コマンド、変動パターン乱数コマンド、客待ちデモコマンド、変動パターンコマンド、及びファンファーレコマンド等を、主制御用マイコン311が受信する。
なお、遊技制御装置100の遊技用マイコン101から送信されてくるコマンドは、必要に応じて主制御用マイコン311に内蔵されて作業領域を提供するRAM311aに記憶される。
この場合、上記コマンドはRAM311aのコマンド記憶領域のようなエリアに記憶される。詳しくは、遊技制御装置100から演出制御装置300へ送られるコマンドのうち、例えば組となる変動パターンコマンド及び図柄コマンドが順次送信される場合、これらのコマンドはRAM311aの記憶エリアのうち、コマンド記憶領域に順次記憶保持され、組が成立した時点でコマンド記憶領域から読みだされて主制御用マイコン311が演出処理を実行するようになっている。なお、コマンド記憶領域は、第1コマンド記憶領域及び第2コマンド記憶領域に分けた構成でもよい。
今回の実施例1では、停止図柄コマンド→変動パターンコマンドの順で送られてくる構成である。
なお、変動パターンコマンド→図柄停止コマンドの順で送る構成を採用した場合には、例えば先に送られる変動パターンコマンドを受信した時点で、演出制御装置300では主制御用マイコン311のRAM311aの演出に関する記憶領域をデフォルト値(例えば、はずれ図柄での図柄停止状態)に設定する動作を行うようにしてもよい。その場合、上記の「演出に関する記憶領域」はデフォルト値を設定するエリアであり、コマンド記憶領域とは別にする。
また、遊技制御装置100の遊技用マイコン101から送信されてくるコマンドを受信したり、解析するために、主制御用マイコン311に内蔵されて作業領域を提供するRAM311aには、受信コマンドバッファ(以下、適宜、受信バッファと短く表記することがある)及び解析データ格納領域が設けられている。
受信バッファは受信コマンドを順番に格納していくもので、リングバッファ形式のものが使用されている。
ここで、リングバッファとは、一定のメモリ領域をリング状のメモリ領域に見えるように制御される一時的にデータを蓄えるための領域のことであり、このようなリングバッファを使用することで、送信処理と受信処理を別々に行うことが可能となり、また、データの取りこぼし防止と、コマンド受信処理の渋滞回避などのためにも有効である。
一方、解析データ格納領域は受信バッファに格納されているコマンドのうち、所定数のコマンドが複写により格納されるもので、先入れ先出し処理を行うFIFO(First-in-First-out)形式のものが使用されている。
ここで、FIFOとは、データの格納と取り出しに関する方式のひとつで、最初に格納したデータから先に取り出していく方式(つまり、先入れ先出し)のことである。
FIFOを用いれば、高速な通信処理が可能な他、通信とデータの読み出しが非同期に行える利点がある。
上記受信コマンドバッファは、受信バッファ手段に相当し、解析データ格納領域は解析データ格納手段に相当する。
遊技制御装置100の遊技用マイコン101はDC5Vで動作し、演出制御装置300の主制御用マイコン311はDC3.3Vで動作するため、コマンドI/F331には信号のレベル変換の機能が設けられている。
さらに、演出制御装置300には、前述の盤装飾装置42のLEDを駆動制御する盤装飾LED制御回路332、前述の枠装飾装置43のLEDを駆動制御する枠装飾LED制御回路333、前述の盤演出装置44のモータやソレノイドを駆動制御する盤演出モータ/SOL制御回路334、前述の枠演出装置45のモータ(例えば前記ムービングライト14を動作させるモータ等)を駆動制御する枠演出モータ制御回路335が設けられている。これらの制御回路332〜335は、アドレス/データバス340を介して主制御用マイコン(1stCPU)311と接続されている。なお、盤装飾装置42や枠装飾装置43の発光源として、LED以外の発光源が使用されてもよい。
また、演出制御装置300には、ガラス枠5に設けられた演出ボタン9に内蔵されている演出ボタンSW46や上記盤演出装置44、枠演出装置45内のモータの初期位置を検出する演出モータSW47のオン/オフ状態を検出して主制御用マイコン(1stCPU)311へ検出信号を入力するSW入力回路336、ガラス枠5に設けられた上スピーカ12aを駆動するオーディオパワーアンプなどからなるアンプ回路337a、操作パネル6に設けられた下スピーカ12bを駆動するアンプ回路337bが設けられている。
電源装置500の通常電源部501は、上記のような構成を有する演出制御装置300やそれによって制御される電子部品に対して所望のレベルの直流電圧を供給するため、モータやソレノイドを駆動するためのDC32V、液晶パネルからなる表示装置41を駆動するためのDC12V、コマンドI/F331の電源電圧となるDC5Vの他に、前述のLEDやスピーカ12a,12bを駆動するためのDC18Vやこれらの直流電圧の基準としたり、電源モニタランプを点灯させるのに使用するNDC24Vの電圧を生成するように構成されている。さらに、主制御用マイコン(1stCPU)311として、3.3Vあるいは1.2Vのような低電圧で動作するLSIを使用する場合には、DC5Vに基づいてDC3.3VやDC1.2Vを生成するためのDC−DCコンバータが演出制御装置300に設けられる。なお、DC−DCコンバータは通常電源部501に設けるようにしてもよい。
電源装置500の制御信号生成部503により生成されたリセット信号RSTは、主制御用マイコン311、VDP312、音源LSI313、前述の制御回路332〜335、アンプ回路337a、337bに供給され、これらをリセット状態にする。また、この実施例においては、主制御用マイコン311の有する汎用のポートを利用して、VDP312に対するリセット信号を生成して供給する機能を有するように構成されている。これにより、主制御用マイコン311とVDP312の動作の連携性を向上させることができる。
また、本実施例では演出制御装置300に無線モジュール360が設けられており、無線モジュール360はCPU360a、ROM360b、RAM360cにより構成される。なお、無線モジュール360には電源装置500から所定の電源が供給される。
無線モジュール360は主制御用マイコン311に接続され、主制御用マイコン311からの指令に従って自身の遊技機(パチンコ機1)と他の遊技機370との間で無線通信(後述のサブ間通信)を行い、その通信によって互いの遊技機の状態を情報交換したり、画像やキャラクタの伝送や交換などの制御を行い、各遊技機の表示装置に相互に関連性のある画像やキャラクタを同調あるいは同期させながら表示させる。CPU360aは無線通信の制御や画像、キャラクタの伝送などの処理を行い、ROM360bはCPU360aの実行するプログラムを格納しており、RAM360cはワークエリアとして用いられる。
無線モジュール360は通信手段に相当する。
設定スイッチ371は、複数の遊技機間でデータをやり取りするにあたって、送信元や送信先の遊技機を特定できるように、遊技機毎に異なる遊技機番号(例えば、1の遊技島に配置されている遊技機が10台あれば、左から順にNo.1〜10(n台であれば、n)とする))を遊技店の係員によって操作可能なものである。例えば、上述のサブ間通信により、島に配置されている全遊技機に同一の画像やキャラクタを表示させたり、相互に関連性のある画像やキャラクタを同調あるいは同期させながら表示させることが設定スイッチ371の操作により可能となる。また、前述した遊技機番号を用いることで、特定の2台の遊技機間だけで前記演出を行うことも可能である。
遊技機番号は、例えば無線モジュールに設定されている固有IDを基に定義するようにしてもよいが、この場合は無線モジュールの固有IDの値がほぼランダムであることから遊技機の並びを特定するのが困難であり、島の左端の遊技機から順に群予告が流れていくといったような演出を行いたい場合は、各遊技機のロケーション情報を管理するためのマスターとなる遊技機や管理装置を設ける必要が出てしまい、手間がかかる。
そこで、本実施例では単純に島の遊技機を順番に特定可能な設定スイッチ371による手動設定によって、演出台を特定して演出を行えるようにしたので、誰でも簡単に操作できる上、前記演出も楽に制御できるようになっている。
また、設定スイッチ371の用途として、ロケーション情報設定用ではなく、無線モジュール360の制御内容を複数段階にモード設定し、遊技店の営業形態等に合わせて切り替えて選択するためのものとしてもよい。
なお本例の場合、上記演出制御装置300を構成する回路基板が、サブ制御基板に相当する。そして、以上説明したように、表示装置41を制御する演出制御装置300(サブ制御基板)がスピーカやランプ類や装飾用の可動部などを制御しており、遊技制御装置100を構成する後述の主基板は、サブ制御基板へ制御コマンドを送ることで前記可動部などを間接的に制御している。このため、主基板の配線パターンなどのハード構成は機種が異なっても基本的に同じであり、遊技機用マイコン101に機種毎の遊技プログラムをインストールすることによって、技術的には主基板を機種やブランドが異なっても共用できる。
次に、VDP(Video Display Processor)312の構成について、図7によって詳細に説明する。
VDP312は、CPUI/F601、データ転送回路602、CGバスI/F603、圧縮データ伸長回路604、描画回路605、第1VRAM606、第2VRAM607及び表示回路608を備えており、データ転送のためにバス609〜611を介して必要な回路同士が接続されている。
VDP312は、CPUI/F601を介して演出制御装置300の主制御用マイコン311に接続されるとともに、CGバスI/F603を介して画像ROM322に接続される。そして、VDP312では、基本的に演出制御装置300の主制御用マイコン311からの指示で、表示装置41に表示する1フレーム毎の画像データを作成し、表示回路608を介して表示装置41に出力する。なお、第1VRAM606は主にフレームバッファ用のRAMとして、具体的には例えばフレームバッファ、Zバッファ用(3次元の場合、Z軸方向の量)のRAMとして用いられる。一方、第2VRAM607は主に素材用のデータを格納する描画素材用のRAMとして用いられる。
画像ROM322のデータは、CGバスI/F603を介して第2VRAM607に格納される。なお、圧縮されているデータは、圧縮データ伸長回路604で伸長されて、第2VRAM607に格納され、また、必要に応じて第1VRAM606にも格納される。
描画回路605は、主に第2VRAM607に格納されている描画用素材を加工して(例えば、各種エフェクト、拡大、縮小などの加工)、また、表示する位置や順序(例えば、画面の奥から手前への表示順序など)を制御し、1フレームの画像データを作成して第1VRAM606に格納する。
表示回路608は、スケーラ608aとLVDSI/F608bを有している。
そして、表示回路608は、第1VRAM606に格納された1フレームの画像データをインターレスモードやノンインターレスモードの設定タイミングで、LVDS仕様の信号レベルにしてRGBデータを表示装置41へ出力する。なお、スケーラ608aにより画像データの表示領域を拡大して(例えばVGA→XGAにして)表示することも可能である。例えば、VGAであれば、画像サイズは640×480となり、XGAであれば画像サイズは1024×768の大きさとなる。
データ転送回路602は、主制御用マイコン311と第1VRAM606との間、主制御用マイコン311から描画回路605への間、CGバスI/F603と第1VRAM606との間等のデータ転送機能を有する。
E.遊技の概要
次に、本例のパチンコ機1で行われる遊技の概要や遊技の流れについて説明する。
まず、遊技開始当初の時点(或いは遊技開始前の時点)では、客待ち状態(デモ中)となっており、客待ち画面の表示を指令するコマンドが遊技制御装置100のバッファ(例えば、同様の機能の図5ではバッファ173に相当)から演出制御装置300に送信され、表示装置の表示部41aには客待ち画面(動画又は静止画)が表示される。
そして、ガイドレール21を介して遊技領域22に打込まれた遊技球が、特図の始動入賞口25又は26に入賞すると(即ち、特図の始動入賞があると)、特図の変動表示を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aにおいて特図(数字、文字、記号、模様等よりなるもの)が変動(例えば、スクロール)する表示(いわゆる変動表示)が行われて、特図の変動表示ゲーム(以下、特図変動表示ゲームという)が行われる。
そして、この変動表示ゲームの停止結果態様(変動表示により導出された特図の組合せ)が特別結果態様(例えば、「3、3、3」などのゾロ目)であれば、大当りと呼ばれる特典が遊技者に付与される。なお制御上は、例えば始動入賞があったことを条件として、大当り乱数等の値が抽出記憶されて、この抽出記憶された乱数値と予め設定された判定値とが判定時に比較判定され、この比較判定結果に基づいて、予め大当りとするか否かが決定され、この決定に応じて上記変動表示ゲームが開始される。
また、通常モードにおいて、変動表示ゲームの停止結果態様が特別結果態様のうちの特定の態様(例えば、「7、7、7」のゾロ目)であれば、上記大当りになるとともに、大当り遊技後(後述する特賞期間後)に、ゲーム状態が通常モードから確変モードへ移行する。この確変モードでは、特図が大当りになる確率(以下、特図の大当り確率という)を高める制御が行われる。また場合によっては、いわゆる時短(特図等の変動表示時間を短くして変動表示ゲームの頻度を高め当り易くするもの)も行われる。
上記大当りになって大当り状態に移行すると、ファンファーレ期間(大当りになったことを演出する効果音の出力などが実行される期間)を経て、変動入賞装置27の第1大入賞口が、規定時間(例えば、30秒)を越えない範囲内において、例えば10個入賞までの期間だけ一時的に開放される開放動作(大当たりラウンド)が行われる。そしてこの開放動作は、規定のラウンド数だけ繰り返し行われる。また、この大当り状態では、大当り状態を演出したり、大当りラウンド数などを遊技者に報知するための大当り画面の表示を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aでは、このような大当り中の表示が実行される。
なお、この大当り状態になっている期間(ファンファーレ期間と、大入賞口が開放されている大当りラウンドの期間と、大当りラウンドと次の大当りラウンドの間のインターバル期間と、エンディング期間)が、特賞期間に相当する。
また上記大当りのラウンド数としては、例えば、通常は15ラウンド大当りが主の大当りであるが、プレミアとして16R大当りを発生させる構成でもよいし、その他の構成でもよい。また、いわゆる突確(出玉の少ない大当りを経由して大当り確率が変化する突然確変)として2ラウンド大当り等があってもよい。
さらに、表示装置41による変動表示ゲームの停止結果態様が特殊な態様(例えば、「3、特殊図柄、3」などの特殊目)になると、特殊大当りと呼ばれる特典が発生し、第2変動入賞装置33の開閉部材33aが規定時間(例えば、30秒)を越えない範囲内において、例えば5個入賞までの期間だけ一時的に開放される開放動作(大当たりラウンド)が行われる。そしてこの開放動作は、規定のラウンド数だけ繰り返し行われる。
一方、上記特図の変動表示ゲーム中又は大当り中に、始動入賞口25又は26にさらに遊技球が入賞したときには、表示部41a等で特図の始動記憶の保留表示が行われて例えば4個まで記憶され、変動表示ゲーム又は大当り状態が終了した後に、その始動記憶に基づいて上記特図の変動表示ゲームが繰り返されたり、客待ち状態に戻ったりする。
即ち、変動表示ゲームが大当りで終了すれば大当り状態に移行し、変動表示ゲームがはずれで終了し始動記憶があれば再度変動表示ゲームが実行され、変動表示ゲームがはずれで終了し始動記憶がなければ客待ち状態に戻り、大当りが終了して始動記憶があれば再度変動表示ゲームが実行され、大当りが終了して始動記憶がなければ客待ち状態に戻る流れとなっている。
なお本形態例では、例えば特図の始動記憶(特図始動記憶)の表示を2種類(特図1保留表示と特図2保留表示)行うようにし、特図変動表示ゲームとして、2種類の変動表示ゲーム(第1変動表示ゲームと第2変動表示ゲーム)を実行する。即ち、遊技球が第1始動入賞口25に入ることによる特図始動入賞(第1始動入賞)が発生すると、表示装置41にて特図1の変動表示による第1変動表示ゲームが行われる。そして、何れかの特図変動表示ゲーム中などに遊技球が第1始動入賞口25に入賞すると、第1始動記憶(特図1保留表示に対応する始動記憶)が1個記憶され、これに対して、上記特図変動表示ゲーム終了後などに、表示装置41にて特図1の変動表示による第1変動表示ゲームが行われる。
また、遊技球が第2始動入賞口26に入ることによる特図始動入賞(第2始動入賞)があると、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる。そして、何れかの特図変動表示ゲーム中などに遊技球が第2始動入賞口26に入賞すると、第2始動記憶(特図2保留表示に対応する始動記憶)が1個記憶され、これに対して、上記特図変動表示ゲーム終了後などに、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる構成となっている。
なお、第1始動記憶と第2始動記憶の両方があるときには、予め設定されたルールに従って第1変動表示ゲームと第2変動表示ゲームのうちの何れかが先に実行される。例えば、第2始動入賞口26に対応する第2変動表示ゲームが優先的に行われる態様(即ち、第2始動記憶が優先的に消化される態様)、或いは2種類の変動表示ゲームが入賞順に行われる態様などが有り得る。
一方、遊技中に、遊技球が普図始動ゲート32を通過したときは、表示部41a等で普図の変動表示による普図の変動表示ゲーム(以下、普図変動表示ゲームという)が行われる。そして、この普図変動表示ゲーム結果(停止した普図)が所定の態様(特定表示態様)であれば、普図当りと呼ばれる特典が付与される。
この普図当りになると、第2始動入賞口26の一対の開閉部材26aが逆ハの字に開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われる。これにより、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、一括表示装置35によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。
次に、固有IDの外部出力について概略説明すると、パチンコ機1の電源投入時やシステムリセット時には、遊技用マイコン101に格納(例えば、HWパラメータROMに格納)されている固有ID(以下、適宜、主固有IDという)が読み出されて、遊技プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、遊技用マイコン101に格納されている固有IDを遊技店側に送ることが可能になる。
また、固有IDは外部からの要求に応答して外部(ここでは図4の検査装置接続端子102)へと転送される。そして、例えば検査装置接続端子102に検査装置を接続することにより、遊技用マイコン101に格納されている固有IDが検査機関にて読み出されることになる。
一方、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)は、払出制御装置200にて払出プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、払出用マイコン201に格納されている払出固有IDを遊技店側に送ることが可能になる。
なお、本実施例では、主基板と払出基板の各固有IDが別々に外部情報端子板55で中継されて外部の管理装置140へ伝送される構成にしているが、これに限るものではない。例えば、遊技制御装置100(主基板)から主固有IDを払出制御装置200(払出基板)へ送り、払出制御装置200では主固有IDと払出固有IDとをまとめて外部情報端子板55で中継して外部の管理装置140へ伝送する構成であってもよい。また、例えば払出制御装置200(払出基板)から払出固有IDを遊技制御装置100(主基板)へ送り、遊技制御装置100では払出固有IDと主固有IDをまとめて外部情報端子板55で中継して外部の管理装置140へ伝送する構成であってもよい。
このようにすると、遊技機の回路構成に対応させて、主基板と払出基板の各固有IDの外部への取り出しの自由度が増す。
次に、遊技制御装置100から演出制御装置300へ送信されるコマンドについて概略説明すると、変動表示ゲームを実行する際には、遊技制御装置100から停止図柄の組み合わせ(結果態様)のデータと、リーチ系統(或いは変動時間)のデータとを含むコマンド(例えば後述する変動パターンコマンド)が演出制御装置300に送信され、演出制御装置300では、この停止態様と変動時間を満足する変動態様を選択して、表示装置41に所定の特図を変動表示させて最終的に特定の図柄の組み合わせ(結果態様)を導出表示させる特図変動表示ゲームの制御が行われる。
この場合、遊技制御装置100から演出制御装置300へ送信されるコマンドのうち、単独では演出を開始せず、組で効果を発揮するものがあり、例えば特図変動開始時の「変動パターンコマンド+図柄指定コマンド」がある。また、単独で効果を発揮するコマンド(例えば、客待ちコマンド)もあり、遊技制御装置100から演出のために多くのコマンドが順次、演出制御装置300に送信される。
サブ間通信の同一グループ内の1つの遊技機(予告実行遊技機)から他の遊技機にサブ間予告コマンドとしてサブ間連動予告系コマンドを一斉送信すると、サブ間連動予告系コマンドが、例えば予告態様Aの実行を指示する内容である場合、他の遊技機では、各台に設定されている予告態様Aの実行確率に基づいてサブ間予告の実行の有無を過去の予告態様Aに対する実行確率に基づき乱数を用いた抽選を行って決定する。そして、実行を決定した場合、他の遊技機の演出最中に、予告態様A(例えば、虎のキャラクター)を挿入し、重ねて表示することにより、遊技機(予告実行遊技機)の演出と同期を取ることが行われる。
また、サブ間通信の同一グループ内の遊技機(予告実行遊技機)から指示されたサブ間連動予告系コマンドに基づく演出を実行した遊技機にあっては、予告態様Aの次回の実行回数を+1だけ更新し、次回のサブ間連動予告系コマンドに備える。
この場合、サブ間連動予告系コマンドを受けた他の遊技機では、各台に設定されている過去の予告態様Aに対する実行確率に基づき乱数を用いた抽選によってサブ間予告の実行の有無を決定しているので、他台からの指示によってサブ間予告の演出をいくらでも出現させるということが抑制され、適宜な頻度で、サブ間予告の演出を出現させるようにすることができる。
すなわち、過去に実行したサブ間予告の演出の実行回数に応じて、サブ間予告の演出の実行回数を適度に制限することができる。
したがって、予告演出等の信頼度を損ねないようにすることができ、遊技の興趣を下げる虞もなくすことができる。
また、本実施例では、表示装置41に表示する画面の描画制御において、シナリオデータ(シナリオレイヤ−)という概念が使用される。シナリオとは、例えば背景シナリオ、左図柄シナリオ、右図柄シナリオ、・・・等のように、図柄の変動演出を複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定し(詳細は後述)、それらを個別にシナリオとして制御し、全てのシナリオを合成することで、1画面の絵を生成する手法である。
具体的には、表示装置41における図柄の変動演出では、例えば変動出だしの動き、スローダウンして仮停止するまでの動き(送りコマ数やスベリなど)、予告演出の種類など、変動毎に行われる演出振り分けによって多様な組合せとなるため、全ての組合せに対して1つ1つの画面毎にシナリオデータを作成すると膨大なデータ量となってしまう。
そこで本実施例では、演出制御装置300において変動演出における描画制御では、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルとして設定して、例えば(PROM(制御ROM)321に予め格納しておく。次いで、遊技制御装置100からの演出コマンドに応じて演出制御装置300ではシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。そうすることで、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができる。
さらに本実施例では、シナリオテ−ブル中のボタン演出開始設定のデータには、遊技者が操作する押ボタン式の演出ボタン9(以下、適宜、PBと略称することがある)の有効時間が設定されている。
すなわち、演出ボタン9の演出を含むシナリオテ−ブル内にはボタン有効期間中を表す有効期間タイマ(1フレームが経過する毎に更新(つまり、(−1)更新)されていく更新処理がタイマに相当)を設け、演出ボタン9が押されたタイミングにより、有効期間タイマの更新状況に基づいて以降に行われるシナリオの演出時間が可変となるようにしている。
そのため、表示装置41における演出画面のフレームが進む度に有効期間タイマの値がマイナスされ、有効期間タイマが「0」になると、演出ボタン9の操作が無効となり、演出ボタン9が押された時の演出は行われない。一方、有効期間タイマが「0」になる前に演出ボタン9が押された場合には、押された時の演出が開始される。
このように、演出ボタン9を押したタイミングにより、登場するキャラクタの表示時間が可変となるため、遊技の興趣が高められる。
すなわち、早く演出ボタン9を押すと残り時間(つまり残りフレームに相当する時間:αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、予告演出の終了ギリギリで演出ボタン9を押すと、最低限である固定時間(例えば、55フレーム)分の予告演出が行われることになる。
したがって、演出ボタン9を早いタイミングで押す程、長い予告演出が見られることになり、早く演出ボタン9を押すメリットが生じ、遊技の興趣が高まる。
また、本実施例では、シナリオテ−ブル内には現在の演出状態を継続するか否かを判定する判定コードを設け、演出制御装置300におけるRAM311a内のモーション情報とシナリオテ−ブル上のモーション情報とが異なる場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じ場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御することが行われる。
例えば、演出画面の背景を継続表示するか新規背景で演出を行うか否かを判定コードに基づいて判定し、新規背景にすると判定した場合には、現在のRAM311aのデータをシナリオテ−ブル上の新規背景に対応するデータで上書きする。これにより、背景が切換えられて、新規背景で演出が行われる。一方、背景継続と判定した場合には、シナリオテ−ブルから取得した指示データは破棄して現在の背景のままで演出が進行する。
このようにすることで、前回の演出における背景の状態が次回の演出にも継続できることになり、例えば異なる特図変動の演出間においても統一感を有する表示要素を持たせることが可能になって、遊技の興趣が向上する。
例えば、予告キャラクタを複数の異なる特図変動の演出間にまたがって表示装置41の画面上に残す等の多彩な演出を行うことができる。
また、演出内容を継続する場合としない場合とでシナリオテ−ブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテ−ブルで遊技の状況に合わせた演出が行える。
次に、表示装置41での演出を行う場合、前述したようにシナリオテ−ブルを用いているが、このシナリオテ−ブルでは特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されている。
そして、上記のモーションテーブルには、ブロック化された各演出(主に演出表示)のモーションのデータ(すなわち、表示する画像データやその表示位置等を指定するデータ)があり、モーションはブロック化された演出動作を意味している。
ここで、本実施例ではモーションデータとして、動き(キャラクタの描画位置)が同じであれば、表示されるキャラクタが違っていても基本的に1通りしか設けないようにしている。したがって、モーションデータを生成するためのアニメーションは、基本となるキャラクタを決めてからの作成となる。
すなわち、本実施例ではモーションテーブルに定義するキャラクタに条件を付け、基本(代表)となるキャラクタを決めて1本のアニメーションを作成するような制御が行われる。
例えば、変動のアニメーションを作る場合、図柄のキャラクタを登場させる必要があるが、表示装置41の画面上に映し出される図柄には無数の組合せ(状態)があり、それらを全て反映したアニメーションを作成するのには無理がある。そのため、基本(代表)となるキャラクタを決めて1本のアニメーションを作成し(キャラクタが同じ動きをするものでキャラクタが違うだけのグループで1本)、制御プログラムによってキャラクタの差し替え処理を行うことで、如何なる表示態様にも対応出来るようにしてデータ容量を節約する制御が行われる。
具体的には、基本となるキャラクタは、差し替え対象となるグループの中で大当り信頼度が最も低いものに設定される。例えば、プッシュボタン予告(PB予告)の演出で表示される演出ボタン9の操作に関するキャラクタにおいて、白、青、黄、緑、赤、レインボーの種類がある場合、プッシュボタン予告のモーションデータ中に定義するボタンキャラクタは一番大当り信頼度の低い「白」を使用することが行われる。ただし、はずれ時と大当り時で共通に出現することが前提となっている。
このように、大当り信頼度の最も低いキャラクタを基本キャラクタとしてモーションテーブルに登録しておき、演出の進行でキャラクタの変更(ただし、例えばプッシュボタンのキャラクタというように、同種のキャラクタの範囲内での変更)を行いたい場合には、制御プログラムで基本キャラクタを別のものに差し替えるビヘイビア(オブジェクト(表示要素)の画像データ(キャラクタデータ)を差し替える機能)処理を行うことで、如何なる表示態様にも対応できるようになり、はずれ時も大当り時も共通に使えるデータとなって、データ容量を低減でき、開発効率も向上する。
次に、本実施例では大当り演出終了時よりも前に背景画面を選択し、大当りのエンディング期間が終わりきる前に選択した背景画面を用いた図柄停止画面を表示するような制御が行われる。
具体的には、大当り演出後は、表示装置41の特図(飾り特図(飾り図柄)のこと、以下同様)が変動するための通常画面に戻り、そこでは図柄変動に調和する背景画面(例えば、背景ムービー)が表示される。この場合、その時の遊技状態(例えば、確率変動、時短、通常確率等)によって背景画面の種類や特図の形状が異なる可能性が高い。
演出制御装置300は遊技制御装置100からの確率情報コマンドに基づいて遊技状態を判断することになるが、遊技制御装置100側で確率等の状態を変化させて良いのは大当り動作が終了した時であるから、確率情報コマンドが送信できるのは大当りが終わった後の特図変動を開始する直前となってしまう。
ところで、確率情報コマンド受信によって背景画面の種類を変化させたのでは、大当りのエンディング画面用の背景画面から急に特図変動時用の背景画面に切り替わることになり、せわしない演出となってしまう可能性が高い。
そこで本実施例では、大当りのエンディング動作の終了前の規定時間(例えば、1〜2秒程度)の間に、いわゆる停止図柄表示の画面を表示する時間(所定の図柄表示期間)を設け、その時の背景画面は大当り後の通常遊技での特図変動時の背景画面としておくことで、大当りのエンディング期間から通常遊技状態の特図変動ゲームへスムーズな移行を行えるようにしている。
なお、演出制御装置300では確率情報コマンドを受信する前から、受信した後に表示すべき状態にするため、大当り終了後の遊技状態の予測が必要になる。
そのため、例えば大当り中に受信した図柄コマンド、ファンファーレコマンド、エンディングコマンドの他、演出制御装置300の内部情報(例えば、次回に潜伏確率変動にするような情報)等の内容から判断することで、大当り後に移行するであろう遊技状態を予測するようにしている。
そして、上記のような各種情報を基にして大当り終了後における通常遊技での背景種類を予測して複数の背景種類のうちから1種類の背景画面を選択し、選択した背景画面を確率情報コマンドの受信前から表示装置41に表示させる制御が行われる。
このように、既に受信している遊技制御装置100からの情報(エンディングコマンド等)や演出制御装置300の内部情報から大当り後における通常遊技での背景種類を予測し、大当りのエンディング動作が終わりきる前に、当該背景種類を用いた図柄停止画面を表示する間を作ることで、演出画面の急な切り替わりを防ぎ、演出効果を向上させることができる。
また、演出制御装置300の内部情報による予測を含めて予め対応しておくので、確率情報コマンドを受信しなかった場合の対処をせずとも、正常な表示を行える可能性が高くなり、効率良く開発・制御を行うことができる。
次に、本実施例ではモーションテ−ブルに同一カテゴリのオブジェクト(例えば、キャラクタ)を複数定義して演出の制御が行われる。
すなわち、モーションテ−ブルには各表示要素(例えば、背景、左図柄、右図柄、・・・)毎にモーションデータ(表示する画像データやその表示位置等を指定するデータ)が登録されるが、それらのデータは同一カテゴリとして定義するオブジェクト群にまとめて登録される。
例えば、左図柄カテゴリとして定義するオブジェクト群については、現図柄だけでなく、前図柄、次図柄等についても、図柄キャラクタとして1つのモーションテ−ブル内に定義する。そして、これらの各オブジェクト(現図柄、前図柄、次図柄等のキャラクタ)については、キャラクタNo、座標、サイズ、ビヘイビア等がモーションテ−ブル上に定義される。
したがって、例えば左図柄カテゴリであれば、表示装置41の正面に見えている図柄(現図柄)だけでなく、当該図柄の上下に配置する次図柄、前図柄等も同一のモーションテ−ブルに定義されることになる。
このようなモーションテ−ブルを使用して演出の制御を行う場合、同一カテゴリのキャラクタについては1つのモーションテ−ブルにオブジェクト群としてまとめて登録されているので、似たような動作となる同一カテゴリのキャラクをまとめて制御することができる。したがって、モーションを管理するシナリオテ−ブルを作成するときも扱いやすく、データ量の削減もでき、開発効率も向上する。
例えば、図柄の制御を行う場合、現図柄、次図柄、前図柄などを表示装置41の画面に表示する際、現図柄を基準として次図柄、前図柄の差し替え演算(現図柄を基準にすれば、他の図柄は相対的に差し替えで計算可能)を行うことになるが、同一カテゴリのキャラクタ(ここでは図柄キャラクタ)については1つのモーションテ−ブル内に定義されていれば、演算のパラメータの使い回しなどもできて、効率良く制御を行うことができる。
次に、本実施例では1画像動画キャラクタを用いて、静止画表示に見えるキャラクタを描画する制御が行われる。
すなわち、本実施例では画像ROM322に対して、通常の動画表示のキャラクタは動画キャラクタを用いて記憶し、1つの静止画を繰り返して表示することで静止画表示に見えるキャラクタ(見た目が静止画に見えるキャラクタ)は1画像のみで構成された静止画を繰り返して表示する形式の1画像動画キャラクタを用いて記憶しており、これらのキャラクタを表示装置41に表示する際には共通のモーションテ−ブルを使用して描画の制御が行われる。
すなわち、遊技者が見る表示装置41の画面上で、見た目が静止画に見えるキャラクタであっても、演出制御装置300の内部制御においては静止画を繰り返して表示する形式の1画像のみで構成された1画像動画キャラクタを画像ROM322に記憶し、当該1画像動画キャラクタは、1画像のみで構成された同じ静止画を繰り返して表示する形式のデータによって作成している。
また、画像のモーションを定義するモーションテ−ブルには、通常動画のキャラクタと静止画表示に見える1画像動画キャラクタとを同じテ−ブル内に定義することで、モーションテ−ブルを共通にしている。
そして、動画表示に見える通常動画のキャラクタと静止画表示に見える1画像動画キャラクタを表示装置41に表示する際に共通のモーションテ−ブルを使用して描画の制御が行われ、特に、静止画表示に見える1画像動画キャラクタについては1画像のみで構成された同じ静止画を繰り返して表示する形式のデータを用いて描画することが行われる。
この場合、見た目が静止画に見える1画像動画キャラクタは同じ画像(つまり、同じ静止画)で構成されたムービー(ここでは、静止画ムービーと呼ぶ)で作成されているので、動画として再生されても、見た目の画像が変化せず、静止画キャラクタと同様の表示となる。
したがって、見た目が静止画に見える1画像動画キャラクタについては演出制御装置300の内部の画像ROM322では動画のデータ形式で記憶し、動画で扱うようにしてモーションテーブルを共通で使えるようにしたので、モーションテーブルの数を増やさなくてすみ(データ容量削減)、制御ROM321の圧迫を防ぐこと(即ち、容量低減等)が可能であるとともに、データ項目数削減による制御のし易さを図ることができ、さらに、管理のし易さが見込めるようになり、開発効率も向上する。
また、静止画専用のモーションデータの場合には、静止画ムービーを動画再生させずに使用(例えば、1画像動画キャラクタの1枚目の画像だけを表示する使用)すれば、単なる静止画となり、静止画単体のキャラクタデータを用意せずにすむので、データ量の節約にも繋がる。
次に、本実施例ではPB予告の演出に関するシナリオテ−ブル内に音出力に関する処理のコードを持たせて演出の制御が行われる。
すなわち、遊技の進行中に、表示装置41の画面にPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押すと、ボタン押下音が出力されるとともに例えば武将が登場し、セリフを語るような予告演出が行われる。この演出は、キャラクタ等の映像の管理を行うシナリオテ−ブルによって制御されている。
この場合、PB予告の演出に関するシナリオテ−ブルの中には、演出ボタン9が押されないまま有効時間が終了してしまった場合のシナリオデータと、演出ボタン9を押したことにより演出が進行する場合のシナリオデータがある。
演出ボタン9を押したことにより演出が進行するシナリオデータ部には、演出ボタン9の押下時に音を鳴らすためのボタン押下音の出力設定を行う処理コードが設けられている。
そのため、ボタン押下音の出力設定を行う処理コードによって実行される演出処理では、ボタン押下音を鳴らす/鳴らさないの確認が不要となり(ただし、ボタン押下音を鳴らしていい状況下であるかの判断は必要:これは、シナリオテ−ブル内にPB待ちコードのデータが設定されているので、演出ボタン9が押されたことの判断は可能)、映像と音の制御内容が同一のシナリオテーブル内にあることになるので、映像と音の演出の同期を管理しやすく、開発効率も向上する。
また本実施例は、他にも、演出制御装置の制御において例えば以下のような特徴を有するが、これらの詳細は後述する。
・モーションデータ(モーションテーブルのデータ)を演出の区間毎に設けてブロック化し、シナリオテーブルにおいて、実施する演出内容に従ってパーツとなるモーションテーブルを選択的に組み合わせて使用するという特徴。
・第4図柄(変動状態報知図柄)の変動に関しては、前回の停止図柄によらず決められた変動サイクルの最初から行うという特徴。
・第4図柄のモーションテーブルは、他の特図(演出用の飾り図柄)の場合とは異なり、変動中は切り替えない(即ち、変動開始時に設定したものから変更しない)という特徴。
・1つのモーションテーブルで複数種類の第4図柄(特図1の第4図柄と特図2の第4図柄)の表示制御を行うという特徴。
・フェード演出を行う際、第4図柄より奥側にフェード用キャラクタを配置するという特徴。
・同一サイズで変動を行う装飾図柄の制御の場合、ブロック化された各種のモーションテーブルの最初のフレームが、一定の座標位置(この場合、図柄停止時における表示位置)からスタートするという特徴。
・同一サイズで変動を行う装飾図柄の制御の場合、ブロック化された各種のモーションテーブルの最初のフレームが、一定の座標位置からスタートするように構成しており、さらに最終フレームの座標データは前記一定の座標位置とは異なる位置に設定しているという特徴。
・同一キャラクタの表示を継続する場合であっても、演出の変化点においてキャラクタ情報を一旦削除して再登録するという特徴。
・演出のシナリオ進行における単純ウェイト(定数ウェイト、可変ウェイト)とボタン待ちウェイトの場合で、書き込むRAM領域を別にしているという特徴。
F.制御系の動作
次に、遊技制御装置100の制御内容について図8〜図96により説明する。
最初に、以下のフローチャートの説明に使用する主要な構成の概念を明確にしておくと、下記の通りである。
前述したように、一括表示装置35で本特図や本普図を表示している。以下の制御処理の説明における特図は、この特図(本特図)を意味するので、以上を前提に細かく説明する。なお、遊技制御装置100からのコマンドに基づいて演出制御装置300が制御する特図は表示装置41の方に表示される演出用の特図である。
(イ)特図の表示装置
以下のフローチャートで特図という場合には、一括表示装置35で表示される「本特図」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図」という。
このように特図を表示する装置は一括表示装置35であるが、一括表示装置35における本特図を表示する領域の名称としては、例えば特別図柄表示装置、特図表示装置というものがあり、普図表示装置との区別を図るため、特別図柄表示装置ということがある。
(ロ)普図の表示装置
以下のフローチャートで普図という場合には、一括表示装置35で表示される「本普図」の方を指している。また、表示装置41で普図を表示する構成を採用した場合には、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は、例えば「飾り普図」という。
このように普図を表示する装置は一括表示装置35であるが、一括表示装置35における本普図を表示する領域の名称としては、例えば普通図柄表示装置、普図表示装置というものがあり、特図表示装置との区別を図るため、普通図柄表示装置ということがある。
ただし、本実施例では、このような普図の表示を表示装置41では表示していない構成になっている。なお、普図(ここでは飾り普図)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図」を表示する装置を含めて説明することもある。
(ハ)普電
普電に相当する装置は、普通電動役物(普電)としての第2始動入賞口26である。
ただし、普電を普通変動入賞装置ということがあり、例えばフローチャートの説明では、特に普通電動役物(普通変動入賞装置26)ということがある。
また、例えば高確率時や時短時などに、普通電動役物(普電)としての第2始動入賞口26の開閉部材26aが開放する動作によって始動入賞をサポートすることが行われるが、これを単に普電サポートということがある。
(ニ)特図記憶
以下のフローチャートで特図保留(単に「保留」という場合もある)、特図記憶、あるいは特図の始動記憶という場合には、一括表示装置35で表示される「本特図記憶」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図保留」、あるいは「飾り特図記憶」という。
特図の始動入賞口として機能する入賞口は、始動入賞口25,26である。
(ホ)普図記憶
以下のフローチャートで普図保留、普図記憶、あるいは普図の始動記憶という場合には、一括表示装置35で表示される「本普図記憶」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り普図保留」、あるいは「飾り普図記憶」という。
ただし、本実施例では、このような普図の始動記憶表示を表示装置41では表示していない構成になっている。なお、普図の始動記憶(ここでは飾り普図記憶)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図記憶」を表示する装置を含めて説明することもある。
(ヘ)変動入賞装置
変動入賞装置27は、開閉部材27bによって開閉される大入賞口27aを有する装置(いわゆるアタッカー)である。この変動入賞装置27は、普通変動入賞装置と区別するために特別変動入賞装置ということもある。
なお、本実施例では変動入賞装置27の他に、第2変動入賞装置33が設けられており、いわゆる2つのアタッカーが配置された構成になっている。
〔遊技制御装置のメイン処理〕
まず、図8、9により、遊技制御装置100(遊技用マイコン101)のメイン処理を説明する。
このメイン処理は、遊技用マイコン101に強制的にリセットがかけられたことに基づいて開始する。すなわち、電源装置500の図示省略した電源スイッチがオン操作されると、所定のタイミングに(電源投入時の所定のリセット期間に)電源装置500の制御信号生成部503からリセット信号が遊技制御装置100に入力されて遊技用マイコン101のリセット端子がオンし、その後このリセット信号が解除されると、遊技用マイコン101が起動する。なお、停電からの電源復旧時にも、同様にリセット信号がオンした後に解除されて遊技用マイコン101が起動する。また、作業者が遊技制御装置100のユーザワークRAM等の初期化をしようとする場合には、電源装置500のRAMクリアスイッチ504(初期化スイッチ)をオン操作しながら前記電源スイッチをオン操作する必要がある。
そして遊技用マイコン101が起動すると、まず割込みを禁止する処理(ステップS1)を行い、次いで、割込みが発生したときに実行するジャンプ先のベクタアドレスを設定する割込みベクタ設定処理(ステップS2)、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理(ステップS3)を順次行う。
次いで、入力ポート1(第1入力ポート160)の状態を読み込み(ステップS4)、割込み処理のモードを設定する割込みモード設定処理(ステップS5)を行う。
次いで、ステップS6で電源ディレイタイマを設定する処理を行う。この処理では、所定の初期値を設定することにより、主制御手段をなす遊技制御装置100からの指示に従い種々の制御を行う従制御手段(例えば、払出制御装置200や演出制御装置300)のプログラムが正常に起動するのを待つための待機時間(例えば、3秒)が設定される。これは、遊技制御装置100が電源投入時において、主制御手段(遊技制御装置100)の起動を遅らせて従制御装置(払出制御装置200、演出制御装置300等)の起動を待つための所定の待機時間を設定する待機手段をなす。これにより、電源投入の際に仮に遊技制御装置100が先に立ち上がって従制御装置(例えば、払出制御装置200や演出制御装置300)が立ち上がる前にコマンドを従制御装置へ送ってしまい、従制御装置がコマンドを取りこぼすのを回避することができる。
ここで、このディレイタイマには払出基板(払出制御装置200)の起動待ちを含む。すなわち、払出基板(払出制御装置200)のプログラムが正常に起動するのを待つために所定のディレイ時間(例えば4msec)だけ処理の進行を停止することも含まれる。
なお、第1入力ポート160にはRAMクリアスイッチ504からの初期化スイッチ信号が入力されるようになっており、待機時間の開始前に第1入力ポート160の状態を読み込むことで、初期化スイッチ(RAMクリアスイッチ504。以下、同様)の操作を確実に検出できる。すなわち、待機時間の経過後に初期化スイッチの状態を読み込むするようにすると、待機時間の経過を待ってから初期化スイッチを操作したり、電源投入から待機時間の経過まで初期化スイッチを操作し続けたりする必要がある。しかし、待機時間の開始前に状態を読み込むことで、このような煩わしい操作を行わなくても電源投入後すぐに操作を行うことで検出されるようになり、電源投入時に行った初期化の操作が受け付けられないような事態を防止できる。
電源ディレイタイマを設定する処理(ステップS6)を行った後、待機時間の計時と、待機時間中における停電の発生を監視する処理(ステップS7乃至S11)を行う。まず、電源装置500から入力されている停電監視信号をポート及びデータバスを介して読み込んでチェックする回数(例えば、2回)を設定し(ステップS7)、停電監視信号がオンであるかの判定を行う(ステップS8)。なお、ステップS6により電源ディレイタイマが設定されて同タイマがカウントを進行中である場合にも、ステップS8の停電監視が行われる。
停電監視信号がオンである場合(ステップS8;YES)は、ステップS7で設定したチェック回数分停電監視信号のオン状態が継続しているかを判定する(ステップS9)。そして、チェック回数分停電監視信号のオン状態が継続していない場合(ステップS9;NO)には、停電監視信号がオンであるかの判定(ステップS8)に戻る。また、チェック回数分停電監視信号のオン状態が継続している場合(ステップS9;YES)、すなわち、停電が発生していると判定した場合は、遊技機(パチンコ機1)の電源が遮断されるのを待つ。このように、所定期間に亘り停電監視信号を受信し続けた場合に停電が発生したと判定することで、ノイズなどにより停電を誤検知することを防止でき、電源投入時における不具合に適切に対処することができる。
すなわち、遊技制御装置100が所定の待機時間において停電の発生を監視する停電監視手段をなしているので、これにより、主制御手段をなす遊技制御装置100の起動を遅らせている期間において発生した停電に対応することが可能となり、電源投入時における不具合に適切に対処することができる。なお、待機時間の終了まではRAM(例えば、RAM101C)へのアクセスが許可されておらず、前回の電源遮断時の記憶内容が保持されたままとなっているため、ここでの停電発生時にはバックアップの処理等は行う必要がない。このため、待機時間中に停電が発生してもRAMのバックアップを取る必要がなく、制御の負担を軽減することができる。
一方、停電監視信号がオンでない場合(ステップS8;NO)、すなわち、停電が発生していない場合には、電源投入ディレイタイマを−1更新し(ステップS10)、続いてタイマの値が0であるかを判定する(ステップS11)。タイマの値が0でない場合(ステップS11;NO)、すなわち、待機時間が終了していない場合は、停電監視信号のチェック回数を設定する処理(ステップS7)に戻る。また、タイマの値が0である場合(ステップS11;YES)、すなわち、待機時間が終了した場合は、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)のアクセス許可をし(ステップS12)、全出力ポートにオフデータを出力(2値信号の「0」に相当する信号:つまり出力が無い状態に設定)する(ステップS13)。
ここで、本実施例においてRWMとは、RAM101Cを指すが、RAMに限らず、RWMとして例えばEEPROM等の読出し書込み可能な記憶素子を含めて使用してもよい。
なお、リセット信号によって各出力ポートはオフ設定(リセット)されているので、ソフト的に各出力ポートにオフ信号を出力する必要は必ずしもないが、ここでは念のためにステップS13が設けられている。
続いて、シリアルポート(遊技用マイコン101に予め搭載されているポートで、この実施例では、演出制御装置300や管理装置140との通信に使用)を設定する(ステップS14)。
ここで、シリアルポートを使用する状態に設定するのは、固有IDを外部(例えば、管理装置140)へ出力するときに、このシリアルポートを使用するから、ここでは使用する状態にしておくものである。また、演出制御装置300との間でシリアル通信を行う必要があるので、シリアルポートを使用する状態に設定することになる。
次いで、先に読み込んだ第1入力ポート160の状態から電源装置500内の初期化スイッチ(RAMクリアスイッチ504)がオンにされたかを判定する(ステップS15)。これは、初期化スイッチ信号の状態によって前記初期化スイッチがオンしているか否か判断するもので、初期化スイッチがオンしていれば、ステップS25に進み、オンしていなければステップS16に進む。
なお、ステップS25に進むのは、前記初期化スイッチがオン操作されて遊技用マイコン101が起動した場合、後述するステップS16、ステップS17のそれぞれでRWMの停電検査領域1、停電検査領域2が全て正常ではないと判定された場合、或いは後述するステップS19でチェックサムが正常でないと判定された場合である。このため、ステップS25に進むと、遊技用マイコン101のRWM内のデータ(アクセス禁止領域を除く)を初期化するなどの処理を行う。
初期化スイッチがオンしていなければ、ステップS16に進んで、RWMの停電検査領域1の値が正常な停電検査領域チェックデータ1であるか否かチェックし、ステップS116でチェック結果が正常でないと判断すると、ステップS25にジャンプする。一方、ステップS16でのチェック結果が正常であれば、続くステップS17でRWMの停電検査領域2の値が正常な停電検査領域チェックデータ2であるか否かチェックする。そして、ステップS17でチェック結果が正常でなければステップS25にジャンプし、チェック結果が正常であれば、ステップS18に進む。
このように、RWMの停電検査領域1、2の値が全て正常であれば、停電復帰時であると判断してステップS18に進むことになる。一方、RWMの停電検査領域1、2の値が異常であれば(正常に記憶されてなければ)、通常の電源投入時であるとしてステップS25にジャンプすることになる。
なお、停電検査領域チェックデータ1、2は、後述するステップS39、40で設定されるものである。これらのステップS39、40では、このように複数のチェックデータ1,2によって停電復帰時であるか否か判定するので、停電復帰時であるか否かの判断が信頼性高く為される。
次にステップS18では、RWMのデータのチェックサムを算出し、ステップS19では算出したチェックサムと電源遮断時のチェックサムとを比較し、その値が正常(一致)か否かを判定する。このチェックサムが正常でない場合(即ちRWMのデータが壊れているとき)には、ステップS25に進み、前記チェックサムが正常である場合には、図9のステップS20へ移行し、停電から正常に復旧した場合の処理を行う。
ステップS20では、初期化すべき領域に停電復旧時の初期値をセーブする。ここでの初期化すべき領域とは、以下の領域が含まれる。
・外部情報領域の扉・枠開放信号、セキュリティ信号
・停電復旧検査領域1,2
・試験信号領域の遊技機エラー状態信号
・電源断時チェックサム領域
・エラースキャンカウンタ(遊技枠状態監視スキャンカウンタ)
・前枠開放監視領域
・遊技枠開放監視領域
・シュート球切れ監視領域
・オーバーフロー監視領域
・払い出し異常監視領域
・スイッチ1、2異常監視領域
・下大入賞口不正入賞監視領域
・上大入賞口不正入賞監視領域
・普電不正入賞監視領域
・磁気不正監視領域
・電波不正監視領域
・大入賞口不正監視情報1、2
・普電不正監視情報
ステップS20を経ると、その後、RWM内の遊技状態を記憶する領域を調べて遊技状態が高確率状態であるか否かを判定する(ステップS21)。ここで、高確率でない場合(ステップS21;NO)は、ステップS22,S23をスキップしてステップS24へ移行する。また、高確率である場合(ステップS21;YES)は、高確率報知フラグ領域にオン情報をセーブし(ステップS22)、例えば一括表示装置35に設けられる高確率報知LED(図示略)のオン(点灯)データをセグメント領域にセーブする(ステップS23)。これにより、今回の高確率状態に対応する処置が行なわれることとなり、例えば一括表示装置35に設けられる高確率報知LEDが点灯して高確率状態を知らせる表示がされる。
次いで、後述の特図ゲーム処理を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御装置300へ送信し(ステップS24)、ステップS29へ進む。
一方、ステップS15、S16、S17、S19からステップS25へジャンプした場合には、先ずCPUが使用するRWM内のアクセス禁止領域より前の全作業領域をクリアしてから(ステップS25)、RWM内のアクセス禁止領域より後の全スタック領域をクリアし(ステップS26)、初期化すべき領域に電源投入時の初期値をセーブする(ステップS27)。
ここでの初期化すべき領域とは、ステップS25において書き込まれた値(0)ではない値を初期値とする領域のことであり、本実施例では客待ちデモ領域及び演出モードの設定に係る領域が該当する。これらの領域の具体的な情報は、以下の通りである。
<初期化すべき領域>
・客待ちデモ領域
客待ちデモ中フラグ゛
・演出モードコマンド領域
演出モードコマンド
・セキュリティ信号制御タイマ
・次モード移行情報領域
次モード移行情報
・特図ゲームモード情報コマンド
次いで、電源投入時のコマンド(電源投入コマンド)を演出制御装置300に送信する処理を行う(ステップS28)。
なお、ステップS24で送信される停電復旧時のコマンド及びステップS28で送信される電源投入時のコマンドには、以下のコマンドが含まれる。以下に示すように、電源投入時及び停電復旧時に送信するコマンドが同じになっている。
・遊技機の種類を示す機種指定コマンド
・特図1,2の保留数を示す飾り特図1保留数コマンド及び飾り特図2保留数コマンド
・確率の状態を示す確率情報コマンド
また、電源遮断時や電源投入時の状態に応じて、電源遮断時に特図変動表示ゲームの実行中であった場合には、には、以下のコマンドが含まれる。
・復旧画面コマンド
・電源遮断時に客待ち中であった場合は客待ちデモコマンド
・電源投入時に初期化された場合は電源投入コマンド
・機種によって演出モードの状態を示す演出モード情報コマンド
・時短状態での残りゲーム数を示す時短回数情報コマンド
そして、電源投入コマンドが送信されると、他の制御装置は、この電源投入コマンドを受けて、例えば演出制御装置300であれば枠演出装置のモータの動作位置を初期位置にするなどの初期化を行い、RWMクリアがなされたことを報知する演出を開始する。ステップS28を経ると、ステップS29に進む。
さて、上述のステップS24あるいはステップS28から、ステップS29に進むと、ステップS29では、遊技用マイコン101(クロックジェネレータ)内のタイマ割込み信号及び乱数更新トリガ信号(CTC)を発生するCTC(Counter/Timer Circuit)回路を起動する処理を行う。
なお、CTC回路は、遊技用マイコン101内のクロックジェネレータに設けられている。クロックジェネレータは、水晶発振器113からの発振信号(原クロック信号)を分周する分周回路と、分周された信号に基づいてCPU101Aに対して所定周期(例えば、4ミリ秒)のタイマ割込み信号及び乱数生成回路へ供給する乱数更新のトリガを与える信号CTCを発生するCTC回路とを備えている。
上記ステップS29のCTC起動処理の後は、乱数生成回路を起動設定する処理を行う(ステップS30)。具体的には、乱数生成回路内の所定のレジスタ(CTC更新許可レジスタ)へ乱数生成回路を起動させるためのコード(指定値)の設定などがCPU101Aによって行われる。
また、乱数生成回路のハードウェアで生成されるハード乱数(ここでは大当り乱数)のビット転置パターンの設定も行われる。すなわち、ステップS30の処理では、ハード乱数ビット転置パターンを設定し、大当り乱数のビット転置も行う。
ここで、ビット転置パターンとは、例えば後述の図94に示すように、抽出した乱数のビット配置(上段のビット転置前の配置)を、予め定められた順で入れ替えて異なるビット配置(下段のビット転置後の配置)として格納する際の入れ替え方を定めるパターンである。このビット転置パターンに従い乱数のビットを入れ替えることで、乱数の規則性を崩すことができるとともに、乱数の秘匿性を高めることができる。なお、ビット転置パターンは、固定された単一のパターンであっても良いし、予め用意された複数のパターンから選択するようにしても良い。また、ユーザーが任意に設定できるようにしても良い。
次いで、電源投入時の乱数生成回路内の所定のレジスタ(ソフト乱数レジスタ1〜n)の値を抽出し、対応する各種初期値乱数(大当り図柄を決定する乱数(大当り図柄乱数1、大当り図柄乱数2)、普図の当たりを決定する乱数(当り乱数))の初期値(スタート値)としてRWMの所定領域にセーブする(ステップS31)。
ここで、乱数の種類としては、以下がある。
・当り初期値乱数
・大当り図柄初期値乱数1
・大当り図柄初期値乱数2
(これらは、それぞれ異なるソフト乱数レジスタの値を使用)
そして、この乱数生成回路によってハード的に特図や普図の各乱数のうちの一部が生成される。但し、これら乱数の初期値は、後述するステップS33の処理によってソフト的に設定される。そして、本実施例で使用するCPU101A内の乱数生成回路においては、電源投入毎にソフト乱数レジスタの初期値が変わるように構成されているため、この値を各種初期値乱数の初期値(スタート値)とすることで、ソフトウェアで生成される乱数の規則性を崩すことができ、遊技者による不正な乱数の取得を困難にすることができる。
なお、特図に関連する乱数としては、大当り乱数(大当りとするか否かを決定するための乱数)、大当り図柄乱数1,2(大当り停止図柄決定用の乱数)、変動パターン乱数(リーチの有無等を含む変動パターンを決定する乱数)、停止図柄乱数(外れの停止図柄決定用の乱数)などがある。また、普図に関連する乱数としては、例えば、普図当り乱数(普図当りとするか否かを決定するための乱数)などがある。このうちステップS30,33で対象とする乱数(ハード乱数)は、例えば、大当り乱数、普図当り乱数、大当り図柄乱数1,2である。なお、上記特図に関する乱数は、特図が2種類ある場合、特図1と特図2で共通でもよいし、別個に設けられていてもよい。
次いで、ステップS32で割込みを許可し、次のステップS33では、初期値乱数更新処理を行う。初期値乱数更新処理は、遊技球を発射するタイミングを計って故意に大当り等をねらうことが困難になるように、ハード乱数の初期値を更新する処理である。これは、各種初期値乱数の値を更新して乱数の規則性を崩すためのものである。
なお、上記ステップS33での初期値乱数更新処理は、メイン処理のほか、タイマ割込み処理の中においても初期値乱数更新処理を行う方法もあり、そのような方法を採用した場合には両方で初期値乱数更新処理が実行されるのを回避するため、メイン処理で初期値乱数更新処理を行う場合には割込みを禁止してから更新して割込みを解除する必要があるが、本実施例のようにタイマ割込み処理の中での初期値乱数更新処理はせず、メイン処理内のみした場合には初期値乱数更新処理の前に割込みを解除しても何ら問題はなく、それによってメイン処理が簡素化されるという利点がある。
また、特に限定されるわけではないが、本実施例においては、大当り乱数、大当り図柄乱数、当り乱数は乱数生成回路において生成される乱数を使用して生成するように構成されている。ただし、大当り乱数はCPUの動作クロックと同等以上の速度のクロックを基にして更新される所謂「高速カウンタ」であり、大当り図柄乱数、当り乱数はプログラムの処理単位であるタイマ割込み処理と同周期となるCTC出力(タイマ割込み処理のCTC(CTC0)とは別のCTC(CTC2))を基にして更新される「低速カウンタ」である。また、大当り図柄乱数、当り図柄乱数においては、乱数が一巡する毎に各々の初期値乱数(ソフトウェアで生成)を用いてスタート値を変更する所謂「初期値変更方式」を採用している。なお、前記各乱数は、+1或いは−1によるカウンタ式更新でもよいし、一巡するまで範囲内の全ての値が重複なくバラバラに出現するランダム式更新でもよい。つまり、大当り乱数はハードウェアのみで更新される乱数であり、大当り図柄乱数、当り乱数はハードウェア及びソフトウェアで更新される乱数である。
次いでステップS34に進み、電源装置500から入力されている停電監視信号をポート及びデータバスを介して読み込み、停電監視信号のチェック回数(例えば2回)を設定し、次のステップS35で停電監視信号がオンしているか否か判定し、オンしていれば停電の最終判断のためのステップS36に進み、オンしていなければステップS33に戻る。通常運転中は、ステップS33〜S35を繰り返す。
すなわち、停電監視信号がオンでない場合(ステップS35;NO)は、初期値乱数更新処理(ステップS33)に戻る。つまり、停電が発生していない場合には、初期値乱数更新処理と停電監視信号のチェック(ループ処理)を繰り返し行う。初期値乱数更新処理(ステップS33)の前に割り込みを許可する(ステップS32)ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。
そして、ステップS36に進むと、前記チェック回数分だけ停電監視信号のオン状態が継続しているか否か判定し、この判定結果が肯定的であると停電発生と最終判断してステップS37に進み、否定的であれば停電発生と判断できないとしてステップS35に戻る。
なお停電監視信号がオンになると、この停電監視信号をNMI割込信号として、実行中の処理を中断してステップS37以降の停電処理を強制的に実行する態様でもよい。但し本例の構成であると、停電監視信号のオン状態をステップS36で複数回チェックするので、実際には停電が発生していないのにノイズ等によって停電監視信号が一時的かつ瞬間的にオンした場合に停電発生と誤判断してしまうことがないという利点がある。
そしてステップS37に進むと、割込を禁止した後、次のステップS38で全ての出力をオフし(全ての出力ポートにオフデータを出力し)、次いでステップS39、S40で停電情報設定処理を実行する。停電情報設定処理では、ステップS39で前述の停電検査領域チェックデータ1を停電検査領域1にセーブし、ステップS40で停電検査領域チェックデータ2を停電検査領域2にセーブする。
ステップS40を経ると、次のステップS41でRWMの電源遮断時のチェックサムを算出する処理を行なった後、ステップS42で算出したチェックサムを所定のチェックサム領域にセーブする。
次いでステップS43でRWMへのアクセスを禁止した後、待機する(前述した制御信号生成部503からのリセット信号を待つリセット待ち状態となる)。
このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
なお、以上のステップS37〜S43の停電処理は、停電によって電源電圧が遊技用マイコン101の動作電圧未満に低下する前に行われる。
〔チェックサム算出処理〕
次に、前記メイン処理におけるチェックサム算出処理(ステップS41)を図10により説明する。
このルーチンが開始されると、まずステップS51で算出アドレスの開始値としてRWMの先頭アドレスを設定し、ステップS52で繰り返し数を設定する。繰り返し数は、使用しているRWMのバイト数に対応して設定される。次いで、ステップS53で算出値として「0」を設定した後、ステップS54で算出値+算出アドレスの内容を新たな算出値として演算する。このようにして、各アドレスの毎の内容を算出値として加算していく。次いで、ステップS55で算出アドレスを「+1」だけ更新し、ステップS56で繰り返し数を「−1」だけ更新して算出終了かをチェックし、ステップS57で算出終了か否かを判定しする。ステップS57の判定結果がNOであれば、ステップS54に戻ってルーチンを繰り返す。そして、繰り返した回数=RWMのバイト数になると、算出終了と判断してステップS57からYESに抜けて、ルーチンを終了する。
このようにして、RWMの電源遮断時におけるチェックサムの算出が行われる。
〔初期値乱数更新処理〕
次に、前記メイン処理における初期値乱数更新処理(ステップS33)を図11により説明する。
このルーチンが開始されると、当り初期値乱数をインクリメント(更新(+1))する処理(ステップS61)、大当り図柄初期値乱数1をインクリメント(更新(+1))する処理(ステップS62)、大当り図柄初期値乱数2をインクリメント(更新(+1))する処理(ステップS63)を順次行う。
ここで、「大当り図柄初期値乱数1」は、特図1の大当り停止図柄を決定する乱数の初期値となる乱数で、0〜99の範囲で更新していく。「大当り図柄初期値乱数2」は、特図2の大当り停止図柄を決定する乱数の初期値乱数のことで、0〜99の範囲で更新していく。ある。また、「当り初期値乱数」は普図変動ゲームの当りを決定する乱数の初期値となる乱数のことで、0〜250の範囲で更新していく。ある。このように、メイン処理の中で時間が許す限り乱数をインクリメントし続けることによって、乱数のランダム性を高めることができるようにしている。
〔タイマ割込処理〕
次に、遊技制御装置100(遊技用マイコン101)のタイマ割込処理を図12により説明する。
このタイマ割込処理は、前述したメイン処理におけるステップS29,S32の処理によって開始され、所定のタイマ割込周期で繰り返し実行される。
このタイマ割込処理では、まずステップS71で、必要に応じてレジスタの退避や割込みの禁止を実行する。レジスタの退避では、例えば所定のレジスタに保持されている値をRWMに移すレジスタ退避の処理を行う。なお、本実施例において遊技用マイコンとして使用しているZ80系のマイコンでは、当該処理を表レジスタに保持されている値を裏レジスタに退避することで置き換えることができる。
次いで、ステップS72で入力処理を実行する。この入力処理では、前述の各センサ類(始動口スイッチ120、121、ゲートスイッチ122、入賞口スイッチ123、下カウントスイッチ124、上カウントスイッチ125など)の検出信号の読み取りを実行する。具体的には、各センサの出力値をタイマ割込周期毎に判定し、同じレベルの出力値が規程回数(例えば、2回)以上継続した場合に、この出力値のレベルを各センサの検出信号の確定的な値として読み取る。なお、何れかのセンサがオンしていることが読み取られると、それを示すフラグ(入力フラグ)がたてられる。
次に、ステップS73で、後述する各ステップで設定された出力データを対応する出力ポートに設定し出力する出力処理を実行する。これは、各種処理でセットされた出力データに基づき、ソレノイド(第1大入賞口ソレノイド133、第2大入賞口ソレノイド134、普電ソレノイド132)等のアクチュエータの駆動制御などを行うための処理である。
次いでステップS74で、払出コマンド送信処理を行う。これは、主基板たる遊技制御装置100とサブ基板たる演出制御装置300との間がシリアル通信でコマンドを送信するようになったことで、排出コマンドの送信処理のみを行うものである。ここでは、遊技用マイコン101の送信バッファにセットされたコマンドを演出制御装置300に出力することになる。
次いで、ステップS75、S76で乱数更新処理1、2をそれぞれ実行する。ここでは、特図に関連するソフト乱数及び普図に関連するソフト乱数の更新が行われる。特図に関連するソフト乱数としては、例えば、大当り図柄乱数1,2(大当り停止図柄決定用の乱数)、変動パターン乱数(リーチアクションの有無等を含む変動パターンを決定する乱数)、停止図柄乱数(外れの停止図柄決定用の乱数)などがある。ここでの、乱数の更新は、乱数を例えば「1」ずつ増やすことにより実行される。したがって、このタイマ割込み処理のルーチンが繰り返される毎に、乱数が変り、このソフト乱数の抽出値がアトランダム性を保つようになる。
なお、上記変動パターン乱数は、本例では変動パターン乱数1〜3の3種類が有る。このうち、変動パターン乱数1は後半変動(リーチ開始後の変動)のリーチ系統を選択するための乱数であり、変動パターン乱数2はリーチ系統の中から詳細な演出の振分(例えばプラス1コマで特図が停止するかマイナス1コマで特図が停止するか)を行うための乱数であり、変動パターン乱数3は前半変動(リーチ開始前までの変動)の態様を選択するための乱数である。また、上記変動パターン乱数は変動態様の全てを直接決定するものでもよいが、本例では、具体的な態様は演出制御装置300が決定する。例えば、変動時間とリーチ系統(リーチの大まかな種別)のみを変動パターン乱数1により決定し、決定した変動時間とリーチ系統に基づいて演出制御装置300が具体的な変動態様を決定する。
次いで、ステップS77では、入賞口スイッチ監視処理とエラー監視処理を実行する。入賞口スイッチ監視処理は、前述したように設定される入力フラグ(特図の始動口スイッチ120、121、入賞口スイッチ123、下カウントスイッチ124及び上カウントスイッチ125)を監視し、例えば下カウントスイッチ124の入力フラグが設定されていると、15個の賞球払い出しを払出制御装置200に要求する前準備などの処理を実行するものである。またエラー監視処理は、前述の各センサ類の未検出エラーや、賞球排出の過剰エラーや、ガラス枠5の開放状態、及び大入賞口27a(第1大入賞口)、第2変動入賞装置33の開口部(第2大入賞口)、普電26の開放中以外での不正入賞などを監視するための処理である。
次に、ステップS78では、特図ゲーム処理を行う。この特図ゲーム処理では、特図の変動表示ゲーム全体の統括的制御が行われる。即ち、変動開始条件(変動表示ゲームの開始条件)の成立時において、大当り乱数の判定や、特図の停止図柄の組み合わせ(結果態様)を設定する処理や、特図の変動態様を設定する処理が行われる(詳細後述する)。
ここで、変動開始条件の成立時とは、客待ち状態で始動口入賞があって変動表示ゲームが開始される時、変動表示ゲームがはずれで終了し始動記憶があって再度変動表示ゲームが実行される時、大当たりが終了して始動記憶があって再度変動表示ゲームが実行される時の3種類がある。
また、この特図ゲーム処理では、特図の変動表示ゲームに関する各種出力データを設定する処理も行われる。即ち、特図の変動表示ゲームの遊技状態に合わせて、例えば、演出制御装置300などへ送信するコマンドの内容(コマンドデータ)を設定する。
次いで、ステップS79では、普図の変動表示ゲームのための処理を行う。即ち、普図の変動表示遊技の状態に合わせて演出制御装置300などへ送信するコマンドの内容を設定する処理などを行う。
次に、ステップS80では、セグメントLED編集処理を実行する。これは、ステップS78の特図ゲーム処理において決定された特図の図柄やステップS79の普図ゲーム処理において決定された普図の図柄、その他の情報を、一括表示装置35の本特図の表示器(LED、7セグメントの表示器)において表示するための処理である。
次に、ステップS81では磁石不正監視処理を実行する。これは、磁気センサ126からの検出信号をチェックして異常がないか判定するものである、例えば、磁気センサ126の入力フラグが設定されていると、磁気エラーが発生したとして、所定の処理(エラー報知コマンドの送信等)を実行する。
次いで、ステップS82では電波不正監視処理を実行する。これは、電波センサ127からの検出信号をチェックして異常がないか判定するものである、例えば、電波センサ127の入力フラグが設定されていると、電波を用いた不正が発生したとして、所定の処理(エラー報知コマンドの送信等)を実行する。
次に、ステップS83では外部情報編集処理を実行する。これは、遊技制御装置100から外部へ出力しようとするデータの編集を行うものである。このデータは、払出制御装置200や外部情報端子板55への出力データ(大当たり信号、賞球信号等の他、固有IDも含む)となる。
その後、メインルーチンを再開すべく、ステップS84でタイマ割込み要求をクリアし、ステップS85で退避させたレジスタを復帰させ、ステップS86で割込を許可し、そして割込時に中断した処理に復帰(リターン)する。
〔入力処理〕
次に、前記タイマ割込み処理における入力処理(ステップS72)を図13により説明する。
入力処理においては、まず入力ポート1、即ち、第1入力ポート160に取り込まれたスイッチの検出信号の状態を読み込む(ステップS91)。そして、8ビットのポートのうち未使用ビットがあればそのビットの状態をクリアする(ステップS92)。
ここで、入力ポート1で監視するスイッチは、以下の通りである。
・ガラス枠開放検出スイッチ(ビット0)
・前面枠開放検出スイッチ(ビット1)
・払出異常ステータス信号(ビット4)
・シュート球切れスイッチ信号(ビット5)
・オーバーフロースイッチ信号)ビット6)
続いて、読み込まれた入力ポート1の状態をRWM内のスイッチ制御領域1にセーブ(格納)する(ステップS93)。次いで、ステップS94で未使用のビットデータを準備する。
ここで、本実施例において「準備」とは、レジスタに値をセットすることを意味するが、これに限らず、RWM、その他のメモリに値をセットするようにしてもよい。
次いで、ステップS95で反転するビットデータを準備する。例えば、電波センサ127は検出信号の反転が必要なので、そうようなセンサ/スイッチ等のビットデータを準備するものである。
次いで、ステップS96でRWM内のスイッチ制御領域2のアドレスを準備し、ステップS97で入力ポート2、即ち、第2入力ポート161のアドレスを準備し、さらにステップS98でスイッチ読込み処理を行う。
ここで、入力ポート2で監視するスイッチは、以下の通りである。
・始動口2スイッチ(ビット0):第2始動口スイッチ121
・始動口1スイッチ(ビット1):第1始動口スイッチ120
・左入賞口スイッチ(ビット2):入賞口スイッチ1_123
・右入賞口スイッチ(ビット3):入賞口スイッチ2_123
・ゲートスイッチ(ビット4):ゲートスイッチ122
・下大入賞口スイッチ1(ビット5):下カウントスイッチ1_124
・下大入賞口スイッチ2(ビット6):下カウントスイッチ2_124
・上大入賞口スイッチ(ビット7):上カウントスイッチ125
なお、図4では示していないが、入賞口スイッチ123に対応するものとして、例えば複数(2個)の入賞口スイッチを配置する場合もあるので、その例として、上記では左入賞口スイッチ(ビット2):入賞口スイッチ1_123、右入賞口スイッチ(ビット3):入賞口スイッチ2_123のような表記として、2個のスイッチを入力ポート2で監視するようにしている。これは、下大入賞口スイッチ124についても同様である。後述の磁気センサ126についても、複数を配置して入力ポート3で監視するようにしてもよい。
次いで、ステップS99で未使用のビットデータを準備するとともに、ステップS100で反転するビットデータを準備する。その後、ステップS101でRWM内のスイッチ制御領域3のアドレスを準備し、ステップS102で入力ポート3、即ち、第3入力ポート162のアドレスを準備し、さらにステップS103でスイッチ読込み処理を行い、入力処理を終了する。
ここで、入力ポート3で監視するスイッチは、以下の通りである。
・電波センサ(ビット0):電波センサ127
・スイッチ異常検知信号1(ビット1)
・磁気センサ(ビット2):磁気センサ126
・スイッチ異常検知信号2(ビット3)
〔スイッチ読込み処理〕
次に、上述の入力処理におけるスイッチ読込み処理(ステップS103)を図14により説明する。
スイッチ読込み処理においては、対象の入力ポートに取り込まれた信号の状態を読み込む(ステップS111)。これは、1回目の読み込みに相当する。次いで、8ビットのポートのうち未使用ビットがあれば、そのビットの状態をクリアし(ステップS112)、反転の必要なビットを反転(ステップS113)した後、RWM内の対象のスイッチ制御領域のポート入力状態1にセーブ(格納)する(ステップS114)。その後、2回目の読込みまでのディレイ時間(0.1ms)が経過するのを待つ(ステップS115)。
ディレイ時間(0.1ms)が経過すると、対象の入力ポートに取り込まれた信号の状態の2回目の読込みを行う(ステップS116)。そして、8ビットのポートのうち未使用ビットがあれば、そのビットの状態をクリアし(ステップS117)、反転の必要なビットを反転(ステップS118)した後、対象のスイッチ制御領域のポート入力状態2にセーブ(格納)する(ステップS119)。その後、1回目と2回目の読込みで変化したビット、即ち、信号を検出し、確定ビットパターンを作成する(ステップS120)。具体的には、読み込まれた対象の入力ポートの状態のうち、1回目と2回目で状態が同じビットを「1」、違うビットを「0」とした確定ビットパターンを作成する。次いで、確定ビットパターンとポート入力状態2との論理積をとり、今回確定ビットとする(ステップS121)。
次いで、1回目と2回目の読込みで状態が同じビットを0、違うビットを1とした未確定ビットパターンを作成し(ステップS122)、未確定ビットパターンと前回割り込み時の確定状態との論理積をとり、前回保持ビットとする(ステップS123)。これにより、スイッチのチャタリング等によるノイズを除去した信号の状態を得ることができる。そして、今回確定ビットと前回保持ビットを合成し、今回確定状態としてRWMにセーブし(ステップS124)、前回と今回の確定状態との排他的論理和をとり、立上りエッジとしてRWMにセーブして(ステップS125)、スイッチ読み込み処理を終了する。
なお、スイッチの読込みは、タイマ割込みの周期が短い場合(例えば2ms)には、各割込みの処理ごとにそれぞれ1回ずつスイッチの読込みを行なって前回の読込みの結果と比較することで信号が変化したか否か判定する方法があるが、そのようにすると次の割込み処理までに前回の割込みで読み込んだスイッチの状態が失われた場合、正しい判定が行なえないおそれがある。また、単純計算でタイマ割込み周期の2倍以上の時間分、スイッチの入力パルスが保持されなくてはならないので、パルスを延長する電気回路の設計やスイッチを通過する遊技球の速度を遅くするための球流路の構造設計などが必要になる。
これに対し、本実施例のように、所定の時間差をおいて1回の割込み処理の中で2回のスイッチ読込み処理を行うことで、タイマ割込みの周期を延ばすことによる割込み内の処理可能量増加と、構造設計等の容易さを両立させ、上記のような不具合を回避することが可能となる。
〔出力処理〕
次に、上述のタイマ割込み処理における出力処理(ステップS73)を図15により説明する。
出力処理では、まず一括表示装置(LED)35のセグメントのデータを出力するポート176(図5参照)の出力データを全てオフにする(ステップS131)。続いて、第1大入賞口ソレノイド133、第2大入賞口ソレノイド134、普電ソレノイド132のデータを出力する機能を有する第3ポート175に出力するデータを合成して出力する(ステップS132)。
次いで、一括表示装置(LED)35のデジット線を順次スキャンするためのデジットカウンタの値を更新(0〜3の範囲で(+1)更新)(ステップS133)し、デジットカウンタの値に対応するLEDのデジット線の出力データをロード(取得)する(ステップS134)。次いで、取得したデータをデジット出力ポート(第5ポート177)に出力する(ステップS135)。第5ポート177は一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
次いで、デジットカウンタの値に対応するRWM内のセグメントデータ領域からセグメント線の出力データをロード(取得)し(ステップS136)、取得したセグメント出力データをセグメント出力用のポート(第4ポート176)に出力する(ステップS137)。第4ポート176は一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
続いて、外部情報端子基板55へ出力するデータをロードして合成し、外部情報出力用のポート(第6ポート180)へ出力する(ステップS138)。第6ポート180は大当り情報などパチンコ機1に関する情報を外部情報信号(図4に示す外部情報)として外部情報端子板55へ出力するための出力ポートである。
次いで、試射試験装置へ出力する試験信号の出力データ1〜3をロードして合成し、中継基板170上に設けられている試験端子出力ポート1へ合成したデータを出力する(ステップS139)。さらにその後、試射試験装置へ出力する試験信号の出力データ4〜6をロードして合成し、中継基板170上に設けられている試験端子出力ポート2へ合成したデータを出力する(ステップS140)。
次いで、試射試験装置へ出力する試験信号の出力データ7〜8をロードして合成し、中継基板170上に設けられている試験端子出力ポート3へ合成したデータを出力する(ステップS141)。また、試射試験装置へ出力する試験信号の出力データ9〜10をロードして合成し、中継基板170上に設けられている試験端子出力ポート4へ合成したデータを出力する(ステップS142)。さらに、試射試験装置へ出力する試験信号の出力データ11をロードして合成し、中継基板170上に設けられている試験端子出力ポート5へ合成したデータを出力(ステップS143)して、図15の出力処理を終了する。
〔払出コマンド送信処理〕
次に、上述のタイマ割込み処理における払出コマンド送信処理(ステップS74)を図16により説明する。
払出コマンド送信処理では、まず、賞球数別(例えば、3個賞球、10個賞球、14個賞球)に設けられた複数の入賞数カウンタ領域のうち、チェック対象とされた入賞数カウンタ領域に「0」でないカウント数があるかを判定する(ステップS151)。
入賞数カウンタ領域の構造は、例えば以下の通りである。
・3個賞球カウンタ
・10個賞球カウンタ
・14個賞球カウンタ
各々の入賞数カウンタ領域は255個入賞まで記憶可能になっており、入賞数カウンタ領域のチェックでは、上述したカウンタを上から(3個賞球カウンタから)順にチェックしていく。
フローに戻り、カウント数がない場合(ステップS151:NO)は、チェック対象となる入賞数カウンタ領域のアドレスを更新し(ステップS152)、すべての入賞数カウンタ領域のカウント数のチェックが終了したかを判定する(ステップS153)。この判定で、すべてのチェックが終了した(ステップS153;YES)と判定すると、払出コマンド送信処理を終了する。一方、すべてのチェックが終了していない(ステップS153;NO)と判定すると、ステップS151へ戻って上記処理を繰り返す。
また、上記ステップS151で、カウント数がある(ステップS151;YES)と判定した場合には、対象の入賞数カウンタ領域のカウント数を減算(−1)し(ステップS154)、入賞数カウンタ領域のアドレスに対応する払出コマンド(負論理のデータ)を取得する(ステップS155)。そして、データの読込みが有効か無効かを示すストローブ信号のオフ時間(例えばロウレベルに維持する時間、例えば0.015ms)を計時するストローブオフタイマを設定し(ステップS156)、上記ステップS155で取得した払出コマンド(負論理のデータ)とオフ状態(ロウレベル)のストローブ信号をポート171(図5参照)へ出力する(ステップS157)。
その後、ストローブオフタイマを−1更新し(ステップS158)、ストローブオフタイマの値が0であるか、すなわちステップS156で設定したオフ時間が経過したかを判定する(ステップS159)。ストローブオフタイマの値が0でない場合(ステップS159;NO)、すなわちオフ時間が経過していない場合は、ステップS157へ戻る。また、ストローブオフタイマの値が0である場合(ステップS159;YES)、すなわちオフ時間が経過した場合は、負論理データの出力残り時間(例えば0.030ms)を計時する負論理出力残りタイマを設定する(ステップS160)。
次に、払出コマンド(負論理のデータ)を出力するとともにオン状態(ハイレベル)のストローブ信号をポート171へ出力する(ステップS161)。そして、負論理出力残りタイマを−1更新し(ステップS162)、負論理出力残りタイマの値が0であるか、すなわちステップS160で設定した負論理データの出力時間が終了したかを判定する(ステップS163)。負論理出力残りタイマの値が0でない場合(ステップS163;NO)、すなわち負論理データの出力時間が終了していない場合はステップS161へ戻る。また、負論理出力残りタイマの値が0である場合(ステップS163;YES)、すなわち負論理データの出力時間が終了した場合は、上記負論理の払出コマンドデータを反転して正論理の払出コマンドデータを生成する(ステップS164)。
次に、ストローブ信号のオン残り時間(ハイレベルの時間、例えば0.015ms)を計時するストローブオン残りタイマを設定し(ステップS165)、上記ステップS164で生成した払出コマンド(正論理のデータ)とオン状態(ハイレベル)のストローブ信号をポート171へ出力する(ステップS166)。その後、ストローブオン残りタイマを−1更新し(ステップS167)、ストローブオン残りタイマの値が0であるか、すなわちステップS165で設定したオン時間が終了したかを判定する(ステップS168)。ストローブオン残りタイマの値が0でない場合(ステップS168;NO)、すなわちオン時間が終了していない場合はステップS166へ戻る。また、ストローブオン残りタイマの値が0である場合(ステップS168;YES)、すなわちオン時間が終了した場合は、正論理データの出力残り時間(例えば0.030ms)を計時する正論理出力残りタイマを設定する(ステップS169)。
その後、払出コマンド(正論理のデータ)を出力するとともにオフ状態(ロウレベル)のストローブ信号をポート171へ出力する(ステップS170)。そして、正論理出力残りタイマを−1更新し(ステップS171)、正論理出力残りタイマの値が0であるか、すなわちステップS169で設定した正論理データの出力時間が終了したかを判定する(ステップS172)。正論理出力残りタイマの値が0でない場合(ステップS172;NO)、すなわち出力時間が終了していない場合はステップS170へ戻る。また、正論理出力残りタイマの値が0である場合(ステップS172;YES)、すなわち終了した場合は、遊技制御装置100から外部装置に対して送信する払出予定の賞球数に関する情報を設定するメイン賞球残数更新処理(ステップS173)を行い、コマンド送信処理を終了する。
以上の処理により、払出制御装置200に遊技球の払い出しを指示する払出コマンドが送信され、払出制御装置200ではこの払出コマンドに基づき遊技球を払い出す。上記のように、負論理の払出コマンドデータを出力した後に正論理の払出コマンドデータを出力することによって、コマンド受信側では、負論理の払出コマンドデータと正論理の払出コマンドデータを読み込んで比較することによって、正しいコマンドを受信することができたか否かを判定することができる。例えば、先に受信した負論理の払出コマンドデータを論理反転して、それと後で受信した正論理の払出コマンドデータとを比較して、同一でない場合にはコマンド受信エラーと判断し、コマンドの再送を遊技制御装置100へ要求することで正確なコマンドを受信することが可能となる。
〔メイン賞球残数更新処理〕
次に、前述の払出コマンド送信処理におけるメイン賞球残数更新処理(ステップS173)の詳細について、図17により説明する。
このメイン賞球残数更新処理では、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に外部装置へ出力するメイン賞球信号を設定する。外部装置には、このメイン賞球信号の他に、払出制御装置200からも実際に払い出した賞球数が所定数(ここでは10個)になる毎に賞球信号が出力されるようになっており、この二つの信号を照合することで、不正な払い出しを監視することが可能となっている。
すなわち、メイン賞球残数更新処理は遊技制御装置100から払出予定に基づいて賞球信号を外部装置に送信することで、払出の実払出(払出制御装置200から実際に払い出した賞球数)との整合性をとるために行われる処理である。
なお、賞球信号は主基板たる遊技制御装置100からは10個払出予定数毎に1パルスが出力され、払出基板たる払出制御装置200からは10個払出数に1パルスが出力されるようになっている。
図17に示すようにメイン賞球残数更新処理では、まず、賞球残数領域の値と払出数(払出コマンド(正論理の値))を加算する(ステップS181)。この処理の前における賞球残数領域の値としては、メイン賞球信号の出力の基準となる所定数に満たなかった端数が記憶されており、この処理において、賞球残数領域の値に新たに発生した賞球の払出数として正論理の払出コマンドの値を加算する。そして、加算した値を賞球残数領域にセーブする(ステップS182)。
その後、賞球残数領域の値からメイン賞球信号の出力の基準となる所定数である10を減算し(ステップS183)、減算結果が0以上であるかを判定する(ステップS184)。減算結果が0以上でない場合(ステップS184;NO)は、メイン賞球残数更新処理を終了する。また、減算結果が0以上である場合(ステップS184;YES)は、メイン賞球信号出力回数領域の値を+1更新し(ステップS185)、減算結果を賞球残数領域にセーブして(ステップS186)、ステップS183に戻る。
〔乱数更新処理1〕
次に、上述のタイマ割込み処理における乱数更新処理1(ステップS75)を図18により説明する。
乱数更新処理1は、図11の初期値乱数更新処理の対象となっている大当り図柄乱数1、当り乱数、大当り図柄乱数2の初期値(スタート値)を更新するための処理である。
乱数更新処理1においては、まず、普図の当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS191)。
普図の当り乱数が初期値設定待ちでない場合(ステップS191;NO)は、大当り図柄乱数1が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS194)。また、普図の当り乱数が初期値設定待ちである場合(ステップS191;YES)は、次回初期値として当り乱数初期値乱数をロードし(ステップS192)、ロードした普図の当り乱数の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定する(ステップS193)。その後、大当り図柄乱数1が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS194)。
大当り図柄乱数1が初期値設定待ちでない場合(ステップS194;NO)は、大当り図柄乱数2が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS197)。また、大当り図柄乱数1が初期値設定待ちである場合(ステップS194;YES)は、次回初期値として大当り図柄初期値乱数1をロードし(ステップS195)、ロードした大当り図柄乱数1の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定する(ステップS196)。その後、大当り図柄乱数2が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS197)。
大当り図柄乱数2が初期値設定待ちでない場合(ステップS197;NO)は、乱数更新処理1を終了する。また、大当り図柄乱数2が初期値設定待ちである場合(ステップS197;YES)は、次回初期値として大当り図柄初期値乱数2をロードし(ステップS198)、ロードした大当り図柄乱数2の次回の初期値を対応する乱数カウンタ(乱数領域)のスタート値を保持するレジスタ(スタート値設定レジスタ)に設定し(ステップS199)、乱数更新処理1を終了する。
〔乱数更新処理2〕
次に、上述のタイマ割込み処理における乱数更新処理2(ステップS76)を図19により説明する。
乱数更新処理2は、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する処理である。
なお、本実施例においては、変動パターン乱数として1バイトの乱数(変動パターン乱数2、3)と、2バイトの乱数(変動パターン乱数1)があり、図21の乱数更新処理2は両方を更新対象とし、割込みが発生するごとに更新対象を切り替えて処理する。しかも、更新対象の乱数が2バイトの場合には、上位のバイトと下位のバイトに対して異なる割込み時に更新処理を行うようになっている。即ち、メイン処理に対する一の割り込み処理において実行される乱数更新処理2による2バイトの変動パターン乱数1(リーチ変動態様決定用乱数)の更新は、上位1バイト若しくは下位1バイトの何れかについて実行されるように構成されている。
乱数更新処理2においては、まず更新すべき複数の乱数のうちいずれの乱数を今回の更新処理の対象とするかを順番に指定するための乱数更新スキャンカウンタを更新する(ステップS201)。ここでは、0乃至3の範囲で更新する。
なお、更新する乱数の種類は、以下の通りである。
・0のとき:変動パターン乱数1(上位)
・1のとき:変動パターン乱数1(下位)
・2のとき:変動パターン乱数2
・3のとき:変動パターン乱数3
次に、乱数更新スキャンカウンタの値に対応する演出乱数更新テーブルのアドレスを算出する(ステップS202)。そして、算出されたアドレスに基づいて参照したテーブルから乱数の上限判定値を取得する(ステップS203)。このとき参照するテーブルには、乱数の種類ごとに上限値、即ち、乱数が一巡したか否かを判定するための値が格納されている。
ここで、演出乱数更新テーブルには更新する乱数の種類分(4ブロック)のデータがあり、詳細は以下の通りである。
・上限判定値
・Rレジスタのマスク値
・更新する乱数領域の種別情報(詳細は下記)
1バイト乱数
2バイト乱数(上位)
2バイト乱数(下位)
・更新領域のアドレス
続いて、例えば本実施例において遊技用マイコンとして使用しているZ80系のマイコンに設けられているDRAMのリフレッシュ等のため使用されるリフレッシュレジスタ(以下、Rレジスタと称する)のようなランダムな値が設定されるレジスタの値を読み込む(ステップS204)。Rレジスタの値を使用することで、乱数にランダム性を付与することができる。ステップS204の次は、Rレジスタの値をマスクするためのマスク値を取得して、Rレジスタの値をマスクする(ステップS205)。なお、マスク値は、更新対象の乱数によって異なるビット数、例えば、変動パターン乱数1の下位1バイトを更新する場合には、Rレジスタの下位3ビットに、また、変動パターン乱数1の上位1バイトを更新する場合には、Rレジスタの下位4ビットに設定されている。乱数の種類によって上限値が異なるためである。
なお、マスク値として、変動パターン乱数1の下位1バイトを更新する場合には、Rレジスタの下位3ビットを、また、変動パターン乱数1の上位1バイトを更新する場合には、Rレジスタの下位4ビットを例示したが、数値は一例であってこれに限られるものではない。
次に、更新する乱数領域が2バイト乱数の上位かどうかをチェックする(ステップS206)。2バイト乱数の上位であれば(ステップS206;YES)、ステップS207に進み、マスク値によってRレジスタの値をマスクすることによって残った値(以下、これをマスクした値と称する)に「1」を加算したものを加算値(上位)とし、また、「0」を加算値(下位)としてステップS208に進む。
マスクした値に「1」を加算するのは、マスクした値が「0」になる場合があり、「0」を後に加算すると加算する前の値から変化しないので、それを避けるためである。
一方、更新する乱数領域が2バイト乱数の下位又は1バイト乱数であれば(ステップS206;NO)、ステップS209に分岐して「0」を加算値(上位)とし、マスク値に「1」を加算したものを加算値(下位)としてステップS208に進む。
次のステップS208では、更新する乱数領域(乱数カウンタ)が2バイト乱数かどうかをチェックする。ここで、2バイト乱数でなければステップS210へジャンプする(ステップS208;NO)。一方、乱数領域が2バイト乱数であるときはステップS211へ進む(ステップS208;YES)。ステップS210では、「0」を乱数値(上位)とし、マスク値に「1」を加算したものを更新する乱数領域の値(下位)としてステップS212に進む。
乱数領域が2バイト乱数であるときは、ステップS211で更新する乱数領域の値(2バイト)を乱数値としてステップS212に進む。
次いで、ステップS212では乱数値にステップS207、S209で決定した加算値を加算した値を算出して新たな乱数値を求め、この乱数値がステップS203で取得した上限判定値を超えているかどうかを判定する(ステップS213)。
新たに算出した乱数値が上限判定値を超えていれば、算出した乱数値から上限判定値を差し引いて今回の乱数値とし(ステップS214)、その後、ステップS215に進む。一方、新たに算出した乱数値が上限判定値を超えていなければ、算出した乱数値を今回の乱数値とし、ステップS214をジャンプしてステップS215に進む。
ステップS215では、乱数値の下位を対応する乱数領域にセーブする。ここでは、1バイト乱数領域又は2バイト乱数の下位領域のいずれかの領域にセーブする。続いて、更新した乱数が2バイト乱数かをチェックし(ステップS216)、2バイト乱数であれば(ステップS216;YES)、乱数値の上位を乱数領域の上位(2バイト乱数(上位))側にセーブする(ステップS217)。ここでは、2バイト乱数の上位の領域にセーブする。ステップS217を経ると、当該乱数更新処理2を終了する。
一方、更新した乱数が2バイト乱数でなければ(ステップS216;NO)、ステップS217をジャンプし、その処理は行わず、当該乱数更新処理2を終了する。
このように、CPU101Aは、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する。また、変動パターンとしては、後述するように、「リーチなし」の変動パターンや、「ノーマルリーチ」、「スペシャル(SP)1−Aリーチ」、「スペシャル(SP)1−Bリーチ」、「スペシャル(SP)2−Aリーチ」、「スペシャル(SP)2−Bリーチ」、「スペシャル(SP)3−Aリーチ」、「スペシャル(SP)3−Bリーチ」等の各種リーチ状態における変動パターン(リーチ変動態様)が規定されている。
従って、CPU101Aは、始動入賞口25や普通変動入賞装置26の始動領域への遊技球の流入に基づいて抽出された各種乱数のうち、リーチ状態におけるリーチ変動態様を決定するためのリーチ変動態様決定用乱数(変動パターン乱数)を更新する乱数更新手段をなす。
〔入賞口スイッチ/エラー監視処理〕
次に、上述のタイマ割込み処理における入賞口スイッチ/エラー監視処理(ステップS77)を図20により説明する。
入賞口スイッチ/エラー監視処理は、各種入賞口に設けられたスイッチから信号の入力(信号の変化)があるか否かの監視や、エラーの監視を行う処理である。
入賞口スイッチ/エラー監視処理においては、まず下大入賞口(変動入賞装置27)内の一方の下カウントスイッチ124に対応する入賞口監視テーブル1(例えば、一方の下カウントスイッチ124からの検出信号が入力されるポートの番号や該信号のポート内でのビット位置等を示すデータが格納されている)を準備する(ステップS221)。本実施例では、下カウントスイッチ124が2つ設けられ、変動入賞装置27の大入賞口内に流入した遊技球は何れかの下カウントスイッチ124に検出されるようになっているので、ここでは一方の下カウントスイッチ124に対応する入賞口監視テーブル1を準備するものである。
次いで、大入賞口が開いていないにもかかわらず大入賞口に不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS222)を実行する。
その後、下大入賞口(変動入賞装置27)内の他方の下カウントスイッチ124に対応する入賞口監視テーブル2を準備し(ステップS203)、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS204)を実行する。次いで、上大入賞口(第2変動入賞装置33)内の上カウントスイッチ125に対応する入賞口監視テーブルを準備し(ステップS205)、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS306)を実行する。
このように、カウントスイッチは3つあり、下大入賞口に配置される下カウントスイッチ124が2つ、上大入賞口に配置される上カウントスイッチ125が1つである。
次いで、普電内の入賞口スイッチの不正監視テーブルを準備する(ステップS227)。普電内の入賞口スイッチとしては、普通電動役物(普電)としての第2始動入賞口26への入賞を検出する第2始動口スイッチ121がある。
次いで、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS228)を実行する。
その後、不正監視が不要な入賞口スイッチの入賞監視テーブル(例えば、不正監視不要なスイッチを示すリスト)を準備する(ステップS229)。不正監視が不要な入賞口スイッチとしては、例えば第1始動口スイッチ120、一般入賞口28〜31に対して設けられた入賞口スイッチ123がある。不正監視が不要な入賞口スイッチについては、不正監視はしないが入賞検出処理は行うので、ステップS229でその処理のために入賞監視テーブルを用意し、次のステップで、入賞数を更新する入賞数カウンタ更新処理(ステップS230)を実行するものである。この入賞数カウンタ更新処理の詳細な手順については、後述する。
入賞数カウンタ更新処理(ステップS230)の後は、エラーを監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するためのエラースキャンカウンタを更新(0乃至3の範囲で「+1」更新)し、準備する(ステップS231)。続いて、遊技機エラー監視テーブル1を準備する(ステップS232)。
遊技機を監視するエラーの種類としては、以下のものがあり、これらは払出制御装置200からのシュート球切れスイッチ、オーバーフロースイッチ、払出制御装置200の異常監視用のエラーなどに対応する。
(イ)0のとき:スイッチ異常エラー(コネクタ抜け、スイッチ故障など)
(ロ)1のとき:シュート球切れエラー
(ハ)2のとき:オーバフローエラー
(ニ)3のとき:払い出し異常エラー
次いで、遊技機エラー監視テーブル1で定義した種類のエラーチェックを行い(ステップS233)、その後、エラースキャンカウンタが「3」になったか否かを判定する(ステップS234)。エラースキャンカウンタが「3」になっていなければ、遊技機エラー監視テーブル2を準備する(ステップS235)。
遊技機エラー監視テーブル2で定義するエラー監視の種類は、下記の通りである。
(ホ)0のとき:ガラス枠開放(前枠開放)
(ヘ)1のとき:前面枠開放(遊技枠開放)
(ト)2のとき:スイッチ異常エラー(コネクタ抜け)
(チ)3のとき:なし
次いで、遊技機エラー監視テーブル2で定義した種類のエラーチェックを行い(ステップS236)、入賞口スイッチ/エラー監視処理を終了してタイマ割込処理にリターンする。
一方、ステップS234でエラースキャンカウンタ=「3」と判定した場合には、遊技機エラー監視テーブル2には監視対象となるエラーがないので、ステップS235、236を経由せずに、タイマ割込処理にリターンする。
〔不正&入賞監視処理〕
次に、上述の入賞口スイッチ/エラー監視処理における不正&入賞監視処理(ステップS222、ステップS226、ステップS228)を図21により説明する。
入賞監視処理は、下大入賞口(変動入賞装置27)の2つの下カウントスイッチ124の各々、上大入賞口(第2変動入賞装置33)の上カウントスイッチ125及び普電内の第2始動口スイッチ121に対して行なわれる処理である。大入賞口(変動入賞装置27、33)や普電(普通変動入賞装置26)については、無理やり開閉部材を開いて遊技球を入れて賞球を払い出させる不正が行なわれ易いため、入賞の検出の他に不正の監視をする。
ここで、入賞口スイッチ/エラー監視処理の中の不正&入賞監視処理を説明するに当たり、準備される不正監視テーブルに定義されている情報は、以下の通りである。
・入力があるかを判定するデータ(監視スイッチビット)
・不正監視情報の下位アドレス
・不正入賞数領域の下位アドレス
・不正入賞エラー報知コマンド
・不正入賞数上限値(不正発生判定個数)
・入賞口スイッチテーブルのアドレス
・報知タイマ更新情報(許可/更新)
不正&入賞監視処理においては、まず、エラー監視対象の入賞口スイッチの不正監視期間フラグをチェックし(ステップS241)、不正監視期間中かどうかを判定する(ステップS242)。不正監視期間とは、エラー監視対象の入賞口スイッチが下カウントスイッチ124である場合は変動入賞装置27を開放する特別遊技状態中以外の期間であり、エラー監視対象の入賞口スイッチが上カウントスイッチ125である場合は第2変動入賞装置33を開放する特別遊技状態中以外の期間である。また、エラー監視対象の入賞口スイッチが第2始動口スイッチ121である場合は普図の当りに基づき普通変動入賞装置26の開放制御を実行している状態以外の期間である。
そして、不正監視期間である場合(ステップS242;YES)は、対象の入賞口スイッチに入力があるかを判定する(ステップS243)。対象の入賞口スイッチに入力がない場合(ステップS243;NO)は、対象の報知タイマ更新情報をロードする(ステップS252)。また、対象の入賞口スイッチに入力がある場合(ステップS243;YES)は、対象の不正入賞数を+1更新し(ステップS244)、加算後の不正入賞数が監視対象の不正発生判定個数(例えば、5個)を超えたかを判定する(ステップS245)。
判定個数を5個としているのは、例えば、開状態にある大入賞口が閉状態に変換した際に遊技球が大入賞口の扉部材に挟まり、その遊技球がカウントスイッチの有効期間を過ぎて入賞した場合や信号にノイズがのった場合に、それを不正と判断しないようにするためであり、不正でないのに簡単にエラーと判定しないためである。
そして、判定個数を超えていない(ステップS245;NO)と判定すると、ステップS250へジャンプし、対象の入賞口スイッチの入賞監視テーブルを準備する。また、判定個数を超えた場合(ステップS245;YES)は、不正入賞数を不正発生判定個数に留め(ステップS246)、対象の不正入賞報知タイマ領域に初期値をセーブする(ステップS247)。次に、対象の不正発生コマンドを準備し(ステップS248)、不正フラグとして不正入賞発生フラグを準備して(ステップS249)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。
一方、不正監視期間でない場合(ステップS242;NO)は、対象の入賞口スイッチの入賞監視テーブルを準備し(ステップS250)、賞球の設定を行う入賞数カウンタ更新処理(ステップS251)を行う。そして、対象の報知タイマ更新情報をロードし(ステップS252)、報知タイマの更新許可の有無を判定する(ステップS253)。そして、報知タイマの更新が許可されない場合(ステップS253;NO)は、不正&入賞監視処理を終了する。また、報知タイマの更新が許可される場合(ステップS253;YES)は、対象の報知タイマが0でなければ−1更新する(ステップS254)。なお、報知タイマの最小値は0に設定されている。
報知タイマの更新は、エラー監視対象の入賞口スイッチが一方の下カウントスイッチ124である場合は許可され、エラー監視対象の入賞口スイッチが他方の下カウントスイッチ124である場合は許可されない。これにより、変動入賞装置27についての不正報知について、報知タイマの更新が倍の頻度で行われてしまい、規定時間(例えば60000ms)の半分でタイムアップしてしまうことを防止している。
すなわち、下大入賞口(変動入賞装置27)に対してエラー監視を2つの下カウントスイッチ124で行っているため、双方のスイッチでタイマ更新すると、倍のタイマ更新が行われることとなり、結果的に規定時間の半分で不正タイマがタイムアップしてしまうことから、あとから監視処理を行う一方の下カウントスイッチ124のタイミングでのみ、タイマ更新をするようにしているものである。
なお、エラー監視対象の入賞口スイッチが上カウントスイッチ125である場合や普電内の第2始動口スイッチ121である場合は報知タイマの更新は常に許可される。
その後、報知タイマの値が0であるかを判定し(ステップS255)、値が0でない場合(ステップS255;NO)、すなわちタイムアップしていない場合は、不正&入賞監視処理を終了する。また、値が0である場合(ステップS255;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合は、対象の不正解除コマンドを準備し(ステップS256)、不正フラグとして不正入賞解除フラグを準備する(ステップS25)。そして、報知タイマの値が0になった瞬間であるかを判定する(ステップS258)。
報知タイマの値が0になった瞬間である場合(ステップS258;YES)、すなわち今回の不正&入賞監視処理で報知タイマの値が0になった場合は、対象の不正入賞数をクリアし(ステップS259)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。また、報知タイマの値が0になった瞬間でない場合(ステップS258;NO)、すなわち前回以前の不正&入賞監視処理で報知タイマの値が0になった場合は、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。
そして、準備した不正フラグと対象の不正フラグ領域の値が一致した場合(ステップS60;YES)は、不正&入賞監視処理を終了する。また、準備した不正フラグと対象の不正フラグ領域の値が一致しない場合(ステップS260;NO)は、準備した不正フラグを対象の不正フラグ領域にセーブし(ステップS261)、コマンド設定処理を行い(ステップS262)、不正&入賞監視処理を終了する。
以上の処理により、エラーの発生に伴いエラー報知コマンドが演出制御装置300に送信され、エラーの解除に伴い不正入賞エラー解除コマンドが演出制御装置300に送信されて、エラー報知の開始、終了が設定されることとなる。
〔入賞数カウンタ更新処理〕
次に、上述の入賞口スイッチ/エラー監視処理における入賞数カウンタ更新処理(ステップS230)及び不正&入賞監視処理における入賞数カウンタ更新処理(ステップS251)を図22により説明する。
入力数カウンタ更新処理においては、まず、上述の入賞口スイッチ/エラー監視処理にて取得した入賞口監視テーブルから監視する入賞口スイッチの個数を取得する(ステップS281)。
ここで、入賞口スイッチ/エラー監視処理で準備された入賞口監視テーブルのうちの入賞テーブルに定義されている情報は、以下の通りである。
・繰り返し回数
・入力があるかを判定するデータ(監視スイッチビット)
・入賞数カウンタ領域の下位アドレス
次いで、監視対象の入賞口スイッチから検出信号の入力(正確には入力の変化)があるかチェックする(ステップS272)。ここで、入力がない(S272;NO)と判定するとステップS277へジャンプし、入力がある(S272;YES)と判定すると、次のステップS273で、対象の入賞数カウンタ領域の値をロードする。
次のステップS274では、ロードした入賞数カウンタを更新(+1)し、続くステップS275でオーバーフローするかチェックする。そして、カウンタオーバーフローが発生していない(ステップS275;NO)と判定すると、ステップS276へ進んで更新後の値を入賞数カウンタ領域にセーブしてからステップS277へ進む。
一方、ステップS275でカウンタオーバーフローが発生している(S275;YES)と判定すると、ステップS276をスキップしてステップS277へジャンプする。設けられた入賞数カウンタ領域のサイズによって、最大記憶数(例えば、1バイトサイズなら255個、2バイトサイズなら65535個)が決まるので、それを超えると値が「0」に戻ってしまい、支払うべき大量の賞球数の情報を失ってしまうことになる。それを回避するためにステップS274では、いきなり領域の内容を更新せず、領域の外で(+1)して「0」になってしまわないかを確認した上で更新を行うようにしている。
ステップS277では、全部のスイッチの監視処理が終了したか判定して、終了している場合(ステップS277;YES)には当該入力数カウンタ更新処理を終了し、終了していない場合(ステップS277;NO)には、ステップS272へ戻り上記処理を繰り返す。以上の処理により、入賞に応じた賞球が設定されることとなる。
〔コマンド設定処理〕
次に、上述の不正&入賞監視処理におけるコマンド設定処理(ステップS262)を図23により説明する。なお、このコマンド設定処理は、タイマ割込み処理中に実行される他の処理におけるコマンド設定処理に共通する処理である。
このコマンド設定処理では、まず、コマンドデータ(MODE(上位バイト))をシリアル送信バッファに書き込み(ステップS281)、シリアル送信バッファステータスを読み込んで(ステップS282)、コマンドの送信中であるかを判定する(ステップS283)。
コマンドの送信中である場合(ステップS283;YES)は、コマンドデータ(ACTION(下位バイト))をシリアル送信バッファに書き込む(ステップS286)。また、コマンドの送信中でない場合(ステップS283;NO)は、回路の異常が考えられるため送信回路を初期化し(ステップS284)、コマンドデータ(MODE(上位バイト))をシリアル送信バッファに再書き込み(ステップS285)した後、コマンドデータ(ACTION(下位バイト))をシリアル送信バッファに書き込む(ステップS286)。
そして、シリアル送信バッファステータスを読み込んで(ステップS287)、コマンドの送信中であるかを判定する(ステップS288)。コマンドの送信中である場合(ステップS288;YES)は、コマンド設定処理を終了する。また、コマンドの送信中でない場合(ステップS288;NO)は、回路の異常が考えられるため送信回路を初期化し(ステップS289)、コマンドデータ(ACTION(下位バイト))をシリアル送信バッファに再書き込みして(ステップS290)、コマンド設定処理を終了する。
このように、演出制御装置300に対してはシリアル通信でコマンドを送信するようにしたことで、遊技制御装置100の負担を軽減できるとともに、コマンドの解析を困難にすることができる。また、コマンドの送出タイミングが早まるとともに、データ線の本数を減らすことができる。さらに、演出制御装置300においてもストローブ内でのコマンドの取り込みが必要なくなり、負担を軽減することができる。なお、払出制御装置200へもシリアル通信によりコマンドを送信するようにしても良い。
〔エラーチェック処理〕
次に、上述の入賞口スイッチ/エラー監視処理におけるエラーチェック処理(ステップS233、ステップS236)を図24により説明する。
エラーチェック処理においては、まず、エラーを監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するためのエラースキャンカウンタに対応するエラー監視テーブルを取得する(ステップS301)。
準備された遊技機エラー監視テーブル上に定義されている情報としては、以下のものがある。
(イ)スイッチの状態を判定するデータ
(ロ)エラー報知コマンド
(ハ)エラー報知終了コマンド
(ニ)エラー発生監視タイマ比較値
(ホ)エラー解除監視タイマ比較値
(ヘ)スイッチ状態領域のアドレス
(ト)エラー監視タイマ領域のアドレス
(チ)エラーフラグ領域のアドレス
次いで、今回取得した対象のスイッチの状態をチェックし、監視対象であるスイッチ(信号を含む)がオンであるか、すなわちエラーを示す状態であるかを判定する(ステップS302)。
そして、スイッチがオンでない場合(ステップS302:NO)は、エラーフラグとしてエラー解除フラグを準備し(ステップS303)し、対象のエラー報知終了コマンドを準備する(ステップS304)。その後、対象のエラー解除監視タイマ比較値を取得して(ステップS305)、対象のスイッチ制御領域の値と今回のスイッチの状態を比較する(ステップS309)。
一方、スイッチがオンである場合(ステップS302:YES)は、エラー発生となる状態である可能性があるので、エラーフラグとしてエラー発生フラグを準備する(ステップS306)。例えば、遊技機エラー監視テーブルで定義するエラーの1つとして、シュート球切れの場合であれば、貯留タンク51に遊技球を供給するシュートに遊技球が無いことがシュート球切れスイッチ216で検出されてオンになると、ステップS302がYESとなる。YESであればステップS306で、エラー発生フラグを準備することになる。
次いで、対象のエラー報知コマンドを準備する(ステップS307)。その後、対象のエラー発生監視タイマ比較値を取得して(ステップS308)、対象のスイッチ制御領域の値と今回のスイッチの状態を比較する(ステップS309)。
対象のスイッチ制御領域の値と今回のスイッチの状態が一致した場合(ステップS309;YES)、すなわちスイッチの状態が変化していない場合は、エラーの処置が必要かどうかのタイマを判断するために対象のエラー監視タイマを+1更新して(ステップS312)、対象のエラー監視タイマの値が監視タイマ比較値(エラーへの処置が必要と判断する基準値)に達したかを判定する(ステップS313)。また、対象のスイッチ制御領域の値と今回のスイッチの状態が一致しない場合(ステップS309;NO)、すなわちスイッチの状態が変化した場合は、まだエラーの処置まで必要ないと判断して対象のスイッチ制御領域に今回のスイッチ状態をセーブする(ステップS310)、そして、対象のエラー監視タイマをクリアし(ステップS311)、対象のエラー監視タイマを+1更新して(ステップS312)、対象のエラー監視タイマの値が監視タイマ比較値に達したかを判定する(ステップS313)。
対象のエラー監視タイマの値が監視タイマ比較値に達していない場合(ステップS313;NO)は、エラーチェック処理を終了する。また、対象のエラー監視タイマの値が監視タイマ比較値に達した場合(ステップS313:YES)は、エラー監視タイマを−1更新して比較値−1の値に留め(ステップS314)、準備したエラーフラグを対象のエラーフラグ領域の値と比較する(ステップS315)。
ここで、ステップS313で対象のエラー監視タイマが監視タイマ比較値に達したと判定したときは、エラー発生または解除の状態が確定したと見なされることになる。しかし、既にエラーが発生している状態のときにエラー発生が確定するか、またはエラー発生中でない状態のときにエラー解除が確定するという状況もあり得るので、ステップS314の処理を経て、ステップS315では、準備したエラーフラグを対象のエラーフラグ領域の値と比較することにより、今回確定したエラー状態は現エラーフラグの状態と同じかどうかをチェックするようにしている。
そして、準備したエラーフラグと対象のエラーフラグ領域の値とが一致する場合(ステップS315;YES)は、エラーの状況が変化していないことになるので、処置の必要はないと判断し、エラーチェック処理を終了する。また、設定したエラーフラグと対象のエラーフラグ領域の値とが一致しない場合(エラーフラグが同じでなければ)(ステップS315;NO)は、新たなエラー状態に変化したことになるので、準備したエラーフラグを対象のエラーフラグ領域にセーブして(ステップS316)、ステップS317に進む。すなわち、対象のエラーフラグ領域の値を今回確定したエラー状態のものに変更して、ステップS317に進む。ステップS317では、コマンド設定処理を行い、今回確定したエラー状態に対応するコマンドを設定する。これにより、今回のエラー状態に対応する処置が行なわれることとなり、例えばシュート球切れであれば、それを知らせるエラー表示が報知されたり、報知解除されたりする。ステップS317を経ると、エラーチェック処理を終了する。
このようにして、エラーが発生すれば、該当するエラーフラグを立てて処置のコマンドを準備し、エラーが解消すれば該当するエラーフラグを消して解消のコマンドの設定が行なわれる。特に、このエラーチェック処理では、エラーの発生だけを監視しているものではなく、解除も合わせて監視するようにして、処理を共通にしている。
なお、このようなエラーチェック処理は、例えばガラス枠開放、前面枠開放などのエラーについても同様である。
〔特図ゲーム処理〕
次に、前記タイマ割込処理における特図ゲーム処理(ステップS78)を図25により説明する。
特図ゲーム処理では、第1始動口スイッチ120及び第2始動口スイッチ121の入力の監視と、特図変動表示ゲームに関する処理全体の制御、特図の表示の設定を行う。
特図ゲーム処理では、まず、ステップS321で第1始動口スイッチ120及び第2始動口スイッチ121の入賞を監視する始動口スイッチ監視処理を行う。
始動口スイッチ監視処理では、始動入賞口25、第2始動入賞口をなす普通変動入賞装置26に遊技球の入賞があると、各種乱数(大当り乱数など)の抽出を行い、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。なお、始動口スイッチ監視処理(ステップS321)の詳細については後述する。
次いでステップS322で大入賞口スイッチ監視処理を行う。これは、変動入賞装置27内に設けられた下カウントスイッチ124や第2変動入賞装置33内に設けられた上カウントスイッチ125での遊技球の検出を監視する処理を行うものである。
次いで、ステップS323では、特図ゲーム処理タイマが0でなければ−1更新する。なお、特図ゲーム処理タイマの最小値は0に設定されている。そして、特図ゲーム処理タイマの値が0であるかを判定する(ステップS324)。特図ゲーム処理タイマの値が0である場合(ステップS324;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合は、特図ゲーム処理番号に対応する処理に分岐させるために参照する特図ゲームシーケンス分岐テーブルをレジスタに設定し(ステップS325)、当該テーブルを用いて特図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(ステップS326)。そして、分岐処理終了後のリターンアドレスをスタック領域に退避させ(ステップS327)、ゲーム処理番号に応じてゲーム分岐処理(ステップS328)を行う。
特図ゲーム処理タイマは、後述する処理番号による分岐後の各処理(ステップS329〜S335:処理番号=0乃至処理番号=6に相当)において、それぞれ所定の値にタイマ値が設定されるものであり、この特図ゲーム処理タイマがタイムアップしたときにステップS329以降を実行すべきタイミングになるように設定される。これにより、ステップS323を実行した時点で、ステップS325以降を実行すべきタイミングになっていると、ステップS324の判定結果が肯定的になり、ステップS325以降(ステップS336〜S339含む)が実行される。そして、ステップS323を実行した時点で、ステップS325〜S335を実行すべきタイミングでない場合には、ステップS324の判定結果が否定的になり、ステップS336〜S339のみが実行される構成となっている。
ステップS328における処理番号における分岐では、処理番号0でステップS329(特図普段処理)へ、処理番号1でステップS330(特図変動中処理)へ、処理番号2でステップS331(特図表示中処理)へ、処理番号3でステップS332(ファンファーレ/インターバル中処理)へ、処理番号4でステップS333(大入賞口開放中処理)へ、処理番号5でステップS334(大入賞口残存球処理)へ、処理番号6でステップS335(大当り終了処理)へ進む。なお、客待ち状態(デモ中)は、処理番号0である。
処理番号における分岐の具体的内容は、以下の通りである。
ステップS329(特図普段処理)では、特図保留数(特図変動表示ゲーム未実施で保留になっている特図始動記憶の数)がゼロで特図変動表示ゲームを実行中でないときには、客待ち状態の表示を表示装置41で行うための処理を行う。また、この特図普段処理では、次の特図変動表示ゲームを開始するための処理(特図変動開始処理)を行う。この特図変動開始処理では、特図1及び特図2の始動記憶を監視し、何れかの特図始動記憶があれば、対応する変動表示(第1又は第2変動表示)を開始するための設定(演出制御装置300に送信する変動パターンコマンドの設定など)を実行し、処理番号を1とした後にリターンする。特図保留数がゼロで次の特図変動表示ゲームを実行しない場合には、そのまま(処理番号は0のまま)リターンする。
次に、ステップS330(特図変動中処理)では、特図変動開始処理で設定された変動時間が経過するまで、特図を変動表示させるための処理が行われる。そして、前記変動時間が経過すると、特図の図柄を停止させるコマンド(図柄停止コマンド)を演出制御装置300に送信する処理を実行した後、処理番号を2としてリターンする。
また、ステップS331(特図表示中処理)では、特図の変動表示結果を一定時間(1秒〜2秒)表示するための処理を行う。また、特図変動表示ゲームの遊技結果が大当りであれば、大当りの種類に応じたファンファーレコマンドの設定や、各大当りの大入賞口開放パターンに応じたファンファーレ時間の設定や、ファンファーレ/インターバル中処理を行うために必要な情報の設定等を行う。そして、大当りなら処理番号を3とし、はずれなら処理番号を0としてリターンする。
次に、ステップS332(ファンファーレ/インターバル中処理)では、大当り直後にはファンファーレ音等をスピーカ12a等から出力するファンファーレ処理を実行し、大当りのインターバル期間にはインターバル期間の表示等を実現するためのインターバル処理を実行し、変動入賞装置27の大入賞口開放を開始するタイミングで処理番号を4にする。また、ここでは大入賞口の開放時間の設定や開放回数の更新、大入賞口開放中処理を行うために必要な情報の設定等を行う。
次に、ステップS333(大入賞口開放中処理)は、変動入賞装置27の大入賞口27aや第2変動入賞装置33を開放している間の処理である。また、ここでは大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであればエンディングコマンドを設定する処理や、大入賞口残存球処理を行うために必要な情報の設定等を行う。大入賞口開放が終了すると、処理番号を5にする。
次に、ステップS334(大入賞口残存球処理)では、大入賞口内にある残存球が排出されるための時間を設定する処理や、大当りラウンドが最終ラウンドであれば大当り終了処理を行うために必要な情報の設定等を行う。具体的には、例えば大入賞口開放終了の間際に変動入賞装置27の大入賞口27a(第2変動入賞装置33大入賞口についても同様)に入った遊技球を確実にカウントするために一定時間待機する処理を行い、この一定時間が経過した後に、大当りのラウンドが残っているときには処理番号を3にし、大当りのラウンドが残っていないときには処理番号を6としてリターンする。
次に、ステップS335(大当り終了処理)では、大当たり終了後に特図普段処理S329を実行するための処理を行い、処理番号を0に戻してリターンする。
次に、処理番号に応じた上記何れかの処理が終了すると、ステップS336に進み、特図1の一括表示装置35での表示(本特図1の表示)を制御するためのテーブル(特図1変動制御テーブル)を準備し、次のステップS337では、この本特図1の変動表示のための制御処理(図柄変動制御処理)を行う。
次いでステップS338に進み、特図2の一括表示装置35での表示(本特図2の表示)を制御するためのテーブル(特図2変動制御テーブル)を準備し、次のステップS339では、この本特図2の変動表示のための制御処理(図柄変動制御処理)を行い、その後リターンする。
〔始動口スイッチ監視処理〕
次に、上述の特図ゲーム処理における始動口スイッチ監視処理(ステップS321)を図26により説明する。
始動口スイッチ監視処理では、先ず、始動入賞口25(第1始動口)による保留の情報を設定するテーブルを準備した後(ステップS351)、特図始動口スイッチ共通処理(ステップS352)を行う。なお、ステップS352における特図始動口スイッチ共通処理の詳細については、ステップS356における特図始動口スイッチ共通処理とともに後述する。
次に、普通電動役物(普通変動入賞装置26)が作動中である、即ち、普通変動入賞装置26が作動して遊技球の入賞が可能な開状態となっているか否かをチェックして(ステップS353)、普通電動役物が作動中である(ステップS353;YES)と判定すると、処理をステップS355に移行して、それ以降の処理を行う。一方、ステップS353にて、普通電動役物が作動中でない(ステップS353;NO)と判定すると、普電不正発生中であるかを判定する(ステップS354)。普電不正発生中であるかの判定では、普通変動入賞装置26への不正入賞数が不正発生判定個数(例えば5個)以上である場合に不正発生中であると判定する。
普通変動入賞装置26は、閉状態では遊技球が入賞不可能であり、開状態でのみ遊技球が入賞可能である。よって、閉状態で遊技球が入賞した場合は何らかの異常や不正が発生した場合であり、このような閉状態で入賞した遊技球があった場合はその数を不正入賞数として計数する。そして、このように計数された不正入賞数が所定の不正発生判定個数(上限値)以上である場合に不正発生中と判定する。
ステップS354にて、普電不正発生中でない(ステップS354;NO)と判定すると、第2始動口(普通変動入賞装置26)による保留の情報を設定するテーブルを準備した後(ステップS356)、特図始動口スイッチ共通処理(ステップS366)を行って、始動口スイッチ監視処理を終了する。
また、ステップS354にて、普電不正発生中である(ステップS354;YES)と判定された場合は、始動口スイッチ監視処理を終了する。即ち、第2始動記憶をそれ以上発生させないようにする。
〔特図始動口スイッチ共通処理〕
次に、上述の始動口スイッチ監視処理における特図始動口スイッチ共通処理(ステップS352、S356)を図27により説明する。
特図始動口スイッチ共通処理は、第1始動口スイッチ120や第2始動口スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
特図始動口スイッチ共通処理では、まず、第1始動口スイッチ120及び第2始動口スイッチ121のうち、監視対象の始動口スイッチ(例えば、第1始動口スイッチ120等)に入力があるか否かをチェックして(ステップS361)、監視対象の始動口スイッチに入力がない(ステップS361;NO)と判定すると、特図始動口スイッチ共通処理を終了する。一方、ステップS361にて、監視対象の始動口スイッチに入力がある(ステップS361;YES)と判定すると、対象の乱数ラッチレジスタにラッチデータがあるかを判定する(ステップS362)。
対象の乱数ラッチレジスタにラッチデータがない場合(ステップS362;NO)、すなわち乱数が抽出されていない場合は、特図始動口スイッチ共通処理を終了する。また、対象の乱数ラッチレジスタにラッチデータがある場合(ステップS362;YES)は、監視対象の始動口スイッチの始動口入賞フラグをセーブした後(ステップS363)、当該監視対象のハード乱数ラッチレジスタに抽出された大当り乱数をロードし、準備する(ステップS364)。
続けて、第1始動口スイッチ120及び第2始動口スイッチ121のうち、監視対象の始動口スイッチ(例えば、第1始動口スイッチ120等)への入賞の回数に関する情報がパチンコ機1の外部の管理装置140に対して出力する回数(始動口信号出力回数)(あと何回出力しなければならないという回数)をロードする(ステップS365)。そして、ロードした値(始動口信号出力回数)を更新(+1)して(ステップS366)、出力回数がオーバーフローするかを判定する(ステップS367)。出力回数がオーバーフローしない場合(ステップS367;NO)は、更新後の値をRWMの始動口信号出力回数領域にセーブして(ステップS368)、処理をステップS369に移行する。一方、出力回数がオーバーフローする場合(ステップS367;YES)は、ステップS368をジャンプしてステップS369に移行する。
そして、ステップS369にて、第1始動口スイッチ120及び第2始動口スイッチ121のうち、監視対象の始動口スイッチ(例えば、第1始動口スイッチ120等)に対応する更新対象の特図保留(始動記憶)数が上限値未満か否かを判定する処理を行う。
ステップS369にて、特図保留数が上限値未満である(ステップS369;YES)と判定すると、更新対象の特図保留数(例えば、特図1保留数等)を更新(+1)する処理(ステップS372)を行った後、監視対象の始動口スイッチ及び特図保留数に対応する飾り特図保留数コマンドを準備して(ステップS373)、コマンド設定処理(ステップS374)を行う。
続けて、監視対象の始動口スイッチに対応する特図保留数に対応する乱数格納領域のアドレスを算出し(ステップS375)、大当り乱数をRWMの大当り乱数格納領域にセーブする(ステップS376)。次に、監視対象の始動口スイッチの大当り図柄乱数を抽出して準備し(ステップS377)、RWMの大当り図柄乱数格納領域にセーブする(ステップS378)。さらに、変動パターン乱数1から3を抽出して各乱数に対応するRWMの変動パターン乱数格納領域にセーブする(ステップS379)。そして、特図保留情報判定処理(ステップS380)を行って、特図始動口スイッチ共通処理を終了する。
ここで、遊技制御装置100(RAM101C)は、始動入賞口25や普通変動入賞装置26の始動入賞領域への遊技球の流入に基づき、所定の乱数を抽出し前記変動表示ゲームの実行権利となる始動記憶として所定数を上限に記憶する始動入賞記憶手段をなす。また、始動入賞記憶手段(遊技制御装置100)は、第1始動入賞口(始動入賞口25)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第1始動記憶として記憶し、第2始動入賞口(普通変動入賞装置26)への遊技球の入賞に基づき抽出した各種の乱数値を、所定数を上限に第2始動記憶として記憶する。
一方、ステップS369にて、特図保留数が上限値未満でない(ステップS369;NO)と判定すると、飾り特図保留数コマンド(保留オーバーフローコマンド)を準備し(ステップS370)、コマンド設定処理(ステップS371)を行って、特図始動口スイッチ共通処理を終了する。
〔特図保留情報判定処理〕
次に、上述の始動口スイッチ共通処理における特図保留情報判定処理(ステップS380)を図28により説明する。
特図保留情報判定処理は、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に当該始動記憶に対応した結果関連情報の判定を行う先読み処理である。
特図保留情報判定処理では、まず、先読み演出を実行してよい条件を満たしているかを判定し(ステップS391)、満たしていない場合(ステップS391;NO)は、特図保留情報判定処理を終了する。また、満たしている場合(ステップS391;YES)は、以下の先読み演出に関する処理を行う。
ここで、先読み演出を実行してよい条件としては、以下の通りである。
・特図1:普通変動入賞装置26がサポート中(普電サポート中)以外、かつ大当り中以外
・特図2:条件なし(常時実行してよい)
このような条件を満たすときは、当該始動記憶に対応した結果関連情報の判定を行う先読み処理を行うことになる。
先読み演出を実行してよい条件を満たしている場合(ステップS391;YES)に行われる先読み演出に関する処理では、まず、大当り乱数値が大当り判定値と一致するか否かにより大当りであるか否かを判定する大当り判定処理(ステップS392)を行う。大当り判定処理は、始動入賞のタイミングで抽出した乱数が大当りの範囲内にあるかどうかで大当りと判定するもので、大当り判定のときは大当りフラグ領域に大当り情報がセーブされることになる。
そして、判定結果が大当りである場合(ステップS393;YES)は、対象の始動口スイッチに対応する大当り図柄乱数チェックテーブルを設定する(ステップS394)。
ここで、大当り図柄乱数チェックテーブル上に定義されている情報には、以下のものがある。
・乱数の判定値(振り分け率を表す)
・判定値に対応する停止図柄パターン
次いで、大当り図柄乱数をチェックして対応する大当り停止図柄パターンを取得して(ステップS395)、停止図柄パターンを先読み停止図柄パターン領域にセーブする(ステップS396)。一方、判定結果が大当りでない場合(ステップS393;NO)は、はずれ停止図柄パターンを設定し(ステップS396)、停止図柄パターンを先読み停止図柄パターン領域にセーブする(ステップS397)。
その後、対象の始動口スイッチ及び停止図柄パターンに対応する先読み図柄コマンドを準備し(ステップS398)、コマンド設定処理を行う(ステップS399)。次に、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS400)を行い、対象の始動口スイッチに対応する後半変動パターン設定情報テーブルを準備し(ステップS401)、特図変動表示ゲームの変動態様を設定する変動パターン設定処理を行う(ステップS402)。
そして、特図変動表示ゲームの変動態様における前半変動パターンを示す前半変動番号及び後半変動パターンを示す後半変動番号に対応する先読み変動パターンコマンドを準備して(ステップS403)、コマンド設定処理を行い(ステップS404)、特図保留情報判定処理を終了する。なお、ステップS400における特図情報設定処理、ステップS402における変動パターン設定処理は、特図普段処理で特図変動表示ゲームの開始時に実行される処理と同様である。
以上の処理により、先読み対象の始動記憶に基づく特図変動表示ゲームの結果を含む先読み図柄コマンドと、当該始動記憶に基づく特図変動表示ゲームでの変動パターンの情報を含む先読み変動パターンコマンドが準備され、演出制御装置300に送信される。これにより、始動記憶に対応した結果関連情報(大当りか否かや変動パターンの種類)の判定結果(先読み結果)を、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に演出制御装置300に対して知らせることができ、特に表示装置41に表示される飾り特図始動記憶表示を変化させるなどして、その特図変動表示ゲームの開始タイミングより前に遊技者に結果関連情報を報知することが可能となる。
すなわち、遊技制御装置100が、始動入賞記憶手段(遊技制御装置100)に始動記憶として記憶される乱数を、当該始動記憶に基づく変動表示ゲームの実行前に判定する(例えば特別結果となるか否か等を判定)事前判定手段をなす。なお、始動記憶に対応して記憶された乱数値を事前に判定する時期は、当該始動記憶が発生した始動入賞時だけではなく、当該始動記憶に基づく変動表示ゲームが行われる前であればいつでもよい。
〔大入賞口スイッチ監視処理〕
次に、上述の特図ゲーム処理における大入賞口スイッチ監視処理(ステップS322)を図29により説明する。
大入賞口スイッチ監視処理では、まず、大入賞口(変動入賞装置27又は第2変動入賞装置33)が開放中であるか、すなわち特別遊技状態中かを判定する(ステップS411)。大入賞口が開放中でない場合(ステップS411;NO)は、大入賞口スイッチ監視処理を終了する。
一方、大入賞口が開放中である場合(ステップS411;YES)は、今回の大入賞口スイッチ監視処理において加算される大入賞口への入賞数をカウントするための入賞カウンタに0をセットする(ステップS412)。入賞カウンタは、大入賞口の一のラウンドの開放で入った球を数え、後述のステップS429の処理で大入賞口カウント数に加算するために設けられたカウンタである。
次いで、下大入賞口(変動入賞装置27)が開放中であるか、すなわち変動入賞装置27を開放する特別遊技状態中かを判定する(ステップS413)。
下大入賞口が開放中である場合(ステップS413;YES)は、一のラウンドの終了時に行われる大入賞口残存球処理中であるかを判定する(ステップS414)。これは、残存球処理中における下大入賞口(変動入賞装置27)への入賞については監視を行わないようにするために、大入賞口残存球処理中であるかを判定するものである。
そして、大入賞口残存球処理中である場合は(ステップS414;YES)は、大入賞口スイッチ監視処理を終了する。また、大入賞口残存球処理中でない場合は(ステップS414;NO)は、下大入賞口スイッチ1(一方の下カウントスイッチ124)に入力があるかを判定する(ステップS415)。
下大入賞口スイッチ1に入力がない場合(ステップS415;NO)は、下大入賞口スイッチ2(他方の下カウントスイッチ124)に入力があるかを判定する(ステップS419)。また、下大入賞口スイッチ1に入力がある場合(ステップS415;YES)は、入賞カウンタを+1更新し(ステップS416)、下大入賞口カウントコマンドを準備する(ステップS417)。そして、コマンド設定処理(ステップS418)を行い、下大入賞口スイッチ2(他方の下カウントスイッチ124)に入力があるかを判定する(ステップS419)。
下大入賞口スイッチ2に入力がない場合(ステップS419;NO)は、入賞カウンタの値が0であるかを判定する(ステップS428)。また、下大入賞口スイッチ2に入力がある場合(ステップS419;YES)は、入賞カウンタを+1更新し(ステップS420)、下大入賞口カウントコマンドを準備する(ステップS421)。そして、コマンド設定処理(ステップS422)を行い、入賞カウンタの値が0であるかを判定する(ステップS428)。
一方、下大入賞口が開放中でない場合(ステップS413;NO)、すなわち上大入賞口(第2変動入賞装置33)が開放中である(第2変動入賞装置33を開放する特別遊技状態中である)場合は、上大入賞口スイッチ(上カウントスイッチ125)に入力があるかを判定する(ステップS423)。上大入賞口スイッチに入力がない場合(ステップS423;NO)は、大入賞口スイッチ監視処理を終了する。また、上大入賞口スイッチに入力がある場合(ステップS423;YES)は、大入賞口残存球処理中であるかを判定する(ステップS424)。
大入賞口残存球処理中でない場合(ステップS424;NO)は、入賞カウンタを+1更新し(ステップS425)、上大入賞口カウントコマンドを準備する(ステップS426)。また、大入賞口残存球処理中である場合(ステップS424;YES)はステップS425をジャyンプして、上大入賞口カウントコマンドを準備する(ステップS426)。その後、コマンド設定処理(ステップS427)を行い、入賞カウンタの値が0であるかを判定する(ステップS428)。上大入賞口の場合は、入賞による演出を行うために大入賞口残存球処理中であっても上大入賞口カウントコマンドを送信するようになっている。
入賞カウンタの値が0であるかの判定(ステップS428)において、入賞カウンタの値が0である場合(ステップS428;YES)は、大入賞口スイッチ監視処理を終了する。
また、入賞カウンタの値が0でない場合(ステップS428;NO)は、入賞カウンタの値を大入賞口カウント数に加算する(ステップS429)。これは、上下各大入賞口への球の入賞時には入賞したことを示すコマンドを払出制御装置200へ送信するとともに入賞カウンタで計数(ステップS416、ステップS420、ステップS425)しておき、あとの処理になるこのステップS429にて実際の大入賞口カウント数に加算するようにしたものである。
次いで、大入賞口カウント数が上限値(一のラウンドで入賞可能な遊技球数:例えば10個)以上となったかを判定する(ステップS430)。
大入賞口カウント数が上限値以上となっていない場合(ステップS430;NO)は、大入賞口スイッチ監視処理を終了する。また、大入賞口カウント数が上限値以上となった場合(ステップS430;YES)は、大入賞口カウント数を上限値に留め(ステップS431)、特図ゲーム処理タイマ領域を0クリアする(ステップS432)。そして、大当り中制御ポインタ上限値領域からポインタをロードし(ステップS433)、ロードしたポインタを大当り中制御ポインタ領域にセーブして(ステップS434)、大入賞口スイッチ監視処理を終了する。ステップS433、ステップS434の処理は、大入賞口カウント数が上限値以上になったことに基づき、大入賞口を閉じるための処理を行うものである。これにより、大入賞口が閉鎖されて一のラウンドが終了することとなる。
〔図柄変動制御処理〕
次に、上述の特図ゲーム処理における図柄変動制御処理(ステップS337、S339)の詳細について図30により説明する。
図柄変動制御処理は、第1特図や第2特図等の特別図柄の変動の制御と特別図柄の表示データの設定を行う処理である。図柄変動制御処理では、まず、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る特図変動制御フラグが変動中であるかをチェックする(ステップS441)。
そして、当該特図変動中フラグが変動中である場合(ステップS442;YES)は、制御対象の特図(例えば、第1特図)に対応する図柄表示テーブル(変動用)を取得する(ステップS443)。
ここで、特図ゲーム処理にて準備された変動制御テーブル上に定義されている情報は、以下の通りである。
・変動制御領域の下位アドレス
・表示テーブル2(停止用)のポインタ
・表示テーブル1(変動用)のポインタ
次いで、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る点滅制御タイマを−1更新して(ステップS444)、当該タイマの値が0、すなわちタイムアップしたかを判定する(ステップS445)。
点滅制御タイマの値が0でない場合(ステップS445;NO)は、対象の変動図柄番号領域の値に対応する表示データを取得する(ステップS448)。また、点滅制御タイマの値が0である場合(ステップS445;YES)は、点滅制御タイマ初期値を制御対象の点滅制御タイマ領域にセーブし(ステップS446)、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る変動図柄番号を+1更新して(ステップS447)、対象の変動図柄番号領域の値に対応する表示データを取得する(ステップS4448)。その後、取得した表示データを対象のセグメント領域にセーブして(ステップS449)、図柄変動制御処理を終了する。
一方、特図変動中フラグが変動中でない場合(ステップS442;NO)は、制御対象の特図(例えば、第1特図)に対応する図柄表示テーブル(停止用)を取得する(ステップS450)。そして、対象の変動図柄番号領域の値に対応する表示データを取得し(ステップS451)、取得した表示データを対象のセグメント領域にセーブして(ステップS449)、図柄変動制御処理を終了する。これにより、一括表示装置35の中のLEDセグメントである特図1表示器及び特図2表示器のうち、制御対象となる特図表示器(例えば、特図1表示器)に図柄番号に対応した特図が表示されることとなる。
〔特図普段処理〕
次に、上述の特図ゲーム処理における特図普段処理(ステップS329)の詳細について図31により説明する。
特図普段処理では、まず、第2特図保留数(第2始動記憶数)が0であるか否かをチェックする(ステップS461)。
特図2保留数が0である(ステップS461;YES)と判定すると、特図1保留数(第1始動記憶数)が0であるかを判定する(ステップS466)。そして、特図1保留数が0である(ステップS466;YES)と判定すると、客待ちデモが開始済みであるかを判定し(ステップS471)、客待ちデモが開始済みでない場合(ステップS471;NO)は、客待ちデモフラグ領域に客待ちデモ中フラグをセーブする(ステップS472)。
続けて、客待ちデモコマンドを準備して(ステップS473)、コマンド設定処理(ステップS474)を行い、特図普段処理移行設定処理1(ステップS475)を行って、特図普段処理を終了する。一方、ステップS471にて、客待ちデモが開始済みである場合(ステップS471;YES)は、特図普段処理移行設定処理1(ステップS475)を行って、特図普段処理を終了する。なお、特図普段処理移行設定処理1(ステップS475)の詳細は図32で後述する。
一方、ステップS461にて、特図2保留数が0でない場合(ステップS461;NO)は、−1更新後の特図2保留数に対応する飾り特図保留数コマンドを準備し(ステップS462)、コマンド設定処理(ステップS463)を行う。次に、特図2変動開始処理(ステップS464)を行い、特図2の特図変動中処理移行設定処理(ステップS465)を行って、特図普段処理を終了する。
また、ステップS466にて、特図1保留数が0でない場合(ステップS466;NO)は、−1更新後の特図1保留数に対応する飾り特図保留数コマンドを準備し(ステップS467)、コマンド設定処理(ステップS468)を行う。次に、特図1変動開始処理(ステップS469)を行い、特図1の特図変動中処理移行設定処理(ステップS470)を行って、特図普段処理を終了する。
なお、飾り特図保留数コマンドを準備する処理(ステップS467、S462)を行う時点では特図変動表示ゲームの開始に基づく保留数の減算は行われておらず、現在の特図1保留数又は特図2保留数から−1した特図1保留数又は特図2保留数に対応する保留数コマンドを準備している。実際に特図1保留数又は特図2保留数を−1更新する処理は特図1変動開始処理(ステップS469)又は特図2変動開始処理(ステップS464)における変動開始情報設定処理(図41参照)のステップS611で行われる。
このように、特図2保留数のチェックを特図1保留数のチェックよりも先に行うことで、特図2保留数が0でない場合には特図2変動開始処理(ステップS464)が実行されることとなる。すなわち、第2特図変動表示ゲームが第1特図変動表示ゲームに優先して実行されることとなる。つまり、遊技制御装置100が、第2始動記憶手段(遊技制御装置100)に第2始動記憶がある場合には、当該第2始動記憶に基づく変動表示ゲームを、第1始動記憶に基づく変動表示ゲームよりも優先的に実行する優先制御手段をなす。
また、実施例1では図柄の変動開始時の遊技制御装置100から演出制御装置300にコマンドを送信する際の送信順序が保留数、停止図柄、変動パターンという順番になる。
〔特図普段処理移行設定処理1〕
次に、上述の特図普段処理における特図普段処理移行設定処理1(ステップS475)の詳細について図32により説明する。
このルーチンが開始されると、まずステップS481で処理番号として「0」を設定(例えば、特図普段処理に移行するためのテーブルを準備して当該テーブルに特図普段処理に係る処理番号「0」を設定)し、ステップS482で特図ゲーム処理番号領域に処理番号をセーブする。
次いで、ステップS483で変動図柄判別フラグ領域をクリアし、ステップS484で下大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブし、ステップS485で上大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブする。これは、上下に大入賞口(変動入賞装置27、第2変動入賞装置33)があることから、各大入賞口に対応する不正監視期間フラグ領域にそれぞれ不正監視期間中フラグをセーブするものである。ステップS485を経ると、特図普段処理移行設定処理1を終了する。
これにより、特図普段処理に移行するための各種データ、例えば特図普段処理に係る処理番号「0」を設定し、各大入賞口不正監視期間を規定するそれぞれのフラグ(各大入賞口不正監視情報)を設定する処理が行われる。
〔特図1変動開始処理1〕
次に、上述の特図普段処理における特図1変動開始処理1(ステップS469)の詳細について図33により説明する。
特図1変動開始処理は、第1特図変動表示ゲームの開始時に行う処理であり、具体的には、図33に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図1)を示す特図1変動フラグを変動図柄判別領域にセーブし(ステップS491)、第1特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ1にはずれ情報や大当り情報を設定する大当りフラグ1設定処理(ステップS492)を行う。なお、ステップS492における大当りフラグ1設定処理の詳細については後述する。
次に、特図1停止図柄(図柄情報)の設定に係る特図1停止図柄設定処理(ステップS493)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS494)を行い、第1特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図1変動パターン設定情報テーブルを準備する(ステップS495)。その後、第1特図変動表示ゲームにおける変動態様である変動パターンを設定する変動パターン設定処理(ステップS496)を行い、第1特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップS497)を行って、特図1変動開始処理を終了する。
なお、ステップS493における特図1停止図柄設定処理、ステップS494における
特図情報設定処理、ステップS496における変動パターン設定処理、ステップS497における変動開始情報設定処理の詳細については後述する。
〔大当りフラグ1設定処理〕
次に、上述の特図1変動開始処理1における大当りフラグ1設定処理(ステップS492)の詳細について図34により説明する。
ルーチンが開始すると、ステップS501で大当りフラグ1領域にはずれ情報をセーブする。大当り判定前には、予めはずれの情報をセットしておくためである。次いで、ステップS502でRWMの特図1大当り乱数格納領域(保留数1用)から大当り乱数をロードして準備する。なお、保留数1用とは、消化順序が最先(ここでは特図1のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、取得した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS503)を行う。これは、今回、抽出した特図1に対応する大当り乱数が大当りの範囲(大当り下限判定値と上限判定値の間にある値:大当り判定値と一致)にあるかどうかをチェックするもので、大当りの範囲内にあれば、大当りと判断できる(詳細ルーチンは後述)。
ステップS503のチェック結果はステップS504で判定し、判定結果が大当り(YES)であれば、ステップS505に進み、ステップS501にてはずれ情報をセーブした大当りフラグ1領域に大当り情報を上書きしてセーブし、大当りフラグ1設定処理を終了する。
一方、ステップS504でNOのとき(はずれのとき)には、大当りフラグ1設定処理を終了する。したがって、このときは、大当りフラグ1にはずれ情報がセーブされた状態で処理を終わり、大当りフラグ1は設定されない。
〔大当り判定処理〕
次に、上述の大当りフラグ1設定処理における大当り判定処理(ステップS503)の詳細について図35により説明する。
ルーチンが開始すると、ステップS511で大当り判定用の下限判定値を設定する処理を行う。その後、ステップS512で対象の大当り乱数の値が下限判定値未満であるか否かをチェック、つまり、図34のステップS502で読み込んだ大当り乱数の値が、当該大当り乱数の当り判定値の下限値未満であるかをチェックする。
なお、大当りであるとは大当り乱数が大当り判定値と一致することである。大当り判定値は連続する複数の値であり、大当り乱数が、大当り判定値の下限の値である下限判定値以上で、かつ、大当り判定値の上限の値である上限判定値以下である場合に、大当りであると判定される。
ステップS512で大当り乱数の値が下限判定値未満であると判定すると、ステップS517に分岐し、判定結果としてはずれを設定し、リターンする。
一方、ステップS512で大当り乱数の値が下限判定値未満でなければ、ステップS513に進んで、高確率中か否かを判定する。これは、確率変動により大当り確率が高い状態にあるかどうかを判定するもの、すなわち、特図変動表示ゲームにて当り結果となる確率が高確率状態(確率変動状態)となっているか否かを判定するものである。高確率中であれば、ステップS514で高確率中における大当り判定用の上限判定値を設定する処理を行い、その後、ステップS516に進む。
また、ステップS513で高確率中でないと判定すると、ステップS515に分岐し、低確率中における大当り判定用の上限判定値を設定する処理を行い、その後、ステップS516に進む。
このようにして、高確率中と低確率中の上限判定値が設定された場合、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあれば、大当りと判断できることになる。
そのため、ステップS516では対象の大当り乱数の値が上限判定値より大きいか(上限判定値を超えたか)否かをチェックし、ステップS516で大当り乱数の値が上限判定値より大きいと判定(ステップS516;YES)すると、大当りではないと判断できるので、ステップS517に進んで判定結果としてはずれを設定し、リターンする。
一方、ステップS516で対象の大当り乱数の値が上限判定値以下である(上限判定値を超えていない)と判定(ステップS516;NO)すると、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあらから、大当りと判断して、ステップS518で判定結果として大当りを設定してリターンする。
〔特図1停止図柄設定処理〕
次に、上述の特図1変動開始処理1における特図1停止図柄設定処理(ステップS493)の詳細について図36により説明する。
ルーチンが開始すると、ステップS521で大当りフラグ1が大当りか(大当り情報がセーブされているか)どうかをチェックし、大当りである場合(ステップS521;YES)は、特図1大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS522)。次に、特図1大当り図柄テーブルを設定する(ステップS523)。
ここで、特図1大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
続けて、ステップS524に進み、ロードした大当り図柄乱数に対応する停止図柄番号を取得して特図1停止図柄番号領域にセーブする。この処理により特別結果の種類が選択される。停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図1表示器)での停止図柄を設定するものである。
その後、大当り停止図柄情報テーブルを設定し(ステップS525)、停止図柄番号に対応する停止図柄パターンを取得して停止図柄パターン領域にセーブする(ステップS526)。停止図柄パターンとは、表示装置41での停止図柄の種別(はずれ、16R確変、11R確変、2R確変、11R通常など)を設定するためのものである。次に、停止図柄番号に対応する確率変動判定フラグを取得して確率変動判定フラグ領域にセーブする(ステップS527)。確率変動判定フラグは特別遊技状態の終了後の確率状態を設定するためのものである。
さらに、停止図柄番号に対応するラウンド数上限値情報を取得してラウンド数上限値情報領域にセーブし(ステップS528)、停止図柄番号に対応する大入賞口開放情報を取得して大入賞口開放情報領域にセーブする(ステップS529)。これらの情報は、特別遊技状態の実行態様を設定するためのものである。そして、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS532)。
一方、ステップS521で大当りフラグ1が大当りでない場合(ステップS521;NO)は、はずれ時の停止図柄番号を特図1停止図柄番号領域にセーブし(ステップS530)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップS531)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS532)。
飾り特図コマンドは、例えば11種類あり、この種類の違いにより演出制御装置300における特図種別が判別できるようになっている。
以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップS533)、コマンド設定処理(ステップS534)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブして(ステップS535)、特図1大当り図柄乱数格納領域(保留数1用)を0クリアして(ステップS536)、特図1停止図柄設定処理を終了する。
〔特図情報設定処理〕
次に、上述の特図1変動開始処理における特図情報設定処理(ステップS494)の詳細について図37により説明する。
特図情報設定処理では、まず、特図時短中(時短状態)であるかを判定する(ステップS541)。
ここで、時短とは例えば大当たり終了後、特図や普図の変動時間を通常よりも短縮し、時間効率を高めるとともに、普図当たり確率を高めて普通電動役物(普電)(第2始動入賞口26)の開放(普電の開放時間を通常よりも長くすることも含む)による始動口への入賞のサポート(つまり、普電サポート)を行うことであり、そのうち、特図時短は特図に関してのものであり、特図の変動時間を短縮し、かつ普電サポートを行う状態である。
特図時短中でない場合(ステップS541;NO)は、通常時の変動パターン選択グループ情報テーブルを設定する(ステップS542)。また、特図時短中である場合(ステップS541;YES)は、時短時の変動パターン選択グループ情報テーブルを設定する(ステップS543)。ステップS542を経ると、ステップS544に進む。また、ステップS543を経た場合もステップS544に進む。
そして、ステップS544に進むと、変動図柄判別フラグに対応する特図保留数をロードし、その後、特図保留数に対応する変動パターン選択グループ情報を取得して変動振分情報1領域にセーブする(ステップS545)。これにより、変動振分情報1領域には、変動を開始する特図の種別(特図1又は特図2)と、当該特図の種別についての始動記憶数に関する情報である保留数情報と、時短状態か否かの情報を含む遊技状態情報とから求められる変動振分情報1がセーブされる。この変動振分情報1は後に変動グループを選択するために用いられる。
なお、変動グループとは複数の変動パターンが含まれたもので、変動パターンを決定する際には、まず変動グループを選択し、さらにこの変動グループの中から一の変動パターンを選択するようになっている。
次に、振分ベースポインタテーブルを設定し(ステップS546)、停止図柄パターンに対応する振分ベースポインタを取得する(ステップS547)。さらに、取得したポインタに演出モード番号を加算し(ステップS548)、加算後の値を変動振分情報2領域にセーブして(ステップS549)、特図情報設定処理を終了する。
これにより、変動振分情報2領域には、停止図柄パターン情報と、演出モード情報とからとから求められる変動振分情報2がセーブされる。この変動振分情報2は後に変動グループを選択するために用いられる。なお、演出モードは、確率状態、時短状態の有無、特図変動表示ゲームの進行状況などに応じて、複数の演出モードから一の演出モードが設定されるようになっている。
〔変動パターン設定処理〕
次に、上述の特図1変動開始処理における変動パターン設定処理(ステップS496)の詳細について図38により説明する。
なお、変動パターンは、特図変動表示ゲームの開始からリーチ状態となるまでの変動態様である前半変動パターンと、リーチ状態となってから特図変動表示ゲームの終了までの変動態様である後半変動パターンとからなり、先に後半変動パターンを設定してから前半変動パターンを設定する。
変動パターン設定処理では、まず、変動グループ選択アドレステーブルを設定し(ステップS551)、変動振分情報2に対応する後半変動グループテーブルのアドレスを取得して準備する(ステップS552)。そして、演出モード番号が2未満(0又は1の何れか)であるかを判定する(ステップS553)。
演出モード番号が2未満でない場合(ステップS553;NO)は、停止図柄パターンがはずれ停止図柄パターンであるかを判定する(ステップS554)。これは、保留数によって振分が異なるパターン(モード)か否かを判定するものである。
次いで、停止図柄パターンがはずれ停止図柄パターンでない場合(ステップS554;NO)は、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードして準備する(ステップS557)。
一方、演出モード番号が2未満である場合(ステップS553;YES)や、停止図柄パターンがはずれ停止図柄パターンである場合(ステップS554;YES)は、ステップS552で準備したテーブルから変動振分情報1に対応するテーブルのアドレスを取得する(ステップS555)。ステップS555の処理は、保留数によって振分が異なるパターン(モード)であった場合に行うものである。
次に、取得したアドレスを後半変動グループのアドレスとして準備し(ステップS556)、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードして準備する(ステップS557)。
演出モード番号が2未満である場合や、停止図柄パターンがはずれ停止図柄パターンである場合は、始動記憶数に関する情報である保留数情報から求められた変動振分情報1も加味してアドレスを取得することで、始動記憶数によって変動パターンの選択態様が異なるようにされている。
その後、2バイト振分処理(ステップS558)を行い、振り分けられた結果得られた後半変動選択テーブルのアドレスを取得して準備し(ステップS559)、対象の変動パターン乱数2格納領域(保留数1用)から変動パターン乱数2をロードして準備する(ステップS560)。そして、振り分け処理(ステップS561)を行い、振り分けられた結果得られた後半変動番号を取得し、後半変動番号領域にセーブする(ステップS602)。この処理により、後半変動パターンが設定されることとなる。
次に、前半変動グループテーブルを設定し(ステップS563)、変動振分情報1と2(決定された後半変動番号を含む)を基にテーブル選択ポインタを算出する(ステップS564)。そして、算出したポインタに対応する前半変動選択テーブルのアドレスを取得して準備し(ステップS565)、対象の変動パターン乱数3格納領域(保留数1用)から乱数をロードして準備する(ステップS566)。その後、振り分け処理(ステップS567)を行い、振り分けられた結果得られた前半変動番号を取得して前半変動番号領域にセーブし(ステップS568)、変動パターン設定処理を終了する。この処理により、前半変動パターンが設定され、特図変動表示ゲームの変動パターンが設定されることとなる。
〔2バイト振り分け処理〕
次に、上述の変動パターン設定処理における2バイト振り分け処理(ステップS558)の詳細について図39により説明する。
2バイト振り分け処理は、変動パターン乱数1に基づいて後半変動グループテーブルから特図変動表示ゲームの後半変動選択テーブルを選択するための処理である。
この2バイト振り分け処理では、まず、変動パターン設定処理にて準備した後半変動グループテーブル(選択テーブル)の先頭のデータが振り分けなしのコード(即ち、「0」)であるかをチェックする(ステップS571)。ここで、後半変動グループテーブルは、少なくとも一の後半変動パターングループと対応付けて所定の振り分け値を記憶しているが、後半変動パターンが「リーチなし」となる後半変動パターングループのみを規定する後半変動グループテーブル(例えば、結果がはずれの場合の一部の変動グループテーブル)のような場合には、振分けの必要がないため、振り分け値「0」、即ち、振り分けなしのコードが先頭に規定されている。
そして、後半変動グループテーブルの先頭のデータが振り分けなしのコードである場合(ステップS572;YES)は、振り分けた結果に対応するデータのアドレスに更新して(ステップS577)、2バイト振り分け処理を終了する。一方、後半変動グループテーブルの先頭のデータが振り分けなしのコードでない場合(ステップS572;NO)は、後半変動グループテーブルに最初に規定されている一の振り分け値を取得する(ステップS573)。
続けて、ステップS557にてロードされた乱数値(変動パターン乱数1の値)からステップS573にて取得された振り分け値を減算して新たな乱数値を算出し(ステップS574)、当該算出された新たな乱数値が「0」よりも小さいかを判定する(ステップS575)。新たな乱数値が「0」よりも小さくない場合(ステップS575;NO)は、次の振り分け値のアドレスに更新した後(ステップS576)、処理をステップS573に移行して、それ以降の処理を行う。即ち、ステップS573にて、変動グループ選択テーブルに次に規定されている振り分け値を取得した後、ステップS575にて判定済みの乱数値を新たな乱数値として振り分け値を減算し、さらに新たな乱数値を算出する(ステップS574)。そして、算出された新たな乱数値が「0」よりも小さいか否かを判定する(ステップS575)。
上記の処理をステップS575にて、新たな乱数値が「0」よりも小さい(ステップS575;YES)と判定するまで実行する。これにより、後半変動グループテーブルに規定されている少なくとも一の後半変動選択テーブルの中から何れか一の後半変動選択テーブルが選択される。そして、ステップS575にて、新たな乱数値が「0」よりも小さい(ステップS575;YES)と判定すると、振り分けた結果に対応するデータのアドレスに更新して(ステップS577)、2バイト振り分け処理を終了する。
〔振り分け処理〕
次に、上述の変動パターン設定処理における振り分け処理(ステップS561、S567)の詳細について図40により説明する。
振り分け処理は、変動パターン乱数2に基づいて、後半変動選択テーブル(後半変動パターングループ)から特図変動表示ゲームの後半変動パターンを選択したり、変動パターン乱数3に基づいて、前半変動選択テーブル(前半変動パターングループ)から特図変動表示ゲームの前半変動パターンを選択したりするための処理である。
この振り分け処理では、まず、準備された後半変動選択テーブル(選択テーブル)や前半変動選択テーブル(選択テーブル)の先頭のデータが振り分けなしのコード(即ち、「0」)であるか否かをチェックする(ステップS581)。ここで、後半変動選択テーブルや前半変動選択テーブルは、後半変動グループテーブルと同様に、少なくとも一の後半変動パターンや前半変動パターンと対応付けて所定の振り分け値を記憶しているが、振分けの必要がない選択テーブルの場合、振り分け値「0」、即ち、振り分けなしのコードが先頭に規定されている。
そして、後半変動選択テーブルや前半変動選択テーブルの先頭のデータが振り分けなしのコードである場合(ステップS582;YES)は、振り分けた結果に対応するデータのアドレスに更新して(ステップS587)、振り分け処理を終了する。一方、後半変動選択テーブルや前半変動選択テーブルの先頭のデータが振り分けなしのコードでない場合(ステップS582;NO)は、後半変動選択テーブルや前半変動選択テーブルに最初に規定されている一の振り分け値を取得する(ステップS583)。
続けて、ステップS560やS566にてロードされた乱数値(変動パターン乱数2や変動パターン乱数3の値)からステップS583にて取得された振り分け値を減算して新たな乱数値を算出した後(ステップS584)、当該算出された新たな乱数値が「0」よりも小さいかを判定する(ステップS585)。そして、新たな乱数値が「0」よりも小さくない場合(ステップS585;NO)は、次の振り分け値のアドレスに更新した後(ステップS586)、処理をステップS583に移行して、それ以降の処理を行う。
即ち、ステップS583にて、後半変動選択テーブルや前半変動選択テーブルに次に規定されている振り分け値を取得した後、ステップS585にて判定済みの乱数値を新たな乱数値として振り分け値を減算し、さらに新たな乱数値を算出する(ステップS584)。そして、算出された新たな乱数値が「0」よりも小さいか否かを判定する(ステップS585)。上記の処理をステップS585にて、新たな乱数値が「0」よりも小さい(ステップS585;YES)と判定するまで実行する。これにより、後半変動選択テーブルや前半変動選択テーブルに規定されている少なくとも一の後半変動パターンや前半変動パターンの中から何れか一の後半変動番号や前半変動番号を選択する。そして、ステップS585にて、新たな乱数値が「0」よりも小さい(ステップS585;YES)と判定すると、振り分けた結果に対応するデータのアドレスに更新して(ステップS587)、振り分け処理を終了する。
〔変動開始情報設定処理〕
次に、上述の特図1変動開始処理における変動開始情報設定処理理(ステップS497)の詳細について図41により説明する。
変動開始情報設定処理では、まず、対象となる変動パターン乱数1〜3のRWMの乱数格納領域をクリアした後(ステップS601)、変動パターン設定処理にて取得された前半変動番号に対応する前半変動時間値テーブルの値を取得する処理(ステップS602)を行い、続けて、前半変動番号に対応する前半変動時間値を取得する処理(ステップS603)を行い、さらに、後半変動パターン設定処理にて取得された後半変動番号に対応する後半変動時間値テーブルを設定する処理(ステップS604)を行う。
次に、後半変動番号に対応する後半変動時間値を取得する処理(ステップS605)を行い、続けて、取得された前半変動時間値と後半変動時間値とを加算する処理(ステップS606)を行った後、加算値を特図ゲーム処理タイマ領域にセーブする(ステップS607)。
続けて、前半変動番号に対応する変動コマンド(MODE)を算出して準備した後(ステップS608)、後半変動番号の値を変動コマンド(ACTION)として準備して(ステップS609)、コマンド設定処理(ステップS610)を行う。
次に、変動図柄判別フラグに対応する特図保留数を−1更新し(ステップS611)、変動図柄判別フラグに対応する乱数格納領域のアドレスを設定して(ステップS612)、乱数格納領域をシフトし(ステップS613)、シフト後の空き領域を0クリアする(ステップS614)。
その後、特図変動表示ゲームの結果を表示する停止時間の延長に関する処理として、まず、停止延長情報領域をクリアする(ステップS615)。そして、停止図柄パターンがはずれ停止図柄パターンであり(ステップS616;YES)、演出モード番号が2であり(ステップS617;YES)、当該演出モードでの残り回転数(ゲーム数)が1である場合(ステップS618;YES)は、特図高確率(高確率状態)中であるかを判定する(ステップS619)。
特図高確率中でない場合(ステップS619;NO)は、停止延長情報1を停止延長情報領域にセーブし(ステップS620)、停止延長情報に対応する停止情報コマンドを準備して(ステップS622)、コマンド設定処理(ステップS623)を行い、変動開始情報設定処理を終了する。これにより、停止時間が通常特図表示時間(通常停止時間)よりも延長された特図延長表示時間1(第1延長停止時間)に設定される。
また、特図高確率中である場合(ステップS519;YES)は、停止延長情報2を停止延長情報領域にセーブし(ステップS621)、停止延長情報に対応する停止情報コマンドを準備して(ステップS622)、コマンド設定処理(ステップS623)を行い、変動開始情報設定処理を終了する。これにより、停止時間が通常特図表示時間よりも延長された特図延長表示時間2(第2延長停止時間)に設定される。
一方、停止図柄パターンがはずれ停止図柄パターンでない場合(ステップS616;NO)や、演出モード番号が2でない場合(ステップS617;NO)、演出モード2での残り回転数(ゲーム数)が1でない場合(ステップS618;NO)は、変動開始情報設定処理を終了する。この場合は停止時間の延長が設定されず、通常停止時間が設定される。
このように、特図変動表示ゲームの停止時間は、当該特図変動表示ゲームの結果や特定回転数であるか否か、演出モードの状態に基づき、当該特図変動表示ゲームの開始時に設定が行われるようになっている。これにより、例えば変動時間と停止時間とで連続する演出を設定することが可能となり、遊技の興趣を向上することができる。
以上の処理により、特図変動表示ゲームの開始に関する情報が設定される。すなわち、遊技制御装置100が、始動記憶手段(遊技制御装置100)に記憶された各種の乱数値の判定を行う判定手段をなす。また、遊技制御装置100が、始動記憶の判定情報に基づいて、変動表示ゲームで実行する識別情報の変動パターンを決定することが可能な変動パターン決定手段をなす。
そして、これらの特図変動表示ゲームの開始に関する情報は後に演出制御装置300に送信され、演出制御装置300では、特図変動表示ゲームの開始に関する情報の受信に基づき、決定された変動パターンに応じて飾り特図変動表示ゲームでの詳細な演出内容を設定する。これらの特図変動表示ゲームの開始に関する情報としては、始動記憶数(保留数)に関する情報を含む飾り特図保留数コマンド、停止図柄に関する情報を含む飾り特図コマンド、特図変動表示ゲームの変動パターンに関する情報を含む変動コマンド、停止時間の延長に関する情報を含む停止情報コマンドが挙げられ、この順でコマンドが演出制御装置300に送信される。特に、飾り特図コマンドを変動コマンドよりも先に送信することで、演出制御装置300での処理を効率よく進めることができる。
〔特図2変動開始処理〕
次に、上述の特図普段処理における特図2変動開始処理1(ステップS464)の詳細について図42により説明する。
特図2変動開始処理は、第2特図変動表示ゲームの開始時に行う処理であって、図33に示した特図1変動開始処理での処理と同様の処理を、第2始動記憶を対象として行うものである。
ルーチンが開始すると、まず、実行する特図変動表示ゲームの種別(ここでは特図2)を示す特図2変動フラグを変動図柄判別領域にセーブし(ステップS631)、第2特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ2にはずれ情報や大当り情報を設定する大当りフラグ2設定処理(ステップS632)を行う。なお、ステップS632における大当りフラグ2設定処理の詳細については後述する。
次に、特図2停止図柄(図柄情報)の設定に係る特図2停止図柄設定処理(ステップS633)を行った後、変動パターンを設定するためのパラメータである特図情報を設定する特図情報設定処理(ステップS634、図37参照)を行い、第2特図変動表示ゲームの変動パターンの設定に関する種々の情報を参照するための情報が設定されたテーブルである特図2変動パターン設定情報テーブルを準備する(ステップS635)。その後、第2特図変動表示ゲームの変動パターンを設定する変動パターン設定処理(ステップS636、図38参照)を行い、第2特図変動表示ゲームの変動開始の情報を設定する変動開始情報設定処理(ステップS637、図41参照)を行って、特図2変動開始処理を終了する。
〔大当りフラグ2設定処理〕
次に、上述の特図2変動開始処理1における大当りフラグ2設定処理(ステップS632)の詳細について図43により説明する。
この処理は、図34に示した大当りフラグ1設定処理での処理と同様の処理を、第2始動記憶を対象として行うものである。この大当りフラグ2設定処理では、まず、大当りフラグ2領域にはずれ情報をセーブする(ステップS641)。大当り判定前には、予めはずれの情報をセットしておくためである。次に、RWMの特図2大当り乱数格納領域(保留数1用)から大当り乱数をロードして準備する(ステップS642)。なお、保留数1用とは、消化順序が最先(ここでは特図2のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、取得した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS643、図35参照)を行う。これは、今回、抽出した特図2に対応する大当り乱数が大当りの範囲(大当り下限判定値と上限判定値の間にある値:大当り判定値と一致)にあるかどうかをチェックするもので、大当りの範囲内にあれば、大当りと判断できる。
そして、大当り判定処理(ステップS643)の判定結果が大当りである場合(ステップS644;YES)は、ステップS641にてはずれ情報をセーブした大当りフラグ2領域に大当り情報を上書きしてセーブし(ステップS645)、大当りフラグ2設定処理を終了する。一方、大当り判定処理(ステップS643)の判定結果が大当りでない場合(ステップS644;NO)は、大当りフラグ2にはずれ情報をセーブしたまま大当りフラグ2設定処理を終了する。したがって、このときは、大当りフラグ2にはずれ情報がセーブされた状態で処理を終わり、大当りフラグ2は設定されない。
〔特図2停止図柄設定処理〕
次に、上述の特図2変動開始処理における特図2停止図柄設定処理(ステップS633)の詳細について図44により説明する。
この処理は、図36に示した特図2停止図柄設定処理と同様の処理を、第2始動記憶を対象として行うものである。
ルーチンが開始すると、ステップS651で大当りフラグ2が大当りか(大当り情報がセーブされているか)どうかをチェックし、大当りである場合(ステップS651;YES)は、特図2大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS652)。次に、特図2大当り図柄テーブルを設定する(ステップS653)。
ここで、特図2大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
続けて、ステップS654に進み、ロードした大当り図柄乱数に対応する停止図柄番号を取得して特図2停止図柄番号領域にセーブする。この処理により特別結果の種類が選択される。停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図2表示器)での停止図柄を設定するものである。
その後、大当り停止図柄情報テーブルを設定し(ステップS655)、停止図柄番号に対応する停止図柄パターンを取得して停止図柄パターン領域にセーブする(ステップS656)。停止図柄パターンとは、表示装置41での停止図柄の種別(はずれ、16R確変、11R確変、2R確変、11R通常など)を設定するためのものである。次に、停止図柄番号に対応する確率変動判定フラグを取得して確率変動判定フラグ領域にセーブする(ステップS657)。確率変動判定フラグは特別遊技状態の終了後の確率状態を設定するためのものである。
さらに、停止図柄番号に対応するラウンド数上限値情報を取得してラウンド数上限値情報領域にセーブし(ステップS658)、停止図柄番号に対応する大入賞口開放情報を取得して大入賞口開放情報領域にセーブする(ステップS659)。これらの情報は、特別遊技状態の実行態様を設定するためのものである。そして、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS662)。
一方、ステップS651で大当りフラグ2が大当りでない場合(ステップS651;NO)は、はずれ時の停止図柄番号を特図2停止図柄番号領域にセーブし(ステップS660)、はずれ停止図柄パターンを停止図柄パターン領域にセーブして(ステップS661)、停止図柄パターンに対応する飾り特図コマンドを準備する(ステップS662)。
飾り特図コマンドは、例えば11種類あり、この種類の違いにより演出制御装置300における特図種別が判別できるようになっている。
以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
その後、飾り特図コマンドを飾り特図コマンド領域にセーブし(ステップS663)、コマンド設定処理(ステップS664)を行う。この飾り特図コマンドは、後に演出制御装置300に送信される。そして、停止図柄番号に対応する図柄データを試験信号出力データ領域にセーブして(ステップS665)、特図2大当り図柄乱数格納領域(保留数1用)を0クリアして(ステップS666)、特図2停止図柄設定処理を終了する。
上記の特図1停止図柄設定処理及び特図2停止図柄設定処理により、遊技制御装置100が、第1始動入賞口(始動入賞口36)での遊技球の検出に基づいて変動表示ゲームとして第1変動表示ゲームを実行し、第2始動入賞口(普通変動入賞装置37)での遊技球の検出に基づいて変動表示ゲームとして第2変動表示ゲームを実行する変動表示ゲーム実行手段をなす。また、遊技制御装置100が、判定手段(遊技制御装置100)による判定結果に基づき変動表示ゲームの実行を制御する変動表示ゲーム実行制御手段をなす。
〔特図変動中処理移行設定処理(特図1)〕
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図1)(ステップS470)の詳細について図45により説明する。
ルーチンが開始すると、ステップS671で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS672で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS673で客待ちデモフラグ領域をクリアし、ステップS674で特図1変動開始に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS675で特図1変動制御フラグ領域に変動中フラグをセーブし、ステップS676で特図1点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図1表示器の点滅の周期のタイマ)の初期値(例えば、200ms)をセーブしてルーチンを終了する。
このようにして、特図1に関して特図変動中処理に移行するための処理が行われる。
〔特図変動中処理移行設定処理(特図2)〕
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図2)(ステップS465)の詳細について図46により説明する。
ルーチンが開始すると、ステップS681で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS682で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS683で客待ちデモフラグ領域をクリアし、ステップS684で特図2変動開始に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS685で特図2変動制御フラグ領域に変動中フラグをセーブし、ステップS686で特図2点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図2表示器の点滅の周期のタイマ)の初期値(例えば、200ms)をセーブしてルーチンを終了する。
このようにして、特図2に関して特図変動中処理に移行するための処理が行われる。
〔特図変動中処理〕
次に、上述の特図ゲーム処理における特図変動中処理(ステップS330)の詳細について図47により説明する。
特図変動中処理では、まず、停止延長情報(停止延長情報1又は2)があるかを判定する(ステップS691)。停止延長情報がない場合(ステップS691;NO)は、通常特図表示時間(例えば600ms)を特図ゲーム処理タイマ領域にセーブし(ステップS692)、特図表示中処理移行設定処理(ステップS696)を行って、特図表示中処理を終了する。
また、停止延長情報がある場合(ステップS691;YES)は、停止延長情報1であるかを判定する(ステップS693)。停止延長情報1である場合(ステップS693;YES)は、特図延長表示時間1(例えば3500ms)を特図ゲーム処理タイマ領域にセーブし(ステップS694)、特図表示中処理移行設定処理(ステップS696)を行って、特図表示中処理を終了する。
一方、停止延長情報1でない場合(ステップS693;NO)、すなわち停止延長情報2である場合は、特図延長表示時間2(例えば14300ms)を特図ゲーム処理タイマ領域にセーブし(ステップS695)、特図表示中処理移行設定処理(ステップS696)を行って、特図表示中処理を終了する。すなわち、遊技制御装置100が、変動表示ゲームの停止結果態様を表示する停止時間を設定する停止時間設定手段をなす。
上記のように特図表示時間は、例えば以下のように制御される。
・通常特図表示時間:600ms
・特図延長表示時間1:3500ms
・特図延長表示時間2:14300ms
このように特図変動中処理においては、大当りの当否や後半変動番号ではなく、特図の変動開始時に設定されている停止延長情報(当該ゲームの当否や特定回転数、演出モード状態等により設定)を基に停止後の表示時間を決定している。
〔特図表示中処理移行設定処理〕
次に、上述の特図変動中処理における特図表示中処理移行設定処理(ステップS696)の詳細について図48により説明する。
ルーチンが開始すると、ステップS701で処理番号として「2」(特図表示中処理に係る処理番号に相当)を設定し、ステップS702で特図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップS703で特図1変動終了処理に関する信号を試験信号出力データ領域にセーブし、ステップS704で特図2変動終了処理に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS705で図柄確定回数信号制御タイマ領域に制御タイマ初期値(例えば、256ms)をセーブする。その後、ステップS706で特図1変動制御フラグ領域に特図1表示器(一括表示装置35の中のLEDセグメントである特図1表示器)における特図1変動表示ゲームの制御用の情報として特図1表示器での変動停止に係る停止フラグをセーブし、ステップS707で特図2変動制御フラグ領域に停止フラグをセーブしてルーチンを終了する。
このようにして、特図表示中処理に移行するための処理が行われる。
〔特図表示中処理〕
次に、上述の特図ゲーム処理における特図表示中処理(ステップS331)の詳細について図49により説明する。
特図表示中処理では、まず、特図2変動開始処理1における大当りフラグ2設定処理にて設定された大当りフラグ2をロードして(ステップS711)、RWMの大当りフラグ2領域をクリアする処理(ステップS712)を行う。
次に、ロードされた大当りフラグ2が大当りかをチェックして(ステップS713)、大当りである(ステップS713;YES)と判定すると、ステップS718にジャンプしてRWMの大当りフラグ1領域をクリアする処理を行い、次いで、ステップS719で特図2大当りの開始に関する信号を試験信号出力データ領域にセーブし、ステップS720に処理を移行する。
一方、ステップS713にて、大当りフラグ2のチェックの結果、大当りでない(ステップS713;NO)と判定すると、特図1変動開始処理における大当りフラグ1設定処理にて設定された大当りフラグ1をロードして(ステップS714)、RWMの大当りフラグ1領域をクリアする処理(ステップS715)を行う。
続けて、ロードされた大当りフラグ1が大当りかをチェックして(ステップS716)、大当りである(ステップS716;YES)と判定すると、特図1大当りの開始に関する信号を試験信号出力データ領域にセーブし(ステップS717)、ステップS720に処理を移行する。
また、ステップS716で大当りでない(NO)と判定すると、ステップS736に処理を移行する。このときは、以後に時短の有無を判断して処理を進めることになる。
さて、上述したステップS717における特図1大当りに関する試験信号のセーブ、或いは、ステップS719における特図2大当りに関する試験信号のセーブの後、ラウンド数上限値テーブルを設定する処理(ステップS720)を行う。
次いで、ラウンド数上限値情報に対応するラウンド数上限値を取得し、ラウンド数上限値をラウンド数上限値領域にセーブする(ステップS721)。続けて、ラウンド数上限値情報に対応するラウンドLEDポインタを取得し、当該ラウンドLEDポインタをラウンドLEDポインタ領域にセーブする(ステップS722)。
次に、停止図柄パターンに対応した飾り特図コマンドをRWMの飾り特図コマンド領域からロードして準備し(ステップS723)、コマンド設定処理(ステップS724)を行う。その後、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報に係る低確率時の確率情報コマンドを準備して(ステップS725)、コマンド設定処理(ステップS726)を行う。続けて、特図1又は特図2停止図柄設定処理にて設定された図柄情報(停止図柄番号又は停止図柄パターン)に対応するファンファーレコマンドを準備して(ステップS727)、コマンド設定処理(ステップS728)を行う。
次に、大入賞口開放情報と、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率の状態に対応する信号をRWMの外部情報出力データ領域にセーブする(ステップS729)。その後、大入賞口開放情報に対応する大当りファンファーレ時間(例えば6000ms又は48ms)を特図ゲーム処理タイマ領域にセーブする(ステップS730)。そして、大入賞口開放情報に対応する大入賞口(第1特別変動入賞装置27又は第2特別変動入賞装置33)の大入賞口不正入賞数領域をクリアし(ステップS731)、大入賞口開放情報に対応する大入賞口の大入賞口不正監視期間フラグ領域に不正監視期間外フラグをセーブする(ステップS732)。
次に、特図ゲームモードフラグをロードし(ステップS733)、ロードしたフラグを特図ゲームモードフラグ退避領域へセーブする(ステップS734)。これにより、特別結果が発生した際における確率状態の情報が記憶される。そして、後に記憶した情報に基づき特別遊技状態の終了後の演出モードが決定される。
その後、ファンファーレ/インターバル中処理に移行するための各種データを設定する移行設定処理1(ファンファーレ/インターバル中処理移行設定処理1)(ステップS735)を行い、特図表示中処理を終了する。
具体的には、ファンファーレ/インターバル中処理に係る処理番号「3」、各種状態の切り替えに係る情報を設定する処理等を行って、特図変動中処理を終了する。
ここで、各種状態が切り替わるための情報としては、例えば、外部情報端子板55に出力用の遊技状態が特別遊技状態(大当り状態)であることを示す信号、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率が通常確率状態(低確率状態)であることを示す試験信号、大入賞口不正監視期間における大入賞口への入賞数のクリアに係る情報、特別遊技状態のラウンド数のクリアに係る情報、高確率状態の表示に係る遊技状態表示LEDを消灯させる情報、普図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報、停電復旧時に点灯した高確率状態の表示に係る遊技状態表示LED(高確率報知LED)を消灯させる情報、特図変動表示ゲームの制御用の情報(例えば、特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報や、停電復旧時に演出制御装置300に出力される、普図変動表示ゲームや特図変動表示ゲームにて当り結果となる確率が通常確率状態(低確率状態)であることを示す情報や、大当り後の残り時間短縮変動回数のクリアに係る情報など)等が挙げられる。
一方、上記ステップS716にて、大当りフラグ1が大当りでない場合(ステップS716;NO)は、演出モードの設定に関する演出モード情報チェック処理(ステップS736)を行い、時短状態とする特図変動表示ゲームの実行回数を管理する時間短縮変動回数更新処理(ステップS737)を行う。そして、特図普段処理に移行するための各種データを設定する特図普段処理移行設定処理1(ステップS738、図32参照)、具体的には、当該テーブルに特図普段処理に係る処理番号「0」等を設定する処理を行って、特図表示中処理を終了する。
〔ファンファーレ/インターバル中処理移行設定処理1〕
次に、上述の特図表示中処理におけるファンファーレ/インターバル中処理移行設定処理1(ステップS735)の詳細について図50により説明する。
ルーチンが開始すると、ステップS741で処理番号として「3」(ファンファーレ/インターバル中処理に係る処理番号に相当)を設定し、ステップS742で特図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップS743で大当りの開始に関する信号を外部情報出力データ領域にセーブし、ステップS744で高確率&時短の終了に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS745に進み、特別遊技状態で実行したラウンド数を管理するためのラウンド数領域をクリアし、続くステップS746で遊技状態表示番号領域に低確率時の番号をセーブし、ステップS747で普図ゲームモードフラグ領域に普図低確率&普電サポートなしフラグをセーブする。
次いで、ステップS748で変動図柄判別フラグ領域をクリアし、ステップS749で高確率状態の表示に係る遊技状態表示LEDを消灯させるために高確率報知フラグ領域をクリアし、ステップS750で特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし、ステップS751で停電復旧時に演出制御装置300に出力されるコマンドをセーブする停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブする。次いで、ステップS752では時短状態で実行可能な特図変動表示ゲームの回数を管理するための時短変動回数領域をクリアする。これにより、高確率状態及び時短状態が終了し、通常確率状態かつ通常動作状態となる。
その後、演出モード番号領域に演出モード1の番号をセーブし(ステップS753)、演出残り回転数領域をクリアする(ステップS754)。これは、遊技制御装置100(主基板)にて演出モードの管理をしているため、一旦、クリアするものである。
次いで、次モード移行情報領域に更新なしコードをセーブし(ステップS755)、演出モードコマンド領域に演出モード1のコマンドをセーブして(ステップS756)、ファンファーレ/インターバル中処理移行設定処理1を終了する。これにより、特別遊技状態の発生に伴い演出モードの情報が一旦クリア(つまり、デフォルト状態の初期値になる)されることとなる。
〔演出モード情報チェック処理〕
次に、上述の特図表示中処理における演出モード情報チェック処理(ステップS736)の詳細について図51により説明する。
演出モード情報チェック処理では、まず、次モード移行情報が更新なしコードであるかを判定する(ステップS761)。次モード移行情報が更新なしコードである場合(ステップS761;YES)は、演出モード情報チェック処理を終了する。この場合は、実行した特図変動表示ゲームの回数に応じた演出モードの変更が行われない場合であって、例えば高確率状態において、次回の大当りまで継続する演出モードが選択されている場合である。
また、次モード移行情報が更新なしコードでない場合(ステップS761;NO)は、演出モードの変更までの特図変動表示ゲームの実行可能回数である演出残り回転数を−1更新し(ステップS762)、演出残り回転数が0となったかを判定する(ステップS763)。演出残り回転数が0となった場合(ステップS763;YES)、すなわち次の特図変動表示ゲームから演出モードを変更する場合は、演出モード情報アドレステーブルを設定し(ステップS764)、次モード移行情報に対応するテーブルのアドレスを取得する(ステップS765)。
そして、移行する演出モードの演出モード番号を取得して演出モード番号領域にセーブし(ステップS766)、移行する演出モードの演出残り回転数を取得して演出残り回転数領域にセーブして(ステップS767)、移行する演出モードの次モード移行情報を取得して次モード移行情報領域にセーブする(ステップS768)。その後、新たな演出モード番号に対応するコマンドを準備し(ステップS769)、コマンドを演出モードコマンド領域にセーブして(ステップS770)、コマンド設定処理(ステップS771)を行い、演出モード情報チェック処理を終了する。
一方、演出残り回転数が0でない場合(ステップS763;NO)、すなわち次の特図変動表示ゲームでも現在の演出モードが継続する場合は、演出残り回転数が規定回転数(例えば8回)であるかを判定する(ステップS772)。演出残り回転数が規定回転数でない場合(ステップS772;NO)は、演出モード情報チェック処理を終了する。
また、演出残り回転数が規定回転数である場合(ステップS772;YES)は、演出モード切替準備コマンドを準備し(ステップS773)、コマンド設定処理(ステップS774)を行い、演出モード情報チェック処理を終了する。これにより、演出モードの切替の規定回転数前から切替を予告する演出を行うことが可能となる。
このように、遊技制御装置100で演出モードを管理するようにしたことで、例えば特定の演出モードでのみ特定のリーチを発生させる等の制御が可能となり、遊技の興趣を向上させることができる。
〔時間短縮変動回数更新処理〕
次に、上述の特図表示中処理における時間短縮変動回数更新処理(ステップS737)の詳細について図52により説明する。
時間短縮変動回数更新処理では、まず、特図高確率(高確率状態)中であるかを判定する(ステップS781)。特図高確率中である場合(ステップS781;YES)は、時間短縮変動回数更新処理を終了する。また、特図高確率中でない場合(ステップS781;NO)は、特図時短(時短状態)中であるかを判定する(ステップS782)。
特図時短中でない場合(ステップS782;NO)は、時間短縮変動回数更新処理を終了する。また、特図時短中である場合(ステップS782;YES)は、時短状態とする特図変動表示ゲームの実行回数を管理する時間短縮変動回数を−1更新し(ステップS783)、時間短縮変動回数が0となったかを判定する(ステップS784)。時間短縮変動回数が0でない場合(ステップS784;NO)、すなわち次の特図変動表示ゲームでも時短状態が継続する場合は、時間短縮変動回数更新処理を終了する。
また、時間短縮変動回数が0である場合(ステップS784;YES)、すなわち今回の特図変動表示ゲームで時短状態が終了する場合は、確率情報コマンド(時短終了)を準備する(ステップS785)。確率情報コマンド(時短終了)としては、低確率時と同様のコマンドを使用する。
次いで、コマンド設定処理(ステップS786)を行い、その後、時短終了設定処理を行い(ステップS787)、時間短縮変動回数更新処理を終了する。
〔時短終了設定処理〕
次に、上述の時間短縮変動回数更新処理における時短終了設定処理(ステップS787)の詳細について図53により説明する。
時短終了設定処理では、まず、時短の終了に関する信号を外部情報出力データ領域にセーブし(ステップS791)、時短の終了に関する信号を試験信号出力データ領域にセーブする(ステップS792)。
次に、遊技状態表示番号領域に低確率中の番号をセーブし(ステップS793)、普図ゲームモードフラグ領域に普図低確率&普電サポートなしフラグをセーブする(ステップS794)。さらに、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし(ステップS795)、停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブして(ステップS796)、時短終了設定処理を終了する。
このようにして、時短回数を遊技制御装置100で管理して時短の終了時に必要な情報(状態)を設定することが行われる。
なお、本実施例の遊技機(パチンコ機1)における特別結果の種類と大入賞口(変動入賞装置)の開閉パターンについては、詳細な説明を後述する。
〔ファンファーレ/インターバル中処理〕
次に、上述の特図ゲーム処理におけるファンファーレ/インターバル中処理(ステップS332)の詳細について図54、図55により説明する。
ファンファーレ/インターバル中処理では、まず、特別遊技状態のラウンド数を更新(+1)する処理(ステップS801)を行った後、大入賞口開放情報が上大入賞口(第2変動入賞装置33)開閉パターン1〜3であるかを判定する(ステップS802)。
ここで、上大入賞口(第2変動入賞装置33)の開閉パターンとしては、後述の図95(詳細は後述)に示すように、上大入賞口開閉パターン1から上大入賞口開閉パターン5までの5種類の開閉パターンがあるので、ステップS802では開閉パターン1〜3であるかを判定するものである。
大入賞口開放情報が上大入賞口開閉パターン1〜3である場合(ステップS802;YES)は、上大入賞口開閉パターン1〜3に対応する制御ポインタ(S(スタート値),E(エンド値))を設定し(ステップS809)、図55のステップS820に移行する。この制御ポインタのスタート値とエンド値を設定することで、一のラウンドにおける大入賞口の開放や閉鎖及びその時間を大入賞口制御テーブルに基づき設定可能となる。
なお、上大入賞口開閉パターン1〜3である場合は一のラウンドの実行時間が短いため、ラウンドごとではなく、特別遊技状態の開始から終了まで一連の映像を表示するようになっており、ラウンド数に対応するラウンドコマンドは送信しない。
また、大入賞口開放情報が上大入賞口開閉パターン1〜3でない場合(ステップS802;NO)は、特別遊技状態のラウンド数に対応するラウンドコマンドを準備して(ステップS803)、コマンド設定処理(ステップS804)を行う。
その後、開始されるラウンドが初回ラウンド(1R)であるかを判定し(ステップS805)、初回ラウンドである場合(ステップS805;YES)は、大入賞口開放情報が下大入賞口(変動入賞装置27)開閉パターンであるかを判定する(ステップS806)。
ここで、下大入賞口(変動入賞装置27)の開閉パターンとしては、後述の図96(詳細は後述)に示すように、下大入賞口開閉パターン1から下大入賞口開閉パターン3までの3種類の開閉パターンがあるので、ステップS806では下大入賞口開閉パターン1〜3の何れかであるかを判定するものである。
大入賞口開放情報が下大入賞口開閉パターンである場合(ステップS806;YES)は、下大入賞口開閉パターンの初回ラウンド(1R)に対応する制御ポインタ(S,E)を設定し(ステップS810)、図55のステップS820に移行する。
なお、下大入賞口開閉パターン1〜3については、何れも初回ラウンドは同じ動作を行うようになっている。
また、大入賞口開放情報が下大入賞口開閉パターンでない場合(ステップS806;NO)は、大入賞口開放情報が上大入賞口開閉パターン4であるかを判定する(ステップS807)。
大入賞口開放情報が上大入賞口開閉パターン4である場合(ステップS807;YES)は、上大入賞口開閉パターン4の初回ラウンド(1R)に対応する制御ポインタ(S,E)を設定し(ステップS808)、図55のステップS820に移行する。また、大入賞口開放情報が上大入賞口開閉パターン4でない場合(ステップS807;NO)は、上大入賞口開閉パターン5の初回ラウンド(1R)に対応する制御ポインタ(S,E)を設定し(ステップS811)、その後、図55のステップS820に移行する。
一方、開始されるラウンドが初回ラウンド(1R)でない場合(ステップS805;NO)は、開始されるラウンドが2〜11ラウンドであるかを判定し(ステップS812)、開始されるラウンドが2〜11ラウンドである場合(ステップS812;YES)は、大入賞口開放情報が上大入賞口開閉パターンであるかを判定する(ステップS813)。そして、大入賞口開放情報が上大入賞口開閉パターンでない場合(ステップS813;NO)は、下大入賞口開閉パターンの2〜11ラウンドに対応する制御ポインタ(S,E)を設定し(ステップS814)、その後、図55のステップS820に移行する。
また、大入賞口開放情報が上大入賞口開閉パターンである場合(ステップS813;YES)は、上大入賞口開閉パターンの2ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS815)、その後、図55のステップS820に移行する。
また、開始されるラウンドが2〜11ラウンドでない場合(ステップS812;NO)は、大入賞口開放情報が上大入賞口開閉パターンであるかを判定する(ステップS816)。そして、大入賞口開放情報が上大入賞口開閉パターンである場合(ステップS816;YES)は、上大入賞口開閉パターンの2ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS815)、その後、図55のステップS820に移行する。また、大入賞口開放情報が上大入賞口開閉パターンでない場合(ステップS816;NO)は、大入賞口開放情報が下大入賞口開閉パターン2であるかを判定する(ステップS817)。
大入賞口開放情報が下大入賞口開閉パターン2である場合(ステップS817;YES)は、下大入賞口開閉パターン2の12ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS818)、その後、図55のステップS820に移行する。
また、大入賞口開放情報が下大入賞口開閉パターン2でない場合(ステップS817;NO)は、下大入賞口開閉パターン3の12ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS819)、その後、図55のステップS820に移行する。
図55のステップS820では、設定した制御ポインタのスタート値(S)を大当り中制御ポインタ領域にセーブし(ステップS820)、設定した制御ポインタのエンド値(E)を大当り中制御ポインタ上限値領域にセーブする(ステップS821)。そして、ソレノイド情報設定処理(ステップS822)を行い、大入賞口開放情報が下大入賞口開閉パターンであるかを判定する(ステップS823)。
大入賞口開放情報が下大入賞口開閉パターンである場合(ステップS823;YES)は、大入賞口開放中処理移行設定処理1を行い(ステップS824)、ファンファーレ/インターバル中処理を終了する。
また、大入賞口開放情報が下大入賞口開閉パターンでない場合(ステップS823;NO)は、大入賞口開放中処理移行設定処理2を行い(ステップS825)、ファンファーレ/インターバル中処理を終了する。
以上の処理により、後述の図95、図96に示す開閉パターンの何れかが設定されることとなる。
〔ソレノイド情報設定処理〕
次に、上述のファンファーレ/インターバル中処理におけるソレノイド情報設定処理(ステップS822)の詳細について図56により説明する。
ソレノイド情報設定処理では、まず、大入賞口制御アドレステーブルを設定し(ステップS831)、大当り中制御ポインタに対応する大入賞口制御テーブルのアドレスを取得する(ステップS832)。その後、出力データを取得し、大入賞口ソレノイド出力データ領域にセーブして(ステップS833)、開閉時間値を取得して特図ゲーム処理タイマ領域にセーブし(ステップS834)、ソレノイド情報設定処理を終了する。
この処理により、大入賞口の開放や閉鎖及びその時間が設定されることとなる。
〔大入賞口開放中処理移行設定処理1〕
次に、上述のファンファーレ/インターバル中処理における大入賞口開放中処理移行設定処理1(ステップS824)の詳細について図57により説明する。
大入賞口開放中処理移行設定処理1においては、まず、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS841)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS842)。その後、下大入賞口の開放開始に関する信号を試験信号出力データ領域にセーブし(ステップS843)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアする(ステップS844)。そして、大入賞口判別フラグ領域に下大入賞口制御中フラグをセーブして(ステップS845)、大入賞口開放中処理移行設定処理1を終了する。
〔大入賞口開放中処理移行設定処理2〕
次に、上述のファンファーレ/インターバル中処理における大入賞口開放中処理移行設定処理2(ステップS825)の詳細について図58により説明する。
大入賞口開放中処理移行設定処理2においては、まず、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS851)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS852)。その後、上大入賞口の開放開始に関する信号を試験信号出力データ領域にセーブし(ステップS853)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアする(ステップS854)。そして、大入賞口判別フラグ領域に上大入賞口制御中フラグをセーブして(ステップS855)、大入賞口開放中処理移行設定処理2を終了する。
〔大入賞口開放中処理〕
次に、上述の特図ゲーム処理における大入賞口開放中処理(ステップS333)の詳細について図59により説明する。
大入賞口開放中処理では、まず、大当り中制御ポインタを+1更新し(ステップS861)、制御ポインタの値が制御ポインタ上限値領域の値に達したかを判定する(ステップS862)。
制御ポインタの値が制御ポインタ上限値領域の値に達していない場合(ステップS862;NO)は、ソレノイド情報設定処理(ステップS869、図56参照)を行う。これにより、更新された制御ポインタに応じた大入賞口の開閉態様が設定されることとなる。そして、大入賞口開放中処理移行設定処理3を行って(ステップS870)、大入賞口開放中処理を終了する。
図61に示すように大入賞口開放中処理移行設定処理3では、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS901)、処理番号を特図ゲーム処理番号領域にセーブして(ステップS902)、大入賞口開放中処理移行設定処理3を終了する。
図59に戻り、制御ポインタの値が制御ポインタ上限値領域の値に達した場合(ステップS862;YES)は、大入賞口開放情報が上大入賞口短開放パターン(上大入賞口開放パターン1〜3)であるかを判定する(ステップS863)。大入賞口開放情報が上大入賞口短開放パターンである場合(ステップS863;YES)は、大入賞口残存球処理移行設定処理(ステップS868)を行い、大入賞口開放中処理を終了する。この場合は、特別遊技状態の開始から終了まで一連の映像を表示するようになっており、インターバルコマンドやエンディングコマンドは送信しないようになっている。
また、大入賞口開放情報が上大入賞口短開放パターンでない場合(ステップS863;NO)は、実行中の特別遊技状態における現在のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して現在のラウンドが最終ラウンドであるかを判定する(ステップS864)。そして、最終ラウンドでない場合(ステップS864;NO)は、ラウンド間のインターバルに係るインターバルコマンドを準備し(ステップS865)、コマンド設定処理(ステップS867)を行い、大入賞口残存球処理移行設定処理(ステップS868)を行って、大入賞口開放中処理を終了する。
また、最終ラウンドである場合(ステップS864;YES)は、特別遊技状態の終了の際におけるエンディング表示画面の表示制御等に係るエンディングコマンドを準備し(ステップS866)、コマンド設定処理(ステップS867)を行い、大入賞口残存球処理移行設定処理(ステップS868)を行って、大入賞口開放中処理を終了する。
〔大入賞口残存球処理移行設定処理〕
次に、上述の大入賞口開放中処理における大入賞口残存球処理移行設定処理(ステップS868)の詳細について図60により説明する。
大入賞口残存球処理移行設定処理においては、まず、処理番号を大入賞口残存球処理にかかる「5」に設定し(ステップS891)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS892)。その後、残存球処理に要する時間である大入賞口残存球処理時間(例えば1380ms)を特図ゲーム処理タイマ領域にセーブする(ステップS893)。そして、変動入賞装置27の開閉部材27b又は第2変動入賞装置33の開閉部材33aを閉鎖するために、第1大入賞口ソレノイド133又は第2大入賞口ソレノイド134をオフさせるためのオフデータを大入賞口ソレノイド出力データ領域にセーブして(ステップS894)、大入賞口残存球処理移行設定処理を終了する。
〔大入賞口残存球処理〕
次に、上述の特図ゲーム処理における大入賞口残存球処理(ステップS334)の詳細について図62により説明する。
大入賞口残存球処理では、まず、実行中の特別遊技状態における今回のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して今回のラウンドが上限値に達した(最終ラウンド)か否かをチェックする(ステップS891)。
そして、特別遊技状態における現在のラウンドが最終ラウンドでない場合(ステップS911;NO)は、今回のラウンド数と大入賞口開放情報に対応するインターバル時間を特図ゲーム処理タイマ領域にセーブし(ステップS912)、ファンファーレ/インターバル中処理移行設定処理2(ステップS913)を行って、大入賞口残存球処理を終了する。
なお、インターバル時間は今回のラウンド数と大入賞口開放情報に対応する時間(例えば、上大入賞口開閉パターン1〜3であれば68ms)が設定される。ラウンドとラウンドの間のインターバル期間は、ラウンドの終了から大入賞口残存球処理時間(例えば1380ms)が経過し、さらに該大入賞口残存球処理時間の経過からインターバル時間が経過するまでの期間とされ、例えば、上大入賞口開閉パターン1〜3であれば1448msとなる。
一方、特別遊技状態における現在のラウンドが最終ラウンドである場合(ステップS911;YES)は、特別結果が導出された際の確率状態を記憶する特図ゲームモードフラグ退避領域からゲームモードフラグをロードする(ステップS914)。そして、ロードしたフラグと大入賞口開放情報に対応するエンディング時間を特図ゲーム処理タイマ領域にセーブし(ステップS915)、大当り終了処理移行設定処理(ステップS916)を行って、大入賞口残存球処理を終了する。
このように、エンディング期間(エンディング時間)は図柄情報ではなく、大入賞口情報と大当り時のゲームモードフラグに基づいて設定される。
なお、エンディング期間(エンディング時間)は、上記に限らず、例えば図柄情報に基づいて設定してもよい。
最終ラウンドの終了から特別遊技状態の終了までのエンディング期間は、最終ラウンドの終了から大入賞口残存球処理時間(例えば1380ms)が経過し、さらに該大入賞口残存球処理時間の経過からエンディング時間が経過するまでの期間とされる。例えば、特別結果が2R確変であって当該特別結果の導出時に時短状態でない場合、すなわち特別結果の導出時に時短状態以外で選択される演出モードであった場合に選択される上大入賞口開閉パターン1であれば、エンディング時間が21020msとされる。よって、エンディング期間の長さは、このエンディング時間の前に大入賞口残存球処理時間として費やされる1380msと合わせて22400msとされ、このエンディング期間において、表示装置41等でエンディング演出が実行される。
また、特別結果が2R確変であって当該特別結果の導出時に時短状態である場合、すなわち特別結果の導出時に時短状態で選択される演出モードであった場合に選択される上大入賞口開閉パターン2であれば、エンディング時間が20msとされる。よって、エンディング期間の長さは、このエンディング時間の前に大入賞口残存球処理時間として費やされる1380msと合わせて1400msとされる。
〔ファンファーレ/インターバル中処理移行設定処理2〕
次に、上述の大入賞口残存球処理におけるファンファーレ/インターバル中処理移行設定処理2(ステップS913)の詳細について図63により説明する。
ファンファーレ/インターバル中処理移行設定処理2では、まず、ファンファーレ/インターバル中処理に係る処理番号である「3」を設定し(ステップS921)、特図ゲーム処理番号領域に処理番号をセーブする(ステップS922)。
次に、下大入賞口(変動入賞装置27)の開放終了に関する信号を試験信号出力データ領域にセーブし(ステップS923)、上大入賞口(第2変動入賞装置33)の開放終了に関する信号を試験信号出力データ領域にセーブする(ステップS924)。そして、大入賞口判別フラグ領域をクリアして(ステップS925)、ファンファーレ/インターバル中処理移行設定処理2を終了する。
〔大当り終了処理移行設定処理〕
次に、上述の大入賞口残存球処理における大当り終了処理移行設定処理(ステップS916)の詳細について図64により説明する。
大当り終了処理移行設定処理においては、まず、大当り終了処理に係る処理番号として「6」を設定し(ステップS931)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS932)。その後、下大入賞口(変動入賞装置27)の開放終了に関する信号を試験信号出力データ領域にセーブし(ステップS933)、上大入賞口(第2変動入賞装置33)の開放終了に関する信号を試験信号出力データ領域にセーブする(ステップS934)。
次に、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアし(ステップS935)、特別遊技状態のラウンド数を記憶するラウンド数領域の情報をクリアして(ステップS936)、特別遊技状態のラウンド数の上限値を記憶するラウンド数上限値領域の情報をクリアする(ステップS937)。
そして、ラウンド数の上限値判定用のフラグを記憶するラウンド数上限値情報領域の情報をクリアし(ステップS938)、大入賞口の開放情報判定用のフラグを記憶する大入賞口開放情報領域の情報をクリアして(ステップS939)、大入賞口の開閉態様を設定するための大当り中制御ポインタ領域の情報をクリアする(ステップS940)。その後、大当り中制御ポインタのエンド値を記憶する大当り中制御ポインタ上限値領域をクリアして(ステップS941)、大入賞口判別フラグ領域をクリアし(ステップS942)、大当り終了処理移行設定処理を終了する。
〔大当り終了処理〕
次に、上述の特図ゲーム処理における大当り終了処理(ステップS335)の詳細についての詳細について図65により説明する。
大当り終了処理では、まず、今回の特別遊技状態を実行する契機となった特別結果の種類に基づき設定される確率変動判定フラグが、特別遊技状態の終了後に高確率状態となる場合に設定される高確率データかを判定する(ステップS951)。
高確率データでない場合(ステップS951;NO)は、大当り終了設定処理1を行う(ステップS95)。これは、高確率突入でない状態であるから、大当り終了後に時短となるモードに移行する処理を設定するものである。
一方、高確率データである場合(ステップS951;YES)は、大当り終了設定処理2を行う(ステップS953)。これは、高確率突入の状態であるから、大当り終了後に確率変動(高確率開始)となるモードに移行する処理を設定するものである。
次いで、特図ゲームモードフラグに対応する確率情報コマンドを準備し(ステップS954)、コマンド設定処理(ステップS955)を行う。
次に、遊技制御装置100での演出モードの管理に必要な情報をセーブする処理として、まず、停止図柄パターンに対応する演出モード情報設定テーブルを設定する(ステップS956)。そして、設定された演出モード情報設定テーブルを参照して、特別遊技状態の終了後に設定される演出モードの演出モード番号を取得して演出モード番号領域にセーブする(ステップS957)。さらに、特別遊技状態の終了後に設定される演出モードの演出残り回転数を取得して演出残り回転数領域にセーブし(ステップS958)、特別遊技状態の終了後に設定される演出モードの次モード移行情報を取得して次モード移行情報領域にセーブする(ステップS959)。
その後、新たな演出モード番号に対応するコマンドを準備し(ステップS960)、コマンドを演出モードコマンド領域にセーブして(ステップS961)、コマンド設定処理(ステップS962)を行う。そして、特図普段処理移行設定処理3を行い(ステップS963)、大当り終了処理を終了する。
〔大当り終了設定処理1〕
次に、上述の大当り終了処理における大当り終了設定処理1(ステップS952)の詳細について図66により説明する。
ルーチンが開始すると、ステップS971で時短の開始に関する信号を外部情報出力データ領域にセーブする。この領域での時短の開始に関する信号は、例えば大当り2信号ONである。次いで、ステップS972で時短の開始に関する信号を試験信号出力データ領域にセーブする。この領域での時短の開始に関する信号は、以下のものがある。
・特別図柄1変動時間短縮状態信号をON
・特別図柄2変動時間短縮状態信号をON
・普通図柄1高確率状態信号をON
・普通図柄1変動時間短縮状態信号をON
・普通電動役物1開放延長状態信号をON
次いで、ステップS973で普図ゲームモードフラグ領域に普図高確率&普電サポートフラグをセーブし、ステップS974で特図ゲームモードフラグ領域に特図低確率&時短フラグをセーブする。
次いで、ステップS975で停電復旧時送信コマンド領域に確率情報コマンド(時短)をセーブし、ステップS976で時間短縮変動回数領域に時間短縮変動回数初期値(例えば70)をセーブしてリターンする。
以上の処理により、特別遊技状態の終了後、特図変動表示ゲームの確率状態が通常確率状態となるとともに時短状態となる。また、時短変動回数領域に時短変動回数初期値(例えば70)をセットすることで、所定回数(例えば70回)の特図変動表示ゲームの実行により時短状態が終了するようになる。
〔大当り終了設定処理2〕
次に、上述の大当り終了処理における大当り終了設定処理2(ステップS953)の詳細について図67により説明する。
ルーチンが開始すると、ステップS981で高確率の開始に関する信号を外部情報出力データ領域にセーブする。この領域での高確率の開始に関する信号は、例えば大当り2信号ONである。次いで、ステップS982で高確率の開始に関する信号を試験信号出力データ領域にセーブする。この領域での高確率の開始に関する信号は、以下のものがある。
・特別図柄1高確率状態信号をON
・特別図柄2高確率状態信号をON
・特別図柄1変動時間短縮状態信号をON
・特別図柄2変動時間短縮状態信号をON
・普通図柄1高確率状態信号をON
・普通図柄1変動時間短縮状態信号をON
・普通電動役物1開放延長状態信号をON
次いで、ステップS983で普図ゲームモードフラグ領域に普図高確率&普電サポートフラグをセーブし、ステップS984で特図ゲームモードフラグ領域に特図高確率&時短フラグをセーブする。その後、ステップS985で停電復旧時送信コマンド領域に確率情報コマンド(高確率)をセーブし、ステップS986で時間短縮変動回数領域をクリアして、大当り終了設定処理2を終了する。
以上の処理により、特別遊技状態の終了後、特図変動表示ゲームの確率状態が高確率状態となるとともに次回の特別結果態様の導出まで時短状態となる。
すなわち、遊技制御装置100が、特別遊技状態の終了後、予め定められた所定期間にわたり、普通変動入賞装置37を開状態とする期間を延長する特定遊技状態(時短状態)を発生可能な特定遊技状態発生制御手段をなす。
〔特図普段処理移行設定処理3〕
次に、上述の大当り終了処理における特図普段処理移行設定処理3(ステップS963)の詳細について図68により説明する。
ルーチンが開始すると、ステップS991で処理番号として「0」(特図普段処理に係る処理番号に相当)を設定し、ステップS992で特図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップS993で大当りの終了に関する信号を外部情報出力データ領域にセーブする。
ここでの大当りの終了に関する信号としては、大当り1信号をOFF、大当り3信号をOFFがある。
次いで、ステップS994で大当りの終了に関する信号を試験信号出力データ領域にセーブする。ここでの大当りの終了に関する信号としては、以下のものがある。
・条件装置作動中信号をOFF
・役物連続作動装置作動中信号をOFF
・特別図柄1当り信号又は特別図柄2当り信号をOFF
次いで、ステップS995で確率変動判定フラグ領域をクリアし、ステップS996で大当りのラウンド回数を示すラウンドLEDのポインタ領域をクリアし、ステップS997で遊技状態表示番号領域に時短中の番号をセーブする。そして、ステップS998で下大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブし、ステップS999で上大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして、特図普段処理移行設定処理3を終了する。
次に、普図ゲーム処理に関するフローチャートの説明に移るが、ここでは、ステップ番号として「ステップB」を用いて説明する。
〔普図ゲーム処理〕
まず、上述のタイマ割込み処理における普図ゲーム処理(ステップS79)の詳細について図69により説明する。
普図ゲーム処理では、ゲートスイッチ122の入力の監視と、普図変動表示ゲームに関する処理全体の制御、普図の表示の設定等を行う。
まず、ゲートスイッチ122からの入力を監視するゲートスイッチ監視処理(ステップB1)を行う。なお、ゲートスイッチ監視処理(ステップB1)の詳細については後述する。
次に、第2始動口スイッチ121からの入力を監視する普電入賞スイッチ監視処理(ステップB2)を行う。なお、普電入賞スイッチ監視処理(ステップB2)の詳細については後述する。
次に、普図ゲーム処理タイマが0でなければ−1更新する(ステップB3)。なお、普図ゲーム処理タイマの最小値は0に設定されている。そして、普図ゲーム処理タイマの値が0となったかを判定する(ステップB4)。
普図ゲーム処理タイマの値が0である(ステップB4;YES)、すなわちタイムアップした又はすでにタイムアップしていたと判定すると、普図ゲーム処理番号に対応する処理に分岐させるために参照する普図ゲームシーケンス分岐テーブルをレジスタに設定する処理(ステップB5)を行って、当該テーブルを用いて普図ゲーム処理番号に対応する処理の分岐先アドレスを取得する処理(ステップB6)を行う。
そして、分岐処理終了後のリターンアドレスをスタック領域に退避させる処理(ステップB7)を行った後、ゲーム処理番号に応じてゲーム分岐処理(ステップB8)を行う。
ステップB8にて、ゲーム処理番号が「0」の場合は、普図変動表示ゲームの変動開始を監視し、普図変動表示ゲームの変動開始の設定や演出の設定や、普図変動中処理を行うために必要な情報の設定等を行う普図普段処理(ステップB9)を行う。
なお、普図普段処理(ステップB9)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「1」の場合は、普図表示中処理を行うために必要な情報の設定等を行う普図変動中処理(ステップB10)を行う。
なお、普図変動中処理(ステップB10)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「2」の場合は、普図変動表示ゲームの結果が当りであれば、普通変動入賞装置37がサポート中(時短状態中)であるか否かに応じた普電開放時間の設定や、普図当り中処理を行うために必要な情報の設定等を行う普図表示中処理(ステップB11)を行う。
なお、普図表示中処理(ステップB11)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「3」の場合は、普図当り中処理の継続、或いは普電残存球処理を行うために必要な情報の設定等を行う普図当り中処理(ステップB12)を行う。
なお、普図当り中処理(ステップB12)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「4」の場合は、普図当り終了処理を行うために必要な情報の設定等を行う普電残存球処理(ステップB13)を行う。
なお、普電残存球処理(ステップB13)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「5」の場合は、普図普段処理(ステップB9)を行うために必要な情報の設定等を行う普図当り終了処理(ステップB14)を行う。
なお、普図当り終了処理(ステップB14)の詳細については後述する。
その後、普図表示器(一括表示装置35)による普通図柄の変動を制御するための各種テーブルを準備した後(ステップB15)、普図表示器(一括表示装置35)による普通図柄の変動の制御に係る図柄変動制御処理(ステップB16)を行って、普図ゲーム処理を終了する。
一方、ステップB4にて、普図ゲーム処理タイマの値が0でない(ステップB4;NO)、すなわちタイムアップしていないと判定すると、処理をステップB15に移行して、それ以降の処理を行う。
〔ゲートスイッチ監視処理〕
次に、上述の普図ゲーム処理におけるゲートスイッチ監視処理(ステップB1)の詳細について図70により説明する。
ゲートスイッチ監視処理では、まず、ゲートスイッチ122に入力があるか否かをチェックする(ステップB21)。そして、ゲートスイッチ122に入力があると(ステップB21;YES)判定すると、普図保留数を取得して当該普図保留数が上限値(例えば、4)未満か否かを判定する(ステップB22)。普図保留数が上限値未満である(ステップB22;YES)と判定すると、普図保留数を更新(+1)する処理(ステップB23)を行う。
その後、更新後の普図保留数に対応する乱数格納領域のアドレスを算出する処理(ステップB24)を行った後、当り乱数を抽出してRWMの乱数格納領域にセーブする処理(ステップB25)を行って、ゲートスイッチ監視処理を終了する。
また、ステップB21にて、ゲートスイッチ122に入力がないと判定されるか(ステップB21;NO)、或いは、ステップB22にて、普図保留数が上限値未満でないと判定された場合にも(ステップB22;NO)ゲートスイッチ監視処理を終了する。
〔普電入賞スイッチ監視処理〕
次に、上述の普図ゲーム処理における普電入賞スイッチ監視処理(ステップB2)の詳細について図71により説明する。
普電入賞スイッチ監視処理では、まず、普図変動表示ゲームが当り状態となって普通変動入賞装置26が所定回数(例えば、3回)の開放動作を実行中であるか(普図当り中か)否かをチェックする(ステップB31)。そして、普図当り中である(ステップB32;YES)と判定すると、第2始動口スイッチ121に入力があるか否かを判定し(ステップB32)、第2始動口スイッチ121に入力がある(ステップB32;YES)と判定すると、普電カウンタのカウント数を更新(+1)する処理(ステップB33)を行う。
次に、更新後の普電カウンタのカウント数が上限値(例えば、9)に達したか否かを判定し(ステップB34)、カウント数が上限値に達した(ステップB34;YES)と判定すると、普図当り中制御ポインタ上限値領域からポインタ(当り終了の値)をロードする(ステップB35)。そして、ロードしたポインタを普図当り中制御ポインタ領域にセーブし(ステップB36)、普図ゲーム処理タイマをクリアして(ステップB37)、普電入賞スイッチ監視処理を終了する。
すなわち、普図の当り状態中に上限値以上の普電入賞があった場合は、その時点で普図当り中処理制御ポインタ領域に当り終了の値をセーブし、普図の当り状態が途中で終了するようにする。
また、ステップB31にて、普図当り中でないと判定されるか(ステップB31;NO)、或いは、ステップB32にて第2始動口スイッチ121に入力がないと判定されるか(ステップB32;NO)、或いはステップB34にてカウント数が上限値に達していないと判定された場合にも(ステップB34;NO)、普電入賞スイッチ監視処理を終了する。
〔普図普段処理〕
次に、上述の普図ゲーム処理における普図普段処理(ステップB9)の詳細について図72により説明する。
普図普段処理では、まず、普図保留数が「0」であるか否かを判定し(ステップB41)、普図保留数が「0」である(ステップB41;YES)と判定すると、ステップB62に移行して、普図普段処理移行設定処理1を行った後、普図普段処理を終了する。普図普段処理移行設定処理1は、次回に普図普段処理を繰り返すための処理を行うもので、詳細は後述する。
一方、ステップB41にて普図保留数が0でない(ステップB42;NO)と判定すると、RWMの普図当り乱数格納領域(保留数1用)から当り乱数をロードし(ステップB42)、普図変動表示ゲームにて当り結果となる確率が通常よりも高くされた普図高確率(つまり、普図高確率時)であるか、すなわち時短状態であるかを判定する(ステップB43)。
普図高確率時でない場合(ステップB43;NO)は、当り乱数の値が普図低確率時の判定値である低確率判定値と一致するかを判定する(ステップB44)。当り乱数の値が低確率判定値と一致しない場合(ステップB44;NO)は、当りフラグ領域にはずれ情報をセーブし(ステップB45)、普図停止図柄にはずれ停止図柄番号を設定して(ステップB46)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。
一方、当り乱数の値が低確率判定値と一致した場合(ステップB44;YES)は、当りフラグ領域に当り情報をセーブし(ステップB49)、普図停止図柄に当り停止図柄番号を設定して(ステップB50)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。
また、ステップB43にて、普図高確率時である場合(ステップB43;YES)は、当り乱数の値が普図高確率時に用いる複数の連続した判定値における下限値である高確率下限判定値未満であるかを判定し(ステップB47)、当り乱数の値が高確率下限判定値未満でない場合(ステップB47;NO)は、当り乱数の値が普図高確率時に用いる複数の連続した判定値における上限値である高確率上限判定値より大きいかを判定する(ステップB48)。
当り乱数の値が高確率上限判定値より大きくない場合(ステップB48;NO)、すなわち当りである場合は、当りフラグ領域に当り情報をセーブし(ステップB49)、普図停止図柄に当り停止図柄番号を設定して(ステップB50)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。
また、ステップB47にて、当り乱数の値が高確率下限判定値未満である場合(ステップB47;YES)や、ステップB48にて、当り乱数の値が上限判定値より大きい場合(ステップB48;YES)、すなわちはずれの場合は、当りフラグ領域にはずれ情報をセーブし(ステップB45)、普図停止図柄にはずれ停止図柄番号を設定して(ステップB46)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。すなわち、当り乱数の値が一致することで普図の当りと判定する判定値は、普図低確率時では一つの値であり、普図高確率時では複数の連続した値となっている。
普図当り乱数格納領域(保留数1用)を0クリア(ステップB51)した後、停止図柄番号を試験信号出力データ領域にセーブする(ステップB52)。そして、停止図柄に対応する飾り普図変動パターンコマンドを準備し(ステップB53)、コマンド設定処理(ステップB54)を行う。これにより、表示装置41等において普図変動表示ゲームに対応した演出を行うことが可能となる。
その後、普図当り乱数格納領域をシフトし(ステップB55)、シフト後の空き領域を0クリアして(ステップB56)、普図保留数を−1更新する(ステップB57)。即ち、最も古い普図保留数1に関する普図変動表示ゲームが実行されることに伴い、普図保留数1以降に保留となっている普図保留数2〜4の順位を1つずつ繰り上げる処理を行う。この処理により、普図当り乱数格納領域の普図保留数2用から普図保留数4用の値が、普図当り乱数格納領域の普図保留数1用から普図保留数3用に移動することとなる。そして、普図当り乱数格納領域の普図保留数4用の値がクリアされて、普図保留数が1デクリメントされる。
次に、普電サポート中(時短状態中)であるかを判定し(ステップB58)、普電サポート中でない場合(ステップB58;NO)は、普電サポートなし時の変動時間(例えば、10秒)を設定する(ステップB59)。また、普電サポート中である場合(ステップB58;YES)は、普電サポート時の普図変動時間(例えば、1秒)を設定する(ステップB60)。そして、普図変動中処理移行設定処理(ステップB61)を行って、普図普段処理を終了する。
〔普図普段処理移行設定処理1〕
次に、上述の普図普段処理における普図普段処理移行設定処理1(ステップB62)の詳細について図73により説明する。
ルーチンが開始すると、ステップB71で普図普段処理に移行するための処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB72で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB73で普電不正監視期間フラグ領域に不正監視期間中フラグをセーブしてリターンする。これにより、次回に普図普段処理に移行する。
〔普図変動中処理移行設定処理〕
次に、上述の普図普段処理における普図変動中処理移行設定処理(ステップB61)の詳細について図74により説明する。
ルーチンが開始すると、ステップB81で処理番号として「1」(普図変動中処理に係る処理番号に相当)を設定し、ステップB82で普図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップB83で普図変動開始に関する信号(例えば、普通図柄1変動中信号をON)を試験信号出力データ領域にセーブし、ステップB84で普図変動制御フラグ領域に変動中フラグをセーブする。次いで、ステップB85で普図表示器(一括表示装置35の普図表示LED)の点滅周期のタイマの初期値である点滅制御タイマ初期値(例えば200ms)を普図点滅制御タイマ領域にセーブして、普図変動中処理移行設定処理を終了する。これにより、次回に普図変動中処理に移行する。
〔普図変動中処理〕
次に、上述の普図ゲーム処理における普図変動中処理(ステップB10)の詳細について図75により説明する。
ルーチンが開始すると、ステップB91で普図表示中処理移行設定処理を行う。これは、普図表示中処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
〔普図表示中処理移行設定処理〕
次に、上述の普図変動中処理における普図表示中処理移行設定処理(ステップB91)の詳細について図76により説明する。
ルーチンが開始すると、ステップB101で処理番号として「2」(普図表示中処理に係る処理番号に相当)を設定し、ステップB102で普図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップB103で普図表示時間を設定(例えば、600ms)する。次いで、ステップB104で普図ゲーム処理タイマ領域に普図表示時間をセーブし、ステップB105で普図変動終了に関する信号(例えば、普通図柄1変動中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB106で普図変動制御フラグ領域に停止フラグをセーブしてリターンする。これにより、次回に普図表示中処理に移行する。
〔普図表示中処理〕
次に、上述の普図ゲーム処理における普図表示中処理(ステップB11)の詳細について図77により説明する。
普図表示中処理では、まず、普図普段処理にて設定された当りフラグ(当たり情報又ははずれ情報)をロードして(ステップB111)、RWMの当りフラグ領域をクリアする処理(ステップB112)を行う。
次に、ロードされた当りフラグが当りか否かを判定し(ステップB113)、当りフラグが当りでない(ステップB113;NO)と判定すると、ステップB122に分岐して普図普段処理移行設定処理1(図73で説明)を行い、普図表示中処理を終了する。
一方、ステップB113にて、当りフラグが当りである(ステップB113;YES)と判定すると、普電サポート中(時短状態中)かを判定する処理(ステップB114)を行う。
そして、普電サポート中でない場合(ステップB114;NO)は、普電サポートなし時の普電開放時間(例えば、100ms)を普図ゲーム処理タイマ領域にセーブする(ステップB115)。さらに、普電サポートなし時の当り開始ポインタ値(制御ポインタ値)を普図当り中制御ポインタ領域にセーブし(ステップB116)、普電サポートなし時の当り終了ポインタ値(制御ポインタ値)を普図当り中制御ポインタ上限値領域にセーブする(ステップB117)。これにより、通常動作状態中での普通変動入賞装置26の開放態様が設定され、例えば2回の開放が可能となる。その後、普図当り中処理移行設定処理(ステップB121)を行う。これは、普図当り中処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
なお、普電サポートなし時の当り開始ポインタ値(制御ポインタ値)は「0」、当り終了ポインタ値は「2」に設定され、普電サポート時の当り開始ポインタ値(制御ポインタ値)は「3」、当り終了ポインタ値は「9」に設定されている。
一方、普電サポート中である場合(ステップB114;YES)は、普電サポート時の普電開放時間(例えば、1352ms)を普図ゲーム処理タイマ領域にセーブする(ステップB118)。さらに、普電サポート時の当り開始ポインタ値(制御ポインタ値)を普図当り中制御ポインタ領域にセーブし(ステップB119)、普電サポート時の当り終了ポインタ値(制御ポインタ値)を普図当り中制御ポインタ上限値領域にセーブする(ステップB120)。これにより、時短状態中での普通変動入賞装置26の開放態様が設定され、例えば4回の開放が可能となる。その後、普図当り中処理移行設定処理(ステップB122)を行って、普図表示中処理を終了する。
〔普図当り中処理移行設定処理〕
次に、上述の普図表示中処理における普図当り中処理移行設定処理(ステップB121)の詳細について図78により説明する。
ルーチンが開始すると、ステップB131で処理番号として「3」(普図当り中処理に係る処理番号に相当)を設定し、ステップB132で普図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップB133で普図当りの開始に関する信号(例えば、普通図柄1当り信号をON)と普電作動開始に関する信号(例えば、普通電動役物1作動中信号をON)を試験信号出力データ領域にセーブする。次いで、ステップB134で普電ソレノイド出力データ領域にONデータをセーブし、ステップB135で普通変動入賞装置26への入賞数を記憶する普電カウント数領域をクリアする、次いで、ステップB136で普電不正監視期間における普通変動入賞装置26への入賞数を記憶する普電不正入賞数領域をクリアし、ステップB137で普電不正監視期間フラグ領域に不正監視期間外フラグ(普通変動入賞装置26の不正監視期間外を規定するフラグ)をセーブしてリターンする。これにより、次回は普図当り中処理に移行する。
〔普図当り中処理〕
次に、上述の普図ゲーム処理における普図当り中処理(ステップB12)の詳細について図79により説明する。
普図当り中処理では、まず、普図当り中処理制御ポインタをロードして準備した後(ステップB141)、ロードされた普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値:例えば「4」等))に達したかを判定する(ステップB142)。
そして、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値に達していない場合(ステップB142;NO)は、普図当り中制御ポインタを+1更新し(ステップB143)、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
また、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値)に達した場合(ステップB142;YES)は、ステップB143における普図当り中処理制御ポインタ領域を更新(+1)する処理を行わずに、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
〔普電作動移行設定処理〕
次に、上述の普図当り中処理における普電作動移行設定処理(ステップB144)の詳細について図80により説明する。
普電作動移行設定処理は、普通変動入賞装置26を開閉するための普電ソレノイド132の駆動制御を行う処理であり、制御ポインタの値に応じて処理を分岐するようにしている。
ルーチンが開始すると、ステップB151で制御ポインタによる分岐を行う。ここでは、ステップB141でロードして準備された制御ポインタの値に応じて分岐する。具体的には、ステップB151で制御ポインタの値が0,3,5,7の何れかであった場合は、ステップB152へ移行して普通変動入賞装置26の閉塞を制御するため、制御ポインタに対応する普通変動入賞装置26の閉塞後のウェイト時間(例えば、2800ms又は1000ms)を普図ゲーム処理タイマ領域にセーブし、ステップB153で普電ソレノイド132をオフさせるために普電ソレノイド出力データ領域にオフデータを設定して、普電作動移行設定処理を終了する。これにより、普通変動入賞装置26の開放後の閉塞時間が上記ウエイト時間となり、その期間は普通変動入賞装置26が閉塞することになる。
一方、ステップB151で制御ポインタの値が1,4,6,8の何れかであった場合は、ステップB154へ移行して普通変動入賞装置26の開放を制御するため、制御ポインタに対応する普通変動入賞装置26の開放時間である普電開放時間(例えば、100ms、5200ms、1352msの何れか)を普図ゲーム処理タイマ領域にセーブし、ステップB155で普電ソレノイド132をオンさせるために普電ソレノイド出力データ領域にオンデータを設定して、普電作動移行設定処理を終了する。これにより、普通変動入賞装置26の開放時間が上記普電開放時間となり、その期間は普通変動入賞装置26が開放することになる。
また、ステップB151で制御ポインタの値が2,9の何れかであった場合は、ステップB156へ移行して普通変動入賞装置26の開放制御を終了して普電残存球処理(ステップB13)を行うために、処理番号として「4」を設定する。次いで、ステップB157で普図ゲーム処理番号領域に処理番号(ここでは「4」)をセーブする。次いで、ステップB158で普電残存球処理時間(例えば600ms)を普図ゲーム処理タイマ領域にセーブし、その後、ステップB159で普電ソレノイド132をオフさせるために普電ソレノイド出力データ領域にオフデータをセーブし、普電作動移行設定処理を終了する。
〔普電残存球処理〕
次に、上述の普図ゲーム処理における普電残存球処理(ステップB13)の詳細について図81により説明する。
ルーチンが開始すると、ステップB161で普図当り終了処理移行設定処理を行う。これは、普図当り終了処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
〔普図当り終了処理移行設定処理〕
次に、上述の普電残存球処理における普図当り終了処理移行設定処理(ステップB161)の詳細について図82により説明する。
ルーチンが開始すると、ステップB171で処理番号として「5」(普図当り終了処理に係る処理番号に相当)を設定し、ステップB172で普図ゲーム処理番号領域に処理番号(ここでは「5」)をセーブする。次いで、ステップB173で普図エンディング時間(例えば、100ms)を普図ゲーム処理タイマ領域にセーブし、ステップB174で普通変動入賞装置26の作動終了に関する信号(例えば、普通電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB175で普通変動入賞装置26への入賞数を計数する普電カウント数領域をクリアする。そして、ステップB176で普図当り中制御ポインタ領域をクリアし、ステップB177で普図当り中制御ポインタ上限値領域をクリアして、普図当り終了処理移行設定処理を終了する。これにより、次回は普図当り終了処理に移行する。
〔普図当り終了処理〕
次に、上述の普図ゲーム処理における普図当り終了処理(ステップB14)の詳細について図83により説明する。
ルーチンが開始すると、ステップB181で普図普段処理移行設定処理2を行う。これは、普図普段処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
〔普図普段処理移行設定処理2〕
次に、上述の普図当り終了処理における普図普段処理移行設定処理2(ステップB181)の詳細について図84により説明する。
ルーチンが開始すると、ステップB191で処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB192で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB193で普図当りの終了に関する信号(例えば、普通図柄1当り信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB194で普電不正監視期間フラグ領域に不正監視期間中フラグ(普通変動入賞装置26の不正監視期間を規定するフラグ)をセーブしてリターンする。これにより、次回は普図普段処理に移行する。
以上で、普図ゲーム処理に関するフローチャートを説明したので、次に、上述のタイマ割込み処理におけるステップS80以降のサブルーチンの説明に移る。
ここでは、ステップ番号として「ステップC」を用いて説明する。
〔セグメントLED編集処理〕
まず、上述のタイマ割込み処理におけるセグメントLED編集処理(ステップS80)の詳細について図85により説明する。
セグメントLED編集処理は一括表示装置35(図2、4、5)に設けられたセグメントLEDに関する処理を行うものであり、一括表示装置35は前述したように、普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示(特図保留表示、普図保留表示)や、遊技状態の表示を行うようになっている。
これらの表示は、例えばLEDを発光源とする複数の表示器(例えば、1個のランプや7セグメント表示器)によって行われる構成である。より具体的には、例えば特図1保留表示器、特図2保留表示器、普図保留表示器、第1遊技状態表示部、第2遊技状態表示部、エラー表示部、ラウンド表示部などの機能を有するセグメントLEDで構成され、それらの駆動に関する設定等を行うのがセグメントLED編集処理である。
セグメントLED編集処理では、まず、普図保留表示器での表示態様が規定された普図保留数テーブルを設定し(ステップC1)、普図保留数に対応する表示データを取得して普図保留表示器のセグメント領域(例えば、普図保留表示器のセグメント領域)にセーブする(ステップC2)。次に、特図1保留表示器での表示態様が規定された特図1保留数テーブルを設定し(ステップC3)、特図1保留数に対応する表示データを取得して特図1保留表示器のセグメント領域(例えば、特図1保留表示器のセグメント領域)にセーブする(ステップC4)。
その後、特図2保留表示器での表示態様が規定された特図2保留数テーブルを設定し(ステップC5)、特図2保留数に対応する表示データを取得して特図2保留表示器のセグメント領域(例えば、特図2保留表示器のセグメント領域)にセーブする(C6)。さらに、ラウンド表示部での表示態様が規定されたラウンド表示LED表示テーブルを設定し(C7)、ラウンド表示LED出力ポインタに対応する表示データを取得してラウンド表示部のセグメント領域(例えば、ラウンド表示部のセグメント領域)にセーブする(ステップC8)。
次に、一括表示装置35における第1遊技状態表示部及び第2遊技状態表示部での表示態様が規定された遊技状態表示テーブルを設定し(ステップC9)、遊技状態表示番号に対応する表示データを取得して各遊技状態表示部のセグメント領域(例えば、第1遊技状態表示部若しくは第2遊技状態表示部のセグメント領域)にセーブする(ステップC10)。その後、停電復旧時に大当りの確率状態が高確率状態となっていることの報知に係る高確率報知フラグがオンであるかを判定する(ステップC11)。そして、高確率報知フラグがオンである場合(ステップC11;YES)、すなわち高確率状態の報知を行っている状態である場合は、セグメントLED編集処理を終了する。
また、高確率報知フラグがオンでない場合(ステップC11;NO)は、高確率報知LEDのオフデータを第3遊技状態表示部のセグメント領域(例えば、エラー表示部のセグメント領域)にセーブして(ステップC12)、セグメントLED編集処理を終了する。
〔磁石不正監視処理〕
次に、上述のタイマ割込み処理における磁石不正監視処理(ステップS81)の詳細について図86により説明する。
磁石不正監視処理は、磁気センサ126からの検出信号をチェックして異常がないか判定して不正報知の開始や終了の設定等を行うものである。
磁石不正監視処理では、まず、磁気センサ126から出力されて第3入力ポート162(入力ポート3)に取り込まれる検出信号の状態から、磁気センサ126がオン、すなわち異常な磁気を検出した状態であるかを判定する(ステップC21)。なお、図86のステップC21では磁石不正検出のための処理であるので、「磁石センサはオン?」という表記にしている。
磁気センサ126がオンである場合(ステップC21;YES)、すなわち異常な磁気を検出した場合は、異常な磁気の検出期間を計時する磁石不正監視タイマを+1更新して(ステップC22)、当該タイマがタイムアップしたかを判定する(ステップC23)。
磁石不正監視タイマがタイムアップした場合(ステップC23;YES)、すなわち異常な磁気を一定期間継続して検出した場合は、磁石不正監視タイマをクリアし(ステップC24)、磁石不正報知タイマ初期値(例えば、60000ms)を磁石不正報知タイマ領域にセーブする(ステップC25)。そして、磁石不正報知のコマンドを準備し(ステップC26)、磁石不正フラグとして磁石不正発生フラグを準備して(ステップC27)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップC33)。すなわち、磁気センサ126が一定期間(例えば、8回の割込み)連続してオンであった場合に異常が発生していると判定するようにしている。
すなわち、磁気センサ検出信号の入力が8回割込みして連続で行われることで、異常発生と判断される。これは、磁気センサ126のセンシングが4msであり、32msで不正発生と判断するため、8回割込みして磁気センサ検出信号のON入力があれば、不正と判定できるからである。
一方、磁気センサ126がオンでない場合(ステップC21;NO)、すなわち異常な磁気を検出していない場合は、磁石不正監視タイマをクリアし(ステップC28)、磁石不正の報知時間を規定する磁石不正報知タイマが0でなければ−1更新する(ステップC29)。なお、磁石不正報知タイマの最小値は0に設定されている。次いで、磁石不正報知タイマの値が0であるかを判定する(ステップC30)。なお、磁石不正監視タイマがタイムアップしていない場合(ステップC23;NO)もステップC29の処理に移行する。
そして、磁石不正報知タイマの値が0でない場合(ステップC30;NO)、すなわちタイムアップしていない場合は、磁石不正監視処理を終了する。
また、磁石不正報知タイマの値が0である場合(ステップC30;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、磁石不正報知終了のコマンドを準備する(ステップC31)。さらに、磁石不正フラグとして磁石不正解除フラグを準備して(ステップC32)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップC33)。
そして、準備した磁石不正フラグが磁石不正フラグ領域の値と一致する場合(ステップC33;YES)は、磁石不正監視処理を終了する。また、値が一致しない場合(ステップC33;NO)は、準備した磁石不正フラグを磁石不正フラグ領域にセーブし(ステップC34)、コマンド設定処理を行い(ステップC35)、磁石不正監視処理を終了する。
ここで、図86において矢印は磁石不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC21、ステップC28、ステップC29、ステップC30、ステップC31、ステップC32、ステップC33、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
〔電波不正監視処理〕
次に、上述のタイマ割込み処理における電波不正監視処理(ステップS82)の詳細について図87により説明する。
電波不正監視処理は、電波センサ127からの検出信号に基づき異常の有無を判定し不正報知の開始や終了の設定等を行うものである。
電波不正監視処理では、まず、電波センサ127から出力されて近接I/F163を経由して第3入力ポート162(入力ポート3)に取り込まれる検出信号の状態から、電波センサ127がオン、すなわち異常な電波を検出した状態であるかを判定する(ステップC41)。電波センサがオンである場合(ステップC41;YES)、すなわち異常な電波を検出した場合は、電波不正報知タイマ初期値を電波不正報知タイマ領域にセーブする(ステップC42)。
そして、電波不正報知のコマンドを準備し(ステップC43)、電波不正フラグとして電波不正発生フラグを準備して(ステップC44)、準備した電波不正フラグが電波不正フラグ領域の値と一致するかを判定する(ステップC49)。すなわち、電波不正の場合は磁気不正の場合と違い、異常な電波を検出した時点で異常が発生していると判定するようにしている。
一方、電波センサがオンでない場合(ステップC41;NO)、すなわち異常な電波を検出していない場合は、電波不正の報知時間を規定する電波不正報知タイマが0でなければ−1更新する(ステップC45)。なお、電波不正報知タイマの最小値は0に設定されている。そして、電波不正報知タイマの値が0であるかを判定する(ステップC46)。
電波不正報知タイマの値が0でない場合(ステップC46;NO)、すなわちタイムアップしていない場合は、電波不正監視処理を終了する。また、電波不正報知タイマの値が0である場合(ステップC46;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、電波不正報知終了のコマンドを準備し(ステップC47)、電波不正フラグとして電波不正解除フラグを準備して(ステップC48)、準備した電波不正フラグが電波不正フラグ領域の値と一致するかを判定する(ステップC49)。
そして、準備した電波不正フラグが電波不正フラグ領域の値と一致する場合(ステップC49;YES)は、電波不正監視処理を終了する。また、値が一致しない場合(ステップC49;NO)は、準備した電波不正フラグを電波不正フラグ領域にセーブし(ステップC50)、コマンド設定処理を行い(ステップC51)、電波不正監視処理を終了する。
ここで、図87において矢印は電波不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC41、ステップC45、ステップC46、ステップC47、ステップC48、ステップC49、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
〔外部情報編集処理〕
次に、上述のタイマ割込み処理における外部情報編集処理(ステップS83)の詳細について図88、図89により説明する。
外部情報編集処理では、払出コマンド送信処理(ステップS74)、入賞口スイッチ/エラー監視処理(ステップS77)、磁石不正監視処理(ステップS81)及び電波不正監視処理(ステップS82)での監視結果に基づいて、情報収集端末や遊技場内部管理装置等の外部装置や試射試験装置に出力する情報を作成して出力バッファにセットする処理等を行う。
図88に示すように、外部情報編集処理では、まず、払出予定の賞球数に関する情報を設定するメイン賞球信号編集処理(ステップC61)を行い、始動口の入賞信号を編集する始動口信号編集処理(ステップC62)を行う。次いで、ステップC63で固有情報信号編集処理を行う。これは、主基板の固有情報(固有ID)を取得するものであり、詳細は後述する。
次いで、ステップC64でセキュリティ信号制御タイマが0でなければ「−1」更新する。なお、セキュリティ信号制御タイマの最小値は0に設定されている。そして、セキュリティ信号制御タイマの値が0となったかを判定する(ステップC65)。セキュリティ信号制御タイマは、RAMクリアによる電源投入を行った時にセキュリティ信号を所定時間オン出力するためのものであり、ステップS27にてタイマ初期値(例えば256ms)がセットされる。
ステップC65でセキュリティ信号制御タイマの値が0である場合、すなわちタイムアップした又はすでにタイムアップしていた場合は、ステップC66に進んで固有情報出力要求済みか否かを判定する。ここでの固有情報とは、主基板の固有情報、つまり固有IDのことである。
ステップC66で固有情報出力要求済みでなければ、ステップC67に進んで電源投入での固有情報信号の出力要求フラグをセットし、ステップC68で電源投入での固有情報信号の出力要求済みフラグをセットする。これにより、パチンコ機1の電源投入時(例えば、開店時)において固有ID(主基板の固有情報)が外部に出力されることになる。ステップC68を経ると、ステップC69でセキュリティ信号のオンデータを外部情報出力データ領域にセーブした後、ステップC72以降の処理に進む。
また、ステップC66で既に固有情報出力要求済みであれば、ステップC67、68をジャンプしてステップC69に進む。
一方、ステップC65でセキュリティ信号制御タイマが既にタイムアップ又は「−1」更新後にタイムアップしていれば、ステップC70に分岐して電源投入での固有情報信号の出力要求済みフラグをクリアし、ステップC71でセキュリティ信号のオフデータを外部情報出力データ領域にセーブした後、ステップC72以降の処理に進む。すなわち、セキュリティ信号制御タイマが既にタイムアップしていれば、電源投入に関連するセキュリティ信号の外部出力の設定は行なわれない。
次いで、ステップC72、73、74、75、76で、磁石不正発生中か、電波不正発生中か、下大入賞口不正発生中か、上大入賞口不正発生中か、普電不正発生中かをそれぞれ判別する。これらの処理では、図24の「エラーチェック処理」での監視結果に基づいた判定を行う。すなわち、図24の「エラーチェック処理」でエラーフラグ(エラー発生フラグ)が立っているか否かに基づいて上記の各不正発生中かを判断する。
何れか1つ以上の不正が発生していれば、ステップC77に進んでセキュリティ信号のオンデータを外部情報出力データ領域にセーブし、さらにステップC78で遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして、ステップC80に進む。これにより、不正や遊技機エラー状態が外部に出力されることになる。
一方、ステップC72でNO、ステップC73でNO、ステップC74でNO、ステップC75でNO、ステップC76でNOのとき、すなわち、ステップC72、73、74、75、76で全てNOのときは、ステップC76からステップC79に分岐して遊技機エラー状態信号のオフデータを試験信号出力データ領域にセーブした後、ステップC80以降の処理に進む。
ステップC78あるいはステップC79を経ると、次いで、ステップC80に進み、ガラス枠開放エラー中か否かを判別する。この処理では、直接にガラス枠開放検出スイッチ211の信号に基づいてガラス枠5(扉)の開放を監視するのではなく、図24の「エラーチェック処理」での監視結果に基づいた判定を行う。すなわち、図24の「エラーチェック処理」でエラーフラグ(エラー発生フラグ)が立っているか否かに基づいてガラス枠開放エラー中かを判断する。
ガラス枠開放エラー中でなければ、ステップC81に進んで前面枠開放エラー中か否かを判別する。この処理では、図24の「エラーチェック処理」での監視結果に基づいた判定を行う。
前面枠開放エラー中であれば、ステップC82に進む。また、ステップC80でガラス枠開放エラー中である場合もステップC82に進む。
すなわち、ガラス枠開放エラー中又は前面枠開放エラー中であれば、ステップC82に進み、ステップC82において固有情報出力要求済みか否かを判定し、NO(要求済みでない)であれば、ステップC83でガラス枠・前面枠開放での固有情報信号の出力要求フラグをセットし、ステップC84でガラス枠・前面枠開放での固有情報信号の出力要求済みフラグをセットした後、ステップC85に進む。したがって、このときはパチンコ機1のガラス枠5又は前面枠4が開放されたとき(例えば、不正な開放も含む)に、固有ID(主基板の固有情報)が外部に出力されることになる。
一方、ステップC82で固有情報出力要求済みであれば、ステップC85にジャンプする。
ステップC84又はステップC82からステップC85に進むと、ステップC85で扉・枠開放信号(つまり、ガラス枠5(扉)・前面枠4(枠)の開放信号のこと)のオンデータを外部情報出力データ領域にセーブし、さらにステップC86で遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして、ステップC89に進む。これは、扉又は枠の開放というイベントが発生したときに、エラー信号を外部に出力するためである。
一方、ステップC81でNOのとき、つまりガラス枠開放エラー中又は前面枠開放エラー中でなければ、扉又は枠の開放というイベントが発生しないので、そのような出力データの設定は行う必要がないことから、ステップC87にガラス枠・前面枠枠開放での固有情報信号の出力要求済みフラグをクリアし、ステップC88で扉・枠開放信号のオフデータを外部情報出力データ領域にセーブした後、ステップC89に進む。
ステップC89では、大当り動作中か否かを判定し、大当り動作中であれば、ステップC90で固有情報出力要求済みか否かを判定し、NO(要求済みでない)であれば、ステップC91で大当りでの固有情報信号の出力要求フラグをセットし、ステップC92で大当りでの固有情報信号の出力要求済みフラグをセットした後、ステップC93に進む。したがって、このときはパチンコ機1の大当りが発生したときに、固有ID(主基板の固有情報)が外部に出力されることになる。
一方、ステップC90で大当り時に固有情報出力要求済みであれば、ステップC91、92をジャンプしてステップC93に進む。
ステップC93では、大当り1信号のオンデータを外部情報出力データ領域にセーブし、ステップC94に進む。
一方、ステップC89で大当り動作中でないとき(NO)には、ステップC95に分岐して大当りでの固有情報信号の出力要求済みフラグをクリアし、ステップC96で大当り1信号のオフデータを外部情報出力データ領域にセーブし、ステップC94に進む。したがって、大当りが発生しないときは、固有ID(主基板の固有情報)の外部への出力はない。
ステップC93又はステップC96からステップC94に進むと、ステップC94で図柄確定回数制御タイマが0でなければ、(−1)更新し、続くステップC97で図柄確定回数制御タイマが0(タイムアップした)か否かをチェックする。図柄確定回数制御タイマは、図柄確定回数信号のオン時間を制御するためのタイマである。
図柄確定回数制御タイマがタイマアップしていなければ(NO)、ステップC99に進んで、図柄確定回数信号のオンデータを外部情報出力データ領域にセーブしてリターンする。そして、ルーチンを繰り返し、ステップC97で図柄確定回数制御タイマがタイムアップした(YES)と判定すると、ステップC98に進み、図柄確定回数信号のオフデータを外部情報出力データ領域にセーブして外部情報編集処理を終了する。
このようにして、特図の図柄が変動を終了する度に外部情報として出力されることになる。
〔メイン賞球信号編集処理〕
次に、上述の外部情報編集処理におけるメイン賞球信号編集処理(ステップC61)の詳細について図90により説明する。
メイン賞球信号編集処理は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に生成されるメイン賞球信号を外部装置へ出力する処理である。
メイン賞球信号編集処理では、まず、メイン賞球信号出力制御タイマが0でなければ−1更新する(ステップC101)。なお、メイン賞球信号出力制御タイマの最小値は0に設定されている。そして、メイン賞球信号出力制御タイマの値が0であるかを判定する(ステップC102)。メイン賞球信号出力制御タイマの値が0である場合(ステップC102;YES)は、メイン賞球信号出力回数が0であるかを判定する(ステップC103)。
そして、メイン賞球信号出力回数が0でない場合(ステップC103;NO)は、メイン賞球信号出力回数を−1更新し(ステップC104)、メイン賞球信号出力制御タイマ領域にメイン賞球信号出力制御タイマ初期値をセーブする(ステップC105)。このメイン賞球信号出力制御タイマ初期値は、メイン賞球信号のオン状態(例えば、ハイレベル)の時間(例えば、128ms)とオフ状態(例えば、ロウレベル)の時間(例えば、64ms)を加算した時間(例えば、192ms)となっている。その後、メイン賞球信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップC107)、メイン賞球信号編集処理を終了する。
また、メイン賞球信号出力回数が0である場合(ステップC103;YES)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
一方、メイン賞球信号出力制御タイマの値が0でない場合(ステップC102;NO)は、メイン賞球信号出力制御タイマが出力オン区間中であるかを判定する(ステップC106)。なお、メイン賞球信号出力制御タイマが出力オン区間中であるとは、メイン賞球信号出力制御タイマの値が所定時間(例えば64ms)以上であることである。
メイン賞球信号出力制御タイマが出力オン区間中である場合(ステップC106;YES)は、処理をステップC107に移行する。また、メイン賞球信号出力制御タイマが出力オン区間中でない場合(ステップC106;NO)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
このように、メイン賞球信号は遊技制御装置100からは賞球の払出予定数が10個毎に1パルスのメイン賞球信号が外部装置(例えば、管理装置140)へ出力される。なお、払出制御装置200からは10個払出毎に生成される1パルスの賞球信号が外部装置(例えば、管理装置140)へ出力されることになる。
すなわち、遊技制御装置100(主基板)で10個払出予定毎(払出コマンドを送信する毎)にメイン賞球数信号出力回数を+1更新し(払出コマンド送信処理内のサブルーチン)、その後、更新(設定)されている出力回数分だけメイン賞球数信号が出力される。そして、上記のように10個払出予定毎に出力されるメイン賞球信号に対し、払出制御装置200(払出基板)からは実際に10個払出が行われたら賞球信号が送信されることにより、予定と結果の整合を取ることで、不正な払出に対応することができる。
また、メイン賞球信号から、いつ発生した入賞であるかが外部装置としての管理装置140等で判断できるようになり、ホール営業における方針の助けにもなる。
具体的には、大当り中に発生した入賞か、通常遊技中に発生した入賞かが判断できる。例えば、大当り中ならたくさん入賞があってもおかしくないが、通常遊技中にたくさん入賞があるようであれば、釘調整が甘すぎると判断できるなどの効果があり、これはホール営業における方針の助けになる。
一方、メイン賞球信号が外部装置に出力されず、払い出し完了時に出力される払出制御装置200からの賞球信号だけしかない場合であれば、大当り中に球切れになったりして払い出しが行われず、補給が遅れて払い出しされたのが大当り終了後となったとき等に、いつ発生した入賞なのかが判断できないことになる。
そのため、補給が遅れて払い出しされたのが大当り終了後となった場合には、通常遊技中に大量の入賞(払い出し)があったことになってしまい、営業データに不備等が出てしまう可能性がある。
これに対して本実施例では、メイン賞球信号と払出制御装置200からの賞球信号の双方を併用しており、メイン賞球信号は入賞してすぐに出力されるので、上記のような不具合がなくなる。
〔始動口信号編集処理〕
次に、上述の外部情報編集処理における始動口信号編集処理(ステップC62)の詳細について図91により説明する。
始動口信号編集処理は、第1始動口スイッチ120や第2始動口スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
始動口信号編集処理では、まず、始動口信号出力制御タイマが0でなければ−1更新する(ステップC111)。なお、始動口信号出力制御タイマの最小値は0に設定されている。そして、始動口信号出力制御タイマの値が0であるかを判定する(ステップC112)。始動口信号出力制御タイマの値が0である場合(ステップC112;YES)は、始動口信号出力回数が0であるかを判定する(ステップC113)。
そして、始動口信号出力回数が0でない場合(ステップC113;NO)は、始動口信号出力回数を−1更新し(ステップC114)、始動口信号出力制御タイマ領域に始動口信号出力制御タイマ初期値をセーブする(ステップC115)。この始動口信号出力制御タイマ初期値は、始動口信号のオン状態(例えば、ハイレベル)の時間(例えば、128ms)とオフ状態(例えば、ロウレベル)の時間(例えば、64ms)を加算した時間(例えば、192ms)となっている。その後、始動口信号をオン状態にするオンデータをRWMの外部情報出力データ領域にセーブして(ステップC117)、始動口信号編集処理を終了する。
また、始動口信号出力回数が0である場合(ステップC113;YES)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC118)、始動口信号編集処理を終了する。
一方、始動口信号出力制御タイマの値が0でない場合(ステップC112;NO)は、始動口信号出力制御タイマが出力オン区間中であるかを判定する(ステップC116)。なお、始動口信号出力制御タイマが出力オン区間中であるとは、始動口信号出力制御タイマの値が所定時間(例えば64ms)以上であることである。始動口信号出力制御タイマが出力オン区間中である場合(ステップC116;YES)は、処理をステップC117に移行する。また、始動口信号出力制御タイマが出力オン区間中でない場合(ステップC116;NO)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC118)、始動口信号編集処理を終了する。
〔固有情報信号編集処理〕
次に、上述の外部情報編集処理における固有情報信号編集処理(ステップC63)の詳細について図92により説明する。
このルーチンが開始されると、まずステップC121でシリアル通信中かどうかを判別する。これは、遊技制御装置100が管理装置140(又はカードユニット551を含めてもよい)とシリアル通信が実行中かどうかを判断するもので、シリアル通信中であれば、今回はリターンする。
シリアル通信中でなければ、ステップC122以降の処理を実行する。なお、遊技制御装置100と管理装置140との間は単一方向通信であり、遊技制御装置100から管理装置140への信号伝送のみ許容されている。したがって、シリアル通信中か否かの判定は、遊技制御装置100内のシリアル送信回路が通信中であるかをチェックして行う。
シリアル通信中でない場合、ステップC122で固有情報信号の出力要求フラグがセットされているかをチェックし、ステップC122でNO(出力要求フラグがセットなし)であれば、ルーチンを終了してリターンする。一方、ステップC122でYES(出力要求フラグがセットあり)であれば、ステップC123に進んで、固有情報信号の出力要求フラグをクリアする。
ここで、固有情報信号の出力要求フラグは「電源投入時のセキュリティ信号」、「扉・枠開放信号」、「大当り1信号」に対応して独立にセットされる。複数同時に成立している場合には、優先順位を設けて1つずつ対応して処理する。したがって、一度に全部の出力要求フラグをクリアするのではない。
次いで、ステップC124でCPU固有情報取得処理を行う。これは、固有情報を取得する処理で、詳細は後述する。ステップC124を経ると、リターンする。
〔CPU固有情報取得処理〕
次に、上述の固有情報信号編集処理におけるCPU固有情報取得処理(ステップC125)の詳細について図93により説明する。
このルーチンが開始されると、まずステップC131でスタートコードを遊技制御装置100内のシリアル送信バッファに書き込む。シリアル通信の開始であることを受け側である管理装置140に特定させるためのコードである。次いで、ステップC132で取得はチップコード(主基板固有ID)のみかどうかを判別し、取得がチップコードのみであればステップC137にジャンプして、チップコード識別コードをシリアル送信バッファに書き込み、ステップC138で個体識別情報(固有ID)としてのチップコードを読み出し、シリアル送信バッファに書き込み、リターンする。これにより、固有IDが取得されて管理装置140に出力されることになる。
一方、ステップC132で取得がチップコードのみでなければ、ステップC133に進んでメーカコード識別コードをシリアル送信バッファに書き込むとともに、ステップC134でメーカコードを読み出してシリアル送信バッファに書き込む。次いで、ステップC135で製品コード識別コードをシリアル送信バッファに書き込むとともに、ステップC136で製品コードを読み出してシリアル送信バッファに書き込み、その後、ステップC137に進む。これにより、メーカコード及び製品コードが取得されて管理装置140に出力されることになる。したがって、ステップC132で取得がチップコードのみでない場合には、メーカコード、製品コード、チップコードが順次取得されて、管理装置140に出力されることになる。
このように、遊技制御装置100に予め備わっているシリアル転送(送信)機能を利用することで、改めて転送(送信)処理をプログラム(例えば、遊技プログラム)で用意する必要が無くなるので、プログラム構成が効率化される。
また、パラレル転送(送信)に比べて、配線の本数が少なくなるのでコスト減になる。
なお、上記のようにシリアル通信で遊技制御装置100から管理装置140へ固有IDなどを送信する例に限らず、例えばパラレル通信で送信するようにしてもよい。
例えば、CPU固有情報のうちメーカコードは3バイト、製品コードは32バイト、チップコードは4バイトで構成される。このように、CPU固有情報は非常に長い情報となるため、本実施例では通信の輻輳が発生するのを回避できるように、状況に応じて送信する情報を可変長にしている。
この背景を説明する。
例えば、ガラス枠5又は前面枠4の開放(扉又は枠の開放)というイベントが発生する度にCPU固有情報に関する全データを送るようにすると、仮にわざと扉又は枠の開閉が繰り返されると、大量の通信が発生することが考えられ、通信の輻輳が発生するおそれがある。
そので本実施例では、CPU固有情報については状況に応じて送信する情報を可変長にすることで、通信の輻輳発生を回避できるようにしている。
なお、上記に限らず、例えばメーカコード、製品コード、チップコードを毎回送信する固定長としてもよい。その際は、メーカコード識別コード、製品コード識別コード、チップコード識別コードは入れないようにしてもよい。
次に、本実施例の遊技機(パチンコ機1)における特別結果の種類と大入賞口(変動入賞装置)の開閉パターンについて、図95、図96により説明する。
特別結果の種類には、2R確変、11R確変、11R通常及び16R確変の4種類が設定されている。2R確変、11R確変及び16R確変は、それぞれ特別遊技状態でのラウンド数が2,11,16ラウンドであり、特別遊技状態の終了後に次回の特別結果の導出まで確率状態が高確率状態に設定されるとともに、時短状態とされる特別結果である。
一方、11R通常は、特別遊技状態でのラウンド数が11ラウンドであり、特別遊技状態の終了後の確率状態が通常確率状態に設定されるとともに、所定回数(例えば70回)の特図変動表示ゲームを実行するまで時短状態とされる特別結果である。
また、本実施例の遊技機(パチンコ機1)は下大入賞口(変動入賞装置27)と、上大入賞口(第2変動入賞装置33)を備え、それぞれ複数の開閉パターンが用意されている。そして、これらの複数の開閉パターンから特別結果の種類に応じて一の開閉パターンが選択されるようになっている。なお、以下の開閉パターンにおいて大入賞口の開放時間として示す値は最大開放時間を示すものであり、一のラウンドにおいて最大開放時間の経過前に所定数の遊技球が大入賞口に流入した場合は、最大開放時間の経過を待たずに大入賞口を閉鎖してラウンドが終了する。
図95は、上大入賞口(第2変動入賞装置33)の開閉パターンを示す図である。
上大入賞口(第2変動入賞装置33)の開閉パターンとしては、上大入賞口開閉パターン1から上大入賞口開閉パターン5までの5種類の開閉パターンがある。
詳細は、以下の通りである。
図95(a)に示す上大入賞口開閉パターン1は、特別結果が2R確変であって、当該特別結果の導出時に時短状態でない場合(すなわち、大当り発生時に普電サポート無し(普図低確率)のケース)に選択される。
この上大入賞口開閉パターン1では、初回のラウンド(1R)で52msの開放時間が設定され、1448msのインターバル期間を挟んだ後に次のラウンド(2R)で52msの開放時間が設定される。そして、22400msのエンディング時間の経過後、特別遊技状態が終了する。
図95(b)に示す上大入賞口開閉パターン2は、特別結果が2R確変であって、当該特別結果の導出時に時短状態である場合(すなわち、大当り発生時に普電サポート有り(普図高確率)のケース)に選択される。
この上大入賞口開閉パターン2は上大入賞口開閉パターン1と同様の開閉態様であるが、エンディング時間が1400msとなっている。
図95(c)に示す上大入賞口開閉パターン3は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。この上大入賞口開閉パターン3では、52msの開放時間が設定されるラウンドを1448msのインターバル期間を挟んで16ラウンド行い、1400msのエンディング時間の経過後、特別遊技状態が終了する。
図95(d)に示す上大入賞口開閉パターン4は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。この上大入賞口開閉パターン4では、初回のラウンド(1R)において、まず上大入賞口開閉パターン3と同様に52msの開放を1448msの閉鎖時間を挟んで16回行う。
ここまでは上大入賞口開閉パターン3と同様の開閉態様であり、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。その後、6300msの閉鎖時間において表示装置41に昇格映像を表示して上大入賞口開閉パターン4であることを報知し、26168msの開放を行って初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを15回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
このように、上大入賞口開閉パターン3と上大入賞口開閉パターン4の初回のラウンド(1R)を同様の開閉サイクル(52msの開放、1448msの閉塞)とすることで、何れの大当りが発生したか、当該サイクルが終了するまで遊技者が認識し難くして、遊技の興趣を高めるという効果がある。
図95(e)に示す上大入賞口開閉パターン5は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。
この上大入賞口開閉パターン5では、初回のラウンド(1R)において、まず52msの開放を行った後に5948msの閉鎖時間を挟んで26948msの開放を行い、初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを15回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
次に、図96は下大入賞口(変動入賞装置27)の開閉パターンを示す図である。
下大入賞口(変動入賞装置27)の開閉パターンとしては、下大入賞口開閉パターン1から下大入賞口開閉パターン3までの3種類の開閉パターンがある。
詳細は、以下の通りである。
図96(a)に示す下大入賞口開閉パターン1は、特別結果が11R確変又は11R通常である場合に選択される。
この下大入賞口開閉パターン1では、初回のラウンド(1R)において、まず200msの開放を行った後に5800msの閉鎖時間を挟んで28000msの開放を行い、初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを10回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
図96(b)に示す下大入賞口開閉パターン2は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。
この下大入賞口開閉パターン2では、11ラウンドの終了までは下大入賞口開閉パターン1や3と同様の開閉態様とされ、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。11ラウンドの終了後、1500msのインターバル期間を挟んで200msの開放時間が設定されるラウンドを5回繰り返し、1400msのエンディング時間の経過後、特別遊技状態が終了する。
図96(c)に示す下大入賞口開閉パターン3は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。
この下大入賞口開閉パターン3では、11ラウンドの終了までは下大入賞口開閉パターン1や2と同様の開閉態様とされ、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。そして、11ラウンドの終了後、13000msのインターバル期間において表示装置41に昇格映像を表示して下大入賞口開閉パターン3であることを報知する。その後、27000msの開放時間が設定されるラウンドを2000msのインターバル期間を挟んで5回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
次に、演出制御装置300の制御について、図97乃至図159により説明する。
ここでは、ステップ番号として「ステップD」及び「ステップE」を用いて説明する。
なお、演出制御装置300が制御する特図は、表示装置41に表示される演出用の特図であり、以下の演出制御装置300の制御処理の説明における特図は、この演出用の特図(本特図ではない飾り図柄)を意味する。
また、一般に「キャラクタ」とは、性質や性格、或いは性質や性格を有する登場人物や動物等を意味し、コンピュータ用語としては文字を意味する場合もある。しかし、以下の演出制御装置300の説明では、特にVDPを使った画像表示制御の説明においては、一連のムービー、背景画像、図柄(特図の飾り図柄や第4図柄)の画像、登場人物の画像等のまとまりのある静止画又は動画をキャラクタと称し、またそのような画像データ(静止画又は動画のデータ)をキャラクタのデータ(或いはキャラクタデータ)と称する場合がある。
また、以下の演出制御装置300の説明において、オブジェクトとは、表示制御の場合、まとまりのある表示制御の対象を意味し、表示要素(背景画像、特図の飾り図柄の画像、予告キャラクタの画像、保留表示の画像など、まとまりのある画像)に相当する。例えば本例の場合、特図の飾り図柄には、左図柄、右図柄、中図柄という変動表示領域(リール)の違いでの区別があり、さらにこれら区別のそれぞれに、現図柄、次図柄、前図柄というスクロール方向の表示位置が異なる区別がある。即ち、例えば左図柄については、左図柄の現図柄、左図柄の次図柄、左図柄の前図柄があり、細かく見れば、これらそれぞれが一つのオブジェクトである。但し、制御処理上においては、例えば現図柄、次図柄、前図柄を含む左図柄全体を一つの表示要素として分類する場合もある。
〔パワーオンリセット処理〕
まず、図97により、演出制御装置300のパワーオンリセット処理を説明する。
このパワーオンリセット処理は、パチンコ機1の電源供給が開始された時点で開始する。
パチンコ機1の電源供給が開始すると、まずステップD1で割込みを禁止し、次にステップD2でCPU311の初期設定を行い、次にステップD3でVDP312の初期設定を行い、次にステップD4で割込みを許可し、次いでステップD5のメイン処理を開始する。メイン処理を開始すると、電源遮断(停電含む)までこのメイン処理を実行する。
〔メイン処理〕
次に、上述のパワーオンリセット処理におけるメイン処理(ステップD5)を図98により説明する。
メイン処理を開始すると、まずステップD11で無線モジュール360を初期化する無線モジュール初期化処理を実行し、ステップD12乃至D19を順次実行した後、ステップD20に進む。なお、本例は異なるパチンコ機におけるサブ基板間(この場合、演出制御装置間、以下場合により、単にサブ間という。)の通信を無線通信で行う例としているが、無線通信に限定されるものではなく、有線通信でもよい。
ステップD12では、VDP312のレジスタのベースアドレスを設定する。これは、CPU311の種類やその設定によりアドレス空間が異なるので、ベースとなるアドレスを設定し、そこからの差分を基に各種指定を行うためである。
ステップD13では、表示用データ生成を許可する。これは、表示回路608がVRAM606,607へアクセスを行い、表示データを生成するのを許可する処理である。
ステップD14では、VDP312の画像展開領域のサイズを設定する。
ステップD15では、乱数シードを設定する。これは、例えばsrand関数を用いて擬似乱数の発生系列を設定する処理である。ここで、srand関数に与える引数としては、0(ゼロ)などの固定値を使用してもよいし、遊技機毎に異なるようにCPU等のID値などを基に作成した値を使用してもよい。
ステップD16では、RAM311aにおけるモーション管理用の記憶領域(モーション管理領域及びモーション管理領域のアドレス領域を含む)を初期化する。
ステップD17では、RAM311aにおけるシナリオ管理用の記憶領域(シナリオ管理領域及びシナリオ管理領域のアドレス領域を含む)を初期化する。
ここで、「モーション」はブロック化(パーツ化)された演出動作(本例の場合、具体的には、表示装置41での表示演出をブロック化したもの)を意味し、「シナリオ」は演出の流れ(どのモーションをいつ実行するか等を決めるもの)を意味する。また、「モーション管理領域のアドレス領域」とは、モーション管理領域の先頭アドレスを格納するための記憶領域を意味する。また同様に、「シナリオ管理領域のアドレス領域」とは、シナリオ管理領域の先頭アドレスを格納するための記憶領域を意味する。
ステップD18では、端末IDを設定する。これは、例えば設定SW371の設定に基づいて台毎(即ち遊技機毎)のIDを設定する処理である。設定する端末IDとしては、無線モジュール360の個別ID等を使用してもよいが、設定SW等により手動で設定を行った方が島内における遊技機の位置情報を特定し易く、遊技場ホール内の台番号に割り振るのも容易である。即ち、無線モジュールのIDでは、遊技機の設置時に小さい順に並べる等しなければ、その数値の大小から位置情報を特定することが困難であるが、設定SW等により手動で設定を行う構成であれば、例えば設置されている位置の順にこの端末IDの値を設定すれば、この端末IDの値から設置された位置情報を特定することが容易である。ただし、無線モジュールのID等から端末IDを設定する方法は、人の手を煩わせず自動で設定できるという利点がある。一方、設定SWによる端末IDの設定は、人の操作により台毎に異なる番号を設定する必要があるため、遊技機導入時など忙しい時には不可能になる虞がある。また、通信モジュールのIDを使用する場合は設定SWが不要なためコストアップにもならない利点がある。このように有利不利があるため、結局はサブ基板間通信で行いたい演出によってこの端末IDの設定方法を選ぶ必要がある。本例では、島内の左端の遊技機から順次予告キャラクタを各遊技機の表示装置41に登場させるといった演出(即ち、島内における遊技機の並び(左からID1、ID2、ID3、…ID10というように)を特定する必要のある演出)を実現できるようにするため、台の位置情報を特定し易い、設定SWによる設定方法を例として挙げている。なお、この端末IDは、サブ基板間通信において、送信先や送信元を識別するなどのために設けられる。
ステップD19では、初期化すべき領域(例えば、演出用フラグ領域(後述する各種のフラグとして使う記憶領域))の初期設定(例えば、所定の初期値をセーブする処理)を行う。
次にステップD20に進むと、ステップD20乃至D32を実行し、ステップD33に進む。
ステップD20では、WDT(ウォッチドッグタイマ)をクリアする。
ステップD21では、演出ボタン入力処理を実行する。これは、演出ボタン9(例えば、プッシュボタンとセレクトボタンからなる構成でもよい)が有効時に押された場合の編集を行う処理である。なお、演出ボタンは高速でオンオフしないので、ボタンの入力を感知する処理はこの処理内で行ってもよいし、図示していない短周期のタイマ割込み内で行ってもよい。
ステップD22では、乱数更新処理を実行する。これは、例えばrand関数を用いてメイン処理の制御周期毎に最低1回は擬似乱数の更新を行う処理である。rand関数は再計算が行われる度に指定の発生系列に基づいて乱数を発生するので、関数を実行するだけでよい。なお、主基板(遊技制御装置100)のように+1ずつ更新する乱数を使ってもよい。
ステップD23では、受信コマンドチェック処理(後述する)を実行する。
ステップD24では、サブ間送信開始処理を実行する。これは、サブ間コマンド送信の要求があった場合にサブ間送信割込みを許可したりする処理である。なお、演出によっては直ぐにコマンドを送りたくない場合もあるので時間調整も行う(詳細後述する)。
ステップD25では、サブ間受信タスク処理を実行する。これは、受信したサブ間コマンドの解析を主に行う処理である(詳細後述する)。
ステップD26では、サブ間ack応答タスク処理を実行する。これは、他台にack(返信)を要求した場合の監視を行う処理である(詳細後述する)。
ステップD27では、サブ間演出設定処理を実行する。これは、受信したサブ間コマンドに対応する演出の制御を行う処理である(詳細後述する)。
ステップD28では、シナリオ設定処理を実行する。これは、受信した遊技制御装置100からのコマンドに基づくシナリオの解析などを行う処理である(詳細後述する)。
ステップD29では、描画領域を黒で塗り潰す処理を実行する。これは、フレームバッファの過去の表示を完全に消すための処理であり、例えば全体が黒い四角形の画像をフレームバッファに配置し、ゴミなどが表示されないようにする処理である。
ステップD30では、モーション制御処理を実行する。これはステップD28で解析等されたシナリオを実行するための処理である(詳細後述する)。
ステップD31では、演出表示編集処理を実行する。これは、VDP312に表示装置41での描画内容(ステップD28乃至D30で設定されたもの)を指示するための各種コマンドとそのパラメータの設定を行う処理である(詳細後述する)。なお、この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドは後述するステップD34(画面描画を指示)でVDP312に順次送信される。
ステップD32では、描画コマンド準備終了設定を実行する。これはステップD31で設定されるVDP312への全てのコマンドの準備が終了したことを設定する処理である。
ステップD33に進むと、フレーム切替タイミングであるか判定し、フレーム切替タイミングであればステップD34乃至D37を順次実行し、フレーム切替タイミングでなければ、このステップD33を繰り返す。ここで、フレーム切替タイミングは、Vブランク割込み(Vシンク割込みともいう)の周期(例えば1/60秒)を基に作成された処理周期(例えば1/30秒≒33.333ms)に相当する時間的間隔で到来するタイミングである。このステップD33の処理によって、これより後の処理(ステップD34乃至D37、及びその後のステップD20乃至D32)は、このフレーム切替タイミングで上記処理周期毎に実行される。なお、演出内容と同期する必要のある時間管理は、このフレーム単位(即ち、上記処理周期単位)で行われる。上記処理周期が、1/30秒の場合、例えば3フレームでは100msになる。このことは、主基板(遊技制御装置)がタイマ割込み周期の4ms単位で時間値管理しているのと同様である。
ステップD34では、VDP312に画面描画を指示する。
ステップD35では、サウンド制御処理を実行する(説明は省略する)。
ステップD36では、各種LED等を制御するための装飾制御処理を実行する。
ステップD37では、各種モータやSOL(ソレノイド)を制御するためのモータ/SOL制御処理を実行する。このステップD37を実行した後は、ステップD20に戻り、ステップD20に進んだ場合と同じ処理を繰り返す。
なお、ステップD35乃至D37の制御処理は、画面の演出に合わせるため、動作の切り替えが処理周期単位で実行されるこれらのステップ内で行っているが、これら制御処理で生成又は設定された信号やデータ(特に各種LEDやモータを駆動制御する信号等)を実際にポートに出力する処理は、図示していない短周期のタイマ割込み内で行われる。ただし、各種デバイスの制御に特化したICを使用している場合は、シリアル通信等で指示するだけで、タイマ割込みで信号等の出力を行わない場合もある。
〔コマンド受信割込み処理〕
次に、コマンド受信割込み処理について図99により説明する。このコマンド受信割込み処理は、遊技制御装置100(主基板)から送信されるコマンドを演出制御装置300(サブ基板)で受信するための処理であり、当該コマンドを構成するデータが正常な範囲に入っているかをチェックする内容も含まれている。
この主基板とサブ基板の通信は、ストローブ信号(STB信号)を用いたパラレル通信によって行われる態様でもよいが、本例の場合、シリアル通信によって行われる。即ち、両基板とも、例えばCPU101A,311に搭載されているシリアル通信回路の機能を使用し、通信を行う。
この場合のシリアル通信では、ハード的に自動で送受信が行われるので、パラレル通信時とは異なり、両基板において通信のために処理時間を専有してしまうことがない利点がある。パラレル通信の場合、遊技制御装置が送信してくるタイミングに合わせ演出制御装置は最優先で受信処理を行わなくてはならず、プログラム作成を困難にしていた。さらに通信中は両基板とも通信処理を実行している必要がある。ところがシリアル通信では、コマンドを受信完了すると割込み(コマンド受信割込み)が発生して知らせてくれるので、あとはシリアル受信バッファから取り出すだけでよい。またシリアル通信では、最優先で割込み処理を行う必要がなく、割り込まれると困る場合には割込みを禁止することが可能となった。またシリアル通信では、送信側の処理もシリアル送信バッファにコマンドを入れておくだけでよいという簡単なものとなる。またシリアル通信では、両基板とも、ハードが送受信をしてくれている間、他の処理を実行できるので効率がよい。また、物理的にも従来(パラレル通信の場合)は8本以上の配線が必要だったが、シリアル通信では最低1本でも実現できるようになった。なお、シリアル通信を使用した場合でも、遊技制御装置100(主基板)と演出制御装置300(サブ基板)との間の通信は、双方向通信ではなく、単方向通信のみ(主基板→サブ基板の方向のみ)が可能な構成となっている。これにより、サブ基板から主基板への通信を利用した不正が防止される。
このコマンド受信割込み処理は、演出制御装置300(サブ基板)において前述のコマンド受信割込みが発生することによって開始される。即ち、主基板のCPU101Aによりシリアル通信で送信されたコマンドを、サブ基板のCPU311が受信完了するとコマンド受信割込みが発生し、このコマンド受信割込み処理が開始される。ここで、このコマンド受信割込みは、前述したVブランク割込みよりも、割込みの優先順位が高い。また、上記コマンド受信割込みは上述したように不定期に発生するが、主基板がコマンドを連続で送信する時には、その送信間隔(例えば4msec)に対応してサブ基板での上記コマンド受信割込みの発生間隔も同じ間隔(例えば4msec)になる。
また、主基板からのコマンドは、MODEのデータ(1バイト)とACTIONのデータ(1バイト)とを含む構成となっており、これらが順次送信される。以下では、コマンドを構成するこのようなデータを、コマンドのデータ或いはコマンドデータという。
このルーチンが開始されると、まずステップD41で受信監視タイマを停止し、次にステップD42でシリアル受信バッファからコマンドをロードし、ステップD44に進む。
ステップD44に進むと、ステップD42でロードしたコマンドデータがMODE範囲のものか否か、当該データの値に基づいて判定し、MODE範囲のものならステップD45に進み、MODE範囲のものでなければACTION範囲であるとしてステップD48に進む。なお、MODE範囲とはMODEのデータとして設定し得る1バイト内の値の範囲であり、またACTION範囲とはACTIONのデータとして設定し得る1バイト内の値の範囲であり、予め決められている。
ステップD45に進むと、ステップD42でロードしたコマンドデータを受信MODEとして格納し、次にステップD46でMODE受信フラグに「OK」をセットし、次にステップD47で受信監視タイマの値をゼロにリセットして当該受信開始タイマの計時動作をスタートし、その後リターンする。なお、上記ステップD45で使用しているように、単に格納するというときは、後の制御処理に使用するために所定の記憶領域に読出し可能に記憶保存することを意味する(以下同様)。
ステップD48に進むと、MODE受信フラグの値が「OK」であるか判定し、「OK」であればステップD49でさらに受信監視タイマがタイムアウトしたか判定し、タイムアウトしていない場合にはステップD50に進む。そして、ステップD48でMODE受信フラグの値が「OK」でない場合と、ステップD49でタイムアウトしている場合には、正常にコマンドを受信できなかったのでステップD59でMODE受信フラグに「NG」をセットした後にリターンする。ステップD48でMODE受信フラグの値が「OK」でない場合は、例えばACTION範囲のコマンドデータが受信されたのに、それに先だってMODE範囲のコマンドデータが受信されていないので異常である。また、ステップD49でタイムアウトしている場合は、MODE範囲のコマンドデータが受信された時点から受信監視タイマで計時される規定の受信監視時間内に、ACTION範囲のコマンドデータが受信されないので異常である。
ステップD50に進むと、ステップD42でロードしたコマンドデータを受信ACTIONとして格納し、次にステップD51でMODE受信フラグの値を「NG」にセットし、ステップD52に進む。
ステップD52では、コマンド受信カウンタの値が31より大きいか判定し、大きい場合には後述するコマンドバッファの容量を超えるのでリターンし、大きくない場合(コマンド受信カウンタ≦31の場合)にはステップD53に進む。なお、コマンド受信カウンタの値が0乃至31でステップD53に進む構成としているが、0乃至31という値は後述するコマンドバッファの容量に対応する値であり、システム制御周期(前述の処理周期;例えば1/30秒)で主基板から送信される可能性のあるコマンド数以上になっていればよい。
ステップD53に進むと、受信MODE、受信ACTIONに対応する演出動作を準備し、次いでステップD54で受信コマンド範囲チェック処理(後述する)を実行し、その後ステップD55に進む。
ステップD55では、範囲チェックOKか否か判定し、OKでなければコマンド(受信MODE及び受信ACTION)を廃棄すべくリターンし、OKならばステップD56乃至D58を順次実行した後にリターンする。ここで、ステップD55での範囲チェックの判定結果は、後述する受信コマンド範囲チェック処理においてコマンド範囲正常フラグがセットされていれば範囲チェックOK(ステップD55がYes)となり、後述する受信コマンド範囲チェック処理においてコマンド範囲異常フラグがセットされていれば範囲チェックOKでない(ステップD55がNo)となる。
ステップD56では、受信MODEと受信ACTIONをコマンドバッファに格納する。コマンドバッファは、本例ではいわゆるリングバッファであり、規定の容量(記憶保持できるコマンド数)を有する。このコマンドバッファは、例えばCPU311のRAM内の記憶領域によって構成される。
ステップD57では、コマンド受信カウンタの値を1だけ増やす更新を行う。
ステップD58では、コマンドバッファにデータを格納した(即ち、書き込んだ)ので、コマンド書込インデックスの値を0乃至31の範囲で1だけ増やす更新を行う。なお、コマンド書込インデックスはコマンドバッファの書込用ポインタであり、このコマンド書込インデックスの値を本例では0乃至31の範囲としているが、この範囲はコマンドバッファの容量(この場合、32)に対応しており、既述したように、システム制御周期(前述の処理周期;例えば1/30秒)の1周期の間に主基板から送信される可能性のあるコマンド数以上になっていればよい。
〔受信コマンド範囲チェック処理〕
次に、上述のコマンド受信割込み処理における受信コマンド範囲チェック処理(ステップD54)の詳細について図100により説明する。
このルーチンが開始されると、まずステップD61で、ステップD45で格納された受信MODEの値が正常範囲か判定し、正常範囲でなければステップD67でコマンド範囲異常フラグをセットしてリターンし、正常範囲であればステップD62、D63を順次実行した後にステップD64に進む。MODEの値は、MODE範囲の値の全てが指令内容を定義されているわけではなく、定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD61の判定で正常範囲でないと判定される。
なお、このステップD61又は後述するステップD92(或いはステップD61とD92の両方)では、MODEのデータの歯抜けチェックも行い、このチェックで無効なコマンドであれば正常範囲でないとする構成であってもよい。
なお、MODEのデータの歯抜けチェックとは、チェック対象のMODEのデータが、MODEがとり得る値が連続していない部分における無効な値に相当していないか否か判定することを意味する。MODEの値に不連続な部分が無い場合には、この歯抜けチェックは不要である。
ステップD62では、ステップD45で格納された受信MODEの値に対応するACTIONの値としてあり得る値のうちの最小値(ACTION_min)を取得する。なお本願では、このように制御処理においてデータを「取得する」とは、ROM(本例の演出制御装置300ではPROM321)からデータを取り出すことを意味する。
ステップD63では、ステップD45で格納された受信MODEの値に対応するACTIONの値としてあり得る値のうちの最大値(ACTION_max)を取得する。
なお、PROM321には図160の左側に示すようなACTIONチェックテーブルが登録されており、上記ステップD62及びD63では、このACTIONチェックテーブルから対応する値を取得する。ACTIONチェックテーブルは、各MODEの値に対応して、上記最小値(ACTION_min)に相当するACTION下限のデータと、上記最大値(ACTION_max)に相当するACTION上限のデータと、一致チェックテーブル(後述する)を特定するデータ(例えば、一致チェックテーブルの先頭アドレス)とが、それぞれ定義されたものである。図160の場合、例えばMODEの値が89h(飾り図柄1)であると、ACTION下限が00hであり、ACTION上限が72hであるため、上記ステップD62では最小値(ACTION_min)として00hが取得され、上記ステップD63では最大値(ACTION_max)として72hが取得されることになる。なお、上記ACTIONチェックテーブルのデータなど、即ち、演出制御装置300の制御処理で使用する各種情報(例えば、各種テーブルのデータ)は、PROM321に動作プログラムとともに予め記憶されている。
ステップD64に進むと、ステップD50で格納された受信ACTIONの値が、ステップD62で取得された最小値よりも小さいか判定し、小さい場合は異常であるのでステップD67に進み、小さくない場合にはステップD65に進む。
ステップD65に進むと、ステップD50で格納された受信ACTIONの値が、ステップD63で取得された最大値よりも大きいか判定し、大きい場合は異常であるのでステップD67に進み、大きくない場合にはステップD66に進む。
ステップD66に進む場合には、正常であるので、コマンド範囲正常フラグをセットしてリターンする。ステップD67に進む場合は、異常であるので、コマンド範囲異常フラグをセットしてリターンする。
〔受信コマンドチェック処理〕
次に、上述のメイン処理における受信コマンドチェック処理(ステップD23)の詳細について図101により説明する。
このルーチンが開始されると、まずステップD71でコマンド受信カウンタの値をコマンド受信数としてロードし、次にステップD72でコマンド受信数がゼロでないか判定し、ゼロでないならばステップD73乃至D75を順次実行した後にステップD76に進み、ゼロならばリターンする。なお本願では、上記ステップD71のように、制御処理においてデータを「ロードする」とは、RAM(本例の演出制御装置300ではCPU311内のRAM)からデータを取り出すことを意味する。
ステップ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」としてもよい。
ステップD74では、受信コマンドバッファ(ステップD56のコマンドバッファに相当、以下単にコマンドバッファという)の内容(即ち、読出用ポインタに対応するアドレスに記憶されているコマンドデータ)をコマンド領域(場合により、コマンド格納領域という)にコピーする。コマンド領域は、いわゆるFIFO形式(先入れ先出し形式)のバッファを構成する例えばCPU311のRAM内の記憶領域である。
ステップD75では、コマンドバッファのデータを読み出したので、コマンドバッファの読出用ポインタであるコマンド読出インデックスの値を0乃至31の範囲で1だけ増やす更新を行う。なお、ここでの0乃至31の範囲は、ステップD58で更新されるコマンド書込インデックスと同範囲になっていればよい。
ステップD76に進むと、コマンド受信数分のコマンドをコピー完了したか否か(即ち、コマンド受信数分だけステップD74及びD75を繰り返し実行したか否か)を判定し、完了していなければステップD74に戻ってステップD74から処理を繰り返し、完了していればステップD77に進む。
ステップD77に進むと、コマンド領域の内容(コマンド領域の未だ読み出されていないデータのうちで一番先に格納されたデータ、即ち、次に読み出すべきデータ)をロードし(即ち、読み出し)、このロードしたコマンド(以下、今回のコマンドという)のデータについて、次のステップD78で受信コマンド解析処理(後述する)を実行し、その後ステップD79に進む。
ステップD79に進むと、コマンド領域のアドレス(次に読み出すべきデータのアドレス)を更新し、ステップD80に進む。
ステップD80では、コマンド受信数分のコマンドを解析完了したか否か(即ち、コマンド受信数分だけステップD77乃至D79を繰り返し実行したか否か)を判定し、完了していなければステップD77に戻ってステップD77から処理を繰り返し、完了していればリターンする。
〔受信コマンド解析処理〕
次に、上述の受信コマンドチェック処理における受信コマンド解析処理(ステップD78)の詳細について図102により説明する。
このルーチンが開始されると、まずステップD91で、ステップD77においてロードした今回のコマンドのデータのうちの上位バイトをMODEに、下位バイトをACTにそれぞれ分離して記憶し、その後ステップD92に進む。なお、特図の変動パターンを指令する変動系のコマンドの場合、MODEとして記憶される上位バイトのデータは前半変動パターンを指令し、ACTとして記憶される下位バイトのデータは後半変動パターンを指令するものである。
ステップD92では、ステップD91で分離されたMODEの値が正常範囲か判定し、正常範囲でなければリターンし、正常範囲であればステップD93に進む。前述したように、MODEの値は定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD92の判定で正常範囲でないと判定される(前述のステップD61と同様)。
ステップD93では、ステップD91で分離されたACTの値が正常範囲か判定し、正常範囲でなければリターンし、正常範囲であればステップD94に進む。このステップD93の判定は、前述したステップD62〜D65と同様に行う。即ち、MODE毎に有効なACTの値は異なり、このACTの有効値の上限〜下限は前述したACTIONチェックテーブル(図160)に定義されており、ステップD93ではこの上限〜下限の範囲内に分離されたACTの値が収まっているかをチェックし、収まっていれば正常範囲と判定する(この時点では歯抜けチェックは出来ていない)。
ステップD94に進むと、前述したACTIONチェックテーブルから、分離されたMODEの値に対応する一致チェックテーブルの先頭アドレスを取得し、その後ステップD95に進む。図160の場合、例えばMODEの値が89h(飾り図柄1)であると、一致チェックテーブルの先頭アドレスはtMOD89であり、これがステップD94で取得されることになる。
ここで、一致チェックテーブルとは、例えば図160の右側に示すものであり、対応するMODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。図160の右側に示す一致チェックテーブルは、MODEの値が89hの場合に対応するものであり、このMODEの値(89h)に対して有効な全てのACTの値(11h、12h、21h、22h等)が、テーブルの先頭アドレス(最初の行)から順に登録され、テーブルの最終アドレス(最後の行)にはチェック終了コード(−1)が登録されている。
なお、有効なACTIONの値が連続した範囲で固まっているMODEの場合には、一致チェックテーブルは不要であるため、ACTIONチェックテーブルにおける一致チェックテーブルの先頭アドレスのデータはNULLになっている。図160の場合、例えばMODEの値が80h(客待ち)であると、一致チェックテーブルの先頭アドレスはNULLであり、これがステップD94で取得されることになる。また、一致チェックテーブルが定義されているMODEの行に対しては、有効ACTIONが歯抜けになっているので、上限/下限をチェックした後、対応する一致チェックテーブルを使って更なる比較判定が行われる(後述するステップD96〜D99)。
ステップD95に進むと、ステップD94で取得した一致チェックテーブルの先頭アドレスがNULLか判定し、NULLであるならばステップD100に進み、NULLでなければステップD96に進む。なお、一致チェックテーブルの先頭アドレスがNULLであるということは、MODEに対する有効なACTの値が連続しているということであり、ステップD93の範囲チェックだけでOKであるため、後述するステップD96〜D99を実行しないでステップD100にジャンプする。
ステップD96に進むと、ステップD96、D99をループ端とするループ処理(繰り返し処理)を実行する。つまりステップD96に進むと、ステップD99で分岐することによって、後述するステップD97とステップD98を順次実行する動作を後述の終了条件が成立するまで繰り返す。当該ループ処理は、ステップD94で取得され後述のステップD98で更新される一致チェックテーブルのアドレス(以下、一致チェックテーブルアドレスという)に対応するデータ(一致チェックテーブル内の対応する行のデータ)がステップD91で分離されたACTの値に一致することを終了条件としており、この終了条件が成立するまで繰り返し実行される。但し、後述するステップD97の判定結果がYESになると、当該ループ処理を抜ける(前記終了条件が成立していなくても当該ループ処理は終了となる)。
即ち、ステップD96に進むと、まずステップD97で、一致チェックテーブルアドレスに対応するデータがチェック終了コードであるか判定し、チェック終了コードであれば当該ループ処理を抜けてリターンし、チェック終了コードでなければ次のステップD98を実行する。そしてステップD98では、一致チェックテーブルアドレスを次レコードに更新する。一致チェックテーブルアドレスが次レコードに更新されると、当該一致チェックテーブルアドレスに対応する一致チェックテーブル内の行が次の行(図160の右側では一つ下の行)に切り替わる。次に、ステップD98を実行するとステップD99に進み、更新された一致チェックテーブルアドレスに対応するデータがステップD91で分離されたACTの値に一致するか判定し、一致すれば前記終了条件が成立したので当該ループ処理を終了してステップD100に進み、不一致であるならばステップD96に戻って当該ループ処理を繰り返す。
以上説明したステップD96〜D99のループ処理では、MODEに対して正常なACTの組合せになっているか否かのチェック(歯抜けチェック含む)を実行している。1つのMODEに対し、有効なACTは複数あるがそれらの値が連続しているとは限らないので、コマンドが有効値であるかを比較確認している。そして、一致チェックテーブル中には有効値のみ定義されているので、それらの何れかと一致するかを1つ1つ比較確認している。例えば、ステップD91で分離されたMODEの値が89hでありACTの値が31hであるとすると、図160の場合、一致チェックテーブルの5行目のデータが31hであるため、上記ループ処理が4回繰り返されたときに上記終了条件が成立してステップD99からステップD100に進むことになる。また、ステップD91で分離されたMODEの値が89hでありACTの値が13h等であるとすると、図160の場合、一致チェックテーブルには13h等が存在しない(13h等は一致チェックテーブルにおいて不連続な部分の存在しないデータである歯抜けデータとなっている)ため、上記ループ処理が最終行まで繰り返されても上記終了条件は成立せず、最終行に至った時点でデータがチェック終了コードになるためにステップD97の判定結果がYESになって上記ループ処理を抜けてリターンすることになる。なお、このようにステップD97の判定結果がYESになる場合はACTの値が異常であるため、前述のステップD92、D93の判定結果がNOになった場合と同様に、コマンド異常であるとしてステップD100以降を実行しないでリターンしてしまう。
次に、ステップD100以降を説明する。
前述したように、ステップD99までの処理においてコマンドの値(ステップD91で分離されたMODE及びACTのデータ)が異常であると判定されない場合には、ステップD95又はD99を経てステップD100が実行される。
ステップD100では、MODEのデータが変動系コマンド範囲内にあるか判定し、この範囲内ならばステップD101で変動系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD102に進む。ここで、MODEのデータとは、ステップD91で分離されて記憶されたMODEのデータである(後述のステップD102等でも同様)。変動系コマンド(変動コマンド或いは変動パターンコマンドという場合もある)は、特図の変動パターンを指令するコマンドであり、この変動コマンドのデータがとり得る範囲が変動系コマンド範囲である。なお、このステップD100ではMODEの歯抜けチェックは行わない構成でもよいし、行ってもよい。
ステップD102に進むと、MODEのデータが大当り系コマンド範囲内にあるか判定し、この範囲内ならばステップD103で大当り系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD104に進む。大当り系コマンドは、大当り中演出に関する動作(ファンファーレ画面やラウンド画面の表示など)を指令するコマンドであり、この大当り系コマンドのデータがとり得る範囲が大当り系コマンド範囲である。
ステップD104に進むと、MODEのデータが図柄系コマンド範囲内にあるか判定し、この範囲内ならばステップD105で図柄系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD106に進む。図柄系コマンド(図柄コマンド、或いは飾り特図コマンドという場合もある)は、特図の図柄に関する情報(例えば、特図の停止図柄を何にするかなど)を指令するコマンドであり、この図柄コマンドのデータがとり得る範囲が図柄系コマンド範囲である。
ステップD106に進むと、MODEのデータが単発系コマンド範囲内にあるか判定し、この範囲内ならばステップD107で単発系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD108に進む。なお、図柄コマンドと変動系コマンドのように組合せで意味をなすコマンドと違い、単独で成立するコマンドを単発コマンドという。単発系コマンド(単発コマンドという場合もある)には、客待ちデモコマンド、保留数コマンド、図柄停止コマンド、確率情報系コマンド、エラー/不正系コマンド、機種指定コマンドなどがある。この単発コマンドのデータがとり得る範囲が単発系コマンド範囲である。
ステップD108に進むと、MODEのデータが先読み系コマンドであるか判定し、先読み系コマンドならばステップD109で先読み系コマンド処理(詳細説明を省略する)を実行してリターンし、先読み系コマンドでない場合にはステップD109を実行しないでリターンする。ここで、先読み系コマンドとは、先読み演出(例えば、特図の大当り予告)の発生の有無、発生時の演出内容の決定を指令するコマンドである。
なお本例では、変動開始時のコマンド受信順が従来構成と異なっている。従来は、変動パターンコマンド→停止図柄コマンド→保留数コマンドという順番だったが、本例では、保留数コマンド→停止図柄コマンド→変動パターンコマンドという順番としている。ここで、保留数コマンドは変動演出とは直接関係なく独立した内容なので送信順の変更はそれ程重要ではないが、図柄コマンド(停止図柄コマンド)と変動コマンド(変動パターンコマンド)の順を入れ替えたことについては、次のような背景及び効果がある。
即ち、変動演出の内容を決めるのは変動パターンコマンドで、停止図柄は演出内容における1つのパラメータでしかないと言うことができ、図柄コマンドを受信しただけでは何も行えない。以前から、変動パターンコマンドを「画面表示変化系のコマンド」、図柄コマンドを「内部パラメータ変更系のコマンド」として扱っているが、従来の構成では、画面表示変化系のコマンドを受信しても、図柄パラメータを受信していない段階のため、直ちに演出準備を行うことができなかった。更に図柄コマンドが規定時間内に送られてくるかも監視しなければならず、演出制御装置の負担を増加させていた。
しかし本例では、その順番を逆にしたので、変動パターンコマンドを受信した時点で、受信済みの図柄情報が合致していれば直ちに演出準備を行うことが可能になったという効果が得られる。なお、図柄コマンドを先に受信しても、画面表示を変更するコマンドではないので先に図柄だけ変わってしまうことはない。RAMに図柄情報を保存するだけだからである。また、図柄コマンドを取りこぼしてしまったとしても前回RAMに保存されている図柄情報が合致するものであれば変動が可能であるという利点もある。これに対して、従来の構成では取りこぼしてしまうと図柄情報欠損となり、変動を行うことができなかった。つまり、本例の場合、コマンド取りこぼしを遊技者に悟られてしまう可能性が限りなく低くなった(従来よりも格段に低くなった)と言える。また、図柄コマンドと変動コマンドは、ペアとなるコマンドであるが、その関係を薄くし独立したコマンドとして扱えるようになったのでプログラムの開発効率が向上したという効果もある。
〔変動系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD101で実行される変動系コマンド処理の詳細について図103により説明する。
このルーチンが開始されると、まずステップD111で特図種別が未確定か判定し、未確定ならばリターンし、未確定でない場合(即ち、特図種別が設定されている場合)にはステップD112で変動パターン対応図柄判定処理(後述する)を実行してステップD113に進む。特図種別とは、特図の種別が特図1か特図2かを示す情報であり、図柄系コマンド処理の後述するステップD171で設定される情報である。
ステップD113に進むと、ステップD112の変動パターン対応図柄判定処理(後述する)で返される情報(有効コマンド情報又は無効コマンド情報)に基づいて、変動コマンドと図柄種別が不整合であるか否か判定し、不整合である場合(無効コマンド情報が返された場合)にはリターンし、不整合でない場合(有効コマンド情報が返された場合)にはステップD114、D115を順次実行した後にリターンする。
なお、図柄種別とは図柄のカテゴリを意味し、図柄種別には、例えばはずれ図柄、16R確変大当り図柄などがある。また、上記ステップD113における不整合とは、はずれの変動コマンド(変動パターンコマンド)を受信したのに、16R確変大当り図柄の図柄コマンドを受信していた時など、演出を行う上で矛盾してしまう組み合わせ(変動コマンドと図柄種別の組み合わせ)であることを意味する。
ステップD114では、変動コマンドに応じた演出を行うために、変動演出設定処理(後述する)を実行する。
またステップD115では、P機状態(パチンコ機の状態)として変動中を設定する。ここで、変動中とは、特図の変動中(客待ちデモ中や大当り中、或いはファンファーレ中等でないこと)を表している。
〔変動パターン対応図柄判定処理〕
次に、上述の変動系コマンド処理のステップD112で実行される変動パターン対応図柄判定処理の詳細について図104により説明する。
このルーチンが開始されると、まずステップD121で、図柄系コマンド処理の後述するステップD173でセーブされた図柄種別情報をロードし、ステップD122に進む。
なお、ここでの図柄種別情報は、特図(飾り図柄)の変動表示ゲームの停止図柄の図柄種別を示す情報である。本例の場合、図柄種別は、「はずれ図柄」、「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」の5種類に分類することができ、詳細には例えば「16R確変大当り図柄」はさらにA〜Eの5種類に分かれており、また「11R確変大当り図柄」はさらにA〜Cの3種類に分かれているために全部で11種類の停止図柄パターンがある。但し、この態様に限定されず、例えば他のラウンド数の大当り図柄や、小当たり図柄などの種別が設定されていてもよく、この図柄種別の設定は機種の仕様によって変化する。ここで、2Rや16Rというのは大当りのラウンド数を示し、確変大当り図柄は大当り後に確変状態(大当りとなる確率が通常状態よりも高められた状態)となる大当り図柄であり、通常大当り図柄は大当り後に通常状態(確変状態でない状態)となる大当り図柄である。また、はずれ図柄は変動表示ゲームの結果がはずれとなる図柄(大当りにならない図柄)である。
ステップD122に進むと、MODEのデータ(前述のステップD91で分離された上位バイトのデータ)が変動系コマンド範囲内にあるか判定し、この範囲内ならばステップD123に進み、この範囲外ならばコマンド異常であるとしてステップD133に進む。このステップD122では、前述したステップD100と例えば同じ判定を再度実行している。なお、このステップD122ではMODEの歯抜けチェックは行わない構成でもよいし、行ってもよい。また、このステップD122と前述したステップD100の判定内容を異ならせてもよい。例えば、前述したステップD100とこのステップD122のうちの何れか一方のみでMODEの歯抜けチェックを行う態様としてもよい。
ステップD123に進むと、ステップD121でロードした図柄種別情報がはずれ図柄か判定し、はずれ図柄ならばステップD124でMODEのデータに対応するはずれ時ACT整合チェックテーブルを設定してステップD141に進み、はずれ図柄でないならばステップD125に進む。ここで、はずれ時ACT整合チェックテーブルは、はずれ図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
なお、PROM321には図161の左側に示すようなはずれ時ACT整合チェックアドレステーブルが登録されており、上記ステップD124では、このはずれ時ACT整合チェックアドレステーブルから対応するはずれ時ACT整合チェックテーブルのアドレスを取得して設定する。はずれ時ACT整合チェックアドレステーブルは、変動系コマンド範囲の各MODEの値に対応して、はずれ時ACT整合チェックテーブルを特定するアドレス(この場合、はずれ時ACT整合チェックテーブルの先頭アドレス)が定義されたものである。そして、はずれ時ACT整合チェックテーブルとは、例えば図161の右側に示すものであり、はずれ図柄の場合に、対応するMODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。図161の右側に示すACT整合チェックテーブルは、はずれ図柄の場合であってMODEの値がCBh(10.4秒通常変動リーチ)の場合に対応するものであり、このMODEの値(CBh)に対して有効な全てのACTの値(02h、03h、04h、05h等)が、テーブルの先頭アドレス(最初の行)から順に登録され、テーブルの最終アドレス(最後の行)にはチェック終了コード(−1)が登録されている。
また、このようなACT整合チェックアドレステーブルとACT整合チェックテーブルは、はずれ図柄以外の図柄種別(「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」)についても同様に設けられており、後述のステップD126,D128,D130,D132においてステップD124と同様に使用される。
ステップD125に進むと、ステップD121でロードした図柄種別情報が2R確変大当り図柄か判定し、2R確変大当り図柄ならばステップD126でMODEのデータに対応する2R確変大当り時ACT整合チェックテーブルを設定してステップD141に進み、2R確変大当り図柄でないならばステップD127に進む。ここで、2R確変大当り時ACT整合チェックテーブルは、2R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD127に進むと、ステップD121でロードした図柄種別情報が16R確変大当り図柄か判定し、16R確変大当り図柄ならばステップD128でMODEのデータに対応する16R確変大当り時ACT整合チェックテーブルを設定してステップD141に進み、16R確変大当り図柄でないならばステップD129に進む。ここで、16R確変大当り時ACT整合チェックテーブルは、16R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD129に進むと、ステップD121でロードした図柄種別情報が11R確変大当り図柄か判定し、11R確変大当り図柄ならばステップD130でMODEのデータに対応する11R確変大当り時ACT整合チェックテーブルを設定してステップD141に進み、11R確変大当り図柄でないならばステップD131に進む。ここで、11R確変大当り時ACT整合チェックテーブルは、11R確変大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD131に進むと、ステップD121でロードした図柄種別情報が11R通常大当り図柄か判定し、11R通常大当り図柄ならばステップD132でMODEのデータに対応する11R通常大当り時ACT整合チェックテーブルを設定してステップD141に進み、11R通常大当り図柄でないならばコマンド異常であるとしてステップD133に進む。ここで、11R通常大当り時ACT整合チェックテーブルは、11R通常大当り図柄の場合にACT(コマンドの下位バイトデータ)としてあり得る全てのデータを含むテーブルである。
ステップD133に進むと、無効コマンド情報を返してリターンする。
ステップD141に進むと、ステップD141、D144をループ端とするループ処理(繰り返し処理)を実行する。つまり、ステップD144で分岐することによって、ステップD142とステップD143を順次実行する動作を当該ACT整合チェックテーブル(直前のステップD124,D126,D128,D130,D132のうちの何れかで設定されたもの)の最後まで繰り返す。
ここで、ステップD142では、ステップD124,D126,D128,D130,D132の何れかで取得され後述のステップD143で更新されるACT整合チェックテーブルのアドレス(以下、ACT整合チェックテーブルアドレスという)に対応するデータ(ACT整合チェックテーブル内の対応する行のデータ)がステップD91で分離されたACTの値に一致するか判定し、一致すればこの繰り返しループ(ステップD141、D144をループ端とするループ処理)を抜けてステップD146に進み、一致しなければステップD143に進む。
ステップD143に進むと、ACT整合チェックテーブルアドレスを次レコードに更新し、ステップD144に進む。
ステップD144に進むと、当該ACT整合チェックテーブルの最後のデータまでステップD142が繰り返し実行されたか判定し、最後のデータまでステップD142が繰り返された場合にはステップD145に進み、そうでない場合にはステップD141に戻って処理を繰り返す。具体的には、ステップD144では、ステップD143で更新されたACT整合チェックテーブルアドレスに対応するデータがチェック終了コード(−1)であるか判定し、チェック終了コードであれば最後まで繰り返されたとしてステップD145に進み、チェック終了コードでなければステップD141に戻って処理を繰り返す。
このステップD141乃至D144の繰り返しループの処理によって、当該ACT整合チェックテーブル内の何れかのデータと、前述のステップD91で分離されたACTのデータとが一致すれば、ステップD146に進み、そうでない場合(一致するデータが当該ACT整合チェックテーブルに一つもない場合)には、ステップD145に進む。
そしてステップD145では、異常であるとして無効コマンド情報を返し、リターンする。またステップD146では、正常であるとして有効コマンド情報の値を返す。
なお、前述のステップD113では、上記ステップD133、D145、D146の何れかで返された情報によって、変動コマンドと図柄種別の整合性が判定される。
例えば、事前にはずれ図柄の図柄コマンドを受信していてステップD121でロードされる図柄種別情報がはずれ図柄の場合に、ステップD91で分離された変動コマンドのMODEの値がCBhでありACTの値が06hであるとすると、図161のACT整合チェックテーブルの5行目のデータが06hであるため、上記ステップD142が5回繰り返されたときに上記ステップD142の判定結果がYESになってステップD146に進み、有効コマンド情報が返されてステップD113の判定結果はNO(整合)となる。また、同様の場合に、ステップD91で分離されたMODEの値がCBhでありACTの値が例えば01hであるとすると、図161の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(不整合)となる。
このように、上記変動パターン対応図柄判定処理(前述のステップD122)と前述のステップD133によれば、停止図柄に合った変動パターンコマンドになっているかという整合性のチェックが行われる。停止図柄の種類(前述したはずれ図柄、16R確変大当り図柄などの図柄種別)によって行われる変動が異なるので図柄に合った変動パターンコマンドとなっているかを事前にチェックし、整合性がとれていなければ前述したステップD114、D115を実行しないで異常な変動表示演出を行わないようにするためである。なお、変動パターンは、必ずしも完全に図柄毎できれいに分かれているわけではなく、例えば16R確変大当り図柄と2R確変大当り図柄で共用される変動パターンなどもある。
〔大当り系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD103で実行される大当り系コマンド処理の詳細について図105により説明する。
このルーチンが開始されると、まずステップD151でMODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD154、D157、D160でも同じ)がファンファーレ演出(大当りになった時の演出)を指令するものであるか判定し、ファンファーレ演出を指令するものであるならばステップD152、D153を順次実行した後にリターンし、ファンファーレ演出を指令するものでない場合にはステップD154に進む。
ステップD152では、コマンドに応じたファンファーレ演出を行うためのファンファーレ演出設定処理(説明省略する)を実行する。
ステップD153では、P機状態としてファンファーレ中を設定する。
ステップD154に進むと、MODEのデータがラウンド演出(大当りのラウンド中の演出)を指令するものであるか判定し、ラウンド演出を指令するものであるならばステップD155、D156を順次実行した後にリターンし、ラウンド演出を指令するものでない場合にはステップD157に進む。
ステップD155では、コマンドに応じたラウンド演出を行うためのラウンド演出設定処理(説明省略する)を実行する。
ステップD156では、P機状態としてラウンド中を設定する。
ステップD157に進むと、MODEのデータがインターバル演出(大当り中のラウンドとラウンドの間の演出)を指令するものであるか判定し、インターバル演出を指令するものであるならばステップD158、D159を順次実行した後にリターンし、インターバル演出を指令するものでない場合にはステップD160に進む。
ステップD158では、コマンドに応じたインターバル演出を行うためのインターバル演出設定処理(説明省略する)を実行する。
ステップD159では、P機状態としてインターバル中を設定する。
ステップD160に進むと、MODEのデータがエンディング演出(大当り終了時の演出)を指令するものであるか判定し、エンディング演出を指令するものであるならばステップD161、D162を順次実行した後にリターンし、エンディング演出を指令するものでない場合にはリターンする。
ステップD161では、コマンドに応じたエンディング演出を行うためのエンディング演出設定処理(説明省略する)を実行する。
ステップD162では、P機状態としてエンディング中を設定する。
なお、以上は大当り系コマンド処理の一例であり、上記以外の処理(例えば、ファンファーレ、ラウンド、インターバル、及びエンディング以外の演出のための処理)もあり得る。
〔図柄系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD105で実行される図柄系コマンド処理の詳細について図106により説明する。
このルーチンが開始されると、まずステップD171で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD172でも同じ)に対応する特図種別(特図1か特図2かの情報)を設定する。例えば、MODEのデータが85hならば特図1を特図種別として設定し、MODEのデータが86hならば特図2を特図種別として設定する。このように特図1か特図2かはMODEのデータから判定できるので、このステップD171では、MODEのデータから特図種別を判定して設定する。
次にステップD172で、MODEのデータに対応する図柄種別設定テーブルを設定する。図柄種別設定テーブルは、図柄コマンドに対応した図柄種別(前述したはずれ図柄、16R確変大当り図柄等の図柄のカテゴリ)を判定するためのテーブルであり、図柄コマンドのACTIONのデータ(例えば、11h〜1Bhの11種類ある)と図柄種別との対応関係が定義されたテーブルである。特図1と特図2で図柄の割合が変わるので(確変割合は同じ)、MODE毎にこの図柄種別設定テーブルを分けて設けており、ステップD172では、複数ある図柄種別設定テーブルからMODEのデータに対応するものを選択して設定する。
次にステップD173では、ステップD172で設定された図柄種別設定テーブルに基づいて、ACTのデータ(前述のステップD91で分離された下位バイトのデータ)に対応する図柄種別を取得し、図柄種別情報としてセーブする。ステップD173を経ると、リターンする。
なお、こうして図柄コマンドを受けてステップD171やD173で設定された特図種別や図柄種別の情報が、図柄コマンドに続いて受信された変動コマンドに対する前述のステップD111、D112の処理で使用される。そして、特図種別の情報は、ステップD111の判定に使用されても、ステップD171が新たに実行されるまで以前にステップD171で設定されたデータが記憶保持される構成となっている。また、図柄種別の情報は、ステップD112で使用された後も、ステップD173が新たに実行されるまで、以前にステップD173で設定されたデータが記憶保持される構成となっている。
〔単発系コマンド処理〕
次に、上述の受信コマンド解析処理におけるステップD107で実行される単発系コマンド処理の詳細について図107及び図108により説明する。
このルーチンが開始されると、まずステップD181で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD191、D193、D195、D197、D199、D204、D207でも同じ)が客待ちデモを指令するものであるか判定し、客待ちデモを指令するものであるならばステップD182に進み、客待ちデモを指令するものでない場合にはステップD191に進む。なお、客待ちデモとは、客待ちデモ演出(又は客待ち演出ともいう)のことであり、表示装置41で行われる客待ちデモ表示を含む演出である。客待ちデモ演出では、表示装置41での表示に限られず、他の表示装置での表示やランプ類の点灯(点滅含む)、或いは音声の出力による演出が行われてもよい。
ステップD182に進むと、P機状態(パチンコ機の状態)が客待ちデモ中か判定し、客待ちデモ中ならばリターンし、客待ちデモ中でなければステップD183、D184を順次実行した後にステップD185に進む。
ステップD183では、客待ち演出を行うために客待ち用シナリオデータ設定処理(後述する)を実行する。なお、演出制御装置300の制御処理の説明においてシナリオ制御データとは、特定の演出の流れを制御するために、後述するシナリオ管理領域或いはシナリオ管理領域のアドレス領域に設定されるデータを意味する。このステップD183では、客待ち演出を行うためのシナリオ制御データの設定が行われる。
ステップD184では、P機状態として客待ちA(客待ち状態A)を設定する。なお、客待ち演出には、客待ち状態A、客待ち状態B、客待ちムービー(音無し)、及び客待ちムービー(音有り)がある。
ステップD185に進むと、サブ間データ送信中であるか判定し(即ち、異なるパチンコ機の演出制御装置に対してデータ送信中であるか判定し)、送信中であればリターンし、送信中でなければステップD186乃至D190を実行した後にリターンする。
ステップD186では、客待ちデモ同期(客待ちデモ表示におけるサブ間同期)のサブ間コマンド(ブロードキャスト送信設定)を準備し、この準備したサブ間コマンドを編集すべく次のステップD187でサブ間送信データ編集処理(図126で後述する)を実行する。
ステップD188では、ack待ちタイマ(後述するステップD521で使用されるタイマ)に初期値を設定する。なお、サブ間コマンドを受信したパチンコ機のサブ基板(演出制御装置)が、サブ間コマンドを送信したパチンコ機のサブ基板に対してackを返すか否かはコマンドの種類で変わる(後述するステップD480a参照)。本例では、客待ちデモ同期のサブ間コマンドには、ackの返信を要求する内容が入っている。即ち本例では、客待ちデモ同期のサブ間コマンドは、ack返答が必要なコマンドである。
ステップD189では、サブ間演出開始待ちタイマ(後述するステップD532で使用されるタイマ)を設定する。
ステップD190では、サブ間送信要求フラグをセットする。サブ間送信要求フラグは、後述するステップD461の判定に使用される。
ステップD191に進むと、MODEのデータが特図1保留数の値を指令するものであるか判定し、特図1保留数の値を指令するものであるならばステップD192で特図1保留情報設定処理(後述する)を実行した後にリターンし、特図1保留数の値を指令するものでない場合にはステップD193に進む。
ステップD193に進むと、MODEのデータが特図2保留数の値を指令するものであるか判定し、特図2保留数の値を指令するものであるならばステップD194で特図2保留情報設定処理(説明省略する)を実行した後にリターンし、特図2保留数の値を指令するものでない場合にはステップD195に進む。なお、特図1保留情報設定処理は詳細を後述するが、特図2保留情報設定処理については、特図1保留情報設定処理と同様の処理(特図1か特図2かの違いのみ)であるため説明を省略する。
ステップD195に進むと、MODEのデータが演出モード切替準備を指令するもの(演出モード切替準備コマンドのデータ)であるか判定し、演出モード切替準備を指令するものであるならばステップD194で演出モード切替設定処理(説明省略する)を実行した後にリターンし、演出モード切替準備を指令するものでない場合にはステップD197に進む。演出モード切替設定処理は、演出モード切替準備コマンドに応じた動作を行うための制御処理であり、そのためのシナリオデータ設定処理を含む。
ステップD197に進むと、MODEのデータが停電復旧を知らせるもの(停電復旧時のコマンドのデータ)であるか判定し、停電復旧を知らせるものであるならばステップD198で停電復旧設定処理を実行した後にリターンし、停電復旧を指令するものでない場合にはステップD199に進む。ステップD198の停電復旧設定処理は、例えば「遊技再開しました」といったメッセージを表示装置41に表示したり、ランプ類を所定態様で点滅させたりして遊技者へ停電復旧を報知する等のための処理であり、そのためのシナリオデータ設定処理を含む。
ステップD199に進むと、MODEのデータが電源投入(初期化スイッチ(RAMクリアスイッチ)をオンした状態での電源投入)を知らせるもの(電源投入時のコマンドのデータ)であるか判定し、当該電源投入を指令するものであるならばステップD200乃至D203を順次実行した後にリターンし、当該電源投入を指令するものでない場合にはステップD204に進む。なお、電源投入時のコマンドは、遊技制御装置100がRWMクリアしたことを演出制御装置300に知らせる電源投入コマンドのことであり、前述のステップS29で送信される。この電源投入コマンドは、演出制御装置300に演出状態をクリアさせるのと、RWMクリア報知(RWMクリアされたことを例えば表示装置41に表示する動作)を行わせるために送られる。
ステップD200では、各種初期画面情報を設定する。各種初期画面情報の設定内容は、特図種別・図柄種別をクリアする、特図1保留数及び特図2保留数に0を設定する、現図柄及び停止図柄に例えば左=7、中=5、右=3のはずれ図柄を設定するというものである。
ステップD201では、この時点での保留数(=0)に対応する保留用モーション制御テーブルのインデックスを算出してセーブする。ここで、保留用モーション制御テーブルのインデックスとは、保留用モーション制御テーブルの行(レコード)を指定するインデックスである。また、保留用モーション制御テーブルとは、特図の始動記憶の保留表示を行うためのモーション制御テーブルである。また、このステップD201の処理は、特図1保留数と特図2保留数についてそれぞれ実行する。
ここで、モーション制御テーブルとは、ブロック化された各演出(主に演出表示)を実行するための制御テーブルであり、単にモーションテーブルともいう。このモーションテーブルのデータは、PC(パーソナルコンピュータ)で実行できる市販のアプリケーションソフトによってマウス等を使用したグラフィカルな入力操作によって容易に制作できるものであり、ブロック化された演出毎に演出制御装置300のPROM321に予め記憶されている。
ステップD202では、電源投入用シナリオデータ設定処理(説明省略する)を実行する。
また、電源投入用シナリオデータ設定処理には、枠演出装置45のモータの動作位置を初期位置にするなどのための初期化処理、さらには前記RWMクリア報知を実行するための制御処理が含まれてもよい。
ステップD203では、P機状態として客待ちA(客待ち状態A)を設定する。
ステップD204に進むと、MODEのデータが特図の図柄停止を指令するものであるか判定し、特図の図柄停止を指令するものであるならばステップD205、D206を順次で設定処理(説明省略する)を実行した後にリターンし、特図の図柄停止を指令するものでない場合にはステップD207に進む。
ステップD205では、図柄停止用シナリオデータ設定処理(説明省略する)を実行する。
ステップD206では、P機状態として通常を設定する。ここで、通常とは、特図の大当り中、特図の変動中、客待ち中(客待ち状態)の何れでもないことを示す。また、ここで通常と設定された後は、主基板からの次のコマンドに応じて例えば特図の変動中になったり、客待ち中になったりする。
ステップD207に進むと、MODEのデータが確率情報を知らせるもの(確変情報コマンドのデータ)であるか判定し、確率情報を知らせるものであるならばステップD208で確率情報設定処理を実行した後にリターンし、確率情報を指令するものでない場合には図示省略された他の処理のステップ(例えば、MODEのデータを判定する他のステップ)に進む。
ここで、確率情報設定処理は、大当り後に確変になった場合の確変終了時(高確率状態から低確率である通常状態への移行時)の画面切替のための設定処理であり、そのためのシナリオデータ設定処理を含む場合もある。
なお、この単発系コマンド処理については、図示及び説明を省略しているステップがある。例えば、非変動系の他のコマンド(エラー系等のコマンドなど)を受信した場合の対応処理等を省略している。また、全てのコマンドに対してシナリオ制御データを設定しているわけではない。例えば、枠開放を示すエラー系コマンドを受信した場合、表示装置41の画面は変化させないためシナリオ制御データの設定は行わない。
〔客待ち用シナリオデータ設定処理〕
次に、上述の単発系コマンド処理におけるステップD183で実行される客待ち用シナリオデータ設定処理の詳細について図109により説明する。
このルーチンが開始されると、まずステップD211乃至D234を順次実行した後にリターンする。
ステップD211では、シナリオレイヤー番号0を準備する。ここで、「準備する」とは、後の処理のためにデータを所定の記憶領域に一次記憶して保持しておくことを意味する(後述する他のステップでも同様)。また、シナリオレイヤーは、演出の流れを階層的に制御するための概念的なシナリオの層(レイヤー)である。また、シナリオレイヤー番号は各シナリオレイヤーに付けた番号であり、本例の場合、0から7まである。また本例では、シナリオレイヤー番号0のシナリオレイヤー(以下、シナリオレイヤー0という)は主に背景画像の表示制御に使い、シナリオレイヤー1はカットイン予告キャラ(キャラはキャラクタを意味する)の表示制御に使うといったように、シナリオレイヤー毎に制御対象が基本的に割り当てられている。但し、客待ち演出はシナリオレイヤー0のみを使用し、シナリオレイヤー0の中で客待ち演出用の図柄等のモーション情報も管理するようにしている。
ステップD212では、客待ちシナリオ用データテーブルのアドレスを準備する。シナリオ用データテーブル(単にシナリオテーブルともいう)とは、特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されたテーブルであり、演出制御装置300のPROM321に演出毎に予め記憶されている。客待ちシナリオ用データテーブルは、客待ち演出のためのシナリオテーブルであり、例えば図177に示す構成となっている。また、本例のシナリオテーブルは、図177に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行(各レコード)に設定されてなるものである。
ステップD213では、直前のステップD211、D212で準備されたデータ(アドレスやシナリオレイヤー番号のデータ)に基づいて、後述するシナリオデータ設定処理を実行する。
ステップD214では、シナリオレイヤー番号1を準備する。
ステップD215では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD216では、直前のステップD214、D215で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD217では、シナリオレイヤー番号2を準備する。
ステップD218では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD219では、直前のステップD217、D218で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD220では、シナリオレイヤー番号3を準備する。
ステップD221では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD222では、直前のステップD220、D221で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD223では、シナリオレイヤー番号4を準備する。
ステップD224では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD225では、直前のステップD223、D224で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD226では、シナリオレイヤー番号5を準備する。
ステップD227では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD228では、直前のステップD226、D227で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD229では、シナリオレイヤー番号6を準備する。
ステップD230では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD231では、直前のステップD229、D230で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD232では、シナリオレイヤー番号7を準備する。
ステップD233では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD234では、直前のステップD232、D233で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
なお、ステップD215、D218、D221、D224、D227、D230、D233でアドレス(NULL)を準備するシナリオレイヤー1〜7は、シナリオ用データテーブルが設定されないシナリオレイヤー、即ち制御されないシナリオレイヤーである。
〔シナリオデータ設定処理〕
次に、上述の客待ち用シナリオデータ設定処理におけるステップD213、D216、D219、D222、D225、D228、D231、D234で実行されるシナリオデータ設定処理の詳細について図110により説明する。なお、このシナリオデータ設定処理は各種の演出に対して共通化されており、このシナリオデータ設定処理が実行されるステップは、他のルーチン(例えば、後述するリーチなし変動設定処理のステップD318等)にも多数存在する。「シナリオデータ設定処理」と記載されているステップは、全てこの図110に示すものである。
このルーチンが開始されると、まずステップD241で、準備されたシナリオ用データテーブルのアドレス(例えばステップD212、D215等で準備されたもの)がNULLか判定し、NULLならばステップD247を実行した後にリターンし、NULLでなければステップD242乃至D246を順次実行した後にリターンする。
なお、前述の客待ち用シナリオデータ設定処理においては、ステップD213で本ルーチンが実行された場合には直前のステップD212でNULLでない客待ちシナリオ用データテーブルのアドレスが準備されているので、ステップD241の判定結果はNOになってステップD242乃至D246を実行することになり、それ以外のステップD216等で本ルーチンが実行された場合には直前のステップD215等でNULLが準備されているので、ステップD241の判定結果はYESになってステップD247を実行することになる。
ステップD242では、準備されたシナリオレイヤー番号(例えばステップD211で準備されたもの、以下同様)に対応するシナリオ管理領域の先頭アドレスを設定する。本例の場合、演出制御装置300のRAM311aには、「シナリオ管理領域のアドレス領域」と「シナリオ管理領域」というシナリオ管理用の記憶領域が設けられる構成となっている。このうち、シナリオ管理領域は、シナリオ用タイマの値を記憶する領域(シナリオ用タイマ領域)と、PB用タイマ(プッシュボタン用タイマ)の値を記憶する領域(PB用タイマ領域)と、PB検知フラグ(プッシュボタン検知フラグ)の値を記憶する領域(PB検知フラグ領域)と、シナリオ用データテーブルのアドレスを記憶する領域(シナリオ用データテーブル領域)とを含む構造である。また、同一構造のシナリオ管理領域が各シナリオレイヤーに対応してシナリオレイヤー分存在し、本例ではシナリオレイヤーが8個あるので、このシナリオ管理領域も8個(シナリオ管理領域0〜7)存在する。上記ステップD242では、このように複数あるシナリオ管理領域のうちの一つを特定するために、準備されたシナリオレイヤー番号に対応するシナリオ管理領域(以下、対応シナリオ管理領域という)の先頭アドレスを設定している。
なお、シナリオ管理領域のアドレス領域とは、シナリオレイヤー毎にシナリオ管理領域の先頭アドレスを格納する領域であり、本例ではシナリオレイヤーが8個あるので、これに対応した8個の先頭アドレス(シナリオレイヤー0用アドレス〜シナリオレイヤー7用アドレス)をそれぞれ格納する8個の領域からなる。
次にステップD243では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、直前のステップD242で設定されたシナリオ管理領域の先頭アドレスを格納する(即ち、書き込む)。
次にステップD244では、対応シナリオ管理領域のシナリオ用タイマの値として0を書き込む(即ち、値をクリアする)。
次にステップD245では、対応シナリオ管理領域のPB用タイマの値として0を書き込む(即ち、値をクリアする)。なお、対応シナリオ管理領域のPB検知フラグについても値をクリアしてもよいが、必要なとき(PB検知を開始するとき)にクリアすればよいので、ここではPB検知フラグの値の設定は行わない。
次にステップD246では、対応シナリオ管理領域のシナリオ用データテーブル領域に、準備されたシナリオ用データテーブルのアドレス(例えばステップD212で準備されたもの)を書き込む。
一方、ステップD247では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLを書き込む。
以上のシナリオデータ設定処理によれば、準備されたシナリオレイヤー番号に対応するシナリオ管理用の記憶領域(「シナリオ管理領域のアドレス領域」及び「シナリオ管理領域」)に、これから実行しようとする演出用のシナリオ制御データが設定される。
例えば、前述した客待ち用シナリオデータ設定処理では、ステップD213、D216、D219、D222、D225、D228、D231、D234で上記シナリオデータ設定処理が実行されることによって、シナリオ管理領域のアドレス領域におけるシナリオレイヤー0用アドレスとしてシナリオ管理領域0の先頭アドレスが設定され、残りのシナリオレイヤー1用アドレスからシナリオレイヤー7用アドレスまでにはNULLが設定される。また、シナリオ管理領域0のシナリオ用データテーブル領域にはステップD212で準備された客待ちシナリオ用データテーブルのアドレスが設定される。これにより、シナリオレイヤー0のみで客待ち演出の制御が実行される。
〔特図1保留情報設定処理〕
次に、前述の単発系コマンド処理におけるステップD192で実行される特図1保留情報設定処理の詳細について図111により説明する。
このルーチンが開始されると、まずステップD251で、その時点の特図1保留数のデータをロードして、このロードしたデータを前保留数として記憶し、次にステップD252で、コマンド(ステップD91で分離されたMODE及びACTのデータ)で指令された保留数の値を特図1保留数として記憶し、その後ステップD253に進む。
ステップD253では、新保留数(ステップD252で記憶された特図1保留数)と前保留数(ステップD251で記憶された値)とが一致するか判定し、一致する場合にはリターンし、一致しない場合にはステップD254乃至ステップD257を順次実行した後にステップD258に進む。
ステップD254では、新保留数に対応する保留用モーション制御テーブルのインデックスを算出してセーブする。なお、インデックスとは、グループを成す複数の記憶領域のうちの何番目かを特定するデータであり、特にモーションテーブルを特定するインデックスをモーションインデックス(詳細後述する)という。このステップD254では、新保留数に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD255では、シナリオレイヤー番号6を準備する。
ステップD256では、特図1保留シナリオ用データテーブル(保留X個)のアドレスを準備する。ここで、特図1保留シナリオ用データテーブル(保留X個)とは、新保留数に対応する演出を行うための保留数毎に異なるシナリオテーブルを意味し、新保留数が例えば1個であれば特図1保留シナリオ用データテーブル(保留1個)であり、新保留数が例えば2個であれば特図1保留シナリオ用データテーブル(保留2個)である。
ステップD257では、直前のステップD255、D256で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD258に進むと、保留数が増加したか(即ち、新保留数>前保留数であるか)判定し、増加したならばステップD259に進み、増加していないならばステップD262に進む。
ステップD259に進むと、新保留数に対応する色情報領域に保留通常点灯の表示パターンを設定し、次のステップD260ではP機状態が大当り中か判定する。ステップD260の判定の結果、大当り中であればリターンし、大当り中でなければ次のステップD261で始動口入賞音を出力要求し、その後リターンする。なお、大当り中には、前述したファンファーレ中、ラウンド中、インターバル中、及エンディング中が含まれる。
ステップD262に進むと、特図1先読み情報領域をシフトし、次のステップD263で色情報領域をシフトし、その後リターンする。
なお、ステップD259に進むのは、特図1の始動入賞があった場合であるので、この始動入賞による保留表示(保留されている始動記憶の表示)や演出用の入賞音出力を行うためにステップD259及びD261が実行される。但し、大当り中には、ステップD260で分岐して入賞音出力を行わない。また、ステップD262に進むのは、特図1の始動記憶の保留数が減少した場合であるため、先読み表示(例えば大当り予告や変動パターン予告)を行っている保留数の表示をずらして表示したり、先読み情報(先読みした変動パターンや停止図柄の情報及び先読み演出有無等の各種情報(フラグ等))を保留数に対応する領域にずらすために、ステップD262、D263が実行される。
演出制御装置300では、前述のステップD109(先読み系コマンド処理)において、各保留毎に、先読み系コマンドの解析結果として上記先読み情報を設定している。そして、この先読み情報の格納領域は、主基板で変動開始時に乱数格納領域をシフトするのと同様に、前記保留数の減少に対応させてシフトさせる必要があり、この格納領域のシフトを行っているのが、上記ステップD262である。またステップD263は、先読み情報に応じた保留表示色(即ち、先読み演出のために先読み演出の有無や内容によって異ならせている保留表示の色)の情報の格納領域を同様にシフトさせるための処理である。
〔変動演出設定処理〕
次に、前述の変動系コマンド処理におけるステップD114で実行される変動演出設定処理の詳細について図112及び図113により説明する。
このルーチンが開始されると、まずステップD271乃至D275を実行し、ステップD276に進む。
ステップD271では、受信したコマンドに応じた大別パターン(特図の変動表示演出の大まかな分類であり、後述する大別パターンデータによって決まる)を選択する変動パターン分類処理(後述する)を実行する。
ステップD272では、上記ステップD271の変動パターン分類処理で返された大別パターン及び各種演出情報に対応する予告振分テーブル1を準備する。ここで演出情報とは、停止図柄の情報(特に大当り図柄の詳細、はずれは大別パターンで分かるため)、高確率/時短状態といった確率状態の情報、保留数の数、及び、演出制御装置300が管理する遊技モード(本実施例では遊技制御装置からも遊技モードのコマンドが送られてくる)などが有り得る。このステップD272(或いは後述のステップD274、D277)で各種演出情報を考慮して予告振分テーブルを設定しているので、例えば同一の変動パターンコマンドでも、そのときの状態で、予告の振り分け率(発生率)を変化させられるようになる。
ステップD273では、乱数抽選処理A(後述する)を実行する。
ステップD274では、上記ステップD271で返された大別パターンに対応する予告振分テーブル2を準備する。
ステップD275では、乱数抽選処理B(後述する)を実行する。
ステップD276に進むと、上記ステップD271で返された大別パターンが「通常はずれ」か判定し、「通常はずれ」であればステップD279に進み、「通常はずれ」でなければステップD277及びD278を順次実行した後にステップD279に進む。
ステップD277では、上記ステップD271で返された大別パターンに対応する予告振分テーブル3を準備する。
ステップD278では、乱数抽選処理C(後述する)を実行する。
ステップD279に進むと、基本BGM番号(基本BGMの曲番号)を設定し、次にステップD280で予告演出設定処理1(後述する)を実行し、その後ステップD281に進む。
ステップD281に進むと、ここまでの処理で決定された前半変動種別が通常変動か否か判定し、通常変動であればステップD282に進み、通常変動でなければ図112において波線で図示省略した他の処理のステップ(前半変動種別が通常変動でない場合の各種変動の処理)に進む。
なお、前半変動種別とは、同一のMODE(例えば12秒前半通常変動)の中で、演出制御装置側で振り分けている変動予告種類のことである。また、「通常変動」における「通常」とは、いわゆるすべりや短縮変動等の特殊な変動ではないという意味である。また煩雑を避けるため、ここでは、前半変動種別が通常(すべりや短縮でない)の場合の予告振り分けの様子のみをフローチャート(図112)に記載している。そして、前半変動種別が通常変動でない場合の各種変動の処理は、ステップD281の判定結果がNOになった流れ以降のステップ(図112において波線で省略している)で実行されるが、この流れ以降の処理を実行した後には、次の図113のステップD290に進む構成となっている。また、大当り、はずれのいずれの場合でも、前半変動が通常になり得るので、各予告用シナリオデータ設定処理(後述するステップD286乃至D289)は大当りとはずれの何れの場合でも実行される可能性がある。但し、大当り専用の前半変動なども考えられるので、常に両用の設定処理ばかりとは限らない。
ステップD282に進むと、ここまでの処理(ステップD273等)で決定された予告種別(後述する演出振分け結果領域のデータ)が巻物予告を指定するものであるか判定し、巻物予告でない場合にはステップD283に進み、巻物予告である場合にはステップD286で巻物予告用シナリオデータ設定処理(説明省略)を実行した後にステップD290に進む。
ステップD283に進むと、ここまでの処理で決定された予告種別が巻物文字予告を指定するものであるか判定し、巻物文字予告でない場合にはステップD284に進み、巻物文字予告である場合にはステップD287で巻物文字予告用シナリオデータ設定処理(説明省略)を実行した後にステップD290に進む。
ステップD284に進むと、ここまでの処理で決定された予告種別がPB予告を指定するものであるか判定し、PB予告でない場合にはステップD285に進み、PB予告である場合にはステップD288でPB予告用シナリオデータ設定処理(後述する)を実行した後にステップD290に進む。
ステップD285に進むと、ここまでの処理で決定された予告種別がフラッシュバック予告を指定するものであるか判定し、フラッシュバック予告でない場合にはステップD290に進み、フラッシュバック予告である場合にはステップD289でフラッシュバック予告用シナリオデータ設定処理(説明省略)を実行した後にステップD290に進む。
ステップD290に進むと、特図種別が特図2か否かを判定し、特図2ならばステップD291、D292を実行した後にステップD295に進み、特図2でない場合(即ち、特図1の場合)にはステップD293、D294を実行した後にステップD295に進む。
ステップD291では、特図2に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD292では、第4図柄用(特図2変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブする。
ステップD293では、特図1に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD294では、第4図柄用(特図1変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブする。
なお、図165は演出制御装置のROM321に記憶されたモーション用リストテーブルの一例である。モーション用リストテーブルは、多数あるモーションテーブルに関するデータを各行(各レコード)に配置したモーションテーブルのデータリストである。このモーション用リストテーブルテーブルの各行のデータがそれぞれ一つのモーションテーブルに関するデータである。このモーション用リストテーブルの各行には、データ項目(データのカテゴリ)として、フレーム数、モーションコマンド数、モーションテーブル名、ビヘイビア数、及びビヘイビアテーブル名がある。但し、このカテゴリ設定は一例であり、これ以外のパラメータを設定してもよい。各データ項目の内容は以下のとおりである。
・フレーム数(表示フレーム数)は、当該モーションテーブルは何フレーム分のモーションデータ(モーションテーブルを構成するデータ)が定義されているかを示す。
・モーションコマンド数は、当該モーションテーブル内に定義されているコマンド数を示す。
・モーションテーブル名は、当該モーションテーブルの名称(=アドレス)を示す。
・ビヘイビア数は、当該モーションテーブル内で使用するビヘイビアの数(種類)を示す。
・ビヘイビアテーブル名は、当該モーション制御時のビヘイビア(処理のアドレス)を定義してあるビヘイビアテーブルの名称(=アドレス)を示す。
なお、ビヘイビア数が0なら、当然ビヘイビアテーブルは不要である。
ここで、ビヘイビアとは、オブジェクト(表示要素)の動作を設定する機能である。本例では、主にモーションテーブル上に定義されている画像データ(キャラクタデータ)を状況に応じて変更するために使用している。
また、図165におけるモーション用リストテーブルの右側には、モーションインデックスの値と対応する表示内容を示している。この場合、前述したステップD292では、第4図柄用(特図2変動)モーション制御テーブルを特定するモーションインデックスの値として62が算出される。また、前述したステップD294では、第4図柄用(特図1変動)モーション制御テーブルを特定するモーションインデックスの値として61が算出されることになる。
次にステップD295に進むと、特図停止図柄領域の値を現図柄領域にセーブする。ここで、特図停止図柄領域の値とは、後述するステップD354で設定されるデータである。また、現図柄領域は、表示する現図柄の図柄番号を記憶する記憶領域(その時点で画面上に表示する現図柄の図柄番号が入っている記憶領域)であり、この記憶領域の値(現図柄の図柄番号)は変動表示中に変動に伴って次々と更新される。なお、特図の変動表示は、前回の変動表示の停止図柄から次回の変動表示(客待ち中の図柄表示含む)を開始するが、この動作を確実に行うため、このステップD295で前回の変動表示の停止図柄をセーブして次回の変動表示に利用する構成となっている。これは、特に変動表示中に新たな変動コマンドを受信した場合に意味がある。即ち、変動表示中に新たな変動コマンドを受信した場合、このステップD295の処理があるため、受信時に表示されていた図柄から次の変動を開始するのではなく、前回変動で停止するはずだった図柄に差し替えられて変動を開始する。この場合、仮にステップD295が無ければ、その時点(変動コマンド受信時点)で表示されていた図柄から始まり、どの図柄が停止するはずだったのか遊技者に分からないという問題が生じる。しかし本例であれば、ステップD295があることによって、前回変動で停止するはずだった図柄に差し替えられて変動を開始することになり、遊技者は前回の停止図柄が分かるため、このような問題が解消される。
次に、ステップD295を経るとステップD296に進み、ステップD91で分離されたMODEのデータ(前半変動パターンのデータ)が12秒前半通常変動を指令するものか否か判定し、12秒前半通常変動を指令するものであればステップD297に進み、12秒前半通常変動を指令するものでなければステップD299に進む。ここで、「12秒前半通常変動」における「通常」とは、短縮変動等の特殊な変動ではないという意味である。
なお本例では、12秒前半通常変動の場合には、リーチアクション無しの変動パターンしかあり得ない。この場合、リーチアクションを行わないので後半変動の時間値は0として設定し、合計で12秒となる変動パターン(即ち、12秒通常変動;ここでの「通常」はリーチではない変動という意味である)として定義している。つまり、ステップD91で分離されたACTのデータ(後半変動パターン)が示す後半変動時間値は0秒変動ということになる。
ステップD297に進むと、前記ACTのデータがリーチアクション無し(0秒変動)を指令するものか判定し、リーチアクション無しであればステップD298でリーチなし変動設定処理(後述する)を実行した後にリターンし、リーチアクション無しでない場合には異常であるのでステップD298を実行しないでリターンする。
ステップD299に進むと、前記MODEのデータが(前半変動パターン)が10.4秒前半通常変動(ここでの「通常」は短縮変動等ではないという意味)を指令するものか否か判定し、10.4秒前半通常変動を指令するものであればステップD300に進み、10.4秒前半通常変動を指令するものでなければステップD308に進む。なお本例では、10.4秒前半通常変動の場合には、リーチアクション有りの変動パターンしかあり得ない。この場合、リーチアクションの演出内容に伴って後半変動の時間値は変化するので、合計で(10.4+α)秒となる変動パターンとして定義される。同一のMODEに対してACTのデータ(後半変動パターン)は複数の種類があり、この数は遊技機毎の仕様により異なる。
ステップD300に進むと、前記ACTのデータ(後半変動パターン)がノーマル−1はずれの変動を指令するものか否か判定し、ノーマル−1はずれを指令するものであればステップD304でノーマル−1はずれ設定処理(説明省略)を実行した後にリターンし、ノーマル−1はずれの変動を指令するものでなければステップD301に進む。なお、ノーマル−1はずれは、ノーマルリーチアクション有りで外れる変動パターンである。
ステップD301に進むと、前記ACTのデータ(後半変動パターン)がノーマル+1はずれの変動を指令するものか否か判定し、ノーマル+1はずれを指令するものであればステップD305でノーマル+1はずれ設定処理(説明省略)を実行した後にリターンし、ノーマル+1はずれの変動を指令するものでなければステップD302に進む。なお、ノーマル+1はずれも、ノーマルリーチアクション有りで外れる変動パターンである。
ステップD302に進むと、前記ACTのデータ(後半変動パターン)が武将−1はずれの変動を指令するものか否か判定し、武将−1はずれを指令するものであればステップD306で武将−1はずれ設定処理(説明省略)を実行した後にリターンし、武将−1はずれの変動を指令するものでなければステップD303に進む。なお、武将−1はずれは、武将リーチアクション有りで外れる変動パターンである。
ステップD303に進むと、前記ACTのデータ(後半変動パターン)が武将発展−1はずれの変動を指令するものか否か判定し、武将発展−1はずれを指令するものであればステップD307で武将発展−1はずれ設定処理(説明省略)を実行した後にリターンし、武将発展−1はずれの変動を指令するものでなければ図113において波線で省略された他のステップに進む。なお、武将発展−1はずれは、武将発展リーチアクション有りで外れる変動パターンである。また、ステップD303の判定結果がNOになった流れ以降(波線で図示省略した箇所)では、10.4秒前半通常変動の場合の他のリーチ演出(例えば大当りになる場合の変動表示演出含む)についてステップD303、D307等と同様の処理が実行され、前記ACTのデータが何れにも該当しない場合には異常であるのでリターンする。
一方、ステップD299を経てステップD308に進むと、前記MODEのデータが(前半変動パターン)が12.8秒疑似連1変動を指令するものか否か判定し、12.8秒疑似連1変動を指令するものであればステップD309に進み、12.8秒疑似連1変動を指令するものでなければ図113において波線で省略された他のステップに進む。なお、ステップD308の判定結果がNOになった流れ以降(波線で図示省略した箇所)では、前記MODEのデータが上記以外である場合の変動表示演出についてステップD303、D307等と同様の処理が実行され、前記MODEのデータが何れにも該当しない場合には異常であるのでリターンする。
ステップD309に進むと、前記ACTのデータ(後半変動パターン)が武将−1はずれの変動を指令するものか否か判定し、武将−1はずれを指令するものであればステップD310でノーマル−1はずれ設定処理(説明省略)を実行した後にリターンし、武将−1はずれの変動を指令するものでなければ図113において波線で省略された他のステップに進む。なお、ステップD309の判定結果がNOになった流れ以降(波線で図示省略した箇所)では、12.8秒疑似連1変動の場合の他のリーチ演出(例えば大当りになる場合の変動表示演出含む)についてステップD309、D310と同様の処理が実行され、前記ACTのデータが何れにも該当しない場合には異常であるのでリターンする。
〔リーチなし変動設定処理〕
次に、上述の変動演出設定処理におけるステップD298で実行されるリーチなし変動設定処理の詳細について図114により説明する。なお、本実施例では、MODE=12秒前半通常変動は、はずれの場合しかない。このため、このルーチンで設定される後述の図柄生成フラグははずれ図柄の指示しかない。
このルーチンが開始されると、まずステップD311で、以前の処理(ステップD271乃至D278)で設定された変動前半種別が超短縮変動であるか判定し、超短縮変動であればステップD312でリーチ+1はずれの図柄生成フラグを準備してステップD314に進み、超短縮変動でなければステップD313ではずれバラケ目の図柄生成フラグを準備してステップD314に進む。
なお、超短縮変動とは、主基板からの指令は12秒前半通常変動でも、その中でリーチの動きを行うことをサブ基板で選択する場合があり、そのような場合の変動の例である。
また、バラケ目とは、特図を構成する複数の図柄がリーチや大当りとなる図柄でない状態(リーチ形の組み合わせでなければ「776」のような組み合わせも含む)を意味する。
ステップD314に進むと、ステップD314乃至D330を順次実行した後にリターンする。
ステップD314では、ステップD312又はD313で準備された図柄生成フラグに基づいて停止図柄設定処理(後述する)を実行する。
ステップD315では、前記ACT及び前記変動前半種別に対応するシナリオテーブルのアドレス(シナリオテーブルの名称)を図柄変動シナリオテーブル領域にセーブする。図柄変動シナリオテーブル領域とは、これから使用する図柄変動のシナリオテーブルのアドレスを一時的に格納しておく演出制御装置300のRAM311aの記憶領域であり、左図柄用領域、右図柄用領域、中図柄用領域に分かれ、さらに各図柄用領域は1st(序盤)用、2nd(前半)用、3rd(後半)用に分かれていて、一つのシナリオテーブルのアドレスを格納する領域が合計9個(=3×3個)ある。一方、演出制御装置300のPROM321には、遊技制御装置から受信したコマンドと前記前半変動種別に応じて図柄変動用のシナリオテーブルを選択するためのテーブル(以下、図柄変動リストテーブルという)がコマンド毎(ACTのデータ毎)に登録されている。図168に、この図柄変動リストテーブルの一例(はずれリーチなし変動時)を示す。ステップD315では、まず前記ACTに対応する図柄変動リストテーブルを選択し、次に選択した図柄変動リストテーブルにある複数の設定パターンの中から前記変動前半種別に対応する設定パターンを選択し、選択した設定パターンのシナリオテーブルのアドレスを図柄変動シナリオテーブル領域にセーブする。
例えば、図168の場合にはインデックスが0〜7の8パターン(通常変動、右3変動、右2変動、左3変動、左2変動、中煽り変動、群雄変動、及び超短縮変動)ある。
そして、前記変動前半種別が例えば通常変動であったときにステップD315では、図図168の右側に示すインデックスの値が0の最上段の設定パターンを選択し、例えば左図柄の1st(序盤)用領域にはMS_LZ100を、左図柄の2nd(前半)用領域にはMS_LZ300を、左図柄の3rd(後半)用領域にはNULLをそれぞれセーブし、右図柄及び中図柄についても同様に最上段にあるシナリオテーブルのアドレスをセーブすることになる。
なお本願では、前半変動時間内の図柄の動きだしの期間を「序盤」(1st)、前半変動時間内の残りの期間を「前半」(2nd)としている。同一の前半変動時間でも図柄の動きだしが、そのまま下にスクロールする場合や一旦上にホッピングしたりする場合(予告の一種)もあるので、動きが一通りにならないよう「序盤+前半=前半変動」という構成になっている。そして、後半変動時間を「後半」(3rd)としている。また本実施例は、このように、特図変動時の演出を時間的に複数に分割した各期間について演出内容をそれぞれ設定し、各期間の演出内容の組合せとして特図変動時の演出全体を構成する組合せ式となっている。これにより、制御データ記憶用の不揮発性メモリ(本例ではPROM321)に格納しなければならない総データ量が減るというメリットがある。即ち、例えば、少しでも動きが違う演出内容毎にテーブルを全て用意するとデータ量が膨大になってしまうが、この組合せ式であればそのような問題が改善される。
ステップD316では、シナリオレイヤー番号0を準備する。
ステップD317では、現在の遊技モード等に対応する背景シナリオテーブルのアドレスを準備する。
ステップD318では、直前のステップD316、D317で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD319では、シナリオレイヤー番号1を準備する。
ステップD320では、前述した図柄変動シナリオテーブル領域から、左図柄シナリオ1stテーブルアドレス(前述した左図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD321では、直前のステップD319、D320で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD322では、シナリオレイヤー番号2を準備する。
ステップD323では、前述した図柄変動シナリオテーブル領域から、右図柄シナリオ1stテーブルアドレス(前述した右図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。

ステップD324では、直前のステップD322、D323で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD325では、シナリオレイヤー番号3を準備する。
ステップD326では、前述した図柄変動シナリオテーブル領域から、中図柄シナリオ1stテーブルアドレス(前述した中図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD327では、直前のステップD325、D326で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD328では、シナリオレイヤー番号7を準備する。
ステップD329では、第4図柄シナリオテーブル(第4図柄用のシナリオテーブル)のアドレスを準備する。
ステップD330では、直前のステップD328、D329で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
以上説明したルーチン(リーチなし変動設定処理)によれば、リーチなし変動の場合のシナリオ制御データの設定が必要なシナリオレイヤー(この場合、シナリオレイヤー0,1,2,3,7)について行われ、シナリオテーブルとしては例えば図168に示すような組み合わせが選択されたことになる。
〔停止図柄設定処理〕
次に、上述のリーチなし変動設定処理におけるステップD314で実行される停止図柄設定処理の詳細について図115により説明する。なお本例では、演出用の特図が左右並んで配置される3カ所の図柄(左図柄、中図柄、右図柄)からなるが、これら図柄としてそれぞれ9種類の図柄(図柄番号0乃至8)がある場合を例示する。
このルーチンが開始されると、まずステップD331で、前述した特図種別が特図2変動か判定し、特図2ならばステップD332を実行した後にステップD334に進み、特図2でない場合(即ち、特図1の場合)にはステップD333を実行した後にステップD334に進む。
ステップD332では、特図停止図柄領域の特図2第4図柄にはずれ図柄番号をセーブする。
ステップD333では、特図停止図柄領域の特図1第4図柄にはずれ図柄番号をセーブする。
ステップD334に進むと、図柄生成フラグとしてはずれバラケ目が準備されているか判定し、設定されていればステップD335乃至D336を実行した後にステップD337に進み、設定されていなければステップD345に進む。なお、はずれバラケ目の図柄生成フラグは前述のステップD313で準備される。
ステップD335は、9種類の図柄番号0乃至8からランダムに一つ選択した図柄番号を左図柄lxとして設定する処理である。
ステップD336は、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を右図柄rxとして設定する処理である。
ステップD337に進むと、ステップD336で設定した右図柄rxがステップD335で設定した左図柄lx以上の値であるか判定し、右図柄rx≧左図柄lxであればステップD338で右図柄rxの図柄番号を1つ増やしてステップD339に進み、右図柄rx≧左図柄lxでなければ(即ち、右図柄rx<左図柄lxであれば)ステップD338を実行しないでステップD339に進む。
これらステップD335乃至D338の処理により、左図柄lxと右図柄rxがランダムに設定されるとともに、左図柄lxと右図柄rxは必ず異なる図柄番号に設定される。ステップD336で図柄番号7以下の範囲から選択するのは、ステップD338で必ず一つ増やすことができるようにするためである。
ステップD339に進むと、左図柄lxと右図柄rxとが出現禁止図柄となり得る組合せか判定し、出現禁止図柄となり得る組合せならばステップD340に進み、出現禁止図柄となり得る組合せでなければステップ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という記憶領域に格納する。例えば、左図柄lxが3で、右図柄rxが5の場合、あとは中図柄cxが仮に7であれば、特図の図柄の組み合わせは「3,7,5」となって出現禁止図柄になるので、その中図柄cxの値である7をnocxにセットする。
ステップD340を経るとステップD341で、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を中図柄cxとして設定する処理を実行し、その後ステップD342に進む。
ステップD342に進むと、中図柄cx≧nocxであるか判定し、中図柄cx≧nocxであればステップD343で中図柄cxの値を1つ増やしてステップD354に進み、中図柄cx≧nocxでなければステップD343を実行しないでステップD354に進む。
これらステップD341乃至D343の処理によれば、中図柄cxの値は必ずnocxと異なる値になり、結局、「左図柄lx,中図柄cx,右図柄rx」の組合せは、必ず出現禁止図柄でないものとなる。
ステップD344に進むと、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を中図柄cxとして設定する処理を実行し、その後ステップD354に進む。
ステップD345に進むと、図柄生成フラグとしてリーチ−1はずれ目が設定されているか判定し、設定されていればステップD346を実行した後にステップD347に進み、設定されていなければステップD353に進む。なお、リーチ−1はずれ目の図柄生成フラグは前述のステップD304やD306でセットされる。
ステップD346では、10種類の値0乃至9からランダムに一つ選択した値をtmprndとして格納する処理を実行する。
ステップD347に進むと、tmprndの値が0か判定し、0ならばステップD348とD349を順次実行した後にステップD352に進み、0でないならばステップD350とD351を順次実行した後にステップD352に進む。
ステップD348では、奇数である4種類の値1,3,5,7からランダムに一つ選択した値を左図柄lxの番号として格納する処理を実行する。なお、ステップ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の番号として格納する処理を実行する。
ステップD349又はステップD351では、リーチの図柄とするために、右図柄rxの値を左図柄lxの値と同じにする(即ち、右図柄を左図柄と同じ図柄とする)。
ここで、ステップD346乃至D348、及びステップD350の処理によれば、リーチ図柄の奇数、偶数の出現割合を変化させることができる。この場合、ステップD347からステップD348に進むのはtmprnd=0の場合だけであるため、奇数図柄の出現割合は1/10となり、これに対してステップD347からステップD350に進む割合(即ち、偶数図柄の出現割合)は9/10となる。このようにするのは、次の理由による。即ち、再抽選演出があるため、どうしても大当りする時のリーチ図柄が偶数になりやすい。そこで、奇数リーチの大当り信頼度を低下させないために、奇数リーチの出現率を低くしているのである。なお、奇数、偶数の出現率の割合は、もちろん1:9の割合でなくともよい。また本例では、ステップD348やD350のように計算で図柄を求める態様を例示したが、乱数とデータテーブルで図柄を選出してもよい。
ステップD352に進むと、−1はずれとなるように、左図柄lxの値から1を減算した結果を中図柄cxの値として設定し、その後ステップD354へ進む。
ステップD353に進むと、その他の図柄生成フラグに対応する組合せの図柄(大当り図柄含む)を生成する処理を実行した後、ステップD354に進む。
ステップD354では、ここまでのステップで設定された左図柄lx、中図柄cx、右図柄rxの値を、停止図柄領域の左図柄・中図柄・右図柄にそれぞれ格納し、その後リターンする。
なお、上記ステップD334乃至D352は、以上説明したように、はずれバラケ目の場合と、リーチ−1はずれ目の場合の処理である。実際には停止図柄の種類には、他にも沢山の種類があるが、ここでは煩雑を避けるために、それら他の種類の処理についてはステップD353でまとめて図示しており、その詳細については図示及び説明を省略する。
また、大当り図柄生成の場合は、例えば左図柄だけを決定し、中・右図柄にコピーするやり方などが考えられる。その他、「777」と限定される場合や、計算によらず停止図柄の組合せを複数テーブル上に定義し、乱数で何れかを選択する、というやり方も考えられる。
また、前述のステップD332,D333では第4図柄のはずれ図柄しか設定していないが、当りの場合には、ステップD353で図柄生成フラグに対応する第4図柄の当り図柄を設定する内容となっている。また、図柄生成フラグにも「2R確変大当り図柄目」「16R確変大当り図柄目」・・・といったような各種の設定内容があり、例えば「2R確変大当り図柄目」のフラグの場合、左中右図柄(飾り図柄としての左図柄、中図柄、及び右図柄)が「357」「573」・・・と複数のパターンが作られるように、第4図柄にも図174のように組み合わせが複数あり、どの組み合わせを出現させるかは乱数によって決定される。第4図柄の色の組み合わせは、当りの区分と1対1に対応しており、たとえば「上青、下青」の組み合わせは確変でない大当り、「上青、下黄」は確変大当りといったように対応している。機種毎に異なるが、事前に遊技機の仕様において、第4図柄の色の組み合わせには意味が定義されている。本例は、はずれでは「上白、下白」の1パターンしかあり得ない構成であり、白という色自身が外れ時にしか使われない。図115のステップ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で実行される変動パターン分類処理の詳細について図116により説明する。
このルーチンが開始されると、まずステップD361でMODEのデータが変動系コマンドであるか判定し、変動系コマンドであればステップD362に進み、変動系コマンドでなければステップD368に進む。
ステップD362に進むと、ACTのデータは有効範囲か判定し、有効範囲であればステップD363を実行してステップD364に進み、有効範囲でなければステップD368に進む。
ステップD363では、MODEのデータに対応する変動パターンチェックデータを取得する。変動パターンチェックデータは、変動系コマンドのMODEのデータ毎に設定され、機種内で使用されていないMODEのデータに対しては変動パターンチェックデータとして0が設定されているものである。
ステップD364に進むと、ステップD363で取得した変動パターンチェックデータが0か判定し、0ならばステップD368に進み、0でなければステップD365乃至D367を順次実行した後にリターンする。
ステップD365では、MODEのデータに対応する大別パターンテーブルを設定する。
ステップD366では、ステップD365で設定された大別パターンテーブルに基づいてACTのデータに対応する大別パターンデータを取得する。
ステップD367では、ステップD366で取得した大別パターンデータを返してリターンする。
ステップD368に進むと、0を返してリターンする。
ここで、大別パターンテーブルは、例えば図162に示すものであり、MODEのデータ毎に設けられている。図162には、MODEのデータが12秒前半通常変動の場合に設定される大別パターンテーブルC3と、MODEのデータが10.4秒前半通常変動の場合に設定される大別パターンテーブルCBと、MODEのデータが12.8疑似連1変動の場合に設定される大別パターンテーブルCCとが、具体例として図示してある。これら大別パターンテーブルは、大別パターンデータが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通常)、…といったように設定されている。
そして図162の例の場合、例えばMODEのデータが12秒前半通常変動でありACTのデータが01hであると、ステップD365で大別パターンテーブルC3が選択されてセットされ、ステップD366では大別パターンテーブルC3の1行2列(ACTのデータ01hに対応位置)にある「1」(リーチなし変動はずれ)が大別パターンデータとして取得される。MODE及びACTが他のデータである場合も、同様である。
なお、本実施例では後半変動パターン(ACTのデータ)の数が01h〜4Bhの範囲となっているので上記のサイズ(5行×16列)のテーブルとなっているが、これは一例であり、もっと細かく分けた構成でもよいし、或いは逆に例えば大別パターンデータが同じ値になる部分をまとめて大まかに分けた構成としてもよい。
また、大別パターンデータは、MODE及びACTのデータに対応した予告振分テーブル等を前述したステップD272等で準備するために、MODE及びACTのデータが指令する変動パターンがどの分類に属するのかを示すデータである。即ち、コマンドの値から変動パターンの系統をチェックし、対応する予告振り分けのテーブル等を設定できるようにするために、この大別パターンデータがある。これは、リーチの種類等で予告の発生率が変化するためである。
また、大別パターンテーブルは、前述したように大別パターンデータを決定するためのテーブルである。そして、この大別パターンテーブルにおいて、MODE及びACTのデータの組み合わせが存在しない所は図162に示すように大別パターンデータが0となっている。このため、MODE及びACTのデータの組み合わせが存在しない場合、ステップD367では、ステップD368と同様に0を返すことになる。また、こうして0が返された場合、例えば通常外れと同様の扱いとする。通常外れと同様の扱いにすれば、確定したコマンドに万が一異常があっても、特図を一応変動させることができ、遊技者に不安を抱かせないようにすることができるなどの利点がある。但し、0が返された場合、通常外れとしないで、例えば変動演出設定処理においてステップD271を実行した後に、ステップD272以降を実行しないでリターンする構成として、変動開始設定を行わない態様も有り得る。このようにすると、コマンド異常の場合には特図を変動させないようにすることができる。
〔乱数抽選処理A〕
次に、前述の変動演出設定処理におけるステップD273で実行される乱数抽選処理Aの詳細について図117により説明する。このルーチンは、前述のステップD272で振分けのグループA用として準備された予告振分テーブル1における振分け結果を種別毎に乱数により選択する処理である。
このルーチンが開始されると、予告種別番号Aを初期値1から増分1だけ増加させつつ終値na(例えば、na=9)になるまで、ステップD371乃至ステップD380を繰り返し実行し、その後リターンする。即ち、ステップD371ではルーチン開始直後は予告種別番号Aを1としてステップD372に進む。ステップD380では、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合にはリターンする。そしてステップD371に戻ると、予告種別番号Aの値を1だけ増加させてステップD372に進む。なお、終値naの値は機種毎に異なる。
なお、ステップD272、D274、D277で準備される予告振分テーブルは、例えば図166及び図167に示すようなマトリックス状のデータテーブル(行列)であり、振分けの種別毎に同じ行(段)に各種振分け結果の振分値が横並びに配置されている。予告種別番号Aの値は、このテーブルにおいて複数ある行のうちの一つの行に対応するもので、例えばA=1は上から1番目の行、A=2は上から2番目の行、…といったように対応している。即ち、予告種別番号は、予告振分テーブルにおける特定の振分値の縦方向の配置位置(何行目か)を示すパラメータである。また、予告振分テーブルの1つの行における特定の振分値の横方向の配置位置(何列目か)を示すパラメータとして振分けテーブルアドレスが設けられている。また振分値は、本例では乱数値が0乃至999の1000種類あるので、同じ行にある振分値を全て加算すると1000になるように設定されている0乃至999の範囲内の数である。以上のことは、他の振分テーブルや、他の予告種別番号B、Cについても同様である。
ステップD372に進むと、0乃至999からランダムに一つ選択した値をrdmとして格納する処理を実行し、次いでステップD373で振分番号を0(初期値)に設定し、次にステップD374で予告種別番号Aに対応する振分テーブルアドレスの値(予告種別番号Aの値に対応する行の先頭の列を示す値)を設定した後、ステップD375に進む。ここで、振分テーブルアドレスは、既述したように、前述のステップD272で準備された予告振分テーブル内の同一行における横方向位置(以下、現アドレスという)を指定する。
ステップD375に進むと、その時点での現アドレスの振分値とrdmの値とを比較し、前記rdmの値が前記振分値以上である場合にはステップD376に進み、前記rdmの値が前記振分値未満である場合にはステップD379に進む。
ステップD376に進むと、前記rdmの値から前記振分値を減算した値を新たなrdmの値として設定し、次にステップD377で振分テーブルの現アドレスを1だけ増加させる更新(振分テーブルの同一行において1列分だけ現アドレスを先頭から離れる方向にずらす更新)を実行し、次いでステップD378で振分番号を1だけ増やす更新を行った後に、ステップD375に戻って処理を繰り返す。
これらステップD375乃至D378の処理によれば、rdmの値が前記振分値未満になるまで、rdmの値から前記振分値を減算して現アドレスを更新する処理が繰り返されることになる。そして、rdmの値が前記振分値未満になったとき(即ち、ステップD375の判定結果がNOになったとき)の現アドレスの更新回数(即ち、振分番号の値)とその際の予告種別番号Aの値は、予告振分テーブルにおける特定の1つの位置(即ち、1つの振分け結果)を示すものとなり、これにより振分け結果が乱数に基づいて選択されることになる。
ステップD379に進むと、現アドレスの更新回数(即ち、前記ステップD376、D377等を繰り返し実行した回数)に相当する振分番号を予告データ値とし、この予告データ値を演出振分け結果領域の対応する領域にセーブし、その後ステップD380に進む。
ステップD380に進むと、前述したように、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合にはリターンする。
なお、演出振分け結果領域は、上記予告データ値のような演出振分け結果をセーブするRAM311a内の領域である。
〔乱数抽選処理B〕
次に、前述の変動演出設定処理におけるステップD275で実行される乱数抽選処理Bについて説明する。このルーチンは、前述のステップD274で振分けのグループB用として準備された予告振分テーブル2(例えば図167に示すもの)における振分け結果を種別毎に乱数により選択する処理である。
このルーチンの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
〔乱数抽選処理C〕
次に、前述の変動演出設定処理におけるステップD278で実行される乱数抽選処理Cについて説明する。このルーチンは、前述のステップD277で振分けのグループC用として準備された予告振分テーブル3における振分け結果を種別毎に乱数により選択する処理である。
このルーチンの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
なお、上述の乱数抽選処理AにおけるステップD379及び乱数抽選処理B,Cにおける同じ処理内容のステップでは、予告データ値(現アドレスの更新回数から決まる振分番号の値)によって特定される演出内容(演出パターン)に対応する各種情報(SU予告回数など)を演出振分け結果領域内の所定の記憶領域(例えば、後述するSU予告回数領域、SU1カットイン領域、SU2カットイン領域、SU3カットイン領域、差替え判定領域、差替え対象SU判定領域、セリフSU領域、セリフSU2パターン領域、セリフSU3パターン領域、リーチ文字領域)にそれぞれ格納する。
上述の乱数抽選処理A,B,Cによれば、全てのグループA,B,Cのそれぞれで全ての予告種別番号の値に対して振分け結果が予め選択され、この振分け結果に応じた演出内容を指定する各種情報が予め所定の記憶領域にそれぞれ格納されることになる。
例えば、図166の下段に示した「武将発展リーチはずれ変動時の予告振り分けテーブル」が準備され、予告種別番号が1の場合(即ち、当該テーブルの1行目の振分けの場合)には、ステップD372で生成された乱数値rdmが0〜799の範囲内の時は「通常」が、800〜874の範囲内の時は「右3」が演出パターンとして選択される。そして、一番左列が選択されると振分番号=0となり、右に進む毎に振分番号は+1される。またこの場合、右端の3つ(「中煽」、「群雄」、「超短縮」)は振り分け率0なので、この例では振分番号(予告データ値)は0〜4の何れかになる。
なお、図167は変動演出設定処理のステップD274で準備される予告振分テーブル2の具体例である。図166及び図167に示したものは一部であり、予告振分テーブルは、当り・はずれ、変動の種類毎に沢山ある。また、予告振分テーブルにおける実際の振り分けは膨大な数があるので、説明の便宜上図では抜粋部分のみを記載している。本実施例のフローチャートもカットインステップアップの所しか記載していないが、実際にはもっと色々な予告に対して設定が行われる。
図167における振分けの種別L11〜L23の内容は以下のとおりである。
L11:カットイン予告のキャラが静止画か動画か(当然、動画の方が熱い(大当りになる確率が高い)。動画はリーチが確定する。)を決める振分け。L20〜L22で振り分けるキャラと女性キャラに、静止画のパターンと動画のパターンがある。ここで、動画と決まれば最終ステップが動画となる。なお、静止画といっても、カットイン画像自体は動画である。カットイン画像の中のキャラクタが静止しているということを意味する。動画の場合は登場キャラクタが静止画の状態でカットインしてきた後、1呼吸おいて、その状態から動き出すということ(刀を振りかぶって斬りかかるなど)を意味する。
L12:カットインが何回行われるか(1変動中に)を決める振分け。図では、説明を簡単にするために3段階までとしたが、実際は4段階以上ある。
L13:カットインが3回行われる場合に女性キャラが出現する可能性のある場所(L23の結果と連動する。L23がなしならこの振り分けは無になる。)を決める振分け。女性が連続して出現する程信頼度がアップする。
L15:カットインが2回行われる場合に女性キャラが出現する可能性のある場所(L13と同様)を決める振分け。
L20:カットイン3回目に出現するキャラ(武将男)を決める振分け。L12が2回までの振り分け結果となっていたら、この振り分けは無になる。
L21:カットイン2回目に出現するキャラ(武将男)を決める振分け。L12が1回までの振り分け結果となっていたら、この振り分けは無になる。
L22:カットイン1回目に出現するキャラ(武将男)を決める振分け。L12がなし(カットイン数が0回)という振り分け結果となっていたら、この振り分けは無になる。
L23:L13〜L22までの結果を反映するかを決定する振分け。主に男性キャラを女性キャラに差し替えるか否かを決定するもの。L23の振分け結果が「なし」であると、L13やL15の結果は使用しない。L23の振分け結果が「出現」であると、L13やL15の結果を使用する。ステップ毎に出現する女性キャラは固定されている。L23の振分け結果が「全て」であると、L13やL15の結果を使用せず全てのステップを女性に差し替える。L23の振分け結果が「ストーリー」であると、ストーリームービーがカットインとして出現する。各ステップでストーリー用ムービーは専用であり固定とする(固定でなくてもよい)。この「ストーリー」の場合、L13〜L22の結果に関係ないカットインが出現し、L12の回数までストーリーが進行する態様としてもよい。この「ストーリー」は、熱い演出であり、リーチが確定する。また、L23の振分け結果が「プレミアム」であると、プレミアム専用のキャラクタがL12の結果の最後のステップに出現する。この「プレミアム」は、大当り確定時に出現する。この「プレミアム」は、確変大当り確定のときだけでもよいし、そうでなくてもよい。
また、三つの乱数抽選処理のうち、乱数抽選処理A(予告振り分けテーブル1)は、主に変動序盤における予告(変動開始直後に出現する予告や、変動開始時の図柄の動きだしのパターンなど)の振り分けを行うものである。また、乱数抽選処理B(予告振り分けテーブル2)は、主にリーチ開始までに行われる予告や、図柄のスローダウン〜仮停止(スベリや図柄送り数)までの動作パターンなどの振り分けを行うものである。また、乱数抽選処理C(予告振り分けテーブル3)は、主にリーチ中に出現する予告を選択するものである。
〔予告演出設定処理1〕
次に、前述の変動演出設定処理におけるステップD280で実行される予告演出設定処理1の詳細について図118により説明する。この予告演出設定処理1としては、乱数抽選結果(前述した乱数抽選処理A、B、Cの結果)に応じてステップアップ予告の設定を行う場合を例示しているが、当然機種毎に予告演出の内容は異なる。なお、ステップアップ予告とは、予告内容や予告の信頼度を変化させつつ大当り予告を段階的に行うものである。本願の図面及び明細書において、「SU」とは、このステップアップ予告のステップアップを意味する。
このルーチンが開始されると、まずステップD381乃至D390を順次実行した後にステップD391に進む。
ステップD381では、演出振分け結果領域のSU予告回数領域から振分け結果をロードする。
ステップD382では、シナリオレイヤー番号4を準備する。
ステップD383では、ステップD381でロードしたSU予告回数に対応するSU予告シナリオテーブルのアドレスを準備する。
ステップD384では、直前のステップD382、D383で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD385では、演出振分け結果領域のSU1カットイン領域から振分け結果をロードする。
ステップD386では、ステップD385でロードしたSU1カットイン番号に対応する武将データを取得し、モーションインデックス領域(モーションインデックスを保存する記憶領域)のSU1カットイン領域にセーブする。
ステップD387では、演出振分け結果領域のSU2カットイン領域から振分け結果をロードする。
ステップD388では、ステップD387でロードしたSU2カットイン番号に対応する武将データを取得し、モーションインデックス領域のSU2カットイン領域にセーブする。
ステップD389では、演出振分け結果領域のSU3カットイン領域から振分け結果をロードする。
ステップD390では、ステップD389でロードしたSU3カットイン番号に対応する武将データを取得し、モーションインデックス領域のSU3カットイン領域にセーブする。
上記ステップD385乃至D390では、振り分けられた武将キャラ出現を行うためのモーションテーブルのデータを、一旦保存している。なお、ここで保存されたデータが使用されるとは限らず、その後、後述のカットインキャラ差替え判定処理1〜3(ステップD395乃至D397)における判定の結果によっては、例えば女性キャラのデータに差し替えが行われる。またここでは、SU数が満たない結果(例えばSU1が選ばれた)の場合、上位SU領域には一番信頼度の低いキャラクタのデータをセーブしておくことになるが、結果としては使われない制御となっている。
ステップD391に進むと、ステップD381でロードしたSU予告回数が0か判定し、0でない場合にはステップD392に進み、0である場合にはリターンする。
ステップD392に進むと、ステップD381でロードしたSU予告回数が1か判定し、1でない場合にはステップD393に進み、1である場合にはステップD395に進む。
ステップD393に進むと、ステップD381でロードしたSU予告回数が2か判定し、2でない場合にはステップD394に進み、2である場合にはステップD396に進む。
ステップD394に進むと、ステップD381でロードしたSU予告回数が3か判定し、3でない場合にはリターンし、3である場合にはステップD397に進む。
ステップD395に進むと、カットインキャラ差替え判定処理1(後述する)を実行し、その後リターンする。
ステップD396に進むと、カットインキャラ差替え判定処理2(後述する)を実行し、その後リターンする。
ステップD397に進むと、カットインキャラ差替え判定処理3(後述する)を実行し、その後リターンする。
〔カットインキャラ差替え判定処理1〕
次に、上述の予告演出設定処理1におけるステップD395で実行されるカットインキャラ差替え判定処理1の詳細について図119により説明する。なお、SU予告回数が1の場合に本ルーチンが実行されるが、SU予告回数が1の場合にはステップアップ予告で登場するキャラが一人目だけであるため、本ルーチンでは差替えが全部差替えしかない。
このルーチンが開始されると、まずステップD401で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD402で、ステップD401でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならばステップD403を実行後にリターンし、全部差替えでなければステップD403を実行しないでリターンする。
ステップD403では、カットインSU1用モーション制御テーブルのインデックスをステップD401でロードした振分け結果に基づいて差し替える。
〔カットインキャラ差替え判定処理2〕
次に、上述の予告演出設定処理1におけるステップD396で実行されるカットインキャラ差替え判定処理2の詳細について図120により説明する。なお、SU予告回数が2の場合に本ルーチンが実行されるが、SU予告回数が2の場合にはステップアップ予告で登場するキャラが二人目までであるため、本ルーチンでは差替えが、一部差替え(一人目だけ差替え)、一部差替え(二人目だけ差替え)、及び全部差替え(一人目と二人目の両方差替え)の3パターンのみである。
このルーチンが開始されると、まずステップD405で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD406で、ステップD405でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならばリターンし、差替え無しでなければステップD407に進む。
ステップD407に進むと、ステップD405でロードした振分け結果に基づいて差替えが一部差替えであるか判定し、一部差替えならばステップD408で演出振分け結果領域の差替え対象SU判定領域から振分け結果をロードしてステップD409に進み、一部差替えでなければステップD413に進む。
ステップD409に進むと、ステップD408でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならばステップD411でカットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU1でなければステップD410に進む。
ステップD410に進むと、ステップD408でロードした振分け結果に基づいて差替え対象がSU2(二人目のキャラ)か判定し、SU2ならばステップD412でカットインSU2用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU2でなければリターンする。
一方、ステップD413に進むと、ステップD405でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならばステップD414、D412を順次実行した後にリターンし、全部差替えでなければステップD414、D412を実行しないでリターンする。
ステップD414では、カットインSU1用モーション制御テーブルのインデックスをステップD405でロードした振分け結果に基づいて差し替え、ステップD415では、カットインSU2用モーション制御テーブルのインデックスを同様に差し替える。
〔カットインキャラ差替え判定処理3〕
次に、上述の予告演出設定処理1におけるステップD397で実行されるカットインキャラ差替え判定処理3の詳細について図121及び図122により説明する。なお、SU予告回数が3の場合に本ルーチンが実行されるが、SU予告回数が3の場合にはステップアップ予告で登場するキャラが三人目まであるため、後述する処理内容に示すような多様な差替えパターンがあり、本例では、全部差替えについても通常の全部差替えと特殊な全部差替え(後述するストーリー用、及びプレミアム用)とがある。
このルーチンが開始されると、まずステップD421で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD422で、ステップD421でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならばリターンし、差替え無しでなければステップD423に進む。
ステップD423に進むと、ステップD421でロードした振分け結果に基づいて差替えが一部差替えであるか判定し、一部差替えならばステップD424で演出振分け結果領域の差替え対象SU判定領域から振分け結果をロードしてステップD425に進み、一部差替えでなければステップD430に進む。
ステップD425に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならばステップD433でカットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU1でなければステップD426に進む。
ステップD426に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU2(二人目のキャラ)か判定し、SU2ならばステップD434でカットインSU2用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU2でなければステップD427に進む。
ステップD427に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU3(三人目のキャラ)か判定し、SU3ならばステップD435でカットインSU3用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU3でなければステップD428に進む。
ステップD428に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU1とSU2(一人目と二人目のキャラ)か判定し、SU1とSU2ならばステップD436,D437でカットインSU1用とカットインSU2用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU1とSU2でなければステップD429に進む。
ステップD429に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU2とSU3(二人目と三人目のキャラ)か判定し、SU2とSU3ならばステップD438、D439でカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU2とSU3でなければリターンする。
ステップD430に進むと、ステップD421でロードした振分け結果に基づいて差替え対象が通常の全部差替えか判定し、通常の全部差替えならばステップD440乃至D442でカットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、通常の全部差替えでなければステップD431に進む。
ステップD431に進むと、ステップD421でロードした振分け結果に基づいて差替え対象がストーリー用か判定し、ストーリー用ならばステップD443乃至D445でカットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、ストーリー用でなければステップD432に進む。
ステップD432に進むと、ステップD421でロードした振分け結果に基づいて差替え対象がプレミアム用か判定し、プレミアム用ならばステップD446乃至D448でカットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、プレミアム用でなければリターンする。
〔PB予告用シナリオデータ設定処理〕
次に、上述の変動演出設定処理におけるステップD288で実行されるPB予告用シナリオデータ設定処理の詳細について図123により説明する。
このルーチンが開始されると、まずステップD451で、演出振分け結果領域のセリフSU領域から振分け結果をロードする。
次にステップD452で、ステップD451でロードした振分け結果に基づいてセリフSUがSU2系(SU2系は出現キャラが一人)であるか判定し、SU2系ならばステップD453乃至D455を順次実行した後にステップD459に進み、SU2系でなければ(即ち、出現キャラが二人のSU3系であるならば)ステップD456乃至D458を順次実行した後にステップD459に進む。
ステップD453では、演出振分け結果領域のセリフSU2パターン領域から振分け結果をロードする。
ステップD454では、セリフSU2シナリオアドレステーブル(セリフSU2シナリオテーブルのリストテーブル)を設定する。
ステップD455では、ステップD453でロードした振分け結果に基づいて、ステップD454で設定したテーブルから、振分け結果のセリフSU2パターンに対応するシナリオテーブルのアドレスを取得し、準備する。
なお、このステップD455でアドレスを取得するセリフSU2パターンのシナリオテーブルは、例えば図176の上段に示すものである。この図176の上段のシナリオテーブルにおいて、1〜4行目(テーブル右側に図示したインデックス番号が0〜3)は共通部であり、5〜6行目(インデックス番号が4〜5)はボタンが押されなかった場合の動作部であり、7〜15行目(インデックス番号が6〜14)はボタンが押された場合の動作部である。そして、2行目のオペランドとして設定されているモーションインデックスNo.(70)に対応するモーションテーブルの具体例が、図176の下段に示すモーションテーブル(Mdat_0070)である。ここで、モーションテーブル(Mdat_0070)において追加1コードによって登録される白ボタンのキャラクタは、ボタンが押されていない状態で白く光っているキャラクタであり、同じく黒ボタンのキャラクタは、ボタンが押されている状態で消灯しているキャラクタを示している。また、このモーションテーブル(Mdat_0070)によれば、各キャラクタを一定時間毎に交互に表示することで、ボタンが出たりへこんだりしているアニメーション表示が実現される。なお、モーションテーブルの制御では、モーションが削除されない限り、テーブルが一番下までくると、頭に戻る(後述のモーション制御処理を参照)。
ステップD456では、演出振分け結果領域のセリフSU3パターン領域から振分け結果をロードする。
ステップD457では、セリフSU3シナリオアドレステーブル(セリフSU3シナリオテーブルのリストテーブル)を設定する。
ステップD458では、ステップD456でロードした振分け結果に基づいて、ステップD457で設定したテーブルから、振分け結果のセリフSU3パターンに対応するシナリオテーブルのアドレスを取得し、準備する。
そしてステップD459に進むと、シナリオレイヤー番号5を準備し、ステップD460に進む。
ステップD460に進むと、直前のステップD459と、直前のステップD455又はD458で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行し、その後リターンする。
以上説明した本ルーチンによれば、PB(プッシュボタン9)の操作によって特別なキャラクタが登場したり、PBを押した後のキャラクタやキャラクタのセリフが変化したりするといったPB予告演出が可能となる。
〔サブ間送信開始処理〕
次に、前述のメイン処理におけるステップD24で実行されるサブ間送信開始処理の詳細について図124により説明する。なお、サブ間送信とは、サブ間通信における送信のことである。サブ間通信とは、遊技場の異なるパチンコ機のサブ基板(本例では、演出制御装置)の間で行われる通信(本例では、無線通信)である。
このルーチンが開始されると、まずステップD461でサブ間送信要求があるか(即ち、前述したステップD190、或いは後述するステップD480等でセットされるサブ間送信要求フラグがセットされているか)判定し、サブ間送信要求があれば(サブ間送信要求フラグがセットされていれば)ステップD462に進み、サブ間送信要求がなければ(サブ間送信要求フラグがセットされていない場合には)リターンする。
ステップD462に進むと、サブ間送信開始待ちタイマの値が0より大きいか判定し、0より大きい場合にはステップD466に進み、0以下の場合にはステップD463乃至D465を順次実行した後にリターンする。
ステップD463では、サブ間送信要求フラグをクリアする(セットされていない状態とする)。
ステップD464では、サブ間送信許可フラグをセットする。
ステップD465では、サブ間送信割込みを許可する。なお、サブ間送信割込みは、サブ間通信で送信するデータが発生すればこのステップD465で許可され、送信するデータが無くなれば図示省略したルーチン(サブ間送信割込み処理)で禁止される。
ステップD466に進むと、サブ間送信開始待ちタイマを更新する(即ち、タイマの値を一定値減らす)。サブ間送信開始待ちタイマは、後述するステップD479で初期値を設定され、後述するステップD491でクリアされる(値が0とされる)タイマである。
〔サブ間受信タスク処理〕
次に、前述のメイン処理におけるステップD25で実行されるサブ間受信タスク処理の詳細について図125により説明する。
このルーチンが開始されると、まずステップD471で、サブ間受信タスク要求があるか(即ち、サブ間通信の受信データ(サブ間コマンドの受信データ)があって、図示省略したサブ間受信割込み処理でセットされるサブ間受信タスク要求フラグがセットされているか)判定し、サブ間受信タスク要求があれば(サブ間受信タスク要求フラグがセットされていれば)ステップD472に進み、サブ間受信タスク要求がなければ(サブ間受信タスク要求フラグがセットされていない場合には)リターンする。
ステップD472に進むと、受信したサブ間コマンドのSB_MODEのデータ(図示省略したサブ間受信割込み処理でサブ間通信データバッファのsb_mode領域からSB_MODE領域にコピーした値)をSB_MODE領域からロードし、ステップD473に進む。
ステップD473に進むと、ステップD472でロードしたSB_MODEのデータが端末ID報知を示すものか判定し、端末ID報知を示すものでない場合にはステップD474に進み、端末ID報知を示すものである場合にはステップD482乃至D485を順次実行した後にステップD481に進む。
ステップD482では、受信した端末ID(図示省略したサブ間受信割込み処理でサブ間通信データバッファの送信元ID領域からサブ間コマンド送信元ID領域にコピーした値)をサブ間コマンド送信元ID領域からロードする。
ステップD483では、ステップD482でロードした端末IDに対応する端末情報領域の端末有無情報を「あり」に設定する。
ステップD484では、ステップD482でロードした端末IDに対応する端末情報領域の端末有効期間タイマに、初期値を設定する。なお、端末有効期間タイマを設けることで、受信した端末IDの遊技機が「ある」と認識することに制限時間を設けている。つまり、サブ間通信を行う遊技機間で定期的に互いの存在を確認する必要があり、この端末有効期間タイマに基づく図示省略した処理(例えば、端末有効期間タイマがタイムアップするまでの間に同じ端末ID報知がまた受信されなければ、当該端末IDに対応する端末有無情報を「なし」に更新する処理)によって、この確認を定期的に行っている。こうしておくことで、次のような利点がある。即ち、ある遊技機が電源を落としたり、無線モジュールが突然故障したりした場合など、何らかの理由により一度は互いに通信を確立した遊技機間の通信が成立しなくなった場合、その相手が存在している前提で通信をし続けることは無駄であるし、それによりサブ間演出の効果が低下してしまう虞もある。例えば、サブ間演出として、島内の左端の遊技機から順次隣の遊技機にサブ間通信で指令を送り、島内の左端の遊技機から順次特定の登場人物等(キャラクタ)の画像を各遊技機の表示装置41に右方に流れるように表示させるといった連続演出(連携演出の一種)を行う場合、その通信が成立しなくなった遊技機のところで、この連続演出が途切れて中断してしまう虞がある。しかし、上記確認を定期的に行って端末有無情報を更新している構成であれば、途中で存在が「なし」となった遊技機にはサブ間演出の要求をしないようにできるので、例えば電源を落としてしまった台を飛ばして上記連動演出を行うなど、効率良いサブ間演出を確実に行えるようになる。
但し、サブ間演出は遊技の結果に影響を与えないものなので、上述したような弊害(例えば、存在のなくなった相手に演出要求をした結果演出が行われなくなってしまう弊害)があっても問題ないとする思想も成立する。そのような思想に従った仕様の場合には前記端末有効期間タイマは不要である。
ステップD485では、ステップD482でロードした端末IDに対応する端末情報領域のゲーム状態に、受信したゲーム状態のデータ(図示省略したサブ間受信割込み処理でサブ間通信データバッファのゲーム状態領域からサブ間コマンドゲーム状態領域にコピーした値)を格納する。
ステップD474に進むと、ステップD472でロードしたSB_MODEのデータがack応答を示すものか判定し、ack応答を示すものでない場合にはステップD476に進み、ack応答を示すものである場合にはステップD486でack受信フラグをセットした後にステップD481に進む。
ステップD476に進むと、ステップD472でロードしたSB_MODEのデータが演出系コマンドか判定し、演出系コマンドでない場合にはステップD481に進み、演出系コマンドである場合にはステップD477に進む。
ステップD477に進むと、サブ間データ送信中か判定し、サブ間データ送信中ならばステップD481に進み、サブ間データ送信中でなければステップD478乃至D480を順次実行した後にステップD480aに進む。なお、サブ間データ送信とは、サブ間通信におけるデータ送信(例えば、コマンドの送信)である。また本願では、サブ間通信で送受信されるコマンドをサブ間コマンドと称している。
また、ステップD478乃至D480の処理は、受信したサブ間コマンド(特に演出系コマンド)に応じた演出を行うための処理である。
ステップD478では、受信したサブ間コマンドの内容に対応する各種演出のサブ間コマンド、或いはパラメータ等を設定する。
ステップD479では、ステップD478で設定したサブ間コマンドを他の遊技機のサブ基板に送信すべく、サブ間送信開始待ちタイマを設定する。また同様に、ステップD480ではサブ間送信要求フラグをセットする。
なお、演出の内容によっては、サブ間コマンドが発生しない場合もあり得る。このような場合、ステップD478では、サブ間コマンドの設定は行われず、このサブ間コマンドを送信するためのステップD479及びD480の処理も実行されずにステップD480aに進む。
ステップD480aに進むと、ステップD472でロードしたSB_MODEのデータはack応答が必要なコマンドか判定し、ack応答が必要なコマンドでない場合にはステップD481に進み、ack応答が必要なコマンドである場合にはステップD488乃至D491を順次実行した後にステップD481に進む。
ステップD488乃至D491は、ack要求に答えてack応答を返すための処理である。
ステップD488では、受信した送信元IDを送信先IDコマンドとして準備する。
ステップD489では、ack応答のSB_MODE及びSB_ACTのデータを準備する。なお、SB_MODEとSB_ACTは、サブ間コマンドを構成するデータであり、図159に示すパケット構成例(後述する)における8バイト目と9バイト目のデータである。
ステップD490では、サブ間送信データ編集処理(後述する)を実行する。
ステップD491では、サブ間送信開始待ちタイマをクリアする(タイマの値を0にする)。
そしてステップD481に進むと、サブ間受信タスク要求フラグをクリアし、その後リターンする。
なお、ステップD477が設けられていることにより、サブ間データの送信中である場合には、サブ間コマンド(演出系コマンド)により要求された動作を行わない構成となっている。これは、サブ間コマンドは主基板からのコマンドと違って必ず対応する必要はないし、送信中ということは、他台に要求をしているか、ackを返している最中ということなので、更に他の台からの要求に応える必要はないという思想からである。また、全ての要求に応えていたら演出に矛盾が出たりする可能性も考えられるが、この構成とすれば、このような矛盾が生じる可能性が無くなるという利点があるからである。但し、この思想は基本的な考え方であり、どんな状態でも行いたい演出があった場合には、送信中でも要求された動作を行う態様も有り得る。
〔サブ間送信データ編集処理〕
次に、上述のサブ間受信タスク処理におけるステップD490(或いは前述の単発系コマンド処理のステップD187)で実行されるサブ間送信データ編集処理の詳細について図126により説明する。なお、サブ間で送受信されるパケットの構成は後述する図159に示す構成になっているものとする。
このルーチンが開始されると、ステップD501乃至D514を順次実行し、その後リターンする。
ステップD501では、パケット開始コード(STX)のデータ(例えば02H)を、サブ間送信バッファ0に設定する。ここで、サブ間送信バッファ0は、サブ間通信のための送信バッファ領域(サブ間送信バッファ領域)の一部であり、このサブ間送信バッファ領域のアドレス0の位置の記憶領域がサブ間送信バッファ0である(以下、他のアドレス1,2,3,…11についても同様)。
ステップD502では、サブ間送信データ数(SIZE)のデータ(例えば12バイトを示すデータ)を、サブ間送信バッファ1に設定する。
ステップD503では、送信元ID(SID)のデータとして自分の端末ID(当該演出制御装置300或いは当該演出制御装置300の無線モジュール360に付与された端末ID)やグループID(当該パチンコ機が所属するパチンコ機のグループを特定するID)を、サブ間送信バッファ2に設定する。
ステップD504では、送信先ID(DID)のデータ(端末ID及びグループID)を、サブ間送信バッファ3に設定する。なお、送信元ID(SID)と送信先ID(DID)のデータは、それぞれ、1バイトのうちの上位ビットがグループID、下位ビットが端末IDとなっている。
ステップD505では、サブ間メーカコード(MAKER)のデータを、サブ間送信バッファ4に設定する。
ステップD506では、西暦コード(YEAR)のデータを、サブ間送信バッファ5に設定する。
ステップD507では、サブ間機種コード(TYPE)のデータを、サブ間送信バッファ6に設定する。
ステップD508では、サブ間コマンドMODE(SB_MODE)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ7に設定する。
ステップD509では、サブ間コマンドACT(SB_ACT)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ8に設定する。
ステップD510では、自分のゲーム状態STS(即ち、当該パチンコ機のゲーム状態)のデータ(例えば、今大当りの5ラウンド目である、などを示すデータ)を、サブ間送信バッファ9に設定する。
ステップD511では、サブ間送信バッファ0からサブ間送信バッファ9までの設定データ(即ち、STXからSTSまでのデータ)のチェックサムを算出する。チェックサムの算出方法は特に限定されないが、例えば、1バイトサイズで単なる加算を行ってもよい。
ステップD512では、ステップD511で算出したチェックサムの演算結果(SUM)のデータを、サブ間送信バッファ10に設定する。
ステップD513では、パケット終了コード(ETX)のデータ(例えば03H)を、サブ間送信バッファ11に設定する。
ステップD514では、サブ間送信ポインタ(サブ間送信バッファ領域のアドレスを指定するパラメータ)のデータとしてサブ間送信バッファ0のアドレスを設定する。このサブ間送信ポインタは図示省略したサブ間送信割込み処理(サブ間送信のために、サブ間送信バッファ領域のデータを順次CPUのシリアル送信バッファに書き込むなどの処理を行うルーチン)で使用される。
〔サブ間ack応答タスク処理〕
次に、前述のメイン処理におけるステップD26で実行されるサブ間ack応答タスク処理の詳細について図127により説明する。
このルーチンが開始されると、まずステップD521でack待ちタイマの値が0か判定し、0ならばリターンし、0でない場合にはステップD522でack待ちタイマを更新(値を規定値だけ減らす)した後にステップD523に進む。なお、ack待ちタイマは、前述したステップD188で初期値をセットされる。
ステップD523に進むと、ack応答が受信されたか否か(即ち、ack受信フラグがセットされているか否か)を判定し、受信されたならばステップD524乃至D526を順次実行した後にリターンし、受信されていない場合(ack受信フラグがセットされていない場合)にはステップD524乃至D526を実行しないでリターンする。なお、ack受信フラグは、前述のステップD486でセットされる。
ステップD524では、ack受信フラグをクリアする。
ステップD525では、ack待ちタイマをクリアする。
ステップD526では、ack応答を受信したので、このack応答を待っていた演出に対応するための各種パラメータ設定を実行する。
〔サブ間演出設定処理〕
次に、前述のメイン処理におけるステップD27で実行されるサブ間演出設定処理の詳細について図128により説明する。
このルーチンが開始されると、まずステップD531で、サブ間演出要求ありか否か(即ち、サブ間演出要求フラグがセットされているか否か)を判定し、サブ間演出要求ありならばステップD532に進み、サブ間演出要求なし(サブ間演出要求フラグがクリアされた状態)の場合にはリターンする。サブ間演出要求フラグは、前述のステップD478でセットされる。
ステップD532に進むと、サブ間演出開始待ちタイマの値が0か判定し、0ならばステップD533に進み、0でない場合にはステップD538でサブ間演出開始待ちタイマを更新(値を規定値だけ減らす)した後にリターンする。サブ間演出開始待ちタイマは、前述のステップD189でセットされるタイマである。
ステップD533に進むと、受信したサブ間コマンドのSB_MODE及びSB_ACT(以下、サブ間コマンドとはSB_MODE及びSB_ACTを含むものである)のデータをロードし、次のステップD534でこのロードしたデータがサブ間連動予告系コマンドであるか判定し、サブ間連動予告系コマンドであればステップD539に進み、サブ間連動予告系コマンドでなければステップD535に進む。なお、サブ間連動予告系コマンドは、サブ間通信を行っている複数のパチンコ機で予告演出を連動させる連携演出のためのコマンドである。連携演出には、例えば同じキャラクタの画像が島内を横方向に移動するように各遊技機で順次表示されるような演出もあれば、同じ演出を同期して一斉に行う同期演出もある。
ステップD539に進むと、ステップD533でロードしたサブ間コマンドのSB_MODE及びSB_ACTのデータが指定する演出に対応する演出動作テーブルを設定し、その後ステップD537に進む。なお、このステップD539で演出動作テーブルを設定するとは、サブ間コマンドの上記データが指定する演出を実行するためのシナリオデータを設定することを意味する。
ステップD535に進むと、ステップD533でロードしたサブ間コマンドのデータが客待ちタイミング調整コマンドであるか判定し、客待ちタイミング調整コマンドであればステップD540に進み、客待ちタイミング調整コマンドでなければステップD536に進む。なお、客待ちタイミング調整コマンドは、サブ間通信を行っている複数のパチンコ機で客待ちデモ表示のタイミングを合わせる演出を行わせるためのコマンドであり、この場合、客待ちデモを最初から同期して実行させるコマンドである。
ステップD536に進むと、ステップD533でロードしたサブ間コマンドのデータが正常値なら、このデータに対応する各種演出のパラメータを設定し、その後ステップD537に進む。
ステップD540に進むと、客待ちデモ演出中か否か(即ち、客待ちデモ演出を行っている最中か否か)を判定し、客待ちデモ演出中でなければ客待ちタイミング調整を行うべきでないのでステップD537に進み、客待ちデモ演出中であれば客待ちタイミング調整を行うべくステップD541に進む。
ステップD541では、サブ間コマンドを受信した当該パチンコ機(即ち、自機)の客待ちデモのシナリオテーブルを再設定するようにして、客待ちデモ演出を最初から行うように設定し、その後ステップD542に進む。
ステップD542に進むと、P機状態を客待ちAとしてステップD537に進む。
上記ステップD541によれば、客待ちデモ演出が図柄表示(客待ちA)の最初から開始されることになる。これにより、ステップD535で判定された客待ちタイミング調整コマンドを送信した送信元のパチンコ機と、この客待ちタイミング調整コマンドを受信した自機及び他のパチンコ機とで、客待ちデモ演出が図柄表示(客待ちA)の最初から同期して開始される。なお、こうして開始された客待ちデモ演出は、再設定された客待ちデモ用のシナリオテーブルによって制御される。
そしてステップD537では、サブ間演出要求フラグをクリアし、その後リターンする。
なお本例では、このように、予告演出を連動させるものと、客待ちデモ演出のタイミングを合わせる演出の処理を、サブ間演出のための処理の具体例として挙げた。しかし、サブ間演出の内容は、このような態様に限定されず、本例の態様に代えて、或いは本例の態様に加えて、他の内容のサブ間演出を行う構成としてもよい。
本例では、煩雑を避けるために、それら他の種類のサブ間演出の設定処理についてはステップD536でまとめて図示しており、その詳細については図示及び説明を省略する。
〔シナリオ設定処理〕
次に、前述のメイン処理におけるステップD28で実行される処理の詳細について図129により説明する。
このルーチンが開始されると、ステップD551乃至D566を順次実行した後にリターンする。
ステップD551では、シナリオ管理領域0(シナリオレイヤー番号0)に対応するシナリオ管理領域のアドレス領域を準備し、次のステップD552では、ステップD551の準備に基づいてシナリオ解析処理(後述する)を実行する。ここで、「アドレス領域を準備し」とは、後の処理で当該アドレス領域に設定されているデータを読み取るために、当該アドレス領域自体のアドレスを準備することを意味する。
以下同様に、ステップD553では、シナリオ管理領域1(シナリオレイヤー番号1)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD554でシナリオ解析処理を実行する。
ステップD555では、シナリオ管理領域2(シナリオレイヤー番号2)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD556でシナリオ解析処理を実行する。
ステップD557では、シナリオ管理領域3(シナリオレイヤー番号3)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD558でシナリオ解析処理を実行する。
ステップD559では、シナリオ管理領域4(シナリオレイヤー番号4)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD560でシナリオ解析処理を実行する。
ステップD561では、シナリオ管理領域5(シナリオレイヤー番号5)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD562でシナリオ解析処理を実行する。
ステップD563では、シナリオ管理領域6(シナリオレイヤー番号6)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD564でシナリオ解析処理を実行する。
ステップD565では、シナリオ管理領域7(シナリオレイヤー番号7)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD566でシナリオ解析処理を実行する。
なお本例の場合、シナリオレイヤーは前述したように8個あり、シナリオレイヤー番号は0〜7まである。そして、これら8個のシナリオレイヤーのうち、基本的に、シナリオレイヤー0は背景用であり、シナリオレイヤー1は左図柄用であり、シナリオレイヤー2は右図柄用であり、シナリオレイヤー3は中図柄用であり、シナリオレイヤー4は予告1用であり、シナリオレイヤー5は予告2用であり、シナリオレイヤー6は保留用であり、シナリオレイヤー7は第4図柄用である。
但し、この態様に限られない。例えば、本実施例はシナリオレイヤーが8個のフローチャートにしているが、このシナリオレイヤーの数はこれに限られない。特に背景や予告に使用するレイヤーは機種仕様により増減し、本実施例はなるべく少数に限定して説明している。また、各シナリオレイヤーの制御対象も上記実施例に限られず、各種割り振りが有り得る。例えば、シナリオレイヤー0は背景用であり、シナリオレイヤー1はカットイン予告用であり、シナリオレイヤー2は左図柄用であり、シナリオレイヤー3は右図柄用であり、シナリオレイヤー4は中図柄用であり、シナリオレイヤー5は保留用であり、シナリオレイヤー6は他の予告用であり、シナリオレイヤー7は第4図柄用であるという態様でもよい。
また、シナリオ管理領域のアドレス領域は、既述したようにシナリオレイヤー毎に設けられており、制御するものがある場合には、対応するシナリオ管理領域X(X=0〜7の何れか)のアドレス領域にシナリオ管理領域のアドレスが保存されており、制御するものがない場合には、対応するシナリオ管理領域Xのアドレス領域の中はNULLに設定されている(前述したステップD243、D247参照)。例えば、客待ちのムービー中には保留の表示を行わないので、背景の領域(シナリオ管理領域0のアドレス領域)にはアドレス(シナリオ管理領域0のアドレス)が設定されているが、保留の領域(シナリオ管理領域6のアドレス領域)にはNULLが設定されている。
〔シナリオ解析処理〕
次に、上述のシナリオ設定処理におけるステップD552等で実行されるシナリオ解析処理の詳細について図130及び図131により説明する。
このルーチンが開始されると、まずステップD571でbrkの値(後述する処理の繰り返しに利用されるデータ)を0に設定し、次いでステップD572において、準備されているシナリオ管理領域Xのアドレス領域に設定されているデータ(シナリオ管理領域Xのアドレス、或いはNULL)のデータをロードした後、ステップD573に進む。ここで、「準備されているシナリオ管理領域Xのアドレス領域」とは、例えば、本ルーチンが前述のステップD552で実行されている場合には、その直前のステップD551で準備されたアドレス領域(シナリオ管理領域0のアドレス領域)であり、本ルーチンが前述のステップD554で実行されている場合には、その直前のステップD553で準備されたアドレス領域(シナリオ管理領域1のアドレス領域)であり、他のケースも同様に直前のステップで準備されたものである。
ステップD573に進むと、ステップD572でロードしたアドレスのデータがNULLか判定し、NULLならば制御不要なのでリターンし、NULLでなければステップD574に進む。
ステップD574に進むと、ステップD572でロードしたアドレスのシナリオ管理領域におけるシナリオ用タイマの値を読み取り、このシナリオ用タイマの値が0より小さいか判定し、0より小さい場合には異常なのでリターンし、0以上である場合にはステップD575を実行してステップD576に進む。なお、前記シナリオ用タイマの値は、シナリオ制御データが設定される度に前述のステップD244でまず0に設定されるが、0が下限であるので、0より小さい場合は異常と判定する。またステップD575では、前記シナリオ用タイマの値が0でなければ、このシナリオ用タイマの値を1だけ減らす更新を実行する。
ステップD576に進むと、前記シナリオ用タイマの値が0より大きいか判定し、0より大きい場合には未だタイムアップしていないのでリターンし、0以下である場合にはステップD577に進む。
これらステップD574乃至D576によれば、ウェイト用のタイマ管理が行われる。即ち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるシナリオ用タイマ領域に設定されたシナリオ用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせる動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせる動作」とは、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、図177の20行目(//19)では、定数ウェイトコードが設定されてウェイト時間値が(300)であるため、300フレームに相当する時間この行にとどまり、当該時間経過後に次の行に進行するが、この動作が「シナリオテーブルの制御進行を遅らせる動作」に相当する。なお、シナリオテーブルにおいて、ウェイト時間値とウェイト時間値の間にあるコード(定数ウェイトコード等(PB待ちコード含む)が設定された行と、次に定数ウェイトコード等が設定された行との間にある行のオペコード)は全て同時期に実行される。そして、ステップD575の更新により前記シナリオ用タイマの値が0以下になると、シナリオ用タイマがタイムアップしたと判断されるため、対象のシナリオテーブルの制御処理を進行させるべく、ステップD576を経てステップD577に進む構成となっている。但し、対象のシナリオテーブルの制御処理(ステップD584以降)は、後述するPB有効時間のためのタイマ管理の処理の後に実行される。
即ち、ステップD577に進むと、対象のPB用タイマの値(ステップD572でロードしたアドレスのシナリオ管理領域におけるPB用タイマ領域の値)を読み取り、このPB用タイマの値が0より大きいか判定し、0より大きい場合にはタイムアップしていないのでステップD578に進み、0以下である場合にはタイムアップしているのでステップD583に進む。
ステップD578に進むと、PB操作フラグがセットされているか判定し、PB操作フラグがセットされていればステップD579に進み、PB操作フラグがセットされていない場合にはステップD582で対象のPB用タイマの値を1だけ減らす更新を実行した後にステップD583に進む。ここで、PB操作フラグは、前述のメイン処理におけるステップD21で実行される演出ボタン入力処理において、PB(プッシュボタン9)の押下操作が検出されるとセットされるフラグである。
ステップD579に進むと、対象のPB用タイマのこの時点での値(即ち、PBが押された時点におけるPB有効時間の残り時間)をPB演出加算時間として保存し、次いでステップD580で対象のPB用タイマの値を0に設定し、次にステップD581で対象のシナリオ管理領域のPB検知フラグ領域にフラグをセットする(即ち、PB検知フラグが立てられていることを示すデータを設定する)。これらステップD579乃至D581では、PBが押下操作されたので、PB用タイマの残り時間をPB演出加算時間として記憶し(後述するステップD696のため)、PB用タイマを0にリセットし、PBが操作されたことを示すPB検知フラグをシナリオ制御のためにシナリオ管理領域にセットしている。
そして、ステップD583に進むと、対象のPB用タイマの値が0より大きいか判定し、0より大きい場合にはPB操作が検出されずタイムアップもしていないのでリターンし、0以下である場合にはPB操作がされたかタイムアップしたのでステップD584に進む。
上記ステップD577乃至D583によれば、PB有効時間のためのタイマ管理が行われる。即ち、対象のシナリオ管理領域(ステップD572でロードしたアドレスのシナリオ管理領域)におけるPB用タイマ領域に0より大きなPB用タイマの値が設定されている場合には、このPB用タイマの値に対応する時間だけ、対象のシナリオテーブル(対象のシナリオ管理領域におけるシナリオ用データテーブル領域に設定されたアドレスのシナリオテーブル)の制御進行を遅らせてPB有効時間を設ける動作が実現される。ここで、「シナリオテーブルの制御進行を遅らせてPB有効時間を設ける動作」とは、対象のPB用タイマの値が0になる(即ちPB用タイマがタイムアップする)か、或いはPBが押下操作されるまで、シナリオテーブルの進行にウェイトを掛ける(シナリオテーブルの次の行に進まずにそこで待つ。その時の演出をし続ける。)ことを意味する。例えば、図177の28行目(//27)では、定数ウェイトコードが設定されてウェイト時間値が(30)であるため、30フレームに相当する時間この行にとどまり、この時間経過後に次の29行目に進行するが、この28行目による動作は前述したシナリオ用タイマによる「シナリオテーブルの制御進行を遅らせる動作」である。一方、次の29行目(//28)では、PB待ちコードが設定されて有効時間値が(2970)であるため、後述するステップD702でこの有効時間値(2970)がPB用タイマに設定され、PB押下操作が無ければ最大2970フレームに相当する有効時間この行にとどまり、この有効時間内にPB押下操作があれば即座に次の行に進行するが、このようにPB用タイマに設定される有効時間(PB有効時間)だけPBの押下操作を待つ動作が「シナリオテーブルの制御進行を遅らせてPB有効時間を設ける動作」に相当する。そして、PBの操作がないままにステップD582の更新により前記PB用タイマの値が0以下になって前記PB用タイマがタイムアップするか、前記PB用タイマがタイムアップするまでのPB有効時間の間にPBが操作されると、ステップD582又はステップD579乃至D581を経てステップD583に進み、この場合はステップD583の判定結果がNO(PB用タイマは0)になってステップD584に進む。
但し、前記PB用タイマ領域に設定されたPB用タイマの値が当初から0の場合には、ステップD577からステップD583に進み、さらにステップD583からステップD584に進んで即座に制御が進行する(この場合のPB有効時間は0(無し)となる)。なお、PB有効時間は予告演出等の場合において設けられるため、それ以外の場合にはPB用タイマ領域の値は0に設定されていてPB有効時間は設けられない。
次にステップD584以降では、対象のシナリオテーブルの制御処理が実行される。以下、これを説明する。
ステップD584に進むと、brkの値として0でない値が設定されるまで、ループ端である当該ステップD584からステップD623までの間の処理を繰り返し実行する。つまり、後方のループ端であるステップD623では、その時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返す。
即ち、ステップD584に進むと、まずステップD585乃至D588を順次実行した後に、ステップD589に進む。
ステップD585では、対象のシナリオ管理領域におけるシナリオ用データテーブル領域からシナリオテーブルのアドレスをロードする。例えば、客待ちデモ時のシナリオレイヤー番号0の場合には、図177に示すシナリオテーブルのアドレスが、このステップD585でロードされる。
ステップD586では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペコードを取得する。なお既述したように、シナリオテーブルは、例えば図169や図176や図177に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行に設定されたものである。例えば図169の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペコードのデータである「モーション継続コード」がステップD586で取得される。また、図177の場合、例えば指定行が1行目であると、この1行目のオペコードのデータである「モーション1削除コード」(具体的データとしては、例えば「51h」)がステップD586で取得される。或いは、図177の場合、例えば指定行が16行目であると、16行目のオペコードのデータである「モーション10登録コード」(具体的データとしては、例えば「4Ah」)がステップD586で取得される。
ステップD587では、直前のステップD586で取得したオペコードを上位ビットと下位ビットに分離して準備する。例えば、オペコードのデータが前述した「51h」である場合、上位ビットである「5」と下位ビットである「1」とを分離してそれぞれ準備する。なお、オペコードの上位ビットと下位ビットには、それぞれ意味が持たせてある(但し、下位ビットには意味が無い場合がある)。例えば、「モーション1削除コード」である「51h」のうち、上位ビットである「5」はモーション削除を意味し、下位ビットである「1」は対象(この場合、モーション削除の対象)のモーションのレイヤーがモーション1であることを意味している。
ステップD588では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペランドを取得し、準備する。例えば図169の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペランドのデータである「モーションインデックスNo.(51)」をステップD588で取得して準備する。また図177の場合、指定行が16行目(オペコードは「モーション10登録コード」)であると、この16行目のオペランドのデータである「モーションインデックスNo.(−1)」をステップD588で取得して準備する。
ステップD589に進むと、準備したオペコード上位データ(ステップD587で分離して準備したデータ、以下同様)を判定し、モーション登録を指令するデータ(モーション登録コード)であるとステップD601でモーション登録処理(後述する)を実行した後にステップD621に進み、モーション登録を指令するデータでない場合にはステップD590に進む。
ステップD590に進むと、準備したオペコード上位データを判定し、モーション削除を指令するデータ(モーション削除コード)であるとステップD602でモーション削除処理(後述する)を実行した後にステップD621に進み、モーション削除を指令するデータでない場合にはステップD591に進む。
ステップD591に進むと、準備したオペコード上位データを判定し、モーション継続を指令するデータ(モーション継続コード)であるとステップD603でモーション継続処理(後述する)を実行した後にステップD621に進み、モーション継続を指令するデータでない場合にはステップD592に進む。
ステップD592に進むと、準備したオペコード上位データを判定し、定数ウェイトを指令するデータ(定数ウェイトコード)であるとステップD604で定数ウェイト処理(後述する)を実行した後にステップD621に進み、定数ウェイトを指令するデータでない場合にはステップD593に進む。
ステップD593に進むと、準備したオペコード上位データを判定し、可変ウェイトを指令するデータ(可変ウェイトコード)であるとステップD605で可変ウェイト処理(後述する)を実行した後にステップD621に進み、可変ウェイトを指令するデータでない場合にはステップD594に進む。
ステップD594に進むと、準備したオペコード上位データを判定し、PB待ちを指令するデータ(PB待ちコード)であるとステップD606でPB待ち処理(後述する)を実行した後にステップD621に進み、PB待ちを指令するデータでない場合にはステップD595に進む。
ステップD595に進むと、準備したオペコード上位データを判定し、PB判定分岐を指令するデータ(PB判定分岐コード)であるとステップD607でPB判定分岐処理(後述する)を実行した後にステップD621に進み、PB判定分岐を指令するデータでない場合にはステップD596に進む。
ステップD596に進むと、準備したオペコード上位データを判定し、図柄停止を指令するデータ(停止図柄setコード)であるとステップD608で図柄停止処理を実行した後にステップD621に進み、図柄停止を指令するデータでない場合にはステップD597に進む。
ステップD597に進むと、準備したオペコード上位データを判定し、図柄逆算差替を指令するデータ(図柄逆算差替コード)であるとステップD609で図柄逆算差替処理(後述する)を実行した後にステップD621に進み、図柄逆算差替を指令するデータでない場合にはステップD598に進む。
ステップD598に進むと、準備したオペコード上位データを判定し、変動シナリオ切替を指令するデータ(変動シナリオ切替コード)であるとステップD610で変動シナリオ切替処理を実行した後にステップD621に進み、変動シナリオ切替を指令するデータでない場合にはステップD599に進む。
ステップD599に進むと、準備したオペコード上位データを判定し、繰り返しを指令するデータ(繰返しコード)であるとステップD611で繰り返し処理を実行した後にステップD621に進み、繰り返しを指令するデータでない場合にはステップD600に進む。
ステップD600に進むと、準備したオペコード上位データを判定し、終了を指令するデータ(終了コード)であるとステップD612で終了処理を実行した後にステップD621に進み、終了を指令するデータでない場合には図示省略した他のステップに進む。なお、図示省略した他のステップ(図131において波線で示した箇所にあるステップ)は、上述したステップD589乃至D612と同様に、準備したオペコード上位データの内容を判定し、その判定結果が他の種類のデータ(コード)である場合に対応する処理を実行してステップD621に進むというもので、準備したオペコード上位データが何れの種類のデータ(コード)にも該当しない場合にはリターンする構成となっている。
次にステップD621に進むと、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、この時点で設定されているデータを読み取り、このデータがNULLか判定し、NULLならばステップD622でbrkの値を1に設定してステップD623に進み、NULLでなければステップD622を実行しないでステップD623に進む。
そしてステップD623に進むと、前述したようにその時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返し、brkの値が0でない場合には本ルーチンを終了してリターンする。
このため、上記ステップD601乃至D612等の何れかの処理において、brkの値が0でない値に設定されるか、或いは、対象のシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLが設定されると、ステップD584とD623をループ端とするループ処理を終了してリターンすることになる。そして、このようにして当該ループ処理を終了するまでは、シナリオ管理領域におけるシナリオ用データテーブル領域のアドレス(シナリオテーブルとその行を指定するアドレス)が適宜変更されて上記ループ処理が繰り返されて一連の演出の制御が実行される。
なお、上記のサブルーチン群(ステップD601乃至D612)は一例であり、機種の仕様次第で変わる。
〔モーション登録処理〕
次に、上述のシナリオ解析処理におけるステップD601で実行されるモーション登録処理の詳細について図132により説明する。
このルーチンが開始されると、まずステップD631、D632を順次実行した後にステップD633に進む。
ステップD631では、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。これは、前述のステップD585が次回実行されるときの指定行を次の行に進めておくための更新処理であり、この更新処理が行われることによって対象のシナリオテーブルの指定行が次の行に切り替えられて前述のループ処理(ステップD584〜D623)が繰り返されることになる。
ステップD632では、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備する。本例の場合、演出制御装置300のRAM311aには、「モーション管理領域のアドレス領域」と「モーション管理領域」というモーション管理用の記憶領域が設けられる構成となっている。このうち、モーション管理領域は、表示制御する(画面上に表示しているとは限らない)オブジェクトの数(最大数)である表示数(例えば左図柄の場合、次図柄、現図柄、前図柄の3個)を記憶する領域(表示数の領域)と、何フレームまで処理が進んだかを示すフレーム番号を記憶する領域(フレーム番号の領域)と、モーションテーブルの何行目まで処理が進んだかを示すコマンド位置を記憶する領域(コマンド位置の領域)と、複数あるモーション用リストテーブルの中でどのテーブルを使用するかを示すアドレスのデータ(モーションインデックスに対応)を記憶する領域(モーション用リストテーブル領域)と、表示数分の表示情報領域とを含む構造である。
また、同一構造のモーション管理領域がモーションのレイヤー(本例では、モーション0〜13まである)に対応してこのモーションのレイヤー分存在し、本例ではモーションのレイヤーが14個あるので、このモーション管理領域も14個(モーション管理領域0〜13)存在する。さらに、このモーション管理領域に対応して、モーション管理領域のアドレス領域も本例では14個(モーション0用アドレス〜モーション13用アドレス)ある。そして、上記ステップD632では、このように複数あるモーション管理領域のうちの一つを特定するために、オペコード下位ビットのデータが指定するモーションのレイヤー番号に対応するモーション管理領域(以下、対応モーション管理領域という)の先頭アドレスを、対応するモーション管理領域のアドレス領域から読み出して準備する。なお本願では、モーションのレイヤー番号(本例では、0〜13)を、モーション番号と簡略化して表記したり、モーション管理領域X(Xはモーション番号に対応する番号)というように使用したりする場合がある。
なお、モーション管理領域内の表示情報領域は、表示数(オブジェクトの数)分だけ複数あり、各表示情報領域がそれぞれ、表示種別、エフェクトタイプ、エフェクトパラメータ、表示左上点のX座標、表示左上点のY座標、表示右上点のX座標、表示右上点のY座標、表示左下点のX座標、表示左下点のY座標、画像インデックス、バックグラウンドカラー、フォアグラウンドカラー、IPicture(Iピクチャ)のみの動画時のフレームカウント、及びビヘイビアインデックスの各データを記憶する領域を含んでいる。
ここで、表示種別は、当該オブジェクトの種別(静止画か動画(ムービー)かを示す情報の他、ムービーの種類(Iピクチャか否かなど)を示す情報を含む)である。エフェクトタイプは、画像に加えるエフェクト(透過性を持たせるなどの加工処理)の種類を示す情報である。エフェクトパラメータは、前記エフェクトのパラメータ(透過性を持たせる場合の透過度など)である。X座標及びY座標は、画像の表示位置を特定するデータであり、本例ではポリゴン表示機能(立体を多面体として表示する機能)のために、表示左上点、表示右上点、表示左下点の3点の座標がある。画像インデックスは、静止画又はムービーを特定する番号である。IPictureのみの動画時のフレームカウントとは、何フレーム目のデータがIPicture(即ちIフレーム)かを示すデータである。ビヘイビアインデックスは、ビヘイビア(図柄差替え)のためのインデックスである。なお、ビヘイビア(図柄差替え)とは、同じ大きさ同じ表示位置でキャラクタ(静止画或いは動画)のみを差し替えるもので、前述のステップD385乃至D390で説明したカットインキャラ差替えなどとは異なる。前述のカットインキャラ差替えは、キャラクタを表示する大きさや表示位置も差替えにより変化し得る。
次に、ステップD633に進むと、ステップD632でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD635に進み、NULLでなければステップD634でモーションデータ初期化処理1(後述する)を実行した後にステップD635に進む。
ステップD635に進むと、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域の先頭アドレスを設定して準備し、ステップD636に進む。
ステップD636に進むと、前記オペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域にステップD635で準備した先頭アドレスを設定し、ステップD637に進む。
これらステップD632乃至D636では、何れにせよ最終的には、ステップD636において、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域の先頭アドレスを対応するモーション管理領域のアドレス領域に設定するのであるが、対応するモーション管理領域のアドレス領域にNULL以外のアドレスのデータが既に設定されていた場合には、動画展開に使っていた展開領域の開放設定等を行うモーションデータ初期化処理1(後述する)が必要になるので、これをステップD634で実行している。
次に、ステップD637に進むと、ステップD588で準備したオペランドのデータが0以上か判定し、0以上ならばステップD638乃至D640を順次実行した後にリターンし、0未満(即ち、マイナスの値)ならばステップD641乃至D643を順次実行した後にリターンする。
ステップD638では、前記オペランドのデータ(ステップD588で準備したオペランドのデータ、以下同様)を、モーションインデックスとして準備する。
ステップD639では、オペコード下位に対応する使用中モーションインデックスを記憶する領域(以下、使用中モーションインデックス領域という)に、ステップD638で準備したデータを設定する。なお、使用中モーションインデックス領域は、モーション用リストテーブルにおける制御対象の行を指定するモーションインデックス(使用中モーションインデックス)のデータを、モーション番号毎に記憶する領域であり、モーション番号毎に設けられている。このステップD639では、ステップD587で分離されたオペコードの下位ビットで特定されるモーション番号に対応する使用中モーションインデックス領域に、ステップD638で準備したデータを設定する(即ち保存する)。
ステップD640では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
一方、ステップD641では、オペコード下位に対応するモーションインデックスのデータを、対応するモーションインデックス領域からロードし、準備する。なお、モーションインデックス領域には、前述のステップD291乃至D294で説明した記憶領域(保留用インデックス領域、第4図柄インデックス領域)や、前述のステップD386、D388、D390で説明した記憶領域(SU1カットイン領域、SU2カットイン領域、SU3カットイン領域)がある。このステップD641では、このように複数あるRAM内のモーションインデックス領域のうち、ステップD587で分離されたオペコードの下位ビットと現時点の遊技機の状態(確変中か否かなど)で特定されるモーションインデックス領域からモーションインデックスのデータを取り出して準備する。
次にステップD642では、オペコード下位に対応する使用中モーションインデックス領域に、ステップD641で準備したデータを設定する。
そしてステップD643では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
以上説明したステップD637乃至D643のうち、ステップD637の判定結果がYES(オペランドが0以上)となってステップD638乃至D640を実行するルートと、ステップD637の判定結果がNO(オペランドが0未満)となってステップD6412乃至D643を実行するルートとは、以下のように異なる。即ち、前者のルートは、ROMに保存されたシナリオテーブルに設定されたモーションインデックスの値(固定値)を制御に使用するルートであり、後者のルートは、RAM内のモーションインデックス領域に保存されたモーションインデックスの値(固定値でない)を制御に使用するルートである。遊技機の状態(確変中か否かなど)に応じて使用するモーションインデックスを変えたい場合に、前記オペランドの値としてマイナスの値(例えば「−1」)が設定されていて後者のルートが実行される構成となっている。
〔モーションデータ初期化処理1〕
次に、前述のモーション登録処理におけるステップD634(或いは後述するステップD674等)で実行されるモーションデータ初期化処理1の詳細について図133左側により説明する。なお、演出制御装置300の制御処理の説明においてモーション制御データとは、モーション管理領域に保存される表示数、フレーム番号等のデータである。
このルーチンが開始されると、まず、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップD651乃至ステップD655を繰り返し実行し、その後ステップD656に進む。即ち、ステップD651ではルーチン開始直後は変数iを0としてステップD652に進む。ステップD655では、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。そしてステップD651に戻ると、変数iの値を1だけ増加させてステップD652に進む。なお、終値の値は、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域(以下、対象のモーション管理領域という)に設定されている表示数のデータから1を減算した値である。即ち、このルーチンでは、この表示数分だけステップD651乃至D655のループ処理を繰り返し実行し、その後ステップD656に進む。
ステップD652に進むと、対象のモーション管理領域における変数iに対応する表示情報領域のアドレスを設定し、その後ステップD653に進む。このステップD652では、例えば変数i=0ならば、対象のモーション管理領域において、表示数分だけ複数存在する表示情報領域のうちの最初の表示情報領域のアドレスを設定する。
ステップD653に進むと、直前のステップD652でアドレスが設定された表示情報領域における表示種別のデータを読み取り、この表示種別が動画か否か判定する。そして、表示種別が動画であればステップD654でその展開領域(圧縮された動画データの展開に使用していた領域)の解放設定を行った後にステップD655に進み、動画でなければステップD654を実行しないでステップD655に進む。ステップD655に進むと、前述したように、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。
次に、ステップD656に進むと、ステップD656乃至D658で対象のモーション管理領域のパラメータを初期化する処理を行い、その後リターンする。即ち、ステップD656では表示数を0に設定し、ステップD657ではフレーム番号を−1に設定し、ステップD658ではコマンド位置を0に設定する。
〔モーションデータ初期化処理2〕
次に、前述のモーション登録処理におけるステップD640、D643(或いは後述するステップD689等)で実行されるモーションデータ初期化処理2の詳細について図133右側により説明する。
このルーチンが開始されると、まずステップD661乃至D663で対象のモーション管理領域のパラメータを初期化する処理を行い、その後ステップD664に進む。即ち、ステップD661では表示数を0に設定し、ステップD662ではフレーム番号を−1に設定し、ステップD663ではコマンド位置を0に設定する。
そしてステップD664に進むと、対象のモーション管理領域におけるモーション用リストテーブル領域に、使用中モーションインデックス(前記ステップD642で設定したデータ)に対応するアドレス(モーション用リストテーブルとその行を指定するアドレス)を設定し、その後リターンする。
〔モーション削除処理〕
次に、前述のシナリオ解析処理におけるステップD602で実行されるモーション削除処理の詳細について図134左側により説明する。
このルーチンが開始されると、まずステップD671、D672を順次実行した後にステップD673に進む。
ステップD671では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD672では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD673に進む。
次に、ステップD673に進むと、ステップD672でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD675に進み、NULLでなければステップD674で前記モーションデータ初期化処理1を実行した後にステップD675に進む。
ステップD675に進むと、対象のモーション管理領域のアドレス領域にNULLを設定し、ステップD676に進む。
ステップD676に進むと、前記オペコード(ステップD587で分離されたオペコード、以下同様)の下位ビットのデータに対応する使用中モーションインデックスのデータをクリアし、その後リターンする。
以上説明したモーション削除処理は、キャラクタ等の制御を終了する時に実行されて、これにより、モーション情報(モーション管理領域のアドレス領域のデータや、使用中モーションインデックス領域のデータ)が削除される。
〔モーション継続処理〕
次に、前述のシナリオ解析処理におけるステップD603で実行されるモーション継続処理の詳細について図134右側により説明する。
このルーチンが開始されると、まずステップD681、D682を順次実行した後にステップD683に進む。
ステップD681では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD682では、前記オペコードの下位ビットに対応する使用中モーションインデックスのデータをロードする。
ステップD683に進むと、ステップD682でロードした使用中モーションインデックスのデータが、ステップD588で取得したオペランドと一致するか判定し、一致する場合にはリターンし、一致しない場合にはステップD684以降を実行する。ここでは、現在制御中のモーションと、シナリオテーブルで指定されたモーションとが同一か判定し、同一であれば現在制御中のモーションをそのまま継続すべきであるので何も処理することなくリターンし、同一でなければ新たなモーション登録を行うべくステップD684以降を実行する構成となっている。
そして、ステップD684以降では、前述したモーション登録処理(シナリオテーブルの値を使用するルート)と同様の処理を行っている。
即ち、ステップD684では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD685に進む。
次に、ステップD685に進むと、ステップD684でロードしたモーション管理領域のアドレスがNULLか判定し、NULLならばステップD687に進み、NULLでなければステップD686で前記モーションデータ初期化処理1を実行した後にステップD687に進む。
ステップD687に進むと、対象のモーション管理領域の先頭アドレスを設定して準備し、ステップD688に進む。
ステップD688に進むと、対象のモーション管理領域のアドレス領域にステップD687で準備した先頭アドレスを設定し、ステップD689に進む。
ステップD689に進むと、モーションデータ初期化処理(前述のモーションデータ初期化処理2)を実行する。
ステップD690では、前記オペコードの下位ビットに対応する使用中モーションインデックス領域に、前記オペランドのデータを設定し、その後リターンする。
以上説明したモーション継続処理では、シナリオテーブルで指定されたモーション情報が現在制御している内容と同じならそのまま継続、違うなら新たに登録する処理が実行される。これにより、例えば、通常変動中の背景はリーチ等で背景変化しなければ複数の変動にまたがってムービーが継続されるが、リーチが発生したりすると頭からの新規再生となる。
〔定数ウェイト処理〕
次に、前述のシナリオ解析処理におけるステップD604で実行される定数ウェイト処理の詳細について図135上側により説明する。
このルーチンが開始されると、まずステップD691で、前記ステップD631と同様の更新処理を実行する。
次にステップD692で、対象のシナリオ管理領域のシナリオ用タイマ領域に、前記オペランドのデータを設定する。
次いでステップD693で、brkの値を1に設定してリターンする。
本ルーチンによれば、指定された固定時間だけ待つ場合の時間値等が設定される。例えば、図177に示すシナリオテーブルおける20行目(//19)の場合、オペコードが定数ウェイトコードであるため本ルーチンが実行され、オペランドのウェイト時間が(300)であるため、上記ステップD692でシナリオ用タイマ領域の値として300(10秒=300×1/30)が設定される。そして、上記ステップD693でbrkの値が1になるので、前述したシナリオ解析処理におけるループ処理(ステップD584からD623)の繰り返しが終了する。
〔可変ウェイト処理〕
次に、前述のシナリオ解析処理におけるステップD605で実行される可変ウェイト処理の詳細について図135下側により説明する。
このルーチンが開始されると、まずステップD695で、前記ステップD631と同様の更新処理を実行する。
次にステップD696で、前記オペランドのデータにPB演出加算時間(ステップD579で設定された値)を加えた値を、対象のシナリオ管理領域のシナリオ用タイマ領域に設定する。
次いでステップD697で、brkの値を1に設定してリターンする。
本ルーチンでは、遊技者のボタン操作(PB操作)により演出時間が変化する場合に可変時間ウェイトするための時間値等を設定する。これにより、ボタン指示があってから早く押す程その後行われる演出が長くなり、有効時間ギリギリで押すと短時間しか演出が行われないという動作が実現される。例えば、図176上側に示すシナリオテーブルおける11行目(//10)の場合、オペコードが可変ウェイトコードであるため本ルーチンが実行され、オペランドの有効時間値が(55)であるため、上記ステップD696でシナリオ用タイマ領域の値として55+PB演出加算時間が設定される。ここで、PB演出加算時間は、PB操作を遊技者に促す演出が行われてから遊技者が早くPB操作すればする程、大きな値となる(前記ステップD579参照)。そのため、遊技者が早くPB操作すればする程、その後行われる演出が長くなる。
〔PB待ち処理〕
次に、前述のシナリオ解析処理におけるステップD606で実行されるPB待ち処理の詳細について図136上側により説明する。
このルーチンが開始されると、まずステップD701で、前記ステップD631と同様の更新処理を実行する。
次にステップD702で、前記オペランドのデータを、対象のシナリオ管理領域のPB用タイマ領域に設定する。
次にステップD703で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグをクリアする。
次いでステップD704で、brkの値を1に設定してリターンする。
本ルーチンでは、プッシュボタン演出を開始する時の設定が行われる。例えば、図176上側に示すシナリオテーブルの場合、まず1行目(//0)でモーション9のモーション削除処理が実行され、次いで2行目(//1)でモーション8のモーション登録処理(図165に示すプッシュボタンON/OFF演出のモーションテーブル「MDat0070」に対応するモーションインデックス「70」の設定)が実行された後、次の3行目(//2)のオペコードがPB待ちコードであるため本ルーチンが実行され、オペランドの有効時間値が(90)であるため、上記ステップD702でタイマ領域の値として90が設定され、3秒(=90×1/30)のプッシュボタン演出が開始される。なお、上記ステップD703では、プッシュボタン演出を開始するため、PB(プッシュボタン)が操作されたことを示すPB検知フラグの値をオフ(フラグが立っていない状態)に初期設定している。
〔PB判定分岐処理〕
次に、前述のシナリオ解析処理におけるステップD607で実行されるPB判定分岐処理の詳細について図136下側により説明する。
このルーチンが開始されると、まずステップD711で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグがセットされているか(即ち、PB検知フラグが立てられているか)判定し、セットされている場合にはステップD713に進み、セットされていない場合(PB検知フラグがオフの場合)にはステップD712に進む。
ステップD712に進むと、前記ステップD631と同様の更新処理を実行してリターンする。
ステップD713に進むと、前記ステップD631と同様の更新処理を実行してステップD714に進む。
ステップD714に進むと、ステップD588で準備したオペランドのデータ分だけステップD713のアドレス更新処理を実行完了したか判定し、完了していればリターンし、完了していなければステップD713に戻って処理を繰り返す。
本ルーチンは、前述のプッシュボタン演出においてプッシュボタンが押されないまま有効時間を計時するPB用タイマがタイムアップしたか、有効時間内にPBが押されてタイマが強制的に0になった時に実行される処理である。そして、PBが押されないままタイムアップした場合には、ステップD711を経てステップD712に進み、シナリオテーブルの指定行が1行分だけ次に進んでリターンする。また、有効時間内にPBが押された場合には、ステップD711を経てステップD713に進み、オペランドで指定された分だけシナリオテーブルの指定行がジャンプする。
例えば、図176上側に示すシナリオテーブルの場合、前述したように3行目までの制御が終了すると、次の4行目(//3)のオペコードがPB判定分岐コードであるため本ルーチンが実行され、オペランドのテーブル飛び数が(3)であるため、PBが有効時間内に押されていてステップD713に進めば、ステップD713が3回実行されるまでステップD714の判定結果はNOとなり、この結果、前記シナリオテーブルにおいて次の指定行は7行目(//6)に飛ぶことになる。そして、7行目に飛ぶと、7行目以降の演出(図176上側の場合、モーション8として表示画面に武将のキャラクタが登場してセリフの音声を出力する演出)が開始される。一方、上述したように本ルーチンが実行された場合でも、PBが有効時間内に押されていなければ、ステップD712が1回実行されるだけでリターンする(本ルーチンが終了する)ので、図176上側における指定行は次の5行目(//4)になり、この5行目によってモーション8のモーション削除処理が実行され、次いで6行目によって後述する終了処理が実行されて、前述したプッシュボタン演出が単に終了する(武将のキャラクタは登場しない)。
〔図柄停止処理〕
次に、前述のシナリオ解析処理におけるステップD608で実行される図柄停止処理の詳細について図137により説明する。
このルーチンが開始されると、まずステップD721で、前記ステップD631と同様の更新処理を実行した後、ステップD722に進む。
ステップD722に進むと、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD727を実行した後にリターンし、左図柄でなければステップD723に進む。ステップD727では、特図停止図柄領域(左)の値(前述のステップD354で設定された値)を現図柄(左)として設定する。
ステップD723に進むと、前記オペコードの下位ビットのデータが右図柄を指定するものか判定し、右図柄であればステップD728を実行した後にリターンし、右図柄でなければステップD724に進む。ステップD728では、特図停止図柄領域(右)の値(前述のステップD354で設定された値)を現図柄(右)として設定する。
ステップD724に進むと、前記オペコードの下位ビットのデータが中図柄を指定するものか判定し、中図柄であればステップD729を実行した後にリターンし、中図柄でなければステップD725に進む。ステップD729では、特図停止図柄領域(中)の値(前述のステップD354で設定された値)を現図柄(中)として設定する。
ステップD725に進むと、前記オペコードの下位ビットのデータが特図1第4図柄(特図1の第4図柄)を指定するものか判定し、特図1第4図柄であればステップD730を実行した後にリターンし、特図1第4図柄でなければステップD726に進む。ステップD730では、特図停止図柄領域(特図1第4図柄)の値を現図柄(特図1第4図柄)として設定する。
ステップD726に進むと、前記オペコードの下位ビットのデータが特図2第4図柄(特図2の第4図柄)を指定するものか判定し、特図2第4図柄図柄であればステップD731を実行した後にリターンし、特図2第4図柄図柄でなければリターンする。ステップD731では、特図停止図柄領域(特図2第4図柄)の値を現図柄(特図2第4図柄)として設定する。
本ルーチンは、飾り特図等の図柄の変動表示を停止する時に、その停止図柄を設定する処理である。例えば、図169に示すMS_LZ100というシナリオテーブルにおける6行目が指定行である場合、オペコードが停止図柄setコード(左図柄)であるため、本ルーチンが実行されて上記ステップD722の判定結果がYESとなり、上記ステップD727が実行されて特図の左図柄の停止図柄が設定される。
〔図柄逆算差替処理〕
次に、前述のシナリオ解析処理におけるステップD609で実行される図柄逆算差替処理の詳細について図138により説明する。
このルーチンが開始されると、まずステップD741で、前記ステップD631と同様の更新処理を実行する。
次にステップD742で、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD743、D744を実行した後にステップD745に進み、左図柄でなければステップD748に進む。
ステップD743では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
ステップD744では、特図停止図柄領域(左)の値からコマ差異(ステップD743で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD745に進むと、ステップD744で設定した図柄番号が0未満(マイナスの値)か判定し、0未満ならばステップD746を実行した後にステップD747を実行してリターンし、0未満でない場合にはステップD746を実行しないでステップD747を実行した後にリターンする。
ステップD746では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD747では、図柄番号の値(ステップD744で設定され、マイナスの場合にはステップD746で調整された値)を現図柄(左)として設定する。
次にステップD748に進むと、前記オペコードの下位ビットのデータが右図柄を指定するものか判定し、右図柄であればステップD749、D750を実行した後にステップD751に進み、右図柄でなければステップD754に進む。
ステップD749では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
ステップD750では、特図停止図柄領域(右)の値からコマ差異(ステップD749で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD751に進むと、ステップD750で設定した図柄番号が0未満か判定し、0未満ならばステップD752を実行した後にステップD753を実行してリターンし、0未満でない場合にはステップD752を実行しないでステップD753を実行した後にリターンする。
ステップD752では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD753では、図柄番号の値(ステップD750で設定され、マイナスの場合にはステップD752で調整された値)を現図柄(右)として設定する。
次にステップD754に進むと、前記オペコードの下位ビットのデータが中図柄を指定するものか判定し、中図柄であればステップD755、D756を実行した後にステップD757に進み、中図柄でなければリターンする。
ステップD755では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
ステップD756では、特図停止図柄領域(中)の値からコマ差異(ステップD755で設定した値)を減算した結果を図柄番号として設定する。
そして、ステップD757に進むと、ステップD756で設定した図柄番号が0未満か判定し、0未満ならばステップD758を実行した後にステップD759を実行してリターンし、0未満でない場合にはステップD758を実行しないでステップD759を実行した後にリターンする。
ステップD758では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD759では、図柄番号の値(ステップD756で設定され、マイナスの場合にはステップD758で修正された値)を現図柄(中)として設定する。
以上説明した図柄逆算差替処理は、高速変動終了後のスローダウンになる瞬間など、図柄を停止予定の数コマ前の図柄(図柄送り数分だけ前の図柄)に差し替える処理である。
例えば、図169に示すMS_LZ100というシナリオテーブルにおける3行目が指定行である場合、オペコードが左図柄逆算差替コードであるため、本ルーチンが実行されて上記ステップD742の判定結果がYESとなり、上記ステップD743乃至D747が実行されて現図柄(左)が設定される。この場合、オペランドは図柄送り数を意味するデータであり、上記MS_LZ100の3行目ではオペランドが送りコマ数(2)であるので、上記ステップD743では、2÷9という割算の余りである2がコマ差異として設定され、このコマ差異の値を使用して上記ステップD744で図柄番号が設定される。例えば、特図停止図柄領域(左)の値が1ならば、−1(=1−2)が図柄番号として設定され、特図停止図柄領域(左)の値が7ならば、5(=7−2)が図柄番号として設定される。そして、このステップD744で設定された図柄番号がマイナスの値(例えば−1)であると、ステップD746が実行されて図柄番号が一巡した値に変更され(例えば、−1ならば8=−1+9に変更され)、その後ステップD747で図柄番号が現図柄(左)として登録される。
なお以上の動作は、右図柄の場合(ステップD748乃至D753)や中図柄の場合(ステップD754乃至D759)も同様である。また、ステップD743等における「9」は各リール(左図柄、中図柄、右図柄)における図柄数を表す。これは、機種によって9ではない場合もあるし、更にリール毎に違う値の場合もある。前述した「停止図柄設定処理」のステップD335等にある「9」も同様に図柄数を表す。
〔変動シナリオ切替処理〕
次に、前述のシナリオ解析処理におけるステップD610で実行される変動シナリオ切替処理の詳細について図139により説明する。
このルーチンが開始されると、まずステップD761で、前記オペランドのデータが左図柄シナリオ2nd(左図柄の変動表示の2nd(前半)への切替を指令するもの)であるか判定し、左図柄シナリオ2ndであればステップD762乃至765を順次実行した後にリターンし、左図柄シナリオ2ndでない場合にはステップD767に進む。
ステップD762では、左図柄なのでシナリオレイヤー番号1を準備する。
ステップD763では、図柄変動シナリオテーブル領域から左図柄シナリオ2ndテーブル(左図柄用で2nd(前半)用のシナリオテーブル)のアドレスをロードして準備する。なお、図柄変動シナリオテーブル領域には、前述のステップD315で説明したように、各種の図柄変動のシナリオテーブル(1st(序盤)用、2nd(前半)用、3rd(後半)用のシナリオテーブルが、左図柄と右図柄と中図柄についてそれぞれ存在する)のアドレスが保存されており、このステップD763では左図柄用で2nd(前半)用のシナリオテーブルのアドレスが準備される。
ステップD764では、直前のステップD762、D763で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD765では、準備したシナリオ管理領域のアドレス領域(例えば前記ステップD553等で準備されたシナリオ管理領域のアドレス領域)にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
次に、ステップD767に進むと、前記オペランドのデータが右図柄シナリオ2nd(右図柄の変動表示の2ndへの切替を指令するもの)であるか判定し、右図柄シナリオ2ndであればステップD768乃至771を順次実行した後にリターンし、右図柄シナリオ2ndでない場合にはステップD772に進む。
ステップD768では、右図柄なのでシナリオレイヤー番号2を準備する。
ステップD769では、図柄変動シナリオテーブル領域から右図柄シナリオ2ndテーブル(右図柄用で2nd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD770では、直前のステップD768、D769で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD771では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
次に、ステップD772に進むと、前記オペランドのデータが中図柄シナリオ2nd(中図柄の変動表示の2ndへの切替を指令するもの)であるか判定し、中図柄シナリオ2ndであればステップD773乃至776を順次実行した後にリターンし、中図柄シナリオ2ndでない場合にはステップD777に進む。
ステップD773では、中図柄なのでシナリオレイヤー番号3を準備する。
ステップD774では、図柄変動シナリオテーブル領域から中図柄シナリオ2ndテーブル(中図柄用で2nd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD775では、直前のステップD773、D774で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD776では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
次に、ステップD777に進むと、前記オペランドのデータが左図柄シナリオ3rd(左図柄の変動表示の3rd(後半)への切替を指令するもの)であるか判定し、左図柄シナリオ3rdであればステップD778乃至781を順次実行した後にリターンし、左図柄シナリオ3rdでない場合にはステップD782に進む。
ステップD778では、左図柄なのでシナリオレイヤー番号1を準備する。
ステップD779では、図柄変動シナリオテーブル領域から左図柄シナリオ3rdテーブル(左図柄用で3rd(後半)用のシナリオテーブル)のアドレスをロードして準備する。
ステップD780では、直前のステップD778、D779で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD781では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
次に、ステップD782に進むと、前記オペランドのデータが右図柄シナリオ3rd(右図柄の変動表示の3rdへの切替を指令するもの)であるか判定し、右図柄シナリオ3rdであればステップD783乃至786を順次実行した後にリターンし、右図柄シナリオ3rdでない場合にはステップD787に進む。
ステップD783では、右図柄なのでシナリオレイヤー番号2を準備する。
ステップD784では、図柄変動シナリオテーブル領域から右図柄シナリオ3rdテーブル(右図柄用で3rd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD785では、直前のステップD783、D784で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD786では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
次に、ステップD787に進むと、前記オペランドのデータが中図柄シナリオ3rd(中図柄の変動表示の3rdへの切替を指令するもの)であるか判定し、中図柄シナリオ3rdであればステップD788乃至791を順次実行した後にリターンし、中図柄シナリオ3rdでない場合にはリターンする。
ステップD788では、中図柄なのでシナリオレイヤー番号3を準備する。
ステップD789では、図柄変動シナリオテーブル領域から中図柄シナリオ3rdテーブル(中図柄用で3rd用のシナリオテーブル)のアドレスをロードして準備する。
ステップD790では、直前のステップD788、D789で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD791では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
以上説明した変動シナリオ切替処理によれば、前述した図柄変動の区間のシナリオの切り替え、即ち、1st(序盤)から2nd(前半)へ、或いは2nd(前半)から3rd(後半)へのシナリオの切り替えが行われる。つまり、飾り特図の変動表示演出は、一つの変動が通常「序盤、前半、後半」と3区間に分けられており、本ルーチンによって各区間のシナリオが切り替えられて繋がれてゆく。例えば、図169に示すMS_LZ100というシナリオテーブルにおける最終行の9行目(//8)が指定行である場合、オペコードが変動シナリオ切替コードであり、オペランドが左図柄シナリオ2ndであるため、本ルーチンが実行されて上記ステップD761の判定結果がYESとなり、上記ステップD762乃至D765が実行されて、左図柄用で2nd(前半)用の新たなシナリオテーブル(例えば図169に示すMS_LZ300)が制御対象のシナリオテーブルとして設定され、このシナリオテーブルを実行する設定が行われることになる。
なお、変動の種類によっては、「序盤、前半、後半」の区切りの時間値は異なる。また、3rd(後半)のない変動もある(リーチなし変動など)。
〔繰り返し処理〕
次に、前述のシナリオ解析処理におけるステップD611で実行される繰り返し処理の詳細について図140上側により説明する。
このルーチンが開始されると、まずステップD795で、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを前レコード(シナリオテーブルの一つ前の行を指定するアドレス)に戻す。
次にステップD796で、ステップD588で取得されたオペランド分だけステップD795を実行して前記テーブルアドレスを前レコードに戻したか判定し、前記オペランド分戻していればリターンし、前記オペランド分戻していない場合にはステップD795に戻って処理を繰り返す。
以上説明した繰り返し処理は、シナリオテーブルの所定の段に戻って同一シナリオ内の動作を繰り返す場合に使われる。例えば、図177に示すシナリオテーブルにおける最終行の52行目(//51)が指定行である場合、オペコードが繰返しコードであり、オペランドが戻り数(22)であるため、本ルーチンが実行されて上記ステップD795が22回実行されると上記ステップD796の判定結果がYESとなって本ルーチンが終了し、これにより上記シナリオテーブルの指定行は22行分前の30行目(//29)に戻る。図177に示すシナリオテーブルの30行目は、客待ちデモ演出のムービーを開始する行(オペコードがモーション0登録コードで、オペランドがモーションインデックスNo.(13))であり、この客待ちデモ演出のムービーに続いて客待ちデモ演出の図柄表示が行われるテーブル構成となっている。このため、その後は、客待ちデモ演出としてのムービー表示と図柄表示が繰り返されることになり、1ループ分のデータ(図177に示すシナリオテーブルの30行目から最終行までのデータ)を用意すれば済むことになる。
〔終了処理〕
次に、前述のシナリオ解析処理におけるステップD612で実行される終了処理の詳細について図140下側により説明する。
このルーチンが開始されると、ステップD798で、準備したシナリオ管理領域のアドレス領域にNULLを設定してリターンする。これにより、対象のシナリオ管理領域の設定が無くなり、シナリオ終了となる。
例えば、図176上側に示すシナリオテーブルの最終行の15行目(//14)が指定行の場合、オペコードが終了コードであるため、本ルーチンが実行されて上記ステップD798で対象のシナリオ管理領域のアドレス領域がNULLとされて、シナリオ終了となる。このように本ルーチンは、一連のシナリオが全て完了したときに実行される。
〔モーション制御処理〕
次に、前述のメイン処理におけるステップD30で実行されるモーション制御処理の詳細について図141により説明する。
このルーチンが開始されると、対象のモーション管理領域の番号Xを0から増やしつつステップD801乃至D818のループ処理を繰り返し実行し、このループ処理の終了条件(全てのモーション管理領域0〜13に対する制御が終了)が成立するとリターンする。即ち、本ルーチン開始時点では、まずステップD801で対象のモーション管理領域の番号を0(X=0)としてステップD802に進んでステップD802以降の処理を実行するが、ステップD817に進むと対象のモーション管理領域の番号を1だけ増やして(即ち、X=X+1として)ステップD818で上記終了条件(X=14)が成立したか判定し、成立していればリターンし、成立していなければステップD801に戻ってステップD802に進む構成となっている。
以下、ステップD802以降を、対象のモーション管理領域の番号がX(実際には本例の場合、0〜13のうちの何れか)であるとして説明する。
ステップD802に進むと、本ルーチンで使用する初期化フラグをクリアし、次のステップD803でモーション管理領域Xのアドレス領域からモーション管理領域Xのアドレスをロードし、その後ステップD804に進む。
ステップD804に進むと、ステップD803でロードしたアドレスのデータがNULLか判定し、NULLならば当該モーションX(当該モーション管理領域Xに対応するモーションのレイヤー)については制御不要なのでステップD817に進み、NULLでない場合にはステップD805に進む。
ステップD805では、ステップD804でロードしたアドレスに基づいてモーション管理領域Xにおけるモーション用リストテーブル領域のデータ(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードして準備し、ステップD806に進む。
ステップD806に進むと、ステップD805でロードしたデータにより指定されるモーション用リストテーブルの行(以下、指定行という)における表示フレーム数のデータを読み取り、この表示フレーム数(あるモーションを実行するフレーム数のこと)が0以下ならば異常であるのステップD817に進み、0以下でない場合には正常であるとしてステップD807に進む。なお、例えば図165に示すモーション用リストテーブルにおける1行目が指定行であるとすると、フレーム数(表示フレーム数)は「1」であるので、ステップD806の判定結果はNOになってステップD807に進む。また、例えば同リストテーブルにおける4行目が指定行であるとすると、フレーム数(表示フレーム数)は「216」であるので、ステップD806の判定結果はやはりNOになってステップD807に進む。このように、モーション毎に実行する期間は異なるので、モーション用リストテーブル上に各々対応する表示フレーム数が定義されていて、最低1フレームは表示フレーム数が定義されているはずであり、この表示フレーム数のモーション用リストテーブル上の定義値が0以下になっているようなら異常である。
ステップD807に進むと、モーション管理領域Xにおけるフレーム番号の値を読み取り、このフレーム番号の値が0未満か判定し、0未満であればモーションが新たに登録されたとき(モーション登録時)であるとしてステップD808(初期化フラグのセット)を実行した後にステップD809に進み、0未満でない場合にはモーション登録時でないとしてステップD808を実行しないでステップD809に進む。なおフレーム番号は、モーション登録時に、前述したモーションデータ初期化処理1,2におけるステップD657、D662で「−1」に設定されているため、モーション登録時ならばステップD808で初期化フラグがセットされる。なお、この初期化フラグは、前述のステップD802でクリアされ、後述のステップD812で判定されるフラグである。
ステップD809に進むと、モーション管理領域Xにおけるフレーム番号の値が最終フレーム数(即ち、前述の表示フレーム数から1を減算した値)以上に到達したか判定し、最終フレーム数未満ならばステップD812に進み、最終フレーム数以上であればステップD810、D811を順次実行した後にステップD812に進む。
ステップD810では、前述したモーションデータ初期化処理1を実行し、ステップD811では、ステップD808と同様に初期化フラグをセットしている。
ここで、フレーム番号(0から始まる)が最終フレーム数に到達したということは、対象のモーションテーブルの制御が最終フレームまで終了したことになる。そこで、ステップD809の判定結果がYES(フレーム番号が最終フレーム数に到達した)の場合には、モーション登録時と同様にモーションデータ初期化処理1と初期化フラグのセットを実行して、同一のモーションテーブルをまた最初から実行する構成となっている。
ステップD812に進むと、前記初期化フラグがセットされているか判定し、セットされていれば対象のモーションテーブルを最初から実行するためにステップD813、D814、D815を実行した後にステップD816に進み、前記初期化フラグがセットされていなければ(即ち、クリアされていれば)ステップD819を実行した後にステップD816に進む。
ステップD813、D814、D815では、モーション管理領域Xにおけるフレーム番号、表示数、コマンド位置の値をそれぞれ0に設定する。
ステップD819では、モーション管理領域Xにおけるフレーム番号の値を1だけ増加させる更新を行う。このステップD819に進むのは、前記初期化フラグがセットされていない場合(即ち、対象のモーションテーブルを実行途中である場合)であるので、フレーム番号を順次増加させる必要があるためである。
なお、ステップD814で0に設定される表示数の値(制御中のオブジェクトの数を示す値)は、後述するモーションコマンド実行処理の中で(例えば後述するステップD881で)、オブジェクトが追加又は削除される場合に更新(+1又は−1)される。また、ステップD815で0に設定されるコマンド位置の値(モーションテーブルの何行目かを指す値)も、後述するモーションコマンド実行処理の中で(例えば後述するステップD880で)更新される。なお、コマンド位置の値が0であることは、モーションテーブルにおける指定行が1行目であることを示す。また、表示数の値は、制御中のオブジェクトの数であり、画面上に実際に同時に表示されているオブジェクト(図柄や予告用キャラクタなど)の数ではない。
次に、ステップD816に進むと、対象のモーションテーブルの制御を実行するためのモーションコマンド実行処理(後述する)を実行し、ステップD817に進む。
ステップD817に進むと、モーション管理領域のアドレス領域自体のアドレスを更新する。即ち、モーション管理領域の番号Xの値を1だけ増やす更新を実行する。これにより、対象のモーション管理領域や対象のモーションのレイヤーが次に切り替わる。例えば、このステップD817の実行前にモーション管理領域1(モーションのレイヤーはモーション1)が制御対象であったならば、実行後にはモーション管理領域2(モーションのレイヤーはモーション2)が制御対象となる。
そして、ステップD817を実行するとステップD818に進み、前述の終了条件(本例の場合、番号X=14になったこと)が成立していればリターンし、成立していなければステップD801に戻ってステップD802から処理を繰り返す。
〔モーションコマンド実行処理〕
次に、前述のモーション制御処理におけるステップD816で実行されるモーションコマンド実行処理の詳細について図142及び図143により説明する。
このルーチンが開始されると、まずステップD821で、モーション管理領域X(対象のモーション管理領域)におけるモーション用リストテーブル領域から、モーション用リストテーブル(モーションリストテーブルともいう)のアドレスのデータ(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD822に進む。
ステップD822に進むと、モーション管理領域Xにおけるコマンド位置の値を読み取り、このコマンド位置の値がモーションコマンド数(ステップD821でロードされたアドレスで指定されるモーション用リストテーブルの指定行におけるモーションコマンド数の値)以上であるか判定し、モーションコマンド数以上である場合には全てのコマンド(対象のモーションテーブルの全ての行)を実行済みであるのでリターンし、モーションコマンド数以上でない場合には対象のモーションテーブルを次の1フレーム分実行すべくステップD823に進む。例えば図165に示すモーション用リストテーブルにおける4行目が指定行であるとすると、モーションコマンド数は「1830」であるので、ステップD822では、モーション管理領域Xにおけるコマンド位置の値がこの「1830」以上か判定し、「1830」以上でなければステップD823に進むことになる。また、モーション管理領域Xにおけるコマンド位置の値は、当初は前述のモーションデータ初期化処理1,2におけるステップD658、D663等で0に初期化され、後述するステップD843でモーションテーブルの各行(コマンド)が実行される毎に+1更新されるので、この値が上記「1830」以上になっていれば対象のモーションテーブルの全ての行が実行済みであるため、リターンする構成となっている。
ステップD823に進むと、対象のモーション用リストテーブルの指定行(ステップD821でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレス(モーションテーブル名)を取得し、ステップD824に進む。例えば図165に示すモーション用リストテーブルにおける4行目が指定行であるとすると、モーションテーブル名が「Mdat003」であるので、この「Mdat003」をモーションテーブルのアドレスとして取得する(ROM(PROM321)から取り出す)。なお、RAM(RAM311a)のモーション用リストテーブル領域には、モーション用リストテーブルの一番左列(フレーム数の位置)のアドレス(ROM内のテーブルのアドレスを指す)が格納されており、前述のステップD821では、このアドレスをRAMのモーション用リストテーブル領域からロードしている。そして、ステップD823では、ステップD821でロードした上記アドレスの2レコード先のアドレスが示す「モーションテーブル名(アドレス)」の値をROMから読み出している。
なお本例では、モーションテーブルのアドレスとモーションテーブル名が対応しているため、モーションテーブル名を取得すればモーションテーブルのアドレスを取得したことになる。
また、モーションテーブルとは、ブロック化された各表示演出を実行するための制御テーブルであることは既述したとおりであるが、ここで詳細を説明する。本願では、前述した図176下側にプッシュボタン予告時のモーションテーブルの一例を示し、また図170に左図柄通常変動開始時のモーションテーブルの一例を示し、その他にも図示しているが、このようなモーションテーブルがROM(本例ではPROM321)に多数登録されている。これら図に示すように、モーションテーブルの各行には、先頭にコマンドのコードが設定され、それに続いてコマンドに対応するパラメータが設定されている。但し、パラメータは無い場合もある。
例えば、図170の1行目には、「追加1コード」というコマンドと「キャラクタNo.(図柄「2」)」というパラメータが設定され、同2行目には、「ビヘイビアコード」というコマンドと「オブジェクトインデックス(0)」、「ビヘイビアインデックス(0)」というパラメータが設定され、同7行目には、「移動1コード」というコマンドと「オブジェクトインデックス(0)」、「X座標(0)」、「Y座標(−493)」、「画像幅データ(296)」、「画像高さデータ(490)」というパラメータが設定され、同10行目には、「終了コード」というコマンドのみが設定されている。ここで、オブジェクトインデックスは、各オブジェクトを区別するためにオブジェクトに付けられる番号であり、追加コードで登録される順番に自動的に設定される。例えば図170の1行目で追加登録された図柄「2」はオブジェクトインデックス(0)になり、3行目で追加登録された図柄「1」はオブジェクトインデックス(1)になり、5行目で追加登録された図柄「9」はオブジェクトインデックス(2)になり、というように表示するキャラクタ数(オブジェクト数)に基づいてオブジェクトインデックスの値が増えてゆく。
そして、このオブジェクトインデックスの値が小さい程、表示レイヤーの前後関係として画面奥に表示されることになる。つまり、表示位置が重なった場合、オブジェクトインデックスの値が大きいオブジェクトが優先的に画面に表示されることになる。
また、図170の例では3つのキャラクタを登場させているが、同時に使用する他カテゴリ(予告とか)の全てのキャラクタ数合計が128個となるように管理する。つまり、本例のVDP312では同時に128個のキャラクタを表示制御できる。なお、画面外にもキャラクタを配置できるので画面内に128個とは限らない。
また、同図の例は、左図柄の通常変動(前半)のモーションテーブルの最初の4フレーム分のデータである。終了コードまでの区切りが1フレーム分のデータとなっており、例えば1行目から10行目までが最初の1フレーム分のデータである。また、座標データやサイズデータ等の数値は、本実施例の意味となる値を記載しているだけで、小数点以下の情報を含んだデータでもよい。実際は、16bit符号付固定小数(符号ビット、整数部13ビット、小数部2ビットの2の補数)のデータとなっている。
また、前フレームと同じ状態を継続する場合は、終了コードだけを定義すればよい。
また、本例におけるモーションテーブルのコマンドの種類と意味は、下記のとおりである。
・「追加コード」;オブジェクトを追加するコマンド。追加するオブジェクトの種類(ビットマップ、動画、単色矩形)に応じて、それぞれ追加1コード、追加2コード、追加3コードがある。
・「挿入コード」;オブジェクトを特定のオブジェクトインデックスとして挿入するコマンド。挿入するオブジェクトの種類(同上)によって、挿入1コード、挿入2コード、挿入3コードがある。この挿入コードの実行により、既に登録されているオブジェクトのオブジェクトインデックスの値はずれる。
・「移動コード」;オブジェクトの表示位置及び表示の大きさを指定するコマンド。指定方式(1点指定、3点指定)により、移動1コード、移動2コードがある。
・「エフェクトコード」…画像に透過性等の加工を施すエフェクトを指令するコマンド。エフェクトタイプを指定するエフェクト1コード、エフェクトパラメータ(例えば、透過度の値(%))を指定するエフェクト2コード、エフェクト色を指定するエフェクト3コードがある。
・「削除コード」;オブジェクトの削除を指令するコマンド。
・「変更コード」;オブジェクトのキャラクタ(図柄や登場人物など)を動きの途中で動きを継続しまたまま差し替える変更を指令するコマンド。
・「デコードコード」;動画データのデコード(復号化)を指令するコマンド。
・「入替コード」;オブジェクトの入替(例えば、オブジェクトインデックス0とオブジェクトインデックス1のキャラクタを入れ替える制御)を指令するコマンド。
・「ビヘイビアコード」;オブジェクトのキャラクタの差替えを指令するコマンド。
・「終了コード」;1フレーム分のデータの終了を示すコマンド。
なお、モーションテーブルのコマンドは、以上説明したものに限定されず、上記以外のコマンドがさらに含まれた態様でもよいし、上記のコマンドのうちの何れかが削除された態様もあり得る。
次に、前記ステップD823より以降の処理を説明する。
ステップD823を経るとステップD823に進み、ステップD824とステップD844をループ端とするループ処理を終了条件(コマンド=終了)が成立するまで、繰り返し実行する。即ち、モーション登録直後等においては、前述したステップD658,D663,D815によって対象のモーション管理領域Xのコマンド位置kは0(モーションテーブルの1行目を指定する値)に設定されているが(k=0)、ステップD824乃至D844のループ処理を繰り返す度に、後述するステップD843、D880等でモーション管理領域Xのコマンド位置kの値を1だけ増やし(k=k+1)、ステップD842で上記終了条件(コマンド位置kのコマンドが終了コマンドである)が成立したか判定し、成立していればステップD844を経てリターンし、成立していなければステップD844を経てステップD824に戻ってステップD825に進む構成となっている。
以下、ステップD825以降を、対象のモーション管理領域Xのコマンド位置の値がkであるとして説明する。
ステップD825に進むと、対象のモーションテーブル(ステップD823で取得したアドレスのモーションテーブル)におけるコマンド位置kに対応する行(例えば、k=0ならば1行目、k=1ならば2行目、…k=NならばN行目)のコマンドを取得し、次いでこのコマンドについてステップD826乃至D841で順次各コードに該当するか否かのコマンド判定を実行し、何れかのコマンド判定結果がYESになると対応する処理(ステップD851乃至D866の何れか)を実行してステップD844に進む。
即ち、ステップD826では追加1コードか判定し、YESならばステップD851でビットマップ追加処理(静止画をオブジェクトとして追加する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD827に進む。
ステップD827では追加2コードか判定し、YESならばステップD852で動化追加処理(動画をオブジェクトとして追加する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD828に進む。
ステップD828では追加3コードか判定し、YESならばステップD853で単色矩形追加処理(キャラROM(画像ROM322)のデータを使用しない単色矩形画像をオブジェクトとして追加する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD829に進む。
ステップD829では挿入1コードか判定し、YESならばステップD854でビットマップ挿入処理(静止画をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD830に進む。
ステップD830では挿入2コードか判定し、YESならばステップD855で動作挿入処理(動画をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD831に進む。
ステップD831では挿入3コードか判定し、YESならばステップD856で単色矩形挿入処理(前記単色矩形画像をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD832に進む。
ステップD832では移動1コードか判定し、YESならばステップD857で1点指定オブジェクト移動処理(1点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD833に進む。
ステップD833では移動2コードか判定し、YESならばステップD858で3点指定オブジェクト移動処理(3点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD834に進む。
ステップD834ではエフェクト1コードか判定し、YESならばステップD859でエフェクトタイプ指定処理(後述する)を行った後にステップD844に進み、NOならばステップD835に進む。
ステップD835ではエフェクト2コードか判定し、YESならばステップD860でエフェクトパラメータ指定処理(後述する)を行った後にステップD844に進み、NOならばステップD8に進む。
ステップD836ではエフェクト3コードか判定し、YESならばステップD861でエフェクト色指定処理(エフェクト色を設定する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD837に進む。
ステップD837では削除コードか判定し、YESならばステップD862でオブジェクト削除処理(オブジェクトを削除する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD838に進む。
ステップD838では変更コードか判定し、YESならばステップD863でオブジェクト変更処理(オブジェクトを変更する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD839に進む。
ステップD839ではデコードコードか判定し、YESならばステップD864でオブジェクト動画デコード処理(詳細後述する)を行った後にステップD844に進み、NOならばステップD840に進む。
ステップD840では入替コードか判定し、YESならばステップD865でオブジェクト入替処理(オブジェクトを入れ替える処理、詳細は省略)を行った後にステップD844に進み、NOならばステップD841に進む。
ステップD841ではビヘイビアコードか判定し、YESならばステップD866でビヘイビアインデックス設定処理(詳細後述する)を行った後にステップD844に進み、NOならばステップD842に進む。
次に、ステップD842では終了コードか判定し、YESならばステップD843に進み、NOでもステップD843に進む。
ステップD843では、コマンド位置kの値を1だけ増やす更新を実行し、ステップD844に進む。
ステップD844では、ステップD842の判定結果がYESならばリターンし、NOならばステップD824に戻って更新後のコマンド位置kについてステップD826以降を実行する。
なお、上記ステップD824乃至D844のループ処理による1フレーム分の動作の具体例を図170の場合で説明すると次のようになる。
即ち、まず最初はコマンド位置k=0であり、追加1コードが設定された1行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この1行目にある図柄「2」がオブジェクトインデックス0として登録される。
次はk=1になって、ビヘイビアコードが設定された2行目が指定行であり、パラメータとしてオブジェクトインデックス0、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス0(即ち、図柄「2」)に対してビヘイビアインデックス0の設定が行われる。
次はk=2になって、追加1コードが設定された3行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この3行目にある図柄「1」がオブジェクトインデックス1として登録される。
次はk=3になって、ビヘイビアコードが設定された4行目が指定行であり、パラメータとしてオブジェクトインデックス1、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス1(即ち、図柄「1」)に対してビヘイビアインデックス0の設定が行われる。
次はk=4になって、追加1コードが設定された5行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この5行目にある図柄「9」がオブジェクトインデックス2として登録される。
次はk=5になって、ビヘイビアコードが設定された6行目が指定行であり、パラメータとしてオブジェクトインデックス2、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス2(即ち、図柄「9」)に対してビヘイビアインデックス0の設定が行われる。
次はk=6になって、移動1コードが設定された7行目が指定行であり、パラメータとしてオブジェクトインデックス0等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この7行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス0の画像(即ち、図柄「2」)の表示設定が行われる。
次はk=7になって、移動1コードが設定された8行目が指定行であり、パラメータとしてオブジェクトインデックス1等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この8行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス1の画像(即ち、図柄「1」)の表示設定が行われる。
次はk=8になって、移動1コードが設定された9行目が指定行であり、パラメータとしてオブジェクトインデックス2等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この9行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス2の画像(即ち、図柄「9」)の表示設定が行われる。
次はk=9になって、終了コードが設定された10行目が指定行であるので、ステップD842でYESになりステップD844ではループ処理を終了してリターンする。
こうして、図170において(a)で示す最初の1フレーム分が終了する。なお、同図に(b),(c),(d)で示す3フレーム以降も、各フレーム周期(前述の処理周期;例えば1/30秒)毎に同様に実行される。
〔ビットマップ追加処理〕
次に、前述のモーションコマンド実行処理におけるステップD851で実行されるビットマップ追加処理の詳細について図144により説明する。本ルーチンは、既述したように、静止画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD871で、モーション管理領域Xにおけるモーション用リストテーブル領域から、モーションリストテーブルのアドレス(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD872に進む。
ステップD872に進むと、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばオブジェクトの追加ができないのでリターンし、最大表示要素数未満であるならばステップD873乃至D881を順次実行した後にリターンする。ここで、最大表示要素数は、VDP312のハード的限界やVRAM312aの容量(動画を展開する領域等)などを考慮し、一つのモーションで扱える表示数(制御するオブジェクトの数)の限界値であり、例えば18(静止画16+動画2)に設定されている。但し、18は一例にすぎず、これに限定されない。
ステップD873では、表示数に対応する表示情報領域のアドレスを設定する。例えば、オブジェクトの追加が初めて行われる場合には、表示数は1であるため、モーション管理領域Xにおける表示数1に対応する表示情報領域のアドレスを設定する。具体例を挙げると、例えばモーション管理領域5(左図柄用のモーション管理領域)の表示情報領域は、1番目の次図柄用と、2番目の現図柄用と、3番目の前図柄用の3個ある。そして今、例えばモーション管理領域X=5(左図柄)であり、対象のモーションテーブルが図170に示すものであり、コマンド位置k=0であるとすると、指定行である1行目のコマンドが追加1コードであるため本ルーチンが実行されるが、この場合、モーション管理領域5の3個の表示情報領域のうちで、表示数1に対応する1番目の次図柄用の表示情報領域に前記1行目のパラメータで指定されるオブジェクト(キャラクタNo.(図柄「2」))のデータを設定することになるため、上記ステップD873では、この1番目の次図柄用の表示情報領域のアドレスが設定される。同様に、k=2(指定行は3行目)であると表示数2に対応する2番目の現図柄用の表示情報領域に3行目のキャラクタNo.(図柄「1」)のデータを設定することになって2番目の現図柄用の表示情報領域のアドレスが設定され、k=4(指定行は5行目)であると表示数3に対応する3番目の前図柄用の表示情報領域に5行目のキャラクタNo.(図柄「9」)のデータを設定することになって3番目の前図柄用の表示情報領域のアドレスが設定される。
なお、モーション管理領域に設定(保存)される「表示数」は基本的に表示されるオブジェクトのMAX数(即ち、制御対象として設定されている全オブジェクトの数)を表すが、本ルーチンのような追加処理においてはオブジェクトが増えることになるので「表示数」は+1ずつ変動していく(例えば、後述のステップD881で更新される)が、このような追加処理が行われなくなった時点での表示数が、表示されるオブジェクトのMAX数を示すことになる。
次にステップD874では、ステップD873で設定したアドレスで特定される一つの表示情報領域(以下、対象の表示情報領域という)の各データを0クリアする。一旦、対象の表示情報領域の値を全て0にした後、必要な領域に初期値を設定するためである。なお、ここで0クリアするのは、表示数に対応する1つの表示情報領域のみである。
次にステップD875では、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。初期値としてビヘイビア無しの状態に設定するためである。なお本例では、ビヘイビアインデックスの値が0の場合(図170における2,4,6行目のパラメータのようにビヘイビアインデックス0が指定された場合)でも、ビヘイビア(図柄等の差替え)は有りである。
次にステップD876では、対象の表示情報領域における表示種別のデータとして静止画情報をセーブする。即ちここでは、追加する当該オブジェクトが静止画であることを示す情報を設定している。
次にステップD877では、対象のモーション用リストテーブルの指定行(ステップD871でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレス(モーションテーブル名)を取得する。これは、前述のステップD823と同様の処理である。
次にステップD878では、コマンド位置kに対応する静止画インデックスを取得する。ここで、静止画インデックスとは、キャラROM(画像ROM322)に登録されている静止画キャラクタの登録番号であり、例えば図163に示すような静止画ROMメンバリストテーブルの行を指定するパラメータである。そして今、例えばモーション管理領域X=5(左図柄)であり、対象のモーションテーブルが図170に示すものであり、コマンド位置k=0であるとすると、指定行である1行目で指定されるオブジェクトはキャラクタNo.(図柄「2」)であるため、上記ステップD878では、図163のテーブルにおいて図柄「2」に対応する行を指定する静止画インデックスの値として「1」を取得する。
次にステップD879では、ステップD878で取得した静止画インデックスの値を画像インデックスとしてセーブする。画像インデックスは、表示する対象としての特定のキャラクタ(静止画、動画などの画像)を示す情報であって、後述する演出表示編集処理におけるステップE51等で使用される情報である。
次にステップD880では、コマンド位置を次レコードに更新する。即ち、コマンド位置の値kを1だけ増加させる更新を行う。次の周期で、モーションコマンド実行処理を実行したときに、モーションテーブルの次の行を指定行として制御を行うためである。
次にステップD881では、本ルーチンによりオブジェクトが追加されたため、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行い、その後リターンする。
なお、図163に示す静止画ROMメンバリストテーブルの各パラメータの内容は、以下のとおりである。
・画像アドレスオフセット;キャラROM内に当該キャラクタが格納されているアドレスへのオフセット値を示す。
・パレットアドレスオフセット;キャラROM内に当該キャラクタが使用するパレットデータが格納されているアドレスへのオフセット値を示す。本例では、記載しているキャラクタが同一のパレットを使用しているので全て0となっているが、これに限らずキャラクタの必要に応じてパレットを変更してもよい。違うパレットを使用している箇所は異なるオフセット値となる。
・画像の幅、高さ;当該キャラクタの元画像のサイズを表す。例えば単位はピクセル。この例では、通常変動時の図柄とプッシュボタンのキャラだけなので同じサイズばかりとなっているが、実際はキャラクタ毎に様々な値となる。また、通常図柄の中においても例えば図柄に描かれている人物の大きさが多少違ったりして見た目のサイズが異なる可能性があるが、内部制御で扱いやすくするために透明部分でキャラクタの大きさを調整し、同一カテゴリのキャラであれば同一サイズとなるように設定する。
・VRAM上の幅;当該キャラクタをVRAMに展開した際の幅を指す。この例は圧縮タイプが「可逆圧縮32bit画像」しか使用していないので元画像と同じ幅になっている。非可逆圧縮にしたり、カラーパレットのbit数を落としたりするとサイズが小さくなる。
・画像の圧縮タイプ;キャラROMへ格納している各キャラクタの圧縮タイプを示す。この圧縮タイプとしては、例えば以下のタイプ0〜6がある。これら以外のタイプがあってもよい。
0: 32bitフルカラー画像圧縮なし
1: 8bitフルカラー画像圧縮なし
2: 4bitフルカラー画像圧縮なし
3: 可逆圧縮32bitフルカラー画像
4: 可逆圧縮8bitフルカラー画像
5: 可逆圧縮4bitフルカラー画像
6: 非可逆圧縮画像
・画像の圧縮後のサイズ;画像データ(キャラクタのデータ)の圧縮後の容量を示す。キャラROM322からVRAM312a(606,607)へデータ転送する際のパラメータ等として使用される。
なお、以上説明した静止画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
〔動画追加処理〕
次に、前述のモーションコマンド実行処理におけるステップD852で実行される動画追加処理の詳細について図145により説明する。本ルーチンは、既述したように、動画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD891で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードし、ステップD892に進む。
ステップD892に進むと、前記ステップD872と同様に、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばリターンし、最大表示要素数未満であるならばステップD893乃至D897を順次実行した後にステップD898に進む。
ステップD893では、前記ステップD873と同様に、表示数に対応する表示情報領域のアドレスを設定する。
ステップD894では、前記ステップD874と同様に、ステップD893で設定したアドレスで特定される一つの表示情報領域(対象の表示情報領域)の各データを0クリアする。
ステップD895では、前記ステップD875と同様に、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。
ステップD896では、前記ステップD877と同様に、対象のモーション用リストテーブルの指定行(ステップD891でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD897では、コマンド位置kに対応する動画インデックスを取得する。ここで、動画インデックスとは、キャラROM(画像ROM322)に登録されている動画キャラクタの登録番号であり、例えば図164に示すような動画ROMメンバリストテーブルの行を指定するパラメータである。そして、対象のモーションテーブルの指定行にあるオブジェクトのパラメータ(追加2コードの次の列に設定されているデータ)が例えばアニメ図柄「1」であったとすると、上記ステップD897では、図164のテーブルにおいてアニメ図柄「1」に対応する行を指定する動画インデックスの値として「0」を取得する。
次にステップD898では、ステップD897で取得した動画インデックスの値に対応する動画ROMメンバリストテーブルの指定行におけるエンコードタイプ(後述する)のデータを読み取り、このデータに基づいて追加しようとする動画のエンコードタイプがIピクチャ動画か判定し、Iピクチャ動画ならばステップD899に進み、Iピクチャ動画でなければステップD904に進む。図164の場合、エンコードタイプのデータが「0」であるとIピクチャ動画であるので、このデータが「0」のときはステップD899に進み、「0」以外のときはステップD904に進むことになる。なお、Iピクチャとは、フレーム間予測を行わないで単独でデコードできる画像のフレームデータを意味し、Iピクチャ動画とはIピクチャのみで構成された動画を意味する。
次にステップD899に進むと、ステップD899乃至D901を順次実行した後にステップD902に進む。
ステップD899では、対象の表示情報領域におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)のデータとして、初期値である「−1」を設定する。なお、初期値として「−1」を設定すれば、Iピクチャ用フレームカウント数は「0」からスタートすることになる。
ステップD900では、対象の表示情報領域における表示種別のデータとしてIピクチャ動画情報をセーブする。即ちここでは、追加する当該オブジェクトがIピクチャ動画であることを示す情報を設定している。
ステップD901では、ステップD897で取得した動画インデックスの値を画像インデックスとしてセーブする。
一方、ステップD904に進むと、ステップD904、D905を順次実行した後にステップD906に進む。
ステップD904では、VDP312に対して動画をループする指示を出すために、ループ再生フラグをセットする。なお、ループしない設定も可能である。
ステップD905では、動画データをデコードするRAM311aの記憶領域を確保する動画デコード領域確保処理を実行する。
そしてステップD906に進むと、上記動画デコード領域確保処理の結果、領域が正しく割り当てられたか判定し、YESならばステップD907、D908を実行してステップD902に進み、NOならばリターンする。なお、容量オーバー等により領域が正しく確保できないときNOとなる。
ステップD907では、対象の表示情報領域における表示種別のデータとして通常動画情報をセーブする。即ちここでは、追加する当該オブジェクトが通常動画である(即ち、Iピクチャ動画でない)ことを示す情報を設定している。
ステップD908では、上記動画デコード領域確保処理により割り当てられた領域のインデックスの値を画像インデックスとしてセーブする。
次にステップD902に進むと、ステップD902、D903を順次実行した後にリターンする。
ステップD902では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
ステップD903では、前記ステップD881と同様に、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行う。
なお、図164に示す動画ROMメンバリストテーブルの各パラメータの内容は、以下のとおりである。
・動画アドレスオフセット;キャラROM内に当該ムービーが格納されているアドレスへのオフセット値を示す。
・動画の幅、高さ;当該ムービーの元画像のサイズを表す。例えば単位はピクセル。静止画の時と同様に、同一カテゴリのムービーのサイズは同じになるように透明部分で調整する。
・動画のフレーム数;何枚の連続絵で構成されたムービーであるかを示す。本実施例では1秒=30フレームの制御なので、それを意識したムービー作成を行う。制御を1秒60フレームとなるように実行したら、倍速再生されることになる。逆も同様である。
・α値設定;アルファチャンネル情報を含んだムービーか否かを示す情報。0=アルファなし、1=アルファあり、である。アルファありの場合、当該ムービーの透明度を変更できる。ない場合は不透明のみとなる。
・エンコードタイプ;ムービーがどのように構成されているのかを示す。以下のタイプ0〜2がある。
0=Iピクチャのみで構成
1=Iピクチャと1枚参照のPピクチャを含んだ構成(1つ過去のIピクチャ又はPピクチャを参照して、当該Pピクチャを作る)
2=上記1に加え2枚参照のPピクチャを含んだ構成(1つ過去のIまたはPと、2つ過去のI又はPの2枚を参照して、当該Pピクチャを作る)
但し、以上のエンコードタイプに限定されず、例えばBピクチャを含んだ構成でもよい。
なお、以上説明した動画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
〔1点指定オブジェクト移動処理〕
次に、前述のモーションコマンド実行処理におけるステップD857で実行される1点指定オブジェクト移動処理の詳細について図146により説明する。
このルーチンが開始されると、ステップD911乃至D924を順次実行し、その後リターンする。
ステップD911では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD912では、対象のモーション用リストテーブルの指定行(ステップD911でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD913では、ステップD912で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図170が対象のモーションテーブルであり、k=6(指定行は7行目)であると、コマンドが移動1コードであるため本ルーチンが実行されるが、この場合、7行目のオブジェクトインデックスは(0)であるため、上記ステップD913では、オブジェクトインデックスとして0が取得されることになる。
ステップD914では、ステップD913で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図170でk=6(指定行は7行目)の場合、オブジェクトインデックス0は1行目で追加された図柄「2」(次図柄)であるため、次図柄に対応する1番目の表示情報領域のアドレスが設定される。
ステップD915では、コマンド位置kに対応するX座標データを取得する。
ステップD916では、対象の表示情報領域(ステップD914でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)における表示左上点のX座標と表示左下点のX座標として、ステップD915で取得したX座標データをセーブする。
ステップD917では、コマンド位置kに対応するY座標データを取得する。
ステップD918では、対象の表示情報領域における表示左上点のY座標と表示右上点のY座標として、ステップD917で取得したY座標データをセーブする。
ステップD919では、コマンド位置kに対応する画像幅データと画像高さデータとを取得する。
ステップD920では、ステップD915で取得したX座標データにステップD919で取得した画像幅データを加算し、次のステップD921では、この加算結果を対象の表示情報領域における表示右上点のX座標としてセーブする。
ステップD922では、ステップD917で取得したY座標データにステップD919で取得した画像高さデータを加算し、次のステップD923では、この加算結果を対象の表示情報領域における表示左下点のY座標としてセーブする。
そして、ステップD924では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
上記ステップD915乃至D923によれば、次のような動作が実現される。例えば、図170でk=6(指定行は7行目)の場合、X座標データは「0」、Y座標データは「−493」(マイナスは画面上側の画面外の位置を示す)、画像幅データは「296」、画像高さデータは「490」である。このため、上記ステップD915では「0」が取得され、上記ステップD917では「−493」が取得され、上記ステップD919では「296」、「490」が取得される。そして、上記ステップD920の加算結果は「296」(=0+296)となり、上記ステップD922の加算結果は「−3」(=−493+490)となる。したがって、上記ステップD916では表示左上点と表示左下点のX座標として「0」がセーブされ、上記ステップD918では表示左上点と表示右上点のY座標として「−493」がセーブされ、上記ステップD921では表示右上点のX座標として「296」がセーブされ、上記ステップD923では表示左下点のY座標として「−3」がセーブされる。これにより、対象のオブジェクト(この場合、次図柄「2」)の表示位置が、3点の座標(表示左上点、表示左下点、表示右上点)として設定される。なおこの場合、画面上の左上隅の位置が原点(X座標=0、Y座標=0)であり、上述したように設定されるY座標が全てマイナス値であるため、この次図柄のオブジェクトは、画面上側の画面外に表示位置が設定され、この次図柄の画像は画面上にはまだ見えない。
以上説明したように、本ルーチンによれば、1点指定という方式ではあるが、結果として3点を指定している。というのは、オブジェクト(キャラクタ)は4角形の形をしているので、左上の基準点座標とオブジェクトの高さ、幅データがあれば、上記ステップD920、D922のように右上点、左下点の座標が求められるからである。既述したように、モーション管理領域における表示情報領域には、こうして定まる3点の各座標値を入れる領域があり、上記ステップD916、D918、D921、D923では、各領域への登録を行っている。
なお、前述のモーションコマンド実行処理におけるステップD858で実行される3点指定オブジェクト移動処理については、フローチャートを示しての詳細説明は省略するが、この処理も上述した1点指定オブジェクト移動処理と略同様に行われる。但し、3点指定の場合はモーションテーブル上にそれぞれの座標データがある構造になるため、上述したステップD920、D922のような加算処理は不要であり、モーションテーブルから取得した各座標データを全てそのまま表示情報領域の各領域にセーブするだけの処理内容になる。
〔エフェクトタイプ指定処理〕
次に、前述のモーションコマンド実行処理におけるステップD859で実行されるエフェクトタイプ指定処理の詳細について図147の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップD931乃至D940を順次実行し、その後リターンする。
ステップD931では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD932では、対象のモーション用リストテーブルの指定行(ステップD931でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD933では、ステップD932で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図181が対象のモーションテーブルであり、k=m+5(指定行はm+6行目)であると、コマンドがエフェクト1コードであるため本ルーチンが実行されるが、この場合、k=m+5のオブジェクトインデックスは(1)であるため、上記ステップD933では、オブジェクトインデックスとして1が取得されることになる。
ステップD934では、ステップD933で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=m+5の場合、オブジェクトインデックス1はk=m+2(m+3行目)で追加された文字「狼煙」(のろし)であるため、この文字「狼煙」に対応する表示情報領域のアドレスが設定される。
ステップD935では、コマンド位置kに対応するエフェクトタイプのデータを取得する。
ステップD936では、対象の表示情報領域(ステップD934でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトタイプとして、ステップD935で取得したデータをセーブする。
例えば、図181でk=m+5の場合、エフェクトタイプは(1)であるため、これが上記ステップD935で取得されて、上記ステップD936で対象の表示情報領域に設定される。
次に、ステップD937、D938、D939では、対象の表示情報領域におけるエフェクトパラメータ、フォアグランドカラー、バックグランドカラーのデータをそれぞれクリアする。
そして、ステップD940では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
以上説明した本ルーチンでは、例えば複数のオブジェクトを重ね合わせて表示する際のブレンド手法のタイプを設定している。すなわち、例えば上記エフェクトタイプ(1)は透過性(透明度)を持たせるエフェクトの一種であり、透過性を持たせるエフェクトは、表示位置が同じで重なり合った後方(奥側)のレイヤーの画像と前方のレイヤーの画像とを混ぜ合わせる(ブレンドする)加工ということができ、本ルーチンでは当該ブレンドのタイプを設定している。
〔エフェクトパラメータ指定処理〕
次に、前述のモーションコマンド実行処理におけるステップD860で実行されるエフェクトパラメータ指定処理の詳細について図147の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD941乃至D947を順次実行し、その後リターンする。
ステップD941では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD942では、対象のモーション用リストテーブルの指定行(ステップD941でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD943では、ステップD942で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図181が対象のモーションテーブルであり、k=m+7(指定行はm+8行目)であると、コマンドがエフェクト2コードであるため本ルーチンが実行されるが、この場合、k=m+7のオブジェクトインデックスは(1)であるため、上記ステップD943では、オブジェクトインデックスとして1が取得されることになる。
ステップD944では、ステップD943で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=m+7の場合、オブジェクトインデックス1はk=m+2(m+3行目)で追加された文字「狼煙」であるため、この文字「狼煙」に対応する表示情報領域のアドレスが設定される。
ステップD945では、コマンド位置kに対応するエフェクトパラメータのデータを取得する。
ステップD946では、対象の表示情報領域(ステップD944でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトパラメータとして、ステップD945で取得したデータをセーブする。
例えば、図181でk=m+7の場合、エフェクトパラメータは(7)であるため、これが上記ステップD945で取得されて、上記ステップD946で対象の表示情報領域に設定される。
ここで、エフェクトパラメータは、ブレンドする際の当該オブジェクトの透明度(濃さ)の割合を示す。エフェクトパラメータの値をPとすると、本例の場合には、透明度のパーセントを「P/255」の分子に変換したデータがテーブル上に定義されている。具体的には、例えば100%が通常表示(透過性無し)の場合、約10%の濃さで表示する場合のパラメータPは25(≒255×10/100)となる。逆に上述の具体例のように、パラメータPの値が7である場合の透明度は、約2.7%(=100×7/255)となり、かなり薄いということになる。ただし、100%表示を行う場合は、前述のエフェクトタイプ指定処理と本ルーチンであるエフェクトパラメータ指定処理は実行されない。
次にステップD947では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
〔オブジェクト削除処理〕
次に、前述のモーションコマンド実行処理におけるステップD862で実行されるオブジェクト削除処理の詳細について図148の左側のフローチャートにより説明する。
このルーチンが開始されると、まずステップD951で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
次にステップD952で、モーション管理領域Xにおける表示数の値が0以下であるか判定し、0以下であれば表示数が1個も無い(即ち、削除するオブジェクトが無い)のでリターンし、0以下でない場合にはステップD953に進む。
ステップD953に進むと、ステップD953乃至D955を順次実行した後にステップD956に進む。
ステップD953では、対象のモーション用リストテーブルの指定行(ステップD951でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD954では、ステップD953で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図181が対象のモーションテーブルであり、k=o+1(指定行はo+2行目)であると、コマンドが削除コードであるため本ルーチンが実行されるが、この場合、k=o+1のオブジェクトインデックスは(1)であるため、上記ステップD954では、オブジェクトインデックスとして1が取得されることになる。
ステップD955では、ステップD954で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=o+1の場合、オブジェクトインデックス1であるため、この時点でオブジェクトインデックス1に対応する表示情報領域のアドレスが設定される。
ステップD956に進むと、モーション管理領域Xにおける表示種別のデータが通常動画情報であるか判定し、通常動画情報であるならばステップD957で動画デコード領域開放処理(詳細は省略)を実行した後にステップD958に進み、通常動画情報でない場合(即ち、Iピクチャ動画である場合)にはステップD957を実行しないでステップD958に進む。
ステップD958に進むと、ステップD958乃至D960を順次実行した後にリターンする。
ステップD958では、取得したオブジェクトインデックス以降の表示情報領域の情報を前にシフト(移動)する。即ち、モーション管理領域Xにおいて、ステップD955で設定されたアドレス以降の表示情報領域のデータを一つ分だけ前の表示情報領域にそれぞれシフトさせる。これにより、ステップD955で設定されたアドレスの表示情報領域のデータは削除され、この削除されたデータに対応するオブジェクトが削除されたことになる。
ステップD959では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
そして、ステップD960では、本ルーチンによりオブジェクトが削除されたため、モーション管理領域Xにおける表示数の値を1だけ減らす更新を実行する。
〔オブジェクト変更処理〕
次に、前述のモーションコマンド実行処理におけるステップD863で実行されるオブジェクト変更処理の詳細について図148の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD961乃至D967を順次実行し、その後リターンする。
ステップD961では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD962では、対象のモーション用リストテーブルの指定行(ステップD961でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD963では、ステップD962で取得されたアドレスで特定される対象のモーションテーブルからコマンド位置kに対応するオブジェクトインデックスを取得する。
ステップD964では、ステップD963で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。
ステップD965では、前記対象のモーションテーブルにおけるコマンド位置kに対応する変更キャラ(変更後のキャラクタ)のインデックス(前述した静止画インデックス又は動画インデックス)を取得する。
ステップD966では、ステップD965で取得したインデックスの値を画像インデックスとしてセーブする。これにより、画像(図柄や登場人物などのキャラクタ)だけが変わるオブジェクト変更が実現される。
そして、ステップD967では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
〔オブジェクト動画デコード処理〕
次に、前述のモーションコマンド実行処理におけるステップD864で実行されるオブジェクト動画デコード処理の詳細について図149により説明する。
このルーチンが開始されると、まずステップD971乃至D974を順次実行し、その後ステップD975に進む。
ステップD971では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD972では、対象のモーション用リストテーブルの指定行(ステップD971でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD973では、ステップD972で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図179の最下段に示すテーブルが対象のモーションテーブルであり、k=3(指定行は4行目)であると、コマンドがデコードコードであるため本ルーチンが実行されるが、この場合、k=3のオブジェクトインデックスは(0)であるため、上記ステップD973では、オブジェクトインデックスとして0が取得されることになる。
ステップD974では、ステップD973で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、上記図179のテーブルでk=3の場合、オブジェクトインデックス0はk=0(1行目)で追加された図柄「1」であるため、この図柄「1」に対応する表示情報領域のアドレスが設定される。
ステップD975に進むと、モーション管理領域Xにおける表示種別のデータがIピクチャ動画情報であるか判定し、Iピクチャ動画情報であるならばステップD977、D978を実行後にステップD979に進み、Iピクチャ動画情報でない場合にはステップD976に進む。
ステップD977では、対象の表示情報領域(ステップD974でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)の領域のアドレスを設定する。
ステップD978では、ステップD977で設定したアドレスに基づいて、対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを1だけ増やす更新を行う。
ステップD979に進むと、ステップD978で更新したIピクチャ用フレームカウント数が、動画フレーム数(この時点の画像インデックスのデータに対応する動画のフレーム数)以上になっているか判定し、動画フレーム数以上であるならばステップD980を実行後にステップD983に進み、動画フレーム数以上でない場合にはステップD980を実行しないでステップD983に進む。
ステップD980では、画像インデックス(この場合、動画インデックス)で指定される動画が最終フレームまで表示されたので、当該動画を最初から再度開始するために対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを0(スタート値)に設定する。
ステップD976に進むと、モーション管理領域Xにおける表示種別のデータが通常動画情報であるか判定し、通常動画情報であるならばステップD981、D982を実行後にステップD983に進み、通常動画情報でない場合には異常であるとしてリターンする。
ステップD981では、この時点で画像インデックスとして登録されているデータ(この場合は動画インデックスのデータ)をロードする。
ステップD982では、ステップD981でロードしたインデックスに対応する動画の1フレーム分をデコード(復号化)する動画デコード処理(詳細は省略)を実行する。
そして、ステップD983に進むと、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
なお、Iピクチャ動画の場合は、各フレームの絵が独立して存在しているので、フレーム数を管理しておけばよい。後でVDP312の内部レジスタに指示をする際にそのカウント(Iピクチャ用フレームカウント数)が重要になる。
〔ビヘイビアインデックス設定処理〕
次に、前述のモーションコマンド実行処理におけるステップD866で実行されるビヘイビアインデックス設定処理の詳細について図150により説明する。
このルーチンが開始されると、まずステップD991乃至D997を順次実行し、その後リターンする。
ステップD991では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD992では、対象のモーション用リストテーブルの指定行(ステップD991でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。なお、前述した図165に一例を示すように、このモーション用リストテーブルの指定行には、ビヘイビアテーブルのアドレスに対応するビヘイビアテーブル名も設定されている(但し、NULLの場合もある)。
ステップD993では、ステップD992で取得されたアドレスで特定される対象のモーションテーブルから、コマンド位置kに対応するオブジェクトインデックスを取得する。例えば、図181が対象のモーションテーブルであり、k=1(指定行は2行目)であると、コマンドがビヘイビアコードであるため本ルーチンが実行されるが、この場合、k=1のオブジェクトインデックスは(0)であるため、上記ステップD993では、オブジェクトインデックスとして0が取得されることになる。
ステップD994では、ステップD993で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=1の場合、オブジェクトインデックス0はk=0(1行目)で追加された(巻物開青)であるため、この(巻物開青)に対応する表示情報領域のアドレスが設定される。
ステップD995では、コマンド位置kに対応するビヘイビアインデックスのデータを取得する。
ステップD996では、対象の表示情報領域(ステップD994でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるビヘイビアインデックスとして、ステップD995で取得したデータをセーブする。
例えば、図181でk=1の場合、ビヘイビアインデックスは(0)であるため、これが上記ステップD995で取得されて、上記ステップD996で対象の表示情報領域に設定される。
そして、ステップD997では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
なお、ビヘイビアテーブルは、ビヘイビア(キャラクタの差替え)の処理アドレスが設定された行からなるテーブル(PROM321に登録されたデータテーブル)であり、この行のうちの特定の行(指定行)を指定するのがビヘイビアインデックスである。したがって、ビヘイビアテーブルとビヘイビアインデックスの値が決まると、ビヘイビアの処理アドレスが決まり、ビヘイビアの内容が特定されることになる。本ルーチンは、そのようなビヘイビアの内容を指定するための制御処理を行っている。例えば、図181においてk=1の2行目は、オブジェクトインデックス0のオブジェクト(巻物開青)に対して、ビヘイビアインデックス0で指定されるビヘイビア(キャラクタの差替え)の実行を指令しているので、これに応じて対象の情報表示領域の設定を行っている。ビヘイビアインデックス0で指定されるビヘイビアとは、例えば、開いた巻物の予告用キャラクタ(図182参照)の色を大当り信頼度報知のために青から赤に差替えるといった制御である。
〔演出表示編集処理〕
次に、前述のメイン処理におけるステップD31で実行される演出表示編集処理の詳細について図151、図152、及び図153により説明する。以下では、ステップ番号としてステップEを使用する。この演出表示編集処理は、メイン処理で説明したように、VDP312に表示装置41での描画内容を指示するための各種コマンドとそのパラメータの設定を行う処理である。この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドはメイン処理のステップD34(画面描画を指示)でVDP312に順次送信される。
このルーチンが開始されると、モーション管理領域の数だけステップE1乃至E50のループ処理Aを繰り返し実行し、その後リターンする。なお、ループ処理A内にはステップE6乃至E48のループ処理Bが含まれており、さらにループ処理B内にはステップE39乃至E43のループ処理Cが含まれている。
ループ処理Aでは、最初はX=0としてモーション管理領域X(即ち、最初はモーション管理領域0)についてステップE2から処理を実行し、ステップE49に進むとモーション管理領域のアドレス領域を更新し(即ち、X=X+1とし)、次のステップE50で全てのモーション管理領域について当該ループ処理Aが終了したか(本例では、X=14になっているか)判定し、ステップE50の判定結果がYESとなった場合(即ち、ループ処理Aの終了条件が成立した場合)にはリターンし、NOならばステップE2からループ処理Aを繰り返す。
以下、ステップE2以降の処理を説明する。
ステップE2では、モーション管理領域Xのアドレス領域のデータがNULLか判定し、NULLならば当該モーション管理領域Xについては制御不要であるためステップE49に進み、NULLでない場合にはステップE3乃至E5を順次実行した後にステップE6に進む。なお、このステップE2でNULL(YES)と判定されてステップE49に進む場合、ループ処理Bとループ処理Cを含む以下の処理は、当該モーション管理領域Xについては当然実行されない。
ステップE3では、今回制御するモーション用リストテーブルをロードして準備する。
ステップE4では、全てのブレンド情報領域をクリアする。ブレンド情報領域とは、VDP312の内部レジスタのパラメータの情報を新旧比較用に記憶するRAM311a内の領域である。即ち、VDP312には、エフェクトのためのブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類ある。そして、この4種類のパラメータ毎に今回の設定情報と前回の設定情報を記憶する領域がRAM311aに設けられており、これがブレンド情報領域である。
ステップE5では、画素間演算用パラメータ(即ち、VDP312の内部レジスタに設定する4種類のパラメータ)を設定する。
次に、ステップE6に進むと、ループ処理Bを開始する。ループ処理Bでは、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップE6乃至E48を繰り返し実行し、その後ステップE49に進む。即ち、ステップE6ではループ開始直後は変数iを0としてステップE7に進む。ステップE48では、変数iが終値未満である場合にはステップE6に戻り、変数iが終値以上である場合にはステップE49に進む。そしてステップE6に戻ると、変数iの値を1だけ増加させてステップE7に進む。なお、終値の値は、モーション管理領域Xに設定されている表示数のデータから1を減算した値である。即ち、このループ処理Bでは、この表示数分だけステップE6乃至E48を繰り返し実行し、その後ステップE49に進む。
以下、ステップE7以降の処理を説明する。
ステップE7に進むと、ステップE7乃至E9を順次実行し、その後ステップE10に進む。
ステップE7では、VDP312の内部レジスタのカラーパラメータをα値対応に設定する。
ステップE8では、後述する処理に使用するαフラグをαありに設定する。
ステップE9では、モーション管理領域Xにおける変数iに対応する表示情報領域(以下、対象の表示情報領域という)のアドレスをロードする。
次に、ステップE10に進むと、ステップE9でロードしたアドレスの表示情報領域におけるビヘイビアインデックスの値を読み取り、NULLではないなんらかのインデックスのデータが設定されているか判定し、なんらかのビヘイビアインデックスのデータが設定されている場合(YESの場合)にはステップE11で当該ビヘイビアインデックスに対応する処理を実行した後にステップE12に進み、NOの場合にはステップE11を実行しないでステップE12に進む。
なお、ステップE11で実行されるビヘイビアインデックスに対応する処理とは、対象の表示情報領域に対応するオブジェクト(対象のオブジェクト)について、ビヘイビアインデックスで指定されるビヘイビア(画像データの差替え)を実行するための処理であり、前述したビヘイビアテーブルにおいてビヘイビアインデックスで指定される行に設定された処理アドレスによって特定される処理である。
例えば、対象のオブジェクトが左図柄の現図柄である場合には、後述する図155の左側に示すフローチャートの処理(表示左図柄変換処理)が上記ステップE11で実行される。本願では上記ステップE11で実行される処理の具体例を、他にも図155の右側や図156にも示しているが、これらの詳細は後述する。
なお、ステップE11が実行されると、画像インデックスのデータが表示直前に変更され、例えば基本の図柄が表示すべき所定の図柄に差し替えられたり、プッシュボタン(PB)の画像の色が基本色から遊技状態に応じた所定の色(例えば、大当り信頼度を表す特定の色)に差し替えられたりする。モーションテーブル上に定義されているキャラクタの表示パターンは固定になってしまっているため、基本的にはモーションテーブルを変えない限り、変動毎に異なる停止図柄や振り分けにより異なる予告キャラクタなどに対応出来ない。そこで本例では、ビヘイビアを必要箇所に埋め込んでキャラクタを差し替える処理を行うようにして柔軟な対応を行えるようにしている。
ステップE12に進むと、対象の表示情報領域に設定されているエフェクトタイプのデータを読み取り、これが基本ブレンドか、加算ブレンドか、減算ブレンドかを、ステップE12、E13、E14でそれぞれ判定し、何れかのブレンドタイプに該当すればステップE15に進み、何れのブレンドタイプにも該当しなければステップE15乃至E18を飛ばしてステップE21に進む。
ステップE15に進むと、対象の表示情報領域に設定されているエフェクトパラメータの値をロードし、カラーパラメータに適用し、その後ステップE16に進む。
ステップE16に進むと、対象の表示情報領域に設定されている表示種別などのデータから、描画指定は通常動画の透過なし再生か判定し、YESであればステップE17に進み、NOであればステップE21に進む。
ステップE17に進むと、対象の動画(ステップE16で通常動画の透過なし再生と判定されたもの)は、αなしで登録されているか判定し、YESであればステップE18でαフラグをαなしに設定してステップE21に進み、NOであればステップE18を実行しないでステップE21に進む。
次に、ステップE21に進むと、対象の表示情報領域に設定されているエフェクトタイプのデータを読み取り、これが加算ブレンドか、減算ブレンドか、乗算ブレンドか、スクリーンブレンドか、差分ブレンドか、比較(暗)ブレンドか、反転ブレンドかを、ステップE21乃至27でそれぞれ判定し、何れかのブレンドタイプに該当すれば対応の処理(ステップE31乃至E37のうちの対応する処理)を実行後にステップE39に進み、何れのブレンドタイプにも該当しなければステップE28に進む。
ここで、ステップE31は加算ブレンドの場合に実行される処理(加算タイプの描画エフェクトを設定する処理)であり、ステップE32は減算ブレンドの場合に実行される処理(減算タイプの描画エフェクトを設定する処理)であり、ステップE33は乗算ブレンドの場合に実行される処理(乗算タイプの描画エフェクトを設定する処理)であり、ステップE34はスクリーンブレンドの場合に実行される処理(スクリーンタイプの描画エフェクトを設定する処理)であり、ステップE35は差分ブレンドの場合に実行される処理(差分タイプの描画エフェクトを設定する処理)であり、ステップE36は比較(暗)ブレンドの場合に実行される処理(比較(暗)タイプの描画エフェクトを設定する処理)であり、ステップE37は反転ブレンドの場合に実行される処理(反転タイプの描画エフェクトを設定する処理)である。
次に、ステップE28に進むと、αフラグの設定がαなしか判定し、αなしである場合にはステップE29でαなしの描画エフェクトを設定してステップE39に進み、αなしでない場合(即ち、αありの場合)にはステップE38でαありタイプの描画エフェクトを設定してステップE39に進む。
なお、上記ステップE29及びステップE31乃至E38では、対象の情報表示領域のエフェクトタイプ等の設定に応じて、ブレンドするための各種パラメータ(本例では4種類)を該当のブレンド情報領域に設定している。
次に、ステップE39に進むと、ループ処理Cを開始する。ループ処理Cでは、前述した4種のブレンド情報領域に対応する変数jを初期値0から増分1だけ増加させつつ終値(終値=3)になるまで、ステップE39乃至E43を繰り返し実行し、その後ステップE44に進む。
即ち、ステップE39ではループ開始直後は変数jを0としてステップE40に進む。
ステップE40に進むと、変数jに対応するブレンド情報領域が変更されたか判定し、変更されたならばステップE41、E42を順次実行してステップE43に進み、変更されていない場合にはステップE41、E42を実行しないでステップE43に進む。ここで、ステップE40の判定は、該当のブレンド情報領域の前回のデータと今回のデータが不一致であれば変更されたと判定し、一致であれば変更されていないと判定することにより行う。
また、ステップE41では、変数jに対応するレジストパラメータの画素間演算固定値をVDP312の内部レジスタに設定し、ステップE42では、今回のブレンド情報を前回のブレンド情報として設定する。
そして、ステップE43に進むと、変数jが終値未満である場合にはステップE39に戻り、変数jが終値である場合にはループ処理Cを抜けてステップE44に進む。そしてステップE39に戻ると、変数jの値を1だけ増加させてステップE40に進む。
なお、変数jの範囲が4つ分あるのは、前述したように、VDP312にブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類あるからである。また、各レジスタに対応する領域(ブレンド情報領域)を前回用と今回用と設け、このブレンド情報領域の新旧のデータを比較して一致したときだけ、ステップE41の設定処理を行うのは、指定する値が変化する時だけVDP312のレジスタに設定するため(VDPへの設定処理の効率化のため)である。
次に、ステップE44に進むと、対象の表示情報領域に設定されている表示種別(表示タイプ)のデータを読み取り、これが静止画か、通常動画か、Iピクチャ動画か、単色四角形かを、ステップE44乃至47でそれぞれ判定し、単色四角形を除く何れかの表示タイプに該当すれば対応の処理(ステップE51及びE52、ステップE53及びE54、或いはステップE55乃至E57、のうちの対応する処理)を実行後にステップE58に進み、単色四角形ならばステップE59に進み、何れの表示タイプにも該当しなければステップE48に進む。
ここで、ステップE51及びE52は、静止画の場合に実行され、ステップE51では画像インデックスのデータをロードし、ステップE52ではロードした画像インデックスのデータに基づいて静止画像データの属性を設定するなどの処理を実行する。ステップE52を経ると、ステップE58に進み、ステップE51でロードしたデータとステップE52の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE53及びE54は、通常動画の場合に実行され、ステップE53では画像インデックスのデータをロードし、ステップE54ではロードした画像インデックスのデータに基づいて通常動画像データの属性を設定するなどの処理を実行する。ステップE54を経ると、ステップE58に進み、ステップE53でロードしたデータとステップE54の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE55乃至E57は、Iピクチャ動画の場合に実行され、ステップE55では画像インデックスのデータをロードし、ステップE56では対象の表示情報領域からIピクチャ用フレームカウント(Iピクチャのみの動画時のフレームカウント)のデータをロードし、ステップE57ではロードした前記データに基づいてIピクチャ動画像データの属性を設定するなどの処理を実行する。ステップE57を経ると、ステップE58に進み、ステップE55、E56でロードしたデータとステップE57の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE59は、単色四角形の場合に実行され、矩形画像(単色四角形の画像)をVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、矩形画像のスプライトを仮想描画空間に貼り付ける処理)である。
なお、ステップE58又はステップE59を経ると、ステップE48に進む。
次に、ステップE48に進むと、ループ処理Bの変数iが終値(表示数−1)に到達しているか判定し、到達していればループ処理Bを抜けてステップE49に進み、到達していなければステップE6に戻ってループ処理Bを繰り返す。
そして、ステップE49に進むと、対象のモーション管理領域の番号Xを1だけ増やす更新を実行し、次いでステップE50でXがループ処理Aの終値(本例では14)に到達したか判定し、到達していればループ処理Aを抜けてリターンし、到達していなければステップE1に戻ってステップE2からループ処理Aを繰り返す。
なお、ステップE52、E54、E57の属性を設定するステップでは、当該キャラクタデータ(静止画データ又は動画データ)をキャラROM(画像ROM322)からVRAM312a(606,607)へデータ転送する処理も同時に行われる。ただし、既にVRAMに同じものが存在する場合はこのデータ転送は行わない。また、単色四角形の場合には、キャラROMのデータを使用しないので、このデータ転送は必要ない。ここで、属性とは、キャラクタの基本情報のことであり、例えばαモード、カラーモード(何色表示かなど)、キャラクタサイズ、カラーパレット指定、他がある。
〔キャラクタ描画処理〕
次に、前述の演出表示編集処理におけるステップE58で実行されるキャラクタ描画処理の詳細について図154により説明する。
このルーチンが開始されると、まずステップE61で、モーション管理領域Xにおける対象の表示情報領域(変数iに対応する表示情報領域)から表示左上点のX座標と表示左下点のX座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE62に進み、不一致ならばステップE77に進む。
ステップE62に進むと、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標と表示右上点のY座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE63に進み、不一致ならばステップE77に進む。
なお、四角形(矩形)の画像であれば、ステップE61及びE62の判定結果はYESになってステップE63に進むが、三角形キャラクタ(三角形の画像)である場合には何れかの判定がNOになってステップE77に進む。
ステップE77に進むと、三角形キャラクタ描画処理(説明は省略)を実行してリターンする。
次に、ステップE63に進むと、ステップE63乃至E67を順次実行した後にステップE68に進む。
ステップE63では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これをキャラクタの左上基点X座標として設定する。
ステップE64では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これをキャラクタの左上基点Y座標として設定する。
ステップE65では、モーション管理領域Xにおける対象の表示情報領域から表示右上点のX座標と表示左上点のX座標のデータを読み出し、これらの差(=表示右上点のX座標−表示左上点のX座標)をキャラクタの幅データとして設定する。
ステップE66では、モーション管理領域Xにおける対象の表示情報領域から表示左下点のY座標と表示左上点のY座標のデータを読み出し、これらの差(=表示左下点のY座標−表示左上点のY座標)をキャラクタの高さデータとして設定する。
ステップE67では、水平フリップ(水平方向の反転)なしと、垂直フリップなしとを設定する。ここで、水平フリップは水平方向(X座標方向)の画像反転を意味し、垂直フリップは垂直方向(Y座標方向)の画像反転を意味する。
ステップE68に進むと、ステップE65で設定された幅データが0未満(即ち、マイナスの値)か判定し、0未満ならば水平フリップありなのでステップE69乃至E71を順次実行した後にステップE72に進み、0未満でない場合には水平フリップなしなのでステップE69乃至E71を実行しないでステップE72に進む。
ステップE69では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これにステップE65で設定した幅データ(マイナス値)を加算した加算結果をキャラクタの左上基点X座標として更新設定する。
ステップE70では、ステップE65で設定した幅データ(マイナス値)を正数に変換し、これを新たな幅データとして更新設定する。
ステップE71では、水平フリップありを設定する(ステップE67の設定を変更する)。
ステップE72に進むと、ステップE66で設定された高さデータが0未満(即ち、マイナスの値)か判定し、0未満ならば垂直フリップありなのでステップE73乃至E75を順次実行した後にステップE76に進み、0未満でない場合には垂直フリップなしなのでステップE73乃至E75を実行しないでステップE76に進む。
ステップE73では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これにステップE66で設定した高さデータ(マイナス値)を加算した加算結果をキャラクタの左上基点Y座標として更新設定する。
ステップE74では、ステップE66で設定した高さデータ(マイナス値)を正数に変換し、これを新たな高さデータとして更新設定する。
ステップE75では、垂直フリップありを設定する(ステップE67の設定を変更する)。
そして、ステップE76に進むと、ここまでの処理(ステップE63乃至E75)による設定に基づいて、前記ステップE51、E53、E55の何れかでロードされた画像インデックスのデータに対応する所定のキャラクタの画像をVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、所定のキャラクタのスプライトを仮想描画空間に貼り付ける処理)を実行し、その後リターンする。
〔表示左図柄変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行される表示左図柄変換処理の詳細について図155の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップE81乃至E83を順次実行した後にステップE84に進む。
ステップE81では、画像インデックスのデータ(ビヘイビアによる差替え前のデータ)をロードする。
ステップE82では、表示すべき現図柄(左)のインデックス(図柄番号)のデータ(例えば、前述のステップD727又はD747で設定されたデータ)をロードする。なお本例の場合、図柄の種類が9種類であるため、図柄(特図の飾り図柄)のインデックス(図柄番号)のデータは0から8までの何れかの数値である。
ステップE83では、ステップE81でロードした画像インデックスに設定されていた現図柄(左)のインデックスのデータに、ステップE82でロードした現図柄(左)のインデックスのデータを加算し、この加算結果を更新インデックスとして設定する。例えば、ステップE81でロードした差替え(変換)前の画像インデックスの値が例えば0であり、ステップE82でロードした差替えようとする現図柄(左)のインデックスのデータが6であった場合には、上記ステップE83では6(=0+6)を更新インデックスの値として設定する。
次に、ステップE84に進むと、ステップE83で設定した更新インデックスのデータが図柄上限(本例では、8)を超えているか判定し、超えている場合にはステップE85を実行後にステップE86に進み、超えていない場合にはステップE85を実行しないでステップE86に進む。

ステップE85では、図柄上限に1を加算した値(本例では、9)を、更新インデックスの値から減算し、この減算結果を新たな更新インデックスの値として設定する。これらステップE84、E85によれば、更新インデックスの値が図柄上限を超えると、更新インデックスの値が一巡した値に更新される。
ステップE86に進むと、左図柄インデックス変換テーブルを設定し、ステップE87に進む。左図柄インデックス変換テーブルは、更新インデックスにより行が指定され、指定された行に表示すべき左図柄の画像インデックスの値が設定されているテーブルである。
ステップE87では、ステップE86で設定された左図柄インデックス変換テーブルにおける更新インデックスで指定される行から新たな画像インデックスの値を取得し、ステップE88に進む。
そして、ステップE88では、ステップE87で取得した値を、新たな画像インデックスの値として画像インデックス領域(画像インデックスをセーブする領域)にセーブし、その後リターンする。
なお、表示左図柄変換処理について以上説明したが、右図柄、中図柄についても同様の処理がある(詳細は省略)。
〔PB色変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行されるPB色変換処理の詳細について図155の右上側のフローチャートにより説明する。
このルーチンが開始されると、ステップE91乃至E94を順次実行した後にリターンする。
ステップE91では、演出振分け結果領域のPB色領域から振分け結果をロードする。
ステップE92では、PBインデックス変換テーブルを設定し、ステップE93に進む。PBインデックス変換テーブルは、上記PB色領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきPB(プッシュボタン)の画像の画像インデックスの値が設定されているテーブルである。
ステップE93では、ステップE92で設定されたPBインデックス変換テーブルにおける上記振分け結果で指定される行から新たな画像インデックスの値(PBインデックスの値)を取得し、ステップE94に進む。
そして、ステップE94では、ステップE93で取得した値を、新たな画像インデックスの値として画像インデックス領域にセーブし、その後リターンする。
なお、プッシュボタン予告のモーション制御データ(特に画像インデックスのデータ)としては、デフォルト色となるボタンキャラクタしか登録していないので、大当り信頼度の報知等のために色をデフォルト色から変える場合に、本ルーチン(PB色変換処理)が実行される。この予告に限らず、登場する武将のキャラクタをビヘイビアにより変換(差替え)したりする処理も存在する。
〔リーチ文字変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行されるリーチ文字変換処理の詳細について図155の右下側のフローチャートにより説明する。
このルーチンが開始されると、ステップE101乃至E103を順次実行した後にステップE104に進む。
ステップE101では、演出振分け結果領域のリーチ文字領域から振分け結果をロードする。
ステップE102では、リーチ文字インデックス変換テーブルを設定し、ステップE103に進む。リーチ文字インデックス変換テーブルは、上記リーチ文字領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきリーチ文字の画像の画像インデックスの値が設定されているテーブルである。
ステップE103では、ステップE102で設定されたリーチ文字インデックス変換テーブルにおける上記振分け結果で指定される行から新たな画像インデックスの値(リーチ文字インデックスの値)を取得する。
そして、ステップE104に進むと、ステップE103で取得したリーチ文字インデックスが「文字なし」を示す値か判定し、YESならばステップE105で当該リーチ文字のキャラクタ(画像)の大きさを0に設定した後にリターンし、NOならばステップE105を実行しないでリターンする。
なお本例では、リーチが発生した瞬間に表示される「リーチ!」や「戦機」「勝利」などのリーチ文字についても、モーション制御データ(特に画像インデックスのデータ)ではデフォルト文字を表示する構成となっており、必要に応じてビヘイビアによって表示直前に文字変更や各文字の色違いなどの差し替えを行う。
以上説明したリーチ文字変換処理では、例えば大当り予告の信頼度が低信頼度での変動の場合にステップE105でその文字サイズを0にすることで、制御上リーチ文字が存在するが実際には見えないという制御を行っている。但し、表示しない手法を、この構成に限られない、例えばリーチ文字表示を行わない構成とすることもあり得る。
〔武将1セリフ変換処理〕
次に、前述の演出表示編集処理におけるステップE11で実行される武将1セリフ変換処理の詳細について図156により説明する。
このルーチンが開始されると、まずステップE111で、演出振分け結果領域のセリフSU領域から振分け結果をロードする。
次にステップE112で、ステップE111でロードした振分け結果に基づいてセリフSUがSU1系(SU2系やSU3系でないもの)か判定し、YESならばステップE117、E118を順次実行した後にステップE115に進み、NOならばステップE113に進む。
ステップE117では、演出振分け結果領域のセリフ1領域から振分け結果をロードし、次のステップE118で武将1SU1セリフインデックス変換テーブルを設定する。武将1SU1セリフインデックス変換テーブルは、上記セリフ1領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
次にステップE113に進むと、ステップE111でロードした振分け結果に基づいてセリフSUがSU2系(SU2系は出現キャラが一人)か判定し、YESならばステップE119、E120を順次実行した後にステップE115に進み、NOならばステップE114に進む。
ステップE119では、演出振分け結果領域のセリフ2領域から振分け結果をロードし、次のステップE120で武将1SU2セリフインデックス変換テーブルを設定する。武将1SU2セリフインデックス変換テーブルは、上記セリフ2領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
次にステップE114に進むと、ステップE111でロードした振分け結果に基づいてセリフSUがSU3系(SU3系は出現キャラが二人)か判定し、YESならばステップE121、E122を順次実行した後にステップE115に進み、NOならばステップE115に進む。
ステップE121では、演出振分け結果領域のセリフ3領域から振分け結果をロードし、次のステップE122で武将1SU3セリフインデックス変換テーブルを設定する。武将1SU3セリフインデックス変換テーブルは、上記セリフ3領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
次に、ステップE115に進むと、直前のステップ(ステップE118、ステップE120、ステップE122等のうちの何れか)で設定されたセリフインデックス変換テーブルにおけるロードされた振分け結果で指定される行から新たな画像インデックスの値(セリフインデックスの値)を取得し、ステップE116に進む。
そして、ステップE116では、ステップE115で取得した値を、新たな画像インデックスの値として画像インデックス領域(ビットマップインデックス領域)にセーブし、その後リターンする。
なお、セリフSUの種別としてSU1系、SU2系、SU3系以外の種別があってもよく、その場合図156の波線で省略した箇所に対応する処理ステップが設けられる。
〔VDP割込み処理〕
次に、VDP割込み処理を、図157により説明する。図6に示したように、演出制御装置300において、CPU311には割り込み要因であるVDP312から割込み信号INT0〜nが入力されており、割込み要因が発生した割込み信号INT0〜nによってCPU311では複数(最大2のn乗個)の割込み(以下、「VDP割込み」という)が受け付け可能である。本例の場合、このVDP割込みには、Vブランク開始割込み、Vライン開始割込み、描画コマンドINT割込み、描画エラー割込み、描画終了割込み、データ転送1完了割込み、データ転送2完了割込み、データ転送3完了割込み、チェックサム終了割込み、圧縮展開イベント割込み、シリアルコマンド割込み、がある。
本ルーチン(VDP割込み処理)は、この複数のVDP割込みのうちの少なくとも何れか1つが発生すると開始される。なお、この複数のVDP割込みのうちの少なくとも何れか1つが発生すると、この割込み発生を示す割込みフラグのオンデータがCPU311のレジスタに設定される。
本ルーチンが開始されると、ステップE131乃至E144を順次実行した後にリターンする。
ステップE131では、前記割込み信号INT0〜nを読み取ることにより、各割込み要因のステータス(前記複数のVDP割込みの発生の有無の情報)を取得する。なお、このステータスの情報はVDP312の割込み用のレジスタに設定されている。
ステップE132では、ステップE131で上記ステータスを読み取ったため、各割込み要因をクリアする。即ち、上述した各割込み要因のステータスのデータ(VDP312の割込み用のレジスタのデータ)を全て割込み無しの値に戻す設定を実行する。なお図6に示したように、CPU311とVDP312は双方向通信が可能となっており、このステップE132の設定はこの通信によって行う。
ステップE133乃至E143では、ステップE131で取得したステータスに基づいて、それぞれ、各割込みについての処理(割込みの有無を判定してフラグを設定する等の処理)を実行する。
ステップE144では、前記割込みフラグをクリアする。即ち、前記割込みフラグのオフデータをCPU311のレジスタに設定する。
なお、このように演出制御装置300にはVDP312の各種割込みを監視する機能があるが、全てを使うとは限らない。
また、各割込みの発生条件等は以下のとおりである。
・Vブランク開始割込み;Vブランク期間の開始時に割込みが発生する。
・Vライン開始割込み;(ユーザが)指定した表示ラインの開始時に割込みが発生する。
・描画コマンドINT割込み;描画コマンドの解析を中断する場合に発生する。
・描画エラー割込み;描画回路が異常状態になった時に発生する。
・描画終了割込み;描画が終了した時に発生する。
・データ転送1〜3完了割込み;各メモリ間でのデータ転送が完了した時に発生する。
なお、データ転送は、画像ROM322、CPU311(RAM311a内のデータ又は制御ROM321内のデータ)、VRAM(1)606、VRAM(2)607等の間で転送できる。データ転送1〜3の3組がそれぞれ独立しているので同時に転送が可能だが、1>2>3の順で優先順位が設けられており、転送先が同一の場合などには待ちが発生する。
・チェックサム終了割込み;画像ROM322のチェックサムを自動で計算する機能があり(CPU311からの指示で)、計算終了時に発生する。
なお、チェックサムの計算について、計算を開始するアドレス、終了するアドレス、計算する単位(例えば32ビット単位/64ビット単位)等のパラメータを指定することが可能である。
・圧縮展開イベント割込み;動画の1フレームのデコードが完了した時、又はデコードエラーが発生した時に発生する。
・シリアルコマンド割込み;例えばシリアルインターフェースに接続した音源LSIにシリアルコマンドで指示を出し、その実行が終了した時に発生する。
〔Vブランク開始割込み処理〕
次に、前記VDP割込み処理におけるステップE133で実行されるVブランク開始割込み処理を、図158により説明する。なお、Vブランク開始割込み(Vブランク割込み、或いはVシンク割込みともいう)は、VDP312によって描画のための画面全体の1回の走査が終了する度に発生する。このVブランク開始割込みの発生周期は、前述したように、例えば1/60秒である。
本ルーチンが開始されると、まずステップE151で、前述のステップE131で取得したステータスに基づいてVブランク開始割込みが発生しているか否か判定し、発生していればステップE152に進み、発生していなければステップE152以降を実行しないでリターンする。
ステップE152に進むと、Vブランクカウントの値を1だけ増やす更新を実行し、その後ステップE153に進む。Vブランクカウントは、同じ描画を所定回数(本実施例では2回)実行するためのカウンタである。前述のメイン処理におけるステップD33で説明したフレーム切替タイミングは、原則的に、このVブランクカウントが所定値(本実施例では2)に到達した時点である。つまり本例では、Vブランクカウントが瞬間的に2になる時(ステップE152の更新後に2になってステップE155で0クリアされるまでの瞬間)を除けば、Vブランクカウントの値は正常であれば0⇔1を交互に繰り返し、結果としてVブランク割込み2回毎にフレームを切り替える。Vブランク割込みは1/60秒毎に発生するので、1/30秒毎(33.333ms)にフレーム切り替えを行うことになる。
ステップE153に進むと、圧縮展開の実行結果はエラーか否か判定し、エラーならばステップE154以降の処理を実行しないでリターンし、エラーでなければステップE154に進む。ここで、圧縮展開の実行結果とは、圧縮されたムービーのデータを展開する処理が成功したか否かの結果を意味する。この圧縮展開の実行結果を示す判定値が、ステップE142の圧縮展開イベント割込み処理で設定される構成となっており、このステップE153の判定は、この判定値に基づいて実行される。なお、このステップE153があることにより、処理時間オーバーなどによりムービーの展開に失敗すると、Vブランクカウントが所定値に到達していてもフレーム切替は実行されず、同じ描画が繰り返されることになる。
ステップE154に進むと、Vブランクカウントの値が所定値以上か否か(本例では1より大きい値か否か)判定し、所定値以上ならば(1より大きい場合には)ステップE155乃至E158を順次実行した後にリターンし、所定値以上でなければ(1より大きくない場合には)ステップE155以降を実行しないでリターンする。このステップE154は、フレーム切替タイミングになったか否かを実質的に判定している。なお本例では、既述したように同じ描画を2回実行すると、原則的に(即ち、圧縮展開の実行結果がエラーでなければ)、このフレーム切替タイミングになる。但し、2回に限定されず、3回以上であってもよい。
ステップE155乃至E158は、描画内容を切り替えるフレーム切替のための処理である。ステップE155では前述のVブランクカウントを0クリアし、ステップE156ではフレーム切替フラグのオンデータをセットし、ステップE157ではフレームバッファを切り替え、ステップE158では対応するフレームバッファ(切り替え後のフレームバッファ)の画面表示(表示用データ生成)を許可する。
ここで、ステップE156で設定されるフレーム切替フラグは、前述したメイン処理におけるステップD33で使用される。即ち、前述のステップD33では、このフレーム切替フラグのオンデータがセットされていると、フレーム切替タイミングであると判定する構成となっている。また、ステップE158では、表示回路608がVRAM(1)606へのアクセスを行い、表示用データを生成するのを許可している。
また、フレームバッファは、ステップE59、E76で記述した仮想描画空間に相当し、VDP312内のVRAM(1)606により構成されるバッファである。このフレームバッファとしては、本実施例の場合、フレームバッファ番号が0番のものと、フレームバッファ番号が1番のものとがある。そして本実施例では、例えば表示用のフレームバッファが0番ならば、1番のフレームバッファは描画作業用となり、交互に表示用として使用される。上記ステップE157では、表示用のフレームバッファを次のものに切り替える処理(本例では、0番から1番へ、或いは1番から0番へ切り替える処理)を実行する。またステップE158では、ステップE157で切り替えた表示用のフレームバッファの表示用データ生成を許可する。
以上説明したVブランク開始割込み処理によれば、圧縮展開のエラーが発生しない限り、同じ描画が所定回数繰り返されてVブランク開始割込みが所定回数発生するとフレーム切替が行われる。本実施例の場合、同じ描画が2回繰り返されてVブランク開始割込みが2回発生するとフレーム切替が行われ、フレーム切替タイミングの周期は、Vブランク開始割込みの周期(例えば1/60秒)の2倍(例えば1/30秒≒33.33ms)になる。
〔サブ間通信のパケット構成例〕
次に、サブ間通信のパケット構成例を図159により説明する。
本例のサブ間通信のパケット構成は、図の上側の表に示すようなデータ構成となっている。各データの説明が図の下側に記載してある。即ち、1バイトのデータがNo.1からNo.12まで合計12個あり、全体の容量(1パケットの容量)は12バイトである。
No.1は、パケット先頭を表すパケット開始コード(STX)のデータ(例えば02H)である。
No.2は、パケットサイズ、即ちサブ間送信データ数(SIZE)のデータ(この場合、12バイトを示すデータ)である。
No.3は、送信元ID(SID)のデータ(端末ID及びグループID)である。
No.4は、送信先ID(DID)のデータ(端末ID及びグループID)である。なお、送信元ID(SID)と送信先ID(DID)のデータは、それぞれ、1バイトのうちの上位ビットがグループID、下位ビットが端末ID(及びブロードキャスト)となっている。ここで、端末IDの範囲は16進数で例えば00乃至0Eの範囲となっており、上記下位ビットのデータが0Fのときには前述のブロードキャストコードのデータとして取り扱われる構成となっている。
No.5は、サブ間メーカコード(MAKER)のデータである。
No.6は、西暦コード(YEAR)のデータ(例えば西暦下2桁)である。
No.7は、サブ間機種コード(TYPE)のデータである。
No.8は、サブ間コマンドMODE(SB_MODE)のデータである。
No.9は、サブ間コマンドACT(SB_ACT)のデータである。
No.10は、自機のゲーム状態を表すSTSのデータである。
No.11は、STXからSTSまでのデータのチェックサムある。
No.12は、パケット終端を表すパケット終了コード(ETX)のデータ(例えば03H)である。
なお、以上説明したサブ間通信のパケット構成例は、あくまで一例であり、各種の態様があり得る。例えば、データは各々1バイト構成でなくてもよいし(例えば、機種コードを複数バイトにするなど)、送る順番も上記構成例の態様に限られない。また、他の意味を持つデータがあってもよいし、逆にデータ数が上記構成例よりも少なくてもよい。また、送信順において、例えば「メーカコード」を2番目に持ってくる態様としてもよい。この態様であると、他メーカの遊技機からのコマンドを効率良く破棄したり、逆に他メーカとのコラボするために対応する受信処理(他メーカコマンド受信処理)に分岐させて効率良く処理したりすることができる。ここで、他メーカコマンド受信処理とは、メーカ毎でコマンド形態が違う場合に、他メーカのコマンド形態に対応したコマンド受信をするための処理である。
〔演出制御用データテーブルと演出表示の具体例〕
次に、以上説明した演出制御装置300の制御で使用するデータテーブルの具体例と、同制御により表示装置41の表示部41a(画面)で行われる演出表示の具体例とを、図160乃至図182により説明する。
まず図160は、ACTIONチェックテーブルと一致チェックテーブルの具体例であり、前記ステップD62、D94等において既に説明した。
次に図161は、はずれ時ACT整合チェックアドレステーブルとACT整合チェックテーブルであり、変動パターン対応図柄判定処理の前記ステップD124において既に説明した。
次に図162は、大別パターンテーブルの具体例であり、変動パターン分類処理の前記ステップD365等において既に説明した。
次に図163は、静止画ROMメンバリストテーブルの具体例であり、ビットマップ追加処理の前記ステップD878等において既に説明した。
次に図164は、動画ROMメンバリストテーブルの具体例であり、動画追加処理の前記ステップD897等において既に説明した。
次に図165は、モーション用リストテーブルの具体例であり、変動演出設定処理の前記ステップD294等において既に説明した。
次に図166及び図167は、予告振分テーブルの具体例であり、変動演出設定処理の前記ステップD272等や乱数抽選処理Aの前記ステップD371等において既に説明した。
次に図168は、図柄変動リストテーブルの具体例であり、リーチなし変動設定処理の前記ステップD315等において既に説明した。
次に図169は、シナリオテーブル(特図1通常変動時)の具体例であり、シナリオ解析処理の前記ステップD586等において既に説明した。
次に図170は、モーションテーブル(左図柄通常変動開始時)の具体例であり、モーションコマンド実行処理の前記ステップD823等において既に説明した。
次に図171は、図170に示したモーションテーブルによる表示結果の一例である。
この図に示すように、表示画面41aの左上隅が原点(X座標=0、Y座標=0)となっており、上下方向がY軸方向であるため、表示画面41aの左下隅はX座標=0でY座標=767となっている。また、表示画面41aにおいて左右方向がX軸方向であるため、表示画面41aの右上隅はX座標=1023でY座標=0となっており、表示画面41aの右下隅はX座標=1023でY座標=767となっている。なお、このような座標の具体的数値は一例にすぎない。
図171の(a)は、上記モーションテーブルの最初のフレーム(a)に対応している。虎のキャラクタの画像を含む図柄「2」が次図柄(オブジェクトインデックス0)であり、同じく図柄「1」が現図柄(オブジェクトインデックス1)であり、同じく図柄「9」が前図柄(オブジェクトインデックス2)であり、これらオブジェクトは、上記モーションテーブルの1行目から6行目によって追加登録されてビヘイビアが設定される。また、上記モーションテーブルの7行目から9行目で、これらオブジェクトの表示位置や大きさがそれぞれ設定され、これにより図171の(a)に示す表示が行われる。但し、次図柄は実際には全体が画面の外の位置にあって見えないし、前図柄も一部しか見えない。
また、図171の(b)は、上記モーションテーブルの2番目のフレーム(b)に対応している。各オブジェクトの図柄やビヘイビアの設定は最初のフレーム(a)のままであり、上記モーションテーブルの11行目から13行目で、これらオブジェクトの表示位置や大きさが設定され、これにより図171の(b)に示す表示が行われる。この場合、Y座標の値が最初のフレーム(a)よりも全て−8だけ変更され(例えば、オブジェクトインデックス1の現図柄は、Y座標の値が7から−1に変更され)、これにより各図柄が表示画面41aにおいて上に若干移動している。これは、各図柄が変動開始時に一旦ホップ(若干上昇)した後に下方向にスクロール(変動)する動作における、一旦ホップする動きの一部である。上記モーションテーブル(図170)の3番目、4番目のフレーム(c)、(d)もY座標が順次−8だけ変更されている。
次に図172の上側は、各図柄の初期位置の状態(前述したホップする動作を除いて一番上にある状態)を示し、前述した図171の(a)と同じ表示となっている。
また、図172の下側は、各図柄が移動範囲の一番下までスクロールした状態を示している。
各図柄の変動表示としての表示位置の移動(スクロール)は、上述した二つの状態の範囲で行われる。
例えば、現図柄が移動範囲の一番下までくると、次は図柄番号を更新(+1)した状態で移動範囲の序盤の値に戻ることになる。この例でいうと、3つの図柄(図柄番号ではなく、現図柄・前図柄・次図柄で考えた場合)が各々の狭い有効範囲内を繰り返し動いているだけとなっている。上に戻る時に図柄番号が+1されるので(即ち、例えば図柄「1」から図柄「2」へ切り替えられるので)、同一の図柄が画面外上方から画面外下方へスクロールしているように見える。
そして、y座標が100ずつ加算される速度で変動する場合、現図柄は7→107→207→307→407→7→107→・・・の値で変動制御される。7になる時に表示される図柄番号が+1される。左図柄の前図柄、次図柄も同様であり、中図柄や右図柄の現図柄、前図柄、次図柄も同様である。
この手法のメリットとしては、現在制御の中心となっている図柄番号がいくつであるかを判断しやすいと言う点である。上記図172の例では図柄番号「1」が中心であり、前図柄はそれの1つ前の「9」、次図柄は1つ後の「2」であることを相対的に計算できる。座標が上に戻った時は、中心となる図柄は「2」というように制御対象を1つに絞ることができるためシンプルな構造にできる。
これが「現図柄、前図柄、次図柄」という分け方ではなく、同一の図柄を上から下まで動かす手法だと、各々が独立した3つの図柄として存在することになるので、基準となる図柄が存在しないことになり、図柄差し替え時などにおいて制御し難い、全て管理する必要があるなどの問題があるが、本例であればそのような問題が解消される。
なお、上記範囲分けは通常変動時の場合である。リーチ中(リーチアクション中)などは図柄の位置が色々変化したりするのでこの限りではない。但し、リーチ中などでも、現図柄、前図柄、次図柄等の区分けの考え方は残る。
次に図173は、特図1第4図柄変動時のモーションテーブルの一例である。1行目から11行目までが最初のフレームであり、このうち1行目から3行目において、オブジェクトインデックス0として第4図柄「青」を、オブジェクトインデックス1として第4図柄「青」を、オブジェクトインデックス2として第4図柄「白」を、それぞれ登録する。次に、4行目ではオブジェクトインデックス2をビヘイビアインデックス0で差替え、5行目ではオブジェクトインデックス3として第4図柄「白」を登録し、6行目ではオブジェクトインデックス3をビヘイビアインデックス0で差替える。そして、7行目から10行目でオブジェクトインデックス0〜3の4個のオブジェクトの表示位置を設定し、11行目の終了コードで1フレーム分の設定を終了する構成となっている。
ここで、上記4個のオブジェクトのうち、オブジェクトインデックス0とオブジェクトインデックス1のオブジェクトは、後述する図174においてそれぞれ符号TZ10、TZ11で示す特図1の第4図柄の画像である。また、オブジェクトインデックス2とオブジェクトインデックス3のオブジェクトは、後述する図174においてそれぞれ符号TZ20、TZ21で示す特図2の第4図柄の画像である。
次に図174は、第4図柄の表示例を示す図である。
この図174の上段には、画面41aに特図の飾り図柄(左・中・右)としてまず停止態様「2,4,1」が表示されている状態(イ)と、その後この停止態様から変動開始している状態(ロ)(次図柄は「3,5,2」)とが上下に図示されている。そして、いずれの状態でも、画面41aの左下部には、第4図柄の画像TZ10、TZ11、TZ20、TZ21が表示されている。これら第4図柄の画像TZ10、TZ11、TZ20、TZ21は、本例の場合には菱形の画像であり、左側の縦2個の画像TZ10、TZ11が特図1の第4図柄であり、右側の縦2個の画像TZ20、TZ21が特図2の第4図柄である。本例の場合、飾り図柄の左・中・右図柄と第4図柄の2個の画像の色の組合せで、確変図柄か否かを示す。例えば、飾り図柄が「4、4、4」であり第4図柄が「青、青」の場合には通常の大当り、飾り図柄が「4、4、4」であり第4図柄が「青、橙」の場合には確変大当り(大当りの特賞期間後に大当り確率が高められる大当り)、といったように設定されている。また、はずれ時は、本例では第4図柄が「白、白」の1パターンとなっている。
また、図174の上段における上の状態(イ)(停止態様)では、特図1が外れ態様「2,4,1」で停止した状態であるため、特図1の第4図柄(画像TZ10、TZ11)も外れ態様「白、白」で停止しており、この際、特図2の第4図柄(画像TZ20、TZ21)は前回特図2変動時の停止態様を表示している。そして、図174の上段における下の状態(ロ)(次の特図1の変動開始時)では、飾り図柄(左・中・右)は前回停止態様「2,4,1」から変動開始しているが、第4図柄(この場合、特図1の第4図柄TZ10、TZ11)は直前の停止態様にかかわらず毎回サイクルの最初の態様、即ち本例では「青、青」から変動を開始する構成となっている。これは、第4図柄の変動開始時のモーションテーブルが、前述した図173のようにオブジェクトインデックス0とオブジェクトインデックス1のオブジェクトを変動開始当初に第4図柄「青」に設定する構成だからである。
このように本例では、左・中・右図柄は前回の停止図柄の続きの番号から続いて変動するが、第4図柄は前回変動の停止図柄によらず、毎回固定の図柄パターンで変動するようにしたのが本例の特徴である。上記図173の例は特図1が変動する場合なので、特図2側の第4図柄(オブジェクトインデックス2,3)はビヘイビアを用いて前回停止図柄(前回の特図2変動時の停止図柄)への差し替えを行うが、特図1側(オブジェクトインデックス0,1)はそのような差し替えを行わず固定図柄パターンの表示を行うようになっている。このようにすることで、図柄差し替えの回数が大幅に減り(特図1の図柄に関しては差し替えを行っていないため)、CPUの負担を減らす事が出来るし、データ容量の削減にも繋がる。なお、上記図173の例は特図1と特図2の図柄を同時に制御するモーションテーブルとしているが、別々のテーブルとしても良い。
また、図174の中段は、特図1の第4図柄の変動表示サイクル例を示している。この例では、特図1の第4図柄が、「青、青」→「青、黄」→「青、橙」→「黄、青」→「黄、黄」という変化(「黄、黄」の後は、その他のいろいろな色(赤、緑、桃などが含まれてもよい)の組み合わせを経て「青、青」に戻る)を繰り返す構成となっている。
ここで、上記サイクル例では、サイクル中に外れの組合せ「白、白」を入れない構成となっている。これにより、第4図柄の変動の上記サイクルの周期や、第4図柄の組合せの数などが遊技者に容易に分かってしまい興趣が低下する問題が解消される。即ち、色の各種組合せの中で、白を入れると、白は目立つので周期が見えてしまい、分かり難くするための第4図柄なのに、組合せの数などが遊技者に容易に知られてしまう可能性もある。しかし、本例のように白を含まない構成であれば、このような課題が解消される。
但し、上記構成に限定されず、白を入れる構成でもよい。
また、図174の下段は、特図1の第4図柄の変動から停止までのサイクル例を示している。この例では、第4図柄の変動が必ず固定パターンである「青、青」から開始するサイクルで実行される。
但し、第4図柄の変動は、上述のように毎回同じ態様から開始される構成に限定されず、前回の停止態様に続く動きをする構成でもよいし、前回の停止図柄から変動を開始する構成でもよい。例えば、図174の下段では、「黄、青」で停止している箇所(左から4番目)があり、この箇所の次の変動を「青、青」から開始しているが、続く動きをするのであれば変動開始は「黄、黄」となるはずであり、最初に前回の図柄を表示するのであれば「黄、青」となるはずであり、そのような構成としてもよい。
次に図175は、左図柄通常変動時のモーションテーブルの連結例である。このモーションテーブルの連結は、前述したシナリオテーブルによって行われる。まず、図175の上段に示すモーションテーブル(Mdat0000)は、例えば後述の図178に示すシナリオテーブルの20行目(//19)によってモーションインデックス0が設定され、これにより図165のモーション用リストテーブルの1行目(左図柄停止)が指定されることによって設定される。そして、このモーションテーブル(Mdat0000)により、図柄「1」がオブジェクトインデックス0として登録され(1行目)、次いでこの図柄がビヘイビアインデックス0で指定されるビヘイビアによって所定の図柄に差し替えられ(2行目)、3行目で指定された表示位置に停止図柄として表示される。このモーションテーブル(Mdat0000)のようなモーションテーブルは、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1通りづつしか登録しないようにし、基本キャラクタとしてテーブル上に登録するのは、内部制御上一番若い番号のキャラクタ(例えば、キャラROM(画像ROM322)における登録上一番若いアドレスのキャラクタであり、この場合、停止図柄「1」)としている。この構成によれば、内部制御上一番若い番号のものを基準としているので、ビヘイビア(変更処理)によるキャラクタ差し替え等の差分値を算出するのが容易で、制御がしやすい、効率良く制御を行えるようになり、開発効率も向上するという効果がある。また、同一の動きなら1通りづつしかモーションテーブルを登録しないので、データ容量の肥大化を防止できる効果もある。
次いで、図175の中段に示すモーションテーブル(Mdat0003)は、例えば図図169に示したシナリオテーブル(MS_LZ100)の1行目によってモーションインデックス3が設定され、これにより図165のモーション用リストテーブルの4行目(左通常変動(前半))が指定されることによって設定される。そして、このモーションテーブル(Mdat0003)により、前述した図170で説明した場合と同様に、次図柄、現図柄、前図柄がそれぞれ登録され、左図柄の通常変動(前半)の表示が行われる。なお、図175の中段と図170は、同じモーションテーブル(Mdat0003)を示している。
次いで、図175の下段に示すモーションテーブル(Mdat0004)は、例えば図169に示したシナリオテーブル(MS_LZ100)の4行目によってモーションインデックス4が設定され、これにより図165のモーション用リストテーブルの5行目(//4左通常変動(後半))が指定されることによって設定される。そして、このモーションテーブル(Mdat0004)により、次図柄、現図柄、前図柄がそれぞれ登録され、左図柄の通常変動(後半)の表示が行われる。
以上、左図柄についてのみ説明しているが、右図柄や中図柄、或いは他のオブジェクトについても同様である。
このようにシナリオテーブルは、ブロック化された表示演出を指定するモーションテーブルを自在に複数組み合わせて一連の長大な演出を容易に構成することができる。
次に図176の上段は、シナリオテーブル(プッシュボタン予告時)の具体例であり、PB予告用シナリオデータ設定処理のステップD455や、シナリオ解析処理の前記ステップD586や、PB判定分岐処理等において既に説明した。
次に図176の下段は、モーションテーブル(プッシュボタン予告時)の具体例であり、PB予告用シナリオデータ設定処理のステップD455や、モーションコマンド実行処理の前記ステップD823等において既に説明した。
次に図177は、シナリオテーブル(客待ちデモ時)の具体例であり、シナリオ解析処理の前記ステップD585等や、定数ウェイト処理、繰り返し処理等において既に説明した。
次に図178は、特図の変動表示演出のエンディング時に使用するシナリオテーブルの一例である。
ここでは、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しないようにするため、エンディング期間中に所定時間の図柄表示期間を設けた。この例では、27行目(//26)において定数ウェイトコードを設定し、そのウェイト時間値を30(即ち、1秒間)としている。これにより、20行目(//19)、22行目(//21)、及び24行目(//23)でモーション登録した左・右・中の停止図柄表示が、所定時間(この例では、1秒間)継続し、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しない。
また、図178の18行目(//17)の背景設定は、モーションインデックスの値が(−1)に設定されているため、前述したモーション登録処理のステップD637でNOとなり、RAMのモーションインデックス領域の値がモーションインデックスとして使用される。これは、エンディング終了後に表示する背景に合わせなくてはならないが、この時点では確率情報コマンドを受信していないので、既に受信している図柄コマンドやファンファーレコマンド、エンディングコマンド等の情報から予測して背景選択を行う必要があるためである。また、遊技制御装置から確変図柄の図柄コマンドが送られていたとしても、演出制御装置側で通常図柄(非確変図柄)での当りに見せかけるという演出を行う可能性もあるので、コマンドだけでなく演出制御装置の内部情報も使用する必要があるためである。なお、上記エンディングシナリオの終了時に確率情報コマンドが送られてくるが、表示内容と問題なければそのまま継続すればよいし、問題があるのであればコマンドに対応する背景に切り替える構成となっている(遊技制御装置からのコマンドが最優先のため)。
次に図179は、モーションテーブルを共通化するための図柄ムービーの構成例である。これは、左図柄の仮停止の場合の例である。図柄が仮停止を始める時にキャラクタがアニメーションを行う演出手法がある。図179において、左上に示す(a)は図柄が変化なく停止する様子(静止画)であり、右上に示す(b)は図柄が変化しながら停止する様子(動画)を表している。本来、静止画と動画でモーションテーブルは共通にならないが(動画のデコードを行うデータの有無、追加コードの違いによる設定内容等による)、(a)のパターンを動画(各コマの画像が同じもの)としてデータを持つことにより、図179の下側に示すモーションテーブル(Mdat0005)のようにモーションテーブルを共通に使用する作りをしてもよい。そうすることでモーションテーブルの数を増やさなくてすむので制御ROM321の圧迫を防ぐこと(即ち、容量低減等)が可能になる。
なお、図179の下側に示すモーションテーブル(Mdat0005)は、図169に示したシナリオテーブル(MS_LZ100)の7行目によってモーションインデックス5が設定され、これにより図165のモーション用リストテーブルの6行目(左仮停止)が指定されることによって設定される。
次に、図180及び図181は巻物予告時のモーションテーブルの一例であり、図182は巻物予告時の実際の画面表示の一例である。
このうち、図180の(a)は閉じている巻物が画面外上方から落下してきて、画面ほぼ中央で静止し、所定時間のウェイトを行う動作aのモーションテーブルである。このモーションテーブルでは、1行目で「巻物閉青」(閉じた巻物)というオブジェクトをオブジェクトインデックス0として登録し、その後このオブジェクトインデックス0に対してフレーム毎に移動1コードを実行して表示位置のY座標の値がフレーム毎に大きくなる方向に変更する構成となっている。また、このモーションテーブルを指定するシナリオテーブル(図示省略)では、例えばこのモーションテーブル実行の次の行に定数ウェイトコードによる所定時間ウェイトを指令する行が設けられている。これにより、動作aの実際の画面表示では、図182の(a)に示すように、閉じた巻物が上方から落下して中央まできて静止して所定時間維持される映像が表示される。本例では、この所定時間のウェイト後に巻物が開放するか、閉じたまま画面下に落下していくかの2択の演出を行うことで遊技者に期待感を抱かせる構成となっている。
また、図180の(b)は、閉じたまま画面外に落下してく動作b(いわゆる一番残念な状態)のモーションテーブルである。このモーションテーブルでは、1行目で「巻物閉青」(閉じた巻物)というオブジェクトをあらためてオブジェクトインデックス0として登録し、その後このオブジェクトインデックス0に対してフレーム毎に移動1コードを実行して表示位置のY座標の値がフレーム毎に大きくなる方向に変更する構成となっている。これにより、動作bの実際の画面表示では、図182の(b)に示すように、閉じた巻物が中央から落下して画面外下方に消えてゆく映像が表示される。
なお本例では、図180の(a)及び(b)に示すように、モーションテーブルの1行目で登録する基本のキャラクタは巻物のガワの色が一番信頼度の低い「青」のキャラクタとしている。そして場合によっては、2行目でビヘイビアインデックス0のビヘイビアによりキャラクタ差し替え(この場合、色替え)を行うことで、例えば大当り信頼度に応じた演出を行える構成となっていて、これにより遊技の興趣を向上させている。この巻物の色の振分けは、図166の予告振り分け(C5:巻物色の振分け)により決定され、「緑」又は「金」に差し替えられる場合がある。
このように本実施例では、モーションテーブルは、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1通りづつしか登録しないようにし、予告演出のモーションテーブルにおいて、基本キャラクタとしてテーブル上に登録するのは、大当り信頼度の最も低いキャラクタ(上記例では、ガワの色が「青」の巻物)とした。この構成によれば、大当り信頼度の最も低いキャラクタを基本キャラとして登録することで、はずれ時も大当り時も共通に出現するキャラクタの可能性が高いことから、変更するための処理を共通にしやすく、効率良く制御を行えるようになり、開発効率も向上する。また、同一の動きなら1通りづつしかモーションテーブルを登録しないので、データ容量の肥大化を防止できる効果もある。
また、図181は、巻物が開いて文字が浮かび上がる動作cのモーションテーブルである。このモーションテーブルは、エフェクトタイプ指定処理の前記ステップD933等や、ビヘイビアインデックス設定処理の前記ステップD993等において既に説明したが、ここであらためて説明する。
このモーションテーブルでは、1番目の区間(ア)において、まず1行目(コマンド位置k=0;図では「//0」で示す行)で「巻物開青」(開いた巻物)という動画のキャラクタをオブジェクトインデックス0として登録し、その後、このキャラクタの色(巻物のガワの色)を差し替えるビヘイビアコードや、表示位置を設定する移動1コード等を実行する構成となっている。これにより、区間(ア)の実際の画面表示では、図182の(c)の(ア)に示すように、閉じている巻物が左右に広がるアニメーション表示が実行される。なお、開ききったところで所定時間のウェイトを行う構成となっている。また、区間(ア)の時点では、巻物には何も書かれておらず白地となっているように構成されている。
次に、2番目の区間(イ)においては、1行目(k=m+2;「//m+2」の行)で、「狼煙」(のろし)という文字のキャラクタをオブジェクトインデックス1として追加登録し、2行目以降で、このオブジェクトインデックス1に対してビヘイビアや表示位置やエフェクトを設定する構成となっており、エフェクトはエフェクトパラメータの値が徐々に増加するように設定されている。これにより、区間(イ)の実際の画面表示では、図182の(c)の(イ)に示すように、開いている巻物の白地部分に徐々に「狼煙」という文字が浮かび上がってくる表示が行われる。なお、表示しきったところで所定時間のウェイトを行う構成となっている。また、前述したように、エフェクトパラメータの数値(P)が透明度を表す。(例えばP/255の式で表される。P=255が100%見えている状態。)また、1行目で登録する基本の文字のキャラクタは「狼煙」というキャラクタとしているが、場合によっては、2行目でビヘイビアインデックス1のビヘイビアによりキャラクタ差し替え(この場合、文字替え)を行うことで、例えば大当り信頼度に応じた演出を行える構成となっていて、これにより遊技の興趣を向上させている。この文字の振分けは、図166の予告振り分け(C6:巻物文字パターン振分け)により決定され、「争乱」、「猛将」、「豪傑」又は「大器」に差し替えられる場合がある。
次に、3番目の区間(ウ)においては、3行目(k=o+3;「//o+3」)と5行目(k=o+5;「//o+5」)で、「巻物開青」のキャラクタと「狼煙」というキャラクタをそれぞれオブジェクトインデックス0、1としてあらためて登録し、4行目と6行目以降で、これらオブジェクトインデックス0、1に対してビヘイビアや表示位置やエフェクトを設定する構成となっており、エフェクトはエフェクトパラメータの値が徐々に低下するように設定されている。これにより、区間(ウ)の実際の画面表示では、図182の(c)の(ウ)に示すように、開いている巻物と文字が徐々に消えてゆく表示が行われる。なおこの例では、当該巻物と文字が消えきると動作終了となる構成となっている。
以上のような各プログラムを実行することにより、遊技制御装置100からコマンドが演出制御装置300に送信され、このコマンドに基づく演出制御装置300の制御によって各演出手段(表示装置41、盤装飾装置42、枠装飾装置43、盤演出装置44、枠演出装置45、スピーカ12a,12b等)による各種演出が実行される。例えば、表示装置41では飾り特図による変動表示ゲームが実行される。
具体的には、パチンコ機1の遊技中に、遊技球が特図の始動入賞口25又は26に入賞すると(即ち、特図の始動入賞があると)、特図の変動演出を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aにおいて特図(表示装置41での演出は飾り特図のことであるが、煩雑になるので、断りのない限り適宜、特図という)の変動表示が行われ、変動表示ゲームの停止結果態様が特別結果態様になれば大当りが発生し、はずれの場合には、はずれ図柄で停止する。
ここで、遊技制御装置100から演出制御装置300へ送信されるコマンドのうち、単独では演出を開始せず、組で効果を発揮するものがあるが、それは例えば特図変動開始時の「停止図柄コマンド+変動パターンコマンド」などである。実施例1では、停止図柄コマンド→変動パターンコマンドの順で送られてくる構成であるため、上記のように「停止図柄コマンド+変動パターンコマンド」という順の組み合せになる。
なお、「停止図柄コマンド」は「図柄指定コマンド」とも呼ぶことがあり、また、以下の説明では、「図柄指定コマンド」を適宜、「図柄コマンド」と短く表記して記述することがある。
特図の始動入賞に基づいて遊技制御装置100から演出制御装置300へ停止図柄コマンド及び変動パターンコマンドが順次送信されてきた場合、演出制御装置300では、送信されてきたコマンドに基づいて特図の演出制御を行う。
なお、停止図柄コマンド及び変動パターンコマンドは、組で効果を発揮する第1コマンドと第2コマンドにそれぞれ相当する。
また、図柄の変動中に始動口SWがONして始動記憶が発生すると、特図保留数=「1」を示す情報が表示装置41の画面に表示されるとともに、先読みコマンドや特図保留数コマンドが遊技制御装置100から演出制御装置300へ送信される。
複数で組となるコマンド(例えば、「停止図柄コマンド+変動パターンコマンド」)の受信が正常であれば、すなわち、先に送られる停止図柄コマンドと、後で送られる変動パターンコマンドとを正常に受信すると、組となるコマンドが成立したと判断して、組となるコマンドに基づいて演出制御装置300により表示装置41にて図柄変動の演出が行われる。
ここで、組となるコマンドの種類、内容などについて説明する。
組となるコマンドには、以下のようなものがあり、演出毎に区分して説明する。
(1)図柄変動
変動開始時に送信されるもので、「停止図柄コマンド」+「変動パターンコマンド」で組が成立する。「停止図柄コマンド」は、適宜、図柄コマンドと短く表記する。
(2)大当り中演出
これには、演出区間に合わせて、「演出画面コマンド」+「大当り図柄コマンド」で組が成立する。
また、演出画面コマンドには、以下のものがある。
(イ)ファンファーレ開始時=ファンファーレコマンド
(ロ)各ラウンドの開始時=ラウンド数に対応するラウンドコマンド
(ハ)インターバル開始時=インターバルコマンド
(ニ)エンディング開始時=エンディングコマンド
なお、「停止図柄コマンド」=「大当り図柄コマンド」の場合もある。
ここで、組となる複数のコマンドで効果を発揮するものは、上記のように、「停止図柄コマンド」+「変動パターンコマンド」の2つのコマンドの組み合わせであるが、これに限らず、例えばコマンドを3つ以上組み合わせた形態で効果を発揮するものであっても、本発明を適用できる。
「停止コマンド」は変動中などの図柄を停止させる指示を行うコマンドであるが、これは単独コマンドであり、組は構成しないものである。
なお、以下の説明で、「モーションデータ」とは、モーションテーブルのデータ(表示する画像データやその表示位置等を指定するデータ)を意味し、前述の「モーション制御データ」とは異なる。
そして本実施例では、表示装置41に表示する画面の描画制御において、シナリオデータ(シナリオレイヤ−)という概念が使用される。シナリオとは、例えば背景シナリオ、左図柄シナリオ、右図柄シナリオ、・・・等のように、図柄の変動演出を複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定し(詳細は後述)、それらを個別にシナリオとして制御し、全てのシナリオを合成することで、1画面の絵を生成する手法である。
複数のレイヤ(シナリオレイヤー)では、例えば背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けが行われ、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルとして設定される。
図183は表示装置41の演出で使用される表示構成要素及び表示画面の一例を示す図である。
まず、図183(a)は表示構成要素を示しており、ここでは以下のような要素に分けられている。
・背景
・左図柄
・右図柄
・中図柄
・予告キャラ(予告キャラクタであるが、予告キャラと略称している)
・プッシュボタンキャラ
(遊技者が操作する押ボタン式の演出ボタン9を押して出現するキャラクタであるが、プッシュボタンキャラと略称している)
・保留表示
・第4図柄
上記表示構成要素のうち、背景は表示装置41の画面上、最も奥に表示される表示要素であり、以下、左図柄、右図柄、・・・・・・・・第4図柄という順序で画面の手前側に表示される表示要素となるように配置される。よって、第4図柄が画面上、最も手前側に表示される表示要素となる。
そして、複数の表示構成要素毎に分けられて変動演出におけるシナリオテーブルが作成される。
図184(a)はシナリオテーブルを示すもので、ここでは下記のような要素に分けられて作成されている。
・背景制御のシナリオテーブル
・左図柄制御のシナリオテーブル
・右図柄制御のシナリオテーブル
・中図柄制御のシナリオテーブル
・予告キャラ制御のシナリオテーブル
・プッシュボタンキャラ制御のシナリオテーブル
・保留表示制御のシナリオテーブル
・第4図柄制御のシナリオテーブル
また、各表示構成要素はそれぞれがレイヤによって構成されて、これら複数のレイヤが奥側(背景レイヤ)から前側に向かって順次重ねられ、最前列が第4図柄レイヤとなって1つの表示画面が作成される。
次に、図183(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図183(b)において、701は背景、702は左図柄、703は右図柄、704は中図柄、705は予告キャラ、プッシュボタンキャラは図示略、707は保留表示、708は第4図柄を示し、各表示構成要素はそれぞれがレイヤ上に表示されている。
このような演出制御では、演出画面を生成するに際して、演出画面の表示構成要素に対応する複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定しておき、次いで、それらを個別にシナリオとして制御し、全てのシナリオをレイヤの形式で合成することで、1画面の絵が生成され、表示装置41の演出画面として表示されて図柄(特図)の変動演出が行われる。
例えば、図183(b)に示す例では、白い背景をバックにして、「3、5、7」という図柄が変動表示されるとともに、予告キャラクタとして星を表わすキャクターが中図柄「5」を横切るように各図柄の前面側に出現する演出が行われている。
一方、表示画面の下方には特図の保留表示が行われており、ここでは4個の保留状態が表示されている。なお、この保留表示は特図1についての例である。
なお、プッシュボタンキャラは図示を略しているが、これは演出中に遊技者が操作する押ボタン式の演出ボタン9を押した場合に、出現するキャラクタであり、その場合は奥側から6番目のレイヤにプッシュボタンキャラが表示されることになる。
このように、本実施例では演出制御装置300が制御する表示装置41の描画制御において、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルを各表示要素毎に設定し、遊技制御装置100からの演出コマンドに応じてシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。
したがって、上記構成によれば、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができるという効果が得られる。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するシナリオデータ設定手段と、
遊技制御装置からのコマンドに応じて、予め設定されたシナリオデータを表示要素毎に選択して合成し、1画面の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
上記発明概念の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2005−13477号公報に開示されたものでは、背景、図柄、予告キャラクタ等の表示要素についてそれぞれ異なる動画像データを複数持ち、遊技状態や遊技結果に対応して、当該表示要素毎に設けられる複数の動画像データを選択してそれらを合成して一つの変動表示ゲームを構成するようにしている。
しかしながら、表示装置における図柄の変動演出では、例えば変動出だしの動き、スローダウンして仮停止するまでの動き(送りコマ数やスベリなど)、予告演出の種類など、変動毎に行われる演出振り分けによって多様な組合せとなるため、全ての組合せに対して1つ1つの画面毎にシナリオデータ(例えば、異なる動画像データ)を作成すると膨大なデータ量となってしまう。
そこで本実施例では、演出制御装置300における特図の変動演出における描画制御では、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルを各表示要素毎に設定して、例えば(PROM(制御ROM)321に予め格納しておく。次いで、遊技制御装置100からの演出コマンドに応じて演出制御装置300ではシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。そうすることで、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができる。
特に、多様な組合せの演出を行う時には、表示要素毎に独立したシナリオ管理を行うようにしているので、組合せ分のシナリオテーブルを設けなくてよくなり、データ容量を削減できる上、開発工数も少なくできる。(作るテーブル数が少ないからである)。
また、特図変動演出の表示構成要素のほとんどはモードや乱数振り分け等で色々な動き方や表示されるキャラクタ等が異なる。そのため、図184(a)に示すように表示構成要素に対応した各々のシナリオテーブルがないと、変動演出がうまく制御仕切れない。
これに対して本実施例では、各表示構成要素に対応した各々のシナリオテーブルを設けているので、特図変動演出の際に表示構成要素がモードや乱数振り分け等で色々な動き方や表示されるキャラクタ等が異なったとしても、演出の制御が容易で、かつ開発効率も良くなる。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャートでは、以下が対応している。
・シナリオデータ設定処理:図110
・客待ち用シナリオデータ設定処理(客待ちデモ演出の場合):図109
・PB予告用シナリオデータ設定処理:図123
・シナリオ設定処理:図129
・シナリオ解析処理:図130、図131
・モーション登録処理:図132
・変動シナリオ切替処理:図139
・モーション制御処理:図141
・演出表示編集処理:図151、図152、図153
・描画コマンド準備終了処理:メイン処理(図98)のステップD32
・VDP割込み処理:図157
・Vブランク開始割込み処理:図158
また、シナリオテ−ブルはPROM(制御ROM)321に格納されている。すなわち、特図変動演出を行うに際して、表示キャラクタの描画制御のモーション情報を複数ある中から選択し、演出の流れに沿って、その選択したモーション情報を順次並べてテ−ブル状に定義したシナリオテ−ブルを予め作成してPROM(制御ROM)321に格納している。そして、上記シナリオテ−ブルは各種演出内容や表示構成要素(背景、左図柄、右図柄、・・・・・第4図柄)ごとに多数定義されており、演出制御装置300では遊技制御装置100からのコマンドに対応したシナリオテ−ブルを選択して演出が行われる。
次に、客待ち画面におけるデモ表示の場合について説明する。
図184(a)に示すシナリオテーブルは通常遊技状態のシナリオテーブルであり、いわゆる客待ち画面におけるデモ表示の場合には、通常遊技状態と異なり、図184(b)に示すようになっている。
すなわち、図184(b)に示す客待ちデモにおけるシナリオテーブルは、図184(a)に示す変動演出におけるシナリオテーブルと異なり、1つのテーブルの中に背景制御のシナリオテーブルから第4図柄制御のシナリオテーブルまでの各表示構成要素のモーション情報が統括制御されるように登録された構成になっている。したがって、客待ちデモにおけるシナリオテーブルは、客待ちデモ演出に特化した1つの統括制御のシナリオテ−ブルという形態である。
なお、客待ちデモ演出の他に、大当り演出や、ユーザーの遊技履歴・遊技機のカスタマイズ画面なども乱数によるランダム性が少ないので、図184(b)に示すような1つの統括制御のシナリオテ−ブルという形態で構成される。
ここで、客待ちデモ演出を前述した通常遊技状態の場合の変動演出と比較した場合、客待ちデモ演出では演出の流れが規定されており、変化の少ない演出内容になっていることが一般的である。
そのため、本実施例では演出の表示構成要素ごとではなく、1つの統括制御のシナリオテ−ブルという形態とし、1つのテーブルの中に背景制御のシナリオテーブルから第4図柄制御のシナリオテーブルまでの各表示構成要素のモーション情報を統括制御するように登録された構成とすることで、開発効率が上がり、かつデータ容量も減らすことができるという効果がある。
すなわち、変化の少ない演出においては、1つのシナリオ(少ない数のシナリオ)テーブル内に全表示構成要素を登録するようにしたことで、画面描画内容を開発者がイメージし易くし、開発効率の向上と、データ容量の削減を見込めるようになる。
ここで、1つの統括制御のシナリオテ−ブルという形態では、例えば1つの表示構成要素(例えば、背景)のシナリオテ−ブルだけで全ての表示構成要素を統括的に制御する構成にする。そのようにすると、変動演出の場合のシナリオテ−ブルよりも少ないシナリオテ−ブル数で表示装置41の演出制御を行うことができる。
すなわち、客待ちデモ演出のように変化の少ない演出においては、1つのシナリオテ−ブル内に全表示構成要素を登録するようにした方が、表示装置41における演出画面内の表示内容がイメージし易い(開発者にとってイメージし易い)ので、開発効率が上がり、データ容量も減らすことができるようになる。
なお、上記の客待ちデモ演出では1つのシナリオテ−ブルを設定しているが、必ずしも、1つということではなく、少ない数のシナリオテーブルでも可能であり、例えば2つのシナリオテ−ブルを設定する構成でもよい。通常遊技状態の場合の変動演出では8つのシナリオテーブルを使用しているので、少なくと、それよりも少ない数のシナリオテ−ブルであれば、相応の効果がある。
この背景を説明する。
表示装置41における特図変動演出では、遊技ゲームの状況(モードや乱数振り分け等)に応じてキャラクタ等が多彩に変化するので、背景、左図柄、右図柄、予告キャラ、・・・・等、各表示構成要素別にシナリオテ−ブルを別々に設定し、それらを組み合せなくてはならないので、開発者にとっても演出の表示内容をイメージしにくいが、それで仕方がないところがある。
一方、客待ちデモ演出も特図変動演出と同様に表示構成要素別に分けてシナリオテ−ブルを構成することも可能であるが、演出の表示内容をイメージしにくいという点は、解消困難である。
そこで本実施例では、客待ちデモ演出では演出の流れが規定されており、変化の少ない演出内容であることに着目し、客待ちデモ演出のモーション情報を効率良く選択するためのテ−ブル構成を検討した結果、複数のシナリオテ−ブルではなく、1つのシナリオテ−ブル内に全表示構成要素を登録することで、演出内容をイメージし易くしたものであり、その結果、開発効率の向上と、データ容量の削減を達成したものである。
上記構成の発明概念は、下記のように表される。
演出制御装置は、
表示手段に表示する画面の描画制御における1つのシナリオデータを設定するシナリオデータ設定手段と、
予め設定された1つのシナリオデータに基づいて1画面の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
次に、演出ボタン9が押されたタイミングによりシナリオの演出時間が可変となる制御の動作について説明する。
本実施例では、表示装置41に表示する画面の描画制御における表示要素毎にシナリオデータを設定しているが、その中で演出ボタン9の演出に関するシナリオテ−ブルには、演出ボタン9の有効期間を計数するタイマが設けられている。そして、演出ボタン9が押されたタイミングにより、上記タイマ値の更新状況により、以降に行われるシナリオの演出時間が可変となるような制御が行われる。
図185は先に示した図176のシナリオテ−ブルを用いてプッシュボタン演出(PB演出と略称する。これは、演出ボタン9を押した場合の演出のことである(以下、同様))を行う場合の動作を説明する図である。
図185(a)は演出ボタン9の演出に関するシナリオテ−ブルを用いた動作状況を示している。図185(a)に示すように、演出ボタン9(PB)の有効期間は90フレームに設定されている。なお、ここでの90フレームは演出ボタン9の有効期間を計数するタイマの初期値に相当している。1フレームは例えば、約33msecである。
そして、図185(a)に示すシナリオテーブルにおいて、1〜4行目(テーブル右側に図示したインデックス番号が0〜3)は共通部であり、5〜6行目(インデックス番号が4〜5)は演出ボタン9が押されなかった場合の動作部であり、7〜15行目(インデックス番号が6〜14)は演出ボタン9が押された場合の動作部であり、そのときの動作状況をシナリオテーブルの右側方にて説明している。
PB演出では、90フレームから1フレームが経過する毎に1フレームが減算されて更新(つまり、(−1)更新)されていく(この更新処理がタイマに相当している)。
次いで、演出のフレームが進む度に有効時間(フレームが90フレームから1フレーム毎に減算されていく場合の残りフレームに相当)のタイマ(フレーム数に相当する時間)がマイナスされ、「0」になると、演出ボタン9の操作が無効となり、演出ボタン9が押された時の演出は行われない。
演出ボタン9が押されなかった場合の動作は、図185(a)に示すシナリオテーブルの5〜6行目(インデックス番号が4〜5)に従って行われる。
一方、タイマが「0」になる前に演出ボタン9が押されると、押された時点で演出が開始され、その演出期間は「残り時間」(つまり残りフレームに相当する時間)+「固定時間」となる。ここで、上記「残り時間」をαフレームとすると、「固定時間」は55フレームとして設定される。
図185(a)に示すシナリオテーブルでは、上記演出期間を「可変ウェイト」して表しており、「可変ウェイト」=55+α(単位:フレーム)がフレーム待機によるPB操作の時間調整の制御になっている。
具体的には、タイマが「0」になる前に演出ボタン9が押される場合には、図185(a)に示すシナリオテーブルの7〜15行目(インデックス番号が6〜14)のシナリオに沿って演出が進行する。すなわち、遊技者が演出ボタン9を押すと、武将(プッシュボタンキャラ)が登場し、武将がセリフを語る演出が行われる。
この様子は、図185(b)及び図185(c)に示される。つまり、表示装置41の画面に図185(b)に示すようなPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押すと、図185(c)に示すように武将Bが登場し、セリフ(図示略)を語る予告演出が行われる。
このケースは、タイマが「0」になる前に演出ボタン9が押された場合に相当するので、演出ボタン9の操作が無効とならず、演出ボタン9が押された時点で演出が開始され、その演出期間は「残り時間」(つまりαフレーム)+「固定時間」(55フレーム)となる。
演出ボタン9の有効期間を計数するタイマは、90フレーム(初期値)からカウントダウンされていくので、90フレーム+「固定時間」(55フレーム)=145フレームが最大演出期間で、145フレーム−90フレーム=「固定時間」(55フレーム)が最小演出期間となる。そのため、タイマが「0」になる前に演出ボタン9が押された場合には、145フレーム乃至55フレームの範囲で予告演出が行われることになる。
このように、演出ボタン9が押された時に残っている有効時間のタイマ(「残り時間」:αフレーム)を固定演出時間(55フレーム)に加算して、演出時間を可変になるようにしている。したがって、早く演出ボタン9を押すと残り時間(αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、終了ギリギリで演出ボタン9を押すと、最低限である固定時間分の予告演出が行われることになる。
その結果、早く演出ボタン9を押す程、長い予告演出が見られるようになるので、遊技者にとっても早く演出ボタン9を押すことはメリットとなり、遊技の興趣を高めることができる。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するとともに、演出ボタンの演出に関するシナリオテ−ブルには、ボタン有効期間を計数するタイマを設けたシナリオデータ設定手段と、
演出ボタンが押されたタイミングにより、ボタン有効期間を計数するタイマの更新状況に基づいて以降に行われるシナリオの演出時間が可変となるように制御する演出ボタン制御手段と、
を備えたことを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
上記発明概念の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2008−154896号公報に開示されたものでは、演出ボタンの操作有効期間中に遊技者による演出ボタンの操作があると、予め設定されているウェイト時間(演出表示開始から終了までの時間値)に亘り演出表示を行う。
しかしながら、ここでのウェイト時間はあくまでも固定値であり、演出ボタンの操作タイミングにより可変するものではない。よって、演出ボタンの操作タイミングに応じて遊技の興趣を高めるような演出は困難である。
例えば、演出ボタンが押された時に行われる演出の時間が固定であると、早く演出ボタンを押した場合には早いタイミングで演出が終わってしまい、次の段階の予告演出との繋がりが上手くいかないという欠点がある。
具体的には、演出ボタンを押すタイミングにより次の段階の予告演出との間が空きすぎていたり、あるいは狭すぎたりすると、効果的な連続演出としにくいという問題が発生してしまう。
そこで本実施例では、演出ボタン9が押されたタイミングによりシナリオの演出時間が可変となる制御を行うようにしている。
すなわち、演出ボタン9が押された時に残っている有効時間のタイマ(「残り時間」:αフレーム)を固定演出時間(55フレーム)に加算して、演出時間を可変になるようにしている。したがって、早く演出ボタン9を押すと残り時間(αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、終了ギリギリで演出ボタン9を押すと、最低限である固定時間分の予告演出が行われる。
本実施例によると、演出ボタン9を押した時に行われる演出の終了タイミングが一定になるので、次の段階の予告演出とスムーズに繋げやすくなり、演出効果が向上する。
特に、PB演出と次の段階の演出の間が一定となるので、遊技者に見せたい演出のシナリオの流れ・タイミング等を計算し易くなり、演出効果の向上とともに、開発の効率向上も見込める効果が得られる。
また、早く演出ボタン9を押す程長い演出が見られるようになるので、遊技者にとっても演出ボタン9を早く押すことはメリットとなり、遊技の興趣を高めることができる。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャートでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・シナリオ解析処理:図130、図131のステップD579
・可変ウェイト処理:図135のステップD696
・PB待ち処理:図136
・PB判定分岐処理:図136
次に、早く演出ボタン9を押すと残り時間(αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、終了ギリギリで演出ボタン9を押すと、最低限である固定時間分の予告演出が行われるという上記構成の発明概念は、下記のように表される。
演出ボタン制御手段は、
演出ボタンが予告演出の早いタイミングで押されると、演出の残り時間に応じて長い予告演出を演出し、予告演出の終了に近いタイミングで演出ボタンが押されると、少なくとも最低限である固定時間分の予告演出を行うように制御することを特徴とする遊技機。
ここで、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
また、演出ボタン9が押された時に残っている有効時間のタイマ(「残り時間」:αフレーム)を固定演出時間(55フレーム)に加算して演出時間を可変にするという上記構成の発明概念は、下記のように表される。
演出ボタン制御手段は、
予告演出に対して演出ボタンが押されたとき、残存する演出有効時間の値を所定の固定演出時間に加算して、演出ボタンに関する予告演出時間を可変することを特徴とする遊技機。
ここで、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
次に、PB演出に関して、本実施例の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)実施例1では、演出ボタン9が押されたタイミングによりシナリオの演出時間が可変となる制御を行うようにしているが、これに限るものではない。
例えば、演出ボタン9を早く押さないと、最後まで見られないような予告演出を行う構成としてもよい。
この構成では、演出ボタンを押すとムービー演出が始まり、演出時間が終了すると、ムービーもそこで終了してしまうことになる。すなわち、遊技者は最後まで予告演出を見たければ、早く演出ボタンを押す必要があるような演出となる。
ただし、「演出ボタン押しを促す表示」が出てから最速で押すのはほぼ無理なので、ある程度の猶予時間は設けるものとする。
このような構成にすると、遊技者に積極的に予告演出のゲームに参加する意欲を持たせることができる。
次に、表示装置41の演出における表示内容の継続判定を行う制御について説明する。
本実施例では、表示装置41に表示する画面の描画制御における表示要素毎にシナリオデータを設定したシナリオテ−ブルを設けているが、その中でシナリオテ−ブル内には現在の演出状態を継続するか否かを判定する判定コードを設け、演出制御装置300におけるRAM311a内のモーション情報とシナリオテ−ブル上のモーション情報とが異なる場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じ場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないような制御が行われる。
上記制御の具体例につき、図177に示す客待ちデモ演出に関するシナリオテ−ブルを参照して説明する。
客待ちデモ演出を行う場合には、図177に示すシナリオテーブルの各データの進行順で表示装置41における演出内容が実現されていく。
客待ちデモ演出の過程では、図177に示すように、8番目のシナリオデータに現在の演出状態を継続するか否かを判定(背景継続判定)するモーション継続コード(判定コード)が設定されており、このモーション継続コードをRAM311a内のモーション情報と比較することで、演出画面の背景を継続表示するか、あるいは新規背景で演出を行うかを決定している。
次に、演出画面の背景を継続表示する、あるいは新規背景で演出を行うケースにつき、場合分けして説明する。
(a)新規背景で演出を行うケース
このケースとしては、例えば通常の特図変動が終了して一定期間が経過し、客待ちデモ演出に移る場合がある。
すなわち、遊技球が特図の始動入賞口25又は26に入賞すると(即ち、特図の始動入賞があると)、特図の変動演出を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示装置41で特図(飾り特図)による変動表示ゲームが実行される。変動表示ゲームの停止結果態様が特別結果態様になれば大当りが発生し、はずれの場合には、はずれ図柄で停止する。
いま、停止結果態様がはずれの場合には、はずれ図柄で停止し、その後、一定期間が経過しても始動入賞がなければ、客待ちデモ演出に移ることになるが、そのとき、図177に示すシナリオテ−ブルが使用される。
ここでは、まず、演出制御装置300におけるRAM311aの記憶されている現在のモーション情報と図177に示すシナリオテ−ブル上のモーション情報とを比較して、モーション継続コードによる判定が行われる。
モーション継続コードによる判定は図134のフローチャート(モーション継続処理)によって実行される。この継続コードの場合の処理としては、例えば背景なら、現在表示を行っている背景のモーション制御領域のモーション情報がオペランドの番号の値と同じものであれば(指示された動作が既に実行しているものであれば)、背景を変えることなく終了し、異なる値であればオペランドで指示された番号の背景に切り替える設定を行う。
RAM311aに記憶されている現在のモーション情報は特図変動のシナリオテ−ブルのものであるが、特図がはずれ図柄で停止し、その後、一定期間が経過しているので、現在のモーション情報を図177に示すシナリオテ−ブルのモーション継続コード(判定コード)と比較することになる。そうすると、両者は異なるので、図177に示すシナリオテ−ブル上のオペランドで指示された番号の背景(新規背景)に切り替える設定が行われることになる。新規背景はNo.12に対応するモーション情報を設定することになる。これにより、表示装置41にはNo.12のモーション情報に対応する新規背景が表示されて、客待ちデモ演出が行われる。
(b)継続背景で演出を行うケース
このケースとしては、例えば客待ちデモ演出が続行する場合がある。
台(遊技機)に客がつかず、空き台の場合には客待ちデモ演出が続行することになる。この場合には、客待ちデモ演出に対応する図177に示すシナリオテ−ブルが続けて使用される。
ケース(a)と同様に、モーション継続コードによる判定は図134のフローチャート(モーション継続処理)によって実行されるが、この継続コードの場合の処理としては、現在表示を行っている背景のモーション制御領域のモーション情報がオペランドの番号の値と同じものであれば(指示された動作が既に実行しているものであれば)、背景を変えることなく終了する。
すなわち、RAM311aに記憶されている現在のモーション情報とシナリオテ−ブル(図177)上のモーション情報とが同じになり、演出内容としてシナリオテ−ブル上のモーション情報を設定しないような制御が行われる。
これにより、両者のモーション情報であるから、何事もなかったように動作継続を行うことになり、同じ背景の客待ちデモ演出が継続する。なお、このように背景の動作継続が行われるので、図177に示すシナリオテ−ブルでは該当箇所のシナリオデータを「モーション継続コード」としている。
このように、演出画面の背景を継続表示するか新規背景で演出を行うか否かを判定コード(モーション継続コード)に基づいて判定し、新規背景にすると判定した場合には、現在のRAM311aのデータをシナリオテ−ブル上の新規背景に対応するデータで上書きする。これにより、背景が切換えられて、新規背景で演出が行われる。一方、背景継続と判定した場合には、シナリオテ−ブルから取得した指示データは破棄して現在の背景のままで演出が進行する。
このようにすることで、前回の演出における背景の状態が次回の演出にも継続できることになり、例えば異なる特図変動の演出間においても統一感を有する表示要素を持たせることが可能になって、遊技の興趣が向上する。
例えば、予告キャラクタを複数の異なる特図変動の演出間にまたがって表示装置41の画面上に残す等の多彩な演出を行うことができる。
また、演出内容を継続する場合としない場合とでシナリオテ−ブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテ−ブルで遊技の状況に合わせた演出が行える。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するとともに、シナリオテ−ブルには現在の演出状態を継続するか否かを判定する判定コードを設けたシナリオデータ設定手段と、
前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが異なると判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じと判定した場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御する演出内容制御手段と、
を備えたことを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、主制御用マイコン(1stCPU)311は演出内容制御手段を構成する。
上記発明概念の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2005−211583号公報に開示されたものでは、客待ちデモコマンドを受信すると、サブ基板(演出制御装置)側で所定時間に亘りデモ演出表示を行い、当該演出時間が継続すると、その都度新たにデモ演出表示データを設定する構成になっている。
しかしながら、上記の客待ちデモ演出のときに、その演出時間が継続(客待ちデモの演出が継続)する条件の場合には、前回の演出時間が終了する度に、次回に再度新たにデモ演出表示データを設定する構成であるため、制御が複雑になり、開発効率も低下していた。
また、従来の遊技機にあっては、特図変動毎に背景演出が始めから行われており、せわしない印象を与えていた。すなわち、次回の演出に移行する度に、前回の演出をリセットするため、せわしない演出となることが多く、落ち着きがなく、統一感もなくなるおそれがあった。そのため、遊技の興趣も低下する傾向にあった。さらに、多彩な演出を行うことも困難であった。
ただし、常に背景演出を継続させるわけではなく、例えば前回の特図変動がリーチ演出を行っていた場合に、その後、通常変動に移行するなどのときには、単に背景演出を継続させると、次回の背景がリーチ時のものになっているため、背景を通常変動のものに切り替える必要がある場合もある。
そこで本実施例では、シナリオテ−ブルに現在の演出状態を継続するか否かを判定する判定コード(モーション継続コード)を設け、演出制御装置300におけるRAM311a内のモーション情報とシナリオテ−ブル上のモーション情報とが異なる場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じ場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御するようにしている。
すなわち、判定コード(モーション継続コード)が継続判定コードであった場合には、要求されている表示内容(シナリオテーブル上の指示データ)と現在を行っている演出の表示内容(RAM311a内の制御データ)が同じであれば、現在の表示内容のままとし(シナリオテーブルから取得した指示データは破棄)、異なっていればシナリオテーブル上の指示データをRAM311aに上書きし(なお、新しい演出を開始するのでタイマやテーブルポインタ等の初期設定を含む)、新たな演出を開始できるようにする。
具体的には、シナリオテーブル中には継続判定を行うコードが設定されている箇所がある。例えば、図柄変動のシナリオテーブルにおける背景ムービー設定のところなどがある。
いま、ある図柄変動が終了し、次の図柄変動を開始する時、背景のムービーを継続するか否かを判定する判定コード(モーション継続コード)をシナリオテーブルに入れるようにしたことで、複数の変動演出を跨いで連続した背景演出を行えるようになる。したがって、世界観を崩すような違和感を遊技者に感じさせなくなり、遊技の興趣を高めることができる。
すなわち、特図変動毎に背景演出を始めから行う必要がなくなり、せわしない印象を与えることがなくなる。例えば次回の演出に移行する度に、前回の演出をリセットする必要がなく、せわしない演出となることもなくなる。また、演出に落ち着きがなく、統一感もなくなるというおそれが解消され、遊技の興趣も向上できる。多彩な演出を行うことも可能になる。
なお、客待ちデモ演出の開始時における背景設定についても、上記同様の効果がある。

また、演出内容を継続する場合としない場合とでシナリオテーブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテーブルで遊技の状況に合わせた演出が行えるようになる。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャート及びデータでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・シナリオ解析処理:図130、図131
・モーション継続処理:図134
・客待ちデモのシナリオテ−ブル:図177
・特図変動のシナリオテ−ブル:図169
次に、客待ちデモ演出のときに背景演出を継続させるという上記構成の発明概念は、下記のように表される。
演出内容制御手段は、
シナリオテ−ブルが客待ちデモ演出であるとき、前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが同じと判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御し、背景演出を継続させることを特徴とする遊技機。
次に、上記判定コード(モーション継続コード)による制御に関して、本実施例の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)演出画面の背景だけでなく、予告キャラクタ等を次の図柄変動に跨いで画面上に残すような演出を行う制御にしてもよい。
このようにすると、複数の変動演出を跨いで予告キャラクタ等を連続させて出現させる演出を行えるようになり、遊技の興趣を高めることができる。
上記構成の発明概念は、下記のように表される。
演出内容制御手段は、
シナリオテ−ブルが予告キャラクタの演出を含むものであるとき、前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが同じと判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御し、予告キャラクタを次の特図変動に跨いで画面上に残すような演出を行うことを特徴とする遊技機。
次に、モーションテーブルに定義するキャラクタの制御について説明する。
本実施例では、モーションテーブルに定義するキャラクタに条件を付け、基本(代表)となるキャラクタを決めてアニメーションを作成するように制御している。
すなわち、表示装置41での演出を行う場合、前述したようにシナリオテ−ブルを用いているが、このシナリオテ−ブルでは特定の演出の流れを制御するためのデータ(どのモーションテーブルをどんなタイミングで実行するかなどを指定するデータ)が設定されている。
そして、上記のモーションテーブルには、ブロック化された各演出(主に演出表示)のモーションのデータ(すなわち、表示する画像データやその表示位置等を指定するデータ)があり、モーションはブロック化された演出動作を意味している。
そのため、モーションテーブルでは各表示要素(背景、左図柄、右図柄、・・・)毎に、それらの描画をフレーム単位で制御できるように時系列的にモーションを定義してデータとして配置している。また、モーションテーブルには描画されるキャラクタが状況によって異なる演出を行うでも、同一の動きであれば、同種の複数のキャラクタについては基本(代表)となる1つのキャラクタ(基本キャラクタ)を決めて、1通りづつしかモーションデータを登録しないようにしている。言い換えれば、1つの基本キャラクタについてのみ、モーションを定義してデータとして配置している。
この場合、基本となるキャラクタは、差し替え対象となるグループの中で大当り信頼度が最も低いものに設定されている。例えば、プッシュボタン予告(PB予告)の演出で表示される演出ボタン9の操作に関するキャラクタにおいて、白、青、黄、緑、赤、レインボーの種類がある場合、プッシュボタン予告のモーションデータ中に定義するボタンキャラクタは、図176のモーションテ−ブルに示す例では、一番大当り信頼度の低い「白」を使用することが行われる。ただし、はずれ時と大当り時で共通に出現することが前提となっている。
上記制御の具体例につき、図186に示すプッシュボタン予告のモーションテ−ブルを参照して説明する。
図186に示すモーションテ−ブルは、遊技者に演出ボタン9の押下を促すため、演出ボタン9が凹凸を繰り返すアニメーションを表示するデータを定義したものである。すなわち、図186においては、プッシュボタン予告のモーションデータ中に定義するボタンキャラクタはPB予告で演出ボタン9が押されていない(突出している)状態の場合は一番大当り信頼度の低い「白」を使用し、PB予告で演出ボタン9が押された(凹んでいる)状態の場合は、演出ボタン9の消灯をイメージした「黒」(点灯色によらず共通)を使用する設定になっている。
図186に示すモーションテ−ブルの各行には、先頭にコマンドのコードが設定され、それに続いてコマンドに対応するパラメータが設定されている。但し、パラメータは無い場合もある。また、モーションテ−ブルの各データ(コード)を行で指定し、テーブル右側にインデックス番号を図示している。例えば、最初の1行目におけるデータは追加コードであり、そのときのインデックス番号は「0」である。
なお、モーションテ−ブルのコマンドとパラメータについては、先に図176で詳細に説明しているので、以下の説明では、動作の説明に必要な概略にとどめる。
図186に示すモーションテ−ブルのうち、1行目乃至12行目(インデックス番号「0」乃至「11」)はPB予告で演出ボタン9が押されていない(突出した)状態の表示に対応し、13行目乃至24行目(インデックス番号「12」乃至「23」)はPB予告で演出ボタン9が押された(凹んだ)状態の表示に対応している。
まず、図186に示すモーションテ−ブルの最初の1行目(インデックス番号は「0」)における追加コードにて基本キャラクタとして「プッシュボタン白」を設定する。
これにより、プッシュボタン予告(PB予告)で表示されるプッシュボタンのキャラクタにおいて、複数の種類がある場合、プッシュボタン予告のモーションデータ中に定義するプッシュボタンキャラクタとして一番大当り信頼度の低い「ボタン白」のキャラクタ(基本キャラクタに相当)でモーションデータが登録されることになる。
これは、大当り時、はずれ時の何れにおいてもプッシュボタン予告で共通に出現する可能性があるので、プッシュボタンのキャラクタを共通に使用しやすくするためである。
次いで、2行目でビヘイビアコードを設定(詳しくは、「ビヘイビアコード」というコマンドと「オブジェクトインデックス(0)」、「ビヘイビアインデックス(0)」というパラメータを設定)し、PB予告のキャラクタ(プッシュボタン)の色変更を行う。例えば、PB予告のキャラクタ(プッシュボタン)の色を白から黄に差し替える。
これは、PB予告にて演出ボタン9が押されていない(突出した)状態の表示を行う場合に、このビヘイビア処理により、プッシュボタンキャラクタの色を他のもの(例えば、黄色)に差し替える動作を行うものである。
次いで、3行目で移動1コードを設定する。これにより、ビヘイビア処理後におけるプッシュボタンキャラクタ(オブジェクト)の表示位置及び表示の大きさが指定される。
次いで、4行目で終了コードを設定する。これにより、1フレーム分のデータが終了する。
このように、PB予告で演出ボタン9が押されていない(突出した)状態の表示を行う場合は、プッシュボタンキャラクタとして、一番大当り信頼度の低い「白」を基本キャラクタに設定しておいて、表示を行う時にビヘイビア処理でプッシュボタンの色を白から別の色(演出の抽選結果に基づく色。例えば、黄)に差し替えて演出が行われる。
一方、PB予告で演出ボタン9が押された(凹んだ)状態の表示を行う場合は、図186に示すモーションテ−ブルの13行目(インデックス番号は「12」)で削除コードを設定し、オブジェクト(プッシュボタンキャラクタ)の削除を指令する。次いで、14行目で追加コードにて基本キャラクタとして「プッシュボタン黒」を設定する。
これは、プッシュボタン予告(PB予告)において、遊技者に演出ボタン9の押下を促すアニメーション表示の中でボタンが押された(凹んだ)状態の表示を行う場合の演出であり、ボタンオン時のキャラクタは「プッシュボタン黒」となる。この場合、ボタンオン時のキャラクタは全動作時(各種色のプッシュボタンが表示された時でも)共通であるので、その後のビヘイビア処理(ここでは、プッシュボタンキャラクタの色を他のものに差し替える動作)はない。
すなわち、追加コードの後はビヘイビアコードの設定は行わず、15行目で移動1コードを設定する。これにより、プッシュボタンキャラクタ(オブジェクト:基本キャラクタとして「プッシュボタン黒」)の表示位置及び表示の大きさが指定される。
次いで、16行目で終了コードを設定する。これにより、1フレーム分のデータが終了する。
このように、PB予告で演出ボタン9が押された(凹んだ)状態の表示を行う場合は、プッシュボタンキャラクタとして、共通に使用される「黒」を基本キャラクタに設定しておいて、プッシュボタンの色を別の色に差し替えずに表示が行われる。
以上のように、遊技者に演出ボタン9の押下を促す予告(PB予告)の場合、一番大当り信頼度の低い「ボタン白」のキャラクタ(基本キャラクタ)でモーションデータをモーションテ−ブルに登録しておくことが行われる。
そして、PB予告にて演出ボタン9が押されていない(突出した)状態の表示を行う場合には、ビヘイビア処理により、プッシュボタンキャラクタの色を他のもの(例えば、黄色)に差し替える動作が行われ、その後、プッシュボタンキャラクタを画面上に表示する動作が行われる。その後、変動表示ゲームの結果がはずれ又は大当りとなるが、プッシュボタンのキャラクタは一番大当り信頼度の低い「ボタン白」のキャラクタが始点となるので、はずれ時も大当り時も共通に使えるデータとなる。
例えば、大当りになる場合には、ビヘイビア処理で「ボタン白」のキャラクタ(基本キャラクタ)をレインボー(虹色)のプッシュボタンキャラクタに差し替えるようにすれば、遊技者へのワクワク感が高まり、その後大当りの結果となるので、遊技の興趣が向上する。また、はずれであっても、ビヘイビア処理で「ボタン白」のキャラクタ(基本キャラクタ)を赤のプッシュボタンキャラクタに差し替えるようにすれば、大当りへの期待感の高い遊技ゲームにすることができる。
このように、一番大当り信頼度の低い「ボタン白」のキャラクタを基本キャラクタとしてモーションテーブルに登録しておき、演出の進行でキャラクタの変更(ただし、例えばプッシュボタンのキャラクタというように、同種のキャラクタの範囲内での変更)を行いたい場合には、制御プログラムで基本キャラクタを別のものに差し替えるビヘイビア(オブジェクト(表示要素)の画像データ(キャラクタデータ)を差し替える機能)処理を行うことで、如何なる表示態様にも対応できるようになり、はずれ時も大当り時も共通に使えるデータとなって、データ容量を低減でき、開発効率も向上する。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、同じ動作をする複数のキャラクタのモーションデータについて1つの基本キャラクタを定義して設定し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
基本キャラクタ以外の他のキャラクタのモーションデータについては、前記基本キャラクタのモーションデータに基づいて作成する構成であることを特徴とする遊技機。
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
上記発明概念の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2009−261724号公報に開示されたものでは、表示可能なボタン画像データを複数持ち、大当りの信頼度等の判定結果に基づいて、複数保有するボタン画像データの中から所望の1つのボタン画像データを選択して演出画面に表示するという制御を行っている。
しかしながら、上記のような制御では、表示可能なボタン画像データとして多くのデータを保有しておく必要があり、データが多くなるとともにボタンの動作に関する画像の処理も複雑になり、開発効率も低下していた。
画像制御の観点から説明すると、例えば変動のアニメーションを作る場合、図柄のキャラクタを登場させる必要がある。
しかし、表示装置41の画面上に映し出される図柄には無数の組合せ(状態)があり、それらを全て反映したアニメーションを作成するのには無理がある。
そこで本実施例では、基本(代表)となるキャラクタを決めて1本のアニメーションを作成し(キャラクタが同じ動きをするものでキャラクタが違うだけのグループで1本)、制御プログラムによってキャラクタの差し替え処理(例えば、ビヘイビア処理)を行うことで、如何なる表示態様にも対応出来るようにしてデータ容量を節約するとともに、開発効率も向上させている。
例えば、前記アニメーションで使用する基本キャラクタの条件は、キャラクタROM(画像ROM322)への登録アドレスが同一グループ(例えば、通常時に表示される飾り特図)の中で一番前の(番号が小さい)ものにしたり、大当り信頼度が一番低いものにすることで、ビヘイビア(差し替え)演算をし易くしている。
具体的には、キャラクタとしてプッシュボタンの例であれば、プッシュボタンのモーションデータとして、動き(キャラクタの描画位置)が同じであれば、表示されるキャラクタが違っていても基本的に1通りしか設けないようにしている。したがって、プッシュボタンのモーションデータを生成するためのアニメーションは、基本となるキャラクタ(例えば、「ボタン白」)を決めてからの作成となる。
すなわち、本実施例ではモーションテーブルに定義するキャラクタに条件を付け、基本(代表)となるキャラクタを決めて1本のアニメーションを作成すような制御が行われる。
そして、基本となるキャラクタは、差し替え対象となるグループの中で大当り信頼度が最も低いものに設定される。
例えば、プッシュボタン予告で表示されるボタンのキャラクタにおいて、白、青、黄、緑、赤、レインボーの種類がある場合、プッシュボタン予告のモーションデータ中に定義するボタンキャラクタは一番大当り信頼度の低い「白」を使用している。ただし、はずれ時と大当り時で共通に出現することが前提である。
なお、PB予告で演出ボタン9が押された(凹んだ)状態を表示する場合にも、「白」のボタンキャラクタを使うと、PB予告で演出ボタン9が押されていない(突出した)状態を表示する場合と演出に差異が出にくくなるので、PB予告で演出ボタン9が押された(凹んだ)状態を表示する場合には「黒」のボタンキャラクタを基本キャラクタに設定している。
一方、図柄の場合は数字の一番若い番号からスタートするようにキャラクタを作成する。代表として、例えば「1」だけで作成するわけではない。すなわち、1→2→3→・・・→9→1→のように、一通り出現するようにキャラクタを作成する。
ただし、動作の切り替わりとなる場合(他の動きに変化する可能性、選択肢のあるタイミング等)は、また「1」からスタートさせる。その場合には、基本キャラクタとして「1」を設定する(詳細は、図190にて後述)。
また、キャラクタROM(画像ROM322)内にキャラクタを登録する時は、同一グループを固め(図柄なら図柄(大きさの同じもの)、プッシュボタンならプッシュボタン)、数字の小さい順や大当り信頼度の低い順等で、アドレスの若い方から並ぶようにする。
このように、大当り信頼度の最も低いキャラクタを基本キャラクタとしてモーションテーブルに登録することで、はずれ時も大当り時も共通に使えるデータとなり、ビヘイビアによる変更処理を共通にしやすくすることができ、データ容量の節約及び開発効率の向上を図れる。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャートでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・モーション登録処理:図132
・PB待ち処理:図136
・PB判定分岐処理:図130、図131のステップD579、図136
・モーション制御処理:図141
・モーション実行処理:図142、図143
・ビヘイビアインデックス設定処理:図150
・PB色変換処理:図155
次に、本実施例におけるモーション制御のうち、プッシュボタンキャラクタとは別の他のキャラクタへの適用例について説明する。
なお、遊技制御装置100からのコマンドやシナリオテ−ブルの内容によって演出内容が異なるので、以下の適用例でモーションテ−ブルは同じであっても、変動表示ゲームの演出内容は相違することになる。
(1)表示図柄番号の取得元を同一にする制御
まず、表示図柄番号の取得元を同一にする制御について説明する。
本実施例のモーション制御では、図175の説明で記述したように、モーションテーブルは、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1通りづつしか登録しないようにし、基本キャラクタとしてテーブル上に登録するのは、内部制御上一番若い番号のキャラクタ(例えば、キャラROM(画像ROM322)における登録上一番若いアドレスのキャラクタであり、図175の場合、停止図柄「1」)としている。
図187は、上記のようなモーションテ−ブルを用いて停止図柄の表示を制御する動作を示す図である。
図187(a)は左停止図柄表示のモーションテ−ブルを示す図であり、このモーションテーブルでは追加コードにより、図柄「1」(基本キャラクタ)がオブジェクトインデックス0として登録され(1行目)、次いでこの図柄がビヘイビアインデックス0で指定されるビヘイビアコードによって所定の図柄に差し替えられ(2行目)、3行目の移動コードで指定された表示位置に停止図柄として表示される。
図187(a)に示すモーションテ−ブルを用いて停止図柄の表示を制御することにより、電源投入時・通常遊技中ともに停止図柄の表示図柄番号の取得元を同一にできるようになる。
具体的に説明すると、図187(b)は通常遊技中における前回の変動表示ゲームの結果である停止図柄を示している。ここでは「9、6、7」の図柄で停止した様子が表示されている。この場合の表示処理では、演出制御装置300におけるRAM311aの所定記憶エリアに、「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」を配置しておき、それらの領域に「9」、「6」、「7」の図柄データをそれぞれ格納し、それを読み出して表示装置41に描画することにより、停止図柄を表示させている。さらにこの場合、図187(a)に示す左停止図柄表示のモーションテ−ブルを用い、ビヘイビアコードによって停止すべき図柄(ここでは、RAM311aの上記記憶領域から読み出した図柄データ)に差し替えられ、移動コードで指定された表示位置に停止図柄として表示される制御が行われる。
一方、図187(c)はパチンコ機1の電源投入時における特図(飾り特図)の停止図柄を示している。ここでは「2、4、1」の図柄で停止している様子が表示されている。この場合の表示処理では、上述した通常遊技中における停止図柄表示処理と同様に、演出制御装置300におけるRAM311aに「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」を配置しておき、それらの領域に「2」、「4」、「1」の図柄データを描画処理前にそれぞれ格納し、それを読み出して表示装置41に描画することにより、停止図柄を表示させる。この場合も同様に、図187(a)に示す左停止図柄表示のモーションテ−ブルを用い、ビヘイビアコードによって停止すべき図柄(ここでは、RAM311aの上記記憶領域から読み出した図柄データ)に差し替えられ、移動コードで指定された表示位置に停止図柄として表示される制御が行われる。
特に、パチンコ機1の電源投入時には、前回の変動表示ゲームの停止図柄とは関係なく、初期図柄として表示するので、図柄は固定図柄の組み合せとなる。そのため、RAM311aの「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」を使用せずに、直接に固定図柄の組み合せデータを指定して描画してもよいが(表示処理は速くなる)、本実施例では通常遊技中における停止図柄表示処理と同様に、演出制御装置300におけるRAM311aの「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」を使用し、停止図柄の描画処理前に、同領域に「2」、「4」、「1」の図柄データを書き込み、ビヘイビア処理で同領域の「2」、「4」、「1」の図柄に差し替えることで、電源投入時の停止図柄を表示装置41に表示させている。
このように、電源投入時は図柄は固定組み合せであるので、直接に固定図柄の組み合せデータを指定して描画した方が表示処理は速くなるが、1クッションおいて先にRAM311aの「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」を「2」、「4」、「1」の図柄にそれぞれ書き換えておくことで、ビヘイビアによる差し替え処理では同一のRAM311aの領域を参照してモーション制御できるようになり、定義するモーションテ−ブルを共通(電源投入時・通常遊技中ともに共通)で使えることとなり、データ容量の削減につながる効果がある。
この背景を説明する。
従来の遊技機、例えば特開2006−230583号公報に開示されたものでは、遊技制御装置からの電源投入コマンドを受信した場合、サブ基板(演出制御装置)側では予め電源復旧時専用に用意されている画像(停止図柄)を表示装置に表示している。
しかしながら、上記のような制御では、通常遊技中と電源投入時とで図柄表示制御のためのテ−ブルを分けておく必要もあり、データ容量が大きくなっていた。
そこで本実施例では、電源投入時と通常遊技中とでは表示装置41に表示したい図柄の意味が異なり、電源投入時は初期図柄、通常遊技中は前回の停止図柄となるが、共通のRAM311aの領域から図柄データを取得できるように構成することで、基本キャラクタを差し替えるビヘイビア処理が共通で使用できるようにしている。言い換えれば、電源投入時・通常遊技中ともに停止図柄の表示図柄番号の取得元(RAM311aの「左停止図柄領域」、「中停止図柄領域」、「右停止図柄領域」)を同一にできるようになり、モーションデータの容量が少なくなり(通常遊技中と電源投入時とで分けなくて済む)、開発効率も向上する。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、同じ動作をする複数のキャラクタのモーションデータについて1つの基本キャラクタを定義して設定し、
電源投入時に表示手段に表示する初期図柄は基本キャラクタを差し替えて固定の組み合せ図柄とし、通常遊技中に表示手段に表示する停止図柄は前回のゲームの停止図柄を表示するように基本キャラクタを差し替えて表示する制御を行い、電源投入時・通常遊技中ともに表示図柄番号の取得元が同一になるように構成したことを特徴とする遊技機。
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
(2)モーションデータ登録を1種類とする制御
次に、モーションデータ登録を1種類とする制御について説明する。
本実施例のモーション制御では、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きならモーションテ−ブルに1通りづつしか登録しないようにし、基本キャラクタとしてテーブル上に登録するのは、内部制御上一番若い番号のキャラクタ(例えば、キャラROM(画像ROM322)における登録上一番若いアドレスのキャラクタであり、図175の場合、停止図柄「1」)としている。
図188は、上記のようなモーションテ−ブルを用いて停止図柄の表示を制御する動作を説明する図である。
図188は左停止図柄表示のモーションテ−ブルを示す図であり、このモーションテーブルでは追加コードにより、図柄「1」(基本キャラクタ)がオブジェクトインデックス0として登録される(1行目)。すなわち、停止図柄「1」のキャラクタが指定される。
次いで、この図柄がビヘイビアインデックス0で指定されるビヘイビアコードによって所定の図柄に差し替えられる(2行目)。すなわち、停止図柄キャラクタを変更するビヘイビア番号(変更処理の登録番号)により、基本キャラクタが所定の図柄のキャラクタに差し替えられる。次いで、3行目の移動コードで指定された表示位置に停止図柄として表示される。
図188に示すモーションテ−ブルを用いて停止図柄の表示を制御することにより、プログラムで描画キャラクタの変更を行うことから、キャラクタの種類分のモーションデータを用意する必要がなくなる。
具体的に説明すると、図188に示すように停止時の左図柄の表示データは、本来なら「1」乃至「9」のように複数種類のパターンが考えられるが、本実施例ではモーションテ−ブルへのデータとして登録するのは1種類のキャラクタ(ここでは、「1」の図柄キャラクタ)だけとし、他の図柄に変更するのはビヘイビアでキャラクタを変更するようにしている。したがって、図柄のキャラクタについては、データ容量は数分の1で済むことになる。
この背景を説明する。
従来の遊技機、例えば特開2005−168684号公報に開示されたものでは、表示装置に表示されるキャラクタ(例えば、図柄のキャラクタ)を移動元(例えば、ROM)から移動先(例えば、RAM)へ移動して表示装置の画面に表示させる場合に、当該キャラクタの移動回数に対応するカウンタ分だけ、キャラクタの位置座標を指定する(移動開始から移動終了までに要する移動回数分の位置座標をその都度設定しなければならない)必要があった。
そのため、複数種類の全てのキャラクタ分のモーションデータを用意する必要が生じ、データ容量が多くなっていた。
そこで本実施例では、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きならモーションテ−ブルには1種類のキャラクタ(例えば、「1」の図柄キャラクタ)だけとし、他の図柄に変更するのはプログラムのビヘイビアでキャラクタを変更するようにしたので、キャラクタの種類分のモーションデータを用意する必要がなくなり、データ容量を削減することができ、開発効率も向上する。
なお、キャラクタを変更するプログラム(ビヘイビア処理等)は必要になるが、停止図柄の種類などは遊技機の機種毎に違う可能性が高いので、基本キャラクタを1種類とし、プログラムで対応する方が汎用性が高まり、遊技機の開発もし易い。
また、停止図柄のキャラクタでなく、例えば予告キャラクタの色替え等、状況によって変化するキャラクタの変更は、モーションテ−ブルに埋め込まれたサブルーチン情報によってプログラムで変更できるようにするとよい。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1種類のキャラクタを定義して設定し、
基本キャラクタ以外の他のキャラクタに変更するのはビヘイビア処理で行うように構成したことを特徴とする遊技機。
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
(3)同一の図柄キャラクタサイズにする制御
次に、同一の図柄キャラクタサイズにする制御について説明する。
本実施例のモーション制御では、遊技モード毎に特図(飾り特図)の図柄デザインが異なっている場合でも、同一の動き(停止を含む)なら同一の図柄キャラクタサイズとすることで、共通のモーションテ−ブルを使用することが行われる。
図189は、上記のようなモーションテ−ブルを用いて図柄の表示を制御する動作を説明する図である。
図189(a)は左停止図柄表示のモーションテ−ブルを示す図であり、このモーションテーブルでは追加コードにより、図柄「1」(基本キャラクタ)がオブジェクトインデックス0として登録される(1行目)。すなわち、停止図柄「1」のキャラクタが指定される。
次いで、この図柄がビヘイビアインデックス0で指定されるビヘイビアコードによって所定の図柄に差し替えられる(2行目)。すなわち、停止図柄キャラクタを変更するビヘイビア番号(変更処理の登録番号)により、基本キャラクタが所定の図柄のキャラクタに差し替えられる。次いで、3行目の移動コードで指定された表示位置に停止図柄として表示される。
図189(a)に示すモーションテ−ブルを用いて図柄の表示を制御することにより、図柄のサイズが異なっても、キャラクタの透明部分の大小で調整して、同一の図柄キャラクタサイズとすることで、モーションテ−ブルを共通で使用でき、モーションテ−ブルの増加による制御の複雑化やデータ容量の肥大化を防止できる。
具体的に説明すると、図189(b)に示すように、通常モード中は図柄キャラクタが数字である場合には、表示装置41の画面上に特図として数字(ここでは、「9、6、7」)が3列で表示される。
一方、特別モード中は、図189(c)に示すように、図柄キャラクタが数字である場合であっても、表示装置41の画面上に特図として枠ありの漢数字(ここでは、「八、七、四」)が3列で表示される。
このような場合でも、キャラクタ(ここでは図柄キャラクタ)の透明部分の大小でサイズを調整し、通常モード中又は特別モード中の何れであっても、同一の図柄キャラクタサイズとすることが行われる。なお、図189(b)に示すように、通常モード中での図柄キャラクタの方の透明部分が大きくなっており、このように通常モード中での図柄キャラクタの方の透明部分を特別モード中の図柄キャラクタの透明部分よりも大きくすることで、特別モード中での図柄キャラクタと同一のキャラクタサイズに調整されている。
したがって、上記のごとく通常モード又は特別モードというように、遊技モード毎に特図の図柄デザインが異なっている場合であっても、同一の動き(停止を含む)であれば、同一の図柄キャラクタサイズに調整されることから、共通のモーションテ−ブルを使用することができ、PROM(制御ROM)321のデータ増加による記憶領域の圧迫化を防ぎ、モーションテ−ブルの増加によるデータ増大や制御の複雑化を防ぐことができる。
この背景を説明する。
従来の遊技機、例えば特開2010−178885号公報に開示されたものでは、特図変動表示ゲームにおいて、通常図柄と異なる特殊図柄で停止(再変動のための仮停止)する場合には、異なる変動パターンテ−ブルに基づいて変動表示ゲームの制御が行われている。したがって、1つのパターンテ−ブルのデータに基づいて変動図柄を差し替えるという制御内容ではない。
そのため、複数の異なる変動パターンテ−ブルに基づいて変動表示ゲームの制御が行われるので、パターンテ−ブルの増加によるデータ容量の増大や制御の複雑化を招いていた。
なお、上記とは別に、例えば特開2010−113824号、特開2010−113825号公報に開示されたものもあるが、これらの技術は、遊技モードによって図柄が変化(数字に所定のキャラクタが対応した図柄となる)し、当該対応するキャラクタによって変動パターンテ−ブルが異なるというものであり、そのため、上記同様の問題点があった。
そこで本実施例では、通常モード又は特別モードというように、遊技モード毎に特図の図柄デザインが異なっている場合であっても、図189(a)に示すモーションテ−ブルを用いて図柄の表示を制御することにより、図柄のサイズが異なっても、キャラクタの透明部分の大小で調整して、同一の図柄キャラクタサイズとすることで、モーションテ−ブルを共通で使用できるようにして、モーションテ−ブルの増加による制御の複雑化やデータ容量の肥大化を防止している。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1種類のキャラクタを定義して設定し、
遊技の状況に応じてキャラクタのデザインが変化しサイズが異なる場合であっても、停止状態を含めて同一の動きであれば、共通のモーションテ−ブルを用いてキャラクタの表示を制御することにより、同一のキャラクタサイズとするように構成したことを特徴とする遊技機
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
(4)基本キャラクタを1番若い番号のキャラクタに設定する制御
次に、基本キャラクタを1番若い番号のキャラクタに設定する制御について説明する。
なお、この制御は前述した「(2)モーションデータ登録を1種類とする制御」に類似するが、ここでの制御はビヘイビアによるキャラクタ差し替えの差分値を算出するのが容易という制御上の観点から効果を導く点で、前述の制御の説明とは別立てとして記述している。
本実施例のモーション制御では、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きならモーションテ−ブルに1通りづつしか登録しないようにし、基本キャラクタとしてテーブル上に登録するのは、内部制御上一番若い番号のキャラクタ(例えば、キャラROM(画像ROM322)における登録上一番若いアドレスのキャラクタであり、図175の場合、停止図柄「1」)としている。
図190は、上記のようなモーションテ−ブルを用いて停止図柄の表示を制御する動作を説明する図である。
図190は左停止図柄表示のモーションテ−ブルを示す図であり、このモーションテーブルでは追加コードにより、図柄「1」(基本キャラクタ)がオブジェクトインデックス0として登録される(1行目)。すなわち、停止図柄「1」のキャラクタが指定される。
これは、図柄番号として内部制御上一番若い番号(値)のキャラクタ(停止番号「1」の図柄キャラクタ)を基本キャラクタとして設定するものである。
次いで、この図柄がビヘイビアインデックス0で指定されるビヘイビアコードによって所定の図柄に差し替えられる(2行目)。すなわち、停止図柄キャラクタを変更するビヘイビア番号(変更処理の登録番号)により、基本キャラクタが所定の図柄のキャラクタに差し替えられる。次いで、3行目の移動コードで指定された表示位置に停止図柄として表示される。
図190に示すモーションテ−ブルを用いて停止図柄の表示を制御することにより、内部制御上一番若い番号(値)のキャラクタ(停止番号「1」の図柄キャラクタ)を基本キャラクタとして設定し、これを基準としてビヘイビア(変更処理)によるキャラクタ差し替え等の差分値を算出するのが容易で、制御がし易くなる。
具体的に説明すると、図190に示すように停止時の左図柄の表示データは、本来なら「1」乃至「9」のように何種類のパターンが考えら、「1」〜「9」の何れの値を基準(基本キャラクタ)としても構わないが、内部制御上一番若い番号(値)である「1」を基準としたことで、「1」から他の停止図柄番号へ差し替える際の差分の計算が容易になる。例えば、他の停止図柄番号として「9」へ差し替える場合には、「9」から「1」を減算するだけで差分を算出でき、これは他の停止図柄番号(例えば、「8」)でも同じで、常に「他の停止図柄番号」−「1」=差分となり、計算が極めて単純化されて容易になる。したがって、モーションテ−ブルを用いた停止図柄の表示制御がし易いという効果が得られる。
この背景を説明する。
従来の遊技機、例えば特開2005−168684号公報に開示されたものでは、表示装置に表示されるキャラクタ(例えば、図柄のキャラクタ)を移動元(例えば、ROM)から移動先(例えば、RAM)へ移動して表示装置の画面に表示させる場合に、当該キャラクタの移動回数に対応するカウンタ分だけ、キャラクタの位置座標を指定する(移動開始から移動終了までに要する移動回数分の位置座標をその都度設定しなければならない)必要があった。また、基準キャラクタ等の定義や概念は無かった。
そのため、キャラクタ変更の制御が複雑化して面倒であり、開発効率も低下していた。
そこで本実施例では、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きならモーションテ−ブルには1種類の基本キャラクタだけとし、しかも、基本キャラクタとしてモーションテ−ブルに登録するのは、内部制御上一番若い番号(値)のキャラクタ(例えば、停止番号「1」の図柄キャラクタ)とすることで、基本キャラクタから他の停止図柄番号へ差し替える際の差分の計算が容易になり、モーションテ−ブルを用いた停止図柄の表示制御がし易くなり、開発効率も向上させている。

なお、上記のように停止図柄番号を制御する場合に限らず、例えば予告キャラクタ等をビヘイビア処理により差し替える制御を行う場合でも、予告キャラクタ等は内部的に順番付けられているので、同様に内部制御上一番若い番号(値)の予告キャラクタ等を基本キャラクタとして設定し、これを基準としてビヘイビア処理を行えば、キャラクタ差し替え等の差分値を算出するのが容易で、制御がし易くなる効果がある。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1種類のキャラクタを定義して設定し、
前記1種類のキャラクタは、内部制御上一番若い番号のキャラクタを基本キャラクタとして設定するように構成したことを特徴とする遊技機
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
(5)基本キャラクタをキャラクタROM登録上1番若いアドレスのものに設定する制御
次に、上述した「(4)基本キャラクタを1番若い番号のキャラクタに設定する制御」の変形例について説明する。
すなわち、図190は「(4)基本キャラクタを1番若い番号のキャラクタに設定する制御」を示すものであるが、この制御形態に限らず、例えば図191に示すように、基本キャラクタをキャラクタROM登録上1番若いアドレスのものに設定する制御を行う変形例を採用してもよい。
この変形例では、図191(a)に左停止図柄表示のモーションテ−ブルを示すように、追加コードにより、図柄「1」(基本キャラクタ)がオブジェクトインデックス0として登録される(1行目)。すなわち、停止図柄「1」のキャラクタが指定される。
これは、図柄「1」(基本キャラクタ)をキャラクタROM(画像ROM322)登録上1番若いアドレスのものに設定するものである。
ここで、図191(b)はキャラクタROM(画像ROM322)の登録されたキャラクタメンバー(ここでは図柄キャラクタ)のリストテ−ブルを示している。
なお、キャラクタROM(画像ROM322)内にキャラクタを登録する時は、同一グループを固め(図柄なら図柄(大きさの同じもの)、プッシュボタンならプッシュボタン)、数字の小さい順や大当り信頼度の低い順等で、アドレスの若い方から並ぶようになっている。したがって、図柄キャラクタについては1番若いアドレスに図柄「1」が登録されている。
図191(a)に示す左停止図柄表示のモーションテ−ブルの処理では、追加コード以降の命令は図190の場合と同様であり、ビヘイビアコード、移動コード、終了コードの命令が順次実行される。
このように、図191(a)に示すモーションテ−ブルを用いて停止図柄の表示を制御することにより、キャラクタROM(画像ROM322)登録上1番若いアドレスのキャラクタ(停止番号「1」の図柄キャラクタ)を基本キャラクタとして設定し、これを基準としてビヘイビア(変更処理)によるキャラクタ差し替えの制御が行われる。
この場合、キャラクタROM(画像ROM322)に登録した図柄キャラクタのうち、1番若いアドレスのキャラクタ(停止番号「1」の図柄キャラクタ)をキャラクタを基準(基本キャラクタ)としたことで、ビヘイビア処理で差し替える停止図柄キャラクタへのアドレス計算が容易になる。
例えば、他の停止図柄番号として「9」へ差し替える場合には、「9」から「1」を減算するだけでアドレス計算の差分を算出でき、これは他の停止図柄番号(例えば、「8」)でも同じで、常に「他の停止図柄番号」−「1」=アドレス計算の差分となり、計算が極めて単純化されて容易になる。したがって、モーションテ−ブルを用いた停止図柄の表示制御がし易いという効果が得られる。
なお、上記のように停止図柄番号を制御する場合に限らず、例えば予告キャラクタ等をビヘイビア処理により差し替える制御を行う場合でも、予告キャラクタ等をキャラクタROM(画像ROM322)の登録アドレスを指標として順番付けておけば、同様にキャラクタROM(画像ROM322)登録上1番若いアドレスの予告キャラクタ等を基本キャラクタとして設定し、これを基準としてビヘイビア処理を行えば、キャラクタ差し替え等の差分値を算出するのが容易で、制御がし易くなる効果がある。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1種類のキャラクタを定義して設定し、
前記1種類のキャラクタは、前記キャラクタデータ記憶手段への登録上一番若いアドレスのキャラクタを基本キャラクタとして設定するように構成したことを特徴とする遊技機
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
次に、大当りの終了前に背景種類を予測して選択する制御について説明する。
本実施例では、大当り演出終了時よりも前に遊技状況から背景種類を予測して選択し、大当りのエンディング期間が終わりきる前に選択した背景種類を用いた図柄停止画面を表示するような制御が行われる。
具体的には、大当り演出後は、表示装置41の特図(飾り特図のこと、以下同様)が変動するための通常画面に戻り、そこでは図柄変動に調和する背景画面(例えば、背景ムービー)が表示される。この場合、その時の遊技状態(例えば、確率変動、時短、通常確率等)によって背景画面の種類や特図の形状が異なる可能性が高い。
演出制御装置300は遊技制御装置100からの確率情報コマンドに基づいて遊技状態を判断することになるが、遊技制御装置100側で確率等の状態を変化させて良いのは大当り動作が終了した時であるから、確率情報コマンドが送信できるのは大当りが終わった後の特図変動を開始する直前となってしまう。
しかしながら、確率情報コマンド受信によって背景画面の種類を変化させたのでは、大当りのエンディング画面用の背景画面から急に特図変動時用の背景画面に切り替わることになり、せわしない演出となってしまう可能性が高い。
この背景を説明する。
従来の遊技機、例えば特開2004−105528号公報に開示されたものでは、大当り終了後、サブ基板(演出制御装置)では遊技制御装置から受信する終了コマンド、時短背景コマンド等に基づいて表示装置の背景画面を時短背景という遊技状態に切り替えていた。この場合、大当りが終わった後の特図変動を開始する直前でないと、遊技制御装置からのコマンドが演出制御装置に送られてこないので、大当り終了の画面からいきなり特図変動時用の背景画面に切り替わってしまい、せわしない演出となり、遊技者への印象が悪かった。
一方、演出制御装置は遊技制御装置からのコマンドに基づいて遊技状態を判断することになるが、遊技制御装置側で確率等の状態を変化させて良いのは大当り動作が終了した時であるから、コマンドを送信できるのは、必然的に大当りが終わった後の特図変動を開始する直前となってしまっている。
そこで本実施例では、大当りのエンディング動作の終了前の規定時間(例えば、1〜2秒程度)の間に、いわゆる停止図柄表示の画面を表示する時間(所定の図柄表示期間)を設け、その時の背景画面は大当り後の通常遊技での特図変動時の背景画面としておくことで、大当りのエンディング期間から通常遊技状態の特図変動ゲームへスムーズな移行を行えるようにしている。
上記のエンディング期間の制御を具体的に示すと、図192のようになる。
図192において、大当り動作は複数のラウンドで行われ、最終ラウンド(例えば、16ラウンド)にはエンディング期間Teが設けられ、大当りの終了にふさわしい演出が行われて、次の特図変動の開始に備えられる。
この場合、エンディング期間Teの前半期間T1ではエンディングムービーが表示装置41の画面に表示されて、大当りの終了演出が行われる。一方、エンディング期間Teの後半期間T2(例えば、1〜2秒間)は停止図柄表示(例えば、当該大当りでの大当り図柄「7、7、7」)の画面を表示する期間(所定の図柄表示期間)となり、そのときの画面の背景として背景ムービーが停止図柄表示の後方に表示される。このときの背景ムービーは、大当りの終了後の次の遊技状態(例えば、確率変動、時短、通常確率等)に調和させて演出する必要がある。
ここで、後半期間T2の開始時には、遊技制御装置100からの確率情報コマンド(大当り終了後に、確率変動するかどうかを知らせるコマンド)を演出制御装置300側で未だ受信していない。確率情報コマンドは大当りのエンディング期間が終わりきる直前に遊技制御装置100から送信されてくるに過ぎない。
そのため、演出制御装置300では確率情報コマンドを受信する前から、受信した後に表示すべき遊技状態に合わせた背景ムービーとするため、大当り終了後の遊技状態の予測が必要になる。
したがって、例えば大当り中に受信した図柄コマンド(図柄の変動開始時に受信したものでもよい。正常に動作していれば、大当り終了間際でも基本的に同じ情報のはずだからである)、ファンファーレコマンド、エンディングコマンド等の内容に加えて、更に演出制御装置300の内部のパラメータ(内部情報)も考慮して予測が行われる。
内部のパラメータとしては、以下のようなものがある。
演出制御装置300の内部における演出制御過程での振り分け処理により、例えば遊技制御装置100からは確変図柄の情報が送られてきても確率変動に入ることを隠し続け、あたかも通常図柄で当たったかのようにする演出(例えば、いわゆる潜伏確変状態)を行う場合なども考えられ、その場合には当該情報は内部のパラメータに相当する情報となる。
このように、遊技制御装置100から受信したコマンドだけでなく、演出制御装置300の内部のパラメータも考慮した予測を行うことで、次回遊技状況の予測精度を高めている。
そして、上記のような各種情報に基づく遊技状況から背景種類を予測して選択する。これは、画像ROM322に複数種類の背景ムービーが予め格納されているので、その複数種類の背景ムービーの中から大当り終了後の遊技状況にマッチした1つの背景ムービーを選択することで行われるが、ここでは、背景ムービーの選択処理は制御プログラムのビヘイビア処理で行うようにする。
例えば、モーションテ−ブルには描画される画像(例えば、ムービー(動画))が遊技ゲームの状況により異なる演出となる場合であっても、当該画像の再生内容以外の条件(例えば、画像サイズや描画位置等)が同一であれば、同じ種類の遊技状態については1通りづつしか画像データを登録せず、遊技ゲームの状況により異なる演出となるときには登録した画像データをビヘイビア処理で他の画像データに差し替えることで、画像の種類を選択するような制御が行われる。
一例として説明すれば、大当り終了後の通常遊技に移行する場合の背景ムービーとして、確率変動なしで時短のみの遊技状態にマッチした背景ムービーの画像データを大当り終了後の背景画像として大当り終了前から登録しておいて、大当り終了後の遊技状態が確率変動である場合には、ビヘイビア処理で当該背景ムービーを確率変動に対応した背景ムービーに差し替えるようにすれば、制御が簡単で済み、容易となる。
そして、図192に示すエンディング期間Teにおいて、前半期間T1が終了し、丁度、後半期間T2が開始する時点で選択した背景ムービーが表示装置41の画面に表示される。これにより、エンディング期間Teの後半期間T2は停止図柄表示(例えば、「7、7、7」)の画面のバックグラウンドに背景ムービーが重ねて表示されることとなり、大当りの終了後の次の遊技状態(例えば、確率変動、時短、通常確率等)に調和させた演出が行われる。
次いで、エンディング期間Teにおける後半期間T2が終了する間際に確率情報コマンドが遊技制御装置100から演出制御装置300に送信されてくる。また、後半期間T2が終了するタイミングから次回の変動コマンドに基づく特図の図柄変動表示ゲームが開始される。
このように、演出制御装置300では遊技制御装置100から既に受信しているコマンド情報(エンディングコマンド等)等の他に、更に演出制御装置300の内部のパラメータも考慮した遊技状況から大当り後における通常遊技での背景種類を予測して1つの背景ムービーを選択し、大当りのエンディング期間が終わりきる前に、選択した背景ムービーをバックグラウンド画面に用いた図柄停止画面を表示装置41に表示する制御が行われる。
したがって、大当りのエンディング動作が終わりきる前に、当該背景ムービーを用いた図柄停止画面を表示する間を作ることで、演出画面の急な切り替わりを防ぎ、演出効果を向上させることができる。
また、演出制御装置300の内部のパラメータによる予測で予め対応しておくので、確率情報コマンドを受信しなかった場合の対処をせずとも、正常な表示を行える可能性が高くなり、効率良く開発・制御を行うことができる。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段において、複数種類設定された演出用の飾り図柄を変動表示させて停止させ、特別遊技状態の発生を含む変動表示ゲームを実行可能であるとともに、特別遊技状態のエンディング動作の終了前に飾り図柄停止表示の画面を表示する所定の図柄表示期間を設け、
少なくとも既に受信している遊技制御装置からのコマンド情報に基づいて特別遊技状態後における通常遊技での背景種類を予測して選択する背景種類選択手段と、
背景種類選択手段によって選択された背景種類の背景画面を、前記図柄表示期間に飾り図柄停止表示の背景として表示する演出を行う背景演出手段と、
を備えたことを特徴とする遊技機。
ここで、演出制御装置300は背景種類選択手段、背景演出手段を構成する。
また、確率情報コマンドを演出制御装置300が受信する前に背景種類を予測して選択する構成の発明概念は、下記のように表される。
背景演出手段は、
特別遊技状態終了時に遊技制御装置から送信される確率情報コマンドを演出制御装置が受信する前に、背景種類を予測して選択することを特徴とする遊技機。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャート及びデータでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・モーション登録処理:図132(ステップD637、ステップD641等)
・エンディング時のシナリオテ−ブル:図178
次に、大当りの終了前に背景種類を予測して選択する制御の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)予測した背景種類と確率情報コマンドの内容が一致していれば、大当り終了後の通常遊技での背景画面として、そのまま背景種類の使用を継続すればよいし、違っていたら、確率情報コマンドの内容に合わせた背景種類に修正すればよい(遊技制御装置100からの指示を優先するためである)。
この場合、予測した背景種類の背景ムービーと、確率情報コマンドの内容に合わせて変更する背景ムービーとは、画像の再生内容以外の条件(例えば、画像サイズや描画位置等)が同一であるように設定されているので、登録した予測背景ムービーをの画像データをビヘイビア処理で確率情報コマンドの内容に合わせて変更する背景ムービーの画像データに差し替えることで、背景種類を変更(つまり、確率情報コマンドの内容に合わせた背景種類に修正)するような制御にすればよい。
なお、本実施例の制御であれば、予測した背景種類と大当り終了後の通常遊技での背景種類とが相違することは無い。
一方、遊技機の開発中での検査時などには、両者の相違が起こる可能性はあるが(遊技の流れを無視したコマンドを送信することも可能であるので)、各種コマンドを送信して結果を確認するような開発を行えば、予測した背景種類と大当り終了後の通常遊技での背景種類とが相違する可能性を極めて低くできる。
上記構成の発明概念は、下記のように表される。
演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、描画される動画が状況によって異なる演出の場合でも、当該動画の再生内容以外の条件が同一であれば、1種類の動画を登録し、
他の動画に変更するのはビヘイビア処理で行うように構成したことを特徴とする遊技機。
(2)予測した背景種類と確率情報コマンドの内容が一致しているかどうかの判断が困難である場合には、例えば確率情報コマンドの内容毎にデフォルト背景画面を予め決めておき、そのデフォルト背景画面を大当り終了後の通常遊技での背景画面として表示するような制御を行ってもよい。確率情報コマンドの内容が例えば「確率変動」であれば、「確率変動」用の華やかなデフォルト背景ムービー、「低確率・時短」であれば、「「低確率・時短」用の普通のデフォルト背景ムービーという具合に設定しておく。
そして、今回が確率変動大当りであれば、「確率変動」用の背景ムービーを採用し、通常大当りであれば、「低確率・時短」用の背景ムービーを採用しておけば、大きな相違がなく、無難な演出を行えるようになり、遊技の興趣を損なわずに済む。
次に、モーションテ−ブルに同一カテゴリのオブジェクトを複数定義して演出処理を効率良くする制御について説明する。
本実施例ではモーションテ−ブルに同一カテゴリのオブジェクト(例えば、キャラクタ)を複数定義して演出の制御が行われる。
すなわち、モーションテ−ブルには各表示要素(例えば、背景、左図柄、右図柄、・・・)毎にモーションデータ(表示する画像データやその表示位置等を指定するデータ)が登録されるが、それらのデータは同一カテゴリとして定義するオブジェクト群にまとめて登録される。
具体的には、図170に左図柄通常変動開始のモーションテ−ブルの一例を示すように、例えば左図柄カテゴリとして定義するオブジェクト群については、現図柄だけでなく、前図柄、次図柄等についても、図柄キャラクタとして1つのモーションテ−ブル内に定義する。そして、これらの各オブジェクト(現図柄、前図柄、次図柄等のキャラクタ)については、キャラクタNo、座標、サイズ、ビヘイビア等がモーションデータとしてモーションテ−ブル上に定義される。
なお、図170に示すモーションテーブルのデータには表記していないが、「透明度」をモーションデータに追加するようにすることで、演出効果を高めるようにしてもよい。「透明度」のデータとしては、例えば図181に示すようなエフェクト1コード、エフェクト2コードの行と同様の定義を行う。
モーションテ−ブルに「透明度」のモーションデータを追加した場合、表示装置41における変動表示ゲームにおいて、図柄(飾り特図)の変動開始時には図柄は不透明であるが、変動開始後徐々に透明度が上がっていき、最高速になる頃にはほぼ透明の状態となるような演出が行われる。
このような「透明度」のモーションデータを用いることで、背景の中や図柄の後ろに表示される予告キャラクタなどを見やすくする効果がある。具体的には、図柄が高速で変動している間は、図柄を不透明で表示していても、遊技者にとっては背景や予告キャラクタを何となくしか目で追えない。そこで、変動の挙動が分かる程度に極力図柄の透明度を高くすることで、図柄の背後で行われている予告演出を見やすくして遊技の興趣を向上させることが行われる。そして、図柄変動がスローダウンする頃には、徐々に不透明に戻る動作が行われる。
なお、「透明度」のデータを追加する場合、モーションテーブルでは100%不透明の表示をするところ以外で、透明度が設定されるように定義する。
このように、図柄キャラクタとして1つのモーションテ−ブル内に定義することにより、例えば左図柄カテゴリであれば、表示装置41の画面41aの正面に見えている図柄(現図柄)だけでなく、当該図柄の上下に配置する次図柄、前図柄等も同一のモーションテ−ブルに定義されることになる。そのため、図171(a)に示すように、表示装置41の画面41aの正面に見えている現図柄が「1」である場合、現図柄「1」の上に配置される次図柄「2」は画面41aの直前に位置するとともに、現図柄「1」の下に配置される前図柄「9」は一部が画面41aに表示された状態に制御されて、図柄変動の演出が行われることになる。
この演出に対応するモーションテ−ブルは、前述した図170に示される。
すなわち、図170は左図柄の通常変動(前半)のモーションテーブルの最初の4フレーム分のデータを示している。このモーションテ−ブルでは図柄「2」、図柄「1」、図柄「9」が同一のモーションテ−ブルに定義されて図柄の変動表示が行われることになるが、図柄番号「1」が中心であり、前図柄はそれの1つ前の「9」、次図柄は1つ後の「2」であることを相対的に計算できるので、座標が上に戻った時は、中心となる図柄は「2」というように制御対象を1つに絞ることができるためシンプルな構造にできる。
したがって、図170に示すモーションテ−ブルを使用した制御によれば、現図柄「1」だけでなく、次図柄「2」、前図柄「9」も同一のモーションテ−ブルに定義されて図柄キャラクタのモーション制御が行われるので、現図柄「1」を基準として次図柄「2」、前図柄「9」の差し替え演算を行う際に、同一カテゴリのキャラクタ(ここでは図柄キャラクタ)が1つのモーションテ−ブル内に定義されていることにより、演算のパラメータの使い回しなどもできて、演算処理を効率良く行える。
すなわち、このようなモーションテ−ブルを使用して演出の制御を行う場合、同一カテゴリのキャラクタのモーションについては1つのモーションテ−ブルにオブジェクト群としてまとめて登録されているので、似たような動作となる同一カテゴリのキャラクをまとめて制御することができる。したがって、モーションを管理するシナリオテ−ブルを作成するときも扱いやすく、データ量の削減もでき、かつ制御のプロセスが考えやすくなり、開発効率も向上する。その結果、遊技の興趣を高めることにつながる。
この背景を説明する。
従来の遊技機、例えば特開2007−679号公報に開示されたものでは、基準座標とベクトル値との設定で図柄の表示位置を決定する制御を行っている。
これは、複数のパラメータを備えたデータ構造体を使用した制御である。
しかしながら、従来の遊技機では複数のパラメータを備えたデータ構造体を使用した制御であるため、図柄キャラクタのように、似たような動作となる同一カテゴリのキャラクであっても各図柄キャラクタの表示位置等(モーション)を個別に制御することとなって、制御が複雑であり、データ容量も多く、開発効率も低下していた。
そこで本実施例では、モーションテ−ブルに同一カテゴリのオブジェクト(例えば、キャラクタ)を複数定義(キャラクタNo、座標、サイズ、ビヘイビア等のモーションデータを複数の各オブジェクトについて定義)して演出の制御が行うことで、似たような動作となる同一カテゴリのキャラクについては当該キャラクをまとめて制御することができるようにして、演算のパラメータの使い回しなどもできて、演算処理を効率良く行えるようにしている。
同一カテゴリとして複数定義するオブジェクトは、全く関連性のないものではなく、似たような動作となるオブジェクトを同一のカテゴリに定義するものである。
例えば、図柄の制御を行う場合、現図柄、次図柄、前図柄などを表示装置41の画面に表示する際、現図柄を基準として次図柄、前図柄の差し替え演算を行うことになるが、同一カテゴリのキャラクタ(ここでは図柄キャラクタ)については1つのモーションテ−ブル内に定義されていれば、同一のテ−ブル内でその指示(差し替え演算の指示)が行えるので、それを見越したプログラムの造りにでき、プログラム開発の効率が良い。また、差し替え演算を行う際には、演算のパラメータの使い回しなどもできて、効率良く制御を行うことができる。特に、演算処理等の効率が向上する。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
前記モーションテーブルには、同一カテゴリに属するオブジェクトを複数定義して登録し、
同一カテゴリに属する複数のオブジェクトのモーションを同一のモーションテーブルを用いて制御可能なように構成したことを特徴とする遊技機。
ここで、画像ROM322はキャラクタデータ記憶手段を構成し、PROM(制御ROM)321はモーションテーブル記憶手段及びシナリオテーブル記憶手段を構成する。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャート及びデータでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・モーション登録処理:図132
・モーション制御処理:図141
・モーションコマンド実行処理:図142、図143
・ビットマップ追加処理:図144
・左図柄通常変動開始時のモーションテーブル:図170
次に、モーションテ−ブルに同一カテゴリのオブジェクトを複数定義する演出制御に関して、本実施例の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)モーションテ−ブルに同一カテゴリとして複数定義するオブジェクトは、図柄キャラクタに限るものではない。例えば、予告演出や他の表示演出において出現するキャラクタについても、同一カテゴリのオブジェクトとして複数のものを同一のモーションテ−ブルに定義してもよい。
具体的には、例えば演出ボタン9の押下を促す時の「ボタンキャラクタ」、押された後に登場する「武将キャラクタ」、武将の「セリフ吹き出し、セリフ文字」などについては、プッシュボタン予告演出のモーションテ−ブルに同一カテゴリのオブジェクトとして複数定義してもよい。
このようにすると、プッシュボタン予告演出の中で関連した動作となる同一カテゴリのキャラクをまとめて制御することができ、演算処理を効率良く行える。
次に、1画像動画キャラクタを用いて、静止画表示に見えるキャラクタを描画する制御について説明する。
本実施例では、画像ROM322に対して、通常の動画表示のキャラクタは動画キャラクタを用いて記憶し、1つの静止画を繰り返して表示することで静止画表示に見えるキャラクタ(見た目が静止画に見えるキャラクタ)は1画像のみで構成された静止画を繰り返して表示する形式の1画像動画キャラクタを用いて記憶しており、これらのキャラクタを表示装置41に表示する際には共通のモーションテ−ブルを使用して描画の制御が行われる。
すなわち、遊技者が見る表示装置41の画面上で、見た目が静止画に見えるキャラクタであっても、演出制御装置300の内部制御においては静止画を繰り返して表示する形式の1画像のみで構成された1画像動画キャラクタを画像ROM322に記憶し、当該1画像動画キャラクタは、1画像のみで構成された同じ静止画を繰り返して表示する形式のデータを用いて作成している。
1画像動画キャラクタを用いたモーションを定義するモーションテ−ブルの一例を図179の下段に示す。
図179下段に示すものは、モーションテーブルを共通化するための図柄ムービーの構成例であり、特に、左図柄の仮停止(再変動のための仮停止)の動作を行う場合のモーションテ−ブルである。
図179下段に示すモーションテーブルでk=3(指定行は4行目)の場合、コマンドがムービーのデコードを指示するデコードコードであり、オブジェクトインデックス0が取得されるが、オブジェクトインデックス0はk=0(1行目)で追加された図柄「1」であるため、この図柄「1」に対応する左仮停止のモーションデータがデコードされて実行される。
このとき、左図柄の仮停止を「1」の静止画で表示する場合には、デコードコードが複数繰り返されることで、1画像動画キャラクタが複数デコードされて画像ROM322から読み出され、図179(a)に示すように表示装置41の画面41aに図柄「1」を模した虎のキャラクタが飾り特図として描画される。1画像動画キャラクタは同じ画像(つまり、同じ静止画)で構成されたムービー(静止画ムービー)で作成されているので(すなわち、1画像動画キャラクタは1画像のみで構成された同じ静止画を繰り返して表示する形式のデータを用いて描画することになるので)、動画として再生されても、見た目の画像そのものは変化せず、図179(a)に示すように静止画キャラクタと同様の静止画表示であるように遊技者には見える。このように、静止画ムービーは見た目が静止画でも、演出制御装置300の内部制御では1画像のみで構成された同じ種類のキャラクタが続いて表示されるだけのムービーである。
ただし、図179下段に示すモーションテーブルでは図柄「1」の静止画のy座標が毎回変化するデータとなっているので、仮停止の過程で上下方向に図柄「1」の静止画が揺れているように表示されて仮停止動作の演出が行われる。
なお、左図柄の仮停止を「1」の静止画で表示する場合は、仮停止後の図柄の再変動でも大当りの信頼度が低いゲームが多く、はずれの結果が多い。
一方、左図柄の仮停止を「1」のアニメーション動画で表示する場合には、デコードコードの指示で通常動画キャラクタがデコードされて画像ROM322から読み出され、図179(b)に示すように表示装置41の画面41aに図柄「1」を模した虎のキャラクタが動画の状態で図柄「1」の仮停止動作が飾り特図として表示される。このとき、図柄「1」を模した虎のキャラクタのアニメーション動画は、動きながら揺れて仮停止するような演出で表示される。
なお、左図柄の仮停止を「1」のアニメーション動画で表示する場合は、大当りの信頼度が高いゲームが多く、仮停止後の再変動で大当りになったり、あるいは仮停止後に熱いリーチ演出となる場合が多い。
このように、画像のモーションを定義するモーションテ−ブルには、通常動画のキャラクタと静止画表示に見える1画像動画キャラクタとを同じテ−ブル内に定義することで、モーションテ−ブルを共通にしている。
そして、動画表示に見える通常動画のキャラクタと静止画表示に見える1画像動画キャラクタを表示装置41に表示する際に共通のモーションテ−ブルを使用して描画の制御が行われ、特に、静止画表示に見える1画像動画キャラクタについては1画像のみで構成された同じ静止画を繰り返して表示する形式のデータを用いて描画することが行われる。
この場合、見た目が静止画に見える1画像動画キャラクタは同じ画像(同じ静止画)で構成されたムービーで作成されているので、動画として再生されても、見た目の画像が変化せず、静止画キャラクタと同様の表示となる。
したがって、見た目が静止画に見える1画像動画キャラクタについては演出制御装置300の内部の画像ROM322では動画のデータ形式で記憶し、動画で扱うようにしてモーションテーブルを共通で使えるようにしたので、モーションテーブルの数を増やさなくてすみ(データ容量削減)、制御ROM321の圧迫を防ぐこと(即ち、容量低減等)が可能であるとともに、データ項目数削減による制御のし易さを図ることができ、さらに、管理のし易さが見込めるようになり、開発効率も向上する。
この背景を説明する。
従来の遊技機、例えば特開2010−178885号公報に開示されたものでは、通常図柄と異なる特殊図柄で停止(再変動のための仮停止)する場合には、異なる変動パターンテ−ブルに基づいて図柄の描画を制御している。
しかしながら、従来の制御は1つの変動パターンで図柄を差し替えるというものではなく、変動パターンテーブルの数が増加し、制御ROMの圧迫(即ち、容量増加等)にもつながっていた。また、データ項目数増加で制御が複雑化し、開発効率も低下していた。
そこで本実施例では、画像のモーションを定義するモーションテ−ブルに、通常動画のキャラクタと静止画表示に見える1画像動画キャラクタとを同じテ−ブル内に定義するようにすることで、モーションテ−ブルを共通にして、モーションテーブルの数を増やさず、データ容量削減等を図っている。
詳細を具体的に説明すると、表示装置41に表示するのが動画であれば、モーションテーブル中にはムービーのデコード指示が定義される。
しかし、静止画表示の場合はデコードが不要なため、同じ動きをする演出であっても動画キャラクタを使う場合と共通で同じモーションテーブルを使用することができない。
これは、動画キャラクタを表示する時はムービーを順次デコードするデータが必要となり、静止画キャラクタを表示する時とは共通にならないからである。
一方、モーションテーブルを2通り用意すれば、モーションデータに関しては簡単になるが、制御する側(演出制御装置300のプログラム)としては、状況に応じて選択することが必要であり、制御が複雑化してしまう虞がある。
そこで、見た目が静止画のキャラクタであっても、演出制御装置300のプログラムで実行する内部制御においては、動画形式となるキャラクタデータ(静止画表示に見える1画像動画キャラクタのデータ)を用意し、見た目が静止画となるキャラクタの演出を行う場合には全て動画形式のデータとなる動画キャラクタを使用するものとして、モーションテ−ブルの共通化を図ることにしたものである。
このように、見た目が静止画に見える1画像動画キャラクタについては演出制御装置300の内部の画像ROM322では動画のデータ形式で記憶し、動画で扱うようにしてモーションテーブルを共通で使えるようにしたので、モーションテーブルの数を増やさなくてすみ(データ容量削減)、制御ROM321の圧迫を防ぐこと(即ち、容量低減等)が可能であるとともに、データ項目数削減による制御のし易さを図ることができ、さらに、管理のし易さが見込めるようになり、開発効率も向上する。
また、静止画専用のモーションデータの場合には、静止画ムービーを動画再生させずに使用(例えば、1画像動画キャラクタの1枚目の画像だけを表示する使用)すれば、単なる静止画となり、静止画単体のキャラクタデータを用意せずにすむので、データ量の節約にも繋がる。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
キャラクタデータ記憶手段には、通常の動画表示のキャラクタは動画キャラクタを用いて記憶し、静止画表示に見えるキャラクタは1画像のみで構成された静止画を繰り返して表示する形式の1画像動画キャラクタを用いて記憶し、
前記モーションテーブルには、通常の動画表示のキャラクタと、1画像のみで構成された静止画を繰り返して表示する形式の1画像動画キャラクタとの双方のモーションに関するデータを共通のモーションテ−ブルを用いて登録し、
通常の動画表示のキャラクタと、1画像のみで構成された静止画を繰り返して表示する形式の1画像動画キャラクタとを前記表示手段に表示する際に、共通のモーションテ−ブルを使用して描画を制御し、1画像動画キャラクタについては同じ種類の1つの静止画を繰り返して表示することで静止画表示に見えるように描画するように構成したことを特徴とする遊技機。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャートでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・モーション登録処理:図132
・モーション制御処理:図141
・モーションコマンド実行処理:図142、図143
・動画追加処理:図145
・左図柄仮停止時のモーションテ−ブル:図179
次に、1画像動画キャラクタを用いて静止画表示に見えるキャラクタを描画する制御にに関して、本実施例の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)静止画だけで済む演出のモーションテーブルであっても、静止画データではなく、1画像動画キャラクタを用いて動画形式の静止画ムービーのキャラクタデータを使用し、ムービーデコードの指示をしないような構成にしてもよい。
このような構成にすれば、静止画データを不要としつつ、1画像動画キャラクタを用いて静止画として表示できる演出を行うことができ、静止画と静止画ムービーの両方のキャラクタデータを用意しなくて済む利点がある。
次に、PB予告(プッシュボタン予告)の演出に関するシナリオテ−ブル内に音出力に関する処理のコードを持たせた制御について説明する。
本実施例では、PB予告の演出に関するシナリオテ−ブルの一例を図176上段に示すように、このシナリオテ−ブル内に音出力に関する処理のコードを持たせて演出の制御を行っている。
具体的には、遊技の進行中に、表示装置41の画面にPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押すと、ボタン押下音が出力されるとともに例えば武将が登場し、セリフを語るような予告演出が行われる。この演出は、キャラクタ等の映像の管理を行う図176上段に示すシナリオテ−ブルによって制御されている。
図176上段のシナリオテーブルにおいて、1〜4行目(テーブル右側に図示したインデックス番号が0〜3)は共通部であり、5〜6行目(インデックス番号が4〜5)はボタンが押されなかった場合の動作部であり、7〜15行目(インデックス番号が6〜14)はボタンが押された場合の動作部である。
なお、シナリオテーブルの3行目(インデックス番号2)にはPB判定(ボタン有効期間90フレーム)というPB待ちコードのデータが設定されており、90フレームの期間で演出ボタン9が押されたか否かを判定し、その判定結果に基づき、次のPB判定分岐コードで演出ボタン9がオンなら+3だけシナリオデータがジャンプし(演出ボタン9が押された場合の動作部に進む)、演出ボタン9がオフなら+1だけシナリオデータが進む(演出ボタン9が押されなかった場合の動作部に進む)ことになる。
上述したように、90フレームの期間で演出ボタン9が押されたか否かを判定するためのPB待ちコードのデータがシナリオテ−ブルに設定されているので、わざわざ他のプログラムで演出ボタン9が押されたかどうかを判定して、フラグを立てる等の処理は不要であり、図176上段に示すシナリオテ−ブルに従って演出の制御を進行させていけば、PB予告時の演出に関する制御が実行されていく。
この場合、PB予告の演出に関するシナリオテ−ブルの中には、演出ボタン9が押されないまま有効時間が終了してしまった場合のシナリオデータと、演出ボタン9を押したことにより演出が進行する場合のシナリオデータがある。
前者は上述したようにシナリオテーブルの5〜6行目(インデックス番号が4〜5)に相当し、演出ボタン9が押されなかった場合の動作部のシナリオデータである。
一方、後者はシナリオテーブルの7〜15行目(インデックス番号が6〜14)に相当し、演出ボタン9が押された場合の動作部のシナリオデータである。
ここで、演出ボタン9を押したことにより演出が進行するシナリオデータ部には、演出ボタン9の押下時に音を鳴らすためのボタン押下音の出力設定を行う処理コードが設けられている。この処理コードは8行目(インデックス番号が7)のボタン音設定に相当し、「音声設定コード」としてサウンドNo.(15)というデータ(音出力に関する処理のコードに相当)が設けられている。
したがって、遊技の進行中、PB予告時には図176上段に示すシナリオテ−ブルが使用されて演出が制御されることから、表示装置41の画面にPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押すと、「音声設定コード」で指定されたサウンドNo.(15)というボタン押下音が出力されるとともに、例えば武将が登場し、セリフを語るような予告演出が行われる。
一方、表示装置41の画面にPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押さなければ、ボタン押下音は出力されない。
このように、シナリオテーブルのボタン押下音の出力設定を行う「音声設定コード」という処理コードによって演出の制御が実行されるので、ボタン押下音を鳴らす/鳴らさないの確認が不要となり、映像と音の制御内容が同一のシナリオテーブル内にあることになるので、映像と音の演出の同期を管理しやすく、開発効率も向上する。
この背景を説明する。
従来の遊技機、例えば特開2006−296867号公報に開示されたものでは、実行される演出パターンによってボタン操作に対応して異なる演出が行われるように構成され、当該ボタン演出操作に基づく音制御は別処理にて行われている。
しかしながら、従来の遊技機では音制御は画像とは別処理で行われていたため、例えばPB予告の演出等のときに演出ボタンの入力監視処理で音の出力要求を設定する場合は、演出ボタンが押されたときに「今ボタン演出中か?」といった判定のフラグ等が必要となり、演出の管理が複雑化してしまう虞があった。そのため、開発効率も低下することがあった。
そこで本実施例では、演出ボタンの入力監視処理ではなく、シナリオテーブルの中に音出力に関する処理のコードを定義するようにすることで、演出ボタンの入力監視用のフラグ等を減らすことができ、映像と音の演出の同期を管理しやすくして、開発効率も向上させている。
詳細には、PB予告の演出に関するシナリオテ−ブルの中に、演出ボタン9が押されたか否かを判定するためのPB待ちコードを設定するとともに、音出力に関する処理のコードを設定することにより、他のプログラムで演出ボタン9が押されたかどうかを判定して、フラグを立てる等の処理が不要になり、図176上段に示すシナリオテ−ブルに従って演出の制御を進行させていくだけで、PB予告時の演出に関する制御を実行することができる。
すなわち、音出力に関する処理のコードによって実行される演出処理では、ボタン押下音を鳴らす/鳴らさないの確認が不要となる(ただし、ボタン押下音を鳴らしていい状況下であるかの判断は必要:これは、シナリオテ−ブル内にPB待ちコードのデータが設定されているので、90フレームの期間で演出ボタン9が押されたことの判断は可能となる)。このように、映像と音声の制御内容が同一のシナリオテーブル内にあることになることから、映像と音声の演出の同期を管理しやすく、開発効率が向上することになる。
シナリオテーブル内に音出力要求の処理(実際に音を出力する処理は別)を実行するコード(音出力に関する処理のコード)が設けられていれば、演出ボタン9を押したことが確定することになるので、それを前提とした音出力の処理を行うだけで済むため、上述したようなフラグ等を設ける必要がなく、管理が楽であるというメリットにつながることになる。
したがって、本実施例では他のプログラムで演出ボタン9が押されたかどうかの状況の判断等をすることなく、音出力の演出を行うことができ、映像と音声の演出の管理が容易になって開発効率を向上させることができる。
上記構成の発明概念は、下記のように表される。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するとともに、シナリオテ−ブルには演出ボタンが押されたか否かを判定するための判定コードと、音出力に関する処理のコードを設定したシナリオデータ設定手段と、
前記判定コードに基づいて演出ボタンが押されたと判定した場合には、前記音出力に関する処理のコードに基づいて音に関する演出を制御する演出内容制御手段と、
を備えたことを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、主制御用マイコン(1stCPU)311は演出内容制御手段を構成する。
上記発明概念の具体的な実施箇所は、以下のとおりである。
演出制御装置300のフローチャート及びデータでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・シナリオ解析処理:図130、図131
・プッシュボタン予告時のシナリオテーブル:図176
次に、PB予告の演出に関するシナリオテ−ブル内に音出力に関する処理のコードを持たせた制御に関して、本実施例の変形例について説明する。
本実施例は、以下のような変形例であってもよい。
(1)比較的に出現し易いPB予告の演出において、演出ボタン9を押す度に音が鳴っていたのでは、遊技者にとっては煩わしく感じてしまう虞がある。
そこで、例えば演出ボタン9の押下後に出現するキャラクタ等の大当り信頼度が所定の基準値より高い場合だけに、ボタン押下音を出力するような構成にしてもよい。
このような構成にすると、PB予告の演出にメリハリができ、遊技の興趣を損なわないようにできる。
上記構成の発明概念は、下記のように表される。
演出内容制御手段は
演出ボタンが押された後に進行する予告演出の内容に応じて、前記音出力に関する処理のコードに基づく音を出力するか否かを決定することを特徴とする遊技機。
(2)シナリオテ−ブルには演出ボタンが押されたか否かを判定するための判定コードと、音出力に関する処理のコードを設定する構成に限るものではない。
音出力に関する処理のコードだけでなく、例えばLEDや可動役物等の装飾部材の処理コードを設定する構成にしてもよい。
このようにすると、PB予告の際にLEDや可動役物等の装飾部材の演出を加えることができ、よい一層多彩な演出にすることができ、遊技の興趣を高めることができる。
次に、本実施例から抽出或いは展開できる他の発明概念(17)〜(32)に対応する構成・効果・背景・実施箇所について、以下説明する。
(発明概念(17))
本実施例では、予告や特図(飾り図柄)の変動の演出等のモーションデータ(モーションテーブルのデータ)を演出の区間毎に設けてブロック化し、実施する演出内容に従ってパーツとなるモーションテーブルを選択的に組み合わせて使用する構成であるため、データ量の低減や開発効率向上などの効果が得られる。
上記構成の発明概念(17)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段(画像ROM322)と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段(PROM321)と、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記モーションテーブルは演出の区間毎に設けられ、
前記シナリオテーブルは、前記表示演出のパーツとなる前記モーションテーブルを選択的に組み合わせて使用する構成であることを特徴とする遊技機。
上記発明概念(17)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2000−126384号公報に開示されたものでは、予告毎(予告キャラクタ毎)に一連の予告実行パターン(データ)を持っており、その中から判定結果に対応する予告が選択されて実行される。当該予告は一連の予告実行パターン(データ)で構成されており、異なる予告実行パターンであっても、パターン自体のデータをそれぞれ持っている。
しかし、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、予告演出のパターンには膨大な数がある。例えば、一般的に予告には演出が発展する場合と発展しない場合(更なる発展の可能性も)があり、各パターンの演出全体をそれぞれ行うためのモーションデータを含むモーションテーブルをそれぞれ設けると、膨大な数のモーションテーブルが必要になり、モーションテーブルを記憶するROMの容量が膨大になり、開発効率は悪化する。
そこで、上記発明概念を適用した本実施例では、例えば、発展前の部分に関する動き(演出内容)は、同じものになるので、そのような区間を共通に使用できるように「発展前のモーションデータ」(A)として定義するようにした。他に必要なデータは、例えば「発展失敗となる時の動きのモーションデータ」(B)、「発展する時の動きのモーションデータ」(C)、・・・が考えられる。そして、発展しない時はA+B、発展する時はA+Cというようにデータを連結して使用するようにすれば、A区間のデータを2重に持たなくて済むので、データ量が少なくなる上、開発中における変更時も1つのAを変更すればよいため、開発効率が向上する。
つまり、上記発明概念では、モーションテーブルは演出の区間毎にパーツ化して設け、シナリオテーブル上に、演出に必要なモーションテーブル(パーツ)を組み合わせて定義し、そのシナリオテーブルの情報に基づいて表示演出の制御を行う。このため、異なるモーションテーブル間においてモーションデータが重複する部分が格段に低減され、モーションテーブルを記憶するROMの容量の増大を回避し、開発効率を向上させることができる。
特に、同一の動きとなる演出区間のモーションデータは原則的に1組だけ設ける構成(即ち、同一の動きとなる演出区間のモーションテーブルは基本的に一つだけ設ける構成)とすれば、上記効果はより顕著となる。例えば、演出が発展する時・しない時で共通となる区間は確実に同じ演出となる。これが発展する時、発展しない時で完全に独立した別テーブルを作成した場合、製作時に仕様変更する時には各テーブルのデータを変更する必要がある。そのため、手違い等により同一演出区間であるはずが、異なる箇所になってしまうという可能性が少なからずあると言える(演出量が膨大なため)。もし、そのような箇所が残ったまま市場に出てしまった場合、長時間遊技していると遊技者は微細な違いも気付くようになってしまい、結果を先読みできすぎて遊技の興趣を低下させてしまう虞がある。
しかし、同一区間を1つのテーブルとすれば、上記のようなことがない上に、変更するのも1つでよく、開発効率が格段に向上する。しかも、モーションデータの容量もより少なくて済むという利点もある(同じ区間のデータを幾つも持つ必要がないため)。
上記発明概念(17)の具体的な実施箇所は以下のとおりである(演出制御装置300のフローチャートでは、予告演出設定処理1等が対応している)。
即ち、遊技制御装置から例えば変動系コマンドを演出制御装置が受信すると、図102の受信コマンド解析処理においてステップD101(変動系コマンド処理)が実行され、この変動系コマンド処理(図103)のステップD114で変動演出設定処理(図112)が実行される。この変動演出設定処理では、前述したように、遊技制御装置から受信したコマンドの内容と乱数抽選によって実施する予告演出内容を決定し、例えばステップD280の予告演出設定処理1(図118)において、この決定に応じたシナリオテーブルを選択して当該シナリオテーブルを特定するデータ(シナリオテーブルのアドレス)を所定領域(該当のシナリオ管理領域のシナリオ用データテーブル領域)に設定する(ステップD381〜384)。なお、変動演出のさらに詳細な設定は、変動演出設定処理(図112)におけるステップD281以降で実行される。
そして、こうして選択され設定されたシナリオテーブルに基づいて演出が実行されるが、シナリオテーブルは、表示演出のパーツとなるモーションテーブルを選択的に組み合わせて使用する構成となっており、モーションテーブルは演出の区間毎に設けられている。例えば、プッシュボタン予告であれば、図176の上段に示すようなシナリオテーブルが選択され、このシナリオテーブルは、演出の区間毎に設けられたモーションインデックスNo.(70)、(65)、(66)、(67)のモーションテーブルを組み合わせて使用する構成となっている。ここで、例えばモーションインデックスNo.(70)のモーションテーブル(図176の下段に示す)は、プッシュボタン予告が開始されてプッシュボタン押下操作の有無を判定するまでの区間のモーションテーブルであり、武将のキャラクタが登場する場合でもしない場合でも共通に使用される。
(発明概念(18))
また本実施例では、予告の信頼度(例えば大当り信頼度、或いは確変となる信頼度等)が変化する演出変化点毎に前記モーションテーブルをブロック分けした構成である。即ち、予告キャラクタのモーション情報は大当り信頼度の変化する演出変化点毎にブロック分けした各モーションテーブルとして定義した構成であるため、信頼度の異なる多彩な演出を、少ないデータ量でまた高い開発効率で実現できる効果が得られる。
上記構成の発明概念(18)は、下記のように表される。
予告演出用の前記モーションテーブルは、予告の信頼度が変化する演出変化点を境とする演出の区間毎に設けられ、
前記シナリオテーブルは、前記表示演出のパーツとなる前記モーションテーブルを選択的に組み合わせて使用する構成であることを特徴とする遊技機。
上記発明概念(18)の背景は(17)と同じであり、上記発明概念(18)の具体的な実施箇所は以下のとおりである。
即ち、例えば図182に示した予告演出の表示例では、図182の(a)から(b)に移行するか(a)から(c)に移行するか(即ち、閉じた巻物が上方から落下して中央まできて静止した後、閉じたまま画面下に落下していくか、或いは巻物が開放するか)によって予告の信頼度が異なり、ここが予告信頼度の変化する演出変化点となっているが、この巻物の予告演出のためのモーションテーブルは、図180及び図181で説明したように、この演出変化点毎に区分けされて各々別のモーションテーブルとして設けた構成となっている。このため、予告の信頼度に応じて組合せを変更するモーションテーブルの数やモーションデータの容量が必要最低限となって、効率良くキャラクタの描画制御を行うことが可能になり、信頼度の異なる多彩な演出を、少ないデータ量でまた高い開発効率で実現できる。
(発明概念(19))
また本実施例では、更にモーションテーブルの中にビヘイビアデータ(ビヘイビアコード、ビヘイビアインデックス等)を埋め込むことで、当該ビヘイビアによる変更処理により信頼度等の異なるキャラクタ設定が可能な構成であるため、例えば信頼度の異なるより多彩な演出を、少ないデータ量でまた高い開発効率で実現できる効果が得られる。つまり、入口となるシナリオテーブルで信頼度等の違いが設けられる上、同一のモーションテーブルによっても信頼度等の異なる演出を行えるのでデータ量を殆ど増加させずに演出量を増やすことが出来る。
上記構成の発明概念(19)は、下記のように表される。
予告演出用の前記モーションテーブルは、前記表示手段に表示する前記画像データを変更するビヘイビアデータを設定可能であることを特徴とする遊技機。
上記発明概念(19)の背景は(17)と同じであり、上記発明概念(19)の具体的な実施箇所は以下のとおりである。
即ち、例えば図180の(a)及び(b)に示すように、モーションテーブルの1行目で登録する基本のキャラクタは巻物のガワの色が一番信頼度の低い「青」のキャラクタとしている。そして場合によっては、2行目でビヘイビアインデックス0のビヘイビアによりキャラクタ差し替え(この場合、色替え)を行うことで、例えば大当り信頼度に応じた演出を行える構成となっていて、これによりモーションテーブルの数を増やすことなく遊技の興趣を向上させている。なお、上記ビヘイビアによるキャラクタデータ(画像データ)の変更は、演出表示編集処理(図151)におけるステップE11が実行されることによって、演出の振分結果に応じて画像インデックスのデータが表示直前に変更され、例えば基本の図柄が表示すべき所定の図柄に差し替えられたり、プッシュボタン(PB)の画像の色が基本色から遊技状態(大当り信頼度等)に応じた所定の色(例えば、大当り信頼度を表す特定の色)に差し替えられたり、表示される武将のセリフが変更されたりする。
(発明概念(20))
また本実施例では、遊技制御装置(主基板)が知り得ない遊技機の状態(例えば主基板が管理していない演出制御装置による遊技状態(モード等))を基に演出の振り分け(演出内容の選択)を行い、この振り分け結果に基づいてシナリオテーブルを選択する構成であるため、より多彩な演出を実現できる効果が得られる。つまり、主基板が管理していない(知らない)遊技状態(=モード等)を基に演出の振り分けを行い、その結果に基づいたシナリオテーブル(ひいてはモーションテーブル)を選択することで、主基板からのコマンド指示だけによるものより多彩な演出を行えるようになる。
上記構成の発明概念(20)は、下記のように表される。
前記演出制御装置は、前記遊技制御装置が知り得ない遊技機の状態を基に演出の振り分けを行い、この振り分け結果に基づいて前記シナリオテーブルを選択する構成であることを特徴とする遊技機。
上記発明概念(20)の背景は(17)と同じであり、上記発明概念(20)の具体的な実施箇所は以下のとおりである。
即ち、例えば変動演出設定処理(図112)におけるステップD272では、ステップD271の変動パターン分類処理で返された大別パターン及び各種演出情報に対応する予告振分テーブル1を準備するが、ここでの演出情報には、演出制御装置300が管理する遊技モード(遊技制御装置100からのコマンドによらないもの)が有り得る。つまり、本例の演出制御装置300は、遊技制御装置100が知り得ない遊技機の状態を基に演出の振り分けを行うことが可能であり、この振り分け結果に基づいてシナリオテーブルを選択する(ステップD280等)構成となっている。これにより、主基板からのコマンド指示だけによる振り分けよりも多彩な演出を行えるようになる。
(発明概念(21))
また本実施例では、第4図柄(変動状態報知図柄)の変動に関しては、前回の停止図柄によらず決められた変動サイクルの最初から行う構成であるため、開発効率向上などの効果が得られる。
上記構成の発明概念(21)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、前記飾り図柄の変動表示は前回の変動表示の停止態様から開始し、前記変動状態報知図柄の変動表示は規定の変動サイクルの最初から開始する構成であることを特徴とする遊技機。
上記発明概念(21)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2009−131662号公報に開示されたものでは、一の変動表示ゲームの停止後、次の始動入賞に基づく変動表示ゲームは、前回の停止態様(停止図柄)から変動開始される。
しかし、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念を適用した本実施例では、左・中・右図柄等の装飾図柄(飾り図柄)は前回の停止図柄から変動を開始するようにして、演出に違和感を出さないようにすると共に、いわゆる擬似連変動なのか複数回の変動なのかを遊技者に分かり難くなるようにしている。ここで、前記装飾図柄と第4図柄(変動状態報知図柄)は同じカテゴリの特図飾り図柄ということになるが、本実施例では、続きで演出を行うことで遊技者に明確な違いを分からせたくないことがある前記装飾図柄と、如何なる演出状態においても変動中であるか否かを視認可能としている第4図柄では制御方法を異なるものとした。具体的には、前述の図174で説明したように、第4図柄の制御を前回の停止図柄と無関係に、データテーブルにて指定された固定の表示パターンから変動を開始し、以降も同様に指定された通りの表示パターンで変動を行う構成とした。これにより、前回と今回の変動の繋がりが希薄になり新たな変動であることを認識できるようになる。また、表示すべき図柄を計算などで導き出す必要がなくなり、処理の負担を軽減することができる。詳細には、図柄の差し替え処理を行わずにモーションテーブルの情報に従って固定パターンの変動制御を行うことができるのでCPU311の処理負担を軽減することができる。したがって、多様化する演出の効率の良い開発に貢献できる。
上記発明概念(21)の具体的な実施箇所は、例えば図173に示す第4図柄のモーションテーブルの構成である。本実施例ではこのようなモーションテーブルの構成により、図174に示した表示例のように、第4図柄は前回変動の停止図柄によらず、毎回固定の図柄パターンで変動する。このため、第4図柄の制御を前回の停止図柄と無関係に変動を行うようにすることで、ビヘイビアによる図柄変更処理を行わずに変動制御を行えるので、処理の負担を減らす事が出来る。なお、遊技者は通常第4図柄を見ていないので固定パターンの変動を行っていても違和感がない。これに対して、左・中・右図柄が前回の停止図柄の続きで変動しなかったら違和感が大きい。
なお、上記発明概念(21)の変形や展開としては次のような構成が有り得る。
まず、第4図柄の変動中ははずれの表示パターン(例えば図174で説明した「白白」のパターン)を含めないようにしてもよい。というのは、はずれの組合せは当りの組合せの色(色でなくても可)とは明確に差がある場合が多いので、サイクルが1周したことが分かりやすくなり、組合せパターン数が読み取られやすくなってしまう。また、確変か非確変かを分かり難くするために組合せパターンを複数持っているので、組合せ数を知られ難い方が長く遊技の興趣を保たせることができる。そこで、第4図柄の変動中ははずれの表示パターンを含めない構成としてもよい。
次に、第4図柄に限らず、遊技制御装置100が制御する本特図も決まったパターンの変動としてもよい。
(発明概念(22))
また本実施例では、装飾図柄(左・中・右図柄)と第4図柄は、変動は同一期間であるが別々のシナリオテーブルにより制御を行い、図柄の変動中は、前記装飾図柄はセンターケース等に設けられた可動物とは無関係、且つ表示領域(センターケース等により隠れない領域)の内外に配置されるように制御を行うが、前記第4図柄は可動物により遮られることなく、且つ表示領域の内部だけで配置されるように制御を行う構成である。このため、図柄の変動中は、装飾図柄で自由な動きを行う(場合によっては消えることもある)ことで興趣を高められるとともに、第4図柄は一瞬でも視認不可となる状態を作らないようにしたので、ゲーム状態が変動中であることをいつでもチェックできるという効果が得られる。
上記構成の発明概念(22)は、下記のように表される。
前記演出制御装置は、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
前記飾り図柄と前記変動状態報知図柄の変動表示は同一期間に実行するがそれぞれ別個の前記シナリオテーブルにより制御し、
前記飾り図柄は前記表示手段の視認可能領域(前記表示手段の表示領域であってセンターケースにおける可動物等によって遮蔽されない領域)の内外に配置する一方、前記変動状態報知図柄は前記視認可能領域の内部だけに配置することを特徴とする遊技機。
上記発明概念(22)の背景は、以下のとおりである。
従来の遊技機、例えば特開2005−185700号公報に開示されたものでは、スクロール表示を行う特図は、表示領域以外にも表示される(表示位置の座標が設定される)。しかし、第4図柄の表示位置については考慮されておらず、改善が求められている。上記発明概念によれば、このような課題を解消できる。
即ち、図173のモーションテーブルや図174の表示例から分かるように、本例では、第4図柄(変動状態報知図柄)は、表示画面41aの左隅等の視認可能領域内に必ず表示する構成となっている。一方、装飾図柄(左・中・右図柄)は、図171、図172で説明したように、自由な動きを行う(場合によっては消えることもある)構成となっている。これにより、興趣を高められるとともに、第4図柄は一瞬でも視認不可となる状態を作らないようにしたので、ゲーム状態が変動中であることをいつでもチェックできる。
(発明概念(23))
また本実施例では、前記発明概念(22)の構成とした上で、各図柄(装飾図柄(左・中・右図柄)のモーションテーブルについて、一つの変動パターンを区間毎にブロック化して設け、複数の異なる変動パターン間でモーションデータが重複する部分を共通のモーションテーブルを使用して制御する構成としている。これにより、データ量低減や開発効率向上を実現しつつ、第4図柄の確実な視認性を確保できる。
上記構成の発明概念(23)は、下記のように表される。
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記シナリオテーブルは、前記表示演出のパーツとなる前記モーションテーブルを選択的に組み合わせて使用する構成であり、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
前記飾り図柄と前記変動状態報知図柄の変動表示は同一期間に実行するがそれぞれ別個の前記シナリオテーブルにより制御し、
前記飾り図柄についての前記モーションテーブルは演出の区間毎に設け、
前記飾り図柄は前記表示手段の視認可能領域(前記表示手段の表示領域であってセンターケースにおける可動物等によって遮蔽されない領域)の内外に配置する一方、前記変動状態報知図柄は前記視認可能領域の内部だけに配置することを特徴とする遊技機。
(発明概念(24a))
また本実施例では、装飾図柄(飾り図柄である左・中・右図柄)と第4図柄(変動状態報知図柄)は、変動時間は同一であるが、シナリオテーブルは別々の独立した図柄として制御を行う。そして、第4図柄は変動開始時に設定されたモーションテーブルのまま変更せずに最後まで変動を行う構成である。つまり、前記装飾図柄については、モーションテーブルの切り替えを行う場合があるが、第4図柄についてはモーションテーブルの切り替えを行わない構成とした。例えば、特にムービーを遊技者に見せて興趣を高めることを目的としたリーチ(ムービー系リーチ)において、装飾図柄はムービーの邪魔とならないためにも画面隅に小さく縮小した状態で変動を行うのが一般的である。ここで、小さい図柄は、通常変動区間で変動する装飾図柄のサイズを縮小したものでもよいし(VDPの機能による縮小)、縮小図柄として別にキャラクタを設けるようにしてもよい。そして、装飾図柄は縮小図柄として画面隅で変動するときは、その区間専用のモーションテーブルに切り替えて制御を行う。しかし、第4図柄は変動開始時に設定されたモーションテーブルのまま変更せずに最後まで変動を行うようにした。詳細には、第4図柄は1サイクル分のパターンのみを定義したモーションテーブル(例えば、図173に例示したモーションテーブル)を変動の最後まで繰り返し使用するだけとしたので、大きさや表示位置、透明度等は最後まで同様の状態で表示されることになる。これによって、第4図柄は(視覚的に)安定した変動を最後まで行うことになるので、装飾図柄が視認しにくい状態で変動している状況となっても、変動中であることを遊技者が容易に認識できることになる。また、最小限のデータ量で済んでいるので第4図柄の表示制御のためにROM容量を圧迫しにくいと言える。このような観点からも、多様化する演出を効率良く開発できるようになる。
上記構成の発明概念(24a)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段と、
前記表示手段に表示する前記画像データ及びその表示位置を指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段と、
前記表示手段での表示演出を含む演出の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記シナリオテーブルは、前記モーションテーブルを選択的に使用する構成であり、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
前記飾り図柄と前記変動状態報知図柄の変動表示は同一期間に実行するがそれぞれ別個の前記シナリオテーブルにより制御し、
前記変動状態報知図柄の変動表示については、変動開始時に設定したモーションテーブルを変更せずに変動表示の最後まで使用する構成であることを特徴とする遊技機。
(発明概念(24b))
また本実施例では、1つのモーションテーブルで複数種類の第4図柄(特図1の第4図柄と特図2の第4図柄)の表示制御を行う構成であるため、開発効率向上などの効果が得られる。
上記構成の発明概念(24b)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段において、複数種類設定された演出用の飾り図柄(特図1と特図2)の何れかを変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記複数種類の飾り図柄の変動状態をそれぞれ報知する複数種類の変動状態報知図柄(特図1の第4図柄と特図2の第4図柄)の変動表示を実行可能であり、前記複数種類の変動状態報知図柄の変動表示は一つの制御テーブル(モーションテーブル)に基づいて制御する構成であることを特徴とする遊技機。
上記構成の発明概念(24b)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2010−213733号公報に開示されたものでは、特図1の第4図柄を制御するためのプロセステーブルと特図2の第4図柄を制御するためのプロセステーブルが別となっている。
このため、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、例えば特開2010−213733号公報に開示された遊技機では、第4図柄の変動開始時に、変動対象(特図1又は特図2)に対応する第4図柄を変動表示させるためのプロセステーブルを設定している。画面上には両図柄の第4図柄を常に表示する必要があるので、必ず両図柄に対する制御(変動する図柄と停止する図柄)を行う必要がある。しかし、変動を行う図柄の表示制御のみが記載されており、他方の図柄の表示制御に関しての記載がないため、その詳細は不明である。そして、特図1の第4図柄を制御するためのプロセステーブルと特図2の第4図柄を制御するためのプロセステーブルが別となっているので、プログラム構造等が複雑になるという問題がある。
これに対して、上記発明概念を適用した本実施例では、前述の図173で説明したように、1つのモーションテーブルで両図柄(特図1の第4図柄と特図2の第4図柄)の表示制御を行うので、プログラム構造もシンプルになる。その結果、多様化する演出を効率良く開発できるようになる。
(発明概念(25))
また本実施例では、フェード演出を行う際、第4図柄より奥側にフェード用キャラクタを配置するので、第4図柄を見せるための加工処理等が不要になり、処理負担を軽減でき、その結果、開発効率向上などの効果が得られる。
上記構成の発明概念(25)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
前記表示手段においてフェード演出(フェードイン、フェードアウトの表示演出)を含む画面切り替え演出を行う際には、前記変動状態報知図柄(第4図柄)より奥側に前記画面切り替え演出を行う画像(フェード用キャラクタ)を配置する構成であることを特徴とする遊技機。
上記構成の発明概念(25)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2004−73458号公報に開示されたものでは、動画像による演出が終了して、静止画像による演出に切り替わるときにフェードアウト処理を行う。そして、制御対象のキャラクタのフェードイン、フェードアウトに対する処理については記述があるが、画面全体をフェードイン・アウトする際の第4図柄との関係については説明がなく、第4図柄を見せるための加工処理等が必要になると考えられる。
このため、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念が適用された本実施例では、フェード演出を行う際、第4図柄より奥側にフェードキャラクタを配置するので、如何なる演出を行っても第4図柄の様子が分かり変動中であることを確認できる。よって、第4図柄を見せるための加工処理等が不要になり、処理負担を軽減でき、その結果、多様化する演出を効率良く開発できる。
詳細には、本実施例では、画面表示のフェードイン、フェードアウトといったフェード演出においては、フェード演出用のキャラクタ(画像)の制御情報を定義したモーションテーブルを制御ROM321内に設ける。例えば、画面全体が白くフェードアウトして違う画面に切り替わる場合のフェード制御手順は、次のとおりである。第1に、フェード用のキャラクタとして白の矩形キャラクタがキャラクタROM322内に用意されている。第2に、描画画面の前にフェード用キャラクタを透明度が高い状態で重ねる。第3に、フェードアウトする演出速度に合わせて、フェード用キャラクタの透明度を下げていく。第4に、最終的に真っ白の画面となる。第5に、フェード用キャラクタを取り除く(描画しない)と同時に新たな描画内容の画面表示を行う。ここで、いきなり取り除かずに透明度を上げていく制御を行ってもよい。なお、透明度を変更するフェードイン・アウトだけでなく、画面を切り替える手法は他にも色々ある。今回はフェード用キャラクタとしているが、同様の切り替え効果を行うためのキャラクタも今回の内容と同義とする。そして、フェード用のキャラクタはどんな場合でも、第4図柄よりも画面奥側に描画されるように制御する。これによって、如何なる画面切り替え演出を行ったとしても、変動中であることを遊技者が視認できないことがないようにできる。
上記発明概念(25)の具体的な実施箇所は以下のとおりである。
例えば図177の客待ちデモ時に使用するシナリオテーブルでは、8行目(//7)でモーション12に対してフェードアウト(FO)系モーションの設定を行っており、17行目(//16)でモーション13に対して第4図柄の設定を行っている。つまり本実施例では、フェード演出のモーションのレイヤ番号は例えば12であり、第4図柄のモーションのレイヤ番号は13であり、モーションのレイヤ番号が若い程画面奥側に配置されるため、第4図柄より奥側にフェード用キャラクタが配置されている。簡単にいえば、第4図柄は、モーションのレイヤ番号が最大の13であり、それ以外のレイヤ番号の画像に比較して画面において最も手前側に表示される。これにより、第4図柄を見せるための加工処理等が不要になり、処理負担を軽減できる。
なお、上記発明概念(25)の変形や展開としては次のような構成が有り得る。
エラーメッセージを表示する表示レイヤとフェードキャラクタの表示レイヤを同一のレイヤとしもよい(発明概念(26))。ここで表示レイヤとは、画面において、手前側のものとして表示するか、又は向こう側のものとして表示するかという前後関係を決めるレイヤ(本実施例では、例えばモーションのレイヤ)を意味する。このようにすると、エラー時のメッセージ表示を他のキャラクタ描画に影響させず表示することが可能となる。例えば、演出中にエラーメッセージを表示する際、メッセージは遊技演出よりも優先して遊技者に伝わるようにするが、第4図柄には影響を与えないようにして変動中であることも伝えられる。また、エラーメッセージを表示しつつ、裏で遊技を進行し、エラー解除時に遊技に復帰することも容易にできる。
上記構成の発明概念(26)は、下記のように表される。
前記演出制御装置は、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示と、エラーメッセージを表示するエラー表示を実行可能であり、
前記表示手段においてフェード演出(フェードイン、フェードアウトの表示演出)を含む画面切り替え演出を行う際には、前記変動状態報知図柄(第4図柄)より奥側の表示レイヤに前記画面切り替え演出を行う画像(フェード用キャラクタ)を配置し、
前記エラー表示の画像と前記画面切り替え演出を行う画像(フェード用キャラクタ)とを同じ表示レイヤに配置したことを特徴とする遊技機。
(発明概念(27))
また本実施例では、同一サイズで変動を行う装飾図柄の制御の場合、ブロック化された各種のモーションテーブルの最初のフレームが、一定の座標位置(この場合、図柄停止時における表示位置)からスタートするように構成しているので、モーションの組合せを選択する上で繋がりを意識せずに行うことができ、開発の効率が向上する。
上記構成の発明概念(27)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段(画像ROM322)と、
前記表示手段に表示する前記画像データ及びその表示位置をフレーム毎に指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段(PROM321)と、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記モーションテーブルは演出の区間毎に設けられ、
前記シナリオテーブルは、前記表示演出のパーツとなる前記モーションテーブルを選択的に組み合わせて使用する構成であり、
互いに組み合わせて使用される特定の前記モーションテーブルは、演出の区間が異なっても、最初のフレームにおける前記画像データの表示位置が特定の同じ表示位置に設定されていることを特徴とする遊技機。
上記発明概念(27)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2005−168684号公報に開示されたものでは、リーチ演出において図柄の座標データを、演出開始位置から最終的な停止位置までにわたる移動回数に対応して設定するように構成されている。つまり、リーチ演出等で同一の動きを行う場合でもデータをブロックに分けるなどせず、各パターン毎に一連の動きのデータを設けるようにしていると考えられる。そして、ブロック化していないので全ての動きに対して1対1でデータを用意する必要があり、データ量が増えてしまう問題がある。
このため、上述した従来の遊技機は、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
これに対し、上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念が適用された本実施例では、ブロック化された各種のモーションテーブルの最初のフレームが、決まった座標位置からスタートするように構成しているので、モーションの組合せを選択する上で繋がりを意識せずに行うことができ、開発の効率が向上する。また、どのテーブルとも連結できるので、選択の自由度が高くなる。
具体的には、本実施例の場合、基本的に通常変動やノーマルリーチを行う区間等での装飾図柄(飾り図柄である左・中・右図柄)のサイズは、停止表示時と同じとなっている。そして、何らかの予告演出やリーチが発生したりしない限り基本的にこの装飾図柄の図柄サイズは変更しない。通常変動を行う度に大きさが変化していては長く遊技をする上で疲れやすいからである。また、リーチ演出ではない通常変動の区間においても、変動の仕方には複数のパターンがある(スベリや各種予告により)ため、モーションテーブルも各種動作に対応する分だけ存在する。そして既述したように、モーションデータはブロック化し、必要なものを連結して使用するが、前述した図175に示すモーションテーブルのように、図柄サイズが初期サイズで変動する場合のモーションテーブルにおいて、該テーブルに定義する最初のフレームの表示座標データは、停止表示時と同一の座標とした。このように、ブロック化された各種のモーションテーブルの最初が決まった座標位置からスタートするように構成されていると、モーションテーブルの組合せを選択する上で繋がりを意識せずに行うことができ、開発の効率が向上する。また、どのテーブルとも連結出来るので、選択の自由度が高くなる。
上記発明概念(27)の具体的な実施箇所は以下のとおりである。
例えば、図175の上段に示すモーションテーブル(Mdat0000)は、左図柄停止時に使用されるモーションテーブルであるが、このモーションテーブルの3行目(//2)で設定される現図柄(停止図柄)の表示位置は、X座標が(0)であり、Y座標が(7)である。これに対して、図175の中段に示すモーションテーブル(Mdat0003)は、左図柄通常変動(前半)に使用されるモーションテーブルであるが、このモーションテーブルの8行目(//7)で設定される現図柄の表示位置は、X座標が(0)であり、Y座標が(7)であって、前述の停止図柄の表示位置と同じである。また、図175の下段に示すモーションテーブル(Mdat0004)は、左図柄通常変動(後半)に使用されるモーションテーブルであるが、このモーションテーブルの8行目(//7)で設定される現図柄の表示位置は、X座標が(0)であり、Y座標が(7)であって、やはり前述の停止図柄の表示位置と同じである。つまり、図175の各モーションテーブルの現図柄の表示位置のデータは、各テーブルの先頭座標データが一定の初期位置(停止図柄と同じ)になっている。
なお、上記発明概念(27)の変形や展開としては次のような構成が有り得る。
例えば、停止時には現図柄だけ表示、変動中は現図柄・前図柄・後図柄を表示するときは、上記図175の場合のように、現図柄を上記発明概念の対象(モーションテーブルの最初のフレームの表示位置を一定とする対象の画像)としてもよい。また、モーションテーブルをブロック化するのは図柄変動に限らない。例えば、予告キャラクタの動作のデータなども同様にブロック化し、連結部分の関係を同様に構成してもよい。
(発明概念(28))
また本実施例では、同一サイズで変動を行う装飾図柄の制御の場合、ブロック化された各種のモーションテーブルの最初のフレームが、一定の座標位置からスタートするように構成しており、さらに最終フレームの座標データは前記一定の座標位置とは異なる位置に設定しているので、モーションの組合せを選択する上で繋がりを意識せずに行うことができ、また次のモーションへの移行がスムーズに行えるようになって、開発の効率が向上する。
上記構成の発明概念(28)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段(画像ROM322)と、
前記表示手段に表示する前記画像データ及びその表示位置をフレーム毎に指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段(PROM321)と、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記モーションテーブルは演出の区間毎に設けられ、
前記シナリオテーブルは、前記表示演出のパーツとなる前記モーションテーブルを選択的に組み合わせて使用する構成であり、
互いに組み合わせて使用される特定の前記モーションテーブルは、演出の区間が異なっても、最初のフレームにおける前記画像データの表示位置が特定の同じ表示位置に設定され、最終フレームにおける前記画像データの表示位置が前記特定の同じ表示位置とは異なる表示位置に設定されていることを特徴とする遊技機。
上記発明概念(28)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2005−168684号公報に開示されたものでは、リーチ演出において図柄の座標データを、演出開始位置から最終的な停止位置までにわたる移動回数に対応して設定するように構成されている。つまり、リーチ演出等で同一の動きを行う場合でもデータをブロックに分けるなどせず、各パターン毎に一連の動きのデータを設けるようにしていると考えられる。そして、ブロック化していないので全ての動きに対して1対1でデータを用意する必要があり、データ量が増えてしまう問題がある。
このため、上述した従来の遊技機は、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
これに対し、上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念が適用された本実施例では、ブロック化された各種のモーションテーブルの最初のフレームが、決まった一定の座標位置からスタートするように構成しているので、モーションの組合せを選択する上で繋がりを意識せずに行うことができ、開発の効率が向上する。また、どのテーブルとも連結できるので、選択の自由度が高くなる。特に当該発明概念では、最終フレームの座標データは前記一定の座標位置とは異なる位置(例えば、前記一定の座標位置に対して1フレーム分だけ手前の値)に設定しているので、テーブルを連結した際に同一座標での表示が重なってしまうことがなくなり、次のモーションへの移行がスムーズに行える(即ち、座標データが被らないので動きがおかしくならない)ため、モーションの組合せがより自由に行えるようになり、さらに開発効率が向上する。つまり、例えば各テーブル(の最後)で実行される画像表示の変動速度に則った座標位置で終了させるようにすれば、ブロック化されたモーションテーブルの組合せを選択する上で繋がりをより意識せずに行うことができて、選択の自由度もより向上し、開発の効率がさらに向上する。
具体的には、本実施例の場合、基本的に通常変動を行う区間での装飾図柄(飾り図柄である左・中・右図柄)のサイズは、停止表示時と同じとなっている。そして、何らかの予告演出やリーチが発生したりしない限り基本的にこの装飾図柄の図柄サイズは変更しない。通常変動を行う度に大きさが変化していては長く遊技をする上で疲れやすいからである。また、リーチ演出ではない通常変動の区間においても、変動の仕方には複数のパターンがある(スベリや各種予告により)ため、モーションテーブルも各種動作に対応する分だけ存在する。そして既述したように、モーションデータはブロック化し、必要なものを連結して使用するが、前述した図175に示すモーションテーブルのように、図柄サイズが初期サイズで変動する場合のモーションテーブルにおいて、該テーブルに定義する最初のフレームの表示座標データは停止表示時と同一の座標(初期位置)とし、該テーブルに定義する最終フレームの表示座標データは停止表示時(初期位置)とは異なる座標(詳細には、変動速度に応じた座標データ値の差分を初期位置から引いた値)とした。なお、等速で変動している場合には、最後とその前(座標の異なる2つ)の座標値との差分を初期位置の座標から引いた値が最終フレームの座標値と一致する。変速の場合は、その法則に基づいた関係となる差分を引いた値と一致する。このように構成されていると、既述したように、モーションテーブルの組合せの容易性や自由度が格段に向上し、開発の効率がより向上する。
上記発明概念(28)の具体的な実施箇所は以下のとおりである。
例えば、図175の中段に示すモーションテーブル(Mdat0003)は、左図柄通常変動(前半)に使用されるモーションテーブルであるが、このモーションテーブルの8行目(//7)で設定される現図柄の表示位置は、X座標が(0)であり、Y座標が(7)であって、前述の停止図柄の表示位置と同じである。しかし、このモーションテーブル(Mdat0003)の最終フレームの行(//1827)で設定される現図柄の表示位置は、X座標が(0)であり、Y座標が(340)であって、前述の停止図柄の表示位置とは移動方向であるY座標が異なっている。具体的には、変動速度に合わせた関係の座標になっている。即ち、高速変動中は1フレーム毎に7→174→340→7→174→340→7→・・・というようにY座標が変化する設定となっており、3フレーム(100ms)で次の図柄番号に更新される変動速度であるため、初期位置のY座標(7)の1フレーム分だけ手前の値(340)としている。
本実施例では各図柄の移動範囲が500なので均等にはなっていないが、多くのドット数の中の1の差なので分からない。均等に割れる位置関係で設定してもよいが、今回は500という考えやすい値としている。
なお、上記発明概念(28)の変形や展開としては次のような構成が有り得る。
例えば、停止時には現図柄だけ表示、変動中は現図柄・前図柄・後図柄を表示するときは、本実施例のように、現図柄を上記発明概念の対象(モーションテーブルの最初のフレームの表示位置を一定(初期位置)とし、最終フレームの表示位置を初期位置と異ならせる画像)としてもよい。また、モーションテーブルをブロック化するのは図柄変動に限らない。例えば、予告キャラクタの動作のデータなども同様にブロック化し、連結部分の関係を同様に構成してもよい。
(発明概念(29))
また本実施例では、リーチでない通常変動時やノーマルリーチ等の場合、前述の図172で説明したように、3つの飾り図柄(現図柄・前図柄・次図柄)が各々の狭い有効範囲内を繰り返し動くように飾り図柄のモーションテーブルが構成されている。このため、明確な基準(例えば現図柄)が設けられることになり、図柄差し替え等の管理が行いやすい、飾り図柄の変動表示の制御が効率良く行えるという効果が得られる。
上記構成の発明概念(29)は、下記のように表される。
前記演出制御装置は、
前記表示手段において、演出用の飾り図柄を変動表示させて停止させる変動表示ゲームを実行可能であり、
変動中における飾り図柄の区分が複数の変動中図柄(例えば、現図柄、前図柄、次図柄)にカテゴリ分けされ、このカテゴリは変動方向の表示座標を重複しない所定範囲(有効範囲)で区切ったものに対応付けられ、前記変動中図柄の各々が対応する前記所定範囲内だけを移動するように制御する制御機能を有することを特徴とする遊技機。
なお、上記制御機能(変動中図柄の各々が対応する前記所定範囲内(重複しない有効範囲内)だけを移動するように制御して変動表示を実現する制御機能)は、特定の変動表示の種類(例えば、リーチでない通常変動時やノーマルリーチ)でのみ実行する態様でよい。特殊なリーチ演出などでは、演出効果を高めるために、例えば図柄の変動方向が変わったり(縦から横へ)、渦巻き状に特図が動いたりする場合があり、このような場合は、各変動中図柄の移動方向に対応する形で範囲を限定するようにしてもよい。
上記発明概念(29)の背景は、以下のとおりである。
従来の遊技機、例えば特開2000−210428号公報に開示されたものでは、現図柄として視認可能な図柄の移動に連れ立って、次(前)図柄が上/下に移動(変動)するような演出を行う場合、現図柄を半図柄分上(下)に変動させ、表示領域に現図柄と次(前)図柄とが半図柄分ずつ表示された状態とするといった記載がある。しかし、現図柄、次(前)図柄がどのような制御で変動表示されているか不明である。仮に、表示されるキャラクタ単位で制御を行う構成(同一の図柄を上から下まで動かす手法)だと、複数の変動中の図柄が各々独立した図柄として存在することになるので、優先順位が高いキャラクタが存在しなくなってしまうため(基準となる図柄が存在しないことになるため)、基準が定まりにくく結果として制御がしにくくなってしまうという課題がある。
上記発明概念によれば、このような課題を解消できる。
即ち、前述の図172で説明したように、本例では、リーチでない通常変動時などの変動中における飾り図柄の区分が複数の変動中図柄(現図柄、前図柄、次図柄)にカテゴリ分けされ、このカテゴリは変動方向の表示座標を重複しない有効範囲で区切ったものに対応付けられ、前記変動中図柄の各々が対応する有効範囲内だけを移動するように飾り図柄のモーションテーブルのデータ(モーションデータ)が設定された構成となっている。これにより、例えば現図柄を基準として制御することによって、図柄差し替え時などにおいて制御し易い、全ての変動中図柄を管理する必要が無くなるなどの利点が得られる。
上記発明概念(29)の具体的な実施箇所は、例えば図175のモーションテーブルであり、表示例は図172である。図172に示すように、変動方向(変動表示により図柄が移動するように見える方向)の座標であるY座標において、次図柄の有効範囲は−493以上7未満とされ、現図柄の有効範囲は7以上507未満とされ、前図柄の有効範囲は507以上1007未満とされ、重複しない有効範囲で区切られている。そして、各変動中図柄(現図柄、前図柄、次図柄)は、対応する有効範囲内でY座標の値が変化するようにモーションテーブル(例えば図175)のデータが設定されている。既述したように、図172の例では現図柄である図柄番号「1」が中心であり、前図柄はそれの1つ前の「9」、次図柄は1つ後の「2」であることを相対的に計算できる。座標が上に戻った時は、中心となる図柄は「2」というように制御対象を1つに絞ることができるためシンプルな構造(プログラムやデータの構造)にできる。
(発明概念(30))
また本実施例では、同一キャラクタの表示を継続する場合であっても、演出の変化点においてキャラクタ情報を一旦削除して再登録するようにしたので、開発効率向上などの効果が得られる。
上記構成の発明概念(30)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
静止画又は動画の画像データを複数記憶するキャラクタデータ記憶手段(画像ROM322)と、
前記表示手段に表示する前記画像データ及びその表示位置をフレーム毎に指定するデータからなるモーションテーブルを複数記憶するモーションテーブル記憶手段(PROM321)と、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)と、
前記モーションテーブルのデータによって指定された前記画像データを特定する情報であるキャラクタ情報(前述したモーション管理領域における表示情報領域に登録される画像インデックス等の情報)を表示制御のために消去可能に登録するキャラクタ情報記憶手段(RAM311a)と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記シナリオテーブルは、前記モーションテーブルを選択的に組み合わせて使用する構成であり、
表示制御する前記画像データが同一であっても、当該画像データによる表示演出内容が変化する際には、当該画像データについての前記キャラクタ情報を一旦削除して前記キャラクタ情報記憶手段の所定領域(前述した表示情報領域)に再登録する構成であることを特徴とする遊技機。
上記構成の発明概念(30)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2004−222876号公報に開示されたものでは、画像を描画領域に展開する場合の詳細な情報としてセル情報が設定される。この公報には、画像部品を描画(VRAMに展開)する場合の設定情報に関しては記載してあるが、当該画像が描画されなくなった場合の制御に関しては述べていない。
このため、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念を適用した本実施例では、同一キャラクタの表示を継続する場合であっても、演出の変化点においてキャラクタ情報を一旦削除して再登録するようにした。具体的には、モーションテーブル内のデータ構成において、同一キャラクタ(同一の画像データ)によるモーションを実行する箇所であっても、演出内容が変化する際は、モーション管理領域の当該キャラクタに関する表示情報領域のデータを削除する設定(即ち、VRAM312a(VRAM607)から当該キャラクタデータを削除する設定)行い、新たにキャラクタ情報の再登録を行ってから描画処理を行うようにした。
このように演出の変化点においてキャラクタ情報を再登録する構成によって、ノイズ等でデータが破壊されてしまった場合でも正しい表示に復帰できる。また、モーションデータをブロック化しやすくなり、開発中の変更等に柔軟に対応でき、開発効率が向上する。演出内容が変化する場合に、残す画像データと削除する画像データを常時判断してモーションデータを作成するより、演出内容変化時は判断なく削除し、その場面に必要なデータを再度設定するほうが考えやすいからである。また、決まった流れの一連の演出となっている場合でも、ブロック化してデータを作成できることになるので、開発中の変更等に柔軟に対応出来、開発効率が向上する。
上記発明概念(30)の具体的な実施箇所は以下のとおりである(演出制御装置300のフローチャートでは、モーションコマンド実行処理等が対応している)。
即ち、モーションコマンド実行処理(図142)におけるステップD837では、前述したように、対象のモーションテーブルのコマンドが削除コードであるか判定し、削除コードであればステップD862でオブジェクト削除処理(図148)を実行する。オブジェクト削除処理(図148)では、既述したように、ステップD958等によって対象のオブジェクトの表示情報領域のデータが削除される。つまり本実施例では、モーションテーブルのコマンドが削除コードであると、モーション管理領域の中で、削除対象のオブジェクトに相当する不要となったキャラクタ(一旦削除すべきキャラクタ含む)の表示情報領域のデータが削除される構成となっている。
そして、例えば図173に示した特図1第4図柄変動時のモーションテーブルでは、同一キャラクタ(例えば第4図柄「青」)を以降も使う場合でも、演出の変化点で削除コードが入っている。即ち、例えば14行目(//13)と15行目(//14)には、オブジェクトインデックス(1)、(0)に対してそれぞれ削除コードが設定されており、これにより上記制御処理によってオブジェクトインデックス(1)、(0)に相当するキャラクタ情報(第4図柄「青」の情報)が一旦削除され、次の16行目(//15)と17行目(//16)で追加コードによって同キャラクタ情報を再登録する構成となっている。なお、図181に示した巻物予告時に使用するモーションテーブルにおいても、同様に、同一キャラクタを以降も使う場合でも演出の変化点で削除コードが入っている構成が例示されている。
なお、上記発明概念(30)の変形や展開としては次のような構成が有り得る。
例えば、複数のモーションテーブルに分かれている時は、前回実行されていたテーブルとの繋がりがないので削除を行うのが当たり前だが、1つのテーブルの中の場合でも変化点に削除コードを設ける。削除する指示は本実施例のようにモーションテーブルの中に削除コードを設けるやり方でもよいし、新たにキャラクタを追加するときに先ず削除(プログラム的に)するやり方でもよい。ちなみに、本実施例ではモーションテーブルを新たに切り替えた場合は、モーション管理領域の全ての表示情報領域を初期化している(前述した図141のモーション制御処理におけるステップD807〜D815等参照)。
(発明概念(31))
また本実施例では、演出のシナリオ進行における単純ウェイト(定数ウェイト、可変ウェイト)とボタン待ちウェイトの場合で、書き込むRAM領域を別にしている構成であるため、開発効率向上などの効果が得られる。
上記構成の発明概念(31)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)と、
制御処理上の作業領域を提供する作業用記憶手段(RAM311a)と、を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記シナリオテーブル内に定義されたウェイト時間値に基づいて、前記演出の進行を制限する複数種類のウェイトを実行可能であり、
各ウェイトを行う場合は、前記ウェイト時間値を前記作業用記憶手段の所定領域に書き込み、この所定領域の値を更新してゆくことで時間の経過を管理する構成であり、
前記所定領域を前記ウェイトの種類に応じて異ならせたことを特徴とする遊技機。
上記構成の発明概念(31)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2007−175437号公報に開示されたものでは、RAMの演出用データ保持エリアに、フラグ設定部とタイマ設定部とを設け、演出制御状態によって対応するフラグとタイマを設定し、更新する。この演出制御タイマは、飾り図柄の可変表示時間や確変再抽選演出及び有利開放再抽選演出の実行時間などの演出時間を計測するためのものであるが、1つのタイマを状況にあわせて複数の意味を持つ使い方となっている。
このため、年々増加する傾向にある表示演出量に対応できておらず、これに対応するために効率の良い開発手法が求められている。
上記発明概念によれば、年々増加する傾向にある表示演出量に対応でき、多様化する演出を効率良く開発できるようになる。
即ち、上記発明概念を適用した本実施例では、演出のシナリオ進行を制限するためのウェイトとして、単なる待ちの単純ウェイト(固定時間、可変時間のいずれでも可)とボタン操作待ちのウェイトがある。各ウェイト時間値はシナリオテーブル内に定義されていて、ウェイトを行う時はそのタイマ値をRAM311aに書き込み、このRAM内の値を更新していくことで時間の経過を管理する。そして、単純ウェイトとボタン待ちウェイトの場合で、書き込むRAM領域を別にしている。これにより、処理(プログラム)が簡単で容易に作成できるようになり、開発効率が向上する。
というのは、どちらの意味を持つ場合でも同一のRAMの記憶領域を使用するようにした場合はその意味を示すためのフラグが必要となってしまうため、フラグをセットしたり、クリアしたりするための処理が必要である(特にウェイト区間の終了時のクリア)。つまり、同一の記憶領域を使用するようにした場合、どちらの意味を持ったタイマなのかを判断するためのフラグが必要となり、ウェイト区間が終了した時にはフラグのクリア等の処理が必要となり、当然ウェイト開始時のフラグセットも必要になる。
これに対して、タイマの更新処理自体は、例えば統括する処理などに設けて自動的にタイムアップするまで更新するように設ければよいので、セット・クリアのタイミングを考慮する必要のあるフラグに比べ、比較的容易に作成することができる。そして、タイムアップか否かの判断をフラグの有無の代わりとできるので、ウェイト区間終了時にクリアなどの何らかの処理を行う必要がなくなり、開発効率が向上する。つまり、タイマを自動更新するように作成するのは容易なので、タイマ値が0か否かの判断をフラグの代わりとでき、ウェイト終了時に何らかの処理を行う必要がなくなり、開発効率等が向上する。
上記発明概念(31)の具体的な実施箇所は以下のとおりである(演出制御装置300のフローチャートでは、シナリオ解析処理等が対応している)。
例えば前述の図176に示したプッシュボタン予告時に使用するシナリオテーブルでは、3行目(//2)にPB待ちコードと有効時間値(90)が設定され、11行目(//10)に可変ウェイトコードと有効時間値(55)が設定されている。また、例えば図177に示した客待ちデモ時に使用するシナリオテーブルでは、例えば20行目(//19)に定数ウェイトコードと有効時間値(300)が設定されている。
そして、演出制御装置のフローチャートの説明で既述したように、前述の図130、図131に示したシナリオ解析処理におけるステップD592〜D594及びD604〜D606の処理により、シナリオテーブルに定数ウェイトコードが設定されていると定数ウェイト処理(図135上側)を実行し、可変ウェイトコードが設定されていると可変ウェイト処理(図135下側)を実行し、PB待ちコードが設定されているとPB待ち処理(図136上側)を実行する構成となっている。
ここで、定数ウェイト処理(図135上側)のステップD692では、シナリオテーブルに設定された前記有効時間値(オペランドの値)をシナリオ用タイマ領域に設定し、可変ウェイト処理(図135下側)のステップD696では、シナリオテーブルに設定された前記有効時間値(オペランドの値)にPB演出加算時間を加えた値をシナリオ用タイマ領域に設定する。一方、PB待ち処理(図136上側)のステップD702では、シナリオテーブルに設定された前記有効時間値(オペランドの値)を対象のシナリオ管理領域のPB用タイマ領域(シナリオ用タイマ領域とは異なる領域)に設定する。つまり、単純ウェイト(本例では定数ウェイト、可変ウェイト)とボタン待ちウェイト(本例ではPB待ちウェイト)の場合で、書き込むRAM領域を別にしている。なお、上記ステップD696で設定値にPB演出加算時間を加えることによって、ボタンを押したタイミングによりその後の演出時間が変化する演出が実現される。
また、図130に示したシナリオ解析処理におけるステップD574〜D576により単純ウェイトのタイマ管理が行われ、また同処理におけるD577〜D582によりボタン待ちウェイトのタイマ管理が行われるが、いずれもタイマ用のフラグを使用しない簡単な処理内容となっている。
(発明概念(32))
また本実施例では、シナリオテーブル上に定義されるシナリオ内容(シナリオデータ)を表すコードを解析する処理(シナリオ解析処理)において、異常なコードと判断した時はシナリオテーブルを更新せずに当該処理を終了する構成であるため、ノイズ等により前記コードが異常値になってしまった場合に良好な対応が実現される。
上記構成の発明概念(32)は、下記のように表される。
遊技の進行を制御する遊技制御装置と、この遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
前記表示手段での表示演出を含む演出(装飾ランプやスピーカ等の演出手段による演出が含まれてもよい)の進行を制御するデータからなるシナリオテーブルを複数記憶するシナリオテーブル記憶手段(PROM321)を有し、
遊技制御装置からのコマンドに応じて選択した前記シナリオテーブルに基づいて前記演出手段を制御して演出を行い、
前記シナリオテーブル内に定義されたデータを解析する処理(シナリオ解析処理)において、データが異常であると判断した場合はシナリオテーブルの更新を実行せずに当該処理を終了することを特徴とする遊技機。
上記構成の発明概念(32)の背景等の詳細を以下に説明する。
従来の遊技機、例えば特開2012−231953号公報に開示されたものでは、複数のブロックを時系列的に組み合わせて構成されたシナリオデータに基づいて演出を進行させ、一旦シナリオデータを設定するとそれに基づいて順次描画処理を行う構成であり、シナリオデータが異常だった場合の対応は開示がない。
上記発明概念によれば、シナリオデータが異常だった場合の良好な対応(即ち、あまり処理数を増やさず、効果的にシナリオデータの異常に対処できる制御処理構成)が実現できる。
即ち、上記発明概念を適用した本実施例では、ノイズ等によりシナリオコード(シナリオテーブルに設定されたシナリオデータとしてのコード)が異常値になってしまった場合、そのフレームでは当該シナリオをこれ以上進行しないようにして被害を最小限に抑えることができる。テーブルを更新しないので次フレームの処理時にもう一度読み、正常だと判断できたら1フレーム遅れでシナリオが進行でき、何事もなく以降のシナリオを進行させることが出来る。なお、仮に異常コード時にテーブルを進めてしまうと対象となる動作が完全に飛ばされてしまうことになり、当該演出中におけるトラブル発生の原因となることも考えられる。例えば、図柄差し替えのシナリオを飛ばしてしまい、差し替えられないまま変動停止したりすると、本来は大当りでなくても当り図柄となってしまうトラブルの可能性も考えられる。本実施例では、このようなトラブル発生が簡単な処理で効果的に防止される。
上記発明概念(32)の具体的な実施箇所は前述の図131に示したシナリオ解析処理である。
このシナリオ解析処理において、ステップD600の判定結果がNOとなった以降の処理では、既述したように、準備したオペコード上位データが何れの種類のデータ(コード)にも該当しない場合(即ち、異常値である場合)にはリターンする構成となっている。そして、ここでリターンするということは、当該シナリオ解析処理を終了してテーブルアドレスの更新等を行わないことであるので、次回この処理に来た時に同じコードを読み出し実行することになる。そのため、ノイズ等で瞬間的に異常になった場合なら次回正常になった場合に正しい処理を行える。また、恒常的に異常になってしまう場合は、シナリオ進行が停止することになるので、見た目異常にはなってしまうがトラブルは回避しやすくなる。そして、シナリオが変化すれば新たなシナリオテーブルが設定されるのでそこで正常復帰できる。というように、単純にリターンするだけの簡単な処理構成で、シナリオデータ異常に対する良好な対処が実現できる。
次に、上記実施例では、以下のような付随的効果がある。
(1)固有IDの外部出力については、以下の動作が行われ、下記の効果がある。
パチンコ機1の電源投入時やシステムリセット時には、遊技用マイコン101に格納(例えば、HWパラメータROMに格納)されている固有ID(適宜、主固有IDという)が読み出されて、遊技プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、遊技用マイコン101に格納されている固有IDを遊技店側に送ることが可能になる。
また、固有IDは外部からの要求に応答して外部(ここでは図4の検査装置接続端子102)へと転送される。そして、例えば検査装置接続端子102に検査装置を接続することにより、遊技用マイコン101に格納されている固有IDが検査機関にて読み出される。
一方、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)は、払出制御装置200にて払出プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、払出用マイコン201に格納されている払出固有IDを遊技店側に送ることが可能になる。
このように、固有ID(個体識別情報)は遊技用マイコン101(演算処理装置)であることを識別可能であると同時に、遊技機毎を識別可能であるため、本実施例のように、固有IDを外部(例えば、管理装置140)に出力して正当性を判定する構成であると、遊技店が個々の遊技機を管理することが可能で、不正者は個々の演算処理装置に対して不正改造を施さなければならなくなるのでセキュリティーが向上するという効果がある。
また、本実施例のように、機種毎に作成されるとともに演算処理装置に書き込まれる遊技プログラムに、この固有IDを出力する機能を備えることにより、遊技プログラムの変更によって固有IDの出力形態や出力タイミング等の改善や変更が安価で迅速に行うことができる。
さらに、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)を外部(例えば、管理装置140)に出力して正当性を判定する構成であると、払出制御装置200に対するセキュリティーが向上するという効果がある。
上記構成の発明概念は、下記のように表される。
遊技制御装置を個別に識別可能な主基板固有識別情報を外部に出力する主基板固有識別情報出力手段と、
払出制御装置を個別に識別可能な払出基板固有識別情報を外部に出力する払出基板固有識別情報出力手段と、
を備えていることを特徴とする遊技機。
ここで、遊技制御装置100は主基板固有識別情報出力手段を構成し、払出制御装置200は払出基板固有識別情報出力手段を構成する。
次に、本発明の実施例2について説明する。
実施例2は、特図が複数(特図1、特図2)あり、そのうちの一方の特図2が優先変動する場合の制御例である。
図193は特図2が優先変動する場合のシナリオの構成及び表示画面の一例を示す図である。
実施例2においても、複数の表示構成要素毎に分けられて変動演出におけるシナリオテーブルが作成される。
図193(a)はシナリオテーブルを示すもので、ここでは下記のような要素に分けられて作成されている。
なお、表示構成要素が背景の場合、「背景制御のシナリオテーブル」が正式名称であるが、長くなるので、説明の都合上、「背景シナリオ」と略称して説明することとし、かつ図面上も略称している。
・背景シナリオ
・左図柄シナリオ
・右図柄シナリオ
・中図柄シナリオ
・予告キャラシナリオ
・プッシュボタンキャラシナリオ
・特図1保留表示シナリオ
・特図2留表示シナリオ
・第4図柄シナリオ
また、実施例1と同様に、各表示構成要素のそれぞれがレイヤによって構成されて、これら複数のレイヤが奥側(背景レイヤ)から前側に向かって順次重ねられ、最前列が第4図柄レイヤとなって1つの表示画面が作成される。
実施例2では、特図が複数(特図1、特図2)あることに対応して、特図1保留表示シナリオ及び特図2保留表示シナリオが設けられている。特図1保留と特図2保留表示とは別扱いであり、表示装置41での各々の表示されるエリアが決まっている。また、特図2を優先変動する制御が行われる構成となっている。
次に、図193(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図193(b)において、801は背景、802は左図柄、803は右図柄、804は中図柄、805は予告キャラ、プッシュボタンキャラは図示略、807は特図1保留表示、808は特図2保留表示、809は第4図柄を示し、各表示構成要素はそれぞれがレイヤ上に表示されている(プッシュボタンキャラは図示を略している)。
このような演出制御では、実施例2においても実施例1と同様に、演出画面を生成するに際して、演出画面の表示構成要素に対応する複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定しておくが、このとき、特図が複数(特図1、特図2)あることに対応して特図1保留表示シナリオと特図2留表示シナリオとに分けて予め設定しておく。次いで、特図保留表示に際しては、特図1及び特図2を個別にシナリオに基づいて制御し、全てのシナリオをレイヤの形式で合成することで、1画面の絵が生成され、表示装置41の演出画面として表示されて図柄(特図)の変動演出が行われるが、実施例2では特図2が優先変動するような制御が行われる。
例えば、図193(b)に示す例では、白い背景をバックにして、「3、5、7」という図柄が変動表示されるとともに、予告キャラクタとして星を表わすキャクターが中図柄「5」を横切るように各図柄の前面側に出現する演出が行われている。
一方、表示画面の下方には複数の特図の保留表示が行われており、ここでは特図1保留807と、特図2保留表示808が共に4個の保留状態として表示されている。実施例2では特図2が優先変動するので、特図2保留表示808の方から先に保留が消化されていく。
このように実施例2では、特図1保留と特図2保留表示とを別扱いとし、表示装置41での各々の表示されるエリアが決まっており、各特図を別々のシナリオ(特図1保留表示シナリオ及び特図2保留表示シナリオ)で制御するので、扱い易く、データ容量の節約と開発の効率化ができるという効果が得られる。
すなわち、複数の特図があるときに何れかの特図を優先変動させる場合には、各特図を別々のシナリオとし、特図1と特図2で4個ずつに分けた保留表示を表示装置41にて行うので、優先変動の制御がシナリオに沿って行われ、取り扱いが簡単になる。言い換えれば、特図1保留と特図2保留と機能別に分けたシナリオ管理となり、特図変動の仕様に合わせた管理方法として開発効率が向上する。
上記構成の発明概念は、下記のように表される。
演出制御装置は、
複数の特図保留を表示手段に表示し、何れかの特図を優先変動する制御を行う場合、複数の特図の保留表示毎にシナリオデータを設定するシナリオデータ設定手段と、
予め設定されたシナリオデータのうち、優先変動する特図のシナリオデータの方を優先して特図保留の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
次に、本発明の実施例3について説明する。
実施例3は、特図が複数(特図1、特図2)あるものの、何れの特図も優先変動しない場合の制御例である。
図194は複数の特図(特図1、特図2)のうちの何れの特図も優先変動しない場合のシナリオの構成及び表示画面の一例を示す図である。
実施例3においては実施例2と異なり、複数の特図(特図1、特図2)であっても各保留描画を同一の表示構成要素(特図1、特図2)として制御することが行われる。
図194(a)はシナリオテーブルを示すもので、ここでは複数の特図(特図1、特図2)に対応して1つの特図保留表示シナリオが配置されており、その他のシナリオは実施例2と同様であり、詳細な説明は略す。
また、実施例2と同様に、各表示構成要素のそれぞれがレイヤによって構成されて、これら複数のレイヤが奥側(背景レイヤ)から前側に向かって順次重ねられ、最前列が第4図柄レイヤとなって1つの表示画面が作成される。
実施例3では、特図が複数(特図1、特図2)であっても、1つの特図保留表示シナリオが設けられているだけである。特図1保留と特図2保留表示とは同じ扱いであり、表示装置41での表示されるエリアは共通である。また、何れの特図も優先変動しない制御(始動口25、26への入賞順で保留表示する制御)を行う構成となっている。
次に、図194(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図194(b)において、817は特図保留表示を示し、その他は実施例2と同様であち、各表示構成要素はそれぞれがレイヤ上に表示されている(プッシュボタンキャラは図示を略している)。
このような演出制御では、実施例3においても実施例2と同様に、演出画面を生成するに際して、演出画面の表示構成要素に対応する複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定しておくが、このとき、特図が複数(特図1、特図2)であっても1つの特図保留表示シナリオを予め設定しておく。次いで、特図保留表示については、特図1及び特図2を1つの同じ特図保留表示シナリオに基づいて制御し、全てのシナリオをレイヤの形式で合成することで、1画面の絵が生成され、表示装置41の演出画面として表示されて図柄(特図)の変動演出が行われる。また、実施例3では何れの特図も優先変動しない制御であり、始動口25、26への入賞順で特図保留表示の順番が決定される。
そのため、図194(b)に示すように、特図保留表示817においては特図1保留と、特図2保留とが始動口25、26への入賞順で決定された順番で表示されている。ここでは、特図保留表示817のうち、○印は特図1を示し、□印は特図2を示している。
このように、特図が複数(特図1、特図2)であっても、特図保留表示については、1つの特図保留表示シナリオが設けられているだけであり、始動口25、26への入賞順で特図1保留と特図2保留の表示が行われるので、特図保留の表示形態はまちまちである。
実施例3では、以下の効果がある。
特図が複数(特図1、特図2)のときでも優先変動がない始動口25、26への入賞順で決定された順番で特図保留表示を行う場合、すなわち、特図1と特図2の保留をまとめた8個(最大保留数)の保留表示とする場合には、特図1及び特図2の両者が入り混じった保留表示の描画制御を行うので、同一のシナリオレイヤとして扱うことができ、制御がし易いという効果がある。
すなわち、特図1保留、特図2保留と機能別に分けたシナリオ管理とする必要がなく、単に始動入賞順に特図保留表示を行えばよいので、開発効率が向上する。
上記構成の発明概念は、下記のように表される。
演出制御装置は、
複数の特図保留を表示手段に表示し、何れの特図も優先変動しない制御を行う場合、複数の特図の保留表示に対して同一のシナリオデータを設定するシナリオデータ設定手段と、
予め設定されたシナリオデータに基づき、始動入賞順に特図保留の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
次に、本発明の他の変形例について説明する。
本発明は、以下のような変形例であってもよい。
(1)実施例1では客待ちデモ演出に対して1つのシナリオテ−ブルを設定する構成としているが、これに限るものではない。
1つのシナリオテ−ブルを設定するのは、客待ちデモ演出のように演出の流れが規定されており、変化の少ない演出内容になっている場合には、1つの統括制御のシナリオテ−ブルという形態とする方が開発効率が上がり、データ容量も減らせるからである。
演出の流れが規定されており、変化の少ない演出内容の他の例としては、例えば大当り中の演出、RAMクリア報知表示、停電復旧報知表示などがある。これらの演出に対しても、1つの統括制御のシナリオテ−ブルを設定する構成にしてもよい。そのようにすれば、客待ちデモ演出と同様の効果がある。
また、その他に、例えばユーザーの遊技履歴・遊技機のカスタマイズ画面なども乱数によるランダム性が少ないので、このようなカスタマイズ画面についても1つの統括制御のシナリオテ−ブルを設定するようにすると、開発効率が上がり、データ容量も減らせる。
(2)シナリオテ−ブルを設定するに際して、1つにするか複数にするかを明確に区切らなくてもよい。例えば、特図変動演出と客待ちデモ演出に分けて、前者はシナリオテ−ブルが複数、後者はシナリオテ−ブルが1つという具合に明確に区分して設定するのではなく、例えば特図変動演出の中でも1つのシナリオテ−ブルに定義して演出を行う構成にしてもよい。
そのような例としては、例えばいわゆる全回転リーチなどがある。これは、同じ図柄が3つ表示された状態で、昇順あるいは逆順に特図表示がゆっくりと回転し、どの図柄で停止するかの演出を行うもので、遊技者に大当りへの期待を高めつつワクワク感を与えるものである。このような全回転リーチでは演出の流れが規定されており、変化の少ない演出内容になっているので、1つの統括制御のシナリオテ−ブルという構成にしてもよく、そうすると、開発効率が上がり、データ容量も減らせる。
(3)シナリオレイヤーの分け方は、図183(a)や図194(a)に示す例のような8個に限るものではない。
例えば、シナリオレイヤーは8個より少なくてもよいし、あるいは8個より多い数であってもよい。
要は、多様な組合せの演出を行う時に表示要素毎に独立したシナリオ管理を行う場合の効果が得られるのであれば、シナリオレイヤーの数は8個以外の数にしてもよい。
(4)本発明の上記実施例は、映像、音声、装飾、役物の動作を1枚の演出制御基板で制御する例であるが、これに限らず、例えば複数の演出制御基板で制御する構成にしてもよいし、あるいは同一基板上に複数のCPUを実装して分担制御する構成にしてもよい。
そのようにすると、各CPUの処理負担が軽減する分、処理速度が速くなる。また、各CPUのプログラムサイズを小さくできる。
次に、本発明の適用範囲について説明する。
(1)遊技機はパチンコ球を使用して遊技を行うものであれば、実施例のような例に限らず、封入球式遊技機にも適用できる。
(2)また、遊技機として飾り特図を表示可能な表示装置を備えていればよく、したがって、液晶表示器等の映像装置を設けた一般的な遊技機を対象とする幅広く適用できる。
(3)表示装置は表示内容を変化可能であればよく、画像はキャラクタ表示、映像表示などで画面内容を変化できる構成になっていればよい。
(4)表示装置は液晶を用いた表示装置に限らず、例えば有機EL、ブラウン管、ドットLED、7セグメントLED、電子ペーパのように曲がる素材を用いた装置など表示内容を変化させて演出できる部材であれば何でもよい。
(5)また、本発明はパチンコ球を用いた遊技機に限るものではなく、コイン(あるいはメダル)を用いて遊技を行う、いわゆるパチスロ機(回胴式スロットマシン遊技機)に対しても適用することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 パチンコ機(遊技機)
4 前面枠
5 ガラス枠
9 演出ボタン
20 遊技盤
25 第1始動入賞口
26 第2始動入賞口2(普通電動役物:普電)(普通変動入賞装置)
27 変動入賞装置(特別変動入賞装置)
32 普図始動ゲート
33 第2変動入賞装置
35 一括表示装置
41 表示装置(特図表示装置、普通図柄可変表示装置、演出手段、表示手段)
54 カードユニット接続基板
55 外部情報端子板
100 遊技制御装置(主制御手段、停電監視手段、乱数更新手段、始動入賞記憶手段、第2始動記憶手段、事前判定手段、優先制御手段、変動パターン決定手段、変動表示ゲーム実行制御手段、判定手段、停止時間設定手段、特定遊技状態発生制御手段、主基板固有識別情報出力手段)
101 遊技用マイコン(遊技用演算処理装置)
101A CPU
101B ROM
101C RAM
120 第1始動口スイッチ
121 第2始動口スイッチ
122 ゲートスイッチ
123 入賞口スイッチ
124 下カウントスイッチ
125 上カウントスイッチ
126 磁気センサ
127 電波センサ
140 管理装置
200 払出制御装置(従制御手段、払出基板固有識別情報出力手段)
201 払出用マイコン
211 ガラス枠開放検出スイッチ
212 前面枠開放検出スイッチ
213 オーバーフロースイッチ
214 電波センサ
215 払出球検出スイッチ
216 シュート球切れスイッチ
300 演出制御装置(従制御手段、シナリオデータ設定手段、画面作成手段、演出制御手段、演出ボタン制御手段、演出内容制御手段、キャラクタデータ記憶手段、モーションテーブル記憶手段、シナリオテーブル記憶手段、背景種類選択手段、背景演出手段)
311 主制御用マイコン(1stCPU)
311a RAM(作業用記憶手段、キャラクタ情報記憶手段)
312 VDP
321 PROM(モーションテーブル記憶手段、シナリオテーブル記憶手段)
322 画像ROM(キャラクタデータ記憶手段)
500 電源装置
551 カードユニット

Claims (1)

  1. 遊技の進行を制御する遊技制御手段と、この遊技制御手段からのコマンドに基づいて表示手段を制御して演出を行うことが可能な演出制御手段と、を備えた遊技機において、
    前記演出制御手段は、
    前記表示手段において、演出用の飾り図柄を変動表示させる変動表示ゲームを実行可能であるとともに、前記飾り図柄の変動状態を報知する変動状態報知図柄の変動表示を実行可能であり、
    前記飾り図柄の変動表示は前回の変動表示の停止態様から開始し、前記変動状態報知図柄の変動表示は表示態様を規定の変動サイクルの最初の図柄に設定してから開始する構成であり、
    前記変動状態報知図柄は、
    複数のオブジェクトの組合せによって構成され、前記変動表示ゲームの終了時に表示される該組合せの態様によって前記変動表示ゲームの結果内容を示し、
    前記オブジェクトには各々複数の態様があり、各々の前記オブジェクトに同じ態様を含み、
    前記変動表示ゲームの結果が当りとなる場合の前記組合せの態様を表示するために使用される前記オブジェクトのみを用いて変動表示を実行することを特徴とする遊技機。
JP2013151454A 2013-07-22 2013-07-22 遊技機 Active JP6318354B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013151454A JP6318354B2 (ja) 2013-07-22 2013-07-22 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013151454A JP6318354B2 (ja) 2013-07-22 2013-07-22 遊技機

Publications (2)

Publication Number Publication Date
JP2015019915A JP2015019915A (ja) 2015-02-02
JP6318354B2 true JP6318354B2 (ja) 2018-05-09

Family

ID=52484913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013151454A Active JP6318354B2 (ja) 2013-07-22 2013-07-22 遊技機

Country Status (1)

Country Link
JP (1) JP6318354B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181226A (ja) * 2004-12-28 2006-07-13 Samii Kk 弾球遊技機
JP2007151814A (ja) * 2005-12-05 2007-06-21 Daikoku Denki Co Ltd パチンコ遊技機
JP2010104633A (ja) * 2008-10-31 2010-05-13 Daito Giken:Kk 遊技台
JP5951937B2 (ja) * 2011-05-24 2016-07-13 株式会社平和 遊技機
JP6060461B2 (ja) * 2013-07-22 2017-01-18 株式会社ソフイア 遊技機

Also Published As

Publication number Publication date
JP2015019915A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
JP6464383B2 (ja) 遊技機
JP2014233538A (ja) 遊技機
JP6260762B2 (ja) 遊技機
JP5970007B2 (ja) 遊技機
JP2018027402A (ja) 遊技機
JP6446735B2 (ja) 遊技機
JP6082921B2 (ja) 遊技機
JP6339813B2 (ja) 遊技機
JP2019162552A (ja) 遊技機
JP6343128B2 (ja) 遊技機
JP6190196B2 (ja) 遊技機
JP6240877B2 (ja) 遊技機
JP6397516B2 (ja) 遊技機
JP6060461B2 (ja) 遊技機
JP6241009B2 (ja) 遊技機
JP6327693B2 (ja) 遊技機
JP6318353B2 (ja) 遊技機
JP6399631B2 (ja) 遊技機
JP6202602B2 (ja) 遊技機
JP6318354B2 (ja) 遊技機
JP6325779B2 (ja) 遊技機
JP6321925B2 (ja) 遊技機
JP2019155179A (ja) 遊技機
JP6586710B2 (ja) 遊技機
JP2017035639A (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170519

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171221

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180302

R150 Certificate of patent or registration of utility model

Ref document number: 6318354

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250