(57)【要約】【課題】異常が発生していることを早期に検出することができる遊技機を提供する。【解決手段】副制御回路２１は、所定周期でタイマ割込信号を出力するタイマ割込信号出力回路２３からタイマ割込信号が出力されることによって、定常処理を実行する。ここで、異常検出手段は、タイマ割込信号が出力された時、前回のタイマ割込信号の出力による定常処理の実行が終了している場合には、今回の定常処理の実行を許可する。一方、前回のタイマ割込信号の出力による定常処理の実行が終了していない場合には、異常処理を実行する。【選択図】        図１
2004337201.tif 000002
【特許請求の範囲】
【請求項１】
遊技機に設けられている被制御機器を制御する制御手段と、所定周期で割込信号を出力する割込信号出力手段とを備え、制御手段は、割込信号出力手段から出力される割込信号を契機に定常処理を実行する、遊技機であって、
定常処理が実行される場合にリセットされ、定常処理の実行が終了した場合にセットされる処理段階識別フラグを出力する処理段階識別フラグ出力手段と、
割込信号出力手段から割込信号が出力された時、処理段階識別フラグがリセットされている場合に、異常が発生していることを検出する異常検出手段と、
を備える遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遊技機、特に、異常検出機能を備えた遊技機に関する。
【０００２】
【従来の技術】
遊技機、例えば、パチンコ機には、制御装置、被制御機器等が設けられている。制御装置としては、主制御装置や、ランプ制御装置、音制御装置、表示制御装置、賞球制御装置等の被制御機器制御装置が設けられており、被制御機器としては、ＬＥＤ等のランプ、スピーカ、液晶表示装置等の表示装置、賞球装置、遊技者に有利な状態を発生させる大入賞口を開閉する開閉部材の駆動装置等が設けられている。
各制御装置には制御回路（ＣＰＵ）が設けられており、制御回路は、記憶回路に記憶されているプログラムに基づいて定常処理（メインルーチンや割込ルーチン等で実行される）を実行する。例えば、主制御装置に設けられている制御回路（主制御回路）は、始動信号や入賞信号等の入力信号と記憶回路に記憶されている制御プログラム等に基づいて、各制御装置にコマンド信号を出力する。また、各被制御機器制御装置に設けられている制御回路（ランプ制御回路、音制御回路、表示制御回路、賞球制御回路等）は、主制御回路から出力されるコマンド信号と記憶装置に記憶されている制御プログラム等に基づいて被制御機器を制御する。
【０００３】
ところで、制御回路がプログラムに基づいて定常処理を実行している時、ノイズ等の発生によって制御回路が正常に動作しなくなり、制御回路が、定常処理を正常に終了できなくなることがある（以下、「プログラムの暴走」という）。
従来、このようなプログラムの暴走を検出するために、ウォッチドッグタイマ回路が設けられている。このウオッチドッグタイマ回路は、制御回路が定常処理の実行を開始する前にリセットされるように構成されている。また、ウオッチドッグタイマ回路がタイムアップすると、制御回路がリセットされるように構成されている。
これにより、制御回路が定常処理の実行を開始してから、ウオッチドッグタイマ回路に設定されている設定時間経過しても定常処理の実行が終了しない場合には（ウォッチドッグタイマ回路がタイムアップする前にリセットされない場合には）、プログラムの暴走が発生していると判断し、制御回路をリセットする。
【０００４】
【特許文献１】
特開２００１−１９０８０２号公報
【０００５】
【発明が解決しようとする課題】
プログラムの暴走等の異常が発生している状態では遊技機の動作が不安定になるため、このような異常状態はできるだけ早期に検出することが望ましい。
ウオッチドッグタイマ回路を用いてプログラムの暴走等の異常が発生していることを検出する方法を用いる場合、異常検出の誤動作を防止するために、ウオッチドッグタイマ回路の設定時間（タイムアウト時間）を余裕をもって設定する必要がある。このため、プログラムの暴走等の異常が発生していることを検出する時間を短縮するには限界がある。
本出願人は、プログラムの暴走等の異常状態を検出する期間を短縮する方法を種々検討した結果、定常処理が所定周期で出力されるタイマ割込信号によって実行される場合には、タイマ割込信号を用いることによって定常処理の実行が正常に終了したか否か、すなわち、プログラムの暴走を検出することができることを見出した。この場合、例えば、ウオッチドッグタイマ回路の設定時間が数十ｍｓに設定されるのに対し、タイマ割込信号の出力周期（出力時間間隔）が１６ｍｓであるため、プログラムの暴走を早期に検出することができる。
なお、メインルーチン（メイン処理）の実行中に、タイマ割込信号が出力されることによってタイマ割込ルーチン（タイマ割込処理）を実行する場合、メインルーチンの実行に要する処理時間に対応する設定時間が設定されているウオッチドッグタイマ回路と、タイマ割込ルーチンが終了した時にセットされる確認フラグを設け、メインルーチンの実行を終了した時に確認フラグが設定されている場合にのみウオッチドッグタイマ回路をリセットするように構成した遊技機が提案されている。（特許文献１参照）
しかしながら、この遊技機は、ウオッチドッグタイマ回路を用いてタイマ割込ルーチンが正しく実行されているか否かを検出するものであるため、ウオッチドッグタイマ回路に設定されている設定時間経過しなければ、タイマ割込ルーチンが正しく実行されていないこと、すなわち異常が発生していることを検出することができない。
したがって、本願発明は、プログラムの暴走等の異常が発生したことを早期に検出することができる遊技機あるいは遊技機における異常検出方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前記課題を解決するための本発明の第１発明は、請求項１に記載されたとおりの遊技機である。
請求項１に記載の遊技機では、所定周期で出力される割込信号を契機に制御手段が定常処理を実行する場合にリセットされ、制御手段が定常処理の実行を終了した場合にセットされる処理段階識別フラグを出力する処理段階識別フラグ出力手段と、割込信号出力手段から割込信号が出力された時、処理段階識別フラグがリセットされている場合に、異常が発生していることを検出する異常検出手段を備えている。これにより、プログラムの暴走等の異常状態が発生していることを割込信号の出力周期（出力時間間隔）で検出することができるため、異常状態が発生していることを早期に検出することができる。
【０００７】
【発明の実施の形態】
以下に、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の遊技機の第１の実施の形態の概略構成図である。本実施の形態は、本発明をパチンコ機として構成したものである。
本実施の形態は、主制御装置１０、被制御機器制御装置（副制御装置２０、表示制御装置３０等）、被制御機器（スピーカ２５、ランプ２６、表示装置５２等）により構成されている。副制御装置２０と表示制御装置３０は、副制御装置２０が上流側（主制御装置１０に近い側）に、表示制御装置が下流側（主制御装置１０から遠い側）に配置されるように、主制御装置１０に直列に接続されている。
【０００８】
主制御装置１０は、主制御回路（ＣＰＵ）１１、記憶回路１２等を有している。
記憶回路（記憶手段）１２には、抽選結果を判定する当たり判定用乱数を発生させる当たり判定用乱数発生プログラム、表示装置３５に表示する変動パターンを決定する変動パターン用乱数を発生させる変動パターン用乱数発生プログラム、表示装置３５に表示する停止図柄を決定する停止図柄用乱数を発生させる停止図柄用乱数発生プログラム、制御プログラム等が記憶されている。
主制御回路（主制御手段）１１は、入力信号（遊技球が入賞口に入賞したことを示す入賞信号、遊技球が始動口に入賞したことを示す始動信号等）や記憶回路１２に記憶されているプログラム等に基づいて、各被制御機器制御装置（被制御機器制御回路）へのコマンド信号等を出力する。例えば、ランプコマンド信号や音コマンド信号を副制御装置２０（副制御回路２１）に、変動パターンコマンド信号や停止図柄コマンド信号等を副制御装置２０（副制御回路２１）を介して表示制御装置３０（表示制御回路３１）に出力する。
なお、図示はしていないが、主制御回路１１は、副制御回路２１や表示制御回路３１以外の種々の被制御回路にもコマンド信号を出力する。例えば、賞球を払い出す賞球装置（被制御機器）を制御する賞球制御回路への賞球コマンド信号、遊技者に有利な特別遊技状態を発生させる特別入賞口の開閉部材を開閉駆動する駆動装置（被制御機器）に、開閉部材の開制御信号または閉制御信号（コマンド信号）を出力する。
【０００９】
副制御装置２０は、副制御回路（ＣＰＵ）２１、記憶回路２２等を有している。
記憶回路（記憶手段）２２には、音コマンド信号に対応する音制御信号、ランプコマンド信号に対応するランプ制御信号や制御プログラム等が記憶されている。
副制御回路（副制御手段）２１は、例えば、主制御回路１１から出力された音コマンド信号やランプコマンド信号に基づいて記憶回路２２から音制御信号やランプ制御信号を読み取り、スピーカ（音発生手段）２５やランプ（発光手段）２６を制御する。
また、副制御回路２１は、主制御回路１１から出力されたコマンド信号が下流側に配置されている表示制御装置３０（表示制御回路３１）へのコマンド信号である場合には、そのコマンド信号を下流側に出力する。
なお、副制御装置２０は、スピーカ２５を制御する音制御装置とランプ２６を制御するランプ制御装置として構成することもできる。
【００１０】
表示制御装置３０は、表示制御回路（ＣＰＵ）３１、記憶回路３２等を有している。
記憶回路（記憶手段）３２には、変動パターンコマンド信号や停止図柄コマンド信号等に対応する表示制御信号が記憶されている。
表示制御回路（表示制御手段）３１は、副制御回路２１を介して入力された変動パターンコマンド信号や停止図柄コマンド信号等に基づいて記憶回路３２から表示制御信号を読み出し、表示装置（表示手段）３５を制御する。この時、例えば、表示装置３５が左図柄表示部、中図柄表示部、右図柄表示部を有している場合には、各図柄表示部を制御する。
【００１１】
本実施の形態では、主制御回路１１、副制御回路２１、表示制御回路３１等が本発明の制御手段（制御回路）に対応する。
【００１２】
制御回路、例えば、主制御回路１１、副制御回路２１、表示制御回路３１等は、所定周期で出力されるタイマ割込信号により定常処理を実行するように構成されている。なお、タイマ割込信号により実行される定常処理によって一連の処理、例えば、図柄の変動パターンや停止表示等の表示処理や、スピーカやランプによる演出処理が実行される。また、定常処理は、メインルーチンにおいて実行される場合もあるし、タイマ割込ルーチンで実行される場合もある。
本実施の形態では、タイマ割込信号が出力される毎に制御回路が定常処理の実行を正常に終了しているか否か、例えば、プログラムの暴走等の異常が発生しているか否かを検出している。
以下では、副制御回路２１について、プログラムの暴走等の異常が発生しているか否かを検出する場合について説明する。
副制御装置２０には、所定周期（例えば、１６ｍｓ）でタイマ割込信号を出力するタイマ割込信号出力回路（タイマ割込信号出力手段）２３が設けられている。
また、副制御回路２１は、タイマ割込信号の出力によって定常処理を実行するとともに、タイマ割込信号によって実行される定常処理が正常に実行されたか否かを検出する異常検出処理を実行する。すなわち、本実施の形態では、副制御回路（副制御手段）２１は、異常検出処理を実行する異常検出手段としての機能も備えている。
なお、タイマ割込信号出力回路２３から出力されるタイマ割込信号により実行される正常処理の正常時の実行時間は、タイマ割込信号出力回路２３から出力されるタイマ割込信号の周期（時間間隔）より短い。
【００１３】
次に、本実施の形態の異常検出処理について、図２及び図３に示すフローチャート図により説明する。なお、図２はメインルーチン（メイン処理）の動作を示し、図３はタイマ割込ルーチン（タイマ割込処理）の動作を示している。タイマ割込ルーチンは、タイマ割込信号出力回路２３からタイマ割込信号が出力されることによって実行される。
本実施の形態では、定常処理は、メインルーチンで実行される。また、定常処理が正常に実行されているか否か、例えば、プログラムの暴走等の異常が発生しているか否かを検出する処理（異常検出処理）は、タイマ割込ルーチンで実行される。また、後述する動作フラグをセットする処理及びリセットする処理は、メインルーチンで実行される。
本実施の形態の「動作フラグ」が本発明の「処理段階識別フラグ」に対応し、動作フラグを記憶する記憶回路が本発明の「処理段階識別フラグ出力手段」に対応する。
【００１４】
まず、メインルーチンの動作を、図２に示すフローチャート図に基づいて説明する。
例えば、電源スイッチがオンされて電源回路から出力される電力の電圧が副制御回路２１の動作電圧に達すると、副制御回路２１は、リセット処理を実行した後、図２に示すステップＡ１において動作フラグをセット（例えば、動作フラグを「１」に設定）する。
そして、ステップＡ２において、タイマ割込フラグがセットされているか否か（例えば、タイマ割込フラグが「１」であるか否か）を判断する。タイマ割込フラグがセットされていない場合にはステップＡ２の処理を繰り返し、タイマ割込フラグがセットされている場合にはステップＡ３に進む。すなわち、ステップＡ２では、タイマ割込フラグがセットされるまで（定常処理の実行が許可されるまで）待機する。
ステップＡ３では、タイマ割込フラグをリセット（例えば、タイマ割込フラグを「０」に設定）するとともに、動作フラグをリセット（例えば、動作フラグを「０」に設定）する。
そして、ステップＡ４において、スピーカ２５からの効果音の発生、ランプ２６の点灯、表示コマンド（変動パターンコマンドや停止図柄コマンド等）の送信等の定常処理を実行する。なお、ステップＡ４の定常処理を順次実行することによって、スピーカ２５から所定のパターンの効果音が発生し、ランプ２６が所定の装飾パターンで点灯する。
ステップＡ４での定常処理の実行が終了すると、ステップＡ１に戻って動作フラグをセットした後、ステップＡ２でタイマ割込フラグがセットされるまで待機する。
【００１５】
次に、タイマ割込ルーチンの動作を、図３に示すフローチャート図により説明する。タイマ割込ルーチンは、メインルーチンの動作中にタイマ割込信号出力回路２３からタイマ割込信号が出力されることにより実行される。
タイマ割込信号出力回路２３からタイマ割込信号が出力されると、ステップＢ１において、動作フラグがセットされているか否か（例えば、動作フラグが「１」であるか否か）を判断する。すなわち、前回のタイマ割込信号による、メインルーチンのステップＡ４での定常処理が正常に終了しているか否かを判断する。動作フラグがセットされている場合にはステップＢ２に進み、動作フラグがセットされていない場合（リセットされている場合）にはステップＢ３に進む。
ステップＢ２では、前回のタイマ割込信号による定常処理が正常に終了していると判断し、タイマ割込フラグをセット（例えば、タイマ割込フラグを「１」に設定）して定常処理の実行を許可した後、メインルーチンに戻る。
ステップＢ３では、前回のタイマ割込信号による定常処理が正常に終了していない、すなわち、プログラムの暴走等の異常が発生していると判断し、異常処理を実行する。この場合、タイマ割込フラグがセットされないため、定常処理の実行が許可されない（禁止される）。
【００１６】
ここで、ウオッチドッグタイマ回路を用いてプログラムの暴走等の異常が発生していることを検出する方法を用いる場合には、異常が発生していることを検出した時の異常処理方法として、制御回路をリセットする方法が用いられる。
しかしながら、制御回路をリセットする異常処理方法を用いた場合には、例えば、表示装置には図柄が変動表示されているが、音や光による演出が行われないという事態が生じる。例えば、遊技球が始動口に入賞し、表示制御回路３１によって表示装置３５に図柄が変動表示されていると共に、副制御回路２１によってスピーカ２５やランプ２６による音や光の演出が行われている状態で、副制御回路２１にプログラムの暴走等の異常が発生して副制御回路２１がリセットされると、表示装置３５での図柄の変動表示は継続されるが、スピーカ２５やランプ２６による音や光の演出が停止される。このような状態になると、遊技者が不安感を抱く。
これに対し、本実施の形態では、制御回路（例えば、副制御回路２１）にプログラムの暴走等の異常が発生していることを検出する方法として、タイマ割込信号が出力された時点で、動作フラグがセットされているか否かを判断する方法を用いているため、ソフトウェアで処理することができる。例えば、定常処理の最後で、記憶手段の所定領域に記憶されているデータ等のチェックサム値を算出して保存するように構成している場合には、異常を検出した時点に記憶手段の所定領域に記憶されているデータ等のチェックサム値を算出し、保存しているチェックサム値と比較する。そして、両者が一致する場合には、その情報を復旧情報として遊技を継続させる。一方、両者が一致しない場合には、ＣＰＵを停止状態（ＨＡＬＴ）にすることによって遊技機が不安定な状態に陥ることを排除し、ウォッチドッグタイマ回路によるリセットを待つように構成する。このように、プログラムの暴走等の異常が制御回路に発生していることを検出した時の異常処理方法として、プログラムにより、場合（異常が発生している状態等）に応じて、制御回路をリセットする方法あるいは所定の復旧処理を実行する方法を選択することができる。
【００１７】
本実施の形態とウオッチドッグタイマ回路を用いた従来例の、プログラムの暴走等の異常が発生していることを検出する動作（異常検出動作）を、図４のタイムチャート図に示す。なお、図４（ａ）は本実施の形態の動作を示し、図４（ｂ）はウオッチドッグタイマ回路を用いた従来例の動作を示している。
ウオッチドッグタイマ回路を用いて異常が発生していることを検出する場合には、図４（ｂ）に示すように、ウオッチドッグタイマ回路の設定時間として、タイマ割込信号の周期（例えば、１６ｍｓ）より長い、余裕を持った時間（例えば、３２ｍｓ）が設定されるため、プログラムの暴走等の異常が発生したことを検出するのに、最大３２ｍｓ要する。
一方、本実施の形態では、図４（ａ）に示すように、タイマ割込信号が出力される毎に異常が発生している否かを判断するため、プログラムの暴走等の異常が発生したことを１６ｍｓ以内で検出することができる。
【００１８】
以上のように、本実施の形態では、タイマ割込信号出力回路２３からタイマ割込信号が出力された時に、動作フラグがセットされている場合、すなわち、前回のタイマ割込信号の出力による定常処理が正常に終了している場合（例えば、図２に示すタイマ割込処理（正常時）のタイミングでタイマ割込信号が出力された場合）には、タイマ割込フラグをセットして、定常処理の実行を許可する。
一方、タイマ割込信号が出力された時に、動作フラグがセットされていない（リセットされている）場合、すなわち、前回のタイマ割込信号の出力による定常処理が正常に終了していない場合（例えば、図２に示すタイマ割込処理（異常時）のタイミングでタイマ割込信号が出力された場合）には、制御回路にプログラムの暴走等の異常が発生していることを検出する。
したがって、タイマ割込信号の出力周期（出力時間間隔）で異常が発生していることを検出することができるため、ウオッチドッグタイマ回路を用いる場合に比して、早期に検出することができる。
なお、制御回路に異常が発生していることを検出した時の異常処理方法としては、種々の方法を用いることができる。
【００１９】
第１の実施の形態では、定常処理及び動作フラグをセットする処理をメインルーチンで実行したが、定常処理や動作フラグをセットする処理はメインルーチンとタイマ割込ルーチンのいずれで実行してもよい。
定常処理をタイマ割込ルーチンで実行し、動作フラグをセットする処理をメインルーチンで実行する第２の実施の形態の動作を、図５及び図６に示すフローチャート図により説明する。なお、図５はメインルーチンの動作を示し、図６はタイマ割込ルーチンの動作を示している。
【００２０】
まず、本実施の形態のメインルーチンの動作を、図５に示すフローチャート図に基づいて説明する。
例えば、電源スイッチがオンされて電源回路から出力される電力の電圧が副制御回路２１の動作電圧に達すると、副制御回路２１は、リセット処理を実行した後、図５に示すステップＭ１において動作フラグをセットする。
次に、ステップＭ２において、タイマ割込フラグがセットされているか否かを判断する。タイマ割込フラグセットされていない（リセットされている）場合にはステップＭ２の処理を繰り返し、タイマ割込フラグがセットされている場合にはステップＭ３に進む。
ステップＭ３では、タイマ割込フラグをリセットした後ステップＭ１に戻る。
ステップＭ１では、動作フラグをセットした後、ステップＭ２でタイマ割込フラグがセットされるまで待機する。
【００２１】
次に、本実施の形態のタイマ割込ルーチン（タイマ割込処理）の動作を、図６に示すフローチャート図により説明する。
タイマ割込信号出力回路２３からタイマ割込信号が出力されると、ステップＮ１において、動作フラグがセットされているか否かを判断する（異常検出）。動作フラグがセットされている場合にはステップＮ２に進み、動作フラグがセットされていない場合にはステップＮ４に進む。
ステップＮ２では、タイマ割込フラグをセットするとともに、動作フラグをリセットした後、ステップＮ３に進む。
ステップＮ３では、定常処理を実行する。定常処理が終了すると、メインルーチンに戻る。
ステップＮ４では、前回のタイマ割込信号による定常処理が正常に終了していない、すなわち、プログラムの暴走等の異常が発生していると判断し、異常処理を実行する。異常処理方法としては、例えば、第１の実施の形態と同様の方法を用いることができる。
【００２２】
第２の実施の形態においても、第１の実施の形態と同様に、タイマ割込信号出力回路２３からタイマ割込信号が出力された時に、動作フラグがセットされている場合（例えば、図５に示すタイマ割込処理（正常時）のタイミングでタイマ割込信号が出力された場合）には、定常処理を実行する。
一方、タイマ割込信号が出力された時に、動作フラグがセットされていない（リセットされている）場合（例えば、図６に示すタイマ割込処理（異常時）のタイミングでタイマ割込信号が出力された場合）には、制御回路にプログラムの暴走等の異常が発生していることを検出する。
したがって、タイマ割込信号の出力周期（出力時間間隔）で異常が発生していることを検出することができるため、ウオッチドッグタイマ回路を用いる場合に比して、早期に検出することができる。
【００２３】
定常処理及び動作フラグをセットする処理をタイマ割込ルーチンで実行する第３の実施の形態の動作を、図７及び図８に示すフローチャート図により説明する。なお、図７はメインルーチンの動作を示し、図８はタイマ割込ルーチンの動作を示している。
【００２４】
まず、本実施の形態のメインルーチンの動作を、図７に示すフローチャート図に基づいて説明する。
例えば、電源スイッチがオンされて電源回路から出力される電力の電圧が副制御回路２１の動作電圧に達すると、副制御回路２１は、リセット処理を実行した後、図７に示すステップＳ１において動作フラグをセットする。
次に、ステップＳ２において、タイマ割込フラグがセットされているか否かを判断する。タイマ割込フラグセットされていない（リセットされている）場合にはステップＳ２の処理を繰り返し、タイマ割込フラグがセットされている場合にはステップＳ３に進む。
ステップＳ３では、タイマ割込フラグをリセットした後ステップＳ２に戻る。
ステップＳ２では、タイマ割込フラグがセットされるまで待機する。
【００２５】
次に、本実施の形態のタイマ割込ルーチン（タイマ割込処理）の動作を、図８に示すフローチャート図により説明する。
タイマ割込信号出力回路２３からタイマ割込信号が出力されると、ステップＴ１において、動作フラグがセットされているか否かを判断する（異常検出）。動作フラグがセットされている場合にはステップＴ２に進み、動作フラグがセットされていない場合にはステップＴ５に進む。
ステップＴ２では、タイマ割込フラグをセットするとともに、動作フラグをリセットした後、ステップＴ３に進む。
ステップＴ３では、定常処理を実行する。
定常処理を終了すると、ステップＴ４で、動作フラグをセットする。
ステップＴ５では、前回のタイマ割込信号による定常処理が正常に終了していない、すなわち、プログラムの暴走等の異常が発生していると判断し、異常処理を実行する。異常処理方法としては、例えば、第１の実施の形態と同様の方法を用いることができる。
【００２６】
第３の実施の形態においても、第１の実施の形態と同様に、タイマ割込信号出力回路２３からタイマ割込信号が出力された時に、動作フラグがセットされている場合（例えば、図７に示すタイマ割込処理（正常時）のタイミングでタイマ割込信号が出力された場合）には、定常処理を実行する。
一方、タイマ割込信号が出力された時に、動作フラグがセットされていない（リセットされている）場合（例えば、図８に示すタイマ割込処理（異常時）のタイミングでタイマ割込信号が出力された場合）には、制御回路にプログラムの暴走等の異常が発生していることを検出する。
したがって、タイマ割込信号の出力周期（出力時間間隔）で異常が発生していることを検出することができるため、ウオッチドッグタイマ回路を用いる場合に比して、早期に検出することができる。
【００２７】
なお、第１〜第３の実施の形態は、制御回路にプログラムの暴走等の異常が発生していることを検出する以外の目的にも用いることができる。
例えば、本実施の形態は、タイマ割込信号の出力周期（出力時間間隔）内に定常処理の実行が終了しているか否かを検出するものであるため、プログラムのデバック時に、プログラムされている処理が所定の処理時間（タイマ割込信号の出力周期）を越えているか否かを検出するために用いることができる。
【００２８】
第１〜第３の実施の形態は、種々の変更、追加、削除が可能である。
例えば、副制御回路にプログラムの暴走等の異常が発生していることを検出する場合について説明したが、所定周期で出力されるタイマ割込信号に起因して所定の処理を実行する制御回路であれば、種々の制御回路、例えば、主制御回路、表示制御回路、賞球制御回路等にプログラムの暴走等の異常が発生していることを検出するために用いることができる。この場合、タイマ割込信号出力回路を各制御回路毎に設けてもよいし、複数の制御回路に共通に設けてもよい。
また、異常検出手段の処理については、適宜変更可能である。
また、動作フラグ（処理段階識別フラグ）によってタイマ割込信号により実行される定常処理（所定の処理）の実行が終了していることを示し、タイマ割込フラグによってタイマ割込信号により実行される定常処理（所定の処理）の実行の許可を示したが、定常処理（所定の処理）の実行が終了していること、タイマ割込信号により実行される定常処理（所定の処理）の実行を許可することを示す信号としては、フラグに限定されず種々の信号を用いることができる。
また、タイマ割込信号が出力された時、動作フラグ（処理段階識別フラグ）がセットされていない（リセットされている）場合には、タイマ割込フラグをリセットの状態として定常処理（所定の処理）の実行を禁止したが、定常処理の実行を禁止しないように構成することもできる。
【００２９】
ところで、制御回路（例えば、主制御回路、副制御回路、表示制御回路、賞球制御回路等）が実行する処理（例えば、前述したタイマ割込信号の出力によって実行される定常処理）には、記憶回路にデータを書き込む書込処理や、記憶回路に記憶されているデータを読み取る読取処理が含まれる。
ここで、例えば、ノイズ等の発生によって記憶回路に記憶されているデータが変化することがある。このような正常でないデータを記憶回路から読み取って処理を実行すると、誤動作する可能性がある。
このため、従来、タイマ割込信号の出力によって定常処理の実行を終了した時点で、記憶回路に記憶されているデータのチェックサムを算出してサブエリアに書き込み、次回のタイマ割込信号の出力によって定常処理を実行する時に、記憶回路に書き込まれているデータのチェックサムを算出するとともに、当該データに対応して書き込まれているチェックサムと比較し、一致している場合には当該データを有効とし、一致していない場合には当該データが異常であることを検出する遊技機が知られている。（例えば、特許第２７７２２９３号公報）
【００３０】
しかしながら、この従来の遊技機では、制御回路が、タイマ割込信号によって定常処理を実行している時に、記憶回路に異常なデータが書き込まれた場合には、当該データが異常であること、すなわち、異常が発生していることを検出することができない。この場合には、異常なデータを記憶回路から読み取って処理を実行することになり、誤動作する可能性がある。
例えば、図１１に示すように、制御回路は、所定周期（例えば、１６ｍｅ）でタイマ割込信号を出力するタイマ割込信号出力回路からタイマ割込信号が出力されると、定常処理（所定の処理）を実行する。この定常処理には、所定のアクセスタイミングで記憶回路（例えば、ＲＡＭ）にデータを書き込む書込処理や、所定のアクセスタイミングで記憶回路（例えば、ＲＡＭ）に書き込まれているデータを読み取る読取処理が含まれている。
【００３１】
この定常処理を実行している時に、例えば、プログラムが暴走して記憶回路に書き込まれているデータが異常となることがある。
ここで、例えば、ウオッチドッグタイマ回路が設けられている場合には、定常処理がウオッチドッグタイマ回路に設定されている設定時間内に終了しないことによって異常が発生していることを検出することができる。あるいは、前述した異常検出手段が設けられている場合には、定常処理がタイマ割込信号の出力周期内に終了しないことによって異常であることを検出することができる。
しかしながら、例えば、ウオッチドッグタイマ回路がタイムアウトする前に、偶然に制御回路がプログラムの暴走状態から定常状態に復帰すると、制御回路は、記憶回路に記憶されている異常なデータを読み出して処理することになり、誤動作する可能性がある。
また、制御回路は、定常処理の実行を終了すると、記憶回路に記憶されているデータをバックアップする。この場合には、異常なデータがそのままバックアップされてしまう。
このため、制御回路が所定処理を実行している時に、プログラムの暴走等によって記憶回路に異常なデータが記憶されたこと、すなわち、異常が発生していることを早期に検出することができる遊技機が要望されている。
【００３２】
以下に、制御回路が定常処理（所定の処理）を実行している時に、記憶回路に異常なデータが記憶されていること等の異常を早期に検出することができる、本発明の第４の実施の形態を説明する。なお、本実施の形態は、前述した、第１〜第３の実施の形態と組み合わせることもできる。
本実施の形態は、図１に示した実施の形態と同様の構成を有している。
また、制御回路（主制御回路１１、副制御回路２１、表示制御回路３１、賞球制御回路等）は、タイマ割込信号の出力によって定常処理（所定の処理）を実行する機能と、記憶回路に記憶されているデータが異常であるか否か、すなわち、異常が発生しているか否かを検出するデータ判定手段の機能を備えている。
【００３３】
本実施の形態の動作を図９及び図１０に示す動作図により説明する。図９は、正常時の動作を示し、図１０は、定常処理を実行している際に異常が発生した時の動作を示している。
まず、正常時の動作を説明する。
制御回路（例えば、副制御回路２１）は、タイマ割込信号出力回路２３からタイマ割込信号が出力されると、定常処理（所定の処理）を実行する。
この定常処理では、所定のアクセスタイミングで記憶回路（ＲＡＭ）にデータを書き込む書込処理や、所定のアクセスタイミングで記憶回路（ＲＡＭ）に書き込まれているデータを読み取る読取処理等を実行する。本実施の形態では、記憶回路にデータを書き込む時（書込処理時）や、記憶回路に書き込まれているデータを読み取る時（読取処理時）には、アクセスプログラムを介して記憶回路にアクセスする。このアクセスプログラムによって、記憶回路に書き込まれているデータが異常であるか否か、すなわち、異常が発生しているか否かを検出するデータ判定手段の機能が実行される。
本実施の形態では、アクセスプログラムによって記憶回路にアクセスする制御回路が、本発明の「データ判定手段」に対応する。
【００３４】
制御回路は、所定のアクセスタイミングにおいて、記憶回路にデータを書き込むために、アクセスプログラムを介して記憶回路にアクセスする。アクセスプログラムは、制御回路が記憶回路へのデータの書込処理を実行する場合には、例えば、記憶回路のメイン領域にデータを書き込むとともに、そのデータに対応する整合用データを記憶回路のサブ領域に書き込む。データに対応する整合用データとしては、例えば、そのデータと同じデータや、そのデータに基づいて算出したチェックサム値等を用いることができる。
【００３５】
また、制御回路は、所定のアクセスタイミングにおいて、記憶回路に書き込まれているデータを読み取るために、アクセスプログラムを介して記憶回路にアクセスする。アクセスプログラムは、記憶回路からデータを読み取る場合には、そのデータとそのデータに対応する整合用データに基づいて、整合性、すなわち、記憶回路のメイン領域に記憶されているデータが異常であるか否かを判断する。例えば、整合用データとしてデータと同じデータを用いる場合には、記憶回路のメイン領域に書き込まれているデータと、記憶回路のサブ領域に書き込まれている、そのデータに対応する整合用データを比較する。また、整合用データとして、データに基づいて算出したチェックサム値を用いる場合には、記憶回路のメイン領域に書き込まれているデータに基づいて算出したチェックサム値と、記憶回路のサブ領域に書き込まれている、そのデータに対応する整合用データを比較する。そして、両者が一致する場合には、そのデータの読み取りを許可し、両者が一致していない場合には、そのデータが異常なデータであること、すなわち、異常が発生していることを検出する。
図９に示す例では、異常が発生していないため、整合性のチェック結果が「正常」であり、記憶回路のメイン領域に書き込まれているデータの読み取りを許可する。
なお、記憶回路にデータを書き込む時、記憶回路に書き込むデータを記憶回路に書き込まれているデータから算出する場合（例えば、記憶回路に書き込まれているデータに所定値を加算あるいは減算した加算値あるいは減算値を記憶回路に書き込む場合、記憶回路に書き込まれている複数のデータの加算値あるいは減算値を記憶回路に書き込む場合）には、新しいデータを算出するために用いるデータについて、整合性のチェックを実行するのが好ましい。
【００３６】
そして、制御回路は、定常処理の実行を終了すると、記憶回路のメイン領域に書き込まれているデータのバックアップデータを、例えば、記憶回路のサブ領域に書き込む。バックアップデータとしては、データと同じデータあるいはデータに基づいて算出したチェックサム値を用いることができる。
このバックアップデータは、例えば、次のタイマ割込信号が出力されて定常処理を実行する時に、記憶回路のメイン領域に記憶されているデータが異常でないか否かを判定（検出）する際に用いられる。
【００３７】
次に、異常が発生した時の動作を説明する。
制御回路は、定常処理を実行する時、記憶回路にデータを書き込む場合（書込処理を実行する場合）には、アクセスプログラムを介して記憶回路にアクセスする。この時、記憶回路のメイン領域にデータが書き込まれるとともに、記憶回路のサブ領域に整合用データ（例えば、データと同じデータ、データに基づいて算出したチェックサム値）が書き込まれる。また、記憶回路のメイン領域に書き込まれているデータを読み取る場合（読取処理を実行する場合）には、メイン領域に書き込まれているデータと、サブ領域に書き込まれている、そのデータに対応する整合用データとに基づいて、メイン領域に書き込まれているデータが異常であるか否かを判定する（データ判定）。データが異常であることを判定した場合には、異常処理を実行する（異常処理については後述する）。
【００３８】
ここで、タイマ割込信号の出力によって定常処理を実行中に、制御回路にプログラムの暴走等の異常が発生し、記憶回路のメイン領域に書き込まれているデータの一部あるいは全部が異常となったものとする。また、何らかの理由で、制御回路が、タイマ割込信号の出力周期内あるいはウオッチドッグタイマ回路の設定時間内に定常処理状態に復帰した場合を考える。
制御回路は、定常処理状態に復帰することによって、例えば、所定のアクセスタイミングで、記憶回路に書き込まれているデータを読み取るために、アクセスプログラムを介して記憶回路にアクセスする。この時、アクセスプログラムは、記憶回路に記憶されているデータとそのデータに対応する整合用データに基づいて整合性をチェックする。そして、データの整合性のチェック結果が「正常」である場合には、そのデータの読み取りを許可し、整合性のチェック結果が「異常」である時には、そのデータが異常であることを検出し、異常処理を実行する。異常処理としては、例えば、制御回路の定常処理を中止させる方法が用いられる。
【００３９】
ここで、記憶回路に書き込まれているデータが異常であると判定された場合でも、異常であると判定されたデータに関連するデータをデフォルト値に書き替えることにより、遊技を続行することができることがある。遊技者が遊技を行っている場合には、遊技の中断はできるだけ避けるのが好ましい。したがって、このような場合には、異常処理として、異常であると判定されたデータに関連するデータをデフォルト値に書き替える方法を用いる。
例えば、副制御回路２１の場合、音やランプの現在の演出パターン番号や、その演出パターンの進行状況を示す参照位置等を示すデータが記憶回路に記憶される。また、表示制御回路３１に送信する、主制御回路１１から出力された左、中、右停止図柄コマンド信号や、演出パターン番号に対応して副制御回路２１が選択した予告キャラクタ情報（リーチあるいは大当たりの予告として表示演出中に登場させるキャラクタを示す情報）、確率変動状態（抽選の結果が当たりとなる確率が高い状態）等を示すデータも記憶回路に書き込まれる。
この時、データが異常であると判定された場合であっても、次のような処理を行うことで遊技を継続することができる。
例えば、予告キャラクタ情報が、外れ時に登場する予告キャラクタを示す予告キャラクタ情報から大当たり時に登場する予告キャラクタを示す予告キャラクタ情報に変わった場合には、その予告キャラクタ情報の読み込みを禁止するとともに、予め設定したデフォルト値（例えば、予告キャラクタが登場しないデフォルト値「０」）に書き替える。これにより、大当たりではないにも関わらず大当たり時に登場する予告キャラクタが登場することによる遊技者とのトラブルを避けながら、遊技を継続することができる。
また、予告キャラクタ情報が、大当たりに登場する予告キャラクタを示す予告キャラクタ情報から外れ時に登場する予告キャラクタを示す予告キャラクタ情報に変わった場合にも、その予告キャラクタ情報の読み込みを禁止するとともに、予め設定したデフォルト値（例えば、予告キャラクタが登場しないデフォルト値「０」）に書き替える。これにより、大当たり時に登場する予告キャラクタが登場しないだけで、大当たり状態は発生するため、遊技者とのトラブルを避けながら、遊技を継続することができる。
これに対し、表示装置３５の左、中、右図柄表示部に表示する左、中、右停止図柄や演出パターンを示す停止図柄情報や演出パターン番号が大当たり示す停止図柄情報や演出パターン番号に変わった場合には、遊技者が不安感を抱くため、制御回路の定常処理を中止する。例えば、音やランプの演出を中止し、また、表示装置３５に異常報知画面を表示させる情報を表示制御回路３１に送信する。
【００４０】
制御回路は、定常処理の実行を終了すると、記憶回路のメイン領域に書き込まれているデータのバックアップデータを、例えば、記憶回路のサブ領域に書き込む。
【００４１】
以上のように、本実施の形態では、記憶回路へのデータの書込処理を実行するタイミングでデータとともに整合用データを記憶回路に書き込み、記憶回路に書き込まれているデータの読取処理あるいは記憶回路へのデータの書込処理を実行するために記憶回路にアクセスするタイミングで、記憶回路に書き込まれているデータが異常であるか否か、すなわち異常が発生しているか否かを判定している。これにより、異常が発生しているか否かを読取処理や書込処理の実行中に判定することができるため、異常が発生していることを早期に検出することができ、誤動作を防止することができる。
また、従来の方法によって記憶手段に書き込まれる（例えば、タイマ割込信号による定常処理の実行後に記憶手段に書き込まれる）バックアップデータの信頼性を高めることができる。
【００４２】
なお、第４の実施の形態は、種々の変更。追加、削除が可能である。
例えば、データとともにデータに対応する整合用データを記憶回路に書き込む書込処理やデータとデータに対応する整合用データに基づいてデータが異常であるか否かを判定するデータ判定処理を、所定のデータ（例えば、遊技に重要なデータ）に関してのみ実行させるようにしてもよい。この場合には、データ判定手段の負担が軽減されるとともに、データ判定処理に要する処理時間を短縮することができる。
また、整合用データとしては、記憶回路に書き込まれているデータが異常であるか否かを判定することができれば種々のデータを用いることができる。
また、定常処理の実行を終了した時にバックアップデータを記憶回路に書き込んだが、バックアップデータの書き込みは省略してもよい。
また、データが異常であることを判定した場合の異常処理方法としては、種々の方法を用いることができる。
【００４３】
また、本発明は、各実施の形態で説明した構成に限定されず、種々の変更、追加、削除が可能である。
例えば、パチンコ機の異常を検出する場合について説明したが、本発明は、パチンコ機以外の種々の遊技機（アレンジボール、雀球やスロットマシン等）、の異常を検出する場合に用いることができる。
【００４４】
本発明は、以下のように構成することもできる。
例えば、「（態様１）請求項１の遊技機であって、異常検出手段は、割込信号出力手段から割込信号が出力された時、処理段階識別フラグがセットされている場合に、制御手段が定常処理を実行することを許可する。」として構成することができる。
態様１の遊技機では、割込信号が出力された時に処理段階識別フラグがセットされている場合に定常処理の実行を許可するように構成している。これにより、異常な処理が実行されるのを確実に防止することができる。
また、「（態様２）請求項１または態様１の遊技機であって、異常検出手段は、異常が発生していることを検出した場合には、制御回路のリセット処理あるいは復旧処理を実行させる、遊技機。」として構成することができる。
本発明では、異常検出手段の機能をソフトウェアで達成することができるため、異常が発生していることを検出した場合に、制御回路のリセット処理あるいは復旧処理等の異常の状態に応じた適切な異常処理方法を選択することができる。これにより、遊技をできるだけ中断させることなく異常に対処することができる。
また、「（態様３）請求項１、態様１、２のいずれかの遊技機であって、さらに、データ判定手段を備え、データ判定手段は、制御手段が、記憶手段へのデータの書込処理を実行する時に、当該データに対応する照合用データを記憶手段に書き込み、制御手段が、記憶手段からのデータの読取処理を実行する時に、当該データと当該データに対応する照合用データに基づいて当該データが異常であるか否かを判定する、遊技機。」として構成することができる。
態様３の遊技機では、記憶手段へのデータの書込処理時に当該データに対応する照合用データを記憶手段に書き込み、記憶手段からのデータの読取処理時に当該データと当該データに対応する照合用データに基づいて当該データが異常であるか否かを判定している。これにより、記憶手段に書き込まれているデータを読み取るために記憶手段にアクセスする毎に記憶手段に書き込まれているデータが異常であるか否かを判定することができるため、異常であることを早期に検出することができる。
また、「（態様４）遊技機に設けられている被制御機器を制御する制御手段を備え、制御手段は、記憶手段へのデータの書込処理及び記憶手段に記憶されているデータの読取処理を実行する、遊技機であって、さらに、データ判定手段を備え、データ判定手段は、制御手段が、記憶手段へのデータの書込処理を実行する時に、当該データに対応する照合用データを記憶手段に書き込み、制御手段が、記憶手段からのデータの読取処理を実行する時に、当該データと当該データに対応する照合用データに基づいて当該データが異常であるか否かを判定する、遊技機。」として構成することができる。
態様４の遊技機では、記憶手段へのデータの書込処理時に当該データに対応する照合用データを記憶手段に書き込み、記憶手段からのデータの読取処理時に当該データと当該データに対応する照合用データに基づいて当該データが異常であるか否かを判定している。これにより、記憶手段に書き込まれているデータを読み取るために記憶手段にアクセスする毎に記憶手段に書き込まれているデータが異常であるか否かを判定することができるため、異常であることを早期に検出することができる。
また、「（態様５）態様３または４の遊技機であって、データ判定手段は、制御手段が、予め定められているデータの書込処理を実行する時に照合用データを書き込み、制御手段が、予め定められているデータの読取処理を実行する時に当該データが異常であるか否かを判定する、遊技機。」として構成することができる。
態様５の遊技機では、データ判定手段は、予め定められているデータについて異常であるか否かを判定する。これにより、データ判定手段のデータ判定処理に対する負担を軽減することができ、データ判定処理に要する処理時間を短縮することができる。
また、「（態様６）態様３〜５のいずれかの遊技機であって、データ判定手段は、制御手段が、記憶手段へのデータの書込処理を実行する時に、記憶手段に書き込まれているデータを用いる場合には、記憶手段に書き込まれているデータと当該データに対応する照合用データに基づいて当該データが異常であるか否かを判定する、遊技機。」として構成することができる。
態様６の遊技機では、データ判定手段は、記憶手段へのデータの書込処理時に、記憶手段に書き込まれているデータを用いる場合には、記憶手段に書き込まれているデータが異常であるか否かを判定する。これにより、異常な処理が実行されるのをより確実に防止することができる。
また、「（態様７）態様３〜６のいずれかの遊技機であって、データ判定手段は、記憶手段に書き込むデータと同じデータを照合用データとして用い、記憶手段に書き込まれているデータと当該データに対応する照合用データとの比較結果に基づいて当該データが異常であるか否かを判定する、遊技機。」として構成することができる。
態様７の遊技機では、記憶手段に書き込むデータと同じデータを照合用データとして用いるため、データが異常であるか否かを判定する処理が容易である。
また、「（態様８）請求項３〜７のいずれかの遊技機であって、データ判定手段は、データが異常であることを判定すると、異常であると判定したデータに関連するデータをデフォルト値に書き替える、遊技機。」として構成することができる。
態様８の遊技機では、データ判定手段は、異常であると判定したデータに関連するデータをデフォルト値に書き替える。これにより、異常が発生した場合でも、遊技を停止させることなく対処することができる。
【００４５】
【発明の効果】
以上説明したように、請求項１に記載の遊技機を用いることにより、プログラムの暴走等の異常が発生したことを早期に検出することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の概略構成図である。
【図２】本発明の第１の実施の形態の動作を説明するフローチャート図である。
【図３】本発明の第１の実施の形態の動作を説明するフローチャート図である。
【図４】本発明と従来例の異常検出動作を説明するタイムチャート図である。
【図５】本発明の第２の実施の形態の動作を説明する図である。
【図６】本発明の第２の実施の形態の動作を説明する図である。
【図７】本発明の第３の実施の形態の動作を説明する図である。
【図８】本発明の第３の実施の形態の動作を説明する図である。
【図９】本発明の第４の実施の形態の動作を説明する図である。
【図１０】本発明の第４の実施の形態の動作を説明する図である。
【図１１】従来例の動作を説明する図である。
【符号の説明】
１０主制御装置
１１  主制御回路
１２、２２、３２  記憶回路
２０  副制御装置
２１  副制御回路
２３  タイマ割込信号出力回路
２５  スピーカ
２６  ランプ
３０  表示制御装置
３１  表示制御回路
３５  表示装置
【図１】
2004337201.tif 000003
【図２】
2004337201.tif 000004
【図３】
2004337201.tif 000005
【図４】
2004337201.tif 000006
【図５】
2004337201.tif 000007
【図６】
2004337201.tif 000008
【図７】
2004337201.tif 000009
【図８】
2004337201.tif 000010
【図９】
2004337201.tif 000011
【図１０】
2004337201.tif 000012
【図１１】
2004337201.tif 000013