(57)【要約】【課題】サブ制御装置への信頼性を高くすること。【解決手段】サブ制御装置は、メイン制御装置から送信されたコマンドが正しいか否かを確認するコマンド確認手段と、コマンド確認手段によるコマンドの確認結果に応じてメイン制御装置に承認信号を返信する承認信号返信手段とを有する。メイン制御装置は、サブ制御装置のコマンド確認手段が正常に動作するか否かを試験する試験手段（Ｓ０２）を備える。【選択図】              図４
2004181076.tif 000002
【特許請求の範囲】
【請求項１】
遊技制御を総括的に行うメイン制御装置と、前記メイン制御装置から送信されるコマンドに従って対象装置を制御するサブ制御装置とを備えた遊技機のコマンド送受信装置において、前記サブ制御装置は、前記メイン制御装置から送信されたコマンドが正しいか否かを確認するコマンド確認手段と、前記コマンド確認手段によるコマンドの確認結果に応じて前記メイン制御装置に承認信号を返信する承認信号返信手段とを備え、前記メイン制御装置は、前記サブ制御装置の前記コマンド確認手段が正常に動作するか否かを試験する試験手段を備えたことを特徴とする遊技機の払出コマンド送受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遊技制御を総括的に行うメイン制御装置と、メイン制御装置から送信されるコマンドに従って対象装置を制御するサブ制御装置とを備えた遊技機のコマンド送受信装置に関する。
【０００２】
【従来の技術】
従来より、遊技制御を総括的に行うメイン制御装置と、メイン制御装置から送信されるコマンドに従って対象装置を制御するサブ制御装置、例えば、遊技価値媒体（一例として賞球）を払い出す遊技価値媒体排出装置（賞球排出装置）を有し、メイン制御装置から指令される払出数データ（賞球の払出数を指定する払出数コマンド）に従った払出数の遊技価値媒体（賞球）を払い出すように遊技価値媒体排出装置を制御するサブ制御装置（払出制御装置）とを備えた遊技機は周知である。
【０００３】
図１３は、従来のメイン制御装置と払出制御装置とのデータ通信に関わる制御系（払出コマンド送受信装置）の一形態を示すブロック図である。メイン制御装置２から払出制御装置３への指令信号線は、払出数データを指令するための８ビットで構成されたＤ０〜Ｄ７の信号線と、払出制御装置３へ送信データを認識させるためのチップセレクト信号線（ＣＥ信号）と、払出制御装置３に送信データの読み込みタイミングであることを認識させるためのＷＲ信号線とにより構成される。
【０００４】
また、図１４は、従来のメイン制御装置から払出制御装置への指令信号送信を示すタイムチャートである。まず、ＣＥ信号がオンにされ、引き続いてＤ０信号〜Ｄ７信号による払出数データ（払出数コマンド）が送信され、Ｄ０信号〜Ｄ７信号と同期してＷＲ信号（ストローブ信号）がオンにされる。
【０００５】
払出制御装置は、ＷＲ信号のオンとなるタイミングでＩＮＴ割込が発生して払出数データを受け付ける状態となり、このときＣＥ信号がオンしていることを条件にＤ０信号〜Ｄ７信号による払出数データを読み込み、ＩＮＴ割込による処理ルーチンから抜ける。この後、ＷＲ信号がオフにされ、さらに、所定タイミング後に、ＣＥ信号がオフにされる。
【０００６】
図１５は、メイン制御装置から払出制御装置へ送信される従来の払出数データ（払出数コマンド）の内容を表形式で示す図である。払出数データは、１コマンド１バイトで構成される。払出数データで指定される払出数は、賞球１個払出し〜賞球１５個払出しまでの１５種類である。なお、図１５では、Ｄ０信号〜Ｄ７信号に対応するビット０〜ビット７の内容と、これらを１６進数表現したものを示している。なお、払出数データにおいて、実際に払出数の指定に関わっているのは下位４ビット（ビット０〜ビット３）であり、上位４ビット（ビット４〜ビット７）は全て「０」に固定である。
【０００７】
ところで、メイン制御装置から払出制御装置に対して指令される実際の払出数よりも多い数の賞球の払い出しを得ようと企てる不正行為が行われるおそれがある。上記従来の払出コマンド送受信装置に対しては、例えば、メイン制御装置と払出制御装置とを接続する信号線のうち払出数に関わるＤ０〜Ｄ４の信号線を、中途において不正にあるビットに対応する信号線（例えば、Ｄ３信号線）をハイレベルにプルアップして固定された場合、図１５から明らかなように、常に、最低でも９個以上の賞球払い出しが払出制御装置に指令されてしまうことになる（賞球１個払出しから賞球７個払出しまでの払出数データが不正の影響を受ける結果）。一例として、払出制御装置に対して指令された払出数データが賞球４個払出し（「０００００１００」）である場合、不正によりＤ３信号（３ビット目）がハイレベルに固定されている結果、賞球１２個払出し（「００００１１００」）が払出制御装置に指令されてしまうことになる。従って、通常よりも多くの賞球の払出しを行ってしまう虞がある。よって、払出コマンド送受信装置においては、遊技価値媒体の払い出し制御に直接関わるため、このような不正行為を防止する対策が必要となる。
【０００８】
そこで、本出願人は、先に、払出制御装置に、メイン制御装置から送信される払出数コマンドが正当なコマンドであるか否かをチェック（確認）するためのコマンド確認手段を設ける技術事項を、特願２００２−３１４８２５号として提案している。上記の技術事項は、払出制御装置がメイン制御装置から送信される払出数コマンドが正当なコマンドであると判定した場合、メイン制御装置に対してＡＣＫ信号（承認信号）を返信するものである。ところが、不正等によりサブ制御装置のコマンドの異常判定機能（コマンド確認機能）を正常に動作させず、異常なコマンドに対してもＡＣＫ信号（承認信号）を返信するように改変される虞がある。このように、コマンド確認手段が正常に動作しなかった場合、メイン制御装置において異常判定することができないという不具合が生じる。
【０００９】
【発明が解決しようとする課題】
本発明の目的は、サブ制御装置に設けられたコマンドが正しいか否かを確認するコマンド確認手段が正しく動作するかを試験でき、その結果、サブ制御装置への信頼性を高くすることができる遊技機のコマンド送受信装置を提供することにある。
【００１０】
【課題を解決するための手段】
請求項１に記載の遊技機のコマンド送受信装置は、遊技制御を総括的に行うメイン制御装置と、前記メイン制御装置から送信されるコマンドに従って対象装置を制御するサブ制御装置とを備えたものであって、上記課題を解決するために、前記サブ制御装置は、前記メイン制御装置から送信されたコマンドが正しいか否かを確認するコマンド確認手段と、前記コマンド確認手段によるコマンドの確認結果に応じて前記メイン制御装置に承認信号を返信する承認信号返信手段とを備え、前記メイン制御装置は、前記サブ制御装置の前記コマンド確認手段が正常に動作するか否かを試験する試験手段を備えたことを特徴とする。
【００１１】
請求項１に記載の試験手段は、例えば、前記サブ制御装置に対して異常コマンドを送信し、前記サブ制御装置から承認信号の返信がなければ、サブ制御装置の前記コマンド確認手段が正常に動作していると判定する一方、サブ制御装置から承認信号の返信があると、サブ制御装置の前記コマンド確認手段が異常動作していると判定するものである。
【００１２】
さらに、正常動作が確認された場合に、前記サブ制御装置に対して正常コマンドを送信し、前記サブ制御装置から承認信号の返信があれば、サブ制御装置の前記コマンド確認手段が正常に動作していると判定する一方、サブ制御装置から承認信号の返信がなければ、サブ制御装置の前記コマンド確認手段が異常動作していると判定するものである。
【００１３】
なお、請求項１に記載の遊技機のコマンド送受信装置において、前記メイン制御装置が、電源投入時に前記試験手段を実行する構成とすることがある。この構成によれば、サブ制御装置のコマンド確認手段が正常に動作していることを電源投入時にメイン制御装置が確認することができる。また、請求項１に記載のものにおいて、遊技機の稼動状態と非稼動状態とを判定する稼動状態判定手段を設け、稼動状態判定手段が非稼動状態と判定した時に、前記試験手段を実行する構成とすることがある。この構成によれば、遊技機の非稼動時にサブ制御装置に対して不正に細工されるようなことがある場合でも、試験手段を実行するので、サブ制御装置のコマンド確認手段が異常動作していることをメイン制御装置が検知することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明の実施形態に関わる遊技機に配備されたメイン制御装置と、サブ制御装置の一態様である払出制御装置とのデータ通信に関わる制御系統（払出コマンド送受信装置１）の要部ブロック図である。メイン制御装置２は、遊技制御を総括的に行うもので、また、払出制御装置（請求項１に記載のサブ制御装置に相当する）３は、メイン制御装置２から指令される払出数データに従った払出数の遊技価値媒体（例えば、賞球或いはメダル）を払い出すように遊技価値媒体排出装置４を制御するものである。
【００１５】
メイン制御装置２は、図示しないメイン制御基板に配備される。メイン制御装置２は、遊技（例えば、パチンコ遊技）に関わる総括的な制御を行うための処理実行手段としてのメインＣＰＵと、メインＣＰＵが実行するための遊技全体に関わる制御プログラムが格納されているＲＯＭと、随時読み出しおよび書き込みが可能なＲＡＭと、メインＣＰＵが周辺機器との間でデータ通信を行うための通信インタフェース等を含んで構成されている。なお、メイン制御装置２の具体的な構成については図示を省略する。メイン制御装置２は、入賞態様（例えば、各入賞領域に配備された各入賞検出スイッチによる検出信号）に対応する遊技価値媒体の払出数コマンド（払出数データ）を払出制御装置３に指令送信する。
【００１６】
払出制御装置３は、制御処理実行手段としてのサブＣＰＵと、サブＣＰＵが行う各制御プログラムを格納したＲＯＭと、随時データの読み出し並びに書き込みが可能なＲＡＭと、メイン制御装置２とデータ通信を行うための通信インタフェースと、入力インタフェース回路と、出力インタフェース回路により構成されている。なお、払出制御装置３の具体的な内部構成については図示を省略する。
【００１７】
払出制御装置３は、前述のメイン制御装置２に対して通信接続されている他、賞品球の払出しを行う遊技価値媒体排出装置（例えば、モータ等により駆動される賞球排出装置）４、遊技価値媒体排出装置４から排出された遊技価値媒体を検出するための排出遊技価値媒体検出センサ（例えば、排出球センサ）５に接続されている。
【００１８】
メイン制御装置２から払出制御装置３への指令信号線は、払出数データ（払出数コマンド）を指令するための８ビットで構成されたＤ０〜Ｄ７の信号線と、払出制御装置３へ送信データの１バイト目か２バイト目かを認識させるためのセレクト信号線（ＳＥＬ信号）と、払出制御装置３に送信データの読み込みタイミングであることを認識させるためのＷＲ信号線とにより構成される。また、本実施形態では、払出制御装置３からメイン制御装置２への返信応答のためのＡＣＫ信号線を設けてあり、払出制御装置３が払出数コマンドを読み込んで払出数コマンドが正規のものであることが確認された場合に、メイン制御装置２に対してＡＣＫ信号（承認信号）が送信される。
【００１９】
また、本実施形態においては、メイン制御装置２から払出制御装置３へ送信される払出数データ（払出数コマンド）を２バイトで構成してあり、メイン制御装置２は、１回目に送信する１バイト目のデータは払出数とし、２回目に送信する２バイト目のデータは１バイト目のデータをビット反転したデータとする。
【００２０】
図２は、メイン制御装置２から払出制御装置３へ送信されるコマンドデータの内容を表形式で示す図である。払出制御装置３に払出数を指定するための払出数コマンドは、１コマンド２バイトで構成される。払出数コマンドで指定される払出数は、賞球１個払出し〜賞球１５個払出しまでの１５種類である。なお、図２では、Ｄ０信号〜Ｄ７信号に対応するビット０〜ビット７の内容と、これらを１６進数表現したものを示している。なお、払出数コマンドの１バイト目において、実際に払出数の指定に関わっているのは下位４ビット（ビット０〜ビット３）であり、上位４ビット（ビット４〜ビット７）は全て「０」に固定である。
【００２１】
メイン制御装置２から払出制御装置３へ送信される試験用コマンドは、試験用異常コマンドと試験用正常コマンドとがある。試験用異常コマンドの１回目に送信する１バイト目のデータは「試験用」を表すものである。また、２回目に送信する２バイト目のデータは１バイト目のデータと同じものとする。本実施形態では、試験用を表す１バイト目のデータを、例えば「１０Ｈ」としている。このため、試験用異常コマンドは、例えば、１６進数表現で「１０１０Ｈ」となる。
【００２２】
また、試験用正常コマンドの１回目に送信する１バイト目のデータは「試験用」を表すものであり、２回目に送信する２バイト目のデータは１バイト目のデータをビット反転したデータとする。このため、本実施形態では、試験用正常コマンドは、例えば、１６進数表現で「１０ＥＦＨ」となる。
【００２３】
図３は、払出コマンド送受信装置１におけるメイン制御装置２から払出制御装置３への指令信号送信を示すタイムチャートである。メイン制御装置２から払出制御装置３へのコマンドデータの送信手順は、次の通りである。まず、Ｄ０信号〜Ｄ７信号によるコマンドデータの１バイト目が送信され、Ｄ０信号〜Ｄ７信号によるコマンドデータの１バイト目と同期してＷＲ信号（ストローブ信号）がオンにされる。なお、コマンドデータの１バイト目及びＷＲ信号の送信時間は、３．９ｍｓとしてある。
【００２４】
コマンドデータの１バイト目及びＷＲ信号の送信時から３．９ｍｓ経過時に、コマンドデータの１バイト目の送信が完了し、コマンドデータの１バイト目の送信完了と同期してＷＲ信号（ストローブ信号）がオフにされる。なお、ＷＲ信号の送信停止時間は、３．９ｍｓとしてある。
【００２５】
コマンドデータの１バイト目の送信完了及びＷＲ信号の送信停止時から３．９ｍｓ経過時に、ＳＥＬ信号がオンにされ、Ｄ０信号〜Ｄ７信号によるコマンドデータの２バイト目が送信され、ＳＥＬ信号及びＤ０信号〜Ｄ７信号と同期してＷＲ信号（ストローブ信号）がオンにされる。なお、コマンドデータの２バイト目、ＳＥＬ信号及びＷＲ信号の送信時間は、３．９ｍｓとしてある。
【００２６】
コマンドデータの２バイト目、ＳＥＬ信号及びＷＲ信号の送信時から３．９ｍｓ経過時に、コマンドデータの２バイト目の送信が完了し、コマンドデータの２バイト目の送信完了と同期してＳＥＬ信号及びＷＲ信号がオフにされる。なお、ＷＲ信号の送信停止時間は、１ｍｓ〜１３ｍｓとしてある。
【００２７】
払出制御装置３は、所定周期毎（実施形態では１ｍｓ毎）に発生するタイマ割込により、ＷＲ信号、ＳＥＬ信号及び払出数データ（Ｄ０〜Ｄ７）の状態を監視している。払出制御装置３は、メイン制御装置２から１バイト単位で送信される全２バイト構成のコマンドデータを１バイト毎に取得する。払出制御装置３は、コマンドデータの取得を行うと、取得したコマンドデータが正しいか否かを判定し、正しいと判定された場合にコマンドデータを読み込むと共に、メイン制御装置２に対してＡＣＫ信号を送信する。なお、ＡＣＫ信号の送信時間は、１２ｍｓとしてある。メイン制御装置２は、ＡＣＫ信号を受けると指令信号送信が正常であると判定し、次の払出制御装置３へのコマンドデータの送信を行う。
【００２８】
以上のように構成された実施形態の遊技機の払出コマンド送受信装置におけるメイン制御装置２のＣＰＵ（以下、メインＣＰＵという）が行う処理について説明する。図４は、メインＣＰＵが実行する処理のメインルーチンを示すフローチャートである。また、図５は、メインＣＰＵが実行するタイマ割込処理ルーチンを示すフローチャートである。メインＣＰＵは、電源投入時、初期化処理を行い、ＲＡＭをクリアすると共に、以下の処理に必要な各種カウンタやフラグ等に初期値をセットする（ステップＳ０１）。メインＣＰＵは、初期化処理を終えるとステップＳ０２に進む。
【００２９】
ステップＳ０２に進むと、メインＣＰＵは、請求項１に記載の試験手段に相当する払出制御装置３に対する試験処理を行う（ステップＳ０２）。なお、試験処理の詳細については後述する。なお、試験処理において、払出制御装置３が正常であると判定された場合には、異常フラグに「０（正常）」がセットされる。一方、払出制御装置３が異常であると判定された場合には、異常フラグに「１（異常）」がセットされる。メインＣＰＵは、試験処理を終えると、ステップＳ０３にて、試験処理の結果が正常であるか否かを判別する（ステップＳ０３）。ステップＳ０３にて試験処理の結果が正常である場合、メインＣＰＵは、停電信号（電源断信号）があるか否かを判別する（ステップＳ０４）。停電信号がなければ非当落乱数更新処理を行い（ステップＳ０５）、非当落乱数更新処理を終えるとステップＳ０４に戻る。以下、メインＣＰＵは、所定周期毎のタイマ割込（４ｍｓ毎）が入るまで、上記ステップＳ０４〜ステップＳ０５によって形成される処理ループ（以下、メインループという）を繰り返し実行する。
【００３０】
一方、ステップＳ０３にて試験処理の結果が異常である場合、メインＣＰＵは、異常報知処理を行い（ステップＳ０６）、異常報知処理を行うとＨＡＬＴとなる。なお、異常報知処理は、メイン制御装置２がサブ制御装置（音声制御及びランプ／ＬＥＤの発光制御を司る、図示せず）に異常報知コマンドを送信し、サブ制御装置が異常報知コマンドに応じて報知ランプの点灯及び報知音の発生を行うことにより異常を報知する。なお、メイン制御装置２が直接音、ランプ等で報知する構成としてもよい。また、ステップＳ０４にて停電信号（電源断信号）がある場合、停電処理を行い（ステップＳ０７）、ＨＡＬＴとなる。
【００３１】
なお、ステップＳ０５の非当落乱数更新処理は、主として当落に関係しない乱数、例えば、大当り判定用乱数の初期値を決定するための初期値設定用乱数、リーチの演出を行うか否かを決定するためのリーチ判定用乱数、変動パターンを決定するための変動パターン用乱数、左停止図柄、中停止図柄、右停止図柄を決定するための左、中、右図柄乱数等の更新を行う。
【００３２】
タイマ割込が入ると、メインＣＰＵは、タイマ割込処理ルーチンを開始する。メインＣＰＵは、メインルーチンで使用しているレジスタの値をスタックエリアに待避する（ステップＳ１０）。次いで、メインＣＰＵは、各種スイッチの状態の入力を行うスイッチ入力処理（ステップＳ１１）、タイマ値の減算を行うタイマ減算処理（ステップＳ１２）、大当り判定用乱数や大当り図柄用乱数の更新を行う当落乱数更新処理（ステップＳ１３）、入賞計数を行って賞球コマンドを設定する賞球制御処理（ステップＳ１４）、始動口入賞がある場合に大当り判定用乱数等を取得、保留球の処理、大当り判定、停止図柄と変動パターンの決定等を行う特別図柄動作処理（ステップＳ１５）、大当り遊技に関わる大入賞口処理（ステップＳ１６）、普通図柄動作処理（ステップＳ１７）、ソレノイド出力や外部出力端子のポート出力を作成するポート出力処理（ステップＳ１８）、払出制御装置３及び図示していないその他の制御装置に対してコマンドを送信するコマンド伝送出力処理（ステップＳ１９）を順次行い、スタックエリアに待避されている値をレジスタに復帰すると（ステップＳ２０）、メインルーチンに戻る。
【００３３】
図６は、メインＣＰＵが実行する試験処理のサブルーチンを示すフローチャートである。試験処理を開始すると、メインＣＰＵは、試験用異常コマンド（「１０１０Ｈ」）を送信バッファにセットし（ステップＳ３１）、払出制御装置３に対して試験用異常コマンドを送信する（ステップＳ３２）。次いで、メインＣＰＵは、タイマＴにＡＣＫ信号（承認信号）の監視時間（この実施形態では１２ｍｓ）をセットし（ステップＳ３３）、ステップＳ３４に進み、払出制御装置３から送信されるＡＣＫ信号の受信があるか否かを判別する（ステップＳ３４）。
【００３４】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用異常コマンドに対しては、払出制御装置３はＡＣＫ信号を返信してこない。逆に、メイン制御装置２から送信された試験用異常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してきた場合には、払出制御装置３は正規なものでなく、不正により改変されていることになる。
【００３５】
メインＣＰＵは、ＡＣＫ信号の返信がなければ、ステップＳ３４を偽と判別し、監視時間をセットしたタイマＴがタイムアップ（タイマＴ＝０）したか否かを判別し（ステップＳ３５）、タイマＴがタイムアップしていなければ、タイマＴのタイマ値を減算を行い（ステップＳ３６）、ステップＳ３４に戻る。以下、ＡＣＫ信号の返信がなければ、メインＣＰＵは、ＡＣＫ信号（承認信号）の監視時間が経過するまでの間、ステップＳ３４を偽、ステップＳ３５を偽、ステップＳ３６の処理ループを繰り返す。
【００３６】
上述の監視時間の間、ＡＣＫ信号の返信がなければ、タイマＴのタイマ値が０となり、メインＣＰＵは、ステップＳ３５を真と判別してステップＳ３７に進む。ステップＳ３７に進む場合、送信した試験用異常コマンドに対してＡＣＫ信号の返信がないのであるから、メインＣＰＵは、払出制御装置３のコマンド確認手段が正常に動作していると判定する。
【００３７】
ステップＳ３７に進むと、メインＣＰＵは、試験用正常コマンド（「１０ＥＦＨ」）を送信バッファにセットし（ステップＳ３７）、払出制御装置３に対して試験用正常コマンドを送信する（ステップＳ３８）。次いで、メインＣＰＵは、タイマＴにＡＣＫ信号（承認信号）の監視時間（この実施形態では１２ｍｓ）をセットし（ステップＳ３９）、ステップＳ４０に進み、払出制御装置３から送信されるＡＣＫ信号の受信があるか否かを判別する（ステップＳ４０）。
【００３８】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３はＡＣＫ信号を返信する。逆に、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してこない場合には、払出制御装置３のコマンド確認手段に異常があるものと判定する。
【００３９】
メインＣＰＵは、ＡＣＫ信号の返信がなければ、ステップＳ４０を偽と判別し、監視時間をセットしたタイマＴがタイムアップ（タイマＴ＝０）したか否かを判別し（ステップＳ４１）、タイマＴがタイムアップしていなければ、タイマＴのタイマ値を減算を行い（ステップＳ４２）、ステップＳ４０に戻る。以下、送信した試験用正常コマンドに対してＡＣＫ信号の返信がない場合、メインＣＰＵは、ステップＳ４０を偽、ステップＳ４１を偽、ステップＳ４２の処理ループを繰り返す。
【００４０】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３はＡＣＫ信号を返信する。メインＣＰＵは、ＡＣＫ信号の返信があると、ステップＳ４０を真と判別し、ステップＳ４４に進み、異常フラグを０クリアし（正常と判定し）（ステップＳ４４）、試験処理を終了してメインルーチンに戻る。
【００４１】
一方、メイン制御装置２から送信された試験用異常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してきた場合は、メインＣＰＵは、ステップＳ３４を真と判別し、ステップＳ４３に進み、異常フラグに「１（異常）」をセットし（ステップＳ４３）、試験処理を終了してメインルーチンに戻る。
【００４２】
また、メイン制御装置２から送信された試験用正常コマンドに対して、監視時間の間、払出制御装置３からＡＣＫ信号の返信がない場合は、タイマＴのタイマ値が０となり、メインＣＰＵは、ステップＳ４１を真と判別してステップＳ４３に進み、異常フラグに「１（異常）」をセットし（ステップＳ４３）、試験処理を終了してメインルーチンに戻る。
【００４３】
以上に説明したように、試験処理を実行することにより、払出制御装置３に対して試験用異常コマンドを送信し、払出制御装置３からの承認信号の返信がなければ、払出制御装置３のコマンド確認手段が正常に動作していると判定する一方、払出制御装置３からの承認信号の返信がある場合には、払出制御装置３のコマンド確認手段に異常があると判定する（異常フラグに１をセットする）。
【００４４】
さらに、払出制御装置３への試験用異常コマンドの送信に対する払出制御装置３のコマンド確認手段の正常動作が確認された場合、次に、払出制御装置３に対して試験用正常コマンドを送信し、払出制御装置３からの承認信号の返信があれば、払出制御装置３のコマンド確認手段が正常に動作していると判定する（異常フラグを０クリアする）。一方、払出制御装置３からの承認信号の返信がなければ、払出制御装置３のコマンド確認手段が異常動作していると判定する（異常フラグに１をセットする）。
【００４５】
先に述べたように、試験処理において異常フラグに「１（異常）」がセットされた場合、ステップＳ０３の判別結果が偽（試験結果が正常ではない）と判別されるので、異常報知が行われる。なお、１回の試験処理における確認手段の正常動作の判定は複数回行ってもよい。
【００４６】
次に、払出制御装置３のサブＣＰＵが実行するコマンド受信処理、コマンド異常判定＆読込処理、コマンド受信完了処理について順次説明する。なお、コマンド受信処理、コマンド異常判定＆読込処理、コマンド受信完了処理の各処理は、１ｍｓ毎に発生するタイマ割込によって順次実行される処理である。また、サブＣＰＵが実行するコマンド受信処理については、図３に示すタイムチャートに従ってメイン制御装置２から１バイト単位で送信される全２バイト構成のコマンドデータを１バイト毎に取得するものとして詳細な説明を省く。また、コマンド受信処理において、メイン制御装置２から１バイト単位で送信される全２バイト構成のコマンドデータがサブ制御装置３に取得されると、１バイト目のコマンドデータは１バイト目コマンド記憶エリアに記憶され、２バイト目のコマンドデータは２バイト目コマンド記憶エリアに記憶され、取得済フラグに「１」がセットされる。
【００４７】
次に、請求項１に記載のコマンド確認手段に相当するコマンド異常判定＆読込処理について説明する。図７は、サブＣＰＵが実行するコマンド異常判定＆読込処理のサブルーチンを示すフローチャートである。コマンドデータの読込について概略で説明すると、コマンドバッファは１バイトとしてある。コマンドのバッファリングは、図２に示すＳＥＬ信号をタイマ割込でサンプリングした結果が、「０・０・１・１」となったとき、かつコマンドデータを２バイト分取得していて、さらに整合性が確認されたとき行い、１バイト目のコマンドを格納する。また、整合性の確認は、１バイト目のデータと２バイト目のデータのビット毎の排他的論理和をとった値が、１６進数表現で「ＦＦＨ」であるか否かで行い、結果が「ＦＦＨ」であれば正常と判定する。
【００４８】
サブＣＰＵは、コマンド異常判定＆読込処理を開始すると、まず、ＳＥＬ判定レジスタＳＥＬＨ（以下、単にＳＥＬＨという）の下位４ビットをＸレジスタ（演算等に用いる汎用レジスタで８ビット構成）にコピーする（ステップＡ３１）。ここで、ＳＥＬＨは、ＳＥＬ信号のサンプリング履歴を記憶するレジスタであり、８ビットで構成されている。コマンド受信処理において、サンプリング毎に１ビット右に内容がシフトされ、ＳＥＬ信号がオフである場合に０ビット目に０がセットされる一方、ＳＥＬ信号がオンである場合に０ビット目に１がセットされる。また、Ｘレジスタの内容は、ＳＥＬＨの下位４ビットの内容を「＊＊＊＊」で表すとすると、「００００＊＊＊＊」となる。
【００４９】
サブＣＰＵは、ステップＡ３２に進み、Ｘレジスタの内容（ここで問題とするのはＸレジスタの下位４ビットであるので図６では単に「１１００」として表している）が、「１１００」であるか否かを判別する（ステップＡ３２）。Ｘレジスタの内容が、「１１００」でない場合、サブＣＰＵは、ステップＡ３２を偽と判別し、今回のコマンド異常判定＆読込処理を抜けてタイマ割込処理ルーチンにリターンする。この場合には、実質的なコマンド異常判定＆読込処理は行われない。
【００５０】
一方、ステップＡ３２において、Ｘレジスタの内容が、「１１００」である場合、図３のタイムチャートのＳＥＬ信号の履歴が「オン、オン、オフ、オフ」であることを検出したことになる。この場合、サブＣＰＵは、次に、取得済フラグに１（データ取得済を表す）がセットされているか否かを判別する（ステップＡ３３）。なお、取得済フラグの初期値は「０」であり、前述のコマンド受信処理において、１バイト目のコマンドデータ及び２バイト目のコマンドデータが取得された場合にのみ、「１」がセットされるフラグである。取得済フラグに１がセットされていない場合、即ち、取得済フラグの値が０の場合には、サブＣＰＵは、ステップＡ３３を偽と判別し、今回のコマンド異常判定＆読込処理を抜けてタイマ割込処理ルーチンにリターンする。この場合も、実質的なコマンド異常判定＆読込処理は行われない。
【００５１】
一方、ステップＡ３３にて、取得済フラグに１（データ取得済）がセットされている場合、サブＣＰＵは、ステップＡ３４に進み、１バイト目コマンド取得エリアの内容（１バイト目のコマンドデータ）をＡレジスタ（演算等に用いる汎用レジスタで８ビット構成）にセットし（ステップＡ３４）、次いで、２バイト目コマンド取得エリアの内容（２バイト目のコマンドデータ）をＢレジスタ（演算等に用いる汎用レジスタで８ビット構成）にセットし（ステップＡ３５）、Ａレジスタの内容とＢレジスタの内容との排他的論理和をとり、排他的論理和の結果をＹレジスタ（演算等に用いる汎用レジスタで８ビット構成）に格納する（ステップＡ３６）。
【００５２】
２回目に送信された２バイト目のコマンドデータは、１回目に送信された１バイト目のデータをビット反転したデータである。このため、送信されたコマンドデータが正常であれば、１バイト目と２バイト目との排他的論理和は、ビット表現で「１１１１１１１１」、１６進数表現では「ＦＦＨ」となる。サブＣＰＵは、ステップＡ３７に進み、Ｙレジスタの内容が「ＦＦＨ」であるか否か、即ち、取得したコマンドデータが正常であるか否かを判別する（ステップＡ３７）。
【００５３】
ステップＡ３７にて、取得したコマンドデータが正常であれば、サブＣＰＵは、１バイト目コマンド取得エリアの内容（１バイト目のコマンドデータ）をコマンド記憶エリアに記憶し（ステップＡ３８）、取得済フラグを０クリアし（ステップＡ３９）、記憶済フラグに１（コマンドデータの記憶済を表す）をセットし（ステップＡ４０）、今回のコマンド異常判定＆読込処理を終えてタイマ割込処理ルーチンにリターンする。なお、取得済フラグが０クリアされた結果、次回以降周期には実質的なコマンド異常判定＆読込処理は行われない。
【００５４】
払出制御装置３に対して指令されたコマンドデータが試験用正常コマンドである場合、メイン制御装置２から１バイト目のコマンドデータとして「０００１００００」が送信され、２バイト目のコマンドデータは、１バイト目のデータをビット反転したデータとして「１１１０１１１１」が送信される。従って、１バイト目と２バイト目との排他的論理和は、ビット表現で「１１１１１１１１」、１６進数表現では「ＦＦＨ」となる。従って、１バイト目のコマンドデータ「０００１００００」がコマンド記憶エリアに記憶され、記憶済フラグに１がセットされる。
【００５５】
一方、ステップＡ３７にて、１バイト目と２バイト目との排他的論理和をとった結果が「ＦＦＨ」とならない場合には、取得したコマンドデータが異常であることになる。一例として、払出制御装置３に対して指令されたコマンドデータが賞球４個払出しを指定する払出数コマンド「０００００１００」である場合、メイン制御装置２から１バイト目のコマンドデータとして「０００００１００」が送信されるが、例えば、不正によりＤ３信号（３ビット目）がハイレベルに固定されている場合、賞球１２個払出し「００００１１００」が払出制御装置３に受信されてしまうことになる。従って、１バイト目のコマンドデータとして「００００１１００」が記憶される。次に、２バイト目のコマンドデータは１バイト目のデータをビット反転したデータであるから、メイン制御装置２からは「１１１１１０１１」が送信されるが、不正によりＤ３信号（３ビット目）がハイレベルに固定されている結果、「１１１１１０１１」が払出制御装置３に受信される。従って、２バイト目のコマンドデータとして「１１１１１０１１」が記憶される。１バイト目のコマンドデータ「００００１１００」と２バイト目のコマンドデータ「１１１１１０１１」との排他的論理和の結果は、ビット表現で「１１１１０１１１」となり、正常な結果、ビット表現で「１１１１１１１１」、即ち、１６進数表現で「ＦＦＨ」とはならない。
【００５６】
このように、払出数データを２バイトとし、かつ１回目に送信する１バイト目のデータを払出数とし、２回目に送信する２バイト目のデータは１バイト目のデータをビット反転したデータとしているので、１つのビットで１回目と２回目とが同じ値となることは本来あり得ず、メイン制御装置２から払出制御装置３に対して払出数データを指令するための複数の信号線に対して、その一部又は全てをハイレベルに固定、又はローレベルに固定して払出数データを改ざんする不正を直ちに異常として検出することができる。
【００５７】
サブＣＰＵは、取得したコマンドデータが異常であると判定した場合、ステップＡ４１に進み、１バイト目コマンド記憶エリアを０クリアし（ステップＡ４１）、２バイト目コマンド記憶エリアを０クリアして取得したコマンドデータを破棄し（ステップＡ４２）、取得済フラグを０クリアし（ステップＡ４３）、記憶済フラグを０クリアし（ステップＡ４４）、今回のコマンド異常判定＆読込処理を終えてタイマ割込処理ルーチンにリターンする。なお、取得済フラグが０クリアされた結果、次回以降周期には実質的なコマンド異常判定＆読込処理は行われない。
【００５８】
払出制御装置３に対して指令されたコマンドデータが試験用異常コマンドである場合、メイン制御装置２から１バイト目のコマンドデータとして「０００１００００」が送信され、２バイト目のコマンドデータは、１バイト目のデータと同じデータ（１バイト目のデータをビット反転したデータではないデータ）として「０００１００００」が送信される。従って、１バイト目と２バイト目との排他的論理和は、ビット表現で「００００００００」、１６進数表現では「００Ｈ」となる。従って、コマンドデータのコマンド記憶エリアへの記憶は行われず、記憶済フラグに０がセットされる。
【００５９】
次に、コマンド受信完了処理について説明する。図８は、サブＣＰＵが実行するコマンド受信完了処理のサブルーチンを示すフローチャートである。コマンド受信完了処理を開始すると、サブＣＰＵは、まず、記憶済フラグに１がセットされているか否かを判別する（ステップＡ５１）。なお、記憶済フラグの初期値は「０」であり、前述のコマンド異常判定＆読込処理にて取得したコマンドデータの整合性が確認されて正規のコマンドデータとして記憶された場合にのみ、「１」がセットされるフラグである。サブＣＰＵは、記憶済フラグに１がセットされていない場合には、ステップＡ５１を偽と判別し、コマンド受信完了処理を終えてタイマ割込処理ルーチンにリターンする。従って、この場合は、実質的なコマンド受信完了処理は行われない。
【００６０】
一方、記憶済フラグに１がセットされている場合には、サブＣＰＵは、ステップＡ５１を真と判別してステップＡ５２に進み、送信中フラグに「１（送信中を表す）」がセットされているか否かを判別する（ステップＡ５２）。なお、送信中フラグは、ＡＣＫ信号を送信中であるか否かを識別するためのフラグであり、初期値は送信なしを表す「０」であり、「１」でＡＣＫ信号の送信中を表す。コマンド受信完了処理の開始時、送信中フラグは初期値「０」である結果、サブＣＰＵはステップＡ５２を偽と判別してステップＡ５３に進む。
【００６１】
ステップＡ５３に進むと、サブＣＰＵは、ＡＣＫ信号出力フラグをセットし（ステップＡ５３）、送信タイマにＡＣＫ信号の送信時間１２ｍｓをセットし（ステップＡ５４）、送信中フラグに１をセットし（ステップＡ５５）、今回のコマンド受信完了処理を終えてタイマ割込処理ルーチンにリターンする。なお、ＡＣＫ信号出力フラグがセットされた結果、図示しない出力処理にて、メイン制御装置２に対してＡＣＫ信号が出力される。
【００６２】
次周期以降のコマンド受信完了処理では、送信中フラグに１がセットされている結果、サブＣＰＵは、ステップＡ５１を真、ステップＡ５２を真と判別し、ステップＡ５６に進み、送信タイマのタイマ値が０であるか否か、即ち、送信時間１２ｍｓが経過したか否かを判別する（ステップＡ５６）。サブＣＰＵは、送信タイマのタイマ値が０でなければ、ステップＡ５６を偽と判別し、今回のコマンド受信完了処理を終えてタイマ割込処理ルーチンにリターンする。以下、サブＣＰＵは、送信時間１２ｍｓが経過するまで、ステップＡ５１を真、ステップＡ５２を真、ステップＡ５６を偽と判別する処理ルーチンを繰り返す。なお、送信タイマにセットされたタイマ値の減算は、図示しないタイマ減算処理にて行われる。
【００６３】
送信時間１２ｍｓが経過すると、送信タイマのタイマ値が０となり、サブＣＰＵは、ステップＡ５６を真と判別し、ＡＣＫ信号出力フラグをクリアし（ステップＡ５７）、送信中フラグを０クリアし（ステップＡ５８）、記憶済フラグを０クリアし（ステップＡ５９）、今回のコマンド受信完了処理を終えてタイマ割込処理ルーチンにリターンする。なお、記憶済フラグが０クリアされた結果、次回以降周期には実質的なコマンド受信完了処理は行われない。また、ＡＣＫ信号出力フラグがクリアされた結果、図示しない出力処理にて、メイン制御装置２に対してＡＣＫ信号の出力が停止される。
【００６４】
以上に説明したように、受信したコマンドが試験用正常コマンドである場合には、コマンド異常判定＆読込処理にて記憶済フラグに「１」がセットされる結果、コマンド受信完了処理が実行されてメイン制御装置２にＡＣＫ信号が返信される。これに対して、受信したコマンドが試験用異常コマンドである場合には、コマンド異常判定＆読込処理にて記憶済フラグに「０」がセット（０クリア）される結果、コマンド受信完了処理は実行されない。従って、メイン制御装置２にＡＣＫ信号が返信されることはない。以上に説明した処理動作は、払出制御装置３が正常な場合の動作である。
【００６５】
なお、上述の実施形態では、メイン制御装置２のメインＣＰＵは、電源投入時に試験処理を実行するようにしているが、試験処理を何時実行するかは電源投入時に限られるものではない。例えば、遊技機の稼動状態と非稼動状態とを判定する稼動状態判定手段を設け、稼動状態判定手段が非稼動状態と判定した時に、試験処理を実行する構成としてもよい。
【００６６】
次に、遊技機のコマンド送受信装置の第２実施形態について説明する。第２実施形態の遊技機のコマンド送受信装置は、当該遊技機の非稼動状態に応じて試験処理を実行するものである。なお、明細書における当該遊技機の非稼動状態／稼動状態とは、遊技機の電源オフ状態／電源オン状態を意味するものではない。当該遊技機の稼動状態とは、当該遊技機において実際に遊技が行われている状態を意味し、当該遊技機の非稼動状態とは、所定時間の間、当該遊技機において遊技が行われていない状態を意味する。なお、本実施形態において、当該遊技機の非稼動状態／稼動状態の判定は、入賞検出が所定時間（一例として、５分）に亘ってない場合に遊技機の非稼動状態とし、入賞検出が所定時間（一例として、５分）に１回でもある場合に当該遊技機の稼動状態として扱う。
【００６７】
図９は、本発明の第２実施形態に係るメインＣＰＵが実行する処理のメインルーチンを示すフローチャートである。また、図１０は、第２実施形態に係るメインＣＰＵが実行するタイマ割込処理ルーチンを示すフローチャートである。第２実施形態においては、電源投入時には試験処理を行わず、タイマ割込処理ルーチンにおいて実行するものである。ステップＳ１１２のタイマ減算処理に続く入賞チェック処理（ステップＳ１１３）において非稼動状態／稼動状態の判定を行い、入賞チェック処理において非稼動状態と判定された場合に、試験処理に関する実行フラグＦ１がセットされ、ステップＳ１１４で実行フラグＦ１がセットされていることが判定された場合にステップＳ１１５の試験処理が実行される。なお、ステップＳ１１４において、実行フラグＦ１がセットされていなければ、ステップＳ１１６にジャンプする。
【００６８】
図１１は、メイン制御装置２のメインＣＰＵが実行する入賞チェック処理のサブルーチンを示すフローチャートである。メインＣＰＵは、入賞チェック処理を開始すると、まず、試験処理の実行中であるか否かを判別する（ステップＳ５１）。即ち、試験処理に関する実行フラグＦ１に「１（実行）」がセットされているか否かを判別する。メインＣＰＵは、試験処理に関する実行フラグＦ１に「１」がセットされている場合、入賞チェック処理を抜けてタイマ割込ルーチンに戻る。この場合は、実質的な入賞チェック処理は行われない。
【００６９】
一方、試験処理に関する実行フラグＦ１に「１」がセットされていない場合には、ステップＳ５２に進み、入賞検出があるか否かを判別する（ステップＳ５２）。なお、入賞検出器（図示せず）による検出信号があれば、入賞検出があることになる。また、電源投入直後は入賞検出なしであるので、メインＣＰＵはステップＳ５２を偽と判別し、ステップＳ５３に進み、監視中フラグに「１（監視中）」がセットされているか否かを判別する（ステップＳ５３）。ここで、監視中フラグは、入賞検出があるかの監視中であるか否かを識別するためのフラグであって、「０」で「監視中でない」を表し、「１」で「監視中」を表すもので、初期値は「０」である。
【００７０】
メインＣＰＵは、監視中フラグに「１（監視中）」がセットされていない場合は、ステップＳ５４に進み、今回の「入賞検出なし」に応じ、監視中フラグに「１（監視中）」をセットし（ステップＳ５４）、タイマに入賞検出に関わる監視時間（例えば、５分）をセットし（ステップＳ５５）、今回の入賞チェック処理を抜けてタイマ割込メインルーチンに戻る。従って、上記監視時間（５分間）の間、入賞検出があるかを監視する処理が開始されることになる。なお、タイマにセットされたタイマ値は、ステップＳ１１２のタイマ減算処理にてタイマ割込周期毎に減算される。
【００７１】
次周期以降の入賞チェック処理では、監視中フラグに「１」がセットされている結果、入賞検出がなければ、メインＣＰＵは、ステップＳ５１を偽、ステップＳ５２を偽、ステップＳ５３を真と判別し、ステップＳ５６において、タイマが０であるか否かを判別する（ステップＳ５６）。上記監視時間（５分）が経過していなければ、メインＣＰＵは、ステップＳ５６を偽と判別し、入賞チェック処理を抜けてタイマ割込メインルーチンに戻る。従って、上記監視時間（５分）の間に入賞検出がなければ、メインＣＰＵは、ステップＳ５１を偽、ステップＳ５２を偽、ステップＳ５３を真、ステップＳ５６を偽と判別する処理ルーチンを繰り返す。そして、監視時間（５分）が経過すると、ステップＳ５６にてタイマの値が０であることが検出され、ステップＳ５６を真と判定し、試験処理に関する実行フラグＦ１に「１（実行）」をセットし（ステップＳ５７）、入賞チェック処理を終了してタイマ割込メインルーチンに戻る。以上から明らかなように、上記監視時間（５分）に亘って入賞検出がない場合に（遊技機が非稼動状態と判定された場合に）、試験処理に関する実行フラグＦ１に「１（実行）」がセットされる。
【００７２】
一方、上記監視時間（５分）の間に入賞検出がある場合には、メインＣＰＵは、ステップＳ５２を真と判別し、監視中フラグを０クリアし（ステップＳ５８）、今回の入賞チェック処理を抜けてタイマ割込メインルーチンに戻る。なお、監視中フラグが０クリアされる結果、次周期の入賞チェック処理において、入賞検出なしが判別される場合に、ステップＳ５５によって新たにタイマに監視時間がセットされることになる。
【００７３】
次に、第２実施形態における試験処理について説明する。図１２は、第２実施形態においてメインＣＰＵが実行する試験処理のサブルーチンを示すフローチャートである。メインＣＰＵは、試験処理を開始すると、まず、状態フラグｆ１が「０（開始）」であるか否かを判別する（ステップＳ６１）。なお、状態フラグｆ１は、試験処理の処理状態を識別するためのフラグであり、「０」で「開始」を表し、「１」で「試験用異常コマンドに対するＡＣＫ信号の監視中」を表し、「２」で「試験用正常コマンドに対するＡＣＫ信号の監視中」を表す。ここで、状態フラグｆ１の初期値は「０」である。メインＣＰＵは、試験処理の開始時は、状態フラグｆ１の値「０」に基いて、ステップＳ６１を真と判別し、ステップＳ６２に進む。
【００７４】
ステップＳ６２に進むと、メインＣＰＵは、状態フラグｆ１に「１」をセットし（ステップＳ６２）、試験用異常コマンド（「１０１０Ｈ」）を送信バッファにセットし（ステップＳ６３）、タイマＴにＡＣＫ信号（承認信号）の監視時間（この実施形態では１２ｍｓ）をセットし（ステップＳ６４）、今回の試験処理を抜けてタイマ割込メインルーチンに戻る。なお、タイマＴにセットされたタイマ値は、ステップＳ１１２のタイマ減算処理にてタイマ割込周期毎に減算される。また、送信バッファにセットされたコマンドは、タイマ割込ルーチンにおけるステップＳ１２２のコマンド伝送出力処理によって払出制御装置３に送信される。
【００７５】
次周期以降の試験処理では、状態フラグｆ１に「１」がセットされている結果、メインＣＰＵは、ステップＳ６１を偽と判別し、ステップＳ６５にて、状態フラグｆ１の値が１であるか否かの判別処理を真と判別し、ステップＳ６６に進み、払出制御装置３から送信されるＡＣＫ信号の返信があるか否かを判別する（ステップＳ６６）。
【００７６】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用異常コマンドに対しては、払出制御装置３はＡＣＫ信号を返信してこない。逆に、メイン制御装置２から送信された試験用異常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してきた場合には、払出制御装置３のコマンド確認手段に異常があることになり、例えば、払出制御装置３は正規なものでなく、不正により改変されていること等が考えられる。
【００７７】
メインＣＰＵは、ＡＣＫ信号の返信がなければ、ステップＳ６６を偽と判別し、監視時間が経過したか否か、すなわち、監視時間をセットしたタイマＴがタイムアップ（タイマＴ＝０）したか否かを判別し（ステップＳ６８）、監視時間が経過していなければ、今回の試験処理を抜けてタイマ割込メインルーチンに戻る。したがって、状態フラグｆ１の値「１」に基いて、試験処理では、メインＣＰＵは、ＡＣＫ信号の返信がなければ、ＡＣＫ信号（承認信号）の監視時間が経過するまでの間、ステップＳ６１を偽、ステップＳ６５を真、ステップＳ６６を偽、ステップＳ６８を偽と判別する処理ルーチンを繰り返す。
【００７８】
一方、メイン制御装置２から送信された試験用異常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してきた場合、メインＣＰＵは、ステップＳ６６を真と判別し、ステップＳ６７に進み、異常報知処理を実行して払出制御装置３の異常を報知し（ステップＳ６７）、ＨＡＬＴとなる。
【００７９】
上述の監視時間の間、ＡＣＫ信号の返信がなければ、監視時間が経過した時点のタイマＴのタイマ値が０となり、メインＣＰＵは、ステップＳ６８を真と判別してステップＳ６９に進む。メインＣＰＵは、状態フラグｆ１に「２」をセットし（ステップＳ６９）、試験用正常コマンド（「１０ＥＦＨ」）を送信バッファにセットし（ステップＳ７０）、タイマＴにＡＣＫ信号（承認信号）の監視時間（この実施形態では１２ｍｓ）をセットし（ステップＳ７１）、今回の試験処理を抜けてタイマ割込メインルーチンに戻る。
【００８０】
次周期以降の試験処理では、状態フラグｆ１に「２」がセットされている結果、メインＣＰＵは、ステップＳ６１を偽と判別し、ステップＳ６５にて、状態フラグｆ１の値が１であるか否かの判別処理を偽と判別し、ステップＳ７２に進み、払出制御装置３から送信されるＡＣＫ信号の返信があるか否かを判別する（ステップＳ７２）。
【００８１】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３はＡＣＫ信号を返信する。逆に、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３がＡＣＫ信号を返信してこない場合には、払出制御装置３のコマンド確認手段に異常があるものと判定する。
【００８２】
メインＣＰＵは、ＡＣＫ信号の返信がなければ、ステップＳ７２を偽と判別し、監視時間をセットしたタイマＴがタイムアップ（タイマＴ＝０）したか否かを判別し（ステップＳ７３）、タイマＴがタイムアップしていなければ、今回の試験処理を抜けてタイマ割込ルーチンに戻る。以下、メインＣＰＵは、状態フラグの値「２」に基いて、監視時間の間、送信した試験用正常コマンドに対してＡＣＫ信号の返信がなければ、ステップＳ６１を偽、ステップＳ６５を偽、ステップＳ７２を偽、ステップＳ７３を偽と判別する処理ルーチンを繰り返す。
【００８３】
払出制御装置３が正常である場合、メイン制御装置２から送信された試験用正常コマンドに対して、払出制御装置３はＡＣＫ信号を返信する。メインＣＰＵは、ＡＣＫ信号の返信があると、ステップＳ７２を真と判別し、ステップＳ７５に進み、状態フラグｆ１を０クリアし（ステップＳ７５）、試験処理に関する実行フラグＦ１を０クリアし（ステップＳ７６）、試験処理を終了してメインルーチンに戻る。このように、試験処理により、払出制御装置３が正常であると判定される場合には、試験処理は正常終了する。また、試験処理に関する実行フラグＦ１が０クリアされる結果、再び、入賞チェック処理が実行されることになる。
【００８４】
一方、メイン制御装置２から送信された試験用正常コマンドに対して、監視時間の間も払出制御装置３からＡＣＫ信号の返信がない場合は、タイマＴのタイマ値が０となる。メインＣＰＵは、ステップＳ７３を真と判別してステップＳ７４に進み、異常報知処理を実行して払出制御装置３の異常を報知し（ステップＳ７４）、ＨＡＬＴとなる。
【００８５】
以上に説明したように、第２実施形態では、ステップＳ１１３の入賞チェック処理によって非稼動状態（５分間入賞検出なしの状態）が検出された場合、試験処理を行うようにしている。これによれば、遊技機の非稼動時に払出制御装置３に対して不正に細工されるようなことがある場合でも試験処理を実行するので、払出制御装置３のコマンド確認手段が異常動作していることをメイン制御装置２が検知することができる。なお、非稼動状態のみならず、電源投入時の両方で、試験処理を行うようにすれば、コマンド確認手段の信頼性をより向上させることができる。
【００８６】
【発明の効果】
請求項１に記載の構成によれば、メイン制御装置が、サブ制御装置のコマンド確認手段が正常に動作するか否かを試験する試験手段を備えているので、サブ制御装置に設けられたコマンドが正しいか否かを確認するコマンド確認手段が正しく動作するかを試験でき、その結果、サブ制御装置への信頼性を高くすることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に関わる遊技機に配備されたメイン制御装置とサブ制御装置とのデータ通信に関わる制御系統（コマンド送受信装置）の要部ブロック図
【図２】メイン制御装置から払出制御装置へ送信されるコマンドデータの内容を表形式で示す図
【図３】実施形態のコマンド送受信装置におけるメイン制御装置から払出制御装置への指令信号送信を示すタイムチャート
【図４】実施形態のメイン制御装置のメインＣＰＵが実行する処理のメインルーチンを示すフローチャート（第１実施形態）
【図５】同上のメインＣＰＵが実行するタイマ割込処理ルーチンを示すフローチャート（第１実施形態）
【図６】同上のメインＣＰＵが実行する試験処理のサブルーチンを示すフローチャート（第１実施形態）
【図７】同上の払出制御装置のサブＣＰＵが実行するコマンド異常判定＆読込処理のサブルーチンを示すフローチャート
【図８】同上のサブＣＰＵが実行するコマンド受信完了処理のサブルーチンを示すフローチャート
【図９】メインＣＰＵが実行する処理のメインルーチンを示すフローチャート（第２実施形態）
【図１０】同上のメインＣＰＵが実行するタイマ割込処理ルーチンを示すフローチャート（第２実施形態）
【図１１】メインＣＰＵが実行する入賞チェック処理のサブルーチンを示すフローチャート（第２実施形態）
【図１２】同上のメインＣＰＵが実行する試験処理のサブルーチンを示すフローチャート（第２実施形態）
【図１３】従来のメイン制御装置と払出制御装置とのデータ通信に関わる制御系（払出コマンド送受信装置）の一形態を示すブロック図
【図１４】従来のメイン制御装置から払出制御装置への指令信号送信を示すタイムチャート
【図１５】メイン制御装置から払出制御装置へ送信される従来の払出数データ（払出数コマンド）の内容を表形式で示す図
【符号の説明】
１  払出コマンド送受信装置
２  メイン制御装置
３  払出制御装置（サブ制御装置）
４  遊技価値媒体排出装置
５  排出遊技価値媒体センサ
【図１】
2004181076.tif 000003
【図２】
2004181076.tif 000004
【図３】
2004181076.tif 000005
【図４】
2004181076.tif 000006
【図５】
2004181076.tif 000007
【図６】
2004181076.tif 000008
【図７】
2004181076.tif 000009
【図８】
2004181076.tif 000010
【図９】
2004181076.tif 000011
【図１０】
2004181076.tif 000012
【図１１】
2004181076.tif 000013
【図１２】
2004181076.tif 000014
【図１３】
2004181076.tif 000015
【図１４】
2004181076.tif 000016
【図１５】
2004181076.tif 000017