以下、本発明をパチンコ機に適用した一実施形態について、各対応図面を参照しながら説明する。
(1.第1実施形態)
図1は、本発明の第1実施形態としての遊技機が適用されたパチンコ機1の構成例を示す正面図である。以下、まずパチンコ機1の概要構成例について説明する。
このパチンコ機1は、木製の外枠を外形のベースとして構成され、その内側に基枠や前面枠(ガラス枠5)等の枠体(これらを総称して「本体枠17」とする。)が装着されている。このうち、基枠には遊技盤2が着脱可能に嵌め込まれており、その前面にほぼ円形の遊技領域が形成されている。遊技盤2には、多数の誘導釘(図示されていない)が所定のゲージ配列で打設されているほか、図示しない風車や各種入賞口15(始動入賞口、大入賞口、一般入賞口等)、ゲート口13、パネル装飾ランプ(参照符号なし)等が盤面構成要素として配設されている。各種入賞口15には、遊技球の入賞を検出するための入賞検出器(図1において図示せず)が設けられている。また遊技盤2の裏面には、図1において図示しないメイン制御基板、サブ制御基板及び図柄制御基板などの各基板や電子部品が装着されている。
また、パチンコ機1の前面には遊技球を容れるための上皿4及び下皿6が設けられているほか、その右下隅位置には上皿4に収容された遊技球を順次発射させるための発射ハンドル8が設けられている。また上皿4の左側位置には、遊技者が適宜プッシュ操作できる演出ボタン10が配置されており、その内側にはスピーカー29が配置されている。その他、パチンコ機1の前面(ガラス枠5)には多数の枠ランプ(枠装飾ランプ31など)が装飾的に配置されるほか、遊技の進行に伴い音響出力を行うためのスピーカ29等が設置されている。ガラス枠5は、図示しないヒンジ機構を介して本体枠17の前面を開放したり閉止したりすることが可能な構成となっている。
パチンコ機1は通常、遊技場の島設備に複数台が横方向に並べて設置されており、その台間サンド12としてカードユニット(CR機の場合)が設けられている。
また、センター役物14の下縁部には球ステージ14aが形成されており、この球ステージ14a上に遊技球が誘導されると、そこで一時的に滞留しながら動きに変化が与えられる。球ステージ14aにおいて動きが与えられた遊技球は、この球ステージ14aに形成された球誘導路14bの入口に落下すると、この球誘導路14bに誘導されてその直下に設けられた入賞検出器(図1において図示せず)によって入賞が検出される。
また、上記のセンター役物14内に装飾図柄表示装置16が配置されており、この装飾図柄表示装置16は、例えば始動入賞口への入賞を契機として表示内容が変化し、このとき画面上にて図柄の変動を表す画像等が表示される。図柄は一定時間に渡って変動した後に停止し、このとき所定の停止図柄態様(例えば同種の図柄が3つ揃った表示態様)になると大当りになり、パチンコ機1において特別な遊技状態に移行する。
特別遊技状態に移行すると、装飾図柄表示装置16による表示内容が大当り中のラウンド表示に切り替わり、そこでラウンド演出(入賞個数のカウント表示や継続ラウンド回数など)が実行される。さらに特別遊技状態後の特典遊技(いわゆる「確変」や「時短」など)に移行すると、それぞれ特典遊技中である旨の情報(「確変中」や「時短中」)などが表示される場合もある。
遊技盤2の右下縁部には、例えば4つの発光ダイオード(LED)を含む特別図柄表示装置41が設けられている。この特別図柄表示装置41は、メイン制御基板に接続されており、始動入賞を契機に所定時間にわたり点灯状態を変化させる構成となっている。またさらに、この遊技盤2の右下縁部には、例えば2つの発光ダイオード(LED)を含む普通図柄表示装置42が設けられている。この普通図柄表示装置42も、メイン制御基板に接続されており、ゲート口13の通過を契機に所定期間にわたり点灯状態を変化させる構成となっている。
また遊技盤2におけるセンター役物14の下縁部左右には、例えば2つずつ合計4つの発光ダイオード(LED)を含む特別図柄保留ランプ43が設けられている。この特別図柄保留ランプ43は、メイン制御基板に接続されており、図柄表示手段としての特別図柄表示装置41による点灯状態が変化中に始動入賞を保留して、その保留状況を表示する構成となっている。具体的には、各特別図柄保留ランプ43には、例えば「1」、「2」、「3」、「4」という数字をかたどった発光領域が設けられており、これら各発光領域が左から右へ「1」〜「4」を表すようにして順番に配列している。これら4つの発光領域は、「1」〜「4」の発光(点灯)態様に応じて特別図柄の始動記憶数(1〜4)を表している。
さらに遊技盤2の下縁部には、例えば2つの発光ダイオード(LED)を含む普通図柄保留ランプ44が設けられている。この普通図柄保留ランプ44は、メイン制御基板に接続されており、普通図柄表示装置42による点灯状態が変化中にゲート口13の通過を保留して、その保留状況を表示する構成となっている。この普通図柄保留ランプ44の近傍には、大当り種類表示ランプ45が2つ配列している。これら大当り種類表示ランプ45は、大当りとなった場合に少なくとも1つが点灯し、それによって大当りの種類を表示する。また遊技盤2の背面には、図1において図示しないメイン制御基板、サブ制御基板及び表示制御基板(後述する装飾図柄制御基板30)などが配設されている。
(2.パチンコ機の電気的な構成例)
図2は、パチンコ機1の電気的な構成例を示すブロック図である。
本体枠17には、払出制御基板25及び発射制御基板47が配設されている。一方、遊技盤2の背面には、その上部にメイン制御基板3(遊技制御部)及びサブ制御基板35(演出制御部)が設けられている。さらにこの遊技盤2の背面には、装飾図柄制御基板30が設けられており、この装飾図柄制御基板30は装飾図柄表示装置16に接続されている。
上記のメイン制御基板3は、サブ制御基板35や払出制御基板25などの基板に接続されている。この払出制御基板25は、発射制御基板47や賞球払出装置21にも接続されており、このサブ制御基板35は、表示動作を制御する装飾図柄制御基板30にも接続されている。なお、このサブ制御基板35は、装飾図柄制御基板30の機能を備えている形態でも良い。
サブ制御基板35は、装飾図柄制御基板30に対して、遊技動作中には遊技の進行に応じた演出表示動作を制御するための演出表示コマンドを送信する。装飾図柄制御基板30は、その演出表示コマンドを受信して、遊技領域のほぼ中央位置に設けられた装飾図柄表示装置16に、遊技の進行に応じたキャラクタ画像を表示させる。また、このサブ制御基板35は、ランプ中継基板32及びランプ中継基板34を介してパネル装飾ランプ12及び枠装飾ランプ31を点灯制御する。
ここで、このキャラクタ画像には、例えば図柄の変動表示に係る映像、変動している図柄が所定の停止図柄態様(例えば同種の図柄が3つ揃った表示態様)になるかもしれないことを暗示する暗示演出にかかる映像を含んでいる。例えば変動表示途中に同種の図柄が2つ揃うリーチ演出の変動表示パターン(組み合わせ映像群)は、全ての図柄が変動を開始して図柄が1つ停止するまでのシーン、その後、同種の図柄が2つ揃うまでのシーン(映像)など、複数のシーンの組み合わせからなる。そして、これら各シーンは、予め決められた順序で連続表示されるものである。
また各シーンは、動画像やスプライトの少なくとも一方を含んでおり、例えば動画像として映画のワンシーンを背景とするとともに、前景にスプライトとして図柄を重ねて表示した映像である。本実施形態では、この映像を1秒間に60枚のフレームによってフレーム割りしたフレームレートで、これらフレーム群を次々に連続切り替え表示することで、表示態様が動的に変化する映像を表す。本実施形態では、このフレーム(コマ)を作るときに用いる動画像やスプライトを以降、シーンの素材と呼称する。なお、本実施形態では、シーンの素材として、特に動画像に触れる必要性のある部分以外においては、主としてスプライトを例示している。
例示したリーチ演出の変動表示パターンは、リーチ演出の種類に応じて複数のパターンがある。各シーンは、表示すべき変動表示パターンに応じて、いくつかのシーンが組み合わされて使用されるものであり、各変動表示パターンによって1回しか使用されないシーンもあれば、共通して使用されるシーンもある。
次にスピーカ29は、例えばパチンコ機1の前面枠(ガラス枠5)上部や上皿4の内側に配設されており、スピーカ29からは遊技の進行に伴う効果音や音声等が出力されるものとなっている。
メイン制御基板3は、CPU3a(以下「メインCPU」と呼称する)、RAM3b、ROM3c、入出力インタフェース等(全ては図示されていない)の電子部品類を備えている。このメイン制御基板3には、入賞検出手段としての入賞検出器15aが接続されており、この入賞検出器15aは、遊技領域内にて各種の入賞口15(始動入賞口や大入賞口、一般入賞口等)への入球があったことを検出し、その検出信号をメイン制御基板3に出力する。また、ゲート口13を遊技球が通過した際にも、ゲート通過検出器(ゲートスイッチ)13aによって遊技球の通過が検出され、ゲート通過信号が発生するようになっている。
メイン制御基板3には、大入賞口ソレノイド18が接続されており、大当り抽選において大当りとなり特別遊技状態に移行すると、大入賞口ソレノイド18の作動によって大入賞口を開閉制御する。
メイン制御基板3による遊技動作の制御は、例えばメインCPUが所定の制御プログラム(以下「主制御プログラム」と呼称する)を実行することで行われる。メインCPUは、この主制御プログラムの実行に伴いソフトウェア上の乱数を生成し、始動入賞口への入賞を検出すると、これを契機として乱数を取得する。このとき取得した乱数値が所定の当り値に一致していると(抽選)、メインCPU3aは、サブ制御基板35に対して大当りの態様で図柄を表示させる指令信号を出力し、この後、実際に装飾図柄表示装置16にて大当りの態様で図柄の組み合わせが表示され、大当りとなる。一方、取得した乱数値が所定の当り値に一致していないと、メインCPU3aは、サブ制御基板35に対してはずれの態様で図柄を表示させるコマンド(演出表示コマンド)を出力し、この後、通常の遊技が継続する。メインCPU側において決定するのは抽選結果と変動パターンであり、メインCPUは、これら抽選結果と変動パターンに関するコマンドをサブ制御基板35に対して出力する。
サブ制御基板35は、CPU35a(以下「サブCPU」と呼称する)、RAM35b、ROM35c、入力インターフェースなどの電子部品類を備えている。またサブ制御基板35は、図示しないコマンド受信バッファを有しており、受信したコマンド(抽選結果や変動パターンに関するコマンドなど)を、このコマンド受信バッファに格納しておく。サブ制御基板35は、コマンド受信バッファに格納されたコマンドを取得して解析する。このサブ制御基板35は、解析結果に基づいてスピーカ29から音を出力させたり、ランプ中継基板32を介してパネル装飾ランプ12を所定の色で点灯させたり消灯させたり、ランプ中継基板34を介して枠装飾ランプ31を所定の色で点灯させたり消灯させるようになっている。
またサブ制御基板35のサブCPU35aは、リーチ予告やリーチ演出などのメインCPUが決定しない演出項目について決定する。そして、このサブCPU35aは、解析したコマンドの内容から視覚的な演出動作に係る演出表示コマンドを装飾図柄制御基板30に対して送信する。この演出表示コマンドには、メイン制御基板3からの演出コマンド(変動パターンコマンドなど)の内容に応じた演出項目に関する情報が含められており、この装飾図柄制御基板30は、受信した演出表示コマンド及び演出項目に関する情報に基づいて装飾図柄表示装置16によって演出表示動作を制御する。以下、サブ制御基板35が装飾図柄制御基板30に出力するコマンドを「演出表示コマンド」と呼称する。
大当りになるとメイン制御基板3(のメインCPU3a)は特別遊技状態へと移行することで大入賞口ソレノイド18を作動させ、大入賞口の開閉扉を所定のパターンで開閉させる。遊技者は開放中に遊技媒体の一例としての遊技球を入賞させて多くの賞球を獲得することができる。上記以外にもメイン制御基板3による遊技動作の制御は各種の内容があるが、いずれも公知であるためここでは詳細な説明を省略する。
払出制御基板25もまたCPU25a(以下「払出CPU」と呼称する)、RAM25b、ROM25c、入出力インタフェース等(全ては図示されていない)を有しており、特に払出制御基板25はメイン制御基板3との間で双方向通信可能に接続されている。すなわち、メイン制御基板3と払出制御基板25との間にはシリアル信号の上下線Su,Sdと、これらに並行してACK信号の送信線Au,Adとが敷設されている。
例えば、メイン制御基板3から賞球の払出を指示する賞球コマンドが下り線Sdを通じてシリアル形式で送信されると、これを受け取った払出制御基板25からACK信号が送信線Auを通じてメイン制御基板3へ送信されるものとなっている。逆に、払出制御基板25から払出制御基板25の状態を示す状態コマンド(例えば払出処理中)が上り線Suを通じてメイン制御基板3へ送信されると、これを受け取ったメイン制御基板3からはACK信号が送信線Adを通じて払出制御基板25へ送信される。
パチンコ機1には、その本体枠17に賞球払出装置21が設けられており、この賞球払出装置21による遊技球の払出動作は払出制御基板25により制御されている。すなわち払出制御基板25は、メイン制御基板3から賞球コマンドを受け取って賞球払出装置21の払出モータ20を作動させ、賞球コマンドにより指示された個数分の払出動作を行わせる。このとき、実際に払い出された賞球数は払出球検出器22により一個ずつ検出されて払出制御基板25にフィードバックされる。一方、払出モータ20の回転状態(回転角)はモータ駆動センサ24により検出されて同じく払出制御基板25にフィードバックされるものとなっている。
その他、発射制御基板47は、前記台間サンド12としてのカードユニットによって出力される発射許可信号が入力されると、遊技球の発射動作を制御する機能を有している。この発射制御基板47には発射モータ49の他に発射ハンドル8からの信号線が接続されている。この発射ハンドル8にはタッチ検出部48が内蔵されており、このタッチ検出部48は、人体(遊技者)の接触を検出してそのタッチ検出信号を発射制御基板47に出力する。また反射ハンドル8は発射スイッチ(図示しない)を内蔵しており、発射ハンドル8の回動により、ON信号を発射制御基板47に出力する。この発射制御基板47は、この発射制御許可信号、タッチ検出信号及びON信号を受け取った状態ではじめて発射モータ49の駆動を許可し、これにより遊技球の発射動作を行わせることができる。
払出制御基板25の払出CPU25aは、球ガミ、球切れ、満タンや、メイン制御基板3と払出制御基板25との接続異常などの障害を検出すると、払出制御基板25においてその障害の種類に応じたエラー情報が表示される。具体的には、払出制御基板25には7セグメントLED4aが設けられており、この7セグメントLED4aには、例えばそれら各種の障害の種類ごとにエラー番号が数字で表示されるものとなっている。
また、払出制御基板25にはエラー解除手段としての操作スイッチ4bが設けられており、この操作スイッチ4bは外部から操作可能な位置に配置されている。この操作スイッチ4bは、それら各種の障害が発生したとき、各障害への対処方法の音声ガイダンスされるとともに、7セグメントLED4aに表示されるエラー情報(数字表示)のクリアに用いる。
(3.装飾図柄制御基板)
図3は、装飾図柄制御基板30の電気的な構成を簡素化して図示した一例を示すブロック図である。
図3に示す装飾図柄制御基板30は、キャラクタROM340、第1キャラクタRAM321、第2キャラクタRAM322、中央演算処理装置(以下「図柄CPU」と呼称する)311、制御ROM325、映像表示プロセッサ330及びメモリインターフェース制御回路324を備えている。
この装飾図柄制御基板30は、サブ制御基板35からの演出表示コマンドに基づいて演出表示動作を制御する機能を有する。この装飾図柄制御基板30においては、図柄表示制御プログラム(制御プログラム)の実行によって演出表示動作が制御されている。まずVDP330は、上記装飾図柄表示装置16に接続されており、表示させるべき映像に対応した描画データを装飾図柄表示装置16に出力する構成となっている。この装飾図柄制御基板30を構成する各種回路は、例えば6層の配線層を持つ単一の基板上に設けられている。
(3−1.キャラクタROMの構成例)
ここで、装飾図柄制御基板30はキャラクタROM340を搭載しており、このキャラクタROM340には、変動表示パターンを構成する各シーンに係るデータ(映像の表示に必要なデータ)群が予め記憶されている。すなわち、このキャラクタROM340は、各シーンの表示に必要な素材としてのスプライトデータを含んでいるのである。
ここでスプライトデータは、予め設定された可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。一方、動画像データは、予め設定された非可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。本実施形態では、圧縮されたスプライトデータを「圧縮スプライトデータ」と呼称し、圧縮された動画像データを「圧縮動画像データ」と呼称する。
なおスプライトは、その表示態様として、背景としての動画像に重ねた場合、この動画像を視覚的に透過させない非透過領域及び、背景としての動画像を視覚的に透過させる透過領域を有している。これら透過領域及び非透過領域を有するスプライトは、スプライトデータに基づいて表示される画像であり、このスプライトは、非透過領域を透過領域から識別するための領域識別データによって非透過領域に該当する画素を抽出するとともに、透過領域の画素に背景などを透過して表示可能に構成した画像である。
(3−2.制御ROMの構成例)
また装飾図柄制御基板30は、制御ROM325を備えており、この制御ROM325は、図柄CPU311が実行する図柄表示制御プログラム及び、図柄CPU311などが参照する展開情報を管理する展開テーブルを不揮発的に記憶している。この展開テーブルは、上記変動表示パターンを表示するにあたり図柄CPU311が参照するものであり、その変動表示パターンに含まれるシーンの組み合わせや各シーンの表示順序を管理している。なお、図柄表示制御プログラムがこの展開テーブルの機能を含んでいても良い。
(3−3.図柄CPUの構成例)
一方、図柄CPU(Central Processing Unit)311は、サブ制御基板35からの演出表示コマンドに基づいて装飾図柄表示装置16による表示動作を制御するものである。つまり、この図柄CPU311(中央演算処理装置)は、VDP330に対して表示指示することで、このVDP330が、装飾図柄表示装置16に表示するための描画データを生成するようになっている。
具体的には、図柄CPU311は、演出表示コマンドに対応する表示態様を実現する描画データの生成条件を規定した描画パラメータを制御ROM325から読み出す。この描画パラメータとしては、描画の色彩情報を規定したカラーパレットデータ、スプライトの描画条件を規定したスプライト属性データ、バックグラウンド(背景)の描画条件を規定したバックグラウンド属性データである。図柄CPU311は、制御ROM325から読み出した描画パラメータなどをVDP330の各種レジスタに設定(指示)する。このVDP330は、この描画パラメータに基づいて、装飾図柄表示装置16に出力する描画データを生成する。
次に図柄CPU311は、SRAM(Static Ramdom Access Memory)311a(「内蔵メモリ」と呼称する)を内蔵しており、その外側から制御ROM325(外付け制御メモリ)がチップセレクト信号線で接続されている。また、この図柄CPU311は、アドレス線AL及びデータ線DLによって接続されている。この図柄CPU311(動作指示プロセッサ、表示制御プロセッサ)は、制御ROM325(外付け制御メモリ)、VDP330(映像表示プロセッサ)及びメモリインターフェース制御回路324に接続されている。この制御ROM325は、上記スケジューラデータのみならず、図柄CPU311の制御によって演出表示動作を制御する図柄表示制御プログラムを格納する読み出し専用メモリである。
この図柄CPU311は、制御ROM325から内蔵メモリ311aに読み込んだ図柄表示制御プログラムの動作によって、サブ制御基板35からの演出表示コマンドに基づいてVDP330の動作を制御する。この図柄CPU311は、サブ制御基板35から受信した上記演出表示コマンドを解析し、この解析結果に応じた演出表示動作の実行を制御する。
この演出表示の具体例としては、リーチ演出表示や特別遊技状態におけるラウンド表示を挙げることができる。このリーチ演出表示は、例えば遊技球の入賞を契機とした大当り抽選において当選しそうであること或いは当選しないもののあたかも大当りに当選するかもしれないことを、遊技者などに対して暗示して遊技者を期待させる演出表示である。一方、ラウンド表示は、例えば特別遊技状態に移行している場合に、特別遊技状態における各ラウンドでの演出表示を表している。
このようなリーチ演出表示などに関する図柄の変動表示を実行する場合、上記図柄CPU311は、このリーチ演出表示などにおける変動表示パターンに含めるべき各シーン及び各シーンの表示順序を、上記制御ROM325の展開テーブルを参照して決定する。
ここで、この図柄CPU311によって出力されるチップセレクト信号CS0,CS1が、オア回路319を経由して制御ROM325に対して出力されることにより、このチップセレクト信号に応じて選択された制御ROM325のメモリ空間がアクセスされるようになっている。つまり、複数のチップセレクト信号のチップセレクト信号線が制御ROM325に対してオア接続されているのである。ここでいう「複数のチップセレクト信号のチップセレクト信号線が制御ROM325に対してオア接続されている」とは、図柄CPU311と制御ROM325とを接続しているチップセレクト信号線を介して、この図柄CPU311が、これら複数のチップセレクト信号のうち所望のチップセレクト信号を制御ROM325に出力することを示している。なお、本実施形態においては、このようなオア接続を、例えばオア回路319を用いて模式的に図示している。
(3−4.制御ROMのメモリ空間)
図4は、装飾図柄制御基板30に搭載されている制御ROM325のメモリ空間の構成例を示すメモリマップである。
この制御ROM325は、そのメモリ空間として64Mbitの実空間CS0Eを有しており、この実空間CS0Eは、図柄CPU311がチップセレクト信号線を経由して制御ROM325に第1のチップセレクト信号CS0を出力した場合に選択され、これにより図柄CPU311が実空間CS0Eにアクセスすることができるようになっている。この実空間CS0Eは、図示のように許容空間KE及び重複空間TEを含んでいる。
一方、この制御ROM325は、そのメモリ空間として64Mbitのイメージ空間CS1Eを有しており、このイメージ空間CS1Eは、図柄CPU311がチップセレクト信号線を経由して、制御ROM325に第2のチップセレクト信号を出力した場合に選択され、この図柄CPU311がイメージ空間CS1Eにアクセスすることができるようになっている。
この許容空間KEは56Mbitのメモリ空間であり、その最上位アドレス(先頭)の位置に1Mbitの命令格納空間CKEを含んでいる一方、この命令格納空間CKEに連続する55Mbitのスケジューラデータ空間SEを含んでいる。このスケジューラデータ空間SEは、表示すべき映像に必要なスプライトに応じてスプライトデータを管理するスケジューラデータ(演出表示に係る制御データ)を記憶している。
一方、この命令格納空間CKEは、その先頭である最上位アドレス(例えばx0100000)にローダを記憶しているとともに、このローダに続いて図柄表示制御プログラムの各コードを記憶している。なお、このローダは命令格納空間CKEの存在にかかわらず、許容空間KEの最上位アドレスに位置し、電源投入後、最初に起動されるようになっている。このローダは、制御ROM325の命令格納空間CKEに格納されている図柄表示制御プログラムの各コードを、内蔵メモリ311aの命令ロード先空間CLEに転送(ロード)する機能を有する。
ここで命令格納空間CKEには、上記図柄表示制御プログラムの各コードが格納されており、スケジューラデータ空間SEには、この図柄表示制御プログラムが参照するスケジューラデータが格納されている。この図柄表示制御プログラムは、その各コードが実行されることでスケジューラデータに従って、スプライトデータに基づくスプライトを素材とした映像を装飾図柄表示装置16に表示させる機能を有する。
このスケジューラデータは、表示すべき映像に必要な後述する表示情報を含んでいる。この命令格納空間CKEの各コードは、図柄CPU311によって読み出されるようになっている。ここで命令格納空間CKEは、そのアドレスが、例えばx0100000〜x011FFFFで表されるメモリ空間の一部である一方、スケジューラデータ空間SEは、そのアドレスが、例えばx0120000〜x07FFFFFで表されるメモリ空間の一部である。
実装予定空間JYEは、図柄CPU311の内蔵メモリ311aのメモリ空間であるが、この実装予定空間JYEは、図柄CPU311の管理上、制御ROM325のメモリ空間(重複空間TE)と重複して割り当てられている。このため実装予定空間JYEでは、この図柄CPU311が第1のチップセレクト信号を制御ROM325に対して出力しない領域であることから、この図柄CPU311が、この実装予定空間JYEに重複して割り当てている制御ROM325の重複空間TEをアクセスしないようになっている。
また、この実装予定空間JYEは、そのメモリ空間として1Mbitの命令ロード先空間CLE及び7Mbitのロード先空き空間LEの合計8Mbitのメモリ空間を有している。この命令ロード先空間CLEは、図柄CPU311の制御によって、命令格納空間CKEに格納されている図柄表示制御プログラムの各コードがロード(転送)されるロード先である。この図柄表示制御プログラムの各コードは、図柄CPU311の制御によって、内蔵メモリ311aの命令ロード先空間CLEにおいて各コードが実行されるようになっている。一方、ロード先空き空間LEは、実装予定空間JYEに生じてしまう空き空間に相当する。
また一方、この制御ROM325は、図4に示すように仮想的なメモリ空間としてイメージ空間CS1Eを有しており、このイメージ空間CS1Eは、上記実空間CS0Eの内容が反映されたイメージ内容を含んでいる。このイメージ空間CS1Eは、図柄CPU311からオア回路を経由して制御ROM325に第2のチップセレクト信号を出力した場合に選択され、この図柄CPU311がアクセスできるようになっている。
ここで、上述のように図柄CPU311が、実空間CS0Eの重複空間TEをアクセスできないにもかかわらず、このようにイメージ空間CS1Eをアクセスできるのは、このイメージ空間CS1Eが内蔵メモリ311aのメモリ空間に重複して割り当てられていないためである。ここで、図柄CPU311は、制御ROM325の最下位アドレスであるボトムアドレス(例えばx07FFFFF)の次アドレス(例えばx0800000)を指定してアクセスするために第2のチップセレクト信号を出力する機能を有する。この際、この図柄CPU311は、制御ROM325の重複空間TEをアクセスしようとすると、この制御ROM325に対して第1のチップセレクト信号を出力しない。
また、このイメージ空間CS1Eは、図示のように代替空間DEを含んでいる。この代替空間DEは、図柄CPU311が制御ROM325のメモリ空間において直接アクセスすることのできない重複空間TEの代わりに、アクセス可能なメモリ空間である。この代替空間DEは、そのアドレスが、例えばx0800000〜x09FFFFFFで表される8Mbitのメモリ空間である(重複空間TEと同じ容量のメモリ空間)。
ここで本実施形態では、制御ROM325には、図柄表示制御プログラム(制御プログラム)と、この図柄表示制御プログラムによって参照されるスケジューラデータとが記憶されている。本実施形態においては、上述のように図柄表示制御プログラムは、許容空間KE(第2のメモリ空間)の最上位アドレス(先頭)に位置する命令格納空間CKEに記憶されており、スケジューラデータは、この許容空間KEにおける命令格納空間CKE以外のメモリ空間であるスケジューラデータ空間SE(制御格納空間)に記憶されているとともに、さらに、図柄CPU311の内蔵RAM311aの実装予定空間JYEに重複して割り当てられている制御ROM325の重複空間TEに記憶されている。
また図柄CPU311(動作指示プロセッサ)は、この許容空間KEの最上位(先頭)にアクセスして読み出した図柄表示制御プログラムを、内蔵メモリ311aの命令ロード先空間CLEに転送するとともに、この命令ロード先空間CLE上で図柄表示制御プログラムを実行している。この一方、図柄CPU311は、第1のチップセレクト信号を出力して許容空間KE(第2のメモリ空間)にアクセスしてスケジューラデータを読み出すのみならず、代替空間DE(イメージ空間の一部)にアクセスして重複したメモリ空間にあるスケジューラデータを、連続したメモリ空間として読み出すことができるようになっている。
(4.メモリインターフェース制御回路の構成例)
図3に示すメモリインターフェース制御回路324は、図柄CPU311の制御によって、キャラクタROM340、第1キャラクタRAM321及び第2キャラクタRAM322と、VDP330との間のデータ交換に関するインターフェースを制御する機能を有する。また、これらキャラクタRAM321,322には、同一のスプライトデータが同一の場所(アドレス空間)に配置されている。従って、このVDP330からメモリインターフェース制御回路324を介してキャラクタRAM321,322を参照すると、このVDP330は、キャラクタRAM321,322が切り替えられたとしても、これらキャラクタRAM321,322を各々区別することなく、あたかも1つのキャラクタRAMが存在しているかのように見えるようになっている。
このメモリインターフェース制御回路324は、CPUインターフェース316、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329、展開データメモリコントローラ315、第1キャラクタRAMコントローラ314、第2キャラクタRAMコントローラ317及びVDPインターフェース320を備えている。このメモリインターフェース制御回路324は、キャラクタROM340、図柄CPU311、VDP330及びキャラクタRAM321,322にそれぞれ接続されている。
CPUインターフェース316は、図柄CPU311とメモリインターフェース制御回路324とのインターフェースを制御しており、この図柄CPU311の他にも、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315に接続されている。
これら圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315は、それぞれレジスタ312a,327a(動画像レジスタ),328a(スプライトレジスタ),329a(スプライトレジスタ),315aを備えている。これらレジスタ312a,327a,328a,329a,315aは、CPUインターフェース316に接続されている。
(4−1.CPUインターフェースの構成)
CPUインターフェース316は、スプライト伸張制御プロセッサとしての図柄CPU311によるレジスタ328a,329a(スプライトレジスタ)へのそれぞれの書き込みを制御するとともに、動画像伸張制御プロセッサとしての図柄CPU311によるレジスタ327a(動画像レジスタ)への書き込みを制御する。
また、このCPUインターフェース316は、図柄CPU311による展開データメモリコントローラ315のレジスタ315aや圧縮データメモリコントローラ312のレジスタ312aへの書き込みを制御している。
つまり、これらレジスタ312a,327a,328a,329a,315aには、それぞれCPUインターフェース316を経由して、図柄CPU311によって設定値が書き込まれるようになっている。これら圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315は、それぞれレジスタ312a,327a,328a,329a,315aを介して図柄CPU311によって制御される構成となっている。
(4−2.2つのスプライト伸張装置の構成)
スプライトデータ伸張コントローラ328及びスプライトデータ伸張コントローラ329は、それぞれレジスタ328a及びレジスタ329aに書き込まれる設定値によって、圧縮スプライトデータについて可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また、スプライトデータ伸張コントローラ328,329は、それぞれ動画像レジスタ328a,329aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。またこのスプライトデータ伸張コントローラ328,329は、それぞれ伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
ここで、スプライト伸張制御プロセッサとしての図柄CPU311は、2つのスプライト伸張装置としてのスプライトデータ伸張コントローラ328,329による伸張動作をそれぞれ独立して制御する機能を有する。これらスプライトデータ伸張コントローラ328,329は、それぞれ、上述のように図柄CPU311によるレジスタ328a,329aへの書き込みに基づいて、予め設定されたスプライト伸張方式に従って、それぞれ指定された領域の圧縮スプライトデータを個々にスプライトデータに伸張するスプライト伸張部(図示せず)を含んだ構成となっている。
本実施形態では、図柄CPU311によるスプライトレジスタ328a,329aへの各書き込みという簡単な制御によって、圧縮スプライトデータを伸張してスプライトデータを生成することができるため、全体として伸張制御が簡素化される。
(4−3.動画像伸張装置の構成)
また、動画像伸張制御プロセッサとしての図柄CPU311は、動画像データ伸張コントローラ327による伸張動作を制御する機能を有する。この動画像データ伸張コントローラ327は、上述のように図柄CPU311によって書き込まれるレジスタ327a及び、図柄CPU311によるレジスタ327aへの書き込みに基づいて、圧縮動画像データを予め設定された動画像伸張方式に従って伸張して動画像データとする動画像伸張部とを含んだ構成となっている。
動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、圧縮動画像データについて非可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。またこの動画像データ伸張コントローラ327は、伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
本実施形態によれば、スプライトデータ伸張コントローラ328,329とは別にさらに動画像データ伸張コントローラ327が存在している場合においても、図柄CPU311による動画像レジスタ327aへの書き込みという簡単な制御によって、圧縮スプライトデータの伸張とともに、圧縮動画像データを伸張して動画像データを生成することができるため、全体として伸張制御が簡素化される。
(4−4.圧縮データメモリコントローラ)
圧縮データメモリコントローラ312は、レジスタ312aに書き込まれた設定値に従って、キャラクタROM340から、表示すべき変動表示パターンに含まれる各シーンを表示するための圧縮動画像データ及び圧縮スプライトデータを読み出す制御を行う。
ここで図柄CPU311は、CPUインターフェース316を経由して、圧縮データメモリコントローラ312のレジスタ312aに、接続されるキャラクタROM340の種類に応じたアクセスタイミングを設定する。
具体的には、図柄CPU311が制御ROM325の展開テーブルの内容に従って、動画像データ伸張コントローラ327の動画像レジスタ327a、スプライトデータ伸張コントローラ328のレジスタ328a及び、スプライトデータ伸張コントローラ329の329aにそれぞれ書き込んだ設定値に従って、キャラクタROM340の記憶領域の転送元アドレスを指定すると、圧縮データメモリコントローラ312は、この指定された転送元アドレスに該当するキャラクタROM340の記憶領域から圧縮スプライトデータ及び圧縮動画像データを、それぞれ書き込まれた設定値に基づくタイミングで読み出して、スプライトデータ伸張コントローラ328,329及び動画像データ伸張コントローラ327へ引き渡す。
(4−5.展開データメモリコントローラ)
展開データメモリコントローラ315は、図柄CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAM321及び第2キャラクタRAM322における書込状態(「展開状態」とも呼称する)と読出状態との切り替え条件が指定される。本実施形態では、ブランク信号の立ち上がりエッジに同期して第1キャラクタRAM321と第2キャラクタRAM322とを切り替えている。これら両キャラクタRAMは、Vブランク信号を契機に、一方のキャラクタRAM321が書込状態になり、他方のキャラクタRAM322が読出状態になる。そして一方のキャラクタRAM321への展開中に、VDP330は、他方のキャラクタRAM322に書込済みのスプライトデータを読み出すことができる。
そして、この展開データメモリコントローラ315は、図柄CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317を制御する。この第1キャラクタRAMコントローラ314は、第1キャラクタRAM321へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。一方、第2キャラクタRAMコントローラ317は、第2キャラクタRAM322へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。本実施形態では、シーンの素材としてスプライト及び動画像を例示しているが、以下の説明においては、シーンの素材として主にスプライトデータを例示する。
(4−6.リフレッシュに関する構成)
(4−6−1.キャラクタRAM)
ここで、本実施形態では、第1キャラクタRAM321及び第2キャラクタRAM322として、256MbitのSDRAM(Synchronous Dynamic Random Access Memory)を片側2個(512Mbit)採用している。SDRAMである第1キャラクタRAM321及び第2キャラクタRAM322は、各々第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317(メモリリフレッシュ部)から、予め定められたコマンドを受け取ったことを契機として、自ら記憶領域に対してリフレッシュ動作を実行する自己リフレッシュ回路(図示せず)を有する(オートリフレッシュ機能)。このようなコマンドとしては、オートリフレッシュコマンドがある。
オートリフレッシュ機能は、このオートリフレッシュコマンドを1回受け取るたびに、自己リフレッシュ回路が、内蔵しているリフレッシュアドレスカウンタをインクリメントし、インクリメント後の次のアドレスに該当する記憶領域に対してリフレッシュ動作を実行するものである。
(4−6−2.リフレッシュ監視部)
また、展開データメモリコントローラ315(リフレッシュ監視部)には、キャラクタRAM321,322に対してリフレッシュ動作が実行されるべきか否かを判断する機能(リフレッシュ監視機能)が設定される。この展開データメモリコントローラ315のリフレッシュ監視機能は、第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317による各オートリフレッシュコマンドの出力頻度(一定時間内における出力回数)を監視している。
展開データメモリコントローラ315においては、このリフレッシュ監視機能が、初期設定時に併せて図柄CPU311の指示に基づいて起動されるようになっている。つまり、この展開データメモリコントローラ315のリフレッシュ監視機能は、電源投入時に起動し、その後、リフレッシュ動作の監視状態が継続するようになっている。
この展開データメモリコントローラ315は、リフレッシュ監視機能による監視結果に応じて、キャラクタRAM321,322に対してリフレッシュ動作が必要であると判断した場合、キャラクタRAMコントローラ314,317に各々キャラクタRAM321,322に対してオートリフレッシュコマンドを出力させる機能を有する。また、キャラクタRAM321,322へのスプライトデータの展開中であるときには、各伸張コントローラ327,328,329への伸張の中断を働きかけ、展開動作を一時的に停止する。
(4−6−3.監視パラメータの設定)
展開データメモリコントローラ315のレジスタ315aは、図6に示すようなレジスタ名(REFOFT,REFNOF,REFNCH)を有している。これらのレジスタ名には、表示制御プロセッサとしての図柄CPU311によって所望の設定値が書き込まれるようになっている。またこれらのレジスタ名には、メモリインターフェース制御回路324に接続されているキャラクタRAMの仕様に基づく値が設定される。レジスタREFOFTは、リフレッシュの実行期間を設定するためのレジスタである。一方、レジスタ名REFNOFは、リフレッシュ実行期間内に実行しなければならないリフレッシュ回数を設定するためのレジスタである。また、レジスタ名REFNCHは、リフレッシュキャラクタを使用する場合のリフレッシュ回数を設定するためのレジスタである。
なお、図6における読み出し書き換え許可における「R」とは、図柄CPU311が書き換えることができず読み出しのみをすることができることを意味している。また「W」とは、その図柄CPU311が書き換えることができることを意味している。また「R/W」とは、その図柄CPU311が設定値を読み出すことができるとともに書き換えもできることを意味している。
メモリインターフェース制御回路324は、リフレッシュ回数及びリフレッシュ監視カウンタ(リフレッシュを実行している時間に相当)を管理している。上記したレジスタ名REFOFTで設定した監視時間内にレジスタ名REFNOFで設定した回数分だけ、リフレッシュ部315bがリフレッシュ動作を実行した否かを判断する。本実施形態においては、VDP330が、メモリインターフェース制御回路324に対してリフレッシュキャラクタデータを要求し、その結果、例えば16msごとに1024回にわたりオートリフレッシュコマンドを出力するリフレッシュ動作を4回繰り返すように指示するものと例示している。
本実施形態では、リフレッシュ監視機能及びリフレッシュキャラクタデータを利用して、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値に基づき、例えば64ms間にわたり4096回リフレッシュ動作を実行するものとする。つまり、キャラクタデータを利用したキャラクタRAM321,322に対するリフレッシュ動作が十分に実行されなかった場合、レジスタ名REFOFT及びレジスタ名RENOFに設定した値に基づいて、リフレッシュ監視機能がキャラクタRAM321,322に対してオートリフレッシュコマンドを出力するようになっている。
つまり本実施形態では、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値などのリフレッシュ条件が設定されるリフレッシュ条件設定部が用意されており、展開データメモリコントローラ315が、リフレッシュ条件設定部に設定された設定値(リフレッシュ条件)を満たしているか否かを監視している。この展開データメモリコントローラ315は、このリフレッシュ条件を満たさないことを検出した場合、このリフレッシュ条件を満たすように、キャラクタRAM321,322に対してリフレッシュ動作を開始させる指示(オートリフレッシュコマンド)を、キャラクタRAMコントローラ314,317が出力すべく制御するようになっている。
上述のように、展開データメモリコントローラ315(リフレッシュデータ提供部)は、VDP330がリフレッシュキャラクタデータを要求すると、キャラクタRAMコントローラ314,317にオートリフレッシュコマンドを出力させ、キャラクタRAM321,322にリフレッシュ動作を実行させるとともに、予め用意したスプライトデータとしてのリフレッシュキャラクタデータをVDP330に提供する機能を有する。
ここで、このスプライトデータは、例えば64ドット×64ドットの表示範囲に8ビット(256色)でスプライトを表示させるための画像データである。一方、このリフレッシュキャラクタデータは、例えば64ドット×64ドットの表示範囲に8ビット(256色)でリフレッシュキャラクタを表示させるための画像データである。つまり、本実施形態においては、リフレッシュキャラクタデータとスプライトデータとがその表示内容は異なるもののデータ構造が同様であることから、1つのスプライトの表示範囲が1つのリフレッシュキャラクタの表示範囲と同一となっている。そして、この展開データメモリコントローラ315は、自らとVDP330とを接続するバス線、例えば64ビット幅のバス線を介して、VDP330に対してスプライトデータを提供する。
そして、キャラクタRAMコントローラ314,317は、図柄CPU311の指示に従って、VDP330が展開データメモリコントローラ315からリフレッシュキャラクタデータを読み出したことを契機として、各々キャラクタRAM321,322に対して同等にリフレッシュ動作を実行するようになっている。
図5は、キャラクタRAM321,322のいずれかが読出状態にある側のメモリのメモリマップを示す図である。本実施形態では、展開領域として1Gbitまで対応可能である。
VDP330がリフレッシュキャラクタデータを要求した場合、例えばキャラクタRAM321,322におけるリフレッシュキャラクタエリアを指定するアドレス(例えば「0C00 0000」)を指定する。この「0C00 0000」というアドレスは、図5に示すようにキャラクタRAM321,322におけるリフレッシュキャラクタエリアの先頭アドレスを表している。
ここで本実施形態では、このリフレッシュキャラクタエリアには、実際にリフレッシュキャラクタデータが格納されておらず(実空間として1Gbit「0000 0000」〜「0800 0000」)、VDP330が、このキャラクタRAMコントローラ314,317によってリフレッシュ動作を実行すべき契機を与えるものである。図柄CPU311は、このリフレッシュキャラクタエリアからリフレッシュキャラクタデータを読み出すべき旨の指示をVDP330に対して行うようになっている。
(4−7.キャラクタRAMの切り替え構成)
第1キャラクタRAM312及び第2キャラクタRAM322は、それぞれ展開データメモリコントローラ315の制御によって、スプライトデータを一時的に記憶する書込状態(展開状態)と、記憶済みのスプライトデータを読み出す読出状態とが、互いに逆になるように交互に切り替わる構成となっている。
より具体的には、この展開データメモリコントローラ315は、第1キャラクタRAM321へ展開している期間(以下「第1展開期間」と呼称する)においては、第2キャラクタRAM322から読み出しを実行するよう制御する。一方、この展開データメモリコントローラ315は、第2キャラクタRAM322へ展開している期間(以下「第2展開期間」と呼称する)においては、第1キャラクタRAM321から読み出しを実行するよう制御する。本実施形態では、この展開データメモリコントローラ315は、VDP330が出力する外部信号である垂直同期信号(いわゆるVブランク信号)を契機に、これら第1展開期間と第2展開期間とが繰り返し交互に連続するように、第1キャラクタRAM321及び第2キャラクタRAM322の切り替え動作を制御している。
(4−8.両キャラクタRAMの記憶領域の管理)
ここで本実施形態では、これら第1キャラクタRAM321及び第2キャラクタRAM322の記憶領域が、それぞれ同一のアドレスによって管理されている。つまり、これら第1キャラクタRAM321の記憶領域と第2キャラクタRAM322の記憶領域とは、互いに記憶容量が等しく、各記憶領域が同一のアドレスとしてデコードされる。
そして、これら第1キャラクタRAM321及び第2キャラクタRAM322には、同一のアドレスで管理された記憶領域に対して、同一のスプライトデータが交互に展開される。このようにすると、第1キャラクタRAM321及び第2キャラクタRAM322が切り替わったとしても切り替わる前の同一アドレスに基づいてメモリ空間をアクセスした場合、読み出されるスプライトデータを同一のものとすることができる。
(4−9.複数の共通エリア)
ここで、本実施形態においては、第1キャラクタRAM321及び第2キャラクタRAM322には、それぞれ、組み合わせ映像群の一例としての変動表示パターンに使用するシーン(映像)の組み合わせの表示に必要なスプライトデータを一時的に記憶可能な複数の共通エリア(複数の共通領域)が区画形成されている。
これら複数の共通エリアは、それぞれ制御ROM325に記憶されている展開テーブルの内容に基づいて、図柄CPU311が区画する領域である。これら複数の共通エリアからは、展開データメモリコントローラ315の制御によって、それぞれシーンの組み合わせに各々必要なスプライトデータが独立して読み出されるようになっている。
(4−10.スタティックロード)
ここである変動表示パターンを例示すると、データ展開プロセッサとしての図柄CPU311は、サブ制御基板35から演出コマンドを受信すると、対応するスケジューラデータを読み出し、VDP330に出力する。このVDP330は、受け取ったスケジューラデータに従って、1つの変動表示を装飾図柄表示装置16に映像として表示する。本実施形態では、スケジューラデータの他にも展開情報を制御ROM325に記憶させている。この展開情報は、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを各々予め定められた複数の共通エリアのいずれかに一時的に記憶させるためのものである。展開テーブルは、これら展開情報及びスケジューラデータを含んでいる。
このように本実施形態では、この変動表示パターンに含まれるシーンの組み合わせに係るシーン表示に必要なスプライトデータが、それぞれ展開テーブルの内容に基づいて、予め決められた複数の共通エリアのいずれかに別々に展開されるようになっている。つまり本実施形態では、上記展開テーブルに従って、これらシーン表示に必要な各スプライトデータは、複数の共通エリアにおける展開先が予め決められており、これら複数の共通エリアのうち異なる共通エリアに展開されるようになっている。なお本実施形態では、このようにスプライトデータを、複数の共通エリアのいずれかに固定的に展開することを「スタティックロード」と呼称する。つまり、スタティックロードは、複数の共通エリアのうち予め定められた共通エリアにスプライトデータを一時的に記憶させることを表している。
ここで1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開しても良いが、本実施形態では、1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開せず、主として1つのシーン表示に必要なスプライトデータを展開する構成となっている。ここで、複数の共通エリアに時期を同じくして各々展開されたシーン表示に必要なスプライトデータは、1つの変動表示パターンを表示するために用いられるデータである。
また本実施形態では、1つの変動表示パターンに含まれるシーンのうち表示順序が連続するシーンの組み合わせに係るシーン表示に必要なスプライトデータを、それら複数の共通エリアのうち予め定められた異なる共通エリアに記憶させている。
(4−11.常駐エリア)
ここで、メモリインターフェース制御回路324は、キャラクタRAM321,322からシーン表示に必要なスプライトデータを読み出すと、それぞれこれらキャラクタRAM321,322から読み出したシーン表示に必要なスプライトデータを上書きしている。しかしながら本実施形態では、複数の変動表示パターンを表示するにあたり、各シーンを表示するのに共通して多用されるシーン表示に必要なスプライトデータについては、キャラクタRAM321,322の記憶領域の一部に常駐させるものとする。本実施形態では、図柄CPU311が、例えば共通して多用されるシーン表示に必要なスプライトデータを、キャラクタRAM321,322における複数の共通エリアの一部として常駐エリア(常駐領域)を区画形成して展開させるものとする。
このようにキャラクタRAM321,322に常駐エリアを設けてシーン表示に必要なスプライトデータを常時展開させておくと、頻繁にキャラクタROM340から読み出さなくても済む。なお、この常駐エリアに展開するシーン表示に必要なスプライトデータは、例えば図柄の変動表示中に常に表示される図柄の表示に用いるスプライトデータが挙げられる。なお、展開する時期としては、電源投入直後、すぐに展開するようにしておけば良い。
(4−12.各共通エリアのデータサイズ)
ここで、これら複数の共通エリアのうち各共通エリアには、表示態様の異なる複数の変動表示パターンのうちのある変動表示パターンを表示する場合と、それとは別の変動表示パターンを表示する場合とで、それぞれ互いに異なる複数のシーン表示に必要なスプライトデータがそれぞれ記憶される。
そこで本実施形態では、データ展開プロセッサとしての図柄CPU311は、CPUインターフェース316を経由して展開データメモリコントローラ315を制御することで、複数の共通エリアのうちの各共通エリアに記憶されうる複数のシーン表示に必要なスプライトデータのうち、データサイズが最大であるシーン表示に必要なスプライトデータのデータサイズを基準として、予め複数の共通エリアをそれぞれ区画形成しておく。ここでいうデータサイズは、例えば1つのシーンを表示するのに必要な素材としてのスプライトを表示するのに必要なスプライトデータのデータサイズを表している。
まず、複数の共通エリアは、それぞれ格納されうるスプライトデータが予め定められているため、その共通エリアに展開されることのないスプライトデータのデータサイズを考慮して区画形成されていなくてもよい。このため、これら複数の共通エリアは、大きなデータサイズのスプライトデータが将来展開されるかもしれないことを想定してデータサイズを余分に形成しておく必要がなく、記憶されるスプライトデータのうちの最もデータサイズの大きなスプライトデータを基準に区画形成しておけばよい。従って本実施形態によれば、キャラクタRAM321,322に区画形成すべき複数の共通エリアのうちの各共通エリアのデータサイズが、各共通エリアに展開され得るスプライトデータに応じて最小限度に抑制されるため、キャラクタRAM321,322を効率よく使用することができる。
(5.VDPの構成例)
図7は、図3に示す映像表示プロセッサ(VDP)330の電気的な構成例を示すブロック図である。
VDP330は、CPUインターフェース383(図において「CPU I/F」と略す)、ROMインターフェース333(図において「ROM I/F」と略す)、バス382、VDPコントローラ331、ラインバッファ336、カラーパレットレジスタ332c、スプライト属性レジスタ332s、バックグラウンド(図において「BG」と略す)属性レジスタ332b、内蔵RAM335及びDMAコントローラ384を含んだ構成となっている。なお、内蔵RAM335は、VDP330の外部に設けられていても良い。
VDP330(映像表示プロセッサ)は、図柄CPU311の制御によって、装飾図柄表示装置16に映像を表示させるための描画データを生成する機能を有する。上記制御ROM325においては、上記展開テーブルが管理されている。この展開テーブルは、前記したようにキャラクタRAM321,322においてシーン表示に必要なスプライトデータが複数の共通エリアのうちどの共通エリアに展開されているべきかに関する展開情報及び、この展開情報の他、スケジューラデータ(表示情報)を含んでいる。ここでいうスケジューラデータは、VDP330が表示すべきスプライトの先頭アドレス、表示すべき枚数(縦及び横方向の枚数)、スプライトの識別子(キャラクタ番号など)及び、重ね合わせた場合の優先順位などの後述する描画データを表示順序に記憶した表示情報を含んでいる。なお、制御ROM325においては、このスケジューラデータに展開情報が含まれて記憶されている形態や、スケジューラデータと展開情報が並列して存在している形態であっても良い。
そしてさらに、図柄CPU311は、制御ROM325の展開テーブルを参照し、キャラクタRAM321,322における複数の共通エリアのうちどの共通エリアに、この変動表示パターンの表示動作に必要なシーンの組み合わせに係るシーン表示に必要なスプライトデータが記憶されているのかに関する展開情報を取得する。つまりこの図柄CPU311は、この展開情報に基づいて、必要なシーン表示に必要なスプライトデータがそれぞれ展開されている複数の共通エリアのうちある共通エリアを特定する。
次に図柄CPU311は、さらに展開テーブルの内容を参照し、各シーンの種類ごとに、そのシーンの表示に用いるスプライトを把握するとともに、それぞれ対応した複数の共通エリアのうちある共通エリア群を特定する。ここでいう特定とは、キャラクタRAM321,322における各シーン表示に必要なスプライトデータが展開されている特定の共通エリア付されたアドレスを把握することなどを意味している。
図柄CPU311は、変動表示パターンを表示するのに必要なシーン表示に必要なスプライトデータに関するアドレスを把握すると、まず図柄CPU311の制御によって表示すべきスプライトが配置されているアドレスなどの描画パラメータを指定する。このVDPコントローラ331は、図柄CPU311の制御によってメモリインターフェース制御回路324を経由してスプライトデータを取得する。
図7に示すカラーパレットレジスタ332c、スプライト属性レジスタ332s及びBG属性レジスタ332bは、それぞれVDPコントローラ331による画像表示動作の制御に際し、このVDPコントローラ331が参照するレジスタである。つまりVDPコントローラ331は、図柄CPU311の指示に基づいて、これらカラーパレットレジスタ332c、スプライト属性レジスタ332s及びBG属性レジスタ332bを参照しつつ、ラインバッファ336を経由して、装飾図柄表示装置16の演出表示動作を制御している。
ここで上記図柄CPU311は、上述のように生成した描画パラメータに含まれる、カラーパレットデータをカラーパレットレジスタ332cに書き込むとともに、スプライト属性データをスプライト属性レジスタ332sに書き込み、さらにバックグラウンド属性データをバックグラウンド属性レジスタ332bに書き込む。
カラーパレットレジスタ332cは、例えば0〜255番で表される各パレット番号に対応して256パレット分のカラーパレットデータを予め記憶するためのレジスタである。1つのパレットは、例えば16色で構成されている。つまり、このカラーパレットレジスタ332cは、スプライト設定時にパレット番号(例えば0〜255番)の指定があると、この指定されたパレット番号に対応したカラーパレットデータを提供する。
スプライト属性レジスタ332sは、スプライトデータなどのスプライト属性に関するスプライト属性データを記憶している。バックグラウンド(BG)属性レジスタ332bは、バックグラウンド画像の属性に関するバックグラウンド属性データを記憶している。
内蔵RAM335は、書き換え可能な揮発性のメモリであり、例えばSDRAM(Synchronous Dynamic Random Access Memory)である。ここで制御ROM325から内蔵RAM335へのデータの書き込みは、例えば図柄CPU311の制御によって実行されているが、その代わりに、DMAコントローラ384の制御によって実行されるようにしてもよい。
ラインバッファ336は、VDPコントローラ331によって、このよう生成された描画データを、表示すべき画像の走査線(ライン)単位で蓄積する機能を有し、この蓄積した走査線単位の描画データを出力する機能を有する。なお、このVDPコントローラ331は、描画データの出力の際、この描画データに同期させた同期信号SYNCも出力している。
(6.先読み制御)
また装飾図柄制御基板30に搭載された制御ROM325は、シーンの組み合わせのうちあるシーンが表示されている間に、その次に表示する次のシーンに含めるべきスプライトに係るスプライトデータについての情報である展開情報を記憶している。図柄CPU311は、変動表示パターンの表示動作の制御にあたり、制御ROM325の展開情報に基づいて、変動表示パターンのうちのあるシーンが表示されている間に、その次に表示されるべき次のシーンに含めるスプライトに係るスプライトデータを、キャラクタROM340から先読みしてキャラクタRAM321,322に予め用意させている。
また本実施形態では、キャラクタRAM321,322が、複数のフレーム画像の各表示切り替え期間(いわゆるVブランク)ごとに、スプライトデータの書込状態(記憶状態)とスプライトデータの読み出し状態とが、互いに逆になるように交互に切り替えられている。
図8は、先読み制御のイメージを表す図である。なお、この先読み制御では、例えば第1シーンの後に第2シーンが表示されるケースを想定している。
まず、メモリインターフェース制御回路324は、図柄CPU311の制御によって、第1キャラクタRAM321及び第2キャラクタRAM322のうちの一方からスプライトデータを読み出して、これらシーンの組み合わせのうちあるシーンが表示されている間に、その次のシーンに含まれる素材としてのスプライトに係るスプライトデータを、キャラクタROM340から先読みして、キャラクタRAM321,322のうちの他方(読み出し中ではない方)に書き込んでいる。本実施形態では、キャラクタRAM321,322が読み出し中でないときに順次書き込んでいき、第2シーンに映る前までに書き込みを完了させる。なお、このようにキャラクタRAM321,322に先読みして予め用意しておくのは、スプライトの表示に使用するスプライトデータのみならず、これに代えて或いは併せて動画像の表示に使用する動画像データであっても良い。本実施形態では、例えばシーンを表示するのに必要なスプライトデータを先読みするものとする。
具体的には、本実施形態においては、メモリインターフェース制御回路324は、図柄CPU311の指示に従って、例えば図8に示すように第1シーンが実際に表示されている間に、次に表示すべき第2シーンを表示するのに必要なスプライトデータをキャラクタROM340から先読みして第1キャラクタRAM321及び第2キャラクタRAM322などに事前に展開している。なお、本実施形態では、このように先に読み出して展開することを「先読み展開」と呼称する(図8においても同様に「先読み展開」と呼称する)。
(7.事前処理及びパチンコ機1による演出表示動作)
本実施形態におけるパチンコ機1は以上のような構成であり、次に図1〜図7を参照しつつパチンコ機1における演出表示動作に関連する展開などの動作例について説明する。なお、以下の説明においては、次の順序で説明を進める。
1.シーンの洗い出し処理及び共通エリアなどの区画決め処理
2.共通エリアなどの区画形成処理
3.展開処理
4.変動表示パターンの表示処理
なお、以下の説明では、特に動画像データへの言及の必要がない限り、変動表示パターンに含まれるシーン群のうちの1つのシーンを表示するのに必要なスプライトデータを、上記「シーン表示に必要な素材画像データ」と呼称している。
(8.シーンの洗い出し処理)
このシーンの洗い出し処理では、簡単にいうと、変動表示パターンを構成するシーン群の表示順序などに関するつながり(連続性)を見出す作業を実施する。なお、本実施形態においては、このように各シーン同士のつながりを見出すことを「洗い出し」と呼称している。このような洗い出し処理は、例えばコンピュータなどの電子機器において動作するプログラムなどで構成されたソフトウェアツールによって事前に実行されるものである。
このシーンの洗い出し処理は、上述のように1つの変動表示パターンに含まれるシーン群をそれぞれ表示するためのシーン表示に必要な素材画像データ群が、キャラクタRAM321,322における複数の共通エリアうち、同一の共通エリアに重複して展開されないようにするために、いわば重複展開防止のため、洗い出しするものである。
本実施形態では、まず、各シーンごとに順々と、共通して使用されるシーン表示に必要な素材画像データ(以下「共通データ」とも呼称する)を洗い出す。ここでいう「シーン表示に必要な素材画像データ」は、各シーンの表示に必要なスプライトの表示に使用するスプライトデータを表している。なお、本実施形態では、全てのシーンを、まず、所定のリスト(例えばリストLSC1やLSC2)に一括して分類する。そして、この洗い出し処理によって分類された共通の素材画像データ(以下単に共通データ)は、共通化される前の元のシーンSC1やシーンSC2などに付けられた符号(ここでいう「SC1」や「SC2」など)を名称として含む、新データリスト(例えばLSC1_LSC2など)として生成される。
このデータリストとは、洗い出しによって分けたシーン表示に必要な素材画像データを分類したリストを表している。本実施形態では、この生成された共通データの集合を「共通リスト」と呼称する。なお、洗い出された結果、あるシーン表示に必要な素材画像データが共通データと判断されると、その共通データとされたシーン表示に必要な素材画像データは、元のデータリストから削除される。
例えばリストLSC1:ABCDEF
リストLSC2:A C E G I K
であるとき、まず、これら各リストLSC1とリストLSC2とにおいて共通(AとCとE)を抜き出す。
そして、上記リストLSC1とリストLSC2との共通データとして分けたリストLSC1_LSC2を作成する。この分けたリストLSC1_LSC2の内容は、次のようになる。
リストLSC1_LSC2:A C E
上記リストLSC1及びリストLSC2から、それぞれリストLSC1_LSC2の内容(共通データとしてのシーン表示に必要な素材画像データ)を削除すると、リストLSC1及びリストLSC2は、次のようになる。
リストLSC1: B D F
リストLSC2: G I K
次に新規で生成されたリストも含め、再帰的にさらに全データリストの共通データを洗い出していく。この洗い出し処理は、全てのシーン表示に必要な素材画像データにおいて、共通データが存在しない状態になるまで、リスト(データリスト)の分解を進める。次に各リストのデータ容量の概算値を算出する。
上記手順で分解されたリストに付された符号「LSC1」などは、それぞれ各シーンSC1などの名称(「リスト名称」とも呼称する)を含んでいる。あるシーン、例えばシーンSC1を使用して表示(以下「再生」とも呼称する)したい場合、リスト名称に「SC1」を含む全てのシーン表示に必要な素材画像データがキャラクタRAM321,322に展開されていれば、VDP330は、シーンSC1を再生可能ということになる。
ここで具体的に例を挙げると、例えばシーンSC1の再生には、リスト名称に「SC1」を含むものが全て必要である。ここで、これら共通リストの中でも情報として再生時間を含むリストを「代表リスト」と呼称する。
代表リスト LSC1
共通リスト1 LSC1_LSC2
共通リスト2 LSC1_LSC3_LSC5_LSC6_LSC7
共通リスト3 LSC1_LSC9_ROUND
・
・
共通リストn LSC1_LSC2_LSC3_LSC4_LSC5_LSC6_LSC7_LSC8_LSC9_ROUND_COMMON
このような手順で作成された共通リスト中、リスト名称(LSC1など)を多く含む共通リスト例では、より多くの種類のシーンにおいて使用されることを表している。従って、このリスト名称を多く含む共通リストnなどに含まれるシーン表示に必要なスプライトデータは、必要に応じて逐一キャラクタRAM321,322に展開させるよりも、キャラクタRAM321,322の常駐エリアに常駐させた方が良い。あるシーンの表示に必要なスプライトがあった場合、キャラクタRAM321,322に常駐させておくことで、この常駐エリアから即座に読み出すことができることから読み出し効率が良い。本実施形態では、このような読み出し効率を考慮して、こうして生成された共通リスト各々に含まれるシーンに対応するシーン表示に必要な素材画像データについて、キャラクタRAM321,322に常駐とするか或いは非常駐とするかを決定する。ここで非常駐とは、必要に応じて展開することをいう。
(8−1.常駐させるべきシーン表示に必要な素材画像データ)
ここで常駐させるべきシーン表示に必要なスプライトデータ(素材画像データ)としては、例えばいつ再生されるかわからないシーン表示に必要なスプライトデータを挙げることができる。これは、装飾図柄制御基板30が、サブ制御基板35から変動表示コマンドを受信後、即刻再生が必要なシーンに係るシーン表示に必要なスプライトデータなどついては、キャラクタRAM321,322からVDP330への転送時間を待つことができないため、キャラクタRAM321,322に常駐させることが必要になる。
このような常駐させるべきシーン表示に必要なスプライトデータとしては、例えば図柄の変動開始部分に係るシーンSC1、大当りラウンド部分に係る表示ROUND及び、客待ち期間におけるデモンストレーション表示開始部分(例えば電源投入後、最初の演出遊技がプレー終了後に切り替わる演出)の表示に使用するデータを挙げることができる。ここで、シーンSC1としては、始動入賞を契機に開始される演出のスタート、例えば高速変動表示を挙げることができる。また大当りラウンド部分に係る表示ROUNDは、大当り条件の成立によって切り替わる演出表示を表している。
こういったシーンに関しては、再生時間が長いものを用意すると、これに応じて必要なスプライトデータが増加し、必要な常駐容量が増大してしまうおそれがある。このように再生時間が長すぎる各シーンに関しては、先頭数秒を切り出して別途管理する構成とした方がよい。この先頭数秒以降のシーンに用いるシーン表示に必要なスプライトデータについては、先頭数秒のシーンを再生中に展開するようにする。
このようにすると、本実施形態によれば、リスト名称により多くのシーン名称を含むリストをキャラクタRAM321,322に常駐させる共通データとすることで、各シーンごとのデータ転送量を減らすことができる。
(8−2.共通エリアなどの区画処理)
図9(A)〜図9(I)は、各変動表示パターンを構成するシーン群の一例を示すイメージ図であり、図9(J)は、ラウンド表示ROUNDを表している。なお、各シーンの矢印の長さは、そのシーンの表示時間の長短を表している。
本実施形態では、各変動表示パターンがシーンSC1〜SC9のいずれかを組み合わせて構成されているものと例示し、各変動表示パターンにおいては、最初にシーンSC1が共通して表示されるものとする。図9(A)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC3が組み合わされており、図9(B)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC4が組み合わされている。
図9(C)に示す変動表示パターンは、シーンSC1、シーンSC2、シーンSC4及びシーンSC5が組み合わされており、図9(D)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC5が組み合わされている。図9(E)に示す変動表示パターンは、シーンSC1及びシーンSC3が組み合わされており、図9(F)に示す変動表示パターンは、シーンSC1、シーンSC6及びシーンSC5が組み合わされている。
図9(G)に示す変動表示パターンは、シーンSC1、シーンSC7及びシーンSC8が組み合わされており、図9(H)に示す変動表示パターンは、シーンSC1、シーンSC7及びシーンSC9組み合わされており、図9(I)に示す変動表示パターンは、シーンSC1及びシーンSC8が組み合わされている。なお、図9(J)に示すラウンド表示パターンROUNDは、上記特別遊技状態におけるラウンド表示に係る演出表示を表している。
図9(A)〜図9(I)に示すように各変動表示パターンは、それぞれ表示時間が同一或いは異なるシーンSC1〜SC9のいずれかを組み合わせて構成されている。図9に示すように各変動表示パターンは、組み合わせたシーンSC1などの表示時間に応じて、それぞれ全体として表示時間が異なっている。本実施形態では、図9に示す各変動表示パターンにおけるシーンSC1などの組み合わせを「構成リスト」と呼称する。
(8−3.構成リストを解析後、ルールを生成)
図9(A)〜図9(J)を参照するとわかるように、先頭にシーンSC1が登場している。このように全ての変動表示パターンにおいて使用されるシーンSC1は、上記共通データとして、キャラクタRAM321,322の記憶領域において常駐させるものとする。
次にソフトウェアにより作成したツールによって、この構成リストを、図9(A)〜図9(J)の順に、しかも左から右に走査して、同一の共通エリアに重複して展開されてはならないシーンの組み合わせを検証する。なお、本実施形態では、ある1つの共通エリアにシーン表示に必要なスプライトデータ(或いはラウンド表示に係るデータ)が重複して展開されてしまうことを「シーン(又はラウンド表示)が被る」と表現する。
図9に示す例からは、以下のようなルールR1〜R8が見いだされる。
ルールR1.シーンSC1及びラウンド表示ROUNDは被ってはならず、これらシーンSC1及びラウンド表示ROUNDに係るデータは、それぞれキャラクタRAM321,322に常駐させる。
ルールR2.シーンSC2及びシーンSC3は被ってはならない。
ルールR3.シーンSC2及びシーンSC4は被ってはならない。
ルールR4.シーンSC4及びシーンSC5は被ってはならない。
ルールR5.シーンSC2及びシーンSC5は被ってはならない。
ルールR6.シーンSC6及びシーンSC5は被ってはならない。
ルールR7.シーンSC7及びシーンSC8は被ってはならない。
ルールR8.シーンSC7及びシーンSC9は被ってはならない。
(8−4.構成リストからルールを生成)
なお、ここでいう「ルール」とは、キャラクタRAM321,322を使用する際のシーンの配置に関する規則を表している。
ここで、まず、常駐エリアに含むべき共通リストをグループ化する。次にルールR1により、共通リスト名(各シーンに付された符号)に「SC1」或いは「ROUND」のいずれかを含むシーンなどは全て、上記常駐エリアに展開するようにする。
次に共通エリアの設定を行う。常駐されない共通リストを順にルールでテストし、仮想的にキャラクタRAM321,322の記憶領域に配置することを想定してみる。
まずシーンSC2についてであるが、仮想配置したシーンがまだ存在しないため、無条件である共通エリア(「共通エリアA」とする)に配置する。
共通エリアA シーンSC2
次にシーンSC3についてであるが、ルールR2に従って、シーンSC1が含まれる共通エリアAには、シーンSC3を仮想配置することができない。従って、シーンSC3は、さらに次のように配置する。
共通エリアA シーンSC2
共通エリアB シーンSC3
次にシーンSC4についてであるが、ルールR3に従って、シーンSC2が含まれる共通エリアAには、シーンSC4を仮想配置することはできない。しかしシーンSC4は、上記ルールに従って共通エリアBには仮想配置することができるので、さらに次のように配置する。なお、「/」は同一の共通エリアに複数のシーンを格納した場合における各シーン同士の区切りを表している。
共通エリアA シーンSC2
共通エリアB シーンSC3/シーンSC4
次にシーンSC5についてであるが、ルールR4及びルールR5により、共通エリアA及び共通エリアBのいずれにも仮想配置することができないため、シーンSC5は、共通エリアCを新設し、この新設した共通エリアCに仮想配置する。
共通エリアA シーンSC2
共通エリアB シーンSC3/シーンSC4
共通エリアC シーンSC5
次にシーンSC6についてであるが、シーンSC6に関してはルールR6にのみ注意する。このシーンSC6は、共通エリアA又は共通エリアBならば配置することができる。本実施形態では、例えば共通エリアAにシーンSC6を仮想配置するものとする。
共通エリアA シーンSC2/シーンSC6
共通エリアB シーンSC3/シーンSC4
共通エリアC シーンSC5
次にシーンSC7についてであるが、シーンSC7に関しては上記ルールに照らし合わせても、どの共通エリアにも配置することができる。本実施形態では、例えば共通エリアAにシーンSC7を仮想配置するものとする。
共通エリアA シーンSC2/シーンSC6/シーンSC7
共通エリアB シーンSC3/シーンSC4
共通エリアC シーンSC5
次にシーンSC8についてであるが、シーンSC8に関しては、ルールR7により共通エリアA以外の共通エリアに仮想配置することができる。このため本実施形態では、例えば共通エリアBにシーンSC8を仮想配置するものとする。
共通エリアA シーンSC2/シーンSC6/シーンSC7
共通エリアB シーンSC3/シーンSC4/シーンSC8
共通エリアC シーンSC5
次にシーンSC9についてであるが、シーンSC9に関しては、ルールR8により共通エリアA以外の共通エリアに仮想配置することができる。このため本実施形態では、例えば共通エリアBにシーンSC8を仮想配置するものとする。
共通エリアA シーンSC2/シーンSC6/シーンSC7
共通エリアB シーンSC3/シーンSC4/シーンSC8/シーンSC9
共通エリアC シーンSC5
これらの手順後、生成された各共通エリアAなどを各々組み合わせについて、さらに共通エリアAB、共通エリアBC及び共通エリアABCを生成すると、次のように仮想配置することができる。
常駐エリア シーンSC1及びラウンド表示ROUNDを含むもの全て
共通エリアA シーンSC2,SC6,SC7のみを含むもの全て
共通エリアB シーンSC3,SC4,SC8,SC9のみを含むもの全て
共通エリアC シーンSC5のみを含むもの全て
共通エリアAB シーンSC2,SC6,SC7,SC3,SC4,SC8,SC9のみを含むもの全て
共通エリアBC シーンSC3,SC4,SC8,SC9,SC5のみを含むもの全て
共通エリアABC シーンSC2〜SC9のいずれかを含むもの全て
なお、この共通エリアABCは、例えば常駐エリアに含めるものとする。その結果、キャラクタRAM321,322における記憶領域は、図10の右側に示すように区画される。なお、これら常駐エリアや共有エリアAなど以外の記憶領域は、空き領域として空きエリアと呼称する。
(8−5.共通エリアの形成処理)
このようにすると、キャラクタRAM321,322における複数の共通エリア(複数の共通領域)の区画は、それぞれ図10の右側に示すメモリマップのようになる。このように共通エリアの区画処理が終了し、このような区画方法は、上記制御ROM325に、展開テーブルとして組み込まれる。本実施形態では、ある変動表示パターンを表示するにあたり、あるシーンの表示が開始される前に、そのシーンに必要な画像データを展開しておくための展開情報が含められることになる。
図柄CPU311は、図柄表示制御プログラムの動作によって、制御ROM325の展開情報を参照して、表示すべき変動表示パターンに応じて、シーンSC1及びラウンド表示ROUNDであればキャラクタRAM321,322の常駐エリア(共通エリアABC含む)に、シーンSC2,SC6,SC7であれば共通エリアAに、シーンSC3,SC4,SC8,SC9であれば共通エリアBに、シーンSC5であれば共通エリアCに展開し、これら各シーンSC1などをこれ以外の展開先に展開しない。
(9.演出表示処理)
上記キャラクタRAM321などの複数の共通エリアの形成は、以上のような展開テーブルの展開情報に従ってなされるが、次に、この図柄表制御プログラムの動作により演出表示処理が実行される様子について説明する。まず、リセットスタート処理について説明する。
(9−1.リセットスタート処理の一例)
次に主として電源投入後におけるリセットスタート処理における動作例について説明する。
まず装飾図柄制御基板30においては、図柄CPU311は、VDP330によって16msごとに出力されたいわゆるVブランク信号を受信すると、定常処理を実行する。この定常処理に含まれる代表的な処理としては、VDP330がメモリインターフェース制御回路324を経由してキャラクタRAM321,322から読み出したスプライトデータに基づくスプライトを装飾図柄表示装置16に表示させるための表示処理を例示することができる。
図11は、装飾図柄制御基板30におけるリセットスタート処理以降の基本的な処理手順の一例を示すフローチャートである。なお、図11に示すリセットスタート処理は、装飾図柄制御基板30がリセットされた或いは新規に電源投入された場合に、順次実行される処理例を表している。
まず最初にブート処理が実行される(ステップS10)。このブート処理では、リセットスタート後、ブート(起動)した図柄表示制御プログラムはバスやポートなど最低限度の初期化を行った後、許容空間KEの最上位アドレス(先頭アドレス)から記憶されているローダがまず最初に起動され、このローダが、制御ROM325に格納されている図柄表示制御プログラムに含まれるプログラムコードを内蔵メモリ311a上へ転送(ロード)する。このようにすると、内蔵メモリ311aは、制御ROM325に比べてバス幅も広く、読み出しに関する待ち時間(ウェイト)を低く抑制することができ、外付けにした場合の配線容量による遅れの問題を解決し、高速に処理が実行されるようになる。
(9−1−1.図柄表示制御プログラムの転送方法)
ここで、図柄表示制御プログラムの転送方法に関してさらに説明する。まず、この図柄表示制御プログラムに含まれる各プログラムコード(コード)は、制御ROM325において、図4に示すアドレスがx0100000〜x011FFFFで示される命令格納空間CKEに格納されている。
この制御ROM325の命令格納空間CKEに格納された図柄表示制御プログラムは、内蔵メモリ311aのメモリ空間におけるアドレスが、例えばx0000000〜x001FFFFで表される命令ロード先空間CLEにロードされるようになっている。図柄CPU311は、このように制御ROM325の命令格納空間CKEから内蔵メモリ311aに図柄表示制御プログラムの各プログラムコードを転送するにあたり、まず、チップセレクト信号線を経由して制御ROM325に対して第1のチップセレクト信号CS0を出力する。すると、この図柄CPU311は、この第1のチップセレクト信号CS0に応じて制御ROM325の実空間CS0Eを選択し、この実空間CS0Eにアクセスしようとする。
ところが図柄CPU311は、制御ROM325の実空間CS0Eにおける許容空間KEに直接アクセスすることができるものの、重複空間TEにアクセスすることができない。このため本実施形態においては、このような図柄CPU311が直接制御ROM325の重複空間TEにアクセスできない事情を考慮し、この図柄CPU311は、内蔵メモリ311aの実装予定空間JYEの代わりに、この実装予定空間JYEの内容がイメージ(イメージ空間)として映されている代替空間DEに、第2チップセレクト信号CS2を出力してアクセスするのである。
ここで、一見すると、図柄CPU311は、制御ROM325の重複空間TEにアクセスして利用することができないことから、制御ROM325の記憶容量を有効に活用することができていないようにも思えてしまう。しかしながら本実施形態では、図柄CPU311は、チップセレクト信号線を経由して制御ROM325に対して、第1のチップセレクト信号を出力することで許容空間KEに対してアクセスする一方、重複空間TEにアクセスしようとした際、第2のチップセレクト信号を出力することで制御ROM325の最下位アドレスの次アドレス以降を順次指定してアクセスする。
つまり、図柄CPU311は、制御ROM325の最下位アドレス(例えばx07FFFFF)の次アドレス(例えばx0800000)、つまりイメージ空間CS1Eを指定することによって代替空間DEにアクセスする。従って図柄CPU311は、重複空間TE及び許容空間KEの64Mbitを連続して利用する代わりに、許容空間KE及び代替空間DEの64Mbitを連続して正規のメモリ空間として利用するのである。
このようにすると、この図柄CPU311は、制御ROM325の重複空間TEに直接アクセスすることができない場合であっても、許容空間KEをアクセスするとともに、この許容空間KEにおける最下位アドレス(例えばx07FFFFF)の次アドレス(例えばx0800000)以降からアクセスすることができ、実質的に制御ROM325のすべてのメモリ空間と等しい容量(64Mbit)のメモリ空間にアクセスすることができるようになる。なお、図柄CPU311は、この64Mbitの制御ROM325における1Mbitの命令格納空間CKE及び1Mbitの命令ロード先空間CLEを除く、63Mbitを実質的に利用することができる。このため、もともと無駄にしていたメモリ空間にさらに多くスケジューラデータを格納しておくことができ、演出表示のバリエーションを増やすことができる。
(9−1−2.ハードウェアに関する初期化処理)
以下、この図柄表示制御プログラムは内蔵メモリ311a上で動作する。まず、装飾図柄制御基板30の図柄CPU311などのハードウェアに関して初期化が実行される。つまり図柄表示制御プログラムは、ブート処理中にバスやポートなど、最低限度の初期化を実行するとともに、その後、上記ブート処理で初期化していない他のハードウェアに関して初期化処理を実行する。より具体的には、このハードウェアに関する初期化処理では、まず、図柄CPU311の割込みなど各種設定処理が実行される(ステップS20)。
次に、このハードウェアに関する初期化処理では、VDP330の初期化処理が実行される(ステップSS30)。さらに、このハードウェアに関する初期化処理では、メモリインターフェース制御回路324の初期化処理が実行される(ステップS40)。
このメモリインターフェース制御回路324の初期化処理では、このメモリインターフェース制御回路324に含まれる展開データメモリコントローラ315の各種レジスタ315aの設定値を初期設定する。例えば、この展開データメモリコントローラ315のレジスタ315aは、レジスタ名REFOFT及びレジスタ名REFNOFを含んでいる。
これらレジスタは、キャラクタRAM321,322であるSDRAMのリフレッシュ動作にかかる設定情報をセットするものである。このレジスタ名REFOFTは、強制リフレッシュの監視時間(規定時間)を設定可能であり、このレジスタ名REFNOFは、強制リフレッシュによるリフレッシュ回数を設定可能である。また、この強制リフレッシュの監視時間は、強制リフレッシュの実行を開始してから完了するまでの時間を表している。本実施形態では、このレジスタ名REFOFTとして「64ms」が初期設定されるとともに、このレジスタ名REFNOFとして「4096回」が初期設定される。従って本実施形態では、強制リフレッシュとして64ms間に4096回リフレッシュ動作を実行するものとする。なお、本実施形態では、所定の監視機能が起動しており、この監視機能においては、これらの設定により、キャラクタRAM321,322のリフレッシュ動作が正常に実行されているか否かを監視している。
(9−1−3.ホット・コールド判定処理)
次にホット・コールド判定処理が実行される(ステップS50)。このホット・コールド判定処理においては、ホットスタートであるかコールドスタートであるかの判断が実行される。図柄表示制御プログラムは、リセット後、チェックサムにより管理されたバックアップメモリ領域をテストする。このテストの結果、信頼できるバックアップメモリ領域が存在した場合は、図柄表示制御プログラムがそのバックアップメモリの内容を用いて実行する(ホットスタート)。またバックアップ対象メモリ以外のワーク領域を全て「0」で埋め尽くす(以下「0クリアする」と呼称する)。ここで信頼できるメモリ領域が存在しなかった場合は、図柄表示制御プログラムは、内蔵メモリ311aの全ワーク領域およびスタック領域の0クリアを実行する(コールドスタート)。
(9−1−4.モジュール初期化処理など)
次にモジュール初期化処理では、装飾図柄制御基板30のCPUの制御によって動作する図柄表示制御プログラムに含まれる各機能モジュールの初期化が実行される(ステップS60)。具体的には、図柄表示制御プログラムは、所定の演出表示動作をさせるために定義した演出モジュールなどをソフトウェア上の処理で初期化する。なお、このモジュール初期化処理は、ホットスタートとコールドスタートとで区別して行われていても良い。そして、Vブランク信号を受信する間に非定常処理を実行する。ここで、非定常処理としては、この乱数更新によって更新された乱数値に応じてキャラクタ画像などの表示を演出上切り替えることを挙げることができる。
(9−1−5.定常処理)
次に図柄表示制御プログラムは、例えば16msごとに定常処理を実行する。この16msという周期は、VDP330が出力する外部信号である垂直同期信号(いわゆるVブランク信号)の出力周期である。つまり、この定常処理は、このVブランク信号の入力があると実行される処理である。この定常処理としては、例えば図柄CPU311が、常駐させるべきスプライトデータをキャラクタRAM321,322の常駐エリアに展開させるべく指示する展開指示処理や、例えば液晶素子を用いた装飾図柄表示装置16に出力する1フレーム分の描画データを生成する描画データ生成処理を含んでいる。
本実施形態では、上述したように1フレーム分の描画データが16msごとに装飾図柄表示装置16に出力されて、例えば装飾図柄の表示態様が予め設定された表示態様(例えば変動表示している図柄が停止した際に同一の図柄が揃っていること)となりそうであることを暗示する暗示演出動作などの変動表示パターンの表示(いわゆるリーチ演出に係るリーチ演出動作)を制御する。そして、この変動表示パターン(組み合わせ映像群)は、リーチ演出に係る表示であり、このリーチ演出表示は、フレームの集合であるいくつかのシーン(映像)の組み合わせの連続表示によって視覚的に構成される。
サブ制御基板35は、メイン制御基板3からの抽選結果及び演出コマンドに基づいて、16msごとの割込み処理に含まれるコマンド送信処理において装飾図柄制御基板30に対して演出表示コマンドを送信する。この装飾図柄制御基板30においては、受信した演出表示コマンドに応じた演出表示動作を制御するため、リーチ演出動作として、いくつかの変動表示パターンに含まれるシーンを表示するためのスプライトデータをそれぞれ圧縮した圧縮スプライトデータが、予めキャラクタROM340に用意されている。これらスプライトデータは、例えば数秒から数十秒程度にわたりシーンを表示するための素材画像データの一例である。
なお、本実施形態では、表示演出(装飾図柄表示装置16による演出)に連動して、効果音などを制御するサブ制御基板35の割込周期と、液状表示の見た目のちらつきを考慮して決められる値である。通常、液晶素子を用いた装飾図柄表示装置16のフレームレートは1/60Hz、約16.7msである。
本実施形態においてサブ制御基板35は、スピーカ29などによる効果音の制御の他、装飾LED(パネル装飾ランプ12、枠装飾ランプ31)の点灯点滅、階調制御や、ステッピングモータによる可動体の駆動制御を行うことから、2msの割込み処理周期で割込み処理を実行している。そこで本実施形態では、16.7msに最も近い値として、2msの割込周期を8回実行したとき、すなわち、16msを基本周期に演出コマンドの出力処理を実行すべくプログラミングされている。これに装飾図柄制御基板30のVDP330のフレームレートを一致させている。演出コマンドは、一方的にサブ制御基板35から出力されるが、少なくとも処理周期を一致させることにより、演出制御が大きくずれてしまうことを防止している。
(9−2.電源投入時におけるリフレッシュ監視開始処理と常駐エリアへの展開処理)
まず電源投入時に、図柄CPU311の指示に基づいて、メモリインターフェース制御回路324の展開データメモリコントローラ315は、リフレッシュ監視部として機能を開始する(起動する)。その後、図柄CPU311の指示に従って、キャラクタROM340からキャラクタRAM321,322の常駐エリアに使用頻度の高いスプライトデータを送り込む(展開する)。このように使用頻度の高いスプライトデータを電源投入時に展開しておくのは、必要に応じて逐一キャラクタRAM321,322にスプライトデータを展開しなくても良くなることから、VDP330がスプライトデータに基づいてスプライトを描画する際に、描画処理を円滑に実行するためである。
(9−3.電源投入時におけるリフレッシュ監視部による監視処理)
その一方、本実施形態では、展開データメモリコントローラ315は、電源起動時に起動されたリフレッシュ監視部の機能による監視結果に応じて、キャラクタRAM321,322に対してリフレッシュ動作が必要であるか否かを判断する。具体的には、展開データメモリコントローラ315は、キャラクタRAMコントローラ314,317が、例えば16msごとに何回にわたり、各々キャラクタRAM321,322に対してオートリフレッシュコマンドを発行したか(出力したか)を計数している。本実施形態では、このオートリフレッシュコマンドの出力頻度を「出力状況(発行状況)」と呼称する。
(9−4.展開中断処理)
ここで、展開データメモリコントローラ315は、そのリフレッシュ監視部によるリフレッシュ監視結果がリフレッシュ条件を満たしておらず、キャラクタRAM321,322に対してリフレッシュ動作が必要であると判断した場合、まず、キャラクタROM340からキャラクタRAM321,322の常駐エリアへのスプライトデータの展開を行っている場合は中断する。
(9−5.電源投入時におけるリフレッシュ処理)
そして、展開データメモリコントローラ315は、この常駐エリアへのスプライトデータの展開を中断すると、キャラクタRAMコントローラ314,317に各々キャラクタRAM321,322に対してオートリフレッシュコマンドを出力させる。これらキャラクタRAM321,322は、各々キャラクタRAMコントローラ314,317からオートリフレッシュコマンドを受け取ると、キャラクタRAM321,322(SDRAM)は、オートリフレッシュ機能を作動してリフレッシュ動作を実行する。
このときVDP330は、まだ実際に描画処理を制御している状態にはないため、当然、装飾図柄表示装置16にはなんら映像が表示されていない状態である。従って本実施形態では、このような電源投入時におけるキャラクタRAM321,322におけるリフレッシュ動作が、映像の表示に影響を与えることがない。
具体的には、このキャラクタRAM321,322は、各々オートリフレッシュ機能を搭載しており、オートリフレッシュコマンドを受け取ったことを契機に、リフレッシュアドレスカウンタをインクリメントし、このインクリメントされたアドレスの記憶領域に対してリフレッシュ動作を実行するようになっている。
このようにリフレッシュ動作が1回ずつ実行されると、この展開データメモリコントローラ315では、リフレッシュ実回数(オートリフレッシュコマンドの発行回数)が、上記レジスタ名REFNOFの設定値(4096回)と一致するか否かを判断する。リフレッシュ実回数が、このレジスタ名REFNOFの設定値(4096回)と一致していない場合には上記リフレッシュ動作を再度実行する。
(9−6.演出表示処理)
図12は、装飾図柄制御基板30によって実行される演出表示処理の手順の一例を示すフローチャートであり、図13は、図12に示す展開処理S300の手順の一例を示すフローチャートである。
まず装飾図柄制御基板30では、そのサブ制御基板35から、変動表示パターンを表示すべき旨のコマンド(演出表示コマンド)を受信したかどうかを確認する(図12のステップS201)。受信していない場合には演出表示処理を終了し、受信している場合には、図柄CPU311が制御ROM325の展開テーブルを参照し(ステップS202)、その演出表示コマンドに対応した変動表示パターンに含まれる各シーン及び各シーンの表示順序を取得する。
(10.展開処理)
次に展開処理について説明する(ステップS300)。
(10−1.圧縮データ取得処理)
このとき図柄CPU311は、各シーンを表示するのに用いる素材画像データ(スプライトデータ及び動画像データ)に関するアドレスなどの情報についても併せて取得している。ここでいうアドレスは、キャラクタROM340の記憶領域における素材画像データ(以下、主に「スプライトデータ」を例示する)を格納しているアドレス空間における位置(置き場)を意味している。このキャラクタROM340には、例えばシーンSC1〜シーンSC9及びラウンド表示ROUNDに対応させた合計10シーンをそれぞれ表示するために用いられる素材である圧縮スプライトデータ群が予め格納されている。
図柄CPU311は、その変動表示パターンに含まれる各シーンの表示に用いるスプライトデータ群を取得すべく、まず、制御ROM325の展開テーブルを参照する。この図柄CPU311は、参照した展開テーブルにおいて、所望の圧縮スプライトデータが、それぞれキャラクタROM340におけるどのアドレス空間に予め格納されているかを把握し、そのアドレス空間を示すアドレスを、メモリインターフェース制御回路324に対して指定する。
具体的には、図柄CPU311は、CPUインターフェース316を経由して、動画像データ伸張コントローラ327のレジスタ327a、スプライトデータ伸張コントローラ328のレジスタ328a、スプライトデータ伸張コントローラ329のレジスタ329aに対して、読み出しアドレスなどの設定値を書き込む。圧縮データメモリコントローラ312は、レジスタ327a,328a,329aに対してそれぞれ書き込まれたアドレスなどに基づいて、キャラクタROM340から圧縮スプライトデータ(や圧縮動画像データ)を読み出す(ステップS301)。
(10−2.伸張処理)
図柄CPU311が、CPUインターフェース316を経由して、スプライトデータ伸張コントローラ328のレジスタ328a及びスプライトデータ伸張コントローラ329のレジスタ329aなどに対して、転送元アドレス(キャラクタROM340の記憶領域におけるアドレス)、読み出すべきバイト数及び転送先アドレス(キャラクタRAM321,322)などを設定後、それぞれ伸張開始を指示する書き込みを行う。すると、圧縮データメモリコントローラ312は、キャラクタROM340からの圧縮スプライトデータを、スプライトデータ伸張コントローラ328,329などに引き渡す。これらスプライトデータ伸張コントローラ328,329は、引き渡された圧縮スプライトデータに関して伸張処理を施してスプライトデータを生成する(ステップS302)。一方、同様に動画像データ伸張コントローラ327は、引き渡された圧縮動画像データに関して伸張処理を施して動画像データを生成している。なお、以下の説明では、主としてスプライトデータを取り扱うものとする。
ここで本実施形態では、スプライトデータ伸張コントローラ328,329が、第1キャラクタRAM321及び第2キャラクタRAM322の数に対応して2個設けられている。このため、これらスプライトデータ伸張コントローラ328,329は、それぞれVブランク信号に同期して第1キャラクタRAM321及び第2キャラクタRAM322の切り替え動作が生じても、それぞれのキャラクタRAM321,322にスプライトデータ伸張コントローラ328,329が割り当て可能になっており、伸張処理を時分割で分けて担わせるなど複雑な伸張制御を必要としないことで、伸張処理の進行状況を細かく管理しなくても良くなる。
(10−3.展開処理)
これら生成されたスプライトデータは、展開データメモリコントローラ315に対して引き渡される。この展開データメモリコントローラ315は、図柄CPU311からのレジスタ315aへの書き込みを契機として、スプライトデータについて展開処理を実行する(ステップS303)。
(10−3−1.2つのキャラクタRAMの切り替え)
展開データメモリコントローラ315は、図柄CPU311からレジスタ315aへの書き込みを契機として、第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317を制御して、転送先であるキャラクタRAM321,322の切り替え並びに展開(及び読み出し)を実行する。
具体的には、展開データメモリコントローラ315は、キャラクタRAM321,322の一方にシーン表示に必要なスプライトデータを展開するとともに、それらキャラクタRAM321,322の他方から展開済みのシーン表示に必要なスプライトデータを読み出し可能に切り替え制御を行っている。なお、本実施形態では、第1キャラクタRAM321及び第2キャラクタRAM322には、同一のスプライトデータがそれぞれ展開されている。
具体的には、展開データメモリコントローラ315は、第1キャラクタRAM321にシーン表示に必要なスプライトデータを展開するとともに、第2キャラクタRAM322からシーン表示に必要なスプライトデータを読み出し可能に切り替える。本実施形態では、この期間を「第1展開期間」と呼称する(ステップS303,S304)。一方、展開データメモリコントローラ315が、第2キャラクタRAM322にシーン表示に必要なスプライトデータを展開するとともに、第1キャラクタRAM321からシーン表示に必要なスプライトデータを読み出し可能に切り替える。本実施形態では、この期間を「第2展開期間」と呼称する(ステップS305,S306)。
(10−3−2.スタティックロード)
ここで本実施形態では、この展開処理にあたって、上記スタティックロードを実行している。このスタティックロードは、キャラクタRAM321,322の記憶領域における予め決められた展開先に、シーン表示に必要なスプライトデータを、前述した規則で展開することを表している。
具体的には、制御ROM325には、このスタティックロードに対応した展開テーブルが格納されている。図柄CPU311は、このスタティックロードにあたって、この制御ROM325の展開テーブルを参照し、この展開テーブルの内容に従って各シーン表示に必要なスプライトデータを予め展開する。
具体的には、展開データメモリコントローラ315は、変動表示パターンを構成するシーンの組み合わせに係るシーン表示に必要なスプライトデータを、展開テーブルの内容に基づいて、各々予め定められた複数の共通エリアのいずれかに一時的に記憶(展開)させている。つまり、これらシーン表示に必要なスプライトデータは、それぞれ複数の共通エリアにおける展開先が予め決められており、これら複数の共通エリアのうちの異なる共通エリアに一時的に展開されるようになっている(スタティックロード)。そして本実施形態では、1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開せず、1つのシーン表示に必要なスプライトデータのみを展開する構成となっている。
このようにして展開した各シーン表示に必要なスプライトデータは、図10に示すように予め定められた各共通エリアに一時的に展開される。具体的には、各シーン表示に必要なスプライトデータは、図示の矢印のようにシーンSC1及びラウンド表示ROUNDであればキャラクタRAM321,322の常駐エリア(共通エリアABC含む)に、シーンSC2,SC6,SC7であれば共通エリアAに、シーンSC3,SC4,SC8,SC9であれば共通エリアBに、シーンSC5であれば共通エリアCに、一時的に展開し、これら各シーンSC1などをこれ以外の展開先に展開しない。
(10−3−3.先読み処理)
ここで本実施形態では、メモリインターフェース制御回路324は、図柄CPU311の制御によって、第1キャラクタRAM321及び第2キャラクタRAM322から読み出されたスプライトデータに基づいて、これらシーンの組み合わせのうちのいずれかのシーンが表示されている間に、その次のシーンに必要なスプライトの表示に使用するスプライトデータを先読みしている。
このように先読み処理を実行するようにすると、仮にキャラクタROM340の読み出しが低速なメモリであっても、あるシーンを表示している間に次のシーンを表示するのに使用するスプライトデータを事前に用意しておくことができる。
また、図柄CPU311は、制御ROM325の展開テーブルを再度確認し、その次に表示すべきシーンが存在しているか否かを判断する(ステップS307)。この図柄表示制御プログラムは、次のシーンが存在していると判断した場合にはステップS301に戻り、次のシーンが存在していないと判断した場合には展開処理を終了する。以上のようにして、表示すべき変動表示パターンに従って各シーンの表示に必要なスプライトデータが、共通エリアに展開される。
(11.表示処理)
図14は、描画処理の手順の一例を示す制御フローチャートである。なお、この描画処理は、16msごとに定常処理の一部として実行されている。
(11−1.表示態様の指定)
まず、図柄CPU311は、VDP330に対して表示態様を指定する(ステップS401)。この図柄CPU311は、組み合わせ映像群としての変動表示パターンの表示動作にあたり、制御ROM325が管理する展開テーブルの展開情報や、この制御ROM325の許容空間KE(第2のメモリ空間)のみならず、イメージ空間である代替空間DEに格納したスケジューラデータ(表示情報)に基づいて、この表示態様を指定している。
ところで上記表示態様の指定を具体的に示すと、まず、VDP330は、図柄CPU311の指示に基づいて、その表示態様に応じて表示される映像に含めるべきスプライトデータが展開されているキャラクタRAM321,322の記憶領域を示すアドレスを、VDP330のROMインターフェース(ROM I/F)333にセットし、これらキャラクタRAM321,322において該当する記憶領域からスプライトデータを読み出すようになっている。
このとき、キャラクタRAM321,322のリフレッシュ動作を実行するため、リフレッシュキャラクタデータを読み出す場合には、VDP330は、このアドレスとしてメモリインターフェース制御回路324に対して、図16に示すように「0C00 0000(リフレッシュキャラクタエリア)」をセットすることとなる。そしてVDP330は、メモリインターフェース制御回路324からスプライトデータとして、リフレッシュキャラクタデータを読み出す(ステップS402)。
(11−2.展開済みデータの取得処理及びリフレッシュ処理)
前述のようにキャラクタRAM321,322には、それぞれ図柄CPU311が展開テーブルの内容に従って共通エリアAなどを区画形成しており、これら共通エリアAなどには、それぞれ1つのシーン表示に必要なスプライトデータが予め展開されている。
上述のようにメモリインターフェース制御回路324の展開データメモリコントローラ315は、リフレッシュキャラクタデータ(リフレッシュデータ)を有している。この展開データメモリコントローラ315は、VDP330によってリフレッシュキャラクタデータの読み出しが指定された場合、この展開データメモリコントローラ315は、VDP330に対して、本来の動作としてはキャラクタRAM321,322から読み出したスプライトデータを読み出させるところを、自ら有するリフレッシュキャラクタデータ(ダミーデータ)を読み出させるようになっている。つまりVDP330は、図柄CPU311の指示に従って、メモリインターフェース制御回路324からリフレッシュキャラクタデータをダミーデータとして読み出すことになる(ステップS402)。
ここで、本実施形態では、キャラクタRAM321,322として、64msごとに4096回のリフレッシュが必要なSDRAM(Synchronous Dynamic Random Access Memory)を採用している。この場合、図柄CPU311は、展開データメモリコントローラ315のレジスタ315aの設定値として、レジスタ名REFOFTに64ms(823555H)、レジスタ名REFNOFに4096回(FFFH)を書き込んでいる。
本実施形態では、メモリインターフェース制御回路324は、キャラクタRAM321,322に対してバーストアクセスしてリフレッシュを実行させる。具体的には、1回のバーストアクセスで、展開データメモリコントローラ315がキャラクタRAMコントローラ314,317を制御してオートリフレッシュコマンドを4回出力させる。キャラクタRAM321,322は、リフレッシュカウンタを4回インクリメントし、そのたびにリフレッシュ動作を実行する。この4回という設定は、上記図柄CPU311によるレジスタ315aのレジスタ名REFNCHへの書き込みによって実現される。
なお、256色(8ビット)のスプライト1つを表示(リフレッシュキャラクタエリアのアクセスを発生させる)した場合、本実施形態では、この表示に用いるスプライトデータのデータサイズは、64ドット×64ドット×8ビット=32768ビットである。このためバーストアクセスは、32768ビット/(64ビット×8アクセス)=64回発生し、1バーストアクセスに対して4回、つまり256回のリフレッシュを実行する。本実施形態では、4つのリフレッシュキャラクタを表示させようとすることで、16msごとに1024回(4096回/64ms)リフレッシュを実行することができる。
(11−3.表示処理中におけるリフレッシュ監視処理)
ここで、メモリインターフェース制御回路324においては、展開データメモリコントローラ315のリフレッシュ監視部によるリフレッシュ監視機能が電源起動時から継続的に作動しており、キャラクタRAMコントローラ314,317による各々キャラクタRAM321,322へのオートリフレッシュコマンドの出力頻度が監視されている。
1回リフレッシュを実行させる(オートリフレッシュコマンドを出力する)と、リフレッシュ回数(オートリフレッシュコマンドの発行回数)を計数して、16msごとに実行すべきリフレッシュ総回数(1024回)実行したか否かを判断する。メモリインターフェース制御回路324においては、リフレッシュ回数が16msごとに実行すべきリフレッシュ総回数に到達するまでキャラクタRAM321,322のリフレッシュの実行を繰り返す。一方、リフレッシュ回数が16msごとに実行すべきリフレッシュ総回数に到達したと判断した場合には、リフレッシュ監視カウンタを0クリアする。
その一方、展開データメモリコントローラ315におけるリフレッシュ監視部は、何らかの原因で、64msごとのリフレッシュ回数(オートリフレッシュコマンドの出力回数)が4096回未満である場合、リフレッシュ状況が異常であると判断する。なお、このようにリフレッシュ状況が異常であると判断されるのは、例えば図柄CPU311が指定したリフレッシュキャラクタデータのアドレスがビット落ちするなどしてキャラクタ画像の表示要求がなされない場合を挙げることができる。
そして、展開データメモリコントローラ315は、リフレッシュ状況の異常に対応するため、描画処理の状況にかかわらずオートリフレッシュコマンドを優先的に出力すべき旨の指示をキャラクタRAMコントローラ314,317に対して指示する。
この強制リフレッシュ処理は、レジスタ名REFOFTで設定した時間内に、何からの原因でリフレッシュ処理が4096回実行されなかった場合に、本来実行されているべきリフレッシュ処理の代わりに実行するリフレッシュ処理である。
(11−4.キャラクタRAMへのアクセス禁止処理)
なお、この強制リフレッシュ処理においては、展開データメモリコントローラ315が、キャラクタRAM321,322に対してスプライトデータなどにアクセスできない状態となり、一定時間、スプライトデータなどについても、読み出せない状態(アクセス禁止状態)となり、一定時間、読み出し待ちが発生する。
(11−5.表示処理中における強制リフレッシュ実行処理)
この強制リフレッシュ処理では、展開データメモリコントローラ315のキャラクタRAMコントローラ314,317は、本来キャラクタRAM321,322についてリフレッシュすべき回数が不足していることから、レジスタ名REFOFT及びレジスタ名REFNOFに基づく回数分、次のようにしてリフレッシュ動作を実行する、まず、キャラクタRAMコントローラ314,317が、各々展開データメモリコントローラ315の制御によって、オートリフレッシュコマンドをキャラクタRAM321,322に対して出力する。そしてキャラクタRAM321,322は、各々オートリフレッシュコマンドの受け取りを契機として、積極的にリフレッシュ動作を実行するのである。
このとき、VDP330による描画処理中であるが、この強制リフレッシュ処理は、この描画処理よりも優先的に実行されるのである。このような強制リフレッシュ処理が描画処理よりも優先的に実行されると、表示される映像が一時的に乱れるおそれがあることも考えられるが、キャラクタRAM321,322に記憶されているスプライトデータの書込状態を確実に保護することができるようになる。また仮に、このような映像の表示状態にも乱れが生じた場合においても、ごくわずかな時間であるため、遊技者による遊技の進行に与える影響を抑制することができる。
(11−6.キャラクタRAMへのアクセス許容処理及び展開処理の再開)
強制リフレッシュ終了後、メモリインターフェース回路324は、VDP330によるキャラクタRAM321,322へのアクセスを許容するとともに、キャラクタROM340から読み出したスプライトデータをキャラクタRAM321,322に展開することを許容する。VDP330は、図柄CPU311によって制御ROM325から取得された展開テーブルの展開情報が設定されることで、メモリインターフェース制御回路324を経由して、キャラクタRAM321,322における複数の共通エリアのいずれかに展開済みのスプライトデータなどを次々と読み出す。
ここで、これらキャラクタRAM321,322は、それぞれ記憶領域において同一のアドレスにより管理されている。このためVDP330は、キャラクタRAM321,322のどちらに切り替えられた場合においても、同一の読み出し制御によって簡単にスプライトデータを次々と読み出すことができる。そしてVDP330に内蔵されたVDPコントローラ331は、この取得したスプライトデータに基づいて表示するための描画データを生成する。
以上のように、通常状態において、図柄CPU311によってメモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出すべき旨の指示があると、キャラクタRAMコントローラ314,317は、このリフレッシュキャラクタデータの読み出しを契機として、各々キャラクタRAM321,322に対してオートリフレッシュコマンドを出力することで、キャラクタRAM321,322に自ら記憶領域をリフレッシュさせている。そして、このリフレッシュ動作を実行する間に、VDPコントローラ331は、リフレッシュキャラクタデータ受け取るとともに、このリフレッシュキャラクタデータに基づいて表示するための描画データを生成しているのである。
一方、展開データメモリコントローラ315がキャラクタRAM321,322に関してリフレッシュ状況が不適切であると判断した場合には、これらキャラクタRAMコントローラ314,317が、積極的に、各々オートリフレッシュコマンドをキャラクタRAM321,322に対して出力することで、キャラクタRAM321,322に自らリフレッシュ動作を実行させることができる。
なお、展開データメモリコントローラ315のレジスタ315aにおいては、これらキャラクタRAM321,322の記憶領域に対するリフレッシュ動作に関する状況(以下「リフレッシュ状況」と呼称する)としてのリフレッシュステータスを管理するレジスタ名が用意されていても良い。このようにすると、図柄CPU311は、展開データメモリコントローラ315のレジスタ315aのリフレッシュステータスを参照することで、リフレッシュ状況について異常が生じているか否かに関して判断可能となる。
そして描画にあたり、VDP330は、図柄CPU311によって選定された表示態様を実現する描画データの生成条件を規定している描画パラメータに基づいて描画データを生成する。なお、この描画パラメータとしては、描画の色彩情報を規定したカラーパレットデータ、スプライトの描画条件を規定したスプライト属性データ、バックグラウンド(背景)の描画条件を規定したバックグラウンド属性データを生成したものを例示することができる。
ここで、例えば複数のレイヤーを重ねて1つのフレームを表示しようとした場合、各レイヤーには、必要に応じて少なくとも1つのスプライトが配置可能となっている。VDPコントローラ331は、生成した描画データに基づいて、1フレームを表示するための映像信号を、例えば走査線(ライン)単位でいわゆるダブルバッファ構造を採用するラインバッファ336の一方に蓄積する。このVDPコントローラ331は、この描画データの蓄積と同時に、走査線単位で描画データを蓄積し終わったラインバッファ336の他方から、装飾図柄表示装置16に対して同期信号SYNCに同期させつつ出力する。一方、装飾図柄表示装置16においては、このように同期信号SYNCに同期させつつVDP330から描画データを受け取ると、この描画データに基づいて走査線(ライン)単位で表示する。
このようにして装飾図柄表示装置16が1フレーム分の描画データを受け、フレームレートに合わせて次々と連続的に表示することを繰り返すと、この装飾図柄表示装置16の表示領域にはシーンが表示される。
さらにVDP330は、次のシーンに関しても同様にキャラクタRAM321,322予め用意されているスプライトデータを取得し、同様に装飾図柄表示装置16に1シーンを続けて表示する。このように各シーンが装飾図柄表示装置16に表示されることで、この装飾図柄表示装置16の表示領域には、図15(A)〜図15(C)に示すようにこれらシーンの連続表示により視覚的に構成される変動表示パターンが表示されることになる。
一方、VDP330がメモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出している場合には、スプライトデータと同様の手順に従って、装飾図柄表示装置16の表示領域には、図16に示すようにスプライトSPを含む映像に、背景が透過し遊技者に視認できないリフレッシュキャラクタ99が重ねて表示されるようになる。
具体的には、VDP330は、スプライトSPを配置可能な少なくとも1つのレイヤーによって構成したフレームを走査線ごとに走査を繰り返して表示させるものであり、各走査線における最初の走査位置から、その走査方向に対して垂直な方向(図16に示す映像の場合は縦方向)に沿って、リフレッシュキャラクタ99を配列して表示させている。
このとき、メモリインターフェース制御回路324の展開データメモリコントローラ315の制御により、キャラクタRAMコントローラ314,317は、VDP330がリフレッシュキャラクタデータに基づくリフレッシュキャラクタ99を装飾図柄表示装置16に表示させている間に、キャラクタRAM321,322に対するリフレッシュ処理を実行している。このリフレッシュキャラクタ99は、背景が透過する透明画像であり、バックグラウンド画像を含む背景が透けてスプライトなどのキャラクタ画像が視認できるようになっている。
なお、このリフレッシュキャラクタ99を複数表示させる場合、その表示態様としては、複数のリフレッシュキャラクタ99を同一のレイヤーに配置させても良いし、或いはその代わりに複数のリフレッシュキャラクタ99を各々複数のレイヤーに分散して配置させても良い。
(12.本実施形態による有用性についての言及)
まず本実施形態において、「第1のチップセレクト信号及び第2のチップセレクト信号が、各々外付け制御メモリのチップセレクト端子に入力される」とは、図柄CPU311が、この図柄CPU311と制御ROM325とを接続しているチップセレクト信号線を介して、これら第1のチップセレクト信号及び第2のチップセレクト信号のうち、所望のチップセレクト信号を制御ROM325に出力することを示している。
また本実施形態においては、内蔵メモリ311aの実装予定空間JYEと、制御ROM325の実空間CS0Eの一部である重複空間TE(第1のメモリ空間)と、が重複して割り当てられているため、通常は、図柄CPU311は、この重複空間TEに対してアクセスすることができないようにも思える。しかしながら本実施形態では、図柄CPU311が、第2のチップセレクト信号を制御ROM325に対して出力することで、この制御ROM325におけるメモリ空間の一部(重複空間TE)にアクセスしている。
図柄CPU311は、制御ROM325のメモリ空間の一部である重複空間TEに直接アクセスすることができない場合においても、この制御ROM325における最下位アドレスの次アドレス、つまり、制御ROM325の実空間CS0Eから連続するイメージ空間CS1E(他のメモリ空間)にアクセスすることができるようになり、上記イメージ空間CS1Eにおいて重複空間TEと等しい容量分さらに使用することができる。
従って本実施形態においては、図柄CPU311が、内蔵メモリ311aの実装予定空間JYEの存在によって、制御ROM325の実空間CS0Eの一部(第1のメモリ空間としての重複空間TE)に直接アクセスすることができない場合においても、実質的に制御ROM325の全メモリ空間を利用することができる。
このようにすると、図柄CPU311が、直接重複空間TEにアクセスできない場合であっても、制御ROM325の重複空間TEの容量分、そのメモリ空間を有効に活用することができる。つまり本実施形態では、図柄CPU311が、重複によって無駄にしていた制御ROM325の重複空間TEの容量分を実質的に使えるようにすることで、その無駄にしていたメモリ空間の一部に、演出表示に係るスケジューラデータ(制御データ)を記憶して制御ROM325のメモリ空間を有効活用することができる。ここで、その有効活用方法としては、例えばより多くの演出表示に係るスケジューラデータを制御ROM325に格納しておき、内蔵メモリ311aに展開した図柄表示制御プログラムの動作によって、このスケジューラデータに基づいて表示態様のバリエーションを増やし、より多彩な演出表示を実行することができる。
また本実施形態では、図柄CPU311が第1のチップセレクト信号を出力することによって選択される制御ROM325の実空間CS0Eと、図柄CPU311が第2のチップセレクト信号を出力することによって選択されるイメージ空間CS1E(他のメモリ空間)とは、互いにアドレスが連続するメモリ空間としている。そして本実施形態では、制御ROM325の実空間CS0Eにおける最下位アドレスは、図柄CPU311が第1のチップセレクト信号を出力した場合に指定しうる最下位アドレスと等しい。
本実施形態においては、制御ROM325の実空間CS0Eにおける最下位アドレスと、第1のチップセレクト信号を出力した場合に指定しうる最下位アドレスが一致しているため、制御ROM325の実空間CS0Eの記憶容量と、第1のチップセレクト信号を出力した場合に指定した指定アドレスによってアクセスしうるメモリ空間の記憶容量が等しいことになる。
このため、図柄CPU311が第1のチップセレクト信号を出力した場合に指定アドレスとして指定した最下位アドレスの次のアドレスは、第2のチップセレクト信号を出力した場合に指定アドレスとして指定しうるイメージ空間CS1Eの最上位アドレスとなる。つまり、このイメージ空間CS1Eは、図柄CPU311が第1のチップセレクト信号を出力してアクセスしうる制御ROM325の実空間CS0Eに連続しているのである。
このようにすると、本実施形態では、制御ROM325の実空間CS0Eをアクセスするためのアドレスと、上記イメージ空間CS1Eをアクセスするためのアドレスとを各々分けて管理する必要がない上、制御ROM325の実空間CS0Eにおける最下位アドレス(ボトムアドレス)の手前からイメージ空間CS1Eの最上位アドレス以降にわたり連続的にスケジューラデータを格納することができるため、メモリ空間の管理を簡素化することができる。また図柄CPU311は、制御ROM325の使用にあたり、制御ROM325の実空間CS0Eにおける最下位アドレス付近からイメージ空間CS1Eの最上位アドレス以降に続くアドレスに該当する範囲から、連続的にスケジューラデータを読み出すことができるため、このスケジューラデータの読み出しにあたり制御が簡単になる。
(13.制御ROMのメモリ空間におけるメモリマップの変形例)
図17は、制御ROM325における記憶領域の変形例を示すメモリマップである。なお、この変形例においては、制御ROM325における記憶領域のメモリマップが異なる点を除いて、その他の構成や動作は、上記説明とほぼ同様であるため、ほぼ同様の構成及び動作は説明を省略し、以下異なる点を中心として説明する。
上記の説明においては、命令格納空間CKEが、許容空間KEの最上位アドレスから連続するように1Mbit分確保されているが、この変形例においては、この命令格納空間CKEがイメージ空間CS1Eの代替空間DEにおける最下位アドレスから上位アドレス側に1Mbit分連続するよう確保されている点が異なっている。つまり、この変形例においても、55Mbitのスケジューラデータ空間SE及び8Mbitの代替空間DEが連続しているが、命令格納空間CKEが、これらスケジューラデータ空間SE及び代替空間DEの組み合わせの最下位(最後尾)に位置している。
この命令格納空間CKEは上述のように図柄表示制御プログラムが格納されているが、この変形例においては、この命令格納空間CKEの先頭にローダが格納されておらず、この図柄表示制御プログラムのみが格納されている。ここでローダは、この変形例においても、許容空間KEの先頭(最上位アドレス)に配置しており、リセットスタート後、最初に起動される。このローダは、第2のチップセレクト信号の出力によって命令格納空間CKEにアクセスするとともに、命令格納空間CKEから図柄表示制御プログラムを読み出し、命令ロード先空間CLEに転送するようになっている。このような変形例においても、命令格納空間CKEが許容空間KEの先頭アドレスから連続して確保されている場合と同様の効果を発揮することができる。
(14.リフレッシュによる有用性についての言及)
まず、一般的にキャラクタROM340は、キャラクタRAM321,322よりも記憶しているスプライトデータの読み出し速度が遅いものの安価ながら大容量であることが知られている。従って、このキャラクタROM340は、多くのスプライトデータを格納することができる特徴を有している。このため本実施形態においては、キャラクタROM340に予め用意された多くのスプライトデータに基づいて、多くのスプライトSPを用いて映像を表示することができる。
また本実施形態では、このようなキャラクタROM340に加えてさらにキャラクタRAM321,322を備えており、キャラクタROM340から読み出したスプライトデータをキャラクタRAM321,322に一時的に記憶させている。上述のようにキャラクタRAM321,322はキャラクタROM340よりも読み出し速度が速いため、このVDP330は、直接キャラクタROM340からスプライトデータを読み出すよりも、キャラクタRAM321,322からスプライトデータを読み出した方がその読み出し時間が短くなる。
このため本実施形態においては、キャラクタRAM321,322を備えていると、VDP330が、キャラクタRAM321,322から速く読み出したより多くのスプライトデータに基づいてより多くのスプライトSPを映像に含めて表示させることができるため、多彩な演出表示を実現することができる。ここで、このキャラクタRAM321,322は、各々記憶済みのスプライトデータに関して正常な書込状態を維持するために、オートリフレッシュコマンドの受け取りを契機として、自ら記憶領域に対してリフレッシュ動作を実行するオートリフレッシュ機能を有するSDRAMなどである。
本実施形態では、図柄CPU311の指示に従って、VDP330が展開データメモリコントローラ315からリフレッシュキャラクタデータを読み出したことを契機として、キャラクタRAMコントローラ314,317がリフレッシュ動作を実行している。このため図柄CPU311は、キャラクタRAM321,322に対するリフレッシュ動作に全く関与してないが、所望のタイミングでキャラクタRAM321,322がリフレッシュされる。
また本実施形態では、電源投入後、常駐エリアにスプライトデータ展開中に、図柄CPU311により起動された展開データメモリコントローラ315のリフレッシュ監視部がキャラクタRAM321,322に関して、オートリフレッシュ機能によるリフレッシュ動作の実行が必要であると判断した場合、図柄CPU311が関与することなく、VDP330がスプライトデータに基づいて映像を表示することよりも優先的に、これらキャラクタRAMコントローラ314,317がキャラクタRAM321,322のオートリフレッシュ機能を作動させる。つまり、これらキャラクタRAMコントローラ314,317は、各々まずキャラクタRAM321,322に対してオートリフレッシュコマンドを出力する一方、このオートリフレッシュコマンドを受け取ったキャラクタRAM321,322が、各々オートリフレッシュ機能を作動することで自ら記憶領域に対してリフレッシュ動作を実行する。
このため、本実施形態においては、電源投入直後にキャラクタRAM321,322の常駐エリアにスプライトデータを記憶させても、この記憶したスプライトデータの書込状態を安定させて維持することができる。従って本実施形態によれば、電源投入後であってスプライトデータの展開後であれば、VDP330が、このようなリフレッシュ動作の実行に関する負荷の影響を受けない図柄CPU311の指示に従って、キャラクタRAM321,322の常駐エリアから読み出したスプライトデータに基づくスプライトを素材とした映像を、表示上の乱れなく安定した表示態様で表示することができる。
また本実施形態においては、リフレッシュ動作中は、キャラクタROM340からキャラクタRAM321,322の常駐エリアへのスプライトデータの展開を中断しているので、オートリフレッシュ機能によるリフレッシュ動作と展開処理とが重ねて実行される場合がなく、キャラクタRAM321,322の常駐エリアに展開済みのスプライトデータがオートリフレッシュ機能によるリフレッシュ動作によって不具合を生ずることがなくなる。
また、本実施形態においては、展開データメモリコントローラ315(リフレッシュ監視部)が、キャラクタRAMコントローラ314,317が各々出力したオートリフレッシュコマンドの出力頻度を監視しており、この出力頻度の監視結果に応じて、キャラクタRAM321,322に対するリフレッシュ動作の実行が不足していると判断した場合、これらキャラクタRAMコントローラ314,317は、図柄CPU311が関与することなく、キャラクタRAM321,322のオートリフレッシュ機能を作動させている。具体的には、これらキャラクタRAMコントローラ314,317が、各々キャラクタRAM321,322に対してオートリフレッシュコマンドを出力することで、キャラクタRAM321,322がリフレッシュ動作を実行するようになっている。
このように本実施形態では、展開データメモリコントローラ315(リフレッシュ監視部)の存在によって、図柄CPU311が関与しなくても、キャラクタRAM321,322に関してリフレッシュ動作の実行が常時十分な状態となる。このためキャラクタRAM321,322においては、電源投入からある程度時間が経過している場合においても、記憶済みのスプライトデータの書込状態を安定させることができる。従って本実施形態によれば、VDP330は、このようなリフレッシュ動作の実行に関する負荷の影響を受けない図柄CPU311の指示に従って、キャラクタRAM321,322から正常なスプライトデータを確実に読み出すことができることができる。これとともにVDP330が、このようなリフレッシュ動作の実行に関する負荷の影響を受けない図柄CPU311の指示に従って、読み出したスプライトデータに基づくスプライトを素材とした映像を、常時表示上乱れなく正常に表示させることができる。
また、本実施形態においては、メモリインターフェース制御回路324は、VDP330からリフレッシュキャラクタデータを読み出すべきアドレスの指定を受けたことを契機に、キャラクタRAM321,322に対してオートリフレッシュコマンドを出力している。これらキャラクタRAM321,322においては、このオートリフレッシュコマンドを受け取ったことを契機に、自ら、各々自己リフレッシュ回路が記憶領域に対してリフレッシュ動作を実行する。
従って本実施形態によれば、図柄CPU311が、キャラクタRAM321,322に対するリフレッシュ動作の実行に関与しなくても、所望のタイミングでキャラクタRAM321,322に対してリフレッシュ動作が実行される。
また本実施形態においては、複数の映像を次々と表示させるにあたり、共通して多用する使用頻度の高い映像の表示に必要なスプライトデータを、その都度、図柄CPU311が、キャラクタRAM321,322に展開する必要がない。このため図柄CPU311は、処理の負荷が小さくなった分、キャラクタRAM321,322に、さらにより多くの使用頻度の低いスプライトデータを記憶させることができる。従って本実施形態では、このようにキャラクタRAM321,322にさらに多く記憶されたスプライトデータに基づいて、さらに多彩な演出表示を実現することができる。
また、上述のように映像を構成する各フレームは、スプライトを配置可能な複数のレイヤーを重ね合わせて視覚的に構成されている。本実施形態では、リフレッシュキャラクタデータに基づくリフレッシュキャラクタが、複数のレイヤーのうち少なくとも1つのレイヤーにY座標を異ならせるとともに分散して複数配置されているようにしてもよい。ここで「Y座標」は、映像を構成する各フレームを走査線ごとに描画する場合における、その走査方向に垂直な方向に沿った位置を表している。そして「Y座標を異ならせ」とは、この走査方向に垂直な方向において複数のリフレッシュキャラクタを配置する位置を各々異ならせることをいう。
このようにすると、複数のリフレッシュキャラクタを、各々少なくとも1つのレイヤーにおいてY座標を異ならせて走査線ごとに分散させて配置しているので、この走査線ごとにおけるリフレッシュ期間(「実際にリフレッシュに費やされる時間」に相当)が各々均等となり、この走査線ごとのリフレッシュ期間が把握しやすくなる。つまり本実施形態では、それら多数の走査線でなるレイヤーにおけるリフレッシュ期間の合計、各スプライトの表示期間が明確となり、各レイヤーにおけるスプライトなどの表示期間の計算が容易となる。
また本実施形態では、リフレッシュキャラクタデータに基づくリフレッシュキャラクタが、複数のレイヤーのうち同一のレイヤーにX座標を等しくして縦方向に分散して複数配置されているようにしてもよい。ここで「X座標」は、映像を構成する各フレームを描画する場合における走査方向の位置を表している。そして「X座標を等しくして」とは、この走査方向に垂直な方向(上記「縦方向」に相当)に沿って、複数のリフレッシュキャラクタの配置間隔を等しくすることをいう。
また本実施形態では、リフレッシュキャラクタデータに基づいて表示したリフレッシュキャラクタが、背景が透過する透明画像であり、表示すべき映像の一部として使用されるため、次のような有用性を発揮する。
つまり、キャラクタRAM321,322に関してリフレッシュを実行する場合には、VDP330が表示させるリフレッシュキャラクタ99が透明であるため、あるスプライトSPに加えてさらにリフレッシュキャラクタ99を含む映像(例えば変動表示パターン)が装飾図柄表示装置16に表示されても、リフレッシュキャラクタ99を視認することができないようにすることができる。
このため本実施形態によれば、キャラクタRAM321,322に対するリフレッシュ動作という遊技者には無縁な動作を遊技者に悟られることなく秘匿して実行することができるため、遊技者による遊技に影響を与えないようにすることができる。
また本実施形態によれば、VDP330は、スプライトSPを配置可能な少なくとも1つのレイヤーによって構成したフレームを走査線ごとに走査を繰り返して表示させるものであり、各走査線におけるほぼ最初の走査位置から、その走査方向に対して垂直な方向に沿って少なくとも1列にわたり、リフレッシュキャラクタ99(リフレッシュ画像)を配列して表示させるため、次のような有用性を発揮する。
つまり本実施形態によれば、VDP330が、映像の表示に応じて、フレームを走査線ごとに走査を繰り返して表示させようとすると、各走査線においてスプライトデータよりも先に、このリフレッシュキャラクタ99を表示させるためのリフレッシュキャラクタデータを読み出している。このため本実施形態によれば、VDP330が、スプライトデータよりも先にリフレッシュキャラクタデータを読み出すことから、これを契機としてキャラクタRAMコントローラ314,317が、各々オートリフレッシュコマンドをキャラクタRAM321,322に対して出力し、これらキャラクタRAM321,322が確実に自ら記憶領域に対してリフレッシュ動作を実行することができる。
ところで、映像を構成する各フレームは、図18(A)に示すようにスプライトSPを配置可能な複数のレイヤーLを重ね合わせて視覚的に構成されるものである。本実施形態においては、表示すべき映像に応じて、図18(B)に示すように複数のレイヤーLのうち上位レイヤーLuにスプライトSPを配置させる一方、複数のレイヤーのうち下位レイヤーLdにおける上位レイヤーLuのスプライトSPが重なる位置に、リフレッシュキャラクタ99を配置させて重ね合わせて、図18(C)に示すように構成したフレームFに基づいて、映像を表示させるようにしても良い。
このようにすると、キャラクタRAM321,322に関してリフレッシュ動作を実行する場合、VDP330が各レイヤーLを重ねてフレームFを構成した結果、下位レイヤーLdに配置させたリフレッシュキャラクタ99が、その上位レイヤーLuに配置させたスプライトSPによって隠蔽される。このため、あるスプライトSPに加えてさらに、リフレッシュキャラクタ99を含む映像が表示されても、遊技者の目Eにリフレッシュキャラクタ99が視認されないようにすることができる。なお、重ねることによってリフレッシュキャラクタ99を隠蔽する画像としては、このようなスプライトSPのみならず、例えばバックグラウンド画像を挙げることもできる。
従って、キャラクタRAM321,322に対するリフレッシュという遊技者には無縁な動作を、遊技者に悟られることなく秘匿して実行することができるため、遊技者の遊技に影響を与えないようにすることができる。
(15.スタティックロードによる有用性についての言及)
また、本実施形態では、変動表示パターンに使用するシーンの組み合わせに各々必要なスプライトデータを、各々予め定められた複数の共通エリアのいずれかに一時的に記憶させている。従って、ある変動表示パターンに使用する特定のシーンの表示に必要なスプライトデータは、これら複数の共通エリアのうち予め定められた特定の共通エリアに一時的に展開されることになる。
つまり、シーン表示に必要なスプライトデータは、複数の共通エリアにおいて一時的に記憶されている。このようにすると、VDP330は、あるシーンを表示する場合、この表示に必要なスプライトデータが全てこれら複数の共通エリアに既に用意されているので、直ちにシーン表示に必要なスプライトデータを読み出すことができる。
このように本実施形態では、キャラクタRAM321,322から連続的に映像の表示に必要なスプライトデータを読み出すことができることから、映像の表示に必要なスプライトデータの読み出し始めから読み出し完了までの時間が短くなる。このため本実施形態では、映像の表示に必要なスプライトデータをさらに多く用いることができることから、各シーンに、より多くの素材(動画像及びスプライトの少なくとも一方)を含めることができる。従って本実施形態によれば、複数のシーンにそれぞれより多くの素材を含めて、これら複数のシーンの組み合わせによって変動表示パターンを表示することができるため、多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322からシーン表示に必要なスプライトデータだけを用意すれば良いので、キャラクタRAM321,322の記憶容量をできるだけ小さくすることができる。またさらに本実施形態では、キャラクタRAM321,322からのシーン表示に必要なスプライトデータの読み出し始めから読み出し完了までの時間が短くなり、予め決められた描画単位でシーンを描画する場合、各フレームレート(描画単位時間)内における実際の描画に必要な時間を短くすることもでき、各フレームレート内にさらに多くのレイヤーを使用して描画を行うことができる。従って本実施形態によれば、各フレームレート内にさらに多くの描画を行って、さらに多彩な演出表示を実現することができる。
また本実施形態では、装飾図柄制御基板30が制御ROM325(制御メモリ)を備えており、この制御ROM325は、展開テーブルを含んでいる。この展開テーブルは、キャラクタRAM321,322においてシーンの表示に用いるスプライトデータが複数の共通エリアのうちのどの共通エリアに記憶されているべきかに関する展開テーブルを管理している。さらに図柄CPU311は、制御ROM325の展開テーブルを参照し、その展開テーブルに従ってキャラクタRAM321,322に複数の共通エリアを区画して形成するとともに、これら形成した複数の共通エリアに、シーンの組み合わせの表示に各々必要なスプライトデータを記憶している。
このようにすると、図柄CPU311は、複数の共通エリアをどのように区画形成すべきかに関して逐一判断することなく、参照した展開テーブルに従って、簡単にキャラクタRAM321,322に複数の共通エリアを区画して形成することができるため、キャラクタRAM321,322を効率よく区画形成して使用することができる。従って本実施形態によれば、キャラクタRAM321,322に形成した複数の共通エリアに、より多くのスプライトデータを記憶させることができ、このように、さらに多く記憶されたシーン表示に必要なスプライトデータに基づいて、さらに多彩な表示を実現することができる。
また本実施形態では、VDP330は、図柄CPU311による読み出し指示に基づいて、キャラクタRAM321,322における複数の共通エリアから、ある変動表示パターンに使用するシーンの表示に必要なスプライトデータを読み出している。
まず、複数の共通エリアには、それぞれシーンに必要なスプライトデータが展開されている。このためVDP330は、これら複数の共通エリアからそれぞれ、変動表示パターンに使用する各シーンの表示に必要なスプライトデータを連続的に短時間で読み出すことができることから、VDP330が実行すべき処理の負荷が小さくなる。従ってVDP330は、処理の負荷が小さくなった分、さらにより多くのシーン表示に必要なスプライトデータを複数の共通エリアから読み出すとともに、このようにさらにより多く読み出されたシーン表示に必要なスプライトデータに基づいて、さらに多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322からのシーン表示に必要なスプライトデータの読み出し効率が良いため、予め決められた描画単位(フレーム)で描画する場合、VDP330が、各フレームレート(描画単位時間)内における実際の描画に必要な時間を短くすることができるため、各フレームレート内にさらに多くのレイヤーを用いて描画を行うことができる。従って本実施形態によれば、各フレームレート内にさらに多くの描画を行って、またさらに多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322には、複数の変動表示パターンにおいて共通して多用されるシーンの表示に必要なスプライトデータを常駐させる常駐エリア(常駐領域)が複数の共通領域の一部として形成されている。
このようにすると、本実施形態によれば、複数の変動表示パターンを次々と表示させるにあたり共通して多用するシーンの表示に必要なスプライトデータを、その都度、図柄CPU311が、キャラクタRAM321,322における複数の共通エリアのうちのいずれかの共通エリアに展開する必要がなくなる。このため図柄CPU311は、処理の負荷が小さくなった分、キャラクタRAM321,322に区画形成された複数の共通エリアのいずれかに、さらにより多くのシーン表示に必要なスプライトデータを記憶させることができる。このため本実施形態では、このように複数の共通エリアにさらに多く記憶されたシーン表示に必要なスプライトデータに基づいて、さらに多彩な演出表示を実現することができる。
(16.先読み制御による有用性についての言及)
本実施形態では、キャラクタROM340から直接読み出したスプライトデータに基づいて素材画像を表示する代わりに、キャラクタROM340から読み出した素材画像データを、一旦、キャラクタRAM321,322に記憶させ、この一旦記憶させたキャラクタRAM321,322から読み出したスプライトデータに基づくスプライトを表示している。ここで、一般的にキャラクタRAM321,322は、それぞれキャラクタROM340に比べてデータの読み出しが速いという特徴を有する。このため本実施形態では、スプライトデータを、キャラクタROM340から読み出すよりもキャラクタRAM321,322から読み出す方が、単位時間内により多くのスプライトデータを読み出すことができる。なお、素材画像データとして先読みするのは、このようなスプライトデータのみならず、その代わりに或いは併せて動画像を表示するのに用いる動画像データが含まれていても良い。
さらに本実施形態では、あるシーンが表示されている間に、その次のシーンの表示にあたり必要な素材(スプライトデータなど)を、キャラクタROM340から先読みしてキャラクタRAM321,322に予め用意しているため、次のシーンを表示させようとした際に、既に必要なスプライトの表示に用いるスプライトデータについて準備が完了している。なお、ここでいう先読みは、例えばラインバッファ336やフレームバッファにおけるいわゆるダブルバッファ構造のように、表示の直前に、一方のバッファに描画データを作成している間に、他方のバッファから作成済みの描画データを読み出して表示することとは異なり、あるシーンを表示しようとした場合、実際にそのシーンを表示するのはまだ先であるが、そのシーンの表示に必要な素材を事前に集めておき予め準備をしておくことを表している。
このようにすると本実施形態では、仮にキャラクタRAM321,322にスプライトデータを記憶させるまでに時間(以下「展開時間」と呼称する)がかかっても、この展開時間が長いか短いかに関係なく、VDP330は、あるシーンの表示に必要なスプライトデータを、効率よくキャラクタRAM321,322から読み出して即座に調達することができる。
このように本実施形態においては、あるシーンを表示しようとした場合、VDP330は、そのシーンの表示に必要なスプライトデータを全て確実に、しかも、読み出し効率良くキャラクタRAM321,322から読み出すことができる。このため本実施形態によれば、仮にあるシーンの表示に必要なスプライトデータが多数であっても、VDP330は、これら多数のスプライトデータを確実にキャラクタRAM321,322から読み出して、これら多数のスプライトデータに基づく多数のスプライトを素材として含めたシーンを連続表示して変動表示パターンを表示させることができるため、多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322からのスプライトデータの読み出し効率が良いため、予め決められた描画単位でスプライトを含めてシーンを描画する場合、各フレームレート(描画単位時間)内における実際の描画に必要な時間を短くすることができるため、各フレームレート内にさらに多くのレイヤーを使用して描画を行うことができる。従って本実施形態によれば、各フレームレート内にさらに多くの描画を行って、さらに多彩な演出表示を実現することができる。
また上記実施形態では、図柄CPU311は、電源投入時に、キャラクタROM340からスプライトデータを先読みしてキャラクタRAM321,322の常駐領域に予め用意させるべく制御しているため、次のような有用性を発揮する。
本実施形態では、電源投入後、あるシーンの表示を突然開始しようとした場合においても、そのシーンの表示に必要なスプライトデータが確実にキャラクタRAM321,322の常駐領域に用意されている。このためVDP330が、電源投入後、突然表示が開始される画面を表示させようとした場合においても、この画面を確実に表示させることができるようになる。
また本実施形態では、キャラクタRAM321,322に複数の共通エリアが形成されているとともに、制御ROM325に展開テーブルが存在し、図柄CPU311が、制御ROM325の展開テーブルを参照して複数の共通エリアに変動表示パターンに使用するスプライトデータをキャラクタROM340から先読みして展開させている。このため、本実施形態では、あるシーンを表示しようとした場合、そのシーンの表示前までに、必要なスプライトデータを全て確実にキャラクタRAM321,322における複数の共通エリアに用意しておくことができるばかりでなく、このシーンの表示に必要なスプライトデータを複数の共通エリアから連続的に短時間で読み出すことができるため、より多くの素材を確実に含めたシーンによって多彩な演出表示を実現することができる。
また本実施形態では、制御ROM325は、シーンの表示に必要なスプライトデータが複数の共通エリアのうちどの共通エリアに記憶されているべきかに関する展開テーブルを記憶しており、図柄CPU311は、制御ROM325の展開テーブルを参照してキャラクタRAM321,322を区画して複数の共通エリアを形成し、各変動表示パターンに使用するスプライトデータをこれら複数の共通エリアのいずれかに記憶させて、予め準備すべく制御している。
まず、本実施形態においては、あるシーンを表示しようとした場合、そのシーンの表示までに、必要なスプライトデータを全て確実にキャラクタRAM321,322の複数の共通エリアに用意しておくことができる。その一方で、VDP330は、これら複数の共通エリアからそれぞれ、変動表示パターンに使用する各シーンの表示に必要なスプライトデータを連続的に短時間で読み出すことができ、実行すべき処理の負荷が低減される。従ってVDP330は、処理の負荷が低減された分、さらにより多くのスプライトデータを複数の共通エリアから読み出すことができるとともに、このようにさらにより多くしかも確実に読み出されたスプライトデータに基づいて、さらに多彩な演出表示を実現することができる。
本実施形態では、VDP330は、図柄CPU311による指示に基づいて、先読みして予めスプライトデータが準備されている複数の共通エリアから、変動表示パターンに使用するシーンの表示に必要なスプライトデータを読み出している。
まず、本実施形態においては、あるシーンを表示しようとした場合、そのシーンの表示までに、必要なスプライトデータを全て確実にキャラクタRAM321,322の複数の共通エリアに予め用意しておくことができる。その一方、VDP330は、これら複数の共通エリアからそれぞれ、変動表示パターンに使用する各映シーン像の表示に必要なスプライトデータを連続的に短時間で読み出すことができることから、VDP330は、実行すべき処理の負荷が低減される。従ってVDP330は、処理の負荷が低減された分、さらにより多くのスプライトデータを複数の共通エリアから読み出すことができるとともに、このようにさらにより多くしかも確実に読み出されたスプライトデータに基づいて、確実に、さらに多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322には、複数の変動表示パターンにおいて共通して多用されるスプライトデータを常駐させる常駐領域が複数の共通エリアの一部として形成されているため、先読み制御との関係で次のような有用性を発揮する。
まず、本実施形態においては、あるシーンを表示しようとした場合、そのシーンの表示までに、複数の変動表示パターンにおいて共通して多用されるスプライトデータを、キャラクタRAM321,322の常駐領域に確実に予め用意しておくことができる。しかも本実施形態では、複数の変動表示パターンを次々と表示させるにあたり、共通して多用するシーンの表示に必要なスプライトデータを、その都度、図柄CPU311が、キャラクタRAM321,322の複数の共通エリアのうちのいずれかの共通エリアに展開する必要がなくなる。このため図柄CPU311は、処理の負荷が低減された分、キャラクタROM340における複数の共通エリアのいずれかに、さらにより多くのスプライトデータを確実に展開しておくことができる。従って本実施形態では、このように複数の共通エリアにさらに多くしかも確実に記憶されたスプライトデータに基づいて、確実に、さらに多彩な演出表示を実現することができる。
(17.2つのスプライト伸張装置を設けたことによる有用性についての言及)
まず、本実施形態では、スプライトデータ伸張コントローラを1つ設ける代わりに、スプライトデータ伸張コントローラ328,329と2つ設けているため、1つのスプライトデータ伸張コントローラを用いて伸張処理を実行する場合に比べて、シーンを表示するために必要なスプライトに関するデータ(例えば圧縮スプライトデータ)の伸張処理が高速化される。なお、本実施形態では、2つのスプライトデータ伸張コントローラ328,329を設ける代わりに或いは併せて、圧縮動画像データを伸張して動画像データとする動画像データ伸張コントローラ327を複数設けても良い。なお、本実施形態では、シーンの表示に必要な素材画像の一例としてスプライトなどを例示している。このため本実施形態においては、キャラクタROM340からキャラクタRAM321,322へのシーンの表示に必要なデータの展開効率が良くなる。その一方、一見すると、2つのスプライトデータ伸張コントローラ328,329による伸張制御が複雑になるようにも思える。
ところが本実施形態においては、キャラクタRAM321,322の数(2つ)に対応付け可能として切り替えの必要なくなるように2つのスプライトデータ伸張コントローラ328,329が設けられていることから、伸張処理の負荷が小さくなる一方、2つのキャラクタRAM321,322において書込状態と読出状態とが交互に切り替わる度に各スプライトデータ伸張コントローラ328,329が伸張処理を一旦中断するが、各スプライトデータ伸張コントローラ328,329は、その中断後、次にどこから伸張処理を再開すべきかに関して把握している。
従って本実施形態によれば、2つのスプライトデータ伸張コントローラ328,329を設けることで伸張処理の負荷を小さくすることができ、また伸張処理を高速化しても、それらの伸張制御が簡素化されているため、キャラクタROM340からキャラクタRAM321,322へのシーンの表示に必要なスプライトデータの展開効率が良くなる。このためVDP330が、ある映像を表示させようとした際に、そのシーンの表示に必要なスプライトデータについて、キャラクタROM340からキャラクタRAM321,322に展開する効率が良くなることにより、準備の完了が早くなるため、ある一定時間内より多くのスプライトデータを展開することができるようになる。
また本実施形態によれば、VDP330が、あるシーンを表示させようとした際に、より多く展開済みのシーンの表示に必要なスプライトデータに基づいてより多くのシーンを表示することができる。従って本実施形態によれば、ある一定時間内においてより多くのシーンを表示することができることから、多彩な演出表示を実現することができる。
また本実施形態では、キャラクタRAM321,322では、それぞれ同一のアドレスで管理された同一の記憶領域が存在しており、VDP330は、所望のアドレスを指定し、この指定したアドレスに該当するキャラクタRAM321,322の記憶領域から記憶済みのスプライトデータを読み出しているが、このようにすると次のような有用性を発揮することができる。
まず本実施形態では、キャラクタRAM321,322が複数設けられていることから、一見すると、VDP330がこれらキャラクタRAM321,322から動画像データやスプライトデータを取得する際のデータ取得制御に関して煩雑となってしまうようにも見える。
しかしながらキャラクタRAM321,322の各記憶領域は、それぞれ同一のアドレスによって管理されている上、さらにスプライトデータが、それぞれ同一のアドレスが付された記憶領域に格納されている。つまり、各キャラクタRAM321,322に記憶されたスプライトデータは、各キャラクタRAM321,322において同一のアドレスで管理することができるようになっている。
より具体的には、各キャラクタRAM321,322の記憶領域には、全く同一のスプライトデータが同一のアドレスによって管理されている。このためVDP330は、仮にキャラクタRAM321,322がどちらに切り替えられた場合においても、所望のアドレスを指定すれば、いずれのキャラクタRAM321,322からそのアドレスに該当する記憶領域から同一内容のスプライトデータを取得することができる。
このようにすると、VDP330は、キャラクタRAM321などがいくつ存在していても、キャラクタRAM321などが1つである場合と同様の簡単なデータ取得制御によって、スプライトデータを取得することができる。このようなことから、例えばVDP330の動作をプログラムによって制御している場合においては、VDP330の制御に係るプログラムを特別に作成する必要なく、このプログラムの開発者の開発上の手間がかからないようにすることができる。
(18.第2実施形態)
第2実施形態としてのパチンコ機は、上記装飾図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、第1実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第2実施形態において第1実施形態と同様の構成及び動作について説明が及ぶ場合は、第1実施形態と同一の符号を用いる。
このパチンコ機は、いわゆる「羽根物」と称される種類に属するものである。パチンコ機は大きく分けて本体枠及び遊技盤から構成されており、本体枠の内側に遊技盤が着脱可能に設置されている。遊技盤の前面(盤面)にはほぼ円形の遊技領域が形成されている。なお、遊技盤以外の外観上の構成は、第1実施形態とほぼ同様であるため、説明を省略する。
遊技盤の遊技領域内には、そのほぼ中央にひときわ大きく目を引くセンター役物が配置されており、このセンター役物は入賞装置としての機能を果たすものとなっている。センター役物の左右には普通入賞口が配置されているほか、その下方の位置に左右一対の1回始動口及び中央位置に1つの2回始動口が配列されている。その他にも、遊技領域には各種の装飾体や装飾ランプ、風車、図示しない多数の障害釘(いずれも参照符号なし)が設けられているが、これら構成要素には公知のものを適用可能であるため、ここでは個々の説明を省略する。
センター役物は左右一対の可動片(可動部材)を有しており、これら可動片は左右方向に開いた状態と、内側寄りに閉じた位置との間で変位することができる。これら可動片が開いた位置にあるとき、センター役物の大入賞口が開放された状態となる。センター役物の背後には図示しない大入賞口ソレノイドが配設されており、左右一対の可動片は大入賞口ソレノイドにより駆動される。
通常、センター役物が作動されていない場合、可動片は閉じた位置にあり、それゆえ大入賞口は閉塞された状態にある。一方、遊技中に上記の1回始動口または2回始動口に入賞すると、これを契機としてセンター役物が作動される。これにより、一対の可動片が開いた位置に移動し、大入賞口が所定時間だけ開放されて遊技球の入賞を可能とする。可動片の開閉動作は、1回始動口及び2回始動口にそれぞれ割り当てられている開閉回数(1回または2回)だけ行われる。
センター役物内には、左右の大入賞口にそれぞれ対応して大入賞口カウントスイッチが配設されている。各大入賞口に入賞した遊技球は、対応する大入賞口カウントスイッチにより通過を検出、つまり入賞個数がカウントされる。このようにセンター役物内に遊技球が受け入れられると、この遊技球がセンター役物内を転動する。このセンター役物内には図示しない所定の特定領域が存在し、この特定領域を遊技球が通過すると、遊技者にとって有利な特別遊技状態に移行する。
この特別遊技状態では、例えば最大15ラウンドにわたり、センター役物の左右一対に設けられた可動片の開閉動作(ラウンド動作)を繰り返して遊技球をセンター役物内に受け入れ可能な状態とし、受け入れた遊技球の数に応じた賞球が遊技者に対してなされる。このようにして遊技者は、特別遊技状態により多くの利益を享受することができる。
上記第2実施形態によれば、第1実施形態とほぼ同様の効果を上げることができるとともに、これに加えてさらに、制御ROM325のメモリ空間を有効に利用してより多くのスケジューラデータを制御ROM325に格納することができる。そして本実施形態によれば、図柄表示制御プログラムは、制御ROM325にさらに多く格納したスケジューラデータに従ってより多くのバリエーションで映像を表示することで、多彩な演出表示を実現できる。また本実施形態においては、制御ROM325にさらに大きなデータサイズのスケジューラデータに従って、より高い解像度で或いはより広い表示範囲で映像を表示することで、この映像に接した遊技者の遊技意欲を高めることができる。なお、このような演出表示としては、例えば図柄を変動表示したり、その抽選結果に応じて停止図柄が特定の表示態様になるかもしれないと遊技者に期待させる演出表示を挙げることができる。
(19.第3実施形態)
次に本発明の第3実施形態としての遊技機が適用されたスロットマシンの構成例について説明する。
第3実施形態としてのスロットマシンは、上記装飾図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、第1実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第3実施形態において第1実施形態と同様の構成及び動作について説明が及ぶ場合は、第1実施形態と同一の符号を用いる。
このスロットマシンは箱形の筐体を有しており、この筐体をベースとして遊技場の島設備等に設置される。島設備には、複数台のスロットマシンが幅方向に列をなして配置され、通常、その台間にメダルサンド(図示していない)が付属して配置されている。このメダルサンド(台間サンド)に例えば現金を投入すると、その金額に見合った枚数分のメダルが貸し出され、遊技者はこれらを用いてスロットマシン遊技を実施することができる。なお、遊技媒体は特にメダルやコインに限らず、遊技球やトークン等を用いる態様であってもよい。あるいは、台間サンドにプリペイドカードを挿入し、その残り度数とメダル等を交換して遊技を実施する態様であってもよい。
スロットマシンの筐体は、遊技者に相対する前面に前面扉を有しており、この前面扉は一側端(この例では左側端)を中心として手前に開くことができる。この前面扉には鍵穴が形成されており、この鍵穴は、挿入した専用鍵を左右に各々回転可能な構成となっている。ここで、このスロットマシンにおいては、専用鍵を右に回した場合、施錠されている前面扉を解錠可能となっている。また、この前面扉はその中程の位置にガラス板(透明板)を有しており、その中央に矩形の表示窓が形成されている。このスロットマシンは、機械的な図柄表示装置(図柄表示手段)の一例として3つのリール(左リール、中リール、右リール)を装備しており、これらのリールは前面扉の奥、つまり、筐体の内部に配置されている。
各リールの外周にはそれぞれリール帯が張り巡らされており、その表面に各種の図柄が付されている。図示されていないが、図柄には例えば、数字の「7」を図案化したものや特定のアルファベット(またはその文字列)を図案化したもの、ベル等の縁起物を図案化したもの、スイカ、リンゴ、チェリー等の青果類を図案化したもの、あるいは、スロットマシンの機種を特徴付けるキャラクターや図形、記号等を図案化したものが含まれている。
スロットマシンは、これらリールを回転または停止させることで、図柄の表示態様を変動させたり停止させたりすることができる。なお、スロットマシンの前面からは、表示窓を透かしてリールの一部のみが視認可能であり、その停止時には各リールにつき3つの図柄が有効に表示されるものとなっている。
ガラス板のうち、表示窓の両脇にはそれぞれ表示領域が形成されており、この表示領域には各種の文字情報や図柄情報が所定の配列で付されている。ガラス板の背後にはランプユニットが配置されており、この表示領域内の情報はランプによって点灯表示される。例えば、最初に遊技者がメダル投入口を通じてメダルを投入すると、その投入枚数に応じてベット数が加算され、このとき右側の表示領域ではベット数に対応したメダルラインランプが点灯表示される。ベット数が最大(例えば3ベット)に達すると、さらに投入されたメダルはクレジットとして貯留され、そのクレジット数は表示部に数値表示される。
メダルラインランプが点灯表示された状態で遊技者が始動レバー(始動操作手段)を操作すると、内部抽選(内部的な抽選)が実行されるとともに、リールが一斉に回転し始めて図柄が変動する。さらに遊技者が停止ボタン(停止操作手段)を操作すると、右・中・左のそれぞれに対応するリールが回転を停止して図柄の変動が停止する。ここで図柄の変動が停止する際には、上記内部抽選の結果に応じて、所定の図柄の組み合わせの表示が許容される。
このとき、表示窓内で有効化されている有効ライン上に一定の図柄の組み合わせ(例えば特定の図柄の組み合わせが一列に揃った状態)が表示されると、遊技者に特典が付与される。この特典としては、例えばメダルの払い出しや特別遊技状態(いわゆるビッグボーナスゲームやレギュラーボーナスゲーム、あるいは、アシストタイム、チャレンジタイム等)への移行等を挙げることができ、遊技者は特別遊技を実行することでより多くのメダルの払い出しを受けることが可能となる。
上述した遊技操作によって所定の図柄の組み合わせが有効ライン上に表示されると、そのとき表示された図柄の組み合わせの種類に応じたメダルの払出枚数が、表示部に表示される。また、ビッグボーナスゲームやレギュラーボーナスゲームに移行すると、その進行中に残りゲーム数が表示部に表示されるものとなっている。払い出されたメダルは表示部のクレジット数が最大になるまでクレジットとして貯留され、最大クレジット数を超えた分のメダルは払出口を通じて受け皿に払い出される。また遊技者は、クレジット精算ボタンを操作することでメダルの貯留(クレジット)を解除し、それまで貯留していたメダルの払い出しを受けることも可能である。
本実施形態のスロットマシンは、表示窓の上方に液晶表示装置(表示装置、表示器)を有しており、この液晶表示装置には、遊技の進行に伴う演出のための映像や各種ボーナスゲームでの獲得メダル数等が表示されるものとなっている。また、払出口の左右には、遊技の進行に伴う効果音やBGM、音声等を出力するための2個のスピーカが設けられている。その他、前面扉には各所にランプが配置されており、これらランプは遊技状態に応じた発光装飾による演出を実施することができる。
図19は、スロットマシン101に装備されている各種の機構要素や電子機器類、操作部材等の構成を概略的に示している。このスロットマシン101は、遊技の進行を統括的に制御するためのメイン制御基板192(遊技制御部)を有しており、このメイン制御基板192には、CPU210、ROM212、RAM214及び入出力インタフェース216などが実装されている。このCPU210は、遊技制御プログラムなどのソフトウェアによって抽選用の乱数を発生し、内部的に抽選を実行する。そしてCPU210は、通常遊技中に、始動レバー118の操作を契機にソフトウェア上で取得した乱数値と当り値とを照合して、この内部抽選に当選しているか否かを判定する。
このメイン制御基板192には、ベットボタン112,114,116や始動レバー118、停止ボタン120,122,124及び貯留精算ボタン146等が接続されているこれら操作ボタン類は、図示しないセンサを用いて遊技者による操作を検出し、検出された操作信号をメイン制御基板192に出力する。具体的には、始動レバー118は、上記3つのリールを始動させる操作信号をメイン制御基板192に出力し、停止ボタン120,122,124は、各々3つのリールを停止させる操作信号をメイン制御基板192に対して出力する。
また、図示しないエラー解除センサが上記鍵穴の奥に設置されており、このエラー解除センサは、この鍵穴に専用鍵が挿入された後に左回りに回されたことを検出する機能を有し、この検出を契機にリセット信号をメイン制御基板192に出力する。一方、このエラー解除センサは、この鍵穴に専用鍵が挿入された後に右回りに回されて解錠することで前面扉が開放されると、上記前面扉の裏に設けられた扉開放センサ232により開放信号がメイン制御基板へ出力される。この扉開放センサ232はエラー解除センサ200と隣接して設置されており、前面扉が開放されると、前面扉と本体部分とが離れたことを検出することができる。
またスロットマシン101にはメイン制御基板192とともにその他の機器類が収容されており、これら機器類からメイン制御基板192に各種の信号が入力されている。機器類には、前述の3つのリールを擁するリール装置(左リール駆動モータ188a、中リール駆動モータ188b及び右リール駆動モータ188cなど)の他、ホッパ装置178等がある。
リール装置は、各リールの回転に関する基準位置を検出するための位置センサを有しており、これら位置センサ(各リールに対応してそれぞれ左リール位置センサ206a、中リール位置センサ206b、右リール位置センサ206cと呼ぶ)からの検出信号(インデックス信号)がメイン制御基板192に入力されている。また上記メダル投入口の奥には、投入センサ204およびロックアウトソレノイド202が設置されている。
このうち投入センサ204は、図示しないメダル投入口から投入されたメダルを検出し、この検出信号をメイン制御基板192に出力する。一方、ロックアウトソレノイド202は、前面扉の内側でメダル投入口の奥に配置されたメダルセレクタの通路をロックアウトする(塞ぐ)役割を果たす。このロックアウトソレノイド202は、ノーマル(非作動)の状態でメダルセレクタの通路をロックアウトしているが、作動時にはこの通路を開き(ロックアウト解除)、メダルの投入を受け付け可能な状態にする。また、投入されたメダルは投入センサ204で検出される。逆に、ロックアウトソレノイド202が非作動状態になるとメダルセレクタがロックアウトされてメダルの投入が受け付けられなくなり、遊技者がメダルを投入しても、そのまま吐き出されて受け皿に返却される。また、このとき合わせて投入センサ204の機能が無効化されるので、メダル投入によるベット加算、クレジット加算のいずれも行われなくなる。
ホッパ装置178は、払出し口内に払い出されたメダルを1枚ずつ検出する払出センサ198を有しており、この払出センサ198から、メダル1枚ごとの払出メダル信号がメイン制御基板192に入力されている。また、図示しない遊技メダル補助収納庫にはメダル満タンセンサ186が設けられており、内部に貯留されたメダルの貯留数が所定数量を超えた場合、メダルが予め定められた数量を超えたことを示す検出信号をメイン制御基板192に出力することができ、液晶表示部158等により遊技機の異常を知らせるエラー表示が行われ、遊技者等に報知されることとなっている。
一方、メイン制御基板192からは、前述した各リールを回転させるための各リール駆動モータ188a,188b,188cを含むリール装置及び、ホッパ装置178に対して制御信号が出力される。すなわち、このメイン制御基板192は、各リール駆動モータ188a,188b,188cの起動及び停止を制御するための駆動パルス信号を、リール装置やホッパ装置178に対して出力する。またホッパ装置178には、組み合わせが表示された図柄の種類に応じてメイン制御基板192から駆動信号が入力され、これを受けてホッパ装置178はメダルの払い出し動作を行なう。
このときホッパ装置178内に、払出しに必要な枚数のメダルが不足している状態か、或いはメダルが全く無い状態であると、払出しセンサ198による枚数検出が滞ることとなる。この状態で所定時間経過(例えば3秒間)すると、この払出しセンサ198が、払出しメダルの異常信号をメイン制御基板192に対して出力する。これを受けて、メイン制御基板192は、メダルの払出しに異常が発生したことを知らせる内容を、エラー表示部134や液晶表示部158等に表示させる。
スロットマシン101は、メイン制御基板192の他にサブ制御基板194(演出制御部、表示制御部)を備えており、このサブ制御基板194には、CPU218、ROM220、RAM222、入出力インタフェース230、音源IC228及びオーディオアンプ226が実装されている。このサブ制御基板194は、メイン制御基板192から各種の指令信号を受け、各ランプ160,162,164,166各々の点灯、点滅及び消灯を制御しているとともに、スピーカ156の作動を制御している。このサブ制御基板194には、後述する表示制御基板30aが接続されている。この表示制御基板30aには、その制御によって映像を表示する液晶表示部158が接続されている。なお、この表示制御基板30aの機能はサブ制御基板194に搭載されていても良い。この場合、サブ制御基板194には表示制御基板30aが接続されておらず、直接、液晶表示部158が接続されていることになる。
さらに、メイン制御基板192には外部端子板196が接続されており、スロットマシン1はこの外部端子板196を介して遊技場(ホール)のホールコンピュータ208に接続されている。この外部端子板196は、このメイン制御基板192から送信される各種信号(投入メダル信号や払出メダル信号、遊技ステータス等)をホールコンピュータ208に中継する役割を担っている。
その他、スロットマシン101の内部には電源ユニット170が収容されており、この電源ユニット170は外部電源から電力を取り込んでスロットマシン101の作動に必要な電力を生成する。ここで生成された電力は、電源ユニット170から各ユニット(メイン制御基板192、サブ制御基板194及び表示制御基板30aなど)に供給されている。
また電源ユニット170には、設定キースイッチ172、リセットスイッチ174及び電源スイッチ176が付属している。これらスイッチ類はいずれもスロットマシン101の外側に露出しておらず、前面扉を開くことで始めて操作可能となる。このうち電源スイッチ176は、スロットマシン101への電力供給をON/OFFするためのものであり、設定キースイッチ172は、例えばソフトウェアによって生成された抽選用乱数を用いた当選確率の設定(例えば設定1〜6)を変更するためのものである。またリセットスイッチ174は、スロットマシン101で発生したエラーを解除するためのものであり、さらには設定キースイッチ172とともに設定を変更する際にも操作される。
ここで、上記表示制御基板30aは、液晶表示部158に表示させる組み合わせ映像群などの映像の内容が異なる点を除いて、第1実施形態における装飾図柄制御基板30とほぼ同様の構成であるとともにほぼ同様の機能を発揮し、この液晶表示装置158によるキャラクタ画像などの映像の表示動作を制御している。なお、この表示制御基板30aは、第1実施形態におけるリーチ演出などの変動表示パターンとは異なる演出表示であって、遊技の進行などに伴う演出表示としていくつかのシーン(映像)を組み合わせてある組み合わせ映像群を表示させる機能を有する。
この表示制御基板30aには、第1実施形態(図3参照)と同様に図柄CPU311(データ展開プロセッサ、スプライト伸張制御プロセッサ、動画像伸張制御プロセッサ、制御プロセッサ、動作指示プロセッサ、表示制御プロセッサ)、2つのキャラクタRAM321,322(揮発性ダイナミック映像メモリ)、制御ROM325(制御メモリ、外付け制御メモリ)、キャラクタROM340(不揮発性映像メモリ)、VDP(映像表示プロセッサ)330及びメモリインターフェース制御回路324が搭載されている。この図柄CPU311は、内蔵メモリ311aを有しており、第1実施形態と同様に図示しないローダの機能によって、制御ROM325から表示制御プログラム(第1実施形態における図柄表示制御プログラムに相当)を読み出して内蔵メモリ311aに転送する機能を有する。この表示制御プログラムは、制御ROM325に格納されているスケジューラデータに従って、液晶表示部158に映像を表示させる機能を有する。
また、このメモリインターフェース制御回路324は、第1実施形態と同様に、例えばCPUインターフェース316、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329(2つのスプライト伸張装置)、展開データメモリコントローラ315(リフレッシュ監視部)、第1キャラクタRAMコントローラ314(メモリリフレッシュ部)、第2キャラクタRAMコントローラ317(メモリリフレッシュ部)及びVDPインターフェース320を備えており、第1実施形態とほぼ同様の動作を実行する。
なお表示制御基板30aは、その機能がサブ制御基板194に搭載されている形態であってもよい。つまりサブ制御基板194は、これら図柄CPU311、キャラクタRAM321,322、制御ROM325、キャラクタROM340、VDP330及びメモリインターフェース制御回路324などを備えている形態であってもよい。
第1キャラクタRAM321及び第2キャラクタRAM322には、各々第1実施形態と同様に複数の共通エリアが区画形成されている。ここである変動表示パターンを例示すると、図柄CPU311は、第1実施形態と同様に、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを、予め決められた複数の共通エリアのいずれかに固定的に記憶させる(データ展開プロセッサ)。また第3実施形態においても、第1実施形態と同様に上記先読み制御が実行される。
スロットマシン101は、表示制御基板30aの図柄CPU311の制御によって、VDP330が、キャラクタROM340に格納されているキャラクタ画像データ(動画像データ及びスプライトデータ)の読み出しを指示し、この読み出したキャラクタ画像データに基づくキャラクタ画像を液晶表示部158(表示装置、表示器)に表示させる構成となっている(例えば図15(A)〜図15(C))。
本発明の第3実施形態によれば、遊技機が回胴式遊技機である点を除いて第1実施形態とほぼ同様の効果を上げることができるとともに、これに加えてさらに、制御ROM325のメモリ空間を有効に利用してより多くのスケジューラデータを制御ROM325に格納することができる。そして本実施形態によれば、図柄表示制御プログラムは、制御ROM325にさらに多く格納したスケジューラデータに従ってより多くのバリエーションで映像を表示することで、多彩な演出表示を実現できる。また本実施形態においては、制御ROM325にさらに大きなデータサイズのスケジューラデータに従って、より高い解像度で或いはより広い表示範囲で映像を表示することで、この映像に接した遊技者の遊技意欲を高めることができる。なお、このような演出表示としては、例えば特別遊技状態に移行するかもしれないと遊技者に期待させる演出表示を挙げることができる。
(20.その他の実施形態についての言及)
以上は一実施形態についての説明であるが、本発明の実施の形態がこれに制約されることはない。以下に、その他の実施形態についていくつか例を挙げて言及する。
上記実施形態においては、2つの揮発性ダイナミック映像メモリとして、2つのキャラクタRAM321,322が設けられているが、その代わりに1つのキャラクタRAMが設けられている構成であっても良い。
上記実施形態では、組み合わせ映像群としてリーチ演出に係る変動表示パターンを例示しているが、これに限られず、その他の演出表示に適用しても良い。また上記実施形態では、キャラクタROM340に予め格納されているシーン表示に必要な素材画像データ(動画像に係るデータ及びスプライトデータ)が圧縮された形態を採用しているが、これに限られず、圧縮されていない形態を採用しても良いことはいうまでもない。
また本実施形態では、映像としてのシーンとして、動画像を背景とするとともに前景にスプライトを表示させる形態を例示しているが、これに限られず、背景をスプライトとするとともに前景に動画像及びスプライトを表示させる形態など、動画像及びスプライトの少なくとも一方を表示する形態を採用することもできる。
上記各実施形態では、液晶素子を用いて表示動作を実行する表示手段(装飾図柄表示装置など)を例示しているがこれに限られず、EL(エレクトロルミネッセンス:Electro Luminescence)素子を用いた表示手段或いはプラズマを用いた表示手段に適用しても良い。
また、上記各実施形態は、遊技媒体として遊技球を用いて遊技する回胴式遊技機にも適用することができる。遊技球を用いた回胴式遊技機は、遊技媒体としてメダルやコインを用いた回胴式遊技機とほぼ同様の構成であるとともにほぼ同様の動作を実行するが、以下の点が、メダルやコインを用いた回胴式遊技機とは異なっている。
つまり、遊技球を用いて遊技する回胴式遊技機では、まず、遊技媒体としての遊技球を規定個数分だけまとめて遊技価値の1単位とする遊技価値計数装置(遊技価値計数手段)を備え、この遊技価値計数装置によって1単位とされた所定数の遊技価値を掛ける点が異なっている。さらに、遊技球を用いて遊技する回胴式遊技機では、表示された図柄の組み合わせの種類に応じた数の遊技価値に相当する個数分の遊技球を遊技者に与える(遊技価値付与手段)点が異なっている。なお、メダルやコインを用いて遊技する回胴式遊技機及び、遊技球を用いて遊技する回胴式遊技機のいずれにおいても、1回のゲームごとに掛けられる遊技価値の所定数は1通りでもよいし、複数通りであってもよい。
このような遊技球を用いて遊技する回胴式遊技機によれば、第1実施形態と同様の効果を発揮することができるとともに、これに加えてさらに、制御ROM325のメモリ空間を有効に利用してより多くのスケジューラデータを制御ROM325に格納することができる。そして本実施形態によれば、図柄表示制御プログラムは、制御ROM325にさらに多く格納したスケジューラデータに従ってより多くのバリエーションで映像を表示することで、多彩な演出表示を実現できる。また本実施形態においては、制御ROM325にさらに大きなデータサイズのスケジューラデータに従って、より高い解像度で或いはより広い表示範囲で映像を表示することで、この映像に接した遊技者の遊技意欲を高めることができる。なお、このような演出表示としては、例えば特別遊技状態に移行するかもしれないと遊技者に期待させる演出表示を挙げることができる。
上記実施形態においては、主としてハードウェアによって処理が実行されているように表されているが、その代わりにソフトウェアによって処理を実行するようにしても良い。