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