(57)【要約】【課題】  遊技機において、遊技中に誤動作で動作確認のためのテストが開始されることによる支障を抑制する。【解決手段】  遊技機の動作を上位制御装置、下位制御装置の分散処理によって制御する。下位制御装置はテストモードまたは遊技モードで動作する。下位制御装置が扱うコマンドには、テスト用のテストコマンド、遊技用の遊技コマンドが含まれる。テストコマンドは、遊技モードにおいては無効コマンドとして扱われ、遊技コマンドは、テストモードにおいてはテストの強制終了コマンドとして扱われる。このように動作モードに応じて、コマンドの意味を切り換えることにより、遊技モードにおいて誤動作でテストコマンドが実行されるおそれを抑制するとともに、誤動作でテストが開始された場合には遊技中に種々の契機で出力される遊技コマンドによって速やかに遊技モードに復旧させることができる。【選択図】  図３
2006087769.tif 000002
【特許請求の範囲】
【請求項１】
遊技機の下位制御装置であって、
上位制御装置からのコマンドを入力するコマンド入力部と、
前記コマンドに応じて、下位制御装置の動作をテストするためのテストモードを含む複数の動作モードの切り換えを行うモード切換制御部と、
前記動作モードごとに、前記コマンドに応じた所定の動作を実現するコマンド実行部とを備え、
前記テストの実行に関するコマンドの少なくとも一部は、前記コマンド実行部が、前記動作モードに応じて異なる動作を実現するための多義コマンドである下位制御装置。
【請求項２】
請求項１記載の下位制御装置であって、
前記コマンドには、遊技時における動作制御用の遊技コマンドが含まれ、
前記遊技コマンドの少なくとも一部は、前記多義コマンドである下位制御装置。
【請求項３】
請求項１または２記載の下位制御装置であって、
前記多義コマンドの少なくとも一部は、前記テストモード時において、前記テストの強制終了を表す下位制御装置。
【請求項４】
請求項１〜３いずれか記載の下位制御装置であって、
前記コマンドには、前記テストモードへの移行を指示するテストモード開始コマンドが含まれ、
前記モード切換制御部は、前記下位制御装置に対する所定の操作から、所定回数目のコマンドが前記テストモード開始コマンドである場合に、テストモードへの移行を行う下位制御装置。
【請求項５】
請求項１〜３いずれか記載の下位制御装置であって、
前記モード切換制御部は、前記下位制御装置に対する所定の操作によって、前記テストモードでの動作を開始する下位制御装置。
【請求項６】
請求項１〜５いずれか記載の下位制御装置であって、
前記コマンド実行部は、前記動作中に新たなコマンドを受信した場合、最新のコマンドを優先的に実行する下位制御装置。
【請求項７】
請求項１〜５いずれか記載の下位制御装置であって、
前記コマンド実行部は、前記テストモードにおける動作中である場合を除き、前記動作中に受信した新たなコマンドを無効と扱う下位制御装置。
【請求項８】
遊技機であって、
前記請求項１〜７いずれか記載の下位制御装置と、
コマンドを出力することで、前記下位制御装置を制御する上位制御装置とを有し、
前記上位制御装置は、前記下位制御装置に対して、前記テストを終了させ得るコマンドを、所定のタイミングで出力するテスト抑止部を備える遊技機。
【請求項９】
請求項８記載の遊技機であって、
前記所定のタイミングは、前記遊技機の電源投入後、最初のコマンド出力時を含む遊技機。
【請求項１０】
請求項８記載の遊技機であって、
前記テスト抑止部は、遊技中に所定の条件で前記コマンドを繰り返し出力する遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位、下位の制御装置を備える遊技機において、下位制御装置の誤動作を抑制する技術に関する。
【背景技術】
【０００２】
パチンコ機その他の遊技機の動作の制御は、処理能力が低いＣＰＵでも種々の複雑な制御を実現することができるよう、複数の制御装置の分散処理によって実現されている。かかる制御装置としては、例えば、遊技機の音声、表示などの出力や、遊技中の入賞時の処理などを制御するための下位制御装置と、下位制御装置を統合制御する上位制御装置が含まれる。遊技機では、不正防止のため、下位制御装置から上位制御装置への入力が規制され、下位制御装置は上位制御装置から開制御されるよう構成されているものもある。
【０００３】
遊技機の製造過程では、これらの制御装置について動作状態のテストが要求される。テストは、下位制御装置に予めテスト用のプログラムを搭載しておき、テスターと呼ばれるテスト専用の装置からテスト用のコマンドを入力し、得られた出力が正常か否かを確認することで行われる。特許文献１は、テスト用のコマンドを上位制御装置から出力させることにより、完成した遊技機の状態でのテストを簡易に実現する技術を開示している。
【０００４】
【特許文献１】特開２００２−１５９７１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に遊技機は、ノイズや静電気など、制御装置の動作上、劣悪な環境に設置されることが多い。このため、予めテスト用のプログラムを搭載した下位制御装置は、遊技中に誤動作によって動作状態のテストを開始するおそれがある。かかる誤動作の原因としては、例えば、ノイズ等の影響でテスト用のコマンドに相当する信号が発生するおそれや、下位制御装置が暴走してテスト用のプログラムを実行開始してしまうおそれが挙げられる。
【０００６】
遊技中にテストが開始されると、本来の表示や音声に代えてテスト用の表示がなされるなど、遊技の続行に支障が生じる。また、このように偶発的にテストが開始された場合には、自動的にテストが終了し、正常動作に復旧するという保証がない。結局、管理者が手動で復旧させる他なく、遊技の妨げになるとともに、遊技機の稼働率低下という弊害を招くことになる。本発明は、かかる課題に鑑み、遊技機において誤動作によるテスト開始の弊害を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上位制御装置と下位制御装置を有する遊技機を対象とする。下位制御装置は、上位制御装置からのコマンドを入力して動作する。下位制御装置は、その動作をテストするためのテストモードを含む複数の動作モードを採ることができ、コマンドに応じて動作モードの切り換えを制御するとともに、動作モードごとに、コマンドに応じた所定の動作を実現する。テストの実行に関するコマンドの少なくとも一部は、動作モードに応じて異なる動作を実現するための「多義コマンド」となっている。本発明によれば、多義コマンドを用いることにより、同一のコマンドに対する動作を動作モードに応じて切り換えることができる。こうすることにより、動作モードとコマンドの双方が適正な場合にのみテストが実行されることになるため、誤動作によるテスト実行を抑制することができる。
【０００８】
多義コマンドは、例えば、テストモード中は下位制御装置にテスト用の動作を行わせるためのコマンド（以下、「テストコマンド」と呼ぶ）として機能し、その他のモードにおいては、単なる無効コマンド、または遊技中に要求される所定の動作を実現するためのコマンドなどとして機能するコマンドとすることができる。こうすれば、テストが実行される機会を、テストモード中に抑制することができる。
【０００９】
また、別の態様として、下位制御装置に出力されるコマンドのうち、遊技時における動作制御用の遊技コマンドの少なくとも一部を、多義コマンドとしてもよい。例えば、遊技コマンドを、テストモードにおいて、テストコマンドとして機能させるようにしてもよい。また、別の例として、遊技コマンドを、テストモードにおいて、テストの強制終了を表すコマンドとして機能させてもよい。こうすれば、誤動作によってテストが開始された時でも、遊技中に必然的に出力されるコマンドを利用して、テスト状態から復旧させることが可能となる。ここでは、遊技コマンドを用いて強制終了する例を示したが、遊技コマンドだけでなく、遊技機で用いられるテストコマンドを除く種々のコマンドを、テストモード下で、テストの強制終了を表すコマンドとして利用することも可能である。
【００１０】
下位制御装置は、更に、テストモードへの移行を指示するテストモード開始コマンドの実行に条件を付すことによってテストモードへの移行を抑制するようにしてもよい。例えば、下位制御装置に対する所定の操作を基準として、所定回数目（例えば、初回）のコマンドがテストモード開始コマンドであるという条件下で、テストモードへの移行を行うようにしてもよい。所定の操作としては、例えば、下位制御装置の電源投入、リセットボタンの操作、予め設定された信号の入力などが挙げられる。「所定回数」は１回のみに限定する必要はなく、奇数回目、偶数回目など複数回が該当するような設定も可能である。このようにコマンドの受信回数を基準とした条件を用いれば、所定の操作からの経過時間などを計測するための複雑な構成を用いることなく、比較的簡単に、テストモードへの移行を抑制することができる。
【００１１】
多義コマンドを用いる場合、下位制御装置は、動作モードによっては、上位制御装置の意図と異なる動作をするおそれがある。かかる弊害を回避するため、下位制御装置は、下位制御装置に対する所定の操作によって、テストモードでの動作を開始するようにしてもよい。例えば、電源投入やリセットボタン操作後などの初期状態としてテストモードでの動作を開始する態様が挙げられる。こうすることにより、上位制御装置は、テストモード下でテストを終了させるためのコマンドを送信することで、下位制御装置のテストを安定的に終了させることが可能となる。
【００１２】
上述の態様においては、例えば、遊技中の動作モード（以下、「遊技モード」と呼ぶ）を初期状態とすることもできる。この場合は、誤動作が生じると、下位制御装置は、遊技モード以外のモード、即ちテストモードに陥るおそれがある。このような場合、コマンド体系によっては、下位制御装置が初期状態、即ち遊技モードで動作していることを前提として上位制御装置がコマンドを出力しても、テストを終了させることができなくなるおそれがある。一方、下位制御装置の初期状態をテストモードとしてもよい。こうすれば、誤動作が生じた場合、下位制御装置はテストモード以外のモード、即ち遊技モードで動作することになるため、遊技の実行に支障が生じなくなるという利点がある。また、初期状態がテストモードであれば、何らかのコマンドに応じてテストモードに移行するためのプログラムを下位制御装置に組み込む必要がなくなるため、遊技中に受信するコマンドに基づく誤動作でテストが開始されるおそれを抑制することができる利点もある。
【００１３】
本発明の下位制御装置は、何らかのコマンドに応じた一連の動作中に新たなコマンドを受信した場合、最新のコマンドを優先的に実行するよう構成してもよいし、最新のコマンドを無効扱いとするよう構成してもよい。前者の構成によれば、誤動作でテストを実行している最中でも、上位制御装置からのコマンドによってテストを強制終了させることが可能となる利点がある。後者の構成では、かかる利点を実現するため、下位制御装置がテストモードで動作中の場合を除いて、最新のコマンドを無効扱いとする、換言すれば、テストモードで動作中は、最新のコマンドを解釈・実行する構成とすることが望ましい。
【００１４】
本発明は、以上で説明した下位制御装置として構成してもよいし、かかる下位制御装置と上位制御装置とを備えた遊技機として構成してもよい。遊技機として構成する場合、  上位制御装置は、下位制御装置に対して、テストを終了させ得るコマンドを、所定のタイミングで出力するよう構成してもよい。こうすることで、誤動作によって下位制御装置がテストを開始しても、速やかにテストを終了させることが可能となる。この態様は、特に、上位制御装置が、下位制御装置を開制御するよう構成されている場合、即ち下位制御装置の動作モードを上位制御装置が把握しないまま制御を行うよう構成されている場合に適している。
【００１５】
テストを終了させ得るコマンドの出力タイミングとしては、例えば、遊技機の電源投入後、最初のコマンド出力時を含むことができる。こうすることで、下位制御装置の動作モードに関わらず、遊技機の初期化処理として、下位制御装置でテストが実行されていない状態を安定的に確保することができる。この態様は、特に、初期状態としてテストモードを採る下位制御装置を採用している場合に適している。
【００１６】
また、コマンドの出力は、１回に限らず、遊技中に所定の条件で繰り返し出力してもよい。こうすることで、遊技中に誤動作によってテストが開始された場合でも、速やかに復旧することが可能となる。所定の条件は、例えば、時間間隔、コマンド出力数などに基づいて設定することができる。先に説明した通り、下位制御装置は、遊技コマンドを多義コマンドと扱い、テストモード下では遊技コマンドに基づいてテストを強制終了させる構成を採ることもできる。かかる構成では、上位制御装置は、最新の遊技コマンドからの経過時間を基準として、上述の所定の条件を設定してもよい。こうすることにより、遊技中に誤動作によってテストが開始された場合、遊技者が異常を感じて遊技を中断したとしても、所定の経過時間後には、上位制御装置からのコマンド出力によってテストを終了させることが可能となる。
【００１７】
本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、一部を省略したり、適宜組み合わせたりしてもよい。また、本発明は、下位制御装置、遊技機としての構成の他、これらの装置の制御方法として構成してもよい。更に、かかる制御をコンピュータによって実現するためのコンピュータプログラム、および該コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成することもできる。ここで、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成を例示するが、本発明は、これに限らず回動式遊技機など上位／下位の制御装置を搭載した種々の遊技機に適用可能である。
Ａ．ハードウェア構成：
Ｂ．プログラム構成：
Ｃ．第１実施例における制御処理：
Ｄ．変形例：
Ｅ．第２実施例における制御処理：
【００１９】
Ａ．ハードウェア構成：
図１は実施例としての遊技機のハードウェア構成を示すブロック図である。遊技機の動作を制御する機構を中心に示した。本実施例では、遊技機の動作は、主制御基板１００、払出制御基板２００、サブ制御基板３００などの各制御基板の分散処理によって制御される。各制御基板は、内部にＣＰＵ、ＲＡＭ、ＲＯＭなどを備えたワンチップマイクロコンピュータとして構成されており、ＲＯＭに記録されたプログラムに従って種々の制御処理を実現する。主制御基板１００は、全体の動作を統括制御する上位制御装置として機能する。払出制御基板２００、サブ制御基板３００は、主制御基板１００からのコマンドに応じて動作する下位制御装置に相当する。
【００２０】
実施例の遊技機では、遊技時および製造過程における種々の不正を防止するため、主制御基板１００への外部からの入力が制限されている。図示する通り、主制御基板１００とサブ制御基板３００とは単方向のバスで接続されており、主制御基板１００はコマンド送信によって、サブ制御基板３００を開制御する。主制御基板１００と払出制御基板３００とは、制御処理の必要上、双方向のバスで接続されており、主制御基板１００はコマンドの送受信によって払出制御基板２００の動作を制御する。
【００２１】
パチンコ機は、主制御基板１００の制御に基づいて、遊技盤面に設けられた入賞口に球が入ると、球の払い出し、乱数に基づく当たり／はずれの判定を行うとともに、当たりと判定された場合には、遊技盤面に設けられた大入賞口を規定期間だけ解放するよう動作する。遊技時にかかる動作を実現するため、主制御基板１００には、入賞口への球の入賞を検出する入賞検出器１０１の検出結果が入力されている。また、主制御基板１００からは、大入賞口を解放するための大入賞口ソレノイド１０２の制御信号が出力される。
【００２２】
その他の遊技時における各動作の制御は、払出制御基板２００、サブ制御基板３００を介して行われる。払出制御基板２００は、遊技中の球の発射および払い出しを次の手順で制御する。球の発射は、直接的には発射制御基板２０２によって制御される。即ち、遊技者が、遊技盤面に設けられた発射ハンドル２０１を操作すると、発射制御基板２０２は、発射モータ２０３を制御し、球を発射する。払出制御基板２００は、発射制御基板２０２に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
【００２３】
遊技中に入賞した旨のコマンドを主制御基板１００から受信すると、払出制御基板２００は、払出しモータ２２０を制御し、球数をカウントしながら規定数の球を払い出す。払出制御基板２００は、払出し用に貯えられた球の不足の有無を球切れスイッチ２１０によって検出し、不足時には、球不足の検出信号を主制御基板１００に出力する。
【００２４】
サブ制御基板３００は、遊技中における音声、表示、ランプ点灯などの演出を制御する。これらの演出は、通常時、入賞時、大当たり時など、遊技中のステータスに応じて変化する。主制御基板１００から、各ステータスに応じた演出用のコマンド（以下、「遊技コマンド」と呼ぶ）が送信されると、サブ制御基板３００は、各コマンドに対応したプログラムを起動して、主制御基板１００から指示された演出を実現する。
【００２５】
本実施例では、図示する通り、サブ制御基板３００はスピーカ３５０を直接制御する。スピーカ３５０は、複数接続されていてもよい。液晶表示装置（以下、「ＬＣＤ」と呼ぶ）３６１は、表示制御装置３６０を介して制御する。表示制御装置３６０は、バッファ上にＬＣＤ３６１に表示する図柄を生成、記憶させ、これに基づいて、ＬＣＤ３６１の各セルを駆動制御して所望の図柄を表示させる機能を奏するワンチップマイクロコンピュータおよびＶＤＰ（Video Display Processor）を備えている。サブ制御基板３００の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ３７１と、遊技盤の枠に設けられた枠装飾ランプ３７６がある。サブ制御基板３００は、信号分配用の基板であるランプ中継基板３７０、３７５を介して、これらのランプ３７１、３７６と接続されており、各ランプを個別に点滅させることができる。
【００２６】
以上で説明したハードウェア構成は、遊技機の一例である。各ハードウェアモジュールの接続先は、図示した例に限らず種々の構成を採ることが可能である。また、遊技機に要求される機能に応じて、図示したハードウェアモジュールの一部を省略した構成、別個のハードウェアモジュールを追加した構成を採ってもよい。
【００２７】
Ｂ．プログラム構成：
図２はプログラム構成を示す説明図である。主制御基板１００のＲＯＭに記録されているプログラム（以下、「主制御プログラム」と称する）およびサブ制御基板３００のＲＯＭに記録されているプログラム（以下、「サブ制御プログラム」と称する）の構成を示した。払出制御基板２００のＲＯＭにも、同様に、制御プログラムが格納されているが、以下で説明する本実施例での処理内容との関連が低いため、ここでは図示を省略した。
【００２８】
サブ制御プログラムは、全体の動作を制御するシステムモジュール３１０を備えており、その内部には、以下に示す各モジュールが設けられている。コマンド入力モジュール３１１は、主制御基板１００からの入力ポートを介して、外部からのコマンドを入力する。本実施例のサブ制御プログラムは、遊技機で遊技を実行している時の動作モード（以下、「遊技モード」と呼ぶ）、遊技機の動作をテストするための動作モード（以下、「テストモード」と呼ぶ）の２つのモードで稼働する。モード切換制御モジュール３１２は、外部から入力されるコマンドに応じて、遊技モード、テストモードの切換を制御する。
【００２９】
サブ制御プログラムには、システムモジュール３１０の他に、遊技モードおよびテストモードのそれぞれに要求される個別の動作を実現するための個別モジュールが設けられている。遊技モード時には、遊技モード制御モジュール３１３の制御下で、次の各モジュールが動作する。スケジューラモジュール３２１は、遊技中に、主制御プログラムから入力される遊技コマンドに応じた規定の順序で、ランプの点滅や音声出力を制御する。図柄モジュール３２２は、遊技コマンドに応じてＬＣＤ３６１の表示画面を制御する。モータモジュール３２３は、遊技盤に可動部が設けられている場合に、遊技中の演出効果として、可動部の駆動モータを制御する。システムモジュール３１０内の遊技モード制御モジュール３１３は、遊技中に、遊技コマンドに応じて、個別モジュール３２１〜３２３を起動して、各種演出を実現する。
【００３０】
テストモードでは、テストモード制御モジュール３１４の制御下で次の各モジュールが動作する。押しボタンモジュール３２４は、テスト中に押しボタンの操作を入力する。この押しボタンは、例えば、オペレータが、テスト中に、ランプを個別に点灯させるため等に使用される。テスト動作モジュール３３０は、予め用意されたテスト用のコマンドに応じて、ランプの点滅、音声の出力、ＬＣＤへのテストパターンの表示などのテスト動作を実行する。テスト動作モジュール３３０内には、各テストコマンドに応じた動作を実現するための個別モジュールが含まれているが、図の煩雑化を回避するため、ここでは、これらの個別モジュールの集合体として示した。システムモジュール３１０内のテストモード制御モジュール３１４は、テスト中に、テストコマンドに応じて、押しボタンモジュール３２４およびテスト動作モジュール３３０を起動して、それぞれのテスト動作を実現する。
【００３１】
サブ制御プログラムへのテストコマンドは、主制御基板１００から行うことも可能ではあるが、本実施例では、遊技中の誤動作を抑制するため、主制御基板１００からのテストコマンドの送出を行わない構成とした。テストを実行する際には、サブ制御基板３００において、主制御基板１００が接続されるポートに、テスト専用の装置（以下、「テスター」と称する）を接続し、テスターからテストコマンドを送出する。
【００３２】
ただし、サブ制御プログラムがテスト動作用のモジュールを備えているため、遊技中でも誤動作によってテスト動作を開始するおそれがある。誤動作の原因としては、例えば、主制御基板１００から送出される遊技コマンドがノイズの影響によってテストコマンド相当の信号に変化するおそれや、サブ制御プログラムがノイズ等の影響によって暴走するおそれが挙げられる。
【００３３】
本実施例の主制御プログラムは、このような誤動作によるテスト動作の実行を抑制するために、テスト抑止モジュール１１２を備えている。テスト抑止モジュール１１２は、タイマ１１４での計測時間に基づく所定の条件下で、サブ制御プログラムのテスト動作を強制終了させるためのコマンドを発する。その詳細については、後述する。主制御プログラムには、図示する他に、遊技中の種々の処理を実現するためのモジュールが用意されている。
【００３４】
図３はコマンド一覧を示す説明図である。テストコマンドおよび遊技コマンドの例を示した。本実施例では、これらのコマンドは、テストモードおよび遊技モードで、意味内容が異なる多義コマンドとして構成されている。例えば、テストコマンドＴ１は、テストモードにおいては、「音声テスト」の実行を意味するが、遊技モードにおいては、「無効」コマンドとして扱われる。他のテストコマンドＴ２、Ｔ３等も同様である。テストコマンドＴ０については、テストモード／遊技モードの両者において、「テスト開始」を意味する。ただし、遊技モードでは、このモードで受信した初回コマンドの場合にのみこのように解釈され、その他のタイミングでは「無効」コマンドとして扱われる。
【００３５】
遊技コマンドＰ０〜Ｐ３等は、遊技モードでは、それぞれ「電源投入時演出」など、遊技時の演出効果を意味するが、テストモードでは、「テストモード解除」、即ちテストの強制終了を意味する。従って、誤動作でテストが開始された場合には、外部から遊技コマンドを入力すれば、サブ制御プログラムのテスト動作は強制終了され、遊技モードに移行することになる。
【００３６】
本実施例では、テストコマンドおよび遊技コマンドの全てを、多義コマンドとする例を示したが、いずれか一方のみを多義コマンドとする構成も可能である。また、テストコマンドおよび遊技コマンドの一部についてのみを、多義コマンドとする構成も可能である。
【００３７】
Ｃ．第１実施例における制御処理：
以上で説明したハードウェア構成およびプログラム構成に基づいて実現される具体的な制御処理について説明する。以下では、説明の便宜上、サブ制御プログラムが実行する制御処理（以下、「サブ制御処理」と称する）を最初に説明し、その後、主制御プログラムが実行する制御処理（以下、「メイン制御処理」と称する）について説明する。サブ制御基板３００は、電源投入後の初期状態では、「遊技モード」で動作するものとし、テストモードおよび遊技モードにおける各個別処理の実行中に、外部からコマンドが入力された場合には、割込が発生し、常に最新のコマンドを優先して実行するよう構成されているものとする。
【００３８】
図４は第１実施例におけるサブ制御処理のフローチャートである。サブ制御基板３００は、電源投入後、この処理を定期的に繰り返し実行している。サブ制御基板３００のＣＰＵ（以下、「サブＣＰＵ」と称する）は、まず、テスト中フラグのＯＮ／ＯＦＦを確認する（ステップＳ１０）。テスト中フラグは、テストモードでＯＮとなるフラグであり、先に説明した通り、初期状態では、ＯＦＦである。
【００３９】
テスト中フラグがＯＮの場合には、サブＣＰＵは以下に示す通り、テスト動作を実現するための処理を実行する。サブＣＰＵは、外部からの入力コマンドがある場合には（ステップＳ２０）、テストモードに対応したコマンド解析を実行する（ステップＳ２１）。即ち、先に示した図３中の「テストモード」蘭に従って、コマンドの意味内容を解析する。
【００４０】
コマンドが、テストコマンドである場合には（ステップＳ２２）、そのコマンドに応じた各種テスト処理を実行する（ステップＳ２３）。テストコマンドでない場合（ステップＳ２２）、即ち遊技コマンドである場合には、テストモードの解除を意味するため、サブＣＰＵは、テスト中フラグをリセットする（ステップＳ２４）。テストモード中に、外部からの入力コマンドがない場合には（ステップＳ２０）、従前の処理をそのまま継続する（ステップＳ２３）。
【００４１】
一方、サブＣＰＵは、テスト中フラグがＯＮでない場合（ステップＳ１０）には、遊技モードでの処理を実行する。サブＣＰＵは、外部からの入力コマンドがある場合には（ステップＳ３０）、遊技モードに対応したコマンド解析を実行する（ステップＳ３１）。即ち、先に示した図３中の「遊技モード」蘭に従って、コマンドの意味内容を解析する。
【００４２】
コマンドが遊技コマンドである場合には（ステップＳ３２）、そのコマンドに応じた各種の遊技時処理を実行する（ステップＳ３３）。遊技コマンドでない場合には（ステップＳ３２）、コマンドの入力が電源投入後、初回のものであるか、２回目以降であるかを判断する（ステップＳ３４）。初回コマンドである場合（ステップＳ３４）、入力されたコマンドがテスト開始コマンド（図３中のコマンドＴ０）であれば（ステップＳ３５）、テスト中フラグをセットする（ステップＳ３６）。初回コマンドか否かの判別は、例えば、電源投入後、初回コマンドの処理が完了するまでＯＮとなる「初回コマンドフラグ」を利用することにより容易に実現可能である。ステップＳ３６における「テスト中フラグのセット」により、次回以降は、サブ制御処理が実行される際には、テストモードでの処理が行われることになる。初回コマンドでない場合（ステップＳ３４）、またはテスト開始コマンドでない場合（ステップＳ３５）には、テスト中フラグのセットはスキップされる。
【００４３】
このように、本実施例では、電源投入後の初回コマンドがテスト開始コマンドであるという限定的な条件下で、テストモードへの移行を許可する。このようにテストモードへの移行条件を厳しくすることにより、誤動作によりテストモードに移行するおそれを抑制することができる。
【００４４】
以上の処理を終えると、サブＣＰＵは遊技時の定常割込処理を実行する（ステップＳ３７）。定常割込処理とは、異常の検出、抑制、事後処理のために遊技中に定期的に実行する処理である。例えば、各種センサの履歴作成処理、ノイズ対策用のリフレッシュ処理、演出に関するコマンドの欠落および整合性の判定処理などが含まれる。定常割込処理は、サブ制御処理よりも実行頻度を下げてもよい。また、定常割込処理を省略することも可能である。
【００４５】
図５はメイン制御処理のフローチャートである。遊技機に電源が投入されると、主制御基板１００のＣＰＵ（以下、「メインＣＰＵ」と称する）は、初期化処理を実行する（ステップＳ１００）。初期化処理には、メモリのクリアなど、種々の処理が含まれる。初期化処理の一環として、最後に遊技コマンドを出力してからの経過時間を表す変数ＥＴを値０のリセットも行う。この変数ＥＴは、後述する通り、誤動作によってサブ制御基板３００がテスト動作を開始した時に、テスト動作を強制終了させるための処理に用いられる。
【００４６】
メインＣＰＵは、初期化処理が完了すると、遊技制御処理を実行する（ステップＳ１０１）。即ち、遊技者の操作によって発射された球の入賞の有無の判定、入賞時の大当たり判定や払出判定、大当たり時の大入賞口の操作、遊技時における演出制御などを、遊技の状況に応じて適宜実行する。先に説明した通り、球の払い出しを行う際には、払出制御基板２００にコマンドを出力し、遊技中の演出については、サブ制御基板３００に遊技コマンドを出力する。
【００４７】
図中の右側には、サブ制御処理を示した。この処理は、先に図４に示した処理に相当する。主制御基板１００から、遊技コマンドが送信されると、サブ制御基板３００では、このコマンドを受け取り、図４のフローチャートに従って、各種の遊技時処理等が実行される。また、サブ制御基板３００が誤動作によってテストモードに入っている時は、主制御基板１００から出力される遊技コマンドによって、テストモードから解除されることになる（図３および図４のステップＳ２４参照）。
【００４８】
メインＣＰＵは、遊技コマンドを送信した時には、経過時間ＥＴを値０にリセットする（ステップＳ１０１）。遊技コマンドを出力していない間は、経過時間ＥＴは、時間経過とともに増大することになる。メインＣＰＵは、経過時間ＥＴが所定の閾値Ｔｈを超えた場合には、ダミーの遊技コマンドをサブ制御基板３００に向けて送信する（ステップＳ１０３）。この遊技コマンドは、サブ制御基板３００が誤動作によって実行しているテスト動作を強制終了させる目的で出力されるものである。どのような遊技コマンドも使用可能であるが、サブ制御基板３００は、遊技モードで正常に動作している可能性もあるため、遊技に支障がないコマンドを用いることが好ましい。かかるコマンドとしては、例えば、比較的目立たない部位にあるランプの点灯、小さい音量での音声の出力などの演出用のコマンド、およびノイズ対策用のリフレッシュ処理の指示などのサブ制御基板３００内部で行われる処理を指示するコマンドなどが挙げられる。
【００４９】
メインＣＰＵは、以上の処理を終えると、再び、ステップＳ１０１から処理を繰り返す。経過時間ＥＴが所定の閾値Ｔｈに満たない場合には（ステップＳ１０２）、ダミーの遊技コマンドの送信（ステップＳ１０３）をスキップして、ステップＳ１０１から処理を繰り返す。
【００５０】
図の下方に、メイン制御処理とサブ制御基板３００の動作モードとの関係を示した。この例では、ｔ０以降の時間経過に対して、サブ制御基板３００の動作モードの変遷、主制御基板１００からの遊技コマンドの出力、および経過時間ＥＴの変化を示した。図中、塗りつぶした三角のマークは、遊技コマンドの出力を表している。
【００５１】
遊技中には、図示する通り、種々のタイミングで遊技コマンドが出力される。経過時間ＥＴは、遊技コマンドｃ１が出力された後、時間とともに増大する。その後、遊技コマンドｃ２が出力された時点でリセットされ、再び増大する。
【００５２】
時刻ｔ１で誤動作によりサブ制御基板３００がテストモードに移行したとする。その後、経過時間ＥＴが閾値Ｔｈに至る前の時刻ｔ２で、遊技中に生じた入賞等を契機とする遊技コマンドｃ３が出力されたとする。先に説明した通り、テストモードでは、サブ制御基板３００は、この遊技コマンドｃ３をテストモードの解除と解釈するため、動作モードは再び遊技モードに復旧することになる。
【００５３】
再び時刻ｔ３において、誤動作によりサブ制御基板３００がテストモードに移行したとする。その後、遊技コマンドが生じる契機がないまま、時刻ｔ４において、経過時間ＥＴが閾値Ｔｈに至ったとする。この時点では、図５中のステップＳ１０３の処理により、ダミーの遊技コマンドが送信される。この結果、サブ制御基板３００は、再び遊技モードに復旧する。
【００５４】
このようにメイン制御処理において、最後の遊技コマンド出力からの経過時間に基づいて遊技コマンドを出力することにより、サブ制御基板３００が誤動作でテストモードに移行した場合に、遊技コマンドの間隔が開いたとしても、テストモードから遊技コマンドへの復旧を実現することができる。例えば、テストモードで遊技中としては異常な表示が開始され、遊技者が遊技を中断してしまった場合でも、経過時間ＥＴが閾値Ｔｈ以上となれば、遊技モードに復旧させることが可能となる。
【００５５】
以上で説明した第１実施例の遊技機によれば、多義コマンドを用いることにより、遊技モード中にテストコマンドを受信したとしても、無効コマンド扱いとすることができ、誤動作によるテストを抑制することができる。また、テストモードにおいて、遊技コマンドを受信した場合には、テストを強制終了させることができるため、仮に誤動作によってテスト動作に入ったとしても、そのようなテスト動作から速やかに復旧させることができる。遊技コマンドは、遊技中における種々の契機で発信されるため、主制御基板１００がサブ制御基板３００の動作モードを認識できない開制御を行っている場合でも、比較的速やかな復旧を実現することができる利点がある。
【００５６】
第１実施例において説明した制御処理は、必ずしも全てを備えている必要はない。例えば、メイン制御処理において、経過時間ＥＴに基づく遊技コマンドの送信（ステップＳ１０３）は省略してもよい。多義コマンドは、テストコマンドまたは遊技コマンドの一方のみとしてもよい。また、テストモードへの移行について、初回コマンド受信時のみ（図４のステップＳ３４）という限定条件を外すこともできる。
【００５７】
Ｄ．変形例：
第１実施例では、サブ制御基板３００は、各個別処理の実行中に、外部からコマンドが入力された場合には、割込が発生し、常に最新のコマンドを優先して実行するよう構成されている場合を例示した。本実施例は、逆に、個別処理の実行中には、最新のコマンドを無視する構成のサブ制御基板に対しても適用可能である。かかる構成について変形例として説明する。
【００５８】
図６は変形例におけるコマンド受信処理のフローチャートである。サブＣＰＵが、個別処理の実行中か否かに関わらず定期的に実行する処理である。サブＣＰＵは、まず、コマンドを受信したか否かを確認する（ステップＳ５０）、コマンドを受信していない場合には、何も行わずに処理を終了する。
【００５９】
コマンドを受信した場合には、遊技時処理を実行中であれば（ステップＳ５１）、受信したコマンドは無視して、処理を終了する。その他の場合であれば（ステップＳ５１）、割込を発生させ、サブ制御処理（第１実施例の図４の処理）を実行する（ステップＳ５２）。図の右側に、割込発生の有無の一覧を示した。ケース２に示す通り、遊技処理を実行中であれば、割込は発生しない。即ち、新たに受信したコマンドは無視される。その他のケース、即ち、テスト処理が実行されている場合（ケース１）、およびテスト処理も遊技処理も実行されていない場合（ケース３）には、割込が発生される。
【００６０】
変形例によれば、テスト処理の実行中は、最新のコマンドが無視されることなく処理されるため、誤動作によってテストモードに入った場合であっても、速やかな復旧を実現することができる。
【００６１】
Ｅ．第２実施例における制御処理：
図７は第２実施例における制御処理である。第２実施例では、サブ制御基板３００は、電源投入後の初期状態として、「テストモード」で動作するものとする。また、第１実施例と同様、個別処理中に新たなコマンドを受信した場合には、受信した最新のコマンドを優先して実行する構成とする。ただし、先に図６で示した処理をコマンド受信処理として実行することにより、最新のコマンドを無視する構成に適用することも可能である。
【００６２】
図では、右側にサブ制御処理、左側にメイン制御処理のフローチャートをそれぞれ示した。説明の便宜上、サブ制御処理から説明する。サブ制御処理では、サブＣＰＵは、テスト中フラグがＯＮであればテストモードでの処理を実行し、ＯＦＦであれば遊技モードでの処理を実行する（ステップＳ１０Ａ）。テストモードでの処理（ステップＳ２０Ａ〜Ｓ２４Ａ）は、第１実施例（図４）と同様であるため、説明を省略する。
【００６３】
遊技モードでは、サブＣＰＵは、新たなコマンドがあれば（ステップＳ３０Ａ）、第１実施例と同様、遊技モードでのコマンド解析を実行する（ステップＳ３１Ａ）。新たなコマンドがない場合には、この処理はスキップされる。
【００６４】
次に、サブＣＰＵは、各種の遊技時処理を実行する（ステップＳ３３Ａ）。即ち、新たに遊技コマンドを受信している場合には、そのコマンドに応じた個別処理が開始されることになる。新たに受信したコマンドがテストコマンドである場合には、「無効コマンド」扱いとなるため、従前に実行していた処理を継続する。新たなコマンドがない場合も同様である。
【００６５】
第１実施例では、遊技モードにおいても、「テスト開始」を意味するコマンドＴ０（図３参照）を電源投入後の初回のみ有効として扱ったが、第２実施例では、遊技モードにおいては常に無効と扱う。サブ制御基板３００はテストモードを初期状態とするため、かかる扱いでも、必要があればテストの実行は可能である。第２実施例では、「テスト開始」コマンド自体を削除しても差し支えない。
【００６６】
一方、メイン制御処理では、電源投入後の初期化処理として、サブ制御基板３００の動作モードを初期状態の「テストモード」から「遊技モード」に移行させる処理を実行する（ステップＳ１００Ａ）。この例では、ダミーの遊技コマンドを送信するものとした。この時点では、まだ遊技は開始されていないため、遊技コマンドの種類に適否はない。
【００６７】
以上で説明した第２実施例の遊技機によれば、テスト開始コマンドによるテストモードへの移行処理を排除することができるため、遊技中に受信するコマンドに基づく誤動作でテストが開始されるおそれを抑制することができる。
【００６８】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。実施例では、サブ制御基板３００におけるテスト動作の制御を例示したが、同様の構成は、払出制御基板２００その他の下位制御基板にも適用することが可能である。実施例においえソフトウェア的に実現されている種々の処理は、ＡＳＩＣなどによってハードウェア的に実現しても構わない。
【図面の簡単な説明】
【００６９】
【図１】実施例としての遊技機のハードウェア構成を示すブロック図である。
【図２】プログラム構成を示す説明図である。
【図３】コマンド一覧を示す説明図である。
【図４】第１実施例におけるサブ制御処理のフローチャートである。
【図５】メイン制御処理のフローチャートである。
【図６】変形例におけるコマンド受信処理のフローチャートである。
【図７】第２実施例における制御処理である。
【符号の説明】
【００７０】
１００…主制御基板
１０１…入賞検出器
１０２…大入賞口ソレノイド
１１２…テスト抑止モジュール
１１４…タイマ
２００…払出制御基板
２０１…発射ハンドル
２０２…発射制御基板
２０３…発射モータ
２１０…球切れスイッチ
２２０…払出しモータ
３００…サブ制御基板
３００…払出制御基板
３１０…システムモジュール
３１１…コマンド入力モジュール
３１２…モード切換制御モジュール
３１３…遊技モード制御モジュール
３１４…テストモード制御モジュール
３２１…スケジューラモジュール
３２２…図柄モジュール
３２３…モータモジュール
３２４…ボタンモジュール
３３０…テスト動作モジュール
３５０…スピーカ
３６０…表示制御装置
３６１…ＬＣＤ
３７０、３７５…ランプ中継基板
３７１…パネル装飾ランプ
３７６…枠装飾ランプ
【図１】
2006087769.tif 000003
【図２】
2006087769.tif 000004
【図３】
2006087769.tif 000005
【図４】
2006087769.tif 000006
【図５】
2006087769.tif 000007
【図６】
2006087769.tif 000008
【図７】
2006087769.tif 000009