(57)【要約】【課題】遊技制御で用いられる乱数値を生成する乱数生成手段を備えた遊技機において、乱数の偏りをなくして一様性を確保し、予め設定した確率通りの抽選を行えるようにする。【解決手段】乱数生成手段（６０８）に、乱数更新手段（６０８ｂ８）に異常が発生したか否かを検出する更新異常検出手段（６０８ａ）と、更新異常を含む更新状態情報が記憶される更新状態情報記憶手段（６０８ｂ１０）とを設け、遊技制御手段（１０１）には、乱数値記憶手段が記憶保持する乱数値を取得して記憶保持する乱数値待避手段（ステップＳ６２１）と、更新手段に異常が発生したことを示す情報が更新状態情報記憶手段に記憶された場合には、乱数値待避手段に記憶した乱数値を乱数値記憶手段に記憶する乱数値復帰手段（ステップＳ２３，Ｓ６０４）を設け、乱数生成回路に異常が発生した場合にバックアップコピーした乱数値を復旧させるようにした。【選択図】図５
2011087606.tif 000002
【特許請求の範囲】
【請求項１】
遊技プログラムに従って遊技に係わる所要の制御を行う遊技制御手段と、該遊技制御手段による制御で用いられる乱数値を生成する乱数生成手段と、を備えた遊技機であって、
前記乱数生成手段は、
前記乱数値を記憶保持する乱数値記憶手段と、
前記乱数値の更新範囲を規定する更新範囲情報が記憶される範囲情報記憶手段と、
所定の更新信号に基づいて前記乱数値記憶手段に記憶されている乱数値を更新し、更新後の乱数値が前記更新範囲外の場合には当該更新後の乱数値が前記更新範囲内の値となるまで乱数値の更新を繰り返し行う更新手段と、
前記更新手段に異常が発生したか否かを検出する更新異常検出手段と、
更新異常を含む更新状態情報が記憶される更新状態情報記憶手段と、
前記更新手段により乱数値の更新を開始するか否かを示す起動情報を記憶する起動情報記憶手段と、
前記乱数値を更新中であるか否かを示す更新中情報が記憶される更新中情報記憶手段と、
を備え、
前記遊技制御手段は、
前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持する乱数値待避手段と、
所定の乱数取得条件が発生したことに基づいて前記乱数値記憶手段から乱数値を取得する乱数値取得手段と、
前記乱数値取得手段によって取得された乱数値を判定して遊技に係わる決定処理を行う遊技結果決定手段と、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合には、前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
を備え、
前記乱数値取得手段は、所定の乱数取得条件の発生が検出されると、前記更新中情報を参照して乱数値の更新中でないことが示されている場合に前記乱数値記憶手段から乱数値を取得することを特徴とする遊技機。
【請求項２】
前記乱数生成手段は、
遊技制御手段によって記憶可能であって、乱数値の更新を指示する更新指示情報を記憶可能な更新指示記憶手段を備え、
前記遊技制御手段は、
前記遊技プログラムによって実行されるメイン処理の少なくも一部をループするかたちで実行するメイン処理実行手段と、所定時間毎に発生する割込み信号に基づいて割込み処理を実行する割込み処理実行手段と、を備え、
前記割込み処理実行手段は、
前記乱数値取得手段と、割込み処理の実行毎に前記更新指示記憶手段に乱数値の更新を指示する更新指示情報を設定する更新指示情報設定手段と、を含み、
前記更新指示情報設定手段によって前記更新指示記憶手段に更新指示情報を設定する前に、前記乱数値待避手段により前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持するようにしたことを特徴とする請求項１に記載の遊技機。
【請求項３】
前記メイン処理実行手段は、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合に、
前記更新手段を初期化して異常状態から復帰する異常復帰手段と、
前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
前記乱数値復帰手段によって前記乱数値記憶手段に乱数値が記憶されたことに基づいて前記更新指示記憶手段に乱数の更新を指示する更新指示情報を設定する異常時更新情報設定手段と、
を備え、
前記更新手段が乱数値の更新に要する時間よりも、前記割込み処理実行手段に含まれる前記乱数値取得手段によって乱数値を取得する間隔の方が長くなるように設定したことを特徴とする請求項２に記載の遊技機。
【請求項４】
所定間隔で信号を発生させる信号発生手段を備え、
前記信号発生手段は、
前記更新手段が乱数値を更新するための前記所定の更新信号を発生させるとともに、発生させる間隔を設定可能に構成され、
前記遊技制御手段は、
前記遊技プログラムによって実行されるメイン処理をループするかたちで実行するメイン処理実行手段と、所定時間毎に発生する割込み信号に基づいて割込み処理を実行する割込み処理実行手段と、
を備え、
前記更新手段は、
前記信号発生手段が発生する前記所定の更新信号に基づいて乱数値の更新を行い、
前記遊技制御手段は、
前記信号発生手段が発生する割込み信号に基づいて実行する割込み処理の中で、前記乱数値待避手段により前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持するようにしたことを特徴とする請求項１に記載の遊技機。
【請求項５】
前記乱数生成手段は、
前記遊技制御手段によって記憶可能であって、乱数値の更新を指示する更新指示情報を記憶する更新指示記憶手段を備え、
前記割込み処理実行手段は、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合に、
前記更新手段を初期化して異常状態から復帰する異常復帰手段と、
前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
前記乱数値復旧手段によって前記乱数値記憶手段に乱数値が記憶されたことに基づいて前記更新指示記憶手段に乱数の更新を指示する更新指示情報を設定する異常時更新情報設定手段と、
を備えたことを特徴とする請求項４に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技プログラムに従って遊技に係わる所要の制御を行う遊技制御手段と、該制御で用いられる乱数値を生成する乱数生成手段とを備えた遊技機に関する。
【背景技術】
【０００２】
従来から、遊技盤上の遊技領域に始動入賞口と称される入賞口を設け、この始動入賞口への打球の入賞に基づいて乱数を取得して当選の判定（抽選）を行い、この抽選結果に基づいて遊技者に所定の利益（例えば大入賞口を所定回数開放するいわゆる大当たり遊技）を提供するようにした遊技機が広く普及している。
【０００３】
このような遊技機では、一般に、遊技の制御を担うＣＰＵの基準クロック等をソフトウェアでカウントし、前記始動入賞口への入賞を契機としてこのソフトカウンタの値を大当たり等の判定用の乱数として取得するようにしている。また、ソフトウェアではなくハードウェア（カウンタ回路）によりクロックをカウントしてそのカウント値を乱数として用いるものがある。
【０００４】
さらに、乱数生成回路を内蔵したワンチップマイコンを用いた遊技機もある。このような遊技機では、大当り抽選を行う乱数を生成する専用の乱数カウンタが乱数生成回路に設けられており、ＣＰＵが乱数カウンタの値を取り込む方式を採用している。
【０００５】
従来、このような乱数カウンタを更新するアルゴリズムとして＋１更新方式が一般的であったが、更新前のカウンタ値と更新後のカウンタ値の差が常に１であるので、遊技機の外部から乱数値が把握されやすいという不具合があった。そのため、最近では、乱数カウンタの更新前後のカウンタ値の差が一定でなくなるようにしたＭ系列乱数生成方式などが徐々に用いられるようになってきている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２７８７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
遊技機が設置される場所（遊技店）は、遊技球などの遊技媒体が多数流動するノイズが発生しやすい環境となっているため、しばしば、遊技機に設けた電子回路がノイズに影響されて不具合を起こすことが知られている。これは、乱数生成回路に関しても同様であり、乱数生成回路が誤動作すると正しい制御が行えなくなるので、乱数生成回路が何らかの障害によって動作不能となることを想定して予め対策を施さなくてならない。特に、最近使用されるようになったＭ系列乱数を生成する回路は、乱数生成アルゴリズムが複雑であるが故に回路構成が複雑かつ大規模になり、配線長が長くなるなどしてノイズが飛び込み易くなって、乱数生成回路が障害を受け易いという課題を有する。
【０００８】
ところで、障害を受けた乱数生成回路を復旧させるには、乱数カウンタに所定の初期値を付与して、その値から再度更新を始める必要がある。しかし、そのようにした場合、乱数生成回路を再起動させる頻度が極端に多くなってしまうと、乱数カウンタに頻繁に初期値が格納されて再起動され、カウンタの値が初期値から少ない更新回数で生成された値に偏ってしまうことになる。
【０００９】
また、Ｍ系列乱数を用いた乱数生成方式などは、乱数を演算する演算式が複雑であるがゆえに、１回の乱数更新を行う際にも比較的長い時間を必要する。そのため、ＣＰＵが周期的に乱数カウンタ値を取得しに行くようにした場合、乱数更新が完了していない状態で乱数カウンタ値を取得してしまう恐れがあり、本来の設定確率どおりの抽選が行えないなどの不具合が発生するという問題があった。
【００１０】
本発明は、上記のような課題に着目してなされたもので、遊技制御で用いられる乱数値を生成する乱数生成手段を備えた遊技機において、乱数の偏りをなくして一様性を確保し、予め設定した確率通りの抽選を行うことのできる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、上記のような目的を達成するために、
遊技プログラムに従って遊技に係わる所要の制御を行う遊技制御手段と、該遊技制御手段による制御で用いられる乱数値を生成する乱数生成手段と、を備えた遊技機であって、
前記乱数生成手段は、
前記乱数値を記憶保持する乱数値記憶手段と、
前記乱数値の更新範囲を規定する更新範囲情報が記憶される範囲情報記憶手段と、
所定の更新信号に基づいて前記乱数値記憶手段に記憶されている乱数値を更新し、更新後の乱数値が前記更新範囲外の場合には当該更新後の乱数値が前記更新範囲内の値となるまで乱数値の更新を繰り返し行う更新手段と、
前記更新手段に異常が発生したか否かを検出する更新異常検出手段と、
更新異常を含む更新状態情報が記憶される更新状態情報記憶手段と、
前記更新手段により乱数値の更新を開始するか否かを示す起動情報を記憶する起動情報記憶手段と、
前記乱数値を更新中であるか否かを示す更新中情報が記憶される更新中情報記憶手段と、
を備え、
前記遊技制御手段は、
前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持する乱数値待避手段と、
所定の乱数取得条件が発生したことを検出したことに基づいて前記乱数値記憶手段から乱数値を取得する乱数値取得手段と、
前記乱数値取得手段によって取得された乱数値を判定して遊技に係わる決定処理を行う遊技結果決定手段と、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合には、前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
を備え、
前記乱数値取得手段は、所定の乱数取得条件の発生が検出されると、前記更新中情報を参照して乱数値の更新中でないことが示されている場合に前記乱数値記憶手段から乱数値を取得することを特徴とする。
【００１２】
ここで、「遊技制御手段」は、ＣＰＵとＣＰＵが実行するプログラムとによって構成することができる。「所定の乱数取得条件」とは、変動表示ゲームのような所定の遊技の開始条件を与える始動入賞口を有する遊技機では、始動入賞口への遊技球の入賞に基づく始動記憶の発生などである。「乱数生成回路」は遊技制御手段がＣＰＵによって構成される場合、ＣＰＵと同一チップ上に形成されているものでもよいし、別個のＩＣ（半導体集積回路）により構成されているものであってもよい。
【００１３】
請求項１に記載の発明によれば、更新中情報を参照して乱数値を更新中でないことが示された場合に乱数値記憶手段から乱数値を取得するので、乱数値の更新時間が変化しても確実に更新後の乱数値を取得することができ、更新前の乱数値を取得してしまうことを防止し、乱数値を用いて遊技の進行を決定するための抽選を行う場合に、予め設定した確率通りの抽選を行うことができる。また、更新手段によって更新される乱数値を乱数値待避手段に記憶保持し、更新異常検出手段により更新手段に異常が発生したことが検出された場合に、乱数値待避手段に記憶保持した乱数値を復帰させるようにしたので、更新手段に異常が発生して更新が停止して更新手段を再起動させたとしても、直前の乱数値から更新が再開されることで、乱数値が開始値の近傍の値に偏るのを防止して、乱数の一様性を確保することができる。
【００１４】
請求項２に記載の発明は、請求項１に記載の遊技機において、
前記乱数生成手段は、
遊技制御手段によって記憶可能であって、乱数値の更新を指示する更新指示情報を記憶可能な更新指示記憶手段を備え、
前記遊技制御手段は、
前記遊技プログラムによって実行されるメイン処理の少なくも一部をループするかたちで実行するメイン処理実行手段と、所定時間毎に発生する割込み信号に基づいて割込み処理を実行する割込み処理実行手段と、を備え、
前記割込み処理実行手段は、
前記乱数値取得手段と、割込み処理の実行毎に前記更新指示記憶手段に乱数値の更新を指示する更新指示情報を設定する更新指示情報設定手段と、を含み、
前記更新指示情報設定手段によって前記更新指示記憶手段に更新指示情報を設定する前に、前記乱数値待避手段により前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持するようにしたことを特徴とする。
【００１５】
請求項２に記載の発明によれば、割込み処理において乱数の更新を指示する更新指示情報を更新指示記憶手段に設定するようにしたことで、所定の時間毎に乱数値の更新を行うことができ、さらに、更新指示情報を設定する前に、前記乱数値待避手段により前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持することで、更新される前の乱数値を確実に記憶保持することができ、乱数値が偏るのを防止して、乱数の一様性を確保することができる。
【００１６】
請求項３に記載の発明は、請求項２に記載の遊技機において、
前記メイン処理実行手段は、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合に、
前記更新手段を初期化して異常状態から復帰する異常復帰手段と、
前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
前記乱数値復帰手段によって前記乱数値記憶手段に乱数値が記憶されたことに基づいて前記更新指示記憶手段に乱数の更新を指示する更新指示情報を設定する異常時更新情報設定手段と、
を備え、
前記更新手段が乱数値の更新に要する時間よりも、前記割込み処理実行手段に含まれる前記乱数値取得手段によって乱数値を取得する間隔の方が長くなるように設定したことを特徴とする。
【００１７】
請求項３に記載の発明によれば、乱数生成回路の更新手段に異常が発生した場合に、遊技制御手段のメイン処理において更新手段を初期化して異常状態から復帰させ、記憶保持した乱数値に基づいてタイマ割込みで実行されなかった分の更新を行うようにすることで、次の乱数取得条件が発生するまでに乱数の一様性を確保し、設定した確率通りの抽選を行うことができる。さらに、更新手段が乱数値の更新に要する時間よりも、乱数値取得手段によって乱数値を取得する間隔の方が長くなるようにしたので、更新中の不定な値を取得するのを防止することができる。
【００１８】
請求項４に記載の発明は、請求項１に記載の遊技機において、
所定間隔で信号を発生させる信号発生手段を備え、
前記信号発生手段は、
前記更新手段が乱数値を更新するための前記所定の更新信号を発生させるとともに、発生させる間隔を設定可能に構成され、
前記遊技制御手段は、
前記遊技プログラムによって実行されるメイン処理をループするかたちで実行するメイン処理実行手段と、所定時間毎に発生する割込み信号に基づいて割込み処理を実行する割込み処理実行手段と、
を備え、
前記更新手段は、
前記信号発生手段が発生する前記所定の更新信号に基づいて乱数値の更新を行い、
前記遊技制御手段は、
前記信号発生手段が発生する割込み信号に基づいて実行する割込み処理の中で、前記乱数値待避手段により前記乱数値記憶手段が記憶保持する乱数値を取得して記憶保持するようにしたことを特徴とする。
【００１９】
請求項４に記載の発明によれば、乱数生成手段の更新手段は信号発生手段からの信号に基づいて更新を行うので、所定の時間毎に乱数値の更新を行うことができ、さらに、更新手段に異常が発生した場合に記憶保持した乱数値を復帰させるようにしたので、更新手段に異常が発生して更新が停止して更新手段を再起動させたとしても、乱数の一様性が損なわれるのを防止することができる。また、遊技プログラムで更新を指示する必要がなく遊技プログラムを簡略化することができる。
【００２０】
請求項５に記載の発明は、請求項４に記載の遊技機において、
前記乱数生成手段は、
前記遊技制御手段によって記憶可能であって、乱数値の更新を指示する更新指示情報を記憶する更新指示記憶手段を備え、
前記割込み処理実行手段は、
前記更新手段に異常が発生したことを示す情報が前記更新状態情報記憶手段に記憶された場合に、
前記更新手段を初期化して異常状態から復帰する異常復帰手段と、
前記乱数値待避手段に記憶した乱数値を前記乱数値記憶手段に記憶する乱数値復帰手段と、
前記乱数値復旧手段によって前記乱数値記憶手段に乱数値が記憶されたことに基づいて前記更新指示記憶手段に乱数の更新を指示する更新指示情報を設定する異常時更新情報設定手段と、
を備えたことを特徴とする。
【００２１】
請求項５に記載の発明によれば、乱数生成手段の更新手段に異常が発生した場合に、更新手段を初期化して異常状態から復帰させ、記憶保持した乱数値に基づいて実行されなかった分の更新を行うようにしたので、次の乱数取得条件が発生するまでに乱数の一様性を確保し、設定した確率通りの抽選を行うことができる。
【発明の効果】
【００２２】
本発明によれば、遊技制御で用いられる乱数値を生成する乱数生成手段を備えた遊技機において、乱数の偏りをなくして一様性を確保し、予め設定した確率通りの抽選を行うことができるという効果がある。
【図面の簡単な説明】
【００２３】
【図１】本発明に係る遊技機の一実施形態を示す正面図である。
【図２】実施形態の遊技機における遊技盤の構成例を示す正面図である。
【図３】実施形態の遊技機の裏面に設けられる制御システムの構成例を示すブロック図である。
【図４】図３の制御システムの遊技制御装置を構成する遊技用マイクロコンピュータの構成例を示すブロック図である。
【図５】図４の遊技用マイクロコンピュータに設けられた乱数生成回路およびクロックジェネレータの構成例を示すブロック図である。
【図６】図５の乱数生成回路の乱数更新コントローラ（更新制御手段）によって行われる乱数更新制御の具体的な手順の前半部分を示すフローチャートである。
【図７】図５の乱数生成回路の乱数更新コントローラ（更新制御手段）によって行われる乱数更新制御の具体的な手順の後半部分を示すフローチャートである。
【図８】実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちメイン処理の具体的な手順の前半部分を示すフローチャートである。
【図９】実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちメイン処理の具体的な手順の後半部分を示すフローチャートである。
【図１０】実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちタイマ割込み処理の具体的な手順の一例を示すフローチャートである。
【図１１】図１０のタイマ割込み処理中に実行される特図ゲーム処理の具体的な手順の一例を示すフローチャートである。
【図１２】図１１の特図ゲーム処理中に実行される第１の実施例の始動口スイッチ監視処理の具体的な手順の一例を示すフローチャートである。
【図１３】実施形態の乱数生成回路における正常動作時のタイマ割込みと乱数更新タイミングとの関係を示すタイムチャートである。
【図１４】実施形態の乱数生成回路における異常発生時のタイマ割込みと乱数更新タイミングとの関係を示すタイムチャートである。
【図１５】本発明の第２の実施例における遊技制御装置の遊技用マイコンによって実行されるメイン処理の後半部分を示すフローチャートである。
【図１６】本発明の第２の実施例における始動口スイッチ監視処理の手順を示すフローチャートである。
【図１７】第２の実施例を適用した乱数生成回路における正常動作時のタイマ割込みと乱数更新タイミングとの関係を示すタイムチャートである。
【図１８】第２の実施例を適用した乱数生成回路における異常発生時のタイマ割込みと乱数更新タイミングとの関係を示すタイムチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の好適な実施の形態を図面に基づいて説明する。
【００２５】
図１は、本発明の一実施形態の遊技機の正面図である。
【００２６】
本実施形態の遊技機１０は、本体枠（外枠）１１と前面枠１２を備え、該前面枠１２は本体枠（外枠）１１にヒンジ１３を介して開閉回動可能に組み付けられている。上記前面枠１２の前面側に形成された収納部（図示省略）に、遊技盤５０（図２参照）が収納されている。また、前面枠１２には、遊技盤５０の前面を覆うカバーガラス（透明部材）を備えたガラス枠１５が取り付けられている。
【００２７】
ガラス枠１５のカバーガラスの周囲には、内部にランプやＬＥＤ等からなる発光装置を備えた装飾部材１６が設けられている。ガラス枠１５の上方にも内部に発光装置を備えた照明ユニット１７が設けられている。これらの発光装置が所定の態様に従って発光されることによって、遊技の演出効果を高める装飾発光や遊技状態を示す発光がなされる。さらに、照明ユニット１７の右側には、遊技機１０のエラー発生や前面枠１２の開放をホール店員に通知するためのエラー報知ＬＥＤ２９が設けられている。前面枠１２の下部左側には、音響（例えば、効果音）を発するスピーカ３０が設けられている。
【００２８】
前面枠１２の下部には開閉パネル２０と固定パネル２３が設けられ、開閉パネル２０には、図示しない打球発射装置に遊技球を供給する上皿２１が設けられている。また、固定パネル２３には上皿２１が満杯になった場合に排出された賞品球が貯留される下皿２４と、及び打球発射装置の操作部２５等が設けられており、遊技者が上記操作部２５を回動操作することによって、打球発射装置が、上皿２１から供給される遊技球を発射する。
【００２９】
上皿２１の右上部には、遊技機に隣接して配設されているカードユニット７０（図３参照）から遊技者が遊技媒体を借り受ける際に操作する球貸ボタン２６、及び、カードユニット７０からプリペイドカードを排出させるために操作する排出ボタン２７が設けられている。また、これらのボタン２６、２７の間には、プリペイドカードの残高を表示する残高表示部２８が設けられている。
【００３０】
次に、図２を用いて遊技盤について説明する。図２は、本実施形態の遊技盤５０の正面図である。
【００３１】
遊技盤５０の表面には、ガイドレール５３で囲われた略円形状の遊技領域５１が形成されている。遊技領域５１は、遊技盤５０の四方に各々設けられた樹脂製のサイドケース５２及びガイドレール５３によって構成される。遊技領域５１には、ほぼ中央に表示装置６１を備えたセンターケース６０が配置されている。表示装置６１は、センターケース６０に設けられた凹部に、センターケース６０の前面より奥まった位置に取り付けられている。すなわち、センターケース６０は表示装置６１の表示領域の周囲を囲い、表示装置６１の表示面よりも前方へ突出するように形成されている。
【００３２】
表示装置６１は、例えば、ＬＣＤ（液晶表示器）、ＣＲＴ（ブラウン管）等の表示画面を有する装置で構成されている。表示画面の画像を表示可能な領域（表示領域）には、複数の識別情報（特別図柄）や特図変動表示ゲームを演出するキャラクタが表示される。表示画面は１つであるが、複数（例えば３つ）の変動表示領域を有するとみることができ、各変動表示領域には、識別情報として割り当てられた特別図柄が変動表示（可変表示）して特図変動表示ゲームが行われる。その他、表示画面には遊技の進行に基づく画像（例えば、大当たり表示、ファンファーレ表示、エンディング表示等）が表示される。
【００３３】
センターケース６０の左側には、普通図柄始動ゲート３１が設けられている。センターケース６０の左下側には、三つの一般入賞口３２が配置され、センターケース６０の右下側には、一つの一般入賞口３２が配置されている。また、センターケース６０の下方には、変動表示ゲームの開始条件を与える始動入賞口３３が設けられ、その直下には開閉可能な普通変動入賞装置３５を備える始動入賞装置３４が配設されている。
【００３４】
さらに、始動入賞装置３４の下方には、表示装置６１の変動結果によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置（大入賞口）３６が配設されている。また、遊技盤５０の右上には、セグメント型表示器などからなる普図表示器１２１と、特図表示器１２０と、特図変動表示ゲーム及び普図変動表示ゲームの未処理回数を表示する発光表示ユニット１２３が設けられている。普図表示器１２１は、遊技球が普通図柄始動ゲート３１を通過した場合に行われる変動表示ゲームが表示される。特図表示器１２０には、遊技球が始動入賞口３３または始動入賞装置３４に入賞した場合に行われる変動表示ゲームが表示される。
【００３５】
本実施形態の遊技機１０では、図示しない発射装置から遊技領域５１に向けて遊技球（パチンコ球）が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域５１内の各所に配置された障害釘や風車等の方向転換部材によって転動方向を変えながら遊技領域５１を流下し、普通図柄始動ゲート３１、一般入賞口３２、始動入賞口３３、始動入賞装置３４又は特別変動入賞装置３６に入賞するか、遊技領域５１の最下部に設けられたアウト口３９へ流入し遊技領域から排出される。
【００３６】
なお、始動入賞装置３４の状態には、普通変動入賞装置３５の開閉によって、遊技球が入賞しやすい状態と遊技球が入賞しにくい状態とがある。通常、普通変動入賞装置３５は閉状態であり、始動入賞装置３４は、遊技球が入賞しにくい状態にされている。普通図柄始動ゲート３１を遊技球が通過することによって、普図表示器１２１で普図変動表示ゲームが実行され、普図変動表示ゲームの結果、当たり状態が発生すると、普通変動入賞装置３５が開状態に変換され、始動入賞装置３４へ遊技球が入賞し易い状態となる。
【００３７】
普通図柄始動ゲート３１を通過する遊技球は該ゲート３１に設けられた普図始動スイッチ３１Ａ（図３参照）によって検出され、一般入賞口３２への遊技球の入賞は該入賞口３２に設けられた一般入賞口スイッチ３２ａ〜３２ｎ（図３参照）によって検出される。始動入賞口３３への入賞球と始動入賞装置３４への入賞球は特図始動スイッチ３４Ａによって検出される。この遊技球の通過タイミングによって抽出された特別図柄乱数カウンタ値は、遊技制御装置１００内の特図記憶領域（ＲＡＭの一部）に特別図柄入賞記憶として所定回数（例えば、最大で４回分）を限度に記憶される。そして、この特別図柄入賞記憶の記憶数は、発光表示ユニット１２３及び表示装置６１の特別図柄入賞記憶数表示部（複合記憶表示部）に表示される。遊技制御装置１００は、特別図柄入賞もしくはその記憶に基づいて、特図表示器１２０で特図変動表示ゲームを行うとともに、表示装置６１にて演出表示としての飾り特図変動表示ゲームを行う。
【００３８】
始動入賞口３３または始動入賞装置３４に遊技球の入賞があると、表示装置６１で、前述した数字等で構成される特別図柄（識別情報）が左（第一特別図柄）、右（第二特別図柄）、中（第三特別図柄）の順に変動表示を開始して、特図変動表示ゲームに関する画像が表示される。つまり、表示装置６１では、特別図柄入賞記憶の記憶数に対応する特別図柄変動表示ゲームが行われ、興趣向上のために多様な演出表示をする。
【００３９】
始動入賞口３３または始動入賞装置３４への入賞が所定のタイミングでなされたとき（具体的には、入賞検出時に取得した乱数が当たり値であるとき）には特図変動表示ゲームの結果としての停止図柄により特定の結果態様（特別結果態様）が導出されて、大当たり状態となる。具体的には、特図表示器１２０では当たり図柄である一桁の特別図柄で停止して、表示装置６１では三つの特別図柄が揃った状態（大当り図柄）で停止する。これに応じて、特別変動入賞装置３６は、内蔵されている大入賞口ソレノイド３８（図３参照）が駆動されることによって、所定の時間だけ遊技球を受け入れない閉状態から遊技球を受け入れやすい開状態に変換され、遊技者は多くの賞球を獲得することができるという特典が付与される。
【００４０】
特別変動入賞装置３６への遊技球の入賞は、カウントスイッチ３６Ａ（図３参照）によって検出される。普通図柄始動ゲート３１への遊技球の通過は、普図始動スイッチ３１Ａ（図３参照）で検出される。この遊技球の通過タイミングによって抽出された普通図柄乱数カウンタ値は、遊技制御装置１００内の普図記憶領域（ＲＡＭの一部）に普通図柄入賞記憶として所定回数（例えば、最大で４回分）を限度に記憶される。そして、この普図入賞記憶の記憶数は、表示装置６１の図示しない普図入賞記憶数表示部に表示される。
【００４１】
普図入賞記憶があると、遊技制御装置１００は、普図入賞記憶に基づいて普図入賞記憶数表示部で普図変動表示ゲームを開始する。すなわち、普通図柄始動ゲート３１への通過検出が所定のタイミングでなされたとき（具体的には、通過検出時の普図乱数カウンタ値が当たり値であるときには）には、普図表示器１２１に表示される普通図柄が当たり状態で停止し、当たり状態となる。このとき、普通変動入賞装置３５は、内蔵されている普電ソレノイド９０（図３参照）が駆動されることにより、所定の時間だけ開放するように変換され、遊技球の始動入賞装置３５への入賞が許容される。このようにして、一般入賞口３２、始動入賞口３３、３４又は特別変動入賞装置３６に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が、払出制御装置２１０によって制御される払出ユニットから、前面枠１２の上皿２１又は下皿２４に排出される。
【００４２】
図３は、本実施形態のパチンコ遊技機の制御システムのブロック図である。
【００４３】
遊技機１０は遊技制御装置１００を備え、遊技制御装置１００は、遊技用マイコン１０１、入力Ｉ／Ｆ（インタフェース）１０５、出力Ｉ／Ｆ１０６及び検査装置接続端子１０７を備え、上記遊技用マイコン１０１は、ＣＰＵ１０２、ＲＯＭ（リードオンリメモリ）１０３及びＲＡＭ（ランダムアクセスメモリ）１０４を備える。ＣＰＵ１０２は、遊技を統括的に制御する主制御装置であって、遊技制御を司る。ＲＯＭ１０３は、遊技制御のための不変の情報（プログラム、固定データ等）を記憶している。ＲＡＭ１０４は、遊技制御時にＣＰＵの作業領域を提供するワークエリアとして利用される。
【００４４】
遊技制御装置１００には検査装置接続端子１０７が設けられており、検査装置接続端子１０７からは、遊技用マイコン１０１に設定された識別番号を出力することができる。これによって、検査装置接続端子１０７に検査装置を接続すると、検査装置は遊技機１０を識別することができる。また、遊技制御装置１００は外部情報端子１０８に接続されており、遊技機１０に関する情報を、外部情報端子１０８を介して、遊技店に設置された情報収集端末や遊技場内部管理装置（図示省略）に出力する。
【００４５】
遊技制御装置１００には、各種検出装置（特図始動スイッチ３４Ａ、普図始動スイッチ３１Ａ、カウントスイッチ３６Ａ、一般入賞口スイッチ３２ａ〜３２ｎ、オーバーフロースイッチ１０９、球切れスイッチ１１０及び枠開放スイッチ１１１からの検出信号が入力される。オーバーフロースイッチ１０９は、下皿２４に遊技球が所定数以上貯留されていることを検出する。球切れスイッチ１１０は、遊技機裏面の球貯留ユニットに配設され、球貯留ユニットに貯留される遊技球が所定数以下になることを検出する。枠開放スイッチ１１１は、前面枠１２が開いたことを検出する。
【００４６】
遊技制御装置１００に入力された上記各種検出装置からの検出信号は、入力Ｉ／Ｆ１０５を介してＣＰＵ１０２に入力され、ＣＰＵ１０２はこれらの信号に基づいて大当り抽選等、種々の処理を行う。また、ＣＰＵ１０２は、出力Ｉ／Ｆ１０６を介して、発光表示ユニット１２３、普図表示器１２１、特図表示器１２０、普電ＳＯＬ（ソレノイド）９０、大入賞口ＳＯＬ（ソレノイド）３８、払出制御装置２１０及び演出制御装置１５０に指令信号を送信して、遊技を統括的に制御する。
【００４７】
さらに、遊技制御装置１００は、球払出ユニットの払出モータ２２０を制御する払出制御装置２１０へ払出し指令信号を送信するとともに、演出制御装置１５０へ、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を、演出制御指令信号として送信する。
【００４８】
次に、払出制御装置２１０及び演出制御装置１５０について説明する。演出制御装置１５０は、遊技制御装置１００から入力される各種信号に基づいて、エラー報知ＬＥＤ２９、スピーカ３０及び表示装置６１を制御する。
【００４９】
払出制御装置２１０は、遊技制御装置１００からの賞球払出し指令信号に従って、払出ユニットの払出モータを駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置２１０は、カードユニット７０からの貸球要求信号に基づいて遊技制御装置１００から送信される払出指令信号に従って、払出ユニットの払出モータを駆動させ、貸球を払い出させるための制御を行う。払出制御装置２１０は、遊技用マイコン２１１、入力Ｉ／Ｆ２１５、出力Ｉ／Ｆ２１６及び検査装置接続端子２１７を備え、遊技用マイコン２１１は、ＣＰＵ２１２、ＲＯＭ２１３及びＲＡＭ２１４を備える。
【００５０】
ＣＰＵ２１２は、払い出しを統括的に制御する制御装置であって、払出制御を司る。ＲＯＭ２１３は、払出制御のための不変の情報（プログラム、データ等）を記憶している。ＲＡＭ２１４は、払出制御時にワークエリアとして利用される。ＣＰＵ２１２には、入力Ｉ／Ｆ２１５を介して払出ユニット内の払出球検出スイッチ１１２、オーバーフロースイッチ１０９、球切れスイッチ１１０、エラー解除スイッチ２２３、税率設定スイッチ２２６、及び貸出料金設定スイッチ２２７からの信号が入力される。また、ＣＰＵ２１２は、出力Ｉ／Ｆ２１６を介して、払出ユニット内の払出モータ２２０、発射制御装置２２１、エラーナンバー表示器２２２、税率表示器２２４及び貸出料金表示器２２５等の駆動信号を出力する。税率設定スイッチ２２６は、遊技球の貸し出しに対して課税される間接税の税率を設定するスイッチである。貸出料金設定スイッチ２２７は、貸し出される遊技球の有価価値を設定するためのスイッチである。
【００５１】
エラー解除スイッチ２２３は、払出制御装置２１０にエラーが発生した場合に、遊技店の店員等が発生したエラーの原因を解消した際に、遊技店の店員等によって操作され、エラー状態を解除するためのスイッチである。発射制御装置２２１は、遊技球を遊技領域５１内に発射するための発射装置を制御する。エラーナンバー表示器２２４は、払出制御装置２１０の裏面側に配設され、払出制御装置２１０で発生したエラーの種類を特定可能に表示する。税率表示器２２４は、払出制御装置２１０の裏面側に配設され、税率設定スイッチ２２６によって設定された間接税の税率を表示する。貸出料金表示器２２５は、払出制御装置２１０の裏面側に配設され、貸出料金設定スイッチ２２７によって設定された貸球の有価価値を表示する。
【００５２】
なお、遊技制御装置１００、演出制御装置１５０、及び払出制御装置２１０には、これらに電源電圧を供給する電源装置１６０が接続されている。電源装置１６０は、バックアップ電源１６１、ＲＡＭクリアスイッチ１６２を備える。バックアップ電源１６１は、停電時においても、遊技制御装置１００、演出制御装置１５０、及び払出制御装置２１０に電源を供給する（演出制御装置１５０には供給しなくてもよい）。ＲＡＭクリアスイッチ１６２は、遊技制御装置１００内のＲＡＭ１０４及び払出制御装置２１０内のＲＡＭ２１４に記憶されている情報を強制的に初期化するスイッチである。
【００５３】
また、遊技機１０に設けられている球貸ボタン２６が操作されると、遊技機に隣接して設けられるカードユニットが、プリペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技球分の有価価値を減算して、減算された有価価値の値を遊技機１０の残高表示部２８に表示する。また、遊技機１０に設けられている排出ボタン２７が操作されると、カードユニットは、カード挿入口に挿入されているカードを排出する。
【００５４】
次に、遊技制御装置１００を構成する遊技用マイコン１０１、及び払出制御装置２１０を構成する遊技用マイコン２１１について、図４を用いて詳細に説明する。なお、遊技用マイコン１０１と遊技用マイコン２１１は、ほぼ同一の構成となっているので、ともに遊技用演算処理装置６００として説明を行う。
【００５５】
図４は、遊技用演算処理装置６００の構成を示すブロック図である。
【００５６】
遊技用演算処理装置６００は、いわゆるアミューズチップ用のＩＣとして製造され、遊技制御を行う遊技領域部６００Ａと情報管理を行う情報領域部６００Ｂに区分される。
【００５７】
このうち遊技領域部６００Ａは、ＣＰＵコア６０１、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３（総称して、ＲＯＭ）、ユーザワークＲＡＭ６０４及びミラードＲＡＭ６０５（総称して、ＲＡＭ）、外部バスインタフェース（Ｉ／Ｆ）６０６、バス切り換え回路６０７、乱数生成回路６０８、クロックジェネレータ６０９、リセット／割込制御回路６１０、アドレスデコーダ６１１、出力制御回路６１２、ブートブロック６１３、復号化・ＲＯＭ書込回路６１４、並びにバス６１５により構成される。この実施例の遊技用演算処理装置６００においては、乱数生成回路６０８がオンチップの回路として形成されているが、乱数生成回路６０８はチップ外部に別個のＩＣとして形成されていてもよい。
【００５８】
ＣＰＵコア６０１は、各種のレジスタ群、演算・論理部（ＡＬＵ）、命令レジスタ（ＩＲ）、デコーダ、プログラムカウンタ（ＰＣ）、スタックポインタ（ＳＰ）、これらを結ぶデータバス、アドレスバス及び各種制御部をコア内に含み、例えば、Ｚ８０アーキテクチャで構成される。ＣＰＵコア６０１は、ユーザプログラムＲＯＭ６０２に格納されている遊技制御プログラムや演出制御プログラムをロードして実行することによって、遊技機１０の制御に必要な各種機能をソフト的に実現する。ユーザプログラムＲＯＭ６０２は、制御プログラムを格納する。制御プログラムは、遊技用演算処理装置６００が遊技制御装置１００に備わる遊技用マイコン１０１である場合には、遊技の制御を行う遊技制御プログラムであり、遊技用演算処理装置６００が払出制御装置２１０の遊技用マイコン２１１である場合には、遊技球の払出しを行う球払出装置を制御する払出制御プログラムである。遊技用演算処理装置６００が遊技制御装置１００遊技用マイコン１０１の場合、主としてＣＰＵコア６０１とＲＯＭ６０２とＲＡ６０４によって遊技制御手段が構成される。
【００５９】
ＨＷパラメータＲＯＭ６０３は、正当性確認情報を格納するメモリである。正当性確認情報とは、遊技用演算処理装置６００の正当なものであるかのチェックを行うための情報であり、例えば、パチンコ遊技機１０の一意な識別子を示す固有ＩＤ、メーカコード（パチンコ遊技機の製造メーカ毎に割り振られた固有の製造メーカの一意な識別子）、パチンコ遊技機のランク（１種、２種等）を示すランクコード、製造メーカがパチンコ遊技機の種類に設定する機種コード、検査番号を示す検査コード、電源投入時にＲＡＭをバックアップするか否かを示すＲＡＭバックアップコード、税率設定スイッチ２２６によって設定された税率、貸出料金設定スイッチ２２７によって設定された貸出料金等である。また、ＨＷパラメータＲＯＭ６０３には、最初に貸出情報要求を送信した検査装置の一意な識別子である固有ＩＤが一つのみ記憶される。第３者機関又はパチンコ遊技機の製造メーカがユーザプログラムＲＯＭ６０２にプログラムを書き込む際に、正当性確認情報がＨＷパラメータＲＯＭ６０３に書き込まれる。
【００６０】
遊技用演算処理装置６００の正当性のチェックを行う場合、遊技用演算処理装置６００の電源立ち上がり時に、遊技用演算処理装置６００自身が演算した演算値と、正当性確認情報（すなわち、第３者機関等によって予め設定された結果値）とを比較判定することで、遊技用演算処理装置６００が正規のものであるか否かチェックする構成になっている。
【００６１】
ユーザワークＲＡＭ６０４は、遊技領域部６００Ａにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられるものである。ミラードＲＡＭ６０５は、クロックの立ち下がり時にユーザワークエリアに記憶された情報を複製した情報を記憶する（ＣＰＵコアがＺ８０の場合には、クロックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている。）。
【００６２】
外部バスインタフェース６０６は、メモリリクエスト信号ＭＲＥＱ、入出力リクエスト信号ＩＯＲＱ、メモリ書込み信号ＷＲ、メモリ読み出し信号ＲＤ及びモード信号ＭＯＤＥなどのインタフェースをとるものであり、また、バス切り換え回路６０７は、１６ビットのアドレス信号Ａ０〜Ａ１５や８ビットのデータ信号Ｄ０〜Ｄ７のインタフェースをとるものである。例えば、ＭＯＤＥ信号を[Ｈ]レベルにした状態で、アドレス信号Ａ０〜Ａ１５を順次にインクリメントしながら、データ信号Ｄ０〜Ｄ７を加えると、ユーザプログラムＲＯＭ６０２への書き込みモードとなってパチンコ遊技機１の製造メーカ又は第３者機関によるプログラムの書き込みが可能になる。
【００６３】
なお、書き込みモードはプログラムの書き込みを可能にするものであり、ブートブロック６１３に記憶されるブートプログラムを書き込みできるようにするものではない。また、ユーザプログラムＲＯＭ６０２へのプログラムの書き込みが終了すると、ＨＷパラメータＲＯＭ６０３の所定領域に書込終了コードが記録（例えば、所定のコード若しくは所定ビットを物理的に切断することで記録）されるようになっており、ＨＷパラメータＲＯＭ６０３に書込終了コードが記録されている場合には、ユーザプログラムＲＯＭ６０２への新たなプログラムの書き込みができないようになっている。
【００６４】
乱数生成回路６０８は遊技の実行過程において遊技価値（例えば、大当り）を付加するか否か等に係わる乱数（乱数は、大当りの決定や停止時の図柄の決定等に使用）を生成するもので、一様性乱数を生成する数学的手法（例えば、合同法あるいはＭ系列法等）を利用している。なお、遊技用演算処理装置６００が払出制御装置２１０に備わる遊技用マイコン２１１である場合には、乱数生成回路６０８はなくてもよい。
【００６５】
クロックジェネレータ６０９は所定のクロック信号を生成するとともに、生成されたクロック信号をさらに分周して遊技制御に必要なタイミングに係わる信号を発生させる（詳細は図５にて後述）。リセット／割込制御回路（割込信号発生手段）６１０は図示しない割込み信号発生回路からのリセット割込み信号ＲＳＴを検出してＣＰＵコア６０１や乱数更新コントローラ６０８ａに知らせる。アドレスデコーダ６１１は内蔵デバイス及び内蔵コントロール／ステータスレジスタ群のロケーションをメモリマップドＩ／Ｏ方式及びＩ／ＯマップドＩ／Ｏ方式によりデコードする。
【００６６】
出力制御回路６１２はアドレスデコーダ６１１からの信号制御を行って外部端子より８ビットのチップセレクト信号（ＣＳ０〜ＣＳ７）を外部に出力する。ブートブロック６１３は、ブートプログラムを記憶し、電源投入時にユーザワークＲＡＭ６０４に記憶された情報を初期化する。
【００６７】
復号化・ＲＯＭ書込回路６１４は、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３への書込みモードの際に使用されるもので、モード信号ＭＯＤＥが[Ｈ]レベルになっている間、バス切り換え回路６０７を介してアドレス信号Ａ０〜Ａ１５やデータ信号Ｄ０〜Ｄ７を取り込み、そのデータ信号Ｄ０〜Ｄ７に含まれる情報（暗号化されたプログラム及び暗号化された変更後の固有ＩＤ）を復号化処理した後、バス６１５を介してユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３に出力する（書き込む）ものである。バス６１５はデータバス、アドレスバス及び制御バスを含むものであり、バス６１５には情報領域部６００Ｂも接続されている。
【００６８】
遊技用演算処理装置６００における情報管理を行う情報領域部６００Ｂは、ＨＰＧプログラムＲＯＭ６１６、ＩＤプロパティメモリ６１７、バスモニタ回路６１８、ＨＰＧワークＲＡＭ６１９、制御回路６２０、外部通信制御回路６２１、バス６２２、及び遊技領域６００Ａから延びるバス６１５の一部を含んで構成される。
【００６９】
情報領域部６００Ｂ内のＨＰＧプログラムＲＯＭ６１６は、各種検査動作を行うＨＰＧプログラムが格納される。ＩＤプロパティメモリ６１７には、検査装置（図示省略）から外部通信制御回路６２１を介して受信した要求に基づいて、ＨＷパラメータＲＯＭ６０３に記憶されている情報を検査装置にすぐに出力できるように、遊技用演算処理装置６００の電源投入時（システムリセット時）にＨＷパラメータに記憶されている情報を複製して記憶する。なお、ＩＤプロパティメモリ６１７は、遊技領域６００Ａ側及び情報領域部６００Ｂ側の双方よりアクセスが可能な構成になっている。
【００７０】
バスモニタ回路６１８は、情報領域部６００Ｂ側より遊技領域部６００Ａ側のバス６１５の状態監視及び制御を行う。ここでの制御とは、ＨＷパラメータＲＯＭ６０３の内容をＩＤプロパティメモリ６１７に複写する際のタイミング制御や、ユーザプログラムＲＯＭ６０２に格納されたプログラムを外部に出力する際（遊技領域部６００Ａ側のバス６１５を開放してユーザプログラムＲＯＭ６０２からプログラムを読み込んで情報領域部６００Ｂ側より外部に出力する際）のタイミング制御である。なお、プログラムは、外部通信制御回路６２１で暗号化されてから出力される。ＨＰＧワークＲＡＭ６１９は、情報領域部６００Ｂにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられる。
【００７１】
制御回路６２０は情報領域部６００Ｂ側を制御するもので、バッファメモリを有している。制御回路６２０は、例えば、バスモニタ回路６１８を介してＣＰＵコア６０１の動作を監視し、非動作中に遊技領域部６００ＡのユーザワークＲＡＭ６０４に記憶された内容をミラードＲＡＭ６０５へコピーする。また、検査装置からの要求に応答して情報領域部６００ＢのＩＤプロパティメモリ６１７の内容を外部へ転送したり、プログラム要求に応答してバスモニタ回路６１８を介してユーザプログラムＲＯＭ６０２内のプログラムを外部へ転送したりする。制御回路６２０のメモリは、転送時のタイミング調節のために用いられる。
【００７２】
外部通信制御回路６２１は検査装置との通信を行うもので、例えば、外部からの指令に基づいて遊技用演算処理装置６００内に格納されている情報（例えば、固有ＩＤ、プログラム、実払出数等）を暗号化した後、外部へ転送する等の処理を行う。遊技用演算処理装置６００では、遊技領域部６００Ａと情報領域部６００Ｂがバスモニタ回路６１８を介して独立して動作する。すなわち、情報領域部６００Ｂ側は遊技領域部６００ＡにおけるＣＰＵコア６０１の作動に関係なく（プログラム実行に関係なく）動作可能である。なお、遊技領域部６００Ａ及び情報領域部６００Ｂを夫々構成する各種デバイスは共通の半導体基板上に実装しワンチップ化してパッケージングされる。
【００７３】
次に、乱数生成回路６０８について、図５を用いて詳細に説明する。
【００７４】
図５は、本発明の実施形態の遊技用演算処理装置６００における乱数生成回路６０８のブロック図である。乱数生成回路（乱数生成手段）６０８は、乱数更新コントローラ６０８ａ、第１乱数ブロック６０８ｂ、第２乱数ブロック６０８ｃ、第３乱数ブロック６０８ｄ、及び第４乱数ブロック６０８ｅにより構成される。
【００７５】
乱数更新コントローラ（更新制御手段）６０８ａは、遊技制御の実行過程において遊技価値（例えば、大当り）を付与するか否か等の判定に用いる乱数の生成のための演算処理を行うもので、一様性乱数を生成する数学的手法（例えば、合同法あるいはＭ系列法等）を利用して乱数を生成する。また、乱数更新コントローラ６０８ａには、リセット割込み制御回路６１０からの割込み信号、クロックジェネレータ６０９を構成する信号発生手段としてのＣＴＣ（Counter/Timer Circuit）回路６０９ａおよび分周回路６０９ｂから信号（ＣＴＣ２，φ１）が入力可能となっている。
【００７６】
なお、特に限定されるものではないが、本実施例の乱数生成回路６０８は、後述のように、クロックジェネレータ６０９内のＣＴＣ回路６０９ａからの信号ＣＴＣ２の入力とＣＰＵ６０１による乱数更新トリガレジスタ（６０８ｂ３）への設定のいずれによっても乱数の更新処理が行なえるように構成されている。また、乱数生成回路６０８は、後述のように、カウンタ方式すなわちカウンタ値を−１ずつ更新することで乱数を生成するモードと、Ｍ系列乱数を生成するモードのいずれかを選択できるように構成されている。
【００７７】
第１乱数ブロック６０８ｂは、ＣＴＣ更新許可レジスタ６０８ｂ１、タップ設定レジスタ６０８ｂ２、乱数更新トリガレジスタ６０８ｂ３、最大値設定レジスタ（範囲情報記憶手段）６０８ｂ４、スタート値設定レジスタ６０８ｂ５、一周完了報知レジスタ６０８ｂ６、乱数カウンタ（乱数値記憶手段）６０８ｂ７、ワークエリア（更新手段）６０８ｂ８、及び乱数更新中報知レジスタ（更新中情報記憶手段）６０８ｂ９、更新エラー報知レジスタ６０８ｂ１０、乱数回路リセットレジスタ６０８ｂ１１、乱数カウンタ６０８ｂ７の周回数を計数する周回カウンタ６０８ｂ１２、分周信号φ１の入力回数を計数する回数カウンタ６０８ｂ１３などにより構成される。
【００７８】
なお、第２乱数ブロック６０８ｃ、第３乱数ブロック６０８ｄ、及び第４乱数ブロック６０８ｅに関しては、第１乱数ブロック６０８ｂと同様の構成を有するため説明は省略する。複数の乱数ブロックを備えることにより、特図変動表示ゲームにおいて大当りを発生させるか否かを決定する大当り乱数、大当り停止図柄を決定する大当り図柄乱数、特図変動表示ゲームにおける変動パターン決定する変動パターン乱数、普図変動表示ゲームにおいて当りを発生させるか否かを決定する当り乱数など、遊技制御で使用する複数の乱数を並行して生成することができる。
【００７９】
ＣＴＣ更新許可レジスタ６０８ｂ１は、乱数カウンタ６０８ｂ７の更新を許可／不可の何れかに設定するものであり、「許可」に設定されていれば、ＣＴＣ回路６０９ａからの信号ＣＴＣ２をトリガにして乱数カウンタ６０８ｂ７が更新されることとなる。タップ設定レジスタ６０８ｂ２は、「カウンタモード」の場合において、乱数カウンタ６０８ｂ７を作動させるものであり、電源投入時は「０」となっており、このとき、乱数カウンタ６０８ｂ７は作動しないようになっている。そして、タップ設定レジスタ６０８ｂ２に「０」以外の値が書き込まれることによって、乱数カウンタ６０８ｂ７が作動するようになっている。また、「乱数モード」の場合、タップ設定レジスタ６０８ｂ２に書き込まれた値によって、Ｍ系列の漸化式の種類が決定される。従って、タップ設定レジスタ６０８ｂ２が乱数値の更新を開始するか否かを示す起動情報を記憶する起動情報記憶手段として機能する。
【００８０】
乱数更新トリガレジスタ６０８ｂ３は、ＣＰＵコア６１０から直接書込みが可能なレジスタであり、ＣＰＵコア６１０が例えば割込み処理で所定値を書き込むと、乱数更新コントローラ６０８ａがそれを認知して乱数カウンタ６０８ｂ７を更新するように構成されている。なお、このとき、ＣＴＣ更新許可レジスタ６０８ｂ１の設定が「許可」／「不可」の何れの場合でも乱数カウンタ６０８ｂ７が更新される。従って、乱数更新トリガレジスタ６０８ｂ３が乱数値の更新を指示する更新指示記憶手段として機能する。
【００８１】
最大値設定レジスタ６０８ｂ４は、乱数カウンタ６０８ｂ７の最大値とモードを設定するものである。最大値は８以上４０９５以下の値に設定される。また、モードは「乱数モード」か「カウンタモード」の何れかに設定される。そして、設定された最大値をＮとした場合、「乱数モード」において乱数カウンタ６０８ｂ７は１〜Ｎの範囲で更新され、「カウンタモード」において乱数カウンタ６０８ｂ７は０〜Ｎの範囲で更新される。従って、最大値設定レジスタ６０８ｂ４が乱数生成回路６０８の更新範囲情報を記憶する範囲情報記憶手段として機能する。
【００８２】
スタート値設定レジスタ６０８ｂ５は、乱数カウンタ６０８ｂ７の更新スタート値（開始値）を設定するものである。乱数カウンタ６０８ｂ７が所定の周期を１周したときに、乱数更新コントローラ６０８ａによってこのスタート値が乱数カウンタ６０８ｂ７に設定される。具体的には、例えば、最大値設定レジスタ６０８ｂ４において設定された最大値Ｎよりも大きな値をスタート値Ｓとして設定した場合には、乱数カウンタ６０８ｂ７が所定の周期を１周したときに最大値Ｎをスタート値Ｓで除した際の余り値が乱数カウンタ６０８ｂ７に設定される。従って、スタート値設定レジスタ６０８ｂ５が乱数値の開始値を記憶する開始値記憶手段として機能し、乱数更新コントローラ６０８ａが開始値設定手段として機能する。
【００８３】
一周完了報知レジスタ６０８ｂ６は、乱数カウンタ６０８ｂ７が所定の周期を１周したことを報知するものであり、ＣＰＵコア６０１がスタート値設定レジスタ６０８ｂ５にスタート値を設定するとオンに設定され、オンに設定された後、乱数カウンタ６０８ｂ７が所定の周期を１周すると、オフに設定される。そして、周回カウンタ６０８ｂ１２が、乱数カウンタ６０８ｂ７の周回数を計数する。
【００８４】
乱数カウンタ６０８ｂ７は、１２次（１２ビット）の乱数列で構成され、タップ設定レジスタ６０８ｂ２に所定の値が書き込まれるまでは、データを設定して乱数の電源投入時におけるスタート値を変更することができる。故に、乱数カウンタ６０８ｂ７の範囲は、「乱数モード」であれば１〜４０９５の間の値を取りうることになり、「カウンタモード」であれば、０〜４０９５の間の値をとり得ることになる。また、「乱数モード」では、カウンタ値が一周するまで、同じ乱数値が生成されないようになっている。
【００８５】
ワークエリア６０８ｂ８は、乱数カウンタ６０８ｂ７の更新用バッファとして機能するものであり、ワークエリア６０８ｂ８で乱数の更新がなされ更新された値が乱数カウンタ６０８ｂ７に格納される。従って、ワークエリア６０８ｂ８が乱数の更新手段として機能し、乱数カウンタ６０８ｂ７が乱数値記憶手段として機能する。ワークエリア６０８ｂ８はＣＰＵからの読込みが不能なレジスタとされ、これにより誤って更新中の不確定な値がＣＰＵに取り込まれるのを防止することができる。なお、停電時には停電直前の値がワークエリア６０８ｂ８に保持される。
【００８６】
ワークエリア６０８ｂ８の値は、ＣＴＣ回路６０９ａからの信号や乱数更新トリガレジスタ６０８ｂ３の書込みにより乱数の更新が指令されると、最大値設定レジスタ６０８ｂ４で示される範囲の値となるまで更新され続ける。そして、このワークエリア６０８ｂ８の値が更新されている間は、「乱数モード」であっても「カウンタモード」であっても、乱数カウンタ６０８ｂ７には「０」が設定される。従って「乱数モード」の場合には、更新範囲内の数値（１〜Ｎ）に属しない「０」が乱数カウンタ６０８ｂ７に設定されていると、乱数カウンタ６０８ｂ７が更新中であることが示される。また、「カウンタモード」ではワークエリア６０８ｂ８でダウンカウント方式によりカウント値を更新する。
【００８７】
乱数更新中報知レジスタ６０８ｂ９は、乱数が更新中であることを報知するものであり、信号発生手段としてのＣＴＣ回路６０９ａや乱数更新トリガレジスタ６０８ｂ３により乱数カウンタ６０８ｂ７が更新されている間はオンに設定され、更新中でなければオフに設定される。従って、乱数更新中報知レジスタ６０８ｂ９が乱数値を更新中であるか否かを示す更新中情報が記憶される更新中情報記憶手段として機能する。
【００８８】
更新エラー報知レジスタ６０８ｂ１０は、乱数カウンタ６０８ｂ７の値が更新されなかった場合に、乱数更新コントローラ６０８ａによってエラーを示す値が設定され、ＣＰＵ６０１がこのレジスタの値を読み込むことで乱数更新エラーが発生しているか否か知ることができるようになっている。従って、更新エラー報知レジスタ６０８ｂ１０が乱数生成回路６０８の異常情報記憶手段として機能する。更新エラーすなわちワークエリア６０８ｂ８の値が更新されたか否かは乱数更新コントローラ６０８ａによって判定することができる。
【００８９】
乱数回路リセットレジスタ６０８ｂ１１は、乱数更新エラーが発生した場合に乱数生成回路６０８を外部からリセットするためのもので、ＣＰＵ６０１がこのレジスタに所定の値を書き込むと、乱数更新コントローラ６０８ａはリセット指令があったと判定して回路内部をリセット状態にする。回数カウンタ６０８ｂ１３は、分周信号φ１の入力回数を計数する。
【００９０】
クロックジェネレータ６０９は、ＣＴＣ回路６０９ａと分周回路６０９ｂとを備えており、分周回路６０９ｂは、遊技用演算処理装置６００の外部（発振回路）から入力された原クロック信号ＣＬＫを分周し、原クロック信号の周期の２倍の周期のクロック信号φ１を生成して乱数コントローラ６０８ａへ供給するとともに、原クロック信号ＣＬＫよりも周期の長いクロック信号φ２を生成しＣＴＣ回路６０９ａに入力する。ＣＴＣ回路６０９ａは、分周回路６０９ｂからのクロック信号φ２に基づいて、ＣＰＵ６０１に対して所定周期（例えば、２ミリ秒）のタイマ割込み信号（ＣＴＣ１）および乱数コントローラ６０８ａへ供給する乱数更新のトリガを与える信号ＣＴＣ２を発生する。従って、ＣＴＣ回路６０９ａは乱数更新のトリガを与える信号の発生手段として機能する。なお、ＣＴＣ回路６０９ａは、発生する信号ＣＴＣ１，ＣＴＣ２の周期を自由に設定できるように構成されている。
【００９１】
次に、乱数更新コントローラ６０８ａによる乱数生成回路６０８内の制御の手順について説明する。図６には、乱数更新コントローラによる処理の前半部分のフローチャートが、また図７には乱数更新コントローラによる処理の後半部分のフローチャートが示されている。
【００９２】
乱数更新コントローラ６０８ａは、まず、リセット割込み制御回路６１０によるリセット割込信号に基づき、ワークエリア６０８ｂ８に記憶された値を除いて、他の記憶領域やレジスタに記憶されている値を初期化する（ステップＳ１０１）。また、このとき、周回カウンタ６０８ｂ１２の値を「０」に設定する。次に、ワークエリア６０８ｂ８に記憶された乱数カウンタの値を乱数カウンタ６０８ｂ７に取り込む（ステップＳ１０２）。続いて、乱数カウンタ６０８ｂ７の変更を許可し（ステップＳ１０３）、タップ設定レジスタ６０８ｂ２の設定を待つ（ステップＳ１０４）。
【００９３】
その後、乱数更新コントローラ６０８ａは、乱数カウンタ６０８ｂ７の変更を禁止し（ステップＳ１０５）、このときの乱数カウンタ６０８ｂ７の値をワークエリア６０８ｂ８に記憶し（ステップＳ１０６）、回数カウンタ６０８ｂ１３を「０」に設定する（ステップＳ１０７）。なお、乱数カウンタ６０８ｂ７の変更が禁止されるまでの間は、ＣＰＵコア６０１（図５）によって乱数カウンタ６０８ｂ７に任意の値を書き込むことが可能である。
【００９４】
次に、ＣＴＣ回路６０９ａによるＣＴＣ信号（ＣＴＣ２）が発生（検出）したか否かを判定する（ステップＳ１０８）。このＣＴＣ回路６０９ａによるＣＴＣ信号が発生したか否かの判定（ステップＳ１０８）において、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生した場合（Ｙｅｓ）は、ＣＴＣ使用モードか否か、具体的には、ＣＴＣ更新許可レジスタ６０８ｂ１が「許可」に設定されているか否かの判定（ステップＳ１０９）を行う。
【００９５】
そして、このＣＴＣ使用モードか否かの判定（ステップＳ１０９）において、ＣＴＣ使用モードの場合（Ｙｅｓ）は、ステップＳ１１１へ進む。一方、このＣＴＣ使用モードか否かの判定（ステップＳ１０９）において、ＣＴＣ使用モードでない場合、すなわち、ＣＴＣ更新許可レジスタ６０８ｂ１が「不可」に設定されている場合（Ｎｏ）は、乱数更新トリガレジスタ６０８ｂ３に指定値が書き込まれているか否かの判定（ステップＳ１１０）を行う。
【００９６】
また、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生したか否かの判定（ステップＳ１０８）において、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生していない場合（Ｎｏ）は、乱数更新トリガレジスタ６０８ｂ３に指定値が書き込まれているか否かの判定（ステップＳ１１０）を行う。この判定（ステップＳ１１０）において、乱数更新トリガレジスタ６０８ｂ３に指定値が書き込まれている場合（Ｙｅｓ）は、ステップＳ１１１へ進む。一方、ステップＳ１１０の判定において、乱数更新トリガレジスタ６０８ｂ３に指定値が書き込まれていないと判定した場合（Ｎｏ）は、ステップＳ１０８へ戻る。
【００９７】
次に、乱数更新中報知レジスタ６０８ｂ９をオンに設定する（ステップＳ１１１）とともに、乱数カウンタ６０８ｂ７の値を「０」に設定し（ステップＳ１１２）し、分周回路６０９ｂからの分周信号φ１の入力を待つ（ステップＳ１１３）。それから、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」であるか「カウンタモード」であるかの判定（ステップＳ１１４）を行う。この判定（ステップＳ１１４）において、最大値設定レジスタ６０８ｂ４に設定されたモードが「カウンタモード」の場合、ワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）を行う。
【００９８】
そして、ワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）において、ワークエリア６０８ｂ８の値が「０」の場合（Ｎｏ）は、ワークエリア６０８ｂ８の値を最大値に設定する（ステップＳ１１６）。一方、このワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）において、ワークエリア６０８ｂ８の値が「０」より大きい（Ｙｅｓ）と判定した場合は、ワークエリア６０８ｂ８の値を１デクリメントする（ステップＳ１１７）。
【００９９】
次に、周回カウンタ６０８ｂ１２の値を１インクリメントし（ステップＳ１１８）、周回カウンタの値が乱数カウンタの最大値に１足した値以上か否かの判定を行う（ステップＳ１１９）。そして、周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１足した値以上の場合（ステップＳ１１９；Ｙｅｓ）は、周回カウンタの値を「０」に設定する（ステップＳ１２０）。一方、この周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１足した値以上か否かの判定（ステップＳ１１９）において、周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１足した値以上でない場合（ステップＳ１１９；Ｎｏ）は、ステップＳ１３４へ進む。
【０１００】
次に、スタート値設定レジスタ６０８ｂ５において乱数更新のスタート値の取得及び最大値以下にする補正を行う（ステップＳ１２１）。具体的には、このとき、最大値よりも取得したスタート値の方が大きい場合には、最大値をスタート値で除した際の余り値をスタート値とする補正を行う。そして、ワークエリア６０８ｂ８にスタート値を取り込み（ステップＳ１２２）、一周完了報知レジスタ６０８ｂ６をオンに設定する（ステップＳ１２３）。
【０１０１】
次に、回数カウンタ６０８ｂ１３の値が規定値に達したか否かの判定を行う（ステップＳ１３４）。ここで、規定値（規定更新時間）は、例えば、「カウンタモード」の場合は規定値が「２」、「乱数モード」の場合であって最大値が「１７」以上の場合は規定値が「２０」、「乱数モード」の場合であって最大値が「１６」以下の場合は規定値が「２００」に設定される。これらの規定値（規定更新時間）のデータは、遊技用マイコン１０１のＲＯＭ１０３に予め記憶されている。
【０１０２】
従って、乱数カウンタ６０８ｂ７の更新が開始されると、分周回路６０９ｂから乱数更新コントローラ６０８ａへ分周信号入力ごとに乱数を更新するのではなく、入力される分周信号が所定回数検出されるまでは、乱数カウンタ６０８ｂ７を更新しないことになり、さらに、その検出回数がある程度のまとまった数に固定されることになる。言い換えれば、「カウンタモード」の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２回発生する時間（規定更新時間）を要することになる。また、「乱数モード」の場合であって乱数カウンタの最大値が「１７」以上の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２０回発生する時間を要することになり、「乱数モード」の場合であって乱数カウンタの最大値が「１６」以下の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２００回発生する時間を要することになる。
【０１０３】
回数カウンタ６０８ｂ１３の値が規定値に達したか否かの判定（ステップＳ１３４）において、回数カウンタの値が規定値に達していない場合（Ｎｏ）は、分周信号を待ち（ステップｓ１３７）、回数カウンタの値を１インクリメントして（ステップＳ１３８）、ステップＳ１３４へ戻る。一方、回数カウンタの値が規定値に達したか否かの判定（ステップＳ１３４）において、回数カウンタの値が規定値に達した場合（Ｙｅｓ）は、ワークエリア６０８ｂ８の値を乱数カウンタ６０８ｂ７に設定し（ステップＳ１３５）、乱数更新中報知レジスタ６０８ｂ９をオフに設定し（ステップＳ１３６）、ステップＳ１０７に戻る。
【０１０４】
また、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」であるか「カウンタモード」であるかの判定（ステップＳ１１４）において、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」の場合、ステップＳ１２４へ進む。そして、ワークエリア６０８ｂ８にてＭ系列乱数を更新し（ステップＳ１２４）、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きいか否かの判定を行う（ステップＳ１２５）。
【０１０５】
この判定（ステップＳ１２５）において、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きい場合（Ｙｅｓ）は、分周信号を検出したか否かの判定（ステップＳ１２６）を行う。そして、この判定（ステップＳ１２６）において、分周信号を検出した場合（Ｙｅｓ）は、回数カウンタ６０８ｂ１３の値を１インクリメントし（ステップＳ１２７）、ステップＳ１２４へ戻る。一方、この分周信号を検出したか否かの判定（ステップＳ１２６）において、分周信号を検出していない場合（Ｎｏ）は、ステップＳ１２４へ戻る。
【０１０６】
また、ステップＳ１２５の判定において、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きくない場合（ステップＳ１２５；Ｎｏ）は、周回カウンタ６０８ｂ１２の値を１インクリメントし（ステップＳ１２８）、周回カウンタの値が最大値以上か否かの判定を行う（ステップＳ１２９）。この判定（ステップＳ１２９）において、周回カウンタの値が最大値以上の場合（Ｙｅｓ）は、周回カウンタの値を「０」に設定する（ステップＳ１３０）。一方、周回カウンタの値が最大値以上か否かの判定（ステップＳ１２９）において、周回カウンタの値が最大値以上でない場合（Ｎｏ）は、ステップＳ１３４へ進む。
【０１０７】
次に、スタート値設定レジスタ６０８ｂ５においてスタート値の取得及び最大値以下にする補正を行う（ステップＳ１３１）。具体的には、このとき、最大値よりも取得したスタート値の方が大きいため、最大値をスタート値で除した際の余り値をスタート値とする補正を行う。そして、ワークエリア６０８ｂ８にスタート値を取り込み（ステップＳ１３２）、一周完了報知レジスタ６０８ｂ６をオンに設定し（ステップＳ１３３）、ステップＳ１３４へ進む。そして、この判定（ステップＳ１３４）において、回数カウンタ６０８ｂ１３の値が規定値に達した（Ｙｅｓ）と判定した場合は、前述したように、ワークエリア６０８ｂ８の値を乱数カウンタ６０８ｂ７に設定し（ステップＳ１３５）、乱数更新中報知レジスタ６０８ｂ９をオフに設定し（ステップＳ１３６）、ステップＳ１０７に戻る。
【０１０８】
なお、図６および図７には示されていないが、乱数更新コントローラ６０８ａは、乱数更新処理後に乱数カウンタ６０８ｂ７の値をチェックして、更新がされていない場合には更新エラーと判定して、更新エラー報知レジスタ６０８ｂ１０にエラーが発生したことを示す値を設定するように構成されている。
【０１０９】
次に、上記遊技制御装置１００の遊技用マイクロコンピュータ（遊技用マイコン）１０１（ＣＰＵ６０１）によって実行される制御について説明する。
【０１１０】
遊技用マイコン１０１（ＣＰＵ６０１）による制御処理は、主に図８および図９に示すメイン処理と、所定時間周期（例えば２ｍｓｅｃごと）に行われる図１０に示すタイマ割込み処理とからなる。
【０１１１】
メイン処理は、電源が投入されることで開始される。このメイン処理においては、図８に示すように、まず、割込み禁止する処理（ステップＳ１）を行なってから、割込みが発生したときに実行するジャンプ先のベクタアドレスを設定する割込みベクタ設定処理（ステップＳ２）、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理（ステップＳ３）、割込み処理のモードを設定する割込みモード設定処理（ステップＳ４）を行う。
【０１１２】
次に、ＲＡＭやＥＥＰＲＯＭ等の読出し書込み可能なＲＷＭ（リードライトメモリ）のアクセス許可をし、全出力ポートをオフ（出力が無い状態）に設定する（ステップＳ５，Ｓ６）。その後、電源装置１６０内のバックアップ用メモリのクリアスイッチ１６２がオンしているか否か判定する（ステップＳ７）。ここで、クリアスイッチがオフであれば、ステップＳ８で、ＲＷＭ内の停電検査領域のデータをチェックした後、停電復旧か否かおよびチェックサムと呼ばれるデータの正常／異常を調べるためのコードを検査する（ステップＳ９，Ｓ１０）。
【０１１３】
ステップＳ９で停電復旧であると判定しステップＳ１０でチェックサムが正常と判定した場合は、ステップＳ１１で、読出し書込み可能なＲＷＭに停電復旧時の初期値を設定してから、遊技枠の状態に係るデータを記憶しているメモリ領域をクリアし、他の制御装置へ停電復旧コマンドを送信する処理（ステップＳ１２，Ｓ１３）を行なって、図９のステップＳ１７へ移行する。一方、ステップＳ９で停電復旧でないと判定またはステップＳ１０でチェックサムが異常と判定した場合は、ステップＳ１４で、使用中の読出し書込み可能なＲＷＭをクリアする。それから、ＲＷＭに電源投入時の初期値をセーブしてから、他の制御装置へ電源投入コマンドを送信する処理（ステップＳ１５，Ｓ１６）を行なって、図９のステップＳ１７へ移行する。
【０１１４】
また、上記ステップＳ７で、クリアスイッチがオンと判定した場合は、ステップＳ１４へジャンプして使用中の読出し書込み可能なＲＷＭをクリアし、ＲＷＭに電源投入時の初期値をセーブしてから、他の制御装置へ電源投入コマンドを送信する処理（ステップＳ１５，Ｓ１６）を行なって、図９のステップＳ１７へ移行する。
【０１１５】
ステップＳ１７では割込みタイマを起動し、次のステップＳ１８で、乱数生成回路の起動処理を行なって乱数生成回路６０８を起動させる。具体的には、ＣＴＣ更新許可レジスタ６０８ｂ１（図５参照）への設定、ソフト乱数処理の場合の最大値設定レジスタ６０８ｂ４への最大値とモードの設定、タップ設定レジスタ６０８ｂ２への乱数生成回路を起動させるためのコード（指定値）の設定などがＣＰＵ６０１によって行われる。
【０１１６】
その後、一旦割込みを禁止して（ステップＳ１９）、先ず更新エラー報知レジスタ６０８ｂ１０の値を取得して（ステップＳ２０）、乱数生成回路にエラーが発生しているか否か判定する（ステップＳ２１）。ここで、エラーが発生していると判定した場合（Ｙｅｓ）には、次のステップＳ２２で乱数生成回路６０８の初期化（乱数回路リセットレジスタ６０８ｂ１１への書込みに加えてステップＳ１８と同様の処理）を行う。それから、後述の始動口スイッチ監視処理（図１２）のステップＳ６２１においてＲＡＭに記憶された乱数カウンタ６０８ｂ７の値を乱数カウンタ６０８ｂ７に復帰させる（ステップＳ２３）。そして、乱数更新トリガレジスタ６０８ｂ３へ所定値（更新指示情報）の書き込みを行なって乱数カウンタ６０８ｂ７を更新（ステップＳ２４）させた後、ステップＳ２５へ移行する。従って、ステップＳ２２が異常状態から復帰する異常復帰手段として機能し、ステップＳ２３が乱数値待避手段により退避した乱数値を乱数カウンタ６０８ｂ７に記憶する乱数値復帰手段として機能し、ステップＳ２４が更新指示記憶手段としての乱数更新トリガレジスタ６０８ｂ３に乱数の更新を指示する所定値（更新指示情報）を設定する異常時更新情報設定手段として機能する。なお、乱数カウンタ６０８ｂ７への書込みは、乱数生成回路６０８の起動前であれば可能になっている。
【０１１７】
上記ステップＳ２８において、停電が発生していると判定した場合（Ｙｅｓ）は、一旦割込みを禁止する処理（ステップＳ２９）、全出力ポートをオフにする処理（ステップＳ３０）、停電検査領域をクリアする処理（ステップＳ３１）を行う。その後さらに、停電復旧検査領域に停電復旧検査領域チェックデータをセーブする処理（ステップＳ３２）、ＲＷＭの電源遮断時のチェックサムを算出する処理（ステップＳ３３）を行なった後、ＲＷＭへのアクセスを禁止する処理（ステップＳ３４）を行なってから、遊技機の電源が遮断されるのを待つ。このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にＲＷＭに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
【０１１８】
次に、図１０のタイマ割込み処理について説明する。このタイマ割込み処理は、クロックジェネレータ６０９内のＣＴＣ回路６０９ａで生成される周期的なタイマ割込み信号ＣＴＣ１が入力されることで開始される。遊技用マイコン１０１にタイマ割込みが発生すると、図１０のタイマ割込み処理が開始される。
【０１１９】
タイマ割込み処理が開始されると、まず所定のレジスタに保持されている値をＲＡＭに移すレジスタ退避の処理（ステップＳ４０）を行う。次に、各種センサ（特図始動スイッチ３４Ａ、普図始動スイッチ３１Ａ、球切れスイッチ１１０、枠開放スイッチ１１１など）からの入力の取込みすなわち各入力ポートの状態を読み込む入力処理（ステップＳ４１）を行う。それから、各種処理でセットされた出力データに基づき、ソレノイド（大入賞口ＳＯＬ３８、普電ＳＯＬ９０）等のアクチュエータの駆動制御を行うための出力処理（ステップＳ４２）を行う。
【０１２０】
次に、各種処理で送信バッファにセットされたコマンドを演出制御装置１５０や払出制御装置２１０等に出力するコマンド送信処理（ステップＳ４３）、乱数更新処理（ステップＳ４４）を行う。この乱数更新処理（ステップＳ４４）では、メイン処理のステップＳ２６で更新した初期値乱数をスタート値として乱数生成回路６０８内のスタート値設定レジスタ６０８ｂ５に設定する。
【０１２１】
次に、特図始動スイッチ３４Ａ、普図始動スイッチ３１Ａ、入賞口スイッチ３２ａ…３２ｎ、カウントスイッチ３６Ａから正常な信号の入力があるか否かの監視や、エラーの監視を行う入賞口スイッチ／エラー監視処理（ステップＳ４５）を行う。また、特図変動表示ゲームに関する処理を行う特図ゲーム処理（ステップＳ４６）、普図変動表示ゲームに関する処理を行う普図ゲーム処理（ステップＳ４７）を行う。
【０１２２】
次に、遊技機１０に設けられ、遊技に関する各種情報を表示するセグメントＬＥＤを所望の内容を表示するように駆動するセグメントＬＥＤ編集処理（ステップＳ４８）を行う。それから、外部の管理装置に出力する信号を出力バッファにセットする外部情報編集処理（ステップＳ４９）を行う。続いて、割込みの終了を宣言する処理（ステップＳ５０）を行い、待避したレジスタのデータを復帰する処理（ステップＳ５１）を行った後、割込みを許可する処理（ステップＳ５２）を行なって、タイマ割込み処理を終了する。
【０１２３】
次に、図１０のタイマ割込み処理における特図ゲーム処理（ステップＳ４６）の詳細を、図１１を用いて説明する。
【０１２４】
図１１に示すように、特図ゲーム処理では、まず、始動入賞口３３および普通変動入賞装置３４への入賞（特図始動入賞）の監視と、始動入賞の検出に基づき各種乱数値の取得および記憶を行う始動口スイッチ監視処理（ステップＳ４６１）を実行する。その後、特別変動入賞装置３６内のカウントスイッチ３６Ａからの入力の監視と入力数の計数を行うカウントスイッチ監視処理（ステップＳ４６２）を実行する。
【０１２５】
次に、特図変動表示ゲームの実行に関する各処理で設定されるゲーム処理タイマがタイムアップしたか否か判定する（ステップＳ４６３）。ここで、ゲーム処理タイマがタイムアップしていないと判定した場合（Ｎｏ）は、特図変動表示ゲームの制御に関する特図変動制御処理（ステップＳ４７５）を行って特図ゲーム処理を終了する。また、ゲーム処理タイマがタイムアップしたか否かの判定（ステップＳ４６３）において、ゲーム処理タイマがタイムアップしていると判定した場合（Ｙｅｓ）は、ゲームを合理的に進行させるために設けたゲーム処理番号に基づき次に実行する処理を選択するゲーム分岐処理（ステップＳ４６４）を行う。
【０１２６】
ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「０」であると判定した場合は、特別図柄の変動開始を監視し、特別図柄の変動開始の設定や演出の設定、又は特図普段処理を行うために必要な情報の設定などを行う特図普段処理（ステップＳ４６５）を実行する。ステップＳ４６１で取得した大当り乱数の判定もこの特図普段処理に中で行われる。従って、特図普段処理（ステップＳ４６５）が遊技結果決定手段として機能する。
【０１２７】
また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「１」であると判定した場合は、特図変動表示ゲームの前半変動時間に係る情報の設定を行う特図前半変動開始処理（ステップＳ４６６）を行う。なお、前半変動時間とは、特図変動表示ゲームの開始からリーチ状態が発生するまでの期間である。
【０１２８】
一方、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「２」であると判定した場合は、特図変動表示ゲームの後半変動時間に係る情報の設定を行う特図後半変動開始処理（ステップＳ４６７）を行う。なお、後半変動時間とは、リーチ状態の発生から特図変動表示ゲームの終了までの期間である。
【０１２９】
また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「３」であると判定した場合は、表示装置６１で実行される飾り特図変動表示ゲームの変動中の図柄の更新や図柄を仮停止した後に再変動させるなどの制御を行う特図変動中処理（ステップＳ４６８）を行う。また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「４」であると判定した場合は、特図変動ゲームにおいて最終的な図柄の停止タイミングを設定したりする特図表示中処理（ステップＳ４６９）を行う。
【０１３０】
さらに、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「５」であると判定した場合は特別遊技状態（大当り）における効果音や照明ユニット１７の発光駆動、所定のインターバル（例えば１秒）を挟んだ特別変動入賞装置５８（大入賞口）の複数回の開放動作処理などを行うファンファーレ／インターバル中処理（ステップＳ４７０）を行う。
【０１３１】
また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「６」であると判定した場合は大入賞口開放中処理（ステップＳ４７１）を行う。この大入賞口開放中処理（ステップＳ４７１）では、特別遊技状態が最終ラウンドでなければファンファーレ／インターバル中処理（ステップＳ４７０）を行うために必要な情報の設定を、また特別遊技状態が最終ラウンドであれば、特別遊技状態の終了画面のコマンドの設定や次の大入賞口残存球処理（ステップＳ４７２）を行うために必要な情報の設定を行う。
【０１３２】
また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「７」であると判定した場合は、大入賞口を閉鎖した後に大入賞口内に残存する全ての遊技球がカウントスイッチ３６Ａで検出されるまで時間を設定する大入賞口残存球処理（ステップＳ４７２）を行う。また、ゲーム分岐処理（ステップＳ４６４）において、ゲーム処理番号が「８」であると判定した場合は、特別遊技状態を終了する処理を行うとともに、前記特図普段処理（ステップＳ４６５）を行うために必要な情報を設定する大当り終了処理（ステップＳ４７３）を行う。
【０１３３】
さらに、ゲーム処理番号に基づく上述の各処理を行った後、設定された各種データをセーブするテーブルデータセーブ処理（ステップＳ４７４）を行なってから、ゲーム処理タイマの更新などの処理を行う特図変動制御処理（ステップＳ４７５）を行なって特図ゲーム処理を終了する。
【０１３４】
次に、図１２を用いて、図１１のステップＳ４６１において実行される始動口スイッチ監視処理の詳細を説明する。
【０１３５】
始動口スイッチ監視処理では、まず、図１０の入力処理ステップＳ４１で取り込んだ信号に基づいて始動口スイッチ（３４Ａ）がオンであるか否かすなわち始動入賞があるか否かの判定を行う（ステップＳ６１１）。そして、このステップＳ６１１において、始動入賞があると判定した場合（Ｙｅｓ）は、次のステップで始動記憶数が上限値であるか否かの判定（ステップＳ６１２）を行う。
【０１３６】
ステップＳ６１１で始動入賞がない（Ｎｏ）と判定した場合、あるいはステップＳ６１２で始動記憶数が上限値である（Ｙｅｓ）と判定した場合には、ステップＳ６２１へジャンプする。一方、ステップＳ６１２で始動記憶数が上限値でない（Ｎｏ）と判定された場合には、ステップＳ６１３で始動記憶数をインクリメント（＋１）した後、始動記憶数を演出制御装置１５０へ知らせるため始動記憶数コマンドをＲＡＭ１０４内の送信バッファに設定する（ステップＳ６１４）。
【０１３７】
続いて、乱数生成回路６０８内の乱数更新中報知レジスタ６０８ｂ９を参照して（ステップＳ６１５）、乱数更新中であるか否かの判定をする（ステップＳ６１６）。ここで、乱数更新中である（Ｙｅｓ）と判定した場合はステップ６１５へ戻り、更新中でなくなるのを待つ。そして、ステップＳ６１６で乱数を更新中でない（Ｎｏ）と判定された場合には、ステップＳ６１７へ進んで、上記始動記憶数に対応して設定されているＲＡＭ１０４内の乱数セーブ領域のアドレスを算出する。
【０１３８】
次に、乱数生成回路６０８内の各乱数ブロックの乱数カウンタ６０８ｂ７から大当りを発生させるか否かを決定する大当り乱数を取り込み、ステップＳ６１７で算出されたアドレス位置に記憶する（ステップＳ６１８）。また、同様にして、大当り停止図柄を決定する大当り図柄乱数、変動表示ゲームにおける変動パターン決定する変動パターン乱数を取得してステップＳ６１７で算出されたアドレス位置すなわち始動記憶に対応した領域に記憶（ステップＳ６１９,Ｓ６２０）して、ステップＳ６２１へ移行する。従って、ステップＳ６１８〜６２０が乱数値取得手段として機能する。
【０１３９】
ステップＳ６２１では、乱数生成回路６０８で乱数更新エラーが発生した場合に備えて、その時点での乱数カウンタ６０８ｂ７の値をＣＰＵ１０１（６０１）のＲＡＭ１０４（６０４）へ記憶（セーブもしくはバックアップコピー）する処理を行う。従って、ステップＳ６２１およびＲＡＭ１０４が乱数値退避手段として機能する。その後、乱数生成回路６０８内の乱数更新トリガレジスタ６０８ｂ３へ所定値の書込みを行なって当該始動口スイッチ処理を終了する。なお、乱数更新トリガレジスタ６０８ｂ３に所定値が書き込まれると、前述したように、乱数更新コントローラ６０８ａがそれを認知して乱数カウンタ６０８ｂ７を更新する処理を実行する。従って、ステップＳ６２２が割込み処理の実行毎に前記更新指示記憶手段に乱数値の更新を指示する更新指示情報を設定する更新指示情報設定手段として機能する。
【０１４０】
次に、図１３および図１４のタイムチャートを用いて、タイマ割込みのタイミングと乱数更新のタイミングとの関係を、上述したような制御フローに従った処理によって、ＣＰＵ１０１から乱数更新トリガレジスタ６０８ｂ３への書込みによる乱数の更新（ＲＥＧトリガ更新）処理が正常に行われた場合と、乱数生成回路６０８の更新処理に異常（更新エラー）が発生した場合のそれぞれについて説明する。なお、図１３が乱数の更新（ＲＥＧトリガ更新）が正常に行われた場合のタイミング、図１４が乱数生成回路に異常（更新エラー）が発生した場合のタイミングを示す。
【０１４１】
本実施形態においては、タイマ割込みで実行される図１２の始動口スイッチ監視処理フロー内のステップＳ６１８〜Ｓ６２０でＣＰＵ６０１による乱数生成回路の乱数カウンタ６０８ｂ７からの乱数の読込みが行われるようにされているため、図１３に示すように、タイマ割込みが発生した時点ｔ０から所定時間Ｔ０を経過した時点ｔ１が乱数取得タイミングとなる。このタイミングｔ１の際にステップＳ４１の入力処理で特図始動スイッチの検出信号が取り込まれている（始動入賞が発生している）ことを条件として、大当り乱数等が遊技制御装置内部に取り込まれてＲＡＭに記憶される。その後、乱数生成回路６０８において、乱数更新処理（Ｔ２）が行われるようにタイミングｔ２が設定されている。
【０１４２】
本実施例では、タイマ割込みはクロックジェネレータ６０９のＣＴＣ回路６０９ａからの信号ＣＴＣ１に基づいて発生し、乱数生成回路６０８における乱数の更新はクロックジェネレータ６０９の分周回路６０９ｂからの信号φ１に基づいて実行される。そこで、乱数生成回路６０８における乱数更新に要する時間Ｔ２よりも、ＣＰＵ６０１による乱数取得間隔Ｔ１の方が長くなるすなわちＴ１＞Ｔ２となるように設定されている。具体的には、ＣＴＣ回路６０９ａから出力される信号ＣＴＣ１の周期Ｔ１が、分周回路６０９ｂから出力される信号φ１よりも長い周期に設定され、これによりタイマ割込みを発生する周期Ｔ１が、乱数更新に要する時間Ｔ２よりも長くなるように設定されている。
【０１４３】
乱数生成回路６０８の乱数更新が正常に行われた場合には、図１３に示すように、乱数の更新が停止しているタイミングｔ１で乱数の取り込みが行われ、その後タイミングｔ２で乱数の更新が開始される。一方、乱数生成回路に異常（更新エラー）が発生した場合には、図９のメイン処理で繰り返し実行されるステップＳ１９〜Ｓ２８のループ内で、乱数生成回路の初期化、図１２の始動口スイッチ監視処理（割込み処理の一部）のステップＳ６２１で退避した乱数カウンタの値の復帰、乱数生成回路の更新トリガ（再起動）が行われることで、図１４に示すように、本来の乱数更新タイミングｔ２よりも遅れたタイミングｔ３で乱数の更新処理が開始されるようになっている。
【０１４４】
さらに、本実施例では、乱数生成回路における更新異常検出から再起動までがＣＰＵのメイン処理により比較的短い時間で終了するようになっているため、次回の乱数取得タイミングｔ４よりも前に乱数生成回路６０８における乱数更新処理が終了して、正常な乱数を取得できる。また、仮に乱数生成回路で連続して更新エラーが発生して乱数更新期間Ｔ２が乱数取得タイミングｔ４と重なってしまったとしても、ＣＰＵは乱数更新中報知レジスタ６０８ｂ１０を参照して乱数更新中は乱数の取り込みをしないようにしているので、不確定ないしは前回と同一の乱数を取り込んでしまうのを回避することができる。
【０１４５】
また、本実施例においては、乱数更新トリガレジスタ６０８ｂ３への書込みによる更新処理において、タイマ割込みごとに乱数カウンタの値をＲＡＭに記憶（セーブ）するとともに、乱数更新エラーレジスタの値を調べてエラーが発生しているときは乱数生成回路を初期化して、セーブした値を乱数カウンタに復帰するので、更新エラーで乱数生成回路の再起動が頻繁に発生したとしても、偏った乱数の発生を防止することができる。
【０１４６】
次に、本発明の第２の実施例について、図１５〜図１８を用いて説明する。第２の実施例は、ＣＴＣ回路６０９ａからの信号ＣＴＣ２により乱数の更新（ＣＴＣ２トリガ更新）を行うようにしたものである。この実施例では、第１の実施例においてメイン処理のステップＳ２０〜Ｓ２４（図９）で行っていた処理を、始動口スイッチ監視処理（割込み処理の一部）内で行うようにしている。図１５には、第２の実施例におけるメイン処理の後半部分のフローチャートが示されている。第２の実施例におけるメイン処理の前半部分は図８の第１の実施例におけるメイン処理の前半部分のフローチャートと同じであるので、図示を省略する。
【０１４７】
図１５のフローチャートは、図９のフローチャートからステップＳ１９〜Ｓ２４を削除したものに相当する。すなわち、第１の実施例のメインループでは、割込みの禁止（ステップＳ１９）、更新エラー報知レジスタの参照（ステップＳ２０）から停電が発生したか否かの判定（ステップＳ２８）までを繰り返し実行するのに対し、第２の実施例のメインループでは、割り込みの許可（ステップＳ２５）と、初期値乱数更新処理（ステップＳ２６）と、停電検査領域のデータをチェックする処理（ステップＳ２７）と、停電が発生したか否かの判定（ステップＳ２８）のみを繰り返し実行するようになっている。
【０１４８】
また、第２の実施例の始動口スイッチ監視処理では、図１６に示すように、先ず更新エラー報知レジスタ６０８ｂ１０の値を取得して（ステップＳ６０１）、乱数生成回路にエラーが発生しているか否か判定する（ステップＳ６０２）。ここで、エラーが発生していると判定した場合（Ｙｅｓ）には、次のステップＳ６０３で乱数生成回路の初期化を行う。具体的には、ＣＴＣ更新許可レジスタ６０８ｂ１（図５参照）への設定、ソフト乱数処理の場合の最大値設定レジスタ６０８ｂ４への最大値とモードの設定、タップ設定レジスタ６０８ｂ２への乱数生成回路を起動させるためのコード（指定値）の設定などがＣＰＵ６０１によって行われる。
【０１４９】
それから、ステップＳ６２１においてＲＡＭに記憶される乱数カウンタ６０８ｂ７の値を乱数カウンタ６０８ｂ７に復帰させる（ステップＳ６０４）。そして、乱数更新トリガレジスタ６０８ｂ３へ所定値（更新指示情報）の書き込みを行なって乱数カウンタ６０８ｂ７を更新し（ステップＳ６０５）、ステップＳ６１１へ移行して始動口スイッチの入力があるか否かの判定をする。なお、ステップＳ６１１〜Ｓ６２１の処理は図１２と同じであるので、説明を省略する。ＣＴＣ２トリガによる更新処理では、ステップＳ６２１で乱数カウンタの値をＲＡＭに記憶した後、乱数更新トリガレジスタ６０８ｂ３へ更新指示情報（所定値）の書き込みは不要であるので、図１２のステップＳ６２２に相当する処理は図１６にはない。
【０１５０】
次に、図１７および図１８のタイムチャートを用いて、第２の実施例において、ＣＴＣ２トリガ更新が設定された場合のタイマ割込みのタイミングと乱数更新のタイミングとの関係を、乱数の更新が正常に行われた場合と乱数生成回路６０８に異常（更新エラー）が発生した場合のそれぞれについて説明する。なお、図１７が乱数の更新（ＣＴＣ２トリガ更新）が正常に行われた場合のタイミング、図１８が乱数生成回路に異常（更新エラー）が発生した場合のタイミングを示す。ＣＴＣ２トリガ更新は、前述したように、ＣＴＣ更新許可レジスタ６０８ｂ１への書込みによって可能にされ、乱数の更新は乱数更新コントローラ６０８ａによる制御によって実行される。
【０１５１】
本実施例においては、ＣＴＣ回路６０９ａからの信号ＣＴＣ２により乱数の更新が開始される一方、タイマ割込みはクロックジェネレータ６０９のＣＴＣ回路６０９ａからの信号ＣＴＣ１に基づいて発生するため、図１７に示すように、タイマ割込みが発生タイミングｔ０と乱数生成回路６０８における乱数更新処理の開始タイミングとが一致する。そして、乱数生成回路６０８における乱数更新処理（Ｔ２）の終了タイミングよりも後ろに乱数取得タイミングｔ１が設定されている。
【０１５２】
乱数の読込みは、タイマ割込みで実行される図１６の始動口スイッチ監視処理フロー内のステップＳ６１８〜Ｓ６２０で行われるようにされているため、図１７に示すように、タイマ割込みが発生した時点ｔ０から所定時間Ｔ０を経過した時点が乱数取得タイミングｔ１となる。このタイミングｔ１の際にステップＳ４１の入力処理で特図始動スイッチの検出信号が取り込まれている（始動入賞が発生している）ことを条件として、大当り乱数等が取り込まれて遊技制御装置内部の乱数が更新される。また、この実施例においても、Ｔ１＞Ｔ２の条件が満たされるようにタイマ割込みの周期Ｔ１が設定されている。
【０１５３】
ＣＴＣ２トリガ更新による更新処理で更新エラーが発生すると、すなわちタイマ割込みが発生した際に、図１８に示すように、乱数更新が異常であると、正規の乱数取得タイミングｔ１での取得が無効とされ、乱数回路の初期化（図１６のステップＳ６０３）、乱数カウンタの値の復帰（ステップＳ６０４）を行なってから乱数更新トリガレジスタへの所定値（更新指示情報）の書き込み（ステップＳ６０５）により乱数カウンタ６０８ｂ７の更新を行い、更新処理後のタイミングｔ３で始動口スイッチ監視処理のステップＳ６１８〜Ｓ６２０により乱数カウンタの値の取り込みが行われることとなる。
【０１５４】
上記実施例によれば、ＣＴＣ２トリガ更新による更新処理においても、タイマ割込みごとに乱数カウンタの値をＲＡＭに記憶（セーブ）するとともに、乱数更新エラーレジスタの値を調べてエラーが発生しているときは乱数生成回路を初期化して、セーブした値を乱数カウンタに復帰するので、更新エラーで乱数生成回路の再起動が頻繁に発生したとしても、偏った乱数の発生を防止することができる。
【０１５５】
以上本発明者によってなされた発明を実施形態に基づき具体的に説明したが、今回開示した実施形態は、全ての点で例示であって制限的なものではない。例えば、前記実施形態では、乱数生成回路６０８で乱数値が更新されなかった場合にエラーを示す値が設定され更新エラー報知レジスタ６０８ｂ１０を設けているが、乱数生成回路６０８の内部の状態を知らせるためのステータスレジスタを設け、該ステータスレジスタの一部に更新エラー情報を設定するように構成しても良い。このようにすれば、レジスタの数を減らすことができる。また、ステータスレジスタには、カウンタモードにおける更新エラーと乱数モードにおける更新エラーとを区別して設定できるようにしてもよい。
【０１５６】
さらに、前記実施形態では、更新エラー報知レジスタ６０８ｂ１０とは別個に乱数回路リセットレジスタ６０８ｂ１１を設けているが、乱数回路リセットレジスタと上記ステータスレジスタとを兼用したレジスタを設けてもよい。
【０１５７】
また、上記実施形態では、本発明をカードユニットによって遊技媒体としての遊技球が貸し出されるパチンコ遊技機に適用したものを説明したが、本発明は、そのようなパチンコ遊技機に限定されないとともに、アレンジボール遊技機、雀球遊技機、及びスロットマシンなどの遊技機にも適用可能である。
【符号の説明】
【０１５８】
１０    遊技機
１１    本体枠
１２    前面枠
１３    ヒンジ
１５    ガラス枠
１６    装飾部材
１７    照明ユニット
２０    開閉パネル
２１    上皿
２４    下皿
２６    球貸ボタン
２７    排出ボタン
２８    残高表示部
３０    スピーカ
３１    普通始動ゲート
３２    一般入賞口
３３    始動入賞口
３４    始動入賞装置
３４Ａ  特図始動スイッチ（始動口スイッチ）
３５    普通変動入賞装置
３６    特別変動入賞装置
３９    アウト口
５０    遊技盤
５１    遊技領域
６０    センターケース
６１    表示装置
１００  遊技制御装置
１０１  遊技用マイクロコンピュータ（遊技制御手段）
１５０  演出制御装置
１６０  電源装置
１６１  バックアップ電源
２００  払出制御装置
６０８  乱数生成回路（乱数生成手段）
６０８ａ    乱数更新コントローラ（更新制御手段、開始値設定手段、更新異常検出手段）
６０８ｂ１  ＣＴＣ更新許可レジスタ
６０８ｂ２  タップ設定レジスタ（起動情報記憶手段）
６０８ｂ３  乱数更新トリガレジスタ（更新指示記憶手段）
６０８ｂ４  最大値設定トリガレジスタ（範囲情報記憶手段）
６０８ｂ５  スタート値設定レジスタ（開始値記憶手段）
６０８ｂ６  一周完了報知レジスタ
６０８ｂ７  乱数カウンタ（乱数値記憶手段）
６０８ｂ８  ワークエリア（更新手段）
６０８ｂ９  乱数更新中報知レジスタ（更新中情報記憶手段）
６０８ｂ１０  更新エラー報知レジスタ（更新状態情報記憶手段）
６０８ｂ１１  乱数回路リセットレジスタ
６０９ａ  ＣＴＣ回路（信号発生手段）
【図１】
2011087606.tif 000003
【図２】
2011087606.tif 000004
【図３】
2011087606.tif 000005
【図４】
2011087606.tif 000006
【図５】
2011087606.tif 000007
【図６】
2011087606.tif 000008
【図７】
2011087606.tif 000009
【図８】
2011087606.tif 000010
【図９】
2011087606.tif 000011
【図１０】
2011087606.tif 000012
【図１１】
2011087606.tif 000013
【図１２】
2011087606.tif 000014
【図１３】
2011087606.tif 000015
【図１４】
2011087606.tif 000016
【図１５】
2011087606.tif 000017
【図１６】
2011087606.tif 000018
【図１７】
2011087606.tif 000019
【図１８】
2011087606.tif 000020
【手続補正書】
【提出日】平成22年6月24日(2010.6.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１１７
【補正方法】変更
【補正の内容】
【０１１７】
一方、ステップＳ２１で乱数生成回路にエラーが発生していないと判定した場合（Ｎｏ）には、ステップＳ２２〜Ｓ２４をスキップしてステップＳ２５へ移行する。ステップＳ２５では割り込みを許可し、初期値乱数更新処理（ステップＳ２６）を行う。それから、停電検査領域のデータをチェックする処理（ステップＳ２７）を行う。そして、停電が発生したか否かの判定（ステップＳ２８）を行い、停電が発生していない場合（Ｎｏ）には、上述の割込みを禁止する処理（ステップＳ１９）に戻り、ステップＳ１９〜Ｓ２８のループ処理を繰り返し行う。
上記ステップＳ２８において、停電が発生していると判定した場合（Ｙｅｓ）は、一旦割込みを禁止する処理（ステップＳ２９）、全出力ポートをオフにする処理（ステップＳ３０）、停電検査領域をクリアする処理（ステップＳ３１）を行う。その後さらに、停電復旧検査領域に停電復旧検査領域チェックデータをセーブする処理（ステップＳ３２）、ＲＷＭの電源遮断時のチェックサムを算出する処理（ステップＳ３３）を行なった後、ＲＷＭへのアクセスを禁止する処理（ステップＳ３４）を行なってから、遊技機の電源が遮断されるのを待つ。このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にＲＷＭに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。