(57)【要約】【課題】  画素数が多いＬＣＤ１６を備えた遊技機において、処理能力が見合わないＶＤＰを用いながらも、高画質での画面表示を実現する。【解決手段】  遊技機のＬＣＤ１６に画像を表示させるため、ＣＰＵは遊技状況に応じて、画面の内容を決定する。そして、ＬＣＤ１６の表示領域を、上画像、下画像の２つの部分に分け、まず上画像の描画をＶＤＰに指示する。ＶＤＰは上画像をビットマップ展開し（キャンバスＣＶ２）、表示データをフレームメモリに格納する（状態ＦＭ１）。ＣＰＵは次に下画像の描画をＶＤＰに指示する。ＶＤＰは下画像をビットマップ展開し（キャンバスＣＶ３）、表示データをフレームメモリに格納する（状態ＦＭ２）。上画像、下画像の表示データがそろった時点で、これらの表示データをＬＣＤ１６に出力することにより、解像度を低下させることなく、画像を表示させることができる。【選択図】  図４
2007295977.tif 000002
【特許請求の範囲】
【請求項１】
遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機であって、
前記遊技の状況に応じて前記演出表示を制御する表示コマンドを出力するサブ制御基板と、
前記サブ制御基板からの表示コマンドを受けて、前記表示装置を駆動する表示制御基板とを有し、
前記表示制御基板は、
前記表示装置に表示すべき画面の構成を規定する画面データを記憶する画面データ記憶部と、
前記表示領域を予め複数の分割領域に分割し、前記表示コマンドに応じて、順次各分割領域に表示すべき画面を決定し、前記画面データに基づいて、該分割領域に応じた描画コマンドを出力する描画制御部と、
前記画面に表示される所定のスプライトを前記表示装置の画素単位で表したスプライトデータを記録するキャラクターメモリと、
仮想のキャンバス上に前記描画コマンドで指定されたスプライトデータを指定された位置に配置して、前記画面データに対応した画像を描画し、前記キャンバス上に前記分割領域に対応した大きさで予め設定された表示エリア内の描画結果に基づいて表示データを生成する表示データ生成部と、
前記生成された各分割領域の表示データを、前記表示領域上の画素と対応づけて記憶するための表示データ記憶部と、
前記表示データの前記表示データ記憶部への格納を制御するとともに、該表示データを所定のタイミングで前記表示装置に出力する表示データ管理部とを備える遊技機。
【請求項２】
請求項１記載の遊技機であって、
前記表示装置は、前記画素の配列に沿った一方向に各画素の表示状態を設定する主走査と、前記一方向と交差する方向に前記主走査を繰り返し実行する副走査とによって駆動される装置であり、
前記分割領域は、前記主走査が行われる一方向に平行な境界線で定義される遊技機。
【請求項３】
請求項１または２記載の遊技機であって、
前記描画制御部は、前記描画コマンドの出力とともに、該描画コマンドに対応する前記分割領域を特定するためのフィールド信号を前記表示データ管理部に出力する遊技機。
【請求項４】
請求項１〜３いずれか記載の遊技機であって、
前記各分割領域は同一形状をなしており、
前記描画制御部は、前記スプライトデータの位置と前記表示エリアとの相対的な位置関係を前記分割領域に応じて変更して、前記画面の全体を描画するための描画コマンドを、出力する遊技機。
【請求項５】
請求項１〜３いずれか記載の遊技機であって、
前記各分割領域は同一形状をなしており、
前記描画制御部は、前記分割領域のうち最初の分割領域に対して、前記画面の全体を描画するための描画コマンドを出力し、２番目以降の分割領域に対しては、前記キャンバスにおける前記表示エリアの位置を変更するコマンドを出力する遊技機。
【請求項６】
請求項１〜３いずれか記載の遊技機であって、
前記画面データ記憶部は、一つの画面に対し、前記分割領域単位で該画面の一部を表す複数通りの画面データを記憶しており、
前記描画制御部は、前記分割領域に対応した画面データを前記画面データ記憶部から選択して、前記描画コマンドを出力する遊技機。
【請求項７】
請求項１〜６いずれか記載の遊技機であって、
前記描画制御部は、前記描画コマンドとは別に、前記分割領域の全てに共通して描画時の条件を設定する条件設定コマンドを生成し、最初の分割領域に対する描画コマンドを出力した後に、前記表示データ生成部に出力する遊技機。
【請求項８】
請求項１〜７いずれか記載の遊技機であって、
前記描画制御部は、前記描画コマンドとは別に、前記分割領域の全てに共通して描画時の条件を設定する条件設定コマンドを生成し、２番目以降の分割領域のうち少なくとも一つに対する処理時を除いて、所定のタイミングで該条件設定コマンドを前記表示データ生成部に出力する遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う画面表示方法に関する。
【背景技術】
【０００２】
パチンコ機やスロットマシンなどの遊技機では、遊技盤に備えられた表示装置を用いて、遊技中に種々の演出表示が行われる。この演出表示には、液晶パネルが用いられることが多い。液晶パネルは、マトリックス状に配置された画素によって画像を表示する。画像を表示するための表示データは、例えば、特許文献１記載の手順で生成される。まず、演出表示を制御するためのＣＰＵは、表示コマンドを受け取り、その内容を解析し、予め用意されたスケジュールデータを参照して、表示すべき画面の内容を決定する。そして、このスケジュールデータに基づいて描画コマンドをＶＤＰ（Video Display Processor）に出力する。ＶＤＰは、この描画コマンドをビットマップ展開して画素単位での表示データを生成し、液晶パネルに出力する。表示データを生成する回路には、生成されたデータを一時的に保持しておくためのバッファが設けられるのが通常である。
【０００３】
【特許文献１】特開２００５−２７８３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、遊技機の興趣を高めるため、液晶パネルが大型化し、画素数が増大する傾向にある。このような液晶パネルを用いるためには、その画素数に応じて、ＶＤＰの処理能力を向上させることが望ましい。しかし、画素数は液晶パネルの面積に比例して増大するため、ＶＤＰには液晶パネルの面積増に応じた能力向上が要求されることになる。この能力向上にはＶＤＰが表示データを生成する際に使用するメモリ容量や表示データの管理情報を格納するためのレジスタサイズの増大、描画に必要なスプライトのデータを格納するキャラＲＯＭの容量、キャラＲＯＭへのアクセス速度などが要求され、いずれの面でも能力向上には限界があり、また仮に能力向上が技術的に可能であったとしても、ＶＤＰのコスト増大、ひいては遊技機自体のコスト増大という看過できない弊害を招くことになる。
【０００５】
特許文献１では、ＶＤＰの能力向上に代えて、スケーラと呼ばれる素子を用いる技術が開示されている。スケーラを用いれば、ＶＤＰが生成した１画素分の表示データを、複数画素で共通に使用することによって、表示データを拡大し、大画面の液晶パネルに画像を表示することが可能となる。しかし、この技術は、複数の画素に同じ表示データを出力するため、液晶パネルの解像度を実質的に低下させ、表示される画像の画質を低下させることになる。
【０００６】
このように、従来の技術では、ＶＤＰの能力およびコストを抑制しつつ、十分に高い解像度で大画面の液晶パネルへの画像表示を行うことができなかった。かかる課題は、液晶パネルを用いる場合のみならず、種々の表示装置に共通の課題であった。本発明は、この課題の解決を図り、遊技機において、ＶＤＰの能力増を要さず、高解像度の表示装置への画像表示を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機を対象とする。遊技機には、パチンコ機や回胴式遊技機などが該当する。表示装置は、液晶パネル、プラズマディスプレイ、有機ＬＥなどを利用可能である。遊技機には、遊技の状況に応じて演出表示を制御する表示コマンドを出力するサブ制御基板と、サブ制御基板からの表示コマンドを受けて、表示装置を駆動する表示制御基板とが備えられている。この他に、遊技機全体の制御を統合する主制御基板、賞球やメダル等の払出しを制御する払出基板などを備えてもよい。
【０００８】
本発明の表示制御基板は、表示装置への演出表示を実現するために画面データ記憶部、描画制御部、キャラクターメモリ、表示データ生成部、表示データ管理部が設けられている。画面データ記憶部は、表示装置に表示すべき画面の構成を規定する画面データを記憶している。画面データは、表示コマンドと対応づけられているため、画面データを用いることによって表示コマンドに応じた画面が決まることになる。描画制御部は、表示コマンドに応じて、表示すべき画面を決定し、画面データに基づいて描画コマンドを出力する。本発明では、表示領域を予め複数の分割領域に分割し、分割領域ごとに、順次、画面の決定および描画コマンドの出力を行う。ここで、描画コマンドとは、画面を、表示装置の画素単位で展開したデータを生成するためのコマンドである。本発明では、キャラクターメモリに、画面に表示される所定のスプライトを表示装置の画素単位で表したスプライトデータが記録されている。描画コマンドには、例えば、このスプライトの配置、複数のスプライトの重ね合わせ方が含まれる。スプライト以外の図形や線分の描画を指定するコマンドを含めても良い。
【０００９】
本明細書では、「キャラクター」および「スプライト」を次の意味で用いる。スプライトとは、遊技機の画面にまとまった単位として表示されるイメージを意味する。例えば、画面上に種々の人物を表示させる場合には、それぞれの人物を描くためのデータを「スプライト」と呼ぶ。複数の人物を表示させるためには、複数のスプライトを用いることになる。人物のみならず背景画像を構成する家、山、道路などをそれぞれスプライトとすることもできる。また、背景画像全体を一つのスプライトとしてもよい。遊技機は、これらの各スプライトの画面上の配置を決め、スプライト同士が重なる場合の上下関係を決めることで、種々の画像を表示させることが可能である。
【００１０】
遊技機では、データを扱う便宜上、各スプライトは縦横それぞれ６４ピクセルなど一定の大きさの矩形領域を複数組み合わせて構成される。この矩形領域を描くためのデータを「キャラクター」と呼ぶ。小さなスプライトの場合は、一つのキャラクターで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横２×縦３などで配置した合計６個のキャラクターで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクターを用いて表現することができる。キャラクターの数および配置は、スプライトごとに任意に指定可能である。
【００１１】
表示データ生成部は、仮想のキャンバス上に描画コマンドで指定されたスプライトデータを指定された位置に配置して、画面データに対応した画像を表す表示データを生成する。表示データは、ビットマップ展開された画像のうち、キャンバス上に分割領域に対応した大きさで予め設定された表示エリア内の描画結果に基づいて生成される。本発明では、このキャンバスのサイズは、各分割領域よりも大きく表示領域よりは縦横の一方が小さい。分割領域よりも大きいサイズとすることにより、いずれの分割領域についても、それぞれキャンバス上に画像を展開することが可能となる。表示領域よりも小さいサイズとすることにより、表示データ生成部に要求される処理能力を抑制することができる。キャンバスのサイズは、表示データ生成部の能力によって定まるものである。例えば、表示データ生成部が描画用に有するメモリ容量上の制約で定まる場合もあれば、キャラクターメモリへのアクセスや描画処理の速度上の制約で定まる場合もある。また、表示データの管理情報を格納するためのレジスタサイズ上の制約で定まる場合もある。キャンバスのサイズは、表示データ生成部の物理的な性能の制約とは無関係に、設定された値であってもよい。キャンバスは、仮想的なものであるため、必ずしもフレームメモリのようにキャンバス全体の画素を記憶可能なメモリが物理的に用意されている必要はない。
【００１２】
表示データ記憶部には、こうして生成された各分割領域の表示データが、表示領域上の画素と対応づけて記憶される。つまり、表示データ記憶部には、表示領域に表示すべき画面全体に対応したデータが格納可能であり、各分割領域の表示データが生成されるたびに、画面のデータが部分的に満たされていき、全ての分割領域についての処理が完了すると、画面全体のデータが満たされることになる。表示データ管理部は、表示データの表示データ記憶部への格納を制御するとともに、表示データを所定のタイミングで表示装置に出力する。表示データの出力タイミングは、種々の設定が可能である。例えば、画面全体のデータが満たされた後に出力を開始するようにしてもよいし、画面の一部のデータが満たされた時点で出力を開始してもよい。後者の場合には、表示データの格納と、出力とを並行して行うことになる。
【００１３】
先に説明した通り、表示装置は種々の装置を用いることが可能であるが、例えば、画素の配列に沿った一方向に各画素の表示状態を設定する主走査と、一方向と交差する方向に主走査を繰り返し実行する副走査とによって駆動される装置とすることができる。この場合、分割領域は、主走査が行われる一方向（以下、「主走査方向」と呼ぶ）に平行な境界線で定義することが好ましい。例えば、左右方向に主走査が行われる場合には、左右方向の境界線によって分割領域を定義することが好ましく、各領域は上下方向に配置されることになる。分割領域は、更に、主走査に交差する方向（以下、「副走査方向」と呼ぶ）の境界線を含めて定義しても良い。例えば、上述の場合において、上下方向に配置された各領域を更に、左右に分割して各分割領域を定義してもよい。
【００１４】
いずれの場合においても、主走査方向に平行な境界線で分割領域を定義することにより、主走査方向に配列された一列分の画素（以下、「ラスタ」と呼ぶ）に対応するデータを速やかに生成することができる。仮に主走査方向に交差する境界線で分割領域が定義されている場合には、１ラスタ分のデータを用意するために、複数回の表示データ生成を繰り返す必要が生じるが、上述の態様では表示データの生成が行われる度に、速やかに１ラスタ分の表示データが完成することになる。この結果、各ラスタの表示データの格納、全ラスタの表示データの生成が完了したか否かの判断その他の管理が容易となる利点がある。また、表示データの格納と出力とを並行して行うことが可能となる利点もある。
【００１５】
表示データ記憶部へのデータ格納の際、表示データと分割領域との対応関係は、表示データ管理部が自律的に判断可能としてもよい。表示データ管理部にとって、各分割領域の位置および処理順序が既知となっている場合には、この方法が可能である。これに対し、描画制御部が、描画コマンドを表示データ生成部に出力する際に、フィールド信号、即ち描画コマンドに対応する分割領域を特定するための制御信号を、表示データ管理部に出力するようにしてもよい。予め分割領域に付されたインデックスを表す信号をフィールド信号として用いることができる。こうすることにより、表示データ管理部は、容易かつ確実に、表示データと分割領域との対応関係を把握することが可能となる。
【００１６】
先に説明した通り、本発明では、分割領域ごとに表示データを生成し、これらの表示データを集めて画面全体に対応する表示データを生成する。これは、キャンバスに展開すべき描画コマンドが分割領域ごとに異なることを意味する。分割領域ごとに異なる描画コマンドを表示データ生成装置に出力するためには、種々の方法を採ることができる。
【００１７】
第１の態様として、分割領域が同一の形状となっている場合には、描画制御部は、分割領域に関わらず、画面の全体を描画するための描画コマンドを出力する。この際、描画コマンドで指定されるスプライトデータの位置と表示エリアとの相対的な位置関係を分割領域に応じて変更する。描画コマンドに含まれる座標値、表示エリアの位置を規定する座標値の一方または双方を変更すればよい。この態様では、描画コマンドを複数の分割領域で共通して使うことができるため、用意しておくべき画面データの容量を抑制することが可能となる。
【００１８】
第２の態様として、分割領域が同一の形状となっている場合には、描画制御部は、分割領域のうち最初の分割領域に対して、画面の全体を描画するための描画コマンドを出力し、２番目以降の分割領域に対しては、キャンバスにおける表示エリアの位置を変更するコマンドを出力するようにしてもよい。この態様では、分割領域の位置に応じて表示エリアの位置を変更するため、描画コマンドは２以上の分割領域で共通化することができる。もっとも、この態様においても、２番目以降の分割領域においても、適宜、描画コマンドを出力しても差し支えない。
【００１９】
第３の態様として、画面データ記憶部に、一つの画面に対し分割領域単位で画面の一部を表す複数通りの画面データを用意しておいてもよい。画面データは、分割領域ごとに個別に用意してもよいし、２以上の分割領域に共通のデータとしてもよい。このように複数通りの画面データが用意されている場合、描画制御部が、分割領域に対応した画面データを選択して描画コマンドを出力することにより、座標値の修正などの処理を要するまでなく、各分割領域に応じた表示データを生成することができる。
【００２０】
表示データの生成時には、描画コマンドとは別に、分割領域の全てに共通して描画時の条件を設定する条件設定コマンドが要求されることがある。条件設定コマンドには、例えば、描画コマンドが複数のレイヤから構成されている場合に、各レイヤの重ね合わせ順序、表示／非表示の設定などが含まれる。このような場合には、描画制御部が、条件設定コマンドを生成して表示データ生成部に出力すればよい。条件設定コマンドの出力は種々のタイミングで行うことができる。一例として、最初の分割領域に対する描画コマンドを出力した後に出力する方法を採ることができる。こうすることにより、描画コマンドとほぼ同期して条件設定コマンドを表示データ生成部に受け渡すことができる利点がある。
【００２１】
また、上述のタイミングで条件設定コマンドを出力するか否かに関わらず、条件設定コマンドは、２番目以降の分割領域のうち少なくとも一つに対する処理時を除いて出力することが好ましい。つまり、最初の分割領域の処理時には必然的に出力されるが、２番目以降の分割領域の処理時には、一部または全部で出力が省略される。こうすることで表示データ生成部へのデータ出力を簡素化することができる。
【００２２】
本発明では、上述した種々の特徴を全て備えている必要はなく、一部を省略してもよいし、適宜、組み合わせて適用してもよい。また、本発明における上述の特徴部分は、ハードウェア的に実現してもよいし、ソフトウェア的に実現してもよい。
【発明を実施するための最良の形態】
【００２３】
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、遊技機は、回胴式遊技機としてもよい。
Ａ．遊技機の構成：
Ｂ．制御用ハードウェア構成：
Ｃ．画面表示制御方法：
Ｄ．表示制御処理：
Ｅ．変形例：
【００２４】
Ａ．遊技機の構成：
図１は実施例としてのパチンコ機１の正面図である。パチンコ機１は、中央に遊技領域６を備えた遊技盤４が取り付けられている。遊技者は、ハンドル８を操作して遊技領域６内に遊技球を打ち込み、入賞口に入賞させる遊技を行うことができる。入賞口の一つである始動入賞口９に遊技球が入賞すると、パチンコ機１は抽選を行い、その結果に応じて「大当り」か否かが決まる。大当り発生時には、大入賞口１０が所定期間開放するなどの大当り遊技が行われる。
【００２５】
上述の抽選の結果は、４つのランプで構成された特別図柄表示装置４１に表示される。遊技領域６の中央には、ＬＣＤ１６が備えられており、遊技中に種々の演出画面（装飾図柄と呼ぶこともある）が表示される。始動入賞口９への入賞時、大当りの発生時などにも、それぞれ遊技の状態に応じた演出画面が表示される。
【００２６】
Ｂ．制御用ハードウェア構成：
図２はパチンコ機１の制御用ハードウェア構成を示すブロック図である。パチンコ機１は、メイン制御基板３、払出制御基板２５、サブ制御基板３５、装飾図柄制御基板３０などの各制御基板の分散処理によって制御される。メイン制御基板３、払出制御基板２５、サブ制御基板３５は、それぞれ内部にＣＰＵ、ＲＡＭ、ＲＯＭなどを備えたマイクロコンピュータとして構成されており、ＲＯＭに記録されたプログラムに従って種々の制御処理を実現する。
【００２７】
実施例のパチンコ機１では、種々の不正を防止するため、メイン制御基板３への外部からの入力が制限されている。メイン制御基板３とサブ制御基板３５とは単方向のパラレル電気信号で接続されており、メイン制御基板３と払出制御基板２５とは、制御処理の必要上、双方向シリアル電気信号で接続されている。払出制御基板２５、サブ制御基板３５は、それぞれメイン制御基板３からのコマンドに応じて動作する。装飾図柄制御基板３０は、サブ制御基板３５からのコマンドに応じて動作する。パチンコ機１には、メイン制御基板３が直接に制御する機構もある。図中には、メイン制御基板３が制御する装置の一例として、大入賞口１０を駆動するための大入賞口ソレノイド１８、および特別図柄表示装置４１を例示した。メイン制御基板３は、この他にも、普通図柄表示装置、特別図柄保留ランプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御することができる。また、メイン制御基板３には、遊技中の動作を制御するため、種々のセンサからの検出信号が入力される。図中には一例として入賞検出器１５ａからの入力を例示した。入賞検出器１５ａとは、始動入賞口９への入賞を検出するためのセンサである。メイン制御基板３は、入賞検出器１５ａからの信号に応じて、先に説明した抽選を行い、大当り遊技を実行することができる。メイン制御基板３には、他にも種々の入力がなされているが、ここでは説明を省略する。
【００２８】
遊技時におけるその他の制御は、払出制御基板２５、サブ制御基板３５を介して行われる。払出制御基板２５は、遊技中の遊技球の発射および払い出しを次の手順で制御する。遊技球の発射は、直接的には発射制御基板４７によって制御される。即ち、遊技者が、発射ハンドル８を操作すると、発射制御基板４７は操作に応じて発射モータ４９を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部４８によって、発射ハンドル８に遊技者が触れていることが検出されている状況下でのみ行われる。払出制御基板２５は、発射制御基板４７に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
【００２９】
遊技中に入賞した旨のコマンドをメイン制御基板３から受信すると、払出制御基板２５は、賞球払出装置２１内の払出モータ２０を制御し、払出球検出器２２によって球数をカウントしながら規定数の球を払い出す。払出モータ２０の動作は、モータ駆動センサ２４によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板２５は、表示部４ａにエラーコードを表示する。エラー表示された時には、係員が異常を除去した後、操作スイッチ４ｂを操作することで復旧させることができる。
【００３０】
サブ制御基板３５は、遊技中における音声、表示、ランプ点灯などの演出を制御する。これらの演出は、通常時、入賞時、大当たり時、エラー時、不正行為その他の異常が生じた時の警報など、遊技中のステータスに応じて変化する。メイン制御基板３から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御基板３５は、各コマンドに対応したプログラムを起動して、メイン制御基板３から指示された演出を実現する。
【００３１】
本実施例では、図示する通り、サブ制御基板３５はスピーカ２９を直接制御する。ＬＣＤ１６は、装飾図柄制御基板３０を介して制御する。装飾図柄制御基板３０の回路構成は後述する。サブ制御基板３５の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ１２と、枠に設けられた枠装飾ランプ３１がある。サブ制御基板３５は、ランプ中継基板３２、３４を介して、パネル装飾ランプ１２および枠装飾ランプ３１と接続されており、各ランプを個別に点滅させることができる。
【００３２】
図３は装飾図柄制御基板３０の回路構成を示す説明図である。装飾図柄制御基板３０は、サブ制御基板３５から受けた表示コマンドに応じて、ＬＣＤ１６に画面を表示するための駆動データを出力する。駆動データは、ＬＣＤ１６にマトリックス状に備えられたＲ，Ｇ，Ｂの各画素の表示階調値を示すデータである。本実施例のＬＣＤ１６は左右方向に８００画素、上下方向に６００画素を有している。駆動データは、主走査として、ＬＣＤ１６の左から右に順次、画素ごとに出力される。一ラスタ分の出力が完了すると、副走査として直下のラスタに移行し、同様に左から右に向けて順次、画素ごとに駆動データが出力される。以下では、左右方向を主走査方向と呼び、上下方向を副走査方向と呼ぶこともある。
【００３３】
装飾図柄制御基板３０には、表示コマンドに応じた駆動データを生成する機能を実現するために図示する種々の回路が用意されている。装飾図柄制御基板３０には、まず、駆動データの生成を制御するためのマイクロコンピュータとしてＣＰＵ３８１、ＲＡＭ３８２、ＲＯＭ３８３が備えられている。ＲＯＭ３８３には、駆動データを生成するための表示プログラム、表示コマンドに対し表示すべき画面、表示の時間、表示の順序を規定するスケジューラ、各画面の構成を規定する画面データが記憶されている。画面データの内容については後述するが、この段階では、ＬＣＤ１６の画素に対応したデータとはなっていない。ＣＰＵ３８１は、ＲＯＭ３８３を参照して、表示コマンドに応じた画面データを抽出し、ＶＤＰ（Video Display Processor）３８５に出力する。
【００３４】
キャラＲＯＭ３８６は、スプライトデータ、即ち画面に表示されるスプライトをビットマップで表したデータを格納している。ＶＤＰ３８５は、ＣＰＵ３８１から受け取った画面データに基づいて、表示すべきスプライトデータをキャラＲＯＭ３８６から抽出し、表示データ、即ち表示すべき画像をビットマップ展開したデータを生成して、スケーラ３９０に出力する。以下、ビットマップ展開するための記憶領域を「キャンバス」と呼ぶ。
【００３５】
ＶＤＰ３８５には、ＣＰＵ３８１からの画面データを受け取り保持しておくためのレジスタとして、スプライトレジスタ３８５ｓおよびＶＤＰレジスタ３８５ｖを備えている。スプライトレジスタ３８５ｓは、画面データのうち、スプライトの配置や重ね合わせの順序などを示す描画コマンドを受け取るためのレジスタであり、ダブルバッファとして構成されている。つまり、第１バッファ、第２バッファという二つの等しい容量のバッファが備えられている。従って、ＶＤＰ３８５は、ＣＰＵ３８１から出力された描画コマンドが第１バッファに書き込まれている間、第２バッファに保持されている描画コマンドを読み出して表示データの生成処理を実行することができる。ＶＤＰレジスタ３８５ｖは、表示データを生成する際の条件設定を指定するコマンド（以下、「条件設定コマンド」と呼ぶ）を記憶するためのレジスタである。条件設定コマンドには、例えば、描画コマンドが複数のレイヤから構成されている場合に、各レイヤの重ね合わせ順序、表示／非表示の設定などが含まれる。条件設定コマンドは比較的低容量であり、書き込みの所要時間が短いことから、ＶＤＰレジスタ３８５ｖはダブルバッファとはなっていない。
【００３６】
スケーラ３９０は、ＶＤＰ３８５からの表示データをフレームメモリ３９７に格納する。また、フレームメモリ３９７から表示データを読み出し、ＬＣＤ１６に出力する。図示する通り、本実施例では、フレームメモリ３９７の内部は、８００×３００画素分を単位とする４つのフィールド３９７［０］〜３９７［３］に分けられている。この意義について次に説明する。
【００３７】
本実施例では、ＶＤＰ３８５はＬＣＤ１６の表示データを２回に分けて生成する。つまり、本実施例では、図中に示すようにＬＣＤ１６を中央でそれぞれ８００×３００ドットの分割領域に分割する。以下、上側の領域を上画像、下側の領域を下画像と呼ぶものとする。ＶＤＰ３８５はまず上画像の表示データを生成し、フレームメモリ３９７に格納し、次に下画像の表示データを生成して、フレームメモリ３９７に格納する。スケーラ３９０は、上画像と下画像の両方の表示データが格納された時点で、両者をＬＣＤ１６に順次、出力する。こうすることで、ＶＤＰ３８５が８００×６００ドットの表示データを一度に生成するだけの能力を有しない場合でも、解像度を低下させることなく画面を表示させることが可能となるのである。スケーラ３９０は、本来、ＬＣＤ１６への出力過程で、ＶＤＰ３８５によって生成された表示データの画素数を増減しＬＣＤ１６の画素数に適合させたり、いわゆるインターレース形式で生成された表示データをノンインタレース形式に形式変換したりするための素子であり、フレームメモリ３９７の内部を４つのフィールドに分けて管理する機能も、本来は画素数の増減や形式変換を実現するために用意されている機能である。本実施例では、この機能を以下で説明する通り流用することで、分割して生成された表示データを結合して１画面分の表示データを生成する機能を実現している。
【００３８】
フレームメモリ３９７に設けられた各フィールド３９７［０］〜３９７［３］は、ＬＣＤ１６の２画面分の表示データを格納することができる。フィールド３９７［０］、３９７［２］はそれぞれ上画像の表示データを格納し、フィールド３９７［１］、３９７［３］はそれぞれ下画像の表示データを格納する。
【００３９】
フレームメモリ３９７の各フィールド３９７［０］〜３９７［３］に表示データを誤り無く格納するため、本実施例では、ＣＰＵ３８１がＶＤＰ３８５に描画コマンドを出力する際に、上画像／下画像のいずれの描画コマンドであるかを示すフィールド信号を生成し、スケーラ３９０に出力する。スケーラ３９０は、この信号に応じて制御信号ＩＦＬＤを生成し、フィールド３９７［０］〜３９７［３］のうち、ＶＤＰ３８５からの表示データを格納すべきフィールドを特定する。
【００４０】
ＶＤＰ３８５からスケーラ３９０には、表示データと併せて同期信号が出力される。同期信号は、上画像、下画像を生成する度に出力される。本実施例では、上画像、下画像の生成は、１６ｍｓｅｃ周期で行うものとした。この同期信号は、ＬＣＤ１６にそのまま出力される。従って、ＬＣＤ１６は１６ｍｓｅｃのフレームレートで表示される。ただし、上画像、下画像の両方の表示データをそろえるためには、１６ｍｓｅｃの処理を２回行う必要があるため、ＬＣＤ１６の画面自体は３２ｍｓｅｃでしか更新できない。つまり、本実施例では、スケーラ３９０は、既に上画像、下画像共に生成済みの表示データを、フレームメモリ３９７から１６ｍｓｅｃで読み出し、ＬＣＤ１６に出力する処理を２回繰り返す。この間に次の上画像、下画像の表示データがそろうため、スケーラ３９０は次の周期では、ＬＣＤ１６に新たなデータを出力可能となる。本実施例では、スケーラ３９０は、このように同一画像を１６ｍｓｅｃで２回表示しつつ、表示内容を３２ｍｓｅｃで更新しながらＬＣＤ１６への表示を行う。
【００４１】
本実施例では、最も簡易な態様として、スケーラ３９０は、上画面／下画面に分割して生成された表示データを結合する機能を奏するものとして説明する。スケーラ３９０は、更に、この結合を実現する過程で上画面／下画面の画素数の増減を行っても良いし、結合した後、ＬＣＤ１６に出力する段階で画素数の増減を行っても良い。本実施例のように画面を分割して生成することにより、原理的には無制限に高解像度の画面を表示することも可能となるが、現実には、高解像度の画面に対応した膨大なキャラクタデータを用意する必要が生じ、キャラＲＯＭ３８６の容量が膨大になってしまうという弊害や、キャラＲＯＭ３８６へのアクセス回数の増加、スプライトを描画する際の処理負荷の増大などに伴う制約が生じるのが通常である。上述の通り、画面の分割と、スケーラ３９０本来の機能である画素数の増減とを組み合わせて適用することにより、これらの弊害を抑えながら、高解像度での画面表示を実現することが可能となる。
【００４２】
Ｃ．画面表示制御方法：
図４は表示データの生成例を示す説明図である。図の右下に示す画像（８００×６００ドット）を表示する手順を示した。図の左側には、ＶＤＰ３８５内での処理概要を示し、図の右側にはフレームメモリ３９７に格納されるデータ内容を示した。図の左側に示すように、ＶＤＰ３８５内では、描画データをビットマップ展開するためのキャンバスＣＶ１が用意されている。回路上では、キャンバスＣＶ１内の全画素に対応するメモリ領域が用意されることになる。キャンバスＣＶ１のサイズは、上画像／下画像（８００×３００ドット）よりも大きく、ＬＣＤ１６の表示領域（８００×６００ドット）よりも小さく、縦方向に５１２ドットとなっている。以下、説明の便宜上、キャンバスＣＶ１の左上を原点として左から右に向かう主走査方向をｘ方向、上から下に向かう副走査方向をｙ方向と呼ぶこともある。
【００４３】
本実施例では、キャンバスＣＶ１に対応する物理的なメモリが用意されている場合を例にとって説明するが、キャンバスＣＶ１は仮想的なものでもよい。例えば、キャンバスＣＶ１上への描画をラスタ単位で行う場合には、１ラスタ分の描画データをビットマップ展開するためのラインメモリ、およびキャンバスＣＶ１のどのラスタを展開しているのかを管理するためのレジスタを用意しておけば足りる。ＶＤＰ３８５が描画可能なキャンバスＣＶ１のサイズは、このレジスタの上限値で決定されることになる。本実施例は、このレジスタの上限値が５１２に制限されている場合に相当すると言うこともできる。
【００４４】
キャンバスＣＶ１内には、表示エリアＶＡが定義されている。これは上画像／下画像と同一形状の領域である。ＶＤＰ３８５は、キャンバスＣＶ１上に画像をビットマップ展開した後、表示エリアＶＡ内の画像を切り出し、表示データとしてスケーラ３９０に出力する。本実施例において、キャンバスＣＶ１を表示エリアＶＡよりも大きいサイズとしたのは、スプライトが表示エリアＶＡから一部はみ出す状態で配置された場合でも比較的簡易な処理でビットマップ展開可能とするためである。このような状態でスプライトが配置されている場合の処理方法としては、キャラＲＯＭから取得したスプライトデータのうち、表示エリアＶＡ内に存在する部分のみを切り出してビットマップ展開する方法も可能ではある。しかし、この方法では、描画時の処理負荷が非常に高くなる。これに対し、キャンバスＣＶ１を表示エリアＶＡよりも大きくしておけば、スプライトが表示エリアＶＡからはみ出す場合でも、上述の切り出しを行うまでなく、ビットマップ展開できるため、処理の簡素化を図ることができるのである。こうした効果を重視しない場合は、キャンバスＣＶ１と表示エリアＶＡとを同じ形状とすることも可能である。
【００４５】
ＣＰＵ３８１から上画像の描画データを受け取り、ＶＤＰ３８５が画像を描画すると、キャンバスＣＶ２の状態が得られる。ＶＤＰ３８５は、キャンバスＣＶ２から、表示エリアＶＡ内の画像を切り出し、スケーラ３９０を介して（図示を省略）、表示データとして出力する。この表示データは、フレームメモリ３９７の上画像用のフィールド３９７［０］に格納される。この結果、フレームメモリ３９７内には、状態ＦＭ１で示す内容の表示データが格納されることになる。
【００４６】
次に、ＣＰＵ３８１から下画像の描画データを受け取り、ＶＤＰ３８５が画像を描画すると、キャンバスＣＶ３の状態が得られる。本実施例では、表示エリアＶＡの位置は固定したまま、画像の位置を−ｙ方向に３００ドット分ずらして描画する。この移動を実現するためには、描画コマンドで指定されるｙ座標値から３００を引けばよい。画像の位置をずらして描画した状態で、表示エリアＶＡ内の画像を切り出せば、下画像の表示データが得られることになる。この表示データは、フレームメモリ３９７の下画像用のフィールド３９７［１］に格納される。この結果、フレームメモリ３９７内には、状態ＦＭ２で示す通り、画像全体を表す表示データが格納されることになる。この表示データを出力すれば、ＬＣＤ１６には右下に示した画像を表示させることができる。
【００４７】
図５はＶＤＰ３８５への画面データ出力の様子を示すタイミングチャートである。図４で説明した手順で、上画像、下画像の表示データがフレームメモリに格納され、ＬＣＤ１６に出力される様子を示した。ＶＤＰ３８５のスプライトレジスタ３８５ｓには、上画像、下画像の順で繰り返し描画コマンドが書き込まれる。図中では、ＬＣＤ１６に表示されるフレーム１に対応した上画像、下画像をそれぞれ「上１」、「下１」のように略称で示した。フレーム２、フレーム３に対応する上画像、下画像も同様である。
【００４８】
図３で説明した通り、スプライトレジスタ３８５ｓはダブルバッファとなっている。第１バッファへの「上１」の描画コマンドの書き込みが完了すると、この描画コマンドは、ＤＭＡ信号に同期して、第２バッファにＤＭＡ転送され、ＶＤＰ３８５によるビットマップ展開が開始される。この結果、図中に示すように、「上１」の書き込みが完了し、ＤＭＡ信号が出力された後で、ＶＤＰ出力として「上１出力」、即ち「上１」に対応した表示データの出力が得られる。「下１」以降の描画コマンドおよび表示データの出力も同様のタイミングで繰り返される。また、ＶＤＰ出力と併せてＶＤＰ３８５からは同期信号ＶＳＹＮＣが出力される。
【００４９】
ＣＰＵ３８１からＶＤＰ３８５には、描画コマンドの他、描画条件を指定する条件設定コマンドも出力される。このコマンドはＶＤＰレジスタに格納される。本実施例では、ＣＰＵ３８１からＶＤＰ３８５への上画像の描画コマンドの出力が完了した時点で、条件設定コマンドを出力するものとした。従って、図示するように、例えば、「上１書き込み」後のＤＭＡ信号に同期して、ＶＤＰレジスタ更新、つまりＶＤＰレジスタへの条件設定コマンドの出力が行われる。この条件設定コマンドは、「上１出力」および「下１出力」のＶＤＰ出力に共通して用いられる。従って、「下１書き込み」後のＶＤＰレジスタの更新は省略することができる。
【００５０】
ＣＰＵ３８１は、ＶＤＰ３８５に描画コマンドを出力する際に、上画像／下画像を特定するフィールド信号を出力する。フィールド信号は、図示する通り、上画像に対してＯＮ、下画像に対してＯＦＦとなる信号である。ＶＤＰ３８５は、フィールド信号に連動する形でデータ読み書きをする対象となるフィールドを指定する制御信号ＩＦＬＤを生成する。制御信号ＩＦＬＤは２ビットの信号であり、図中では上位桁をＩＦＬＤ１、下位桁をＩＦＬＤ０で表した。
【００５１】
下位桁ＩＦＬＤ０のＯＮ・ＯＦＦは、フィールド信号を受けて変化する。例えば、「上１書き込み」時にＣＰＵ３８１からフィールド信号としてＯＮが出力されると、ＶＤＰ３８５は「上１出力」時に制御信号ＩＦＬＤ０としてＯＮを出力する。ＣＰＵ３８１からＶＤＰ３８５への描画コマンド書き込みと、ＶＤＰ３８５からの表示データ出力のタイミングのずれに応じて、フィールド信号および制御信号ＩＦＬＤ０の出力タイミングにはずれが生じる。下位桁ＩＦＬＤ０のＯＮ・ＯＦＦが変化すると、１周期ごとに上位桁ＩＦＬＤ１のＯＮ・ＯＦＦが変化する。つまり、制御信号ＩＦＬＤは、フィールド信号の変化に連動して、２ビットで「００Ｈ」〜「０３Ｈ」の４値を表す信号となっている。制御信号ＩＦＬＤで表される４値は、それぞれフレームメモリ３９７のフィールド３９７［０］〜３９７［３］に対応している。
【００５２】
例えば、ＶＤＰ３８５から「上１出力」がなされている時点では、制御信号ＩＦＬＤは、「１０Ｈ」を表しているから、書き込みメモリはフィールド３９７［２］となる。「下１出力」がなされている時点では、書き込みメモリはフィールド３９７［３］となる。つまり、フレーム１の上画像、下画像の表示データは、フィールド３９７［２］、３９７［３］に書き込まれることになる（図３参照）。この時点では、フィールド３９７［０］、３９７［１］にはフレーム１よりも前に書き込み済みの表示データが格納されているため、ＶＤＰ３８５はフィールド３９７［０］、３９７［１］からデータを読み出し、ＬＣＤ１６に出力する。読み出しメモリは、制御信号ＩＦＬＤ１を反転させた信号で指定すればよい。上述の時点では、制御信号ＩＦＬＤ１はＯＮとなっているから、その反転信号はＯＦＦである。従って、上位桁が「０」となるフィールド、つまり「００Ｈ」、「０１Ｈ」に対応するフィールド３９７［０］、３９７［１］が読み出しメモリとなる。下１出力が完了すると、上位桁ＩＦＬＤ１がＯＦＦとなるから、読み出しメモリは「１０Ｈ」、「１１Ｈ」に対応するフィールド３９７［２］、３９７［３］に切り替わる。また、下位桁ＩＦＬＤ０に応じて、フィールド３９７［０］、３９７［１］が書き込みメモリとなる。
【００５３】
以上で示した手順により、ＶＤＰ３８５はＣＰＵ３８１から描画コマンドを受け取り、表示データを生成してフレームメモリ３９７に書き込む。フレームメモリ３９７の書き込みメモリは、１６ｍｓｅｃ周期で切り替わる。スケーラ３９０は、また、フレームメモリ３９７から、格納済みの表示データを読み出し、ＬＣＤ１６に駆動データとして出力する。図示する通り、ＬＣＤ１６への出力は、同一の読み出しメモリから２回ずつ繰り返して行われる。つまり、ＬＣＤ１６には１６ｍｓｅｃ周期で同じ駆動データが出力され、同じ画面が表示される。画面内容は、３２ｍｓｅｃ周期で切り替わることになる。
【００５４】
Ｄ．表示制御処理：
図６は表示制御処理のフローチャートである。ＣＰＵ３８１がＶＤＰ３８５に対して描画コマンド等を出力し、表示データを生成させるために実行する処理である。この処理は、１６ｍｓｅｃ周期の割込処理として実行される。この処理を開始すると、ＣＰＵ３８１は、処理を実行するための準備として、多重割込みを許可し（ステップＳ１０）、ノイズキャンセル・判定処理を行う（ステップＳ１１）。そして、割込端子の端子レベルを確認し（ステップＳ１２）、端子レベルが異常の場合には、ノイズ等の影響による異常なトリガに基づいて表示制御処理が開始されたものと判断し、そのまま処理を終了する。端子レベルが正常の場合には、以下に示す処理によって、描画コマンド、条件設定コマンドの出力を行う。
【００５５】
先に説明した通り、本実施例では、表示制御処理を実行する度に、上画像、下画像を順次、切り換えて描画コマンドを出力することになる。上画像、下画像のいずれを処理対象とすべきかは、上下フラグによって管理される。上下フラグは、上画像を処理対象とすべき時には値１となり、下画像を処理対象とすべき時には値０となるフラグである。
【００５６】
ＣＰＵ３８１は上下フラグが値０の場合には（ステップＳ１３）、以下に示す通り、上画像に対する処理を実行する。まず、ＣＰＵ３８１はＶＤＰ３８５を初期化する（ステップＳ２０）。この処理には、ＶＤＰ３８５が表示データの生成に使用する種々のレジスタ等の値の初期化が含まれるが、ＣＰＵ３８１からの描画コマンド等を保持しておくべきスプライトレジスタおよびＶＤＰレジスタの初期化は含まれない。スプライトレジスタ等の初期化は、別途実行することになる。
【００５７】
ＣＰＵ３８１は次に上半分表示処理を実行する（ステップＳ３０）。上半分表示処理の内容は後で詳述し、ここでは概要のみを説明する。この処理は、新たなフレームの上画像の描画コマンドをＶＤＰ３８５に出力する処理ではない。新たな上画像の描画コマンド出力に先立って、直前のフレームの下画像の描画コマンドの座標を修正する処理である。この下画像の描画コマンドは既にＶＤＰ３８５のスプライトレジスタに蓄積されているデータであり、本来、上画像に対する処理では不要のデータである。しかし、スプライトレジスタの初期化を行っても、そのままスプライトレジスタに残っている場合がある。初期化では、レジスタに全て「０」や「Ｎｕｌｌ」を入力するとは限らず、描画コマンドを残したまま、単にその描画コマンドの設定を「無効」、「非表示」などにする簡易な方法が採られることもあるからである。この場合には、設定の誤り等によって、従前のフレームのスプライトが再度、表示対象となる可能性がないとは言えない。そこで、本実施例では、仮にこのような事態が生じたとしても、上画像の表示データに極端な違和感を与えることを回避するための処理として、上半分表示処理を実行している。この処理では、例えば、図４のキャンバスＣＶ３に示された画像の位置は、キャンバスＣＶ２に示した上画像の描画時の位置に戻される。次のフレームは、従前のフレームと近似した画像となることが多いため、このように位置を修正しておくことにより、例え従前の描画コマンドが表示データに影響を与えたとしても、違和感を十分に抑制することが可能となる。上半分表示処理は必須の処理ではないため、省略することも可能である。
【００５８】
上半分表示処理が完了すると、ＣＰＵ３８１はＶＤＰ３８５のスプライトレジスタを初期化する（ステップＳ４０）。この時点で、併せてＶＤＰレジスタの初期化も行う。初期化が完了すると、ＣＰＵ３８１は、次にサブ制御基板３５から受信した表示コマンドの内容を解析し（ステップＳ４１）、ＬＣＤ１６に表示すべき画面データを特定する。そして、この画面データに基づいて上画像の描画コマンドをＶＤＰ３８５に出力する（ステップＳ４２）。先に図４で説明した通り、本実施例では、上画像、下画像のいずれを処理するかに関わらず、ＬＣＤ１６に表示すべき画面全体の描画コマンドをＶＤＰ３８５に出力している。上画像、下画像の生成時で異なるのは、描画コマンドの座標値のみである。本実施例では、描画コマンドは、上画像生成時を基準として用意しておくものとした。従って、ステップＳ４２の処理では、ＣＰＵ３８１は描画コマンドの座標値を修正するまでなく、そのままＶＤＰ３８５に出力すれば足りる。
【００５９】
ＣＰＵ３８１は、描画コマンド出力と並行して、スプライトの最適化を行う（ステップＳ４３）。これは、ＶＤＰ３８５に定義された表示エリア（図４のＶＡ参照）から全体が外れるようなスプライトについては、描画コマンドから省略する処理である。このようなスプライトをキャンバス上に描画するという無駄な処理を回避するためである。この処理は、ＶＤＰ３８５の処理効率を向上させるための処理であるため、省略することも可能である。
【００６０】
ＣＰＵ３８１は、以上の処理が完了すると、下画像が次の処理対象となることを示すため、フィールド信号（図５参照）をＯＦＦとする（ステップＳ４４）。また、上下フラグを値１だけ増加させる（ステップＳ８０）。上下フラグは１ビットのフラグであるため、この処理によって上下フラグの値は１となり、次の処理では下画像が処理対象と判断されることになる。
【００６１】
ステップＳ１３において、上下フラグが値１の場合には、ＣＰＵは以下の手順で下画像に対する処理を実行する。まず、ＣＰＵはＶＤＰ３８５を初期化し（ステップＳ５０）、ＶＤＰレジスタに条件設定コマンドを設定する（ステップＳ５１）。これは、図５に示したＶＤＰレジスタの更新に相当する処理であり、上画像、下画像に共通して表示データ生成時に使用される種々の設定を行う処理である。ＶＤＰ３８５は、この処理を受けて、スプライトレジスタに設定済みの描画コマンドに基づき、上画像の表示データを生成してフレームメモリ３９７に出力する。
【００６２】
ＣＰＵ３８１は、次に下半分表示処理を実行する（ステップＳ６０）。この処理は、先に概要を説明した上半分表示処理（ステップＳ３０）と同様、描画コマンドの座標値を修正する処理である。この処理によって、例えば、上画像の描画時には、図４中のキャンバスＣＶ２の状態で配置される描画コマンドは、キャンバスＣＶ３の状態に移動されることになる。本実施例では、上画像、下画像はｙ方向に３００ドットのサイズとなっているから、下半分処理では、描画コマンドのｙ座標をそれぞれ３００ずつ減じればよい。
【００６３】
ＣＰＵ３８１は、下半分表示処理が完了すると、スプライトの最適化を行い（ステップＳ７０）、フィールド信号をＯＮとし（ステップＳ７１）、上下フラグを値１だけ増加させる（ステップＳ８０）。上下フラグは１ビットのフラグであるから、この演算によって値０となる。この結果、フィールド信号、上下フラグともに、次の処理対象が上画像であることを示す状態となる。この後、ＶＤＰ３８５内では、下画像の描画コマンドが読み込まれ、表示データが生成される。条件設定コマンドはステップＳ５１でＶＤＰレジスタに設定された内容がそのまま使用される。本実施例では、上画像の描画コマンドが設定された後、その表示データの生成を開始する前の時点で、条件設定コマンドを設定することにより、下画像に対する一連の処理内で、条件設定コマンドを上画像、下画像に流用することができる。
【００６４】
図７は上半分表示処理のフローチャートである。表示制御処理（図６）のステップＳ３０に相当する処理である。この処理は、先に説明した通り、ＶＤＰ３８５のスプライトレジスタに格納されている描画コマンドのｙ座標を３００増加させる。本実施例では、スプライトごとに、その配置、表示／非表示の設定することで描画コマンドが構成されていることから、スプライト単位で順次、その座標を修正する手法を採った。以下では、それぞれのスプライトに対して、一義的な識別番号として「スプライトＮｏ．」が付されているものとして説明する。
【００６５】
まず、ＣＰＵ３８１は全スプライトを順番に処理するための初期設定として、処理対象となるべき「スプライトＮｏ．」を０に設定する（ステップＳ３１）。そして、処理対象となるスプライトの設定データを読み込む（ステップＳ３２）。図中に設定データの内容を例示した。識別番号としての「スプライトＮｏ．」、キャラＲＯＭ内の「データ格納場所」を表すアドレス、スプライトを配置すべきキャンバス上の配置座標（ＸＰＯＳ，ＹＰＯＳ）、およびスプライトの表示／非表示を切り換えるためのフラグが含まれる。この他のデータを含めても差し支えない。
【００６６】
ＣＰＵ３８１は、処理対象のスプライトが、表示／非表示フラグによって「表示」設定されている場合には（ステップＳ３３）、配置座標の修正を施す（ステップＳ３４）。つまり、ｙ座標（ＹＰＯＳ）を値３００だけ増大させる。図中にこの処理の意味を示した。図の左側に示す通り、表示エリアＶＡおよび画像が配置されているとする。この状態で画像のｙ座標を値３００だけ増大させると、右側に示すように画像の位置が表示エリアＶＡに対して相対的に下側にずれる。表示エリアＶＡは縦方向に３００ドットであるから、左側の画像で表示エリアＶＡから上側にはみ出していた部分が表示エリア内に入る。つまり、左側の下画像に対応する上画像が表示エリアＶＡ内に現れることになる。ＣＰＵ３８１は、表示／非表示フラグが非表示設定となっている場合には（ステップＳ３３）、上述した配置座標の修正を施す必要はないと判断し、ステップＳ３４をスキップする。
【００６７】
以上の処理を、ＣＰＵ３８１は「スプライトＮｏ．」が所定の上限値Ｎｌｉｍに至るまで（ステップＳ３５）、「スプライトＮｏ．」を順次、値１ずつ増加させながら（ステップＳ３６）、繰り返し実行する。上限値Ｎｌｉｍは、画面データで用いられる全スプライトに付された「スプライトＮｏ．」の最大値とすることができる。遊技状態によって、一部のスプライトしか用いないことが決まっている場合には、その中の「スプライトＮｏ．」の最大値としてもよい。
【００６８】
以上で説明した実施例によれば、８００ドット×６００ドットというＬＣＤ１６用の表示データを上画像、下画像の２回に分けて生成することができる。この結果、ＶＤＰ３８５の処理能力がＬＣＤ１６の画素数に見合うほどに高くはない場合であっても、解像度を活かした高い画質で画像を表示することが可能となる。
【００６９】
Ｅ．変形例：
実施例では、図４で説明した通り、上画像、下画像の表示データを生成する際に、表示エリアＶＡに対する位置を相対的に移動させながら、画面全体の描画コマンドをＶＤＰ３８５に出力する例を示した。ＶＤＰ３８５への描画コマンドの出力は、この態様に依らず、種々の態様を採ることができる。例えば、描画コマンドの座標値は固定としたまま表示エリアの位置を移動させてもよい。また、上画像用、下画像用に個別に描画コマンドを用意してもよい。以下では、これらの２つの態様について、それぞれ第１変形例、第２変形例として説明する。
【００７０】
図８は第１変形例としての表示制御処理のフローチャートである。図６に代わる処理であり、上画像、下画像の生成時に、描画コマンドの座標値は固定としたまま表示エリアの位置を移動させる態様に相当する。この処理では、図６と同様、ＣＰＵ３８１は、多重割込み許可（ステップＳ１０）、ノイズキャンセル・判定処理（ステップＳ１１）を行い、端子レベルが異常の場合には（ステップＳ１２）、そのまま処理を終了する。端子レベルが正常の場合には（ステップＳ１２）、上下フラグの値に応じて、以下に示す通り、上画像、下画像を対象とするそれぞれの処理を実行する。
【００７１】
上下フラグが値０の場合、即ち上画像の処理を行う場合には、ＣＰＵ３８１はＶＤＰの初期化を行った後（ステップＳ２０）、表示エリアＶＡの位置を設定する（ステップＳ２０Ａ）。表示エリアＶＡは、描画コマンドで描かれる全体画像のうち上画像を切り出すことができる位置に設定される（図４のキャンバスＣＶ２参照）。そして、ＣＰＵ３８１は、スプライトレジスタを初期化し（ステップＳ４０）、コマンド解析処理を実行し（ステップＳ４１）、画像全体の描画コマンドをＶＤＰ３８５に出力する（ステップＳ４２）。そして、スプライトを最適化し（ステップＳ４３）、次の処理対象が下画像となることを示すため、フィールド信号をＯＦＦにするとともに（ステップＳ４４）、上下フラグの値を１だけ増加させて（ステップＳ８０）、表示制御処理を終了する。
【００７２】
上下フラグが値１の場合、即ち下画像の処理を行う場合には、ＣＰＵ３８１はＶＤＰレジスタに条件設定コマンドの設定を行う（ステップＳ５１）。この設定を受けて、ＶＤＰ３８５は上画像の描画コマンドおよび表示エリアＶＡの設定に基づき、上画像の表示データを生成、出力する。その後、ＣＰＵ３８１は、表示エリアＶＡを下方に３００ドット移動させる（ステップＳ６０Ａ）。図中に移動の様子を示した。左側に示すように、上画像を切り出し可能な状態で配置されていた表示エリアＶＡは、この処理によって、右側に示すように下画像を切り出し可能な状態に移動される。実施例（図６）と異なり描画コマンドの座標の修正は行わないため、画像の位置は固定されたままである。ＣＰＵ３８１は、スプライトの最適化を行い（ステップＳ７０）、フィールド信号をＯＮした後（ステップＳ７１）、上下フラグを値１だけ増加させて（ステップＳ８０）、表示制御処理を終了する。ＶＤＰ３８５は、これに応じて、下画像の表示データを生成する。
【００７３】
第１変形例によれば、描画コマンドの座標値を修正する必要がなく、上画像、下画像それぞれの生成に要する処理負荷を軽減することができる利点がある。
【００７４】
図９は第２変形例としての表示制御処理のフローチャートである。図６に代わる処理であり、上画像用、下画像用に個別に描画コマンドを用意する態様に相当する。この処理では、図６と同様、ＣＰＵ３８１は、多重割込み許可（ステップＳ１０）、ノイズキャンセル・判定処理（ステップＳ１１）を行い、端子レベルが異常の場合には（ステップＳ１２）、そのまま処理を終了する。端子レベルが正常の場合には（ステップＳ１２）、上下フラグの値に応じて、以下に示す通り、上画像、下画像を対象とするそれぞれの処理を実行する。
【００７５】
上下フラグが値０の場合、即ち上画像の処理を行う場合には、ＣＰＵ３８１はＶＤＰ初期化（ステップＳ２０）、スプライトレジスタの初期化を行った後（ステップＳ４０）、コマンド解析処理を実行してＬＣＤ１６に表示すべき画像の画面データを特定した後（ステップＳ４１）、上半分の描画コマンドを出力する（ステップＳ４２Ａ）。変形例では、コマンド解析処理によって特定される画面データには、上画像用の画面データ、下画像用の画面データが個別に用意されているものとした。例えば、上画像用には図中に示すハッチング部分に対応する描画コマンドが含まれている。図の例では、この画面にはスプライトＳＰ１、ＳＰ２が含まれるが、上画像で必要とされるのは、スプライトＳＰ１のみである。従って、画面データはスプライトＳＰ２を省略した状態のデータとすることができる。ＣＰＵ３８１は、実施例と同様、スプライトの最適化（ステップＳ４３）、フィールド信号ＯＦＦ（ステップＳ４４）、上下フラグのインクリメント（ステップＳ８０）の各処理を実行して、表示制御処理を終了する。第２変形例では、上画像用に最適化された画面データを用意することができるため、スプライトの最適化（ステップＳ４３）は省略することも可能である。
【００７６】
上下フラグが値１の場合、即ち下画像の処理を行う場合には、ＣＰＵ３８１はＶＤＰレジスタに条件設定コマンドを設定し（ステップＳ５１）、スプライトレジスタを初期化して（ステップＳ５２）、下半分の描画コマンドを出力する（ステップＳ５３）。下画像用の画面データには図中に示すハッチング部分に対応する描画コマンド、即ちスプライトＳＰ１、ＳＰ２の双方に対する描画コマンドが含まれることになる。描画コマンドのｙ座標値は、表示エリアＶＡによって下画像を切り出すことができるように設定された値となっている。従って、ＣＰＵ３８１は座標値の修正や表示エリアＶＡの位置修正などを施すまでなく、単に用意された描画コマンドをＶＤＰ３８５に出力すれば足りる。ＣＰＵ３８１は、次に、実施例と同様、スプライトの最適化（ステップＳ７０）、フィールド信号ＯＮ（ステップＳ７１）、上下フラグのインクリメント（ステップＳ８０）の各処理を実行して、表示制御処理を終了する。スプライトの最適化（ステップＳ７０）は省略することも可能である。
【００７７】
第２変形例によれば、上画像、下画像のそれぞれについて描画コマンドを出力する際に、座標修正や表示エリアの移動などの処理が不要となるため、処理負荷を軽減することができる利点がある。
【００７８】
実施例および変形例では、ＬＣＤ１６の画面を上下２つに分割して表示データを生成する場合を例示した。画面の分割は、かかる態様に依らず、種々の態様を採ることができる。例えば、上下方向に３以上の領域に分割してもよい。また、上画像、下画像を更に左右方向に分割してもよい。
【００７９】
また、以下の理由から分割数を画面の内容に応じて可変としてもよい。ＶＤＰ３８５の出力能力、即ちＶＤＰ３８５が１６ｍｓｅｃの間に出力可能なラスタ数は、キャラＲＯＭ３８６へのアクセス数やスプライト同士の重ね合わせ状態の判断を行う処理回数などによって変化する。つまり、画面に表示すべきスプライト数が多い場合には処理負荷が高くなるため、出力能力は低下する。スプライト数が少ない場合には逆に出力能力が高くなる。従って、例えば、画面に表示すべきスプライト数が少ない場合には画面の分割数を低減し、スプライト数が多い場合には分割数を増やすようにしてもよい。ＬＣＤ１６の画素数に対応可能な描画用のメモリ容量またはレジスタのサイズが備えられている場合には、こうすることにより、実施例ではＬＣＤ１６の画面を３２ｍｓｅｃで更新していたのに対し、スプライト数が少ない画面では１６ｍｓｅｃで更新することが可能となり、滑らかな動画表示を実現することが可能となる。メモリ容量またはレジスタのサイズ上、ＬＣＤ１６の画面を表示する際に必ず分割が必要である場合でも同様に、画面の分割数が少なくなる分、ＬＣＤ１６の画面の更新周期を短くすることができ、動画表示の円滑さを向上させることが可能である。  
【００８０】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。実施例では、ＬＣＤ１６を表示装置として用いる場合を例示したが、本発明は他の種類の表示装置を用いる場合にも適用可能である。
【図面の簡単な説明】
【００８１】
【図１】実施例としてのパチンコ機１の正面図である。
【図２】パチンコ機１の制御用ハードウェア構成を示すブロック図である。
【図３】装飾図柄制御基板３０の回路構成を示す説明図である。
【図４】表示データの生成例を示す説明図である。
【図５】ＶＤＰ３８５への画面データ出力の様子を示すタイミングチャートである。
【図６】表示制御処理のフローチャートである。
【図７】上半分表示処理のフローチャートである。
【図８】第１変形例としての表示制御処理のフローチャートである。
【図９】第２変形例としての表示制御処理のフローチャートである。
【符号の説明】
【００８２】
１…パチンコ機
３…メイン制御基板
４…遊技盤
４ａ…表示部
４ｂ…操作スイッチ
６…遊技領域
８…発射ハンドル
９…始動入賞口
１０…大入賞口
１２…パネル装飾ランプ
１５ａ…入賞検出器
１６…ＬＣＤ
１８…大入賞口ソレノイド
２０…払出モータ
２１…賞球払出装置
２２…払出球検出器
２４…モータ駆動センサ
２５…払出制御基板
２９…スピーカ
３０…装飾図柄制御基板
３１…枠装飾ランプ
３２、３４…ランプ中継基板
３５…サブ制御基板
４１…特別図柄表示装置
４７…発射制御基板
４８…タッチ検出部
４９…発射モータ
３８１…ＣＰＵ
３８２…ＲＡＭ
３８３…ＲＯＭ
３８６…キャラＲＯＭ
３８５…ＶＤＰ
３８５ｓ…スプライトレジスタ
３８５ｖ…ＶＤＰレジスタ
３９０…スケーラ
３９７…フレームメモリ
３９７［０］〜３９７［３］…フィールド
【図１】
2007295977.tif 000003
【図２】
2007295977.tif 000004
【図３】
2007295977.tif 000005
【図４】
2007295977.tif 000006
【図５】
2007295977.tif 000007
【図６】
2007295977.tif 000008
【図７】
2007295977.tif 000009
【図８】
2007295977.tif 000010
【図９】
2007295977.tif 000011