(57)【要約】      （修正有）【課題】画像演出用データのデータ量の膨大化を抑えつつ、画像演出を豊富化できる遊技機を提供する。【解決手段】画像演出を中心的に制御する演出制御手段が発行する画像コマンドリストに記載された各種のコマンドに基づいて動作して、表示装置の１フレーム分の画像データを生成する画像生成手段は、所定の描画形状を特定する配列情報ＶＴ（ｎ，ｍ）と、前記配列情報に基づく描画動作の描画手順を特定するインデックス情報ＶＴＩ（ｋ）と、に基づいた描画動作が実行可能に構成されている。【選択図】図２１
2020022673.tif 000002
【特許請求の範囲】
【請求項１】
所定の動作サイクルを有して間欠的に動作し、一又は複数の表示装置を使用した画像演出を中心的に制御する演出制御手段と、
前記演出制御手段が発行する画像コマンドリストに記載された各種のコマンドに基づいて動作して、表示装置の１フレーム分の画像データを生成して、表示装置に出力する画像生成手段と、を有して構成された遊技機であって、
前記画像生成手段は、所定の描画形状を特定する配列情報と、前記配列情報に基づく描画動作の描画手順を特定するインデックス情報と、に基づいた描画動作が実行可能に構成されていることを特徴とする遊技機。
【請求項２】
前記配列情報は、画像コマンドリストに直接的に記載して特定されるか、或いは、画像コマンドリストに、メモリ上の記憶位置を記載することで特定されるよう構成されている請求項１に記載の遊技機。
【請求項３】
前記インデックス情報は、画像コマンドリストに直接的に記載して特定されるか、或いは、画像コマンドリストに、メモリ上の記憶位置を記載することで特定されるよう構成されている請求項１又は２に記載の遊技機。
【請求項４】
前記描画形状は、立体形状の表面に所定のテクスチャを貼付けて構成され、
前記配列情報は、前記立体形状をポリゴン分割した場合のローカル座標上のポリゴン頂点のＸＹＺ座標値と、ポリゴン頂点における法線ベクトル情報と、ポリゴン頂点におけるテクスチャ座標値とが含まれている請求項１〜３の何れかに記載の遊技機。
【請求項５】
前記配列情報の配列数は、ポリゴン頂点の個数より少ない請求項４に記載の遊技機。
【請求項６】
前記インデックス情報の配列数は、ポリゴン頂点の個数と同一である請求項４又は５に記載の遊技機。
【請求項７】
前記立体形状は、多角体であり、その平坦面に、各々異なるテクスチャ、或いは、少なくともその一部に共通のテクスチャが貼付けられて前記描画形状となる請求項１〜６の何れかに記載の遊技機。
【請求項８】
前記立体形状は、その形状を特定するローカル座標のＸ軸／Ｙ軸／Ｚ軸の何れかを回転中心として回転させた回転態様で表示装置に表示されるよう構成されている請求項７に記載の遊技機。
【請求項９】
前記立体形状は、時間経過に対応して、波面状、波紋状、又は吹上げ状に変形するシート形状であり、このシート形状に共通するテクスチャが貼付けられるよう構成されている請求項１〜６の何れかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技動作に起因する抽選処理を行い、その抽選結果に対応する画像演出を実行する遊技機に関する。
【背景技術】
【０００２】
パチンコ機などの弾球遊技機は、遊技盤に設けた図柄始動口と、複数の表示図柄による一連の図柄変動態様を表示する図柄表示部と、開閉板が開閉される大入賞口などを備えて構成されている。そして、図柄始動口に設けられた検出スイッチが遊技球の通過を検出すると入賞状態となり、遊技球が賞球として払出された後、図柄表示部では表示図柄が所定時間変動される。その後、７・７・７などの所定の態様で図柄が停止すると大当り状態となり、大入賞口が繰返し開放されて、遊技者に有利な遊技状態を発生させている。
【０００３】
このような遊技状態を発生させるか否かは、図柄始動口に遊技球が入賞したことを条件に実行される大当り抽選で決定されており、上記の図柄変動動作は、この抽選結果を踏まえたものとなっている。例えば、抽選結果が当選状態である場合には、リーチアクションなどと称される演出動作を２０秒前後実行し、その後、特別図柄を整列させている。一方、ハズレ状態の場合にも、同様のリーチアクションが実行されることがあり、この場合には、遊技者は、大当り状態になることを強く念じつつ演出動作の推移を注視することになる。そして、図柄変動動作の終了時に、停止ラインに所定図柄が揃えば、大当り状態であることが遊技者に保証されたことになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この種の遊技機では、各種の演出を豊富化したい一方で、機器構成を簡素化したい要請が強い。
【０００５】
例えば、画像演出の迫力を高めるには、動画を再生するのがこと好適ではあるが、演出豊富化するには動画数を増やす必要があり、多数の動画を用意するのでは、ＣＧメモリのデータ量が膨大化する。
【０００６】
この発明は、上記の課題に鑑みてなされたものであって、画像演出用データのデータ量の膨大化を抑えつつ、画像演出を豊富化できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明は、所定の動作サイクルを有して間欠的に動作し、一又は複数の表示装置を使用した画像演出を中心的に制御する演出制御手段と、前記演出制御手段が発行する画像コマンドリストに記載された各種のコマンドに基づいて動作して、表示装置の１フレーム分の画像データを生成して、表示装置に出力する画像生成手段と、を有して構成された遊技機であって、前記画像生成手段は、所定の描画形状を特定する配列情報と、前記配列情報に基づく描画動作の描画手順を特定するインデックス情報と、に基づいた描画動作が実行可能に構成されている。
【０００８】
前記配列情報は、典型的には、画像コマンドリストに直接的に記載して特定されるか、或いは、画像コマンドリストに、メモリ上の記憶位置を記載することで特定されるよう構成されている。同様に、前記インデックス情報は、典型的には、画像コマンドリストに直接的に記載して特定されるか、或いは、画像コマンドリストに、メモリ上の記憶位置を記載することで特定されるよう構成されている。
【０００９】
好適には、前記描画形状は、立体形状の表面に所定のテクスチャを貼付けて構成され、前記配列情報は、前記立体形状をポリゴン分割した場合のローカル座標上のポリゴン頂点のＸＹＺ座標値と、ポリゴン頂点における法線ベクトル情報と、ポリゴン頂点におけるテクスチャ座標値とが含まれている。
【００１０】
前記配列情報の配列数は、ポリゴン頂点の個数より少ないのが典型的であり、前記インデックス情報の配列数は、ポリゴン頂点の個数と同一であるのが好ましい。前記立体形状は、実施例のサイコロ予告のように、例えば、多角体であり、その平坦面に、各々異なるテクスチャ、或いは、少なくともその一部には、共通のテクスチャが貼付けられて前記描画形状となる。
【００１１】
前記立体形状は、その形状を特定するローカル座標のＸ軸／Ｙ軸／Ｚ軸の何れかを回転中心として回転させた回転態様で表示装置に表示されるよう構成されていのが好適である。また、前記立体形状は、時間経過に対応して、波面状、波紋状、又は吹上げ状に変形するシート形状であり、このシート形状に共通するテクスチャが貼付けられるよう構成されているのも好適である。
【００１２】
ここで、シート状とは、文字通りのシート形状に限らず、例えば、水面、湖面、海面などの表面形状を形成する表面部分（概念的な薄皮部分）も含む概念であり、薄皮状の表面部分が波面状、波紋状、吹き上げ状、隆起状、又は噴出状に変化する演出を実行するのも好適である。このような場合には、時間的に変化する立体形状に、共通のテクスチャが貼付けられる。
【発明の効果】
【００１３】
上記した本発明の遊技機によれば、動画演出と類似の画像演出を実現でき、しかも、その内容を多様化できるので、データ量の膨大化を抑えつつ、画像演出を豊富化することができる。
【図面の簡単な説明】
【００１４】
【図１】実施例に示すパチンコ機の斜視図である。
【図２】図１のパチンコ機の遊技盤を図示した正面図である。
【図３】実施例のパチンコ機の全体構成を示すブロック図である。
【図４】演出制御部の回路構成を例示するブロック図である。
【図５】複合チップの内部構成を説明する図面である。
【図６】描画コマンドリストの発行と実行を説明する図面である。
【図７】描画コマンドリストの発行と実行を説明する別の図面である。
【図８】複合チップに内蔵されたサウンドエンジン（音声プロセッサ）の動作を説明する図面である。
【図９】ホストＣＰＵがサウンドエンジンを制御する手順を説明する図面である。
【図１０】ホストＣＰＵと、ＤＭＡコントローラと、シリアルポートの動作概略を説明する図面である。
【図１１】ランプドライバの内部構成と動作を説明する図面である。
【図１２】モータドライバと、信号取得回路の動作を説明する図面である。
【図１３】ランプドライバへのシリアル伝送動作を説明する図面である。
【図１４】ランプドライバへの別のシリアル伝送動作を説明する図面である。
【図１５】演出制御部のメイン動作を説明するフローチャートである。
【図１６】演出制御部のタイマ割込み動作を説明するフローチャートである。
【図１７】画像コマンドリストの生成と発行を説明するフローチャートである。
【図１８】画像コマンドリストの生成と発行を説明する別のフローチャートである。
【図１９】サウンドエンジンの制御に関し、音声コマンドリストの生成と発行を説明するフローチャートである。
【図２０】サイコロ予告演出を説明する図面である。
【図２１】３Ｄオブジェクトを特定する要素を説明する図面である。
【図２２】画像プロセッサが実行するパイプライン処理を説明するフローチャートである。
【図２３】ホストＣＰＵによるコマンドリストの作成処理を説明するフローチャートである。
【図２４】カレンダ予告演出を説明する図面である。
【発明を実施するための形態】
【００１５】
以下、実施例に基づいて本発明を詳細に説明する。図１は、本実施例のパチンコ機ＧＭを示す斜視図である。このパチンコ機ＧＭは、島構造体に着脱可能に装着される矩形枠状の木製外枠１と、外枠１に固着されたヒンジ２を介して開閉可能に枢着される前枠３とで構成されている。この前枠３には、遊技盤５が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉６と前面板７とが夫々開閉自在に枢着されている。
【００１６】
ガラス扉６の外周には、ＬＥＤランプなどによる電飾ランプが、略Ｃ字状に配置されている。一方、ガラス扉６の上部左右位置と下側には、全３個のスピーカが配置されている。上部に配置された２個のスピーカは、各々、左右チャネルＲ，Ｌの音声を出力し、下側のスピーカは重低音を出力するよう構成されている。
【００１７】
前面板７には、発射用の遊技球を貯留する上皿８が装着され、前枠３の下部には、上皿８から溢れ出し又は抜き取った遊技球を貯留する下皿９と、発射ハンドル１０とが設けられている。発射ハンドル１０は発射モータと連動しており、発射ハンドル１０の回動角度に応じて動作する打撃槌によって遊技球が発射される。
【００１８】
上皿８の外周面には、チャンスボタン１１が設けられている。このチャンスボタン１１は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル１０から右手を離すことなくチャンスボタン１１を操作できる。このチャンスボタン１１は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
【００１９】
上皿８の右部には、カード式球貸し機に対する球貸し操作用の操作パネル１２が設けられ、カード残額を３桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
【００２０】
図２に示すように、遊技盤５の表面には、金属製の外レールと内レールとからなるガイドレール１３が環状に設けられ、その略中央には、中央開口ＨＯが設けられている。そして、中央開口ＨＯの下方には、不図示の可動演出体が隠蔽状態で収納されており、可動予告演出時には、その可動演出体が上昇して露出状態となることで、所定の信頼度の予告演出を実現している。ここで、予告演出とは、遊技者に有利な大当り状態が招来することを不確定に報知する演出であり、予告演出の信頼度とは、大当り状態が招来する確率を意味している。
【００２１】
中央開口ＨＯには、大型の液晶カラーディスプレイ（ＬＣＤ）で構成されたメイン表示装置ＤＳ１が配置され、メイン表示装置ＤＳ１の右側には、小型の液晶カラーディスプレイで構成された可動式のサブ表示装置ＤＳ２が配置されている。メイン表示装置ＤＳ１は、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置ＤＳ１は、中央部に特別図柄表示部Ｄａ〜Ｄｃと右上部に普通図柄表示部１９とを有している。そして、特別図柄表示部Ｄａ〜Ｄｃでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Ｄａ〜Ｄｃ及びその周りでは、適宜な予告演出などが実行される。
【００２２】
遊技球が落下移動する遊技領域には、第１図柄始動口１５ａ、第２図柄始動口１５ｂ、第１大入賞口１６ａ、第２大入賞口１６ｂ、普通入賞口１７、及び、ゲート１８が配設されている。これらの入賞口１５〜１８は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
【００２３】
第１図柄始動口１５ａの上部には、導入口ＩＮから進入した遊技球がシーソー状又はルーレット状に移動した後に、第１図柄始動口１５に入賞可能に構成された演出ステージ１４が配置されている。そして、第１図柄始動口１５に遊技球が入賞すると、特別図柄表示部Ｄａ〜Ｄｃの変動動作が開始されるよう構成されている。
【００２４】
第２図柄始動口１５ｂは、左右一対の開閉爪を備えた電動式チューリップで開閉されるように構成され、普通図柄表示部１９の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪が開放されるようになっている。
【００２５】
なお、普通図柄表示部１９は、普通図柄を表示するものであり、ゲート１８を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート１８の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。
【００２６】
第１大入賞口１６ａは、前後方向に進退するスライド盤を有して構成され、第２大入賞口１６ｂは、下端が軸支されて前方に開放する開閉板を有して構成されている。第１大入賞口１６ａや第２大入賞口１６ｂの動作は、特に限定されないが、この実施例では、第１大入賞口１６ａは、第１図柄始動口１５ａに対応し、第２大入賞口１６ｂは、第１図柄始動口１５ｂに対応するよう構成されている。
【００２７】
すなわち、第１図柄始動口１５ａに遊技球が入賞すると、特別図柄表示部Ｄａ〜Ｄｃの変動動作が開始され、その後、所定の大当り図柄が特別図柄表示部Ｄａ〜Ｄｃに整列すると、第１大当りたる特別遊技が開始され、第１大入賞口１６ａのスライド盤が、前方に開放されて遊技球の入賞が容易化される。
【００２８】
一方、第２図柄始動口１５ｂへの遊技球の入賞によって開始された変動動作の結果、所定の大当り図柄が特別図柄表示部Ｄａ〜Ｄｃに整列すると、第２大当りたる特別遊技が開始され、第２大入賞口１６ｂの開閉板が開放されて遊技球の入賞が容易化される。特別遊技（大当り状態）の遊技価値は、整列する大当り図柄などに対応して種々相違するが、何れの遊技価値が付与されるかは、遊技球の図柄始動口１５ａ，１５ｂへの入賞時に実行される大当り抽選の抽選結果に基づいて予め決定される。
【００２９】
典型的な大当り状態では、大入賞口１６の開閉板が開放された後、所定時間が経過し、又は所定数（例えば１０個）の遊技球が入賞すると開閉板が閉じる。このような動作は、最大で例えば１５回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Ｄａ〜Ｄｃの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態（確変状態）となるという特典が付与される。
【００３０】
ところで、本実施例では、大当り状態を決定する大当り抽選や、その他の抽選確率を、係員の設定操作に基づいて、複数段階の何れかに設定できるようになっている。係員による抽選確率の設定操作は、特別な設定キーＳＥＴ（図３）によって電源投入時に限り許可される。
【００３１】
図３は、上記した各動作を実現するパチンコ機ＧＭの全体回路構成を示すブロック図であり、図４は、演出制御基板２２について、やや詳細に記載したブロック図である。
【００３２】
図３に示す通り、このパチンコ機ＧＭは、ＡＣ２４Ｖを受けて各種の直流電圧や、電源異常信号ＡＢＮ１、ＡＢＮ２やシステムリセット信号（電源リセット信号）ＳＹＳなどを出力する電源基板２０と、遊技制御動作を中心統括的に担う主制御基板２１と、主制御基板２１から受けた制御コマンドＣＭＤに基づいて各種の演出動作を統一的に実行する演出制御基板２２と、主制御基板２１から受けた制御コマンドＣＭＤ’に基づいて払出モータＭを制御して遊技球を払い出す払出制御基板２３と、遊技者の操作に応答して遊技球を発射させる発射制御基板２４と、を中心に構成されている。
【００３３】
上記の構成に対応して、主制御部基板２１は、遊技盤中継基板３１を経由して、遊技盤５の各遊技部品に接続されている。そして、遊技盤上の各入賞口１６〜１８に内蔵された検出スイッチのスイッチ信号を受けて、必要な抽選処理を実行すると共に、電動式チューリップなどのソレノイド類を適宜に駆動している。
【００３４】
演出制御基板２２には、表示装置ＤＳ１，ＤＳ２に伝送される画像信号を中継する液晶インタフェイス基板（液晶ＩＦ基板）２５が、配線ケーブルを使用することなく、雄雌コネクタで直結されている。また、液晶ＩＦ基板２５には、遊技実績情報などを不揮発的に記憶する不揮発性メモリ２６（強誘電体メモリＦｅＲＡＭ：Ferroelectric Random Access Memory）と、現在時刻を計時可能な時計回路２７（ＲＴＣリアルタイムクロック）とが搭載されている。
【００３５】
なお、主制御基板２１が出力する制御コマンドＣＭＤは、直接的に、演出制御基板２２に伝送されるが、制御コマンドＣＭＤ’は、主基板中継基板３２を経由して、払出制御基板２３に伝送される。これらの制御コマンドＣＭＤ，ＣＭＤ’は、何れも１６ビット長であるが、８ビット長毎に２回に分けてパラレル送信されている。
【００３６】
主制御基板２１、演出制御基板２２と払出制御基板２３には、ワンチップマイコンによるコンピュータ回路が搭載されている。一方、演出制御基板２２には、画像プロセッサ５１、音声プロセッサ５２、及び、ホストＣＰＵ５０などを内蔵する単一電子素子（複合チップ４０）たるコンピュータ回路が搭載されており、ホストＣＰＵ５０が、音声演出と、ランプ演出と、役物演出と、画像演出を一元的に制御している（図４参照）。なお、音声プロセッサ５２が複合チップ４０に内蔵されているので、以下の説明では、音声プロセッサ５２を、特に、サウンドエンジン５２と呼ぶことがある。また、画像プロセッサ５１は、この機能を実現する複数の回路ブロック６０〜６３によって実現される（図５参照）。
【００３７】
また、以下の説明において、制御基板２１〜２３と液晶ＩＦ基板２５に搭載された回路、及びその回路によって実現される動作を機能的に総称して、主制御部２１、演出制御部２２、及び払出制御部２３と言う。なお、主制御部２１に対して、演出制御部２２と払出制御部２３の全部又は一部がサブ制御部となる。
【００３８】
ところで、このパチンコ機ＧＭは、図３の破線で囲む枠側部材ＧＭ１と、遊技盤５の背面に固定された盤側部材ＧＭ２とに大別されている。枠側部材ＧＭ１には、ガラス扉６や前面板７が枢着された前枠３と、その外側の木製外枠１とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材ＧＭ２は、機種変更に対応して交換され、新たな盤側部材ＧＭ２が、元の盤側部材の代わりに枠側部材ＧＭ１に取り付けられる。なお、枠側部材１を除く全てが、盤側部材ＧＭ２である。
【００３９】
図３の破線枠に示す通り、枠側部材ＧＭ１には、電源基板２０と、払出制御基板２３と、発射制御基板２４と、枠中継基板３５と、ＣチャンネルのＬＥＤランプ群を駆動するランプ駆動基板３６と、Ｅチャンネルの役物モータ群を駆動するモータ駆動基板３７と、が含まれており、これらの回路基板が、前枠３の適所に各々固定されている。
【００４０】
一方、遊技盤５の背面には、盤側部材ＧＭ２として、主制御基板２１、演出制御基板２２、及び、液晶ＩＦ基板２５が、表示装置ＤＳ１，ＤＳ２やその他の回路基板と共に固定されている。ここで、その他の回路基板には、ＤチャンネルのＬＥＤランプ群を駆動するランプ駆動基板２９と、Ｆチャンネルの役物モータ群を駆動するモータ駆動基板３０と、枠中継基板３４と、が含まれている。
【００４１】
枠側のモータ駆動基板３７や、盤側のモータ駆動基板３０には、役物モータを駆動する複数のモータドライバＤＶｊが配置される他、複数ビット長のパラレル信号を受けて、シリアル信号に変換して出力する信号取得回路ＧＥＴが各々配置されている。そして、モータ駆動基板３７の信号取得回路ＧＥＴには、チャンスボタン１１のスイッチ信号や、役物モータ毎に配置された原点センサのセンサ信号が、複数ビット長のパラレル信号として供給される。
【００４２】
モータ駆動基板３０についても同様であり、モータ駆動基板３０の信号取得回路ＧＥＴには、役物モータ毎に配置された原点センサのセンサ信号が、複数ビット長のパラレル信号として供給されるよう構成されている。
【００４３】
詳しくは後述するが、本実施例の場合、ＣチャンネルのＬＥＤランプ群、ＤチャンネルのＬＥＤランプ群、Ｅチャンネルの役物モータ群、及び、Ｆチャンネルの役物モータ群は、全て、演出制御基板２２のシリアルポート５５からシリアル伝送される駆動データに基づいて駆動されている。ここで、Ｃチャンネル〜Ｆチャンネルの称呼は、複合チップ４０に内蔵されたシリアルポート５５のチャネル番号＃Ｃ〜＃Ｆに対応している。
【００４４】
上記した駆動基板３６，３７を含んだ枠側部材ＧＭ１と、駆動基板２９，３０を含んだ盤側部材ＧＭ２とは、一箇所に集中配置された接続コネクタＣ１〜Ｃ４によって電気的に接続されている。したがって、枠側部材ＧＭ１と盤側部材ＧＭ２は、一の操作で電気接続が完了し、一の操作で電気接続が遮断されることになる。
【００４５】
電源基板２０は、接続コネクタＣ２を通して、主基板中継基板３２に接続され、接続コネクタＣ３を通して、電源中継基板３３に接続されている。電源基板２０には、交流電源の投入と遮断とを監視する電源監視部ＭＮＴが設けられている。電源監視部ＭＮＴは、交流電源が投入されたことを検知すると、所定時間だけシステムリセット信号ＳＹＳをＬレベルに維持した後に、これをＨレベルに遷移させる。
【００４６】
また、電源監視部ＭＮＴは、交流電源の遮断を検知すると、電源異常信号ＡＢＮ１，ＡＢＮ２を、直ちにＬレベルに遷移させる。電源異常信号ＡＢＮ１，ＡＢＮ２は、電源投入後に速やかにＨレベルとなる。
【００４７】
本実施例のシステムリセット信号は、交流電源に基づく直流電源によって生成されている。そのため、交流電源の投入（通常は電源スイッチのＯＮ）を検知してＨレベルに増加した後は、直流電源電圧が異常レベルまで低下しない限り、Ｈレベルを維持する。したがって、直流電源電圧が維持された状態で、交流電源が瞬停状態となっても、システムリセット信号ＳＹＳがＣＰＵをリセットすることはない。なお、電源異常信号ＡＢＮ１，ＡＢＮ２は、交流電源の瞬停状態でも出力される。
【００４８】
主基板中継基板３２は、電源基板２０から出力される電源異常信号ＡＢＮ１、バックアップ電源ＢＡＫ、及びＤＣ５Ｖ，ＤＣ１２Ｖ，ＤＣ３２Ｖを、そのまま主制御部２１に出力している。一方、電源中継基板３３は、電源基板２０から受けたシステムリセット信号ＳＹＳや、交流及び直流の電源電圧を、そのまま演出制御部２２に出力している。そして、演出制御部２２は、受けたシステムリセット信号ＳＹＳに基づいて、基板各部に配置された電子素子を電源リセットしている。
【００４９】
一方、払出制御基板２４は、中継基板を介することなく、電源基板２０に直結されており、主制御部２１が受けると同様の電源異常信号ＡＢＮ２や、バックアップ電源ＢＡＫを、その他の電源電圧と共に直接的に受けている。
【００５０】
電源基板２０が出力するシステムリセット信号ＳＹＳは、電源基板２０に交流電源２４Ｖが投入されたことを示す電源リセット信号であり、この電源リセット信号に基づいて、演出制御部２２を構成する各回路素子が電源リセットされるようになっている。
【００５１】
但し、このシステムリセット信号ＳＹＳは、主制御部２１と払出制御部２３には、供給されておらず、各々の回路基板２１，２４のリセット回路ＲＳＴにおいて電源リセット信号（ＣＰＵリセット信号）が生成されている。そのため、例えば、接続コネクタＣ２がガタついたり、或いは、配線ケーブルにノイズが重畳しても、主制御部２１や払出制御部２３のＣＰＵが異常リセットされるおそれはない。
【００５２】
主制御部２１や払出制御部２３に設けられたリセット回路ＲＳＴは、各々ウォッチドッグタイマを内蔵しており、各制御部２１，２４のＣＰＵから、定時的なクリアパルスを受けない限り、各ＣＰＵは強制的にリセットされる。
【００５３】
また、この実施例では、ＲＡＭクリア信号ＣＬＲは、主制御部２１で生成されて主制御部２１と払出制御部２３のワンチップマイコンに伝送されている。ここで、ＲＡＭクリア信号ＣＬＲは、各制御部２１，２４のワンチップマイコンの内蔵ＲＡＭの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチＳＷのＯＮ／ＯＦＦ状態に対応した値を有している。
【００５４】
図３に示す通り、初期化スイッチＳＷは、抽選確率などを規定する設定キーＳＥＴと同様に、主制御部２１に供給されている。これら初期化スイッチＳＷや設定キーＳＥＴの操作は、電源投入直後に実行される主制御部２１の初期処理で認識され、抽選確率などの設定処理や内蔵ＲＡＭの初期化処理が実行される。
【００５５】
その後、抽選確率などの設定値は、ＣＰＵ割込み許可状態で開始される主制御部２１の定常処理において、所定の制御コマンドの形式で演出制御部２２に通知され、通知された設定値は、液晶ＩＦ基板２５の不揮発性メモリ２６に記憶される。先に説明した通り、設定キーＳＥＴは、大当り抽選などの当選確率を、複数段階の何れかに設定する用途で使用される。そして、設定キーＳＥＴの設定内容は、時計回路２７から読み取った時刻情報と共に、不揮発性メモリ２６に記憶される。
【００５６】
以上の通り、抽選確率などの設定処理や、内蔵ＲＡＭの初期化処理は、電源投入直後に限り許容され、その後に開始される定常処理で実行されることはない。但し、主制御部２１の定常処理中に、係員が設定キーＳＥＴを操作した場合には、その事実が主制御部２１から演出制御部２２に通知されるようになっている。
【００５７】
そして、設定キーＳＥＴの操作通知を受けた演出制御部２２では、不揮発性メモリ２６に記憶内容を読み出して、表示装置ＤＳ１に画面表示するようになっている。定常処理中における設定キーＳＥＴの操作は、係員が、営業開始前に、抽選確率の設定履歴や、遊技実績履歴を確認したい場合に採られる操作であり、不正行為の痕跡がないことを確認する場合などに活用される。
【００５８】
そして、この設定キーＳＥＴの操作に対応して、初期化スイッチＳＷが操作された場合には、この通知を受けた演出制御部２２では、不揮発性メモリ２６の記憶内容を全て消去するようになっている。これは、例えば、その遊技機を転売するような場合に、営業秘密ともいうべき、抽選確率の設定履歴や、遊技実績履歴を消去するためである。
【００５９】
主制御部２１及び払出制御部２３は、電源基板２０から電源異常信号ＡＢＮ１，ＡＢＮ２を受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源ＢＡＫは、営業終了や停電により交流電源２４Ｖが遮断された後も、主制御部２１と払出制御部２３のワンチップマイコンの内蔵ＲＡＭのデータを保持するＤＣ５Ｖの直流電源である。したがって、主制御部２１と払出制御部２３は、電源遮断前の遊技動作を電源投入後に再開できることになる（電源バックアップ機能）。このパチンコ機では少なくとも数日は、各ワンチップマイコンのＲＡＭの記憶内容が保持されるよう設計されている。
【００６０】
先に説明した通り、演出制御基板２２と液晶ＩＦ基板２５とはコネクタ連結によって一体化されており、演出制御部２２は、電源中継基板３３を経由して、電源基板２０から各レベルの直流電圧（５Ｖ，１２Ｖ，３２Ｖ）と、システムリセット信号ＳＹＳを受けている（図３及び図４参照）。
【００６１】
また、演出制御部２２は、主制御部２１から制御コマンドＣＭＤとストローブ信号ＳＴＢとを受けている。そして、演出制御部２２は、ランプ駆動基板２９やランプ駆動基板３６に搭載された多数のランプドライバＤＲ１〜ＤＲｎ（図１０（ａ）参照）に、ランプ駆動データＳＰＯｃ，ＳＰＣｄをシリアル伝送することで、Ｃチャンネルのランプ群と、Ｄチャンネルのランプ群を駆動して、制御コマンドＣＭＤに基づくランプ演出を実現している。
【００６２】
また、演出制御部２２は、モータ駆動基板３０やモータ駆動基板３７に搭載された多数のモータドライバＤＶ１〜ＤＶｍ（図１１（ａ）参照）に、モータ駆動データＳＯｅ，ＳＯｆをシリアル伝送することで、Ｅチャンネルのモータ群と、Ｆチャンネルのモータ群を駆動して、制御コマンドＣＭＤに基づく役物演出を実現している。
【００６３】
特に限定されないが、本実施例の場合、クロック同期式のシリアル伝送方式を採っており、ランプ駆動基板３６とランプ駆動基板２９のランプドライバＤＲｉは、クロック信号ＳＰＣＫｃ，ＳＰＣＫｄに同期してランプ駆動信号ＳＰＯｃ，ＳＰＯｄを受けている。また、モータ駆動基板３７とモータ駆動基板３０のモータドライバＤＶｊは、シリアルクロックＳＣＫｅ，ＳＣＫｆに同期してモータ駆動信号ＳＯｅ，ＳＯｆを受けている（図４参照）。
【００６４】
図４は、演出制御部２２の内部構成をやや詳細に示すブロック図、図５は、複合チップの内部構成を示すブロック図である。図３や図４に示す通り、演出制御部２２は、画像演出、音声演出、ランプ演出、及び、役物演出を一元的に制御する複合チップ４０と、複合チップ４０による演出制御動作の作業領域などとして機能するＤＤＲ３ＳＤＲＡＭ（Double-Data-Rate3 Synchronous Dynamic Random Access Memory）４１と、一元的な演出動作を実現する制御プログラム、圧縮状態の音声データＳＮＤ、及び圧縮状態の画像データＩＭＧなどを不揮発的に記憶するＣＧＲＯＭ４２と、複合チップ４０から受ける音声信号を増幅してスピーカＳＰを駆動するデジタルアンプ４３と、入力バッファ４４，４５Ａ，４５Ｂと、出力バッファ４６Ａ，４６Ｂと、信号切換部４７Ａ，４７Ｂと、を中心に構成されている。
【００６５】
なお、以下の説明では、便宜上、ＤＤＲ３ＳＤＲＡＭ４１を、ＤＤＲメモリ又は外付けＲＡＭ（Random Access Memory）４１と称し、ＣＧＲＯＭ４２を、外付けＲＯＭ（Read Only Memory）４２と称することがある。
【００６６】
本実施例の複合チップ４０に接続可能なＤＤＲメモリ４１は、最高、８Ｇバイト長であるが、複合チップ４０（ホストＣＰＵ５０）から直接アクセス可能な領域は２５６Ｍバイトである。そこで、本実施例では、この２５６ＭバイトのＤＤＲメモリ４１の直接アクセス領域に、表示装置ＤＳ１，ＤＳ２の各一フレーム分の画像データを一時保存するフレームバッファＦＢを確保している。また、本実施例では、外付けＲＯＭ４２に記憶されている音声データＳＮＤを、電源投入時に、ＤＤＲメモリ４１の直接アクセス可能領域にコピーして、複合素子４０からの高速アクセスを可能にしている。
【００６７】
また、複合チップ４０に接続可能な外付けＲＯＭ４２は、最高１Ｔバイト長（1,099,511,627,776 バイト＝1,024 Ｇバイト）であるが、複合チップ４０（ホストＣＰＵ５０）から直接アクセス可能な領域は１Ｇバイトである。そこで、本実施例では、この１ＧＭバイトの外付けＲＯＭ４２の直接アクセス領域に、演出動作を一元的に制御する演出制御プログラムと、演出制御プログラムが参照する演出制御データと、音声演出の基礎データである音声データＳＮＤと、を不揮発的に記憶している。なお、演出制御データには、ランプ演出や役物演出を実現するための駆動データが含まれている。また、先に説明した通り、外付けＲＯＭ４２の音声データＳＮＤは、電源投入時に、外付けＲＯＭ４２からＤＤＲメモリ４１に転送される。
【００６８】
図４や図５に示す通り、複合チップ４０は、ホストＣＰＵ５０と、表示装置ＤＳ１，ＤＳ２を駆動して画像演出を実現する画像プロセッサ５１と、スピーカを駆動して音声演出を実現する音声プロセッサ５２と、ホストＣＰＵ５０を経由しない直接的なデータ伝送を実現するＤＭＡ（Direct Memory Access）コントローラ５３と、パラレル信号を入出力するパラレルポート（ＰＩＯ）５４と、シリアル信号を入出力するシリアルポート（ＳＩＯ）５５と、メインメモリ（Ｍ１）５６と、内蔵ＤＲＡＭ（Ｍ２）５７などを中心的に内蔵している。なお、便宜上、パラレルポートと称するが、実際には、パラレル出力ポート（ＰＯ）と、パラレル入力ポート（ＰＩ）が含まれている。
【００６９】
本実施例のシリアルポート５５は、チャネル＃Ａからチャネル＃Ｆまで、合計６チャネル存在するが、動作モードの設定に基づいて、シリアル出力ポートか又はシリアル入力ポートとして機能させることができる。そこで、本実施例では、チャネル＃Ｃとチャネル＃Ｄを、ランプ演出用のシリアル出力ポートとして使用している。一方、シリアルポート５５のチャネル＃Ｅと、チャネル＃Ｆについては、モータ演出用のシリアル出力ポートとして機能させた後、動作モードを切換え、シリアル信号を受信するシリアル入力ポートとして使用している。
【００７０】
このような内部構成を有する複合チップ４０に対応して、入力バッファ４４は、主制御部２１から制御コマンドＣＭＤとストローブ信号ＳＴＢを受けると共に、電源基板２０からシステムリセット信号ＳＹＳを受けている。そして、制御コマンドＣＭＤとストローブ信号ＳＴＢは、複合チップ４０のパラレルポート５４に伝送され、ストローブ信号ＳＴＢに起因する割込み処理に基づいて、ホストＣＰＵ５０が制御コマンドＣＭＤを取得している。
【００７１】
また、枠側入力バッファ４５Ａは、枠中継基板３４を経由して、チャネル＃Ｅのシリアル信号ＳＮｉを受け、盤側入力バッファ４５Ｂは、モータ駆動基板３０から、チャネル＃Ｆのシリアル信号ＳＮｊを受けるよう構成され、各入力バッファ４５Ａ，４５Ｂは、各シリアル信号ＳＮｉ，ＳＮｊを複合チップ４０のシリアルポート５５に伝送している。なお、各シリアル信号ＳＮｉ，ＳＮｊは、出力バッファ４６Ａ，４６Ｂを経由して伝送されるチャネル＃Ｅと、チャネル＃ＦのシリアルクロックＳＣＫｅ，ＳＣＫｆに同期して、クロック同期式でシリアル伝送される。
【００７２】
ここで、シリアル信号ＳＮｉには、枠側に配置された役物モータの回転位置を特定する原点信号と、チャンスボタン１１が押下されたことを示すスイッチ信号とが含まれている。一方、シリアル信号ＳＮｊには、盤側に配置された役物モータの回転位置を特定する原点信号が含まれている。
【００７３】
次に、枠側出力バッファ４６Ａと盤側出力バッファ４６Ｂは、複合チップ４０のシリアルポート５５やパラレルポート５４から受ける各種の信号を、各々、枠中継基板３４とランプ駆動基板２９に出力している。
【００７４】
図示の通り、枠側出力バッファ４６Ａは、シリアルポート５５からランプ駆動基板３６に伝送されるチャネル＃Ｃの信号群ＳＰＯｃ，ＳＰＣＫｃ，ＯＥｃと、シリアルポート５５からモータ駆動基板３７に伝送されるチャネル＃Ｅの信号群ＳＯｅ，ＳＣＫｅ，ＳＣＫｅと、パラレルポート５４からモータ駆動基板３７に伝送されるチャネル＃ＥのラッチパルスＬＴｅと、を中継している。
【００７５】
一方、盤側出力バッファ４６Ｂは、シリアルポート５５からランプ駆動基板２９に伝送されるチャネル＃Ｄの信号群ＳＰＯｄ，ＳＰＣＫｄ，ＯＥｄと、シリアルポート５５からモータ駆動基板３０に伝送されるチャネル＃Ｆの信号群ＳＯｆ，ＳＣＫｆ，ＳＣＫｆと、パラレルポート５４からモータ駆動基板３０に伝送されるチャネル＃ＦのラッチパルスＬＴｆと、を中継している。
【００７６】
信号切換器４７は、モータ駆動基板３７に伝送されるチャネル＃ＥのシリアルクロックＳＣＫｅの最終伝送先を切り換える枠側切換器４７Ａと、モータ駆動基板３０に伝送されるチャネル＃ＦのシリアルクロックＳＣＫｆの最終伝送先を切り換える盤側切換器４７Ｂとに区分される。枠側切換器４７Ａと、盤側切換器４７Ｂは、各々、パラレルポート５４から切換制御信号ＣＴＬｅ，ＣＴｆを受けて、シリアルクロックＳＣＫｅ，ＳＣＫｆの伝送先を切り換えている。
【００７７】
本実施例では、チャネル＃Ｅとチャネル＃ＦのシリアルクロックＳＣＫｅ，ＳＣＫｆは、各々、モータ駆動基板３７とモータ駆動基板３０に伝送されが、切換制御信号ＣＴＬｅ，ＣＴｆが第１レベルであれば、各モータ駆動基板３７，３０において、モータドライバＤＶに供給され、切換制御信号ＣＴＬｅ，ＣＴｆが第２レベルであれば、信号取得回路ＧＥＴに供給されるようになっている。
【００７８】
次に、液晶ＩＦ基板２５について説明すると、液晶ＩＦ基板２５には、不揮発性メモリ（ＦｅＲＡＭ）２６と、時計回路２７の他に、画像プロセッサ５１から第１のＬＶＤＳ（Low voltage differential signaling）信号を受ける信号分配器２８Ａと、画像プロセッサ５１から第２のＬＶＤＳ信号を受ける信号変換器２８Ｂとが搭載されている。第１のＬＶＤＳ信号と、第２のＬＶＤＳ信号は、メイン表示装置ＤＳ１やサブ表示装置ＤＳ２の各一フレームを構築する画像信号であり、一のピクセルについて、ＲＧＢ各８ビットのピクセルデータを、水平／垂直同期信号やピクセルクロック（ドットクロック）を含んで、各々、五対の差動信号線に対して複合チップ４０から出力される。
【００７９】
信号分配器２８Ａは、メイン表示装置ＤＳ１に伝送すべき第１のＬＶＤＳ信号ＬＶＤＳ１を受けてＲＧＢ信号を復元した後、偶数ピクセル用の画像信号と、奇数ピクセル用のＲＧＢ信号に分配した後、各々を各五対のＬＶＤＳｏ，ＬＶＤＳｅ信号に変換してメイン表示装置ＤＳ１に出力する回路である（図５参照）。
【００８０】
この信号分配器２８Ａの動作に基づき、メイン表示装置ＤＳ１に伝送されるＬＶＤＳ信号（ＬＶＤＳｏ，ＬＶＤＳｅ）のドットクロックは、元のＬＶＤＳ信号のドットクロックの周波数Ｆｄが１／２に抑制され大幅に耐ノイズ性が向上するので、高画質（高解像度）で大型の表示装置を安定して駆動することができる。なお、メイン表示装置ＤＳ１には、ＬＶＤＳｏ，ＬＶＤＳｅ信号に基づいて、本来のドットクロック周波数ＦｄのＲＧＢデジタル信号を復元する第１復元回路３８Ａが内蔵されており、メイン表示装置ＤＳ１の表示画面には、画像プロセッサ５１が生成した高画質の一フレーム画像が表示される。
【００８１】
一方、信号変換器２８Ｂは、サブ表示装置ＤＳ２に伝送すべき第２のＬＶＤＳ信号ＬＶＤＳ２を五対の差動信号線で受け、これを一対の差動信号線に纏めて出力する回路である。これは、サブ表示装置ＤＳ２の縦横寸法が、メイン表示装置ＤＳ１より大幅に小型である一方で、垂直同期信号の周波数（１／６０Ｈｚ）が共通するので、ピクセルクロックの周波数が低いことを考慮して、配線数を大幅に減少させるためである。
【００８２】
本実施例では、一ピクセルを構成するＲＧＢデータを各々８ビットで特定するので、ピクセルクロック一周期の第２のＬＶＤＳ信号には、３×８ビットのＲＧＢデータ、垂直同期信号ＶＳ、水平同期信号ＨＳ、及びデータイネーブル信号ＤＥなどを含め合計２８ビットのデータが含まれるが、信号変換器２８Ｂでは、これら２８ビットに、ＤＣバランス用の制御データなどを加えた、合計３６ビットを、一対の差動信号線に出力している。本実施例では、このような構成を採ることで、五対の信号線を、一対の信号線に大幅に抑制することができる。
【００８３】
一対の信号線で伝送された複合画像信号は、サブ表示装置ＤＳ２に近接して配置された第２復元回路３８Ｂにおいてパラレル変換された後、ＲＧＢデジタル信号に復元されて、サブ表示装置ＤＳ２に供給される。
【００８４】
図５は、画像演出、音声演出、ランプ演出、及び役物演出を一元的に制御する複合チップ４０の内部構造を、これに関連する外付けＲＯＭ４２やＤＤＲメモリ４１などと共に図示したものである。先に説明した通り、ＤＤＲメモリ４１の直接アクセス可能な記憶領域には、フレームバッファＦＢが確保されると共に、電源投入時に、外付けＲＯＭ４２から転送された音声データＳＮＤが記憶されている。
【００８５】
ここで、フレームバッファＦＢは、各表示装置ＤＳ１，ＤＳ２の表示画面を特定する完成状態の画像データが一時保存される記憶領域である。本実施例のフレームバッファＦＢは、各表示装置ＤＳ１，ＤＳ２用に、各々、第１バッファと第２バッファのダブルバッファ構造になっており、各バッファは、垂直同期信号６０Ｈｚに基づき規定される所定の切換え周期（１／３０秒）毎に、描画バンクと表示バンクに切換るよう構成されている。
【００８６】
すなわち、ある動作周期で描画バンクとして機能する第１バッファに生成された画像データは、次の動作周期では表示バンクとして機能する第１バッファから表示装置ＤＳ１，ＤＳ２に出力される。但し、このような構成のフレームバッファＦＢの配置位置は、何ら、ＤＤＲメモリ４１に限定されず、メインメモリ５６や内蔵ＤＲＡＭ５７に配置しても良い。
【００８７】
次に、外付けＲＯＭ４２には、演出制御プログラムと、演出制御データと、画像データＩＭＧと、音声データＳＮＤと、が不揮発的に記憶されている。なお、音声データＳＮＤには、一単位の音声演出を実現する多数の音声フレーズデータの他に、図８に示す一群のＳＥＱコードや一群のＳＡＣコードも含まれているが、これらについては、後で説明する。
【００８８】
ところで、外付けＲＯＭ４２のアクセス速度が問題になる場合には、別途、プログラムＲＯＭ５８を配置して、ここに演出制御プログラムや演出制御データを配置しても良い。この場合には、複合チップ４０のＣＰＵインタフェイス回路６６を経由して、プログラムＲＯＭ５８がアクセスされる。
【００８９】
また、更に多くのデータを記憶可能な安価な素子として、ＮＡＮＤ型フラッシュメモリで構成されたフラッシュＳＳＤ（solid state drive ）などのＳＡＴＡ（Serial Advanced Technology Attachment ）モジュール（ＨＳＳデバイス）５９を使用しても良く、ＨＳＳデバイス５９を、SerialＡＴＡに準拠したＨＳＳ（High Speed Serial ）方式で高速アクセスする構成を採るのも好適である。この場合には、複合チップ４０のＨＳＳコントロータ７０を経由して、ＨＳＳデバイス５９がアクセスされる。
【００９０】
図５に示す通り、複合チップ４０は、図４に示した内部回路などが内蔵されており、全ての演出動作を一元的に制御するホストＣＰＵ５０と、全体として画像プロセッサ５１として機能する各部６０〜６３と、音声プロセッサ５２として機能するサウンドエンジン５２と、外付けＲＯＭ４２やＤＤＲメモリ４１などの外部素子と内部回路との間、及び、内部回路同士のＤＭＡ転送を実現するＤＭＡコントローラ５３と、パラレルデータの送受信を実現するパラレル入出力ポート（ＰＩＯ）５４と、シリアルデータの送受信を実現するシリアル入出力ポート（ＳＩＯ）５５と、３Ｍバイト程度の記憶容量を有するメインメモリ５６と、２５６Ｍバイト程度の記憶容量を有する内蔵ＤＲＡＭ５７と、画像コマンドリストＬＴの発行先として専用的に使用されるＦＩＦＯ（First In First Out）構造の画像コマンドバッファ７１と、画像コマンドバッファ７１への中継レジスタであるコマンドライトレジスタＣＭｗなどが内蔵されている。
【００９１】
これら、複合チップ４０の内部回路は、リセット制御回路６７の動作に基づいて、各々、最適なタイミングで電源リセットされ、その後、クロック制御回路６５が出力する動作クロックに基づいた速度で動作している。また、ホストＣＰＵ５０の設定に基づいて機能する割込みコントローラ６４によって、各種の割込み処理が実現される。なお、ＤＤＲメモリ４１は、ＤＤＲ３メモリコントローラ６８を経由してアクセスされ、外付けＲＯＭ４２は、ＣＧメモリコントローラ６９を経由してアクセスされる。
【００９２】
複合チップ４０に内蔵されたメインメモリ５６は、高速なランダムアクセスが可能であって、ホストＣＰＵ５０のプログラム処理で必要となるスタック領域や、その他の作業領域として使用される。また、メインメモリ５６の記憶領域（３Ｍバイト）の一部は、ホストＣＰＵが発行する画像コマンドリストＬＴを記憶可能なコマンドメモリ５６としても使用可能である。
【００９３】
複合チップ４０に内蔵された画像プロセッサ５１は、詳細には、第１と第２のＬＤＶＳ信号を、信号分配器２８Ａや信号変換器２８Ｂに出力するディスプレイコントローラ６３と、各表示装置ＤＳ１，ＤＳ２の一フレーム分の画像データを生成するレンダリングエンジン６１と、圧縮状態の画像データを外付けＲＯＭ４２から読み出してデコードするＣＧデータデコーダ６２と、ホストＣＰＵ５０からの動作指示に基づき、画像プロセッサ５１の各部を制御するＶＤＰコントローラ６０とを有して構成されている。
【００９４】
そして、ＣＧデータデコータ６２によるデコード出力は、内蔵ＤＲＡＭ５７に一時記憶されるよう構成されている。また、ＶＤＰコントローラに内蔵されたプリローダが機能して、圧縮状態の画像圧縮データ（以下、ＣＧデータという）を、外付けＲＯＭ４２から先読み（プリロード）する場合には、先読みされたＣＧデータ（プリロードデータ）は、内蔵ＤＲＡＭ５７に確保されたプリロードバッファ（図７、図１８参照）に一時記憶される。
【００９５】
図５に示す通り、ＶＤＰコントローラ６０は、ホストＣＰＵ５０からＲＥＡＤ／ＷＲＩＴＥ可能な各種の制御レジスタＣＲＧ（Ｒ／Ｗ）を有して構成され、書込み用の制御レジスタ（ＣＲＧＷ）に受ける動作指示に基づいて動作し、内部動作状態をステイタス情報として、読出し用の制御レジスタ（ＣＲＧＲ）に保持している。
【００９６】
本実施例では、画像コマンドリストＬＴの発行先は、基本的に画像コマンドバッファ７１であるが、追加的に、メインメモリ（コマンドメモリ）５６や、内蔵ＤＲＡＭ５７や、ＤＤＲメモリ４１に、画像コマンドリストＬＴ（後述する補助リストＬＴ’）を発行することもできる。また、定型的な画像コマンドリストＬＴ（補助リストＬＴ’）について、予め、外付けＲＯＭ４２に記憶させておくこともできる。
【００９７】
但し、何れの場合でも、ＶＤＰコントローラ６０は、先ず、画像コマンドバッファ７１から画像コマンドリストＬＴを読出し、そこに記載されているＪＵＭＰ命令などに基づいて、メインメモリ５６、内蔵ＤＲＡＭ５７、ＤＤＲメモリ４１、又は外付けＲＯＭ４２に記載されている画像コマンドリストＬＴの処理に移行することになる。
【００９８】
何れにしても、画像コマンドリストＬＴとは、各表示装置ＤＳ１，ＤＳ２の各一フレームを特定する一群の描画コマンドなどを列記した指示リストである。本実施例の場合、画像コマンドリストＬＴに列記されるコマンド列は、(a) ＶＤＰコントローラ６０の割込み動作などのＶＤＰ（Video Display Processor ）制御に関する制御コマンドと、(b) レンダリングエンジン６１の描画動作に関する描画コマンドと、(c) ＣＧデータデコーダ６２のデコード動作に関するデコードコマンドとに区分されるが、以下、これら三種類(a) 〜(c) のコマンドを総称する場合には画像コマンドと称することにする。
【００９９】
これら何れの画像コマンドも３２ビットの整数倍の可変長であり、上記した三種類(a) 〜(c) の画像コマンドが、適宜な順番で列記されて画像コマンドリストＬＴが完成状態となる。ホストＣＰＵ５０が完成させた画像コマンドリストＬＴを、例えば、画像コマンドバッファ７１に発行する場合には、ホストＣＰＵ５０は、画像コマンドリストＬＴを構成するコマンド列について、一画像コマンドずつ順番に、コマンドライトレジスタＣＭｗに書込むことになる。すると、コマンドライトレジスタＣＭｗに書込まれた可変長の一画像コマンドは、内部構成に基づき、自動的に、ＦＩＦＯ（First In First Out）の形式で画像コマンドバッファ７１に蓄積されるようになっている。
【０１００】
このような内部動作に対応して、ＶＤＰコントローラ６は、画像コマンドバッファ７１（画像コマンドＦＩＦＯ）の管理機能を有しており、画像コマンドバッファ７１の使用状態などのステイタス情報が、読出し用の制御レジスタ（ＣＲＧＲ）に保持されるよう構成されている。したがって、ホストＣＰＵは、画像コマンドバッファ７１（画像コマンドＦＩＦＯ）がフル状態でないことを確認した上で、コマンドライトレジスタＣＭｗに画像コマンドを書込むことになる。
【０１０１】
このようにして、画像コマンドバッファ７１に蓄積された画像コマンド列は、ＶＤＰコントローラ６０によって、ＦＩＦＯ（First In First Out）方式で自動的に読み出され、各画像コマンドの種別に応じて、(a) 制御コマンドは、ＶＤＰコントローラ６０に配布され、(b) 描画コマンドは、レンダリングエンジン６１に配布され、(c) デコードコマンドは、ＣＧデータデコーダ６２に配布される。
【０１０２】
そして、ＶＤＰコントローラ６０、レンダリングエンジン６１、及び、ＣＧデータデコーダ６２は、配布された画像コマンドリストＬＴに記載された画像コマンドに基づいた各々の動作を開始する。すなわち、ＶＤＰコントローラ６０の制御動作に基づき、ＣＧデータデコーダ６２やレンダリングエンジン６１によって、画像データの生成動作が開始され、最終的な画像データがフレームバッファＦＢに完成される。
【０１０３】
後述するように、本実施例のホストＣＰＵ５０は、上記したバンク切換え周期と同じ動作周期Δ（＝１／３０秒）で間欠的に動作するが、上記した一連の動作は、ホストＣＰＵ５０が、画像コマンドバッファ７１に画像コマンドリストＬＴを発行した、その動作周期において実行される。
【０１０４】
以上、画像コマンドリストＬＴが画像コマンドバッファ７１に発行される場合を説明したが、先に説明した通り、ホストＣＰＵ５０は、メインメモリ（コマンドメモリ）５６、内蔵ＤＲＡＭ５７、又はＤＤＲメモリ４１に画像コマンドリストＬＴを発行することもできる。但し、この場合には、ある動作周期で発行した画像コマンドリストＬＴは、一又はそれ以上遅れた動作周期において実効化される。
【０１０５】
例えば、コマンドメモリ５６を使用する場合には、図６に示すように、書込み用と読み出し用に切り替えて使用する一対のリストバッファＢＵＦａ，ＢＵＦｂを、コマンドメモリ５６に確保する必要がある。そして、一方のリストバッファＢＵＦａ／ＢＵＦｂに、次サイクルの画像コマンドリストＬＴを発行し、一動作周期後には、一対のリストバッファＢＵＦａ，ＢＵＦｂの用途を切換えるようにしている。
【０１０６】
リストバッファＢＵＦａ，ＢＵＦｂの切換え動作は、ホストＣＰＵ５０が、画像コマンドバッファ７１に発行する制御コマンドリストＬＴｃによって実行され、ある動作周期（Ｔ）に発行される制御コマンドリストＬＴｃは、第１リストバッファＢＵＦａの画像コマンドリストＬＴを実行すべきことを特定するＪＵＭＰ命令（JUMP_BUFa ）と、制御コマンドリストＬＴｃの最終行となるバンクフリップ待ち命令（WAIT_BANKFLIP ）とで構成される。なお、このＪＵＭＰ命令は、いわゆるＣＡＬＬ命令と同じであり、ＪＵＭＰ命令の実行後は、バンクフリップ待ち命令（WAIT_BANKFLIP ）が実行される。
【０１０７】
バンクフリップ（Bank Flip ）とは、フレームバッファＦＢにおける描画バンクと表示バンクの切換えを意味し、バンクフリップ待ち命令の実行によって、ＶＤＰコントローラ６０の動作は、次のバンク切換えタイミングまで待機状態となる。バンクフリップ周期（＝バンク切換え周期）は、垂直同期信号の周波数６０Ｈｚに対応して、１／６０秒としても良いが、本実施例では、複合チップ４０の各内部回路の動作時間を十分に確保するため、バンクフリップ周期を敢えて１／３０秒（垂直同期信号の２回分）としている。先に説明した通り、このバンクフリップ周期（バンク切換え周期）は、ホストＣＰＵ５０の動作周期Δと同じである。
【０１０８】
本実施例では、上記の構成を採るので、次の動作周期（Ｔ＋Δ）は、１／３０秒後となるが、次の動作周期（Ｔ＋Δ）に発行される制御コマンドリストＬＴｃは、第２リストバッファＢＵＦａの画像コマンドリストＬＴを実行すべきことを指示するＪＵＭＰ命令（JUMP_BUFb ）と、制御コマンドリストＬＴｃの最終行に記載されるバンクフリップ待ち命令（WAIT_BANKFLIP ）とで構成される。したがって、この動作周期（Ｔ＋Δ）では、前サイクルに発行された第２リストバッファＢＵＦｂの画像コマンドリストＬＴが実効化されることになる。
【０１０９】
以下、同じであり、リストバッファＢＵＦａ，ＢＵＦｂの一方に、次サイクルの画像コマンドリストＬＴを発行すると共に、画像コマンドバッファ７１にリストバッファＢＵＦａ，ＢＵＦｂを切換える制御コマンドリストＬＴｃを発行して画像演出動作が進行させる。この構成によれば、画像コマンドリストＬＴの発行処理と、画像コマンドリストＬＴに基づいた画像データの生成処理とを、一の動作周期（Δ）で終える必要がなくなり、画像データの生成処理時間に時間的な余裕が生じるので、表示装置の大型化や高画質化に対応することができる。
【０１１０】
なお、画像コマンドリストＬＴの最後には、画像コマンドバッファ７１に記載されているバンクフリップ待ち命令（WAIT_BANKFLIP ）への復帰を意味するＪＵＭＰ命令（JUMP_CFIFO）が記載されており、図６の矢印で示す動作が実現される。
【０１１１】
また、表示装置の大型化や高画質化により有効に対応するには、デコード動作に先行してプリローダを機能させて、外付けＲＯＭ４２のＣＧデータ（圧縮状態の画像圧縮データ）をプリロード動作するのも好適である。なお、プリロード動作を実現するには、後述するＣＧデータの転送期間（Δ〜３Δ）などを特定した上で、ＶＤＰコントローラ６０を先読み動作モードに設定する必要がある。また、画像コマンドリストＬＴには、プリロード転送を指示する特別なデコードコマンドＤＣｐを記載する必要がある。
【０１１２】
この先読み動作モードでは、画像コマンドリストＬＴの発行先は、例えば、ＤＤＲメモリ４１など、十分な記憶容量を有するメモリとし、複数Ｎ個のバッファ領域を確保する必要がある。以下、画像コマンドリストＬＴの発行先を、例えば、ＤＤＲメモリ４１として、バッファ領域を３個とする場合（トリプルバッファＢＵＦａ〜ＢＵＦｃ）について図７に基づいて説明する。
【０１１３】
この場合は、トリプルバッファＢＵＦａ〜ＢＵＦｃを循環的に使用して、何れかの領域（ＢＵＦａ〜ＢＵＦｃ）に、次々回サイクル用の画像コマンドリストＬＴが発行され、画像コマンドバッファ７１には、バンクフリップ待ち命令（WAIT_BANKFLIP ）だけで構成された制御コマンドリストＬＴｃが発行される。
【０１１４】
例えば、動作周期（Ｔ）では、次々回（Ｔ＋２Δ）に実効化される画像コマンドリストＬＴが第１バッファＢＵＦａに発行され、動作周期（Ｔ＋Δ）では、Ｔ＋３Δに実効化される画像コマンドリストＬＴが第２バッファＢＵＦｂに発行され、動作周期（Ｔ＋２Δ）では、Ｔ＋４Δに実効化される画像コマンドリストＬＴが第３バッファＢＵＦｂに発行される。そして、これらの画像コマンドリストＬＴの最終行は、画像コマンドバッファ７１の先頭アドレスへのジャンプ命令（JUMP_CFIFO）となっている。
【０１１５】
また、ホストＣＰＵ５０は、各動作周期において、実行されるべき画像コマンドリストＬＴの先頭アドレスを、ＶＤＰコントローラ６０に指定する必要があり、具体的には、動作周期（Ｔ）では、画像コマンドリストＬＴが第１バッファＢＵＦｂに存在すると指定し、動作周期（Ｔ＋Δ）では、画像コマンドリストＬＴが第３バッファＢＵＦｃに存在すると指定し、動作周期（Ｔ＋２Δ）では、画像コマンドリストＬＴが第１バッファＢＵＦａに存在すると指定している。
【０１１６】
先に説明した通り、何れの画像コマンドリストＬＴも、その最終行は、画像コマンドバッファ７１の先頭アドレスへのジャンプ命令（JUMP_CFIFO）であり、画像コマンドバッファ７１には、毎回、バンクフリップ待ち命令（WAIT_BANKFLIP ）だけで構成された制御コマンドリストＬＴｃが発行される。そのため、ＶＤＰコントローラ６０は、トリプルバッファＢＵＦａ〜ＢＵＦｃを循環的に読み出して、必要な処理を実行した後、バンクフリップ待ち命令（WAIT_BANKFLIP ）によって処理を終えることになる。なお、制御コマンドリストＬＴｃは、常に同一内容であるので、必ずしも、毎回発行する必要はなく、一度だけ発行したのでも良い。
【０１１７】
ところで、先に説明した通り、画像コマンドリストＬＴには、プリロード転送を指示する特別なデコードコマンドＤＣｐが記載されている場合がある。そして、先読み動作モードでは、新規に書込まれた画像コマンドリストＬＴは、その次の動作周期で解釈されるようになっている。
【０１１８】
したがって、動作周期（Ｔ）に書込まれた画像コマンドリストＬＴは、動作周期（Ｔ＋Δ）において、ＶＤＰコントローラ６０によって解釈されるが、この画像コマンドリストＬＴにプリロード転送を指示するデコードコマンドＤＣｐが検出される場合には、ＶＤＰコントローラ６０に内蔵されたプリローダは、動作周期（Ｔ＋Δ）において、必要なＣＧデータを外付けＲＯＭから読出し、読み出したＣＧデータを、内蔵ＤＲＡＭ５７に確保されたプリロードバッファＢＵＦｐに格納する（ＣＧデータの転送期間Δ）。
【０１１９】
そして、プリロードバッファＢＵＦｐに読み出したＣＧデータは、トリプルバッファ（ＢＵＦａ〜ＢＵＦｃ）形式を採る場合には、次の動作周期（Ｔ＋２Δ）で、プリロードバッファＢＵＦｐのＣＧデータが、ＣＧデータデコーダ６２によって伸張され、レンダリングエンジン６１の画像生成処理に使用される。
【０１２０】
なお、３個のバッファ領域（トリプルバッファ）ではなく、４個のバッファ領域（クアドラブルバッファ）を確保した場合には、動作周期（Ｔ＋Δ）から動作周期（Ｔ＋２Δ）までがＣＧデータの先読み期間（転送期間２Δ）であり、５個のバッファ領域（クインティブルバッファ）を確保した場合には、動作周期（Ｔ＋Δ）から動作周期（Ｔ＋３Δ）までが先読み期間（転送期間３Δ）でとなる。
【０１２１】
以上の通り、先読み動作モードを採る場合には、一動作周期以上のＣＧデータ転送時間を確保できるので、アクセス速度に劣る外付けＲＯＭ４２を採用した場合でも、表示装置一フレーム用に大量のＣＧデータを転送することができ、表示装置の大型化や高画質化、及び、画像演出の高度化を実現することができる。また、表示装置の個数を３個以上に増やし、それぞれ異なる画像演出を実行する場合にも効果的である。
【０１２２】
続いて、図８に基づいて、複合チップ４０に内蔵されたサウンドエンジン（音声プロセッサ）５２について説明する、図８に示す通り、サウンドエンジン５２は、ホストＣＰＵ５０やＶＤＰコントローラ６０からアクセス可能な複数のコマンドレジスタ（ＲＧｉ）８０と、間欠的に動作して内部動作を制御するサウンドコントールモジュール８１と、ＤＤＲメモリ４１から読み出した圧縮状態の音声フレーズデータを伸張して、一又は複数チャンネルのデジタル音声（ＰＣＭデータ）を生成するメインジェネレータ８４と、メインジェネレータ８４が生成した複数チャンネルのデジタル音声をミキシングすると共に音声加工するマルチエフェクタ８５と、マルチエフェクタ８５の出力を受けて３本の伝送線に必要な音声情報をデジタルアンプ４３に出力するオーディオインタフェイス８６と、を有して構成され、各コマンドレジスタＲＧｉへのアクセス動作を中継する中継レジスタ８２及びコマンドインタフェイス部８３を経由してホストＣＰＵ５０などに接続されている。
【０１２３】
ここで、サウンドコントールモジュールＳＣＭ（以下、ＳＣＭ８１と略すことがある）には、一群のコマンドレジスタＲＧｉ〜ＲＧｊに対する、一連の設定動作を自動的に実行するシーケンサＳＥＱｊ（Sequencer ）と、シンプルアクセスコントローラＳＡＣｉ（simple Access Controller）とが、各々、複数個設けられている。一群のコマンドレジスタＲＧｉ〜ＲＧｊへの設定値を自動的に設定する点では、何れの動作も同じであるが、一まとまりの設定動作（ステップ動作）を終えた後、所定時間を待機して、次の一まとまりの設定動作（ステップ動作）に移行する間欠設定動作や、一連の設定動作を任意回数だけ繰返す反復設定動作などが可能である点で、シーケンサＳＥＱの設定動作の方が、サウンドコントールモジュールＳＣＭよりやや高度化されている。
【０１２４】
但し、シンプルアクセスコントローラＳＡＣは、外付けＲＯＭ４２に規定されている所定の定期ＳＡＣ動作を、ＳＣＭ８１の動作周期の整数倍の周期で、定期的に繰り返し実行することができる。後述するように、シンプルアクセスコントローラＳＡＣの動作内容は、０〜ＮのＳＡＣコード番号で特定されるが、最終のＳＡＣコード番号（Ｎ）で特定される定期ＳＡＣ動作については、所定時間毎に、定期的に繰り返し実行されるよう内部制御される。
【０１２５】
そこで、本実施例では、この定期ＳＡＣ動作によって、マルチエフェクタ８５におけるイコライザ機能やコンプレッサ機能を繰り返し再設定するようにしている。そのため、ノイズなどの影響で、仮に、音質に関する設定内容が変化しても、その後の定期ＳＡＣ動作に基づいて、開発者の意図した音質が確実に復元されることになる。なお、後述するように、本実施例では、ＳＣＭ８１の動作周期は３２／４８ｍＳであり、この動作周期の５１２回毎に、定期ＳＡＣ動作が実行される。
【０１２６】
このような定期ＳＡＣ動作も可能なシンプルアクセスコントローラＳＡＣｉや、設定動作がやや高度なシーケンサＳＥＱｊを、各々、有効に機能させるため、外付けＲＯＭ４２には、シンプルアクセスコントローラＳＡＣの動作（定期ＳＡＣ動作を含む）を規定するＳＡＣコードや、シーケンサＳＥＱの動作を規定するＳＥＱコードが、各々、複数種類、記憶されている。なお、電源投入時のＤＭＡ転送動作により、ＤＤＲメモリ４１は、外付けＲＯＭ４２と同じデータがコピーされるので、図８では、この状態を図示している。
【０１２７】
ＳＥＱコードとＳＡＣコードは、何れも、コマンドレジスタＲＧｉを特定する１バイト長のレジスタ番号と、そのコマンドレジスタＲＧｉへの１バイト長の設定値とで一組となる一連２バイト長のデータ列であり、所定の終了コード（ＦＦＦＦｈ）で完結している。但し、ＳＥＱコードについては、上記した間欠設定動作や反復設定動作を実現するため、一まとまりの設定動作（ステップ動作）の完了を示す中断コード（ＦＦＦＥｈ）が含まれている。
【０１２８】
ＳＥＱコードは、一連Ｍ個のＳＥＱデータで構成され（ＳＥＱコード＝Ｍ×ＳＥＱデータ）、ＳＡＣコードは、一連Ｎ個のＳＡＣコードで構成されている（ＳＡＣコード＝Ｎ×ＳＡＣデータ）。そして、ＳＥＱコードやＳＡＣコードの一単位であるＳＥＱデータやＳＡＣデータは、何れも、コマンドレジスタＲＧｉを特定する１バイト長のレジスタ番号と、コマンドレジスタＲＧｉへの１バイト長の設定値の一組である。先に説明した通り、外付けＲＯＭ４１には、このような構成のＳＥＱコードやＳＡＣコードが、各々、複数種類記憶されており、本明細書では、これらを、ＳＡＣコード群（一群のＳＥＱコード）、ＳＥＱコード群（一群のＳＡＣコード）と称することがある。
【０１２９】
図５に示す通り、外付けＲＯＭ４２に格納されている音声データＳＮＤには、一単位の音声演出を実現する音声フレーズデータの他に、上記したＳＡＣコード群やＳＥＱコード群が含まれる。そして、一単位の音声演出を実現する音声フレーズデータは、一のフレーズ番号で特定され、終了コード（ＦＦＦＦｈ）で完結する一のＳＡＣコードや一のＳＥＱコードも、各々、一のＳＡＣコード番号や一のＳＥＱコード番号で特定されるようになっている。
【０１３０】
そして、ＳＥＱｊ起動用の一群のコマンドレジスタＲＧｊに、ＳＥＱコード番号やその他の動作条件を設定すれば、シーケンサＳＥＱｊを起動させることができる。また、ＳＡＣｉ起動用の一群のコマンドレジスタＲＧｉに、ＳＡＣコード番号やその他の動作条件を設定すれば、シンプルアクセスコントローラＳＡＣｉを起動させることができる。但し、定期ＳＡＣ動作については、自動的に起動するので、ＳＡＣ起動処理が不要である。
【０１３１】
先に説明した通り、一単位の音声演出を実現する多数の音声フレーズデータは、他のＳＡＣコード群やＳＥＱコード群と共に、電源投入時に、外付けＲＯＭ４２からＤＤＲメモリ４１に転送される。そして、本実施例の場合、ＤＤＲメモリ４１は、高速アクセスが可能なＤＤＲ３ＳＤＲＡＭで構成されているので、音声フレーズデータの高速アクセスが可能となり、サンプリング周波数を４８ｋＨｚ又はそれ以上とする高音質の音声フレーズデータを扱うことができる。
【０１３２】
以上を踏まえて、次に、サウンドコントールモジュール８１（ＳＣＭ８１）について説明する。実施例のＳＣＭ８１は、間欠的に動作を開始して、サウンドエンジン５２の内部動作を制御している。具体的には、ＳＣＭ８１は、音声フレーズデータのサンプリング周波数（４８ｋＨｚ）に対応して、例えば、サンプリング周期（１／４８ｋＨｚ）の３２倍であるサウンドエンジン動作周期（３２／４８ｍＳ）毎に、コマンドレジスタＲＧｉの設定値を更新可能に構成されており、もし設定値が更新されると、更新後のコマンドレジスタＲＧｉの設定値に基づいた内部動作が開始される。
【０１３３】
このＳＣＭ８１が参照するコマンドレジスタＲＧｉは、各々、１バイト長のレジスタ番号で特定されるよう構成されており、各コマンドレジスタＲＧｉには、シーケンサＳＥＱやシンプルアクセスコントローラＳＡＣを含んだ、サウンドエンジン５２の内部動作を規定する設定値が設定されるか、或いは、サウンドエンジン５２の内部動作状態を示すステイタス情報が記憶されるになっている。なお、先に説明したシーケンサＳＥＱやシンプルアクセスコントローラＳＡＣの起動時のように、複数のコマンドレジスタＲＧｉ〜ＲＧｊへの設定値に基づいて内部動作が規定される場合もあり、また、１バイト長のステイタス情報の１ビット又は複数ビットのフラグ値によって内部動作状態が特定される。
【０１３４】
次に、メインジェネレータ８４には、ＤＤＲメモリ４１から読み出した複数の圧縮状態のフレーズデータを独立的に伸張可能な複数チャンネルの音声デコーダと、音声デコーダの複数チャンネルのデコード出力を受けて、伸張状態の各フレーズデータについて、ボリューム設定や音量パン設定などを実行可能なトーンジェネレータが含まれている。
【０１３５】
また、マルチエフェクタ８５には、トーンジェネレータが生成した複数チャンネルのデジタル音声を、最高３チャンネル（R0/L1 ＋R1/L1 ＋SUB0/SUB1 ）のデジタル音声にミキシングするミキサと、デジタルフィルタ処理によって所望の周波数特性を実現するイコライザ機能や入出力ゲイン特性を変化させるコンプレッサ機能を実現するエフェクタと、最終音量を規定するトータルボリュームとが含まれている。
【０１３６】
一方、オーディオインタフェイス８６は、最高３チャンネル（R0/L1 ＋R1/L1 ＋SUB0/SUB1 ）のデジタル音声について、各チャンネルの左右チャンネル（R/L ）を纏めた音声信号線ＳＤ０〜ＳＤ２と、クロック信号線ＳＣＬＫと、左右チャンネル（R/L ）の何れを伝送中かを特定する制御信号線ＬＲＯとの３線に出力する。例えば、第１チャンネル（R0/L0 ）と、第２チャンネル（R1/L1 ）と、第３チャンネル（SUB0/SUB1 ）の音声信号を受ける３個のデジタルアンプ４３が存在する場合には、オーディオインタフェイス８６とデジタルアンプ４３との伝送路は、各々、３線となる。但し、本実施例では、第３チャンネル（SUB0/SUB1 ）の音声信号を使用しておらず、また、第２チャンネルはモノラル音声としている（R1=L1 ）。
【０１３７】
次に、図９は、中継レジスタ８２と、コマンドインタフェイス部（音声コマンドＦＩＦＯ）８３の構成を示す図面である。この実施例では、ホストＣＰＵ５０が、サウンドエンジン５２の内部動作を規定するべく所定のコマンドレジスタＲＧｉをＷＲＩＴＥアクセスする場合も、コマンドレジスタＲＧｉからステイタス情報をＲＥＡＤアクセスする何れの場合も、中継レジスタ８２を経由する間接アクセス方式を採っている。
【０１３８】
また、ＷＲＩＴＥアクセス時には、後述するシステム制御アクセス時を除き、コマンドレジスタＲＧｉへの書込みデータ（設定値）が、ＷＲポインタとＲＤポインタで制御されるＦＩＦＯ構造の音声コマンドバッファ８３（音声コマンドＦＩＦＯ）に自動的に蓄積されるようになっている。
【０１３９】
以下、この点を図９（ａ）に基づいて更に説明すると、中継レジスタ８２は、詳細には、アクセス対象となるコマンドレジスタＲＧｉを特定する１バイト長のレジスタ番号を書込む第１中継レジスタＭＣＲと、そのレジスタ番号のコマンドレジスタＲＧｉに設定すべき設定値を書込む第２中継レジスタＭＣＤと、第１中継レジスタＭＣＲと第２中継レジスタＭＣＤの各１バイトの要部データが転記される転記レジスタＴＲＮと、に区分されている。
【０１４０】
ここで、転記レジスタＴＲＮは２バイト長であり、第１と第２の中継レジスタＭＣＲ，ＭＣＤは、各々４バイト長である。そして、各中継レジスタＭＣＲ，ＭＣＤの要部である各１バイト部分（レジスタ番号／設定値）は、全体として２バイト長の転記レジスタＴＲＮに接続されており、中継レジスタＭＣＲ，ＭＣＤへの書込み信号（ＷＲ＊ＣＳ）に基づいて、自動的に転記されるよう構成されている。なお、ＷＲ＊ＣＳは、ホストＣＰＵ５０から出力される書込み制御信号ＷＲと、中継レジスタＭＣＲ，ＭＣＤを選択する内部チップセレクト信号ＣＳの論理ＡＮＤ値を意味する。
【０１４１】
図９（ｂ）は、この転記動作を説明する図面であり、第１中継レジスタＭＣＲへのＷＲＩＴＥアクセスを示す第１書込み信号（ＷＲ＊ＣＳ）と、第２中継レジスタＭＣＤへのＷＲＩＴＥアクセスを示す第２書込み信号（ＷＲ＊ＣＳ）と、第１書込み信号と第２書込み信号の論理ＯＲ信号とが示されている。そして、この実施例では、第１書込み信号か第２書込み信号のうち、先に発生した先行書込み信号（ＷＲ＊ＣＳ）に基づいて、転記レジスタＴＲＮへの１バイト（レジスタ番号又は設定値）の転記動作が実行されると共に、ＷＲポインタが更新される。
【０１４２】
そして、その後に発生する後続書込み信号（ＷＲ＊ＣＳ）に基づいて、転記レジスタＴＲＮへの残り１バイト（レジスタ番号又は設定値）の転記動作が実行されると共に、後続書込み信号（ＷＲ＊ＣＳ）の後段エッジに同期して、転記レジスタＴＲＮの２バイトデータ（レジスタ番号＋設定値）が、リングバッファ構造の音声コマンドバッファ８３に書込まれるようになっている。なお、音声コマンドバッファ８３の書込み先は、ＷＲポインタで特定され、読出し先は、ＲＤポインタで特定される。そして、音声コマンドバッファ（音声コマンドＦＩＦＯ）８３の段数は、例えば、５１１段（２バイト×５１１）である。
【０１４３】
本実施例は、上記の通りに構成されているので、ホストＣＰＵ５０が、中継レジスタＭＣＲ，ＭＣＤに必要情報（レジスタ番号と設定値）を書込む毎に、その必要情報が自動的に音声コマンドバッファ（音声コマンドＦＩＦＯ）８３に蓄積されることになる。したがって、ホストＣＰＵ５０は、サウンドエンジン５２の内部動作を特に気にすることなく、自らのタイミングで中継レジスタＭＣＲ，ＭＣＤへの書込み動作を繰り返すことができる。但し、音声コマンドバッファ８３の段数が５１１段であること、及び、サウンドエンジン動作周期（３２／４８ｍＳ）に対応して、音声コマンドバッファ８３の読み出し周期が３２／４８ｍＳであることを考慮すべきことは当然である。
【０１４４】
なお、ホストＣＰＵは、任意のコマンドレジスタＲＧｉに、任意の設定値を書込む直接ＷＲＩＴＥアクセスだけでなく、ＳＡＣｉ起動用の一群のコマンドレジスタＲＧｉに、ＳＡＣコード番号やその他の動作条件を設定するＳＡＣ起動動作や、ＳＥＱｊ起動用の一群のコマンドレジスタＲＧｊに、ＳＥＱコード番号やその他の動作条件を設定すれＳＥＱ起動動作も可能である。但し、何れの場合も、原則として、中継レジスタ８２や音声コマンドバッファ８３を経由する間接アクセス方式を採る必要がある。
【０１４５】
図９（ｃ）に示す通り、音声コマンドバッファ８３に蓄積された２バイト（レジスタ番号＋設定値）単位のデータ群は、サウンドエンジン動作周期（３２／４８ｍＳ）で、ＳＣＭ８１によって読み出され、レジスタ番号で特定される所定のコマンドレジスタＲＧｉに、所定の設定値が設定されることで、サウンドエンジン５２内部動作が変化する。
【０１４６】
具体的には、例えば、所定のコマンドレジスタＲＧｉに、特定の音声フレーズ番号が設定されることで、特定一単位の音声演出が開始される。また、所定のコマンドレジスタＲＧｉに、音声ボリュームや音量パンを規定する設定値が設定されることで、その後の音声演出の音量や音量バランスが変化する場合もある。
【０１４７】
更にまた、所定のコマンドレジスタＲＧｉに、ＳＡＣコード番号やＳＥＱコード番号などを設定することで、シンプルアクセスコントローラＳＡＣやシーケンサＳＥＱが、一連のＳＡＣデータや一連のＳＥＱデータに基づいた設定動作を開始する場合もある。
【０１４８】
以上の通り、コマンドレジスタＲＧｉに設定値を書込む動作は、原則として、音声コマンドバッファ８３を経由させ、ＳＣＭ８１に実行させている。しかし、ＳＣＭ８１は、サウンドエンジン動作周期（３２／４８ｍＳ）で間欠的に動作するので、迅速性に欠ける点に問題がある。そこで、サウンドエンジン５２の内部エラーなどのステイタス情報の読出し動作（ＲＥＡＤアクセス）や、割込み制御など、サウンドエンジンの制御動作に関する設定（システム制御アクセス）については、音声コマンドバッファ８３やＳＣＭ８１を介在させることなく、ホストＣＰＵ５０が直接アクセスする方式を採っている。
【０１４９】
すなわち、ホストＣＰＵ５０が、サウンドエンジンの制御動作に関するコマンドレジスタＲＧｉのレジスタ番号を、第１中継レジスタＭＣＲに書き、システム制御設定値を第２中継レジスタＭＣＤに書いた場合には（システム制御アクセス）、システム制御設定値が即座に該当するコマンドレジスタＲＧｉに書込まれる。また、ホストＣＰＵ５０が、所定のコマンドレジスタＲＧｉをＲＥＡＤアクセスした場合は、第１中継レジスタＭＣＲに書き込んだコマンドレジスタＲＧｉから読み出されたステイタス情報が、第２中継レジスタＭＣＤに取得される。
【０１５０】
以上、ＳＣＭ８１が機能してコマンドレジスタＲＧｉの設定動作を実行する第１動作モード（通常制御モード）について説明したが、本実施例では、ＳＣＭ８１の動作をＶＤＰコントローラ６０が代用する第２動作モード（簡易制御モード）も可能である。この第２動作モードでは、サウンドエンジン５２を第２動作モードに設定した状態で、ホストＣＰＵ５０は、音声リストバッファＬＢＵＦに、コマンドレジスタＲＧｉへの設定動作を規定した音声コマンドリストＳＬＴを発行することになる。
【０１５１】
なお、音声リストバッファＬＢＵＦは、メインメモリ５６、内蔵ＤＲＡＭ５７、又はＤＤＲメモリ４１に予め確保されている必要がある。また、音声コマンドリストＳＬＴは、コマンドレジスタＲＧｉへの設定動作が必要となるタイミングで発行される。
【０１５２】
図８の上部に記載した音声リストバッファＬＢＵＦに示す通り、音声コマンドリストＳＬＴは、コマンドレジスタＲＧｉのレジスタ番号（１バイト）と、そのコマンドレジスタＲＧｉへの設定値（１バイト）を組み合わせた２バイト長の音声コマンドを列記した音声コマンド列であり、その先頭には、列記されている音声コマンドのコマンド数が規定されている。
【０１５３】
そして、第２動作モード（簡易制御モード）では、音声リストバッファＬＢＵＦに発行された音声コマンドリストＳＬＴは、ＶＣＰコントローラ６０によって解読され、各音声コマンドが規定するレジスタ番号のコマンドレジスタＲＧｉに、その音声コマンドが規定する設定値が設定される。すなわち、第２動作モードでは、ＳＣＭ８１の動作をＶＤＰコントローラ６０が代用するので、シンプルアクセスコントローラＳＡＣやシーケンサＳＥＱが機能することがない。
【０１５４】
そのため、ＳＡＣ起動動作を規定する音声コマンドや、ＳＥＱ起動動作を規定する音声コマンドを検出したＶＣＰコントローラ６０は、ＳＡＣコード番号で規定される一群のＳＡＣデータや、ＳＥＱコード番号で規定される一群のＳＥＱデータを、ＤＤＲメモリ４１から読み出して、対応するコマンドレジスタＲＧｉ〜ＲＧｊに設定することになる。なお、このＶＣＰコントローラ６０による設定動作でも、中継レジスタ８２と音声コマンドバッファ８３が使用される。
【０１５５】
以上説明した第２動作モード（簡易制御モード）を使用する場合には、ホストＣＰＵ５０は、画像コマンドリストＬＴの発行と同様の手順で、コマンドリストバッファＬＢＵＦに音声コマンドリストＳＬＴを発行することになる。そして、発行された音声コマンドリストは、バンクフリップ周期である一動作周期（Δ＝１／３０秒）後に、ＶＤＰコントローラ６０に読み出されて、上記したコマンドレジスタＲＧｉへの設定動作が実行される。
【０１５６】
一方、第１動作モードによる設定動作は、サウンドエンジン動作周期（３２／４８ｍＳ）毎に実行されるので、第２動作モードによる設定動作は、その簡易性の反面、迅速性に劣る欠点がある。そこで、この時間遅れが問題になる場合には、コマンドリストバッファＬＢＵＦに代えて、ＶＤＰコントローラ６０に内蔵された制御レジスタＣＲＧの音声コマンドリストレジスタＣＲＧＷＳＬに、一群の音声コマンド列（音声コマンドリストＳＬＴ）を書き込んで、第２動作モードを実行するのが好適である。
【０１５７】
実施例の音声コマンドリストレジスタＣＲＧＷＳＬは、１０４０バイト長であり、音声コマンド（２バイト）を、５１１個程度列記することができる。先に説明した通り、サウンドエンジン５２に内蔵された音声コマンドバッファ（音声コマンドＦＩＦＯ）８３の段数は、例えば、５１１段（２バイト×５１１）であるので、ホストＣＰＵ５０の書込み用の制御負担という意味では、音声コマンドリストレジスタＣＲＧＷＳＬと、音声コマンドバッファ８３とは同等である。
【０１５８】
しかし、ホストＣＰＵ５０が、音声コマンドリストレジスタＣＲＧＷＳＬに音声コマンドリストＳＬＴを発行した後、ＶＤＰコントローラ６０が、サウンドエンジン５２へのＷＲＩＴＥアクセスを開始するに過ぎないので、迅速性においては、ホストＣＰＵ５０による音声コマンドバッファ８３のＷＲＩＴＥアクセスの方が優れている。
【０１５９】
続いて、図１０に基づいて、ＤＭＡコントローラ５３について説明する。図１０（ａ）は、電源投入時の動作、図１０（ｂ）は、ランプ演出や役物演出の駆動データ更新時の動作を示している。実施例のＤＭＡコントローラ５３は、独立して動作可能な１４チャンネル（ＤＭＡチャネル＃０〜ＤＭＡチャネル＃１３）を有しているが、本実施例では、電源投入時にチャネル＃０を機能させて、外付けＲＯＭ４２の音声データＳＮＤを、ＤＤＲメモリ４１にＤＭＡ転送している。
【０１６０】
具体的には、ホストＣＰＵ５０は、ＤＭＡの使用チャンネルとしてＤＭＡチャネル＃０を特定した状態で、（１）転送元の先頭アドレス、（２）転送元からＤＭＡコントローラ５３に対する一回の読出しサイズ（バイト長）、（３）ＤＭＡコントローラ５３へのＲＥＡＤ転送回数、（４）転送先の先頭アドレス、（５）ＤＭＡコントローラ５３から転送先に対する一回の書込みサイズ（バイト長）、（６）転送先へのＷＲＩＴＥ転送回数、などの動作内容を、先ずＤＭＡコントローラ５３の該当レジスタに特定する。
【０１６１】
次に、ホストＣＰＵ５０が、ＤＭＡコントローラ５３の該当レジスタ（チャネル０コントロールレジスタ）に動作開始を指示すると、上記した（１）〜（６）の動作条件でＤＭＡ転送が開始され、転送元と転送先のアドレスが適宜に更新されつつ、読出しサイズと書込みサイズの転送動作が繰り返され、全ての転送動作が終わると、ＤＭＡコントローラ５３の該当レジスタ（ＤＭＡ割り込みステータスレジスタ）の完了フラグがセット状態になるようになっている。
【０１６２】
したがって、ホストＣＰＵ５０は、（１）〜（６）などの動作内容を指示して、動作開始を指示した後は、転送動作をＤＭＡコントローラ５３に任せ、全く別の処理を実行することができる。また、本実施例では、ＤＭＡコントローラ５３に、一回の読出しサイズ、ＲＥＡＤ転送回数、一回の書込みサイズ、及び、書込み転送回数を各々設定できるので、転送元と転送先のアクセス速度の差を円滑に吸収することができ、また、転送元の読出し単位や、転送先の書込み単位が限定されている場合でも、適切な転送動作が実現される。
【０１６３】
次に、図１０（ｂ）は、ランプ演出や役物演出の駆動データ更新時におけるＤＭＡコントローラ５３の動作を説明する図面である。本実施例では、ランプ演出は、３ｍＳ毎にランプ駆動データが更新されることで進行し、役物演出は、１ｍＳ毎にモータ駆動データが更新されることで進行するよう構成されている。そして、ランプ駆動データやモータ駆動データは、各々、外付けＲＯＭ４２のランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄや、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆに不揮発的に格納されており、これらのデータテーブルＬＭＰ，ＭＯＴが、ＤＭＡコントローラ５３の転送元となる。
【０１６４】
先に説明した通り、本実施例では、シリアルポート５５のチャネル＃Ｃ〜チャネル＃Ｆを、シリアル出力ポートに設定して、ランプ演出と役物演出を実現しているので、シリアルポート５５のチャネル＃Ｃ〜チャネル＃Ｆが、ＤＭＡコントローラ５３にとっての転送先となる。
【０１６５】
また、シリアルポート５５のチャネル＃Ｃ〜チャネル＃Ｆには、１６ビット単位の記憶領域６４段で構成された送信ＦＩＦＯｃ〜送信ＦＩＦＯｆが各々設けられており、送信ＦＩＦＯｃ〜送信ＦＩＦＯｆに蓄積された駆動データが、ＦＩＦＯ（First In First Out）方式で自動的に読み出され、チャネル＃Ｃ〜チャネル＃Ｆのシリアル出力ポートからシリアル送信されるようになっている。
【０１６６】
ここで、送信ＦＩＦＯｃ〜送信ＦＩＦＯｆへのデータ蓄積は、各チャネル＃Ｃ〜＃Ｆのインタフェイス部に配置された中継レジスタＩＴＭ（データレジスタ）を経由するようになっており、中継レジスタへの書込みデータが、送信ＦＩＦＯに自動的に蓄積される構成を採っている。したがって、この実施例では、ＤＭＡコントローラ５３にとってＷＲＩＴＥ転送の転送先は、シリアルポート５５のチャネル＃Ｃ〜チャネル＃Ｆに配置されている中継レジスタＩＴＭとなり、ＲＥＡＤ転送の転送元が、駆動データテーブルＬＭＰ，ＭＯＴとなる。
【０１６７】
そして、データテーブルＬＭＰｃとデータテーブルＬＭＰｄのランプ駆動データ、及び、データテーブルＭＯＴｅとデータテーブルＭＯＴｅのモータ駆動データは、各々、ＤＭＡチャネル＃１０〜ＤＭＡチャネル＃１３を経由して、外付けＲＯＭ４２からシリアルポート５５のチャネル＃Ｃ〜＃Ｆの中継レジスタＩＴＭにＤＭＡ転送されるよう構成されている。
【０１６８】
なお、データテーブルＬＭＰ，ＭＯＴからＤＭＡコントローラ５３（＃１０〜＃１３）への転送は、３２バイト毎に実行される一方、ＤＭＡコントローラ５３（＃１０〜＃１３）からシリアルポート５５（＃Ｃ〜＃Ｆ）の中継レジスタＩＴＭへの転送は、２バイト毎に実行される。すなわち、ＤＭＡコントローラ５３（＃１０〜＃１３）は、一の転送で受けた３２バイトを、１６回に分けて転送している。
【０１６９】
また、書込み転送の実行タイミングを規定する閾値が、予め、ホストＣＰＵ５０によって各シリアルポート５５（＃Ｃ〜＃Ｆ）に設定されており、送信ＦＩＦＯ（送信ＦＩＦＯｃ〜送信ＦＩＦＯｆ）の蓄積データ量が所定の閾値以下になると、シリアルポート５５からＤＭＡコントローラ５３にＤＭＡ_Request信号が出力され、ＤＭＡコントローラ５３は、ＤＭＡ_Acknowledge信号を返信して、一単位（２バイト長）の書込み転送を実行している。なお、これらのHandshake 動作に、ホストＣＰＵ５０が関与する必要がないので、ＤＭＡコントローラの転送動作を開始させたホストＣＰＵ５０は、その転送動作を待機するだけで足りる。
【０１７０】
続いて、図１１〜図１３に基づいて、シリアルポート５５（＃Ｃ〜＃Ｆ）と、シリアルポート５５（＃Ｃ〜＃Ｆ）を使用したシリアル伝送について説明する。先ず、シリアルポートの内部構成を示す図１１（ａ）に基づいて説明すると、シリアルポート５５のチャネル＃Ｅと＃Ｆは、ＳＰＩ通信モードで動作する一方、シリアルポート５５のチャネル＃Ｃと＃Ｄは、ＬＥＤ駆動モードで動作するように設定されている。
【０１７１】
ここで、ＳＰＩ通信モードとは、Motorola SPIに準拠して、マスター機器とスレーブ機器とのシリアル通信を可能にする動作モードであり、ＳＰＩモジュールが機能することで、チップセレクト（ＣＳ）と、シリアルクロック（ＳＣＫ）と、シリアル入力データ（ＳＩ）と、シリアル出力データ（ＳＯ）とが使用可能となっている。但し、本実施例では、スレーブ機器を選択するチップセレクト信号（ＣＳ）を使用しない。また、以下の説明では、ＳＰＩ通信モードでシリアル送信動作を実行する場合をＳＰＩ送信モードと称し、ＳＰＩ通信モードでシリアル受信動作を実行する場合をＳＰＩ受信モードと称する。
【０１７２】
ＳＰＩ送信モードで機能するシリアルポート５５のチャネル＃Ｅと＃Ｆでは、各チャネル（＃Ｅ，＃Ｆ）の送信ＦＩＦＯに蓄積されたシリアル出力データ（モータ駆動データ）が、シリアルクロックＳＣＫに同期して、シリアル送信される。そして、送信ＦＩＦＯの全てのモータ駆動データがシリアル送信され終わると、各チャネル（＃Ｅ，＃Ｆ）のステイタスレジスタ（不図示）が送信完了状態にセットされるようになっている。なお、図１０に関して説明した通り、送信ＦＩＦＯには、Handshake 方式で、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆのモータ駆動データが自動的に転送される。
【０１７３】
一方、ＬＥＤ駆動モードは、上記したＳＰＩモジュールに加えて、ＬＥＤドライバ用の追加モジュール（DR IF Moduleと表記）が機能する動作モードである。このＬＥＤ駆動モードでは、シリアルクロック（ＳＰＣＫ）と、シリアル出力データ（ＳＰＯ）と、ＯＥ信号（output enable ）とが出力されるよう構成されている。ＯＥ信号は、一群のシリアル出力データ（ランプ駆動データＳＰＯ）がシリアル送信中であることを示す信号である。なお、このＬＥＤ駆動モードでは、一ブロックのデータ送信完了毎にラッチ信号（ＬＤ）を出力させる動作も可能であるが、本実施例では、そのような動作態様を採っていない。
【０１７４】
ＬＥＤ駆動モードで機能するシリアルポート５５のチャネル＃Ｃと＃Ｄでは、各チャネル（＃Ｃ，＃Ｄ）の送信ＦＩＦＯに蓄積されたシリアル出力データ（ランプ駆動データ）が、シリアルクロックＳＣＫに同期して、順次シリアル送信され、このシリアル送信中は、ＯＥ信号がアクティブレベルを維持する。
【０１７５】
また、このＬＥＤ駆動モードの動作態様でも、送信ＦＩＦＯの全てのモータ駆動データがシリアル送信され終わると、各チャネル（＃Ｃ，＃Ｄ）のステイタスレジスタ（不図示）が送信完了状態にセットされるようになっている。なお、チャネル＃Ｃと＃Ｄの送信ＦＩＦＯには、Handshake 方式で、ランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄのランプ駆動データが自動的に転送される。
【０１７６】
以上を踏まえて、モータ駆動データのシリアル伝送について説明を追加する。図１１（ｃ）は、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆの構造を図示しており、図１１（ｄ）と図１１（ｅ）は、モータ駆動を説明する図面である。
【０１７７】
先に説明した通り、本実施例では、枠側と盤側のモータ駆動基板３７，３０に配置されたモータドライバＤＶ（図１２（ａ）参照）に対して、モータ駆動データをシリアル送信する。モータ駆動基板３７，３０には、各々、複数のモータドライバＤＶ１〜ＤＶｎが配置されているが、図１２（ａ）〜図１２（ｂ）に示す通り、各モータドライバＤＶｉは、直列接続された４個のシフトレジスタＳＲ１〜ＳＲＥ４と、各シフトレジスタの出力を受けて役物モータＭｉを駆動するドライバＯＵＴ１〜ＯＵＴ４と、を有して構成されている。
【０１７８】
そのため、シリアルポート（＃Ｅ，＃Ｆ）から、シリアルクロックＳＣＫに同期して、モータ駆動データＳＯを出力すると、モータ駆動データＳＯが、順次、シフトレジスタＳＲｉに転送されることなる。本実施例では、モータドライバＤＶｉの個数Ｎに対応するモータ駆動データが、モータ駆動テーブルＭＯＴに記憶されており、全てのモータ駆動データの送信完了後に、パラレルポート５４からラッチパルスＬＴｅ，ＬＴｆを出力することで、全てのモータドライバＤＶにモータ駆動データを取得させ、役物モータＭ１〜Ｍｎを歩進させている。
【０１７９】
役物モータＭ１〜Ｍｎは、例えば、ステッピングモータで構成されており、図１１（ｄ）と図１１（ｅ）には、ユニポーラ型ステッピングモータを、例えば、２相励磁する場合が示されている。このような構成の場合、役物モータＭｉの一個に伝送されるべきモータ駆動データは４ビットであり、枠側のモータ駆動基板３７にＫ個の役物モータが配置される本実施例では、モータ駆動データ全体で４×Ｋビットとなる。また、盤側のモータ駆動基板３０にＬ個の役物モータが配置される本実施例では、モータ駆動データ全体で４×Ｌビットとなる。
【０１８０】
ところで、本実施例では、ＤＭＡ転送を採用するので、モータ駆動テーブルＭＯＴｅ，ＭＯＴｆからＤＭＡコントローラ６３（チャネル＃１２，＃１３）へのデータ転送、及び、ＤＭＡコントローラ６３（チャネル＃１２，＃１３）からシリアルポート５５（チャネル＃Ｅ，＃Ｆ）へのデータ転送は、何れも所定バイトを一単位として行う必要がある。
【０１８１】
本実施例では、例えば、２バイト単位にＤＭＡ転送を繰り返しており、ＤＭＡ転送されるモータ駆動データの総ビット数は、１６ビットの整数倍である必要がある。そこで、本実施例では、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆの先頭に、必要ビット（Ｘ，Ｙ）のダミーデータDUMMY を追加することで、４×Ｋ＋Ｘの値や、４×Ｌ＋Ｙの値を１６ビットの整数倍にしている。
【０１８２】
図１１（ｃ）は、この状態を図示しており、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆの先頭には、必要個数（Ｘ，Ｙ）のダミーデータDUMMY が付加されている。そのため、シリアルポート（＃Ｅ，＃Ｆ）が出力するシリアルクロックＳＣＫの個数は、４×Ｋ＋Ｘ個、又は４×Ｌ＋Ｙ個となるが、先頭に送信されるＸ個又はＹ個のダミーデータDUMMY は、これを受け取るモータドライバが存在せず消滅するので何の問題も生じない。
【０１８３】
なお、４×Ｋ＋Ｘビット、又は、４×Ｌ＋Ｙビットのモータ駆動データは、ステッピングモータの一動作態様を特定するので、ユニポーラ型ステッピングモータを２相励磁する本実施例では、最低でも、第一動作態様から第四動作態様までの四態様が存在することになり（図１１（ｅ）参照）、モータ駆動データテーブルＭＯＴは、最低でも、この四態様を特定する第一区分データ〜第四区分データが必要となり、これらが順番に送信されることになる（図１１（ｃ）参照）。
【０１８４】
もっとも、このような動作は、複数個の役物モータが、規則的に同期回転する単純な動作に過ぎず、実際の役物演出では、特定の役物モータだけが不規則に移動する場合も多い。したがって、実際には、役物演出の種類毎に、多数のモータ駆動データテーブルＭＯＴｉが用意されており、ホストＣＰＵ５０は、その時の役物演出に対応して、参照すべきモータ駆動テーブルＭＯＴｉを選択し、シリアル出力すべき一区分のモータ駆動データ（４×Ｋ＋Ｘビット、又は、４×Ｌ＋Ｙビット）を特定して、ＤＭＡ転送動作とシリアル送信動作を開始させることになる。
【０１８５】
以上、ＳＰＩ送信モードについて説明したが、シリアルポート５５のチャネル＃Ｅと＃Ｆは、ＳＰＩ受信モードで機能するタイミングもある。この場合は、シリアルデータの受信個数を、予めチャネル＃Ｅと＃Ｆの該当レジスタに設定した状態で、受信モードの動作を開始する。すると、受信データ個数に対応するシリアルクロックＳＣＫが送信されるので、シリアルクロックＳＣＫに同期してシリアルデータ（センサ信号など）を受信し、所定単位毎に、パラレルデータとしてホストＣＰＵ５０が取得することになる。
【０１８６】
図１１（ｄ）は、シリアル受信動作を説明する図面であり、信号取得回路ＧＥＴの回路構成も示されている。なお、図示した構成の信号取得回路ＧＥＴが、枠側及び盤側には、一個又は複数個が連設して配置されている。何れにしても、一の信号取得回路ＧＥＴは、８個のシフトレジスタを有して構成され、各シフトレジスタのパラレル端子ＯＤには、８ビットのパラレル信号（Ａ〜Ｈ）が供給されている。そして、各シフトレジスタが、共通的に取得パルスＬＴ（ＬＴｅ，ＬＴｆ）を受けることで、８ビット長のパラレル信号が８個のシフトレジスタに取得される。図示の通り、８個のシフトレジスタは、直列接続されているので、シリアルクロックＳＣＫを受ける毎に、自己の保持データを下流側のシフトレジスタに転送することになる。
【０１８７】
枠側及び盤側の信号取得回路ＧＥＴは、何れも上記の通りに動作をするので、本実施例では、パラレルポート５４から、枠側又は盤側の全ての信号取得回路ＧＥＴに対して、先ず、取得パルスＬＴｅ，ＬＴｆを出力し、その後、必要個数のシリアルクロックＳＣＫを出力することで、必要なデータをシリアル受信している。
【０１８８】
なお、この実施例では、シリアルポート５５のチャネル＃Ｅと＃ＦをＳＰＩ送信モードと、ＳＰＩ受信モードで使用するので、パラレルポート５４から枠側と盤側の切換器４７Ａ，４７Ｂに対して、切換制御信号ＣＴＬｅ，ＣＴｆを出力して、シリアルクロックＳＣＫｅ，ＳＣＫｆの伝送先を切り換えている。
【０１８９】
すなわち、切換制御信号ＣＴＬｅ，ＣＴｆによって切換器４７Ａ，４７Ｂの内部回路が切換ることで、ＳＰＩ送信モードで機能するチャネル＃Ｅと＃ＦのシリアルクロックＳＣＫｅ，ＳＣＫｆは、モータドライバＤＶに伝送され、ＳＰＩ受信モードで機能するチャネル＃Ｅと＃ＦのシリアルクロックＳＣＫｅ，ＳＣＫｆは、枠側と盤側の信号取得回路ＧＥＴ，ＧＥＴに伝送される。
【０１９０】
続いて、図１３に基づいて、ＬＥＤ駆動モードで機能するシリアルポート５５のチャネル＃Ｃと＃Ｄについて、図１３に基づいて説明する。この実施例では、枠側と盤側のランプ駆動基板３６２９には、図１３（ｂ）に示すランプドライバＤＲが各々複数個搭載されている。
【０１９１】
このランプドライバＤＲは、ＲＧＢ三色のＬＥＤランプを各８個（合計２４個）駆動できるよう構成されており、図１３（ｂ）に示す通り、合計２４個の出力端子（ＬＥＤＲ_1-8，ＬＥＤＧ_1-8，ＬＥＤＢ_1-8）と、各素子に固有のスレーブアドレスを規定する５ビットのアドレス端子（Ａ０〜Ａ４）と、シリアルクロックＳＰＣＫｃ／ＳＰＣＫｄを受けるクロック端子ＳＣＬＫと、ランプ駆動データＳＰＯｃ／ＳＰＯｄを受けるシリアル端子ＳＤＡＴＡと、動作制御信号ＯＥｃ／ＯＥｄを受ける制御端子ＳＤＥＮとを有して構成されている。
【０１９２】
図１３（ａ）に示す通り、クロック端子ＳＣＬＫとシリアル端子ＳＤＡＴＡと制御端子ＳＤＥＮは、全てのランプドライバＤＲ１〜ＤＲｎに共通的に供給されている。また、図１３（ａ）には、３２個のランプドライバＤＲｉのアドレス端子（Ａ０〜Ａ４）に、０００００ｂ〜１１１１１ｂのアドレス信号が供給されており、３２個のランプドライバＤＲｉのスレーブアドレスが、０〜３１である実施例が示されている。したがって、この構成では、ＲＧＢ各色のＬＥＤランプが、各々、２５６個（＝３２×８）配置できることになる。
【０１９３】
また、このランプドライバＤＲは、２４個（ＲＧＢ各色が８個）のＬＥＤランプについて、各々、発光輝度を階調制御（Brightness Control）できるよう構成されており、８ビットで規定されるデューティ比を設定可能な２４個を含め、合計で３０個の内蔵レジスタ（Ｒ１〜Ｒ３０）が内蔵されている。各内蔵レジスタ（Ｒ１〜Ｒ３０）には、階調を規定するデューティ比など、８ビット長の設定データが設定される必要があり、各内蔵レジスタには、８ビット長のレジスタアドレス（００ｈ〜１Ｄｈ）が付与されている。
【０１９４】
したがって、ランプドライバＤＲが駆動対象とする２４個のＬＥＤランプの発光輝度を制御するには、そのランプドライバＤＲのスレーブアドレスを特定した状態で、合計３０個の内蔵レジスタ（Ｒ１〜Ｒ３０）に、必要な設定データを伝送する必要がある。
【０１９５】
図１３（ｃ）は、ランプドライバＤＲの所定の内蔵レジスタに、８ビット長の設定データを書込む場合の動作手順を示すタイムチャートである。図示の通り、制御端子ＳＤＥＮをアクティブレベルに維持した状態で、クロック端子ＳＣＬＫに供給されるシリアルクロックに同期して、スレーブアドレスをシリアル伝送し、その後、内蔵レジスタを特定するレジスタアドレスをシリアル伝送する必要がある。
【０１９６】
以上の動作の後、特定された内蔵レジスタに設定すべき設定データをシリアル伝送することになるが、このランプドライバＤＲでは、制御端子ＳＤＥＮがアクティブレベルである状態で、２４個目のシリアルクロックの立ち上がりエッジで、それ以前に特定されている内蔵レジスタに、３番目に伝送された設定データが書込まれるよう構成されている（制御端子ＳＤＥＮへの信号を必要とする３線伝送方式）。
【０１９７】
以上、特定の内蔵レジスタに設定データを設定する場合を説明したが、全ての内蔵レジスタ（Ｒ１〜Ｒ３０）に設定データを設定する場合は、図１３（ｅ）の動作となる。すなわち、制御端子ＳＤＥＮをアクティブレベルに設定した状態で、スレーブアドレスをシリアル伝送し、その後、先頭のレジスタアドレス（００ｈ）をシリアル伝送した上で、その内蔵レジスタへの設定データをシリアル送信する。
【０１９８】
これらの動作によって、先頭の内蔵レジスタ（Ｒ０）への設定動作は完了するが、その後もシリアル伝送を継続すると、スレーブアドレスが内部動作よってインクリメントされ、その後、シリアル伝送された設定データが８ビットに達する毎に、各内蔵レジスタ（Ｒ１〜Ｒ２９）に、設定データが設定されることになる。
【０１９９】
実施例のランプドライバＤＲは、上記の通りに動作するので、１個のランプドライバＤＲに設定データを書込むには、合計で、２５６個のシリアルクロックを伝送すべきことになる。なお、この２５６個は、伝送データのビット数と同じであり、スレーブアドレス８ビット分と、レジスタアドレス８ビット分と、３０個の内蔵レジスタに対する３０×８ビット分の総数である。以上の動作に対応して、シリアルポート５５のチャネル＃Ｃとチャネル＃Ｄは、図１３（ｄ）のように動作する必要がある。
【０２００】
ところで、実施例の複合チップでは、ＬＥＤ駆動モードで動作するシリアルポート５５は、シリアル送信の一単位である１サンプルのビット長を規定する必要がある。また、ＬＥＤ駆動モードでは、上記した３線伝送方式に対応するべく、１フレームの単位で、Output Enable 信号として、ＯＥｃ／ＯＥｄ信号が出力されるよう構成されているので、１フレームを構成するサンプル数を特定する必要がある。
【０２０１】
図１３（ａ）に示す通り、ＯＥｃ／ＯＥｄ信号は、ランプドライバＤＲの制御端子ＳＤＥＮに供給されており、このＳＤＥＮ端子がＨレベルであることが、ランプドライバＤＲの動作可能条件となる。そして、先に説明した通り、１個のランプドライバＤＲに伝送されるべきデータの総量は、２５６ビットである。
【０２０２】
そこで、以上の点を考慮して、本実施例では、１サンプルを１６ビット長と、１６個のサンプル（各１６ビット長）で１フレームを構成している。図１１（ｂ）は、この関係を図示したものであり、ランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄには、１６×１６ビットの単位で、各ランプドライバＤＲに伝送すべきランプ駆動データが保存されている。なお、ランプ演出は、時間経過と共に進行するので、最低でも動作態様に対応するランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄが用意されている。
【０２０３】
役物演出の場合と同様、ランプ演出においても、全てのＬＥＤランプが同期的に点灯／消灯するとは限らず、特定一群のＬＥＤランプだけが点灯／消灯する場合もある。そのため、実際には、多数のランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄが用意されている。但し、何れのランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄでも、１個のランプドライバＤＲに伝送すべきランプ駆動データは１６×１６ビット（３２バイト）であり、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆの場合のようなダミーデータDUMMY は不要である。
【０２０４】
すなわち、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆからＤＭＡコントローラ６３（チャネル＃１０、＃１１）には、３２バイト単位でＤＭＡ転送動作が実行され、ＤＭＡコントローラ６３（チャネル＃１０、＃１１）からシリアルポート５５（チャネル＃Ｃ、＃Ｄ）の送信ＦＩＦＯに対しては、２バイト単位で、ＤＭＡ転送動作が実行される。そして、送信ＦＩＦＯのランプ駆動データのシリアル送信が完了すれば、各チャネル（＃Ｃ，＃Ｄ）のステイタスレジスタ（不図示）が送信完了状態にセットされる。
【０２０５】
以上、１個のモータドライバへの転送データ数が１６×１６ビットの場合を説明したが、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆからＤＭＡコントローラ６３へのデータ転送単位や、ＤＭＡコントローラ６３から送信ＦＩＦＯへのデータ転送単位に整合しない場合には、転送単位に整合するよう適宜なダミーデータDUMMY を付加すれば良い。
【０２０６】
また、図１３では、３線伝送方式について使用したが、ランプドライバの制御端子ＳＤＥＮを使用しない２線伝送方式を採用するのも好適である。この場合には、制御端子ＳＤＥＮを使用しないので、図１４（ａ）に示す通り、ＯＥｃ／ＯＥｄ信号は活用されない。
【０２０７】
この２線伝送方式では、伝送されるシリアルビット列が、図１４（ｃ）に示すビット態様のスタート条件を満たすと、各ランプドライバＤＲｉがアクティブ状態となる。但し、スタート条件（９ビット）、スレーブアドレス（８ビット）、レジスタアドレス（８ビット）、設定データ（８ビット）の区切り毎にBLANK ビットを出力する必要がある。そして、BLANK ビットの立ち上がりエッジで、各ビット列がランプドライバＤＲｉに把握され、３０個の内蔵レジスタの何れかにに設定データが取得される、
【０２０８】
この２線伝送方式の動作態様でも、先頭の内蔵レジスタのレジスタアドレスを送信した後は、レジスタアドレスが内部動作によって自動的にインクリメントされるので、一個のランプドライバＤＲの全ての内蔵レジスタ（３０個）に設定データを設定するには、１０＋９＋９＋９×３０＝２９８ビットのシリアルデータの送信が必要となる。このように２線伝送方式の場合には、１個のランプドライバＤＲへの送信データ数が、スタートビット（９ビット）と、BLANK ビットの分だけ増加するが、複数のランプドライバに対して、一気にシリアルデータの伝送を終えることができる利点がある。
【０２０９】
すなわち、３線伝送方式の場合には、１個のランプドライバＤＲへの２５６ビットのシリアル伝送毎に、ＯＥ信号を出力し直す必要があるが、２線伝送方式では、Ｎ個のランプドライバＤＲ１〜ＤＲｎに対して、合計２９８×Ｎビットのデータを一気に出力することができるので、ホストＣＰＵ５０の制御負担が軽減される。
【０２１０】
図１４（ｄ）は、ＬＥＤ駆動モードで機能するシリアルポート５５のチャネル＃Ｃや＃Ｄにおいて、例えば、３２個のランプドライバＤＲ１〜ＤＲ３２を駆動する場合を図示しており、合計９５３６ビットのデータが、１サンプルを構成する１６ビット毎に、５９６個のサンプルデータとして、シリアル伝送される状態を示している。
【０２１１】
この実施例の場合、１サンプルは、ＤＭＡ転送の転送単位に一致しており（図１１（ａ）参照）、ＤＭＡコントローラ６３からシリアルポート５５の送信ＦＩＦＯへの転送回数が５９６回である。なお、２線伝送方式では、ＯＥｃ／ＯＥｄ信号を活用しないことは先に説明した通りである。
【０２１２】
以上、シリアルポート５５のチャネル＃Ｃや＃Ｄを、ＬＥＤ駆動モードで機能させる場合について説明したが、特に限定されず、ＳＰＩ通信モードを使用することもできる。図１４（ｅ）は、シリアルポート５５のチャネル＃Ｃや＃Ｄを、ＳＰＩ通信モードで機能させ、例えば、１０個のランプドライバＤＲ１〜ＤＲ１０を駆動する場合を図示している。
【０２１３】
この場合には、シリアル伝送すべき全データ数は、２９８×１０ビットであるが、ＤＭＡコントローラ６３からシリアルポート５５の送信ＦＩＦＯへの転送単位が１６ビットであるので、１２ビットのダミービットDUMMY を付加して、合計２９９２ビットとしている。
【０２１４】
そして、ＤＭＡコントローラ６３からシリアルポート５５の送信ＦＩＦＯに対して、１８７回（＝２９９２／１６）のデータ転送が繰り返されつつ、合計２９９２ビットのシリアル伝送が一気に実行される。以上の通り、ダミービットDUMMY を付加することで、ランプドライバＤＲの配置個数に拘らず、シリアルポート５５の送信ＦＩＦＯへのＤＭＡ転送を活用したシリアル伝送が可能となる。なお、この点は、ＬＥＤ駆動モードであるか、ＳＰＩ通信モードであるかを問わない。また、ダミービットDUMMY は、スタート条件を満たさないビット列であれば任意である。
【０２１５】
以上、演出制御部２２の回路構成や回路動作を中心に説明したので、続いて、図１５〜図１６に基づいて、演出制御部２２の制御動作について説明する。演出制御部２２の処理は、電源投入後に実行されるメイン処理（図１５（ａ））と、主制御部２１から制御コマンドＣＭＤを受けると起動される受信割込み処理（図１５（ｂ）と、１ｍＳ毎に繰り返し起動されるタイマ割込み処理（図６（ａ））と、を有して構成されている
【０２１６】
図１５（ａ）は、電源投入後のホストＣＰＵ５０の動作を示しており、先ず、複合チップ４０の内蔵レジスタについて初期設定処理を実行して、その後の演出制御の準備を完了させる（ＳＴ１０）。図１５（ｂ）は、初期設定処理の一部を図示したものであり、先ず、ＤＭＡコントローラ６３（チャネル＃０）を使用して、外付けＲＯＭ４２に保存されている音声データＳＮＤを、ＤＤＲメモリ４１にＤＭＡ転送している。
【０２１７】
具体的には、図１０（ａ）に関して説明した通りであり、音声データＳＮＤのＤＭＡ転送について、先ず、ＤＭＡの使用チャンネルとしてＤＭＡチャネル＃０を特定すると共に、ＭＤＡ転送に必要な動作パラメータをＤＭＡコントローラ６３の該当レジスタに設定する（ＳＴ１）。設定される動作パラメータには、（１）外付けＲＯＭ４２における転送元の先頭アドレス、（２）転送元からＤＭＡコントローラ５３に対する一回の読出しサイズ（バイト長）、（３）外付けＲＯＭ４２からＤＭＡコントローラ５３へのＲＥＡＤ転送回数、（４）ＤＤＲメモリ４１における転送先の先頭アドレス、（５）ＤＭＡコントローラ５３から転送先に対する一回の書込みサイズ（バイト長）、（６）ＤＭＡコントローラ５３からＤＤＲメモリ４１へのＷＲＩＴＥ転送回数が含まれている。
【０２１８】
次に、ホストＣＰＵ５０は、ＤＭＡコントローラ５３の該当レジスタに動作開始を指示すると（ＳＴ２）、その後は、ステップＳＴ１の処理で設定した動作条件でＤＭＡ転送が開始され、転送元と転送先のアドレスが適宜に更新されつつ、読出しサイズと書込みサイズの転送動作が繰り返される。
【０２１９】
このＤＭＡ転送に、ホストＣＰＵ５０が関与する必要はないので、続いて、外付けＲＯＭからＣＧデータの先読み動作（プリロード）を実行する場合には、ホストＣＰＵ５０は、ＶＤＰコントローラ６０の該当レジスタにその旨を設定する（ＳＴ２）。次に、ホストＣＰＵ５０は、サウンドエンジン５２に対して、定期ＳＡＣ動作を指示する（ＳＴ４）。
【０２２０】
先に説明した通り、本実施例で実行される定期ＳＡＣ動作は、マルチエフェクタ８５におけるイコライザ機能やコンプレッサ機能を繰り返し再設定する動作であり、ステップＳＴ４の設定を受けたサウンドエンジン５２は、この後、３２／４８×５１２ｍＳ毎に音質設定動作を繰り返すことになる。なお、サウンドエンジン５２には複数のシンプルアクセスコントローラＳＡＣが内蔵されているので、複数種類の定期ＳＡＣ動作を設定するのも好適である。
【０２２１】
初期設定処理（ＳＴ１０）には、その他、バンクフリップ周期（１／３０秒）など、ＶＤＰコントローラ６０に関する動作パラメータの設定（ＳＴ５）が含まれているが、これらについては、図１７〜図１９に関連して後述する。そして、最後に、電源投入後に開始される初期演出用の演出シナリオを特定して初期処理が終了する（ＳＴ６）。
【０２２２】
このような初期設定処理（ＳＴ１０）が終わると、その後は、バンクフリップ周期（１／３０秒）毎に、ステップＳＴ１１〜ＳＴ２０の処理が無限ループ状に繰り返し実行される。そして、この無限ループ処理（ステップＳＴ１１〜ＳＴ２０）の間に、主制御部２１から制御コマンドＣＭＤを受けることがあり、この場合には、受信割込み処理として、図１５（ｂ）の処理が実行される。
【０２２３】
受信割込み処理では、受信した制御コマンドＣＭＤが、先ず、受信バッファに格納される（ＳＴ２２）。そして、格納された制御コマンドＣＭＤは、無限ループ処理のステップＳＴ１９の処理で読み出され、制御コマンドＣＭＤに基づいた演出動作が開始される。また、制御コマンドＣＭＤが抽選処理の結果を当選状態と特定している場合（ＳＴ２３）には、その当選情報を時刻情報と共に、液晶ＩＦ基板２５に配置されている不揮発性メモリ２６に記憶する（ＳＴ２４）。
【０２２４】
なお、設定キーＳＥＴが操作されたことを示す制御コマンドＣＭＤを受けた場合には、不揮発性メモリ２６に記憶されている遊技実績履歴を、表示装置ＤＳＰ１に画面表示する履歴表示動作を起動させる。具体的には、履歴表示用の指令フラグＦＧを１にセットする（ＳＴ２５）。
【０２２５】
この指令フラグＦＧは、ステップＳＴ１９の処理で参照され、ステップＳＴ２０などの処理を経て、必要な画像制御動作が実行される。また、この画像制御動作中に、初期化スイッチＳＷが操作されたことを示す制御コマンドＣＭＤを受けた場合には、指令フラグＦＧが２にセットされ、その後、チャンスボタン１１の押下を条件に、不揮発性メモリ２６の記憶内容を全て消去する。なお、チャンスボタンの押下は、１ｍＳ毎のタイマ割込み処理において、リアルタイムに把握される（図１６のＳＴ４２）。
【０２２６】
続いて、図１５（ａ）の無限ループ処理について説明する。無限ループ処理では、先ず、ステップＳＴ６の処理や、ステップＳＴ１９の処理で特定された演出シナリオに基づいて、画像演出用の処理（ＳＴ１１）が実行されるが、このコマンドリスト処理については、図１７において後述する。
【０２２７】
次に、演出開始からの経過時間と、ステップＳＴ２０の処理で更新された演出シナリオとを対比して、音声演出の更新タイミングか否かが判定され（ＳＴ１２）、音声演出の更新タイミングに達している場合には、音声コマンド列を、図５や図９に示す中継バッファ８２に書き込む（ＳＴ１３）。なお、この実施例では、音声コマンドリストＳＬＴを使用しないので、ホストＣＰＵ５０が中継バッファ８２（ＭＣＲ，ＭＣＤ）を直接ＷＲＩＴＥアクセスする。
【０２２８】
先に説明した通り、音声コマンドは、サウンドエンジン５２のコマンドレジスタＲＧｉのレジスタ番号（１バイト）と、そのレジスタＲＧｉへの設定値（１バイト）を一組とする２バイト長である。そして、図９に関して説明した通り、ホストＣＰＵ５０は、レジスタ番号を含んだ４バイト長を第１中継レジスタＭＣＲに書込むと共に、設定値を含んだ４バイト長を第２中継レジスタＭＣＤに書込む。
【０２２９】
すると、中継レジスタ８２から抽出された２バイト長（レジスタ番号＋設定値）は、自動的に音声コマンドＦＩＦＯに蓄積されるので（図９参照）、ホストＣＰＵ５０は、一群の音声コマンド（音声コマンド列）を、同じ中継レジスタ８２に繰り返し書込めば良いことなる。先に説明した通り、音声コマンドＦＩＦＯに蓄積された音声コマンド列は、サウンドエンジン５２の動作周期（３２／４８ｍＳ）毎に、図８に示すＳＣＭ（サウンドコントールモジュール）８１によってＦＩＦＯ方式で読み出され、コマンドレジスタＲＧｉへの設定動作が実行される。
【０２３０】
以上のようにして音声演出を進行させた後、ランプ演出の更新タイミングか否かが判定され（ＳＴ１４）、更新タイミングであれば、ホストＣＰＵ５０は、ランプ駆動データテーブルＬＭＰｃ，ＬＭＰｄの参照位置を更新する（ＳＴ１５）。なお、枠側と盤側のランプ演出の更新タイミングは必ずしも一致しないので、該当するランプ駆動データテーブルＬＭＰｃ／ＬＭＰｄの参照位置だけが更新される場合もある。また、図１１（ｂ）に示すような規則的な更新に限らず、特定のＬＥＤランプだけが点灯／消灯する場合があることも先に説明した通りである。
【０２３１】
次に、ホストＣＰＵ５０は、ランプ駆動データテーブルＬＭＰｃ／ＬＭＰｄの参照位置で特定される一群のデータを、シリアルポート５５のチャネル＃Ｃ／＃Ｄからシリアル送信するべく各部を制御する（ＳＴ１６）。具体的な動作は、図１５（ｄ）に示す通りであり、ランプドライバＤＲ毎に、ランプ駆動データテーブルＬＭＰの参照位置を特定し（ＳＴ３３）、ＤＭＡ転送に関し、必要な動作パラメータをＤＭＡコントローラの該当レジスタに設定する（ＳＴ３４）。
【０２３２】
図１０（ｂ）に関し説明した通り、必要な動作パラメータには、（１）ランプ駆動データテーブルＬＭＰｃ／ＬＭＰｄにおける転送元の先頭アドレス、（２）転送元からＤＭＡコントローラ５３（＃１０／＃１１）に対する一回の読出しサイズ（実施例では３２バイト長）、（３）ランプ駆動データテーブルＬＭＰｃ／ＬＭＰｄからＤＭＡコントローラ５３（＃１０／＃１１）へのＲＥＡＤ転送回数（図１０（ｂ）では１回）、（４）シリアルポート５５のチャネル＃Ｃ／＃Ｄにおける転送先のアドレス（実施例では中継レジスタＩＴＭのアドレス）、（５）ＤＭＡコントローラ５３（＃１０／＃１１）から転送先に対する一回の書込みサイズ（実施例では２バイト）、（６）ＤＭＡコントローラ５３からシリアルポート５５のチャネル＃Ｃ／＃ＤへのＷＲＩＴＥ転送回数（図１０（ｂ）では１６回）が含まれている。
【０２３３】
また、ランプ駆動データのＤＭＡ転送に必要な動作パラメータには、図１０（ｂ）に関して説明したシリアルポート５５のチャネル＃Ｃ／＃Ｄの送信ＦＩＦＯと、ＤＭＡコントローラ５３（＃１０／＃１１）との間のHand Shake動作を実現する、送信ＦＩＦＯの蓄積データ量に関する閾値も含まれる。
【０２３４】
そして、ＤＭＡコントローラの該当レジスタに所定値を設定して、ＤＭＡコントローラ５３（＃１０／＃１１）の動作を開始させると共に（ＳＴ３４）、シリアルポート５５（チャネル＃Ｃ／＃Ｄ）の該当レジスタに所定値を設定することで、シリアル送信動作を開始させる（ＳＴ３５）。なお、図１５（ｄ）の実施例では、シリアルポート５５（チャネル＃Ｃ／＃Ｄ）は、ＬＥＤ駆動モードで起動するよう、予め、該当レジスタが設定される必要がある（ＳＴ３５）。
【０２３５】
その後の動作は、図１３（ｄ）や、図１４（ｄ）に示す通りであり、シリアルポート５５（チャネル＃Ｃ／＃Ｄ）の送信ＦＩＦＯが空になるまで、シリアル送信処理が実行される。ホストＣＰＵ５０は、このシリアス送信処理に全く関与する必要がないので、その後、ホストＣＰＵ５０は、所定のステイタスレジスタを参照して、シリアルポート５５（チャネル＃Ｃ／＃Ｄ）の送信終了を待つことになる（ＳＴ３６）。
【０２３６】
先に説明した通り、ＬＥＤ駆動モードでは、一フレーム（実施例では１６サンプル＝２５６ビット）の単位でＯＥ信号が出力され、この一フレーム（２５６ビット）の処理で、一のランプドライバＤＲへのシリアル伝送処理が終わる。そこでホストＣＰＵは、全ての処理が終わったか否かを判定し（ＳＴ３７）、次のランプドライバＤＲへのシリアル伝送処理に移行すべき場合は、ステップＳＴ３３の処理を実行する。
【０２３７】
以上、３線伝送方式におけるＬＥＤ駆動モードについて説明したが、２線伝送方式を採る場合には、シリアルポート５５（チャネル＃Ｃ／＃Ｄ）を、ＬＥＤ駆動モードで使用するか、ＳＰＩ通信モードで使用するかに拘らず、全てのランプドライバＤＲに対して、必要なシリアルデータを一気にシリアル伝送するので、ステップＳＴ３７の処理は不要である。
【０２３８】
但し、この場合には、ステップＳＴ３４の処理において、（２）転送元からＤＭＡコントローラ５３（＃１０／＃１１）に対する一回の読出しサイズや、（５）ＤＭＡコントローラ５３（＃１０／＃１１）から転送先に対する一回の書込みサイズが、例えば２バイト長とされる（図１０（ｃ）参照）。
【０２３９】
そして、この設定に対応して、図１４（ｄ）に示すＬＥＤ駆動モードのランプ駆動では、（３）ランプ駆動データテーブルＬＭＰｃ／ＬＭＰｄからＤＭＡコントローラ５３（＃１０／＃１１）へのＲＥＡＤ転送回数や、（６）ＤＭＡコントローラ５３からシリアルポート５５のチャネル＃Ｃ／＃ＤへのＷＲＩＴＥ転送回数が、各々、５９６回となり、全体で、２×５９６×８＝９５３６ビットとなる（図１０（ｃ）参照）。
【０２４０】
なお、図１４（ｅ）に示すＳＰＩ通信モードのランプ駆動では、（３）ＲＥＡＤ転送回数と、（６）ＷＲＩＴＥ転送回数が、各々、１８７回となり、全体で、２×１８７×８＝２９９２ビットとなる（図１０（ｃ）参照）。
【０２４１】
以上のようにして、ステップＳＴ１６の処理が終わると、次に、役物演出の更新タイミングか否かが判定される（ＳＴ１７）。そして、更新タイミングに達している場合には、モータ駆動データテーブルＭＯＴの参照位置が更新される（ＳＴ１８）。但し、役物演出の進行は、１ｍＳ毎のタイマ割込みで実行されるので（図１６）、ホストＣＰＵ５０は、次に、受信割込み処理で受信された制御コマンドを解析する（ＳＴ１９）。
【０２４２】
そして、大当り抽選処理の結果を特定する変動パターンコマンドを受けた場合には、演出抽選などを経て、変動パターンコマンドの種類に応じた演出シナリオを特定する（ＳＴ１９）。なお、この演出シナリオは、画像演出、ランプ演出、役物演出、及び音声演出の全てを、演出進行の時間情報と共に一元的に特定するものである。
【０２４３】
次に、演出開始からの経過時間に基づいて、演出シナリオの参照位置を更新した上で（ＳＴ２０）、バンクフリップを待つ（ＳＴ２１）。先に説明したように、本実施例では、バンプフリップタイミングを、表示装置の垂直同期信号の周期の２倍に設定しており、ステップＳＴ１１の実行開始から１／３０秒以内にステップＳＴ２０までの処理が終わっていれば良いので、ステップＳＴ１１〜ＳＴ２０の処理を適宜に複雑化することができる。また、本実施例では、バンプフリップ後、直ちにコマンドリスト処理（ＳＴ１１）を実行して、画像コマンドリストを発行するので、ＶＤＰコントローラには、約１／３０秒の処理時間が確保されることになる。
【０２４４】
続いて、図１６に基づいて、タイマ割込み処理について説明する。タイマ割込み処理では、各種のセンサ信号を繰り返し取得すると共に、必要時には役物演出を進行させている。そこで、先ず、モータ駆動データを更新すべきか否かが判定される（ＳＴ３０）。そして、役物演出中でない場合には、ステップＳＴ３１〜ＳＴ３６の処理がスキップされる。
【０２４５】
一方、何れか一以上の役物モータを移動させるべきタイミングであれば、先ず、シリアルポート５５のチャネル＃Ｅと＃ＦをＳＰＩ送信モードに設定する。なお、実際には、枠側のモータ駆動基板３７と、盤側のモータ駆動基板３０の何れか一方だけが動作する場合も多く、以下に説明するステップＳＴ３１〜ＳＴ３７の処理が、モータ駆動基板３７かモータ駆動基板３０に関して、何れか一方だけに実行されるか、或いは、ステップＳＴ３１〜ＳＴ３７の処理が２回繰り返される。
【０２４６】
但し、以下の説明では、便宜上、モータ駆動基板３７とモータ駆動基板３０の全てのモータドライバＤＶ〜ＤＶが同期的に機能すると簡略化し、全てのモータドライバＤＶ〜ＤＶが纏めて制御される仮想事例について説明を続けることにする。
【０２４７】
このような仮想事例においては、ホストＣＰＵ５０は、次に、パラレルポート５４から第１レベルの切換制御信号ＣＴＬｅ，ＣＴＬｆを出力する（ＳＴ３２）。これは、その後に出力されるシリアルクロックＳＣＫｅ，ＳＣＫｆの伝送先を、モータ駆動基板３７，３０に搭載されているモータドライバＤＶとするためである。
【０２４８】
次に、役物モータを歩進させるべきタイミングであれば、モータ駆動データテーブルＭＯＴｅ，ＭＯＴｆの参照位置を更新する（ＳＴ３３）。そして、モータ駆動データのＤＭＡ転送に必要な動作パラメータを、ＤＭＡコントローラ５３（＃１２／＃１３）の該当レジスタに設定する（ＳＴ３４）。
【０２４９】
ここで必要な動作パラメータには、（１）モータ駆動データテーブルＭＯＴｅ／ＭＯＴｆにおける転送元の先頭アドレス、（２）転送元からＤＭＡコントローラ５３（＃１２／＃１３）に対する一回の読出しサイズ（例えば２バイト長）、（３）モータ駆動データテーブルＭＯＴｅ／ＭＯＴｆからＤＭＡコントローラ５３（＃１２／＃１３）へのＲＥＡＤ転送回数、（４）シリアルポート５５のチャネル＃Ｅ／＃Ｆにおける転送先のアドレス（実施例では中継レジスタＩＴＭのアドレス）、（５）ＤＭＡコントローラ５３（＃１２／＃１３）から転送先に対する一回の書込みサイズ（例えば２バイト）、（６）ＤＭＡコントローラ５３からシリアルポート５５のチャネル＃Ｅ／＃ＦへのＷＲＩＴＥ転送回数が含まれている。
【０２５０】
また、モータ駆動データのＤＭＡ転送に必要な動作パラメータには、図１０（ｂ）に関して説明したシリアルポート５５のチャネル＃Ｅ／＃Ｆの送信ＦＩＦＯと、ＤＭＡコントローラ５３（＃１２／＃１３）との間のHand Shake動作を実現する、送信ＦＩＦＯの蓄積データ量に関する閾値も含まれる。
【０２５１】
以上の動作パラメータを設定した後、ホストＣＰＵ５０は、ＤＭＡコントローラ５３（＃１２／＃１３）を起動させると共に（ＳＴ３４）、シリアルポート５５のチャネル＃Ｅ／＃Ｆのシリアル送信を開始させる（ＳＴ３５）。すると、その後は、ＤＭＡコントローラ５３（＃１２／＃１３）のHand Shake動作に基づき、チャネル＃Ｅ／＃Ｆの送信ＦＩＦＯにモータ駆動データが転送され、シリアル送信動作が繰り返される。
【０２５２】
そこで、ホストＣＰＵ５０は、所定のステイタスレジスタを参照して、全てのモータ駆動データが転送され終わるのを待つ（ＳＴ３６）。そして、送信完了が確認されたタイミングで、ホストＣＰＵ５０は、パラレルポート５４を通して各モータドライバに対してラッチパルスＬＴｅ，ＬＴｆを出力する（ＳＴ３７）。モータドライバＤＶ１〜ＤＶｎは、ラッチパルスＬＴｅ，ＬＴｆを受けることで、取得したモータ駆動データを、役物モータＭ１〜Ｍｎに出力するので、役物モータＭ１〜Ｍｎが歩進することになる（図１２（ａ）、図１２（ｂ）参照）。
【０２５３】
以上の処理が終わると、ホストＣＰＵ５０は、シリアルポート５５のチャネル＃Ｅと＃Ｆを、ＳＰＩ受信モードに設定すると共に（ＳＴ３８）、パラレルポート５４から第２レベルの切換制御信号ＣＴＬｅ，ＣＴＬｆを出力する（ＳＴ３９）。これは、その後に出力されるクロック信号の伝送先を、モータ駆動基板３７，３０に搭載されている信号取得回路ＧＥＴ，ＧＥＴとするためである。
【０２５４】
役物モータの駆動動作（ＳＴ３０〜ＳＴ３７）の場合とは異なり、以下に説明するシリアル受信処理は、役物演出中であるか否かを問わず、１ｍＳ毎に、必ず実行される。そのため、本実施例では、信号取得回路ＧＥＴ，ＧＥＴに供給されている各種のセンサ信号を、ほぼリアルタイムに把握できることになる。
【０２５５】
ステップＳＴ３９の処理が終われば、ホストＣＰＵ５０は、パラレルポート５４を通して、各信号取得回路ＧＥＴ，ＧＥＴに対して、取得パルスＬＴｅ，ＬＴｆを出力する（ＳＴ４０）。図１２（ｃ）に関して説明した通り、信号取得回路ＧＥＴ，ＧＥＴは、取得パルスＬＴｅ，ＬＴｆに基づいて、各種のセンサ信号ＳＮｉ，ＳＮｊを取得することになる。
【０２５６】
そこで、次に、ホストＣＰＵ５０は、シリアルポート５５（チャネル＃Ｅと＃Ｆ）のシリアル入力処理を開始させる（ＳＴ４１）。具体的には、図１６（ｂ）に示す通りであり、先ず、出力すべきシリアルクロックＳＣＫｅ，ＳＣＫｆの個数を特定した上で（ＳＴ４３）、１ビットのダミーデータを、シリアルポート５５（チャネル＃Ｅと＃Ｆ）の送信シフトレジスタに書込む（ＳＴ４４）。
【０２５７】
すると、この書込み動作を契機として、シリアルポート５５（チャネル＃Ｅと＃Ｆ）からは、指定された個数のシリアルクロックＳＣＫｅ，ＳＣＫｆの出力動作が開始される。図１２（ｄ）に関し説明した通り、信号取得回路ＧＥＴ，ＧＥＴは、シリアルクロックＳＣＫｅ，ＳＣＫｆに同期して、センサ信号ＳＮｉ，ＳＮｊを１ビット毎に転送するので、シリアルポート５５（チャネル＃Ｅと＃Ｆ）では、これを取得することになる。なお、シリアル受信されたセンサ信号は、１バイト又は２バイト単位で、チャネル＃Ｅと＃Ｆの受信バッファに一時保存される。
【０２５８】
そして、指定された個数のシリアルクロックＳＣＫｅ，ＳＣＫｆの出力処理の完了は、シリアルポート５５（チャネル＃Ｅと＃Ｆ）の該当ステイタスレジスタによって確認されるので（ＳＴ４５）、シリアル受信処理の完了を把握したホストＣＰＵ５０は、受信バッファに一時保存されたセンサ信号ＳＮｉ，ＳＮｊを、所定のバッファ領域に転記する（ＳＴ４２）。そして、バッファ領域に転記されたセンサ信号ＳＮｉ，ＳＮｊは、その後の画像演出、音声演出、役物演出において適宜に活用されることになる。
【０２５９】
続いて、図１７に基づいて、画像演出用のコマンドリスト処理（ＳＴ１１）について説明する。図１７（ａ）は、コマンドリストをＤＤＲメモリ４１に発行する場合の画像制御を説明するフローチャートであり、画像演出に関する初期設定処理（ＳＴ１０）についても補足的に記載している。なお、この実施例では、プリローダを使用しないので、図１５（ｃ）のステップＳＴ３の処理は実行されない。
【０２６０】
以上を踏まえて説明すると、ホストＣＰＵ５０は、電源投入後の初期設定処理（ＳＴ１０）として、バンクフリップ周期を１／３０秒とするべく、ＶＤＰコントローラ６０の該当レジスタに、所定の設定値を書込む（ＳＴ５０）。また、画像コマンドリストＬＴの開始アドレスを設定する（ＳＴ５１）。
【０２６１】
先に説明した通り、本実施例では、画像コマンドリストＬＴを、コマンドメモリ５６や、内蔵ＤＲＡＭ５７や、ＤＤＲメモリ４１に発行することもできるが、基本的な発行先は、必ず、画像コマンドバッファ７１としている。
【０２６２】
そこで、ホストＣＰＵ５０は、画像コマンドリストＬＴの発行先を規定する該当レジスタに、画像コマンドバッファ７１の先頭アドレスに関するＣＢＡ情報とＣＢＭ情報を設定し（ＳＴ５１）、これに続いて、コマンドリストの処理開始を、該当レジスタに許可設定する（ＳＴ５２）。なお、ＣＢＭ情報は、画像コマンドリストの発行先が、画像コマンドバッファ（内蔵レジスタ）７１であるか、或いは、メインメモリ５６、内蔵ＤＲＡＭ５７、ＤＤＲメモリ４１、又は外付けＲＯＭ４２の何れかであるかを特定するメモリ情報であり、ＣＢＡ情報とは、特定されたメモリにおける相対アドレス値である。
【０２６３】
以上の設定処理（ＳＴ５０〜ＳＴ５２）の結果、その後、バンクフリップが生じる毎に、ＶＤＰコントローラ６０などの動作が初期化され、ホストＣＰＵ５０が画像コマンドバッファ７１に発行した画像コマンドリストＬＴについて、ＣＢＡ情報／ＣＢＭ情報に基づいて、ＶＤＰコントローラ６０による読出し動作が繰り返されることになる。
【０２６４】
次に、ホストＣＰＵ５０は、今サイクルの画像コマンドリストＬＴを作成する（ＳＴ５３）。この画像コマンドリストＬＴは、画像演出の進行に応じて種々変化するが、何れの場合も、図１７（ｂ）に示す通り、バンクフリップ待ちを意味するWAIT_BANKFLIP 命令で終了する。
【０２６５】
ところで、この画像コマンドリストＬＴの途中には、JUMP_DDR命令が記載されている場合がある。ここで、JUMP_DDR命令は、その後に処理を移行すべきＤＤＲメモリ４１の先頭アドレスと、先頭アドレス以降に記載されている画像コマンドリストＬＴ’（以下、補助リストＬＴ’と称する）のデータサイズを特定したＪＵＭＰ命令であり（図１７（ｃ）参照）、実質的には、RETURN命令を記載する必要のないSUBROUTINE_CALL 命令を意味する。なお、以下に説明するJUMP_BUFa 命令や、JUMP_BUFb 命令や、JUMP_CFIFO命令についても同様であり、ゼロの場合も含むデータサイズを特定して、ＪＵＭＰ先アドレスを具体的に特定している。
【０２６６】
この補助リストＬＴ’は、画像演出の進行に拘らず、一定期間、繰り返される処理を記載したものであり、演出進行の所定タイミングで、ＤＤＲメモリ４１に発行された後は、JUMP_DDR命令を経由して、繰り返し読み出されるようになっている。また、その後のタイミングで、ＤＤＲメモリ４１に新たに発行された補助リストＬＴ’についても、JUMP_DDR命令を経由して、繰り返し読み出されるようになっている。
【０２６７】
したがって、ステップＳＴ５３の処理では、画像コマンドリストＬＴの作成に加えて、補助リストＬＴ’が作成される場合や、作成した画像コマンドリストＬＴにJUMP_DDR命令が記載されている場合がある。何れにしても、ステップＳＴ５３に続いて、ホストＣＰＵ５０は、コマンドバッファ７１に画像コマンドリストＬＴを発行し、必要に応じて、ＤＤＲメモリ４１に補助リストＬＴ’を発行して（ＳＴ５４）、今サイクルの処理を終え、次回のバンクフリップを待つことになる（ＳＴ２１）。
【０２６８】
一方、ＶＤＰコントローラ６０は、今サイクルに発行された画像コマンドリストＬＴを、画像コマンドバッファ７１から順番に読出し、ＣＧデータデコーダ６２やレンダリングエンジン６１を機能させて、表示装置ＤＳ１，ＤＳ２の各一フレームを特定する画像データをフレームバッファＦＢの描画バンクに完成させる。そして、WAIT_BANKFLIP 命令に基づき、次回のバンクフリップを待つ。先に説明した通り、次回のバンクフリップでは、フレームバッファＦＢの描画バンクと表示バンクが切換るので、今回完成させた画像データは、次回のバンクフリップ後に表示装置ＤＳ１，ＤＳ２に表示されることになる。
【０２６９】
以上の通り、図１７（ａ）の実施例では、画像演出進行の一定期間、繰り返し使用される処理を、補助リストＬＴ’に記載してＤＤＲメモリ４１に保存し、画像演出の進行に対応して、反復して活用するので、画像コマンドリストＬＴを作成するホストＣＰＵの制御負担が軽減される。なお、ここでは、ＤＤＲメモリ４１を例示したが、ＤＤＲメモリ４１に替えて、コマンドメモリ５６や、内蔵ＤＲＡＭ５７や、外付けＲＯＭ４２を使用しても良いのは先に説明した通りである。なお、外付けＲＯＭ４２には、固定的な補助リストＬＴ’が予め記憶されている必要がある。
【０２７０】
以上、発行した画像コマンドリストＬＴが、そのサイクルで読み出される実施例について説明したが、ＶＤＰコントローラ６０に対する処理時間を確保するため、図６に示した動作を実行する場合について図１７（ｂ）に基づいて説明する。
【０２７１】
この場合には、初期設定処理（ＳＴ１０）においてコマンドメモリ５６に、一対のバッファ領域（ＢＵＦａ，ＢＵＦｂ）を確保する必要がある（ＳＴ５１’）。なお、バンクフリップ周期を１／３０秒に設定すること（ＳＴ５０）、画像コマンドリストＬＴの発行先として、画像コマンドバッファ７１の先頭アドレスを設定すること（ＳＴ５１）、及び、コマンドリストの処理開始を許可設定すること（ＳＴ５２）については、図１７（ａ）の場合と同じである。
【０２７２】
以上の処理が終われば、ホストＣＰＵ５０は、先ず、今サイクルで参照されるバッファ領域ＢＵＦａ／ＢＵＦｂに関して、今サイクルの画像コマンドリストＬＴを作成し、これを画像コマンドバッファ７１に発行する（ＳＴ５６）。この画像コマンドリストＬＴは、図６の説明では、制御コマンドリストＬＴｃと称したものであり、今回参照されるべきコマンドメモリ５６のバッファ領域を特定したＪＵＭＰ命令（JUMP_BUFa ／JUMP_BUFb ）と、バンクフリップ待ち命令（WAIT_BANKFLIP ）だけが記載されものである。
【０２７３】
ステップＳＴ５６の処理によって画像コマンドバッファ７１に発行された画像コマンドリストＬＴ（制御コマンドリストＬＴｃ）は、ＶＤＰコントローラ７１によって、直ちに読み出され、前回サイクルで発行済みの画像コマンドリストＬＴの処理が開始される（図５参照）。したがって、ＶＤＰコントローラ７１に、十分な処理時間が確保される意味において、図１７（ｂ）の処理は、図１７（ａ）の処理より優れている。
【０２７４】
次に、ホストＣＰＵ５０は、次サイクルで処理される画像コマンドリストＬＴを作成する（ＳＴ５７）。なお、図５に関し説明した通り、この画像コマンドリストＬＴの最終行は、画像コマンドバッファ７１のWAIT_BANKFLIP 命令への復帰を意味するＪＵＭＰ命令（JUMP_CFIFO）である。
【０２７５】
次に、ホストＣＰＵ５０は、画像コマンドリストＬＴの発行先をトグル的に切換え（ＳＴ５８）、その発行先に、ステップＳＴ５７の処理で作成した画像コマンドリストＬＴを発行する（ＳＴ５９）。すなわち、一対のバッファ領域（ＢＵＦａ，ＢＵＦｂ）の先頭アドレスの何れか一方を、今回の画像コマンドリストＬＴの発行先として選択し（ＳＴ５８）、選択されたバッファ領域に画像コマンドリストＬＴを発行する（ＳＴ５９）。
【０２７６】
なお、トグル的に切換えられたバッファ領域は、次サイクルのステップＳＴ５６の処理で使用される（図５参照）。また、ステップＳＴ５９の処理で発行された画像コマンドリストＬＴが実効化されるのは、次サイクルである。そして、その後の処理は、図１７（ａ）の場合と同じであり、他の必要な処理（ＳＴ１２〜ＳＴ２０）を実行した後、次回のバンクフリップを待つことになる（ＳＴ２１）。
【０２７７】
続いて、図７に関し先に説明した動作を実現する制御動作について、図１８（ａ）に基づいて説明する。なお、この実施例では、プリローダを機能させるので、図１５（ｃ）のステップＳＴ３の処理が実行される。また、以下に説明する画像コマンドリストＬＴには、プリロード転送を指示する特別なデコードコマンドＤＣｐが記載されている。
【０２７８】
そして、図１７の実施例と同様、バンクフリップ周期を１／３０秒に設定するが（ＳＴ６０）、ＤＤＲメモリ４１に、画像コマンドリストＬＴを一時保存すための適当個数のリストバッファＴＧ（＃０，＃１，・・・，＃Ｎ）が確保される必要がある（ＳＴ６１）。なお、図７では、リストバッファＴＧを、ＢＵＦａ、ＢＵＦｂ、ＢＵＦｃと表記しているが、図１８（ｃ）には、リストバッファＴＧの個数ＮがＮ＝２のトリプルバッファＴＧについて、＃０，＃１，＃２と図示している。なお、この実施例では、図１７のステップＳＴ５１、及びステップＳＴ５２の処理が、初期設定時において実行されることはなく、定常処理において個々的に実行される。
【０２７９】
定常処理では、最初に、WAIT_BANKFLIP コマンドのみで構成された画像コマンドリストである制御コマンドリストＬＴｃを、コマンドバッファ７１に発行する（ＳＴ６２）。次に、ホストＣＰＵ５０は、今サイクルで実効化されるべき画像コマンドリストＬＴについて、コマンドリスト開始アドレス（つまり、画像コマンドリストＬＴの先頭アドレス）を設定する（ＳＴ６３）。
【０２８０】
具体的には、メモリ種別を特定するＣＢＭ情報として、ＤＤＲメモリ４１であることを特定し、ＤＤＲメモリ４１における相対アドレスを特定するＣＢＡ情報として、該当するリストバッファＴＧの先頭アドレスを特定する。なお、このステップＳＴ６３の処理の容易化ため、リストバッファＴＧ（＃０，＃１，・・・，＃Ｎ）の先頭アドレスを記憶した先頭アドレスバッファ（図１８（ｃ）参照）が用意されており、この先頭アドレスバッファを順番に読み出すことで、ＣＢＡ／ＣＢＭ情報が特定される。
【０２８１】
そして、画像コマンドリストＬＴの処理開始を許可することで（ＳＴ６４）、ステップＳＴ６３で特定された先頭アドレス以降の画像コマンドリストＬＴの処理が開始される（図７参照）。例えば、ステップＳＴ６３の処理で、リストバッファＴＧ＃１が選択されている場合には、ＶＤＰコントローラ７１は、リストバッファＴＧ＃１に記載されている画像コマンドリストＬＴに基づいて、デコード及び描画の処理を実行し、JUMP_CFIFOの実行後、コマンドバッファ７１に格納されている制御コマンドリストＬＴｃのWAIT_BANKFLIP を実行して、バンクフリップを待つことになる（図１８（ｆ）参照）。
【０２８２】
次に、ホストＣＰＵ５０は、Ｎサイクル後に実効化されるべき画像コマンドリストＬＴを作成する（ＳＴ６５）。なお、この画像コマンドリストＬＴの最後は、常に、コマンドバッファ７１の制御コマンドリストＬＴｃのWAIT_BANKFLIP 命令への復帰を意味するＪＵＭＰ命令（JUMP CFIFO）が記載されている。
【０２８３】
次に、画像コマンドリストＬＴの発行先を更新し（ＳＴ６５）、そのリストバッファＴＧ（例えばＴＧ＃０）に、ステップＳＴ６４の処理で作成した画像コマンドリストＬＴを発行する（ＳＴ６６）。図７に関して説明した通り、ステップＳＴ６６の処理で、例えばリストバッファＴＧ＃０に発行された画像コマンドリストＬＴは、バンクフリップ後の次サイクルの処理で解釈され、デコードコマンドＤＣｐが検出された場合には、必要なＣＧデータを内蔵ＤＲＡＭ５７に確保されたプリロードバッファにプリロードする。そして、プリロードされたＣＧデータは、更にその次サイクルの処理で、ＣＧデータデコーダ６２によってデコードされ、レンダリングエンジン６１による描画動作に活用される。
【０２８４】
ホストＣＰＵ５０は、ステップＳＴ６６の処理に続いて、次回サイクルの表示画面を特定する画像コマンドリストＬＴを作成し、ステップＳＴ６６の処理で選択した発行先に発行する（ＳＴ６７）。なお、図７で説明した通り、この画像コマンドリストＬＴの最後には、JUMP_CFIFO命令が記載されている。したがって、JUMP_CFIFO命令の実行の後は、画像コマンドバッファ７１の先頭アドレスに記載されているWAIT_BANKFLIP 命令が実行されバンクフリップを待つことになる。以上の通り、この実施例では、プリロード処理を有効活用することで、表示装置の大型化や高画質化に効果的に対応することができる。
【０２８５】
続いて、図１９に基づいて、サウンドエンジン５２を簡易制御モード（第２動作モード）で機能させる場合について説明する。先に説明した通り、簡易制御モードでは、ＶＤＰコントローラ７１が音声コマンドリストＳＬＴに基づいて、サウンドエンジン５２のコマンドレジスタＲＧｉに対する設定動作を実行する。
【０２８６】
先ず、初期設定動作として、ＶＤＰコントローラ７１の該当レジスタに、サウンドエンジン５２を簡易制御モード（第２動作モード）で機能させることを設定した上で（ＳＴ１０）、ステップＳＴ１１〜ＳＴ２０の定常処理が繰り返される。
【０２８７】
図示の通り、定常処理では、ホストＣＰＵ５０は、適宜な画像コマンドリストを作成し、適宜な発行先に発行した後（ＳＴ１１）、音声演出の更新タイミングか否かを判定する（ＳＴ１２）。そして、サウンドエンジン５２のコマンドレジスタＲＧｉへの設定動作を実行すべきタイミングであれば、設定動作を特定する音声コマンドリストＳＬＴを作成する。
【０２８８】
図８の右上部に示す通り音声コマンドリストＳＬＴは、一連の音声コマンドを列記したものであり、各音声コマンドは、１バイト長のレジスタ番号と、１バイト長の設定値とで構成されている。そして、音声コマンドリストＳＬＴの先頭には、それ以降に列記される音声コマンドのコマンド数が記載されている。
【０２８９】
このような構成の音声コマンドリストＳＬＴを完成させた後、ホストＣＰＵ５０は、この音声コマンドリストＳＬＴを、ＶＤＰコントローラ７１の音声コマンドリストレジスタＣＲＧＷＳＬに発行する（ＳＴ７１）。すると、図８に関して先に説明した通り、ＶＤＰコントローラ７１は、音声コマンドリストＳＬＴに基づいて、所定の音声レジスタに所定の設定値を設定することになる。
【０２９０】
また、ＳＡＣコード番号やＳＥＱコード番号が認められる場合には、シンプルアクセスコントローラＳＡＣやシーケンサＳＥＱに代わって、ＤＤＲメモリ４１をアクセスして、中継レジスタ８２を経由して、一連の設定動作を実行する。したがって、やや迅速性に欠けるものの、ホストＣＰＵ５０は、音声演出を簡易に制御できることになる。
【０２９１】
ところで、本実施のレンダリングエンジン６１は、グラフィックパイプライン処理（３Ｄモデルの陰影処理）が実行可能に構成されている。すなわち、実施例のレンダリングエンジン６１には、プログラム可能な頂点シェーダＶＳ（Vertex Shader ）やピクセルシェーダＰＳ（Pixel Shader）が、テッセレーション処理を実現するハルシェーダＨＳ（Hull Shader ）、テッセレータＴＥＳＳ（Tessellator ）、及びドメインシェーダＤＳ（Domain Shader ）と共に内蔵されている。
【０２９２】
そこで、以下に説明する画像演出では、頂点シェーダＶＳやピクセルシェーダＰＳを有効活用して、影付きサイコロ立方体（３Ｄオブジェクト）を３Ｄ描写し、遊技者の操作に応答して適宜に回転させて大当り状態の予告演出を実現している。
【０２９３】
図２０に基づいて、まず、サイコロ予告演出の演出内容を説明すると、サイコロ予告演出抽選に当選した場合には、例えば、図２０（ａ）のような、適宜なサイコロ目を３Ｄ描写した状態で、「９０度回転を２回実行して、光の当っている正面に、サイコロ目「５」を出せ！」というサイコロMission が遊技者に対して与えられる。
【０２９４】
なお、回転軸は、図２２（ｂ）に示すローカル座標のＸ軸、Ｙ軸、Ｚ軸の何れかであり、第１次ボタン操作で、何れかの回転軸が任意に特定され、続く第２次ボタン操作によって、時計方向か反時計方向かの回転方向が特定されるようになっている。
【０２９５】
図２０（ａ）の状態で、第１回目の９０度回転として、Ｚ軸中心の反時計回転を選択した場合には、サイコロがゆっくり回転して、図２０（ｃ）〜図２０（ｅ）の何れかの状態で停止する。なお、数字「５」が見えるまでは、往復運動なども含め、不規則にゆっくり回転するが、「５」が見え始めると、その後は素早く回転して停止する。その他、遊技操作とは無関係な不規則な高速回転を付加することで、数字「５」が見え始めるまでの時間を確保しても良い。後述するように、高速回転は、動画によって実現するのが好適である。
【０２９６】
図２０（ｃ）〜図２０（ｅ）の回転終了時を評価すると、図２０（ｃ）では、光の当っている正面にサイコロ目「５」が出てしまったので、「２回実行して正面にサイコロ目「５」を出せ！」とのサイコロMission に失敗したことになる。
【０２９７】
なお、図２０（ｃ）〜図２０（ｅ）の何れの状態で停止されるかは、サイコロMission に先行して実行されるMission 成否抽選によって予め決定されており、その成否結果は、大当り抽選結果を踏まえて抽選決定されるようになっている。
【０２９８】
次に、図２０（ｄ）や図２０（ｅ）では、光の当っている正面に傾斜状態のサイコロ目「５」が出たので、第２回目の９０度回転によって、Ｘ軸中心の反時計回転又は時計回転を選択すれば、サイコロMission に成功することになる。
【０２９９】
同様に、図２０（ａ）の状態で、第１回目の９０度回転として、Ｘ軸中心の時計回転を選択した場合には、Mission 成否抽選の抽選結果に基づいて、例えば、図２０（ｆ）〜図２０（ｈ）の何れかの状態で停止し、Ｙ軸中心の時計回転を選択した場合には、例えば、図２０（ｉ）の状態で停止する。
【０３００】
そして、図２０（ｆ）や図２０（ｉ）の停止状態では、第２回目の９０度回転によって、サイコロMission に成功する可能性があるが、図２０（ｇ）や図２０（ｈ）の停止状態では、サイコロMission に失敗したことになる。
【０３０１】
このようなMission は、その後も、３Ｄオブジェクトを、サイコロ立方体から別の形状に変更し、且つ、敗者復活ステージなどを経て、適当回数繰り返される。そして、最終Mission に成功した場合には、大当り状態が最終報知されることになる。
【０３０２】
上記の動作を実現するため、本実施例では、サイコロMission 提示時の表示状態に応じて相違する複数の表示管理テーブルＴＢＬが設けられており、例えば、サイコロ目「３」「２」「１」のサイコロMission では、第１回目の９０度回転を特定するため、図２０（ｊ）の管理テーブルＴＢＬが選択される。
【０３０３】
なお、以下の説明では、便宜上、サイコロ上面を第１面（フェイス番号１）とし、サイコロ前面を第２面（フェイス番号２）、サイコロ正面を第３面（フェイス番号３）とする。また、第１面の背面を第６面（フェイス番号６）、第２第面の背面を第５面（フェイス番号５）、第３面の背面を第４面（フェイス番号４）とする（図２０（ｋ）参照）。
【０３０４】
図２０（ｊ）に示す表示管理テーブルＴＢＬは、第１回目の９０度回転を実現するサイコロ立方体を描画するための頂点配列ＶＴ（ｎ，ｍ）を特定しており、ＨｉｔＸＹやＭｉｓＸＹは、外付けＲＯＭ４２（ＣＧメモリ）に記憶されている頂点配列ＶＴ（ｎ，ｍ）の先頭アドレスを特定している。
【０３０５】
なお、ＨｉｔＸＹは、Mission 成否抽選に当選した場合に選択され、ＭｉｓＸＹは、Mission 成否抽選のハズレ時に選択される頂点配列ＶＴ（ｎ，ｍ）を特定している。また、添字Ｘについて、Ｘ＝０は、Ｚ軸中心の回転に対応し、Ｘ＝１は、Ｘ軸中心の回転に対応し、Ｘ＝３は、Ｙ軸中心の回転に対応し、何れも遊技者の指示に起因して特定される。
【０３０６】
外付けＲＯＭ４２に記憶されている頂点配列ＶＴ（ｎ，ｍ）は、頂点シェーダＶＳによって座標変換されるデータ列を配列要素とする配列である。後述するように、本実施例では、３Ｄオブジェクト（サイコロ立方体）を三角形ポリゴンに分解して、頂点合計がｎ個となるが、このｎ個の頂点毎に、各々、ｍ個の配列要素を記憶して構成されている。
【０３０７】
そして、ｍ個の配列要素には、ローカル座標上のポリゴン頂点のＸＹＺ座標値と、ポリゴン頂点における法線ベクトル情報と、ポリゴン頂点におけるテクスチャ座標値とが含まれている。
【０３０８】
何ら限定されないが、実施例のテクスチャは、サイコロ六面に貼り付けられる画像であって、図２１（ｅ）に示す通り、「１」〜「６」の文字画像が、４方向に９０度ずつ傾斜して合計２４区画に区分されている。そして、各区画は、４点のテクスチャ座標値を持っている。
【０３０９】
そして、どの区画の文字画像を、サイコロ六面のどの面に配置するかが、頂点配列ＶＴ（ｎ，ｍ）のテクスチャ座標値として特定されている。なお、図２０や図２１（ｅ）では、便宜上、文字画像を平面的に描いているが、実際には、凹凸模様も含んだ装飾性の高い立体文字画像となっている。
【０３１０】
このように、本実施例では、サイコロ六面の全体にテクスチャを貼り付け、サイコロ六面がテクスチャで隠れるので、頂点配列ＶＴ（ｎ，ｍ）の配列要素には、色情報を含んでいない。但し、サイコロ六面を特定色に着色し、これに重ねて、模様を含まない立体文字を、ブレンディング処理を経て描く場合には、頂点配列ＶＴ（ｎ，ｍ）の配列要素に色情報を含めても良い。
【０３１１】
この点はさて措き、次に、第１回目の９０度回転操作に対応して、例えば、先頭アドレスＨｉｔ０１の頂点配列ＶＴ（ｎ，ｍ）が選択された場合について説明する。図２０（ｌ）は、Ｈｉｔ０１で特定される頂点配列ＶＴ（ｎ，ｍ）について、テクスチャ貼り付け動作を概念的に説明する図面であり、座標位置３ａ，２ａ，１ａ，６ａ，５ｂ，４ａのテクスチャ区画を、各々、サイコロ１面〜サイコロ６面に貼り付けることが特定されている。
【０３１２】
このテクスチャ区画の特定は、実質的には、Mission 提示時のサイコロ画像における第５面のテクスチャの変更／決定に他ならず、他の第１面〜第４面、及び第６面のテクスチャは、Ｈｉｔ０＊，Ｍｉｓ０＊，Ｈｉｔ１＊，Ｍｉｓ１＊，Ｈｉｔ２＊，Ｍｉｓ２＊の何れが選択された場合も、Mission 提示時のテクスチャと同じである。
【０３１３】
したがって、本実施例では、Mission 対象のサイコロ面（図２０では第５面）のテクスチャ座標値以外は共通する複数の頂点配列ＶＴ（ｎ，ｍ）・・・・ＶＴ（ｎ，ｍ）が存在することになる（図２１（ｌ）（ｍ）参照）。そのため、サイコロMission の実行時のための頂点配列ＶＴ（ｎ，ｍ）・・・・ＶＴ（ｎ，ｍ）を、予め、外付けＲＯＭ４２に記憶しておく必要は、特になく、頂点配列ＶＴ（ｎ，ｍ）の雛形に基づいて、ホストＣＰＵ５０が、頂点配列ＶＴ（ｎ，ｍ）をリアルタイムに作成しても良い（図２３（ｂ）参照）。
【０３１４】
図２１は、頂点配列ＶＴ（ｎ，ｍ）と、頂点インデックス配列ＶＴＩ（ｋ）と、テクスチャと、を説明する図面である。図２１（ａ）に示す通り、サイコロ予告を実現する３Ｄオブジェクトは立方体であり、本実施例では、これを三角形ポリゴンで分解するので、立方体の６頂点（Ａ〜Ｈ）に対応して、ポリゴン１２個の頂点総数は３６＝６×６個となる。なお、頂点１〜頂点３６は、レンダリングエンジン６１の描画順を示しており、描画対象となるか否かを仕分けするカリング処理の逆順となっている。
【０３１５】
ここで、この３６個の頂点に関する頂点配列ＶＴ（３６，ｍ）に、各ｍ個の配列要素を記憶させても良いが、それでは、記憶データが重複する。そこで、本実施例では、同一面における重複点を除いた頂点配列ＶＴ（２４，ｍ）としている（図２１（ｃ）参照）。
【０３１６】
例えば、図２１（ｂ）では、第１面（上面）について、頂点１＝頂点４、及び、頂点２＝頂点６の重複関係があり、第２面（前面）でも頂点７＝頂点１０、及び、頂点８＝頂点１２の重複関係がある。そこで、本実施例では、これらの重複関係を考慮して、重複する１２頂点を削除して、合計２４頂点の頂点配列ＶＴ（２４，ｍ）としている。
【０３１７】
そして、本実施例では、削除した頂点を補完しつつ描画手順を特定するべく頂点インデックス配列ＶＴＩ（３６）を設けている。先に説明した通り、描画順は、カリング処理の逆順にするのが好適であるので、頂点配列ＶＴ（２４，ｍ）に対応して頂点インデックス配列ＶＴＩ（３６）を設けることで、Ｘ軸中心の回転、Ｙ軸中心の回転、Ｚ軸中心の回転の何れが選択された場合でも、最適な描画順序で、サイコロ立方体を描画することができる。
【０３１８】
頂点配列ＶＴ（ｎ，ｍ）や頂点インデックス配列ＶＴＩ（ｋ）が外付けＲＯＭ４２に格納されている場合について、サイコロ予告動作時における描画動作を、最初に概略説明すると以下の通りである。
【０３１９】
先ず、バンクフリップ毎に、頂点配列ＶＴ（ｎ，ｍ）と頂点インデックス配列ＶＴＩ（ｋ）のアドレス情報が、テクスチャ画像のアドレス情報などと共に、画像コマンドリストＬＴに記載されて、ホストＣＰＵ５０からＶＤＰコントローラ６０に通知される（コマンドリストの発行）。なお、発行される画像コマンドリストＬＴには、サイコロの回転角度や配置位置が特定されている。
【０３２０】
次に、ＶＤＰコントローラ６０を経由して、画像コマンドリストＬＴを受けたレンダリングエンジン６１は、ＣＧデータデコーダ６２がデコードしたテクスチャ画像を使用しつつ、一連のパイプライン処理（図２２）を実行することになる。
【０３２１】
具体的には、頂点配列ＶＴ（ｎ，ｍ）と、頂点インデックス配列ＶＴＩ（ｋ）に基づいて構築されたサイコロ立方体を適宜に回転させ、回転により変形した六面に、テクスチャ座標に基づいてテクスチャ画像を貼り付け、カメラパラメータや光源位置などに基づいた適宜なシェーディング処理が実行される。
【０３２２】
頂点配列ＶＴ（ｎ，ｍ）に含まれる「ローカル座標系」のサイコロ立方体の座標要素は、先ず、ワールド変換行列に基づき、「ワールド座標系」に変換され、次に、ビュー変換行例に基づき「ビュー座標系」に変換され、最後に、プロジェクション変換行列（射影変換行列）に基づき、「プロジェクション座標（射影座標）系」に変換されて、３次元の変換行列処理を終える。
【０３２３】
これらの変換行列処理には、カメラパラメータ（位置、向き、注視点）や視野角などのパラメータが必要となるが、これらは、電源投入時の初期設定処理で設定されることで、ビュー変換行例と、プロジェクション変換行列は、予め特定されている。したがって、バンクフリップ毎に発行される画像コマンドリストでは、３次元の変換行列に関し、サイコロ立方体の回転角度と、配置位置だけが指示される。
【０３２４】
また、本実施例では、外付けＲＯＭ４２に格納されている頂点配列ＶＴ（ｎ，ｍ）と、頂点インデックス配列ＶＴＩ（ｋ）は、３Ｄ描画の実際の描画タイミングに先行して、プリロード処理によって、予め、内蔵ＤＲＡＭ５７に取得されるよう構成されている。
【０３２５】
以上の概略説明を踏まえて、レンダリングエンジン６１のサイコロ予告演出時の動作について説明する。図２２に示す通り、本実施例では、電源投入時の初期処理において、シェーダ（頂点シェーダＶＳ、ピクセルシェーダＰＳ、ハルシェーダＨＳ、ドメインシェーダＤＳ）の構成や、シェーダ動作に関する設定動作が実行されている（ＳＳ１０）。
【０３２６】
また、画像プロセッサ５１が先読み動作モードで機能して、図７に説明したプリロード動作を実行するよう構成され（ＳＳ１０）、内蔵ホストＣＰＵ５０は、バンクフリップ周期（１／３０秒）毎に、画像コマンドリストＬＴを画像プロセッサ５１に発行し、これに対応して、画像プロセッサ５１は、このバンクフリップ周期に同期してステップＳＳ１２〜ＳＳ２２の一連の動作を実行するよう構成されている。
【０３２７】
以下、一連の動作を説明すると、バンクフリップ後、画像プロセッサ５１は、取得した画像コマンドリストＬＴに基づいて、最初に、静止画や、一連の動画の一フレームを、フレームバッファＦＢに生成する（ＳＳ１２）。
【０３２８】
ここで、静止画は、背景画像など、サイコロ立方体の背景などを構成する画像であり、必要に応じて、キャラクタ画像や変動図柄なども追加的にスプライト描画される。また、必要に応じて動画も描画され、例えば、サイコロ立方体の回転開始に先行して、サイコロ立方体を遊技者が選択したＸ軸、Ｙ軸、又はＺ軸を中心に、サイコロ文字が読めない程度の高速で回転させるような場合に活用される。
【０３２９】
これは、グラフィックパイプライン処理は、ＧＰＵたる画像プロセッサ５１の処理負担が非常に大きく、円滑な高速移動ができないので、サイコロ立方体を高速回転させる動画を活用するのである。したがって、サイコロ立方体の動画が再生されているタイミングでは、以下のパイプライン処理が実行されることはない。
【０３３０】
一方、サイコロ予告演出時であって、動画が再生されないか、又は、サイコロ立方体以外の動画が再生されているタイミングでは、画像コマンドリストＬＴに記載されているデコードコマンドに基づいて、テクスチャが外付けＲＯＭから読み出され、デコードされて内蔵ＤＲＡＭ５７に配置される（ＳＳ１３）。なお、この実施例では、サイコロ予告演出時に使用されるテクスチャは常に同一であるので、最初に内蔵ＤＲＡＭ５７にデコードされたテクスチャ画像が繰り返し使用される。
【０３３１】
続いて、各種のシェーダが機能するグラフィックパイプライン処理（ＳＳ１４〜ＳＳ２２）が開始されるが、画像コマンドリストＬＴには、頂点配列ＶＴ（ｎ，ｍ）や頂点インデックス配列ＶＴＩ（ｋ）によって特定される３Ｄオブジェクト（サイコロ立方体）を、フレームバッファとは別のオフスクリーンバッファ（一時バッファ）に生成するよう指示されている。
【０３３２】
グラフィックパイプライン処理では、最初に、３Ｄオブジェクト（サイコロ立方体）を特定する頂点配列ＶＴ（ｎ，ｍ）を取得し、配列要素たる座標データを、内部処理用に適宜なデータ形式にデータ変換（assemble）する（ＳＳ１４）。また、このインプットアセンブラ処理において、頂点インデックス配列ＶＴＩ（ｋ）の使用が内部的に設定される。
【０３３３】
次に、画像コマンドリストＬＴに記載されている描画コマンドに基づいて頂点シェーダ処理が実行される（ＳＳ１５）。具体的には、先ず、ローカル座標上のポリゴン頂点を、指定された回転角だけ回転させ、ワールド座標の指定された位置に移動させるワールド変換行列の行列演算を実行する。
【０３３４】
次に、カメラ位置、カメラ上向き情報、カメラ注視点などのカメラ情報に基づいたビュー変換行列の行列演算を実行して、ワールド座標の３Ｄオブジェクトの座標値をビュー座標に変換する。
【０３３５】
そして、最後に、視野角に基づいた射影変換行列（プロジェクション変換行列）の行列演算を実行して、射影座標（プロジェクション座標）に変換する。なお、これらの３次元の変換行列の行列演算に対応して、テクスチャ座標も適宜に変換される。
【０３３６】
次に、テッセレータ処理が実行される（ＳＳ１６）。テッセレータ処理とは、頂点配列ＶＴ（ｎ，ｍ）で特定されるポリゴンを更に細分化して、３Ｄオブジェクトの凹凸形状のリアリティを高めるものであり、ハルシェーダＨＳとテッセレータＴＥＳＳとドメインシェーダＤＳとが機能する。
【０３３７】
ハルシェーダＨＳは、再分割のための最適な制御点を算出し、テッセレータＴＥＳＳは、算出された制御点に基づいてポリゴンを分割し、ドメインシェーダＤＳは、制御点に沿って頂点座標を算出する（図２１（ｆ）参照）。
【０３３８】
なお、テッセレータ処理は、複雑な凹凸曲面が存在する３Ｄオブジェクトに対して特に有効である一方、本実施例の３Ｄオブジェクトは、単純な立方体であるので、本実施例では、テッセレータ処理（ＳＳ１６）を実行しないのも好適である（破線参照）。
【０３３９】
続くスクリーンマッピング処理では、必要に応じて、視錐台カリング及び／又はクリッピング処理を実行した後の３Ｄオブジェクトを、三次元の射影座標から二次元のスクリーン座標に二次元写像する（ＳＳ１７）。
【０３４０】
ここで、視錐台カリングとは、３Ｄオブジェクトが、カメラの視錐台の中にあるか否かを判定して、不要部分を排除する処理であるが、本実施例では特に必要とされない。また、クリッピング処理とは、描画を行う際に、特定の範囲からはみだした部分を表示しないようにする処理を意味し、例えば、３Ｄオブジェクの一部のみをズームアップ描画するような場合に使用される。
【０３４１】
次に、スクリーン座標に写像された３Ｄオブジェクトを表示画面のピクセルに対応させるラスタライザ処理を実行する（ＳＳ１８）。具体的には、３Ｄオブジェクトを構成する各ポリゴンが、ピクセルの集合に割り当てられ、例えば、三角ポリゴンの場合、「三角形の形状」を実現する「ピクセルの並び」が特定される。なお、内外判定がされ、サイコロ裏面のように、見えない部分はクリッピングされる。
【０３４２】
次に、必要に応じて、早期Ｚカリング処理が実行される（ＳＳ１９）。これはＺバッファを設ける場合に、ＺバッファのＺ値（深度値）に基づいて、明らかに描く必要のないピクセルを早期に排除する処理である。
【０３４３】
次に、各ピクセル位置について色情報を特定するピクセルシェーダ処理が実行される（ＳＳ２０）。この処理では、光源と各頂点との位置関係や、各頂点の法線情報に基づいて、明るさや陰影がピクセル位置毎に決定され、対応する色情報が特定される。なお、頂点と頂点の間の情報は、適宜な補間処理に基づいて特定される。
【０３４４】
ところで、本実施例では、３Ｄオブジェクトを二次元平面（スクリーン座標）に写像している関係から、上記のピクセルシェーダ処理では、同一ピクセル位置に、複数の色情報が特定される場合がある。そこで、ピクセルシェーダが特定した各ピクセル位置の色情報について、実際に描画する色情報を決定する（ＳＳ２１）。
【０３４５】
具体的には、ＺバッファのＺ値に基づいたＺテスト（深度テスト）が実行され、各ピクセルに描画すべき色情報が最終的に決定される。なお、３Ｄオブジェクトの全部ではなく、その一部だけを描画するような場合には、描画要否を特定するステンシル値に基づいたステンシルテストが、Ｚテストに先行して実行される。
【０３４６】
そして、このようにしてオフスクリーンバッファに構築した３Ｄオブジェクトの画像データ（ピクセル毎の色情報）が、適宜なブレンディング処理を経て、静止画や、動画一フレームが配置されているフレームバッファに上書きされる。
【０３４７】
特に限定されないが、フレームバッファには、３Ｄオブジェクトが優先的に描画され、３Ｄオブジェクトが重なる静止画は、事実上消去され、表示されない。指摘するまでもないが、静止画に重ねて描画されるサイコロ立方体は、陰影を伴う３Ｄオブジェクトであり、光の強く当るサイコロ正面と、光が余り当らないサイコロ上面と、光が殆ど当らないサイコロ前面と、が明度を区別して表現され、また、図２０では表示を省略している立方体の陰影もはっきり表示されている。
【０３４８】
続いて、以上の画像プロセッサ５１の動作を実現する画像コマンドリストＬＴを生成する内蔵ホストＣＰＵ５０のサイコロ予告演出時の動作を図２３に基づいて説明する。なお、図２３の処理に先行して、サイコロ予告演出抽選が実行されており、サイコロMission に対する遊技者の成否結果は、予め決定されている。
【０３４９】
先に説明した通り、サイコロ予告演出は、サイコロ立方体を９０度ずつ回転させるため、合計２回のボタン操作を必要としており、各回のボタン操作は、回転軸を決定する第１次操作と、回転方向を決定する第２次操作に区分されている。
【０３５０】
以下、図２３について説明すると、内蔵ホストＣＰＵ５０はバンクフリップ毎に間欠的に動作するが、先ず、サイコロ予告演出の実行中か否かが判定され（ＳＴ７０）、サイコロ予告演出中でない場合には、ステップＳＴ７１〜ＳＴ７７の処理をスキップする。
【０３５１】
一方、サイコロ予告演出中であれば、そのタイミングがサイコロ回転中か否かが判定される（ＳＴ７１）。これは、Mission 提示タイミング又は第１回目又は第２回目のボタン操作の受け付けタイミングか、それとも、ボタン操作を受け付けた後の回転中かを判定するためである。
【０３５２】
そして、このタイミングがボタン操作を受け付けた後（サイコロ回転中）であれば、ステップＳＴ７２〜ＳＴ７５）の処理がスキップされる。
【０３５３】
一方、サイコロが静止状態であれば、１回目又は２回目の回転動作が完了した静止状態か、又はMission 未提示状態かが判定される（ＳＴ７２）。そして、Mission 未提示状態であれば（ＳＴ７８：Ｙｅｓ）、遊技者へのMission を抽選決定し、抽選決定されたサイコロ目の表示状態に対応する表示管理テーブルＴＢＬを特定し（ＳＴ８０）、Mission 提示用のコマンドリストを生成する（ＳＴ８１）。
【０３５４】
一方、Mission 提示後であって回転動作が完了している場合には、１回目の回転動作を完了したか、２回目の回転動作を完了したかに応じて、その後の報知動作を決定し（ＳＴ７９）、報知動作を特定するコマンドリストを生成する（ＳＴ８１）。なお、回転終了時の表示態様は、予め決定されているので（ＳＴ７４）、予め特定されている表示態様に対応した報知動作となる。
【０３５５】
また、１回目の回転動作を完了している場合には、停止状態のサイコロ六面の表示文字態様に基づいて、新規の表示管理テーブルＴＢＬを特定する（ＳＴ７９）。そして、この表示管理テーブルＴＢＬは、その後のステップＳＴ７４の処理で使用される。
【０３５６】
一方、ステップＳＴ７２の判定で、Mission 提示後であって、サイコロ立方体が静止状態であると判定されると、回転中心軸（Ｘ軸／Ｙ軸／Ｚ軸）と、回転方向について遊技者の操作を特定する（ＳＴ７３）。なお、遊技者のボタン操作は、１ｍＳ毎のタイマ割込み処理（図１６には不図示）で取得され、適宜なワーク領域に記憶されている。
【０３５７】
次に、遊技者の操作とサイコロMission に対する遊技者の成否結果に応じて、サイコロ回転演出を特定する（ＳＴ７４）。ここで、サイコロ回転演出の特定とは、表示管理テーブルＴＢＬに基づいて、サイコロ六面の表示文字態様を決定することを意味する。
【０３５８】
ところで、図２０では、遊技者がMission 成功の可能性のある回転軸と回転方向を選択するとして説明したが、遊技者が、不合理な回転動作を選択した場合には、表示管理テーブルＴＢＬの何れかをランダムに選択する。その結果、表示管理テーブルＴＢＬからＨｉｔＸＹが選択される場合があるが、回転軸や回転方向を間違えている以上、ＨｉｔＸＹによるサイコロ立方体を回転させてもMission 成功のおそれはない。
【０３５９】
また、遊技者が所定時間経由してもボタン操作をしない場合もあるが、その場合には、予め決定されているサイコロMission の成否結果に応じたサイコロ回転演出を選択する（ＳＴ７５）。
【０３６０】
そして、何れの場合も、特定されたサイコロ六面の表示文字態様を実現する頂点配列ＶＴ（ｎ，ｍ）と、頂点インデックス配列ＶＴＩ（ｋ）について、外付けＲＯＭのアドレスを特定し、サイコロ回転中フラグＦＬＧを１にセットする（ＳＴ７５）。なお、サイコロ回転中フラグＦＬＧは、ステップＳＴ７１の処理で判定されるフラグである。
【０３６１】
次に、サイコロを移動させるに相応しい時間間隔（例えば０．５秒）毎にサイコロの回転角を０〜９０度の範囲で更新する（ＳＴ７６）。ここで、回転角の更新は、最初はサイコロがゆっくり不規則に回転させ、その後、隠れていたサイコロ目の文字が出現した後は、素早く回転するよう回転角が不規則に更新される。そして、回転角が９０度に達すると、サイコロ回転中フラグＦＬＧを０にクリアすることで、その後、ＳＴ７８の処理が実行できるようにする。
【０３６２】
次に、ステップＳＴ７６の処理で更新した回転角に対応した画像コマンドリストＬＴを生成する（ＳＴ７７）。このコマンドリストＬＴでは、３Ｄオブジェクトの回転角や配置位置を特定する描画コマンドと、頂点インデックス配列ＶＴＩ（ｋ）に基づいた描画を指示する描画コマンドと、テクスチャを読み出してデコードすることを指示するデコードコマンドと、が含まれている。
【０３６３】
また、第１回目又は第２回目のサイコロ回転の回転開始時の画像コマンドリストＬＴには、頂点配列ＶＴ（ｎ，ｍ）と頂点インデックス配列ＶＴＩ（ｋ）とをプリロードさせる制御コマンドが含まれている。そして、内蔵ＤＲＡＭ５７にプリロードされた頂点配列ＶＴ（ｎ，ｍ）と頂点インデックス配列ＶＴＩ（ｋ）は、レンダリングエンジン６１によるパイプライン処理において、第１回目又は第２回目のサイコロ回転が終わるまで、繰り返し内蔵ＤＲＡＭ５７から読み出され使用される。
【０３６４】
以上のようにして、制御コマンドと、デコードコマンドと、描画コマンドと、を組み合わせたサイコロ予告演出用の画像コマンドリストを生成した後、その画像コマンドリストの先頭位置に、静止画や動画についてのコマンド列を追記することで画像コマンドリストＬＴを完成させる（ＳＴ８２）。
【０３６５】
次に、内蔵ホストＣＰＵ５０は、完成した画像コマンドリストＬＴを画像プロセッサ５１に発行することで、今回のバンクフリップ後の処理を終える（ＳＴ８３）。
【０３６６】
以上、頂点配列ＶＴ（ｎ，ｍ）と頂点インデックス配列ＶＴＩ（ｋ）を、外付けＲＯＭに予め記憶させておく構成について説明したが、特に限定されない。例えば、頂点配列ＶＴ（ｎ，ｍ）だけ、又は、頂点配列ＶＴ（ｎ，ｍ）と頂点インデックス配列ＶＴＩ（ｋ）をリアルタイムに生成しても良い。
【０３６７】
例えば、頂点配列ＶＴ（ｎ，ｍ）だけリアルタイム生成する場合の動作は、図２３（ｂ）に示す通りであり、ステップＳＴ７４の処理で、サイコロ六面の表示文字態様が決まれば、頂点配列ＶＴ（ｎ，ｍ）の雛形に、配列要素として、テクスチャ座標を記憶させることで頂点配列ＶＴ（ｎ，ｍ）を完成させる（ＳＴ７５’）。
【０３６８】
そして、ステップＳＴ７６の処理を経た後、リアルタイムに完成させた頂点配列ＶＴ（ｎ，ｍ）を含んだ描画コマンドを、画像コマンドリストＬＴに記載する（ＳＴ７７’）。この場合、頂点インデックス配列ＶＴＩ（ｋ）に基づいた描画を指示する描画コマンドを使用しても良いが、頂点配列ＶＴ（ｎ，ｍ）だけに基づいた描画を指示する描画コマンドを使用しても良い。
【０３６９】
後者の場合には、頂点インデックス配列ＶＴＩ（ｋ）が不要となるが、重複頂点を排除できないので、頂点配列ＶＴ（２４，ｍ）ではなく、要素数の多い頂点配列ＶＴ（３６，ｍ）である必要がある（ＳＴ７７’）。
【０３７０】
以上、サイコロ予告演出について詳細に説明したが、グラフィックパイプライン処理を使用する演出動作は、適宜に変更可能である。
【０３７１】
例えば、３Ｄオブジェクトと、立体的な静止画と、を重ねて一体的に立体画像を構築し、３Ｄオブジェクトだけを影付きで変形させるのも好適である。
【０３７２】
図２４は、このような構成を採るカレンダ予告演出を説明する図面である。このカレンダ予告演出は、日めくりカレンダの基端部を構成する静止画１と、カレンダ紙面の固定部分を構成する静止画２と、背景を構成する静止画３と、風になびくカレンダ紙面を構成する３Ｄオブジェクトと、で構成されている（図２４（ａ）参照）。
【０３７３】
そして、カレンダ予告演出が開始されると、一枚目のカレンダ紙面（３Ｄオブジェクト）が、繰り返し、繰り返し、不規則に風になびいた後、破れて風に吹き飛ばされる演出が、グラフィックパイプライン処理によって実行される（図２４（ｂ）〜（ｆ）参照）。
【０３７４】
そして、一枚目のカレンダ紙面が吹き飛ばされた後、大当り抽選の当選状態を、所定の信頼度で予告する紙面（静止画）が、新たに出現するようになっている（図２４（ｇ）参照）。
【０３７５】
このような予告演出するため、この実施例では、一枚目のカレンダ紙面の輪郭を特定する多数の頂点配列ＶＴ（ｎ，ｍ）と、描画順を特定する頂点インデックス配列ＶＴＩ（ｋ）と共に用意している。すなわち、１枚目のカレンダ紙面は、風に吹かれて各種の変形態様を採るが、各変形態様を特定する頂点配列ＶＴ（ｎ，ｍ）が用意されている。
【０３７６】
例えば、風になびく演出を５秒継続させる場合には、１／３０秒毎に変化する合計１５０個の頂点配列ＶＴ（ｎ，ｍ）が用意される。なお、一枚目のカレンダ紙面の裏面が現れるタイミングを設けないことで、頂点インデックス配列ＶＴＩ（ｋ）を単一に抑制することができる。
【０３７７】
また、一枚目のカレンダ紙面に貼り付けるべきテクスチャも単一であるが、頂点配列ＶＴ（ｎ，ｍ）の配列要素としてのテクスチャ座標は、風になびくカレンダ紙面の変形形状に対応して、頂点配列ＶＴ（ｎ，ｍ）毎に相違することになる。
【０３７８】
そして、内蔵ホストＣＰＵ５０が、バンクフリップ毎に、画像コマンドリストＬＴにおいて、別々の頂点配列ＶＴ（ｎ，ｍ）を特定することで、風に吹かれてスムーズになびくカレンダ紙面を表現することができる。すなわち、動画を用意することなく動画同等の動きを実現することができる。
【０３７９】
しかも、図示例では、「１２日」を表現するテクスチャを使用しているが、テクスチャを変更するだけで、自由に日付を変更することができ、更に、紙面にキャラクタを描くこともできる。これらと同等の動作を動画で実現するには、予告演出毎に動画データを用意する必要があり、グラフィックパイプライン処理を使用する本実施例では、テクスチャを用意するだけ良い。
【０３８０】
以上、グラフィックパイプライン処理を使用する２つの実施例を説明したが、記載内容は、何ら本発明を限定せず、各種の変更が可能である。例えば、一の画像コマンドリストＬＴで特定する３Ｄオブジェクトは、必ずしも単一個である必要はない。
【０３８１】
この点を図２４に関連して説明すれば、図２４（ａ）と同種の日めくりカレンダを左右に３個並べ、例えば、「７」「８」「７」の紙面を、いわゆるリーチ状態で並べた状態で、各紙面を風になびかせることもできる。
【０３８２】
この場合、各３Ｄオブジェクトの頂点配列ＶＴ（ｎ，ｍ）を適宜に設定することで、ごく自然な動作を実現することができる。すなわち、紙面が受ける光線に対応して３枚の紙面を自然に光らせ、且つ、風の受け方の違いに応じて３枚を自然になびかせることができる。
【０３８３】
以上、実施例について詳細に説明したが、具体的な記載内容は、特に本発明を限定するものではなく、適宜に修正変更される。また、上記した各実施例では、もっぱら弾球遊技機について説明したが、回胴遊技機など、画像演出を伴う他の遊技機においても好適に活用されることは勿論である。
【符号の説明】
【０３８４】
ＧＭ            遊技機
ＤＳ１、ＤＳ２  表示装置
５０            画像演出制御手段
４２            データ記憶手段
５１            画像生成手段
【図１】
2020022673.tif 000003
【図２】
2020022673.tif 000004
【図３】
2020022673.tif 000005
【図４】
2020022673.tif 000006
【図５】
2020022673.tif 000007
【図６】
2020022673.tif 000008
【図７】
2020022673.tif 000009
【図８】
2020022673.tif 000010
【図９】
2020022673.tif 000011
【図１０】
2020022673.tif 000012
【図１１】
2020022673.tif 000013
【図１２】
2020022673.tif 000014
【図１３】
2020022673.tif 000015
【図１４】
2020022673.tif 000016
【図１５】
2020022673.tif 000017
【図１６】
2020022673.tif 000018
【図１７】
2020022673.tif 000019
【図１８】
2020022673.tif 000020
【図１９】
2020022673.tif 000021
【図２０】
2020022673.tif 000022
【図２１】
2020022673.tif 000023
【図２２】
2020022673.tif 000024
【図２３】
2020022673.tif 000025
【図２４】
2020022673.tif 000026