以下、実施例に基づいて本発明を詳細に説明する。図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される前枠3とで構成されている。この前枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の上部左右位置と下側には、全3個のスピーカが配置されている。上部に配置された2個のスピーカは、各々、左右チャネルR,Lの音声を出力し、下側のスピーカは重低音を出力するよう構成されている。
前面板7には、発射用の遊技球を貯留する上皿8が装着され、前枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、中央開口HOが設けられている。そして、中央開口HOの下方には、不図示の可動演出体が隠蔽状態で収納されており、可動予告演出時には、その可動演出体が上昇して露出状態となることで、所定の信頼度の予告演出を実現している。ここで、予告演出とは、遊技者に有利な大当り状態が招来することを不確定に報知する演出であり、予告演出の信頼度とは、大当り状態が招来する確率を意味している。
中央開口HOには、大型の液晶カラーディスプレイ(LCD)で構成されたメイン表示装置DS1が配置され、メイン表示装置DS1の右側には、小型の液晶カラーディスプレイで構成された可動式のサブ表示装置DS2が配置されている。メイン表示装置DS1は、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DS1は、中央部に特別図柄表示部Da〜Dcと右上部に普通図柄表示部19とを有している。そして、特別図柄表示部Da〜Dcでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Da〜Dc及びその周りでは、適宜な予告演出などが実行される。
サブ表示装置DS2は、通常時には、その表示画面が遊技者に見やすい角度に傾斜した静止状態で画像情報を表示している。但し、所定の予告演出時には、遊技者に見やすい角度に傾斜角度を変えながら、図示の左側に移動する共に、所定の予告画像を表示するようになっている。
すなわち、実施例のサブ表示装置DS2は、単なる表示装置ではなく、予告演出を実行する可動演出体としても機能している。ここで、サブ表示装置DS2による予告演出は、その信頼度が高く設定されており、遊技者は、大きな期待感をもってサブ表示装置DS2の移動動作に注目することになる。
ところで、遊技球が落下移動する遊技領域には、第1図柄始動口15a、第2図柄始動口15b、第1大入賞口16a、第2大入賞口16b、普通入賞口17、及び、ゲート18が配設されている。これらの入賞口15〜18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
第1図柄始動口15aの上部には、導入口INから進入した遊技球がシーソー状又はルーレット状に移動した後に、第1図柄始動口15に入賞可能に構成された演出ステージ14が配置されている。そして、第1図柄始動口15に遊技球が入賞すると、特別図柄表示部Da〜Dcの変動動作が開始されるよう構成されている。
第2図柄始動口15bは、左右一対の開閉爪を備えた電動式チューリップで開閉されるように構成され、普通図柄表示部19の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪が開放されるようになっている。
なお、普通図柄表示部19は、普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。
第1大入賞口16aは、前後方向に進退するスライド盤を有して構成され、第2大入賞口16bは、下端が軸支されて前方に開放する開閉板を有して構成されている。第1大入賞口16aや第2大入賞口16bの動作は、特に限定されないが、この実施例では、第1大入賞口16aは、第1図柄始動口15aに対応し、第2大入賞口16bは、第1図柄始動口15bに対応するよう構成されている。
すなわち、第1図柄始動口15aに遊技球が入賞すると、特別図柄表示部Da〜Dcの変動動作が開始され、その後、所定の大当り図柄が特別図柄表示部Da〜Dcに整列すると、第1大当りたる特別遊技が開始され、第1大入賞口16aのスライド盤が、前方に開放されて遊技球の入賞が容易化される。
一方、第2図柄始動口15bへの遊技球の入賞によって開始された変動動作の結果、所定の大当り図柄が特別図柄表示部Da〜Dcに整列すると、第2大当りたる特別遊技が開始され、第2大入賞口16bの開閉板が開放されて遊技球の入賞が容易化される。特別遊技(大当り状態)の遊技価値は、整列する大当り図柄などに対応して種々相違するが、何れの遊技価値が付与されるかは、遊技球の入賞タイミングに応じた抽選結果に基づいて予め決定される。
典型的な大当り状態では、大入賞口16の開閉板が開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板が閉じる。このような動作は、最大で例えば15回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da〜Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態(確変状態)となるという特典が付与される。
図3は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図であり、図4はその一部を詳細に図示したものである。図3に示す通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧や、電源異常信号ABN1、ABN2やシステムリセット信号(電源リセット信号)SYSなどを出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出及び音声演出などを実行する演出制御基板22と、演出制御基板22から受けた制御コマンドCMD’に基づいて2つの表示装置DS1,DS2を駆動する画像制御基板23と、主制御基板21から受けた制御コマンドCMD”に基づいて払出モータMを制御して遊技球を払い出す払出制御基板24と、遊技者の操作に応答して遊技球を発射させる発射制御基板25と、を中心に構成されている。
図示の通り、主制御基板21が出力する制御コマンドCMDは、演出制御基板22に伝送される。また、主制御基板21が出力する制御コマンドCMD”は、主基板中継基板32を経由して、払出制御基板24に伝送される。
制御コマンドCMD,CMD’,CMD”は、何れも16ビット長であるが、主制御基板21や払出制御基板24が関係する制御コマンドは、8ビット長毎に2回に分けてパラレル送信されている。一方、演出制御基板22から画像制御基板23に伝送される制御コマンドCMD’は、16ビット長をまとめてパラレル伝送されている。そのため、可動予告演出を含む予告演出を、多様化して多数の制御コマンドを連続的に送受信するような場合でも、迅速にその処理を終えることができ、他の制御動作に支障を与えない。
図示の通り、本実施例では、画像制御基板23及び演出制御基板22からアクセス可能な液晶インタフェイス基板28が設けられている。そして、液晶インタフェイス基板28は、現在時刻を計時可能な時計回路(リアルタイムクロック)RTCと、遊技実績情報を記憶するメモリ素子(Static Random Access Memory )SRAMが搭載されている。
また、本実施例では、画像制御基板23は、LVDS受信回路などを搭載した液晶インタフェイス基板28を経由して、メイン表示装置DS1とサブ表示装置DS2を駆動している。ここで、液晶インタフェイス基板28と、画像制御基板23とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されている。同様に、演出制御基板23と液晶インタフェイス基板28についても、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。
これら主制御基板21、演出制御基板22、画像制御基板23、及び払出制御基板24には、ワンチップマイコンなどのコンピュータ回路がそれぞれ搭載されている。そこで、これらの制御基板21〜24と液晶インタフェイス基板28に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部22、画像制御部23、及び払出制御部24と言うことがある。なお、主制御部21に対して、演出制御部22、画像制御部23、及び払出制御部24の全部又は一部がサブ制御部となる。
このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材1を除く全てが、盤側部材GM2である。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板24と、発射制御基板25と、枠中継基板35とが含まれており、これらの回路基板が、前枠3の適所に各々固定されている。一方、遊技盤5の背面には、主制御基板21、演出制御基板22、画像制御基板23が、表示装置DS1,DS2やその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。
電源基板20は、接続コネクタC2を通して、主基板中継基板32に接続され、接続コネクタC3を通して、電源中継基板33に接続されている。電源基板20には、交流電源の投入と遮断とを監視する電源監視部MNTが設けられている。電源監視部MNTは、交流電源が投入されたことを検知すると、所定時間だけシステムリセット信号SYSをLレベルに維持した後に、これをHレベルに遷移させる。
また、電源監視部MNTは、交流電源の遮断を検知すると、電源異常信号ABN1,ABN2を、直ちにLレベルに遷移させる。電源異常信号ABN1,ABN2は、電源投入後に速やかにHレベルとなる。
ところで、本実施例のシステムリセット信号は、交流電源に基づく直流電源によって生成されている。そのため、交流電源の投入(通常は電源スイッチのON)を検知してHレベルに増加した後は、直流電源電圧が異常レベルまで低下しない限り、Hレベルを維持する。したがって、直流電源電圧が維持された状態で、交流電源が瞬停状態となっても、システムリセット信号SYSがCPUをリセットすることはない。なお、電源異常信号ABN1,ABN2は、交流電源の瞬停状態でも出力される。
主基板中継基板32は、電源基板20から出力される電源異常信号ABN1、バックアップ電源BAK、及びDC5V,DC12V,DC32Vを、そのまま主制御部21に出力している。一方、電源中継基板33は、電源基板20から受けたシステムリセット信号SYSや、交流及び直流の電源電圧を、そのまま演出制御部22に出力している。そして、演出制御部22は、受けたシステムリセット信号SYSを、そのまま画像制御部23に出力している。
一方、払出制御基板24は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の電源異常信号ABN2や、バックアップ電源BAKを、その他の電源電圧と共に直接的に受けている。
電源基板20が出力するシステムリセット信号SYSは、電源基板20に交流電源24Vが投入されたことを示す電源リセット信号であり、この電源リセット信号によって演出制御部22のワンチップマイコン40と画像制御部23の内蔵CPU回路は、その他の回路素子やVDPを含む内部回路と共に電源リセットされるようになっている。
但し、このシステムリセット信号SYSは、主制御部21と払出制御部24には、供給されておらず、各々の回路基板21,24のリセット回路RSTにおいて電源リセット信号(CPUリセット信号)が生成されている。そのため、例えば、接続コネクタC2がガタついたり、或いは、配線ケーブルにノイズが重畳しても、主制御部21や払出制御部24のCPUが異常リセットされるおそれはない。演出制御部22と画像制御部23は、主制御部21からの制御コマンドに基づいて、従属的に演出動作を実行することから、回路構成の複雑化を回避するために、電源基板20から出力されるシステムリセット信号SYSを利用している。
主制御部21や払出制御部24に設けられたリセット回路RSTは、各々ウォッチドッグタイマを内蔵しており、各制御部21,24のCPUから、定時的なクリアパルスを受けない限り、各CPUは強制的にリセットされる。
また、この実施例では、RAMクリア信号CLRは、主制御部21で生成されて主制御部21と払出制御部24のワンチップマイコンに伝送されている。ここで、RAMクリア信号CLRは、各制御部21,24のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
主制御部21及び払出制御部24は、電源基板20から電源異常信号ABN1,ABN2を受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源BAKは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部24のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。したがって、主制御部21と払出制御部24は、電源遮断前の遊技動作を電源投入後に再開できることになる(電源バックアップ機能)。このパチンコ機では少なくとも数日は、各ワンチップマイコンのRAMの記憶内容が保持されるよう設計されている。
図3に示す通り、主制御部21は、主基板中継基板32を経由して、払出制御部24に制御コマンドCMD”を送信する一方、払出制御部24からは、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部24の初期動作が完了したことを主制御部21に通知する信号である。
また、主制御部21は、遊技盤中継基板31を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
先に説明した通り、演出制御基板22と画像制御基板23と液晶インタフェイス基板28とはコネクタ連結によって一体化されており、演出制御部22は、電源中継基板33を経由して、電源基板20から各レベルの直流電圧(5V,12V,32V)と、システムリセット信号SYSを受けている(図3及び図4(a)参照)。
また、演出制御部22は、主制御部21から制御コマンドCMDとストローブ信号STBとを受けている。そして、演出制御部22は、ランプ駆動基板36及びランプ駆動基板29やモータランプ駆動基板30に搭載されたドライバICに、ランプ駆動信号SDATAを、クロック信号CKに同期してシリアル伝送することで、多数のLEDランプや電飾ランプで構成されたランプ群を駆動して、制御コマンドCMDに基づくランプ演出を実現している。
本実施例の場合、ランプ演出は、三系統のランプ群CH0〜CH2によって実行されており、ランプ駆動基板36は、枠中継基板34,35を経由して、CH0のランプ駆動信号SDATA0を、クロック信号CK0に同期して受けている(クロック同期式シリアル通信)。なお、シリアル信号として伝送される一連のランプ駆動信号SDATA0は、動作制御信号ENABLE0がアクティブレベルに変化したタイミングで、ドライバICからランプ群CH0に出力されることで一斉に点灯状態が更新される。
以上の点は、ランプ駆動基板29についても同様であり、ランプ駆動基板29のドライバICは、ランプ群CH1のランプ駆動信号SDATA1を、クロック信号CK1に同期して受け、動作制御信号ENABLE1がアクティブレベルに変化したタイミングで、ランプ群CH1の点灯状態を一斉に更新している。
一方、モータランプ駆動基板30に搭載されたドライバICは、クロック同期式で伝送されるランプ駆動信号を受けてランプ群CH2を駆動すると共に、クロック同期式で伝送されるモータ駆動信号を受けて、複数のステッピングモータで構成された演出モータ群M1〜Mnを駆動している。なお、ランプ駆動信号とモータ駆動信号は、一連のシリアル信号SDATA2であって、クロック信号CK1に同期してシリアル伝送され、これを受けたドライバICは、動作制御信号ENABLE2がアクティブレベルに変化するタイミングで、ランプ群CH2やモータ群M1〜Mnの駆動状態を更新する。
また、演出制御部22は、画像制御部23に対して、制御コマンドCMD’及びストローブ信号STB’と、電源基板20から受けたシステムリセット信号SYSと、2種類の直流電圧(12V,5V)とを出力している。そして、画像制御部23では、制御コマンドCMD’に基づいて表示装置DS1,DS2を駆動して各種の画像演出を実行している。図3及び図4(a)に示す通り、画像制御部23は、汎用ワンチップマイコンと同等の内部構成を有する内蔵CPU回路(画像演出制御装置)51と、VDP(Video Display Processor )52と、を内蔵した複合チップ50を中心に構成されている。また、内蔵CPUの制御プログラムを記憶する制御メモリ(PROM)53と、大量のデータを高速にアクセス可能なDRAM(Dynamic Random Access Memory)54と、画像制御に必要な大量のCGデータを記憶するCGROM55とが搭載されている。
CGROM55は、Serial Advanced Technology Attachment (以下SATAと称することがある)に準拠したプロトコルでATAコマンドを送受信するSATAモジュールで構成されている。なお、この点は更に後述する。
そして、CGROM55から読み出したCGデータに基づいてVDP52が生成した画像データは、第1と第2のLVDS(低電圧差動伝送Low voltage differential signaling)信号として、液晶インタフェイス基板28を経由して、メイン表示装置DS1とサブ表示装置DS2に伝送される。なお、表示装置DS1には、LVDS信号をRGB信号に変換するLVDS受信部が内蔵されており、表示装置DS1は、液晶インタフェイス基板28から5対のLVDS信号と、LEDバックライト電源を含む直流電源電圧とを受けて駆動されている。一方、サブ表示装置DS1は、液晶インタフェイス基板28で変換されたデジタルRGB信号と、LEDバックライト電源を含む直流電源電圧とを受けて駆動されている。なお、メイン表示装置DS1とサブ表示装置DS2は、1/60秒毎に、VDP52によって各表示画面が更新される。
続いて、図4(a)に基づいて、演出制御部22の構成を更に詳細に説明する。図4(a)に示す通り、演出制御部22は、音声演出・ランプ演出・演出可動体による予告演出・データ転送などの処理を実行するワンチップマイコン40(演出制御CPU40)と、演出制御CPU40の制御プログラムや各種の演出データENを記憶する制御メモリ(flash memory)41と、内蔵レジスタRG0〜RGnに設定される演出制御CPU40の指示に基づいて音声信号を再生して出力する音声プロセッサ42と、再生される音声信号の元データである圧縮音声データなどを記憶する音声メモリ43と、音声プロセッサ42から出力される音声信号を受けるデジタルアンプ46と、を備えて構成されている。
本実施例の場合、制御メモリ41に記憶されている演出データENには、ランプ演出や音声演出の演出進行を管理するシナリオデータと、LEDの点滅態様を決定するランプ駆動データと、モータの回転態様を決定するモータ駆動データと、が含まれている。なお、ランプ駆動データやモータ駆動データは、1ビットずつ時間順次に出力されることで、ランプ駆動シリアル信号やモータ駆動シリアル信号となる。
ワンチップマイコン40には、複数のシリアル入出力ポートSIOと、複数のパラレル入出力ポートPIOとが内蔵されている。ここで、シリアル入出力ポートSIOには、CHiのランプ駆動信号又はモータ駆動信号SDATAiをクロック信号CKiに同期して出力するシリアル出力ポートSoiと、モータ群M1〜Mnの原点センサ信号(シリアル信号)をクロック信号CK3に同期して受けるシリアルポートSiとが含まれている。なお、i=0〜2であって、三系統のランプ群CH0〜CH2や、CH2のランプ群と共に駆動されるモータ群M1〜Mnに対応している。
一方、パラレル入出力ポートPIOは、出力ポートPo,Po’と入力ポートPiに区分され、入力ポートPiには、主制御部21からの制御コマンドCMD及びストローブ信号STBが入力される。一方、出力ポートPo’からは動作制御信号ENABLE0〜ENABLE2が出力され、出力ポートPoからは、制御コマンドCMD’及びストローブ信号STB’が出力されるよう構成されている。詳細には、主制御基板21から出力された制御コマンドCMDとストローブ信号(割込み信号)STBとが、バッファ44において、ワンチップマイコン40の電源電圧3.3Vに対応する論理レベルに降圧された後、入力ポートPiに8ビット単位で二回に分けて供給される。また、割込み信号STBは、演出制御CPU40の割込み端子に供給され、受信割込み処理によって、演出制御部22は、制御コマンドCMDを取得するよう構成されている。
演出制御部22が取得する制御コマンドCMDには、(1)異常報知その他の報知用制御コマンドなどの他に、(2)図柄始動口への入賞に起因する各種演出動作の概要特定する制御コマンド(変動パターンコマンド)や、図柄種別を指定する制御コマンド(図柄指定コマンド)が含まれている。ここで、変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当たり抽選における当否結果とが含まれている。
また、図柄指定コマンドには、大当たり抽選の結果に応じて、大当たりの場合には、大当たり種別に関する情報(15R確変、2R確変、15R通常、2R通常など)を特定する情報が含まれ、ハズレの場合には、ハズレを特定する情報が含まれている。変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当り抽選における当否結果とが含まれている。なお、これらに加えて、リーチ演出や予告演出の有無などを含めて変動パターンコマンドで特定しても良いが、この場合でも、演出内容の具体的な内容は特定されていない。
そのため、演出制御部22では、変動パターンコマンドを取得すると、これに続いて演出抽選を行い、取得した変動パターンコマンドで特定される演出概要を更に具体化している。例えば、リーチ演出や予告演出について、その具体的な内容が決定される。そして、決定された具体的な遊技内容にしたがい、LED群などの点滅によるランプ演出や、スピーカによる音声演出の準備動作を行うと共に、画像制御部23に対して、ランプやスピーカによる演出動作に同期した画像演出に関する制御コマンドCMD’を出力する。
このような演出動作に同期した画像演出を実現するため、演出制御部22は、出力ポートPoを通して、画像制御部23に対するストローブ信号(割込み信号)STB’と共に、16ビット長の制御コマンドCMD’を出力している。なお、演出制御部22は、図柄指定コマンドや、異常報知用制御コマンドや、その他の制御コマンドを受信した場合は、その8ビット単位の制御コマンドを、16ビット長に纏めた状態で、割込み信号STB’と共に画像制御部23に向けて出力している。
先に説明した通り、本実施例の音声プロセッサ42は、演出制御CPU40から内蔵レジスタ(音声制御レジスタ)RG0〜RGnに受ける指示(音声コマンドSNDによる設定値)に基づいて、音声メモリ43をアクセスして、必要な音声信号を再生して出力している。図示の通り、音声プロセッサ42と、音声メモリ43とは、26ビット長の音声アドレスバスと、16ビット長の音声データバスで接続されている。そのため、音声メモリ43には、1Gビット(=226*16)のデータが記憶可能となる。本実施例の場合、音声メモリ43に記憶された圧縮音声データは、13ビット長のフレーズ番号(000H〜1FFFH)で特定されるフレーズ(phrase)圧縮データであり、一連の背景音楽の一曲分(BGM)や、ひと纏まりの演出音(予告音)などが、最高8192種類(=213)、各々、フレーズ番号に対応して記憶されている。そして、このフレーズ番号は、演出制御CPU40から音声プロセッサ42の音声制御レジスタRG0〜RGnに伝送される音声コマンドSNDの設定値によって特定される。
音声コマンドSNDは、複数(2又は3)バイト長であって、音声プロセッサ42に内蔵された多数の音声制御レジスタRG0〜RGnの何れかRGiに、所定の設定値を伝送するWrite 用途で使用される。但し、本実施例の音声コマンドSNDは、フレーズ番号などの設定値を書込むWrite 用途だけでなく、所定の音声制御レジスタRGiからステイタス情報(エラー情報)STSを読み出すRead用途でも使用される。なお、アクセス対象となる所定の音声制御レジスタRGiは、1バイト長のレジスタアドレスで特定される。
音声制御レジスタRGiへの設定値の設定(Write )は、必ずしも、音声制御レジスタ毎に個別的に実行する必要はなく、音声メモリ43に格納されているSACデータを指定して、一群の音声制御レジスタRGi〜RGjに対する一連の設定動作を完了させることもできる。ここで、SACデータとは、音声制御レジスタRGiのレジスタアドレス(1バイト)と、その音声制御レジスタRGiへの設定値(複数バイト)とを対応させた最大512個(最大1024バイト)の集合体を意味する。本実施例では、このようなSACデータが、必要組だけ、予め音声メモリ43に記憶されており、一組のSACデータは、単一のID情報である13ビット程度のSAC番号で特定されるようになっている。
したがって、本実施例の場合、Write 用途の音声コマンドSNDは、SAC番号を指定して一組のSACデータを特定するか、或いは、設定値とレジスタアドレスとを個別的に特定することになる。
図4(b)に接続関係の要部を記載している通り、演出制御CPU40と音声プロセッサ42は、1バイトデータを送受信可能なパラレル信号線(データバス)CD0〜CD7と、動作管理データを送信可能な2ビット長の動作管理データ線(アドレスバス)A0〜A1と、読み書き(read/write)動作を制御可能な2ビット長の制御信号線WR,RDと、音声プロセッサ42を選択するチップセレクト信号線CSとで接続されている。
パラレル信号線CD0〜CD7は、演出制御CPU40のデータバスで実現され、また、動作管理データ線A0〜A1は、演出制御CPU40のアドレスバスで実現されており、各々、演出制御CPU40に接続されている。そして、演出制御CPU40が、プログラム処理によって、例えば、IOREAD動作やIOWRITE動作を実行すると、制御信号WR,RDやチップセレクト信号CSが適宜に変化して、パラレル信号線CD0〜CD7で特定される音声制御レジスタRGiとの読み書き(R/W)動作が実現される。
具体的には、図4(b’)のタイムチャートに示す通りであり、音声制御レジスタRGiのレジスタアドレスと、音声制御レジスタRGiへの書込みデータは、各々、パラレル信号線CD0〜CD7を通してパラレル伝送される。そして、パラレル伝送された1バイトが、レジスタアドレスであるか、それとも、書込みデータ(ライトデータ)であるかは、動作管理データA0〜A1によって特定される。
したがって、図4(b)に示す通り、動作管理データ(アドレスデータA0〜A1)を、[00]→[01]と推移させる一方で、データバスの1バイトデータを、[音声制御レジスタRGiのレジスタアドレス]→[音声制御レジスタRGiへの書込みデータ]と推移させることで、所定の音声コマンドSNDが送信される。なお、SAC番号(13ビット)を送信する場合のように、書込みデータが複数バイト長の場合には、[01]の動作管理データA0〜A1を、[00]→[01]→[01]→[01]と繰り返しつつ、複数バイトの書込みデータを送信する。
このようにして送信された音声コマンドは、通信異常がない限り、その後、実効化される。但し、複数バイト長のデータが互いに整合しないなど、通信異常が認められる場合には、その音声コマンドSNDが実効化させることはない。そして、音声制御レジスタRGnのエラーフラグがセットされるが、このエラーフラグ(ステイタス情報STS)は、アドレスバスの動作管理データA0〜A1を、[01]から[10]に推移させることで、演出制御CPU40がRead動作によって受信することができる。
このように、この実施例では、動作管理データA0〜A1を、[00]→[01]→・・・[01]→[10]と推移させる最終サイクルにおいて、複数ビット長のエラー情報(異常時はFFH)を取得することができる。そして、正当にパラレル送信できなかった音声コマンドSNDを再送することで、音声演出を適切に進行させることができる。したがって、本実施例の構成によれば、音声演出が突然、途絶えるような不自然さを確実に解消されることができる。
なお、図4(b)の構成では、演出制御CPU40は、エラー情報を含んだステイタス情報STSを、音声プロセッサ42からパラレル受信しているが、何ら、この構成に限定されるものではない。すなわち、音声プロセッサ42が通信エラーを認識すると、演出制御CPU40に割込み信号を出力する構成を採るのも好適であり、この場合には、演出制御CPU40の割込み処理プログラムにおいて、通信エラーが生じた音声コマンドを再送すればよい。このような構成を採れば、殆どの場合に無駄な処理となる、エラーフラグ(ステイタス情報STS)の取得処理、すなわち、動作管理データA0〜A1を[10]に遷移させる処理を省略することができる。
図3及び図4(a)に示す通り、本実施例では、デジタルアンプ46の出力によって、遊技機上部の左右スピーカと、遊技機下部のスピーカとを駆動している。そのため、音声プロセッサ42は、3チャネルの音声信号を生成する必要があり、これをパラレル伝送すると、音声プロセッサ42とデジタルアンプ46との配線が複雑化する。
そこで、本実施例では、音質の劣化を防止すると共に、配線の複雑化を回避するため、音声プロセッサ42とデジタルアンプ46との間は、4本の信号線で接続されており、具体的には、転送クロック信号SCLKと、チャネル制御信号LRCLKと、2ビット長のシリアル信号SD1,SD2との合計4ビットの信号線に抑制されている。
ここで、SD1は、遊技機上部に配置された左右スピーカのステレオ信号R,Lを特定するPCMデータについてのシリアル信号であり、SD2は、遊技機下部に配置された重低音スピーカのモノラル信号を特定するPCMデータについてのシリアル信号である。そして、音声プロセッサ42は、チャネル制御信号LRCLKをLレベルに維持した状態で、左チャネルの音声信号Lを伝送し、チャネル制御信号LRCLKをHレベルに維持した状態で、右チャネルの音声信号Rを伝送する(図4(c)参照)。重低音スピーカは、本実施例では1個であるので、モノラル音声信号が伝送されているが、ステレオ音声信号として伝送できるのは勿論である。
何れにしても本実施例では、4種類の音声信号を4本のケーブルで伝送可能であるので、最小のケーブル本数によってノイズによる音声劣化のない信号伝達が可能となる。すなわち、シリアル伝送であるのでパラレル伝送より圧倒的にケーブル本数が少ない。
このようなシリアル信号SD1,SD2は、クロック信号SCLKの立上りエッジに同期して、デジタルアンプ46に取得される。そして、デジタルアンプ46内部で、所定ビット長毎にパラレル変換され、DA変換後にD級増幅されて各スピーカに供給されている。
図4(a)に関して説明を続けると、演出制御基板22には、ワンチップマイコン40のシリアル入出力ポートSIOのシリアル出力ポートSoiから出力されるシリアルデータSDATAiとクロック信号CKiを転送するバッファ回路47〜49が設けられている(i=0〜2)。
ここで、出力バッファ47は、シリアル出力ポートSo0が出力するランプ駆動信号SDATA0とクロック信号CK0を、ランプ駆動基板36のシフトレジスタ回路(ドライバIC)に転送している。また、出力バッファ48は、シリアル出力ポートSo1が出力するランプ駆動信号SDATA1とクロック信号CK1を、ランプ駆動基板29のドライバICに転送している。なお、各ランプ駆動基板29,36に搭載されたドライバICが、CH0とCH1のランプ群を点灯駆動することは先に説明した通りである。
一方、バッファ回路49は、入出力バッファとして機能しており、シリアル出力ポートSo2が出力するシリアル信号SDATA2を、クロック信号CK2と共にモータランプ駆動基板30に転送している。また、一群の演出モータM1〜Mnの原点位置を示す原点センサ信号(シリアル信号)を、クロック信号CK3に同期してワンチップマイコン40のシリアル入力ポートSiに転送している。
本実施例の場合、バッファ回路49が転送するシリアル信号SDATA2は、ランプ群CH2を点灯させるためのランプ駆動信号(シリアル信号)と、演出モータM1〜Mnを回転させるためのモータ駆動信号(シリアル信号)とが連続するよう構成されている。そして、モータランプ駆動基板30では、これら一連のシリアル信号を16ビット長毎に分断すると共に、各16ビット長をパラレル信号に変換して、ランプ演出と可動予告演出を実行している。具体的には、制御コマンドCMDに対応して抽選決定された演出動作として、一連のランプ演出を実行すると共に、モータ駆動信号を受信した場合には、演出モータM1〜Mnを回転させて適宜な可動予告演出を実行している。
次に、図4(a)の左側に示す通り、本実施例では、演出制御CPU40のデータバスとアドレスバスは、液晶インタフェイス基板28にも及んでいる。説明の便宜上、図4(a)の左側に、この関係を図示しているが、時計回路RTCは、演出制御CPU40のアドレスバスの下位4ビットと、データバスの下位4ビットとでCPUに接続されており、任意にアクセス可能に構成されている。また、遊技実績情報を記憶するメモリ素子SRAMは、演出制御CPU40のアドレスバスの16ビットと、データバスの下位16ビットとで、演出制御CPU40のランダムアクセスを可能にしている。
時計回路RTCは、現在年月日や現在時刻を計時する時計IC(リアルタイムクロック)であり、メモリ素子SRAMと共に、演出制御基板22から受ける電源電圧で充電される二次電池BTで永続的に動作している。すなわち、遊技機に電源が投入されている状態で、二次電池BT(図5)が充電される一方、遊技機の電源が遮断された後は、充電状態の二次電池BTに基づいて、時計回路RTCの計時動作が継続され、演出データも永続的に記憶保持される(バックアップ動作)。
図5に示す通り、実施例の時計回路RTCは、4ビットのデータバスと、4ビットのデータバスと、Read/Write動作用のコントロールバスRD+WRとを通して、演出制御CPU40に接続されている。そして、演出制御CPU40は、遊技動作に関する重要な遊技情報や異常情報を、時計回路RTCから取得した年月日情報及び曜日情報や時刻情報を付加して、メモリ素子SRAMに記憶するようにしている。
この時計回路RTCは、CS1とCS0バーの2種類のチップセレクト端子を有しており、各端子への入力電圧が正常レベルであることを条件に、演出制御CPU40からのアクセスを許可するようになっている。ここで、CS0バー端子は、アドレスデコーダの出力を受ける通常のチップセレクト端子である。一方、CS1端子は、電源異常検出部ERの出力(電圧降下信号)Voを受けており、CS1端子が異常レベルの出力Voを受けた場合には、時計回路RTCの異常検出フラグFosが自動的にセットされるようになっている。
本実施例の場合、この異常検出フラグFosは、他の異常検出フラグTEMPと共に、電源投入時に演出制御CPU40によって判定され、仮に、異常検出フラグFosがセット状態であれば、その時の年月日及び時刻が報知されるようになっている。そのため、もし、時計機能の異常が認められた場合には、これに素早く対処することができる。
なお、電源遮断時に二次電池BTの電圧が降下しても、二次電池BTの電圧レベルは、電源復帰によって素早く回復してCS1端子が正常レベルに戻るので、演出制御CPU40からのアクセスが許可されることになる。したがって、異常検出フラグFosの判定処理を設ける本実施例の構成を採らない場合には、時計回路RTCの異常を永続的に検出できないおそれがある。
また、実施例の時計回路RTCは、一週間に一回、例えば、毎金曜日の21時50分に、割込み信号IRQを出力するよう構成されおり、割込み信号IRQを受けた演出制御CPU40では、それまでにメモリ素子SRAMに蓄積した遊技情報や異常情報について、適宜に集計するようにしている。
なお、集計する遊技情報は、大当り状態に関する履歴情報をまとめたものであり、例えば、(1)大当り状態となるまでに要した図柄始動口への入賞回数、(2)大当り状態の図柄や、確変か否かの大当り状態の集計値や統計値、(3)大当り状態に至った予告演出やリーチ演出の種類、(4)連チャン回数、(5)連チャンによる払出球数の時間的な増加推移、などが含まれる。そして、これらの集計情報や統計情報は、遊技者の求めに応じて適宜に報知される。遊技者の指示は、例えば、デモ演出中のチャンスボタン11の押圧で特定され、報知内容は表示装置DSに表示される。
一方、集計する異常情報には、例えば、(1)ドア開放回数、(2)違法行為を検出する検知センサの検出種別や検出回数や検出時刻、(3)閉塞状態の図柄始動口15や大入賞口16を針金などで無理に開放しようとする行為の検出回数や検出頻度や検出時刻などが含まれる。そして、これらの集計情報は、係員による特別な操作に対応して、メイン表示装置DS1に表示される。
図5(a)に示す通り、実施例の時計回路RTCは、Bank0〜Bank2の3つの内部レジスタテーブルを内蔵して構成されている。但し、Bank2のレジスタテーブルは、時刻設定や年月日設定に関するものであるので、図5(b)と図5(c)に、Bank0とBank1のレジスタテーブルだけ記載している。何れにしても、各レジスタテーブルは、4バイト×16個のレジスタで構成されおり、内部回路が計時した現在年月日と現在時刻は、Bank0のレジスタテーブル(図5(b))に書込まれるよう構成されている。
図5(b)に示すように、Bank0のレジスタテーブルにおいて、1番レジスタのビット3は、異常検出フラグFosであり、14番レジスタのビット2は、内蔵温度センサが異常温度を検出したことを示す温度異常フラグTEMPである。そして、本実施例では、演出制御部22のCPUリセット時に、異常検出フラグFosの値を判定することで、異常な計時動作の継続を防止している。また、時計回路RTCを演出制御CPU40に近接配置すると共に、適宜な時間間隔で、温度異常フラグTEMPの値を繰り返し判定することで、演出制御CPU40の温度異常を素早く検出している。
また、Bank0のレジスタテーブルにおいて、15番レジスタのビット0は、レジスタテーブルが更新中であることを示すBusyフラグである。そして、本実施例では、Busyフラグが非Busy状態(更新完了)であることを条件に、Bank0のレジスタテーブルから、現在年月日と現在時刻を取得している。そのため、本実施例では、更新動作中の中途半端、又は不合理な時計情報を取得するおそれがなく、メモリ素子SRAMに記憶される時計情報の正当性が担保される。例えば、1時59分59秒から2時0分0秒に更新中の時計情報を取得すると、1時0分0秒の時計情報を取得してしまうおそれがある。
また、Bank1のレジスタテーブルは、割込み信号IRQの発生時刻を設定可能に構成されている。そこで、本実施例では、Bank1の1番レジスタのビット0に1をセットすることで割込み発生を指示し(Interrupt Enable)、Bank1の0番レジスタ〜8番レジスタに、金曜の曜日指定と、21時30分00秒の時刻情報を設定している。
続いて、画像制御部23について図6を参照しつつ詳細に説明する。図6(a)は、画像制御部23を構成する複合チップ50について、関連する回路素子も含めて図示した回路ブロック図である。図示の通り、実施例の複合チップ50には、内蔵CPU回路51とVDP回路52とが内蔵されている。そして、内蔵CPU回路51とVDP回路52とは、互いの送受信データを中継するCPUIF回路56を通して接続されている。また、CPUIF回路56には、制御プログラムや必要な制御データを不揮発的に記憶する制御メモリ(PROGRAM_ROM )53と、2Mバイト程度の記憶容量を有するワークメモリ(RAM)57とが接続され、各々、内蔵CPU回路51からアクセス可能に構成されている。
また、図示の通り、この実施例では、内蔵CPU回路51は、VDP回路52からVBLANK割込み信号を受けるよう構成されている。ここで、VBLANK(vertical blanking )割込み信号は、1/60秒間隔で実行される表示装置DS1,DS2の画面更新処理(各一フレーム分の画像データの出力処理)が終了したことを示している。すなわち、本実施例の場合、内蔵CPU回路51は、VBLANK割込み信号によって、各表示装置の画面更新が終わったことを把握することができる。
なお、後述するように、本実施例では、2つの表示回路A,Bが略同時的に動作するので、VDP回路52が、表示回路AのVBLANK開始を示すVBLANK割込み信号を受けるよう構成され、このVBLANK割込み信号に基づいて各種のシーケンス動作を開始させている。このように、本実施例では、表示回路AのVBLANK開始を起点として各部が動作するので、仮に、サブ表示装置DS2が演出上の消灯状態であって、表示回路Bが機能しない時間帯が生じても何の問題も生じない。
内蔵CPU回路51は、汎用のワンチップマイコンと同等の性能を有する回路であり、制御メモリ53の制御プログラムに基づき画像演出を統括的に制御する画像制御CPU63と、プログラムが暴走状態になるとCPUを強制リセットするウォッチドッグタイマ(WDT)58と、16kバイト程度の記憶容量を有してCPUの作業領域として使用されるRAM59と、CPUを経由しないでデータ転送を実現するDMAC(Direct Memory Access Controller )60と、複数の入力ポートSi及び出力ポートSoを有するシリアル入出力ポート(SIO)61と、複数の入力ポートPi及び出力ポートPoを有するパラレル入出力ポート(PIO)62と、を有して構成されている。
なお、便宜上、入出力ポートとの表現を使用するが、画像制御部23において、入出力ポートには、独立して動作する入力ポートと出力ポートとが含まれている。なお、この点は、以下に説明する入出力回路64pや入出力回路64sについても同様である。
パラレル入出力ポート62は、入出力回路64pを通して外部機器(演出制御基板22)に接続されており、画像制御CPU63は、入力回路64p及びパラレル入力ポートPiを経由して、演出制御部22が出力する制御コマンドCMD’と割込み信号STB’を受信するようになっている。一方、この実施例では、シリアル入出力ポート61と、DMAC60については、これらを使用していない。
次に、VDP回路52について説明すると、VDP回路52には、画像演出を構成する静止画や動画の構成要素となる圧縮データを記憶するCGROM(SATAモジュール)55と、4Gbit程度の記憶容量を有する外付けDRAM(Dynamic Random Access Memory)54と、メイン表示装置DS1と、サブ表示装置DS2とが接続されている。
特に限定するものではないが、この実施例では、CGROM(SATAモジュール)55は、62Gbit程度の記憶容量のNAND型フラッシュメモリで構成されたフラッシュSSD(solid state drive )で構成されており、シリアル伝送によって必要な圧縮データを取得するよう構成されている。そのため、パラレル伝送において不可避的に生じるスキュー(ビットデータ毎の伝送速度の差)の問題が解消され、極限的な高速伝送動作が可能となる。図3に関して説明した通り、本実施例では、SerialATAに準拠したHSS(High Speed Serial )方式で、CGROM55を高速アクセスしている。
なお、SerialATAに準拠したHSS方式を採るか否かに拘らず、NAND型のフラッシュメモリは、ハードディスより機械的に安定であり、且つ高速アクセスが可能である一方で、シーケンシャルアクセスメモリであるため、DRAMやSRAM(Static Random Access Memory )に比較すると、ランダムアクセス性に問題がある。そこで、本実施例では、一群の圧縮データ(CGデータ)を、描画動作に先行してDRAM54に読み出しておくプリロード動作を実行することで、描画動作時におけるCGデータの円滑なランダムアクセスを実現している。ちなみに、アクセス速度は、内蔵VRAM>外付けDRAM>CGROMの順番に遅くなる。
VDP回路52は、詳細には、VDPの動作を規定する各種の動作パラメータ(設定値)が設定されるレジスタ群70と、表示装置DS1,DS2に表示すべき画像データの生成時に使用される48Mバイト程度のVRAM(video RAM )71と、チップ内部の各部間のデータ送受信及びチップ外部とのデータ送受信を制御するデータ転送回路72と、上記したプリロード動作を実行するプリローダ73と、VRAM71の画像データを読み出して、適宜な画像処理を並列的に実行する3系統(A/B/C)の表示回路74と、CGROM55から読み出した圧縮データをデコードするグラフィックスデコーダ75と、デコード後の静止画データや動画データを適宜に組み合わせて表示装置DS1,DS2の各一フレーム分の画像データを生成する描画回路76と、描画回路76の動作の一部として、適宜な座標変換によって立体画像を生成するジオメトリエンジン77と、シリアルデータ送受信可能なSMC部78と、3系統(A/B/C)の表示回路74の出力を適宜に選択出力する出力選択部79と、出力選択部79が出力する画像データをLVDS信号に変換するLVDS部80と、CPUIF回路56とのデータ送受信を中継するCPUIF部81と、CGROM55からのデータ受信を中継するCGバスIF部82と、外付けDRAM54とのデータ送受信を中継するDRAMIF部83と、VRAM71とのデータ送受信を中継するVRAMIF部84と、を有して構成されている。
図6(b)には、CPUIF部81、CGバスIF部82、DRAMIF部83、及び、VRAMIF部84と、レジスタ群70、CGROM55、DRAM54、及びVRAM71との関係が図示されている。先に説明した通り、実施例のCGROM55は、フラッシュSSDで構成されたSATAモジュールであり、SerialATAに準拠したHSS(High Speed Serial )方式のプロトコルを実現するSATAデバイス制御部SAdが内蔵されている。また、これに対応して、CGバスIF部82には、SATAホスト制御部SAhが内蔵されている。
そして、SATAホスト制御部SAhは、一群のCGデータについて、アドレス情報とデータ量とを特定したFIS(Frame Instruction Structure )タイプ27HのATAコマンドTx(例えば、READ Multiple )をSATAデバイス制御部SAdに発行し、これを受けたSATAデバイス制御部SAdは、必要な一群のCGデータを、FISタイプ46HのデータATAコマンドRxとしてSATAホスト制御部SAhに返送している。そして、受信されたCGデータは、本実施例では、プリロードデータとして、DRAMIF部83を経由して、外付けDRAM54に転送される。なお、プリロード動作は、必須ではなく、プリロード動作を実行しない場合には、CGデータは、VRAMIF部84を経由してVRAM71に転送される。また、プリロード動作のデータ転送先も、外付けDRAM54に限定されず、例えば、VRAM71であっても良い。
図6(a)に戻って説明を続けると、データ転送回路72は、VDP回路内部のリソース(記憶媒体)と外部記憶媒体を、転送元ポート又は転送先ポートとして、これらの間でデータ転送動作を実行する回路である。転送元ポートには、VRAM71の他、CPUバス、CGバス、外部DRAMバスに接続された記憶媒体(リソース)が含まれる。同様に、転送先ポートには、VRAM71の他、CPUバス、CGバス、外部DRAMバスに接続された記憶媒体が含まれる。また、データ転送回路72は、一群の描画コマンドによって一フレーム分の表示画像を特定するディスプレイリストDLを、プリローダ73や描画回路76に送信する動作も担当している。
ディスプレイリストDLは、描画する順番に記載された一群の描画コマンドで構成されている。描画コマンドには、一フレームのどの位置に、どのような画像を描画するかを規定するコマンドも含まれ、描画すべき画像のCGROMなどの記憶位置(ソースアドレス)も特定されている。なお、本実施例では、2つの表示装置DS1,DS2を使用するので、VRAM71に確保された表示装置DS1,DS2用のフレームバッファFBa,FBbに、一フレーム分の画像データを各々生成する必要があり(図9(b)参照)、所定の描画コマンドによって、フレームバッファFBa,FBbの描画位置が特定される。
プリローダ73は、データ転送回路72によって送信されたディスプレイリストDLを解釈して、その中で参照しているCGROM55上のCGデータを、予め指定されているDRAM54のプリロード領域に転送する回路である。また、このとき、プリローダ73は、CGデータの参照先を、転送後のアドレスに書換えたディスプレイリストDLを出力する。なお、書換えたディスプレイリストDLは、データ転送回路72によって描画回路76に送信される。
本実施例では、後述するプリローダレジスタ(図6(b)参照)への設定値に基づき、外付けDRAM54にプリロード領域を設定し、且つ、多数回のプリロード処理に対応可能な十分な記憶領域を確保している。そして、本実施例では、プリロード領域として設定された記憶領域を使い切らない限り、プリロードされた圧縮データは、その後の圧縮データによって上書き消去されることなく維持される。
そのため、プリロード処理では、必要な圧縮データが、プリロード領域に存在しない場合に限り、CGROM55をアクセスすることになる。なお、プリロード領域に十分な記憶領域が確保されているので、複数フレーム分のCGデータを一気にプリロードしても何も問題が生じない。
描画回路76は、データ転送回路72によって送信されたディスプレイリストDLの描画コマンドを順番に解析して、グラフィックスデコーダ75や、ジオメトリエンジン77などと協働して、VRAM71に形成されたフレームバッファに、各表示装置DS1,DS2の一フレーム分の画像を描画する回路である。なお、グラフィックスデコーダ75は、静止画デコーダと動画デコーダに区分され、所定の圧縮アルゴリズムでエンコード(圧縮)された静止画と動画を、各々に対応する伸張アルゴリズムでデコード(伸張)している。すなわち、実施例の場合、静止画は、1枚の静止画を構成する画像データ毎に所定のアルゴリズムで圧縮され、動画は、一連の動画を実現する複数枚の静止画データが、フレーム間のデータ差分値などに基づいて圧縮されている。
上記の通り、本実施例では、プリローダ73を機能させているので、ディスプレイリストDLのCGデータの参照先は、CGROM55ではなく、DRAM54又はVRAM71に設定されたプリロード領域である。そのため、描画回路76による描画の実行中に生じるCGデータへのランダムアクセスを迅速に実行することができ、動きの激しい高解像度の動画についても問題なく描画することができる。すなわち、本実施例によれば、CGROM55として、安価なSATAモジュールを活用しつつ、複雑高度な画像演出を実行することができる。
なお、VRAM71に形成されたフレームバッファFBは、描画領域(描画バンク)と表示領域(表示バンク)に区分されたダブルバッファであり、2つの領域を、交互に用途を切り替えて使用する。また、本実施例では、2つの表示装置DS1,DS2が接続されているので、2区画のフレームバッファFBa/FBbが確保されている。したがって、描画回路76は、表示装置DS1用のフレームバッファFBaの描画バンクに、一フレーム分の画像データを描画すると共に、表示装置DS2用のフレームバッファFBaの描画バンクに、一フレーム分の画像データを描画することになる。なお、描画バンクに、画像データが書込まれているとき、表示回路74は、表示バンクの画像データを読み出して、各表示装置DS1,DS2に出力する。
ところで、この実施例では、表示回路74が、1/60秒毎に表示バンクの画像データを読み出して出力する一方、表示バンクと描画バンクの切り替え周期を1/30秒としており、各表示装置の表示画面は、実際には1/30秒毎に切り替わることになる。本実施例では、敢えてこのような構成を採るので、プリローダ73によるプリロード動作や、描画回路76の描画動作に、最高1/30秒の処理時間を確保することができ、複雑高度な画像演出が可能となる。そして、表示装置の画面更新周期を1/30秒に設定しても、演出効果に問題が無いことは確認済みである。なお、描画バンクと表示バンクの切り替えは、画像制御CPU63が、所定の表示レジスタ(図6(b))に、所定の設定値を書き込むことで表示回路74に指示される。
表示回路74は、フレームバッファFBa,FBbの画像データを読み出して、最終的な画像処理を施した上で出力する回路である(図9(e)参照)。最終的な画像処理には、例えば、画像を拡大/縮小するスケーリング処理、微妙なカラー補正処理、画像全体の量子化誤差が最小化するディザリング処理が含まれている。そして、これらの画像処理を経たでデジタルRGB信号(合計24ビット)が、水平同期信号や垂直同期信号と共に出力される。図9(e)に示す通り、本実施例では、上記の動作を並列的に実行する3系統の表示回路A/B/Cが設けられており、各表示回路A/B/Cは、各々に対応するフレームバッファFBa/FBb/FBcの画像データを読み出して、上記の最終画像処理を実行する。但し、本実施例では、表示装置は2個であるので、フレームバッファFBcは確保されておらず、表示回路Cが機能することもない。
この動作に関連して、この実施例の出力選択部79は、表示回路Aの出力信号を、LVDS部80aに伝送し、表示回路Bの出力信号を、LVDS部80bに伝送している(図9(e))。そして、LVDS部80aは、画像データ(合計24ビットのデジタルRGB信号)をLVDS信号に変換して、クロック信号を伝送する一対を加えて、全五対の差動信号としてメイン表示装置DS1に出力している。なお、メイン表示装置DS1には、LVDS信号の変換受信部RVが内蔵されており、LVDS信号からRGB信号を復元して、表示回路Aの出力に対応する画像を表示している。
一方、LVDS部80bは、各8ビットのデジタルRGB信号の下位2ビットを除く各6ビット(合計18ビット)について、クロック信号を伝送する一対を加えて、全四対の差動信号として変換受信部RVに出力し、サブ表示装置DS2が変換受信部RV(THCV214)から受ける合計18ビットのRGB信号による画像表示を実現している。これは、サブ表示装置DS2には、28*28*28もの解像度は不要であり、26*26*26の解像度で足りるためである。但し、特に限定されるものではなく、全五対の差動信号を伝送して、28*28*28の解像度を実現しても良い。
また、必ずしもLVDS信号とする必要は無く、例えば伝送距離が短い場合には、デジタルRGB信号を、デジタルRGB部80cを経由して、そのまま表示装置に伝送するか、或いは、伝送距離が長い場合には、デジタルRGB信号を、変換送信部TR’において、V−By−one(登録商標)信号に変換して変換受信部RV’に伝送した後、変換受信部RV’においてデジタルRGB信号に戻すのも好適である。なお、図9(e)の破線は、この動作態様を示しているが、出力選択部79の動作を適宜に設定することで、表示回路A/B/Cの何れの出力信号であっても上記の動作が可能となる。
次に、SMC部78(Serial Management Controller)は、LEDコントローラとMotorコントローラとを内蔵した複合コントコントローラである。そして、外部基板に搭載したLED/Motorドライバ(シフトレジスタを内蔵するドライバIC)に対して、クロック信号に同期してLED駆動信号やモータ駆動信号を出力する一方、適宜なタイミングで、ラッチパルスを出力可能に構成されている。
上記したVDP回路52の内部回路及びその動作に関し、内部回路が実行すべき動作内容は、画像制御CPU63が、レジスタ群70に設定する動作パラメータ(設定値)で規定され、VDP回路52の実行状態は、レジスタ群70の動作ステイタス値をREADすることで特定できるようになっている。レジスタ群70は、画像制御CPU63のメモリマップ上、1Mバイト程度のメモリ空間(0〜FFFFFH)にマッピングされた多数のレジスタを意味し、画像制御CPU63は、CPUIF部81を経由して動作パラメータのWRITE(設定)動作と、動作ステイタス値のREAD動作を実行するようになっている(図6(b)参照)。
レジスタ群70には、割り込み動作などシステム動作に関する初期設定値が書込まれる「システム制御レジスタ」と、画像制御CPU63とVDP回路52の内部回路との間のデータ転送回路72によるデータ転送処理に関する設定値などが書込まれる「データ転送レジスタ」と、グラフィックスデコーダ75のエラー発生などを含む実行状況を特定可能な「GDECレジスタ」と、描画コマンドや描画回路76に関する設定値が書込まれる「描画レジスタ」と、プリローダ73の動作に関する設定値が書込まれる「プリローダレジスタ」と、三区分された表示回路A/B/Cの各動作に関する設定値が書込まれる「表示レジスタ」と、LEDコントローラ(SMC部78)に関する設定値が書込まれる「LED制御レジスタ」と、Motorコントローラ(SMC部78)に関する設定値が書込まれる「モータ制御レジスタ」とが含まれており、これらの制御レジスタは、各々複数バイト長で構成されている。
より詳細には、「プリローダレジスタ」には、(1) プリロード領域をDRAM54に設定するか、VRAM84に設定するかの設定、(2) プリロード領域の先頭アドレス、(3) プリロードデータ領域を、何フレーム分使用するかの設定、(4) 1フレーム当たりのデータサイズなどが設定される。また、「データ転送レジスタ」には、データ転送元やデータ転送先が設定され、「表示レジスタ」には、表示回路A/B/C毎に、出力対象となるフレームバッファFBa/FBb/FBcの開始位置やフレームバッファFBa/FBb/FBcのバッファサイズなどが設定される。
また、「描画レジスタ」「プリローダレジスタ」「データ転送レジスタ」には、描画動作、プリロード動作、データ転送動作について、各動作の実行開始が指示される。なお、ダブルバッファ構造のフレームバッファFBa/FBb/FBcについて、描画バンクと表示バンクの切り替えは、所定の「表示レジスタ」に、所定の設定値を書き込むことで実現されることは先に説明した通りである。
何れにしても、画像制御CPU63が、レジスタ群70の何れかに適宜な設定値を書込むことで、VDP回路52の内部動作が実現される。したがって、画像制御CPU63は、適宜な時間間隔で更新するディスプレイリストDLと、上記したレジスタ群70を構成するレジスタへの設定値に基づいて、ディスプレイリストDLに基づく画像演出を実現することになる。
なお、この実施例では、ランプ演出やモータ演出は、演出制御基板22の演出制御CPU40が担当するので、SMC部78を使用することはなく、LED制御レジスタやモータ制御レジスタに設定値が書込まれることもない。
続いて、図7や図8に基づいて、SATAモジュール55(CGROM)及びCGバスIF部について更に説明する。図7(a)は、CGバスIF部に内蔵されたSATAホスト制御部(HSSコントローラ)SAhと、SATAモジュール55に内蔵されたSATAデバイス制御部SAdを、これらに関連する記憶媒体と共に記載したものである。
図示の通り、SATAホスト制御部SAhは、アプリケーション層(コマンド層)の動作を実現するSATAホストCPU、ROM、及び、DMAC(DMA controller)と、ShadowTFR(Task File Register)を含む作業領域となるRAMと、トランスポート層及びリンク層の動作を実現するSATAIF部と、物理層(PHY Layer )を実現するSATAPHY部と、を有して構成されている。
ここで、SATAホスト制御部SAhは、DRAM54、VRAM71、及びレジスタ群70にアクセス可能に構成されている。そして、データATAコマンド(FISタイプ46H)を、ShadowTFRに受信したSATAホスト制御部SAhは、データATAコマンドRxから抽出されたCGデータを、データ転送回路72を通して、外付けDRAM54に転送して記憶するよう構成されている。また、SATAホスト制御部SAhのDMACを機能させる場合には、CGデータは、ShadowTFRを経由することなくDRAM54に転送される。但し、CGデータの記憶先は、VRAM71でも良いことは先に説明した通りであり、プリロード動作を伴わない場合には、データATAコマンドRxから抽出されたCGデータは、VRAM71に記憶される。
このような構成に対応して、SATAモジュール55は、NAND型フラッシュメモリによる記憶本体部Flash ・・・Flash と、記憶本体部Flash ・・・Flash に対する読み書き(Read/Write)動作を制御するFlash コントローラと、SerialATAに準ずるHSS方式でSATAホスト制御部SAhと交信するSATAデバイス制御部SAdと、で構成されている。なお、図7(a)では、SATAデバイス制御部SAdと、Flash コントローラとを総合して、SSD制御部と評している。
記憶本体部Flash ・・・Flash は、Flash コントローラによる読み出し(Read)制御に基づいてシーケンシャルアクセスされ、ページ単位(例えば、512+16バイト単位)で読み出される。そして読み出されたCGデータは、SATAデバイス制御部SAdにおいて、FISタイプ46HのデータATAコマンドRxに生成されて、SATAホスト制御部SAhに返送される。
このような動作を実現するため、SATAデバイス制御部SAdは、基本的に、SATAホスト制御部SAhと同一構成であり、アプリケーション層(コマンド層)の動作を実現するSATAデバイスCPU及びROMと、SSD TFR(Task File Register)を含む作業領域となるRAMと、トランスポート層及びリンク層の動作を実現するSATAIF部と、物理層(PHY Layer )を実現するSATAPHY部と、を有して構成されている。
実施例のHSSコントローラ(SATAホスト制御部)で使用されるATAコマンドには、(1)ShadowTFRからSSD TFRに発行される、FISタイプ27HのRegHD(register-Host to Device )と、(2)SSD TFRからShadowTFRに伝送されるステイタス応答である、FISタイプ34HのRegDH(register-Device to Host )と、(3)データ転送時に双方向に使用されるFISタイプ46HのDATAと、(4)デバイスアクセス時、例えば8kバイトのデータ転送毎に、SSD TFRからShadowTFRに使用される、FISタイプ5FHのPIOSetup と、(5)DMAアクティブ応答(DMASetup )と、(6)FISタイプA1HのSet Device Bitと、(7)FISタイプ39HのDMA Activeと、(8)BIST Active と、が含まれている。
ここで、RegHD(register-Host to Device )には、SerialATAに準じて、IDENTIFY DEVICE (ECH)、READ DMA(C8H)、READ MULTIPLE (C4H)、READ SECTOR(S)(20H)、READ VERIFY SECTOR(S) (40H)、READ DMA EXT(25H)、READ MULTIPLE EXT (29H)、READ SECTOR(S) EXT(24H)、READ VERIFY SECTOR EXT(42H)が含まれている。なお、カッコ内の16進数は、各ATAコマンドのコマンドコードを意味している。
図7には、SATAホスト制御部SAhが、SATAモジュール55のデバイス情報を取得するため発行する、コマンドコードECHのIDENTIFY DEVICE のFIS構造(図7(b))と、一群のCGデータの取得のために発行する、コマンドコード29HのREAD MULTIPLE EXT (図7(c))のFIS構造が示されている。何れも、合計32×5ビット長であるが、IDENTIFY DEVICE コマンドは、デバイス(Device)欄をスレーブモードに設定して発行され、READ MULTIPLE EXT コマンドは、CGROM55から読み出すべきデータのアドレス情報LBA(logical Block addressing)と、データページ数(Sector Count)とを特定して発行される。
また、図7には、SATAデバイス制御部SAdが、自らの動作状態を特定してSATAホスト制御部SAhに返送するステイタス応答コマンドのFIS構造(図7(d))と、双方向に使用可能なDATAコマンドのFIS構造(図7(e))が示されている。例えば、READ SECTOR(S)(20H)のATAコマンドを受けたSATAデバイス制御部SAdは、PIOSetup コマンドを先行させたDATAコマンドを、SATAホスト制御部SAhに返送する。
ここで、DATAコマンドには、最高、2048Dword(=2048*4=8kバイト)のCGROMデータを内包可能であり、例えば、READ DMA(C8H)や、READ MULTIPLE EXT (29H)などのATAコマンドを受けたSATAデバイス制御部SAdは、PIOSetup コマンドを先行させることなく、必要個数のDATAコマンドを、SATAホスト制御部SAhに繰り返し返送する。
図8(a)は、SATAホスト制御部SAhとSATAデバイス制御部SAdの動作手順を図示したものである。なお、ここではDMA転送がない場合を示しているが、SATAホスト制御部SAhのDMACを機能させる場合には、SATAホスト制御部SAhのトランスポート層で抽出されたCGデータは、ShadowTFRを経由することなくDRAM54などに転送される。
何れの場合も、SATAホスト制御部SAhのSATAホストCPUは、アプリケーション層の動作として、先ず、ShadowTFRに、発行すべきATAコマンドの必要パラメータ(例えばDevice欄、LBA欄、Sector Count欄など)を書き込んだ上で、ATAコマンドコードを書き込む。
すると、SATAホスト制御部SAhのSATAIF部のトランスポート層及びその下位層が、シーケンス動作によって一連の動作を実行する。すなわち、トランスポート層では、ShadowTFRのデータからFIS本体を生成して下位層に出力する。次に、リンク上位層では、トランスポート層から受けたFIS本体の後部に、4バイト長のCRC(Cyclic Redundancy Check )を付加して、全データをスクランブルした後、全スクランブルデータの前後に、4バイト長のSOFプリミチィブ(開始情報)と、4バイト長のEOFプリミチィブ(終了情報)と、を付加してフレームデータ構造を完成させる。
次に、リンク下位層では、8ビットのデータを10ビットのDキャラクタ又はKキャラクに変換する8B/10B変換処理などを実行し、物理層(PHY Layer )では、シリアライズ処理によってLVDS信号Txを生成して、一対の差動信号線を使用して、所定の方式でLVDS信号Txをシリアル伝送する。
一方、LVDS信号Txを受けたSATAデバイス制御部SAdの物理層(PHY Layer )では、デシリアライズ処理によってDキャラクタ又はKキャラクの10ビットのパラレルデータを順番に復元し、リンク下位層では、8B/10B逆変換処理によって、10ビットデータを本来の8ビットデータを復元する。そして、リンク上位層では、SOFプリミチィブ、EOFプリミチィブ、及びCRCを除去してFIS本体を抽出して、トランスポート層に伝える。そして、トランスポート層では、FIS本体をSDD TFRに転送する。
その後の処理は、SATAデバイス制御部SAdのアプリケーション層たるSATAデバイスCPUが担当し、受信したFIS本体を解析して、受信したATAコマンドに対応した必要な処理を実行する。例えば、READ SECTOR(S)(20H)などのメモリリードのATAコマンドを受けた場合には、メモリリード動作の準備を開始し、準備応答(PIOSetup など)のATAコマンド(RegDH)を、SATAデバイス制御部SAdからSATAホスト制御部SAhに返送した上で、DATAコマンド(図7(e))を返送する。
一方、READ DMA(C8H)や、READ MULTIPLE EXT (29H)などのメモリリードのATAコマンドを受けた場合には、SATAデバイス制御部SAdは、直ちに、DATAコマンド(図8(d))を、2048Dword(=8kバイト)のCGデータ毎に、必要回数だけ返送する。そして、最後に、ステイタス応答コマンド(図8(e))を返送する。図8(c)は、この一群の動作を図示したものであり、図8(b)、図8(d)、及び図8(e)は、各々、図7(b)、図7(b)、及び図7(b)を再掲したものである。
続いて、2つの表示装置DS1,DS2を使用して実行される画像演出の制御動作について、図9(a)〜図9(d)のフローチャートと、図10(a)のタイムチャートを参照しつつ説明する。なお、画像演出は、演出制御CPU40から制御コマンドCMD’を受ける画像制御CPU63と、画像制御CPU63に指示されて機能するVDP回路52と、によって実現される。先に説明した通り、画像制御CPU63からVDP回路52に対する指示は、レジスタ群70に書込まれる動作パラメータによって特定される。
図9に示す通り、画像演出動作は、画像制御CPU63によって所定時間毎に実行されるディスプレイリストの更新処理(図9(a))と、画像制御CPU63から受けるディスプレイリストに基づいて動作するプリローダ73、描画回路76、及び、表示回路74の各シーケンス動作(図9(b)〜図9(d))によって実現される。なお、プリローダ73、描画回路76、及び、表示回路74が、以下に説明するシーケンス動作を実現するよう、電源リセット時やその後の必要なタイミングで、画像制御CPU63は、必要な設定値(動作パラメータ)をレジスタ群70に設定している。
以上を踏まえて説明すると、実施例の画像制御CPU63は、VBLANK割込み(図6(a)参照)を2回受ける1/30秒毎に、図9(a)の動作を開始し(ST1)、プリローダレジスタや描画レジスタに、適宜な動作パラメータを設定することに基づき、プリローダ73と描画回路76のシーケンス動作を開始させている(動作開始処理ST2)。また、表示レジスタに、適宜な動作パラメータを設定することに基づき、フレームバッファFBにおける表示バンクと描画バンクとを切換えている(バンク切換処理ST2)。
図10(a)は、これらの動作を略記したものであり、表示回路74は、1/60秒毎に表示バンクの画像データを読み出し、これを表示装置DS1,DS2に出力することで、各表示装置の表示画面を更新している。そして、一フレーム分の画像データの出力動作が完了する毎に、VBLANK割込み信号を出力している。
一方、画像制御CPU63と、プリローダ73と、描画回路76は、VBLANK割込みを2回受けることに対応して、1/30秒(δ)毎に、各々、自らの動作を並列的に実行している。なお、図10(b)は、CPU回路の内蔵RAM59と、VDP回路の内蔵VRAM71と、外付けDRAM54と、CGROM55について、各メモリの内容を模式的に示している。
画像制御CPU63の動作について説明を続けると、ステップST2の処理に続いて、画像制御CPU63は、演出シナリオに基づいてディスプレイリストDLを更新する(ST3)。ここで、演出シナリオは、演出制御CPU40から受けた制御コマンドCMD’で特定される画像演出を具体化したものである。すなわち、演出シナリオには、一定時間継続される一連の動画や、描画位置や配置姿勢や拡大縮小率が適宜に規定される静止画(背景画像や予告画像を含む)について、(1) 一連の動画演出の開始時刻や終了時刻、(2) どの静止画を、どの時刻に、どの位置に、どのように描くか、などが規定されている。
なお、動画演出とは言っても、表示装置の描画画像が、迅速かつ円滑に変化するだけであり、一定時間毎に、同一又は異なる次の画像データを、表示装置に描画する点では静止画と同じである。また、この実施例では、2つの表示装置DS1,DS2に、異なる画像を表示するので、この構成に対応して、演出シナリオは二区分されている。
そして、画像制御CPU63は、このような構成の演出シナリオを参照して、各タイミング(T1,T1+δ,T1+2δ,・・・)で、表示装置DS1,DS2の表示画像を特定する一群の描画コマンドを列記したディスプレイリストDLを生成する。ディスプレイリストDLは、動画については、時間的に進行する動画のどの部分を表示するかを、CGROMの記憶位置を特定して規定し、スプライト画像などの静止画については、CGROMの何処に記憶されている画像を、表示装置のどの位置に、どのように描くかなどを規定している。
次に、このように構成されたディスプレイリストDLを、外付けDRAM54の規定領域に転送して、次のリスト更新タイミングに達するのを待つ(ST4)。図10(a)及び図10(b)には、タイミングT1から開始される画像制御CPU63の動作の結果、ディスプレイリストDL1が生成され、これがタイミングT1’で外付けDRAM54に転送されることが図示されている。
このディスプレイリストDL1は、この実施例では、一タイミング遅れたタイミングT1+δで、プリローダ73によって書換え処理がされ、更に一タイミング遅れたタイミングT1+2δで、書換え後のディスプレイリストDL1に基づいて描画回路76によって描画処理がされる。そして、更に一タイミング遅れたタイミングT1+3δの後に実行される表示回路74の表示動作に基づいて、ディスプレイリストDL1によって特定される表示画面が表示装置DS1,DS2に現れる。
このように、本実施例では、プリローダ73、描画回路76、及び表示回路74の動作開始が、ほぼ、一タイミング(δ)ずつ遅れるよう構成されている。そのため、タイミングT1から開始されるプリローダ73は、外付けDRAM54の未処理で最古のディスプレイリストを処理することで、具体的には、一つ手前のタイミングで生成されたディスプレイリストを処理することになる。言い換えると、タイミングT1に画像制御CPU63が生成したディスプレイリストDL1は、タイミングT1+δから開始されるプリローダ73の動作に基づき、以下の通りに処理される。
以下、タイミングT1+δ以降を説明すると、プリローダ73は、外付けDRAM54の規定領域に記憶されている、未処理で最古のディスプレイリストであるディスプレイリストDL1を解析する。そして、ディスプレイリストDL1に、CGROMのCGデータを必要とする描画コマンドを検出した場合には、その一群のCGデータを外付けDRAM54のCGデータ領域に取得するべく、必要な情報をCGバスIF部82のSATAホスト制御部SAhに伝える。また、この先読み(プリロード)処理に関わる描画コマンドにおける、CGデータの記憶位置をCGROM55のソースアドレス値から、DRAM54に確保したCGデータ領域のアドレス値に書換える(SS10)。
このプリローダ73の動作に並行して、必要な情報を得たSATAホスト制御部SAhでは、例えば、READ MULTIPLE EXT (29H)などのメモリリードのATAコマンドを、アドレス情報LBA(logical Block addressing)と、データ量(Sector Count)とを特定して発行する。
すると、その後は、CGROM55のSATAデバイス制御部SAdから、DATAコマンドが、図8(c)の手順で返送され、DATAコマンドから抽出された必要データ(CGデータ)が、順次、外付けDRAM54に、圧縮状態のまま記憶される(SS11)。
以上の動作は、CGROMのCGデータを必要とする描画コマンドを検出する毎に、繰り返し実行され、表示装置DS1と表示装置DS2の一フレームを構築するためのCGデータ(圧縮データ)が、全て、CGROM55からDRAM54のCGデータ領域に確保されることになる。なお、一度、DRAM54のCGデータ領域に確保したCGデータは、その後も使用可能に管理されているので、それ以前のタイミングで確保したCGデータを使用する場合には、プリロード処理(SS11)がスキップされ(図9(b)の破線参照)、CGデータの記憶位置をCGROM55のソースアドレス値から、DRAM54に確保したCGデータ領域のアドレス値に書換える処理(SS10)だけが実行される。
そして、表示装置DS1及び表示装置DS2の各一フレームを特定するディスプレイリストDL1について、そこに記載された全描画コマンドについて、必要なCGデータのDRAM54への転送処理や、デイプレイリストの書換え処理が終了すれば、間欠的に開始される次回のプリロード動作まで待機することになる(SS12)。なお、図10(b)には、タイミングT1+δにおいて、必要なCGデータがCGROM55から外付けDRAM54に転送される状態が矢印で記載されている。なお、転送されたCGデータは圧縮状態のままである。
続いて、図9(c)に基づいて、描画回路76、グラフィックスデコーダ75、及びジオメトリエンジン77などが協働して実行する描画動作について説明する。図10(a)に示す通り、この描画動作は、一定時間(δ)毎に繰り返されるが、便宜上、以下の説明では、書換え後のディスプレイリストDL1に基づいて実行されるタイミングT1+2δ以降の描画動作を説明する。
描画回路76は、外付けDRAM54に記憶されているディスプレイリストのうち、未処理で最古のディスプレイリストであるディスプレイリストDL1に記載されている描画コマンドを順番に解析して(SS20)、描画コマンドが指定する静止画や動画について、グラフィックスデコーダ75やジオメトリエンジン77を機能させる。なお、描画回路76は、書換え後のディスプレイリストDL1を処理するので、静止画や動画に関するCGデータの参照先は、外付けDRAM54である。
そして、グラフィックスデコーダ75によってデコードされた静止画データや動画データは、各々、内蔵VRAM71に確保されている静止画デコード領域や動画デコード領域に伸張展開される(SS22〜SS23)。次に、デコード後の静止画データや動画データが、描画コマンドによって規定される描画態様で、VRAM71のフレームバッファFBの所定位置に書込まれることで描画処理が実行される(SS24)。なお、描画態様には、フレームバッファFBにおける描画位置が含まれるが、スプライト画像などの場合には、更に、描画姿勢や拡大縮小率などが規定される場合があり、ジオメトリエンジン77が機能する。
図9(e)に示す通り、この実施例では、2つの表示装置DS1,DS2に対応して、フレームバッファFBに、第一フレームバッファFBaと第二フレームバッファFBbとが確保されており、描画コマンドによって特定される、フレームバッファFBa/FBbの所定位置に、静止画や動画のデコードデータが書込まれることで描画動作が実現される(SS24)。先に説明した通り、フレームバッファFBa/FBbは、各々、描画バンクと表示バンクに区分されたダブルバッファ構造であり、描画動作(SS24)では、より正確には、フレームバッファFBa/FBbの描画バンクにおける所定位置に、デコードデータが書込まれることになる。なお、実施例とは異なるが、フレームバッファFBに第三のフレームバッファFBcを確保すれば、第三の表示装置の画像を並行して描画することも可能である。
何れにしても、ステップSS22又はステップSS23の処理後に、そのデコードデータ(動画/静止画)に基づいて、所定のフレームバッファFBa/FBbの所定位置に必要な画像が描画される(SS24)。そして、この処理は、ディスプレイリストDL1の先頭から最後まで、描画コマンドの記載順に実行されるので、先に描画された画像は、その後に、同じ領域に描画される画像によって上書きされることになる。
そして、全ての描画コマンドについての描画処理が終われば、間欠的に開始される次回の描画動作まで待機状態となる(SS25)。なお、図10(b)には、タイミングT1+2δにおいて、フレームバッファFB(FBa+FBb)に、必要な画像が描画されることが矢印で記載されている。
最後に、図9(d)に基づいて表示回路74の動作を説明する。この表示動作も、一定時間(δ)毎に繰り返されるが、便宜上、以下の説明では、図10に示すタイミングT1+3δ以降の表示動作について説明する。先に説明した通り、このタイミングでは、ディスプレイリストDL1に基づく画像データが、フレームバッファFBa/FBbの描画バンクに確保されている。そして、図9(a)に示すバンク切換処理(ST2)に基づき、タイミングT1+3δ以降の表示動作では、ディスプレイリストDL1による画像データが記載された描画バンクが、表示バンクとして機能する。
図9(e)に示す通り、VDP回路52には、並列的に実行する3系統の表示回路A/B/Cが設けられているが、この実施例では、2系統の表示回路A/Bだけが機能するよう設定されている。そして、表示回路A/Bは、各々に対応するフレームバッファFBa/FBbの表示バンクに格納されている画像データを読み出して、出力選択部79に出力する(SS30)。
その後は、出力選択部79の動作に基づき、表示回路Aが出力するフレームバッファFBaの画像データが、LVDS部80aを経由してメイン表示装置DS1に伝送されることは先に説明した通りである。また、表示回路Bが出力するフレームバッファFBbの画像データが、LVDS部80bを経由してサブ表示装置DS2に伝送されることも前記の通りである。そして、表示回路Aが、一フレーム分の画像データの出力処理を終えると、VBLANK割込み信号が出力される。本実施例では、2つの表示装置A/Bが並列的に動作するので、このタイミングでは、表示回路Bも出力処理を終えている。なお、図10(b)には、タイミングT1+3δの少し後で、フレームバッファFB(FBa+FBb)の表示バンクの画像データが出力されることが矢印で記載されている。
以上の通り、この実施例では、一連の動作を、プリローダ73と、描画回路76と、表示回路74とが、連動して各々が担当する処理を並列的に実行するので、高画質で高速に変化する大画面の画像演出を支障なく実現することができる。特に、本発明では、2つの表示装置を使用するので、画像演出の制御負担が大きいので、本実施例の並列動作を価値は高い。
しかも、本発明では、描画回路76に先行して、プリローダ73を動作させて、CGデータをRAMに先読み(プリロード)するので、CGROM55として、必ずしもランダムアクセスメモリ(マスクROMなど)を使用する必要がなく、シーケンシャルアクセスメモリを使用することができ、製造コストを低減することができる。そして、CGデータのプリロードには、serialATAに準ずるHSS方式でCGROM55を高速アクセスするので、大型高画質の表示装置について、一フレームを構成する画像データが膨大化しても問題が生じない。しかも、CGデータは、シリアル伝送されるので、CGROMとの配線を簡素化することもできる。
以上、本発明の実施例について詳細に説明したが、具体的な記載内容は特に本発明を限定するものではない。例えば、上記の実施例では、図6(a)に示す通り、内蔵CPU回路51と、VDP回路52と、を内蔵した複合チップ50を使用しているが、このような複合チップ50を使用することなく、VDP回路52とは別構成のワンチップマイコンを、内蔵CPU回路51に代えて使用するのも好適である。
また、図6(a)に示す実施例では、CGROM55としてNAND型フラッシュメモリを内蔵したSATAモジュールを使用したが、特に限定されず、例えば、XtraROMなどの他のシーケンシャルアクセスメモリを使用しても良い。但し、ランダムアクセス可能なNOR型フラッシュメモリや、通常のマスクROMの使用が禁止されるものではない。
なお、図6(b)に示す実施例では、NAND型フラッシュメモリとVDP回路52(CGバスIF部82)とを、差動信号線によるシリアル伝送路で接続したが、シリアル伝送に限定されず、通常のマスクROMも含め、データバスとアドレスバスを通してアクセスされるパラレル伝送方式を採っても良い。
また、上記の実施例では、図3に示す通り、音声演出及びランプ(モータ)演出を制御する演出制御CPU40から制御コマンドCMD’を受ける画像制御CPU63によって画像演出が制御されているが、演出制御CPU40を使用することなく、画像制御CPU63が、直接、主制御部21の制御コマンドCMDを受けることで、音声演出、ランプ演出、モータ演出、及び画像演出を纏めて統一的に制御するのも好適である。
図11は、複合チップ50に内蔵された画像制御CPU63が、全ての演出動作を制御する構成を示している。このような構成の場合には、制御コマンドCMD’の送受信の処理が不要となるので、演出インタフェイス基板22や画像制御基板23の回路構成が簡素化され、且つ、制御コマンドCMD’の送受信に関する制御負担が軽減化される上に、制御コマンドCMD’の伝送ミスや、画像演出と他の演出との同期ズレの問題が解消されるという利点がある。なお、図11では、複合チップ50を使用しているが、複合チップ50に内蔵されたVDP回路52や画像制御CPU63を使用すること代えて、より高性能なワンチップマイコンと、専用のVDP回路を使用するのも好適である。
図12は、図11の要部を詳細に図示したものであり、複合チップ50に内蔵された画像制御CPU63が、音声演出、ランプ演出、モータ演出、及び画像演出を制御する場合を示している。また、図13は、図12の複合チップ50を、他の回路構成部材と共に図示したものである。
図13に示す通り、この実施例では、主制御部21からの制御コマンドCMDが、入出力回路64pを経由して、パラレル入出力ポート(PIO)62に供給されている。また、ストローブ信号STBは、入出力回路64pを経由して、画像制御CPU63の割込み端子に供給されることで、受信割込み処理を起動させている。したがって、受信割込み処理に基づいて、制御コマンドCMDを把握した画像制御CPU63は、演出抽選などを経て、この制御コマンドCMDに対応する音声演出、ランプ演出、モータ演出、及び画像演出を統一的に制御することになる。
ところで、図11〜図13の実施例では、ランプ演出とモータ演出のために、VDP回路52のSMC部(Serial Management Controller)78を使用している。先に説明した通り、SMC部78には、LEDコントローラとMotorコントローラとが内蔵されており、クロック同期方式でシリアル信号を出力できるよう構成されている。また、Motorコントローラは、所定のレジスタ70への設定値に基づき、任意のタイミングでラッチパルスを出力可能に構成され、また、クロック同期方式でシリアル信号を入力可能に構成されている。
そこで、本実施例では、クロック信号に同期してモータ駆動信号やLED駆動信号を、SMC部78から出力させる一方、適宜なタイミングで、ラッチパルスを、動作制御信号ENABLEとして出力するようにしている。また、演出モータ群M1〜Mnからの原点センサ信号SN0〜SNnをクロック同期方式でシリアル入力するよう構成されている。
図12に示す通り、クロック信号CK0〜CK2、駆動信号SDATA0〜SDATA2、及び、動作制御信号ENABLE0〜ENABLE2は、出力バッファ47,48,49を経由して、ランプ駆動基板36,29やランプモータ駆動基板30に伝送される。また、センサ信号SN0〜SNnは、モータランプ駆動基板30から入力バッファ49を経由して、SMC部78にシリアル入力される。
なお、図11〜図13の構成において、SMC部78を使用することは必須ではない。すなわち、内蔵CPU回路51には、汎用のシリアル入出力ポートSIOが内蔵されているので、これらを使用して、ランプ演出とモータ演出を実行することもできる。図13には、シリアル入出力ポートSIOに内部接続されている入出力回路64sを経由して、クロック信号CK0〜CK2、駆動信号SDATA0〜SDATA2が出力され、入出力回路64pを経由して動作制御信号ENABLE0〜ENABLE2が出力される構成が破線で示されている。なお、便宜上、入出力ポートや入出力回路と表現するが、実際に機能するのは、出力ポートや出力回路である。
ところで、図13(a)に幅太のデータバスラインを示す通り、この実施例では、CGROM55として、通常のマスクROMを使用しており、CGROM55のCGデータを、パラレルデータとしてDRAM54(又はVRAM84)にプリロードしている(図13(b)参照)。もっとも、この実施例においても、CGROM55にSATAモジュールを使用しても良いのは勿論である。
なお、プリロード動作についても、その使用の有無も含め、適宜に変更可能である。図14は、プリロード動作を省略した実施例であり、画像制御CPUによるディスプレイリストの更新処理(図14(a))と、描画回路76などによる描画動作(図14(b))と、表示回路74による表示動作(図14(c))とが、一定時間毎に繰り返される動作態様を示している。なお、この構成では、デコード処理(SS22,SS23)の動作時に、必要なCGデータが、CGROM55から読み出される。
このような実施例の場合には、例えば、タイミングT1で更新されたディスプレイリストは、その後のタイミングにおいて実効化されて、表示装置DS1,DS2に、そのディスプレイリストに対応する表示画面が表示される。通常のマスクROMなど、ランダムアクセス可能なメモリを使用する場合には、プリローダ73によるプリロード動作は特に不要であって、図14のような構成を採るのが好適である。
逆に、シーケンシャルアクセスメモリを使用する場合には、プリローダ73が好適に活用されるが、必ずしも、一フレーム分のCGデータ毎にプリロードする必要はない。図15は、表示画面の複数フレーム分を纏めてプリロードする場合について、画像制御CPUによるディスプレイリストの更新処理(図15(a))と、プリローダ73による多重プリロード処理(図15(b))とを示している。なお、描画回路76などによる描画動作と、表示回路74による表示動作については、記載を省略しているが、図9や図10の場合と同様に、所定時間δ(例えば1/30秒)毎に繰り返し実行される。
以下、リスト更新処理を説明すると、画像制御CPUは、所定時間毎に、描画回路76などによる描画動作と、表示回路74による表示動作とを起動させるものの(ST11)、更新タイミングに達するまで、ディスプレイリストDLを更新することなく待機する(ST12)。そして、更新タイミングに達すると、複数n個のディスプレイリストDL1〜DLnを纏めて生成し(ST13)、これらを、例えば、外付けDRAM54に転送すると共に、プリローダ73を起動させる(ST14)。
すると、この処理に対応して、プリローダ73が動作を開始し、外付けDRAM54に記憶されている複数個のディスプレイリストのうち、未処理で最古のディスプレイリストから順番に解析処理を開始し、CGROMのアドレス値に関してディスプレイリストを書換える(SS10)。そして、必要時にはCGROMのCGデータを先読み(プリロード)する(SS11)。
この実施例では、以上の処理(SS10〜SS11)は、単一のディスプレイリストDLに限定されず、複数n個のディスプレイリストDL1〜DLnの全てについて、他の動作に支障を与えない限り、順番に実行される(SS12’,SS12)。他の動作に支障を与える場合とは、例えば、外付けDRAM54に確保されたプリロード領域(図10(b)参照)が、未使用のCGデータによって満杯状態になっているような場合であり、このような場合には、CGデータの上書きを避けるため、プリロード領域に空きが生じるのを待つ(SS12’)。なお、リスト更新処理において、生成するディスプレイリストDL1〜DLnの個数を適正値に設定することで、ステップSS12’の処理を不要にするのも好適である。
何れにしても、全てのディスプレイリストDL1〜DLnについての処理が終わるまで、上記の動作を繰り返す(SS12)。この実施例によれば、図9の実施例では生じ得る、あるタイミングで、大量のCGデータのREADアクセスが集中するような問題が解消され、CGROMへのアクセス負担を平滑化することができる。なお、図9のリスト更新処理と、図15の多重リスト処理とを混在させて、READアクセスが集中する場合だけ、図15の多重リスト処理に移行させても良い。
以上、上記した各実施例では、もっぱら弾球遊技機について説明したが、回胴遊技機など、画像演出を伴う他の遊技機においても好適に活用されることは勿論である。