(57)【要約】【課題】  遊技機においてスプライトの任意の一部を透明状態とするマスク処理を簡易に実現する。【解決手段】  遊技機において、演出表示の他、始動記憶や、エラー表示などをＬＣＤに表示させる。表示制御用のＣＰＵは、遊技の進行状態に応じて表示内容を決定し、ＶＤＰに描画コマンドを出力する。ＶＤＰはＬＣＤの走査線単位で描画コマンドを展開し、表示データを生成する。ＣＰＵはマスクすべき領域に対しては、表示させるスプライトの描画を指示した後、透明の矩形で構成されるマスクスプライトを多数描画させるコマンドを出力する。マスクスプライトの描画によって、ＶＤＰの処理能力は限界に達し、その後の描画ができなくなるため、他のスプライトは表示されなくなる。こうすることで、画面上の任意の場所でマスクを簡易に実現することが可能となる。【選択図】  図８
2008029364.tif 000002
【特許請求の範囲】
【請求項１】
遊技中に所定の演出表示を行う遊技機であって、
遊技盤面に設けられ、表示用の画素が二次元的に配列された表示装置と、
前記遊技の状況に応じて前記演出表示を制御する表示コマンドを出力するサブ制御基板と、
前記サブ制御基板からの表示コマンドを受けて、前記表示装置を駆動するための表示データを生成し、該表示装置に出力する表示制御基板とを有し、
前記表示制御基板は、
前記表示コマンドに応じて、前記表示装置に表示すべき画面の構成を規定する描画コマンドを出力する描画制御部と、
前記描画コマンドに基づいて、前記表示装置の各画素の表示状態を規定する表示データを、前記配列の行または列を生成単位として生成する表示データ生成部を備え、
前記表示データ生成部は、前記表示データの生成時に、前記生成単位ごとに描画できるのべ画素数に上限値があり、
前記描画制御部は、前記画面内のマスクすべき部位に対しては、マスク図形として所定の不可視の図形を描画させるマスクコマンドを、表示データ生成部が描画する画素数が該マスクコマンドのみ又は前記描画コマンドと併せて前記上限値を超え得る数、出力する遊技機。
【請求項２】
請求項１記載の遊技機であって、
前記描画制御部は、前記表示データ生成部によって、少なくとも一つの前記マスク図形が前記描画コマンドよりも前に描画されるタイミングで前記マスクコマンドを出力する遊技機。
【請求項３】
請求項１または２記載の遊技機であって、
前記表示データ生成部は、背面から前面に重ねられた複数のレイヤに分けて規定された描画コマンドに基づいて、表示データを前記背面側のレイヤから優先して生成し、
前記描画制御部は、前記マスク図形を出力する領域において、必ず表示すべき図形に対する描画コマンドを、前記マスクコマンドと同一または背面側のレイヤで出力する遊技機。
【請求項４】
請求項１〜３いずれか記載の遊技機であって、
前記描画制御部は、前記マスクコマンドのみでは前記上限値に至らない範囲で、前記マスクコマンドを出力する遊技機。
【請求項５】
請求項４記載の遊技機であって、
前記描画制御部は、複数のマスクコマンド間の不定の位置に、前記描画コマンドを出力する遊技機。
【請求項６】
請求項１〜５いずれか記載の遊技機であって、
前記マスク図形は前記生成単位となる行または列を、複数隣接して配置した形状である遊技機。
【請求項７】
請求項６記載の遊技機であって、
複数の前記マスク図形には、前記隣接させる数が異なる形状が混在している遊技機。
【請求項８】
請求項１〜７いずれか記載の遊技機であって、
前記描画制御部は、前記画面内で前記マスク図形を描画させる位置を変化させて、前記マスクコマンドを出力する遊技機。
【請求項９】
請求項１〜８いずれか記載の遊技機であって、
前記表示制御基板は、
更に、記憶を保持するためにリフレッシュ動作が要求されるメモリ素子を用いて、前記画面に表示される所定のスプライトを前記表示装置の画素単位で表したスプライトデータを記憶するキャラクターメモリと、
前記表示データ生成部からの要求に応じて前記キャラクターメモリからの前記スプライトの読み出しを制御する制御装置であって、所定のリフレッシュキャラクタが要求された場合には所定の不可視の図形を前記スプライトとして前記表示データ生成部に受け渡すとともに、前記リフレッシュ動作を実行するキャラクターメモリ制御装置とを有し、
前記描画制御部は、前記マスクコマンドとして、前記リフレッシュキャラクタの描画を指定する描画コマンドを出力する遊技機。
【請求項１０】
請求項１記載の遊技機であって、
該遊技機は、遊技球が遊技盤面に設けられた所定の始動入賞口に入った際に所定の入賞動作を行い、
前記画面の少なくとも一部には、前記始動入賞口に入った後、前記入賞動作が未済の遊技球数を表示する始動記憶表示が含まれており、
前記描画制御部は、前記始動記憶表示の描画がなされた後、前記上限値を超えるまで該始動記憶表示に重ねて前記マスク図形が描画されるよう、前記描画コマンドおよび前記マスクコマンドを出力する遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う画面表示方法に関する。
【背景技術】
【０００２】
パチンコ機やスロットマシンなどの遊技機では、遊技盤に備えられた表示装置を用いて、遊技中に種々の演出表示が行われる。この演出表示には、液晶パネルが用いられることが多い。液晶パネルは、マトリックス状に配置された画素によって画像を表示する。画像を表示するための表示データは、例えば、次の手順で生成される。まず、演出表示を制御するためのＣＰＵは、表示コマンドを受け取り、その内容を解析し、予め用意されたスケジュールデータを参照して、表示すべき画面の内容を決定する。そして、このスケジュールデータに基づいて描画コマンドをＶＤＰ（Video Display Processor）に出力する。ＶＤＰは、この描画コマンドをビットマップ展開して画素単位での表示データを生成し、液晶パネルに出力する。ＶＤＰによっては、描画コマンドをレイヤに分けるとともに、レイヤごとに全体の透明度や色調などを調整することで多彩な描画を実現可能とするものもある。
【０００３】
遊技機の表示画面は、予め用意しキャラＲＯＭに記憶されたスプライトを配置して構成されることが多い。スプライトとは、例えば、図１３に示した魚の絵などを言う。特許文献１は、スプライトを使用した表示制御を開示している。ＶＤＰはこのスプライトを用いた描画を、表示装置のフレームレートに適合するよう、１６ｍｓｅｃまたは３２ｍｓｅｃに１枚という速度で行う必要がある。スプライトの数が多くなる程、キャラＲＯＭへのアクセス回数が増え、表示画面の描画に要する時間が長くなる。興趣に富んだ演出画面を表示できるよう多様なスプライトを使用可能とするため、スプライトの読み出し速度を向上させることが好ましい。特許文献１は、かかる観点からキャラＲＯＭに記憶されたスプライトを、画面表示に使用する際には前もってＤＲＡＭに転送しておくことによって、スプライトの読み出し速度を向上させ、多数のスプライトを利用可能とする技術も開示している。
【０００４】
【特許文献１】特開平９−２８８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、スプライトの読み出し速度を向上させたとしても、ＶＤＰの描画能力に上限がある以上、フレームレートに合わせて描画を行うために用い得るスプライトの数には限界があった。近年、遊技機の分野では、表示装置の高解像度化が進んでおり、描画すべき画素数が増大するとともに、スプライトのデータ量も増大しているため、描画に用い得るスプライト数はますます抑制される傾向にある。このようにスプライト数が制限された中で、この制限およびスプライト同士の重なり具合を考慮して、興趣に富んだ演出表示用の画面をデザインすることには多大な負荷がかかっていた。また、それによって実現される演出表示の多様性にも自ずから限界があり、更に興趣に富む演出表示の実現は困難であった。本発明は、こうした課題に鑑み、ＶＤＰの描画能力に上限があることを踏まえつつ、より多彩な演出表示を実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、遊技盤面に設けられた表示装置の表示領域に遊技中に所定の演出表示を行う遊技機を対象とする。遊技機には、パチンコ機や回胴式遊技機などが該当する。表示装置は表示用の画素が二次元的に配列された装置であり、液晶パネル、プラズマディスプレイ、有機ＥＬなどを利用可能である。遊技機には、遊技の状況に応じて演出表示を制御する表示コマンドを出力するサブ制御基板と、サブ制御基板からの表示コマンドを受けて、表示装置を駆動する表示制御基板とが備えられている。この他に、遊技機全体の制御を統合する主制御基板、賞球やメダル等の払出しを制御する払出基板などを備えてもよい。
【０００７】
表示制御基板には、描画制御部、表示データ生成部、表示データ記憶部が備えられている。描画制御部はサブ制御基板からの表示コマンドに応じて、表示装置に表示すべき画面の構成を規定する描画コマンドを出力する。表示コマンドから直接に描画コマンドを設定して出力するようにしてもよいし、表示装置に表示すべき一連の画面（以下、各画面を「フレーム」と呼ぶ）を対応づけて予め記憶しておき、このフレームに基づいて描画コマンドを設定して出力するようにしてもよい。更には、このフレームを描画コマンド群として記憶しておき、これを順次、読み出して出力する方法を採ってもよい。
【０００８】
描画コマンドとは、フレームの表示内容を、表示装置の画素単位で展開して表したデータを生成するためのコマンドである。予め用意されたキャラクターメモリに、画面に表示される所定のスプライトを表示装置の画素単位で表したスプライトデータを格納しておく場合には、描画コマンドには、このスプライトの配置、複数のスプライトの重ね合わせ方を含めることができる。描画コマンドには、スプライト以外の図形や線分の描画を指定するコマンドを含めても良い。また、必ずしもスプライトを用いることは必要ではなく、図形や線分の描画のみを描画コマンドで指定するようにしてもよい。
【０００９】
本明細書では、「キャラクター」および「スプライト」を次の意味で用いる。スプライトとは、遊技機の画面にまとまった単位として表示されるイメージを意味する。例えば、画面上に種々の人物を表示させる場合には、それぞれの人物を描くためのデータを「スプライト」と呼ぶ。複数の人物を表示させるためには、複数のスプライトを用いることになる。人物のみならず背景画像を構成する家、山、道路などをそれぞれスプライトとすることもできる。また、背景画像全体を一つのスプライトとしてもよい。遊技機は、これらの各スプライトの画面上の配置を決め、スプライト同士が重なる場合の上下関係を決めることで、種々の画像を表示させることが可能である。
【００１０】
遊技機では、データを扱う便宜上、各スプライトは縦横それぞれ６４ピクセルなど一定の大きさの矩形領域を複数組み合わせて構成される。この矩形領域を描くためのデータを「キャラクター」と呼ぶ。小さなスプライトの場合は、一つのキャラクターで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横２×縦３などで配置した合計６個のキャラクターで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクターを用いて表現することができる。キャラクターの数および配置は、スプライトごとに任意に指定可能である。
【００１１】
表示データ生成部は、描画コマンドに基づいて、表示装置の各画素の表示状態を規定する表示データを生成する。本発明の表示装置は、この表示データの生成を、表示装置における画素の配列の行または列を生成単位として行う。画素が縦横に２次元的に配列された表示装置において、行単位（横方向の配列）で主走査を行い、列方向（縦方向）に副走査を行うことで画面が表示される場合には、表示データ生成部は行を生成単位として表示データを生成することが好ましい。逆に、列単位で主走査を行う場合には、列を生成単位とすることが好ましい。もっとも、表示制御基板フレーム全体の表示データを保持するフレームメモリを備えている場合には、いずれの方向を生成単位としてもよい。
【００１２】
表示データ生成部は、上述の生成単位ごとに描画できるのべ画素数に上限値がある。この上限値は、フレームの表示周期および表示データ生成部の処理能力によって定まる値である。描画制御部は、画面内のマスクすべき部位に対しては、マスク図形として所定の不可視の図形を描画させるマスクコマンドを出力する。一般にマスクとは、一部を非表示とすることを意味するが、本明細書では、マスクとは、描画されるべき図形の一部を透明化、つまりその背景の画像を透視できる状態にさせる処理を言う。マスクすべき部位は、表示コマンドによって直接指定してもよいし、表示コマンドに応じて特定される各フレームのデータによって指定してもよい。マスクコマンドの数は、マスクコマンドのみ又は描画コマンドと併せて、表示データ生成部が描画する画素数が上限値を超え得る数とする。
【００１３】
本発明によれば、上述のマスクコマンドが出力された部位では、表示データ生成部が描画すべき画素数が、その上限値を超える（以下、これを「スプライトオーバー」と呼ぶ）ことが生じ得る。上限値を超えると、更なる描画はできなくなるため、結果として描画コマンドの一部は描画されずに欠落する。この結果、描画コマンドの一部を生成単位で欠落させた表示をすることが可能となり、簡易にマスクを実現することができる。例えば、行単位で表示データを生成する場合には、描画すべき図形を特定の行に対応する部分だけ欠落した状態で表示させることが容易に実現できる。スプライトオーバーを生じさせるに足りるだけのマスクコマンドを出力すれば、このようなマスクを確実に実現することができる。
【００１４】
仮に、本発明を用いずに従来技術でスプライトの一部をマスクしようとすれば、マスクする部分を透明とした新たなスプライトを用意しておく方法か、マスクする部分に対応する不透明な背景画像を最前面に描画させる方法しか採り得なかった。前者の方法では、マスクする部分を遊技中に任意に変化させるためには、一つの図形について、透明部分が異なる数多くのスプライトを用意しておく必要があり、スプライトの記憶容量の増大、描画時の読み出し制御の複雑化という課題を招いてしまう。後者の方法では、レイヤを取り扱い可能な表示データ生成部では、最前面を必然的に不透明なレイヤとして設定する必要が生じ、各レイヤの透明度設定の自由度を低下させることとなってしまう。図１３に一例を示した。
【００１５】
図１３は従来技術における画面表示例を示す説明図である。海を表す背景レイヤの前面に、魚を描画したレイヤ、ハート及びスペードで始動入賞口への遊技球の入賞数を示す始動記憶を表示したレイヤを重ねることで、最前面に示した画像が表示される例を示した。始動記憶のレイヤは、透明度が「不透明」と設定された状態で、魚が表示されたレイヤよりも前面に配置されているため、全体画面では、魚の一部が始動記憶に隠れた状態で表示される。この方法では、魚の一部をマスクした状態での画像を表示するためには、最前面のレイヤは「不透明」という設定に拘束されることになってしまう。
【００１６】
これに対し、本発明によれば、スプライトオーバーを生じさせることによって、これらの弊害を招くことなく簡易にマスクを実現することが可能となるのである。この結果、スプライトの一部をマスクするという新しい効果を活かして、興趣に富んだ演出表示を実現することが可能となる。また、レイヤを取り扱い可能な表示データ生成部では、最前面のレイヤについての設定の自由度が高まり、多彩な演出表示を実現することが可能となる。また、あるスプライトの前面に他のスプライトが重なることが生じたとしても、必要に応じてマスクをかけることによって、簡易に前面のスプライトを部分的に透明化させ、背後のスプライトを表示させることが可能となるため、スプライト同士の重なりを過度に意識することなく演出表示のデザインをすることができる利点もある。
【００１７】
本発明において、マスクコマンドは、表示データ生成部によって、少なくとも一つのマスク図形が描画コマンドよりも前に描画されるタイミングで出力することが好ましい。例えば、コマンドの出力順に描画がなされる場合には、少なくとも一つのマスクコマンドを描画コマンドよりも前に出力することにより、意図したマスクを実現することができる。ただし、マスクコマンドは、全ての描画コマンドに先行している必要はなく、マスク対象とすべき描画コマンドよりも先行していれば足りる。
【００１８】
表示データ生成部は、背面から前面に重ねられた複数のレイヤに分けて規定された描画コマンドに基づいて、表示データを背面側のレイヤから優先して生成可能としてもよい。この場合には、描画制御部は、マスク図形を出力する領域において、必ず表示すべき図形に対する描画コマンドを、マスクコマンドと同一または背面側のレイヤで出力すればよい。こうすることで、マスク可否を容易に制御することができる。
【００１９】
描画制御部は、マスクコマンドのみでは上限値に至らない範囲で、マスクコマンドを出力してもよい。このように描画すべき画素数が上限値に若干満たない程度のマスクコマンドを出力すれば、描画コマンドに応じて描画されるべき図形の大きさ、数によって、スプライトオーバーを生じたり生じなかったりさせることができ、興趣に富む不規則な表示を容易に実現させることができる。
【００２０】
また、描画制御部は、複数のマスクコマンド間の不定の位置に、描画コマンドを出力してもよい。つまり、全てのマスクコマンドが、描画コマンドよりも先行している必要もなく、描画コマンドよりも後にマスクコマンドを出力するようにしてもよい。また、複数のマスクコマンドに対する描画コマンドの位置、即ちマスクコマンドと描画コマンドの出力順序は、不定でもよい。こうすることにより、描画コマンドの出力順序によって、マスクされるか否かを変化させることができ、興趣に富む不規則な表示を容易に実現させることができる。
【００２１】
マスク図形は種々の形状が可能であり、例えば、生成単位となる行または列を、複数隣接して配置した形状とすることもできる。こうすることにより帯状のマスクを実現することができ、種々の演出表示に利用することが可能となる。
【００２２】
このように帯状にマスクする場合、マスク図形には、隣接させる数が異なる形状を混在させてもよい。つまり、幅の異なる帯を混在させてもよい。こうすることにより、描画コマンドによって描画される図形の大きさ、数などによって、マスクされるか否かが、帯状のマスク領域の周辺で変化し、興趣に富む不規則な表示を容易に実現させることができる。
【００２３】
また、画面内でマスク図形を描画させる位置は固定である必要はなく、変化させてもよい。マスクされる部位を変化させることで、更に興趣に富む表示を容易に実現させることができる。
【００２４】
本発明は、先に説明した通り、スプライトデータを用いて描画を行う構成を採ることもできる。この場合、スプライトデータは記憶を保持するためにリフレッシュ動作が要求されるメモリ素子で構成されたキャラクターメモリに記憶するようにしてもよい。キャラクターメモリには、表示データ生成部からの要求に応じてスプライトの読み出しを制御するためのキャラクターメモリ制御装置を設ける。このキャラクターメモリ制御装置は、所定のリフレッシュキャラクタが要求された場合には所定の不可視の図形をスプライトとして表示データ生成部に受け渡すとともに、リフレッシュ動作を実行するようにしてもよい。こうすることで、描画コマンドの出力過程で簡易にリフレッシュ動作を行わせることが可能となる。このようなキャラクターメモリが設けられている場合には、更に、マスクコマンドとして、リフレッシュキャラクタの描画を指定する描画コマンドを出力してもよい。こうすることにより、キャラクターメモリのリフレッシュ動作と、マスクを並行して効率的に行うことが可能となる。
【００２５】
本発明は、具体的には次の態様で適用することが可能である。遊技球が遊技盤面に設けられた所定の始動入賞口に入った際に所定の入賞動作を行う遊技機を対象とし、画面の少なくとも一部には、始動入賞口に入った後、入賞動作が未済の遊技球数を表示する始動記憶表示が含まれている場合を考える。この場合、描画制御部は、始動記憶表示の描画がなされた後、上限値を超えるまで始動記憶表示に重ねてマスク図形が描画されるよう、描画コマンドおよびマスクコマンドを出力する。
【００２６】
こうすることにより、始動記憶表示が他の図形によって隠されることを回避することができる。この効果についてより具体的に説明する。本発明を用い場合であっても、始動記憶表示の描画コマンドを最後に出力することにより、始動記憶表示を最前面に表示させることは可能である。しかし、この場合には、スプライトオーバーを生じることなく始動記憶表示が描画されるよう、その他の図形の大きさ、数、位置等を予め考慮してフレームを設定しておく必要があり、フレームをデザインする負荷が高く増大する。また、レイヤを取り扱い可能なＶＤＰでは、始動記憶表示を最前面のレイヤに配置することになり、このことによって、最前面のレイヤは「不透明」の設定に固定されることとなり、透明度の設定が制約されてしまう。これに対し、本発明では、始動記憶表示に該当する領域はマスクされており、スプライトオーバーを生じさせることによって他の図形は描画し得なくなっている。始動記憶表示は最初に描画させることが可能となるから、上述したデザイン上の負荷やレイヤの設定上の制約による弊害を容易に回避することが可能となるのである。
【００２７】
本発明では、上述した種々の特徴を全て備えている必要はなく、一部を省略してもよいし、適宜、組み合わせて適用してもよい。また、本発明における上述の特徴部分は、ハードウェア的に実現してもよいし、ソフトウェア的に実現してもよい。
【発明を実施するための最良の形態】
【００２８】
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、遊技機は、回胴式遊技機としてもよい。
Ａ．遊技機の構成：
Ｂ．制御用ハードウェア構成：
Ｃ．図柄制御基板：
Ｄ．ＶＤＰの構成例：
Ｅ．表示制御処理：
Ｆ．描画処理：
Ｇ．描画コマンド出力処理：
Ｈ１．変形例（１）：
Ｈ２．変形例（２）：
【００２９】
Ａ．遊技機の構成：
図１は実施例としてのパチンコ機１の正面図である。パチンコ機１は、中央に遊技領域６を備えた遊技盤４が取り付けられている。遊技者は、ハンドル８を操作して遊技領域６内に遊技球を打ち込み、入賞口に入賞させる遊技を行うことができる。入賞口の一つである始動入賞口９に遊技球が入賞すると、パチンコ機１は抽選を行い、その結果に応じて「大当り」か否かが決まる。大当り発生時には、大入賞口１０が所定期間開放するなどの大当り遊技が行われる。
【００３０】
上述の抽選の結果は、４つのランプで構成された特別図柄表示装置４１に表示される。遊技領域６の中央には、ＬＣＤ１６が備えられており、遊技中に種々の演出画面（装飾図柄と呼ぶこともある）が表示される。始動入賞口９への入賞時、大当りの発生時などにも、それぞれ遊技の状態に応じた演出画面が表示される。装飾図柄は、遊技の状況に応じて種々変化する。抽選結果を表示する過程で、大当りが発生する可能性が高いリーチ状態になると、スピード感あふれる画面が表示され、遊技者をハラハラドキドキさせることによって興趣を高めるようになっている。
【００３１】
Ｂ．制御用ハードウェア構成：
図２はパチンコ機１の制御用ハードウェア構成を示すブロック図である。パチンコ機１は、メイン制御基板３、払出制御基板２５、サブ制御基板３５、図柄制御基板３０などの各制御基板の分散処理によって制御される。メイン制御基板３、払出制御基板２５、サブ制御基板３５は、それぞれ内部にＣＰＵ、ＲＡＭ、ＲＯＭなどを備えたマイクロコンピュータとして構成されており、ＲＯＭに記録されたプログラムに従って種々の制御処理を実現する。
【００３２】
実施例のパチンコ機１では、種々の不正を防止するため、メイン制御基板３への外部からの入力が制限されている。メイン制御基板３とサブ制御基板３５とは単方向のパラレル電気信号で接続されており、メイン制御基板３と払出制御基板２５とは、制御処理の必要上、双方向シリアル電気信号で接続されている。払出制御基板２５、サブ制御基板３５は、それぞれメイン制御基板３からのコマンドに応じて動作する。図柄制御基板３０は、サブ制御基板３５からのコマンドに応じて動作する。パチンコ機１には、メイン制御基板３が直接に制御する機構もある。図中には、メイン制御基板３が制御する装置の一例として、大入賞口１０を駆動するための大入賞口ソレノイド１８、および特別図柄表示装置４１を例示した。メイン制御基板３は、この他にも、普通図柄表示装置、特別図柄保留ランプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御することができる。また、メイン制御基板３には、遊技中の動作を制御するため、種々のセンサからの検出信号が入力される。図中には一例として入賞検出器１５ａからの入力を例示した。入賞検出器１５ａとは、始動入賞口９への入賞を検出するためのセンサである。メイン制御基板３は、入賞検出器１５ａからの信号に応じて、先に説明した抽選を行い、大当り遊技を実行することができる。メイン制御基板３には、他にも種々の入力がなされているが、ここでは説明を省略する。
【００３３】
遊技時におけるその他の制御は、払出制御基板２５、サブ制御基板３５を介して行われる。払出制御基板２５は、遊技中の遊技球の発射および払い出しを次の手順で制御する。遊技球の発射は、直接的には発射制御基板４７によって制御される。即ち、遊技者が、発射ハンドル８を操作すると、発射制御基板４７は操作に応じて発射モータ４９を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部４８によって、発射ハンドル８に遊技者が触れていることが検出されている状況下でのみ行われる。払出制御基板２５は、発射制御基板４７に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
【００３４】
遊技中に入賞した旨のコマンドをメイン制御基板３から受信すると、払出制御基板２５は、賞球払出装置２１内の払出モータ２０を制御し、払出球検出器２２によって球数をカウントしながら規定数の球を払い出す。払出モータ２０の動作は、モータ駆動センサ２４によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板２５は、表示部４ａにエラーコードを表示する。エラー表示された時には、係員が異常を除去した後、操作スイッチ４ｂを操作することで復旧させることができる。
【００３５】
サブ制御基板３５は、遊技中における音声、表示、ランプ点灯などの演出を制御する。これらの演出は、通常時、入賞時、大当たり時、エラー時、不正行為その他の異常が生じた時の警報など、遊技中のステータスに応じて変化する。メイン制御基板３から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御基板３５は、各コマンドに対応したプログラムを起動して、メイン制御基板３から指示された演出を実現する。
【００３６】
本実施例では、図示する通り、サブ制御基板３５はスピーカ２９を直接制御する。ＬＣＤ１６は、図柄制御基板３０を介して制御する。図柄制御基板３０の回路構成は後述する。サブ制御基板３５の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ１２と、枠に設けられた枠装飾ランプ３１がある。サブ制御基板３５は、ランプ中継基板３２、３４を介して、パネル装飾ランプ１２および枠装飾ランプ３１と接続されており、各ランプを個別に点滅させることができる。
【００３７】
Ｃ．図柄制御基板：
図３は、図柄制御基板３０の回路構成を示すブロック図である。図柄制御基板３０は、キャラクタＲＯＭ３４０、第１キャラクタＲＡＭ３２１、第２キャラクタＲＡＭ３２２、ＣＰＵ３１１、制御ＲＯＭ３２５、ＶＤＰ３３０及びメモリインターフェース制御回路３２４を備えている。
【００３８】
図柄制御基板３０は、サブ制御基板３５からの表示コマンドに基づいて、図柄表示制御プログラムに従って演出表示を制御する。ＶＤＰ３３０と表示装置１６との間には、スケーラ３９０およびフレームバッファ３９７が備えられている。スケーラ３９０は、ＶＤＰ３３０から出力された表示データを一旦、フレームバッファ３９７に保存し、適宜、表示装置１６に出力する機能を奏する。この過程で、スケーラ３９０は、表示データを拡大／縮小し、表示装置１６の画素数に適合させる処理を行ったり、予め用意されたＯＳＤ（On Screen Display）図形を表示データに重ね合わせて出力することも可能である。
【００３９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１は、サブ制御基板３５からの表示コマンドに基づいて表示装置１６における表示を制御する。ＶＤＰ３３０は、ＣＰＵ３１１（中央演算処理装置）の指示に基づいて、表示装置１６に表示するための表示データを生成する。図柄制御基板３０を構成する各種回路は、例えば６層の配線層を持つ単一の基板上に設けられている。
【００４０】
ＣＰＵ３１１は、表示コマンドに対応する表示態様を実現する表示データの生成条件を規定した描画パラメータを制御ＲＯＭ３２５から読み出す。この描画パラメータとしては、描画の色彩情報を規定したカラーパレットデータ、各レイヤの透明度等を設定したレイヤデータ、スプライトの描画条件を規定したスプライト属性データ、バックグラウンド（背景）の描画条件を規定したバックグラウンド属性データである。ＣＰＵ３１１は、制御ＲＯＭ３２５から読み出した描画パラメータなどをＶＤＰ３３０の各種レジスタに設定（指示）する。ＶＤＰ３３０は、この描画パラメータに基づいて、表示装置１６に出力する表示データを生成する。
【００４１】
また図柄制御基板３０は、これ以外にもキャラクタＲＯＭ３４０及び制御ＲＯＭ３２５を備えている。制御ＲＯＭ３２５は、ＣＰＵ３１１が実行する図柄表示制御プログラム及び、ＣＰＵ３１１などが参照する展開情報を管理する展開テーブルを不揮発的に記憶している。この展開テーブルは、上記変動表示パターンを表示するにあたり参照され、その変動表示パターンに含まれるシーンの組み合わせや各シーンの表示順序を管理している。なお、図柄表示制御プログラムがこの展開テーブルの機能を含んでいても良い。
【００４２】
一方、キャラクタＲＯＭ３４０は、変動表示パターンを構成する各シーンに係るデータ（映像の表示に必要なデータ）群が予め記憶されている。すなわち各シーンの表示に必要な素材としてのスプライトデータ（や動画像データ）を含んでいるのである。ここで、上記展開テーブルは、キャラクタＲＯＭ３４０において、各スプライトデータ（や動画像データ）を格納している位置としてのアドレスや、各スプライトデータを格納している位置としてのアドレスを管理している。
【００４３】
この動画像データは、予め設定された非可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタＲＯＭ３４０に格納されている。一方、スプライトデータは、予め設定された可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタＲＯＭ３４０に格納されている。本実施形態では、圧縮された動画像データを「圧縮動画像データ」と呼称する。
【００４４】
ここでスプライトは、その表示態様として、背景としての動画像に重ねた場合、この動画像を視覚的に透過させない非透過領域及び、背景としての動画像を視覚的に透過させる透過領域を有している。なお本実施形態においては、圧縮されたスプライトデータを「圧縮スプライトデータ」と呼称する。
【００４５】
次にＣＰＵ３１１は、内蔵メモリとしてのＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備えている。ＣＰＵ３１１（動作指示プロセッサ）は、制御ＲＯＭ３２５（制御メモリ）、ＶＤＰ３３０（映像表示プロセッサ）及びメモリインターフェース制御回路３２４に接続されている。制御ＲＯＭ３２５は、上記展開テーブルのみならず、ＣＰＵ３１１の制御によって演出表示を制御する図柄表示制御プログラムを格納する読み出し専用メモリである。
【００４６】
ＣＰＵ３１１は、制御ＲＯＭ３２５からＳＤＲＡＭに読み込んだ図柄表示制御プログラムの動作によって、サブ制御基板３５からの表示コマンドに基づいてＶＤＰ３３０の動作を制御する。ＣＰＵ３１１は、サブ制御基板３５から受信した上記表示コマンドを解析し、この解析結果に応じた演出表示の実行を制御する。
【００４７】
この演出表示の具体例としては、リーチ演出表示や特別遊技状態におけるラウンド表示を挙げることができる。このリーチ演出表示は、例えば遊技球の入賞を契機とした大当り抽選において当選しそうであること或いは当選しないもののあたかも大当りに当選するかもしれないことを、遊技者などに対して暗示して遊技者を期待させる演出表示である。一方、ラウンド表示は、例えば特別遊技状態に移行している場合に、特別遊技状態における各ラウンドでの演出表示を表している。
【００４８】
このようなリーチ演出表示などに関する図柄の変動表示を実行する場合、上記ＣＰＵ３１１は、このリーチ演出表示などにおける変動表示パターンに含めるべき各シーン及び各シーンの表示順序を展開テーブルを参照して決定する。
【００４９】
Ｃ１．メモリインターフェース制御回路３２４の構成例：
図３に示すメモリインターフェース制御回路３２４は、ＣＰＵ３１１の制御によって、キャラクタＲＯＭ３４０、第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２と、ＶＤＰ３３０との間のデータ交換に関するインターフェースを制御する機能を有する。ＶＤＰ３３０からメモリインターフェース制御回路３２４を介してキャラクタＲＡＭ３２１，３２２を参照すると、キャラクタＲＡＭ３２１，３２２に同一のスプライトデータが同一の場所（アドレス空間）に配置されているため、ＶＤＰ３３０は、キャラクタＲＡＭ３２１，３２２が切り替えられたとしても、これらキャラクタＲＡＭ３２１，３２２を各々区別することなく、あたかも１つのキャラクタＲＡＭが存在しているかのように見えるようになっている。
【００５０】
メモリインターフェース制御回路３２４は、ＣＰＵインターフェース３１６、圧縮データメモリコントローラ３１２、動画像データ伸張コントローラ３２７、スプライトデータ伸張コントローラ３２８，３２９、展開データメモリコントローラ３１５、第１キャラクタＲＡＭコントローラ３１４、第２キャラクタＲＡＭコントローラ３１７及びＶＤＰインターフェース３２０を備えている。メモリインターフェース制御回路３２４は、キャラクタＲＯＭ３４０、ＣＰＵ３１１、ＶＤＰ３３０及びキャラクタＲＡＭ３２１，３２２にそれぞれ接続されている。
【００５１】
ＣＰＵインターフェース３１６は、ＣＰＵ３１１とメモリインターフェース制御回路３２４とのインターフェースを制御しており、ＣＰＵ３１１の他にも、圧縮データメモリコントローラ３１２、動画像データ伸張コントローラ３２７、スプライトデータ伸張コントローラ３２８，３２９及び展開データメモリコントローラ３１５に接続されている。
【００５２】
これら圧縮データメモリコントローラ３１２、動画像データ伸張コントローラ３２７、スプライトデータ伸張コントローラ３２８，３２９及び展開データメモリコントローラ３１５は、それぞれレジスタ３１２ａ，３２７ａ（動画像レジスタ），３２８ａ（スプライトレジスタ），３２９ａ（スプライトレジスタ），３１５ａを備えている。これらレジスタ３１２ａ，３２７ａ，３２８ａ，３２９ａ，３１５ａは、ＣＰＵインターフェース３１６に接続されている。
【００５３】
Ｃ２．ＣＰＵインターフェースの構成：
ＣＰＵインターフェース３１６は、スプライト伸張制御プロセッサとしてのＣＰＵ３１１によるレジスタ３２８ａ，３２９ａへのそれぞれの書き込みを制御するとともに、動画像伸張制御プロセッサとしてのＣＰＵ３１１によるレジスタ３２７ａ（動画像レジスタ）への書き込みを制御する。
【００５４】
また、ＣＰＵインターフェース３１６は、ＣＰＵ３１１による展開データメモリコントローラ３１５のレジスタ３１５ａや圧縮データメモリコントローラ３１２のレジスタ３１２ａへの書き込みを制御している。
【００５５】
つまり、これらレジスタ３１２ａ，３２７ａ，３２８ａ，３２９ａ，３１５ａには、それぞれＣＰＵインターフェース３１６を経由して、ＣＰＵ３１１によって設定値が書き込まれるようになっている。これら圧縮データメモリコントローラ３１２、動画像データ伸張コントローラ３２７、スプライトデータ伸張コントローラ３２８，３２９及び展開データメモリコントローラ３１５は、それぞれレジスタ３１２ａ，３２７ａ，３２８ａ，３２９ａ，３１５ａを介してＣＰＵ３１１によって制御される構成となっている。
【００５６】
動画像データ伸張コントローラ３２７は、動画像レジスタ３２７ａに書き込まれる設定値によって、圧縮動画像データについて非可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また動画像データ伸張コントローラ３２７は、動画像レジスタ３２７ａに書き込まれる設定値によって、転送元であるキャラクタＲＯＭ３４０の圧縮動画像データの読み出し開始アドレス、読み出すデータ数（バイト数）、転送先であるキャラクタＲＡＭ３２１又はキャラクタＲＡＭ３２２への伸張データの書き込みアドレスが指定される。また動画像データ伸張コントローラ３２７は、伸張の処理状態、その他（実行中、停止中）などが確認できるステータスレジスタを備えている。
【００５７】
一方、スプライトデータ伸張コントローラ３２８及びスプライトデータ伸張コントローラ３２９は、それぞれレジスタ３２８ａ及びレジスタ３２９ａに書き込まれる設定値によって、圧縮スプライトデータについて可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また、スプライトデータ伸張コントローラ３２８，３２９は、それぞれ動画像レジスタ３２８，３２９ａに書き込まれる設定値によって、転送元であるキャラクタＲＯＭ３４０の圧縮動画像データの読み出し開始アドレス、読み出すデータ数（バイト数）、転送先であるキャラクタＲＡＭ３２１又はキャラクタＲＡＭ３２２への伸張データの書き込みアドレスが指定される。またこのスプライトデータ伸張コントローラ３２８，３２９は、それぞれ伸張の処理状態、その他（実行中、停止中）などが確認できるステータスレジスタを備えている。
【００５８】
Ｃ３．２つのスプライト伸張装置の構成：
スプライト伸張制御プロセッサとしてのＣＰＵ３１１は、２つのスプライト伸張装置としてのスプライトデータ伸張コントローラ３２８，３２９による伸張動作をそれぞれ独立して制御する機能を有する。これらスプライトデータ伸張コントローラ３２８，３２９は、それぞれ、上述のようにＣＰＵ３１１によって書き込まれるレジスタ３２８ａ及びレジスタ３２９ａ及び、ＣＰＵ３１１によるレジスタ３２８ａ，３２９ａへの書き込みに基づいて、予め設定されたスプライト伸張方式に従って圧縮スプライトデータをスプライトデータに伸張するスプライト伸張部（図示せず）を含んだ構成となっている。
【００５９】
まず、キャラクタＲＯＭ３４０に、スプライトデータを圧縮した圧縮スプライトデータを記憶させておくと、キャラクタＲＯＭ３４０の記憶容量を有効活用してより多くのスプライトデータを記憶させておくことができるものの、スプライトを含めたシーンを表示する際には、キャラクタＲＯＭ３４０から読み出した圧縮スプライトデータを伸張する必要がある。
【００６０】
このスプライトデータをスプライトデータ伸張コントローラ３２８，３２９によって伸張しようとすると、キャラクタＲＡＭ３２１，３２２における記憶状態と読出状態との切り替えが必要であることを考慮すれば、一見すると、伸張制御が複雑になることも考えられる。しかしながら本実施形態では、スプライトデータ伸張コントローラ３２８，３２９が存在している場合においても、ＣＰＵ３１１によるスプライトレジスタ３２８ａ，３２９ａへの各書き込みという簡単な制御によって、圧縮スプライトデータを伸張してスプライトデータを生成することができるため、全体として伸張制御が簡素化される。
【００６１】
Ｃ４．動画像伸張装置の構成：
また、動画像伸張制御プロセッサとしてのＣＰＵ３１１は、動画像データ伸張コントローラ３２７による伸張動作を制御する機能を有する。動画像データ伸張コントローラ３２７は、上述のようにＣＰＵ３１１によって書き込まれるレジスタ３２７ａ及び、ＣＰＵ３１１によるレジスタ３２７ａへの書き込みに基づいて、圧縮動画像データを予め設定された動画像伸張方式に従って伸張して動画像データとする動画像伸張部とを含んだ構成となっている。
【００６２】
まず、キャラクタＲＯＭ３４０に、動画像データを圧縮した圧縮動画像データを記憶させておくと、キャラクタＲＯＭ３４０の記憶容量を有効活用してより多くの動画像に係るデータを記憶させておくことができるものの、スプライトのみならず動画像を含めたシーンを表示する際には、キャラクタＲＯＭ３４０から読み出した圧縮スプライトデータのみならず圧縮動画像データも伸張する必要がある。
【００６３】
ここで、上述のようにスプライトデータを伸張するとともに、この動画像データを動画像データ伸張コントローラ３２７によって伸張しようとすると、キャラクタＲＡＭ３２１，３２２における記憶状態と読出状態との切り替えが必要であることを考慮すれば、伸張制御が複雑になることも考えられる。
【００６４】
しかしながら本実施形態によれば、スプライトデータ伸張コントローラ３２８，３２９とは別にさらに動画像データ伸張コントローラ３２７が存在している場合においても、ＣＰＵ３１１による動画像レジスタ３２７ａへの書き込みという簡単な制御によって、圧縮スプライトデータの伸張とともに、圧縮動画像データを伸張して動画像データを生成することができるため、全体として伸張制御が簡素化される。
【００６５】
また、上記圧縮データメモリコントローラ３１２は、レジスタ３１２ａに書き込まれた設定値に従って、キャラクタＲＯＭ３４０から、表示すべき変動表示パターンに含まれる各シーンを表示するための圧縮動画像データ及び圧縮スプライトデータを読み出す制御を行う。
【００６６】
ここでＣＰＵ３１１は、ＣＰＵインターフェース３１６を経由して、圧縮データメモリコントローラ３１２のレジスタ３１２ａに、例えばキャラクタＲＯＭ３４０の種類に応じたアクセスタイミングを設定する。
【００６７】
具体的には、ＣＰＵ３１１が制御ＲＯＭ３２５の展開テーブルの内容に従って、動画像データ伸張コントローラ３２７の動画像レジスタ３２７ａ、スプライトデータ伸張コントローラ３２８のレジスタ３２８ａ及び、スプライトデータ伸張コントローラ３２９の３２９ａにそれぞれ書き込んだ設定値に従って、キャラクタＲＯＭ３４０の記憶領域の転送元アドレスを指定する。このようにＣＰＵ３１１が指定すると、圧縮データメモリコントローラ３１２は、この指定された転送元アドレスに該当するキャラクタＲＯＭ３４０の記憶領域から圧縮スプライトデータ及び圧縮動画像データを、それぞれ書き込まれた設定値に基づくタイミングで読み出して、スプライトデータ伸張コントローラ３２８，３２９及び動画像データ伸張コントローラ３２７へ引き渡す。
【００６８】
動画像データ伸張コントローラ３２７は、非可逆な圧縮方式で圧縮されている圧縮動画像データを、その非可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。一方、スプライトデータ伸張コントローラ３２８は、可逆な圧縮方式で圧縮されている圧縮スプライトデータをキャラクタＲＯＭ３４０から読み出して、その可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。
【００６９】
本実施形態では、メモリインターフェース制御回路３２４には、キャラクタＲＯＭ３４０から読み出した圧縮スプライトデータを伸張する伸張手段として、２個のスプライトデータ伸張コントローラ３２８，３２９が設けられている。これらスプライトデータ伸張コントローラ３２８，３２９は、それぞれキャラクタＲＡＭ３２１，３２２に対して固定的に対応づけられているのではなく、キャラクタＲＡＭ３２１，３２２の数に応じて設けられている。また、これらスプライトデータ伸張コントローラ３２８，３２９は、キャラクタＲＡＭ３２１，３２２に各々対応して設定（切り替え）可能であり、各々キャラクタＲＯＭ３４０から読み出した圧縮スプライトデータを独立してスプライトデータに伸張している。
【００７０】
動画像データは、ＣＰＵ３１１によるレジスタ３２７ａへの書き込みを契機に、動画像データ伸張コントローラ３２７によって伸張され、動画像データ伸張コントローラ３２７から各々展開データメモリコントローラ３１５に引き渡される。
【００７１】
また、スプライトデータは、ＣＰＵ３１１によるレジスタ３２８ａ，３２９ａへの書き込みを契機に、このスプライトデータ伸張コントローラ３２８，３２９によってそれぞれ独立して伸張され、スプライトデータ伸張コントローラ３２８，３２９から各々独立して展開データメモリコントローラ３１５に引き渡される。
【００７２】
Ｃ５．展開データメモリコントローラ：
展開データメモリコントローラ３１５は、ＣＰＵ３１１によってレジスタ３１５ａに書き込まれた設定値に従って、第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２における記憶状態（「展開状態」とも呼称する）と読出状態との切り替え条件が指定される。本実施形態では、例えば外部信号の立ち上がりエッジに同期して第１キャラクタＲＡＭ３２１と第２キャラクタＲＡＭ３２２とを切り替えている。
【００７３】
そして、この展開データメモリコントローラ３１５は、ＣＰＵ３１１によってレジスタ３１５ａに書き込まれた設定値に従って、第１キャラクタＲＡＭコントローラ３１４及び第２キャラクタＲＡＭコントローラ３１７を制御する。この第１キャラクタＲＡＭコントローラ３１４は、第１キャラクタＲＡＭ３２１へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。一方、第２キャラクタＲＡＭコントローラ３１７は、第２キャラクタＲＡＭ３２２へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。本実施形態では、シーンの素材としてスプライト及び動画像を例示しているが、以下の説明においては、シーンの素材として主にスプライトデータを例示する。
【００７４】
またさらに、これらキャラクタＲＡＭコントローラ３１４，３１７（「メモリリフレッシュ部」と呼ぶこともある）は、それぞれ展開データメモリコントローラ３１５の制御によって、キャラクタＲＡＭ３２１，３２２に対してリフレッシュ動作を実行する機能を有する。この展開データメモリコントローラ３１５は、ＣＰＵ３１１の指示に従って、キャラクタＲＡＭコントローラ３１４，３１７に対するリフレッシュ動作の実行を各々制御している。なお、本実施形態では、第１キャラクタＲＡＭコントローラ３１４が第１キャラクタＲＡＭ３２１に対してリフレッシュ動作を実行し、第２キャラクタメモリコントローラ３１７が第２キャラクタＲＡＭ３２２に対してリフレッシュ動作を実行するように対応づけられている。
【００７５】
この展開データメモリコントローラ３１５（リフレッシュデータ提供部）は、キャラクタＲＡＭ３２１，３２２に各々リフレッシュ動作を実行させるためのリフレッシュキャラクタデータを有し、このリフレッシュキャラクタデータをＶＤＰ３３０に提供する機能を有する。具体的には、展開データメモリコントローラ３１５は、ＣＰＵ３１１の指示に従って、ＶＤＰ３３０に対してリフレッシュデータを提供する。なお、この展開データメモリコントローラ３１５は、このように予め用意しておいたリフレッシュキャラクタデータをＶＤＰ３３０に提供する代わりに、リフレッシュキャラクタデータを生成してＶＤＰ３３０に提供するようにしても良い。
【００７６】
ここで、上記スプライトデータは、例えば６４ドット×６４ドットの表示範囲に８ビット（２５６色）でスプライトを表示させるための画像データである。一方、このリフレッシュキャラクタデータも、例えば６４ドット×６４ドットの表示範囲に８ビット（２５６色）でリフレッシュキャラクタを表示させるための画像データである。つまり、本実施形態においては、リフレッシュキャラクタデータとスプライトデータとがその表示内容は異なるもののデータ構造が同様であることから、１つのスプライトの表示範囲が１つのリフレッシュキャラクタの表示範囲と同一となっている。そして、この展開データメモリコントローラ３１５は、自らとＶＤＰ３３０とを接続するバス線、例えば３２ビット幅のバス線を介して、ＶＤＰ３３０に対してスプライトデータを提供する。
【００７７】
そして、キャラクタＲＡＭコントローラ３１４，３１７は、ＣＰＵ３１１の指示に従って、ＶＤＰ３３０が展開データメモリコントローラ３１５からリフレッシュキャラクタデータを読み出したことを契機として、各々キャラクタＲＡＭ３２１，３２２に対してリフレッシュ動作を実行するようになっている。
【００７８】
さらに本実施形態では、ＶＤＰ３３０が、ＣＰＵ３１１の指示に従って、この読み出したリフレッシュキャラクタデータに基づくリフレッシュキャラクタをラインバッファ３３６の可視領域外に記憶させている。ここで本実施形態においては、リフレッシュキャラクタとして着色した画像を採用することができる。
【００７９】
ここでいうフレームにおける可視領域とは、配置させたスプライトがＶＤＰ３３０によって表示装置１６に表示される領域をいう。一方、可視領域外とは、フレームにおける可視領域を除いた領域をいい、例えば配置させたスプライトがＶＤＰ３３０によって表示装置１６に表示されない非可視領域をいう。つまり、フレームは、可視領域及び非可視領域を含んでいる。
【００８０】
ここでＣＰＵ３１１は、キャラクタＲＡＭコントローラ３１４，３１７によって、キャラクタＲＡＭ３２１，３２２に対するリフレッシュ動作を実行させる場合、例えばキャラクタＲＡＭ３２１，３２２におけるリフレッシュキャラクタエリアを指定するアドレス（例えば「０Ｃ００  ００００」）を指定する。なお、この「０Ｃ００  ００００」というアドレスは、図４に示すようにキャラクタＲＡＭ３２１，３２２におけるリフレッシュキャラクタエリアの先頭アドレスを表している。
【００８１】
ここで本実施形態では、このリフレッシュキャラクタエリアには、実際にリフレッシュキャラクタデータが格納されておらず、ＣＰＵ３１１が、このキャラクタＲＡＭコントローラ３１４，３１７によってリフレッシュ動作を実行すべきタイミングを指示するために、このリフレッシュキャラクタエリアからリフレッシュキャラクタデータを読み出すべき旨の指示を行うようになっている。
【００８２】
また、このキャラクタＲＡＭコントローラ３１４，３１７は、展開データメモリコントローラ３１５の制御によって、各々図示しないリフレッシュキャラクタ数設定部の設定値に従って動作するようになっている。このリフレッシュキャラクタ数設定部には、キャラクタＲＡＭ３２１，３２２に対するリフレッシュ動作に必要な時間に応じて、ＣＰＵ３１１によって、表示させるべきリフレッシュキャラクタの数が設定されるものである。このリフレッシュキャラクタ数設定部は、例えば展開データメモリコントローラ３１５に設けられたレジスタ３１５ａに相当する。
【００８３】
つまりＣＰＵ３１１は、キャラクタＲＡＭ３２１，３２２のリフレッシュに必要な時間に応じて表示させるべきリフレッシュキャラクタの数（設定値）を、このリフレッシュキャラクタ数設定部（レジスタ３１５ａ）に、例えば初期設定時に予め設定しておくのである。このリフレッシュキャラクタの数は、キャラクタＲＡＭ３２１，３２２におけるリフレッシュすべきリフレッシュ範囲（リフレッシュすべき容量）に応じて設定される値である。なお、このリフレッシュキャラクタの数は、キャラクタＲＡＭ３２１，３２２に対するリフレッシュ動作の実行にあたり、ＶＤＰ３３０がメモリインターフェース制御回路３２４から読み出すリフレッシュキャラクタデータの数でもある。
【００８４】
ここで、１つのリフレッシュキャラクタによってリフレッシュされる容量の具体例としては、例えば６４ドット×６４ドット×８ビット（２５６色）の表示範囲であるリフレッシュキャラクタの表示に用いるリフレッシュキャラクタデータのデータサイズに相当している。つまり、キャラクタＲＡＭ３２１，３２２において広い範囲（大きな容量）をリフレッシュしたい場合には、表示させるべきリフレッシュキャラクタの数が多くなるのである。
【００８５】
また、展開データメモリコントローラ３１５のレジスタ３１５ａは、レジスタ名（ＲＥＦＯＦＴ，ＲＥＦＮＯＦ，ＲＥＦＮＣＨ）を有している。これらのレジスタ名には、動作指示プロセッサとしてのＣＰＵ３１１によって所望の設定値が書き込まれるようになっている。またこれらのレジスタ名には、メモリインターフェース制御回路３２４に接続されているキャラクタＲＡＭの仕様に基づく値が設定される。レジスタＲＥＦＯＦＴは、リフレッシュの実行期間を設定するためのレジスタである。一方、レジスタ名ＲＥＦＮＯＦは、リフレッシュ実行期間内に実行しなければならないリフレッシュ回数を設定するためのレジスタである。
【００８６】
また、レジスタ名ＲＥＦＮＣＨは、リフレッシュキャラクタによるリフレッシュ回数を設定するためのレジスタであり、１回のリフレッシュ指示に対応したリフレッシュキャラクタデータの読み出し回数を設定する。ここでいう、リフレッシュキャラクタデータの読み出し回数は、接続されているキャラクタＲＡＭ３２１，３２２の仕様に応じて設定されるものである。
【００８７】
メモリインターフェース制御回路３２４は、リフレッシュ回数及びリフレッシュ監視カウンタ（リフレッシュを実行している時間に相当）を管理している。上記したレジスタ名ＲＥＦＯＦＴで設定した時間内にレジスタ名ＲＥＦＮＯＦで設定した回数分だけ、リフレッシュ部がリフレッシュ動作を実行した否かを判断する。本実施形態においては、ＣＰＵ３１１がリフレッシュ部に対して、例えば１６ｍｓごとに１０２４回にわたりリフレッシュ動作を実行することを、４回繰り返すように指示する。
【００８８】
つまり本実施形態では、これらレジスタ名ＲＥＦＮＯＦの設定値及びレジスタ名ＲＥＦＯＦＴの設定値に基づいて、例えば６４ｍｓ間にわたり４０９６回リフレッシュ動作を実行するものとする。また本実施形態では、仮にレジスタ名ＲＥＦＮＯＦ及びレジスタ名ＲＥＦＯＦＴの設定値に応じた回数分、キャラクタＲＡＭ３２１，３２２に対するリフレッシュ動作が実行されなかった場合、レジスタ名ＲＥＮＯＦ及びレジスタ名ＲＥＦＯＦＴに設定した値に基づいて集中リフレッシュを開始するようになっている。
【００８９】
つまり本実施形態では、これらレジスタ名ＲＥＦＮＯＦの設定値及びレジスタ名ＲＥＦＯＦＴの設定値などのリフレッシュ条件が設定されるリフレッシュ条件設定部が用意されており、図示しないリフレッシュ監視部（リフレッシュ監視手段）が、リフレッシュ条件設定部に設定された設定値（リフレッシュ条件）を満たさないことを検出した場合、このリフレッシュ条件を満たすように強制的にリフレッシュ動作を開始させる指示を出すようになっている。
【００９０】
Ｃ６．キャラクタＲＡＭの切り替え構成：
第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２は、それぞれ展開データメモリコントローラ３１５の制御によって、スプライトデータを一時的に記憶する展開状態（記憶状態）と、記憶済みのスプライトデータを読み出す読出状態とが、互いに逆になるように交互に切り替わる構成となっている。
【００９１】
より具体的には、この展開データメモリコントローラ３１５は、第１キャラクタＲＡＭ３２１へ展開している期間（以下「第１展開期間」と呼称する）においては、第２キャラクタＲＡＭ３２２から読み出しを実行するよう制御する。一方、この展開データメモリコントローラ３１５は、第２キャラクタＲＡＭ３２２へ展開している期間（以下「第２展開期間」と呼称する）においては、第１キャラクタＲＡＭ３２１から読み出しを実行するよう制御する。本実施形態では、この展開データメモリコントローラ３１５は、ＶＤＰ３３０が出力する外部信号である垂直同期信号（いわゆるＶブランク信号）を契機に、これら第１展開期間と第２展開期間とが繰り返し交互に連続するように、第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２の切り替え動作を制御している。
【００９２】
Ｃ７．両キャラクタＲＡＭの記憶領域の管理：
ここで本実施形態では、これら第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２の記憶領域が、それぞれ同一のアドレスによって管理されている。つまり、これら第１キャラクタＲＡＭ３２１の記憶領域と第２キャラクタＲＡＭ３２２の記憶領域とは、互いに記憶容量が等しく、各記憶領域には同一のアドレスが付されている。
【００９３】
そして、これら第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２には、同一のアドレスで管理された記憶領域に対して、同一のスプライトデータが交互に展開される。このようにすると、第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２が読み出し中に切り替わったとしても読み出されるスプライトデータを同一のものとすることができる。
【００９４】
Ｃ８．複数の共通エリア：
ここで、本実施形態においては、第１キャラクタＲＡＭ３２１及び第２キャラクタＲＡＭ３２２には、それぞれ、組み合わせ映像群の一例としての変動表示パターンに使用するシーン（映像）の組み合わせの表示に必要なスプライトデータを一時的に記憶可能な複数の共通エリア（複数の共通領域）が区画形成されている。
【００９５】
これら複数の共通エリアは、それぞれ制御ＲＯＭ３２５に記憶されている展開テーブルの内容に基づいて、ＣＰＵ３１１が区画する領域である。これら複数の共通エリアからは、展開データメモリコントローラ３１５の制御によって、それぞれシーンの組み合わせに各々必要なスプライトデータが独立して読み出されるようになっている。
【００９６】
Ｃ９．スタティックロード：
ここである変動表示パターンを例示すると、データ展開プロセッサとしてのＣＰＵ３１１は、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを、各々予め定められた複数の共通エリアのいずれかに一時的に記憶させている。
【００９７】
このように本実施形態では、この変動表示パターンに含まれるシーンの組み合わせに係るシーン表示に必要なスプライトデータが、それぞれ展開テーブルの内容に基づいて、予め決められた複数の共通エリアのいずれかに別々に展開されるようになっている。つまり本実施形態では、上記展開テーブルに従って、これらシーン表示に必要な各スプライトデータは、複数の共通エリアにおける展開先が予め決められており、これら複数の共通エリアのうちの異なる共通エリアに展開されるようになっている。なお本実施形態では、このようにスプライトデータを、複数の共通エリアのいずれかに固定的に展開することを「スタティックロード」と呼称する。つまり、スタティックロードは、複数の共通エリアのうちの予め定められた共通エリアにスプライトデータを一時的に記憶させることを表している。
【００９８】
ここで１つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開しても良いが、本実施形態では、１つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開せず、主として１つのシーン表示に必要なスプライトデータを展開する構成となっている。ここで、複数の共通エリアに時期を同じくして各々展開されたシーン表示に必要なスプライトデータは、１つの変動表示パターンを表示するために用いられるデータである。
【００９９】
また本実施形態では、１つの変動表示パターンに含まれるシーンのうち表示順序が連続するシーンの組み合わせに係るシーン表示に必要なスプライトデータを、それら複数の共通エリアのうち予め定められた異なる共通エリアに記憶させている。
【０１００】
Ｃ１０．常駐エリア：
ここで、メモリインターフェース制御回路３２４は、キャラクタＲＡＭ３２１，３２２からシーン表示に必要なスプライトデータを読み出すと、それぞれこれらキャラクタＲＡＭ３２１，３２２から読み出したシーン表示に必要なスプライトデータを上書きしている。しかしながら本実施形態では、複数の変動表示パターンを表示するにあたり、各シーンを表示するのに共通して多用されるシーン表示に必要なスプライトデータについては、キャラクタＲＡＭ３２１，３２２の記憶領域の一部に常駐させるものとする。本実施形態では、ＣＰＵ３１１が、例えば共通して多用されるシーン表示に必要なスプライトデータを、キャラクタＲＡＭ３２１，３２２における複数の共通エリアの一部として常駐エリア（常駐領域）を区画形成して展開させるものとする。
【０１０１】
このようにキャラクタＲＡＭ３２１，３２２に常駐エリアを設けてシーン表示に必要なスプライトデータを常時展開させておくと、頻繁にキャラクタＲＯＭ３４０から読み出さなくても済む。なお、この常駐エリアに展開するシーン表示に必要なスプライトデータは、例えば図柄の変動表示中に常に表示される図柄の表示に用いるスプライトデータが挙げられる。なお、展開する時期としては、電源投入直後、すぐに展開するようにしておけば良い。ここで、上記展開テーブルは、これらシーン表示に必要なスプライトデータを、常駐エリアを含む複数の共通エリアのうちのいずれかに展開するために用いる展開情報を含んでいる。
【０１０２】
Ｃ１１．各共通エリアのデータサイズ：
ここで、これら複数の共通エリアのうちの各共通エリアには、表示態様の異なる複数の変動表示パターンのうちのある変動表示パターンを表示する場合と、それとは別の変動表示パターンを表示する場合とで、それぞれ互いに異なる複数のシーン表示に必要なスプライトデータがそれぞれ記憶される。
【０１０３】
そこで本実施形態では、データ展開プロセッサとしてのＣＰＵ３１１は、ＣＰＵインターフェース３１６を経由して展開データメモリコントローラ３１５を制御することで、複数の共通エリアのうちの各共通エリアに記憶されうる複数のシーン表示に必要なスプライトデータのうち、データサイズが最大であるシーン表示に必要なスプライトデータのデータサイズを基準として、予め複数の共通エリアをそれぞれ区画形成しておく。ここでいうデータサイズは、例えば１つのシーンを表示するのに必要な素材としてのスプライトを表示するのに必要なスプライトデータのデータサイズを表している。
【０１０４】
まず、複数の共通エリアは、それぞれ格納されうるスプライトデータが予め定められているため、その共通エリアに展開されることのないスプライトデータのデータサイズを考慮して区画形成されていなくてもよい。このため、これら複数の共通エリアは、大きなデータサイズのスプライトデータが将来展開されるかもしれないことを想定してデータサイズを余分に形成しておく必要がなく、記憶されるスプライトデータのうちの最もデータサイズの大きなスプライトデータを基準に区画形成しておけばよい。従って本実施形態によれば、キャラクタＲＡＭ３２１，３２２に区画形成すべき複数の共通エリアのうちの各共通エリアのデータサイズが、各共通エリアに展開され得るスプライトデータに応じて最小限度に抑制されるため、キャラクタＲＡＭ３２１，３２２を効率よく使用することができる。
【０１０５】
Ｄ．ＶＤＰの構成例：
図４はＶＤＰ３３０の電気的な構成例を示すブロック図である。ＶＤＰ３３０は、ＣＰＵインターフェース３８３（図において「ＣＰＵ  Ｉ／Ｆ」と略す）、ＲＯＭインターフェース３３３（図において「ＲＯＭ  Ｉ／Ｆ」と略す）、バス３８２、ＶＤＰコントローラ３３１、ラインバッファ３３６、カラーパレットレジスタ３３２ｃ、スプライト属性レジスタ３３２ｓ、バックグラウンド（図において「ＢＧ」と略す）属性レジスタ３３２ｂ、内蔵ＲＡＭ３３５及びＤＭＡコントローラ３８４を含んだ構成となっている。なお、内蔵ＲＡＭ３３５は、ＶＤＰ３３０の外部に設けられていても良い。
【０１０６】
制御ＲＯＭ３２５においては、上記展開テーブルが管理されている。この展開テーブルは、キャラクタＲＡＭ３２１，３２２においてシーン表示に必要なスプライトデータが複数の共通エリアのうちのどの共通エリアに展開されているべきかに関する展開情報及び、この展開情報の他、スケジューラ（表示情報）を含んでいる。ここでいうスケジューラは、ＶＤＰ３３０が表示すべきスプライトの先頭アドレス、表示すべき枚数（縦及び横方向の枚数）、スプライトの識別子（キャラクタ番号など）及び、重ね合わせた場合の優先順位などの後述する表示データを表示順序に記憶した表示情報を含んでいる。なお、制御ＲＯＭ３２５においては、このスケジューラに展開情報が含まれて記憶されている形態や、スケジューラと展開情報が並列して存在している形態であっても良い。
【０１０７】
そしてさらに、ＣＰＵ３１１は、制御ＲＯＭ３２５の展開テーブルを参照し、キャラクタＲＡＭ３２１，３２２における複数の共通エリアのうちのどの共通エリアに、この変動表示パターンの表示動作に必要なシーンの組み合わせに係るシーン表示に必要なスプライトデータが記憶されているのかに関する展開情報を取得する。つまりＣＰＵ３１１は、この展開情報に基づいて、必要なシーン表示に必要なスプライトデータがそれぞれ展開されている複数の共通エリアのうちのある共通エリアを特定する。
【０１０８】
次にＣＰＵ３１１は、さらに展開テーブルの内容を参照し、各シーンの種類ごとに、そのシーンの表示に用いるスプライトを把握するとともに、それぞれ対応した複数の共通エリアのうちある共通エリア群を特定する。ここでいう特定とは、キャラクタＲＡＭ３２１，３２２における各シーン表示に必要なスプライトデータが展開されている特定の共通エリア付されたアドレスを把握することなどを意味している。
【０１０９】
ＣＰＵ３１１は、変動表示パターンを表示するのに必要なシーン表示に必要なスプライトデータに関するアドレスを把握すると、まずＣＰＵ３１１の制御によって表示すべきスプライトが配置されているアドレスなどの描画パラメータを指定する。このＶＤＰコントローラ３３１は、ＣＰＵ３１１の制御によってメモリインターフェース制御回路３２４を経由してスプライトデータを取得する。
【０１１０】
図４に示すカラーパレットレジスタ３３２ｃ、スプライト属性レジスタ３３２ｓ及びＢＧ属性レジスタ３３２ｂは、それぞれＶＤＰコントローラ３３１による画像表示動作の制御に際し、このＶＤＰコントローラ３３１が参照するレジスタである。つまりＶＤＰコントローラ３３１は、ＣＰＵ３１１の指示に基づいて、これらカラーパレットレジスタ３３２ｃ、スプライト属性レジスタ３３２ｓ及びＢＧ属性レジスタ３３２ｂを参照しつつ、ラインバッファ３３６を経由して、表示装置１６の演出表示を制御している。
【０１１１】
ここで上記ＣＰＵ３１１は、上述のように生成した描画パラメータに含まれる、カラーパレットデータをカラーパレットレジスタ３３２ｃに書き込むとともに、スプライト属性データをスプライト属性レジスタ３３２ｓに書き込み、さらにバックグラウンド属性データをバックグラウンド属性レジスタ３３２ｂに書き込む。
【０１１２】
カラーパレットレジスタ３３２ｃは、例えば０〜２５５番で表される各パレット番号に対応して２５６パレット分のカラーパレットデータを予め記憶するためのレジスタである。１つのパレットは、例えば１６色で構成されている。つまり、このカラーパレットレジスタ３３２ｃは、スプライト設定時にパレット番号（例えば０〜２５５番）の指定があると、この指定されたパレット番号に対応したカラーパレットデータを提供する。
【０１１３】
スプライト属性レジスタ３３２ｓは、スプライトデータなどのスプライト属性に関するスプライト属性データを記憶している。バックグラウンド（ＢＧ）属性レジスタ３３２ｂは、バックグラウンド画像の属性に関するバックグラウンド属性データを記憶している。
【０１１４】
内蔵ＲＡＭ３３５は、書き換え可能な揮発性のメモリであり、例えばＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ここで制御ＲＯＭ３２５から内蔵ＲＡＭ３３５へのデータの書き込みは、例えばＣＰＵ３１１の制御によって実行されているが、その代わりに、ＤＭＡコントローラ３８４の制御によって実行されるようにしてもよい。
【０１１５】
ラインバッファ３３６は、ＶＤＰコントローラ３３１によって、このよう生成された表示データを、表示すべき画像の走査線（ライン）単位で蓄積する機能を有し、この蓄積した走査線単位の表示データを出力する機能を有する。このＶＤＰコントローラ３３１は、表示データの出力の際、この表示データに同期させた同期信号ＳＹＮＣも出力している。表示装置１６にフレームを表示させる周期は固定されているため、走査線単位の表示データを出力するための所要時間の上限値が制限されている。このことから、ＶＤＰ３３０には、走査線単位で描画可能な画素数の上限値が決められており、描画時の「のべ画素数」が上限値を超える場合には、その走査線については以後の描画を中断して、表示データを出力する。以下、この状態をスプライトオーバーと称する。本実施例では、表示装置１６の横方向の画素数６４０ドットであるのに対し、スプライトオーバーを生じさせる上限値は７０００ドットとなっている。
【０１１６】
Ｅ．表示制御処理：
図５は表示制御処理のフローチャートである。ＣＰＵ３１１がＶＤＰ３３０に対して描画コマンド等を出力し、表示データを生成させる処理である。併せて、スケーラ３９０に対して、拡大／縮小やＯＳＤ表示の制御などを行ってもよい。この処理は、１６ｍｓｅｃ周期の割込処理として実行される。
【０１１７】
この処理を開始すると、ＣＰＵ３１１は、処理を実行するための準備として、多重割込みを許可し（ステップＳ１０）、ノイズキャンセル・判定処理を行う（ステップＳ１２）。そして、割込端子の端子レベルを確認し（ステップＳ１４）、端子レベルが異常の場合には、ノイズ等の影響による異常なトリガに基づいて表示制御処理が開始されたものと判断し、そのまま処理を終了する。
【０１１８】
端子レベルが正常の場合には、以下の手順でＶＤＰ３３０に対して描画コマンド等を出力し、表示データを生成させる。ここでは、説明の便宜上、全体を表示制御処理として説明しているが、以下の部分をステップＳ１０〜Ｓ１４とは別の処理として構成し、３２ｍｓｅｃ周期の割込処理として実行してもよい。
【０１１９】
次に、ＣＰＵ３１１は、ＶＤＰ３３０を初期化する（ステップＳ１６）。この処理には、ＶＤＰ３３０が表示データの生成に使用する種々のレジスタ等の値の初期化が含まれるが、ＣＰＵ３１１からの描画コマンド等を保持しておくべきスプライトレジスタおよびＶＤＰレジスタの初期化は含まれない。スプライトレジスタ等の初期化は、別途実行することになる。
【０１２０】
ＣＰＵ３１１は、更にＶＤＰ３３０のスプライトレジスタを初期化する（ステップＳ１８）。また、ＶＤＰレジスタに条件設定コマンドを設定する（ステップＳ２０）。これは、表示データ生成時に使用される種々の設定をＶＤＰレジスタに書き込む処理である。これらの初期化およびＶＤＰレジスタ設定が完了すると、ＣＰＵ３１１は、次にサブ制御基板３５から受信した表示コマンドの内容を解析し（ステップＳ２２）、ＬＣＤ１６に表示すべき画面データを特定する。そして、この画面データに基づいて画像の描画コマンドをＶＤＰ３３０に出力する（ステップＳ１００）。
【０１２１】
ＣＰＵ３１１は、描画コマンド出力の後、スプライトの最適化を行って、表示制御処理を終了する（ステップＳ２００）。これは、次の手順で、ＶＤＰ３３０に定義された表示エリアから全体が外れるようなスプライトについて、描画コマンドから省略する処理である。描画コマンド出力時には、ＣＰＵ３１１は、スプライトが表示エリアに含まれるか否かを判定することなく、画面データで特定された全てのスプライトを描画対象としてＶＤＰ３３０のスプライトレジスタに書き込む。各スプライトについては、描画位置の指定の他、表示／非表示を切り換えるためのフラグが設けられており、この段階では、このフラグは全て「表示」に設定されている。ＣＰＵ３１１は、スプライトの最適化では、それぞれのスプライトレジスタについて、書き込んだスプライトレジスタのサイズ、位置に基づいて、表示エリアから全体が外れるか否かを判定する。全体が外れるスプライトに対しては、ＣＰＵ３１１は、上述のフラグを切り換え「非表示」に設定する。
【０１２２】
スプライト最適化は、上述の通り、全体が表示エリアから外れるスプライトを描画するという無駄な処理を回避するための処理である。描画コマンドを出力する際に、一つ一つのスプライトについて表示エリアから外れるか否かの判定を行う方法を採ることも可能ではあるが、本実施例では、描画コマンドの出力と、スプライト最適化に分けることにより、同種の処理を集約することができ、処理効率を向上させている。もっとも、スプライト最適化は、ＶＤＰ３３０の処理効率を向上させるための処理であるため、省略することも可能である。
【０１２３】
Ｆ．描画処理：
図６は描画処理のフローチャートである。表示制御処理（図５）を受け、ＶＤＰ３３０が内部的に実行する処理である。まず、ＶＤＰ３３０はＣＰＵ３１１から出力された描画コマンドを読み込む（ステップＳ３０２）。この描画コマンドには、多数のスプライトについて、表示／非表示、表示位置などの指定がなされている。ＶＤＰ３３０は、これらの中から規定の順序で選択したスプライトが表示対象であれば（ステップＳ３０４、Ｓ３０６）、そのスプライトを描画する（ステップＳ３０８）。表示対象でない場合には（ステップＳ３０６）、スプライトの描画をスキップする。
【０１２４】
ＶＤＰ３３０は、全スプライトの処理について終了した場合（ステップＳ３１０）、またはスプライトオーバーが生じた場合（ステップＳ３１２）には、描画処理を終了する。スプライトオーバーが生じると、表示対象として指定されたスプライトが残っている場合でも、ＶＤＰ３３０は、描画処理を中断してしまうため、そのフレームは、一部のスプライトが欠落した状態で表示される。全スプライトの処理が完了していない場合（ステップＳ３１０）、かつスプライトオーバーが生じていない場合（ステップＳ３１２）には、ＶＤＰ３３０は、次のスプライトの処理（ステップＳ３０４）に移行する。
【０１２５】
図７はスプライトオーバーの判断方法を示す説明図である。上段に示す通り、横方向が６４０ドットの表示装置に、横方向１００ドットのスプライトＡ〜Ｃを配置して画面を描画する場合を例示した。図中に示した走査線Ｌの描画をする場合を考える。背景を描く際には、走査線Ｌ１に示すように、ラインバッファには、６４０ドット分の描画が行われ、背景に応じた階調値が格納される。次に、スプライトＡを描く際には、走査線Ｌ２に示すように、ラインバッファには、１００ドット分の描画が行われる。走査線Ｌ１と重複している画素は、スプライトＡに対する透明度の設定に応じて、背景の階調値とスプライトＡの階調値との合成結果が格納される。スプライトＡが不透明に設定されている場合には、これらの画素にはスプライトＡの階調値が格納されることになる。スプライトＢを描く際には、走査線Ｌ３に示すように、１００ドット分の描画が行われる。更に、スプライトＣを描く際には、走査線Ｌ４に示すように、１００ドット分の描画が行われる。
【０１２６】
この結果、図示する走査線については、合計９４０ドットの描画が行われることになる。このように、各走査線に描画されるのべ画素数は、スプライトの大きさ、数、位置によって変化する。こうして求められるのべ画素数が、ＶＤＰ３３０によって描画可能な上限値を超えると、スプライトオーバーが生じる。仮に、スプライトＢを描いた時点で（走査線Ｌ３）、スプライトオーバーが生じたとすれば、スプライトＣは描画されないまま走査線Ｌの表示データが出力される。この結果、スプライトＣは、走査線Ｌの部分が欠落した状態で表示されることになる。
【０１２７】
図８はスプライトオーバーによる効果を示す説明図である。図示する通り３枚のレイヤＬＡ１〜ＬＡ３で構成される画面を表示する場合を例示する。最前面に全レイヤを重ねた画面ＰＩＣを示した。最背面のレイヤＬＡ１には、海を表す演出表示と始動記憶が表示される。図中の下部に示したのが始動記憶表示であり、この例では、左右の始動入賞口に入賞した遊技球数をそれぞれハートマーク、スペードマークの数で表している。
【０１２８】
最背面のレイヤには、始動記憶の前面に図示する矩形のスプライトが表示される。このスプライトの高さＭＨは、始動記憶の高さと同じである。この矩形のスプライトは、本実施例では、透明な矩形を用いたが、始動記憶と同じ図柄を表示するスプライトとしてもよい。つまり、これらの矩形は表示してもしなくても、始動記憶の表示内容に影響を与えない。このようなスプライトを本実施例では、マスクスプライトと呼ぶものとする。ＶＤＰ３３０は、他のスプライトと同様に、マスクスプライトについても描画処理を行うため、マスクスプライトが存在する領域では、その数によってスプライトオーバーが生じることがある。図８の例では、スプライトオーバーを生じさせるに足りる分のマスクスプライトが用意されているものとする。仮に、表示装置の横幅が６４０ドットとし、ＶＤＰ３３０が描画可能なのべ画素数の上限値が７０００ドットであるとすると、マスクスプライトを１０枚用意すれば、始動記憶も含めたのべ画素数７０００ドットを超えるため、スプライトオーバーが生じることになる。
【０１２９】
図の例でＶＤＰ３３０が描画を開始すると、始動記憶よりも上方の部分には、マスクスプライトは存在しないため、スプライトオーバーは生じない。従って、レイヤＬＡ３における魚のスプライトも正常に描画される。これに対し、始動記憶の部分では、上述の通りスプライトオーバーが生じる。このため、レイヤＬＡ３における魚のスプライトは描画されない。つまり、魚のスプライトは、マスクスプライトに対応する領域ＭＳＫ部分だけ欠落した状態で描画されることになる。この結果、全てのレイヤＬＡ１〜ＬＡ３を重ね合わせると、画像ＰＩＣに示すように、最前面に始動記憶を描画したかのような表示を簡易に実現することができる。
【０１３０】
Ｇ．描画コマンド出力処理：
図９は描画コマンド出力処理のフローチャートである。表示制御処理（図５）のステップＳ１００に相当する処理であり、ＣＰＵ３１１がマスクスプライトの描画要否を判断して、ＶＤＰ３３０に描画コマンドを出力する処理である。ここでは、図８に示したように複数のレイヤから画面が構成されている場合を例示する。
【０１３１】
まず、ＣＰＵ３１１は背景レイヤについての描画コマンドを出力する（ステップＳ１０２）。次に、ＣＰＵ３１１は、サブ制御基板３５からの表示コマンドでマスク指定がなされている時、即ちマスクスプライトを描画すべき旨が指定されている時（ステップＳ１０４）には、その表示コマンドに応じてマスクスプライトを描画すべき箇所、マスクスプライトの高さＭＨ、およびマスクスプライト数を設定し（ステップＳ１０６）、これに応じてマスクスプライトの描画コマンド（以下、「マスクコマンド」と称する）を出力する（ステップＳ１０８）。マスクスプライトが不要の場合には（ステップＳ１０４）、上述の処理（ステップＳ１０６、Ｓ１０８）はスキップされる。
【０１３２】
マスクスプライトの要否は、サブ制御基板３５が出力する表示コマンドによって直接、指定してもよいし、表示コマンドに基づいて特定される画面構成（図３で説明した展開テーブル）に基づいて指定するようにしてもよい。後者の場合には、画面構成においてマスクスプライトを配置する旨のみを指定し、位置等はＣＰＵ３１１が判断するようにしてもよいし、マスクスプライトの位置、形状、数を全て指定するようにしてもよい。さらに単純な形式として、スプライトオーバーを生じさせるに足りる数のマスクスプライトを重ね合わせて配置した形で展開テーブルを表しておく方法を採っても良い。この態様では、ＣＰＵ３１１は、ステップＳ１０６の処理を省略することも可能である。
【０１３３】
スプライトオーバーを生じさせるに足りるマスクスプライトの数としては、ＶＤＰ３３０が描画可能な上限値を、マスクスプライトの走査線方向のドット数で除した値を用いればよい。マスクスプライト数を、この値よりも小さく設定してもよい。こうすれば、マスクスプライト以外に描画されるスプライトの大きさ、数によってスプライトオーバーが生じるか否かが不規則に変化し、適用部位によって興趣を高めることができる。
【０１３４】
マスクスプライトの描画が完了すると、ＣＰＵ３１１は次のレイヤの描画コマンド出力に移行する（ステップＳ１１０）。ＣＰＵ３１１は、この処理（ステップＳ１１０）を、全レイヤについて描画コマンドの出力が完了するまで（ステップＳ１１２）、繰り返して実行し、描画コマンド出力処理を終了する。
【０１３５】
図９の例では、背景レイヤにおいてマスクスプライトを出力する例を示した。マスクスプライトは、種々のタイミングで出力可能である。例えば、背景レイヤの直前に配置されるレイヤにおいて、最初にマスクスプライトの描画コマンドを出力した後、その他のスプライトの描画コマンドを出力するようにしてもよい。
【０１３６】
以上で説明した実施例の遊技機によれば、マスクスプライトを用いることにより、容易にスプライトの一部をマスクすることができる。マスクを利用することによって、図８に示したように、特定のスプライトの前面に、他のスプライトが重なることを回避できる。従って、画面上での重なり状態を考えてスプライトの描画の先後を考慮したり、表示すべきスプライトの描画前でスプライトオーバーが生じないようスプライトの配置や描画順序を考慮したりするといった画面デザイン上の負荷を軽減することが可能となる。また、図８に示したように複数のレイヤで画面が構成されている場合、始動記憶を最前面のレイヤに描画する必要がなくなるため、最前面のレイヤを「不透明」という設定にする必要性がなくなる。この結果、例えば、最前面のレイヤを「半透明」に設定して種々のスプライトを描画させるなどして、奥行きを感じさせる演出表示を実現することが可能となる。
【０１３７】
上述の実施例では、透明な矩形をマスクスプライトとして用いる場合を例示した。マスクスプライトは、透明なスプライトの他、背景と同一の表示内容を示すスプライトなど、実質的に不可視な種々のスプライトを用いることができる。例えば、先に説明した通り、第１キャラクタＲＡＭ３２１、第２キャラクタＲＡＭ３２２のリフレッシュを実行させるために用いられる不可視の「リフレッシュキャラクタ」をマスクスプライトとして用いても良い。こうすることで、リフレッシュとマスクを並行して行うことができる利点がある。
【０１３８】
Ｈ１．変形例（１）：
実施例（図８，９）では、一定高さのマスクスプライトを用いる場合を例示した。本実施例では、マスクスプライトの高さは固定である必要はなく、異なる高さのマスクスプライトを混在させてもよい。かかる例について、変形例（１）として以下に示す。
【０１３９】
図１０はマスクの変形例（１）を示す説明図である。図１０（ａ）に示すように、画面内にスプライトＡ〜Ｃを描画する場合を考える。変形例では、スプライトＡ、Ｃの前面に、高さがＭＨ２のマスクスプライトを描画し、この前面に重ねて高さＭＨ１（ＭＨ１＜ＭＨ２）のマスクスプライトを描画する。高さＭＨ２のマスクスプライトのみが描画される領域ＬＡ１と、高さＭＨ１、ＭＨ２のマスクスプライト双方が描画される領域ＬＡ２とが隣接するようにして形成されることになる。同様に、スプライトＡ〜Ｃの前面には、高さＭＨ２のマスクスプライトのみが描画される領域ＬＡ３と、高さＭＨ１、ＭＨ２のマスクスプライト双方が描画される領域ＬＡ４とが隣接するようにして形成されることになる。
【０１４０】
図１０（ｂ）に、上述の各領域ＬＡ１〜ＬＡ４において、ＶＤＰ３３０が描画するのべ画素数の様子を模式的に示した。ハッチング付した部分がマスクスプライトの描画に相当するのべ画素数を表している。高さＭＨ２のマスクスプライトのみが描画される領域ＬＡ１、ＬＡ３では、高さＭＨ１、ＭＨ２のマスクスプライトの双方が描画される領域ＬＡ２、ＬＡ４よりも、のべ画素数が小さい。
【０１４１】
この状態で、スプライトＡ〜Ｃの描画による画素数を加えた状態を、それぞれ示した。図中の「上限値」を超えるとスプライトオーバーが生じるものとする。領域ＬＡ１、ＬＡ２では、スプライトＡ，Ｃを描画しても、スプライトオーバーは生じない。スプライトＡ〜Ｃを描画した時、領域ＬＡ３ではスプライトオーバーは生じないが、領域ＬＡ４ではスプライトオーバーを生じる。この結果、スプライトＣは領域ＬＡ４に対応する部分が欠落した状態で表示されることになる。
【０１４２】
このように高さの異なるマスクスプライトを混在させた場合、マスクスプライトの高さ、数、マスク部分に描画されるスプライトの数、大きさによって、スプライトオーバーが生じたり、生じなかったりする。従って、マスクが演出表示中に不規則に生じることになり、興趣に富んだ演出表示を実現することが可能となる。図１０の例では、マスクの高さを２通りに設定したが、更に多段階に高さを変化させてもよい。また、マスクスプライト相互の位置を上下方向にずらすことによっても、上述と同様の効果を得ることができる。
【０１４３】
Ｈ２．変形例（２）：
実施例では、背景レイヤの描画コマンドを出力した後、全マスクコマンドを出力し、その後、前面レイヤの描画コマンドを出力する例を示した。本実施例では、必ずしも全マスクコマンドを一連の順序で出力する必要はなく、複数のマスクコマンドを出力する途中で、他の描画コマンドを挟んでも良い。かかる例について変形例（２）として示す。
【０１４４】
図１１は変形例（２）の描画コマンド出力処理のフローチャートである。実施例（図９）に代わる処理である。まず、ＣＰＵ３１１は、背景レイヤの描画コマンドを出力する（ステップＳ１２２）。
【０１４５】
マスクが指定されている時（ステップＳ１２４）、ＣＰＵ３１１は、マスク箇所、マスク高さＭＨ、マスク用スプライトの数、および各レイヤ切換位置を設定する（ステップＳ１２８）。変形例では、例えば、複数のマスクコマンドを出力する場合、背景レイヤにおいて一部のマスクコマンドを出力し、レイヤを切り換えて残りのマスクコマンドを出力するという態様を採ることができる。レイヤ切換位置は、例えば、レイヤを切り換えるまでに出力すべきマスクコマンド数という形で設定することが可能である。マスクが指定されていない時（ステップＳ１２４）は、この処理はスキップされる。
【０１４６】
ＣＰＵ３１１は、上述の設定に従って、順次、描画コマンドまたはマスクコマンドを出力する。まず、従前に出力したマスクコマンド数から、レイヤ切換位置に該当すると判断される場合には（ステップＳ１３０）、レイヤ描画コマンドを出力し（ステップＳ１３４）、そうでない場合には、マスクコマンドを出力する（ステップＳ１３２）。ＣＰＵ３１１は、以上の処理を全レイヤ、全マスクコマンドについて終了するまで（ステップＳ１３６）、繰り返し実行する。
【０１４７】
図１２は変形例（２）の効果を示す説明図である。図１２（ａ）に示すように、画面内にスプライトＡ〜Ｃを描画する場合を考える。画面内にはマスクスプライトＭＳが描画されている。スプライトＡ〜Ｃは背景レイヤよりも前面のレイヤに描画されるものとする。
【０１４８】
図１２（ｂ）はマスク部分において描画されるのべ画素数を表している。ハッチング部分はマスクスプライトの描画による画素数である。この画素数は、図示する通り、マスクスプライト数が増えるほど、増大する。図中には、マスクスプライト数Ｎ１，Ｎ２，Ｎ３の３通りでレイヤ切換を行った場合の様子を示した。マスクスプライト数Ｎ１でレイヤ切換を行った場合には、マスクスプライトによって描画された画素数が比較的少ないため、スプライトＡ〜Ｃを描画してもスプライトオーバーは生じない。Ｎ２でレイヤ切換を行った場合には、スプライトＢの描画中にスプライトオーバーが生じる。従って、スプライトＡは完全に表示され、スプライトＢはマスクＭＳの一部が欠落して表示され、スプライトＣはマスクＭＳ部分が完全に欠落した状態で表示される。Ｎ３でレイヤ切換を行った場合には、スプライトＡの描画中にスプライトオーバーが生じる。従って、スプライトＡはマスクＭＳの一部が欠落して表示され、スプライトＢ、ＣはマスクＭＳ部分が完全に欠落した状態で表示される。
【０１４９】
変形例（２）によれば、レイヤ切換位置の設定によって、スプライトオーバーが生じたり、生じなかったりする。従って、マスクが演出表示中に不規則に生じることになり、興趣に富んだ演出表示を実現することが可能となる。
【０１５０】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。上述の各実施例および変形例は、適宜、組み合わせて用いることも可能である。実施例および変形例では、ＬＣＤ１６を表示装置として用いる場合を例示したが、本発明は他の種類の表示装置を用いる場合にも適用可能である。
【図面の簡単な説明】
【０１５１】
【図１】実施例としてのパチンコ機１の正面図である。
【図２】パチンコ機１の制御用ハードウェア構成を示すブロック図である。
【図３】図柄制御基板３０の回路構成を示すブロック図である。
【図４】ＶＤＰ３３０の電気的な構成例を示すブロック図である。
【図５】表示制御処理のフローチャートである。
【図６】描画処理のフローチャートである。
【図７】スプライトオーバーの判断方法を示す説明図である。
【図８】スプライトオーバーによる効果を示す説明図である。
【図９】描画コマンド出力処理のフローチャートである。
【図１０】マスクの変形例（１）を示す説明図である。
【図１１】変形例（２）の描画コマンド出力処理のフローチャートである。
【図１２】変形例（２）の効果を示す説明図である。
【図１３】従来技術における画面表示例を示す説明図である。
【符号の説明】
【０１５２】
１…パチンコ機
３…メイン制御基板
４…遊技盤
４ａ…表示部
４ｂ…操作スイッチ
６…遊技領域
８…発射ハンドル
８…ハンドル
９…始動入賞口
１０…大入賞口
１２…パネル装飾ランプ
１５ａ…入賞検出器
１６…表示装置（ＬＣＤ）
１８…大入賞口ソレノイド
２０…払出モータ
２１…賞球払出装置
２２…払出球検出器
２４…モータ駆動センサ
２５…払出制御基板
２９…スピーカ
３０…図柄装飾基板
３１…枠装飾ランプ
３２、３４…ランプ中継基板
３５…サブ制御基板
４１…特別図柄表示装置
４７…発射制御基板
４８…タッチ検出部
４９…発射モータ
３１１…ＣＰＵ
３１２…圧縮データメモリコントローラ
３１２ａ，３２７ａ，３２８ａ，３２９ａ，３１５ａ…レジスタ
３１４…第１キャラクタＲＡＭコントローラ
３１５…展開データメモリコントローラ
３１７…第２キャラクタＲＡＭコントローラ
３２０…ＶＤＰインターフェース
３２１…第１キャラクタＲＡＭ
３２２…第２キャラクタＲＡＭ
３２４…メモリインターフェース制御回路
３２５…制御ＲＯＭ
３２７…動画像データ伸張コントローラ
３２８，３２９…スプライトデータ伸張コントローラ
３３０…ＶＤＰ
３３１…ＶＤＰコントローラ
３３２ｃ…カラーパレットレジスタ
３３２ｓ…スプライト属性レジスタ
３３２ｂ…バックグラウンド属性レジスタ
３３３…ＲＯＭインターフェース
３３５…内蔵ＲＡＭ
３３６…ラインバッファ
３４０…キャラクタＲＯＭ
３８２…バス
３８３…ＣＰＵインターフェース
３８４…ＤＭＡコントローラ
３９０…スケーラ
３９７…フレームバッファ
【図１】
2008029364.tif 000003
【図２】
2008029364.tif 000004
【図３】
2008029364.tif 000005
【図４】
2008029364.tif 000006
【図５】
2008029364.tif 000007
【図６】
2008029364.tif 000008
【図７】
2008029364.tif 000009
【図８】
2008029364.tif 000010
【図９】
2008029364.tif 000011
【図１０】
2008029364.tif 000012
【図１１】
2008029364.tif 000013
【図１２】
2008029364.tif 000014
【図１３】
2008029364.tif 000015