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