以下、図面を参照して、本発明の一実施形態に係る遊技機について説明する。
(遊技機の概要)
図1〜図3を参照して、本発明の一実施形態に係る遊技機の概要を説明する。
図1において、遊技機1は、例えば遊技者の指示操作により打ち出された遊技球が入賞すると賞球を払い出すように構成されたパチンコ遊技機である。この遊技機1は、遊技球が打ち出される遊技盤2と、遊技盤2を囲む枠部材5とを備えている。枠部材5は、軸支側に設けられた蝶番を中心に、遊技機1の主部に対して開閉可能に構成され、遊技盤2に対して着脱自在に取り付けられている。そして、枠部材5の前面側となる所定位置(例えば、軸支側とは反対側となる端部)には錠部43が設けられており、錠部43を開錠することによって枠部材5を開くことが可能となる。
遊技盤2は、その前面に、遊技球により遊技を行うための遊技領域20が形成されている。遊技領域20には、下方(発射装置211;図4参照)から発射された遊技球が遊技盤2の主面に沿って上昇して遊技領域20の上部位置へ向かう通路を形成するレール部材(図示せず)と、上昇した遊技球を遊技領域20の右側に案内する案内部材(図示せず)とを備えている。
また、遊技盤2には、遊技者により視認され易い位置に、各種演出のための画像を表示する画像表示器21が配設されている。画像表示器21は、遊技者によるゲームの進行に応じて、例えば、装飾図柄を表示することによって図柄抽選結果(図柄変動結果)を遊技者に報知したり、キャラクタの登場やアイテムの出現による予告演出を表示したりする。なお、画像表示器21は、液晶表示装置、EL(Electro Luminescence:電界発光)表示装置、LED(Light Emitting Diode:発光ダイオード)ドット表示装置、および7セグメントディスプレイ(以下、7セグ表示装置と記載する)等によって構成されるが、他の任意の表示装置を利用してもよい。さらに、遊技盤2の前面には、各種の演出に用いられる可動役物22および盤ランプ23が設けられている。可動役物22は、遊技盤2に対して可動に構成され、遊技者によるゲームの進行に応じて所定の動作で移動させることによって各種の演出を行う。また、盤ランプ23は、遊技者によるゲームの進行に応じて発光することによって光による各種の演出を行う。
遊技領域20には、遊技球が下方へ落下する方向を変化させる遊技くぎおよび風車(共に、図示せず)等が配設されている。また、遊技領域20には、入賞や抽選に関する種々の役物が所定の位置に配設されている。なお、図1においては、入賞や抽選に関する種々の役物の一例として、始動口25、ゲート27、大入賞口28、および普通入賞口29が遊技盤2に配設されている。さらに、遊技領域20には、遊技領域20に打ち出された遊技球のうち入賞口に入賞しなかった遊技球を、遊技領域20の外に排出する排出口24が配設されている。
始動口25は、遊技球が入ると入賞して特別図柄抽選(大当たり抽選)が始動する。始動口25は、予め定められた特別電動役物(大入賞口28)および/または予め定められた特別図柄表示器(例えば、後述する特別図柄表示器31)を作動させることとなる、遊技球の入賞に係る入賞口である。ゲート27は、遊技球が通過すると普通図柄抽選(開閉抽選)が始動する。
始動口25は、普通電動役物の一例として、遊技球の入口近傍に電動チューリップ26を備えている。電動チューリップ26は、チューリップの花を模した一対の羽根部を有しており、後述する電動チューリップ開閉部112(例えば、電動ソレノイド)の駆動によって当該一対の羽根部が左右に開閉し、開閉動作と共に点灯または点滅する。電動チューリップ26は、一対の羽根部が閉じていると、始動口25の入口へ案内される開口幅が相対的に狭いため、遊技球が始動口25へ入り難い。一方、電動チューリップ26は、一対の羽根部が左右に開くと、始動口25の入口へ案内される開口幅が拡大するため、遊技球が始動口25へ入り易くなるように構成されている。そして、電動チューリップ26は、ゲート27を遊技球が通過することによって普通図柄抽選に当選すると、点灯または点滅しながら一対の羽根部が規定時間(例えば、6秒間)開き、規定回数(例えば、3回)だけ開閉する。
大入賞口28は、始動口25の下方に位置し、特別図柄抽選の結果に応じて開放する。大入賞口28は、通常は閉状態であり遊技球が入ることがない状態となっているが、特別図柄抽選の結果に応じて遊技盤2の主面から突出傾斜して開状態となって遊技球が入り易い状態となる。例えば、大入賞口28は、所定条件(例えば、30秒経過または遊技球10個の入賞や開放累積時間が1.8秒以内)を満たすまで開状態が維持されるラウンドを、所定回数(例えば、15回または2回)だけ繰り返す。また、普通入賞口29は、遊技球が入賞しても抽選が始動しない。
また、遊技盤2の所定位置(例えば、右下)に、上述した特別図柄抽選や普通図柄抽選の結果や保留数に関する表示を行う表示器3が配設されている。表示器3の詳細については、後述する。
なお、図1に示した遊技機1は、遊技領域20に1つの始動口25が配設されているが、遊技球が入ると入賞して特別図柄抽選が開始される始動口を複数設けてもかまわない。また、遊技機1は、遊技領域20に1つの大入賞口28が配設されているが、大入賞口28と同様の機能を有する大入賞口を複数設けてもかまわない。
また、後述により明らかとなるが、遊技機1は、所定の条件下で、特別図柄抽選時に大当たりが抽選される大当たり確率が変動することがある。例えば、遊技機1は、上記大当たり確率が相対的に低い状態(低確状態;例えば大当たり確率が300分の1)から上記大当たり確率が相対的に高い状態(高確状態;例えば大当たり確率が30分の1)へ変動することがある。また、遊技機1は、所定の条件下で、特別図柄抽選時の特別図柄変動時間が短縮されたり、普通図柄抽選時の当選する確率が高まったり、普通図柄抽選時の普通図柄変動時間が短縮されたり、電動チューリップ26の羽根部の開時間が延長されたり、電動チューリップ26の羽根部が開閉する回数が増えたりする(電チューサポート)場合がある。
ここで、賞球の払い出しについて説明する。始動口25、大入賞口28、および普通入賞口29に遊技球が入る(入賞)と、遊技球が入賞した場所に応じて、1つの遊技球当たり規定個数の賞球が払い出される。例えば、始動口25に遊技球が入賞すると4個の賞球、大入賞口28に遊技球が入賞すると13個の賞球、普通入賞口29に遊技球が入賞すると10個の賞球がそれぞれ払い出される。なお、ゲート27を遊技球が通過したことを検出しても、それに連動した賞球の払い出しはない。
遊技機1の前面となる枠部材5には、ハンドル51、レバー52、停止ボタン53、取り出しボタン54、スピーカ55、枠ランプ56、演出ボタン57、演出キー58、皿59、および錠部43等が設けられている。
遊技者がハンドル51に触れてレバー52を時計方向に回転させる操作を行うと、その操作角度に応じた打球力にて所定の時間間隔(例えば、1分間に100個)で、発射装置211(図4参照)が遊技球を電動発射する。皿59(図2参照)は、遊技機1の前方に突出して設けられ、発射装置211に供給する遊技球を一時的に溜めておく。また、皿59には、上述した賞球が払い出される。そして、皿59に溜められた遊技球は、遊技者のレバー52による操作と連動したタイミングで、供給装置(図示せず)によって1つずつ発射装置211に供給される。なお、皿59は、上下皿一体で構成してもいいし、上皿と下皿とを分離して構成してもかまわない。また、ハンドル51は、所定条件下で発光させてもかまわない。
停止ボタン53は、ハンドル51の下部側面に設けられ、ハンドル51に遊技者が触れてレバー52を時計方向に回転させている状態であっても、遊技者に押下されることによって遊技球の発射を一時的に停止させる。取り出しボタン54は、皿59が設けられた位置近傍の前面に設けられ、遊技者に押下されることによって皿59に溜まっている遊技球を箱(図示せず)に落下させる。
スピーカ55および枠ランプ56は、それぞれ遊技機1の遊技状態や状況を告知したり各種の演出を行ったりする。スピーカ55は、楽曲や音声、効果音による各種の演出を行う。また、枠ランプ56は、点灯/点滅によるパターンや発光色の違い等によって光による各種の演出を行う。なお、枠ランプ56は、光の照射方向を変更可能にして、当該照射方向を変えることによる演出を行ってもかまわない。
次に、図2を参照して、遊技機1に設けられる表示器3について説明する。図2において、表示器3は、特別図柄表示器31、特別図柄保留表示器32、普通図柄表示器33、普通図柄保留表示器34、および遊技状態表示器35を備えている。
特別図柄表示器31は、始動口25に遊技球が入賞することに対応して表示図柄が変動して表示される。例えば、特別図柄表示器31は、7セグ表示装置で構成され、始動口25に遊技球が入賞した場合、特別図柄を変動表示してその抽選結果を表示する。普通図柄表示器33は、ゲート27を遊技球が通過することに対応して表示図柄が変動して表示される。例えば、普通図柄表示器33は、LED表示装置で構成され、遊技球がゲート27を通過した場合、普通図柄を変動表示してその抽選結果を表示する。
特別図柄保留表示器32は、特別図柄抽選を保留している回数を表示する。普通図柄保留表示器34は、普通図柄抽選を保留している回数を表示する。例えば、特別図柄表示器31または普通図柄表示器33によって表示図柄が変動表示されている期間(入賞1回分の変動表示が行われている間)に、さらに他の遊技球が入賞した場合、その入賞した遊技球に対する表示図柄の変動表示は、先に入賞した遊技球に対する変動表示が終了するまで、規定回数(例えば、4回)を限度に保留される。このような保留がなされていることおよびその保留の数(未抽選回数)が、特別図柄保留表示器32および普通図柄保留表示器34に表示される。例えば、特別図柄保留表示器32および普通図柄保留表示器34は、それぞれ列設されたLED表示装置で構成され、その点灯態様によって保留回数が表示される。
遊技状態表示器35は、遊技機1の電源投入時点における遊技状態を表示する。後述によって明らかとなるが、遊技機1には複数の遊技状態(例えば、通常遊技状態、確変遊技状態、時短遊技状態、潜伏遊技状態)が設定されている。そして、遊技機1の電源投入時点においては、遊技状態表示器35によってその遊技状態が報知される。例えば、遊技状態表示器35は、複数のLED表示装置で構成され、その点灯態様によって遊技状態が表示される。
次に、図3を参照して、遊技機1に設けられる入力装置について説明する。図3において、遊技機1には、入力装置の一例として、演出ボタン57および演出キー58が設けられている。
演出ボタン57および演出キー58は、それぞれ遊技者が演出に対する入力を行うために設けられている。演出ボタン57は、遊技機1の前方に突出した皿59の上面脇部に設けられる。演出キー58は、中央キーと略十字に配列された複数のキーとを有し、演出ボタン57に隣接して皿59の上面脇部に設けられる。例えば、演出キー58は、その中央に1つの中央キーを配置し、中央キーの周囲に略同一形状の4つの周囲キーを配置して構成されている。演出ボタン57および演出キー58は、それぞれ遊技者に押下されることによって所定の演出が行われる。例えば、遊技者は、演出キー58の4つの周囲キーを操作することにより、画像表示器21に表示されている複数の画像のいずれかを選ぶことが可能である。また、遊技者は、演出キー58の中央キーを操作することにより、選んだ画像を情報として入力することが可能である。
また、上記内枠体の背面側には、払出用の遊技球を溜めておく球タンクや遊技球を皿59に払い出す払出装置(払出駆動部311)が設けられ、各種の基板等が取り付けられている。例えば、遊技盤2の後面には、メイン基板およびサブ基板等が配設されている。具体的には、メイン基板には、内部抽選および当選の判定等を行うメイン制御部100が構成されたメイン制御基板、遊技球を遊技領域20の上部へ発射する発射装置211を制御する発射制御部200が構成された発射制御基板、および賞球の払出を制御する払出制御部300が構成された払出制御基板等が配設されている。このメイン基板は、開封されることにより痕跡が残るように透明部材で構成されたメイン基板ケースによって密封されている。また、サブ基板には、演出を統括的に制御する演出制御部400が構成された演出制御基板、画像や音による演出を制御する画像音響制御部500が構成された画像音響制御基板、および各種のランプ(枠ランプ56、盤ランプ23)や可動役物22による演出を制御するランプ制御部600が構成されたランプ制御基板等が配設されている。また、遊技盤2の後面には、遊技機1に供給された100VのAC電源をDC電源に変換して上述した各種の基板等に出力するスイッチング電源が配設されている。
次に、図4を参照して、遊技機1での動作制御や信号処理を行う制御装置について説明する。なお、図4は、遊技機1に設けられた制御装置の構成の一例を示すブロック図である。
図4において、遊技機1の制御装置は、メイン制御部100、発射制御部200、払出制御部300、演出制御部400、画像音響制御部500、およびランプ制御部600を備えている。
メイン制御部100は、CPU(Central Processing Unit;中央処理装置)101、ROM(Read Only Memory)102、およびRAM(Random Access Memory)103を備えている。CPU101は、内部抽選および当選の判定等の払い出し賞球数に関連する各種制御を行う際の演算処理を行う。ROM102は、CPU101にて実行されるプログラムや各種データ等が記憶され、RAM103は、CPU101の作業用メモリ等として用いられる。以下、メイン制御部100の主な機能について説明する。
メイン制御部100は、始動口25に遊技球が入賞すると特別図柄抽選を行い、特別図柄抽選での当選か否かを示す判定結果データを演出制御部400に送る。また、メイン制御部100は、特別図柄抽選に応じて決定した当選確率の変動設定(例えば300分の1から30分の1への変動設定)および特別図柄変動時間の短縮設定を示すデータや、普通図柄抽選に応じて決定した普通図柄変動時間の短縮設定を示すデータを、演出制御部400に送る。
メイン制御部100は、電動チューリップ26の羽根部が開状態となる開時間や羽根部が開閉する回数、さらには羽根部が開閉する開閉時間間隔を制御する。また、メイン制御部100は、遊技球が始動口25へ入賞したときの保留回数や、遊技球がゲート27を通過したときの保留回数を管理する。
メイン制御部100は、特別図柄抽選の結果に応じて、大入賞口28の開閉動作を制御する。例えば、メイン制御部100は、所定条件(例えば、30秒経過または遊技球10個の入賞や開放累積時間が1.8秒以内)を満たすまで、大入賞口28が突出傾斜して開状態を維持するラウンドを所定回数(例えば15回または2回)だけ繰り返すように制御する。また、メイン制御部100は、大入賞口28が開閉する開閉時間間隔を制御する。
メイン制御部100は、始動口25、大入賞口28、および普通入賞口29に遊技球が入賞すると、遊技球が入賞した場所に応じて1つの遊技球当たり所定数の賞球を払い出すように、払出数を払出制御部300に対して指示する。例えば、メイン制御部100は、始動口25に遊技球が入賞すると4個の賞球、大入賞口28に遊技球が入賞すると13個の賞球、普通入賞口29に遊技球が入賞すると10個の賞球をそれぞれ払い出すように、払出制御部300に指示命令(コマンド)を送る。なお、メイン制御部100は、ゲート27を遊技球が通過したことを検出しても、それに連動した賞球の払い出しを払出制御部300に指示しない。払出制御部300がメイン制御部100の指示に応じて賞球の払い出しを行った場合、払出制御部300から払い出した賞球の個数に関する情報がメイン制御部100へ送られる。そして、メイン制御部100は、払出制御部300から取得した情報に基づいて、払い出した賞球の個数を管理する。
メイン制御部100は、発射制御部200を介して、遊技球を発射する発射装置211を制御する。例えば、メイン制御部100は、所定の条件に基づいて、発射装置211が遊技球を発射する動作を許可する信号を、払出制御部300を介して発射制御部200へ送信する。
上述した機能を実現するために、メイン制御部100には、始動口スイッチ111、電動チューリップ開閉部112、ゲートスイッチ113、大入賞口スイッチ114、大入賞口開閉部115、普通入賞口スイッチ116、特別図柄表示器31、特別図柄保留表示器32、普通図柄表示器33、普通図柄保留表示器34、および遊技状態表示器35が接続されている。
始動口スイッチ111は、始動口25へ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。電動チューリップ開閉部112は、メイン制御部100から送られる制御信号に応じて、電動チューリップ26の一対の羽根部を開閉する。ゲートスイッチ113は、ゲート27を遊技球が通過したことを検出して、その検出信号をメイン制御部100へ送る。大入賞口スイッチ114は、大入賞口28へ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。大入賞口開閉部115は、メイン制御部100から送られる制御信号に応じて、大入賞口28を開閉する。普通入賞口スイッチ116は、普通入賞口29へ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。
また、メイン制御部100は、始動口25への遊技球の入賞により始動した特別図柄抽選の結果を、特別図柄表示器31に表示する。メイン制御部100は、始動口25への遊技球の入賞に応じて抽選を保留にしている保留回数を、特別図柄保留表示器32に表示する。メイン制御部100は、ゲート27への遊技球の通過により始動した普通図柄抽選の結果を、普通図柄表示器33に表示する。そして、メイン制御部100は、ゲート27への遊技球の通過に応じて抽選を保留にしている保留回数を、普通図柄保留表示器34に表示する。
さらに、メイン制御部100は、遊技機1を設置している店(ホール)に設けられたホストコンピュータに対して、各種の情報を送信する。そして、メイン制御部100は、払出制御部300から取得した払い出した賞球数に関する情報やメイン制御部100の状態等を示す情報を、上記ホストコンピュータに送信する。
発射制御部200は、CPU201、ROM202、およびRAM203を備えている。CPU201は、発射装置211に関連する各種制御を行う際の演算処理を行う。ROM202は、CPU201にて実行されるプログラムや各種データ等が記憶され、RAM203は、CPU201の作業用メモリ等として用いられる。
レバー52は、その位置が中立位置にある場合、信号を出力せずに発射停止状態となる。そして、レバー52は、時計方向に回転操作されると、その回転角度に応じた信号を打球発射指令信号として発射制御部200に出力する。発射制御部200は、打球発射指令信号に基づいて、発射装置211の発射動作を制御する。例えば、発射制御部200は、レバー52の回転角度が増すほど、遊技球が発射される速度が速くなるように、発射装置211の動作を制御する。また、発射制御部200は、メイン制御部100から発射を許可する信号を受信することによって、発射装置211の発射動作が可能となる。一方、発射制御部200は、停止ボタン53が押下された信号が出力されたり、メイン制御部100から発射を停止する制御信号が出力されたりした場合、発射装置211が遊技球を発射する動作を停止させる。
払出制御部300は、CPU301、ROM302、およびRAM303を備えている。CPU301は、払出球の払い出しを制御する際の演算処理を行う。ROM302は、CPU301にて実行されるプログラムや各種データ等が記憶され、RAM303は、CPU301の作業用メモリ等として用いられる。そして、払出制御部300は、メイン制御部100から送られたコマンドに基づいて、払出球の払い出しを制御する。
具体的には、払出制御部300は、メイン制御部100から、遊技球が入賞した場所に応じた所定数の賞球を払い出すコマンドを取得する。そして、コマンドに指定された数だけの賞球を払い出すように払出駆動部311を制御する。ここで、払出駆動部311は、遊技球の貯留部(球タンク)から遊技球を送り出す駆動モータ等で構成される。
また、払出制御部300には、上記ホストコンピュータに対して各種の情報を送信する。例えば、払出制御部300は、払出駆動部311に対して払い出すように指示した賞球数に関する情報や実際に払い出された賞球数に関する情報等を、ホストコンピュータに送信する。また、払出制御部300は、メイン制御部100に対しても、同様の情報を送信する。
演出制御部400は、CPU(演出制御CPU)401、ROM402、RAM403、およびRTC(リアルタイムクロック)404を備えている。また、演出制御部400には、演出ボタン57および演出キー58が接続されている。CPU401は、演出を制御する際の演算処理を行う。ROM402は、CPU401にて実行されるプログラムや各種データ等が記憶され、RAM403は、CPU401の作業用メモリ等として用いられる。RTC404は、現時点の日時を計測する。
演出制御部400は、メイン制御部100から送られる特別図柄抽選結果等を示すデータに基づいて、演出内容を設定する。その際、演出制御部400は、遊技者によって演出ボタン57または演出キー58が押下操作された場合、当該操作入力に応じて演出内容を設定する場合もある。また、演出制御部400は、遊技機1に対する遊技が所定期間以上中断された場合、演出の1つとして客待ち用の演出を設定する。さらに、メイン制御部100が、特別図柄抽選時の当選確率を変動させたことを示すデータを出力した場合、特別図柄抽選時の特別図柄変動時間を短縮させたことを示すデータを出力した場合、および普通図柄抽選時の普通図柄変動時間を短縮させたことを示すデータを出力した場合、演出制御部400は、それぞれ出力されたデータが示す内容に対応させて、演出内容を設定する。そして、演出制御部400は、設定した演出内容の実行を指示するコマンドを画像音響制御部500およびランプ制御部600にそれぞれ送る。
画像音響制御部500は、CPU(画像音響制御CPU)501、ROM502、およびRAM503を備えている。CPU501は、演出内容を表現する画像を制御する際の演算処理を行う。ROM502は、CPU501にて実行されるプログラムや各種データ等が記憶され、RAM503は、CPU501の作業用メモリ等として用いられる。
画像音響制御部500は、演出制御部400から送られたコマンドに基づいて、画像表示部21に表示する画像およびスピーカ55から出力する音響を制御する。具体的には、画像音響制御部500のROM502には、画像表示部21において遊技中に表示する図柄画像や背景画像、遊技者に抽選結果を報知するための装飾図柄、遊技者に予告演出を表示するためのキャラクタやアイテム等といった画像データが記憶されている。また、画像音響制御部500のROM502には、画像表示部21に表示される画像と同期させて、または表示される画像とは独立に、スピーカ55から出力させる楽曲や音声、さらにはジングル等の効果音等の各種音響データが記憶されている。画像音響制御部500のCPU501は、ROM502に記憶された画像データや音響データの中から、演出制御部400から送られたコマンドに対応したものを選択して読み出す。そして、CPU501は、読み出した画像データを用いて、背景画像表示、図柄画像表示、図柄画像変動、およびキャラクタ/アイテム表示等のための画像処理を行う。また、CPU501は、読み出した音響データを用いて音声処理を行う。そして、CPU501は、画像処理された画像データが示す画像を画像表示器21に表示する。また、CPU501は、音声処理された音響データが示す音響をスピーカ55から出力する。なお、上記のような画像処理および音声処理は必ずしもCPU501によって実行される必要はなく、CPU501からのコマンドに従って専用の処理回路(例えば、図5に示すVDP504およびサウンドIC505)により実行されても良い。
ランプ制御部600は、CPU601、ROM602、およびRAM603を備えている。CPU601は、盤ランプ23や枠ランプ56の発光、および可動役物22の動作を制御する際の演算処理を行う。ROM602は、CPU601にて実行されるプログラムや各種データ等が記憶され、RAM603は、CPU601の作業用メモリ等として用いられる。
ランプ制御部600は、演出制御部400から送られたコマンドに基づいて、盤ランプ23や枠ランプ56の点灯/点滅や発光色等を制御する。また、ランプ制御部600は、演出制御部400から送られたコマンドに基づいて、可動役物22の動作を制御する。具体的には、ランプ制御部600のROM602には、演出制御部400にて設定される演出内容に応じた盤ランプ23や枠ランプ56での点灯/点滅パターンデータおよび発光色パターンデータ(発光パターンデータ)が記憶されている。CPU601は、ROM602に記憶された発光パターンデータの中から、演出制御部400から送られたコマンドに対応したものを選択して読み出す。そして、CPU601は、読み出した発光パターンデータに基づいて、盤ランプ23や枠ランプ56の発光を制御する。また、ROM602には、演出制御部400にて設定される演出内容に応じた可動役物22の動作パターンデータが記憶されている。CPU601は、ROM602に記憶された動作パターンデータの中から、演出制御部400から送られたコマンドに対応したものを選択して読み出す。そして、CPU601は、読み出した動作パターンデータに基づいて、可動役物22の動作を制御する。
(リセット処理)
次に、遊技機におけるリセット処理について説明する。
図5において、リセットIC405は、演出制御基板および画像音響制御基板への供給電圧を監視し、電源投入時にこれらの基板が正常に動作できるようになるまでの間(すなわち、これらの基板への印加電圧が正常レベルまで上昇し、これらの基板におけるPLL(Phase Locked Loop)の動作が安定するまでの間)、演出制御CPU401、液晶制御CPU501、VDP504およびサウンドIC505をリセット(パワーオンリセット)するための回路である。リセットIC405から出力されるリセット信号(RESET)は、演出制御CPU401、液晶制御CPU501、VDP504およびサウンドIC505に入力されている。電源投入直後はリセットIC405から出力されるリセット信号はLOレベルとなる。そして、電源投入時点から例えば10msec後にリセット信号がHIレベルになって演出制御CPU401等のリセットが解除され、これらの動作が開始される。
リセットIC405は、上記のようなパワーオンリセットだけでなく、演出制御CPU401が正常に動作しているかどうかを監視して、演出制御CPU401が異常状態(例えば、暴走やハングアップ)になっていること検知したときに、演出制御CPU401等をリセット(ウォッチドッグリセット)する機能も有している。具体的には、リセットIC405にはウォッチドッグタイマ(第1のウォッチドッグタイマ)が設けられており、演出制御CPU401からウォッチドッグタイマクリア信号(WDTCLR)が入力されない状態が一定時間以上続くと、ウォッチドッグタイマがオーバーフローし、リセットIC405は演出制御CPU401が異常状態(例えば、暴走やハングアップ)になっていること検知することができる。ウォッチドッグリセット時は、まずリセットIC405から出力されるリセット信号が一旦HIレベルからLOレベルに変化した後、リセット信号がHIレベルに戻って演出制御CPU401等のリセットが解除され、これらの動作が再開される。
演出制御CPU401は、正常に動作している間、リセットIC405に対して一定周期でウォッチドッグタイマクリア信号(パルス信号)を送信する。これにより、演出制御CPU401は、リセットIC405に対して、自身が正常に動作していることを通知することができる。
演出制御CPU401から液晶制御CPU501へは、リセット信号(RESET)と送信データ信号(TXD)が送信される。そして、液晶制御CPU501から演出制御CPU401へは、送信可否信号(RDY/BSY)とウォッチドッグタイマクリア信号(WDTCLR)が送信される。
送信データ信号は、演出制御CPU401が液晶制御CPU501を制御するためのコマンド(例えば、演出内容を示すコマンド)を含む信号である。液晶制御CPU501から演出制御CPU401へ送信される送信可否信号は、液晶制御CPU501が新たなコマンドをすぐに処理可能な状態であるか否かを示す信号であって、例えば、新たなコマンドをすぐに処理可能な状態である場合にHIレベル(RDY)となり、そうでない場合にLOレベル(BSY)となる。送信可否信号がLOレベルとなる典型的な状況は、液晶制御CPU501が、リセットが解除された直後の初期化処理を行っているときや、演出制御CPU401から直前に受け取ったコマンドをまだ処理しているときなどである。演出制御CPU401は、液晶制御CPU501に対して新たなコマンドを送信しようとするときに、液晶制御CPU501からの送信可否信号の状態を確認し、もし送信可否信号がLOレベルであれば、HIレベルに変わるのを待ってからそのコマンドを送信する。
演出制御CPU401は、液晶制御CPU501が正常に動作しているかどうかを監視して、液晶制御CPU501が異常状態になっていることを検知したときに、リセット信号によって液晶制御CPU501をリセット(ウォッチドッグリセット)する。演出制御CPU401は、液晶制御CPU501が正常に動作しているかどうかを、液晶制御CPU501からの送信可否信号とウォッチドッグタイマクリア信号に基づいて判断する。具体的には、演出制御CPU401は、基本的に常に一定の周期(例えば10ミリ秒)でタイマ(第2のウォッチドッグタイマ)をカウントアップしており、液晶制御CPU501からウォッチドッグタイマクリア信号(パルス信号)が入力されると第2のウォッチドッグタイマをクリアする。本実施例では、第2のウォッチドッグタイマは、演出制御CPU401がRAM403を用いて所定の周期で数値をカウントすることによって実現される。液晶制御CPU501からウォッチドッグタイマクリア信号が入力されない状態が一定時間以上続くと、第2のウォッチドッグタイマの値が所定の閾値を超え、演出制御CPU401は液晶制御CPU501が異常状態(例えば、暴走やハングアップ)になっていると判断し、リセット信号によって液晶制御CPU501をリセット(ウォッチドッグリセット)する。ただし、演出制御CPU401が第2のウォッチドッグタイマをカウントするのは、液晶制御CPU501からの送信可否信号がHIレベル(RDY)であるときのみとし、液晶制御CPU501からの送信可否信号がLOレベル(BSY)のときには第2のウォッチドッグタイマをカウントしない(もしくは、第2のウォッチドッグタイマのカウントを一時停止する、もしくは、第2のウォッチドッグタイマによる監視を無効にする)。したがって、液晶制御CPU501は、LOレベルの送信可否信号を送信している間はウォッチドッグタイマクリア信号を演出制御CPU401へ出力する必要が無く、その分の処理負担を別の処理に充てることができる。
なお、液晶制御CPU501からの送信可否信号がLOレベル(BSY)になってから所定時間(例えば5秒間)が経過してもHIレベル(RDY)にならない場合には、液晶制御CPU501がLOレベル(BSY)の送信可否信号を出力したまま異常状態になっていると推定されるので、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセット(ビジーリセット)する。
液晶制御CPU501とVDP504の間でやりとりされる信号も、演出制御CPU401と液晶制御CPU501の間でやりとりされる信号と基本的には同じである。すなわち、液晶制御CPU501からVDP504へは、リセット信号(RESET)と送信データ信号(TXD)が送信される。そして、VDP504から液晶制御CPU501へは、送信可否信号(RDY/BSY)とウォッチドッグタイマクリア信号(WDTCLR)が送信される。
送信データ信号は、液晶制御CPU501がVDP504を制御するためのコマンドを含む信号である。VDP504から液晶制御CPU501へ送信される送信可否信号は、VDP504が新たなコマンドをすぐに処理可能な状態であるか否かを示す信号であって、例えば、新たなコマンドをすぐに処理可能な状態である場合にHIレベル(RDY)となり、そうでない場合にLOレベル(BSY)となる。送信可否信号がLOレベルとなる典型的な状況は、VDP504が、リセットが解除された直後の初期化処理を行っているときや、液晶制御CPU501から直前に受け取ったコマンドをまだ処理しているときなどである。液晶制御CPU501は、VDP504に対して新たなコマンドを送信しようとするときに、VDP504からの送信可否信号の状態を確認し、もし送信可否信号がLOレベルであれば、HIレベルに変わるのを待ってからそのコマンドを送信する。
液晶制御CPU501は、VDP504が正常に動作しているかどうかを監視して、VDP504が異常状態になっていることを検知したときに、リセット信号によってVDP504をリセット(ウォッチドッグリセット)する。液晶制御CPU501は、VDP504が正常に動作しているかどうかを、VDP504からの送信可否信号とウォッチドッグタイマクリア信号に基づいて判断する。具体的には、液晶制御CPU501は、基本的に常に一定の周期(例えば10ミリ秒)でタイマ(第3のウォッチドッグタイマ)をカウントアップしており、VDP504からウォッチドッグタイマクリア信号(パルス信号)が入力されると第3のウォッチドッグタイマをクリアする。本実施例では、第3のウォッチドッグタイマは、液晶制御CPU501がRAM503を用いて所定の周期で数値をカウントすることによって実現される。VDP504からウォッチドッグタイマクリア信号が入力されない状態が一定時間以上続くと、第3のウォッチドッグタイマの値が所定の閾値を超え、液晶制御CPU501はVDP504が異常状態(例えば、暴走やハングアップ)になっていると判断し、リセット信号によってVDP504をリセット(ウォッチドッグリセット)する。ただし、液晶制御CPU501が第3のウォッチドッグタイマをカウントするのは、VDP504からの送信可否信号がHIレベル(RDY)であるときのみとし、VDP504からの送信可否信号がLOレベル(BSY)のときには第3のウォッチドッグタイマをカウントしない(もしくは、第3のウォッチドッグタイマのカウントを一時停止する、もしくは、第3のウォッチドッグタイマによる監視を無効にする)。したがって、VDP504は、LOレベルの送信可否信号を送信している間は第3のウォッチドッグタイマクリア信号を液晶制御CPU501へ出力する必要が無く、その分の処理負担を別の処理に充てることができる。
なお、VDP504からの送信可否信号がLOレベル(BSY)になってから所定時間(例えば5秒間)が経過してもHIレベル(RDY)にならない場合には、VDP504がLOレベル(BSY)の送信可否信号を出力したまま異常状態になっていると推定されるので、液晶制御CPU501は、リセット信号によってVDP504をリセット(ビジーリセット)する。
液晶制御CPU501とサウンドIC505の間でやりとりされる信号も、演出制御CPU401と液晶制御CPU501の間でやりとりされる信号や、液晶制御CPU501とVDP504の間でやりとりされる信号と基本的には同じである。すなわち、液晶制御CPU501からサウンドIC505へは、リセット信号(RESET)と送信データ信号(TXD)が送信される。そして、サウンドIC505から液晶制御CPU501へは、送信可否信号(RDY/BSY)とウォッチドッグタイマクリア信号(WDTCLR)が送信される。
送信データ信号は、液晶制御CPU501がサウンドIC505を制御するためのコマンドを含む信号である。サウンドIC505から液晶制御CPU501へ送信される送信可否信号は、サウンドIC505が新たなコマンドをすぐに処理可能な状態であるか否かを示す信号であって、例えば、新たなコマンドをすぐに処理可能な状態である場合にHIレベル(RDY)となり、そうでない場合にLOレベル(BSY)となる。送信可否信号がLOレベルとなる典型的な状況は、サウンドIC505が、リセットが解除された直後の初期化処理を行っているときや、液晶制御CPU501から直前に受け取ったコマンドをまだ処理しているときなどである。液晶制御CPU501は、サウンドIC505に対して新たなコマンドを送信しようとするときに、サウンドIC505からの送信可否信号の状態を確認し、もし送信可否信号がLOレベルであれば、HIレベルに変わるのを待ってからそのコマンドを送信する。
液晶制御CPU501は、サウンドIC505が正常に動作しているかどうかを監視して、サウンドIC505が異常状態になっていることを検知したときに、リセット信号によってサウンドIC505をリセット(ウォッチドッグリセット)する。液晶制御CPU501は、サウンドIC505が正常に動作しているかどうかを、サウンドIC505からの送信可否信号とウォッチドッグタイマクリア信号に基づいて判断する。具体的には、液晶制御CPU501は、基本的に常に一定の周期(例えば10ミリ秒)でタイマ(第4のウォッチドッグタイマ)をカウントアップしており、サウンドIC505からウォッチドッグタイマクリア信号(パルス信号)が入力されると第4のウォッチドッグタイマをクリアする。本実施例では、第4のウォッチドッグタイマは、液晶制御CPU501がRAM503を用いて所定の周期で数値をカウントすることによって実現される。サウンドIC505からウォッチドッグタイマクリア信号が入力されない状態が一定時間以上続くと、第4のウォッチドッグタイマの値が所定の閾値を超え、液晶制御CPU501はサウンドIC505が異常状態(例えば、暴走やハングアップ)になっていると判断し、リセット信号によってサウンドIC505をリセット(ウォッチドッグリセット)する。ただし、液晶制御CPU501が第4のウォッチドッグタイマをカウントするのは、サウンドIC505からの送信可否信号がHIレベル(RDY)であるときのみとし、サウンドIC505からの送信可否信号がLOレベル(BSY)のときには第4のウォッチドッグタイマをカウントしない(もしくは、第4のウォッチドッグタイマのカウントを一時停止する、もしくは、第4のウォッチドッグタイマによる監視を無効にする)。したがって、サウンドIC505は、LOレベルの送信可否信号を送信している間は第4のウォッチドッグタイマクリア信号を液晶制御CPU501へ出力する必要が無く、その分の処理負担を別の処理に充てることができる。
なお、サウンドIC505からの送信可否信号がLOレベル(BSY)になってから所定時間(例えば5秒間)が経過してもHIレベル(RDY)にならない場合には、サウンドIC505がLOレベル(BSY)の送信可否信号を出力したまま異常状態になっていると推定されるので、液晶制御CPU501は、リセット信号によってサウンドIC505をリセット(ビジーリセット)する。
(リセット処理に関する動作フロー)
次に、リセット処理に関する演出制御CPU401および液晶制御CPU501の動作フローを説明する。ここでは、演出制御CPU401が液晶制御CPU501をリセットする処理に関連する動作フローだけを説明し、本発明に特に関係の無いその他の処理の説明については省略する。また、液晶制御CPU501がVDP504やサウンドIC505をリセットするための処理に関する液晶制御CPU501の動作フローや、VDP504およびサウンドIC505の動作フローについては、以下の演出制御CPU401および液晶制御CPU501の動作フローの説明から当業者であれば容易に類推できるため、説明を省略する。
図6は、演出制御CPU401の動作フローを示すフローチャートである。演出制御基板および画像音響制御基板に電源が供給され、リセットIC405によるリセットが解除される(すなわち、リセットIC405から出力されるリセット信号がLOレベルからHIレベルに変化する)と、ステップS10において、演出制御CPU401は第2のウォッチドッグタイマのカウントを開始する。
ステップS12において、演出制御CPU401は、液晶制御CPU501からウォッチドッグタイマクリア信号を受信したかどうかを判断する。そして、液晶制御CPU501からウォッチドッグタイマクリア信号を受信した場合には、演出制御CPU401は第2のウォッチドッグタイマをクリアして、ステップS10に戻って再び第2のウォッチドッグタイマのカウントを開始する。一方、液晶制御CPU501からウォッチドッグタイマクリア信号を受信していない場合にはステップS14に進む。
ステップS14において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がLOレベル(BSY)かどうかを判断し、LOレベルである場合にはステップS16に進み、HIレベル(RDY)である場合にはステップS22に進む。
ステップS16において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がLOレベルである継続時間をカウントする。
ステップS18において、演出制御CPU401は、LOレベルの継続時間が所定時間(すなわち、液晶制御CPU501が正常に動作しているときではあり得ないような時間)を超えたかどうかを判断し、LOレベルの継続時間が所定時間を超えた場合にはステップS26に進み、そうでない場合にはステップS20に進む。
ステップS20において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がHIレベル(RDY)かどうかを判断する。そして、液晶制御CPU501から出力される送信可否信号がHIレベルである場合(すなわち、液晶制御CPU501から出力される送信可否信号がLOレベルからHIレベルへ変化した場合)には、演出制御CPU401は第2のウォッチドッグタイマをクリアして、ステップS10に戻って再び第2のウォッチドッグタイマのカウントを開始する。一方、液晶制御CPU501から出力される送信可否信号が依然としてLOレベルである場合には、ステップS16に戻って、引き続きLOレベルの継続時間のカウントを続行する。
ステップS22において、演出制御CPU401は、第2のウォッチドッグタイマの値が所定の閾値を超えたかどうかを判断し、第2のウォッチドッグタイマの値が閾値を超えた場合にはステップS24に進み、そうでない場合にはステップS12に戻る。
ステップS24において、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセット(ウォッチドッグリセット)する。具体的には、演出制御CPU401は、演出制御CPU401から出力されるリセット信号を一旦LOレベルにした後、所定時間後にHIレベルに戻す。これにより、液晶制御CPU501は異常状態から正常状態へと復帰する。
ステップS26において、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセット(ビジーリセット)する。具体的には、演出制御CPU401は、演出制御CPU401から出力されるリセット信号を一旦LOレベルにした後、所定時間後にHIレベルに戻す。これにより、液晶制御CPU501は異常状態から正常状態へと復帰する。
図7は、液晶制御CPU501の動作フロー(演出制御CPU401との間のやりとりに関する部分のみ)を示すフローチャートである。演出制御基板および画像音響制御基板に電源が供給され、リセットIC405によるリセットが解除される(すなわち、リセットIC405から出力されるリセット信号がLOレベルからHIレベルに変化する)と、ステップS30において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベル(BSY)に設定する。
ステップS32において、液晶制御CPU501は、初期処理(演出制御CPU401からのコマンドを処理できるようにするための準備処理)を実行する。
初期処理が完了すると、ステップS34において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベルからHIレベル(RDY)に変更する。
ステップS36において、液晶制御CPU501は、送信データ信号を通じて演出制御CPU401から新たなコマンドを受け取ったかどうかを判断し、演出制御CPU401からコマンドを受け取った場合にはステップS38に進み、そうでない場合にはステップS44に進む。
ステップS38において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をHIレベルからLOレベル(BSY)に変更する。
ステップS40において、液晶制御CPU501は、演出制御CPU401から受け取ったコマンドを処理する。
コマンドの処理が完了すると、ステップS42において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベルからHIレベル(RDY)に変更し、ステップS36に戻る。
ステップS44において、液晶制御CPU501は、演出制御CPU401へウォッチドッグタイマクリア信号(パルス信号)を出力し、ステップS36に戻る。
以上のように、本実施形態によれば、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)が異常状態となったときに、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)が液晶制御CPU501だけを個別にリセットすることができるので、異常状態となった制御装置だけを個別にリセットして正常状態に復帰させることが可能である。したがって、例えばVDP504やサウンドIC505は正常に動作していて液晶制御CPU501だけが異常状態となった場合には、液晶制御CPU501だけをリセットすることができるので、VDP504やサウンドIC505から出力されている画像や音声が中断することなく、液晶制御CPU501を正常状態に復帰させることができる。ただし、液晶制御CPU501が異常状態となった場合には、VDP504やサウンドIC505から出力されている画像や音声も正常ではなくなっている可能性があるため、液晶制御CPU501をリセットした場合には、正常状態に復帰した液晶制御CPU501がVDP504およびサウンドIC505を自動的にリセットするように構成してもよい。
また、本実施形態によれば、上位制御装置は、下位制御装置から出力される送信可否信号(RDY/BSY)がHIレベル(すなわち、下位制御装置が、上位制御装置からの新たなコマンドをすぐに処理できる状態)であるときにはウォッチドッグタイマによるリセット処理(ウォッチドッグリセット)を行い、液晶制御CPU501から出力される送信可否信号がLOレベル(すなわち、下位制御装置が、上位制御装置からの新たなコマンドをすぐに処理できない状態)であるときにはウォッチドッグタイマによるリセット処理を行わない。したがって、下位制御装置は、リセットが解除された直後の初期処理をしている期間(S32)や、上位制御装置からのコマンドを処理している期間(S40)は、上位制御装置に対してウォッチドッグタイマクリア信号を出力する必要が無く、その分の処理負担を別の処理(すなわち、初期処理やコマンドの処理)に充てることで、その処理をより早く完了させることができる。
また、本実施形態によれば、上位制御装置は、下位制御装置からの送信可否信号がLOレベル(BSY)になってから所定時間が経過してもHIレベル(RDY)にならない場合に、リセット信号によって下位制御装置をリセット(ビジーリセット)する。したがって、下位制御装置がLOレベル(BSY)の送信可否信号を出力したまま異常状態になっている場合でも、上位制御装置は、下位制御装置をリセットして正常状態に復帰させることができる。
なお、上述した実施形態では、上位制御装置と下位制御装置の組み合わせの具体例として、演出制御CPU401と液晶制御CPU501の組み合わせと、液晶制御CPU501とVDP504の組み合わせと、液晶制御CPU501とサウンドIC505の組み合わせを例示したが、上位制御装置と下位制御装置の組み合わせはこれらに限らない。
また、上述した実施形態では、下位制御装置は、初期処理中とコマンドの処理中において送信可否信号をLOレベル(BSY)にしているが、下位制御装置が送信可否信号をLOレベル(BSY)にするタイミングはこれらに限定されない。例えば、下位制御装置が通常の動作モードとは異なる動作モード(例えば検査モード)で動作する場合に、LOレベルの送信可否信号を出力するようにしてもよい。また例えば、下位制御装置が優先度の高い処理(例えば、リアルタイム性が要求される処理)を行う場合にのみ、LOレベルの送信可否信号を出力するようにしてもよい。
また、上述した実施形態における各種信号の形状(パルス信号)や状態(HIレベル、LOレベル)は単なる一例に過ぎず、同じ情報を伝えることができるのであれば、各種信号の形状や状態は任意である。
また、上述した実施形態では、上位制御装置は、下位制御装置の動作を監視するためのウォッチドッグタイマをRAMを利用してカウントしているが、これに代えて、ウォッチドッグタイマ機能を有するIC等を利用してもよい。