以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。なお、本実施形態における遊技機としては、LCD等からなる画像表示装置(変動表示装置)により特図ゲームを行う遊技機であり、プリペイドカードによって球貸しを行うカードリーダ(CR:Card Reader )式の第1種パチンコ遊技機を例にとって説明する。しかし、適用対象となる遊技機は、これに限るものではなく、例えば、LCDを搭載したスロットマシン等の遊技機にも適用可能である。また、パチンコ遊技機等の弾球遊技機であっても、画像表示装置を有するものであれば、例えば、第2種あるいは第3種に分類される遊技機や、一般電役機、又はパチコンと呼ばれる確率設定機能付き弾球遊技機等であっても構わない。さらには、プリペイドカード(将来的にはICコイン等も含む価値媒体)によって球貸しを行うCR式パチンコ遊技機だけでなく、現金によって球貸しを行うパチンコ遊技機にも適用可能である。すなわち、LCD等からなる画像表示装置を有し、特図ゲームに相当する演出表示を行うことが可能な遊技機であれば、どのような形態のものであっても構わない。
まず、CR式第1種パチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面から見た正面図である。パチンコ遊技機1は、大別して、遊技盤面を構成する遊技盤2と、遊技盤2が着脱可能に取り付けられる遊技機用枠3とで構成される。遊技盤2の前面には遊技領域4が形成されている。なお、遊技機1の前面側の下部右側には、打球を発射するハンドル5が設けられている。
遊技領域4の中央付近には、それぞれが識別情報としての図柄を変動表示する複数の変動表示部を含む変動表示装置6が設けられている。変動表示装置6は、LCDによって構成され、「左」、「中」、「右」の3つ特別図柄が表示される図柄表示エリア(変動表示部)が設けられている。図柄表示エリアには、変動表示の表示結果が大当り表示態様であるか否かを特定するための有効ラインが予め設定されている。有効ライン上で最終的に停止した各特別図柄の組合せによって大当り表示態様であるか否かが特定され、有効ライン上に各特別図柄が同一図柄で揃っている場合に大当り表示態様であることが特定される。したがって、遊技者は変動表示装置6における有効ライン上の表示態様を確認することで、大当りとなったか否かを容易に認識することができる。
また、変動表示装置6の下部には、始動入賞口7に入った有効入賞球数すなわち始動入賞記憶数を表示する4つのLEDから成る特別図柄始動記憶表示器(以下、始動記憶表示器)8が設けられている。始動記憶表示器8には、始動入賞記憶数が4未満のときの有効始動入賞に対応して、入賞表示が行われる。具体的には、有効始動入賞が発生する度に点灯個数を1増やし、特別図柄の変動表示が開始される度に点灯個数を1減らす。この例では、始動入賞記憶数を表示する表示器(特別図柄始動記憶表示器)8を変動表示装置6とは別個に設ける構成としているが、変動表示装置6の表示領域の所定箇所に始動入賞記憶数を報知するための始動記憶表示エリアをに設けるようにしてもよい。
変動表示装置6の下方には、開閉動作を行う普通電動役物9を兼用する始動入賞口7と、特定遊技状態(大当り状態)においてソレノイド等を駆動することで開状態とされる大入賞口10とが上下に並んで配設されており、始動入賞口7の左側には、ゲート13が配設されている。大入賞口10は、大入賞口扉11を開閉することによって開状態あるいは閉状態とされる。ゲート13に遊技球が入賞すると、普通図柄表示装置14において表示状態が変化する変動表示が開始される。普通図柄表示装置14の近傍には、普通図柄始動入賞記憶数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器15が設けられている。また、遊技盤2には、複数の入賞口16,17,18,19が設けられている。
遊技機用枠3の左右上部には、効果音を発する2つのスピーカ20L,20Rが設けられている。また、遊技領域4の外周には、天枠ランプ21a、左枠ランプ21b及び右枠ランプ21cが設けられている。さらに、図示はしないが、遊技領域4における各構造物(大入賞口等)の周囲には装飾用LEDが設置されている。天枠ランプ21a、左枠ランプ21b及び右枠ランプ21c及び装飾用LEDは、遊技機に設けられている発光体の一例である。
次に、パチンコ遊技機1における本例の特徴部分の構成例について図2を参照して説明する。なお、ここでは、図2に示されている各手段の構成について、後述する図3などに記載されている各部を参照しつつ説明する。図2は、遊技機1における本例の特徴部分の構成の例を示すブロック図である。図2には、遊技制御手段201と、演出制御手段301と、変動表示装置6とが表されている。遊技制御手段201は、例えばCPU33のみによって構成されていてもよく、CPU33にROM31やRAM32などを含む構成とされていてもよい。演出制御手段301は、例えばCPU101のみによって構成されていても、CPU101にROM102やRAM103などを含む構成とされていても、また、表示制御部80に含まれる構成の一部または全部によって構成されていてもよい。
遊技制御手段201は、演出制御コマンドが出力される出力手段202(例えば出力ポート)を備えている。出力手段202から出力された演出制御コマンドは、演出制御手段301の入力手段302(例えば入力ポート)に入力される。
演出制御手段301は、演出制御コマンドが入力される入力手段302と、画像生成手段303と、背景制御データ記憶手段309と、背景画像記憶手段310と、前面制御データ記憶手段311と、前面画像記憶手段312と、背景フレームバッファ320と、前面用フレームバッファ325と、前面バッファ切替手段328と、画像合成手段330と、画像信号供給手段331とを含む。
画像生成手段303は、背景画像を生成する背景画像生成手段304と、前面画像を生成する前面画像生成手段307とを含む。背景画像は、変動表示装置6において背景として表示される画像を意味する。前面画像は、変動表示装置6において背景の手前すなわち前面側に表示される画像を意味する。なお、変動表示装置6において前面画像の背面側に表示される画像を背面画像という。この例では、背面画像が背景画像のみによって構成されるため、背面画像のことを背景画像ということがある。画像生成手段303は、例えば後述するGCL81によって構成される。
背景画像生成手段304は、背景制御データ記憶手段309(例えばROM102)に記憶されている背景制御プログラムに従って、背景画像を生成するための処理を実行する。具体的には、背景画像生成手段304は、背景制御プログラムに従って、背景画像記憶手段310(例えばCGROM83)から背景画像データを読み出す。読み出した背景画像データが圧縮データであった場合には、データ伸張手段306(例えば動画圧縮・伸張部89)は、データ伸張を行う。なお、データ伸張手段306は、例えばMPEG2(Moving Picture Experts Group phase 2)などの広く利用されている符号化方式によりデータ圧縮された動画像データのデータ伸張や、例えばJPEG(Joint Photographic coding Experts Group)などの広く利用されている符号化方式によってデータ圧縮された静止画データのデータ伸張を行う。そして、背景画像展開手段305が、背景画像データを背景フレームバッファ320に展開する。
背景画像展開手段305は、本例では、1つだけ設けられている背景フレームバッファ320に、背景画像データを展開する。背景画像展開手段305は、複数の背景画像データを順次展開する場合には、1つの背景フレームバッファ320に、順番に各背景画像データを展開することになる。
本例では、背景画像記憶手段310に記憶されている記憶情報には、背景画像データと、展開期間指標データとが含まれる。展開期間指標データは、各背景画像データ毎に対応付けされているデータであって、対応付けされている背景画像データの展開に要する時間(圧縮データの場合は伸張に要する時間も含む)を示すデータである。すなわち、背景画像記憶手段310には、背景画像データと展開期間指標データとが組みとなって記憶されている。
前面画像生成手段307は、前面制御データ記憶手段311(例えばROM102)に記憶されている前面制御プログラムに従って、前面画像を生成するための処理を実行する。具体的には、前面画像生成手段304は、前面制御プログラムに従って、前面画像記憶手段312(例えばCGROM83)から前面画像データを読み出す。そして、前面画像展開手段308が、前面画像データを前面用フレームバッファ325に展開する。
本例では、前面画像記憶手段312に記憶されている記憶情報には、前面画像データと、展開期間指標データとが含まれる。展開期間指標データは、各前面画像データ毎に対応付けされているデータであって、対応付けされている前面画像データの展開に要する時間(圧縮データの場合は伸張に要する時間も含む)を示すデータである。すなわち、前面画像記憶手段312には、前面画像データと展開期間指標データとが組みとなって記憶されている。
前面画像展開手段308は、前面バッファ切替手段328によって指定されている前面フレームバッファに前面画像データを展開する。前面バッファ切替手段328は、前面フレームバッファAと前面フレームバッファBとに交互に前面画像データが展開されるように切替処理を実行する。従って、前面画像展開手段308は、複数の前面画像データを順次展開する場合には、前面フレームバッファAと前面フレームバッファBとに交互に、順番に前面画像データを展開することになる。
画像合成手段330(例えばGCL81)は、背景フレームバッファ320に展開された背景画像データと、前面用フレームバッファ325に展開された前面画像データとを合成した合成画像を生成する処理を実行する。本例では、画像合成手段330は、複数の合成画像を順次生成する場合には、合成元となる前面画像データを、前面フレームバッファAに展開されている前面画像データと、前面フレームバッファBに展開されている前面画像データとに交互に切り替え、背景フレームバッファ320に展開されている背景画像データと合成した合成画像データを順次生成する。画像合成手段330は、合成画像データを生成すると、生成した合成画像データを画像信号供給手段331に送信する。
画像信号供給手段331(例えば変動表示装置制御部87、DAC88)は、画像合成手段330から受けた合成画像データにもとづいて、画像信号を変動表示装置6に向けて出力する。
図3は、遊技制御部を中心としたシステム構成例を示すブロック図である。本実施形態におけるパチンコ遊技機1は、主として、電源部(電源基板)150と、遊技制御部(主基板)30と、入力部52と、出力部53と、演出制御部(演出制御基板)100と、払出制御部(払出制御基板)40と、盤用外部端子基板50と、枠用外部端子基板51とを備えている。
遊技制御部30は、ゲーム制御用のプログラム等を記憶するROM31、ワークメモリとして使用されるRAM32、プログラムに従って制御動作を行うCPU33及びI/Oポート部34を含む。なお、CPU33はROM31に格納されているプログラムに従って制御を実行するので、以下、CPU33が実行する(又は、処理を行う)ということは、CPU33がプログラムに従って制御を実行することをいう。このことは、主基板30以外の他の基板に搭載されているCPUについても同様である。また、図示はしないが、遊技制御部30は、入力部52からの信号入力を受け付けるスイッチ回路と、出力部53に向けて駆動信号の出力を行うソレノイド回路とを備えている。なお、遊技制御部30は、遊技に用いられる各種の乱数を生成する機能、演出制御部100や払出制御部40に制御コマンドを出力する機能、ホールの管理コンピュータに対して各種情報を出力する機能等の各種の機能を有している。
入力部52は、始動入賞口7への入賞球を検出する始動口スイッチ7a、ゲート13への入賞球を検出するゲートスイッチ13a、大入賞口10から遊技盤2の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球を検出する特定領域スイッチ22、大入賞口10からの入賞球を検出するカウントスイッチ23、各入賞口16,17,18,19への入賞球を検出する入賞口スイッチ16a,17a,18a,19a等の各種の検出手段によって構成される。上記の各スイッチは、センサと称されているものでもよい。すなわち、遊技球の検出等の、各種の検出を行うことができる検出手段であれば、その名称を問わない。
出力部53は、可変入賞球装置9を開閉するための普通電動役物ソレノイド9a、開閉板11の開閉に用いられる大入賞口扉ソレノイド11a及び大入賞口10内の経路の切り換えに用いられる大入賞口内誘導板ソレノイド12a等の各種の駆動手段によって構成される。
図3に示すように、演出制御部100は、変動表示装置6や普通図柄表示装置14等の表示に関する制御を行う表示制御部80と、スピーカ20L,20R等の音に関する制御を行う音制御部70と、天枠ランプ21a等の発光体に関する制御を行うランプ制御部60とを備えている。演出制御部100は、遊技制御部30からの制御コマンドに基づいて、特別図柄を変動表示する変動表示装置6及び普通図柄を変動表示する普通図柄表示装置14の表示制御、音声出力制御、ランプ表示制御をそれぞれ実行する。
払出制御部40は、遊技球の貸出や賞球等の払出制御を実行する機能を有している。また、盤用外部端子基板50及び枠用外部端子基板51は、各種遊技関連情報を外部に出力する役割を果たす。さらに、電源部150は、パチンコ遊技機1内の各回路に、所定の電源電圧を供給するために設けられている。
ここで、本例のパチンコ遊技機1における遊技の様子について説明する。打球発射装置から発射された遊技球は、打球レールを通って遊技領域4に入り、その後、遊技領域4を下りてくる。打球が始動入賞口7に入り始動口スイッチ7aで検出されると、図柄の変動表示を開始できる状態であれば、変動表示装置6において特別図柄が変動表示(変動)を始める。図柄の変動表示を開始できる状態でなければ、始動入賞記憶数を1増やす。
変動表示装置6における特別図柄の変動表示は、一定時間が経過したときに停止する。停止時における有効ライン上の特別図柄の組合せが大当り表示態様であると、大当り遊技状態に移行する。具体的には、大入賞口10が、一定時間経過するまで、又は、所定個数(例えば、10個)の打球が入賞するまで開放する。そして、大入賞口10の開放中に打球がV入賞領域に入賞し特定領域スイッチ22で検出されると、継続権が発生し大入賞口10が再度開放される。継続権の発生は、所定回数(例えば、15ラウンド)許容される。
停止時の変動表示装置6における特別図柄の組合せが確率変動を伴う大当り図柄(確変図柄)の組合せである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態(特別遊技状態)となる。
なお、変動表示装置6上に表示される特別図柄の仮停止タイミングや変動時間等は、後述する変動パターン指定コマンドに従って一意に定まっている。すなわち、演出制御部100は、変動パターンコマンドを受け取ったタイミングから、変動表示装置6上における特別図柄の変動、スピーカ20L,20Rからの音声出力及びランプ・LED21a等の明滅表示が連動して行われるように制御を実行する。
図4は、演出制御基板100の回路構成を示すブロック図である。演出制御基板100は、表示制御部80と、音制御部70と、ランプ制御部60と、各制御部60,70,80の制御を行う演出制御用CPU101と、演出制御用のプログラムや図柄表示・発光・音声出力等の各種の演出パターン等を記憶するROM102と、ワークメモリとして使用されるRAM103とを備えている。なお、図示はしないが、演出制御基板100には、演出制御コマンドの受信に用いられるコマンド受信回路が設けられている。
演出制御用CPU101は、ROM102に格納されたプログラムに従って動作し、主基板30からの演出制御コマンドを受信する。そして、演出制御用CPU101は、受信した演出制御コマンドに従って、変動表示装置6の表示制御や、発光体の点灯/消灯制御、音出力制御、可動演出装置の駆動制御等の各種制御を行う。
変動表示装置6の表示制御は、具体的には、演出制御コマンドに応じた指令をGCL(Graphics Controller LSI)81に与える。GCL81は、CGROM83等から必要なデータを読み出す。なお、CGROM83には、使用頻度の高いキャラクタを示すデータが格納されている。CGROM83に格納されている使用頻度の高いキャラクタとは、例えば、変動表示装置6に表示される人物、動物、又は、文字、図形もしくは記号等からなる画像である。なお、キャラクタには、実写による動画像や静止画像も含まれる。GCL81は、入力したデータに従って変動表示装置6に表示するための画像データを生成し、R(赤),G(緑),B(青)信号及び同期信号を変動表示装置6に出力する。変動表示装置6は、例えば、多数の画素(ピクセル)を用いたドットマトリクス方式による画面表示を行う。本例では、R,G,B信号がそれぞれ8ビットで表される。したがって、変動表示装置6は、GCL81からの指示に従って、R,G,Bそれぞれが256階調であり、約1670万色の多色表示を行うことができる。なお、R,G,B信号のビット数は8ビット以外のビット数であってもよく、また、R,G,B信号の各ビット数が互いに異なる数であってもよい。
表示制御部80には、CGROM83やSDRAM(VRAM)84等の各種の記憶媒体が備えられている。SDRAM84には、フレームバッファ、キャラクタのソースデータ、表示色の特定や変更等のために用いられるパレットデータ等の表示画像に関するデータが格納される。また、表示制御部80は、GCL81と、普通図柄表示装置14に信号を出力するための普通図柄駆動回路82とを備えている。
GCL81は、所定のパレットデータを一時的に保存するためなどに用いられるパレットデータバッファ85や、所定のCGデータを一時的に保存するためなどに用いられるCGデータバッファ86等の各種の記憶媒体の他、描画制御部と、変動表示装置6に信号を出力するための変動表示装置制御部87及びDAC(ディジタルアナログコンバータ)88と、動画圧縮処理や伸張処理を行う動画圧縮伸張部89とを含む。描画制御部は、アトリビュート解析部81aと、VRAMアドレス生成部81bと、クリッピング部81cと、半透明輝度変調部81dとを含む。アトリビュート解析部81aは、キャラクタを描画する際に使用されるパラメータ(これをアトリビュートと呼ぶ。)の解析を行う。このパラメータには、画像の描画順序、色数、拡大縮小率、パレット番号、座標等を指定するための情報が設定されている。なお、動画圧縮伸張部89は、GCL81によって制御される構成としても、演出制御用CPU101によって制御される構成としてもよい。
音制御部70は、遊技制御部30からの制御コマンドに従って音声や効果音を発生する音声IC71と、音声データ等を記憶する音声ROM72と、音声信号を増幅してスピーカ20L,20Rに出力するための低周波増幅回路73と、低周波増幅回路73から出力される音声信号の出力レベルを設定されている音量に応じたレベルにするディジタルボリューム74とを備えている。
ランプ制御部60は、ランプ・LED24に含まれている遊技状態飾りランプ24aに信号を出力するためのランプ駆動回路61と、ランプ・LED24に含まれている遊技状態飾りLED24bに信号を出力するためのLED駆動回路62とを備えている。
次に遊技機の動作について説明する。図5は、主基板30における遊技制御手段(CPU33及びROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU33は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU33は、まず、必要な初期設定を行う。
初期設定処理において、CPU33は、まず、割込み禁止に設定する(ステップS1)。次に、割込みモードを割込みモード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)及びPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
この実施の形態で用いられるCPU33は、I/Oポート(PIO)及びタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
この実施の形態で用いられているCPU33には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU33は、自動的に割込み禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
割込みモード0:割込み要求を行った内蔵デバイスがRST命令(1バイト)又はCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU33は、RST命令に対応したアドレス又はCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU33は自動的に割込みモード0になる。よって、割込みモード1又は割込みモード2に設定したい場合には、初期設定処理において、割込みモード1又は割込みモード2に設定するための処理を行う必要がある。
割込みモード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
割込みモード2:CPU33の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込みベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込み番地を示すモードである。すなわち、割込み番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込みベクタとされた2バイトで示されるアドレスである。したがって、任意の(飛び飛びではあるが)偶数番地に割込み処理を設置することができる。各内蔵デバイスは割込み要求を行うときに割込みベクタを送出する機能を有している。
よって、割込みモード2に設定されると、各内蔵デバイスからの割込み要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込み処理を設置することが可能になる。さらに、割込みモード1とは異なり、割込み発生要因毎のそれぞれの割込み処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU33は割込みモード2に設定される。
次いで、CPU33は、遊技機に設けられているクリアスイッチがオン状態であるか否かを確認する(ステップS7)。その確認においてオンを検出した場合には、CPU33は、通常の初期化処理を実行する(ステップS10〜ステップS12)。クリアスイッチがオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えば、パリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。そのような保護処理が行われていないことを確認したら、CPU33は初期化処理を実行する。バックアップRAM領域にバックアップデータがあるか否かは、例えば、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。
バックアップありを確認したら、CPU33は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS9)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
初期化処理では、CPU33は、まず、RAMクリア処理を行う(ステップS10)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグ等制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う。さらに、サブ基板(演出制御基板100、払出制御基板40)を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS11)。初期化コマンドとして、変動表示装置6に表示される初期図柄を示すコマンドや、払出可能状態であることを示す払出可能状態指定コマンド等がある。
そして、2ms毎に定期的にタイマ割込みがかかるようにCPU33に設けられているCTCのレジスタの設定が行われる(ステップS12)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
初期化処理の実行(ステップS10〜S12)が完了すると、メイン処理で、表示用乱数更新処理(ステップS14)及び初期値用乱数更新処理(ステップS15)が繰り返し実行される。表示用乱数更新処理及び初期値用乱数更新処理が実行されるときには割込み禁止状態とされ(ステップS13)、表示用乱数更新処理及び初期値用乱数更新処理の実行が終了すると割込み許可状態とされる(ステップS16)。表示用乱数とは、変動表示装置6に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
なお、表示用乱数更新処理が実行されるときには割込み禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込み処理でも実行されることから、タイマ割込み処理における処理と競合してしまうのを避けるためである。すなわち、ステップS14の処理中にタイマ割込みが発生してタイマ割込み処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS14の処理中では割込み禁止状態にしておけば、そのような不都合が生ずることはない。
タイマ割込みが発生すると、CPU33は、レジスタの退避処理(ステップS20)を行った後、図6に示すステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU33は、まず、スイッチ回路58を介して、ゲートスイッチ12a、始動口スイッチ7a、カウントスイッチ23及び入賞口スイッチ16a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU33は、さらに、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24)。
この例では、大当りを発生させるか否かの決定に用いられる大当り判定用乱数、特別図柄の左中右のはずれ図柄の決定に用いられるはずれ図柄決定用乱数、大当りを発生させる際の特別図柄の組合せを決定する際に用いられる大当り図柄決定用乱数、特別図柄の変動パターンの決定に用いられる変動パターン決定用乱数、普通図柄に基づく当りを発生させるか否かの決定に用いられる普通図柄当り判定用乱数、各乱数の初期値の決定に用いられる初期値決定用乱数等の各種の乱数が用意されている。
ステップS23では、CPU33は、大当り判定用乱数、大当り図柄決定用乱数、及び普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数又は初期値用乱数である。
さらに、CPU33は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、普通図柄表示装置14の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU33は、特別図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する演出制御コマンドをRAM32の所定の領域に設定して演出制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
さらに、CPU33は、例えば、ホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報等のデータを出力する情報出力処理を行う(ステップS29)。
また、CPU33は、所定の条件が成立したときにソレノイド回路に駆動指令を行う(ステップS30)。可変入賞球装置9又は開閉板11を開状態又は閉状態としたり、大入賞口10内の遊技球通路を切り替えたりするために、主基板30が備えるソレノイド回路は、駆動指令に応じてソレノイド9a,11a,12aを駆動する。
そして、CPU33は、入賞口スイッチ16a,17a,18a,19aの検出信号に基づく賞球個数の設定等を行う賞球処理を実行する(ステップS31)。具体的には、入賞口スイッチ16a,17a,18a,19aのいずれかがオンしたことに基づく入賞検出に応じて、払出制御基板40に賞球個数を示す払出制御コマンドを出力する。払出制御基板40に搭載されている払出制御用CPUは、賞球個数を示す払出制御コマンドに応じて球払出装置を駆動する。その後、レジスタの内容を復帰させ(ステップS32)、割込み許可状態に設定する(ステップS33)。
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込み処理で遊技制御処理が実行されているが、タイマ割込み処理では例えば、割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
この実施の形態では、左図柄、中図柄及び右図柄として、それぞれ「1」〜「12」の図柄が、変動表示装置6において変動表示(変動)される。「1」〜「12」の図柄には、図柄番号0〜11の図柄番号が付されている。また、変動表示装置6における最終停止図柄(確定図柄)がそろった場合に大当りが発生する。そして、奇数の図柄でそろった場合に、大当りが発生する確率が向上した状態である高確率状態(確変状態)に変化する。
図7は、CPU33が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図7に示す特別図柄プロセス処理は、図6のフローチャートにおけるステップS25の具体的な処理である。CPU33は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)及び入賞確認処理(ステップS311)を行った後に、内部状態に応じて、ステップS301〜S309のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
入賞確認処理(ステップS311):始動入賞口7に打球入賞して始動口スイッチ7aがオンするのを待つ。始動口スイッチ7aがオンすると、始動入賞記憶数が満タン(この実施の形態での最大値である4に達している状態)でなければ、始動入賞記憶数を1加算するとともに、大当り決定用乱数等の各乱数を抽出する。そして、それらを始動入賞記憶数の値に対応した乱数値格納エリアに格納する。また、加算した後の始動入賞記憶数を指定する始動入賞記憶指定のコマンドを送信するための処理を行う。
特別図柄通常処理(ステップS301):特別図柄の変動表示を開始できる状態(特別図柄プロセスフラグの値がステップS301を示す値となっている場合)になるのを待つ。なお、特別図柄プロセスフラグの値がステップS301を示す値となっている場合とは、変動表示装置6において図柄の変動がなされておらず、かつ、大当り遊技中でもない場合である。特別図柄の変動表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、内部状態(特別図柄プロセスフラグ)をステップS302に移行するように更新する。
停止図柄設定処理(ステップS302):始動入賞記憶数=1に対応する乱数値格納エリアに格納されている値を読み出すとともに、始動入賞記憶数の値を1減らし、かつ、各乱数値格納エリアの値をシフトする。すなわち、始動入賞記憶数=n(n=2,3,4)に対応する乱数値格納エリアに格納されている各値を、始動入賞記憶数=n−1に対応する乱数値格納エリアに格納する。次いで、始動入賞記憶数=1に対応する乱数値格納エリアに格納されている値(大当り判定用乱数の値等)に基づいて、大当り、ハズレ、リーチとするか等を判定し、その判定結果や変動表示開始時の制御状態等に基づいて、左中右図柄の停止図柄を決定する。処理を終えると、内部状態(特別図柄プロセスフラグ)をステップS303に移行するように更新する。
変動パターン設定処理(ステップS303):停止図柄設定処理にて決定された停止図柄や変動パターン決定用乱数の値に基づいて、図柄の変動パターンを決定する。処理を終えると、内部状態(特別図柄プロセスフラグ)をステップS304に移行するように更新する。
全図柄変動処理(ステップS304):変動表示装置6において全図柄が変動開始されるように制御する。このとき、演出制御基板100に対して、左中右最終停止図柄と変動態様(変動パターン)を指令する情報(演出制御コマンド)とが送信される。具体的には、遊技制御手段は、変動表示を開始させるときに、変動パターン指定の演出制御コマンドを送信し、続いて、左図柄指定、中図柄指定、右図柄指定の演出制御コマンドを送信する。処理を終えると、内部状態(特別図柄プロセスフラグ)をステップS305に移行するように更新する。
全図柄停止処理(ステップS305):所定時間(ステップS304でタイマにセットされる値に応じた時間)が経過すると、左右中図柄を最終停止(確定)させるために全図柄の停止を指示する演出制御コマンドを送信する。この演出制御コマンドの受信に基づいて、変動表示装置6において表示される全図柄が停止される。そして、遊技制御手段は、停止図柄が大当り図柄の組合せである場合には、内部状態(特別図柄プロセスフラグ)をステップS306に移行するように更新する。そうでない場合には、内部状態をステップS301に移行するように更新する。
大入賞口開放前処理(ステップS306):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、大入賞口扉ソレノイド11aを駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当りフラグ(大当り中であることを示すフラグ)のセットを行う。処理を終えると、内部状態(特別図柄プロセスフラグ)をステップS307に移行するように更新する。
大入賞口開放中処理(ステップS307):大入賞口ラウンド表示の演出制御コマンドデータを演出制御基板100に送出する制御や大入賞口の閉成条件の成立を確認する処理等を行う。最終的な大入賞口の閉成条件が成立したら、内部状態をステップS308に移行するように更新する。
特定領域有効時間処理(ステップS308):特定領域スイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS306に移行するように更新する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、又は、全てのラウンドを終えた場合には、内部状態をステップS309に移行するように更新する。
大当り終了処理(ステップS309):大当り遊技状態が終了したことを遊技者に報知するための表示を指示する演出制御コマンドの送信を行う。その表示期間が終了したら、内部状態をステップS301に移行するように更新する。
本例では、遊技制御手段から各電気部品制御手段に対する指示等の情報伝達は、制御コマンドによって行われる。制御コマンドは、例えば、2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。演出制御基板100に搭載されている演出制御手段は、INT信号(取込信号)が立ち上がったことを検知して、割込み処理によって1バイトのデータ(MODEデータ)の取り込み処理を開始し、その後の割込み処理によって1バイトのデータ(EXTデータ)の取り込み処理を開始する。
次に、演出制御手段の動作を説明する。図8は、演出制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるための2msタイマの初期設定等を行うための初期化処理が行われる(ステップS701)。その後、演出制御用CPU101は、タイマ割込みフラグの監視(ステップS702)の確認を行うループ処理に移行する。タイマ割込みが発生すると、演出制御用CPU101は、割込み処理処理内でタイマ割込みフラグをセットする。メイン処理において、タイマ割込みフラグがセットされていたら、演出制御用CPU101は、そのフラグをクリアし(ステップS703)、以下の演出制御処理を実行する。
この実施の形態では、タイマ割込みは2ms毎にかかる。すなわち、演出制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込み処理ではフラグセットのみがなされ、具体的な演出制御処理はメイン処理において実行されるが、タイマ割込み処理で演出制御処理を実行してもよい。
演出制御処理において、演出制御用CPU101は、まず、受信した演出制御コマンドを解析する(コマンド解析実行処理:ステップS704)。次いで演出制御用CPU101は、演出制御プロセス処理を行う(ステップS705)。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。そして、演出制御基板100で用いられる各種の乱数カウンタを更新する処理を実行する(ステップS706)。次いで、演出制御用CPU101は、図示しない遊技演出装置による演出を行う場合に、図示しない可動役物制御部が備えるソレノイド回路に駆動指令を行う(ソレノイド出力処理:ステップS707)。遊技演出装置を動作させるために、ソレノイド回路は、駆動指令に応じてソレノイドを駆動する。
そして、演出制御用CPU101は、ステップS702のタイマ割込みフラグの確認を行う処理に戻る。
次に、主基板31からの演出制御コマンド受信処理について説明する。図9は、主基板31から受信した演出制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。音声制御手段や、ランプ制御手段においても同様に、リングバッファ形式でないバッファ形式としてもよい。
主基板31からの演出制御用のINT信号は演出制御用CPU101の割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、演出制御用CPU101において割込がかかる。そして、演出制御用CPU101は、割込処理において演出制御コマンドの受信処理を実行する。演出制御コマンドの受信処理において、演出制御用CPU101は、受信した演出制御コマンドデータを、コマンド受信個数カウンタが示す受信コマンドバッファに格納する。
図10は、コマンド解析処理(ステップS704)の具体例を示すフローチャートである。主基板31から受信された演出制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、演出制御用CPU101は、コマンド受信バッファに格納されているコマンドの内容を確認する。
コマンド解析処理において、演出制御用CPU101は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS611)。格納されているか否かは、コマンド受信個数カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、演出制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS612)。なお、読み出したら読出ポインタの値を+1しておく。
受信した演出制御コマンドが特別図柄左指定の演出制御コマンド(91XX(H))であれば(ステップS613)、演出制御用CPU101は、「XX」で示される左図柄を示すデータを、RAMにおける左図柄格納領域に格納する(ステップS614)。また、特別図柄中指定の演出制御コマンド(92XX(H))であれば(ステップS616)、演出制御用CPU101は、「XX」で示される中図柄を示すデータを、RAMにおける中図柄格納領域に格納する(ステップS617)。そして、特別図柄右指定の演出制御コマンド(93XX(H))であれば(ステップS618)、演出制御用CPU101は、「XX」で示される右図柄を示すデータを、RAMにおける右図柄格納領域に格納する(ステップS619)。
また、受信した演出制御コマンドが変動パターン指定の演出制御コマンドであれば(ステップS621)、演出制御用CPU101は、そのコマンドのEXTデータを変動パターンデータ格納領域に格納し(ステップS622)、変動パターン受信フラグをセットする(ステップS623)。
受信した演出制御コマンドが始動入賞記憶数指定の演出制御コマンドであれば(ステップS631)、演出制御用CPU101は、RAMにおける始動入賞数記憶領域の始動入賞記憶数を演出制御コマンドで指定された数に更新する(ステップS632)。また、変動表示装置6において表示色が変化する始動記憶表示エリア18の数を更新する(ステップS633)。さらに、予告乱数カウンタの値を+1する(ステップS634)。なお、予告乱数カウンタのカウント値が最大値を越えたら、その値を0に戻す。また、予告乱数カウンタが複数設けられている場合には、各予告乱数カウンタの歩進がなるべく同期しないように、例えば、予告乱数カウンタn(予告乱数カウンタが4つ設けられている場合であればn=1〜3)のカウント値が0に戻されるときに、予告乱数カウンタn+1のカウント値を+1するようにしてもよい。
そして、ステップS612で読み出した受信コマンドがその他の演出制御コマンドである場合には、受信コマンドに対応するフラグをセットする(ステップS635)。
図11は、図8に示されたメイン処理における演出制御プロセス処理(ステップS705)を示すフローチャートである。演出制御プロセス処理では、演出制御プロセスフラグの値に応じてステップS801〜S806のうちのいずれかの処理が行われる。各処理において、以下のような処理が実行される。
変動パターンコマンド受信待ち処理(ステップS801):コマンド受信割込処理によって、変動時間を特定可能な演出制御コマンド(変動パターンコマンド)を受信したか否か確認する。具体的には、変動パターンコマンドが受信されたことを示すフラグ(変動パターン受信フラグ)がセットされたか否か確認する。変動パターン受信フラグは、コマンド解析処理によって、変動パターン指定の演出制御コマンドが受信されたことが確認された場合にセットされる(ステップS623)。
全図柄変動開始処理(ステップS802):左中右図柄の変動が開始されるように制御する。
図柄変動中処理(ステップS803):変動パターンを構成する各変動状態(変動速度)の切替タイミングを制御するとともに、変動時間の終了を監視する。また、左右図柄の停止制御を行う。
全図柄停止待ち設定処理(ステップS804):変動時間の終了時に、全図柄停止を指示する演出制御コマンド(特別図柄停止の演出制御コマンド)を受信していたら、図柄の変動を停止し停止図柄(確定図柄)を表示する制御を行う。
大当り表示処理(ステップS805):変動時間の終了後、確変大当り表示または通常大当り表示の制御を行う。
大当たり遊技中処理(ステップS806):大当たり遊技中の制御を行う。例えば、大入賞口開放前表示や大入賞口開放時表示の演出制御コマンドを受信したら、ラウンド数の表示制御等を行う。
図12は、変動パターンテーブル毎に設定されているプロセスデータの一構成例を示す説明図である。プロセスデータは、プロセスタイマ設定値と演出制御実行データの組合せが複数集まったデータで構成されている。各演出制御実行データには、変動表示装置6等の表示制御の変動パターンを構成する各変動態様が記載されている表示制御実行データと、ランプ・LED等の表示制御の変動パターンを構成する各変動態様が記載されているランプ制御実行データとが含まれている。具体的には、表示制御実行データは、各変動態様の変動表示装置6の表示状態を示すデータが設定されている。より詳しくは、表示状態を示すデータには、変動表示装置6に変動表示される各フレーム(動画像を構成する単位となる1枚の画像)を構成する背景、図柄、キャラクタ等の画像の種類(静止画像、スプライト画像、ムービー画像)、位置、サイズを示すデータが含まれている。また、所定の画像を変形表示させる場合はその変形態様(例えば縮小、拡大または回転)を示すデータ(縮小/拡大率、回転率)が含まれている。さらに、複数の画像を重畳して(幾重にも重ねて)表示させる場合は、いずれの画像を前面側に表示させるかを示す優先度に関するデータも含まれている。なお、フレームにムービー画像が含まれている場合は、画像の位置、サイズおよび変形態様を示すデータは、ムービー画像を動画表示するムービー画像表示領域の位置、サイズおよび変形態様を示すデータとなる。ランプ制御実行データは、各変動態様のランプ・LEDの表示状態を示すデータが設定されている。
また、プロセスタイマ設定値には、演出制御実行データの各変動態様での変動時間(変動態様の切替のタイミングに応じた時間)が設定されている。演出制御用CPU101は、プロセスデータを参照し、プロセスタイマ設定値に設定されている時間だけ演出制御実行データに設定されている変動態様で画像を変動表示させたり、発光体を点灯/消灯させたりする制御を行う。
図12に示すプロセスデータは、演出制御基板100におけるROMに格納されており、全図柄変動開始処理(ステップS802)にて、使用テーブルとして選択された変動パターンテーブルに設定されているプロセスデータに基づく変動表示装置6およびランプ・LED24の制御が開始され、図柄変動中処理(ステップS803)にて、演出制御実行データに応じた制御が順次実行される。なお、プロセスデータは、各変動パターンのそれぞれに応じて用意されている。
このように、演出制御手段が、ROMに記憶されているプログラムおよびプロセスデータにもとづいて演出手段を制御し、複数の演出手段(この実施の形態では変動表示装置6およびランプ・LED)の制御に関わるプログラムが、演出制御基板80に搭載されているROMに格納されている。そして、それらのプログラムを格納するROMを1つのROMとして構成することができる。従って、部品点数を減らすことができる。また、ROMに記憶されているプロセスデータのうち、プロセスタイマ設定値が共通化されている。従って、演出制御手段のROM容量を節減することができる。なお、演出制御実行データについても、表示制御実行データとランプ制御実行データとを共通化できるのであれば、1つの演出制御実行データとしてもよい。このように、この実施の形態では、複数の演出手段の制御に関わるデータのうち少なくとも一部のデータを同一ROMに格納することができる。
図13は、図11に示された演出制御プロセス処理における変動パターンコマンド受信待ち処理(ステップS801)を示すフローチャートである。変動パターンコマンド受信待ち処理において、演出制御用CPU101は、変動パターン受信フラグがセットされたか否か確認する(ステップS871)。セットされていたら、そのフラグをリセットする(ステップS872)。そして、演出制御プロセスフラグの値を全図柄変動開始処理(ステップS802)に対応した値に変更する(ステップS873)。
図14は、演出制御プロセス処理における全図柄変動開始処理(ステップS802)を示すフローチャートである。全図柄変動開始処理において、演出制御用CPU101は、まず、特別図柄の変動表示の変動パターンに応じたプロセスデータを選択する(ステップS881)。そして、選択したプロセスデータにおける演出実行データ1に対応したプロセスタイマをスタートさせる(ステップS882)。次いで、演出制御用CPU101は、プロセスデータ中の表示制御実行データ1にもとづいてLCD制御を行う(ステップS884)。具体的には、演出制御用CPU101は、表示制御実行データ1に画像をVRAM84に展開すべきことを示すデータが設定されていれば、そのデータの内容に従って、変動表示装置6に表示されるフレームに配置される各部品画像(例えば、背景画像、識別情報画像、キャラクタ画像などの表示画像の合成元となる画像)のVRAM84への展開を指示する信号をGCL81に出力する。
画像の展開指示の信号には、各部品画像の展開位置やサイズを示すデータが含まれている。また、所定の部品画像を変形(縮小、拡大または回転)させて表示させる場合には、その所定の部品画像の変形態様を示すデータ(縮小/拡大率、回転率)も含まれる。また、複数の部品画像を重畳して表示させる場合には、いずれの部品画像を前面側に表示するかを示す優先度に関するデータも含まれる。演出制御用CPU101からの画像の展開指示の信号にもとづくGCL81による画像の展開処理については後述する。なお、表示制御実行データにはROMのアドレスが設定され、そのアドレスから始まる領域に、より詳細な制御データを格納しておき、それらの制御データに従ってLCD制御を行うように構成してもよい。
また、演出制御用CPU101は、プロセスデータ中のランプ制御実行データ1にもとづいてランプ・LED制御を行う(ステップS885)。例えば、ランプ制御実行データ1の内容に応じた信号をランプ制御部60に与える。ランプ制御部60は、演出制御用CPU101からの信号にもとづいて、各ランプ・LED24の点灯/消灯を制御する。なお、ランプ制御実行データにはROMのアドレスが設定され、そのアドレスから始まる領域に、より詳細な制御データを格納しておき、それらの制御データに従ってランプ・LED制御を行うように構成してもよい。
また、演出制御用CPU101は、変動パターンに応じた音番号データを音声制御部70に出力する(ステップS886)。音声制御部70において、音声IC71は、音番号データに応じたデータを音声ROM72から読み出し、読み出したデータに応じた音声や効果音を発生し低周波増幅回路73に出力する。低周波増幅回路73は、デジタルボリューム74で設定されている音量に応じた出力レベルに増幅した音声信号をスピーカ20L,20Rに出力する。
その後、変動時間タイマ(特別図柄の変動時間に応じたタイマ)をスタートし(ステップS887)、演出制御プロセスフラグの値を図柄変動中処理に対応した値にする(ステップS888)。
図15は、演出制御プロセス処理における図柄変動中処理(ステップS803)を示すフローチャートである。図柄変動中処理において、演出制御用CPU101は、プロセスタイマがタイムアウトしたら(ステップS861)、プロセスデータにおける演出制御実行データの切り替えを行う(ステップS862)。すなわち、プロセスデータにおいて、次に設定されているプロセスタイマをスタートさせるとともに(ステップS863)、次に設定されている表示制御実行データにもとづいてLCD制御を行う(ステップS865)。また、プロセスデータ中の次に設定されているランプ制御実行データにもとづいてランプ・LED制御を行う(ステップS866)。なお、表示制御実行データにもとづくLCD制御(ステップS865)の処理は、上述した図14のステップS884と同様である。
そして、変動時間タイマがタイムアウトしていたら(ステップS867)、特別図柄停止の表示制御コマンドの受信を監視するための監視タイマをスタートさせ(ステップS868)、演出制御プロセスフラグの値を全図柄停止待ち処理に対応した値にする(ステップS869)。
図16は、演出制御プロセス処理における全図柄停止待ち処理(ステップS804)を示すフローチャートである。全図柄停止待ち処理において、演出制御用CPU101は、全図柄停止を指示する演出制御コマンド(特別図柄停止の演出制御コマンド)を受信しているか否か確認する(ステップS841)。全図柄停止を指示する演出制御コマンドを受信していれば、記憶されている停止図柄で図柄を停止させる制御を行う(ステップS842)。
そして、ステップS842で大当り図柄を表示した場合には、演出制御用CPU101は、演出制御プロセスフラグの値を大当り表示処理(ステップS805)に対応した値に設定する(ステップS844)。
ステップS842で大当り図柄を表示しない場合(はずれ図柄を表示した場合)には、演出制御用CPU101は、演出制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS801)に対応した値に設定する(ステップS844)。
全図柄停止を指定する演出制御コマンドを受信していない場合には、監視タイマがタイムアウトしているかどうか確認する(ステップS848)。タイムアウトした場合には、何らかの異常が発生したと判断して、変動表示装置6にエラー画面を表示する制御を行う(ステップS849)。そして、ステップS843に移行する。
図17は、演出制御手段が実行する指標データ判定処理の例を示すフローチャートである。指標データ判定処理は、変動表示装置6への画像表示処理を実行する際にステップS884やステップS865にて実行される画像データの展開開始タイミングを設定する処理である。指標データ判定処理において、演出制御用CPU101は、プロセスデータ中の表示制御実行データにもとづいて、変動表示装置6への所定フレーム期間後(例えば2フレーム期間後)の表示画像として用いられる画像の画像データに対応付けされている展開期間指標データ(以下、単に「指標データ」という)を読み出す(ステップS901)。具体的には、1秒間に30枚の画像を表示する場合には、2フレーム期間後の画像とは2/30秒後に表示される画像をいう。この場合、対応付けされている画像データの画像が表示される2/30秒前に指標データが読み出されることになる。
次いで、演出制御用CPU101は、読み出した指標データが示す展開期間が、あらかじめ定められている通常展開期間よりも長期間であるか否かを判定する(ステップS902)。通常展開期間は、画像処理が円滑に実行され得る画像データの展開期間としてあらかじめ設定されている期間をいう。通常展開期間は、少なくともフレーム更新期間(例えば、1秒間に30枚の画像を表示する場合には、1/30秒)以下の期間に設定される。
通常展開期間よりも長期間であれば、演出制御用CPU101は、指標データに対応付けされている画像データの展開処理の開始タイミングとして、展開開始タイミングBを設定する(ステップS903)。具体的には、例えば、該当する画像データの展開処理の開始時期を特定するためのタイマであって、展開開始タイミングBになるとタイムアウトする展開開始時監視タイマの計測をスタートさせる。「展開開始タイミングB」は、通常の展開開始タイミングよりも早いタイミングとされる。具体的には、「展開開始タイミングB」は、例えば画像の表示開始タイミングよりも2フレーム半期間前のタイミングとすればよい。
通常展開期間以下の期間であれば、演出制御用CPU101は、指標データに対応付けされている画像データの展開処理の開始タイミングとして、展開開始タイミングAを設定する(ステップS904)。具体的には、例えば、該当する画像データの展開処理の開始時期を特定するためのタイマであって、展開開始タイミングAになるとタイムアウトする展開開始時監視タイマの計測をスタートさせる。「展開開始タイミングA」は、通常の展開開始タイミングとされる。具体的には、「展開開始タイミングA」は、例えば画像の表示開始タイミングよりも2フレーム期間前のタイミングとすればよい。
上記のようにして、各画像データの展開処理が実行される前に、あらかじめ当該各画像データの展開開始タイミングが設定される。
図18は、演出制御手段が実行する画像制御処理の例を示すフローチャートである。画像制御処理は、ステップS884やステップS865にて実行される変動表示装置6への画像表示に関する処理をまとめて示す処理である。画像制御処理において、演出制御用CPU101は、展開開始タイミングとなった画像データがあるか否か確認する(ステップS911)。具体的には、各画像データに対応する展開開始時監視タイマのうち、タイムアウトしている展開開始時監視タイマがあるか否か確認する。そして、タイムアウトしている展開開始時監視タイマに対応する画像データが、展開開始タイミングとなっている画像データであると判定される。
展開開始タイミングとなった画像データがあれば、演出制御用CPU101は、その画像データをCGROM83から読み出す(ステップS912)。
展開開始タイミングとなった画像データに特別図柄画像データが含まれていれば(ステップS913のY)、演出制御CPU101は、前面バッファ指定フラグが0であれば、読み出した特別図柄画像データを前面フレームバッファAに展開する(ステップS914,S915)。一方、前面バッファ指定フラグが0でなければ、読み出した特別図柄画像データを前面フレームバッファBに展開する(ステップS914,S916)。前面画像(ここでは特別図柄画像)を展開すると、演出制御用CPU101は、前面バッファ指定フラグの状態を切り替える(ステップS917)。
前面バッファ指定フラグは、複数用意されている前面フレームバッファのうち、いずれの前面フレームバッファに前面画像データを展開するかを特定するためのフラグである。この例では、前面バッファ指定フラグが0のときは、展開されるフレームバッファとして前面フレームバッファAが選択され、前面バッファ指定フラグが1のときは、展開されるフレームバッファとして前面フレームバッファBが選択される。
また、演出制御用CPU101は、展開開始タイミングとなった画像データに背景画像が含まれているか確認する(ステップS918)。背景画像が含まれていれば、演出制御用CPU101は、背景画像の画像データを背面フレームバッファに展開する(ステップS919)。
次いで、演出制御用CPU101は、変動表示装置6への表示タイミング(例えば33ms毎に到来するタイミング)となっている場合には(ステップS920)、前面フレームバッファの一方に展開されている特別図柄画像データと、背面フレームバッファに展開されている背景画像の画像データとを合成した合成画像を生成する処理を実行する(ステップS921)。
なお、前面フレームバッファA,Bのいずれの展開データを合成画像の生成に用いるかの判定については、本例では、前面バッファ指定フラグを利用する。例えば、前面バッファ指定フラグが0のときは、合成画像の生成に用いる画像が展開されているフレームバッファとして前面フレームバッファBを選択し、前面バッファ指定フラグが0でないときは、合成画像の生成に用いる画像が展開されているフレームバッファとして前面フレームバッファAが選択される。なお、前面バッファ指定フラグとは別個に、合成元のフレームバッファを特定するためのフラグを設ける構成としてもよい。
そして、演出制御用CPU101は、生成した合成画像を画像表示させるために画像信号を出力する(ステップS922)。
図19は、本例で使用されるキャラクタ画像、特別図柄画像、および背景画像の例を示す説明図である。キャラクタ画像は、例えば人物、動物、想像上の動物、乗り物その他のキャラクタ、あるいはこれらを模したキャラクタを示す画像が用いられる。この例では、図19(a−1)〜図19(a−4)に示すような人物のキャラクタを示す画像が用いられる。なお、図19(a−1)〜図19(a−4)の順番で順次キャラクタ画像が表示されることで、変動表示装置6の表示画面内をキャラクタが移動していく動画表示がなされる。
特別図柄画像は、本例では、左中右の3図柄の特別図柄を示す画像が用いられる。特別図柄画像は、この例では、図19(b−1)〜図19(b−4)に示すような特別図柄の変動表示を示す画像が用いられる。なお、図19(b−1)〜図19(b−4)の順番で順次識別情報画像が表示されることで、前回の変動表示における停止図柄が表示されたあと、高速回転を開始し、左図柄、中図柄の順番に停止していくような動画表示がなされる。
背景画像は、例えば風景を示す画像などが用いられる。本例では、背景画像は、図19(c−1)〜図19(c−4)に示すような風景画像が用いられる。なお、図19(c−1)〜図19(c−4)の順番で順次背景画像が表示されることで、時間の経過とともに風景が変化していくような動画表示がなされる。
図20は、本例における背景画像とキャラクタ画像と特別図柄との画像合成の状態の例を示す説明図である。本例では、例えば図20(A)に示すように、背景画像の前面側にキャラクタ画像を、キャラクタ画像の前面側に特別図柄画像を合成した前面画像を合成することで画像合成を行う。あるいは、例えば図20(B)に示すように、背景画像の前面側に特別図柄画像を、特別図柄画像の前面側にキャラクタ画像を合成した前面画像を合成することで画像合成を行う。すなわち、背景画像の前面側に合成される前面画像には、キャラクタ画像の前面側に特別図柄画像を合成した画像と、特別図柄画像の前面側にキャラクタ画像を合成した画像とがある。
図21は、キャラクタ画像の前面側に特別図柄画像を合成した前面画像を用いた背景画像との合成画像の表示状態の例を示す説明図である。図21は、図19に示されたキャラクタ画像、特別図柄画像、および背景画像を、図20(A)に示されたような配置で合成した合成画像の表示状態の例を示す説明図である。
図21(A−1)には、図19(a−1)のキャラクタ画像、図19(b−1)の特別図柄画像、および図19(c−1)の背景画像を、図20(A)に示されたような配置で合成した合成画像の表示状態が示されている。
図21(A−2)には、図19(a−2)のキャラクタ画像、図19(b−2)の特別図柄画像、および図19(c−2)の背景画像を、図20(A)に示されたような配置で合成した合成画像の表示状態が示されている。
図21(A−3)には、図19(a−3)のキャラクタ画像、図19(b−3)の特別図柄画像、および図19(c−3)の背景画像を、図20(A)に示されたような配置で合成した合成画像の表示状態が示されている。
図21(A−4)には、図19(a−4)のキャラクタ画像、図19(b−4)の特別図柄画像、および図19(c−4)の背景画像を、図20(A)に示されたような配置で合成した合成画像の表示状態が示されている。
よって、図21(A−1)〜図21(A−4)では、特別図柄画像の背面側にキャラクタ画像が合成されており、特別図柄画像とキャラクタ画像とが重なった場合には、特別図柄画像の背面にキャラクタ画像が隠れるように表示される。
なお、図21(A−1)〜図21(A−4)の順番で合成画像が順次表示されることで、変動表示されている特別図柄の背面側であって、かつ背景画像の前面側で、キャラクタが動作しているような動画表示がなされることになる。
図22は、キャラクタ画像の背面側に特別図柄画像を合成した前面画像を用いた背景画像との合成画像の表示状態の例を示す説明図である。図22は、図19に示されたキャラクタ画像、特別図柄画像、および背景画像を、図20(B)に示されたような配置で合成した合成画像の表示状態の例を示す説明図である。
図22(B−1)には、図19(a−1)のキャラクタ画像、図19(b−1)の特別図柄画像、および図19(c−1)の背景画像を、図20(B)に示されたような配置で合成した合成画像の表示状態が示されている。
図22(B−2)には、図19(a−2)のキャラクタ画像、図19(b−2)の特別図柄画像、および図19(c−2)の背景画像を、図20(B)に示されたような配置で合成した合成画像の表示状態が示されている。
図22(B−3)には、図19(a−3)のキャラクタ画像、図19(b−3)の特別図柄画像、および図19(c−3)の背景画像を、図20(B)に示されたような配置で合成した合成画像の表示状態が示されている。
図22(B−4)には、図19(a−4)のキャラクタ画像、図19(b−4)の特別図柄画像、および図19(c−4)の背景画像を、図20(B)に示されたような配置で合成した合成画像の表示状態が示されている。
よって、図22(B−1)〜図22(B−4)では、特別図柄画像の前面側にキャラクタ画像が合成されており、特別図柄画像とキャラクタ画像とが重なった場合には、キャラクタ画像の背面に特別図柄画像が隠れるように表示される。
なお、図22(B−1)〜図22(B−4)の順番で合成画像が順次表示されることで、変動表示されている特別図柄の前面側で、キャラクタが動作しているような動画表示がなされることになる。
図23は、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の例を示す説明図である。なお、前面画像は、背景画像の前面側に合成される画像であって、本例では特別図柄画像とキャラクタ画像とが合成された生成された画像をいう。
VRAM(SDRAM84)に設定された2つのフレームバッファを用いて、転送されてくる画像データを保持することをダブルバッファリングという。本例では、前面画像用のフレームバッファである2つの前面フレームバッファA,Bによってダブルバッファリングが実行される。GCL81は、一方の前面フレームバッファ(例えば前面フレームバッファA)に展開された前面画像が背景画像と合成されて変動表示装置6に表示されている間に、他方の前面フレームバッファ(例えば前面フレームバッファB)に前面画像データを展開する処理を実行する。
また、GCL81は、各画像データの展開タイミングから2フレーム期間前に、各画像データに対応付けされている指標データを読み出し、各画像データについて、CGROM83からの読み出し処理を開始してからフレームバッファへの展開処理が終了するまでの期間(以下、「展開期間」という)を特定する処理を実行する。
具体的には、図23に示すように、GCL81は、展開期間判定タイミングとなった前面画像A1と背景画像B1の指標データにもとづいてそれぞれの画像の展開期間を特定する。その後、GCL81は、展開処理の開始タイミングとなったら、前面フレームバッファAに前面画像A1を展開するとともに、背景画像用の背景フレームバッファに背景画像B1を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A1と背景画像B1とを合成した合成画像G1を生成し、変動表示装置6に表示させる。
また、GCL81は、展開期間判定タイミングとなった前面画像A2と背景画像B2の指標データにもとづいてそれぞれの展開期間を特定する。その後、GCL81は、展開処理の開始タイミングとなったら、前面フレームバッファBに前面画像A2を展開するとともに、背景フレームバッファに背景画像B2を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A2と背景画像B2とを合成した合成画像G2を生成し、変動表示装置6に表示させる。
上記のようにして、展開期間判定タイミングとなった前面画像や背景画像の指標データにもとづいて、それぞれの展開期間を順次特定していき、展開処理の開始タイミングとなった前面画像や背景画像を順次展開していき、合成画像の生成タイミングになった前面画像と背景画像とを順次合成し、生成した合成画像G1,G2,・・・を変動表示装置6に順次表示していく。このとき、前面画像の展開については、前面フレームバッファAと前面フレームバッファBとに交互に展開させる。
図24は、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の他の例を示す説明図である。なお、前面画像は、背景画像の前面側に合成される画像であって、本例では特別図柄画像とキャラクタ画像とが合成された生成された画像をいう。図24には、画像表示に用いられる画像データに対応付けされた指標データの中に、通常展開期間よりも長い期間を示す指標データが存在する場合(ステップS902にてYと判定される指標データが存在する場合)の処理タイミングの例が示されている。
この例においても、前面画像用のフレームバッファである2つの前面フレームバッファA,Bによってダブルバッファリングが実行される。GCL81は、一方の前面フレームバッファ(例えば前面フレームバッファA)に展開された前面画像が背景画像と合成されて変動表示装置6に表示されている間に、他方の前面フレームバッファ(例えば前面フレームバッファB)に前面画像データを展開する処理を実行する。
また、GCL81は、各画像データの展開タイミングから2フレーム期間前に、各画像データに対応付けされている指標データを読み出し、各画像データについて、展開期間を特定する処理を実行する。そして、指標データから特定される展開期間が、あらかじめ定められている通常展開期間(ステップS902参照)よりも長期間であるときは、通常展開期間以内の期間であるときよりも早いタイミングで展開処理を開始する。
具体的には、図24に示すように、GCL81は、展開期間判定タイミングとなった前面画像A5と背景画像B5の指標データにもとづいてそれぞれの画像の展開期間を特定する。その結果、前面画像A5の展開期間が通常展開期間よりも長期間であると判定された場合には、展開処理の開始タイミングを所定期間(例えば1/2フレーム期間)早いタイミングに設定する。その後、GCL81は、所定期間早めて設定された展開処理の開始タイミングとなったら、前面フレームバッファAに前面画像A5を展開し、その後の通常の展開処理の開始タイミングで背景画像用の背景フレームバッファに背景画像B5を展開する。前面画像A5は、展開処理に比較的長時間を要する容量の大きいデータであるが、所定期間早めて展開処理を開始しているため、通常の展開終了タイミング(例えば、通常の展開開始タイミングから1フレーム期間後。すなわち、例えば、早められた展開開始タイミングから1.5フレーム期間経過後。)までに展開処理は終了している。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A5と背景画像B5とを合成した合成画像G5を生成し、変動表示装置6に表示させる。
展開処理の開始タイミングを早める期間は、全ての画像について対応できるように設定しておくことが好ましい。具体的には、例えば遊技機の設計者が、各指標データが示す期間のうち最も長い期間をあらかじめ確認し、その期間から1フレーム期間を引いた期間以上の所定期間だけ展開処理の開始タイミングを早めるようにソフトウェア等の設定を行うようにすればよい。図24に示す例では、指標データが示す期間のうち最も長い期間が1.4フレーム期間で、1.5フレーム期間内には全ての画像が展開処理を完了できるものとし、通常展開期間よりも長期間の展開期間であった場合には、展開処理の開始タイミングを一律に0.5フレーム期間早める構成としている。このように構成すれば、全ての画像データを確実に展開することができるようになり、コマ落ちを確実に防止することができる。
なお、展開処理の開始タイミングを一律の期間に早める構成でなく、指標データが示す期間に応じて必要な期間だけ早める構成としてもよい。例えば、指標データが示す期間が1.2フレーム期間であった場合には、展開処理の開始タイミングを、1フレーム期間引いた0.2フレーム期間早めるようにしてもよい。また、余裕を持って、0.9フレーム期間引いた0.3フレーム期間早めるようにしてもよい。
また、図24に示すように、展開期間が通常展開期間よりも長期間である前面画像A5に続いて展開処理される前面画像A6の展開期間が通常展開期間よりも長期間であった場合であっても、前面画像A6の展開処理が所定期間早めて開始されるとともに、ダブルバッファリングにより展開されるので、コマ落ちが発生することはない。さらに、前面画像A6に続いて展開処理される前面画像A7の展開期間が通常展開期間よりも長期間である画像であったとしても、2フレーム前の前面画像A5については合成処理を完了している(例えば画像A5の展開完了時から0.5フレーム期間経過後の画像A7の展開開始時までに完了させておくようにすればよい)ため、やはりコマ落ちが発生することはない。
すなわち、本例では、前面フレームバッファは2個使用されているため、例えば図24に示すように、表示順番が連続する2つの前面画像の展開期間(フレームバッファに展開されている期間)が重複していてもコマ落ちするようなことはない。また、画像のデータ量に関わらず、展開処理の終了タイミングは規則的であり、展開処理を早める期間も一定期間とされている(あるいは展開処理を早める上限期間を設定しておくようにしてもよい)ため、画像合成に要する期間を確保することができ、表示順番が連続する3つ以上の前面画像の展開期間(フレームバッファに展開されている期間)が重複しないように制御することができ、コマ落ちすることを確実に防止できる。
上記のような構成とすれば、展開処理における画像データの誤り等が少なくなり、間違った画像データによる画像表示を防止することができるようになる。なお、2つの前面フレームバッファA,Bに交互に画像データが展開される必要はなく、必要な場合は、一方の表示領域に続けて画像データを展開するように構成されていてもよい。また、図23,図24に示す例では、VRAMには、2つの前面フレームバッファA,Bが設けられていたが、3つ以上の前面フレームバッファが設けられてもよい。
以上に説明したように、展開期間指標データにもとづいて、展開処理があらかじめ定められた基準期間(例えば通常展開期間)を超える画像データについては、フレームバッファへの展開処理を事前に開始する構成としたので、その後の他の画像データの展開処理に影響を与えてしまうことを防止することができ、コマ落ちすることなく画像表示を行うことができる。
また、上述したように、前面画像データの画像処理をダブルバッファリングにより行うとともに、前面画像データの画像処理と分けて行う構成としたので、コマ落ちすることなく画像表示を行うことができるとともに、ダブルバッファリングによる画像処理の処理効率を向上させることができる。また、ダブルバッファリングによって前面画像の画像処理が実行されるため、前面画像データのデータ容量が大きい場合であっても、前面画像のコマ落ちが発生してしまうことを防止することができる。
また、上述したように、前面画像記憶手段312と背景画像記憶手段310とに、画像データとともに展開期間指標データを格納する構成としたので、画像データを読み出すと同時に展開期間指標データを読み出すことができ(例えばステップS901にて展開期間指標データだけでなく、画像データも読み出しておくようにすることができる)、制御負担を軽減させることができる。また、画像データの読み出すときよりも前のタイミングで、対応する展開期間指標データを事前に読み出すことが容易となり、画像データの展開処理を開始する前にあらかじめ展開期間を判定しておくことが容易となる。
なお、前面画像記憶手段312や背景画像記憶手段310でなく、前面制御データ記憶手段311や背景制御データ記憶手段309に展開期間指標データを格納する構成としてもよい。このように構成した場合であっても、画像データの読み出すときよりも前のタイミングで、対応する展開期間指標データを事前に読み出すことが容易となり、画像データの展開処理を開始する前にあらかじめ展開期間を判定しておくことが容易となる。
また、上述したように、各画像データの展開期間のうちの最大の期間(例えば1.5フレーム期間)を確保して展開期間指標データからの展開期間の特定を行う構成としているので、画像データの展開期間を確実に確保することができ、すべての画像データのコマ落ちを防止することができる。
なお、上述した実施の形態では、前面画像データの画像処理を2つのフレームバッファを用いたダブルバッファリングにより行う構成としていたが、3つのフレームバッファを用いたトリプルバッファリングにより行う構成としてもよい。このように構成する場合について、図25〜図28を参照して詳しく説明する。
図25は、前面画像データの画像処理をトリプルバッファリングにより行う構成としたパチンコ遊技機の特徴部分の構成例を示すブロック図である。なお、上述した図2に示す構成と同様の構成を成す部分については、その詳細な説明は省略する。
前面画像展開手段308は、本例では、前面バッファ切替手段328によって指定されている前面フレームバッファに前面画像データを展開する。前面バッファ切替手段328は、展開期間が通常展開期間以下の画像データを処理しているときは、前面フレームバッファAと前面フレームバッファBとに交互に前面画像データが展開されるように切替処理を実行する。従って、展開期間が通常展開期間以下の画像データを処理しているときは、前面画像展開手段308は、複数の前面画像データを順次展開する場合には、前面フレームバッファAと前面フレームバッファBとに交互に、順番に前面画像データを展開することになる。
前面バッファ切替手段328は、展開期間が通常展開期間を超える画像データの処理を開始するときに、前面フレームバッファAと前面フレームバッファBに加えて、前面フレームバッファCを含む3つの前面フレームバッファに前面画像データが順次展開されるような切替処理を開始する。従って、展開期間が通常展開期間を超える画像データが出現したとき以降は、前面画像展開手段308は、複数の前面画像データを順次展開する場合には、前面フレームバッファA〜前面フレームバッファCに順番に前面画像データを展開することになる。
画像合成手段330(例えばGCL81)は、背景フレームバッファ320に展開された背景画像データと、前面用フレームバッファ325に展開された前面画像データとを合成した合成画像を生成する処理を実行する。本例では、画像合成手段330は、展開期間が通常展開期間を超える画像データが出現したあとは、複数の合成画像を順次生成する場合に、合成元となる前面画像データを、前面フレームバッファAに展開されている背景画像データと、前面フレームバッファBに展開されている背景画像データと、前面フレームバッファCとに順番に切り替える。そして、画像合成手段330は、合成元となる背景画像データの前面側に前面画像データを合成した合成画像を順次生成する。画像合成手段330は、合成画像データを生成すると、生成した合成画像データを画像信号供給手段331に送信する。
図26は、演出制御手段が実行する指標データ判定処理の他の例を示すフローチャートである。指標データ判定処理は、変動表示装置6への画像表示処理を実行する際にステップS884やステップS865にて実行される画像データの展開期間を、展開期間A(上述した通常展開期間内に展開処理を完了できる期間)と展開期間B(上述した通常展開期間内には展開処理を完了できない期間)のいずれかに設定する処理である。指標データ判定処理において、演出制御用CPU101は、プロセスデータ中の表示制御実行データにもとづいて、変動表示装置6への所定フレーム期間後(例えば2フレーム期間後)の表示画像として用いられる画像の画像データに対応付けされている展開期間指標データ(以下、単に「指標データ」という)を読み出す(ステップS901)。
次いで、演出制御用CPU101は、読み出した指標データが示す展開期間が、あらかじめ定められている通常展開期間よりも長期間であるか否かを判定する(ステップS902)。
通常展開期間よりも長期間であれば、演出制御用CPU101は、指標データに対応付けされている画像データの展開期間として、展開期間Bを設定する(ステップS905)。具体的には、例えば、該当する画像データの展開期間の種別(展開期間Aまたは展開期間Bの種別)を特定するためのフラグを、展開期間Bを示す状態にセットする。
通常展開期間以下の期間であれば、演出制御用CPU101は、指標データに対応付けされている画像データの展開期間として、展開期間Aを設定する(ステップS906)。具体的には、例えば、該当する画像データの展開期間の種別を特定するためのフラグを、展開期間Aを示す状態にセットする。
上記のようにして、各画像データの展開処理が実行される前に、あらかじめ当該各画像データの展開期間の種別が設定される。
図27は、演出制御手段が実行する画像制御処理の他の例を示すフローチャートである。画像制御処理は、ステップS884やステップS865にて実行される変動表示装置6への画像表示に関する処理をまとめて示す処理である。画像制御処理において、演出制御用CPU101は、展開開始タイミングとなった画像データがあるか否か確認する(ステップS911)。
展開開始タイミングとなった画像データがあれば、演出制御用CPU101は、その画像データをCGROM83から読み出す(ステップS912)。この例では、所定期間毎(例えば1フレーム期間毎)に展開開始タイミングが到来し、所定期間毎にあらかじめ定められた順番で画像データが順次読み出される。
展開開始タイミングとなった画像データに特別図柄画像データが含まれていた場合には(ステップS913のY)、演出制御CPU101は、その特別図柄画像データの展開期間の種別が展開期間Bであれば(ステップS925)、前面バッファ指定カウンタを変更する(ステップS926)。
前面バッファ指定カウンタ(前面バッファ切替手段328の一例)は、複数の前面フレームバッファのいずれかを指定するためのカウンタであり、この例では、ダブルバッファリングの際に使用される前面バッファ指定カウンタXと、トリプルバッファリングの際に使用される前面バッファ指定カウンタYとが用意されている。前面バッファ指定カウンタXは、0〜1の範囲の値を取り、カウントアップによって0と1の2つの値を交互に示すカウンタであって、0のときは前面フレームバッファAを示し、1のときは前面フレームバッファBを示すものとする。前面バッファ指定カウンタYは、0〜2の範囲の値を取り、カウントアップによって0〜2の3つの値を順次更新していくカウンタであって、0のときは前面フレームバッファAを示し、1のときは前面フレームバッファBを示し、2のときは前面フレームバッファCを示すものとする。
ステップS926では、前面バッファ指定カウンタを、前面バッファ指定カウンタXから前面バッファ指定カウンタYに変更する処理が行われる。具体的には、前面バッファ指定カウンタの取り得る値の範囲を、0〜1の範囲から0〜2の範囲に変更する処理が実行される。すなわち、ステップS926での前面バッファ指定カウンタの変更によって、ダブルバッファリングから、トリプルバッファリングに変更されることになる。
次いで、演出制御CPU101は、前面バッファ指定カウンタのカウント値を1加算し(ステップS927)、前面バッファ指定カウンタが指す前面フレームバッファに読み出した特別図柄画像データを展開する。前面バッファ指定カウンタのカウント値が0であれば読み出した特別図柄画像データを前面フレームバッファAに展開し、前面バッファ指定カウンタのカウント値が1であれば読み出した特別図柄画像データを前面フレームバッファBに展開し、前面バッファ指定カウンタのカウント値が2であれば読み出した特別図柄画像データを前面フレームバッファCに展開する。
また、演出制御用CPU101は、展開開始タイミングとなった画像データに背景画像が含まれているか確認する(ステップS918)。背景画像が含まれていれば、演出制御用CPU101は、背景画像の画像データを背面フレームバッファに展開する(ステップS919)。
次いで、演出制御用CPU101は、変動表示装置6への表示タイミング(例えば33ms毎に到来するタイミング)となっている場合には(ステップS920)、前面フレームバッファのいずれかに展開されている特別図柄画像データと、背面フレームバッファに展開されている背景画像の画像データとを合成した合成画像を生成する処理を実行する(ステップS921)。
なお、前面フレームバッファA,B,Cのいずれの展開データを合成画像の生成に用いるかの判定については、本例では、前面バッファ指定カウンタとは別個に、合成元のフレームバッファを特定するための合成元バッファ特定カウンタを設け、その合成元バッファ特定カウンタが指すフレームバッファの展開データを画像合成に使用する構成とすればよい。合成元バッファ特定カウンタは、前面バッファ指定カウンタと同様に、ダブルバッファリング用とトリプルバッファリング用とが設けられ、画像合成が実行される毎に順次カウントアップされる構成とすればよい。なお、前面フレームバッファA,B,Cのいずれの展開データを合成画像の生成に用いるかの判定についても、前面バッファ指定カウンタを利用する構成としてもよい。
そして、演出制御用CPU101は、生成した合成画像を画像表示させるために画像信号を出力する(ステップS922)。
図28は、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の他の例を示す説明図である。なお、前面画像は、背景画像の前面側に合成される画像であって、本例では特別図柄画像とキャラクタ画像とが合成された生成された画像をいう。
本例では、前面画像用のフレームバッファである2つの前面フレームバッファA,Bによってダブルバッファリングが実行される。また、本例では、所定条件が成立したあとは、前面画像用のフレームバッファである3つの前面フレームバッファA,B,Cによってトリプルバッファリングが実行される。
GCL81は、各画像データの展開タイミングから2フレーム期間前に、各画像データに対応付けされている指標データを読み出し、各画像データについて、CGROM83からの読み出し処理を開始してからフレームバッファへの展開処理が終了するまでの期間(以下、「展開期間」という)を特定するとともに、展開期間の種別を設定する処理を実行する。そして、あらかじめ定められた所定期間毎に画像データの展開処理を開始する。
具体的には、図28に示すように、GCL81は、展開期間判定タイミングとなった前面画像A1と背景画像B1の指標データにもとづいてそれぞれの画像の展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Aであれば、ダブルバッファリングによる処理を実行する。すなわち、その後、GCL81は、展開処理の開始タイミングが到来したら、前面フレームバッファAに前面画像A1を展開するとともに、背景画像用の背景フレームバッファに背景画像B1を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A1と背景画像B1とを合成した合成画像G1を生成し、変動表示装置6に表示させる。
また、GCL81は、展開期間判定タイミングとなった前面画像A2と背景画像B2の指標データにもとづいてそれぞれの展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Aであれば、ダブルバッファリングによる処理を続行する。すなわち、GCL81は、その後、展開処理の開始タイミングが到来したら、前面フレームバッファBに前面画像A2を展開するとともに、背景フレームバッファに背景画像B2を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A2と背景画像B2とを合成した合成画像G2を生成し、変動表示装置6に表示させる。
上記のようにして、展開期間判定タイミングとなった前面画像や背景画像の指標データにもとづいて、それぞれの展開期間を順次特定し、展開期間の種別を順次設定していき、展開期間Bが設定されるまで、ダブルバッファリングによる処理を実行する。すなわち、前面画像の展開については、前面フレームバッファAと前面フレームバッファBとに交互に展開させる。
そして、GCL81は、展開期間判定タイミングとなった前面画像A5と背景画像B5の指標データにもとづいてそれぞれの展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Bであるため、GCL81は、前面バッファ指定カウンタを変更してトリプルバッファリングによる処理に変更する。すなわち、GCL81は、その後、展開処理の開始タイミングが到来したら、前面フレームバッファCに前面画像A5を展開するとともに、背景フレームバッファに背景画像B5を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A5と背景画像B5とを合成した合成画像G5を生成し、変動表示装置6に表示させる。その後は、トリプルバッファリングによる処理が継続して実行される。すなわち、前面画像の展開については、前面フレームバッファA〜前面フレームバッファCに順番に展開させる。
上記のように、展開期間が通常展開期間を超える画像データが出現したときに、ダブルバッファリングからトリプルバッファリングに切り替える構成としたので、画像データを効率良く展開することができるとともに、コマ落ちが発生してしまうことをより確実に防止することができる。
また、図28に示すように、展開期間が通常展開期間よりも長期間である前面画像A5に続いて展開処理される前面画像A6,A7が、通常展開期間よりも長い展開期間であった場合であっても、トリプルバッファリングにより展開されるので、コマ落ちが発生することはない。
なお、上記の例では、通常はダブルバッファリングによる処理を実行し、展開期間が長期間である画像データが出現したときにトリプルバッファリングに完全に変更する構成としていたが、展開期間が長期間である画像データが出現したときに一時的にトリプルバッファリングに変更し、展開期間が長期間である画像データが表れなくなったときにダブルバッファリングによる処理に戻すようにしてもよい。
また、上記のように、指標データにもとづいて、通常展開期間を超える画像データを、通常展開時間を超えない画像データを展開するフレームバッファ(図28では前面フレームバッファA,B)とは別のフレームバッファ(図28では前面フレームバッファC)に展開する構成としたので、コマ落ちすることなく画像表示を行うことができる。
上記の例では、通常展開期間を超える画像データが出現したあとは、3つの前面フレームバッファA,B,Cに順次展開する構成としていたが、例えば図29に示すように、通常展開期間を超える画像データだけを前面フレームバッファCに展開し、通常展開時間を超えない画像データだけを前面フレームバッファA,Bに交互に展開する構成としてもよい。また、例えば図30に示すように、通常展開期間を超える画像データだけを展開する前面フレームバッファを2つ設け、ダブルバッファリングにより通常展開期間を超える画像データを処理するようにしてもよい。さらに、通常展開期間を超えない画像データだけを展開する前面フレームバッファを1つ用いる構成としてもよい。また、例えば図31に示すように、通常展開期間を超える画像データだけを展開する前面フレームバッファを2つ設けるとともに、通常展開期間を超えない画像データだけを展開する前面フレームバッファを1つ用いる構成としてもよい。
図29は、通常展開期間を超える画像データだけを前面フレームバッファCに展開する構成とした場合における、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の他の例を示す説明図である。
図29に示す例では、通常展開期間を超えない前面画像A1〜A4の画像データを前面フレームバッファA,Bに交互に展開し、通常展開期間を超える前面画像A5の画像データが出現したときには、展開期間が長期間である画像データの展開用に設けられている前面フレームバッファC(展開期間大用のフレームバッファ)に展開するようにしている。その後、通常展開期間を超えない前面画像A6〜A7,A9の画像データについては、前面フレームバッファA,Bに交互に展開し、通常展開期間を超える前面画像A8,A10の画像データが出現したときには、前面フレームバッファCに展開する処理を行う。
上記のように、展開指標データにもとづいて、通常展開期間を超える画像データを、通常展開時間を超えない画像データを展開するフレームバッファとは別のフレームバッファに展開する構成とすれば、通常展開期間を超える画像データを通常展開時間を超えない画像データに影響を及ぼすことなく展開することができるので、コマ落ちすることなく画像表示を行うことができる。
図30は、通常展開期間を超える画像データだけを展開する前面フレームバッファを2つ設ける構成とした場合における、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の他の例を示す説明図である。
図30に示す例では、通常展開期間を超えない前面画像A1〜A4の画像データを前面フレームバッファA,Bに交互に展開し、通常展開期間を超える前面画像A5〜A6の画像データが出現したときには、展開期間が長期間である画像データの展開用に設けられている2つの前面フレームバッファC,D(展開期間大用のフレームバッファ)に交互に展開するようにしている。その後、通常展開期間を超えない前面画像A7〜A8,A10の画像データについては、前面フレームバッファA,Bに交互に展開し、通常展開期間を超える前面画像A9の画像データが出現したときには、前面フレームバッファC,Dに交互に展開する処理を実行するため、前面画像フレームバッファCに展開する処理を行う。
上記のように、展開指標データにもとづいて、通常展開期間を超える画像データを、通常展開時間を超えない画像データを展開するフレームバッファとは別のフレームバッファに展開するとともに、通常展開期間を超える画像データをダブルバッファリングにより展開する構成とすれば、通常展開期間を超える画像データを通常展開時間を超えない画像データに影響を及ぼすことなく展開することができるとともに、通常展開期間を超える画像データが連続して出現した場合であっても展開期間の重複を回避することができ、コマ落ちすることなく画像表示を行うことができる。
図31は、通常展開期間を超える画像データだけを展開する前面フレームバッファを2つ設けるとともに、通常展開期間を超えない画像データだけを展開する前面フレームバッファを1つ用いる構成とした場合における、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の他の例を示す説明図である。
図31に示す例では、通常展開期間を超えない前面画像A1〜A4の画像データを前面フレームバッファAに順次展開し、通常展開期間を超える前面画像A5〜A6の画像データが出現したときには、展開期間が長期間である画像データの展開用に設けられている2つの前面フレームバッファB,C(展開期間大用のフレームバッファ)に交互に展開するようにしている。その後、通常展開期間を超えない前面画像A7〜A8,A10の画像データについては、前面フレームバッファAに順次展開し、通常展開期間を超える前面画像A9の画像データが出現したときには、前面フレームバッファB,Cに交互に展開する処理を実行するため、前面画像フレームバッファBに展開する処理を行う。
上記のように、展開指標データにもとづいて、通常展開期間を超える画像データを、通常展開時間を超えない画像データを展開する1つのフレームバッファとは別のフレームバッファに展開するとともに、通常展開期間を超える画像データをダブルバッファリングにより展開する構成とすれば、通常展開期間を超える画像データを通常展開時間を超えない画像データに影響を及ぼすことなく展開することができるとともに、通常展開期間を超える画像データが連続して出現した場合であっても展開期間の重複を回避することができ、コマ落ちすることなく画像表示を行うことができる。また、通常展開時間を超えない画像データを展開するフレームバッファを1つだけ設ける構成とし、通常展開時間を超えない画像データの展開についてはダブルバッファリングを行わない構成としているので、制御負担を軽減させることができる。
なお、上述した各実施の形態では、前面画像データの画像処理をダブルバッファリングやトリプルバッファリングにより行う構成としていたが、背景画像データの画像処理をもダブルバッファリングやトリプルバッファリングにより行うようにしてもよい。このように、背景画像データの画像処理と、前面画像データの画像処理とをそれぞれダブルバッファリングやトリプルバッファリングにより行う構成とすれば、コマ落ちすることをより確実に防止することができ、より円滑に画像表示を行うことができる。また、背景画像、前面画像とも画像生成時間をより多くとることができ、凝った画像(例えば、3次元CGによる立体画像を用いた動画像)生成を可能とすることができる。
また、上述した実施の形態では、前面画像データの画像処理に関し、指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合に展開開始タイミングを早め、ダブルバッファリングにより画像処理を行う構成としていたが、背景画像データの画像処理に関しても、指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合に展開開始タイミングを早め、ダブルバッファリングにより画像処理を行う構成としてもよい。
図32は、背景画像データの画像処理についても指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合に展開開始タイミングを早め、ダブルバッファリングにより画像処理を行うようにした場合における遊技機の特徴部分の構成の例を示すブロック図である。なお、上述した図2の構成と同一の構成である部分については、同一の符号を付与してその詳細な説明は省略する。
図32に示すように、この例では、演出制御手段301は、背景用フレームバッファ320と、背景バッファ切替手段323とを含む。
指標データは、背景画像データと前面画像データとのそれぞれに別個に対応付けされている。なお、対応関係にある背景画像データと前面画像データ(互いに合成される対応関係にある背景画像データと前面画像データ)のいずれか一方にだけ共通に使用する指標データが対応付けされていてもよい。具体的には、前面画像データにだけ指標データが対応付けさせ、背景画像データの展開期間を判定する際には、その背景画像データと対応関係にある前面画像データに対応付けされている指標データを用いて判定するようにすればよい。
背景画像展開手段305は、背景バッファ切替手段323によって指定されている背景フレームバッファに背景画像データを展開する。背景バッファ切替手段323は、背景フレームバッファAと背景フレームバッファBとに交互に背景画像データが展開されるように切替処理を実行する。従って、背景画像展開手段305は、複数の背景画像データを順次展開する場合には、背景フレームバッファAと背景フレームバッファBとに交互に、順番に背景画像データを展開することになる。
画像合成手段330(例えばGCL81)は、背景用フレームバッファ320に展開された背景画像データと、前面用フレームバッファ325に展開された前面画像データとを合成した合成画像を生成する処理を実行する。本例では、画像合成手段330は、複数の合成画像を順次生成する場合には、合成元となる背景画像データを、背景フレームバッファAに展開されている背景画像データと、背景フレームバッファBに展開されている背景画像データとに交互に切り替えるとともに、合成元となる前面画像データを、前面フレームバッファAに展開されている前面画像データと、前面フレームバッファBに展開されている前面画像データとに交互に切り替えて、背景画像データと前面画像データとを合成した合成画像データを順次生成する。画像合成手段330は、合成画像データを生成すると、生成した合成画像データを画像信号供給手段331に送信する。
図33は、背景画像データの画像処理についても指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合に展開開始タイミングを早め、ダブルバッファリングにより画像処理を行うようにした場合における、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の例を示す説明図である。なお、前面画像は、背景画像の前面側に合成される画像であって、本例では特別図柄画像とキャラクタ画像とが合成された生成された画像をいう。図33には、画像表示に用いられる画像データに対応付けされた指標データの中に、通常展開期間よりも長い期間を示す指標データが存在する場合(ステップS902にてYと判定される指標データが存在する場合)の処理タイミングの例が示されている。
この例では、前面画像用のフレームバッファである2つの前面フレームバッファA,Bによってダブルバッファリングが実行される。GCL81は、一方の前面フレームバッファ(例えば前面フレームバッファA)に展開された前面画像が背景画像と合成されて変動表示装置6に表示されている間に、他方の前面フレームバッファ(例えば前面フレームバッファB)に前面画像データを展開する処理を実行する。
また、この例では、背景画像用のフレームバッファである2つの背景フレームバッファA,Bによってダブルバッファリングが実行される。GCL81は、一方の背景フレームバッファ(例えば背景フレームバッファA)に展開された背景画像が前面画像と合成されて変動表示装置6に表示されている間に、他方の背景フレームバッファ(例えば背景フレームバッファB)に背景画像データを展開する処理を実行する。
また、GCL81は、前面画像データおよび背景画像データそれぞれの展開タイミングから2フレーム期間前に、各画像データに対応付けされている指標データを読み出し、各画像データについて、展開期間を特定する処理を実行する。そして、指標データから特定される展開期間が、あらかじめ定められている通常展開期間(ステップS902参照)よりも長期間であるときは、通常展開期間以内の期間であるときよりも早いタイミングで展開処理を開始する。
具体的には、図33に示すように、GCL81は、展開期間判定タイミングとなった前面画像A5と背景画像B5の指標データにもとづいてそれぞれの画像の展開期間を特定する。その結果、前面画像A5と背景画像B5の展開期間が通常展開期間よりも長期間であると判定された場合には、展開処理の開始タイミングを所定期間(例えば1/2フレーム期間)早いタイミングに設定する。その後、GCL81は、所定期間早めて設定された展開処理の開始タイミングとなったら、前面フレームバッファAに前面画像A5を展開するとともに、背景画像用の背景フレームバッファに背景画像B5を展開する。前面画像A5および背景画像B5は、展開処理に比較的長時間を要する容量の大きいデータであるが、所定期間早めて展開処理を開始しているため、通常の展開終了タイミング(例えば、通常の展開開始タイミングから1フレーム期間後。すなわち、例えば、早められた展開開始タイミングから1.5フレーム期間経過後。)までに展開処理は終了している。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A5と背景画像B5とを合成した合成画像G5を生成し、変動表示装置6に表示させる。
また、図33に示すように、展開期間が通常展開期間よりも長期間である前面画像A5と背景画像B5に続いて展開処理される前面画像A6と背景画像B6についても、展開期間が通常展開期間よりも長期間であった場合であっても、前面画像A6と背景画像B6の展開処理が所定期間早めて開始されるとともに、前面画像および背景画像がともにダブルバッファリングにより展開されるので、コマ落ちが発生することはない。また、前面画像A6と背景画像B6に続いて展開処理される前面画像A7と背景画像B7が、さらに、展開期間が通常展開期間よりも長期間である画像であったとしても、2フレーム前の前面画像A5と背景画像B5については合成処理を完了している(例えば画像A5,B5の展開完了時から0.5フレーム期間経過後の画像A7,B7の展開開始時までに完了させておくようにすればよい)ため、やはりコマ落ちが発生することはない。
すなわち、本例では、前面フレームバッファは2個使用されるとともに、背景フレームバッファが2個使用されているため、例えば図33に示すように、表示順番が連続する2つの前面画像の展開期間(フレームバッファに展開されている期間)が重複していてもコマ落ちするようなことはなく、表示順番が連続する2つの背景画像の展開期間(フレームバッファに展開されている期間)が重複していてもコマ落ちするようなことはない。また、画像のデータ量に関わらず、展開処理の終了タイミングは規則的であり、展開処理を早める期間も一定期間とされている(あるいは展開処理を早める上限期間を設定しておくようにしてもよい)ため、画像合成に要する期間を確保することができ、表示順番が連続する3つ以上の前面画像の展開期間(フレームバッファに展開されている期間)が重複しないように制御することができるとともに、表示順番が連続する3つ以上の背景画像の展開期間(フレームバッファに展開されている期間)が重複しないように制御することができ、コマ落ちすることを確実に防止できる。
上記のような構成とすれば、展開処理における画像データの誤り等が少なくなり、間違った画像データによる画像表示を防止することができるようになる。なお、2つの前面フレームバッファA,Bに交互に画像データが展開される必要はなく、必要な場合は、一方の表示領域に続けて画像データを展開するように構成されていてもよい。同様に、2つの背景フレームバッファA,Bに交互に画像データが展開される必要はなく、必要な場合は、一方の表示領域に続けて画像データを展開するように構成されていてもよい。また、図33示す例では、VRAMには、2つの前面フレームバッファA,Bと、2つの背景フレームバッファA,Bが設けられていたが、3つ以上の前面フレームバッファが設けられてもよく、3つ以上の背景フレームバッファが設けられていてもよい。
上記のように、展開指標データにもとづいて前面画像と背景画像の画像データを事前にフレームバッファに展開するとともに、前面画像および背景画像をともにダブルバッファリングにより画像処理を行う構成とすれば、コマ落ち防止の信頼度をより高めることができる。
また、上述した各実施の形態では、前面画像データの画像処理に関し、指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合にダブルバッファリングからトリプルバッファリングに移行させる構成としていたが、背景画像データの画像処理に関しても、指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合にダブルバッファリングからトリプルバッファリングに移行させる構成としてもよい。
図34は、背景画像データの画像処理に関しても、指標データを用いて事前に展開期間を把握し、展開期間が長時間であった場合にダブルバッファリングからトリプルバッファリングに移行させる構成とした場合における、画像データに対応付けされている指標データの確認タイミングと、背景画像および前面画像の展開タイミングと、合成画像の表示タイミングとの関係の例を示す説明図である。なお、前面画像は、背景画像の前面側に合成される画像であって、この例では特別図柄画像とキャラクタ画像とが合成された生成された画像をいう。
図34に示すように、この例では、前面画像用のフレームバッファである2つの前面フレームバッファA,Bによってダブルバッファリングが実行されるとともに、背景画像用のフレームバッファである2つの背景フレームバッファA,Bによってダブルバッファリングが実行される。また、前面画像について所定条件が成立したあとは、前面画像用のフレームバッファである3つの前面フレームバッファA,B,Cによってトリプルバッファリングが実行される。同様に、背景画像について所定条件が成立したあとは、背景画像用のフレームバッファである3つの背景フレームバッファA,B,Cによってトリプルバッファリングが実行される。
GCL81は、前面画像および背景画像それぞれの各画像データの展開タイミングから2フレーム期間前に、各画像データに対応付けされている指標データを読み出し、各画像データについて、CGROM83からの読み出し処理を開始してからフレームバッファへの展開処理が終了するまでの期間(以下、「展開期間」という)を特定するとともに、展開期間の種別を設定する処理を実行する。そして、あらかじめ定められた所定期間毎に画像データの展開処理を開始する。
具体的には、図34に示すように、GCL81は、展開期間判定タイミングとなった前面画像A1と背景画像B1の指標データにもとづいてそれぞれの画像の展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Aであれば、ダブルバッファリングによる処理を実行する。すなわち、その後、GCL81は、展開処理の開始タイミングが到来したら、前面フレームバッファAに前面画像A1を展開するとともに、背景フレームバッファAに背景画像B1を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A1と背景画像B1とを合成した合成画像G1を生成し、変動表示装置6に表示させる。
また、GCL81は、展開期間判定タイミングとなった前面画像A2と背景画像B2の指標データにもとづいてそれぞれの展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Aであれば、ダブルバッファリングによる処理を続行する。すなわち、GCL81は、その後、展開処理の開始タイミングが到来したら、前面フレームバッファBに前面画像A2を展開するとともに、背景フレームバッファBに背景画像B2を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A2と背景画像B2とを合成した合成画像G2を生成し、変動表示装置6に表示させる。
上記のようにして、展開期間判定タイミングとなった前面画像や背景画像の指標データにもとづいて、それぞれの展開期間を順次特定し、展開期間の種別を順次設定していき、展開期間Bが設定されるまで、ダブルバッファリングによる処理を実行する。すなわち、前面画像の展開については、前面フレームバッファAと前面フレームバッファBとに交互に展開させ、背景画像の展開については、背景フレームバッファAと背景フレームバッファBとに交互に展開させる。
そして、GCL81は、展開期間判定タイミングとなった前面画像A5と背景画像B5の指標データにもとづいてそれぞれの展開期間を特定し、展開期間の種別を設定する。設定された種別が展開期間Bであるため、GCL81は、前面バッファ指定カウンタを変更してトリプルバッファリングによる処理に変更するとともに、背景バッファ指定カウンタ(前面バッファ指定カウンタと同様の構成の背景画像処理用のカウンタ)を変更してトリプルバッファリングによる処理に変更する。すなわち、GCL81は、その後、展開処理の開始タイミングが到来したら、前面フレームバッファCに前面画像A5を展開するとともに、背景フレームバッファCに背景画像B5を展開する。そして、GCL81は、合成画像の生成タイミングになったら、前面画像A5と背景画像B5とを合成した合成画像G5を生成し、変動表示装置6に表示させる。その後は、トリプルバッファリングによる処理が継続して実行される。すなわち、前面画像の展開については、前面フレームバッファA〜前面フレームバッファCに順番に展開させ、背景画像の展開については、背景フレームバッファA〜背景フレームバッファCに順番に展開させる。
上記のように、前面画像および背景画像それぞれについて、展開期間が通常展開期間を超える画像データが出現したときに、ダブルバッファリングからトリプルバッファリングに切り替える構成としたので、画像データを効率良く展開することができるとともに、コマ落ちが発生してしまうことをより確実に防止することができる。
なお、上述した各実施の形態では、前面画像は、特別図柄画像とキャラクタ画像とを含む画像として説明していたが、いずれか一方の画像のみを含むものとし、他方の画像は背景画像に含まれる構成としてもよい。
具体的には、背景画像生成手段304が、背景画像とキャラクタ画像とが合成された背面画像(表示画像を生成する際に背面側に合成される画像)を生成し、前面画像生成手段307が、特別図柄画像によって構成される前面画像を生成し、それぞれの画像を合成して変動表示装置6に表示する構成としてもよい。
また、上述したように、背景画像とキャラクタ画像が展開されるフレームバッファと特別図柄画像が展開されるフレームバッファを分ける構成としたので、画像処理を円滑に行うことができるようになり、識別情報の変動表示に影響を与えることを防止することができる。
なお、上述した実施の形態では、画像制御処理において、展開開始タイミングとなったときに、CGROM83から画像表示に用いる画像データを読み出す構成としていたが(ステップS912参照)、使用頻度が高い画像データなどの特定の画像データを、あらかじめ所定の展開領域に展開しておくようにしてもよい。
例えば、使用頻度が高い画像データなどの特定の画像データを展開して保持しておくための事前展開領域を前面用フレームバッファ325内に設ける構成とし、演出制御手段が、例えば遊技機の電源投入時や、デモンストレーション表示を行っているときなどに、あらかじめ定められている使用頻度の高い前面画像の画像データをCGROM83から読み出して、事前展開領域に展開して保持しておくようにすればよい。そして、事前に展開されている画像データを使用する場合には、演出制御手段が、事前展開領域に展開されている画像データを前面フレームバッファに複写するようにすればよい。
上記のように構成すれば、特定の画像データをあらかじめ展開して格納しておくことで、画像表示に利用する際に展開などの処理を行う必要をなくすことができ、画像処理の効率を向上させることができる。なお、前面画像に限らず、背面画像を事前に展開しておくようにしてもよい。
なお、上述した実施の形態では、各画像データそれぞれに指標データを対応付けさせる構成としていたが、展開期間が同等(必ずしも同じ値でなくてもよい)の一群の画像データに1つの指標データを対応付けさせる構成としてもよい。この場合、一群の画像データについてまとめて展開期間を判定し、その判定結果を保存しておき、保存している判定結果にもとづいて該当する複数の画像データについての画像表示処理を実行するようにすればよい。このように構成すれば、各画像データ毎に展開指標データを判定する必要をなくすことができ、一群の画像データについて指標データにもとづく展開期間の特定をまとめて行うことができるようになるため、制御負担を軽減させることができるとともに、各画像データに対応する展開指標データを省略することができ、データ量を削減することができる。
上記の1つの指標データが対応付けされた一群の画像データは、例えば、遊技に係る所定の演出表示を行うための一連の画像データとされていてもよい。具体的には、1つの指標データが対応付けされた一群の画像データが、例えば、所定の演出態様で変動表示装置6に特別図柄の変動表示演出(例えば、すべり演出、戻り演出、全回転などの特別図柄を用いた所定の変動表示演出)を行うための一連の画像データであってもよい。このように構成すれば、指標データを特別図柄の変動表示演出に対応付けさせることができ、展開に長期間を要する凝った識別情報の変動表示を行っても、コマ落ちすることなく画像表示を行うことができる。
また、1つの指標データが対応付けされた一群の画像データが、例えば、所定の演出態様で変動表示装置6にリーチ演出(リーチ状態となっているときに実行される演出であって、具体的には、例えばキャラクタを登場させるリーチ演出や、キャラクタが所定の動作を行う表示によるリーチ演出など)を行うための一連の画像データであってもよい。このように構成すれば、指標データをリーチ演出の表示態様と対応付けさせることができ、展開に長期間を要する凝ったリーチ表示を行っても、コマ落ちすることなく表示することができる。
また、上述した実施の形態では、背景画像、キャラクタ画像、特別図柄画像のうち、背景画像を含む1または2の画像が背面画像とされ、他の画像が前面画像とされており、図18に示す画像制御処理では、キャラクタ画像と特別図柄画像とを含む前面画像の画像処理を行う例について説明したが、その画像制御処理におけるステップS915の処理について詳しく説明する。なお、ステップS916やステップS928の処理についても、以下に示すステップS915の処理と同様である。
図35は、図18に示す画像制御処理におけるステップS915の処理の詳細を示すフローチャートである。ステップS915において、先ず、演出制御用CPU101は、キャラクタ画像データと特別図柄画像データとの優先度情報を確認する(ステップS915a)。各画像データには、前面画像データを生成する際に、前面側に合成される画像データであるのか、あるいは背面側に合成される画像データであるのかを特定できる優先度情報が含まれている。本例では、優先度情報として、背面側に合成されることを示す第1表示レイヤ、または前面側に合成されることを示す第2表示レイヤのいずれかが設定されているものとする。
次いで、演出制御用CPU101は、優先度情報として第2表示レイヤが設定されている画像データ(例えば識別情報画像データ)を展開し(ステップS915b)、展開された画像データに重ねるようにして優先度情報として第1表示レイヤが設定されている画像データ(例えばキャラクタ画像データ)を展開する(ステップS915c)。このようにして、識別情報画像データとキャラクタ画像データとを合成した前面画像データが生成され、前面フレームバッファに展開される。
上記のように、識別情報画像データとキャラクタ画像データとを重ねるようにして合成した前面画像データを前面フレームバッファに展開する構成としたことで、複数の画像を重ねて展開することができるようになり、奥行き感を持たせた画像表示を行うことができる。なお、背面画像が複数の画像によって生成される場合には、同様の処理によって展開するようにしてもよい。
また、上述した実施の形態では特に言及していないが、上述した実施の形態では、あらかじめ複数種類の背景画像データをCGROM83に格納しておくとともに、複数の背景画像データを順番に表示していくことで一連の動画演出が実行されるようにあらかじめ設定された背景画像データの組合せ(背景画像データ群)を示す背景演出情報をCGROM83に格納しておく構成とされている。ここでは、例えば、背景演出情報1〜10の10種類あらかじめ用意されているものとする。背景演出情報1が指定されると(例えば所定のリーチ演出を行うときに背景演出情報1が指定される)、指定された背景演出情報1に対応する背景画像データの組合せ(背景画像データ群)が選択される。そして、選択された背景画像データ群の中から、背景画像データがあらかじめ定められた順番(この順番は、背景演出情報に含まれているものとする)で順次読み出され、変動表示装置6に表示されることで、背景画像による特定の動画演出が実行される。なお、各背景演出情報によって特定される複数の背景画像データの中には、同じ背景画像データが含まれている。すなわち、同一の背景画像データを複数の背景画像演出に使用することができるのである。
上記のように、複数の背景画像データを組合せて一連の表示を行う構成としたことで、多様な画像表示を行うことができるとともに、画像データの容量が大きくなってしまうことを防止することができる。なお、背景画像データに限らず、識別情報画像データやキャラクタ画像データについても、同様に構成されていてもよい。
また、上述した実施の形態では特に言及していないが、背景画像、識別情報画像、およびキャラクタ画像の一部または全部を合成した合成画像による演出は、ムービー画像(動画再生によって表示される動画像)による演出であっても、スプライト画像による演出であってもよい。なお、ムービー画像の元となるムービー画像データは、動画撮影装置によって撮影された実写画像を動画再生するためのデータであっても、アニメーションによる動画を再生するためのデータであってもよく、パーソナルコンピュータなどの情報処理装置によって描画されたコンピュータグラフィクス(CG)を用いたCG画像を動画再生するためのデータであってもよい。実写画像によるムービー画像データを用いる構成とした場合には、人物や動物などの動きをリアルに表現することができるようになる。また、CG画像によるムービー画像データを用いる構成とした場合には、コンピュータグラフィクスによって自由に画像を作成することができるので、実写によっては得ることが困難な画像であっても簡単に作成することができ、必要とするムービー画像を含めたムービー画像データを容易に作成することができるようになる。なお、実写画像とCG画像とを組み合わせてムービー画像データを作成するようにしてもよい。
なお、動画再生によって表示される動画像によらない変動表示演出は、ムービー画像を用いない演出であるので、例えばスプライト画像を用いた動画演出も含まれる。すなわち、動画像データにもとづく動画再生によって画像表示を行う場合以外であれば、例えば、表示制御部80にVDP(ビデオディスプレイプロセッサ)を搭載する構成とし、動画再生によって表示される動画像によらない表示演出として、VDPが、背景画像にスプライト画像を合成した合成画像を生成し、そのスプライト画像を順次更新していくことで動画表示を行う構成としてもよい。なお、スプライトは背景画像上に重畳される画像を生成するためのものであるから、一般に画面サイズは小さく、図柄などの表示のための使用に適する。よって、VDPは、一般に、可変表示される特別図柄としての識別情報をスプライト画像として生成し、スプライト画像を背景画像上に重ねた画像を生成する。
また、表示制御部80にVDPを搭載する構成とする場合に、背面側に合成される背面画像の処理を実行するVDP(背景画像などが保存されているCGROMと、背景フレームバッファなどが設けられVRAMとして使用されるSDRAMとをさらに含む構成としてもよい)、前面側に合成される前面画像の処理を実行するVDP(前面画像などが保存されているCGROMと、前面フレームバッファなどが設けられVRAMとして使用されるSDRAMとをさらに含む構成としてもよい)とを設ける構成としてすなわち、2個のVDPを備える構成としてもよい。このように、背景側と前面側に表示する表示する画像を専用のVDP、GCROM、VRAMで構成することにより、その画像生成に特化することができるため、特別図柄の変動態様の画像や、背景画像を凝る(データ量の大きい重い画像や、画像生成に時間がかかる画像など)ことができ、凝った画像を生成してもフレーム落ちを防止することができる。
また、上述した実施の形態では、変動表示装置6に左中右の3つの図柄である特別図柄を表示する構成としていたが、特別図柄表示用の表示器を別途設ける構成とし、変動表示装置6には飾り図柄(例えば特別図柄と同様の左中右の3つの図柄であって、その表示結果によっては遊技制御に影響を与えない図柄)を表示する構成とされていてもよい。
なお、上記の実施の形態のパチンコ遊技機1は、始動入賞にもとづいて変動表示装置9に変動表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であった。すなわち、変動表示手段において複数種類の識別情報の変動表示を行い、識別情報の表示結果が特定表示結果(例えば大当り図柄)となったときに遊技者にとって有利な特定遊技状態(例えば大当り遊技状態)とする遊技機であった。しかし、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、所定の電動役物への入賞があると所定の権利発生状態が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
すなわち、遊技領域に遊技球を打ち込むことにより遊技者が遊技を行い、遊技者にとって有利な第1の状態(例えば開放状態)と、遊技者によって不利な第2の状態(例えば閉鎖状態)とに変化する可変入賞装置を備え、遊技領域に設けられた始動領域を遊技球が通過したことにもとづいて所定の始動態様で可変入賞装置を第2の状態から第1の状態に制御する始動遊技を行い、始動遊技により可変入賞装置に入賞した遊技球が可変入賞装置に設けられた複数の領域のうち、特定領域に進入したことにもとづいて始動態様よりも遊技者に有利な特定態様で可変入賞装置を第2の状態から第1の状態に制御する特定遊技状態を発生させる第2種パチンコ遊技機であって、特定遊技状態において継続可能なラウンド回数等を報知するために識別情報の変動表示遊技を行う変動表示手段を備えた遊技機に本発明を適用することもできる。
また、遊技領域に遊技球を打ち込むことにより遊技者が遊技を行い、特別領域に設けられた特別検出手段で遊技球が検出されたことを条件に権利発生状態となり、権利発生状態となっている期間中に、始動領域に設けられた始動検出手段により遊技球が検出されたことにもとづいて、可変入賞装置を遊技者にとって不利な状態から遊技者にとって有利な状態に変化させる制御を行うことが可能な第3種パチンコ遊技機であって、可変入賞装置の構造を、特別領域に遊技球が進入可能な状態にすることに決定されたか否かを報知するために識別情報の変動表示遊技を行う変動表示手段を備えた遊技機に本発明を適用することもできる。
さらに、上記の実施の形態のパチンコ遊技機1は、プリペイドカードによって球貸しを行うカードリーダ(CR:Card Reader )式の第1種パチンコ遊技機であったが、プリペイドカードによって球貸しを行うCR式パチンコ遊技機だけでなく、現金によって球貸しを行うパチンコ遊技機にも適用可能である。
また、パチンコ遊技機に限られず、変動表示装置と画像表示装置とを別個に備えたスロット機等の他の遊技機においても、本発明を適用することができる。すなわち、遊技球を用いて1ゲームに賭ける賭数を設定することによりゲームを開始させることが可能となり、変動表示装置の表示結果が導出表示されることにより1ゲームが終了し、変動表示装置の表示結果に応じて入賞が発生可能であるスロットマシンであって、遊技に応じた演出画像を表示するLCD等の画像表示装置を備えたスロットマシンにおいて、画像表示装置に対して本発明を適用することができる。
上述した各遊技機は、変動表示装置における変動表示の表示結果が予め定められた特定の表示態様となったときに所定の遊技価値を遊技者に与える構成とされている。遊技価値とは、例えば、遊技機の遊技領域に設けられた可変入賞球装置が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。