以下、本発明をパチンコ機に適用した一実施形態について、各対応図面を参照しながら説明する。
(1.パチンコ機の概要構成例)
図1は、本発明の遊技機の一実施形態であるパチンコ機1の構成例を示す正面図である。このパチンコ機1は、ホール等の遊技場の島設備に複数台が横方向に並べて設置されており、いわゆるCR(Card Reader)機の場合、カードユニット12が設置されている。以下、まずパチンコ機1の概要構成例について説明する。
このパチンコ機1は、基枠が、ヒンジ機構を介して木製の外枠に開閉可能に装着されている。その基枠には、前面枠(ガラス枠5)がヒンジ機構を介して、その基枠に対して開閉可能に装着されている。本実施形態では、これら基枠や前面枠等の枠体を総称して「本体枠17」と呼称する。このうち基枠には、遊技盤2が着脱可能に嵌め込まれている。
またガラス枠5には、多数の枠ランプ(枠装飾ランプ31など)が縦方向に沿って複数配置されるほか、遊技の進行に伴い効果音や音声などの音響出力を行うための上部スピーカ29aや、遊技者が適宜プッシュ操作できる演出ボタン10等が設置されている。またガラス枠5の下部には、遊技球を収容する上皿4が設けられているとともに、基枠の下部には下皿6が設けられている。またその他にも、ガラス枠5の下部に位置する基枠の右下隅には発射ハンドル8が設けられている。この発射ハンドル8は、上皿4に収容された遊技球を順次発射させるために遊技者が操作する操作部である。また上皿4の左側位置の内側には、下部スピーカ29bが配置されている。
遊技盤2は、その前面にほぼ円形の遊技領域が形成されており、その中央部には演出装置14が設けられている。その遊技領域には、多数の誘導釘(図示されていない)が所定のゲージ配列で打設されているほか、図示しない風車や各種入賞口(始動入賞口15b、大入賞口15c、一般入賞口等)、ゲート口13、パネル装飾ランプ(参照符号なし)等が盤面構成要素として配設されている。これらの各種入賞口には、遊技球の入球を検出するための入賞検出器(図1において図示せず)が設けられている。また、ゲート口13には、遊技球の通過を検出するためのゲート通過検出器(図1において図示せず)が設けられている。
また、演出装置14の下縁部には球ステージ14aが形成されており、この球ステージ14a上に遊技球が誘導されると、この遊技球は、一時的に転動しながら動きに変化が与えられる。さらにこの遊技球は、この球ステージ14aに形成された球誘導路14bの入口に落下すると、この球誘導路14bに誘導されてその直下に設けられた始動入賞口15bに入球し、図示しない入賞検出器によって入賞が検出される。
また遊技盤2の右下縁部には、複数の発光ダイオード(LED:Light Emitting Diode)を用いた特別図柄表示装置41が設けられている。この特別図柄表示装置41は、始動入賞があると、その後(例えば始動入賞を契機に)点灯或いは消灯状態を繰り返すとともに、所定時間(後述する「変動時間」に相当)経過後、メイン制御基板において実行した内部的な抽選(大当り抽選及び判定)の結果に応じた点灯状態或いは消灯状態となる。また、この遊技盤2の右下縁部には、発光ダイオードを用いた普通図柄表示装置42が設けられている。この普通図柄表示装置42も、ゲート口13の通過を契機に変動期間にわたり点灯状態を変化させる構成となっている。ここで、この普通図柄表示装置42の点灯状態が所定の点灯状態となると、例えば電動チューリップ型の始動入賞装置(入賞検出手段)を所定時間入賞しやすい開状態にする。さらに、普通図柄表示装置42の近傍には、状態表示ランプ46が設けられている。
また、上記演出装置14内には、装飾図柄表示装置16が配置されている。この装飾図柄表示装置16は、上記大当り抽選及び判定の結果を装飾的に表した装飾図柄を表示する表示装置である。この装飾図柄表示装置16は、始動入賞口15bへの入賞があると、その後に表示内容が変化し、上記特別図柄表示装置41の点灯状態或いは消灯状態に応じて、装飾図柄の変動を表す画像等を表示する。この装飾図柄は、一定時間(変動時間)に渡って変動した後に停止し、上記大当り抽選及び判定の結果当選している場合には、予め定められた停止図柄態様(例えば同種の装飾図柄が3つ揃った表示態様)となり、パチンコ機1において特別な遊技状態(以下「特別遊技状態」と呼称する)に移行する。
この特別遊技状態では、例えばラウンド動作を15ラウンドにわたり繰り返す。各ラウンド動作では、例えば大入賞口ソレノイド18が1回作動することで、大入賞口15cが遊技球を受け入れ可能な状態となる。また装飾図柄表示装置16においては、そのラウンド動作として表示内容が大当り中のラウンド表示に切り替わり、ラウンド演出表示(入賞個数のカウント表示や継続ラウンド回数など)を行う。また、15ラウンドのラウンド動作を実行する特別遊技状態が終了した後に特典遊技(いわゆる「確変」や「時短」など)に移行すると、それぞれ特典遊技中である旨の情報(「確変中」や「時短中」)などが表示される場合もある。
また、遊技盤2における演出装置14の下縁部左右には、特別図柄保留ランプ43が設けられている。この特別図柄保留ランプ43は、始動記憶する条件が揃っていた場合に始動入賞を保留して、その保留状況を表示する構成となっている。具体的には、各特別図柄保留ランプ43には、例えば「1」、「2」、「3」、「4」という数字を模した半透過領域が設けられており、これら半透過領域が各々左から右へ「1」〜「4」を表すとともに順番に配列している。これら4つの半透過領域は、「1」〜「4」の発光(点灯)態様に応じて特別図柄の始動記憶数(1〜4)を表している。
さらに遊技盤2の下縁部には普通図柄保留ランプ44が設けられている。この普通図柄保留ランプ44は、普通図柄表示装置42による点灯状態が変化中にゲート口13の通過を保留して、その保留状況を表示する。この普通図柄保留ランプ44の近傍には、大当り種類表示ランプ45が設けられている。大当り種類表示ランプ45は、大当りとなった場合に少なくとも1つが点灯し、それによって大当りの種類を表示する。また遊技盤2の背面においては、その上部にメイン制御基板及びサブ制御基板などが設けられており、装飾図柄表示装置16の背面には表示制御基板(後述する装飾図柄制御基板)が配置されている。また本体枠17には、図示しない払出制御基板及び発射制御基板が設けられている。
(2.パチンコ機の電気的な構成例)
図2は、パチンコ機1の電気的な構成例を示すブロック図である。
まずメイン制御基板3(遊技制御部)は、サブ制御基板35(演出制御部)及び払出制御基板25などの基板に接続されている。サブ制御基板35は、表示動作を制御する装飾図柄制御基板30に接続されており、払出制御基板25は、発射制御基板47や賞球払出装置21に接続されている。
装飾図柄制御基板30は、上記装飾図柄表示装置16に接続されている。なお本実施形態では、サブ制御基板35(演出制御基板)と装飾図柄制御基板30(表示制御基板)とが別体となっているが、これに限られず、サブ制御基板35と装飾図柄制御基板30とが一体となっており、サブ制御基板35(演出制御部)が装飾図柄制御基板30の機能を備えている形態であっても良い。このような形態を採用した場合においては、サブ制御基板35が直接、装飾図柄表示装置16に接続された構成となっている。
サブ制御基板35は、装飾図柄制御基板30に対して、遊技動作中には遊技の進行に応じた演出表示動作を制御するための演出表示コマンドなどを送信する。装飾図柄制御基板30は、その演出表示コマンドなどを受信し、この演出表示コマンドに基づいて遊技の進行に応じた映像を装飾図柄表示装置16に表示させる。この演出表示コマンドは、サブ制御基板35によって指定された演出表示パターン番号を含んでおり、この演出表示パターン番号は、装飾図柄制御基板30が実行制御すべき演出表示パターンに対応した番号を表している。また、このサブ制御基板35は、ランプ中継基板32及びランプ中継基板34を介して、各々パネル装飾ランプ36及び枠装飾ランプ31を点灯制御する。
メイン制御基板3は、CPU3a(以下「メインCPU」と呼称する)、RAM3b、ROM3c、入出力インタフェース等(全ては図示されていない)の電子部品類を備えている。このメイン制御基板3には、始動入賞を検出する入賞検出器15a(入賞検出手段)が接続されている。この入賞検出器15aは、遊技領域内にて各種の入賞口(始動入賞口15b、大入賞口15c、一般入賞口等)への入球があったこと(以下「始動入賞」と呼称する)を検出し、その検出信号をメイン制御基板3に出力する。ゲート通過検出器(ゲートスイッチ)13aは、ゲート口13を遊技球が通過したことを検出し、その検出信号としてのゲート通過信号をメイン制御基板3に出力する。
メイン制御基板3による遊技動作の制御は、例えばメインCPU3aが制御プログラム(以下「メイン制御プログラム」と呼称する)を実行することで行われる。メイン制御プログラムは、ソフトウェア上の乱数を生成しており、始動入賞を契機として乱数値(大当り判定用乱数値)を取得する(本実施形態では「大当り抽選」と呼称している)。そしてメイン制御プログラムは、後述する大当り判定タイミングにおいて、取得した乱数値が大当り乱数値に一致しているか否かを判断し(本実施形態では「判定」と呼称している)、両乱数値が一致していると判定した場合には「大当り」とする一方、一致していないと判定した場合には「はずれ」とする。ここで、大当り判定タイミングとは、始動入賞後、この始動入賞に基づく特別図柄の変動表示を開始する時をいう。
またメイン制御プログラムは、このように始動入賞があると、その後、特別図柄表示装置41による特別図柄の変動表示を開始し、所定の変動時間が経過すると、上記大当り抽選結果に応じて、特別図柄表示装置41に停止図柄を表示させる。なお、上記「大当り」としては、いわゆる「確変大当り」及びいわゆる「時短大当り」を含んでいる。
メイン制御プログラムは、大当り抽選及び判定の結果が大当りである場合、変動表示を開始させ、この変動表示の停止後に、特別遊技状態へと移行させる。この特別遊技状態では、メイン制御プログラムが、例えば大入賞口ソレノイド18を既定回数にわたり作動させることで(ラウンド動作)、例えば15ラウンドにわたり大入賞口15cが遊技球を受け入れ易い状態となることを繰り返す。このとき遊技者は、大入賞口15cの開放中に遊技球(遊技媒体)を入賞させてより多くの賞球を獲得することができる。上記以外にもメイン制御基板3による遊技動作の制御は各種があるが、いずれも公知であるため、ここでは詳細な説明を省略する。
メイン制御プログラムは、上記大当り抽選及び判定をした後に、サブ制御基板35に対して抽選結果及び演出コマンドを出力する。なお、この演出コマンドは、演出動作を実行すべき時間(前述の「変動時間」に相当)に関する情報を含んでいる。
サブ制御基板35は、メイン制御基板3から受け取った抽選結果及び演出コマンドに応じて演出動作を制御する。このサブ制御基板35は、CPU35a(以下「サブCPU」と呼称する)、RAM35b、ROM35c、入力インタフェース(コマンド受信バッファなど)などの電子部品類を備えている。このサブ制御基板35においては、CPU35aが制御プログラム(以下「サブ制御プログラム」と呼称する)を実行することによって演出動作を制御している。
サブ制御プログラムは、メイン制御基板3からのコマンドなど(抽選結果、演出コマンド、遊技状態コマンドなど)を受け取ると、受け取ったコマンドなどを解析する。
サブ制御プログラムは、コマンドなどの解析結果から得た抽選結果及び変動時間に応じて、いかなる演出パターンで演出動作を制御すべきかに関して抽選(以下「演出抽選」と呼称する)を実行する。具体的には、サブ制御プログラムは演出制御スケジューラを管理しており、この演出制御スケジューラは、この抽選結果ごとに(「大当り」であるか「はずれ」であるかに応じて各々)、実行すべき演出パターンを複数管理している。さらにこの演出制御スケジューラは、同一の抽選結果であっても変動時間の長さが異なる複数の演出パターンを備えている。また、同一の抽選結果であり、かつ変動時間が同じであっても演出内容の異なる複数の演出パターンが存在する。このようにしてサブ制御プログラムは、この演出制御スケジューラを参照しつつ、これら抽選結果及び変動時間に対応した演出パターンを選定すべく演出抽選を実行しているのである。
このような演出抽選を実行した後、サブ制御プログラムは、変動時間にわたり演出パターンに従って、スピーカ29a、29bから音を出力させたり、ランプ中継基板32を介してパネル装飾ランプ36を所定の色で点灯させたり消灯させたり、ランプ中継基板34を介して枠装飾ランプ31を所定の色で点灯させたり消灯させる。
また併せてサブ制御プログラムは、選定した演出パターンに対応して、装飾図柄表示装置16による変動表示に関する演出表示パターンも選定している。この演出表示パターンの選定後、このサブ制御プログラムは、サブ制御基板35から装飾図柄制御基板30に対して、この演出表示パターン及び停止図柄に関する情報を含めた演出表示コマンドを出力するよう制御する。
この装飾図柄制御基板30は、サブ制御基板35が出力した演出表示コマンドを受け取ると、その後、新たな演出表示動作に移行する。具体的には、装飾図柄制御基板30は、まず、サブ制御基板35から受け取った演出表示コマンドを解析し、演出表示パターン及び装飾停止図柄に関する情報を取得する。そして装飾図柄制御基板30は、演出表示パターンに従って変動時間にわたり装飾図柄表示装置16に装飾図柄を変動表示させた後、その装飾図柄を装飾停止図柄とすべく表示制御する。
払出制御基板25は、CPU25a(以下「払出CPU」と呼称する)、RAM25b、ROM25c、入出力インタフェースなどを有しており、メイン制御基板3との間で双方向通信可能に接続されている。すなわち、メイン制御基板3と払出制御基板25との間はシリアル信号の上下線Su、Sdと、これらに並行して設けられたACK信号の送信線Au、Adとで接続されている。
例えばメイン制御基板3が、賞球の払出を指示する賞球コマンドを下り線Sdを通じてシリアル形式で送信すると、これを受け取った払出制御基板25が送信線Auを通じてメイン制御基板3に対してACK信号を送信する。また払出制御基板25が、払出制御基板25の状態を示す状態コマンド(例えば払出処理中)を上り線Suを通じてメイン制御基板3に対して送信すると、これを受け取ったメイン制御基板3が、送信線Adを通じて払出制御基板25に対してACK信号を送信する。
また賞球払出装置21は、払出制御基板25の制御によって遊技球の払出動作を実行する。すなわち払出制御基板25は、メイン制御基板3から賞球コマンドを受け取ると、賞球払出装置21の払出モータ20を作動させ、この賞球コマンドにより指示された個数分の払出動作を行わせる。払出球検出器22は、実際に払い出された賞球数を1個ずつ検出し、払出制御基板25にフィードバックする。一方、モータ駆動センサ24は、払出モータ20の回転状態(回転角)を検出して同じく払出制御基板25にフィードバックする。
その他、発射制御基板47には、発射モータ49の他に発射ハンドル8からの信号線が接続されている。この発射ハンドル8にはタッチ検出部48が内蔵されており、このタッチ検出部48は、人体(遊技者)の接触を検出して、そのタッチ検出信号を発射制御基板47に出力する。また発射ハンドル8は、図示しない発射スイッチを内蔵しており、発射ハンドル8の操作によりオン信号を発射制御基板47に出力する。この発射制御基板47は、上記台間サンドとしてのカードユニット12によって出力されるカードユニット接続信号が払出制御基板25を介して入力されると、遊技球の発射動作を制御する機能を有している。この発射制御基板47は、これらカードユニット接続信号、タッチ検出信号及びオン信号を受け取った状態ではじめて発射モータ49の駆動を許可し、これにより遊技球の発射動作を行わせることができる。
払出制御基板25の払出CPU25aは、いわゆる球ガミ、球切れ、満タンや、メイン制御基板3と払出制御基板25との接続異常などの障害を検出すると、その障害の種類に応じたエラー情報を払出制御基板25に表示する。具体的には、払出制御基板25には7セグメントLED4aが設けられており、この7セグメントLED4aには、例えばそれら各種の障害の種類ごとにエラー番号が数字で表示されるものとなっている。
また、払出制御基板25にはエラー解除手段としての操作スイッチ4bが設けられており、この操作スイッチ4bは外部から操作可能な位置に配置されている。この操作スイッチ4bは、それら各種の障害が発生したとき、各障害への対処方法を音声ガイダンスする際の契機として用いられるとともに、7セグメントLED4aに表示されるエラー情報(数字表示)をクリアする際に操作される操作手段である。
(3.装飾図柄制御基板)
次に、装飾図柄制御基板30について図3を参照して説明する。図3は、装飾図柄制御基板30の電気的な構成を簡素化して図示した一例を示すブロック図である。
装飾図柄制御基板30(演出制御部、表示制御部)は、ソースROM340、第1メインRAM321、第2メインRAM322、グラフィックプロセッサユニット(以下「GPU」という)300及びスケーラ337を備えている。
装飾図柄制御基板30は、サブ制御基板35からの演出表示コマンドなどに基づいて演出表示動作を制御する機能を有する。また、この装飾図柄制御基板30は前述した装飾図柄表示装置16に接続されており、この演出表示コマンドなどに基づいて表示させるべき映像に対応した映像信号を装飾図柄表示装置16に出力する。
ここで本実施形態では、映像が複数のシーン(ストーリー)の組み合わせによって構成されており、各シーンは多数のフレームの組み合わせによって構成されている。これら各シーンは予め決められた順序で連続的に表示されるものである。各シーンは、多数のフレームが次々と表示されることにより視覚的に構成されるものである。各フレームは、ポリゴンなどのコンピュータグラフィックによって構成されている。本実施形態において映像は、例えば1秒間に60枚のフレームを表示することによって構成されている。また映像としては、例えば停電状態から復旧中である旨の映像、図柄の変動表示に関する映像、変動している図柄が所定の停止図柄態様(例えば同種の図柄が3つ揃った表示態様)になるかもしれないことを暗示するいわゆるリーチ演出に関する映像を含んでいる。
ところで、この装飾図柄制御基板30においては、例えばμITRONのようないわゆる組み込み型のリアルタイムオペレーティングシステムが動作している。このオペレーティングシステムでは、いわゆるファイルシステム機能によってデータやプログラムがファイル形式で取り扱われており、表示動作を制御する表示制御プログラムが動作している。このファイルシステム機能は、メモリ空間に記憶しているデータ本体に付したヘッダによっていわゆるファイル形式で、そのデータ本体を管理する機能である。
この表示制御プログラムは、GPU300の補助を受けつつ描画するソフトウェアを総称したものである。この表示制御プログラムとしては、アプリケーションソフトウェア(後述するユーザシステムモジュール及びユーザモジュール)を含んでおり、広義には表示に関するライブラリソフトウェア(以下「ライブラリ」と呼称する)及びドライバソフトウェア(以下「ドライバ」と呼称する)を含んでいてもよい。これらソフトウェアの構成については後述する。
(3−1.ハードウェアの構成例)
以下、この装飾図柄制御基板30に搭載されている各構成について具体的に説明する。
(3−1−1.ソースROM)
ソースROM340は5個のフラッシュROMによって構成されており、各フラッシュROMは1Gビットの記憶容量を有する。ソースROM340は、16ビットのバス線(ランダムアクセス105ns、ページモードアクセス30ns)によってGPU300に接続されている。ソースROM340のメモリ空間については後述する。
(3−1−2.メインRAM)
メインRAM321、322は、各々2個ずつ、合計4個のSDRAM(Synchronous Dynamic Random Access Memory)によって構成されている。各SDRAMは256Mビットの記憶容量を有し、32ビットのバス幅のバス線によってGPU300に接続されている。これら32ビット幅の両バス線の同期クロックは133MHzである。
メインRAM321、322は、プログラムやデータを揮発的に記憶可能となっており、オペレーティングシステム干渉領域及びオペレーティングシステム非干渉領域を有する。
このうちオペレーティングシステム干渉領域は、オペレーティングシステム(のファイルシステム機能)がデータの格納先などをいわゆるファイル形式で管理する記憶領域である。具体的には、オペレーティングシステム干渉領域は、オペレーティングシステム(のファイルシステム機能)の制御によって、例えば各データに付された識別子としてのファイル名を指定すれば、各データを格納したり読み出すことが可能な記憶領域である。
オペレーティングシステム干渉領域は、オペレーティングシステムの支援によって、ファイルシステム機能でテクスチャデータなどを取り扱った場合、この1つのデータを1つのファイルとしていわゆるファイル形式で管理している。このオペレーティングシステム干渉領域は、各テクスチャデータなどに付された識別子(例えばファイル名)を指定すれば、例えばアドレスを意識することなく、各テクスチャデータなどを格納したり読み出すことが容易に可能な記憶領域である。つまり、オペレーティングシステム干渉領域は、データなどの格納や読み出しにあたり、オペレーティングシステムによる制御などの干渉を受ける記憶領域を総称したものであり、オペレーティングシステムが使用する記憶領域となっている。
一方、オペレーティングシステム非干渉領域は、メインRAM321、322のメモリ空間において、オペレーティングシステム(のファイルシステム機能)が関与できない記憶領域であり、例えばアドレス及びデータサイズを直接指定しなければ、直接テクスチャデータなどを格納したり読み出すことが不可能な記憶領域である。具体的には、メインRAM321、322のオペレーティングシステム非干渉領域は、指定された絶対アドレス(転送先アドレス)からデータサイズ(転送データサイズ)にわたりプログラムやデータを格納可能となっている。これらメインRAM321、322のメモリ空間については後述する。
(3−1−3.GPUの構成例)
GPU300は、バスコントローラ306、バス307、外部インタフェース333、DMA(Direct Memory Access)コントローラ384、CPUインタフェース383及び図柄CPU311を含んでいる。またこのGPU300は、ブートROM301、タイマ302、シリアルインタフェース303、I/Oポート304及び周辺インタフェース305を含んでいる。さらに、このGPU300は、バスインタフェース308、バス309、メモリコントローラ315及びVDP(Video Display Processor)330を含んでいる。バス307とバス309とは、バスインタフェース308を経由して接続されている。このGPU300においては、図柄CPU311の動作クロックは266MHzであるが、その他の各ブロック(VDP330など)の動作クロックは133MHzである。
ソースROM340は、外部インタフェース333を介してバス307に接続されており、この外部インタフェース333に対して、16ビットのバス線によって接続されている。このソースROM340は、外部インタフェース333に設定された転送元アドレス及び転送データサイズに従って、この外部インタフェース333によってソースROM340の転送元アドレスから転送データサイズ分にわたり各データが読み出される。
メインRAM321、322は、各々メモリコントローラ315を介してバス309に接続されている。そして、バス309は2系統のバスを備えており、メインRAM321、322はそれぞれ異なる系統のバスに接続されている。従ってメインRAM321、322は、各々メモリコントローラ315の制御によって独立して読み出しや書き込みが可能な構成となっている。これらメインRAM321、322は、各々メモリコントローラ315に設定された転送先アドレス及び転送データサイズに従って、メモリコントローラ315によって転送先アドレスから転送データサイズにわたりデータなどが読み出される。
(3−1−3−1.図柄CPU以外の構成例)
バス307には、外部インタフェース333、DMAコントローラ384、CPUインタフェース383及び周辺インタフェース305が接続されており、これらにおけるデータ転送はバスコントローラ306によって制御されている。
DMAコントローラ384は、指定された転送元アドレス及び転送データサイズに従ってソースROM340からデータなどを読み出し、指定された転送先アドレス及び転送データサイズに従ってメインRAM321、322に読み出したデータを転送するDMA転送を実行する。
周辺インタフェース305には、ブートROM301、タイマ302、シリアルインタフェース303及びI/Oポート304が接続されている。ブートROM301は、ブートプログラムを不揮発的に記憶するメモリである。このブートプログラムは、例えば外部インタフェース333などのハードウェアの初期化処理を実行したり、プログラムローダのロード処理を実行するプログラムである。
タイマ302は、ハードウェアによる計時機能を発揮する。シリアルインタフェース303は、サブ制御基板35からの演出表示コマンドなどをシリアル通信により受信するバッファ(後述するコマンド受信バッファ)としての機能を有するインタフェースである。I/Oポート304は外部との信号のやりとりを行うためのポートである。
(3−1−3−2.図柄CPUの構成例)
また、上記バス307には、CPUインタフェース383を介して、表示制御プロセッサとしての図柄CPU311が接続されている。この図柄CPU311は、VDP330とともにGPU300に内蔵されている。
図柄CPU311は、CPUインタフェース383を介して、各ブロックに対して指示を与える。この図柄CPU311は、例えば電源投入時に周辺インタフェース305を介してブートROM301のブートプログラムを起動させると、このブートプログラムが、ソースROM340からプログラムローダをメインRAM321、322にロードする。
そして、メインRAM321、322にロードされたプログラムローダは、表示スケジューラデータ(スケジューラデータ)、オペレーティングシステム、デバイスドライバソフトウェア、ライブラリソフトウェア及びアプリケーションソフトウェアを、各々、メインRAM321、322の予め定められた各領域にロード(転送)する。
またその他にも図柄CPU311は、DMAコントローラ384に対して転送元アドレス、転送先アドレス及び転送データサイズを指定すると、このDMAコントローラ384が、ソースROM340の転送元アドレスから転送データサイズにわたり格納されているデータを、メインRAM321、322のオペレーティングシステム非干渉領域における転送先アドレスから転送データサイズにわたり、そのデータを転送する。
(3−1−4.VDPの構成例)
VDP330は、装飾図柄表示装置16に映像を表示させる機能を有する。このVDP330は、例えばモデリングにより構成した3次元オブジェクトに、模様などのテクスチャをマッピングして構成したポリゴンによるフレームを連続的に表示し、これらフレーム群によって視覚的に映像を構成する機能を有する。この3次元オブジェクトは、モデルデータを用いて表示すべき形状に相当する3次元のモデルを表している。なお、本実施形態では、取り扱うデータ(素材画像データ)として主にテクスチャデータを例示しているが、必要に応じて適宜モデルデータなども挙げつつ説明する。
VDP330は、ジオメトリエンジン(GEC)331、レンダリングコントローラ(RDC)332及びビデオ出力コントローラ(VOC)336を含んでいる。また、レンダリングコントローラ332は、ソートアクセラレータ(SA)334及びレンダリングコントローラ(RC)335を含んでいる。
(3−1−4−1.ジオメトリエンジン)
ジオメトリエンジン331は、図柄CPU311が設定値を書き込み可能なレジスタ(図示せず)を内蔵している。図柄CPU311は、表示スケジューラデータに基づいて描画コマンド群をそのレジスタに書き込むようになっている。するとジオメトリエンジン331は、各レジスタの設定値の書き込みに従って動作する。図柄CPU311が書き込む内容(設定値)としては、描画を制御するコマンド(以下「描画コマンド」と呼称する)の集まりとしての描画コマンド群を例示することができる。以下の説明においては、この描画コマンド群を「GE入力ストリーム(GISデータ)」と呼称する。
ジオメトリエンジン331は、メインRAM321、322に格納されたGE入力ストリーム(GISデータ)及びGEリンクテーブル(GLT)を読み込みながらいわゆるジオメトリ処理を実行する。このGEリンクテーブルは、GE入力ストリームを読み込むためのデータの先頭アドレス及びデータサイズが指定されたものを複数まとめたテーブルを表している。そして、ジオメトリエンジン331は、そのジオメトリ処理の結果としてのソートアクセラレータ334用のディスプレイリスト(以下「SAリスト」と呼称する)をメインRAM321、322に格納する。なお本実施形態では、GE入力ストリーム(GISデータ)及びGEリンクテーブル(GLT)を「GEリスト」とも呼称する。
このうちGEリンクテーブル(GLT)は、ジオメトリエンジン331がメインRAM321、322からGE入力ストリーム(GISデータ)を読み込むにあたり指定する先頭アドレス及びデータサイズを、GE入力ストリームごとに複数まとめたテーブルデータである。このGE入力ストリーム(GISデータ)は、演算処理を実行するためのパラメータなどを複数まとめたデータである。
ジオメトリエンジン331は、3次元コンピュータグラフィックスにおいて、空間に置かれた立体モデルの座標をスクリーン座標に変換するための計算を実行するジオメトリ処理を実行する専用のハードウェアである。具体的には、ジオメトリエンジン331は、まず、物体を構成するポリゴンの座標データであるモデリング座標系を、視点を原点にした視点座標系に変換する。そしてジオメトリエンジン331は、遠近法などの効果や前面の物体に隠れる部分などを計算して投影変換を実行し、最後に、表示される画面に合わせたスクリーン座標系に変換する。ジオメトリエンジン331は、以上のような処理を終了すると、割込み信号を送信する。この図柄CPU311は、この割り込み信号を受け取ると終了割り込み処理に入り、この終了割り込み処理においてレンダリングコントローラ332のレジスタに設定値を書き込む。
(3−1−4−2.レンダリングコントローラ)
レンダリングコントローラ332は、図柄CPU311がレジスタに書き込むと、その書き込まれた設定値に従って動作する。レンダリングコントローラ332は、3次元物体を2次元上に表現する場合その物体に陰影付けをして3次元に見えるようにするいわゆるレンダリング処理を実行する専用ハードウェアである。
このレンダリングコントローラ332は、描画コマンドレジスタ(図示せず)、ソートアクセラレータ334及びレンダリングコントローラ335を有する。これらソートアクセラレータ334及びレンダリングコントローラ335は、各々描画コマンドレジスタに図柄CPU311から描画コマンドなどの書き込みがあると、その書き込まれた描画コマンドなどに従って動作する。
図柄CPU311が描画コマンドレジスタに書き込む内容としては、メインRAM321、322から読み出した前述のSAリスト(例えば頂点演算コマンド及び描画コマンドを含む)及びレンダリングコントローラ335用のディスプレイリスト(以下「RCリスト」と呼称する)を例示することができる。このうちソートアクセラレータ334は、描画コマンドレジスタに書き込まれたSAリストに従ってRCリストを生成し、メインRAM321、322に格納する。
レンダリングコントローラ335は、描画コマンドレジスタに書き込まれた描画コマンド、SAリスト及びRCリストに従ってテクスチャデータを読み込み、ポリゴンなどの描画に用いるピクセルデータを生成する。このピクセルデータは1つのフレームの描画に用いる描画データである。レンダリングコントローラ335は、生成したピクセルデータをメインRAM321、322のフレームバッファエリアに転送する。レンダリングコントローラ335は、以上のような処理を終了すると、図柄CPU311に対して割込み信号を送信する。この図柄CPU311は、この割り込み信号を受け取ると終了割り込み処理に入り、この終了割り込み処理においてビデオ出力コントローラ336のレジスタに設定値を書き込む。
(3−1−4−3.ビデオ出力コントローラ)
ビデオ出力コントローラ336は、図柄CPU311がレジスタ(図示せず)に書き込むと、その書き込まれた内容(設定値)に従って動作する。ビデオ出力コントローラ336は、装飾図柄表示装置16への同期信号(Vブランク信号など)を生成するとともに、この同期信号に同期させつつ、メインRAM321、322のフレームバッファエリアに生成されたピクセルデータを映像信号に変換してスケーラ337に対して出力する。このスケーラ337は、ビデオ出力コントローラ336が出力した映像信号に基づく映像の表示範囲を変更し、変更後の表示範囲に基づく映像信号を装飾図柄表示装置16に出力している。
(3−2.ソースROMのメモリ空間)
次に、上述したソースROM340のメモリ空間に関して説明する。
(3−2−1.データの種類)
ソースROM340は、ポリゴンのような映像の骨組みを表す形状の表示に用いるモデルデータ(素材画像データ)、その骨組みの形状に貼り付けるテクスチャの表示に用いるテクスチャデータ(素材画像データ)、パレットデータ(素材画像データ)及び表示スケジューラデータ(スケジューラデータ)の他にも、上記アプリケーションソフトウェア(表示制御プログラム)、ライブラリソフトウェア(表示制御プログラム)、ドライバソフトウェア(表示制御プログラム)、オペレーティングシステム及びロードプログラムを不揮発的に記憶している。このうち本実施形態においては、モデルデータ、テクスチャデータ及びパレットデータなど映像の表示に用いるデータを各々「リソース」と呼称するとともに、これらを互いに識別する識別子として「リソース番号(データ識別子)」を付して管理しているものとする。また本実施形態では、例えば5319個のテクスチャデータ(及びモデルデータなど)を使用するとともに、例えば300個のパレットデータを使用するものと例示する。
このうちテクスチャデータは、データ本体及び原始ヘッダ情報を含む原始テクスチャデータのうちのデータ本体を示している。つまりテクスチャデータは、原始テクスチャデータから原始ヘッダ情報を削除したデータ本体を表している。この原始ヘッダ情報は、データ本体を管理するための情報を含んでいる。本実施形態では、このうちデータ本体を「テクスチャデータ」と呼称している。なお、モデルデータなども、同様にデータ本体及び原始ヘッダ情報を含む原始モデルデータのうちのデータ本体を示している。
また、上記表示スケジューラデータは、アプリケーションソフトウェアなどが映像の表示を制御するために参照するデータであり、例えば表示すべき映像を構成するシーンの組み合わせや各シーンの表示順序等の表示すべき映像の構成に関する情報、表示すべき映像を構成する各シーンの描画に必要なモデルデータ及びテクスチャデータ等の素材画像データを特定するための情報を含んでいる。この表示スケジューラデータは、さらに各フレームを構成するレイヤー(ウィンドウ)に配置すべきポリゴンの座標及び、例えば4枚のレイヤー同士を重ね合わせる場合の優先順位などの情報を含んでいる。この表示スケジューラデータは、アプリケーションソフトウェアによって各シーンの表示にあたり参照されるデータである。
(3−2−2.メモリマップ)
図4は、ソースROM340のメモリ空間の構成例を示すメモリマップである。
ソースROM340には、上記オペレーティングシステム、アプリケーション、ライブラリソフトウェア及びデバイスドライバソフトウェアなどを格納する領域(図示せず)を有するのみならず、映像の表示に必要なテクスチャデータ群TDGと、これらテクスチャデータ群TDGに関するヘッダ管理情報HTJと、表示スケジューラデータHSDを格納する領域を有する。このテクスチャデータ群TDGには、複数のテクスチャデータTDが含まれている。
ここでテクスチャデータTDは、例えばいわゆるビットマップデータのように原始ヘッダ情報がデータ本体に付されてなる原始素材画像データのうち、データ本体のみを抽出した素材画像データの一種である。この原始ヘッダ情報は、このデータ本体を個々に区別するために付された識別子としてのリソース番号、このデータ本体のデータサイズ、データ種別フラグ、幅、高さ及びパレットに関する情報を含んでいる。なお、このリソース番号は、各テクスチャデータTDなどや、各ピクセルに用いるパレットに関する情報としてのパレットデータに、各々付された識別番号である。このパレットデータは、例えばフレームの各ピクセルについての色などに関する情報を含んでいる。またデータ種別フラグは、データ本体がテクスチャデータ、モデルデータ、或いはパレットデータなどのいずれかであるのかに関するデータの種類を表している。また幅及び高さは、各々このテクスチャを表示した場合における表示上の幅及び高さを表している。
一方、ヘッダ管理情報HTJは、この原始ヘッダ情報のうち所望の一部の情報のみを抽出した情報を表している。具体的には、このヘッダ管理情報HTJは、所定のツールソフトウェアによって、予め、例えば原始テクスチャデータの原始ヘッダ情報から生成されたデータである。その中身としてのヘッダ管理情報HTJは、上記ヘッダ情報からリソース番号、各テクスチャデータTDのデータサイズ及び、各ピクセルに用いるパレットに関する情報を抽出して含めた情報に、グループID(群識別子)を付加したものである。
このグループIDは、複数群のテクスチャデータ群TDGに含まれる各テクスチャデータ群TDGを各々識別するためのデータ群の識別子である。本実施形態では、例えば19個のテクスチャデータ群TDGが準備されている。これに応じて、グループIDとして、例えば後述する常駐エリア(常駐領域)に展開すべき常駐テクスチャデータ群TDGには「0」が割り当てられており、非常駐エリア(非常駐領域)に展開すべき非常駐テクスチャデータ群TDGには「1」〜「18」のいずれかが割り当てられている。なお、ヘッダ管理情報HTJは、常駐させるか或いは非常駐とするかを問わず、すべてのテクスチャデータ及びパレットデータなどについて各々用意されている。
(3−3.メインRAMのメモリマップ)
図5は、メインRAM321、322のメモリ空間の構成例を示すメモリマップである。
メインRAM321、322は、そのメモリ空間として、各々オペレーティングシステムエリアOSE、リストエリアLSTE、第1非常駐エリア(非常駐領域)HJE1(HJE)、フレームバッファエリアFBE、常駐エリア(常駐領域)JE及び第2非常駐エリア(非常駐領域)HJE2(HJE)を含んでいる。なお本実施形態では、第1非常駐エリアHJE1と第2非常駐エリアHJE2とを特に区別する必要がない場合には、これらを総称して「非常駐エリアHJE」と呼称するものとする。
このうちオペレーティングシステムエリアOSEは、ブート時にオペレーティングシステムがロードされる領域である。リストエリアLSTEは、GPU300が使用する前述した各リスト(リストデータ)を格納する領域である。フレームバッファエリアFBEは、GPU300がテクスチャデータTDなどに基づいて、フレームの描画のために生成したピクセルデータを格納する領域である。
このフレームバッファエリアFBEは、例えば2つの領域に分かれており、GPU300によって一方のフレームバッファエリアFBEにピクセルデータが生成されている間に、GPU300によって他方のフレームバッファエリアFBEから、生成済みのピクセルデータが描画のために出力されるようになっている。
また常駐エリアJEは、複数群のテクスチャデータ群TDGのうち使用頻度の高いテクスチャデータ群TDG(以下「常駐テクスチャデータ群TDG」と呼称する)を恒常的に記憶可能な記憶領域である。一方、非常駐エリアHJEは、複数群のテクスチャデータ群TDGのうち常駐テクスチャデータ群TDG以外の他のテクスチャデータ群TDG(以下「非常駐テクスチャデータ群TDG」と呼称する)を一時的に記憶可能な記憶領域である。この非常駐エリアHJEは、例えば第1非常駐エリアHJE1がRAM321のメモリ空間に形成されており、第2非常駐エリアHJE2がRAM322のメモリ空間に形成されている。
(4.ソフトウェアの構成例)
装飾図柄制御基板30に関するハードウェアの構成例については以上のようであり、次に装飾図柄制御基板30において動作するソフトウェアの構成例について説明する。
図6は、装飾図柄制御基板30上において動作するソフトウェアを階層的に表した図である。
(4−1.オペレーティングシステム)
装飾図柄制御基板30においてはオペレーティングシステム111が動作しており、このオペレーティングシステム111上においては各種のソフトウェアが動作している。具体的には、オペレーティングシステム111上においては、主としてデバイスドライバソフトウェア112(デバイスドライバ)、ライブラリソフトウェア113(ライブラリ)及びアプリケーションソフトウェア114(アプリケーション)が動作しており、上位側ソフトウェアとしてのアプリケーション114が映像の表示にあたり、下位側ソフトウェアとしてのライブラリ113を利用してデバイスドライバ112を制御している。
このうちデバイスドライバ112は、GPU300に接続されているデバイスを制御するためのドライバソフトウェアであり、例えば周辺機器ドライバ112a、外部メモリドライバ112b及びGDC(Graphic Display Controller)ドライバ112cが用意されている。また、ライブラリ113としては、ムービライブラリ113a及びグラフィックライブラリ113bが用意されている。さらに、アプリケーション114としては、ユーザシステムモジュール114a及びユーザモジュール114bが用意されている。
ここで、装飾図柄制御基板30においてオペレーティングシステム111を動作させているのは、次のような理由によるものである。まず近年、コンピュータグラフィック(以下「CG」と呼称する)の作成ソフトウェアがコンピュータのオペレーティングシステムに提供されており、CG技術者が、コンピュータのオペレーティングシステム上で動作するCG作成ソフトウェアを用いてCGアニメーションを作成しやすい環境が整っている。一般的にオペレーティングシステム上で動作するソフトウェアは、ハードウェアに依存する専用ソフトウェアに比べて開発が容易であり、近年、このようなオペレーティングシステム上で動作するCGライブラリソフトウェア(以下「ライブラリ」と呼称する)などが多数提供されている。
本実施形態では、装飾図柄制御基板30にオペレーティングシステム111を搭載しておき、アプリケーション114は、CG技術者が豊富に提供されているライブラリを利用して作成した多数のCGアニメーションを利用して、映像を表示する形態を採用している。
(4−2.デバイスドライバ)
上述したように、デバイスドライバ112は、例えば、周辺機器ドライバ112a、外部メモリドライバ112b及びGDCドライバ112cが用意されている。
周辺機器ドライバ112aは、周辺インタフェース305に接続されたタイマ302、シリアルインタフェース303及びI/Oポート304などの周辺機器を制御するためのドライバソフトウェアである。外部メモリドライバ112bは、外部インタフェース333に接続されたソースROM340からのテクスチャデータTDなどの読み出しを制御するためのドライバソフトウェアである。
GDCドライバ112cは、GPU300によるグラフィックス機能を利用するために用意されたドライバソフトウェアである。具体的には、GDCドライバ112cは、上位側ソフトウェアであるアプリケーション114のうち、主としてユーザモジュール114bやグラフィックライブラリ113bによって利用されるドライバソフトウェアである。このGDCドライバ112cは、上記ジオメトリエンジン331、レンダリングコントローラ332及びビデオ出力コントローラ336の各処理を、各々、ジオメトリタスク、レンダリングタスク及びビデオ出力タスクにて実行している。
(4−3.ライブラリ)
上述したように、ライブラリ113としては、ムービライブラリ113a及びグラフィックライブラリ113bが用意されている。
ムービライブラリ113aは、動画像データを用いて動画像を再生するためのライブラリソフトウェアである。一方、グラフィックライブラリ113bは、ユーザモジュール114bが映像の表示にあたり利用するライブラリソフトウェアであり、ユーザモジュール114bの指定に応じて描画処理を実行する。
このグラフィックライブラリ113bは、GPU300のVDP330に含まれるジオメトリエンジン331、レンダリングコントローラ335及びビデオ出力コントローラ336の補助を受けつつ、グラフィック機能を発揮させるためのライブラリソフトウェアである。このグラフィックライブラリ113bは、モデルデータを用いて表示すべき形状の骨格に相当する3次元オブジェクトをモデリングするとともに、テクスチャデータを用いてこのオブジェクトにテクスチャ(模様など)をマッピングして、いわゆる3次元グラフィックスによってフレームを作成することで映像を表示する機能を有する。
(4−4.アプリケーション)
上述したように、アプリケーション114としては、ユーザシステムモジュール114a及びユーザモジュール114bが用意されている。これらユーザシステムモジュール114a及びユーザモジュール114bは、Vブランク信号を受け取ると、定常処理を実行している。なおこのVブランク信号は、ビデオ出力コントローラ336が出力する信号である。
(4−4−1.ユーザシステムモジュール)
このうちユーザシステムモジュール114aは、パチンコ機の種類が違うものであっても共通の処理を実行するものであり、その定常処理において、例えばコマンド受信処理、スケーラ制御処理及びウォッチドッグタイマ(WDT)のクリア処理などを含む周辺機器の制御処理、図柄などの整合性判定処理、ノイズ対策処理、状態遷移処理及びテストコマンド処理を実行する。
(4−4−2.ユーザモジュール)
一方、ユーザモジュール114bは、パチンコ機の種類に応じて異なる処理を実行するものであり、その定常処理において、例えば停電状態からの復旧時の表示に関する制御処理、図柄の変動表示に関する制御処理、アニメーションの表示に関する制御処理、動画像の表示に関する制御処理を実行する。さらにユーザモジュール114bは、停電状態からの復旧時の表示に関する制御処理及び図柄の変動表示に関する制御処理を実行する。
このユーザモジュール114bの詳細な機能については後述する。なお、これらユーザシステムモジュール114a及びユーザモジュール114bが実行する各処理は、一例として便宜上振り分けたものであり、必要に応じて適宜様々に振り分けることができる。
(5.装飾図柄制御基板などの動作例)
装飾図柄制御基板30を搭載するパチンコ機1は以上のような構成であり、次にユーザシステムモジュール114a及びユーザモジュール114bなどの動作により演出表示処理が実行される様子について説明する。以下、本実施形態では、リセット処理、常駐エリアへの転送処理、電源投入時ハンドラ生成処理、非常駐エリアへの転送処理、通常時ハンドラ生成処理及び表示処理の順に説明する。まず最初に、リセット処理について説明する。
(5−1.リセット処理)
このリセットスタート処理(リセット処理)では、例えば電源投入後或いは、稼働中に瞬間的な停電状態が生じた後、復旧した際に実行される処理である。
図7は、装飾図柄制御基板30におけるリセット処理の基本的な処理手順の一例を示すフローチャートである。このリセット処理は、装飾図柄制御基板30がリセットされた或いは新規に電源投入された場合、或いは稼働中に瞬間的な停電状態が生じた場合に、順次実行される処理例を表している。
(5−1−1.ハードウェアに関する初期化処理)
このハードウェアに関する初期化処理では、ハードウェアの最小限度の初期化を実行するものとし、まず、図柄CPU311について初期化処理が実行される(ステップS10)。この図柄CPU311についての初期化処理では、図柄CPU311の割込み処理に関する設定がされる。
次に、このハードウェアに関する初期化処理では、外部インタフェース333(例えばPCIバス)について初期化処理が実行され(ステップS20)、さらにメモリコントローラ315について初期化処理が実行される(ステップS30)。併せて、このハードウェアに関する初期化処理では、VDP330についての初期化処理が実行される。以上のようにハードウェアの初期化処理がなされる。
(5−1−2.OSなどのブート処理)
次にブート処理が実行される。このブート処理では、以上のようにバスやポートなど最低限度の初期化を行った後、ブートROM301のブートプログラムを実行する。このブートプログラムは、ソースROM340のスタートアッププログラムをメインRAM321、322上にロードし実行する。
このメインRAM321、322上のスタートアッププログラムに含まれるプログラムローダは、ソースROM340からオペレーティングシステム111を、メインRAM321、322に転送する(ステップS40)。さらにプログラムローダは、ソースROM340からユーザシステムモジュール114a及びユーザモジュール114bなどを各々読み出すとともに、メインRAM321、322のオペレーティングシステム干渉領域に転送する(ステップS40)。
このプログラムローダが、これらプログラムを各々転送した後、オペレーティングシステム111のプログラムコードが順次実行され、オペレーティングシステム111が起動する(ステップS50)。なお本実施形態では、リセット後、オペレーティングシステム111に関しては全て最初からロードさせ、初期状態から起動させる。つまり、オペレーティングシステム111は、毎回、全て最初からロードされ、初期状態から動作することとなる。
その後、オペレーティングシステム111がユーザシステムモジュール114a及びユーザモジュール114bを起動する(ステップS60)。本実施形態では、これら実行した各プログラムに各々タスクが対応しており、例えばユーザシステムモジュール114a及びユーザモジュール114bに対応してメインタスクが割り当てられている。なお、このメインタスクは、内部的に、これらユーザシステムモジュール114a及びユーザモジュール114bに応じて各々タスクを分けて管理されている。
(5−1−3.ホット・コールド判定処理)
このユーザシステムモジュール114aは、各種初期設定を実行した後、次のようなホット・コールド判定処理を実行する。
図8は、ホット・コールド判定処理の手順の一例を示すフローチャートである。このホット・コールド判定処理では、ユーザモジュール114bが停電状態から復旧したときに(復電時に)、後述するコールドスタートするべきであるか、或いは、後述するホットスタートすべきであるかを判定している。
まず、このようなホット・コールド判定処理を実行するのは、復電時に、メインRAM321、322のバックアップ対象のメモリ空間(以下「バックアップ対象領域」と呼称する)のバックアップデータが信頼できる状態であった場合には、そのバックアップ対象領域を含むメインRAM321、322のメモリ空間全体に記憶されているデータを信頼できる(例えばデータの欠落など不具合がない)ものと推定し、そのメモリ空間のデータを継続的に利用することで、復電時に、例えば常駐エリアにおいて信頼できるメモリ空間にあるテクスチャデータTDなどをそのまま利用することができるためである(以下「ホットスタート」と呼称する)。このようにすると、ホットスタートの場合、ホットスタート以外でスタートした場合(後述するコールドスタート)よりも復電後の映像の表示を早くすることができる。
以下、ホット・コールド判定処理について具体的に説明する。本実施形態では、ユーザモジュール114bが、ソースROM340からメインRAM321、322に転送したデータのうち、バックアップ対象領域におけるデータを「バックアップデータ」と呼称している。ユーザモジュール114bは、メインRAM321、322のバックアップ対象領域のデータに関してサム値を演算する機能を有する。なお本実施形態では、メインRAM321、322のバックアップ対象領域は、常駐エリアJEの一部を構成しているものとする。
本実施形態では、ユーザモジュール114bが、例えば転送前にバックアップ対象領域のデータについて演算されたサム値を保持している。本実施形態では、このように保持しているサム値を「既定のサム値」と呼称する。
このホット・コールド判定処理では、まずメインRAM321、322のバックアップ対象領域に現存しているデータに関してサム値を演算し、サム判定を実行する(ステップS81)。ここで本実施形態では、対象とすべきデータに関してサム値を演算することを「サム判定」と呼称する。次にユーザモジュール114bは、メインRAM321、322のバックアップ対象領域に現存するデータから演算したサム値と、既定のサム値とを比較し、両サム値が一致しているか否かを判断して両サム値の整合性を確認する(ステップS82)。このようにユーザモジュール114bは、復電時に、メインRAM321、322の特定領域(上記バックアップRAMに相当)に残存しているバックアップデータが正常であるか否かを確認している(確認手段)。
そのようなサム判定の結果、これら両サム値が一致しておりメインRAM321、322のバックアップ対象領域のデータが信頼できる場合、ユーザモジュール114bは、起動モードを「ホットスタート」に設定し(ステップS83)、動作を開始する(本実施形態では「ホットスタート」と呼称している)。併せてユーザモジュール114bは、メインRAM321、322のメモリ空間のうち、バックアップ対象領域を0クリアする(ステップS84)。なお「0クリア」とは、対象とする記憶領域に「0」を埋め尽くすことで初期化することをいう。一方、そのサム判定の結果、これら両サム値が一致せずバックアップ対象領域のデータが信頼できない場合、ユーザモジュール114bは、メインRAM321、322の記憶領域のうち、バックアップ対象領域のみならずその他全ての記憶領域(バックアップ非対象領域)についても0クリアして初期化する(ステップS88)。つまりユーザモジュール114bは、メインRAM321、322のバックアップRAMに残存しているバックアップデータが正常ではない場合、ソースROM340において対応する転送元のデータをメインRAM321、322のオペレーティングシステム非干渉領域に転送させている(転送指示手段)。
そしてユーザモジュール114bは、起動モードを「コールドスタート」に設定し(ステップS89)、例えば常駐エリアJEに転送すべきデータに関して全て最初から再転送を開始する。本実施形態では、復電時に、ユーザモジュール114bがこのように全て最初からデータを転送して動作を開始することを「コールドスタート」と呼称している。
(5−2.表示スケジューラデータの転送)
次にユーザモジュール114bは、表示スケジューラデータHSDをソースROM340からメインRAM321、322に転送する(スケジューラデータ転送手段)。
ここで、ユーザモジュール114bは、上記のホット・コールド判定処理において起動モードが「コールドスタート」または「ホットスタート」のいずれに設定された場合でも、常に、表示スケジューラデータHSDをソースROM340からメインRAM321、322に転送する。つまり、ユーザモジュール114bは、停電状態から復旧する毎に、ソースROM340から表示スケジューラデータHSDを読み出してRAM321、322に転送する。
なお、ユーザモジュール114bは、テクスチャデータTD等に関しては、上記のホット・コールド判定処理において起動モードが「コールドスタート」に設定された場合には、ソースROM340からメインRAM321、322に転送を行うが、「ホットスタート」に設定された場合にはソースROM340からメインRAM321、322への転送を行わない。
次にテクスチャデータ群TDGの転送に関して説明する。
(5−3.各テクスチャデータ群に含まれるデータ数)
図9は、各テクスチャデータ群TDGに含まれる各テクスチャデータTDの数を例示している。
本実施形態では、メインRAM321、322のメモリ容量を小さくしたい要求があるため、これら全てのテクスチャデータTDなどをグループ単位で分割してテクスチャデータ群TDGとして分割転送している。また本実施形態では、グループID=「0」に対応する常駐テクスチャデータ群TDGには、例えば1449個のテクスチャデータTDが含まれている。つまり、本実施形態では、常駐エリアJEに1449個分のテクスチャデータTDを含む、このグループID=「0」に対応する常駐テクスチャデータ群TDGが転送されるのである。
一方、本実施形態ではグループID=「1」〜「18」に対応する非常駐テクスチャデータ群TDGには、各々、例えば219個、252個、93個、51個、217個、171個、153個、366個、435個、390個、236個、156個、201個、351個、313個、63個、489個及び14個のテクスチャデータTDが含まれている。
(5−4.常駐エリアへの転送処理)
図10は、常駐エリアJEへの転送処理などの一例を示すフローチャートを表しており、図11は、メインRAM321、322に転送されたヘッダ管理情報HTJ及びテクスチャデータ群TDGの展開例を示す図である。図10に示す常駐エリアJEへの転送処理は、ユーザモジュール114bが常駐テクスチャデータ群TDGをソースROM340からメインRAM321、322の常駐エリアJEに転送する処理である。
ユーザモジュール114b(ヘッダ管理情報転送手段)は、初期化時に、ヘッダ管理情報HTJをソースROM340からメインRAM321、322に転送しておく(ステップS101)。
これに続いてさらにユーザモジュール114bは、複数群のテクスチャデータ群TDGのうち、例えばグループID(群識別子)として指定された「0」に対応するテクスチャデータ群TDGを一括して、ソースROM340からメインRAM321、322に転送する(一括転送手段)。
具体的には、ユーザモジュール114bは、グループID=「0」に対応するテクスチャデータ群TDG(「常駐テクスチャデータ群TDG」と呼称する)について、ソースROM340における格納位置を示す転送元アドレスを指定するとともに、この常駐テクスチャデータ群TDGの転送データサイズを指定する。さらにユーザモジュール114bは、この常駐テクスチャデータ群TDGについて、メインRAM321、322の常駐エリアJEにおける格納位置(転送先アドレス)を指定する。このように転送元アドレスなどを指定すると、ユーザモジュール114bは、コールドスタート時に、ソースROM340からメインRAM321、322のオペレーティングシステム非干渉領域のうち常駐エリアJEに、グループID=「0」に対応する常駐テクスチャデータ群TDGを転送する(ステップS102)。この常駐テクスチャデータ群TDGは、例えば使用頻度の高い各テクスチャデータTDを含むものである。
このようにヘッダ管理情報HTJ及び常駐テクスチャデータ群TDG(図示のテクスチャデータ群TDG)が展開された状態を図示すると、図4に示すソースROM340における格納状態が図11に示すようにそのまま展開された状態となっている。つまり、メインRAM321、322においては、上記したソースROM340におけるヘッダ管理情報HTJ、テクスチャデータ群TDG及び表示スケジューラデータHSDがそのまま転送され、格納されている。この状態においては、ユーザモジュール114bは、このテクスチャデータ群TDGを操作(ハンドリング)する手段が存在しないため、このテクスチャデータ群TDGに含まれる個々のテクスチャデータTDを各々区別して操作することができない。このため本実施形態では、次に示すようにハンドラを生成する。
(5−5.電源投入時ハンドラ生成処理)
図12は、電源投入時ハンドラ生成処理の手順の一例を示すフローチャートである。
ユーザモジュール114bは、メインRAM321、322に転送されたテクスチャデータ群TDGのうち、常駐エリアJEに転送した常駐テクスチャデータ群TDGに対応して、例えばグラフィックライブラリ113bに、ヘッダ管理情報HTJに基づいて、次のようにテクスチャハンドラTHを生成させる。
具体的には、ユーザモジュール114bは、メインRAM321、322の常駐エリアJEに転送された常駐テクスチャデータ群TDGについて、図13に示すようにヘッダ管理情報HTJのヘッダ抽出情報から、この常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDを各々識別可能とするテクスチャハンドラTHを生成する。なお、このヘッダ管理情報HTJは、例えば32バイトのデータであり、全てのテクスチャデータ群TDGなどに含まれる約5619個のテクスチャデータTDなどに対応して各々設けられている。
グラフィックライブラリ113bは、まず、処理対象とすべきリソース番号を「0」と設定する(ステップS151)。次にグラフィックライブラリ113bは、このリソース番号(この場合「0」)に対応するヘッダ管理情報HTJの内容を参照し(ステップS152)、このヘッダ管理情報HTJに含まれるグループIDが「0」であるか否かを判断する(ステップS153)。
グラフィックライブラリ113bは、グループIDが「0」であることを検索キーとして、ヘッダ管理情報HTJから、常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDのオフセット値を取得し、この常駐テクスチャデータ群TDGの先頭アドレスにオフセット値(オフセットアドレス)を加算することで、常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDのオフセットを取得する(ステップS154)。このグラフィックライブラリ113bは、メインRAM321、322の常駐エリアJEに転送された常駐テクスチャデータ群TDGについて、図13に示すようにヘッダ管理情報HTJのヘッダ抽出情報から、この常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDを各々識別可能とするテクスチャハンドラTHを生成する(ステップS155)。
グラフィックライブラリ113bは、処理対象とするリソース番号をインクリメントし(ステップS156)、処理対象とすべきリソース番号(例えば0〜5618)が5618を超えたか否かを判断する(ステップS157)。この「5618」という数値は、本実施形態においてテクスチャデータTD及び図示しないパレットデータ(以下、テクスチャデータTDを主として例示する)の合計数を5619個と例示したためである。ここで、処理対象とすべきリソース番号が5618を超えている場合にはハンドラ生成処理を終了し、処理対象とすべきリソース番号が5618を超えていない場合には上記ステップS152に戻る。
一方、上記ステップS153においてグループIDが「0」でない場合には(例えば「1」〜「18」の場合)、上記ステップS156に進む。このようにしてグラフィックライブラリ113bは、メインRAM321、322の常駐エリアJE上に、ヘッダ管理情報HTJから、常駐テクスチャデータ群TDG(グループID=「0」)に含まれる全てのテクスチャデータTDを各々識別可能なテクスチャハンドラTHを生成する。以上のように常駐テクスチャデータ群TDGの転送処理が終了すると、次に遊技の進行に応じて非常駐テクスチャデータ群TDGの転送処理が実行される。まず、遊技制御処理の概要について説明する。
(5−6.遊技制御処理)
ここでメイン制御基板3においては、遊技の進行を制御するメイン制御プログラムが動作しており、このメイン制御プログラムが始動入賞を契機として大当り判定用乱数値を取得している(大当り抽選)。メイン制御プログラムは、始動入賞があると、大当り判定タイミングにおいて、取得した大当り判定用乱数値と予め定められた当り値とを比較して、大当り判定を実行する。これとともにメイン制御プログラムは、そのような始動入賞があった場合、その後、別途抽選により決定した変動時間にわたり、特別図柄表示装置41による点滅状態(特別図柄の変動表示状態)を継続した後、大当り抽選及び判定の結果に応じて特別図柄表示装置41を点灯状態或いは消灯状態(停止図柄の表示状態)とする。
このような大当り抽選及び判定を実行すると、メイン制御基板3は、特別図柄表示装置41の制御と並行して、大当り抽選及び判定の結果(抽選結果及び演出コマンド)をサブ制御基板35に対して出力する。この演出コマンドは、この抽選結果に応じて演出動作が制御されるべき変動時間に関する情報を含んでいる。これら抽選結果及び演出コマンドを受け取ったサブ制御基板35においては演出抽選を実行し、その演出抽選の結果に応じた演出パターンを選定する。この演出パターンは、音や光などを出力するためのパターンである。さらにサブ制御基板35においては、この演出パターンに対応した演出表示パターンを選定する。
この演出表示パターンは、変動時間にわたり、複数用意した演出表示動作のうちどの演出表示動作を実行すべきかに関するパターンを表しており、その演出表示動作として表示する各シーンに対応した情報を含んでいる。各シーンを表示するにあたり必要なテクスチャデータTDなどを含むテクスチャデータ群TDGは、この演出表示パターンに対応する表示スケジューラデータHSDを参照することで定まる。本実施形態では、各シーンを表示するために、ソースROM340からメインRAM321、322に転送(ロード)すべきテクスチャデータ群TDGの組み合わせを「データロードパターン」と呼称している。
(5−6−1.データロードパターン)
図14(A)〜図14(P)は、各々データロードパターンの一例を示す図である。
このデータロードパターンは、表示スケジューラデータHSDに従って表示すべきシーンに応じて、どの非常駐テクスチャデータ群TDGをメインRAM321、322の非常駐エリアHJEに転送(ロード)すべきであるかを表すパターンである。なお、本実施形態では、一例として図14に示すように16種類のデータロードパターンが用意されている。
本実施形態では、データロードパターンとして、「{」マークで開始されるとともに「}」マークで終了するスペースに、非常駐エリアHJEに転送されうる18個の非常駐テクスチャデータ群TDGのうち、転送対象とすべき非常駐テクスチャデータ群TDGのグループIDを左から「,」マークで区切りつつ配列している。なお、図示の各データロードパターンにおける最後のグループIDとして「0」が配列しているが、これは、常駐エリアJEに展開すべき常駐テクスチャデータ群TDGを表しているのではなく、転送すべき非常駐テクスチャデータ群TDGがこれ以上存在せず各データロードパターンの終了を表している。
例えば図14(A)に示すデータロードパターンにおいては、まず、例えばグループIDが「3」に対応する非常駐テクスチャデータ群TDGを転送し、次に、グループIDが「4」に対応する非常駐テクスチャデータ群TDGを転送することとなる。また、例えば図14(B)に示すデータロードパターンにおいては、まず、例えばグループIDが「1」に対応する非常駐テクスチャデータ群TDGを転送し、次に、グループIDが「5」に対応する非常駐テクスチャデータ群TDGを転送し、次に、グループIDが「8」に対応する非常駐テクスチャデータ群TDGを転送することとなる。
(5−7.非常駐エリアへの転送処理)
(5−7−1.演出コマンドの受信)
サブ制御基板35は、遊技の進行に応じてメイン制御基板3から受け取った演出コマンドなどに基づいて演出動作を制御している。具体的には、このサブ制御基板35において動作しているサブ制御プログラムが割込み処理(に含まれるコマンド送信処理)にて、装飾図柄制御基板30に対して演出表示コマンドなどを送信している。
(5−7−2.通常転送処理)
図15は、通常転送処理の手順の一例を示すフローチャートである。この通常転送処理は、遊技の進行に応じて、非常駐テクスチャデータ群TDGがソースROM340からメインRAM321、322の非常駐エリアHJEに転送される処理を表している。
まず、定常処理に含まれるコマンド受信処理では、サブ制御基板35からの演出表示コマンドなどを受信してコマンド受信バッファに格納する。そしてユーザシステムモジュール114aは、コマンド受信バッファを定期的にポーリングすることによって、そのコマンド受信バッファにコマンドとして演出表示コマンドが存在しているか否かを判断する。この演出表示コマンドには上記演出表示パターンを含んでいる。
ユーザモジュール114bは、コマンド受信バッファから演出表示コマンドなどを取得し、この演出表示コマンドなどに含まれる演出表示パターン番号に該当する表示スケジューラデータHSDより演出表示パターンを(リーチ演出パターンの種類など)を特定する。さらにユーザモジュール114bは、表示スケジューラデータHSDを参照し(ステップS201)、演出表示パターンを構成する各シーン、各シーンの表示順序及び、各シーンの表示に必要なテクスチャデータTDなどを特定する。なお、この表示スケジューラデータHSDは、演出表示パターンを構成する各シーン及びこれらシーンの表示順序、及び、各シーンの表示に必要なテクスチャデータTDなどに関する表示情報を含んでいる。ユーザモジュール114bは、この表示スケジューラデータHSDに従って、この演出表示パターンを構成する各シーンの表示に必要なテクスチャデータ群TDGなどのグループIDを指定する。なお、実際にはテクスチャデータTD以外にも転送すべきデータがあるが、本実施形態ではテクスチャデータTDを例示している。
次にユーザモジュール114bは、この指定したグループID(「指定グループID」とも呼称する)が「0(常駐)」でない場合には、このグループIDに対応する非常駐テクスチャデータ群TDGについていわゆるファイルオープン関数を実行する(ステップS202)。その後、このユーザモジュール114bは、例えば転送元アドレス及び転送データサイズを指定して、複数群のテクスチャデータ群TDGのうち指定したグループID(群識別子)に対応するテクスチャデータ群TDGを一括して、ソースROM340からメインRAM321、322に転送する(一括転送手段)。
より具体的には、ユーザモジュール114bは、このグループIDに対応する非常駐テクスチャデータ群TDGを一括して、ソースROM340からメインRAM321、322のオペレーティングシステム非干渉領域のうち非常駐エリアHJEに転送している(ステップS203)。このときユーザモジュール114bは、この非常駐エリアHJEにおいて、この非常駐テクスチャデータ群TDGを展開した転送先アドレス(先頭アドレスに相当)を把握している。
このように展開が終了すると、ユーザモジュール114bは、非常駐テクスチャデータ群TDGのソースROM340からの読み出しを不可能とするいわゆるファイルクローズ関数(例えば「fclose」)を実行する(ステップS204)。
(5−8.通常時ハンドラ生成処理)
図16は、通常時ハンドラ生成処理の手順の一例を示すフローチャートである。この通常時ハンドラ生成処理は、メインRAM321、322に転送されたテクスチャデータ群TDGのうち、非常駐エリアHJEに転送した非常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDを読み出すためのテクスチャハンドラTHを生成する処理を表している。なお、図16に示す通常時ハンドラ生成処理は、例えば1つのテクスチャハンドラTHを生成する処理を表しており、実際は、テクスチャデータTDの必要個数分にわたり、繰り返し実行されるようになっている。
ユーザモジュール114bは、例えばグラフィックライブラリ113bに、メインRAM321、322に転送済みの非常駐テクスチャデータ群TDGに含まれる各テクスチャデータTDに関して、ヘッダ管理情報HTJに基づいて、個々に次のようにテクスチャハンドラTH(データ読出情報)を生成させる(データ読出情報生成手段)。
まず、このグラフィックライブラリ113bは、その非常駐テクスチャデータ群TDGをメインRAM321、322に転送した際における、その非常駐テクスチャデータ群TDGの展開先である格納位置の先頭アドレスを保持している。なお、このヘッダ管理情報HTJは、例えば32バイトのデータであり、全てのテクスチャデータ群TDGなどに含まれる約5619個のテクスチャデータTDなどに対応して各々設けられている。これら各テクスチャデータTDなどには各々リソース番号が付与されている。
グラフィックライブラリ113bは、まず、テクスチャハンドラTHを生成するタイミングであるか否かを判断する(ステップS251)。ここで本実施形態においては、テクスチャハンドラTHを生成するタイミングとして、このテクスチャハンドラTHに対応するテクスチャデータTDなどをVDP330が使用する直前を採用している。そしてテクスチャハンドラTHを生成するタイミングでない場合は、この通常時ハンドラ生成処理を終了する一方、テクスチャハンドラTHを生成するタイミングである場合は、必要なテクスチャデータTDに対応するリソース番号を指定する(ステップS252)。
グラフィックライブラリ113bは、このリソース番号に対応するヘッダ管理情報HTJの内容を参照し(ステップS253)、このヘッダ管理情報HTJに含まれるヘッダ抽出情報の一部であるオフセット情報を取得する。このオフセット情報は、各テクスチャデータTDなど(リソース)ごとに、このテクスチャデータTDなどを含む非常駐テクスチャデータ群TDGの格納位置の先頭アドレスからのオフセット値を含んでいる。このグラフィックライブラリ113bは、このオフセット情報から、指定したリソース番号に対応するオフセット値を取得する(ステップS254)。
このグラフィックライブラリ113bは、各テクスチャデータTDを識別するリソース番号ごとに、これら先頭アドレス(上記転送先アドレス)、オフセット値を含めて、図13に示したようなテクスチャハンドラTHを生成する(ステップS255)。つまりテクスチャハンドラTHは、非常駐テクスチャデータ群TDGの先頭アドレス、リソース番号に対応するテクスチャデータTDなどのオフセットを含んでいる。なお、このテクスチャハンドラTHは、これら先頭アドレス及びオフセットを含んでいる代わりに、適宜、この先頭アドレスにこのオフセット値を加えて演算した結果としての絶対アドレスを含むようにしても良い。さらにグラフィックライブラリ113bは、必要に応じて、所望の次のテクスチャデータTDを使用する直前に、このリソース(次のテクスチャデータTD)に関してテクスチャハンドラTHを生成する。
(6.表示処理)
図17は、表示処理の手順の一例を示すフローチャートである。なおユーザモジュール114bは、定常処理に含まれる図柄制御処理の一部に表示処理として、次のようなハンドラに基づくデータ読み出し処理及び描画処理を実行している。
この表示処理では、ユーザモジュール114bが、表示スケジューラデータHSDに従ってグラフィックライブラリ113bを制御し、メインRAM321、322のオペレーティングシステム非干渉領域から、このテクスチャハンドラTHに基づいて転送済みのテクスチャデータ群TDGなどに含まれる各テクスチャデータTDなどを各々識別して読み出すとともに、読み出した各テクスチャデータTDなどを使用してGDCドライバ112cによってGPU300のVDP330を制御する(映像表示制御手段、表示開始指示手段)。
(6−1.ハンドラに基づくデータ読み出し処理)
まず、ユーザモジュール114bは、表示スケジューラデータHSDを参照し、表示すべきシーンに応じて、グラフィックライブラリ113bに対してリソース番号を指定する。このグラフィックライブラリ113bは、指定されたリソース番号に基づいて、テクスチャハンドラTHを参照する(ステップS301)。
次にグラフィックライブラリ113bは、このテクスチャハンドラTHに基づいて、例えばメインRAM321、322(の非常駐エリアHJEや常駐エリアJE)から、非常駐テクスチャデータ群TDGなどの先頭アドレスからのオフセット値に基づいて、このリソース番号に対応するテクスチャデータTDを読み出す(ステップS302)。なお、テクスチャハンドラTHが絶対アドレスを含んでいる場合、グラフィックライブラリ113bは、テクスチャハンドラTHの絶対アドレスによって、メインRAM321、322から、非常駐テクスチャデータ群TDGなどのうちリソース番号に対応するテクスチャデータTDなどを読み出す。
(6−2.描画処理)
グラフィックライブラリ113bは、メインRAM321、322から必要なテクスチャデータTDなどを読み出すと、GDCドライバ112cに対して指示することにより、メインRAM321、322のパレットデータなどを用いて、GPU300などのハードウェアの補助を受けつつメインRAM321、322のフレームバッファエリアにピクセルデータを生成する(ステップS303)。このピクセルデータは、モデルデータに基づくオブジェクトの表面に、テクスチャデータに基づくテクスチャをマッピングして構成したポリゴン表示用の描画データである。
次にグラフィックライブラリ113bは、メインRAM321、322のフレームバッファエリアから次々とピクセルデータを読み出して、このピクセルデータを用いてGPU300のビデオ出力コントローラ336に描画させる(ステップS304)。つまりユーザモジュール114bは、グラフィックライブラリ113bにGPU300を制御させ、ポリゴンなどを用いた映像の表示にあたりモデルデータに基づくオブジェクトに、同時に読み出したテクスチャデータTDに基づくテクスチャをマッピングしてポリゴンを構成し、このポリゴンを用いたフレームを次々と表示することで映像を表示するのである。さらに、グラフィックライブラリ113bは、2つのフレームバッファエリアのうち一方のフレームバッファエリアにフレームデータ(ピクセルデータの集合体)を作成している間に、もう一方のフレームバッファエリアから作成済みのフレームデータが映像の表示ために読み出されるようになっている。これら2つのフレームバッファエリアにおいては、フレームデータの読み出し及び作成が交互に繰り返し実行されている。
ここで、グラフィックライブラリ113bは、例えば4枚のレイヤーをピクセル(画素)ごとに重ねて1つのフレームを構成するとともに、構成した各フレームを次々と連続表示することで、このシーンを視覚的に構成している。このようにしてグラフィックライブラリ113bは、ユーザモジュール114bの指示に従って、各シーンの連続表示により構成される映像を表示させることができる。
(7.本実施形態による有用性についての言及)
上記の(5−2.表示スケジューラデータの転送)において説明したように、本実施形態では、ユーザモジュール114bは、上記のホット・コールド判定処理において起動モードが「コールドスタート」または「ホットスタート」のいずれに設定された場合でも、常に、表示スケジューラデータHSDをソースROM340からメインRAM321、322に転送する。そのため、瞬間的な停電状態からの復電の場合でも、停電状態からの復電後であれば常にRAM321、322には正常な表示スケジューラデータHSDが存在していることになる。このため表示制御プログラムは、仮に瞬間的な停電状態に陥った後に復旧した場合においても、正常な表示スケジューラデータHSDに従って異常なく映像を表示することができる。
一般的には、起動モードが「ホットスタート」に設定された場合には、RAMに記憶されているデータ内容は破壊されていないものとして扱うことにより、復電後の起動時間を短縮するようにしている。しかし、本実施形態において、起動モードが「ホットスタート」に設定された場合でも、表示スケジューラデータHSDについては常にソースROM340からRAM321、322に展開するようにしているのは下記のような理由による。
例えば、ホットスタート処理を行うことにより、RAM321、322に格納されているテクスチャデータの一部に発生したビット落ちが見逃されることもあり、その場合には表示される画像が一部正常ではなくなる可能性がある。しかし、例えテクスチャデータの一部が破壊されていたとしても、表示される画像の順序や構成については影響を受けることはない。そのため、例えテクスチャデータの一部が破壊されたとしても、表示される映像が大きな異常が発生する可能性は少ないと考えられる。ところが、表示スケジューラデータHSDの一部にビット落ちが発生した場合、表示される画像の順序や構成等に障害が発生してしまうため、表示される映像には大きな異常が発生してしまう可能性が高い。なお、常駐テクスチャデータについては処理の余り時間を利用してリフレッシュ処理が行われ、非常駐テクスチャデータについては使用される毎に転送されてくるので、ビット落ちの状態が継続することはない。
そのため、本実施形態では、停電状態からの復電後には、常に表示スケジューラデータHSDをソースROM340からRAM321、322に展開するようにして、表示スケジューラデータHSDにビット落ち等の異常が発生しないようにしているのである。
(8.第1の応用例)
第1の応用例としてのパチンコ機は、上記装飾図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、上記実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第1の応用例において上記実施形態と同様の構成及び動作について説明が及ぶ場合は、上記実施形態と同一の符号を用いる。
このパチンコ機は、いわゆる「羽根物」と呼ばれる種類に属するものである。パチンコ機は大きく分けて本体枠及び遊技盤から構成されており、本体枠の内側に遊技盤が着脱可能に設置されている。遊技盤の前面(盤面)にはほぼ円形の遊技領域が形成されている。なお、遊技盤以外の外観上の構成は、第1実施形態とほぼ同様であるため、説明を省略する。
遊技盤の遊技領域内には、そのほぼ中央に演出装置が配置されており、この演出装置は、大入賞口としての機能も果たすとともに、遊技球が入賞したことを検出する入賞装置としての機能を果たす。この演出装置内には、例えば映像を表示する液晶表示装置(表示装置)が配置されている。この演出装置の左右には普通入賞口が配置されているほか、その下方の位置に左右一対の1回始動口及び中央位置に1つの2回始動口が配列されている。その他にも、遊技盤の遊技領域には各種の装飾体や装飾ランプ、風車、多数の障害釘が設けられている。
演出装置は左右一対の可動片(可動部材)を有しており、これら可動片は左右方向に開いた状態と、内側寄りに閉じた位置との間で変位することができる。これら可動片が開いた位置にあるとき、大入賞口が開放された状態となり、遊技球の受け入れが可能な状態となる。演出装置の背後には大入賞口ソレノイドが設けられており、この大入賞口ソレノイドが左右一対の可動片を開閉動作させるべく駆動する。
通常、大入賞口ソレノイドが作動されていない場合、可動片は閉じた位置にあり、それゆえ大入賞口は遊技球を受け入れ不可能な状態にある。一方、遊技中に上記の1回始動口または2回始動口に入賞すると、これを契機として大入賞口ソレノイドが作動する。これにより、一対の可動片が開いた位置に移動し、大入賞口が所定時間だけ開放されて遊技球の入賞を可能とする。可動片の開閉動作は、1回始動口に割り当てられている開閉回数(1回)又は、2回始動口に割り当てられている開閉回数(2回)だけ行われる。
演出装置内には、左右一対の可動片に各々対応して大入賞口カウントスイッチが配設されている。各大入賞口に入賞した遊技球は、対応する大入賞口カウントスイッチにより通過を検出、つまり入賞個数がカウントされる。このように大入賞口ソレノイドの作動によって演出装置内に遊技球が受け入れられると、この遊技球が演出装置内を転動する。この演出装置内には特定領域が存在し、この特定領域を遊技球が通過すると、遊技者にとって有利な特別遊技状態に移行する。
この特別遊技状態では、例えば最大15ラウンドにわたり、各ラウンドにおいて演出装置の左右一対に設けられた可動片の開閉動作(ラウンド動作)を繰り返して遊技球を演出装置内に受け入れ可能な状態とし、受け入れた遊技球の数に応じた賞球が遊技者に対してなされる。このようにして遊技者は、特別遊技状態により多くの利益を享受することができる。
上記第1の応用例によれば、上記実施形態とほぼ同様の効果を上げることができるとともに、ユーザモジュール114bが、入賞装置に受け入れられた遊技球が特定領域を通過するかもしれないとの期待感を遊技者に抱かせる演出表示や、特別遊技状態における演出表示などにあたり、必要なモデルデータ、テクスチャデータ及びパレットデータなどの映像データを高速にソースROM340からメインRAM321、322のオペレーティングシステム非干渉領域に転送し、映像の表示に使用することができる。
(9.第2の応用例)
次に本発明の第2の応用例としての遊技機が適用されたスロットマシン(回胴式遊技機)の構成例について説明する。
第2の応用例としてのスロットマシンは、上記装飾図柄制御基板30とほぼ同様の構成及び動作の表示制御基板(演出制御部、表示制御部)を備えている点など、上記実施形態としてのパチンコ機1とほぼ同様の構成及び動作を行うため、同様の構成及び動作についてはその説明を省略し、以下異なる点を中心として説明する。なお、第2の応用例において上記実施形態と同様の構成及び動作について説明が及ぶ場合は、上記実施形態と同一の符号を用いる。
このスロットマシンは箱形の筐体を有しており、この筐体をベースとして遊技場の島設備等に設置される。島設備には、複数台のスロットマシンが幅方向に列をなして配置され、通常、その台間にメダルサンド(図示していない)が付属して配置されている。このメダルサンド(台間サンド)に例えば現金を投入すると、その金額に見合った枚数分のメダルが貸し出され、遊技者はこれらを用いてスロットマシン遊技を実施することができる。なお、遊技媒体は特にメダルやコインに限らず、パチンコ機用の遊技球やトークン等を用いる態様であってもよい。あるいは、台間サンドにプリペイドカードを挿入し、その残り度数とメダル等を交換して遊技を実施する態様であってもよい。
スロットマシンの筐体は、遊技者に相対する前面に前面扉を有しており、この前面扉は一側端(この例では左側端)を中心として手前に開くことができる。この前面扉には鍵穴が形成されており、この鍵穴は、挿入した専用鍵を左右に各々回転可能な構成となっている。ここで、このスロットマシンにおいては、専用鍵を右に回した場合、施錠されている前面扉を解錠可能となっている。また、この前面扉はその中程の位置にガラス板(透明板)を有しており、その中央に矩形の表示窓が形成されている。このスロットマシンは、機械的な図柄表示装置(図柄表示手段)の一例として3つのリール(左リール、中リール、右リール)を装備しており、これらのリールは前面扉の奥、つまり、筐体の内部に配置されている。
各リールの外周にはそれぞれリール帯が張り巡らされており、その表面に各種の図柄が付されている。図示されていないが、図柄には例えば、数字の「7」を図案化したものや特定のアルファベット(またはその文字列)を図案化したもの、ベル等の縁起物を図案化したもの、スイカ、リンゴ、チェリー等の青果類を図案化したもの、あるいは、スロットマシンの機種を特徴付けるキャラクターや図形、記号等を図案化したものが含まれている。
スロットマシンは、これらリールを回転または停止させることで、図柄の表示態様を変動させたり停止させたりすることができる。なお、スロットマシンの前面からは、表示窓を透かしてリールの一部のみが視認可能であり、その停止時には各リールにつき3つの図柄が有効に表示されるものとなっている。
表示窓の両脇にはそれぞれ表示領域が形成されており、この表示領域には各種の文字情報や図柄情報が所定の配列で付されている。ガラス板の背後にはランプユニットが配置されており、この表示領域内の情報はランプによって点灯表示される。例えば、最初に遊技者がメダル投入口を通じてメダルを投入すると、その投入枚数に応じてベット数が加算され、このとき右側の表示領域ではベット数に対応したメダルラインランプが点灯表示される。ベット数が最大(例えば3ベット)に達すると、さらに投入されたメダルはクレジットとして貯留され、そのクレジット数は表示部に数値表示される。
メダルラインランプが点灯表示された状態で遊技者が始動レバー(始動操作手段)を操作すると、内部抽選(内部的な抽選)が実行されるとともに、リールが一斉に回転し始めて図柄が変動する。さらに遊技者が停止ボタン(停止操作手段)を操作すると、右・中・左のそれぞれに対応するリールが回転を停止して図柄の変動が停止する。ここで図柄の変動が停止する際には、上記内部抽選の結果に応じて、所定の図柄の組み合わせの表示が許容される。
このとき、表示窓内で有効化されている有効ライン上に一定の図柄の組み合わせ(例えば特定の図柄の組み合わせが一列に揃った状態)が表示されると、遊技者に特典が付与される。この特典としては、例えばメダルの払い出しや特別遊技状態(いわゆるビッグボーナスゲームやレギュラボーナスゲーム、あるいは、アシストタイム、チャレンジタイム等)への移行等を挙げることができ、遊技者は特別遊技を実行することでより多くのメダルの払い出しを受けることが可能となる。
上述した遊技操作によって所定の図柄の組み合わせが有効ライン上に表示されると、そのとき表示された図柄の組み合わせの種類に応じたメダルの払出枚数が、表示部に表示される。また、ビッグボーナスゲームやレギュラボーナスゲームに移行すると、その進行中に残りゲーム数が表示部に表示されるものとなっている。払い出されたメダルは表示部のクレジット数が最大になるまでクレジットとして貯留され、最大クレジット数を超えた分のメダルは払出口を通じて受け皿に払い出される。また遊技者は、クレジット精算ボタンを操作することでメダルの貯留(クレジット)を解除し、それまで貯留していたメダルの払い出しを受けることも可能である。
本実施形態におけるスロットマシンは、表示窓の上方に液晶表示装置(表示装置、表示器)を有しており、この液晶表示装置には、遊技の進行に伴う演出のための映像や各種ボーナスゲームでの獲得メダル数等が表示されるものとなっている。また、払出口は受け皿の中央付近に設けられており、この払出口の左右には、遊技の進行に伴う効果音やBGM、音声等を出力するための2個のスピーカが設けられている。その他、前面扉には各所にランプが配置されており、これらランプは遊技状態に応じた発光装飾による演出を実施することができる。
図18は、スロットマシン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及びオーディオアンプ(AMP)226が実装されている。このサブ制御基板194は、メイン制御基板192から各種の指令信号を受け、各ランプ160,162、164、166各々の点灯、点滅及び消灯を制御しているとともに、スピーカ156の作動を制御している。このサブ制御基板194には、後述する表示制御基板30zが接続されている。この表示制御基板30zには、その制御によって映像を表示する液晶表示部158が接続されている。なお、この表示制御基板30zの機能はサブ制御基板194に搭載されていても良い。この場合、サブ制御基板194には表示制御基板30zが接続されておらず、直接、液晶表示部158が接続される。
さらに、メイン制御基板192には外部端子板196が接続されており、スロットマシン101はこの外部端子板196を介して遊技場(ホール)のホールコンピュータ208に接続されている。この外部端子板196は、このメイン制御基板192から送信される各種信号(投入メダル信号や払出メダル信号、遊技ステータス等)をホールコンピュータ208に中継する役割を担っている。
その他、スロットマシン101の内部には電源ユニット170が収容されており、この電源ユニット170は外部電源から電力を取り込んでスロットマシン101の作動に必要な電力を生成する。ここで生成された電力は、電源ユニット170から各ユニット(メイン制御基板192、サブ制御基板194及び表示制御基板30zなど)に供給されている。
また電源ユニット170には、設定キースイッチ172、リセットスイッチ174及び電源スイッチ176が付属している。これらスイッチ類はいずれもスロットマシン101の外側に露出しておらず、前面扉を開くことで始めて操作可能となる。このうち電源スイッチ176は、スロットマシン101への電力供給をオン/オフするためのものであり、設定キースイッチ172は、例えばソフトウェアによって生成された抽選用乱数を用いた当選確率の設定(例えば設定1〜6)を変更するためのものである。またリセットスイッチ174は、スロットマシン101で発生したエラーを解除するためのものであり、さらには設定キースイッチ172とともに設定を変更する際にも操作される。
また、スロットマシン101には、クレジット枚数表示部130、ゲーム数表示部132が設けられていて、それぞれ、クレジット枚数、ゲーム数の表示を行っている。さらに、スロットマシン101には、メダルランプ136、スタート128、ベットランプ142、ボーナスフラグ告知ランプ144が設けられている。
ここで、上記表示制御基板30zは、液晶表示部158に表示させる映像の内容が異なる点を除いて、上記実施形態における装飾図柄制御基板30とほぼ同様の構成であるとともにほぼ同様の機能を発揮し、この液晶表示装置158によるキャラクタ画像などの映像の表示動作を制御している。なお、この表示制御基板30zは、第1実施形態におけるリーチ演出などの変動表示パターンとは異なる演出表示であって、遊技の進行などに伴う演出表示としていくつかのシーンを組み合わせてある映像を表示させる機能を有する。
この表示制御基板30zには、上記実施形態と同様に2つのメインRAM321、322(揮発性映像メモリ)、ソースROM340(不揮発性映像メモリ)及びGPU300が搭載されている。なお表示制御基板30zは、その機能がサブ制御基板194に搭載されている形態であってもよい。つまりサブ制御基板194は、これら図柄CPU311、メインRAM321、322、ソースROM340及びGPU300などを備えている形態であってもよい。
スロットマシン101は、表示制御基板30zのGPU300内において、VDP330(映像表示プロセッサ)が、図柄CPU311(表示制御プロセッサ)の制御によって、ソースROM340に格納されているテクスチャデータ群などの読み出しを指示し、この読み出したテクスチャデータなどに基づくポリゴンを用いた映像を液晶表示部158(表示装置、表示器)に表示させる構成となっている。
本発明の第2の応用例によれば、遊技機が回胴式遊技機である点を除いて、上記実施形態とほぼ同様の効果を上げることができるとともに、ユーザモジュール114bが、特別遊技状態へ移行するかもしれないとの期待感を遊技者に抱かせる演出表示や、特別遊技状態における演出表示などにあたり、停電状態からの復帰後には表示スケジュールデータを毎回ソースROM340からメインRAM321、322に展開して、瞬間的な停電状態が生じた場合においても、その停電状態からの復電後、映像を異常なく表示することができるようにする。
(10.その他の実施形態についての言及)
以上は一実施形態についての説明であるが、本発明の実施の形態がこれに制約されることはない。以下に、その他の実施形態についていくつか例を挙げて言及する。例えば各実施形態では、液晶素子を用いて表示動作を実行する表示手段(装飾図柄表示装置など)を例示しているがこれに限られず、EL(エレクトロルミネッセンス:Electro Luminescence)素子を用いた表示手段或いはプラズマを用いた表示手段に適用しても良い。また上記実施形態におけるソフトウェアの構成は、例えば各ライブラリ113bなどの機能をユーザモジュール114bに含めるなど、適宜変更することができる。
なお、上記実施形態においては、装飾図柄制御基板30が表示に係る演出動作を制御しているが、これに限られず、例えばサブ制御基板35が、表示に係る演出動作以外の他の演出動作のみならず、この装飾図柄制御基板30の機能を備えている形態であってもよい。また、上記第2の応用例においては、表示制御基板30zが表示に係る演出動作を制御しているが、これに限られず、例えばサブ制御基板194が、表示に係る演出動作以外の他の演出動作のみならず、この表示制御基板30zの機能を備えている形態であっても良い。
また、上記各実施形態は、遊技媒体として遊技球を用いて遊技する回胴式遊技機にも適用することができる。遊技球を用いた回胴式遊技機は、遊技媒体としてメダルやコインを用いた回胴式遊技機とほぼ同様の構成であるとともにほぼ同様の動作を実行するが、以下の点が、メダルやコインを用いた回胴式遊技機とは異なっている。
つまり、遊技球を用いて遊技する回胴式遊技機では、まず、遊技媒体としての遊技球を規定個数分だけまとめて遊技価値の1単位とする遊技価値計数装置(遊技価値計数手段)を備え、この遊技価値計数装置によって1単位とされた所定数の遊技価値を掛ける点が異なっている。さらに、遊技球を用いて遊技する回胴式遊技機では、表示された図柄の組み合わせの種類に応じた数の遊技価値に相当する個数分の遊技球を遊技者に与える(遊技価値付与手段)点が異なっている。なお、メダルやコインを用いて遊技する回胴式遊技機及び、遊技球を用いて遊技する回胴式遊技機のいずれにおいても、1回のゲームごとに掛けられる遊技価値の所定数は1通りでもよいし、複数通りであってもよい。このような遊技球を用いて遊技する回胴式遊技機によれば、上記実施形態の第2の応用例とほぼ同様の効果を発揮することができる。