(57)【要約】【課題】振動演出を行う遊技機について、部品点数の削減やコスト削減を図る。【解決手段】本発明に係る遊技機は、放音を行うスピーカ部と、スピーカ部の駆動制御を行う駆動制御手段とを備え、駆動制御手段は、遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づきスピーカ部を駆動制御して、特定部を振動させるものである。【選択図】図３５
2020151204.tif 000002
【特許請求の範囲】
【請求項１】
放音を行うスピーカ部と、
前記スピーカ部の駆動制御を行う駆動制御手段と、を備え、
前記駆動制御手段は、
遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づき前記スピーカ部を駆動制御して、前記特定部を振動させる
遊技機。
【請求項２】
前記駆動制御手段は、
周波数掃引された前記音信号に基づき前記スピーカ部を駆動制御する
請求項１に記載の遊技機。
【請求項３】
前記駆動制御手段は、
周波数が往復掃引された前記音信号に基づき前記スピーカ部を駆動制御する
請求項２に記載の遊技機。
【請求項４】
前記駆動制御手段は、
前記往復掃引として、０．０５秒以下の往復期間による掃引が繰り返された前記音信号に基づき前記スピーカ部を駆動制御する
請求項３に記載の遊技機。
【請求項５】
前面側が開口された箱状の本体ケースと、
前記本体ケースに対して開閉自在に取り付けられ、閉状態において前記開口を閉塞する前面パネルとを備え、
前記スピーカ部は、背面側の少なくとも一部が、前記閉状態において前記本体ケース内側に形成される閉空間に露呈されるように前記前面パネルに設けられた
請求項１から請求項４の何れかに記載の遊技機。
【請求項６】
前記駆動制御手段は、
可聴帯域の周波数成分を含む前記音信号に基づき前記スピーカ部を駆動制御して前記特定部を振動させる
請求項１から請求項５の何れかに記載の遊技機。
【請求項７】
前記駆動制御手段は複数系統の音信号を同時再生可能とされ、
前記特定部を振動させるための音である振動音と、エラー報知のための音であるエラー音と、前記振動音と前記エラー音以外の音である第三音とに少なくとも区分される音の種別ごとに、再生に用いる前記系統が定められており、
前記駆動制御手段は、
前記振動音の音信号を再生出力する際、前記複数系統のうち前記振動音と前記エラー音以外の前記系統をマスクする処理を行う
請求項１に記載の遊技機。
【請求項８】
前記駆動制御手段は、
エラーが検出された場合は、前記複数系統のうち前記エラー音の系統を除く全系統をマスクする処理を行う
請求項７に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放音を行うスピーカ部を備えた遊技機の技術分野に関する。
【背景技術】
【０００２】
例えば、スロットマシンやパチンコ遊技機等の遊技機には、放音を行うスピーカ部を備えて音による演出を行うものがある。また、遊技機には、音による演出以外にも、光や画像等の視覚的な演出や、振動を用いた触覚的な演出を行うものもある（例えば、下記特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１２１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、振動を用いた演出を行う上では、振動源となるモータ等のアクチュエータを設ける構成が一般的であるが、音や光、画像等の演出手段以外に別途の演出手段を設けることになり、部品点数の増加やそれに伴うコストアップを助長することになる。
【０００５】
そこで、本発明では上記した問題点を克服し、振動演出を行う遊技機について、部品点数の削減やコスト削減を図ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る遊技機は、放音を行うスピーカ部と、前記スピーカ部の駆動制御を行う駆動制御手段と、を備え、前記駆動制御手段は、遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づき前記スピーカ部を駆動制御して、前記特定部を振動させるものである。
これにより、音出力に用いるスピーカを振動源として用いることができるため、振動源となるモータ等のアクチュエータを別途に設ける必要がなくなる。
【０００７】
上記した本発明に係る遊技機においては、前記駆動制御手段は、周波数掃引された前記音信号に基づき前記スピーカ部を駆動制御する構成とすることが可能である。
振動用の音の周波数を掃引（スイープ）することで、振動の振れ幅の調整が可能となる。
【０００８】
上記した本発明に係る遊技機においては、前記駆動制御手段は、周波数が往復掃引された音信号に基づきスピーカ部を駆動制御する構成とすることが可能である。
これにより、周波数の掃引は、周波数の上昇側の掃引と下降側の掃引とが組み合わされた往復掃引の形態で行われる。
【０００９】
上記した本発明に係る遊技機においては、前記駆動制御手段は、前記往復掃引として、０．０５秒以下の往復期間による掃引が繰り返された前記音信号に基づき前記スピーカ部を駆動制御する構成とすることが可能である。
往復期間を長くする（つまり掃引速度を遅くする）と振動の振り幅が大きくなり、短くする（掃引速度を速くする）と振動の振り幅は小さくなる。
【００１０】
上記した本発明に係る遊技機においては、前面側が開口された箱状の本体ケースと、前記本体ケースに対して開閉自在に取り付けられ、閉状態において前記開口を閉塞する前面パネルとを備え、前記スピーカ部は、背面側の少なくとも一部が、前記閉状態において前記本体ケース内側に形成される閉空間に露呈されるように前記前面パネルに設けられた構成とすることが可能である。
これにより、スピーカ部背面側からの放音に応じて本体ケース内側の閉空間内における空気が振動し、遊技機の筐体全体を振動させることが可能とされる。
【００１１】
上記した本発明に係る遊技機においては、前記駆動制御手段は、可聴帯域の周波数成分を含む前記音信号に基づき前記スピーカ部を駆動制御して前記特定部を振動させる構成とすることが可能である。
これにより、遊技者に対し振動と同時に低音を知覚させることが可能とされる。
【００１２】
上記した本発明に係る遊技機においては、前記駆動制御手段は複数系統の音信号を同時再生可能とされ、前記特定部を振動させるための音である振動音と、エラー報知のための音であるエラー音と、前記振動音と前記エラー音以外の音である第三音とに少なくとも区分される音の種別ごとに、再生に用いる前記系統が定められており、前記駆動制御手段は、前記振動音の音信号を再生出力する際、前記複数系統のうち前記振動音と前記エラー音以外の前記系統をマスクする処理を行う構成とすることが可能である。
これにより、エラーが検出された場合における報知音の出力を可能としながら、振動音以外の音をマスクすることが可能とされる。
【００１３】
上記した本発明に係る遊技機においては、前記駆動制御手段は、エラーが検出された場合は、前記複数系統のうち前記エラー音の系統を除く全系統をマスクする処理を行う構成とすることが可能である。
これにより、エラー検出時には特定部が振動しないように図られる。
【発明の効果】
【００１４】
本発明によれば、設定値に基づく演出抽選が適正に行われるようにすることができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態の遊技機の正面図である。
【図２】実施形態の遊技機の平面図（図２Ａ）及び右側面図（図２Ｂ）である。
【図３】実施形態の遊技機が備える前面パネルの背面図である。
【図４】実施形態の遊技機が備える本体ケースの正面図である。
【図５】前面パネルを開状態とした際の遊技機の様子を模式的に表した斜視図である。
【図６】遊技機内部の制御構成の概略的なブロック図である。
【図７】遊技機が備える主制御基板の回路構成を示した図である。
【図８】原点検出に係る構成についての説明図である。
【図９】回転リール（回胴）に形成された図柄についての説明図である。
【図１０】主制御側起動処理のフローチャートである。
【図１１】動作停止エラー処理のフローチャートである。
【図１２】設定変更処理のフローチャートである。
【図１３】メインループ処理のフローチャートである。
【図１４】主制御側のタイマ割込み処理のフローチャートである。
【図１５】演出制御側メイン処理のフローチャートである。
【図１６】実施形態の演出制御の１ｍｓタイマ割込処理のフローチャートである。
【図１７】実施形態の演出制御におけるコマンド解析処理のフローチャートである。
【図１８】実施形態の演出制御におけるコマンド対応処理のフローチャートである。
【図１９】実施形態の演出制御におけるシナリオ登録処理のフローチャートである。
【図２０】実施形態の演出制御におけるシナリオ削除処理のフローチャートである。
【図２１】実施形態の演出制御におけるシナリオ更新処理のフローチャートである。
【図２２】実施形態の演出制御におけるサブシナリオ更新処理のフローチャートである。
【図２３】実施形態のシナリオ登録情報、ランプデータ登録情報、モータデータ登録情報の説明図である。
【図２４】実施形態の音データ登録情報の説明図である。
【図２５】実施形態のメインシナリオテーブルの説明図である。
【図２６】実施形態のサブシナリオテーブルの説明図である。
【図２７】実施形態の音の登録処理のフローチャートである。
【図２８】実施形態のＳＥの設定処理のフローチャートである。
【図２９】実施形態の音コントロールの設定処理のフローチャートである。
【図３０】実施形態の音コントロールの情報のデータ構造についての説明図である。
【図３１】フェード系の音コントロール情報の変換処理についての説明図である。
【図３２】フェード系の音コントロールの情報の使用例についての説明図である。
【図３３】２次ボリュームにより所定種別の音を消音させる制御例についての説明図である。
【図３４】実施形態の音再生処理のフローチャートである。
【図３５】振動用の音出力に係る処理過程の例を説明するフローチャートである。
【図３６】エラー発生時におけるエラー音以外のマスクを実現するための処理例を示したフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る遊技機の実施形態について、次の順序で説明する。なお、実施形態では遊技機の一例としてスロットマシン（回胴式遊技機）を例に挙げる。
＜１．回胴遊技機の機構構成＞
＜２．回胴遊技機の制御構成＞
＜３．回転リール＞
＜４．主制御側起動処理＞
＜５．設定変更処理＞
＜６．メインループ処理＞
＜７．タイマ割込み処理＞
＜９．演出制御側メイン処理及び割込み処理＞
＜１０．演出制御に係る処理の詳細＞
［10-1．コマンド解析処理］
［10-2．シナリオ登録・削除処理］
［10-3．シナリオ更新処理］
［10-4．音の登録処理］
［10-5．音再生処理］
＜１１．実施形態の振動演出＞
＜１２．まとめ及び変形例＞
【００１７】
＜１．遊技機の機構構成＞
先ず、図１〜図５を参照し、本技術に係る実施形態としての遊技機の一例であるスロットマシンの外観構成を説明する。
図１はスロットマシンの正面図、図２Ａは平面図、図２Ｂは右側面図、図３は前面パネル２の背面図、図４は本体ケース１の正面図、図５は前面パネル２を開状態とした際のスロットマシンの様子を模式的に表した斜視図である。なお、図５では、本体ケース１内側に収容された各種の部品の図示は省略している。また、図２では、前面パネル２が閉状態とされた際のスロットマシンの様子を表している。
【００１８】
本実施形態のスロットマシンは、矩形箱状の本体ケース１と、各種の遊技部材を装着した前面パネル２とが、図示しないヒンジ機構を介して連結され、前面パネル２が本体ケース１に対して開閉自在に取り付けられている。本体ケース１は、前面側が開口されており（図５参照）、前面パネル２は、閉状態において本体ケース１の前面側の開口を閉塞する（図２参照）。本例において、本体ケース１は、背面部に開口は形成されておらず、従って前面パネル２が閉状態とされたときは、該前面パネル２によって前面側の開口が閉塞された本体ケース１内側に閉空間が形成される。
ここで、遊技機の前面側とは、使用時に遊技者と対向する側を意味する。
【００１９】
図４に示すように、本体ケース１の略中央には、３つの回転リール（回胴）４ａ、４ｂ、４ｃを備える図柄回転ユニット３が配置されている。また、その下側に、メダル払出装置５が配置されている。
各回転リール４ａ、４ｂ、４ｃには、後述する各種図柄、例えばＢＢ（ビッグボーナス）やＲＢ（レギュラーボーナス）用の図柄や、各種のフルーツ図柄、リプレイ図柄などが描かれている。
メダル払出装置５は、メダルを貯留するメダルタンク５ａを有する。また払出ケース５ｂ内に、図６で後述する払出モータ７５、払出接続基板７３、ホッパー基板７４、メダル払出センサ７６等が収納されている。
メダルタンク５ａに貯留されたメダルは、払出モータ７５の回転に基づいて、払出口５ｃから図面手前方向に向けて導出される。尚、限界量を越えて貯留されたメダルは、超過メダル導出部５ｄを通して、補助タンク６に落下するよう構成されている。
【００２０】
メダル払出装置５に隣接して電源基板４１が配置される。また、図柄回転ユニット３の上方に主制御基板４０が配置され、主制御基板４０に隣接して回胴設定基板７１が配置されている。
また図柄回転ユニット３の内部には、図６に示す回胴用ＬＥＤ（Light Emitting Diode）中継基板５６と回胴中継基板５３とが設けられ、図柄回転ユニット３に隣接して外部集中端子板７０が配置されている。
【００２１】
さらに、本体ケース１においては、図柄回転ユニット３の側方に前面パネル２の開放（ドアの開放）を検知するためのドア開放センサ３５が設けられている。
【００２２】
図１に示すように、前面パネル２の上部にはＬＣＤ（Liquid Crystal Display）ユニット７が配置されている。このＬＣＤユニット７には、遊技動作を盛り上げるためなどに各種のキャラクタが表示される。
またＬＣＤユニット７の下部には、回転リール４ａ、４ｂ、４ｃを表出させる表示窓８が形成されている。この表示窓８を通しては、回転リール４ａ、４ｂ、４ｃごとに各々３個程度の図柄が視認可能とされている。この場合、各回転リール４ａ、４ｂ、４ｃが停止した際に表示窓８内で図柄が停止する位置としての図柄停止位置は３×３＝９箇所となる。そして、合計９個の図柄停止位置のうち水平方向に並ぶ三つの図柄停止位置を結ぶラインが三本と、対角線方向に並ぶ三つの図柄停止位置を結ぶラインの二本の合計五本が仮想的な図柄停止ラインとなる。
また、図柄停止ラインのうちで、当選図柄（当選役）が揃ったか否かの判定に用いられる図柄停止ラインは有効ラインとされ、それ以外の図柄停止ラインは無効ラインとされる。有効ラインと無効ラインは、ＢＢやＲＢ、または、ＡＴ（アシストタイム）やＡＲＴ（アシストリプレイタイム）などの各種遊技状態に応じて、適宜変更される。即ち、例えば、通常ゲーム中は中段の１ラインが有効ラインとされるが、ボーナスゲーム中は上段と中段の２ラインが有効ラインに変更される場合などである。
【００２３】
なお、図柄回転ユニット３の内部には、回転リール４ａ、４ｂ、４ｃが停止した状態において視認される９個の図柄それぞれを内側から照射可能な位置に回胴用ＬＥＤが配置されている（図１では不図示）。それぞれの回胴用ＬＥＤはそれぞれの回転リール４ａ、４ｂ、４ｃの回転状態や停止状態、或いは各種演出に応じて点灯・消灯される。
【００２４】
表示窓８の下方には、遊技状態を示すＬＥＤ群９や、遊技成果として払出されるメダル数を表示する払出表示部１０や、貯留数表示部１１が設けられている。
ＬＥＤ群９は、例えば、当ゲームに投入されたメダルの枚数を示すＬＥＤ（ベット枚数表示ＬＥＤ）や再遊技状態を示すＬＥＤ、回胴を回転させる準備が整ったことを示すＬＥＤ（当ゲームの遊技に要する所定枚数のメダルの投入が完了したことを示すＬＥＤ：遊技開始表示ＬＥＤ）、メダルの投入の受付状態を示すＬＥＤなどで構成されている。
払出表示部１０は、７セグメントＬＥＤを２個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能する。
貯留数表示部１１には、クレジット状態で貯留されているメダル数が表示される。
【００２５】
表示窓８の上方、左、右には、ＬＥＤ演出部１５ａ、１５ｂ、１５ｃが設けられている。ＬＥＤ演出部１５ａ、１５ｂ、１５ｃは、所定の絵柄、意匠が施され、内側に配置されたＬＥＤによって光による演出が実行されるように構成されている。ＬＥＤ演出部１５ａ、１５ｂ、１５ｃで実行される演出は、例えば、ＢＢやＲＢに当選したことを示す演出や、ＡＴやＡＲＴ等の状態を示す演出、ＡＴ中やＡＲＴ中のアシスト演出等である。
尚、個々の説明は省略するが、前面パネル２には、演出や動作状態を提示するためのＬＥＤとして他のＬＥＤが各種配置されている。
【００２６】
前面パネル２の中央右側には、メダルを投入するメダル投入口１２が設けられ、これに近接して、メダル投入口１２に詰まったメダルを返却させるための返却ボタン１３が設けられている。返却ボタン１３の右側には、専用のキーを差し込むための鍵穴が設けられている。前面パネル２が本体ケース１に対して閉じた状態において、鍵穴に差し込まれたキーを右へ回すことにより前面パネル２が解錠され（以下「解錠動作」と表記）、前面パネル２の本体ケース１に対する開閉が可能となる。また、鍵穴に差し込まれたキーを左へ回すことにより、打ち止めやエラーによる遊技の中止状態が解除される（以下「中止解除動作」と表記）。
また、前面パネル２の中央左側には、クレジット状態のメダルやベット状態のメダルを払出すクレジット精算ボタン１４と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン１６とが設けられている。
【００２７】
また、前面パネル２には、回転リール４ａ、４ｂ、４ｃの回転を開始させるためのスタートレバー１７と、回転中の回転リール４ａ、４ｂ、４ｃを停止させるための停止ボタン１８ａ、１８ｂ、１８ｃが設けられている。
遊技者がスタートレバー１７を操作すると、通常は、３つの回転リール４ａ、４ｂ、４ｃが正方向に回転を開始する。但し、内部当選状態を予告するために遊技中断状態を伴うリール演出（所謂フリーズ演出）を行う場合がある。リール演出は、回転リール４の回転による演出という意味で「回転演出」と表記できる。リール演出では、例えば、回転リール４ａ、４ｂ、４ｃの全部または一部が、変則的に回転（いわゆる「演出回転」）した上で正方向の回転を開始する演出などが実行される。
リール演出の具体的な例としては、例えば、
・極めてゆっくり正方向に回転（正回転）して静止するスロー演出
・正回転と逆回転を繰り返した後に、所定時間だけ逆回転して静止する逆回転演出
・第１の所定時間だけ正回転と逆回転を繰り返した後に静止する第１の揺動演出
・第２の所定時間だけ正回転と逆回転を繰り返した後に静止する第２の揺動演出
・第２の所定時間だけ正回転と逆回転を繰り返した後に静止し、さらに、極めてゆっくり正回転した後に静止するスロー揺動演出
・第２の時間だけ正回転と逆回転を繰り返した後に静止し、さらに、所定時間だけ逆回転した後に静止する揺動逆回転演出
・所定速度で正回転または逆回転した後に所定の図柄に揃えて静止する演出
・現状の回転状態（或いは停止状態）を維持する演出
などが用意されている。そして、このようなリール演出時には、ＬＣＤユニット７におけるキャラクタ演出や、ＬＥＤランプを点滅させるランプ演出や、スピーカを駆動する音演出の全部または一部が適宜に選択されて実行される。
【００２８】
前面パネル２の下方には、メダルを蓄える横長の受け皿１９と、払出装置５の払出口５ｃに連通するメダル導出口２０とが設けられている。
【００２９】
また前面パネル２の上方左右にはスピーカ３０ａ、３０ｂが、下方左右にはスピーカ３３０ｃ、３０ｄが配置されている。本例では、上方のスピーカ３０ａ、３０ｂについては８Ω、１０Ｗの中高域用スピーカが用いられ、下方のスピーカ３０ｃ、３０ｄについては８Ω、３０Ｗの中低域用スピーカが用いられている。
下方のスピーカ３０ｃ、３０ｄについては、図３や図５を参照して分かるように、背面の少なくとも一部が表出している（本例では背面側の全体が表出している）。つまり、前面パネル２が閉状態とされたときには、これらスピーカ３０ｃ、３０ｄは、それぞれ背面側の少なくとも一部が本体ケース１内側の閉空間に露呈される。
【００３０】
また、前面パネル２の背面側には、図１で示したメダル投入口１２に投入されたメダルの選別を行うメダル選別装置２１と、メダル選別装置２１により不適正と判別されたメダルをメダル導出口２０に案内する返却通路２２とが設けられている（図３参照）。
また、前面パネル２の背面側上部には、基板ケース２３が配置されている。この基板ケース２３には、図６で述べる演出制御基板４２、演出インターフェース基板４３、液晶制御基板４４、液晶インターフェース基板４５などが収容されている。
またメダル選別装置２１の側方には、図１に示す各種の遊技部材と主制御基板４０との間の信号を中継する遊技中継基板６０（図６で後述する）が設けられている。
【００３１】
＜２．回胴遊技機の制御構成＞
次に本実施の形態のスロットマシンの制御系の構成について説明する。
図６は、スロットマシンの内部の制御構成の概略的なブロック図である。本実施の形態のスロットマシンは、その制御構成が主制御基板４０を中心に構成されている。
主制御基板４０は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を備えたマイクロコンピュータやインターフェースのための回路等が搭載され、スロットマシンの遊技動作全般に係る統括的な制御を行う。例えば主制御基板４０が回転リール４ａ、４ｂ、４ｃを含む各種の遊技部材の動作を制御するとともに、動作状況を把握する。また遊技動作に応じて演出を実行させる。
主制御基板４０は、電源基板４１、演出インターフェース基板４３、回胴中継基板５３、遊技中継基板６０、外部集中端子板７０、回胴設定基板７１、払出接続基板７３との間で各種信号（コマンドや検出信号等）のやりとりを行う。
【００３２】
電源基板４１は、ＡＣ２４Ｖを受けて、これを整流・平滑して直流電圧を得る。そして電源基板４１はコンバータ回路を備えて各部に必要な電源電圧を生成する。図では主制御基板４０を介して各部に与えられる主制御電源電圧Ｖ１、及び演出インターフェース基板４３を介して各部に与えられる演出制御電源電圧Ｖ２を示している。
また電源基板４１には電源遮断状態を検出する電源監視回路や、主制御基板４０にバックアップ電源電圧を供給するバックアップ電源回路なども設けられている。さらに、電源基板４１は、電源電圧の降下に応じて電源異常信号Ｅｖを生成し、それぞれ主制御基板４０、演出インターフェース基板４３に出力する（図示は省略）。
【００３３】
演出制御基板４２は、マイクロコンピュータやインターフェースのための回路が搭載され、スロットマシンの演出動作に関する制御を行う。図示のように演出制御基板４２は、マイクロコンピュータを構成するＣＰＵ４２ａ、ＲＯＭ４２ｂ、及びＲＡＭ４２ｃを備えている。また、演出制御基板４２は、不図示のカウンタ回路やタイマ回路を備えており、それらを用いて各種時間の計測を行う。
【００３４】
演出制御基板４２は、音源ＩＣ（Integrated Circuit）４２ｄを備えている。
音源ＩＣ４２ｄは、複数の再生チャネル（後述する音チャネルａＣＨ）のフレーズをミキシングして所定本数（所定の出力チャネル数）の音信号を得る。本例の場合、スピーカ３０としては、上方のスピーカ３０ａ、３０ｂの組と、下方のスピーカ３０ｃ、３０ｄの組が設けられ、各組がそれぞれＬｃｈ、Ｒｃｈの２チャネル出力に対応している。このため、音源ＩＣ４２ｄの出力チャネル数は例えばＬｃｈ，Ｒｃｈの２チャネルとされている。
また、音源ＩＣ４２ｄは、制御対象として指示されたフレーズについての音コントロールを行う。具体的に、演出制御基板４２のＣＰＵ４２ａは、ボリュームの変化指示やフェードイン再生／フェードアウト再生等の音響効果の付加に係る指示情報を音源ＩＣ４２ｄに対して与え、音源ＩＣ４２ｄはそれらの情報に従って制御対象として指定されたフレーズの再生制御を行う。
【００３５】
本例で用いる音源ＩＣ４２ｄは、ＳＵＢボリュームの設定機能やパン機能（左右方向パン及び上下方向パン）も有するものとされる。
この場合の音源ＩＣ４２ｄが音出力を行うにあたって指示を要求する情報は、少なくとも「フレーズ番号」「１次ボリューム」「１次ボリューム遷移量」「２次ボリューム」「ループ回数」「ＳＵＢ０ボリューム」「ＳＵＢ１ボリューム」「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」とされる。すなわち、この場合の音源ＩＣ４２ｄには、これらの項目ごとにその指示値の入力を受け付けるレジスタが音チャネルａＣＨごとに設けられている。
なお、本実施形態ではＳＵＢボリュームは使用しないものとしている。従って上記の「ＳＵＢ０ボリューム」「ＳＵＢ１ボリューム」のレジスタには「０」をセットする（後述する図３４のステップＳ１５０２を参照）。
【００３６】
音源ＩＣ４２ｄが出力する音信号は、演出インターフェース基板４３及びスピーカ中継基板４７を介してスピーカ３０（３０ａ〜３０ｄ）に与えられる。
【００３７】
なお、音源ＩＣ４２ｄは演出制御基板４２に対して設けることに限らず、演出制御基板４２とは別基板上に設けることもできる。
【００３８】
また、演出制御基板４２は、演出インターフェース基板４３を介して主制御基板４０からのコマンドを受け取る。例えば主制御基板４０は、演出制御基板４２に対して、スピーカ３０（３０ａ〜３０ｄ）による音演出、ＬＥＤランプや冷陰極線管放電管によるランプ演出、ＬＣＤユニット７による図柄演出、役物などの可動体を用いた可動体演出を実現するための制御コマンドを出力し、演出制御基板４２はその制御コマンドに応じた演出制御処理を行う。
ここで、以下、主制御基板４０が演出制御基板４２に対して出力する制御コマンドのことを「演出制御コマンド」と表記する。
【００３９】
本例において、演出制御コマンドは、１バイト長のモード（ＭＯＤＥ）と、同じく１バイト長のイベント（ＥＶＥＮＴ）からなる２バイト構成により機能を定義する。
ＭＯＤＥとＥＶＥＮＴの区別を行うために、ＭＯＤＥのＢｉｔ７はＯＮ、ＥＶＥＮＴのＢｉｔ７をＯＦＦとしている。
これらの情報を有効なものとして送信する場合、モード（ＭＯＤＥ）およびイベント（ＥＶＥＮＴ）各々に対応してストローブ信号が出力される。すなわち、主制御基板４０（後述するＣＰＵ８０ａ）は、送信すべきコマンドがある場合、演出制御基板４２にコマンドを送信するためのモード（ＭＯＤＥ）情報の設定および出力を行い、この設定から所定時間経過後に１回目のストローブ信号の送信を行う。さらに、このストローブ信号の送信から所定時間経過後にイベント（ＥＶＥＮＴ）情報の設定および出力を行い、この設定から所定時間経過後に２回目のストローブ信号の送信を行う。
ストローブ信号は主制御基板４０により、演出制御基板４２のＣＰＵ４２ａが確実にコマンドを受信することが可能な所定期間アクティブ状態に制御される。
また演出制御基板４２のＣＰＵ４２ａ）は、ストローブ信号の入力に基づいて割込を発生させてコマンド受信割込処理用の制御プログラムを実行し、この割込処理において演出制御コマンドが取得される。
【００４０】
演出制御基板４２では、主制御基板４０から内部抽選結果を特定する演出制御コマンド（遊技開始コマンド）受けると、内部抽選結果に対応してアシストタイム当選状態とするか否かのＡＴ抽選を実行する。
なお、演出制御基板４２は、ＡＴ抽選に当選した後の所定回数のゲーム（ＡＴ中）では、小役当選状態において、その図柄を所定の図柄停止ラインに整列できるよう、３つの回転リール４ａ、４ｂ、４ｃの停止順序を遊技者に報知する制御を行う。
また演出制御基板４２は、主制御基板４０からのリール演出実行を示す演出制御コマンドを受けると、主制御基板４０で実行するリール演出に対応する演出動作を開始する。
これらのような演出制御動作のため、演出制御基板４２は、演出インターフェース基板４３を通して各部と必要な通信を行う。
【００４１】
演出制御基板４２は、演出インターフェース基板４３、及び液晶インターフェース基板４５を介して液晶制御基板４４に接続されている。
液晶制御基板４４は、ＬＣＤユニット７における画像表示による演出の制御を行う。この液晶制御基板４４には、ＶＤＰ（Video Display Processor）、画像ＲＯＭ、ＶＲＡＭ（Video RAM）、液晶制御ＣＰＵ、液晶制御ＲＯＭ、液晶制御ＲＡＭ等が搭載される。
ＶＤＰは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ＲＯＭには、ＶＤＰが画像展開処理を行う画像データ（演出画像データ）が格納されている。
ＶＲＡＭは、ＶＤＰが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御ＣＰＵは、ＶＤＰが表示制御を行うために必要な制御データを出力する。
液晶制御ＲＯＭには、液晶制御ＣＰＵの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御ＲＡＭは、ワークエリアやバッファメモリとして機能する。
このような液晶制御基板４４は、演出制御基板４２からの表示演出に関するコマンドを受け付け、それに応じて表示駆動信号を生成する。そして液晶インターフェース基板４５を介してＬＣＤユニット７に表示駆動信号を供給し、画像表示を実行させる。
【００４２】
また演出制御基板４２は、演出インターフェース基板４３を介して、ＬＥＤ基板４８や回胴ＬＥＤ中継基板５６を経由して各種のＬＥＤによるランプ演出を実現している。
ＬＥＤ基板４８には、例えば図１に示したＬＥＤ演出部１５ａ、１５ｂ、１５ｃとしてのＬＥＤが配置されている。
回胴ＬＥＤ中継基板５６は、第１回胴ＬＥＤ基板５０ａ、第２回胴ＬＥＤ基板５０ｂ、第３回胴ＬＥＤ基板５０ｃについて演出制御基板４２からのＬＥＤ駆動信号を中継する。
第１回胴ＬＥＤ基板５０ａには、回転リール４ａの図柄を内側から照射する回胴用ＬＥＤが配置されている。第２回胴ＬＥＤ基板５０ｂには、回転リール４ｂの図柄を内側から照射する回胴用ＬＥＤが配置されている。また、第３回胴ＬＥＤ基板５０ｃには、回転リール４ｃの図柄を内側から照射する回胴用ＬＥＤが配置されている。
【００４３】
また、演出制御基板４２は、可動体駆動部１０２を制御して可動体演出を実現させる。可動体駆動部１０２は、スロットマシンが備える可動体（不図示）を駆動するモータやソレノイド等のアクチュエータと、アクチュエータの駆動回路（ドライバ回路）とを備えており、演出制御基板４２は可動体駆動部１０２の制御を行うことで可動体を動作させて可動体演出を実現させる。
【００４４】
主制御基板４０は、遊技中継基板６０を介して、図６のようにスロットマシンの各種遊技部材に接続されている。
遊技表示基板６１は、遊技状態を示すＬＥＤ群９や、７セグメントＬＥＤを有した払出表示部１０や、同じく７セグメントＬＥＤを有した貯留数表示部１１を搭載している。主制御基板４０は、遊技表示基板６１に対して、遊技中継基板６０を介して制御コマンドを送信し、遊技状態に応じた表示を実行させるように制御している。
【００４５】
始動スイッチ基板６２には、スタートレバー１７による始動スイッチが搭載されている。
停止スイッチ基板６３には停止ボタン１８ａ、１８ｂ、１８ｃによる停止スイッチが搭載されている。
貯留メダル投入スイッチ基板６４には、マックス投入ボタン１６の投入スイッチが搭載されている。
精算スイッチ基板６５には清算ボタン１４の清算スイッチが搭載されている。
主制御基板４０は、これらの基板（６１、６２、６３、６４、６５）のスイッチによる遊技者操作の検出信号を、遊技中継基板６０を介して受信する。
【００４６】
ドアセンサ６６は、前面パネル２の前述した鍵穴に対して設けられたセンサである。ドアセンサ６６によって、前述した遊技の中止解除動作を認識可能とされている。
メダル通過センサ６７及びレバー検出センサ６８は、メダル選別装置２１に設けられている。メダル通過センサ６７は、メダルの通過経路に沿って配置されそれぞれが例えばフォトインタラプタで構成された第一センサと第二センサとを備えており、選別された正規のメダルの通過を検出する。レバー検知センサ６８は、例えばフォトマイクロセンサで構成され、メダル投入口１２から投入されたメダルの通過に応じて動作するセンサレバーにより遮蔽されるセンサである。つまり、メダル投入口１２から投入されたメダルは、レバー検知センサ６８を通過した後に正規のメダルだけが選別された後、メダル通過センサ６７によりその通過が検出される。
主制御基板４０は、これらのセンサ（６６、６７、６８）の検出信号を、遊技中継基板６０を介して受信する。さらに、主制御基板４０は、受信したセンサの検出信号により投入されたメダルの投入時間や通過方向を検出し、所定の規定に合致した場合にのみ投入メダルとして受け付け、それ以外の場合には投入メダルエラーとして処理する。
ブロッカーソレノイド６９は、不正メダルの通過を阻止するブロッカーをＯＮ／ＯＦＦに駆動する。主制御基板４０は、遊技中継基板６０を介してブロッカーソレノイドを制御する。尚、本例においては、ブロッカーソレノイド６９をＯＦＦすることで投入メダルが排出される。
【００４７】
また、主制御基板４０は、回胴中継基板５３を経由して、回転リール４ａ、４ｂ、４ｃを回転させる３つのステッピングモータ５４（第１回胴ステッピングモータ５４ａ、第２回胴ステッピングモータ５４ｂ、第３回胴ステッピングモータ５４ｃ）と接続されている。
さらに主制御基板４０は、回胴中継基板５３を経由して、回転リール４ａ、４ｂ、４ｃの原点位置（後述する原点位置１０１）を検出するための３つのインデックスセンサ５５（第１回胴インデックスセンサ５５ａ、第２回胴インデックスセンサ５５ｂ、第３回胴インデックスセンサ５５ｃ）に接続されている。
主制御基板４０は、ステッピングモータ５４ａ、５４ｂ、５４ｃを駆動または停止させることによって、回転リール４ａ、４ｂ、４ｃの回転動作と、目的位置での停止動作を実現している。また主制御基板４０は、インデックスセンサ５５ａ、５５ｂ、５５ｃの検出信号に基づき、回転リール４ａ、４ｂ、４ｃの原点位置を検知できる。
【００４８】
また、主制御基板４０は、払出接続基板７３を介してメダル払出のための装置部にも接続されている。メダル払出のための装置部として、メダル払出制御を行うホッパー基板７４と、払出モータ７５と、メダル払出センサ７６が設けられている。
ホッパー基板７４は、主制御基板４０からの払出制御信号に基づいて払出モータ７５を回転させて、所定量のメダルを払出しする。
メダル払出センサ７６は、払出メダルの通過を検出する。メダル払出センサ７６による検出信号は、払出メダル枚数の不足や払出動作が行われないなどの払出異常状態の検出に用いられる。
【００４９】
また主制御基板４０は、外部集中端子板７０に接続されている。外部集中端子板７０は、例えばホールコンピュータに接続されており、主制御基板４０は、外部集中端子板７０を通して、メダルの投入枚数やメダルの払出枚数などをホールコンピュータに出力している。
【００５０】
また主制御基板４０は、回胴設定基板７１にも接続されている。回胴設定基板７１に対しては設定キーの操作に応じてＯＮ／ＯＦＦされる設定キースイッチ７２ａとリセットボタンの操作に応じてＯＮ／ＯＦＦされるリセットスイッチ７２ｂとが設けられている。回胴設定基板７１は、係員が上記の設定キーやリセットボタンを用いて設定した設定値ｖｄを示す信号などを出力している。
ここで、設定値ｖｄとは、当該スロットマシンで実行される抽選処理の当選確率、換言すれば、遊技者に有利な遊技状態に当選させるか否かの確率についての段階を表す値であり、遊技ホールの営業戦略に基づいて適宜に設定される。本例では、当選確率の段階は６段階とされ、設定値ｖｄとしては設定「１」〜設定「６」までの６段階のうち任意の段階を表す値を設定可能とされている。この際、設定値ｖｄ自体の値としては、「０」〜「５」が割り当てられる。
本例では、設定値ｖｄの値が大きいほど当選確率が高くされている。
【００５１】
ホールの係員等は、所定の操作により設定値ｖｄの変更を行うことができる。具体的に、設定値ｖｄの変更を行うにあたっては、先ず、前面パネル２を開放し、設定キースイッチ７２ａをＯＮにしたまま（本例では設定キーを右に回したまま）で電源をＯＮにする。すると、回胴設定基板７１に対して設けられた表示器に現在設定されている段階を表す設定の値（「１」〜「６」の何れか）が表示され、この状態でリセットボタンを押す（リセットスイッチ７２ｂがＯＮとなる）ごとに表示値が＋１される（表示値「６」の次は「１」に戻る）。さらに、このようなリセットボタンによる値の選択後、スタートレバー１７を操作することで、設定値ｖｄが選択した値に応じた値に確定され、その後、設定キースイッチ７２ａをＯＦＦする（本例では設定キーを左に回す）ことで、設定値ｖｄの変更が終了する。
なお、このような設定値ｖｄの変更を可能とするために主制御基板４０（後述するＣＰＵ８０ａ）が行う設定変更処理については図１２で後述する。
【００５２】
続いて、図７で主制御基板４０の回路構成を説明する。
図示の通り、主制御基板４０は、ワンチップマイコンによるコントローラ８０と、８ビットパラレルデータを入出力するＩ／Ｏポート回路８３と、カウンタ回路８１と、各部とのインターフェース部を有して構成されている。
【００５３】
コントローラ８０は、ＣＰＵ８０ａ、ＲＯＭ８０ｂ、ＲＡＭ８０ｃの他、割込コントローラ８０ｄやＣＴＣ(Counter/Timer Circuit) ８０ｅ等を内蔵している。なお、ＲＡＭ８０ｃには、不揮発性のメモリが用いられている。
ＣＴＣ８０ｅは、８ビットのカウンタやタイマを集積した回路であり、ＣＰＵ８０ａの処理における周期的割り込みや一定周期のパルス出力作成機能（ビットレートジェネレータ）、時間計測の機能を付与するものである。本例では、ＣＴＣ８０ｅを利用して、ＣＰＵ８０ａに１．４９ｍｓの時間間隔でタイマ割込み（後述の図１１）をかけている。
【００５４】
カウンタ回路８１はハードウェア的に乱数値を生成する回路である。コントローラ８０（ＣＰＵ８０ａ）はカウンタ回路８１で生成された乱数値を利用して抽選処理を行う。
【００５５】
主制御基板４０には、コントローラ８０と図６に示した各基板等とのインターフェースが設けられる。
電源インターフェース８２は電源基板４１の電源回路との間のインターフェースである。
遊技インターフェース８４は遊技中継基板６０との間のインターフェースである。コントローラ８０は、遊技インターフェース８４を介して各種スイッチ、センサの検出信号の入力や、ＬＥＤ制御、ブロッカーソレノイド制御のためのコマンド送信を行う。
回胴モータ駆動部８５は回胴中継基板５３との間のインターフェースである。コントローラ８０は、回胴モータ駆動部８５によりステッピングモータ５４ａ、５４ｂ、５４ｃに対するモータ駆動信号の出力を行うと共に、回胴モータ駆動部８５を経由して入力されるインデックスセンサ５５ａ、５５ｂ、５５ｃからの検出信号を取得する。
演出制御インターフェース８６は、コントローラ８０が演出インターフェース基板４３を介して演出制御基板４２へのコマンド送信を行うためのインターフェースである。具体的には例えば８ビットパラレルポートである。
払出接続インターフェース８７は払出接続基板７３とのインターフェースである。
【００５６】
外部インターフェース８８は、外部集中端子板７０を介したホールコンピュータとのインターフェースである。
回胴設定インターフェース８９は、回胴設定基板７１との間のインターフェースである。
【００５７】
＜３．回転リール＞
続いて、回転リール４ａ、４ｂ、４ｃについて説明する。
図８は、回転リール４ａ、４ｂ、４ｃに対する原点検出に係る構成についての説明図である。原点検出とは、各回転リール４ａ、４ｂ、４ｃに設けられた特定の位置、即ち、原点の検出である。
なお、原点検出に係る構成は、回転リール４ａ〜４ｃのそれぞれについて同様であるため、ここでは代表して一つの回転リールを回転リール４として図示している。図８Ａは原点検出に係る構成を斜視図により示し、図８Ｂは回転リール４に形成された被検出部９３ｄと原点位置１０１との関係を概略断面図により示している。
【００５８】
図８Ａには、ステッピングモータ５４が備えるロータ５４ｒの中心軸である回転軸Ｒａを一点鎖線により示している。回転リール４は、回転軸Ｒａの軸周りに回転駆動されるリールドラム９０と、リールドラム９０の内側に配置されたバックライト部９１と、リールドラム９０を直接的または間接的に支持するベース体９２とを備えている。
【００５９】
ベース体９２は、例えば合成樹脂で構成され、略板状に形成されたベース板９２ｂと、ベース板９２ｂから回転軸Ｒａに沿った方向に突出する突出部９２ｔを有している。ベース板９２ｂは、リールドラム９０の左右方向の一方側（ここでは右側）に沿って配置されている。ステッピングモータ５４は、ロータ５４ｒ（回転軸Ｒａ）を左右方向の一方側（ここでは左側）に向けた状態で、ベース体９２の一面側（ここでは左面側）に固定されている。
この場合、突出部９２ｔは、ベース板９２ｂから左側方向に突出している。
【００６０】
リールドラム９０は、二つのリールフレーム９３、９４と、これらリールフレーム９３０、９４の外周に円筒状に装着される帯状のリールシート９５とを有して構成されている。リールフレーム９３、９４は、例えば光透過性を有しないかまたは光透過率が極めて低い黒色の合成樹脂製で構成されており、それぞれ外周部がリム部９３ｒ、９４ｒとして形成されている。リールフレーム９３のリム部９３ｒ、リールフレーム９４のリム部９４ｒは、それぞれリールシート９５の左右の縁部に沿う円環状に形成されている。
リールフレーム９３は、ステッピングモータ５４のロータ５４ｒに着脱自在に固定されたハブ部９３ｈと、リム部９３ｒとハブ部９３ｈとの間を半径方向に連結する複数のスポーク部９３ｓとを有している。
【００６１】
ここで、本例の場合、リールフレーム９４は、リールフレーム９４に対して直接的には連結されておらず、リールフレーム９４のリム部９４ｒはリールシート９５を介してリールフレーム９３のリム部９３ｒに支持されている（勿論、リム部９４ｒとリム部９３ｒとの間を周方向の１または複数箇所で例えば一体に連結することもできる）。
【００６２】
リールシート９５は、例えば無色透明の合成樹脂製シートにより一定幅の帯状に形成され、リールフレーム９３、９４のリム部９３ｒ、９４ｒに巻き付けられ、例えば接着剤により貼着されている。この図では図示を省略したが、リールシート９５上には、複数の図柄が印刷により形成されている。
リールシート９５における図柄形成領域は光透過率が比較的高くされており、バックライト部９１におけるＬＥＤが点灯したときに発光するようになっている。
【００６３】
インデックスセンサ５５は、例えば透過型フォトセンサにより構成され、図のように本例ではベース板９２ｂからリールドラム９０に突出する突出部９２ｔの先端部分に装着されている。インデックスセンサ５５は、発光面、受光面がリールフレーム９３の半径方向において互いに対向するように配置された発光部５５１と受光部５５２を有している。
【００６４】
本例の場合、リールドラム９３の所定のスポーク部９３ｓには、インデックスセンサ５５と対向する向きに突出する被検出部９３ｄが形成されている。この被検出部９３ｄは、リールドラム９０の回転に伴い、インデックスセンサ５５の発光部５５１と受光部５５２との間の空間を通過する位置に形成されている。
【００６５】
このような構成により、透過型フォトセンサとしてのインデックスセンサ５５によっては、リールドラム９０（回転リール４）の回転の一周回につき１回、発光部５５１と受光部５５２との間を被検出部９３ｄが通過することに伴うＯＮパルスの出現する検出信号が得られる。
【００６６】
ここで、図８Ｂに示すように、被検出部９３ｄは、回転方向Ｒ（正回転方向）に平行な方向おける両エッジ（端部）のうち一方のエッジが原点位置１０１と同じ回転角度に位置するように位置決めされている。具体的に、本例の被検出部９３ｄは、正回転方向（Ｒ）への回転進行方向側のエッジが原点位置１０１と同じ回転角度に位置するように位置決めされている。
【００６７】
なお、原点検出のための構成は、上記で説明したものに限定されるべきものではない。例えば、突起状の被検出部９３ｄに代えて、特開２０１４−３３７４３号公報に開示されているような切欠部による被検出部を設けた構成とすることもできる。この場合、インデックスセンサ５５の発光部５５１と受光部５５２は、回転リール４の回転に伴い切欠部が到来したときに発光部５５１の発した光が受光部５５２で受光されるように配置すればよい。
インデックスセンサ５５としては、透過型のフォトセンサに限らず、反射型のフォトセンサを用いることもできる。
【００６８】
続いて、回転リール４ａ、４ｂ、４ｃを回転させる各ステッピングモータ５４ａ、５４ｂ、５４ｃの駆動方式と回転リール４ａ、４ｂ、４ｃに形成された図柄との関係について、その一例を説明する。
本実施形態において、ステッピングモータ５４ａ、５４ｂ、５４ｃはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた２つの駆動巻線を有している。本実施形態の場合、ステッピングモータ５４ａ、５４ｂ、５４ｃの駆動は、例えば、１相励磁と２相励磁とを交互に繰り返す１−２相励磁によって行われる。１−２相励磁による駆動方法は、１相励磁や２相励磁の駆動方法と比較して、ステップ角を半分にしたなめらかな駆動を実現できる。１−２相励磁の励磁パターン（励磁データ）の更新周期はタイマ割込み処理の周期である１．４９ｍｓとされる。
【００６９】
図９は、回転リール４ａ、４ｂ、４ｃに形成された図柄についての説明図である。
本例において、回転リール４ａ、４ｂ、４ｃの表面には、回転方向に沿って２１コマ分の図柄が配置されている。回転リール４ａ、４ｂ、４ｃのそれぞれにおいて、図柄の種類は１０種類（赤７、白７、バー、キャラ、チェリー、すいか、ベル、リプレイ、はずれ１、はずれ２）とされ、それらが所定の順序で配列されている。図中では、回転リール４ａに形成された２１コマの図柄をそれぞれ図柄４ａ１、４ａ２、・・・、４ａ２１と表している。同様に、回転リール４ｂに形成された２１コマの図柄を図柄４ｂ１、４ｂ２、・・・、４ｂ２１、回転リール４ｃに形成された２１コマの図柄を図柄４ｃ１、４ｃ２、・・・、４ｃ２１と表している。各図柄の符号の末尾に付した番号は、その図柄の番号を表している。
【００７０】
回転リール４ａ、４ｂ、４ｃにおいて、各図柄は等間隔で配置され、図中では図柄の切れ目位置を破線で表している。回転リール４ａ、４ｂ、４ｃにおいては、所定の図柄切れ目位置が原点位置１０１とされている。本例における原点位置１０１は、それぞれ１番目の図柄である図柄４ａ１、４ｂ１、４ｃ１と、２１番目の図柄である図柄４ａ２１、４ｂ２１、４ｃ２１との間の図柄切れ目位置にそれぞれ設定されている。
【００７１】
図中の矢印Ｒは、定常回転中（正方向回転中）における回転リール４ａ、４ｂ、４ｃの回転方向を表している。このことから理解されるように、各図柄に付した番号は、原点位置１０１を起点として、定常回転中において図柄が遷移する順番を表している。
【００７２】
ここで、本例においては、ステッピングモータ５４ａ、５４ｂ、５４ｃが１回転すると回転リール４ａ、４ｂ、４ｃがそれぞれ１／６３回転するようにステッピングモータ５４ａ、５４ｂ、５４ｃと回転リール４ａ、４ｂ、４ｃとの間の回転比が設定されている。換言すれば、回転リール４ａ、４ｂ、４ｃを１回転させるにはステッピングモータ５４ａ、５４ｂ、５４ｃを６３回転させることを要する。
本例においては、ステッピングモータ５４ａ、５４ｂ、５４ｃを１回転させるために必要な駆動ステップ数は８ステップとなるため、回転リール４ａ、４ｂ、４ｃを１回転させるために必要なステッピングモータ５４ａ、５４ｂ、５４ｃの駆動ステップ数は８×６３＝５０４とされている。
【００７３】
本例における回転リール４ａ、４ｂ、４ｃには２１コマの図柄が等間隔で形成されているため、図柄１コマ当たりのステップ数は５０４÷２１＝２４ステップである。
これに応じ、各図柄については、ステップ位置として計２４の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図１１で説明するタイマ割込み処理ごとに図柄ステップ数がデクリメント（−１）されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、２４番（先頭ステップ位置）〜１番（最終ステップ位置）の２４個である。その図柄の最終ステップ位置（１番）に到達した状態から図柄ステップ数が更にデクリメントされると、図柄ステップ数は２４番（＝０番）へと戻る。
【００７４】
また、各図柄については、２４（０）番〜１番のステップ位置のうち所定のステップ位置がその図柄の停止を許可すべき位置（停止許可ステップ位置）として定められている。具体的には、８番のステップ位置が図柄の停止許可ステップ位置として定められている。回転リール４の停止時には停止図柄が決定され、該停止図柄で回転リール４を停止させるが、この際、回転リール４を停止させる位置は停止図柄中のどのステップ位置でも良いわけではなく、８番のステップ位置に達したことに応じて停止を許可するように定められている。
【００７５】
＜４．主制御側起動処理＞
図１０のフローチャートを参照して、主制御基板４０（コントローラ８０）におけるＣＰＵ８０ａが実行する主制御側起動処理について説明する。
この主制御側起動処理は、電源投入時とコントローラ８０におけるウォッチドッグタイマ（ＷＤＴ）のタイムアウト時のそれぞれで発生するリセット信号に応じてＣＰＵ８０ａが実行するものである。すなわち、主制御側起動処理は、スロットマシンの電源投入に伴うコントローラ８０の起動時と、コントローラ８０の動作が何らかの不具合により所定時間以上停滞したことに伴う再起動時に実行されるものである。
【００７６】
図１０において、主制御基板４０のＣＰＵ８０ａは、ステップＳ１０１の割込みモード設定処理として割込み処理のモードを初期モードに設定する処理を行い、続くステップＳ１０２でＲＡＭ８０ｃのスタックポインタ先頭アドレスを所定のアドレス（例えば８０００）にセット（初期化）する。
【００７７】
次いで、ＣＰＵ８０ａは、ステップＳ１０３の乱数設定処理として、使用乱数回路とラッチ方法の選択、及び乱数ラッチ割込みの禁止設定を行う。具体的には、４つの乱数回路（０〜３）のうちから一つの乱数回路（例えば０）を、またラッチ方向としてハードラッチを選択すると共に、乱数を取り込んだときの割込要求を禁止する設定を行う。
その上で、ＣＰＵ８０ａはステップＳ１０４で割込み禁止設定、続くステップＳ１０５でＲＡＭ８０ｃへのアクセス禁止設定、さらに続くステップＳ１０６でサブブートタイマの設定（本例では約１秒）をそれぞれ行った上で、ステップＳ１０７で電源異常か否かを判定する。なお、電源異常か否かの判定は、前述した電源基板４１より電源異常信号Ｅｖが入力されているか否かを判別することで行う。
電源異常である場合、ＣＰＵ８０ａは先のステップＳ１０１から処理をやり直し、電源異常でない場合、ＣＰＵ８０ａはステップＳ１０８に進んでＷＤＴをクリアした上で、ステップＳ１０９でサブブートタイマの値を確認する。サブブートタイマの値が０以外である場合、ＣＰＵ８０ａはステップＳ１０７から処理をやり直し、サブブートタイマの値が０であればステップＳ１１０に進む。すなわち、ステップＳ１０７で電源異常と判定されない限り、ステップＳ１０６のサブブートタイマ設定処理で設定した時間が経過するまでステップＳ１０８のＷＤＴのクリア処理を繰り返して待機するループが形成されている。
【００７８】
ステップＳ１１０でＣＰＵ８０ａは、外部クロック異常か否かの判定処理として、外部より入力されるクロックが異常であるか否かを判定する。外部クロック異常である場合、ＣＰＵ８０ａは後の図１１に示す動作停止エラー処理を実行する。
【００７９】
外部クロック異常でない場合、ＣＰＵ８０ａはステップＳ１１１に進んでＲＡＭアクセス許可設定（ＲＡＭ８０ｃへのアクセスを許可）を行った上で、ステップＳ１１２で各種センサ、スイッチからの信号入力を行う。具体的には、前述したドア開放センサ３５による検出信号と設定キースイッチ７２ａからの信号を入力する。
【００８０】
続くステップＳ１１３でＣＰＵ８０ａは、ドア開放センサ３５による検出信号に基づいてドア（前面パネル２）が開放状態であるか否かを判定する。
ドアが開放状態でない場合、ＣＰＵ８０ａはステップＳ１１５に進む。
また、ドアが開放状態である場合、ＣＰＵ８０ａはステップＳ１１４に進んで、設定キースイッチ７２ａがＯＮか否かを判定する。設定キースイッチがＯＮでない、即ちドアが開放されているものの設定キーＯＮ操作が行われていない場合、ＣＰＵ８０ａはステップＳ１１５に進む。
なお、上記説明から理解されるように、ステップＳ１１３でドアが開放状態でなければ、ステップＳ１１４における設定キースイッチ７２ａのＯＮ／ＯＦＦ判定が行われない。つまり、この場合における設定キー操作は無効扱いとされる。このようにドアが開放されていない場合の設定キー操作を無効扱いとすることで、設定値ｖｄを改竄する不正行為の防止を図っている。
【００８１】
ステップＳ１１５でＣＰＵ８０ａは、設定値ｖｄが適正範囲内の値であるか否かを判定する。ここで、ＲＡＭ８０ｃにおいては、設定値ｖｄを格納するための領域が予め設定されており、ステップＳ１１５では当該ＲＡＭ８０ｃの所定の領域に格納されている設定値ｖｄを読み出し、該設定値ｖｄが適正範囲内の値であるか否か（つまり本例では設定「１」〜設定「６」に対応した「０」〜「５」の範囲内か否か）を判定する。
【００８２】
設定値ｖｄが適正範囲内の値であれば、ＣＰＵ８０ａはステップＳ１１６でチェックサムが正常か否かを判定する。
ここで、電源遮断時には、ＣＰＵ８０ａは、ＲＡＭ８０ｃの所定の対象領域についてチェックサムを算出し、ＲＡＭ８０ｃにおける所定領域（上記の対象領域とは異なる領域）に格納する処理を行っている。ステップＳ１１６の処理では、ＲＡＭ８０ｃにおける上記対象領域について同様にチェックサムを算出し、算出したチェックサムが電源遮断時に上記の所定領域に格納したチェックサムと一致するか否かを判定する。
双方のチェックサムが一致している（チェックサムが正常である）場合、上記対象領域における格納データについて、電源遮断前との同一性が証明されたことになる。しかし、電源遮断時にチェックサム算出が実行できなかった場合や、実行できても、その後、ステップＳ１１６でのチェックサム算出の実行時までの間に上記対象領域のデータが破損又は改竄されている場合もある。このような場合には、ステップＳ１１６の判定結果は不一致となる。
【００８３】
ステップＳ１１６において、双方のチェックサムが一致し正常と判定した場合、ＣＰＵ８０ａはステップＳ１１７に進みスタックポインタが正常であるか否かを判定し、正常と判定した場合は電断復帰処理を実行する。
図示による説明は省略するが、電断復帰処理においては、ＲＡＭ８０ｃの格納情報に基づいて、電源遮断前の状態に復帰（いわゆるホットスタート）するための各種設定が行われる。ＣＰＵ８０ａは、当該電断復帰処理を実行したことに応じ、後述するメインループ処理（図１３）に移行する。
【００８４】
ここで、ＣＰＵ８０ａは、先のステップＳ１１０で外部クロック異常と判定した場合、又はステップＳ１１５で設定値ｖｄが適正範囲内の値でないと判定した場合、又はステップＳ１１６でチェックサムが正常でないと判定した場合、又はステップＳ１１７でスタックポインタが正常でないと判定した場合は、図１１に示す動作停止エラー処理を実行する。
【００８５】
図１１に示す動作停止エラー処理において、ＣＰＵ８０ａは、ステップＳ２０１で割込み禁止設定を行い、続くステップＳ２０２でタイマ割込み禁止設定、ＩＮＴ割込み許可設定を行った上で、ステップＳ２０３でＲＡＭ８０ｃへのアクセスを禁止する設定を行う。
そして、続くステップＳ２０４でＣＰＵ８０ａは割込み許可設定を行い、その後は、ステップＳ２０５のエラー表示処理を繰り返し実行する（無限ループ）。なお、当該エラー表示処理としては、例えば前述した払出表示部１０に所定のエラーコードを表す値を表示させるための処理を行う。
【００８６】
このように、図１０の起動処理において外部クロック、設定値ｖｄ、チェックサム、スタックポインタの異常がそれぞれ検知された場合には、エラー表示処理を無限に繰り返す動作停止エラー処理が実行される。
このような動作停止エラー処理が実行されると、スロットマシンにおけるゲームの進行はもはや不能となる。この意味で、当該動作停止エラー処理はゲームの進行を不能化する不能化処理と換言することができる。
【００８７】
ここで、上記により説明した主制御側起動処理が実行されることで、例えば設定値ｖｄの不正な書き替えが行われる等により起動時にＲＡＭ８２ｃに不適正な設定値ｖｄが保持（記憶）されていた場合には、動作停止エラー処理によりゲームの進行が不能化される。
但し、ステップＳ１１３及びＳ１１４の判定処理により設定変更操作が検知されて設定変更処理が実行された場合には、後の説明からも理解されるように、当該設定変更処理の終了後にはＣＰＵ８０ａはメインループ処理に移行するため、ゲームの進行が可能な状態になる。
このことから理解されるように、本例のスロットマシンにおいては、設定値ｖｄを変更する操作が行われることを条件に、ゲーム進行の不能化状態が解除される。
【００８８】
ここで、本例において、ＣＰＵ８０ａは、上記した設定値ｖｄやチェックサム等の各種の異常（エラー）が検出された場合には、エラーを通知するためのエラーコマンドとしての演出制御コマンドを演出制御基板４２に対して送信する。
【００８９】
＜５．設定変更処理＞
ＣＰＵ８０ａは、図１０に示すステップＳ１１４で設定キースイッチ７２ａがＯＮであると判定した場合（ドアが開放状態で且つ設定キーＯＮ操作が行われている場合）には、図１２に示す設定変更処理を実行する。
【００９０】
図１２に示す設定変更処理において、ＣＰＵ８０ａは、先ずステップＳ３０１で設定変更時ＲＡＭクリア処理を実行する。即ち、ＲＡＭ８０ｃにおける設定変更時に対応して定められた領域（設定値ｖｄの格納領域は含まれていない）をクリアする処理を行う。
そして、次のステップＳ３０２でＣＰＵ８０ａは、割込み設定処理として、設定変更処理時に対応した割込みモードの設定を行う。
【００９１】
続くステップＳ３０３でＣＰＵ８０ａは、ＲＡＭ８０ｃに格納されている設定値ｖｄを読み出した上で、ステップＳ３０４で設定値ｖｄがＭＡＸ（本例では設定「６」に対応した「５」）以上なら０クリアする処理を行う。これは、後述するステップＳ３１１でリセットボタン操作に応じて設定値ｖｄが＋１されたことに伴い設定値ｖｄが「５」以上なったときに、設定値ｖｄが「０」（設定「１」に対応する値）に戻されるようにするためである。
【００９２】
続くステップＳ３０５でＣＰＵ８０ａは、設定値コマンドをセットする。設定値コマンドとは、ＲＡＭ８０ｃに格納されている設定値ｖｄを演出制御基板４２のＣＰＵ４２ａに対して通知するためのコマンドである。コマンドのセットは、演出制御インターフェース８６（図７参照）における送信バッファに対して行う。
このように送信バッファにセットされたコマンドは、後述するタイマ割込み処理（図１４）のコマンド出力処理（Ｓ５０５）において演出制御基板４２側に送信される。
【００９３】
ステップＳ３０５のコマンドセット処理を実行したことに応じ、ＣＰＵ８０ａは、ステップＳ３０６の設定値表示処理として、前述した回胴設定基板７１に対して設けられた表示器に現在の設定値ｖｄに応じた値を表示させるための処理を行う。なお、ここで言う現在の設定値ｖｄとは、ステップＳ３０５でセットしたコマンドにおいて指定した設定値ｖｄを意味する。
そして、ＣＰＵ８０ａは、続くステップＳ３０７の乱数更新処理として、先のステップＳ１０３で０ラッチした乱数についての更新処理を行い、次のステップＳ３０８で１タイマ割込み分の待機処理を行った上で、ステップＳ３０９に処理を進める。
【００９４】
ステップＳ３０９でＣＰＵ８０ａは、スタートレバー１７（始動スイッチ）のＯＮ／ＯＦＦを確認する。これは、設定値ｖｄの確定操作の有無を確認していることに相当する。
スタートレバー１７がＯＦＦであれば、ＣＰＵ８０ａはステップＳ３１０に進んでリセットボタン（リセットスイッチ７２ｂ）のＯＮ／ＯＦＦ、即ち設定値ｖｄの送り操作の有無を確認し、リセットボタンがＯＦＦであればステップＳ３０７の乱数更新処理に戻る。
これにより、スタートレバー１７による設定値ｖｄの確定操作、又はリセットボタンによる設定値ｖｄの送り操作の何れかが行われるまで、乱数更新（Ｓ３０７）と１タイマ割込み分の待機処理（Ｓ３０８）とが繰り返し行われる。
【００９５】
ステップＳ３１０において、リセットボタンがＯＮであれば、ＣＰＵ８０ａはステップＳ３１１に進んで設定値ｖｄをインクリメント（＋１）した上で、先のステップＳ３０４に戻る。
【００９６】
また、ステップＳ３１１において、スタートレバー１７がＯＮであれば、ＣＰＵ８０ａはステップＳ３１２に進み、現在の設定値ｖｄ（つまり直近のステップＳ３０６で表示させた設定値ｖｄ）をＲＡＭ８２ｃの所定領域にセットする（記憶させる）。
【００９７】
ステップＳ３１２で設定値ｖｄをＲＡＭ８２ｃにセットすると、ＣＰＵ８０ａはステップＳ３１３で設定値確定ドットの表示、即ち回胴設定基板７１に設けられた表示器に設定値ｖｄが確定した旨を表す表示を行わせる（例えば、当該表示器に表示中の数値情報を点滅表示させる、或いは表示輝度を上昇させるなど）。
【００９８】
そして、ＣＰＵ８０ａは、続くステップＳ３１４及びステップＳ３１５により、設定値ｖｄの変更終了操作を待機する処理を実行する。即ち、ステップＳ３１４で１タイマ割込み分待機する処理を実行した上で、ステップＳ３１５で設定キースイッチ７２ａのＯＮ／ＯＦＦを確認し、ＯＮである場合にはステップＳ３１４に戻る。
【００９９】
設定キースイッチ７２ａがＯＦＦであれば、ＣＰＵ８０ａはステップＳ３１６に進み、先のステップＳ３１３で確定表示を実行させた表示器における数値表示をクリアさせた上で、ステップＳ３１７で設定変更終了コマンドをセットする。この設定変更終了コマンドは、演出制御基板４２側に対して設定値ｖｄの変更処理が終了した旨を通知するためのコマンドである。
【０１００】
ステップＳ３１７のコマンドセット処理を実行したことに応じ、この図に示す設定変更処理は終了となる。
ＣＰＵ８０ａは、設定変更処理を終了したことに応じて、図１３に示すメインループ処理に移行する。
【０１０１】
＜６．メインループ処理＞
図１３は、主制御基板４０のＣＰＵ８０ａが実行するメインループ処理のフローチャートである。
ＣＰＵ８０ａは、メインループ処理として、ステップＳ４０１〜Ｓ４１７で表す一連の処理を繰返す。メインループ処理は、１ゲームごとに繰り返し実行されるものである。
尚、１ゲームの期間は、スタートレバー１７の操作受け付けが可能となる契機の発生から停止ボタン１８ａ，１８ｂ，１８ｃの操作に応じて回転中の回転リール４ａ，４ｂ，４ｃが全て停止されるまでの期間である。後の説明から理解されるように、本例の場合、スタートレバー１７の操作受け付けが可能となる契機は、１枚目のメダルがベット（マックス投入ボタン１６や再遊技時の疑似投入によるベットも含む）されたタイミングである。
【０１０２】
メインループ処理において、ＣＰＵ８０ａは、先ずステップＳ４０１で、ＲＡＭ初期化処理を実行する。すなわち、ＲＡＭ８０ｃのワークエリアにおける所定領域（１ゲームごとにクリアするものとして定められた領域）を０クリアする。
【０１０３】
続くステップＳ４０２でＣＰＵ８０ａは、現在のゲームにおける遊技状態フラグを生成する。遊技状態フラグとは、現在のゲームの遊技状態を特定するフラグである。遊技状態は、「ボーナスゲーム中」や「ボーナス内部当選中」や「通常ゲーム中」などの遊技の各種状態を示す。さらに、ステップＳ４０２では、現在のゲームの直前のゲームでリプレイに当選したか否かを表す再遊技作動フラグを生成する。再遊技作動フラグの値は、リプレイ当選を表す「１」（ＯＮ）、又はリプレイ非当選を表す「０」（ＯＦＦ）の何れかを設定する。
【０１０４】
さらに、ＣＰＵ８０ａは次のステップＳ４０３で遊技メダル投入処理を実行する。即ち、メダル投入口１２から実際に投入されるメダル、或いは、マックス投入ボタン１６の押下や再遊技の当選により擬似的に投入されるメダルについての管理やクレジット（貯留メダル）の管理を行う処理である。
なお、ステップＳ４０３の遊技メダル投入処理は、スタートレバー１７がＯＮ操作されたか否かの判定処理を含んでおり、スタートレバー１７がＯＮ操作されたことを条件として処理が終了する。
【０１０５】
ステップＳ４０３の遊技メダル投入処理が終了すると、ＣＰＵ８０ａはステップＳ４０４で内部抽選用乱数抽出処理を実行する。具体的には、カウンタ回路８１に保持されているカウンタ値を取得する。取得したカウンタ値は、乱数値としてＲＡＭ８０ｃの所定の番地に保持される。
【０１０６】
そして、続くステップＳ４０５でＣＰＵ８０ａは、設定値ｖｄが適正範囲内の値であるか否かを判定する。具体的には、ＲＡＭ８２ｃに格納されている設定値ｖｄが設定「１」〜設定「６」の何れかに対応した値であるか、つまりは「０」〜「５」の範囲内の値であるか否かを判定する。
【０１０７】
設定値ｖｄが適正範囲内の値でなければ、ＣＰＵ８０ａは先の図１１により説明した動作停止エラー処理を実行する。
即ち、ＣＰＵ８０ａは、上記のステップＳ４０５の処理によって１ゲームごとにＲＡＭ８２ａに記憶されている設定値ｖｄが適正範囲内の値か否かを判定し、適正範囲内の値でない場合には、遊技動作の進行を停止してゲーム進行を不能化している。
【０１０８】
一方、設定値ｖｄが適正範囲内の値であれば、ＣＰＵ８０ａはステップＳ４０６に進み、記憶された乱数値に基づいて内部抽選処理（図柄抽選処理）を実行する。図柄抽選処理では、ボーナス図柄への当選か否か、小役図柄への当選か否か、再遊技を示すリプレイ図柄への当選か否かが決定され、決定された抽選結果を示す制御コマンド（「遊技開始コマンド」）が演出制御インターフェース８６における送信バッファにセットされ、タイマ割込み処理のコマンド出力処理（Ｓ５０５）によって演出制御基板４２側に送信される。即ち、各図柄に当選したか否かが演出制御基板４２側に通知される。
なお、小役図柄としては、例えば、「チェリー図柄」（４ａ１０、４ｂ３、４ｃ９）、「ベル図柄」（４ａ４、４ｂ５、４ｃ３等）、「すいか図柄」（４ａ９、４ｂ１２、４ｃ１等）などを例示することができる。
また、当該図柄抽選処理では、抽選結果に基づいて、「期待感演出コマンド」が上記送信バッファにセットされる。期待感演出コマンドとは、例えば、遊技開始時など１ゲーム中の所定タイミングで実行される期待感演出の内容を指示するためのコマンドである。
【０１０９】
ステップＳ４０６の内部抽選処理を実行したことに応じて、ＣＰＵ８０ａはステップＳ４０７でリール演出を実行するか否かを決定するリール演出抽選処理を実行する。なお、リール演出抽選処理において選出可能な演出は、内部抽選処理の結果に対応して定められている。例えば、「すいか図柄」等の所定の図柄に内部当選状態であれば、所定の当選確率に基づいて「極めてゆっくり正方向に回転して静止するスロー演出」等の所定のリール演出が選出可能とされている。
【０１１０】
ステップＳ４０７のリール演出抽選処理を実行したことに応じて、ＣＰＵ８０ａはステップＳ４０８で停止図柄決定初期化処理を実行し、停止操作が行われた回転リール４についての停止位置を決定（算出）する際に用いられる各種データの初期化を実行した上で、次のステップＳ４０９で回転リール４ａ〜４ｃの回転を開始させるべく回胴回転開始設定処理を実行する。
【０１１１】
ステップＳ４０９の回胴回転開始設定処理は、リール演出抽選に当選しているか否かによって処理内容が異なっている。
ここで、リール演出は様々なタイミングで実行され、例えば、スタートレバー１７の操作に応じて実行される。スタートレバー１７の操作のタイミングで実行されるリール演出に当選している場合には、スタートレバー１７の操作に応じてリール演出が実行された上で回転リール４ａ、４ｂ、４ｃが一旦停止し、その後に改めて回転リール４ａ、４ｂ、４ｃが起動（加速回転）されて一定速度による定常回転状態に遷移する。
リール演出抽選に当選している場合、ステップＳ４０９の回胴回転開始設定処理においては、回転リール４ａ、４ｂ、４ｃを演出回転させた後に改めて定常回転状態に向けて起動させるための各種の設定処理が実行される。
一方、リール演出抽選に当選していない場合、ステップＳ４０９の回胴回転開始設定処理では回転リール４ａ、４ｂ、４ｃを定常回転状態（一定速による回転状態）に向けて起動させるための各種の設定処理が実行される。
【０１１２】
ところで、遊技者は、スタートレバー１７の操作に応じて或るリール演出が実行された場合には、そのリール演出の種類に応じた所定の図柄に内部当選していることを推理できる。遊技者は、このような推理から目標とした図柄が図柄停止ライン上に揃うように停止操作を行う。推理が当った場合であって、且つ、停止タイミングが適切な場合に限り、内部当選状態が実効化されて所定のメダルが払出される。
【０１１３】
ＣＰＵ８０ａは、ステップＳ４０９の回胴回転開始設定処理を実行したことに応じ、ステップＳ４１０で回胴停止処理を実行する。
回胴停止処理では、停止ボタン１８ａ、１８ｂ、１８ｃの操作に応じて、回転リール４ａ、４ｂ、４ｃの停止図柄を決定するための処理や、回転リール４ａ、４ｂ、４ｃを停止図柄で停止させるための各種データの設定処理が行われる。また、回胴停止処理では、図柄停止ライン上に停止された図柄の照合処理も行われる。
【０１１４】
上記の回胴停止処理においては、内部抽選処理（Ｓ４０６）の当否結果に沿うように、回転リール４ａ、４ｂ、４ｃのうち対応する回転リール４を停止制御する。すなわち、内部抽選処理の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール４ａ、４ｂ、４ｃの図柄を整列させる。但し、遊技者が停止ボタン１８を押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。
【０１１５】
ＣＰＵ８０ａは、続くステップＳ４１１で入賞判定処理を実行する。すなわち、ステップＳ４１０の回胴停止処理における上記の照合処理の結果に基づき、図柄停止ライン上に当選図柄（当選役）が揃ったか否かを判定すると共に、当該判定結果に応じたメダルの払出枚数を算出する。
ステップＳ４１１の入賞判定処理では、図柄停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド（入賞情報コマンド）を演出制御基板４２に送信するべく、入賞情報コマンドを演出制御インターフェース８６における送信バッファにセットする処理も行われる。
また、入賞判定処理では、当該ゲームの入賞情報に応じた払出数をＲＡＭ８２ｃの所定領域にセットする処理も行われる。
【０１１６】
さらに、続くステップＳ４１２でＣＰＵ８０ａは、メダル払出枚数監視処理として、メダル払出センサ７６の検出信号に基づき払出メダル枚数をカウントすると共に、メダル払出に応じてクレジット枚数の値を更新する処理を行う。この際、ＲＡＭ８２ｃに上記の払出数がセットされている場合には、クレジット枚数の値を１ずつインクリメントし、クレジットがオーバーフローする場合は払出制御信号をＯＮにしてメダル払出装置５にメダルを払い出させる。払い出しが完了すると払出制御信号をＯＦＦとしてメダル払出枚数監視処理を終える。
ここで、メダル払出枚数監視処理では、メダル払出やクレジット枚数のインクリメントを示す制御コマンド（払出コマンド）を演出制御基板４２に送信するべく、払出コマンドを演出制御インターフェース８６における送信バッファにセットする処理も行われる。払出コマンドのセットは、クレジット枚数の値をインクリメントするごと、及びホッパーからメダルが１枚払い出されるごとに行う。
【０１１７】
ステップＳ４１２に続くステップＳ４１３でＣＰＵ８０ａは、再遊技設定処理を実行する。再遊技設定処理では、リプレイ当選状態か否かを判定し、リプレイ当選状態であれば、再遊技動作の開始処理として、少なくとも再遊技動作フラグをセットする処理を実行し、ステップＳ４１４に進む。リプレイ当選状態でない場合には、再遊技動作の開始処理は実行せず（つまり再遊技動作フラグをセットせず）にステップＳ４１４に進む。なお、再遊技動作フラグは、前述したステップＳ４０３の遊技メダル投入処理において、再遊技に応じた投入処理を実行するか否かを判定するために用いられる。
【０１１８】
ステップＳ４１４でＣＰＵ８０ａは、現在がボーナスゲーム中か否かを判定する。ボーナスゲーム中であれば、ＣＰＵ８０ａはステップＳ４１６のボーナス作動中処理としてボーナス作動中である場合に対応した所定処理を実行した上で、先のステップＳ４０１に戻る。
【０１１９】
一方、現在がボーナスゲーム中でなかった場合、ＣＰＵ８０ａはステップＳ４１５でボーナス図柄が揃っているか否かを判定し、ボーナス図柄が揃っている場合には、ステップＳ４１７のボーナス作動開始処理としてボーナス開始時に対応した各種の設定処理を実行した上で、ステップＳ４０１に戻る。
ボーナス図柄が揃っていなかった場合、ＣＰＵ８０ａはステップＳ４１７のボーナス作動開始処理をパスしてステップＳ４０１に戻る。
【０１２０】
＜７．タイマ割込み処理＞
図１４は、主制御基板４０のＣＰＵ８０ａが実行するタイマ割込み処理のフローチャートである。当該タイマ割込み処理は１．４９ｍｓごとに起動される。
図１４において、先ずＣＰＵ８０ａは、ステップＳ５０１でレジスタの値を退避させた上で（レジスタ退避処理）、ステップＳ５０２で各種スイッチ信号やセンサ信号を受ける入力ポートのデータを取得し、例えばＲＡＭ８０ｃの所定領域に記憶させる（ポート入力処理）。尚、センサ信号には、メダル通過センサ６７やメダル払出センサ７６、第１回胴インデックスセンサ５５ａ、第２回胴インデックスセンサ５５ｂ及び第３回胴インデックスセンサ５５ｃの各インデックスセンサ５５、及びドアセンサ６６等からの検出信号が含まれる。また、ポート入力処理では、カウンタ回路８１からの乱数値の取り込みも行われる。
【０１２１】
次に、ＣＰＵ８０ａはステップＳ５０３で回胴回転制御処理を実行する。回胴回転制御処理は、図１３のメインループ処理における回胴回転開始設定処理（Ｓ４０９）や回胴停止処理（Ｓ４１０）での設定データに基づいて、起動回転から停止までの回転リール４の駆動を実現するためにステッピングモータ５４ａ、５４ｂ、５４ｃに出力すべき励磁データを出力バッファにセットする処理となる。
【０１２２】
続くステップＳ５０４でＣＰＵ８０ａは、定期更新処理として各種の対象タイマについての更新処理を実行する。特に、本例の場合、当該定期更新処理では、後の図１７により説明するクレジット投入検出処理（Ｓ６０５）でセットされるクレジット投入間隔タイマ（Ｓ８１０）、及び図１８により説明する再遊技メダル投入処理（Ｓ６１０）でセットされる投入間隔タイマ（Ｓ９０４）などの更新が行われる。
【０１２３】
ステップＳ５０４の定期更新処理を実行したことに応じ、ＣＰＵ８０ａはステップＳ５０５でコマンド出力処理を実行する。すなわち、演出制御インターフェース８６における送信バッファにセットされている制御コマンドを１バイト毎に演出制御基板４２に出力する。
【０１２４】
続くステップＳ５０６でＣＰＵ８０ａは、表示・モータ出力処理として各種ランプの表示動作を更新すると共に、ステップＳ５０３でセットしたステッピングモータ５４ａ、５４ｂ、５４ｃごとの励磁データを回胴モータ駆動部８５に出力させる。ステッピングモータ５４に励磁データが出力されると、各ステッピングモータは励磁データに応じた所定の励磁状態となり、励磁データが更新されていくことで回転リール４の回転や停止が行われる。
【０１２５】
さらに、ＣＰＵ８０ａは、次のステップＳ５０７で異常監視処理を実行し、ステップＳ５０８で外部情報信号出力処理を実行する。ステップＳ５０７の異常監視処理では、前述したレバー検知センサ６８やメダル払出センサ７６、ドア開放センサ３５の検出信号に基づく異常の有無の判定と判定結果に応じた処理（例えば、エラー通知のための演出制御コマンドのセット処理を含む）を実行する。また、ステップＳ５０８の外部情報信号出力処理は、前述した外部集中端子板７０を介した情報出力に係る処理であり、具体的には、払出したメダルなどの情報をホールコンピュータに出力する処理を実行する。
【０１２６】
続くステップＳ５０９でＣＰＵ８０ａは、先のステップＳ５０１の処理で退避したレジスタの値を復帰させる。ステップＳ５０９のレジスタ復帰処理を実行したことに応じ、ＣＰＵ８０ａはタイマ割込み処理を終える。
【０１２７】
＜９．演出制御側メイン処理及び割込み処理＞
続いて、演出制御基板４２のＣＰＵ４２ａが実行する各種の処理を説明する。
先ずは、ＣＰＵ４２ａが実行する演出制御側メイン処理を図１５のフローチャートを参照して説明する。
図１５において、スロットマシンの電源が投入されると、ＣＰＵ４２ａはステップＳ６０１〜Ｓ６０７の一連の処理で表す演出初期設定処理を実行する。そして、当該演出初期設定処理の実行後、ＣＰＵ４２ａはステップＳ６０８〜Ｓ６２０の処理として示す、第一の周期（本例では１６ｍｓの周期）による周期的ループ処理（演出制御側のメインループ処理）に移行する。
【０１２８】
先ず、演出初期設定処理において、ＣＰＵ４２ａは、先ずステップＳ６０１で割込み禁止設定を行った上で、ステップＳ６０２で自らの設定を初期設定とし、続くステップＳ６０３でＷＤＴの値を０クリアし、さらに続くステップＳ６０４で音、モータ、入出力、シナリオデータの各種データの初期化処理を行う。当該初期化処理では、ＬＣＤユニット７におけるキャラクタ演出や、ＬＥＤランプを点滅させるランプ演出や、スピーカを駆動する音演出などの各種の演出を行うためにＲＡＭ４２ｃに記憶された値を初期化する処理を実行する。
【０１２９】
次に、ＣＰＵ４２ａはステップＳ６０５でバックアップ復帰処理を実行し、続くステップＳ６０６でＷＤＴの値を０クリアした上で、ステップＳ６０７で割込み許可設定を行う。これにより、演出初期設定処理が終了する。
ステップＳ６０５のバックアップ復帰処理では、チェックサムや電断フラグの確認処理が行われる。すなわち、ＲＡＭ４２ｃの所定の対象領域におけるデータ内容に基づき生成したチェックサムと、電源遮断時にＲＡＭ４２ｃの上記対象領域におけるデータ内容に基づき算出・記憶されたチェックサムとの確認処理や、電源遮断時にチェックサムをＲＡＭ８２ｃの所定領域に記憶したか否かを表す電断フラグについての確認処理が行われる。ＣＰＵ８０ａは、上記の確認処理の結果に基づき、バックアップ復帰可能か否かを判定し、バックアップ復帰可能であれば、電断前の演出状態に対応した演出シナリオをＲＡＭ４２ａのワーク領域にセットし、バックアップ復帰処理を終える。一方、バックアップ復帰可能でないと判定した場合、ＣＰＵ４２ａはＲＡＭ４２ｃの値を初期化した上で、ＲＡＭ４２ｃのワーク領域にデモ状態の演出シナリオをセットしてバックアップ復帰処理を終える。
なお、本例では、バックアップ復帰不能でＲＡＭ４２ｃを初期化した場合には、ＲＡＭ４２（ワーク領域）に格納する設定値ｖｄとして「１」を表す値（つまり最低段階を表す値）をセットする。
【０１３０】
上記したステップＳ６０１〜Ｓ６０７の演出初期設定処理が終了したことに応じ、ＣＰＵ４２ａはステップＳ６０８〜Ｓ６２０の処理として示す１６ｍｓ周期のメインループ処理に移行する。
先ず、ステップＳ６０８でＣＰＵ４２ａは、割込みカウンタの値が１５より大であるか否かを判定する。割込みカウンタは、以下で説明するステップＳ６０９で０リセットされると共に、後述する１ｍｓ周期のタイマ割込み処理で逐次インクリメント（＋１）される値である。
割込みカウンタの値が１５より大でなければ、ＣＰＵ４２ａはステップＳ６２０に進み、演出抽選に係る乱数の更新を行った上で、ステップＳ６０８に戻る。
【０１３１】
一方、割込みカウンタの値が１５より大であれば、ＣＰＵ４２ａはステップＳ６０９に進んで割込みカウンタの値を０リセットした上で、ステップＳ６１０のＷＤＴのクリア処理を実行し、続くステップＳ６１１で演出制御基板４２に対する各種入力を検知する処理を実行する。
さらに、ＣＰＵ４２ａは続くステップＳ６１２のエラー処理、さらに続くステップＳ６１３のデモ処理としてそれぞれ所定の処理を実行し、ステップＳ６１４に進む。
ここで、ステップＳ６１２のエラー処理において、ＣＰＵ４２ａは、各種エラーが発生した際のエラー報知のためのシナリオ登録処理、エラー報知後のエラーシナリオのクリア処理などを行う。特に、本実施形態の場合、ステップＳ６１２でＣＰＵ４２ａは、所定のエラー検知に応じたボリュームＭＡＸエラーフラグの設定処理も行う。ボリュームＭＡＸエラーとは、その発生に応じて出力される音（エラー音）のボリュームをＭＡＸにすべきとされたエラーを意味する。ボリュームＭＡＸエラーが検知された場合、すなわちエラー音をＭＡＸで出力すべきとされた場合は、ボリュームＭＡＸエラーフラグとして例えば０ｘ５Ａを設定し、ボリュームＭＡＸエラーが検知されない場合はボリュームＭＡＸエラーフラグとして例えば０ｘ００を設定する。
【０１３２】
ステップＳ６１４でＣＰＵ４２ａは、コマンド解析処理を実行する。コマンド解析処理では、主制御基板４０のＣＰＵ８０から受信した演出制御コマンドの解析を行うと共に、解析したコマンドの内容に応じた処理を実行する。
なお、当該コマンド解析処理において、コマンドの内容ごとに実行すべき処理の例については図１７及び図１８を参照して改めて説明する。
【０１３３】
ＣＰＵ４２ａは、ステップＳ６１４のコマンド解析処理を実行したことに応じ、ステップＳ６１５でシナリオ更新処理を実行する。シナリオ更新処理では、ステップＳ６１４のコマンド解析処理で解析したコマンドの内容に基づき、ＣＰＵ４２ａが実行する処理内容（演出内容）を決定する。さらに、シナリオ更新処理では、ＣＰＵ４２ａが実行すべき処理内容に基づいて、シナリオ番号（シナリオデータ）の更新を実行する。シナリオ番号は、ＣＰＵ４２ａが実行する演出を一意に特定可能な数値とされる。
なお、一つのシナリオ番号から特定される一つの演出を複数繋げて一連の演出を実現する場合には、ステップＳ６１５のシナリオ更新処理において、演出ごとに設定された演出継続時間と経過時間を比較し、所定のタイミングで次のシナリオ番号に更新する処理が行われる。
ここで、ステップＳ６１５のシナリオ更新処理については後に改めて説明する。
【０１３４】
なお、スロットマシンとしては、演出制御基板４２のＣＰＵ４２ａがＡＴモードやＡＲＴモードに移行するか否かの抽選を行う構成であってもよい。
この場合、ＡＴモードやＡＲＴモードに移行するか否かの抽選処理は、例えば、ステップＳ６１４のコマンド解析処理とステップＳ６１５のシナリオ更新処理との間において実行すればよい。この抽選処理では、主制御基板４０側から受信しＲＡＭ４２ｃに記憶させた設定値ｖｄに基づいてＡＴモードやＡＲＴモードに移行させるか否かの抽選を行うことで、ＡＴモードやＡＲＴモードの当選確率が設定値ｖｄに対応した確率となるようにされる。
【０１３５】
続いて、ＣＰＵ４２ａは、ステップＳ６１６の音再生処理を実行する。この音再生処理においてＣＰＵ４２ａは、シナリオデータに基づきワークに音チャネルごとに登録されている音データに従って、フレーズ番号やボリューム等のデータを音源ＩＣ４２ｄに出力する。これによってスピーカ２５からの効果音、音楽・音声等の再生出力が行われる。
なお、この音再生処理については後に改めて説明する。
【０１３６】
ステップＳ６１６に続くステップＳ６１７でＣＰＵ４２ａは、可動体エラー処理を実行する。ここでは可動体駆動部１０２が駆動対象とする可動体の原点復帰がなされていないなどの位置エラー判定などを行う。
【０１３７】
ステップＳ６１７に続くステップＳ６１８でＣＰＵ４２ａは、液晶・ＬＥＤ処理を実行する。この液晶・ＬＥＤ処理では、液晶制御基板４４に係る処理として、該液晶制御基板４４にシナリオ番号に応じた所定の動作を実行させるための制御値をＲＡＭ４２ｃのワーク領域にセットする処理を実行する。また、ＬＥＤに係る処理として、ＬＥＤ基板４８及び第１回胴ＬＥＤ基板５０ａ〜第３回胴ＬＥＤ基板５０ｃにおける各ＬＥＤを駆動するための駆動データ（ＬＥＤ駆動データ）の生成処理を行う。本例では、後述する図２２のサブシナリオ更新処理により、ＲＡＭ４２ｃのワーク領域（ワークエリア）には、ＬＥＤ基板４８等におけるＬＥＤにシナリオ番号に応じた所定の動作を実行させるための制御値がセットされる（後述する「ランプデータ登録情報」：図２３Ｂ参照）。ＣＰＵ４２ａはステップＳ６１８において、このようにワーク領域にセットされた制御値に基づき、ＬＥＤ駆動データを生成する。
なお、生成したＬＥＤ駆動データをＬＥＤ基板４８、回胴ＬＥＤ中継基板５６に出力する処理は、後述する１ｍｓ周期の割込み処理において行われる（ステップＳ７０５参照）。
【０１３８】
ここで、本例では、可動体駆動部１０２の制御値（モータ制御値）についてのワーク領域へのセット処理や、セットした値の出力処理は、後述する１ｍｓ周期の割込み処理において行われる（ステップＳ７０５参照）。
【０１３９】
ステップＳ６１８に続くステップＳ６１９でＣＰＵ４２ａは、シナリオ更新カウンタをゼロリセットする。シナリオ更新カウンタは、後述の１ｍｓタイマ割込処理（図１６）でインクリメントされるカウンタである。
【０１４０】
ステップＳ６１９でシナリオ更新カウンタをゼロリセットしたことに応じ、ＣＰＵ４２ａは先に説明したステップＳ６２０の乱数更新処理を実行してステップＳ６０８に戻る。
【０１４１】
上記で説明したステップＳ６０８〜Ｓ６２０の処理により、割込みカウンタの値が１５より大となるごと、即ち１６ｍｓの周期でステップＳ６０９〜Ｓ６１９の処理が逐次実行される。
【０１４２】
なお、スロットマシンとしては、演出制御基板４２のＣＰＵ４２ａがＡＴモードやＡＲＴモードに移行するか否かの抽選を行う構成であってもよい。
この場合、ＡＴモードやＡＲＴモードに移行するか否かの抽選処理は、例えば、ステップＳ６１４のコマンド解析処理とステップＳ６１５のシナリオ更新処理との間において実行すればよい。この抽選処理では、主制御基板４０側から受信しＲＡＭ４２ｃに記憶させた設定値ｖｄに基づいてＡＴモードやＡＲＴモードに移行させるか否かの抽選を行うことで、ＡＴモードやＡＲＴモードの当選確率が設定値ｖｄに対応した確率となるようにされる。
【０１４３】
次に、図１６を参照し、１ｍｓタイマ割込処理を説明する。ＣＰＵ４２ａは、タイムカウントにより１ｍｓ毎に発生する割込要求に応じて、図１６の１ｍｓタイマ割込処理を実行する。
この１ｍｓタイマ割込処理において、まずステップＳ７０１では主制御ＣＰＵ１００からのテストコマンドに応じたチェックサム算出中であるか否かを判断する。チェックサム算出中でなければ、ＣＰＵ４２ａはステップＳ７０２の入力処理に進む。
【０１４４】
ステップＳ７０２の入力処理とは、上述した図１５のステップＳ６１１の入力検知処理とともに操作子の操作による入力検知を行うための１ｍｓ毎の処理である。例えばこの入力処理では、操作子の操作検出信号について、信号波形にエッジが検出されたら入力カウンタをリセットし、その後、エッジが発生しない期間、入力カウンタをカウントアップしていく処理を行う。１ｍｓタイマ割込処理において、入力情報（入力信号波形のＨまたはＬ）が検知され、またエッジ有無により、入力カウンタのリセット又はインクリメントが行われる。そしてメインループ処理（１６ｍｓ処理）におけるステップＳ６１１で、入力カウンタの値が１６以上となっており、前回とは入力情報が変化している場合に、入力変化を認識するようにしている。
このような入力処理（Ｓ７０２）及び入力検知処理（Ｓ６１１）により、ノイズ・チャタリングによる入力誤認識の防止がはかられる。また、入力カウンタを用いており、本実施の形態では例えば１６ビットカウンタを用いて６５５３５ｍｓ（約６５秒）までなどをカウントできるようにしているため、いわゆる長押しの検出も可能となる。
【０１４５】
ステップＳ７０３では、ＣＰＵ４２ａはモータ動作更新処理を行う。この場合、ＣＰＵ４２ａは、シナリオデータに基づいてワーク（図２３Ｃで説明するモータデータ登録情報）にモータチャネルとして登録されているモータデータに基づいて、モータ駆動データを作成する処理を行う。即ち、可動体駆動部１０２におけるドライバ回路に出力するモータ駆動データである。なお、本実施形態では、ＬＥＤ駆動データの更新は上記ステップＳ６１８により１６ｍｓ毎に行われる一方、モータデータ更新は１ｍｓ毎に行われることになる。
ステップＳ７０４では、ＣＰＵ４２ａは、モータ駆動データを出力する。即ち、可動体駆動部１０２におけるドライバ回路に対しモータ駆動データを出力する。
【０１４６】
ステップＳ７０５では、ＣＰＵ４２ａは、割込みカウンタの値に応じて各処理を実行する。割込みカウンタは上述の１６ｍｓ処理のステップＳ６０９でゼロリセットされ、１ｍｓタイマ割込処理のステップＳ７０７でインクリメントされる。従って、１ｍｓタイマ割込処理でステップＳ７０５が実行される際には、割込みカウンタの値は０〜１５のいずれかとなっている。
この割込みカウンタの値０〜１５に応じて、ケース０〜ケース１５としてステップＳ７０５の処理が規定される。例えば本実施形態では、ケース０ではＷＤＴ（watchdog timer）クリア信号ＯＮ、及びＬＥＤドライバの初期化処理を行う。ケース１〜３ではＬＥＤドライバの初期化処理を行う。ケース８ではＷＤＴクリア信号ＯＦＦを行う。ケース１２〜１５では、ＬＥＤドライバに対するＬＥＤ駆動データの出力を行う。
ここで、ＬＥＤドライバの初期化とは、ＬＥＤ基板４８や第１〜第３回胴ＬＥＤ基板５０ａ〜５０ｃにおけるＬＥＤのドライバ回路において使用しないレジスタにデフォルト値を出力する処理である。この初期化と、ＬＥＤ駆動データの出力は、１回の１ｍｓタイマ割込処理の際に、ドライバ回路の２，３個に対して行われる。
【０１４７】
ステップＳ７０６では、ＣＰＵ４２ａは、液晶制御基板５２に対する制御コマンドの出力を行う。例えば１回の１ｍｓタイマ割込処理において、１コマンド（２バイト）の送信を行う。つまりモード及びイベントとしての２バイトの制御コマンドが送信される。
その後、ＣＰＵ４２ａはステップＳ７０７で割込みカウンタのインクリメントを行い、またステップＳ７０８でシナリオ更新カウンタのインクリメントを行う。そしてシナリオ更新カウンタの値が１００未満であれば、１ｍｓタイマ割込処理を終える。
なお、シナリオ更新カウンタは上述のように１６ｍｓ処理のステップＳ６１９でゼロリセットされるため、通常はシナリオ更新カウンタの値が１００以上となることはない。１００以上となるのは、演算異常、処理応答異常などにより１６ｍｓ処理が実行されない場合や、１６ｍｓ処理内の或る処理の進行が停止しているような場合である。このような場合は、無限ループに入り、ＷＤＴによってタイムアップ処理が行われるのを待つことになる。
【０１４８】
１ｍｓタイマ割込処理に入った際に、ステップＳ７０１でチェックサム算出中と判断された場合は、ＣＰＵ４２ａは処理をステップＳ７１０に進めて、ＷＤＴをクリアする。そしてステップＳ７１１で液晶制御基板４４に対する制御コマンドの送信出力を行う。そしてステップＳ７１２で割込みカウンタをインクリメントして１ｍｓタイマ割込処理を終える。
【０１４９】
＜１０．演出制御に係る処理＞
［10-1．コマンド解析処理］
続いて、１６ｍｓ処理（図１５）におけるステップＳ６１４で行われるコマンド解析処理について、図１７、図１８で説明する。ＣＰＵ４２ａは、ステップＳ６１４のコマンド解析処理として、主制御基板４０から供給される演出制御コマンドがコマンド受信バッファに格納されているか否かを監視し、演出制御コマンドが格納されていればこのコマンドを読み出す。この具体的な処理として、図１７のステップＳ８０１〜Ｓ８０８の処理を行う。
【０１５０】
演出制御基板４２には、主制御基板４０から送信されてきた演出制御コマンドを取り込むコマンド受信バッファが、例えばＲＡＭ４２ｃに用意される。ＣＰＵ４２ａは、まず図１７のステップＳ８０１で、コマンド受信バッファの読み出しアドレスを示すリードポインタと、書き込みアドレスを示すライトポインタの確認を行う。
ライトポインタは、コマンド受信に応じて更新され、それに応じてライトポインタで示されるアドレスに、受信した演出制御コマンドが格納されていく。リードポインタは、コマンド受信バッファからの読み出しを行った際に更新（ステップＳ８０２）される。従って、もしリードポインタ＝ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されているということになる。そこでリードポインタ＝ライトポインタでなければステップＳ８０２に進み、ＣＰＵ４２ａはコマンド受信バッファにおいてリードポインタで示されるアドレスから１バイトのコマンドデータをロードする。この場合、次の読み出し（ロード）のためにリードポインタをインクリメントしておく。
【０１５１】
上述したように１つの演出制御コマンドは、モードとしての１バイトとイベントとしての１バイトの２バイトで形成されている。ＣＰＵ４２ａはステップＳ８０３で、ロードした１バイトのコマンドデータが、モードであるかイベントであるかを確認する。この確認は、８ビット（Ｂｉｔ０〜Ｂｉｔ７）のうちのＢｉｔ７の値により行われる。
そしてモードであれば、コマンドの上位データ受信の処理として、ステップＳ８０４に進み、読み出したコマンドデータを、レジスタ「コマンドＨＩバイト」にセーブする。また「コマンドＬＯバイト」のレジスタをクリアする。そしてステップＳ８０１に戻る。
続いても、リードポインタ＝ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されていることになるため、ステップＳ８０２に進み、ＣＰＵ４２ａはコマンド受信バッファにおいてリードポインタで示されるアドレスから１バイトのコマンドデータをロードする。またリードポインタをインクリメントする。
そして読み出したコマンドがイベントであれば、コマンドの下位データ受信の処理として、ステップＳ８０３からＳ８０５に進み、読み出したコマンドデータを、レジスタ「コマンドＬＯバイト」にセーブする。
【０１５２】
モード及びイベントのコマンドデータが、レジスタ「コマンドＨＩバイト」「コマンドＬＯバイト」にセーブされることで、ＣＰＵ４２ａは１つのコマンドを取り込んだことになる。
そこでＣＰＵ４２ａはステップＳ８０６で、取り込んだコマンドに応じた処理を行う。具体例は図１８で後述する。
【０１５３】
リードポインタ＝ライトポインタとなるのは、ＣＰＵ４２ａがまだ取り込んでいない演出制御コマンドがコマンド受信バッファには存在しない場合である。そこで、ステップＳ８０１でリードポインタ＝ライトポインタであった場合には、新たな取り込みは不要であるため、ＣＰＵ４２ａは図示のようにコマンド解析処理（Ｓ６１４）を終える。
【０１５４】
上記のステップＳ８０６におけるコマンド対応処理の例を図１８で説明する。
図１８Ａは、コマンド対応処理としての基本処理を示している。２バイトの演出制御コマンドの受信に応じて、ＣＰＵ４２ａはまず図１８ＡのステップＳ８２１で、現在テストモード中であるか否かを確認する。テストモード中であれば、ステップＳ８２２ですべての演出シナリオのクリア、音出力の停止、ＬＥＤ基板４８等におけるＬＥＤの消灯を行う。そしてステップＳ８２３でテストモードを終了する。
テストモード中でなければ、これらの処理は行わない。
そしてＣＰＵ４２ａは、ステップＳ８３０として、取り込んだ演出制御コマンドについての処理を行うことになる。
【０１５５】
演出制御コマンドとしては、例えば前述した遊技開始コマンドや期待感演出コマンド、
各種のエラーを通知するためのコマンド・・・など多様に設定されている。ステップＳ８３０では、ＣＰＵ４２ａは、受信したコマンドに対応して、プログラムで規定された処理を行う。ここでは図１８Ｂ、図１８Ｃで、２つの演出制御コマンドを挙げて、具体的処理を例示する。
【０１５６】
図１８Ｂは、ステップＳ８３０でのコマンド処理として、電源投入コマンドを取り込んだ場合の処理Ｓ８３０ａを示している。
この場合、ＣＰＵ４２ａは、ステップＳ８３７でＲＡＭ４２ｃのクリア処理を行う。例えばコマンド受信／送信バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップＳ８３８でエラー解除コマンドの送信、ステップＳ８３９で可動体エラー情報のクリア、ステップＳ８４０で可動体動作の停止、ステップＳ８４１で電源投入のシナリオ登録、ステップＳ８４２で液晶制御基板４４へ送信する電源投入コマンドのセットを順次行う。
【０１５７】
図１８Ｃは、ステップＳ８３０でのコマンド処理として、ＲＡＭクリアコマンドを取り込んだ場合の処理Ｓ８３０ｂを示している。
この場合、ＣＰＵ４２ａは、ステップＳ８４３でＲＡＭ４２ｃのクリア処理を行う。例えばコマンド受信／送信バッファの内容やチェックサムの記憶領域のクリアを行う。
そしてステップＳ８４４でエラー解除コマンドの送信、ステップＳ８４５でＲＡＭクリアエラーセットと、エラー報知タイマのセットを行う。さらにステップＳ８４６でＲＡＭ４２ｃにおける抽選処理に関する情報のクリア、ステップＳ８４７で、シナリオに関する情報のクリアを行う。そしてステップＳ８４８で液晶制御基板４４へ送信する電源初期投入表示（ＲＡＭクリア）コマンドのセットを行う。
【０１５８】
［10-2．シナリオ登録・削除処理］
次にシナリオ登録・削除処理について説明する。シナリオとは演出制御やエラー処理その他、各種の実行すべき動作を規定したデータである。実行すべきシナリオのデータは、シナリオ登録情報としてＲＡＭ４２ｃのワーク領域に登録される。図２３Ａに示すシナリオ登録情報の構造については後述するが、シナリオ登録情報としては、０〜６３までの６４個のシナリオチャネルが用意されている。この６４個のシナリオチャネルに登録されたシナリオは同時に実行可能とされる。以下、シナリオチャネルを「ｓＣＨ」で示す。
シナリオ登録処理とは、シナリオ登録情報における任意のシナリオチャネルｓＣＨに、登録を要求されたシナリオ番号のシナリオを登録する処理である。原則的には、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルは、どのチャネルが用いられても良い。
【０１５９】
以下説明するシナリオ登録は、例えばステップＳ６１２のエラー処理、ステップＳ６１３のデモ処理、ステップＳ６１４のコマンド解析処理などの処理過程において、必要時に呼び出され、実行される。例えば先に述べた図１８ＢのステップＳ８４１などが、シナリオ登録が実行される場合の一例となる。
【０１６０】
図１９の処理として、ＣＰＵ４２ａは、コマンド或いはプログラム上で指定されるシナリオに対応したシナリオ番号と待機時間（delay）の値を、ワーク（シナリオ登録情報）に登録する処理を行う。
ステップＳ９０１でＣＰＵ４２ａは、まず今回登録すべきシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、何もせずに処理を終える。
【０１６１】
シナリオ番号が適正であれば、ＣＰＵ４２ａはステップＳ９０２で変数Ｂをゼロに設定する。変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、空きチャネルを順次探索するために使用する変数である。さらに変数Ｂは、まだ探索（空きチャネルであるか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１６２】
ＣＰＵ４２ａは、ステップＳ９０３で、「追加ポインタ」＋Ｂのシナリオチャネルが空きであるか否かを確認する。追加ポインタとは、シナリオ登録を行った際に、後述のステップＳ９０７で設定されるポインタである。図１９の処理を開始する時点では、追加ポインタの値は、前回登録したシナリオチャネルの次のシナリオチャネルを示す値となっている。なお、追加ポインタの初期値（初期状態から図１９の処理が初めて行われる時の値）は０である。
「追加ポインタ」＋Ｂのシナリオチャネルが空きでなければ、ＣＰＵ４２ａはステップＳ９０４で変数Ｂをインクリメントする。
ステップＳ９０５でＢ＜６４でなければ、この図１９の処理を終える。これは全シナリオチャネルについて探索を行ったが、空きチャネルがなくてシナリオ登録が不可能となる場合である。
まだ全シナリオチャネルの探索（空きチャネルであるか否かの確認）を行っていない時点では、ステップＳ９０５でＢ＜６４である。その場合はステップＳ９０６の確認処理を行い、「追加ポインタ」＋Ｂの値がシナリオチャネルｓＣＨの最大値を超えた値「６４」以上となっていなければステップＳ９０３に戻る。
また「追加ポインタ」＋Ｂの値が「６４」以上となっていた場合は、ステップＳ９０７で追加ポインタの値の補正処理を行う。具体的には「追加ポインタ」＋Ｂの値が「６４」となった場合、追加ポインタの値を「６４」減算する処理を行う。そしてステップＳ９０３に戻る。
【０１６３】
このステップＳ９０３〜Ｓ９０７の処理によれば、前回登録したシナリオチャネルの次のシナリオチャネルから、順次シナリオチャネルが空きか否かが確認されることになる。
つまり、ステップＳ９０４での変数Ｂのインクリメントにより、ステップＳ９０３が行われるたびに確認されるシナリオチャネルｓＣＨが、順次１つずつ進行することとなる。
また、変数ＢはステップＳ９０２でゼロリセットされてからステップＳ９０４でインクリメントされるものであるため、ステップＳ９０５でＢ＜６４とはならない場合（つまり変数Ｂが６４に達した場合）は、既にステップＳ９０３の処理が６４回行われた場合である。これは全シナリオチャネルｓＣＨ０〜ｓＣＨ６３を調べたが、空きがなかったと判断された場合である。そのため登録不可能として図１９の処理を終えることとなる。
【０１６４】
また、「追加ポインタ」の値は、前回登録したシナリオチャネルの次のシナリオチャネルを示す値であるため、まだ全シナリオチャネルの空き確認を行っていないＢ＜６４の時点でも、「追加ポインタ」＋Ｂの値（つまり次に確認しようとするシナリオチャネルｓＣＨの番号）が「６４」以上となることがある。具体的には、直前のステップＳ９０３の時点で「追加ポインタ」＋Ｂの値が６３であり、シナリオチャネルｓＣＨ６３について確認した後、ステップＳ９０４で変数Ｂがインクリメントされた場合である。このままでは、次に存在しないシナリオチャネルｓＣＨ６４を指定することとなる。
そこでステップＳ９０６でこの点を確認し、「追加ポインタ」＋Ｂの値が「６４」となっていたら、ステップＳ９０７では、次に確認するシナリオチャネルを「ｓＣＨ０」に戻すために、追加ポインタの補正を行う。つまり追加ポインタの値を−６４することで、「追加ポインタ」＋Ｂの値が「０」となるようにする。これにより次のステップＳ９０３では、シナリオチャネルｓＣＨ０が空きであるか否か確認されるようにする。
【０１６５】
ある時点のステップＳ９０３の処理で、空きのシナリオチャネルが発見されたら、ＣＰＵ４２ａはステップＳ９０８に進み、その空きのシナリオチャネルに、シナリオ番号、及び待機時間（delay）をセットする。またその他のシナリオ管理に必要なデータをゼロクリアする。
そしてステップＳ９０９で、追加ポインタを、登録を行ったシナリオチャネル＋１の値に更新する。つまり今回登録を行ったシナリオチャネルの次のシナリオチャネルの値を、追加ポインタとして記憶しておき、次回の登録処理に使用できるようにする。なお、本実施の形態ではシナリオチャネルはｓＣＨ０〜ｓＣＨ６３の６４チャネルのため追加ポインタの最大値は６３となる。
【０１６６】
この図１９の処理によれば、シナリオ登録の際に、前回登録を行ったシナリオチャネルの次のシナリオチャネルから、空きチャネルが探索される。追加ポインタの初期値は「０」であり、その後、登録に応じてステップＳ９０７で更新されていくが、この処理によれば、多くの場合、シナリオチャネルｓＣＨ０から順に使用されてシナリオ登録が行われる。そして、シナリオ登録の際には、前回の登録チャネルの次のシナリオチャネルから空きの確認が行われる。従って、殆どの場合、素早く空きチャネルが発見でき、シナリオ登録処理を効率的に実行することができる。これによりＣＰＵ４２ａの処理負担は軽減される。
【０１６７】
なお、処理の変形例として、ステップＳ９０７で更新する追加ポインタの値は、登録を行ったシナリオチャネルの番号としておき、ステップＳ９０２では変数Ｂに１を代入してもよい。但しその場合、ステップＳ９０５ではＢ≦６５であるか否かの判断を行うようにする。
【０１６８】
次にシナリオ削除処理について説明する。これはワークの或るシナリオチャネルに登録されているシナリオを削除する処理である。
図２０Ａは、或るシナリオをシナリオ登録情報から削除する場合のＣＰＵ４２ａの処理を示している。
ＣＰＵ４２ａは、コマンド或いはプログラムグラム上で指定される、削除するシナリオ番号（後述のメインシナリオ番号（mcNo））の値に基づいて、図２０Ａの処理を開始する。まずステップＳ９２１でＣＰＵ４２ａは、削除要求にかかるシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、削除せずに処理を終える。
【０１６９】
シナリオ番号が適正であれば、ＣＰＵ４２ａはステップＳ９２２で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、削除対象のシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Ｂは、まだ探索（削除対象のシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１７０】
ＣＰＵ４２ａは、ステップＳ９２３で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号のものであるか否かを確認する。シナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号でなければ、ステップＳ９２４で変数Ｂをインクリメントし、ステップＳ９２５でＢ＜６４であることを確認して、ステップＳ９２３の処理を行う。
このステップＳ９２３，Ｓ９２４の処理によれば、シナリオチャネルｓＣＨ０からシナリオチャネルｓＣＨ６３に向かって順に、削除対象のシナリオを探索していくこととなる。
ステップＳ９２３でシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象のシナリオ番号であった場合は、ステップＳ９２６に進み、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する処理を行う。
以上により、要求された或るシナリオ番号のシナリオをワーク（シナリオ登録情報）から削除する処理が行われる。
なお、ステップＳ９２５でＢ＜６４ではないと判断される場合、つまり変数Ｂが６４に達した場合は、シナリオチャネルｓＣＨ０〜ｓＣＨ６３の全てを探索したが、削除対象のシナリオが登録されていなかったということになるため、処理を終える。
【０１７１】
図２０Ｂは、或る範囲のシナリオを削除する処理を示している。削除シナリオが範囲で指定された場合に、この処理が行われる。
ＣＰＵ４２ａは、コマンド或いはプログラム上で、或るシナリオ番号の範囲で削除指定された場合、まずステップＳ９３１で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、削除対象範囲に該当するシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Ｂは、まだ探索（削除対象範囲に該当するシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１７２】
ＣＰＵ４２ａは、ステップＳ９３２で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号であるか否かを確認する。そしてシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが削除対象の範囲内のシナリオ番号であれば、ステップＳ９３３でシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する。そしてステップＳ９３４に進む。
シナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号ではなければ、ステップＳ９３３を行わずにステップＳ９３４に進む。
ＣＰＵ４２ａはステップＳ９３４では、変数Ｂをインクリメントし、ステップＳ９３５でＢ＜６４であることを確認して、ステップＳ９３２に戻る。変数Ｂが６４に達していたら、全シナリオチャネルｓＣＨ０〜ｓＣＨ６３について処理を完了したことになるため、このシナリオ範囲削除処理を終える。
以上により、シナリオ番号範囲の１又は複数のシナリオについて、ワーク（シナリオ登録情報）からの削除が行われる。
【０１７３】
図２０Ｃは登録されているシナリオを全て削除する処理を示している。例えばシステム上の都合により、やむを得ずシナリオを削除する際に呼び出される処理である。なお、保護対象とされたシナリオは削除しないようにする。
ＣＰＵ４２ａは、シナリオ全削除が要求された場合、まずステップＳ９４１で変数Ｂをゼロに設定する。この場合の変数Ｂは、ｓＣＨ０〜ｓＣＨ６３のシナリオチャネルのうちで、保護対象のシナリオを登録したシナリオチャネルを確認するために使用する変数となる。さらに変数Ｂは、まだ確認（保護対象のシナリオが登録されているか否かの確認）をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
【０１７４】
ＣＰＵ４２ａは、ステップＳ９４２で、Ｂ領域、つまりシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオが、保護対象のシナリオであるか否かを確認する。そして保護対象のシナリオであれば、削除せず、一方、保護対象のシナリオでなければ、ステップＳ９４３で、そのシナリオチャネルｓＣＨ（Ｂ）に登録されているシナリオを削除する。
そしてステップＳ９４４で変数Ｂをインクリメントし、ステップＳ９４５でＢ＜６４であればステップＳ９４２に戻る。変数Ｂが６４に達していたら、全シナリオチャネルｓＣＨ０〜ｓＣＨ６３について処理を完了したことになるため、このシナリオ全削除処理を終える。
以上により、ワークにシナリオ登録情報として登録されているシナリオについて、保護対象のシナリオを除く全シナリオの削除が行われる。
【０１７５】
［10-3．シナリオ更新処理］
続いて、１６ｍｓ処理（図１５）のステップＳ６１５で行われるシナリオ更新処理について説明する。シナリオ更新処理では図２１、図２２で説明するようにメインシナリオとサブシナリオの更新が行われる。
【０１７６】
まずシナリオ登録情報の構造を図２３、図２４で説明する。図２３Ａは、メインシナリオ及びサブシナリオとしてのシナリオ登録情報の構造を示している。このシナリオ登録情報はＲＡＭ４２ｃのワークエリアを用いて設定される。
先に述べたように本実施形態では、シナリオ登録情報は、シナリオチャネルｓＣＨ０〜ｓＣＨ６３の６４個のチャネルを有するものとされる。各シナリオチャネルｓＣＨに登録されたシナリオについては同時に実行可能とされる。
【０１７７】
図示のように各シナリオチャネルｓＣＨに登録できる情報としては、サブシナリオ更新処理で用いるサブシナリオタイマ（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）がセットされる。これらにより演出種別が特定される。
また実行する演出に応じた演出デバイスの動作データは第２のワークエリアにセットされる。第２のワークエリアとしてランプデータ登録情報をセットするランプチャネルｄｗＣＨ１〜ｄｗＣＨ１５、モータデータ登録情報をセットするモータチャネルｍＣＨ０〜ｍＣＨ７、音データ登録情報をセットする音チャネルａＣＨ０〜ａＣＨ１５が用意されている。
即ち本実施の形態では、各種演出デバイスを用いた全体の演出データが第１のワークエリアにセットされ、その第１のワークエリアの演出データに基づき、第２のワークエリアで動作データがセットされることになる。
この場合、多様な演出設定のためには第１のワークエリアには、登録できる演出データ個数（シナリオ登録情報の個数）を比較的多くすることが好ましい。例えば演出データの登録チャネル数を多くしたい。そこでシナリオチャネルｓＣＨ０〜ｓＣＨ６３として６４個のチャネルを用意する。
一方で、第２のワークエリアには、演出デバイスの動作を規定する動作データがセットされればよいため、動作データの登録可能数は、比較的少なくてもよい。特に、第２のワークエリアが、ランプ、モータ、音の個々の演出デバイスに対応して設けられているため、個々のデバイスについての登録可能数は、むやみに多くする必要はない。そこで第２のワークエリアとしては、ランプチャネルは１６チャネル（ｄｗＣＨ１〜ｄｗＣＨ１５）、モータチャネルは８チャネル（ｍＣＨ０〜ｍＣＨ７）、音チャネルは１６チャネル（ａＣＨ０〜ａＣＨ１５）としている。これらは、それぞれ対応する１つの演出デバイスについての動作データがセットされれば良いため、登録チャネル数は少なくても十分に多彩な演出動作に対応可能である。
このように、第１のワークエリアのチャネル数をＮ（例えばＮ＝６４），第２のワークエリアのチャネル数をＭ（例えばＭ＝１６、又はＭ＝８）とすると、Ｎ＞Ｍとなるように記憶領域を割り当てている。
これによって多彩な演出動作を可能としたまま、メモリが闇雲に消費されないようにしている。
【０２２１】
［10-4．音の登録処理］
続いて、図２２のステップＳ１０３５として実行する音の登録処理について説明する。
この音の登録処理は、図２６Ｂに例示した音／モータサブシナリオテーブルの記述内容（サブシナリオデータ）に応じた情報を、図２４の音データ登録情報の音チャネルａＣＨに登録する処理となる。
【０２２２】
図２７は、音の登録処理を示している。
まず、ＣＰＵ４２ａはステップＳ１１００で、音／モータサブシナリオテーブルに音データが存在するか否かを判別する。即ち、音／モータサブシナリオテーブルの当該サブシナリオ番号の該当ラインの記述情報として、ＢＧＭ／ＳＥ１／ＳＥ２／エラー音／音コントロールの何れかの情報が存在するか否かを判別する。
これらの音データが存在しない場合は処理を終える。
【０２２３】
一方、これら音データの何れかが存在する場合、ＣＰＵ４２ａは、ステップＳ１１０１でＢＧＭか否かを判別する。音データがＢＧＭであった場合、ＣＰＵ４２ａはステップＳ１１０６で音／モータサブシナリオテーブルの音データを音チャネルａＣＨ０にセットする。即ち、音／モータサブシナリオテーブルの当該サブシナリオ番号の該当ラインに記述されたＢＧＭの情報を、音データ登録情報における、当該ＢＧＭに対応づけられた音チャネルａＣＨとしての音チャネルａＣＨ０に登録する。
先に説明したように、音データがＢＧＭ、ＳＥ１、ＳＥ２、エラー音の場合、その記述内容（つまりシナリオデータ）としては少なくとも再生すべきフレーズのフレーズ番号とその１次ボリュームの情報とが含まれ、従ってこれらの情報が音データ登録情報に登録される。
なお、ＢＧＭについてはステレオ再生が可能とされ、その場合は音／モータサブシナリオテーブルのＢＧＭの情報でその指示が為される。前述もしたがＢＧＭがステレオ再生される場合、音チャネルａＣＨ０のみでなく音チャネルａＣＨ１も使用される。この場合、これら音チャネルａＣＨ０、ａＣＨ１の双方には、フレーズ番号（frzHi、frzLo）としてＢＧＭの情報に記述された共通のフレーズ番号が登録されると共に、ステレオ（frzSt）の情報として「１」が記述される。
【０２２４】
ステップＳ１１０６でＢＧＭの音データをセットした場合、或いはステップＳ１１０１で音データがＢＧＭでないとされた場合、ＣＰＵ４２ａはステップＳ１１０２で音データがエラー音か否かを判別し、エラー音であった場合はステップＳ１１０７で音／モータサブシナリオテーブルの音データを音チャネルａＣＨ１５にセットする。即ち、エラー音に対応する音チャネルａＣＨとしての音チャネルａＣＨ１５にサブシナリオデータの記述内容に応じた情報を登録する。
【０２２５】
ステップＳ１１０７でエラー音の音データをセットした場合、或いはステップＳ１１０２で音データがエラー音でないとされた場合、ＣＰＵ４２ａはステップＳ１１０３で音データがＳＥ１か否かを判別し、ＳＥ１であった場合はステップＳ１１０８でＳＥ１の設定処理を行う。
そして、ステップＳ１１０８でＳＥ１の設定処理を実行した場合、或いはステップＳ１１０３で音データがＳＥ１でないとされた場合、ＣＰＵ４２ａはステップＳ１１０４で音データがＳＥ２か否かを判別し、ＳＥ２であった場合はステップＳ１１０９でＳＥ２の設定処理を行う。
さらに、ステップＳ１１０９でＳＥ２の設定処理を実行した場合、或いはステップＳ１１０４で音データがＳＥ２でないとされた場合、ＣＰＵ４２ａはステップＳ１１０５で音データが音コントロールか否かを判別し、音コントロールであった場合はステップＳ１１１０で音コントロールの設定処理を行う。
ステップＳ１１１０で音コントロールの設定処理を実行した場合、或いはステップＳ１１０５で音データが音コントロールでないとされた場合、ＣＰＵ４２ａは図２７に示す処理を終える。
【０２２６】
以下、上記のステップＳ１１０８、Ｓ１１０９、Ｓ１１１０でそれぞれ実行するＳＥ１の設定処理、ＳＥ２の設定処理、音コントロールの設定処理の内容を個別に説明する。
【０２２７】
まず図２８により、ステップＳ１１０８、Ｓ１１０９でそれぞれ実行するＳＥ１の設定処理、ＳＥ２の設定処理の内容について説明する。
なお、これらＳＥ１の設定処理、ＳＥ２の設定処理の内容は、音データの登録対象とする音チャネルａＣＨ（対応音チャネルａＣＨ）が異なる以外は共通であるため、当該図２８の一図での説明とする。
【０２２８】
まずＣＰＵ４２ａはステップＳ１２０１で、対応音チャネルａＣＨの再生状態を取得する。前述のように本実施形態では、音の種別ごとに登録を行うべき音チャネルａＣＨの対応が定められており、ＳＥ１の場合は音チャネルａＣＨ２〜ａＣＨ９が、またＳＥ２の場合は音チャネルａＣＨ１０〜ａＣＨ１４がそれぞれ対応音チャネルａＣＨとなる。
従って、ステップＳ１２０１の処理は、ＳＥ１の設定処理（Ｓ１１０８）として実行される場合は音チャネルａＣＨ２〜ａＣＨ９の再生状態を取得する処理となり、ＳＥ２の設定処理（Ｓ１１０９）として実行される場合は音チャネルａＣＨ１０〜ａＣＨ１４の再生状態を取得する処理となる。
各音チャネルａＣＨの再生状態の取得、即ちフレーズを再生中であるか否かの情報の取得は、音源ＩＣ４２ｄに音チャネルａＣＨごとに設けられた再生状態情報格納レジスタの値を取得することで行う。
【０２２９】
次に、ステップＳ１２０２ではＣＰＵ４２ａは、設定音チャネルａＣＨをスタート音チャネルａＣＨに設定する。ここで、設定音チャネルａＣＨとは、音データ登録の対象とする音チャネルａＣＨを意味する。また、スタート音チャネルａＣＨとは、対応音チャネルａＣＨのうち最もチャネル番号の小さい音チャネルａＣＨを意味し、ＳＥ１の場合はａＣＨ２、ＳＥ２の場合はａＣＨ１０が該当する。
以下のステップＳ１２０３〜Ｓ１２１１の処理により、スタート音チャネルａＣＨから順に空きチャネルを探索してＳＥの音データの登録を行うべく、ステップＳ１２０２で設定音チャネルａＣＨをスタート音チャネルａＣＨに設定する。
【０２３０】
ステップＳ１２０３ではＣＰＵ４２ａは、設定音チャネルａＣＨは再生中であるか否かを判別する。設定音チャネルａＣＨが再生中であれば、ステップＳ１２０８で設定音チャネルａＣＨを＋１するとともに、ステップＳ１２０９で設定音チャネルａＣＨがエンドチャネルより大であるか否かを判別する。エンドチャネルとは、対応音チャネルａＣＨのうちチャネル番号が最も大きい音チャネルａＣＨを意味し、従ってＳＥ１の場合は音チャネルａＣＨ９より大であるか否か、ＳＥ２の場合は音チャネルａＣＨ１４より大であるか否かをそれぞれ判別することになる。
設定音チャネルａＣＨがエンドチャネルより大である場合は、対応音チャネルａＣＨに空きがないことから処理を終了する。
一方、設定音チャネルａＣＨがエンドチャネルより大でない場合はステップＳ１２０３に戻る（つまり次の音チャネルａＣＨについて再生中か否かの判別が行われる）。
【０２３１】
ステップＳ１２０３で設定音チャネルａＣＨは再生中でないとされた場合、ＣＰＵ４２ａはステップＳ１２０４に進み、設定音チャネルａＣＨのワークに音データがないか否かを判別する。
設定音チャネルａＣＨに音データがある、つまり設定音チャネルａＣＨは空きではないとされた場合、ＣＰＵ４２ａはステップＳ１２０８に進む。つまりこれにより、対応音チャネルａＣＨ内における次の空きチャネルを探索するようにされる。
【０２３２】
一方、設定音チャネルａＣＨに音データがない、つまり設定音チャネルａＣＨが空きであるとされた場合、ＣＰＵ４２ａはステップＳ１２０５に進み、ステレオ要求があるか否かを判別する。即ち、テーブルのＳＥの情報中におけるステレオ再生か否かを表す情報を参照して、当該ＳＥの情報が、ステレオ再生の要求を伴うものであるか否かを判別する。なお、前述のようにステレオ再生を要求するシナリオデータには、ＬｃｈとＲｃｈの個別のフレーズ番号は記述されず、共通の１つのフレーズ番号が記述されている。
ステレオ要求がない場合、ＣＰＵ４２ａはステップＳ１２１０に進み、テーブルの音データを設定音チャネルａＣＨに対応したワークの領域にセットして処理を終了する。
【０２３３】
一方、ステレオ要求があった場合、ＣＰＵ４２ａはステップＳ１２０６に進み、設定音チャネルａＣＨが偶数チャネルであるか否かを判別する。設定音チャネルａＣＨが偶数チャネルでなければ、ＣＰＵ４２ａはステップＳ１２０８に進み、設定音チャネルａＣＨを＋１する。即ち、次の音チャネルａＣＨ以降で空きチャネルを探索する。
ここで、前述のように本例では、ステレオ再生は偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１とを使用して行うものとされるので、ステレオ再生を要求するシナリオデータに応じては、該シナリオデータに記述されたフレーズ番号等の音データを偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１とにセットすべきものとなる。このため、設定音チャネルａＣＨが偶数チャネルでなければ、上記のように次の音チャネルａＣＨ以降で空きチャネルを探索する。
【０２３４】
一方、設定音チャネルａＣＨが偶数チャネルであれば、ＣＰＵ４２ａはステップＳ１２０７に進み、設定音チャネルａＣＨの次の音チャネルａＣＨも空きチャネルであるか否か（再生中でないかも含めて空きチャネルであるか否か）を判別する。
設定音チャネルａＣＨの次の音チャネルａＣＨが空きチャネルでなければ、ステップＳ１２０８に進む。つまり、対応音チャネルａＣＨ内での次の空きチャネルを探索する。
一方、設定音チャネルａＣＨの次の音チャネルａＣＨが空きチャネルであれば、ステップＳ１２１１に進んで、テーブルの音データを設定音チャネルａＣＨとその次の音チャネルａＣＨに対応したワークの領域にそれぞれセットし、処理を終了する。
【０２３５】
以上のＳＥの設定処理によって、サブシナリオテーブルに記述されたＳＥ１又はＳＥ２の音データが音データ登録情報における対応音チャネルａＣＨのうちの空きチャネルに登録される。
また、当該ＳＥ１又はＳＥ２の情報がフレーズのステレオ再生を要求するものであった場合は、音源ＩＣ４２ｄがステレオ再生に偶数チャネルとその次の奇数チャネルとを使用することを要求する場合に対応して、対応音チャネルａＣＨ内における偶数チャネルとその次の奇数チャネルとに適正に音データを登録できる。つまりこれにより、音源ＩＣ４２ｄの仕様に応じた適切な情報登録を行うことができる。
【０２３６】
続いて、図２７のステップＳ１１１０として実行する音コントロールの設定処理について図２９〜図３１を参照して説明する。
図２９は、ステップＳ１１１０の音コントロールの設定処理を示している。
まず、ＣＰＵ４２ａはステップＳ１３０１で、音コントロールの情報の上位１バイトの値を確認する。
【０２３７】
図３０は、音コントロールの情報のデータ構造例を示している。
本実施形態の場合、音コントロールの情報は４バイトで構成され、その上位１バイトに音のコントロール内容を表すための情報（コントロール種別の情報）が記述され、下位３バイトに音のコントロール対象とする音チャネルａＣＨを指定するための情報（コントロール対象の情報）が記述される。
この上位１バイトのコントロール種別の情報によっては、フェードイン再生やフェードアウト再生、及び２次ボリュームの変化指示が可能とされる。
【０２３８】
図のように上位１バイトで表されるコントロール種別の情報としては、０ｘ２０〜０ｘ７０までがフェード系の情報とされ、０ｘ８０以上が２次ボリュームの変化指示の情報とされる。
具体的に、０ｘ２０〜０ｘ７０までのフェード系の情報としては、０ｘ２５（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」（２次ボリューム＝０ｘ８０）が記述され、これにより、図のように時間＝５０００以降はＢＧＭの消音状態が解除される。
【０２６０】
このように音コントロールの情報で指定音チャネルａＣＨの２次ボリュームを変化させることを可能とした本実施形態によれば、或る種別の音を再生中であったときに後からプライオリティの高い別の音を再生すべきとされた場合において、該再生中の音を再生停止させる指示を行うことなく、簡易に高プライオリティの音のみが再生出力される状態を得ることができる。従って、音のプライオリティ制御を簡易に実現できる。
【０２６１】
ここで、上記ではＢＧＭと他の音についてのプライオリティ制御について例示したが、本実施形態では、ＳＥとしての音をＳＥ１とＳＥ２とに分類している、即ち、ＳＥ１とＳＥ２とを別々の音の種別として扱うものとしているので、これらＳＥ１とＳＥ２についても、同様に音コントロールの情報による２次ボリュームの制御によって音のプライオリティ制御を実現できる。
前述のように、これらＳＥ１とＳＥ２の分類は、本例ではその演出の出現頻度の別としている。従って、出現頻度の高い（つまり信頼度の低い）ＳＥ１の音を再生中に、後から出現頻度のより低い（信頼度のより高い）ＳＥ２の音を再生すべきとされた場合において、図３３の例と同様に音コントロールの情報による２次ボリュームの制御を行うことで、再生中のＳＥ１を消音させて、ＳＥ２の方が優先的に出力されるようにすることができる。
【０２６２】
また、そもそも１次ボリュームのみでなく２次ボリュームによる音量制御を可能としたことで、図３３のような消音制御が適正に実現されるものとなる。
ここで、１次ボリュームのみを用いて、図３３のようなＢＧＭの消音制御を実現しようとした場合には、音コントロールの情報により、例えば遷移速度を最速としたフェードアウトを行うことにより、再生中のＢＧＭを消音させることが考えられる。
しかしながら、先に説明した通り、１次ボリュームは、フレーズの再生開始時にフレーズ番号と共に音源ＩＣ４２ｄにセットされるボリューム値となる。このため、上記のように音コントロールの情報を用いた１次ボリュームによる消音を行ったとしても、仮にその後、図３３中の「Ｘ」のようなタイミング（ＢＧＭを元音量に戻すべき時点よりも前のタイミング）で他のシナリオにより新たにＢＧＭの再生開始が指示された場合には、該「Ｘ」の時点でＢＧＭのボリュームは０ｘ００以外の所要の音量とされてしまい、ＢＧＭが放音されてしまう。
これに対し、２次ボリュームによる音量制御も可能とした本実施形態によれば、図３３で説明した通り、一度音コントロールの情報によりＢＧＭの２次ボリュームを０ｘ００に制御しておけば、該２次ボリュームを復帰させる音コントロールが行われるまでの間に新たなＢＧＭの再生が開始されて１次ボリュームが０ｘ００以外の音量に設定されても、出力音量としては０ｘ００が維持されるようにできる。これにより、図３３に示したような音量制御を適正に実現することができる。
【０２６３】
また、１次ボリュームのみでなく２次ボリュームによる音量制御を可能としたことによっては、音量制御に係る制御負荷の軽減が図られる。
すなわち、これまでの説明からも理解されるように１次ボリュームはシナリオデータ（演出進行データ）に記述されるボリューム情報であるので、仮に１次ボリュームのみで音量制御を行うとすると、音量制御に必ずシナリオデータの登録処理が必要とされ、その分、ＣＰＵ４２ａの負荷が増大する傾向となってしまう。
これに対し、１次ボリュームのみでなく２次ボリュームによる音量制御を可能とした本実施形態によれば、音量制御は演出進行データに依らず行うことができるため、１次ボリュームのみを用いた音量制御、即ち演出進行データのみに基づく音量制御を行う場合との比較で演出進行データに基づく処理を削減できる。従って、制御負荷の低減が図られる。また、保持すべき演出進行データの量も少なくできるため、メモリ容量の削減も図られる。
【０２６４】
特に、本実施形態では、操作に応じた音量制御（例えば前述したスロットマシン裏側のボリュームスイッチの操作に応じた音量制御）についても２次ボリュームを用いて行うものとしている。このことで、操作に応じた音量制御に係る制御負荷の軽減も図られる。
すなわち、操作に応じた音量制御を１次ボリュームのみを用いて行うとした場合は、操作に応じて毎回シナリオによって１次ボリュームをコントロールすることになるので、制御負荷の増大化を助長するが、上記のように操作に応じた音量制御も２次ボリュームを用いて行うものとした本実施形態によれば、操作に応じた音量制御にあたりシナリオデータに基づく処理を省略でき、この点でも制御負荷の軽減を図ることができる。
【０２６５】
［10-5．音再生処理］
続いて、図１５のステップＳ６１５として実行する音再生処理について説明する。
前述のように音再生処理は、音データ登録情報としてワークにセットされた情報に基づき音源ＩＣ４２ｄに音出力を実行させる処理となる。
【０２６６】
図３４は、音再生処理についての説明図である。
まず、ＣＰＵ４２ａは、ループ処理ＬＰ３として、音データ登録情報の音チャネルａＣＨ０〜ａＣＨ１５のそれぞれについてステップＳ１５００〜Ｓ１５２０の処理を行う。以下、処理対象とする音チャネルａＣＨを「ａＣＨｎ」と表記して説明する。
【０２６７】
ステップＳ１５００ではＣＰＵ４２ａは、ボリュームＭＡＸエラーフラグを確認する。なお、ボリュームＭＡＸエラーフラグは、先のステップＳ６１２のエラー処理（図８参照）で設定されるフラグであり、前述のように０ｘ５ＡがボリュームＭＡＸエラーが発生中である旨を、また０ｘ００が発生中ではない旨をそれぞれ表す。
ボリュームＭＡＸエラーフラグが０ｘ５Ａであれば、ステップＳ１５２１に進みワークの２次ボリュームについて音チャネルａＣＨ０〜１４（エラー音以外）＝０ｘ００、音チャネルａＣＨ１５（エラー音）＝０ｘ８０に書き換えを行い、ステップＳ１５０１に進む。
一方、ボリュームＭＡＸエラーフラグが０ｘ００であれば、ステップＳ１５２１によるワークの２次ボリュームの書き換えは行わずにステップＳ１５０１に進む。
【０２６８】
ステップＳ１５０１ではＣＰＵ４２ａは、対象の音チャネルａＣＨｎに２次ボリュームの値を出力する。即ち、音データ登録情報の音チャネルａＣＨにセットされている２次ボリュームの値を、音源ＩＣ４２ｄにおける音チャネルａＣＨｎ用の２次ボリュームレジスタに出力する。
前述のように２次ボリュームの値は、通常はボリュームスイッチの状態に応じた値が音データ登録情報の全音チャネルａＣＨにセットされる。或いは、シナリオとして、或る音チャネルａＣＨの２次ボリュームの変化を指示する音コントロールの情報が記述されていた場合には、該音コントロールの情報に記述された２次ボリュームの値が、音データ登録情報における該音コントロールの情報で指示された音チャネルａＣＨにセットされている。また、ボリュームＭＡＸエラーが発生中であれば、上記のステップＳ１５２１の処理によって音チャネルａＣＨ０〜１４には「０」が、音チャネルａＣＨ１５にはＭＡＸ値がセットされている。
【０２６９】
次いで、ＣＰＵ４２ａはステップＳ１５０２では、ＳＵＢボリューム０，１に値「０ｘ００」を出力する。即ち、音チャネルａＣＨｎの「ＳＵＢボリューム０」「ＳＵＢボリューム１」の各レジスタに値「０ｘ００」を出力する。前述のように本実施の形態ではＳＵＢボリュームは使用しないものである。
【０２７０】
ステップＳ１５０３ではＣＰＵ４２ａは、ワークの音チャネルａＣＨｎに音データ（２次ボリューム以外の音データ）があるか否かを判別する。音データがなければ当該音チャネルａＣＨｎについての処理は終了となる。
【０２７１】
一方、音データがあった場合は、ステップＳ１５０４に進んで差し替え要求であるか否かを判別する。
ここで、本実施の形態では、図２４に示した音データ登録情報の上位２バイト（「１次ボリューム遷移量」「１次ボリューム」）の値を用いて、フレーズの差し替え要求が可能とされている。具体的には、音データ登録情報の上位２バイトが所定値（例えば本例では「０ｘ５Ａ５Ａ」であるとする）であれば、それをフレーズの差し替え要求と解釈するものである。
ステップＳ１５０４では、音チャネルａＣＨｎにセットされたデータの上位２バイトが所定値「０ｘ５Ａ５Ａ」であるか否かを判別することで、フレーズの差し替え要求であるか否かを判別する。
【０２７２】
差し替え要求である場合、ＣＰＵ４２ａはステップＳ１５０５でフレーズ番号の書き換えを行い、ステップＳ１５０６に進む。フレーズ番号の書き換えは、音チャネルａＣＨｎにセットされたデータの「フレーズ番号ｈｉ」及び「フレーズ番号ｌｏｗ」の値を音源ＩＣ４２ｄの音チャネルａＣＨｎのフレーズ番号のレジスタに出力することで行う。
一方、差し替え要求でなければ、ステップＳ１５０５を経由せずステップＳ１５０６に進む。
【０２７３】
ステップＳ１５０６ではＣＰＵ４２ａは、遷移量変化要求又はボリューム変化要求があるか否かを判別する。即ち、音チャネルａＣＨｎの遷移量変化frzVq又はボリューム変化rsv1の何れかに「１」がセットされているか否かを判別する。
ここで、音データ登録情報における遷移量変化frzVqの値は、フェード系の音コントロールの情報に基づいて音の登録処理（Ｓ１０３５）が実行された場合には「１」がセットされ、フェード系以外（つまり２次ボリュームの変化指示）の音コントロールの情報やＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報に基づいて音の登録処理が実行された場合には「０」がセットされていることになる。
一方、ボリューム変化rsv1（１次ボリュームを変化させるか否か）は、フェード系の音コントロールの情報に基づいて音の登録処理が実行された場合と共に、ＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報やフェード系の音コントロールの情報に基づいて音の登録処理が実行された場合に「１」がセットされる。そして、フェード系以外の音コントロールの情報に基づいて音の登録処理が実行された場合には「０」がセットされる。
これらの点からも理解されるように、フェード系の音コントロールの情報に基づく音データが登録されている場合のみでなく、ＢＧＭ、ＳＥ１、ＳＥ２、エラー音の情報に基づく音データが登録されている場合にも、以降のステップＳ１５０９又はＳ１５１１により１次ボリューム遷移量と１次ボリュームの情報が音源ＩＣ４２ｄに対して出力されることになる。
【０２７４】
遷移量変化要求又はボリューム変化要求がある場合、ＣＰＵ４２ａはステップＳ１５０７に進み、音チャネルａＣＨｎがステレオ再生であるか否か、つまりはステレオfrzStの値が「１」であるか否かを判別する。
音チャネルａＣＨｎがステレオ再生でなければ、ステップＳ１５０９に進んで音源ＩＣ４２ｄの音チャネルａＣＨｎに１次ボリューム遷移量と１次ボリュームを出力し、さらにステップＳ１５１０で音源ＩＣ４２ｄの音チャネルａＣＨｎにパンポットの出力を行って、ステップＳ１５１３に進む。
ここで、パンポットの出力としては、音源ＩＣ４２ｄにおける音チャネルａＣＨｎ用の「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」の各レジスタにそれぞれ値を出力する。なお、本例では音源ＩＣ４２ｄのパン機能は使用しないものとされ、従ってステップＳ１５１０では全て「０」（０ｘ００）を出力する。
【０２７５】
一方、音チャネルａＣＨｎがステレオ再生であれば、ステップＳ１５０８に進んで音チャネルａＣＨｎが偶数であるか否かを判別する。
音チャネルａＣＨｎが偶数であれば、ステップＳ１５１１に進んで音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とに１次ボリューム遷移量と１次ボリュームを出力し、ステップＳ１５１２で音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とにパンポットの出力を行って、ステップＳ１５１３に進む。
【０２７６】
ここで、本実施形態の場合、偶数の音チャネルａＣＨｎとその次の奇数の音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタをステレオ再生指示に用いる。具体的に、この場合の音源ＩＣ４２ｄは、偶数の音チャネルａＣＨｎ（ステレオ再生のＬｃｈ側に該当）とその次の奇数の音チャネルａＣＨｎ＋１（ステレオ再生のＲｃｈ側に該当）の「左右パンポット」のレジスタにそれぞれ所定値がセットされることで、これら音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とがステレオ再生であることを認識するように構成されている。より具体的に、この場合の音源ＩＣ４２ｄは、偶数の音チャネルａＣＨｎの「左右パンポット」のレジスタに「０ｘ８１」がセットされ、且つその次の奇数の音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタに「０ｘ８２」がセットされることで、これら音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とがステレオ再生である旨を認識するように構成されている。
このことに応じ、ステップＳ１５１２では、音チャネルａＣＨｎと音チャネルａＣＨｎ＋１とに対するパンポットの出力処理として、音チャネルａＣＨｎの「左右パンポット」のレジスタには「０ｘ８１」を、音チャネルａＣＨｎ＋１の「左右パンポット」のレジスタには「０ｘ８２」をそれぞれ出力する。
なお、前述のように本実施形態では音源ＩＣ４２ｄのパン機能は使用しないので、ステップＳ１５１２では「左右パンポット」以外の「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」の各レジスタにはそれぞれ「０ｘ００」を出力する。
【０２７７】
また、ステップＳ１５０８において、音チャネルａＣＨｎが偶数でなかった場合は、ステップＳ１５２０に進み、ワークの音チャネルａＣＨｎの音データをクリアし、当該音チャネルａＣＨｎについての処理を終了する。
即ち、音チャネルａＣＨｎがステレオ再生で且つ奇数であった場合には、当該音チャネルａＣＨｎに登録されたフレーズ番号は音源ＩＣ４２ｄに出力されず（なお、１次ボリューム遷移量及び１次ボリュームについては偶数ａＣＨｎについての処理であるＳ１５１１で既に出力されている）、当該音チャネルａＣＨｎの登録音データがクリアされることとなる。この場合の音源ＩＣ４２ｄは、偶数の音チャネルａＣＨｎについての処理でセットされたフレーズ番号に基づき再生すべきＬｃｈ・Ｒｃｈのそれぞれのフレーズデータを特定するので、ワークの奇数の音チャネルａＣＨｎ＋１に登録されたフレーズ番号の音源ＩＣ４２ｄへの指示は不要である。
【０２７８】
また、先のステップＳ１５０６で、遷移量変化要求又はボリューム変化要求がなければ、ＣＰＵ４２ａは、ステップＳ１５０７〜Ｓ１５１２の処理は経ず、ステップＳ１５１３に進む。
【０２７９】
ステップＳ１５１３ではＣＰＵ４２ａは、フレーズ変化要求があるか否か、つまりはフレーズ変化rsv0の値が「１」であるか否かを判別する。
フレーズ変化要求がなければ、ステップＳ１５２０で音チャネルａＣＨｎの音データをクリアして当該音チャネルａＣＨｎについての処理を終了する。即ち、フレーズ変化要求がない場合はワークの音チャネルａＣＨｎにセットされたフレーズ番号の音源ＩＣ４２ｄへの出力（Ｓ１５１５）は行われない。
【０２８０】
一方、フレーズ変化要求があれば、ステップＳ１５１４で音チャネルａＣＨｎがステレオ且つ奇数であるか否かを判別する。音チャネルａＣＨｎがステレオ且つ奇数であれば、ステップＳ１５２０で音チャネルａＣＨｎの音データをクリアして当該音チャネルａＣＨｎについての処理を終了する。
【０２８１】
ステップＳ１５１４で音チャネルａＣＨｎがステレオ且つ奇数でなければ、ステップＳ１５１５に進んで音チャネルａＣＨｎにフレーズ番号を出力する。即ち、ワークの音チャネルａＣＨｎに登録されたフレーズ番号ｈｉとフレーズ番号ｌｏｗとで成るフレーズ番号の情報を、音源ＩＣ４２ｄの音チャネルａＣＨｎ用のフレーズ番号レジスタに出力する。
【０２８２】
次のステップＳ１５１６ではＣＰＵ４２ａは、ループ要求があるか否か、つまりはループfrzLpの値が「１」であるか否かを判別する。ループ要求があれば、ステップＳ１５１７で音源ＩＣ４２ｄの音チャネルａＣＨｎにループ回数０ｘＦＦ（無限ループ）を出力してステップＳ１５１９に進み、ループ要求がなければステップＳ１５１８で音源ＩＣ４２ｄの音チャネルａＣＨｎにループ回数０ｘ００（ループなし）を出力してステップＳ１５１９に進む。
【０２８３】
ステップＳ１５１９ではＣＰＵ４２ａは、音チャネルａＣＨｎを再生出力指示する。すなわち、音チャネルａＣＨｎにセットしたデータに基づく再生指示を音源ＩＣ４２ｄに対して行う。
次いでＣＰＵ４２ａは、ステップＳ１５２０でワークの音チャネルａＣＨｎの音データをクリアして、当該音チャネルａＣＨｎについての処理を終了する。
【０２８４】
ＣＰＵ４２ａは、以上で説明したステップＳ１５０１〜Ｓ１５２０の処理を、ループ処理ＬＰ３により音チャネルａＣＨ０〜ａＣＨ１５まで順次行う。これにより、ステップＳ６１５の音再生処理は終了となる。
このような音再生処理によって、音データ登録情報に登録された情報に基づく音出力が実行されて、シナリオに応じた音演出が実現される。
【０２８５】
ここで、上記のように本実施形態では、偶数とその次の奇数の音チャネルａＣＨの「左右パンポット」のレジスタに所定値をセットすることで、音源ＩＣ４２ｄへのステレオ再生指示を行うものとしているが、このことで、音源ＩＣ４２ｄにステレオ再生／モノラル再生の指示を行うためのレジスタを設けずとも、ステレオ再生／モノラル再生の指示を適正に行うことができる。即ち、音源ＩＣ４２ｄのレジスタ数を削減することができる。また同時に、音源ＩＣ４２ｄに対するステレオ再生／モノラル再生の指示をパンポットの出力処理で実現できるので、ステレオ再生／モノラル再生の指示処理を別途に行う必要がなくなり、その分処理負担の軽減が図られる。
【０２８６】
なお、上記では「左右パンポット」の項目を用いてステレオ／モノラル再生の指示を行う場合を例示したが、ステレオ／モノラル再生の指示は「左右パンポット」以外の所定の音量制御に係る項目（音量制御項目）を用いて行われればよく、これによってステレオ／モノラル再生の指示は当該所定の音量制御項目についての指示情報の出力処理が兼ねるものとなるため、別途にステレオ／モノラル再生の指示情報を出力する処理を不要とでき、制御負荷の軽減が図られる。
【０２８７】
また、上記説明からも理解されるように、本実施形態では、音源ＩＣ４２ｄは、連続した２つのチャネルのうち番号の若いチャネル側にセットされたフレーズ番号の情報（再生フレーズ指示情報）に基づきステレオ再生されるべきＬｃｈ側とＲｃｈ側のフレーズを取得し、それらのフレーズについてのステレオ再生を行うように構成されている。そして、これに対応し、ＣＰＵ４２ａは、前記のステレオ再生指示と共に、前記番号の若いチャネル側に対してフレーズ番号の情報をセットするものとしている。
このような構成とすることで、フレーズのステレオ再生の実現にあたり、奇数チャネル側（番号が若くない側のチャネル）への再生フレーズ指示情報の出力処理が不要となり、従って制御負荷のさらなる低減が図られる。
【０２８８】
ここで、図３４の音再生処理では、ステップＳ１５００で都度ボリュームＭＡＸエラーフラグを確認し、ボリュームＭＡＸエラーの発生中であればステップＳ１５２１でワークの２次ボリュームの書き換えを行うものとしている。すなわち、ボリュームＭＡＸエラーが発生中である場合には、ステップＳ１５２１の書き換え処理が１６ｍｓごとに都度行われることになり、ワークの２次ボリューム（エラー音以外の音チャネルａＣＨ）は都度「０ｘ００」がセットされる。これにより、ボリュームＭＡＸエラー中には、エラー音以外の音チャネルａＣＨが消音状態で維持されることになる。
【０２８９】
＜１１．実施形態の振動演出＞
本実施形態のスロットマシンでは、スピーカ３０ｃ、３０ｄ（中低音用のスピーカ）からの出力音を利用して、スロットマシンの少なくとも一部を振動させる振動演出が行われる。
具体的に、本例では、音源ＩＣ４２ｄが読み出し可能なメモリにおいて、ＳＥのフレーズデータとして振動用のフレーズデータが格納されており、該振動用のフレーズデータとしては、スロットマシンの少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音データが格納される。より具体的に、本例では、振動演出としてスロットマシンの筐体（本体ケース１と前面パネル２とで形成される筐体）全体を振動させる演出を行うものとされ（つまり特定部＝筐体全体）、振動用のフレーズデータとしては、該筐体の固有振動数の周波数成分を含んだ音データが用いられる。
本例において、スロットマシンの筐体の固有振動数は約８５Ｈｚとされている。
【０２９０】
また、本例では、振動用のフレーズデータとしては、周波数掃引（スイープ）された音データを用いる。具体的に、本例における振動用のフレーズデータは、５５Ｈｚ〜１００Ｈｚの範囲内で周波数掃引された音データが用いられる。
さらに、掃引としては、往復掃引が行われる。具体的に本例では、上記した５５Ｈｚ〜１００Ｈｚの掃引範囲内で周波数の上昇／下降が繰り返される音データが用いられる。
ここで、往復掃引の周期、すなわち周波数が５５Ｈｚから１００Ｈｚを経て再び５５Ｈｚに戻るまでの往復期間の長さは０．０５秒以下としている。具体的に、該往復期間の長さは０．０３秒（５５Ｈｚ→１００Ｈｚ＝０．０１５秒と、１００Ｈｚ→５５Ｈｚ＝０．０１５秒の合計）とし、振動用のフレーズデータとしてはこのような往復期間長による往復掃引が所定秒間（例えば１秒間や２秒間等）繰り返された音データが用いられる。
【０２９１】
本実施形態において、振動用に出力する音には上記のように５５Ｈｚ〜１００Ｈｚの周波数成分が含まれるが、可聴帯域の下限周波数は２０Ｈｚであり、従って本実施形態では振動用の音として可聴帯域の周波数成分を含む音が用いられる。
【０２９２】
先の図５等を参照して説明したように、本例のスロットマシンにおいては、前面パネル２が閉状態において、スピーカ３０ｃ、３０ｄの背面側の少なくとも一部は本体ケース１内側に形成される閉空間に露呈されている。このため、上記のような振動用のフレーズデータに基づく音がスピーカ３０ｃ、３０ｄより出力されることで、スピーカ３０ｃ、３０ｄ背面側からの放音に応じて該閉空間内における空気が振動し、スロットマシンの筐体全体を振動させることが可能とされる。
従って、振動対象部としての特定部が筐体全体とされる場合において、スピーカ３０ｃ、３０ｄ背面から特定部まで振動伝達のための管路を形成したり、共鳴子を設けたりする必要がなくなり、特定部を振動させるための構成の簡易化、及びコスト削減を図ることができる。
【０２９３】
また、本実施形態では、周波数掃引された音を出力するが、このような掃引を行うことで振動の振れ幅の調整が可能となり、振動の振幅調整の容易化が図られる。
さらに、本実施形態では往復掃引を行うが、これにより周波数の上昇側、下降側何れか片方のみの片側掃引とする場合と比較して安定した振動を発生させることができる。
また、本実施形態では振動用の音が可聴帯域の周波数成分を含むが、これにより、遊技者に対し振動と同時に低音を知覚させることが可能となり、振動演出の迫力感を増すことができる。
【０２９４】
図３５のフローチャートを参照し、振動用の音出力に係るＣＰＵ４２ａの処理過程の例を説明する。
先ず、演出制御基板４２におけるＣＰＵ４２ａは、ステップＦ０１で、振動契機の演出制御コマンドを受信する。振動契機の演出制御コマンドの例としては、前述した期待感演出コマンド等を挙げることができる。この期待感演出コマンドは、前述のように、遊技開始時など１ゲーム中の所定タイミングで実行される期待感演出の内容を指示するためのコマンドである。
【０２９５】
次いで、ＣＰＵ４２ａはステップＦ０２において、コマンド解析及びコマンド対応処理を行う。つまり、このステップＦ０２において、ステップＦ０１で受信した振動契機の演出制御コマンドについてのコマンド解析処理（ステップＳ６１４）やコマンド対応処理（ステップＳ８０６）が行われる（図１５，図１７，図１８参照）。このとき、振動契機の演出制御コマンドについての各コマンド処理（Ｓ８３０：図１８Ａ参照）においては、振動音の出力に対応したシナリオの登録処理が含まれており、従ってステップＦ０２の処理が実行されることで、ＲＡＭ４２ｃのワークには、所定のタイミングで振動用のフレーズデータを所定時間再生出力するためのシナリオデータが登録される。
【０２９６】
続くステップＦ０３でＣＰＵ４２ａは、登録シナリオに基づく音データ登録情報のセット処理を行う。すなわち、ステップＦ０２の処理で登録されたシナリオデータについて、図２１や図２２で示したシナリオ更新処理（Ｓ６１５）やサブシナリオの更新処理（Ｓ１００８）を実行することで、ＲＡＭ４２ｃのワークにおける音データ登録情報（図２４）に振動用のフレーズの再生出力に係る音データがセットされる。
ここで、本例では、振動用のフレーズはＳＥ（ＳＥ１、ＳＥ２の何れであってもよい）の音種別に分類しており、従って該フレーズの再生出力に係る音データは、音データ登録情報におけるＳＥの音チャネルａＣＨ（本例では音チャネルａＣＨ２〜ａＣＨ１４の何れか）に対してセットされる。
【０２９７】
さらに、次のステップＦ０４でＣＰＵ４２ａは、音再生処理（Ｓ６１６：図１５及び図３４参照）を行う。これにより、音データ登録情報にセットされた音データに基づき、音源ＩＣ４２ｄがフレーズの再生出力を行い、この結果、ステップＦ０５と示すように、振動用の音出力がスピーカ３０ｃ、３０ｄを介して行われる。
【０２９８】
ここで、上記のように振動用のフレーズを再生出力するにあたり、本例では、エラー音の音チャネルａＣＨ以外の音チャネルａＣＨをマスクする。具体的には、振動用のフレーズの音データをセットしたＳＥの音チャネルａＣＨ（音チャネルａＣＨ２〜ａＣＨ１４の何れか：ステレオ再生とする場合は２チャネル分）、及びエラー音の音チャネルａＣＨである音チャネルａＣＨ１５を除いた全ての音チャネルａＣＨをマスクする。このマスクについては、ワークの音データ登録情報における該当する音チャネルａＣＨの２次ボリュームを「０ｘ００」にすることで実現できる。
具体的に、このような２次ボリュームによるマスクは、振動用の音出力を指示するシナリオデータから参照される音／モータサブシナリオテーブル（図２６参照）として、振動用のフレーズの再生出力期間に同期して対象の音チャネルａＣＨの２次ボリューム＝「０ｘ００」とすることを指示する音コントロールの情報を格納したテーブルを用意しておくことで実現できる。
或いは、マスクのための２次ボリュームの設定は、上記のようにシナリオに基づき行うことに限定されない。例えば、ステップＳ６１６の音再生処理において、音データ登録情報に振動用のフレーズデータがセット中か否かを確認し、セット中であれば、該フレーズデータがセット中の音チャネルａＣＨとエラー音の音チャネルａＣＨを除いた全ての音チャネルａＣＨの２次ボリュームとして「０ｘ００」をセットする処理を設けることで、振動用のフレーズデータの再生出力中に振動音とエラー音以外の音がマスクされるようにすることができる。
ここで、確認のため述べておくと、ステップＳ６１６の音再生処理は、１６ｍｓごとに繰り返し実行される処理である。
なお、振動音の出力の際に他の音チャネルａＣＨの音をマスクすることは必須ではない。
【０２９９】
また、本例では、振動用のフレーズの再生出力中にボリュームＭＡＸエラーが生じた際には、振動用のフレーズの音チャネルａＣＨを含む、エラー音以外の全ての音チャネルａＣＨがマスクされる。これは、ステップＳ６１６の音再生処理において、ステップＳ１５００及びＳ１５２１の処理が設けられていることにより実現される。なお、これらステップＳ１５００及びＳ１５２１の処理内容については既に説明済みであるため重複説明は避ける。
【０３００】
なお、対象とする音チャネルａＣＨのマスクの形態としては上記で例示した消音の形態に限らず、音量を「０ｘ００」以外の音量に下げる小音の形態とすることもできる。
【０３０１】
また、エラー発生時におけるエラー音以外のマスクは、シナリオにより実現することもできる。
図３６のフローチャートは、その場合におけるＣＰＵ４２ａの処理の流れを表している。
先ず、ＣＰＵ４２ａはステップＦ１１で、エラー通知の演出制御コマンドを受信し、続くステップＦ１２でコマンド解析及びコマンド対応処理を実行する。このステップＦ１２の処理により、エラー音出力のシナリオ登録が行われる。本例の場合、各種エラーが発生した際のエラー報知のためのシナリオ登録処理は、ステップＳ６１２のエラー処理（図１５参照）において行われる。この場合、登録されたシナリオから参照される音／モータサブシナリオテーブルには、エラー音のフレーズの再生出力に係る音データと共に、該エラー音の出力期間に同期してエラー音以外の音チャネルａＣＨの２次ボリュームを「０ｘ００」とする音コントロールの情報が格納されている。
【０３０２】
次いで、ＣＰＵ４２ａはステップＦ１３で、登録シナリオに基づく音データ登録情報のセット処理を行う。上記のようにこの場合のシナリオから参照される音／モータサブシナリオテーブルには、エラー音以外の音チャネルａＣＨの２次ボリュームを「０ｘ００」とする音コントロールの情報が格納されているため、このステップＦ１３のセット処理が行われることで、音データ登録情報においては、エラー音以外の音チャネルａＣＨの２次ボリュームの値として「０ｘ００」がセットされ、出力音のマスクが施される。
【０３０３】
続くステップＦ１４でＣＰＵ４２ａは音再生処理（Ｓ６１６）を行う。これにより、ステップＦ１５と示すように、エラー音の再生出力が行われる。このとき、音再生処理が上記した音データ登録情報に基づき実行されることで、エラー音以外の音チャネルａＣＨは消音状態に制御される。
【０３０４】
＜１２．まとめ及び変形例＞
以上で説明してきたように実施形態の遊技機（スロットマシン）は、放音を行うスピーカ部（スピーカ３０ｃ、３０ｄ）と、スピーカ部の駆動制御を行う駆動制御手段（演出制御基板４２）と、を備え、駆動制御手段は、遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づきスピーカ部を駆動制御して、特定部を振動させている。
これにより、音出力に用いるスピーカを振動源として用いることができるため、振動源となるモータ等のアクチュエータを別途に設ける必要がなくなる。
従って、部品点数削減や、それに伴うコスト削減を図ることができる。
【０３０５】
また、実施形態の遊技機においては、駆動制御手段は、周波数掃引された音信号に基づきスピーカ部を駆動制御している。
振動用の音の周波数を掃引することで、振動の振れ幅の調整が可能となる。
従って、振動の振幅調整の容易化を図ることができる。
【０３０６】
さらに、実施形態の遊技機においては、駆動制御手段は、周波数が往復掃引された音信号に基づきスピーカ部を駆動制御している。
これにより、周波数の掃引は、周波数の上昇側の掃引と下降側の掃引とが組み合わされた往復掃引の形態で行われる。
従って、周波数の上昇側、下降側何れか片方のみの片側掃引とする場合と比較して安定した振動を発生させることができる。
【０３０７】
さらにまた、実施形態の遊技機においては、駆動制御手段は、往復掃引として、０．０５秒以下の往復期間による掃引が繰り返された音信号に基づきスピーカ部を駆動制御している。
往復期間を長くする（つまり掃引速度を遅くする）と振動の振り幅が大きくなり、短くする（掃引速度を速くする）と振動の振り幅は小さくなる。
掃引の往復期間を適切に設定することで、振動の大きさの適正化を図ることができる。
【０３０８】
また、実施形態の遊技機においては、前面側が開口された箱状の本体ケース（同１）と、本体ケースに対して開閉自在に取り付けられ、閉状態において開口を閉塞する前面パネル（同２）とを備え、スピーカ部は、背面側の少なくとも一部が、閉状態において本体ケース内側に形成される閉空間に露呈されるように前面パネルに設けられている。
これにより、スピーカ部背面側からの放音に応じて本体ケース内側の閉空間内における空気が振動し、遊技機の筐体全体を振動させることが可能とされる。
従って、振動対象部としての特定部が筐体全体とされる場合において、スピーカ部背面から特定部まで振動伝達のための管路を形成したり、共鳴子を設けたりする必要がなくなり、特定部を振動させるための構成の簡易化、及びコスト削減を図ることができる。
【０３０９】
さらに、実施形態の遊技機においては、駆動制御手段は、可聴帯域の周波数成分を含む音信号に基づきスピーカ部を駆動制御して特定部を振動させている。
これにより、遊技者に対し振動と同時に低音を知覚させることが可能とされる。
従って、振動演出の迫力感を増すことができる。
【０３１０】
さらにまた、実施形態の遊技機においては、駆動制御手段は複数系統の音信号を同時再生可能とされ、特定部を振動させるための音である振動音と、エラー報知のための音であるエラー音と、振動音とエラー音以外の音である第三音とに少なくとも区分される音の種別ごとに、再生に用いる系統が定められており、駆動制御手段は、振動音の音信号を再生出力する際、複数系統のうち振動音とエラー音以外の系統をマスクする処理を行っている。
これにより、エラーが検出された場合における報知音の出力を可能としながら、振動音以外の音をマスクすることが可能とされる。
従って、マスクによる振動演出の強調を図りながら、エラーの確実な報知を実現することができる。
【０３１１】
また、実施形態の遊技機においては、駆動制御手段は、エラーが検出された場合は、複数系統のうちエラー音の系統を除く全系統をマスクする処理を行っている。
これにより、エラー検出時には特定部が振動しないように図られる。
従って、エラー報知が行われているにも拘わらず演出のための振動が行われてしまうという事態の発生防止を図ることができ、遊技者の混乱防止を図ることができる。
【０３１２】
なお、本発明は上記で例示した具体例に限定されず、多様な変形例や適用例が考えられるものである。
例えば、上記では、本発明がスロットマシンに適用される例を示したが、本発明は図柄を変位させる表示が可能な可変表示手段を備える遊技機に広く好適に適用できる。可変表示手段としては、上記した回転リール４を備えたものに限らず、液晶ディスプレイなどの表示画面上で図柄としての画像を変位可能に表示するように構成されたものであってもよい。
【０３１３】
また、本発明は、例えばパチンコ遊技機等、スロットマシン以外の遊技機にも好適に適用できる。
パチンコ遊技機の場合、筐体は木製の外枠と該外枠に対し開閉自在に取り付けられた前枠とで構成され、筐体背面が閉塞されていない構造とされるため、前枠に設けたスピーカ部の放音に基づき筐体全体を振動させる構成は採り難い。パチンコ遊技機の場合には、筐体全体ではなく特定の一部を振動させる構成を採ることが考えられる。その場合、振動伝達の効率化を図るため、スピーカ部から上記特定の一部（特定部）まで管路を形成することもできる。また、この際、特許文献１に開示されるような共鳴子を設けて特定部のみを選択的且つ効率的に振動させるようにしてもよい。
【０３１４】
また、上記では可聴帯域の周波数成分を含む音信号により振動を発生させる例を挙げたが、可聴帯域よりも低い周波数成分を含む音信号を用いて振動を発生させることもできる。また、周波数の掃引は、可聴帯域から非可聴帯域、又は非可聴帯域から可聴帯域に周波数を変化させる態様で行うこともできる。
【符号の説明】
【０３１５】
１  本体ケース、
２  前面パネル、
３  図柄回転ユニット、
４ａ〜４ｃ  回転リール（回胴）、
１６  マックス投入ボタン、
１７  スタートレバー、
１８ａ〜１８ｃ  停止ボタン、
３０ａ〜３０ｄ  スピーカ、
４０  主制御基板、
４２  演出制御基板、
４２ａ  ＣＰＵ、
４２ｂ  ＲＯＭ、
４２ｃ  ＲＡＭ、
４２ｄ  音源ＩＣ、
４３  演出インターフェース基板、
４７  スピーカ中継基板、
８０  コントローラ、
８０ａ  ＣＰＵ、
８０ｃ  ＲＡＭ、
７２ａ  設定キースイッチ、
７２ｂ  リセットスイッチ
【図１】
2020151204.tif 000003
【図２】
2020151204.tif 000004
【図３】
2020151204.tif 000005
【図４】
2020151204.tif 000006
【図５】
2020151204.tif 000007
【図６】
2020151204.tif 000008
【図７】
2020151204.tif 000009
【図８】
2020151204.tif 000010
【図９】
2020151204.tif 000011
【図１０】
2020151204.tif 000012
【図１１】
2020151204.tif 000013
【図１２】
2020151204.tif 000014
【図１３】
2020151204.tif 000015
【図１４】
2020151204.tif 000016
【図１５】
2020151204.tif 000017
【図１６】
2020151204.tif 000018
【図１７】
2020151204.tif 000019
【図１８】
2020151204.tif 000020
【図１９】
2020151204.tif 000021
【図２０】
2020151204.tif 000022
【図２１】
2020151204.tif 000023
【図２２】
2020151204.tif 000024
【図２３】
2020151204.tif 000025
【図２４】
2020151204.tif 000026
【図２５】
2020151204.tif 000027
【図２６】
2020151204.tif 000028
【図２７】
2020151204.tif 000029
【図２８】
2020151204.tif 000030
【図２９】
2020151204.tif 000031
【図３０】
2020151204.tif 000032
【図３１】
2020151204.tif 000033
【図３２】
2020151204.tif 000034
【図３３】
2020151204.tif 000035
【図３４】
2020151204.tif 000036
【図３５】
2020151204.tif 000037
【図３６】
2020151204.tif 000038