図1、図2に示すように、パチンコ遊技機1には、遊技ホールに取付けられる外枠に開閉枠2が開閉自在に装着され、開閉枠2に開閉扉3が開閉自在に装着されている。開閉枠2に鉛直な盤面を形成する遊技盤4が装着され、遊技盤4の前面側に遊技領域4aが形成されている。遊技盤4の下側には遊技球を発射する発射機構8(図3参照)が配置されている。発射機構8は、遊技球を打撃する打撃槌(図示略)と、この打撃槌を作動させる発射SOL8aと、発射部の遊技球を検出する発射球検出SW(図示略)などを有する。尚、「SOL」は、ソレノイドアクチュエータを意味し、「SW」はスイッチを意味する。
開閉扉3に窓3aが形成され、その窓3aに透明板3bが装着され、その透明板3bにより遊技領域4aの前側が覆われている。
開閉扉3には、窓3aの下側に遊技球を貯留する貯留皿5が設けられ、その貯留皿5に演出ボタン6が装着され、貯留皿5の右下側に発射ハンドル7が装着されている。発射ハンドル7が回動操作されると、発射機構8の発射SOL8aが駆動され、発射ハンドル7の回動操作位置を調整することで、発射機構8の発射SOL8aの駆動力、つまり、発射機構8の打撃槌の遊技球への打撃力が調整される。遊技球は、貯留皿5から発射機構8の発射部に導入されて発射され、ガイドレール18で案内されて遊技領域4aの上部に投入される。貯留皿5に複数の遊技球が存在する場合には、複数の遊技球が約0.6秒間隔で連続発射される。
図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が付設されている。尚、第1始動口SW10aが始動手段に相当する。
第2始動口装置11は、第2始動口11a、第2始動口11aを開閉する開閉部材11b、第2始動口11aに入賞した遊技球を検出する第2始動口SW11c、開閉部材11bを開閉駆動する第2始動口SOL11d(電チューSOL)を有する。開閉部材11bは、閉位置で第2始動口11aへの遊技球の入賞を不可能にし、開位置で第2始動口11aへの遊技球の入賞を可能にする。尚、第2始動口SW11cが始動手段に相当する。
大入賞口装置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を複数ラウンド(例えば、10ラウンド)に亙って開閉させる。
普通図柄表示器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外へ排出される。
次に、パチンコ遊技機1の制御系について説明する。
図3に示すように、遊技制御装置20は、主要な遊技制御を司るメイン制御装置21と、メイン制御装置21から種々の指令を受けて払出制御と演出制御と発射制御とを司るサブ制御装置25とを備えている。メイン制御装置21は、遊技制御基板22に遊技制御プログラムに基づき遊技内容の進行に伴う基本処理を実行するCPUと、遊技制御プログラムを記憶するROMと、CPUの演算処理時におけるデータのワークエリアとして機能するRAMとを有するコンピュータと、ハード乱数生成回路41とを備えて構成されている。遊技制御基板22は遊技情報出力端子基板23に接続されている。
メイン制御装置21のCPUには、ウォッチドッグタイマが付属されている。ウォッチドッグタイマは、メイン制御装置21のコンピュータが遊技制御プログラムに従って正常に動作しているか否かを監視する機能を有する。遊技制御プログラムに異常が発生して、実行中の遊技制御プログラムが中断又は停止した場合や、プログラムの実行を中断した後他の遊技処理が実行されないようにループ処理のみが繰返し実行される場合、その停止状態やループ処理による待機状態の間に、ウォッチドッグタイマのタイマカウント部がカウントアップすると、メイン制御装置21のコンピュータが強制的に初期化される。
サブ制御装置25は、払出制御基板26、演出制御基板27、画像制御基板28、ランプ制御基板29、発射制御基板30に夫々CPUとROMとRAMを有するコンピュータを備えて構成されている。演出制御基板27のコンピュータは更に、実時間を計時出力する計時手段としてのリアルタイムクロック(RTC)を有する。
遊技制御基板22のコンピュータは、第1,第2始動口SW10a,11c、ゲートSW12a、大入賞口SW13c、一般入賞口SW14aからの球検出信号と、払出制御基板26からの制御情報を受けて、第2始動口SOL11d、大入賞口SOL13d、図柄表示器19a〜19c、図柄保留ランプ19d〜19fを制御し、払出制御基板26と演出制御基板27と遊技情報出力端子基板23に制御情報(遊技情報)を出力する。
払出制御基板26のコンピュータは、遊技制御基板22からの制御情報と、払出球計数SW32からの球検出信号を受けて、払出機構31の払出モータ31aを駆動制御し、入賞口10,11a,13a,14への遊技球の入賞1個について、入賞口10,11a,13a,14毎に設定された数の遊技球を貯留皿5に払出す一方、開閉扉開放SW32からの検出信号を受けて、払出モータ31aを停止制御する。
演出制御基板27のコンピュータは、遊技制御基板22からの制御情報と、演出ボタン6からのボタン操作信号を受けて、画像制御基板28に制御情報を出力し、更に、画像制御基板28からの制御情報を受けて、ランプ制御基板29に制御情報を出力する。
画像制御基板28のコンピュータは、演出制御基板27からの制御情報を受けて、画像表示器16とスピーカ35とを制御し、演出制御基板27に制御情報を出力する。ランプ制御基板29のコンピュータは、演出制御基板27からの制御情報を受けて、主に画像制御基板28のコンピュータによる制御に同期させて、枠ランプ36と盤ランプ37と可動役物装置17とを制御する。
発射制御基板30のコンピュータは、カードユニット34や遊技制御基板22から払出制御基板26を介して発射機構8の発射動作を許可する発射許可信号と、可変抵抗器7a(発射ボリューム)からの発射強度検出信号と、タッチセンサ7bからの検知信号とを受けて、発射機構8の発射用SOL8aを駆動制御する一方、遊技制御基板22から払出制御基板26を介して発射機構8の発射動作を停止させる発射停止信号を受けて、発射SOL8aを停止制御する。尚、遊技制御基板22が発射許可信号の出力をオフすることで発射機構8の発射動作をさせないようにしてもよい。
ここで、発射ハンドル7には、前記可変抵抗器7aとタッチセンサ7bとが設けられている。可変抵抗器7aは、遊技者が回動操作した発射ハンドル7の回動角度に応じて抵抗値の大きさが変化する。
タッチセンサ7bは、遊技者が発射ハンドル7にタッチしているか否かを検出し、発射ハンドル7に接触している物体の静電容量の変化が特定値を示したとき、遊技者の手が発射ハンドル7にタッチしたと検出する。
発射制御基板30のコンピュータは、タッチセンサ7bで遊技者が発射ハンドル7にタッチしていることを検出した場合に、可変抵抗器7aの抵抗値の大きさに応じた発射強度、即ち、発射ハンドル7の回動角度に応じて設定される発射強度で遊技球が遊技領域4aへ向けて発射されるように発射SOL8aを駆動制御する。
図4に示すように、メイン制御装置21は、そのコンピュータにより構成された、乱数取得部21a、乱数判定部21b、保留乱数記憶部21c、乱数異常判定部21d、乱数異常対処部21e、乱数取得禁止部21f、乱数異常情報出力部21gを有すると共に、そのコンピュータとは別に、ハード乱数生成回路41を備えている。
ハード乱数生成回路41は、メイン制御装置21のコンピュータの動作クロックとは無関係に抽選用ハード乱数を微小時間毎に順次更新しつつ周期的にハード乱数を生成するように構成されている。図5に示すように、ハード乱数生成回路41は、水晶振動子を用いた発振器42と、発振器42から数MHzのクロックパルスに基づいてカウントアップされる乱数カウンタ43と、メイン制御装置21のCPUからの要求信号をクロックパルスに同期してラッチするD型フリップフロップ44と、D型フリップフロップ44の出力値の変化に応答して乱数カウンタ43の出力値を読み込むバッファIC回路45とを備えている。
乱数カウンタ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に出力する。
ハード乱数生成回路41は乱数異常検出部41aを有し、この乱数異常検出部41aは、ハード乱数生成回路41の乱数異常を検出する乱数異常検出処理を実行する。具体的には、1周期分の複数のハード乱数を生成するのに要する時間を含む設定期間Px内で、その1周期分の複数のハード乱数の全てを生成したか否かを検出する。
乱数異常検出部41aは、そのメモリに1〜65535の全てのハード乱数の情報を予め記憶しておいて、順次生成されたハード乱数の情報を消去(リセット)して、最終的に全てのハード乱数の情報が消去された場合に、1周期分の複数のハード乱数の全てが生成されたことを検出し、検出されない場合、1周期分の複数のハード乱数の少なくとも1つが生成されなかったことを検出する。
乱数異常検出部41aによる検出結果として、1周期分の複数のハード乱数の全てが生成された場合には、乱数異常フラグがOFFにされ、複数のハード乱数の少なくとも1つが生成されなかった場合には、乱数異常フラグがONにされる。
前記設定期間Pxは、1000msの期間である。具体的には、設定期間Pxは、ハード乱数生成回路41においてメイン制御装置21のコンピュータから異常検出指令を受けた時に設定される。
乱数取得部21aは、第1又は第2始動口SW10a又は11cによる遊技球の検出時に、乱数取得条件が成立している場合にハード乱数生成回路41から抽選用ハード乱数を取得する。第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で取得された抽選用ハード乱数の内、特別図柄の変動、即ち、乱数判定部21bによる判定に未だ供していない抽選用ハード乱数を保留乱数として順次記憶する。即ち、保留乱数記憶部21cは、第1又は第2始動入賞口10又は11aに遊技球が入賞した時に生成された抽選用ハード乱数と保留球数とを、特別図柄の変動に供するまで一時的に最大で4組まで保留乱数として記憶することで、特別図柄の図柄変動を保留する。
乱数異常判定部21dは、ハード乱数生成回路41の乱数異常検出部41aによる検出結果、つまり、ハード乱数生成回路41で1周期分の複数のハード乱数の全てを生成したか否かを判定し、具体的には、その異常判定を乱数異常フラグで以て判定する。
乱数異常対処部21eは、乱数異常判定部21cの判定結果に基づいて、つまり、ハード乱数生成回路41の乱数異常検出部41aによる検出結果を受けて、1周期分の複数のハード乱数の少なくとも1つが生成されなかった場合に、乱数異常対処処理を実行する。
この乱数異常対処処理では、発射制御処理と遊技停止処理とが実行される。具体的には、乱数異常対処部21eは、発射制御部としての機能を有し、乱数異常判定部21dでハード乱数生成回路41に異常が有ると判定された場合に、その異常判定時以降から特定処理の実行が完了するまでの間に、大当り遊技が発生しているときには、その大当り遊技の実行中に発射機構8による遊技球の発射を許可する為に、発射制御基板30に発射許可信号を出力する一方、大当り遊技が発生していないときには、発射機構8による遊技球の発射を禁止する為に、発射制御基板30に発射停止信号を出力して、発射制御基板30を介して発射機構8を制御する。尚、発射機構30の発射制御処理を実行する乱数異常対処部50eが、発射制御手段に相当する。
ここで、前記特定処理とは、乱数保留記憶部21cに異常判定時以前に取得され記憶された未消化の有効保留数に基づく特別図柄の変動表示、主に大当り遊技の実行中の大入賞口13aへの入賞による払出機構31の賞球の払出しを実行する為の処理である。尚、有効保留乱数は、乱数異常有りと判定される以前に取得された抽選用ハード乱数の内、特別図柄の変動、即ち、乱数判定部21bによる判定に未だ供していない抽選用ハード乱数を保留乱数として保留乱数記憶部21cに記憶された保留乱数を意味する。
乱数異常対処部21eは、前記特定処理の全ての実行が完了した後、遊技停止処理を実行する。具体的には、メイン制御装置21で実行されるメイン処理の実行を中断し、そのメイン処理の実行が中断されている間にウォッチドッグタイマがカウントアップしないように、ウォッチドッグタイマをリセット(クリア)する処理のみを繰返し実行して、メイ処理のおける全ての遊技処理を停止させる。尚、遊技停止処理を実行する乱数異常対処部50eが、遊技停止処理手段に相当する。
乱数取得禁止部21fは、乱数異常判定部21dでハード乱数生成回路41に異常にあると判定された場合に、その異常判定時以降において、乱数取得部21aによるハード乱数生成回路41からの抽選用ハード乱数の取得を禁止する。
乱数異常情報出力部21gは、乱数異常判定部21dでの判定結果に基づいて、つまり、ハード乱数生成回路41の乱数異常検出部41aによる検出結果を受けて、1周期分の複数のハード乱数の少なくとも1つが生成されなかった場合に、乱数異常情報(乱数異常コマンド)をサブ制御装置25へ出力する。
サブ制御装置25は乱数異常対処部25aを有し、その乱数異常対処部25aが、メイン制御装置21から乱数異常情報を受けた場合、報知機器47(画像表示器16、スピーカ35、枠ランプ36、盤ランプ37の少なくとも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〜S16の処理を繰返し実行する。
図8に示すように、S11の乱数異常判定・対処処理では、ウェイトタイマtwが計時中か否か判定し(S21)、計時中でない場合(S21;No)、ハード乱数生成回路41のハード乱数異常検出処理を実行するか否か判定する(S22)。ここで、このハード乱数異常検出処理は、所定時間間隔おきに(例えば、30分や1時間おきに)開始するように設定されている。ハード乱数異常検出処理を開始しない場合(S22;No)、リターンして、メイン処理のS11以降の処理を実行する。
一方、乱数異常検出処理を開始する場合、つまり、予め設定された異常検出開始時間になった場合(S22;Yes)、ウェイトタイマtwに1000msをセットし(S23)、続いて、ハード乱数生成回路41に異常検出指令を出力する(S24)。
ハード乱数生成回路41では、メイン制御装置21のコンピュータから異常検出指令を受けた時から、乱数異常検出部41aが乱数異常検出処理を開始する。乱数異常検出部41aは、設定期間Px(1000ms)内で、最短で1周期分の複数のハード乱数の全てを生成したか否かの検出結果を導出して、1周期分の複数のハード乱数の少なくとも1つが生成されなかった場合、乱数異常フラグをONする。
S24の後、ウェイトタイマの減算計時を開始する(S25)。計時開始後、ウェイトタイマtwが計時中の場合、S21の判定はYesとなり、その後、S26において、tw=0か否か判定し、tw=0でない場合(S26;No)、リターンする。
一方、S26の判定がYes、つまりtw=0の場合、ハード乱数生成回路41において乱数異常検出部41aによる乱数異常検出処理が完了していることになる。次に、乱数異常検出部41aがセットされた乱数異常フラグを読み込み、乱数異常フラグがONか否かの乱数異常判定処理を実行する(S27)。乱数異常乱数フラグがOFFの場合(S27;No)、つまり、複数のハード乱数の全てが正常に生成された場合、S11以降のメイン処理が継続となり(S28)、リターンする。
一方、乱数異常フラグがONの場合(S27;Yes)、つまり、複数のハード乱数の少なくとも1つが正常に生成されなかった場合、乱数異常コマンドをサブ制御装置25(演出制御基板27)に出力する(S29)。
次に、乱数異常対処処理として、先ず、遊技状態が大当り遊技の実行中か否か判定する(S30)。S30の判定がYesの場合、発射停止中か否か判定し(S31)、S31の判定がYesの場合、発射許可信号を発射制御基板30に出力し(S32)、S30へリターンする。一方、S31の判定がNoの場合、つまり、既に発射許可中の場合、S30へリターンする。つまり、大当り遊技の実行中には、遊技球を発射できる状態にして遊技者に有益な大当り遊技を実行させるようにする。
他方、S30の判定がNoの場合、即ち、遊技状態が大当り遊技の実行中以外の場合、発射停止中か否か判定し(S33)、S33の判定がYesの場合つまり、既に発射停止中の場合、S35へ移行する。一方、S33の判定がNoの場合、発射停止信号を発射制御基板30に出力する(S34)。つまり、大当り遊技の実行中以外のときは、遊技球を発射できない状態にして、遊技者に遊技を実行させないようにする。
次に、保留乱数記憶部21cに未消化の有効保留乱数が記憶されているか否か判定し(S35)、S35の判定がNoの場合、現在、特別図柄が変動中(又は、未消化の有効保留乱数に基づく特別図柄の変動中)か否か判定し(S36)、S36の判定がNoの場合、大当り遊技の実行中の大入賞口13aへの入賞や入賞口10、11a、12、14への入賞による賞球の払出しを完了したか否か判定する(S37)。S37の判定がYesの場合、S38へ移行して、遊技停止処理を実行する。一方、S35の判定がYes、又はS36の判定がYes、又はS37の判定がNoの場合、S30へリターンする。即ち、S35、S36を経て、S37でYesと判定される迄、S30〜S37の処理を繰返し実行する。
次に、遊技停止処理として、先ず、タイマ割込処理の割込み許可の禁止(S38)、続いて、電源遮断に必要な各種処理として、出力ポートクリア(S39)、チェックサム作成・格納(S40)、バックアップフラグON(S41)、RAMアクセス禁止(S42)の処理を順次実行した後、ウォッチドッグタイマのリセット処理を繰返し実行して(S43)、全ての遊技処理を停止させる。この状態で、電源を一旦遮断してから投入すると、ハード乱数生成回路41の異常検出時(メイン処理中断時)に記憶されたバックアップ情報(遊技情報)に基づいて、遊技中断時点から遊技が再開される。
次に、乱数異常有りの判定時及びそれ以降において、考えられる様々な遊技状況に応じて、前記のS30〜S43により発射許可信号と発射停止信号の出力と遊技停止処理を実現させる等の処理について、図9、図10に示すタイムチャートに基づいて説明する。
図9の(a)に示すように、乱数異常有りの判定時に特別図柄の変動中である場合、直ちに発射停止信号が出力され、発射機構8を制御して遊技球を発射できない状態にする。
次に、前記特別図柄の変動後に、大当り図柄が停止表示されて大当り遊技が発生した場合、発射許可信号が出力され、複数ラウンド(例えば、10ラウンド)に亙って実行される大当り遊技状態が終了する迄の間、遊技球を発射できる状態にする。
大当り遊技状態が終了した後、消化された保留乱数に基づく特別図柄の変動が開始されると、その変動開始と同時に発射停止信号が出力され、その特別図柄の変動中は遊技球を発射できない状態にする。その後、保留乱数記憶部21cに記憶されている未消化の有効保留乱数の全てを消化し、その消化された最後の有効保留乱数に基づく特別図柄の変動が停止表示され、大当り遊技が発生せず、前記大当り遊技の実行中の大入賞口13aへの入賞又は他の入賞による賞球の払出しが完了した場合には、遊技停止処理が実行される。
図9の(b)に示すように、乱数異常有りの判定時に大当り遊技の実行中の場合、その大当り遊技状態が終了する迄の間、発射停止信号は出力されない。大当り遊技状態が終了した後、未消化の有効保留乱数に基づく特別図柄の変動が開始されると同時に発射停止信号が出力され、その後、未消化の有効保留乱数の全てを消化し、消化された最後の有効保留乱数に基づく特別図柄の変動が終了し、大当り遊技が発生せず、賞球の払出しが完了した場合には、遊技停止処理が実行される。
図9(c)に示すように、乱数異常有りの判定時に、遊技状態が特別図柄の変動中である場合、直ちに発射停止信号が出力され、遊技球を発射できない状態にする。その後、未消化の有効保留乱数が順次消化されて特別図柄の変動が終了し、大当り遊技が発生せず、賞球の払出しが完了した場合には、遊技停止処理が実行される。
図10に示すように、乱数異常有りの判定時に、保留乱数記憶部21に有効保留乱数が記憶されておらず、且つ、有効保留乱数に基づく特別図柄の変動が既に終了し、且つ、その異常判定時以前の入賞口10、11a、12、13a、14への入賞による賞球の払出しが完了している場合、直ちに発射停止信号が出力されると共に、遊技停止処理が実行される。
次に、タイマ割込処理について説明する。
メイン制御装置21は、図7のS10のCTC周期設定において設定された周期にて、メイン処理に微小時間毎(例えば、2ms)にタイマ割込処理を実行する。図11に示すように、タイマ割込処理では、先ず、乱数異常フラグがONか否か判定する(S51)。S51の判定がNoの場合、つまり、ハード乱数生成回路41が正常である場合、乱数更新処理(S52)、スイッチ処理(始動口SW処理)(S53)、図柄処理(特別図柄処理)(S54)、電動役物処理(大入賞口処理)(S55)、賞球処理(S56)、出力処理(S57)を順次実行し、リターンする。尚、S54〜S56の処理が、特定処理に相当する。
一方、S51の判定がNoの場合、つまり、ハード乱数生成回路41に異常がある場合、S52の乱数更新処理、S53のスイッチ処理を実行せずに、S54へ移行して、S54以降の処理を順次実行する。即ち、ハード乱数生成回路41に異常がある場合、乱数異常フラグONの判定時以降においてスイッチ処理での乱数取得部21aによるハード乱数生成回路41からの抽選用乱数の取得を禁止する。
図12に示すように、S53の始動口SW処理では、第1始動口SW10aがオンの場合、つまり、第1始動口10への遊技球の入賞が検出された場合(S61;Yes)、第1保留数U1が4未満の場合(S62;Yes)、第1保留数U1をU1+1に加算し(S63)、ハード乱数生成回路41から第1ハード乱数を取得・格納し(S64)、第1保留数増加コマンドをセットする(S65)。S61の判定がNo、又はS62の判定がNo、又はS65の後はS66へ移行する。
次に、第2始動口SW11cがオンの場合、つまり第2始動口11aへの遊技球の入賞が検出された場合(S66;Yes)、第2保留数U2が4未満の場合(S67;Yes)、第2保留数U2をU2+1に加算し(S68)、ハード乱数生成回路41から第2ハード乱数を取得・格納し(S69)、第2保留数増加コマンドをセットする(S70)。S66の判定がNo、又はS67の判定がNo、又はS70の後はリターンする。尚、S65、S70でセットされたコマンド、及び、その他のステップでセットしたコマンドについては、S57の出力処理により演出制御基板27に送信する。
図13に示すように、S54の特別図柄処理では、先ず、当り遊技フラグがON(つまり、大当り遊技中や小当り遊技中)か否か判定し(S71)、S71の判定がYesの場合、リターンする。S71の判定がNoの場合、第1,第2特別図柄の両方が変動中でない場合に(S72;No)、S73へ移行する。第1,第2特別図柄の一方が変動中の場合(S72;Yes )、S82へ移行する。
次に、第2特図保留数U2が1以上の場合(S73;Yes )、第2特図保留数U2をU2−1に減算し(S74)、第2特図保留数U2が0の場合(S73;No)、第1特図保留数U1が1以上の場合に(S75;Yes )、第1特図保留数U1をU1−1に減算する(S76)。S74又はS76の後、客待ちフラグをOFFに設定し(S77)、大当り判定処理(S78)を実行し、続いて、変動パターン選択処理(S79)を実行する。第1特図保留数U1が0の場合(S75;No)、客待ち設定処理(S86)を実行し、リターンする。
S78の大当り判定処理では、先ず、S76又はS74で減算した第1又は第2特図保留に対応する大当り乱数が、大当り特定値か否か、小当り特定値か否か判定する。例えば1/300の確率で大当り特定値と一致した場合には、今回の判定に用いた大当り乱数とペアの大当り図柄乱数に基づいて大当り図柄を選択設定し、例えば3/300の確率で小当り特定値と一致した場合には、小当り図柄を選択設定する。大当り特定値及び小当り特定値と一致しない場合には、ハズレ図柄を選択設定する。
S79の変動パターン選択処理では、変動パターン乱数を取得し、その変動パターン乱数と、S78の大当り判定処理で選択設定された図柄等に基づいて、特別図柄のリーチ有無を含む変動パターン(変動時間)を選択設定する。
S79の変動パターン選択処理の実行後、第1又は第2特別図柄を変動開始させ(S80)、S78とS79で設定された特別図柄の種類と変動パターン(変動時間)の情報を含む変動開始コマンドをセットする(S81)。その後、S79で設定された変動時間経過したか否か判定し(S82)、S82の判定がNoの場合、リターンする。S82の判定がYesの場合、第1又は第2特別図柄を変動停止させ(S83)、ここで、S78で設定された特別図柄を第1又は第2特別図柄表示器19a又は19bに停止表示させる。
続いて、変動停止コマンドをセットし(S84)、停止中処理(S85)を実行し、リターンする。S85の停止中処理では、S78で大当りと判定された場合、大当りフラグ(当り遊技フラグ)をONにし、S78で小当りと判定された場合、小当りフラグ(当り遊技フラグ)をONにする。また、複数種類の遊技状態(通常遊技状態、時短遊技状態、潜確遊技状態、確変遊技状態、大当り遊技状態)の中の何れか1つの遊技状態から他の何れか1つの遊技状態へ移行させる為の処理を実行する。
図14に示すように、S55の大入賞口処理では、先ず、当り遊技フラグ(大当りフラグ又は小当りフラグ)がONか否か判定し(S91)、S91の判定がNoの場合、リターンし、S91の判定がYesの場合、その当り遊技最初の大入賞口13aが開放する前のオープニング中であるか否か判定する(S92)。S92の判定がYesの場合、オープニング時間経過したか否か判定し(S93)、S93の判定がNoの場合、リターンする。S93の判定がYesの場合、R(ラウンド)数/作動パターンの設定処理を実行し(S94)、RをR+1に加算し(S95)、大入賞口13aを作動開始(開放)させ(S96)、S99へ移行する。
S92の判定がNoの場合、当り遊技最後の大入賞口13aが閉塞した後のエンディング中か否か判定し(S97)、S97の判定がYesの場合、S106へ移行する。S97の判定がNoの場合、大入賞口13aが作動中か否か判定し(S98)、S98の判定がNoの場合、S95へ移行し、S98の判定がYesの場合、S99へ移行する。S99では、実行中のRにおいてS94で設定された作動パターンの作動時間経過したか否か判定し、S99の判定がNoの場合、実行中のRにおいて大入賞口13aに遊技球が規定個数(例えば、10個)入賞したか否か判定し(S100)、S100の判定がNoの場合、リターンする。
S99の判定がYesの場合、或いは、S100の判定がYesの場合、大入賞口13aを作動終了(閉塞)させ(S101)、次に、RがS94で設定された作動パターンの最大Rか否か判定し(S102)、S102の判定がNoの場合、リターンする。S102の判定がYesの場合、エンディングを開始させ(S103)、エンディングコマンドをセットし(S104)、Rを0にリセットする(S105)。次に、エンディング時間経過したか否か判定し(S106)、S106の判定がNoの場合、リターンし、S106の判定がYesの場合、遊技状態設定処理(S107)を実行し、当り遊技フラグをOFFに設定し(S108)、リターンする。
S56の賞球処理では、各入賞口10,11a,13a,14に入賞した遊技球を賞球として管理する。例えば、メイン制御装置21のコンピュータは、大入賞口SW13cから球検出信号を受けると、各入賞口10,11a,13a,14に入賞した遊技球数に応じた賞球を設定する。
以上説明したパチンコ遊技機1の作用効果について説明する。
メイン制御装置21が電源投入直後からメイン処理を開始してからタイマ割込処理の割込み許可が設定された後、乱数異常判定・対処処理が実行される。この乱数異常判定・対処処理では、先ず、メイン制御装置21のコンピュータからハード乱数生成回路41に所定時間間隔おきに乱数異常検出指令が出力され、ハード乱数生成回路41で乱数異常検出処理が実行される。
ハード乱数生成回路41において、メイン制御装置21のコンピュータから乱数異常検出指令を受けた場合、1周期分のハード乱数を生成するのに要する時間を含む設定期間Px(1000ms)内で、乱数異常検出部41aによりハード乱数生成回路41がその1周期分の複数のハード乱数の全てを生成したか否かが検出され、複数のハード乱数の少なくとも1つが生成されなかった場合には、乱数異常フラグがONされるので、ハード乱数生成回路41の内部における自己診断機能により乱数異常を検出することできる。
乱数異常判定部21dによりその乱数異常フラグで以て乱数異常有りと判定された場合、乱数異常対処部21eにより乱数異常対処処理が実行されるので、メイン制御装置21のCPUの処理能力(処理速度)を必要以上に高めることなく、ハード乱数生成回路41で1周期分の複数のハード乱数の全てを生成したか否かを短期間で検出して、1周期分の複数のハード乱数の少なくとも1つが生成されなかった場合には迅速に乱数異常対処処理を実行して、ハード乱数が正常に生成されない異常に対処することができる。
ハード乱数生成回路41に異常があると判定された場合、その異常判定時以前から乱数保留記憶部21cに記憶されている未消化の有効保留乱数に基づく特別図柄の変動表示、主に、大当り遊技の実行中の大入賞口13aへの入賞による払出機構31の賞球の払出しの特定処理の全ての実行が完了する迄の間に、大当り遊技が発生しているときには、メイン制御装置21の乱数異常対処部21eから発射制御基板30へ発射許可信号が出力される一方、大当り遊技が発生していないときには、発射停止信号が出力され、発射機構30が制御される。
即ち、ハード乱数生成回路41に異常が有ると判定された場合、その異常判定時以降に特別遊技が発生しているときには、遊技球を発射できる状態にするので、遊技者に有益な遊技を実行させて、その際の大入賞口13aへの入賞による賞球の払出しを保障することができる。一方、その異常判定時以降に、大当り遊技が発生していない、即ち、大当り遊技の実行中以外のときには、遊技球を発射できない状態にするので、遊技者に無駄な遊技を実行させることを防止することができ、遊技者に不利益を与えることがない。また、大当り遊技の実行中以外のときは、無効となる入賞口へ向けて遊技者が遊技球を発射させることがないので、不信感を与えることがない。
前記特定処理の実行が完了した後、ウォッチドッグタイマのリセット処理のみを繰返し実行するので、メイン制御装置21のコンピュータが強制的に初期化されることがなく、画像表示器16に初期化表示(カラーバー表示)を実行させないようにすることができる。故に、パチンコ遊技機1の内部の異常に対する遊技者の不信感を抑制することができる。
実施例2においては、メイン制御装置21において、タイマ割込処理における始動口SW処理でハード乱数生成回路41の異常検出処理が実行される。尚、実施例1と実質的に同一の構成についてはその説明を省略する。
図15に示すように、メイン制御装置21Aは、そのコンピュータにより構成された、乱数取得部50a、乱数判定部50b、保留乱数記憶部50c、乱数異常判定部50d、乱数異常対処部50e、乱数取得禁止部50f、乱数異常情報出力部50gを有すると共に、そのコンピュータとは別に、ハード乱数を微小時間T1(第1微小時間、例えば、T1=0.067μs)毎に順次更新しつつ周期的に生成するハード乱数生成回路41を備えている。
乱数取得部50aは、異常検出用乱数取得部の機能を兼用しており、第1又は第2始動口SW10a又は10cによる遊技球の検出時に、乱数取得条件が成立している場合に、ハード乱数生成回路41から複数個N(例えば、N=3)の異常検出用のハード乱数を微小時間T2(第2微小時間:例えば、T2=15.6μs)間隔で連続的に取得する。複数個Nの異常検出用のハード乱数のうち1個のハード乱数は、抽選用のハード乱数として兼用される。第1又は第2始動口10又は11aへの遊技球の入賞毎に、第1又は第2保留球数が4未満の場合に、乱数取得条件が成立する。
乱数判定部50bは、乱数取得部50aで取得された抽選用のハード乱数の当りの当否を判定する。この場合、乱数取得部50aで取得された抽選用のハード乱数が予め設定された大当り特定値か否か判定する。
乱数異常判定部50dは、乱数取得部50aが取得した1個の抽選用のハード乱数を含む複数個Nの異常検出用のハード乱数のうち少なくとも2個のハード乱数の値が一致するか否か判定する。この乱数取得及び異常判定は、乱数取得条件が成立する毎に実行されるため、複数個Nの異常検出用のハード乱数の取得及び異常判定を遊技中に何度も行って、ハード乱数生成回路41で1周期分の複数(65535個)のハード乱数の全てが正常に更新されたか否かの判定の信頼性を高めることができる。
乱数異常対処部50eは、乱数異常判定部50dで複数個Nのハード乱数のうち少なくとも2個のハード乱数の値が一致すると判定された場合、つまり、1周期分のハード乱数の正規の更新時間内で、同じ値のハード乱数が2度以上取得された場合、乱数異常対処処理として、発射制御処理と遊技停止処理を実行する。乱数異常対処部50eによる発射制御処理と遊技停止処理は、実施例1と同様であるのでその具体的な説明を省略する。尚、発射機構30の発射制御処理を実行する乱数異常対処部50eが、発射制御手段に相当し、遊技停止処理を実行する乱数異常対処部50eが、遊技停止処理手段に相当する。
乱数取得禁止部50fは、乱数異常判定部50dでハード乱数生成回路41に異常にあると判定された場合に、その乱数異常判定時以降において、乱数取得部50aによるハード乱数生成回路41からの抽選用ハード乱数の取得を禁止する。
次に、メイン制御装置21Aが実行する各種処理をフローチャートに基づいて説明する。尚、図中の符号Si(i=111,112,・・・)は各ステップを示す。尚、メイン制御装置21Aが実行する、メイン処理、タイマ割込処理のうち、実施例1と異なる箇所について説明する。
タイマ割込処理におけるS53Aの始動口SW処理では(図11参照)、図16に示すように、第1始動口SW10aがオン、つまり、第1始動口10への遊技球の入賞が検出された場合(S111;Yes)、第1保留数U1が4未満の場合(S112;Yes)、第1保留数U1をU1+1に加算し(S113)、ハード乱数生成回路41から、複数個N(N=3個)の第1ハード乱数A,B,Cが微小時間T2(15.6μs)間隔で連続的に取得する(S114〜S116)。
図17、図18に示すように、ハード乱数生成回路41においては、1〜65535の範囲で微小時間T1(T1=0.0666681μs)毎にハード乱数が順次更新され、これら複数個N(N=65535個)のハード乱数の全てが更新される1周期分の更新時間T3(T1×N個)は、4369.1μs(=0.0666681×65535)である。乱数取得部21Aが複数個N(N=3個)のハード乱数を連続的に取得する際の各ハード乱数取得間の時間T2は、15.6μsであり、この微小時間T2は、前記の1周期分のハード乱数の更新時間T3よりも短くなるように構成されている(T3>T2)。
S114〜S116において、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が取得・格納された後、乱数異常検出処理を実行する(S117)。図19に示すように、乱数異常検出処理では、先ず、取得・格納された3個の第1ハード乱数A,B,Cの値を読み込む(S131)。ここで、3個の第1ハード乱数のうち、最初に取得・格納された第1ハード乱数Aが、抽選用のハード乱数として使用し、全ての第1ハード乱数A,B,Cを、異常検出用のハード乱数として使用する。
次に、3個の異常検出用の第1ハード乱数A,B,Cの少なくとも2個の第1ハード乱数の値が一致するか否か判定し(S132)、S132の判定がYesの場合、乱数異常フラグをONする(S134)。一方、S132の判定がNoの場合、乱数異常フラグをOFFにする(S133)。S133又はS134を実行した後、乱数異常検出処理を終了して、リターンする。
図16の始動口SW処理において、S117の乱数異常検出処理を実行した後、第1保留数増加コマンドをセットする(S118)。次に、第2始動口SW11cがオンでない場合、つまり、第2始動口11aへの遊技球の入賞が検出されない場合(S119;No)、又は第2保留数U2が4未満でない場合(S120;No)、始動口SW処理を終了してリターンする。
他方、始動口SW処理において、S111で第1始動口10aへの遊技球の入賞が検出されない場合(S111;No)、又は第1保留数U1が4未満でない場合(S112;No)、S119に移行して、第2始動口11aへの遊技球の入賞が検出された場合(S119;Yes)、第2保留数U2が4未満の場合(S120;Yes)、第2保留数U2をU2+1に加算し(S121)、ハード乱数生成回路41から、複数個(3個)の第2ハード乱数A,B,Cを微小時間間隔で連続的に取得する(S122〜S124)。ここで、複数個(3個)の第2ハード乱数のうち、最初に取得・格納された第2ハード乱数Aが、抽選用ハード乱数として使用し、全ての第2ハード乱数A,B,Cを異常検出用のハード乱数として使用する。
次に、異常検出用の第2ハード乱数A,B,Cについて、S117と同様の乱数異常検出処理を実行した後(S125)、第2保留数増加コマンドをセットして(S126)、始動口SW処理を終了して、リターンする。
図20に示すように、メイン処理におけるS11Aの乱数異常判定・対処処理では(図7参照)、乱数異常検出処理による検出結果として、乱数異常フラグがONか否か判定する(S141)。S141の判定がNoの場合、つまり、ハード乱数生成回路41が正常であると判定した場合、メイン処理が継続となり(S142)、リターンする。つまり、メイン処理のS11A以降の処理を実行する。
一方、乱数異常フラグがONの場合(S141;Yes)、つまり、ハード乱数生成回路41が異常であると判定した場合、乱数異常コマンドをサブ制御装置25(演出制御基板28)に出力し(S143)、乱数異常対処処理を実行する。S143以降の処理は、実施例1のS30〜S43の処理と同様であるので、その説明を省略する。
第1又は第2始動口10又は11aへ遊技球が入賞する毎に、乱数取得部50aによりハード乱数生成回路41から抽選用のハード乱数を含む3個の異常検出用のハード乱数が微小時間T2間隔で連続的に取得され、乱数異常判定部21により3個の異常検出用のハード乱数A,B,Cのうち少なくとも2個のハード乱数の値が一致するか否か判定されるので、ハード乱数生成回路41の異常の有無を簡単に且つ容易に判定できる。また、異常検出用のハード乱数の取得及び異常判定を遊技中に何度も行うことで乱数異常判定の回数を増やすことができ、これにより、ハード乱数生成回路41の乱数異常判定の信頼性を高めることができる。その他、実施例1と同様の作用効果を奏する。
尚、前記実施例を次のように変更可能である。
(1)実施例1で示した図9、図10は、一例を示したに過ぎず、その他、図9、図10以外で考えられる様々な遊技状況に応じて、前記のS30〜S43の処理に基づいて発射許可信号と発射停止信号の出力と遊技機停止処理を実行可能である。
(2)実施例1,2では、ハード乱数生成回路41に異常があると判定された場合、その異常判定時以降の乱数取得部21a、50aによる抽選用ハード乱数の取得を禁止するように構成したが、異常判定時以降において始動口SW処理を実行可能として、始動口SW処理において取得した保留乱数を無効にするようにしてもよい。
(3)実施例2では、乱数取得部50aは、ハード乱数生成回路41から3個の異常検出用のハード乱数を取得するように構成したが、1周期分のハード乱数の更新時間T3内において微小時間T2間隔で2個、又は4個以上280個未満(T3/T2)の異常検出用のハード乱数を取得するように構成してもよい。4個以上の場合、異常検出用のハード乱数の取得数を増やすことで、ハード乱数生成回路41の乱数異常判定の信頼性を高めることができる。
(4)実施例2では、複数個の異常検出用のハード乱数の1つを抽選用のハード乱数として兼用したが、1個の抽選用のハード乱数(第1又は第2ハード乱数A)と、複数個(第1又は第2ハード乱数B,C)の異常検出用のハード乱数を夫々取得するようにしてもよい。即ち、1個の異常検出用のハード乱数を、抽選用のハード乱数として兼用しない。
(5)実施例2では、第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の乱数異常判定の信頼性を一層高めることができる。
(6)その他、本発明の趣旨を逸脱しない範囲において種々の変更を付加して実施可能である。そして、本発明は、種々のパチンコ遊技機に適用できる他、パチンコ遊技機以外のスロットマシンや、その他の種々の遊技機への適用が可能である。