(57)【要約】【課題】  遊技機の制御装置において信号授受時のノイズの影響を抑制する。【解決手段】  遊技機を制御するために主制御基板１００、サブ制御基板３００、表示制御基板３４０を設ける。各制御基板間、および表示制御基板３４０内のＣＰＵ３４２とＶＤＰ３４６との間でのコマンドの授受は、ＳＥＬ信号、ＷＲ信号、ＶＢＲＡＮＫ信号という制御信号で制御される。各制御基板のＣＰＵの割込端子に入力される各制御信号の状態は、各ＣＰＵによって検出可能である。この検出を可能とするため、サブ制御基板では割込／検出を同時に実現可能な割込端子を用いる。表示制御基板では、ＶＢＲＡＮＫ信号に対しては、割込／検出を機能設定で切り換え可能な割込端子を用い、ＳＥＬ信号等に対しては、割込端子とデータ入力端子を並列にして用いる。こうすることで制御信号へのノイズの影響の有無を検知することができ誤動作を抑制できる。【選択図】  図２
2006187467.tif 000002
【特許請求の範囲】
【請求項１】
連携して制御処理を行う複数の制御装置を有する遊技機であって、
前記制御装置には、
他の制御装置にデータを送信する機能を有する送信側制御装置と、
他の制御装置からデータを受信する機能を有する受信側制御装置とが含まれ、
前記受信側制御装置の少なくとも一部は、
前記送信側制御装置からのデータ受信のための制御信号を入力する端子として、該制御信号を割込端子として入力する割込機能、およびポート端子として入力するポート機能を含む複数機能を実現可能な多機能端子を備え、
前記多機能端子を制御して、前記割込機能によりアクティブな制御信号を検出した後、前記ポート機能によって前記制御信号を読み込む信号検出部と、
前記信号検出部によって読み込まれた制御信号を用いて、該制御信号の有効性を判断する有効性判断部と、
前記制御信号が有効と判断された場合に、前記送信側制御装置からのデータ受信を実行する受信制御部とを備える遊技機。
【請求項２】
請求項１記載の遊技機であって、
前記多機能端子は、機能設定の変更を伴わずに、前記割込機能およびポート機能の双方を実現可能な端子である遊技機。
【請求項３】
請求項１記載の遊技機であって、
前記多機能端子は、機能設定の変更によって、前記割込機能およびポート機能を選択的に実現可能な端子であり、
前記信号検出部は、前記アクティブな制御信号の検出に呼応して、前記多機能端子の機能設定を前記ポート機能に変更して、前記制御信号を読み込む遊技機。
【請求項４】
請求項１〜３いずれか記載の遊技機であって、
前記受信側制御装置は、
更に、前記制御信号を割込信号として入力する割込端子と、通常の信号として入力する信号入力端子とを有し、
前記受信側制御装置と前記送信側制御装置とは、前記割込端子に入力される制御信号が前記信号入力端子にも並列に入力されるよう接続されており、
前記信号検出部は、前記割込端子にアクティブな制御信号が入力された場合には、前記信号入力端子に入力された前記制御信号を読み込む遊技機。
【請求項５】
請求項４記載の遊技機であって、
前記送信側制御装置には、前記受信側制御装置に対してコマンドを送信する上位制御装置が含まれ、
前記受信側制御装置は、
前記上位制御装置とは、前記制御信号が、前記割込端子および前記信号入力端子に入力されるよう接続されており、
他の送信側制御装置とは、前記制御信号が、前記多機能端子に入力されるよう接続されている遊技機。
【請求項６】
請求項５記載の遊技機であって、
遊技中の演出表示を行うためのディスプレイと、
前記遊技中における音声および表示による演出効果を制御し、前記上位制御装置として機能するサブ制御装置と、
前記サブ制御装置からのコマンドに応じて前記ディスプレイへの描画を制御し、前記受信制御装置として機能する表示制御装置と、
前記表示制御装置とのデータ送受信に応じて、前記ディスプレイを駆動し、前記他の送信側制御装置として機能する駆動制御装置とを有する遊技機。
【請求項７】
請求項１〜６いずれか記載の遊技機であって、
前記受信側制御装置には、前記多機能端子が複数備えられており、
前記制御信号には、前記受信側制御装置を選択するためのセレクト信号と、前記受信側制御装置による前記データ受信を許可するリードライト信号とが含まれ、
前記セレクト信号および前記リードライト信号は、個別の多機能端子にそれぞれ接続されている遊技機。
【請求項８】
請求項１〜７いずれか記載の遊技機であって、
前記信号検出部は、前記制御信号を複数回、読み込み、
前記有効性判断部は、前記複数回にわたって読み込まれた制御信号の比較に基づいて、該制御信号の有効性を判断する遊技機。    
【請求項９】
請求項１〜８いずれか記載の遊技機であって、
前記信号検出部は、前記制御信号および前記データを複数回、読み込み、
前記有効性判断部は、前記複数回にわたって読み込まれた制御信号およびデータの比較に基づいて、該制御信号およびデータの有効性を判断する遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携して制御処理を行う複数の制御装置を有する遊技機およびその制御方法に関する。
【背景技術】
【０００２】
パチンコ機その他の遊技機の動作の制御は、処理能力が低いＣＰＵでも種々の複雑な制御を実現することができるよう、複数の制御装置の分散処理によって実現されている。かかる制御装置としては、例えば、パチンコ機の場合、音声、表示などの演出効果を制御するサブ制御基板や、遊技中の入賞時の処理などを制御する払出制御基板と、これらのサブ制御基板および払出制御基板を統合制御する主制御装置が含まれる。サブ制御基板には、更に、液晶パネルなどの表示装置の表示を制御するための表示制御基板が設けられることもある。各制御基板には、それぞれＣＰＵが設けられており、これらのＣＰＵは種々のコマンド等をやりとりしながら遊技機の制御を行う。
【０００３】
一般に遊技機は、静電気などのノイズ要因が多く存在する劣悪な環境で使用されることが多い。かかる環境では、分散処理のような複雑な制御装置構成では、ノイズ等の影響によって誤動作を生じるおそれがある。従って、遊技機においては、制御基板間でコマンドをやりとりする際にノイズの影響を回避するための技術が要求される。通常、コマンドの授受は、割込処理によって行われることが多いため、特に、割込端子へのノイズの影響回避に対する要請が強い。
【０００４】
かかる技術の一つとして、特許文献１記載の技術が挙げられる。この技術では、ＣＰＵの割込端子への入力信号を、通常の入力ポートにも並列に入力することで割込端子に入力された信号の状態を検出可能とする。そして、割込端子にアクティブな信号が入力された後、所定時間が経過した時点で、入力ポートの信号を確認し、入力ポート側でもアクティブな信号が検出された場合にのみ、コマンドの受信を行う。
【０００５】
【特許文献１】特開２００１−３２１５３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来技術では、割込端子の他に、割込信号を入力するための端子が要求されるという短所がある。このため、割込信号の数に比例して、ノイズ回避に要する端子数も増えることとなる。遊技機では、いずれのＣＰＵにおいてもノイズの影響を看過できない状態にあるため、可能な限りノイズへの対策を施したいのが実状である。かかる実状を考慮すると、ノイズ回避に要する端子数の増加は看過し得ない短所となる。
【０００７】
このように、遊技機においては、ノイズ対策は一種類のみでは十分とは言えず、多様な対策を用意するとともに、制御装置の構造に応じて、最適な対策を選択して施していくことが望まれる。本発明は、かかる課題に鑑み、遊技機にとって好ましいノイズ対策技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、連携して制御処理を行う複数の制御装置を有する遊技機を対象とする。これらの制御装置には、送信側制御装置と受信側制御装置が含まれる。送信側制御装置とは、他の制御装置にデータを送信する機能を有する制御装置であり、受信側制御装置とは、他の制御装置からデータを受信する機能を有する制御装置である。双方の機能を有する制御装置が存在していてもよい。
【０００９】
本発明における受信側制御装置の少なくとも一部には、送信側制御装置からのデータ受信のための制御信号を入力する端子として、少なくとも一つの多機能端子が設けられている。多機能端子とは、制御信号を割込端子として入力する割込機能、およびポート端子として入力するポート機能を含む複数機能を実現可能な端子である。受信制御装置は、この多機能端子を制御して、割込機能によりアクティブな制御信号を検出した後、ポート機能によって制御信号を読み込む。そして、読み込まれた制御信号を用いて、制御信号の有効性を判断し、この制御信号が有効と判断された場合に、送信側制御装置からのデータ受信を実行する。
【００１０】
本発明によれば、受信制御装置は、ポート機能によって制御信号の有効性を判断すること（以下、この処理を「ノイズチェック」と称する）により、ノイズによる誤動作の影響を抑制することができる。また、このノイズチェックを、多機能端子によって行うことができるため、ノイズチェック用に他の端子を併用する必要がなくなり、シンプルな回路構成を実現することができる利点もある。
【００１１】
多機能端子としては、例えば、機能設定の変更を伴わずに、割込機能およびポート機能の双方を実現可能な端子を用いることができる。即ち、機能設定が不要という意味で「同時に」、割込機能およびポート機能を実現可能な端子である。以下、このタイプの多機能端子を、「並行機能タイプ」と称するものとする。並行機能タイプの多機能端子を用いることにより、端子の機能設定を変更するまでなくノイズチェックが可能であるため、処理の簡素化を図ることができる利点がある。
【００１２】
多機能端子としては、機能設定の変更によって、割込機能およびポート機能を選択的に実現可能な端子としてもよい。以下、このタイプの多機能端子を、「選択機能タイプ」と称するものとする。この場合、受信側制御装置は、割込機能によってアクティブな制御信号が検出された場合に、多機能端子の機能設定をポート機能に変更し、制御信号を読み込むことによってノイズチェックを実現することができる。
【００１３】
受信側制御装置に、多機能端子に加え、前記制御信号を割込信号として入力する割込端子（以下、「単機能端子」と呼ぶ）と、通常の信号として入力する信号入力端子とを設け、受信側制御装置と送信側制御装置とは、単機能端子に入力される制御信号が信号入力端子にも並列に入力されるよう接続してもよい。受信側制御装置は、単機能端子にアクティブな制御信号が入力された場合には、信号入力端子に入力された制御信号を用いてノイズチェックを行うことができる。こうすることで、制御信号の種類や、送信側制御装置の種類に応じて、多機能端子と単機能端子とを使い分け、効率的な回路構成、ノイズチェックを実現することができる。
【００１４】
多機能端子と単機能端子との併用例としては、例えば、次の構成が挙げられる。送信側制御装置に、受信側制御装置に対してコマンドを送信する上位制御装置が含まれる場合には、受信側制御装置は、この上位制御装置との間は単機能割込端子を用いて接続し、他の送信側制御装置とは、多機能端子を用いて接続する。
【００１５】
多機能端子は、先に説明した２つのタイプ、即ち並行機能タイプと選択機能タイプのいずれを用いてもよいが、選択機能タイプを用いた方がコスト面で有利である。先に説明した通り、選択機能タイプは並行機能タイプよりもノイズチェックの所用時間が長くなるが、上位制御装置以外の送信側制御装置とのデータ授受では、所要時間がやや長くなっても許容されることが多いため、選択機能タイプを有効活用することができる。
【００１６】
例えば、遊技機に、遊技中の演出表示を行うためのディスプレイ、およびサブ制御装置、表示制御装置、駆動制御装置の各制御装置が設けられている場合を考える。サブ制御装置は、遊技中における音声および表示による演出効果を制御する装置であり、表示制御装置に対してコマンドを送信する上位制御装置に相当する。表示制御装置は、サブ制御装置からのコマンドに応じてディスプレイへの描画を制御する受信側制御装置に相当する。駆動制御装置は、表示制御装置から送信されるデータに応じてディスプレイを駆動するが、このデータの送信タイミングを知らせる信号を表示制御装置に送信するという意味で送信側制御装置に相当する。かかる構成では、サブ制御装置と表示制御装置との間は単機能割込端子を用いて制御信号が授受されるように接続し、表示制御装置と駆動制御装置との間は多機能割込端子を用いて制御信号が授受されるように接続することができる。多機能割込端子としては、先に説明した理由から、選択機能タイプを用いることが好ましい。
【００１７】
遊技機では、通常、サブ制御装置にコマンドを送信するための主制御装置が更に設けられている。両者間では、主制御装置が送信側制御装置に相当し、サブ制御装置が受信側制御装置に相当する。両者間の制御信号の授受は、単機能端子および多機能端子のいずれを用いることもできるが、コマンド送信に要する時間の短縮化を図るため、並行機能タイプの多機能端子を用いることが好ましい。
【００１８】
制御信号としては、受信側制御装置を選択するためのセレクト信号や、データ受信を許可するリードライト信号などが存在する。上述した種々の構成のいずれを採るかに関わらず、受信側制御装置に多機能端子が複数備えられている場合には、セレクト信号およびリードライト信号は個別の多機能端子にそれぞれ接続することが好ましい。こうすることにより、各制御信号に対して個別にノイズチェックを施すことが可能となり、制御の信頼性を向上することができる。
【００１９】
本発明において、制御信号を一度だけ読み込んでノイズチェックを行うこともできる。制御信号の読み込み自体は、割込機能によってアクティブな制御信号を検出した時点で開始されているから、読み込まれた制御信号がアクティブであれば、その制御信号は有効なものと判断することができる。この方法は、制御信号の読み込みが１回で済むため、比較的、短時間で簡易にノイズチェックできる利点がある。
【００２０】
これに対し、制御信号を複数回、読み込み、複数回にわたって読み込まれた制御信号の比較に基づいて、制御信号の有効性を判断するようにしてもよい。この方法では、複数回分の制御信号が一致している場合に、その制御信号は有効なものと判断することができる。この方法によれば、ノイズチェックの信頼性を向上することができる。
【００２１】
また、本発明では、制御信号のみならずデータについてノイズチェックを施してもよい。データのノイズチェックには、複数回のデータ読み込み結果を比較し、両者が一致している場合に有効と判断する方法を採ることができる。
【００２２】
制御信号とデータのノイズチェックは、それぞれ個別に実行することもできる。また、制御信号およびデータを一組として複数回、読み込み、複数回にわたって読み込まれた制御信号およびデータの比較に基づいて有効性を判断することもできる。後者の方法によれば、有効性判断の処理回数を減らすことができるため、前者よりも処理時間が短縮される利点がある。
【００２３】
本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、一部を省略したり、適宜組み合わせたりしてもよい。また、本発明は、遊技機としての構成の他、遊技機に設けられた制御装置間の信号伝達方法として構成してもよい。更に、かかる信号伝達方法をコンピュータによって実現するためのコンピュータプログラム、および該コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成することもできる。
【発明を実施するための最良の形態】
【００２４】
本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、これに限らず回胴式遊技機など種々の遊技機に適用可能である。
Ａ．制御回路構成：
Ｂ．コマンド送信方法：
Ｃ．主制御処理：
Ｄ．コマンド受信処理（１）：
Ｅ．コマンド受信処理（２）：
Ｆ．表示コマンド出力処理：
【００２５】
Ａ．ハードウェア構成：
図１は実施例としての遊技機のハードウェア構成を示すブロック図である。遊技機の動作を制御する機構を中心に示した。本実施例では、遊技機の動作は、主制御基板１００、払出制御基板２００、サブ制御基板３００、表示制御基板３４０などの各制御基板の分散処理によって制御される。主制御基板１００、払出制御基板２００、サブ制御基板３００は、それぞれ内部にＣＰＵ、ＲＡＭ、ＲＯＭなどを備えたワンチップマイクロコンピュータとして構成されており、ＲＯＭに記録されたプログラムに従って種々の制御処理を実現する。但し、ＣＰＵの処理能力は、サブ制御基板３００および表示制御基板３４０の方が主制御基板１００よりも高くなっている。こうすることにより、サブ制御基板３００および表示制御基板３４０の処理能力が十分に確保されるため、主制御基板１００の処理を比較的シンプルな判断処理およびコマンド出力などの負荷の軽い処理に制限することができる。表示制御基板３４０には、表示制御用のＣＰＵ、ＲＡＭ、ＲＯＭなどが備えられ、バッファ上にＬＣＤ３６１に表示する図柄を生成、記憶させるためのワンチップマイクロコンピュータ、および液晶ディスプレイ（ＬＣＤ）３６１の各セルを駆動制御するためのＶＤＰ（Video Display Processor）が備えられている。
【００２６】
実施例の遊技機では、種々の不正を防止するため、主制御基板１００への外部からの入力が制限されている。主制御基板１００とサブ制御基板３００とは４ビットのデータ線を有するパラレル電気信号で接続されており、主制御基板１００と払出制御基板２００とは、制御処理の必要上、双方向シリアル電気信号で接続されている。払出制御基板２００、サブ制御基板３００は、それぞれ主制御基板１００からのコマンドに応じて動作する。表示制御基板３４０は、サブ制御基板３００からのコマンドに応じて動作する。
【００２７】
遊技機は、主制御基板１００の制御に基づいて、遊技盤面に設けられた入賞口に球が入ると、球を払い出し、乱数に基づく当たり／はずれの判定を行うとともに、当たりと判定された場合には、遊技盤面に設けられた大入賞口を規定期間だけ解放するよう動作する。遊技時にかかる動作を実現するため、主制御基板１００には、入賞口への球の入賞を検出する入賞検出器１０１の検出結果が入力されている。また、主制御基板１００からは、大入賞口を解放するための大入賞口ソレノイド１０２の制御信号が出力される。
【００２８】
主制御基板１００には、図柄表示ＬＥＤ３８０も接続されている。図柄表示ＬＥＤ３８０は、１６個のＬＥＤから構成されており、遊技中の入賞の状態に応じて、普通図柄、特別図柄、普通図柄保留、特別図柄保留と呼ばれる表示を行う。主制御基板１００は、図柄表示ＬＥＤ３８０の点灯状態を直接制御する。
【００２９】
遊技時におけるその他の制御は、払出制御基板２００、サブ制御基板３００を介して行われる。払出制御基板２００は、遊技中の球の発射および払い出しを次の手順で制御する。球の発射は、直接的には発射制御基板２０２によって制御される。即ち、遊技者が、発射ハンドル２０１を操作すると、発射制御基板２０２は、発射モータ２０３を制御し、球を発射する。払出制御基板２００は、発射制御基板２０２に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
【００３０】
遊技中に入賞した旨のコマンドを主制御基板１００から受信すると、払出制御基板２００は、払出しモータ２２０を制御し、球数をカウントしながら規定数の球を払い出す。払出制御基板２００は、払出し用に貯えられた球の不足の有無を球切れスイッチ２１０によって検出し、不足時には、球不足の検出信号を、主制御基板１００経由でサブ制御基板３００に出力する。サブ制御基板３００は、この信号を受けて、枠装飾ランプ３７６の所定の部位を点灯させる。
【００３１】
サブ制御基板３００は、遊技中における音声、表示、ランプ点灯などの演出を制御する。これらの演出は、通常時、入賞時、大当たり時など、遊技中のステータスに応じて変化する。主制御基板１００から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御基板３００は、各コマンドに対応したプログラムを起動して、主制御基板１００から指示された演出を実現する。
【００３２】
本実施例では、図示する通り、サブ制御基板３００はスピーカ３５０を直接制御する。スピーカ３５０は、複数接続されていてもよい。液晶表示装置（以下、「ＬＣＤ」と呼ぶ）３６１は、表示制御基板３４０を介して制御する。サブ制御基板３００の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ３７１と、枠に設けられた枠装飾ランプ３７６がある。サブ制御基板３００は、ランプ駆動基板３７０、およびランプ中継基板３７５を介して、これらのランプ３７１、３７６と接続されており、各ランプを個別に点滅させることができる。
【００３３】
図２は制御基板間の接続方法を示す説明図である。主制御基板１００、サブ制御基板３００、および表示制御基板３４０間の接続方法を示した。各制御基板には、ＲＡＭ、ＲＯＭなども設けられているが、説明の便宜上、省略し、制御に必要な信号の授受に関連する部分のみを示した。
【００３４】
主制御基板１００のＣＰＵ１０４から、サブ制御基板３００のＣＰＵ３０２には、複数ビット分のコマンド送信用のデータ線が接続されている。データ線の本数は任意に設定可能であるが、本実施例では、４ビット分とした。また、このデータ線を通じてコマンドを送信するための制御信号として、リードライト信号（ＷＲ信号）およびチップセレクト信号（ＳＥＬ信号）が、ＣＰＵ３０２の割込端子３０２ａ、３０２ｂにそれぞれ接続されている。
【００３５】
割込端子３０２ａ、３０２ｂは、並行機能タイプの多機能端子である。ＣＰＵ３０２は、割込端子３０２ａ、３０２ｂに入力された信号の状態が、ＣＰＵ３０２内のレジスタの所定アドレスに常時格納されるよう構成されている。従って、割込端子３０２ａ、３０２ｂにアクティブな信号が入力されると、ＣＰＵ３０２は、これをトリガとして割込処理を開始するとともに、上述のレジスタのビットを調べることによって、割込端子３０２ａ、３０２ｂに入力された信号の状態を検出することもできる。
【００３６】
サブ制御基板３００と表示制御基板３４０との接続について説明する。表示制御基板３４０には、制御装置として、表示制御用のＣＰＵ３４２と、ＶＤＰ（Video Display Processor）３４６が設けられている。ＣＰＵ３４２は、サブ制御基板３００から、ＬＣＤ３６１に表示内容を指定するコマンドを受け、このコマンドに応じて表示コマンドを生成する。この時点では、例えば、文字はキャラクタコード、表示位置、表示色、表示サイズなどの情報によって表されている。
【００３７】
ＶＤＰ３４６は、この表示コマンドに応じて、ＬＣＤ３６１の各ピクセルに表示すべきＲＧＢの階調値を表す描画データを生成する。表示コマンドにおいてキャラクタコードで表されていた文字は、キャラクタＲＯＭ３４４を参照することで、所定サイズのビットマップ情報に置換される。ＶＤＰ３４６は、生成された描画データを内部のレジスタに格納するとともに、走査線ごとにＬＣＤ３６１に送信して、遊技中の装飾表示を行う。ＶＤＰ３４６は、１６ｍｓ周期で、レジスタから描画データを順次出力してＬＣＤ３６１への表示を行うとともに、バックグラウンドで、ＣＰＵ３４２から表示コマンドを読み込み、レジスタの別の領域に、次の画面の描画データを格納する処理を実行する。この処理過程において、表示コマンドを読み込み可能な時期には、ＶＢＲＡＮＫ信号がアクティブとなる。
【００３８】
サブ制御基板のＣＰＵ３０２と表示制御基板のＣＰＵ３４２との間、およびＣＰＵ３４２とＶＤＰ３４６との間は、複数ビット分のコマンド送信用のデータ線が接続されている。また、このデータ線を通じてコマンドを送受信するための制御信号として、ＣＰＵ３０２とＣＰＵ３４２との間では、ＷＲ信号およびＳＥＬ信号が接続さている。ＷＲ信号は、ＣＰＵ３４２の割込端子３４２ｂに接続されるとともに、分岐して通常のデータ入力端子３４２ａにも並列に接続されている。ＳＥＬ信号は、同様に、ＣＰＵ３４２の割込端子３４２ｃおよびデータ入力端子３４２ｄに並列に接続されている。
【００３９】
ＣＰＵ３４２の割込端子３４２ｂ、３４２ｃは、データ入力ポートとしての機能を有しない単機能端子であり、ＣＰＵ３４２は割込端子３４２ｂ、３４２ｃに入力された信号の状態を、このままでは検出することはできない。本実施例においては、ＣＰＵ３４２は、データ入力端子３４２ａ、３４２ｄへの入力信号を読み込むことにより、ＳＥＬ信号およびＷＲ信号の状態を検出することができる。
【００４０】
ＶＤＰ３４６からＣＰＵ３４２には、表示コマンドの送信を許可するための制御信号としてＶＢＲＡＮＫ信号が出力される。ＶＢＲＡＮＫ信号は、ＣＰＵ３４２の割込端子３４２ｅに接続されている。ＣＰＵ３４２は、ＶＢＲＡＮＫ信号がアクティブの時に、表示コマンドをＶＤＰ３４６に送信する。
【００４１】
割込端子３４２ｅは、機能設定の変更によって割込端子およびデータ入力ポートの機能を切り換え可能な選択タイプの多機能端子である。機能設定の変更は、ＣＰＵ３４２内のレジスタの所定アドレスに格納される設定値を変更することで実現される。
【００４２】
Ｂ．コマンド送信方法：
図３はコマンド送信方法を示す説明図である。図の下方にサブ制御基板３００と主制御基板１００との間で授受されるコマンドの体系を示し、上方にコマンド送信時のタイムチャートを示した。
【００４３】
サブ制御基板３００で用いられる各コマンドは、２バイトで構成される。図中のＨａ１〜Ｈａ４、Ｈｂ１〜Ｈｂ４、Ｈｃ１〜Ｈｃ４は、それぞれ４ビット分のデータを意味している。コマンドの１バイト目をステータス、２バイト目をモードと呼ぶ。ステータスは、例えば、特別図柄指定などのように、サブ制御基板３００の動作を指定する情報である。モードは、特定図柄指定で指定される図柄の種類などを表す情報である。各ステータスに対して、モード値は多種類用意されている。
【００４４】
サブ制御基板３００で用いられるコマンドのうち、ＬＣＤ３６１の表示制御に関係するものについては、少なくともステータス単位で、図柄表示ＬＥＤ３８０のいずれかの表示態様と対応づけられている。例えば、図柄表示ＬＥＤ３８０で特別図柄を表示させている時には、サブ制御基板３００には、これに対応したコマンド、または特別図柄の内容を更に細分化して指定したコマンドを出力することが可能である。こうすることにより、図柄表示ＬＥＤ３８０の表示と、ＬＣＤ３６１の表示とを対応させることができる。
【００４５】
図の例では、動作ごとにステータスが完全に異なる体系を例示しているが、動作のカテゴリーに応じて一部を共通としてもよい。例えば、特別図柄指定など、図柄の表示に関係するコマンドについては、ステータスの上位４ビットを一定の値（例えば、図中のＨａ１）に統一し、下位４ビットで「特別図柄」、「普通図柄」のように具体的な動作内容を指定するようにしてもよい。
【００４６】
本実施例では、主制御基板１００とサブ制御基板３００との間は、４ビット単位でコマンドを送信するよう構成した。従って、主制御基板１００からサブ制御基板３００には、次の手順で、２バイト（１６ビット）のコマンドが４ビットずつ４回に分けて送信される。以下、４回に分割された各々を「分割コマンド」と称する。上方のタイミングチャートに示す通り、主制御基板１００は、まずサブ制御基板３００に対して制御信号ＳＥＬをハイにする。次に、コマンドの最上位の４ビット分のデータ「ＣＯＭ０−０」を出力し、制御信号ＷＲをハイにする。サブ制御基板３００は、この立ち上がりをトリガとして、分割コマンド「ＣＯＭ０−０」を読み込む。主制御基板１００は、以下、同様にして、４ビット単位で、分割コマンド「ＣＯＭ０−１」、「ＣＯＭ１−０」、「ＣＯＭ１−１」を送信する。１６ビット分のコマンドデータ（以下、この単位を「パケット」と称する）の送信が終了すると、主制御基板１００は制御信号ＳＥＬをロウにして、次のパケット送信に備える。
【００４７】
Ｃ．主制御処理：
図４は主制御基板１００の制御処理（以下、「主制御処理」と呼ぶ）のフローチャートである。主制御基板１００のＲＯＭに記録されているプログラムに従って、ＣＰＵが実行する処理である。電源が投入されると、ＣＰＵは電源投入時処理を実行する（ステップＳ１００）。
【００４８】
電源投入時処理が終了すると、ＣＰＵは遊技用の各処理を繰り返し実行するループを開始する。このループ開始時には、ＣＰＵは、まず停電予告信号が検知されているか否かを判定する（ステップＳ１０２）。外部電源が停電し、電源制御基板から停電予告信号が出力されている場合には、電源断発生時処理を実行する（ステップＳ１０４）。これは、停電後に電源が復旧した場合に、遊技機の動作を、停電前の状態から再開するため、ＲＡＭの情報を保持しておくための処理である。本実施例においては、電源断発生時処理は、割込処理ではなく、ループの開始直後に、停電予告信号の検知有無に応じて実行される分岐処理として主制御処理内に組み込まれている。このように電源断発生時処理をループの定位置で実行することにより、バックアップすべきレジスタやスタックポインタの情報量を低減することができ、電源断発生時処理を簡素化できる利点がある。
【００４９】
停電予告信号が検知されていない場合（ステップＳ１０２）、即ち外部電源からの電力が正常に供給されている場合には、ＣＰＵは遊技用の処理として、賞球制御処理（ステップＳ１０６）、特別図柄・電動役物制御（ステップＳ１０８）、普通図柄・電動役物制御（ステップＳ１１０）を実行する。賞球制御処理では、ＣＰＵは、入賞口への遊技球の入賞有無の検知や、入賞球数に応じた賞球払出コマンドの設定を行う。その他の処理は、それぞれ普通図柄、特別図柄の表示内容の設定、および各電動役物の動作可否の判定を行う処理である。これらの処理によって、払出制御基板２００、サブ制御基板３００に出力すべきコマンドや制御データが設定される。
【００５０】
ＣＰＵは、その後、ポート出力処理（ステップＳ１１２）を行って、これらのコマンドをサブ制御基板等に送信する。サブ制御基板３００へのコマンド送信は、図３に示した手順で行われる。図柄表示ＬＥＤ３８０の表示制御は、各ＬＥＤに対応したデータ線に、「点灯／消灯」の状態に応じて「１」または「０」を出力することで行われる。
【００５１】
ＣＰＵは、以上のループ処理を、遊技終了まで繰り返し実行する。図中では、上述の各処理を、説明の便宜上、シーケンシャルに行われるものとして示したが、各処理は定期的な割込処理で実行されている。
【００５２】
Ｄ．コマンド受信処理（１）：
図５はコマンド受信処理のフローチャートである。サブ制御基板３００のＣＰＵ３０２が、主制御基板１００からのコマンドを受信する際に、実行する処理である。本実施例では、図３で説明した通り、コマンド受信に関して２種類の制御信号ＳＥＬ、ＷＲが使用される。コマンド受信処理は、これらの制御信号に対応して２種類設けられている。ＳＥＬ割込処理は、ＳＥＬ信号の立ち上がりをトリガとして起動する処理である。ＷＲ割込処理は、ＷＲ信号の立ち上がりをトリガとして起動する処理である。
【００５３】
制御信号ＳＥＬ、ＷＲは、ハード割込信号であるが、図２で説明した通り、本実施例のＣＰＵ３０２における割込端子３０２ａ、３０２ｂは、それぞれ制御信号ＳＥＬ、ＷＲの状態をモニタ可能に構成されている。
【００５４】
図の中央に、サブ制御基板３００内のＲＡＭのワーク領域に設けられたバッファ３０４の記憶内容を模式的に示した。主制御基板１００からのコマンドは４ビットずつ４回に分けて送信されるため、バッファ３０４は、これに対応して４領域設けられている。ＲＡＭは、１バイト分が単位とされているため、４バイト分が用意されていることになる。コマンド受信時には、各領域に４ビットの分割コマンドが順次、格納されるため、バッファ３０４の上位４ビットは、常に０である（図中の「Ｈ」は１６進数表示を意味している）。
【００５５】
バッファ３０４は、コマンド受信の度に、上記４領域を繰り返し使用するリングバッファとなっている。書き込む領域は、バッファライトカウンタで制御される。このカウンタ値が、バッファ３０４への書込みが行われるたびに「０→１→２→３→０…」と順次更新されることによって、リングバッファとしての機能が実現される。
【００５６】
図の左側に示したＳＥＬ割込処理について説明する。ＣＰＵ３０２は、この処理が開始されると、割込端子３０２ｂからＳＥＬ信号を入力し（ステップＳ２００）、一定の待ち時間を経過した後（ステップＳ２０１）、再度、ＳＥＬ信号を入力する（ステップＳ２０２）。ＳＥＬ信号の状態は、ＣＰＵ３０２内の予め定められたレジスタの値を参照することで得られる。一定の待ち時間は、任意に設定可能であるが、本実施例では１μｓとした。
【００５７】
ＣＰＵ３０２は、こうして入力された２回のＳＥＬ信号が一致しているか否かをチェックする（ステップＳ２０３）。両者が異なっている場合には、ノイズの影響があるものと判断し、一定の待ち時間経過後に、再度、ＳＥＬ信号を入力する（ステップＳ２０１、Ｓ２０２）。そして、直近に入力した２回のＳＥＬ信号を再度、比較する（ステップＳ２０３）。こうして、両者が一致した場合に、ノイズの影響を受けない真値が入力されたものと判断して、次の処理に移動する。
【００５８】
本実施例では、このように複数回にわたって読み込まれたＳＥＬ信号同士を比較することでノイズの影響の有無の判断、即ちノイズチェックを行った。ＳＥＬ信号の読み込みは、必ずしも複数回である必要はなく、ＳＥＬ割込処理において、待ち時間経過した後の１回で完了させてもよい。これは、図５のステップＳ２００を省略し、ステップＳ２０１、Ｓ２０２を実行する処理に相当する。この場合は、読み込まれたＳＥＬ信号がアクティブであれば真値として扱うことになる。ＳＥＬ割込処理は、ＳＥＬ信号がアクティブな時に実行されるため、待ち時間経過後に読み込まれたＳＥＬ信号がアクティブか否かをチェックすれば、実質的にはＳＥＬ信号の状態を複数回チェックしていることになるからである。実施例のように複数回にわたってＳＥＬ信号を読み込む方法では、ノイズチェックの信頼性が高い利点があり、１回の読み込みで済ませる方法では、ノイズチェックの所要時間が短くて済むという利点がある。
【００５９】
ＳＥＬ信号がオフの場合（ステップＳ２０４）、ＣＰＵ３０２は、ノイズの影響によってＳＥＬ割込処理が誤って起動されたものと判断し、そのままこの処理を終了する。ＳＥＬ信号がオンの場合（ステップＳ２０４）、ＣＰＵ３０２はコマンドの受信に備えて、バッファライトカウンタのカウンタ値をクリアする（ステップＳ２０５）。こうすることで、サブ制御基板３００は、新たな受信データをバッファ３０４に書き込むための初期化が完了したことになる。
【００６０】
次に、右側のＷＲ割込処理について説明する。図３に示したタイミングチャートから分かる通り、ＷＲ割込処理は、ＳＥＬ割込処理が実行された後に、ＷＲ信号の立ち上がりをトリガとして、４回起動される処理である。
【００６１】
ＣＰＵ３０２は、この処理が開始されると、ＳＥＬ信号、ＷＲ信号、およびＤＡＴＡ信号を入力する（ステップＳ３００）。ＳＥＬ信号、ＷＲ信号の入力が可能なのは、先に説明した通り、本実施例のＣＰＵ３０２は、割込信号であるＳＥＬ信号、ＷＲ信号の状態をモニタ可能な割込端子３０２ａ、３０２ｂを有しているからである。ＤＡＴＡ信号とは、分割コマンドを表す４ビット分のデータを意味する。ＣＰＵ３０２は、一定の待ち時間経過後（ステップＳ３０１）、再度、これらの信号を入力し（ステップＳ３０２）、２回分の信号を比較する（ステップＳ３０３）。待ち時間は任意に設定可能であるが、本実施例では１μｓとした。ＳＥＬ信号、ＷＲ信号、ＤＡＴＡ信号の少なくとも一部について、２回分の信号が不一致の場合には、一定の待ち時間経過後、再度、これらの信号を読み込み直近に入力した２回の信号を再度、比較する（ステップＳ３０３）。こうして、両者が一致した場合に、ノイズの影響を受けない真値が入力されたものと判断して、次の処理に移動する。
【００６２】
次に、ＣＰＵ３０２はＳＥＬ信号、ＷＲ信号の値を確認し、両者の少なくとも一方がオフの時には、ノイズ等の影響によって誤ってＷＲ割込処理が開始されたものと判断して、そのままＷＲ割込処理を終了する。ＳＥＬ信号、ＷＲ信号が共にオンの場合には、分割コマンドを表すＤＡＴＡ信号をバッファ３０４に書き込み、カウンタ値を１だけインクリメントする（ステップＳ３０５）。例えば、この処理が最初に行われた時は、ＳＥＬ割込処理によってカウンタ値は０にクリアされているため、分割コマンドはバッファ３０４の「ＣＯＭ０−０」の部分に書き込まれる。この後、カウンタ値は１となるため、２回目の処理では、分割コマンドはバッファ３０４の「ＣＯＭ０−１」に書き込まれる。こうして、４回に分けて送信されたＤＡＴＡ信号は、それぞれバッファ３０４の「ＣＯＭ０−０」〜「ＣＯＭ１−１」に格納される。
【００６３】
図６はＷＲ割込処理における時間短縮効果を示す説明図である。図５で説明した通り、本実施例では、ＳＥＬ信号、ＷＲ信号、ＤＡＴＡ信号を単位として、２回読み込み、ノイズチェックを行っている（図５のステップＳ３００〜Ｓ３０３）。ノイズチェックは、ＳＥＬ信号、ＷＲ信号などの制御信号と、ＤＡＴＡ信号とに分けて行われるのが通常である。制御信号についてノイズの影響が確認された場合には、ＤＡＴＡ信号を読み込んでも無意味だからである。かかる観点からすると、本実施例の処理は、ＤＡＴＡ信号の読み込みという、無駄となるおそれがある処理を敢えて実行していることになる。図５には、このような処理を敢えてとることの意義を示した。
【００６４】
図６は、４ビット分のデータ信号の読み込みに関する所要時間を示している。上方のＣＡＳＥ１は、ＳＥＬ信号、ＷＲ信号と、ＤＡＴＡ信号について個別にノイズチェックを行った場合を表している。図示する通り、ＣＡＳＥ１では、待ち時間およびノイズチェックが２回ずつ要求されるため、全体の所要時間ＴＲ１が比較的長くなっている。
【００６５】
下方のＣＡＳＥ２は、本実施例の方法、即ち制御信号とＤＡＴＡ信号とをまとめてノイズチェックをした場合を表している。この方法によれば、待ち時間およびノイズチェックが１度で済むため、全体の所要時間ＴＲ２が、ＣＡＳＥ１の所要時間ＴＲ１よりもΔＴＲだけ短縮される。このように、本実施例のＷＲ割込処理によれば、無駄が生じるおそれがあるにも関わらず、敢えて、ＤＡＴＡ信号と制御信号とをまとめてノイズチェックすることにより、ＤＡＴＡ信号の読み込みの全体の所要時間を短縮することができる。かかる処理は、本実施例のように、コマンドを多数回に分割して送信する際に、特に有用性が高い。もっとも、所要時間の短縮に対する要請が比較的低い場合には、本実施例においてもＣＡＳＥ１の方法を採用してもよい。
【００６６】
サブ制御基板３００のＣＰＵ３０２は、こうして入力された分割コマンドから、コマンドを再生し、その解析を行い、音声や表示出力などの演出制御を行う。
【００６７】
コマンドの再生は、次の手順で実行する。まず、分割コマンド「ＣＯＭ０−０」の下位４ビットを上位４ビットに移動させる。移動後、下位４ビットは「０Ｈ」にクリアされる。この移動は、例えば、データを１ビットずつ桁移動させるシフトコマンドを４回繰り返して実行するようにしてもよいし、上位４ビットと下位４ビットを入れ替えるコマンドを実行するようにしてもよい。
【００６８】
次に、下位４ビット分の分割コマンド「ＣＯＭ０−１」を読み込み、桁移動された分割コマンド「ＣＯＭ０−０」との論理和をとる。こうすることで、上位４ビットに「ＣＯＭ０−０」、下位４ビットに「ＣＯＭ０−１」が表され、１バイト分のコマンドが再生される。同様にして、ＣＯＭ１−０、ＣＯＭ１−１からも１バイト分のコマンドを再生することができる。
【００６９】
Ｅ．コマンド受信処理（２）：
サブ制御基板３００は、主制御基板１００からのコマンドに従って、ＬＣＤ３６１への表示内容を決定すると、表示内容を表すコマンドを表示制御基板３４０に送信する。表示制御基板３４０がこのコマンドを受信する処理は、サブ制御基板３００が主制御基板１００からのコマンドを受信する処理（図５）と同様である。但し、両者は、ＳＥＬ信号およびＷＲ信号の検出方法が相違する。サブ制御基板３００のＣＰＵ３０２の割込端子３０２ａ、３０２ｂは、並行機能タイプの多機能端子であるため、ＣＰＵ３０２は、割込端子３０２ａ、３０２ｂの状態を直接、検出可能であった。これに対し、表示制御基板３４０のＣＰＵ３４２の割込端子３４２ｂ、３４２ｃは単機能の端子であり、信号の状態を検出することができない。従って、ＣＰＵ３４２は、データ入力端子３４２ａ、３４２ｄを用いてＷＲ信号、ＳＥＬ信号の状態を検出する。
【００７０】
Ｆ．表示コマンド出力処理：
表示制御基板３４０のＣＰＵ３４２は、サブ制御基板３００から受信したコマンドに応じて、ＬＣＤ３６１への表示コマンドを生成する。表示コマンドとは、ＬＣＤ３６１上に表示すべき線や文字の内容、位置、サイズ、色を表すコマンドである。ＶＤＰ３４６は、内部のレジスタを用いてＬＣＤ３６１の駆動制御を行っており、このレジスタの内容を更新可能な時期には、ＶＢＲＡＮＫ信号をアクティブにする。ＣＰＵ３４２は、ＶＢＲＡＮＫ信号がアクティブとなっていることを検出すると、表示コマンドを出力する。
【００７１】
図７は表示コマンド出力処理のフローチャートである。この処理は、割込端子３４２ｅに入力されるＶＢＲＡＮＫ信号がアクティブとなることで開始される。表示コマンド出力処理が開始されると、ＣＰＵ３４２は、割込端子３４２ｅの機能設定をポートモードに変更する（ステップＳ４００）。先に説明した通り、割込端子３４２ｅは選択機能タイプの端子であり、機能設定の変更によって割込端子およびデータ入力端子の機能を選択的に実現可能である。割込端子としての機能を「ＩＮＴモード」、データ入力端子としての機能を「ポートモード」と称するものとする。機能設定は、ＣＰＵ３４２のレジスタの所定アドレスの値を変更することで変更可能である。
【００７２】
ＣＰＵ３４２は、機能設定を変更した後、待ち時間を挟んで、２回、ＶＢＲＡＮＫ信号を入力し、両者を比較する（ステップＳ４０１〜Ｓ４０４）。両者が不一致の場合には、直近に入力された２つの信号が一致するまで、待ち時間を挟んで、ＶＢＲＡＮＫ信号を繰り返し入力する（ステップＳ４０２、Ｓ４０３）。
【００７３】
２回にわたって読み込まれたＶＢＲＡＮＫ信号が一致している場合（ステップＳ４０４）、ＣＰＵ３４２は、ノイズの影響がないものと判断して、ＶＤＰ３４６に表示コマンドを出力する（ステップＳ４０５）。この出力が終了すると、ＣＰＵ３４２は、端子設定をＩＮＴモードに戻し（ステップＳ４０６）、表示コマンド出力処理を完了する。なお、図７では説明を省略したが、ＶＤＰ３４６でも、表示コマンドを受信するに際し、主制御基板１００やサブ制御基板３００と同様のノイズチェックを行うようにしてもよい。
【００７４】
表示コマンド出力処理では、機能設定をポートモードやＩＮＴモードに適宜、切り換えることが必要となるため、ノイズチェックの所要時間が長くなる。但し、本実施例では、ＶＤＰ３４６によるコマンド受信は１６ｍｓ周期で実行されるため、所要時間は十分、許容範囲内である。
【００７５】
本実施例では、表示制御基板３４０のＣＰＵ３４２は、上位の制御基板に当たるサブ制御基板３００からのコマンドと、下位の制御装置であるＶＤＰ３４６からのＶＢＲＡＮＫ信号の双方を受信する必要がある。サブ制御基板３００は、表示制御基板３４０のみならずスピーカやランプなどの制御も並行して行う必要があるため、サブ制御基板３００からのコマンド受信はできる限り短時間で完了させることが望まれる。本実施例では、サブ制御基板３００からの受信に対しては、単機能の割込端子とデータ入力端子の併用によってノイズチェックの所要時間の短縮化を図っている。ＶＤＰ３４６からの受信には選択機能タイプの割込端子を用い、サブ制御基板３００からの受信には単機能の割込端子とデータ入力端子を併用するというように、コマンドおよび信号の送信側に応じてノイズチェックに利用する端子を使い分けることで、本実施例では、シンプルな回路構成と効率的なノイズチェックの実現という要請をそれぞれ実現している。
【００７６】
以上で説明した本実施例の遊技機によれば、制御基板内または制御基板間で授受される制御信号へのノイズの影響に起因する誤動作を抑制することができる。本実施例では、並行機能タイプの割込端子、選択機能タイプの割込端子、単機能の割込端子とデータ入力端子との併用という３つの方法を使い分けることで、コストの増大を回避しつつ、シンプルな回路構成と効率的なノイズチェックを実現している。
【００７７】
もっとも、本実施例における回路構成は、一例に過ぎず、種々の変形例を採ることが可能である。例えば、上述した３つの方法は、実施例の構成に限らず種々の使い分けが可能であり、全てをいずれか一つの方法で統一するようにしてもよい。
【００７８】
本実施例においては、ＳＥＬ信号、ＷＲ信号等は、直接それぞれの割込端子に入力されるよう構成されているが、ラッチ回路を介して入力するようにしてもよい。こうすることによって、ノイズの影響によってＳＥＬ信号、ＷＲ信号の状態が不規則に変動する際に、割込処理が多重に実行される可能性を抑制することができる。
【００７９】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
【図面の簡単な説明】
【００８０】
【図１】実施例としての遊技機のハードウェア構成を示すブロック図である。
【図２】制御基板間の接続方法を示す説明図である。
【図３】コマンド送信方法を示す説明図である。
【図４】主制御基板１００の制御処理（以下、「主制御処理」と呼ぶ）のフローチャートである。
【図５】コマンド受信処理のフローチャートである。
【図６】ＷＲ割込処理における時間短縮効果を示す説明図である。
【図７】表示コマンド出力処理のフローチャートである。
【符号の説明】
【００８１】
１００…主制御基板
１０１…入賞検出器
１０２…大入賞口ソレノイド
１０４…ＣＰＵ
２００…払出制御基板
２０１…発射ハンドル
２０２…発射制御基板
２０３…発射モータ
２１０…球切れスイッチ
２２０…払出しモータ
３００…サブ制御基板
３０２…ＣＰＵ
３０２ａ、３０２ｂ…割込端子
３０４…バッファ
３４０…表示制御基板
３４２…ＣＰＵ
３４２ａ、３４２ｄ…データ入力端子
３４２ｂ、３４２ｃ、３４２ｅ…割込端子
３４４…キャラクタＲＯＭ
３４６…ＶＤＰ
３５０…スピーカ
３６１…ＬＣＤ
３７０…ランプ駆動基板
３７１…パネル装飾ランプ
３７５…ランプ中継基板
３７６…枠装飾ランプ
【図１】
2006187467.tif 000003
【図２】
2006187467.tif 000004
【図３】
2006187467.tif 000005
【図４】
2006187467.tif 000006
【図５】
2006187467.tif 000007
【図６】
2006187467.tif 000008
【図７】
2006187467.tif 000009