以下、実施例に基づいて本発明を詳細に説明する。図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は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
また、チャンスボタン11の下方には、ロータリースイッチ型の音量スイッチVLSWが配置されており、遊技者が音量スイッチVLSWを操作することで、無音レベル(=0)から最高レベル(=7)まで、スピーカ音量を8段階に調整できるようになっている。なお、スピーカの音量は、係員だけが操作可能な設定スイッチ(不図示)によって初期設定されており、遊技者が音量スイッチVLSWを操作しない限り、初期設定音量が維持される。また、異常事態が発生したことを報知する異常報知音は、係員による初期設定音量や、遊技者の設定音量に拘らず最高音量で放音される。
上皿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と、音声演出用の回路素子を搭載した演出インタフェイス基板22と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出、音声演出、及び画像演出を統一的に実行する演出制御基板23と、演出制御基板23と表示装置DS1,DS2の間に位置する液晶インタフェイス基板24と、主制御基板21から受けた制御コマンドCMD’に基づいて払出モータMを制御して遊技球を払い出す払出制御基板25と、遊技者の操作に応答して遊技球を発射させる発射制御基板26と、を中心に構成されている。
本実施例の場合、演出インタフェイス基板22と、演出制御基板23と、液晶インタフェイス基板24とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。
図示の通り、主制御基板21が出力する制御コマンドCMD’は、主基板中継基板33を経由して、払出制御基板25に伝送される。一方、主制御基板21が出力する制御コマンドCMDは、演出インタフェイス基板22を経由して演出制御基板23に伝送される。制御コマンドCMD,CMD’は、何れも16ビット長であるが、8ビット長毎に2回に分けてパラレル送信される。
主制御基板21と払出制御基板25には、ワンチップマイコンを含むコンピュータ回路が搭載されている。また、演出制御基板23には、VDP回路(Video Display Processor )52やCPU回路51などのコンピュータ回路が内蔵された複合チップ50が搭載されている。そこで、これらの制御基板21、25、23と、演出インタフェイス基板22や液晶インタフェイス基板24に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部23、及び払出制御部25と言うことがある。なお、主制御部21に対して、演出制御部23と、払出制御部25がサブ制御部となる。
また、このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材1を除く全てが、盤側部材GM2である。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板25と、発射制御基板26と、枠中継基板36とが含まれており、これらの回路基板が、前枠3の適所に各々固定されている。一方、遊技盤5の背面には、主制御基板21、演出制御基板23が、表示装置DS1,DS2やその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。
電源基板20は、接続コネクタC2を通して、主基板中継基板33に接続され、接続コネクタC3を通して、電源中継基板34に接続されている。電源基板20には、交流電源の投入と遮断とを監視する電源監視部MNTが設けられている。電源監視部MNTは、交流電源が投入されたことを検知すると、所定時間だけシステムリセット信号SYSをLレベルに維持した後に、これをHレベルに遷移させる。
また、電源監視部MNTは、交流電源の遮断を検知すると、電源異常信号ABN1,ABN2を、直ちにLレベルに遷移させる。電源異常信号ABN1,ABN2は、電源投入後に速やかにHレベルとなる。
本実施例のシステムリセット信号は、交流電源に基づく直流電源によって生成されている。そのため、交流電源の投入(通常は電源スイッチのON)を検知してHレベルに増加した後は、直流電源電圧が異常レベルまで低下しない限り、Hレベルを維持する。したがって、直流電源電圧が維持された状態で、交流電源が瞬停状態となっても、システムリセット信号SYSがCPUをリセットすることはない。なお、電源異常信号ABN1,ABN2は、交流電源の瞬停状態でも出力される。
主基板中継基板33は、電源基板20から出力される電源異常信号ABN1、バックアップ電源BAK、及びDC5V,DC12V,DC32Vを、そのまま主制御部21に出力している。一方、電源中継基板34は、電源基板20から受けたシステムリセット信号SYSや、交流及び直流の電源電圧を、そのまま演出インタフェイス基板22に出力している。そして、演出インタフェイス基板22は、受けたシステムリセット信号SYSを、そのまま演出制御部23に出力している。
一方、払出制御基板25は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の電源異常信号ABN2や、バックアップ電源BAKを、その他の電源電圧と共に直接的に受けている。
電源基板20が出力するシステムリセット信号SYSは、電源基板20に交流電源24Vが投入されたことを示す電源リセット信号であり、この電源リセット信号によって演出制御部23のCPU回路51は、その他の回路素子やVDP回路52などと共に電源リセットされるようになっている。
但し、このシステムリセット信号SYSは、主制御部21と払出制御部25には、供給されておらず、各々の回路基板21,25のリセット回路RSTにおいて電源リセット信号(CPUリセット信号)が生成されている。そのため、例えば、接続コネクタC2がガタついたり、或いは、配線ケーブルにノイズが重畳しても、主制御部21や払出制御部25のCPUが異常リセットされるおそれはない。
主制御部21や払出制御部25に設けられたリセット回路RSTは、各々ウォッチドッグタイマを内蔵しており、各制御部21,25のCPUから、定時的なクリアパルスを受けない限り、各CPUは強制的にリセットされる。
また、この実施例では、RAMクリア信号CLRは、主制御部21で生成されて主制御部21と払出制御部25のワンチップマイコンに伝送されている。ここで、RAMクリア信号CLRは、各制御部21,25のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
主制御部21及び払出制御部25は、電源基板20から電源異常信号ABN1,ABN2を受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源BAKは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部25のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。したがって、主制御部21と払出制御部25は、電源遮断前の遊技動作を電源投入後に再開できることになる(電源バックアップ機能)。このパチンコ機では少なくとも数日は、各ワンチップマイコンのRAMの記憶内容が保持されるよう設計されている。
図3に示す通り、主制御部21は、払出制御部25から、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部25の初期動作が完了したことを主制御部21に通知する信号である。
また、主制御部21は、遊技盤中継基板32を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
先に説明した通り、演出インタフェイス基板22と演出制御基板23と液晶インタフェイス基板24とはコネクタ連結によって一体化されており、演出インタフェイス基板22は、電源中継基板34を経由して、電源基板20から各レベルの直流電圧(5V,12V,32V)と、システムリセット信号SYSを受けている(図3及び図4(a)参照)。
図3に示す通り、演出インタフェイス基板22は、主制御部21から制御コマンドCMDとストローブ信号STBとを受けて、演出制御基板23に転送している。より詳細には、図4(a)に示す通りであり、制御コマンドCMDとストローブ信号STBは、システムリセット信号SYSと共に、入力バッファ40を経由して、演出制御基板23のCPU回路51に転送される。
また、演出インタフェイス基板22の入力バッファ44は、枠中継基板35,36からチャンスボタン11や音量スイッチVLSWのスイッチ信号を受け、各スイッチ信号を演出制御基板23のCPU回路51に伝送している。具体的には、音量スイッチVLSWの接点位置(0〜7)を示すエンコーダ出力の3ビット長と、チャンスボタン11のON/OFF状態を示す1ビット長をCPU回路51に伝送している。
また、演出インタフェイス基板22には、ランプ駆動基板30やモータランプ駆動基板31が接続されると共に、枠中継基板35,36を経由して、ランプ駆動基板37にも接続されている。図示の通り、ランプ駆動基板30に対応して、出力バッファ42が配置され、モータランプ駆動基板31に対応して、入力バッファ43aと出力バッファ43bが配置されている。なお、図4(a)では、便宜上、入力バッファ43aと出力バッファ43bを総称して、入出力バッファ43と記載している。入力バッファ43aは、可動演出体たる役物の現在位置(演出モータM1〜Mnの回転位置)を把握する原点センサの出力SN0〜SNnを受けて、演出制御基板23のCPU回路51に伝送している。
ランプ駆動基板30、モータランプ駆動基板31、及び、ランプ駆動基板37には、同種のドライバICが搭載されており、演出インタフェイス基板22は、演出制御基板23から受けるシリアル信号を、各ドライバICに転送している。シリアル信号は、具体的には、ランプ(モータ)駆動信号SDATAとクロック信号CKであり、駆動信号SDATAがクロック同期方式で各ドライバICに伝送され、多数のLEDランプや電飾ランプによるランプ演出や、演出モータM1〜Mnによる役物演出が実行される。
本実施例の場合、ランプ演出は、三系統のランプ群CH0〜CH2によって実行されており、ランプ駆動基板37は、枠中継基板35,36を経由して、CH0のランプ駆動信号SDATA0を、クロック信号CK0に同期して受けている。なお、シリアル信号として伝送される一連のランプ駆動信号SDATA0は、動作制御信号ENABLE0がアクティブレベルに変化したタイミングで、ドライバICからランプ群CH0に出力されることで一斉に点灯状態が更新される。
以上の点は、ランプ駆動基板30についても同様であり、ランプ駆動基板30のドライバICは、ランプ群CH1のランプ駆動信号SDATA1を、クロック信号CK1に同期して受け、動作制御信号ENABLE1がアクティブレベルに変化したタイミングで、ランプ群CH1の点灯状態を一斉に更新している。
一方、モータランプ駆動基板31に搭載されたドライバICは、クロック同期式で伝送されるランプ駆動信号を受けてランプ群CH2を駆動すると共に、クロック同期式で伝送されるモータ駆動信号を受けて、複数のステッピングモータで構成された演出モータ群M1〜Mnを駆動している。なお、ランプ駆動信号とモータ駆動信号は、一連のシリアル信号SDATA2であって、クロック信号CK1に同期してシリアル伝送され、これを受けたドライバICは、動作制御信号ENABLE2がアクティブレベルに変化するタイミングで、ランプ群CH2やモータ群M1〜Mnの駆動状態を更新する。
本明細書では、音声制御に関する回路構成27〜29については、詳しく後述するので、次に、演出制御基板23や、液晶インタフェイス基板24について図4及び図5に基づいて説明する。
図4(a)に示す通り、演出制御部23のCPU回路51のデータバスとアドレスバスは、液晶インタフェイス基板24に搭載された時計回路(real time clock )38と演出データメモリ39にも及んでいる。時計回路38は、CPU回路51のアドレスバスの下位4ビットと、データバスの下位4ビットに接続されており、CPU回路51が任意にアクセスできるよう構成されている。また、演出データメモリ39は、高速アクセス可能なメモリ素子SRAM(Static Random Access Memory )であって、CPU回路51のアドレスバスの16ビットと、データバスの下位16ビットに接続されており、そこに記憶されている遊技実績情報その他が、CPU回路51から適宜にR/Wアクセスされるようになっている。
時計回路38と演出データメモリ39は、不図示の二次電池で駆動されており、この二次電池は、遊技動作中、電源基板20からの給電電圧によって適宜に充電される。そのため、電源遮断後も、時計回路38の計時動作が継続され、また、演出データメモリ39に記憶された遊技実績情報が、永続的に記憶保持されることになる(バックアップ動作)。
図4の右側に示す通り、演出制御基板23には、CPU回路51やVDP回路52を内蔵する複合チップ50と、CPU回路51の制御プログラムを記憶する制御メモリ(PROM)53と、大量のデータを高速にアクセス可能なDRAM(Dynamic Random Access Memory)54と、演出制御に必要な大量のCGデータを記憶するCGROM55と、が搭載されている。
図5は、複合チップ50の内部構成を、やや詳細に図示したものであり、実施例の複合チップ50は、CPU回路51とVDP回路52とが、互いの送受信データを中継するCPUIF回路56を通して接続されている。また、CPUIF回路56には、制御プログラムや必要な制御データを不揮発的に記憶する制御メモリ(PROGRAM_ROM )53と、2Mバイト程度の記憶容量を有するワークメモリ(RAM)57とが接続され、各々、CPU回路51からアクセス可能に構成されている。
CPU回路51は、汎用のワンチップマイコンと同等の性能を有する回路であり、制御メモリ53の制御プログラムに基づき画像演出を統括的に制御する演出制御CPU63と、プログラムが暴走状態になるとCPU63を強制リセットするウォッチドッグタイマ(WDT)58と、16kバイト程度の記憶容量を有してCPU63の作業領域として使用されるRAM59と、CPU63を経由しないでデータ転送を実現するDMAC(Direct Memory Access Controller )60と、複数の入力ポートSi及び出力ポートSoを有するシリアル入出力ポート(SIO)61と、複数の入力ポートPi及び出力ポートPoを有するパラレル入出力ポート(PIO)62と、を有して構成されている。
なお、便宜上、入出力ポートとの表現を使用するが、演出制御部23において、入出力ポートには、独立して動作する入力ポートと出力ポートとが含まれている。なお、この点は、以下に説明する入出力回路64pや入出力回路64sについても同様である。
パラレル入出力ポート62は、入出力回路64pを通して外部機器(演出インタフェイス基板22)に接続されており、演出制御CPU63は、入力回路64pを経由して、音量スイッチVLSWのエンコーダ出力3ビットと、チャンスボタン11のスイッチ信号と、制御コマンドCMDと、割込み信号STBと、を受信するようになっている。エンコーダ出力3ビットと、スイッチ信号1ビットは、入出力回路64pを経由して、パラレル入出力ポート(PIO)62に供給されている。
同様に、受信した制御コマンドCMDは、入出力回路64pを経由して、パラレル入出力ポート(PIO)62に供給されている。また、ストローブ信号STBは、入出力回路64pを経由して、演出制御CPU63の割込み端子に供給されることで、受信割込み処理を起動させている。したがって、受信割込み処理に基づいて、制御コマンドCMDを把握した演出制御CPU63は、演出抽選などを経て、この制御コマンドCMDに対応する音声演出、ランプ演出、モータ演出、及び画像演出を統一的に制御することになる。
特に限定されないが、本実施例では、ランプ演出とモータ演出のために、VDP回路52のSMC部(Serial Management Controller)78を使用している。SMC部78は、LEDコントローラとMotorコントローラと、を内蔵した複合コントコントローラであり、クロック同期方式でシリアル信号を出力できるよう構成されている。また、Motorコントローラは、所定のレジスタ70への設定値に基づき、任意のタイミングでラッチパルスを出力可能に構成され、また、クロック同期方式でシリアル信号を入力可能に構成されている。
そこで、本実施例では、クロック信号に同期してモータ駆動信号やLED駆動信号を、SMC部78から出力させる一方、適宜なタイミングで、ラッチパルスを、動作制御信号ENABLEとして出力するようにしている。また、演出モータ群M1〜Mnからの原点センサ信号SN0〜SNnをクロック同期方式でシリアル入力するよう構成されている。
図4に関して説明した通り、クロック信号CK0〜CK2、駆動信号SDATA0〜SDATA2、及び、動作制御信号ENABLE0〜ENABLE2は、出力バッファ41〜43を経由して、所定の駆動基板30,31,37に伝送される。また、原点センサ信号SN0〜SNnは、モータランプ駆動基板31から入出力バッファ43を経由して、SMC部78にシリアル入力される。
但し、本実施例において、SMC部78を使用することは必須ではない。すなわち、CPU回路51には、汎用のシリアル入出力ポートSIO61が内蔵されているので、これらを使用して、ランプ演出とモータ演出を実行することもできる。図5には、シリアル入出力ポートSIOに内部接続されている入出力回路64sを経由して、クロック信号CK0〜CK2、駆動信号SDATA0〜SDATA2が出力され、入出力回路64pを経由して動作制御信号ENABLE0〜ENABLE2が出力される構成が破線で示されている。なお、便宜上、入出力ポートや入出力回路と表現するが、実際に機能するのは、出力ポートや出力回路である。
VDP回路52は、更にこれを詳細に説明すると、内部動作を規定する各種の動作パラメータ(設定値)が設定されるレジスタ群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と、を有して構成されている。
VDP回路52の内部動作は、演出制御CPU63が、レジスタ群70の所定レジスタに書き込む動作パラメータで規定され、また、VDP回路52の描画回路76は、演出制御CPU63が生成したディスプレイリストを解釈実行して、画像データを生成する。ここで、ディスプレイリスト(コマンドリスト)は、表示装置DS1,DS2の各一フレーム分の画面構成を特定する描画コマンド列であり、例えば、1/30秒毎にCPU回路51において更新され、例えば、外付けDRAM54に書き込まれる。
そして、描画回路76は、外付けDRAM54に書き込まれたディスプレイリストに基づいて、CGROM55から必要なCGデータを読み出して、ディスプレイリストが指定する画像データを生成する。そして、表示回路74A/74Bと、LVDS部80a/80bと、を経由して出力される画像データが、第1と第2のLVDS(低電圧差動伝送Low voltage differential signaling)信号として、液晶インタフェイス基板24を経由して、メイン表示装置DS1とサブ表示装置DS2に伝送される(図5(b)参照)。なお、図5(b)の破線で示す通り、表示回路74CとRGB出力部80cとを経由して、デジタルRGB信号を出力して、他の表示装置を駆動することもできる。
図4に示す通り、表示装置DS1には、LVDS信号をRGB信号に変換するLVDS受信部が内蔵されており、表示装置DS1は、液晶インタフェイス基板24から5対のLVDS信号と、LEDバックライト電源を含む直流電源電圧とを受けて駆動されている。一方、サブ表示装置DS1は、液晶インタフェイス基板24のLVDS受信部でLVDS信号から変換されたデジタルRGB信号と、LEDバックライト電源を含む直流電源電圧とを受けて駆動されている。なお、メイン表示装置DS1とサブ表示装置DS2は、1/60秒毎に、VDP回路52によって各表示画面が更新される。
図5に示す通り、この実施例では、CPU回路51は、VDP回路52からVBLANK割込み信号を受けるよう構成されている。ここで、VBLANK(vertical blanking )割込み信号は、1/60秒間隔で実行される表示装置DS1,DS2の画面更新処理(各一フレーム分の画像データの出力処理)が終了したことを示している。すなわち、本実施例のCPU回路51は、VBLANK割込み信号によって、各表示装置の画面更新が終わったことを把握することができる。
続いて、演出インタフェイス基板22に搭載された音声制御に関する回路構成27〜29について詳細に説明する。図4(a)に示す通り、演出インタフェイス基板22には、演出制御基板23のCPU回路51(演出制御CPU63)から受ける指示に基づいて音声信号を再生する音声プロセッサ(音声合成回路)27と、再生される音声信号の元データである圧縮音声データなどを記憶する音声メモリ28と、音声プロセッサ27から出力される音声信号を受けるデジタルアンプ29と、が搭載されている。
音声プロセッサ27は、演出制御CPU63から内蔵レジスタたる音声制御レジスタRGi(RG0〜RGn)に受ける動作パラメータ(音声コマンドSNDによる設定値)に基づいて、音声メモリ28をアクセスして、必要な音声信号を再生して出力している。図4(a)に示す通り、音声プロセッサ27と、音声メモリ28とは、26ビット長の音声アドレスバスと、16ビット長の音声データバスで接続されている。そのため、音声メモリ28には、1Gビット(=226*16)のデータが記憶可能となる。
本実施例の場合、音声メモリ28に記憶された圧縮音声データは、13ビット長のフレーズ番号NUM(000H〜1FFFH)で特定されるフレーズ(phrase)圧縮データであり、一連の背景音楽の一曲分(BGM)や、ひと纏まりの演出音(予告音)などが、最高8192種類(=213)、各々、フレーズ番号NUMに対応して記憶されている。そして、このフレーズ番号NUMは、演出制御CPU63から音声プロセッサ27の音声制御レジスタRG0〜RGnに伝送される音声コマンドSNDの設定値(動作パラメータ)によって特定される。
本明細書では、以下の説明において、一のフレーズ番号NUMで特定されるひと纏まりの演出音を、特に、「単位演出」ということがある。この意味では、一連の背景音楽の一曲分(BGM音)も「単位演出」の一種であり、遊技球の図柄始動口への入賞で開始され、当否抽選結果を報知して終了する一連の変動演出を構成する音声演出は、複数の「単位演出」を適宜に組み合わせて実現されることになる。
音声コマンドSNDは、音声プロセッサ27に内蔵された多数の音声制御レジスタRG0〜RGnの何れか一の音声制御レジスタ(RGi)に、1バイト長の設定値を伝送するIndividual Write用途か、又は、連続する一連N個の音声制御レジスタ群(RGi・・・)に、一群N個の設定値を伝送するBlock Write 用途で使用される。
また、本実施例の音声コマンドSNDは、フレーズ番号NUMなどの設定値を書込むWrite 用途だけでなく、所定の音声制御レジスタRGiからステイタス情報STS(エラー情報など)を読み出すRead用途でも使用される。なお、図6には、演出制御CPU63と、音声プロセッサ27の音声制御レジスタRGi(RG0〜RGn)との接続関係が示されている。
何れにしても、アクセス対象となる音声制御レジスタRGiは、1バイト長のレジスタアドレスで特定され、各音声制御レジスタRGiの記憶容量は1バイトである。そして、本実施例では、7個のレジスタバンクBN0〜BN6に区分して、多数の音声制御レジスタ(RG0〜RGn)が確保されている。すなわち、レジスタバンクBN0〜BN6が7区分されていることから、音声制御レジスタRGiの総数は、原理的には最大7×256個となる。
本実施例では、全てのレジスタバンクBN0〜BN6において、特定のレジスタアドレス(FDH)は、レジスタバンク設定用の音声制御レジスタとなっている。そのため、7×256個の音声制御レジスタRGiの何れか一個を特定するには、先行する音声コマンドSNDによって、バンク設定用の音声制御レジスタ(レジスタアドレス=FDH)に、レジスタバンクBNjを書込んだ上で、そのレジスタバンクBNjに属する音声制御レジスタRGiを、1バイト長のレジスタアドレスで特定することになる。
ところで、音声制御レジスタRGiへの設定値の設定動作は、必ずしも、設定対象となる音声制御レジスタのレジスタアドレスを直接指定する必要はなく、音声メモリ28に格納されているSACデータ(Simple Access Code Data )や、シーケンスコード(Sequence Code )を指定して、一群の音声制御レジスタRGi〜RGjに対する、一連の設定動作を完了させることもできる。そして、このような動作を実現するため、音声プロセッサ27には、図6(b)に示す通り、並列動作可能な4個のシンプルアクセスコントローラ(simple Access Controller)SAC0〜SAC3と、並列動作可能な16個のシーケンサ(Sequencer )SQ0〜SQ15とが内蔵されている。
シンプルアクセスコントローラSACを機能させるためのSAC(Simple Access Code)データから説明すると、SACデータは、音声制御レジスタRGiのレジスタアドレス(1バイト)と、その音声制御レジスタRGiへの設定値(1バイト)とを対応させた最大512組(=1024バイト)のデータ群であって、SAC終了コード(FFFFH)で終端される集合体を意味する(図6(b)参照)。
本実施例の場合、このようなSACデータを、音声メモリ28に、最高8192種類(=213)設けることができ、CPU63は、13ビット長のSAC番号を、SAC制御用の音声制御レジスタRGj1(図6(b))に書込むことで、シンプルアクセスコントローラSACを機能させることができる。なお、この場合には、4個のシンプルアクセスコントローラSAC0〜SAC3のうち、空いているシンプルアクセスコントローラSACiが自動的に選択されて機能を開始する。
そして、機能を開始したシンプルアクセスコントローラSACは、SAC番号で特定される一群のSACデータを、音声メモリ28から順番に読出し、SACデータが示す音声制御レジスタRGiに、SACデータが示す設定値を設定することになる。なお、実行中のシンプルアクセスコントローラSACiについては、所定の音声制御レジスタRGj1をREADアクセスすることで把握することができる。
このように、CPU63は、SAC制御用の音声制御レジスタRGj1に、SAC番号を書込むだけで足り、音声制御レジスタRGiのレジスタアドレスを個々的に指定することなく、一連の設定動作を指示することができる。そこで、本実施例では、音声合成回路(音声プロセッサ)27の初期設定動作や、複数の再生チャンネルCH0〜CH29に対するボリューム設定動作などで、シンプルアクセスコントローラSACを活用している。
なお、SAC制御用の音声制御レジスタRGj1には、一連の設定動作の開始タイミングを規定する待機時間(付属データとしての待機情報)を設定することもでき、SAC制御用の音声制御レジスタRGj1へのSAC番号の書込みタイミングから、シンプルアクセスコントローラSACによる音声制御レジスタRGiへの設定開始タイミングを遅延させることもできる。なお、この場合には、シンプルアクセスコントローラSAC0〜SAC3を自動選択する機能を活用するのではなく、何れかのシンプルアクセスコントローラSAC0〜SAC3を特定して、SAC番号と待機時間を指定することになる。
続いて、シーケンサSQを機能させるためのシーケンスコード(Sequence Code )について説明する。シーケンスコードも、SACデータと同様、音声制御レジスタRGiのレジスタアドレス(1バイト)と、その音声制御レジスタRGiへの設定値(1バイト)とを対応させた複数組のデータである(図6(b)参照)。但し、SACデータとは異なり、シーケンスコードは、所定の待機時間を経て、間欠的に実行可能な複数の動作ステップ(複数のシーケンスステップ)を規定することができる。
また、シーケンサ(Sequencer )制御用の音声制御レジスタRGj2には、各シーケンサSQ0〜SQ15について、一連のシーケンス動作を実現する複数(最高8個)のシーケンスコード番号を指定できる共に、各設定動作の開始タイミングを規定する待機時間(待機情報)や、繰り返し動作の有無、及びその繰り返し回数(ループ情報)を、含ませることができるようになっている。したがって、一又は複数のシーケンスコード番号は、所定時間を要して実行される一連の音声演出を特定することになる。
図6(b)に示す通り、一のシーケンスコード番号(13ビット)で特定される一群のシーケンスコードには、複数の動作ステップを規定できるよう構成されている。複数の動作ステップは、ステップ終了コード(FFFEH)で区切られ、複数の動作ステップの最後は、シーケンス終了コード(FFFFH)で終端されている。先に説明した通り、各シーケンサSQ0〜SQ15には、各々、最高8個のシーケンスコード番号を指定できるので、結局、各シーケンサSQkは、シーケンスコード番号で特定される一群のシーケンスコードの動作を、最高8組、連続的又は間欠的に実行できることになる。
本実施例の場合、音声メモリ28に、最高8192種類(=213)のシーケンスコードを格納することができるが、CPU63は、13ビット長のシーケンスコード番号(最高8個)と、シーケンサの動作を規定する付属データとを、シーケンサ制御用の音声制御レジスタRGj2に書込むことで、一連の設定動作を、シーケンサSQに指示できることになる。
なお、16個のシーケンサSQ0〜SQ15に対応して、16系統のシーケンサ制御用の音声制御レジスタRGj2が事実上設けられており、特定のシーケンサSQ0〜SQ15を選択して、シーケンスコード番号その他を指定することになる。何れにしても、シーケンサ制御用の音声制御レジスタRGj2に書込まれるデータは、20バイト程度であって煩雑であるので、この20バイトを、SACデータとして音声メモリ28に確保しておくのも好適である。
そして、演出制御CPU63が、音声コマンドSNDの送信動作に基づいて、SAC制御用の音声制御レジスタRGj1に、SAC番号を書込むと、シンプルアクセスコントローラSACが機能を開始して、SAC番号で特定される一群の設定データを、SACデータが指示する一群の音声制御レジスタに書込むことになる。この点は、既に説明した通りであり、本実施例では、煩雑な設定動作を一のSAC番号の送信で終えることができる。なお、待機時間に関する付属データを送信しても良いことも先に説明した通りである。
一方、演出制御CPU63が、音声コマンドSNDの送信動作に基づいて、所定のシーケンサ(SQ0〜SQ7)制御用の音声制御レジスタRGj2に、シーケンスコード番号と、その付属データを書込むと、対応するシーケンサSQiが機能を開始して、シーケンスコードで特定される一群の設定データを、シーケンスコードが指示する一群の音声制御レジスタに書込むことになる。
改めて確認すると、本実施例では、このようなSACデータやシーケンスコードが、必要組だけ、予め音声メモリ28に記憶されており、一群のSACデータや、一群のシーケンスコードは、SAC番号やシーケンスコード番号で特定される。したがって、本実施例の場合、Write 用途の音声コマンドSNDは、音声制御レジスタRGiへの直接的な設定動作を規定する場合だけでなく、シンプルアクセスコントローラSACやシーケンサSQを経由した間接的な設定動作を規定する場合も含まれる。
図5に戻って説明を続けると、上記の動作を実現するため、演出制御CPU63と音声プロセッサ27は、1バイトデータを送受信可能なパラレル信号線(データバス)CD0〜CD7と、動作管理データを送信可能な2ビット長の動作管理データ線(アドレスバス)A0〜A1と、読み書き(read/write)動作を制御可能な2ビット長の制御信号線WR,RDと、音声プロセッサ27を選択するチップセレクト信号線CSとで接続されている。
パラレル信号線CD0〜CD7は、複合チップ50に内蔵された演出制御CPU63のデータバスで実現され、また、動作管理データ線A0〜A1は、演出制御CPU63のアドレスバスで実現されている。そして、音声プロセッサ27には、上位6ビットが共通し、下位2ビットが00,01,10となる3個のポート番号PORTが付与されており、演出制御CPU63が、これらのポート番号PORTに対するI/OREAD命令や、I/OWRITE命令を実行すると、何れの場合も、チップセレクト信号CSがアクティブレベルになるよう回路構成されている。
そして、I/OREAD命令や、I/OWRITE命令の実行時にアドレスバスの下位2ビットA0〜A1に出力されるデータは、音声プロセッサ27に対する動作管理データA0〜A1となり、この2ビットA0〜A1に基づいて、その時のデータバスCD0〜CD7の1バイトデータが、レジスタアドレスであるか、それとも、書込みデータ又は読み出しデータであるかが特定されるようになっている。
すなわち、アドレスデータA0〜A1が、[00]であれば、そのタイミングのデータバスのデータCD0〜CD7が、レジスタアドレスと評価され、一方、アドレスデータA0〜A1が[01]であれば、そのタイミングのデータバスのデータCD0〜CD7が、書込みデータ又は読み出しデータとなる。なお、I/OREAD命令を実行した場合が読み出しデータ、I/OWRITE命令を実行した場合が書込みデータである。
したがって、所定の設定値を、所定の音声制御レジスタRGi,RGjに書込む音声コマンドSNDの送信動作は、図5(b)のタイムチャートに示す通りとなり、音声プロセッサ27のポート番号PORTの下位2ビットA0,A1を推移させつつ、I/OWRITE命令を連続的に実行することで実現される。具体的には、アドレスデータの下位2ビットA0〜A1を、[00]→[01]と推移させる一方で、データバスの1バイトデータを、[音声制御レジスタRGiのレジスタアドレス]→[音声制御レジスタRGiへの書込みデータ]と推移させることで、所定の音声コマンドSNDの送信動作が実現される。
SAC番号(13ビット)やシーケンスコード番号(13ビット)、及び、これに付随する制御データ(待機情報やループ情報など)を送信する場合のように、書込みデータが複数バイト長であって、制御レジスタのレジスタアドレスが連続する場合には、[01]の動作管理データA0〜A1を、[00]→[01]→[01]→[01]と繰り返しつつ、複数バイトの書込みデータを送信する。
このようにして送信された音声コマンドは、通信異常がない限り、その後、音声プロセッサ内部で実効化される。但し、複数バイト長のデータが互いに整合しないなど、通信異常が認められる場合には、その音声コマンドSNDが実効化させることはない。そして、音声制御レジスタRGnのエラーフラグがセットされるが、このエラーフラグ(ステイタス情報STS)は、アドレスバスの動作管理データA0〜A1を、[01]から[10]に推移させたI/OREAD命令の実行によって受信することができる(図5(d)参照)。
このように、この実施例では、動作管理データA0〜A1を、[00]→[01]→・・・[01]→[10]と推移させる最終サイクルにおいて、複数ビット長のエラー情報(異常時はFFH)を取得することができる。そして、正当にパラレル送信できなかった音声コマンドSNDを再送することで、音声演出を適切に進行させることができる。したがって、本実施例の構成によれば、音声演出が突然、途絶えるような不自然さを確実に解消されることができる。
一方、I/OREAD動作によるデータ読み込み動作は、図5(c)のタイムチャートに示す通りであり、音声プロセッサ27のポート番号PORTの下位2ビットA0,A1を推移させつつ、I/OWRITE命令と、I/OREAD命令を連続的に実行することで実現される。なお、読み出しデータが複数バイト長の場合には、必要バイト数だけI/OREAD命令を連続させる。
具体的に確認すると、先ず、I/OWRITE動作として、アドレスデータの下位2ビットA0〜A1が[00]となるポート番号PORTに対して、[動作ステイタスなどを記憶する音声制御レジスタRGiのレジスタアドレス(1バイト長)]を出力する。次に、アドレスデータの下位2ビットA0〜A1が[01]となるポート番号PORTに対して、I/OREAD命令を実行すれば、所定の音声制御レジスタから動作ステイタスなどの必要データを取得することができる。
以上のような構成を有する音声プロセッサ27が再生した音声は、音声プロセッサ27のデジタル音声信号として出力される。本実施例では、音質の劣化を防止すると共に、配線の複雑化を回避するため、音声プロセッサ27とデジタルアンプ29との間は、4本の信号線で接続されており、具体的には、転送クロック信号SCLKと、チャンネル制御信号LRCLKと、2ビット長のシリアル信号SD0,SD2との合計4ビットの信号線に抑制されている。
ここで、SD0は、遊技機上部に配置された左右スピーカのステレオ信号R,Lを特定するPCMデータについてのシリアル信号であり、SD2は、遊技機下部に配置された低音スピーカのモノラル信号を特定するPCMデータについてのシリアル信号である。そして、音声プロセッサ27は、チャンネル制御信号LRCLKをLレベルに維持した状態で、左チャンネルの音声信号Lを伝送し、チャンネル制御信号LRCLKをHレベルに維持した状態で、右チャンネルの音声信号Rを伝送する(図4(e)参照)。低音スピーカは、本実施例では1個であるので、モノラル音声信号が伝送されているが、ステレオ音声信号として伝送できるのは勿論である。
このようなシリアル信号SD0,SD2は、クロック信号SCLKの立上りエッジに同期して、デジタルアンプ29に取得される。そして、デジタルアンプ29内部で、所定ビット長毎にパラレル変換され、DA変換後にD級増幅されて各スピーカに供給されている。
次に、図6(a)には、音声プロセッサ27の概略内部構成と共に、音声プロセッサ27と、演出制御CPU63と、音声メモリ28と、の接続関係も示されている。
図6(a)に示す通り、音声プロセッサ27は、演出制御CPU63からアクセスされる多数の音声制御レジスタRGi(RG0〜RGn)と、音声再生動作を統括的に制御するサウンドコントロールモジュール45と、音声メモリ28から読み出されたフレーズ圧縮データをデコードする複数のフレーズ再生チャンネルCH0〜CH31で構成されたデコーダ46と、フレーズ再生チャンネルCH0〜CH31の出力を適宜な音量比率で混合させると共に所定の音声エフェクト処理を実現するマルチエフェクタ部47と、最終音量を規定するトータルボリューム(TV)48と、シリアル伝送用の5種類の信号SCLK,LRO,SD0,SD1,SD2を生成可能なデジタルIF部49と、を備えて構成されている。そして、サンプリング周波数45kHz前後(実施例では48kHz)の高音質の音声が再生される。
これら音声プロセッサ27の内部回路は、いずれも、音声制御レジスタRGiに書込まれた、音声コマンドSNDによる演出制御CPU63からの指示に基づいて機能する。なお、一連の動作パラメータが、所定の音声制御レジスタRG0〜RGnに設定され終わるまでには、音声コマンドSNDの送信速度や、サウンドコントロールモジュール45の動作速度に応じて、所定の設定時間を要する。そのため、一連の動作パラメータの最後には、新規の動作パラメータによる動作を開始する旨を指示する動作パラメータが設定される必要がある。
特に限定されないが、実施例の音声プロセッサ27は、1mS程度(実施例では、32/48mS)の動作周期で、その時々の音声制御レジスタRG0〜RGnの設定値に応じた内部動作に更新されるよう構成されている。そのため、一連の動作パラメータは、それらの設定を終えた後、1ms程度の時間遅れで迅速に設定内容が実効化されることになる。
以上を踏まえて内部構成を説明すると、まず、サウンドコントロールモジュール45は、シンプルアクセスコントローラSAC(Simple Access Controller)と、シーケンサSQ(Sequencer )とを有して構成されている。先に説明した通り、シンプルアクセスコントローラSACやシーケンサSQは、一群のSACデータや、一群のシーケンスコードを音声メモリ28から読み出して、所定の音声制御レジスタRGiに、設定データを設定する機能を有している。
また、マルチエフェクタ部47は、フレーズ再生チャンネルCH0〜CH31毎に音量を調整可能なチャンネルボリューム部65と、音量調整されたフレーズ再生チャンネルCH0〜CH31の音声信号を混合させるチャンネルミックス部66と、ディレイやリバーブなどの残響音を生成するセンドリターンエフェクト部(SRFX部)67と、SRFX部67の残響音出力をオリジナル音と混合して、残響系の音声エフェクトを実現するリターンミキサ68と、リターンミキサ68の出力を受けて周波数系の音声エフェクトを実現するイコライザエフェクト部69と、を有して構成されている。
なお、SRFX部67は、再生音の放音位置を、遊技者の背面側や耳元側に変更した仮想音を生成するバーチャルサラウンド部VSとして機能させることもできる。但し、本実施例では、残響系の音声エフェクトを実現するべく、SRFX部67において、残響音を生成している。
イコライザエフェクト部69は、詳細には、図8に示す通りであり、3バンドイコライザEQと、筐体補正フィルタAEQと、コンプレッサCOMPと、で構成されている。3バンドイコライザEQは、具体的には、図11(a)に示す内部構成を有し、3段の2次IIRフィルタ(Infinite impulse response デジタルフィルタ:IIR0+IIR1+IIR2)を設けて構成されている。
各段の入出力特性と伝達関数は、図11(c)に示す通りであり、各段のフィルタ係数a0〜a2,b0〜b2を適宜に設定することで、Low Pass、High Pass 、Band Pass 、Low Shelving、High Shelving 、Peaking などのフィルタ特性を付与可能に構成されている。但し、音声制御レジスタRGiの設定値に基づき、各段の2次IIRフィルタ処理の一部又は全部について、そのフィルタ処理を回避することもできる(フィルタ機能スルー状態)。
図11(b)は、3バンドイコライザEQの全段(IIR0〜IIR2)について、フィルタ処理をスルーさせた場合の内部構成を示している。また、図11(c)は、音声演出時に機能する3バンドイコライザEQの内部構成を示している。何ら限定されるものではないが、本実施例では、2段目と3段目のフィルタ処理(IIR1,IIR2)をスルーさせて無処理状態とし、1段目のデジタルフィルタ(IIR0)だけで所定のイコライザ特性を実現している。
本実施例では、電源投入後、図11(b)のスルー状態に初期設定した後、音声演出時に、図11(c)に示す定常設定動作を繰り返すことで、所定の設計値を繰り返し再設定している(図13のST50参照)。そのため、劣悪なノイズ環境下でも、デジタルフィルタ(IIR0)のフィルタ係数のビット化けによる異音が発生することがない。
なお、本実施例では、全ての音声信号(R0,L0,R1,L1,SUB0,SUB1 )について、デジタルフィルタ(IIR0)処理を施す設定にしているが、それは、スピーカを最高6配置した他の機種でも、本実施例の制御プログラムをそのまま活用できるようにするためである。この点は、リターンミキサ68やコンプレッサCOMPに関する設定値についても同様であり(図9(b)及び図10(b)参照)、全ての音声信号(R0,L0,R1,L1,SUB0,SUB1 )に関して、一群の設計値を繰り返し再設定している。
次に、筐体補正フィルタAEQは、遊技機の音響特性を補正するフィルタであり、遊技機の筐体に固有の位相特性と振幅特性に合わせて、イコライザエフェクト部69から出力される音声信号の振幅と位相を補正している。ここで、筐体補正フィルタAEQの動作条件(フィルタ係数)は、機器開発時に予め特定され、音声プロセッサ27の内部に設定されている。なお、音声制御レジスタRGiの設定値に基づき、筐体補正フィルタAEQの処理をバイパスすることもできるので(バイパスON状態)、筐体補正フィルタAEQのフィルタ係数が設定されていない、他の機種の遊技機での異音発生を確実に回避することができる。
一方、本実施例では、音声演出時に、筐体補正フィルタAEQの処理をバイパスOFF状態に繰り返し設定している(図13のST50参照)。そのため、劣悪なノイズ環境下でも、筐体補正フィルタAEQの処理を継続させることができ、設計通りの高品質の音質を維持することができる。
コンプレッサCOMPは、入出力ゲイン特性を適宜に修正して、ダイナミックレンジを圧縮する部分である。ダイナミックレンジを圧縮することで、例えば、(1) 出力音量を平均化して聞き易くする、(2) 音量ピークを抑えて不快な歪み音の発生を防止するなどの効果を発揮することができる。なお、音声制御レジスタRGiの設定値に基づき、このコンプレッサ処理についても、この動作を回避することもできる(バイパスON状態)。
図10(a)は、バイパスON状態のコンプレッサCOMPの内部構成を示している。本実施例では、電源投入後、コンプレッサCOMPをバイパスON状態に初期設定した後、音声演出時には、図10(b)に示す定常設定値に繰り返し再設定することで(図13のST50)、音声制御レジスタRGiの設定値に関して、ビット化けが懸念される劣悪なノイズ環境下でも、異常なコンプレッサ動作が発生することを防止している。
図7は、図6(a)の一部を更に詳細に図示したものである。図示の通り、この音声プロセッサ27からは、第1組の再生音L0,R0と、第2組の再生音L1,R1と、第3組の再生音SUB0,SUB1と、が出力可能に構成されている。但し、実施例の遊技機は、合計3個のスピーカであって、左右一対と下方1個のスピーカとを有するので(図4参照)、左右スピーカ用のステレオ再生音L0,R0と、低音スピーカ用のモノラル再生音SUB0だけが再生されるよう、所定の音声制御レジスタRG0〜RGnが適宜に設定される。
具体的には、第2組の再生音L1,R1に対するトータルボリュームTVL1R1と、再生音SUB1に対するトータルボリュームTVSUB1は、定時的にゼロに再設定される(図13のST50)。但し、本実施例では、3個のスピーカしか存在せず、且つ、後述するように、全てのトータルボリュームが0にDefault 設定されるので、トータルボリュームTVL1R1とトータルボリュームTVSUB1の設定を省略するのも好適である。
しかし、制御処理の汎用性を高め、3組6個のスピーカを設ける遊技機でも使用可能にするという意味では、上記の構成に意義がある。なお、3組6個のスピーカを設ける場合には、全てのトータルボリュームが、繰り返し、有意値に再設定されるのは勿論である。
図7の左側に示す通り、デコーダ46は、独立してデコード処理が可能な32個のフレーズ再生チャンネル(CH0〜CH31)を有して構成されている。特に限定されないが、再生チャンネルCH0,CH1は、一連の変動演出中に放音される背景音をステレオ再生する専用チャンネルであり、また、再生チャンネルCH31は、異常事態の発生時に放音される異常報知音を再生する専用チャンネルである。
その他の再生チャンネルCH2〜CH30は、専用チャンネルと兼用チャンネルに区分されており、専用チャンネルでは、遊技球の入賞を知らせる入賞音や、チャンスボタン11の操作可能状態を報知する操作有効音などが再生される。一方、兼用チャンネルは、その時々に不使用の再生チャンネルが適宜に選択されて、抽選結果を示唆する予告演出における予告音などが、ステレオ再生又はモノラル再生される。
次に、チャンネルボリューム65は、上記したフレーズ再生チャンネルCHi(=CH0〜CH31)毎に設けられ、再生チャンネルCHiの再生音(PCMデータ)を受ける一次ボリュームV1と、一次ボリュームV1の出力を受けるメゾピアナ部MPと、メゾピアナ部MPの出力を受ける二次ボリュームVsと、二次ボリュームVsのV2ボリューム出力を受けるパンポット部Panとを有して構成され、音声ボリュームや音量バランスを適宜に調整可能に構成されている。
一次ボリュームV1は、再生チャンネルCH31による異常報知音の再生時や、他の再生チャンネルCH0〜CH30における音声演出上の小音処理や消音処理時に効果的に活用される。すなわち、再生チャンネルCH31の一次ボリュームV1は、二次一次ボリュームV2,V3と共に、異常報知時に最大値128に設定され、これに合わせて、他の再生チャンネルCH0〜CH30の一次ボリュームは最低値0に設定される。
一方、演出音を再生中の再生チャンネルCH0〜CH30の一次ボリュームV1は、通常は、最高値128とされるが、音声演出として無音化する消音予告演出時や、段階的に小音化するステップアップ予告演出時には、演出に対応した音量に設定される。
メゾピアナ部MPは、必要に応じて機能させる部分であり、自己の再生チャンネルCHiの出力音量を、他の再生チャンネルCHjの音量に合わせて変更させる用途で活用される。例えば、他チャンネルCHjで予告音が再生される場合、予告音の再生音量に対応して、自チャンネルCH0,CH1が再生する背景音の再生音量を抑制する場合などに使用される(図8参照)。このメゾピアナ部MPは、他チャンネルCHjの音量が所定レベルを超えたことを条件に機能するので、一次ボリュームV1や二次ボリュームVsなどによる音量調整より自然な音量抑制動作が可能となる。
次に、二次ボリュームVsは、詳細には、最高二対のステレオ音(L0,R0,L1,R1)の音量を纏めて調整可能で、演出に応じた値が設定されるV2ボリュームと、メゾピアナ部MPの出力音量を個別的に調整可能なV3,V4,FXSUB0V,FXSUB1Vなどに区分されている。
なお、作図上の都合で、再生チャンネルCH0にV2,V3,V4,FXSUB0V,FXSUB1Vを記載し、再生チャンネルCH1にV2,V3,FXSUB1Vだけを記載し、他の再生チャンネルCH2〜CH31には、V2,V3だけを記載しているが、全ての再生チャンネルにおいて、V3,V4,FXSUB0V,FXSUB1Vが使用可能である。但し、本実施例では、ステレオ再生音L0,R0と、モノラル再生音SUB0しか使用しないので、全ての再生チャンネルにおいて、V4ボリュームを0に維持するよう構成されている。
二次ボリュームVsのうち、FXSUB0V,FXSUB1Vは、ディレイやリバーブなどの残響音を生成するSRFX部67への入力音量を規定する部分であり、必要時に、FXSUB0V,FXSUB1Vを有意値に設定することにより、機能させることができる。
なお、図7では、再生チャンネルCH0,CH1だけに、FXSUB0V,FXSUB1Vを記載しているが、全ての再生チャンネルにおいて使用可能であり、残響エフェクトが必要な場合に、その再生音を再生している再生チャンネルCHiで活用される。
図7に記載する動作例では、再生チャンネルCH0の一次ボリューム出力が、FXSUB0Vボリュームに供給されると共に、再生チャンネルCH1の一次ボリューム出力が、FXSUB1Vボリュームに供給されている。
そして、FXSUB0Vボリューム出力である左音声FX0と、FXSUB1Vボリューム出力である右音声FX1とがチャンネルミックス部66を経由して、SRFX部67に供給される。なお、本実施例では、再生チャンネルCH0のFXSUB1Vボリューム値と、再生チャンネルCH1のFXSUB0Vボリューム値を、0に維持するよう制御するので各々の出力はゼロである。
パンポット部Panは、V2ボリューム出力を受ける上下パンポットと、上下パンポットの出力を受けて二対の音声(L0,R1,L1,R1)を出力可能な左右パンポットとに区分される。
そして、実施例の音声プロセッサ27は、実施例の遊技機では左右一対のスピーカしか使用しないことに対応して、全ての再生チャンネルCH0〜CH31において、上下パンポット比を、各単位演出の演出開始時に、3dB:−∞dBに設定して、下方側の音声を無音化しており、下方側の左右パンポットから音声L1,R1が出力されることはない。
一方、上方側の左右パンポットのパンポット比は、各単位演出の演出開始時に、必要な再生チャンネルCHiについて、適宜に演出設定しており、設定内容に応じたステレオ音を再生することができる。
例えば、実施例では、再生チャンネルCH0の左右パンポット比を、0dB:−∞dBに設定する一方で、再生チャンネルCH1の左右パンポット比を、−∞dB:0dBに設定することで、ステレオ音を再生している。この場合、再生チャンネルCH0から左音声L0だけが出力され、再生チャンネルCH1からは、右音声R0だけが出力されることになる。
再生チャンネルCH0で再生される左音声は、チャンネルCH0のV3ボリュームと、FXSUB0Vボリュームを経由して、各々、チャンネルミックス部66に供給される。また、再生チャンネルCH1で再生される右音声は、チャンネルCH1のV3ボリュームと、FXSUB0Vボリュームを経由して、各々、チャンネルミックス部66に供給される。
図8は、チャンネルミックス部66と、その前後の回路構成を図示したものである。図示の通り、チャンネルCH0のV3ボリュームの出力である左音声SUB0と、チャンネルCH1のV3ボリュームの出力である右音声SUB0は、チャンネルミックス部で混合されることで左右音声を平均化させたモノラル音となる。
一方、チャンネルCH0のFXSUB0Vボリュームの出力である左音声FX0と、チャンネルCH1のFXSUB1Vボリュームの出力である右音声FX1は、チャンネルミックス部66を経由して、SRFX部67に供給される。SRFX部67は、残響系の音声エフェクトを実現する部分であるが、背景音に対応した最適な残響音を生成するよう、SRFX部67の動作条件が、機器開発時に予め特定され、音声プロセッサ27の内部に設定されている。
例えば、リバーブ演出では、反響開始タイミングを規定するプリディレイタイムや、残響音が消滅するまでの継続時間を規定するリバーブタイムが動作条件となる。また、多重反射音(山彦音)を生成するディレイ演出では、反射音の開始タイミングを規定するディレイタイムや、反射回数を規定するフィードバック数などが該当する。なお、音声制御レジスタRGiの設定値に基づき、SRFX部67の処理をバイパスすることもできるので(バイパスON状態)。
一方、バイパスOFF状態においてSRFX部67で生成された残響音は、リターンミキサ68に供給される。リターンミキサ68の動作も、音声制御レジスタRGiの設定値に基づき、適宜にスルーすることができ、SRFX部67をバイパスON状態にすることもできるので、反響音を使用しない機種でも問題が生じない。
本実施例では、リターンミキサ68は、原音である左音声L0と反響音FX0とを混合し、右音声R1と反響音FX1とを混合するよう、所定の制御レジスタRGiに、所定の動作パラメータが設定されている。そのため、変動演出時に再生される背景音には、所定の残響エフェクトが付与されて次段に供給されることになる。
イコライザエフェクト部69の場合と同様、本実施例では、電源投入後の初期設定において、図9(a)に示すスルー状態(無処理状態)に初期設定した後、音声制御として、1/30秒毎に、繰り返し、図9(b)の状態に設定している(図13のST50)。
したがって、ビット化けが懸念されるノイズ環境下でも、図9(b)の接続関係が維持され、再生チャンネルCH0,CH1が再生する背景音について、反響系の音声エフェクトを正しく継続させることができる。L1,R1,SUB1のラインは、この実施例では実際には機能していないが、スピーカを最高6配置した他の機種でも、制御プログラムをそのまま活用できるよう、L1,R1,SUB1のラインを使用可能に設定している。
なお、FXSUB0VやFXSUB1Vのボリューム値や、リターンミキサ68の内部構成を規定する動作パラメータは、遊技動作中に適宜に変更できるので、他の再生チャンネルCH2〜CH30の再生音に、反響効果を付与することもできる。また、再生チャンネルCH0,CH1の再生音(背景音)から、残響音を消滅させることも、一定時間後、改めて、残響音の付与を再開することも適宜である。
リターンミキサ68で、残響系の音声エフェクト処理が施された音声信号は、次に、図10〜図11に関して先に説明したイコライザエフェクト部69で周波数系の音声エフェクト処理が施される。そして、最後にトータルボリューム部48において最終音量が決定される。
トータルボリュームTVは、4組の音声(L0R0,L1R1,SUB0,SUB1)について各々設定可能であり、原則として、係員による設定値か、遊技者による音量スイッチVLSWの設定値に基づいて8段階の何れかのレベルに規定される。しかし、異常事態が発生した場合には、4組の音声(L0R0,L1R1,SUB0,SUB1 )のトータルボリュームTVが、各々、最高値(128)に設定されることで、異常報知音が最高音量で放音される。
続いて、音声演出、ランプ演出、役物演出、及び画像演出を統一的に実行する演出制御CPU63の動作について説明する。図12〜図13に示す通り、演出制御CPU63による演出制御動作は、CPUリセット後に起動し、所定間隔(1/30秒)で無限ループ処理を繰り返すメイン処理(図12(a))と、1mS毎に起動する定時割込み処理(図12(e))と、制御コマンドCMDを取得する受信割込み処理(不図示)とを含んで実現されている。
この実施例では、特に、(1)各種の音声エフェクト処理を規定する動作パラメータ(設定値)が繰り返し設計値に再設定され、劣悪なノイズ環境下でも、設計で意図した音質が維持されること、(2)トータルボリュームの値が繰り返し、規定値に再設定されるので、劣悪なノイズ環境下でも、意図した音量による音声演出や異常報知が継続されること(3)役物を駆動する演出モータの原点位置が、素早く、且つ、間違い無く正確に把握できること、(4)モノラル再生かステレオ再生かに拘らず、任意の単位演出を異音なく自然に開始又は連続させることができ、複雑高度な音声演出が実現できること、などに大きな特徴がある。
先ず、メイン処理から説明すると、電源投入後、演出制御CPU63のリセット期間、つまり、演出制御部23のリセット信号(システムリセット信号SYS)がアサート状態である期間において、CPU回路51やVDP回路52など、複合チップ50の内部回路は自動的に電源リセットされる。
本実施例では、この演出制御CPU63のリセット期間は、音声プロセッサ27の内部回路が確実に電源リセットされる時間に設定されているので、音声プロセッサ27の音声制御レジスタRGiには所定のDefault 値が設定される。具体的には、電源リセット期間において、4組の音声信号(L0R0,L1R1,SUB0,SUB1)の最終音量を規定するトータルボリュームTV(図7、図8参照)が、全て0にDefault 設定され、自動的に無音化が実現される。
そこで、リセット期間後に実行されるソフトウェア処理(ST10)では、再生チャンネルCH0〜CH31に対して、ボリューム値V1,Vsや、上下パンポット比を設定することなく、CPU63のワーク領域WK(RAM59)を、ゼロなどの初期値に初期設定すると共に、画像演出に関し、VDP回路52のレジスタ群70に適宜な初期値を設定する(ST10)。
次に、音声プロセッサに関する初期設定処理を実行する(ST11)。先に説明した通り、トータルボリュームTVのDefault 設定により無音化が実現されているので、ここでも、ボリューム関係の初期設定をすることなく、(3) リターンミキサ68をスルー状態に設定し、(1) 全再生チャンネルCH0〜CH31のメゾピアナ部MPをバイパスON状態に設定すると共に、(2) SRFX部67、(4) コンプレッサCOMP、(5) 3バンドイコライザEQ、及び(6) 筐体補正フィルタAEQについて、バイパスON状態に初期設定している(図12(b)のST11)。ここで、バイパスON状態とは、対応する動作をスルーして無処理状態に設定する無効化を意味する。
なお、本実施例では、その後、(2) SRFX部67、(3) リターンミキサ68、(4) コンプレッサCOMP、(5) 3バンドイコライザEQ、及び(6) 筐体補正フィルタAEQに関し、各々の設計値が設定されるが(図12(a)のST7、図13のST50)、これら、SRFX部67(2) 〜筐体補正フィルタAEQ(6) の動作の全部又は一部を使用せず、バイパスON状態を維持する機種もあるので、可能な限り制御ソフトを共通化するべく、ステップST11の処理を設けている。なお、(1) メゾピアナ部MPは、遊技中の最適なタイミングで、一時的に機能するだけなので、それまでは、バイパスON状態を維持する。
次に、役物の現在位置を特定する原点センサ信号SN0〜SNnを、所定時間間隔で複数回取得して、ワーク領域WKに設けられた役物位置テーブルPSNに記憶する(ST12)。原点センサ信号SN0〜SNnは、役物が原点位置に位置するか否かを示す信号であり、例えば、原点に位置すればSNi=0、原点外であれば、SNi=1となる。
図12(c)には、3個の記憶領域を有する役物位置テーブルPSNiが例示されている。なお、実際には、このような役物位置テーブルPSNiが、原点センサ信号SN0〜SNnの個数(n+1)分だけ設けられている。そして、本実施例では、所定時間間隔で取得された3個の値が一致することを条件に、役物の現在位置を特定しており、ノイズなどによる誤判定を回避している。
続いて、演出制御CPU63を割込み許可状態に設定する(ST13)。なお、ステップST13のタイミングまでは、CPU63は割込み禁止状態であり、1mS定時割込み処理(図10(e))や、受信割込み処理が起動することはない。
一方、ステップST13の処理後は、1mS毎に、図12(e)の定時割込み処理が起動される。定時割込み処理では、図12(e)に示す通り、先ず、原点センサなどのセンサ信号を取得する(ST30)。そして、役物位置テーブルPSNiなど、各センサ信号に対応する記憶テーブルについて、過去データの記憶位置を過去方向に一つ移動させ、最古のデータを削除する(ST31)。但し、リングバッファ構造の役物位置テーブルPSNiとしても良い。
次に、センサ信号に対応する記憶テーブルの先頭位置に、今回取得した最新データを記憶する(ST32)。そして、このような処理(ST30〜ST32)を、センサの個数だけを繰り返して、全センサ信号について取得処理を終える(ST33)。
続いて、一又は複数の役物について、その役物フラグがON状態であれば、当該役物を所定方向に所定速度でステップ移動させる(ST35)。この動作は、原点復帰動作又は演出移動動作を構成している(図12のST4参照)。なお、1mS定時処理では、その後も適宜な処理が続くが、本実施例の特徴に関係しないので説明を省略する。
図12(b)に示す初期処理が終わった後は、図12(a)に示すステップST2〜ST8の無限ループ処理が繰り返される。無限ループ処理は、VDP回路52からのVBLANK割込みで時間管理されており、ステップST8の待機処理において、VBLANK割込みを2回受けることを条件に、ステップST2の処理に移行するようになっている。なお、1/60秒毎にVBLANK割込みが生じるので、無限ループ処理の実行間隔は、1/30秒である。
以上を踏まえて説明を続けると、無限ループ処理では、最初に、音量スイッチVLSWやチャンスボタン11などのスイッチ信号を取得する。そして、音量スイッチVLSWからのスイッチ信号(3ビット長)が変化したと判定される場合には、3ビット値に対応させて8段階の何れかのボリューム値VLを所定のワーク領域WKに記憶する(破線参照)。
異常報知タイミングではない場合、このワーク領域WKのボリューム値VLは、音声制御処理(ST7)において読み出され、ボリューム値VLに基づいて特定されるSAC番号(SAC_00〜SAC_07)の何れかが、音声プロセッサ27に送信されることで、4組の音声信号(LORO,L1R1,SUB0,SUB1 )に対する4個のトータルボリュームTVが、ボリューム値VLに対応する値に設定される。先に説明した通り、第2組の再生音L1,R1に対するトータルボリュームTVL1R1と、再生音SUB1に対するトータルボリュームTVSUB1は、特に不要であるが、本実施例ではゼロに再設定される。
次に、受信割込み処理(不図示)において、一連の変動演出を開始すべきことを指示する制御コマンドCMDを受けている場合には、演出抽選を経て、音声演出、ランプ演出、役物演出、画像演出を総合的に管理する演出シナリオを特定する(ST3)。
一方、演出シナリオが特定済みであれば、その演出シナリオを進行させるべく更新する。そして、役物演出に関して演出フラグを設定する。特に限定されないが、演出フラグ=0(初期値)であれば役物停止、演出フラグ=1であれば役物原点復帰、演出フラグ=2は、演出位置への演出移動を意味することにする。
この演出フラグは、役物の個数に対応して設けられており、この点は、以下に説明する役物フラグについても同様である。但し、以下の説明では、便宜上、役物が一個であるとして説明する。
以上の前提で説明を続けると、演出フラグのフラグ値(0/1/2)に対応して役物を制御する(ST4)。具体的には、図12(d)に示す通りであり、先ず、役物フラグがONか否かを判定する(ST20)。なお、役物フラグは、役物移動中であることを示すフラグであり、ステップST22の処理で初期値OFFからON状態に設定される。
したがって、初期状態では、役物フラグ=OFF状態であって、役物停止中となるので、次に、役物位置テーブルPSNの内容を判定する(ST21)。具体的には、役物位置テーブルPSNの3個の記憶値(PSN_0 〜PSN_2 )が一致して「0」であるか、一致して「1」であるかが判定される。
そして、3個の記憶値(PSN_0 〜PSN_2 )が一致して「111」である場合には、その役物が原点外に位置すると評価できるので、原点復帰処理を開始するべく、回転方向と、回転速度を指定して、役物フラグをON状態に設定する(ST22)。本実施例では、初期設定時(ST11)に、原点センサ信号SNiについて、既に3個の取得値を記憶しているので、電源投入後、素早く原点復帰動作を開始することができる。
一方、役物位置テーブルPSNの3個の記憶値(PSN_0 〜PSN_2 )が一致して「1」とはならない場合には、次に、記憶値(PSN_0 〜PSN_2 )が一致して「0」であるかが判定される(ST23)。そして、記憶値が「000」である場合には、その役物が原点に位置すると評価できるので、役物フラグをOFFに設定し、演出フラグを0に設定して処理を終える(ST24)。
ステップST24において、役物フラグをOFFに設定し、演出フラグを初期値(0)に設定するのは、ステップST22の処理により原点復帰処理が開始された後、ステップST35の処理を経て、その役物が原点に回収される場合もあるからである。なお、原点復帰処理中は、1mS毎に、原点センサ信号SNiが取得され、役物が所定速度で駆動制御される動作状態(役物フラグON)で、1/30秒毎にステップST20→ST23の判定が繰り返される。
ところで、本実施例では、割込み禁止状態において、敢えて、原点センサ信号SNiを三回取得しているが(ST12)、この構成を採らない場合には、原点復帰動作の開始が遅れるだけでなく、ステップST23の判定において誤判定が生じるおそれがある。
すなわち、本実施例の構成を採らない場合、初期設定処理により役物位置テーブルPSNのデータが「000」とされた後(ST11)、ステップST2からステップST23の判定時までに、原点センサ信号SNiが3回以上取得されている保証はないので、例えば、原点センサ信号SNiが一度も取得されていない場合、或いは、一回だけ原点センサ信号SNiが取得されたものの、本来、「1」であるべきものが「0」として取得されたような場合には、3個の記憶値が「000」に揃ったと判定され、実際には、原点外に位置する役物が、原点位置に位置すると誤判定されてしまい、回収されない役物が遊技開始時に不自然に残存してしまうという問題が生じる。
これに対して、本実施例では、ステップST12の処理を設けるので、上記のトラブルがなく、正しくステップST4の処理を実行することができる。そして、役物処理(ST4)が終われば、次に、画像演出について、演出シナリオに基づいてVDP制御処理を実行し(ST5)、ランプ制御処理を実行する(ST6)。VDP制御処理(ST5)では、演出シナリオに基づいて、新規のディスプレイリストが生成され、新規のディスプレイリストは、VDP回路のデータ転送回路72などを利用して、外付けDRAM54に書き込まれる。
次に、演出シナリオに基づいて音声制御処理が実行される(ST7)。図13(a)は、ステップST7の内容をやや詳細に示すフローチャートである。
図13(a)に示す通り、1/30秒毎に繰り返される音声制御動作では、毎回、ワーク領域WKに記憶されるボリューム値VLを読み出し、ボリューム値VLに対応する所定のSAC情報を音声プロセッサ27に送信する(ST50)。
本実施例ではボリューム値VLに対応して8種類(SAC番号:SAC_00〜SAC_07)が用意されており、そのいずれかが毎回、音声コマンドSNDの形式で音声プロセッサ27に送信される。但し、受信割込み処理において、異常報知すべきことを指示する制御コマンドCMDを受けている場合には、異常報知用のSAC番号(SAC_Err )が送信される。
いずれの場合も、送信される音声コマンドSNDは、SAC制御用の音声制御レジスタRGj1に、SAC番号(SAC_00〜SAC_07, SAC_Err )を書込むことを指示するコマンドである。このような音声コマンドSNDが送信されると、空き状態のシンプルアクセスコントローラSACが機能を開始し、SAC番号で特定される一群の設定データを、SACデータが指示する一群の音声制御レジスタに書込むことになる。
SAC番号(SAC_00〜SAC_07, SAC_Err )は、一群のSACデータを特定するID情報であり、各SAC番号(SAC_00〜SAC_07, SAC_Err )において、音声制御レジスタRGiへの設定値は、音質と音量に関するものであり、具体的には、(2) SRFX部67、(3) リターンミキサ68、(4) コンプレッサCOMP、(5) 3バンドイコライザEQ、(6) 筐体補正フィルタAEQ、及び、(7) トータルボリュームTVについての設定値である。
特に限定されないが、本実施例の場合、SAC番号(SAC_00〜SAC_07, SAC_Err )で特定される音質上の設定値は、全てのSAC番号において共通しており、(2) SRFX部67を機能させるバイパスOFF用の設定値と、(3) リターンミキサ68を、図9(b)のように設計通りに機能させための設定値と、(4) コンプレッサCOMPを、設計通りに機能させるための設定値と、(5) 3バンドイコライザEQを、図11(c)に示す設計通りに機能させるための設定値と、(6) 筐体補正フィルタAEQを機能させるバイパスOFF用の設定値が全て同一である。
一方、SAC番号(SAC_00〜SAC_07)で特定される音量は、ワーク領域WKに記憶されるボリューム値VLに対応して、全て異なり、各々、音声プロセッサ27のトータルボリュームTVを8段階で特定している。また、エラー報知に関するSAC番号(SAC_Err )は、トータルボリュームTVが最大値128であると特定している。
以上の動作に関して確認すると、演出制御CPU63は、1/30秒毎に毎回、ワーク領域WKに記憶されるボリューム値VL(例外的には異常事態発生)に対応する音声コマンドSNDを送信するので、音声制御レジスタRGiへの設定値のビット化けが懸念される劣悪なノイズ環境下でも、最適な音量が常に維持される。
また、演出制御CPU63は、1/30秒毎に毎回、音質についての設計値を、音声プロセッサ27の音声制御レジスタRGiに再設定するので、劣悪なノイズ環境下、万一、音声制御レジスタRGiの設定値がビット化けしても、異音が発生するおそれがない。
音質の関する設定値については、これらを再設定するチャンスが、事実上、存在しないので、本実施例の構成を採らない場合には、音質に関する設定値に一度ビット化けが生じると、不自然な音声演出が回復されるチャンスがないことになる。
一方、本実施例では、一次ボリュームV1や二次ボリュームVsやパンポット比については、全ての単位演出の開始時に、必ず(変更の有無に拘らず)、一次ボリュームV1や二次ボリュームVsやパンポット比を設定する構成を採っている。したがって、音量に関する設定値に関して、上記したビット化けが問題になることがない。
以上説明したステップST50の処理が終われば、次に、音声プロセッサ27をREADアクセスして、全てのフレーズ再生チャンネルCH0〜CH31について、その動作状態を把握して、前回欄と今回欄を有する管理テーブルMNG(図14(b))の記憶内容を更新する(ST51)。
具体的には、再生チャンネルCH0〜CH31について、管理テーブルMNG(図14(b))の今回欄のデータを前回欄にコピーした上で、今回取得した最新の動作状態を、今回欄に記憶する。実施例の音声制御処理(ST7)は、ほぼ1/30秒毎に実行されるので、今回欄と前回欄には、33mS程度の時間間隔で、フレーズ再生チャンネルCH0〜CH31の動作状態が記憶されることになる(図14(d)参照)。
特に限定されないが、フレーズ再生チャンネルCH0〜CH31の動作状態は、再生動作中=1、一次停止中=2、非動作中(終了中)=0として特定される。なお、本実施例の場合、再生動作の終了時は、フェードアウト期間を設けて自然に消音するよう構成されているが、このフェードアウト期間は、再生動作中=1となる。
図14(b)の記載例では、再生チャンネルCH2,CH3,CH5は、前回まで再生動作中=1であったが、今回、終了中=0になったことになる。一方、再生チャンネルCH4は、前回まで終了中=0であったが、今回、再生動作中=1に変化したことになる。
また、再生チャンネルCH6,CH7,CH10,CH12は、前回と今回、連続して終了中=0であることを意味し、少なくとも、33ms程度は、終了状態が継続されたことになる。なお、再生チャンネルCH0,CH1,CH15は、連続して再生動作中=1である。
このように、図14(b)の管理テーブルMNGによれば、各再生チャンネルの動作状態を、33ms前の状態も含めて把握できる。そして、本実施例では、原則的な音声制御動作としては、動作状態が2回連続して終了中=0であることを条件に、その再生チャンネルを使用するようにしている(図13(b)のST66)。
ここで、2回連続して終了中=0であるとは、少なくとも33ms間は、終了中=0が継続されてことを意味し、先行する単位演出は、音声プロセッサ27の内部動作の遅延に拘らず、確実に終了していることになる。そのため、新規の単位演出開始時に、内部動作の混乱などが生じるおそれがなく、異音発生などが確実に防止される。
以上を踏まえて説明を続けると、ステップST51の処理が終われば、演出シナリオに基づいて、必要な音声コマンドSNDを音声プロセッサ27に送信する。但し、新規に単位演出を開始する場合には、このタイミングで送信するのではなく、その音声コマンドをコマンドバッファBUF(図14(a))に一時保存する。図14(a)に示す通り、コマンドバッファBUFの未使用領域は、例えばNULLデータ(=0)で特定されるので、未使用領域の先頭に、新規の音声コマンドを書込むことになる。
なお、一時保存される音声コマンドは、単位演出のフレーズ再生を指示するものであれば、シンプルアクセスコントローラSACiやシーケンサSQiを機能させる音声コマンドも含まれる。そして、シンプルアクセスコントローラSACiやシーケンサSQiを機能させる場合には、付属データとして、動作開始までの待機時間を設けることができることは先に説明した通りである。
また、単位演出がステレオ音の再生であれば、偶数チャンネルCHiで左音声L0を再生し、隣接する偶数チャンネルCHi+1で右音声R0を再生するよう設定する必要がある。例えば、背景音については、再生チャンネルCH0と再生チャンネルCH1でステレオ再生される(図7参照)。
単位演出が背景音(BGM音)の場合、再生チャンネルCH0に関して送信される動作パラメータ(設定値)には、(1) 左右パンポット比、(2) 上下パンポット比、(3) 一次ボリューム値(V1)、(4) 二次ボリューム値(V2,V3,V4,FXSUB0V,FXSUB1V)、(5) 背景音の左音声L0についてのフレーズ番号NUMi、及び、(6) 使用すべき再生チャンネル(=CH0)が含まれている。なお、図7に示す通り、再生チャンネルCH0について、左右パンポット比は0:−∞dB、上下パンポット比は0:−∞dB、V4=FXSUB1V=0である。
一方、同じ背景音について、再生チャンネルCH1に関して送信される動作パラメータには、(1) 左右パンポット比、(2) 上下パンポット比、(3) 一次ボリューム値(V1)、(4) 二次ボリューム値(V2,V3,V4,FXSUB0V,FXSUB1V)、(5) 背景音の右音声R0についてのフレーズ番号NUMj、及び、(6) 使用すべき再生チャンネル(=CH1)が含まれている。なお、図7に示す通り、再生チャンネルCH1について、左右パンポット比は−∞dB:0、上下パンポット比は0:−∞dB、V4=FXSUB0V=0である。
以上の通り、ステレオ再生の場合には、偶数チャンネルから開始される一対であって、隣接する2つの再生チャンネルを使用するが、モノラル再生の場合には、任意の再生チャンネルについて、(1) 左右パンポット比、(2) 上下パンポット比、(3) 一次ボリューム値(V1)、(4) 二次ボリューム値(V2,V3,V4,FXSUB0V,FXSUB1V)、(5) 単位演出を特定するフレーズ番号NUMk、及び、(6) 使用すべき再生チャンネルCHiが設定される。なお、兼用チャンネルなど、使用すべき再生チャンネルCHiが特に限定されない場合は、このタイミングでは、この欄がNULLとされ、使用すべき再生チャンネルCHiは、音声コマンドの出力時(ST53)に特定される。
なお、ステレオ再生であるかモノラル再生であるかに拘らず、再生動作には、先行する単位演出が完了するまで再生を開始しない先着優先再生と、先行する単位演出に代わって再生を開始する後着優先再生とがあり、そのいずれの再生態様を採るかを音声コマンドで合わせて指定することもできる。
図14(a)は、このような音声コマンドSNDを一時記憶するコマンドバッファBUFを例示したものである。図示の通り、音声コマンドは可変長であるが、各音声コマンドSNDで特定される再生チャンネルCHiについては、制御上の便宜から、別欄(使用CH欄)にも記憶するようにしている。なお、図14(a)の○印や△印は、使用すべき再生チャンネルを示している。
ここで、使用する再生チャンネルCHiは、(1)専用チャンネルのように予め決まっている場合と、(2)先行する単位演出と同じ再生チャンネルを使用すべき場合と、(3)空きチャンネルであれば、どの再生チャンネルで再生しても良い場合とがある。
そこで、本実施例では、上記(2)の場合に、先行する単位演出の再生チャンネルを簡単に把握できるよう、演奏テーブルPLY(図14(c))が設けられている。そして、再生開始時には、演奏テーブルPLYに、フレーズ番号NUMを記入するようにしている(ST68)。なお、先に説明した通り、フレーズ番号NUMは、単位演出を一意に特定するID情報である。
上記したコマンドバッファBUFや、演奏テーブルPLYの構成を踏まえて、ステップST52に続くステップST53の動作を説明する。ステップST53では、コマンドバッファBUFの音声コマンドが送信可能か否かを、コマンドバッファBUFの使用CH欄の情報に基づいて判定して、送信可能な音声コマンドに限り送信している。
図13(b)は、音声コマンド出力処理(ST53)の詳細を示すフローチャートである。なお、以下の説明では、説明の都合上、全ての単位演出が、先行する単位演出を強制終了させる後着優先で再生されるとする。
音声コマンド出力処理(ST53)では、先ず、ポインタPNTをコマンドバッファBUFの先頭位置に設定し(ST61)、ポインタPNTに基づいて音声コマンドSNDを特定する(ST62)。そして、コマンドバッファBUFの使用CH欄を検索して、使用すべき再生チャンネルが既に決定されているか否かを判定する(ST63)。
ここで、専用チャンネルのように再生チャンネルが決まっている場合には、その再生チャンネルが使用可能か否かを、管理テーブルMNGの前回欄と今回欄とに基づいて判定する(ST64)。なお、モノラル再生においては、判定対象が単一チャンネルであるが、ステレオ再生を開始するには、偶数チャンネルから開始される一対であって、隣接する2つの再生チャンネルについて判定される。
具体的には、前回欄と今回欄が「00」であれば、その再生チャンネルは、連続して空き状態であり使用可能と判定する。一方、前回欄と今回欄が「40」である場合は、前回の処理で停止コマンドSTOPを送信した結果(ST65)、先行する単位演出が終了されたことを意味するので、その再生チャンネルは使用可能と判定する。
このような判定手法を採るのは、単位演出と単位演出を連続させる移行動作時に、異音などが発生することなく円滑に単位演出を連続させるためである。この点を具体的に説明すると、実施例の音声プロセッサ27では、音声制御レジスタRGiの設定値が演出制御CPU63の指示の通りに変更され、新規の内部動作が開始されるのが、これらの内部動作は、あくまでも演出制御CPU63の動作とは同期しない非同期の間欠動作である。
そのため、先行する単位演出の再生動作中、或いは、先行する単位演出が終了した瞬間に、いきなり、新規の単位演出の再生開始を指示しても、正常に再生動作が開始されるとは限らず、音声プロセッサ27の内部動作に混乱が生じるおそれもある。
そこで、本実施例では、所定の移行時間τを確保してから、新規の単位演出を開始するようにしている。特に、先行する単位演出が再生動作中である場合には、先ず、停止コマンドSTOPを送信して先行する単位演出を終了させ、且つ、停止コマンドSTOPの送信から所定の移行時間τを確保した上で、新規の単位演出の再生開始を指示するようにしている。
このような構成において、移行時間τを如何に設定し、如何に確保するかが問題になるが、本実施例の音声プロセッサ27は、サンプリング周波数(48kHz)に対応して、32/48mSで間欠動作しているので、この動作周期や、音声制御レジスタRGiの送信時間(図4(b)参照)などを考慮すれば、音声プロセッサ27の動作周期の10倍(=6.7mS)以上の移行時間τを確保すれば十分であると解される。
そこで、本実施例では、先行する再生動作を強制終了させる停止コマンドSTOPの送信タイミング(ST65)と、新規の再生動作を開始させる開始コマンドSTARTの送信タイミング(ST67)との間に、音声制御処理(ST7)の一動作周期分の待機時間を設けることで、33mS程度の移行時間τを確保している。
この構成によれば、極めて簡単な制御でありながら、必要な移行時間τを確実に確保することができる。なお、ここで、開始コマンドSTARTとは、所定の単位演出を特定するフレーズ番号や、再生音量その他を指示する設定値を含んで再生動作開始を指示する音声コマンドを意味する。
以上、ステップST64の意義について説明したが、管理テーブルMNGの前回欄と今回欄が「00」である場合には、図13(c)の動作例3や動作例4に示す通り、先の単位演出が終わってから開始コマンドSTARTの送信までに、移行時間τ以上の時間が確実に確保される。
同様に、前回欄と今回欄が「40」である場合も、図13(c)の動作例1や動作例2に示す通り、先の単位演出を強制終了させる停止コマンドSTOPの送信から、開始コマンドSTARTの送信までに必要な移行時間τが確保されている。なお、図13(c)の動作例3や動作例4において、動作例1や動作例2と同様に、先の単位演出を強制終了させる停止コマンドSTOPを送信することもでき(破線部参照)、この場合も、開始コマンドSTARTの送信までに、移行時間τ以上の時間が確実に確保される。
そこで、管理テーブルMNGの前回欄と今回欄が「00」や「40」である場合にはステップST67の処理に移行して、新規の単位演出の再生開始を指示する。
一方、管理テーブルMNGの今回欄が「1」の場合は、再生動作中の単位演出を強制終了させるべく、停止コマンドSTOPを音声プロセッサ27に送信し、管理テーブルの対応再生チャンネルの今回欄に「4」を記入する(ST65)。なお、前回欄と今回欄が「10」や「41」の場合には、何もしないでステップST70の処理に移行させて所定の移行時間τを確保する。なお、トラブル発生時以外には「41」の状態は発生しないが、このようなトラブル発生時には、「00」の状態に至るまでの余分な待機時間が確保される。
図14(b)には、再生チャンネルCH15で実行中の単位演出を強制終了させるべく、停止コマンドSTOPが送信され、また、この送信動作に対応して、再生チャンネルCH15の今回欄が「1」から「4」に変更されることが示されている。本実施例では、このような構成を採るので、33mS後に実行される次回の音声制御処理(ST7)では、ステップST64の判定からステップST67の処理に移行して、再生動作開始に必要な音声コマンド(開始コマンドSTART)が送信されることになる(図13(c)参照)。
図13(c)の動作例(1)に示す通り、先行する単位演出がステレオ再生の場合には、再生チャンネルCHnに対する停止コマンドSTOPの送信によって、再生チャンネルCHn,CHn+1の再生動作が強制終了され、停止コマンドSTOPから移行時間τを経て送信される開始コマンドSTARTに基づいて、後続の単位演出がモノラル再生又はステレオ再生される。
なお、先行する単位演出がモノラル再生の場合も同じであり、停止コマンドSTOPから移行時間τを経て送信される開始コマンドSTARTに基づいて、後続の単位演出がモノラル再生又はステレオ再生される(図13(c)の動作例(2))。
ステップST65の処理によって、停止コマンドSTOPの送信が終われば、ポインタPNTを更新し、次の音声コマンドSNDについて、同じ動作を実行する(ST62〜ST70)。
そして、ステップST63の判定において、音声コマンドの再生チャンネルが未定の場合には、ステップST63からST66の処理に移行して、兼用チャンネルの中に、使用可能な空きチャンネルがあるか否かを、管理テーブルMNGに基づいて判定する。
兼用チャンネルに関するステップST66の判定では、管理テーブルMNGの今回欄と前回欄が「00」か、否かが問題になり、「00」の場合に限り、その再生チャンネルが使用可能と判定される。したがって、例えば、図14(b)の状態では、再生チャンネルCH0〜CH5は、仮に、これらが兼用チャンネルでも、使用できないことになる。
そのため、兼用チャンネルの中に、使用可能な空きチャンネルが検出できない場合もあり得るが、そのような場合には、何もしないで、ステップST70に移行する。なお、このスキップ処理により、ステップST67の処理が回避されるので、その音声コマンドSNDがコマンドバッファBUFから消去されることはない。
一方、図14(b)に示す動作状態では、兼用チャンネルである再生チャンネルCH6,CH7,CH10,CH12については、今回欄と前回欄が連続して空き状態=0であるので、使用可能と判定される。
そこで、使用可能な再生チャンネルを特定した後、コマンドバッファBUFに一時保存されている音声コマンドSNDを完成させ、完成状態の音声コマンドSND(開始コマンドSTART)を送信する(ST67)。なお、音声コマンドSNDを完成させるとは、コマンドバッファBUFにおいてNULLとされていた音声コマンドSNDの一部に、使用可能と判定された再生チャンネルを記入することを意味する。
このようにして、音声コマンドSND(開始コマンドSTART)を送信した後は、その音声コマンドSNDが不要となるので、コマンドバッファBUFにおいて、送信済みの記憶領域をゼロクリアする(ST67)。なお、音声コマンドは1バイト毎に送信されるので(図4参照)、実際には、この送信動作に合わせて、コマンドバッファBUFの記憶データが消去される。
次に、演奏テーブルPLY(図14(c))の該当欄に、送信した音声コマンドSNDに関するフレーズ番号を記入する(ST68)。なお、フレーズ番号は、送信する音声コマンドSNDの一部として把握可能である。例えば、図14(c)には、空きチャンネルであった再生チャンネルCH6,CH7で開始されるべき、ステレオ再生に係るフレーズ番号iとフレーズ番号jが記入されたことが示されている。
これらステップST67〜ST68の動作が終われば、続いて、管理テーブルMNGの再生チャンネルCH6,CH7の今回欄に、動作開始(再生中)を意味する「1」を記入する。図14(b)には、「0」→「1」として、再生チャンネルCH6,CH7で、ステレオ再生が開始される旨の情報が記憶されることが示されている。
以上で一纏まりの音声コマンドSNDの送信処理が終わるので、ポインタPNTを更新した後(ST71)、全ての音声コマンドSNDの処理が終わるまでST62〜ST71の処理を繰り返す。そのため、ステップST62→ST63→ST66の経路を経て、ステップST67〜ST68の処理が繰り返される。
そして、図14(b)や図14(c)に示す通り、再生チャンネルCH10では、フレーズ番号kの単位演出が、モノラル再生状態で開始され、再生チャンネルCH12では、フレーズ番号mの単位演出が、モノラル再生状態で開始されることになる。
ところで、シンプルアクセスコントローラSACiやシーケンサSQiを機能させる場合には、動作開始までの待機時間を設定できるので、そのような遅延再生時には、管理テーブルMNGの今回欄は、「1」ではなく「3」が記憶される。図14(b)には、再生チャンネルCH12では、フレーズ番号mの単位演出が、遅延再生されることが示されている。
遅延再生が指定された場合には、その後もしばらくは、その再生チャンネルの再生動作は開始されず、次回のステップST51の処理において、音声プロセッサ27から最新の動作ステイタスを取得しても、再生チャンネルCH12は、依然として、終了中(=0)となる筈である。そこで、ステップST51の処理では、今回欄から前回欄にコピーされた値が、「3」である場合には、音声プロセッサ27から取得した最新の動作ステイタスの値に拘らず、今回欄に「3」を記載している。
そして、コマンドバッファBUFに記憶されている全ての音声コマンドについての処理が終われば、ステップST67の処理でクリアされた記憶領域を埋めるべく、コマンドバッファBUFを整理する(ST72)。具体的には、送信できず残存した音声コマンドを、先頭方向に移動させ、コマンドバッファBUFの未使用領域を増やす処理を実行する。
コマンドバッファBUFに残存した未送信の音声コマンドは、33mS後の次回の音声制御処理(ST7)で、上記と同じ判定を経て送信されることになり、この場合も、停止コマンドSTOPの送信から33mSの移行時間が確保される。
以上説明した通り、本実施例では、管理テーブルMNGの今回欄と前回欄の情報に基づいて、終了中(=0)が連続する再生チャンネルだけを使用するので、先行する単位音声を終了させる停止コマンドSTOPの送信から、次の単位演出の開始までに、必ず、一定の移行時間(τ)が確保され、音声プロセッサ27の不正動作や異常動作が確実に回避される(図13(c))。なお、この実施例では、1/30秒毎に音声演出処理を実行するので、移行時間τを33mS以上としたが、もっと短くても良いのは勿論である。
以上、全てのフレーズ再生が後着優先である場合を説明したが、先着優先のフレーズ再生が含まれる場合には、図15の処理となる。なお、図15において、ステップST60〜ST62は、図14のステップST61〜ST63の処理と同一であり、また、図15と図14のステップST64〜ST72の処理も同じである。
そこで、ステップST63の処理だけを説明するが、ステップST62の処理によって再生チャンネルが予め規定されている場合には、次に、その再生チャンネルで連続動作が、モノラル再生Mo→モノラル再生Moの連続か、ステレオ再生SR→ステレオ再生SRの連続であって、且つ、後続する音声演出について、先着優先の指定がされているかを判定する(ST63)。
そして、モノラル再生Mo→先着優先のモノラル再生Moであるか、ステレオ再生SR→先着優先のステレオ再生SRである場合には、ステップST67の処理に移行して、その音声コマンドを直ちに送信する。先着優先の再生が指定された場合、音声プロセッサ27は、先行する単位演出が完了するまで再生を開始せず、且つ、音声プロセッサ27の動作周期を無視すれば、移行時間なく後の単位演出が開始されるが、内部処理が複雑化しないので、トラブルは生じないと解される。
以上、図13に基づいて、原則的な制御手法を説明し、図15に基づいて、先着優先の再生動作における例外的な制御手法を説明したが、これらの制御手法に特に限定されるものではない。
すなわち、図13に示す制御手法を、画一的に採る必要は必ずしもなく、後着優先の再生動作において、移行時間τを設けない制御手法を採っても良い。この場合、具体的には、図13のステップST63やST64の判定基準を緩和することが考えられる。
例えば、図13の動作例1〜4のうち、動作例1のモノラル再生の継続と、動作例2のステレオ再生の継続については、直ちに、後続する再生動作を開始する例外動作を例示することができる。
同様に、先着優先の再生動作についても、図15のステップST63の判定基準を緩和して、更に、即時開始の動作態様を増やしても良い。但し、このような例外を多く設けると、図13(b)に示す画一的で簡易な制御手法の利点がやや減殺される。
以上、上記した各実施例では、もっぱら弾球遊技機について説明したが、回胴遊技機など、画像演出を伴う他の遊技機においても好適に活用されることは勿論である。