(57)【特許請求の範囲】
【請求項１】
遊技機に用いられる制御装置であり、プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを判断する制御装置であって、
前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、
該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された所定のデータを読み出す読出手段と、
前記読出手段により読み出された所定のデータに基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの動作を異ならせる動作変更手段とを備え、
前記動作変更手段は、前記制御用コンピュータに、デモプログラムを実行させる手段である
制御装置。
【請求項２】
前記読出手段および前記記憶素子判断手段は、前記読出と判断とを、所定のインターバルで繰り返し行なう請求項１記載の制御装置。
【請求項３】
前記読出手段および前記記憶素子判断手段は、前記読出と判断とを、ランダムなタイミングで行なう請求項１記載の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置に関し、詳しくは制御用コンピュータの動作中、プログラム記憶素子が正規品であるか否か判断する制御装置に関する。
【０００２】
【従来の技術】
従来、この種の制御装置は、通常、制御規則を記述した制御プログラムを記憶するプログラム記憶素子（例えば、ＰＲＯＭ，マスクＲＯＭ等）と、このプログラム記憶素子から所定の順序で制御プログラムを読み出して実行する制御用コンピュータとを中心とした論理回路にて構成されている。したがって、予めプログラム記憶素子に所定の制御プログラムを記憶させておけば、この制御装置を内蔵する機器は、制御プログラムの記述により一定の制御手順にて制御される。
【０００３】
また、このように構成された制御装置は、プログラム記憶素子に記憶させる制御プログラムを変更することで、この制御装置を内蔵する機器の制御手順を容易に変更することを可能とし、システムの柔軟性を高め、システムの開発負荷を軽減している。
【０００４】
【発明が解決しようとする課題】
しかしながら、このように構成された制御装置は、その特徴であるシステムの柔軟性が高い故に、容易に制御プログラムの改変がなされるという問題があった。特に、制御内容に対して法律などによる規制等がある場合には、制御プログラムの改変は不正であり、これを十分に防止する必要があるが、プログラム記憶素子を取り替えるといった人為的、組織的な不正行為に対しては十分な防止策を施すのは困難であった。
【０００５】
このような問題に対して出願人は、制御プログラムに従った機器制御を実行する前にプログラム記憶素子が正規品であるか否かを識別する構成を、先に別途出願している（特願平４−１６８４８７）。本発明の制御装置は、このような問題に対して、さらに、人為的、組織的な不正に対して高い信頼性を得ることを目的として、次の構成を採った。
【０００６】
【課題を解決するための手段およびその作用・効果】
本発明の制御装置は、
遊技機に用いられる制御装置であり、プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを判断する制御装置であって、
前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、
該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された所定のデータを読み出す読出手段と、
前記読出手段により読み出された所定のデータに基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの動作を異ならせる動作変更手段とを備え、
前記動作変更手段は、前記制御用コンピュータに、デモプログラムを実行させる手段であることを要旨とする。
【０００７】
以上のように構成された本発明の制御装置は、所定のタイミング、例えばバス非占有状態検出手段が制御用コンピュータによるバスの非占有状態を検出したとき、読出手段により前記バスを用いてプログラム記憶素子から記憶された内容を読み出し、読み出された内容に基づいてプログラム記憶素子が正規品であるか否かを記憶素子判断手段が判断する。記憶素子判断手段がプログラム記憶素子が正規品でないと判断すると、動作変更手段が制御用コンピュータにデモプログラムを実行させる。
【０００８】
かかる制御装置では、制御用コンピュータの動作中に、プログラム記憶素子が正規品であるか否かの判断を行なうので、制御プログラムの不正な書き換えやプログラム記憶素子の不正な取り替えなどの人為的、組織的な不正を有効に防止することができ、高い信頼性を得ることができる。しかも、制御用コンピュータが所定のタイミング、例えばバスを占有していない状態のときに、バスを用いてプログラム記憶素子が正規品であるか否かの判断をするので、プログラム記憶素子からは制御用コンピュータによる読み出しか読出手段による読み出しかの判断を困難とすることができる。
【０００９】
【発明の実施の形態】
以上説明した本発明の構成・作用を一層明らかにするために、以下本発明の制御装置の好適な実施例について説明する。図１は、本発明の一実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。
【００１０】
図示するように、パチンコ機制御装置１は、ワンチップマイクロコンピュータ２と、プログラム記憶素子であるＲＯＭ３０と、ワンチップマイクロコンピュータ２に外付けされる発振用クリスタル１８と、回路全体に安定化された電源を供給する電源回路２８と、ドライバ４０および波形整形回路５０から構成されており、ワンチップマイクロコンピュータ２とＲＯＭ３０とは、コントロールバスＣＢ，アドレスバスＡＢおよびデータバスＤＢにより接続されている。ワンチップマイクロコンピュータ２は、パチンコ機を制御するＣＰＵ１０と、ＲＯＭ３０が正規品か否かをチェックするＣＰＵ２０とを中心とした論理回路により構成されている。
【００１１】
ＣＰＵ１０は、「Ｚ８０」系の８ビットマイクロコンピュータで、信号ＭＲＥＱ＼，ＲＤ＼，Ｍ１＼等のコントロールポートを有するコントロールバス制御回路１０ａ、アドレスポートを有するアドレスバス制御回路１０ｂ、データポートを有するデータバス制御回路１０ｃを備えている。ここで、信号名の後に付した「＼」は、そのポートがローアクティブであることを意味している。
【００１２】
ＣＰＵ１０のコントロールポートおよびアドレスポートは、バスドライバ１６を介してコントロールバスＣＢおよびアドレスバスＡＢに接続されており、データポートは、データバスＤＢに接続されている。各種バスＣＢ，ＡＢ，ＤＢは、必要なデータを一時的に記憶するＲＡＭ１２および入出力インタフェース回路（以下、Ｉ／Ｏという）１４に接続されている。また、ＣＰＵ１０のコントロールポートは、コントロール信号制御回路２１に接続されている。
【００１３】
コントロール信号制御回路２１は、ＣＰＵ１０から出力される信号ＲＦＳＨ＼等に基づいて信号Ｇ１，信号Ｇ２，信号ＣＬ１，信号ＭＲＥＱ２＼および信号ＲＤ２＼などのコントロール信号を作成する論理回路である。コントロール信号制御回路２１は、コントロールサブバスＳＢを介してＣＰＵ２０，バスドライバ１６，バスドライバ２３およびラッチ回路２５と接続されており、信号Ｇ１および信号Ｇ２の出力によりバスドライバ１６およびバスドライバ２３の出力状態を制御し、信号ＣＬ１の出力によりラッチ回路２５のラッチのタイミングを制御すると共に、ＣＰＵ２０に対してコントロールバスＣＢ等をどこが使用しているかを知らせる。また、コントロール信号制御回路２１は、コントロールサブバスＳＢおよびバスドライバ２３を介してコントロールバスＣＢに接続されており、信号ＲＦＳＨ＼等に基づいて作成される信号ＭＲＥＱ２＼および信号ＲＤ２＼などをコントロールバスＣＢに信号ＭＲＥＱ＼および信号ＲＤ＼などとして出力することにより各論理回路を制御する。
【００１４】
コントロール信号のうち信号Ｇ１は、信号ＲＦＳＨ＼と同じ出力を示す信号として出力される。また、信号Ｇ２は、信号ＲＦＳＨ＼がローレベル（以下「Ｌ」と記載する）となるときからわずかに遅れてハイレベル（以下「Ｈ」と記載する）となり、信号ＲＦＳＨ＼が「Ｈ」となるときよりわずかに早く「Ｌ」となる信号として出力される。信号ＣＬ１は、ＣＰＵ１０のリフレッシュ時間内の後半で反転のパルス信号として出力される。信号ＭＲＥＱ２＼および信号ＲＤ２＼は、信号Ｇ２が「Ｈ」となるときに「Ｌ」となり、信号Ｇ２が「Ｌ」となるときに「Ｈ」となる信号として出力される。
【００１５】
バスドライバ１６は、トライステートバッファにより構成されており、コントロール信号制御回路２１から出力される信号Ｇ１をコントロールサブバスＳＢを介して入力することで、コントロールポートおよびアドレスポートからの出力を有効またはハイインピーダンス状態とする。すなわち、信号Ｇ１が「Ｈ」のときには、各ポートからの出力を有効とし、ＣＰＵ１０は、ＲＯＭ３０，ＲＡＭ１２およびＩ／Ｏ１４にコントロールバスＣＢを介して各種制御信号を発し、アドレスバスＡＢを介してアドレス指定することができる。逆に、信号Ｇ１が「Ｌ」のときには、ハイインピーダンス状態とし、ＣＰＵ１０とバスＣＢ，ＡＢとが接続されていない状態とする。
【００１６】
ＲＡＭ１２は、ＲＯＭ３０に記憶された制御プログラムをＣＰＵ１０が実行するに際し、必要なデータが一時的に記憶される記憶素子である。ＲＡＭ１２へのデータの一時記憶は、ＣＰＵ１０が、バスドライバ１６を介してアドレスバスＡＢにデータを記憶すべきアドレスを出力し、信号ＭＲＥＱ＼を「Ｌ」とし、データバスＤＢから記憶すべきデータを出力し、記憶すべきデータがデータバスＤＢに出力されていることを示す信号ＷＲ＼を「Ｌ」とすると、ＲＡＭ１２がデータバスＤＢからデータを取り込むことにより行なわれる。また、ＣＰＵ１０が、ＲＡＭ１２に記憶させたデータが必要となったときには、バスドライバ１６を介して読み込むべきデータを記憶したアドレスをアドレスバスＡＢから出力し、信号ＭＲＥＱ＼を「Ｌ」とし、信号ＲＤ＼を「Ｌ」とすることにより、ＲＡＭ１２の指定アドレスからデータバスＤＢに出力されるデータを読み込む。
【００１７】
Ｉ／Ｏ１４は、パチンコ機制御装置１とパチンコ機に備えられた各種の電装機器との信号の整合をとる回路である。したがって、Ｉ／Ｏ１４は、バスＣＢ，ＡＢ，ＤＢと接続されてＣＰＵ１０を中心とした論理回路に組み込まれると共にパチンコ機に備えられる電装機器、例えば、本体入賞スイッチ５２，デジタルスタートスイッチ５１等に接続された波形整形回路５０や、パチンコ機本体の当りランプ４３，センター役物のデジタル部分でＬＥＤの集合である表示装置４２，大入賞口を開口させるソレノイド４１に接続されたドライバ４０等に接続されている。
【００１８】
ＣＰＵ１０を中心とした以上の構成に付加して、ＲＯＭ３０が正規品か否かを判定する論理回路がＣＰＵ２０を中心として設けられている。ＣＰＵ２０は、その内部にＲＯＭ２０ｄおよびＲＡＭ２０ｅを内蔵しており、後述するチェックプログラムがその内部ＲＯＭ２０ｄに不揮発的に焼き付けられている。また、ＣＰＵ２０は、Ｑ０〜Ｑ７の入力ポートを有するデータ入力回路２０ｃ、Ｐ０〜Ｐ１５の出力ポートを有するデータ出力回路２０ｆ、ＣＰＵ２０の制御信号入力ポートであるＰ１７および制御信号出力ポートであるＰ１８＼を備えている。
【００１９】
ＣＰＵ２０のデータ出力回路２０ｆは、バスドライバ２３を介してアドレスバスＡＢに接続されており、内部ＲＯＭ２０ｄに記憶されたプログラムに従い、所定のアドレスデータを出力ポートＰ０〜Ｐ１５にセットして、そのデータを出力する。データ出力回路２０ｆとアドレスバスＡＢとの間に介在するバスドライバ２３は、バスドライバ１６と同様にトライステートバッファにより構成されており、コントロール信号制御回路２１から出力される信号Ｇ２をコントロールサブバスＳＢを介して入力することで、出力ポートＰ０〜Ｐ１５からアドレスバスＡＢへの出力を有効またはハイインピーダンス状態とする。すなわち、信号Ｇ２が「Ｈ」のときには、出力ポートＰ０〜Ｐ１５からアドレスバスＡＢへの出力を有効とし、信号Ｇ２が「Ｌ」のときには、ハイインピーダンス状態として、出力ポートＰ０〜Ｐ１５とアドレスバスＡＢとが接続されていない状態とする。
【００２０】
したがって、コントロール信号制御回路２１から出力される信号Ｇ１および信号Ｇ２を調整することにより、アドレスバスＡＢには、ＣＰＵ１０のアドレスバス制御回路１０ｂからのデータとＣＰＵ２０の出力ポートＰ０〜Ｐ１５からのデータとが選択的に出力される。すなわち、信号Ｇ２を「Ｌ」とすることによりバスドライバ２３の出力をハイインピーダンス状態とし、信号Ｇ１を「Ｈ」とすることによりバスドライバ１６を介してＣＰＵ１０のコントロールバス制御回路１０ａおよびアドレスバス制御回路１０ｂとコントロールバスＣＢおよびアドレスバスＡＢとの接続を有効とする。逆に、信号Ｇ１を「Ｌ」とすることによりバスドライバ１６の出力をハイインピーダンス状態とし、信号Ｇ２を「Ｈ」とすることによりバスドライバ２３を介してＣＰＵ２０の出力ポートＰ０〜Ｐ１５とアドレスバスＡＢとの接続を有効とする。
【００２１】
ＣＰＵ２０の入力ポートＱ０〜Ｑ７には、ラッチ回路２５を介してデータバスＤＢが接続されている。ラッチ回路２５は、そのＣＬＫ端子へ制御信号が入力されたときにデータバスＤＢに出力されているデータを入力して保持するものである。ラッチ回路２５のＣＬＫ端子は、コントロールサブバスＳＢを介してコントロール信号制御回路２１に接続されており、コントロール信号制御回路２１から出力される信号ＣＬ１が「Ｌ」から「Ｈ」になるときにデータバスＤＢに出力されているデータをラッチし、次に信号ＣＬ１が「Ｌ」から「Ｈ」になるときまでそのデータを保持する。
【００２２】
ＣＰＵ２０の出力ポートＰ１８＼は、パチンコ機制御装置１の外部からの信号線と共にＯＲ回路２６を介してＣＰＵ１０のポートＲＥＳＥＴ＼に接続されており、ＣＰＵ２０が信号Ｐ１８＼を「Ｌ」とすることによりＣＰＵ１０をリセット状態とすることができる。
【００２３】
一方、ＲＯＭ３０は、ＣＰＵ１０の実行する制御プログラムやそのプログラムの実行に必要な各種データを不揮発的に記憶する記憶素子であり、ＣＰＵ１０からのアドレス指定を受けるとそのアドレスに記憶しているデータを出力する。すなわち、このＲＯＭ３０には、パチンコ機制御装置１として実行すべき遊技ルールに基づく制御プログラムなどの情報が記憶されている。
【００２４】
次に、ＣＰＵ１０の命令フェッチサイクル時におけるパチンコ機制御装置１の動作について図２を用いて説明する。図２は、ＣＰＵ１０の命令フェッチサイクルとＣＰＵ２０などの動作のタイミングを示す説明図である。図２に示すように、「Ｚ８０」系のＣＰＵ１０は、クロックΦに同期しつつ命令フェッチサイクルの最初のサイクル（Ｍａｃｈｉｎｅ  ｃｙｃｌｅ  ｏｎｅ）である旨を示すために信号Ｍ１＼を「Ｌ」とし、これに少し遅れて記憶素子へのアクセス要求である旨を示すための信号ＭＲＥＱ＼と、リード要求である旨を示すための信号ＲＤ＼とを「Ｌ」とする。また、記憶素子のアクセス時間が遅いものであってもデータ読みに支障を来たさないように、記憶素子が信号ＷＡＩＴ＼をクロックΦのＴ２ステートでの立ち下がり時点で「Ｈ」を出力しない場合には待ちサイクルを設け、データの読み込みのタイミングを遅延させる機能を有している。
【００２５】
したがって、ＣＰＵ１０による現実の命令フェッチは、上記各信号により判断される一定の条件が整ったときに実行され、そのときのアドレスバスＡＢにより指定されるアドレスＡＤ１に記憶されており、データバスＤＢに出力されているデータＤ１が命令として取り込まれる。公知のように、このようにして取り込まれた命令はＣＰＵ１０内の命令レジスタに格納され、次の実行サイクルでのＣＰＵ１０の動作が決定される。
【００２６】
また、ＣＰＵ１０の命令フェッチサイクルのＴ３およびＴ４ステートでは、ダイナミックＲＡＭのリフレッシュをするために信号ＲＦＳＨ＼を「Ｌ」とする。「Ｚ８０」系のＣＰＵ１０では、信号ＲＦＳＨ＼が「Ｌ」となるとアドレスポートのＡ０〜Ａ１５のうち下位８ビットにリフレッシュ信号が出力される。
【００２７】
一方、ＣＰＵ２０では、内部ＲＯＭ２０ｄに記憶されたプログラムに従い、所定のアドレスデータＡＤ２を出力ポートＰ０〜Ｐ１５にセットして出力する。
【００２８】
ＣＰＵ１０の信号ＲＦＳＨ＼が「Ｌ」となると、この信号に基づいてコントロール信号制御回路２１が信号Ｇ１を「Ｌ」とし、さらに、これにわずかに遅れて信号Ｇ２を「Ｈ」とする。バスドライバ１６は、信号Ｇ１が「Ｌ」となることにより、その出力をハイインピーダンス状態とし、バスドライバ２３は、信号Ｇ２が「Ｈ」となることで、ＣＰＵ２０の出力ポートＰ０〜Ｐ１５とアドレスバスＡＢとの接続およびコントロールサブバスＳＢとコントロールバスＣＢとの接続を有効とする。したがって、アドレスバスＡＢには、ＣＰＵ１０のアドレスポートからのリフレッシュ信号は出力されない。
【００２９】
また、コントロールバスＣＢには、コントロール信号制御回路２１から信号ＭＲＥＱ２＼および信号ＲＤ２＼がコントロールサブバスＳＢおよびバスドライバ２３を介して信号ＭＲＥＱ＼および信号ＲＤ＼として出力され、アドレスバスＡＢには、予めＣＰＵ２０が出力ポートＰ０〜Ｐ１５にセットしておいたアドレスデータＡＤ２が出力される。この出力により、ＲＯＭ３０は、指定されたアドレスＡＤ２に格納されたデータＤ２をデータバスＤＢに出力する。このデータＤ２は、ラッチ回路２５のＣＬＫ端子に反転のパルス信号である信号ＣＬ１が入力されることによりラッチ回路２５にラッチされ、ＣＰＵ２０の入力ポートＱ０〜Ｑ７へ出力される。その後、ＣＰＵ２０は、入力ポートＰ１７に入力される信号Ｇ２に基づいてタイミングを調整した上、入力ポートＱ０〜Ｑ７からデータＤ２を取り込む。
【００３０】
以上の動作のうち、出力ポートＰ０〜Ｐ１５からアドレスバスＡＢにアドレスデータＡＤ２が出力され、このデータＡＤ２の出力に伴い、ＲＯＭ３０から出力されるデータＤ２をラッチ回路２５でラッチするまでの動作は、ＣＰＵ１０の一回のリフレッシュ時間内で行なわれる。このように、ＣＰＵ１０のリフレッシュ時間に各種バスＣＢ，ＡＢ，ＤＢを用いてデータＤ２を読み込むので、ＣＰＵ１０の動作に支障をきたすことはない。また、本実施例では、パチンコ機制御装置１は、ダイナミックＲＡＭを有しないので、リフレッシュ信号がアドレスバスＡＢに出力されないことによる制限を受けることはない。
【００３１】
なお、本実施例では、ＣＰＵ１０のリフレッシュ時毎に、ＣＰＵ２０がＲＯＭ３０からデータを読み込む構成としたが、データ出力回路２０ｆにＲＯＭ３０の読み込むべきアドレスをセットして、データを読み込む準備が整ったときに、ＣＰＵ２０からコントロール信号制御回路２１に制御信号を出力し、その制御信号が出力された場合のみコントロール信号制御回路２１が動作し、その後のＣＰＵ１０のリフレッシュ時にＲＯＭ３０のデータを読み込む構成とすることも好適である。この場合、ＣＰＵ２０のポートＰ１７を制御信号の入出力ポートとし、ＣＰＵ２０は、ポートＰ１７からコントロール信号制御回路２１に制御信号を出力する。
【００３２】
以上のように構成されたパチンコ機制御装置１は、次のように動作する。パチンコ機制御装置１の電源回路がオンされると、ワンチップマイクロコンピュータ２のＣＰＵ１０は電力の供給を受け、所定の手順に従ってＲＯＭ３０に記憶された制御プログラムを順次読み出してはそのプログラムに記述された命令を実行する。この制御プログラムに基づいたＣＰＵ１０の処理により、パチンコ機は、制御プログラムに記述された遊技ルールに従った挙動を示し、制御プログラムに記述された遊技が可能となる。
【００３３】
このようにＣＰＵ１０の処理によりパチンコ機が制御されているとき、ＣＰＵ２０は、図３のフローチャートに示すチェックプログラムを実行している。図３に示すチェックプログラムは、ＣＰＵ２０の内部ＲＯＭ２０ｄに焼き付けられたプログラムであり、ＣＰＵ２０への電力の供給が開始されると直ちにこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、ＣＰＵ２０は、ＲＯＭ３０の所定アドレスに予め記憶されている識別コードを読み込む（ステップＳ１００）。次に、この識別コードが予め定めた正しい値であるか否かを判断し（ステップＳ１１０）、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートＰ１８＼からの信号Ｐ１８＼を「Ｌ」として（ステップＳ１２０）、ＣＰＵ１０をリセット状態とする。
【００３４】
ここで、ＲＯＭ３０が正規のものであるか否かの判断は、ＲＯＭ３０に書き込まれているプログラムコードと相関のある値を内部ＲＯＭ２０ｄに書き込んでおきこれを判別する手法の他、ＲＯＭ３０の複数アドレスに記憶されたデータに対する所定の計算結果を予めＲＯＭ３０の特定アドレスに記載しておき、ＣＰＵ２０でＲＯＭ３０の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法、ＣＰＵ２０の内部ＲＯＭ２０ｄとＲＯＭ３０との双方に予め所定の識別コードを書き込むものとし、この識別コードの一致を判別する手法、内部ＲＯＭ２０ｄにＲＯＭ３０に記載されたプログラムコードと同じものを予め記録しておき、ＲＯＭ３０の内容と内部ＲＯＭ２０ｄの内容を照合して判別する手法、ＲＯＭ３０に記載されたプログラムコードのチェックサムを計算し、これが予め内部ＲＯＭ２０ｄに記載された値であるかを判定する手法、ＲＯＭ３０の複数のアドレスの値を読み込んで所定の計算をし、この計算結果を予めＲＯＭ３０の所定アドレスまたは内部ＲＯＭ２０ｄの所定アドレスに記載された値と比較して判別する手法など、様々な手法を用いることができる。
【００３５】
また、本実施例では、識別コードが正しくないと判断したとき、ＣＰＵ１０をリセットする構成としたが、ＣＰＵ１０の通常の動作を禁止する手段であればよいので、割込処理によりＣＰＵ１０が自らの動作を停止する構成等でもかまわない。また、通常の動作を停止すればよいので、デモを実行するといった種々の対応も考えることができる。
【００３６】
以上のように構成された本実施例のパチンコ機制御装置１では、電源オン直後からＣＰＵ２０で実行されるチェックプログラムによりＲＯＭ３０が正規品であるか否かを繰り返し判断し、不正品と判断したときはＣＰＵ１０をリセット状態として動作を禁止するので、不正なＲＯＭに記載された不当な制御プログラムに基づく処理を一切行なうことがない。しかも、ＣＰＵ２０のバスＣＢなどをアクセスする動作は、パチンコ機を制御するために使用されない時間であるＣＰＵ１０のリフレッシュ時のみに行なわれるので、ＣＰＵ１０によるパチンコ機の制御に何等支障を来たすこともない。したがって、ＣＰＵ１０によるパチンコ機制御装置１の制御プログラムは、従来のものから一切変更する必要がない。さらに、パチンコ機制御装置１のＲＯＭ３０を除いた主要な論理回路をワンチップとしたので、ＲＯＭ３０へのデータの読み出し命令がＣＰＵ１０からの命令であるかＣＰＵ２０からの命令であるかの判断は、外部からは本質的に不可能である。したがって、ＣＰＵ１０からのデータの読み出し命令のときには不当なプログラムデータを読み出し、ＣＰＵ２０からのデータの読み出し命令のときには正規のプログラムデータを読み出すといった不正を許すことがない。
【００３７】
また、本実施例のパチンコ機制御装置１は、電源オン直後にＲＯＭ３０が正規品か否かのチェックを行なった後でパチンコ機の制御を行なうものに比べて、電源オン以降にＲＯＭ３０のチェックのための特別な時間を必要としない。さらに、ＲＯＭ３０のチェックを動作中常時行なうので、電源オンから所定時間まで正規のＲＯＭ３０で動作し、所定時間経過後に不正なＲＯＭに切り換えるといった不正も検出することができる。
【００３８】
次に、本発明の第２の実施例について説明する。図４は、第２実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。説明の便宜のため第１実施例と同じ論理回路により構成されているものは同じ番号を付し、その説明を省略する。
【００３９】
図示するように、第２実施例のパチンコ機制御装置１は、第１実施例と同様にワンチップマイクロコンピュータ２と、ＲＯＭ３０と、ワンチップマイクロコンピュータ２に外付けされる発振用クリスタル１８と、電源回路２８と、ドライバ４０および波形整形回路５０から構成されている。
【００４０】
ＣＰＵ６０は、その内部にＲＯＭ６０ｄおよびＲＡＭ６０ｅを内蔵しており、後述するチェックプログラムがその内部ＲＯＭ６０ｄに不揮発的に焼き付けられている。また、ＣＰＵ６０は、コントロールポートを有するコントロールバス制御回路６０ａ、アドレスポートを有するアドレスバス制御回路６０ｂ、データポートを有するデータバス制御回路６０ｃ、出力ポートであるＰ６１＼，Ｐ６２＼、入力ポートであるＰ６３＼および割込信号を入力するＩＮＴ＼の各ポートを備えている。
【００４１】
ＣＰＵ６０のコントロールポート，アドレスポートおよびデータポートは、ＣＰＵ１０の各ポートに接続されたコントロールバスＣＢ，アドレスバスＡＢおよびデータバスＤＢにそれぞれ接続されている。各種バスＣＢ，ＡＢ，ＤＢに接続されたＣＰＵ６０の各ポートは通常ハイインピーダンス状態となっており、ポートＰ６２＼から「Ｌ」を出力し、その結果ポートＰ６３＼から「Ｌ」を入力したときにのみ各バス制御回路６０ａ，６０ｂ，６０ｃによる接続を有効とする。
ＣＰＵ６０の出力ポートＰ６１＼は、パチンコ機制御装置１の外部からの信号線と共にＯＲ回路２６を介してＣＰＵ１０のポートＲＥＳＥＴ＼に接続されており、信号Ｐ６１＼を「Ｌ」とすることによりＣＰＵ１０をリセット状態とする。ＣＰＵ６０の出力ポートＰ６２＼は、ＣＰＵ１０の入力ポートＢＵＳＲＱ＼に接続されており、信号Ｐ６２＼を「Ｌ」とすることによりＣＰＵ１０に対して、バスの占有権を要求する。この信号Ｐ６２＼を受け付けると、ＣＰＵ１０は、バスＣＢ，ＡＢ，ＤＢとの接続をハイインピーダンス状態とする。このとき、ＣＰＵ１０は、その出力ポートＢＵＳＡＫ＼を「Ｌ」とする。この出力ポートＢＵＳＡＫ＼は、ＣＰＵ６０の入力ポートＰ６３＼に接続されているから、信号ＢＵＳＡＫ＼を入力することにより、ＣＰＵ６０は、ＣＰＵ１０のバスＣＢ，ＡＢ，ＤＢに対する占有状態を検出する。ＣＰＵ６０がバスを使用したのち、信号Ｐ６２＼を「Ｈ」とすることによりＣＰＵ１０とバスＣＢ，ＡＢ，ＤＢとの接続を再び有効とする。
【００４２】
ＣＰＵ６０の入力ポートＩＮＴ＼は、割込信号発生回路６２に接続されている。この割込信号発生回路６２は、割込信号をランダムに発生する論理回路である。割込信号発生回路６２が発生する信号を入力ポートＩＮＴ＼に入力したとき、ＣＰＵ６０は、予め定めたシーケンスにより割込処理を起動し、後述するチェックプログラムを実行する。割込信号の発生頻度は、ＣＰＵ６０がＲＯＭ３０のチェックを行なう頻度やチェックプログラムによるチェックに必要なＲＯＭ３０へのデータ読み込み回数などにより決められる。第２実施例では、ＣＰＵ１０のマシンサイクル１０回から１００回の間で、平均５５回に１回となるように設定されている。第２実施例では、割込信号をランダムに発生する構成としたが、一定周期で割込信号を発生する構成でも差し支えない。
【００４３】
以上のように構成された第２実施例のパチンコ機制御装置１では、ＣＰＵ１０の処理によりパチンコ機が制御されているとき、ＣＰＵ６０は、図５のフローチャートに示すチェックプログラムを実行している。図５に示すチェックプログラムは、ＣＰＵ６０の内部ＲＯＭ６０ｄに焼き付けられたプログラムであり、割込信号発生回路６２からの信号がＩＮＴ＼に入力される毎にこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、ＣＰＵ６０に割込信号ＩＮＴ＼が入力されると信号Ｐ６２＼を「Ｌ」とする（ステップＳ２００）。信号Ｐ６２＼を「Ｌ」とすると、ＣＰＵ１０は、現在実行中のマシンサイクルの終了後バスＣＢ，ＡＢ，ＤＢとの接続をハイインピーダンス状態とし、パチンコ機の制御を中断する。なお、後述するように、パチンコ機の制御の中断は、ＣＰＵ６０のマシンサイクルの数個分にすぎないので、遊技は見掛け上、支障なく継続する。
【００４４】
次に入力ポートＰ６３＼に入力される信号が「Ｌ」となるのを待って（ステップＳ２１０）、ＣＰＵ６０とバスＣＢ，ＡＢ，ＤＢとの接続を有効とする（ステップＳ２２０）。ＣＰＵ１０は、バスＣＢ，ＡＢ，ＤＢとの接続がハイインピーダンス状態となると、信号ＢＵＳＡＫ＼を「Ｌ」とするので、ＣＰＵ６０がこの信号を受けてバスＣＢ，ＡＢ，ＤＢとの接続を有効とすれば、ＣＰＵ１０とＣＰＵ６０とが同時にバスＣＢ，ＡＢ，ＤＢとの接続が有効となることはない。
【００４５】
こうして接続が有効となったバスＣＢ，ＡＢ，ＤＢを用いてＲＯＭ３０の所定アドレスから識別コードを読み込む（ステップＳ２３０）。識別コードを読み込むと、ＣＰＵ６０とバスＣＢ，ＡＢ，ＤＢとの接続をハイインピーダンス状態とし（ステップＳ２４０）、信号Ｐ６２＼を「Ｈ」とする（ステップＳ２５０）。信号Ｐ６２＼を「Ｈ」とすることにより、ＣＰＵ１０とバスＣＢ，ＡＢ，ＤＢとの接続を有効とし、ＣＰＵ１０によるパチンコ機器の制御を再開始する。したがって、ＣＰＵ１０によるパチンコ機器の制御の中断は、ＲＯＭ３０にアクセスする時間だけであり、極めて僅かであるので、パチンコ機の使用者に対して制御の中断により与える影響はない。
【００４６】
次に、ＲＯＭ３０から読み込んだ識別コードが予め定めた正しい値であるか否かを判断し（ステップＳ２６０）、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートからの信号Ｐ６１＼を「Ｌ」として（ステップＳ２７０）、ＣＰＵ１０をリセット状態とする。
【００４７】
ここで、ＲＯＭ３０が正規のものであるか否かの判断手法および識別コードが正しくないと判断したときの対応は、第１実施例で述べたとおり様々な手法、種々の対応を考えることができる。例えば、ＲＯＭ３０の複数アドレスに記憶されたデータに対する所定の計算結果を予めＲＯＭ３０の特定アドレスに記載しておき、ＣＰＵ２０でＲＯＭ３０の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法等である。
【００４８】
以上のように構成された第２実施例のパチンコ機制御装置１では、電源オン直後からＣＰＵ６０で実行されるチェックプログラムによりＲＯＭ３０が正規品であるか否かを繰り返し判断し、不正品と判断したときはＣＰＵ１０をリセット状態として動作を禁止するので、不正なＲＯＭに記載された不当な制御プログラムに基づく処理を一切行なうことがない。また、ＣＰＵ６０がチェックプログラムを実行するタイミングをランダムに発生する割込信号により決定するので、ＣＰＵ６０からＲＯＭ３０への読み出しを予め察知することを防止することができる。したがって、不正なＲＯＭでの制御を行なうことがない。さらに、ＣＰＵ６０は、ＣＰＵ１０によるパチンコ機の制御に支障をきたさない程度の時間だけバスＣＢ，ＡＢ，ＤＢを用いてＲＯＭ３０のチェックを行なうので、遊技に支障をきたすことがない。なお、その他の効果は、第１実施例と同様である。
【００４９】
以上本発明の制御装置の実施例としてパチンコ機制御装置１の構成、動作について説明したが、本発明はこうした実施例に何等限定されるものではなく、例えば、スロットルマシン等の他の遊技機器の制御装置として組み込まれる構成、制御用コンピュータとプログラム記憶素子を判定する論理回路が異なるチップによる構成、ビルの出入口やオフィスの出入口，金庫の扉等の施錠管理システム等のように制御プログラムの信頼性が特に重要視される防犯システムに組み込む構成など、本発明の要旨を逸脱しない範囲内において、種々なる態様で実施し得ることは勿論である。
【図面の簡単な説明】
【図１】本発明の一実施例としてのパチンコ機制御装置のブロック図である。
【図２】パチンコ機制御装置１のＣＰＵ１０における命令フェッチサイクルとＣＰＵ２０などの動作のタイミングを示す説明図である。
【図３】ＣＰＵ２０にて実行されるチェックプログラムのフローチャートである。
【図４】第２実施例としてのパチンコ機制御装置のブロック図である。
【図５】ＣＰＵ６０にて実行されるチェックプログラムのフローチャートである。
【符号の説明】
１…パチンコ機制御装置
２…ワンチップマイクロコンピュータ
１０…ＣＰＵ
１０ａ…コントロールバス制御回路
１０ｂ…アドレスバス制御回路
１０ｃ…データバス制御回路
１２…ＲＡＭ
１４…Ｉ／Ｏ
１６…バスドライバ
１８…発振用クリスタル
２０…ＣＰＵ
２０ｃ…データ入力回路
２０ｄ…ＲＯＭ
２０ｅ…ＲＡＭ
２０ｆ…データ出力回路
２１…コントロール信号制御回路
２３…バスドライバ
２５…ラッチ回路
２６…ＯＲ回路
２８…電源回路
３０…ＲＯＭ
４０…ドライバ
４１…ソレノイド
４２…表示装置
４３…ランプ
５０…波形整形回路
５１…デジタルスタートスイッチ
５２…入賞スイッチ
６０…ＣＰＵ
６０ａ…コントロールバス制御回路
６０ｂ…アドレスバス制御回路
６０ｃ…データバス制御回路
６０ｄ…ＲＯＭ
６０ｅ…ＲＡＭ
６２…割込信号発生回路
ＡＢ…アドレスバス
ＣＢ…コントロールバス
ＤＢ…データバス
ＳＢ…コントロールサブバス
【図１】
0003565174.tif 000002
【図２】
0003565174.tif 000003
【図３】
0003565174.tif 000004
【図４】
0003565174.tif 000005
【図５】
0003565174.tif 000006