本発明の実施例を以下に説明する。
本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン1は、前面が開口する筐体(図示略)と、この筺体の側端に回動自在に枢支された前面扉と、から構成されている。
本実施例のスロットマシン1の筐体内部には、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リールともいう)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉に設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、図2に示すように、それぞれ「赤7(図中黒色の7)」、「白7」、「BAR」、「JAC」、「スイカ」、「チェリー」、「ベル」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図3参照)によって回転させることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示されるとともに、各リール2L、2C、2Rの回転を停止させることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
また、前面扉の各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図3参照)の表示領域51aが配置されている。表示領域51aは、長方形に形成されているとともに、透視窓3に対応する領域には、画像が表示されない非表示領域51bが形成されており、常に遊技者側から各リール2L、2C、2Rが透視窓3を透して見えるようになっている。また、表示領域51aの非表示領域51bを除く領域の裏面には、背後から表示領域51aを照射するバックライト(図示略)が設けられているとともに、更にその裏面には、内部を隠蔽する隠蔽部材(図示略)が設けられている。
また、前面扉には、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いてメダル1枚分の賭数を設定する際に操作される1枚BETスイッチ5、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数(本実施例では後述の通常遊技状態及び小役ゲームにおいては3、後述のレギュラーボーナスにおいては1)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8Rが設けられている。
また、前面扉には、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、後述するビッグボーナス中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器13が設けられている。
また、前面扉には、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられている。
また、MAXBETスイッチ6の内部には、1BETスイッチ5及びMAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられている。
また、前面扉の内側には、所定のキー操作により後述するRAM異常エラーを除くエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、メダル投入部4から投入されたメダルの流路を、筐体内部に設けられた後述のホッパータンク(図示略)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク側に流下したメダルを検出する投入メダルセンサ31が設けられている。
筐体内部には、前述したリール2L、2C、2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33からなるリールユニット(図示略)、メダル投入部4から投入されたメダルを貯留するホッパータンク(図示略)、ホッパータンクに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34、ホッパーモータ34の駆動により払い出されたメダルを検出する払出センサ35、電源ボックス(図示略)が設けられている。
電源ボックスの前面には、後述のビッグボーナス終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36、起動時に設定変更モードに切り替えるための設定キースイッチ37、通常時においてはRAM異常エラーを除くエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更モードにおいては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をON/OFFする際に操作される電源スイッチ39が設けられている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには1枚BETスイッチ5、またはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L5(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、本実施例では、規定数の賭数として後述する通常遊技状態及びビッグボーナス中の小役ゲームにおいては3枚が定められており、後述するレギュラーボーナス中においては、1枚が定められている。尚、遊技状態に対応する規定数を超えてメダルが投入された場合には、その分はクレジットに加算される。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、有効化されたいずれかの入賞ラインL1〜L5上に予め定められた図柄の組み合わせが各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、有効化されたいずれかの入賞ラインL1〜L5上に、遊技状態の移行を伴う図柄の組み合わせが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
図3は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図3に示すように、遊技制御基板40、演出制御基板90、電源基板100が設けられており、遊技制御基板40によって遊技の進行が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板100によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板100には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。また、電源基板100には、前述したホッパーモータ34、払出センサ35、打止スイッチ36、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述した1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、投入メダルセンサ31、リールセンサ33が接続されているとともに、電源基板100を介して前述した払出センサ35、打止スイッチ36、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、ペイアウト表示器13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED10、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板100を介して前述したホッパーモータ34が接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
遊技制御基板40には、CPU41a、ROM41b、RAM41c、I/Oポート41dを備えたマイクロコンピュータからなり、遊技の制御を行うメイン制御部41、所定範囲(本実施例では0〜16383)の乱数を発生させる乱数発生回路42、乱数発生回路から乱数を取得するサンプリング回路43、遊技制御基板40に直接または電源基板100を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路44、リールモータ32L、32C、32Rの駆動制御を行うモータ駆動回路45、流路切替ソレノイド30の駆動制御を行うソレノイド駆動回路46、遊技制御基板40に接続された各種表示器やLEDの駆動制御を行うLED駆動回路47、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48、電源投入時またはCPU41aからの初期化命令が入力されないときにCPU41aにリセット信号を与えるリセット回路49、その他各種デバイス、回路が搭載されている。
CPU41aは、計時機能、タイマ割込などの割込機能(割込禁止機能を含む)を備え、ROM41bに記憶されたプログラム(後述)を実行して、遊技の進行に関する処理を行うととともに、遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御する。ROM41bは、CPU41aが実行するプログラムや各種テーブル等の固定的なデータを記憶する。RAM41cは、CPU41aがプログラムを実行する際のワーク領域等として使用される。I/Oポート41dは、メイン制御部41が備える信号入出力端子を介して接続された各回路との間で制御信号を入出力する。
CPU41aは、I/Oポート41dを介して演出制御基板90に、各種のコマンドを送信する。遊技制御基板40から演出制御基板90へ送信されるコマンドは一方向のみで送られ、演出制御基板90から遊技制御基板40へ向けてコマンドが送られることはない。遊技制御基板40から演出制御基板90へ送信されるコマンドの伝送ラインは、ストローブ(INT)信号ライン、データ伝送ライン、グラウンドラインから構成されているとともに、演出中継基板80を介して接続されており、遊技制御基板40と演出制御基板90とが直接接続されない構成とされている。
演出制御基板90には、スロットマシン1の前面扉に配置された液晶表示器51(図1参照)、演出効果LED52、スピーカ53、54、リールLED55等の電気部品が接続されており、これら電気部品は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。
演出制御基板90には、メイン制御部41と同様にCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部91、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92、演出効果LED52、リールLED55の駆動制御を行うランプ駆動回路93、スピーカ53、54からの音声出力制御を行う音声出力回路94、電源投入時またはCPU91aからの初期化命令が入力されないときにCPU91aにリセット信号を与えるリセット回路95、その他の回路等、が搭載されており、CPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
CPU91aは、メイン制御部41のCPU41aと同様に、割込機能(割込禁止機能を含む)を備える。サブ制御部91の割込端子(図示略)は、コマンド伝送ラインのうち、メイン制御部41がコマンドを送信する際に出力するストローブ(INT)信号線に接続されており、CPU91aは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部41からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、CPU91aの割込端子(図示略)は、表示制御回路92の後述するグラフィックコントローラ200に接続されており、CPU91aは、グラフィックコントローラ200から定期的(本実施例では、33.3ms毎)に出力されるVブランク割込信号の入力に基づいて割込を発生させてVブランク割込処理を実行する。また、CPU91aは、グラフィックコントローラ200から後述する展開処理、転送処理、描画処理の終了時にそれぞれ出力される展開終了割込信号、転送終了割込信号、描画終了割込信号の入力に基づいて割込を発生させて展開終了割込処理、転送終了割込処理、描画終了割込処理をそれぞれ実行する。
また、CPU91aは、CPU41aとは異なり、ストローブ信号(INT)の入力に基づいて割込が発生した場合には、他の割込に基づく割込処理の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、他の割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。尚、割込処理の実行中は、ストローブ信号(INT)の入力に基づく割込以外の割込が禁止されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものであり、後述する内部抽選の当選確率は、設定値に応じて定まるものとなる。以下、設定値の変更操作について説明する。
設定値を変更するためには、設定キースイッチ37をON状態としてからスロットマシン1の電源をONする必要がある。設定キースイッチ37をON状態として電源をONすると、設定値表示器24に設定値の初期値として1が表示され、リセット/設定スイッチ38の操作による設定値の変更操作が可能な設定変更モードに移行する。設定変更モードにおいて、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された設定値が1ずつ更新されていく(設定6から更に操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると設定値が確定し、確定した設定値がメイン制御部41のRAM41cに格納される。そして、設定キースイッチ37がOFFされると、遊技の進行が可能な状態に移行する。
本実施例のスロットマシン1は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。本実施例では、後に説明するが、遊技状態として、レギュラーボーナス、ビッグボーナス中の小役ゲーム、通常遊技状態があり、このうちレギュラーボーナスに対応する賭数の規定数として1が定められており、小役ゲーム及び通常遊技状態に対応する賭数の規定数として3が定められている。このため、遊技状態がレギュラーボーナスにあるときには、賭数として1が設定されるとゲームを開始させることが可能となり、遊技状態が小役ゲームまたは通常遊技状態にあるときには、賭数として3が設定されるとゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインL1〜L5が有効化されるようになっており、遊技状態に応じた規定数が1であれば、賭数として1が設定された時点で全ての入賞ラインL1〜L5が有効化され、遊技状態に応じた規定数が3であれば、賭数として3が設定された時点で全ての入賞ラインL1〜L5が有効化されることとなる。
本実施例のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ)上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグが後述する内部当選フラグ格納ワークに設定されている必要がある。
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされるが、特別役の当選フラグは、当該フラグにより許容された役が揃うまで有効とされる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された特別役を揃えることができなかった場合にも、その当選フラグは、次のゲームへ持ち越されることとなる。もっとも、後に説明するように特別役のうちJACINの組み合わせは、当選したゲームに必ず揃うこととなるので、次のゲームへ持ち越されることはなく、それ以外の特別役の当選フラグのみ、当該フラグにより許容される役が揃わなかった場合に、次のゲームへ持ち越されることとなる。
図4(a)は、遊技状態に応じて定められた役を示す図である。
このスロットマシン1における役としては、特別役としてビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)、レギュラーボーナス(2)、JACINが、小役としてJAC、チェリー、スイカ、ベルが、再遊技役としてリプレイが、それぞれ定められている。
レギュラーボーナスの遊技状態では、小役であるJAC、チェリー、スイカ及びベルが、入賞となる役として定められており、レギュラーボーナスにおける内部抽選で抽選の対象とされる。ビッグボーナスの後述する小役ゲームでは、小役であるチェリー、スイカ及びベル、特別役であるレギュラーボーナス(2)及びJACINが入賞となる役として定められており、小役ゲームにおける内部抽選で抽選の対象とされる。通常遊技状態では、小役であるチェリー、スイカ及びベル、再遊技役であるリプレイ、特別役であるビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)が入賞となる役として定められており、通常遊技状態における内部抽選で抽選の対象とされる。
尚、本実施例では、レギュラーボーナスの遊技状態において、チェリー、スイカ及びベルに加えてJACが入賞となる小役として定められているが、レギュラーボーナスの遊技状態においても、小役ゲームや通常遊技状態と同様に、チェリー、スイカ及びベルのみを入賞となる小役として定めるようにしても良い。
ビッグボーナス(1)は、通常遊技状態において入賞ラインのいずれかに「赤7−赤7−赤7」の組み合わせが揃ったときに入賞となり、ビッグボーナス(2)は、通常遊技状態において入賞ラインのいずれかに「白7−白7−白7」の組み合わせが揃ったときに入賞となる。ビッグボーナス(1)またはビッグボーナス(2)に入賞すると、遊技状態が通常遊技状態からビッグボーナスに移行する。ビッグボーナスにおいては、小役ゲームと称されるゲームを行うことができる。遊技状態がビッグボーナスにある間は、ビッグボーナス中フラグがRAM41cに設定される。ビッグボーナスは、当該ビッグボーナス中において遊技者に払い出したメダルの総数が規定枚数(本実施例では466枚)以上となったときに終了する。
尚、ビッグボーナス(1)及びビッグボーナス(2)を区別する必要がない場合には、ビッグボーナス(1)及びビッグボーナス(2)をまとめて、単に「ビッグボーナス」と呼ぶ場合がある。
レギュラーボーナス(1)は、通常遊技状態において入賞ラインのいずれかに「BAR−BAR−BAR」の組み合わせが揃ったときに入賞となり、レギュラーボーナス(2)は、小役ゲームにおいて入賞ラインのいずれかに「BAR−BAR−BAR」の組み合わせが揃ったときに入賞となる。レギュラーボーナス(1)またはレギュラーボーナス(2)に入賞すると、遊技状態が通常遊技状態または小役ゲームからレギュラーボーナスに移行する。レギュラーボーナスは、12ゲーム消化したとき、または8ゲーム入賞(役の種類は、いずれでも可)したとき、のいずれか早いほうで終了する。遊技状態がレギュラーボーナスにある間は、レギュラーボーナス中フラグがRAM41cに設定される。特に、小役ゲームにおいてレギュラーボーナス(2)に入賞すると、ビッグボーナス中にレギュラーボーナスが提供されることとなり、ビッグボーナス中フラグに併せてレギュラーボーナス中フラグもRAM41cに設定される。ビッグボーナス中のレギュラーボーナスで当該ビッグボーナス中において遊技者に払い出したメダルの総数が規定枚数以上となったときは、ビッグボーナスとともに当該レギュラーボーナスも終了する。
尚、レギュラーボーナス(1)及びレギュラーボーナス(2)を区別する必要がない場合には、レギュラーボーナス(1)及びレギュラーボーナス(2)をまとめて、単に「レギュラーボーナス」と呼ぶ場合がある。また、ビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)及びレギュラーボーナス(2)をまとめて、単に「ボーナス」と呼ぶ場合がある。
JACINは、小役ゲームにおいて入賞ラインのいずれかに「スイカ−JAC−JAC」の組み合わせが揃ったときに入賞となるが、小役ゲーム以外の遊技状態では、この組み合わせが揃ったとしてもJACIN入賞とならない。JACINに入賞すると、ビッグボーナス中に前述したレギュラーボーナスが提供されることとなり、ビッグボーナス中フラグに併せてレギュラーボーナス中フラグもメイン制御部41のRAM41cに設定される。ビッグボーナス中のレギュラーボーナスで当該ビッグボーナス中において遊技者に払い出したメダルの総数が規定枚数以上となったときは、ビッグボーナスとともに当該レギュラーボーナスも終了する。
JACは、レギュラーボーナスにおいて入賞ラインに「ベル−JAC−JAC」の組み合わせが揃ったときに入賞となるが、レギュラーボーナス以外の遊技状態では、この組み合わせが揃ったとしてもJAC入賞とならない。チェリーは、いずれの遊技状態においても左のリール2Lについて入賞ラインのいずれかに「チェリー」の図柄が導出されたときに入賞となる。スイカは、いずれの遊技状態においても入賞ラインのいずれかに「スイカ−スイカ−スイカ」の組み合わせが揃ったときに入賞となる。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となる。これらの小役が入賞したときのメダルの払い出しについては後述する。
リプレイは、通常遊技状態において入賞ラインのいずれかに「JAC−JAC−JAC」の組み合わせが揃ったときに入賞となるが、レギュラーボーナスやビッグボーナス(小役ゲーム及びレギュラーボーナス)では、この組み合わせが揃ったとしても入賞とならない。リプレイに入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数(レギュラーボーナスではリプレイ入賞しないので必ず3)に対応した3枚のメダルが払い出されるのと実質的には同じこととなる。
以下、内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)決定するものである。内部抽選では、まず、後述するように内部抽選用の乱数(0〜16383の整数)が取得される。そして、遊技状態に応じて定められた各役について、取得した内部抽選用の乱数と、遊技者が設定した賭数と、設定値に応じて定められた各役の判定値数に応じて行われる。
遊技状態が、通常遊技状態にあるときには、ビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)、チェリー、スイカ、ベル、リプレイが内部抽選の対象役として順に読み出される。もっとも、前回以前のゲームでビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)の当選フラグが設定され、当該フラグに基づく入賞が発生しないで持ち越されているときには、ビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)は、内部抽選の対象役となることはない。
遊技状態がビッグボーナス中の小役ゲームにあるときには、レギュラーボーナス(2)、JACIN、チェリー、スイカ、ベルが内部抽選の対象役として順に読み出される。もっとも、前回以前のゲームでレギュラーボーナス(2)当選フラグが設定され、当該フラグに基づく入賞が発生しないで持ち越されているときには、レギュラーボーナス(2)及びJACINは、内部抽選の対象役とならない。
遊技状態がレギュラーボーナス(ビッグボーナス中に提供された場合を含む)にあるときには、JAC、チェリー、スイカ、ベルが内部抽選の対象役として順に読み出される。
内部抽選では、内部抽選の対象役について定められた判定値数を、内部抽選用の乱数に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。当選と判定されると、当該役の当選フラグがメイン制御部41のRAM41cに設定される。各役の判定値数は、メイン制御部41のROM41bに予め格納された役別テーブル(図示略)に登録されている判定値数の格納アドレスに従って読み出されるものとなる。
また、役別テーブルには、各役に入賞したときに払い出されるメダルの払出枚数も登録されている。もっとも、入賞したときにメダルの払い出し対象となる役は、小役であるJAC、チェリー、スイカ及びベルだけである。チェリー、スイカ及びベルは、賭数が1のとき(レギュラーボーナス)でも3のとき(レギュラーボーナス以外の遊技状態)でも入賞が発生可能であるが、ベルについては、賭数が1であるとき、すなわち遊技状態がレギュラーボーナスにあるときには、それ以外の8枚よりも多い15枚のメダルが払い出されるものとなる。
ビッグボーナス(1)、ビッグボーナス(2)、レギュラーボーナス(1)、レギュラーボーナス(2)、及びJACINの入賞は、遊技状態の移行を伴うものであり、メダルの払い出し対象とはならない。リプレイでは、メダルの払い出しを伴わないが、次のゲームで賭数の設定に用いるメダルの投入が不要となるので実質的には3枚の払い出しと変わらない。
次に、リール2L、2C、2Rの停止制御について説明する。
CPU41aは、リールの回転が開始したとき及び、リールが停止し、かつ未だ回転中のリールが残っているときに、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの引込コマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
停止制御テーブルは、各図柄の領域番号に対応して、各領域番号に対応する領域が停止基準位置(本実施例では、透視窓3の下段図柄の領域)に位置するタイミングでストップスイッチ8L、8C、8Rの操作が検出された場合の引込コマ数がそれぞれ設定されたテーブルである。
次に、CPU41aがストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する引込コマ数を取得する。そして、取得した引込コマ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から引込コマ数分先の停止位置となる領域番号に対応する領域が停止基準位置(本実施例では、透視窓3の下段図柄の領域)に停止することとなる。
また、本実施例では、引込コマ数として0〜4の値が定められており、停止操作を検出してから最大4コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。
また、本実施例では、いずれかの役に当選している場合には、当選役を4コマの範囲で最大限引き込み、当選していない役が揃わないように引き込む引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる一方、ハズレに当選している場合には、いずれの役も揃わない引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる。これにより、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、最大4コマの引込範囲でハズシて停止させる制御が行われることとなる。
また、本実施例では、特別役の当選フラグが前ゲーム以前から持ち越されている状態で小役が当選した場合(ビッグボーナス(1)持越中のチェリーなど)において停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している特別役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している特別役の図柄を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している小役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、4コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞させることが可能となる。
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合(ビッグボーナス(1)持越中のリプレイなど)において停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、後に説明するように、再遊技役を構成する図柄である「リプレイ」は、リール2L、2C、2Rのいずれについても4図柄以内、すなわち4コマ以内の間隔で配置されており、5コマの引込範囲で必ず任意の位置に停止させることができるので、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。
ここで、図2に示すように、「ベル」、「JAC」については、リール2L、2C、2Rのいずれについても4図柄以内、すなわち4コマ以内の間隔で配置されており、5コマの引込範囲で必ず任意の位置に停止させることができる。また、「スイカ」については、左リールのいずれについても4図柄以内、すなわち4コマ以内の間隔で配置されており、5コマの引込範囲で必ず任意の位置に停止させることができる。つまり、ベル、リプレイ、JAC、JACINの当選フラグがそれぞれ設定されているときには、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず当該役を入賞させることができる。
次に、メイン制御部41のCPU41aが演出制御基板90に対して送信するコマンドについて説明する。
本実施例では、図5に示すように、メイン制御部41のCPU41aが演出制御基板90に対して、BETコマンド、内部当選コマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定開始コマンド、初期化コマンドを含む複数種類のコマンドを送信する。
BETコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、メダル投入時、1枚BETスイッチ5またはMAXBETスイッチ6が操作されて賭数が設定されたときに送信される。
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール2L、2C、2Rの回転が開始されたときに送信される。
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールに停止する図柄、を特定可能なコマンドであり、各リールの停止制御が行われる毎に送信される。
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
遊技状態コマンドは、次ゲームの遊技状態(通常遊技状態であるか、ビッグボーナス中であるか、レギュラーボーナス中であるか、等)を特定可能なコマンドであり、ゲームの終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するときに送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ビッグボーナス終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除を示すコマンドであり、エラーが判定され、エラー状態に制御された時点で打止状態の発生を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
設定開始コマンドは、設定変更モードの開始を示すコマンドであり、設定開始時、すなわち設定変更モードに移行した時点で送信される。
初期化コマンドは、遊技状態が初期化された旨を示すコマンドであり、設定終了時、すなわち設定変更モードの終了時に送信される。
次に、メイン制御部41のCPU41aが演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。
サブ制御部91のCPU91aは、メイン制御部41のCPU41aが送信したコマンドを受信した際に、ROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の制御を行う。
制御パターンテーブルには、当選フラグの当選状況などに応じて決定される複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターンを定めたプロセスデータの番号、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLEDの点灯態様等、これら演出装置の制御パターンが登録されており、CPU91aは、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
次に、液晶表示器51の表示制御を行う表示制御回路92について説明する。
表示制御回路92は、図6に示すように、CPU91aからの制御指示に従って液晶表示器51に表示される画像の描画制御や表示制御などを行うグラフィックコントローラ200と、液晶表示器51に表示される動画像を構成するストリーム(圧縮された一連の動画データ、各画像データをフレームとも呼ぶ)やスプライト画像として用いるキャラクタ(人物、動物、文字、図形、記号等の画像データ、CGデータとも呼ぶ)などのデータが格納されるCGROM205、VRAM(ビデオRAM)領域として使用されるSDRAM(シンクロナスDRAM)と、を備える。
グラフィックコントローラ200は、グラフィックコントローラ200の各種設定などが格納されるシステムレジスタ202、アトリビュート(キャラクタを描画する際に使用されるパラメータであり、キャラクタの描画順序や、色数、拡大縮小率、パレット番号、座標などを指定するデータ)が格納されるアトリビュートレジスタ203、VRAM領域の後述する描画領域への画像の描画制御を行う描画制御部206、描画制御部206が画像を描画する際にパレットデータ(キャラクタの表示色が定義されたデータ)を一時的に保存するためのパレットバッファ207、描画制御部206が画像を描画する際にCGデータを一時的に保存するためのCGデータバッファ208、CGROM205に格納されているCGデータをVRAM領域に転送する制御を行うデータ転送制御部211、CGROM205に格納されたストリームをVRAM領域に展開する圧縮動画デコーダ212、VRAM領域の後述する表示領域に格納されている画像データを表示するためのビデオ信号(R(赤)、G(緑)、B(青))信号及び同期信号を出力する表示制御部213、表示制御部213から出力されたビデオ信号をアナログ信号に変換して液晶表示器51に出力するDAコンバータ214などが搭載された集積回路である。
グラフィックコントローラ200の内部には、システムバス、CGバスが設けられており、システムバス及びCGバスはCPUインターフェイス201を介してサブ制御部91のCPU91aと接続されているとともに、CGバスはCGバスインターフェイス204を介してCGROM205に接続されている。システムバスにはシステムレジスタ202が接続されているとともに、CGバスにはアトリビュートレジスタ203が接続されており、CPU91aは、システムレジスタ202及びアトリビュートレジスタ203にアクセスできるようになっている。
また、描画制御部206、データ転送制御部211、圧縮動画デコーダ212、表示制御部213はシステムバスに接続されており、システムレジスタ202にアクセスできるようになっている。また、描画制御部206、データ転送制御部211、圧縮動画デコーダ212はCGバスに接続されており、CGROM205、アトリビュートレジスタ203にアクセスできるようになっている。
また、グラフィックコントローラ200の内部には、更にVRAMバスが設けられており、VRAMバスは、VRAMバスインターフェイス209を介してSDRAM210と接続されている。VRAMバスには、描画制御部206、データ転送制御部211、圧縮動画デコーダ212、表示制御部213が接続されており、VRAMバスを介してSDRAM210のVRAM空間にアクセスできるようになっている。
システムレジスタ202には、描画、データ転送、圧縮動画データのデコードの実行などの命令を格納するシステム制御レジスタ、後述する割込信号の出力命令などを格納する割込制御レジスタ、VRAM空間における描画領域、パレットデータの配置領域などを格納する描画レジスタ、データ転送時の転送元のアドレス、転送先のアドレスなどを格納するデータ転送レジスタ、VRAM空間における表示領域などを格納する表示レジスタ、展開するストリームの格納アドレス、展開するストリームのタイプ(後述するIPか、IPBか)、VRAM空間においてストリームが展開される展開用バッファの配置領域、ストリームの展開時に用いるテンプレートであるDCネストの配置位置、現在展開を行っているフレームや全フレームの展開が終了した旨を示すステータスなどを格納するデコードレジスタなどが割り当てられている。
CPUインターフェイス201は、Vブランク(画像を更新する周期であり、本実施例では、33.3ms)の開始毎にCPU91aに対してVブランク割込信号を出力するとともに、割込制御レジスタの設定状態に応じて、描画終了時にその旨を示す描画終了割込信号を、アトリビュートの読み込み終了時にその旨を示す読み込み終了割込信号を、データ転送終了時にその旨を示す転送終了割込信号を、圧縮画像データの展開終了時にその旨を示す展開終了割込信号を、CPU91aに対してそれぞれ出力する。
描画制御部206は、システム制御レジスタにアトリビュートの読込の実行命令が格納されると、アトリビュートレジスタ203に格納されているアトリビュートを読み込み、アトリビュートの読み込みが終了すると読込終了割込信号の出力を命令する。
また、描画制御部206は、システム制御レジスタに描画の実行命令が格納されると、アトリビュートレジスタ203から読み込んだアトリビュートに従って、VRAM空間に配置されているキャラクタ、ストリームから展開されたフレームを、VRAM空間において指定された描画領域に描画する描画処理を行い、描画が終了すると描画終了割込信号の出力を命令する。
データ転送制御部211は、システム制御レジスタにデータ転送の実行命令が格納されると、データ転送レジスタにて指定されたCGROM205に格納されているキャラクタやパレットデータをVRAM空間の指定された位置に転送するデータ転送処理を行い、データ転送が終了すると転送終了割込信号の出力を命令する。
圧縮動画デコーダ212は、システム制御レジスタにデコードの実行命令が格納されると、デコードレジスタにて指定されたストリームをVRAM領域に展開する展開処理を行い、ストリームを構成する各フレームの展開が終了する毎に展開終了割込信号の出力を命令するとともにデコードレジスタのステータスを更新し、全てのフレームの展開が終了したときに、デコードレジスタのステータスに全フレームの展開の終了を設定する。
表示制御部213は、表示レジスタにて指定されているVRAM空間の表示領域の画像データをビデオ信号として出力する表示処理を行う。本実施例では、表示領域と描画領域とがVブランク毎に交互に切り替わる。このため、あるVブランクにおいて描画領域として割り当てられた領域の描画が行われるとともに、次のVブランクにおいては、表示領域に切り替わるので、前のVブランクにおいて描画された画像データが表示出力されることとなり、その間も他方の領域で描画が行われることとなる。
図7は、SDRAM210のVRAM領域の構成を示す図である。
VRAM領域には、パレットデータが配置されるパレット領域、液晶表示器51に表示される画像データが格納される表示領域、描画処理によってキャラクタなどが描画される描画領域、Lサイズのストリームを構成するフレームが展開される展開用バッファL1〜L4、Sサイズのストリームを構成するフレームが展開される展開用バッファS1〜S4、DCネストが格納されるDCネスト領域が割り当てられている。
特に、パレット領域、展開用バッファL1〜L4、展開用バッファS1〜S4、DCネスト領域は、固定的に割り当てられており、その領域に他のデータが配置されることはない。また、表示領域と描画領域は同一サイズの領域であり、交互に切り替えて割り当てられており、一方の領域に描画している状態で、他方の領域の画像データが液晶表示器51に表示されることとなる。このため、描画領域への描画処理と表示領域の表示処理とを並行して実行できるとともに、1ラインに描画できるキャラクタの数が制限されないようになっている。更に、動画の再生中にフレームレート(一定期間で表示が更新される割合)を変更することもできる。尚、表示領域及び描画領域として割り当てられた2つの領域も固定的に割り当てられており、その領域に他のデータが配置されることはない。また、これら以外の領域に、スプライト画像のソースデータとなるキャラクタなどが配置されるようになっている。
前述のように、サブ制御部91のCPU91aは、CPUインターフェイス201を介してシステムレジスタ202及びアトリビュートレジスタ203にアクセスできるようになっており、前述した液晶表示器51の表示パターンを定めたプロセスデータに従ってこれらシステムレジスタ202及びアトリビュートレジスタ203に実行命令や必要なデータを格納することで、グラフィックコントローラ200を間接的に制御する。
プロセスデータには、Vブランク毎にCPU91aがシステムレジスタ202やアトリビュートレジスタ203に対して行う設定内容が定められている。システムレジスタ202の設定内容としては、描画、データ転送、デコードの実行命令や、データ転送を行うCGデータやパレットデータ、アトリビュートの設定などがある。また、アトリビュートレジスタ203の設定内容は、アトリビュート、すなわちキャラクタを描画する際に使用されるパラメータそのものである。
また、プロセスデータには、Vブランク毎にスプライト画像の更新が行われるようにアトリビュートが設定されている。このため、後に詳しく説明するが、ストリームの展開は、Vブランク2回に1回の期間(後述するフレーム期間)毎に行われ、描画に用いられるフレーム(ストリームから展開した画像データ)の更新もVブランク2回に1回の期間毎に行われるのに対して、スプライト画像の更新は、Vブランク毎に行われることとなる。
また、プロセスデータには、ストリームをループ再生する旨の設定内容、すなわち同一のストリームを連続して繰り返し再生する旨の設定内容が定められたものがあり、この種のプロセスデータにおいては、タイプが後述するIPのストリームのループ再生のみが設定されており、ストリームをループ再生させる場合には、タイプがIPのストリームのループ再生のみが行われることとなる。
次に、ストリームの展開制御について説明する。
ストリームは、ファイルヘッダ、各フレームのフレームヘッダ及び圧縮画像データから構成されている。ファイルヘッダには、ストリームのタイプ(後述するIフレーム及びPフレームのみから構成されるIPであるか、後述するIフレーム、Pフレーム、Bフレームから構成されるIPBであるか)、画像サイズ、総フレーム数、描画順などの情報が含まれており、ストリームは、このファイルヘッダの後に各フレームのフレームヘッダ及び圧縮画像データが展開される順番に続くデータ構造となっている。
また、ストリームを構成するフレームは、Iフレーム(画面内符号化フレーム)、Pフレーム(前方向予測符号化フレーム)、Bフレーム(双方向予測符号化フレーム)の3種類からなる。Iフレームは、前後のフレームとは独立して画像データがそのまま圧縮されたフレームである。Pフレームは、時間的に過去に位置するIフレームまたはPフレームから予測符号化するフレームである。Pフレームでは、物体が画面内で動いているような映像において、Iフレームよりも高い圧縮率を得ることができる。Bフレームは、時間的に前後に位置するIフレームまたはPフレームを用いて前方向、後方向、両方向のフレームから予測符号化するフレームである。Bフレームでは、映像中で突然物体が消えたり、逆に突然現れるような場合でも、時間的に前後のフレームを用いて的確に予測符号化を行うことができる。
本実施例に用いるストリームのタイプには、Iフレーム及びPフレームのみを含むIPと、Iフレーム、Pフレーム及びBフレームの全てを含むIPBと、があり、ストリームのタイプによって展開されたフレームを格納する展開用バッファの数が異なる。
タイプがIPのストリームを展開する場合には、現在展開中のフレームが格納される展開用バッファ、Iフレームの展開に用いる過去のフレームが格納される展開用バッファ、描画処理に用いる展開後のフレームが格納される展開用バッファからなる3つの展開用バッファが必要であるため、タイプがIPのストリームは、展開用バッファL1〜L3もしくは展開用バッファS1〜S3の3つの展開用バッファを用いて展開される。
タイプがIPBのストリームを展開する場合には、現在展開中のフレームが格納される展開用バッファ、Pフレーム及びBフレームの展開に用いる過去のフレームが格納される展開用バッファ、Bフレームの展開に用いる未来のフレームが格納される展開用バッファ、描画処理に用いる展開後のフレームが格納される展開用バッファからなる4つの展開用バッファが必要であるため、タイプがIPBのストリームは、展開用バッファL1〜L4もしくは展開用バッファS1〜S4の4つの展開用バッファを用いて展開される。
また、本実施例に用いるストリームのサイズはLとSの2種類があり、ストリームのサイズによって展開されたフレームを格納する展開用バッファのサイズが異なる。サイズがLのストリームを展開する場合には、展開用バッファL1〜L3もしくは展開用バッファL1〜L4の展開用バッファを用いて展開され、サイズがSのストリームを展開する場合には、展開用バッファS1〜S3もしくは展開用バッファS1〜S4の展開用バッファを用いて展開される。
また、デコードレジスタには、展開用バッファL1〜L4、S1〜S4のうち展開中のフレームが格納される展開用バッファを示す展開用ポインタ、描画処理に用いるフレームが格納されている展開用バッファを示す描画用ポインタをそれぞれ格納する領域が割り当てられており、圧縮動画デコーダ212は、展開したフレームを展開用ポインタが示す展開用バッファに格納し、描画制御部206は、描画用ポインタが示す展開用バッファに格納されているフレームの描画処理を行う。また、圧縮動画デコーダ212は、フレームの展開を予め定められたフレーム期間(本実施例では、Vブランク2回に1回)毎に行うとともに、フレーム期間毎に展開用ポインタ及び描画用ポインタを更新する。この際、圧縮動画デコーダ212は、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値に更新し、描画用ポインタを当該フレーム期間において描画処理に用いるフレームが格納されている展開用バッファを示す値に更新する。
図8は、タイプがIPであるストリームを展開する際の展開タイミング及び描画タイミングの一例を示す図であり、図9は、タイプがIPBであるストリームを展開する際の展開タイミング及び描画タイミングの一例を示す図である。
まず、図8に基づいてタイプがIPであるストリーム(総フレーム数12)を展開する場合のCPU91a及び圧縮動画デコーダ212の制御状況について説明する。
CPU91aは、タイプがIPであるストリームを展開する場合に、最初のフレーム期間(F1)の開始とともに、CGROM205において展開を開始するストリームの格納先をデコードレジスタに設定し、展開するストリームを指定するとともに、システム制御レジスタにデコードの実行命令を格納し、展開終了割込信号の入力待ちとなる。
これに伴い圧縮動画デコーダ212は、デコードレジスタにて指定されたストリームをCGROM205から取得し、取得したストリームのファイルヘッダに含まれるタイプ、サイズに基づいて展開用バッファを設定する。ここでは、タイプがIPであるストリームを展開するので、サイズがLであれば、展開用バッファとして展開用バッファL1〜L3を設定し、サイズがSであれば、展開用バッファとして展開用バッファS1〜S3を設定する。そして、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値とし、最初のフレーム(I1)を展開して展開用ポインタが示す展開用バッファに格納する。最初のフレーム(I1)の展開が終了すると、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値に更新するとともに、描画用ポインタを、当該フレーム期間(F1)において展開したフレーム(I1)が格納されている展開用バッファを示す値に更新し、展開終了割込信号の出力を命令する。
展開終了割込信号が入力されたCPU91aは、次のフレーム期間(F2)の開始を待って、デコードレジスタを参照して全フレームの展開が終了したか否かを確認し、全フレームの展開が終了していなければ、再度システム制御レジスタにデコードの実行命令を格納し、展開終了割込信号の入力待ちとなる。
2番目のフレーム期間(F2)の開始に伴って再度デコードの実行命令を受けた圧縮動画デコーダ212は、次のフレーム(P1)を展開して展開用ポインタが示す展開用バッファに格納した後、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値に更新するとともに、描画用ポインタを、当該フレーム期間(F2)において展開したフレーム(P1)が格納されている展開用バッファを示す値に更新し、展開終了割込信号の出力を命令する。
3番目のフレーム期間(F3)から最終展開フレームを展開するフレーム期間(F12)までは、2番目のフレーム期間(F2)と同様の制御が繰り返し行われる。また、圧縮動画デコーダ212は、2番目以降のフレーム期間において展開するフレームがPフレームである場合に、それ以前に展開して展開用バッファに格納されているIフレームまたはPフレームを用いてフレームの展開を行う。
最終展開フレーム(P9)を展開するフレーム期間において圧縮動画デコーダ212は、最終展開フレームの展開が終了し、展開用ポインタや描画用ポインタを更新した後、全フレームの展開が終了した旨を、デコードレジスタのステータスに設定し、展開終了割込信号を出力する。そして、展開割込信号が入力されたCPU91aでは、デコードレジスタのステータスに全フレームの展開が終了した旨が設定されているため、全フレームの展開が終了したことを認識する。
このようにタイプがIPであるストリームを展開する場合には、圧縮動画デコーダ212によって描画される順番に各フレームの展開が行われるとともに、展開が終了する毎に描画用ポインタが当該フレーム期間において展開が終了した展開用バッファを示す値に更新されるので、2番目のフレーム期間(F2)以降のフレーム期間から最終展開フレーム(P9)の展開が終了した次のフレーム期間(F13)においては、描画制御部206によって前のフレーム期間に展開されたフレームの描画が行われることなる。また、タイプがIPであるストリームを展開する場合には、展開された順番で描画も行われ、常に前のフレーム期間において展開したフレームの描画が行われることとなる。
次いで、図9に基づいてタイプがIPBであるストリーム(総フレーム数12)を展開する場合のCPU91a及び圧縮動画デコーダ212の制御状況について説明する。
CPU91aは、タイプがIPBであるストリームを展開する場合に、最初のフレーム期間(F1)の開始とともに、CGROM205において展開を開始するストリームの格納先をデコードレジスタに設定し、展開するストリームを指定するとともに、システム制御レジスタにデコードの実行命令を格納し、展開終了割込信号の入力待ちとなる。
これに伴い圧縮動画デコーダ212は、デコードレジスタにて指定されたストリームをCGROM205から取得し、取得したストリームのファイルヘッダに含まれるタイプ、サイズに基づいて展開用バッファを設定する。ここでは、タイプがIPBであるストリームを展開するので、サイズがLであれば、展開用バッファとして展開用バッファL1〜L4を設定し、サイズがSであれば、展開用バッファとして展開用バッファS1〜S4を設定する。そして、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値とし、最初のフレーム(I1)を展開して展開用ポインタが示す展開用バッファに格納する。最初のフレーム(I1)の展開が終了すると、展開終了割込信号の出力を命令する。
展開終了割込信号が入力されたCPU91aは、次のフレーム期間(F2)の開始を待たず、再度システム制御レジスタにデコードの実行命令を格納し、展開終了割込信号の入力待ちとなる。すなわちタイプがIPBであるストリームを展開する場合には、最初のフレーム期間(F1)において最初のフレーム(I1)と2番目のフレーム(P1)の展開を命令することとなる。
最初のフレーム期間(F1)において再度デコードの実行命令を受けた圧縮動画デコーダ212は、2番目のフレーム(P1)を展開して展開用ポインタが示す展開用バッファに格納した後、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値に更新するとともに、描画用ポインタを、ファイルヘッダに含まれる描画順(図中では、I1、P1、B1、B2、P2、B3、P3、P4、I2、B4、B5、P5の順番)に従ったフレームが格納されている展開用バッファ、すなわち当該フレーム期間(F1)において最初に展開したフレーム(I1)が格納されている展開用バッファを示す値に更新し、展開終了割込信号の出力を命令する。
最初のフレーム期間(F1)において2回目のデコードの実行命令を行った後、展開終了割込信号が入力されたCPU91aは、次のフレーム期間(F2)の開始を待って、デコードレジスタを参照して全フレームの展開が終了したか否かを確認し、全フレームの展開が終了していなければ、再度システム制御レジスタにデコードの実行命令を格納し、展開終了割込信号の入力待ちとなる。
2番目のフレーム期間(F2)の開始に伴って再度デコードの実行命令を受けた圧縮動画デコーダ212は、次のフレーム(P2)を展開して展開用ポインタが示す展開用バッファに格納した後、展開用ポインタを、フレームが格納されていない展開用バッファ、現在または未来のフレーム期間において描画処理や他のフレームの展開のために今後使用されることのないフレームが格納されている展開用バッファから任意に選択された展開用バッファを示す値に更新するとともに、描画用ポインタを、ファイルヘッダに含まれる描画順に従ったフレーム(P1)が格納されている展開用バッファを示す値に更新し、展開終了割込信号の出力を命令する。
3番目のフレーム期間(F3)から最終展開フレームを展開するフレーム期間(F11)までは、2番目のフレーム期間(F2)と同様の制御が繰り返し行われる。また、圧縮動画デコーダ212は、2番目以降のフレーム期間において展開するフレームがPフレームである場合に、それ以前に展開して展開用バッファに格納されているIフレームまたはPフレームを用いてフレームの展開を行い、2番目以降のフレーム期間において展開するフレームがBフレームである場合に、時間的に前後に位置するIフレームまたはPフレーム、すなわちそれ以前に展開して2つの展開用バッファに格納されている1組のIフレームまたはPフレームを用いてフレームの展開を行う。
最終展開フレーム(B5)を展開するフレーム期間において圧縮動画デコーダ212は、最終展開フレームの展開が終了し、展開用ポインタや描画用ポインタを更新した後、全フレームの展開が終了した旨を、デコードレジスタのステータスに設定し、展開終了割込信号を出力する。そして、展開割込信号が入力されたCPU91aでは、デコードレジスタのステータスに全フレームの展開が終了した旨が設定されているため、全フレームの展開が終了したことを認識する。
また、圧縮動画デコーダ212は、最終展開フレーム(B5)を展開するフレーム期間(F11)において連続してストリームの展開を行わない場合には、描画用ポインタのみを更新する。これに伴い最終展開フレーム(B5)を展開したフレーム期間(F11)の次のフレーム期間(F12)において描画順が最後から2番目のフレーム(B5)が、最終展開フレーム(B5)を展開したフレーム期間(F11)の2つ後のフレーム期間(F13)において描画順が最後のフレーム(P5)が、それぞれ描画されることとなる。これは、Pフレームの展開を行う際に、前後のフレームを先に展開しておく必要があるためであり、これによってタイプがIPBであるストリームを展開する場合には、描画順が最後となるフレームが描画されるタイミングが、最終展開フレームの展開が行われるフレーム期間よりも2フレーム期間後のタイミングとなる。
このようにタイプがIPBであるストリームを展開する場合には、タイプがIPであるストリームを展開する場合とは異なり、各フレームの展開が行われる順番と各フレームの描画が行われる順番とが異なる。このため、圧縮動画デコーダ212によって各フレームは、ストリームに格納されている順番で展開が行われるとともに、2番目以降のフレームの展開が終了する毎に、描画用ポインタがファイルヘッダに含まれる描画順に従ったフレームが格納されている展開用バッファを示す値に更新されるようになっており、2番目のフレーム期間(F2)以降のフレーム期間から最終展開フレーム(P9)の展開が終了した2つ後のフレーム期間(F13)においては、描画制御部206によって描画順に従ってフレームの描画が行われることなる。
また、Bフレームを展開するには、その前に前後のフレームを展開しておく必要があり、タイプがIPのストリームを展開する場合のように各フレーム期間毎に1つのフレームのみの展開を行うと、途中でBフレームの描画に展開が追いつかなくなるため、最初に描画するフレームの描画が行われるフレーム期間よりも2つ前のフレーム期間から前後のフレームの展開を始めなければならず、タイプがIPであるかIPBであるかによって展開を開始するフレーム期間と描画を開始するフレーム期間とのズレが異なってしまう。
これに対して本実施例では、展開を開始するフレーム期間において、最初のフレームと2番目のフレームの双方の展開が行われるようになっており、ストリームのタイプがIPであるかIPBであるかに関わらず、常に展開を開始したフレーム期間の次のフレーム期間からフレームの描画を開始することができるようになっている。
また、タイプがIPであるストリームを展開する場合には、常に1つ前のフレーム期間において展開されたフレームの描画を行うこととなるため、最後に描画されるフレームが描画されるタイミングが、最終展開フレームの展開が行われたフレーム期間の次のフレーム期間となるのに対して、前述のようにタイプがIPBであるストリームを展開する場合には、描画順が最後となるフレームが描画されるタイミングが、最終展開フレームの展開が行われるフレーム期間よりも2フレーム期間後のタイミングとなる。
従って、ストリームを構成する全フレームの再生(描画)を行うと、タイプがIPであるストリームの後に連続してストリームを再生する場合と、タイプがIPBであるストリームの後に連続してストリームを再生する場合と、で後に再生するストリームの展開を開始するタイミングが異なってしまう。
このため、本実施例では、タイプがIPBであるストリームの後に連続してストリームを再生する場合に、CPU91aは、先のストリームの最終展開フレームの展開が行われたフレーム期間の次のフレーム期間から後に再生するストリームの展開を命令する。
例えば、先のストリームの最終展開フレームがBフレームである場合には、図10(a)に示すように、CPU91aは、先のストリームの最終展開フレーム(B5)の展開を行ったフレーム期間(F11)(最終展開フレームの展開の終了が確認されたフレーム期間)の次のフレーム期間(F12(F1))において後のストリームの最初のフレーム(I1)(尚、後のストリームのタイプがIPBの場合には、最初のフレームと2番目のフレーム)の展開を命令する。これに伴い、圧縮動画デコーダ212によって後のストリームの最初のフレーム(I1)が展開されるが、描画ポインタは、先のストリームの描画順が最後から2番目のフレーム(B5)が格納されている展開用バッファを示しているため、先のストリームの描画順が最後から2番目のフレーム(B5)の描画が行われる。そして、後のストリームの最初のフレーム(I1)(後のストリームのタイプがIPBの場合には、2番目のフレーム)が展開されると、描画ポインタが先のストリームの描画順が最後のフレーム(P5)が格納されている展開用バッファではなく、後のストリームの描画順が最初のフレーム(I1)が格納されている展開用バッファを示す値に更新されるので、先のストリームの最終展開フレーム(B5)の展開を行ったフレーム期間(F11)の2つ後のフレーム期間(F13(F2))においては、先のストリームの描画順が最後のフレーム(P5)ではなく、後のストリームの描画順が最初のフレーム(I1)の描画が行われる。
また、先のストリームの最終展開フレームがBフレームではない場合には、図10(b)に示すように、CPU91aは、先のストリームの最終展開フレーム(P6)の展開を行ったフレーム期間(F11)(最終展開フレームの展開の終了が確認されたフレーム期間)の次のフレーム期間(F12(F1))において後のストリームの最初のフレーム(I1)(尚、後のストリームのタイプがIPBの場合には、最初のフレームと2番目のフレーム)の展開を命令する。これに伴い、圧縮動画デコーダ212によって後のストリームの最初のフレーム(I1)が展開されるが、描画ポインタは、先のストリームの描画順が最後から2番目のフレーム(P5)が格納されている展開用バッファを示しているため、先のストリームの描画順が最後から2番目のフレーム(P5)の描画が行われる。そして、後のストリームの最初のフレーム(I1)(後のストリームのタイプがIPBの場合には、2番目のフレーム)が展開されると、描画ポインタが先のストリームの描画順が最後のフレーム(P6)が格納されている展開用バッファではなく、後のストリームの描画順が最初のフレーム(I1)が格納されている展開用バッファを示す値に更新されるので、先のストリームの最終展開フレーム(P6)の展開を行ったフレーム期間(F11)の2つ後のフレーム期間(F13(F2))においては、先のストリームの描画順が最後のフレーム(P5)ではなく、後のストリームの描画順が最初のフレーム(I1)の描画が行われる。
このようにタイプがIPBであるストリームの後に連続してストリームを再生する場合に、CPU91aは、先のストリームの最終展開フレームの展開が行われたフレーム期間の次のフレーム期間から後に再生するストリームの展開を命令し、後のストリームの展開が行われるとともに、更にその次のフレーム期間において先のストリームの描画順が最後のフレームではなく、後のストリームの描画順が最初のフレームの描画が行われるようになっている。このため、タイプがIPであるストリームの後に連続してストリームを再生する場合と、タイプがIPBであるストリームの後に連続してストリームを再生する場合と、で後に再生するストリームの展開を開始するタイミングが同一となり、タイプがIPであるストリームの後に連続してストリームを再生するか、タイプがIPBであるストリームの後に連続してストリームを再生するか、に関わらず、連続してストリームを再生する場合にCPU91aは、先のストリームの最終展開フレームの展開が行われるフレーム期間の次のフレーム期間、すなわち先のストリームの全フレームの展開が終了したフレーム期間の次のフレーム期間から後のストリームの展開の開始を命令すれば良いこととなる。
また、図10(b)に示すように、先のストリームの最終展開フレームがBフレームではない場合には、最後に展開されるフレーム(P6)が描画(表示)されることがないので、このように最終展開フレームがBフレームではないIPBのストリームの後に連続してストリームが再生される場合には、先のストリームの最終展開フレームには、ダミーフレーム格納することが好ましい。ダミーフレームは、例えば全体が1色の画像や描画順が最後となるフレームと同一の画像とすれば良く、全体が1色の画像をダミーフレームとすれば、ストリームの容量を軽くすることができるし、描画順が最後となるフレームと同一の画像とすれば、ダミーフレームが誤って描画された場合でも、見た目上の違和感がないようにすることができる。
次に、描画制御について説明する。
描画制御部206が描画処理を行うためには、描画に必要なキャラクタやストリームから展開されたフレームがVRAM空間に配置されている必要がある。このうちストリームから展開されたフレームは、圧縮動画デコーダによって展開用バッファに格納されるため、描画用ポインタが示す展開用バッファに格納されているフレームを用いれば良いので、これとは別にスプライト画像のソースデータとなるキャラクタをVRAM空間に配置する必要がある。
このため、CPU91aは、動画再生を行う際に、当該動画再生に必要な全てのキャラクタのCGROM205からVRAM空間への転送命令を行う。これに伴いデータ転送制御部211によって動画再生に必要な全てのキャラクタがVRAM空間に配置されることとなる。尚、本実施例では、CPU91aが動画再生を行う際に、当該動画再生に必要な全てのキャラクタのCGROM205からVRAM空間への転送命令を行うようになっているが、描画に必要なキャラクタの転送命令をその都度行うようにしても良い。
また、本実施例では、グラフィックコントローラ200の起動時にデータ転送制御部211によって液晶表示器51の表示領域51aにおける非表示領域51bに対応する形状及び大きさであり、非透明の非表示領域用キャラクタがCGROM205から転送され、VRAM空間の予め定められた位置に配置されるようになっている。
更に、描画制御部206が描画処理を行うためには、アトリビュートレジスタ203にアトリビュートが設定されている必要がある。アトリビュートは、Vブランク毎に異なるため、Vブランク毎にプロセスデータに従ったアトリビュートをアトリビュートレジスタ203に格納する。
そして、CPU91aは、動画再生を開始した後、Vブランク毎に、アトリビュートをアトリビュートレジスタ203に設定した後、アトリビュートの読込の実行を命令する。これに伴い描画制御部206は、アトリビュートレジスタ203のアトリビュートを読み込んで、読込が終了すると読込終了割込信号の出力を命令する。これを受けてCPU91aは描画の実行を命令し、描画制御部206は、読み込んだアトリビュートに従って描画領域に画像データの描画を行う。
図11は、VRAM空間に必要なキャラクタが配置された状態の一例を示す図であり、図12〜図14は、描画制御部206による描画領域へのキャラクタなどの描画の状況の一例を示す図である。
ここで、スプライト画像であるキャラクタA〜C、ストリームから展開したフレームを用いて描画する場合の制御状況を図11〜図14に基づいて説明する。尚、以下では、描画に用いるキャラクタA〜C、ストリームから展開したフレームなどの画像データをオブジェクトとも呼ぶ。
描画制御部206は、図11に示すように、描画に必要なキャラクタA〜C、ストリームから展開したフレーム(描画用ポインタが示す展開用バッファに格納されているフレーム)、非表示用キャラクタがVRAM空間に配置された状態で描画の実行命令を受けると、描画領域への描画を開始する。
これらVRAM空間に配置されたオブジェクトが描画される順番は、アトリビュートレジスタ203から読み込んだアトリビュートによって定められている。アトリビュートには、オブジェクトが描画される順番として手前に描画されるオブジェクトほど高い優先順位が定められており、描画制御部206は、優先順位の高いオブジェクトから順に描画を行う。ここでは、アトリビュートにキャラクタA、B、C、ストリームから展開したフレームの順番で描画する順番が定められている。
描画制御部206は、まず、図12に示すように、アトリビュートに設定された描画の順番に関わらず、VRAM空間の描画領域において液晶表示器51の非表示領域51bに対応する領域に非表示領域用キャラクタを描画する。
次いで、図13に示すように、アトリビュートに設定された描画の順番のうち最も優先順位の高いキャラクタAをアトリビュートによって指定された領域に描画する。この際、キャラクタAを描画する領域のうち、既に描画されているオブジェクト、すなわち非表示領域オブジェクトと重なる領域については、描画を行わない。具体的には、キャラクタAを描画する領域を、描画領域の画素毎に既にオブジェクトが描画されているか否かを判定し、オブジェクトが描画されていない画素については、キャラクタAの対応する画素を描画し、オブジェクトが既に描画されている画素については、描画を行わないようになっている。
キャラクタAの描画が終了すると、次に優先順位の高いキャラクタBをアトリビュートによって指定された領域に描画する。キャラクタBについても同様で描画する領域のうち、既に描画されているオブジェクトと重なる領域については、描画を行わない。そして、同様にしてキャラクタCの描画を行い、最後に、図14に示すように、一番優先順位の低い描画用ポインタが示す展開用バッファのフレーム、すなわちストリームから展開したフレームの描画を行い、最も優先順位の低いオブジェクトの描画が終了した時点で描画終了割込信号の出力を命令する。尚、キャラクタCのように描画領域をはみ出して配置されるオブジェクトについては、既に描画されているオブジェクトと重なる領域と同様にはみ出している領域の画素については、描画を行わず、描画領域に含まれる画素についてのみ描画を行う。
このように描画制御部206は、描画領域のうち、最初に非表示領域用オブジェクトを液晶表示器51の非表示領域51bに対応する位置に描画した後、アトリビュートによって設定された最も手前側のオブジェクトから順番に描画するようになっている。この際、既にオブジェクトが配置されている領域については、描画を行わない。すなわち描画の必要のない画素については、描画を行わないようになっている。
また、アトリビュートにより設定された描画の順番に関わらず、常に、液晶表示器51の非表示領域51bに対応する領域に、非透明の非表示領域用オブジェクトを常に最初に描画するので、VRAM空間に設定された表示領域において、液晶表示器51の表示領域51aのうち常に画像が表示されることのない非表示領域51bに対応する領域に、その他のオブジェクトの描画が行われることがない。
次に、本実施例におけるメイン制御部41のCPU41aが実行する制御内容を、図15に基づいて以下に説明する。
CPU41aは、起動後、図15に示すゲーム処理を繰り返し行う。ゲーム処理では、BET処理(Sa1)、内部抽選処理(Sa2)、リール回転処理(Sa3)、入賞判定処理(Sa4)、払出処理(Sa5)、ゲーム終了時処理(Sa6)を順に実行し、ゲーム終了時処理が終了すると、再びBET処理に戻る。
Sa1のステップにおけるBET処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点で賭数を確定する処理を実行する。
Sa2のステップにおける内部抽選処理では、Sd1のステップにおけるスタートスイッチ7の検出によるゲームスタートと同時に内部抽選用の乱数を抽出し、抽出した乱数の値に基づいて上記した各役への入賞を許容するか否かを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて当選フラグが設定される。
Sa3のステップにおけるリール回転処理では、各リール2L、2C、2Rを回転させる処理、遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
Sa4のステップにおける入賞判定処理では、Sd3のステップにおいて全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
Sa5のステップにおける払出処理では、Sd4のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
Sa6のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
また、これらゲーム処理を構成する各処理においては、ゲームの進行に応じて前述したコマンドがサブ制御部91に対して送信されるようになっている。
次に、演出制御基板90に搭載されたサブ制御部91のCPU91aが実行する各種制御内容を、図16〜図18のフローチャートに基づいて以下に説明する。
CPU91aは、起動後、割込待ちの状態となる。この割込待ちの状態で、グラフィックコントローラ200から定期的(本実施例では、33.3ms毎)に出力されるVブランク割込信号の入力に基づいてVブランク割込処理を行う。また、割込待ちの状態で、グラフィックコントローラ200から展開処理、転送処理、アトリビュートの読込処理、描画処理の終了時にそれぞれ出力される展開終了割込信号、転送終了割込信号、読込終了信号、描画終了割込信号の入力に基づいて展開終了割込処理、転送終了割込処理、読込終了割込処理、描画終了割込処理をそれぞれ実行する。また、割込待ちの状態か否かに関わらず、メイン制御部41からストローブ信号が入力されると、メイン制御部41からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。
図16は、CPU91aがグラフィックコントローラ200から定期的(本実施例では、33.3ms毎)に出力されるVブランク割込信号の入力に基づいて実行するVブランク割込処理の制御内容を示すフローチャートである。
Vブランク割込処理においては、まず、バッファにコマンドが格納されているか否かを判定する(Sb1)。バッファにコマンドが格納されていなければ、Sb6の処理に進み、バッファにコマンドが格納されていれば、バッファからコマンドを取得し(Sb2)、Sb3のステップに進む。
Sb3のステップでは、受信したコマンドが内部当選コマンドの場合に、ROM91bに格納されている演出テーブルを参照し、内部当選コマンドが示す内部抽選の結果に応じた選択率にて演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定する演出パターン選択処理を実行し、Sb4のステップに進む。
Sb4のステップでは、受信したコマンドに応じた処理を行うとともに、ROM91bに格納されている制御パターンテーブルを参照し、RAM91cに設定されている演出パターン及び受信したコマンドに対応して登録されている制御パターンを読み出してRAM91cに設定する制御パターン設定処理を実行し、Sb5のステップに進む。また、制御パターン設定処理では、液晶表示器51の制御パターンとしてプロセスデータの番号がRAM91cに設定される。
Sb5のステップでは、Sb4のステップにおいて設定された制御パターンに従って、演出効果LED52、スピーカ53、54、リールLED等の各種演出装置の制御を行う演出制御処理を実行し、Sb6のステップに進む。
Sb6のステップでは、RAM91aに設定されているプロセスデータに従ってグラフィックコントローラ200に対し、液晶表示器51の表示制御を行うための各種命令及び設定などを行う表示制御処理を実行し、その後、Vブランク割込処理を終了する。
図17は、CPU91aがVブランク割込処理のSb6のステップにおいて実行する表示制御処理の制御内容を示すフローチャートである。
表示制御処理では、まずデータ転送処理の終了時に出力される転送終了割込信号、展開処理の終了時に出力される展開処理終了割込信号、アトリビュートの読込処理の終了時に出力される読込終了割込信号、描画処理の終了時に出力される描画終了割込信号の入力待ち状態か否かを判定する(Sc1)。割込信号の入力待ち状態か否かは、後述する転送終了待ちフラグ、展開終了待ちフラグ、読込終了待ちフラグ、描画終了待ちフラグがRAM91cに設定されているか否かに基づいて判定する。
Sc1のステップにおいて割込待ちの状態であれば、表示制御処理を終了し、図16に示すフローチャートに復帰し、Sc1のステップにおいて割込待ち状態ではなければ、RAM91cに新規にプロセスデータが設定されたか否かに基づいて、新規に動画再生を開始するか否かを判定する(Sc2)。
Sc2のステップにおいて新規に動画再生を開始すると判定された場合、すなわち新規にプロセスデータが設定された場合には、動画再生中である旨を示す再生中フラグをRAM91cに設定するとともに、RAM91cに設定された、プロセスデータのうちどの段階の処理を実行中であるかを示すプロセスデータカウンタの値をクリアする(Sc3)。
次いで、RAM91cに設定されているプロセスデータを参照し、再生するストリームのタイプをRAM91cに設定し(Sc4)、再生するストリームのCGROM91における格納先の先頭アドレスをデコードレジスタに設定し(Sc5)、システム制御レジスタにデコードの実行命令を格納することでストリームの展開を指示する(Sc6)。そして、RAM91cに展開終了割込信号の入力待ちである旨を示す展開終了待ちフラグを設定して(Sc7)、表示制御処理を終了し、図16に示すフローチャートに復帰する。
また、Sc2のステップにおいて新規に動画再生を開始すると判定されなかった場合、すなわち新規にプロセスデータが設定されていない場合には、RAM91cに動画再生中フラグが設定されているか否かに基づいて、動画を再生中か否かを判定する(Sc8)。
Sc8のステップにおいて動画の再生中でなければ、表示制御処理を終了し、図16に示すフローチャートに復帰し、Sc8のステップにおいて動画の再生中であると判定されれば、表示レジスタの表示領域及び描画レジスタの描画領域を更新してVRAM空間における表示領域と描画領域とを切り替える(Sc9)。
次いで、RAM91cに設定されたプロセスデータカウンタの値を更新し(Sc10)、RAM91cに設定されているプロセスデータのうち、プロセスデータカウンタの値が示す段階のアトリビュートをアトリビュートレジスタに設定し(Sc11)、アトリビュートレジスタに設定したアトリビュートの読込命令をシステム制御レジスタに設定することで、アトリビュートの読込を指示する(Sc12)。そして、RAM91cに、アトリビュートの読込終了時に入力される読込終了割込信号の入力待ちである旨を示す読込終了待ちフラグを設定する(Sc13)。
次いで、RAM91cに設定されたプロセスデータカウンタの値を参照し、ストリームの展開を行う時期か否かを判定する(Sc14)。ストリームの展開は、Vブランク2回に1回の割合で行われるため、プロセスデータカウンタの値が偶数の場合にのみ(または奇数の場合にのみ)ストリームの展開を行う時期であると判定する。
Sc14のステップにおいてストリームの展開を行う時期ではなければ、表示制御処理を終了し、図16に示すフローチャートに復帰し、Sc14のステップにおいてストリームの展開を行う時期であれば、デコードレジスタに設定された展開処理のステータスを参照し、全フレームの展開が終了したか否かを判定する(Sc15)。
Sc15のステップにおいて全フレームの展開が終了していなければ、Sc1のステップにジャンプし、次のフレームの展開を指示する。Sc15のステップにおいて全フレームの展開が終了していれば、RAM91cに設定されているプロセスデータを参照し、連続してストリームを再生するか否かを判定する(Sc16)。
Sc16のステップにおいて連続してストリームを再生する場合には、Sc4のステップにジャンプし、プロセスデータに応じて次に再生するストリームの展開を開始させる。Sc16のステップにおいて連続して再生しないと判定された場合には、RAM91cに設定されたプロセスデータを参照し、当該プロセスデータに基づく全ての動画再生が終了したか否かを判定する(Sc17)。
Sc17のステップにおいて全ての動画再生が終了していなければ、表示制御処理を終了し、図16に示すフローチャートに復帰し、Sc17のステップにおいて全ての動画再生が終了していれば、RAM91cに設定されている再生中フラグをクリアした後(Sc18)、表示制御処理を終了し、図16に示すフローチャートに復帰する。
図18(a)は、CPU91aがグラフィックコントローラ200から出力される展開終了割込信号の入力に基づいて実行する展開終了割込処理の制御内容を示すフローチャートである。
展開終了割込処理では、まず、RAM91cに設定されている展開終了待ちフラグをクリアし(Sd1)、デコードレジスタのステータスを参照し、現在のフレーム期間が展開を開始したフレームか否かを判定する(Sd2)。
Sd2のステップにおいて展開を開始したフレーム期間でない場合には、展開終了割込処理を終了し、Sd2のステップにおいて展開を開始したフレーム期間でる場合には、現在展開を行っているストリームのタイプがIPBであるか否かを判定する(Sd3)。ストリームのタイプがIPBであるか否かの判定は、デコードの開始時にRAM91cに設定されたタイプによって判定する。
Sd3のステップにおいてタイプがIPBであると判定された場合には、デコードレジスタのステータスを参照し、最初のフレームの展開が終了したか否かを判定する(Sd4)。Sd4のステップにおいて最初のフレームの展開が終了したと判定された場合には、システム制御レジスタにデコードの実行命令を格納することでストリームの展開を指示する(Sd5)。そして、RAM91cに展開終了待ちフラグを設定して(Sd6)、展開終了割込処理を終了する。
Sd3のステップにおいてタイプがIPBではないと判定された場合、またはSd4のステップにおいて最初のフレームの展開が終了したと判定されなかった場合、すなわち2番目のフレームの展開が終了した場合には、RAM91cに設定されているプロセスデータを参照し、当該プロセスデータ中で必要なスプライト画像のソースデータとなる全てのCGデータのVRAM空間への転送命令をシステム制御レジスタに設定することで、CGデータの転送を指示する(Sd7)。そして、RAM91cに、CGデータの転送終了時に入力される転送終了割込信号の入力待ちである旨を示す転送終了待ちフラグを設定して(Sd8)、展開終了割込処理を終了する。
図18(b)は、RAM91cに読込終了待ちフラグが設定されている状態においてCPU91aがグラフィックコントローラ200から出力される読込終了割込信号、すなわちアトリビュートの読込終了時に出力される読込終了割込信号の入力に基づいて実行する読込終了割込処理の制御内容を示すフローチャートであり、図18(c)は、RAM91cに転送終了待ちフラグが設定されている状態においてCPU91aがグラフィックコントローラ200から出力される転送終了割込信号、すなわちCGデータの転送終了時に出力される転送終了割込信号の入力に基づいて実行する転送終了割込処理の制御内容を示すフローチャートであり、図18(d)は、CPU91aがグラフィックコントローラ200から出力される描画終了割込信号の入力に基づいて実行する描画終了割込処理の制御内容を示すフローチャートである。
読込終了割込処理では、まず、RAM91cに設定されている読込終了待ちフラグをクリアし(Se1)、システム制御レジスタに描画の実行命令を格納することで、描画の実行を指示する(Se2)。そして、描画終了割込信号の入力待ち状態である旨を示す描画終了待ちフラグをRAM91cに設定し(Se3)、読込終了割込処理を終了する。転送終了割込処理では、RAM91cに設定されている転送終了待ちフラグをクリアし(Sf1)、転送終了割込処理を終了する。描画終了割込処理では、RAM91cに設定されている描画終了待ちフラグをクリアし(Sg1)、描画終了割込処理を終了する。
このようにCPU91aは、グラフィックコントローラ200によるアトリビュートの読込処理、描画処理、データの転送処理、ストリームの展開処理が開始すると、これらの処理が完了するまでの間、Vブランク割込信号の入力があっても、新たに描画、データ転送、ストリームの展開の実行命令を行わないようになっている。
以上説明したように、本実施例のスロットマシン1に搭載されたグラフィックコントローラ200では、VRAM空間に設定された描画領域のうち実際の表示領域、すなわち液晶表示器51における表示領域51aの非表示領域51bに対応する領域に画像データを描画しないようになっており、非表示領域51bが形成されているために実際には表示されない画像データを描画領域に描画する処理を省くことが可能となるため、グラフィックコントローラ200による動画の再生制御の処理負荷を軽減することができ、動画の再生処理の能力を向上させることができる。
また、本実施例では、サブ制御部91のCPU91aが、グラフィックコントローラ200のアトリビュートレジスタ203にアトリビュートを設定し、グラフィックコントローラ200に対して描画の実行を命令することで、グラフィックコントローラ200がアトリビュートに従って描画領域への描画を実行するとともに、アトリビュートに設定された描画の順番に関わらず、VRAM空間の描画領域において液晶表示器51の非表示領域51bに対応する領域に非表示領域用キャラクタを最初に描画することで、その後非表示領域51bに対応する領域に他のオブジェクト(ストリームから展開されたフレームを含む)の描画が行われないようになっている。すなわちCPU91aは、非表示領域51bの存在を無視して描画の命令を実行し、非表示領域51bに対応する領域への描画が命令された場合に、グラフィックコントローラ200側で描画が命令されたオブジェクトが非表示領域51bに対応する領域と重なるか否かを判定し、重なる場合に描画を行わないようになっている。このため、ある遊技機に搭載された画像表示装置の動画再生に用いる動画データを、異なる機種の遊技機に搭載された画像表示装置の動画再生に流用する場合(例えば、パチンコ機に搭載された画像表示装置の動画再生に用いる動画データをスロットマシンに搭載された画像表示装置の動画再生に流用する場合など)において、非表示領域が異なる遊技機に同一の画像データを適用する場合でも、グラフィックコントローラ200に対して命令するCPU(本実施例ではCPU91a)側の制御内容(プロセスデータやアトリビュートなど)を大幅に変更することなく動画再生の制御を適用することができる。
尚、本実施例では、アトリビュートに設定された描画の順番に関わらず、グラフィックコントローラ200がVRAM空間の描画領域において液晶表示器51の非表示領域51bに対応する領域に非表示領域用キャラクタを最初に描画することで、その後非表示領域51bに対応する領域に他のオブジェクトの描画が行われないようになっているが、CPU91aが、非表示領域51bに対応する領域に非表示領域用キャラクタを最も高い優先順位で描画されるようにアトリビュートを常に設定するようにしても良く、このようにした場合には、ある遊技機に搭載された画像表示装置の動画再生に用いる動画データを、異なる機種の遊技機に搭載された画像表示装置の動画再生に流用する場合において、グラフィックコントローラ200側の制御内容を大幅に変更することなく適用することが可能となるばかりか、共通のプログラムまたはハード構成のグラフィックコントローラ200を適用することも可能となり、グラフィックコントローラ200の製造コストを軽減することもできる。
また、CPU91aがアトリビュートを設定する際に、描画領域に描画するオブジェクト(ストリームから展開されたフレームを含む)の領域が、非表示領域51bに対応する領域と重なるか否かを判定し、非表示領域51bに対応する領域と重なると判定した場合に、重なる領域についてオブジェクトの描画を指示する旨のアトリビュートを設定しないようにしても良い。すなわちCPU91aが、非表示領域51bに対応する領域と重なる領域について、他のオブジェクトの描画を指定するアトリビュートの設定を禁止するようにしても良く、この場合にも、ある遊技機に搭載された画像表示装置の動画再生に用いる動画データを、異なる機種の遊技機に搭載された画像表示装置の動画再生に流用する場合において、共通のプログラムまたはハード構成のグラフィックコントローラ200を適用することが可能となり、グラフィックコントローラ200の製造コストを軽減することもできる。
また、本実施例では、タイプがIPBであるストリームを再生する場合に、CPU91aが、展開を開始するフレーム期間において、最初のフレームと2番目のフレームの双方の展開を指示し、これにより展開を開始するフレーム期間において最初と2番目のフレームの双方が展開されるようになっており、ストリームのタイプがIPであるかIPBであるかに関わらず、常に展開を開始したフレーム期間の次のフレーム期間からフレームの描画を開始することが可能となる。すなわちタイプがIPのストリームとタイプがIPBのストリームとが混在している場合であっても、フレームの展開を開始するタイミングが共通化されているため、ストリームの再生制御における展開処理の実行タイミングの管理が容易となる。
これに伴い、タイプがIPのストリームとタイプがIPBのストリームとを混在させたストリームの再生制御の制御内容(例えば、制御プログラムやプロセスデータ、アトリビュートなど)の設計が容易となる。具体的には、ストリームの再生制御の制御内容の設計を行う設計者が、各ストリームの出現箇所の割り当てを行う際に、タイプがIPであるかIPBであるかを意識することなく各ストリームを割り当てることができるようになり、ストリームの再生制御の開発などのための作業負担を軽減させることができる。
尚、本実施例では、タイプがIPBであるストリームを再生する場合に、CPU91aが、展開を開始するフレーム期間において、最初のフレームと2番目のフレームの双方の展開を指示するようになっており、これにより展開を開始するフレーム期間において最初と2番目のフレームの双方が展開されるようになっており、2つのフレームの展開を指示するフレーム期間の特定が容易となり、CPU91aによるストリームの再生制御の設計が容易となることから好ましいが、少なくともBフレームの展開を指示するフレーム期間以前のいずれかのフレーム期間において、2つのフレームの展開を指示することで、Bフレームの展開が行われる前に、2つのフレームが展開されるようにしても良く、このようにした場合でも、ストリームのタイプがIPであるかIPBであるかに関わらず、常に展開を開始したフレーム期間の次のフレーム期間からフレームの描画を開始することが可能となり、タイプがIPのストリームとタイプがIPBのストリームとが混在している場合であっても、フレームの展開を開始するタイミングを共通化できるので、ストリームの再生制御における展開処理の実行タイミングの管理が容易となる。
また、本実施例のグラフィックコントローラ200では、タイプがIPのストリームを展開する場合には、展開用バッファL1〜L3もしくは展開用バッファS1〜S3の3つの展開用バッファを設定し、設定した展開用バッファを用いて展開処理が行われ、タイプがIPBのストリームを展開する場合には、展開用バッファL1〜L34しくは展開用バッファS1〜S4の4つの展開用バッファを設定し、設定した展開用バッファを用いて展開処理が行われるようになっている。すなわちIPのストリームを展開するよりもIPBのストリームを展開する場合の方が、展開処理に用いる展開用バッファの数が多く設定されるようになっている。これは、タイプがIPBのストリームを展開する場合に、IPのストリームを展開するのに必要のないBフレームの展開に用いる未来のフレームが格納される展開用バッファが必要となるためであり、このようにIPのストリームを展開するよりもIPBのストリームを展開する場合の方が、展開処理に用いる展開用バッファの数を多く設定することで、VRAM領域の領域を適切に割り当てることができる。
また、本実施例のグラフィックコントローラ200では、サイズがLのストリームを展開する場合には、展開用バッファL1〜L3もしくは展開用バッファL1〜L4の展開用バッファを設定し、設定した展開用バッファを用いて展開処理が行われ、サイズがSのストリームを展開する場合には、展開用バッファS1〜S3もしくは展開用バッファS1〜S4の展開用バッファを設定し、設定した展開用バッファを用いて展開処理が行われる。すなわちサイズの異なるストリームを展開する際に、そのサイズに合わせて展開用バッファを設定するので、サイズの異なるストリームの展開を行う場合でも、VRAM領域の領域を適切に割り当てることができる。
尚、本実施例では、ストリームのファイルヘッダにストリームのタイプやサイズが格納されており、圧縮動画デコーダ212がファイルヘッダからストリームのタイプやサイズを自動的に認識し、展開用バッファを指定するようになっているが、CPU91aが展開を行うストリームのタイプやサイズに応じて展開用バッファの数やサイズを指定するようにしても良く、この場合には、CPU91aのプログラムを改編する際に、展開用バッファの数の設定を確認することにより当該ストリームのタイプを認識することが可能となり、サイズの設定を確認することにより当該ストリームのサイズを認識することも可能となるので、ストリームのデータを詳細に解析する手間を省くことができる。
また、本実施例では、IPBであるストリームの後に連続してストリームを再生する場合に、CPU91aは、先のストリームの最終展開フレームの展開が行われたフレーム期間の次のフレーム期間から後に再生するストリームの展開を命令し、後のストリームの展開が行われるとともに、更にその次のフレーム期間において先のストリームの描画順が最後のフレームではなく、後のストリームの描画順が最初のフレームの描画が行われるようになっている。このため、タイプがIPであるストリームの後に連続してストリームを再生する場合と、タイプがIPBであるストリームの後に連続してストリームを再生する場合と、で後に再生するストリームの展開を開始するタイミングが同一となり、タイプがIPであるストリームの後に連続してストリームを再生するか、タイプがIPBであるストリームの後に連続してストリームを再生するか、に関わらず、連続してストリームを再生する場合にCPU91aは、先のストリームの最終展開フレームの展開が行われるフレーム期間の次のフレーム期間、すなわち先のストリームの全フレームの展開が終了したフレーム期間の次のフレーム期間から後のストリームの展開の開始を命令すれば良いこととなる。すなわちタイプがIPのストリームの後に連続してストリームの再生を行う場合と、タイプがIPBのストリームの後に連続してストリームの再生を行う場合と、が混在している場合であっても、後に再生するストリームのフレームの展開を開始するタイミングが共通化されているため、ストリームの再生制御における展開処理の実行タイミングの管理が容易となる。
これに伴い、タイプがIPのストリームの後に連続して再生するストリームと、タイプがIPBのストリームの後に連続して再生するストリームとを混在させたストリームの再生制御の制御内容(例えば、制御プログラムやプロセスデータ、アトリビュートなど)の設計が容易となる。具体的には、ストリームの再生制御の制御内容の設計を行う設計者が、先のストリームに続いて連続するストリームの出現箇所の割り当てを行う際に、タイプがIPのストリームの後に続くストリームであるかIPBのストリームの後に続くストリームであるかを意識することなく先のストリームに続くストリームを割り当てることができるようになり、ストリームの再生制御の開発などのための作業負担を軽減させることができる。
更に、先のストリームの全フレームの展開が終了したフレーム期間の次のフレーム期間から後のストリームの展開の開始を命令すれば良いので、連続して再生するストリームの順番のみを指定しておくことで、先のストリームの最終展開フレームの展開が終了した際に自動的に次のストリームの展開を開始させることも可能となるので、一層ストリームの再生制御の設計が容易となる。
また、本実施例では、最終展開フレームがBフレームであるIPBのストリームの後にストリームを連続して再生される場合と、最終展開フレームがBフレームではないIPBのストリームの後にストリームを連続して再生される場合とがあるが、前者の場合には、先のストリームの最終展開フレームが、当該ストリームの他のフレームの展開に使用されるので、IPBのストリームにおける全てのフレームを再生に使用される必要なフレームとすることができるので、ストリームのデータ容量に無駄が生じないばかりか、不必要な展開処理を実行させることに伴い処理負荷が増大してしまうことを防止することができる。
また、後者の場合には、最終展開フレームが再生されることはないため、最終展開フレームはストリームの再生には不要なフレームであるとも言える。しかしながら、例えば、表示が最後から2番目のフレームを再生に使用する場合など、設計上後者のようなストリームが必要となることもあり、このような場合には、最終展開フレームとして再生されることのないフレームを設けることによって、当該フレームの展開を行った次のフレーム期間にて、後のストリームの展開を開始すれば良くなるので、後のストリームの展開を開始するタイミングを容易に特定することができるようになり、展開処理の実行タイミングの管理が煩雑となることがない。
また、本実施例では、同一のストリームを繰り返し連続して再生するループ再生を行う際に、IPBのストリームは用いず、IPのストリームのみを用いてループ再生を行うようになっている。これは、IPBの方がIPのストリームよりもデータの圧縮率が高いものの、展開処理を行う際の処理負荷がIPのそれよりも重くなってしまうためであり、ループ再生のように同一のストリームを用いる場合には、ストリームのデータ容量が大幅に減るわけではなく、処理負荷を軽減させた方がメリットが多いためである。
また、本実施例では、ストリームの展開が、Vブランク2回に1回の期間(後述するフレーム期間)毎に行われ、描画に用いられるフレーム(ストリームから展開した画像データ)の更新もVブランク2回に1回の期間毎に行われるのに対して、スプライト画像の更新は、Vブランク毎に行われるようになっている。すなわちスプライト画像は、ストリームから展開されたフレームが更新されるフレーム期間の1/2の期間(Vブランク)で内容が更新されるので、精密な表示を実現しつつ、ストリームの展開に関わる処理負荷が重くなってしまうことを防止できる。
また、本実施例では、各リール2L、2C、2Rの手前側(遊技者側)の位置に、液晶表示器51の表示領域51aが配置されており、表示領域51aの透視窓3に対応する領域には、画像が表示されない非表示領域51bが形成されている。このため、リールの視認性を損なうことなくリールの手前側に配置された液晶表示器51の表示領域51aにおいて遊技に関連した動画像を表示させることが可能となるため、演出効果を高められるうえに、表示領域が大型化した場合でも、透視窓3に対応する部分が非表示領域とされるので、動画の再生制御の処理負荷を軽減することもできる。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
例えば、前記実施例では、描画制御部206がVRAM空間における2次元の描画領域に画像データを描画するようになっているが、画面領域を構成する複数のライン(走査線)、すなわち1次元の描画領域の各ライン毎に画像データを描画するようにしても良い。
また、前記実施例では、遊技機としてスロットマシンを適用したが、その他の遊技機、例えばパチンコ機に適用しても良い。
以下に、遊技機としてパチンコ機を適用した変形例について説明する。
この変形例におけるパチンコ機1001は、図19(a)に示すように、アクリルなどの透明部材にて形成された遊技盤1003の手前側に遊技盤を視認可能な略円形状の窓部1002aを有するガラス扉枠1002が設けられている。また、遊技盤1003の裏側には、方形状の液晶表示器1006が配置されており、遊技盤1003及び窓部1002aから液晶表示器1006の表示領域を透視できるようになっている。
また、遊技盤1003の左右側には、非透明の役物1004が配置されているとともに、下部には、非透明の可変入賞球装置1005が配置されている。このため、実際に液晶表示器1006の表示領域のうち遊技者から視認できる表示領域は、ガラス扉枠1002の窓部1002aの領域、役物1004や可変入賞球装置1005が配置されていない領域のみである。このためこの変形例の液晶表示器1006では、図19(b)に示すように、ガラス扉枠1002や役物1004、可変入賞球装置1005によって隠れている部分を非表示領域としている。
そして、パチンコ機1001が液晶表示器1006の表示制御を行うために搭載されているグラフィックコントローラは、前述した実施例と同様に、VRAM空間の描画領域のうち非表示領域に対応する箇所にオブジェクトの描画を行わないようになっている。
以上のようにパチンコ機1001では、遊技盤1003が透明部材にて形成され、その裏側に液晶表示器1006の表示領域が配置されることで、遊技盤1003の浦柄に配置された液晶表示器1006の表示領域において遊技に関連した動画像を表示させることが可能となるため、演出効果を高められるうえに、表示領域が大型化した場合でも、物などによって隠蔽されてしまう部分が非表示領域とされるので、動画の再生制御の処理負荷を軽減することもできる。
前記実施例における各要素は、本発明に対して以下のように対応している。
本発明の請求項1に記載の遊技機は、
所定の遊技を行う遊技機(スロットマシン1)であって、
方形の画面領域(表示領域51a)に前記遊技に関連した動画像が表示される表示領域(表示領域51aのうち非表示領域51bを除く領域)と前記遊技に関連した動画像が表示されない非表示領域(非表示領域51b)が形成された画像表示装置(液晶表示器51)と、
所定の圧縮方式でデータ圧縮された複数の圧縮画像データを含む圧縮動画データ(ストリーム)に基づく動画像を前記画像表示装置の表示領域に再生表示する再生表示手段(CPU91a、グラフィックコントローラ200)と、
を備え、
前記再生表示手段は、
双方向予測符号化により圧縮された双方向圧縮画像データ(Bフレーム)を含む第1圧縮動画データ(IPBのストリーム)と、前記双方向圧縮画像データを含まない第2圧縮動画データ(IPのストリーム)と、を含む複数の圧縮動画データ(ストリーム)を記憶する圧縮動画データ記憶手段(CGROM205)と、
予め定められた動画フレーム期間(フレーム期間)毎に、前記圧縮動画データに含まれている圧縮画像データ(フレーム)を、予め定められている展開順番(ストリームに格納されている順番)で展開してバッファ(展開用バッファ)に記憶させる展開処理を行う展開処理手段(圧縮動画デコーダ212)と、
前記画面領域全体に対応する仮想表示領域(VRAM空間における描画領域)に描画データを作成する作成処理(描画処理)を行う手段であり、少なくとも前記動画フレーム期間毎に予め定められた表示順番(ファイルヘッダに含まれる表示順番)に従って、前記展開処理手段により前記バッファに記憶された画像データに基づく描画データを前記仮想表示領域のうち前記画面領域の画像を表示する位置に対応する領域に作成する展開画像作成処理(展開用バッファに格納されているフレームを描画領域の指定された領域に描画する描画処理)を行う作成処理手段(描画制御部206)と、
前記仮想表示領域に記憶されている描画データに従って前記画面領域に画像を表示させる表示処理を行う表示処理手段(表示制御部213)と、
を含み、
前記再生表示手段は、更に、
動画像の再生表示を開始させる際に圧縮動画データを指定する(CPU91aは、ストリームの展開を開始する最初のフレーム期間においてストリームを指定する)とともに、該圧縮動画データを指定した動画フレーム期間から前記展開処理手段による展開処理を開始し(CPU91aは、最初のフレーム期間においてストリームの展開を指示する)、
前記展開処理を開始した動画フレーム期間の次の動画フレーム期間から前記作成処理手段による展開画像作成処理を開始し(CPU91aは、2番目のフレーム期間からフレームの描画を指示する)、
前記指定した圧縮動画データが前記第1圧縮動画データであったときは、双方向圧縮画像データの展開処理が最初になされる動画フレーム期間以前の動画フレーム期間において複数回の前記展開処理を行う(CPU91aは、IPBのストリームを再生する際に、最初にBフレームの展開が行われるフレーム期間以前のフレーム期間において2回展開を指示する)とともに、
前記展開処理手段は、前記第1圧縮動画データに基づく動画像の再生が行われた後、少なくとも前記第2圧縮動画データに基づく動画像が再生されるときに、先の再生に用いられる前記第1圧縮動画データに基づく動画像において表示順番が最後となる最終表示予定画像データを、当該第1圧縮動画データに基づく動画像における他の画像を示す圧縮画像データの前記展開処理に使用するとともに、先の再生に用いられる前記第1圧縮動画データに基づく動画像における前記最終表示予定画像データに基づく描画データが前記仮想表示領域に作成されるべき動画フレーム期間の前の動画フレーム期間にて、後の再生に用いられる前記第2圧縮動画データに基づく動画像において表示順番が最初となる最先表示画像データを展開する前記展開処理を行い(CPU91は、連続してストリームを再生する場合に、先のストリームの最終展開フレームを展開した次のフレーム期間において後のストリームの最初のフレームの展開を指示し、これに伴い圧縮動画デコーダ212は、先のストリームの最終展開フレームを展開した次のフレーム期間において後のストリームの最初のフレームを展開する、また、圧縮動画データ212は、最終展開フレームがBフレームとなるIPBのストリームの後、連続してストリームを再生する場合に、先のストリームの描画順が最後となるフレームを他のフレームの展開に使用する)、
前記作成処理手段は、先の再生に用いられる前記第1圧縮動画データに基づく動画像における前記最終表示予定画像データに基づく描画データが前記仮想表示領域に作成されるべき動画フレーム期間にて、前記展開画像作成処理により当該最終表示予定画像データに基づく描画データを前記仮想表示領域に作成することなく、後の再生に用いられる前記第2圧縮動画データに基づく動画像の前記最先表示画像データに基づく描画データを前記仮想表示領域に作成する(描画制御部206は、IPBのストリームの後、連続してストリームを再生する場合に、先のストリームの最終展開フレームを展開した次のフレーム期間において、先のストリームの描画順が最後のフレームではなく、後のストリームの描画順が最初のフレームの描画を行う)とともに、
更に前記作成処理手段は、前記展開画像作成処理にて前記仮想表示領域のうち前記非表示領域に対応する領域について、前記展開処理手段により前記バッファに記憶された画像データに基づく描画データを作成しない(描画制御部206は、他のオブジェクトを描画する前にVRAM空間における描画領域の非表示領域51に対応する領域に非表示領域用キャラクタを配置し、その後アトリビュートにより指示された他のオブジェクトが非表示領域用キャラクタと重なる領域について描画を行わない)、
ことを特徴としている。
本発明の請求項2に記載の遊技機は、請求項1に記載の遊技機であって、
前記作成処理手段は、
前記展開画像作成処理により前記バッファに記憶された画像データに基づく描画データを作成する領域を指定する指定手段(CPU91aは、フレームの描画領域を含むアトリビュートを設定する)を含み、
前記仮想表示領域のうち前記非表示領域に対応する領域について、前記指定手段により前記バッファに記憶された画像データに基づく描画データを作成することが指定されているか否かに関わらず、非表示領域用の描画データを作成する非表示画像作成処理(描画制御部206は、VRAM空間における描画領域の非表示領域51に対応する領域に他のオブジェクトよりも優先して非表示領域用キャラクタを描画する)を行う、
ことを特徴としている。
本発明の請求項3に記載の遊技機は、請求項1に記載の遊技機であって、
前記作成処理手段は、
前記展開画像作成処理により前記バッファに記憶された画像データに基づく描画データを作成する領域を指定する指定手段(CPU91aは、フレームの描画領域を含むアトリビュートを設定する)と、
前記仮想表示領域のうち前記非表示領域に対応する領域について、前記指定手段により前記バッファに記憶された画像データに基づく描画データを作成する領域として指定することを禁止する禁止手段(CPU91aは、フレームについてアトリビュートを設定する際に、当該フレームを描画する領域が非表示領域と重なるか否かを判定し、重なると判定された場合には、非表示領域と重なる領域へのフレームの描画を指定するアトリビュートの設定を行わない)と、
を含む、
ことを特徴としている。
本発明の請求項4に記載の遊技機は、請求項1〜3のいずれかに記載の遊技機であって、
前記展開処理手段(圧縮動画デコーダ212)は、前記展開処理にて圧縮画像データ(ストリーム)を展開した画像データを複数のバッファ(展開用バッファL1〜L4、展開用バッファS1〜S4)のいずれかに記憶させるとともに、
前記指定した動画像の再生表示に用いる圧縮動画データが前記第1圧縮動画データ(IPBのストリーム)か否かに応じて前記展開処理で用いるバッファの数を設定するバッファ数設定手段(圧縮動画デコーダ212は、ストリームのタイプに応じて展開用バッファをデコードレジスタに設定する)を備え、
前記バッファ数設定手段は、前記第1圧縮動画データであったときに、前記第2圧縮動画データであったときよりも多い数のバッファ数を設定する(圧縮動画デコーダ212は、ストリームのタイプがIPの場合には、展開用バッファL1〜L3または展開用バッファS1〜S3を設定し、ストリームのタイプがIPBの場合には、展開用バッファL1〜L4または展開用バッファS1〜S4を設定する)、
ことを特徴としている。
本発明の請求項5に記載の遊技機は、請求項1〜4のずれかに記載の遊技機であって、
前記展開処理手段(圧縮動画デコーダ212)は、前記展開処理にて圧縮画像データ(ストリーム)を展開した画像データを複数のバッファ(展開用バッファL1〜L4、展開用バッファS1〜S4)のいずれかに記憶させるとともに、
前記指定した動画像の再生表示に用いる圧縮動画データを展開した画像データの画像サイズを判定し、該判定結果に応じた画像サイズの記憶領域を前記展開処理に用いるバッファとして設定するバッファ設定手段(圧縮動画デコーダ212は、ストリームのサイズがLかSかを自動的に認識し、Lの場合には、展開用バッファS1〜L3または展開用バッファS1〜S4を設定し、Sの場合には、展開用バッファS1〜S3または展開用バッファS1〜S4を設定する)を備える、
ことを特徴としている。
本発明の請求項6に記載の遊技機は、請求項1〜5のいずれかに記載の遊技機であって、
前記再生表示手段(CPU91a、グラフィックコントローラ200)は、スプライト画像を表示するためのスプライト画像データ(キャラクタ)を記憶するスプライト画像データ記憶手段(CGROM205)を更に含み、
前記展開処理手段は、前記動画フレーム期間毎に前記展開処理を行い(圧縮動画デコーダ212は、フレーム期間単位で展開処理を行う)、
前記作成処理手段は、前記動画フレーム期間の1/N(Nは2以上の整数)の期間であるスプライトフレーム期間毎に、該スプライト画像データに基づく描画データを前記仮想表示領域の画像を表示する位置に対応する領域に作成するスプライト画像作成処理及び前記展開画像作成処理を行い(描画制御部206は、Vブランク単位で描画処理を行う)、
前記表示処理手段は、前記仮想表示領域に記憶されている描画データを前記スプライトフレーム期間毎に前記画面領域に表示する表示処理を行う(表示制御部213は、Vブランク単位で表示を更新する(Vブランク単位で描画領域と表示領域が切り替わる))、
ことを特徴としている。
本発明の請求項7に記載の遊技機は、請求項1〜6のいずれかに記載の遊技機であって、
1ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の図柄を変動表示可能な可変表示装置に表示結果が導出表示されたことにより1ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされた遊技機であって、
前記画面領域は、前記可変表示装置の手前に配置されているとともに、前記可変表示装置の表示結果が視認可能となるように前記非表示領域が形成されている、
ことを特徴としている。
この特徴によれば、可変表示装置の視認性を損なうことなく、可変表示装置の手前側に配置された画像表示装置の画面領域で遊技に関連した動画像を表示させることが可能となるため、演出効果を高められるうえに、画像表示装置の画面領域が大画面化した場合でも、可変表示装置の表示結果が視認可能となるように非表示領域が形成されるので、動画再生制御の処理負荷を軽減することができる。
ことを特徴としている。
本発明の手段1に記載の遊技機は、請求項1〜7のいずれかに記載の遊技機であって、
前記再生表示手段(CPU91a、グラフィックコントローラ200)は、同一の前記圧縮動画データ(ストリーム)を繰り返し連続して再生表示させる連続再生表示手段を含み、
前記連続再生表示手段は、同一の前記第2圧縮動画データのみを繰り返し連続して再生表示させる(CPU91aは、タイプがIPのストリームのみ連続再生を指示する)、
ことを特徴としている。