以下、本発明をパチンコ機に適用した一実施形態について、各対応図面を参照しながら説明する。
(1.第1実施形態)
図1は、本発明の第1実施形態としての遊技機が適用されたパチンコ機1の構成例を示す正面図である。以下、まずパチンコ機1の概要構成例について説明する。
このパチンコ機1は、木製の外枠を外形のベースとして構成され、その内側に基枠や前面枠等の枠体(これらを総称して「本体枠17」とする。)が装着されている。このうち、基枠には遊技盤2が着脱可能に嵌め込まれており、その前面にほぼ円形の遊技領域が形成されている。遊技盤2には、多数の誘導釘(図示されていない)が所定のゲージ配列で打設されているほか、風車や各種入賞口15、ゲート口13、装飾ランプ等が盤面構成要素として配設されている(いずれも参照符号なし)。各種入賞口15には、遊技球の入賞を検出するための入賞検出器(図1において図示せず)が設けられている。また遊技盤2の裏面には、図1において図示しないメイン制御基板、サブ制御基板及び図柄制御基板などの各基板や電子部品が装着されている。
また、パチンコ機1の前面には遊技球を容れるための上皿4及び下皿6が設けられているほか、その右下隅位置には上皿4に収容された遊技球を順次発射させるための発射ハンドル8が設けられている。また上皿4の左側位置には、遊技者が適宜プッシュ操作できる演出ボタン10が配置されている。その他、パチンコ機1の前面(ガラス枠5)には多数の枠ランプ(枠装飾ランプなど)が装飾的に配置されるほか、遊技の進行に伴い音響出力を行うためのスピーカ装置等が設置されている(いずれも参照符号なし)。ガラス枠5は、図示しないヒンジ機構を介して本体枠17の前面を開放したり閉止したりすることが可能な構成となっている。
パチンコ機1は通常、遊技場の島設備に複数台が横方向に並べて設置されており、その台間サンド12としてカードユニット(CR機の場合)が設けられている。
また、センター役物14の下縁部には球ステージ14aが形成されており、この球ステージ14a上に遊技球が誘導されると、そこで一時的に滞留しながら動きに変化が与えられる。球ステージ14aにおいて動きが与えられた遊技球は、この球ステージ14aに形成された球誘導路14bの入口に落下すると、この球誘導路14bに誘導されてその直下に設けられた入賞検出器(図1において図示せず)によって入賞が検出される。
また、上記のセンター役物14内に装飾図柄表示装置16が配置されており、この装飾図柄表示装置16は、例えば始動入賞口への入賞を契機として表示内容が変化し、このとき画面上にて図柄の変動を表す画像等が表示される。図柄は一定時間に渡って変動した後に停止し、このとき所定の停止図柄態様(例えば同種の図柄が3つ揃った表示態様)になると大当りになり、パチンコ機1において特別な遊技状態に移行する。
特別遊技状態に移行すると、装飾図柄表示装置16による表示内容が大当り中のラウンド表示に切り替わり、そこでラウンド演出(入賞個数のカウント表示や継続ラウンド回数など)が実行される。さらに特別遊技状態後の特典遊技(いわゆる「確変」や「時短」など)に移行すると、それぞれ特典遊技中である旨の情報(「確変中」や「時短中」)などが表示される場合もある。
遊技盤2におけるセンター役物14の下縁部には、例えば4つの発光ダイオード(LED)を含む特別図柄表示装置41が設けられている。この特別図柄表示装置41は、メイン制御基板3に接続されており、始動入賞を契機に所定時間にわたり点灯状態を変化させる構成となっている。また、このセンター役物14の下縁部には、例えば2つの発光ダイオード(LED)を含む普通図柄表示装置42が設けられている。この普通図柄表示装置42も、メイン制御基板3に接続されており、ゲート口13の通過を契機に所定期間にわたり点灯状態を変化させる構成となっている。
また遊技盤2の下縁部には、例えば4つの発光ダイオード(LED)を含む特別図柄保留ランプ43が設けられている。この特別図柄保留ランプ43は、メイン制御基板3に接続されており、図柄表示手段としての特別図柄表示装置41による点灯状態が変化中に始動入賞を保留して、その保留状況を表示する構成となっている。さらに遊技盤2の下縁部には、例えば4つの発光ダイオード(LED)を含む普通図柄保留ランプ44が設けられている。この普通図柄保留ランプ44は、メイン制御基板3に接続されており、普通図柄表示装置42による点灯状態が変化中にゲート口13の通過を保留して、その保留状況を表示する構成となっている。また遊技盤2の背面には、図1において図示しないメイン制御基板、サブ制御基板及び払出制御基板、賞球払出装置などが配設されている。
(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の前面枠や上皿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の電気的な構成を簡素化して図示した一例を示すブロック図であり、図6は、図3に示す映像表示プロセッサ(VDP)330の電気的な構成例を示すブロック図である。
図3に示す図柄制御基板30は、キャラクタROM340、第1キャラクタRAM321、第2キャラクタRAM322、中央演算処理装置(以下「図柄CPU」と呼称する)311、制御ROM325、映像表示プロセッサ330及びメモリインターフェース制御回路324を備えている。
この図柄制御基板30は、サブ制御基板35からの演出表示コマンドに基づいて演出表示動作を制御する機能を有する。この図柄制御基板30においては、図柄表示制御プログラムの実行によって演出表示動作が制御されている。まずVDP330は、上記装飾図柄表示装置16に接続されており、表示させるべき映像に対応した描画データを装飾図柄表示装置16に出力する構成となっている。
図柄CPU(Central Processing Unit)311は、サブ制御基板35からの演出表示コマンドに基づいて装飾図柄表示装置16における表示を制御する。そしてVDP330は、この図柄CPU311(中央演算処理装置)の指示に基づいて、装飾図柄表示装置16に表示するための描画データを生成する。この図柄制御基板30を構成する各種回路は、例えば6層の配線層を持つ単一の基板上に設けられている。
図柄CPU311は、演出表示コマンドに対応する表示態様を実現する描画データの生成条件を規定した描画パラメータを制御ROM325から読み出す。この描画パラメータとしては、描画の色彩情報を規定したカラーパレットデータ、スプライトの描画条件を規定したスプライト属性データ、バックグラウンド(背景)の描画条件を規定したバックグラウンド属性データである。図柄CPU311は、制御ROM325から読み出した描画パラメータなどをVDP330の各種レジスタに設定(指示)する。このVDP330は、この描画パラメータに基づいて、装飾図柄表示装置16に出力する描画データを生成する。
また図柄制御基板30は、これ以外にもキャラクタROM340及び制御ROM325を備えている。この制御ROM325は、図柄CPU311が実行する図柄表示制御プログラム及び、図柄CPU311などが参照する展開情報を管理する展開テーブルを不揮発的に記憶している。この展開テーブルは、上記変動表示パターンを表示するにあたり参照され、その変動表示パターンに含まれるシーンの組み合わせや各シーンの表示順序を管理している。なお、図柄表示制御プログラムがこの展開テーブルの機能を含んでいても良い。
一方、キャラクタROM340は、変動表示パターンを構成する各シーンに係るデータ(映像の表示に必要なデータ)群が予め記憶されている。すなわち各シーンの表示に必要な素材としてのスプライトデータ(や動画像データ)を含んでいるのである。ここで、上記展開テーブルは、キャラクタROM340において、各スプライトデータ(や動画像データ)を格納している位置としてのアドレスや、各スプライトデータを格納している位置としてのアドレスを管理している。
この動画像データは、予め設定された非可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。一方、スプライトデータは、予め設定された可逆な圧縮方式によってデータ構造が圧縮された状態で、キャラクタROM340に格納されている。本実施形態では、圧縮された動画像データを「圧縮動画像データ」と呼称する。
ここでスプライトは、その表示態様として、背景としての動画像に重ねた場合、この動画像を視覚的に透過させない非透過領域及び、背景としての動画像を視覚的に透過させる透過領域を有している。なお本実施形態においては、圧縮されたスプライトデータを「圧縮スプライトデータ」と呼称する。
次に図柄CPU311は、内蔵メモリとしてのSDRAM(Synchronous Dynamic Ramdom Access Memory)312を備えている。この図柄CPU311(動作指示プロセッサ)は、制御ROM325(制御メモリ)、VDP330(映像表示プロセッサ)及びメモリインターフェース回路324に接続されている。この制御ROM325は、上記展開テーブルのみならず、図柄CPU311の制御によって演出表示動作を制御する図柄表示制御プログラムを格納する読み出し専用メモリである。
この図柄CPU311は、制御ROM325からSDRAM312に読み込んだ図柄表示制御プログラムの動作によって、サブ制御基板35からの演出表示コマンドに基づいてVDP330の動作を制御する。この図柄CPU311は、サブ制御基板35から受信した上記演出表示コマンドを解析し、この解析結果に応じた演出表示動作の実行を制御する。
この演出表示の具体例としては、リーチ演出表示や特別遊技状態におけるラウンド表示を挙げることができる。このリーチ演出表示は、例えば遊技球の入賞を契機とした大当り抽選において当選しそうであること或いは当選しないもののあたかも大当りに当選するかもしれないことを、遊技者などに対して暗示して遊技者を期待させる演出表示である。一方、ラウンド表示は、例えば特別遊技状態に移行している場合に、特別遊技状態における各ラウンドでの演出表示を表している。
このようなリーチ演出表示などに関する図柄の変動表示を実行する場合、上記図柄CPU311は、このリーチ演出表示などにおける変動表示パターンに含めるべき各シーン及び各シーンの表示順序を展開テーブルを参照して決定する。
(4.メモリインターフェース制御回路324の構成例)
図3に示すメモリインターフェース制御回路324は、図柄CPU311の制御によって、キャラクタROM340、第1キャラクタRAM321及び第2キャラクタRAM322と、VDP330との間のデータ交換に関するインターフェースを制御する機能を有する。このVDP330からメモリインターフェース回路324を介してキャラクタRAM321,322を参照すると、これらキャラクタRAM321,322に同一のスプライトデータが同一の場所(アドレス空間)に配置されているため、このVDP330は、キャラクタRAM321,322が切り替えられたとしても、これらキャラクタRAM321,322を各々区別することなく、あたかも1つのキャラクタRAMが存在しているかのように見えるようになっている。
このメモリインターフェース制御回路324は、CPUインターフェース316、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329、展開データメモリコントローラ315、第1キャラクタRAMコントローラ314、第2キャラクタRAMコントローラ317及びVDPインターフェース320を備えている。このメモリインターフェース制御回路324は、キャラクタROM340、図柄CPU311、VDP330及びキャラクタRAM321,322にそれぞれ接続されている。
CPUインターフェース316は、図柄CPU311とメモリインターフェース制御回路324とのインターフェースを制御しており、この図柄CPU311の他にも、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315に接続されている。
これら圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329及び展開データメモリコントローラ315は、それぞれレジスタ312a,327a(動画像レジスタ),328a(スプライトレジスタ),329a(スプライトレジスタ),315aを備えている。これらレジスタ312a,327a,328a,329a,315aは、CPUインターフェース316に接続されている。
(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によって制御される構成となっている。
動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、圧縮動画像データについて非可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また動画像データ伸張コントローラ327は、動画像レジスタ327aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。またこの動画像データ伸張コントローラ327は、伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
一方、スプライトデータ伸張コントローラ328及びスプライトデータ伸張コントローラ329は、それぞれレジスタ328a及びレジスタ329aに書き込まれる設定値によって、圧縮スプライトデータについて可逆圧縮データの伸張処理を開始したり、その伸張処理を中止するようになっている。また、スプライトデータ伸張コントローラ328,329は、それぞれ動画像レジスタ328,329aに書き込まれる設定値によって、転送元であるキャラクタROM340の圧縮動画像データの読み出し開始アドレス、読み出すデータ数(バイト数)、転送先であるキャラクタRAM321又はキャラクタRAM322への伸張データの書き込みアドレスが指定される。またこのスプライトデータ伸張コントローラ328,329は、それぞれ伸張の処理状態、その他(実行中、停止中)などが確認できるステータスレジスタを備えている。
(4−2.2つのスプライト伸張装置の構成)
ここで、スプライト伸張制御プロセッサとしての図柄CPU311は、2つのスプライト伸張装置としてのスプライトデータ伸張コントローラ328,329による伸張動作をそれぞれ独立して制御する機能を有する。これらスプライトデータ伸張コントローラ328,329は、それぞれ、上述のように図柄CPU311によって書き込まれるレジスタ328a及びレジスタ329a及び、図柄CPU311によるレジスタ328a,329aへの書き込みに基づいて、予め設定されたスプライト伸張方式に従って圧縮スプライトデータをスプライトデータに伸張するスプライト伸張部(図示せず)を含んだ構成となっている。
まず、キャラクタROM340に、スプライトデータを圧縮した圧縮スプライトデータを記憶させておくと、このキャラクタROM340の記憶容量を有効活用してより多くのスプライトデータを記憶させておくことができるものの、スプライトを含めたシーンを表示する際には、キャラクタROM340から読み出した圧縮スプライトデータを伸張する必要がある。
ここで、このスプライトデータをスプライトデータ伸張コントローラ328,329によって伸張しようとすると、キャラクタRAM321,322における記憶状態と読出状態との切り替えが必要であることを考慮すれば、一見すると、伸張制御が複雑になることも考えられる。しかしながら本実施形態では、スプライトデータ伸張コントローラ328,329が存在している場合においても、図柄CPU311によるスプライトレジスタ328a,329aへの各書き込みという簡単な制御によって、圧縮スプライトデータを伸張してスプライトデータを生成することができるため、全体として伸張制御が簡素化される。
(4−3.動画像伸張装置の構成)
また、動画像伸張制御プロセッサとしての図柄CPU311は、動画像データ伸張コントローラ327による伸張動作を制御する機能を有する。この動画像データ伸張コントローラ327は、上述のように図柄CPU311によって書き込まれるレジスタ327a及び、図柄CPU311によるレジスタ327aへの書き込みに基づいて、圧縮動画像データを予め設定された動画像伸張方式に従って伸張して動画像データとする動画像伸張部とを含んだ構成となっている。
まず、キャラクタROM340に、動画像データを圧縮した圧縮動画像データを記憶させておくと、このキャラクタROM340の記憶容量を有効活用してより多くの動画像に係るデータを記憶させておくことができるものの、スプライトのみならず動画像を含めたシーンを表示する際には、キャラクタROM340から読み出した圧縮スプライトデータのみならず圧縮動画像データも伸張する必要がある。
ここで、上述のようにスプライトデータを伸張するとともに、この動画像データを動画像データ伸張コントローラ327によって伸張しようとすると、キャラクタRAM321,322における記憶状態と読出状態との切り替えが必要であることを考慮すれば、伸張制御が複雑になることも考えられる。
しかしながら本実施形態によれば、スプライトデータ伸張コントローラ328,329とは別にさらに動画像データ伸張コントローラ327が存在している場合においても、図柄CPU311による動画像レジスタ327aへの書き込みという簡単な制御によって、圧縮スプライトデータの伸張とともに、圧縮動画像データを伸張して動画像データを生成することができるため、全体として伸張制御が簡素化される。
また、上記圧縮データメモリコントローラ312は、レジスタ312aに書き込まれた設定値に従って、キャラクタROM340から、表示すべき変動表示パターンに含まれる各シーンを表示するための圧縮動画像データ及び圧縮スプライトデータを読み出す制御を行う。
ここで図柄CPU311は、CPUインターフェース316を経由して、圧縮データメモリコントローラ312のレジスタ312aに、例えばキャラクタROM340の種類に応じたアクセスタイミングを設定する。
具体的には、図柄CPU311が制御ROM325の展開テーブルの内容に従って、動画像データ伸張コントローラ327の動画像レジスタ327a、スプライトデータ伸張コントローラ328のレジスタ328a及び、スプライトデータ伸張コントローラ329の329aにそれぞれ書き込んだ設定値に従って、キャラクタROM340の記憶領域の転送元アドレスを指定する。このように図柄CPU311が指定すると、圧縮データメモリコントローラ312は、この指定された転送元アドレスに該当するキャラクタROM340の記憶領域から圧縮スプライトデータ及び圧縮動画像データを、それぞれ書き込まれた設定値に基づくタイミングで読み出して、スプライトデータ伸張コントローラ328,329及び動画像データ伸張コントローラ327へ引き渡す。
動画像データ伸張コントローラ327は、非可逆な圧縮方式で圧縮されている圧縮動画像データを、その非可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。一方、スプライトデータ伸張コントローラ328は、可逆な圧縮方式で圧縮されている圧縮スプライトデータをキャラクタROM340から読み出して、その可逆な圧縮方式に対応した伸張方式によって伸張する機能を有する。
本実施形態では、メモリインターフェース制御回路324には、キャラクタROM340から読み出した圧縮スプライトデータを伸張する伸張手段として、2個のスプライトデータ伸張コントローラ328,329が設けられている。これらスプライトデータ伸張コントローラ328,329は、それぞれキャラクタRAM321,322に対して固定的に対応づけられているのではなく、キャラクタRAM321,322の数に応じて設けられている。また、これらスプライトデータ伸張コントローラ328,329は、キャラクタRAM321,322に各々対応して設定(切り替え)可能であり、各々キャラクタROM340から読み出した圧縮スプライトデータを独立してスプライトデータに伸張している。
動画像データは、図柄CPU311によるレジスタ327aへの書き込みを契機に、動画像データ伸張コントローラ327によって伸張され、この動画像データ伸張コントローラ327から各々展開データメモリコントローラ315に引き渡される。
また、スプライトデータは、図柄CPU311によるレジスタ328a,329aへの書き込みを契機に、このスプライトデータ伸張コントローラ328,329によってそれぞれ独立して伸張され、スプライトデータ伸張コントローラ328,329から各々独立して展開データメモリコントローラ315に引き渡される。
(4−4.展開データメモリコントローラ)
展開データメモリコントローラ315は、図柄CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAM321及び第2キャラクタRAM322における記憶状態(「展開状態」とも呼称する)と読出状態との切り替え条件が指定される。本実施形態では、例えば外部信号の立ち上がりエッジに同期して第1キャラクタRAM321と第2キャラクタRAM322とを切り替えている。
そして、この展開データメモリコントローラ315は、図柄CPU311によってレジスタ315aに書き込まれた設定値に従って、第1キャラクタRAMコントローラ314及び第2キャラクタRAMコントローラ317を制御する。この第1キャラクタRAMコントローラ314は、第1キャラクタRAM321へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。一方、第2キャラクタRAMコントローラ317は、第2キャラクタRAM322へのスプライトデータ及び動画像データの展開や読み出しを制御する機能を有する。本実施形態では、シーンの素材としてスプライト及び動画像を例示しているが、以下の説明においては、シーンの素材として主にスプライトデータを例示する。
またさらに、これらキャラクタRAMコントローラ314,317(メモリリフレッシュ部)は、それぞれ展開データメモリコントローラ315の制御によって、キャラクタRAM321,322に対してリフレッシュ動作を実行する機能を有する。この展開データメモリコントローラ315は、図柄CPU311の指示に従って、キャラクタRAMコントローラ314,317に対するリフレッシュ動作の実行を各々制御している。なお、本実施形態では、第1キャラクタRAMコントローラ314が第1キャラクタRAM321に対してリフレッシュ動作を実行し、第2キャラクタメモリコントローラ317が第2キャラクタRAM322に対してリフレッシュ動作を実行するように対応づけられている。
この展開データメモリコントローラ315(リフレッシュデータ提供部)は、キャラクタRAM321,322に各々リフレッシュ動作を実行させるためのリフレッシュキャラクタデータを有し、このリフレッシュキャラクタデータをVDP330に提供する機能を有する。具体的には、展開データメモリコントローラ315は、図柄CPU311の指示に従って、VDP330に対してリフレッシュデータを提供する。なお、この展開データメモリコントローラ315は、このように予め用意しておいたリフレッシュキャラクタデータをVDP330に提供する代わりに、リフレッシュキャラクタデータを生成してVDP330に提供するようにしても良い。
ここで、上記スプライトデータは、例えば64ドット×64ドットの表示範囲に8ビット(256色)でスプライトを表示させるための画像データである。一方、このリフレッシュキャラクタデータも、例えば64ドット×64ドットの表示範囲に8ビット(256色)でリフレッシュキャラクタを表示させるための画像データである。つまり、本実施形態においては、リフレッシュキャラクタデータとスプライトデータとがその表示内容は異なるもののデータ構造が同様であることから、1つのスプライトの表示範囲が1つのリフレッシュキャラクタの表示範囲と同一となっている。そして、この展開データメモリコントローラ315は、自らとVDP330とを接続するバス線、例えば32ビット幅のバス線を介して、VDP330に対してスプライトデータを提供する。
そして、キャラクタRAMコントローラ314,317は、図柄CPU311の指示に従って、VDP330が展開データメモリコントローラ315からリフレッシュキャラクタデータを読み出したことを契機として、各々キャラクタRAM321,322に対してリフレッシュ動作を実行するようになっている。
さらに本実施形態では、VDP330が、図柄CPU311の指示に従って、この読み出したリフレッシュキャラクタデータに基づくリフレッシュキャラクタをラインバッファ336の可視領域外に記憶させている。ここで本実施形態においては、リフレッシュキャラクタとして着色した画像を採用することができる。
ここでいうフレームにおける可視領域とは、配置させたスプライトがVDP330によって装飾図柄表示装置16に表示される領域をいう。一方、可視領域外とは、フレームにおける可視領域を除いた領域をいい、例えば配置させたスプライトがVDP330によって装飾図柄表示装置16に表示されない非可視領域をいう。つまり、フレームは、可視領域及び非可視領域を含んでいる。
ここで図柄CPU311は、キャラクタRAMコントローラ314,317によって、キャラクタRAM321,322に対するリフレッシュ動作を実行させる場合、例えばキャラクタRAM321,322におけるリフレッシュキャラクタエリアを指定するアドレス(例えば「0C00 0000」)を指定する。なお、この「0C00 0000」というアドレスは、図4に示すようにキャラクタRAM321,322におけるリフレッシュキャラクタエリアの先頭アドレスを表している。
ここで本実施形態では、このリフレッシュキャラクタエリアには、実際にリフレッシュキャラクタデータが格納されておらず、図柄CPU311が、このキャラクタRAMコントローラ314,317によってリフレッシュ動作を実行すべきタイミングを指示するために、このリフレッシュキャラクタエリアからリフレッシュキャラクタデータを読み出すべき旨の指示を行うようになっている。
また、このキャラクタRAMコントローラ314,317は、展開データメモリコントローラ315の制御によって、各々図示しないリフレッシュキャラクタ数設定部の設定値に従って動作するようになっている。このリフレッシュキャラクタ数設定部には、キャラクタRAM321,322に対するリフレッシュ動作に必要な時間に応じて、図柄CPU311によって、表示させるべきリフレッシュキャラクタの数が設定されるものである。このリフレッシュキャラクタ数設定部は、例えば展開データメモリコントローラ315に設けられたレジスタ315aに相当する。
つまり図柄CPU311は、キャラクタRAM321,322のリフレッシュに必要な時間に応じて表示させるべきリフレッシュキャラクタの数(設定値)を、このリフレッシュキャラクタ数設定部(レジスタ315a)に、例えば初期設定時に予め設定しておくのである。このリフレッシュキャラクタの数は、キャラクタRAM321,322におけるリフレッシュすべきリフレッシュ範囲(リフレッシュすべき容量)に応じて設定される値である。なお、このリフレッシュキャラクタの数は、キャラクタRAM321,322に対するリフレッシュ動作の実行にあたり、VDP330がメモリインターフェース制御回路324から読み出すリフレッシュキャラクタデータの数でもある。
ここで、1つのリフレッシュキャラクタによってリフレッシュされる容量の具体例としては、例えば64ドット×64ドット×8ビット(256色)の表示範囲であるリフレッシュキャラクタの表示に用いるリフレッシュキャラクタデータのデータサイズに相当している。つまり、キャラクタRAM321,322において広い範囲(大きな容量)をリフレッシュしたい場合には、表示させるべきリフレッシュキャラクタの数が多くなるのである。
また、展開データメモリコントローラ315のレジスタ315aは、図5に示すようなレジスタ名(REFOFT,REFNOF,REFNCH)を有している。これらのレジスタ名には、動作指示プロセッサとしての図柄CPU311によって所望の設定値が書き込まれるようになっている。またこれらのレジスタ名には、メモリインターフェース制御回路324に接続されているキャラクタRAMの仕様に基づく値が設定される。レジスタREFOFTは、リフレッシュの実行期間を設定するためのレジスタである。一方、レジスタ名REFNOFは、リフレッシュ実行期間内に実行しなければならないリフレッシュ回数を設定するためのレジスタである。
また、レジスタ名REFNCHは、リフレッシュキャラクタによるリフレッシュ回数を設定するためのレジスタであり、1回のリフレッシュ指示に対応したリフレッシュキャラクタデータの読み出し回数を設定する。ここでいう、リフレッシュキャラクタデータの読み出し回数は、接続されているキャラクタRAM321,322の仕様に応じて設定されるものである。
なお、図5における読み出し書き換え許可における「R」とは、動作指示プロセッサとしての図柄CPU311が書き換えることができず読み出しのみをすることができることを意味している。また「W」とは、その図柄CPU311が書き換えることができることを意味している。また「R/W」とは、その図柄CPU311が設定値を読み出すことができるとともに書き換えもできることを意味している。
メモリインターフェース制御回路324は、リフレッシュ回数及びリフレッシュ監視カウンタ(リフレッシュを実行している時間に相当)を管理している。上記したレジスタ名REFOFTで設定した時間内にレジスタ名REFNOFで設定した回数分だけ、リフレッシュ部315bがリフレッシュ動作を実行した否かを判断する。本実施形態においては、図柄CPU311がリフレッシュ部315bに対して、例えば16msごとに1024回にわたりリフレッシュ動作を実行することを、4回繰り返すように指示するものと例示している。
つまり本実施形態では、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値に基づいて、例えば64ms間にわたり4096回リフレッシュ動作を実行するものとする。また本実施形態では、仮にレジスタ名REFNOF及びレジスタ名REFOFTの設定値に応じた回数分、キャラクタRAM321,322に対するリフレッシュ動作が実行されなかった場合、レジスタ名RENOF及びレジスタ名REFOFTに設定した値に基づいて集中リフレッシュを開始するようになっている。
つまり本実施形態では、これらレジスタ名REFNOFの設定値及びレジスタ名REFOFTの設定値などのリフレッシュ条件が設定されるリフレッシュ条件設定部が用意されており、図示しないリフレッシュ監視部(リフレッシュ監視手段)が、リフレッシュ条件設定部に設定された設定値(リフレッシュ条件)を満たさないことを検出した場合、このリフレッシュ条件を満たすように強制的にリフレッシュ動作を開始させる指示を出すようになっている。
(4−5.キャラクタ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−6.両キャラクタRAMの記憶領域の管理)
ここで本実施形態では、これら第1キャラクタRAM321及び第2キャラクタRAM322の記憶領域が、それぞれ同一のアドレスによって管理されている。つまり、これら第1キャラクタRAM321の記憶領域と第2キャラクタRAM322の記憶領域とは、互いに記憶容量が等しく、各記憶領域には同一のアドレスが付されている。
そして、これら第1キャラクタRAM321及び第2キャラクタRAM322には、同一のアドレスで管理された記憶領域に対して、同一のスプライトデータが交互に展開される。このようにすると、第1キャラクタRAM321及び第2キャラクタRAM322が読み出し中に切り替わったとしても読み出されるスプライトデータを同一のものとすることができる。
(4−7.複数の共通エリア)
ここで、本実施形態においては、第1キャラクタRAM321及び第2キャラクタRAM322には、それぞれ、組み合わせ映像群の一例としての変動表示パターンに使用するシーン(映像)の組み合わせの表示に必要なスプライトデータを一時的に記憶可能な複数の共通エリア(複数の共通領域)が区画形成されている。
これら複数の共通エリアは、それぞれ制御ROM325に記憶されている展開テーブルの内容に基づいて、図柄CPU311が区画する領域である。これら複数の共通エリアからは、展開データメモリコントローラ315の制御によって、それぞれシーンの組み合わせに各々必要なスプライトデータが独立して読み出されるようになっている。
(4−8.スタティックロード)
ここである変動表示パターンを例示すると、データ展開プロセッサとしての図柄CPU311は、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを、各々予め定められた複数の共通エリアのいずれかに一時的に記憶させている。
このように本実施形態では、この変動表示パターンに含まれるシーンの組み合わせに係るシーン表示に必要なスプライトデータが、それぞれ展開テーブルの内容に基づいて、予め決められた複数の共通エリアのいずれかに別々に展開されるようになっている。つまり本実施形態では、上記展開テーブルに従って、これらシーン表示に必要な各スプライトデータは、複数の共通エリアにおける展開先が予め決められており、これら複数の共通エリアのうちの異なる共通エリアに展開されるようになっている。なお本実施形態では、このようにスプライトデータを、複数の共通エリアのいずれかに固定的に展開することを「スタティックロード」と呼称する。つまり、スタティックロードは、複数の共通エリアのうちの予め定められた共通エリアにスプライトデータを一時的に記憶させることを表している。
ここで1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開しても良いが、本実施形態では、1つの共有エリアには、同時に複数のシーン表示に必要なスプライトデータを展開せず、主として1つのシーン表示に必要なスプライトデータを展開する構成となっている。ここで、複数の共通エリアに時期を同じくして各々展開されたシーン表示に必要なスプライトデータは、1つの変動表示パターンを表示するために用いられるデータである。
また本実施形態では、1つの変動表示パターンに含まれるシーンのうち表示順序が連続するシーンの組み合わせに係るシーン表示に必要なスプライトデータを、それら複数の共通エリアのうち予め定められた異なる共通エリアに記憶させている。
(4−9.常駐エリア)
ここで、メモリインターフェース回路324は、キャラクタRAM321,322からシーン表示に必要なスプライトデータを読み出すと、それぞれこれらキャラクタRAM321,322から読み出したシーン表示に必要なスプライトデータを上書きしている。しかしながら本実施形態では、複数の変動表示パターンを表示するにあたり、各シーンを表示するのに共通して多用されるシーン表示に必要なスプライトデータについては、キャラクタRAM321,322の記憶領域の一部に常駐させるものとする。本実施形態では、図柄CPU311が、例えば共通して多用されるシーン表示に必要なスプライトデータを、キャラクタRAM321,322における複数の共通エリアの一部として常駐エリア(常駐領域)を区画形成して展開させるものとする。
このようにキャラクタRAM321,322に常駐エリアを設けてシーン表示に必要なスプライトデータを常時展開させておくと、頻繁にキャラクタROM340から読み出さなくても済む。なお、この常駐エリアに展開するシーン表示に必要なスプライトデータは、例えば図柄の変動表示中に常に表示される図柄の表示に用いるスプライトデータが挙げられる。なお、展開する時期としては、電源投入直後、すぐに展開するようにしておけば良い。ここで、上記展開テーブルは、これらシーン表示に必要なスプライトデータを、常駐エリアを含む複数の共通エリアのうちのいずれかに展開するために用いる展開情報を含んでいる。
(4−10.各共通エリアのデータサイズ)
ここで、これら複数の共通エリアのうちの各共通エリアには、表示態様の異なる複数の変動表示パターンのうちのある変動表示パターンを表示する場合と、それとは別の変動表示パターンを表示する場合とで、それぞれ互いに異なる複数のシーン表示に必要なスプライトデータがそれぞれ記憶される。
そこで本実施形態では、データ展開プロセッサとしての図柄CPU311は、CPUインターフェース316を経由して展開データメモリコントローラ315を制御することで、複数の共通エリアのうちの各共通エリアに記憶されうる複数のシーン表示に必要なスプライトデータのうち、データサイズが最大であるシーン表示に必要なスプライトデータのデータサイズを基準として、予め複数の共通エリアをそれぞれ区画形成しておく。ここでいうデータサイズは、例えば1つのシーンを表示するのに必要な素材としてのスプライトを表示するのに必要なスプライトデータのデータサイズを表している。
まず、複数の共通エリアは、それぞれ格納されうるスプライトデータが予め定められているため、その共通エリアに展開されることのないスプライトデータのデータサイズを考慮して区画形成されていなくてもよい。このため、これら複数の共通エリアは、大きなデータサイズのスプライトデータが将来展開されるかもしれないことを想定してデータサイズを余分に形成しておく必要がなく、記憶されるスプライトデータのうちの最もデータサイズの大きなスプライトデータを基準に区画形成しておけばよい。従って本実施形態によれば、キャラクタRAM321,322に区画形成すべき複数の共通エリアのうちの各共通エリアのデータサイズが、各共通エリアに展開され得るスプライトデータに応じて最小限度に抑制されるため、キャラクタRAM321,322を効率よく使用することができる。
(5.VDPの構成例)
次にVDP330について詳細に説明する。図6に示す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の制御によってVDP330全体を制御する機能を有する。上記制御ROM325においては、上記展開テーブルが管理されている。この展開テーブルは、キャラクタRAM321,322においてシーン表示に必要なスプライトデータが複数の共通エリアのうちのどの共通エリアに展開されているべきかに関する展開情報及び、この展開情報の他、スケジューラ(表示情報)を含んでいる。ここでいうスケジューラは、VDP330が表示すべきスプライトの先頭アドレス、表示すべき枚数(縦及び横方向の枚数)、スプライトの識別子(キャラクタ番号など)及び、重ね合わせた場合の優先順位などの後述する描画データを表示順序に記憶した表示情報を含んでいる。なお、制御ROM325においては、このスケジューラに展開情報が含まれて記憶されている形態や、スケジューラと展開情報が並列して存在している形態であっても良い。
そしてさらに、図柄CPU311は、制御ROM325の展開テーブルを参照し、キャラクタRAM321,322における複数の共通エリアのうちのどの共通エリアに、この変動表示パターンの表示動作に必要なシーンの組み合わせに係るシーン表示に必要なスプライトデータが記憶されているのかに関する展開情報を取得する。つまりこの図柄CPU311は、この展開情報に基づいて、必要なシーン表示に必要なスプライトデータがそれぞれ展開されている複数の共通エリアのうちのある共通エリアを特定する。
次に図柄CPU311は、さらに展開テーブルの内容を参照し、各シーンの種類ごとに、そのシーンの表示に用いるスプライトを把握するとともに、それぞれ対応した複数の共通エリアのうちある共通エリア群を特定する。ここでいう特定とは、キャラクタRAM321,322における各シーン表示に必要なスプライトデータが展開されている特定の共通エリア付されたアドレスを把握することなどを意味している。
図柄CPU311は、変動表示パターンを表示するのに必要なシーン表示に必要なスプライトデータに関するアドレスを把握すると、まず図柄CPU311の制御によって表示すべきスプライトが配置されているアドレスなどの描画パラメータを指定する。このVDPコントローラ331は、図柄CPU311の制御によってメモリインターフェース制御回路324を経由してスプライトデータを取得する。
図6に示すカラーパレットレジスタ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.先読み制御)
図7は、先読み制御のイメージを表す図である。なお、この先読み制御では、例えば第1シーンの後に第2シーンが表示されるケースを想定している。
まず、メモリインターフェース回路324は、図柄CPU311の制御によって、第1キャラクタRAM321及び第2キャラクタRAM322のうちの一方からスプライトデータを読み出して、これらシーンの組み合わせのうちあるシーンが表示されている間に、その次のシーンに含まれる素材としてのスプライトに係るスプライトデータを、キャラクタROM340から先読みしてキャラクタRAM321,322のうちの他方に予め用意している。なお、このようにキャラクタRAM321,322に先読みして予め用意しておくのは、スプライトの表示に使用するスプライトデータのみならず、これに代えて或いは併せて動画像の表示に使用する動画像データであっても良い。本実施形態では、例えばシーンを表示するのに必要なスプライトデータを先読みするものとする。
具体的には、本実施形態においては、メモリインターフェース回路324は、図柄CPU311の指示に従って、例えば図7に示すように第1シーンが実際に表示されている間に、次に表示すべき第2シーンを表示するのに必要なスプライトデータをキャラクタROM340から先読みして第1キャラクタRAM321などに事前に展開している。なお、本実施形態では、このように先に読み出して展開することを「先読み展開」と呼称する(図7においても同様に「先読み展開」と呼称する)。
また図柄制御基板30に搭載された制御ROM325は、シーンの組み合わせのうちのあるシーンが表示されている間に、その次に表示する次のシーンに含めるべきスプライトに係るスプライトデータについての情報である展開情報を記憶している。図柄CPU311は、変動表示パターンの表示動作の制御にあたり、制御ROM325の展開情報に基づいて、変動表示パターンのうちのあるシーンが表示されている間に、その次に表示されるべき次のシーンに含めるスプライトに係るスプライトデータを、キャラクタROM340から先読みしてキャラクタRAM321,322に予め用意させている。
また本実施形態では、キャラクタRAM321,322が、複数のフレーム画像の各表示切り替え期間ごとに、スプライトデータの記憶状態とスプライトデータの読み出し状態とが、互いに逆になるように交互に切り替えられている。
(7.事前処理及びパチンコ機1による演出表示動作)
本実施形態におけるパチンコ機1は以上のような構成であり、次に図1〜図6を参照しつつパチンコ機1における演出表示動作に関連する展開などの動作例について説明する。なお、以下の説明においては、次の順序で説明を進める。
1.シーンの洗い出し処理及び共通エリアなどの区画決め処理
2.共通エリアなどの区画形成処理
3.展開処理
4.変動表示パターンの表示処理
なお、1.シーンの洗い出し処理及び共通エリアなどの区画決め処理及び2.共通エリアなどの区画形成処理は、それぞれ展開テーブルの内容を決定するにあたり、事前に行われる処理である。一方、3.展開処理及び4.変動表示パターンの表示処理は、それぞれ図柄CPU311が、図柄表示制御プログラムの動作によって展開テーブルを参照しつつ実行する処理である。また、以下の説明では、特に動画像データへの言及の必要がない限り、変動表示パターンに含まれるシーン群のうちの1つのシーンを表示するのに必要なスプライトデータを、上記「シーン表示に必要な素材画像データ」と呼称している。
(8.シーンの洗い出し処理)
このシーンの洗い出し処理では、簡単にいうと、変動表示パターンを構成するシーン群の表示順序などに関するつながり(連続性)を見出す作業を実施する。なお、本実施形態においては、このように各シーン同士のつながりを見出すことを「洗い出し」と呼称している。このような洗い出し処理は、例えばコンピュータなどの電子機器において動作するプログラムなどで構成されたソフトウェアツールによって事前に実行されるものである。
このシーンの洗い出し処理は、上述のように1つの変動表示パターンに含まれるシーン群をそれぞれ表示するためのシーン表示に必要な素材画像データ群が、キャラクタRAM321,322における複数の共通エリアうち、同一の共通エリアにおいて、同時に重複して展開されないようにするために、いわば重複展開防止のため、洗い出しするものである。
本実施形態では、まず、各シーンごとに順々と、共通して使用されるシーン表示に必要な素材画像データ(以下「共通データ」とも呼称する)を洗い出す。ここでいう「シーン表示に必要な素材画像データ」は、各シーンの表示に必要なスプライトの表示に使用するスプライトデータを表している。なお、全てのシーンは、まず、所定のリスト(例えばリストLSC1やLSC2)に一括して分類されているものとする。そして、この洗い出し処理によって分類された共通部分は、共通化される前の元のシーンSC1やシーンSC2などに付けられた符号(ここでいう「SC1」や「SC2」など)を名称として含む、新データリスト(例えばLSC1_LSC2など)として生成される。
このデータリストとは、洗い出しによって分けたシーン表示に必要な素材画像データを分類したリストを表している。本実施形態では、この生成された共通部分を「共通リスト」と呼称する。なお、洗い出された結果、あるシーン表示に必要な素材画像データが共通データと判断されると、その共通データとされたシーン表示に必要な素材画像データは、元のデータリストから削除されるものとする。
リストLSC1:ABCDEF
リストLSC2:A C E G I K
この洗い出し処理では、まず、これら各リストLSC1とリストLSC2とにおいて共通部分を抜き出す。
そして、上記リスト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
次に新規で生成されたリストも含め、再帰的にさらに全データリストの共通部分(共通データ)を洗い出していく。この洗い出し処理は、全てのシーン表示に必要な素材画像データにおいて、共通部分が存在しない状態になるまで、リスト(データリスト)の分解を進める。次に各リストのデータ容量の概算値を算出する。なお、この概算値は、例えば仮圧縮もしくは設計上の概算圧縮値50%程度を割り当てることで算出する。
上記手順で分解されたリストに付された符号「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などほど、より多くの種類のシーンにおいて使用されることを表している。従って、このリスト名称を多く含む共通リスト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.共通エリアなどの区画処理)
図8(A)〜図8(I)は、各変動表示パターンを構成するシーン群の一例を示すイメージ図であり、図8(J)は、ラウンド表示ROUNDを表している。なお、各シーンの矢印の長さは、そのシーンの表示時間の長短を表している。
本実施形態では、各変動表示パターンがシーンSC1〜SC9のいずれかを組み合わせて構成されているものと例示し、各変動表示パターンにおいては、最初にシーンSC1が共通して表示されるものとする。図8(A)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC3が組み合わされており、図8(B)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC4が組み合わされている。
図8(C)に示す変動表示パターンは、シーンSC1、シーンSC2、シーンSC4及びシーンSC5が組み合わされており、図8(D)に示す変動表示パターンは、シーンSC1、シーンSC2及びシーンSC5が組み合わされている。図8(E)に示す変動表示パターンは、シーンSC1及びシーンSC3が組み合わされており、図8(F)に示す変動表示パターンは、シーンSC1、シーンSC6及びシーンSC5が組み合わされている。
図8(G)に示す変動表示パターンは、シーンSC1、シーンSC7及びシーンSC8が組み合わされており、図8(H)に示す変動表示パターンは、シーンSC1、シーンSC7及びシーンSC9組み合わされており、図8(I)に示す変動表示パターンは、シーンSC1及びシーンSC8が組み合わされている。なお、図8(J)に示すラウンド表示パターンROUNDは、上記特別遊技状態におけるラウンド表示に係る演出表示を表している。
図8(A)〜図8(I)に示すように各変動表示パターンは、それぞれ表示時間が同一或いは異なるシーンSC1〜SC9のいずれかを組み合わせて構成されている。図8に示すように各変動表示パターンは、組み合わせたシーンSC1などの表示時間に応じて、それぞれ全体として表示時間が異なっている。本実施形態では、図8に示す各変動表示パターンなどにおけるシーンSC1などの組み合わせを「構成リスト」と呼称する。
(8−3.構成リストを解析後、ルールを生成)
図8(A)〜図8(J)を参照するとわかるように、まず、無条件で構成リストにおいては、先頭にシーンSC1が登場している。このように全ての変動表示パターンにおいて使用されるシーンSC1は、上記共通データとして、キャラクタRAM321,322の記憶領域において常駐させるものとする。
次にソフトウェアにより作成したツールによって、この構成リストを、図8(A)〜図8(J)の順に、しかも左から右に走査して、同一の共通エリアに重複して展開されてはならないシーンの組み合わせを検証する。なお、本実施形態では、ある1つの共通エリアにシーン表示に必要なスプライトデータ(或いはラウンド表示に係るデータ)が重複して展開されてしまうことを「シーン(又はラウンド表示)が被る」と表現する。
図8に示す例からは、以下のようなルール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における記憶領域は、図9の右側に示すように区画される。なお、これら常駐エリアや共有エリアAなど以外の記憶領域は、空き領域として空きエリアと呼称する。
(8−6.共通エリアの形成処理)
このようにすると、キャラクタRAM321,322における複数の共通エリア(複数の共通領域)の区画は、それぞれ図9の右側に示すメモリマップのようになる。このように共通エリアの区画処理が終了し、このような区画方法は、上記制御ROM325に、展開テーブルとして組み込まれる。つまり、制御ROM325の展開テーブルには、図9に示すように表示する全ての変動表示パターンにおいて使用する各シーンSC1〜SC9及びラウンド表示ROUNDについて、次のように展開する展開情報が含められることになる。
つまり、図柄CPU311は、図柄表示制御プログラムの動作によって、制御ROM325の展開テーブルを参照して、同時ではないものの表示すべき変動表示パターンに応じて、図示の矢印のようにシーンSC1及びラウンド表示ROUNDであればキャラクタRAM321,322の常駐エリア(共通エリアABC含む)に、シーンSC2,SC6,SC7であれば共通エリアAに、シーンSC3,SC4,SC8,SC9であれば共通エリアBに、シーンSC5であれば共通エリアCに展開するようになり、これら各シーンSC1などをこれ以外の展開先に展開することはなくなる。
(9.演出表示処理)
上記キャラクタRAM321などの複数の共通エリアの形成は、以上のような展開テーブルに従ってなされるが、次に、この図柄表制御プログラムの動作により演出表示処理が実行される様子について説明する。まず、図柄表示制御プログラムの一般的な動作について説明する。
(9−1.一般的な動作)
図柄表示制御プログラムは、例えば16msごとに定常処理を実行する。この16msという周期は、例えばVDP330が出力する外部信号である垂直同期信号(いわゆるVブランク信号)を割込み入力し、タイミングを生成している。つまり、この定常処理は、Vブランク信号の入力があると実行される処理であり、例えば液晶素子を用いた装飾図柄表示装置16に出力する1フレーム分の描画データが生成される。
本実施形態では、上述したように1フレーム分の描画データが16msごとに装飾図柄表示装置16に出力されて、例えば装飾図柄の表示態様が予め設定された表示態様(例えば変動表示している図柄が停止した際に同一の図柄が揃っていること)となりそうであることを暗示する暗示演出動作などの変動表示パターンの表示(いわゆるリーチ演出に係るリーチ演出動作)を制御する。そして、この変動表示パターン(組み合わせ映像群)は、リーチ演出に係る表示であり、このリーチ演出表示は、フレームの集合であるいくつかのシーン(映像)の組み合わせの連続表示によって視覚的に構成される。
サブ制御基板35は、メイン制御基板3からの抽選結果及び演出コマンドに基づいて、16msごとの割込み処理に含まれるコマンド送信処理において図柄制御基板30に対して演出表示コマンドを送信する。この図柄制御基板30においては、受信した演出表示コマンドに応じた演出表示動作を制御するため、リーチ演出動作として、いくつかの変動表示パターンに含まれるシーンを表示するためのスプライトデータをそれぞれ圧縮した圧縮スプライトデータが、予めキャラクタROM340に用意されている。これらスプライトデータは、例えば数秒から十数秒程度にわたりシーンを表示するための素材画像データの一例である。
ここで、これら各シーンの組み合わせにより構成される各変動表示パターンは、上記制御ROM325に予め用意された展開テーブルによって、各シーンを表示するために使用すべきスプライトデータ群並びに、各シーンの表示順序に関する情報が管理されている。つまり、この展開テーブルは、例えばある変動表示パターンを表示する場合、どのスプライトデータを必要とするのかなどに関する展開情報を含んでいる。
さらに、この展開テーブルは、読み出すべきシーン表示に必要なスプライトデータに関するキャラクタROM340の記憶領域におけるアドレスをも管理している。なお、この展開テーブルは、上記図柄表示制御プログラムに予め組み込まれていてもよい。
(9−2.演出表示処理)
図10は、図柄制御基板30によって実行される演出表示処理の手順の一例を示すフローチャートであり、図11は、図8に示す展開処理S300の手順の一例を示すフローチャートである。
まず図柄制御基板30では、そのサブ制御基板35から、変動表示パターンを表示すべき旨のコマンド(演出表示コマンド)を受信したかどうかを確認する(図10のステップ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は、PU311からのレジスタ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つのシーン表示に必要なスプライトデータのみを展開する構成となっている。
このようにして展開した各シーン表示に必要なスプライトデータは、図9に示すように予め定められた各共通エリアに一時的に展開される。具体的には、各シーン表示に必要なスプライトデータは、図示の矢印のようにシーンSC1及びラウンド表示ROUNDであればキャラクタRAM321,322の常駐エリア(共通エリアABC含む)に、シーンSC2,SC6,SC7であれば共通エリアAに、シーンSC3,SC4,SC8,SC9であれば共通エリアBに、シーンSC5であれば共通エリアCに、一時的に展開するようになり、これら各シーンSC1などをこれ以外の展開先に展開することはなくなる。
(10−3−4.先読み処理)
ここで本実施形態では、メモリインターフェース回路324は、図柄CPU311の制御によって、第1キャラクタRAM321及び第2キャラクタRAM322から読み出されたスプライトデータに基づいて、これらシーンの組み合わせのうちのいずれかのシーンが表示されている間に、その次のシーンに必要なスプライトの表示に使用するスプライトデータを先読みしている。
このように先読み処理を実行するようにすると、仮にキャラクタROM340の読み出しが低速なメモリであっても、あるシーンを表示している間に次のシーンを表示するのに使用するスプライトデータを事前に用意しておくことができる。
また、図柄CPU311は、制御ROM325の展開テーブルを再度確認し、その次に表示すべきシーンが存在しているか否かを判断する(ステップS307)。この図柄表示制御プログラムは、次のシーンが存在していると判断した場合にはステップS301に戻り、次のシーンが存在していないと判断した場合には展開処理を終了する。以上のようにして、表示すべき変動表示パターンに従って各シーンの表示に必要なスプライトデータが、共通エリアに展開される。
(11.描画処理)
図12は、描画処理の手順の一例を示す制御フローチャートであり、図13は、図12に示すリフレッシュ処理を具体的に示した制御フローチャートを示している。なお、この描画処理は、16msごとに定常処理の一部として実行されている。
まず、図柄CPU311は、VDP330に対して表示態様を指定する(ステップS401)。この図柄CPU311は、組み合わせ映像群としての変動表示パターンの表示動作にあたり、制御ROM325が管理する展開テーブルの展開情報に基づいて、この表示態様を指定している。具体的には、VDP330は、図柄CPU311の指示に基づいて、その表示態様に応じて表示される映像に含めるべきスプライトデータが展開されているキャラクタRAM321,322の記憶領域を示すアドレスを、VDP330のROMインターフェース(ROM I/F)333にセットし、これらキャラクタRAM321,322において該当する記憶領域からスプライトデータを読み出すようになっている。
このとき、図柄CPU311は、キャラクタRAMコントローラ314,317によるキャラクタRAM321,322に対するリフレッシュ動作を実行すべき場合には、このアドレスとして図15に示すように「0C00 0000(リフレッシュキャラクタエリア)」をセットするようVDP330に指示する。なお図柄CPU311は、電源投入時における初期設定において、キャラクタRAMコントローラ314,317によるキャラクタRAM321,322のリフレッシュに必要な時間に応じてリフレッシュキャラクタ数を指定すべく、このリフレッシュキャラクタ数をレジスタ315aに書き込む。
次にVDP330は、図柄CPU311によって指定された表示態様に、リフレッシュキャラクタが含まれているか否かが判断される(ステップS402)。この判断の結果、リフレッシュキャラクタではない場合は、VDP330は、キャラクタRAM321,322からスプライトデータを読み出す(ステップS406)。
前述のようにキャラクタRAM321,322には、それぞれ図柄CPU311が展開テーブルの内容に従って共通エリアAなどを区画形成しており、これら共通エリアAなどには、それぞれ1つのシーン表示に必要なスプライトデータが予め展開されている。一方、このVDP330は、その判断の結果、リフレッシュキャラクタである場合は、メモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出す(ステップS403)。
上述のようにメモリインターフェース制御回路324の展開データメモリコントローラ315は、リフレッシュキャラクタデータ(リフレッシュデータ)を有している。この展開データメモリコントローラ315は、図柄CPU311の指示によってVDP330によってリフレッシュキャラクタデータの読み出しが実行された場合、この展開データメモリコントローラ315は、VDP330に対して、本来の動作としてはキャラクタRAM321,322から読み出したスプライトデータを読み出させるところを、自ら有するリフレッシュキャラクタデータを読み出させるようになっている。つまりVDP330は、図柄CPU311の指示に従って、メモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出すことになる。
次に図柄CPU311は、リフレッシュ処理を実行するにあたり、まず最初にリフレッシュ回数を0回として初期化するとともに、リフレッシュ監視カウンタ(上記レジスタ名REFNCHの設定値になるまでをカウントするカウンタ)を0として初期化する(ステップS404)。次に図柄CPU311は、キャラクタRAMコントローラ314,317にリフレッシュ処理を実行させた後(ステップS405)、VDP330にステップS406を実行させる。
このリフレッシュ処理に関しては、図13を参照しつつ具体的に説明する。ここで本実施形態では、キャラクタ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を制御して、1バーストアクセスで4回リフレッシュを実行する。この4回という設定は、上記図柄CPU311によるレジスタ315aのレジスタ名REFNCHへの書き込みによって実現される。
まず、256色(8ビット)のスプライト1つを表示(リフレッシュキャラクタエリアのアクセスを発生させる)した場合、本実施形態では、この表示に用いるスプライトデータのデータサイズは、64ドット×64ドット×8ビット=32768ビットである。このためバーストアクセスは、32768ビット/(64ビット×8アクセス)=64回発生し、256回のリフレッシュを実行する。本実施形態では、4つのリフレッシュキャラクタを表示させようとすると、16msごとに1024回(4096回/64ms)リフレッシュを実行することができる。
以下、図13を参照しつつ説明する。メモリインターフェース制御回路324の展開データメモリコントローラ315がキャラクタRAMコントローラ314,317の動作状況を把握(監視)する。まず、リフレッシュ監視カウンタが4以上であるか否かを判断し(ステップS501)、リフレッシュ監視カウンタが4以上である場合には、後述するステップS506を実行する一方、リフレッシュ監視カウンタが4未満である場合には、キャラクタRAM321,322のリフレッシュ動作を実行する(ステップS502)。具体的には、展開データメモリコントローラ315は、第1キャラクタメモリコントローラ314及び第2キャラクタメモリコントローラ317を制御し、それぞれキャラクタRAM321,322に対してリフレッシュ動作を実行させる。
1回リフレッシュを実行させると、リフレッシュ回数をインクリメントして(ステップS503)、16msごとに実行すべきリフレッシュ総回数(1024回)実行したか否かを判断する。メモリインターフェース制御回路324においては、リフレッシュ回数が16msごとに実行すべきリフレッシュ総回数に到達するまでキャラクタRAM321,322のリフレッシュの実行を繰り返す(ステップS504)。
一方、リフレッシュ回数が16msごとに実行すべきリフレッシュ総回数に到達したと判断した場合には、リフレッシュ監視カウンタをインクリメントする(ステップS505)。このリフレッシュ監視カウンタは、16msごとに1024回リフレッシュすることを4回繰り返したか否かを判断するためのカウンタである。ここで、このような16msごとに実行すべきリフレッシュ総回数分、キャラクタRAM321,322についてリフレッシュを実行すると、リフレッシュ監視カウンタが4以上となっているはずである。
従って、リフレッシュ監視カウンタが4以上であると判断した場合には、64ms以内に4096回リフレッシュを実行したか否かを判断する(ステップS506)。具体的には、64ms(16ms×4回)ごとにリフレッシュ回数が4096回以上であるか否かが判断され、実際にリフレッシュを実行した総回数をカウントするための所定のカウント値が4096回以上である場合にはリフレッシュ処理を終了する。一方、メモリインターフェース制御回路324は、64msごとのリフレッシュ回数が4096回未満である場合には、集中リフレッシュ処理の実行を、展開データメモリコントローラ315はキャラクタRAMコントローラ314,317に対して指示する(ステップS507)。
この集中リフレッシュ処理は、レジスタ名REFOFTで設定した時間内に、レジスタ名REFNOFで設定した回数だけリフレッシュを実行した場合は発生しないものの、何からの原因でリフレッシュ処理が4096回実行されなかった場合に、本来実行すべきリフレッシュ処理の代わりに強制的に実行するリフレッシュ処理である。
なお、この集中リフレッシュ処理においては、展開データメモリコントローラ315がキャラクタRAM321,322に対してスプライトデータなどを書き込めない状態となり、一定時間、書き込み待ちが発生するとともに、キャラクタRAM321,322に展開済みのスプライトデータなどについても、読み出せない状態となり、一定時間、読み出し待ちが発生する。
この集中リフレッシュ処理では、展開データメモリコントローラ315のキャラクタRAMコントローラ314,317は、本来キャラクタRAM321,322についてリフレッシュすべき回数が不足していることから、レジスタ名REFOFT及びレジスタ名REFNOFに基づく回数分、強制的にキャラクタRAM321,322に対してリフレッシュ動作を実行する処理である。
次にVDP330は、図柄CPU311によって制御ROM325から取得された展開テーブルの展開情報が設定されることで、メモリインターフェース制御回路324を経由して、キャラクタRAM321,322における複数の共通エリアのいずれかに展開済みのスプライトデータなどを次々と、Vブランク信号に同期して読み出す(ステップS406)。
ここで、これらキャラクタRAM321,322は、それぞれ記憶領域において同一のアドレスにより管理されている。このためVDP330は、キャラクタRAM321,322のどちらに切り替えられた場合においても、同一の読み出し制御によって簡単にスプライトデータを次々と読み出すことができる。そしてVDP330に内蔵されたVDPコントローラ331は、この取得したスプライトデータに基づいて表示するための描画データを生成する(ステップS407)。
以上のように、キャラクタRAMコントローラ314,317は、図柄CPU311によってメモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出すべき旨の指示があると、このリフレッシュキャラクタデータを読み出すとともに、この読み出したリフレッシュデータに基づくリフレッシュキャラクタをラインバッファ336の可視領域外に記憶させることを契機として、各々キャラクタRAM321,322に対するリフレッシュ動作を実行している。そして、このリフレッシュ動作を実行する間に、VDPコントローラ331は、このリフレッシュキャラクタデータに基づいて表示するための描画データを生成しているのである。
この描画データは、表示すべきフレームに対応して生成されるものであり、各フレームは、図15に示すように可視領域F1及び非可視領域F2を含んでいる。この可視領域F1は、配置させたスプライトがVDP330によって装飾図柄表示装置16に表示される領域を表しており、一方、この非可視領域F2は、配置させたスプライトがVDP330によって装飾図柄表示装置16に表示されない領域を表している。本実施形態においては、図柄CPU311が、リフレッシュキャラクタ99を非可視領域F2に配置させるように指示している点が特徴的である。一方、この図柄CPU311は、図示のような様々なキャラクタを表示するためのスプライトを、可視領域F1に配置させるように指示している。従って、フレームは、図示のようにリフレッシュキャラクタ99が配置された非可視領域F2及び、スプライトが配置された可視領域F1を含むことになる。
ここで、上記描画にあたり、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の表示領域には、図14(A)〜図14(C)に示すようにこれらシーンの連続表示により視覚的に構成される変動表示パターンが表示されることになる。
一方、VDP330がメモリインターフェース制御回路324からリフレッシュキャラクタデータを読み出した場合には、スプライトデータと同様の手順に従っても、装飾図柄表示装置16の表示領域(可視領域)に、スプライトを含む映像にリフレッシュキャラクタ99が重ねて表示されないようになっている。
このとき、メモリインターフェース制御回路324の展開データメモリコントローラ315の制御により、キャラクタRAMコントローラ314,317は、VDP330がリフレッシュキャラクタデータに基づくリフレッシュキャラクタ99を非可視領域F2に配置させてスプライトを含む映像を表示している間に、キャラクタRAM321,322に対するリフレッシュ処理を実行している。つまり、このリフレッシュキャラクタ99は、あたかも装飾図柄表示装置16の表示領域(可視領域F1)外に視覚的に認識できないように表示されているのである。
なお、本実施形態では、リフレッシュキャラクタ99を複数表示させる場合、VDP330は、複数のリフレッシュキャラクタ99を同一のレイヤーに配置させても良いし、或いはその代わりに複数のリフレッシュキャラクタ99を各々複数のレイヤーに分散して配置させても良い。
(12.リフレッシュによる有用性についての言及)
まず、一般的にキャラクタ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は、各々記憶済みのスプライトデータに関して正常な記憶状態を維持するためにリフレッシュ動作を実行する必要がある。
本実施形態では、VDP330が、図柄CPU311の指示に従って、展開データメモリコントローラ315からリフレッシュキャラクタデータを読み出すとともに、この読み出したリフレッシュキャラクタデータに基づくリフレッシュキャラクタ99をラインバッファ336(表示イメージバッファ)の可視領域外に記憶させることを契機として、キャラクタRAMコントローラ314,317が各々リフレッシュ動作を実行している。
ここでVDP330が、読み出したリフレッシュキャラクタデータに基づいて、ラインバッファ336の可視領域外(例えば非可視領域F2)にリフレッシュキャラクタ99を配置して映像を表示させると、この映像にはリフレッシュキャラクタ99が視覚上登場しないことになる。これは、このリフレッシュキャラクタ99が映像における可視領域F1の外に配置されているため、VDP330が、この映像を表示させた場合、遊技者は、可視領域F1内に配置しているスプライトしか視覚的に認識することができないためである。
このため本実施形態によれば、キャラクタRAM321,322に対するリフレッシュという遊技者には無縁な動作を、遊技者に悟られることなく秘匿して実行することができるため、遊技者による遊技に影響を与えず、遊技意欲を損なわないようにすることができる。
つまり、シーン表示に必要なスプライトデータは、複数の共通エリアにおいて一時的に記憶されている。このようにすると、VDP330は、あるシーンを表示する場合、この表示に必要なスプライトデータが全てこれら複数の共通エリアに既に用意されているので、直ちにシーン表示に必要なスプライトデータを読み出すことができる。
また図柄CPU311が、キャラクタRAM321,322のリフレッシュを開始してから完了するまでに必要な時間を考慮しつつ、展開データメモリコントローラ315を制御することにより、所望のタイミングでキャラクタRAMコントローラ314,317に指示を出せば、このキャラクタRAMコントローラ314,317が各々開始したキャラクタRAM321,322のリフレッシュ動作を確実に完了させることができる。
(13.スタティックロードによる有用性についての言及)
また、本実施形態では、変動表示パターンに使用するシーンの組み合わせに各々必要なスプライトデータを、各々予め定められた複数の共通エリアのいずれかに一時的に記憶させている。従って、ある変動表示パターンに使用する特定のシーンの表示に必要なスプライトデータは、これら複数の共通エリアのうち予め定められた特定の共通エリアに一時的に展開されることになる。
つまり、シーン表示に必要なスプライトデータは、複数の共通エリアにおいて一時的に記憶されている。このようにすると、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に区画形成された複数の共通エリアのいずれかに、さらにより多くのシーン表示に必要なスプライトデータを記憶させることができる。このため本実施形態では、このように複数の共通エリアにさらに多く記憶されたシーン表示に必要なスプライトデータに基づいて、さらに多彩な演出表示を実現することができる。
(14.先読み制御による有用性についての言及)
本実施形態では、キャラクタ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における複数の共通エリアのいずれかに、さらにより多くのスプライトデータを確実に展開しておくことができる。従って本実施形態では、このように複数の共通エリアにさらに多くしかも確実に記憶されたスプライトデータに基づいて、確実に、さらに多彩な演出表示を実現することができる。
(15.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の制御に係るプログラムを特別に作成する必要なく、このプログラムの開発者の開発上の手間がかからないようにすることができる。
(16.第2実施形態)
第2実施形態としてのパチンコ機は、上記図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、第1実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第2実施形態において第1実施形態と同様の構成及び動作について説明が及ぶ場合は、第1実施形態と同一の符号を用いる。
このパチンコ機は、いわゆる「羽根物」と称される種類に属するものである。パチンコ機は大きく分けて本枠体及び遊技盤から構成されており、本枠体の内側に遊技盤が着脱可能に設置されている。遊技盤の前面(盤面)にはほぼ円形の遊技領域が形成されている。なお、遊技盤以外の外観上の構成は、第1実施形態とほぼ同様であるため、説明を省略する。
遊技盤の遊技領域内には、そのほぼ中央にひときわ大きく目を引くセンター役物が配置されており、このセンター役物は入賞装置としての機能を果たすものとなっている。センター役物の左右には普通入賞口が配置されているほか、その下方の位置に左右一対の1回始動口及び中央位置に1つの2回始動口が配列されている。その他にも、遊技領域には各種の装飾体や装飾ランプ、風車、図示しない多数の障害釘(いずれも参照符号なし)が設けられているが、これら構成要素には公知のものを適用可能であるため、ここでは個々の説明を省略する。
センター役物は左右一対の可動片(可動部材)を有しており、これら可動片は左右方向に開いた状態と、内側寄りに閉じた位置との間で変位することができる。これら可動片が開いた位置にあるとき、センター役物の大入賞口が開放された状態となる。センター役物の背後には図示しない大入賞口ソレノイドが配設されており、左右一対の可動片は大入賞口ソレノイドにより駆動される。
通常、センター役物が作動されていない場合、可動片は閉じた位置にあり、それゆえ大入賞口は閉塞された状態にある。一方、遊技中に上記の1回始動口または2回始動口に入賞すると、これを契機としてセンター役物が作動される。これにより、一対の可動片が開いた位置に移動し、大入賞口が所定時間だけ開放されて遊技球の入賞を可能とする。可動片の開閉動作は、1回始動口及び2回始動口にそれぞれ割り当てられている開閉回数(1回または2回)だけ行われる。
センター役物内には、左右の大入賞口にそれぞれ対応して大入賞口カウントスイッチが配設されている。各大入賞口に入賞した遊技球は、対応する大入賞口カウントスイッチにより通過を検出、つまり入賞個数がカウントされる。このようにセンター役物内に遊技球が受け入れられると、この遊技球がセンター役物内を転動する。このセンター役物内には図示しない所定の特定領域が存在し、この特定領域を遊技球が通過すると、遊技者にとって有利な特別遊技状態に移行する。
この特別遊技状態では、例えば最大15ラウンドにわたり、センター役物の左右一対に設けられた可動片の開閉動作(ラウンド動作)を繰り返して遊技球をセンター役物6内に受け入れ可能な状態とし、受け入れた遊技球の数に応じた賞球が遊技者に対してなされる。このようにして遊技者は、特別遊技状態により多くの利益を享受することができる。
上記第2実施形態によれば、第1実施形態とほぼ同様の効果を上げることができるとともに、これに加えてさらに、高速なキャラクタRAM321,322からより速く読み出したより多くのスプライトデータに基づいて、より多くのスプライトを映像に含めて表示させることができ、センター役物に受け入れられた遊技球が特定領域を通過するかもしれないとの期待感を遊技者に抱かせる演出表示や、特別遊技状態における演出表示などに関し、多彩な演出表示を実現することができる。しかも第2実施形態によれば、所望のタイミングにおいて確実に、キャラクタRAM321,322に対してリフレッシュ動作を実行することができるとともに、このようなリフレッシュ動作を実行したことを遊技者に認識させず、遊技者による遊技に影響を与えないようにすることができる。
(17.第3実施形態)
図16は、本発明の第3実施形態としての遊技機が適用されたスロットマシン101の構成例を示す正面図である。
第3実施形態としてのスロットマシン101は、上記図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、第1実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第3実施形態において第1実施形態と同様の構成及び動作について説明が及ぶ場合は、第1実施形態と同一の符号を用いる。
このスロットマシン101は箱形の筐体102を有しており、この筐体102をベースとして遊技場の島設備等に設置される。島設備には、複数台のスロットマシン101が幅方向に列をなして配置され、通常、その台間にメダルサンド(図示していない)が付属して配置されている。このメダルサンド(台間サンド)に例えば現金を投入すると、その金額に見合った枚数分のメダルが貸し出され、遊技者はこれらを用いてスロットマシン遊技を実施することができる。なお遊技媒体は特にメダルやコインに限らず、遊技球やトークン等を用いる態様であってもよい。あるいは、台間サンドにプリペイドカードを挿入し、その残り度数とメダル等を交換して遊技を実施する態様であってもよい。
スロットマシン101の筐体102は遊技者に相対する前面に前面扉104を有しており、この前面扉104は一側端(この例では左側端)を中心として手前に開くことができる。前面扉104はその中程の位置にガラス板(透明板)106を有しており、その中央に矩形の表示窓108が形成されている。本実施形態のスロットマシン101は、機械的な図柄表示装置(図柄表示手段)の一例として3つのリール(左リール、中リール、右リール)110a,110b,110cを装備しており、これらリール110a,110b,110cは前面扉104の奥、つまり、筐体102の内部に配置されている。
各リール110a,110b,110cの外周にはそれぞれリール帯が張り巡らされており、その表面に各種の図柄が付されている。図示されていないが、図柄には例えば、数字の「7」を図案化したものや特定のアルファベット(またはその文字列)を図案化したもの、ベル等の縁起物を図案化したもの、スイカ、リンゴ、チェリー等の青果類を図案化したもの、あるいは、スロットマシン101の機種を特徴付けるキャラクターや図形、記号等を図案化したものが含まれている。
スロットマシン101はこれらリール110a,110b,110cを回転または停止させることで、図柄の表示態様を変動させたり停止させたりすることができる。なお、スロットマシン101の前面からは、表示窓8を透かしてリール110a,110b,110cの一部のみが視認可能であり、その停止時には各リール110a,110b,110cにつき3つの図柄が有効に表示されるものとなっている。
ガラス板106のうち、表示窓108の両脇にはそれぞれ表示領域112,114が形成されており、これら表示領域112,114には各種の文字情報や図柄情報が所定の配列で付されている。ガラス板106の背後には図示しないランプユニットが配置されており、表示領域112,114内の情報はランプによって点灯表示される。例えば、最初に遊技者がメダル投入口115を通じてメダルを投入すると、その投入枚数に応じてベット数が加算され、このとき右側の表示領域112ではベット数に対応したメダルラインランプが点灯表示される。ベット数が最大(例えば3ベット)に達すると、さらに投入されたメダルはクレジットとして貯留され、そのクレジット数は表示部116に数値表示される。
メダルラインランプが点灯表示された状態で遊技者が始動レバー124(始動操作手段)を操作すると、内部抽選(内部的な抽選)が実行されるとともに、リール110a,110b,110cが一斉に回転し始めて図柄が変動する。さらに遊技者が停止ボタン126,128,130(停止操作手段)を操作すると、右・中・左のそれぞれに対応するリール110a,110b,110cが回転を停止して図柄の変動が停止する。ここで図柄の変動が停止する際には、上記内部抽選の結果に応じて、所定の図柄の組み合わせの表示が許容される。
このとき、表示窓108内で有効化されている有効ライン上に一定の図柄の組み合わせ(例えば特定の図柄の組み合わせが一列に揃った状態)が表示されると、遊技者に特典が付与される。この特典としては、例えばメダルの払い出しや特別遊技状態(いわゆるビッグボーナスゲームやレギュラーボーナスゲーム、あるいは、アシストタイム、チャレンジタイム等)への移行等を挙げることができ、遊技者は特別遊技を実行することでより多くのメダルの払い出しを受けることが可能となる。
上述した遊技操作によって所定の図柄の組み合わせが有効ライン上に表示されると、そのとき表示された図柄の組み合わせの種類に応じたメダルの払出枚数が、表示部132に表示される。また、ビッグボーナスゲームやレギュラーボーナスゲームに移行すると、その進行中に残りゲーム数が表示部134に表示されるものとなっている。払い出されたメダルは表示部116のクレジット数が最大になるまでクレジットとして貯留され、最大クレジット数を超えた分のメダルは払出口136を通じて受け皿138に払い出される。また遊技者は、クレジット精算ボタン140を操作することでメダルの貯留(クレジット)を解除し、それまで貯留していたメダルの払い出しを受けることも可能である。
本実施形態のスロットマシン101は、表示窓108の上方に液晶表示装置142を有しており、この液晶表示装置142には、遊技の進行に伴う演出のための映像や各種ボーナスゲームでの獲得メダル数等が表示されるものとなっている。また、払出口136の左右には、遊技の進行に伴う効果音やBGM、音声等を出力するための2個のスピーカ144が設けられている。その他、前面扉104には各所にランプ145,146,148が配置されており、これらランプ145,146,148は遊技状態に応じた発光装飾による演出を実施することができる。
図17は、図16に示すスロットマシン101に装備されている各種の機構要素や電子機器類、操作部材等の構成を概略的に示している。スロットマシン101はその遊技の進行を統括的に制御するための主制御基板150(遊技制御部)を有しており、この主制御基板150にはCPU152をはじめROM154、RAM156等の回路素子が実装されている。また主制御基板150は外部機器と情報をやりとりするための入出力インタフェース158,160などを備えている。このCPU152は、所定のソフトウェアによって抽選用の乱数を発生している。
上述したベットボタン118,120,122や始動レバー124、停止ボタン126,128,130、精算ボタン140等はいずれも主制御基板150に接続されており、これら操作ボタン類は図示しないセンサを用いて遊技者による操作を検出し、その操作信号を主制御基板150に出力することができる。
またスロットマシン101の筐体102には、主制御基板150とともにその他の機器類が収容されており、これら機器類から主制御基板150に各種の信号が入力されている。機器類にはメダルセレクタ164やリール装置166、ホッパ装置168等があり、このうちメダルセレクタ164はメダル投入口115から投入されたメダルを1枚ずつ検出し、その検出信号を主制御基板150に出力する。
また、リール装置166は上述したリール110a〜110cを含むユニットとして構成されている。リール装置166は各リール110a,110b,110cの回転に関する基準位置を検出するためのフォトセンサ(図示していない)を有しており、これらフォトセンサからの検出信号(インデックス信号)が主制御基板150に入力されている。またホッパ装置168は、払い出されたメダルを1枚ずつ検出する払出センサ(図示していない)を有しており、この払出センサからメダル1枚ごとの検出信号が主制御基板150に入力されている。
一方、主制御基板150からは、リール装置166やホッパ装置168に対して制御信号が出力される。すなわち、リール装置166は各リール110a,110b,110cを回転させるためのステッピングモータ(図示していない)を内蔵しており、これらステッピングモータの起動及び停止を制御するための駆動パルス信号が主制御基板150から出力される。またホッパ装置168には、有効ライン上に表示された図柄の組み合わせの種類に応じて主制御基板150から払出信号が入力され、この払出信号に基づいてホッパ装置168はメダルの払い出し動作を行う。
スロットマシン101は、主制御基板150の他に演出制御基板170及び、第1実施形態における図柄制御基板30とほぼ同様の構成である表示制御基板30aを備えており、この演出制御基板170にはCPU172の他に図示しないROMやRAM、入出力インタフェース、音源IC、オーディオアンプ等が装備されている。演出制御基板170は主制御基板150から各種の指令信号を受け、上述した表示部116,132,134、スピーカ144の作動を制御するほか、ランプ145,146,148の点灯または点滅を制御している。
この演出制御基板170は表示制御基板30aに接続されており、この表示制御基板30aは液晶表示装置142に接続されている。この表示制御基板30aは、組み合わせ映像群の内容が異なる点を除いて、第1実施形態における図柄制御基板30とほぼ同様の構成であるとともにほぼ同様の機能を発揮し、液晶表示装置142によるキャラクタ画像などの表示動作を制御している。なお、この表示制御基板30aは、第1実施形態におけるリーチ演出などの変動表示パターンとは異なる演出表示であって、遊技の進行などに伴う演出表示としていくつかのシーン(映像)を組み合わせてある組み合わせ映像群を表示させる機能を有する。
つまり、表示制御基板30aには、例えば図柄CPU311(データ展開プロセッサ、スプライト伸張制御プロセッサ、動画像伸張制御プロセッサ、制御プロセッサ、動作指示プロセッサ)、RAM312、2つのキャラクタRAM321,322(揮発性ダイナミック映像メモリ)、制御ROM325(制御メモリ)、キャラクタROM340(不揮発性映像メモリ)、VDP(映像表示プロセッサ)330及びメモリインターフェース制御回路324が搭載されている。
このメモリインターフェース制御回路324は、第1実施形態と同様に、例えばCPUインターフェース316、圧縮データメモリコントローラ312、動画像データ伸張コントローラ327、スプライトデータ伸張コントローラ328,329(2つのスプライト伸張装置)、展開データメモリコントローラ315、第1キャラクタRAMコントローラ314、第2キャラクタRAMコントローラ317及びVDPインターフェース320を備えており、ほぼ同様の動作を実行する。
なお表示制御基板30aは、その機能が演出制御基板170に搭載されている形態であってもよい。つまり演出制御基板170は、これら図柄CPU311、キャラクタRAM321,322、制御ROM325、キャラクタROM340、VDP330及びメモリインターフェース制御回路324を備えている形態であってもよい。
第1キャラクタRAM321及び第2キャラクタRAM322には、第1実施形態と同様に複数の共通エリアが区画形成される。ここである変動表示パターンを例示すると、図柄CPU311は、第1実施形態と同様に、変動表示パターンに含まれるシーンの組み合わせに各々必要なスプライトデータを、予め決められた複数の共通エリアのいずれかに固定的に記憶させる(データ展開プロセッサ)。また第3実施形態においても、第1実施形態と同様に上記先読み制御が実行される。
スロットマシン101は、表示制御基板30aのCPU(図柄CPU311)の制御によって、図示しないVDPが、キャラクタROM340に格納されているキャラクタ画像データ(動画像データ及びスプライトデータ)を読み出し、この読み出したキャラクタ画像データに基づくキャラクタ画像を液晶表示装置142に表示させる構成となっている(例えば図14(A)〜図14(C))。
さらに、主制御基板150には外部端子基板174が接続されており、スロットマシン101は、この外部端子基板174を介して遊技場のホールコンピュータ176に接続されている。この外部端子基板174は、主制御基板150から送信される投入メダル信号や払出メダル信号、あるいはビッグボーナスゲーム中やレギュラーボーナスゲーム(JACゲーム)中の信号をホールコンピュータ176に中継したり、逆にホールコンピュータ176から送信される打ち止め解除信号等を主制御基板150や演出制御基板170に中継したりしている。
その他、筐体102の内部には電源ボックス180が収容されている。この電源ボックス80は外部電源から電力を取り込んでスロットマシン101の作動に必要な電力を生成する。ここで生成された電力は、電源ボックス180から各ユニットに供給されている。
また電源ボックス180には、電源スイッチ182や設定キースイッチ184、リセットスイッチ186等が付属している。これらスイッチ類はいずれも筐体102の外側に露出しておらず、その前面扉104を開くことで始めて操作可能となる。このうち電源スイッチ182は、スロットマシン101への電力供給をON−OFFするためのものであり、設定キースイッチ184はスロットマシン101の設定を変更するためのものである。またリセットスイッチ186はスロットマシン101で発生したエラーを解除するためのものである。
主制御基板150のCPU152は、通常遊技中にソフトウェア上で取得した乱数値とテーブルデータの当り値とを照合して当りを判定し、いずれかのボーナスゲームに当った場合は対応する図柄のフラグをONにする。この場合、遊技者が狙った図柄の近くで停止ボタン126,128,130を操作すると、上述したリール制御によって可能な範囲(例えば4図柄以内)の停止位置に当り図柄が停止するので、有効ライン上には各ボーナスゲームに対応する特定の図柄の組み合わせが表示されやすくなる。
本発明の第3実施形態によれば、遊技機が回胴式遊技機である点を除いて第1実施形態とほぼ同様の効果を上げることができるとともに、これに加えてさらに、高速なキャラクタRAM321,322からより速く読み出したより多くのスプライトデータに基づいて、より多くのスプライトを映像に含めて表示させることができ、特別遊技状態へ移行するかもしれないとの期待感を遊技者に抱かせる演出表示や、特別遊技状態における演出表示などに関し、多彩な演出表示を実現することができる。しかも第3実施形態によれば、所望のタイミングにおいて確実に、キャラクタRAM321,322に対してリフレッシュ動作を実行することができるとともに、このようなリフレッシュ動作を実行したことを遊技者に認識させず、遊技者による遊技に影響を与えないようにすることができる。
(17.その他の実施形態についての言及)
以上は一実施形態についての説明であるが、本発明の実施の形態がこれに制約されることはない。以下に、その他の実施形態についていくつか例を挙げて言及する。
まず上記実施形態においては、着色したリフレッシュキャラクタを採用しているものと例示しているが、これに限られず、このリフレッシュキャラクタとして、例えば着色した半透明な表示態様など様々な表示態様を採用することができる。
また上記実施形態においては、2つの揮発性ダイナミック映像メモリとして、2つのキャラクタRAM321,322が設けられているが、その代わりに、少なくとも1つのキャラクタRAMが設けられている構成であっても良い。
上記実施形態では、組み合わせ映像群としてリーチ演出に係る変動表示パターンを例示しているが、これに限られず、その他の演出表示に適用しても良い。また上記実施形態では、キャラクタROM340に予め格納されているシーン表示に必要な素材画像データ(動画像に係るデータ及びスプライトデータ)が圧縮された形態を採用しているが、これに限られず、圧縮されていない形態を採用しても良いことはいうまでもない。
また本実施形態では、映像としてのシーンとして、動画像を背景とするとともに前景にスプライトを表示させる形態を例示しているが、これに限られず、背景をスプライトとするとともに前景に動画像及びスプライトを表示させる形態など、動画像及びスプライトの少なくとも一方を表示する形態を採用することもできる。
上記各実施形態では、液晶素子を用いて表示動作を実行する表示手段(装飾図柄表示装置など)を例示しているがこれに限られず、EL(エレクトロルミネッセンス:Electro Luminescence)素子を用いた表示手段或いはプラズマを用いた表示手段に適用しても良い。
上記実施形態では、シーン表示に必要な素材画像データとしての動画像データ及びスプライトデータがそれぞれデータ構造の圧縮された状態でキャラクタROM340に格納されているが、これに限られず、圧縮されない状態で格納されていても良い。この場合、圧縮に関係する構成を省略することができる。
また、上記各実施形態は、遊技媒体として遊技球を用いて遊技する回胴式遊技機(いわゆるパロット機、パチスロット機など)にも適用することができる。遊技球を用いた回胴式遊技機は、遊技媒体としてメダルやコインを用いた回胴式遊技機とほぼ同様の構成であるとともにほぼ同様の動作を実行するが、以下の点が、メダルやコインを用いた回胴式遊技機とは異なっている。
つまり、遊技球を用いて遊技する回胴式遊技機では、まず、遊技媒体としての遊技球を規定個数分だけまとめて遊技価値の1単位とする遊技価値計数装置(遊技価値計数手段)を備え、この遊技価値計数装置によって1単位とされた所定数の遊技価値を掛ける点が異なっている。さらに、遊技球を用いて遊技する回胴式遊技機では、表示された図柄の組み合わせの種類に応じた数の遊技価値に相当する個数分の遊技球を遊技者に与える(遊技価値付与手段)点が異なっている。なお、メダルやコインを用いて遊技する回胴式遊技機及び、遊技球を用いて遊技する回胴式遊技機のいずれにおいても、1回のゲームごとに掛けられる遊技価値の所定数は1通りでもよいし、複数通りであってもよい。
このような遊技球を用いて遊技する回胴式遊技機によれば、高速なキャラクタRAM321からより速く読み出したより多くのスプライトデータに基づいて、より多くのスプライトを映像に含めて表示させることができ、3つのリールの停止時に特定の図柄の組み合わせが表示されることで、特別遊技状態へ移行するかもしれないとの期待感を遊技者に抱かせる演出表示や、特別遊技状態における演出表示などに関し、多彩な演出表示を実現することができる。しかも、このような遊技球を用いて遊技する回胴式遊技によれば、所望のタイミングにおいて確実に、キャラクタRAM321,322に対してリフレッシュ動作を実行することができるとともに、このようなリフレッシュ動作を実行したことを遊技者に認識させず、遊技者による遊技に影響を与えないようにすることができる。
上記実施形態においては、主としてハードウェアによって処理が実行されているように表されているが、その代わりにソフトウェアによって処理を実行するようにしても良い。