JP5070455B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP5070455B2
JP5070455B2 JP2006124166A JP2006124166A JP5070455B2 JP 5070455 B2 JP5070455 B2 JP 5070455B2 JP 2006124166 A JP2006124166 A JP 2006124166A JP 2006124166 A JP2006124166 A JP 2006124166A JP 5070455 B2 JP5070455 B2 JP 5070455B2
Authority
JP
Japan
Prior art keywords
display
display data
data
screen
divided
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.)
Expired - Fee Related
Application number
JP2006124166A
Other languages
English (en)
Other versions
JP2007295977A5 (ja
JP2007295977A (ja
Inventor
高明 市原
昌則 中村
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.)
Daiichi Shokai Co Ltd
Original Assignee
Daiichi Shokai 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 Daiichi Shokai Co Ltd filed Critical Daiichi Shokai Co Ltd
Priority to JP2006124166A priority Critical patent/JP5070455B2/ja
Publication of JP2007295977A publication Critical patent/JP2007295977A/ja
Publication of JP2007295977A5 publication Critical patent/JP2007295977A5/ja
Application granted granted Critical
Publication of JP5070455B2 publication Critical patent/JP5070455B2/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)

Description

本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う画面表示方法に関する。
パチンコ機やスロットマシンなどの遊技機では、遊技盤に備えられた表示装置を用いて、遊技中に種々の演出表示が行われる。この演出表示には、液晶パネルが用いられることが多い。液晶パネルは、マトリックス状に配置された画素によって画像を表示する。画像を表示するための表示データは、例えば、特許文献1記載の手順で生成される。まず、演出表示を制御するためのCPUは、表示コマンドを受け取り、その内容を解析し、予め用意されたスケジュールデータを参照して、表示すべき画面の内容を決定する。そして、このスケジュールデータに基づいて描画コマンドをVDP(Video Display Processor)に出力する。VDPは、この描画コマンドをビットマップ展開して画素単位での表示データを生成し、液晶パネルに出力する。表示データを生成する回路には、生成されたデータを一時的に保持しておくためのバッファが設けられるのが通常である。
特開2005−27833号公報
近年、遊技機の興趣を高めるため、液晶パネルが大型化し、画素数が増大する傾向にある。このような液晶パネルを用いるためには、その画素数に応じて、VDPの処理能力を向上させることが望ましい。しかし、画素数は液晶パネルの面積に比例して増大するため、VDPには液晶パネルの面積増に応じた能力向上が要求されることになる。この能力向上にはVDPが表示データを生成する際に使用するメモリ容量や表示データの管理情報を格納するためのレジスタサイズの増大、描画に必要なスプライトのデータを格納するキャラROMの容量、キャラROMへのアクセス速度などが要求され、いずれの面でも能力向上には限界があり、また仮に能力向上が技術的に可能であったとしても、VDPのコスト増大、ひいては遊技機自体のコスト増大という看過できない弊害を招くことになる。
特許文献1では、VDPの能力向上に代えて、スケーラと呼ばれる素子を用いる技術が開示されている。スケーラを用いれば、VDPが生成した1画素分の表示データを、複数画素で共通に使用することによって、表示データを拡大し、大画面の液晶パネルに画像を表示することが可能となる。しかし、この技術は、複数の画素に同じ表示データを出力するため、液晶パネルの解像度を実質的に低下させ、表示される画像の画質を低下させることになる。
このように、従来の技術では、VDPの能力およびコストを抑制しつつ、十分に高い解像度で大画面の液晶パネルへの画像表示を行うことができなかった。かかる課題は、液晶パネルを用いる場合のみならず、種々の表示装置に共通の課題であった。本発明は、この課題の解決を図り、遊技機において、VDPの能力増を要さず、高解像度の表示装置への画像表示を実現することを目的とする。
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機を対象とする。遊技機には、パチンコ機や回胴式遊技機などが該当する。表示装置は、液晶パネル、プラズマディスプレイ、有機LEなどを利用可能である。遊技機には、遊技の状況に応じて演出表示を制御する表示コマンドを出力するサブ制御基板と、サブ制御基板からの表示コマンドを受けて、表示装置を駆動する表示制御基板とが備えられている。この他に、遊技機全体の制御を統合する主制御基板、賞球やメダル等の払出しを制御する払出基板などを備えてもよい。
本発明の表示制御基板は、表示装置への演出表示を実現するために画面データ記憶部、描画制御部、キャラクターメモリ、表示データ生成部、表示データ管理部が設けられている。画面データ記憶部は、表示装置に表示すべき画面の構成を規定する画面データを記憶している。画面データは、表示コマンドと対応づけられているため、画面データを用いることによって表示コマンドに応じた画面が決まることになる。描画制御部は、表示領域を予め複数の分割領域に分割し、表示コマンドに応じて、表示すべき画面を決定するとともに、画面データに基づいて、予め定めた周期の割り込みが発生するごとに、複数の分割領域のうち、一の分割領域に応じた描画コマンドを出力し、分割領域の分割数だけ予め定めた周期の割り込みが発生すると、すべての分割領域に応じた描画コマンドの出力を完了する。ここで、描画コマンドとは、画面を、表示装置の画素単位で展開したデータを生成するためのコマンドである。本発明では、キャラクターメモリに、画面に表示される所定のスプライトを表示装置の画素単位で表したスプライトデータが記録されている。描画コマンドには、例えば、このスプライトの配置、複数のスプライトの重ね合わせ方が含まれる。スプライト以外の図形や線分の描画を指定するコマンドを含めても良い。
本明細書では、「キャラクター」および「スプライト」を次の意味で用いる。スプライトとは、遊技機の画面にまとまった単位として表示されるイメージを意味する。例えば、画面上に種々の人物を表示させる場合には、それぞれの人物を描くためのデータを「スプライト」と呼ぶ。複数の人物を表示させるためには、複数のスプライトを用いることになる。人物のみならず背景画像を構成する家、山、道路などをそれぞれスプライトとすることもできる。また、背景画像全体を一つのスプライトとしてもよい。遊技機は、これらの各スプライトの画面上の配置を決め、スプライト同士が重なる場合の上下関係を決めることで、種々の画像を表示させることが可能である。
遊技機では、データを扱う便宜上、各スプライトは縦横それぞれ64ピクセルなど一定の大きさの矩形領域を複数組み合わせて構成される。この矩形領域を描くためのデータを「キャラクター」と呼ぶ。小さなスプライトの場合は、一つのキャラクターで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横2×縦3などで配置した合計6個のキャラクターで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクターを用いて表現することができる。キャラクターの数および配置は、スプライトごとに任意に指定可能である。
表示データ生成部は、仮想のキャンバス上に描画コマンドで指定されたスプライトデータを指定された位置に配置して、画面データに対応した画像を表す表示データを生成する。表示データは、ビットマップ展開された画像のうち、キャンバス上に分割領域に対応した大きさで予め設定された表示エリア内の描画結果に基づいて生成される。本発明では、このキャンバスのサイズは、各分割領域よりも大きく表示領域よりは縦横の一方が小さい。分割領域よりも大きいサイズとすることにより、いずれの分割領域についても、それぞれキャンバス上に画像を展開することが可能となる。表示領域よりも小さいサイズとすることにより、表示データ生成部に要求される処理能力を抑制することができる。キャンバスのサイズは、表示データ生成部の能力によって定まるものである。例えば、表示データ生成部が描画用に有するメモリ容量上の制約で定まる場合もあれば、キャラクターメモリへのアクセスや描画処理の速度上の制約で定まる場合もある。また、表示データの管理情報を格納するためのレジスタサイズ上の制約で定まる場合もある。キャンバスのサイズは、表示データ生成部の物理的な性能の制約とは無関係に、設定された値であってもよい。キャンバスは、仮想的なものであるため、必ずしもフレームメモリのようにキャンバス全体の画素を記憶可能なメモリが物理的に用意されている必要はない。
表示データ記憶部には、こうして生成された各分割領域の表示データ、表示領域上の画素と対応づけて記憶するための第1の表示データ記憶部と第2の表示データ記憶部とを有する。つまり、表示データ記憶部の第1の表示データ記憶部と第2の表示データ記憶部とには、表示領域に表示すべき画面全体に対応したデータが格納可能であり、各分割領域の表示データが生成されるたびに、画面のデータが部分的に満たされていき、全ての分割領域についての処理が完了すると、画面全体のデータが満たされることになる。表示データ管理部は、予め定めた周期の割り込みが発生するごとに、第1の表示データ記憶部と第2の表示データ記憶部とのうち、いずれか一方に表示データを格納するとともに、格納完了した表示データを表示装置に出力し、予め定めた周期の割り込みが発生するごとに、表示データ生成部が生成した複数の分割領域のうち、一の分割領域の表示データを第1の表示データ記憶部に格納し、分割数だけ予め定めた周期の割り込みが発生すると、複数の分割領域のすべての表示データを第1の表示データ記憶部に格納完了し、次の予め定めた周期の割り込みが発生すると、表示データ生成部が生成した複数の分割領域のうち、一の分割領域の表示データを、第1の表示データ記憶部から第2の表示データ記憶部へ切り替えて格納開始するとともに、第2の表示データ記憶部に複数の分割領域のすべての表示データが格納完了するまでの間、第1の表示データ記憶部に格納完了した表示データを表示装置に出力する。表示データの出力タイミングは、種々の設定が可能である。例えば、画面の一部のデータが満たされた時点で出力を開始してもよい。の場合には、表示データの格納と、出力とを並行して行うことになる。
先に説明した通り、表示装置は種々の装置を用いることが可能であるが、例えば、画素の配列に沿った一方向に各画素の表示状態を設定する主走査と、一方向と交差する方向に主走査を繰り返し実行する副走査とによって駆動される装置とすることができる。この場合、分割領域は、主走査が行われる一方向(以下、「主走査方向」と呼ぶ)に平行な境界線で定義することが好ましい。例えば、左右方向に主走査が行われる場合には、左右方向の境界線によって分割領域を定義することが好ましく、各領域は上下方向に配置されることになる。分割領域は、更に、主走査に交差する方向(以下、「副走査方向」と呼ぶ)の境界線を含めて定義しても良い。例えば、上述の場合において、上下方向に配置された各領域を更に、左右に分割して各分割領域を定義してもよい。
いずれの場合においても、主走査方向に平行な境界線で分割領域を定義することにより、主走査方向に配列された一列分の画素(以下、「ラスタ」と呼ぶ)に対応するデータを速やかに生成することができる。仮に主走査方向に交差する境界線で分割領域が定義されている場合には、1ラスタ分のデータを用意するために、複数回の表示データ生成を繰り返す必要が生じるが、上述の態様では表示データの生成が行われる度に、速やかに1ラスタ分の表示データが完成することになる。この結果、各ラスタの表示データの格納、全ラスタの表示データの生成が完了したか否かの判断その他の管理が容易となる利点がある。また、表示データの格納と出力とを並行して行うことが可能となる利点もある。
表示データ記憶部へのデータ格納の際、表示データと分割領域との対応関係は、表示データ管理部が自律的に判断可能としてもよい。表示データ管理部にとって、各分割領域の位置および処理順序が既知となっている場合には、この方法が可能である。これに対し、描画制御部が、描画コマンドを表示データ生成部に出力する際に、フィールド信号、即ち描画コマンドに対応する分割領域を特定するための制御信号を、表示データ管理部に出力するようにしてもよい。予め分割領域に付されたインデックスを表す信号をフィールド信号として用いることができる。こうすることにより、表示データ管理部は、容易かつ確実に、表示データと分割領域との対応関係を把握することが可能となる。
先に説明した通り、本発明では、分割領域ごとに表示データを生成し、これらの表示データを集めて画面全体に対応する表示データを生成する。これは、キャンバスに展開すべき描画コマンドが分割領域ごとに異なることを意味する。分割領域ごとに異なる描画コマンドを表示データ生成装置に出力するためには、種々の方法を採ることができる。
第1の態様として、分割領域が同一の形状となっている場合には、描画制御部は、分割領域に関わらず、画面の全体を描画するための描画コマンドを出力する。この際、描画コマンドで指定されるスプライトデータの位置と表示エリアとの相対的な位置関係を分割領域に応じて変更する。描画コマンドに含まれる座標値、表示エリアの位置を規定する座標値の一方または双方を変更すればよい。この態様では、描画コマンドを複数の分割領域で共通して使うことができるため、用意しておくべき画面データの容量を抑制することが可能となる。
第2の態様として、分割領域が同一の形状となっている場合には、描画制御部は、分割領域のうち最初の分割領域に対して、画面の全体を描画するための描画コマンドを出力し、2番目以降の分割領域に対しては、キャンバスにおける表示エリアの位置を変更するコマンドを出力するようにしてもよい。この態様では、分割領域の位置に応じて表示エリアの位置を変更するため、描画コマンドは2以上の分割領域で共通化することができる。もっとも、この態様においても、2番目以降の分割領域においても、適宜、描画コマンドを出力しても差し支えない。
第3の態様として、画面データ記憶部に、一つの画面に対し分割領域単位で画面の一部を表す複数通りの画面データを用意しておいてもよい。画面データは、分割領域ごとに個別に用意してもよいし、2以上の分割領域に共通のデータとしてもよい。このように複数通りの画面データが用意されている場合、描画制御部が、分割領域に対応した画面データを選択して描画コマンドを出力することにより、座標値の修正などの処理を要するまでなく、各分割領域に応じた表示データを生成することができる。
表示データの生成時には、描画コマンドとは別に、分割領域の全てに共通して描画時の条件を設定する条件設定コマンドが要求されることがある。条件設定コマンドには、例えば、描画コマンドが複数のレイヤから構成されている場合に、各レイヤの重ね合わせ順序、表示/非表示の設定などが含まれる。このような場合には、描画制御部が、条件設定コマンドを生成して表示データ生成部に出力すればよい。条件設定コマンドの出力は種々のタイミングで行うことができる。一例として、最初の分割領域に対する描画コマンドを出力した後に出力する方法を採ることができる。こうすることにより、描画コマンドとほぼ同期して条件設定コマンドを表示データ生成部に受け渡すことができる利点がある。
また、上述のタイミングで条件設定コマンドを出力するか否かに関わらず、条件設定コマンドは、2番目以降の分割領域のうち少なくとも一つに対する処理時を除いて出力することが好ましい。つまり、最初の分割領域の処理時には必然的に出力されるが、2番目以降の分割領域の処理時には、一部または全部で出力が省略される。こうすることで表示データ生成部へのデータ出力を簡素化することができる。
本発明では、上述した種々の特徴を全て備えている必要はなく、一部を省略してもよいし、適宜、組み合わせて適用してもよい。また、本発明における上述の特徴部分は、ハードウェア的に実現してもよいし、ソフトウェア的に実現してもよい。
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、遊技機は、回胴式遊技機としてもよい。
A.遊技機の構成:
B.制御用ハードウェア構成:
C.画面表示制御方法:
D.表示制御処理:
E.変形例:
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と接続されており、各ランプを個別に点滅させることができる。
図3は装飾図柄制御基板30の回路構成を示す説明図である。装飾図柄制御基板30は、サブ制御基板35から受けた表示コマンドに応じて、LCD16に画面を表示するための駆動データを出力する。駆動データは、LCD16にマトリックス状に備えられたR,G,Bの各画素の表示階調値を示すデータである。本実施例のLCD16は左右方向に800画素、上下方向に600画素を有している。駆動データは、主走査として、LCD16の左から右に順次、画素ごとに出力される。一ラスタ分の出力が完了すると、副走査として直下のラスタに移行し、同様に左から右に向けて順次、画素ごとに駆動データが出力される。以下では、左右方向を主走査方向と呼び、上下方向を副走査方向と呼ぶこともある。
装飾図柄制御基板30には、表示コマンドに応じた駆動データを生成する機能を実現するために図示する種々の回路が用意されている。装飾図柄制御基板30には、まず、駆動データの生成を制御するためのマイクロコンピュータとしてCPU381、RAM382、ROM383が備えられている。ROM383には、駆動データを生成するための表示プログラム、表示コマンドに対し表示すべき画面、表示の時間、表示の順序を規定するスケジューラ、各画面の構成を規定する画面データが記憶されている。画面データの内容については後述するが、この段階では、LCD16の画素に対応したデータとはなっていない。CPU381は、ROM383を参照して、表示コマンドに応じた画面データを抽出し、VDP(Video Display Processor)385に出力する。
キャラROM386は、スプライトデータ、即ち画面に表示されるスプライトをビットマップで表したデータを格納している。VDP385は、CPU381から受け取った画面データに基づいて、表示すべきスプライトデータをキャラROM386から抽出し、表示データ、即ち表示すべき画像をビットマップ展開したデータを生成して、スケーラ390に出力する。以下、ビットマップ展開するための記憶領域を「キャンバス」と呼ぶ。
VDP385には、CPU381からの画面データを受け取り保持しておくためのレジスタとして、スプライトレジスタ385sおよびVDPレジスタ385vを備えている。スプライトレジスタ385sは、画面データのうち、スプライトの配置や重ね合わせの順序などを示す描画コマンドを受け取るためのレジスタであり、ダブルバッファとして構成されている。つまり、第1バッファ、第2バッファという二つの等しい容量のバッファが備えられている。従って、VDP385は、CPU381から出力された描画コマンドが第1バッファに書き込まれている間、第2バッファに保持されている描画コマンドを読み出して表示データの生成処理を実行することができる。VDPレジスタ385vは、表示データを生成する際の条件設定を指定するコマンド(以下、「条件設定コマンド」と呼ぶ)を記憶するためのレジスタである。条件設定コマンドには、例えば、描画コマンドが複数のレイヤから構成されている場合に、各レイヤの重ね合わせ順序、表示/非表示の設定などが含まれる。条件設定コマンドは比較的低容量であり、書き込みの所要時間が短いことから、VDPレジスタ385vはダブルバッファとはなっていない。
スケーラ390は、VDP385からの表示データをフレームメモリ397に格納する。また、フレームメモリ397から表示データを読み出し、LCD16に出力する。図示する通り、本実施例では、フレームメモリ397の内部は、800×300画素分を単位とする4つのフィールド397[0]〜397[3]に分けられている。この意義について次に説明する。
本実施例では、VDP385はLCD16の表示データを2回に分けて生成する。つまり、本実施例では、図中に示すようにLCD16を中央でそれぞれ800×300ドットの分割領域に分割する。以下、上側の領域を上画像、下側の領域を下画像と呼ぶものとする。VDP385はまず上画像の表示データを生成し、フレームメモリ397に格納し、次に下画像の表示データを生成して、フレームメモリ397に格納する。スケーラ390は、上画像と下画像の両方の表示データが格納された時点で、両者をLCD16に順次、出力する。こうすることで、VDP385が800×600ドットの表示データを一度に生成するだけの能力を有しない場合でも、解像度を低下させることなく画面を表示させることが可能となるのである。スケーラ390は、本来、LCD16への出力過程で、VDP385によって生成された表示データの画素数を増減しLCD16の画素数に適合させたり、いわゆるインターレース形式で生成された表示データをノンインタレース形式に形式変換したりするための素子であり、フレームメモリ397の内部を4つのフィールドに分けて管理する機能も、本来は画素数の増減や形式変換を実現するために用意されている機能である。本実施例では、この機能を以下で説明する通り流用することで、分割して生成された表示データを結合して1画面分の表示データを生成する機能を実現している。
フレームメモリ397に設けられた各フィールド397[0]〜397[3]は、LCD16の2画面分の表示データを格納することができる。フィールド397[0]、397[2]はそれぞれ上画像の表示データを格納し、フィールド397[1]、397[3]はそれぞれ下画像の表示データを格納する。
フレームメモリ397の各フィールド397[0]〜397[3]に表示データを誤り無く格納するため、本実施例では、CPU381がVDP385に描画コマンドを出力する際に、上画像/下画像のいずれの描画コマンドであるかを示すフィールド信号を生成し、スケーラ390に出力する。スケーラ390は、この信号に応じて制御信号IFLDを生成し、フィールド397[0]〜397[3]のうち、VDP385からの表示データを格納すべきフィールドを特定する。
VDP385からスケーラ390には、表示データと併せて同期信号が出力される。同期信号は、上画像、下画像を生成する度に出力される。本実施例では、上画像、下画像の生成は、16msec周期で行うものとした。この同期信号は、LCD16にそのまま出力される。従って、LCD16は16msecのフレームレートで表示される。ただし、上画像、下画像の両方の表示データをそろえるためには、16msecの処理を2回行う必要があるため、LCD16の画面自体は32msecでしか更新できない。つまり、本実施例では、スケーラ390は、既に上画像、下画像共に生成済みの表示データを、フレームメモリ397から16msecで読み出し、LCD16に出力する処理を2回繰り返す。この間に次の上画像、下画像の表示データがそろうため、スケーラ390は次の周期では、LCD16に新たなデータを出力可能となる。本実施例では、スケーラ390は、このように同一画像を16msecで2回表示しつつ、表示内容を32msecで更新しながらLCD16への表示を行う。
本実施例では、最も簡易な態様として、スケーラ390は、上画面/下画面に分割して生成された表示データを結合する機能を奏するものとして説明する。スケーラ390は、更に、この結合を実現する過程で上画面/下画面の画素数の増減を行っても良いし、結合した後、LCD16に出力する段階で画素数の増減を行っても良い。本実施例のように画面を分割して生成することにより、原理的には無制限に高解像度の画面を表示することも可能となるが、現実には、高解像度の画面に対応した膨大なキャラクタデータを用意する必要が生じ、キャラROM386の容量が膨大になってしまうという弊害や、キャラROM386へのアクセス回数の増加、スプライトを描画する際の処理負荷の増大などに伴う制約が生じるのが通常である。上述の通り、画面の分割と、スケーラ390本来の機能である画素数の増減とを組み合わせて適用することにより、これらの弊害を抑えながら、高解像度での画面表示を実現することが可能となる。
C.画面表示制御方法:
図4は表示データの生成例を示す説明図である。図の右下に示す画像(800×600ドット)を表示する手順を示した。図の左側には、VDP385内での処理概要を示し、図の右側にはフレームメモリ397に格納されるデータ内容を示した。図の左側に示すように、VDP385内では、描画データをビットマップ展開するためのキャンバスCV1が用意されている。回路上では、キャンバスCV1内の全画素に対応するメモリ領域が用意されることになる。キャンバスCV1のサイズは、上画像/下画像(800×300ドット)よりも大きく、LCD16の表示領域(800×600ドット)よりも小さく、縦方向に512ドットとなっている。以下、説明の便宜上、キャンバスCV1の左上を原点として左から右に向かう主走査方向をx方向、上から下に向かう副走査方向をy方向と呼ぶこともある。
本実施例では、キャンバスCV1に対応する物理的なメモリが用意されている場合を例にとって説明するが、キャンバスCV1は仮想的なものでもよい。例えば、キャンバスCV1上への描画をラスタ単位で行う場合には、1ラスタ分の描画データをビットマップ展開するためのラインメモリ、およびキャンバスCV1のどのラスタを展開しているのかを管理するためのレジスタを用意しておけば足りる。VDP385が描画可能なキャンバスCV1のサイズは、このレジスタの上限値で決定されることになる。本実施例は、このレジスタの上限値が512に制限されている場合に相当すると言うこともできる。
キャンバスCV1内には、表示エリアVAが定義されている。これは上画像/下画像と同一形状の領域である。VDP385は、キャンバスCV1上に画像をビットマップ展開した後、表示エリアVA内の画像を切り出し、表示データとしてスケーラ390に出力する。本実施例において、キャンバスCV1を表示エリアVAよりも大きいサイズとしたのは、スプライトが表示エリアVAから一部はみ出す状態で配置された場合でも比較的簡易な処理でビットマップ展開可能とするためである。このような状態でスプライトが配置されている場合の処理方法としては、キャラROMから取得したスプライトデータのうち、表示エリアVA内に存在する部分のみを切り出してビットマップ展開する方法も可能ではある。しかし、この方法では、描画時の処理負荷が非常に高くなる。これに対し、キャンバスCV1を表示エリアVAよりも大きくしておけば、スプライトが表示エリアVAからはみ出す場合でも、上述の切り出しを行うまでなく、ビットマップ展開できるため、処理の簡素化を図ることができるのである。こうした効果を重視しない場合は、キャンバスCV1と表示エリアVAとを同じ形状とすることも可能である。
CPU381から上画像の描画データを受け取り、VDP385が画像を描画すると、キャンバスCV2の状態が得られる。VDP385は、キャンバスCV2から、表示エリアVA内の画像を切り出し、スケーラ390を介して(図示を省略)、表示データとして出力する。この表示データは、フレームメモリ397の上画像用のフィールド397[0]に格納される。この結果、フレームメモリ397内には、状態FM1で示す内容の表示データが格納されることになる。
次に、CPU381から下画像の描画データを受け取り、VDP385が画像を描画すると、キャンバスCV3の状態が得られる。本実施例では、表示エリアVAの位置は固定したまま、画像の位置を−y方向に300ドット分ずらして描画する。この移動を実現するためには、描画コマンドで指定されるy座標値から300を引けばよい。画像の位置をずらして描画した状態で、表示エリアVA内の画像を切り出せば、下画像の表示データが得られることになる。この表示データは、フレームメモリ397の下画像用のフィールド397[1]に格納される。この結果、フレームメモリ397内には、状態FM2で示す通り、画像全体を表す表示データが格納されることになる。この表示データを出力すれば、LCD16には右下に示した画像を表示させることができる。
図5はVDP385への画面データ出力の様子を示すタイミングチャートである。図4で説明した手順で、上画像、下画像の表示データがフレームメモリに格納され、LCD16に出力される様子を示した。VDP385のスプライトレジスタ385sには、上画像、下画像の順で繰り返し描画コマンドが書き込まれる。図中では、LCD16に表示されるフレーム1に対応した上画像、下画像をそれぞれ「上1」、「下1」のように略称で示した。フレーム2、フレーム3に対応する上画像、下画像も同様である。
図3で説明した通り、スプライトレジスタ385sはダブルバッファとなっている。第1バッファへの「上1」の描画コマンドの書き込みが完了すると、この描画コマンドは、DMA信号に同期して、第2バッファにDMA転送され、VDP385によるビットマップ展開が開始される。この結果、図中に示すように、「上1」の書き込みが完了し、DMA信号が出力された後で、VDP出力として「上1出力」、即ち「上1」に対応した表示データの出力が得られる。「下1」以降の描画コマンドおよび表示データの出力も同様のタイミングで繰り返される。また、VDP出力と併せてVDP385からは同期信号VSYNCが出力される。
CPU381からVDP385には、描画コマンドの他、描画条件を指定する条件設定コマンドも出力される。このコマンドはVDPレジスタに格納される。本実施例では、CPU381からVDP385への上画像の描画コマンドの出力が完了した時点で、条件設定コマンドを出力するものとした。従って、図示するように、例えば、「上1書き込み」後のDMA信号に同期して、VDPレジスタ更新、つまりVDPレジスタへの条件設定コマンドの出力が行われる。この条件設定コマンドは、「上1出力」および「下1出力」のVDP出力に共通して用いられる。従って、「下1書き込み」後のVDPレジスタの更新は省略することができる。
CPU381は、VDP385に描画コマンドを出力する際に、上画像/下画像を特定するフィールド信号を出力する。フィールド信号は、図示する通り、上画像に対してON、下画像に対してOFFとなる信号である。VDP385は、フィールド信号に連動する形でデータ読み書きをする対象となるフィールドを指定する制御信号IFLDを生成する。制御信号IFLDは2ビットの信号であり、図中では上位桁をIFLD1、下位桁をIFLD0で表した。
下位桁IFLD0のON・OFFは、フィールド信号を受けて変化する。例えば、「上1書き込み」時にCPU381からフィールド信号としてONが出力されると、VDP385は「上1出力」時に制御信号IFLD0としてONを出力する。CPU381からVDP385への描画コマンド書き込みと、VDP385からの表示データ出力のタイミングのずれに応じて、フィールド信号および制御信号IFLD0の出力タイミングにはずれが生じる。下位桁IFLD0のON・OFFが変化すると、1周期ごとに上位桁IFLD1のON・OFFが変化する。つまり、制御信号IFLDは、フィールド信号の変化に連動して、2ビットで「00H」〜「03H」の4値を表す信号となっている。制御信号IFLDで表される4値は、それぞれフレームメモリ397のフィールド397[0]〜397[3]に対応している。
例えば、VDP385から「上1出力」がなされている時点では、制御信号IFLDは、「10H」を表しているから、書き込みメモリはフィールド397[2]となる。「下1出力」がなされている時点では、書き込みメモリはフィールド397[3]となる。つまり、フレーム1の上画像、下画像の表示データは、フィールド397[2]、397[3]に書き込まれることになる(図3参照)。この時点では、フィールド397[0]、397[1]にはフレーム1よりも前に書き込み済みの表示データが格納されているため、VDP385はフィールド397[0]、397[1]からデータを読み出し、LCD16に出力する。読み出しメモリは、制御信号IFLD1を反転させた信号で指定すればよい。上述の時点では、制御信号IFLD1はONとなっているから、その反転信号はOFFである。従って、上位桁が「0」となるフィールド、つまり「00H」、「01H」に対応するフィールド397[0]、397[1]が読み出しメモリとなる。下1出力が完了すると、上位桁IFLD1がOFFとなるから、読み出しメモリは「10H」、「11H」に対応するフィールド397[2]、397[3]に切り替わる。また、下位桁IFLD0に応じて、フィールド397[0]、397[1]が書き込みメモリとなる。
以上で示した手順により、VDP385はCPU381から描画コマンドを受け取り、表示データを生成してフレームメモリ397に書き込む。フレームメモリ397の書き込みメモリは、16msec周期で切り替わる。スケーラ390は、また、フレームメモリ397から、格納済みの表示データを読み出し、LCD16に駆動データとして出力する。図示する通り、LCD16への出力は、同一の読み出しメモリから2回ずつ繰り返して行われる。つまり、LCD16には16msec周期で同じ駆動データが出力され、同じ画面が表示される。画面内容は、32msec周期で切り替わることになる。
D.表示制御処理:
図6は表示制御処理のフローチャートである。CPU381がVDP385に対して描画コマンド等を出力し、表示データを生成させるために実行する処理である。この処理は、16msec周期の割込処理として実行される。この処理を開始すると、CPU381は、処理を実行するための準備として、多重割込みを許可し(ステップS10)、ノイズキャンセル・判定処理を行う(ステップS11)。そして、割込端子の端子レベルを確認し(ステップS12)、端子レベルが異常の場合には、ノイズ等の影響による異常なトリガに基づいて表示制御処理が開始されたものと判断し、そのまま処理を終了する。端子レベルが正常の場合には、以下に示す処理によって、描画コマンド、条件設定コマンドの出力を行う。
先に説明した通り、本実施例では、表示制御処理を実行する度に、上画像、下画像を順次、切り換えて描画コマンドを出力することになる。上画像、下画像のいずれを処理対象とすべきかは、上下フラグによって管理される。上下フラグは、上画像を処理対象とすべき時には値1となり、下画像を処理対象とすべき時には値0となるフラグである。
CPU381は上下フラグが値0の場合には(ステップS13)、以下に示す通り、上画像に対する処理を実行する。まず、CPU381はVDP385を初期化する(ステップS20)。この処理には、VDP385が表示データの生成に使用する種々のレジスタ等の値の初期化が含まれるが、CPU381からの描画コマンド等を保持しておくべきスプライトレジスタおよびVDPレジスタの初期化は含まれない。スプライトレジスタ等の初期化は、別途実行することになる。
CPU381は次に上半分表示処理を実行する(ステップS30)。上半分表示処理の内容は後で詳述し、ここでは概要のみを説明する。この処理は、新たなフレームの上画像の描画コマンドをVDP385に出力する処理ではない。新たな上画像の描画コマンド出力に先立って、直前のフレームの下画像の描画コマンドの座標を修正する処理である。この下画像の描画コマンドは既にVDP385のスプライトレジスタに蓄積されているデータであり、本来、上画像に対する処理では不要のデータである。しかし、スプライトレジスタの初期化を行っても、そのままスプライトレジスタに残っている場合がある。初期化では、レジスタに全て「0」や「Null」を入力するとは限らず、描画コマンドを残したまま、単にその描画コマンドの設定を「無効」、「非表示」などにする簡易な方法が採られることもあるからである。この場合には、設定の誤り等によって、従前のフレームのスプライトが再度、表示対象となる可能性がないとは言えない。そこで、本実施例では、仮にこのような事態が生じたとしても、上画像の表示データに極端な違和感を与えることを回避するための処理として、上半分表示処理を実行している。この処理では、例えば、図4のキャンバスCV3に示された画像の位置は、キャンバスCV2に示した上画像の描画時の位置に戻される。次のフレームは、従前のフレームと近似した画像となることが多いため、このように位置を修正しておくことにより、例え従前の描画コマンドが表示データに影響を与えたとしても、違和感を十分に抑制することが可能となる。上半分表示処理は必須の処理ではないため、省略することも可能である。
上半分表示処理が完了すると、CPU381はVDP385のスプライトレジスタを初期化する(ステップS40)。この時点で、併せてVDPレジスタの初期化も行う。初期化が完了すると、CPU381は、次にサブ制御基板35から受信した表示コマンドの内容を解析し(ステップS41)、LCD16に表示すべき画面データを特定する。そして、この画面データに基づいて上画像の描画コマンドをVDP385に出力する(ステップS42)。先に図4で説明した通り、本実施例では、上画像、下画像のいずれを処理するかに関わらず、LCD16に表示すべき画面全体の描画コマンドをVDP385に出力している。上画像、下画像の生成時で異なるのは、描画コマンドの座標値のみである。本実施例では、描画コマンドは、上画像生成時を基準として用意しておくものとした。従って、ステップS42の処理では、CPU381は描画コマンドの座標値を修正するまでなく、そのままVDP385に出力すれば足りる。
CPU381は、描画コマンド出力と並行して、スプライトの最適化を行う(ステップS43)。これは、VDP385に定義された表示エリア(図4のVA参照)から全体が外れるようなスプライトについては、描画コマンドから省略する処理である。このようなスプライトをキャンバス上に描画するという無駄な処理を回避するためである。この処理は、VDP385の処理効率を向上させるための処理であるため、省略することも可能である。
CPU381は、以上の処理が完了すると、下画像が次の処理対象となることを示すため、フィールド信号(図5参照)をOFFとする(ステップS44)。また、上下フラグを値1だけ増加させる(ステップS80)。上下フラグは1ビットのフラグであるため、この処理によって上下フラグの値は1となり、次の処理では下画像が処理対象と判断されることになる。
ステップS13において、上下フラグが値1の場合には、CPUは以下の手順で下画像に対する処理を実行する。まず、CPUはVDP385を初期化し(ステップS50)、VDPレジスタに条件設定コマンドを設定する(ステップS51)。これは、図5に示したVDPレジスタの更新に相当する処理であり、上画像、下画像に共通して表示データ生成時に使用される種々の設定を行う処理である。VDP385は、この処理を受けて、スプライトレジスタに設定済みの描画コマンドに基づき、上画像の表示データを生成してフレームメモリ397に出力する。
CPU381は、次に下半分表示処理を実行する(ステップS60)。この処理は、先に概要を説明した上半分表示処理(ステップS30)と同様、描画コマンドの座標値を修正する処理である。この処理によって、例えば、上画像の描画時には、図4中のキャンバスCV2の状態で配置される描画コマンドは、キャンバスCV3の状態に移動されることになる。本実施例では、上画像、下画像はy方向に300ドットのサイズとなっているから、下半分処理では、描画コマンドのy座標をそれぞれ300ずつ減じればよい。
CPU381は、下半分表示処理が完了すると、スプライトの最適化を行い(ステップS70)、フィールド信号をONとし(ステップS71)、上下フラグを値1だけ増加させる(ステップS80)。上下フラグは1ビットのフラグであるから、この演算によって値0となる。この結果、フィールド信号、上下フラグともに、次の処理対象が上画像であることを示す状態となる。この後、VDP385内では、下画像の描画コマンドが読み込まれ、表示データが生成される。条件設定コマンドはステップS51でVDPレジスタに設定された内容がそのまま使用される。本実施例では、上画像の描画コマンドが設定された後、その表示データの生成を開始する前の時点で、条件設定コマンドを設定することにより、下画像に対する一連の処理内で、条件設定コマンドを上画像、下画像に流用することができる。
図7は上半分表示処理のフローチャートである。表示制御処理(図6)のステップS30に相当する処理である。この処理は、先に説明した通り、VDP385のスプライトレジスタに格納されている描画コマンドのy座標を300増加させる。本実施例では、スプライトごとに、その配置、表示/非表示の設定することで描画コマンドが構成されていることから、スプライト単位で順次、その座標を修正する手法を採った。以下では、それぞれのスプライトに対して、一義的な識別番号として「スプライトNo.」が付されているものとして説明する。
まず、CPU381は全スプライトを順番に処理するための初期設定として、処理対象となるべき「スプライトNo.」を0に設定する(ステップS31)。そして、処理対象となるスプライトの設定データを読み込む(ステップS32)。図中に設定データの内容を例示した。識別番号としての「スプライトNo.」、キャラROM内の「データ格納場所」を表すアドレス、スプライトを配置すべきキャンバス上の配置座標(XPOS,YPOS)、およびスプライトの表示/非表示を切り換えるためのフラグが含まれる。この他のデータを含めても差し支えない。
CPU381は、処理対象のスプライトが、表示/非表示フラグによって「表示」設定されている場合には(ステップS33)、配置座標の修正を施す(ステップS34)。つまり、y座標(YPOS)を値300だけ増大させる。図中にこの処理の意味を示した。図の左側に示す通り、表示エリアVAおよび画像が配置されているとする。この状態で画像のy座標を値300だけ増大させると、右側に示すように画像の位置が表示エリアVAに対して相対的に下側にずれる。表示エリアVAは縦方向に300ドットであるから、左側の画像で表示エリアVAから上側にはみ出していた部分が表示エリア内に入る。つまり、左側の下画像に対応する上画像が表示エリアVA内に現れることになる。CPU381は、表示/非表示フラグが非表示設定となっている場合には(ステップS33)、上述した配置座標の修正を施す必要はないと判断し、ステップS34をスキップする。
以上の処理を、CPU381は「スプライトNo.」が所定の上限値Nlimに至るまで(ステップS35)、「スプライトNo.」を順次、値1ずつ増加させながら(ステップS36)、繰り返し実行する。上限値Nlimは、画面データで用いられる全スプライトに付された「スプライトNo.」の最大値とすることができる。遊技状態によって、一部のスプライトしか用いないことが決まっている場合には、その中の「スプライトNo.」の最大値としてもよい。
以上で説明した実施例によれば、800ドット×600ドットというLCD16用の表示データを上画像、下画像の2回に分けて生成することができる。この結果、VDP385の処理能力がLCD16の画素数に見合うほどに高くはない場合であっても、解像度を活かした高い画質で画像を表示することが可能となる。
E.変形例:
実施例では、図4で説明した通り、上画像、下画像の表示データを生成する際に、表示エリアVAに対する位置を相対的に移動させながら、画面全体の描画コマンドをVDP385に出力する例を示した。VDP385への描画コマンドの出力は、この態様に依らず、種々の態様を採ることができる。例えば、描画コマンドの座標値は固定としたまま表示エリアの位置を移動させてもよい。また、上画像用、下画像用に個別に描画コマンドを用意してもよい。以下では、これらの2つの態様について、それぞれ第1変形例、第2変形例として説明する。
図8は第1変形例としての表示制御処理のフローチャートである。図6に代わる処理であり、上画像、下画像の生成時に、描画コマンドの座標値は固定としたまま表示エリアの位置を移動させる態様に相当する。この処理では、図6と同様、CPU381は、多重割込み許可(ステップS10)、ノイズキャンセル・判定処理(ステップS11)を行い、端子レベルが異常の場合には(ステップS12)、そのまま処理を終了する。端子レベルが正常の場合には(ステップS12)、上下フラグの値に応じて、以下に示す通り、上画像、下画像を対象とするそれぞれの処理を実行する。
上下フラグが値0の場合、即ち上画像の処理を行う場合には、CPU381はVDPの初期化を行った後(ステップS20)、表示エリアVAの位置を設定する(ステップS20A)。表示エリアVAは、描画コマンドで描かれる全体画像のうち上画像を切り出すことができる位置に設定される(図4のキャンバスCV2参照)。そして、CPU381は、スプライトレジスタを初期化し(ステップS40)、コマンド解析処理を実行し(ステップS41)、画像全体の描画コマンドをVDP385に出力する(ステップS42)。そして、スプライトを最適化し(ステップS43)、次の処理対象が下画像となることを示すため、フィールド信号をOFFにするとともに(ステップS44)、上下フラグの値を1だけ増加させて(ステップS80)、表示制御処理を終了する。
上下フラグが値1の場合、即ち下画像の処理を行う場合には、CPU381はVDPレジスタに条件設定コマンドの設定を行う(ステップS51)。この設定を受けて、VDP385は上画像の描画コマンドおよび表示エリアVAの設定に基づき、上画像の表示データを生成、出力する。その後、CPU381は、表示エリアVAを下方に300ドット移動させる(ステップS60A)。図中に移動の様子を示した。左側に示すように、上画像を切り出し可能な状態で配置されていた表示エリアVAは、この処理によって、右側に示すように下画像を切り出し可能な状態に移動される。実施例(図6)と異なり描画コマンドの座標の修正は行わないため、画像の位置は固定されたままである。CPU381は、スプライトの最適化を行い(ステップS70)、フィールド信号をONした後(ステップS71)、上下フラグを値1だけ増加させて(ステップS80)、表示制御処理を終了する。VDP385は、これに応じて、下画像の表示データを生成する。
第1変形例によれば、描画コマンドの座標値を修正する必要がなく、上画像、下画像それぞれの生成に要する処理負荷を軽減することができる利点がある。
図9は第2変形例としての表示制御処理のフローチャートである。図6に代わる処理であり、上画像用、下画像用に個別に描画コマンドを用意する態様に相当する。この処理では、図6と同様、CPU381は、多重割込み許可(ステップS10)、ノイズキャンセル・判定処理(ステップS11)を行い、端子レベルが異常の場合には(ステップS12)、そのまま処理を終了する。端子レベルが正常の場合には(ステップS12)、上下フラグの値に応じて、以下に示す通り、上画像、下画像を対象とするそれぞれの処理を実行する。
上下フラグが値0の場合、即ち上画像の処理を行う場合には、CPU381はVDP初期化(ステップS20)、スプライトレジスタの初期化を行った後(ステップS40)、コマンド解析処理を実行してLCD16に表示すべき画像の画面データを特定した後(ステップS41)、上半分の描画コマンドを出力する(ステップS42A)。変形例では、コマンド解析処理によって特定される画面データには、上画像用の画面データ、下画像用の画面データが個別に用意されているものとした。例えば、上画像用には図中に示すハッチング部分に対応する描画コマンドが含まれている。図の例では、この画面にはスプライトSP1、SP2が含まれるが、上画像で必要とされるのは、スプライトSP1のみである。従って、画面データはスプライトSP2を省略した状態のデータとすることができる。CPU381は、実施例と同様、スプライトの最適化(ステップS43)、フィールド信号OFF(ステップS44)、上下フラグのインクリメント(ステップS80)の各処理を実行して、表示制御処理を終了する。第2変形例では、上画像用に最適化された画面データを用意することができるため、スプライトの最適化(ステップS43)は省略することも可能である。
上下フラグが値1の場合、即ち下画像の処理を行う場合には、CPU381はVDPレジスタに条件設定コマンドを設定し(ステップS51)、スプライトレジスタを初期化して(ステップS52)、下半分の描画コマンドを出力する(ステップS53)。下画像用の画面データには図中に示すハッチング部分に対応する描画コマンド、即ちスプライトSP1、SP2の双方に対する描画コマンドが含まれることになる。描画コマンドのy座標値は、表示エリアVAによって下画像を切り出すことができるように設定された値となっている。従って、CPU381は座標値の修正や表示エリアVAの位置修正などを施すまでなく、単に用意された描画コマンドをVDP385に出力すれば足りる。CPU381は、次に、実施例と同様、スプライトの最適化(ステップS70)、フィールド信号ON(ステップS71)、上下フラグのインクリメント(ステップS80)の各処理を実行して、表示制御処理を終了する。スプライトの最適化(ステップS70)は省略することも可能である。
第2変形例によれば、上画像、下画像のそれぞれについて描画コマンドを出力する際に
、座標修正や表示エリアの移動などの処理が不要となるため、処理負荷を軽減することが
できる利点がある。
実施例および変形例では、LCD16の画面を上下2つに分割して表示データを生成す
る場合を例示した。画面の分割は、かかる態様に依らず、種々の態様を採ることができる
。例えば、上下方向に3以上の領域に分割してもよい。また、上画像、下画像を更に左右
方向に分割してもよい。
また、以下の理由から分割数を画面の内容に応じて可変としてもよい。VDP385の
出力能力、即ちVDP385が16msecの間に出力可能なラスタ数は、キャラROM
386へのアクセス数やスプライト同士の重ね合わせ状態の判断を行う処理回数などによ
って変化する。つまり、画面に表示すべきスプライト数が多い場合には処理負荷が高くな
るため、出力能力は低下する。スプライト数が少ない場合には逆に出力能力が高くなる。
従って、例えば、画面に表示すべきスプライト数が少ない場合には画面の分割数を低減し
、スプライト数が多い場合には分割数を増やすようにしてもよい。LCD16の画素数に
対応可能な描画用のメモリ容量またはレジスタのサイズが備えられている場合には、こう
することにより、実施例ではLCD16の画面を32msecで更新していたのに対し、
スプライト数が少ない画面では16msecで更新することが可能となり、滑らかな動画
表示を実現することが可能となる。メモリ容量またはレジスタのサイズ上、LCD16の
画面を表示する際に必ず分割が必要である場合でも同様に、画面の分割数が少なくなる分
、LCD16の画面の更新周期を短くすることができ、動画表示の円滑さを向上させるこ
とが可能である。
(手段1)
遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機であ
って、前記遊技の状況に応じて前記演出表示を制御する表示コマンドを出力するサブ制御
基板と、前記サブ制御基板からの表示コマンドを受けて、前記表示装置を駆動する表示制
御基板とを有し、前記表示制御基板は、前記表示装置に表示すべき画面の構成を規定する
画面データを記憶する画面データ記憶部と、前記表示領域を予め複数の分割領域に分割し、
前記表示コマンドに応じて、順次各分割領域に表示すべき画面を決定し、前記画面データ
に基づいて、該分割領域に応じた描画コマンドを出力する描画制御部と、前記画面に表示
される所定のスプライトを前記表示装置の画素単位で表したスプライトデータを記録する
キャラクターメモリと、仮想のキャンバス上に前記描画コマンドで指定されたスプライト
データを指定された位置に配置して、前記画面データに対応した画像を描画し、前記キャ
ンバス上に前記分割領域に対応した大きさで予め設定された表示エリア内の描画結果に基
づいて表示データを生成する表示データ生成部と、前記生成された各分割領域の表示デー
タを、前記表示領域上の画素と対応づけて記憶するための表示データ記憶部と、前記表示
データの前記表示データ記憶部への格納を制御するとともに、該表示データを所定のタイ
ミングで前記表示装置に出力する表示データ管理部とを備える遊技機。
(手段2)
手段1記載の遊技機であって、前記表示装置は、前記画素の配列に沿った一方向に各画
素の表示状態を設定する主走査と、前記一方向と交差する方向に前記主走査を繰り返し実
行する副走査とによって駆動される装置であり、前記分割領域は、前記主走査が行われる
一方向に平行な境界線で定義される遊技機。
(手段3)
手段1または2記載の遊技機であって、前記描画制御部は、前記描画コマンドの出力と
ともに、該描画コマンドに対応する前記分割領域を特定するためのフィールド信号を前記
表示データ管理部に出力する遊技機。
(手段4)
手段1〜3いずれか記載の遊技機であって、前記各分割領域は同一形状をなしており、
前記描画制御部は、前記スプライトデータの位置と前記表示エリアとの相対的な位置関係
を前記分割領域に応じて変更して、前記画面の全体を描画するための描画コマンドを、出
力する遊技機。
(手段5)
手段1〜3いずれか記載の遊技機であって、前記各分割領域は同一形状をなしており、
前記描画制御部は、前記分割領域のうち最初の分割領域に対して、前記画面の全体を描画
するための描画コマンドを出力し、2番目以降の分割領域に対しては、前記キャンバスに
おける前記表示エリアの位置を変更するコマンドを出力する遊技機。
(手段6)
手段1〜3いずれか記載の遊技機であって、前記画面データ記憶部は、一つの画面に対
し、前記分割領域単位で該画面の一部を表す複数通りの画面データを記憶しており、前記
描画制御部は、前記分割領域に対応した画面データを前記画面データ記憶部から選択して、
前記描画コマンドを出力する遊技機。
(手段7)
手段1〜6いずれか記載の遊技機であって、前記描画制御部は、前記描画コマンドとは
別に、前記分割領域の全てに共通して描画時の条件を設定する条件設定コマンドを生成し、
最初の分割領域に対する描画コマンドを出力した後に、前記表示データ生成部に出力する
遊技機。
(手段8)
手段1〜7いずれか記載の遊技機であって、前記描画制御部は、前記描画コマンドとは
別に、前記分割領域の全てに共通して描画時の条件を設定する条件設定コマンドを生成し、
2番目以降の分割領域のうち少なくとも一つに対する処理時を除いて、所定のタイミング
で該条件設定コマンドを前記表示データ生成部に出力する遊技機。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。実施例では、LCD16を表示装置として用いる場合を例示したが、本発明は他の種類の表示装置を用いる場合にも適用可能である。
実施例としてのパチンコ機1の正面図である。 パチンコ機1の制御用ハードウェア構成を示すブロック図である。 装飾図柄制御基板30の回路構成を示す説明図である。 表示データの生成例を示す説明図である。 VDP385への画面データ出力の様子を示すタイミングチャートである。 表示制御処理のフローチャートである。 上半分表示処理のフローチャートである。 第1変形例としての表示制御処理のフローチャートである。 第2変形例としての表示制御処理のフローチャートである。
符号の説明
1…パチンコ機
3…メイン制御基板
4…遊技盤
4a…表示部
4b…操作スイッチ
6…遊技領域
8…発射ハンドル
9…始動入賞口
10…大入賞口
12…パネル装飾ランプ
15a…入賞検出器
16…LCD
18…大入賞口ソレノイド
20…払出モータ
21…賞球払出装置
22…払出球検出器
24…モータ駆動センサ
25…払出制御基板
29…スピーカ
30…装飾図柄制御基板
31…枠装飾ランプ
32、34…ランプ中継基板
35…サブ制御基板
41…特別図柄表示装置
47…発射制御基板
48…タッチ検出部
49…発射モータ
381…CPU
382…RAM
383…ROM
386…キャラROM
385…VDP
385s…スプライトレジスタ
385v…VDPレジスタ
390…スケーラ
397…フレームメモリ
397[0]〜397[3]…フィールド

Claims (3)

  1. 遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機であって、
    前記遊技の状況に応じて前記演出表示を制御する表示コマンドを出力するサブ制御基板と、
    前記サブ制御基板からの表示コマンドを受けて、前記表示装置を駆動する表示制御基板とを有し、
    前記表示制御基板は、
    前記表示装置に表示すべき画面の構成を規定する画面データを記憶する画面データ記憶部と、
    前記表示領域を予め複数の分割領域に分割し、前記表示コマンドに応じて、当該表示領域に表示すべき画面を決定するとともに、前記画面データに基づいて、予め定めた周期の割り込みが発生するごとに、該複数の分割領域のうち、一の分割領域に応じた描画コマンドを出力し、前記分割領域の分割数だけ前記予め定めた周期の割り込みが発生すると、すべての分割領域に応じた描画コマンドの出力を完了する描画制御部と、
    前記画面に表示される所定のスプライトを前記表示装置の画素単位で表したスプライトデータを記録するキャラクターメモリと、
    仮想のキャンバス上に前記描画コマンドで指定されたスプライトデータを指定された位置に配置して、前記画面データに対応した画像を描画し、前記キャンバス上に前記一の分割領域に対応した大きさで予め設定された表示エリア内の描画結果に基づいて表示データを生成する表示データ生成部と、
    前記生成された前記一の分割領域の表示データを、前記表示領域上の画素と対応づけて記憶するための第1の表示データ記憶部と第2の表示データ記憶部とを有する表示データ記憶部と、
    前記予め定めた周期の割り込みが発生するごとに、前記第1の表示データ記憶部と前記第2の表示データ記憶部とのうち、いずれか一方に表示データを格納するとともに、格納完了した表示データを前記表示装置に出力する表示データ管理部とを備え
    前記表示データ管理部は、前記予め定めた周期の割り込みが発生するごとに、前記表示データ生成部が生成した前記複数の分割領域のうち、前記一の分割領域の表示データを前記第1の表示データ記憶部に格納し、前記分割数だけ当該予め定めた周期の割り込みが発生すると、当該複数の分割領域のすべての表示データを当該第1の表示データ記憶部に格納完了し、次の当該予め定めた周期の割り込みが発生すると、当該表示データ生成部が生成した当該複数の分割領域のうち、前記一の分割領域の表示データを、当該第1の表示データ記憶部から前記第2の表示データ記憶部へ切り替えて格納開始するとともに、当該第2の表示データ記憶部に前記複数の分割領域のすべての表示データが格納完了するまでの間、当該第1の表示データ記憶部に格納完了した表示データを前記表示装置に出力する遊技機。
  2. 請求項1記載の遊技機であって、
    前記表示装置は、前記画素の配列に沿った一方向に各画素の表示状態を設定する主走査と、前記一方向と交差する方向に前記主走査を繰り返し実行する副走査とによって駆動される装置であり、
    前記一の分割領域は、前記主走査が行われる一方向に平行な境界線で定義される遊技機。
  3. 請求項1または2記載の遊技機であって、
    前記描画制御部は、前記描画コマンドの出力とともに、該描画コマンドに対応する前記一の分割領域を特定するためのフィールド信号を前記表示データ管理部に出力する遊技機。
JP2006124166A 2006-04-27 2006-04-27 遊技機 Expired - Fee Related JP5070455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006124166A JP5070455B2 (ja) 2006-04-27 2006-04-27 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006124166A JP5070455B2 (ja) 2006-04-27 2006-04-27 遊技機

Publications (3)

Publication Number Publication Date
JP2007295977A JP2007295977A (ja) 2007-11-15
JP2007295977A5 JP2007295977A5 (ja) 2009-06-18
JP5070455B2 true JP5070455B2 (ja) 2012-11-14

Family

ID=38766013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006124166A Expired - Fee Related JP5070455B2 (ja) 2006-04-27 2006-04-27 遊技機

Country Status (1)

Country Link
JP (1) JP5070455B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111356003A (zh) * 2020-03-11 2020-06-30 北京文香信息技术有限公司 一种数据写入的方法、系统及终端设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5787321B2 (ja) * 2012-08-21 2015-09-30 株式会社三共 遊技機
JP5976175B2 (ja) * 2015-07-21 2016-08-23 株式会社三共 遊技機

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295544A (ja) * 1994-04-22 1995-11-10 Nifco Inc 画像表示装置
JPH0946549A (ja) * 1995-07-28 1997-02-14 Mitsumi Electric Co Ltd フィールド信号発生回路
JPH1157142A (ja) * 1997-08-20 1999-03-02 Nippon Steel Corp 遊技機の画像表示装置
JP4353348B2 (ja) * 2000-11-27 2009-10-28 株式会社大一商会 遊技機
JP2004201997A (ja) * 2002-12-25 2004-07-22 Sankyo Kk 遊技機及び遊技制御方法
JP2004254937A (ja) * 2003-02-26 2004-09-16 Nanao Corp 画像表示装置およびそれに用いられる遊技機、並びにゲーム機
JP2005027833A (ja) * 2003-07-11 2005-02-03 Sankyo Kk 遊技機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111356003A (zh) * 2020-03-11 2020-06-30 北京文香信息技术有限公司 一种数据写入的方法、系统及终端设备

Also Published As

Publication number Publication date
JP2007295977A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
JP5093553B2 (ja) 遊技機
JP5119425B2 (ja) 遊技機
JP5153091B2 (ja) 遊技機
JP2008289786A (ja) 画像表示装置、遊技機、画像表示方法、画像表示プログラム、および記録媒体
JP5099682B2 (ja) 遊技機
JP4937501B2 (ja) 遊技機
JP2008061852A (ja) 遊技機
JP5070455B2 (ja) 遊技機
JP5144045B2 (ja) 遊技機
JP6381561B2 (ja) 遊技機
JP4970589B2 (ja) 遊技機
JP6347647B2 (ja) 遊技機
JP4968723B2 (ja) 遊技機
JP2009195370A (ja) 画像表示装置、遊技機、画像表示方法、および画像表示プログラム
JP5159180B2 (ja) 遊技機
JP4510904B2 (ja) 遊技機
JP4226386B2 (ja) 遊技機
JP5070540B2 (ja) 遊技機
US20060125511A1 (en) Image test method, program thereof and recording medium storing the program
JP2017143957A (ja) 遊技機
JP4789888B2 (ja) 遊技機
JP5181286B2 (ja) 遊技台
JP5110620B2 (ja) 遊技機
JP2004267338A (ja) 遊技機
JP6855408B2 (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: 20090319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

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: 20120612

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: 20120710

R150 Certificate of patent or registration of utility model

Ref document number: 5070455

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