JP3565174B2 - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP3565174B2
JP3565174B2 JP2001068247A JP2001068247A JP3565174B2 JP 3565174 B2 JP3565174 B2 JP 3565174B2 JP 2001068247 A JP2001068247 A JP 2001068247A JP 2001068247 A JP2001068247 A JP 2001068247A JP 3565174 B2 JP3565174 B2 JP 3565174B2
Authority
JP
Japan
Prior art keywords
cpu
control
bus
signal
storage element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001068247A
Other languages
Japanese (ja)
Other versions
JP2001306171A (en
Inventor
洋二 籠宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Bussan Co Ltd
Original Assignee
Sanyo Bussan Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Bussan Co Ltd filed Critical Sanyo Bussan Co Ltd
Priority to JP2001068247A priority Critical patent/JP3565174B2/en
Publication of JP2001306171A publication Critical patent/JP2001306171A/en
Application granted granted Critical
Publication of JP3565174B2 publication Critical patent/JP3565174B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、制御装置に関し、詳しくは制御用コンピュータの動作中、プログラム記憶素子が正規品であるか否か判断する制御装置に関する。
【0002】
【従来の技術】
従来、この種の制御装置は、通常、制御規則を記述した制御プログラムを記憶するプログラム記憶素子(例えば、PROM,マスクROM等)と、このプログラム記憶素子から所定の順序で制御プログラムを読み出して実行する制御用コンピュータとを中心とした論理回路にて構成されている。したがって、予めプログラム記憶素子に所定の制御プログラムを記憶させておけば、この制御装置を内蔵する機器は、制御プログラムの記述により一定の制御手順にて制御される。
【0003】
また、このように構成された制御装置は、プログラム記憶素子に記憶させる制御プログラムを変更することで、この制御装置を内蔵する機器の制御手順を容易に変更することを可能とし、システムの柔軟性を高め、システムの開発負荷を軽減している。
【0004】
【発明が解決しようとする課題】
しかしながら、このように構成された制御装置は、その特徴であるシステムの柔軟性が高い故に、容易に制御プログラムの改変がなされるという問題があった。特に、制御内容に対して法律などによる規制等がある場合には、制御プログラムの改変は不正であり、これを十分に防止する必要があるが、プログラム記憶素子を取り替えるといった人為的、組織的な不正行為に対しては十分な防止策を施すのは困難であった。
【0005】
このような問題に対して出願人は、制御プログラムに従った機器制御を実行する前にプログラム記憶素子が正規品であるか否かを識別する構成を、先に別途出願している(特願平4−168487)。本発明の制御装置は、このような問題に対して、さらに、人為的、組織的な不正に対して高い信頼性を得ることを目的として、次の構成を採った。
【0006】
【課題を解決するための手段およびその作用・効果】
本発明の制御装置は、
遊技機に用いられる制御装置であり、プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを判断する制御装置であって、
前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、
該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された所定のデータを読み出す読出手段と、
前記読出手段により読み出された所定のデータに基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの動作を異ならせる動作変更手段とを備え、
前記動作変更手段は、前記制御用コンピュータに、デモプログラムを実行させる手段であることを要旨とする。
【0007】
以上のように構成された本発明の制御装置は、所定のタイミング、例えばバス非占有状態検出手段が制御用コンピュータによるバスの非占有状態を検出したとき、読出手段により前記バスを用いてプログラム記憶素子から記憶された内容を読み出し、読み出された内容に基づいてプログラム記憶素子が正規品であるか否かを記憶素子判断手段が判断する。記憶素子判断手段がプログラム記憶素子が正規品でないと判断すると、動作変更手段が制御用コンピュータにデモプログラムを実行させる。
【0008】
かかる制御装置では、制御用コンピュータの動作中に、プログラム記憶素子が正規品であるか否かの判断を行なうので、制御プログラムの不正な書き換えやプログラム記憶素子の不正な取り替えなどの人為的、組織的な不正を有効に防止することができ、高い信頼性を得ることができる。しかも、制御用コンピュータが所定のタイミング、例えばバスを占有していない状態のときに、バスを用いてプログラム記憶素子が正規品であるか否かの判断をするので、プログラム記憶素子からは制御用コンピュータによる読み出しか読出手段による読み出しかの判断を困難とすることができる。
【0009】
【発明の実施の形態】
以上説明した本発明の構成・作用を一層明らかにするために、以下本発明の制御装置の好適な実施例について説明する。図1は、本発明の一実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。
【0010】
図示するように、パチンコ機制御装置1は、ワンチップマイクロコンピュータ2と、プログラム記憶素子であるROM30と、ワンチップマイクロコンピュータ2に外付けされる発振用クリスタル18と、回路全体に安定化された電源を供給する電源回路28と、ドライバ40および波形整形回路50から構成されており、ワンチップマイクロコンピュータ2とROM30とは、コントロールバスCB,アドレスバスABおよびデータバスDBにより接続されている。ワンチップマイクロコンピュータ2は、パチンコ機を制御するCPU10と、ROM30が正規品か否かをチェックするCPU20とを中心とした論理回路により構成されている。
【0011】
CPU10は、「Z80」系の8ビットマイクロコンピュータで、信号MREQ\,RD\,M1\等のコントロールポートを有するコントロールバス制御回路10a、アドレスポートを有するアドレスバス制御回路10b、データポートを有するデータバス制御回路10cを備えている。ここで、信号名の後に付した「\」は、そのポートがローアクティブであることを意味している。
【0012】
CPU10のコントロールポートおよびアドレスポートは、バスドライバ16を介してコントロールバスCBおよびアドレスバスABに接続されており、データポートは、データバスDBに接続されている。各種バスCB,AB,DBは、必要なデータを一時的に記憶するRAM12および入出力インタフェース回路(以下、I/Oという)14に接続されている。また、CPU10のコントロールポートは、コントロール信号制御回路21に接続されている。
【0013】
コントロール信号制御回路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\などとして出力することにより各論理回路を制御する。
【0014】
コントロール信号のうち信号G1は、信号RFSH\と同じ出力を示す信号として出力される。また、信号G2は、信号RFSH\がローレベル(以下「L」と記載する)となるときからわずかに遅れてハイレベル(以下「H」と記載する)となり、信号RFSH\が「H」となるときよりわずかに早く「L」となる信号として出力される。信号CL1は、CPU10のリフレッシュ時間内の後半で反転のパルス信号として出力される。信号MREQ2\および信号RD2\は、信号G2が「H」となるときに「L」となり、信号G2が「L」となるときに「H」となる信号として出力される。
【0015】
バスドライバ16は、トライステートバッファにより構成されており、コントロール信号制御回路21から出力される信号G1をコントロールサブバスSBを介して入力することで、コントロールポートおよびアドレスポートからの出力を有効またはハイインピーダンス状態とする。すなわち、信号G1が「H」のときには、各ポートからの出力を有効とし、CPU10は、ROM30,RAM12およびI/O14にコントロールバスCBを介して各種制御信号を発し、アドレスバスABを介してアドレス指定することができる。逆に、信号G1が「L」のときには、ハイインピーダンス状態とし、CPU10とバスCB,ABとが接続されていない状態とする。
【0016】
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に出力されるデータを読み込む。
【0017】
I/O14は、パチンコ機制御装置1とパチンコ機に備えられた各種の電装機器との信号の整合をとる回路である。したがって、I/O14は、バスCB,AB,DBと接続されてCPU10を中心とした論理回路に組み込まれると共にパチンコ機に備えられる電装機器、例えば、本体入賞スイッチ52,デジタルスタートスイッチ51等に接続された波形整形回路50や、パチンコ機本体の当りランプ43,センター役物のデジタル部分でLEDの集合である表示装置42,大入賞口を開口させるソレノイド41に接続されたドライバ40等に接続されている。
【0018】
CPU10を中心とした以上の構成に付加して、ROM30が正規品か否かを判定する論理回路がCPU20を中心として設けられている。CPU20は、その内部にROM20dおよびRAM20eを内蔵しており、後述するチェックプログラムがその内部ROM20dに不揮発的に焼き付けられている。また、CPU20は、Q0〜Q7の入力ポートを有するデータ入力回路20c、P0〜P15の出力ポートを有するデータ出力回路20f、CPU20の制御信号入力ポートであるP17および制御信号出力ポートであるP18\を備えている。
【0019】
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とが接続されていない状態とする。
【0020】
したがって、コントロール信号制御回路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との接続を有効とする。
【0021】
CPU20の入力ポートQ0〜Q7には、ラッチ回路25を介してデータバスDBが接続されている。ラッチ回路25は、そのCLK端子へ制御信号が入力されたときにデータバスDBに出力されているデータを入力して保持するものである。ラッチ回路25のCLK端子は、コントロールサブバスSBを介してコントロール信号制御回路21に接続されており、コントロール信号制御回路21から出力される信号CL1が「L」から「H」になるときにデータバスDBに出力されているデータをラッチし、次に信号CL1が「L」から「H」になるときまでそのデータを保持する。
【0022】
CPU20の出力ポートP18\は、パチンコ機制御装置1の外部からの信号線と共にOR回路26を介してCPU10のポートRESET\に接続されており、CPU20が信号P18\を「L」とすることによりCPU10をリセット状態とすることができる。
【0023】
一方、ROM30は、CPU10の実行する制御プログラムやそのプログラムの実行に必要な各種データを不揮発的に記憶する記憶素子であり、CPU10からのアドレス指定を受けるとそのアドレスに記憶しているデータを出力する。すなわち、このROM30には、パチンコ機制御装置1として実行すべき遊技ルールに基づく制御プログラムなどの情報が記憶されている。
【0024】
次に、CPU10の命令フェッチサイクル時におけるパチンコ機制御装置1の動作について図2を用いて説明する。図2は、CPU10の命令フェッチサイクルとCPU20などの動作のタイミングを示す説明図である。図2に示すように、「Z80」系のCPU10は、クロックΦに同期しつつ命令フェッチサイクルの最初のサイクル(Machine cycle one)である旨を示すために信号M1\を「L」とし、これに少し遅れて記憶素子へのアクセス要求である旨を示すための信号MREQ\と、リード要求である旨を示すための信号RD\とを「L」とする。また、記憶素子のアクセス時間が遅いものであってもデータ読みに支障を来たさないように、記憶素子が信号WAIT\をクロックΦのT2ステートでの立ち下がり時点で「H」を出力しない場合には待ちサイクルを設け、データの読み込みのタイミングを遅延させる機能を有している。
【0025】
したがって、CPU10による現実の命令フェッチは、上記各信号により判断される一定の条件が整ったときに実行され、そのときのアドレスバスABにより指定されるアドレスAD1に記憶されており、データバスDBに出力されているデータD1が命令として取り込まれる。公知のように、このようにして取り込まれた命令はCPU10内の命令レジスタに格納され、次の実行サイクルでのCPU10の動作が決定される。
【0026】
また、CPU10の命令フェッチサイクルのT3およびT4ステートでは、ダイナミックRAMのリフレッシュをするために信号RFSH\を「L」とする。「Z80」系のCPU10では、信号RFSH\が「L」となるとアドレスポートのA0〜A15のうち下位8ビットにリフレッシュ信号が出力される。
【0027】
一方、CPU20では、内部ROM20dに記憶されたプログラムに従い、所定のアドレスデータAD2を出力ポートP0〜P15にセットして出力する。
【0028】
CPU10の信号RFSH\が「L」となると、この信号に基づいてコントロール信号制御回路21が信号G1を「L」とし、さらに、これにわずかに遅れて信号G2を「H」とする。バスドライバ16は、信号G1が「L」となることにより、その出力をハイインピーダンス状態とし、バスドライバ23は、信号G2が「H」となることで、CPU20の出力ポートP0〜P15とアドレスバスABとの接続およびコントロールサブバスSBとコントロールバスCBとの接続を有効とする。したがって、アドレスバスABには、CPU10のアドレスポートからのリフレッシュ信号は出力されない。
【0029】
また、コントロールバス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を取り込む。
【0030】
以上の動作のうち、出力ポートP0〜P15からアドレスバスABにアドレスデータAD2が出力され、このデータAD2の出力に伴い、ROM30から出力されるデータD2をラッチ回路25でラッチするまでの動作は、CPU10の一回のリフレッシュ時間内で行なわれる。このように、CPU10のリフレッシュ時間に各種バスCB,AB,DBを用いてデータD2を読み込むので、CPU10の動作に支障をきたすことはない。また、本実施例では、パチンコ機制御装置1は、ダイナミックRAMを有しないので、リフレッシュ信号がアドレスバスABに出力されないことによる制限を受けることはない。
【0031】
なお、本実施例では、CPU10のリフレッシュ時毎に、CPU20がROM30からデータを読み込む構成としたが、データ出力回路20fにROM30の読み込むべきアドレスをセットして、データを読み込む準備が整ったときに、CPU20からコントロール信号制御回路21に制御信号を出力し、その制御信号が出力された場合のみコントロール信号制御回路21が動作し、その後のCPU10のリフレッシュ時にROM30のデータを読み込む構成とすることも好適である。この場合、CPU20のポートP17を制御信号の入出力ポートとし、CPU20は、ポートP17からコントロール信号制御回路21に制御信号を出力する。
【0032】
以上のように構成されたパチンコ機制御装置1は、次のように動作する。パチンコ機制御装置1の電源回路がオンされると、ワンチップマイクロコンピュータ2のCPU10は電力の供給を受け、所定の手順に従ってROM30に記憶された制御プログラムを順次読み出してはそのプログラムに記述された命令を実行する。この制御プログラムに基づいたCPU10の処理により、パチンコ機は、制御プログラムに記述された遊技ルールに従った挙動を示し、制御プログラムに記述された遊技が可能となる。
【0033】
このようにCPU10の処理によりパチンコ機が制御されているとき、CPU20は、図3のフローチャートに示すチェックプログラムを実行している。図3に示すチェックプログラムは、CPU20の内部ROM20dに焼き付けられたプログラムであり、CPU20への電力の供給が開始されると直ちにこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、CPU20は、ROM30の所定アドレスに予め記憶されている識別コードを読み込む(ステップS100)。次に、この識別コードが予め定めた正しい値であるか否かを判断し(ステップS110)、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートP18\からの信号P18\を「L」として(ステップS120)、CPU10をリセット状態とする。
【0034】
ここで、ROM30が正規のものであるか否かの判断は、ROM30に書き込まれているプログラムコードと相関のある値を内部ROM20dに書き込んでおきこれを判別する手法の他、ROM30の複数アドレスに記憶されたデータに対する所定の計算結果を予めROM30の特定アドレスに記載しておき、CPU20でROM30の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法、CPU20の内部ROM20dとROM30との双方に予め所定の識別コードを書き込むものとし、この識別コードの一致を判別する手法、内部ROM20dにROM30に記載されたプログラムコードと同じものを予め記録しておき、ROM30の内容と内部ROM20dの内容を照合して判別する手法、ROM30に記載されたプログラムコードのチェックサムを計算し、これが予め内部ROM20dに記載された値であるかを判定する手法、ROM30の複数のアドレスの値を読み込んで所定の計算をし、この計算結果を予めROM30の所定アドレスまたは内部ROM20dの所定アドレスに記載された値と比較して判別する手法など、様々な手法を用いることができる。
【0035】
また、本実施例では、識別コードが正しくないと判断したとき、CPU10をリセットする構成としたが、CPU10の通常の動作を禁止する手段であればよいので、割込処理によりCPU10が自らの動作を停止する構成等でもかまわない。また、通常の動作を停止すればよいので、デモを実行するといった種々の対応も考えることができる。
【0036】
以上のように構成された本実施例のパチンコ機制御装置1では、電源オン直後からCPU20で実行されるチェックプログラムによりROM30が正規品であるか否かを繰り返し判断し、不正品と判断したときはCPU10をリセット状態として動作を禁止するので、不正なROMに記載された不当な制御プログラムに基づく処理を一切行なうことがない。しかも、CPU20のバスCBなどをアクセスする動作は、パチンコ機を制御するために使用されない時間であるCPU10のリフレッシュ時のみに行なわれるので、CPU10によるパチンコ機の制御に何等支障を来たすこともない。したがって、CPU10によるパチンコ機制御装置1の制御プログラムは、従来のものから一切変更する必要がない。さらに、パチンコ機制御装置1のROM30を除いた主要な論理回路をワンチップとしたので、ROM30へのデータの読み出し命令がCPU10からの命令であるかCPU20からの命令であるかの判断は、外部からは本質的に不可能である。したがって、CPU10からのデータの読み出し命令のときには不当なプログラムデータを読み出し、CPU20からのデータの読み出し命令のときには正規のプログラムデータを読み出すといった不正を許すことがない。
【0037】
また、本実施例のパチンコ機制御装置1は、電源オン直後にROM30が正規品か否かのチェックを行なった後でパチンコ機の制御を行なうものに比べて、電源オン以降にROM30のチェックのための特別な時間を必要としない。さらに、ROM30のチェックを動作中常時行なうので、電源オンから所定時間まで正規のROM30で動作し、所定時間経過後に不正なROMに切り換えるといった不正も検出することができる。
【0038】
次に、本発明の第2の実施例について説明する。図4は、第2実施例としてのパチンコ機制御装置を搭載するパチンコ機の制御系の要部を示す概略構成図である。説明の便宜のため第1実施例と同じ論理回路により構成されているものは同じ番号を付し、その説明を省略する。
【0039】
図示するように、第2実施例のパチンコ機制御装置1は、第1実施例と同様にワンチップマイクロコンピュータ2と、ROM30と、ワンチップマイクロコンピュータ2に外付けされる発振用クリスタル18と、電源回路28と、ドライバ40および波形整形回路50から構成されている。
【0040】
CPU60は、その内部にROM60dおよびRAM60eを内蔵しており、後述するチェックプログラムがその内部ROM60dに不揮発的に焼き付けられている。また、CPU60は、コントロールポートを有するコントロールバス制御回路60a、アドレスポートを有するアドレスバス制御回路60b、データポートを有するデータバス制御回路60c、出力ポートであるP61\,P62\、入力ポートであるP63\および割込信号を入力するINT\の各ポートを備えている。
【0041】
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との接続を再び有効とする。
【0042】
CPU60の入力ポートINT\は、割込信号発生回路62に接続されている。この割込信号発生回路62は、割込信号をランダムに発生する論理回路である。割込信号発生回路62が発生する信号を入力ポートINT\に入力したとき、CPU60は、予め定めたシーケンスにより割込処理を起動し、後述するチェックプログラムを実行する。割込信号の発生頻度は、CPU60がROM30のチェックを行なう頻度やチェックプログラムによるチェックに必要なROM30へのデータ読み込み回数などにより決められる。第2実施例では、CPU10のマシンサイクル10回から100回の間で、平均55回に1回となるように設定されている。第2実施例では、割込信号をランダムに発生する構成としたが、一定周期で割込信号を発生する構成でも差し支えない。
【0043】
以上のように構成された第2実施例のパチンコ機制御装置1では、CPU10の処理によりパチンコ機が制御されているとき、CPU60は、図5のフローチャートに示すチェックプログラムを実行している。図5に示すチェックプログラムは、CPU60の内部ROM60dに焼き付けられたプログラムであり、割込信号発生回路62からの信号がINT\に入力される毎にこのチェックプログラムに基づいた処理が開始され、電力が供給されている間は繰り返し実行される。まず、CPU60に割込信号INT\が入力されると信号P62\を「L」とする(ステップS200)。信号P62\を「L」とすると、CPU10は、現在実行中のマシンサイクルの終了後バスCB,AB,DBとの接続をハイインピーダンス状態とし、パチンコ機の制御を中断する。なお、後述するように、パチンコ機の制御の中断は、CPU60のマシンサイクルの数個分にすぎないので、遊技は見掛け上、支障なく継続する。
【0044】
次に入力ポートP63\に入力される信号が「L」となるのを待って(ステップS210)、CPU60とバスCB,AB,DBとの接続を有効とする(ステップS220)。CPU10は、バスCB,AB,DBとの接続がハイインピーダンス状態となると、信号BUSAK\を「L」とするので、CPU60がこの信号を受けてバスCB,AB,DBとの接続を有効とすれば、CPU10とCPU60とが同時にバスCB,AB,DBとの接続が有効となることはない。
【0045】
こうして接続が有効となったバスCB,AB,DBを用いてROM30の所定アドレスから識別コードを読み込む(ステップS230)。識別コードを読み込むと、CPU60とバスCB,AB,DBとの接続をハイインピーダンス状態とし(ステップS240)、信号P62\を「H」とする(ステップS250)。信号P62\を「H」とすることにより、CPU10とバスCB,AB,DBとの接続を有効とし、CPU10によるパチンコ機器の制御を再開始する。したがって、CPU10によるパチンコ機器の制御の中断は、ROM30にアクセスする時間だけであり、極めて僅かであるので、パチンコ機の使用者に対して制御の中断により与える影響はない。
【0046】
次に、ROM30から読み込んだ識別コードが予め定めた正しい値であるか否かを判断し(ステップS260)、正しい場合には本ルーチンを終了する。識別コードが正しくないと判断すると、出力ポートからの信号P61\を「L」として(ステップS270)、CPU10をリセット状態とする。
【0047】
ここで、ROM30が正規のものであるか否かの判断手法および識別コードが正しくないと判断したときの対応は、第1実施例で述べたとおり様々な手法、種々の対応を考えることができる。例えば、ROM30の複数アドレスに記憶されたデータに対する所定の計算結果を予めROM30の特定アドレスに記載しておき、CPU20でROM30の各アドレスのデータを読み込んで所定の計算をし、その結果を特定アドレスの値と比較して判別する手法等である。
【0048】
以上のように構成された第2実施例のパチンコ機制御装置1では、電源オン直後からCPU60で実行されるチェックプログラムによりROM30が正規品であるか否かを繰り返し判断し、不正品と判断したときはCPU10をリセット状態として動作を禁止するので、不正なROMに記載された不当な制御プログラムに基づく処理を一切行なうことがない。また、CPU60がチェックプログラムを実行するタイミングをランダムに発生する割込信号により決定するので、CPU60からROM30への読み出しを予め察知することを防止することができる。したがって、不正なROMでの制御を行なうことがない。さらに、CPU60は、CPU10によるパチンコ機の制御に支障をきたさない程度の時間だけバスCB,AB,DBを用いてROM30のチェックを行なうので、遊技に支障をきたすことがない。なお、その他の効果は、第1実施例と同様である。
【0049】
以上本発明の制御装置の実施例としてパチンコ機制御装置1の構成、動作について説明したが、本発明はこうした実施例に何等限定されるものではなく、例えば、スロットルマシン等の他の遊技機器の制御装置として組み込まれる構成、制御用コンピュータとプログラム記憶素子を判定する論理回路が異なるチップによる構成、ビルの出入口やオフィスの出入口,金庫の扉等の施錠管理システム等のように制御プログラムの信頼性が特に重要視される防犯システムに組み込む構成など、本発明の要旨を逸脱しない範囲内において、種々なる態様で実施し得ることは勿論である。
【図面の簡単な説明】
【図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…コントロールサブバス
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a control device, and more particularly, to a control device that determines whether a program storage element is a genuine product during operation of a control computer.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, this type of control device usually includes a program storage element (for example, a PROM, a mask ROM, etc.) for storing a control program describing a control rule, and reads and executes the control program from the program storage element in a predetermined order. And a logic circuit centered on a controlling computer. Therefore, if a predetermined control program is stored in the program storage element in advance, the device incorporating this control device is controlled according to a certain control procedure according to the description of the control program.
[0003]
In addition, the control device configured as described above can easily change a control procedure of a device incorporating the control device by changing a control program stored in a program storage element, and has a system flexibility. And reduce the system development load.
[0004]
[Problems to be solved by the invention]
However, the control device configured as described above has a problem in that the control program can be easily modified because the system has a high flexibility, which is a feature of the control device. In particular, when there is a regulation or the like on the control contents, modification of the control program is illegal and it is necessary to prevent this sufficiently. It was difficult to take sufficient precautionary measures against fraud.
[0005]
In order to solve such a problem, the applicant has previously filed a separate application for identifying whether or not a program storage element is a genuine product before executing device control in accordance with a control program (Japanese Patent Application Laid-Open No. 2002-214,009). Hei 4-168487). The control device of the present invention has the following configuration for the purpose of obtaining high reliability against such a problem and against human and organizational fraud.
[0006]
[Means for Solving the Problems and Their Functions and Effects]
The control device of the present invention
A control device used for a gaming machine, has a control computer that reads a program stored in a program storage element in a predetermined procedure, and controls the operation of the device according to the program, and during the operation of the control computer, A control device for determining whether the program storage element is a genuine product,
Bus unoccupied state detection means for detecting a bus unoccupied state in which the control computer does not occupy a bus in order to exchange data with the program storage element;
When detecting the bus non-occupancy state,Stored in the program storage element using a busPredetermined dataReading means for reading
Read by the reading meansPredetermined dataStorage element determining means for determining whether the program storage element is a genuine product based on
When the storage element determination unit determines that the program storage element is not a genuine product, the operation unit includes an operation change unit that changes an operation of the control computer,
The gist is that the operation changing means is means for causing the control computer to execute a demonstration program.
[0007]
The control device of the present invention configured as described above can store a program using the bus by the readout unit at a predetermined timing, for example, when the bus unoccupied state detection unit detects the unoccupied state of the bus by the control computer. The stored content is read from the element, and the storage element determining means determines whether or not the program storage element is a genuine product based on the read content. When the storage element determining means determines that the program storage element is not a genuine product, the operation changing means causes the control computer to execute the demonstration program.
[0008]
In such a control device, while the control computer is operating, it is determined whether or not the program storage element is a genuine product. Illegal fraud can be effectively prevented, and high reliability can be obtained. Moreover, when the control computer determines at a predetermined timing, for example, when the bus is not occupying the bus, the program storage element is used to determine whether or not the program storage element is a genuine product. It is possible to make it difficult to determine whether the data is read by the computer or read by the reading means.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
In order to further clarify the configuration and operation of the present invention described above, a preferred embodiment of the control device of the present invention will be described below. FIG. 1 is a schematic configuration diagram showing a main part of a control system of a pachinko machine equipped with a pachinko machine control device as one embodiment of the present invention.
[0010]
As shown in the figure, the pachinko machine control device 1 has a one-chip microcomputer 2, a ROM 30 as a program storage element, an oscillation crystal 18 external to the one-chip microcomputer 2, and a stabilized whole circuit. It comprises a power supply circuit 28 for supplying power, a driver 40 and a waveform shaping circuit 50. The one-chip microcomputer 2 and the ROM 30 are connected by a control bus CB, an address bus AB and a data bus DB. The one-chip microcomputer 2 is composed of a logic circuit mainly including a CPU 10 for controlling the pachinko machine and a CPU 20 for checking whether the ROM 30 is a genuine product.
[0011]
The CPU 10 is an 8-bit microcomputer of the "Z80" system, and has a control bus control circuit 10a having control ports for signals MREQ #, RD #, M1 #, etc., an address bus control circuit 10b having an address port, and data having a data port. A bus control circuit 10c is provided. Here, "@" appended to the signal name means that the port is low active.
[0012]
The control port and the address port of the CPU 10 are connected to the control bus CB and the address bus AB via the bus driver 16, and the data port is connected to the data bus DB. The various buses CB, AB, and DB are connected to a RAM 12 for temporarily storing necessary data and an input / output interface circuit (hereinafter, referred to as I / O) 14. The control port of the CPU 10 is connected to the control signal control circuit 21.
[0013]
The control signal control circuit 21 is a logic circuit that generates control signals such as the signal G1, the signal G2, the signal CL1, the signal MREQ2 #, and the signal RD2 # based on the signal RFSH # or the like output from the CPU 10. The control signal control circuit 21 is connected to the CPU 20, the bus driver 16, the bus driver 23 and the latch circuit 25 via the control sub-bus SB, and outputs the signals G1 and G2 to output the bus driver 16 and the bus driver 23. The state is controlled, the latch timing of the latch circuit 25 is controlled by the output of the signal CL1, and the CPU 20 is notified of where the control bus CB and the like are being used. Further, the control signal control circuit 21 is connected to the control bus CB via the control sub-bus SB and the bus driver 23, and transmits a signal MREQ2 # and a signal RD2 # generated based on the signal RFSH # or the like to the control bus. Each logic circuit is controlled by outputting a signal MREQ # and a signal RD # to the CB.
[0014]
Of the control signals, signal G1 is output as a signal indicating the same output as signal RFSH #. The signal G2 becomes high level (hereinafter, described as "H") slightly after the signal RFSH # becomes low level (hereinafter, described as "L"), and the signal RFSH # becomes "H". It is output as a signal that becomes "L" slightly earlier. The signal CL1 is output as an inverted pulse signal in the latter half of the refresh time of the CPU 10. Signal MREQ2 # and signal RD2 # are output as "L" when signal G2 is "H", and are output as "H" when signal G2 is "L".
[0015]
The bus driver 16 is composed of a tri-state buffer, and inputs a signal G1 output from the control signal control circuit 21 via the control sub-bus SB to enable or disable the output from the control port and the address port. Set to impedance state. That is, when the signal G1 is "H", the output from each port is made valid, the CPU 10 issues various control signals to the ROM 30, RAM 12, and I / O 14 via the control bus CB, and outputs the address via the address bus AB. Can be specified. Conversely, when the signal G1 is "L", the state is set to the high impedance state, and the CPU 10 is not connected to the buses CB and AB.
[0016]
The RAM 12 is a storage element in which necessary data is temporarily stored when the CPU 10 executes the control program stored in the ROM 30. To temporarily store data in the RAM 12, the CPU 10 outputs an address to store data to the address bus AB via the bus driver 16, sets the signal MREQ # to "L", and stores data to be stored from the data bus DB. When the signal WR # indicating that the data to be output and stored is being output to the data bus DB is set to "L", the operation is performed by the RAM 12 taking in the data from the data bus DB. When the CPU 10 needs the data stored in the RAM 12, the CPU 10 outputs an address storing data to be read via the bus driver 16 from the address bus AB, sets the signal MREQ # to "L", and sets the signal RD By setting \ to “L”, data output to the data bus DB from the designated address of the RAM 12 is read.
[0017]
The I / O 14 is a circuit for matching signals between the pachinko machine control device 1 and various electric devices provided in the pachinko machine. Therefore, the I / O 14 is connected to the buses CB, AB, and DB and is incorporated in a logic circuit centering on the CPU 10 and is connected to electrical equipment provided in the pachinko machine, for example, the main unit winning switch 52, the digital start switch 51, and the like. The waveform shaping circuit 50, the hit lamp 43 of the pachinko machine main body, the display device 42 which is a set of LEDs in the digital part of the center role, the driver 40 connected to the solenoid 41 for opening a big winning opening, and the like. ing.
[0018]
In addition to the above configuration centering on the CPU 10, a logic circuit for determining whether or not the ROM 30 is genuine is provided centering on the CPU 20. The CPU 20 has a ROM 20d and a RAM 20e built therein, and a check program to be described later is non-volatilely burned into the internal ROM 20d. The CPU 20 includes a data input circuit 20c having input ports Q0 to Q7, a data output circuit 20f having output ports P0 to P15, a control signal input port P17 of the CPU 20, and a control signal output port P18 #. Have.
[0019]
The data output circuit 20f of the CPU 20 is connected to the address bus AB via the bus driver 23, sets predetermined address data in the output ports P0 to P15 according to a program stored in the internal ROM 20d, and outputs the data. Output. The bus driver 23 interposed between the data output circuit 20f and the address bus AB is formed of a tri-state buffer similarly to the bus driver 16, and transmits the signal G2 output from the control signal control circuit 21 to the control sub-bus SB. , The output from the output ports P0 to P15 to the address bus AB is set to a valid or high impedance state. That is, when the signal G2 is "H", the output from the output ports P0 to P15 to the address bus AB is enabled, and when the signal G2 is "L", the output ports P0 to P15 and the address bus AB are set to a high impedance state. And are not connected.
[0020]
Therefore, by adjusting the signals G1 and G2 output from the control signal control circuit 21, the data from the address bus control circuit 10b of the CPU 10 and the data from the output ports P0 to P15 of the CPU 20 are stored in the address bus AB. Is selectively output. That is, when the signal G2 is set to “L”, the output of the bus driver 23 is set to a high impedance state, and when the signal G1 is set to “H”, the control bus control circuit 10a and the address bus control of the CPU 10 are controlled via the bus driver 16. The connection between the circuit 10b and the control bus CB and the address bus AB is made valid. Conversely, when the signal G1 is set to "L", the output of the bus driver 16 is set to a high impedance state, and when the signal G2 is set to "H", the output ports P0 to P15 of the CPU 20 are connected to the address bus via the bus driver 23. The connection with AB is made valid.
[0021]
A data bus DB is connected to input ports Q0 to Q7 of the CPU 20 via a latch circuit 25. The latch circuit 25 inputs and holds data output to the data bus DB when a control signal is input to its CLK terminal. The CLK terminal of the latch circuit 25 is connected to the control signal control circuit 21 via the control sub-bus SB. When the signal CL1 output from the control signal control circuit 21 changes from “L” to “H”, the data is output. The data output to the bus DB is latched and then held until the signal CL1 changes from "L" to "H".
[0022]
The output port P18 # of the CPU 20 is connected to the port RESET # of the CPU 10 via the OR circuit 26 together with a signal line from outside the pachinko machine controller 1, and the CPU 20 sets the signal P18 # to "L". The CPU 10 can be in a reset state.
[0023]
On the other hand, the ROM 30 is a storage element for storing a control program executed by the CPU 10 and various data necessary for executing the program in a nonvolatile manner, and receives an address designation from the CPU 10 and outputs data stored at the address. I do. That is, the ROM 30 stores information such as a control program based on a game rule to be executed as the pachinko machine control device 1.
[0024]
Next, the operation of the pachinko machine control device 1 during the instruction fetch cycle of the CPU 10 will be described with reference to FIG. FIG. 2 is an explanatory diagram showing an instruction fetch cycle of the CPU 10 and timings of operations of the CPU 20 and the like. As shown in FIG. 2, the CPU 10 of the "Z80" system sets the signal M1 # to "L" to indicate that it is the first cycle of the instruction fetch cycle (Machine cycle one) while synchronizing with the clock Φ. The signal MREQ # for indicating a request to access the storage element and the signal RD # for indicating a read request are set to "L" a little later. In addition, the storage element does not output the signal WAIT # at the falling edge of the clock Φ in the T2 state so as not to hinder data reading even if the access time of the storage element is slow. In this case, a wait cycle is provided to delay the data read timing.
[0025]
Therefore, the actual instruction fetch by the CPU 10 is executed when certain conditions determined by the above-mentioned signals are satisfied, and is stored in the address AD1 designated by the address bus AB at that time, and is stored in the data bus DB. The output data D1 is captured as an instruction. As is well known, the instruction fetched in this way is stored in an instruction register in the CPU 10, and the operation of the CPU 10 in the next execution cycle is determined.
[0026]
In the T3 and T4 states of the instruction fetch cycle of the CPU 10, the signal RFSH # is set to "L" to refresh the dynamic RAM. In the "Z80" CPU 10, when the signal RFSH # becomes "L", a refresh signal is output to the lower 8 bits of the address ports A0 to A15.
[0027]
On the other hand, the CPU 20 sets and outputs predetermined address data AD2 to the output ports P0 to P15 according to the program stored in the internal ROM 20d.
[0028]
When the signal RFSH # of the CPU 10 becomes "L", the control signal control circuit 21 changes the signal G1 to "L" based on this signal, and further slightly delays the signal G2 to "H". The bus driver 16 puts its output into a high impedance state when the signal G1 goes "L", and the bus driver 23 sends the output ports P0-P15 of the CPU 20 to the address bus when the signal G2 goes "H". The connection with AB and the connection between control sub-bus SB and control bus CB are made valid. Therefore, no refresh signal is output from the address port of CPU 10 to address bus AB.
[0029]
Further, a signal MREQ2 # and a signal RD2 # are output from the control signal control circuit 21 to the control bus CB as a signal MREQ # and a signal RD # via the control sub-bus SB and the bus driver 23. Address data AD2 set in advance by the CPU 20 in the output ports P0 to P15 is output. With this output, the ROM 30 outputs the data D2 stored at the specified address AD2 to the data bus DB. The data D2 is latched by the latch circuit 25 by inputting the inverted signal CL1 to the CLK terminal of the latch circuit 25, and is output to the input ports Q0 to Q7 of the CPU 20. Thereafter, the CPU 20 adjusts the timing based on the signal G2 input to the input port P17, and then takes in the data D2 from the input ports Q0 to Q7.
[0030]
Among the above operations, the operation until the address data AD2 is output from the output ports P0 to P15 to the address bus AB and the data D2 output from the ROM 30 is latched by the latch circuit 25 with the output of the data AD2 is as follows. This is performed within one refresh time of the CPU 10. As described above, since the data D2 is read using the various buses CB, AB, and DB during the refresh time of the CPU 10, the operation of the CPU 10 is not hindered. Further, in this embodiment, since the pachinko machine control device 1 does not have a dynamic RAM, there is no limitation due to the refresh signal not being output to the address bus AB.
[0031]
In this embodiment, the CPU 20 reads data from the ROM 30 every time the CPU 10 is refreshed. However, when an address to be read from the ROM 30 is set in the data output circuit 20f, the data is ready to be read. It is also preferable that the control signal is output from the CPU 20 to the control signal control circuit 21, the control signal control circuit 21 operates only when the control signal is output, and the data in the ROM 30 is read when the CPU 10 is subsequently refreshed. It is. In this case, the port P17 of the CPU 20 is used as a control signal input / output port, and the CPU 20 outputs a control signal to the control signal control circuit 21 from the port P17.
[0032]
The pachinko machine control device 1 configured as described above operates as follows. When the power supply circuit of the pachinko machine control device 1 is turned on, the CPU 10 of the one-chip microcomputer 2 receives power supply, sequentially reads out the control programs stored in the ROM 30 according to a predetermined procedure, and writes the control programs described in the programs. Execute the instruction. By the processing of the CPU 10 based on this control program, the pachinko machine behaves in accordance with the game rules described in the control program, and the game described in the control program becomes possible.
[0033]
When the pachinko machine is controlled by the processing of the CPU 10, the CPU 20 executes the check program shown in the flowchart of FIG. The check program shown in FIG. 3 is a program burned into the internal ROM 20d of the CPU 20, and as soon as the power supply to the CPU 20 is started, a process based on the check program is started. Is repeatedly executed. First, the CPU 20 reads an identification code stored in advance at a predetermined address of the ROM 30 (step S100). Next, it is determined whether or not the identification code is a predetermined correct value (step S110). If the identification code is correct, the routine ends. If it is determined that the identification code is not correct, the signal P18 # from the output port P18 # is set to "L" (step S120), and the CPU 10 is reset.
[0034]
Here, whether or not the ROM 30 is legitimate is determined by writing a value correlated with the program code written in the ROM 30 to the internal ROM 20d and determining the value. A predetermined calculation result for the stored data is described in advance at a specific address in the ROM 30, and the CPU 20 reads the data at each address in the ROM 30, performs a predetermined calculation, and compares the result with the value of the specific address to determine. A method for writing a predetermined identification code into both the internal ROM 20d and the ROM 30 of the CPU 20 in advance, and a method for judging the coincidence of the identification code, and recording the same program code described in the ROM 30 in the internal ROM 20d in advance. In advance, the contents of the ROM 30 and the contents of the internal ROM 20d are collated and determined. The method calculates the checksum of the program code described in the ROM 30, determines whether this is a value previously written in the internal ROM 20d, reads the values of a plurality of addresses of the ROM 30 and performs a predetermined calculation. Various methods can be used, such as a method of comparing a calculation result with a value described in advance at a predetermined address of the ROM 30 or a predetermined address of the internal ROM 20d to make a determination.
[0035]
In the present embodiment, the CPU 10 is reset when it is determined that the identification code is incorrect. However, any means that inhibits the normal operation of the CPU 10 may be used. May be stopped. Further, since it is sufficient to stop the normal operation, various measures such as executing a demonstration can be considered.
[0036]
In the pachinko machine control device 1 of the present embodiment configured as described above, immediately after the power is turned on, the check program executed by the CPU 20 repeatedly determines whether or not the ROM 30 is a genuine product. Since the CPU sets the CPU 10 in the reset state and prohibits the operation, no processing based on an illegal control program described in an unauthorized ROM is performed. In addition, since the operation of the CPU 20 for accessing the bus CB and the like is performed only when the CPU 10 is refreshed, which is a time not used for controlling the pachinko machine, there is no hindrance to the control of the pachinko machine by the CPU 10. Therefore, there is no need to change the control program of the pachinko machine control device 1 by the CPU 10 from the conventional one. Further, since the main logic circuit of the pachinko machine control device 1 except for the ROM 30 is formed as a single chip, the determination as to whether the data read command to the ROM 30 is a command from the CPU 10 or a command from the CPU 20 is made by an external device. Is essentially impossible. Therefore, it is not permissible to read illegal program data in the case of a data read command from the CPU 10 and to read regular program data in the case of a data read command from the CPU 20.
[0037]
In addition, the pachinko machine control device 1 of this embodiment performs a check of the ROM 30 after the power is turned on, as compared with the pachinko machine that controls the pachinko machine after checking whether or not the ROM 30 is genuine immediately after the power is turned on. Does not require special time for. Further, since the check of the ROM 30 is always performed during the operation, it is possible to detect a fraud such as operating with the regular ROM 30 from a power-on to a predetermined time and switching to an invalid ROM after a predetermined time has elapsed.
[0038]
Next, a second embodiment of the present invention will be described. FIG. 4 is a schematic configuration diagram showing a main part of a control system of a pachinko machine equipped with a pachinko machine control device as a second embodiment. For the sake of convenience of explanation, components constituted by the same logic circuits as in the first embodiment are given the same reference numerals, and their explanation is omitted.
[0039]
As shown, the pachinko machine control device 1 of the second embodiment includes a one-chip microcomputer 2, a ROM 30, an oscillation crystal 18 externally attached to the one-chip microcomputer 2, as in the first embodiment, It comprises a power supply circuit 28, a driver 40 and a waveform shaping circuit 50.
[0040]
The CPU 60 has a built-in ROM 60d and a RAM 60e therein, and a check program described later is non-volatilely burned into the internal ROM 60d. The CPU 60 includes a control bus control circuit 60a having a control port, an address bus control circuit 60b having an address port, a data bus control circuit 60c having a data port, output ports P61 # and P62 #, and an input port P63.ポ ー ト and INT\ ports for inputting an interrupt signal.
[0041]
The control port, the address port, and the data port of the CPU 60 are connected to a control bus CB, an address bus AB, and a data bus DB connected to each port of the CPU 10, respectively. Each port of the CPU 60 connected to the various buses CB, AB, and DB is normally in a high-impedance state, and outputs "L" from the port P62 #, and as a result, when "L" is input from the port P63 #. Only the connection by each bus control circuit 60a, 60b, 60c is valid.
The output port P61 # of the CPU 60 is connected to the port RESET # of the CPU 10 via the OR circuit 26 together with a signal line from outside the pachinko machine controller 1, and the CPU 10 is set by setting the signal P61 # to "L". Reset state. The output port P62 # of the CPU 60 is connected to the input port BUSRQ # of the CPU 10, and requests the CPU 10 to have the bus occupation right by setting the signal P62 # to "L". When receiving signal P62 #, CPU 10 sets the connection to buses CB, AB, and DB to a high impedance state. At this time, the CPU 10 sets the output port BUSAK # to "L". Since output port BUSAK # is connected to input port P63 # of CPU 60, CPU 60 detects the occupation state of CPU 10 for buses CB, AB, and DB by inputting signal BUSAK #. After the CPU 60 uses the bus, the signal P62 # is set to "H" to re-enable the connection between the CPU 10 and the buses CB, AB, and DB.
[0042]
Input port INT # of CPU 60 is connected to interrupt signal generation circuit 62. The interrupt signal generating circuit 62 is a logic circuit that generates an interrupt signal at random. When a signal generated by the interrupt signal generation circuit 62 is input to the input port INT #, the CPU 60 activates an interrupt process according to a predetermined sequence and executes a check program described later. The frequency of occurrence of the interrupt signal is determined by the frequency at which the CPU 60 checks the ROM 30, the number of times data is read into the ROM 30 required for checking by the check program, and the like. In the second embodiment, it is set so that the number of machine cycles of the CPU 10 is once every 55 times between 10 and 100 times. In the second embodiment, the configuration is such that the interrupt signal is randomly generated. However, a configuration in which the interrupt signal is generated at a constant cycle may be used.
[0043]
In the pachinko machine control device 1 of the second embodiment configured as described above, when the pachinko machine is controlled by the processing of the CPU 10, the CPU 60 executes the check program shown in the flowchart of FIG. The check program shown in FIG. 5 is a program burned into the internal ROM 60d of the CPU 60. Every time a signal from the interrupt signal generation circuit 62 is input to INT #, processing based on this check program is started, Is repeatedly executed while the is supplied. First, when interrupt signal INT # is input to CPU 60, signal P62 # is set to "L" (step S200). When signal P62 # is set to "L", CPU 10 sets the connection to buses CB, AB, and DB to a high impedance state after the end of the currently executed machine cycle, and suspends the control of the pachinko machine. As will be described later, the pachinko machine control is interrupted for only a few machine cycles of the CPU 60, so that the game is apparently continued without any trouble.
[0044]
Next, waiting for the signal input to input port P63 # to become "L" (step S210), the connection between CPU 60 and buses CB, AB, and DB is validated (step S220). When the connection to the buses CB, AB, and DB is in a high impedance state, the CPU 10 sets the signal BUSAK # to "L". Therefore, the CPU 60 receives this signal and enables the connection to the buses CB, AB, and DB. For example, the connection of the CPU 10 and the CPU 60 to the buses CB, AB, and DB at the same time is not effective.
[0045]
The identification code is read from the predetermined address of the ROM 30 using the buses CB, AB, and DB for which the connection has been made effective (step S230). When the identification code is read, the connection between the CPU 60 and the buses CB, AB, and DB is set to a high impedance state (step S240), and the signal P62 # is set to "H" (step S250). By setting signal P62 # to "H", the connection between CPU 10 and buses CB, AB, and DB is made valid, and control of the pachinko machine by CPU 10 is restarted. Accordingly, the interruption of the control of the pachinko machine by the CPU 10 is only an access time to the ROM 30 and is extremely small, so that the interruption of the control does not affect the pachinko machine user.
[0046]
Next, it is determined whether or not the identification code read from the ROM 30 is a predetermined correct value (step S260). If the identification code is correct, the routine ends. If it is determined that the identification code is not correct, signal P61 # from the output port is set to "L" (step S270), and CPU 10 is reset.
[0047]
Here, the method of determining whether the ROM 30 is genuine and the method of determining when the identification code is incorrect can be considered in various ways and various ways as described in the first embodiment. . For example, a predetermined calculation result for data stored in a plurality of addresses of the ROM 30 is described in a specific address of the ROM 30 in advance, the data of each address of the ROM 30 is read by the CPU 20 and a predetermined calculation is performed. And a method of discriminating by comparing with the value of.
[0048]
In the pachinko machine control device 1 of the second embodiment configured as described above, immediately after the power is turned on, the check program executed by the CPU 60 repeatedly determines whether or not the ROM 30 is genuine, and determines that the ROM 30 is genuine. At this time, the operation is prohibited by setting the CPU 10 in a reset state, so that no processing based on an illegal control program described in an unauthorized ROM is performed. In addition, since the timing at which the CPU 60 executes the check program is determined by an interrupt signal generated at random, it is possible to prevent the CPU 60 from reading the ROM 30 in advance. Therefore, no unauthorized ROM control is performed. Further, since the CPU 60 checks the ROM 30 using the buses CB, AB, and DB for a time that does not hinder the control of the pachinko machine by the CPU 10, there is no hindrance to the game. The other effects are the same as in the first embodiment.
[0049]
The configuration and operation of the pachinko machine control device 1 have been described above as an example of the control device of the present invention. However, the present invention is not limited to such an example. The reliability of the control program, such as the configuration incorporated as a control device, the configuration of the control computer and the logic circuit for judging the program storage element using different chips, the lock management system for building entrances, office entrances, safe doors, etc. Of course, the present invention can be implemented in various modes without departing from the gist of the present invention, such as a configuration incorporated in a security system in which importance is particularly attached.
[Brief description of the drawings]
FIG. 1 is a block diagram of a pachinko machine control device as one embodiment of the present invention.
FIG. 2 is an explanatory diagram showing an instruction fetch cycle in the CPU of the pachinko machine control device 1 and timings of operations of the CPU 20 and the like.
FIG. 3 is a flowchart of a check program executed by a CPU 20.
FIG. 4 is a block diagram of a pachinko machine control device as a second embodiment.
FIG. 5 is a flowchart of a check program executed by a CPU 60;
[Explanation of symbols]
1 ... Pachinko machine controller
2. One-chip microcomputer
10 CPU
10a: Control bus control circuit
10b: Address bus control circuit
10c: Data bus control circuit
12 ... RAM
14 ... I / O
16 Bus driver
18… Crystal for oscillation
20 ... CPU
20c Data input circuit
20d ROM
20e ... RAM
20f Data output circuit
21 ... Control signal control circuit
23 Bus driver
25 ... Latch circuit
26 ... OR circuit
28 Power supply circuit
30 ROM
40 ... Driver
41 ... Solenoid
42 ... Display device
43… Lamp
50 ... waveform shaping circuit
51 Digital start switch
52 ... Winning switch
60 CPU
60a: control bus control circuit
60b: Address bus control circuit
60c Data bus control circuit
60d ROM
60e ... RAM
62 ... Interrupt signal generation circuit
AB: Address bus
CB: Control bus
DB: Data bus
SB: Control sub bus

Claims (3)

遊技機に用いられる制御装置であり、プログラム記憶素子に記憶されているプログラムを所定手順にて読み出し、そのプログラムに従って機器の動作を制御する制御用コンピュータを有し、該制御用コンピュータの動作中、該プログラム記憶素子が正規品であるか否かを判断する制御装置であって、
前記制御用コンピュータが前記プログラム記憶素子とのデータのやりとりを行なうためにバスを占有していないバス非占有状態を検出するバス非占有状態検出手段と、
該バス非占有状態を検出したとき、前記バスを用いて前記プログラム記憶素子に記憶された所定のデータを読み出す読出手段と、
前記読出手段により読み出された所定のデータに基づいて、前記プログラム記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子判断手段により該プログラム記憶素子が正規品でないと判断されたとき、前記制御用コンピュータの動作を異ならせる動作変更手段とを備え、
前記動作変更手段は、前記制御用コンピュータに、デモプログラムを実行させる手段である
制御装置。
A control device used for a gaming machine, has a control computer that reads a program stored in a program storage element in a predetermined procedure, and controls the operation of the device according to the program, and during the operation of the control computer, A control device for determining whether the program storage element is a genuine product,
Bus unoccupied state detection means for detecting a bus unoccupied state in which the control computer does not occupy a bus in order to exchange data with the program storage element;
Reading means for reading predetermined data stored in the program storage element using the bus when detecting the bus non-occupancy state ;
Storage element determining means for determining whether or not the program storage element is a genuine product, based on predetermined data read by the reading means;
When the storage element determination unit determines that the program storage element is not a genuine product, the operation unit includes an operation change unit that changes an operation of the control computer,
The control device, wherein the operation changing unit is a unit that causes the control computer to execute a demonstration program.
前記読出手段および前記記憶素子判断手段は、前記読出と判断とを、所定のインターバルで繰り返し行なう請求項1記載の制御装置。2. The control device according to claim 1, wherein said reading means and said storage element determining means repeatedly perform said reading and determination at predetermined intervals. 前記読出手段および前記記憶素子判断手段は、前記読出と判断とを、ランダムなタイミングで行なう請求項1記載の制御装置。2. The control device according to claim 1, wherein said read means and said storage element judgment means perform said read and judgment at random timing.
JP2001068247A 2001-03-12 2001-03-12 Control device Expired - Fee Related JP3565174B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001068247A JP3565174B2 (en) 2001-03-12 2001-03-12 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001068247A JP3565174B2 (en) 2001-03-12 2001-03-12 Control device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001033621A Division JP3501129B2 (en) 2001-02-09 2001-02-09 Control device

Publications (2)

Publication Number Publication Date
JP2001306171A JP2001306171A (en) 2001-11-02
JP3565174B2 true JP3565174B2 (en) 2004-09-15

Family

ID=18926468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001068247A Expired - Fee Related JP3565174B2 (en) 2001-03-12 2001-03-12 Control device

Country Status (1)

Country Link
JP (1) JP3565174B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007007805A1 (en) * 2005-07-14 2007-01-18 Matsushita Electric Industrial Co., Ltd. Verification method, verification program, recording medium, information processor, and integrated circuit
JP6137808B2 (en) * 2012-11-12 2017-05-31 株式会社エルイーテック Gaming machine control board, chip, and related method

Also Published As

Publication number Publication date
JP2001306171A (en) 2001-11-02

Similar Documents

Publication Publication Date Title
JP3343998B2 (en) Control device
KR940001273B1 (en) Micro-system and method controlling bus-cycle
JP4136359B2 (en) Microcomputer
JP3500662B2 (en) Control device
EP1217502B1 (en) Data processor having instruction cache with low power consumption
JP2591181B2 (en) Microcomputer
JP3565174B2 (en) Control device
JP3501131B2 (en) Control device
US20020188820A1 (en) Memory controller and memory control method for controlling an external memory device to be accessible even in an addressing mode that is not supported thereby
JP3501129B2 (en) Control device
US5586336A (en) Microcomputer capable of monitoring internal resources from external
JP3501130B2 (en) Control device
KR100291031B1 (en) Controller
JP4062478B2 (en) Device access method
JPH07230413A (en) Ready signal control circuit
JP2560312B2 (en) Information processing system
KR20100011012A (en) A dual port memory and an method for controlling access of shared bank of dual port memory
JPH0418651A (en) Memory controller
JPH07113914B2 (en) Memory controller
JPH086905A (en) Access arbitration circuit for multi-port ram
JPH0991246A (en) Bus control device and method
JPH09319592A (en) Microcomputer
JPH01258152A (en) Memory controller
JPH11102340A (en) Processor system and bus access method therefor
JPS59178553A (en) Debugging system

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040531

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees