以下、本発明をその一種であるパチンコ遊技機(以下、「パチンコ機」と示す)に具体化した第一実施形態を図1〜図9に基づき説明する。
図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(5V),V3(5V)にさらに変換処理し、変換後の電源電圧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の電圧値が電圧V以上となる。
また、電源基板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は、例えば、電気二重層コンデンサからなるバックアップ用電源(専用電源)27を備えている。そして、バックアップ用電源27は、電源回路24に接続されており、該電源回路24から電源電圧が当該バックアップ用電源27に供給されるようになっている。また、電源基板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は、起動後、大当り判定に使用する大当り判定用乱数などの各種乱数の値を所定の周期(例えば、4ms)毎に順次更新し、更新後の値をRAM22cの設定領域に設定して更新前の値を書き換えている。ROM22bには、パチンコ機10を制御するための各種制御プログラム(メイン制御プログラム、割込み処理プログラム、電源断処理プログラムなど)や、複数種類の変動パターンなどが記憶されている。RAM22cには、パチンコ機10の動作中に適宜書き換えられる各種の情報(大当り判定用乱数の値など)が記憶(設定)されるようになっている。なお、本実施形態のメインCPU22aには、外部クロック信号を生成し、出力する外部発振回路70が接続されており、当該外部発振回路70が出力する外部クロック信号の周期に基づき、各種乱数を更新するようになっている。
前記変動パターンは、図柄が変動を開始(図柄組み合わせゲームの開始)してから全列の図柄が表示(図柄組み合わせゲームの終了)される迄の間の遊技演出(表示演出、発光演出、音声演出)のベースとなるパターンを示すものである。また、複数種類の変動パターンは、大当り演出用の変動パターンと、はずれ演出用の変動パターンとに分類されている。大当り演出は、図柄組み合わせゲームが、最終的に大当りの図柄組み合わせを表示するように展開される演出である。はずれ演出は、図柄組み合わせゲームが、最終的にはずれの図柄組み合わせを表示するように展開される演出である。
また、前記大当り判定用乱数は、予め定められた数値範囲内(例えば、「0」〜「630」の全631通りの整数)の数値を取り得るように、メインCPU22aが所定の周期毎(4ms毎)に数値を1加算して更新するようになっている。そして、メインCPU22aは、更新後の値を大当り判定用乱数の値としてRAM22cに記憶し、既に記憶されている大当り判定用乱数の値を書き換えることで大当り判定用乱数の値を順次更新するようになっている。より詳しく言えば、メインCPU22aは、更新を開始する際の値(初期値)を最小値である「0」とし、該初期値から順に「0」→「1」→…→「629」→「630」というように数値を1加算して更新するようになっている。そして、メインCPU22aは、大当り判定用乱数の値として更新された数値が最後に更新される数値(終期値)である「630(最大値)」に達すると、再び「0」〜「630」までの数値を1加算して更新するようになっている。即ち、本実施形態のパチンコ機10では、大当り判定用乱数の値を「0」〜「630」に更新するまでを大当り判定用乱数の1周期として大当り判定用乱数の値を順次更新し、この1周期の更新処理をパチンコ機10の動作中、繰り返し実行するようになっている。
RAM22cは、電源基板21のバックアップ用電源27が接続されており、電源電圧V1(電源)の遮断時(電圧V以下に降下した時)において、バックアップ用電源27から供給された電源電圧VB(例えば、DC5V)に基づき各種制御情報を記憶保持可能に構成されている。これにより、電源遮断時における遊技状態(遊技内容)をバックアップすることが可能となる。また、RAM22cは、バックアップ用電源27とは別に電源回路24とも接続されており、電源電圧V2が供給されるようになっている。なお、電源回路24から電源電圧V2が供給されなくなったときに、バックアップ用電源27から電源電圧が逆流しないように、RAM22cは、ダイオード(整流素子)を介して電源回路24と接続される。なお、RAM22cは、供給される電源電圧が所定の電圧V10(例えば、2V)以下となった場合、記憶内容が読み出せなくなる、又は記憶内容を正常に維持できなくなる等の不都合が生じる。その一方で、RAM22cは、所定の電圧V10よりも大きい電圧が供給されている場合には、記憶内容を正常に維持することができるようになっている。
また、主制御基板22には、リセット入力回路(入力手段)22dが設けられている。リセット入力回路22dは、電源基板21のリセット信号回路26に接続されており、該リセット信号回路26が出力したリセット信号Reを入力するようになっている。また、リセット入力回路22dは、メインCPU22aに接続されており、メインCPU22aが待機状態のまま予め決められた時間経過したときに出力する再リセット信号Re1を入力可能に構成されている。
そして、リセット入力回路22dは、リセット信号回路26からリセット信号Reを入力した場合、又はメインCPU22aから再リセット信号Re1を入力した場合、リセット信号ReをメインCPU22a側(より詳しくは後述する指示回路I)に出力するようになっている。なお、リセット入力回路22dは、リセット信号回路26からのリセット信号Reの入力状態がハイレベル状態を継続する時間T1に、予め決められた遅延時間T2を加えた時間T1+T2の間、(メインCPU22aに対する)リセット信号Reの出力状態をハイレベル状態とするようになっている。そして、リセット入力回路22dは、時間T1+T2の経過後、リセット信号Reの出力状態をハイレベル状態からローレベル状態に遷移させるようになっている。
一方、リセット入力回路22dは、メインCPU22aからの再リセット信号Re1の入力状態がハイレベル状態となった場合、それ以降、(メインCPU22aに対する)リセット信号Reの出力状態をハイレベル状態に維持し続けるようになっている。なお、メインCPU22aは、リセット信号回路26を介して入力したリセット信号Reの入力状態が、ハイレベル状態となった場合には、動作(制御処理)が規制されるようになっている。従って、本実施形態では、リセット信号Reが起動指示信号となる。また、再リセット信号Re1が再起動指示信号となる。
このリセット入力回路22dは、後述する指示回路Iを介してメインCPU22aと接続されており、当該指示回路Iを介してメインCPU22aにリセット信号Reを出力するようになっている。この指示回路Iは、リセット入力回路22dから入力したリセット信号Reの入力状態がローレベル状態からハイレベル状態に遷移した場合、ランダムな遅延時間の間、メインCPU22aに出力するリセット信号Reの出力状態をローレベル状態で維持する。そして、指示回路Iは、当該遅延時間の経過後、メインCPU22aに出力するリセット信号Reの出力状態をローレベル状態からハイレベル状態に遷移させる。同様に、指示回路Iは、リセット入力回路22dから入力したリセット信号Reの入力状態がハイレベル状態からローレベル状態に遷移した場合、ランダムな遅延時間の間、メインCPU22aに出力するリセット信号Reの出力状態をハイレベル状態で維持する。そして、指示回路Iは、当該遅延時間の経過後、メインCPU22aに出力するリセット信号Reの出力状態をハイレベル状態からローレベル状態に遷移させる。
また、主制御基板22には、遊技開始信号生成回路22eが設けられている。遊技開始信号生成回路22eは、図示しないD−フリップフロップ(D−FF)を介してメインCPU22aが出力する遊技可能状態信号K1を入力可能に接続されている。また、遊技開始信号生成回路22eは、メインCPU22aに対して遊技開始信号K2を出力可能に接続されている。遊技開始信号生成回路22eは、起動開始から最初に入力された遊技可能状態信号K1の入力状態がローレベル状態からハイレベル状態に遷移した場合、ランダムな遅延時間の間、遊技開始信号K2の出力状態をローレベル状態で維持する。そして、遊技開始信号生成回路22eは、当該遅延時間の経過後、遊技開始信号K2の出力状態をローレベル状態からハイレベル状態に遷移させる。遊技開始信号生成回路22eは、起動開始から最初に入力された遊技可能状態信号K1の入力状態がハイレベル状態からローレベル状態に遷移した場合、ランダムな遅延時間の間、遊技開始信号K2の出力状態をハイレベル状態で維持する。そして、遊技開始信号生成回路22eは、当該遅延時間の経過後、遊技開始信号K2の出力状態をハイレベル状態からローレベル状態に遷移させる。
また、遊技開始信号生成回路22eは、リセット入力回路22dが出力するリセット信号Reを入力することができるように、リセット入力回路22dと接続されている。なお、リセット入力回路22dは、主制御基板22の外部からリセット信号Reを入力したとき(不正基板が出力するリセット信号Reと同様の機能(役割)を果たす類似の信号(以下、この信号を「不正リセット信号Re2」と示す)を含む)及び再リセット信号Re1を入力したときに、遊技開始信号生成回路22eにリセット信号Reを出力する。そして、遊技開始信号生成回路22eは、リセット入力回路22dからリセット信号Reを入力してから(ハイレベル状態となってから)最初に入力した遊技可能状態信号K1以外の制御信号を入力した場合には、遅延することなく制御信号を出力するようになっている。すなわち、遊技開始信号生成回路22eは、リセット信号Reを入力してから最初に入力した遊技可能状態信号K1以外の制御信号の入力状態がローレベル状態からハイレベル状態に遷移した場合、遅延することなく、メインCPU22aに出力する制御信号の出力状態をローベル状態からハイレベル状態に遷移させる。同様に、遊技開始信号生成回路22eは、リセット信号Reを入力してから最初に入力した遊技可能状態信号K1以外の制御信号の入力状態がハイレベル状態からローレベル状態に遷移した場合、遅延することなく、メインCPU22aに出力する制御信号の出力状態をハイレベル状態からローレベル状態に遷移させる。
なお、メインCPU22aは、初期化処理を終了し、少なくとも大当り判定用乱数の更新を開始して、遊技が可能となった状態となったとき、遊技可能状態信号K1の出力状態をローレベル状態からハイレベル状態に遷移するようになっている。また、遊技開始信号K2がローレベル状態からハイレベル状態に遷移すると、メインCPU22aは、サブ制御基板23に対して制御信号の出力を開始するようになっている。
次に、主制御基板22のメインCPU22aが実行する各種処理について説明する。
まず、電源断処理プログラムに基づく処理について説明する。主制御基板22(メインCPU22a)は、電源断信号Sを入力すると、電源断処理プログラムに基づき、バックアップ処理を実行する。即ち、メインCPU22aは、電源断信号Sの入力を契機に電源断処理プログラムを実行し、電源断信号Sを入力していない場合には電源断処理プログラムを実行しない(バックアップ処理を実行しない)。バックアップ処理にてメインCPU22aは、RAM22cに記憶保持されている大当り判定用乱数の値などの各種制御情報に加えて、レジスタ及びスタックポインタなどの制御情報をRAM22cに記憶保持させる。また、メインCPU22aは、RAM22cのチェックサムを算出して保存する。また、メインCPU22aは、RAM22cにバックアップフラグ(電源投入時にRAM22cに記憶保持されている制御情報が正しいか否かを判定するためのフラグ)を設定する。その後、メインCPU22aは、RAM22cへのアクセスを禁止し、リセット入力回路22d(リセット信号回路26)から出力されたリセット信号Reが入力される(ハイレベル状態になる)まで待機する。そして、リセット信号Reを入力すると、メインCPU22aの動作は規制される。電源断後は、電源基板21のバックアップ用電源(コンデンサ)27からRAM22cへ電源が供給され、電源断時におけるRAM22cの記憶内容がバックアップデータとして保持される。
なお、メインCPU22aは、待機状態となった場合、ウオッチドッグタイマにて待機状態となってからの時間を計測する。そして、メインCPU22aは、待機状態となってから予め決められた時間が経過すると自らリセットを行う。すなわち、メインCPU22aは、起動し、メイン制御プログラムに基づくメイン処理(図3参照)を実行する。これは、メインCPU22aが待機状態のままでいる場合には、電源断信号Sの誤入力でないかと判断して、待機状態を解除するためである。このため、不正基板が電源断信号Sを出力して、メインCPU22aを待機状態にさせた場合であっても、リセット信号Reが入力されなければ、メインCPU22aは、待機状態を解除して、メイン処理を実行することとなる。
そして、メインCPU22aは、待機状態中に、予め決められた時間が経過したことにより、自らリセットを行った場合、再リセット信号Re1をリセット入力回路22dに出力するように構成されている。より詳しくは、メインCPU22aは、待機状態中に、予め決められた時間が経過したことにより、自らリセットを行った場合、時間T1が経過するまでの間、再リセット信号Re1の出力状態がハイレベル状態となるように維持する。なお、再リセット信号Re1の出力により、再びリセットされて、メイン処理が実行されるため、本実施形態では、待機状態中に、予め決められた時間が経過したことにより、自らリセットを行ってメイン処理を実行しなくても良い。
次に、メイン制御プログラムに基づく電源投入時のメイン処理について説明する。
主制御基板22のリセット入力回路22dは、電源供給の開始に伴いリセット信号回路26から出力されたリセット信号Reを入力する(ハイレベル状態となる)と、指示回路Iを介してメインCPU22aに対して所定の規制時間の間、リセット信号Reを継続出力する(ハイレベル状態に維持する)。なお、リセット入力回路22dは、リセット信号回路26から出力されたリセット信号Reと同等の機能を有する不正基板が出力した不正リセット信号Re2を入力した場合にも同様にリセット信号ReをメインCPU22aに対して出力する。メインCPU22aは、指示回路Iを介してリセット信号Reを入力すると(ハイレベル状態になると)、動作が規制される。そして、リセット入力回路22dからのリセット信号Reの出力が停止され(ローレベル状態に遷移され)、メインCPU22aへのリセット信号Reの入力が停止すると(ローレベル状態に遷移すると)、メインCPU22aは起動し、メイン制御プログラムに基づくメイン処理(図3参照)を実行する。
その一方で、リセット入力回路22dは、メインCPU22aから出力された再リセット信号Re1を入力した場合には、指示回路Iに出力するリセット信号Reの出力状態をハイレベル状態に維持し続ける。このため、メインCPU22aは、入力するリセット信号Reの入力状態がハイレベル状態に維持されるため、ずっと動作が規制され続けることとなる。
メインCPU22aは、メイン制御プログラムに基づき、メイン処理を実行すると、まず、タイマ割込み処理の割込みを禁止するとともに(ステップMA1)、CPU内蔵のRAMのアクセスを許可する(ステップMA2)。そして、メインCPU22aは、さらにCPU周辺デバイスとウオッチドッグタイマの初期設定を行い(ステップMA3,MA4)、電源投入時に必要な各種設定を行う。次に、メインCPU22aは、RAMクリアスイッチ36がオンされているか否かを確認する(ステップMA5)。すなわち、メインCPU22aは、RAM22cに記憶保持された各種制御情報(大当り判定用乱数の値、バックアップフラグなど)の消去を指示する初期化指示信号を入力したか否かを判定する。
ステップMA5の判定結果が否定の場合、メインCPU22aは、パチンコ機10の電源断時にRAM22cに設定されるバックアップフラグを確認し、該バックアップフラグが正常か否かを判定する(ステップMA6)。すなわち、正常にバックアップの処理が行われているか否かを判定する。そして、メインCPU22aは、ステップMA6の判定結果が肯定の場合にはステップMA7に移行し、ステップMA6の判定結果が否定の場合にはステップMA16に移行する。
ステップMA7に移行したメインCPU22aは、RAM22cのチェックサムを算出し、続いてステップMA7で算出したチェックサムが電源断時に算出したチェックサムの値と一致するか否かを判定する(ステップMA8)。このように、ステップMA6及びステップMA8の処理により、メインCPU22aは、RAM22cに記憶保持された制御情報(記憶内容)があるか否か、また記憶保持された制御情報がある場合には記憶保持された制御情報に異常があるか否かを判定する。そして、これらの判定結果が肯定、即ち、RAM22cに記憶保持された制御情報に異常がある場合、メインCPU22aはステップMA16に移行してRAM22cを初期化する。
なお、ステップMA6又はステップMA8の判定結果が肯定となる場合としては、電源断時に電源断処理プログラムを実行したものの、バックアップ処理が正常に行われなかった場合やバックアップ処理後にノイズ等によって、記憶内容に異常が発生した場合がある。このような場合にはバックアップフラグやチェックサムが異常(異常値)を示すことになる。また、電源が遮断されていない時(電源断信号Sを入力せず)に、メインCPU22aがリセット信号Reを入力し、メイン制御プログラムを最初から実行した場合(即ち、メインCPU22aが再起動した場合)がある。この場合にはバックアップ処理を実行していないことから、バックアップフラグは設定されない。メインCPU22aが再起動する要因としては、電源基板21のリセット信号回路26の誤動作か、又はリセット信号Reと同様の機能(役割)を果たす類似の信号(不正リセット信号Re2)が不正に取り付けられた不正基板から出力されたことが考えられる。従って、本実施形態では、不正リセット信号Re2は、起動指示信号となる。なお、電源断信号Sが入力されないにもかかわらず、電源電圧V2が所定の電圧V10以下となるのは、不正基板により意図的に主制御基板22への電源が遮断されることが考えられる。
メイン制御プログラムの説明に戻り、メインCPU22aは、ステップMA8の判定結果が肯定の場合にはステップMA9に移行し、ステップMA8の判定結果が否定の場合にはステップMA16に移行する。メインCPU22aは、ステップMA5の判定結果が肯定、ステップMA6の判定結果が否定、又はステップMA8の判定結果が否定の場合にはRAM22cに記憶されているバックアップデータを消去し、初期値に基づきパチンコ機10を起動させる(ステップMA16以降の処理)。その一方で、メインCPU22aは、ステップMA8の判定結果が肯定の場合には前記バックアップデータの設定値に基づきパチンコ機10を起動させる(ステップMA9以降の処理)。
ステップMA8の判定結果が肯定の場合、メインCPU22aは、RAMクリアスイッチ36がオンされておらず、かつ正常にバックアップが行われていることから、ステップMA9以降で復電時の処理を行う。ステップMA9にてメインCPU22aは、電源断前のスタックポインタを復帰させる。次に、メインCPU22aは、サブ制御基板23に対して電源断時の遊技状態(確率変動状態や変動時間短縮状態などを含む)に復帰させるための復帰コマンドを送信する(ステップMA10)。この復帰コマンドによりサブ制御基板23は、電源断時の遊技状態を報知させる。次に、メインCPU22aは、割込みのインターバルタイマを設定(例えば、4ms)するとともに(ステップMA11)、電源断前のレジスタを復帰する(ステップMA12)。次に、メインCPU22aは、電源断前に割込みが許可されていたか否かを判定する(ステップMA13)。メインCPU22aは、ステップMA13の判定結果が肯定の場合には割込み許可を設定するとともに(ステップMA14)、前記判定結果が否定の場合には割込みを許可せずにステップMA15に移行し、割込みの許可/不許可(禁止)を電源断前の状態に復帰させる。そして、メインCPU22aは、ステップMA15にて電源断前のアドレスを設定し、その設定したアドレスへ戻る。
一方、ステップMA16に移行したメインCPU22aは、RAM22cの初期化処理を行う。この処理は、出荷状態からの最初の電源投入時、RAMクリアスイッチ36がオンされた時(初期化指示信号を入力した場合)、及びバックアップが異常である時に行う。また、初期化処理は、電源断信号Sの入力後、所定時間待機状態が継続して、メインCPU22aが自らリセット(再起動)してメイン処理を実行した際、不正に初期化指示信号が入力されていれば、実行される場合もある。ステップMA16にてメインCPU22aは、RAM22cを全てクリアする。すなわち、RAM22cの全記憶領域を0(零)クリアする。このステップMA16の処理により、大当り判定用乱数の値には、初期値として「0(零)」が設定されることとなる。次に、メインCPU22aは、スタックポインタに8000Hを設定する(スタックポインタを初期設定する)とともに(ステップMA17)、RAM22cに初期値を設定する(ステップMA18)。このステップMA16〜MA18の処理は初期化処理となる。
次に、メインCPU22aは、割込みのインターバルタイマ(例えば、4ms)を設定する(ステップMA19)。そして、メインCPU22aは、ステップMA20で割込みを禁止に設定するとともに、ステップMA21で待機時間乱数更新処理を実行し、インターバルタイマ経過後、ステップMA22で割込みを許可に設定する。ステップMA21で実行される待機時間乱数更新処理は、次の割込み時間が経過する迄の待機時間中に乱数値を更新するための処理である。この待機時間乱数更新処理にて、変動パターンを決定するために用いる変動パターン振分け用乱数や大当り図柄用乱数の初期値を決定するために用いられる大当り図柄初期値用乱数などの乱数を更新するようになっている。
ステップMA22の終了後、メインCPU22aは、遊技開始信号生成回路22eに対して遊技可能状態信号K1を出力すると共に(ステップMA23)、メイン処理を終了し、続いて所定周期毎にタイマ割込み処理を実行する。このタイマ割込み処理にてメインCPU22aは、大当り判定用乱数を更新し、遊技に関する処理を実行するようになっている。つまり、メインCPU22aが遊技可能状態信号K1を出力すると同時に、主制御基板においては大当り判定用乱数が更新されて遊技可能な状態となるようになっている。
次に、タイマ割込み処理を図4にしたがって説明する。
タイマ割込み処理は、パチンコ遊技機10の起動後、所定の制御周期(例えば、4ms)毎に繰り返し実行する処理であり、このタイマ割込み処理にて各種遊技に係る処理を実行する。
メインCPU22aは、タイマ割込み処理を実行すると、まず、ウオッチドッグタイマをクリアする(ステップMB1)。次に、メインCPU22aは、遊技開始信号生成回路22eから遊技開始信号K2が既に入力されたか(遊技開始信号K2の入力状態が既にハイレベル状態となったか)否かを判定する(ステップMB2)。この判定結果が否定の場合、メインCPU22aは、現在の遊技開始信号K2の入力状態がハイレベル状態であるか否かを判定する(ステップMB3)。すなわち、メインCPU22aは、今回のタイマ割込み処理において、遊技開始信号K2の入力状態がローレベル状態からハイレベル状態に遷移したか否かを判定する。この判定結果が肯定の場合、メインCPU22aは、RAM22cを初期化したことに基づく各種制御信号をサブ制御基板23に対して出力する(ステップMB4)。メインCPU22aは、ステップMB4の処理で、例えば、サブ制御基板23に対して初期図柄を表示させるための制御コマンド(出力開始信号)を出力する。
ステップMB2の判定結果が肯定の場合、又はステップMB4の処理が終了すると、メインCPU22aは、各種センサからの信号の入力状態を読み込む(ステップMB5)。そして、メインCPU22aは、読み込んだ入力状態を各種センサ別に保存する(ステップMB6)。次に、メインCPU22aは、各種センサのうち入賞口の入賞検知センサから入賞検知信号を入力したか否かを判定する(ステップMB7)。この判定結果が肯定の場合、メインCPU22aは、賞球払出指示コマンドを図示しない払出制御基板に出力する(ステップMB8)。払出制御基板は、当該賞球払出指示コマンドを入力すると、賞球払出指示コマンドに基づき賞球を払い出させるように球払出装置を制御する。
ステップMB7の判定結果が否定の場合、及びステップMB8の処理が終了すると、メインCPU22aは、図柄変動ゲームに係る特別図柄ゲーム処理など各種遊技に関する処理を実行する(ステップMB9)。メインCPU22aは、このステップMB9の処理において、大当り判定、最終的に表示させる最終停止図柄の決定、変動パターンの決定及び大当り遊技状態の付与などの各種遊技に関する処理を実行するようになっている。
例えば、メインCPU22aは、始動入賞口19の入賞検知センサ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は、ステップMB9にて遊技に関する各種処理を実行する。
そして、メインCPU22aは、ステップMB3の判定結果が否定の場合、又はステップMB9の処理を終了すると、乱数更新処理を実行する(ステップMB10)。この乱数更新処理にて、メインCPU22aは、少なくとも大当り判定用乱数の更新を行う。本実施形態では、大当り判定用乱数及び大当りの図柄組み合わせを決定するための大当り図柄用乱数を更新するようになっている。メインCPU22aは、ステップMB10の処理が終了すると、図5に示す待機処理を実行し(ステップMB11)、タイマ割込み処理を終了する。
このように、メインCPU22aは、タイマ割込み処理において、遊技開始信号K2を入力する前から大当り判定用乱数の更新を開始する一方、遊技開始信号K2を入力する前は、入賞検知信号を入力しないようになっている。すなわち、遊技可能となっている状態ながら、遊技に関する処理の実行を規制している。従って、メインCPU22aは、タイマ割込み処理において、遊技開始信号K2を入力する前、大当り判定用乱数の更新を開始して遊技可能な状態とする一方で、遊技の開始を規制している。
そして、メインCPU22aは、図5に示す待機処理を実行すると、まず、割込みを禁止に設定する(ステップMC1)とともに、待機時間乱数更新処理を実行する(ステップMC2)。待機処理中に実行される待機時間乱数更新処理は、タイマ割込み処理のステップMB10の実行後、次の割込み時間が経過する迄の待機時間中に乱数値を更新するための処理であり、この処理に係る時間は図柄変動ゲームの遊技演出に係わる処理(ステップMB10迄の処理)の終了時点に応じて可変する可変時間となっている。すなわち、例えば遊技が行われていない時など遊技演出に係わる処理(ステップMB10までの処理)が早く終了する場合には待機時間乱数更新処理の処理時間が長くなり、図柄変動ゲームの開始時など処理量が多く遊技演出に係わる処理(ステップMB10までの処理)に時間を要する場合には待機時間乱数更新処理の処理時間が短くなる。この待機時間乱数更新処理にて、変動パターンを決定するために用いる変動パターン振分け用乱数や大当り図柄用乱数の初期値を決定するために用いられる大当り図柄初期値用乱数などの乱数を更新するようになっている。その後、メインCPU22aは、割込みを許可に設定する(ステップMC3)。そして、メインCPU22aはウオッチドッグタイマをクリアしてから所定時間(本実施形態では、4ms)経過したか否かを判定する(ステップMC4)。この判定結果が否定の場合、メインCPU22aは、再びステップMC1の処理に戻り、ステップMC1〜MC4を繰り返し実行する。一方、ステップMC4の判定結果が肯定の場合、メインCPU22aは、待機処理を終了し、タイマ割込み処理を終了する。
また、タイマ割込処理実行中に、RAM22cへの電源電圧の供給が停止して、ウオッチドッグタイマの値が予め決められた所定値(例えば、4ms)を経過すると、メインCPU22aは、RAM22cへの電源電圧の供給が再開するのを待って、RAM22cの記憶内容を初期化するようになっている。詳しく説明すると、メインCPU22aは、RAM22cへの電源電圧の供給が停止して、RAM22cから乱数などの制御情報を読み出せなくなると、処理を進行できなくなる。その状態でいると、ウオッチドッグタイマの値が予め決められた所定値を経過することとなる。ウオッチドッグタイマの値が予め決められた所定値を経過すると、メインCPU22aは、RAM22cへ供給される電源電圧が所定の電圧V10よりも大きくなったとき、メイン処理を実行して、RAM22cの初期化処理を実行する。すなわち、メインCPU22aは、メイン処理のステップMA1〜MA6,MA16〜MA23を実行するようになっている。なお、本実施形態では、メインCPU22aは、待機状態から所定時間経過することによりリセットしてメイン処理を実行する場合には、再リセット信号Re1をリセット入力回路22dに出力するようになっている。このため、リセット入力回路22dは、ハイレベル状態のリセット信号ReをメインCPU22aに対して出力し続けることとなる。つまり、初期化されたとしても、メインCPU22aの動作が規制されて動かなくなるようになっている。
次に、サブ制御基板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の起動直後に制御コマンドを入力しても、制御コマンドに応じた処理を確実に実行することができる。
次に、遊技開始信号生成回路22eについて説明する。以下、遊技開始信号生成回路22eについて図6に基づき詳しく説明する。
遊技開始信号生成回路22eは、主制御基板22に設けられており、主制御基板22のメインCPU22aに接続されている。そして、遊技開始信号生成回路22eは、当該メインCPU22aから図示しないD−FFを介して遊技可能状態信号K1が入力されるようになっている。遊技開始信号生成回路22eには、タイミングジェネレータ51(Timing Generator)と遅延回路52が設けられており、当該タイミングジェネレータ51及び遅延回路52にメインCPU22aからの遊技可能状態信号K1が入力されるようになっている。
遅延回路52は、タイミングジェネレータ51と接続されている。そして、遅延回路52は、メインCPU22aから入力した遊技可能状態信号K1の信号レベルが異なる状態に遷移した場合、タイミングジェネレータ51からの指示(信号)を受けた後にメインCPU22a側に出力する遊技開始信号K2の信号レベルを異なる状態に遷移させる。すなわち、遅延回路52は、遊技可能状態信号K1の入力時から遅延してメインCPU22a側に遊技開始信号K2として出力するようになっている。なお、遊技可能状態信号K1及び遊技開始信号K2の信号レベルが異なる状態に遷移するとは、ハイレベル状態からローレベル状態へ遷移すること又はローレベル状態からハイレベル状態へ遷移することである。
そして、タイミングジェネレータ51は、遊技開始信号生成回路22e内に設けられた発振回路53(oscillator)に接続されている。発振回路53は、内部クロック信号を生成し、当該内部クロック信号を所定の周期毎に出力している。タイミングジェネレータ51は、この内部クロック信号を入力し、この内部クロック信号に基づき遊技開始信号生成回路22eにおいて同期を取っている。また、発振回路53は、遊技開始信号生成回路22eに設けられた第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の動作中、繰り返し実行する。なお、カウンタ値の更新周期(すなわち、内部クロック信号の周期)は、大当り判定用乱数の更新周期(本実施形態では、4ms)と異なるようになっている。具体的には、カウンタ値の更新周期の方が遙かに早くなっている。
また、タイミングジェネレータ51は、遊技開始信号生成回路22eに設けられたレジスタ55(10bit register)と接続されている。レジスタ55は、カウンタ値を入力可能に第1カウンタ54に接続されている。そして、タイミングジェネレータ51は、遊技開始信号生成回路22eに入力される遊技可能状態信号K1の信号レベルが異なる状態に遷移すると、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示(信号)を送るようになっている。このレジスタ55は、タイミングジェネレータ51からの当該指示を受けると、第1カウンタ54のカウンタ値を記憶するようになっている。すなわち、レジスタ55は、遊技開始信号生成回路22eに入力される遊技可能状態信号K1の信号レベルが異なる状態に遷移したときにおける第1カウンタ54のカウンタ値を記憶するようになっている。
また、タイミングジェネレータ51は、遊技開始信号生成回路22eに設けられた第2カウンタ56(10bit binary counter2)と接続されている。第2カウンタ56は、遊技開始信号生成回路22eに設けられた分周回路60から所定の周期を有する更新用クロック信号を入力するようになっている。そして、第2カウンタ56は、当該更新用クロック信号を入力する毎に(更新用クロック信号の周期毎に)、予め定められた数値範囲内(例えば、「0」〜「1023」の全1024通りの整数)で判定値を1加算して更新するようになっている。すなわち、第2カウンタ56は、更新を開始する際の値(初期値)を最小値である「0」とし、該初期値から順に「0」→「1」→…→「1022」→「1023」というように判定値を1加算して更新するようになっている。なお、本実施形態では、判定値の更新周期(更新用クロック信号の周期)は、大当り判定用乱数の更新周期(本実施形態では、4ms)と異なるように設定されている。具体的には、判定値の更新周期(本実施形態では、1ms)の方が早くなっている。
そして、タイミングジェネレータ51は、遊技開始信号生成回路22eに入力される遊技可能状態信号K1の信号レベルが異なる状態に遷移すると、第2カウンタ56に対して、初期値「0」から判定値を更新するように指示(信号)を送るようになっている。すなわち、第2カウンタ56は、レジスタ55にカウンタ値が記憶された後から判定値の更新を開始するようになっている。そして、第2カウンタ56は、判定値を更新する毎に、判定値がカウンタ値と一致するか否か判定し、判定値がカウンタ値と一致すると判定すると、タイミングジェネレータ51にその旨の通知(信号)を送る。
そして、タイミングジェネレータ51は、第2カウンタ56から判定値とカウンタ値と一致したとの通知を受け取ると、遅延回路52に対してメインCPU22a側に出力する遊技開始信号K2の信号レベルを異なる状態に遷移するように指示する。これにより、遅延回路52は、メインCPU22a側に出力する遊技開始信号K2の信号レベルを異なる状態に遷移する。
以上のことから、本実施形態の遊技開始信号生成回路22eは、不正防止手段となる。また、遊技開始信号生成回路22eの第1カウンタ54がカウンタ値を更新する第1更新手段(不正防止手段用更新手段)となる。また、遊技開始信号生成回路22eのレジスタ55がカウンタ値を取得する取得手段(不正防止手段用取得手段)となる。また、遊技開始信号生成回路22eの第2カウンタ56が判定値を更新する第2更新手段(不正防止手段用第2更新手段)となる。また、遊技開始信号生成回路22eの遅延回路52が、遊技開始信号K2を出力する遷移手段(不正防止手段用遷移手段)となる。また、遊技開始信号生成回路22eの発振回路53が、第1カウンタ54に内部クロック信号を出力する第1信号生成手段(不正防止手段用第1信号生成手段)となり、遊技開始信号生成回路22eに接続されている外部発振回路70が、第2カウンタ56に外部クロック信号を出力する第2信号生成手段(不正防止手段用第2信号生成手段)となる。また、遊技開始信号生成回路22eのタイミングジェネレータ51が、遅延回路52に対して遊技開始信号K2の信号レベルを異なる状態に遷移させることを指示するタイミング指示手段(不正防止手段用タイミング指示手段)となる。
このように、遊技可能状態信号K1の信号レベルが異なる状態に遷移したとき、レジスタ55に第1カウンタ54のカウンタ値を記憶させると共に、第2カウンタ56に判定値を更新させる。タイミングジェネレータ51は、判定値とカウンタ値が一致したとき、遅延回路52に遊技開始信号K2の信号レベルを異なる状態に遷移させるように指示する。このため、遊技可能状態信号K1の信号レベルが異なる状態に遷移したときにおけるカウンタ値によって遊技開始信号K2の遅延時間が左右される。
そして、第1カウンタ54は、遊技開始信号生成回路22e、すなわち、主制御基板22に電源が供給されてから、カウンタ値を更新し続ける。このため、遊技可能状態信号K1の信号レベルが異なる状態に遷移したときのカウンタ値は、遊技可能状態信号K1の信号レベルが異なる状態に遷移するときが一定でないので、結果的に乱数となり、遊技開始信号K2の遅延時間が一定でなくなる。すなわち、遊技開始信号生成回路22eに入力された遊技可能状態信号K1の信号レベルが異なる状態に遷移したときから、遊技開始信号生成回路22eがメインCPU22a側に出力する遊技開始信号K2の信号レベルを異なる状態に遷移させるタイミングまでの遅延時間は、一定でなくなる。
このため、メインCPU22aが遊技可能状態信号K1を出力してから遊技開始信号K2を入力するまでの時間が一定でなくなり、サブ制御基板23に出力する開始信号の出力開始時期が一定でなくなる。その一方、メインCPU22aは、遊技可能状態信号K1を出力した後から遊技開始信号K2を入力する前であっても大当り判定用乱数の更新を開始するため、サブ制御基板23への開始信号の出力時期から大当り判定値を取得するまでの時間は一定でなくなり、大当りとなるタイミングを把握できなくなる。従って、不正基板が、不正に開始信号(例えば、電源投入初期時コマンドのINT信号等)の出力時期を読み取って出力時期からの時間を計測しても大当りとなるタイミングを把握することができなくなり、不正を防止できる。
また、本実施形態の発振回路53は、コンデンサ、キャパシタ、抵抗などから構成されており、これらの性能には通常ばらつきがあり、また、電源が供給されていないときにおいてコンデンサの残留電荷などにも通常ばらつきがある。このため、電源投入直後において、発振回路53が生成する内部クロック信号の周期は、一定でない場合が多い。また、電源投入から遊技開始信号生成回路22eに遊技可能状態信号K1が入力されるまでの間に、第1カウンタ54のカウンタ値は、少なくとも複数回更新されるようになっている。すなわち、発振回路53は、電源投入から遊技開始信号生成回路22eに遊技可能状態信号K1が入力されるまでの間に、複数回内部クロック信号を入力する程度の速さの周期を有する内部クロック信号を生成するようになっている。以上のことから、電源投入後から最初に遊技可能状態信号K1の信号レベルが異なる状態に遷移したときに取得するカウンタ値にばらつきが生じる可能性が高い。このため、遅延時間も異なり、電源投入後から最初の大当りとなるタイミングを把握することができにくくなる。
また、本実施形態において、カウンタ値は遊技開始信号生成回路22e内部で更新されており、また、カウンタ値の更新周期は、環境変化やICの個体差により変化することがあるため、カウンタ値を把握することは困難である。また、発振回路53が出力する内部クロック信号の周期、すなわち、カウンタ値の更新周期と、大当り判定用乱数の更新周期は同期していないため、大当り判定用乱数を把握しつつ、カウンタ値を把握することは極めて困難となる。同様に、カウンタ値の更新周期と、判定値の更新周期も異なるため(非同期であるため)、判定値を把握しつつ、カウンタ値を把握することは極めて困難となる。
なお、本実施形態では、図示はしないが、遊技開始信号生成回路22eの遅延回路52は、リセット入力回路22dからリセット信号Reを入力可能に構成されている。そして、遅延回路52は、リセット信号Reを入力してから最初の遊技可能状態信号K1の入力のみ遅延させるようになっている。すなわち、遅延回路52は、リセット信号Reを入力してから最初に遊技可能状態信号K1がローレベル状態からハイレベル状態となったときのみ遅延させるようになっている。
なお、遊技開始信号生成回路22eに設けられた分周回路60は、遊技開始信号生成回路22eの外部であって、主制御基板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について図7に基づき説明する。なお、本実施形態では、指示回路Iと遊技開始信号生成回路22eと同一の回路構成としているため、遊技開始信号生成回路22eと同様の構成は、遊技開始信号生成回路22eと同じ符号を付してその詳細な説明は省略又は簡略する。
指示回路Iは、主制御基板22に設けられており、主制御基板22のリセット入力回路22dに接続されている。そして、指示回路Iのタイミングジェネレータ51及び遅延回路52には、リセット入力回路22dからのリセット信号Reが入力されるようになっている。そして、遅延回路52は、リセット入力回路22dから入力したリセット信号Reの信号レベルが異なる状態に遷移した場合、タイミングジェネレータ51からの指示(信号)を受けた後にメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移させる。すなわち、遅延回路52は、入力したリセット信号Reを遅延してメインCPU22a側に出力するようになっている。
また、タイミングジェネレータ51は、指示回路Iに設けられた発振回路53に接続されている。発振回路53は、内部クロック信号を生成し、当該内部クロック信号を所定の周期毎に出力している。タイミングジェネレータ51は、この内部クロック信号を入力し、この内部クロック信号に基づき指示回路Iにおいて同期を取っている。また、発振回路53は、指示回路Iに設けられた第1カウンタ54に接続されており、第1カウンタ54は、発振回路53から内部クロック信号を入力する。そして、第1カウンタ54は、当該内部クロック信号を入力する毎に(内部クロック信号の周期毎に)、予め定められた数値範囲内(例えば、「0」〜「1023」の全1024通りの整数)でカウンタ値を1加算して更新する。
また、タイミングジェネレータ51は、指示回路Iに設けられたレジスタ55と接続されている。レジスタ55は、カウンタ値を入力可能に第1カウンタ54に接続されている。そして、タイミングジェネレータ51は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移すると、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示(信号)を送るようになっている。このレジスタ55は、タイミングジェネレータ51からの当該指示を受けると、第1カウンタ54のカウンタ値を記憶するようになっている。すなわち、レジスタ55は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移したときにおける第1カウンタ54のカウンタ値を記憶するようになっている。
また、タイミングジェネレータ51は、指示回路Iに設けられた第2カウンタ56と接続されている。第2カウンタ56は、指示回路Iに設けられた分周回路60から所定の周期を有する更新用クロック信号を入力するようになっている。そして、第2カウンタ56は、当該更新用クロック信号を入力する毎に(更新用クロック信号の周期毎に)、予め定められた数値範囲内(例えば、「0」〜「1023」の全1024通りの整数)で判定値を1加算して更新するようになっている。
そして、タイミングジェネレータ51は、指示回路Iに入力されるリセット信号Reの信号レベルが異なる状態に遷移すると、第2カウンタ56に対して、初期値「0」から判定値を更新するように指示(信号)を送るようになっている。すなわち、第2カウンタ56は、レジスタ55にカウンタ値が記憶された後から判定値の更新を開始するようになっている。そして、第2カウンタ56は、判定値を更新する毎に、判定値がカウンタ値と一致するか否か判定し、判定値がカウンタ値と一致すると判定すると、タイミングジェネレータ51にその旨の通知(信号)を送る。
そして、タイミングジェネレータ51は、第2カウンタ56から判定値とカウンタ値と一致したとの通知を受け取ると、遅延回路52に対してメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移するように指示する。これにより、遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移する。
以上のことから、本実施形態の指示回路Iの第1カウンタ54がカウンタ値を更新する指示回路用第1更新手段となる。また、指示回路Iのレジスタ55がカウンタ値を取得する指示回路用取得手段となる。また、指示回路Iの第2カウンタ56が判定値を更新する指示回路用第2更新手段となる。また、指示回路Iの遅延回路52が、リセット信号Reを出力する指示回路用遷移手段となる。また、指示回路Iの発振回路53が、第1カウンタ54に内部クロック信号を出力する指示回路用第1信号生成手段となり、指示回路Iに接続されている外部発振回路70が、第2カウンタ56に外部クロック信号を出力する指示回路用第2信号生成手段となる。また、指示回路Iのタイミングジェネレータ51が、遅延回路52に対してリセット信号Reの信号レベルを異なる状態に遷移させることを指示する指示回路用タイミング指示手段となる。
このように、遊技開始信号生成回路22eと同一回路を指示回路Iとして使用するため、遊技開始信号生成回路22eを使用した場合と同様の理由で、入力されるリセット信号Reの信号レベルが異なる状態に遷移したときにおけるカウンタ値によって出力されるリセット信号Reの遅延時間が左右される。すなわち、指示回路Iに入力されたリセット信号Reの信号レベルが異なる状態に遷移したときから、指示回路IがメインCPU22a側に出力するリセット信号Reの信号レベルを異なる状態に遷移させるタイミングまでの遅延時間は、一定でなくなる。
このため、リセット信号Reを主制御基板22に入力してからメインCPU22aが起動を開始し、大当り判定用乱数の更新を開始するまでの時間が一定でなくなり、リセット信号Reを主制御基板22に入力してから時間を計測しても、大当りとなるタイミングを把握できなくなる。従って、不正リセット信号Re2を主制御基板22に入力してからの時間を計測しても大当りとなるタイミングを把握することができにくくなり、不正を防止できる。
また、本実施形態の発振回路53が生成する内部クロック信号の周期は、一定でない場合が多い。また、電源投入毎に同一タイミングでリセット信号回路26がリセット信号Reを出力した場合であっても、電源投入からリセット信号Reが指示回路Iに入力されるまでの時間は一定でない可能性が高い。また、電源投入から指示回路Iにリセット信号Reが入力されるまでの間に、第1カウンタ54のカウンタ値は、少なくとも複数回更新されるようになっている。以上のことから、電源投入後から最初にリセット信号Reの信号レベルが異なる状態に遷移したときに取得するカウンタ値にばらつきが生じる可能性が高い。このため、遅延時間も異なり、電源投入後から最初の大当りとなるタイミングを把握することができにくくなる。
また、指示回路Iは、リセット信号Reの信号レベルが異なる状態に遷移するたびに、当該遷移するタイミングを遅延させる。このため、リセット信号Reの入力時間が短すぎた場合、指示回路Iからリセット信号Reが正常に出力されない場合がある。具体的には、指示回路Iに入力されるリセット信号Reがハイレベル状態に遷移したときからローレベル状態に遷移するまでの時間が、指示回路Iに入力されるリセット信号Reがハイレベル状態に遷移してから遅延回路52が出力するリセット信号Reをハイレベル状態に遷移するまでの時間よりも短い場合、正常に出力されない場合がある。また、同様に、指示回路Iに入力されるリセット信号Reがローレベル状態に遷移したときからハイレベル状態に遷移するまでの時間が、指示回路Iに入力されるリセット信号Reがローレベル状態に遷移してから遅延回路52が出力するリセット信号Reをローレベル状態に遷移するまでの時間よりも短い場合も、正常に出力されない場合がある。このため、リセット信号Reの最大遅延時間を予め把握しておかなければ、正確なリセット信号Reの入力時間を設定することができなくなる。従って、入力時間が短い不正リセット信号Re2の入力を防止できる。また、同様にして、瞬間的にハイレベル状態に遷移した後、ローレベル状態に遷移するようなノイズを除去することが可能となる。
また、本実施形態において、カウンタ値は指示回路I内部で更新されており、また、カウンタ値の更新周期は、環境変化やICの個体差により変化することがあるため、カウンタ値を把握することは困難である。また、発振回路53が出力する内部クロック信号の周期、すなわち、カウンタ値の更新周期と、大当り判定用乱数の更新周期は同期していないため、大当り判定用乱数を把握しつつ、カウンタ値を把握することは極めて困難となる。同様に、カウンタ値の更新周期と、判定値の更新周期も異なるため(非同期であるため)、判定値を把握しつつ、カウンタ値を把握することは極めて困難となる。
なお、指示回路Iに設けられた分周回路60は、遊技開始信号生成回路22eの分周回路60と同一の構成であるため、同じ番号を付して詳細な説明は省略する。
次に、指示回路Iによるリセット信号Reの遅延タイミングと、遊技開始信号生成回路22eによる遊技開始信号K2の遅延タイミングについて図8に基づき説明する。
パチンコ機10へ電源投入がされると(時点A1)、指示回路Iに入力されるリセット信号Reの信号レベルは、ローレベル状態からハイレベル状態に遷移する。これにより、指示回路Iのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けて指示回路Iのレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、指示回路Iのタイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて指示回路Iの第2カウンタ56は、分周回路60から入力した更新用クロック信号の周期毎に判定値を初期値から更新する。そして、指示回路Iの第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けた指示回路Iのタイミングジェネレータ51は、遅延回路52に出力するリセット信号Reの信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた指示回路Iの遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルをローレベル状態からハイレベル状態に遷移させる(時点A2)。すなわち、指示回路Iの遅延回路52は、ハイレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α1だけメインCPU22a側に出力するリセット信号Reの信号レベルをハイレベル状態に遷移させるタイミングを遅延させる。メインCPU22aに入力されるリセット信号Reの信号レベルがハイレベル状態となると、メインCPU22aの起動が規制される。
そして、電源投入後から時間T1+T2経過後、指示回路Iに入力されるリセット信号Reの信号レベルがハイレベル状態からローレベル状態に遷移する(時点A3)。これにより、指示回路Iのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けて指示回路Iのレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、指示回路Iのタイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて指示回路Iの第2カウンタ56は、更新用クロック信号の周期毎に判定値を初期値から更新する。そして、指示回路Iの第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けた指示回路Iのタイミングジェネレータ51は、遅延回路52に出力するリセット信号Reの信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた指示回路Iの遅延回路52は、メインCPU22a側に出力するリセット信号Reの信号レベルをハイレベル状態からローレベル状態に遷移させる(時点A4)。すなわち、指示回路Iの遅延回路52は、ローレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α2だけメインCPU22a側に出力するリセット信号Reの信号レベルをローレベル状態に遷移させるタイミングを遅延させる。
メインCPU22aに入力されるリセット信号Reの信号レベルがローレベル状態に遷移すると、メインCPU22aの規制が解除され、起動を開始する。その際、メインCPU22aは、初期化指示信号を入力していた場合又はRAM22cの記憶内容が異常である場合、初期化処理を行う。これにより、メインCPU22aは、タイマ割込み処理を実行すると、大当り判定用乱数を初期値「0」から更新する。なお、以降では、初期化処理を行うものとして説明する。このため、リセット入力回路22dの出力時間T1+T2に、指示回路Iの遅延時間α2と、初期化処理に要する時間と、大当り判定用乱数の値が初期値「0」から大当り判定値(「7」又は「511」)に到達するまでの時間を加算した時間が電源投入から経過した時に、大当り判定用乱数を取得すれば、大当りとなる。しかしながら、遅延時間α2は一定でないために、電源投入から大当りとなるタイミングは一定でなくなり、電源投入から時間を計測しても大当りとなるタイミングを把握することができず、不正を防止できる。
なお、初期化指示信号を入力せず、かつ、RAM22cの記憶内容が正常である場合、メインCPU22aは、バックアップされた記憶内容を復旧して通常処理に移行する。これにより、メインCPU22aは、大当り判定用乱数をバックアップされていた値から更新し続ける。この場合、さらにバックアップ内容を知らなくては大当りとなるタイミングを把握することができないので、一層不正ができにくくなる。
そして、メインCPU22aは、メイン処理において遊技可能状態信号K1を出力すると共に(時点A5)、タイマ割込み処理を実行し、大当り判定用乱数を更新しつつ、遊技開始信号K2が入力されるまで待機する。すなわち、メインCPU22aは、遊技開始信号K2が入力されるまで大当り判定用乱数を更新する一方で、遊技に関する各種処理を実行しないようにする。
遊技可能状態信号K1がD−FFを介して遊技開始信号生成回路22eに入力されると、遊技開始信号生成回路22eに入力される遊技可能状態信号K1の信号レベルがローレベル状態からハイレベル状態に遷移する。これにより、遊技開始信号生成回路22eのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けて遊技開始信号生成回路22eのレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、遊技開始信号生成回路22eのタイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて遊技開始信号生成回路22eの第2カウンタ56は、分周回路60から入力した更新用クロック信号の周期毎に判定値を初期値から更新する。そして、遊技開始信号生成回路22eの第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けた遊技開始信号生成回路22eのタイミングジェネレータ51は、遅延回路52に遊技開始信号K2の信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた遊技開始信号生成回路22eの遅延回路52は、メインCPU22a側に出力する遊技開始信号K2の信号レベルをローレベル状態からハイレベル状態に遷移させる(時点A6)。すなわち、遊技開始信号K2の遅延回路52は、ハイレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α3だけメインCPU22a側に出力する遊技開始信号K2の信号レベルをハイレベル状態に遷移させるタイミングを遅延させる。メインCPU22aに入力される遊技開始信号K2の信号レベルがハイレベル状態となると、タイマ割込み処理において、サブ制御基板23に出力開始信号を出力し(時点A7)、以降、遊技に関する各種処理を実行する。すなわち、遊技者が遊技をすることが可能な状態となる。
このため、メインCPU22aが遊技可能状態信号K1を出力したときから大当り判定用乱数の値が初期値「0」から大当り判定値(「7」又は「511」)に到達するまでの時間を計測すれば、大当りとなるタイミングを特定することができる。しかしながら、遊技可能状態信号K1は主制御基板22の外部に出力されず、外部のサブ制御基板23には、遊技可能状態信号K1の出力から遅延時間α3経過後に出力開始信号が出力されるだけである。そして、当該遅延時間α3は一定でないために、サブ制御基板23が出力開始信号を入力してから大当りとなるタイミングは一定でない。従って、メインCPU22aからサブ制御基板23への出力開始信号の入力時から時間を計測しても大当りとなるタイミングを把握することができず、主制御基板22から出力される制御信号を読み取る不正基板による不正を防止できる。
次に、パチンコ機10の動作中に、不正基板から不正リセット信号Re2が主制御基板22に入力された場合について説明する。
不正基板から入力された不正リセット信号Re2の信号レベルが、ローレベル状態からハイレベル状態に遷移すると(時点A7)、指示回路Iのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けて指示回路Iのレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、指示回路Iのタイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて指示回路Iの第2カウンタ56は、分周回路60から入力した更新用クロック信号の周期毎に判定値を初期値から更新する。そして、指示回路Iの第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、タイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けた指示回路Iのタイミングジェネレータ51は、遅延回路52にメインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた指示回路Iの遅延回路52は、メインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルをローレベル状態からハイレベル状態に遷移させる(時点A8)。すなわち、指示回路Iの遅延回路52は、ハイレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α4だけメインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルをハイレベル状態に遷移させるタイミングを遅延させる。メインCPU22aに入力されるリセット信号Reの信号レベルがハイレベル状態となると、メインCPU22aの起動が規制される。
そして、不正基板から入力された不正リセット信号Re2の信号レベルが、ハイレベル状態からローレベル状態に遷移すると(時点A9)、指示回路Iのタイミングジェネレータ51は、レジスタ55に第1カウンタ54のカウンタ値を記憶するように指示をする。この指示を受けて指示回路Iのレジスタ55は、第1カウンタ54のカウンタ値を記憶する。それと共に、指示回路Iのタイミングジェネレータ51は、第2カウンタ56に対して初期値から判定値を更新させるように指示をする。この指示を受けて指示回路Iの第2カウンタ56は、更新用クロック信号の周期毎に判定値を初期値から更新する。そして、指示回路Iの第2カウンタ56は、判定値がレジスタ55に記憶されたカウンタ値と一致すると、指示回路Iのタイミングジェネレータ51に対して判定値がカウンタ値に一致した旨を指示する。この指示を受けた指示回路Iのタイミングジェネレータ51は、遅延回路52にメインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルを異なる状態に遷移させるように指示する。
この指示を受けた指示回路Iの遅延回路52は、メインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルをハイレベル状態からローレベル状態に遷移させる(時点A10)。すなわち、指示回路Iの遅延回路52は、ローレベル状態に遷移したときのカウンタ値に更新用クロック信号の周期を乗じた時間α5だけメインCPU22a側に出力するリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルをローレベル状態に遷移させるタイミングを遅延させる。
メインCPU22aに入力されるリセット信号Re(不正リセット信号Re2に基づく信号)の信号レベルがローレベル状態に遷移すると、メインCPU22aの規制が解除され、起動を開始する。その際、動作中にリセット信号Re(不正リセット信号Re2に基づく信号)を入力しため、メインCPU22aは、初期化指示信号を入力しておらず、またRAM22cの記憶内容が異常であるので、初期化処理を行っている。これにより、メインCPU22aは、大当り判定用乱数を初期値「0」から更新し続ける。このため、主制御基板22へ不正リセット信号Re2を入力してから、リセット入力回路22dの出力時間T1+T2に、指示回路Iの遅延時間α5と、初期化処理にかかる時間と、大当り判定用乱数の値が初期値「0」から大当り判定値(「7」又は「511」)に到達するまでの時間を加算した時間が経過した時に、大当り判定用乱数を取得すれば大当りとなる。しかしながら、遅延時間α5は不明であるため、不正リセット信号Re2の入力から大当りとなるタイミングは不明となり、電源投入から時間を計測しても大当りとなるタイミングを把握することができず、不正を防止できる。
なお、不正リセット信号Re2を入力した場合であっても、遊技可能状態信号K1は主制御基板22の外部に出力されず、外部のサブ制御基板23には、遊技可能状態信号K1の出力から遊技開始信号生成回路22eによるランダムな遅延時間の経過後に出力開始信号が出力されるだけである。そして、当該遅延時間は遊技開始信号生成回路22eの動作により一定でないために、サブ制御基板23が出力開始信号を入力してから大当りとなるタイミングは一定でない。従って、メインCPU22aからサブ制御基板23への出力開始信号の入力時から時間を計測しても大当りとなるタイミングを把握することができず、主制御基板22から出力される制御信号を読み取る不正基板による不正を防止できる。
次に、バックアップ用電源27からRAM22cへの電源電圧を遮断する不正基板が取り付けられたときにおける対処について説明する。
不正基板がバックアップ用電源27からRAM22cへの電源電圧を遮断した場合であっても、バックアップ用電源27の代わりに電源回路24から電源電圧が供給される。このため、不正基板は、バックアップ用電源27からRAM22cへの電源電圧VBを遮断しても、RAM22cを強制的に初期化することができない。従って、RAM22cを強制的に初期化してサブ制御基板23への最初のINT信号(出力開始信号)を読み出すことにより、大当り判定用乱数の更新開始時を特定して、大当りタイミングを推測することができなくなる。以上により、バックアップ用電源27からRAM22cへの電源電圧を遮断する不正基板が取り付けられたときにおける不正を防止できる。
次に、バックアップ用電源27及び電源回路24からRAM22cへの電源電圧を共に遮断する不正基板が取り付けられたときにおける対処について説明する。
不正基板が、電源回路24及びバックアップ用電源27からRAM22cへの電源電圧を共に遮断した場合、メインCPU22aは、RAM22cから乱数などの制御情報を読み出せなくなると、処理を進行できなくなる。その状態でいると、ウオッチドッグタイマの値が予め決められた所定値を経過することとなる。ウオッチドッグタイマの値が予め決められた所定値を経過すると、メインCPU22aは、RAM22cへ供給される電源電圧が所定の電圧V10よりも大きくなったとき、自動的に再起動(リセット)してメイン処理を実行して、RAM22cの初期化処理を実行する。
そして、メインCPU22aは、待機時間を所定時間過ぎてから再起動するため、再リセット信号Re1をリセット入力回路22dに出力することとなる。このため、リセット入力回路22dは、指示回路Iを介してメインCPU22aに再リセット信号Re1に基づくリセット信号Reを出力し続ける。これにより、メインCPU22aは、その動作が規制され続けられる。このため、遊技を継続することができなくなり、不正な大当りを防止できる。なお、この規制状態を解除するために、パチンコ機10への電源電圧の供給を停止して、改めて起動させる必要がある。そして、電源電圧の供給を停止して起動させた場合、図8にて前述したように不正な大当りを防止できる。従って、本実施形態では、リセット入力回路22dが、再起動指示信号出力手段となる。
次に、不正基板により不正な電源断信号Sが出力されたときにおける対処について図9に基づき説明する。
不正基板により不正な電源断信号Sが主制御基板22に出力されると、メインCPU22aは、電源断処理プログラムに基づく処理を実行する(図9の時点B1参照)。これにより、メインCPU22aは、バックアップ処理を実行して、待機状態となる。このまま、主制御基板22にリセット信号Reが入力されないと、待機状態となって予め決められた時間が経過する。予め決められた時間が経過すると、メインCPU22aは、自らリセットを行い、メイン処理を実行する(時点B2参照)。このとき、メインCPU22aは、自らリセットを行うので、再リセット信号Re1をリセット入力回路22dに出力する(時点B2参照)。すなわち、再リセット信号Re1の信号レベルを時間T1の間、ハイレベル状態とする。
リセット入力回路22dは、再リセット信号Re1を入力すると、指示回路Iにリセット信号Reを出力しつづける(時点B2)。すなわち、指示回路Iに出力するリセット信号Reの信号レベルを、ハイレベル状態とした後(時点B2)、その状態を維持し続ける。
指示回路Iは、入力されるリセット信号Reの信号レベルがローレベル状態からハイレベル状態に遷移すると(時点B2)、ランダムに遅延させた後、メインCPU22aに出力するリセット信号Reの信号レベルをローレベル状態からハイレベル状態とする(時点B3)。これにより、メインCPU22aは、動作が規制される。そして、指示回路Iには、リセット入力回路22dからのリセット信号Reが入力され続ける(ハイレベル状態のリセット信号Reが入力され続ける)ので、指示回路Iは、メインCPU22aに対してハイレベル状態のリセット信号Reを出力し続ける。これにより、メインCPU22aは、ハイレベル状態のリセット信号Reが入力され続けられ、その動作の規制が継続される。
このため、遊技を継続することができなくなり、不正な大当りを防止できる。なお、この規制状態を解除するために、パチンコ機10への電源電圧の供給を停止して、改めて起動させる必要がある。そして、電源電圧の供給を停止して起動させた場合、図8にて前述したように不正な大当りを防止できる。
以上詳述したように、本実施形態は、以下の効果を有する。
(1)メインCPU22aは、リセット入力回路22dにリセット信号Reが入力されるまで待機状態とする電源断信号Sを入力した後、待機状態となる。そして、リセット入力回路22dは、メインCPU22aが予め決められた時間を越えて待機状態となった場合、ハイレベル状態のリセット信号ReをメインCPU22a側に出力し続けるようになっている。すなわち、メインCPU22aの動作を規制し続けるようにした。これにより、不正基板が、リセット入力回路22dに不正リセット信号Re2を入力させることなく、メインCPU22aに電源断信号Sを出力して待機状態にさせ、リセットさせたとしても、遊技を継続して大当りを発生させることができなくなる。
(2)メインCPU22aが再リセット信号Re1を出力し、当該再リセット信号Re1の入力を契機にリセット入力回路22dは、リセット信号Reを出力し続ける。このため、電源断信号S及びリセット信号Reの入出力状態を監視する装置や、再リセット信号Re1を出力するための手段を設ける必要がない。このため、回路構成を簡単とすることができる。
(3)遊技開始信号生成回路22eは、リセット入力回路22dへリセット信号Reが入力されていないときに、遊技可能状態信号K1を入力した場合には、遅延させることなく、遊技開始信号K2をメインCPU22aに対して出力する。これにより、すべての制御信号の出力を遅延させることがなくなり、プログラムを変更しなくても、制御信号の遅延によるバグを防止できる。
(4)RAM22cには、バックアップ用電源27(専用電源)以外に、電源回路24(動作電源)からも電源電圧が供給されるようになっている。このため、バックアップ用電源27からの電源電圧の供給が停止した場合であっても、RAM22cは、電源回路24から電源電圧を供給することができる。これにより、メインCPU22aが、RAM22cへの電源電圧の供給停止に伴い、大当り判定用乱数を初期化して、INT信号(出力開始信号)及びそれに続く遊技開始信号を出力させることがなくなる。すなわち、バックアップ用電源27からの電源電圧を遮断してからINT信号の出力時までの時間(大当りとなるタイミング)を計測することができなくなる。このため、バックアップ用電源27からの電源電圧を遮断することにより、不正な大当りを発生させるタイミングを特定することができなくなり、不正を防止できる。
(5)メインCPU22aは、大当り判定用乱数の更新を開始すると共に、遊技可能状態信号K1を出力し、その後、遊技開始信号K2を入力するまで、大当り判定用乱数を更新すると共にサブ制御基板23に最初の制御信号(出力開始信号)を出力しないようにして待機した。そして、遊技開始信号生成回路22eは、遊技可能状態信号K1を入力すると、入力時(ハイレベル状態に遷移したとき)からランダムな遅延時間経過後、遊技開始信号K2をメインCPU22aに出力する(ハイレベル状態に遷移させる)ようにした。このため、メインCPU22aからサブ制御基板23に最初に出力される制御信号(出力開始信号)の入力時は、大当り判定用乱数の更新開始時からランダムな遅延時間経過後にしか入力することができなくなり、当該開始信号入力時から大当りとなるタイミングを把握することができなくなる。従って、メインCPU22aからサブ制御基板23に最初に出力される制御信号(出力開始信号)に基づき、不正な大当りを生起させる不正基板による不正を防止できる。
(6)指示回路Iの動作により、メインCPU22aにリセット信号Reが入力するタイミングがランダムになることから、不正にリセット信号Reを入力して大当り判定用乱数の値を初期化し、リセット信号Reの出力時から大当りとなるタイミングを特定することも困難となる。
(7)また、電源回路24及びバックアップ用電源27からの電源電圧の供給が停止されて予め決められた時間が経過するまで待機状態となった場合、メインCPU22aは、RAM22cへ供給される電源電圧が所定の電圧V10よりも大きくなったとき、再リセット信号Re1をリセット入力回路22dに出力する。そして、リセット入力回路22dは、再リセット信号Re1を入力すると、指示回路Iを介してメインCPU22aにリセット信号Reを出力し続ける。これにより、メインCPU22aは、その動作が規制され続けられる。これにより、遊技の継続が不可能となり、大当り遊技を発生させることができなくなる。以上により、電源回路24及びバックアップ用電源27を遮断することによる不正を防止することができるようになっている。
(8)遊技開始信号生成回路22eは、主制御基板22内においてメインCPU22aとは別体で設けた。このため、メインCPU22aの制御プログラムを変更する必要が無くなる。また、遊技開始信号生成回路22eと、指示回路Iは、同一の回路構成を有しているため、別々に回路を設計する必要が無くなり、設計の手間を少なくすることができる。
(9)遊技開始信号生成回路22eは、遊技可能状態信号K1の入力が開始(又は終了)したときにレジスタ55が取得したカウンタ値と、レジスタ55がカウンタ値を取得した後から第2カウンタ56が更新する判定値とが一致した場合に、メインCPU22aに出力する遊技開始信号K2の信号レベルを異なる状態に遷移する。すなわち、メインCPU22aから遊技可能状態信号K1の入力が開始(又は終了)されたときからカウンタ値に基づく時間遅延して、遊技開始信号K2は、メインCPU22aへ入力が開始(又は終了)される。そして、遅延する時間は、カウンタ値に基づくため、一定でない。以上のことから、遊技可能状態信号K1を入力してから遊技開始信号K2を出力するまでの時間が一定でなくなり、メインCPU22aからサブ制御基板23へ出力された制御信号に基づき計測する大当りとなるタイミングも一定でなくなる。従って、大当りの発生タイミングの把握を困難にすることができ、不正を防止できる。
(10)指示回路Iは、リセット信号Re(又は不正リセット信号Re2)の入力状態が遷移したときにレジスタ55が取得したカウンタ値と、レジスタ55がカウンタ値を取得した後から第2カウンタ56が更新する判定値とが一致した場合に、メインCPU22aに出力するリセット信号Reの信号レベルを異なる状態に遷移する。すなわち、リセット信号回路26又は不正基板からリセット信号Reの入力状態が遷移したときからカウンタ値に基づく時間遅延して、メインCPU22aに出力するリセット信号Reの出力状態が遷移する。そして、遅延する時間は、カウンタ値に基づくため、一定でない。以上のことから、主制御基板22へのリセット信号Re(又は不正リセット信号Re2)の入力状態が遷移してからメインCPU22aが起動するタイミングが一定でなくなり、大当りとなるタイミングも一定でなくなる。従って、大当りの発生タイミングの把握を困難にすることができ、不正を防止できる。
(11)指示回路Iのカウンタ値は、大当り判定用乱数の更新周期とは異なる所定の更新周期毎に更新されるので、リセット信号回路26(又は不正基板)が、リセット信号Re(又は不正リセット信号Re2)を出力してから一定の更新周期で大当りとなるタイミングを計測しようとしても、大当りとなるタイミングを把握することは困難となる。従って、大当りの発生タイミングの把握を困難にすることができ、不正を防止できる。
(12)指示回路Iは、リセット信号Re(又は不正リセット信号Re2)の信号レベルが異なる状態に遷移するたびに、そのタイミングを遅延させてリセット信号ReをメインCPU22a側に出力する。このため、リセット信号Re(又は不正リセット信号Re2)の入力時間が短すぎると、メインCPU22a側に出力するリセット信号Reがハイレベル状態となる前に指示回路Iに入力されるリセット信号Reがローレベル状態となる場合がある。また、同様に、メインCPU22a側に出力するリセット信号Reがローレベル状態となる前に指示回路Iに入力されるリセット信号Reがハイレベル状態となる場合がある。これらの場合、指示回路Iは、正常にリセット信号ReをメインCPU22a側に出力することができなくなり、メインCPU22aの規制や起動を正常に行えなくなる。従って、入力時間の短い不正リセット信号Re2の入力を防止できる。
(13)指示回路Iは、リセット信号Re(又は不正リセット信号Re2)の信号レベルが異なる状態に遷移するたびに、そのタイミングを遅延させてリセット信号Re(又は不正リセット信号Re2)をメインCPU22a側に出力する。このため、リセット信号Re(又は不正リセット信号Re2)の信号レベルが、ローレベル状態からハイレベル状態に遷移した場合にメインCPU22aを起動するようにしても、ハイレベル状態からローレベル状態に遷移した場合にメインCPU22aを起動するようにしてもメインCPU22aに対応することができる。
(14)指示回路I及び遊技開始信号生成回路22eの発振回路53に使用されているコンデンサや抵抗には、通常、性能のばらつきがあり、また、電源投入時においてコンデンサに蓄えられている残留電荷も通常ばらつきがあるため、電源投入後において、発振回路53が出力するクロック信号の周期にはばらつきが生じる。このため、電源投入毎に、電源投入後最初のリセット信号Re及び遊技開始信号K2の遅延時間が異なる可能性が高い。すなわち、電源投入毎に、電源投入後最初の大当りとなるタイミングが異なる可能性が高い。また、カウンタ値は、電源投入からリセット信号Re又は遊技可能状態信号K1が入力されるまでの時間に複数回更新される、すなわち、カウンタ値の更新周期は極めて早いため、電源投入毎に取得するカウンタ値が異なる可能性が高い。このため、電源投入毎に、遅延時間が異なり、大当りとなるタイミングも異なる可能性が高い。従って、電源投入した時点から時間を計測して大当りタイミングを把握することが困難となる。
(15)主制御基板22は、ケースカバー内に収容されており、当該ケースカバーには、外部から主制御基板22に直接不正回路などを装着できないように不正防止対策がなされている。このため、主制御基板22に指示回路I及び遊技開始信号生成回路22eを取り付けることにより、メインCPU22aと指示回路Iとの間に、又はメインCPU22aと遊技開始信号生成回路22eの間に、不正基板が取り付けられることを防止できる。従って、指示回路Iを介してリセット信号Reを入力することが確実にできる。すなわち、確実にリセット信号Re(又は不正リセット信号Re2)を遅延させてメインCPU22aに入力することができる。また、遊技開始信号生成回路22eから遊技開始信号を入力することが確実にできる。すなわち、確実に遊技開始信号K2を遅延させてメインCPU22aに入力することができる。
(16)指示回路I及び遊技開始信号生成回路22eにそれぞれ分周回路60を設け、外部に備えられた外部発振回路70から入力した外部クロック信号の周期を遅くしたものを更新用クロック信号として出力するようにした。このため、高周波数の外部クロック信号を入力しても、リセット信号Reを十分に遅延させることができる。
(17)更新用クロック信号の周期毎に、第2カウンタ56は判定値を更新する。このため、更新用クロック信号の周期と大当り判定用乱数の更新周期を異ならせれば、リセット信号Reが異なる状態に遷移してから一定周期でタイミングを計った場合、大当りとなるタイミングがずれることとなる。また、計測する周期を途中で切り替えるには、指示回路Iのレジスタ55に記憶されたカウンタ値を知る必要があるため、困難である。従って、大当りとなるタイミングを把握しにくくすることができ、不正リセット信号Re2の入力による不正を防止できる。
(18)カウンタ値の更新周期を定める内部クロック信号を生成、出力する発振回路53を指示回路I及び遊技開始信号生成回路22e内に設けた。このため、内部クロック信号の周期を指示回路Iの外部から認識することは困難となる。従って、大当りとなるタイミングを把握し難くでき、不正を防止できる。
(19)指示回路I及び遊技開始信号生成回路22eの外部に設けた外部発振回路70から入力した外部クロック信号の周波数を分周回路60により16000分の1又は20000分の1に分周することができるようにした。このため、外部発振回路70から入力した外部クロック信号がどれだけ分周されているか指示回路I及び遊技開始信号生成回路22eの外部からは認識しにくくなり、判定値の更新周期を認識することが困難となる。従って、大当りとなるタイミングを把握し難くでき、不正を防止できる。
なお、上記実施形態は以下のように変更してもよい。
・上記実施形態では、リセット入力回路22dが、再リセット信号Re1を入力した際、リセット信号Reを出力し続けていたが、メインCPU22aがリセット入力回路22dに対して再リセット信号Re1を出力し続けるようにしても良い。
・上記実施形態では、メインCPU22aは、再リセット信号Re1を時間T1の間、出力するように構成したが、出力時間を任意に変更しても良い。この場合、再リセット信号Re1を入力するリセット入力回路22dは、再リセット信号Re1を入力した場合には、指示回路Iに対して継続してリセット信号Reを出力する必要がある。
・上記実施形態では、メインCPU22aが、再リセット信号Re1をリセット入力回路22dに入力したが、メインCPU22aの状態を監視して、再リセット信号Re1を出力する回路を主制御基板22に設けても良い。
・上記実施形態では、電源回路24もRAM22cに電源電圧を供給していたが、供給しなくても良い。
・上記実施形態では、指示回路Iを設けたが、設けなくてもよい。
・上記実施形態では、遊技開始信号生成回路22eと、指示回路Iは、同一の回路構成を有している。また、指示回路Iにリセット信号Reが入力されるタイミングは、遊技開始信号生成回路22eに遊技可能状態信号K1が入力されるタイミング及び遊技開始信号生成回路22eが遊技開始信号K2を出力するタイミングと全く異なる。また、指示回路Iからリセット信号Reを出力するタイミングは、遊技開始信号生成回路22eに遊技可能状態信号K1が入力されるタイミング及び遊技開始信号生成回路22eが遊技開始信号K2を出力するタイミングとも全く異なる。このため、遊技開始信号生成回路22eと、指示回路Iを1つの回路としてもよい。このようにすれば、部品を少なくすることができ、また、主制御基板22内における回路の設置スペースが少なくても不正防止回路を設置することができる。
・上記実施形態では、指示回路Iを設けたが設けなくても良い。すなわち、リセット入力回路22dとメインCPU22aが直接接続されていてもよい。
・上記実施形態では、遊技開始信号生成回路22eと、指示回路Iは同一の回路構成としたが、異なる回路構成としても良い。
・上記実施形態において、遊技開始信号生成回路22eが、遊技可能状態信号K1の入力時からランダムな遅延時間経過後、遊技開始信号K2を出力することができるならば、その回路構成を任意に変更しても良い。同様に、指示回路Iが、リセット信号Reの入力時からランダムな遅延時間経過後、メインCPU22a側にリセット信号Reを出力することができるならば、その回路構成を任意に変更しても良い。
・上記実施形態において、判定値の更新周期が遅延時間を設けるために適切な周期になるならば、外部発振回路70が出力する外部クロック信号を分周する分周回路60を設けなくても良い。すなわち、第2カウンタ56は、外部発振回路70が出力する外部クロック信号の周期毎に判定値を更新するようにしても良い。
・上記実施形態において、メインCPU22aは、リセット信号Reがハイレベル状態からローレベル状態に遷移したときに起動するようになっていたが、ローレベル状態からハイレベル状態に遷移したときに起動するようにしても良い。この場合、指示回路Iから出力されるリセット信号Reを反転する必要がある。
・上記実施形態において、指示回路Iは、リセット信号Re(又は不正リセット信号Re2)の信号レベルが異なる状態に遷移するたびに、その遷移するタイミングを遅延させていた。この別例として、メインCPU22aの起動開始がハイレベル状態からローレベル状態に遷移するタイミングで行われるのであれば、リセット信号Reがハイレベル状態からローレベル状態に遷移するときだけ遅延させるようにしてもよい。また、メインCPU22aの起動開始がローレベル状態からハイレベル状態に遷移するタイミングで行われるのであれば、リセット信号Reがローレベル状態からハイレベル状態に遷移するときだけ遅延させるようにしてもよい。
・上記実施形態において、大当り判定用乱数は、最大値まで更新されると、最小値から継続して更新するようにしていたが、必ずしも最小値から継続して更新しなくても良い。例えば、「0」→「1」→…「630」→「100」→「101」→…といように、最大値の次に、最小値でない値から継続して更新しても良い。このようにすれば、大当りとなるタイミングを把握しにくくすることができ、不正を防止できる。
・上記実施形態では、指示回路Iが出力するリセット信号Reの信号レベルを遷移させるタイミングを決定するために、判定値を1ずつ加算していき、カウンタ値に達するか否か判定していたが、カウンタ値を1ずつ減算していき、カウンタ値が0になったか否かを判定するようにしても良い。
・上記実施形態では、外部クロック信号を出力する外部発振回路70を指示回路Iの外部に設けていたが、指示回路I及び遊技開始信号生成回路22eにそれぞれ設けても良い。このようにすれば、判定値の更新周期がより判別しにくくなり、不正を防止できる。
・上記実施形態では、内部クロック信号を生成、出力する発振回路53を指示回路I及び遊技開始信号生成回路22eに設けたが、指示回路I及び遊技開始信号生成回路22eの外部に発振回路53を設けても良い。
・上記実施形態では、バックアップ処理が実行可能に構成されていたが、バックアップ処理ができなくてもよい。この場合、電源遮断時には、必ず初期化処理がなされることとなる。
・上記実施形態では、RAMクリアスイッチ36及びRAMクリアスイッチ回路37を設けたが、設けなくても良い。
・上記実施形態では、メインCPU22aと、指示回路Iと、遊技開始信号生成回路22eは、外部発振回路70から同じ周期の外部クロック信号を入力していたが、メインCPU22aと、指示回路Iと、遊技開始信号生成回路22eは、異なる周期の信号をそれぞれ入力しても良い。このようにすれば、大当たり判定用乱数の更新周期と、判定値の更新周期とが非同期となる。そして、主制御基板22の外部からこれらの3つの異なる周期を把握することは、困難であるため、効果的に不正を防止できる。
・上記実施形態では、リセット信号Reの信号レベルがハイレベル状態のとき、リセット信号Re(不正リセット信号Re2に基づく信号)が入力(出力)されたとし、ローレベル状態のとき、リセット信号Re(不正リセット信号Re2に基づく信号)の入力(出力)が終了したとしていた。この別例として、リセット信号Reの信号レベルがローレベル状態のとき、リセット信号Re(不正リセット信号Re2に基づく信号)が入力(出力)されたとし、ハイレベル状態のとき、リセット信号Re(不正リセット信号Re2に基づく信号)の入力(出力)が終了したとしてもよい。同様に、遊技可能状態信号の信号レベルがローレベル状態のとき、遊技可能状態信が入力(出力)されたとし、ハイレベル状態のとき、遊技可能状態信号の入力(出力)が終了したとしてもよい。同様に、遊技開始の信号レベルがローレベル状態のとき、遊技開始信号が入力(出力)されたとし、ハイレベル状態のとき、遊技開始信号の入力(出力)が終了したとしてもよい。
・上記実施形態のタイマ割込み処理において、メインCPU22aは、遊技者の利益に直接かかわる乱数を更新するようにしても良い。例えば、大当り判定の当選確率が高確率となる確率変動状態が付与されるか否かを決定するための乱数(例えば、大当り図柄用乱数)や、開閉羽根を開放させるか否かを決定するための乱数や、大入賞口を開放させるための小当り遊技を付与するか否かを決定するための乱数などを更新しても良い。
・上記実施形態の待機時間乱数更新処理において、メインCPU22aは、リーチ演出を実行させるか否かを決定するためのリーチ判定用乱数などの乱数を更新するようにしても良い。
・上記実施形態では、パチンコ機にて採用したが、遊技機の一種であるパチンコ式スロットマシン(回胴式遊技機、以下、「パチスロ」と示す)に具体化してもよい。なお、パチスロは、遊技者がベット数(賭数)を設定した後、スタートレバーを操作して遊技(変動ゲーム)を開始させるとともにストップボタンの操作により図柄を停止させ、その停止した図柄の組み合わせが遊技媒体の払出条件を充足させる賞態様を形成した場合に遊技媒体であるメダルを遊技者に付与するゲーム性を有する。また、パチスロは、遊技(変動ゲーム)が開始してから賞として付与される遊技媒体の払い出しが完了するまでを一遊技単位として遊技(変動ゲーム)が行われる。
より詳しく説明すると、パチスロは、遊技機全体を制御する主制御基板と、前記主制御基板からの制御信号に基づき演出実行手段を制御する演出制御手段を備える。また、パチスロは、複数の図柄を表示する図柄表示手段(演出実行手段)を備える。また、パチスロは、遊技者が遊技媒体としてのコインのベット数(賭数)を選択手段にて予め定めた最小ベット数から最大ベット数の範囲で設定した後、図柄表示手段において図柄を変動させて行う1回の遊技を開始する際に、遊技者により操作され、1回の遊技の開始を指示する開始信号を出力する開始信号出力手段としてのスタートレバーを備える。
また、パチスロの主制御基板は、前記開始信号を入力したことに基づき当選役決定乱数の値を取得し、当該当選役決定乱数の値に基づき、予め定めた複数の当選役の中から抽選により当選役を決定する制御装置を備える。また、この制御装置は、前記開始信号を入力したことに基づき前記図柄の変動を開始させる図柄変動手段としての機能を備える。また、この制御装置は、遊技者による停止操作が行われることに基づいて、図柄表示手段で変動している図柄の変動の停止を指示する停止信号を出力する停止信号出力手段と、前記停止信号を入力したことに基づき変動している図柄を停止させる停止制御手段としての機能を備えている。
また、パチスロの制御装置は、予め定められた図柄表示手段の入賞ライン上に停止表示された図柄の組み合わせが当選役決定手段の決定した当選役に対応する図柄の組み合わせである場合に賞を付与するようになっている。さらに、パチスロの制御装置は、開始信号の入力を契機に取得した当選役決定乱数に基づき、予め定めた複数の当選役の中から抽選により当選役を決定する。そして、当該制御装置は、決定した当選役が予め決められた当選役(ボーナス役)であるときに、予め定められた図柄表示手段の入賞ライン上に停止表示された図柄の組み合わせが決定した当選役に対応する図柄の組み合わせとなった場合、遊技者に有利な大当り遊技(ボーナス遊技)を付与するようになっている。
次に、上記実施形態及び別例から把握できる技術的思想を以下に追記する。
(イ)前記制御装置は、前記入力手段に起動指示信号が入力されるまで待機状態とする待機指示信号を入力した後、予め決められた時間が経過するまで待機状態となった場合、リセットを行うと共に、当該リセットにおいて初期化指示信号を入力していた場合には、少なくとも大当り判定用乱数の値を記憶する記憶手段の記憶内容を初期化し、前記演出制御手段に対して制御が開始したことを示す出力開始信号の出力を開始すると共に、遊技演出に関する制御を開始することを特徴とする請求項1〜請求項4のうちいずれか一項に記載の遊技機。
(ロ)前記遊技開始信号を前記制御装置に対して出力する不正防止手段を備え、前記制御装置は、起動してから大当り判定用乱数の値を所定の周期毎に更新し、更新した大当り判定用乱数の値を記憶手段に記憶すると共に、遊技が可能である場合、前記大当り判定用乱数の更新を開始して遊技が可能であることを知らせる遊技可能状態信号を出力するように構成され、前記不正防止手段は、前記入力手段へ前記起動指示信号が入力された場合であって、前記遊技可能状態信号を入力した場合に、ランダム化された遅延時間を経過した後、前記遊技開始信号を前記制御装置に対して出力することを特徴とする請求項1〜請求項4のうちいずれか一項に記載の遊技機。
(ハ)前記制御装置は、前記大当り判定用乱数が記憶されている記憶手段の記憶内容を消去した後、前記大当り判定用乱数の更新を開始して遊技が可能となった場合に、大当り判定用乱数の更新を開始して遊技が可能であることを知らせる遊技可能状態信号を前記不正防止手段に出力するようになっていることを特徴とする技術的思想(ロ)に記載の遊技機。
(ニ)前記不正防止手段は、前記入力手段へ前記起動指示信号が入力されていないときに、前記遊技可能状態信号を入力した場合には、遅延させることなく、前記遊技開始信号を制御装置に対して出力することを特徴とする技術的思想(ロ)又は(ハ)に記載の遊技機。
(ホ)前記不正防止手段は、第1信号生成手段により出力された内部クロック信号の周期毎にカウンタ値を予め定めた範囲内で更新する第1更新手段と、前記遊技可能状態信号を入力した場合に前記カウンタ値を取得する取得手段と、大当り判定用乱数の更新周期とは異なる所定の周期毎に更新用クロック信号を生成して出力する第2信号生成手段と、前記取得手段が前記カウンタ値を取得した後から前記第2信号生成手段により出力された更新用クロック信号の周期毎に判定値を更新する第2更新手段と、前記取得手段が取得したカウンタ値と前記第2更新手段が更新している判定値が一致したときに、前記制御装置に前記遊技開始信号を出力する遷移手段とを備えたことを特徴とする技術的思想(ロ)〜(ニ)のうちいずれか一項に記載の遊技機。
(ヘ)電源投入時に前記主制御基板及び前記演出制御基板に電源を供給する電源基板と、前記電源基板が前記主制御基板及び前記演出制御基板に電源を供給する場合に、前記起動指示信号を出力する起動指示信号出力手段を備え、前記制御装置は、指示回路を介して起動指示信号を入力するようになっており、前記起動指示信号は、その信号レベルとして第1状態及び第2状態を示す2値信号であり、前記制御装置は、入力した起動指示信号の信号レベルが、第1状態である場合には、その動作が規制される一方、第1状態から第2状態に遷移した場合には、起動するように構成されており、前記指示回路は、電源投入から前記指示回路に起動指示信号が入力されるまでの間に複数回出力することができる程度の周期を有する内部クロック信号を生成して出力する指示回路用第1信号生成手段と、前記指示回路用第1信号生成手段により出力された内部クロック信号の周期毎にカウンタ値を予め定めた範囲内で更新する指示回路用第1更新手段と、入力した前記起動指示信号の信号レベルが異なる状態に遷移した場合に前記カウンタ値を取得する指示回路用取得手段と、大当り判定用乱数の更新周期とは異なる所定の周期毎に更新用クロック信号を生成して出力する指示回路用第2信号生成手段と、前記指示回路用取得手段が前記カウンタ値を取得した後から前記指示回路用第2信号生成手段により出力された更新用クロック信号の周期毎に判定値を更新する指示回路用第2更新手段と、前記指示回路用取得手段が取得したカウンタ値と前記指示回路用第2更新手段が更新している判定値が一致したときに、前記制御装置に出力する前記起動指示信号の信号レベルを異なる状態に遷移させることを指示する指示回路用タイミング指示手段と、前記指示回路用タイミング指示手段の指示に従って、前記制御装置に出力する起動指示信号の信号レベルを異なる状態に遷移させる指示回路用遷移手段を備えたことを特徴とする請求項1〜請求項4のうちいずれか一項に記載の遊技機。
(ト)前記制御装置は、前記記憶手段への電源電圧の供給が停止された場合、前記記憶手段への電源供給が再開されたときに、前記記憶手段に記憶されている大当り判定用乱数の値として初期値を設定してから、前記大当り判定用乱数の更新を開始し、その後、前記遊技可能状態信号を出力させるように構成されていることを特徴とする請求項4に記載の遊技機。
(チ)前記制御装置は、前記入力手段に起動指示信号が入力され、当該入力を契機に起動した場合、記憶手段に記憶されている大当り判定用乱数の値に初期値又は電源停止時に記憶されたバックアップデータを設定してから、大当り判定用乱数の値を所定の周期毎に更新するように構成されることを特徴とする請求項1〜請求項4のうちいずれか一項に記載の遊技機。