以下、本発明をその一種であるパチンコ遊技機(以下、「パチンコ機」と示す)に具体化した第一実施形態を図1〜図5に基づき説明する。
図1には、パチンコ機10の機表側が略示されており、機体の外郭をなす外枠11の開口前面側には、各種の遊技用構成部材をセットする縦長方形の中枠12が開閉及び着脱自在に組み付けられている。また、中枠12の前面側には、機内部に配置された遊技盤13を透視保護するためのガラス枠を備えた前枠14と上球皿15が共に横開き状態で開閉可能に組み付けられている。また、前枠14の前面側及び遊技盤13の遊技領域13aには、点灯(点滅)又は消灯し、発光装飾に基づく発光演出を行う装飾ランプ40が設けられている。また、上球皿15の前面側には、各種音声(効果音)を出力し、音声出力に基づく音声演出を行うスピーカ41が設けられている。中枠12の下部には、下球皿16及び発射装置17が装着されている。
遊技盤13の遊技領域13aの略中央には、液晶ディスプレイ型の可変表示器Hを備えた表示装置18が配設されている。表示装置18の可変表示器Hでは、変動画像(又は画像表示)に基づく遊技演出(表示演出)が行われるようになっている。そして、表示装置18の可変表示器Hでは、複数種類の図柄を複数列で変動させて表示する図柄組み合わせゲーム(図柄変動ゲーム)が行われるようになっている。本実施形態では、図柄組み合わせゲームで3列の図柄による組み合わせを導出し、該組み合わせを形成する各列の図柄の種類を1〜8の8種類としている。
そして、遊技者は、図柄組み合わせゲームにおいて最終的に表示された図柄組み合わせから大当り又ははずれを認識できる。可変表示器Hに表示された全列の図柄が同一種類の場合には、その図柄組み合わせ([222][777]など)から大当りを認識できる。この大当りを認識できる図柄組み合わせが大当りの図柄組み合わせとなる。大当りの図柄組み合わせが表示されると、遊技者には、大当り遊技状態が付与される。一方、表示装置18の可変表示器Hに表示された全列の図柄が同一種類でない場合には、その図柄組み合わせ([123][122][767]など)からはずれを認識できる。このはずれを認識できる図柄組み合わせがはずれの図柄組み合わせとなる。
また、表示装置18の下方には、図示しないアクチュエータ(ソレノイド、モータなど)の作動により開閉動作を行う開閉羽根を備えた始動入賞手段としての始動入賞口19が配設されている。始動入賞口19の奥方には、入賞した遊技球を検知する入賞検知センサSE(図2に示す)が設けられている。始動入賞口19は、遊技球の入賞検知を契機に、図柄組み合わせゲームの始動条件を付与し得る。また、始動入賞口19の下方には、図示しないアクチュエータ(ソレノイド、モータなど)の作動により開閉動作を行う大入賞口扉を備えた大入賞口20が配設されている。そして、大当り遊技状態が付与されると、大入賞口扉の開動作によって大入賞口20が開放されて遊技球が入賞可能となるため、遊技者は、多数の賞球が獲得できるチャンスを得ることができる。
次に、パチンコ機10の制御構成を図2に基づき説明する。
パチンコ機10の機裏側には、遊技場の電源(例えば、AC24V)を、パチンコ機10を構成する各種構成部材に供給する電源基板21が装着されている。また、パチンコ機10の機裏側には、パチンコ機10全体を制御する主制御基板22が装着されている。主制御基板22は、パチンコ機10全体を制御するための各種処理を実行し、該処理結果に応じて遊技を制御するための各種の制御信号(制御コマンド)を演算処理し、該制御信号(制御コマンド)を出力する。また、機裏側には、サブ制御基板23が装着されている。サブ制御基板23は、主制御基板22が出力した制御信号(制御コマンド)に基づき、表示装置18の可変表示器Hの表示態様(図柄、背景、文字などの表示画像)、装飾ランプ40の発光態様(点灯(点滅)/消灯のタイミングなど)、及びスピーカ41の音声出力態様(音声出力のタイミングなど)とを制御する。なお、主制御基板22は、主制御基板22に不正基板を装着できないようにするために、ケースカバーに収容されて機裏側に装着されている。
以下、電源基板21、主制御基板22、サブ制御基板23の具体的な構成を説明する。
電源基板21には、遊技場の電源をパチンコ機10への供給電圧として電源電圧V1(例えば、DC30V)に変換処理する電源回路24が設けられている。電源回路24には、主制御基板22及びサブ制御基板23が接続されている。そして、電源回路24は、変換処理された後の電源電圧V1を主制御基板22及びサブ制御基板23に対応する供給すべき所定の電源電圧V2,V3にさらに変換処理し、変換後の電源電圧V2,V3を主制御基板22及びサブ制御基板23に供給するようになっている。
また、電源基板21には、電源断監視回路25が設けられており、電源断監視回路25が電源回路24に接続されている。電源断監視回路25は、電源回路24から供給される電源電圧V1の電圧値を監視するようになっている。すなわち、電源断監視回路25は、電源電圧V1が所定の電圧V(例えば、DC20V)に降下したか否かを判定している。なお、この電圧Vは、遊技に支障をきたすことなくパチンコ機10を動作させるために最低限必要な電圧とされる。ここで、電源電圧V1が電圧Vに降下するのは、例えば、電源断(電源OFF)時や停電時の場合である。この場合、パチンコ機10に電源が供給されなくなってしまうため、電源電圧V1から電圧Vに降下する。これとは逆に、電源投入(電源ON)時や復電(復旧電源)時の場合は、パチンコ機10に電源が供給されるので、電圧が上昇して電源電圧V1となる。
また、電源基板21には、リセット信号回路26が設けられており、リセット信号回路26は電源断監視回路25に接続されている。電源断監視回路25は、その判定結果が肯定(即ち、電源電圧V1≦電圧V)である場合に、主制御基板22及びリセット信号回路26に対して電源電圧V1が電圧Vに降下したことを示す電源断信号Sを出力するようになっている。また、リセット信号回路26は、電源供給の開始時(電源投入時或いは復電時)又は電源断信号Sの入力時に、主制御基板22及びサブ制御基板23に対してリセット信号Reを出力し、主制御基板22及びサブ制御基板23の動作を規制するようになっている。このリセット信号Reは、その信号レベルとしてハイレベル状態とローレベル状態を示す2値信号となっている。なお、本実施形態では、リセット信号Reを入力(出力)する場合には、リセット信号Reの信号レベルをハイレベル状態にし、リセット信号Reの入力(出力)を停止する場合には、リセット信号Reの信号レベルをローレベル状態にすることとしている。また、リセット信号回路26は、リセット信号Reのハイレベル状態を一定の時間T1(例えば、400ms〜1800ms程度)の間継続した後、リセット信号Reの出力状態をハイレベル状態からローレベル状態に遷移させるようになっている。
また、電源基板21は、例えば、電気二重層コンデンサからなるバックアップ用電源(図示略)を備えている。そして、バックアップ用電源は、電源回路24に接続されており、該電源回路24から電源電圧が当該バックアップ用電源に供給されるようになっている。また、電源基板21は、主制御基板22(RAM22c)に記憶保持され、パチンコ機10の動作中に適宜書き換えられる各種制御情報(記憶内容)を消去したい場合に操作されるRAMクリアスイッチ36を備えている。そして、RAMクリアスイッチ36には、該RAMクリアスイッチ36の操作を受けて、記憶保持された記憶内容の消去(初期化処理)を指示する初期化指示信号を、主制御基板22に出力するためのRAMクリアスイッチ回路37が接続されている。本実施形態では、RAMクリアスイッチ36は、遊技店の店員のみの操作が許容されるように機裏側に設けられており、該RAMクリアスイッチ36を操作すると、RAMクリアスイッチ回路37から初期化指示信号が出力されるようになっている。そして、該RAMクリアスイッチ36を操作しながら(操作と同時に)電源を投入すると、RAMクリアスイッチ回路37から初期化指示信号が出力されて、初期化処理が実行されるようになっている。従って、本実施形態のRAMクリアスイッチ36とRAMクリアスイッチ回路37は、遊技機の電源投入時に初期化処理の実行を指示する初期化指示手段となる。
次に、主制御基板22の構成を説明する。
主制御基板22には、メインCPU22aと、ROM22bと、RAM22cとが設けられている。メインCPU22aには、ROM22bと、RAM22cと、入賞検知センサSEが接続されている。メインCPU22aは、起動後、大当り判定に使用する大当り判定用乱数などの各種乱数の値を所定の周期(例えば、2ms)毎に順次更新し、更新後の値をRAM22cの設定領域に設定して更新前の値を書き換えている。ROM22bには、パチンコ機10を制御するための各種制御プログラム(メイン制御プログラム、割込み処理プログラム、電源断処理プログラムなど)や、複数種類の変動パターンなどが記憶されている。RAM22cには、パチンコ機10の動作中に適宜書き換えられる各種の情報(大当り判定用乱数の値など)が記憶(設定)されるようになっている。なお、本実施形態のメインCPU22aには、外部クロック信号を生成し、出力する外部発振回路70が接続されており、当該外部発振回路70が出力する外部クロック信号の周期に基づき、各種乱数を更新するようになっている。
前記変動パターンは、図柄が変動を開始(図柄組み合わせゲームの開始)してから全列の図柄が表示(図柄組み合わせゲームの終了)される迄の間の遊技演出(表示演出、発光演出、音声演出)のベースとなるパターンを示すものである。また、複数種類の変動パターンは、大当り演出用の変動パターンと、はずれ演出用の変動パターンとに分類されている。大当り演出は、図柄組み合わせゲームが、最終的に大当りの図柄組み合わせを表示するように展開される演出である。はずれ演出は、図柄組み合わせゲームが、最終的にはずれの図柄組み合わせを表示するように展開される演出である。
また、前記大当り判定用乱数は、予め定められた数値範囲内(例えば、「0」〜「630」の全631通りの整数)の数値を取り得るように、メインCPU22aが所定の周期毎(2ms毎)に数値を1加算して更新するようになっている。そして、メインCPU22aは、更新後の値を大当り判定用乱数の値としてRAM22cに記憶し、既に記憶されている大当り判定用乱数の値を書き換えることで大当り判定用乱数の値を順次更新するようになっている。より詳しく言えば、メインCPU22aは、更新を開始する際の値(初期値)を最小値である「0」とし、該初期値から順に「0」→「1」→…→「629」→「630」というように数値を1加算して更新するようになっている。そして、メインCPU22aは、大当り判定用乱数の値として更新された数値が最後に更新される数値(終期値)である「630(最大値)」に達すると、再び「0」〜「630」までの数値を1加算して更新するようになっている。即ち、本実施形態のパチンコ機10では、大当り判定用乱数の値を「0」〜「630」に更新するまでを大当り判定用乱数の1周期として大当り判定用乱数の値を順次更新し、この1周期の更新処理をパチンコ機10の動作中、繰り返し実行するようになっている。
RAM22cは、電源基板21のバックアップ用電源が接続されており、電源電圧V1(電源)の遮断時(電圧Vへの降下時)において、バックアップ用電源から供給された電源電圧VB(例えば、DC5V)に基づき各種制御情報を記憶保持可能に構成されている。これにより、電源遮断時における遊技状態(遊技内容)をバックアップすることが可能となる。
また、主制御基板22には、リセット入力回路(遅延手段)22dが設けられている。リセット入力回路22dは、電源基板21のリセット信号回路26に接続されており、該リセット信号回路26が出力したリセット信号Reを入力するようになっている。そして、リセット入力回路22dは、入力したリセット信号ReをメインCPU22a側に出力するようになっている。このとき、リセット入力回路22dは、リセット信号回路26からのリセット信号Reの入力状態がハイレベル状態を継続する時間T1に、予め定めた遅延時間T2(一定の時間)を加えた時間T1+T2の間、メインCPU22aに対するリセット信号Reの出力状態をハイレベル状態とするようになっている。そして、リセット入力回路22dは、時間T1+T2の経過後、リセット信号Reの出力状態をハイレベル状態からローレベル状態に遷移させるようになっている。なお、このリセット信号Reがハイレベル状態からローレベル状態に遷移すると、メインCPU22aは、起動を開始するようになっている。即ち、メインCPU22aは、リセット信号の信号レベルがハイレベル状態となっている間、動作(制御処理)の実行が規制されるようになっている。従って、本実施形態では、リセット信号Reが起動指示信号となる。
次に、主制御基板22のメインCPU22aが実行する各種処理について説明する。
まず、電源断処理プログラムに基づく処理について説明する。主制御基板22(メインCPU22a)は、電源断監視回路25から電源断信号Sを入力すると、電源断処理プログラムに基づき、バックアップ処理を実行する。即ち、メインCPU22aは、電源断信号Sの入力を契機に電源断処理プログラムを実行し、電源断信号Sを入力していない場合には電源断処理プログラムを実行しない(バックアップ処理を実行しない)。バックアップ処理にてメインCPU22aは、RAM22cに記憶保持されている大当り判定用乱数の値などの各種制御情報に加えて、新たにレジスタ55及びスタックポインタなどの制御情報をRAM22cに記憶保持させる。また、メインCPU22aは、RAM22cにバックアップフラグ(電源投入時にRAM22cに記憶保持されている制御情報が正しいか否かを判定するためのフラグ)を設定する。その後、メインCPU22aは、RAM22cへのアクセスを禁止し、リセット入力回路22d(リセット信号回路26)から出力されたリセット信号Reが入力される(ハイレベル状態になる)まで待機する。そして、リセット信号Reを入力すると、メインCPU22aの動作は規制される。
次に、メイン制御プログラムに基づく処理について説明する。
主制御基板22のリセット入力回路22dは、電源供給の開始に伴いリセット信号回路26から出力されたリセット信号Reを入力すると、メインCPU22aに対して所定の規制時間の間、リセット信号Reを継続出力する(ハイレベル状態に維持する)。そして、リセット入力回路22dからのリセット信号Reの出力が停止され(ローレベル状態に遷移され)、メインCPU22aへのリセット信号Reの入力が停止すると(ローレベル状態に遷移すると)、メインCPU22aは起動し、メイン制御プログラム(図3参照)を実行する。
メインCPU22aは、メイン制御プログラムに基づき、遊技中、所定周期(本実施形態では2ms)毎に実行する割込み処理プログラムの割込みを禁止に設定し、該割込み処理プログラムの実行を待機状態とする(ステップM1)。そして、メインCPU22aは、レジスタ、ポートなどの各種デバイスの初期設定を行う(ステップM2)。続いて、メインCPU22aは、RAM22cに記憶保持された各種制御情報(大当り判定用乱数の値、バックアップフラグなど)の消去を指示する初期化指示信号を入力したか否かを判定する(ステップM3)。そして、この判定結果が肯定の場合、即ち、初期化指示信号を入力していた場合、メインCPU22aは、RAM22cに記憶保持された各種制御情報を消去(クリア)する(ステップM4)。
次に、メインCPU22aは、RAM22cに対して遊技を開始させるための各種初期値を設定することにより、RAM22cを初期化する(ステップM5)。このステップM5の処理により、大当り判定用乱数の値には、初期値として「0(零)」が設定されることとなる。続いて、メインCPU22aは、スタックポインタを初期設定する(ステップM6)。従って、本実施形態のステップM4〜ステップM6の処理は初期化処理となる。そして、メインCPU22aは、RAM22cを初期化したことに基づく各種制御信号(初期化信号)をサブ制御基板23に対して出力する(ステップM7)。ステップM7の処理では、例えば、サブ制御基板23に対して初期図柄を表示させるための制御コマンド(制御信号)が出力される。
次に、メインCPU22aは、割込み処理プログラムの実行周期(本実施形態では、2ms)を設定する(ステップM8)。そして、メインCPU22aは、前記ステップM1で禁止した割込み処理プログラムの割込みを許可に設定する(ステップM9)。続いて、メインCPU22aは、大当りに直接関与しない乱数(例えば、変動パターンを決定する際に使用する変動パターン振分乱数など)の更新処理を実行し(ステップM10)、前記ステップM9に移行する。以降、メインCPU22aは、割込み処理プログラムの割込みが発生するまでステップM9とステップM10の処理を繰り返し実行する。その後、割込み処理プログラムの割込みが発生すると、メインCPU22aは、メイン制御プログラムから割込み処理プログラムに移行し、該割込み処理プログラムに基づきパチンコ機10の遊技を制御する。
一方、ステップM3の判定結果が否定、即ち、初期化指示信号を入力していない場合、メインCPU22aは、RAM22cに記憶保持された制御情報(記憶内容)があるか否か、また記憶保持された制御情報がある場合には記憶保持された制御情報に異常があるか否かを判定する(ステップM11)。このとき、メインCPU22aは、電源断時に実行される電源断処理プログラムにおいてRAM22cに設定されたバックアップフラグ(バックアップ実行情報)を確認することで、RAM22cに記憶保持された制御情報が正常な情報であるか否か判定する。そして、その判定結果が肯定、即ち、RAM22cに記憶保持された制御情報に異常がある場合、メインCPU22aはステップM4に移行してRAM22cを初期化する。これ以降、メインCPU22aは、ステップM5〜ステップM10の処理を実行する。従って、RAM22cに記憶保持された制御情報が異常である場合、RAM22cは初期値が設定されて、初期化されることとなる。
なお、ステップM11の判定結果が肯定となる場合としては、電源断時に電源断処理プログラムを実行したものの、バックアップ処理が正常に行われなかった場合やバックアップ処理後にノイズ等によって、記憶内容に異常が発生した場合がある。なお、このような場合にはバックアップフラグが異常(異常値)を示すことになる。また、電源が遮断されていない時(電源断信号Sを入力せず)に、メインCPU22aがリセット信号Reを入力し、メイン制御プログラムを最初(ステップM1)から実行した場合(即ち、メインCPU22aが再起動した場合)がある。なお、この場合にはバックアップ処理を実行していないことから、バックアップフラグは設定されない。メインCPU22aが再起動する要因としては、電源基板21のリセット信号回路26の誤動作か、又はリセット信号Reと同様の機能(役割)を果たす類似の信号(以下、この信号を「不正リセット信号Re1」と示す)が不正に取り付けられた不正基板から出力されたことが考えられる。従って、本実施形態では、不正リセット信号Re1は、起動指示信号となる。
メイン制御プログラムの説明に戻り、ステップM11の判定結果が否定、即ち、RAM22cに記憶保持された制御情報が正常である場合、メインCPU22aは制御情報として記憶保持されているスタックポインタを復帰設定する(ステップM12)。また、メインCPU22aは、RAM22cに記憶保持されているバックアップフラグをクリアする(ステップM13)。そして、メインCPU22aは、割込み処理プログラムの戻り番地としてRAM22cに記憶保持されている制御情報に基づき電源断前の戻り番地を設定し、該戻り番地から割込み処理プログラムに基づきパチンコ機10の遊技を制御する(ステップM14)。
ここで、メインCPU22aは、ステップM5の処理を実行し、大当り判定用乱数の値として初期値「0」をRAM22cに設定した場合、起動後に割込み処理プログラムを実行すると、大当り判定用乱数の更新を初期値「0」から開始する。一方、メインCPU22aは、メイン制御プログラムのステップM11を否定判定し、ステップM12〜M14の処理を実行した場合、起動後に割込み処理プログラムを実行すると、大当り判定用乱数の更新をバックアップ(記憶保持)されていた値から開始する。例えば、大当り判定用乱数の値として「5」がバックアップされていた場合には、「5」の値から更新を開始する。
次に割込み処理プログラムついて説明する。
メインCPU22aは、割込み処理プログラムに基づき、大当り判定用乱数の更新、大当り判定、最終的に表示させる最終停止図柄の決定、及び変動パターンの決定などの各種処理を実行するようになっている。例えば、メインCPU22aは、入賞検知センサSEからの遊技球が入賞検知されたことを示す入賞検知信号を入力すると、そのタイミングでRAM22cに記憶されている大当り判定用乱数の値を取得する。そして、メインCPU22aは、図柄組み合わせゲームを開始する際、遊技球の入賞検知時に取得した大当り判定用乱数の値がROM22bに記憶されている所定の大当り判定値(例えば、「7」と「511」)と一致するか否かを判定することにより、大当り判定を行う。なお、メインCPU22aは、大当り判定の判定結果が肯定(一致)の場合に大当り遊技状態を付与するようになっている。また、大当り判定用乱数の数値が「0」〜「630」(全631通り)であるので、前記大当り値を「7」と「511」に定めた場合、パチンコ機10の大当り確率は、315.5分の1(=631分の2)となる。
そして、大当り判定の判定結果が肯定の場合(大当りの場合)、メインCPU22aは、全列が同一種類となるように最終停止図柄を決定すると共に、大当り演出用の変動パターンの中から変動パターンを決定する。一方、大当り判定の判定結果が否定の場合(はずれの場合)、メインCPU22aは、全列の図柄が同一種類とならないように最終停止図柄を決定すると共に、はずれ演出用の変動パターンの中から変動パターンを決定する。
変動パターン及び最終停止図柄を決定したメインCPU22aは、サブ制御基板23(サブCPU23a)に対し、所定の制御コマンドを所定のタイミングで出力する。具体的に言えば、メインCPU22aは、変動パターンを指定すると共に図柄変動の開始を指示する変動パターン指定コマンドを最初に出力する。次に、メインCPU22aは、各列毎の最終停止図柄を指定するための図柄指定コマンドを出力する。その後に、メインCPU22aは、前記指定した変動パターンに定められている変動時間に基づいて変動停止を指示し、図柄組み合わせゲームを終了するための全図柄停止コマンドを出力する。
以上のことから、本実施形態において、メインCPU22aは、リセット信号Reの入力を契機に起動し、起動してから大当り判定用乱数を更新し、遊技球の入賞を契機に大当り判定を行う制御装置となる。
次に、サブ制御基板23の構成を説明する。
サブ制御基板23には、サブCPU23aと、ROM23bと、RAM23cとが設けられている。サブCPU23aには、ROM23bと、RAM23cとが接続されている。ROM23bには、遊技演出(表示演出、発光演出、音声演出)を制御するための遊技演出制御プログラムなどが記憶されている。また、RAM23cには、パチンコ機10の動作中に適宜書き換えられる各種の情報(各種制御フラグ、各種タイマの値など)が記憶(設定)されるようになっている。
また、サブ制御基板23には、リセット入力回路23dが設けられている。このリセット入力回路23dは、電源基板21のリセット信号回路26に接続されており、該リセット信号回路26が出力したリセット信号Reを入力するようになっている。また、リセット入力回路23dは、サブCPU23aに接続されており、リセット信号Reを入力すると、該リセット信号Reを予め定めた時間T1の間、サブCPU23aに継続出力するようになっている。サブCPU23aは、リセット信号Reの信号レベルがハイレベル状態となっている間、動作(制御処理)の実行が規制され、信号レベルがローレベル状態になると、起動を開始する。本実施形態では、リセット入力回路23dにおけるリセット信号Reの出力時間T1が、主制御基板22のリセット入力回路22dにおけるリセット信号Reの出力時間(出力時間T1+遅延時間T2)よりも短く設定されている。このため、サブCPU23aは、メインCPU22aよりも早く起動を開始することとなる。そして、サブ制御基板23のサブCPU23aは、起動を開始すると、初期設定を行う。この初期設定において、サブCPU23aは、RAM23cの記憶内容の初期化などの処理を行う。
そして、サブCPU23aは、初期設定終了後、通常処理に移行する。この通常処理において、サブCPU23aは、主制御基板22(メインCPU22a)から制御コマンドを入力すると、遊技演出制御プログラムに基づき、入力した制御コマンドに応じた制御を行う。具体的には、サブCPU23aは、変動パターン指定コマンドを入力すると、変動パターン指定コマンドにて指定された変動パターンに基づき、図柄組み合わせゲームを開始させるように表示装置18、装飾ランプ40及びスピーカ41を制御する。そして、サブCPU23aは、全図柄停止コマンドを入力すると、入力した図柄指定コマンドで指定された図柄組み合わせを表示装置18の可変表示器Hに表示させるように表示装置18の可変表示器Hの表示内容を制御する。なお、サブCPU23aは、メインCPU22aが起動するよりも早く起動して、通常処理に移行するため、メインCPU22aの起動直後に制御コマンドを入力しても、制御コマンドに応じた処理を確実に実行することができる。
そして、本実施形態のパチンコ機10では、主制御基板22のメインCPU22aとリセット入力回路22dとの間に、メインCPU22aの起動(制御の開始)を指示する指示回路Iが接続されている。以下、指示回路Iについて図4に基づき詳しく説明する。
指示回路Iは、主制御基板22に設けられており、主制御基板22のリセット入力回路22dに接続されている。そして、指示回路Iは、当該リセット入力回路22dからリセット信号Reが入力されるようになっている。そして、指示回路Iには、タイミングジェネレータ51(Timing Generator)と遅延回路52が設けられており、当該タイミングジェネレータ51及び遅延回路52にリセット入力回路22dからのリセット信号Reが入力されるようになっている。
遅延回路52は、タイミングジェネレータ51と接続されている。そして、遅延回路52は、リセット入力回路22dから入力したリセット信号Reの信号レベルが異なる状態に遷移した場合、タイミングジェネレータ51からの指示(信号)を受けた後にメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移させる。すなわち、遅延回路52は、入力したリセット信号Reを遅延してメインCPU22a側に出力するようになっている。なお、リセット信号Reの信号レベルが異なる状態に遷移するとは、ハイレベル状態からローレベル状態へ遷移すること又はローレベル状態からハイレベル状態へ遷移することである。
そして、タイミングジェネレータ51は、指示回路Iに設けられた発振回路53(oscillator)に接続されている。発振回路53は、内部クロック信号を生成し、当該内部クロック信号を所定の周期毎に出力している。タイミングジェネレータ51は、この内部クロック信号を入力し、この内部クロック信号に基づき指示回路Iにおいて同期を取っている。また、発振回路53は、指示回路Iに設けられた第1カウンタ54(10bit binary counter1)に接続されており、第1カウンタ54は、発振回路53から内部クロック信号を入力する。そして、第1カウンタ54は、当該内部クロック信号を入力する毎に(内部クロック信号の周期毎に)、予め定められた数値範囲内(例えば、「0」〜「1023」の全1024通りの整数)でカウンタ値を1加算して更新する。すなわち、第1カウンタ54は、更新を開始する際の値(初期値)を最小値である「0」とし、該初期値から順に「0」→「1」→…→「1022」→「1023」というようにカウンタ値を1加算して更新する。そして、第1カウンタ54は、カウンタ値が最後に更新される数値(終期値)である「1023(最大値)」に達すると、再び「0」〜「1023」までの数値を1加算して更新する。つまり、本実施形態では、「0」〜「1023」までを1周期としてカウンタ値を順次更新し、この1周期の更新処理をパチンコ機10の動作中、繰り返し実行する。なお、カウンタ値の更新周期(すなわち、内部クロック信号の周期)は、大当り判定用乱数の更新周期(本実施形態では、2ms)と異なるようになっている。具体的には、カウンタ値の更新周期の方が遙かに早くなっている。
また、タイミングジェネレータ51は、指示回路Iに設けられたレジスタ55(10bit register)と接続されている。レジスタ55は、カウンタ値を入力可能に第1カウンタ54に接続されている。そして、タイミングジェネレータ51は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移すると、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示(信号)を送るようになっている。このレジスタ55は、タイミングジェネレータ51からの当該指示を受けると、第1カウンタ54のカウンタ値を記憶するようになっている。すなわち、レジスタ55は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移したときにおける第1カウンタ54のカウンタ値を記憶するようになっている。
また、タイミングジェネレータ51は、指示回路Iに設けられた第2カウンタ56(10bit binary counter2)と接続されている。第2カウンタ56は、指示回路Iに設けられた分周回路60から所定の周期を有する更新用クロック信号を入力するようになっている。そして、第2カウンタ56は、当該更新用クロック信号を入力する毎に(更新用クロック信号の周期毎に)、予め定められた数値範囲内(例えば、「0」〜「1023」の全1024通りの整数)で判定値を1加算して更新するようになっている。すなわち、第2カウンタ56は、更新を開始する際の値(初期値)を最小値である「0」とし、該初期値から順に「0」→「1」→…→「1022」→「1023」というように判定値を1加算して更新するようになっている。なお、本実施形態では、判定値の更新周期(更新用クロック信号の周期)は、大当り判定用乱数の更新周期(本実施形態では、2ms)と異なるように設定されている。具体的には、判定値の更新周期(本実施形態では、1ms)の方が早くなっている。
そして、タイミングジェネレータ51は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移すると、第2カウンタ56に対して、初期値「0」から判定値を更新するように指示(信号)を送るようになっている。すなわち、第2カウンタ56は、レジスタ55にカウンタ値が記憶された後から判定値の更新を開始するようになっている。そして、第2カウンタ56は、判定値を更新する毎に、判定値がカウンタ値と一致するか否か判定し、判定値がカウンタ値と一致すると判定すると、タイミングジェネレータ51にその旨の通知(信号)を送る。
そして、タイミングジェネレータ51は、第2カウンタ56から判定値とカウンタ値と一致したとの通知を受け取ると、遅延回路52に対してメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移するように指示する。これにより、遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移する。
以上のことから、本実施形態の指示回路Iは、不正防止回路(遊技機用不正防止回路)となる。また、第1カウンタ54がカウンタ値を更新する更新手段となる。また、レジスタ55がカウンタ値を取得する取得手段となる。また、第2カウンタ56が判定値を更新する計測手段となる。また、遅延回路52が、リセット信号Reを出力する出力手段となる。また、発振回路53が、第1カウンタ54に内部クロック信号を出力する第1信号生成手段となり、外部発振回路70が、第2カウンタ56に外部クロック信号を出力する第2信号生成手段となる。また、発振回路53が、第1カウンタ54に内部クロック信号を出力する第1発振回路となり、外部発振回路70が、第2カウンタ56に外部クロック信号を出力する第2発振回路となる。また、タイミングジェネレータ51が、遅延回路52に対してリセット信号Reの信号レベルを異なる状態に遷移させることを指示するタイミング指示回路となる。
このように、リセット信号Reの信号レベルが異なる状態に遷移したとき、レジスタ55に第1カウンタ54のカウンタ値を記憶させると共に、第2カウンタ56に判定値を更新させる。タイミングジェネレータ51は、判定値とカウンタ値が一致したとき、遅延回路52にリセット信号Reの信号レベルを異なる状態に遷移させるように指示する。このため、リセット信号Reの信号レベルが異なる状態に遷移したときにおけるカウンタ値によってリセット信号Reの遅延時間が左右される。
そして、第1カウンタ54は、指示回路I、すなわち、主制御基板22に電源が供給されてから、カウンタ値を更新し続ける。このため、リセット信号Reの信号レベルが異なる状態に遷移したときのカウンタ値は、リセット信号Reの信号レベルが異なる状態に遷移するときが一定でないので、結果的に乱数となり、リセット信号Reの遅延時間が一定でなくなる。すなわち、指示回路Iに入力されたリセット信号Reの信号レベルが異なる状態に遷移したときから、指示回路IがメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移させるタイミングまでの遅延時間は、一定でなくなる。
このため、リセット信号Reを主制御基板22に入力してからメインCPU22aが起動を開始し、大当り判定用乱数の更新を開始するまでの時間が一定でなくなり、リセット信号Reを主制御基板22に入力してから時間を計測しても、大当りとなるタイミングを把握できなくなる。従って、不正リセット信号Re1を主制御基板22に入力してからの時間を計測しても大当りとなるタイミングを把握することができにくくなり、不正を防止できる。
また、本実施形態の発振回路53は、コンデンサ、キャパシタ、抵抗などから構成されており、これらの性能には通常ばらつきがあり、また、電源が供給されていないときにおいてコンデンサの残留電荷などにも通常ばらつきがある。このため、電源投入直後において、発振回路53が生成する内部クロック信号の周期は、一定でない場合が多い。また、電源投入毎に同一タイミングでリセット信号回路26がリセット信号Reを出力した場合であっても、電源投入からリセット信号Reが指示回路Iに入力されるまでの時間は一定でない可能性が高い。また、電源投入から指示回路Iにリセット信号Reが入力されるまでの間に、第1カウンタ54のカウンタ値は、少なくとも複数回更新されるようになっている。すなわち、発振回路53は、電源投入から指示回路Iにリセット信号Reが入力されるまでの間に、複数回内部クロック信号を入力する程度の速さの周期を有する内部クロック信号を生成するようになっている。以上のことから、電源投入後から最初にリセット信号Reの信号レベルが異なる状態に遷移したときに取得するカウンタ値にばらつきが生じる可能性が高い。このため、遅延時間も異なり、電源投入後から最初の大当りとなるタイミングを把握することができにくくなる。
また、指示回路Iは、リセット信号Reの信号レベルが異なる状態に遷移するたびに、当該遷移するタイミングを遅延させる。このため、リセット信号Reの入力時間が短すぎた場合、指示回路Iからリセット信号Reが正常に出力されない場合がある。具体的には、指示回路Iに入力されるリセット信号Reがハイレベル状態に遷移したときからローレベル状態に遷移するまでの時間が、指示回路Iに入力されるリセット信号Reがハイレベル状態に遷移してから遅延回路52が出力するリセット信号Reをハイレベル状態に遷移するまでの時間よりも短い場合、正常に出力されない場合がある。また、同様に、指示回路Iに入力されるリセット信号Reがローレベル状態に遷移したときからハイレベル状態に遷移するまでの時間が、指示回路Iに入力されるリセット信号Reがローレベル状態に遷移してから遅延回路52が出力するリセット信号Reをローレベル状態に遷移するまでの時間よりも短い場合も、正常に出力されない場合がある。このため、リセット信号Reの最大遅延時間を予め把握しておかなければ、正確なリセット信号Reの入力時間を設定することができなくなる。従って、入力時間が短い不正リセット信号Re1の入力を防止できる。また、同様にして、瞬間的にハイレベル状態に遷移した後、ローレベル状態に遷移するようなノイズを除去することが可能となる。
また、本実施形態において、カウンタ値は指示回路I内部で更新されており、また、カウンタ値の更新周期は、環境変化やICの個体差により変化することがあるため、カウンタ値を把握することは困難である。また、発振回路53が出力する内部クロック信号の周期、すなわち、カウンタ値の更新周期と、大当り判定用乱数の更新周期は同期していないため、大当り判定用乱数を把握しつつ、カウンタ値を把握することは極めて困難となる。同様に、カウンタ値の更新周期と、判定値の更新周期も異なるため(非同期であるため)、判定値を把握しつつ、カウンタ値を把握することは極めて困難となる。
なお、指示回路Iに設けられた分周回路60は、指示回路Iの外部であって、主制御基板22に設けられた外部発振回路70から入力した外部クロック信号の周波数が高い場合に、当該外部クロック信号の周波数を分周して周波数を低くして更新用クロック信号とすることができるように構成されている。具体的には、分周回路60には、データ線S1,S2が設けられており、このデータ線S1,S2への信号の入力状況に応じて外部クロック信号の周波数を16000分の1又は20000分の1に分周した信号を更新用クロック信号として出力する、若しくはそのまま更新用クロック信号として出力するようになっている。
より詳しくは、分周回路60は、第3カウンタ61(15bit binary counter3)、データセレクタ63(SEL)、分割器62(Divide 20000/Divide16000)、及び選択切替器64(MUX:Multiplexer )から構成されている。そして、データセレクタ63は、データ線S1,S2から入力された信号に基づき、分割器62に対して外部から入力した外部クロック信号の周波数を、そのままにして出力するか、若しくは16000分の1又は20000分の1に分周して出力するかを設定する。そのままの周期で更新用クロック信号として出力すると設定された場合、データセレクタ63は、選択切替器64に対して、外部から入力した外部クロック信号をそのまま更新用クロック信号として第2カウンタ56に出力するように指示する。これにより、外部から入力された外部クロック信号は、そのまま更新用クロック信号として第2カウンタ56に出力される。例えば、分周回路60は、1KHz(キロヘルツ)の外部クロック信号を入力した場合には、分周せずに、1KHzの更新用クロック信号として第2カウンタ56に出力する。
一方、16000分の1に分周すると設定された場合は、データセレクタ63は、分割器62に対してその旨を指示する。この指示を受けた分割器62は、第3カウンタ61が16000回外部クロック信号を入力すると計測する毎に、選択切替器64に対して1回更新用クロック信号を出力させる。すなわち、外部から入力された外部クロック信号を16000回入力する毎に、選択切替器64に1回更新用クロック信号を出力する。選択切替器64は、当該更新用クロック信号を第2カウンタ56に出力する。なお、20000分の1に分周する場合も同様の処理を行うので詳細な説明は省略する。例えば、分周回路60は、16MHz(メガヘルツ)の外部クロック信号を入力した場合には、周波数を16000分の1に分周して、1KHzの更新用クロック信号として出力する。同様に、分周回路60は、20MHz(メガヘルツ)の外部クロック信号を入力した場合には、周波数を20000分の1に分周して、1KHzの更新用クロック信号として出力する。
このように、外部から入力した外部クロック信号を分周することにより、様々な周波数を有する外部クロック信号を入力しても、判定値を更新するのに適切な周期を有する(例えば、1KHzの)更新用クロック信号に変換することができる。また、外部クロック信号の分周した場合、大当り判定用乱数と判定値の更新周期が異なるため、判定値の更新周期を把握しにくくなり、大当りとなるタイミングの把握を一層困難なものとすることができる。
次に、指示回路Iにおいて、リセット信号Reの信号レベルが遷移するタイミングについて図5に基づき説明する。
パチンコ機10へ電源投入がされると(時点A1)、指示回路Iに入力されるリセット信号Reの信号レベルは、ローレベル状態からハイレベル状態に遷移する。これにより、指示回路Iのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けてレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、タイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて第2カウンタ56は、分周回路60から入力した更新用クロック信号の周期毎に判定値を初期値から更新する。そして、第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けたタイミングジェネレータ51は、遅延回路52にリセット信号Reの信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルをローレベル状態からハイレベル状態に遷移させる(時点A2)。すなわち、遅延回路52は、ハイレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α1だけメインCPU22a側に出力するリセット信号Reの信号レベルをハイレベル状態に遷移させるタイミングを遅延させる。メインCPU22aに入力されるリセット信号Reの信号レベルがハイレベル状態となると、メインCPU22aの起動が規制される。
そして、電源投入後から時間T1+T2経過後、指示回路Iに入力されるリセット信号Reの信号レベルがハイレベル状態からローレベル状態に遷移する(時点A3)。これにより、タイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けてレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、タイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて第2カウンタ56は、更新用クロック信号の周期毎に判定値を初期値から更新する。そして、第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けたタイミングジェネレータ51は、遅延回路52にリセット信号Reの信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルをハイレベル状態からローレベル状態に遷移させる(時点A4)。すなわち、遅延回路52は、ローレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α2だけメインCPU22a側に出力するリセット信号Reの信号レベルをローレベル状態に遷移させるタイミングを遅延させる。
メインCPU22aに入力されるリセット信号Reの信号レベルがローレベル状態に遷移すると、メインCPU22aの規制が解除され、起動を開始する。その際、メインCPU22aは、初期化指示信号を入力していた場合又はRAM22cの記憶内容が異常である場合、初期化処理を行う。これにより、メインCPU22aは、大当り判定用乱数を初期値「0」から更新し続ける。このため、リセット入力回路22dの出力時間T1+T2に、指示回路Iの遅延時間α2及び大当り判定用乱数の値が初期値「0」から大当り判定値(「7」又は「511」)に到達するまでの時間を加算した時間が電源投入から経過した時に、大当り判定用乱数を取得すれば、大当りとなる。しかしながら、遅延時間α2は一定でないために、電源投入から大当りとなるタイミングは一定でなくなり、電源投入から時間を計測しても大当りとなるタイミングを把握することができず、不正を防止できる。
なお、初期化指示信号を入力せず、かつ、RAM22cの記憶内容が正常である場合、メインCPU22aは、バックアップされた記憶内容を復旧して通常処理に移行する。これにより、メインCPU22aは、大当り判定用乱数をバックアップされていた値から更新し続ける。この場合、さらにバックアップ内容を知らなくては大当りとなるタイミングを把握することができないので、一層不正ができにくくなる。
次に、パチンコ機10の動作中に、不正基板から不正リセット信号Re1が主制御基板22に入力された場合について説明する。
不正基板から入力された不正リセット信号Re1の信号レベルが、ローレベル状態からハイレベル状態に遷移すると(時点A5)、タイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けてレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、タイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて第2カウンタ56は、分周回路60から入力した更新用クロック信号の周期毎に判定値を初期値から更新する。そして、第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けたタイミングジェネレータ51は、遅延回路52に不正リセット信号Re1の信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた遅延回路52は、メインCPU22a側に出力する不正リセット信号Re1の信号レベルをローレベル状態からハイレベル状態に遷移させる(時点A6)。すなわち、遅延回路52は、ハイレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α3だけメインCPU22a側に出力する不正リセット信号Re1の信号レベルをハイレベル状態に遷移させるタイミングを遅延させる。メインCPU22aに入力されるリセット信号Reの信号レベルがハイレベル状態となると、メインCPU22aの起動が規制される。
そして、不正基板から入力された不正リセット信号Re1の信号レベルが、ハイレベル状態からローレベル状態に遷移すると(時点A7)、タイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けてレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、タイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて第2カウンタ56は、更新用クロック信号の周期毎に判定値を初期値から更新する。そして、第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けたタイミングジェネレータ51は、遅延回路52に不正リセット信号Re1の信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた遅延回路52は、メインCPU22a側に出力する不正リセット信号Re1の信号レベルをハイレベル状態からローレベル状態に遷移させる(時点A8)。すなわち、遅延回路52は、ローレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α4だけメインCPU22a側に出力する不正リセット信号Re1の信号レベルをローレベル状態に遷移させるタイミングを遅延させる。
メインCPU22aに入力される不正リセット信号Re1の信号レベルがローレベル状態に遷移すると、メインCPU22aの規制が解除され、起動を開始する。その際、動作中に不正リセット信号Re1を入力しため、メインCPU22aは、初期化指示信号を入力しておらず、またRAM22cの記憶内容が異常であるので、初期化処理を行っている。これにより、メインCPU22aは、大当り判定用乱数を初期値「0」から更新し続ける。このため、主制御基板22へ不正リセット信号Re1を入力してから、リセット入力回路22dの出力時間T1+T2に、指示回路Iの遅延時間α4及び大当り判定用乱数の値が初期値「0」から大当り判定値(「7」又は「511」)に到達するまでの時間を加算した時間が経過した時に、大当り判定用乱数を取得すれば大当りとなる。しかしながら、遅延時間α4は不明であるため、不正リセット信号Re1の入力から大当りとなるタイミングは不明となり、電源投入から時間を計測しても大当りとなるタイミングを把握することができず、不正を防止できる。
以上詳述したように、本実施形態は、以下の効果を有する。
(1)指示回路Iは、リセット信号Re(又は不正リセット信号Re1)の入力が開始(又は終了)したときにレジスタ55が取得したカウンタ値と、レジスタ55がカウンタ値を取得した後から第2カウンタ56が更新する判定値とが一致した場合に、メインCPU22aに出力するリセット信号Reの信号レベルを異なる状態に遷移する。すなわち、リセット信号回路26又は不正基板からリセット信号Re(又は不正リセット信号Re1)の入力が開始(又は終了)されたときからカウンタ値に基づく時間遅延して、リセット信号Reは、メインCPU22aへ入力が開始(又は終了)される。そして、遅延する時間は、カウンタ値に基づくため、一定でない。以上のことから、主制御基板22へリセット信号Re(又は不正リセット信号Re1)の入力を開始(又は終了)してからメインCPU22aが起動するタイミングが一定でなくなり、大当りとなるタイミングも一定でなくなる。従って、大当りの発生タイミングの把握を困難にすることができ、不正を防止できる。
(2)カウンタ値は、大当り判定用乱数の更新周期とは異なる所定の更新周期毎に更新されるので、リセット信号回路26又は不正基板が、リセット信号Re(又は不正リセット信号Re1)を出力してから一定の更新周期で大当りとなるタイミングを計測しようとしても、大当りとなるタイミングを把握することは困難となる。従って、大当りの発生タイミングの把握を困難にすることができ、不正を防止できる。
(3)指示回路Iは、リセット信号Re(又は不正リセット信号Re1)の信号レベルが異なる状態に遷移するたびに、そのタイミングを遅延させてリセット信号ReをメインCPU22a側に出力する。このため、リセット信号Re(又は不正リセット信号Re1)の入力時間が短すぎると、メインCPU22a側に出力するリセット信号Reがハイレベル状態となる前に指示回路Iに入力されるリセット信号Reがローレベル状態となる場合がある。また、同様に、メインCPU22a側に出力するリセット信号Reがローレベル状態となる前に指示回路Iに入力されるリセット信号Reがハイレベル状態となる場合がある。これらの場合、指示回路Iは、正常にリセット信号ReをメインCPU22a側に出力することができなくなり、メインCPU22aの規制や起動を正常に行えなくなる。従って、入力時間の短い不正リセット信号Re1の入力を防止できる。
(4)指示回路Iは、リセット信号Re(又は不正リセット信号Re1)の信号レベルが異なる状態に遷移するたびに、そのタイミングを遅延させてリセット信号Re(又は不正リセット信号Re1)をメインCPU22a側に出力する。このため、リセット信号Re(又は不正リセット信号Re1)の信号レベルが、ローレベル状態からハイレベル状態に遷移した場合にメインCPU22aを起動するようにしても、ハイレベル状態からローレベル状態に遷移した場合にメインCPU22aを起動するようにしてもメインCPU22aに対応することができる。
(5)発振回路53に使用されているコンデンサや抵抗には、通常、性能のばらつきがあり、また、電源投入時においてコンデンサに蓄えられている残留電荷も通常ばらつきがあるため、電源投入後において、発振回路53が出力するクロック信号の周期にはばらつきが生じる。このため、電源投入毎に、電源投入後最初のリセット信号Reの遅延時間が異なる可能性が高い。すなわち、電源投入毎に、電源投入後最初の大当りとなるタイミングが異なる可能性が高い。また、カウンタ値は、電源投入からリセット信号Reが入力されるまでの時間に複数回更新される、すなわち、カウンタ値の更新周期は極めて早いため、電源投入毎に取得するカウンタ値が異なる可能性が高い。このため、電源投入毎に、遅延時間が異なり、大当りとなるタイミングも異なる可能性が高い。従って、電源投入した時点から時間を計測して大当りタイミングを把握することが困難となる。
(6)主制御基板22は、ケースカバー内に収容されており、当該ケースカバーには、外部から主制御基板22に直接不正回路などを装着できないように不正防止対策がなされている。このため、主制御基板22に指示回路Iを取り付けることにより、メインCPU22aと指示回路Iとの間に不正基板が取り付けられることを防止できる。従って、指示回路Iを介してリセット信号Reを入力することが確実にできる。すなわち、確実にリセット信号Re(又は不正リセット信号Re1)を遅延させてメインCPU22aに入力することができる。
(7)指示回路Iに分周回路60を設け、指示回路Iの外部に備えられた外部発振回路70から入力した外部クロック信号の周期を遅くしたものを更新用クロック信号として出力するようにした。このため、高周波数の外部クロック信号を入力しても、リセット信号Reを十分に遅延させることができる。
(8)更新用クロック信号の周期毎に、第2カウンタ56は判定値を更新する。このため、更新用クロック信号の周期と大当り判定用乱数の更新周期を異ならせれば、リセット信号Reが異なる状態に遷移してから一定周期でタイミングを計った場合、大当りとなるタイミングがずれることとなる。また、計測する周期を途中で切り替えるには、指示回路Iのレジスタ55に記憶されたカウンタ値を知る必要があるため、困難である。従って、大当りとなるタイミングを把握しにくくすることができ、不正リセット信号Re1の入力による不正を防止できる。
(9)カウンタ値の更新周期を定める内部クロック信号を生成、出力する発振回路53を指示回路Iに設けた。このため、内部クロック信号の周期を指示回路Iの外部から認識することは困難となる。従って、大当りとなるタイミングを把握し難くでき、不正を防止できる。
(10)指示回路Iの外部に設けた外部発振回路70から入力した外部クロック信号の周波数を分周回路60により16000分の1又は20000分の1に分周することができるようにした。このため、外部発振回路70から入力した外部クロック信号がどれだけ分周されているか指示回路Iの外部からは認識しにくくなり、判定値の更新周期を認識することが困難となる。従って、大当りとなるタイミングを把握し難くでき、不正を防止できる。
尚、上記実施形態は、次のような別の実施形態(別例)にて具体化できる。
○上記実施形態において、リセット信号Re(及び不正リセット信号Re1)が指示回路Iを介して主制御基板22に入力されるならば、指示回路Iを主制御基板22に設けなくても良い。
○上記実施形態において、判定値の更新周期がリセット信号Reの遅延時間を設けるために適切な周期になるならば、外部発振回路70が出力する外部クロック信号を分周する分周回路60を設けなくても良い。すなわち、第2カウンタ56は、外部発振回路70が出力する外部クロック信号の周期毎に判定値を更新するようにしても良い。
○上記実施形態において、メインCPU22aは、リセット信号Reがハイレベル状態からローレベル状態に遷移したときに起動するようになっていたが、ローレベル状態からハイレベル状態に遷移したときに起動するようにしても良い。この場合、指示回路Iから出力されるリセット信号Reを反転する必要がある。
○上記実施形態において、指示回路Iは、リセット信号Re(又は不正リセット信号Re1)の信号レベルが異なる状態に遷移するたびに、その遷移するタイミングを遅延させていた。この別例として、メインCPU22aの起動開始がハイレベル状態からローレベル状態に遷移するタイミングで行われるのであれば、リセット信号Reがハイレベル状態からローレベル状態に遷移するときだけ遅延させるようにしてもよい。また、メインCPU22aの起動開始がローレベル状態からハイレベル状態に遷移するタイミングで行われるのであれば、リセット信号Reがローレベル状態からハイレベル状態に遷移するときだけ遅延させるようにしてもよい。
○上記実施形態において、大当り判定用乱数は、最大値まで更新されると、最小値から継続して更新するようにしていたが、必ずしも最小値から継続して更新しなくても良い。例えば、「0」→「1」→…「630」→「100」→「101」→…といように、最大値の次に、最小値でない値から継続して更新しても良い。このようにすれば、大当りとなるタイミングを把握しにくくすることができ、不正を防止できる。
○上記実施形態では、指示回路Iが出力するリセット信号Reの信号レベルを遷移させるタイミングを決定するために、判定値を1ずつ加算していき、カウンタ値に達するか否か判定していたが、カウンタ値を1ずつ減算していき、カウンタ値が0になったか否かを判定するようにしても良い。
○上記実施形態では、外部クロック信号を出力する外部発振回路70を指示回路Iの外部に設けていたが、指示回路Iに設けても良い。このようにすれば、判定値の更新周期がより判別しにくくなり、不正を防止できる。
○上記実施形態では、内部クロック信号を生成、出力する発振回路53を指示回路Iに設けたが、指示回路Iの外部に発振回路53を設けても良い。
○上記実施形態では、バックアップ処理が実行可能に構成されていたが、バックアップ処理ができなくてもよい。この場合、電源遮断時には、必ず初期化処理がなされることとなる。
○上記実施形態では、RAMクリアスイッチ36及びRAMクリアスイッチ回路37を設けたが、設けなくても良い。
○上記実施形態では、メインCPU22aと、指示回路Iは、外部発振回路70から同じ周期の外部クロック信号を入力していたが、メインCPU22aと指示回路Iは、異なる周期の信号をそれぞれ入力しても良い。このようにすれば、大当たり判定用乱数の更新周期と、判定値の更新周期とが非同期となる。そして、主制御基板22の外部からこれらの2つの異なる周期を把握することは、困難であるため、不正リセット信号Re1の入力による不正を防止できる。
○上記実施形態では、リセット信号Reの信号レベルがハイレベル状態のとき、リセット信号Re(又は不正リセット信号Re1)が入力(出力)されたとし、ローレベル状態のとき、リセット信号Re(又は不正リセット信号Re1)の入力(出力)が終了したとしていた。この別例として、リセット信号Reの信号レベルがローレベル状態のとき、リセット信号Re(又は不正リセット信号Re1)が入力(出力)されたとし、ハイレベル状態のとき、リセット信号Re(又は不正リセット信号Re1)の入力(出力)が終了したとしてもよい。
次に、上記実施形態及び別例から把握できる技術的思想を以下に追記する。
(イ)起動を指示する起動指示信号の入力を契機に起動し、起動してから大当り判定用乱数の値を所定の周期毎に更新し、始動入賞手段への遊技球の入賞を契機に取得した大当り判定用乱数の値を用いて大当りか否かを判定する大当り判定を行う制御装置を備え、前記大当り判定の判定結果が肯定である場合に大当り遊技状態を付与する遊技機において、前記制御装置は、不正防止回路を介して起動指示信号を入力するようになっており、前記不正防止回路は、第1信号生成手段により出力された信号の周期毎にカウンタ値を更新する更新手段と、前記起動指示信号の入力を開始又は終了したときに前記カウンタ値を取得する取得手段と、前記取得手段が前記カウンタ値を取得した後から第2信号生成手段により出力された信号の周期毎に判定値を更新する計測手段と、前記判定値がカウンタ値に至ったとき、前記起動指示信号を出力している場合には前記起動指示信号の出力を終了する一方、前記起動指示信号を出力していない場合には前記起動指示信号の出力を開始する出力手段を備えたことを特徴とする遊技機。
(ロ)前記更新手段は、大当り判定用乱数の更新周期とは異なる所定の周期毎に前記カウンタ値を更新することを特徴とする技術的思想(イ)に記載の遊技機。
(ハ)前記起動指示信号は、その信号レベルとしてハイレベル状態及びローレベル状態を示す2値信号であり、前記制御装置は、入力した起動指示信号の信号レベルが、ローレベル状態からハイレベル状態に遷移した場合又はハイレベル状態からローレベル状態に遷移した場合のうちいずれか一方の場合のみに起動するように構成されており、前記取得手段は、入力した起動指示信号の信号レベルが異なる状態に遷移した場合に前記カウンタ値を取得し、前記出力手段は、前記判定値がカウンタ値に至ったときに、出力する前記起動指示信号の信号レベルを異なる状態に遷移することを特徴とする技術的思想(イ)又は(ロ)に記載の遊技機。
(ニ)前記不正防止回路は、前記第1信号生成手段を備え、前記第1信号生成手段は、所定の周期を有するクロック信号を生成し、出力することを特徴とする技術的思想(イ)〜(ハ)のうちいずれか一項に記載の遊技機。
(ホ)所定の周期毎に更新される大当り判定用乱数を使用して大当り判定を行う制御装置の起動を指示する起動指示信号を制御装置に中継する遊技機用不正防止回路において、第1信号生成手段により出力された信号の周期毎にカウンタ値を更新する更新手段と、前記起動指示信号の入力を開始又は終了したときに前記カウンタ値を取得する取得手段と、前記取得手段が前記カウンタ値を取得した後から第2信号生成手段により出力された信号の周期毎に判定値を更新する計測手段と、前記判定値がカウンタ値に至ったとき、前記起動指示信号を出力している場合には前記起動指示信号の出力を終了する一方、前記起動指示信号を出力していない場合には前記起動指示信号の出力を開始する出力手段を備えたことを特徴とする遊技機用不正防止回路。
(ヘ)前記不正防止回路は、前記制御装置が設けられた基板と同一基板に設けられたことを特徴とする技術的思想(イ)〜(ハ)のうちいずれか一項に記載の遊技機。制御装置が設けられる基板は、通常、不正基板が取り付けられないように、基板の周りをカバーで覆うなど、不正防止対策がなされている。このため、制御装置が設けられた基板に不正防止回路を取り付けることにより、制御基板と不正防止回路との間に不正基板を取り付けられることを防止できる。従って、確実に起動指示信号を遅延させて制御装置に入力することができる。
(ト)前記不正防止回路は、第2信号生成手段から入力した信号の周期を分周する分周回路を備え、前記計測手段は、前記分周回路が分周した信号の周期毎に判定値を更新することを特徴とする技術的思想(イ)〜(ハ)ののうちいずれか一項に記載の遊技機。これにより、第2信号生成手段から入力したクロック信号の周期を遅くすることができる。このため、高周波数のクロック信号を第2信号生成手段から入力しても、十分に遅延時間を取ることができる。
(チ)前記更新手段は、大当り判定用乱数の更新周期とは異なる所定の更新周期毎に前記カウンタ値を更新することを特徴とする技術的思想(ホ)に記載の遊技機用不正防止回路。
(リ)前記起動指示信号は、その信号レベルとしてハイレベル状態及びローレベル状態を示す2値信号であり、前記取得手段は、入力した起動指示信号の信号レベルが異なる状態に遷移したときに前記カウンタ値を取得し、前記出力手段は、前記判定値がカウンタ値に至ったときに出力する前記起動指示信号の信号レベルを異なる状態に遷移することを特徴とする技術的思想(ホ)又は技術的思想(チ)に記載の遊技機用不正防止回路。
(ヌ)起動を指示する起動指示信号の入力を契機に起動してから大当り判定用乱数の値を所定の周期毎に更新し、始動入賞手段への遊技球の入賞を契機に取得した大当り判定用乱数の値を用いて大当りか否かを判定する大当り判定を行う制御装置を備え、前記大当り判定の判定結果が肯定である場合に大当り遊技状態を付与する遊技機において、前記制御装置は、不正防止回路を介して起動指示信号を入力するようになっており、前記不正防止回路は、第1信号生成手段から入力した信号の周期毎にカウンタ値を更新する更新手段と、前記起動指示信号の入力を開始又は終了したときに前記カウンタ値を取得する取得手段と、前記取得手段が取得したカウンタ値が0になるまで第2信号生成手段から入力した信号の周期毎にカウンタ値を減算する計測手段と、前記取得手段が取得した前記カウンタ値が0に至ったとき、前記起動指示信号を出力している場合には前記起動指示信号の出力を終了する一方、前記起動指示信号を出力していない場合には前記起動指示信号の出力を開始する出力手段を備えたことを特徴とする遊技機。
10…パチンコ遊技機(遊技機)、18…表示装置、21…電源基板、22…主制御基板、22a…メインCPU(制御装置)、23…サブ制御基板、23a…サブCPU、24…電源回路、25…電源断監視回路、26…リセット信号回路、36…RAMクリアスイッチ、37…RAMクリアスイッチ回路、51…タイミングジェネレータ(タイミング指示回路)、52…遅延回路(出力手段)、53…発振回路(第1信号生成手段、第1発振回路)、54…第1カウンタ(更新手段)、55…レジスタ(取得手段)、56…第2カウンタ(計測手段)、60…分周回路、61…第3カウンタ、62…分割器、63…データセレクタ、64…選択切替器、70…外部発振回路(第2信号生成手段、第2発振回路)、I…指示回路(不正防止回路、遊技機用不正防止回路)、Re…リセット信号(起動指示信号)、Re1…不正リセット信号(起動指示信号)、S…電源断信号。