(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114542
(43)【公開日】2024-08-23
(54)【発明の名称】遊技機
(51)【国際特許分類】
A63F 7/02 20060101AFI20240816BHJP
G06T 13/20 20110101ALI20240816BHJP
G06T 13/80 20110101ALI20240816BHJP
G06T 15/00 20110101ALI20240816BHJP
【FI】
A63F7/02 326Z
A63F7/02 320
G06T13/20
G06T13/80 A
G06T15/00
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023020381
(22)【出願日】2023-02-13
(71)【出願人】
【識別番号】391010943
【氏名又は名称】株式会社藤商事
(74)【代理人】
【識別番号】100100376
【弁理士】
【氏名又は名称】野中 誠一
(74)【代理人】
【識別番号】100142077
【弁理士】
【氏名又は名称】板谷 真之
(74)【代理人】
【識別番号】100143199
【弁理士】
【氏名又は名称】磯邉 毅
(72)【発明者】
【氏名】中村 一寛
【テーマコード(参考)】
2C088
2C333
5B050
5B080
【Fターム(参考)】
2C088DA23
2C088EA10
2C333AA11
2C333BA01
5B050AA10
5B050BA06
5B050BA07
5B050BA08
5B050BA09
5B050CA02
5B050CA03
5B050CA07
5B050EA10
5B050EA19
5B050EA24
5B050EA26
5B050FA02
5B050FA05
5B050FA10
5B080AA14
5B080AA15
5B080BA01
5B080BA03
5B080BA04
5B080BA05
5B080CA01
5B080CA03
5B080CA04
5B080FA01
5B080FA02
5B080FA03
5B080GA11
5B080GA22
5B080GA25
(57)【要約】
【課題】より改善された画像演出制御が可能な遊技機を提供する。
【解決手段】表示装置の表示内容を特定するディスプレイリストは、動画再生に関して、基礎データをデコードする所定のデコードコマンド(LOADTX)は、一のコマンドで第1と第2の基礎データを、当該コマンドの埋め込み情報として特定可能に構成されている。
【選択図】
図11
【特許請求の範囲】
【請求項1】
表示装置の画面に表示すべき表示内容を特定するディスプレイリストを発行する画像制御手段と、
前記ディスプレイリストと、適宜に圧縮記憶されている基礎データと、に基づいて、前記表示内容を実現する画像データを生成する画像生成手段と、を設けた遊技機であって、
前記ディスプレイリストは、動画再生に関して、前記基礎データをデコードすることを指示するデコードコマンドを含んで構成され、
所定のデコードコマンドは、一のコマンドで第1と第2の基礎データを特定可能に構成されていることを特徴とする遊技機。
【請求項2】
前記画像生成手段は、
前記ディスプレイリストに基づいて動作して、二次元又は三次元の静止画画像データ、及び/又は、動画画像データを、所定のフレームバッファに生成可能に構成されている請求項1に記載の遊技機。
【請求項3】
前記画像生成手段は、
画像輪郭に対応する頂点データを取得可能な取得工程と、頂点データに基づいて適宜なプリミティブを生成するプリミティブ工程と、必要な画像データを完成させる画像生成工程と、を含んだ複数工程の全部又は一部が、実行可能に構成されている請求項1に記載の遊技機。
【請求項4】
前記デコードコマンドを含んで、画像演出を特定する第1情報と、音声演出を特定する第2情報とを、前記画像制御手段から受けて、前記画像生成手段の第1回路と第2回路に転送する転送手段を設け、
第1情報及び/又は第2情報は、所定ビット位置以下がゼロとなる開始アドレスから始まる、前記画像制御手段の内蔵RAM又は外部RAMのアドレス領域に格納されている請求項1に記載の遊技機。
【請求項5】
前記デコードコマンドを含んで、画像演出を特定する第1情報と、音声演出を特定する第2情報とを、所定の転送サイズを一単位として、前記画像制御手段から受けて、前記画像生成手段の第1回路と第2回路に転送する転送手段を設け、
第1情報及び/又は第2情報は、基準サイズの整数N倍(N≧1)のコマンドを列記して構成され、前記転送サイズが、前記基準サイズの整数M倍(M≧1)とされることで、第1情報及び/又は第2情報を構成するコマンド数が、任意個数とされる請求項1に記載の遊技機。
【請求項6】
前記デコードコマンドを含んで、画像演出を特定する第1情報と、音声演出を特定する第2情報とを、前記画像制御手段から受けて、前記画像生成手段の第1回路と第2回路に転送する転送手段を設け、
前記画像制御手段は、第1情報と第2情報の構成データを、所定の書込みポートに、所定の書込みサイズ毎に書込むよう構成されている請求項1に記載の遊技機。
【請求項7】
前記デコードコマンドを含んで、画像演出を特定する第1情報と、音声演出を特定する第2情報とを、前記画像制御手段から受けて、所定の伝送経路を経由して、前記画像生成手段の第1回路と第2回路に転送する転送手段を設け、
第1情報用の伝送経路及び/又は第2情報用の伝送経路は、複数の選択肢の中から一の伝送回路が選択可能に構成されている請求項1に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遊技動作に起因する抽選処理を行い、その抽選結果に対応する画像演出を実行する遊技機に関し、特に、迫力ある画像演出を安定して実行できる遊技機に関する。
【背景技術】
【0002】
パチンコ機などの弾球遊技機は、遊技盤に設けた図柄始動口と、複数の表示図柄による一連の図柄変動態様を表示する図柄表示部と、開閉板が開閉される大入賞口などを備えて構成されている。そして、図柄始動口に設けられた検出スイッチが遊技球の通過を検出すると入賞状態となり、遊技球が賞球として払出された後、図柄表示部では表示図柄が所定時間変動される。その後、7・7・7などの所定の態様で図柄が停止すると大当り状態となり、大入賞口が繰返し開放されて、遊技者に有利な遊技状態を発生させている。
【0003】
このような遊技状態を発生させるか否かは、図柄始動口に遊技球が入賞したことを条件に実行される大当り抽選で決定されており、上記の図柄変動動作は、この抽選結果を踏まえたものとなっている。例えば、抽選結果が当選状態である場合には、リーチアクションなどと称される演出動作を20秒前後実行し、その後、特別図柄を整列させている。一方、ハズレ状態の場合にも、同様のリーチアクションが実行されることがあり、この場合には、遊技者は、大当り状態になることを強く念じつつ演出動作の推移を注視することになる。そして、図柄変動動作の終了時に、停止ラインに所定図柄が揃えば、大当り状態であることが遊技者に保証されたことになる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-040883号公報
【特許文献2】特開2020-065707号公報
【特許文献3】特開2020-022673号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
この種の遊技機では、各種の演出を複雑化かつ豊富化したいところ、特に、画像演出については、その要請が高い。そこで、出願人は、各種の提案をしているが(引用文献1~引用文献3)、画像演出の更なる高度化や、画像演出制御の改善が望まれるところである。
【0006】
本発明は、上記の課題に鑑みてなされたものであり、より改善された画像演出制御を実行可能な遊技機を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するため、本発明に係る遊技機は、表示装置の画面に表示すべき表示内容を特定するディスプレイリストを発行する画像制御手段と、前記ディスプレイリストと、適宜に圧縮記憶されている基礎データと、に基づいて、前記表示内容を実現する画像データを生成する画像生成手段と、を設けた遊技機であって、前記ディスプレイリストは、動画再生に関して、前記基礎データをデコードすることを指示する(一種類又は複数種類の)デコードコマンドを含んで構成され、所定のデコードコマンド(例えば、LOADTX)は、一のコマンドで、第1と第2の基礎データを特定可能に構成されている。好適には、第1と第2の基礎データは、当該デコードコマンドの埋め込み情報として記載されている。本発明によれば、例えば、動画デコードにおいて、逆方向予測や双方向予測の手法を採用することができる。
【発明の効果】
【0008】
上記した本発明によれば、複雑高度な画像演出においても、円滑適切な画像制御動作を実行することができる。
【図面の簡単な説明】
【0009】
【
図2】
図1の遊技機の遊技領域を示す正面図である。
【
図3】
図1の遊技機の全体回路構成を示すブロック図である。
【
図4】演出インタフェイス基板と、演出制御基板と、液晶インタフェイス基板の内部構成を図示したものである。
【
図5】複合チップについて、これに関連する回路素子も含めて図示した回路ブロック図である。
【
図6】インデックス空間と、仮想描画空間を説明する図面である。
【
図8】データ転送回路の内部構成を説明する図面である。
【
図9】ディスプレイリストや音声コマンドリストの転送動作を説明する図面である。
【
図10】ディスプレイリストに基づくフィルタ処理を説明する図面である。
【
図11】IPBストリーム動画の再生手順を説明する図面である。
【
図12】音声処理部の内部構成と、制御手順を説明する図面である。
【
図13】描画回路の描画パイプライン処理を説明する図面である。
【
図14】描画パイプライン工程の全部又は一部を利用する各種の描画モードを説明する工程図である。
【
図15】プリロード動作を含まない演出制御CPUの制御動作を説明するフローチャートである。
【
図17】プリロード動作を含む演出制御CPUの制御動作を説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施例に基づいて本発明を詳細に説明する。
図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される内枠3とで構成されている。この内枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。なお、本明細書では、ガラス扉6と前面板7を総称して前扉部材と称する。そして、前扉部材(ガラス扉6や前面板7)が枢着された状態の内枠3を遊技枠と称することがある。
【0011】
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の上部左右位置と下側には、全3個のスピーカが配置されている。上部に配置された2個のスピーカは、各々、左右チャンネルR,Lの音声を出力し、下側のスピーカは低音を出力するよう構成されている。
【0012】
前面板7には、発射用の遊技球を貯留する上皿8が装着され、内枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
【0013】
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
【0014】
また、チャンスボタン11の下方には、ロータリースイッチ型の音量スイッチVLSWが配置されており、遊技者が音量スイッチVLSWを操作することで、無音レベル(=0)から最高レベル(=7)まで、スピーカ音量を8段階に調整できるようになっている。なお、スピーカの音量は、係員だけが操作可能な設定スイッチ(不図示)によって初期設定されており、遊技者が音量スイッチVLSWを操作しない限り、初期設定音量が維持される。また、異常事態が発生したことを報知する異常報知音は、係員による初期設定音量や、遊技者の設定音量に拘らず最高音量で放音される。
【0015】
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
【0016】
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、中央開口HOが設けられている。そして、中央開口HOの下方には、不図示の可動演出体が隠蔽状態で収納されており、可動予告演出時には、その可動演出体が上昇して露出状態となることで、所定の信頼度の予告演出を実現している。ここで、予告演出とは、遊技者に有利な大当り状態が招来することを不確定に報知する演出であり、予告演出の信頼度とは、大当り状態が招来する確率を意味している。
【0017】
中央開口HOには、大型(例えば、横1280×縦1024ピクセル)の液晶カラーディスプレイで構成された表示装置DSが配置されている。表示装置DSは、メイン液晶表示部MONIと、LEDバックライト部BLとで構成され、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DSは、中央部に特別図柄表示部Da~Dcと右上部に普通図柄表示部19とを有している。そして、特別図柄表示部Da~Dcでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Da~Dc及びその周りでは、適宜な予告演出などが実行される。
【0018】
ところで、遊技球が落下移動する遊技領域には、第1図柄始動口15a、第2図柄始動口15b、第1大入賞口16a、第2大入賞口16b、普通入賞口17、及び、ゲート18が配設されている。これらの入賞口15~18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
【0019】
第1図柄始動口15aの上部には、導入口INから進入した遊技球がシーソー状又はルーレット状に移動した後に、第1図柄始動口15に入賞可能に構成された演出ステージ14が配置されている。そして、第1図柄始動口15に遊技球が入賞すると、特別図柄表示部Da~Dcの変動動作が開始されるよう構成されている。
【0020】
第2図柄始動口15bは、左右一対の開閉爪を備えた電動式チューリップで開閉されるように構成され、普通図柄表示部19の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪が開放されるようになっている。
【0021】
なお、普通図柄表示部19は、普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。
【0022】
第1大入賞口16aは、前後方向に進退するスライド盤を有して構成され、第2大入賞口16bは、下端が軸支されて前方に開放する開閉板を有して構成されている。第1大入賞口16aや第2大入賞口16bの動作は、特に限定されないが、この実施例では、第1大入賞口16aは、第1図柄始動口15aに対応し、第2大入賞口16bは、第1図柄始動口15bに対応するよう構成されている。
【0023】
すなわち、第1図柄始動口15aに遊技球が入賞すると、特別図柄表示部Da~Dcの変動動作が開始され、その後、所定の大当り図柄が特別図柄表示部Da~Dcに整列すると、第1大当りたる特別遊技が開始され、第1大入賞口16aのスライド盤が、前方に開放されて遊技球の入賞が容易化される。
【0024】
一方、第2図柄始動口15bへの遊技球の入賞によって開始された変動動作の結果、所定の大当り図柄が特別図柄表示部Da~Dcに整列すると、第2大当りたる特別遊技が開始され、第2大入賞口16bの開閉板が開放されて遊技球の入賞が容易化される。特別遊技(大当り状態)の遊技価値は、整列する大当り図柄などに対応して種々相違するが、何れの遊技価値が付与されるかは、遊技球の入賞タイミングに応じた抽選結果に基づいて予め決定される。
【0025】
典型的な大当り状態では、大入賞口16の開閉板が開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板が閉じる。このような動作は、最大で例えば15回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da~Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態(確変状態)となるという特典が付与される。
【0026】
図3(a)は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。また、
図3(b)は、払出制御基板25に配置された電源モニタ部MNTの回路構成を示す回路図である。
図3(a)に示す通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧(35V,12V,5V)をAC24Vと共に出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、音声演出用のデジタルアンプ29などを搭載した演出インタフェイス基板22と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出、音声演出、及び画像演出を統一的に実行する演出制御基板23と、演出制御基板23と表示装置DSの間に位置する液晶インタフェイス基板24と、主制御基板21から受けた制御コマンドCMD’に基づいて払出モータMを制御して遊技球を払い出す払出制御基板25と、遊技者の操作に応答して遊技球を発射させる発射制御基板26と、を中心に構成されている。
【0027】
図4は、
図3(a)の一部をやや詳細に図示したものであり、演出インタフェイス基板22と、演出制御基板23と、液晶インタフェイス基板24の内部構成を概略的に示している。
図4や
図3(a)に示す通り、演出インタフェイス基板22と、演出制御基板23と、液晶インタフェイス基板24とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。
【0028】
図3(a)に示す通り、主制御基板21が出力する制御コマンドCMD’は、払出制御基板25に伝送される。一方、主制御基板21が出力する制御コマンドCMDは、演出インタフェイス基板22を経由して演出制御基板23に伝送される。ここで、制御コマンドCMD,CMD’は、何れも16bit長であるが、8bit長毎に2回に分けてパラレル送信される。
【0029】
主制御基板21と払出制御基板25には、ワンチップマイコンを含むコンピュータ回路が搭載されている。また、演出制御基板23には、総合演出回路52や内蔵CPU回路51などのコンピュータ回路が内蔵された複合チップ50が搭載されている。そこで、これらの制御基板21、25、23と、演出インタフェイス基板22や液晶インタフェイス基板24に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部23、及び払出制御部25と言うことがある。なお、主制御部21に対して、演出制御部23と、払出制御部25がサブ制御部となる。
【0030】
また、このパチンコ機GMは、
図3(a)の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された内枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材GM1を除く全てが、盤側部材GM2である。
【0031】
図3(a)の破線枠に示す通り、枠側部材GM1には、電源基板20と、バックアップ電源基板33と、払出制御基板25と、発射制御基板26と、枠中継基板36と、モータ/ランプ駆動基板37と、が含まれており、これらの回路基板が、内枠3の適所に各々固定されている。一方、遊技盤5の背面には、主制御基板21、演出制御基板23が、表示装置DSやその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された集中接続コネクタC1~C3によって電気的に接続されている。
【0032】
電源基板20は、遊技ホールから配電される交流電圧AC24Vに基づいて、三種類の直流電圧(35V,12V,5V)を生成し、各直流電圧を、集中接続コネクタC2を経由して、演出インタフェイス基板22に配電している。また、三種類の直流電圧(35V,12V,5V)は、交流電圧AC24Vと共に、払出制御基板25に配電される。そして、払出制御基板25に配電された直流電圧(35V,12V,5V)は、バックアップ電源BAKと共に、集中接続コネクタC1を経由して、主制御基板21に配電されるよう構成されている。
【0033】
直流35Vは、遊技球の発射動作に関し、球送りソレノイドや発射ソレノイドの駆動電源、及び、電動式チューリップ(可変入賞装置)や大入賞口16を開閉駆動する電磁ソレノイドの駆動電源として使用される。また、直流12Vは、各制御基板から制御されるLEDランプやモータの駆動電源、及びデジタルアンプの電源電圧として使用され、一方、直流5Vは、払出制御基板25や主制御基板21のワンチップマイコンの電源電圧、及び、各制御基板に搭載された論理素子の電源電圧として使用される。また、直流5Vは、演出インタフェイス基板22や演出制御基板23のDC/DCコンバータでレベル降下された後、レベル降下された各種レベルの電圧が、各種コンピュータ回路(複合チップ50など)の電源電圧として使用される。
【0034】
バックアップ電源BAKは、電源遮断後、主制御部21と払出制御部25のワンチップマイコンの内蔵RAMのデータを保持するためのDC5Vの直流電源であり、例えば、電気二重層コンデンサで実現される。この実施例では、専用のバックアップ電源基板33が設けられており、バックアップ電源基板33に配置された電気二重層コンデンサは、払出制御基板25から受ける直流電圧5Vによって遊技動作中に充電されるよう構成されている。
【0035】
一方、電源遮断後は、バックアップ電源BAKが、主制御部21と払出制御部25のワンチップマイコンの内蔵RAMのデータを保持するので、主制御部21と払出制御部25は、電源遮断前の遊技動作を電源投入後に再開できることになる。なお、バックアップ電源基板33には、少なくとも数日は、各ワンチップマイコンの内蔵RAMの記憶内容を保持可能な電気二重層コンデンサが配置されている。
【0036】
ところで、本実施例では、交流電圧AC24Vの異常低下を示す電源異常信号ABNは、電源基板20ではなく、払出制御基板25の電源モニタ部MNTにおいて生成されるよう構成されている。電源モニタ部MNTは、
図3(b)に示す通り、電源基板20から受けるAC24Vを整流する全波整流回路と、全波整流回路の出力を受けて通電発光するフォトダイオードDと、電源基板20から受ける直流電圧5Vを電源とし、フォトダイオードDの発光に基づいてON動作するフォトトランジスTRと、フォトトランジスTRのON動作に基づいてHレベルの検出信号ABN(電源異常信号)を出力する出力部と、を有して構成されている。なお、フォトダイオードDと、フォトトランジスTRとで、フォトカプラPHを構成している。
【0037】
上記の構成において、電源投入後、フォトカプラPHが速やかにON状態になることで、電源異常信号ABNが正常レベル(H)となる。しかし、その後、交流電源が何らかの理由(正常には電源遮断)で異常降下すると、フォトカプラPHがOFF状態に変化することで、電源異常信号ABNが異常レベル(L)に変化する。この電源異常信号ABNは、払出制御基板25のワンチップマイコンに伝送されると共に、集中接続コネクタC1を経由して、主制御基板21のワンチップマイコンにも伝送されるよう構成されている。したがって、異常レベルの電源異常信号ABNを受けた各ワンチップマイコンは、必要な情報を、各々の内蔵RAMに記憶するバックアップ処理を実行することになる。先に説明した通り、内蔵RAMの情報は、バックアップ電源BAKによって維持されるので、電源遮断前の遊技動作が電源投入後に再開可能となる。
【0038】
図3(a)や
図4に示す通り、演出インタフェイス基板22には、リセット回路RST3と、デジタルアンプ29(AMP)とが搭載され、演出制御基板23には、総合演出回路52や内蔵CPU回路51などのコンピュータ回路が内蔵された複合チップ50が搭載され、液晶インタフェイス基板24には、時計回路38(RTC)と、演出データを記憶する演出データメモリ39(SRAM)と、給電制御回路SPYとが搭載されている。
【0039】
本実施例の場合、複合チップ50に内蔵された総合演出回路52には、映像処理部VDP(Video Display Processor )と、音声処理部SND(Audio Processor )と、モータ制御部MT_CTLと、ランプ制御部L_CTL と、が含まれている。そして、総合演出回路52は、内蔵CPU回路51からの制御に基づき、動作周期δ(=1/30 秒)の間欠的な動作をして、表示装置DSを使用した画像演出、デジタルアンプ29を経由してスピーカを駆動する音声演出、演出モータM1~Mnを回転させて役物を移動させるモータ演出、及び、LEDランプなどを点滅させるランプ演出を実行するようになっている。なお、以下の説明では、内蔵CPU回路51をCPU回路51と略称することがある。
【0040】
リセット回路RST3は、電源投入時、電源回路20から受ける電源電圧5Vの上昇に基づいて電源リセット信号を生成して、複合チップ50の内部回路や、その他の電子素子を電源リセットしている。先に説明した通り、複合チップ50の内部回路には、映像処理部VDP(Video Display Processor )や、音声処理部SND(Audio Processor )が含まれるが、電源リセット信号は、複合チップ50のシステムリセット信号SYSに他ならず、CPU回路51や総合演出回路52を、同期的に電源リセットしている。
【0041】
本実施例では、システムリセット信号SYSのLアサート期間中に、全ての内部回路が一様に初期化され、複合チップ50の演出制御レジスタRGijにデフォルト値が設定される。その後、システムリセット信号SYSがHレベルに移行すると、ブートプログラムが起動して、演出制御レジスタRGijに対して、必要な初期設定動作が実行される。一方、直流電圧5Vが降下した場合(通常は電源遮断時)には、システムリセット信号SYSがLレベルに降下するので、演出制御基板23のCPU回路51と総合演出回路52は、動作停止状態となる。
【0042】
後述するように、本実施例では、WDT(Watch Dog Timer )回路58が起動しても、システムリセット信号SYSが変化しないよう構成されており、WDT58が起動する異常時であっても、全ての内部回路が一様に初期化されることはない。すなわち、本実施例では、任意に選択された所定の内部回路が、初期化されるよう構成されている。
【0043】
次に、液晶インタフェイス基板24に搭載された時計回路38と、演出データメモリ39は、不図示の二次電池で駆動されており、この二次電池は、遊技動作中、電源基板20からの給電電圧によって適宜に充電される。そのため、電源遮断後も、時計回路38の計時動作が継続され、また、演出データメモリ39に記憶された遊技実績情報が、永続的に記憶保持されることになる(不揮発性を付与)。
【0044】
なお、時計回路38は、CPU回路51に対して、割込み信号を出力可能に構成されている(RTC割込み)。このRTC割込みには、日、曜日、時、分、秒が特定可能なアラーム割込みと、所定時間経過後に起動されるタイマ割込みが存在するが、本実施例では、毎日の営業終了時に、日々の遊技実績情報を更新するアラーム割込みIRQ_RTC を活用している。
【0045】
図3(a)に示す通り、払出制御基板25と、主制御部21には、各々、リセット回路RST1,RST2が搭載されており、電源投入時に電源リセット信号が生成され、各コンピュータ回路が電源リセットされるよう構成されている。このように、本実施例では、主制御部21と、払出制御部25と、演出インタフェイス基板22に、各々、リセット回路RST1~RST3を配置しており、例えば、電源基板20で生成されたシステムリセット信号が、回路基板間で伝送されることがない。すなわち、システムリセット信号を伝送する配線ケーブルが存在しないので、配線ケーブルに重畳するノイズによって、コンピュータ回路が異常リセットされるおそれが解消される。
【0046】
但し、主制御部21や払出制御部25に設けられたリセット回路RST1,RST2は、各々、ウォッチドッグタイマを内蔵しており、各制御部21,25のCPUから、定時的なクリアパルスを受けない場合には、各CPUは強制的にリセットされる。また、主制御部21には、係員が操作可能な初期化スイッチSWが配置されており、電源投入時、初期化スイッチSWがON操作されたか否かを示すRAMクリア信号CLRが出力されるよう構成されている。このRAMクリア信号CLRは、主制御部21と払出制御部25のワンチップマイコンに伝送され、各制御部21,25のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定している。
【0047】
図3(a)に示す通り、主制御部21は、払出制御部25から、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部25の初期動作が完了したことを主制御部21に通知する信号である。
【0048】
また、主制御部21は、遊技盤上の各入賞口16~18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
【0049】
先に説明した通り、演出インタフェイス基板22は、集中接続コネクタC2を経由して、電源基板20から各レベルの直流電圧(5V,12V,35V)を受けている(
図3(a)及び
図4参照)。直流電圧12Vは、デジタルアンプ29の電源電圧であると共に、LEDランプなどの駆動電圧として使用される。また、直流電圧35Vは、遊技枠の適所に配電されて可動物を往復移動させるソレノイドの駆動電圧として使用される。
【0050】
一方、直流電圧5Vは、演出インタフェイス基板22各所の回路素子の電源電圧として供給されると共に、DC/DCコンバータDCに供給されて3.3Vが生成される(
図4参照)。そして、生成された直流電圧3.3Vは、リセット回路RST3が生成する電源リセット信号(システムリセット信号)SYSの基礎電圧となる。また、演出インタフェイス基板22に配電された直流電圧5Vは、DC/DCコンバータDCで生成された3.3Vと共に、演出制御基板23に配電される。そして、演出制御基板23に配電された直流電圧3.3Vは、電源電圧として、複合チップ50や外部ROM55に供給される。
【0051】
図4に示す通り、演出制御基板23には、2つのDC/DCコンバータDC1,DC2が配置されており、各々に供給される直流電圧5Vに基づいて、1.5Vと1.05Vを生成している。ここで、直流電圧1.05Vは、複合チップ50のチップコア用の電源電圧であり、直流電圧1.5Vは、VRAM53や拡張RAM54とのI/O(入出力)用の電源電圧である。したがって、直流電圧1.5Vは、電源電圧として、VRAM53や拡張RAM54にも供給される。
【0052】
図3(a)に示す通り、演出インタフェイス基板22は、主制御部21から制御コマンドCMDとストローブ信号STBとを受けて、演出制御基板23に転送している。より詳細には、
図4に示す通りであり、制御コマンドCMDとストローブ信号STBは、入力バッファ40を経由して、演出制御基板23の複合チップ50(CPU回路51)に転送される。ここで、ストローブ信号STBは、受信割込み信号IRQ_CMD であり、演出制御CPU57は、受信割込み信号IRQ_CMD を受けて起動される割込み処理プログラム(割込みハンドラ)に基づいて、制御コマンドCMDを取得している。
【0053】
図4に示す通り、演出インタフェイス基板22の入力バッファ44は、枠中継基板36からチャンスボタン11や音量スイッチVLSWのスイッチ信号を受け、各スイッチ信号を演出制御基板23のCPU回路51に伝送している。具体的には、音量スイッチVLSWの接点位置(0~7)を示すエンコーダ出力の3bit長と、チャンスボタン11のON/OFF状態を示す1bit長をCPU回路51に伝送している。
【0054】
また、演出インタフェイス基板22には、ランプ駆動基板30やモータランプ駆動基板31が接続されると共に、枠中継基板36を経由して、ランプ駆動基板37にも接続されている。図示の通り、ランプ駆動基板30に対応して、出力バッファ42が配置され、モータランプ駆動基板31に対応して、入力バッファ43aと出力バッファ43bが配置されている。なお、
図4では、便宜上、入力バッファ43aと出力バッファ43bを総称して、入出力バッファ43と記載している。入力バッファ43aは、可動演出体たる役物の現在位置(演出モータM1~Mnの回転位置)を把握する原点センサの出力SN0~SNnを受けて、これを演出制御基板23のモータ制御部MT_CTLに伝送している。
【0055】
ランプ駆動基板30、モータランプ駆動基板31、及び、ランプ駆動基板37には、同種のドライバICが搭載されており、演出インタフェイス基板22は、演出制御基板23のランプ制御部L_CTL やモータ制御部MT_CTLから受けるシリアル信号を、各ドライバICに転送している。シリアル信号は、具体的には、ランプ(モータ)駆動信号SDATA とクロック信号CKであり、駆動信号SDATA がクロック同期方式で各ドライバICに伝送され、多数のLEDランプや電飾ランプによるランプ演出や、演出モータM1~Mnによる役物演出が実行される。
【0056】
本実施例の場合、ランプ演出は、三系統のランプ群CH0~CH2によって実行されており、ランプ駆動基板37のドライバICは、ランプ制御部L_CTL が出力するCH0のランプ駆動信号SDATA0を、クロック信号CK0に同期して、枠中継基板36を経由して受けている。なお、シリアル信号として伝送される一連のランプ駆動信号SDATA0は、CPU回路51(PIO62)から出力される動作制御信号ENABLE0 がアクティブレベルに変化したタイミングで、ドライバICからランプ群CH0に出力されることで、ランプ群CH0の点灯状態が、一斉に更新される。
【0057】
以上の点は、ランプ駆動基板30についても同様であり、ランプ駆動基板30のドライバICは、ランプ制御部L_CTL が出力するランプ群CH1のランプ駆動信号SDATA1を、クロック信号CK1に同期して受ける。そして、CPU回路51(実際にはPIO62)から出力される動作制御信号ENABLE1 がアクティブレベルに変化したタイミングで、ランプ群CH1の点灯状態が一斉に更新される。
【0058】
一方、モータランプ駆動基板31に搭載されたドライバICは、モータ制御部MT_CTLから、クロック同期式で伝送されるランプ駆動信号を受けてランプ群CH2を駆動すると共に、クロック同期式で伝送されるモータ駆動信号を受けて、複数のステッピングモータで構成された演出モータ群M1~Mnを駆動している。ランプ駆動信号とモータ駆動信号は、同種のシリアル信号であるので、一連の複合シリアル信号SDATA2が、クロック信号CK2に同期してモータ制御部MT_CTLから出力され、これを受けたドライバICは、動作制御信号ENABLE2 がアクティブレベルに変化するタイミングで、ランプ群CH2やモータ群M1~Mnの駆動状態を更新する。
【0059】
このように、本実施例では、モータランプ駆動基板31については、便宜上、モータ制御部MT_CTLが、モータ演出とランプ演出を担当するので、動作制御信号ENABLE2 についても、モータ制御部MT_CTLから出力される。なお、ランプ駆動基板37やランプ駆動基板30に対するランプ駆動信号SDATA0,SDATA1についても、モータ制御部MT_CTLから出力する構成を採っても良い。
【0060】
図4に示す通り、演出制御部23のCPU回路51のデータバスとアドレスバスは、液晶インタフェイス基板24に搭載された時計回路(Real Time Clock )38と演出データメモリ39にも及んでいる。時計回路38は、CPU回路51のアドレスバスの下位4bitと、データバスの下位4bitに接続されており、チップセレクト信号で時計回路38がチップ選択された状態では、CPU回路51が、(4bit長アドレス値を有する)内部レジスタを任意にアクセスできるよう構成されている。
【0061】
また、演出データメモリ39は、高速アクセス可能なメモリ素子SRAM(Static Random Access Memory )であって、CPU回路51のアドレスバスの16bitと、データバスの下位16bitに接続されており、チップ選択された状態では、SRAM(演出データメモリ)39に記憶されている遊技実績情報その他が、CPU回路51から適宜にR/Wアクセスされるようになっている。
【0062】
また、液晶インタフェイス基板24には、表示装置DSやバックライト基板BLへの給電を制御する給電制御回路SPYが搭載されている。給電制御回路SPYは、具体的には、表示装置DSやバックライト基板BLに、電源電圧12V,5Vを給電する開始タイミングを制御信号STBYで制御し、バックライト光の輝度や発光開始タイミングを制御信号PWMで制御している。
【0063】
図4の右側に示す通り、演出制御基板23には、CPU回路51や総合演出回路52を内蔵する複合チップ50と、CPU回路51や総合演出回路52から高速にR/WアクセスされるVRAM53と、大量のデータを記憶可能な拡張RAM54と、CGデータやその他のデータを不揮発的に記憶する外部ROM55と、が搭載されている。
【0064】
VRAM53は、転送速度が理論値102Gバイト/秒程度の高速アクセスが可能であって、48Mバイト程度の記憶容量を有している。VRAM53は、主として、(1) 表示回路71、描画回路74、及び、GDEC回路73の参照データを格納する用途で使用される(
図5(a)参照)。また、(2) 外部ROM55のデータのコピーを格納すること、及び、(3) CPU回路51のワーク領域として使用することもできる。
【0065】
拡張RAM54は、理論値17.0Gバイト/秒程度の転送速度で動作可能であり、1Gバイト程度の記憶容量を有して、VRAM53と同種の利用が可能となっている。すなわち、拡張RAM54は、(1) 表示回路71、描画回路74、及び、GDEC回路73の参照データを格納すること、(2) 外部ROM55のデータのコピーを格納すること、及び、(3) CPU回路51のワーク領域として使用することが可能である。
【0066】
本実施例の外部ROM55は、電源投入時に起動するブートプログラムと、演出制御を実現するCPU回路51の制御プログラム及びランプ駆動データを含む制御データと、画像演出用のCG圧縮データと、音声演出用の音声圧縮データと、を格納した不揮発性の記憶デバイスである。外部ROM55の記憶容量は、最高256Gバイト程度であるが、高速アクセスができないので、本実施例では、電源投入時に、外部ROM55のデータの一部を、拡張RAM54に転送している。具体的には、CPU回路51を機能させる制御プログラム及び制御データは、外部ROM55に記憶されているブートプログラムによって、電源投入時、外部ROM55から拡張RAM54に転送コピーされる。
【0067】
図5(a)は、演出制御部23を構成する複合チップ50について、これに関連する回路素子も含めて図示した回路ブロック図である。図示の通り、実施例の複合チップ50には、ディスプレイリストDLや音声コマンドリストVCを発行するCPU回路51と、ディスプレイリストDLに基づいて画像演出を実行し、音声コマンドリストVCに基づいて音声演出を実行する他、ランプ演出やモータ演出を実行する総合演出回路52と、が内蔵されている。そして、CPU回路51と総合演出回路52とは、互いの送受信データを中継するCPUバス部56を通して接続されている。
【0068】
先ず、CPU回路51と総合演出回路52の間に位置するCPUバス部56について説明する。
図5(a)に示す通り、CPUバス部56は、VRAMIF部53a、拡張RAMIF部54a、及び、CGバスIF部55aを経由して、VRAM53と、拡張RAM54と、外部ROM55とに接続されている。そのため、本実施例では、VRAM53、拡張RAM54、及び、外部ROM55は、総合演出回路52だけでなく、CPU回路51からもアクセスできることになる。
【0069】
なお、VRAMIF部53a、拡張RAMIF部54a、及び、CGバスIF部55aは、不図示の調停回路ICM(Inter Connect Module)を経由して、VRAM53、拡張RAM54、及び、外部ROM55に接続されている。調停回路ICMは、総合演出回路52の各機能ブロックと、VRAMI/F部53a、拡張RAMI/F部54a、CGバスI/F部55aの間に位置し、各機能ブロックが発行するデータ要求を適宜に調停して、必要な接続関係を成立させている。
【0070】
何れにしても、本実施例のCPU回路51は、VRAM53、拡張RAM54、及び、外部ROM55をアクセス可能である。但し、CPU回路51は、電源投入時に、外部ROM55から拡張RAM54に、制御プログラムと制御データを転送コピーした後は、外部ROM55をアクセスすることはない。すなわち、コピー動作後のCPU回路51は、拡張RAM54にコピーされた制御プログラムや制御データに基づいて、制御動作を実行する。
【0071】
このCPU回路51は、総合演出回路52の内部動作を制御するため、各種の演出制御レジスタRGijを、R/Wアクセスすることができる。また、データ転送回路70は、CPUバス部56を経由して、CPU回路51と総合演出回路52とのデータ送受信をすることもできる。なお、CPU回路51から総合演出回路52へのデータ送信には、ディスプレイリストDLの発行や、音声コマンドリストVCの発行が含まれる。
【0072】
図5(a)の右側に示す通り、総合演出回路52には、(1) データ転送回路70と、(2) 表示回路71と、(3) プリローダ72と、(4) GDEC(Graphic Decoder )回路73と、(5) 描画回路74と、(6) 画像フィルタ回路75と、(7) インデックステーブルIDXTBLと、(8) モータ制御部MT_CTLと、(9) ランプ制御部L_CTL と、(10)音声処理部SNDなどが含まれるが、演出制御レジスタRGijは、これら総合演出回路52の内部回路を、CPU回路51が適宜に制御する用途で使用される。
【0073】
したがって、演出制御レジスタRGijには、上記の各回路(1) ~(10)に対応して、(1) データ転送レジスタ、(2) 表示レジスタ、(3) プリロードレジスタ、(4) GDECレジスタ、(5) 描画レジスタ、(6) 画像フィルタレジスタ、(7) インデックステーブルレジスタ、(8)MT_CTL レジスタ、(9)L_CTLレジスタ、(10)サウンドレジスタなどに大別され、全体的なシステム制御用に、システム制御レジスタが設けられている(
図5(b)参照)。なお、システム制御レジスタや、個別回路用の各レジスタ(1) ~(10)は、実際には、更に細分された複数のレジスタ群で構成されている。
【0074】
以上を踏まえてCPU回路51について説明する。CPU回路51は、汎用のワンチップマイコンと同等の性能を有する回路であり、
図5(a)の左側に示す通り、制御プログラムに基づき画像/音声/ランプ/モータ演出を統括的に制御する演出制御CPU57と、プログラムが暴走状態になるとCPUを強制リセットするウォッチドッグタイマ(WDT)58と、2Mバイト程度の記憶容量を有して演出制御CPU57の作業領域として使用される内蔵RAM59と、演出制御CPU57を経由しないでデータ転送を実現するDMAC(Direct Memory Access Controller )60と、複数の入力ポートSi及び出力ポートSoを有するシリアル入出力ポート(SIO)61と、複数の入力ポートPi及び出力ポートPoを有するパラレル入出力ポート(PIO)62と、CPU回路51の内部構成を制御するべく設定値が設定される動作制御レジスタREGなどを有して構成されている。
【0075】
なお、本明細書では、便宜上、入出力ポートとの表現を使用するが、演出制御部23において、入出力ポートには、独立して動作する入力ポートと出力ポートとが含まれている。この点は、以下に説明する、パラレル入出力ポート62に対応する入出力回路64pや、シリアル入出力ポート63に対応する入出力回路63sについても同様である。
【0076】
パラレル入出力ポート(PIO)62は、入出力回路64pを通して外部機器(演出インタフェイス基板22)に接続されており、演出制御CPU57は、入力回路64pを経由して、音量スイッチVLSWのエンコーダ出力3bitと、チャンスボタン11のスイッチ信号と、制御コマンドCMDと、割込み信号STBと、を受信するようになっている。なお、エンコーダ出力3bitと、スイッチ信号1bitは、入出力回路64pを経由して、パラレル入出力ポート62に供給される。
【0077】
同様に、受信した制御コマンドCMDは、入出力回路64pを経由して、パラレル入出力ポート62に供給されている。また、ストローブ信号STBは、入出力回路64pを経由して、演出制御CPU57の割込み端子に供給されることで、受信割込み処理を起動させている。したがって、受信割込み処理に基づいて、制御コマンドCMDを把握した演出制御CPU57は、演出抽選などを経て、この制御コマンドCMDに対応する音声演出、ランプ演出、モータ演出、及び画像演出を統一的に制御することになる。なお、パラレル入出力ポート62は、入出力回路64pを経由して、ランプ演出用の動作制御信号ENABLE0 ~ENABLE1 を出力している。
【0078】
また、シリアル入出力ポート(SIO)61は、入出力回路63sを経由してシリアス信号を送受信可能に構成されている。したがって、
図5(a)の破線に示す通り、シリアル入出力ポートSIO61に内部接続されている入出力回路63sを経由して、同期方式のシリアル伝送を実現するクロック信号CKや、駆動シリアル信号SDATA を出力することもできる。但し、本実施例では、シリアル入出力ポート61を使用することなく、総合演出回路52のランプ制御部L_CTL やモータ制御部MT_CTLを使用してランプ/モータ演出を実現している。
【0079】
ところで、CPU回路51の内蔵RAM59には、表示装置DSの一フレームを特定する一連の指示コマンドが列記されたディスプレイリストDLを、順次更新して記憶するDLバッファBUFが確保されている。また、このDLバッファBUFは、領域を区画して構成されており、音声演出の演出内容を特定する音声コマンドリストVCも順次更新して記憶される。
【0080】
本実施例の場合、表示画面一フレームを規定するディスプレイリストDLの指示コマンドには、(1) インデックス空間を管理するインデックステーブルIDXTBLに関するインデックステーブル制御系コマンドと、(2) 外部ROM55から画像素材(テクスチャ)を読み出してデコード(解凍/展開)するためのLOADTXコマンドなどのテクスチャロード系コマンドと、(3) 解凍後の画像データに対するフィルタ処理を特定するフィルタ実行系コマンドと、(4) デコード(展開)後の画像素材を仮想描画空間の所定位置に配置するためのSPRITEコマンドなどの描画系コマンドと、(5) 描画パイプライン動作に関するパイプライン系コマンドと、(6) 総合演出回路52の全体的な動作を規定する全体制御系コマンドと、が含まれており、何れも、32bitの整数倍(>0)で構成されている。そして、ディスプレイリストDLは、適宜個数の指示コマンドを列記した後、所定の終了コマンドEODL(32bit長)で終結するよう構成されている。
【0081】
また、音声演出を実行する音声処理部SNDの動作内容を規定する音声コマンドリストVCも、適宜個数の音声コマンドを列記した後、所定の終結コマンドEOSC(32bit長)で完結している。ここで、音声コマンドは、
図12(a)に示す前処理部FTの動作を規定するトラック系コマンドと、
図12(a)に示す後処理部BKの動作を規定するマスタエフェクト系コマンドと、その他のシステム系コマンドとに大別されるが、何れの音声コマンドも、32bitの整数倍(>0)で構成されている。
【0082】
後述するように、本実施例の描画パイプライン動作は、描画回路74に内蔵された頂点バッファVBや、インデックス空間として確保されているフレームバッファFBや深度・ステンシルバッファを使用して実行され、入力アセンブラ工程IAと、ジオメトリエンジン工程TLと、ラスタライザ工程RSと、テクスチャサンプラ工程TXと、テクスチャ工程PSと、ピクセル描画工程PXと、レンダー工程ROとを有して構成されている。そして、上記した(5) パイプライン系コマンドは、各工程(IA,TL,RS,TX,PS,PX,RO)の具体的な動作内容や、頂点バッファVBのR/W位置を指定する設定コマンドとして機能する。
【0083】
ところで、テクスチャ(texture )とは、一般的には、物の表面の質感・手触りなどを指す概念であるが、本明細書では、デコード前後の画像データを総称して、テクスチャと表現しており、例えば、静止画を構成するスプライト画像データや、動画一フレームを構成するフレーム画像データや、三角形ポリゴンや四角形ポリゴンなどの描画プリミティブ(primitive )に貼り付ける貼付け画像データについてもテクスチャと称呼している。
【0084】
そして、(2) テクスチャロード系コマンドのLOADTXコマンドで、外部ROM55から読み出されてデコードされたテクスチャは、(5) パイプライン系コマンドに含まれるテクスチャサンプラ工程TXのコマンドであるSETTXINDEXコマンドによって、移動元の画像データがテクスチャであると設定した上で、(4) 描画系コマンドのSPRITEコマンドによって、
図6(c)に示す仮想描画空間に仮想的に描画される。なお、仮想描画空間への描画内容は、後述するフレームバッファFBを経由して、表示装置DSに出力される。
【0085】
より詳細に説明すると、SETTXINDEXコマンドでは、テクスチャとして使用するインデックス空間(空間種別とインデックス番号)が、埋め込みパラメータによって設定される。ここで、空間種別として、VRAM53の任意領域、VRAM53のページ領域、VRAM53のAAC領域、拡張RAM54の任意領域、拡張RAM54のページ領域の何れかが指定可能であるが、本実施例では、VRAM53の共用領域を、ACC領域として使用するのでVRAM53には、ページ領域は存在しない(
図6(a)参照)。
【0086】
また、SETTXINDEXコマンドでインデックス空間を設定した状態で、LOADTXコマンドを実行すると、設定されたインデックス空間にデコード結果が格納される。このLOADTXコマンドでは、デコード後のテクスチャの水平及び垂直方向のピクセルサイズと共に、デコード対象の基礎データが格納されたメモリ種別と、基礎データのアドレスと、が指定される。LOADTXコマンドによって、水平/垂直ピクセルサイズが指定されることで、映像処理部VDPの内部回路は、テクスチャ各ピクセル(RGBA色情報)の縦横位置と、インデックス空間上のデータ位置との対応関係を容易に管理することができる。
【0087】
なお、これらピクセルサイズの情報や基礎データのアドレス情報は、通常は一種類であるが、後述するIPBストリームなどのデコード時には、一のLOADTXコマンドで、メインフレームとサブフレームについて二種類の情報が指定されることもある。なお、メモリ種別は、通常は、外部ROM55であるが、拡張RAM54やVRAM53を指定することもできる。例えば、
図11において、LOADTXコマンドのアクセス対象となる参照バッファは、VRAM53又は拡張RAM54の任意領域に確保されたインデックス空間である。
【0088】
SPRITEコマンドは、ウィンドウ座標の矩形領域に、矩形テクスチャを貼り付けるコマンドである。本実施例では、一のSPRITEコマンドで、最大4枚のテクスチャが参照可能であり、SPRITEコマンドの埋め込みパラメータによって、テクスチャの左上座標及び右下座標(必要時に限る)と、このテクスチャの貼付け先であるウィンドウ座標の左上座標及び右下座標とが各々指定される。なお、テクスチャ全体を使用する場合は、テクスチャの左上座標及び右下座標の指定は不要であり、貼付け先のウィンドウ座標値だけで足りる。
【0089】
また、上記した(1) インデックステーブル制御系コマンドが管理するインデックス空間とは、総合演出回路52が描画動作時などに使用される一次元又は二次元のメモリ作業領域(論理アドレス空間)を意味する。このインデックス空間は、一次元又は二次元の論理アドレス空間として、ディスプレイリストDLの指示コマンドに記載されたインデックス番号によって特定される。
【0090】
すなわち、本実施例では、メモリ作業領域としてアクセス可能なメモリ(VRAM53及び拡張RAM54)の適所に、インデックス空間を確保し、これをインデックス番号で特定するようにしている。また、VRAM53及び拡張RAM54を、仮想作業領域(AAC領域、ページ領域、任意領域)に区分して、各々に、インデックス空間を確保できるようにしている(
図6(a)及び
図6(b)参照)。そのため、インデックス番号は、仮想作業領域ごとの一意の値となり、テクスチャロード系コマンド、フィルタ実行系コマンド、描画系コマンド、パイプライン系コマンドなどが簡素化される。
【0091】
また、仮想作業領域(AAC領域、ページ領域、任意領域)ごとの個性的な動作を可能にしている。例えば、AAC領域では、デコードデータの展開領域としてインデックス空間が自動的に確保され、自動的に開放される。したがって、インデックス番号は、ACC領域では不要となる。
【0092】
具体的な制御動作としては、仮想作業領域(AAC領域、ページ領域、任意領域)は、電源投入後の初期処理において定義され、その後の必要なタイミングで、必要な仮想作業領域に、必要なインデック空間が確保される。そして、確保されたインデックス空間が、インデックス番号と紐付けてインデックステーブルIDXTBLによって管理されることで、その後のインデックス番号に基づく動作を実現している。
【0093】
以下、仮想作業領域と、VRAM53及び拡張RAM54である実作業領域と、の関係を説明する。先ず、VRAM53は、AAC領域としてもページ領域としても使用可能な共用領域と、その他の任意領域と、に区分される。具体的には、電源投入後の初期処理において、VRAM53に関して、適宜な先頭アドレスと領域データサイズを、これらに対応する演出制御レジスタRGijに設定することで、VRAM53の共用領域が確保される。そして、VRAM53に確保された共用領域以外の領域は、自動的にVRAM53の任意領域となる(
図6(a))。
【0094】
VRAM53に確保される共用領域は、インデックス番号の管理が不要であるACC領域としても、インデックス番号によるインデックス空間の管理が必要なページ領域としても使用可能である。そのため、共用領域を使用する場合には、SETTXINDEXコマンドで、AAC領域にインデックス空間を確保すると規定した上で、LOADTXコマンドによって、テクスチャ(画像素材)のピクセルサイズと格納アドレスを特定するだけで、ACC領域に自動的に確保されたインデックス空間に、読み出されたテクスチャの伸長データが展開できることになる。
【0095】
そこで、本実施例では、以上の簡便さを考慮して、静止画とIストリーム動画(後述するIピクチャのみで構成されたSストリーム動画)については、VRAM53のAAC領域にデコードデータを展開することにしている。すなわち、本実施例では、VRAM53の共用領域は、もっぱらAAC領域として使用している。
【0096】
次に、拡張RAM54は、電源投入後の初期処理において、拡張RAM54上の先頭アドレスと領域データサイズを、これらに対応する演出制御レジスタRGijで設定することで、拡張RAM54のページ領域が確保され、それ以外の領域が拡張RAM54の任意領域となる(
図6(b))。ここで、任意領域とは、拡張RAM54及びVRAM53において、任意な使用が許容される領域を意味し、インデックス空間を確保できるだけでなく、その他の使用も可能である。そこで、本実施例では、外部ROM55から取得したCGデータを事前転送(プリロード)するためのプリロード領域が、拡張RAM54の任意領域に確保され(
図6(b)参照)、プリローダ72がディスプレイリストDLを書換えた書換えリストDL’を保存するプリロードバッファは、VRAM53の任意領域に確保される(
図6(a)参照)。
【0097】
また、本実施例では、外部ROM55に記憶されている制御プログラムと制御データを、電源投入時に、拡張RAM54の任意領域に転送コピーするようにしている(
図6(b)参照)。なお、拡張RAM54に代えて、制御プログラム及び制御データの全部又は一部を、VRAM53に転送コピーしても良いのは勿論である。また、制御プログラムと制御データに限定されず、CG圧縮データや、音声圧縮データについても、それらの全部又は一部をRAM53,54に転送コピーする構成を採っても良い。
【0098】
何れにしても、インデックス空間については、拡張RAM54及びVRAM53に関し、(1) ACC領域、(2) VRAMページ領域、(3) VRAM任意領域、(4) 拡張RAMページ領域、(5) 拡張RAM任意領域に、適宜に確保できるが、本実施例では、VRAM53の共用領域は、AAC領域として専用的に使用している。もっとも、VRAM53に共用領域として確保された領域は、ページ領域としてもAAC領域としても使用できるので、以下では、この点を踏まえて説明を続ける。
【0099】
VRAM53のページ領域に、インデックス空間を確保する場合は、VRAM用の所定の演出制御レジスタRGijに、インデックス番号と空間サイズとを設定する必要がある。また、拡張RAM54のページ領域のインデックス空間は、拡張RAM用の所定の演出制御レジスタRGijに、インデックス番号と空間サイズを設定することで確保される。本実施例の場合、拡張RAM54のページ領域は、動画フレームを展開する用途で使用される。なお、ページ領域では、インデックス空間の先頭アドレスは、内部処理に基づいて適宜に決定されるので、先頭アドレスの管理が不要となる利便性がある。すなわち、ページ領域においては、インデックス空間の確保時に、現存するインデックス空間との重複を気にする必要がない。
【0100】
一方、VRAM53の任意領域や拡張RAM54の任意領域に、二次元のインデックス空間を確保する場合は、対応する所定の演出制御レジスタRGijに、インデックス番号と、インデックス空間の先頭アドレスと、インデックス空間の水平サイズ及び垂直サイズと、を設定する必要がある。なお、一次元のインデックス空間の場合には、水平サイズや垂直サイズは不要であり、空間サイズを設定するだけである。
【0101】
このように、任意領域にインデックス空間を確保する場合には、先頭アドレスとサイズを細かく設定でき、メモリを効率的に使用できる利点がある。そこで、本実施例では、表示装置DS一フレーム分の画像データを完成させフレームバッファFBを、VRAM53の任意領域の二次元のインデックス空間として確保している(
図6(a)参照)。なお、拡張RAM54の任意領域にフレームバッファFBを確保しても良いのは勿論である。
【0102】
VRAM53の任意領域に確保したフレームバッファFBは、SPRITEコマンドなどの描画系コマンドが描画対象とする、仮想的な仮想描画空間の描画領域に対応する。
図6(c)には、仮想描画空間(水平X方向±8192:垂直Y方向±8192)と、仮想描画空間の中で任意に設定可能な描画領域と、表示装置DSに出力する画像データを保存するフレームバッファFBと、の関係が図示されている。
【0103】
なお、フレームバッファFBは、描画回路74によって、表示画面一フーム分の画像データが書込まれる一方で、表示回路71よって、表示画面一フーム分の画像データを読み出される。このフレームバッファFBは、一対のインデックス空間で構成されたダブルバッファ構造であり、インデックス番号N1の第1バッファと、インデックス番号N2の第2バッファとで構成されている。
【0104】
表示回路71にとって、第1バッファと第2バッファは、画像データの読出し領域であり、所定の表示レジスタRGijへの埋め込み情報に基づいて、インデックス番号N1/N2をトグル的に変化させることで、第1バッファと第2バッファの画像データを、動作周期δごとに順番に読み出している。
【0105】
一方、描画回路74にとって第1バッファと第2バッファは、画像データの書込み領域であって、ディスプレイリストDL上の指示コマンドに基づいて、インデックス番号N1/N2を、動作周期δごとにトグル的に変化させることで、第1バッファと第2バッファに交互に画像データを書込んでいる。
【0106】
描画回路74の書込み動作と、表示回路71の読出し動作は対応しており、ある動作周期で第1バッファに書込まれた画像データは、次の動作周期で、表示回路71によって読み出され、この第1バッファの画像データが読み出される動作周期では、描画回路74が第2バッファに画像データを書込んでいる。その後の動作も同じであり、第1バッファと第2バッファが、「書込み領域」又は「読出し領域」として、交互に使用される。
【0107】
このフレームバッファFBや、圧縮データの展開空間を除く、それ以外の一般的な作業空間として、本実施例では、VRAM53や拡張RAM54の任意領域に確保したインデック空間を使用している。これら各種のインデック空間は、必要時に確保することができ、不必要時に開放することもできるが、インデックス空間が確保/開放されると、インデックス空間とインデックス番号とを紐付けて記憶するインデックステーブルIDXTBLの内容が更新されることで、その後の整合的な動作が可能となる。
【0108】
以上、インデックス空間と、CPU回路51について説明したので、次に、総合演出回路52について説明する。
【0109】
総合演出回路52は、(1) 内部動作を規定する設定値が、演出制御CPU57によって設定される各種の演出制御レジスタRGijと、(2) チップ内部回路間及びチップ内外の回路間でデータ送受信を実行するデータ転送回路70と、(3) VRAM53や拡張RAM54に確保された作業領域であるインデックス空間を管理するインデックステーブルIDXTBLと、(4) 描画動作に先行して外部ROM55をREADアクセスするプリロード動作が実行可能なプリローダ72と、(5) 外部ROM55から読み出した画像演出用の圧縮データをデコードするGDEC回路(Graphic Decoder )73と、(6) デコード後の静止画データや動画データを適宜に組み合わせて表示装置DSの一フレーム分の画像データをフレームバッファFBに生成する描画回路74と、(7) 描画回路74が生成したフレームバッファFBの画像データを読み出して、適宜な画像処理をして出力する複数系列の表示回路71と、(8) 複数系統の表示回路71の出力を適宜に選択出力する出力選択部76と、(9) 出力選択部76が出力する画像データをLVDS信号などに変換して出力する出力部77と、(10)音声コマンドリストVCに基づいて音声演出を実行する音声処理部SNDと、(11)モータ演出を実行するモータ制御部MT_CTLと、(12)ランプ演出を実行するランプ制御部L_CTL と、を有して構成されている(
図5(a)参照)。なお、音声処理部SNDには、外部ROM55から読み出した音声演出用の圧縮データをデコードする音声デコーダが含まれている。
【0110】
モータ演出は、演出制御CPU57の制御動作に基づいて実行され、具体的には、モータ演出用の所定の演出制御レジスタRGijへの設定値と、拡張RAM54にコピーされた制御データ(モータ駆動データ)と、に基づいて実行される。ランプ演出も同様であり、演出制御CPU57の制御動作に基づいて実行され、具体的には、ランプ演出用の所定の演出制御レジスタRGijへの設定値と、拡張RAM54にコピーされた制御データ(ランプ駆動データ)と、に基づいて実行される。
【0111】
図5(b)には、CPUバス部56、CGバスIF部55a、拡張RAMIF部54a、及び、VRAMIF部53aと、演出制御レジスタRGij、外部ROM55、拡張RAM54、及びVRAM53と、の関係などが図示されている。図示の通り、外部ROM55から取得したCG圧縮データは、CGバスIF部55a及びデータ転送回路70を経由して、GDEC回路73に供給され、解凍後の伸長(デコード)データは、拡張RAM54又はVRAM53に確保された所定のインデックス空間に展開される。
【0112】
先に説明した通り、本実施例では、VRAM53に、静止画を展開するためのACC領域が確保され、拡張RAM54に、動画フレームを展開するためのページ領域が確保されている。そして、ACC領域/ページ領域の所定のインデック空間に、静止画や動画のデコードデータが展開される。なお、外部ROM55から取得した圧縮CGデータの伸長データは、プリロードデータとして、拡張RAM54のプリロード領域に転送される場合もある。
【0113】
次に、
図7に基づいて、表示回路71について説明する。表示回路71は、フレームバッファFBの画像データをドットクロックDCKに同期して読み出して、最終的な画像処理を施した上で出力する回路である。最終的な画像処理には、例えば、画像を相似形に拡大/縮小するスケーラのスケーリング処理、微妙なカラー補正処理、画像全体の量子化誤差が最小化するディザリング処理が含まれている。これらの画像処理は、演出制御レジスタRGij(表示レジスタ)への設定値に基づいて画一的に実行される。そして、画一的な画像処理を経たデジタルRGB信号は、水平同期信号や垂直同期信号などと共に出力される。
【0114】
図7に示す通り、上記の動作を並列的に実行する3系統の表示回路A/B/Cが設けられているが、本実施例では、表示装置は1個であるので、表示回路AのためのフレームバッファFB(=FBa)だけが確保されている。但し、フレームバッファFBa~FBcを確保した場合には、独立した画像演出を実行可能な他の2つの表示装置を駆動することもできる。
【0115】
続いて、
図5(a)に戻ってデータ転送回路70について説明する。データ転送回路70は、総合演出回路52の内部リソース、及び外部記憶媒体を、転送元又は転送先として、これらの間でDMA(Direct Memory Access)的にデータ転送動作を実行する回路である。
図8は、このデータ転送回路70の内部構成を、関連する回路構成と共に記載したブロック図である。
【0116】
本実施例のデータ転送回路70の転送元としては、CPUバス部56を経由するCPUアドレス空間、外部ROM55、拡張RAM54、及びVRAM53の他、CPUレジスタポートPORTが該当する。一方、データ転送回路70の転送先としては、CPUレジスタポートPORTの他、CPUアドレス空間、拡張RAM54、VRAM53、チェックサム回路、描画回路74、プリローダ72、及び、音声処理部SNDが該当する。
【0117】
ここで、CPUアドレス空間とは、演出制御CPU57がアクセス可能な記憶領域を意味する。また、CPUレジスタポートPORTは、32bit長のレジスタであって、CPUバス部56に接続されており、演出制御CPU57は、任意にR/Wアクセスすることができる。
【0118】
また、拡張RAM54とVRAM53には、ページ領域や任意領域など仮想作業領域が定義され、これら仮想作業領域の内部には、インデックス番号で特定されるインデックス空間が確保/開放されるので、データ転送回路70の動作は、インデックス空間と実アドレス空間との関係を記憶するインデックステーブルIDXTBLを参照して実行される。そして、データ転送回路70のデータ転送元、又はデータ転送先として、拡張RAM54やVRAM53に確保されたインデックス空間を設定することもできる。したがって、VRAM53の任意領域に確保されたフレームバッファFBのデータを、拡張RAM54に転送することもできる。
【0119】
ところで、
図8に示す回路構成において、データ転送回路70が転送可能な転送サイズは、データ中継部CH0~CH1を経由する場合は、32bit×(01h~4000_0000 h)であり、データ中継部CH2~CH4を経由する場合は、32bit×(01h~100_0000h)である。すなわち、本実施例のデータ転送回路70は、所定の上限値はあるものの、32bitの整数倍の任意サイズのデータを転送可能である。ここで、hは16進数を意味し、転送サイズの上限値は、具体的には、データ中継部CH0~CH1を経由する場合は、32×1,073,741,824 bit、データ中継部CH2~CH4を経由する場合は、32×16,777,216bitである。
【0120】
図8に示す通り、データ転送回路70は、ルータ機能を有してアクセス経路を調停する調停回路ICMを経由して、外部ROM55から必要なデータを受信し、また、VRAM53、及び、拡張RAM54と、必要なデータを送受信するよう構成されている。なお、外部ROM55、VRAM53、及び、拡張RAM54は、CGバスIF部55a、VRAMIF部53a、及び拡張RAMIF部54aを経由してアクセスされる。
【0121】
このデータ転送回路70は、32bit長のCPUレジスタポートPORTに接続された、32bit×130段のCPUデータFIFO(First In First Out)回路と、5チャンネルのデータ中継部CH0~CH4と、で構成されている。先に説明した通り、CPUレジスタポートPORTは、演出制御CPU57からR/Wアクセス可能に構成されている。
【0122】
データ中継部CH0は、1024bit×18段のCH0データFIFO回路と、チェックサム回路とで構成されている。また、データ中継部CH1~CH4は、各々、1024bit×18段のCH0データFIFO回路で構成されている。そして、データ中継部CH2~CH4は、描画回路74、プリローダ72、音声処理部SNDに一方向に接続されている。
【0123】
一方、CPUデータFIFO回路と、データ中継部CH0~CH1は、双方向通信可能に構成されている。そのため、データ転送レジスタに設定された所定の転送元から、データ転送レジスタに設定された所定の転送先に対して、CPUデータFIFO回路又はデータ中継部CH0~CH1を経由して、データ転送レジスタに設定された所定の転送データ量のデータが送受信される。
【0124】
データ中継部CH0~CH4の何れの経路を採る場合でも、転送データ量(転送データサイズ)は、前記した通り、32bit単位で設定する必要があり、また、転送元と転送先の開始アドレスにも所定の制限がある。具体的には、CPUアドレス空間では8bit単位で、また、VRAM53や拡張RAM54では32bit単位で、転送元と転送先の開始アドレスを設定する必要がある。また、外部ROM55における転送元開始アドレスも、32bit単位で設定される。
【0125】
データ中継部CH0~CH1を経由する場合は、転送元及び/又は転送先が、外部ROM55、VRAM53、又は、拡張RAM54となり、CPUレジスタポートPORTに接続されたCPUデータFIFO回路を経由する場合は、転送元又は転送先が、CPUアドレス空間となる。なお、CPUアドレス空間には、当然、内蔵RAM59が含まれる。
【0126】
以上、双方向通信可能なデータ中継部CH0~CH1について説明したが、データ中継部CH2~CH4は、一方向の通信路を形成している。そして、演出制御CPU57は、CPUバス部56を経由して、CPUレジスタポートPORTを、32bit単位でWrite アクセスすることで、内蔵RAM59のDLバッファBUFのディスプレイリストDLや音声コマンドリストVCを、データ中継部CH2~CH4に一方向に送信することができる。
【0127】
また、内蔵RAM59をデータ転送元に選択することもできるので、DLバッファBUFをデータ転送元とし、描画回路74、プリローダ72、又は音声処理部SNDをデータ転送先として、(CPUレジスタポートPORTを経由することなく)、データ中継部CH2~CH4を経由して、データ転送することもできる。
【0128】
この場合は、データ転送元の内蔵RAM59の開始アドレスは、8bit単位で規定されるので、DLバッファBUFの開始アドレスの下位7bitはゼロである必要がある。また、CPUレジスタポートPORTを経由するか否かに拘わらず、転送データ量(データ転送サイズ)は、32bit単位で設定する必要がある。
【0129】
何れにしても、データ中継部CH2、データ中継部CH3、及びデータ中継部CH4は、各々、描画回路74、プリローダ72、及び音声処理部SNDに一方向に接続されている。したがって、所定のデータ転送サイズのディスプレイリストDLは、データ中継部CH2を経由して、描画回路74に転送され、データ中継部CH3を経由して、プリローダ72に転送される。また、所定のデータ転送サイズの音声コマンドリストVCは、データ中継部CH4を経由して音声処理部SNDに転送される。
【0130】
以上の通り、本実施例では、ディスプレイリストDLと音声コマンドリストVCの転送経路は、各々、(1) CPUレジスタポートPORTを経由する第1経路と、(2) CPUレジスタポートPORTを経由しない第2経路と、が用意されており、その何れを使用することもできる。なお、この点は、ディスプレイリストDLや音声コマンドリストVC以外の他のデータについても同様であり、(1) CPUレジスタポートPORT及びデータ中継部CH0~CH4を経由する第1経路と、(2) データ中継部CH0~CH4のみを経由する第2経路が存在する。第1経路は、演出制御CPU57が直接関与するデータ転送に使用され、第2経路は、演出制御CPU57が直接には関与しないデータ転送(DMA動作)に活用される。
【0131】
ところで、
図8に示す通り、CPUデータFIFO回路は、32bit単位でデータを受けるのに対して、データ中継部CH0~CH4は、1024bit単位でデータを受ける構成となっている。したがって、第1経路が活用される場合には、CPUデータFIFO回路に、1024bitのデータが溜まった時点で、データ中継部CH0~CH4の何れか(以下、チャンネルデータFIFOと称す)に、蓄積データが転送されることになる。
【0132】
すなわち、CPUデータFIFO回路に、32段未満のデータが書き込まれただけでは、チャンネルデータFIFOへのデータの転送は発生せず、32段目のデータが書き込まれた時点で、32段の蓄積データが、チャンネルデータFIFOに転送され、更にその先の転送先にデータが転送される。
【0133】
一方、データ転送サイズは、32bitの整数倍の任意値であるので、CPUデータFIFO回路のデータが32段未満で終了する場合もあり得るが、書き込まれたデータの累計サイズが、予めデータ転送レジスタに設定した転送サイズに達した時点で、32段未満の蓄積データが、チャンネルデータFIFOや、その先の転送先に転送することになる。
【0134】
このように本実施例では、データ転送回路70の転送サイズは、第1経路を経由するか第2経路を経由するかに拘わらず、32bitの整数倍の任意値である。この構成に対応して、ディスプレイリストDLを構成する指示コマンドと、音声コマンドリストVCを構成する音声コマンドは、全て32bitの整数倍で構成されている。そのため、本実施例では、ディスプレイリストDLや音声コマンドリストVCのコマンド個数に、何の制限もないことになり、自由なリスト構成を採ることができ、また、ダミーコマンドなどを付加して、総データサイズを調整する必要もない。
【0135】
図9は、CPUレジスタポートPORT及びデータ中継部CH2を経由するディスプレイリストDLの描画回路74への転送動作(
図9(a))と、内蔵RAM59からデータ中継部CH2を経由して、描画回路74にディスプレイリストDLを転送する動作(
図9(b))と、VRAM53からからデータ中継部CH2を経由して、描画回路74に修正ディスプレイリストである書換えリストDL’を転送する動作(
図9(c))とを示している。
【0136】
図9(d)と
図9(e)は、CPUレジスタポートPORTとデータ中継部CH3を経由して、プリローダ72にディスプレイリストDLを転送する動作と、内蔵RAM59からデータ中継部CH3を経由して、プリローダ72にディスプレイリストDLを転送する動作を示している。
【0137】
また、
図9(f)と
図9(g)は、CPUレジスタポートPORT及びデータ中継部CH4を経由する音声コマンドリストVCの音声処理部SNDへの転送動作と、内蔵RAM59からデータ中継部CH4を経由して、音声処理部SNDに音声コマンドリストVCを転送する動作を示している。
【0138】
CPU回路51は、データ転送回路70の動作開始に先行して、描画回路74やプリローダ72や音声処理部SNDの動作を開始させるので、描画回路74は、転送されたディスプレイリストDLに基づいた描画動作を開始する。一方、プリローダ72は、転送されたディスプレイリストDLに基づき、必要なプリロード動作を実行する。なお、転送されたディスプレイリストDLは、描画回路74やプリローダ72に内蔵されたディスプレイリストアナライザによって判定され、指示コマンドの種類に応じた処理が実行される。また、音声処理部SNDは、転送された音声コマンドリストVCに基づいて音声演出を開始又は進行させる。
【0139】
なお、ディスプレイリストDLや音声コマンドリストVCを除く、CPUアドレス空間の他のデータは、CPUバス部56を経由した後、CPUレジスタポートPORTを更に経由するか、或いは、直接的に、データ中継部CH0~CH4に伝送可能である。そして、データ中継部CH0~CH1は、伝送されたデータを、VRAM53又は拡張RAM54の所定の転送先に、調停回路ICMを経由して転送する。逆方向の転送動作も同様であり、調停回路ICMを経由してテータを受信したデータ中継部CH0~CH1は、CPUレジスタポートPORTを経由するか、或いは、直接的に、CPUアドレス空間の所定の転送先に転送する。
【0140】
次に、プリローダ72について説明するが、プリローダ72を活用するか否かは任意である。プリローダ72は、データ転送回路70のデータ中継部CH3から転送されたディスプレイリストDLを、ディスプレイリストアナライザが解釈して、LOADTXコマンドを検出した場合には、LOADTXコマンドが参照している外部ROM55上のCGデータを、拡張RAM54のプリロード領域(
図6(b)参照)に事前転送(プリロード)する。
【0141】
また、プリローダ72は、前記したLOADTXコマンドに関し、CGデータの参照先を、転送後のアドレスに書換えた書換えリストDL’を、VRAM53のDLバッファBUF’(
図6(a)参照)に記憶する。なお、DLバッファBUF’や、プリロード領域は、CPUリセット後の初期処理時に、予め確保されている。
【0142】
そして、書換えリストDL’は、描画回路74の描画動作の開始時に、データ転送回路70の調停回路ICMや、データ中継部CH2を経由して、描画回路74に転送される(
図9(c)参照)。そして、描画回路74は、書換えリストDL’に基づいて、描画動作を実行する。したがって、LOADTXコマンドなどに基づき、本来は、外部ROM55から取得すべきCGデータが、プリロード領域に先読みされているプリロードデータとして、拡張RAM54のプリロード領域から迅速に取得されることになる。この点を考慮して、通常の機器構成では、プリローダ72を機能させることになる。
【0143】
本実施例では、十分な記憶容量を有する外付け拡張RAM54にプリロード領域を設定しているので、例えば、複数フレーム分のCGデータを一気にプリロードする多重プリロードも可能である。すなわち、プリローダ72の動作期間に関し、CGデータの先読み動作を含んだ一連のプリロード動作の動作期間を、総合演出回路52の間欠動作時の動作周期δの整数倍の範囲内で、適宜に設定することで多重プリロードが実現される。
【0144】
但し、以下の説明では、便宜上、多重プリロードのない実施例について説明するので、実施例のプリローダ72は、一動作周期δの間に、一フレーム分のプリロード動作を完了することにする。なお、本実施例では、総合演出回路52の間欠動作時の動作周期δは、表示装置DSの垂直同期信号の2倍周期である1/30秒である。
【0145】
次に、描画回路74は、データ転送回路70を経由して転送されたディスプレイリストDLや書換えリストDL’の指示コマンド列を順番に解析して、GDEC回路73やジオメトリエンジンなどと協働して、VRAM53に確保しているフレームバッファFBに、表示装置DSの一フレーム分の画像を描画する。
【0146】
上記の通り、プリローダ72を機能させる場合には、書換えリストDL’のCGデータの参照先は、外部ROM55ではなく、拡張RAM54に設定されたプリロード領域である。そのため、描画回路74による描画の実行中に生じるCGデータへのシーケンシャルアクセスを迅速に実行することができ、動きの激しい高解像度の動画についても問題なく描画することができる。
【0147】
ところで、プリローダ72を機能させるか否かに拘らず、ディスプレイリストDLや書換えリストDL’の転送時に、仮にデータのビット化けが発生しても、描画回路74は、これを検出することはできない。そこで、本実施例では、ウォッチドックタイマと同様の構成を有するタイムアウト監視回路を設けて、描画回路74の動作開始後、一定時間を超えてメモリアクセスがされない異常を検出するようにしている。
【0148】
描画回路74の動作異常を検出するため、本実施例では、タイムアウト時間を任意に設定可能な時間設定レジスタTOが設けられている。なお、時間設定レジスタTOは、描画レジスタの一種であり、また、描画回路74の動作は、所定の描画レジスタ(描画動作許否レジスタ)への設定値に基づいて開始されるよう構成されている。
【0149】
時間設定レジスタTOに所定のタイムアウト時間を設定した状態で、描画動作許否レジスタに開始情報を設定すると描画回路74が動作を開始し、これに対応して、タイムアウト監視回路は、メモリアクセス周期を監視する。そして、タイムアウト時間を超えてもメモリアクセスがされない場合には、所定の描画レジスタの異常フラグがONセットされて異常割込みが起動される。
【0150】
この異常の異常割込みに対応して、割込み処理プログラムを起動させて対処することもできるが、本実施例では、異常フラグのON/OFF状態を、総合演出回路52の動作周期δ毎にチェックすることで、異常画面の出現を防止している。具体的には、異常フラグがON状態の場合には、例え、描画回路74の動作が完了していても、その動作周期での画面更新をスキップすることで対処している。
【0151】
ここで、特許文献1~2の構成のように、WDT58を起動させる対策や、描画回路74をリセットする対策を採ると、不自然な画面表示が出現するおそれがあるが、本実施例では、最小限の対応で異常画面の出現を簡易に防止している。また、監視するタイムアウト時間は、ディスプレイリストDLにおけるLOADTXコマンドなどの配置状況や、外部ROM55などのアクセスタイムなどを考慮して任意に設定できるので、最適な監視動作を実現できる。
【0152】
ところで、上記の構成では、描画回路74の動作開始から動作終了までメモリアクセス周期を監視したが、この構成に代え、又は、この構成に加えて、GDEC回路73の動作開始から終了までの動作時間を監視する構成を採るもの好適である。この場合も、時間設定レジスタTO’には、テクスチャのデータ容量を考慮した最適値が設定できるので、最適な監視動作を実現できる。
【0153】
後者の構成の場合には、タイムアウト監視回路は、CG圧縮データについてGDEC回路73のデコード動作開始毎に、毎回の監視動作を開始し、デコード終了時に、その回の監視動作を終える。なお、タイムアウト時に、所定の描画レジスタの異常フラグがONセットされ、異常割込みが起動されること、及び、異常検出時には、その動作周期での画面更新をスキップすることは、前者の構成の場合と同じである。なお、本実施例では、異常フラグのON/OFF状態を、総合演出回路52の動作周期δ毎にチェックするフラグポーリング方式を採っているが、異常割込み処理プログラムを起動させて、問題が生じた動作周期での画面更新をスキップする構成を採っても良い。
【0154】
次に、画像フィルタ回路75は、ディスプレイリストDLに記載された指示コマンド(フィルタ実行系コマンド)に基づいて機能して、VRAM53、または拡張RAM54に一時保存されたテクスチャに対して、適宜なフィルタ処理を実行する回路である。すなわち、実施例の画像フィルタ回路75は、演出制御レジスタRGijへの設定値に基づく画一的なフィルタ動作でなく、適宜な指示コマンドを、ディスプレイリストDLに任意に記載することで、必要な画像データに対する自由なフィルタ処理が可能となる。
【0155】
フィルタ処理の内容は、フィルタ実行系コマンドの選択と、選択されたコマンドの設定パラメータによって規定されるが、実行可能なフィルタ処理には、(1) FIR(Finite Impulse Response )フィルタ処理、(2) ダウンサンプリング処理、(3) 線形補間処理と、が含まれる。ここで、ダウンサンプリング処理は、演出制御レジスタRGij(表示レジスタ)への設定値に基づいて動作する表示回路71における画一的なスケーリング処理とは異なる処理である。
【0156】
すなわち、ダウンサンプリング処理は、スケーリング処理のように相似形状に縮小するのではなく、縦方向だけ、または横方向だけを縮小する動作を含んでいる。特に限定されないが、ダウンサンプリングでは、対象ピクセルを囲む所定範囲のピクセルの画像情報の平均値を求めて、移動平均処理などの間引き処理を施すことでテクスチャを縮小する。
【0157】
図10(a)は、フィルタ実行系コマンドによって、FIRフィルタ処理が連続二回実行される動作例を説明する図面である。先ず、SETFTINDEXコマンドによって、フィルタ処理の対象となる参照テクスチャを保存すべき、保存先インデックス空間を設定し(コマンド処理L20)、続く、LOADTXコマンドによって、そのコマンドの設定パラメータが指示する外部ROM55から、参照テクスチャを取得し、デコード後の画像データを、保存先インデックス空間に保存する(コマンド処理L21)。
【0158】
そして、続くSETFTINDEXコマンドで、結果テクスチャの保存先となるインデックス空間を設定すると共に(コマンド処理L22)、SETFTSAMP コマンドや、SETFTCOEF コマンドで、フィルタ係数や、その他の情報を設定した上で(コマンド処理L23)、FTEXECFIR コマンドによってFIRフィルタ処理を実行する(コマンド処理L24)。なお、SETFTINDEXコマンドは、そのコマンドの設定パラメータによって、参照テクスチャ用のインデックス空間を特定するか、或いは、結果テクスチャ用のインデックス空間を特定するかが区別される。
【0159】
図10(b)に示す通り、指示コマンドL20が規定する参照テクスチャ用のインデックス空間に展開された画像データは、指示コマンドL23が指示するFIRフィルタ処理がされた後に、指示コマンドL22が指定する結果テクスチャ用のインデックス空間に保存されることになる。
【0160】
続いて、SETFTINDEXコマンドで、参照テクスチャのインデックス空間を設定すると共に(コマンド処理L25)、SETTXINDEXコマンドで結果テクスチャの保存先となるインデックス空間を設定する(コマンド処理L26)。指示コマンドL25では、フィルタ処理後の画像データが参照テクスチャとされるので、指示コマンドL22で指示された結果テクスチャは、指示コマンドL25によって参照テクスチャに変わることになる。
【0161】
その後は、SETFTSAMP コマンドやSETFTCOEF コマンドで、必要なフィルタ係数を設定し、その他の情報を設定した上で(コマンド処理L27)、FTEXECFIR コマンドによって必要なFIRフィルタ処理を実行する(コマンド処理L28)。すると、フィルタ処理後の画像データは、指示コマンドL26が指示したインデックス空間に保存されているので、SETTXMODE コマンドを機能させた後、SPRITEコマンドを実行することで(コマンド処理L29)、FIRフィルタ処理を経た画像データが、仮想描画空間の適宜な矩形区画に描画されることになる。
【0162】
図10(c)は、フィルタ実行系コマンドによって、スケーリング処理が実行される動作例を説明する図面である。先ず、SETFTINDEXコマンドによって、スケーリング処理の対象となる参照テクスチャを保存すべき、保存先インデックス空間を設定し(コマンド処理L30)、続く、LOADTXコマンドによって、そのコマンドの設定パラメータが指示する外部ROM55から、参照テクスチャを取得する(コマンド処理L31)。
【0163】
次に、SETTXINDEXコマンドによって、拡大/縮小に必要な補助データを保存するインデックス空間を設定する(コマンド処理L32)。ここで、補助データは、参照テクスチャから注出されるプレーン情報であって、参照テクスチャを特徴付ける情報である。このような補助データを問題にするのは、実施例のスケーリング処理は、相似形状ではない非相似形の変形も含まれるので、変形後の画像の不自然さを解消するための適宜な補完処理を実行するためである。
【0164】
そのため、本実施例のスケーリング処理では、コマンドL32に続いて、FTEXECGRD コマンドを記載して、補助情報(プレーン情報)をコマンドL32が規定するインデックス空間に生成する(コマンド処理L33)。ここまでのコマンドで必要な準備が完了するので、次に、SETTXINDEXコマンドで、テクスチャとして使用するインデックス空間を設定し(コマンド処理L34)、SETTXSAMP コマンドで、必要な情報を設定した上で、SETTXMODE コマンドでスケーリング処理を実行する(コマンド処理L35)。
【0165】
以上の結果、スケーリング処理後の画像データは、指示コマンドL34が指示したインデックス空間に保存されているので、SETTXMODE コマンドを機能させた後、SPRITEコマンドを実行することで(コマンド処理L36)、スケーリング処理後の画像データが、仮想描画空間の適宜な矩形区画に描画されることになる。
【0166】
以上、画像フィルタ回路75を説明したが、GDEC回路73は、ストリーム動画、静止画、その他α値などの圧縮データについて、各圧縮アルゴリズムに対応するソフトウェア処理によってデコード処理を実行している。本実施例の場合、ストリーム動画には、Sストリームと、IPストリームと、IPBストリームに区分され、ストリーム動画を構成するフレームは、Iピクチャ、Sピクチャ、Pピクチャ、又はBピクチャを適宜に組み合わせて構成されている。
【0167】
I(Intra coded )ピクチャは、イントラ(画面内)符号化の画面を意味し、他画面とは独立して、入力画像をそのまま圧縮した画像データを意味する。一方、Sピクチャは、直近前後のIピクチャを参照して予測符号化を行う画像データであり、Iピクチャより圧縮率が高い利点がある。本実施例のSストリーム動画は、このIピクチャとSピクチャを組み合わせた動画であり、Iピクチャを一定の周期に従って配置することで、Iピクチャを起点とするランダムアクセスや逆再生を実行することができ、効果的な画像演出を実現することができる。なお、Sピクチャを含まないSストリーム動画も可能であり、Sピクチャ無しのSストリーム動画は、Iストリーム動画と実質的に同一となる。
【0168】
次に、Pピクチャ(Predictive coded)は、時間的に過去のフレームから現フレームに対する予測する前方向予測符号化を行う画像データであり、時間的に過去に位置するIピクチャまたはPピクチャから予測符号化を行う。一方、Bピクチャ(Bidirectional coded )は、前方予測に加えて、未来フレームから現フレームを予測する後方予測を実行する双方向予測符号化を行う画像データであり、時間的に過去と未来に位置するIピクチャまたはPピクチャから予測符号化を行う。
【0169】
一般に、フレーム間予測技術には、時間的に過去のフレームから現フレームに対する予測する前方予測(順方向予測)と、未来フレームから現フレームに対する予測をする後方予測(逆方向予測)と、前方予測に加えて後方予測を実行する双方向予測があるが、Bピクチャでは、双方向予測を行うので、予測精度を向上させることができる。
【0170】
そこで、本実施例では、IピクチャとSピクチャと組み合わせるSストリーム動画に加えて、Iピクチャ、Pピクチャ、Bピクチャを適宜に組み合わせたIPストリーム動画やIPBストリーム動画も再生できるよう構成されている。なお、IPストリーム動画は、IピクチャとPピクチャを組み合わせて構成され、IPBストリーム動画は、IピクチャとPピクチャとSピクチャを組み合わせて構成される。
【0171】
以上の関係から明らかなように、Sピクチャを含むSストリーム動画や、IPBストリーム動画では、後方予測符号化の必要性から、SピクチャやBピクチャの取得に先行して、時間的に後で再生されるべきIピクチャやPピクチャを取得してデコードする必要が生じる。
【0172】
そこで、本実施例では、一のLOADTXコマンドで、複数のテクスチャ、つまり、メインフレームのCGデータと、サブフレームのCGデータ、を特定できるよう構成されている。ここで、メインフレームは、現タイミングで再生させるべきCGフレームデータを意味し、サブフレームは、時間的に異なるタイミングで再生されるべきCGフレームデータを意味する。
【0173】
例えば、Sピクチャでは、直近(一つ前又は一つ後)のIピクチャを参照して予測符号化を行うので、IピクチャとSピクチャとを連続させるSストリーム動画においては、メインフレームとしてのSピクチャと、サブフレームとしてのIピクチャの各CGデータが、一のLOADTXコマンドで取得されデコードされることがある。
【0174】
また、Bピクチャ(Bidirectional coded )では、双方向予測符号化を行うので、Bピクチャのデコード処理に先行して、過去フレームのCGデータと、未来フレームのCGデータがデコード状態で確保されている必要がある。そこで、本実施例では、IPBストリーム動画を再生する場合には、この再生動作に先行して、過去フレームを保存する第1参照バッファと、未来フレームを保存する第2参照バッファと、を確保する必要がある。なお、参照バッファは、参照画像を保存するに十分な容量を有するインデックス空間であり、VRAM53又は拡張RAM54の任意領域に確保され、一意のインデックス番号で特定される。
【0175】
図11は、IPBストリーム動画の再生手順を説明する図面であり、再生動作は、紙面の上方から下方に向けて移行する。そして、
図11は、横方向に6区分されており、左から順番に、(1) ディスプレイリストDL上のLOADTXコマンド、(2) IPBストリーム動画を構成するピクチャ、(3) メインフレーム及びサブフレームのデコード処理、(4) 参照画像のデコード処理、(5) 参照画像が保存される参照バッファ、(6) 表示画面に表示されるデコード画像を保存するインデックス空間(展開空間)を示している。
【0176】
第1欄の下向き矢印は、間欠的に動作する総合演出回路52(GDEC回路73)の動作周期の推移を示しており、第6欄の下向き矢印は、表示装置DSに表示される画像の表示順を示している。以下の説明では、便宜上、タイミングT1~タイミングT7で再生される一群の動画フレームをGOP(Group Of Picture)としているが、動画再生用の一連のディスプレイリスト上のLOADTXコマンドの埋め込みパラメータに基づいてGOPは適宜に変更可能である。
【0177】
先ず、Iピクチャを再生すべきタイミングT1のLOADTXコマンドは、そのコマンドの埋め込みパラメータによって、メインフレームとしてのIピクチャ(I1)と、サブフレームとしてのPピクチャ(P1)のアドレスが特定される。なお、デコードデータを格納すべき展開空間のインデックス番号も特定される。
【0178】
そのため、タイミングT1のLOADTXコマンドの指示に基づき取得されたIピクチャ(I1)は、デコード後、本来の展開空間と共に、過去フレームを保存する第1参照バッファにも保存される。また、タイミングT1のLOADTXコマンドの指示により、Pピクチャ(P1)が取得され、そのデコードデータは、参照画像として、未来フレームを保存する第2参照バッファに保存される。特に限定されないが、参照画像は、特殊な手法で圧縮した状態で記憶される。
【0179】
次に、タイミングT2のLOADTXコマンドは、メインフレームとしてのBピクチャ(B1)だけを指示している。そして、双方向予測動作として、第1参照バッファのIピクチャ(I1)と、第2参照バッファのPピクチャ(P1)と、Bピクチャ(B1)とに基づいて現フレームの画像データB1を再生して展開空間に保存する。続くタイミングT3のLOADTXコマンドについても同様であり、第1参照バッファのIピクチャ(I1)と、第2参照バッファのPピクチャ(P1)と、Bピクチャ(B2)とに基づいて現フレームの画像データB2を再生して展開空間に保存する。
【0180】
次に、Pピクチャを再生すべきタイミングT4のLOADTXコマンドでは、そのコマンドの埋め込みパラメータによって、メインフレームとしてのPピクチャ(P1)を、第2参照バッファから取得すべきことが指示される。また、サブフレームであるPピクチャ(P2)のアドレスが特定される。
【0181】
そのため、タイミングT4では、特殊手法で圧縮されている第2参照バッファのPピクチャ(P1)を解凍して、展開空間に保存する共に、その後の処理における過去フレーム画像として、Pピクチャ(P1)を第1参照バッファに記憶する。また、タイミングT4のLOADTXコマンドの指示により、将来のPピクチャ(P2)が取得され、そのデコードデータは、未来フレームの参照画像として、第2参照バッファに保存される。
【0182】
その後のタイミングT5及びT6の動作は、タイミングT2及びT3の動作と実質的に同じである。すなわち、タイミングT5では、双方向予測に基づき、第1参照バッファのPピクチャ(P1)と、第2参照バッファのPピクチャ(P2)と、Bピクチャ(B3)とに基づくB3ピクチャ画像が展開空間に展開される。また、タイミングT6では、第1参照バッファのPピクチャ(P1)と、第2参照バッファのPピクチャ(P2)と、Bピクチャ(B4)とに基づくB4ピクチャ画像が展開空間に展開される。
【0183】
次に、タイミングT7のLOADコマンドでは、メインフレームとしてのPピクチャ(P2)を、第2参照バッファから取得すべきことが指示される。また、サブフレームであるIピクチャ(I2)のアドレスが特定される。そのため、タイミングT7では、第2参照バッファのPピクチャ(P2)を解凍して、展開空間に保存する共に、タイミングT7のLOADTXコマンドの指示により、Iピクチャ(I2)が取得され、そのデコードデータは、未来フレームの参照画像として、第2参照バッファに保存される。
【0184】
その次のタイミングT9では、メインフレームとしてのIピクチャ(I2)を、第2参照バッファから取得すべきことが指示される。そのため、第2参照バッファのIピクチャ(I2)を解凍して、展開空間に保存する共に、その後の処理における過去フレーム画像として、Iピクチャ(I2)を第1参照バッファに記憶する。なお、タイミングT9のLOADコマンドでは、サブフレームであるPピクチャ(P3)のアドレスが特定されているので、Pピクチャ(P3)が取得され、そのデコードデータは、未来フレームの参照画像として、第2参照バッファに保存される。
【0185】
図12(a)は、音声処理部SNDの内部構成を示すブロック図である。図示の通り、音声処理部SNDは、64トラックの処理ブロックが並列動作可能に配置された前処理部FTと、マスタエフェクト部、マスタボリューム部、出力保護部、及びシリアライザから構成された後処理部BKと、前処理部FTの出力を後処理部BKに伝えるミキサMXと、に区分される。
【0186】
図示の通り、前処理部FTには、外部メモリ55から、音声圧縮データ(圧縮フレーズデータ)を受ける64個のデコーダが配置されている。一方、後処理部BKは、シリアライザを経由することで、クロック信号SBCLK 及び制御信号SLRCLKと共に、4経路A/B/C/Dの音声信号SDOUTA~SDOUTDをシリアルデータとして出力可能に構成されている。4経路A/B/C/DのシリアルデータSDOUTA~SDOUTDは、各1本のデータ線に右データRと左データLとを含んでおり、制御信号SLRCLKが、Hレベル期間であるか、Lレベル期間であるかに応じて、そのタイミングのシリアルデータSDOUTAが、左データLであるか、右データRであるかが特定される。
【0187】
続いて、前処理部FTの内部動作について説明すると、デコーダで解凍されたフレーズデータは、一次ボリューム、二次ボリューム、及びパンポット部において適宜に音量が調整される。ここで、一次ボリュームと、二次ボリュームは、二段階の音量調整を担当し、パンポット部では、左右スピーカの音量比が調整される。なお、一次ボリューム、二次ボリューム、及びパンポット部の具体的な動作内容は、音声コマンドリストVCに記載された音声コマンドによって各々規定される。
【0188】
ところで、フレーズデータとは、一単位の音声演出を実現する音声データであって、背景音の一曲分や、効果音や掛け声などの音声演出の一単位が含まれる。そして、前処理部FTのパンポット部からは、一のフレーズデータが、8経路に出力される。図示の通り、本実施例では、64トラックの処理ブロック(前処理部FT)が、並列動作可能に配置されており、最大では、64個のフレーズデータが、ミキサMXに対して出力可能となり、4経路A/B/C/Dの左右音声R/Lとなる8経路に纏めた音声データが後処理部BKに伝送される。
【0189】
パンポット部では、左右スピーカの音量比を調整できるので、例えば、第1トラックのパンポット部では、左右音量比を、最高値:ゼロとして、ミキサMXの第1ラインにだけ出力する一方で、第2トラックのパンポット部で、左右音量比をゼロ:最高値として、ミキサMXの第2ラインにだけ出力することもできる。そのため、例えば、左音声である第1フレーズデータは、第1ラインにだけ出力され、また、右音声である第2フレーズデータは、第2ラインにだけ出力されることになり、A系統の左右スピーカでのステレオ再生が可能となる。
【0190】
次に、後処理部BKの内部動作について説明すると、マスタエフェクトは、音声フィルタ処理を実行し、マスタボリュームでは、音量を最終決定する。そして、これらの具体的な動作内容は、音声コマンドリストVCに記載された音声コマンドによって規定される。マスタボリュームは、例えば、音量演出を一気に無音化する無音予告などの用途で使用され、マスタエフェクトは、例えば、音質を極端に変更する変音予告などの用途で使用される。
【0191】
図12(b)は、音声コマンドリストVCと、音声コマンドリストVCに記載された音声コマンドによって実現される音声演出の関係を図示している。ここでは、特定のフレーズデータの再生開始を指示するSTART コマンドと、特定のフレーズデータの再生停止を指示するPAUSE コマンドと、特定のフレーズデータの再生再開を指示するRESUMEコマンドと、特定のフレーズデータの再生終了を指示するSTOPコマンドと、が例示的に示されている。なお、音声コマンドリストVCは、一又は複数の音声コマンドを記載して構成されるが、所定の終了コマンドEOSCで終結させる必要がある。
【0192】
先ず、音声コマンドリストVC1には、音声コマンドSTART1~ START64によって64種類のフレーズデータの再生開始が指示される。そのため、64種類の圧縮フレーズデータのデコード処理が終わると、64種類のフレーズデータの再生動作が開始される。
【0193】
次に、音声コマンドリストVC2には、音声コマンドPAUSE1、PAUSE2、及びSTOP64が記載されているので、フレーズデータ1,2,64の再生が一時停止又は終了する。その後、音声コマンドリストVC2には、音声コマンドRESUME1 と、RESUME2 が記載されるので、一時停止されているフレーズデータ1,2の再生が再開される。
【0194】
なお、音声コマンドリストVCは、フレーズデータの再生開始時や再生終了時だけでなく、総合演出回路52の動作周期δ(=1/30 秒)における必要なタイミングで出力可能である。すなわち、ディスプレイリストDLは、総合演出回路52の動作周期δ毎に出力されるが、音声コマンドリストVCは一般に不定期に出力される。
【0195】
続いて、描画回路74において実行可能な描画パイプライン処理について説明する。
図13(a)は、描画回路74のうち、描画パイプライン処理に関連する部分を注出して図示したものである。ディスプレイリストアナライザは、ディスプレイリストDLに記載された指示コマンドを順番に解析して、その種類に応じて、適宜な内部回路に指示コマンドを転送している。なお、
図13(a)では、指示コマンドを、特に、描画コマンドと表記しており、以下の説明では、指示コマンドを描画コマンドと称呼することがある。
【0196】
描画コマンドを受ける内部回路は、各々が並列的に動作するよう構成されており、ディスプレイリストアナライザは、ディスプレイリストDLに記載された描画コマンドを記載順に解析して、描画コマンドを、これに対応する内部回路に次々と転送する(
図13(a)参照)。
【0197】
ところで、描画回路74の内部回路は、ディスプレイリストDLを発行するCPU回路51や、ディスプレイリストDLの構成データを順番に転送するデータ転送回路70とは非同期的に動作し、一般に、ディスプレイリストDLの構成データの転送速度より、描画回路74の内部回路の動作速度の方が各段に遅い。
【0198】
そこで、描画コマンドを受ける内部回路には、処理開始前の描画コマンドを蓄積する待機キューが設けられており、ディスプレイリストアナライザは、待機キューに空きがあることを条件に、描画コマンドを、待機キューに投入する。すなわち、待機キューが空くまで、ディスプレイリストアナライザは、投入動作をストール(一時停止stall )するので、描画コマンドが失われるおそれはない。なお、待機キューに表記した数値は、キューの段数を例示的に示したものである。
【0199】
先に説明した通り、ディスプレイリストDLに記載される指示コマンドには、(1) インデックス空間を管理するインデックステーブルIDXTBLに関するインデックステーブル制御系コマンドと、(2) 外部ROM55から画像素材(テクスチャ)を読み出してデコード(解凍/展開)するためのLOADTXコマンドなどのテクスチャロード系コマンドと、(3) 解凍後の画像データに対するフィルタ処理を特定するフィルタ実行系コマンドと、(4) デコード(展開)後の画像素材を仮想描画空間の所定位置に配置するためのSPRITEコマンドなどの描画系コマンドと、(5) 描画パイプライン動作に関するパイプライン系コマンドと、が含まれている。
【0200】
図13(a)に示す通り、インデックステーブル制御系コマンド(1) は、インデックステーブルIDXTBLの制御回路に転送され、テクスチャロード系コマンド(2) は、GDEC回路73に転送され、フィルタ実行系コマンド(3) は、画像フィルタ回路75に転送され、各々、転送先の回路で適宜に処理される。具体的には、GDEC回路73は、転送された描画コマンド(テクスチャロード系コマンド)に基づいて動作して、必要なテクスチャを取得し、解凍データをデコード空間に展開する。
【0201】
また、インデックステーブルIDXTBLの制御回路が機能することで、インデックステーブルIDXTBLは、適宜に更新される。画像フィルタ回路75は、所定の参照テクスチャに、指定されたフィルタ処理を施して、フィルタ処理結果を、所定のインデック空間に保存する(
図10参照)。なお、所定の描画コマンド(高速転送コマンド)を受けると高速転送回路TRNSが機能して、VRAM53と拡張RAM54との間で、高速度でデータ送受信をすることもできる。高速転送回路TRNSは、描画回路74の内部回路であって、データ転送回路70とは別個の回路である。
【0202】
データ転送回路70を使用する場合には、CPU回路51が、所定の演出制御レジスタRGij(データ転送レジスタ)に、転送元媒体の種類と転送開始アドレス、転送先媒体の種類と受け取り開始アドレス、及び転送サイズなどを設定する必要があるが、高速転送回路TRNSは、必要時に、ディスプレイリストDLの指示コマンド(転送実行コマンド)によって機能させることができる簡易性があり、しかも、インデック空間を単位とした二次元データの高速転送ができる利点がある。なお、本実施例の構成を採ることなく、定常的に機能している制御プログラムにおいて、必要時に限り、データ転送回路70を使用することは、プログラム構成上容易ではない。
【0203】
ところで、先に説明した通り、描画パイプライン動作は、描画回路74に内蔵された頂点バッファVBや、インデックス空間として確保されているフレームバッファFBや、ポリゴンの前後関係やピクセル表示有無を管理する深度・ステンシルバッファを使用して実行され、入力アセンブラ工程IAと、ジオメトリエンジン工程TLと、ラスタライザ工程RSと、テクスチャサンプラ工程TXと、テクスチャ工程PSと、ピクセル描画工程PXと、レンダー工程ROと、が必要時応じて実行されるよう構成されている。
【0204】
すなわち、工程IA→工程TL(工程VB)→工程RS→工程TX→工程PS→工程PX→工程ROの順番で、全工程を経るか、或いは、一部の工程を経て、上流から下流に向けて描画パイプライン処理が実行される。各工程は、各々、並列的に動作するが、下流ほど描画コマンドの実行完了が遅くなるので、各工程に投入される描画コマンドを蓄積する待機キューの段数は、上流側の待機キューの段数を下回らないよう構成されている。
【0205】
図13(a)に例示する通り、待機キューの段数は、工程IA→工程TL→工程RS→工程TX→工程PS→工程PX→工程ROに対応して、1段→5段→14段→18段→18段→23段となっており、各工程の段数は、上流側の待機キューの段数と同じか、それ以上となっている。
【0206】
ところで、先に説明したパイプライン系コマンドは、パイプライン各工程(IA,TL,VB,RS,TX,PS,PX,RO)の動作内容を規定する設定コマンドであり、取得されたパイプライン系コマンドは、パラメータ設定部SETに転送され、パラメータ設定部SETは、ジオメトリエンジンなど、必要な内部回路に必要な動作パラメータを設定する。
【0207】
本実施例の場合、
図13(b)に示す通り、描画パイプラインは、工程IAと、工程TLと、工程RSと、工程TXと、工程PSと、工程PXと、工程ROとで構成されているが、先ず、入力アセンブラ工程IAでは、通常、ローカル座標で定義されている三次元の3D描画オブジェクトの頂点ストリームを取得し、その後の処理に必要な情報を記憶し、所定の頂点情報を有する頂点データを出力する。
【0208】
この工程IAでは、工程IA用の設定コマンド(パイプライン系コマンド)の他に、描画系コマンドのDRAWコマンドやDRAWD コマンドが使用される。DRAWコマンドでは、一連の頂点ストリームが格納されたメモリ(本実施例では外部ROM55)の先頭アドレスと、頂点数とが指定される。
【0209】
一方、DRAWD コマンドでは、コマンドに一連の頂点ストリームが埋め込まれている。そして、DRAWコマンドやDRAWD コマンドの具体的な動作内容は、各コマンドの埋め込み情報や、工程IA用の設定コマンドで規定される。なお、頂点ストリームには、頂点毎に頂点カラー(RGBAの色情報)が規定可能であるが、頂点カラーが規定されていない場合には、入力アセンブラ工程IAにおいて、デフォルト値が、頂点情報として設定される。ここで、RBGは、R=Red ,B=Blue,G=Green の色情報を意味するが、Aは、不透明度を示すアルファ値αであって、画像を重複させる合成時のαブレンディング処理で利用される。
【0210】
続く、ジオメトリエンジン工程TLでは、入力アセンブラ工程IAから出力される頂点データについて、3D描画オブジェクトの頂点座標を座標変換する行列演算や、光源などに関するライティング処理が実行される。座標変換処理では、ローカル座標をビュー座標に変換するビュー行列演算や、射影変換(透視投影)の行列演算が実行される。
【0211】
ここで、ビュー座標は、視点を原点とし、無限遠点(0,0,-∞)を視線の先にとる座標系である。そして、射影変換では、3D描画オブジェクトの配置位置に対応する遠近感を実現するため、3D描画オブジェクトの形状を拡大/縮小することで、ビュー座標系からクリップ座標系への変換が実現される。
【0212】
行列演算の具体的な内容は、TL工程用の設定コマンド(パイプライン系コマンド)で規定され、DRAWコマンド又はDRAWD コマンドによって所定のジオメトリ行列演算の実行が指示される。そのため、工程IAと工程TLを、一の描画系コマンド(DRAW/DRAWD )で、まとめて実行することができる。但し、何れの場合も、描画系コマンド(DRAW/DRAWD )によるジオメトリ行列演算の実行結果は、頂点バッファVBに保存される。
【0213】
なお、ジオメトリエンジン工程TLは、必須ではなく、クリップ座標で定義された頂点ストリームを外部ROM55から取得する場合は、その情報は、入力アセンブラ工程IAを経て、そのまま頂点バッファVBに記憶される。また、複数の3D描画オブジェクトについて、入力アセンブラ工程IAやジオメトリエンジン工程TLを繰り返しても良く、頂点バッファVBは、最大256頂点を格納できるよう構成されている。
【0214】
次に、ラスタライザ工程RSでは、頂点バッファVBの頂点情報に基づいてプリミティブ(primitive )を生成描画し、クリップ座標系からウィンドウ座標系への変換、クリッピング、カリング、シザリング等によって描画不要ポリゴンを排除した上で、3D描画オブジェクトのピクセルデータが生成される。すなわち、三次元の3D画像オブジェクトが、仮想描画空間に対応するウィンドウ座標系(ワールド座標)の所定位置に、所定姿勢に配置された状態で確定される。
【0215】
なお、プリミティブを生成するには、トライアングルリスト、トライアングルストリップ、又はトライアングルファンなどのトライアングル描画手法と、ラインリスト、ラインストリップ、ラインファンなどのライン描画手法が、適宜に選択して使用可能である。
【0216】
また、このラスタライザ工程RSでは、処理内容を具体的に規定するRS工程用の設定コマンド(パイプライン系コマンド)の他に、描画系コマンドのDRAWコマンド、DRAWD コマンド、DRAWI コマンド、SPRITEコマンドが適宜に使用される。
【0217】
ここで、DRAWI コマンドは、頂点バッファVBから取得した頂点データに基づいて、プリミティブを生成して描画する。一方、DRAWコマンドでは、外部ROM55から取得した頂点ストリームに基づき、一方、DRAWD コマンドでは、そのコマンドに埋め込まれた頂点ストリームに基づいてプリミティブを生成して描画する。
【0218】
したがって、ジオメトリエンジン工程TLを経ることなく、ラスタライザ工程RSを実行することもできる。例えば、二次元の2D描画オブジェクトの場合は、ジオメトリエンジン工程TLは特に不要である。なお、何れの場合も、ラスタライザ工程RSを経て生成される各ポリゴンは、頂点毎の頂点カラーに基づく、ピクセル毎のRGBA色情報を持っている。
【0219】
次に、テクスチャサンプラ工程TXでは、テクスチャとして使用するインデックス空間が特定され、また、ピクセルごとのテクスチャ座標が特定される。そして、テクスチャ工程PSでは、ラスタライザ工程RSで得られたピクセルカラーと、テクスチャカラーを適宜に演算する。
【0220】
これらの工程TX,PSと、以下の工程PXでは、各工程における設定コマンド(パイプライン系コマンド)の他に、描画系コマンドのDRAWコマンド、DRAWD コマンド、DRAWI コマンド、又はSPRITEコマンドが適宜に使用される。DRAWコマンド、DRAWD コマンド、又は、DRAWI コマンドでは、指定された頂点で囲まれた領域にテクスチャが貼り付けられ、SPRITEコマンドでは、指定された矩形領域にテクスチャが貼り付けられる。
【0221】
そして、続く、ピクセル描画工程PXでは、描画カラーと背景カラーの合成や、コントラストを調整するためのトーンマッピング、及び、逆トーンマッピングなどを行う。このPX工程では、テクスチャ工程PSから、所定の情報を具備するピクセルデータがピクセルごとに入力され、フレームバッファFBからは、ピクセルの描画位置に格納されたデータ(背景カラー)がピクセルごとに入力される。
【0222】
最後のレンダー工程ROでは、深度・ステンシルバッファなどを参照し、ピクセルの深度情報やステンシル情報に基づいて、ピクセルを表示するか否かのピクセルテストをし、複数の描画オブジェクトの重複に関するαブレンディング処理などを経て、完成した描画オブジェクトをフレームバッファFBに書き込む。フレームバッファFBへの書き込みは、
図6に示す仮想描画空間への描画に他ならず、通常は、SPRITEコマンドが使用される。
【0223】
なお、レンダー工程ROでは、DRAWコマンド、DRAWD コマンド、DRAWI コマンド、SPRITEコマンドの他に、フレームバッファFBを単色で塗りつぶすCLEAR コマンドや、深度・ステンシルバッファを単色で塗りつぶすCLEARZコマンドが使用可能である。CLEAR コマンドは、描画動作の開始に先行して、フレームバッファFBをクリアする用途で使用され、CLEARZコマンドは、深度情報やステンシル情報が不要な場合に使用される。
【0224】
このように本発明では、一連の描画パイプライン工程の全部又は一部の工程が機能して、二次元又は三次元の描画オブジェクトが、次々と、フレームバッファFBに書き込まれることで、最終的に、表示装置一フレーム分の画像データが完成される。なお、本実施例では、二次元と三次元の描画オブジェクトは、三次元座標の座標変換処理を経るか否かで区別される。
【0225】
図14は、描画パイプライン工程の全部又は一部を利用する各種の描画モードを示す工程図である。先ず、
図14(a)の描画モードは、上記したCLEAR コマンドやCLEARZコマンドを使用する動作モードであり、レンダー工程ROだけが機能する。
【0226】
図14(b)のスプライト描画モードは、ラスタライザ工程RSと、テクスチャサンプラ工程TXと、テクスチャ工程PSと、ピクセル描画工程PXと、レンダー工程ROが機能する。なお、ラスタライザ工程RSでは、ウィンドウ座標の頂点のX,Y座標について、オフセット値の加算処理をしているに過ぎないが、このオフセット値は、SPRITEコマンドの貼付け矩形領域に関連する。
【0227】
実質的な動作としては、SETTXINDEXコマンドで、展開先のインデックス空間を設定し、 LOADTX コマンドで、所定のテクスチャを取得して、上記のインデックス空間に展開し、SPRITEコマンドによって、この展開テクチャを所定位置に確保する。そして、展開テクスチャの情報が参照されて、最終的にフレームバッファFBに書込まれる。動画再生や、単純形状の静止画の再生は、原則として、このスプライト描画モードで実現されるが、好適には、全ての静止画及び/又は全ての動画が、スプライト描画モードによって再生される。
【0228】
図14(c)に示す描画モードは、描画パイプラインの全工程を使用してトライアングル描画やライン描画をする動作例である。なお、トライアングル描画とライン描画の違いは、プリミティブの生成手法の違いだけであり、何れの場合も、入力アセンブラ工程IAに供給される3D描画オブジェクトの頂点ストリームに基づいて、プリミティブを特定して描画する。
【0229】
図14(d)は、DRAWコマンド、DRAWD コマンドなどを使用する描画動作であって、座標変換処理を実行することなく、ラスタライザ工程RSで描画オブジェクトのピクセルデータを生成している。この動作は、頂点ストリームによって輪郭線を特定可能な二次元の2D描画オブジェクトを、表示画面に画面表示する場合に典型的に使用される。
【0230】
図14(e)と(f)は、頂点バッファVBに、頂点データを蓄積する場合の動作モードであり、座標変換処理を施す場合(e)と、座標変換処理を施さない場合(f)に区分される。なお、これらの動作はDRAWコマンドや、DRAWD コマンドによって実行される。次に、
図14(g)は、頂点バッファVBに蓄積された頂点データを使用する動作モードであり、DRAWI コマンドによって実行される。
【0231】
以上の通り、本実施例の描画パイプラインには、種々の使用方法があるが、例えば、2D静止画の再生や、ストリーム動画(Sストリーム、IPBストリーム、IPストリーム)の再生は、単なるスプライト描画で足りるので、再生動作は、
図14(b)の動作モードで実現されることは、前記の通りである。
【0232】
以上説明した通り、ディスレイアナライザは、ディスプレイリストDLの描画コマンドを判定して、各々、描画コマンドに対応するパイプライン工程の処理ブロックに転送している。そして、転送された描画コマンドは、先ず、各パイプライン工程の待機キューに投入され、投入順に、描画コマンドに対応する処理が実行される。
【0233】
しかし、この描画パイプラインの進行より、ディスプレイリストDLを転送するデータ転送回路70の動作の方が格段に速いので、例えば、3D描画オブジェクトを、複数個、画面表示し、更に、その他の2D描画オブジェクトも画面表示したいような場合は、例えば、レンダー工程ROにおけるSPRITEコマンドの実行は、長く待たされることになる。
【0234】
すなわち、3D描画オブジェクトについての座標変換行列の処理には、それなりの時間を要するので、例えば、RO工程などの待機キューには、多数のSPRITEコマンドが蓄積されることになる。しかし、本実施例では、先に説明したように、待機キューが空になるまで描画コマンドの投入が待機され(ストール状態)、しかも、下流側工程の待機キューの段数は、上流側工程の待機キューの段数と同じか、それ以上となっているので、ディスプレイリストDLに記載されたコマンドの記載順の動作が円滑に実現される。
【0235】
なお、待機キューから移行された描画コマンドも、必要な開始条件を満たすまでは、その実行が待機されるので(ストール状態)、インデックス空間の書換えなど不整合な描画動作は発生しない。
【0236】
以上、回路構成について説明したので、続いて、CPU回路51による制御動作について説明する。先に説明した通り、電源が投入されと、制御動作の開始に先行して、システムリセット信号SYSが所定時間だけLレベルを維持するリセット期間が発生する。
【0237】
このリセット期間では、先ず、総合演出回路52や内蔵CPU回路51の動作を制御する一又は二個の発振回路が発振動作を開始し、各システムクロックの発振周波数が安定するのを待つ。次に、複合チップ50の内部回路が、各システムクロックに同期して初期化され、演出制御レジスタRGijや動作制御レジスタREGには、所定のデフォルト値が設定される。以下、本明細書では、この動作を、後述するソフトウェアリセットと区別して、ハードウェアリセットと称する。
【0238】
このハードウェアリセット期間が終了すると、内蔵CPU回路51の演出制御CPU57は、外部ROM55に記憶されたブートプログラムを実行して、制御プログラムと制御データを、外部ROM55から拡張RAM54に転送する。そして、その後の演出制御CPU57は、拡張RAM54に転送された制御プログラムに基づいて制御動作を続ける。
【0239】
演出制御CPU57が実行する制御動作は、
図15に示す通りであって、初期処理及びその後の定常処理で構成されるメイン処理(a)と、1mS毎に起動されるタイマ割込み処理(b)と、表示装置DSの垂直帰線期間の開始タイミングに、総合演出回路52から出力されるVBLANK信号を受けて起動するVBLANK割込み処理(c)と、制御コマンドCMDを受信するための受信割込み処理(不図示)と、を含んで構成されている。なお、VBLANK信号は1/60秒毎に発生する。
【0240】
図15(b)に示す通り、タイマ割込み処理では、モータ位置などを把握するためのセンサ信号を取得し(ST20)、必要時には、ランプ演出やモータ演出を、開始又は進行させる(ST21)。本実施例では、ランプ演出は、制御データたるランプ駆動データに基づき、演出制御CPU57と、ランプ制御部L_CTL の動作によって実現される。モータ演出は、制御データたるランプ駆動データに基づきに基づき、演出制御CPU57と、モータ制御部MT_CTLの動作によって実現される。また、VBLANK信号を受けて起動するVBLANK割込み処理では、
図15(c)に示す通り、割込みカウンタVCNTをインクリメントして処理を終える(ST25)。
【0241】
最初に、プリローダ72を活用しない場合について、メイン処理を説明する。
図15(a)に示す通り、先ず、初期設定処理(ST1)が実行され、総合演出回路52の演出制御レジスタRGijや、CPU回路51の動作制御レジスタREGに適宜な設定値が設定される。
【0242】
演出制御レジスタRGijへの設定処理には、VRAM53及び拡張RAM54に、適宜な仮想作業領域(AAC領域、ページ領域、任意領域)を確保すること(
図6(a)及び
図6(b)参照)、及び、フレームバッファFBなど、遊技制御動作に必須のインデックス空間を確保する処理が含まれている。先に説明した通り、フレームバッファFBは、インデックス番号N1の第1バッファと、インデックス番号N2の第2バッファとで構成されている。
【0243】
なお、VRAM53に確保される共用領域(本実施例ではAAC領域として使用)の先頭アドレスは、4kバイト単位で設定され(下位15ビットがゼロ)、4kバイトの整数倍に領域サイズが確保される。また、拡張RAM54に確保されるページ領域は、32kバイト単位で設定され(下位18ビットがゼロ)、32kバイトの整数倍に領域サイズが確保される、
【0244】
また、動作制御レジスタREGへの設定値には、ウォッチドッグタイマWDT58に関する動作パラメータが含まれ、この動作パラメータには、動作開始指示と、カウンタ値とが含まれる。実施例のWDT58は、初期値(カウンタ値)をダウンカウントするよう構成され、計数値がゼロとなるアンダーフローに至るまでに、カウンタ値をリロードすることで、WDT58の起動が阻止される。
【0245】
一方、計数値がアンダーフローすると、WDTのリセット要求が発生して、WDT58が起動することで、ソフトウェアリセット状態となる。そして、標準動作としては、全ての内部回路の初期化されて、所定のレジスタを除く全てのレジスタRGij,REGの値が、初期値(デフォルト値)に戻ると共に、WDT58が、その動作を停止する。なお、例外的にレジスタ値が維持されるのは、WDTの動作状態を示すレジスタである。
【0246】
但し、本実施例では、上記した標準動作以外の動作も可能であり、(1) 内部回路を初期化するか否か、また、(2) 初期化する場合でもシステムクロック用の回路を初期化するか否かは、ハードウェアリセット後の初期設定処理において、所定の動作制御レジスタREGに、対応値を設定することで、任意に選択できるよう構成されている。そこで、本実施例では、所定の動作制御レジスタREGへの設定値に基づいて、ソフトウェアリセット時には、内部回路を初期化することなく、ステップST1の処理から遊技動作を再開している。
【0247】
このように、本実施例では、先行文献1~2の構成とは異なり、WDT58がアンダーフローしても、ハードウェアリセット状態とはならないので、迅速に遊技動作を再開できる利点がある。なお、ソフトウェアリセット後は、WDTが動作を停止するので、ソフトウェアリセット動作が繰り返し起動されるおそれはない。
【0248】
以上の処理を含んだ初期設定処理(ST1)が終わると、間欠的に実行される定常処理(ST2~ST10)が開始される。
図15(a)のステップST2として示すように、定常処理は、割込みカウンタVCNTが、VCNT≧2となったタイミングで開始されるので、定常処理の動作周期(動作サイクル)δは、VBLANK信号の動作周期(1/60秒)に対応して1/30秒となる。
【0249】
そして、ステップST3の処理では、割込みカウンタVCNTをリセットした後、定常動作を開始すべき動作開始条件を満たしているか否かを判定する。具体的には、描画回路74の動作状態を示す所定の演出制御レジスタRGijをREADアクセスして、このタイミングで、描画回路74が前動作サイクルのディスプレイリストDLに基づく描画動作を終えているか否かを判定する。また、前動作サイクルの描画動作において、描画回路74のメモリアクセス周期が、時間設定レジスタTOに設定したタイムアウト時間を超えていないかを、所定の異常フラグのON/OFF状態で判定する。
【0250】
そして、描画回路74のメモリアクセスが異常に長引いたため、異常フラグがON状態であれば、例え、描画回路74が描画動作を終えていたとしても、動作開始条件を満たしていないと判定して、ステップST9の演出コマンド解析処理に移行する。
【0251】
ステップST4~ST8の処理をスキップするのは、描画回路74のメモリアクセスが異常に長引いている以上、指示コマンドのビット化けも含め、正常な画像データが生成されていない可能性があり、不合理な画面表示を回避するためである。
【0252】
演出コマンド解析処理(ST9)では、主制御基板21から制御コマンドCMDを受けているか否かを判定し、制御コマンドCMDを受けた場合には、その制御コマンドCMDを解析して必要な処理を実行する。ここで、必要な処理には、変動演出の開始を指示する制御コマンドCMDに基づく新規の変動演出の開始準備処理や、エラー発生を示す制御コマンドCMDに基づくエラー報知の開始処理が含まれる。
【0253】
続いて、ウォッチドッグタイマWDT58に、カウンタ値をリロードすることで、ウォッチドッグタイマ58の起動を阻止する(ST10)。なお、ウォッチドッグタイマ58が起動する異常時にも、本実施例の複合チップ50は、ハードウェアリセットとは異なるソフトウェアリセット状態となることは先に説明した通りである。以上で、今回の動作サイクルの動作が終わるので、ステップST2の処理に移行して、次回のVBLANK割込みを待つ。
【0254】
以上、動作開始条件を満たしていない場合を説明したが、通常は、ステップST3の判定処理の後、所定の表示レジスタRGijへの設定値に基づき、表示回路71が読み出すべき画像データを特定して表示回路の動作を開始させる(ST4)。先に説明した通り、フレームバッファFBは、ダブルバッファ構造になっており、第1バッファと第2バッファが、トグル的に切り替わるよう、所定の表示レジスタRGijへの設定値で制御する。
【0255】
具体的には、前動作サイクルのディスプレイリストDLが、「書込み領域」として特定した第1バッファ又は第2バッファのインデックス番号N1/N2が設定される。このステップST4が実行されることで、前動作サイクルの「書込み領域」が、今回の動作サイクルの「読出し領域」に変わるので、表示回路71は、直前の動作サイクルで描画回路74が完成させた画像データを、表示装置DSに出力することになる。すなわち、ステップST4の処理には、表示回路71の読出し動作の開始指示も含まれている。
【0256】
以上のような意義を有するステップST4の処理が終われば、演出制御CPU57は、続いて、次の動作サイクルで表示回路71が表示装置DSに出力するべき画像データを特定したディスプレイリストDLを完成させる(ST5)。特に限定されないが、この実施例では、内蔵RAM59のリストバッファ領域(DLバッファBUF)を、予め確保しており、そこにディスプレイリストDLを完成させている(
図8参照)。
【0257】
ディスプレイリストDLは、原則として、動作サイクル毎に内容を変えて毎回作成されるが、ディスプレイリストDLの先頭領域には、フレームバッファFBのインデックス番号を規定するコマンドが含まれている。先に説明した通り、フレームバッファFBは、インデックス番号がN1とN2であるダブルバッファ構造のインデックス空間である。そして、ダブルバッファをトグル的に使用するため、各ディスプレイリストDLでは、インデックス番号N1のフレームバッファFBと、インデックス番号N2のフレームバッファFBを、交互に指定して「書込み領域」を循環させている。
【0258】
このようにして完成されるディスプレイリストDLを、演出制御CPU57は、総合演出回路52に発行する(ST6)。次に、演出制御CPU57は、画像演出、音声演出、ランプ演出、及びモータ演出を、一元管理する演出シナリオENを更新し(ST7)、必要な演出タイミングであれば、音声コマンドリストVCを音声処理部SNDに発行することで、音声演出を開始又は進行させる(ST8)。
【0259】
なお、モータ演出やランプ演出に関し、演出シナリオENが管理する演出開始時に達した場合は、タイマ割込み処理(
図15(b))では、該当するモータ駆動データやランプ駆動データに基づいて、モータ演出やランプ演出を実行する。なお、これらステップST8に続く、ステップST9~ST10の処理については前記した通りである。
【0260】
図16(a)~
図16(b)は、ディスプレイリストDLの発行処理(ST6)の具体的内容を示すフローチャート、
図16(c)は、DL発行処理(ST6)の動作内容を示す概略図である。
図9に関して説明した通り、ディスプレイリストDLの発行処理には、CPUレジスタポートPORTを、32bit単位でWrite アクセスする場合(
図9(a))と、CPUレジスタポートPORTを経由しない場合(
図9(b))とがあるが、各動作内容が
図16に示されている。
【0261】
先ず、
図16(a)について説明すると、演出制御CPU57は、データ中継部CH2(データ転送チャンネルCH2)を使用することを転送レジスタRGijに設定すると共に、転送データの総サイズを、所定の転送レジスタRGijに設定する(ST30)。
【0262】
ここで、ディスプレイリストDLは、動作サイクル毎に、その内容が異なるが、所定の終了コマンドEODLで終端させて発行される。なお、本実施例では、ディスプレイリストDLに使用する指示コマンドを、終了コマンドEODLも含め、一ワード又は複数ワード(=N*32bit)としているので、データ量の調整処理は不要である。したがって、転送レジスタRGijに設定する転送データ(ディスプレイリストDL)の総サイズは、32bitの整数倍の任意値となる。
【0263】
次に、演出制御CPU57は、転送データの総サイズに対応するWrite 回数を管理カウンタCNに設定し(ST31)、描画回路74の動作を開始させ(ST32)、次にデータ転送回路70の動作を開始させる(ST33)。ここで、描画回路74やデータ転送回路70の動作開始の指示は、各々、所定の描画レジスタRGijや転送レジスタRGijへの設定処理によって実現される。
【0264】
次に、演出制御CPU57は、130段のCPUデータFIFO回路が満杯でないことを確認しつつ、CPUレジスタポートPORTに、ディスプレイリストDLの構成データを32bit単位で書込む(ST35)。そして、管理カウンタCNをデクリメントしつつ、書込み動作を続ける(ST36,ST37)。
【0265】
先に説明した通り、CPUデータFIFO回路は、32bit単位でデータを受けるのに対して、データ中継部CH0~CH4は、1024bit単位でデータを受ける構成となっている。したがって、原則として、CPUデータFIFO回路に1024bitのデータが溜まった時点で、データ中継部CH2に、蓄積データが転送されるが、転送レジスタRGijへの設定値(転送データであるディスプレイリストDLの総サイズ)に達すると、その時点におけるCPUデータFIFO回路の蓄積データが、データ中継部CH2に転送される。
【0266】
以上の処理によって、CPUレジスタポートPORTを経由するDL発行処理(ST6)が終わるが、次に、
図16(b)は、CPUレジスタポートPORTを経由しない場合であって、データ転送回路70が、リストバッファ(DLバッファBUF)からディスプレイリストを読み出す実施例を示している。この場合には、演出制御CPU57は、データ中継部CH2を使用することを転送レジスタRGijに設定すると共に(ST40)、転送データの総サイズと、リストバッファBUFの先頭アドレスと、を所定の転送レジスタRGijに設定する(ST41)。
【0267】
ここで、内蔵RAM59に設定されているリストバッファBUFについては、その先頭アドレスは、8bit単位で設定する必要があるので、DLバッファBUFの開始アドレスは、下位7bitがゼロであることは先に説明した通りである。なお、このアドレス条件は、ディスプレイリストDLを格納するリストバッファBUFの先頭アドレスだけでなく、音声コマンドリストVCを格納するリストバッファBUFの先頭アドレスについても同様である。
【0268】
次に、演出制御CPU57は、描画回路74の動作を開始させ(ST42)、次にデータ転送回路70の動作を開始させる(ST43)。なお、これらの動作指示も、各々、所定の描画レジスタRGijや転送レジスタRGijへの設定処理によって実現される。そして、この動作指示によりデータ転送処理が開始され、所定サイズのデータ転送の完了により、データ転送回路70は、その動作を終える。したがって、演出制御CPU57は、ステップST43の処理の後、直ちに、ディスプレイリスト発行処理(ST6)に続く別の処理に移行することができる。
【0269】
なお、この場合も、転送データ量が、転送レジスタRGijへの設定値(転送データであるディスプレイリストDLの総サイズ)に達すると、その時点におけるCPUデータFIFO回路の蓄積データが、データ中継部CH2に転送される。
【0270】
以上、
図16(a)と
図16(b)に基づいて、ディスプレイリストDLの発行処理について説明したが、音声処理部SNDに対して、音声コマンドリストVCを発行する場合も、処理内容は、実質的に、
図16(a)や
図16(b)と同じである(
図9(f)、
図9(g)参照)。
【0271】
すなわち、音声コマンドを列記した音声コマンドリストVCは、所定の終了コマンドEOSCで終端させて発行される。なお、音声コマンドは、終了コマンドEOSCも含め、一ワード又は複数ワード(=N*32bit)であるので、データ量の調整処理は不要である。
【0272】
以上、プリローダ72を活用しない場合について説明したが、プリローダ72を活用する場合のメイン処理は、
図17(a)に示す通りである。
図17(a)に示す処理内容は、
図15(a)の処理内容と類似している。
【0273】
但し、
図17(a)に示す通り、(a) 次の動作サイクル用のディスプレイリストDLを作成した後(ST5)、そのディスプレイリストDLを、描画回路74ではなく、プリローダ72に発行する点(ST60)、及び、(b) このディスプレイリストDLは、プリローダ72によって書換えられて書換えリストDL’となるが、前動作サイクルで書き換えられた書換えリストDL’を、ステップST5の処理に先行して、描画回路74に取得させる点(ST41)において、
図15(a)の処理とは相違する。
【0274】
なお、
図17(a)の処理において、ディスプレイリストDLをプリローダ72に発行する発行処理(ST60)は、発行先がプリローダ72に変わるだけであり、
図16(a)(b)と動作内容はほぼ同じである。概略動作は、
図9(d)と
図9(e)に示す通りであり、発行先がプリローダ72に変わることに対応して、データ中継部CH2が、データ中継部CH3(データ転送チャンネルCH3)に変わるが、それ以外は、
図16(a)や
図16(b)の動作と同じであり、これらに対応する動作が、
図17(b)と
図17(c)に示されている。
【0275】
一方、書換えリストDL’を描画回路74に取得させる処理(
図17のST41)は、
図17(d)に示されている。
図9(c)に示す通り、本実施例では。書換えリストDL’は、VRAM53のプリロードバッファ(
図6(a)参照)に格納されている。
【0276】
図17のステップST41の処理では、演出制御CPU57は、データ中継部CH2(転送チャンネルCH2)を使用することを転送レジスタRGijに設定する(
図17(d)のST50)。次に、転送データである書換えリストDL’の総サイズと、書換えリストDL’が格納されているプリロードバッファの先頭アドレスを所定の転送レジスタRGijに設定する(ST51)。
【0277】
VRAM53における先頭アドレスは、32bit単位で設定する必要があるので、書換えリストDL’を保存するプリロードバッファの開始アドレスは、その下位31bitがゼロである必要があり、本実施例では、その条件を満たす位置に、プリロードバッファを確保している。
【0278】
次に、演出制御CPU57は、描画回路74の動作を開始させ(ST52)、データ転送回路70の動作を開始させる(ST53)。なお、これらの動作指示は、各々、所定の描画レジスタRGijや転送レジスタRGijへの設定処理によって実現される。そして、この動作指示によりデータ転送処理が開始され、データ転送の完了により、データ転送回路70は、その動作を終える。
【0279】
以上、本発明の一実施例について説明したが、具体的な記載内容は、特に本発明を限定せず、適宜に変更可能である。例えば、前記の実施例では、描画回路74のメモリアクセス周期や、デコード処理時間が長引いた場合に、フラグポーリング処理でその異常を検出する構成を説明したが、異常割込み処理を活用しても良いのは勿論である。
【0280】
図15(d)は、このような場合の構成例を示しており、描画異常割込みがあると、描画回路74だけを個別的にリセットし(ST23)、描画回路74の動作に必要な動作パラメータを再設定した上で、スタック領域を適宜に開放して(ST24)、ステップST9の処理に移行させている。
【0281】
以上、実施例について詳細に説明したが、具体的な記載内容は、何ら本発明を限定しない。なお、便宜上、弾球遊技機について説明しているが、本発明は、回胴遊技機など他の遊技機に対しても好適に適用可能である。
【符号の説明】
【0282】
GM 遊技機
DL ディスプレイリスト
51 画像制御手段
52 画像生成手段
LOADTX 所定のデコードコマンド