(57)【特許請求の範囲】
【請求項１】
遊技に付随して少なくとも音関連の演出動作を実行する遊技機であって、
複数系統のフレーズを同時再生可能な音源再生手段と、
前記音源再生手段の再生動作を制御する演出制御手段と
を備えると共に、
前記音源再生手段は、
前記系統ごとに、その系統で再生されるべきフレーズを指示する再生フレーズ指示情報の受付と、その系統で再生されるフレーズの音量制御に係る指示情報の受付とが可能に構成されると共に、連続した２つの前記系統についての前記フレーズの音量制御に係る指示情報のうち、所定の音量制御項目についての指示情報としてそれぞれ所定の値がセットされることで、それら連続した２つの前記系統がステレオ再生を行う系統である旨を認識するように構成されており、
前記演出制御手段は、
連続した２つの前記系統の前記所定の音量制御項目についての指示情報としてそれぞれ所定の値をセットすることで、それら連続した２つの前記系統がステレオ再生を行うべき系統である旨を指示する
遊技機。
【請求項２】
前記所定の音量制御項目が左右パンポットの項目とされる
請求項１に記載の遊技機。
【請求項３】
前記演出制御手段は、
前記連続した２つの系統のうちの一方の系統側に対してのみ前記再生フレーズ指示情報をセットし、
前記音源再生手段は、
前記一方の系統側にセットされた前記再生フレーズ指示情報に基づき、ステレオ再生されるべきＬｃｈ側とＲｃｈ側のフレーズをメモリから取得してそれらのフレーズについてのステレオ再生を行う
請求項１又は請求項２の何れかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパチンコ遊技機やスロット遊技機などの遊技機に係り、特には遊技機における音関連の演出動作の制御処理に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特許第４８２８４９１号公報
【背景技術】
【０００３】
パチンコ遊技機、スロット遊技機等では、ＬＥＤ（Light Emitting Diode）等を用いた発光部による点灯・点滅動作やスピーカによる音出力、遊技盤上に設けた可動体役物の駆動などにより、遊技に付随した演出を行ったり、或いは発光部の点灯・点滅動作やスピーカによる音出力によりエラー告知、案内表示等を行うものがある。
【０００４】
音関連の演出動作については、例えば演出制御部として機能するマイクロコンピュータが、音源ＩＣ（Integrated Circuit）に対して再生すべきフレーズを指示することで、様々な音の再生出力を実現させる。
【０００５】
なお上記特許文献１には、遊技機において、音関連の演出制御を行う構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
遊技機では、本来の遊技動作の制御に加えて多様な演出制御、エラー制御等が行われるが、このためにマイクロコンピュータの制御負荷が増大する傾向にある。
そこで本発明では、演出制御用のマイクロコンピュータ等の制御負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の遊技機は、遊技に付随して少なくとも音関連の演出動作を実行する遊技機であって、複数系統のフレーズを同時再生可能な音源再生手段と、前記音源再生手段の再生動作を制御する演出制御手段とを備える。
そして、前記音源再生手段が、前記系統ごとに、その系統で再生されるべきフレーズを指示する再生フレーズ指示情報の受付と、その系統で再生されるフレーズの音量制御に係る指示情報の受付とが可能に構成されると共に、連続した２つの前記系統についての前記フレーズの音量制御に係る指示情報のうち、所定の音量制御項目についての指示情報としてそれぞれ所定の値がセットされることで、それら連続した２つの前記系統がステレオ再生を行う系統である旨を認識するように構成され、前記演出制御手段が、連続した２つの前記系統の前記所定の音量制御項目についての指示情報としてそれぞれ所定の値をセットすることで、それら連続した２つの前記系統がステレオ再生を行うべき系統である旨を指示するものである。
【０００８】
上記のように本発明では、音源再生手段に対するステレオ再生指示を、連続した２つの系統の所定の音量制御項目についての指示情報としてそれぞれ所定の値をセットすることで行っている。これにより、前記音源再生手段には、ステレオ／モノラル再生の指示を行うためのレジスタを別途に設けずに済む。
また、上記本発明によれば、音源再生手段に対するステレオ／モノラル再生の指示は、前記所定の音量制御項目についての指示情報の出力処理が兼ねるものとなるため、別途にステレオ／モノラル再生の指示情報を出力する処理を不要とでき、この点で制御負荷の軽減が図られる。
【発明の効果】
【０００９】
上記のように本発明によれば、演出動作に係る制御負荷を軽減できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態のパチンコ遊技機の斜視図である。
【図２】実施の形態のパチンコ遊技機の盤面の正面図である。
【図３】実施の形態のパチンコ遊技機の制御構成のブロック図である。
【図４】第１の実施の形態のドライバ部の接続構成のブロック図である。
【図５】第１の実施の形態のドライバ部の内部構成例のブロック図である。
【図６】実施の形態の主制御メイン処理のフローチャートである。
【図７】実施の形態の主制御タイマ割込処理のフローチャートである。
【図８】実施の形態の演出制御メイン処理のフローチャートである。
【図９】実施の形態の演出制御の１ｍｓタイマ割込処理のフローチャートである。
【図１０】実施の形態の演出制御におけるコマンド解析処理のフローチャートである。
【図１１】実施の形態の演出制御におけるコマンド対応処理のフローチャートである。
【図１２】実施の形態の演出制御におけるシナリオ登録処理のフローチャートである。
【図１３】実施の形態の演出制御におけるシナリオ削除処理のフローチャートである。
【図１４】実施の形態の演出制御におけるシナリオ更新処理のフローチャートである。
【図１５】実施の形態の演出制御におけるサブシナリオ更新処理のフローチャートである。
【図１６】実施の形態のシナリオ登録情報、ランプデータ登録情報、モータデータ登録情報の説明図である。
【図１７】実施の形態の音データ登録情報の説明図である。
【図１８】実施の形態のメインシナリオテーブルの説明図である。
【図１９】実施の形態のサブシナリオテーブルの説明図である。
【図２０】実施の形態の演出制御におけるＬＥＤ駆動データ更新処理のフローチャートである。
【図２１】実施の形態のランプデータの登録情報の説明図である。
【図２２】実施の形態のランプデータ及びマスクデータのアドレステーブルの説明図である。
【図２３】実施の形態のランプデータテーブル及びマスクデータテーブルの説明図である。
【図２４】実施の形態の音の登録処理のフローチャートである。
【図２５】実施の形態のＳＥの設定処理のフローチャートである。
【図２６】実施の形態の音コントロールの設定処理のフローチャートである。
【図２７】実施の形態の音コントロールの情報のデータ構造についての説明図である。
【図２８】フェード系の音コントロール情報の変換処理についての説明図である。
【図２９】フェード系の音コントロールの情報の使用例についての説明図である。
【図３０】２次ボリュームにより所定種別の音を消音させる制御例についての説明図である。
【図３１】実施の形態の音再生処理のフローチャートである。
【図３２】エラー発生に応じたボリューム制御についての説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る遊技機の実施の形態としてパチンコ遊技機を例に挙げ、次の順序で説明する。
＜１．パチンコ遊技機の構造＞
＜２．パチンコ遊技機の制御構成及び実施の形態のドライバ構成＞
＜３．主制御部の処理＞
＜４．演出制御部の処理＞
［４−１：メイン処理］
［４−２：１ｍｓタイマ割込処理］
［４−３：コマンド解析処理］
［４−４：シナリオ登録・削除処理］
［４−５：シナリオ更新処理］
［４−６：ＬＥＤ駆動データ更新処理］
［４−７：音の登録処理］
［４−８：音再生処理］
＜５．まとめ及び変形例＞
【００１２】
＜１．パチンコ遊技機の構造＞
まず図１、図２を参照して、本発明の実施の形態としてのパチンコ遊技機１の構成を概略的に説明する。
図１は実施の形態のパチンコ遊技機１の外観を示す正面側の斜視図であり、図２は遊技盤の正面図である。
図１，図２に示すパチンコ遊技機１は、主に「枠部」と「遊技盤部」から成る。
「枠部」は以下説明する前枠２，外枠２、ガラス扉５、操作パネル７を有して構成される。「遊技盤部」は図２の遊技盤３から成る。以下の説明上で、「枠部」「枠側」とは前枠２，外枠２、ガラス扉５、操作パネル７の総称とする。また「盤部」「盤側」とは遊技盤３を示す。
【００１３】
図１に示すようにパチンコ遊技機１は、木製の外枠４の前面に額縁状の前枠２が開閉可能に取り付けられている。図示していないが、この前枠２の裏面には遊技盤収納フレームが形成されており、その遊技盤収納フレーム内に図２に示す遊技盤３が装着される。これにより遊技盤３の表面に形成した遊技領域３ａが前枠２の開口部２ａから図１の遊技機前面側に臨む状態となる。
なお遊技領域３ａの前側には、透明ガラスを支持したガラス扉５が設けられており、遊技領域３ａは透明ガラスを介して前面の遊技者側に表出される。
【００１４】
ガラス扉５は軸支機構６により前枠２に対して開閉可能に取り付けられている。そしてガラス扉５の所定位置に設けられた図示しない扉ロック解除用キーシリンダを操作することで、前枠２に対するガラス扉５のロック状態を解除し、ガラス扉５を前側に開放できる構造とされている。また扉ロック解除用キーシリンダの操作によっては、外枠４に対する前枠２のロック状態も解除可能な構成とされている。
またガラス扉５の前面側には、枠側の発光手段として装飾ランプ２０ｗが各所に設けられている。装飾ランプ２０ｗは、例えばＬＥＤによる発光動作として、演出用の発光動作、エラー告知用の発光動作、動作状態に応じた発光動作などを行う。
【００１５】
ガラス扉５の下側には操作パネル７が設けられている。この操作パネル７も、図示しない軸支機構により、前枠２に対して開閉可能とされている。
操作パネル７には、上受け皿ユニット８、下受け皿ユニット９、発射操作ハンドル１０が設けられている。
【００１６】
上受け皿ユニット８には、弾球に供される遊技球を貯留する上受け皿８ａが形成されている。下受け皿ユニット９には、上受け皿８ａに貯留しきれない遊技球を貯留する下受け皿９ａが形成されている。
また上受け皿ユニット８には、上受け皿８ａに貯留された遊技球を下受け皿９ａ側に抜くための球抜きボタン１６が設けられている。下受け皿ユニット９には、下受け皿９ａに貯留された遊技球を遊技機下方に抜くための球抜きレバー１７が設けられている。
また上受け皿ユニット８には、図示しない遊技球貸出装置に対して遊技球の払い出しを要求するための球貸しボタン１４と、遊技球貸出装置に挿入した有価価値媒体の返却を要求するためのカード返却ボタン１５とが設けられている。
さらに上受け皿ユニット８には、パトライトスイッチ１１、演出ボタン１２、十字キー１３が設けられている。パトライトスイッチ１１や演出ボタン１２は、所定の入力受付期間中に内蔵ランプが点灯されて操作可能となり、その内蔵ランプ点灯時に押下することにより演出に変化をもたらすことができる押しボタンとされる。また十字キー１３は遊技者が演出状況に応じた操作や演出設定等のための操作を行う操作子である。
【００１７】
発射操作ハンドル１０は操作パネル７の右端部側に設けられ、遊技者が弾球のために図３に示す発射装置３２を作動させる操作子である。
また前枠２の上部の両側と、発射操作ハンドル１０の近傍には、演出音を音響出力するスピーカ２５が設けられている。
【００１８】
次に図２を参照して、遊技盤３の構成について説明する。遊技盤３は、略正方形状の木製合板または樹脂板を主体として構成されている。この遊技盤３には、発射された遊技球を案内する球誘導レール３１が盤面区画部材として環状に装着されており、この球誘導レール３１に取り囲まれた略円形状の領域が遊技領域３ａとなっている。
【００１９】
この遊技領域３ａの略中央部には、主液晶表示装置３２Ｍ（ＬＣＤ：Liquid Crystal Display）が設けられ、また主液晶表示装置３２Ｍの右側には副液晶表示装置３２Ｓが設けられている。
主液晶表示装置３２Ｍでは、後述する演出制御部５１の制御の下、背景画像上で、たとえば左、中、右の３つの装飾図柄の変動表示が行われる。また通常演出、リーチ演出、スーパーリーチ演出などの各種の演出画像の表示も行われる。副液晶表示装置３２Ｓも、同様に各種演出に応じた表示が行われる。
【００２０】
また遊技領域３ａ内には、主液晶表示装置３２Ｍ及び副液晶表示装置３２Ｓの表示面の周囲を囲むように、センター飾り３５Ｃが設けられている。
センター飾り３５Ｃは、そのデザインにより装飾効果を発揮するだけでなく、周囲の遊技球から主液晶表示装置３２Ｍ及び副液晶表示装置３２Ｓの表示面を保護する作用を持つ。さらにセンター飾り３５Ｃは、遊技球の打ち出しの強さまたはストローク長による遊技球の流路の左右打ち分けを可能とする部材としても機能する。即ち球誘導レール３１を介して遊技領域３ａ上部に打ち出された遊技球の流下経路は、センター飾り３５Ｃによって分割された左遊技領域３ｂと右遊技領域３ｃのいずれかを流下することとなる。いわゆる左打ちの場合、遊技球は左遊技領域３ｂを流下していき、右打ちの場合、遊技球は右遊技領域３ｃを流下していく。
【００２１】
また左遊技領域３ｂの下方には、左下飾り３５Ｌが設けられ、装飾効果を発揮するとともに左遊技領域３ｂとしての範囲を規定する。
同様に右遊技領域３ｃの下方には右下飾り３５Ｒが設けられ、装飾効果を発揮するとともに左遊技領域３ｂとしての範囲を規定する。
なお、遊技領域３ａ（左遊技領域３ｂ及び右遊技領域３ｃ）内には、所要各所に釘４９や風車４７が設けられて遊技球の多様な流下経路を形成する。
また主液晶表示装置３２Ｍの下方にはセンターステージ３５Ｓが設けられており、装飾効果を発揮するとともに、遊技球の遊動領域として機能する。
なお図示していないが、センター飾り３５Ｃには、適所に視覚的演出効果を奏する可動体役物が設けられている。
【００２２】
遊技領域３ａの右上縁付近には、複数個のＬＥＤを配置して形成されたドット表示器による図柄表示部３３が設けられている。
この図柄表示部３３では、所定のドット領域により、第１特別図柄表示部、第２特別図柄表示部、及び普通図柄表示部が形成され、第１特別図柄、第２特別図柄、及び普通図柄のそれぞれの変動表示動作（変動開始および変動停止を一セットする変動表示動作）が行われる。
なお、上述した主液晶表示装置３２Ｍは、図柄表示部３３による第１、第２特別図柄の変動表示と時間的に同調して、画像による装飾図柄を変動表示する。
【００２３】
センター飾り３５Ｃの下方には、上始動口４１（第１の特別図柄始動口）を有する入賞装置が設けられ、さらにその下方には下始動口４２ａ（第２の特別図柄始動口）を備える普通変動入賞装置４２が設けられている。
上始動口４１及び下始動口４２ａの内部には、遊技球の通過を検出する検出センサ（図３に示す上始動口センサ７１，下始動口センサ７２）が形成されている。
【００２４】
上始動口４１は、図柄表示部３３における第１特別図柄の変動表示動作の始動条件に係る入賞口で、始動口開閉手段（始動口を開放または拡大可能にする手段）を有しない入賞率固定型の入賞装置となっている。
【００２５】
下始動口４２ａを有する普通変動入賞装置４２は、始動口開閉手段により始動口の遊技球の入賞率を変動可能な入賞率変動型の入賞装置として構成されている。即ち下始動口４２ａを開放または拡大可能にする左右一対の可動翼片（可動部材）４２ｂを備えた、いわゆる電動チューリップ型の入賞装置である。
この普通変動入賞装置４２の下始動口４２ａは、図柄表示部３３における第２特別図柄の変動表示動作の始動条件に係る入賞口である。そして、この下始動口４２ａの入賞率は可動翼片４２ｂの作動状態に応じて変動する。即ち可動翼片４２ｂが開いた状態では、入賞が容易となり、可動翼片４２ｂが閉じた状態では、入賞が困難又は不可能となるように構成されている。
【００２６】
また普通変動入賞装置４２の左右には、一般入賞口４３が複数個設けられている。各一般入賞口４２の内部には、遊技球の通過を検出する検出センサ（図３に示す一般入賞口センサ７４）が形成されている。
また右遊技領域３ｃの下部側には、遊技球が通過可能なゲート（特定通過領域）からなる普通図柄始動口４４が設けられている。この普通図柄始動口４４は、図柄表示部３３における普通図柄の変動表示動作に係る入賞口であり、その内部には、通過する遊技球を検出するセンサ（図３に示すゲートセンサ７３）が形成されている。
【００２７】
右遊技領域３ｃ内の普通図柄始動口４４から普通変動入賞装置４２へかけての流下経路途中には第１特別変動入賞装置４５（特別電動役物）が設けられている。
第１特別変動入賞装置４５は、突没式の開放扉４５ｂにより第１大入賞口４５ａを閉鎖／開放する構造とされている。また、その内部には第１大入賞口４５ａへの遊技球の通過を検出するセンサ（図３の第１大入賞口センサ７５）が形成されている。
第１大入賞口４５ａの周囲は、右下飾り３５Ｒが遊技盤３の表面から膨出した状態となっており、その膨出部分の上辺及び開放扉４５ｂの上面が右流下経路３ｃの下流案内部を形成している。従って、開放扉４５ｂが盤内部側に引き込まれることで、下流案内部に達した遊技球は容易に第１大入賞口４５に入る状態となる。
【００２８】
また普通変動入賞装置４２の下方には、第２特別変動入賞装置４６（特別電動役物）が設けられている。第２特別変動入賞装置４６は、下部が軸支されて開閉可能な開放扉４６ｂにより、その内側の第２大入賞口４６ａを閉鎖／開放する構造とされている。また、その内部には第２大入賞口４６ａへの遊技球の通過を検出するセンサ（図３の第２大入賞口センサ７６）が形成されている。
開放扉４６ｂが開かれることで第２大入賞口４６ａが開放される。この状態では、左遊技領域３ｂ或いは右遊技領域３ｃを流下してきた遊技球は、高い確率で第２大入賞口５０に入ることとなる。
【００２９】
以上のように盤面の遊技領域には、入賞口として上始動口４１、下始動口４２ａ、普通図柄始動口４４、第１大入賞口４５ａ、第２大入賞口４６ａ、一般入賞口４３が形成されている。
本実施の形態のパチンコ遊技機１においては、これら入賞口のうち、普通図柄始動口４４以外の入賞口への入賞があった場合には、各入賞口別に設定された入賞球１個当りの賞球数が遊技球払出装置５５（図３参照）から払い出される。
例えば、上始動口４１および下始動口４２ａは３個、第１大入賞口４５ａ、第２大入賞口４６ａは１３個、一般入賞口４３は１０個などと賞球数が設定されている。
なお、これらの各入賞口に入賞しなかった遊技球は、アウト口４８を介して遊技領域３ａから排出される。
ここで「入賞」とは、入賞口がその内部に遊技球を取り込んだり、ゲートを遊技球が通過したりすることをいう。実際には入賞口ごとに形成されたセンサ（各入賞検出スイッチ）により遊技球が検出された場合、その入賞口に「入賞」が発生したものとして扱われる。この入賞に係る遊技球を「入賞球」とも称する。
【００３０】
以上のような盤面において、センター飾り３５Ｃ、左下飾り３５Ｌ、右下飾り３５Ｒ、センターステージ３５Ｓ、第１特別変動入賞装置４５、第２特別変動入賞装置４６、さらには図示していない可動体役物には、詳細には図示していないが各所に、盤側の発光手段として装飾ランプ２０ｂが設けられている。
装飾ランプ２０ｂは、例えばＬＥＤによる発光動作として、演出用の発光動作、エラー告知用の発光動作、動作状態に応じた発光動作などを行う。
【００３１】
＜２．パチンコ遊技機の制御構成及び実施の形態のドライバ構成＞
次に本実施の形態のパチンコ遊技機１の制御系の構成について説明する。図３はパチンコ遊技機１の内部構成の概略的なブロック図である。
本実施の形態のパチンコ遊技機１は、その制御構成を形成する基板として主に、主制御基板５０、演出制御基板５１、液晶制御基板５２、払出制御基板５３、発射制御基板５４、電源基板５８が設けられている。
【００３２】
主制御基板５０は、マイクロコンピュータ等が搭載され、パチンコ遊技機１の遊技動作全般に係る統括的な制御を行う。なお以下では、主制御基板５０に搭載されたマイクロコンピュータ等を含めて主制御基板５０の構成体を「主制御部５０」と表記する。
演出制御基板５１は、マイクロコンピュータ等が搭載され、主制御部５０から演出制御コマンドを受けて、画像表示、発光、音響出力を用いた各種の演出動作を実行させるための制御を行う。なお以下では、演出制御基板５１に搭載されたマイクロコンピュータ等を含めて演出制御基板５１の構成体を「演出制御部５１」と表記する。
【００３３】
液晶制御基板５２はマイクロコンピュータやビデオプロセッサ等が搭載され、演出制御部５１からの表示制御コマンドを受けて、主液晶表示装置３２Ｍ、副液晶表示装置３２Ｓによる表示動作の制御を行う。
なお主液晶表示装置３２Ｍ、副液晶表示装置３２Ｓによる表示動作の制御を行う液晶制御基板として、主液晶制御基板、副液晶制御基板を独立して設けてもよい。
払出制御基板５３は、パチンコ遊技機１に接続された遊技球払出装置５５による賞球の払い出し制御を行う。
発射制御基板５４は、遊技者のパチンコ遊技機１に設けられている発射装置５６による遊技球の発射動作の制御を行う。
電源基板５８は、外部電源（例えばＡＣ２４Ｖ）からＡＣ／ＤＣ変換、さらにはＤＣ／ＤＣ変換を行い、各部に動作電源電圧Ｖｃｃを供給する。なお電源経路の図示は省略している。
【００３４】
まず主制御部５０及びその周辺回路について述べる。
主制御部５０は、ＣＰＵ１００（以下「主制御ＣＰＵ１００」と表記）を内蔵したマイクロプロセッサ、ＲＯＭ１０１（以下「主制御ＲＯＭ１０１」と表記）、ＲＡＭ１０２（以下「主制御ＲＡＭ１０２」と表記）を搭載し、マイクロコンピュータを構成している。
主制御ＣＰＵ１００は制御プログラムに基づいて、遊技の進行に応じた各種演算及び制御処理を実行する。
主制御ＲＯＭ１０１は、主制御ＣＰＵ１００による遊技動作の制御プログラムや、遊技動作制御に必要な種々のデータを記憶する。
主制御ＲＡＭ１０２は、主制御ＣＰＵ１００が各種演算処理に使用するワークエリアや、各種入出力データや処理データのバッファ領域として用いられる。
なお図示は省略したが、主制御部５０は、各部とのインターフェース回路、特別図柄変動表示に係る抽選用乱数を生成する乱数生成回路、各種の時間計数のためのＣＴＣ（Counter Timer Circuit）、主制御ＣＰＵ１００に割込み信号を与える割込コントローラ回路なども備えている。
【００３５】
主制御部５０は、上述のように盤面の遊技領域の各入賞手段（上始動口４１、下始動口４２ａ、普通図柄始動口４４、第１大入賞口４５ａ、第２大入賞口４６ａ、一般入賞口４３）に設けられるセンサの検出信号を受信する構成となっている。
即ち、上始動口センサ７１、下始動口センサ７２、ゲートセンサ７３、一般入賞口センサ７４、第１大入賞口センサ７５、第２大入賞口センサ７６のそれぞれの検出信号が主制御部５０に供給される。
なお、これらのセンサ（７１〜７６）は、入球した遊技球を検出する検出スイッチにより構成されるが、具体的にはフォトスイッチや近接スイッチなどの無接点スイッチや、マイクロスイッチなどの有接点スイッチで構成することができる。
【００３６】
主制御部５０は、上始動口センサ７１、下始動口センサ７２、ゲートセンサ７３、一般入賞口センサ７４、第１大入賞口センサ７５、第２大入賞口センサ７６のそれぞれの検出信号の受信に応じて、処理を行う。例えば抽選処理、図柄変動制御、賞球払出制御、演出制御コマンド送信制御、外部データ送信処理などを行う。
【００３７】
また主制御部５０には、下始動口４２の可動翼片４２ｂを開閉駆動する普通電動役物ソレノイド７７が接続され、主制御部５０は遊技進行状況に応じて制御信号を送信して普通電動役物ソレノイド７７の駆動動作を実行させ、可動翼片４２ｂの開閉動作を実行させる。
さらに、主制御部５０には、第１大入賞口４５の開放扉４５ｂを開閉駆動する第１大入賞口ソレノイド７８と、第２大入賞口４６の開放扉４６ｂを開閉駆動する第２大入賞口ソレノイド７９が接続されている。主制御部５０は、いわゆる大当たり状況に応じて、第１大入賞口ソレノイド７８又は第２大入賞口ソレノイド７９を駆動制御して、第１大入賞口４５又は第２大入賞口４６の開放動作を実行させる。
【００３８】
また主制御部５０には、図柄表示部３３が接続されており、図柄表示部３３に制御信号を送信して、各種図柄表示（ＬＥＤの消灯／点灯／点滅）を実行させる。これにより図柄表示部３３における第１特別図柄表示部８０、第２特別図柄表示部８１、普通図柄表示部８２での表示動作が実行される。
【００３９】
また主制御部５０には、枠用外部端子基板５７が接続される。主制御部５０は、遊技進行に関する情報を、枠用外部端子基板５７を介して図示しないホールコンピュータに送信可能となっている。遊技進行に関する情報とは、例えば大当り当選情報、賞球数情報、図柄変動表示実行回数情報などの情報である。ホールコンピュータとは、パチンコホールの遊技機を統括的に管理する管理コンピュータであり、遊技機外部に設置されている。
【００４０】
また主制御部５０には、払出制御基板５３が接続されている。払出制御基板５３には、発射装置５６を制御する発射制御基板５４と、遊技球の払い出しを行う遊技球払出装置５５が接続されている。
主制御部５０は、払出制御基板５３に対し、払い出しに関する制御コマンド（賞球数を指定する払出制御コマンド）を送信する。払出制御基板５３は当該制御コマンドに応じて遊技球払出装置５５を制御し、遊技球の払い出しを実行させる。
また払出制御基板５３は、主制御部５０に対して、払い出し動作状態に関する情報（払出状態信号）を送信可能となっている。主制御部５０側では、この払出状態信号によって、遊技球払出装置５５が正常に機能しているか否かを監視する。具体的には、賞球の払い出し動作の際に、玉詰まりや賞球の払い出し不足といった不具合が発生したか否かを監視している。
【００４１】
また主制御部５０は、特別図柄変動表示に関する情報を含む演出制御コマンドを、演出制御部５１に送信する。なお、主制御部５０から演出制御部５１への演出制御コマンドの送信は一方向通信により実行されるようにしている。これは、外部からの不正行為による不正な信号が演出制御部５１を介して主制御部５０に入力されることを防止するためである。
【００４２】
続いて演出制御部５１及びその周辺回路について説明する。
演出制御部５１は、ＣＰＵ２００（以下「演出制御ＣＰＵ２００」と表記）を内蔵したマイクロプロセッサ、ＲＯＭ２０１（以下「演出制御ＲＯＭ２０１」と表記）、ＲＡＭ２０２（以下「演出制御ＲＡＭ２０２」と表記）を搭載し、マイクロコンピュータを構成している。
演出制御ＣＰＵ２００は演出制御プログラム及び主制御部５０から受信した演出制御コマンドに基づいて、各種演出動作のための演算処理や各演出手段の制御を行う。演出手段とは、本実施の形態のパチンコ遊技機１の場合、主液晶表示装置３２Ｍ、副液晶表示装置３２Ｓ、装飾ランプ２０ｗ、２０ｂ、スピーカ５９及び図示を省略した可動体役物となる。
演出制御ＲＯＭ２０１は、演出制御ＣＰＵ２００による演出動作の制御プログラムや、演出動作制御に必要な種々のデータを記憶する。
演出制御ＲＡＭ２０２は、演出制御ＣＰＵ２００が各種演算処理に使用するワークエリアや、テーブルデータ領域、各種入出力データや処理データのバッファ領域などとして用いられる。
なお図示は省略したが、演出制御部５１は、各部とのインターフェース回路、演出のための抽選用乱数を生成する乱数生成回路、各種の時間計数のためのＣＴＣ、演出制御ＣＰＵ２００に割込み信号を与える割込コントローラ回路なども備えている。
この演出制御部５１の主な役割は、主制御部５０からの演出制御コマンドの受信、演出制御コマンドに基づく演出の選択決定、主液晶表示装置３２Ｍ、副液晶表示装置３２Ｓ側への演出制御コマンドの送信、スピーカ２５による出力音制御、装飾ランプ２０ｗ，２０ｂ（ＬＥＤ）の発光制御、可動体役物の動作制御などとなる。
【００４３】
演出制御部５１は、主液晶表示装置３２Ｍ、副液晶表示装置３２Ｓ側への演出制御コマンドの送信を行うが、その演出制御コマンドは、液晶インターフェース基板６６を介して液晶制御基板５２に送られる。
【００４４】
液晶制御基板５２は、主液晶表示装置３２Ｍ及び副液晶表示装置３２Ｓの表示制御を行う。図示していないが、液晶制御基板５２には、ＶＤＰ（Video Display Processor）、画像ＲＯＭ、ＶＲＡＭ（Video RAM）、液晶制御ＣＰＵ、液晶制御ＲＯＭ、液晶制御ＲＡＭを備えている。
ＶＤＰは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ＲＯＭには、ＶＤＰが画像展開処理を行う画像データ（演出画像データ）が格納されている。
ＶＲＡＭは、ＶＤＰが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御ＣＰＵは、ＶＤＰが表示制御を行うために必要な制御データを出力する。
液晶制御ＲＯＭには、液晶制御ＣＰＵの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御ＲＡＭは、ワークエリアやバッファメモリとして機能する。
【００４５】
液晶制御基板５２は、これらの構成により、演出制御基板５１からの演出制御コマンドに基づいて各種の画像データを生成し、主液晶表示装置３２Ｍ及び副液晶表示装置３２Ｓに出力する。これによって主液晶表示装置３２Ｍ及び副液晶表示装置３２Ｓにおいて各種の演出画像が表示される。
【００４６】
また演出制御部５１は、光演出や音演出の制御を行う。このため演出制御部５１には枠ドライバ部６１、盤ドライバ部６２及び音源ＩＣ（Integrated Circuit）５９が接続されている。
枠ドライバ部６１は、枠側の装飾ランプ部６３のＬＥＤについて発光駆動を行う。なお、装飾ランプ部６３とは、図１に示したように枠側に設けられている装飾ランプ２０ｗを総括的に示したものである。
盤ドライバ部６２は、盤側の装飾ランプ部６４のＬＥＤについて発光駆動を行う。なお、装飾ランプ部６４とは、図２に示したように盤側に設けられている装飾ランプ２０ｂを総括的に示したものである。また本実施の形態の場合、盤ドライバ部６２は、盤側に形成されている可動体役物を駆動する可動体役物モータ６５の駆動も行う。可動体役物モータ６５は例えばステッピングモータが用いられる。
【００４７】
本実施の形態の場合、枠ドライバ部６１は第１系統の駆動信号出力手段であり、盤ドライバ部６２は第２系統の駆動信号出力手段である。詳しくは図４を用いて後述するが、演出制御部５１（演出制御ＣＰＵ２００）は、シリアルデータ送信チャネルｃｈ１，ｃｈ２を用いて、演出駆動データをシリアルデータとして第１系統及び第２系統の駆動信号出力手段（枠ドライバ部６１及び盤ドライバ部６２）に供給する。
なおこの例では盤ドライバ部６２は、盤側に形成されている可動体役物を駆動する可動体役物モータ６５の駆動も行うものとしているが、装飾ランプ部６４の各ＬＥＤを発光駆動するドライバ部と、可動体役物モータ６５を駆動するドライバ部が別体として設けられても良い。
【００４８】
また演出制御部５１は、スピーカ２５により所望の音を出力させるべく、音源ＩＣ５９に対する制御を行う。音源ＩＣ５９には音データＲＯＭ６９が接続されており、音源ＩＣ５９は音データＲＯＭ６９から必要な音データ（再生するフレーズの音データ）を取得して音声信号出力を行う。
音源ＩＣ５９は、複数チャネル（後述する音チャネルａＣＨ）のフレーズをミキシングして所定本数（チャネル数）の音声信号を得る。図１に示したように、本例の場合、スピーカ２５は複数設けられるため、音源ＩＣ５９の出力チャネル数は例えばＬｃｈ，Ｒｃｈの２チャネルなど（ステレオ出力）が可能となる。上記のミキシングにより、演出制御部５１より再生指示された複数チャネルのフレーズを同時再生可能とされる。
また音源ＩＣ５９は、演出制御部５１からの指示に従い、制御対象として指示されたフレーズについての音コントロールを行う。具体的に、演出制御部５１は、ボリュームの変化指示やフェードイン再生／フェードアウト再生等の音響効果の付与指示に係る情報を音源ＩＣ５９に対して与え、音源ＩＣ５９はそれらの情報に従って制御対象として指定されたフレーズの再生制御を行う。
【００４９】
本実施の形態で用いる音源ＩＣ５９は、ＳＵＢボリュームの設定機能やパン機能（左右方向パン及び上下方向パン）も有するものとされる。
この場合の音源ＩＣ５９が音出力を行うにあたって指示を要求する情報は、少なくとも「フレーズ番号」「１次ボリューム」「１次ボリューム遷移量」「２次ボリューム」「ループ回数」「ＳＵＢ０ボリューム」「ＳＵＢ１ボリューム」「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」とされる。すなわち、この場合の音源ＩＣ５９には、これらの項目ごとにその指示値の入力を受け付けるレジスタが音チャネルａＣＨごとに設けられている。
なお、本実施の形態ではＳＵＢボリュームは使用しないものとしている。従って上記の「ＳＵＢ０ボリューム」「ＳＵＢ１ボリューム」のレジスタには「０」をセットする（後述する図３１のステップＳ１２０２を参照）。
【００５０】
音源ＩＣ５９による出力音声信号はアンプ部６７で増幅された後、スピーカ２５に対して与えられる。
なお、図３では図示の都合上、音源ＩＣ５９の出力チャネル数を１つとしているが、実際にはアンプ部６７及びスピーカ２５は例えばＬｃｈ、Ｒｃｈに対応した出力チャネルがそれぞれ設けられ、ステレオによる音再生が可能とされる。
【００５１】
なお、上記では音源ＩＣ５９を演出制御基板５１とは別体に設けるものとしたが、音源ＩＣ５９は演出制御基板５１と同一基板上に一体的に設けることもできる。
【００５２】
また演出制御部５１には、遊技者が操作可能な操作部６０が接続され、操作部６０からの操作検出信号を受信可能となっている。この操作部６０は、図１で説明したパトライトスイッチ１１、演出ボタン１２、十字キー１３と、それらの操作検出機構のことである。
演出制御部５１は、操作部６０からの操作検出信号に応じて、各種演出制御を行うことができる。
【００５３】
演出制御部５１は、主制御部５０から送られてくる演出制御コマンドに基づき、あらかじめ用意された複数種類の演出パターンの中から抽選によりあるいは一意に演出パターンを決定し、必要なタイミングで各種演出手段を制御する。これにより、演出パターンに対応する主・副液晶表示装置３２Ｍ、３２Ｓによる演出画像の表示、スピーカ２５からの音再生、装飾ランプ部６３、６４（装飾ランプ２０ｗ、２０ｂ）におけるＬＥＤの点灯点滅駆動、可動体役物モータ６５による可動体役物の動作が実現され、時系列的に種々の演出パターンが展開されていく。これにより「演出シナリオ」が実現される。
【００５４】
なお演出制御コマンドは、１バイト長のモード（ＭＯＤＥ）と、同じく１バイト長のイベント（ＥＶＥＮＴ）からなる２バイト構成により機能を定義する。
ＭＯＤＥとＥＶＥＮＴの区別を行うために、ＭＯＤＥのＢｉｔ７はＯＮ、ＥＶＥＮＴのＢｉｔ７をＯＦＦとしている。
これらの情報を有効なものとして送信する場合、モード（ＭＯＤＥ）およびイベント（ＥＶＥＮＴ）各々に対応してストローブ信号が出力される。すなわち、主制御ＣＰＵ１００は、送信すべきコマンドがある場合、演出制御部５１にコマンドを送信するためのモード（ＭＯＤＥ）情報の設定および出力を行い、この設定から所定時間経過後に１回目のストローブ信号の送信を行う。さらに、このストローブ信号の送信から所定時間経過後にイベント（ＥＶＥＮＴ）情報の設定および出力を行い、この設定から所定時間経過後に２回目のストローブ信号の送信を行う。
ストローブ信号は主制御ＣＰＵ１００により、演出制御ＣＰＵ２００が確実にコマンドを受信することが可能な所定期間アクティブ状態に制御される。
また演出制御部５１（演出制御ＣＰＵ２００）は、ストローブ信号の入力に基づいて割込を発生させてコマンド受信割込処理用の制御プログラムを実行し、この割込処理において演出制御コマンドが取得される。
【００５５】
続いて、上述した第１系統及び第２系統の駆動信号出力手段（枠ドライバ部６１及び盤ドライバ部６２）の構成を説明する。
図４に、演出制御部５１に接続される枠ドライバ部６１、盤ドライバ部６２を示した。
【００５６】
第１系統の駆動信号出力手段である枠ドライバ部６１は、ｎ個のＬＥＤドライバ９０が、演出制御ＣＰＵ２００のシリアルデータ出力チャネルｃｈ１に対して並列に接続されている。
シリアルデータ出力チャネルｃｈ１の信号線としては、リセット信号RESETを供給するリセット信号線、クロック信号CLKを供給するクロック線、演出駆動データとしてのシリアルデータDATAを供給するデータ線、イネーブル信号ENABLEを供給するイネーブル信号線が設けられている。これら各信号線は、それぞれ、枠ドライバ部６１を構成するｎ個のＬＥＤドライバ９０に対して各信号を並列に供給するように接続されている。
枠ドライバ部６１の各ＬＥＤドライバ９０には、演出制御ＣＰＵ２００がスレーブアドレスとして用いるデバイスＩＤが設定されている。即ち個々のＬＥＤドライバ９０の識別子である。説明上、仮に、図示のように各ＬＥＤドライバ９０のデバイスＩＤ（スレーブアドレス）をｗ１〜ｗ（ｎ）と表記する。
【００５７】
また第２系統の駆動信号出力手段である盤ドライバ部６２は、ｍ個のＬＥＤドライバ９０が、演出制御ＣＰＵ２００のシリアルデータ出力チャネルｃｈ２に対して並列に接続されている。
シリアルデータ出力チャネルｃｈ２の信号線もチャネルｃｈ１と同様、リセット信号RESETを供給するリセット信号線、クロック信号CLKを供給するクロック線、演出駆動データとしてのシリアルデータDATAを供給するデータ線、イネーブル信号ENABLEを供給するイネーブル信号線が設けられている。これら各信号線は、それぞれ、盤ドライバ部６２を構成するｍ個のＬＥＤドライバ９０に対して各信号を並列に供給するように接続されている。
盤ドライバ部６２の各ＬＥＤドライバ９０には、演出制御ＣＰＵ２００がスレーブアドレスとして用いるデバイスＩＤ（個々のＬＥＤドライバ９０の識別子）が設定されている。説明上、仮に、図示のように各ＬＥＤドライバ９０のデバイスＩＤ（スレーブアドレス）をｂ１〜ｂ（ｍ）と表記する。
【００５８】
枠ドライバ部６１及び盤ドライバ部６２における各ＬＥＤドライバ９０としては、例えば２４チャネルＬＥＤドライバである「ＬＶ５２３６Ｖ（三洋半導体株式会社製）」を用いることができ、２４個の電流出力端子を備える。従って１つのＬＥＤドライバ９０によっては、最大２４個の系列のＬＥＤ駆動電流を出力することができる。具体的には例えば８系列のＲ（赤）ＬＥＤ駆動電流出力、８系列のＧ（緑）ＬＥＤ駆動電流出力、８系列のＢ（青）ＬＥＤ駆動電流出力を行い、８個のフルカラーＬＥＤの発光駆動が可能である。なお、ここでは１つの「系列」とは、１つの電流出力端子に対して接続される１つのＬＥＤ、又は１つの電流出力端子に対して直列又は並列で接続される複数個のＬＥＤの群を指している。
枠ドライバ部６１におけるＬＥＤドライバ９０の数ｎは、枠側に配置されるＬＥＤ系列数（装飾ランプ２０ｗの系列数）によって決められる。従ってｎは１の場合もあるし、２以上の場合もある。枠ドライバ部６１は１又は複数のＬＥＤドライバ９０を有する。
また盤ドライバ部６２におけるＬＥＤドライバ９０の数ｍは、盤側に配置されるＬＥＤ系列数（装飾ランプ２０ｂの系列数）によって決められる。従ってｍは１の場合もあるし、２以上の場合もある。盤ドライバ部６２は１又は複数のＬＥＤドライバ９０を有する。
【００５９】
図５ＡにＬＥＤドライバ９０の要部の概略構成例を示す。
ＬＥＤドライバ９０は、シリアルバスインターフェース９１、アドレス設定部９２、データバッファ／ＰＷＭコントローラ９３、Ｄ／Ａ変換器９４、駆動電流源回路９５−１〜９５−２４を備える。
駆動電流源回路９５−１〜９５−２４は、上記の２４系列の駆動電流出力を、それぞれ出力端子９６−１〜９６−２４から行う電流源である
【００６０】
このＬＥＤドライバ９０には、シリアルバスインターフェース９１に対し、演出制御ＣＰＵ２００からのイネーブル信号ENABLE、クロック信号CLK、シリアルデータDATAが入力される。シリアルバスインターフェース９１は、イネーブル信号ENABLEで規定される期間に、クロック信号CLKのタイミングでシリアルデータDATAを取り込む。シリアルバスインターフェース９１は、取り込んだシリアルデータをパラレルデータに変換してデータバッファ／ＰＷＭコントローラ９３に転送する。
なお演出制御ＣＰＵ２００はスレーブアドレスを指定してＬＥＤ駆動データを送信してくる。
データバッファ／ＰＷＭコントローラ９３は、シリアルバスインターフェース９１から転送されたパラレルデータについて、スレーブアドレス確認を行う。パラレルデータに含まれるスレーブアドレスが、アドレス設定部９２に設定された自己のスレーブアドレス（ｗ１〜ｗ（ｎ）、ｂ１〜ｂ（ｍ）のいずれか）と一致していることを確認した場合に、該パラレルデータに含まれるＬＥＤ駆動データを有効なデータとして、指定されたレジスタに格納する。
【００６１】
データバッファ／ＰＷＭコントローラ９３は、各系列のＬＥＤ駆動データを取り込んだら、そのＬＥＤ駆動データで示された輝度情報（階調値）に応じた値を、２４系列の各駆動制御値としてＤ／Ａ変換器９４に出力する。
Ｄ／Ａ変換器９４は、輝度情報に応じた値をアナログ信号に変換し、各電流源回路９５−１〜９５−２４への制御信号とする。
【００６２】
出力端子９６−１〜９６−２４の全部（又は一部）には２４系列のＬＥＤ１２０が接続される。なお、図は簡略化して１系列の出力端子９６に１つのＬＥＤ１２０が接続された状態を示しているが、１系列の出力端子９６に、複数のＬＥＤが接続される構成（例えば直列接続）も当然あり得る。
各系列（出力端子９６−１〜９６−２４）では、ＬＥＤ１２０及び抵抗Ｒの直列接続に対して電源電圧Ｖｃｃが印加される。電流源回路９５−１〜９５−２４によって各系列のＬＥＤ１２０に電流が流され、発光が行われる。
即ち各電流源回路９５−１〜９５−２４は、Ｄ／Ａ変換器９４から供給された信号に応じた電流量の駆動電流を、対応する系列のＬＥＤ１２０に流すように動作する。
【００６３】
このようなＬＥＤ駆動制御を、１つの系列について具体的にいうと、データバッファ／ＰＷＭコントローラ９３は、当該系列の階調値に応じたパルスデューティに相当するデジタルデータ列をＤ／Ａ変換器９４に出力し、Ｄ／Ａ変換器９４は、デジタルデータ列をアナログ信号としてのパルス信号に変換して当該系列の電流源回路９５に供給する。電流源回路９５はパルス信号のＨ／Ｌにより出力制御され、例えば０ｍＡと５ｍＡの電流出力を行う。例えばこのような動作で、結果的に階調値に応じた平均電流値となる駆動電流がＬＥＤ１２０に流れることとなる。
なお、本実施の形態では、ＰＷＭ駆動方式により、電流値が例えば０ｍＡと５ｍＡとされ、時間軸方向で（積分的に）階調制御がされるものとしているが、もちろん階調制御はこれに限らず、実際に電流値を階調に応じて変化させても良いことはいうまでもいない。デューティ制御であろうと、レベル制御であろうと、あくまでも単位時間あたりの平均電流値が階調に応じたレベルとされることで適切な階調表現が可能となる。
【００６４】
なお、本実施の形態の場合、盤ドライバ部６２における一部のＬＥＤドライバ９０には、可動体役物を駆動する可動体役物モータ６５が接続される。図５Ｂに、或るＬＥＤドライバ９０の出力端子９６−１〜９６−２４の全部（又は一部）に例えばステッピングモータ１２１が接続された例を示している。図５Ｂは出力端子９６−１〜９６−２４の部分のみを示しているが、ＬＥＤドライバ９０の内部構成は図５Ａと同様である。
例えばステッピングモータ１２１が４相駆動のモータである場合、出力端子９６−１〜９６−４で１つのステッピングモータ１２１に対する励磁電流を流すように接続する。同様に、出力端子９６−５〜９６−８、出力端子９６−９〜９６−１２、出力端子９６−１３〜９６−１６、出力端子９６−１７〜９６−２０、出力端子９６−２１〜９６−２４が、それぞれ１つのステッピングモータ１２１に励磁電流を流すように接続される。この場合、１つのＬＥＤドライバ９０で最大６個のステッピングモータ１２１を駆動できることとなる。
ＬＥＤドライバ９０は与えられたコマンド（シリアルデータ）によって指示される電流を出力端子９６−１〜９６−２４から出力する回路であることから、ステッピングモータやソレノイド等の物理的可動体駆動デバイスのドライバとしても使用することができる。そこで、一部のＬＥＤドライバ９０を図５Ｂのようにステッピングモータ１２１のドライバとして用いる。可動体役物の動作は演出シナリオによって細かく設定され、それに応じて演出制御部５１は駆動方向や駆動量などを制御するわけであるが、盤ドライバ部６２におけるＬＥＤドライバ９０を利用して可動体役物を駆動することで、装飾ランプ部６４の各装飾ランプ（ＬＥＤ２０ｂ）とともにシリアルデータによる可動体役物制御が可能となり、制御処理及び構成が効率化できる。
なお、１つのＬＥＤドライバ９０において、一部の出力端子がＬＥＤ駆動に用いられ、他の一部の出力端子がステッピングモータやソレノイド等の駆動に用いられるという手法を採っても良い。
【００６５】
以上のように、各ＬＥＤドライバ９０は、演出制御ＣＰＵ２００から受信したシリアルデータDATAに応じて、指定された輝度で各ＬＥＤ１２０が発光されるように駆動することとなる。或いはＬＥＤドライバ９０の一部は、シリアルデータDATAに応じて、ステッピングモータ１２１を駆動する。
そして第１系統、第２系統の駆動信号出力手段（枠ドライバ部６１、盤ドライバ部６２）には、それぞれが１又は複数の演出手段に駆動信号を出力する複数のＬＥＤドライバ９０が含まれ、１つの系統内の各ＬＥＤドライバ９０には、演出制御部５１からのシリアルデータが、並列に送信される構成とされている。そして各ＬＥＤドライバ９０は、自己のＩＤ（スレーブアドレス）が含まれる演出駆動データ（シリアルデータ）を取得する。
【００６６】
＜３．主制御部の処理＞
以下、本実施の形態の制御処理につき説明する。まずここでは主制御部（主制御基板）５０によるメイン処理について述べる。
図６は、主制御部５０のメイン処理を示すフローチャートである。メイン処理が開始されるのは、停電状態からの復旧時のように初期化スイッチ（図示せず）が操作されることなく電源がＯＮ状態になる場合と、初期化スイッチがＯＮ操作されて電源がＯＮ状態になる場合とがある。いずれの場合でも、パチンコ遊技機１に電源が投入されると、電源基板５８によって各制御基板に電圧が供給される。この場合に主制御部５０（主制御ＣＰＵ１００）は図６に示すメイン処理を開始する。
【００６７】
この主制御側メイン処理において、主制御ＣＰＵ１００はステップＳ１１で、まず遊技動作開始前における必要な初期設定処理を実行する。たとえば、最初に自らを割込み禁止状態に設定すると共に、所定の割込みモード（割込みモード２）に設定し、またマイクロコンピュータの各部を含めてＣＰＵ内部のレジスタ値を初期設定する。
次に主制御ＣＰＵ１００はステップＳ１２で、図示してない入力ポートを介して入力されるＲＡＭクリアスイッチの出力信号であるＲＡＭクリア信号の状態（ＯＮ、ＯＦＦ）を判定する。ＲＡＭクリア信号とは、ＲＡＭの全領域を初期設定するか否かを決定する信号である。ＲＡＭクリア信号としては通常、パチンコ店の店員が操作する初期化スイッチのＯＮ／ＯＦＦ状態に対応した値を有している。
【００６８】
ＲＡＭクリア信号がＯＮ状態であった場合、主制御ＣＰＵ１００は処理をステップＳ１２からＳ１６に進め、ＲＡＭの全領域のゼロクリアを行う。したがって、電源遮断時にセットされたバックアップフラグの値は、他のチェックサム値などと共にゼロとなる。
続いてステップＳ１７で主制御ＣＰＵ１００は、ＲＡＭ領域がゼロクリアされたことを報知するための「ＲＡＭクリア表示コマンド」を初期化コマンドとして各制御基板に送信する。そしてステップＳ１８で、ＲＡＭクリア報知タイマに、ＲＡＭクリアされた旨を報知するための時間として、たとえば、３０秒を格納する。
【００６９】
次に主制御ＣＰＵ１００はステップＳ１９で、タイマ割込み動作を起動する割込み信号を出力するＣＴＣを初期設定して、ＣＰＵを割込み許可状態に設定する。
その後はステップＳ２０、Ｓ２１、Ｓ２２の処理として、割込みが発生するまで割込禁止状態と割込許可状態とを繰り返すとともに、その間に、各種乱数更新処理を実行する。このステップＳ２１の各種乱数更新処理では、特別図柄変動表示や普通図柄変動表示に使用される各種乱数の初期値（スタート値）変更のために使用する乱数や、変動パターンの選択に利用される変動パターン用乱数を更新する。
なお、特別図柄変動表示や普通図柄変動表示に使用される各種乱数とは、例えばインクリメント処理によって所定数値範囲を循環している大当り抽選に係る乱数（図柄抽選に利用される特別図柄判定用乱数）や、補助当り抽選に係る乱数（補助当りの当落抽選に利用される補助当り判定用乱数）などである。また初期値変更のために使用する乱数とは、特別図柄判定用初期値乱数、補助当り判定用初期値乱数などである。
【００７０】
主制御ＲＡＭ１０２には大当り抽選に係る図柄抽選、補助当り抽選、または変動パターン抽選などに利用される各種の乱数カウンタとして、特別図柄判定用乱数カウンタ初期値の生成用カウンタ、特別図柄判定用乱数カウンタ、補助当り判定用乱数カウンタ初期値の生成用カウンタ、補助当り判定用乱数カウンタ、変動パターン用乱数１カウンタ、変動パターン用乱数２カウンタなどが設けられている。これらのカウンタは、ソフトウェア的に乱数を生成する乱数生成手段としての役割を果たす。
ステップＳ２１の各種乱数更新処理では、上述の特別図柄判定用乱数カウンタや補助当り判定用乱数カウンタの初期値を生成する２つの初期値生成用カウンタ、変動パターン用乱数１カウンタ、変動パターン用乱数２カウンタなどを更新して、上記各種のソフト乱数を生成する。たとえば、変動パターン用乱数１カウンタとして取り得る数値範囲が０〜２３８とすると、主制御ＲＡＭ１０２の変動パターン用乱数１の値を生成するためのカウント値記憶領域から値を取得し、取得した値に１を加算してから元のカウント値記憶領域に格納する。このとき、取得した値に１を加算した結果が２３９であれば０を元の乱数カウンタ記憶領域に格納する。他の初期値生成用乱数カウンタも同様に更新する。ＣＰＵ２０１は、間欠的に実行されるタイマ割込処理を行っている間を除いて、各種乱数更新処理を繰り返し実行するようになっている。
【００７１】
以上はステップＳ１２でＲＡＭクリアスイッチＯＮと判定された場合について述べた。ＲＡＭクリアスイッチＯＦＦの場合を続いて説明する。例えば停電状態からの復旧時には、初期化スイッチ（ＲＡＭクリア信号）はＯＦＦ状態である。このような場合、主制御ＣＰＵ１００はステップＳ１２からＳ１３に処理を進め、バックアップフラグ値を判定する。なお、バックアップフラグは、電源遮断時にＯＮ状態に設定され、電源復帰後の最初のタイマ割込み処理でＯＦＦ状態にリセットされるよう構成されている。
したがって、電源投入時や停電状態からの復旧時である場合には、通常では、バックアップフラグがＯＮ状態のはずである。ただし、何らかの理由で電源遮断までに所定の処理が完了しなかったような場合には、バックアップフラグはリセット（ＯＦＦ）状態になる。そこで、バックアップフラグがＯＦＦ状態である場合には、主制御ＣＰＵ１００は処理をステップＳ１３からＳ１６に進め、遊技機の動作を初期状態に戻す。
【００７２】
一方、バックアップフラグがＯＮ状態であれば、主制御ＣＰＵ１００は処理をステップＳ１３からＳ１４に進め、チェックサム値を算出するためのチェックサム演算を実行する。ここで、チェックサム演算とは、主制御ＲＡＭ１０２のワーク領域を対象とする８ビット加算演算である。
そして、チェックサム値が算出されたら、この演算結果を、主制御ＲＡＭ１０２のＳＵＭ番地の記憶値と比較をする。このＳＵＭ番地には、電源遮断時に、同じチェックサム演算によるチェックサム値が記憶されている。そして、記憶された演算結果は、主制御ＲＡＭ１０２の他のデータと共に、バックアップ電源によって維持されている。したがって、本来は、ステップＳ１４の判定によって両者が一致するはずである。
しかし、電源遮断時にチェックサム演算が実行できなかった場合や、実行できても、その後、メイン処理のチェックサム演算の実行時までの間に、ワーク領域のデータが破損している場合もある。このような場合にはステップＳ１４の判定結果は不一致となる。
判定結果の不一致によりデータ破損が検出された場合には、主制御ＣＰＵ１００はステップＳ１４からＳ１６の処理に進んでＲＡＭクリア処理を実行し、遊技機の動作状態を初期状態に戻す。
【００７３】
ステップＳ１４でのチェックサム演算によるチェックサム値と、ＳＵＭ番地の記憶値とが一致する場合には、主制御ＣＰＵ１００はステップＳ１５に進み、バックアップデータに基づき、電源遮断前におけるスタックポインタを復帰し、電源遮断時の処理状態から遊技を開始するために必要な遊技復旧処理を実行する。
そしてステップＳ１５の遊技復旧処理を終えると、ステップＳ１９の処理に進み、ＣＴＣを初期設定してＣＰＵを割込み許可状態に設定し、その後は、割込みが発生するまで割込禁止状態と割込許可状態とを繰り返すとともに、その間に、上述した各種乱数更新処理を実行する（ステップＳ２０〜Ｓ２２）。
【００７４】
次に主制御ＣＰＵ１００のタイマ割込処理について説明する。図７に主制御ＣＰＵ１００のタイマ割込処理を示している。この主制御タイマ割込処理は、ＣＴＣからの一定時間（４ｍｓ程度）ごとの割込みで起動され、上述したメイン処理実行中に割り込んで実行される。
【００７５】
タイマ割込みが生じると、主制御ＣＰＵ１００はレジスタの内容をスタック領域に退避させた後、まず図７のステップＳ５１として電源基板５８からの電源の供給状態を監視する電源異常チェック処理を行う。この電源異常チェック処理では、主に、電源が正常に供給されているかを監視する。ここでは、たとえば、電断が生じるなどの異常が発生した場合、電源復帰時に支障なく遊技を復帰できるように、電断時における所定の遊技情報をＲＡＭに格納するバックアップ処理などが行われる。
【００７６】
次にステップＳ５２で、主制御ＣＰＵ１００は遊技動作制御に用いられるタイマを管理するタイマ管理処理を行う。パチンコ遊技機１の遊技動作制御に用いる各種タイマ（たとえば特別図柄役物動作タイマなど）のタイマ値は、この処理で管理（更新）される。
【００７７】
ステップＳ５３では、主制御ＣＰＵ１００は入力管理処理を行う。この入力管理処理では、パチンコ遊技機１に設けられた各種センサによる検出情報を入賞カウンタに格納する。ここでの各種センサによる検出情報とは、たとえば、上始動口センサ７１、下始動口センサ７２、ゲートセンサ（普通図柄始動口センサ）７３、第１大入賞口センサ７５、第２第入賞口センサ７６、一般入賞口センサ７４などの入賞検出スイッチから出力されるスイッチ信号のＯＮ／ＯＦＦ情報（入賞検出情報）である。
このステップＳ５３の処理により、各入賞口において入賞を検出（入賞が発生）したか否かが割込みごとに監視される。また上記「入賞カウンタ」とは、各々の入賞口ごとに対応して設けられ、入賞した遊技球数（入賞球数）を計数するカウンタである。本実施の形態では、主制御ＲＡＭ１０２の所定領域に、上始動口４１用の上始動口入賞カウンタ、下始動口４２ａ用の下始動口入賞カウンタ、ゲート４４用の普通図柄始動口入賞カウンタ、第１大入賞口４５ａ用の第１大入賞口入賞カウンタ、第２大入賞口４６ａ用の第２大入賞口入賞カウンタ、一般入賞口４３用の一般入賞口用の入賞カウンタなどが設けられている。
またこの入力管理処理では、入賞検出スイッチからの検出情報が入賞を許容すべき期間中に入賞したか否かに基づいて、不正入賞があったか否かも監視される。たとえば大当り遊技中でないにもかかわらず第１、第２大入賞口センサ７５，７６が遊技球を検出したような場合は、これを不正入賞とみなして入賞検出情報を無効化し、その無効化した旨を外部に報知するべく後述のステップＳ５５のエラー管理処理において所定のエラー処理が行われるようになっている。
【００７８】
ステップＳ５４では、主制御ＣＰＵ１００は各変動表示に係る乱数を定期的に更新するタイマ割込内乱数管理処理を行う。この定期乱数更新処理では、特別図柄判定用乱数や補助当り判定用乱数の更新（割込み毎に＋１加算）と、乱数カウンタが一周するごとに、乱数カウンタのスタート値を変更する処理を行う。たとえば、特別図柄判定用乱数カウンタの値を所定範囲で更新（＋１加算）し、特別図柄判定用乱数カウンタが１周するごとに、特別図柄判定用乱数カウンタ初期値の生成用カウンタの値を読み出し、その生成用カウンタの値を特別図柄判定用乱数カウンタに格納する。これにより、特別図柄判定用乱数カウンタのスタート値が上記の生成用カウンタの値に応じて変更されるので、更新周期は一定でありながらも特別図柄判定用乱数カウンタのカウント値はランダムになる。
【００７９】
ステップＳ５５では、主制御ＣＰＵ１００は、遊技動作状態の異常の有無を監視するエラー管理処理を行う。このエラー管理処理では、遊技動作状態の異常として、たとえば、基板間に断線が生じたか否かの監視や、不正入賞があったか否かの監視などをして、これらの動作異常（エラー）が発生した場合には、そのエラーに対応した所定のエラー処理を行う。
エラー処理としては、たとえば、所定の遊技動作（たとえば、遊技球の払い出し動作や遊技球の発射動作など）の進行を停止させたり、エラー報知用コマンドを演出制御部５１に送信して、演出手段によりエラーが発生した旨を報知させたりする。
【００８０】
ステップＳ５６では、主制御ＣＰＵ１００は賞球管理処理を行う。この賞球管理処理では、ステップＳ５３の入力管理処理で格納したデータを把握して、上述の入賞カウンタの確認を行い、入賞があった場合は、賞球数を指定する払出制御コマンドを払出制御基板５３に送信する。
この払出制御コマンドを受信した払出制御基板５３は、遊技球払出装置５５を制御し、指定された賞球数の払い出し動作を行わせる。これにより、それぞれの入賞口に対応した賞球数が払い出されるようになっている。入賞口に対応した賞球数とは、入賞口別に設定された入賞球１個当りの所定の賞球数×入賞カウンタの値分の賞球数である。
【００８１】
ステップＳ５７では主制御ＣＰＵ１００は、普通図柄管理処理を行う。この普通図柄管理処理では、普通図柄変動表示における補助当り抽選を行い、その抽選結果に基づいて、普通図柄の変動パターンや普通図柄の停止表示態様を決定したり、所定時間毎に点滅を繰り返す普通図柄のデータ（普通図柄変動中のＬＥＤ点滅表示用データ）を作成したり、普通図柄が変動中でなければ、停止表示用のデータ（普通図柄停止表示中のＬＥＤ点滅表示用データ）を作成したりする。
【００８２】
ステップＳ５８では、主制御ＣＰＵ１００は、普通電動役物管理処理を行う。この普通電動役物管理処理では、ステップＳ５７の普通図柄管理処理の補助当り抽選の抽選結果に基づき、普通電動役物ソレノイド７７に対するソレノイド制御用の励磁信号の生成およびそのデータ（ソレノイド制御データ）の設定を行う。ここで設定されたデータに基づき、後述のステップＳ６４のソレノイド管理処理にて、励磁信号が普通電動役物ソレノイド７７に対して出力され、これにより可動翼片４２ｂの動作が制御される。
ステップＳ５９では、主制御ＣＰＵ１００は、特別図柄管理処理を行う。この特別図柄管理処理では、主に、特別図柄変動表示における大当り抽選を行い、その抽選結果に基づいて、特別図柄の変動パターン（先読み変動パターン、変動開始時の変動パターン）や特別停止図柄などを決定する。
ステップＳ６０では、主制御ＣＰＵ１００は特別電動役物管理処理を行う。この特別電動役物管理処理では、主に、大当り抽選結果が「大当り」または「小当り」であった場合、その当りに対応した当り遊技を実行制御するために必要な設定処理を行う。
【００８３】
ステップＳ６１では、主制御ＣＰＵ１００は右打ち報知情報管理処理を行う。この右打ち報知情報管理処理では、例えば第１、第２第入賞口４５ａ，４６ａが開放される機会や可動翼片４２ｂが駆動される電サポ状態など、右打ちが有利な状況において右打ち指示報知を行う「発射位置誘導演出（右打ち報知演出）」を現出させるための処理を行う。右打ち指示とは、具体的には、右遊技領域３ｃを狙う旨を有技者に指示する演出動作であり、例えば主液晶表示装置３２Ｍに「右打ち」を遊技者に促す画像を表示させたり、スピーカ２５から右打ちメッセージ音声を発生させる。
右打ち報知演出が行われる場合、この右打ち報知情報管理処理において、演出制御コマンドとして、右打ち報知演出の実行指示する「右打ち指示コマンド」が演出制御部５１に送信され、このコマンドを受けて、演出制御部５１が、画像や音声による右打ち報知の実行制御を行う。
ステップＳ６２では、主制御ＣＰＵ１００は、ＬＥＤ管理処理を行う。このＬＥＤ管理処理は、図柄表示部３３に対して普通図柄表示や第１，第２特別図柄表示のための表示データを出力する処理である。この処理により、普通図柄や特別図柄の変動表示および停止表示が行われる。なお、ステップＳ５７の普通図柄管理処理で作成された普通図柄の表示データや、ステップＳ５９の特別図柄管理処理中の特別図柄表示データ更新処理で作成される特別図柄の表示データは、このＬＥＤ管理処理で出力される。
【００８４】
ステップＳ６３では、主制御ＣＰＵ１００は、外部端子管理処理を行う。この外部端子管理処理では、枠用外部端子基板５７を通して、パチンコ遊技機１の動作状態情報をホールコンピュータや島ランプなどの外部装置に対して出力する。動作状態情報としては、大当り遊技が発生した旨（条件装置が作動した旨）、小当り遊技が発生した旨、図柄変動表示が実行された旨（特別図柄変動表示ゲームの開始または終了した旨）、入賞情報（始動口や大入賞口に入賞した旨や賞球数情報）などの情報が含まれる。
ステップＳ６４では、主制御ＣＰＵ１００は、ソレノイド管理処理を行う。このソレノイド管理処理では、ステップＳ５８の普通電動役物管理処理で作成されたソレノイド制御データに基づく普通電動役物ソレノイド７７に対する励磁信号の出力処理や、ステップＳ６０の特別電動役物管理処理で作成されたソレノイド制御データに基づく第１，第２大入賞口ソレノイド７８，７９に対する励磁信号の出力処理を行う。これにより、可動翼片４２ｂや開放扉４５ｂ、４６ｂが所定のパターンで動作し、下始動口４２ａや大入賞口４５ａ、４６ｂが開閉される。
【００８５】
主制御ＣＰＵ１００は、以上のステップＳ５１〜ステップＳ６４の処理を終えた後、退避していたレジスタの内容を復帰させて、ステップＳ６５で割込み許可状態に設定する。これにより、タイマ割込処理を終了して、割込み前の図６の主制御側メイン処理に戻り、次のタイマ割込みが発生するまで主制御メイン処理を行う。
【００８６】
＜４．演出制御部の処理＞
［４−１：メイン処理］
続いて演出制御部５１の処理について説明する。演出制御部５１の処理としては、主に、メインループ上で１６ｍｓ毎に行われる処理（以下「１６ｍｓ処理」ともいう）と、１ｍｓ毎に行われる割り込み処理（以下「１ｍｓタイマ割込処理」ともいう）がある。
まずここでは１６ｍｓ処理を含むメイン処理について説明する。
図８は、演出制御部５１のメイン処理を示している。演出制御部５１（演出制御ＣＰＵ２００）は、遊技機本体に対して電源が投入されると、図８のメイン処理を開始する。
このメイン処理において、演出制御ＣＰＵ２００は、まずステップＳ１０１で、遊技動作開始前における必要な初期設定処理を行う。例えば初期設定処理として、コマンド受信割込み設定、可動体役物の起点復帰処理、ＣＴＣの初期設定、タイマ割込みの許可、マイクロコンピュータの各部を含めてＣＰＵ内部のレジスタ値の初期設定などを行う。
【００８７】
ステップＳ１０１の初期設定処理を終えると、正常動作時の処理としてステップＳ１０２〜Ｓ１１７の処理を繰り返し行う。
即ちこの例では、演出制御ＣＰＵ２００はステップＳ１０２でのＩＤチェックとステップＳ１１７での乱数更新を毎ループ行うと共に、１６ｍｓ毎に、ステップＳ１０５〜Ｓ１１６の処理（１６ｍｓ処理）を行う。
ステップＳ１０２のＩＤチェックでは、演出制御ＣＰＵ２００はシステム上で設定されている自己或いは接続各部のＩＤの確認を行う。もし何らかの原因により、ＩＤ異常が検出された場合は、ステップＳ１０３としてシステム停止処理を行う。
ＩＤに問題のない通常時は、演出制御ＣＰＵ２００はステップＳ１０４以下の処理を行うことになる。即ち演出制御ＣＰＵ２００は、１６ｍｓ処理の実行判断のための割込みカウンタの値が「１５」より大きい値となっているか否かを判断する。この割込みカウンタは、後述する１ｍｓタイマ割込処理のステップＳ２０７でインクリメントされていくカウンタである。従って割込みカウンタの値が「１５」より大きい場合とは、１６ｍｓ処理のタイミングになっていることを意味する。
【００８８】
演出制御ＣＰＵ２００は、割込みカウンタの値が「１５」以下であるときは、ステップＳ１０４からＳ１１７に進み、演出用ソフト乱数の更新処理を行って１回のメイン処理を終え、再びステップＳ１０２からの処理を行う。
一方、割込みカウンタの値が「１６」以上である場合は、演出制御ＣＰＵ２００はステップＳ１０５〜Ｓ１１６の処理を実行し、その後、ステップＳ１１７で演出用ソフト乱数の更新処理を行って１回のメイン処理を終え、再びステップＳ１０２からの処理を行うことになる。
【００８９】
このように割込みカウンタでカウントされる１６ｍｓ毎に、演出制御ＣＰＵ２００はステップＳ１０５からの１６ｍｓ処理を行う。
その場合、まずステップＳ１０５では、割込みカウンタをゼロリセットする。以後、再び次の１６ｍｓ処理までのカウントを行うためである。
【００９０】
次にステップＳ１０６で演出制御ＣＰＵ２００は、エラー処理を行う。このエラー処理としては、ＲＡＭクリアエラー中、役物エラー中、右打ちエラー中などにおけるエラー処理タイマの処理、各種エラーが発生した際のエラー報知のためのシナリオ登録処理、エラー報知後のエラーシナリオのクリア処理などを行うこととなる。
特に本実施の形態の場合、該ステップＳ１０６では、所定のエラー検知に応じたボリュームＭＡＸエラーフラグの設定処理も行う。ボリュームＭＡＸエラーとは、その発生に応じて出力される音（エラー音）のボリュームをＭＡＸにすべきとされたエラーを意味する。ボリュームＭＡＸエラーが検知された場合、すなわちエラー音をＭＡＸで出力すべきとされた場合は、ボリュームＭＡＸエラーフラグとして例えば０ｘ５Ａを設定し、ボリュームＭＡＸエラーが検知されない場合はボリュームＭＡＸエラーフラグとして例えば０ｘ００を設定する。
【００９１】
次にステップＳ１０７では、演出制御ＣＰＵ２００はデモ処理を行う。このデモ処理では、再生音の制御、デモムービーの実行、役物原点補正のそれぞれについてのシナリオ登録や、そのコマンドセットなどの処理を行う。客待ち状態などでは、このデモ処理で設定されたシナリオが実行されることでデモムービー表示が実行される。
【００９２】
ステップＳ１０８では、演出制御ＣＰＵ２００はコマンド解析処理を行う。このコマンド解析処理では、演出制御ＣＰＵ２００が、主制御部５０から供給される演出制御コマンドがコマンド受信バッファに格納されているか否かを監視し、演出制御コマンドが格納されていればこのコマンドを読み出す。そして読み出した演出制御コマンドに対応した演出制御処理を行う。詳しくは図１０，図１１で後述する。
【００９３】
ステップＳ１０９では、演出制御ＣＰＵ２００は入力検知処理を行う。この入力検知処理では、操作部６０の操作子（パトライトスイッチ１１、演出ボタン１２、十字キー１３）の操作による入力の検知を行い、入力を検知した場合、その操作に応じた処理を行う。
【００９４】
ステップＳ１１０では、演出制御ＣＰＵ２００はシナリオ更新処理を行う。この処理ではメインシナリオの更新、サブシナリオの更新が行われる。その際には装飾ランプ部６４，６５の点灯パターン登録、再生する音の登録、可動体役物の駆動のためのモータ動作の登録なども行われる。詳しくは図１４，図１５を用いて後述する。
【００９５】
ステップＳ１１１では、演出制御ＣＰＵ２００は音再生処理を行う。演出制御ＣＰＵ２００は、シナリオデータに基づきワークに音チャネルごとに登録されている音データに従って、フレーズ番号やボリューム等のデータを音源ＩＣ５９に出力する。これによってスピーカ２５からの効果音、音楽・音声等の再生出力が行われる。
なお、この音再生処理については図３１により後述する。
【００９６】
ステップＳ１１２では、演出制御ＣＰＵ２００は役物エラー処理を行う。ここでは可動体役物の原点復帰がなされていないなどの位置エラー判定などを行う。
【００９７】
ステップＳ１１３では演出制御ＣＰＵ２００は、ＬＥＤ駆動データ更新を行う。ここでは、シナリオデータに基づいてワークにランプチャネルとして登録されているランプデータに基づいて、ＬＥＤ出力データ（駆動データ）を作成する処理が行われる。詳しくは図２０を用いて後述する。ＬＥＤ出力データは、１ｍｓタイマ割込処理において所定のタイミングで各ＬＥＤドライバ９０に対して出力される。
【００９８】
ステップＳ１１４では、演出制御ＣＰＵ２００は、演出制御ＲＡＭ２０２のワーク領域を対象としてチェックサム算出及びその保存を行い、またステップＳ１１５では、バックアップデータの保存を行う。
さらにステップＳ１１６ではシナリオ更新カウンタをゼロリセットする。シナリオ更新カウンタは後述の１ｍｓタイマ割込処理でインクリメントされるカウンタである。
【００９９】
以上のような１６ｍｓ処理が、図８のメインループ処理において１６ｍｓ経過毎に行われる。
【０１００】
［４−２：１ｍｓタイマ割込処理］
次に図９により１ｍｓタイマ割込処理を説明する。演出制御ＣＰＵ２００は、タイムカウントにより１ｍｓ毎に発生する割込要求に応じて、図９の１ｍｓタイマ割込処理を実行する。
この１ｍｓタイマ割込処理においては、まずステップＳ２０１では主制御ＣＰＵ１００からのテストコマンドに応じたチェックサム算出中であるか否かを判断する。チェックサム算出中でなければ、演出制御ＣＰＵ２００はステップＳ２０２の入力処理に進む。
【０１０１】
ステップＳ２０２の入力処理とは、上述の図８のステップＳ１０９の入力検知処理とともに操作子の操作による入力検知を行うための１ｍｓ毎の処理である。例えばこの入力処理では、操作子の操作検出信号について、信号波形にエッジが検出されたら入力カウンタをリセットし、その後、エッジが発生しない期間、入力カウンタをカウントアップしていく処理を行う。１ｍｓタイマ割込処理において、入力情報（入力信号波形のＨまたはＬ）が検知され、またエッジ有無により、入力カウンタのリセット又はインクリメントが行われる。そしてメインループ処理（１６ｍｓ処理）におけるステップＳ１０９で、入力カウンタの値が１６以上となっており、前回とは入力情報が変化している場合に、入力変化を認識するようにしている。
このような入力処理（Ｓ２０２）及び入力検知処理（Ｓ１０９）により、ノイズ・チャタリングによる入力誤認識の防止がはかられる。また、入力カウンタを用いており、本実施の形態では例えば１６ビットカウンタを用いて６５５３５ｍｓ（約６５秒）までなどをカウントできるようにしているため、いわゆる長押しの検出も可能となる。
【０１０２】
ステップＳ２０３では、演出制御ＣＰＵ２００はモータ動作更新処理を行う。この場合、演出制御ＣＰＵ２００は、シナリオデータに基づいてワーク（図１６Ｃで説明するモータデータ登録情報）にモータチャネルとして登録されているモータデータに基づいて、モータ駆動データを作成する処理を行う。これは可動体役物モータ６５を駆動制御するために盤ドライバ部６２のＬＥＤドライバに出力するモータ駆動データである。なお、本実施の形態では、ＬＥＤ駆動データ更新は上記ステップＳ１１３により１６ｍｓ毎に行われる一方、モータデータ更新は１ｍｓ毎に行われることになる。
ステップＳ２０４では、演出制御ＣＰＵ２００は、モータ駆動データを出力する。上述のように盤ドライバ部６２の一部のＬＥＤドライバ９０には、可動体役物モータ６５のステッピングモータ１２１等が接続されている。このステップＳ２０４では、これらステッピングモータ１２１に対する駆動データとしてのシリアルデータを、盤ドライバ部６２の所定のＬＥＤドライバ９０（ステッピングモータ１２１等の可動体役物モータ６５を駆動するＬＥＤドライバ９０）に対して出力することになる。
【０１０３】
ステップＳ２０５では、演出制御ＣＰＵ２００は、割込みカウンタの値に応じて各処理を実行する。割込みカウンタは上述の１６ｍｓ処理のステップＳ１０５でゼロリセットされ、１ｍｓタイマ割込処理のステップＳ２０７でインクリメントされる。従って、１ｍｓタイマ割込処理でステップＳ２０５が実行される際には、割込みカウンタの値は０〜１５のいずれかとなっている。
この割込みカウンタの値０〜１５に応じて、ケース０〜ケース１５としてステップＳ２０５の処理が規定される。例えば本実施の形態では、ケース０ではＷＤＴ（watchdog timer）クリア信号ＯＮ、及びＬＥＤドライバ９０の初期化処理を行う。ケース１〜３ではＬＥＤドライバ９０の初期化処理を行う。ケース８ではＷＤＴクリア信号ＯＦＦを行う。ケース１２〜１５では、ＬＥＤドライバ９０に対するＬＥＤ駆動データの出力を行う。
ＬＥＤドライバ９０の初期化とは、ＬＥＤドライバ９０において使用しないレジスタにデフォルト値を出力する処理である。この初期化と、ＬＥＤ駆動データの出力は、１回の１ｍｓタイマ割込処理の際に、ＬＥＤドライバ９０の２，３個に対して行われる。
【０１０４】
ステップＳ２０６では、演出制御ＣＰＵ２００は、液晶制御基板５２に対する演出制御コマンドの出力を行う。例えば１回の１ｍｓタイマ割込処理において、１コマンド（２バイト）の送信を行う。つまりモード及びイベントとしての２バイトの演出制御コマンドが送信される。
その後、演出制御ＣＰＵ２００はステップＳ２０７で割込みカウンタのインクリメントを行い、またステップＳ２０８でシナリオ更新カウンタのインクリメントを行う。そしてシナリオ更新カウンタの値が１００未満であれば、１ｍｓタイマ割込処理を終える。
なお、シナリオ更新カウンタは上述のように１６ｍｓ処理のステップＳ１１６でゼロリセットされるため、通常はシナリオ更新カウンタの値が１００以上となることはない。１００以上となるのは、演算異常、処理応答異常などにより１６ｍｓ処理が実行されない場合や、１６ｍｓ処理内の或る処理の進行が停止しているような場合である。このような場合は、無限ループに入り、ＷＤＴによってタイムアップ処理が行われるのを待つことになる。
【０１０５】
１ｍｓタイマ割込処理に入った際に、ステップＳ２０１でチェックサム算出中と判断された場合は、演出制御ＣＰＵ２００は処理をステップＳ２１０に進め、ＷＤＴをクリアする。そしてステップＳ２１１で液晶制御基板５２に対する演出制御コマンドの送信出力を行う。そしてステップＳ２１２で割込みカウンタをインクリメントして１ｍｓタイマ割込処理を終える。
【０１０６】
［４−３：コマンド解析処理］
続いて、１６ｍｓ処理として図８のステップＳ１０８で行われるコマンド解析処理について、図１０、図１１で説明する。演出制御ＣＰＵ２００は、ステップＳ１０８のコマンド解析処理として、主制御部５０から供給される演出制御コマンドがコマンド受信バッファに格納されているか否かを監視し、演出制御コマンドが格納されていればこのコマンドを読み出す。この具体的な処理として、図１０のステップＳ３０１〜Ｆ３０８の処理を行う。
【０１０７】
演出制御部５１には、主制御部５０から送信されてきた演出制御コマンドを取り込むコマンド受信バッファが、例えば演出制御ＲＡＭ２０２に用意される。演出制御ＣＰＵ２００は、まず図１０のステップＳ３０１で、コマンド受信バッファの読み出しアドレスを示すリードポインタと、書き込みアドレスを示すライトポインタの確認を行う。
ライトポインタは、コマンド受信に応じて更新され、それに応じてライトポインタで示されるアドレスに、受信した演出制御コマンドが格納されていく。リードポインタは、コマンド受信バッファからの読み出しを行った際に更新（ステップＳ３０２）される。従って、もしリードポインタ＝ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されているということになる。そこでリードポインタ＝ライトポインタでなければステップＳ３０２に進み、演出制御ＣＰＵ２００はコマンド受信バッファにおいてリードポインタで示されるアドレスから１バイトのコマンドデータをロードする。この場合、次の読み出し（ロード）のためにリードポインタをインクリメントしておく。
【０１０８】
上述したように１つの演出制御コマンドは、モードとしての１バイトとイベントとしての１バイトの２バイトで形成されている。演出制御ＣＰＵ２００はステップＳ３０３で、ロードした１バイトのコマンドデータが、モードであるかイベントであるかを確認する。この確認は、８ビット（Ｂｉｔ０〜Ｂｉｔ７）のうちのＢｉｔ７の値により行われる。
そしてモードであれば、コマンドの上位データ受信の処理として、ステップＳ３０４に進み、読み出したコマンドデータを、レジスタ「コマンドＨＩバイト」にセーブする。また「コマンドＬＯバイト」のレジスタをクリアする。そしてステップＳ３０１に戻る。
続いても、リードポインタ＝ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されていることになるため、ステップＳ３０２に進み、演出制御ＣＰＵ２００はコマンド受信バッファにおいてリードポインタで示されるアドレスから１バイトのコマンドデータをロードする。またリードポインタをインクリメントする。
そして読み出したコマンドがイベントであれば、コマンドの下位データ受信の処理として、ステップＳ３０３からＳ３０５に進み、読み出したコマンドデータを、レジスタ「コマンドＬＯバイト」にセーブする。
【０１０９】
モード及びイベントのコマンドデータが、レジスタ「コマンドＨＩバイト」「コマンドＬＯバイト」にセーブされることで、演出制御ＣＰＵ２００は１つのコマンドを取り込んだことになる。
そこで演出制御ＣＰＵ２００はステップＳ３０６で、取り込んだコマンドに応じた処理を行う。具体例は図１１で後述する。
【０１１０】
リードポインタ＝ライトポインタとなるのは、演出制御ＣＰＵ２００がまだ取り込んでいない演出制御コマンドがコマンド受信バッファには存在しない場合である。そこで、新たな取り込みは不要であるため、ステップＳ３０７に進む。この場合、図柄コマンド待ちの状態で１００ｍｓ経過したか否かを確認する。そのような事態となっていなければ、図１０のコマンド解析処理を終える。一方、図柄コマンド待ちの状態で１００ｍｓ経過していたのであれば、ステップＳ３０８でコマンド欠落における図柄変動の処理を行うこととなる。
【０１１１】
上記のステップＳ３０６におけるコマンド対応処理の例を図１１で説明する。
図１１Ａは、コマンド対応処理としての基本処理を示している。２バイトの演出制御コマンドの受信に応じて、演出制御ＣＰＵ２００はまず図１１ＡのステップＳ３２１で、現在テストモード中であるか否かを確認する。テストモード中であれば、ステップＳ３２２ですべての演出シナリオのクリア、音出力の停止、装飾ランプ部６３，６４におけるＬＥＤの消灯を行う。そしてステップＳ３２３でテストモードを終了する。
テストモード中でなければ、これらの処理は行わない。
そして演出制御ＣＰＵ２００は、ステップＳ３３０として、取り込んだ演出制御コマンドについての処理を行うことになる。
【０１１２】
演出制御コマンドとしては、例えば特別図柄変動パターン指定コマンド、特別図柄指定コマンド、保留球減算コマンド、保留球加算コマンド、エラー表示指定コマンド、大当たり開始指定コマンド・・・など多様に設定されている。ステップＳ３３０では、演出制御ＣＰＵ２００は、受信したコマンドに対応して、プログラムで規定された処理を行う。ここでは図１１Ｂ、図１１Ｃ、図１１Ｄ、図１１Ｅで、４つの演出制御コマンドを挙げて、具体的処理を例示する。
【０１１３】
図１１Ｂは、ステップＳ３３０でのコマンド処理として、変動パターンコマンドを取り込んだ場合の処理Ｓ３３０ａを示している。
この場合、演出制御ＣＰＵ２００は、ステップＳ３３１で、図柄コマンド待ち状態をセットする処理を行う。これは変動パターンコマンドと、図柄コマンドが順次受信されることで、演出制御ＣＰＵ２００が図柄の変動表示の制御を行うためである。
図１１Ｃは、ステップＳ３３０でのコマンド処理として、図柄コマンドを取り込んだ場合の処理Ｓ３３０ｂを示している。
この場合、演出制御ＣＰＵ２００は、まずステップＳ３３２で、変動パターンコマンド受信済みであるか否かを確認する。受信していなければそのまま処理を終える。
図柄コマンドを受信した際に、既に変動パターンコマンド受信済みであれば、ステップＳ３３３に進み、まず役物原点補正の動作についてのシナリオ登録を行う。そしてステップＳ３３４で、変動開始処理を行う。この変動開始処理では、変動パターンコマンドや図柄コマンドに応じた図柄変動動作のシナリオ設定や、変動表示中に出現させるべき予告演出の実行有無及びその種別を抽選により決定し、決定した予告演出のシナリオ設定を行う。さらに、それらに同期する液晶表示のコマンド送信も行う。
この変動開始処理の実行後、演出制御ＣＰＵ２００は、ステップＳ３３５で変動パターンコマンドの削除を行う。
【０１１４】
図１１Ｄは、ステップＳ３３０でのコマンド処理として、電源投入コマンドを取り込んだ場合の処理Ｓ３３０ｃを示している。
この場合、演出制御ＣＰＵ２００は、ステップＳ３３７で演出制御ＲＡＭ２０２のクリア処理を行う。例えばコマンド受信／送信バッファ、操作部６０についての入力情報バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップＳ３３８でエラー解除コマンドの送信、ステップＳ３３９で役物エラー情報のクリア、ステップＳ３４０で役物動作の停止、ステップＳ３４１で電源投入のシナリオ登録、ステップＳ３４２で液晶制御基板５２へ送信する電源投入コマンドのセットを順次行う。
【０１１５】
図１１Ｅは、ステップＳ３３０でのコマンド処理として、ＲＡＭクリアコマンドを取り込んだ場合の処理Ｓ３３０ｄを示している。
この場合、演出制御ＣＰＵ２００は、ステップＳ３４３で演出制御ＲＡＭ２０２のクリア処理を行う。例えばコマンド受信／送信バッファ、操作部６０についての入力情報バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップＳ３４４でエラー解除コマンドの送信、ステップＳ３４５でＲＡＭクリアエラーセットと、エラー報知タイマのセットを行う。さらにステップＳ３４６で演出制御ＲＡＭ２０２における抽選処理に関する情報のクリア、ステップＳ３４７で、シナリオに関する情報のクリアを行う。そしてステップＳ３４８で液晶制御基板５２へ送信する電源初期投入表示（ＲＡＭクリア）コマンドのセットを行う。
【０１１６】
［４−４：シナリオ登録・削除処理］
次にシナリオ登録・削除処理について説明する。シナリオとは演出制御やエラー処理その他、各種の実行すべき動作を規定したデータである。実行すべきシナリオのデータは、シナリオ登録情報として演出制御ＲＡＭ２０２のワーク領域に登録される。図１６Ａに示すシナリオ登録情報の構造については後述するが、シナリオ登録情報としては、０〜６３までの６４個のシナリオチャネルが用意されている。この６４個のシナリオチャネルに登録されたシナリオは同時に実行可能とされる。以下、シナリオチャネルを「ｓＣＨ」で示す。
シナリオ登録処理とは、シナリオ登録情報における任意のシナリオチャネルｓＣＨに、登録を要求されたシナリオ番号のシナリオを登録する処理である。原則的には、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルは、どのチャネルが用いられても良い。
【０１１７】
以下説明するシナリオ登録は、例えばステップＳ１０６のエラー処理、ステップＳ１０７のデモ処理、ステップＳ１０８のコマンド解析処理などの処理過程において、必要時に呼び出され、実行される。例えば先に述べた図１１ＣのステップＳ３３３、図１１ＤのステップＳ３４１などが、シナリオ登録が実行される場合の一例となる。
【０１１８】
図１２の処理として、演出制御ＣＰＵ２００は、コマンド或いはプログラム上で指定されるシナリオに対応したシナリオ番号と待機時間（delay）の値を、ワーク（シナリオ登録情報）に登録する処理を行う。
ステップＳ４０１で演出制御ＣＰＵ２００は、まず今回登録すべきシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、何もせずに処理を終える。
【０１１９】
シナリオ番号が適正であれば、演出制御ＣＰＵ２００はステップＳ４０２で変数Ｂをゼロに設定する。変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、空きチャネルを順次探索するために使用する変数である。さらに変数Ｂは、まだ探索（空きチャネルであるか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１２０】
演出制御ＣＰＵ２００は、ステップＳ４０３で、「追加ポインタ」＋Ｂのシナリオチャネルが空きであるか否かを確認する。追加ポインタとは、シナリオ登録を行った際に、後述のステップＳ４０７で設定されるポインタである。図１２の処理を開始する時点では、追加ポインタの値は、前回登録したシナリオチャネルの次のシナリオチャネルを示す値となっている。なお、追加ポインタの初期値（初期状態から図１２の処理が初めて行われる時の値）は０である。
「追加ポインタ」＋Ｂのシナリオチャネルが空きでなければ、演出制御ＣＰＵ２００はステップＳ４０４で変数Ｂをインクリメントする。
ステップＳ４０５でＢ＜６４でなければ、この図１２の処理を終える。これは全シナリオチャネルについて探索を行ったが、空きチャネルがなくてシナリオ登録が不可能となる場合である。
まだ全シナリオチャネルの探索（空きチャネルであるか否かの確認）を行っていない時点では、ステップＳ４０５でＢ＜６４である。その場合はステップＳ４０６の確認処理を行い、「追加ポインタ」＋Ｂの値がシナリオチャネルｓＣＨの最大値を超えた値「６４」以上となっていなければステップＳ４０３に戻る。
また「追加ポインタ」＋Ｂの値が「６４」以上となっていた場合は、ステップＳ４０７で追加ポインタの値の補正処理を行う。具体的には「追加ポインタ」＋Ｂの値が「６４」となった場合、追加ポインタの値を「６４」減算する処理を行う。そしてステップＳ４０３に戻る。
【０１２１】
このステップＳ４０３〜Ｓ４０７の処理によれば、前回登録したシナリオチャネルの次のシナリオチャネルから、順次シナリオチャネルが空きか否かが確認されることになる。
つまり、ステップＳ４０４での変数Ｂのインクリメントにより、ステップＳ４０３が行われるたびに確認されるシナリオチャネルｓＣＨが、順次１つずつ進行することとなる。
また、変数ＢはステップＳ４０２でゼロリセットされてからステップＳ４０４でインクリメントされるものであるため、ステップＳ４０５でＢ＜６４とはならない場合（つまり変数Ｂが６４に達した場合）は、既にステップＳ４０３の処理が６４回行われた場合である。これは全シナリオチャネルｓＣＨ０〜ｓＣＨ６３を調べたが、空きがなかったと判断された場合である。そのため登録不可能として図１２の処理を終えることとなる。
【０１２２】
また、「追加ポインタ」の値は、前回登録したシナリオチャネルの次のシナリオチャネルを示す値であるため、まだ全シナリオチャネルの空き確認を行っていないＢ＜６４の時点でも、「追加ポインタ」＋Ｂの値（つまり次に確認しようとするシナリオチャネルｓＣＨの番号）が「６４」以上となることがある。具体的には、直前のステップＳ４０３の時点で「追加ポインタ」＋Ｂの値が６３であり、シナリオチャネルｓＣＨ６３について確認した後、ステップＳ４０４で変数Ｂがインクリメントされた場合である。このままでは、次に存在しないシナリオチャネルｓＣＨ６４を指定することとなる。
そこでステップＳ４０６でこの点を確認し、「追加ポインタ」＋Ｂの値が「６４」となっていたら、ステップＳ４０７では、次に確認するシナリオチャネルを「ｓＣＨ０」に戻すために、追加ポインタの補正を行う。つまり追加ポインタの値を−６４することで、「追加ポインタ」＋Ｂの値が「０」となるようにする。これにより次のステップＳ４０３では、シナリオチャネルｓＣＨ０が空きであるか否か確認されるようにする。
【０１２３】
ある時点のステップＳ４０３の処理で、空きのシナリオチャネルが発見されたら、演出制御ＣＰＵ２００はステップＳ４０８に進み、その空きのシナリオチャネルに、シナリオ番号、及び待機時間（delay）をセットする。またその他のシナリオ管理に必要なデータをゼロクリアする。
そしてステップＳ４０９で、追加ポインタを、登録を行ったシナリオチャネル＋１の値に更新する。つまり今回登録を行ったシナリオチャネルの次のシナリオチャネルの値を、追加ポインタとして記憶しておき、次回の登録処理に使用できるようにする。なお、本実施の形態ではシナリオチャネルはｓＣＨ０〜ｓＣＨ６３の６４チャネルのため追加ポインタの最大値は６３となる。
【０１２４】
この図１２の処理によれば、シナリオ登録の際に、前回登録を行ったシナリオチャネルの次のシナリオチャネルから、空きチャネルが探索される。追加ポインタの初期値は「０」であり、その後、登録に応じてステップＳ４０７で更新されていくが、この処理によれば、多くの場合、シナリオチャネルｓＣＨ０から順に使用されてシナリオ登録が行われる。そして、シナリオ登録の際には、前回の登録チャネルの次のシナリオチャネルから空きの確認が行われる。従って、殆どの場合、素早く空きチャネルが発見でき、シナリオ登録処理を効率的に実行することができる。これにより演出制御ＣＰＵ２００の処理負担は軽減される。
【０１２５】
なお、処理の変形例として、ステップＳ４０７で更新する追加ポインタの値は、登録を行ったシナリオチャネルの番号としておき、ステップＳ４０２では変数Ｂに１を代入してもよい。但しその場合、ステップＳ４０５ではＢ≦６５であるか否かの判断を行うようにする。
【０１２６】
次にシナリオ削除処理について説明する。これはワークの或るシナリオチャネルに登録されているシナリオを削除する処理である。
図１３Ａは、或るシナリオをシナリオ登録情報から削除する場合の演出制御ＣＰＵ２００の処理を示している。
演出制御ＣＰＵ２００は、コマンド或いはプログラムグラム上で指定される、削除するシナリオ番号（後述のメインシナリオ番号（mcNo））の値に基づいて、図１３Ａの処理を開始する。まずステップＳ４２１で演出制御ＣＰＵ２００は、削除要求にかかるシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、削除せずに処理を終える。
【０１２７】
シナリオ番号が適正であれば、演出制御ＣＰＵ２００はステップＳ４２２で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、削除対象のシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Ｂは、まだ探索（削除対象のシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１２８】
演出制御ＣＰＵ２００は、ステップＳ４２３で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号のものであるか否かを確認する。シナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号でなければ、ステップＳ４２４で変数Ｂをインクリメントし、ステップＳ４２５でＢ＜６４であることを確認して、ステップＳ４２３の処理を行う。
このステップＳ４２３，Ｆ４２４の処理によれば、シナリオチャネルｓＣＨ０からシナリオチャネルｓＣＨ６３に向かって順に、削除対象のシナリオを探索していくこととなる。
ステップＳ４２３でシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号であった場合は、ステップＳ４２６に進み、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する処理を行う。
以上により、要求された或るシナリオ番号のシナリオをワーク（シナリオ登録情報）から削除する処理が行われる。
なお、ステップＳ４２５でＢ＜６４ではないと判断される場合、つまり変数Ｂが６４に達した場合は、シナリオチャネルｓＣＨ０〜ｓＣＨ６３の全てを探索したが、削除対象のシナリオが登録されていなかったということになるため、処理を終える。
【０１２９】
図１３Ｂは、或る範囲のシナリオを削除する処理を示している。削除シナリオが範囲で指定された場合に、この処理が行われる。
演出制御ＣＰＵ２００は、コマンド或いはプログラム上で、或るシナリオ番号の範囲で削除指定された場合、まずステップＳ４３１で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、削除対象範囲に該当するシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Ｂは、まだ探索（削除対象範囲に該当するシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１３０】
演出制御ＣＰＵ２００は、ステップＳ４３２で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号であるか否かを確認する。そしてシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象の範囲内のシナリオ番号であれば、ステップＳ４３３でシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する。そしてステップＳ４３４に進む。
シナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号ではなければ、ステップＳ４３３を行わずにステップＳ４３４に進む。
演出制御ＣＰＵ２００はステップＳ４３４では、変数Ｂをインクリメントし、ステップＳ４３５でＢ＜６４であることを確認して、ステップＳ４３２に戻る。変数Ｂが６４に達していたら、全シナリオチャネルｓＣＨ０〜ｓＣＨ６３について処理を完了したことになるため、このシナリオ範囲削除処理を終える。
以上により、シナリオ番号範囲の１又は複数のシナリオについて、ワーク（シナリオ登録情報）からの削除が行われる。
【０１３１】
図１３Ｃは登録されているシナリオを全て削除する処理を示している。例えばシステム上の都合により、やむを得ずシナリオを削除する際に呼び出される処理である。なお、保護対象とされたシナリオは削除しないようにする。
演出制御ＣＰＵ２００は、シナリオ全削除が要求された場合、まずステップＳ４４１で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、保護対象のシナリオを登録したシナリオチャネルを確認するために使用する変数となる。さらに変数Ｂは、まだ確認（保護対象のシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１３２】
演出制御ＣＰＵ２００は、ステップＳ４４２で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、保護対象のシナリオであるか否かを確認する。そして保護対象のシナリオであれば、削除せず、一方、保護対象のシナリオでなければ、ステップＳ４４３で、そのシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する。
そしてステップＳ４４４で変数Ｂをインクリメントし、ステップＳ４４５でＢ＜６４であればステップＳ４４２に戻る。変数Ｂが６４に達していたら、全シナリオチャネルｓＣＨ０〜ｓＣＨ６３について処理を完了したことになるため、このシナリオ全削除処理を終える。
以上により、ワークにシナリオ登録情報として登録されているシナリオについて、保護対象のシナリオを除く全シナリオの削除が行われる。
【０１３３】
［４−５：シナリオ更新処理］
続いてメイン処理の１６ｍｓ処理のステップＳ１１０で行われるシナリオ更新処理について説明する。シナリオ更新処理では図１４、図１５で説明するようにメインシナリオとサブシナリオの更新が行われる。
【０１３４】
まずシナリオ登録情報の構造を図１６、図１７で説明する。図１６Ａは、メインシナリオ及びサブシナリオとしてのシナリオ登録情報の構造を示している。このシナリオ登録情報は演出制御ＲＡＭ２０２のワークエリアを用いて設定される。
先に述べたように本実施の形態では、シナリオ登録情報は、シナリオチャネルｓＣＨ０〜ｓＣＨ６３の６４個のチャネルを有するものとされる。各シナリオチャネルｓＣＨに登録されたシナリオについては同時に実行可能とされる。
【０１３５】
図示のように各シナリオチャネルｓＣＨに登録できる情報としては、サブシナリオ更新処理で用いるサブシナリオタイマ（scTm）、音／モータサブシナリオテーブルの実行ラインを示すサブシナリオ実行ライン（scIx）、ランプサブシナリオテーブルの実行ラインを示すサブシナリオ実行ラインｌｍｐ（lmpIx）、シナリオ更新処理に用いるメインシナリオタイマ（msTm）、メインシナリオテーブルの実行ラインを示すメインシナリオ実行ライン（mcIx）、メインシナリオ番号（mcNo）、メインシナリオに付加可能なオプションデータであるメインシナリオオプション（mcOpt）、ユーザオプション（userFn）、待機時間（delay）、チェックサム（checkSum）がある。
【０１３６】
スピーカ２５による音出力、装飾ランプ部６３，６４による発光、及び可動体役物モータ６５による可動体役物の駆動による演出を開始するときには、待機時間（delay）とメインシナリオ番号（scNo）をシナリオチャネルｓＣＨ０〜ｓＣＨ６３のうちの空いているシナリオチャネルに登録する。
待機時間（delay）は、シナリオチャネルｓＣＨに登録してからそのシナリオが開始されるまでの時間を示す。なおこの待機時間（delay）は１６ｍｓ処理毎に１減算される。待機時間（delay）が０の場合に、登録されたデータに対応した処理が実行されることとなる。
【０１３７】
図１８には、メインシナリオテーブルの一部として、シナリオ番号１，２，３の例を示している。各シナリオ番号のシナリオとしては、シナリオの各ライン（行）に時間データとしてメインシナリオタイマ（msTm）の値が記述されるとともに、サブシナリオ番号（scNo）、オプション（OPT）を記述することができる。即ちメインシナリオテーブルでは、メインシナリオタイマ（msTm）による時間として、実行されるべきサブシナリオ（及び場合によってはオプション）が指定される。またシナリオ最終行には、シナリオデータ終了コードD_SEEND、又はシナリオデータループコードD_SELOPが記述される。
なお、メインシナリオタイマ（msTm）の値は、メインシナリオの開始時から、１６ｍｓ処理で行われるシナリオ更新の処理で＋１されるため、「１」とは１６ｍｓを示すものとなる。各シナリオ番号のシナリオテーブルは、或る行におけるメインシナリオタイマ（msTm）の時間を経過すると、次の行へ進むことになる。各行の時間データは、その行が終わるタイミングを示している。
例えばシナリオ番号２の場合、１５００×１６ｍｓの時間としてサブシナリオ番号２の動作が指定され、次の５００×１６ｍｓの時間としてサブシナリオ番号２０の動作が指定され、次の２０００×１６ｍｓの時間としてサブシナリオ番号２１の動作が指定されている。その次の行はシナリオデータ終了コードD_SEENDである。シナリオデータ終了コードD_SEENDの場合、シナリオ登録情報（ワーク）から、このシナリオが削除される（後述する図１４のステップＳ６１７参照）。
【０１３８】
次に図１６Ｂでランプデータ登録情報の構造を説明する。ランプデータ登録情報としては、ランプサブシナリオテーブルから選択されたシナリオ、即ち装飾ランプ部６３，６４による演出動作（点灯パターン）を示す情報が登録される。このランプデータ登録情報も演出制御ＲＡＭ２０２のワークエリアを用いて設定される。
本実施の形態では、ランプデータ登録情報は、ランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５の１６個のチャネルを有するものとされる。各ランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５には優先順位が設定されており、ランプチャネルｄｗＣＨ０からｄｗＣＨ１５に向かって順にプライオリティが高くなる。従ってランプチャネルｄｗＣＨ１５に登録されたシナリオ（ランプサブシナリオ）が最も優先的に実行される。また例えばランプチャネルｄｗＣＨ３、ｄｗＣＨ１０にシナリオが登録されていれば、ランプチャネルｄｗＣＨ１０に登録されたシナリオが優先実行される。
なお、ランプチャネルｄｗＣＨ０は主にＢＧＭ（Back Ground Music）に付随するランプ演出、ランプチャネルｄｗＣＨ１５はエラー関係のランプ演出に用いられ、ランプチャネルｄｗＣＨ１〜ｄｗＣＨ１４が通常演出に用いられる。
【０１３９】
各ランプチャネルｄｗＣＨに登録できる情報としては、図示のように、登録した点灯パターンの番号を示す登録点灯ナンバ（lmpNew）、実行する点灯パターンの番号を示す実行点灯ナンバ（lmpNo）、ランプサブシナリオの実行ラインを示すオフセット（offset）、実行時間（time）、チェックサム（checkSum）がある。
【０１４０】
図１９Ａにランプサブシナリオテーブルの一部として、ランプサブシナリオ番号１，２，３の例を示している。各番号のランプサブシナリオとしては、シナリオの各ライン（行）に時間データ（time）の値が記述されるとともに、ランプチャネルと、各種の点灯パターンを示すランプナンバが記述される。また最終行には、ランプシナリオデータ終了コードD_LSENDが記述される。
【０１４１】
このランプサブシナリオテーブルにおいて、各ラインの時間データ（time）は、そのサブシナリオが開始されてからの、当該ラインが開始される時間を示している。
１６ｍｓ毎にメインシナリオタイマ（msTm）と、テーブルの時間データを比較して、一致した場合に、そのラインのランプナンバが、図１６Ｂのランプデータ登録情報に登録される。登録されるランプチャネルｄｗＣＨは、当該ラインに示されたチャネルとなる。
例えば、上述の或るシナリオチャネルｓＣＨにおいて、図１８に示したシナリオ番号２が登録され、サブシナリオ番号２が参照されるとする。図１９Ａに示したランプサブシナリオ番号２では、１ライン目に時間データ（time）＝０としてランプチャネル５（ｄｗＣＨ５）及びランプナンバ５が記述されている。この場合、メインシナリオタイマ（msTm）＝０の時点で、まず当該１ライン目の情報が図１６Ｂのランプデータ登録情報のランプチャネルｄｗＣＨ５に、登録点灯ナンバ（lmpNew）＝５として登録される。シナリオ登録情報（図１６Ａ）のサブシナリオ実行ラインｌｍｐ（lmpIx）の値は、次のラインの値（２ライン目）に更新される。これはランプチャネルｄｗＣＨ５という比較的低い優先度で、点灯ナンバ５の点灯パターン動作の実行を行うための登録となる。
２ライン目については、５００×１６ｍｓとなった時点で同様の処理が行われる。即ちランプデータ登録情報のランプチャネルｄｗＣＨ５に、登録点灯ナンバ（lmpNew）＝６（つまり点灯ナンバ６の点灯パターンの指示）が登録される。
なお、時間データ（time）が連続する２ラインで同一の値であったら、その各ラインについての処理は同時に開始されることとなる。
後述するＬＥＤ駆動データ更新処理では、このように更新されるランプデータ登録情報に基づいて、ＬＥＤ駆動データが作成される。
【０１４２】
次に図１６Ｃでモータデータ登録情報の構造を説明する。モータデータ登録情報としては、音／モータサブシナリオテーブル（図１９Ｂで後述）から選択されたシナリオを示す情報が登録される。このモータデータ登録情報も演出制御ＲＡＭ２０２のワークエリアを用いて設定される。
本実施の形態では、モータデータ登録情報は、モータチャネルｍＣＨ０〜ｍＣＨ７の８個のチャネルを有するものとされる。
各モータチャネルｍＣＨに登録できる情報としては、図示のように、実行動作ナンバ（no）、登録動作ナンバ（noNew）、動作カウント（lcnt）、励磁カウンタ（tcnt）、実行ステップ（step）、動作ライン（offset）、親（移行元）／子（移行先）の属性（attribute）、親ナンバ（retNo）、戻りアドレス（retAddr）、ループ開始ポイント（roopAddr）、ループ回数（roopCnt）、エラーカウンタ（errCnt）、現在の入力情報（currentSw）、ソフト上のスイッチ情報（softSw）、ソフト上のカウント（softCnt）がある。
【０１４３】
また図１７は、音データ登録情報を示している。音データ登録情報としては、音／モータサブシナリオテーブル（図１９Ｂで後述）から選択されたシナリオを示す情報が登録される。この音データ登録情報も演出制御ＲＡＭ２０２のワークエリアを用いて設定される。
本実施の形態では、音データ登録情報は、音チャネルａＣＨ０〜ａＣＨ１５の１６個のチャネルを有するものとされる。この音チャネルａＣＨ０〜ａＣＨ１５のそれぞれは、音源ＩＣ５９の入力チャネル（同じく１６個）のそれぞれに対応するものである。
各音チャネルａＣＨに登録できる情報としては、図示のように、１次ボリューム遷移量（frzVq）、１次ボリューム（frzVl）、遷移量変化（rsv2）、ボリューム変化（rsv1）、フレーズ変化（rsv0）、ステレオ（frzSt）、ループ（frzLp）、フレーズ番号ｈｉ（frzHi）、フレーズ番号ｌｏｗ（frzLo）、及び２次ボリューム（scdVl）がある。
【０１４４】
ここで、１次ボリューム（第１ボリューム）とは、或るフレーズの再生開始を指示するシナリオデータ（後述するＢＧＭ、ＳＥ１、ＳＥ２、エラー）において、再生すべきフレーズのフレーズ番号の情報と共に記述されるボリューム情報である。
また、２次ボリューム（第２ボリューム）とは、１次ボリュームとの掛け合わせで最終的な再生ボリュームを定めるボリューム情報となる。
１次ボリュームと２次ボリュームとの違いは、以下の通りである。
１次ボリュームは、上記のようにフレーズの再生開始を指示するシナリオデータにも記述されるのに対し、２次ボリュームは後述する音コントロール（音制御情報）のシナリオデータに記述される。
また、本実施の形態の場合、１次ボリュームによっては、１次ボリューム遷移量（frzVq）の情報と組み合わされることで、再生中のフレーズに対するボリューム制御が可能とされ、該１次ボリュームの制御によってフレーズのフェードイン再生／フェードアウト再生が可能とされる。後述もするように、これらフェードイン再生／フェードアウト再生の指示は、音コントロールとしてのシナリオデータに基づき実行される。
２次ボリュームは、通常はパチンコ遊技機１の裏側に設けられたボリュームスイッチの状態に応じた値に設定され、後述するようにエラー時や所望のフレーズを消音させたいとき等にＭＡＸ値とは異なる値が設定される。
２次ボリュームの変化指示は、音コントロールとしてのシナリオデータによっても可能とされる（この点についても後述する）。
【０１４５】
１次ボリューム遷移量frzVqは、１次ボリュームを変化させる時間（速さ）を表す情報となる。
遷移量変化rsv2は、１次ボリューム遷移量frzVqを変化させるか否かを表す情報であり、ボリューム変化rsv1は、フレーズ再生時に１次ボリュームを変化させるか否かを表す情報となる。また、フレーズ変化rsv0はフレーズ番号を書き替えるか否かを表す情報であり、ステレオfrzStはステレオ再生／モノラル再生の何れであるか、ループfrzLpは無限ループ再生かループ再生しないかの何れかをそれぞれ表す情報となる。
【０１４６】
図示するように、１次ボリューム遷移量、１次ボリューム、２次ボリュームのデータサイズはそれぞれ１バイト（８ビット）である。また、遷移量変化、ボリューム変化、フレーズ変化、ステレオ、ループの各情報は１ビットされる。さらに、フレーズ番号ｈｉは３ビット、フレーズ番号ｌｏｗは１バイトとされる。即ち、フレーズ番号の情報は１１ビットで構成され、従って最大で２０４８個のフレーズの指定が可能とされる。
【０１４７】
ここで、本例において、ステレオ再生の場合は、隣接関係にある２つの音チャネルａＣＨを用いる。具体的には、偶数チャネルである音チャネルａＣＨｎとその次の奇数チャネルである音チャネルａＣＨｎ＋１とを使用する。
ステレオ再生を指示するシナリオデータには、ステレオ再生すべきフレーズを指定するためのフレーズ番号（指定情報としてはＬｃｈとＲｃｈとで共通の１つのフレーズ番号が用いられる）の情報と、ステレオ再生を指定するための情報とが記述され、該シナリオデータに基づき、音データ登録情報における偶数の音チャネルａＣＨｎと奇数の音チャネルａＣＨｎ＋１とにこれらフレーズ番号とステレオ再生の指示情報とが登録される（上述のフレーズ番号ｈｉ，ｌｏｗとステレオfrzSt）。
【０１４８】
図１９Ｂは、音／モータサブシナリオテーブルの一部として、音／モータサブシナリオ番号１，２の例を示している。
各番号の音／モータサブシナリオとしては、シナリオの各ライン（行）に時間データ（time）の値（ｍｓ）が記述されるとともに、ＢＧＭ、ＳＥ１、ＳＥ２、エラー音、音コントロール、モータ、ソレノイド／ユーザオプションの情報が記述可能とされる。また最終行には、シナリオデータ終了コードD_SEENDが記述される。
この音／モータサブシナリオテーブルに関しては、サブシナリオタイマ（scTm）の値が当該音／モータサブシナリオテーブル中の或るラインに記述された時間データ（time）の値になったら（なお最初は０である）、そのラインに記述されたＢＧＭ、ＳＥ１、ＳＥ２、エラー音、音コントロール、モータ、ソレノイド／ユーザオプションに応じた情報を音データ登録情報やモータデータ登録情報に登録することになる。
なお、各ラインの時間データ（time）は、当該ラインを開始するタイミングを示している。
【０１４９】
ここで、音／モータサブシナリオテーブルにおけるＳＥ（ＳＥ１及びＳＥ２）とは、ＢＧＭとエラー音以外の演出に係る音を意味する。いわゆる予告演出時の音（予告音）は、このＳＥに分類される。
ＳＥ１とＳＥ２の区別は、その音を出力する演出の出現頻度による別としている。例えば予告音であれば、その音を使用する予告演出の出現頻度（信頼度）による区別となる。本例の場合、ＳＥ２はＳＥ１よりも出現頻度が低い演出に係る音とされる。
【０１５０】
音／モータサブシナリオテーブルにおけるＢＧＭ、ＳＥ１、ＳＥ２、エラー音の各情報は、それぞれフレーズ番号と１次ボリュームの情報とを含む。
これら音／モータサブシナリオテーブルに記述されたＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報は、音データ登録情報における何れかの音チャネルａＣＨに登録されることになるが、本実施の形態では、これらＢＧＭ、ＳＥ１、ＳＥ２、エラー音の音の種別ごとに、その情報内容を登録する音チャネルａＣＨを予め定めておくものとしている。
具体的に、音／モータサブシナリオテーブルに記述されたＢＧＭの情報については、音チャネルａＣＨ０（ステレオの場合は加えてａＣＨ１）に登録する。また、ＳＥ１の情報については音チャネルａＣＨ２〜ａＣＨ９のうちの空きチャネルに登録し、ＳＥ２の情報については音チャネルａＣＨ１０〜ａＣＨ１４うちの空きチャネルに登録する。さらに、エラー音の情報については音チャネルａＣＨ１５に登録する。
このように本実施の形態では、音の種別と、その音についての音関連の情報を登録する音チャネルａＣＨとの対応関係が予め定められている。
【０１５１】
また、音／モータサブシナリオテーブルにおける音コントロールの情報は、再生中のフレーズをコントロールするための情報を記述したものである。
本実施の形態の場合、当該音コントロールの情報は４バイトで構成され、下位３バイトがコントロール対象のフレーズを指定するための情報、上位１バイトがコントロール情報（音のコントロール内容を表す情報）とされている。
【０１５２】
ここで、本実施の形態では、音の種別と、その音についての情報を登録する音チャネルａＣＨとの対応を上述のように定めているが、このことは、ＢＧＭとしてのフレーズは音チャネルａＣＨ０（ステレオの場合はａＣＨ０及びａＣＨ１）で再生され、ＳＥ１としてのフレーズは音チャネルａＣＨ２〜ａＣＨ９の何れかで再生され、ＳＥ２としてのフレーズは音チャネルａＣＨ１０〜ａＣＨ１４の何れかで再生され、エラー音としてのフレーズは音チャネルａＣＨ１５で再生されるということが一意に定まっていると換言できる。
このため、音コントロールの情報に基づき所定の種別の音（ＢＧＭ／ＳＥ１／ＳＥ２／エラー音）をコントロールするとしたときは、音コントロールの情報を、その音に対応する音チャネルａＣＨに対して登録すればよい。
この点に鑑み本実施の形態の音コントロールの情報では、その下位３バイトの情報、即ちコントロール対象のフレーズを指定するための情報として、音チャネルａＣＨを指定する情報を記述する。つまり、コントロール対象とする音（フレーズ）が再生される音チャネルａＣＨ（つまりＢＧＭ／ＳＥ１／ＳＥ２／エラー音の別に応じたａＣＨ０（及びａＣＨ１）／ａＣＨ２〜ａＣＨ９／ａＣＨ１０〜ａＣＨ１４／ａＣＨ１５の別）を指定する情報が記述される。
【０１５３】
なお、音／モータサブシナリオテーブルに記述されるＢＧＭ、ＳＥ１、ＳＥ２、エラー音、音コントロールの各情報を音データ登録情報としてワークに登録するための具体的な処理については図２４〜図２８により後述する。
【０１５４】
ここで、上記のように本実施の形態では、音の種別と、その音についての情報を登録する音チャネルａＣＨとの対応関係を予め定めておくようにしたことで、或る種別の音が再生される音チャネルａＣＨが一意に定まるようにできる。これにより、再生中の或る種別の音を制御するとしたときは、ワークにおけるその種別の音と対応づけられた音チャネルａＣＨに対して制御情報を登録すれば済み、制御対象とする音を再生中の音チャネルａＣＨを探索する必要はないものとできる。
従って探索処理が省略される分、演出動作に係る制御負荷を軽減できる。
【０１５５】
また、上記のように本実施の形態では、再生中の音をコントロールするための音コントロールの情報を、コントロールの内容を表す情報と、制御対象とする音に対応する音チャネルａＣＨを表す情報とを組み合わせた情報としている。
このように音コントロール情報を、制御内容情報の登録先の音チャネルａＣＨの指定が可能な情報としたことでも、制御対象の音を再生中の音チャネルａＣＨを探索せずに済むものとできる。即ち、音コントロール情報をこのような構成とした点も、探索処理の省略、つまりは演出動作に係る制御負荷の軽減に寄与するものである。
【０１５６】
説明を図１９Ｂに戻す。
音／モータサブシナリオテーブルにおいて、モータのデータは、モータ１個につき１バイトでモータの動作パターン番号を示すように構成されている。
モータ番号に対応するモータチャネルに対して、この動作パターン番号がセットされる。
【０１５７】
図８のステップＳ１１１として説明した音再生処理では、図１４，図１５のシナリオ更新処理で更新される音データ登録情報に基づいて、再生出力が行われることになる。
また、図９のステップＳ２０３のモータ動作更新処理では、図１４，図１５のシナリオ更新処理で更新されるモータデータ登録情報に基づいて、モータ駆動データが作成される。
【０１５８】
これまでで説明した各情報を用いて実行されるシナリオ更新処理について、図１４、図１５を参照して説明する。
図８の１６ｍｓ処理のステップＳ１１０として実行される図１４のシナリオ更新処理では、演出制御ＣＰＵ２００はループ処理ＬＰ１として、シナリオチャネルｓＣＨ０〜ｓＣＨ６３のそれぞれについて、ステップＳ６００〜Ｓ６１６の処理を行う。当該ループ処理の各回の処理対象のシナリオチャネルを「ｓＣＨｎ」として説明する。
【０１５９】
演出制御ＣＰＵ２００は、ステップＳ６００でシナリオチャネルｓＣＨｎのメインシナリオ番号が０であるか否かを確認する。メインシナリオ番号が０である場合、当該シナリオチャネルｓＣＨｎは先の図１２のシナリオ登録処理でメインシナリオの登録が為されていないチャネルｓＣＨとなるので、該シナリオチャネルｓＣＨｎの情報更新は不要である。従ってこの場合は、ステップＳ６１５以下の処理を実行して処理を終える。具体的に、ステップＳ６１５でシナリオチャネルｓＣＨｎ関連のデータのチェックサムを算出し、保存した上で、ステップＳ６１６でシナリオチャネルｓＣＨｎ関連のデータをバックアップ保存する。これでシナリオチャネルｓＣＨｎについての１回の処理を終える。
【０１６０】
一方、ステップＳ６００でメインシナリオ番号が０でないとされた場合は、ステップＳ６０１に進み、シナリオチャネルｓＣＨｎの待機時間（delay）を確認する。待機時間（delay）＝０でなければステップＳ６０２で待機時間（delay）の値を−１（デクリメント）する。そして、ステップＳ６１５及びＳ６１６の処理を実行して、シナリオチャネルｓＣＨｎについての１回の処理を終える。
【０１６１】
ステップＳ６０１で待機時間（delay）＝０であることが確認された場合は、演出制御ＣＰＵ２００はステップＳ６０３に進み、シナリオチャネルｓＣＨｎに登録されているメインシナリオ番号（mcNo）と、メインシナリオ実行ライン（mcIx）に対応するメインシナリオテーブルのアドレスを特定する。
ステップＳ６０４では、当該特定したアドレスで示される、メインシナリオテーブルの或るメインシナリオ番号の実行ラインが、終了コードD_SEEND（図１８参照）が記述されている最終ラインであるか否かを確認する。
終了コードが記述された最終ラインで合った場合は、当該シナリオチャネルｓＣＨｎに登録されたシナリオで実行すべき処理は終了したことになるため、ステップＳ６１７で、そのシナリオチャネルｓＣＨｎに登録されているシナリオをシナリオ登録情報（ワーク）から削除する。
なお、この場合のシナリオ登録の削除は、シナリオ終了に応じた通常の削除である。先に図１３で説明したシナリオ削除は、この通常削除以外の、例えば未終了のシナリオをシナリオ登録情報（ワーク）から削除する処理であることを付言しておく。
【０１６２】
ステップＳ６１７でシナリオ削除を行った後は、ステップＳ６１５に進む。
【０１６３】
ステップＳ６０４で、メインシナリオテーブルの当該ラインが終了コードではない場合は、演出制御ＣＰＵ２００はステップＳ６０５に進み、まず当該シナリオチャネルｓＣＨｎのメインシナリオオプション（mcOpt）に、当該ラインのオプション（OPT）をセットする。次にステップＳ６０７で、ユーザオプション（userFn）に０を代入する。
そしてステップＳ６０８で当該シナリオチャネルｓＣＨｎで指定されるサブシナリオの更新を行う。サブシナリオの更新については図１５で後述する。
【０１６４】
ステップＳ６０９では、演出制御ＣＰＵ２００はメインシナリオタイマ（msTm）を＋１（インクリメント）する。そしてステップＳ６１０では、メインシナリオタイマ（msTm）の値と、メインシナリオテーブルの該当ラインの時間データ（図１８参照：msTmで記述）を比較する。先に述べたように、メインシナリオテーブルの各ラインの時間データは、そのラインの終了タイミングを規定するものであるから、メインシナリオタイマ（msTm）の値がメインシナリオテーブルの当該ラインに記述された時間データ以上であれば、そのラインの処理は終了し、次のラインを対象とする。従って、ステップＳ６１０でメインシナリオタイマ（msTm）の値がメインシナリオテーブルの当該ラインに記述された時間データ以上であるとされた場合は、ステップＳ６１１に進み、シナリオチャネルｓＣＨｎのメインシナリオ実行ライン（mcIx）を＋１する。つまり次回は、次のラインが対象となるようにする。
また、ステップＳ６１０においてメインシナリオタイマ（msTm）の値がメインシナリオテーブルの当該ラインに記述された時間データ以上ではないとされた場合は、ステップＳ６１５に進む。
【０１６５】
ステップＳ６１１でシナリオチャネルｓＣＨｎのメインシナリオ実行ライン（mcIx）を＋１した後は、ステップＳ６１２で次のラインがループ指定であるか否かを確認する。図１８のメインシナリオテーブルにおいてシナリオ番号１では、最終ラインがシナリオデータループコードD_SELOPとされている例を示したが、このようにループ指定されていた場合は、ステップＳ６１３で、メインシナリオ実行ライン（mcIx）にループ行をセットする。
またステップＳ６１２で次のラインはループ指定ではないとされた場合は、ステップＳ６１３を経由せずステップＳ６１４に進む。
【０１６６】
演出制御ＣＰＵ２００は、ステップＳ６１４では、１つのラインの終了に応じたクリア処理を行う。即ちメインシナリオタイマ（msTm）、サブシナリオタイマ（scTm）、サブシナリオ実行ライン（scIx）、サブシナリオ実行ラインｌｍｐ（lmpIx）、メインシナリオオプション（mcOpt）、ユーザオプション（userFn）、待機時間（delay）をクリアする。
そしてステップＳ６１５のチェックサム処理、ステップＳ６１６のバックアップ処理を行ってシナリオチャネルｓＣＨｎについての１回の処理を終える。
シナリオ更新処理としては、ループ処理ＬＰ１として、シナリオチャネルｓＣＨ０〜ｓＣＨ６３のそれぞれについて以上の処理が実行されることになる。  
【０１６７】
ステップＳ６０８で行われるサブシナリオ更新処理を図１５Ａに詳細に示す。
メインシナリオタイマ（msTm）、シナリオチャネルｓＣＨｎと、メインシナリオテーブルに記述されたサブシナリオ番号（scNo）に基づいて、図１５Ａのサブシナリオの更新処理が行われる。
【０１６８】
まずステップＳ６２１で演出制御ＣＰＵ２００は、シナリオチャネルｓＣＨｎが０〜６３のいずれかを示しているか否か、つまり適正値であるか否かを確認する。シナリオチャネルｓＣＨｎが６４以上であれば、更新処理不能として図１５の処理を終える。
シナリオチャネルｓＣＨｎが適正値であれば、演出制御ＣＰＵ２００はステップＳ６２２で、サブシナリオ番号（scNo）とサブシナリオ実行ラインｌｍｐ（lmpIx）に対応するランプサブシナリオテーブル（図１９Ａ参照）のアドレスを特定する。
【０１６９】
演出制御ＣＰＵ２００はステップＳ６２３では、ランプチャネルカウント値を０をセットする。このランプチャンネルカウント値は、ランプデータ登録情報への点灯パターンナンバの登録がランプチャンネルｄｗＣＨの数（１６）を超えて異常な回数行われてしまうことを防止するために演出制御ＣＰＵ２００が管理する値である。
【０１７０】
そして、演出制御ＣＰＵ２００はステップＳ６２４で、メインシナリオタイマ（msTm）とランプサブシナリオテーブルの時間データ（time）を比較する。ランプサブシナリオテーブルの時間データ（time）は、当該ライン（サブシナリオ実行ラインｌｍｐ（lmpIx）で示されるライン）が開始される時間（ｍｓ）を示している。従って、メインシナリオタイマの時間（実際にはmsTm×１６ｍｓの時間）が、時間データ（time）以上となっていたら、そのラインについての処理を行う。その場合、ステップＳ６２５でランプチャネルカウント値が正常（ランプチャンネルｄｗＣＨの数である「１６」以内）であるか否かを確認する。異常な値であれば処理を終える。正常な値であればステップＳ６２６で、現在のラインが、ランプシナリオデータ終了コードD_LSENDが記述されたラインであるか否かを確認する。
【０１７１】
ランプシナリオデータ終了コードD_LSENDが記述されたラインではなければ、演出制御ＣＰＵ２００はステップＳ６２７で、当該ラインに記述されているランプチャネル、ランプナンバを取得する。そしてステップＳ６２８で点灯パターンナンバの登録を行う。
点灯パターンナンバの登録処理を図１５Ｂに示している。この場合、まず演出制御ＣＰＵ２００はステップＳ６５１で、当該ラインに記述されているランプチャネルｄｗＣＨの値が正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
正常値であれば、ステップＳ６５２で、当該ラインに記述されているランプナンバが正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
ランプチャネルｄｗＣＨ及びランプ番号のいずれもが正常値であれば、ステップＳ６５３でワークのランプデータ登録情報における、ランプチャネルｄｗＣＨに対応する領域に登録点灯ナンバ（lmpNew）と実行点灯ナンバ（lmpNo）をセットする。即ちランプサブシナリオテーブルの当該ラインから取得したランプナンバを、登録点灯ナンバ（lmpNew）にセットし、「０」を実行点灯ナンバ（lmpNo）にセットする。
以上の図１５Ｂの処理をステップＳ６２８で行ったら、演出制御ＣＰＵ２００はステップＳ６２９でサブシナリオ実行ラインｌｍｐ（lmpIx）の値を＋１し、ステップＳ６３０でランプチャネルカウント値を＋１してステップＳ６２４に戻る。
【０１７２】
ステップＳ６２４で、メインシナリオタイマの時間が、サブシナリオ実行ラインｌｍｐ（lmpIx）で示されるラインの時間データ（time）に達していない場合、及びステップＳ６２６でランプシナリオデータ終了コードD_LSENDが確認された場合は、演出制御ＣＰＵ２００の処理はステップＳ６３１へ進む。
【０１７３】
ステップＳ６３１では、メインシナリオテーブルに記述されているサブシナリオ番号と、現在処理中のシナリオチャネルｓＣＨｎに登録されているサブシナリオ実行ライン（scIx）に対応する音／モータサブシナリオテーブルのアドレスを特定する。
そして、ステップＳ６３２で、サブシナリオタイマ（scTm）の値がテーブルの時間データ（time）の値以上であるか否かを確認する。即ち、サブシナリオタイマ（scTm）の値が、現在処理中のシナリオチャネルｓＣＨｎに登録されているサブシナリオ実行ライン（sclx）で示されるラインの時間データ（time）の値以上であるか否かを確認する。
【０１７４】
ステップＳ６３２において、サブシナリオタイマ（scTm）の値がテーブルの時間データ（time）の値以上でなければ、そのラインに記述された情報についての登録処理は未だ実行するべきではないので、図のように音及びモータの登録を行わずにステップＳ６４０に進み、サブシナリオタイマ（scTm）の値をインクリメント（＋１）して、この図１５Ａの処理を終えることとなる。
【０１７５】
一方、ステップＳ６３２においてサブシナリオタイマ（scTm）の値がテーブルの時間データ（time）の値以上であれば、演出制御ＣＰＵ２００は処理をステップＳ６３３に進め、該当する音／モータサブシナリオ番号のテーブルの、サブシナリオ実行ライン（scIx）で示されるラインが、シナリオデータ終了コードD_SEENDが記述された行であるか否かを確認する。シナリオデータ終了コードD_SEENDが記述された行であれば処理を終了する。
シナリオデータ終了コードD_SEENDが記述された行でなければ、演出制御ＣＰＵ２００はステップＳ６３５で音の登録を行い、またステップＳ６３６でモータの登録を行う。これらステップＳ６３５，Ｓ６３６の登録処理としては、図１９Ｂに例示したような音／モータサブシナリオテーブルの該当サブシナリオ番号の該当ラインの情報を、図１７の音データ登録情報の音チャネルａＣＨ、図１６Ｃのモータデータ登録情報のモータチャネルｍＣＨにそれぞれ登録する処理を行う。
なお、ステップＳ６３５として実行される音の登録の詳細な処理内容については後述する（図２４〜図２８）。
【０１７６】
続いて、演出制御ＣＰＵ２００はステップＳ６３７で、当該ラインに記述されたソレノイド／ユーザオプションの情報を、シナリオ登録情報等に登録する。
そしてステップＳ６３８で、サブシナリオ実行ライン（scIx）の値として次のラインの値をセットする。さらにステップＳ６４０でサブシナリオタイマ（scTm）をインクリメントして処理を終える。
【０１７７】
図８のステップＳ１１０では、以上の図１４，図１５の処理が行われることとなる。この処理でワーク上のシナリオ登録情報、ランプデータ登録情報、モータデータ登録情報、音データ登録情報が逐次更新され、これに応じて演出制御が行われることで、シナリオに沿った演出動作が実現される。
【０１７８】
特に本実施の形態においては、第１のワークエリア（シナリオチャネルｓＣＨ０〜ｓＣＨ６３）には、演出種別を特定する演出データとしてシナリオ登録情報がセットされる。具体的にはメインシナリオ番号（mcNo）がセットされ、メインシナリオテーブル上のサブシナリオが特定される。さらに第１のワークエリアでは、音／モータサブシナリオテーブルの実行ラインを示すサブシナリオ実行ライン（scIx）、ランプサブシナリオテーブルの実行ラインを示すサブシナリオ実行ラインｌｍｐ（lmpIx）がセットされる。これらにより演出種別が特定される。
また実行する演出に応じた演出デバイスの動作データは第２のワークエリアにセットされる。第２のワークエリアとしてランプデータ登録情報をセットするランプチャネルｄｗＣＨ１〜ｄｗＣＨ１５、モータデータ登録情報をセットするモータチャネルｍＣＨ０〜ｍＣＨ７、音データ登録情報をセットする音チャネルａＣＨ０〜ａＣＨ１５が用意されている。
即ち本実施の形態では、各種演出デバイスを用いた全体の演出データが第１のワークエリアにセットされ、その第１のワークエリアの演出データに基づき、第２のワークエリアで動作データがセットされることになる。
この場合、多様な演出設定のためには第１のワークエリアには、登録できる演出データ個数（シナリオ登録情報の個数）を比較的多くすることが好ましい。例えば演出データの登録チャネル数を多くしたい。そこでシナリオチャネルｓＣＨ０〜ｓＣＨ６３として６４個のチャネルを用意する。
一方で、第２のワークエリアには、演出デバイスの動作を規定する動作データがセットされればよいため、動作データの登録可能数は、比較的少なくてもよい。特に、第２のワークエリアが、ランプ、モータ、音の個々の演出デバイスに対応して設けられているため、個々のデバイスについての登録可能数は、むやみに多くする必要はない。そこで第２のワークエリアとしては、ランプチャネルは１６チャネル（ｄｗＣＨ１〜ｄｗＣＨ１５）、モータチャネルは８チャネル（ｍＣＨ０〜ｍＣＨ７）、音チャネルは１６チャネル（ａＣＨ０〜ａＣＨ１５）としている。これらは、それぞれ対応する１つの演出デバイスについての動作データがセットされれば良いため、登録チャネル数は少なくても十分に多彩な演出動作に対応可能である。
このように、第１のワークエリアのチャネル数をＮ（例えばＮ＝６４），第２のワークエリアのチャネル数をＭ（例えばＭ＝１６、又はＭ＝８）とすると、Ｎ＞Ｍとなるように記憶領域を割り当てている。
これによって多彩な演出動作を可能としたまま、メモリが闇雲に消費されないようにしている。
【０１７９】
［４−６：ＬＥＤ駆動データ更新処理］
図８のステップＳ１１３のＬＥＤ駆動データ更新処理を説明する。
この処理は、ランプデータ登録情報に登録されている点灯ナンバ（登録点灯ナンバ（lmpNew）、実行点灯ナンバ（lmpNo））に対応するランプデータテーブルを参照して、ＬＥＤ駆動データを作成する処理である。なお上述のように、ランプデータ登録情報の点灯ナンバには、元々はランプサブシナリオテーブルに記述された、点灯パターンを示すランプナンバがセットされる。ランプナンバは点灯パターンを示すナンバと述べたが、具体的には図２３Ａで述べるランプデータテーブルのランプデータの番号を示すことになる。
【０１８０】
図２０はＬＥＤ駆動データ更新処理を示している。
演出制御ＣＰＵ２００はステップＳ７０１でそれまで出力データとしていたＬＥＤ駆動データをクリアする。
そしてループ処理ＬＰ２として、ランプデータ登録情報のランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５のそれぞれについて、ステップＳ７０２〜Ｓ７２０の処理が行われる。以下、処理対象のランプチャネルを「ｄｗＣＨｎ」と表記して説明する。
【０１８１】
ステップＳ７０２では演出制御ＣＰＵ２００は、対象のランプチャネルｄｗＣＨｎにおける実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）が一致しているか否かを確認する。先の図１５ＢのステップＳ６５３のように点灯パターンナンバの登録が行われるため、実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）は最初は一致しない。一致していなければ点灯開始として、ステップＳ７０３で、実行点灯ナンバ（lmpNo）に登録点灯ナンバ（lmpNew）の値を代入する。またステップＳ７０４で、実行ライン（ofset）を０にセットし、また実行時間（time）を０にセットする。
なお実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）が一致していれば、既に過去に以上のステップＳ７０３，Ｓ７０４の処理が行われたものであるため、これらの処理は不要である。
【０１８２】
或るランプチャネルｄｗＣＨに登録された情報については、登録後、このＬＥＤ駆動データ更新処理の機会毎に、その情報が反映されて各ＬＥＤドライバ９０に出力するＬＥＤ駆動データが作成されていく。
図２１Ａは、図１６Ｂに示したワークのランプデータ登録情報において、ランプチャネルｄｗＣＨ０、ｄｗＣＨ５、ｄｗＣＨ８に登録が行われている状態を示している。この図の状態は、図２１Ｂの時点ｔ０の状態の一例である。
即ちランプチャネルｄｗＣＨ０、ｄｗＣＨ５の情報については、時点ｔ０より以前に、ＬＥＤ出力データに反映されている。ランプチャネルｄｗＣＨ０については、既に実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）が一致され、また実行ライン（ofset）は３（３ライン目）まで進んでいる。またランプチャネルｄｗＣＨ５についても、既に実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）が一致され、また実行ライン（ofset）は２（２ライン目）まで進んでいる。時点ｔ０では、ランプチャネルｄｗＣＨ８は登録直後であり、まだ実行点灯ナンバ（lmpNo）と登録点灯ナンバ（lmpNew）が一致されていない。この後、上記ステップＳ７０３，Ｓ７０４の処理が行われることになる。
【０１８３】
なお前述したように本実施の形態では、ランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５には優先順位が設定されており、ランプチャネルｄｗＣＨ０からｄｗＣＨ１５に向かって順にプライオリティが高くなる。図２１Ａに示すように、優先度の高いランプチャネルｄｗＣＨ１５はエラー報知用に使用される。ランプチャネルｄｗＣＨ１２，ｄｗＣＨ１３，ｄｗＣＨ１４等、優先度が高いランプチャネルは、連続予告や確定予告等、比較的信頼度の高い演出用などに用いられる。また優先度が中程度のランプチャネルは可動体演出用、優先度が比較的低いランプチャネルは、会話予告やステップアップ予告など比較的信頼度の低い演出用に用いられ、さらに優先度が低いランプチャネルは、通常変動、リーチ等に同期したランプ演出に用いられる。
このような優先度の設定のため、図２１Ｂのように複数のランプチャネルｄｗＣＨの動作が重なる場合、優先度の高いランプチャネルの点灯動作が実行される。例えば時点ｔ０からは、ランプチャネルｄｗＣＨ０、ｄｗＣＨ５に基づく点灯動作が制限され、ｄｗＣＨ８に基づく点灯が行われるようにＬＥＤ出力データが生成される。優先度の低いランプチャネルの情報を反映させないようにするためには、後述するマスクデータが使用される。
【０１８４】
続いて図２０のステップＳ７０５では、演出制御ＣＰＵ２００は実行点灯ナンバ(lmpNo)の値が正常範囲であるか否かを確認する。正常範囲とは、図２３Ａに示すランプデータテーブルのランプデータとして番号が存在する範囲である。
実行点灯ナンバ（lmpNo）が異常であれば、ステップＳ７１９に進む。なおランプチャネルｄｗＣＨｎが登録されていない空きチャネルの場合も、ここでは異常としてステップＳ７１９に進む。
【０１８５】
実行点灯ナンバ（lmpNo）が正常であれば、ステップＳ７０６に進む。ステップＳ７０６では演出制御ＣＰＵ２００は、ランプチャネルｄｗＣＨｎに登録された実行点灯ナンバ（lmpNo）、実行ライン（ofset）に対応する、ランプデータテーブルのアドレスを特定する。
またステップＳ７０７では、ランプチャネルｄｗＣＨｎに登録された実行点灯ナンバ（lmpNo）、マスクデータテーブルのアドレスを特定する。
アドレスの特定のためには演出制御ＣＰＵ２００は、図２２のようなランプデータアドレステーブルを参照する。このランプデータアドレステーブルには、各点灯パターン、例えば全体点滅、右側点滅、左側点滅、役物点灯などを実現するためのランプデータ番号のアドレスが示されている。図２２の左端の数字は、図１９Ａのランプサブシナリオテーブルで示されるランプナンバであり、例えばランプナンバ２のランプデータのアドレスの欄には、全体点滅の点灯パターンを行うためのランプデータ番号が記憶されたアドレスが記述されている。
また、マスクデータのアドレスの欄には、そのランプデータ番号の点灯パターンを実行する際に必要なマスクデータが記憶されたアドレスが記憶されている。例えば点灯ナンバ５の右側点滅の点灯パターンを行う際には、センターケースマスクが必要になるが、そのセンターケースマスクを行うためのマスクデータのアドレスが記述されている。
【０１８６】
図２３Ａにはランプデータテーブルの一部としてランプデータ１，２を示している。
各番号のランプデータにおける各ラインには、タイマ（frame）としての時間データと点灯データが記述されている。タイマ（frame）は各ラインの点灯データによるＬＥＤ出力データの生成を行う時間を規定する。
点灯データは、各ＬＥＤドライバ９０に対応して記述されている。先に図４では、枠ドライバ部６１にはｎ個、盤ドライバ部６２にはｍ個のＬＥＤドライバ９０が存在するとしたが、以下では一例として、枠ドライバ部６１には４個、盤ドライバ部６２には５個の、合計９個のＬＥＤドライバ９０が存在すると仮定して説明する。
その場合、ランプデータの各ラインには、図２３Ａに示すように、９個のＬＥＤドライバ９０のそれぞれに対応して点灯データが記述される。なお図では各ＬＥＤドライバ９０との対応をＬＥＤドライバ９０のスレーブアドレスでｗ１〜ｗ４、ｂ１〜ｂ５で示している。
点灯データとしては、図４，図５で説明した、ＬＥＤドライバ９０の１つの出力端子９６（１系列のＬＥＤ駆動電流出力）に対して４ビット（０ｈ〜Ｆｈ）が割り当てられ（「ｈ」は１６進表記を示す）、１６階調の輝度を指定するようにされている。図５で述べたように、ＬＥＤドライバ９０には２４個の出力端子９６−１〜９６−２４がある。このため、１つの点灯データは、「ＦＦＦＦ００００５５５５００００ＡＡＡＡＡＡＡＡ（ｈ）」のように、（４×２４）ビットの情報となる。仮に図示のランプデータ１の１ライン目のように、ＬＥＤドライバ９０（ｗ１）についての点灯データが、「ＦＦＦＦ００００００００００００５５５５００００（ｈ）」であれば、ＬＥＤドライバ９０（ｗ１）の出力端子９６−１〜９６−４からは最大輝度「Ｆ」を発光させるための駆動電流を出力し、出力端子９６−５〜９６−１６及び９６−２１〜９６−２４は非発光（最低輝度）、出力端子９６−１７〜９６−２０は輝度「５」としての駆動電流を出力することを指定する情報となる。
ランプデータにはこのような点灯データが、各ＬＥＤドライバ９０（ｗ１〜ｗ４、ｂ１〜ｂ５）のそれぞれに対して設定されて、かつそれらが各ライン毎に設定されることで、時系列的に変化する所定の発光パターンが示されることになる。（図では点灯データは一部のみに例示した。空欄部分は図示を省略したもので、実際には点灯データが記述される）
【０１８７】
図２３Ｂにはマスクデータテーブルの例として、マスクデータ１〜５を示している。各マスクデータは、枠側の装飾ランプ２０ｗの駆動についてのマスクのための、盤側の装飾ランプ２０ｂの駆動についてのマスクのため、全体のマスクのため、センターケースのマスクのため、役物のマスクのためなどとして、必要なマスクパターンが記憶されている。
各マスクデータ１〜５は、それぞれ各ＬＥＤドライバ９０（ｗ１〜ｗ４、ｂ１〜ｂ５）の各出力端子９６−５〜９６−２４について、消灯を「０ｈ」、マスク無しを「Ｆｈ」で示すデータとされている。
例えばマスクデータ１についてみると、枠ドライバ部６１におけるＬＥＤドライバ９０（ｗ１〜ｗ４）については、「００００・・・・・００（ｈ）」と、各出力端子９６−５〜９６−２４について消灯が設定され、盤ドライバ部６２のＬＥＤドライバ９０（ｂ１〜ｂ５）については、「ＦＦＦＦ・・・・・ＦＦ（ｈ）」と、各出力端子９６−５〜９６−２４についてマスク無しが設定されている。つまり枠側の装飾ランプ２０ｗのみをマスクすることを指定するデータとなる。（なお、マスクデータ４，５はデータ値の図示を省略している）
【０１８８】
図２０のステップＳ７０６，Ｓ７０７では、このようなランプデータテーブル、マスクデータテーブルにおいて、処理中のランプチャネルｄｗＣＨｎに対応するアドレスを特定するものである。
続いてステップＳ７０８で演出制御ＣＰＵ２００は、ランプデータテーブルの該当ライン（現在対象のランプチャネルｄｗＣＨｎの実行ライン（offset）で示されるライン）のタイマ（frame）を取得し、これを変数Dtimeに代入する。
【０１８９】
ステップＳ７０９で演出制御ＣＰＵ２００は、上記ステップＳ７０６，Ｓ７０７で特定した該当の点灯データとマスクデータを展開し、ＬＥＤ駆動データを生成していく。この処理については後述するが、現在処理中のランプチャネルｄｗＣＨｎについての点灯データとマスクデータを、出力するＬＥＤ駆動データに反映させる処理となる。
【０１９０】
ステップＳ７１０ではランプチャネルｄｗＣＨｎの情報である実行時間（time）を＋１する。
ステップＳ７１１では変数Dtimeと実行時間（time）を比較する。変数Dtimeには現在実行中のラインのタイマ（frame）が代入されている。実行時間（time）はＬＥＤ駆動データ更新処理毎（１６ｍｓ毎）に上記ステップＳ７１０で＋１される。従ってDtime≦timeとなれば、現ラインの終了タイミングとなる。Dtime≦timeではなければ、まだ現在のラインの終了に至らないとしてステップＳ７１１からＳ７１９に進む。Dtime≦timeの場合は、現在のラインの終了としてステップＳ７１１からＳ７１２に進む。
演出制御ＣＰＵ２００はステップＳ７１２で実行時間（time）を０にリセットする。またステップＳ７１３で、実行ライン（offset）の値を＋１する。つまり次のラインが対象となるようにする。
ステップＳ７１４では演出制御ＣＰＵ２００は、実行ライン（offset）に対応するランプデータテーブル該当ラインのアドレスを特定する。そしてステップＳ７１５，Ｓ７１７で、そのラインに終了コード（D_DTEND）が記述されているか、ループコード（LMP_LP）が記述されているかを確認する。
終了コード（D_DTEND）が記述されていた場合は、ステップＳ７１６で、当該ランプチャネルｄｗＣＨｎの登録点灯ナンバを０に更新する。つまりワーク上で、当該ランプチャネルｄｗＣＨの登録に応じた処理が完了したことを示すようにする。
ループコード（LMP_LP）が記述されていた場合はステップＳ７１８で、実行ライン（offset）の値をループ先のアドレスに更新する。
【０１９１】
ステップＳ７１９では演出制御ＣＰＵ２００は、ランプチャネルｄｗＣＨｎの時点のＬＥＤ駆動データのチェックサムを算出する。またステップＳ７２０でバックアップ用データを保存する。
以上で、１つのランプチャネルｄｗＣＨｎを対象としたＬＥＤデータ更新を終える。ループ処理ＬＰ２として、以上の処理をランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５まで順次行うことになる。
【０１９２】
各ランプチャネルｄｗＣＨｎでのＬＥＤ出力データの更新は、ステップＳ７０９で行われるが、これは次のような処理となる。
点灯データとマスクデータを展開してＬＥＤ駆動データを生成する出力データバッファは、ランプデータテーブル及びマスクデータテーブルと同様に、各ＬＥＤドライバ９０（ｗ１〜ｗ４、ｂ１〜ｂ５）のそれぞれに対応して用意される。例えば１つのＬＥＤドライバ９０に対応する（４×２４）ビットの情報の領域が、例えば９個のＬＥＤドライバ９０（ｗ１〜ｗ４、ｂ１〜ｂ５）のそれぞれに対して設けられる。この場合、出力データバッファは９×（４×２４）ビットのバッファ領域とされる。
【０１９３】
このような出力データバッファに対して、ステップＳ７０９では、マスクデータをアンド（論理積）で展開し、点灯データをオア（論理和）で展開する処理が行われる。これがループ処理（ＬＰ２）により、各ランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５について順次ステップＳ７０９で行われる。
例えば図２１で示した時点ｔ０の場合、出力データバッファは、ランプデータ２のマスクデータ（図２２参照：マスクなし）がアンド展開され、ランプデータ２の３ライン目の点灯データがオア展開された状態の後、ランプデータ５のマスクデータ（図２２参照：センターケースマスク）がアンド展開され、ランプデータ５の２ライン目の点灯データがオア展開された状態となっている。
上述の通りマスクデータは０ｈ（＝００００）が消灯、Ｆｈ（＝１１１１）がマスクなしである。従ってマスクデータをアンドで展開するということは、その時点までの出力データバッファの値について、消灯（マスク）したいビットを「０」とし、マスクしないビットは変更しないということになる。
さらに点灯データをオアで展開するということは、処理中のランプチャネルｄｗＣＨの点灯データが、マスク後の出力データバッファに反映させるということになる。
この処理をランプチャネルｄｗＣＨ０〜ｄｗＣＨ１５について順次行うことで、高い番号のランプチャネルほど優先されたＬＥＤ駆動データが出力データバッファ上に形成されることになる。
【０１９４】
以上のようなＬＥＤデータ更新処理で生成されたＬＥＤ駆動データは、先の図９で説明した１ｍｓタイマ割込処理のステップＳ２０５（但し上述のケース１２〜１５の場合）で、実際に各ＬＥＤドライバ９０に出力され、これによってシナリオデータに応じたランプ演出動作が実現される。
【０１９５】
［４−７：音の登録処理］
続いて、図１５のステップＳ６３５として実行する音の登録処理について説明する。
この音の登録処理は、図１９Ｂに例示した音／モータサブシナリオテーブルの記述内容（サブシナリオデータ）に応じた情報を、図１７の音データ登録情報の音チャネルａＣＨに登録する処理となる。
【０１９６】
図２４は、音の登録処理を示している。
まず、演出制御ＣＰＵ２００はステップＳ８００で、音／モータサブシナリオテーブルに音データが存在するか否かを判別する。即ち、音／モータサブシナリオテーブルの当該サブシナリオ番号の該当ラインの記述情報として、ＢＧＭ／ＳＥ１／ＳＥ２／エラー音／音コントロールの何れかの情報が存在するか否かを判別する。
これらの音データが存在しない場合は処理を終える。
【０１９７】
一方、これら音データの何れかが存在する場合、演出制御ＣＰＵ２００は、ステップＳ８０１でＢＧＭか否かを判別する。音データがＢＧＭであった場合、演出制御ＣＰＵ２００はステップＳ８０２で音／モータサブシナリオテーブルの音データを音チャネルａＣＨ０にセットする。即ち、音／モータサブシナリオテーブルの当該サブシナリオ番号の該当ラインに記述されたＢＧＭの情報を、音データ登録情報における、当該ＢＧＭに対応づけられた音チャネルａＣＨとしての音チャネルａＣＨ０に登録する。
先に説明したように、音データがＢＧＭ、ＳＥ１、ＳＥ２、エラー音の場合、その記述内容（つまりシナリオデータ）としては少なくとも再生すべきフレーズのフレーズ番号とその１次ボリュームの情報と、ループ再生やステレオ再生の有無に関する情報とが含まれ、従ってこれらの情報が音データ登録情報に登録される。
なお、ＢＧＭ、ＳＥ１、ＳＥ２についてはステレオ再生が可能とされ、その場合は音／モータサブシナリオテーブルのＢＧＭ、ＳＥ１、ＳＥ２の情報でその指示が為される。例えばＢＧＭがステレオ再生される場合、音チャネルａＣＨ０のみでなく音チャネルａＣＨ１も使用される。この場合、これら音チャネルａＣＨ０、ａＣＨ１のうち、偶数チャネルである音チャネルａＣＨ０に、フレーズ番号（frzHi、frzLo）としてＢＧＭの情報に記述されたフレーズ番号が登録されると共に、ステレオ（frzSt）の情報として「１」が記述される。またループ再生をする場合には、ループ（frzLp）の情報として「１」が記述される。
【０１９８】
ステップＳ８０２でＢＧＭの音データをセットした場合、或いはステップＳ８０１で音データがＢＧＭでないとされた場合、演出制御ＣＰＵ２００はステップＳ８０３で音データがエラー音か否かを判別し、エラー音であった場合はステップＳ８０４で音／モータサブシナリオテーブルの音データを音チャネルａＣＨ１５にセットする。即ち、エラー音に対応する音チャネルａＣＨとしての音チャネルａＣＨ１５にサブシナリオデータの記述内容に応じた情報を登録する。
【０１９９】
ステップＳ８０４でエラー音の音データをセットした場合、或いはステップＳ８０３で音データがエラー音でないとされた場合、演出制御ＣＰＵ２００はステップＳ８０５で音データがＳＥ１か否かを判別し、ＳＥ１であった場合はステップＳ８０６でＳＥ１の設定処理を行う。
そして、ステップＳ８０６でＳＥ１の設定処理を実行した場合、或いはステップＳ８０５で音データがＳＥ１でないとされた場合、演出制御ＣＰＵ２００はステップＳ８０７で音データがＳＥ２か否かを判別し、ＳＥ２であった場合はステップＳ８０８でＳＥ２の設定処理を行う。
さらに、ステップＳ８０８でＳＥ２の設定処理を実行した場合、或いはステップＳ８０７で音データがＳＥ２でないとされた場合、演出制御ＣＰＵ２００はステップＳ８０９で音データが音コントロールか否かを判別し、音コントロールであった場合はステップＳ８１０で音コントロールの設定処理を行う。
ステップＳ８１０で音コントロールの設定処理を実行した場合、或いはステップＳ８０５で音データが音コントロールでないとされた場合、演出制御ＣＰＵ２００は図２４に示す処理を終える。
【０２００】
以下、上記のステップＳ８０６、Ｓ８０８、Ｓ８１０でそれぞれ実行するＳＥ１の設定処理、ＳＥ２の設定処理、音コントロールの設定処理の内容を個別に説明する。
【０２０１】
まず図２５により、ステップＳ８０６、Ｓ８０８でそれぞれ実行するＳＥ１の設定処理、ＳＥ２の設定処理の内容について説明する。
なお、これらＳＥ１の設定処理、ＳＥ２の設定処理の内容は、音データの登録対象とする音チャネルａＣＨ（対応音チャネルａＣＨ）が異なる以外は共通であるため、当該図２５の一図での説明とする。
【０２０２】
まず演出制御ＣＰＵ２００はステップＳ９０１で、対応音チャネルａＣＨの再生状態を取得する。前述のように本実施の形態では音の種別ごとに登録を行うべき音チャネルａＣＨの対応が定められており、ＳＥ１の場合は音チャネルａＣＨ２〜ａＣＨ９が、またＳＥ２の場合は音チャネルａＣＨ１０〜ａＣＨ１４がそれぞれ対応音チャネルａＣＨとなる。
従って、ステップＳ９０１の処理は、ＳＥ１の設定処理（Ｓ８０６）として実行される場合は音チャネルａＣＨ２〜ａＣＨ９の再生状態を取得する処理となり、ＳＥ２の設定処理（Ｓ８０８）として実行される場合は音チャネルａＣＨ１０〜ａＣＨ１４の再生状態を取得する処理となる。
各音チャネルａＣＨの再生状態の取得、即ちフレーズを再生中であるか否かの情報の取得は、音源ＩＣ５９に音チャネルａＣＨごとに設けられた再生状態情報格納レジスタの値を取得することで行う。
【０２０３】
次に、ステップＳ９０２では演出制御ＣＰＵ２００は、設定音チャネルａＣＨをスタート音チャネルａＣＨに設定する。ここで、設定音チャネルａＣＨとは、音データ登録の対象とする音チャネルａＣＨを意味する。また、スタート音チャネルａＣＨとは、対応音チャネルａＣＨのうち最もチャネル番号の小さい音チャネルａＣＨを意味し、ＳＥ１の場合はａＣＨ２、ＳＥ２の場合はａＣＨ１０が該当する。
以下のステップＳ９０３〜Ｓ９１１の処理により、スタート音チャネルａＣＨから順に空きチャネルを探索してＳＥの音データの登録を行うべく、ステップＳ９０２で設定音チャネルａＣＨをスタート音チャネルａＣＨに設定する。
【０２０４】
ステップＳ９０３では演出制御ＣＰＵ２００は、設定音チャネルａＣＨは再生中であるか否かを判別する。設定音チャネルａＣＨが再生中であれば、ステップＳ９０８で設定音チャネルａＣＨを＋１するとともに、ステップＳ９０９で設定音チャネルａＣＨがエンドチャネルより大であるか否かを判別する。エンドチャネルとは、対応音チャネルａＣＨのうちチャネル番号が最も大きい音チャネルａＣＨを意味し、従ってＳＥ１の場合は音チャネルａＣＨ９より大であるか否か、ＳＥ２の場合は音チャネルａＣＨ１４より大であるか否かをそれぞれ判別することになる。
設定音チャネルａＣＨがエンドチャネルより大である場合は、対応音チャネルａＣＨに空きがないことから処理を終了する。
一方、設定音チャネルａＣＨがエンドチャネルより大でない場合はステップＳ９０３に戻る（つまり次の音チャネルａＣＨについて再生中か否かの判別が行われる）。
【０２０５】
ステップＳ９０３で設定音チャネルａＣＨは再生中でないとされた場合、演出制御ＣＰＵ２００はステップＳ９０４に進み、設定音チャネルａＣＨのワークに音データがないか否かを判別する。
設定音チャネルａＣＨに音データがある、つまり設定音チャネルａＣＨは空きではないとされた場合、演出制御ＣＰＵ２００はステップＳ９０８に進む。つまりこれにより、対応音チャネルａＣＨ内における次の空きチャネルを探索するようにされる。
【０２０６】
一方、設定音チャネルａＣＨに音データがない、つまり設定音チャネルａＣＨが空きであるとされた場合、演出制御ＣＰＵ２００はステップＳ９０５に進み、ステレオ要求があるか否かを判別する。即ち、テーブルのＳＥの情報中におけるステレオ再生か否かを表す情報を参照して、当該ＳＥの情報が、ステレオ再生の要求を伴うものであるか否かを判別する。なお、前述のようにステレオ再生を要求するシナリオデータには、ＬｃｈとＲｃｈの個別のフレーズ番号は記述されず、共通の１つのフレーズ番号が記述されている。
【０２０７】
ステレオ要求があった場合、演出制御ＣＰＵ２００はステップＳ９０６に進み、設定音チャネルａＣＨが偶数チャネルであるか否かを判別する。設定音チャネルａＣＨが偶数チャネルでなければ、演出制御ＣＰＵ２００はステップＳ９０８に進み、設定音チャネルａＣＨを＋１する。即ち、次の音チャネルａＣＨ以降で空きチャネルを探索する。
前述のように本例では、ステレオ再生は偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１とを使用する。このためステレオ再生を要求するシナリオデータに応じては、連続した偶数・奇数の空きチャネルを探索することを行う。そこでステップＳ９０６で設定音チャネルａＣＨが偶数チャネルでなければ、次の音チャネルａＣＨ以降で空きチャネルを探索するようにしている。
またステップＳ９０６で設定音チャネルａＣＨが偶数チャネルであれば、演出制御ＣＰＵ２００はステップＳ９０７に進み、設定音チャネルａＣＨの次の音チャネルａＣＨも空きチャネルであるか否か（再生中でないかも含めて空きチャネルであるか否か）を判別する。
設定音チャネルａＣＨの次の音チャネルａＣＨが空きチャネルでなければ、ステップＳ９０８に進む。つまり、対応音チャネルａＣＨ内での次の空きチャネルを探索する。
設定音チャネルａＣＨの次の音チャネルａＣＨが空きチャネルであれば、連続する偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１とが使用できることになる。そこでステップＳ９１１に進んで、テーブルの音データを設定音チャネルａＣＨに対応したワークの領域にセットし、処理を終了する。本実施の形態では、連続する偶数、奇数の音チャネル（ａＣＨｎ、ａＣＨｎ＋１）のうち、偶数の音チャネルａＣＨｎのみに音データをセットする。
【０２０８】
ステップＳ９０５でステレオ要求がないとされた場合、つまりモノラル要求の場合は、演出制御ＣＰＵ２００はステップＳ９１０に進み、現在の設定音チャネルａＣＨが偶数チャネルであるか否かを確認する。偶数チャネルであれば、ステップＳ９１１に進んで、テーブルの音データを設定音チャネルａＣＨに対応したワークの領域にセットして処理を終了する。
ところが奇数チャネルである場合は、上記のようにステレオ使用されている２つの音チャネル（ａＣＨｎ、ａＣＨｎ＋１）のうちの奇数チャネルである可能性がある。ステレオ使用される奇数チャネルには音データをセットしないため、上記ステップＳ９０４で空きチャネルと判断されることから、ステレオ使用にかかる音チャネルの確認が必要となる。
そこでステップＳ９１０で偶数チャネルではないと判断された場合、ステップＳ９１２に進んで、１つ前の偶数チャネルがモノラル再生中であるか否かを確認する。
もし１つ前の偶数チャネルがステレオ再生中であれば、現在の設定音チャネルａＣＨは使用できないため、ステップＳ９０８に進む。
１つ前の偶数チャネルがモノラル再生中であれば、ステップＳ９１１に進み、テーブルの音データを設定音チャネルａＣＨに対応したワークの領域にセットして処理を終了する。
【０２０９】
以上のＳＥの設定処理によって、サブシナリオテーブルに記述されたＳＥ１又はＳＥ２の音データが音データ登録情報における対応音チャネルａＣＨのうちの空きチャネルに登録される。
また、当該ＳＥ１又はＳＥ２の情報がフレーズのステレオ再生を要求するものであった場合は、音源ＩＣ５９がステレオ再生に偶数チャネルとその次の奇数チャネルとを使用することを要求する場合に対応して、対応音チャネルａＣＨ内における偶数チャネルとその次の奇数チャネルを用いるようにし、偶数チャネルに音データを登録できる。つまりこれにより、音源ＩＣ５９の仕様に応じた適切な情報登録を行うことができる。
【０２１０】
続いて、図２４のステップＳ８１０として実行する音コントロールの設定処理について図２６〜図２８を参照して説明する。
図２６は、ステップＳ８１０の音コントロールの設定処理を示している。
まず、演出制御ＣＰＵ２００はステップＳ１００１で、音コントロールの情報の上位１バイトの値を確認する。
【０２１１】
図２７は、音コントロールの情報のデータ構造例を示している。
本実施の形態の場合、音コントロールの情報は４バイトで構成され、その上位１バイトに音のコントロール内容を表すための情報（コントロール種別の情報）が記述され、下位３バイトに音のコントロール対象とする音チャネルａＣＨを指定するための情報（コントロール対象の情報）が記述される。
この上位１バイトのコントロール種別の情報によっては、フェードイン再生やフェードアウト再生、及び２次ボリュームの変化指示が可能とされる。
【０２１２】
図のように上位１バイトで表されるコントロール種別の情報としては、０ｘ２０〜０ｘ７０までがフェード系の情報とされ、０ｘ８０以上が２次ボリュームの変化指示の情報とされる。
具体的に、０ｘ２０〜０ｘ７０までのフェード系の情報としては、０ｘ２５（SFO1M）が「フェードアウトゆっくり 消音」、０ｘ３５（SFO2M）が「フェードアウト普通 消音」、０ｘ４５（SFO3M）が「フェードアウトはやく 消音」、０ｘ２０（SFO1）が「フェードアウトゆっくり 音小」、０ｘ３０（SFO2）が「フェードアウト普通 音小」、０ｘ４０（SFO3）が「フェードアウトはやく 音小」、０ｘ５０（SFI1）が「フェードインゆっくり」、０ｘ６０（SFI2）が「フェードイン普通」、０ｘ７０（SFI3）が「フェードインはやく」を表す。
ここで、「ゆっくり」「普通」「はやく」は、フェード制御におけるボリュームの遷移速度（speed）を意味する。またフェードアウトについての「消音」と「音小」の違いは、遷移後のボリュームが「０」か否かである。
【０２１３】
また、０ｘ８０以上の２次ボリュームの変化指示の情報としては、０ｘ８０（SVO8）、０ｘ８１（SVO0）、０ｘ８２（SVO2）、０ｘ８３（SVO4）がそれぞれ２次ボリューム＝０ｘ８０（ＭＡＸ）、０ｘ００（０）、０ｘ２０、０ｘ４０を表す。そして、０ｘ９０（SVO8E）はエラー以外の全ての音チャネルａＣＨ（ａＣＨ０〜ａＣＨ１４）の２次ボリューム＝０ｘ８０を表し、０ｘ９１（SVO0E）はエラー以外の全ての音チャネルａＣＨの２次ボリューム＝０ｘ００を表す。
【０２１４】
また、音コントロールの情報の下位３バイトは、０ｘ１１００００（BG_T）が音チャネルａＣＨ０（ＢＧＭ）、０ｘ２２００００（YK1_T）が音チャネルａＣＨ２〜ａＣＨ９（ＳＥ１）、０ｘ３３００００（YK2_T）が音チャネルａＣＨ１０〜ａＣＨ１４（ＳＥ２）、０ｘ４４００００（YKA_T）が音チャネルａＣＨ２〜ａＣＨ１４（ＳＥ１＋ＳＥ２＝全ＳＥ）、０ｘ００−−−−（その他）が「−−−−」が示すフレーズを再生している音チャネルａＣＨを表す。
【０２１５】
図２６のステップＳ１００１では、演出制御ＣＰＵ２００は、上記のデータ構造とされる音コントロールの情報の上位１バイトの値の確認処理として、上位１バイトの値が８０ｈ（０ｘ８０）未満、８０ｈ以上９０ｈ未満、９０ｈ以上の何れであるかを確認する。これは、コントロール種別がフェード系、単純な２次ボリューム変化指示、エラー以外の全音チャネルａＣＨの指定を伴う２次ボリューム変化指示の何れかであるかを確認していることに相当する。
【０２１６】
８０ｈ以上９０ｈ未満の場合、演出制御ＣＰＵ２００はステップＳ１００２で、音／モータサブシナリオテーブル（音コントロールの情報）の下位３バイトが示す音チャネルａＣＨの２次ボリュームを上位１バイトが示すボリューム値にセットして処理を終了する。
また、９０ｈ以上である場合、演出制御ＣＰＵ２００はステップＳ１００３で音チャネルａＣＨ０〜ａＣＨ１４の２次ボリュームを上位１バイトが示すボリューム値にセットして処理を終了する。
【０２１７】
一方、上位１バイトが８０ｈ未満であった場合、演出制御ＣＰＵ２００はステップＳ１００４で上位１バイトの値に応じたコントロールデータに変換する処理を行った上で、ステップＳ１００５で音／モータサブシナリオテーブル（音コントロールの情報）の下位３バイトが示す音チャネルａＣＨに対応するワーク領域に変換後のコントロールデータをセットし、処理を終了する。
【０２１８】
ここで、上位１バイトが８０ｈ未満のフェード系のコントロール情報は、「フェードアウトゆっくり 消音」や「フェードインはやく」など、そのコントロール種別の違いのみを識別するための情報とされている。そこで、これらの上位１バイトのコントロール種別の情報を上記のステップＳ１００４で音源ＩＣ５９が対応動作を実行可能な情報に変換する。
【０２１９】
図２８Ａは、図２６のステップＳ１００４の変換処理の内容を示している。
まず、演出制御ＣＰＵ２００はステップＳ１１０１で、変換テーブルから上位１バイトの値に対応する２バイトの値を取得する。そして、ステップＳ１１０２で、下位３バイトの値に基づき２バイトの値を取得する。
その上で、ステップＳ１１０３では、これらステップＳ１１０１とＳ１１０２とで取得した２バイトの値を連結する。
【０２２０】
図２８Ｂは、上記のステップＳ１１０１、Ｓ１１０２の取得処理についての説明図である。
まず、ステップＳ１１０１の取得処理では、図のようにフェード系の上位２バイトの値（０ｘ２５〜０ｘ７０）ごとにその対応値（２バイト）を格納した変換テーブルを用いる。演出制御ＣＰＵ２００は該変換テーブルを参照して、上位１バイトの値に対応する２バイトの値を取得する。
そして、ステップＳ１１０２の取得処理では、音コントロールの下位３バイトの値に基づいて、コントロール対象がＳＥ１、ＳＥ２以外（つまりａＣＨ２〜ａＣＨ１４以外：予告音以外）の場合と、ＳＥ１、ＳＥ２の場合とで、それぞれ図のような２バイトの値を取得する。すなわち、ＳＥ１、ＳＥ２以外の場合は０ｘＤ０００、ＳＥ１、ＳＥ２の場合は０ｘＣ０００である。
なお、後述もするが、このようにコントロール対象がＳＥ１、ＳＥ２の何れかとされる場合とそうでない場合とで取得値を異ならせているのは、ＳＥ１とＳＥ２のみフェード制御がモノラル指定とされているからである。
このように得られた各２バイトの値をステップＳ１１０３で連結して、４バイトのコントロールデータを得る。
【０２２１】
図２８Ｃは、音コントロールのフェード系の情報と、その情報内容（値）に応じて図２８Ａの変換処理で得られるコントロールデータとの対応関係を例示している。
ここで、本実施の形態では、図２８Ａの変換処理で得られる計４バイトのコントロールデータを、そのまま音データ登録情報に設定（登録）する。この意味で図中では、図２８Ａの変換処理で得られるコントロールデータのことを「音データ登録情報に設定するデータ」と示している。
この図２８Ｃによると、フェード系の音コントロールの情報として例えば上位１バイト＝SFO1M（フェードアウトゆっくり 消音）、下位３バイト＝BG_Tとされた情報については、上記の変換処理によって「０ｘ２０００Ｄ０００」というコントロールデータに変換されることが分かる。また、例えば上位１バイト＝SFO3M（フェードアウトはやく 消音）、下位３バイト＝YK1_Tとされた音コントロールの情報については、「０ｘＦＦ００Ｃ０００」というコントロールデータに変換されている。
【０２２２】
図１７を参照すると、音データ登録情報では、１バイト目が「１次ボリューム遷移量」、２バイト目が「１次ボリューム」、３バイト目が「遷移量変化」「ボリューム変化」「フレーズ変化」「ステレオ」「ループ」（ここまで各１ビット）及び「フレーズ番号ｈｉ」（３ビット）、４バイト目が「フレーズ番号ｌｏｗ」とされている。
前述のように本実施の形態では変換後のコントロールデータをそのまま音データ登録情報にセットするので、例えば上記のSFO1M＋BG_Tの音コントロール情報のコントロールデータ（０ｘ２０００Ｄ０００）によると、音データ登録情報の登録内容は、
「１次ボリューム遷移量」＝「０ｘ２０」
「１次ボリューム」＝「０ｘ００」
「遷移量変化」＝「１」
「ボリューム変化」＝「１」
「フレーズ変化」＝「０」
「ステレオ」＝「１」
「ループ」＝「０」
「フレーズ番号ｈｉ」＝「０００」
「フレーズ番号ｌｏｗ」＝「０ｘ００」
となる。
また、例えば上記のSFO3M＋YK1_Tの音コントロール情報のコントロールデータ（０ｘＦＦ００Ｃ０００）によると、音データ登録情報の登録内容は、
「１次ボリューム遷移量」＝「０ｘＦＦ」
「１次ボリューム」＝「０ｘ００」
「遷移量変化」＝「１」
「ボリューム変化」＝「１」
「フレーズ変化」＝「０」
「ステレオ」＝「０」
「ループ」＝「０」
「フレーズ番号ｈｉ」＝「０００」
「フレーズ番号ｌｏｗ」＝「０ｘ００」
となる。
【０２２３】
なお、前者の例のようにコントロール対象がＳＥ１，ＳＥ２以外の場合には、「ステレオ」に「１」（ステレオ）がセットされ、後者の例のようにコントロール対象がＳＥ１（ＳＥ２も同様）の場合には、「ステレオ」に「０」（モノラル）がセットされることになる。この点からも理解されるように、前述したＳＥのフェード制御についてのモノラル指定が実現される。
【０２２４】
上記のように本実施の形態では、フェード系の音コントロールの情報について、そのコントロール種別の情報として単純にフェード制御の違いのみを表す情報を記述しておき、これを上記の変換処理により変換して音データ登録情報に登録可能なデータ（つまりは音源ＩＣ５９がそのフェード制御の実行に要するデータ）に変換するものとしている。
ここで、「フェードアウトゆっくり 消音」「フェードインはやく」等のフェード制御は、時間経過と共にボリュームを徐々に変化させるようなサブシナリオデータを用意しておくことで実現することも考えられるが、その場合は時間ごとのサブシナリオデータを保持させておくことになり、その分メモリ容量を要することになる。これに対し上記のような変換処理を行う本実施の形態によれば、サブシナリオデータとしては単に「フェードアウトゆっくり 消音」「フェードインはやく」等のフェード制御の違いのみを表す情報を記述すればよく、一種のフェード制御に要するサブシナリオデータの数を１つに削減でき、結果、サブシナリオデータを保持するためのメモリ容量を削減できる。
【０２２５】
また、上記のような変換処理を行うものとすれば、仮に音源ＩＣ５９の仕様が変更されたとしても、図２８Ｂに示した変換テーブルの内容を変更するのみで対応可能であり、サブシナリオデータの書き替えやプログラムの書き換えは行わずに済む。従って、音源ＩＣ５９の仕様変更に柔軟に対応できると共に、音源ＩＣ５９の仕様変更に対応するための作業負担も軽減できる。
また、フェードイン／アウトとして具体的なボリューム遷移量などを変更するとしたときにも、図２８Ｂに示した変換テーブルの内容を変更するだけでよく、同様にサブシナリオデータの書き替えやプログラムの書き換えは行わずに済み、変更に係る作業負担を軽減できる。
【０２２６】
また、本実施の形態では、フェード制御に係るボリュームの遷移速度指示情報（１次ボリューム遷移量）に関して、該遷移速度指示情報により指示可能な遷移速度の階調を、音源ＩＣ５９で実現可能な遷移速度の階調よりも少ないものとしている。具体的に、本例において音源ＩＣ５９に出力・設定されるボリューム遷移速度の情報は８ビット（１バイト）であり、従って音源ＩＣ５９で実現可能な遷移速度の階調は２５６階調であるのに対し、サブシナリオデータの音コントロールの情報で指定可能な遷移速度の階調は、前述のように「早く」「ふつう」「ゆっくり」の３階調のみとしている。
このようにサブシナリオデータ（演出進行データ）に記述するボリューム遷移速度指示情報の階調を音源ＩＣ５９で実現可能な遷移速度の階調よりも少なくしていることで、演出進行データに記述するボリューム遷移速度指示情報のビット数をその分少なくできる。従って、演出進行データのデータ量を削減でき、演出進行データの保持に係るメモリ容量の削減を図ることができる。
【０２２７】
なお、ボリューム遷移速度指示情報が指示可能な階調は音源ＩＣ５９で実現可能な遷移速度の階調よりも少なければよく、必ずしも上記で例示した３階調に限定されるべきではない。
【０２２８】
また、上記のように音コントロールの情報には、フェードインやフェードアウトの指示情報が記述されるが、この音コントロールの情報は、前述のようにサブシナリオテーブルにおいて時間の情報と対応づけて格納された情報である。また、サブシナリオテーブルは、このような音コントロールの情報のみでなく、時間に対応して再生すべきフレーズの情報も格納されたものとなる（図１９Ｂの「ＢＧＭ」「ＳＥ１」「ＳＥ２」「エラー音」を参照）。
ここで、この点からも理解されるように、本実施の形態のサブシナリオテーブルは、時間に対応して「出力すべき音を指定する情報」（フレーズ再生指示情報）と「再生中のフレーズのフェードイン及び／又はフェードアウトを指示するための情報」（音制御情報）とを格納した情報とされる。
このようなサブシナリオテーブルの情報に基づき音に関する演出制御を実行する本実施の形態によれば、フレーズのフェードインやフェードアウトは、サブシナリオテーブル（演出進行データ）に対して前記音制御情報を記述しておくことで実現される。フェードインやフェードアウトの制御は時間経過に応じて音量を変化させるものであるため、演出進行データとして時間ごとにボリュームの変化指示情報を記述しておくことも考えられるが、その場合には演出進行データ量が増大傾向となってメモリ容量の増大化を招く。また、演出進行データに基づく処理も増大傾向となるため制御負荷の増大化を招く。
これに対し、上記のように演出進行データに対してフェードインやフェードアウトを指示するための音制御情報を記述しておくことでフレーズのフェード制御を実現する本実施の形態によれば、演出進行データ量を削減でき、また制御負荷を低減できる。
【０２２９】
また、本例では、フェードイン、フェードアウトを指示する音制御情報が、ボリュームの遷移速度のみでなく遷移後のボリュームの指示情報も含むものとしたが、当該音制御情報として、これら遷移速度指示情報、遷移後のボリューム指示情報の双方を含むことは必須ではない。即ち、少なくともそれらの情報の何れか一方を含む情報とすることができる。例えば、遷移後のボリュームが「０」や「ＭＡＸ」などの所定値に固定されている音源ＩＣ５９を用いる場合には、遷移後のボリューム指示情報は不要であるし、遷移速度が所定値に固定されている音源ＩＣ５９を用いる場合は遷移速度の指示情報は不要である。
【０２３０】
ここで、図２９により、フェード系の音コントロールの情報の使用例について説明しておく。
この図２９の例では、音／モータサブシナリオテーブルにおける音／モータサブシナリオ番号００１のサブシナリオデータとして、時間（time）＝０でＢＧＭを「フェードアウトはやく 音小」（SFO3＋BG_T）の態様でフェードさせ、時間＝０でＳＥ１のフレーズ０００１をボリューム０ｘ８０での再生を開始させ、時間＝２０００でＳＥ１のフレーズ０００２をボリューム０ｘ８０でのステレオ再生を開始させ、時間＝５０００でＢＧＭを「フェードインゆっくり」（SFI1＋BG_T）の態様でフェードさせる情報が記述された場合を例示している。
なお図中にも記しているが、フレーズの終了タイミングはそのフレーズとしての音データが終了する時点となる。
【０２３１】
図１４、図１５及び図２４〜図２８で説明したシナリオ更新処理、サブシナリオ更新処理、音データ登録処理が実行されることで、先ずは時間＝０のラインに記述された音コントロールの情報（SFO3＋BG_T）に応じたコントロールデータ、及び時間＝０のラインに記述されたＳＥ１の情報（０ｘ００８０６００１）が音データ登録情報にセットされる。なお確認のため述べておくと、図１４、図１５、及び図２４に示した処理によれば、これら同じ時間＝０のラインに記述されたデータは、音データ登録情報に対して一度にセットされる（図１５の「音の登録処理（Ｓ６３５）」で一度にセットされる）。
図８のメイン処理における音再生処理（Ｓ１１１）によって、このように音データ登録情報にセットされた情報が順次音源ＩＣ５９に出力されて、サブシナリオデータに応じた音出力が実現される。これにより、図中の下段に示すようなＢＧＭのフェードアウトとフレーズ０００１の再生が実現される。
【０２３２】
また、時間＝２０００となることに応じて、音データ登録情報に当該時間＝２０００のラインに記述されたＳＥ２の情報（０ｘ００８０７００２）が登録され、この登録情報がステップＳ１１１の音再生処理で音源ＩＣ５９に順次出力されることで、図中の下段に示すような時間＝２０００からのフレーズ０００２の再生が開始される。
さらに、時間５０００となることに応じて、音データ登録情報に当該時間＝５０００のラインに記述された音コントロールの情報（SFI1＋BG_T）に応じたコントロールデータが登録され、この登録情報がステップＳ１１１の音再生処理で音源ＩＣ５９に順次出力されることで、図中に示すような時間＝５０００におけるＢＧＭのフェードインが実現される。
【０２３３】
ここで、音コントロールの情報によっては、図２７を参照して説明したように、指定の音チャネルａＣＨで再生されるフレーズの２次ボリュームの変化指示も行うことができる。
図３０を参照して、２次ボリュームの変化指示によるボリューム制御例を説明する。
図３０は、２次ボリュームにより所定種別の音を消音させる制御例についての説明図であり、具体的には、ＢＧＭの再生中にＳＥ１のフレーズ００１０を再生するシナリオが登録された場合に、２次ボリュームによりＢＧＭを消音させる例を示している。
この例の場合には、サブシナリオテーブルの時間＝０のラインが２つ存在しており、一方の時間＝０のラインには音コントロールの情報として「SVO0＋BG_T」（図２７を参照）が記述され、他方の時間＝０のラインにはＳＥ１の情報として「０ｘ００８０７００Ａ」（フレーズ００１０を１次ボリューム０ｘ８０でステレオ再生）が記述されている。
なお、このように時間（time）を同じとするラインが２つ存在する場合は、先の図１４、図１５、及び図２４に示した処理によりそれらのラインの記述情報が順次音データ登録情報に登録されることになる。これらの登録情報に応じ、時間＝０に対応して図のようなＢＧＭの２次ボリュームによる消音と、ＳＥ１としてのフレーズ００１０の再生とが開始される。
また、この図の例では時間＝５０００のラインに音コントロールの情報として「SVO8＋BG_T」（２次ボリューム＝０ｘ８０）が記述され、これにより、図のように時間＝５０００以降はＢＧＭの消音状態が解除される。
【０２３４】
このように音コントロールの情報で指定音チャネルａＣＨの２次ボリュームを変化させることを可能とした本実施の形態によれば、或る種別の音を再生中であったときに後からプライオリティの高い別の音を再生すべきとされた場合において、該再生中の音を再生停止させる指示を行うことなく、簡易に高プライオリティの音のみが再生出力される状態を得ることができる。従って、音のプライオリティ制御を簡易に実現できる。
【０２３５】
ここで、上記ではＢＧＭと他の音についてのプライオリティ制御について例示したが、本実施の形態では、ＳＥとしての音をＳＥ１とＳＥ２とに分類している、即ち、ＳＥ１とＳＥ２とを別々の音の種別として扱うものとしているので、これらＳＥ１とＳＥ２についても、同様に音コントロールの情報による２次ボリュームの制御によって音のプライオリティ制御を実現できる。
前述のように、これらＳＥ１とＳＥ２の分類は、その演出の出現頻度の別としている。従って、出現頻度の高い（つまり信頼度の低い）ＳＥ１の音を再生中に、後から出現頻度のより低い（信頼度のより高い）ＳＥ２の音を再生すべきとされた場合において、図３０の例と同様に音コントロールの情報による２次ボリュームの制御を行うことで、再生中のＳＥ１を消音させて、ＳＥ２の方が優先的に出力されるようにすることができる。
【０２３６】
また、そもそも１次ボリュームのみでなく２次ボリュームによる音量制御を可能としたことで、図３０のような消音制御が適正に実現されるものとなる。
ここで、１次ボリュームのみを用いて、図３０のようなＢＧＭの消音制御を実現しようとした場合には、音コントロールの情報により、例えば遷移速度を最速としたフェードアウトを行うことにより、再生中のＢＧＭを消音させることが考えられる。
しかしながら、先に説明した通り、１次ボリュームは、フレーズの再生開始時にフレーズ番号と共に音源ＩＣ５９にセットされるボリューム値となる。このため、上記のように音コントロールの情報を用いた１次ボリュームによる消音を行ったとしても、仮にその後、図３０中の「Ｘ」のようなタイミング（ＢＧＭを元音量に戻すべき時点よりも前のタイミング）で他のシナリオにより新たにＢＧＭの再生開始が指示された場合には、該「Ｘ」の時点でＢＧＭのボリュームは０ｘ００以外の所要の音量とされてしまい、ＢＧＭが放音されてしまう。
これに対し、２次ボリュームによる音量制御も可能とした本実施の形態によれば、図３０で説明した通り、一度音コントロールの情報によりＢＧＭの２次ボリュームを０ｘ００に制御しておけば、該２次ボリュームを復帰させる音コントロールが行われるまでの間に新たなＢＧＭの再生が開始されて１次ボリュームが０ｘ００以外の音量に設定されても、出力音量としては０ｘ００が維持されるようにできる。これにより、図３０に示したような音量制御を適正に実現することができる。
【０２３７】
また、１次ボリュームのみでなく２次ボリュームによる音量制御を可能としたことによっては、音量制御に係る制御負荷の軽減が図られる。
すなわち、これまでの説明からも理解されるように１次ボリュームはシナリオデータ（演出進行データ）に記述されるボリューム情報であるので、仮に１次ボリュームのみで音量制御を行うとすると、音量制御に必ずシナリオデータの登録処理が必要とされ、その分、演出制御ＣＰＵ２００の負荷が増大する傾向となってしまう。
これに対し、１次ボリュームのみでなく２次ボリュームによる音量制御を可能とした本実施の形態によれば、音量制御は演出進行データに依らず行うことができるため、１次ボリュームのみを用いた音量制御、即ち演出進行データのみに基づく音量制御を行う場合との比較で演出進行データに基づく処理を削減できる。従って、制御負荷の低減が図られる。また、保持すべき演出進行データの量も少なくできるため、メモリ容量の削減も図られる。
【０２３８】
特に、本実施の形態では、操作に応じた音量制御（例えば前述した遊技機１裏側のボリュームスイッチの操作に応じた音量制御）についても２次ボリュームを用いて行うものとしている。このことで、操作に応じた音量制御に係る制御負荷の軽減も図られる。
すなわち、操作に応じた音量制御を１次ボリュームのみを用いて行うとした場合は、操作に応じて毎回シナリオによって１次ボリュームをコントロールすることになるので、制御負荷の増大化を助長するが、上記のように操作に応じた音量制御も２次ボリュームを用いて行うものとした本実施の形態によれば、操作に応じた音量制御にあたりシナリオデータに基づく処理を省略でき、この点でも制御負荷の軽減を図ることができる。
【０２３９】
［４−８：音再生処理］
続いて、図８のステップＳ１１１として実行する音再生処理について説明する。
前述のように音再生処理は、音データ登録情報としてワークにセットされた情報に基づき音源ＩＣ５９に音出力を実行させる処理となる。
【０２４０】
図３１は、音再生処理についての説明図である。
まず、演出制御ＣＰＵ２００は、ループ処理ＬＰ３として、音データ登録情報の音チャネルａＣＨ０〜ａＣＨ１５のそれぞれについてステップＳ１２００〜Ｓ１２２０の処理を行う。以下、処理対象とする音チャネルａＣＨを「ａＣＨｎ」と表記して説明する。
【０２４１】
ステップＳ１２００では演出制御ＣＰＵ２００は、ボリュームＭＡＸエラーフラグを確認する。なお、ボリュームＭＡＸエラーフラグは、先のステップＳ１０６のエラー処理（図８参照）で設定されるフラグであり、前述のように０ｘ５ＡがボリュームＭＡＸエラーが発生中である旨を、また０ｘ００が発生中ではない旨をそれぞれ表す。
ボリュームＭＡＸエラーフラグが０ｘ５Ａであれば、ステップＳ１２２１に進みワークの２次ボリュームについて音チャネルａＣＨ０〜１４（エラー音以外）＝０ｘ００、音チャネルａＣＨ１５（エラー音）＝０ｘ８０に書き換えを行い、ステップＳ１２０１に進む。
一方、ボリュームＭＡＸエラーフラグが０ｘ００であれば、ステップＳ１２２１によるワークの２次ボリュームの書き換えは行わずにステップＳ１２０１に進む。
【０２４２】
ステップＳ１２０１では演出制御ＣＰＵ２００は、対象の音チャネルａＣＨｎに２次ボリュームの値を出力する。即ち、音データ登録情報の音チャネルａＣＨにセットされている２次ボリュームの値を、音源ＩＣ５９における音チャネルａＣＨｎ用の２次ボリュームレジスタに出力する。
前述のように２次ボリュームの値は、通常はボリュームスイッチの状態に応じた値が音データ登録情報の全音チャネルａＣＨにセットされる。或いは、シナリオとして、或る音チャネルａＣＨの２次ボリュームの変化を指示する音コントロールの情報が記述されていた場合には、該音コントロールの情報に記述された２次ボリュームの値が、音データ登録情報における該音コントロールの情報で指示された音チャネルａＣＨにセットされている。また、ボリュームＭＡＸエラーが発生中であれば、上記のステップＳ１２２１の処理によって音チャネルａＣＨ０〜１４には「０」が、音チャネルａＣＨ１５にはＭＡＸ値がセットされている。
【０２４３】
次いで、演出制御ＣＰＵ２００はステップＳ１２０２では、ＳＵＢボリューム０，１に値「０ｘ００」を出力する。即ち、音チャネルａＣＨｎの「ＳＵＢボリューム０」「ＳＵＢボリューム１」の各レジスタに値「０ｘ００」を出力する。前述のように本実施の形態ではＳＵＢボリュームは使用しないものである。
【０２４４】
ステップＳ１２０３では演出制御ＣＰＵ２００は、ワークの音チャネルａＣＨｎに音データ（２次ボリューム以外の音データ）があるか否かを判別する。音データがなければ当該音チャネルａＣＨｎについての処理は終了となる。
【０２４５】
一方、音データがあった場合は、ステップＳ１２０４に進んで差し替え要求であるか否かを判別する。
ここで、本実施の形態では、図１７に示した音データ登録情報の上位２バイト（「１次ボリューム遷移量」「１次ボリューム」）の値を用いて、フレーズの差し替え要求が可能とされている。具体的には、音データ登録情報の上位２バイトが所定値（例えば本例では「０ｘ５Ａ５Ａ」であるとする）であれば、それをフレーズの差し替え要求と解釈するものである。
ステップＳ１２０４では、音チャネルａＣＨｎにセットされたデータの上位２バイトが所定値「０ｘ５Ａ５Ａ」であるか否かを判別することで、フレーズの差し替え要求であるか否かを判別する。
【０２４６】
差し替え要求である場合、演出制御ＣＰＵ２００はステップＳ１２０５でフレーズ番号の書き換えを行い、ステップＳ１２０６に進む。ステップＳ１２０５におけるフレーズ番号の書き換えは、具体的には、当該音チャネルａＣＨに対応するワーク上に、フレーズ番号ｈｉ（frzHi）、フレーズ番号ｌｏｗ（frzLo）、１次ボリューム（frzVl）、フレーズ変化（rsv0）、ステレオ（frzSt）等をセットする。
一方、差し替え要求でなければ、ステップＳ１２０５を経由せずステップＳ１２０６に進む。
【０２４７】
ステップＳ１２０６では演出制御ＣＰＵ２００は、遷移量変化要求又はボリューム変化要求があるか否かを判別する。即ち、音チャネルａＣＨｎの遷移量変化rsv2又はボリューム変化rsv1の何れかに「１」がセットされているか否かを判別する。
ここで、音データ登録情報における遷移量変化rsv2の値は、フェード系の音コントロールの情報に基づいて音の登録処理（Ｓ６３５）が実行された場合には「１」がセットされ、フェード系以外（つまり２次ボリュームの変化指示）の音コントロールの情報やＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報に基づいて音の登録処理が実行された場合には「０」がセットされていることになる。
一方、ボリューム変化rsv1（１次ボリュームを変化させるか否か）は、フェード系の音コントロールの情報に基づいて音の登録処理が実行された場合と共に、ＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報やフェード系の音コントロールの情報に基づいて音の登録処理が実行された場合に「１」がセットされる。そして、フェード系以外の音コントロールの情報に基づいて音の登録処理が実行された場合には「０」がセットされる。
これらの点からも理解されるように、フェード系の音コントロールの情報に基づく音データが登録されている場合のみでなく、ＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報に基づく音データが登録されている場合にも、以降のステップＳ１２０９又はＳ１２１１により１次ボリューム遷移量と１次ボリュームの情報が音源ＩＣ５９に対して出力されることになる。
【０２４８】
遷移量変化要求又はボリューム変化要求がある場合、演出制御ＣＰＵ２００はステップＳ１２０７に進み、音チャネルａＣＨｎがステレオ再生であるか否か、つまりはステレオfrzStの値が「１」であるか否かを判別する。
音チャネルａＣＨｎがステレオ再生でなければ、ステップＳ１２０９に進んで音源ＩＣ５９の音チャネルａＣＨｎに１次ボリューム遷移量と１次ボリュームを出力し、さらにステップＳ１２１０で音源ＩＣ５９の音チャネルａＣＨｎにパンポットの出力を行って、ステップＳ１２１３に進む。
ここで、パンポットの出力としては、音源ＩＣ５９における音チャネルａＣＨｎ用の「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」の各レジスタにそれぞれ値を出力する。例えばモノラル再生の場合は、ステップＳ１２１０では左右パンポットレジスタに０ｘ４０（左右均等の音量）、左右パンポット遷移量レジスタに０ｘ００（未使用）、上下パンポットレジスタに０ｘ４０（上下均等の音量）、上下パンポット遷移量レジスタに０ｘ００（未使用）を出力する。
【０２４９】
一方、音チャネルａＣＨｎがステレオ再生であれば、ステップＳ１２０８に進んで音チャネルａＣＨｎが偶数であるか否かを判別する。
音チャネルａＣＨｎが偶数であれば、ステップＳ１２１１に進んで音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とに１次ボリューム遷移量と１次ボリュームを出力し、ステップＳ１２１２で音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とにパンポットの出力を行って、ステップＳ１２１３に進む。
【０２５０】
ここで、本実施の形態の場合、偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタをステレオ再生指示に用いる。具体的に、この場合の音源ＩＣ５９は、偶数の音チャネルａＣＨｎ（ステレオ再生のＬｃｈ側に該当）とその次の奇数の音チャネルａＣＨｎ＋１（ステレオ再生のＲｃｈ側に該当）の「左右パンポット」のレジスタにそれぞれ所定値がセットされることで、これら音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とがステレオ再生であることを認識するように構成されている。より具体的に、この場合の音源ＩＣ５９は、偶数の音チャネルａＣＨｎの「左右パンポット」のレジスタに「０ｘ８１」がセットされ、且つその次の奇数の音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタに「０ｘ８２」がセットされることで、これら音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とがステレオ再生である旨を認識するように構成されている。
このことに応じ、ステップＳ１２１２では、音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とに対するパンポットの出力処理として、音チャネルａＣＨｎの「左右パンポット」のレジスタには「０ｘ８１」を、音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタには「０ｘ８２」をそれぞれ出力する。例えばステレオル再生の場合は、音チャネルａＣＨｎ、ａＣＨｎ＋１についての各左右パンポットレジスタに０ｘ８１，０ｘ８２（ステレオ）、各左右パンポット遷移量レジスタに０ｘ００（未使用）、各上下パンポットレジスタに０ｘ４０（上下均等の音量）、各上下パンポット遷移量レジスタに０ｘ００（未使用）を出力する。
【０２５１】
また、ステップＳ１２０８において、音チャネルａＣＨｎが偶数チャネルでなかった場合は、ステップＳ１２２０に進み、ワークの音チャネルａＣＨｎの音データをクリアし、当該音チャネルａＣＨｎについての処理を終了する。
即ち、音チャネルａＣＨｎがステレオ再生で且つ奇数チャネルであった場合には、当該音チャネルａＣＨｎにはフレーズ番号は登録されていないため、当該音チャネルａＣＨｎについてのフレーズ番号の音源ＩＣ５９への出力は行われず、当該音チャネルａＣＨｎの登録音データがクリアされることとなる。なお、１次ボリューム遷移量及び１次ボリュームについては偶数ａＣＨｎについての処理であるＳ１２１１で既に出力されている。
この場合の音源ＩＣ５９は、偶数の音チャネルａＣＨｎについての処理でセットされたフレーズ番号に基づき再生すべきＬｃｈ・Ｒｃｈのそれぞれのフレーズデータを特定する。
【０２５２】
また、先のステップＳ１２０６で、遷移量変化要求又はボリューム変化要求がなければ、演出制御ＣＰＵ２００は、ステップＳ１２０７〜Ｓ１２１２の処理は経ず、ステップＳ１２１３に進む。
【０２５３】
ステップＳ１２１３では演出制御ＣＰＵ２００は、フレーズ変化要求があるか否か、つまりはフレーズ変化rsv0の値が「１」であるか否かを判別する。
フレーズ変化要求がなければ、ステップＳ１２２０で音チャネルａＣＨｎの音データをクリアして当該音チャネルａＣＨｎについての処理を終了する。即ち、フレーズ変化要求がない場合はワークの音チャネルａＣＨｎにセットされたフレーズ番号の音源ＩＣ５９への出力（Ｓ１２１５）は行われない。
【０２５４】
一方、フレーズ変化要求があれば、ステップＳ１２１４で音チャネルａＣＨｎがステレオ再生且つ奇数チャネルであるか否かを判別する。音チャネルａＣＨｎがステレオ再生且つ奇数チャネルであれば、ステップＳ１２２０で音チャネルａＣＨｎの音データをクリアして当該音チャネルａＣＨｎについての処理を終了する。
即ち、音チャネルａＣＨｎがステレオ再生で且つ奇数チャネルであった場合には、当該音チャネルａＣＨｎにはフレーズ番号は登録されていないため、フレーズ番号の音源ＩＣ５９への出力は行われない。音源ＩＣ５９は、偶数の音チャネルａＣＨｎについての処理でセットされたフレーズ番号でフレーズデータを特定するためである。
【０２５５】
ステップＳ１２１４で音チャネルａＣＨｎがステレオ再生且つ奇数チャネルでなければ、ステップＳ１２１５に進んで音チャネルａＣＨｎにフレーズ番号を出力する。即ち、ワークの音チャネルａＣＨｎに登録されたフレーズ番号ｈｉとフレーズ番号ｌｏｗとで成るフレーズ番号の情報を、音源ＩＣ５９の音チャネルａＣＨｎ用のフレーズ番号レジスタに出力する。
【０２５６】
次のステップＳ１２１６では演出制御ＣＰＵ２００は、ループ要求があるか否か、つまりはループfrzLpの値が「１」であるか否かを判別する。ループ要求があれば、ステップＳ１２１７で音源ＩＣ５９の音チャネルａＣＨｎにループ回数０ｘＦＦ（無限ループ）を出力してステップＳ１２１９に進み、ループ要求がなければステップＳ１２１８で音源ＩＣ５９の音チャネルａＣＨｎにループ回数０ｘ００（ループなし）を出力してステップＳ１２１９に進む。
【０２５７】
ステップＳ１２１９では演出制御ＣＰＵ２００は、音チャネルａＣＨｎを再生出力指示する。すなわち、音チャネルａＣＨｎにセットしたデータに基づく再生指示を音源ＩＣ５９に対して行う。
次いで演出制御ＣＰＵ２００は、ステップＳ１２２０でワークの音チャネルａＣＨｎの音データをクリアして、当該音チャネルａＣＨｎについての処理を終了する。
【０２５８】
演出制御ＣＰＵ２００は、以上で説明したステップＳ１２０１〜Ｓ１２２０の処理を、ループ処理ＬＰ３により音チャネルａＣＨ０〜ａＣＨ１５まで順次行う。これにより、ステップＳ１１１の音再生処理は終了となる。
このような音再生処理によって、音データ登録情報に登録された情報に基づく音出力が実行されて、シナリオに応じた音演出が実現される。
【０２５９】
ここで、上記のように本実施の形態では、偶数とその次の奇数の音チャネルａＣＨの「左右パンポット」のレジスタに所定値をセットすることで、音源ＩＣ５９へのステレオ再生指示を行うものとしているが、このことで、音源ＩＣ５９にステレオ再生／モノラル再生の指示を行うためのレジスタを設けずとも、ステレオ再生／モノラル再生の指示を適正に行うことができる。即ち、音源ＩＣ５９のレジスタ数を削減することができる。また同時に、音源ＩＣ５９に対するステレオ再生／モノラル再生の指示をパンポットの出力処理で実現できるので、ステレオ再生／モノラル再生の指示処理を別途に行う必要がなくなり、その分処理負担の軽減が図られる。
【０２６０】
なお、上記では「左右パンポット」の項目を用いてステレオ／モノラル再生の指示を行う場合を例示したが、ステレオ／モノラル再生の指示は「左右パンポット」以外の所定の音量制御に係る項目（音量制御項目）を用いて行われればよく、これによってステレオ／モノラル再生の指示は当該所定の音量制御項目についての指示情報の出力処理が兼ねるものとなるため、別途にステレオ／モノラル再生の指示情報を出力する処理を不要とでき、制御負荷の軽減が図られる。
【０２６１】
また、上記説明からも理解されるように、本実施の形態では、音源ＩＣ５９は、連続した２つのチャネルのうちの一方のチャネル側（上記例では偶数チャネル側）にセットされたフレーズ番号の情報（再生フレーズ指示情報）に基づきステレオ再生されるべきＬｃｈ側とＲｃｈ側のフレーズを音データＲＯＭ６９から取得し、それらのフレーズについてのステレオ再生を行うように構成されている。そして、これに対応し、演出制御ＣＰＵ２００は、前記のステレオ再生指示と共に、前記一方のチャネル側（偶数チャネル側）に対してフレーズ番号の情報をセットするものとしている。
このような構成とすることで、フレーズのステレオ再生の実現にあたり、連続した２つのチャネルのうち他方のチャネル側（上記例では奇数チャネル側）への再生フレーズ指示情報の出力処理が不要となり、従って制御負荷のさらなる低減が図られる。
【０２６２】
ところで、図３１の音再生処理では、ステップＳ１２００で都度ボリュームＭＡＸエラーフラグを確認し、ボリュームＭＡＸエラーの発生中であればステップＳ１２２１でワークの２次ボリュームの書き換えを行うものとしているが、その意義について図３２を参照して説明しておく。
【０２６３】
図３２は、エラー発生に応じたボリューム制御についての説明図である。
図３２ＡはボリュームＭＡＸエラーの発生状態を表し、図のように時点ｔ１〜ｔ２の期間がボリュームＭＡＸエラーの発生期間とされる。
図３２Ｂ〜図３２Ｅは、それぞれ異なる再生期間でフレーズが再生された場合を表し、図のように図３２Ｂのケースではフレーズ再生期間が時点ｔ０（時点ｔ１よりも前の時点）〜時点ｔｎ（時点ｔ１と時点ｔ２の間の時点）、図３２Ｃのケースではフレーズ再生期間が時点ｔｎ〜時点ｔ３（時点ｔ２よりも後の時点）、図３２Ｄのケースではフレーズ再生期間が時点ｔ０〜時点ｔ３、図３２Ｅのケースではフレーズ再生期間が時点ｔｎ１〜時点ｔｎ２（時点ｔｎ１、ｔｎ２ともに時点ｔ１〜ｔ２の間の時点）とされる。なお、ここで言うフレーズとは、エラー音以外のフレーズを意味するものとする。
また、これら図３２Ｂ〜図３２Ｅの各ケースでは、シナリオとして、フレーズの２次ボリュームを制御する音コントロールの情報も記述されているとする。図中には、２次ボリュームの状態も併せて示している（図中「２次ボリューム状態」）。なお、「０ｘ＊＊」は、「０ｘ００」よりも大きく「０ｘ８０」よりも小さい２次ボリュームの値を意味する。
前述のように、ワークの２次ボリュームの値は、通常はボリュームスイッチの状態に応じた値がセットされることになる。この図の例では、ボリュームスイッチの状態に応じた値が「０ｘ８０」であったものとする。
【０２６４】
図３２Ｂのケースでは、時点ｔ０に対応するタイミングで２次ボリュームを「０ｘ＊＊」に制御する音コントロール情報がワークに登録されたことに応じて、フレーズの２次ボリュームが時点ｔ０に応じたタイミングで「０ｘ８０」から「０ｘ＊＊」に下げられる。仮に、ボリュームＭＡＸエラーが発生しなければ、時点ｔ０以降ではフレーズの２次ボリュームは「０ｘ＊＊」で維持されることになる。
しかしながら、この場合は時点ｔ１でボリュームＭＡＸエラーが発生したことに応じて、図のように時点ｔ１に応じたタイミングで２次ボリュームが強制的に「０ｘ００」に下げられる。これは、ボリュームＭＡＸエラーの発生に応じて、図３１のステップＳ１２２１でワークの音チャネルａＣＨ１５以外の２次ボリュームの値が「０ｘ００」に書き換えられるためである。
ボリュームＭＡＸエラーが発生中である場合には、ステップＳ１２２１の書き換え処理が１６ｍｓごとに都度行われる。このため、時点ｔ１以降においてもワークの２次ボリューム（エラー音以外の音チャネルａＣＨ）は都度「０ｘ００」がセットされ、これが音源ＩＣ５９に出力されることで２次ボリュームは「０ｘ００」で維持される。
このとき、フレーズの再生が終了した時点ｔｎでは、演出制御ＣＰＵ２００は、該フレーズに対応する音チャネルａＣＨ（ワーク）の２次ボリュームの値としてボリュームスイッチの状態に応じた値をセットすることになる。従って、時点ｔｎでは当該音チャネルａＣＨの消音状態が解除されてしまうことが懸念される。しかしながら、この場合としても、図３１に示した音再生処理においてステップＳ１２２１のボリューム書き換え処理が実行される、すなわち音源ＩＣ５９に対する２次ボリュームの出力の直前となるタイミングでワークの２次ボリュームの値が書き換えられることで、音源ＩＣ５９に対しては２次ボリュームとして「０ｘ００」を指示することができる。これにより、ボリュームＭＡＸエラー発生期間中において、２次ボリュームとして「０ｘ００」より大きな値が設定されてフレーズが放音されてしまうことが確実に防止される。
【０２６５】
続いて、図３２Ｃのケースでは、エラーが発生する時点ｔ１の後の時点ｔｎにてフレーズの再生が開始される。この場合、時点ｔ１までの期間では、ワークの２次ボリュームの値はボリュームスイッチ状態に応じた「０ｘ８０」であったが、時点ｔ１以降の期間ではエラー発生に応じてステップＳ１２２１の処理によりワークの２次ボリュームの値が「０ｘ００」に書き換えられる。
ここで、図中では反映されていないが、この場合はシナリオとしてフレーズの２次ボリュームを制御する音コントロール情報が記述されているので、フレーズの再生が開始される時点ｔｎでは、ワークにおける該フレーズに対応する音チャネルａＣＨの２次ボリュームの値は、該音コントロール情報で指示された値にセットされることになる。しかしながらこの場合も、音再生処理においてステップＳ１２２１による書き換え処理が実行されることで、最終的に音源ＩＣ５９に出力される２次ボリュームの値は「０ｘ００」とすることができ、エラー発生中に２次ボリュームが「０ｘ００」より大きい値に設定されてフレーズが放音されてしまうことが確実に防止される。
なお、この図３２Ｃのケースでは、時点ｔ２以降もフレーズ再生期間となっているが、時点ｔ２では、ワークの２次ボリュームの値はボリュームスイッチの状態に応じた値（この場合は「０ｘ８０」）にセットされる。また、時点ｔ２では、ボリュームＭＡＸエラーフラグが「０ｘ００」に変化することに応じて該時点ｔ２以降はステップＳ１２２１の書き換え処理は実行されないものとなる。これらの点より、時点ｔ２以降は、音源ＩＣ５９には「０ｘ８０」が出力され、結果、エラー解消後にはフレーズが適正に放音されることになる。
【０２６６】
また、図３２Ｄのケースでは、時点ｔ０にてフレーズの再生が開始されると共に、音コントロールの情報により該フレーズの２次ボリュームが「０ｘ８０」から「０ｘ＊＊」に制御される。
この場合も、エラー発生期間である期間ｔ１〜ｔ２では、ステップＳ１２２１の処理によりワークの２次ボリュームの値が都度「０ｘ００」に書き換えられ、従ってエラー発生期間中はフレーズが消音される。
時点ｔ２では、ワークの２次ボリュームの値がボリュームスイッチの状態に応じた値（「０ｘ８０」）にセットされ、またボリュームＭＡＸエラーフラグが「０ｘ００」に変化することで該時点ｔ２以降はステップＳ１２２１の書き換え処理が実行されないものとなることから、エラーが解消した時点ｔ２以降はフレーズが適正に放音される。
【０２６７】
また、図３２Ｅのケースでは、時点ｔ１までの期間では、ワークの２次ボリュームの値は「０ｘ８０」であったが、エラー発生に応じて時点ｔ１以降の期間ではステップＳ１２２１の処理によりワークの２次ボリュームの値が「０ｘ００」となる。
この図３２Ｅのケースでは、時点ｔ１の後の時点ｔｎ１でフレーズの再生が開始されるが、当該時点ｔｎ１で音コントロールの情報により指示された２次ボリュームの値がワークにセットされたとしても、ステップＳ１２２１の処理によりワークの２次ボリュームの値が「０ｘ００」に書き換えられることで、フレーズが放音されることはない。また、時点ｔｎ２でフレーズの再生期間が終了するとワークの２次ボリュームの値はボリュームスイッチに応じた値に書き換えられるが、ステップＳ１２２１の処理によりエラー発生期間中はワークの２次ボリュームの値が「０ｘ００」に書き換えられるので、時点ｔｎ２〜時点ｔ２の期間にフレーズが放音されることはない。
なお、この場合も、時点ｔ２ではワークの２次ボリュームの値がボリュームスイッチの状態に応じた値（「０ｘ８０」）となり、またボリュームＭＡＸエラーフラグが「０ｘ００」に変化することで該時点ｔ２以降はステップＳ１２２１の書き換え処理が実行されないことから、エラーが解消した時点ｔ２以降では、２次ボリュームが「０ｘ８０」に復帰する。
【０２６８】
このようにして、図３１の音再生処理において都度ボリュームＭＡＸエラーフラグを確認し（Ｓ１２００）ボリュームＭＡＸエラーの発生中であればワークの２次ボリュームの書き換えを行う（ステップＳ１２２１）ようにしたことで、ボリュームＭＡＸエラーの発生中にエラー音以外の音を確実に消音することができる。
【０２６９】
ところで、これまでの説明からも理解されるように本実施の形態では、音源ＩＣ５９には、演出制御ＣＰＵ２００からの指示を受け付けるレジスタとして、再生すべきフレーズの指示情報を受け付ける再生フレーズ指示レジスタ（前述のフレーズ番号レジスタ）と、フレーズの再生動作を制御するための情報を受け付ける制御情報レジスタ（１次ボリューム、１次ボリューム遷移量や２次ボリュームのレジスタなど）とが設けられる。その上で、演出制御ＣＰＵ２００が、前記再生フレーズ指示レジスタに対し再生フレーズ指示情報（再生すべきフレーズを指示するための情報）に基づく情報を出力する処理と、前記制御情報レジスタに対し音制御情報（再生フレーズ指示情報に基づいて再生されるフレーズの再生動作を制御するための情報）に基づく情報を出力する処理とを行うという構成が採られている。即ち、フレーズの再生動作に係る制御は、演出制御ＣＰＵ２００が音源ＩＣ５９に対し再生すべきフレーズの指示情報と再生フレーズの制御を行うための情報とを個別に指示して行われるものである。
このような構成により、再生中のフレーズについての制御（例えばボリュームの変更やフェードインやフェードアウトの制御等）は、音源ＩＣ５９に対して前記音制御情報に基づく情報を指示するのみで実現でき、従って多様な音演出を実現するための制御を容易に行うことができる。そして、制御が容易化することで、音演出に係る制御負荷の低減が図られる。
【０２７０】
＜５．まとめ及び変形例＞
以上で説明した演出制御ＣＰＵ２００の処理により、多様な演出動作を制御負荷の低減を図りつつ効率的に実現できる。また、演出制御に要するメモリ容量も削減することができる。
【０２７１】
なお、本発明は実施の形態で挙げた例に限らず多様な変形例や適用例が考えられるものである。
例えば、上記による説明では、本発明がパチンコ遊技機１のような弾球遊技機に適用される例を示したが、本発明は回胴式遊技機（いわゆるスロット機）にも好適に適用できるものである。
【０２７２】
また、上記では「系統」の例として音源ＩＣ５９の「チャネル」（デコーダチャネル）を例示したが、本発明における「系統」の概念には、このような「チャネル」以外にも「仮想トラック」も含まれるものである。すなわち、例えば音源ＩＣ５９が、同時再生するフレーズをデコーダチャネルごとに管理するのではなく「仮想トラック」ごとに管理する（この場合、仮想トラックのフレーズをデコードするデコーダチャネルは音源ＩＣ５９が自ら任意に決定する）ように構成されている場合には、「仮想トラック」が本発明の「系統」に該当する。
【０２７３】
また、上記では、２次ボリュームによる音量制御によってＢＧＭやエラー音以外の音などの制御対象音を完全に消音させる例を挙げたが、これら制御対象音は完全に消音させる必要性はなく、例えば極小音など「０」以外の所定音量に減音させる制御を行うことも可能である。即ち、ＢＧＭとＢＧＭ以外の他の音との音量関係としては、ＢＧＭが小、ＢＧＭ以外が大となるように制御を行い、またエラー音とエラー音以外の他の音との音量関係としては、エラー音が大、エラー音以外の他の音が小となるように制御を行えばよい。
【０２７４】
また、これまでの説明では、遊技機１の裏側に設けられたボリュームスイッチの操作に応じた２次ボリュームの設定処理のみを例示したが、本発明は、遊技機１の表側に設けられた例えば十字キー１３等の操作子の操作に応じた２次ボリュームの設定処理にも好適に適用できる。
その場合、演出制御ＣＰＵ２００は、例えば先の図８の入力検知処理（Ｓ１０９）等によって検知した操作によって為されたボリューム値の指示に応じて、該指示されたボリューム値に応じた２次ボリュームの値をワーク（音データ登録情報）に書き込む処理を行うようにする。
【符号の説明】
【０２７５】
１  パチンコ遊技機
２  前枠
３  遊技盤
３ａ  遊技領域
４  外枠
５  ガラス扉
６  軸支機構
７  操作パネル
８  上受け皿ユニット
９  下受け皿ユニット
１０  発射操作ハンドル
１１  パトライトスイッチ
１２  演出ボタン
１３  十字キー
１４  球貸しボタン
１５  カード返却ボタン
２０ｗ，２０ｂ  装飾ランプ
２５  スピーカ
３１  球誘導レール
３２Ｍ  主液晶表示装置
３２Ｓ  副液晶表示装置
３３  図柄表示部
４１  上始動口
４２  普通変動入賞装置
４２ａ  下始動口
４３  一般入賞口
４４  ゲート
４５  第１特別変動入賞装置
４６  第２特別変動入賞装置
５０  主制御基板５０
５１  演出制御基板５１
５２  液晶制御基板
５３  払出制御基板
５４  発射制御基板
５８  電源基板
５９  音源ＩＣ
６０  操作部
６１  枠ドライバ部
６２  盤ドライバ部
６３，６４  装飾ランプ部
６７  アンプ部
２００  演出制御ＣＰＵ
２０１  演出制御ＲＯＭ
２０２  演出制御ＲＡＭ
【図１】
0005627044.tif 000002
【図２】
0005627044.tif 000003
【図３】
0005627044.tif 000004
【図４】
0005627044.tif 000005
【図５】
0005627044.tif 000006
【図６】
0005627044.tif 000007
【図７】
0005627044.tif 000008
【図８】
0005627044.tif 000009
【図９】
0005627044.tif 000010
【図１０】
0005627044.tif 000011
【図１１】
0005627044.tif 000012
【図１２】
0005627044.tif 000013
【図１３】
0005627044.tif 000014
【図１４】
0005627044.tif 000015
【図１５】
0005627044.tif 000016
【図１６】
0005627044.tif 000017
【図１７】
0005627044.tif 000018
【図１８】
0005627044.tif 000019
【図１９】
0005627044.tif 000020
【図２０】
0005627044.tif 000021
【図２１】
0005627044.tif 000022
【図２２】
0005627044.tif 000023
【図２３】
0005627044.tif 000024
【図２４】
0005627044.tif 000025
【図２５】
0005627044.tif 000026
【図２６】
0005627044.tif 000027
【図２７】
0005627044.tif 000028
【図２８】
0005627044.tif 000029
【図２９】
0005627044.tif 000030
【図３０】
0005627044.tif 000031
【図３１】
0005627044.tif 000032
【図３２】
0005627044.tif 000033