図1、図2に示すように、パチンコ遊技機1には、遊技ホールに取付けられる外枠に開閉枠2が開閉自在に装着され、開閉枠2に開閉扉3が開閉自在に装着されている。開閉枠2に遊技盤4が装着され、その遊技盤4の前面側に遊技領域4aが形成されている。開閉扉3に窓3aが形成され、その窓3aに透明板3bが装着され、その透明板3bにより遊技領域4aの前側が覆われている。
開閉扉3には、窓3aの下側に遊技球を貯留する貯留皿5が設けられ、その貯留皿5に演出ボタン6が装着され、貯留皿5の右下側に発射ハンドル7が装着されている。発射ハンドル7が回動操作されると、貯留皿5から発射位置に導入された遊技球が発射され、貯留皿5に複数の遊技球が存在する場合には、複数の遊技球が約0.6秒間隔で連続発射される。発射された遊技球はガイドレール8で案内され遊技領域4aの上部に投入される。
図2、図3に示すように、遊技盤4には、多数の障害釘(図示略)、第1始動口10、第2始動口装置11、ゲート12、大入賞口装置13、複数の一般入賞口14、センタ役物15、画像表示器16、可動役物装置17、遊技表示盤19が図2に示す配置で装着され、遊技盤4の裏面側に遊技制御装置20が装着されている。
第1始動口10には入賞した遊技球を検出する第1始動口SW10aが付設され、ゲート12には通過した遊技球を検出するゲートSW12aが付設され、各一般入賞口14には入賞した遊技球を検出する一般入賞口SW14aが付設されている。尚、「SW」はスイッチを意味する。
第2始動口装置11は、第2始動口11a、第2始動口11aを開閉する開閉部材11b、第2始動口11aに入賞した遊技球を検出する第2始動口SW11c、開閉部材11bを開閉駆動する第2始動口SOL11d(電チューSOL)を有する。尚、「SOL」はソレノイドアクチュエータを意味する。開閉部材11bは、閉位置で第2始動口11aへの遊技球の入賞を不可能にし、開位置で第2始動口11aへの遊技球の入賞を可能にする。
大入賞口装置13は、大入賞口13a、大入賞口13aを開閉する開閉部材13b、大入賞口13aに入賞した遊技球を検出する大入賞口SW13c、開閉部材13bを開閉駆動する大入賞口SOL13dを有する。開閉部材13bは、閉位置で大入賞口13aへの遊技球の入賞を不可能にし、開位置で大入賞口13aへの遊技球の入賞を可能にする。
センタ役物15は、遊技盤4の前面よりも前方へ張り出すように、遊技盤4の上部から中央部分に亙って遊技領域4aの半分以上を占めるサイズで設けられ、このセンタ役物15に画像表示器16と可動役物装置17が装着されている。
遊技表示盤19は、第1特別図柄表示器19a、第2特別図柄表示器19b、普通図柄表示器19c、第1特別図柄保留ランプ19d、第2特別図柄保留ランプ19e、普通図柄保留ランプ19fを備えている。
第1特別図柄表示器19aには、第1始動口10への遊技球の入賞に基づいて第1特別図柄が図柄変動後に停止表示される。第2特別図柄表示器19bには、第2始動口11aへの遊技球の入賞に基づいて第2特別図柄が図柄変動後に停止表示される。第1又は第2特別図柄表示器19a又は19bに大当り図柄が停止表示された場合、大当り遊技状態が発生して、大入賞口装置13が、開閉部材13bを開閉動作させて、通常は閉塞の大入賞口13aを複数ラウンドに亙って開閉させる。
普通図柄表示器19cには、ゲート12への遊技球の入賞(通過)に基づいて普通図柄が図柄変動後に停止表示される。普通図柄表示器19cに当り図柄が停止表示された場合、補助遊技が発生して、第2始動口装置11が、開閉部材11bを開閉動作させ、通常は閉塞の第2始動口11aを1又は複数回開閉させる。
第1特別図柄保留ランプ19dには、第1始動口10に入賞した遊技球であって第1特別図柄表示器19aでの図柄変動に未だ供してない第1保留数が最大で4個表示される。第2特別図柄保留ランプ19eには、第2始動口11aに入賞した遊技球であって第2特別図柄表示器19bでの図柄変動に未だ供してない第2保留数が最大で4個表示される。普通図柄保留ランプ19fには、ゲート12に入賞した遊技球であって普通図柄表示器19cでの図柄変動に未だ供してない普図保留数が最大で4個表示される。
発射ハンドル7を回動操作することで、遊技領域4aの上部に発射投入された遊技球は、複数の障害釘に当たって方向を変えながら落下して、入賞口10,11a,13a,14の何れかに入賞した場合、そこから遊技領域4a外へ排出され、入賞口10,11a,13a,14の何れにも入賞しなかった場合には、最終的に、遊技領域4aの下端部に形成されたアウト口9から遊技領域4a外へ排出される。
図3に示すように、遊技制御装置20は、主要な遊技制御を司るメイン制御装置21と、メイン制御装置21から種々の指令を受けて払出制御と演出制御とを司るサブ制御装置25とを備えている。メイン制御装置21は、遊技制御基板22に遊技制御プログラムに基づき遊技内容の進行に伴う基本処理を実行するCPUと、遊技制御プログラムを記憶するROMと、CPUの演算処理時におけるデータのワークエリアとして機能するRAMとを有するコンピュータと、ハード乱数生成回路41とを備えて構成されている。遊技制御基板22は盤用外部情報端子基板23に接続されている。
メイン制御装置21のCPUには、ウォッチドッグタイマが付属されている。ウォッチドッグタイマは、メイン制御装置21のコンピュータが遊技制御プログラムに従って正常に動作しているか否かを監視する機能を有する。遊技制御プログラムに異常が発生して、プログラムの実行が中断又は停止した場合や、プログラムの実行を中断した後他の処理が実行されないようにループ処理のみが繰返し実行される場合、その停止状態やループ処理による待機状態の間に、ウォッチドッグタイマのタイマカウント部がカウントアップすると、メイン制御装置21のコンピュータが強制的に初期化される。
サブ制御装置25は、払出制御基板26、演出制御基板27、画像制御基板28、ランプ制御基板29に夫々CPUとROMとRAMを有するコンピュータを備えて構成されている。演出制御基板27のコンピュータは更に、実時間を計時出力する計時手段としてのリアルタイムクロック(RTC)を有する。払出制御基板26は枠用外部情報端子基板24に接続されている。
遊技制御基板22のコンピュータは、第1,第2始動口SW10a,11c、ゲートSW12a、大入賞口SW13c、一般入賞口SW14aからの球検出信号と、払出制御基板26からの制御情報を受けて、第2始動口SOL11d、大入賞口SOL13d、図柄表示器19a〜19c、図柄保留ランプ19d〜19fを制御し、払出制御基板26と演出制御基板27と盤用外部情報端子基板23に制御情報(遊技情報)を出力する。
払出制御基板26のコンピュータは、遊技制御基板22からの制御情報と、払出球検出SW31、球有り検出SW32、満タン検出SW33からの球検出信号を受けて、払出モータ30を制御し、入賞口10,11a,13a,14への遊技球の入賞1個について、入賞口10,11a,13a,14毎に設定された数の遊技球を貯留皿5に払出し、遊技制御基板22と枠用外部情報端子基板24に制御情報(払出情報)を出力する。
演出制御基板27のコンピュータは、遊技制御基板22からの制御情報と、演出ボタン6からのボタン操作信号を受けて、画像制御基板28に制御情報を出力し、更に、画像制御基板28からの制御情報を受けて、ランプ制御基板29に制御情報を出力する。
画像制御基板28のコンピュータは、演出制御基板27からの制御情報を受けて、画像表示器16とスピーカ34とを制御し、演出制御基板27に制御情報を出力する。ランプ制御基板29のコンピュータは、演出制御基板27からの制御情報を受けて、主に画像制御基板28のコンピュータによる制御に同期させて、枠ランプ35と盤ランプ36と可動役物装置17とを制御する。
図4に示すように、メイン制御装置21は、そのコンピュータにより構成された、乱数取得部21a、乱数判定部21b、乱数異常判定部21c、乱数異常対処部21d、乱数異常情報出力部21eを有すると共に、そのコンピュータとは別に、ハード乱数を微小時間T1(第1微小時間、例えば、T1=0.067μs)毎に順次更新しつつ周期的に生成するハード乱数生成回路41を備えている。
図5に示すように、ハード乱数生成回路41は、水晶振動子を用いた発振器42と、発振器42から数MHzのクロックパルスに基づいてカウントアップされる乱数カウンタ43と、メイン制御装置21のCPUからの要求信号をクロックパルスに同期してラッチするD型フリップフロップ44と、D型フリップフロップ44の出力値の変化に応答して乱数カウンタ43の出力値を読み込むバッファIC回路45とを備え、メイン制御装置21のコンピュータの動作クロックとは無関係にハード乱数を更新するように構成されている。
乱数カウンタ43は、16ビット構成の1〜65536のカウンタ値(乱数値)をカウント可能なカウンタICであり、発振器42からのクロックパルスの立ち上がりエッジでカウントアップ動作を開始する。
D型フリップフロップ44は、NOT回路46を介して発振器42からクロックパルスを受けると共に、発振器42からのクロックパルスの立ち下がりエッジでCPUからの要求信号を読み込んで出力している。尚、CPUからの要求信号は、通常はLレベルであるが、CPUの処理において乱数取得条件の成立時のタイミングでHレベルとなる。
D型フリップフロップ44は、発振器42からのクロックパルスの立ち下がり毎に要求信号を読み込むが、通常は要求信号がLレベルであるため、D型フリップフロップ44の出力値もLレベルのままである。一方、要求信号がHレベルに変化すると、クロックパルスの立ち下がりエッジで、D型フリップフロップ44の出力がLレベルからHレベルに推移する。すると、これに合わせて、バッファIC回路45は、乱数カウンタ43の値をハード乱数の値として乱数取得部21aに出力する。
乱数取得部21aは、乱数取得条件の成立時にハード乱数生成回路41から複数個N(例えば、N=3)のハード乱数を微小時間T2(第2微小時間:例えば、T2=15.6μs)間隔で連続的に取得する。複数個Nのハード乱数は、異常検出用のハード乱数として取得される。この複数個Nの異常検出用のハード乱数の内の1個のハード乱数は、抽選用のハード乱数として兼用される。第1又は第2始動口10又は11aへの遊技球の入賞毎に、第1又は第2保留球数が4未満の場合に、乱数取得条件が成立する。
乱数判定部21bは、乱数取得部21aで取得された抽選用のハード乱数の当りの当否を判定する。この場合、乱数取得部21aで取得された抽選用のハード乱数が予め設定された大当り特定値か否か判定する。図6に示すように、例えば、通常/時短遊技状態では、大当り特定値が205個設定され、ハード乱数生成回路41で生成可能なハード乱数の全数(65535個)に対して大当り特定値の数の割合が約1/320になる。つまり、約1/320の確率で大当り判定となる。
また、確変/潜確遊技状態では、大当り特定値が2050個設定され、ハード乱数生成回路41で生成可能なハード乱数の全数に対して大当り特定値の数の割合が約10/320になる。つまり、約10/320の確率で大当り判定となる。尚、全遊技状態において、ハード乱数生成回路41で生成可能なハード乱数の全数に対して約3/320の割合で小当り特定値が設定されており、つまり、約3/320の確率で小当り判定となる。小当りとなった場合、大入賞口13aが複数回に微小時間で開閉する小当り遊技が発生する。
ここで、大当り判定となった場合、大当り図柄として、確変図柄、突確図柄、潜確図柄、時短図柄の中の何れか1つが抽選により決定され、その大当り図柄が特別図柄表示器19a又は19bに停止表示されることになる。そして、大当り遊技後、確変図柄と突確図柄の場合には確変遊技状態へ移行し、時短図柄の場合には時短遊技状態へ移行し、潜確図柄の場合には潜確遊技状態へ移行する。時短遊技状態において、特別図柄の図柄変動が100回(又は数10回)行われた後は、通常遊技状態へ移行する。尚、小当りの場合、現状の遊技状態が維持される。尚、確変遊技状態、時短遊技状態では、潜確遊技状態、通常遊技状態と比べて、補助遊技が発生する割合が高くなり、更に、各補助遊技において、第2始動口11aに遊技球が入賞する可能性が高くなる。
乱数異常判定部21cは、乱数取得部21aが取得した複数個Nのハード乱数のうち少なくとも2個のハード乱数の値が一致するか否か判定する。この乱数取得及び異常判定は、乱数取得条件が成立する毎に実行されるため、複数個Nの異常検出用のハード乱数の取得及び異常判定を遊技中に何度も行って、ハード乱数生成回路41で1周期分の複数(65535個)のハード乱数の全てが正常に更新されたか否かの判定の信頼性を高めることができる。
乱数異常対処部21dは、乱数異常判定部21cより、複数個Nのハード乱数のうち少なくとも2個のハード乱数の値が一致すると判定された場合、つまり、1周期分のハード乱数の正規の更新時間内で、同じ値のハード乱数が2度以上取得された場合、乱数異常対処処理を実行する。乱数異常対処処理として、メイン処理の実行を直ちに中断し、メイン処理の実行が中断されている間にウォッチドッグタイマがカウントアップしないように、ウォッチドッグタイマをリセット(クリア)する処理のみを繰返し実行して、メイン処理におけるその他の処理の実行を禁止する。
乱数異常情報出力部21eは、乱数異常判定部21cでの判定結果に基づいて、つまり、ハード乱数生成回路41で1周期分の複数のハード乱数の全てが更新されなかった場合に、乱数異常情報(乱数異常コマンド)をサブ制御装置25へ出力する。
サブ制御装置25は乱数異常対処部25aを有し、その乱数異常対処部25aが、メイン制御装置21から乱数異常情報を受けた場合、報知機器47(画像表示器16、スピーカ34、枠ランプ35、盤ランプ36の少なくとも1つ)を制御して、ハード乱数生成回路41で抽選用ハード乱数が正常に生成されない乱数異常を報知機器47に報知させる。具体的な乱数異常報知としては、画像表示器16に、ハード乱数生成回路41に異常が発生した旨の乱数異常の警告表示が行われる。
次に、メイン制御装置21が実行する各種処理をフローチャートに基づいて説明する。尚、図中の符号Si(i=1,2,・・・)は各ステップを示す。
図7に示すように、電源投入によりメイン処理が開始され、このメイン処理において、先ず、1000ms待機し(S1)、その後、RAMへのアクセス許可が設定され(S2)、次に、RAMクリアSWがオンされたか否か判定される(S3)。
RAMクリアSWがオンされなかった場合(S3;No)、バックアップフラグがONか否か判定され(S4)、バックアップフラグがONの場合(S4;Yes)、チェックサムが正常か否か判定され(S5)、チェックサムが正常である場合(S5;Yes)、復旧処理が実行され(S6)、S10へ移行する。
一方、S3の判定がYes、又はS4の判定がNo、又はS5の判定がNoの場合、RAMクリア(S7)、クリア時の作業領域設定(S8)、周辺部初期設定(S9)が順次実行されて、S10へ移行する。ここで、周辺部とは、払出制御基板26、演出制御基板27などである。周辺部初期設定は、各制御基板26,27のコンピュータに対して、初期設定の実行を指示する初期設定コマンドを送信することにより実行される。
S10において、タイマカウンタ(CTC)の周期(例えば、4ms)が設定される。尚、S10で設定された周期を用いてタイマ割込処理が実行される。次に、タイマ割込処理で実行される乱数異常検出処理の結果を受けて、乱数異常判定・対処処理が実行され(S11)される。
S11の乱数異常判定・対処処理実行後、電源遮断監視処理(S12)、変動パターン乱数更新処理(S13)、タイマ割込処理の禁止設定処理(S14)、初期値乱数更新処理(S15)、タイマ割込処理の許可設定処理(S16)が順次実行され、S11へリターンする。以降、S11〜S15の処理が繰返し実行される。
図8に示すように、S12の電源遮断監視処理では、先ず、タイマ割込処理の割込禁止の設定が実行され(S21)、次に、電源遮断か否か判定される(S22)。電源遮断でない場合(S22;No)、タイマ割込の割込許可が設定され(S23)、S13へリターンする。一方、電源遮断の場合(S22;Yes)、出力ポートクリア(S24)、チェックサム作成・格納(S25)、バックアップフラグのON(S26)、RAMアクセス禁止設定(S27)が順次実行され、エンドとなる。
次に、タイマ割込処理について説明する。タイマ割込処理は、図7のS10のCTC周期設定において設定された周期にて、メイン処理に微小時間毎に割込み実行される。図9に示すように、タイマ割込処理では、乱数更新処理(S31)、スイッチ処理(S32)、図柄処理(S33)、電動役物処理(S34)、賞球処理(S35)、出力処理(S36)が順次実行され、リターンする。
図10に示すように、S32の始動口SW処理では、第1始動口SW10aがオン、つまり、第1始動口10への遊技球の入賞が検出された場合(S41;Yes)、第1保留数U1が4未満の場合(S42;Yes)、第1保留数U1がU1+1に加算され(S43)、ハード乱数生成回路41から、複数個N(N=3個)の第1ハード乱数A,B,Cが微小時間T2(15.6μs)間隔で連続的に取得される(S44〜S46)。
図11、図12に示すように、ハード乱数生成回路41においては、1〜65535の範囲で第1微小時間T1(T1=0.0666681μs)毎にハード乱数が順次更新され、これら複数個N(N=65535個)のハード乱数の全てが更新される1周期分の更新時間T3(T1×N個)は、4369.1μs(=0.0666681×65535)である。乱数取得部21aが複数個N(N=3個)のハード乱数を連続的に取得する際の各ハード乱数取得間の時間(第2微小時間T2)は、15.6μsであり、この第2微小時間T2は、前記の1周期分のハード乱数の更新時間T3よりも短くなるように構成されている(T3>T2)。
S44〜S46において、3個の第1ハード乱数A,B,Cを連続的に取得する時間T4は、46.8μs(15.6μs×3個)であり、ハード乱数生成回路41における1周期分のハード乱数の更新時間T3(4369.1μs)よりも短くなるように構成されており(T3>T4(T2×N個))、ハード乱数生成回路41が正常である場合、ハード乱数の1周期分の更新時間T3内で取得される3個の第1ハード乱数A,B,Cの値は異なる。
3個の第1ハード乱数A,B,Cが取得・格納された後、乱数異常検出処理が実行される(S47)。図13に示すように、乱数異常検出処理では、先ず、取得・格納された3個の第1ハード乱数A,B,Cの値が読み込まれる(S57)。ここで、3個の第1ハード乱数のうち、最初に取得・格納された第1ハード乱数Aが、抽選用のハード乱数として使用され、全ての第1ハード乱数A,B,Cが、異常検出用のハード乱数として使用される。
次に、S58において、3個の異常検出用の第1ハード乱数A,B,Cの少なくとも2個の第1ハード乱数の値が一致するか否か判定され、S58の判定がYesの場合、乱数異常フラグがONされる(S60)。一方、S58の判定がNoの場合、乱数異常フラグがOFFにされる(S59)。S59又はS60が実行された後、乱数異常検出処理を終了して、リターンする。
図10の始動口SW処理において、S47の乱数異常検出処理の後、第1保留数増加コマンドがセットされる(S48)。次に、第2始動口SW11cがオンでない場合、つまり、第2始動口11aへの遊技球の入賞が検出されない場合(S49;No)、又は第2保留数U2が4未満でない場合(S50;No)、始動口SW処理を終了してリターンする。その後、タイマ割込処理における乱数異常検出処理に基づいて、図7のメイン処理において、図14に示すS11の第1ハード乱数異常判定・対処処理が実行される。
他方、始動口SW処理において、S41で第1始動口10aへの遊技球の入賞が検出されない場合(S41;No)、又は第1保留数U1が4未満でない場合(S42;No)、S49に移行して、第2始動口11aへの遊技球の入賞が検出された場合(S49;Yes)、第2保留数U2が4未満の場合(S50;Yes)、第2保留数U2がU2+1に加算され(S51)、ハード乱数生成回路41から、複数個(3個)の第2ハード乱数A,B,Cが微小時間間隔で連続的に取得される(S52〜S54)。ここで、複数個(3個)の第2ハード乱数のうち、最初に取得・格納された第2ハード乱数Aが、抽選用ハード乱数として使用され、全ての第2ハード乱数A,B,Cが、異常検出用のハード乱数として使用される。
次に、異常検出用の第2ハード乱数A,B,Cについて、S47と同様の乱数異常検出処理が実行された後(S55)、第2保留数増加コマンドがセットされ(S56)、始動口SW処理を終了して、リターンする。その後、タイマ割込処理における乱数異常検出処理に基づいて、図7のメイン処理において、図14に示すS11の第2ハード乱数異常判定・対処処理が実行される。尚、S48、S56でセットされたコマンド、及び、その他のステップでセットされたコマンドについては、タイマ割込処理におけるS36の出力処理により演出制御基板27に送信される。
図14に示すように、図7のメイン処理におけるS11の乱数異常判定・対処処理では、乱数異常検出処理による検出結果として、乱数異常フラグがONか否か判定され(S61)。乱数異常フラグがOFFの場合(S61;No)、つまり、ハード乱数生成回路41が正常である場合、メイン処理が継続となり(S62)、リターンする。つまり、メイン処理のS11以降の処理が実行される。
一方、乱数異常フラグがONの場合(S61;Yes)、つまり、ハード乱数生成回路41が異常である場合、乱数異常コマンドがサブ制御装置25(演出制御基板28)へ出力され(S63)、タイマ割込処理の割込許可の禁止が設定され(S64)、続いて、電源遮断すする際に必要な各種処理として、出力ポートクリア(S65)、チェックサム作成・格納(S66)、バックアップフラグON(S67)、RAMアクセス禁止設定(S68)が順次実行された後、ウォッチドッグタイマのリセット処理が繰返し実行する(S69)。この状態で、電源を一旦遮断してから投入すると、ハード乱数生成回路41の異常検出時(メイン処理中断時)に記憶されたバックアップ情報(遊技情報)に基づいて、遊技中断時点から遊技が再開される。
以上説明したパチンコ遊技機1の作用効果について説明する。
第1又は第2始動口10又は11aへ遊技球が入賞する毎に、乱数取得部21aによりハード乱数生成回路41から抽選用のハード乱数を含む3個のハード乱数が第2微小時間間隔で連続的に取得され、乱数異常判定部21により3個の異常検出用のハード乱数A,B,Cのうち少なくとも2個のハード乱数の値が一致するか否か判定されるので、ハード乱数生成回路41の異常の有無を簡単に且つ容易に判定できる。また、ハード乱数の取得及び異常判定を遊技中に何度も行うことで乱数異常判定の回数を増やすことができ、これにより、ハード乱数生成回路41の乱数異常判定の信頼性を高めることができる。
乱数異常判定部21が3個の異常検出用のハード乱数A,B,Cのうち少なくとも2個のハード乱数(AとB、又はAとC、又はBとC)が一致すると判定した場合、乱数異常対処部21dにより乱数異常対処処理が実行されるので、ハード乱数が正常に生成されていないハード乱数生成回路41の異常に確実に対処することができる。
乱数取得部21aが3個のハード乱数を連続的に取得する際の各ハード乱数取得間の時間T2(T2=15.6μs)が、ハード乱数生成回路41における1周期分のハード乱数の更新時間T3(T3=4369.1μs)よりも短くなるように構成され、乱数取得部21aが3個のハード乱数を連続的に取得する時間T4(T2×3個)が、ハード乱数生成回路41における1周期分のハード乱数の更新時間T3よりも短くなるように構成されたので、1周期分の更新時間T3内でハード乱数生成回路41の異常の有無を簡単に且つ容易に検出することができる。
乱数取得部21aがハード乱数生成回路41から連続的に取得した3個のハード乱数のうちの1個を抽選用のハード乱数として兼用するので、始動口SW処理において、抽選用のハード乱数の取得処理を設ける必要がなく、異常検出用のハード乱数と抽選用のハード乱数取得処理を効率的に行うことができる。
乱数異常対処部21dは、乱数異常対処部21dは、ハード乱数生成回路41の異常が検出された場合、乱数異常対処処理として、メイン処理の実行を中断するので、ハード乱数生成回路41の異常が発生したら直ちに遊技を停止することができると共に、その異常に迅速に対処することができる。また、ハード乱数生成回路41に異常が発生した場合に、その他の遊技処理(タイマ割込処理等)を実行させないようにすることができる。
更に、乱数異常対処処理として、メイン処理の実行が中断されている間にウォッチドッグタイマがカウントアップしないように、ウォッチドッグタイマをリセット(クリア)する処理のみを繰返し実行するので、メイン制御装置21のコンピュータが強制的に初期化されることがなく、画像表示器16に初期化表示(カラーバー表示)を実行させないようにすることができ、パチンコ遊技機1の内部異常に対する遊技者の不信感を抑制することができる。
次に、実施例1を部分的に変更した実施例2について説明する。尚、実施例1と実質的に同一の構成については説明を省略する。
図15に示すように、メイン制御装置21Aは、そのコンピュータにより構成された、乱数取得部21a、乱数判定部21b、乱数異常判定部21f、乱数異常対処部21g、乱数異常情報出力部21eを有すると共に、そのコンピュータとは別に、ハード乱数生成回路41を備えている。
ハード乱数生成回路41は乱数異常検出部41aを有し、この乱数異常検出部41aは、1周期分の複数のハード乱数を生成するのに要する更新時間を含む設定期間Px内で、その1周期分の複数のハード乱数の全てを生成したか否か検出する。
乱数異常検出部41aは、そのメモリに1〜65535の全てのハード乱数の情報を予め記憶しておいて、順次生成されたハード乱数の情報を消去(リセット)して、最終的に全てのハード乱数の情報が消去された場合に、1周期分の複数のハード乱数の全てが生成されたことを検出し、検出されない場合、1周期分の複数のハード乱数の少なくとも1つが生成されなかったことを検出する。
乱数異常検出部41aによる検出結果として、1周期分の複数のハード乱数の全てが生成された場合には、乱数異常フラグがOFFにされ、複数のハード乱数の少なくとも1つが生成されなかった場合には、乱数異常フラグがONにされる。
設定期間Pxは、メイン制御装置21Aが実行する電源投入時から開始するメイン処理における電源投入直後から遊技動作実行可能状態になる最初のタイマ割込処理の割込み許可を設定する迄の間の電源投入初期期間に含まれる。具体的には、設定期間Pxは、1000msの期間であり、電源投入直後のハード乱数生成回路41の起動時に設定される。ハード乱数生成回路41において、乱数異常検出部41aは、前記電源投入初期期間のうちのハード乱数生成回路41の起動時から1000ms経過するまでの設定期間Pxの間に乱数異常検出処理を実行する。
乱数異常判定部21fは、乱数取得部21aが取得したハード乱数に基づく乱数異常の判定(第2判定手段に相当する)と、ハード乱数生成回路41のハード乱数異常検出部41aによる検出結果に基づく乱数異常を判定(第1判定手段に相当する)する機能を兼用する。乱数異常判定部21f、ハード乱数生成回路41の乱数異常検出部41aによる検出結果、つまり、ハード乱数生成回路41で1周期分の複数のハード乱数の全てを生成したか否かを判定し、具体的には、その判定を乱数異常フラグで以て判定する。
乱数異常対処部21gは、乱数異常判定部21fの判定結果(第1判定手段による判定結果)に基づいてメイン処理における前記の電源投入初期期間に乱数異常対処処理を実行し、更に、乱数異常判定部21fの判定結果(第2判定手段による判定結果)に基づいてメイン処理のループ処理実行中に乱数異常対処処理を実行する。
次に、メイン制御装置21Aが実行する処理をフローチャートに基づいて説明する。尚、各処理におけるSi(i=1A,2,・・・)は各ステップを示す。
図16に示すように、電源投入によりメイン処理が開始され、このメイン処理において、先ず、電源投入直後に、乱数異常判定・対処処理が実行される(S1A)。
図17に示すように、S1Aの乱数異常判定・対処処理では、先ず、ウェイトタイマtwに1000msがセットされ(S71)、続いて、ハード乱数生成回路41が起動される(S72)。
ハード乱数生成回路41では、その起動時から、乱数異常検出部41aによる乱数検出処理が開始され、その後、最短で1周期分のハード乱数の更新時間T3を含む設定期間Px内に、1周期分の複数のハード乱数の全てを生成したか否かの検出結果が導出されて、1周期分の複数のハード乱数の全てが生成された場合、乱数異常フラグがOFFにされ、1周期分の複数のハード乱数の少なくとも1つが生成されなかった場合、乱数異常フラグがONされる。
S72の後、ウェイトタイマtwの減算計時が開始され(S73)、S74において、tw=0か否か判定され、tw=0でない場合(S74;No)、tw=0になるまで減算計時処理が繰返し実行される。その間で、乱数異常検出部41aによる乱数異常検出処理が完了していることになる。S74の判定がYesの場合、次に、乱数異常フラグが読み込まれてONか否か判定される(S75)。乱数異常フラグがOFFの場合(S75;No)、つまり、複数のハード乱数の全てが生成された場合、メイン処理が継続となり(S76)、リターンする。つまり、メイン処理のS2以降の処理が実行される。
一方、乱数異常フラグがONの場合(S75;Yes)、つまり、複数のハード乱数の少なくとも1つが生成されなかった場合、乱数異常コマンドがサブ制御装置25(演出制御基板28)へ出力され、メイン処理が中断となり(S78)、メイン処理開始と同時にカウントを開始したウォッチドッグタイマのカウント値をリセットする処理が繰返し実行する(S79)。この状態で、電源を一旦遮断してから投入すると、遊技が再開される。
図16のメイン処理において、S1Aの乱数異常判定・対処処理の後、つまり、S75の判定がNoの場合、次に、実施例1と同様に、S2〜S16の処理が実行される。
このように、メイン処理において電源投入初期期間に乱数異常判定・対処処理が実行されるので、電源投入直後にハード乱数生成回路41の異常の有無を早期に且つ確実に検出することできる。その他、実施例1と同様の効果を奏する。
乱数異常対処処理としてウォッチドッグタイマをリセットする処理のみを繰返し実行して、メイン処理の実行を中断するので、ハード乱数生成回路41の異常が発生したら直ちに遊技を停止することができると共に、ハード乱数生成回路41の異常に迅速に対処することができる。その他、実施例1と同様の効果を奏する。
前記実施例を次のように変更可能である。
(1)実施例では、乱数取得部21aは、ハード乱数生成回路41から3個のハード乱数を取得するように構成したが、1周期分のハード乱数の更新時間T3内において第2微小時間T2間隔で2個、又は4個以上280個未満(T3/T2)のハード乱数を取得するように構成してもよい。4個以上の場合、ハード乱数の取得数を増やすことで、ハード乱数生成回路41の乱数異常判定の信頼性を高めることができる。
(2)実施例では、複数個Nのハード乱数の1つを抽選用のハード乱数として兼用したが、1個の抽選用のハード乱数(第1又は第2ハード乱数A)と、複数個(第1又は第2ハード乱数B,C)の異常検出用のハード乱数を夫々取得するようにしてもよい。即ち、1個の異常検出用のハード乱数を、抽選用のハード乱数として兼用しないようにしてもよい。
(3)実施例では、第1又は第2始動口10又は11aへの遊技球の入賞毎に、第1又は第2保留球数が4未満の場合に、ハード乱数を取得するように構成したが、第1又は第2始動口10又は11aへの遊技球の入賞毎に、第1又は第2保留球数が4個の場合でも、ハード乱数を取得するようにしてもよい。但し、この場合、1個のハード乱数を抽選用のハード乱数として使用しない。つまり、4個目のハード乱数については大当り抽選は判定されない。その結果として、第1又は第2始動口10又は11aへの遊技球の入賞毎に、第1又は第2保留球数が4個の場合でもハード乱数を取得することで、ハード乱数生成回路41の乱数異常の判定回数を増やすことができ、これにより、ハード乱数生成回路41の乱数異常判定の信頼性を一層高めることができる。
(4)実施例2では、メイン処理におけるS1Aの乱数異常判定・対処処理が、メイン処理の開始直後(電源投入直後)に実行されるように構成したが、前記の電源投入初期期間におけるS10のCTC周期設定よりも前のステップであれば、どのステップ後に実行されるようにしてもよい。
(5)乱数取得成立条件として、前記の第1又は第2始動口10又は11aへの遊技球の入賞の他に、一般入賞口14への遊技球の入賞時に、複数個Nのハード乱数を取得するようにしてもよい。但し、複数個Nのハード乱数の何れも抽選用のハード乱数として使用しないようにする。
(6)乱数取得成立条件として、実施例で記載した条件の他に、所定時間間隔おきにハード乱数生成回路41から複数個(N)ハード乱数を取得するようにしてもよい。但し、複数個Nのハード乱数の何れも抽選用のハード乱数として使用しないようにする。
(7)その他、本発明を逸脱しない範囲において種々の変更を付加して実施可能である。そして、本発明は、種々のパチンコ遊技機に適用できる他、パチンコ遊技機以外のスロットマシンや、その他の種々の遊技機への適用が可能である。