説明

制御装置

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、制御装置に関し、詳しくは制御用コンピュータの動作中、プログラム記憶素子が正規品であるか否か判断する制御装置に関する。
【0002】
【従来の技術】従来、この種の制御装置は、通常、制御規則を記述した制御プログラムを記憶するプログラム記憶素子(例えば、PROM,マスクROM等)と、このプログラム記憶素子から所定の順序で制御プログラムを読み出して実行する制御用コンピュータとを中心とした論理回路にて構成されている。したがって、予めプログラム記憶素子に所定の制御プログラムを記憶させておけば、この制御装置を内蔵する機器は、制御プログラムの記述により一定の制御手順にて制御される。
【0003】また、このように構成された制御装置は、プログラム記憶素子に記憶させる制御プログラムを変更することで、この制御装置を内蔵する機器の制御手順を容易に変更することを可能とし、システムの柔軟性を高め、システムの開発負荷を軽減している。
【0004】
【発明が解決しようとする課題】しかしながら、このように構成された制御装置は、その特徴であるシステムの柔軟性が高い故に、容易に制御プログラムの改変がなされるという問題があった。特に、制御内容に対して法律などによる規制等がある場合には、制御プログラムの改変は不正であり、これを十分に防止する必要があるが、プログラム記憶素子を取り替えるといった人為的、組織的な不正行為に対しては十分な防止策を施すのは困難であった。
【0005】このような問題に対して出願人は、制御プログラムに従った機器制御を実行する前にプログラム記憶素子が正規品であるか否かを識別する構成を、先に別途出願している(特願平4−168487)。本発明の制御装置は、このような問題に対して、さらに、人為的、組織的な不正に対して高い信頼性を得ることを目的として、次の構成を採った。
【0006】
【課題を解決するための手段】本発明の制御装置は、プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを、該制御用コンピュータとは独立に判断する制御装置であって、前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された内容を読み出す読出手段と、前記読出手段により読み出された内容に基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの通常の動作を禁止する動作禁止手段とを備えることを要旨とする。
【0007】
【作用】以上のように構成された本発明の制御装置は、プログラムに従って機器の動作を制御する制御用コンピュータとは独立に判断を行なうものであり、バス非占有状態検出手段が制御用コンピュータによるバスの非占有状態を検出したとき、読出手段により前記バスを用いてプログラム記憶素子から記憶された内容を読み出し、読み出された内容に基づいてプログラム記憶素子が正規品であるか否かを記憶素子判断手段が判断する。記憶素子判断手段がプログラム記憶素子が正規品でないと判断すると、動作禁止手段が制御用コンピュータの通常の動作を禁止する。
【0008】
【実施例】以上説明した本発明の構成・作用を一層明らかにするために、以下本発明の制御装置の好適な実施例について説明する。図1は、本発明の一実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。
【0009】図示するように、パチンコ機制御装置1は、ワンチップマイクロコンピュータ2と、プログラム記憶素子であるROM30と、ワンチップマイクロコンピュータ2に外付けされる発振用クリスタル18と、回路全体に安定化された電源を供給する電源回路28と、ドライバ40および波形整形回路50から構成されており、ワンチップマイクロコンピュータ2とROM30とは、コントロールバスCB,アドレスバスABおよびデータバスDBにより接続されている。ワンチップマイクロコンピュータ2は、パチンコ機を制御するCPU10と、ROM30が正規品か否かをチェックするCPU20とを中心とした論理回路により構成されている。
【0010】CPU10は、「Z80」系の8ビットマイクロコンピュータで、信号MREQ\,RD\,M1\等のコントロールポートを有するコントロールバス制御回路10a、アドレスポートを有するアドレスバス制御回路10b、データポートを有するデータバス制御回路10cを備えている。ここで、信号名の後に付した「\」は、そのポートがローアクティブであることを意味している。
【0011】CPU10のコントロールポートおよびアドレスポートは、バスドライバ16を介してコントロールバスCBおよびアドレスバスABに接続されており、データポートは、データバスDBに接続されている。各種バスCB,AB,DBは、必要なデータを一時的に記憶するRAM12および入出力インタフェース回路(以下、I/Oという)14に接続されている。また、CPU10のコントロールポートは、コントロール信号制御回路21に接続されている。
【0012】コントロール信号制御回路21は、CPU10から出力される信号RFSH\等に基づいて信号G1,信号G2,信号CL1,信号MREQ2\および信号RD2\などのコントロール信号を作成する論理回路である。コントロール信号制御回路21は、コントロールサブバスSBを介してCPU20,バスドライバ16,バスドライバ23およびラッチ回路25と接続されており、信号G1および信号G2の出力によりバスドライバ16およびバスドライバ23の出力状態を制御し、信号CL1の出力によりラッチ回路25のラッチのタイミングを制御すると共に、CPU20に対してコントロールバスCB等をどこが使用しているかを知らせる。また、コントロール信号制御回路21は、コントロールサブバスSBおよびバスドライバ23を介してコントロールバスCBに接続されており、信号RFSH\等に基づいて作成される信号MREQ2\および信号RD2\などをコントロールバスCBに信号MREQ\および信号RD\などとして出力することにより各論理回路を制御する。
【0013】コントロール信号のうち信号G1は、信号RFSH\と同じ出力を示す信号として出力される。また、信号G2は、信号RFSH\がローレベル(以下「L」と記載する)となるときからわずかに遅れてハイレベル(以下「H」と記載する)となり、信号RFSH\が「H」となるときよりわずかに早く「L」となる信号として出力される。信号CL1は、CPU10のリフレッシュ時間内の後半で反転のパルス信号として出力される。信号MREQ2\および信号RD2\は、信号G2が「H」となるときに「L」となり、信号G2が「L」となるときに「H」となる信号として出力される。
【0014】バスドライバ16は、トライステートバッファにより構成されており、コントロール信号制御回路21から出力される信号G1をコントロールサブバスSBを介して入力することで、コントロールポートおよびアドレスポートからの出力を有効またはハイインピーダンス状態とする。すなわち、信号G1が「H」のときには、各ポートからの出力を有効とし、CPU10は、ROM30,RAM12およびI/O14にコントロールバスCBを介して各種制御信号を発し、アドレスバスABを介してアドレス指定することができる。逆に、信号G1が「L」のときには、ハイインピーダンス状態とし、CPU10とバスCB,ABとが接続されていない状態とする。
【0015】RAM12は、ROM30に記憶された制御プログラムをCPU10が実行するに際し、必要なデータが一時的に記憶される記憶素子である。RAM12へのデータの一時記憶は、CPU10が、バスドライバ16を介してアドレスバスABにデータを記憶すべきアドレスを出力し、信号MREQ\を「L」とし、データバスDBから記憶すべきデータを出力し、記憶すべきデータがデータバスDBに出力されていることを示す信号WR\を「L」とすると、RAM12がデータバスDBからデータを取り込むことにより行なわれる。また、CPU10が、RAM12に記憶させたデータが必要となったときには、バスドライバ16を介して読み込むべきデータを記憶したアドレスをアドレスバスABから出力し、信号MREQ\を「L」とし、信号RD\を「L」とすることにより、RAM12の指定アドレスからデータバスDBに出力されるデータを読み込む。
【0016】I/O14は、パチンコ機制御装置1とパチンコ機に備えられた各種の電装機器との信号の整合をとる回路である。したがって、I/O14は、バスCB,AB,DBと接続されてCPU10を中心とした論理回路に組み込まれると共にパチンコ機に備えられる電装機器、例えば、本体入賞スイッチ52,デジタルスタートスイッチ51等に接続された波形整形回路50や、パチンコ機本体の当りランプ43,センター役物のデジタル部分でLEDの集合である表示装置42,大入賞口を開口させるソレノイド41に接続されたドライバ40等に接続されている。
【0017】CPU10を中心とした以上の構成に付加して、ROM30が正規品か否かを判定する論理回路がCPU20を中心として設けられている。CPU20は、その内部にROM20dおよびRAM20eを内蔵しており、後述するチェックプログラムがその内部ROM20dに不揮発的に焼き付けられている。また、CPU20は、Q0〜Q7の入力ポートを有するデータ入力回路20c、P0〜P15の出力ポートを有するデータ出力回路20f、CPU20の制御信号入力ポートであるP17および制御信号出力ポートであるP18\を備えている。
【0018】CPU20のデータ出力回路20fは、バスドライバ23を介してアドレスバスABに接続されており、内部ROM20dに記憶されたプログラムに従い、所定のアドレスデータを出力ポートP0〜P15にセットして、そのデータを出力する。データ出力回路20fとアドレスバスABとの間に介在するバスドライバ23は、バスドライバ16と同様にトライステートバッファにより構成されており、コントロール信号制御回路21から出力される信号G2をコントロールサブバスSBを介して入力することで、出力ポートP0〜P15からアドレスバスABへの出力を有効またはハイインピーダンス状態とする。すなわち、信号G2が「H」のときには、出力ポートP0〜P15からアドレスバスABへの出力を有効とし、信号G2が「L」のときには、ハイインピーダンス状態として、出力ポートP0〜P15とアドレスバスABとが接続されていない状態とする。
【0019】したがって、コントロール信号制御回路21から出力される信号G1および信号G2を調整することにより、アドレスバスABには、CPU10のアドレスバス制御回路10bからのデータとCPU20の出力ポートP0〜P15からのデータとが選択的に出力される。すなわち、信号G2を「L」とすることによりバスドライバ23の出力をハイインピーダンス状態とし、信号G1を「H」とすることによりバスドライバ16を介してCPU10のコントロールバス制御回路10aおよびアドレスバス制御回路10bとコントロールバスCBおよびアドレスバスABとの接続を有効とする。逆に、信号G1を「L」とすることによりバスドライバ16の出力をハイインピーダンス状態とし、信号G2を「H」とすることによりバスドライバ23を介してCPU20の出力ポートP0〜P15とアドレスバスABとの接続を有効とする。
【0020】CPU20の入力ポートQ0〜Q7には、ラッチ回路25を介してデータバスDBが接続されている。ラッチ回路25は、そのCLK端子へ制御信号が入力されたときにデータバスDBに出力されているデータを入力して保持するものである。ラッチ回路25のCLK端子は、コントロールサブバスSBを介してコントロール信号制御回路21に接続されており、コントロール信号制御回路21から出力される信号CL1が「L」から「H」になるときにデータバスDBに出力されているデータをラッチし、次に信号CL1が「L」から「H」になるときまでそのデータを保持する。
【0021】CPU20の出力ポートP18\は、パチンコ機制御装置1の外部からの信号線と共にOR回路26を介してCPU10のポートRESET\に接続されており、CPU20が信号P18\を「L」とすることによりCPU10をリセット状態とすることができる。
【0022】一方、ROM30は、CPU10の実行する制御プログラムやそのプログラムの実行に必要な各種データを不揮発的に記憶する記憶素子であり、CPU10からのアドレス指定を受けるとそのアドレスに記憶しているデータを出力する。すなわち、このROM30には、パチンコ機制御装置1として実行すべき遊技ルールに基づく制御プログラムなどの情報が記憶されている。
【0023】次に、CPU10の命令フェッチサイクル時におけるパチンコ機制御装置1の動作について図2を用いて説明する。図2は、CPU10の命令フェッチサイクルとCPU20などの動作のタイミングを示す説明図である。図2に示すように、「Z80」系のCPU10は、クロックΦに同期しつつ命令フェッチサイクルの最初のサイクル(Machine cycle one)である旨を示すために信号M1\を「L」とし、これに少し遅れて記憶素子へのアクセス要求である旨を示すための信号MREQ\と、リード要求である旨を示すための信号RD\とを「L」とする。また、記憶素子のアクセス時間が遅いものであってもデータ読みに支障を来たさないように、記憶素子が信号WAIT\をクロックΦのT2ステートでの立ち下がり時点で「H」を出力しない場合には待ちサイクルを設け、データの読み込みのタイミングを遅延させる機能を有している。
【0024】したがって、CPU10による現実の命令フェッチは、上記各信号により判断される一定の条件が整ったときに実行され、そのときのアドレスバスABにより指定されるアドレスAD1に記憶されており、データバスDBに出力されているデータD1が命令として取り込まれる。公知のように、このようにして取り込まれた命令はCPU10内の命令レジスタに格納され、次の実行サイクルでのCPU10の動作が決定される。
【0025】また、CPU10の命令フェッチサイクルのT3およびT4ステートでは、ダイナミックRAMのリフレッシュをするために信号RFSH\を「L」とする。「Z80」系のCPU10では、信号RFSH\が「L」となるとアドレスポートのA0〜A15のうち下位8ビットにリフレッシュ信号が出力される。
【0026】一方、CPU20では、内部ROM20dに記憶されたプログラムに従い、所定のアドレスデータAD2を出力ポートP0〜P15にセットして出力する。
【0027】CPU10の信号RFSH\が「L」となると、この信号に基づいてコントロール信号制御回路21が信号G1を「L」とし、さらに、これにわずかに遅れて信号G2を「H」とする。バスドライバ16は、信号G1が「L」となることにより、その出力をハイインピーダンス状態とし、バスドライバ23は、信号G2が「H」となることで、CPU20の出力ポートP0〜P15とアドレスバスABとの接続およびコントロールサブバスSBとコントロールバスCBとの接続を有効とする。したがって、アドレスバスABには、CPU10のアドレスポートからのリフレッシュ信号は出力されない。
【0028】また、コントロールバスCBには、コントロール信号制御回路21から信号MREQ2\および信号RD2\がコントロールサブバスSBおよびバスドライバ23を介して信号MREQ\および信号RD\として出力され、アドレスバスABには、予めCPU20が出力ポートP0〜P15にセットしておいたアドレスデータAD2が出力される。この出力により、ROM30は、指定されたアドレスAD2に格納されたデータD2をデータバスDBに出力する。このデータD2は、ラッチ回路25のCLK端子に反転のパルス信号である信号CL1が入力されることによりラッチ回路25にラッチされ、CPU20の入力ポートQ0〜Q7へ出力される。その後、CPU20は、入力ポートP17に入力される信号G2に基づいてタイミングを調整した上、入力ポートQ0〜Q7からデータD2を取り込む。
【0029】以上の動作のうち、出力ポートP0〜P15からアドレスバスABにアドレスデータAD2が出力され、このデータAD2の出力に伴い、ROM30から出力されるデータD2をラッチ回路25でラッチするまでの動作は、CPU10の一回のリフレッシュ時間内で行なわれる。このように、CPU10のリフレッシュ時間に各種バスCB,AB,DBを用いてデータD2を読み込むので、CPU10の動作に支障をきたすことはない。また、本実施例では、パチンコ機制御装置1は、ダイナミックRAMを有しないので、リフレッシュ信号がアドレスバスABに出力されないことによる制限を受けることはない。
【0030】なお、本実施例では、CPU10のリフレッシュ時毎に、CPU20がROM30からデータを読み込む構成としたが、データ出力回路20fにROM30の読み込むべきアドレスをセットして、データを読み込む準備が整ったときに、CPU20からコントロール信号制御回路21に制御信号を出力し、その制御信号が出力された場合のみコントロール信号制御回路21が動作し、その後のCPU10のリフレッシュ時にROM30のデータを読み込む構成とすることも好適である。この場合、CPU20のポートP17を制御信号の入出力ポートとし、CPU20は、ポートP17からコントロール信号制御回路21に制御信号を出力する。
【0031】以上のように構成されたパチンコ機制御装置1は、次のように動作する。パチンコ機制御装置1の電源回路がオンされると、ワンチップマイクロコンピュータ2のCPU10は電力の供給を受け、所定の手順に従ってROM30に記憶された制御プログラムを順次読み出してはそのプログラムに記述された命令を実行する。この制御プログラムに基づいたCPU10の処理により、パチンコ機は、制御プログラムに記述された遊技ルールに従った挙動を示し、制御プログラムに記述された遊技が可能となる。
【0032】このようにCPU10の処理によりパチンコ機が制御されているとき、CPU20は、図3のフローチャートに示すチェックプログラムを実行している。図3に示すチェックプログラムは、CPU20の内部ROM20dに焼き付けられたプログラムであり、CPU20への電力の供給が開始されると直ちにこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、CPU20は、ROM30の所定アドレスに予め記憶されている識別コードを読み込む(ステップS100)。次に、この識別コードが予め定めた正しい値であるか否かを判断し(ステップS110)、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートP18\からの信号P18\を「L」として(ステップS120)、CPU10をリセット状態とする。
【0033】ここで、ROM30が正規のものであるか否かの判断は、ROM30に書き込まれているプログラムコードと相関のある値を内部ROM20dに書き込んでおきこれを判別する手法の他、ROM30の複数アドレスに記憶されたデータに対する所定の計算結果を予めROM30の特定アドレスに記載しておき、CPU20でROM30の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法、CPU20の内部ROM20dとROM30との双方に予め所定の識別コードを書き込むものとし、この識別コードの一致を判別する手法、内部ROM20dにROM30に記載されたプログラムコードと同じものを予め記録しておき、ROM30の内容と内部ROM20dの内容を照合して判別する手法、ROM30に記載されたプログラムコードのチェックサムを計算し、これが予め内部ROM20dに記載された値であるかを判定する手法、ROM30の複数のアドレスの値を読み込んで所定の計算をし、この計算結果を予めROM30の所定アドレスまたは内部ROM20dの所定アドレスに記載された値と比較して判別する手法など、様々な手法を用いることができる。
【0034】また、本実施例では、識別コードが正しくないと判断したとき、CPU10をリセットする構成としたが、CPU10の通常の動作を禁止する手段であればよいので、割込処理によりCPU10が自らの動作を停止する構成等でもかまわない。また、通常の動作を停止すればよいので、デモを実行するといった種々の対応も考えることができる。
【0035】以上のように構成された本実施例のパチンコ機制御装置1では、電源オン直後からCPU20で実行されるチェックプログラムによりROM30が正規品であるか否かを繰り返し判断し、不正品と判断したときはCPU10をリセット状態として動作を禁止するので、不正なROMに記載された不当な制御プログラムに基づく処理を一切行なうことがない。しかも、CPU20のバスCBなどをアクセスする動作は、パチンコ機を制御するために使用されない時間であるCPU10のリフレッシュ時のみに行なわれるので、CPU10によるパチンコ機の制御に何等支障を来たすこともない。したがって、CPU10によるパチンコ機制御装置1の制御プログラムは、従来のものから一切変更する必要がない。さらに、パチンコ機制御装置1のROM30を除いた主要な論理回路をワンチップとしたので、ROM30へのデータの読み出し命令がCPU10からの命令であるかCPU20からの命令であるかの判断は、外部からは本質的に不可能である。したがって、CPU10からのデータの読み出し命令のときには不当なプログラムデータを読み出し、CPU20からのデータの読み出し命令のときには正規のプログラムデータを読み出すといった不正を許すことがない。
【0036】また、本実施例のパチンコ機制御装置1は、電源オン直後にROM30が正規品か否かのチェックを行なった後でパチンコ機の制御を行なうものに比べて、電源オン以降にROM30のチェックのための特別な時間を必要としない。さらに、ROM30のチェックを動作中常時行なうので、電源オンから所定時間まで正規のROM30で動作し、所定時間経過後に不正なROMに切り換えるといった不正も検出することができる。
【0037】次に、本発明の第2の実施例について説明する。図4は、第2実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。説明の便宜のため第1実施例と同じ論理回路により構成されているものは同じ番号を付し、その説明を省略する。
【0038】図示するように、第2実施例のパチンコ機制御装置1は、第1実施例と同様にワンチップマイクロコンピュータ2と、ROM30と、ワンチップマイクロコンピュータ2に外付けされる発振用クリスタル18と、電源回路28と、ドライバ40および波形整形回路50から構成されている。
【0039】CPU60は、その内部にROM60dおよびRAM60eを内蔵しており、後述するチェックプログラムがその内部ROM60dに不揮発的に焼き付けられている。また、CPU60は、コントロールポートを有するコントロールバス制御回路60a、アドレスポートを有するアドレスバス制御回路60b、データポートを有するデータバス制御回路60c、出力ポートであるP61\,P62\、入力ポートであるP63\および割込信号を入力するINT\の各ポートを備えている。
【0040】CPU60のコントロールポート,アドレスポートおよびデータポートは、CPU10の各ポートに接続されたコントロールバスCB,アドレスバスABおよびデータバスDBにそれぞれ接続されている。各種バスCB,AB,DBに接続されたCPU60の各ポートは通常ハイインピーダンス状態となっており、ポートP62\から「L」を出力し、その結果ポートP63\から「L」を入力したときにのみ各バス制御回路60a,60b,60cによる接続を有効とする。CPU60の出力ポートP61\は、パチンコ機制御装置1の外部からの信号線と共にOR回路26を介してCPU10のポートRESET\に接続されており、信号P61\を「L」とすることによりCPU10をリセット状態とする。CPU60の出力ポートP62\は、CPU10の入力ポートBUSRQ\に接続されており、信号P62\を「L」とすることによりCPU10に対して、バスの占有権を要求する。この信号P62\を受け付けると、CPU10は、バスCB,AB,DBとの接続をハイインピーダンス状態とする。このとき、CPU10は、その出力ポートBUSAK\を「L」とする。この出力ポートBUSAK\は、CPU60の入力ポートP63\に接続されているから、信号BUSAK\を入力することにより、CPU60は、CPU10のバスCB,AB,DBに対する占有状態を検出する。CPU60がバスを使用したのち、信号P62\を「H」とすることによりCPU10とバスCB,AB,DBとの接続を再び有効とする。
【0041】CPU60の入力ポートINT\は、割込信号発生回路62に接続されている。この割込信号発生回路62は、割込信号をランダムに発生する論理回路である。割込信号発生回路62が発生する信号を入力ポートINT\に入力したとき、CPU60は、予め定めたシーケンスにより割込処理を起動し、後述するチェックプログラムを実行する。割込信号の発生頻度は、CPU60がROM30のチェックを行なう頻度やチェックプログラムによるチェックに必要なROM30へのデータ読み込み回数などにより決められる。第2実施例では、CPU10のマシンサイクル10回から100回の間で、平均55回に1回となるように設定されている。第2実施例では、割込信号をランダムに発生する構成としたが、一定周期で割込信号を発生する構成でも差し支えない。
【0042】以上のように構成された第2実施例のパチンコ機制御装置1では、CPU10の処理によりパチンコ機が制御されているとき、CPU60は、図5のフローチャートに示すチェックプログラムを実行している。図5に示すチェックプログラムは、CPU60の内部ROM60dに焼き付けられたプログラムであり、割込信号発生回路62からの信号がINT\に入力される毎にこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、CPU60に割込信号INT\が入力されると信号P62\を「L」とする(ステップS200)。信号P62\を「L」とすると、CPU10は、現在実行中のマシンサイクルの終了後バスCB,AB,DBとの接続をハイインピーダンス状態とし、パチンコ機の制御を中断する。なお、後述するように、パチンコ機の制御の中断は、CPU60のマシンサイクルの数個分にすぎないので、遊技は見掛け上、支障なく継続する。
【0043】次に入力ポートP63\に入力される信号が「L」となるのを待って(ステップS210)、CPU60とバスCB,AB,DBとの接続を有効とする(ステップS220)。CPU10は、バスCB,AB,DBとの接続がハイインピーダンス状態となると、信号BUSAK\を「L」とするので、CPU60がこの信号を受けてバスCB,AB,DBとの接続を有効とすれば、CPU10とCPU60とが同時にバスCB,AB,DBとの接続が有効となることはない。
【0044】こうして接続が有効となったバスCB,AB,DBを用いてROM30の所定アドレスから識別コードを読み込む(ステップS230)。識別コードを読み込むと、CPU60とバスCB,AB,DBとの接続をハイインピーダンス状態とし(ステップS240)、信号P62\を「H」とする(ステップS250)。信号P62\を「H」とすることにより、CPU10とバスCB,AB,DBとの接続を有効とし、CPU10によるパチンコ機器の制御を再開始する。したがって、CPU10によるパチンコ機器の制御の中断は、ROM30にアクセスする時間だけであり、極めて僅かであるので、パチンコ機の使用者に対して制御の中断により与える影響はない。
【0045】次に、ROM30から読み込んだ識別コードが予め定めた正しい値であるか否かを判断し(ステップS260)、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートからの信号P61\を「L」として(ステップS270)、CPU10をリセット状態とする。
【0046】ここで、ROM30が正規のものであるか否かの判断手法および識別コードが正しくないと判断したときの対応は、第1実施例で述べたとおり様々な手法、種々の対応を考えることができる。例えば、ROM30の複数アドレスに記憶されたデータに対する所定の計算結果を予めROM30の特定アドレスに記載しておき、CPU20でROM30の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法等である。
【0047】以上のように構成された第2実施例のパチンコ機制御装置1では、電源オン直後からCPU60で実行されるチェックプログラムによりROM30が正規品であるか否かを繰り返し判断し、不正品と判断したときはCPU10をリセット状態として動作を禁止するので、不正なROMに記載された不当な制御プログラムに基づく処理を一切行なうことがない。また、CPU60がチェックプログラムを実行するタイミングをランダムに発生する割込信号により決定するので、CPU60からROM30への読み出しを予め察知することを防止することができる。したがって、不正なROMでの制御を行なうことがない。さらに、CPU60は、CPU10によるパチンコ機の制御に支障をきたさない程度の時間だけバスCB,AB,DBを用いてROM30のチェックを行なうので、遊技に支障をきたすことがない。なお、その他の効果は、第1実施例と同様である。
【0048】以上本発明の制御装置の実施例としてパチンコ機制御装置1の構成、動作について説明したが、本発明はこうした実施例に何等限定されるものではなく、例えば、スロットルマシン等の他の遊技機器の制御装置として組み込まれる構成、制御用コンピュータとプログラム記憶素子を判定する論理回路が異なるチップによる構成、ビルの出入口やオフィスの出入口,金庫の扉等の施錠管理システム等のように制御プログラムの信頼性が特に重要視される防犯システムに組み込む構成など、本発明の要旨を逸脱しない範囲内において、種々なる態様で実施し得ることは勿論である。
【0049】
【発明の効果】以上説明したように本発明の制御装置では、制御用コンピュータの動作中に、これとは独立に動作して、プログラム記憶素子が正規品であるか否かの判断を行なうので、制御プログラムの不正な書き換えやプログラム記憶素子の不正な取り替えなどの人為的、組織的な不正を有効に防止することができ、高い信頼性を得ることができる。しかも、制御用コンピュータがバスを占有していない状態のときに、バスを用いてプログラム記憶素子が正規品であるか否かの判断をするので、プログラム記憶素子からは制御用コンピュータによる読み出しか読出手段による読み出しかの判断を困難とすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例としてのパチンコ機制御装置のブロック図である。
【図2】パチンコ機制御装置1のCPU10における命令フェッチサイクルとCPU20などの動作のタイミングを示す説明図である。
【図3】CPU20にて実行されるチェックプログラムのフローチャートである。
【図4】第2実施例としてのパチンコ機制御装置のブロック図である。
【図5】CPU60にて実行されるチェックプログラムのフローチャートである。
【符号の説明】
1…パチンコ機制御装置
2…ワンチップマイクロコンピュータ
10…CPU
10a…コントロールバス制御回路
10b…アドレスバス制御回路
10c…データバス制御回路
12…RAM
14…I/O
16…バスドライバ
18…発振用クリスタル
20…CPU
20c…データ入力回路
20d…ROM
20e…RAM
20f…データ出力回路
21…コントロール信号制御回路
23…バスドライバ
25…ラッチ回路
26…OR回路
28…電源回路
30…ROM
40…ドライバ
41…ソレノイド
42…表示装置
43…ランプ
50…波形整形回路
51…デジタルスタートスイッチ
52…入賞スイッチ
60…CPU
60a…コントロールバス制御回路
60b…アドレスバス制御回路
60c…データバス制御回路
60d…ROM
60e…RAM
62…割込信号発生回路
AB…アドレスバス
CB…コントロールバス
DB…データバス
SB…コントロールサブバス

【特許請求の範囲】
【請求項1】 プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを、該制御用コンピュータとは独立に判断する制御装置であって、前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された内容を読み出す読出手段と、前記読出手段により読み出された内容に基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの通常の動作を禁止する動作禁止手段とを備える制御装置。

【図2】
image rotate


【図1】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【特許番号】特許第3343998号(P3343998)
【登録日】平成14年8月30日(2002.8.30)
【発行日】平成14年11月11日(2002.11.11)
【国際特許分類】
【出願番号】特願平5−141552
【出願日】平成5年5月19日(1993.5.19)
【公開番号】特開平6−332731
【公開日】平成6年12月2日(1994.12.2)
【審査請求日】平成12年5月18日(2000.5.18)
【出願人】(000144522)株式会社三洋物産 (4,662)
【参考文献】
【文献】特開 平2−64754(JP,A)
【文献】特開 平4−332582(JP,A)
【文献】特開 平5−111564(JP,A)
【文献】特開 昭55−142494(JP,A)
【文献】特公 昭62−38741(JP,B2)
【文献】特公 平5−27891(JP,B2)