Nothing Special   »   [go: up one dir, main page]

JP2008029364A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2008029364A
JP2008029364A JP2006202708A JP2006202708A JP2008029364A JP 2008029364 A JP2008029364 A JP 2008029364A JP 2006202708 A JP2006202708 A JP 2006202708A JP 2006202708 A JP2006202708 A JP 2006202708A JP 2008029364 A JP2008029364 A JP 2008029364A
Authority
JP
Japan
Prior art keywords
display
sprite
mask
data
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006202708A
Other languages
English (en)
Other versions
JP2008029364A5 (ja
JP5070540B2 (ja
Inventor
Takaaki Ichihara
高明 市原
Shigeki Inaba
重貴 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daiman Co Ltd
Original Assignee
Daiman Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daiman Co Ltd filed Critical Daiman Co Ltd
Priority to JP2006202708A priority Critical patent/JP5070540B2/ja
Publication of JP2008029364A publication Critical patent/JP2008029364A/ja
Publication of JP2008029364A5 publication Critical patent/JP2008029364A5/ja
Application granted granted Critical
Publication of JP5070540B2 publication Critical patent/JP5070540B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Pinball Game Machines (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Abstract

【課題】 遊技機においてスプライトの任意の一部を透明状態とするマスク処理を簡易に実現する。
【解決手段】 遊技機において、演出表示の他、始動記憶や、エラー表示などをLCDに表示させる。表示制御用のCPUは、遊技の進行状態に応じて表示内容を決定し、VDPに描画コマンドを出力する。VDPはLCDの走査線単位で描画コマンドを展開し、表示データを生成する。CPUはマスクすべき領域に対しては、表示させるスプライトの描画を指示した後、透明の矩形で構成されるマスクスプライトを多数描画させるコマンドを出力する。マスクスプライトの描画によって、VDPの処理能力は限界に達し、その後の描画ができなくなるため、他のスプライトは表示されなくなる。こうすることで、画面上の任意の場所でマスクを簡易に実現することが可能となる。
【選択図】 図8

Description

本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う画面表示方法に関する。
パチンコ機やスロットマシンなどの遊技機では、遊技盤に備えられた表示装置を用いて、遊技中に種々の演出表示が行われる。この演出表示には、液晶パネルが用いられることが多い。液晶パネルは、マトリックス状に配置された画素によって画像を表示する。画像を表示するための表示データは、例えば、次の手順で生成される。まず、演出表示を制御するためのCPUは、表示コマンドを受け取り、その内容を解析し、予め用意されたスケジュールデータを参照して、表示すべき画面の内容を決定する。そして、このスケジュールデータに基づいて描画コマンドをVDP(Video Display Processor)に出力する。VDPは、この描画コマンドをビットマップ展開して画素単位での表示データを生成し、液晶パネルに出力する。VDPによっては、描画コマンドをレイヤに分けるとともに、レイヤごとに全体の透明度や色調などを調整することで多彩な描画を実現可能とするものもある。
遊技機の表示画面は、予め用意しキャラROMに記憶されたスプライトを配置して構成されることが多い。スプライトとは、例えば、図13に示した魚の絵などを言う。特許文献1は、スプライトを使用した表示制御を開示している。VDPはこのスプライトを用いた描画を、表示装置のフレームレートに適合するよう、16msecまたは32msecに1枚という速度で行う必要がある。スプライトの数が多くなる程、キャラROMへのアクセス回数が増え、表示画面の描画に要する時間が長くなる。興趣に富んだ演出画面を表示できるよう多様なスプライトを使用可能とするため、スプライトの読み出し速度を向上させることが好ましい。特許文献1は、かかる観点からキャラROMに記憶されたスプライトを、画面表示に使用する際には前もってDRAMに転送しておくことによって、スプライトの読み出し速度を向上させ、多数のスプライトを利用可能とする技術も開示している。
特開平9−28880号公報
しかし、スプライトの読み出し速度を向上させたとしても、VDPの描画能力に上限がある以上、フレームレートに合わせて描画を行うために用い得るスプライトの数には限界があった。近年、遊技機の分野では、表示装置の高解像度化が進んでおり、描画すべき画素数が増大するとともに、スプライトのデータ量も増大しているため、描画に用い得るスプライト数はますます抑制される傾向にある。このようにスプライト数が制限された中で、この制限およびスプライト同士の重なり具合を考慮して、興趣に富んだ演出表示用の画面をデザインすることには多大な負荷がかかっていた。また、それによって実現される演出表示の多様性にも自ずから限界があり、更に興趣に富む演出表示の実現は困難であった。本発明は、こうした課題に鑑み、VDPの描画能力に上限があることを踏まえつつ、より多彩な演出表示を実現することを目的とする。
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機を対象とする。遊技機には、パチンコ機や回胴式遊技機などが該当する。表示装置は表示用の画素が二次元的に配列された装置であり、液晶パネル、プラズマディスプレイ、有機ELなどを利用可能である。遊技機には、遊技の状況に応じて演出表示を制御する表示コマンドを出力するサブ制御基板と、サブ制御基板からの表示コマンドを受けて、表示装置を駆動する表示制御基板とが備えられている。この他に、遊技機全体の制御を統合する主制御基板、賞球やメダル等の払出しを制御する払出基板などを備えてもよい。
表示制御基板には、描画制御部、表示データ生成部、表示データ記憶部が備えられている。描画制御部はサブ制御基板からの表示コマンドに応じて、表示装置に表示すべき画面の構成を規定する描画コマンドを出力する。表示コマンドから直接に描画コマンドを設定して出力するようにしてもよいし、表示装置に表示すべき一連の画面(以下、各画面を「フレーム」と呼ぶ)を対応づけて予め記憶しておき、このフレームに基づいて描画コマンドを設定して出力するようにしてもよい。更には、このフレームを描画コマンド群として記憶しておき、これを順次、読み出して出力する方法を採ってもよい。
描画コマンドとは、フレームの表示内容を、表示装置の画素単位で展開して表したデータを生成するためのコマンドである。予め用意されたキャラクターメモリに、画面に表示される所定のスプライトを表示装置の画素単位で表したスプライトデータを格納しておく場合には、描画コマンドには、このスプライトの配置、複数のスプライトの重ね合わせ方を含めることができる。描画コマンドには、スプライト以外の図形や線分の描画を指定するコマンドを含めても良い。また、必ずしもスプライトを用いることは必要ではなく、図形や線分の描画のみを描画コマンドで指定するようにしてもよい。
本明細書では、「キャラクター」および「スプライト」を次の意味で用いる。スプライトとは、遊技機の画面にまとまった単位として表示されるイメージを意味する。例えば、画面上に種々の人物を表示させる場合には、それぞれの人物を描くためのデータを「スプライト」と呼ぶ。複数の人物を表示させるためには、複数のスプライトを用いることになる。人物のみならず背景画像を構成する家、山、道路などをそれぞれスプライトとすることもできる。また、背景画像全体を一つのスプライトとしてもよい。遊技機は、これらの各スプライトの画面上の配置を決め、スプライト同士が重なる場合の上下関係を決めることで、種々の画像を表示させることが可能である。
遊技機では、データを扱う便宜上、各スプライトは縦横それぞれ64ピクセルなど一定の大きさの矩形領域を複数組み合わせて構成される。この矩形領域を描くためのデータを「キャラクター」と呼ぶ。小さなスプライトの場合は、一つのキャラクターで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横2×縦3などで配置した合計6個のキャラクターで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクターを用いて表現することができる。キャラクターの数および配置は、スプライトごとに任意に指定可能である。
表示データ生成部は、描画コマンドに基づいて、表示装置の各画素の表示状態を規定する表示データを生成する。本発明の表示装置は、この表示データの生成を、表示装置における画素の配列の行または列を生成単位として行う。画素が縦横に2次元的に配列された表示装置において、行単位(横方向の配列)で主走査を行い、列方向(縦方向)に副走査を行うことで画面が表示される場合には、表示データ生成部は行を生成単位として表示データを生成することが好ましい。逆に、列単位で主走査を行う場合には、列を生成単位とすることが好ましい。もっとも、表示制御基板フレーム全体の表示データを保持するフレームメモリを備えている場合には、いずれの方向を生成単位としてもよい。
表示データ生成部は、上述の生成単位ごとに描画できるのべ画素数に上限値がある。この上限値は、フレームの表示周期および表示データ生成部の処理能力によって定まる値である。描画制御部は、画面内のマスクすべき部位に対しては、マスク図形として所定の不可視の図形を描画させるマスクコマンドを出力する。一般にマスクとは、一部を非表示とすることを意味するが、本明細書では、マスクとは、描画されるべき図形の一部を透明化、つまりその背景の画像を透視できる状態にさせる処理を言う。マスクすべき部位は、表示コマンドによって直接指定してもよいし、表示コマンドに応じて特定される各フレームのデータによって指定してもよい。マスクコマンドの数は、マスクコマンドのみ又は描画コマンドと併せて、表示データ生成部が描画する画素数が上限値を超え得る数とする。
本発明によれば、上述のマスクコマンドが出力された部位では、表示データ生成部が描画すべき画素数が、その上限値を超える(以下、これを「スプライトオーバー」と呼ぶ)ことが生じ得る。上限値を超えると、更なる描画はできなくなるため、結果として描画コマンドの一部は描画されずに欠落する。この結果、描画コマンドの一部を生成単位で欠落させた表示をすることが可能となり、簡易にマスクを実現することができる。例えば、行単位で表示データを生成する場合には、描画すべき図形を特定の行に対応する部分だけ欠落した状態で表示させることが容易に実現できる。スプライトオーバーを生じさせるに足りるだけのマスクコマンドを出力すれば、このようなマスクを確実に実現することができる。
仮に、本発明を用いずに従来技術でスプライトの一部をマスクしようとすれば、マスクする部分を透明とした新たなスプライトを用意しておく方法か、マスクする部分に対応する不透明な背景画像を最前面に描画させる方法しか採り得なかった。前者の方法では、マスクする部分を遊技中に任意に変化させるためには、一つの図形について、透明部分が異なる数多くのスプライトを用意しておく必要があり、スプライトの記憶容量の増大、描画時の読み出し制御の複雑化という課題を招いてしまう。後者の方法では、レイヤを取り扱い可能な表示データ生成部では、最前面を必然的に不透明なレイヤとして設定する必要が生じ、各レイヤの透明度設定の自由度を低下させることとなってしまう。図13に一例を示した。
図13は従来技術における画面表示例を示す説明図である。海を表す背景レイヤの前面に、魚を描画したレイヤ、ハート及びスペードで始動入賞口への遊技球の入賞数を示す始動記憶を表示したレイヤを重ねることで、最前面に示した画像が表示される例を示した。始動記憶のレイヤは、透明度が「不透明」と設定された状態で、魚が表示されたレイヤよりも前面に配置されているため、全体画面では、魚の一部が始動記憶に隠れた状態で表示される。この方法では、魚の一部をマスクした状態での画像を表示するためには、最前面のレイヤは「不透明」という設定に拘束されることになってしまう。
これに対し、本発明によれば、スプライトオーバーを生じさせることによって、これらの弊害を招くことなく簡易にマスクを実現することが可能となるのである。この結果、スプライトの一部をマスクするという新しい効果を活かして、興趣に富んだ演出表示を実現することが可能となる。また、レイヤを取り扱い可能な表示データ生成部では、最前面のレイヤについての設定の自由度が高まり、多彩な演出表示を実現することが可能となる。また、あるスプライトの前面に他のスプライトが重なることが生じたとしても、必要に応じてマスクをかけることによって、簡易に前面のスプライトを部分的に透明化させ、背後のスプライトを表示させることが可能となるため、スプライト同士の重なりを過度に意識することなく演出表示のデザインをすることができる利点もある。
本発明において、マスクコマンドは、表示データ生成部によって、少なくとも一つのマスク図形が描画コマンドよりも前に描画されるタイミングで出力することが好ましい。例えば、コマンドの出力順に描画がなされる場合には、少なくとも一つのマスクコマンドを描画コマンドよりも前に出力することにより、意図したマスクを実現することができる。ただし、マスクコマンドは、全ての描画コマンドに先行している必要はなく、マスク対象とすべき描画コマンドよりも先行していれば足りる。
表示データ生成部は、背面から前面に重ねられた複数のレイヤに分けて規定された描画コマンドに基づいて、表示データを背面側のレイヤから優先して生成可能としてもよい。この場合には、描画制御部は、マスク図形を出力する領域において、必ず表示すべき図形に対する描画コマンドを、マスクコマンドと同一または背面側のレイヤで出力すればよい。こうすることで、マスク可否を容易に制御することができる。
描画制御部は、マスクコマンドのみでは上限値に至らない範囲で、マスクコマンドを出力してもよい。このように描画すべき画素数が上限値に若干満たない程度のマスクコマンドを出力すれば、描画コマンドに応じて描画されるべき図形の大きさ、数によって、スプライトオーバーを生じたり生じなかったりさせることができ、興趣に富む不規則な表示を容易に実現させることができる。
また、描画制御部は、複数のマスクコマンド間の不定の位置に、描画コマンドを出力してもよい。つまり、全てのマスクコマンドが、描画コマンドよりも先行している必要もなく、描画コマンドよりも後にマスクコマンドを出力するようにしてもよい。また、複数のマスクコマンドに対する描画コマンドの位置、即ちマスクコマンドと描画コマンドの出力順序は、不定でもよい。こうすることにより、描画コマンドの出力順序によって、マスクされるか否かを変化させることができ、興趣に富む不規則な表示を容易に実現させることができる。
マスク図形は種々の形状が可能であり、例えば、生成単位となる行または列を、複数隣接して配置した形状とすることもできる。こうすることにより帯状のマスクを実現することができ、種々の演出表示に利用することが可能となる。
このように帯状にマスクする場合、マスク図形には、隣接させる数が異なる形状を混在させてもよい。つまり、幅の異なる帯を混在させてもよい。こうすることにより、描画コマンドによって描画される図形の大きさ、数などによって、マスクされるか否かが、帯状のマスク領域の周辺で変化し、興趣に富む不規則な表示を容易に実現させることができる。
また、画面内でマスク図形を描画させる位置は固定である必要はなく、変化させてもよい。マスクされる部位を変化させることで、更に興趣に富む表示を容易に実現させることができる。
本発明は、先に説明した通り、スプライトデータを用いて描画を行う構成を採ることもできる。この場合、スプライトデータは記憶を保持するためにリフレッシュ動作が要求されるメモリ素子で構成されたキャラクターメモリに記憶するようにしてもよい。キャラクターメモリには、表示データ生成部からの要求に応じてスプライトの読み出しを制御するためのキャラクターメモリ制御装置を設ける。このキャラクターメモリ制御装置は、所定のリフレッシュキャラクタが要求された場合には所定の不可視の図形をスプライトとして表示データ生成部に受け渡すとともに、リフレッシュ動作を実行するようにしてもよい。こうすることで、描画コマンドの出力過程で簡易にリフレッシュ動作を行わせることが可能となる。このようなキャラクターメモリが設けられている場合には、更に、マスクコマンドとして、リフレッシュキャラクタの描画を指定する描画コマンドを出力してもよい。こうすることにより、キャラクターメモリのリフレッシュ動作と、マスクを並行して効率的に行うことが可能となる。
本発明は、具体的には次の態様で適用することが可能である。遊技球が遊技盤面に設けられた所定の始動入賞口に入った際に所定の入賞動作を行う遊技機を対象とし、画面の少なくとも一部には、始動入賞口に入った後、入賞動作が未済の遊技球数を表示する始動記憶表示が含まれている場合を考える。この場合、描画制御部は、始動記憶表示の描画がなされた後、上限値を超えるまで始動記憶表示に重ねてマスク図形が描画されるよう、描画コマンドおよびマスクコマンドを出力する。
こうすることにより、始動記憶表示が他の図形によって隠されることを回避することができる。この効果についてより具体的に説明する。本発明を用い場合であっても、始動記憶表示の描画コマンドを最後に出力することにより、始動記憶表示を最前面に表示させることは可能である。しかし、この場合には、スプライトオーバーを生じることなく始動記憶表示が描画されるよう、その他の図形の大きさ、数、位置等を予め考慮してフレームを設定しておく必要があり、フレームをデザインする負荷が高く増大する。また、レイヤを取り扱い可能なVDPでは、始動記憶表示を最前面のレイヤに配置することになり、このことによって、最前面のレイヤは「不透明」の設定に固定されることとなり、透明度の設定が制約されてしまう。これに対し、本発明では、始動記憶表示に該当する領域はマスクされており、スプライトオーバーを生じさせることによって他の図形は描画し得なくなっている。始動記憶表示は最初に描画させることが可能となるから、上述したデザイン上の負荷やレイヤの設定上の制約による弊害を容易に回避することが可能となるのである。
本発明では、上述した種々の特徴を全て備えている必要はなく、一部を省略してもよいし、適宜、組み合わせて適用してもよい。また、本発明における上述の特徴部分は、ハードウェア的に実現してもよいし、ソフトウェア的に実現してもよい。
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、遊技機は、回胴式遊技機としてもよい。
A.遊技機の構成:
B.制御用ハードウェア構成:
C.図柄制御基板:
D.VDPの構成例:
E.表示制御処理:
F.描画処理:
G.描画コマンド出力処理:
H1.変形例(1):
H2.変形例(2):
A.遊技機の構成:
図1は実施例としてのパチンコ機1の正面図である。パチンコ機1は、中央に遊技領域6を備えた遊技盤4が取り付けられている。遊技者は、ハンドル8を操作して遊技領域6内に遊技球を打ち込み、入賞口に入賞させる遊技を行うことができる。入賞口の一つである始動入賞口9に遊技球が入賞すると、パチンコ機1は抽選を行い、その結果に応じて「大当り」か否かが決まる。大当り発生時には、大入賞口10が所定期間開放するなどの大当り遊技が行われる。
上述の抽選の結果は、4つのランプで構成された特別図柄表示装置41に表示される。遊技領域6の中央には、LCD16が備えられており、遊技中に種々の演出画面(装飾図柄と呼ぶこともある)が表示される。始動入賞口9への入賞時、大当りの発生時などにも、それぞれ遊技の状態に応じた演出画面が表示される。装飾図柄は、遊技の状況に応じて種々変化する。抽選結果を表示する過程で、大当りが発生する可能性が高いリーチ状態になると、スピード感あふれる画面が表示され、遊技者をハラハラドキドキさせることによって興趣を高めるようになっている。
B.制御用ハードウェア構成:
図2はパチンコ機1の制御用ハードウェア構成を示すブロック図である。パチンコ機1は、メイン制御基板3、払出制御基板25、サブ制御基板35、図柄制御基板30などの各制御基板の分散処理によって制御される。メイン制御基板3、払出制御基板25、サブ制御基板35は、それぞれ内部にCPU、RAM、ROMなどを備えたマイクロコンピュータとして構成されており、ROMに記録されたプログラムに従って種々の制御処理を実現する。
実施例のパチンコ機1では、種々の不正を防止するため、メイン制御基板3への外部からの入力が制限されている。メイン制御基板3とサブ制御基板35とは単方向のパラレル電気信号で接続されており、メイン制御基板3と払出制御基板25とは、制御処理の必要上、双方向シリアル電気信号で接続されている。払出制御基板25、サブ制御基板35は、それぞれメイン制御基板3からのコマンドに応じて動作する。図柄制御基板30は、サブ制御基板35からのコマンドに応じて動作する。パチンコ機1には、メイン制御基板3が直接に制御する機構もある。図中には、メイン制御基板3が制御する装置の一例として、大入賞口10を駆動するための大入賞口ソレノイド18、および特別図柄表示装置41を例示した。メイン制御基板3は、この他にも、普通図柄表示装置、特別図柄保留ランプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御することができる。また、メイン制御基板3には、遊技中の動作を制御するため、種々のセンサからの検出信号が入力される。図中には一例として入賞検出器15aからの入力を例示した。入賞検出器15aとは、始動入賞口9への入賞を検出するためのセンサである。メイン制御基板3は、入賞検出器15aからの信号に応じて、先に説明した抽選を行い、大当り遊技を実行することができる。メイン制御基板3には、他にも種々の入力がなされているが、ここでは説明を省略する。
遊技時におけるその他の制御は、払出制御基板25、サブ制御基板35を介して行われる。払出制御基板25は、遊技中の遊技球の発射および払い出しを次の手順で制御する。遊技球の発射は、直接的には発射制御基板47によって制御される。即ち、遊技者が、発射ハンドル8を操作すると、発射制御基板47は操作に応じて発射モータ49を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部48によって、発射ハンドル8に遊技者が触れていることが検出されている状況下でのみ行われる。払出制御基板25は、発射制御基板47に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
遊技中に入賞した旨のコマンドをメイン制御基板3から受信すると、払出制御基板25は、賞球払出装置21内の払出モータ20を制御し、払出球検出器22によって球数をカウントしながら規定数の球を払い出す。払出モータ20の動作は、モータ駆動センサ24によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板25は、表示部4aにエラーコードを表示する。エラー表示された時には、係員が異常を除去した後、操作スイッチ4bを操作することで復旧させることができる。
サブ制御基板35は、遊技中における音声、表示、ランプ点灯などの演出を制御する。これらの演出は、通常時、入賞時、大当たり時、エラー時、不正行為その他の異常が生じた時の警報など、遊技中のステータスに応じて変化する。メイン制御基板3から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御基板35は、各コマンドに対応したプログラムを起動して、メイン制御基板3から指示された演出を実現する。
本実施例では、図示する通り、サブ制御基板35はスピーカ29を直接制御する。LCD16は、図柄制御基板30を介して制御する。図柄制御基板30の回路構成は後述する。サブ制御基板35の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ12と、枠に設けられた枠装飾ランプ31がある。サブ制御基板35は、ランプ中継基板32、34を介して、パネル装飾ランプ12および枠装飾ランプ31と接続されており、各ランプを個別に点滅させることができる。
C.図柄制御基板:
図3は、図柄制御基板30の回路構成を示すブロック図である。図柄制御基板30は、キャラクタROM340、第1キャラクタRAM321、第2キャラクタRAM322、CPU311、制御ROM325、VDP330及びメモリインターフェース制御回路324を備えている。
図柄制御基板30は、サブ制御基板35からの表示コマンドに基づいて、図柄表示制御プログラムに従って演出表示を制御する。VDP330と表示装置16との間には、スケーラ390およびフレームバッファ397が備えられている。スケーラ390は、VDP330から出力された表示データを一旦、フレームバッファ397に保存し、適宜、表示装置16に出力する機能を奏する。この過程で、スケーラ390は、表示データを拡大/縮小し、表示装置16の画素数に適合させる処理を行ったり、予め用意されたOSD(On Screen Display)図形を表示データに重ね合わせて出力することも可能である。
CPU(Central Processing Unit)311は、サブ制御基板35からの表示コマンドに基づいて表示装置16における表示を制御する。VDP330は、CPU311(中央演算処理装置)の指示に基づいて、表示装置16に表示するための表示データを生成する。図柄制御基板30を構成する各種回路は、例えば6層の配線層を持つ単一の基板上に設けられている。
CPU311は、表示コマンドに対応する表示態様を実現する表示データの生成条件を規定した描画パラメータを制御ROM325から読み出す。この描画パラメータとしては、描画の色彩情報を規定したカラーパレットデータ、各レイヤの透明度等を設定したレイヤデータ、スプライトの描画条件を規定したスプライト属性データ、バックグラウンド(背景)の描画条件を規定したバックグラウンド属性データである。CPU311は、制御ROM325から読み出した描画パラメータなどをVDP330の各種レジスタに設定(指示)する。VDP330は、この描画パラメータに基づいて、表示装置16に出力する表示データを生成する。
また図柄制御基板30は、これ以外にもキャラクタROM340及び制御ROM325を備えている。制御ROM325は、CPU311が実行する図柄表示制御プログラム及び、CPU311などが参照する展開情報を管理する展開テーブルを不揮発的に記憶している。この展開テーブルは、上記変動表示パターンを表示するにあたり参照され、その変動表示パターンに含まれるシーンの組み合わせや各シーンの表示順序を管理している。なお、図柄表示制御プログラムがこの展開テーブルの機能を含んでいても良い。
一方、キャラクタROM340は、変動表示パターンを構成する各シーンに係るデータ(映像の表示に必要なデータ)群が予め記憶されている。すなわち各シーンの表示に必要な素材としてのスプライトデータ(や動画像データ)を含んでいるのである。ここで、上記展開テーブルは、キャラクタROM340において、各スプライトデータ(や動画像データ)を格納している位置としてのアドレスや、各スプライトデータを格納している位置としてのアドレスを管理している。
この動画像データは、予め設定された非可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。一方、スプライトデータは、予め設定された可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。本実施形態では、圧縮された動画像データを「圧縮動画像データ」と呼称する。
ここでスプライトは、その表示態様として、背景としての動画像に重ねた場合、この動画像を視覚的に透過させない非透過領域及び、背景としての動画像を視覚的に透過させる透過領域を有している。なお本実施形態においては、圧縮されたスプライトデータを「圧縮スプライトデータ」と呼称する。
次にCPU311は、内蔵メモリとしてのSDRAM(Synchronous Dynamic Ramdom Access Memory)を備えている。CPU311(動作指示プロセッサ)は、制御ROM325(制御メモリ)、VDP330(映像表示プロセッサ)及びメモリインターフェース制御回路324に接続されている。制御ROM325は、上記展開テーブルのみならず、CPU311の制御によって演出表示を制御する図柄表示制御プログラムを格納する読み出し専用メモリである。
CPU311は、制御ROM325からSDRAMに読み込んだ図柄表示制御プログラムの動作によって、サブ制御基板35からの表示コマンドに基づいてVDP330の動作を制御する。CPU311は、サブ制御基板35から受信した上記表示コマンドを解析し、この解析結果に応じた演出表示の実行を制御する。
この演出表示の具体例としては、リーチ演出表示や特別遊技状態におけるラウンド表示を挙げることができる。このリーチ演出表示は、例えば遊技球の入賞を契機とした大当り抽選において当選しそうであること或いは当選しないもののあたかも大当りに当選するかもしれないことを、遊技者などに対して暗示して遊技者を期待させる演出表示である。一方、ラウンド表示は、例えば特別遊技状態に移行している場合に、特別遊技状態における各ラウンドでの演出表示を表している。
このようなリーチ演出表示などに関する図柄の変動表示を実行する場合、上記CPU311は、このリーチ演出表示などにおける変動表示パターンに含めるべき各シーン及び各シーンの表示順序を展開テーブルを参照して決定する。
C1.メモリインターフェース制御回路324の構成例:
図3に示すメモリインターフェース制御回路324は、CPU311の制御によって、キャラクタROM340、第1キャラクタRAM321及び第2キャラクタRAM322と、VDP330との間のデータ交換に関するインターフェースを制御する機能を有する。VDP330からメモリインターフェース制御回路324を介してキャラクタRAM321,322を参照すると、キャラクタRAM321,322に同一のスプライトデータが同一の場所(アドレス空間)に配置されているため、VDP330は、キャラクタRAM321,322が切り替えられたとしても、これらキャラクタRAM321,322を各々区別することなく、あたかも1つのキャラクタRAMが存在しているかのように見えるようになっている。
メモリインターフェース制御回路324は、CPUインターフェース316、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329、展開データメモリコントローラ315、第1キャラクタRAMコントローラ314、第2キャラクタRAMコントローラ317及びVDPインターフェース320を備えている。メモリインターフェース制御回路324は、キャラクタROM340、CPU311、VDP330及びキャラクタRAM321,322にそれぞれ接続されている。
CPUインターフェース316は、CPU311とメモリインターフェース制御回路324とのインターフェースを制御しており、CPU311の他にも、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315に接続されている。
これら圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315は、それぞれレジスタ312a,327a(動画像レジスタ),328a(スプライトレジスタ),329a(スプライトレジスタ),315aを備えている。これらレジスタ312a,327a,328a,329a,315aは、CPUインターフェース316に接続されている。
C2.CPUインターフェースの構成:
CPUインターフェース316は、スプライト伸張制御プロセッサとしてのCPU311によるレジスタ328a,329aへのそれぞれの書き込みを制御するとともに、動画像伸張制御プロセッサとしてのCPU311によるレジスタ327a(動画像レジスタ)への書き込みを制御する。
また、CPUインターフェース316は、CPU311による展開データメモリコントローラ315のレジスタ315aや圧縮データメモリコントローラ312のレジスタ312aへの書き込みを制御している。
つまり、これらレジスタ312a,327a,328a,329a,315aには、それぞれCPUインターフェース316を経由して、CPU311によって設定値が書き込まれるようになっている。これら圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315は、それぞれレジスタ312a,327a,328a,329a,315aを介してCPU311によって制御される構成となっている。
動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、圧縮動画像データについて非可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。また動画像データ伸張コントローラ327は、伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
一方、スプライトデータ伸張コントローラ328及びスプライトデータ伸張コントローラ329は、それぞれレジスタ328a及びレジスタ329aに書き込まれる設定値によって、圧縮スプライトデータについて可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また、スプライトデータ伸張コントローラ328,329は、それぞれ動画像レジスタ328,329aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。またこのスプライトデータ伸張コントローラ328,329は、それぞれ伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
C3.2つのスプライト伸張装置の構成:
スプライト伸張制御プロセッサとしてのCPU311は、2つのスプライト伸張装置としてのスプライトデータ伸張コントローラ328,329による伸張動作をそれぞれ独立して制御する機能を有する。これらスプライトデータ伸張コントローラ328,329は、それぞれ、上述のようにCPU311によって書き込まれるレジスタ328a及びレジスタ329a及び、CPU311によるレジスタ328a,329aへの書き込みに基づいて、予め設定されたスプライト伸張方式に従って圧縮スプライトデータをスプライトデータに伸張するスプライト伸張部(図示せず)を含んだ構成となっている。
まず、キャラクタROM340に、スプライトデータを圧縮した圧縮スプライトデータを記憶させておくと、キャラクタROM340の記憶容量を有効活用してより多くのスプライトデータを記憶させておくことができるものの、スプライトを含めたシーンを表示する際には、キャラクタROM340から読み出した圧縮スプライトデータを伸張する必要がある。
このスプライトデータをスプライトデータ伸張コントローラ328,329によって伸張しようとすると、キャラクタRAM321,322における記憶状態と読出状態との切り替えが必要であることを考慮すれば、一見すると、伸張制御が複雑になることも考えられる。しかしながら本実施形態では、スプライトデータ伸張コントローラ328,329が存在している場合においても、CPU311によるスプライトレジスタ328a,329aへの各書き込みという簡単な制御によって、圧縮スプライトデータを伸張してスプライトデータを生成することができるため、全体として伸張制御が簡素化される。
C4.動画像伸張装置の構成:
また、動画像伸張制御プロセッサとしてのCPU311は、動画像データ伸張コントローラ327による伸張動作を制御する機能を有する。動画像データ伸張コントローラ327は、上述のようにCPU311によって書き込まれるレジスタ327a及び、CPU311によるレジスタ327aへの書き込みに基づいて、圧縮動画像データを予め設定された動画像伸張方式に従って伸張して動画像データとする動画像伸張部とを含んだ構成となっている。
まず、キャラクタROM340に、動画像データを圧縮した圧縮動画像データを記憶させておくと、キャラクタROM340の記憶容量を有効活用してより多くの動画像に係るデータを記憶させておくことができるものの、スプライトのみならず動画像を含めたシーンを表示する際には、キャラクタROM340から読み出した圧縮スプライトデータのみならず圧縮動画像データも伸張する必要がある。
ここで、上述のようにスプライトデータを伸張するとともに、この動画像データを動画像データ伸張コントローラ327によって伸張しようとすると、キャラクタRAM321,322における記憶状態と読出状態との切り替えが必要であることを考慮すれば、伸張制御が複雑になることも考えられる。
しかしながら本実施形態によれば、スプライトデータ伸張コントローラ328,329とは別にさらに動画像データ伸張コントローラ327が存在している場合においても、CPU311による動画像レジスタ327aへの書き込みという簡単な制御によって、圧縮スプライトデータの伸張とともに、圧縮動画像データを伸張して動画像データを生成することができるため、全体として伸張制御が簡素化される。
また、上記圧縮データメモリコントローラ312は、レジスタ312aに書き込まれた設定値に従って、キャラクタROM340から、表示すべき変動表示パターンに含まれる各シーンを表示するための圧縮動画像データ及び圧縮スプライトデータを読み出す制御を行う。
ここでCPU311は、CPUインターフェース316を経由して、圧縮データメモリコントローラ312のレジスタ312aに、例えばキャラクタROM340の種類に応じたアクセスタイミングを設定する。
具体的には、CPU311が制御ROM325の展開テーブルの内容に従って、動画像データ伸張コントローラ327の動画像レジスタ327a、スプライトデータ伸張コントローラ328のレジスタ328a及び、スプライトデータ伸張コントローラ329の329aにそれぞれ書き込んだ設定値に従って、キャラクタROM340の記憶領域の転送元アドレスを指定する。このようにCPU311が指定すると、圧縮データメモリコントローラ312は、この指定された転送元アドレスに該当するキャラクタROM340の記憶領域から圧縮スプライトデータ及び圧縮動画像データを、それぞれ書き込まれた設定値に基づくタイミングで読み出して、スプライトデータ伸張コントローラ328,329及び動画像データ伸張コントローラ327へ引き渡す。
動画像データ伸張コントローラ327は、非可逆な圧縮方式で圧縮されている圧縮動画像データを、その非可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。一方、スプライトデータ伸張コントローラ328は、可逆な圧縮方式で圧縮されている圧縮スプライトデータをキャラクタROM340から読み出して、その可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。
本実施形態では、メモリインターフェース制御回路324には、キャラクタROM340から読み出した圧縮スプライトデータを伸張する伸張手段として、2個のスプライトデータ伸張コントローラ328,329が設けられている。これらスプライトデータ伸張コントローラ328,329は、それぞれキャラクタRAM321,322に対して固定的に対応づけられているのではなく、キャラクタRAM321,322の数に応じて設けられている。また、これらスプライトデータ伸張コントローラ328,329は、キャラクタRAM321,322に各々対応して設定(切り替え)可能であり、各々キャラクタROM340から読み出した圧縮スプライトデータを独立してスプライトデータに伸張している。
動画像データは、CPU311によるレジスタ327aへの書き込みを契機に、動画像データ伸張コントローラ327によって伸張され、動画像データ伸張コントローラ327から各々展開データメモリコントローラ315に引き渡される。
また、スプライトデータは、CPU311によるレジスタ328a,329aへの書き込みを契機に、このスプライトデータ伸張コントローラ328,329によってそれぞれ独立して伸張され、スプライトデータ伸張コントローラ328,329から各々独立して展開データメモリコントローラ315に引き渡される。
C5.展開データメモリコントローラ:
展開データメモリコントローラ315は、CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAM321及び第2キャラクタRAM322における記憶状態(「展開状態」とも呼称する)と読出状態との切り替え条件が指定される。本実施形態では、例えば外部信号の立ち上がりエッジに同期して第1キャラクタRAM321と第2キャラクタRAM322とを切り替えている。
そして、この展開データメモリコントローラ315は、CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317を制御する。この第1キャラクタRAMコントローラ314は、第1キャラクタRAM321へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。一方、第2キャラクタRAMコントローラ317は、第2キャラクタRAM322へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。本実施形態では、シーンの素材としてスプライト及び動画像を例示しているが、以下の説明においては、シーンの素材として主にスプライトデータを例示する。
またさらに、これらキャラクタRAMコントローラ314,317(「メモリリフレッシュ部」と呼ぶこともある)は、それぞれ展開データメモリコントローラ315の制御によって、キャラクタRAM321,322に対してリフレッシュ動作を実行する機能を有する。この展開データメモリコントローラ315は、CPU311の指示に従って、キャラクタRAMコントローラ314,317に対するリフレッシュ動作の実行を各々制御している。なお、本実施形態では、第1キャラクタRAMコントローラ314が第1キャラクタRAM321に対してリフレッシュ動作を実行し、第2キャラクタメモリコントローラ317が第2キャラクタRAM322に対してリフレッシュ動作を実行するように対応づけられている。
この展開データメモリコントローラ315(リフレッシュデータ提供部)は、キャラクタRAM321,322に各々リフレッシュ動作を実行させるためのリフレッシュキャラクタデータを有し、このリフレッシュキャラクタデータをVDP330に提供する機能を有する。具体的には、展開データメモリコントローラ315は、CPU311の指示に従って、VDP330に対してリフレッシュデータを提供する。なお、この展開データメモリコントローラ315は、このように予め用意しておいたリフレッシュキャラクタデータをVDP330に提供する代わりに、リフレッシュキャラクタデータを生成してVDP330に提供するようにしても良い。
ここで、上記スプライトデータは、例えば64ドット×64ドットの表示範囲に8ビット(256色)でスプライトを表示させるための画像データである。一方、このリフレッシュキャラクタデータも、例えば64ドット×64ドットの表示範囲に8ビット(256色)でリフレッシュキャラクタを表示させるための画像データである。つまり、本実施形態においては、リフレッシュキャラクタデータとスプライトデータとがその表示内容は異なるもののデータ構造が同様であることから、1つのスプライトの表示範囲が1つのリフレッシュキャラクタの表示範囲と同一となっている。そして、この展開データメモリコントローラ315は、自らとVDP330とを接続するバス線、例えば32ビット幅のバス線を介して、VDP330に対してスプライトデータを提供する。
そして、キャラクタRAMコントローラ314,317は、CPU311の指示に従って、VDP330が展開データメモリコントローラ315からリフレッシュキャラクタデータを読み出したことを契機として、各々キャラクタRAM321,322に対してリフレッシュ動作を実行するようになっている。
さらに本実施形態では、VDP330が、CPU311の指示に従って、この読み出したリフレッシュキャラクタデータに基づくリフレッシュキャラクタをラインバッファ336の可視領域外に記憶させている。ここで本実施形態においては、リフレッシュキャラクタとして着色した画像を採用することができる。
ここでいうフレームにおける可視領域とは、配置させたスプライトがVDP330によって表示装置16に表示される領域をいう。一方、可視領域外とは、フレームにおける可視領域を除いた領域をいい、例えば配置させたスプライトがVDP330によって表示装置16に表示されない非可視領域をいう。つまり、フレームは、可視領域及び非可視領域を含んでいる。
ここでCPU311は、キャラクタRAMコントローラ314,317によって、キャラクタRAM321,322に対するリフレッシュ動作を実行させる場合、例えばキャラクタRAM321,322におけるリフレッシュキャラクタエリアを指定するアドレス(例えば「0C00 0000」)を指定する。なお、この「0C00 0000」というアドレスは、図4に示すようにキャラクタRAM321,322におけるリフレッシュキャラクタエリアの先頭アドレスを表している。
ここで本実施形態では、このリフレッシュキャラクタエリアには、実際にリフレッシュキャラクタデータが格納されておらず、CPU311が、このキャラクタRAMコントローラ314,317によってリフレッシュ動作を実行すべきタイミングを指示するために、このリフレッシュキャラクタエリアからリフレッシュキャラクタデータを読み出すべき旨の指示を行うようになっている。
また、このキャラクタRAMコントローラ314,317は、展開データメモリコントローラ315の制御によって、各々図示しないリフレッシュキャラクタ数設定部の設定値に従って動作するようになっている。このリフレッシュキャラクタ数設定部には、キャラクタRAM321,322に対するリフレッシュ動作に必要な時間に応じて、CPU311によって、表示させるべきリフレッシュキャラクタの数が設定されるものである。このリフレッシュキャラクタ数設定部は、例えば展開データメモリコントローラ315に設けられたレジスタ315aに相当する。
つまりCPU311は、キャラクタRAM321,322のリフレッシュに必要な時間に応じて表示させるべきリフレッシュキャラクタの数(設定値)を、このリフレッシュキャラクタ数設定部(レジスタ315a)に、例えば初期設定時に予め設定しておくのである。このリフレッシュキャラクタの数は、キャラクタRAM321,322におけるリフレッシュすべきリフレッシュ範囲(リフレッシュすべき容量)に応じて設定される値である。なお、このリフレッシュキャラクタの数は、キャラクタRAM321,322に対するリフレッシュ動作の実行にあたり、VDP330がメモリインターフェース制御回路324から読み出すリフレッシュキャラクタデータの数でもある。
ここで、1つのリフレッシュキャラクタによってリフレッシュされる容量の具体例としては、例えば64ドット×64ドット×8ビット(256色)の表示範囲であるリフレッシュキャラクタの表示に用いるリフレッシュキャラクタデータのデータサイズに相当している。つまり、キャラクタRAM321,322において広い範囲(大きな容量)をリフレッシュしたい場合には、表示させるべきリフレッシュキャラクタの数が多くなるのである。
また、展開データメモリコントローラ315のレジスタ315aは、レジスタ名(REFOFT,REFNOF,REFNCH)を有している。これらのレジスタ名には、動作指示プロセッサとしてのCPU311によって所望の設定値が書き込まれるようになっている。またこれらのレジスタ名には、メモリインターフェース制御回路324に接続されているキャラクタRAMの仕様に基づく値が設定される。レジスタREFOFTは、リフレッシュの実行期間を設定するためのレジスタである。一方、レジスタ名REFNOFは、リフレッシュ実行期間内に実行しなければならないリフレッシュ回数を設定するためのレジスタである。
また、レジスタ名REFNCHは、リフレッシュキャラクタによるリフレッシュ回数を設定するためのレジスタであり、1回のリフレッシュ指示に対応したリフレッシュキャラクタデータの読み出し回数を設定する。ここでいう、リフレッシュキャラクタデータの読み出し回数は、接続されているキャラクタRAM321,322の仕様に応じて設定されるものである。
メモリインターフェース制御回路324は、リフレッシュ回数及びリフレッシュ監視カウンタ(リフレッシュを実行している時間に相当)を管理している。上記したレジスタ名REFOFTで設定した時間内にレジスタ名REFNOFで設定した回数分だけ、リフレッシュ部がリフレッシュ動作を実行した否かを判断する。本実施形態においては、CPU311がリフレッシュ部に対して、例えば16msごとに1024回にわたりリフレッシュ動作を実行することを、4回繰り返すように指示する。
つまり本実施形態では、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値に基づいて、例えば64ms間にわたり4096回リフレッシュ動作を実行するものとする。また本実施形態では、仮にレジスタ名REFNOF及びレジスタ名REFOFTの設定値に応じた回数分、キャラクタRAM321,322に対するリフレッシュ動作が実行されなかった場合、レジスタ名RENOF及びレジスタ名REFOFTに設定した値に基づいて集中リフレッシュを開始するようになっている。
つまり本実施形態では、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値などのリフレッシュ条件が設定されるリフレッシュ条件設定部が用意されており、図示しないリフレッシュ監視部(リフレッシュ監視手段)が、リフレッシュ条件設定部に設定された設定値(リフレッシュ条件)を満たさないことを検出した場合、このリフレッシュ条件を満たすように強制的にリフレッシュ動作を開始させる指示を出すようになっている。
C6.キャラクタRAMの切り替え構成:
第1キャラクタRAM321及び第2キャラクタRAM322は、それぞれ展開データメモリコントローラ315の制御によって、スプライトデータを一時的に記憶する展開状態(記憶状態)と、記憶済みのスプライトデータを読み出す読出状態とが、互いに逆になるように交互に切り替わる構成となっている。
より具体的には、この展開データメモリコントローラ315は、第1キャラクタRAM321へ展開している期間(以下「第1展開期間」と呼称する)においては、第2キャラクタRAM322から読み出しを実行するよう制御する。一方、この展開データメモリコントローラ315は、第2キャラクタRAM322へ展開している期間(以下「第2展開期間」と呼称する)においては、第1キャラクタRAM321から読み出しを実行するよう制御する。本実施形態では、この展開データメモリコントローラ315は、VDP330が出力する外部信号である垂直同期信号(いわゆるVブランク信号)を契機に、これら第1展開期間と第2展開期間とが繰り返し交互に連続するように、第1キャラクタRAM321及び第2キャラクタRAM322の切り替え動作を制御している。
C7.両キャラクタRAMの記憶領域の管理:
ここで本実施形態では、これら第1キャラクタRAM321及び第2キャラクタRAM322の記憶領域が、それぞれ同一のアドレスによって管理されている。つまり、これら第1キャラクタRAM321の記憶領域と第2キャラクタRAM322の記憶領域とは、互いに記憶容量が等しく、各記憶領域には同一のアドレスが付されている。
そして、これら第1キャラクタRAM321及び第2キャラクタRAM322には、同一のアドレスで管理された記憶領域に対して、同一のスプライトデータが交互に展開される。このようにすると、第1キャラクタRAM321及び第2キャラクタRAM322が読み出し中に切り替わったとしても読み出されるスプライトデータを同一のものとすることができる。
C8.複数の共通エリア:
ここで、本実施形態においては、第1キャラクタRAM321及び第2キャラクタRAM322には、それぞれ、組み合わせ映像群の一例としての変動表示パターンに使用するシーン(映像)の組み合わせの表示に必要なスプライトデータを一時的に記憶可能な複数の共通エリア(複数の共通領域)が区画形成されている。
これら複数の共通エリアは、それぞれ制御ROM325に記憶されている展開テーブルの内容に基づいて、CPU311が区画する領域である。これら複数の共通エリアからは、展開データメモリコントローラ315の制御によって、それぞれシーンの組み合わせに各々必要なスプライトデータが独立して読み出されるようになっている。
C9.スタティックロード:
ここである変動表示パターンを例示すると、データ展開プロセッサとしてのCPU311は、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを、各々予め定められた複数の共通エリアのいずれかに一時的に記憶させている。
このように本実施形態では、この変動表示パターンに含まれるシーンの組み合わせに係るシーン表示に必要なスプライトデータが、それぞれ展開テーブルの内容に基づいて、予め決められた複数の共通エリアのいずれかに別々に展開されるようになっている。つまり本実施形態では、上記展開テーブルに従って、これらシーン表示に必要な各スプライトデータは、複数の共通エリアにおける展開先が予め決められており、これら複数の共通エリアのうちの異なる共通エリアに展開されるようになっている。なお本実施形態では、このようにスプライトデータを、複数の共通エリアのいずれかに固定的に展開することを「スタティックロード」と呼称する。つまり、スタティックロードは、複数の共通エリアのうちの予め定められた共通エリアにスプライトデータを一時的に記憶させることを表している。
ここで1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開しても良いが、本実施形態では、1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開せず、主として1つのシーン表示に必要なスプライトデータを展開する構成となっている。ここで、複数の共通エリアに時期を同じくして各々展開されたシーン表示に必要なスプライトデータは、1つの変動表示パターンを表示するために用いられるデータである。
また本実施形態では、1つの変動表示パターンに含まれるシーンのうち表示順序が連続するシーンの組み合わせに係るシーン表示に必要なスプライトデータを、それら複数の共通エリアのうち予め定められた異なる共通エリアに記憶させている。
C10.常駐エリア:
ここで、メモリインターフェース制御回路324は、キャラクタRAM321,322からシーン表示に必要なスプライトデータを読み出すと、それぞれこれらキャラクタRAM321,322から読み出したシーン表示に必要なスプライトデータを上書きしている。しかしながら本実施形態では、複数の変動表示パターンを表示するにあたり、各シーンを表示するのに共通して多用されるシーン表示に必要なスプライトデータについては、キャラクタRAM321,322の記憶領域の一部に常駐させるものとする。本実施形態では、CPU311が、例えば共通して多用されるシーン表示に必要なスプライトデータを、キャラクタRAM321,322における複数の共通エリアの一部として常駐エリア(常駐領域)を区画形成して展開させるものとする。
このようにキャラクタRAM321,322に常駐エリアを設けてシーン表示に必要なスプライトデータを常時展開させておくと、頻繁にキャラクタROM340から読み出さなくても済む。なお、この常駐エリアに展開するシーン表示に必要なスプライトデータは、例えば図柄の変動表示中に常に表示される図柄の表示に用いるスプライトデータが挙げられる。なお、展開する時期としては、電源投入直後、すぐに展開するようにしておけば良い。ここで、上記展開テーブルは、これらシーン表示に必要なスプライトデータを、常駐エリアを含む複数の共通エリアのうちのいずれかに展開するために用いる展開情報を含んでいる。
C11.各共通エリアのデータサイズ:
ここで、これら複数の共通エリアのうちの各共通エリアには、表示態様の異なる複数の変動表示パターンのうちのある変動表示パターンを表示する場合と、それとは別の変動表示パターンを表示する場合とで、それぞれ互いに異なる複数のシーン表示に必要なスプライトデータがそれぞれ記憶される。
そこで本実施形態では、データ展開プロセッサとしてのCPU311は、CPUインターフェース316を経由して展開データメモリコントローラ315を制御することで、複数の共通エリアのうちの各共通エリアに記憶されうる複数のシーン表示に必要なスプライトデータのうち、データサイズが最大であるシーン表示に必要なスプライトデータのデータサイズを基準として、予め複数の共通エリアをそれぞれ区画形成しておく。ここでいうデータサイズは、例えば1つのシーンを表示するのに必要な素材としてのスプライトを表示するのに必要なスプライトデータのデータサイズを表している。
まず、複数の共通エリアは、それぞれ格納されうるスプライトデータが予め定められているため、その共通エリアに展開されることのないスプライトデータのデータサイズを考慮して区画形成されていなくてもよい。このため、これら複数の共通エリアは、大きなデータサイズのスプライトデータが将来展開されるかもしれないことを想定してデータサイズを余分に形成しておく必要がなく、記憶されるスプライトデータのうちの最もデータサイズの大きなスプライトデータを基準に区画形成しておけばよい。従って本実施形態によれば、キャラクタRAM321,322に区画形成すべき複数の共通エリアのうちの各共通エリアのデータサイズが、各共通エリアに展開され得るスプライトデータに応じて最小限度に抑制されるため、キャラクタRAM321,322を効率よく使用することができる。
D.VDPの構成例:
図4はVDP330の電気的な構成例を示すブロック図である。VDP330は、CPUインターフェース383(図において「CPU I/F」と略す)、ROMインターフェース333(図において「ROM I/F」と略す)、バス382、VDPコントローラ331、ラインバッファ336、カラーパレットレジスタ332c、スプライト属性レジスタ332s、バックグラウンド(図において「BG」と略す)属性レジスタ332b、内蔵RAM335及びDMAコントローラ384を含んだ構成となっている。なお、内蔵RAM335は、VDP330の外部に設けられていても良い。
制御ROM325においては、上記展開テーブルが管理されている。この展開テーブルは、キャラクタRAM321,322においてシーン表示に必要なスプライトデータが複数の共通エリアのうちのどの共通エリアに展開されているべきかに関する展開情報及び、この展開情報の他、スケジューラ(表示情報)を含んでいる。ここでいうスケジューラは、VDP330が表示すべきスプライトの先頭アドレス、表示すべき枚数(縦及び横方向の枚数)、スプライトの識別子(キャラクタ番号など)及び、重ね合わせた場合の優先順位などの後述する表示データを表示順序に記憶した表示情報を含んでいる。なお、制御ROM325においては、このスケジューラに展開情報が含まれて記憶されている形態や、スケジューラと展開情報が並列して存在している形態であっても良い。
そしてさらに、CPU311は、制御ROM325の展開テーブルを参照し、キャラクタRAM321,322における複数の共通エリアのうちのどの共通エリアに、この変動表示パターンの表示動作に必要なシーンの組み合わせに係るシーン表示に必要なスプライトデータが記憶されているのかに関する展開情報を取得する。つまりCPU311は、この展開情報に基づいて、必要なシーン表示に必要なスプライトデータがそれぞれ展開されている複数の共通エリアのうちのある共通エリアを特定する。
次にCPU311は、さらに展開テーブルの内容を参照し、各シーンの種類ごとに、そのシーンの表示に用いるスプライトを把握するとともに、それぞれ対応した複数の共通エリアのうちある共通エリア群を特定する。ここでいう特定とは、キャラクタRAM321,322における各シーン表示に必要なスプライトデータが展開されている特定の共通エリア付されたアドレスを把握することなどを意味している。
CPU311は、変動表示パターンを表示するのに必要なシーン表示に必要なスプライトデータに関するアドレスを把握すると、まずCPU311の制御によって表示すべきスプライトが配置されているアドレスなどの描画パラメータを指定する。このVDPコントローラ331は、CPU311の制御によってメモリインターフェース制御回路324を経由してスプライトデータを取得する。
図4に示すカラーパレットレジスタ332c、スプライト属性レジスタ332s及びBG属性レジスタ332bは、それぞれVDPコントローラ331による画像表示動作の制御に際し、このVDPコントローラ331が参照するレジスタである。つまりVDPコントローラ331は、CPU311の指示に基づいて、これらカラーパレットレジスタ332c、スプライト属性レジスタ332s及びBG属性レジスタ332bを参照しつつ、ラインバッファ336を経由して、表示装置16の演出表示を制御している。
ここで上記CPU311は、上述のように生成した描画パラメータに含まれる、カラーパレットデータをカラーパレットレジスタ332cに書き込むとともに、スプライト属性データをスプライト属性レジスタ332sに書き込み、さらにバックグラウンド属性データをバックグラウンド属性レジスタ332bに書き込む。
カラーパレットレジスタ332cは、例えば0〜255番で表される各パレット番号に対応して256パレット分のカラーパレットデータを予め記憶するためのレジスタである。1つのパレットは、例えば16色で構成されている。つまり、このカラーパレットレジスタ332cは、スプライト設定時にパレット番号(例えば0〜255番)の指定があると、この指定されたパレット番号に対応したカラーパレットデータを提供する。
スプライト属性レジスタ332sは、スプライトデータなどのスプライト属性に関するスプライト属性データを記憶している。バックグラウンド(BG)属性レジスタ332bは、バックグラウンド画像の属性に関するバックグラウンド属性データを記憶している。
内蔵RAM335は、書き換え可能な揮発性のメモリであり、例えばSDRAM(Synchronous Dynamic Random Access Memory)である。ここで制御ROM325から内蔵RAM335へのデータの書き込みは、例えばCPU311の制御によって実行されているが、その代わりに、DMAコントローラ384の制御によって実行されるようにしてもよい。
ラインバッファ336は、VDPコントローラ331によって、このよう生成された表示データを、表示すべき画像の走査線(ライン)単位で蓄積する機能を有し、この蓄積した走査線単位の表示データを出力する機能を有する。このVDPコントローラ331は、表示データの出力の際、この表示データに同期させた同期信号SYNCも出力している。表示装置16にフレームを表示させる周期は固定されているため、走査線単位の表示データを出力するための所要時間の上限値が制限されている。このことから、VDP330には、走査線単位で描画可能な画素数の上限値が決められており、描画時の「のべ画素数」が上限値を超える場合には、その走査線については以後の描画を中断して、表示データを出力する。以下、この状態をスプライトオーバーと称する。本実施例では、表示装置16の横方向の画素数640ドットであるのに対し、スプライトオーバーを生じさせる上限値は7000ドットとなっている。
E.表示制御処理:
図5は表示制御処理のフローチャートである。CPU311がVDP330に対して描画コマンド等を出力し、表示データを生成させる処理である。併せて、スケーラ390に対して、拡大/縮小やOSD表示の制御などを行ってもよい。この処理は、16msec周期の割込処理として実行される。
この処理を開始すると、CPU311は、処理を実行するための準備として、多重割込みを許可し(ステップS10)、ノイズキャンセル・判定処理を行う(ステップS12)。そして、割込端子の端子レベルを確認し(ステップS14)、端子レベルが異常の場合には、ノイズ等の影響による異常なトリガに基づいて表示制御処理が開始されたものと判断し、そのまま処理を終了する。
端子レベルが正常の場合には、以下の手順でVDP330に対して描画コマンド等を出力し、表示データを生成させる。ここでは、説明の便宜上、全体を表示制御処理として説明しているが、以下の部分をステップS10〜S14とは別の処理として構成し、32msec周期の割込処理として実行してもよい。
次に、CPU311は、VDP330を初期化する(ステップS16)。この処理には、VDP330が表示データの生成に使用する種々のレジスタ等の値の初期化が含まれるが、CPU311からの描画コマンド等を保持しておくべきスプライトレジスタおよびVDPレジスタの初期化は含まれない。スプライトレジスタ等の初期化は、別途実行することになる。
CPU311は、更にVDP330のスプライトレジスタを初期化する(ステップS18)。また、VDPレジスタに条件設定コマンドを設定する(ステップS20)。これは、表示データ生成時に使用される種々の設定をVDPレジスタに書き込む処理である。これらの初期化およびVDPレジスタ設定が完了すると、CPU311は、次にサブ制御基板35から受信した表示コマンドの内容を解析し(ステップS22)、LCD16に表示すべき画面データを特定する。そして、この画面データに基づいて画像の描画コマンドをVDP330に出力する(ステップS100)。
CPU311は、描画コマンド出力の後、スプライトの最適化を行って、表示制御処理を終了する(ステップS200)。これは、次の手順で、VDP330に定義された表示エリアから全体が外れるようなスプライトについて、描画コマンドから省略する処理である。描画コマンド出力時には、CPU311は、スプライトが表示エリアに含まれるか否かを判定することなく、画面データで特定された全てのスプライトを描画対象としてVDP330のスプライトレジスタに書き込む。各スプライトについては、描画位置の指定の他、表示/非表示を切り換えるためのフラグが設けられており、この段階では、このフラグは全て「表示」に設定されている。CPU311は、スプライトの最適化では、それぞれのスプライトレジスタについて、書き込んだスプライトレジスタのサイズ、位置に基づいて、表示エリアから全体が外れるか否かを判定する。全体が外れるスプライトに対しては、CPU311は、上述のフラグを切り換え「非表示」に設定する。
スプライト最適化は、上述の通り、全体が表示エリアから外れるスプライトを描画するという無駄な処理を回避するための処理である。描画コマンドを出力する際に、一つ一つのスプライトについて表示エリアから外れるか否かの判定を行う方法を採ることも可能ではあるが、本実施例では、描画コマンドの出力と、スプライト最適化に分けることにより、同種の処理を集約することができ、処理効率を向上させている。もっとも、スプライト最適化は、VDP330の処理効率を向上させるための処理であるため、省略することも可能である。
F.描画処理:
図6は描画処理のフローチャートである。表示制御処理(図5)を受け、VDP330が内部的に実行する処理である。まず、VDP330はCPU311から出力された描画コマンドを読み込む(ステップS302)。この描画コマンドには、多数のスプライトについて、表示/非表示、表示位置などの指定がなされている。VDP330は、これらの中から規定の順序で選択したスプライトが表示対象であれば(ステップS304、S306)、そのスプライトを描画する(ステップS308)。表示対象でない場合には(ステップS306)、スプライトの描画をスキップする。
VDP330は、全スプライトの処理について終了した場合(ステップS310)、またはスプライトオーバーが生じた場合(ステップS312)には、描画処理を終了する。スプライトオーバーが生じると、表示対象として指定されたスプライトが残っている場合でも、VDP330は、描画処理を中断してしまうため、そのフレームは、一部のスプライトが欠落した状態で表示される。全スプライトの処理が完了していない場合(ステップS310)、かつスプライトオーバーが生じていない場合(ステップS312)には、VDP330は、次のスプライトの処理(ステップS304)に移行する。
図7はスプライトオーバーの判断方法を示す説明図である。上段に示す通り、横方向が640ドットの表示装置に、横方向100ドットのスプライトA〜Cを配置して画面を描画する場合を例示した。図中に示した走査線Lの描画をする場合を考える。背景を描く際には、走査線L1に示すように、ラインバッファには、640ドット分の描画が行われ、背景に応じた階調値が格納される。次に、スプライトAを描く際には、走査線L2に示すように、ラインバッファには、100ドット分の描画が行われる。走査線L1と重複している画素は、スプライトAに対する透明度の設定に応じて、背景の階調値とスプライトAの階調値との合成結果が格納される。スプライトAが不透明に設定されている場合には、これらの画素にはスプライトAの階調値が格納されることになる。スプライトBを描く際には、走査線L3に示すように、100ドット分の描画が行われる。更に、スプライトCを描く際には、走査線L4に示すように、100ドット分の描画が行われる。
この結果、図示する走査線については、合計940ドットの描画が行われることになる。このように、各走査線に描画されるのべ画素数は、スプライトの大きさ、数、位置によって変化する。こうして求められるのべ画素数が、VDP330によって描画可能な上限値を超えると、スプライトオーバーが生じる。仮に、スプライトBを描いた時点で(走査線L3)、スプライトオーバーが生じたとすれば、スプライトCは描画されないまま走査線Lの表示データが出力される。この結果、スプライトCは、走査線Lの部分が欠落した状態で表示されることになる。
図8はスプライトオーバーによる効果を示す説明図である。図示する通り3枚のレイヤLA1〜LA3で構成される画面を表示する場合を例示する。最前面に全レイヤを重ねた画面PICを示した。最背面のレイヤLA1には、海を表す演出表示と始動記憶が表示される。図中の下部に示したのが始動記憶表示であり、この例では、左右の始動入賞口に入賞した遊技球数をそれぞれハートマーク、スペードマークの数で表している。
最背面のレイヤには、始動記憶の前面に図示する矩形のスプライトが表示される。このスプライトの高さMHは、始動記憶の高さと同じである。この矩形のスプライトは、本実施例では、透明な矩形を用いたが、始動記憶と同じ図柄を表示するスプライトとしてもよい。つまり、これらの矩形は表示してもしなくても、始動記憶の表示内容に影響を与えない。このようなスプライトを本実施例では、マスクスプライトと呼ぶものとする。VDP330は、他のスプライトと同様に、マスクスプライトについても描画処理を行うため、マスクスプライトが存在する領域では、その数によってスプライトオーバーが生じることがある。図8の例では、スプライトオーバーを生じさせるに足りる分のマスクスプライトが用意されているものとする。仮に、表示装置の横幅が640ドットとし、VDP330が描画可能なのべ画素数の上限値が7000ドットであるとすると、マスクスプライトを10枚用意すれば、始動記憶も含めたのべ画素数7000ドットを超えるため、スプライトオーバーが生じることになる。
図の例でVDP330が描画を開始すると、始動記憶よりも上方の部分には、マスクスプライトは存在しないため、スプライトオーバーは生じない。従って、レイヤLA3における魚のスプライトも正常に描画される。これに対し、始動記憶の部分では、上述の通りスプライトオーバーが生じる。このため、レイヤLA3における魚のスプライトは描画されない。つまり、魚のスプライトは、マスクスプライトに対応する領域MSK部分だけ欠落した状態で描画されることになる。この結果、全てのレイヤLA1〜LA3を重ね合わせると、画像PICに示すように、最前面に始動記憶を描画したかのような表示を簡易に実現することができる。
G.描画コマンド出力処理:
図9は描画コマンド出力処理のフローチャートである。表示制御処理(図5)のステップS100に相当する処理であり、CPU311がマスクスプライトの描画要否を判断して、VDP330に描画コマンドを出力する処理である。ここでは、図8に示したように複数のレイヤから画面が構成されている場合を例示する。
まず、CPU311は背景レイヤについての描画コマンドを出力する(ステップS102)。次に、CPU311は、サブ制御基板35からの表示コマンドでマスク指定がなされている時、即ちマスクスプライトを描画すべき旨が指定されている時(ステップS104)には、その表示コマンドに応じてマスクスプライトを描画すべき箇所、マスクスプライトの高さMH、およびマスクスプライト数を設定し(ステップS106)、これに応じてマスクスプライトの描画コマンド(以下、「マスクコマンド」と称する)を出力する(ステップS108)。マスクスプライトが不要の場合には(ステップS104)、上述の処理(ステップS106、S108)はスキップされる。
マスクスプライトの要否は、サブ制御基板35が出力する表示コマンドによって直接、指定してもよいし、表示コマンドに基づいて特定される画面構成(図3で説明した展開テーブル)に基づいて指定するようにしてもよい。後者の場合には、画面構成においてマスクスプライトを配置する旨のみを指定し、位置等はCPU311が判断するようにしてもよいし、マスクスプライトの位置、形状、数を全て指定するようにしてもよい。さらに単純な形式として、スプライトオーバーを生じさせるに足りる数のマスクスプライトを重ね合わせて配置した形で展開テーブルを表しておく方法を採っても良い。この態様では、CPU311は、ステップS106の処理を省略することも可能である。
スプライトオーバーを生じさせるに足りるマスクスプライトの数としては、VDP330が描画可能な上限値を、マスクスプライトの走査線方向のドット数で除した値を用いればよい。マスクスプライト数を、この値よりも小さく設定してもよい。こうすれば、マスクスプライト以外に描画されるスプライトの大きさ、数によってスプライトオーバーが生じるか否かが不規則に変化し、適用部位によって興趣を高めることができる。
マスクスプライトの描画が完了すると、CPU311は次のレイヤの描画コマンド出力に移行する(ステップS110)。CPU311は、この処理(ステップS110)を、全レイヤについて描画コマンドの出力が完了するまで(ステップS112)、繰り返して実行し、描画コマンド出力処理を終了する。
図9の例では、背景レイヤにおいてマスクスプライトを出力する例を示した。マスクスプライトは、種々のタイミングで出力可能である。例えば、背景レイヤの直前に配置されるレイヤにおいて、最初にマスクスプライトの描画コマンドを出力した後、その他のスプライトの描画コマンドを出力するようにしてもよい。
以上で説明した実施例の遊技機によれば、マスクスプライトを用いることにより、容易にスプライトの一部をマスクすることができる。マスクを利用することによって、図8に示したように、特定のスプライトの前面に、他のスプライトが重なることを回避できる。従って、画面上での重なり状態を考えてスプライトの描画の先後を考慮したり、表示すべきスプライトの描画前でスプライトオーバーが生じないようスプライトの配置や描画順序を考慮したりするといった画面デザイン上の負荷を軽減することが可能となる。また、図8に示したように複数のレイヤで画面が構成されている場合、始動記憶を最前面のレイヤに描画する必要がなくなるため、最前面のレイヤを「不透明」という設定にする必要性がなくなる。この結果、例えば、最前面のレイヤを「半透明」に設定して種々のスプライトを描画させるなどして、奥行きを感じさせる演出表示を実現することが可能となる。
上述の実施例では、透明な矩形をマスクスプライトとして用いる場合を例示した。マスクスプライトは、透明なスプライトの他、背景と同一の表示内容を示すスプライトなど、実質的に不可視な種々のスプライトを用いることができる。例えば、先に説明した通り、第1キャラクタRAM321、第2キャラクタRAM322のリフレッシュを実行させるために用いられる不可視の「リフレッシュキャラクタ」をマスクスプライトとして用いても良い。こうすることで、リフレッシュとマスクを並行して行うことができる利点がある。
H1.変形例(1):
実施例(図8,9)では、一定高さのマスクスプライトを用いる場合を例示した。本実施例では、マスクスプライトの高さは固定である必要はなく、異なる高さのマスクスプライトを混在させてもよい。かかる例について、変形例(1)として以下に示す。
図10はマスクの変形例(1)を示す説明図である。図10(a)に示すように、画面内にスプライトA〜Cを描画する場合を考える。変形例では、スプライトA、Cの前面に、高さがMH2のマスクスプライトを描画し、この前面に重ねて高さMH1(MH1<MH2)のマスクスプライトを描画する。高さMH2のマスクスプライトのみが描画される領域LA1と、高さMH1、MH2のマスクスプライト双方が描画される領域LA2とが隣接するようにして形成されることになる。同様に、スプライトA〜Cの前面には、高さMH2のマスクスプライトのみが描画される領域LA3と、高さMH1、MH2のマスクスプライト双方が描画される領域LA4とが隣接するようにして形成されることになる。
図10(b)に、上述の各領域LA1〜LA4において、VDP330が描画するのべ画素数の様子を模式的に示した。ハッチング付した部分がマスクスプライトの描画に相当するのべ画素数を表している。高さMH2のマスクスプライトのみが描画される領域LA1、LA3では、高さMH1、MH2のマスクスプライトの双方が描画される領域LA2、LA4よりも、のべ画素数が小さい。
この状態で、スプライトA〜Cの描画による画素数を加えた状態を、それぞれ示した。図中の「上限値」を超えるとスプライトオーバーが生じるものとする。領域LA1、LA2では、スプライトA,Cを描画しても、スプライトオーバーは生じない。スプライトA〜Cを描画した時、領域LA3ではスプライトオーバーは生じないが、領域LA4ではスプライトオーバーを生じる。この結果、スプライトCは領域LA4に対応する部分が欠落した状態で表示されることになる。
このように高さの異なるマスクスプライトを混在させた場合、マスクスプライトの高さ、数、マスク部分に描画されるスプライトの数、大きさによって、スプライトオーバーが生じたり、生じなかったりする。従って、マスクが演出表示中に不規則に生じることになり、興趣に富んだ演出表示を実現することが可能となる。図10の例では、マスクの高さを2通りに設定したが、更に多段階に高さを変化させてもよい。また、マスクスプライト相互の位置を上下方向にずらすことによっても、上述と同様の効果を得ることができる。
H2.変形例(2):
実施例では、背景レイヤの描画コマンドを出力した後、全マスクコマンドを出力し、その後、前面レイヤの描画コマンドを出力する例を示した。本実施例では、必ずしも全マスクコマンドを一連の順序で出力する必要はなく、複数のマスクコマンドを出力する途中で、他の描画コマンドを挟んでも良い。かかる例について変形例(2)として示す。
図11は変形例(2)の描画コマンド出力処理のフローチャートである。実施例(図9)に代わる処理である。まず、CPU311は、背景レイヤの描画コマンドを出力する(ステップS122)。
マスクが指定されている時(ステップS124)、CPU311は、マスク箇所、マスク高さMH、マスク用スプライトの数、および各レイヤ切換位置を設定する(ステップS128)。変形例では、例えば、複数のマスクコマンドを出力する場合、背景レイヤにおいて一部のマスクコマンドを出力し、レイヤを切り換えて残りのマスクコマンドを出力するという態様を採ることができる。レイヤ切換位置は、例えば、レイヤを切り換えるまでに出力すべきマスクコマンド数という形で設定することが可能である。マスクが指定されていない時(ステップS124)は、この処理はスキップされる。
CPU311は、上述の設定に従って、順次、描画コマンドまたはマスクコマンドを出力する。まず、従前に出力したマスクコマンド数から、レイヤ切換位置に該当すると判断される場合には(ステップS130)、レイヤ描画コマンドを出力し(ステップS134)、そうでない場合には、マスクコマンドを出力する(ステップS132)。CPU311は、以上の処理を全レイヤ、全マスクコマンドについて終了するまで(ステップS136)、繰り返し実行する。
図12は変形例(2)の効果を示す説明図である。図12(a)に示すように、画面内にスプライトA〜Cを描画する場合を考える。画面内にはマスクスプライトMSが描画されている。スプライトA〜Cは背景レイヤよりも前面のレイヤに描画されるものとする。
図12(b)はマスク部分において描画されるのべ画素数を表している。ハッチング部分はマスクスプライトの描画による画素数である。この画素数は、図示する通り、マスクスプライト数が増えるほど、増大する。図中には、マスクスプライト数N1,N2,N3の3通りでレイヤ切換を行った場合の様子を示した。マスクスプライト数N1でレイヤ切換を行った場合には、マスクスプライトによって描画された画素数が比較的少ないため、スプライトA〜Cを描画してもスプライトオーバーは生じない。N2でレイヤ切換を行った場合には、スプライトBの描画中にスプライトオーバーが生じる。従って、スプライトAは完全に表示され、スプライトBはマスクMSの一部が欠落して表示され、スプライトCはマスクMS部分が完全に欠落した状態で表示される。N3でレイヤ切換を行った場合には、スプライトAの描画中にスプライトオーバーが生じる。従って、スプライトAはマスクMSの一部が欠落して表示され、スプライトB、CはマスクMS部分が完全に欠落した状態で表示される。
変形例(2)によれば、レイヤ切換位置の設定によって、スプライトオーバーが生じたり、生じなかったりする。従って、マスクが演出表示中に不規則に生じることになり、興趣に富んだ演出表示を実現することが可能となる。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。上述の各実施例および変形例は、適宜、組み合わせて用いることも可能である。実施例および変形例では、LCD16を表示装置として用いる場合を例示したが、本発明は他の種類の表示装置を用いる場合にも適用可能である。
実施例としてのパチンコ機1の正面図である。 パチンコ機1の制御用ハードウェア構成を示すブロック図である。 図柄制御基板30の回路構成を示すブロック図である。 VDP330の電気的な構成例を示すブロック図である。 表示制御処理のフローチャートである。 描画処理のフローチャートである。 スプライトオーバーの判断方法を示す説明図である。 スプライトオーバーによる効果を示す説明図である。 描画コマンド出力処理のフローチャートである。 マスクの変形例(1)を示す説明図である。 変形例(2)の描画コマンド出力処理のフローチャートである。 変形例(2)の効果を示す説明図である。 従来技術における画面表示例を示す説明図である。
符号の説明
1…パチンコ機
3…メイン制御基板
4…遊技盤
4a…表示部
4b…操作スイッチ
6…遊技領域
8…発射ハンドル
8…ハンドル
9…始動入賞口
10…大入賞口
12…パネル装飾ランプ
15a…入賞検出器
16…表示装置(LCD)
18…大入賞口ソレノイド
20…払出モータ
21…賞球払出装置
22…払出球検出器
24…モータ駆動センサ
25…払出制御基板
29…スピーカ
30…図柄装飾基板
31…枠装飾ランプ
32、34…ランプ中継基板
35…サブ制御基板
41…特別図柄表示装置
47…発射制御基板
48…タッチ検出部
49…発射モータ
311…CPU
312…圧縮データメモリコントローラ
312a,327a,328a,329a,315a…レジスタ
314…第1キャラクタRAMコントローラ
315…展開データメモリコントローラ
317…第2キャラクタRAMコントローラ
320…VDPインターフェース
321…第1キャラクタRAM
322…第2キャラクタRAM
324…メモリインターフェース制御回路
325…制御ROM
327…動画像データ伸張コントローラ
328,329…スプライトデータ伸張コントローラ
330…VDP
331…VDPコントローラ
332c…カラーパレットレジスタ
332s…スプライト属性レジスタ
332b…バックグラウンド属性レジスタ
333…ROMインターフェース
335…内蔵RAM
336…ラインバッファ
340…キャラクタROM
382…バス
383…CPUインターフェース
384…DMAコントローラ
390…スケーラ
397…フレームバッファ

Claims (10)

  1. 遊技中に所定の演出表示を行う遊技機であって、
    遊技盤面に設けられ、表示用の画素が二次元的に配列された表示装置と、
    前記遊技の状況に応じて前記演出表示を制御する表示コマンドを出力するサブ制御基板と、
    前記サブ制御基板からの表示コマンドを受けて、前記表示装置を駆動するための表示データを生成し、該表示装置に出力する表示制御基板とを有し、
    前記表示制御基板は、
    前記表示コマンドに応じて、前記表示装置に表示すべき画面の構成を規定する描画コマンドを出力する描画制御部と、
    前記描画コマンドに基づいて、前記表示装置の各画素の表示状態を規定する表示データを、前記配列の行または列を生成単位として生成する表示データ生成部を備え、
    前記表示データ生成部は、前記表示データの生成時に、前記生成単位ごとに描画できるのべ画素数に上限値があり、
    前記描画制御部は、前記画面内のマスクすべき部位に対しては、マスク図形として所定の不可視の図形を描画させるマスクコマンドを、表示データ生成部が描画する画素数が該マスクコマンドのみ又は前記描画コマンドと併せて前記上限値を超え得る数、出力する遊技機。
  2. 請求項1記載の遊技機であって、
    前記描画制御部は、前記表示データ生成部によって、少なくとも一つの前記マスク図形が前記描画コマンドよりも前に描画されるタイミングで前記マスクコマンドを出力する遊技機。
  3. 請求項1または2記載の遊技機であって、
    前記表示データ生成部は、背面から前面に重ねられた複数のレイヤに分けて規定された描画コマンドに基づいて、表示データを前記背面側のレイヤから優先して生成し、
    前記描画制御部は、前記マスク図形を出力する領域において、必ず表示すべき図形に対する描画コマンドを、前記マスクコマンドと同一または背面側のレイヤで出力する遊技機。
  4. 請求項1〜3いずれか記載の遊技機であって、
    前記描画制御部は、前記マスクコマンドのみでは前記上限値に至らない範囲で、前記マスクコマンドを出力する遊技機。
  5. 請求項4記載の遊技機であって、
    前記描画制御部は、複数のマスクコマンド間の不定の位置に、前記描画コマンドを出力する遊技機。
  6. 請求項1〜5いずれか記載の遊技機であって、
    前記マスク図形は前記生成単位となる行または列を、複数隣接して配置した形状である遊技機。
  7. 請求項6記載の遊技機であって、
    複数の前記マスク図形には、前記隣接させる数が異なる形状が混在している遊技機。
  8. 請求項1〜7いずれか記載の遊技機であって、
    前記描画制御部は、前記画面内で前記マスク図形を描画させる位置を変化させて、前記マスクコマンドを出力する遊技機。
  9. 請求項1〜8いずれか記載の遊技機であって、
    前記表示制御基板は、
    更に、記憶を保持するためにリフレッシュ動作が要求されるメモリ素子を用いて、前記画面に表示される所定のスプライトを前記表示装置の画素単位で表したスプライトデータを記憶するキャラクターメモリと、
    前記表示データ生成部からの要求に応じて前記キャラクターメモリからの前記スプライトの読み出しを制御する制御装置であって、所定のリフレッシュキャラクタが要求された場合には所定の不可視の図形を前記スプライトとして前記表示データ生成部に受け渡すとともに、前記リフレッシュ動作を実行するキャラクターメモリ制御装置とを有し、
    前記描画制御部は、前記マスクコマンドとして、前記リフレッシュキャラクタの描画を指定する描画コマンドを出力する遊技機。
  10. 請求項1記載の遊技機であって、
    該遊技機は、遊技球が遊技盤面に設けられた所定の始動入賞口に入った際に所定の入賞動作を行い、
    前記画面の少なくとも一部には、前記始動入賞口に入った後、前記入賞動作が未済の遊技球数を表示する始動記憶表示が含まれており、
    前記描画制御部は、前記始動記憶表示の描画がなされた後、前記上限値を超えるまで該始動記憶表示に重ねて前記マスク図形が描画されるよう、前記描画コマンドおよび前記マスクコマンドを出力する遊技機。
JP2006202708A 2006-07-26 2006-07-26 遊技機 Expired - Fee Related JP5070540B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006202708A JP5070540B2 (ja) 2006-07-26 2006-07-26 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202708A JP5070540B2 (ja) 2006-07-26 2006-07-26 遊技機

Publications (3)

Publication Number Publication Date
JP2008029364A true JP2008029364A (ja) 2008-02-14
JP2008029364A5 JP2008029364A5 (ja) 2009-10-01
JP5070540B2 JP5070540B2 (ja) 2012-11-14

Family

ID=39119405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202708A Expired - Fee Related JP5070540B2 (ja) 2006-07-26 2006-07-26 遊技機

Country Status (1)

Country Link
JP (1) JP5070540B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015167623A (ja) * 2014-03-05 2015-09-28 京楽産業.株式会社 遊技機
JP2016209655A (ja) * 2016-08-17 2016-12-15 京楽産業.株式会社 遊技機

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0419896A (ja) * 1990-05-14 1992-01-23 Sharp Corp ダイナミックメモリのリフレッシュ方法
JPH08328544A (ja) * 1995-05-29 1996-12-13 Casio Comput Co Ltd 画像出力装置
JP2003228364A (ja) * 2002-02-01 2003-08-15 Shinnichi Electronics Kk パチンコ機の画像表示装置とその表示方法及びそのコンピュータプログラム
JP2005087334A (ja) * 2003-09-12 2005-04-07 Sankyo Kk 遊技機

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0419896A (ja) * 1990-05-14 1992-01-23 Sharp Corp ダイナミックメモリのリフレッシュ方法
JPH08328544A (ja) * 1995-05-29 1996-12-13 Casio Comput Co Ltd 画像出力装置
JP2003228364A (ja) * 2002-02-01 2003-08-15 Shinnichi Electronics Kk パチンコ機の画像表示装置とその表示方法及びそのコンピュータプログラム
JP2005087334A (ja) * 2003-09-12 2005-04-07 Sankyo Kk 遊技機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015167623A (ja) * 2014-03-05 2015-09-28 京楽産業.株式会社 遊技機
JP2016209655A (ja) * 2016-08-17 2016-12-15 京楽産業.株式会社 遊技機

Also Published As

Publication number Publication date
JP5070540B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
JP5153091B2 (ja) 遊技機
JP5093553B2 (ja) 遊技機
JP5119425B2 (ja) 遊技機
JP2010022741A (ja) 遊技機
JP5771814B2 (ja) 遊技機
JP2008289786A (ja) 画像表示装置、遊技機、画像表示方法、画像表示プログラム、および記録媒体
JP2008061852A (ja) 遊技機
JP2010022747A (ja) 遊技機
JP2009018121A (ja) 遊技機
JP2009273836A (ja) 遊技機
JP5144045B2 (ja) 遊技機
JP2010022748A (ja) 遊技機
JP5070540B2 (ja) 遊技機
JP2015027376A (ja) 遊技機
JP6353202B2 (ja) 遊技機
JP2005027796A (ja) 遊技機、および、その画像表示装置
JP5070455B2 (ja) 遊技機
JP5159180B2 (ja) 遊技機
JP6152005B2 (ja) 遊技機
JP6096078B2 (ja) 遊技機
JP4968723B2 (ja) 遊技機
JP2017051776A (ja) 遊技機
JP6391752B2 (ja) 遊技機
JP6082971B2 (ja) 遊技機
JP2018143869A (ja) 遊技機

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081114

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090727

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120627

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120726

R150 Certificate of patent or registration of utility model

Ref document number: 5070540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees