以下、図面を参照して、本発明の一実施形態に係る遊技機について説明する。
(遊技機の概要)
図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においては、入賞や抽選に関する種々の役物の一例として、第1始動口25a、第2始動口25b、ゲート27、大入賞口28、および普通入賞口29が遊技盤2に配設されている。さらに、遊技領域20には、遊技領域20に打ち出された遊技球のうち入賞口に入賞しなかった遊技球を、遊技領域20の外に排出する排出口24が配設されている。
第1始動口25aに遊技球が入ると入賞して第1特別図柄抽選(大当たり抽選)が始動する。第1始動口25aは、予め定められた特別電動役物(大入賞口28)および/または予め定められた特別図柄表示器(例えば、後述する第1特別図柄表示器31a)を作動させることとなる、遊技球の入賞に係る入賞口である。第2始動口25bに遊技球が入ると入賞して第2特別図柄抽選(大当たり抽選)が始動する。第2始動口25bは、予め定められた特別電動役物(大入賞口28)および/または予め定められた特別図柄表示器(例えば、後述する第2特別図柄表示器31b)を作動させることとなる、遊技球の入賞に係る入賞口である。ゲート27を遊技球が通過すると、普通図柄抽選(開閉抽選)が始動する。
第2始動口25bは、普通電動役物の一例として、遊技球の入口近傍に電動チューリップ26を備えている。電動チューリップ26は、チューリップの花を模した一対の羽根部を有しており、後述する電動チューリップ開閉部112(例えば、電動ソレノイド)の駆動によって当該一対の羽根部が左右に開閉し、開閉動作と共に点灯または点滅する。電動チューリップ26の一対の羽根部が閉じていると、第2始動口25bの入口がほぼ閉ざされるため、遊技球が第2始動口25bへほとんど入らない。一方、電動チューリップ26の一対の羽根部が左右に開くと、第2始動口25bの入口へ案内される開口幅が拡大するため、遊技球が第2始動口25bへ入り易くなる。そして、電動チューリップ26は、ゲート27を遊技球が通過することによって始動される普通図柄抽選に当選すると、点灯または点滅しながら一対の羽根部が規定時間(例えば、6秒間)開き、規定回数(例えば、3回)だけ開閉する。
大入賞口28は、第2始動口25bの下方に位置し、特別図柄抽選(第1特別図柄抽選、第2特別図柄抽選)の結果に応じて開放する。大入賞口28は、通常は閉状態であり遊技球が入ることがない状態となっているが、特別図柄抽選の結果に応じて遊技盤2の主面から突出傾斜して開状態となって遊技球が入り易い状態となる。例えば、大入賞口28は、所定条件(例えば、30秒経過または遊技球10個の入賞)を満たすまで開状態が維持されるラウンドを、所定回数(例えば、15回)だけ繰り返す。また、普通入賞口29は、遊技球が入賞しても抽選が始動しない。
また、遊技盤2の所定位置(例えば、右下)に、上述した特別図柄抽選や普通図柄抽選の結果や保留数に関する表示を行う表示器3が配設されている。表示器3の詳細については、後述する。
なお、図1に示した遊技機1は、遊技領域20に2つの始動口(第1始動口25a、第2始動口b)が配設されているが、遊技球が入ると入賞して特別図柄抽選が開始される始動口を1つだけ、または3つ以上設けてもかまわない。また、遊技機1は、遊技領域20に1つの大入賞口28が配設されているが、大入賞口28と同様の機能を有する大入賞口を複数個設けてもかまわない。
また、後述により明らかとなるが、遊技機1は、所定の条件下で、特別図柄抽選時に大当たりが抽選される大当たり確率が変動することがある。例えば、遊技機1は、上記大当たり確率が相対的に低い状態(低確状態;例えば大当たり確率が300分の1)から上記大当たり確率が相対的に高い状態(高確状態;例えば大当たり確率が30分の1)へ変動することがある。また、遊技機1は、所定の条件下で、特別図柄抽選時の特別図柄変動時間が短縮されたり、普通図柄抽選時の当選する確率が高まったり、普通図柄抽選時の普通図柄変動時間が短縮されたり、電動チューリップ26の羽根部の開時間が延長されたり、電動チューリップ26の羽根部が開閉する回数が増えたりする(電チューサポート)場合がある。
ここで、賞球の払い出しについて説明する。第1始動口25a、第2始動口25b、大入賞口28、および普通入賞口29に遊技球が入る(入賞)と、遊技球が入賞した場所に応じて、1つの遊技球当たり規定個数の賞球が払い出される。例えば、第1始動口25aまたは第2始動口25bに遊技球が入賞すると4個の賞球、大入賞口28に遊技球が入賞すると13個の賞球、普通入賞口29に遊技球が入賞すると10個の賞球がそれぞれ払い出される。なお、ゲート27を遊技球が通過したことを検出しても、それに連動した賞球の払い出しはない。
枠部材5の前面側には、ハンドル51、レバー52、停止ボタン53、取り出しボタン54、スピーカ55、枠ランプ56、演出ボタン57、演出キー58、皿59、および錠部43等が設けられている。
遊技者がハンドル51に触れてレバー52を時計方向に回転させる操作を行うと、その操作角度に応じた打球力にて所定の時間間隔(例えば、1分間に100個)で、発射装置211(図4参照)が遊技球を電動発射する。皿59は、遊技機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は、第1特別図柄表示器31a、第2特別図柄表示器31b、第1特別図柄保留表示器32a、第2特別図柄保留表示器32b、普通図柄表示器33、普通図柄保留表示器34、および遊技状態表示器35を備えている。
第1特別図柄表示器31aは、第1始動口25aに遊技球が入賞することに対応して表示図柄が変動して表示される。例えば、第1特別図柄表示器31aは、7セグ表示装置で構成され、第1始動口25aに遊技球が入賞した場合、特別図柄(第1特別図柄)を変動表示してその抽選結果を表示する。第2特別図柄表示器31bは、第2始動口25bに遊技球が入賞することに対応して表示図柄が変動して表示される。例えば、第2特別図柄表示器31bは、7セグ表示装置で構成され、第2始動口25bに遊技球が入賞した場合、特別図柄(第2特別図柄)を変動表示してその抽選結果を表示する。普通図柄表示器33は、ゲート27を遊技球が通過することに対応して表示図柄が変動して表示される。例えば、普通図柄表示器33は、LED表示装置で構成され、遊技球がゲート27を通過した場合、普通図柄を変動表示してその抽選結果を表示する。
第1特別図柄保留表示器32aは、第1特別図柄抽選を保留している回数を表示する。第2特別図柄保留表示器32bは、第2特別図柄抽選を保留している回数を表示する。普通図柄保留表示器34は、普通図柄抽選を保留している回数を表示する。例えば、第1特別図柄表示器31a、第2特別図柄表示器31bまたは普通図柄表示器33によって表示図柄が変動表示されている期間(入賞1回分の変動表示が行われている間)に、さらに他の遊技球が入賞した場合、その入賞した遊技球に対する表示図柄の変動表示は、先に入賞した遊技球に対する変動表示が終了するまで、規定回数(例えば、4回)を限度に保留される。このような保留がなされていることおよびその保留の数(未抽選回数)が、第1特別図柄保留表示器32a、第2特別図柄保留表示器32bおよび普通図柄保留表示器34に表示される。例えば、第1特別図柄保留表示器32a、第2特別図柄保留表示器32bおよび普通図柄保留表示器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の中央キーを操作することにより、カーソルによって示されている選択項目の選択を確定させることが可能である。
また、上記枠部材5の背面側には、払出用の遊技球を溜めておく球タンクや遊技球を皿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は、第1始動口25aまたは第2始動口25bに遊技球が入賞すると特別図柄抽選(第1特別図柄抽選または第2特別図柄抽選)を行い、特別図柄抽選での当選か否かを示す判定結果データを演出制御部400に送る。また、メイン制御部100は、特別図柄抽選に応じて決定した当選確率の変動設定(例えば300分の1から30分の1への変動設定)および特別図柄変動時間の短縮設定を示すデータや、普通図柄抽選に応じて決定した普通図柄変動時間の短縮設定を示すデータを、演出制御部400に送る。
メイン制御部100は、電動チューリップ26の羽根部が開状態となる開時間や羽根部が開閉する回数、さらには羽根部が開閉する開閉時間間隔を制御する。また、メイン制御部100は、遊技球が第1始動口25aへ入賞したときの保留回数や、遊技球が第2始動口25bへ入賞したときの保留回数や、遊技球がゲート27を通過したときの保留回数を管理する。
メイン制御部100は、特別図柄抽選の結果に応じて、大入賞口28の開閉動作を制御する。例えば、メイン制御部100は、所定条件(例えば、30秒経過または遊技球10個の入賞)を満たすまで、大入賞口28が突出傾斜して開状態を維持するラウンドを所定回数(例えば15回)だけ繰り返すように制御する。また、メイン制御部100は、大入賞口28が開閉する開閉時間間隔を制御する。
メイン制御部100は、第1始動口25a、第2始動口25b、大入賞口28、および普通入賞口29に遊技球が入賞すると、遊技球が入賞した場所に応じて1つの遊技球当たり所定数の賞球を払い出すように、払出数を払出制御部300に対して指示する。例えば、メイン制御部100は、第1始動口25aまたは第2始動口25bに遊技球が入賞すると4個の賞球、大入賞口28に遊技球が入賞すると13個の賞球、普通入賞口29に遊技球が入賞すると10個の賞球をそれぞれ払い出すように、払出制御部300に指示命令(コマンド)を送る。なお、メイン制御部100は、ゲート27を遊技球が通過したことを検出しても、それに連動した賞球の払い出しを払出制御部300に指示しない。払出制御部300がメイン制御部100の指示に応じて賞球の払い出しを行った場合、払出制御部300から払い出した賞球の個数に関する情報がメイン制御部100へ送られる。そして、メイン制御部100は、払出制御部300から取得した情報に基づいて、払い出した賞球の個数を管理する。
メイン制御部100は、発射制御部200を介して、遊技球を発射する発射装置211を制御する。例えば、メイン制御部100は、所定の条件に基づいて、発射装置211が遊技球を発射する動作を許可する信号を、払出制御部300を介して発射制御部200へ送信する。
上述した機能を実現するために、メイン制御部100には、第1始動口スイッチ111a、第2始動口スイッチ111b、電動チューリップ開閉部112、ゲートスイッチ113、大入賞口スイッチ114、大入賞口開閉部115、普通入賞口スイッチ116、第1特別図柄表示器31a、第2特別図柄表示器31b、第1特別図柄保留表示器32a、第2特別図柄保留表示器32b、普通図柄表示器33、普通図柄保留表示器34、および遊技状態表示器35が接続されている。
第1始動口スイッチ111aは、第1始動口25aへ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。第2始動口スイッチ111bは、第2始動口25bへ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。電動チューリップ開閉部112は、メイン制御部100から送られる制御信号に応じて、電動チューリップ26の一対の羽根部を開閉する。ゲートスイッチ113は、ゲート27を遊技球が通過したことを検出して、その検出信号をメイン制御部100へ送る。大入賞口スイッチ114は、大入賞口28へ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。大入賞口開閉部115は、メイン制御部100から送られる制御信号に応じて、大入賞口28を開閉する。普通入賞口スイッチ116は、普通入賞口29へ遊技球が入賞したことを検出して、その検出信号をメイン制御部100へ送る。
また、メイン制御部100は、第1始動口25aへの遊技球の入賞により始動した第1特別図柄抽選の結果を、第1特別図柄表示器31aに表示する。メイン制御部100は、第1始動口25aへの遊技球の入賞に応じて抽選を保留にしている保留回数を、第1特別図柄保留表示器32aに表示する。メイン制御部100は、第2始動口25bへの遊技球の入賞により始動した第2特別図柄抽選の結果を、第2特別図柄表示器31bに表示する。メイン制御部100は、第2始動口25bへの遊技球の入賞に応じて抽選を保留にしている保留回数を、第2特別図柄保留表示器32bに表示する。メイン制御部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に示すVDP(Video Display Processor)504およびサウンド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の動作を制御する。
(リセット処理)
次に、遊技機におけるリセット処理について説明する。
(リセットIC405によるリセット処理)
図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の間で送受信される信号)
演出制御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によるリセット処理)
演出制御CPU401は、液晶制御CPU501が正常に動作しているかどうかを監視して、液晶制御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をリセット(ビジーリセット)する。他の実施例では、演出制御CPU401がリセット信号によって液晶制御CPU501をリセットした後、所定時間(例えば3sec)が経過しても液晶制御CPU501からの送信可否信号がHIレベル(RDY)にならない場合には、液晶制御CPU501が起動処理の途中で異常状態になっていると推定されるので、演出制御CPU401がリセット信号によって液晶制御CPU501をリセット(ビジーリセット)するようにしてもよい。
さらに、演出制御CPU401は、液晶制御CPU501と当該液晶制御CPU501によって制御される他の回路(具体的には、VDP504とサウンドIC505)との間で送受信される信号を監視し、当該信号に基づいて、液晶制御CPU501が異常状態になっていると推定される場合に、リセット信号によって液晶制御CPU501をリセット(信号監視リセット)する。この信号監視リセットの詳細については後述する。
(液晶制御CPU501とVDP504の間で送受信される信号)
液晶制御CPU501からVDP504へは、リセット信号(RESET)と送信データ信号(TXD)が送信される。そして、VDP504から液晶制御CPU501へは、送信可否信号(RDY/BSY)とウォッチドッグタイマクリア信号(WDTCLR)とエラー信号(ERR)が送信される。
送信データ信号は、液晶制御CPU501がVDP504を制御するためのコマンドを含む信号である。VDP504から液晶制御CPU501へ送信される送信可否信号は、VDP504が新たなコマンドをすぐに処理可能な状態であるか否かを示す信号であって、例えば、新たなコマンドをすぐに処理可能な状態である場合にHIレベル(RDY)となり、そうでない場合にLOレベル(BSY)となる。送信可否信号がLOレベルとなる典型的な状況は、VDP504が、リセットが解除された直後の初期化処理を行っているときや、液晶制御CPU501から直前に受け取ったコマンドをまだ処理しているときなどである。液晶制御CPU501は、VDP504に対して新たなコマンドを送信しようとするときに、VDP504からの送信可否信号の状態を確認し、もし送信可否信号がLOレベルであれば、HIレベルに変わるのを待ってからそのコマンドを送信する。
(液晶制御CPU501によるVDP504のリセット処理)
液晶制御CPU501は、VDP504が正常に動作しているかどうかを監視して、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)になってから所定時間(例えば100msec)が経過してもHIレベル(RDY)にならない場合には、VDP504がLOレベル(BSY)の送信可否信号を出力したまま異常状態になっていると推定されるので、液晶制御CPU501は、リセット信号によってVDP504をリセット(ビジーリセット)する。他の実施例では、液晶制御CPU501がリセット信号によってVDP504をリセットした後、所定時間(例えば3sec)が経過してもVDP504からの送信可否信号がHIレベル(RDY)にならない場合には、VDP504が起動処理の途中で異常状態になっていると推定されるので、液晶制御CPU501がリセット信号によってVDP504をリセット(ビジーリセット)するようにしてもよい。
また、液晶制御CPU501は、VDP504からのエラー信号に基づいてVDP504のエラー状況(通信系エラー(コマンドエラー、パリティエラー)、機能系エラー(オーバーロード、デコードエラー))を監視し、エラー状況が改善しない場合(例えば、一定時間以上エラー状況が継続している場合)にリセット信号によってVDP504をリセット(エラーリセット)する。
(液晶制御CPU501とサウンドIC505の間で送受信される信号)
液晶制御CPU501とサウンドIC505の間で送受信される信号も、液晶制御CPU501とVDP504の間で送受信される信号と基本的には同じである。
(液晶制御CPU501によるサウンドIC505のリセット処理)
液晶制御CPU501は、サウンドIC505が正常に動作しているかどうかを監視して、サウンドIC505が異常状態になっていることを検知したときに、リセット信号によってサウンドIC505をリセットする。
具体的には、液晶制御CPU501は、基本的に常に一定の周期(例えば10ミリ秒)でタイマ(第4のウォッチドッグタイマ)をカウントアップしており、サウンドIC505からウォッチドッグタイマクリア信号(パルス信号)が入力されると第4のウォッチドッグタイマをクリアする。サウンドIC505からウォッチドッグタイマクリア信号が入力されない状態が一定時間以上続くと、第4のウォッチドッグタイマの値が所定の閾値を超え、液晶制御CPU501はサウンドIC505が異常状態(例えば、暴走やハングアップ)になっていると判断し、リセット信号によってサウンドIC505をリセット(ウォッチドッグリセット)する。
また、液晶制御CPU501は、サウンドIC505からの送信可否信号に基づいて、サウンドIC505をリセット(ビジーリセット)する。
さらに、液晶制御CPU501は、サウンドIC505からのエラー信号に基づいて、サウンドIC505をリセット(エラーリセット)する。
(演出制御CPU401による第1の信号監視リセット処理:リセット信号の頻度に基づくリセット処理)
まず、液晶制御CPU501からVDP504へ送信されるリセット信号(RESET)に基づく、演出制御CPU401による液晶制御CPU501のリセット処理について説明する。上述のように、液晶制御CPU501は、VDP504からのウォッチドッグタイマクリア信号、送信可否信号、エラー信号に基づいて、VDP504をリセットする。
しかしながら、液晶制御CPU501が異常状態(例えば、暴走やハングアップ)になっている場合には、液晶制御CPU501からVDP504に対してリセット信号が頻繁に送信されることがある。このような場合に、演出制御CPU401は、液晶制御CPU501が異常であると判断して、液晶制御CPU501をリセットする。
具体的には、例えば、予め設定された所定期間において、液晶制御CPU501からVDP504に対して送信されるリセット信号が、予め設定された閾値回数以上である場合に、演出制御CPU401は、液晶制御CPU501が異常であると判断して、液晶制御CPU501をリセットする。
同様に、演出制御CPU401は、液晶制御CPU501からサウンドIC505へ送信されるリセット信号(RESET)の頻度に基づいて、液晶制御CPU501をリセットする。
このように、例えば、液晶制御CPU501からVDP504(または、サウンドIC505)に対してリセット信号が頻繁に送信されるときに、演出制御CPU401が液晶制御CPU501をリセットするため、演出制御CPU401が液晶制御CPU501を適切にリセットすることができる。
したがって、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)は、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)と、VDP504またはサウンドIC505(より一般的には、被制御装置、または下位制御装置によって動作を制御される制御装置)との間で送受信される信号(ここでは、リセット信号:RESET)に基づいて、下位制御装置をリセットすることができるので、下位制御装置が異常状態となったときに当該下位制御装置を適切にリセットすることができる。
(演出制御CPU401による第2の信号監視リセット処理:ウォッチドッグタイマクリア信号に基づくリセット処理)
次に、VDP504から液晶制御CPU501へ送信されるウォッチドッグタイマクリア信号(WDTCLR)に基づく、演出制御CPU401による液晶制御CPU501のリセット処理について説明する。上述のように、液晶制御CPU501は、VDP504からのウォッチドッグタイマクリア信号等に基づいて、VDP504をリセット(ウォッチドッグリセット)する。
しかしながら、液晶制御CPU501が異常状態(例えば、暴走やハングアップ)になっている場合には、液晶制御CPU501によるウォッチドッグリセット処理が適切に行われないことがある。このような場合に、演出制御CPU401は、液晶制御CPU501が異常であると判断して、液晶制御CPU501をリセットする。
具体的には、演出制御CPU401は、液晶制御CPU501の第3のウォッチドッグタイマと同様の動作をするウォッチドッグタイマ(模擬的な第3のウォッチドッグタイマ)を備え、この模擬的な第3のウォッチドッグタイマの値に基づいて、液晶制御CPU501をリセット(ウォッチドッグリセット)する。すなわち、VDP504からウォッチドッグタイマクリア信号が出力されない状態が一定時間以上続き、模擬的な第3のウォッチドッグタイマの値が所定の閾値(液晶制御CPU501の第3のウォッチドッグタイマに対して設定されている閾値と同じ閾値)を超えたときに、液晶制御CPU501からVDP504へリセット信号が正常に出力されたか否かを監視し、正常に出力されなかった場合には、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセットする。
なお、他の実施例として、模擬的な第3のウォッチドッグタイマの値が所定の閾値を超えてから一定時間が経過しても、VDP504によるウォッチドッグタイマクリア信号の出力が再開されない場合に、液晶制御CPU501によるVDP504のリセット処理(ウォッチドッグリセット)が正常に行われていないと判断し、演出制御CPU401が液晶制御CPU501をリセットするようにしてもよい。
同様に、演出制御CPU401は、液晶制御CPU501の第4のウォッチドッグタイマと同様の動作をするウォッチドッグタイマ(模擬的な第4のウォッチドッグタイマ)を備え、サウンドIC505から液晶制御CPU501へ送信されるウォッチドッグタイマクリ信号に基づいて、液晶制御CPU501をリセットする。
このように、例えば、液晶制御CPU501が、ウォッチドッグリセットによるリセット信号をVDP504(または、サウンドIC505)へ適正なタイミングで送信しないとき(リセット条件を満たしたにもかかわらず液晶制御CPU501がVDP504またはサウンドIC505をリセットしないときの一例に相当する)に、演出制御CPU401が液晶制御CPU501をリセットするため、演出制御CPU401が液晶制御CPU501を適切にリセットすることができる。
したがって、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)は、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)と、VDP504またはサウンドIC505(より一般的には、被制御装置、または下位制御装置によって動作を制御される制御装置)との間で送受信される信号(ここでは、ウォッチドッグタイマクリア信号:WDTCLR)に基づいて、下位制御装置をリセットすることができるので、下位制御装置が異常状態となったときに当該下位制御装置を適切にリセットすることができる。
(演出制御CPU401による第3の信号監視リセット処理:送信可否信号に基づくリセット処理)
次に、VDP504から液晶制御CPU501へ送信される送信可否信号(RDY/BSY)に基づく、演出制御CPU401による液晶制御CPU501のリセット処理について説明する。上述のように、液晶制御CPU501は、VDP504からの送信可否信号等に基づいて、VDP504をリセット(ビジーリセット)する。
しかしながら、液晶制御CPU501が異常状態(例えば、暴走やハングアップ)になっている場合には、液晶制御CPU501によるビジーリセット処理が適切に行われないことがある。このような場合に、演出制御CPU401は、液晶制御CPU501が異常であると判断して、液晶制御CPU501をリセットする。
具体的には、演出制御CPU401は、液晶制御CPU501と同様の判断基準(例えば、VDP504からの送信可否信号がLOレベル(BSY)になってから所定時間(例えば100msec)が経過したかどうか)によって、VDP504から出力される送信可否信号に基づいて、VDP504をリセット(ビジーリセット)すべき状況になったかどうかを判断する。、そして、VDP504をリセットすべき状況になったにもかかわらず液晶制御CPU501からVDP504へリセット信号が正常に出力されなかった場合には、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセットする。
なお、他の実施例として、VDP504をリセット(ビジーリセット)すべき状況になってから一定時間が経過しても、VDP504から出力される送信可否信号がHIレベル(RDY)にならない場合に、液晶制御CPU501によるVDP504のリセット処理(ビジーリセット)が正常に行われていないと判断し、演出制御CPU401が液晶制御CPU501をリセットするようにしてもよい。
同様に、演出制御CPU401は、液晶制御CPU501と同様の判断基準によって、サウンドIC505から出力される送信可否信号に基づいて、サウンドIC505をリセット(ビジーリセット)すべき状況になったかどうかを判断する。そして、サウンドIC505をリセットすべき状況になったにもかかわらず、液晶制御CPU501からサウンドIC505へリセット信号が正常に出力されなかった場合に、演出制御CPU401は、液晶制御CPU501をリセットする。
このように、例えば、液晶制御CPU501が、ビジーリセットによるリセット信号をVDP504(または、サウンドIC505)へ適正なタイミングで送信しないとき(リセット条件を満たしたにもかかわらず液晶制御CPU501がVDP504またはサウンドIC505をリセットしないときの一例に相当する)に、演出制御CPU401が液晶制御CPU501をリセットするため、演出制御CPU401が液晶制御CPU501を適切にリセットすることができる。
したがって、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)は、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)と、VDP504またはサウンドIC505(より一般的には、被制御装置、または下位制御装置によって動作を制御される制御装置)との間で送受信される信号(ここでは、送信可否信号:RDY/BSY)に基づいて、下位制御装置をリセットすることができるので、下位制御装置が異常状態となったときに当該下位制御装置を適切にリセットすることができる。
(演出制御CPU401による第4の信号監視リセット処理:エラー信号に基づくリセット処理)
次に、VDP504から液晶制御CPU501へ送信されるエラー信号(ERR)に基づく、演出制御CPU401による液晶制御CPU501のリセット処理について説明する。上述のように、液晶制御CPU501は、VDP504からのエラー信号等に基づいて、VDP504をリセット(エラーリセット)する。
しかしながら、液晶制御CPU501が異常状態(例えば、暴走やハングアップ)になっている場合には、液晶制御CPU501によるエラーリセット処理が適切に行われないことがある。このような場合に、演出制御CPU401は、液晶制御CPU501が異常であると判断して、液晶制御CPU501をリセットする。
具体的には、演出制御CPU401は、液晶制御CPU501と同様の判断基準(例えば、VDP504から一定時間以上エラー信号が継続して出力されているかどうか)によって、VDP504から出力されるエラー信号に基づいて、VDP504をリセット(エラーリセット)すべき状況になったかどうかを判断する。そして、VDP504をリセットすべき状況になったにもかかわらず液晶制御CPU501からVDP504へリセット信号が正常に出力されなかった場合には、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセットする。
なお、他の実施例として、VDP504をリセット(エラーリセット)すべき状況になってから一定時間が経過しても、VDP504からエラー信号が継続して出力されている場合に、液晶制御CPU501によるVDP504のリセット処理(エラーリセット)が正常に行われていないと判断し、演出制御CPU401が液晶制御CPU501をリセットするようにしてもよい。
同様に、演出制御CPU401は、液晶制御CPU501と同様の判断基準によって、サウンドIC505から出力されるエラー信号に基づいて、サウンドIC505をリセット(エラーリセット)すべき状況になったかどうかを判断する。そして、サウンドIC505をリセットすべき状況になったにもかかわらず、液晶制御CPU501からサウンドIC505へリセット信号が正常に出力されなかった場合に、演出制御CPU401は、液晶制御CPU501をリセットする。
このように、例えば、液晶制御CPU501が、エラーリセットによるリセット信号をVDP504(または、サウンドIC505)へ適正なタイミングで送信しないとき(リセット条件を満たしたにもかかわらず液晶制御CPU501がVDP504またはサウンドIC505をリセットしないときの一例に相当する)に、演出制御CPU401が液晶制御CPU501をリセットするため、演出制御CPU401が液晶制御CPU501を適切にリセットすることができる。
したがって、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)は、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)と、VDP504またはサウンドIC505(より一般的には、被制御装置、または下位制御装置によって動作を制御される制御装置)との間で送受信される信号(ここでは、エラー信号:ERR)に基づいて、下位制御装置をリセットすることができるので、下位制御装置が異常状態となったときに当該下位制御装置を適切にリセットすることができる。
なお、液晶制御CPU501がVDP504をリセットするためのリセット条件(第1リセット条件)と、液晶制御CPU501がサウンドIC505をリセットするためのリセット条件(第2リセット条件)とが異なっている場合も考えられる。この場合には、演出制御CPU401は、第1リセット条件を満たしたにもかかわらず液晶制御CPU501がVDP504をリセットしない場合、または、第2リセット条件を満たしたにもかかわらず液晶制御CPU501がサウンドIC505をリセットしない場合に液晶制御CPU501をリセットするようにしてもよい。
(リセット処理に関する動作フロー)
次に、リセット処理に関する演出制御CPU401および液晶制御CPU501の動作フローを説明する。ここでは、演出制御CPU401が液晶制御CPU501をリセットする処理に関連する動作フローだけを説明し、本発明に特に関係のないその他の処理の説明については省略する。また、液晶制御CPU501がVDP504やサウンドIC505をリセットするための処理に関する液晶制御CPU501の動作フローや、VDP504およびサウンドIC505の動作フローについては、以下の演出制御CPU401および液晶制御CPU501の動作フローの説明から当業者であれば容易に類推できるため、説明を省略する。
図6は、演出制御CPU401の動作フローを示すフローチャートである。演出制御基板および画像音響制御基板に電源が供給され、リセットIC405によるリセットが解除される(すなわち、リセットIC405から出力されるリセット信号がLOレベルからHIレベルに変化する)と、ステップS10において、演出制御CPU401は第2のウォッチドッグタイマのカウントを開始する。
ステップS11において、演出制御CPU401は、「信号監視リセット処理」を行う。この「信号監視リセット処理」は、前述のように、演出制御CPU401が、液晶制御CPU501と当該液晶制御CPU501によって制御される他の回路(具体的には、VDP504とサウンドIC505)との間で送受信される信号を監視し、当該信号に基づいて、液晶制御CPU501が異常状態になっていると推定される場合に、リセット信号によって液晶制御CPU501をリセットするための処理である。この「信号監視リセット処理」の詳細は、図7を参照して後述する。
ステップS12において、演出制御CPU401は、液晶制御CPU501からウォッチドッグタイマクリア信号を受信したかどうかを判断する。そして、液晶制御CPU501からウォッチドッグタイマクリア信号を受信した場合には、演出制御CPU401は第2のウォッチドッグタイマをクリアして、ステップS10に戻って再び第2のウォッチドッグタイマのカウントを開始する。一方、液晶制御CPU501からウォッチドッグタイマクリア信号を受信していない場合には処理はステップS13に進む。
ステップS13において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がLOレベル(BSY)かどうかを判断し、LOレベルである場合には処理はステップS14に進み、HIレベル(RDY)である場合には処理はステップS18に進む。
ステップS14において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がLOレベルである継続時間をカウントする。
ステップS15において、演出制御CPU401は、LOレベルの継続時間が所定時間(すなわち、液晶制御CPU501が正常に動作しているときではあり得ないような時間)を超えたかどうかを判断し、LOレベルの継続時間が所定時間を超えた場合には処理はステップS20に進み、そうでない場合には処理はステップS16に進む。
ステップS16において、演出制御CPU401は、液晶制御CPU501から出力される送信可否信号がHIレベル(RDY)かどうかを判断する。そして、液晶制御CPU501から出力される送信可否信号がHIレベルである場合(すなわち、液晶制御CPU501から出力される送信可否信号がLOレベルからHIレベルへ変化した場合)には、演出制御CPU401は第2のウォッチドッグタイマをクリアして、ステップS10に戻って再び第2のウォッチドッグタイマのカウントを開始する。一方、液晶制御CPU501から出力される送信可否信号が依然としてLOレベルである場合には、処理はステップS17に進む。
ステップS17において、演出制御CPU401は、ステップS11と同じく「信号監視リセット処理」(詳細は後述)を行い、そして処理はステップS14に戻って、引き続きLOレベルの継続時間のカウントを続行する。
ステップS18において、演出制御CPU401は、第2のウォッチドッグタイマの値が所定の閾値を超えたかどうかを判断し、第2のウォッチドッグタイマの値が閾値を超えた場合には処理はステップS19に進み、そうでない場合には処理はステップS11に戻る。
ステップS19において、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセット(ウォッチドッグリセット)する。具体的には、演出制御CPU401は、演出制御CPU401から出力されるリセット信号を一旦LOレベルにした後、所定時間後にHIレベルに戻す。これにより、液晶制御CPU501は異常状態から正常状態へと復帰する。そして、処理はステップS10に戻る。
ステップS20において、演出制御CPU401は、リセット信号によって液晶制御CPU501をリセット(ビジーリセット)する。具体的には、演出制御CPU401は、演出制御CPU401から出力されるリセット信号を一旦LOレベルにした後、所定時間後にHIレベルに戻す。これにより、液晶制御CPU501は異常状態から正常状態へと復帰する。そして、処理はステップS10に戻る。
次に、図7を参照して、信号監視リセット処理(図6のステップS11およびステップS17)の詳細を説明する。
ステップS111において、演出制御CPU401は、液晶制御CPU501からVDP504またはサウンドIC505へリセット信号が頻発しているかどうかを判断し、リセット信号が頻発している場合には、液晶制御CPU111に異常が生じている可能性もあるので、液晶制御CPU501をリセットするために処理はステップS115に進む。リセット信号が頻発していない場合には、処理はステップS112に進む。
ステップS112において、演出制御CPU401は、液晶制御CPU501によるウォッチドッグリセットが正常に行われていないかどうかを判断し、ウォッチドッグリセットが正常に行われていない場合には処理はステップS115に進み、そうでない場合には処理はステップS113に進む。
ステップS113において、演出制御CPU401は、液晶制御CPU501によるビジーリセットが正常に行われていないかどうかを判断し、ビジーリセットが正常に行われていない場合には処理はステップS115に進み、そうでない場合には処理はステップS114に進む。
ステップS114において、演出制御CPU401は、液晶制御CPU501によるエラーリセットが正常に行われていないかどうかを判断し、エラーリセットが正常に行われていない場合には処理はステップS115に進み、そうでない場合には処理を図6に示すフローチャートのステップS12へリターンする。
ステップS115において、演出制御CPU401は、液晶制御CPU501をリセットし(=リセット信号を送信し)、処理を図6に示すフローチャートのステップS12へリターンする。
図8は、液晶制御CPU501の動作フロー(演出制御CPU401との間のやりとりに関する部分のみ)を示すフローチャートである。演出制御基板および画像音響制御基板に電源が供給され、リセットIC405によるリセットが解除される(すなわち、リセットIC405から出力されるリセット信号がLOレベルからHIレベルに変化する)と、ステップS30において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベル(BSY)に設定する。
ステップS31において、液晶制御CPU501は、初期処理(演出制御CPU401からのコマンドを処理できるようにするための準備処理)を実行する。
初期処理が完了すると、ステップS32において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベルからHIレベル(RDY)に変更する。
ステップS33において、液晶制御CPU501は、送信データ信号を通じて演出制御CPU401から新たなコマンドを受け取ったかどうかを判断し、演出制御CPU401からコマンドを受け取った場合にはステップS34に進み、そうでない場合にはステップS37に進む。
ステップS34において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をHIレベルからLOレベル(BSY)に変更する。
ステップS35において、液晶制御CPU501は、演出制御CPU401から受け取ったコマンドを処理する。
コマンドの処理が完了すると、ステップS36において、液晶制御CPU501は、演出制御CPU401へ出力する送信可否信号をLOレベルからHIレベル(RDY)に変更し、ステップS33に戻る。
ステップS37において、液晶制御CPU501は、演出制御CPU401へウォッチドッグタイマクリア信号(パルス信号)を出力し、ステップS33に戻る。
以上のように、本実施形態によれば、液晶制御CPU501(より一般的には、下位制御装置、またはリセットされる側の制御装置)が異常状態となったときに、演出制御CPU401(より一般的には、上位制御装置、またはリセットする側の制御装置)が、液晶制御CPU501とVDP504およびサウンドIC505(より一般的には、被制御装置、または下位制御装置によって動作を制御される制御装置)との間で送受信される信号(RESET、WDTCLR、RDY/BSY、ERR)に基づいて、下位制御装置をリセットすることができるので、下位制御装置が異常状態となったときに当該下位制御装置を適切にリセットすることができる。
したがって、例えば、下位制御装置に異常が生じているにもかかわらず、下位制御装置から上位制御装置へパルス信号等(ここでは、送信可否信号:RDY/BSY、および、ウォッチドッグタイマクリア信号:WDTCLR)が正常に送信されている場合であっても、上位制御装置は、下位制御装置と被制御装置との間で送受信される信号(RESET、WDTCLR、RDY/BSY、ERR)に基づいて、下位制御装置を適切にリセットすることができる。
また、上述した実施形態では、上位制御装置が、下位制御装置と被制御装置との間で送受信される信号(RESET、WDTCLR、RDY/BSY、ERR)に基づいて、下位制御装置を適切にリセットする場合について説明したが、上位制御装置が、下位制御装置と被制御装置との間で送受信される信号(RESET、WDTCLR、RDY/BSY、ERR)のうち、少なくとも1つの信号に基づいて、下位制御装置をリセットする形態であればよい。
なお、上述した実施形態では、上位制御装置と下位制御装置の組み合わせの具体例として、演出制御CPU401と液晶制御CPU501の組み合わせを例示したが、上位制御装置と下位制御装置の組み合わせはこれらに限らない。
また、上述した実施形態では、下位制御装置は、初期処理中とコマンドの処理中において送信可否信号をLOレベル(BSY)にしているが、下位制御装置が送信可否信号をLOレベル(BSY)にするタイミングはこれらに限定されない。例えば、下位制御装置が通常の動作モードとは異なる動作モード(例えば検査モード)で動作する場合に、LOレベルの送信可否信号を出力するようにしてもよい。また例えば、下位制御装置が優先度の高い処理(例えば、リアルタイム性が要求される処理)を行う場合にのみ、LOレベルの送信可否信号を出力するようにしてもよい。
また、上述した実施形態における各種信号の形状(パルス信号)や状態(HIレベル、LOレベル)は単なる一例に過ぎず、同じ情報を伝えることができるのであれば、各種信号の形状や状態は任意である。
また、上述した実施形態では、上位制御装置は、下位制御装置の動作を監視するためのウォッチドッグタイマを、RAMを利用してカウントしているが、これに換えて、ウォッチドッグタイマ機能を有するIC等を利用してもよい。