(57)【特許請求の範囲】
【請求項１】
各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて識別情報の可変表示を開始し、前記識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、
乱数を発生する乱数回路を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータと、操作に応じて該遊技制御処理を中断させるための中断操作信号を出力する遊技中断操作手段とを搭載した遊技制御基板を備え、
前記乱数回路は、
所定の信号の入力にもとづいて、数値データを更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段と、
前記数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段とを含み、
前記遊技制御用マイクロコンピュータは、
前記乱数回路として、前記数値更新手段が更新可能な数値データの所定の範囲が異なる複数の乱数回路を内蔵し、
遊技機への電力供給が開始されたときに、前記乱数回路の初期設定を行う乱数回路初期設定手段と、
前記乱数回路初期設定手段が前記乱数回路の初期設定を行ったあとに、所定時間毎にタイマ割込を発生させるための設定をする割込設定手段と、
前記タイマ割込が発生したときに、前記遊技制御処理を含むタイマ割込処理を実行する割込処理実行手段と、
前記割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、前記乱数記憶手段が記憶する乱数値を読み出す乱数読出手段と、
前記乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、前記識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段と、
前記遊技制御処理を中断させる遊技制御処理中断手段とを含み、
前記乱数回路初期設定手段は、
前記初期設定において、前記数値更新手段が更新する数値データの前記所定の初期値を、前記遊技制御用マイクロコンピュータ毎に付与された前記遊技制御用マイクロコンピュータを識別するためのマイコン識別情報にもとづいて設定し、
前記初期設定において、前記遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し、
前記遊技制御処理中断手段は、前記遊技中断操作手段からの中断操作信号の入力に応じて、前記遊技制御処理を中断させ、
前記乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段をさらに備えた
ことを特徴とする遊技機。
【請求項２】
遊技制御基板は、開封不能な固着手段によって封止された基板ボックス内に収納されており、
遊技中断操作手段の操作部は、前記基板ボックスに形成された開口部に臨ませて設置される
請求項１記載の遊技機。
【請求項３】
遊技媒体を用いて遊技者が所定の遊技を行うことが可能であり、遊技により払出条件が成立したことにもとづいて景品として景品遊技媒体を払い出し、各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて識別情報の可変表示を開始し、前記識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、
乱数を発生する乱数回路を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータを搭載した遊技制御基板と、
前記景品遊技媒体の払い出しを行う払出手段と、
前記払出手段を制御する払出制御処理を実行する払出制御マイクロコンピュータとを備え、
前記乱数回路は、
所定の信号の入力にもとづいて、数値データを更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段と、
前記数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段とを含み、
前記遊技制御用マイクロコンピュータは、
前記乱数回路として、前記数値更新手段が更新可能な数値データの所定の範囲が異なる複数の乱数回路を内蔵し、
遊技機への電力供給が開始されたときに、前記乱数回路の初期設定を行う乱数回路初期設定手段と、
前記乱数回路初期設定手段が前記乱数回路の初期設定を行ったあとに、所定時間毎にタイマ割込を発生させるための設定をする割込設定手段と、
前記タイマ割込が発生したときに、前記遊技制御処理を含むタイマ割込処理を実行する割込処理実行手段と、
前記割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、前記乱数記憶手段が記憶する乱数値を読み出す乱数読出手段と、
前記乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、前記識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段と、
前記払出条件の成立にもとづいて払い出すべき景品遊技媒体の数を特定可能な景品遊技媒体数データを記憶する景品遊技媒体数記憶手段と、
前記景品遊技媒体数記憶手段に景品遊技媒体数データが記憶されていることにもとづいて前記払出制御マイクロコンピュータに対して景品遊技媒体の払出数を指定するための払出指令信号を、所定の指令条件が成立しているときにオン状態にする払出指令信号出力手段と、
前記払出指令信号出力手段が払出指令信号をオン状態にした後に所定の減算条件が成立すると前記景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから前記払出指令信号で指定した払出数に対応する値を減算する減算処理を行う景品遊技媒体数データ減算手段とを含み、
前記払出制御マイクロコンピュータは、
前記払出指令信号を受信したことにもとづいて、該払出指令信号を受信したことを示す受信確認信号をオン状態にする受信確認信号出力手段と、
前記払出手段を制御して前記払出指令信号により指定された払出数の景品遊技媒体を払い出させる払出処理を実行する景品遊技媒体払出制御手段とを含み、
前記景品遊技媒体数データ減算手段は、前記受信確認信号がオン状態になったことを前記所定の減算条件の成立として減算処理を行い、
前記乱数回路初期設定手段は、
前記初期設定において、前記数値更新手段が更新する数値データの前記所定の初期値を、前記遊技制御用マイクロコンピュータ毎に付与された前記遊技制御用マイクロコンピュータを識別するためのマイコン識別情報にもとづいて設定し、
前記初期設定において、前記遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し、
前記遊技制御用マイクロコンピュータは、前記景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データが示す払い出すべき景品遊技媒体の数が所定の異常判定数となったときに、所定の異常報知手段を制御して異常の発生を報知し、
前記乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段をさらに備えた
ことを特徴とする遊技機。
【請求項４】
遊技制御基板は、開封不能な固着手段によって封止された基板ボックス内に収納されており、
異常報知手段は、前記基板ボックスに収納される
請求項３記載の遊技機。
【請求項５】
割込設定手段は、遊技機への電力供給が開始されたあと、乱数回路初期設定手段が乱数回路の初期設定を行った後に、所定時間毎にタイマ割込を発生させるための設定を行い、
前記乱数回路初期設定手段は、前記割込設定手段によってタイマ割込を発生させるための設定がなされたあとに、前記乱数回路の初期設定を行う
請求項４記載の遊技機。
【請求項６】
乱数回路初期設定手段は、初期設定において、数値データが更新される所定の範囲の最大値としての値が設定される数値最大値レジスタに、数値更新手段により更新可能な数値データの範囲内において所定の最大値を設定し、
数値更新手段は、
前記乱数回路初期設定手段により設定された前記所定の最大値が、所定の下限値以下であるか否かを判定する設定値判定手段と、
前記設定値判定手段によって前記数値最大値レジスタに設定された前記所定の最大値が前記所定の下限値以下であると判定されたときに、前記数値最大値レジスタに、前記数値更新手段により更新可能な数値データの範囲内の所定値を設定しなおす最大値再設定手段とを含む
請求項１から請求項５のうちいずれかに記載の遊技機。
【請求項７】
所定周期のクロック信号を生成し、乱数回路に出力するクロック信号生成手段を備え、
数値更新手段は、前記クロック信号を所定回数入力したことを条件に、数値データを更新し、
乱数回路初期設定手段は、初期設定において、前記数値更新手段が数値データを更新する条件である前記クロック信号の入力回数を設定する
請求項１から請求項６のうちいずれかに記載の遊技機。
【請求項８】
遊技制御用マイクロコンピュータは、乱数回路初期設定手段によって設定される数値データの所定の初期値を、マイコン識別情報を用いて演算する数値演算手段を含み、
前記乱数回路初期設定手段は、前記数値演算手段による演算によって算出された値にもとづいて初期値を設定する
請求項１から請求項７のうちいずれかに記載の遊技機。
【請求項９】
乱数回路初期設定手段は、初期設定において、数値更新手段によって所定の最終値まで数値データが更新されたときに、前記乱数回路初期設定手段が設定した所定の初期値を変更するか否かを設定し、
乱数回路は、前記数値更新手段によって前記所定の最終値まで数値データが更新されたきに、数値データが前記所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段と、
前記通知信号が出力されたことにもとづいて、前記乱数回路初期設定手段によって初期値を変更する設定がされているときに、前記所定の初期値の値を変更する初期値変更手段とを含む
請求項１から請求項８のうちいずれかに記載の遊技機。
【請求項１０】
遊技領域における入賞領域に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号を出力する入賞検出手段を備え、
乱数回路は、前記入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段を含み、
前記ラッチ信号出力手段は、前記入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件に、前記ラッチ信号を出力する
請求項１から請求項９のうちいずれかに記載の遊技機。
【請求項１１】
遊技領域における入賞領域に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号を出力する入賞検出手段を備え、
乱数回路は、前記入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段を含み、
前記ラッチ信号出力手段は、前記入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件に、前記ラッチ信号を出力し、
乱数読出手段は、割込処理実行手段によってタイマ割込処理が所定回数実行される間継続して、前記入賞検出手段から入賞検出信号が入力されたことを条件に、前記乱数記憶手段が記憶する乱数値を読み出し、
前記所定期間は前記所定回数の前記タイマ割込処理が実行される期間よりも短い
請求項１から請求項１０のうちいずれかに記載の遊技機。
【請求項１２】
乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値から所定の最終値までの値の並び順を変更するか否かを設定する数値順設定手段を含み、
乱数回路は、
前記数値更新手段によって前記所定の最終値まで数値データが更新されたときに、数値データが前記所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段と、
前記通知信号が出力されたことにもとづいて、前記乱数回路初期設定手段によって、数値データの前記所定の初期値から前記所定の最終値までの並び順を変更する設定がされているときに、前記数値更新手段が更新する数値データの前記所定の初期値から前記所定の最終値までの並び順を変更する数値順変更手段とを含む
請求項１から請求項１１のうちいずれかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機に関する。
【背景技術】
【０００２】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【０００３】
なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態になるための権利を発生させたりすることや、賞球払出の条件が成立しやすくなる状態になることである。
【０００４】
遊技機では、所定の移行条件が成立したときに、遊技状態を遊技者にとって有利な特定遊技状態に移行させる。例えば、パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定表示態様の組合せになることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。
【０００５】
遊技機における遊技進行は、マイクロコンピュータ等による遊技制御手段によって制御される。また、遊技制御手段は、疑似乱数を生成する手段を備え、乱数の値にもとづいて所定の移行条件が成立するか否か（例えば、可変表示の表示結果を特定表示態様の組み合わせとするか否か）を決定する。例えば、遊技制御手段は、乱数の値が所定の判定値と一致するか否かを判断することによって、所定の移行条件が成立するか否かを判定する。そして、所定の移行条件が成立したと判定すると、遊技制御手段は、遊技状態を特定遊技状態に移行させる。
【０００６】
乱数回路を搭載するマイクロコンピュータを遊技制御手段として用いることによって、乱数生成手段や遊技制御手段を基板上に実装する実装面積を縮小した遊技機がある（例えば、特許文献１参照）。また、特許文献１に記載された遊技機では、マイクロコンピュータに搭載した乱数回路が生成する乱数を用いることによって、マイクロコンピュータの制御負担を軽減している。さらに、特許文献１には、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路の初期設定を行うようにし、遊技の進行を制御する遊技制御処理を実行するように構成することが記載されている。
【０００７】
【特許文献１】特開２００５−１０３１６６号公報（段落００３９，００４１，００９５−０１００、図３−４，２０−２１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載された遊技機では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに、乱数回路の初期設定として、生成する乱数の最大値、乱数の更新方式および乱数を更新する周期の設定を行う。しかし、生成する乱数の初期値をあらかじめ設定することはできない。そのため、複数の遊技機を用いる場合に、各遊技機は、共通の初期値から乱数の生成を開始することになる。すると、特許文献１に記載された遊技機を複数用いる場合、各遊技機の電源を同時に投入すると、各遊技機が同じ初期値から同じタイミングで乱数の生成を開始することになり、乱数生成のタイミングを遊技者や遊技店に認識されてしまう虞がある。従って、所定の周期で無線信号などを用いた取り込み信号を遊技機に対して発生させることによって、大当たりなどの特定遊技状態への移行条件を不正に成立させられてしまう虞がある。
【０００９】
そこで、本発明は、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機において、識別情報の可変表示の表示結果の決定に用いる乱数を生成する際に、生成する乱数のランダム性を向上させることができ、特定遊技状態への移行条件を不正に発生させられてしまうことを防止できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明による遊技機は、各々を識別可能な複数種類の識別情報（例えば、特別図柄）を可変表示可能な可変表示手段（例えば、特別図柄表示器８）を備え、あらかじめ定められている可変表示の実行条件（例えば、始動入賞口１４への遊技球の入賞）が成立した後、可変表示の開始条件（例えば、特別図柄の最終停止および大当たり遊技の終了）の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果（例えば、大当たり図柄）となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、乱数を発生する乱数回路（例えば、乱数回路５０３）を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータ（例えば、遊技制御用マイクロコンピュータ５６０）と、操作に応じて該遊技制御処理を中断させるための中断操作信号を出力する遊技中断操作手段（例えば、中断ボタン３６１）とを搭載した遊技制御基板（例えば、主基板３１）を備え、乱数回路は、所定の信号（例えば、クロック信号）の入力にもとづいて、数値データ（例えば、カウント値）を更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段（例えば、カウンタ５２１）と、数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段（例えば、乱数値記憶回路５３１）とを含み、遊技制御用マイクロコンピュータは、乱数回路として、数値更新手段が更新可能な数値データの所定の範囲が異なる複数の乱数回路を内蔵し、遊技機への電力供給が開始されたときに、乱数回路の初期設定を行う乱数回路初期設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５を実行する部分）と、乱数回路初期設定手段が乱数回路の初期設定を行ったあとに、所定時間ごとにタイマ割込を発生させるための設定をする割込設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１６を実行する部分）と、タイマ割込が発生したときに、遊技制御処理（例えば、タイマ割込処理におけるステップＳ２１〜Ｓ３２（ステップＳ２８，Ｓ３１を除く）の処理）を含むタイマ割込処理を実行する割込処理実行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２０〜Ｓ３３を実行する部分）と、割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、乱数記憶手段が記憶する乱数値を読み出す乱数読出手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３２４を実行する部分）と、乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３８６を実行する部分）と、遊技制御処理を中断させる遊技制御処理中断手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ８５を実行する部分）とを含み、乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値を、遊技制御用マイクロコンピュータ毎に付与された遊技制御用マイクロコンピュータを識別するためのマイコン識別情報（例えば、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバ）にもとづいて設定し（例えば、ステップＳ１５４ｂ）、初期設定において、遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し、遊技制御処理中断手段は、遊技中断操作手段からの中断操作信号の入力に応じて、遊技制御処理を中断させ（例えば、ステップＳ８５のＹ）、乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段をさらに備えたことを特徴とする。
【００１１】
遊技制御基板は、開封不能な固着手段によって封止された基板ボックス（例えば図２９に示す遊技制御基板ボックス）内に収納されており、遊技中断操作手段の操作部（例えば中断ボタン３６１の押下操作部分）は、基板ボックスに形成された開口部（例えば、蓋部３１Ｂに設けられた開口部）に臨ませて設置されていることが好ましい。
【００１２】
また、本発明による遊技機は、遊技媒体を用いて遊技者が所定の遊技を行うことが可能であり、遊技により払出条件が成立（例えば入賞の発生）したことにもとづいて景品として景品遊技媒体を払い出し、各々を識別可能な複数種類の識別情報（例えば、特別図柄）を可変表示可能な可変表示手段（例えば、特別図柄表示器８）を備え、あらかじめ定められている可変表示の実行条件（例えば、始動入賞口１４への遊技球の入賞）が成立した後、可変表示の開始条件（例えば、特別図柄の最終停止および大当たり遊技の終了）の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果（例えば、大当たり図柄）となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、乱数を発生する乱数回路（例えば、乱数回路５０３）を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータ（例えば、遊技制御用マイクロコンピュータ５６０）を搭載した遊技制御基板（例えば主基板３１）と、景品遊技媒体の払い出しを行う払出手段（例えば、球払出装置９７）と、払出手段を制御する払出制御処理を実行する払出制御マイクロコンピュータ（例えば、払出制御用マイクロコンピュータ３７０）とを備え、乱数回路は、所定の信号（例えば、クロック信号）の入力にもとづいて、数値データ（例えば、カウント値）を更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段（例えば、カウンタ５２１）と、数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段（例えば、乱数値記憶回路５３１）とを含み、遊技制御用マイクロコンピュータは、乱数回路として、数値更新手段が更新可能な数値データの所定の範囲が異なる複数の乱数回路を内蔵し、遊技機への電力供給が開始されたときに、乱数回路の初期設定を行う乱数回路初期設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５を実行する部分）と、乱数回路初期設定手段が乱数回路の初期設定を行ったあとに、所定時間ごとにタイマ割込を発生させるための設定をする割込設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１６を実行する部分）と、タイマ割込が発生したときに、遊技制御処理（例えば、タイマ割込処理におけるステップＳ２１〜Ｓ３２（ステップＳ２８，Ｓ３１を除く）の処理）を含むタイマ割込処理を実行する割込処理実行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２０〜Ｓ３３を実行する部分）と、割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、乱数記憶手段が記憶する乱数値を読み出す乱数読出手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３２４を実行する部分）と、乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３８６を実行する部分）と、払出条件の成立にもとづいて払い出すべき景品遊技媒体の数を特定可能な景品遊技媒体数データを記憶する景品遊技媒体数記憶手段（例えば、遊技制御用マイクロコンピュータ５６０におけるＲＡＭ５５）と、景品遊技媒体数記憶手段に景品遊技媒体数データが記憶されていることにもとづいて払出制御マイクロコンピュータに対して景品遊技媒体の払出数を指定するための払出指令信号を、所定の指令条件が成立しているときにオン状態にする払出指令信号出力手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２５４，Ｓ２５５の処理を実行する部分）と、払出指令信号出力手段が払出指令信号をオン状態にした後に所定の減算条件が成立すると景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行う景品遊技媒体数データ減算手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２６１，Ｓ２６２の処理を実行する部分）とを含み、払出制御マイクロコンピュータは、払出指令信号を受信したことにもとづいて、該払出指令信号を受信したことを示す受信確認信号をオン状態にする受信確認信号出力手段（例えば、払出制御用マイクロコンピュータ３７０におけるステップＳ５４４，Ｓ５４６の処理を実行する部分）と、払出手段を制御して払出指令信号により指定された払出数の景品遊技媒体を払い出させる払出処理を実行する景品遊技媒体払出制御手段（例えば、払出制御用マイクロコンピュータ３７０におけるステップＳ６３１，Ｓ６３３，Ｓ６３７等の処理を実行する部分）とを含み、景品遊技媒体数データ減算手段は、受信確認信号がオン状態になったことを所定の減算条件の成立として減算処理を行い（例えばステップＳ２６１，Ｓ２６２）、乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値を、遊技制御用マイクロコンピュータ毎に付与された遊技制御用マイクロコンピュータを識別するためのマイコン識別情報（例えば、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバ）にもとづいて設定し（例えば、ステップＳ１５４ｂ）、初期設定において、遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し、遊技制御用マイクロコンピュータは、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データが示す払い出すべき景品遊技媒体の数が所定の異常判定数となったときに、所定の異常報知手段（例えば未払出超過ＬＥＤ３６２）を制御して異常の発生を報知し（例えば、ステップＳ１７４，Ｓ１７５）、乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段をさらに備えたことを特徴とする。
【００１３】
遊技制御基板は、開封不能な固着手段によって封止された基板ボックス（例えば図２９に示す遊技制御基板ボックス）内に収納されており、異常報知手段（例えば未払出超過ＬＥＤ３６２）は、基板ボックスに収納されていることが望ましい。
【００１４】
割込設定手段は、遊技機への電力供給が開始されたあと、乱数回路初期設定手段が乱数回路の初期設定（例えばステップＳ１５）を行った後に、所定時間毎にタイマ割込を発生させるための設定を行い（例えばステップＳ１５のあとのステップＳ１６）、乱数回路初期設定手段は、割込設定手段によってタイマ割込を発生させるための設定がなされたあとに、乱数回路の初期設定を行うように構成されていてもよい。
【００１６】
乱数回路初期設定手段は、初期設定において、数値データが更新される所定の範囲の最大値としての値が設定される数値最大値レジスタ（例えば、乱数最大値設定レジスタ５３５）に、数値更新手段により更新可能な数値データの範囲内において所定の最大値（例えば、乱数最大値）を設定し（例えば、遊技制御用マイクロコンピュータ５６０がステップＳ１５２を実行する部分）、数値更新手段は、乱数回路初期設定手段により設定された所定の最大値が、所定の下限値（例えば、１２ビット乱数回路５０３ａを設定した場合における「２５６」）以下であるか否かを判定する設定値判定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５３ｂを実行する部分）と、設定値判定手段によって数値最大値レジスタに設定された所定の最大値が所定の下限値以下であると判定されたときに、数値最大値レジスタに、数値更新手段により更新可能な数値データの範囲内の所定値（例えば、１２ビット乱数回路５０３ａを設定した場合における「４０９５」）を設定しなおす最大値再設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５３ｃを実行する部分）とを含むように構成されていてもよい。
【００１７】
所定周期のクロック信号を生成し、乱数回路に出力するクロック信号生成手段（例えば、クロック回路５０１）を備え、数値更新手段は、クロック信号を所定回数入力したことを条件に、数値データを更新し（例えば、クロック信号出力回路５２４が基準クロック信号ＣＬＫを１６分周した乱数発生用クロック信号ＳＩを入力すると、カウンタ５２１がカウント値Ｃを更新する部分）、乱数回路初期設定手段は、初期設定において、数値更新手段が数値データを更新する条件であるクロック信号の入力回数を設定する（例えば、遊技制御用マイクロコンピュータ５６０がステップＳ１５６を実行する）ように構成されていてもよい。
【００１８】
遊技制御用マイクロコンピュータは、乱数回路初期設定手段によって設定される数値データの所定の初期値を、マイコン識別情報を用いて演算する数値演算手段（例えば、遊技用マイクロコンピュータにおけるステップＳ１５４ｂの処理を実行する際に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバに所定値を加算して）演算値を求める部分）を含み、乱数回路初期設定手段は、数値演算手段による演算によって算出された値にもとづいて初期値を設定する（例えば、遊技用マイクロコンピュータがステップＳ１５４ｂの処理を実行する際に、求めた演算値をカウント値の初期値として設定する）ように構成されていてもよい。
【００１９】
乱数回路初期設定手段は、初期設定において、数値更新手段によって所定の最終値まで数値データが更新されたときに、乱数回路初期設定手段が設定した所定の初期値を変更するか否かを設定し（例えば、遊技制御用マイクロコンピュータ５６０がステップＳ１５７を実行する）、乱数回路は、数値更新手段によって所定の最終値まで数値データが更新されたきに、数値データが所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段（例えば、カウンタ５２１の出力端子）と、通知信号が出力されたことにもとづいて、乱数回路初期設定手段によって初期値を変更する設定がされているときに、所定の初期値の値を変更する初期値変更手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２２０〜Ｓ２２６を実行する部分）とを含むように構成されていてもよい。
【００２０】
遊技機は、遊技領域における入賞領域（例えば、始動入賞口１４）に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号（例えば、入賞検出信号ＳＳ）を出力する入賞検出手段（例えば、始動口スイッチ１４ａ）を備え、乱数回路は、入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段（例えば、ラッチ信号生成回路５３３）を含み、ラッチ信号出力手段は、入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件（例えば、タイマ回路５３４が所定期間（例えば、３ｍｓ）を計測したときに、乱数値読取信号出力回路５２６から出力される乱数値読取信号を入力したこと）に、ラッチ信号を出力する（例えば、ラッチ信号生成回路５３３が、乱数値読取信号出力回路５２６から出力される乱数値読取信号を、反転回路５３２から出力される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する部分）ように構成されていてもよい。
【００２１】
遊技機は、遊技領域における入賞領域に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号を出力する入賞検出手段（例えば、始動口スイッチ１４ａ）を備え、乱数回路は、入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段（例えば、ラッチ信号生成回路５３３）を含み、ラッチ信号出力手段は、入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件に、ラッチ信号を出力し（例えば、ラッチ信号生成回路５３３が、乱数値読取信号出力回路５２６から出力される乱数値読取信号を、反転回路５３２から出力される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する部分）、乱数読出手段は、割込処理実行手段によってタイマ割込処理が所定回数実行される間継続して、入賞検出手段から入賞検出信号が入力されたことを条件（例えば、遊技制御用マイクロコンピュータ５６０によるステップＳ３２２の処理の実行の際に、割込回数カウンタに示されるタイマ割込処理の実行回数が所定回数（例えば、３回）に達していること）に、乱数記憶手段が記憶する乱数値を読み出し（例えば、ＣＰＵ５６が、乱数回路５０３の乱数値記憶回路５３１から、乱数値として記憶されているランダムＲの値を読み出し）、所定期間（例えば、３ｍｓ）は所定回数のタイマ割込処理が実行される期間（例えば、６ｍｓ）よりも短くなるように構成されていてもよい。
【００２２】
乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値から所定の最終値までの値の並び順（例えば、カウンタ５２１が更新するカウント値Ｃの順列）を変更するか否かを設定する数値順設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５８を実行する部分）を含み、乱数回路は、数値更新手段によって所定の最終値まで数値データが更新されたときに、数値データが所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段（例えば、カウンタ５２１の出力端子）と、通知信号が出力されたことにもとづいて、乱数回路初期設定手段によって、数値データの所定の初期値から所定の最終値までの並び順を変更する設定がされているときに、数値更新手段が更新する数値データの所定の初期値から所定の最終値までの並び順を変更する数値順変更手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ２４を実行する部分）とを含むように構成されていてもよい。
【発明の効果】
【００２３】
請求項１記載の発明では、遊技制御用マイクロコンピュータが、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路の初期設定を行うとともに、初期設定においてマイコン識別情報にもとづく値を乱数の初期値として設定するように構成されているので、乱数回路が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。さらに、遊技制御用マイクロコンピュータが、遊技中断操作手段からの中断操作信号の入力に応じて遊技制御処理を中断させる遊技制御処理中断手段を有する構成とされているので、意図的に遊技制御処理を中断させることができ、意図的な中断が不能となっている場合に不正基板が設置されているものとして不正基板を容易に発見することができる。また、更新可能な数値データの所定の範囲が異なる複数の乱数回路について、それぞれ使用可能とするか否かを設定するように構成されているので、使用する乱数回路だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。そのため、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータの制御負担を軽減することができる。
【００２４】
請求項２記載の発明では、遊技制御基板は、開封不能な固着手段によって封止された基板ボックス内に収納されており、遊技中断操作手段の操作部は、基板ボックスに形成された開口部に臨ませて設置されるように構成されているので、遊技中断操作手段からの中断操作信号を不正基板に入力させて遊技を中断させることを防止することができる。
【００２５】
請求項３記載の発明では、遊技制御用マイクロコンピュータが、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路の初期設定を行うとともに、初期設定においてマイコン識別情報にもとづく値を乱数の初期値として設定するように構成されているので、乱数回路が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。また、遊技制御用マイクロコンピュータが、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データが示す払い出すべき景品遊技媒体の数が所定の異常判定数となったときに、所定の異常報知手段を制御して異常の発生を報知するように構成されているので、異常報知手段による異常の発生の報知によって、払出制御用マイクロコンピュータとの通信が不正基板に搭載されたマイクロコンピュータとの間で実行されていることを報知することができ、不正基板を容易に発見することができるようになる。また、更新可能な数値データの所定の範囲が異なる複数の乱数回路について、それぞれ使用可能とするか否かを設定するように構成されているので、使用する乱数回路だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。そのため、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータの制御負担を軽減することができる。
【００２６】
請求項４記載の発明では、遊技制御基板は、開封不能な固着手段によって封止された基板ボックス内に収納されており、異常報知手段は、基板ボックスに収納されるように構成されているので、不正基板からの信号によって異常報知手段が駆動されることを防止することができる。
【００２７】
請求項５記載の発明では、割込設定手段は、遊技機への電力供給が開始されたあと、乱数回路初期設定手段が乱数回路の初期設定を行った後に、所定時間毎にタイマ割込を発生させるための設定を行い、乱数回路初期設定手段は、割込設定手段によってタイマ割込を発生させるための設定がなされたあとに、乱数回路の初期設定を行うように構成されているので、遊技制御処理の実行中に乱数回路の設定が変更されることが無いようにすることができ、不正行為を防止することができる。
【００２９】
請求項６記載の発明では、数値データが更新される所定の範囲の最大値としての値をあらかじめ設定するように構成されているので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路および遊技制御用マイクロコンピュータの処理負担を軽減することができる。また、設定された所定の最大値が所定の下限値以下である場合には、所定の最大値を設定しなおすように構成されているので、遊技制御用マイクロコンピュータの誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。
【００３０】
請求項７記載の発明では、数値更新手段が数値データを更新する条件であるクロック信号の入力回数をあらかじめ設定するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。
【００３１】
請求項８記載の発明では、マイコン識別情報を用いた演算によって算出された値にもとづいて初期値を設定するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。そのため、マイコン識別情報を見ただけでは乱数の初期値を認識しにくくすることができ、セキュリティ性を向上させることができる。
【００３２】
請求項９記載の発明では、数値データを所定の最終値まで更新したときに、所定の初期値を更新するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。
【００３３】
請求項１０記載の発明では、ラッチ信号が出力されたことにもとづいて乱数記憶手段が乱数を記憶するにあたって、所定期間に亘って継続して入賞検出信号が入力されたことを条件にラッチ信号を出力するように構成されているので、ノイズの発生を入力検出信号の入力と誤認識してラッチ信号を出力し、生成した乱数を記憶してしまうことを防止できる。また、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によってラッチ信号が出力され、不正なラッチ信号によって生成された乱数を記憶させられてしまう可能性を低減することができる。
【００３４】
請求項１１記載の発明では、乱数記憶手段から乱数を読み出すにあたって、タイマ割込処理が所定回数実行される間継続して入賞検出信号が入力されたことを条件に乱数記憶手段から乱数を読み出すように構成されているので、乱数を読み出してから、乱数記憶手段に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。そのため、前回乱数記憶手段から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
【００３５】
請求項１２記載の発明では、数値データを所定の最終値まで更新したときに、所定の初期値から所定の最終値までの並び順を更新するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。
【発明を実施するための最良の形態】
【００３６】
実施の形態１．
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図１はパチンコ遊技機を正面からみた正面図、図２は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
【００３７】
パチンコ遊技機１は、縦長の方形状に形成された外枠（図示せず）と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機１は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠２を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠（図示せず）と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品（後述する遊技盤を除く。）とを含む構造体である。
【００３８】
図１に示すように、パチンコ遊技機１は、額縁状に形成されたガラス扉枠２を有する。ガラス扉枠２の下部表面には打球供給皿（上皿）３がある。打球供給皿３の下部には、打球供給皿３に収容しきれない遊技球を貯留する余剰球受皿４と遊技球を発射する打球操作ハンドル（操作ノブ）５が設けられている。外枠のガラス扉枠２の背面に対応する位置には、遊技盤６が着脱可能に取り付けられている。なお、遊技盤６は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤６の前面には遊技領域７が形成されている。
【００３９】
遊技領域７の中央付近には、それぞれが演出用の飾り図柄を可変表示する複数の可変表示部を含む可変表示装置（飾り図柄表示装置）９が設けられている。可変表示装置９には、例えば「左」、「中」、「右」の３つの可変表示部（図柄表示エリア）がある。可変表示装置９は、特別図柄表示器８による特別図柄の可変表示期間中に、装飾用（演出用）の図柄としての飾り図柄の可変表示を行う。飾り図柄の可変表示を行う可変表示装置９は、演出制御基板に搭載されている演出制御用マイクロコンピュータによって制御される。
【００４０】
可変表示装置９の下部には、始動入賞口１４に入った有効入賞球数すなわち保留記憶（始動記憶または始動入賞記憶ともいう。）数を表示する４つの特別図柄保留記憶表示器１８が設けられている。特別図柄保留記憶表示器１８は、保留記憶数を入賞順に４個まで表示する。特別図柄保留記憶表示器１８は、始動入賞口１４に始動入賞があるごとに、点灯状態のＬＥＤの数を１増やす。そして、特別図柄保留記憶表示器１８は、特別図柄表示器８で可変表示が開始されるごとに、点灯状態のＬＥＤの数を１減らす（すなわち１つのＬＥＤを消灯する）。具体的には、特別図柄保留記憶表示器１８は、特別図柄表示器８で可変表示が開始されるごとに、点灯状態をシフトする。なお、この例では、始動入賞口１４への入賞による始動記憶数に上限数（４個まで）が設けられているが、上限数を４個以上にしてもよい。
【００４１】
可変表示装置９の上部には、識別情報としての特別図柄を可変表示する特別図柄表示器（特別図柄表示装置）８が設けられている。この実施の形態では、特別図柄表示器８は、例えば０〜９の数字を可変表示可能な簡易で小型の表示器（例えば７セグメントＬＥＤ）で実現されている。特別図柄表示器８は、遊技者に特定の停止図柄を把握しづらくさせるために、０〜９９など、より多種類の数字を可変表示するように構成されていてもよい。また、可変表示装置９は、特別図柄表示器８による特別図柄の可変表示期間中に、装飾用（演出用）の図柄としての飾り図柄の可変表示を行う。
【００４２】
さらに、可変表示装置９の左側には、遊技演出に用いられる可動部材としてのハンマ１５１が設けられている。ハンマ１５１は、可動部１５２を支点として右方向に倒れ、可変表示装置９に表示される飾り図柄のうち最も左側の飾り図柄を叩くような演出を行うことができる。
【００４３】
また、パチンコ遊技機１は、遊技の進行中に遊技者が操作可能な操作スイッチ８１を備えている。例えば、操作スイッチ８１が操作（押下）されると、可動部材としてのハンマ１５１が動作する。
【００４４】
可変表示装置９の下方には、始動入賞口１４を形成する可変入賞球装置１５が設けられている。始動入賞口１４に入った入賞球は、遊技盤６の背面に導かれ、始動口スイッチ１４ａによって検出される。可変入賞球装置１５は、ソレノイド１６によって開状態にされる。
【００４５】
可変入賞球装置１５の下部には、特定遊技状態（大当り状態）においてソレノイド２１によって開状態に制御される開閉板を用いた特別可変入賞球装置２０が設けられている。特別可変入賞球装置２０は大入賞口を開閉する手段である。特別可変入賞球装置２０に入賞し遊技盤６の背面に導かれた入賞球のうち一方（Ｖ入賞領域：特別領域）に入った入賞球はＶ入賞スイッチ２２で検出された後カウントスイッチ２３で検出され、他方の領域に入った遊技球は、そのままカウントスイッチ２３で検出される。遊技盤６の背面には、大入賞口内の経路を切り換えるためのソレノイド２１Ａも設けられている。
【００４６】
遊技球がゲート３２を通過しゲートスイッチ３２ａで検出されると、普通図柄表示器１０の表示の可変表示が開始される。この実施の形態では、左右のランプ（点灯時に図柄が視認可能になる）が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に左側のランプが点灯すれば当たりになる。そして、普通図柄表示器１０における停止図柄が所定の図柄（当り図柄）である場合に、可変入賞球装置１５が所定回数、所定時間だけ開状態になる。普通図柄表示器１０の近傍には、ゲート３２を通過した入賞球数を表示する４つのＬＥＤによる表示部を有する普通図柄始動記憶表示器４１が設けられている。ゲート３２への遊技球の通過があるごとに、普通図柄始動記憶表示器４１は点灯するＬＥＤを１増やす。そして、普通図柄表示器１０の可変表示が開始されるごとに、点灯するＬＥＤを１減らす。
【００４７】
遊技盤６には、複数の入賞口２９，３０，３３，３９が設けられ、遊技球の入賞口２９，３０，３３，３９への入賞は、それぞれ入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａによって検出される。各入賞口２９，３０，３３，３９は、遊技媒体を受け入れて入賞を許容する領域として遊技盤６に設けられる入賞領域を構成している。なお、始動入賞口１４や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。遊技領域７の左右周辺には、遊技中に点滅表示される装飾ランプ２５が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口２６がある。また、遊技領域７の外側の左右上部には、効果音を発する２つのスピーカ２７が設けられている。遊技領域７の外周には、天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃが設けられている。さらに、遊技領域７における各構造物（大入賞口等）の周囲には装飾ＬＥＤが設置されている。天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃおよび装飾用ＬＥＤは、遊技機に設けられている装飾発光体の一例である。
【００４８】
そして、この例では、左枠ランプ２８ｂの近傍に、賞球払出中に点灯する賞球ランプ５１が設けられ、天枠ランプ２８ａの近傍に、補給球が切れたときに点灯する球切れランプ５２が設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット（以下、「カードユニット」という。）５０が、パチンコ遊技機１に隣接して設置されている。
【００４９】
カードユニット５０には、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機１に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニットを解放するためのカードユニット錠が設けられている。
【００５０】
遊技者の操作により打球発射装置から発射された遊技球は、打球レールを通って遊技領域７に入り、その後、遊技領域７を下りてくる。遊技球が始動入賞口１４に入り始動口スイッチ１４ａで検出されると、図柄の可変表示を開始できる状態であれば、特別図柄表示器８において特別図柄が可変表示（変動）を始める。図柄の可変表示を開始できる状態でなければ、保留記憶数を１増やす。
【００５１】
特別図柄表示器８における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄（停止図柄）が大当り図柄（特定表示結果）であると、大当り遊技状態に移行する。すなわち、特別可変入賞球装置２０が、一定時間経過するまで、または、所定個数（例えば１０個）の遊技球が入賞するまで開放する。そして、特別可変入賞球装置２０の開放中に遊技球がＶ入賞領域に入賞しＶ入賞スイッチ２２で検出されると、継続権が発生し特別可変入賞球装置２０の開放が再度行われる。継続権の発生は、所定回数（例えば１５ラウンド）許容される。なお、Ｖ入賞領域を設けずに、特別可変入賞球装置２０の開放を常に最終ラウンドまで（例えば、１５ラウンドまで）許容するようにしてもよい。
【００５２】
停止時の特別図柄表示器８における特別図柄が確率変動を伴う大当り図柄（確変図柄）である場合には、次に大当りになる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態になる。
【００５３】
遊技球がゲート３２を通過すると、普通図柄表示器１０において普通図柄が可変表示される状態になる。また、普通図柄表示器１０における停止図柄が所定の図柄（当り図柄）である場合に、可変入賞球装置１５が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器１０における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置１５の開放時間と開放回数が高められる。すなわち、可変入賞球装置１５の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
【００５４】
次に、パチンコ遊技機１の裏面の構造について図３を参照して説明する。図３は、遊技機を裏面から見た背面図である。
【００５５】
図３に示すように、遊技機裏面側では、可変表示装置９を制御する演出制御用マイクロコンピュータが搭載された演出制御基板８０を含む可変表示制御ユニット４９、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板（主基板）３１が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板３７が設置されている。なお、演出制御マイクロコンピュータは、遊技盤６に設けられている可変表示装置９を制御するとともに、各種装飾ＬＥＤ、装飾ランプ２５、枠側に設けられている天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃを点灯制御し、スピーカ２７からの音発生を制御する。
【００５６】
さらに、ＤＣ３０Ｖ、ＤＣ２１Ｖ、ＤＣ１２ＶおよびＤＣ５Ｖを作成する電源回路が搭載された電源基板９１０やタッチセンサ基板９１が設けられている。電源基板９１０は、大部分が主基板３１と重なっているが、主基板３１に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機１における主基板３１および各電気部品制御基板（演出制御基板８０および払出制御基板３７）や遊技機に設けられている各電気部品（電力が供給されることによって動作する部品）への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチが設けられている。さらに、露出部分における電源スイッチの内側（基板内部側）には、交換可能なヒューズが設けられている。
【００５７】
なお、電気部品制御基板には、電気部品制御用マイクロコンピュータを含む電気部品制御手段が搭載されている。電気部品制御手段は、遊技制御手段等からのコマンドとしての指令信号（制御信号）に従って遊技機に設けられている電気部品（遊技用装置：球払出装置９７、可変表示装置９、ランプやＬＥＤなどの発光体、スピーカ２７等）を制御する。以下、主基板３１を電気部品制御基板に含めて説明を行うことがある。その場合には、電気部品制御基板に搭載される電気部品制御手段は、遊技制御手段と、遊技制御手段等からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板３１以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。
【００５８】
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板１６０が設置されている。ターミナル基板１６０には、少なくとも、球切れ検出スイッチ１６７の出力を導入して外部出力するための球切れ用端子、賞球情報（賞球個数信号）を外部出力するための賞球用端子および球貸し情報（球貸し個数信号）を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板３１からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板（情報出力基板）３６が設置されている。
【００５９】
貯留タンク３８に貯留された遊技球は誘導レール３９を通り、カーブ樋を経て払出ケース４０Ａで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ１８７が設けられている。球切れスイッチ１８７が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ１８７は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク３８内の補給球の不足を検出する球切れ検出スイッチ１６７も誘導レール３９における上流部分（貯留タンク３８に近接する部分）に設けられている。球切れ検出スイッチ１６７が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【００６０】
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿３が満杯になると、遊技球は、余剰球通路を経て余剰球受皿４に導かれる。さらに遊技球が払い出されると、感知レバー（図示せず）が貯留状態検出手段としての満タンスイッチ（図示せず）を押圧して、貯留状態検出手段としての満タンスイッチがオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
【００６１】
図４は、主基板３１における回路構成の一例を示すブロック図である。なお、図４には、遊技機に搭載されている払出制御基板３７、ランプドライバ基板３５、音声出力基板７０、インタフェース基板６６、中継基板７７および演出制御基板８０も示されている。主基板３１には、プログラムに従ってパチンコ遊技機１を制御する基本回路（遊技制御手段に相当）５３と、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、Ｖ入賞スイッチ２２、カウントスイッチ２３、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ、および全入賞計数スイッチ３４からの信号を基本回路５３に与える入力ドライバ回路５８と、可変入賞球装置１５を開閉するソレノイド１６、特別可変入賞球装置２０を開閉するソレノイド２１および大入賞口内の経路を切り換えるためのソレノイド２１Ａを基本回路５３からの指令に従って駆動する出力回路５９と、遊技店員等による操作に応じて遊技制御用マイクロコンピュータ５６０による遊技制御処理を中断させるための中断ボタン３６１とが搭載されている。中断ボタン３６１は、押下されたことに応じて、遊技制御処理中断信号を遊技制御用マイクロコンピュータ５６０に対して出力する。
【００６２】
なお、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、Ｖ入賞スイッチ２２、カウントスイッチ２３、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ、全入賞計数スイッチ３４等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段（この例では遊技球検出手段）であれば、その名称を問わない。入賞検出を行う始動口スイッチ１４ａ、カウントスイッチ２３、および入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａの各スイッチは、入賞領域への遊技球の入賞を検出する入賞検出手段でもある。なお、ゲート３２のような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ（例えばゲートスイッチ３２ａ）が入賞検出手段になる。さらに、この実施の形態では、Ｖ入賞領域に入賞した遊技球が、Ｖ入賞スイッチ２２で検出されるとともにカウントスイッチ２３でも検出される。よって、大入賞口に入賞した遊技球数は、カウントスイッチ２３による検出数に相当する。しかし、Ｖ入賞領域に入賞した遊技球はＶ入賞スイッチ２２のみで検出されるようにし、大入賞口に入賞した遊技球数は、Ｖ入賞スイッチ２２による検出数とカウントスイッチ２３による検出数との和になるようにしてもよい。さらに、Ｖ入賞領域を設けず、最終ラウンド以外のラウンドでは、常に継続権が発生するようにしてもよい。
【００６３】
基本回路５３は、ゲーム制御（遊技進行制御）用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用される記憶手段（変動データを記憶する変動データ記憶手段）としてのＲＡＭ５５、およびプログラムに従って制御動作を行うＣＰＵ５６を有する遊技制御用マイクロコンピュータ５６０を含む。なお、この実施の形態では、ＣＰＵ５６とは、基本回路５３のうち、プログラムに従って動作する中央処理装置（ＲＯＭ５４やＲＡＭ５５などの記憶手段、Ｉ／Ｏポート部５７などを除いた部分）を指し、後述するメイン処理や割込処理（タイマ割込処理）を実行する。また、遊技制御用マイクロコンピュータ５６０とは、基本回路５３のうち、ＣＰＵ５６に加えて、ＲＯＭ５４やＲＡＭ５５などの記憶手段、乱数回路５０３、Ｉ／Ｏポート部５７などを含む部分を指し、各基板（払出制御基板３７や演出制御基板８０）が搭載するマイクロコンピュータと各種データの送受信を行う。
【００６４】
なお、本実施の形態では、「マイクロコンピュータが送受信する」等の表現を用いるが、具体的には、例えば、データ送信を行う場合、ＣＰＵがシリアル通信回路の送信データレジスタにデータをセットし、シリアル通信回路が送信データレジスタにセットされたデータを送信する。また、ＣＰＵがＩ／Ｏポート部を介してデータを送信する。また、例えば、データ受信を行う場合、受信データがシリアル通信回路の受信データレジスタに書き込まれ、ＣＰＵが受信データレジスタから受信データを読み込む。また、ＣＰＵがＩ／Ｏポート部を介してデータを受信する。
【００６５】
なお、本実施の形態では、遊技制御用マイクロコンピュータ５６０が、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０とシリアル通信を行う場合を説明する。
【００６６】
この実施の形態では、ＲＯＭ５４、ワークメモリとしての記憶手段であるＲＡＭ５５およびＩ／Ｏポート部５７は遊技制御用マイクロコンピュータ５６０に内蔵されている。すなわち、遊技制御用マイクロコンピュータ５６０は、１チップマイクロコンピュータである。１チップマイクロコンピュータは、少なくともＲＡＭ５５が内蔵されていればよく、ＲＯＭ５４は外付けであっても内蔵されていてもよい。
【００６７】
なお、遊技制御用マイクロコンピュータ５６０においてＣＰＵ５６がＲＯＭ５４に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ５６０が実行する（または、処理を行う）ということは、具体的には、ＣＰＵ５６がプログラムに従って制御を実行することである。このことは、主基板３１以外の他の基板に搭載されているマイクロコンピュータについても同様である。また、遊技制御手段は、遊技制御用マイクロコンピュータ５６０を含む基本回路５３で実現されている。
【００６８】
また、ＲＡＭ５５は、その一部または全部が電源基板９１０において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップＲＡＭである。すなわち、遊技機に対する電力供給が停止しても、所定期間（バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで）は、ＲＡＭ５５の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ（特別図柄プロセスフラグ等）と未払出賞球数を示すデータは、バックアップＲＡＭに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、ＲＡＭ５５の全部が、電源バックアップされているとする。
【００６９】
遊技制御用マイクロコンピュータ５６０のリセット端子には、電源基板９１０からのリセット信号が入力される。また、払出制御用マイクロコンピュータのリセット端子にも、電源基板９１０からのリセット信号が入力される。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータは動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータは動作停止状態になる。従って、リセット信号がハイレベルである期間は、遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータの動作を許容する許容信号が出力されていることになり、リセット信号がローレベルである期間は、遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータの動作を停止させる動作停止信号が出力されていることになる。なお、リセット回路をそれぞれの電気部品制御基板（主基板３１を含む）に搭載してもよいし、複数の電気部品制御基板のうちの一つまたは複数にリセット回路を搭載し、そこからリセット信号を他の電気部品制御基板に供給するようにしてもよい。
【００７０】
さらに、基本回路５３の入力ポートには、払出制御基板３７を経由して、電源基板９１０からの電源電圧が所定値以下に低下したことを示す電源断信号が入力される。また、基本回路５３の入力ポートには、ＲＡＭの内容をクリアすることを指示するためのクリアスイッチが操作されたことを示すクリア信号が入力される。
【００７１】
クリア信号は、主基板３１において分岐され、払出制御基板３７にも供給される。なお、遊技制御用マイクロコンピュータ５６０が入力ポートを介して入力したクリア信号の状態を、出力ポートを介して払出制御基板３７に出力してもよい。
【００７２】
この実施の形態では、演出制御基板８０に搭載されている演出制御手段（演出制御用マイクロコンピュータで構成される。）が、中継基板７７を介して遊技制御用マイクロコンピュータ５６０からの演出制御コマンドを受信し、飾り図柄を可変表示する可変表示装置９の表示制御等を行う。
【００７３】
また、図４に示すように、主基板３１には、照合機３６５が接続されている。照合機３６５は、主基板３１が正規の基板であるか否かを、主基板３１に一意に付与されている基板ＩＤ（遊技制御用マイクロコンピュータ５６０固有のＩＤナンバ）により照合し、その照合結果を表示する機器である。すなわち、主基板３１が備えるＲＯＭ５４には、主基板３１自身に一意に与えられている基板ＩＤが登録されている。また、照合機３６５には、主基板３１に一意に付与されている基板ＩＤがあらかじめ格納されている。照合機３６５は、主基板３１から照合端子３５４（図５参照）を介して送られてきた基板ＩＤと、自己が保存している主基板３１の基板ＩＤとを照合し、一致すれば照合ＯＫ側のランプを点灯させ、一致しなければ照合ＮＧ側のランプを点灯させる。
【００７４】
図５は、主基板３１における回路構成および主基板３１から演出制御基板８０に送信される演出制御コマンドの信号線を示すブロック図である。図５に示すように、この実施の形態では、主基板３１が搭載する遊技制御用マイクロコンピュータ５６０は、演出制御信号送信用の８本の信号線ＣＤ０〜ＣＤ７を用いて、演出制御コマンドを演出制御基板８０に送信する。また、主基板３１と演出制御基板８０との間には、ストローブ信号を送受するための演出制御ＩＮＴ信号の信号線も配線されている。
【００７５】
主基板３１には、図５に示すように、始動口スイッチ１４ａからの配線が接続されている。また、主基板３１には、大入賞口である特別可変入賞球装置２０や、その他の入賞口への遊技球の入賞等を検出するための各種スイッチ２９ａ，３０ａ，３３ａ，３９ａからの配線も接続されている。さらに、主基板３１には、可変入賞球装置１５を開閉するソレノイド１６、特別可変入賞球装置２０を開閉するソレノイド２１および大入賞口内の経路を切り換えるためのソレノイド２１Ａへの配線が接続されている。
【００７６】
主基板３１は、遊技制御用マイクロコンピュータ５６０、入力ドライバ回路５８、出力回路５９、中断ボタン３６１および照合端子３６４を搭載する。遊技制御用マイクロコンピュータ５６０は、クロック回路５０１、システムリセット手段として機能するリセットコントローラ５０２、乱数回路５０３ａ，５０３ｂ、ゲーム制御用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用されるＲＡＭ５５、プログラムに従って動作するＣＰＵ５６、ＣＰＵ５６に割込要求信号（タイマ割込による割込要求信号）を送出するＣＴＣ５０４、払出制御基板３７や演出制御基板８０が備えるマイクロコンピュータおよびＩ／Ｏポート部５７を内蔵する。
【００７７】
クロック回路５０１は、システムクロック信号を２７（＝１２８）分周して生成した所定の周期の基準クロック信号ＣＬＫを、各乱数回路５０３ａ，５０３ｂに出力する。リセットコントローラ５０２は、ローレベルの信号が一定期間入力されたとき、ＣＰＵ５６および各乱数回路５０３ａ，５０３ｂに所定の初期化信号を出力して、遊技制御用マイクロコンピュータ５６０をシステムリセットする。
【００７８】
また、この実施の形態では、図５に示すように、遊技制御用マイクロコンピュータ５６０は、発生可能な乱数の値の範囲が異なる２つの乱数回路５０３ａ，５０３ｂを搭載する。乱数回路５０３ａは、１２ビットの疑似乱数を発生する乱数回路（以下、１２ビット乱数回路ともいう）である。１２ビット乱数回路５０３ａは、１２ビットで発生できる範囲（すなわち、０から４０９５までの範囲）の値の乱数を発生する機能を備える。また、乱数回路５０３ｂは、１６ビットの疑似乱数を発生する乱数回路（以下、１６ビット乱数回路ともいう）である。１６ビット乱数回路５０３ｂは、１６ビットで発生できる範囲（すなわち、０から６５５３５までの範囲）の値の乱数を発生する機能を備える。なお、この実施の形態では、遊技制御用マイクロコンピュータ５６０が２つの乱数回路を内蔵する場合を説明するが、遊技制御用マイクロコンピュータ５６０は、３以上の乱数回路を内蔵してもよい。また、この実施の形態では、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂを包括的に表現する場合、または、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとのうちいずれかを指す場合に、乱数回路５０３という。
【００７９】
次に、乱数回路５０３の構成について説明する。図６は、乱数回路５０３の構成例を示すブロック図である。なお、この実施の形態において、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとの基本的な構成は同じである。図６に示すように、乱数回路５０３は、カウンタ５２１、比較器５２２、カウント値順列変更回路５２３、クロック信号出力回路５２４、カウント値更新信号出力回路５２５、乱数値読取信号出力回路５２６、乱数更新方式選択信号出力回路５２７、セレクタ５２８、乱数回路起動信号出力回路５３０、乱数値記憶回路５３１、反転回路５３２、ラッチ信号生成回路５３３およびタイマ回路５３４とを含む。
【００８０】
この実施の形態では、乱数回路５０３は、複数種類の識別情報の可変表示の表示結果を特定の表示結果とするか否か（例えば、特別図柄表示装置８の表示図柄の組み合わせを大当り図柄の組み合わせとするか否か）を判定するための大当り判定用の乱数を発生する。そして、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、乱数回路５０３が発生した乱数にもとづいて特定の表示結果とすると判定すると、遊技状態を遊技者にとって有利な特定遊技状態（例えば、大当り遊技状態）に移行させる。なお、この実施の形態では、確変とするか否かを決定するための確変決定用乱数や、特別図柄（大当り図柄）を決定する特別図柄決定用乱数など、大当り判定用以外の判定用乱数については、後述するようにソフトウェア乱数を用いる。
【００８１】
カウンタ５２１は、セレクタ５２８によって選択された所定の信号を入力し、セレクタ５２８から入力する信号に応答してカウント値Ｃを出力する。この場合、カウンタ５２１は、所定の初期値を入力し、カウント値Ｃを一定の規則に従って初期値から所定の最終値まで循環的に更新して出力する。また、カウンタ５２１は、カウント値Ｃを最終値まで更新すると、カウント値Ｃを最終値まで更新した旨を示す通知信号をＣＰＵ５６に出力する。この実施の形態では、カウンタ５２１から通知信号が出力されると、ＣＰＵ５６によって初期値が更新される。
【００８２】
この実施の形態において、カウンタ５２１は、セレクタ５２８から信号を入力するごとに（セレクタ５２８からの信号における立ち上がりエッヂが入力されるごとに）、カウント値Ｃを「０」から「４０９５」まで１ずつカウントアップする。また、カウンタ５２１は、カウント値Ｃを「４０９５」までカウントアップすると、カウント値Ｃを最終値まで更新した旨を示す通知信号をＣＰＵ５６に出力する。すると、ＣＰＵ５６は、カウンタ５２１から通知信号を入力し、初期値を更新する。そして、カウンタ５２１は、ＣＰＵ５６によって更新された初期値から「４０９５」まで、再びカウント値Ｃをカウントアップする。また、「４０９５」までカウントアップすると、カウンタ５２１は、再び「０」からカウントを開始する。そして、カウンタ５２１は、更新後の初期値の１つ前の値（最終値）までカウントアップすると、通知信号をＣＰＵ５６に出力する。なお、この実施の形態では、比較器５２２は、後述するように、全てのカウント値を入力すると通知信号をカウンタ５２１に出力する。この場合、カウンタ５２１は、比較器５２２から通知信号を入力すると、カウント値をリセットして「０」にする。
【００８３】
なお、比較器５２２は、入力したカウント値が乱数最大値設定レジスタ５３５に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きい（乱数最大値を超えた）と判断すると、通知信号をカウンタ５２１に出力してもよい。この場合、例えば、比較器５２２は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力する前に、通知信号をカウンタ５２１に出力する。例えば、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されている場合を考える。この場合、カウンタ５２１が「０」から「２５６」までカウントアップし、さらにカウント値「２５７」を出力すると、比較器５２２は、入力したカウント値「２５７」が乱数最大値「２５６」を超えたと判断し、カウンタ５２１に通知信号を出力する。比較器５２２から通知信号を入力すると、カウンタ５２１は、クロック信号出力回路５２４からの乱数発生用クロック信号ＳＩ１の入力を待つことなく、カウント値を「２５８」に更新し出力する。以上の処理を繰り返し実行することによって、比較器５２２は、カウント値「２５７」から「４０９５」まで入力している間、カウント値が乱数最大値を超えていると判断して、繰り返しカウンタ５２１に通知信号を出力する。そして、カウンタ５２１は、比較器５２２から通知信号を入力している間、クロック信号出力回路５２４からの乱数発生用クロック信号ＳＩ１の入力を待つことなく、カウント値を繰り返し更新し出力する。そのようにすることによって、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力するまでの間に、「２５７」から「４０９５」までカウント値を高速にカウントアップさせるように制御し、「２５７」から「４０９５」までの乱数値を読み飛ばす（乱数値記憶回路５３１に記憶させない）ように制御する。
【００８４】
カウント値順列変更回路５２３は、カウント値順列変更レジスタ（ＲＳＣ）５３６、更新規則選択レジスタ（ＲＲＣ）５４２および更新規則メモリ５４３を含む。カウント値順列変更レジスタ５３６は、カウンタ５２１がカウントアップするカウント値Ｃの更新順である順列（初期値から最終値までの並び順）を変更させるためのカウント値順列変更データ「０１ｈ」を格納する。カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６に数値順列変更データ「０１ｈ」が格納されているとき、カウンタ５２１がカウントアップして更新するカウント値Ｃの順列を、カウント値順列変更データ「０１ｈ」が格納されていないときとは異なる順列に変更する。この場合、カウント値順列変更回路５２３は、数値順列変更データ「０１ｈ」が格納されているとき、カウント値の順列の変更に用いる更新規則を切り換える。また、カウント値の順列の変更に用いる更新規則を切り換えた後に、カウンタ５２１がカウント値の更新を開始すると、カウント値順列変更レジスタ５３６のカウント値順列変更データは、ＣＰＵ５６によって、「０１ｈ」から初期値である「０（＝００ｈ）」に戻される（クリアされる）。
【００８５】
なお、ＣＰＵ５６によってカウント値順列変更データをクリアするのでなく、乱数回路５０３側でカウント値順列変更データをクリアするようにしてもよい。例えば、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれたことにもとづいて、更新規則選択レジスタ（ＲＲＣ）５４２にレジスタ値が設定されると、カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６のレジスタ値をクリアするようにしてもよい。
【００８６】
図７は、更新規則選択レジスタ５４２の例を示す説明図である。更新規則選択レジスタ５４２は、カウンタ５２１が出力するカウント値の並び順の並べ替え（順列の変更）に用いる更新規則を設定するレジスタである。この実施の形態では、更新規則選択レジスタ５４２にレジスタ値が設定されることによって、カウンタ５２１が出力するカウント値の順列の変更に用いる更新規則が設定される。図７に示すように、更新規則選択レジスタ５４２は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、更新規則選択レジスタ５４２は、ビット０〜ビット３が書込および読出ともに可能な状態に構成されている。また、更新規則選択レジスタ５４２は、ビット４〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、更新規則選択レジスタ５４２のビット４〜ビット７に値を書き込む制御を行っても無効とされ、ビット４〜ビット７から読み出す値は全て「０（＝００００ｂ）」である。
【００８７】
更新規則選択レジスタ５４２の値（レジスタ値）は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれたことに応じて、レジスタ値が「０（＝００ｈ）」から「１５（＝０Ｆｈ）」まで循環的に更新される。すなわち、カウント値順列変更レジスタ５３６にカウント値順列データ「０１ｈ」が書き込まれるごとに、更新規則選択レジスタ５４２のレジスタ値は、「０」から「１」ずつ加算され、「１５」になると再び「０」に戻る。
【００８８】
図８は、更新規則メモリ５４３の例を示す説明図である。図８に示すように、更新規則メモリ５４３は、更新規則選択レジスタ５４２の値（レジスタ値）と、カウント値の更新規則とを対応付けて格納している。図８に示す例では、例えば、更新規則選択レジスタ５４２にレジスタ値１が設定されている場合、更新規則Ｂを用いて、カウンタ５２１が出力するカウント値の順列が変更されることが分かる。なお、図８において、更新規則Ａは、カウンタ５２１がカウント値Ｃを更新する規則と同一の更新規則であり、レジスタ値「０」に対応づけて更新規則メモリ５４３に格納される。また、更新規則メモリ５４３には、カウンタ５２１がカウント値Ｃを更新する更新規則とは異なる更新規則Ｂ〜Ｐが、レジスタ値「１」〜「１５」に対応づけて格納される。
【００８９】
カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれている場合、まず、カウンタ５２１からカウント値の最終値「４０９５」が最初に入力されるまで、現在設定されている更新規則に従って、そのままカウント値を出力する。そして、カウント値順列変更回路５２３は、カウンタ５２１からカウント値の最終値「４０９５」を入力すると、カウント値の更新規則を変更する。なお、ＣＰＵ５６によって初期値が変更されている場合には、カウント値順列変更回路５２３は、カウンタ５２１から変更後の最終値（初期値の１つ前の値）まで入力すると、カウント値の更新規則を変更することになる。
【００９０】
カウント値順列変更回路５２３は、更新規則選択レジスタ５４２のレジスタ値に対応する更新規則を更新規則メモリ５４３から選択し、カウント値の順列の変更に用いる更新規則として設定する。また、カウント値順列変更回路５２３は、カウンタ５２１によって再び初期値「０」から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更する。なお、ＣＰＵ５６によって初期値が変更されている場合には、カウント値順列変更回路５２３は、カウンタ５２１によって変更後の初期値から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更することになる。そして、カウント値順列変更回路５２３は、変更した順列に従ってカウント値を出力する。
【００９１】
なお、この実施の形態では、後述する乱数最大値設定レジスタ５３５に乱数最大値が設定されていることによって、発生させる乱数の最大値が制限されている場合、カウント値順列変更回路５２３は、カウント値Ｃを乱数最大値以下に制限して順列を変更して出力する。例えば、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されているものとし、カウント値順列変更回路５２３が、更新規則Ａから更新規則Ｂに変更して、カウント値の順列を変更するものとする。この場合、カウント値順列変更回路５２３は、比較器５２２の乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ｂに従って、カウント値の順列を「２５６→２５５→・・・→０」に変更して出力する。
【００９２】
以上のように、カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれている場合、更新規則を切り替えて用いることによって、カウント値Ｃの順列を変更して出力する。そのため、乱数回路５０３が生成する乱数のランダム性を向上させることができる。
【００９３】
図９は、カウント値順列変更回路５２３が、カウンタ５２１が出力するカウント値の順列を変更する場合の例を示す説明図である。図９に示すように、ＣＰＵ５６は、所定のタイミングで、カウント値順列変更データ「０１ｈ」をカウント値順列変更レジスタ５３６に書き込む。すると、更新規則選択レジスタ５４２のレジスタ値が１加算される。例えば、更新規則選択レジスタ５４２のレジスタ値が「０」から「１」に更新される。レジスタ値が更新されると、カウント値順列変更回路５２３は、カウンタ５２１から最初にカウント値の最終値「４０９５」が入力されるまで、更新前のレジスタ値「０」に対応する「更新規則Ａ」に従ってカウント値を更新して出力する。このとき、カウント値順列変更回路５２３は、更新規則Ａに従って、「０→１→・・・→４０９５」の順列でカウント値を出力する。
【００９４】
カウンタ５２１からカウント値の最終値「４０９５」が入力されると、カウント値順列変更回路５２３は、更新規則メモリ５４３から、更新後のレジスタ値「１」に対応する「更新規則Ｂ」を選択して設定する。カウント値順列変更回路５２３は、カウンタ５２１から再び初期値「０」以降のカウント値の入力を開始すると、選択設定した「更新規則Ｂ」に従って、カウント値の順列を変更して出力する。本例では、カウント値順列変更回路５２３は、順列を「０→１→・・・→４０９５」から「４０９５→４０９４→・・・→０」に変更して、カウント値を出力する。
【００９５】
その後、カウント値順列変更レジスタ５３６は、後述するように、カウント値順列変更回路５２３が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じてリセットされる。そして、次にカウント値順列変更データ「０１ｈ」がカウント値順列変更レジスタ５３６に書き込まれるまで、カウント値順列変更回路５２３は、「４０９５→４０９４→・・・→０」のままの順列で、カウント値を出力し続ける。
【００９６】
ＣＰＵ５６によってカウント値順列変更データ「０１ｈ」がカウント値順列変更レジスタ５３６に再度書き込まれると、カウント値順列変更レジスタ５３６のレジスタ値が「１」から「２」に更新される。そして、カウンタ５２１からカウント値の最終値「４０９５」を入力すると、カウント値順列変更回路５２３は、更新規則メモリ５４３から、レジスタ値「２」に対応する「更新規則Ｃ」を選択して設定する。カウント値順列変更回路５２３は、カウンタ５２１から再び初期値「０」以降のカウント値の入力を開始すると、選択設定した「更新規則Ｃ」に従って、カウント値の順列を更新して出力する。本例では、カウント値順列変更回路５２３は、順列を「４０９５→４０９４→・・・→０」から「１→３→…→４０９５→０→・・・→４０９４」に変更して、カウント値を出力する。
【００９７】
以上のように、カウント値順列変更レジスタ５３６をリセットした後、カウント値順列データ「０１ｈ」をカウント値順列変更レジスタ５３６に再度書き込むことによって、カウント値の順列をさらに変更することができる。
【００９８】
図１０は、カウント値順列変更レジスタ５３６の例を示す説明図である。カウント値順列変更レジスタ５３６は、カウンタ５２１がカウントアップするカウント値の順列を変更させるためのカウント値順列変更データ「０１ｈ」を設定するレジスタである。図１０に示すように、カウント値順列変更レジスタ５３６は、読出可能な８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、カウント値順列変更レジスタ５３６は、ビット０だけが書込および読出ともに可能な状態に構成されている。すなわち、カウント値順列変更レジスタ５３６は、ビット１〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、カウント値順列変更レジスタ５３６のビット１〜ビット７に値を書き込む制御を行っても無効とされ、ビット１〜ビット７から読み出す値は全て「０（＝０００００００ｂ）」である。
【００９９】
なお、カウント値順列変更レジスタ５３６の値は、カウント値順列変更回路５２３が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じて、ＣＰＵ５６によってリセットされる。この場合、ＣＰＵ５６は、カウント値順列変更レジスタ５３６に書き込まれている値を、カウント値順列変更データ「０１ｈ」から初期値である「０（＝００ｈ）」に戻す。
【０１００】
比較器５２２は、ランダムＲの最大値（乱数最大値）を指定するための乱数最大値設定データを格納する乱数最大値設定レジスタ（ＲＭＸ）５３５を備える。比較器５２２は、乱数最大値設定レジスタ５３５に格納されている乱数最大値設定データに示される乱数最大値に従って、カウンタ５２１が更新するカウント値の更新範囲を制限する。この実施の形態では、比較器５２２は、カウンタ５２１から入力するカウント値と乱数最大値設定レジスタ５３５に格納されている乱数最大値設定データ（例えば「００ＦＦｈ」）に示される乱数最大値（例えば「２５６」）とを比較する。そして、比較器５２２は、入力したカウント値が乱数最大値以下であると判断すると、入力したカウント値を乱数値記憶回路５３１に出力する。
【０１０１】
この実施の形態では、比較器５２２は、具体的には、以下のような制御を行う。比較器５２２は、カウント値の初期値更新の際に、ＣＰＵ５６からカウント値の初期値をもらい、初期値から乱数最大値までのカウント値の個数を求める。例えば、カウント値の初期値が「１５７」であり乱数最大値が「２５６」である場合、比較器５２２は、初期値から乱数最大値までのカウント値の個数を「１００個」と求める。また、比較器５２２は、カウント値順列変更回路５２３からカウント値を入力するに従って、初期値からカウント値をいくつ入力したかをカウントアップする。初期値からカウント値を入力した回数が「１００回」に達すると、比較器５２２は、初期値「１５７」から最大値「２５６」までの全てのカウント値を入力したと判断する。そして、比較器５２２は、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。カウント値の個数で判断することによって、カウント値順列変更回路５２３によってカウント値の順列が変更されている場合であっても、比較器５２２は、カウント値の更新範囲を乱数最大値以下に制限し、全てのカウント値を入力した際にカウンタ５２１に通知信号を出力することができる。
【０１０２】
カウント値の更新範囲を比較器５２２が制限する動作について説明する。なお、本例では、カウント値順列変更回路５２３が更新規則Ａを選択し、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されている場合を説明する。
【０１０３】
カウンタ５２１が「０」から「２５６」までカウント値を更新している間、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ａに従って、「０」から「２５６」までのカウント値をそのまま比較器５２２に出力する。この場合、カウント値順列変更回路５２３は、比較器５２２から乱数最大値「２５６」の値をもらい、カウンタ５２１から入力するカウント値が乱数最大値より大きいか否かを判断し、更新規則が変更されているとき（例えば、更新規則Ｂ）であっても、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、「２５７」から「４０９５」までのカウント値を比較器５２２に出力しない。カウンタ５２１は、例えば、初期値が「０」と設定されているときに、最終値「２５６」までカウント値を更新すると、通知信号をＣＰＵ５６に出力する。通知信号を出力すると、ＣＰＵ５６によって、カウンタ５２１のカウント値の初期値が変更される。本例では、ＣＰＵ５６によって、初期値が「５０」に変更されるものとする。
【０１０４】
なお、カウント値が乱数最大値「２５６」より大きいか否かをカウント値順列変更回路５２３が判断するのでなく、比較器５２２が判定するようにしてもよい。この場合、例えば、比較器５２２は、カウント値が乱数最大値設定レジスタ５３５に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きいと判断すると、通知信号をカウンタ５２１に出力する。そして、比較器５２２は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力する前に、通知信号をカウンタ５２１に出力する。そのようにすることによって、比較器５２２は、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力するまでの間に、「２５７」から「４０９５」までカウント値を高速にカウントアップさせるようにカウンタ５２１を制御する。そのようにすることによって、カウント値順列変更回路５２３からの値が「２５７」未満のときだけカウント値を乱数値記憶回路５３１に出力するようにし、カウント値順列変更回路５２３からの値が「２５７」以上のときにはカウント値を高速で更新させるようにすることができる。
【０１０５】
更新規則Ａにもとづいて、カウント値順列変更回路５２３から、「０」から「２５５」までカウント値を入力している間、比較器５２２は、入力するカウント値が乱数最大値「２５６」以下であるので、入力したカウント値をそのまま乱数値記憶回路５３１に出力する。次に、カウント値順列変更回路５２３から入力するカウント値が「２５６」に達すると、比較器５２２は、入力したカウント値を乱数値記憶回路５３１に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。具体的には、比較器５２２は、カウント値の初期値変更の際に、ＣＰＵ５６からカウント値の初期値（本例では、「０」）をもらい、初期値「０」から乱数最大値（本例では、「２５６」）までのカウント値の個数（本例では、「２５７個」）を求める。そして、カウント値順列変更回路５２３から入力したカウント値の個数が２５７個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。なお、本例では、ＣＰＵ５６によって初期値が「５０」に変更されるので、カウンタ５２１は、比較器５２２から通知信号を入力しても、カウント値をリセットするとなく、変更後の初期値「５０」からカウント値の更新を行う。
【０１０６】
カウンタ５２１が変更後の初期値「５０」から「２５６」までカウント値を更新している間、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ａに従って、「５０」から「２５６」までのカウント値をそのまま比較器５２２に出力する。また、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、「２５７」から「４０９５」までのカウント値を比較器５２２に出力せず、カウンタ５２１の更新するカウント値が１周したとき（２５７回更新したとき）に、カウント値順列変更レジスタ５３６にカウント値順列変更データが書き込まれた場合には、カウント値順列変更回路５２３は、カウント値の順列を変更して出力する。例えば、更新規則が更新規則Ｂに変更された場合、カウント値順列変更回路５２３は、カウント値の順列を「２５６→２５５→・・・→５０」に変更して出力する。
【０１０７】
カウント値順列変更回路５２３から、「２５６」から「５０」までカウント値を入力している間、比較器５２２は、入力したカウント値をそのまま乱数値記憶回路５３１に出力する。次に、カウント値順列変更回路５２３から入力するカウント値が「５０」に達すると、比較器５２２は、入力したカウント値を乱数値記憶回路５３１に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。具体的には、比較器５２２は、カウント値の初期値変更の際に、ＣＰＵ５６からカウント値の初期値（本例では、「５０」）をもらい、初期値「５０」から乱数最大値（本例では、「２５６」）までのカウント値の個数（本例では、「２０７個」）を求める。そして、カウント値順列変更回路５２３から入力したカウント値の個数が２０７個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。
【０１０８】
なお、カウント値順列変更回路５２３がカウント値の順列を変更した場合であっても、比較器５２２は、カウント値の個数が２０７個に達すると、通知信号をカウンタ５２１に出力する。そのようにすることによって、カウント値の順列が変更された場合であっても、初期値「５０」から最大値「２５６」までの全てのカウント値を入力したことにもとづいて、通知信号をカウンタ５２１に出力できる。
【０１０９】
比較器５２２から通知信号を入力すると、カウンタ５２１は、カウント値の初期値をリセットし「０」に戻す。そして、カウンタ５２１は、「０」からカウント値の更新を行う。カウンタ５２１の値が「０」から再び更新がされると、カウンタ５２１からのカウント値にもとづいて、カウント値順列変更回路５２３は「４９」〜「０」までのカウント値を比較器５２２に出力し、比較器５２２はカウント値順列変更回路５２３からのカウント値の入力にもとづいて乱数値記憶回路５３１にカウント値を出力する。そして、カウンタ５２１は、最終値（本例では、「４９」）までカウント値を更新すると、通知信号をＣＰＵ５６に出力する。通知信号を出力すると、ＣＰＵ５６によって、カウンタ５２１のカウント値の初期値が再び変更される。
【０１１０】
以上のような動作を繰り返すことにより、比較器５２２は、カウンタ５２１に、「０」から乱数最大値「２５６」まで連続的にカウント値をカウントアップさせ、「０」から「２５６」までの値を乱数値記憶回路５３１にランダムＲ（乱数値）として記憶させる。すなわち、比較器５２２は、カウント値の更新範囲を乱数最大値「２５６」以下に制限して、カウンタ５２１にカウント値を更新させる。
【０１１１】
図１１は、乱数最大値設定レジスタ５３５の例を示す説明図である。図１１（ａ）は、１２ビット乱数回路５０３ａが搭載する乱数最大値設定レジスタ５３５の例を示す。また、図１１（ｂ）は、１６ビット乱数回路５０３ｂが搭載する乱数最大値設定レジスタ５３５の例を示す。まず、１２ビット乱数回路５０３ａが搭載する乱数最大値設定レジスタ５３５について説明する。図１１（ａ）に示すように、１２ビット乱数回路５０３ａにおいて、乱数最大値設定レジスタ５３５は、１６ビットレジスタであり、初期値が「４０９５（＝０ＦＦＦｈ）」に設定されている。乱数最大値設定レジスタ５３５は、ビット０〜ビット１１が書込および読出ともに可能な状態に構成されている。また、乱数最大値設定レジスタ５３５は、ビット１２〜ビット１５が書込および読出ともに不可能な状態に構成されている。したがって、１２ビット乱数回路５０３ａにおいて、乱数最大値設定レジスタ５３５のビット１２〜ビット１５に値を書き込む制御を行っても無効とされ、ビット１２〜ビット１５から読み出す値は全て「０（＝００００ｂ）」である。
【０１１２】
また、乱数最大値設定レジスタ５３５に設定される乱数最大値は、所定の下限値が定められている。この実施の形態では、乱数最大値設定レジスタ５３５に下限値「２５６」より小さい値を指定する乱数最大値設定データ「００００ｈ」〜「００ＦＥｈ」が書き込まれた場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に、初期値「４０９５」を指定する乱数最大値設定データ「０ＦＦＦｈ」を設定しなおす。すなわち、乱数最大値設定レジスタ５３５に設定可能な乱数最大値は「２５６」から「４０９５」までであり、ＣＰＵ５６は、下限値「２５６」より小さい値が設定されていると判断すると、乱数最大値を所定値「４０９５」に設定しなおす。なお、ＣＰＵ５６は、リセットコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ５３５を書込不可能に制御する。なお、ＣＰＵ５６により書込不可能に制御するのでなく、乱数最大値設定レジスタ５３５は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
【０１１３】
次に、１６ビット乱数回路５０３ｂが搭載する乱数最大値設定レジスタ５３５について説明する。図１１（ｂ）に示すように、１６ビット乱数回路５０３ｂにおいて、乱数最大値設定レジスタ５３５は、１６ビットレジスタであり、初期値が「６５５３５（＝ＦＦＦＦｈ）」に設定されている。また、１６ビット乱数回路５０３ｂにおいて、乱数最大値設定レジスタ５３５は、ビット０〜ビット１５の全てのビットが書込および読出ともに可能な状態に構成されている。
【０１１４】
また、乱数最大値設定レジスタ５３５に下限値「５１２」より小さい値を指定する乱数最大値設定データ「００００ｈ」〜「００ＦＥｈ」が書き込まれた場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に、初期値「６５５３５」を指定する乱数最大値設定データ「ＦＦＦＦｈ」を設定しなおす。すなわち、乱数最大値設定レジスタ５３５に設定可能な乱数最大値は「５１２」から「６５５３５」までであり、ＣＰＵ５６は、下限値「５１２」より小さい値が設定されていると判断すると、乱数最大値を所定値「６５５３５」に設定しなおす。なお、ＣＰＵ５６は、リセットコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ５３５を書込不可能に制御する。
【０１１５】
クロック信号出力回路５２４は、セレクタ５２８および反転回路５３２に出力するクロック信号の周期（すなわち、カウント値の更新周期）を指定するための周期設定データを格納する周期設定レジスタ（ＲＰＳ）５３７を備える。クロック信号出力回路５２４は、周期設定レジスタ５３７に格納されている周期設定データに基づいて、遊技制御用マイクロコンピュータ５６０が搭載するクロック回路５０１から入力する基準クロック信号ＣＬＫを分周して、乱数回路５０３内部で乱数値の生成に用いるクロック信号（乱数発生用クロック信号ＳＩ１）を生成する。そのようにすることによって、クロック信号出力回路５２４は、クロック信号を所定回数入力したことを条件に、カウント値Ｃを更新させるための乱数発生用クロック信号ＳＩ１をカウンタ５２１に出力するように動作する。なお、周期設定データとは、クロック回路５０１から入力した基準クロック信号ＣＬＫを何分周させるかを設定するためのデータである。また、クロック出力回路５２４は、生成した乱数発生用クロック信号ＳＩ１をセレクタ５２８および反転回路５３２に出力する。例えば、周期設定レジスタ５３７に周期設定データ「０Ｆｈ（＝１６）」が書き込まれている場合、クロック信号出力回路５２４は、クロック回路５０１から入力する基準クロック信号ＣＬＫを１６分周して乱数発生用クロック信号ＳＩ１を生成する。この場合、クロック信号出力回路５２４が生成する乱数発生用クロック信号ＳＩ１の周期は、「システムクロック信号の周期×１２８×１６」となる。
【０１１６】
図１２は、周期設定レジスタ５３７の例を示す説明図である。図１２に示すように、周期設定レジスタ５３７は、８ビットレジスタであり、初期値が「２５６（＝ＦＦｈ）」に設定されている。また、周期設定レジスタ５３７は、書込および読出ともに可能な状態に構成されている。
【０１１７】
また、周期設定レジスタ５３７に設定される周期設定データの値は、所定の下限値が定められている。この実施の形態では、周期設定レジスタ５３７に下限値「システムクロック信号の周期×１２８×７」より小さい値を指定する周期設定データ「００ｈ〜０６ｈ」が書き込まれた場合、ＣＰＵ５６は、周期設定レジスタ５３７に下限値「システムクロック信号の周期×１２８×７」を指定する周期設定データ「０７ｈ」を設定しなおす。すなわち、周期設定レジスタ５３７に設定可能な周期は「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」までであり、ＣＰＵ５６は、下限値より小さい値が設定されていると判断すると、周期設定データを設定しなおす。なお、ＣＰＵ５６は、リセットコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、周期設定データが書き込まれた周期設定レジスタ５３７を書込不可能に制御する。なお、ＣＰＵ５６により書込不可能に制御するのでなく、周期設定レジスタ５３７は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
【０１１８】
なお、周期設定レジスタ５３７に下限値としての周期設定データを設定することなく、設定された周期設定データに基づいて、例えばクロック信号出力回路５２４が基準クロック信号ＣＬＫをそのままカウンタ５２１および反転回路５３２に出力するようにしてもよい。この場合、ＣＰＵ５６は、周期設定レジスタ５３７に設定される周期設定データの値を下限値と比較して設定しなおす処理を行う必要がなくなる。また、カウンタ５２１は、クロック信号出力回路５２４から基準クロック信号ＣＬＫを入力する毎にカウント値Ｃを更新することになる。
【０１１９】
カウント値更新信号出力回路５２５は、カウント値更新データ「０１ｈ」を格納するカウント値更新レジスタ（ＲＧＮ）５３８を備える。カウント値更新データとは、カウント値の更新を要求するためのデータである。カウント値更新信号出力回路５２５は、カウント値更新レジスタ５３８にカウント値更新データ「０１ｈ」が書き込まれたことに応じて、カウント値更新信号ＳＩ３をセレクタ５２８に出力する。
【０１２０】
図１３は、カウント値更新レジスタ５３８の例を示す説明図である。図１３に示すように、カウント値更新レジスタ５３８は、読出不能な８ビットレジスタであり、ビット０のみが書込可能な状態に構成されている。したがって、カウント値更新レジスタ５３８のビット１〜ビット７に値を書き込む制御を行っても無効とされる。
【０１２１】
乱数値読取信号出力回路５２６は、乱数値取込データ「０１ｈ」を格納する乱数値取込レジスタ（ＲＬＴ）５３９を備える。乱数値取込データとは、乱数値記憶回路５３１へのカウント値の取込を要求するためのデータである。乱数値読取信号出力回路５２６は、乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」が書き込まれたことに応じて、乱数値の読み取りを要求するための乱数値読取信号をラッチ信号生成回路５３３に出力する。
【０１２２】
図１４は、乱数値取込レジスタ５３９の例を示す説明図である。図１４に示すように、乱数値取込レジスタ５３９は、読出不能な８ビットレジスタである。また、乱数値取込レジスタ５３９は、ビット０だけが書込可能な状態に構成されている。すなわち、乱数値取込レジスタ５３９のビット１〜ビット７に値を書き込む制御を行っても無効とされる。
【０１２３】
乱数更新方式選択信号出力回路５２７は、乱数更新方式選択データを格納する乱数更新方式選択レジスタ（ＲＴＳ）５４０を備える。乱数更新方式選択データとは、ランダムＲの値を更新する方式である各乱数更新方式のうち、いずれかの乱数更新方式を指定するためのデータである。乱数更新方式選択信号出力回路５２７は、乱数更新方式選択レジスタ５４０に乱数更新方式選択データが書き込まれたことに応じて、書き込まれた乱数更新方式選択データにより指定される乱数更新方式に対応する乱数更新方式選択信号を、セレクタ５２８およびラッチ信号生成回路５３３に出力する。
【０１２４】
図１５（Ａ）は、乱数更新方式選択レジスタ５４０の例を示す説明図である。図１５（Ａ）に示すように、乱数更新方式選択レジスタ５４０は、８ビットレジスタであり、初期値が「００ｈ」に設定されている。また、乱数更新方式選択レジスタ５４０は、ビット０〜ビット１が書込および読出ともに可能な状態に構成されている。また、乱数更新方式選択レジスタ５４０は、ビット２〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、乱数更新方式選択レジスタ５４０のビット２〜ビット７に値を書き込む制御を行っても無効とされ、ビット２〜ビット７から読み出す値は全て「０（＝００００００ｂ）」である。
【０１２５】
図１５（Ｂ）は、乱数更新方式選択レジスタ５４０に書き込まれる乱数更新方式選択データの一例の説明図である。図１５（Ｂ）に示すように、乱数更新方式選択データは、２ビットのデータから構成される。乱数更新方式選択データ「０１ｂ」は、第１の乱数更新方式を指定するために用いられる。また、乱数更新方式選択データ「１０ｂ」は、第２の乱数更新方式を指定するために用いられる。なお、この実施の形態では、第１の乱数更新方式とは、カウント値更新信号出力回路５２５からカウント値更新信号ＳＩ３が出力されたことをトリガとして、カウント値を更新する方式である。また、第２の乱数更新方式とは、クロック信号出力回路５２４から乱数発生用クロック信号ＳＩ１が出力されたことをトリガとして、カウント値を更新する方式である。また、乱数更新方式選択データ「０１ｂ」または「１０ｂ」が乱数更新方式選択レジスタ５４０に書き込まれた場合、乱数回路５０３は起動可能な状態となる。一方、乱数更新方式選択データ「００ｂ」または「１１ｂ」が乱数更新方式選択レジスタ５４０に書き込まれた場合、乱数回路５０３は起動不能な状態となる。
【０１２６】
セレクタ５２８は、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３、またはクロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１のいずれかを選択してカウンタ５２１に出力する。セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第１の乱数更新方式に対応する乱数更新方式選択信号（第１の乱数更新方式選択信号ともいう）が入力されると、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３を選択してカウンタ５２１に出力する。一方、セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式に対応する乱数更新方式選択信号（第２の乱数更新方式選択信号ともいう）が入力されると、クロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１を選択してカウンタ５２１に出力する。なお、セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第１の更新方式選択信号が入力されると、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３に応じて、クロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１に同期した数値データの更新を指示する数値更新指示信号を、カウンタ５２１に出力してもよい。
【０１２７】
乱数回路起動信号出力回路５３０は、乱数回路起動データ「８０ｈ」を格納する乱数回路起動レジスタ（ＲＳＴ）５４１を備える。乱数回路起動データとは、乱数回路５０３の起動を要求するためのデータである。乱数回路起動信号出力回路５３０は、乱数回路起動レジスタ５４１に乱数回路起動データ「８０ｈ」が書き込まれると、所定の乱数回路起動信号をカウンタ５２１およびクロック信号出力回路５３７に出力し、カウンタ５２１およびクロック信号出力回路５２４をオンにさせる。そして、カウンタ５２１によるカウント値の更新動作とクロック信号出力回路５２４による内部クロック信号の出力動作とを開始させることによって、乱数回路５０３を起動させる。
【０１２８】
図１６は、乱数回路起動レジスタ５４１の例を示す説明図である。図１６に示すように、乱数回路起動レジスタ５４１は、８ビットレジスタであり、初期値が「００ｈ」に設定されている。乱数回路起動レジスタ５４１は、ビット７だけが書込および読出ともに可能な状態に構成されている。また、乱数回路起動レジスタ５４１は、ビット０〜ビット６が書込および読出ともに不可能な状態に構成されている。すなわち、乱数回路起動レジスタ５４１のビット０〜ビット６に値を書き込む制御を行っても無効とされ、ビット０〜ビット６から読み出す値は全て「０（＝００００００ｂ）」である。
【０１２９】
乱数値記憶回路５３１は、例えば１６ビットレジスタであり、遊技制御処理における大当り判定において用いられる乱数であるランダムＲの値を格納する。乱数値記憶回路５３１は、ラッチ信号生成回路５３３からラッチ信号ＳＬを入力したことに応じて、カウンタ５２１から比較器５２２を介して出力されるカウント値ＣをランダムＲの値として格納する。そして、乱数値記憶回路５３１は、ラッチ信号生成回路５３３からラッチ信号ＳＬを入力するごとに、カウンタ５２１が更新するカウント値Ｃを読み込んでランダムＲの値を記憶する。
【０１３０】
図１７は、乱数値記憶回路５３１の一構成例を示す回路図である。乱数値記憶回路５３１は、図１７に示すように、２個のＡＮＤ回路２０１，２０３と、２個のＮＯＴ回路２０２，２０４と、１６個のフリップフロップ回路２１０１〜２１１６と、１６個のＯＲ回路２２０１〜２２１６とを含む。
【０１３１】
図１７に示すように、ＡＮＤ回路２０１の入力端子は、ラッチ信号生成回路５３３の出力端子とＮＯＴ回路２０４の出力端子とに接続され、出力端子は、ＮＯＴ回路２０２の入力端子とフリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６とに接続されている。ＮＯＴ回路２０２の入力端子は、ＡＮＤ回路２０１の出力端子に接続され、出力端子は、ＡＮＤ回路２０３の一方の入力端子に接続されている。
【０１３２】
ＡＮＤ回路２０３の入力端子は、ＮＯＴ回路２０２の出力端子と遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６とに接続され、出力端子は、ＮＯＴ回路２０４の入力端子に接続されている。ＮＯＴ回路２０４の入力端子は、ＡＮＤ回路２０３の出力端子に接続され、出力端子は、ＡＮＤ回路２０１の一方の入力端子とＯＲ回路２２０１〜２２１６の一方の入力端子とに接続されている。
【０１３３】
フリップフロップ回路２１０１〜２１１６の入力端子Ｄ１〜Ｄ１６は、比較器５２２の出力端子に接続されている。フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６は、ＡＮＤ回路２０１の出力端子に接続され、出力端子Ｑ１〜Ｑ１６は、ＯＲ回路２２０１〜２２１６の他方の入力端子に接続されている。
【０１３４】
ＯＲ回路２２０１〜２２１６の入力端子は、ＮＯＴ回路２０４の出力端子とフリップフロップ回路２１０１〜２１１６の出力端子とに接続され、出力端子は、遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６に接続されている。
【０１３５】
乱数値記憶回路５３１の動作について説明する。図１８は、乱数値記憶回路５３１に各信号が入力されるタイミング、および乱数値記憶回路５３１が各信号を出力するタイミングを示すタイミングチャートである。図１８に示すように、遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６から出力制御信号ＳＣ（本例では、ハイレベル信号）が入力されていない場合（すなわち、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルの場合）、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されると（図１８に示す例では、タイミングＴ１，Ｔ２，Ｔ７のとき）、ＡＮＤ回路２０１の２つの入力端子への入力はともにハイレベルとなる。そのため、ＡＮＤ回路２０１の出力端子から出力される信号ＳＲはハイレベルとなる。そして、ＡＮＤ回路２０１から出力された信号ＳＲは、フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６に入力される。
【０１３６】
フリップフロップ回路２１０１〜２１１６は、クロック端子Ｃｌｋ１〜Ｃｌｋ１６から入力される信号ＳＲの立ち上がりエッヂに応答して、比較器５２２から入力端子Ｄ１〜Ｄ１６を介して入力されるカウント値ＣのビットデータＣ１〜Ｃ１６を乱数値のビットデータＲ１〜Ｒ１６としてラッチして記憶する。また、フリップフロップ回路２１０１〜２１１６は、記憶するランダムＲのビットデータＲ１〜Ｒ１６を出力端子Ｑ１〜Ｑ１６から出力する。
【０１３７】
出力制御信号ＳＣが入力されていない場合（図１８に示す例では、タイミングＴ３までの期間およびタイミングＴ６以降の期間）、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルとなるので、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはローレベルとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ハイレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からハイレベルの信号が入力される。
【０１３８】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、ＯＲ回路２２０１〜２２１６はハイレベルの信号を出力する。すなわち、入力されるランダムＲのビットデータＲ１〜Ｒ１６の値が「０」であるか「１」であるかに関わらず、ＯＲ回路２２０１〜２２１６から出力される信号ＳＯ１〜ＳＯ１６は、全てハイレベル（「１」）となる。そのようにすることによって、乱数値記憶回路５３１から出力される値は、常に「６５５３５（＝１１１１１１１１１１１１１１１１ｂ）」となり、乱数値記憶回路５３１からランダムＲを読み出すことができない状態となる。すなわち、乱数値記憶回路５３１から乱数を読み出そうとしても、乱数値記憶回路５３１から常に同じ値「６５５３５」しか読み出せない状態となり、出力制御信号ＳＣが入力されていない場合、乱数値記憶回路５３１は、読出不能（ディセイブル）状態となる。なお、１６ビット乱数回路５０３ｂを用いる場合、乱数値としての値「６５５３５」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ５６０は、値「６５５３５」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図４０に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムＲが「６５５３５」である場合には「ハズレ」と判定するように設定しておけばよい。
【０１３９】
ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されていないときに、ＣＰＵ５６から出力制御信号ＳＣが入力されると（図１８に示す例では、タイミングＴ４からタイミングＴ６までの期間）、ＡＮＤ回路２０３の２つの入力端子への入力がともにハイレベルとなるので、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはハイレベルとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ローレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からローレベルの信号が入力される。
【０１４０】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がローレベルとなるので、他方の入力端子に入力される信号がハイレベルの場合、ＯＲ回路２２０１〜２２１６の出力端子からハイレベルの信号が出力される。また、ＯＲ回路２２０１〜２２１６の他方の入力端子に入力される信号がローレベルの場合、ＯＲ回路２２０１〜２２１６からローレベルの信号が出力される。すなわち、ＯＲ回路２２０１〜２２１６の他方の入力端子に入力されるランダムＲのビットデータＲ１〜Ｒ１６の値は、ＯＲ回路２２０１〜２２１６の出力端子からそのまま（すなわち、ビットデータＲ１〜Ｒ１６の値が「１」のときは「１」が、「０」のときは「０」）出力される。そのようにすることによって、乱数値記憶回路５３１からのランダムＲの読出が可能となる。すなわち、出力制御信号ＳＣが入力されている場合、乱数値記憶回路５３１は、読出可能（イネイブル）状態となる。
【０１４１】
ただし、ＣＰＵ５６から出力制御信号ＳＣが入力される前に、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されている場合、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルとなるので、ラッチ信号ＳＬが入力されている状態のままで、出力制御信号ＳＣが入力されても（図１８に示す例では、タイミングＴ３からタイミングＴ４の期間）、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはローレベルのままとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ハイレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からハイレベルの信号が入力される。
【０１４２】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、ＯＲ回路２２０１〜２２１６から出力される信号ＳＯ１〜ＳＯ１６は全てハイレベルとなる。そして、出力制御信号ＳＣが入力されているにも関わらず、乱数値記憶回路５３１からランダムＲを読み出すことができない状態のままとなる。すなわち、ラッチ信号ＳＬが入力されている場合、乱数値記憶回路５３１は、出力制御信号ＳＣを受信不可能な状態となる。なお、１６ビット乱数回路５０３ｂを用いる場合、乱数値としての値「６５５３５」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ５６０は、値「６５５３５」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図２７に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムＲが「６５５３５」である場合には「ハズレ」と判定するように設定しておけばよい。
【０１４３】
また、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力される前に、ＣＰＵ５６から出力制御信号ＳＣが入力されている場合、ＡＮＤ回路２０１の一方の入力端子への入力がローレベルとなるので、出力制御信号ＳＣが入力されているままの状態で、ラッチ信号ＳＬが入力されても（図１８に示す例では、タイミングＴ５）、ＡＮＤ回路２０１の出力端子から出力される信号ＳＲはローレベルのままとなる。そのため、フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６に入力される信号ＳＲは、ローレベルからハイレベルに立ち上がらず、フリップフロップ回路２１０１〜２１１６に格納されているランダムＲのビットデータＲ１〜Ｒ１６は、ラッチ信号ＳＬが入力されているにも関わらず、記憶される乱数は更新されない。すなわち、出力制御信号ＳＣが入力されている場合、乱数値記憶回路５３１は、ラッチ信号ＳＬを受信不可能な状態となる。
【０１４４】
反転回路５３２は、クロック信号出力回路５２４から入力する乱数発生用クロック信号ＳＩ１における信号レベルを反転させることによって、クロック信号の極性を反転させた反転クロック信号ＳＩ２を生成する。また、反転回路５３２は、生成した反転クロック信号ＳＩ２をラッチ信号生成回路５３３に出力する。
【０１４５】
ラッチ信号生成回路５３３は、セレクタおよびフリップフロップ回路等を用いて構成される。ラッチ信号生成回路５３３は、乱数値読取信号出力回路５２６からの乱数値読取信号と反転回路５３２からの反転クロック信号ＳＩ２とを入力し、乱数値記憶回路５３１に乱数値を記憶させるためのラッチ信号ＳＬを出力する。また、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７からの乱数更新方式選択信号によって指定された乱数値更新方式に応じて、ラッチ信号ＳＬを出力する。この場合、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第１の乱数更新方式選択信号が入力された場合、反転回路５３２から出力される反転クロック信号ＳＩ２を選択し、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する。一方、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力された場合、乱数値読取信号出力回路５２６から出力される乱数値読取信号を、反転回路５３２から出力される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する。
【０１４６】
タイマ回路５３４は、始動口１４への遊技球の入賞を検出した旨の入賞検出信号ＳＳを始動口スイッチ１４ａから入力する。また、タイマ回路５３４は、始動口スイッチ１４ａから入賞検出信号ＳＳが継続して入力されている時間を計測する。そして、タイマ回路５３４は、計測時間が所定期間（例えば、３ｍｓ）になると、乱数値読取信号出力回路５２６の乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」を書き込む。例えば、タイマ回路５３４は、ハイレベルの信号が入力されたことに応じて起動するアップカウンタまたはダウンカウンタによって構成される。タイマ回路５３４は、始動口スイッチ１４ａからの入力がハイレベルとなっている間（すなわち、入賞検出信号ＳＳが継続して入力されている間）、クロック回路５０１から順次入力する基準クロック信号ＣＬＫをアップカウントまたはダウンカウントする。そして、タイマ回路５３４は、アップカウントまたはダウンカウントするカウント値が３ｍｓに対応する値になると、始動口スイッチ１４ａから入賞検出信号ＳＳが入力されたと判断して、乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込む。
【０１４７】
図１９は、遊技制御用マイクロコンピュータ５６０における記憶領域のアドレスマップの一例を示す説明図である。図１９に示すように、遊技制御用マイクロコンピュータ５６０の記憶領域のうち、００００ｈ番地〜１ＦＦＦｈ番地の領域は、ＲＯＭ５４に割り当てられている。また、７Ｅ００ｈ番地〜７ＦＦＦｈ番地の領域は、ＲＡＭ５５に割り当てられている。さらに、ＦＤ００ｈ番地〜ＦＥ００ｈ番地の領域は、乱数最大値設定レジスタ５３５等の内蔵レジスタに割り当てられている。
【０１４８】
また、図１９に示すように、ＲＯＭ５４に割り当てられている００００ｈ番地〜１ＦＦＦｈ番地の領域は、ユーザプログラムエリアとユーザプログラム管理エリアとを含む。００００ｈ番地〜１Ｆ７Ｆｈ番地の領域のユーザプログラムエリアには、ユーザ（例えば、遊技機の製作者）により予め作成されたプログラム（ユーザプログラム）５５０が記憶される。また、１Ｆ８０ｈ番地〜１ＦＦＦｈ番地の領域のユーザプログラム管理エリアには、ＣＰＵ５６がユーザプログラム５５０を実行するために必要となるデータ（ユーザプログラム実行データ）が記憶される。また、ＲＡＭ５５に割り当てられている７Ｅ００ｈ番地〜７ＦＦＦｈ番地の領域のうち、７Ｅ００ｈ番地〜７ＥＦＦｈ番地の領域は未使用領域であり、７Ｆ００ｈ番地〜７ＦＦＦｈ番地の領域はワークエリアとして用いられる。
【０１４９】
図２０は、ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。図２０に示すように、１Ｆ９７ｈ番地の領域には、乱数回路５０３のカウンタ５２１に入力される初期値を変更するための方式である初期値変更方式のうち、ユーザによって選択された初期値変更方式を指定するための初期値変更方式設定データが記憶される。また、１Ｆ９８ｈ番地および１Ｆ９９ｈ番地の領域には、ＲＡＭ５５に割り当てられた７Ｆ００ｈ番地〜７ＦＦＦｈ番地のうち、ユーザによって予め指定されたＲＡＭ５５における番地（指定ＲＡＭ番地）を特定するためのＲＡＭ番地データが記憶される。この場合、指定ＲＡＭ番地を示す値のうち、指定ＲＡＭ番地の下位の値が１Ｆ９８ｈ番地に記憶され、指定ＲＡＭ番地の上位の値が１Ｆ９９ｈ番地に記憶される。
【０１５０】
図２１は、初期値変更方式設定データの一例を示す説明図である。図２１に示すように、初期値変更データは、８ビットのデータから構成される。初期値変更データ「００ｈ」は、初期値変更方式として、初期値を変更しないことを指定するデータである。この実施の形態では、初期値変更データ「００ｈ」が設定されている場合、乱数回路５０３のカウンタ５２１は、予め定められた初期値「０」から所定の最終値までカウント値を更新することになる。また、初期値変更データ「０１ｈ」は、初期値変更方式として、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０を識別するためのＩＤナンバにもとづく値に変更することを指定するデータである。この実施の形態では、初期値変更データ「０１ｈ」が設定されている場合、カウンタ５２１が更新するカウンタ値の初期値が「０」からＩＤナンバにもとづく値に変更され、カウンタ５２１は、変更後の初期値から所定の最終値までカウント値を更新することになる。
【０１５１】
ユーザプログラムエリアに記憶されるユーザプログラム５５０について説明する。図２２は、ユーザプログラム５５０の構成例を示す説明図である。図２２に示すように、この実施の形態では、ユーザプログラム５５０は、複数種類のプログラムモジュールから構成される乱数回路設定プログラム５５１と、表示結果決定プログラム５５２と、カウント値順列変更プログラム５５４と、乱数値更新プログラム５５５とを含む。
【０１５２】
乱数回路設定プログラム５５１は、乱数回路５０３にランダムＲの値を更新させるための初期設定を行う乱数回路設定処理を実行させるためのプログラムである。すなわち、ＣＰＵ５６は、乱数回路設定プログラム５５１に従って処理を実行することにより、乱数回路設定手段として機能する。
【０１５３】
図２３は、乱数回路設定プログラム５５１の構成例を示す説明図である。図２３に示すように、乱数回路設定プログラム５５１は、複数種類のプログラムモジュールとして、乱数最大値設定モジュール５５１ａと、乱数更新方式選択モジュール５５１ｂと、周期設定モジュール５５１ｃと、乱数回路起動モジュール５５１ｄと、初期値変更モジュール５５１ｅと、乱数回路選択モジュール５５１ｆとを含む。
【０１５４】
乱数最大値設定モジュール５５１ａは、ユーザ（例えば、遊技機の製作者）によって予め設定されたランダムＲの最大値を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、乱数最大値設定モジュール５５１ａに従って処理を実行することによって、ユーザによって予め設定されたランダムＲの最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ５３５に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって予め設定されたランダムＲの最大値を乱数回路５０３に設定する。例えば、ユーザによってランダムＲの最大値として予め「２５５」が設定された場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に乱数最大値設定データ「００ＦＦｈ」を書き込んで、ランダムＲの最大値「２５５」を乱数回路５０３に設定する。
【０１５５】
乱数更新方式選択モジュール５５１ｂは、ユーザによって選択された乱数更新方式（第１の乱数更新方式または第２の乱数更新方式）を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、乱数更新方式選択モジュール５５１ｂに従って処理を実行することによって、ユーザによって選択された乱数更新方式を指定する乱数更新方式選択データ「０１ｂ」または「１０ｂ」を乱数更新方式選択レジスタ５４０に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって選択された乱数更新方式を乱数回路５０３に設定する。よって、遊技制御用マイクロコンピュータ５６０は、第１の乱数更新方式又は第２の乱数更新方式のうちのいずれかを、乱数回路５０３が乱数更新に用いる乱数更新方式として選択する機能を備える。
【０１５６】
周期設定モジュール５５１ｃは、ユーザによって予め設定された内部クロック信号の周期（すなわち、クロック信号出力回路５２４がセレクタ５２８および反転回路５３２にクロック信号を出力する周期）を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、周期設定モジュール５５１ｃに従って処理を実行することによって、ユーザによって予め設定された内部クロック信号の周期を指定するための周期設定データを周期設定レジスタ５３７に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって予め設定された内部クロック信号の周期を乱数回路５０３に設定する。例えば、ユーザによって内部クロック信号の周期が予め「システムクロック信号の周期×１２８×１６」と設定された場合、ＣＰＵ５６は、周期設定レジスタ５３７に周期設定データ「０Ｆｈ」を書き込んで、内部クロック信号の周期「システムクロック信号の周期×１２８×１６」を乱数回路５０３に設定する。
【０１５７】
乱数回路起動モジュール５５１ｄは、乱数回路５０３を起動させるためのプログラムモジュールである。ＣＰＵ５６は、乱数回路起動モジュール５５１ｄに従って処理を実行することによって、乱数回路起動データ「８０ｈ」を乱数回路起動レジスタ５４１に書き込むことにより、乱数回路５０３を起動させる。
【０１５８】
初期値変更モジュール５５１ｅは、カウンタ５２１が更新するカウント値の初期値を変更させるためのプログラムモジュールである。ＣＰＵ５６は、初期値変更モジュール５５１ｅに従って処理を実行することによって、初期値変更手段として機能する。ＣＰＵ５６は、初期値変更モジュール５５１ｅを実行して、ユーザによって選択された初期値変更方式によって、カウンタ５２１が更新するカウント値の初期値を変更させる。そのようにすることによって、遊技制御用マイクロコンピュータ５６０は、初期値変更方式を選択する機能を備える。
【０１５９】
この実施の形態では、ユーザプログラム管理エリアの１Ｆ９７ｈ番地の領域に初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、カウント値の初期値を、遊技制御用マイクロコンピュータ５６０毎に付与された固有のＩＤナンバにもとづいて算出された値に変更させる。
【０１６０】
例えば、遊技制御用マイクロコンピュータ５６０は、ＲＡＭ５５の所定の記憶領域に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと、ＩＤナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。この場合、例えば、遊技制御用マイクロコンピュータ５６０のＩＤナンバが「１００」であるとすると、ＩＤナンバ「１００」に所定値「５０」を加算して求めた演算値「１５０」を、予めＩＤナンバに対応付けて記憶している。また、例えば、ＩＤナンバ「１００」に所定値「５０」を減算して求めた演算値「５０」を、予めＩＤナンバに対応付けて記憶している。また、例えば、予めＩＤナンバに対応づけて所定値だけを記憶していてもよい。そして、遊技制御用マイクロコンピュータ５６０は、予め記憶する所定値（例えば、「５０」）にＩＤナンバ（例えば、「１００」を加算して求めた値「１５０」を、カウント値の初期値としてもよい。また、遊技制御用マイクロコンピュータ５６０は、予め記憶する所定値（例えば、「５０」）をＩＤナンバ（例えば、「１００」）から減算して求めた値「５０」を、カウント値の初期値としてもよい。
【０１６１】
そして、初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、予め記憶するＩＤナンバにもとづく演算値にカウント値の初期値を変更させる。そのようにすれば、乱数回路５０３が発生する乱数のランダム性をより向上させることができ、遊技制御用マイクロコンピュータ５６０のＩＤナンバを見ただけでは乱数の初期値を認識しにくくすることができる。そのため、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、大当り状態への移行条件を不正に成立させられてしまうことをより確実に防止することができ、セキュリティ性を向上させることができる。
【０１６２】
また、例えば、初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバに所定値を加算して）求めた演算値にカウント値の初期値を変更させる。この場合、例えば、ＣＰＵ５６は、乱数を用いてランダムに変化させた値をＩＤナンバと演算することによって、演算に用いる値をランダムに更新し初期値を求めてもよい。そのようにすれば、乱数回路５０３が発生する乱数のランダム性をより向上させることができる。
【０１６３】
乱数回路選択モジュール５５１ｆは、遊技制御用マイクロコンピュータ５６０が内蔵する各乱数回路５０３の中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定するためのプログラムモジュールである。ＣＰＵ５６は、乱数回路選択モジュール５５１ｆに従って処理を実行することによって、遊技制御用マイクロコンピュータ５６０が内蔵する２つの乱数回路（１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂ）のうち、いずれの乱数回路をタイマ割込処理の実行時に用いるかを設定する。例えば、ＣＰＵ５６は、ＲＡＭ５５の所定の記憶領域に記憶された所定の設定値（ユーザによって予め設定された値）に従って、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａまたは１６ビット乱数回路５０３ｂを設定する。
【０１６４】
なお、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定してもよい。この場合、遊技制御用マイクロコンピュータは、例えば、１２ビット乱数回路５０３ａが発生した乱数にもとづいて大当り判定を行い、１６ビット乱数回路５０３ｂが発生した乱数にもとづいて確変判定を行うようにしてもよい。この実施の形態では、乱数値記憶回路５３１は、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとにそれぞれ存在する（すなわち、１２ビット用の乱数を記憶する乱数記憶回路と、１６ビット用の乱数を記憶する乱数記憶回路とが、別個に存在する）。また、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定した場合、遊技制御用マイクロコンピュータ５６０は、１２ビット乱数回路５０３ａから読み出した乱数と、１６ビット乱数回路５０３ｂから読み出した乱数とを、ＲＡＭ５５に設けられた別々のバッファ領域にそれぞれ格納する。そのため、１２ビット乱数回路５０３ａから乱数を読み出すタイミングと、１６ビット乱数回路５０３ｂから乱数を読み出すタイミングとが同じであっても、２つの異なる乱数を抽出し別々のバッファ領域に格納することができる。
【０１６５】
乱数値更新プログラム５５５は、乱数更新方式として第１の乱数更新方式が選択されているときに、乱数値記憶回路５３１に格納されているランダムＲの値を更新させるためのプログラムである。ＣＰＵ５６は、乱数値更新プログラム５５５に従って処理を実行することによって、乱数値更新手段として機能する。ＣＰＵ５６は、第１の乱数更新方式が選択されているときに、乱数値更新プログラム５５５を実行して、カウント値更新データ「０１ｈ」をカウント値更新レジスタ５３８に書き込むことにより、カウンタ５２１にカウント値を更新させ、乱数値記憶回路５３１に格納さているランダムＲの値を更新させる。なお、乱数更新方式として第２の乱数更新方式が選択されている場合には、クロック信号出力回路５３７が出力する乱数発生用クロック信号によって、カウンタ５２１にカウント値を更新させ、乱数値記憶回路５３１に格納さているランダムＲの値を更新させることになる。
【０１６６】
表示結果決定プログラム５５２は、特別図柄表示装置８における表示結果を大当り図柄とするか否かを決定するためのプログラムである。ＣＰＵ５６は、表示結果決定プログラム５５２に従って処理を実行することによって、表示結果決定手段として機能する。
【０１６７】
この実施の形態では、ＣＰＵ５６は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示を実行するための条件（実行条件）が成立したことに応じて、表示結果決定プログラム５５２に従って処理を実行する。そして、ＣＰＵ５６は、乱数値記憶回路５３１から更新後のランダムＲの値を読み出して、特別図柄表示装置８における表示結果を大当り図柄とするか否かを決定する。
【０１６８】
図２４は、第１の乱数更新方式が選択されている場合に、ＣＰＵ５６がランダムＲの値を更新させたりランダムＲの値を読出したりする動作を示す説明図である。図２４に示すように、第１の乱数更新方式が選択されている場合、ＣＰＵ５６は、カウント値更新データ「０１ｈ」をカウント値更新レジスタ５３８に書き込むことによって、乱数値記憶回路５３１が記憶するランダムＲの値（例えば「２」）を更新させる。そして、ＣＰＵ５６は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示を実行するための条件（実行条件）が成立したことに応じて、乱数値記憶回路５３１からランダムＲの値（例えば「２」）を読み出す。
【０１６９】
なお、乱数値記憶回路５３１が記憶するランダムＲの値をさらに更新させる場合、前回更新時にランダムＲの値を更新したときから、クロック回路５０１が出力するシステムクロック信号の周期以上の間隔を経過したときに、カウント値更新レジスタ５３８にカウント値更新データ「０１ｈ」を書き込まなければならない。なぜなら、更新後のランダムＲの値を乱数値記憶回路５３１から読み出す時間を確保する必要があるからである。
【０１７０】
図２５は、第２の乱数更新方式が選択されている場合に、ＣＰＵ５６がランダムＲの値を読出したりする動作を示す説明図である。図２５に示すように、第２の乱数更新方式が選択されている場合、タイマ回路５３４は、乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込むことによって、カウンタ５２１が出力するカウント値（例えば「２」）を乱数値記憶回路５３１に取り込ませて、乱数値記憶回路５３１が記憶するランダムＲの値を更新させる。そして、ＣＰＵ５６は、乱数値記憶回路５３１から更新後のランダムＲの値（例えば「２」）を読み出す。
【０１７１】
具体的には、第２の乱数更新方式が選択されている場合、カウンタ５２１は、乱数発生用クロック信号ＳＩ１を入力したことをトリガとしてカウント値Ｃを更新する。その後、乱数値取込データ「０１ｈ」が乱数値取込レジスタ５３９に書き込まれると、ラッチ信号生成回路５３３はラッチ信号ＳＬを乱数値記憶回路５３１に出力する。そして、乱数値記憶回路５３１は、ラッチ信号ＳＬを入力したことをトリガとしてカウンタ５２１が出力するカウント値を読み込んで記憶する。そして、ＣＰＵ５６は、乱数値記憶回路５３１が記憶するランダムＲの値を読み出す。
【０１７２】
なお、タイマ回路５３４が乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込まなければ、カウンタ５２１がカウント値を更新しても、乱数値記憶回路５３１は、カウンタ５２１が更新する乱数値を記憶しない。例えば、タイマ回路５３４が乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込み、カウンタ５２１が出力するカウント値「３」を乱数値記憶回路５３１に取り込ませて、乱数値記憶回路５３１が記憶するランダムＲの値「３」を更新させたとする。この場合、タイマ回路５３４が乱数値取込データ「０１ｈ」を再び乱数値取込レジスタ５３９に書き込まなければ、カウンタ５２１が出力するカウント値が「３」から「４」や「５」に更新されても、乱数値記憶回路５３１が記憶する乱数値は更新されず、乱数値記憶回路５３１から読み出される乱数値は「３」のままである。
【０１７３】
カウント値順列変更プログラム５５４は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込んで、乱数値記憶回路５３１が記憶するカウント値の順列を変更させるカウント値順列変更処理を実行するためのプログラムである。ＣＰＵ５６は、カウント値順列変更プログラム５５４に従って処理を実行することによって、数値データ順列変更手段として機能する。ＣＰＵ５６は、カウント値順列変更プログラム５５４を実行して、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込むことによって、カウント値順列変更回路５２３が出力し乱数値記憶回路５３１に入力されるカウント値の順列を変更させる。
【０１７４】
また、遊技制御用マイクロコンピュータ５６０は、図２６に示すように、特図保留メモリ５７０と、大当り判定用テーブルメモリ５７１と、フラグメモリ５７２と、始動入賞口スイッチタイマメモリ５７３とを備える。
【０１７５】
特図保留メモリ５７０は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示の実行条件は成立したが、未だ可変表示の開始条件が成立していない（例えば、特別図柄表示装置８がまだ可変表示を実行中である）可変表示の実行条件の成立回数を含む保留データを記憶するためのメモリ（保存領域）である。特図保留メモリ５７０は、４つのエントリを備え、各エントリには、遊技球が可変入賞球装置１５に入賞した順に、保留番号と、入賞に応じて乱数値記憶回路５３１から読み出したランダムＲの値とが対応付けて格納される。また、特別図柄表示装置８における特別図柄の可変表示が１回終了したり、大当り遊技状態が終了したりするごとに、特図保留メモリ５７０の最上位の情報にもとづいた可変表示の開始条件が成立し、特図保留メモリ５７０最上位の情報にもとづいた可変表示が実行される。この場合、特別図柄の可変表示の開始条件が成立すると、特図保留メモリ５７０の第２位以下に登録されている情報が１位ずつ繰り上がる。また、特別図柄の可変表示中に遊技球が可変入賞球装置１５に新たに入賞した場合には、その新たな入賞にもとづいて乱数値記憶回路５３１から読み出されたランダムＲの値が、特図保留メモリ５７０の空エントリに登録される。
【０１７６】
大当り判定用テーブルメモリ５７１は、ＣＰＵ５６が特別図柄表示装置８の表示結果を大当り図柄とするか否かを判定するために用いる複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ５７１は、図２７（Ａ）に示すように、確変状態以外の遊技状態（通常状態という）において用いられる通常時大当り判定テーブル５７１ａを記憶する。また、大当り判定用テーブルメモリ５７１は、図２７（Ｂ）に示すように、確変状態において用いられる確変時大当り判定テーブル５７１ｂを格納する。なお、図２７に示す判定テーブルを用いて大当り判定を行う場合、乱数最大値設定レジスタ５３５に設定された乱数最大値によって大当りと判定する確率が大きく変化することになる。この場合、例えば、誤動作により最大値が設定されてしまったとき等に、設定される乱数最大値が小さすぎると、通常時大当り判定テーブル５７１ａを用いた場合と、確変時大当り判定テーブル５７１ｂを用いた場合とで、大当りと判定する確率の差が小さくなってしまい、遊技者の遊技に対する興味を減退させてしまうことになる。そのため、乱数回路５０３および乱数最大値に対応づけて、複数の判定テーブル（複数の通常時大当り判定用テーブル５７１ａおよび複数の確変時大当たり判定用テーブル５７１ｂ）を大当り判定用テーブルメモリ５７１に記憶してもよい。そして、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、大当り判定用テーブルメモリ５７１が記憶する判定テーブルのうち、使用する乱数回路５０３および乱数最大値に対応する判定テーブル５７１ａ，５７１ｂを用いて、表示結果決定プログラム５５２に従って、特別図柄表示装置８の表示結果を大当り図柄とするか否かを判定するようにしてもよい。そのようにすることによって、使用する乱数回路５０３の種類や乱数最大値が異なっても、大当たりと判定する確率がある程度同じになるように制御することができる。
【０１７７】
フラグメモリ５７２には、遊技の進行を制御する遊技制御処理において用いられる各種のフラグが設定される。例えば、フラグメモリ５７２には、遊技状態が確変状態であることを示す確変フラグや、大当り状態であることを示す大当りフラグが設定される。
【０１７８】
始動口スイッチタイマメモリ５７３は、始動口スイッチ１４ａから入力される入賞検出信号ＳＳに応じて加算またはクリアされるタイマ値を記憶する。
【０１７９】
ここで、「なりすまし基板」について詳しく説明する。「なりすまし基板」とは、パチンコ遊技機の主基板に「なりすまして」大当りを発生させる等の不正な制御を実行する不正回路基板を意味する。
【０１８０】
従来から、マイクロコンピュータに各種の処理を実行させるための制御プログラムが格納されたＲＯＭを交換し、不正に大当りを発生させる不正行為が行われていた。このため、ＲＯＭが交換されないように、ＲＯＭをマイクロコンピュータに内蔵させて１チップマイクロコンピュータ化するとともに、ＲＯＭの格納データにより所定の演算を行い、その演算結果により正規なＲＯＭか否かを確認するセキュリティチェックを行うようにしていた。
【０１８１】
ところが、１チップマイクロコンピュータ自体を偽造して、正規のマイクロコンピュータと交換し、不正に大当りを発生させる不正行為が行われるようになった。これに対応して、マイクロコンピュータが交換されたときの痕跡が残るように、主基板を格納する基板ボックスを封止することとし、基板ボックスが開封されたことがわかるようにした遊技機が用いられるようになった。
【０１８２】
しかし、始動口スイッチと主基板との間の配線に不正回路基板を取り付けて、大当り判定用乱数の大当り判定値のタイミングで不正に始動入賞を発生させる不正行為が行われるようになった。これに対応して、大当り判定用乱数の初期値を変更させて大当り判定値と一致するタイミングをずらすものや、高速で更新するハード回路乱数が用いられるようになった。
【０１８３】
その後、主基板を格納する基板ボックスを不正回路を搭載した基板に交換して不正に大当りを発生させる行為が行われるようになった。これに対応して、マイクロコンピュータに主基板の外部に設置された照合機を接続し、正規のマイクロコンピュータであるか否かを照合する機能を持たせ、不正回路基板の発見が容易となるようにするようになった。
【０１８４】
ところが、正規の主基板は遊技機に残したままで、電源だけを供給し正規のマイクロコンピュータの照合機能は生かしつつ、入賞・大当り等その他の主基板の機能を主基板の代わりに実行する「なりすまし基板」を主基板の裏側に設置し、不正に大当りを発生させる不正行為が発生するようになった。
【０１８５】
図２８は、なりすまし基板が遊技機に設置された状態の例を示すブロック図である。図２８に示すように、なりすまし基板３１Ｘは、主基板３１と、主基板３１と信号のやりとりを行う他の電気部品制御基板（本例では演出制御基板８０、払出制御基板３７）との間に設置される。そして、主基板３１と信号のやりとりを行う他の電気部品制御基板は、主基板３１ではなく、なりすまし基板３１Ｘと信号のやりとりを行うこととなる。また、なりすまし基板３１Ｘから主基板３１に対して電源電力が供給されることとされている。
【０１８６】
なりすまし基板３１Ｘは、一般に、正規の主基板３１のコネクタを全部抜き、基板ボックスの裏に隠して設置される。主基板３１側のコネクタをはずすとすぐに発見されるため、主基板３１に接続されている相手側基板のコネクタを抜く。これにより、見た目上は、主基板３１の異常は発見されにくい。そして、主基板３１に接続されていた電気部品をなりすまし基板３１Ｘにすべて接続させる。さらに、なりすまし基板３１Ｘから正規の主基板３１に電源を供給する配線を接続する。これにより、遊技制御用マイクロコンピュータ５６０の照合機能（認証信号を出力する機能）が生きているので、照合機３６５を用いて照合を行っても、認証対象がなりすまし基板３１Ｘではなく主基板３１となるため、照合結果はＯＫになる。
【０１８７】
そして、なりすまし基板３１Ｘを主基板３１の裏側に隠す。パチンコ遊技機に搭載される主基板３１は、基板自体に不正回路が搭載されていないかを容易に発見させる目的で、部品の実装は片面実装とされ、さらに面実装部品の使用ができないので基板自体が比較的大きい。よって、主基板３１と同程度の性能を有する制御基板を、両面実装とし、その面実装部品により作成すると、正規の主基板３１よりはるかに小さくすることができる。すなわち、主基板３１と同程度の性能を有する「なりすまし基板」を、主基板３１よりはるかに小さく作成することができる。このため、「なりすまし基板」を主基板３１の裏側に隠して設置することが容易にできてしまう。
【０１８８】
図２９は、主基板３１を収容する遊技制御基板ボックスを簡略化して示す正面図である。主基板３１は、遊技機裏面において、遊技制御基板ボックスに収容されている。すなわち、収納手段としての遊技制御基板ボックスに主基板３１が収納され、それらが組み合わされた遊技制御ユニットの形で遊技機に取り付けられている。遊技制御基板ボックスは、主基板３１が収容されたボックス本体３１Ａが蓋部３１Ｂで覆われる構造である。蓋部３１Ｂは、取付部３１Ｄ，３１Ｅのそれぞれにおける１箇所の取付穴にねじ込まれたワンウェイねじとその他のねじ（図示せず）でボックス本体３１Ａに固着される。ワンウェイねじとは、ねじ締め方向にしか回らないねじであり、遊技制御基板ボックスを開封不能とする固着手段の一例である。従って、一旦締め付けるとねじを取り外すことはできない。遊技制御基板ボックスは、ボックス本体３１Ａと蓋部３１Ｂとの接合部分がねじ等の例えば金具によって固くとめられた「かしめ構造」を成している。
【０１８９】
蓋部３１Ｂをボックス本体３１Ａから外して主基板３１を露出させようとする場合には、取付部３１Ｄ，３１Ｅにおけるワンウェイねじの取付部分（蓋部３１Ｂとの取付部分）を切断する必要がある。従って、取付部分の切断の履歴から主基板３１が露出された回数がわかる。管理者等が把握している取付部分の切断の履歴（回数）よりも実際の切断の回数が多い場合には、蓋部３１Ｂが不正に外されて主基板１３が露出され、遊技制御用マイクロコンピュータが不正マイクロコンピュータに交換された可能性があることがわかる。なお、取付部３１Ｄ，３１Ｅにはそれぞれ３箇所の取付穴が設けられているので、蓋部３１Ｂを３回まで外すことができる。
【０１９０】
また、蓋部３１Ｂの不正取り外し防止のために、蓋部３１Ｂとボックス本体３１Ａとの間に、ホログラムがプリントされた封印シール３１Ｆ，３１Ｇが貼着される。封印シール３１Ｆ，３１Ｇを剥がすと蓋部３１Ｂおよびボックス本体３１Ａにホログラムが部分的に残るので、剥がされたことが一目でわかる。このことからも、蓋部３１Ｂをボックス本体３１Ａから不正に取り外して主基板３１を露出させようとしたことがわかる。
【０１９１】
この実施の形態では、蓋部３１Ｂに、機種名シール３１ａと検査履歴シール３１ｂとが貼付されている。検査履歴シール３１ｂには、主基板３１の検査、修理、交換等の際に記入される「検査者」の欄と「検査日」の欄とが設けられているが、この例では、遊技機管理番号も記載されている。遊技機管理番号は、例えば遊技制御基板ボックスのユニット番号（各遊技制御ユニットに固有に付与された番号）である。
【０１９２】
また、この実施の形態では、図２９に示すように、蓋部３１Ｂに、中断ボタン３６１を突出させるための孔（開口部）が設けられており、その孔から中断ボタン３６１の押下操作部が露出している。
【０１９３】
なお、主基板３１におけるコネクタ部分は蓋部３１Ｂの外部に露出している。図２９に示された例では、識別情報入出力のためのコネクタ３１Ｃが例示されている。しかし、主基板３１には、他の基板等との接続のための他のコネクタも搭載されている。
【０１９４】
上記のように、主基板３１が、開封不能な固着手段によって封止された基板ボックス内に収納され、中断ボタン３６１の押下操作部が、基板ボックスに設けられた開口部に設置されるように構成されているので、なりすまし基板が設置されている場合に、中断ボタン３６１からの遊技制御処理中断信号を確実に主基板３１に入力させることができる。よって、なりすまし基板が設置されている場合に、中断ボタン３６１からの遊技制御処理中断信号がなりすまし基板に入力され、なりすまし基板が設置されているにもかかわらず遊技が中断されてしまうことを防止することができる。
【０１９５】
図３０は、主基板３１に搭載された中断ボタン３６１の搭載状態の例を示す説明図である。図３０には、遊技制御基板ボックスに収納された主基板３１に中断ボタン３６１が搭載されているときの主基板３１及び遊技制御基板ボックスの蓋部３１Ｂの断面が示されている。図３０に示すように、中断ボタン３６１は、ボタンの押下操作部分が遊技制御基板ボックスの蓋部３１Ｂに設けられた孔（図２９参照）から露出した状態で、主基板３１の基板上に搭載される。よって、主基板３１が遊技制御基板ボックス内に密封されていても、中断ボタン３６１を押下することが可能となる。なお、中断ボタン３６１は、主基板３１に設けられていればよく、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔から突出した状態、またはその孔から臨む遊技制御基板ボックス内に位置させるようにしてもよい。
【０１９６】
また、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔と中断ボタン３６１の押下操作部との間の隙間は、極力狭くするのが望ましい。すなわち、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔は、遊技制御基板ボックスの密封状態を確保するため、中断ボタン３６１によって大部分が塞がれるように形成される。例えば、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔の内壁に、中断ボタン３６１の押下操作部分の外壁が押下操作可能に接触した状態となるようにしてもよい。また、中断ボタン３６１を覆う柔軟性のある材質のカバーを、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔を塞ぎ、かつ中断ボタン３６１の押下操作可能な状態で、破壊等されない限り外れないように設置するようにしてもよい。このように、遊技制御基板ボックスの蓋部３１Ｂに設けられた孔と中断ボタン３６１の押下操作部との間の隙間を極力狭くしたり、カバーによって完全に塞ぐようにすれば、遊技制御基板ボックスが破壊などされない限り主基板３１の配線の変更等を行うことが不可能となるため、主基板３１からの信号が取り出されてなりすまし基板などの外部に出力されることを防止することができる。
【０１９７】
次に遊技機の動作について説明する。図３１および図３２は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ５６０へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ５６０が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ５６０は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップＳ１以降のメイン処理を開始する。メイン処理において、遊技制御用マイクロコンピュータ５６０は、まず、必要な初期設定を行う。
【０１９８】
初期設定処理において、遊技制御用マイクロコンピュータ５６０は、まず、割込禁止に設定する（ステップＳ１）。次に、マスク可能割込の割込モードを設定し（ステップＳ２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ３）。なお、ステップＳ２では、遊技制御用マイクロコンピュータ５６０の特定レジスタ（Ｉレジスタ）の値（１バイト）と内蔵デバイスが出力する割込ベクタ（１バイト：最下位ビット０）から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、遊技制御用マイクロコンピュータ５６０は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【０１９９】
次いで、内蔵デバイスレジスタの設定（初期化）を行う（ステップＳ４）。ステップＳ４の処理によって、内蔵デバイス（内蔵周辺回路）であるＣＴＣ（カウンタ／タイマ）およびＰＩＯ（パラレル入出力ポート）の設定（初期化）がなされる。
【０２００】
この実施の形態で用いられる遊技制御用マイクロコンピュータ５６０は、Ｉ／Ｏポート（ＰＩＯ）およびタイマ／カウンタ回路（ＣＴＣ）５０４も内蔵している。
【０２０１】
次に、入力ポート１のビット０の状態によって電源断信号がオフ状態になっているか否か確認する（ステップＳ５）。遊技機に対する電力供給が開始されたときに、＋５Ｖ電源などの各種電源の出力電圧は徐々に規定値に達するのであるが、ステップＳ５の処理によって、すなわち、電源断信号が出力されていない（ハイレベルになっている）ことを確認することにより遊技制御用マイクロコンピュータ５６０は電源電圧が安定したことを確認することができる。
【０２０２】
電源断信号がオン状態である場合には、遊技制御用マイクロコンピュータ５６０は、所定期間（例えば、０．１秒）の遅延時間の後に（ステップＳ８０）、再度、電源断信号がオフ状態になっているか否か確認する。電源断信号がオフ状態になっている場合には、認証信号（主基板３１に一意に与えられている基板ＩＤ）を照合機３６５に対して出力するとともに（ステップＳ８１）、ＲＡＭ５５をアクセス可能状態に設定し（ステップＳ６）、クリア信号のチェック処理に移行する。
【０２０３】
なお、電源断信号がオン状態である場合に、遊技の進行を制御する遊技装置制御処理（遊技制御処理）の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行するようにしてもよい。そのようなソフトウェア遅延処理によって、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。遅延処理を実行したときには、他の制御基板（例えば、払出制御基板３７）に対して、遊技制御基板（主基板３１）が送信するコマンドを他の制御基板が受信できないという状況が発生することを防止できる。
【０２０４】
なお、遊技制御用マイクロコンピュータ５６０は、入力ポート０を介して１回だけクリア信号の状態を確認するようにしてもよいが、複数回クリア信号の状態を確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを確認したら、所定時間（例えば、０．１秒）の遅延時間をおいた後、クリア信号の状態を再確認する。そのときにクリア信号の状態がオン状態であることを確認したら、クリア信号がオン状態になっていると判定する。また、このときにクリア信号の状態がオフ状態であることを確認したら、所定時間の遅延時間をおいた後、再度、クリア信号の状態を再確認するようにしてもよい。ここで、再確認の回数は、１回または２回に限られず、３回以上であってもよい。また、２回チェックして、チェック結果が一致していなかったときにもう一度確認するようにしてもよい。
【０２０５】
次いで、遊技制御用マイクロコンピュータ５６０は、クリアスイッチオンフラグがセットされているか否か確認する（ステップＳ７）。クリアスイッチオンフラグがセットされていない場合には、遊技機への電力供給が停止したときにバックアップＲＡＭ領域のデータ保護処理（例えばパリティデータの付加等の電力供給停止時処理）が行われたか否か確認する（ステップＳ８）。この実施の形態では、電力供給の停止が生じた場合には、バックアップＲＡＭ領域のデータを保護するための処理が行われている。そのような電力供給停止時処理が行われていたことを確認した場合には、遊技制御用マイクロコンピュータ５６０は、電力供給停止時処理が行われた、すなわち電力供給停止時の制御状態が保存されていると判定する。電力供給停止時処理が行われていないことを確認した場合には、遊技制御用マイクロコンピュータ５６０は初期化処理を実行する。
【０２０６】
電力供給停止時処理が行われていたか否かは、電力供給停止時処理においてバックアップＲＡＭ領域に保存されるバックアップ監視タイマの値が、電力供給停止時処理を実行したことに応じた値（例えば２）になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域に電力供給停止時処理を実行したことを示すフラグをセットし、ステップＳ８において、そのフラグがセットされていることを確認したら電力供給停止時処理が行われたと判定してもよい。
【０２０７】
電力供給停止時の制御状態が保存されていると判定したら、遊技制御用マイクロコンピュータ５６０は、バックアップＲＡＭ領域のデータチェック（この例ではパリティチェック）を行う（ステップＳ９）。この実施の形態では、クリアデータ（００）をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象になるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すＲＡＭ領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を１増やし、チェックサム算出回数の値を１減算する。以上の処理が、チェックサム算出回数の値が０になるまで繰り返される。チェックサム算出回数の値が０になったら、遊技制御用マイクロコンピュータ５６０は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムにする。
【０２０８】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップＲＡＭ領域に保存されている。ステップＳ９では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップＲＡＭ領域のデータは保存されているはずであるから、チェック結果（比較結果）は正常（一致）になる。チェック結果が正常でないということは、バックアップＲＡＭ領域のデータが、電力供給停止時のデータとは異なっている可能性があることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理（ステップＳ１０〜Ｓ１４の処理）を実行する。
【０２０９】
チェック結果が正常であれば、遊技制御用マイクロコンピュータ５６０は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ＲＯＭ５４に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し（ステップＳ９１）、バックアップ時設定テーブルの内容を順次作業領域（ＲＡＭ５５内の領域）に設定する（ステップＳ９２）。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップＳ９１およびＳ９２の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ（特別図柄プロセスフラグなど）、出力ポートの出力状態が保存されている領域（出力ポートバッファ）、未払出賞球数を示すデータが設定されている部分などである。
【０２１０】
また、遊技制御用マイクロコンピュータ５６０は、ＲＯＭ５４に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し（ステップＳ９３）、ステップＳ１５に移行する。
【０２１１】
初期化処理では、遊技制御用マイクロコンピュータ５６０は、まず、ＲＡＭクリア処理を行う（ステップＳ１０）。なお、ＲＡＭ５５の全領域を初期化せず、所定のデータをそのままにしてもよい。また、ＲＯＭ５４に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し（ステップＳ１１）、初期化時設定テーブルの内容を順次作業領域に設定する（ステップＳ１２）。
【０２１２】
ステップＳ１１およびＳ１２の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。また、出力ポートバッファにおける接続確認信号を出力する出力ポートに対応するビットがセット（接続確認信号のオン状態に対応）される。
【０２１３】
また、遊技制御用マイクロコンピュータ５６０は、ＲＯＭ５４に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し（ステップＳ１３）、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する（ステップＳ１４）。初期化コマンドとして、可変表示装置９に表示される初期図柄を示すコマンドや払出制御基板３７への初期化コマンド等を使用することができる。
【０２１４】
また、遊技制御用マイクロコンピュータ５６０は、各乱数回路５０３ａ，５０３ｂを初期設定する乱数回路設定処理を実行する（ステップＳ１５）。この場合、ＣＰＵ５６は、乱数回路設定プログラム５５１に従って処理を実行することによって、各乱数回路５０３ａ，５０３ｂにランダムＲの値を更新させるための設定を行う。
【０２１５】
そして、遊技制御用マイクロコンピュータ５６０は、所定時間（例えば２ｍｓ）ごとに定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ５６０に内蔵されているＣＴＣのレジスタの設定を行なうタイマ割込設定処理を実行する（ステップＳ１６）。すなわち、初期値として例えば２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。この実施の形態では、２ｍｓごとに定期的にタイマ割込がかかるとする。
【０２１６】
タイマ割込の設定が完了すると、遊技制御用マイクロコンピュータ５６０は、表示用乱数更新処理（ステップＳ１８）を繰り返し実行する。遊技制御用マイクロコンピュータ５６０は、表示用乱数更新処理が実行されるときには割込禁止状態にして（ステップＳ１７）、表示用乱数更新処理の実行が終了すると割込許可状態にする（ステップＳ１９）。なお、表示用乱数とは、特別図柄表示器８に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。
【０２１７】
なお、表示用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップＳ１８の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップＳ１８の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【０２１８】
以上のように、遊技店員等は、クリアスイッチ９２１をオン状態してクリア信号が出力される状態にしながら遊技機に対する電力供給を開始する（例えば電源スイッチ９１４をオンする）ことによって、容易に初期化処理を実行させることができる。すなわち、ＲＡＭクリア等を行うことができる。
【０２１９】
次に、メイン処理における乱数回路設定処理（ステップＳ１５）を説明する。図３３は、乱数回路設定処理を示すフローチャートである。乱数回路設定処理において、ＣＰＵ５６は、まず、乱数回路設定プログラム５５１に含まれる乱数回路選択モジュール５５１ｆに従って処理を実行し、遊技制御用マイクロコンピュータ５６０が内蔵する各乱数回路５０３ａ，５０３ｂの中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定する（ステップＳ１５１）。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定されたタイマ割込処理の実行時に用いる乱数回路５０３を指定する指定情報を、あらかじめＲＡＭ５５の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＡＭ５５の所定の記憶領域に記憶された指定情報に従って、１２ビット乱数回路５０３ａまたは１６ビット乱数回路５０３ｂのいずれかを選択し、選択した乱数回路をタイマ割込処理の実行時に用いる乱数回路として設定する。なお、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定してもよい。この場合、遊技制御用マイクロコンピュータは、例えば、１２ビット乱数回路５０３ａが発生した乱数にもとづいて大当り判定を行い、１６ビット乱数回路５０３ｂが発生した乱数にもとづいて確変判定を行うようにしてもよい。
【０２２０】
遊技制御用マイクロコンピュータ５６０は、ステップＳ１５１で使用する乱数回路５０３を設定すると、例えば、カウンタ５２１やクロック信号出力回路５２４の動作を停止させることで、使用しないように設定した方の乱数回路のカウンタ５２１がカウント値Ｃを更新しないようにする。また、例えば、遊技制御用マイクロコンピュータ５６０は、使用しないように設定した方の乱数回路のカウンタ５２１はカウント値Ｃを更新するが、遊技制御用マイクロコンピュータ５６０は出力制御信号ＳＣを出力しないようにし、乱数値記憶回路５３１から乱数を読み出せないように制御してもよい。また、例えば、遊技制御用マイクロコンピュータ５６０は、使用しないように設定した方の乱数回路の乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」を書き込まないようにし、ラッチ信号生成回路５３３がラッチ信号ＳＬを乱数値記憶回路５３１に出力しないように制御してもよい。
【０２２１】
上記のように、使用する乱数回路５０３を設定するようにすることによって、使用する乱数回路５０３だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。また、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ５６０の制御負担を軽減することができる。例えば、大当りとする判定値として離れた値（例えば、「１」と「１００」を含む判定テーブルを用いて大当り判定を行う場合、所定の大当り確率（例えば、１００分の１）で大当りと判定するようにすると、１６ビット乱数回路５０３ｂによる乱数を用いるよりも、１２ビット乱数回路５０３ａによる乱数を用いた方が、処理すべき判定値の種類の数が少なくて済み、遊技制御用マイクロコンピュータ５６０の制御負担が軽減される。
【０２２２】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数最大値設定モジュール５５１ａに従って処理を実行し、ユーザによって予め設定された乱数最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ５３５に書き込む（ステップＳ１５２）。そのようにすることによって、ユーザによって予め設定されたランダムＲの乱数最大値を乱数回路５０３に設定する。なお、タイマ割込実行時に用いる乱数回路として１２ビット乱数回路５０３ａを設定した場合、ＣＰＵ５６は、乱数最大値（「０」〜「４０９５」のうちのいずれかの値）を指定する乱数最大値設定データを、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５に書き込む。また、タイマ割込実行時に用いる乱数回路として１６ビット乱数回路５０３ｂを設定した場合、ＣＰＵ５６は、乱数最大値（「０」〜「６５５３５」のうちのいずれかの値）を指定する乱数最大値設定データを、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５に書き込む。
【０２２３】
なお、この実施の形態では、乱数最大値として「０」〜「２５５」が設定された場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおすことになる。また、乱数最大値として「２５６」以上の値を書き込む制御を行った場合であっても、データ化けなどの原因によって「０」〜「２５５」の値が乱数最大値設定レジスタ５３５に設定されてしまった場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおす。
【０２２４】
上記のように、ステップＳ１５２において、生成する乱数の最大値をあらかじめ乱数最大値設定レジスタ５３５に設定するので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路５０３および遊技制御用マイクロコンピュータ５６０の処理負担を軽減することができる。
【０２２５】
また、ＣＰＵ５６は、ステップＳ１５２で乱数最大値設定レジスタ５３５に設定した乱数最大値が所定の下限値以下でないかを確認し、乱数最大値が下限値以下である場合には、乱数最大値設定レジスタ５３５に設定されている乱数最大値の再設定を行う乱数最大値再設定処理を実行する（ステップＳ１５３）。
【０２２６】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる初期値変更モジュール５５１ｅに従って処理を実行し、乱数回路５０３のカウンタ５２１が更新するカウント値の初期値を変更させる初期値変更処理を実行する（ステップＳ１５４）。
【０２２７】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数更新方式選択モジュール５５１ｂに従って処理を実行し、乱数更新方式選択データを乱数更新方式選択レジスタ５４０に書き込む（ステップＳ１５５）。そのようにすることによって、乱数回路５０３の乱数更新方式を設定する。なお、この実施の形態では、ＣＰＵ５６は、乱数更新方式選択データ「１０ｈ」を乱数更新方式選択レジスタ５４０に書き込むものとする。すなわち、この実施の形態では、乱数回路５０３の乱数更新方式として第２の乱数更新方式が設定される。
【０２２８】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる周期設定モジュール５５１ｃに従って処理を実行し、ユーザによって予め設定された乱数発生用クロック信号ＳＩ１の周期を指定する周期設定データ（基準クロック信号を何分周させるかを設定するためのデータ）を、周期設定レジスタ５３７に書き込む（ステップＳ１５６）。そのようにすることによって、ユーザによって予め設定された乱数発生用クロック信号ＳＩ１の周期を乱数回路５０３に設定する。
【０２２９】
また、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを設定する（ステップＳ１５７）。例えば、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを示す設定値を、予めユーザによって設定されＲＡＭ５５の所定領域に記憶している。そして、ＣＰＵ５６は、ＲＡＭ５５の所定の記憶領域に記憶された所定の設定値に従って、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを設定する。この実施の形態では、ＣＰＵ５６は、ステップＳ１５７において、カウンタ５２１に入力する初期値を更新すると判定すると、所定の最終値までカウント値が更新されたとき（カウンタ５２１から通知信号を入力したとき）に初期値を更新する旨を示す初期値更新フラグをセットする。
【０２３０】
また、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が更新するカウント値の順列を変更するか否かを設定する（ステップＳ１５８）。例えば、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が出力するカウント値の順列を変更するか否かを示す設定値を、予めユーザによって設定されＲＡＭ５５の所定領域に記憶している。そして、ＣＰＵ５６は、ＲＡＭ５５の所定の記憶領域に記憶された所定の設定値に従って、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が出力するカウント値の順列を変更するか否かを設定する。この実施の形態では、ＣＰＵ５６は、ステップＳ１５８において、カウンタ５２１が出力するカウント値の順列を変更すると判定すると、所定の最終値までカウント値が更新されたときにカウント値の順列を変更する旨を示すカウント値順列変更フラグをセットする。この実施の形態では、ステップＳ１５８において、所定の設定値に従ってカウント値順列変更フラグをセットする場合を説明する。そして、ＣＰＵ５６は、後述するカウント値順列変更処理において、カウント値順列変更フラグがセットされていることにもとづいて、カウンタ５２１が出力するカウント値の順列を変更する。
【０２３１】
そして、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数回路起動モジュール５５１ｄに従って処理を実行し、乱数回路起動データ「８０ｈ」を乱数回路起動レジスタ５４１に書き込む（ステップＳ１５９）。そのようにすることによって、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３を起動させる。
【０２３２】
次に、乱数回路設定処理における乱数最大値再設定処理（ステップＳ１５３）を説明する。図３４は、乱数最大値再設定処理を示すフローチャートである。乱数最大値再設定処理において、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む（ステップＳ１５３ａ）。なお、タイマ割込処理の実行時に用いる乱数回路として１２ビット乱数回路５０３ａを設定した場合、ＣＰＵ５６は、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む。また、タイマ割込処理の実行時に用いる乱数回路として１６ビット乱数回路５０３ｂを設定した場合、ＣＰＵ５６は、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む。
【０２３３】
遊技制御用マイクロコンピュータ５６０は、読み込んだ乱数最大値が所定の下限値以下であるか否かを判定する（ステップＳ１５３ｂ）。１２ビット乱数回路５０３ａを設定した場合、１２ビット乱数回路５０３ａにおいて設定可能な乱数最大値が「２５６」から「４０９５」までであるので、ＣＰＵ５６は、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であるか否かを判定する。また、１６ビット乱数回路５０３ｂを設定した場合、１６ビット乱数回路５０３ｂにおいて設定可能な乱数最大値が「２５６」から「６５５３５」までであるので、ＣＰＵ５６は、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であるか否かを判定する。
【０２３４】
読み込んだ乱数最大値が下限値以下である場合、遊技制御用マイクロコンピュータ５６０は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値に設定しなおす（ステップＳ１５３ｃ）。１２ビット乱数回路５０３ａを設定した場合、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であると判定すると、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値「４０９５」に設定しなおす。また、１６ビット乱数回路５０３ｂを設定した場合、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であると判定すると、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値「６５５３５」に設定しなおす。
【０２３５】
以上のように、乱数最大値設定レジスタ５３５に設定した乱数最大値が所定の下限値以下となっている場合には、乱数最大値を所定値に設定しなおす。そのため、遊技制御用マイクロコンピュータ５６０の誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。従って、最小値から最大値までの値の範囲が過度に小さい乱数を生成する事態が発生することを防止することができる。
【０２３６】
次に、乱数回路設定処理における初期値変更処理（ステップＳ１５４）を説明する。図３５は、初期値変更処理を示すフローチャートである。初期値変更処理において、ＣＰＵ５６は、まず、ユーザプログラム実行データエリアの１Ｆ９７ｈ番地の領域に記憶されている初期値変更方式設定データを読み出し、ユーザによって選択された初期値変更方式を特定する。この場合、ＣＰＵ５６は、読み出した初期値変更方式設定データの値が「０１ｈ」であるか否かを判定することによって（ステップＳ１５４ａ）、ユーザによって選択された初期値変更方式を特定する。
【０２３７】
初期値変更方式設定データの値が「０１ｈ」である場合、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバにもとづいて設定された値に変更する（ステップＳ１５４ｂ）。例えば、遊技制御用マイクロコンピュータ５６０は、ＲＡＭ５５の所定の記憶領域に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと、ＩＤナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。そして、ステップＳ１５４ｂにおいて、ＣＰＵ５６は、予め記憶するＩＤナンバにもとづく演算値にカウント値の初期値を変更させる。また、例えば、ステップＳ１５４ｂにおいて、ＣＰＵ５６は、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバ（例えば、「１００」）に所定値（例えば、「１００」）を加算して）求めた演算値（例えば、「２００」）にカウント値の初期値を設定する。また、カウンタ５２１に入力する初期値を変更すると、ＣＰＵ５６は、カウント値の初期値を変更した旨を示す初期値変更フラグをセットする（ステップＳ１５４ｃ）。
【０２３８】
なお、遊技制御用マイクロコンピュータ５６０は、ステップＳ１５４ｂにおいてカウンタ５２１に入力する初期値を変更する際、乱数回路５０３の比較器５２２の乱数最大値設定レジスタ５３５の値を確認し、ＩＤナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、ＩＤナンバにもとづいて設定された値が乱数最大値以上であると判断すると、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１に入力する初期値を変更しない（例えば、初期値を「０」のまま変更しない）。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
【０２３９】
ステップＳ１５４ａにおいて、初期値変更方式設定データの値が「０１ｈ」でない場合（すなわち、ユーザプログラム実行データエリアの１Ｆ９７ｈ番地の領域に記憶されている初期値変更方式設定データの値が「００ｈ」である場合）、ＣＰＵ５６は、カウント値の初期値の変更を行わず、そのまま初期値変更処理を終了し、ステップＳ１５５に移行する。
【０２４０】
乱数回路設定処理が実行されることによって、遊技制御処理を含むタイマ割込処理の実行時に乱数回路５０３に各種信号が入力され、乱数回路５０３内で各種信号が生成される。図３６は、乱数回路５０３に各信号が入力されるタイミング、および乱数回路５０３内で各信号が生成されるタイミングを示すタイミングチャートである。
【０２４１】
図３６に示すように、クロック回路５０１は、所定周期ごと（図３６に示すタイミングＴ１１，Ｔ２１，・・・）に、出力端子の信号レベルをローレベルからハイレベルに立ち上げることによって、乱数回路５０３に基準クロック信号ＣＬＫ（図３６（Ａ）参照）を入力する。
【０２４２】
クロック信号出力回路５２４は、クロック回路５０１から供給された基準クロック信号ＣＬＫを分周し、乱数発生用クロック信号ＳＩ１（図３６（Ｂ）参照）を生成する。例えば、クロック信号出力回路５２４は、タイミングＴ１１，Ｔ１２，・・・で出力端子の信号レベルをローレベルからハイレベルに立ち上げ、タイミングＴ２１，Ｔ２２，・・・で信号レベルをハイレベルからローレベルに立ち下げることによって、乱数発生用クロック信号ＳＩ１を出力する。
【０２４３】
なお、図３６に示す例では、説明を分かりやすくするために、クロック信号出力回路５２４が基準クロック信号ＣＬＫを２分周して乱数発生用クロック信号ＳＩ１を生成する場合を示している。しかし、実際の乱数回路では、周期設定レジスタ５３７に設定可能な周期は「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」まである。従って、実際の乱数回路では、クロック信号出力回路５２４は、「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」までの範囲で周期設定レジスタ５３７に設定される周期設定データ「０７ｈ」〜「ＦＦｈ」に対応した分周比で、基準クロック信号ＣＬＫを分周し乱数発生用クロック信号ＳＩ１を生成する。クロック信号出力回路５２４によって生成された乱数発生用クロック信号ＳＩ１は、セレクタ５２８と反転回路５３２とに出力される。
【０２４４】
この実施の形態では、乱数回路設定処理において、第２の乱数更新方式が設定されるので、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号がセレクタ５２８に入力される。セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力されると、クロック信号出力回路５２４から入力した乱数発生用クロック信号ＳＩ１を選択してカウンタ５２１に出力する。カウンタ５２１は、セレクタ５２８から供給される乱数発生用クロック信号ＳＩ１の立ち上がりエッヂが入力されるごとに、カウント値Ｃを更新してカウント値順列変更回路５２３に出力する。
【０２４５】
反転回路５３２は、クロック信号出力回路５２４から入力した乱数発生用クロック信号ＳＩ１の信号レベルを反転させることによって、反転クロック信号ＳＩ２（図３６（Ｃ）参照）を生成する。例えば、反転回路５３２は、タイミングＴ１１，Ｔ１２，・・・で出力端子の信号レベルをハイレベルからローレベルに立ち下げ、タイミングＴ２１，Ｔ２２，・・・で信号レベルをローレベルからハイレベルに立ち上げることによって、反転クロック信号ＳＩ２を出力する。また、反転回路５３２によって生成された反転クロック信号ＳＩ２は、ラッチ信号生成回路５３３に出力される。
【０２４６】
ラッチ信号生成回路５３３には、入賞検出信号ＳＳ（図３６（Ｄ）参照）がタイマ回路５３４に入力されてから所定時間（例えば３ミリ秒）が経過すると、乱数値読取信号出力回路５２６から乱数値読取信号が入力される。例えば、乱数値読取信号出力回路５２６の出力端子の信号レベルがローレベルからハイレベルに立ち上がることによって、ラッチ信号生成回路５３３に乱数値読取信号が入力される。ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力されたことに応じて、乱数値読取信号出力回路５２６から入力する乱数値読取信号を反転回路５３２から供給される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬ（図３６（Ｅ）参照）を出力する。
【０２４７】
以上のように、乱数回路５０３は、タイミングＴ１１，Ｔ１２，Ｔ１３・・・においてカウント値Ｃを更新し、タイミングＴ１１，Ｔ１２，Ｔ１３とは異なるタイミングＴ２２においてラッチ信号ＳＬを出力させ、乱数値記憶回路５３１に乱数値を記憶する。
【０２４８】
次に、遊技制御処理について説明する。図３７は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップＳ１７〜Ｓ１９のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、遊技制御用マイクロコンピュータ５６０は、中断ボタン３６１からの遊技制御処理中断信号が入力しているか否か判定し（ステップＳ８５）、遊技制御処理中断信号が入力していなければ（ステップＳ８５のＮ）、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。遊技制御処理中断信号が入力していれば、遊技制御処理中断信号が入力しなくなるまで遊技制御処理中断信号の状態を監視し、遊技制御処理の実行を中断する。
【０２４９】
遊技制御処理において、遊技制御用マイクロコンピュータ５６０は、まず、電源断信号が出力されたか否か（オン状態になったか否か）を検出する電源断処理（電源断検出処理）を実行する（ステップＳ２０）。次いで、スイッチ回路５８を介して、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、カウントスイッチ２３および入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ等のスイッチの検出信号を入力し、それらの状態判定を行う（スイッチ処理：ステップＳ２１）。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を＋１する。
【０２５０】
次に、遊技制御用マイクロコンピュータ５６０は、乱数回路設定処理において所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がされてるか（ステップＳ１５７参照）を確認し、乱数回路５０３のカウンタ５２１に入力する初期値を更新する処理を行う（初期値更新処理：ステップＳ２２）。また、遊技制御用マイクロコンピュータ５６０は、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う（表示用乱数更新処理：ステップＳ２３）。
【０２５１】
初期値更新処理および表示用乱数更新処理を行うと、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３のカウンタ５２１が出力するカウント値の順列をカウント値順列変更回路５２３に変更させるカウント値順列変更処理を行う（ステップＳ２４）。この実施の形態では、乱数回路設定処理のステップＳ１５８でカウント値順列変更フラグがセットされているか否かによって、カウント値順列変更処理を実行するか否かが決定されている。そして、遊技制御用マイクロコンピュータ５６０は、カウント値順列変更フラグがセットされていることにもとづいて、カウント値順列変更処理を実行する。
【０２５２】
さらに、遊技制御用マイクロコンピュータ５６０は、特別図柄プロセス処理を行う（ステップＳ２５）。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機１を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う（ステップＳ２６）。普通図柄プロセス処理では、普通図柄表示器１０の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【０２５３】
次いで、遊技制御用マイクロコンピュータ５６０は、特別図柄の変動に同期する飾り図柄に関する演出制御コマンドをＲＡＭ５５の所定の領域に設定して演出制御コマンドを送出する処理を行う（飾り図柄コマンド制御処理：ステップＳ２７）。なお、飾り図柄の変動が特別図柄の変動に同期するとは、変動時間（可変表示期間）が同じであることを意味する。
【０２５４】
さらに、遊技制御用マイクロコンピュータ５６０は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う（ステップＳ２８）。
【０２５５】
また、遊技制御用マイクロコンピュータ５６０は、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する（ステップＳ２９）。具体的には、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ等がオンしたことにもとづく入賞検出に応じて、払出制御基板３７に賞球個数を示す賞球個数信号等の払出指令信号を出力する。払出制御基板３７に搭載されている払出制御用マイクロコンピュータ３７０は、賞球個数を示す賞球個数信号の受信に応じて球払出装置９７を駆動する。
【０２５６】
そして、遊技制御用マイクロコンピュータ５６０は、保留記憶数の増減をチェックする記憶処理を実行する（ステップＳ３０）。また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する（ステップＳ３１）。また、この実施の形態では、出力ポートの出力状態に対応したＲＡＭ領域（出力ポートバッファ）が設けられているのであるが、遊技制御用マイクロコンピュータ５６０は、出力ポート２のＲＡＭ領域におけるソレノイドに関する内容を出力ポートに出力する（ステップＳ３２：ソレノイド出力処理）。その後、遊技制御用マイクロコンピュータ５６０は、割込許可状態に設定し（ステップＳ３３）、処理を終了する。
【０２５７】
以上の制御によって、この実施の形態では、遊技制御処理は定期的（例えば２ｍｓごと）に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はフラグがセットされたことにもとづいてメイン処理において実行されるようにしてもよい。また、ステップＳ２１〜Ｓ３２の処理（ステップＳ２８およびＳ３１を除く）が、遊技の進行を制御する遊技制御処理に相当する。
【０２５８】
また、遊技制御用マイクロコンピュータ５６０は、タイマ割込処理を実行した回数をカウントする処理を実行する。この実施の形態では、遊技制御用マイクロコンピュータ５６０は、タイマ割込処理を実行するごとに、タイマ割込処理を実行した回数を示す割込回数カウンタをカウントアップする。例えば、遊技制御用マイクロコンピュータ５６０は、ステップＳ３２においてソレノイド出力処理を完了すると、タイマ割込処理を実行した回数を示す割込回数カウンタの値を１加算する。
【０２５９】
次に、タイマ割込処理における初期値更新処理（ステップＳ２２）について説明する。図３８は、初期値更新処理を示すフローチャートである。初期値更新処理において、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３のカウンタ５２１が出力するカウント値Ｃを最終値まで更新した旨を示す通知信号の状態を確認する（ステップＳ２２０）。通知信号がオン状態になっていることを検出した場合には、遊技制御用マイクロコンピュータ５６０は、初期値更新フラグがセットされているか否かを確認する（ステップＳ２２１）。すなわち、遊技制御用マイクロコンピュータ５６０は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がなされたか否か（ステップＳ１５７参照）を確認する。
【０２６０】
初期値更新フラグがセットされている場合、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３のカウンタ５２１が所定の最終値までカウント値を更新したときに、カウンタ５２１に入力する初期値を更新すると判断する。また、初期値更新フラグがセットされている場合、遊技制御用マイクロコンピュータ５６０は、初期値変更フラグがセットされているか否かを確認する（ステップＳ２２２）。すなわち、遊技制御用マイクロコンピュータ５６０は、カウント値の初期値が現在変更されているか否か（すなわち、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に変更されているか否か）を判断する。
【０２６１】
初期値変更フラグがセットされている（すなわち、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に初期値が現在変更されている）場合、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値から元の値（例えば、「１」）にもどす（ステップＳ２２３）。そして、遊技制御用マイクロコンピュータ５６０は、初期値変更フラグをリセットし（ステップＳ２２４）、初期値更新処理を終了する。
【０２６２】
初期値変更フラグがセットされていない（すなわち、初期値が現在変更されていない）場合、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に変更する（ステップＳ２２５）。この場合、例えば、遊技制御用マイクロコンピュータ５６０のＩＤナンバが「１００」であるとすると、カウンタ５２１に入力する初期値を、ＩＤナンバ「１００」に所定値「１００」を加算して求めた演算値「２００」に変更する。また、例えば、カウンタ５２１に入力する初期値を、ＩＤナンバ「１００」に所定値「５０」を減算して求めた演算値「５０」に変更する。そして、遊技制御用マイクロコンピュータ５６０は、初期値変更フラグをセットし（ステップＳ２２６）、初期値更新処理を終了する。
【０２６３】
なお、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定した場合、ステップＳ２２５において、遊技制御用マイクロコンピュータ５６０は、一方の乱数回路（例えば、１２ビット乱数回路５０３ａ）から読み込んだ乱数を所定値としてＩＤナンバに加算して、カウンタ５２１に入力する初期値を求めてもよい。そして、遊技制御用マイクロコンピュータ５６０は、他の一方（例えば、１６ビット乱数回路５０３ｂ）から読み込んだ乱数を、大当り判定用の乱数として用いてもよい。
【０２６４】
なお、遊技制御用マイクロコンピュータ５６０は、ステップＳ２２５においてカウンタ５２１に入力する初期値を更新する際、乱数回路５０３の比較器５２２の乱数最大値設定レジスタ５３５の値を確認し、ＩＤナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、ＩＤナンバにもとづいて設定された値が乱数最大値以上であると判断すると、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１に入力する初期値を所定値のまま更新しない（例えば、所定値「０」のまま更新しない）。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
【０２６５】
なお、ステップＳ２２０において通知信号がオフ状態であると判断した場合、およびステップＳ２２１において初期値更新フラグがセットされていないと判断した場合、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１に入力する初期値を更新することなく、そのまま初期値更新処理を終了し、ステップＳ２３に移行する。
【０２６６】
次に、タイマ割込処理におけるカウント値順列変更処理（ステップＳ２４）について説明する。図３９は、カウント値順列変更処理を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、カウント値順列変更プログラム５５４に従って処理を実行することによって、カウント値順列変更処理を行う。カウント値順列変更処理において、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３のカウンタ５２１が出力するカウント値Ｃを最終値まで更新した旨を示す通知信号の状態を確認する（ステップＳ２４１）。通知信号がオン状態になっていることを検出した場合には、遊技制御用マイクロコンピュータ５６０は、カウント値順列変更フラグがセットされているか否かを確認する（ステップＳ２４２）。すなわち、遊技制御用マイクロコンピュータ５６０は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときにカウンタ５２１が更新するカウント値の順列を変更する旨の設定がなされたか否か（ステップＳ１５８参照）を確認する。
【０２６７】
カウント値順列変更フラグがセットされている場合、遊技制御用マイクロコンピュータ５６０は、乱数回路５０３のカウンタ５２１が所定の最終値までカウント値を更新したときに、カウンタ５２１が更新するカウント値の順列を変更すると判断する。そして、遊技制御用マイクロコンピュータ５６０は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込む（ステップＳ２４３）。すなわち、遊技制御用マイクロコンピュータ５６０は、カウント値順列変更データ「０１ｈ」を書き込むことによって、乱数値記憶回路５３１に入力されるカウント値Ｃの順列をカウント値順列変更回路５２３に変更させる。
【０２６８】
以上のように、カウント値順列変更処理において、乱数を所定の最終値まで更新したときに、カウンタ５２１が更新するカウント値の順列を変更するので、乱数回路５０３が生成する乱数のランダム性をより向上させることができる。
【０２６９】
次に、メイン処理における特別図柄プロセス処理（ステップＳ２５）を説明する。図４０は、遊技制御用マイクロコンピュータ５６０が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理（ステップＳ３１０）を行い、遊技盤６に設けられている始動入賞口１４に遊技球が入賞したことを検出するための始動口スイッチ１４ａがオンしていたら、すなわち遊技球が始動入賞口１４に入賞する始動入賞が発生していたら（ステップＳ３１１）、始動口スイッチ通過処理（ステップＳ３１２）を行った後に、内部状態に応じて、ステップＳ３００〜Ｓ３０８のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
【０２７０】
特別図柄通常処理（ステップＳ３００）：特別図柄の可変表示を開始できる状態（例えば、特別図柄表示器８において図柄の変動がなされておらず、特別図柄表示器８における前回の図柄変動が終了してから所定期間が経過しており、かつ、大当り遊技中でもない状態）になるのを待つ。特別図柄の可変表示が開始できる状態になると、特別図柄についての始動入賞記憶数を確認する。始動入賞記憶数が０でなければ、乱数回路５０３が発生するランダムＲにもとづいて、特別図柄の可変表示の結果を大当りとするか否か決定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０１に移行するように更新する。
【０２７１】
特別図柄停止図柄設定処理（ステップＳ３０１）：特別図柄の可変表示後の停止図柄を決定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０２に移行するように更新する。
【０２７２】
変動時間設定処理（ステップＳ３０２）：変動パターンを決定し、その変動パターンにおける変動時間（可変表示時間：可変表示を開始してから表示結果が導出表示（停止表示）するまでの時間）を特別図柄の可変表示の変動時間とすることに決定する。また、決定した特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０３に移行するように更新する。
【０２７３】
特別図柄変動処理（ステップＳ３０３）：所定時間（ステップＳ３０２の変動時間タイマで示された時間）が経過すると、内部状態（特別図柄プロセスフラグ）をステップＳ３０４に移行するように更新する。
【０２７４】
特別図柄停止処理（ステップＳ３０４）：演出制御基板８０に対して、飾り図柄の停止を指示するための飾り図柄停止コマンドを送信する。また、特別図柄表示器８における特別図柄を停止させる。そして、特別図柄の停止図柄が大当り図柄である場合には、内部状態（特別図柄プロセスフラグ）をステップＳ３０５に移行するように更新する。そうでない場合には、内部状態をステップＳ３００に移行するように更新する。なお、飾り図柄停止コマンドを送信しない構成としてもよい。この場合、演出制御基板８０は、主基板３１からの変動パターンコマンドにもとづいて変動時間タイマに変動時間を設定するとともに、その変動時間タイマを更新していくことで飾り図柄の変動時間を独自に監視し、その変動時間が経過したと判定したときに飾り図柄を停止する処理を行うようにすればよい。
【０２７５】
大入賞口開放前処理（ステップＳ３０５）：大入賞口を開放する制御を開始する。具体的には、カウンタ（例えば大入賞口に入った遊技球数をカウントするカウンタ）やフラグ（入賞口への入賞を検出する際に用いられるフラグ）を初期化するとともに、ソレノイド２１を駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当り中フラグをセットする。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０６に移行するように更新する。
【０２７６】
大入賞口開放中処理（ステップＳ３０６）：大入賞口ラウンド表示の演出制御コマンドを演出制御基板８０に送出する制御や大入賞口の閉成条件（例えば、大入賞口に所定個数（例えば１０個）の遊技球が入賞したこと）の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、内部状態をステップＳ３０７に移行するように更新する。
【０２７７】
特定領域有効時間処理（ステップＳ３０７）：Ｖ入賞スイッチ２２の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップＳ３０５に移行するように更新する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、内部状態をステップＳ３０８に移行するように更新する。
【０２７８】
大当り終了処理（ステップＳ３０８）：大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御手段に行わせるための制御を行う。そして、内部状態をステップＳ３００に移行するように更新する。
【０２７９】
図４１は、始動口スイッチ通過処理（ステップＳ３１２）を示すフローチャートである。始動口スイッチ通過処理において、遊技制御用マイクロコンピュータ５６０は、始動入賞カウンタが示す始動入賞記憶数（または特図保留メモリ５７０が記憶している始動入賞記憶数）が最大値である４に達しているかどうか確認する（ステップＳ３２１）。始動入賞記憶数が４に達していなければ、遊技制御用マイクロコンピュータ５６０は、割込実行回数カウンタに示されるタイマ割込処理の実行回数が所定回数（例えば、３回）に達しているか否かを確認する（ステップＳ３２２）。なお、遊技球が始動入賞口１４に入賞したことを検出すると、遊技制御用マイクロコンピュータ５６０は、割込実行回数カウンタをリセットする。そして、遊技制御用マイクロコンピュータ５６０は、遊技球が始動入賞口１４に入賞したあと、割込実行回数カウンタが所定回数に達しているか否かを確認する。
【０２８０】
ステップＳ３２２において所定回数としてあらかじめ設定される値は、以下のように定められる。前述のように、乱数回路５０３のタイマ回路５３４は、始動口スイッチ１４ａから入賞検出信号ＳＳが継続して入力されている時間を計測し、計測時間が所定期間になったことを検出すると、乱数値取り込みデータ「０１ｈ」を書き込む。この実施の形態では、タイマ回路５３４が計測する所定期間（例えば、３ｍｓ）が、所定回数のタイマ割込処理が実行される期間（例えば、２ｍｓごとのタイマ割込処理を３回実行する場合は６ｍｓ）よりも短くなるように、ステップＳ３２２において用いる所定回数（例えば、３回）が設定される。そのように設定することによって、乱数を読み出してから、乱数値記憶回路５３１に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができ、前回乱数値記憶回路５３１から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
【０２８１】
タイマ割込処理の実行回数が所定回数に達している場合、ＣＰＵ５６は、特定した乱数回路５０３の乱数値記憶回路５３１に出力制御信号ＳＣを出力し、乱数値記憶回路５３１を読出可能（イネイブル）状態に制御する（ステップＳ３２３）。
【０２８２】
ＣＰＵ５６は、乱数回路５０３の乱数値記憶回路５３１から、乱数値として記憶されているランダムＲの値を読み出す（ステップＳ３２４）。また、ＣＰＵ５６は、読み出したランダムＲの値を、例えばＲＡＭ５５に設けられた所定のバッファ領域に格納する（ステップＳ３２５）。また、ＣＰＵ５６は、ランダムＲの値をバッファ領域に格納すると、乱数値記憶回路５３１への出力制御信号ＳＣの出力を停止し、乱数値記憶回路５３１を読出不能（ディセイブル）状態に制御する（ステップＳ３２６）。また、ＣＰＵ５６は、割込実行回数カウンタをリセットする（ステップＳ３２７）。そして、ＣＰＵ５６は、所定のバッファ領域に格納したランダムＲの値を特図保留メモリ５７０の空エントリの先頭にセットし（ステップＳ３２８）、始動入賞カウンタのカウント数を１加算することで始動入賞記憶数を１増やす（ステップＳ３２９）。
【０２８３】
ステップＳ３２１において始動入賞記憶するが最大値である４に達している場合、およびステップＳ３２２においてタイマ割込処理の実行回数が所定回数に達してない場合、そのまま始動口スイッチ通過処理を終了する。
【０２８４】
以上のように、始動口スイッチ通過処理において、乱数値記憶回路５３１からランダムＲを読み出すにあたって、タイマ割込処理が所定回数実行されたこと（すなわち、タイマ割込処理が所定回数実行される間継続して入賞検出信号ＳＳが入力されたこと）を条件に、乱数値記憶回路５３１から乱数を読み出す。そのため、乱数を読み出してから、乱数値記憶回路５３１に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。また、前回乱数値記憶回路５３１から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
【０２８５】
次に、特別図柄プロセス処理における特別図柄通常処理（ステップＳ３００）について説明する。図４２は、大当り遊技が終了したときに実行される特別図柄通常処理を示すフローチャートである。特別図柄通常処理において、遊技制御用マイクロコンピュータ５６０は、特別図柄の変動を開始することができる状態（例えば特別図柄プロセスフラグの値がステップＳ３００を示す値となっている場合）には（ステップＳ３８０）、特図保留メモリ５７０から保留番号「１」に対応して格納されているランダムＲの値を読み出す（ステップＳ３８１）。この場合、遊技制御用マイクロコンピュータ５６０は、始動入賞カウンタのカウント数を１減算することで保留記憶数を１減らし、且つ、特図保留メモリ５７０の第２〜第４エントリ（保留番号「２」〜「４」）に格納されたランダムＲの値を１エントリずつ上位にシフトする（ステップＳ３８２）。
【０２８６】
また、遊技制御用マイクロコンピュータ５６０は、確変フラグがセットされているか否かを確認する（ステップＳ３８３）。すなわち、遊技制御用マイクロコンピュータ５６０は、遊技状態が確変状態に制御されているか否かを確認する。確変フラグがセットされていない場合、遊技制御用マイクロコンピュータ５６０は、遊技状態が確変状態以外の通常状態であると判断し、特別図柄表示装置８の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、通常時大当り判定テーブル５７１ａ（図２７（Ａ）参照）を設定する（ステップＳ３８４）。また、確変フラグがセットされている場合、遊技制御用マイクロコンピュータ５６０は、遊技状態が確変状態であると判断し、特別図柄表示装置８の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、確変時大当り判定テーブル５７１ｂ（図２７（Ｂ）参照）を設定する（ステップＳ３８５）。
【０２８７】
遊技制御用マイクロコンピュータ５６０は、始動口スイッチ通過処理において所定のバッファ領域に格納したランダムＲの値にもとづいて、特別図柄表示装置８の表示結果を大当り図柄とするか否かを判定する（ステップＳ３８６）。この場合、遊技制御用マイクロコンピュータ５６０は、ステップＳ３８４で設定した通常時大当り判定テーブル５７１ａまたはステップＳ３８５で設定した確変時大当り判定テーブル５７１ｂを用いて、大当りとするか否かを判定する。
【０２８８】
特別図柄表示装置８の表示結果を大当り図柄とすると決定すると、遊技制御用マイクロコンピュータ５６０は、大当り状態であることを示す大当りフラグをオン状態にする（ステップＳ３８７）。また、特別図柄表示装置８の表示結果を大当り図柄としないと決定すると、遊技制御用マイクロコンピュータ５６０は、大当りフラグをオフ状態にする（ステップＳ３８８）。そして、遊技制御用マイクロコンピュータ５６０は、特別図柄プロセスフラグの値を特別図柄停止図柄設定処理に対応した値に更新する（ステップＳ３８９）。
【０２８９】
以上に説明したように、この実施の形態では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路５０３の初期設定（乱数回路設定処理）を行うとともに、乱数回路設定処理において、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバにもとづく値を乱数の初期値として設定する。そのため、乱数回路５０３が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、大当り状態などの特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。
【０２９０】
また、この実施の形態では、照合に用いるＩＤと乱数の初期値を設定するためのＩＤとに同一のＩＤを用いるようにしていたが、これに限らず、別個のＩＤを用いるようにしてもよい。
【０２９１】
また、この実施の形態では、乱数回路５０３の反転回路５３２が極性を反転させた反転クロック信号ＳＩ２を生成し、反転クロック信号ＳＩ２に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路５３１に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
【０２９２】
また、この実施の形態では、遊技制御用マイクロコンピュータ５６０が、中断ボタン３６１からの遊技制御処理中断信号（中断操作信号）の入力に応じて遊技制御処理を中断させる構成とされているので、例えば遊技店員等が意図的に遊技制御処理を中断させることができる。そして、意図的な中断が不能となっている場合に不正回路基板（なりすまし基板）が設置されているものと判断することができ、不正回路基板を容易に発見することができるようになる。
【０２９３】
上述した実施の形態では、遊技制御処理を中断させる例として、遊技制御処理中断信号が入力されている間は制御プログラムに従ってループ処理を行う場合について説明したが、中断操作信号が入力されている間遊技が止まればよく、遊技を止める種々の方法をとることができる。例えば、遊技機への電力供給を停止する（すなわち、電源をオフする）などの周知あるいは公知の方法によって、遊技制御処理を中断するようにしてもよい。また、例えば、遊技制御用マイクロコンピュータ５６０の処理を停止（システムリセット）させることで「遊技制御処理を中断」させるようにしてもよいし、遊技制御用マイクロコンピュータ５６０から出力される全ての制御信号を出力停止させることで「遊技制御処理を実質的に中断」させるようにしてもよい。
【０２９４】
実施の形態２．
第１の実施の形態では、中断ボタン３６１を用いて遊技制御処理を中断させることによって、なりすまし基板が設置されているか否かを発見するようにしていたが、中断ボタン３６１を用いることなく、以下に示すようにしてなりすまし基板が設置されているか否かを発見するようにしてもよい。
【０２９５】
なお、本実施の形態において、第１の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第１の実施の形態と異なる部分及び第１の実施の形態では説明を省略した部分について説明する。
【０２９６】
図４３は、この実施の形態における主基板３１の回路構成の一例を示すブロック図である。なお、図４３には、遊技機に搭載されている払出制御基板３７、ランプドライバ基板３５、音声出力基板７０、インタフェース基板６６、中継基板７７および演出制御基板８０も示されている。主基板３１には、図４に示した例と異なり、中断ボタン３６１は搭載されていない。また、主基板３１には、図４に示した例と異なり、遊技球の未払出数が所定数を超えたときに点灯される未払出超過ＬＥＤ３６２と、入賞が発生したときに点灯される入賞報知ランプ３６３とが搭載されている。
【０２９７】
次に、主基板３１と払出制御基板３７との間で送受信される払出制御信号について説明する。図４４は、遊技制御用マイクロコンピュータ５６０から払出制御用マイクロコンピュータ３７０に対して出力される払出制御信号および遊技制御用マイクロコンピュータ５６０に払出制御用マイクロコンピュータ３７０から入力される払出制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板３１と払出制御基板３７との間で複数種類の制御信号が送受信（双方向通信）される。
【０２９８】
図４４に示すように、電源確認信号は、主基板３１の立ち上がり時（電力供給の開始後に遊技制御用マイクロコンピュータ５６０が遊技の進行を制御可能な状態となったとき）に立ち上がり（オン状態になり）、払出制御基板３７に対して主基板３１が立ち上がったことを通知するための信号（主基板３１の接続確認信号）である。また、電源確認信号は、賞球払出を許可する状態であることを示す。すなわち、遊技制御用マイクロコンピュータ５６０は、電源確認信号をオフ状態にすることによって、払出制御用マイクロコンピュータ３７０に対して賞球払出を行わせないようにすることができる。なお、払出制御用マイクロコンピュータ３７０は、賞球払出中に電源確認信号がオフ状態になったことを検出した場合には、そのときに払い出すことが決まっている個数の賞球払出を完了させた時点で、賞球払出処理を実行しない状態に移行する。
【０２９９】
払出ＲＥＱ信号は、賞球の払出要求時に出力状態（＝オン状態）になる信号（すなわち賞球払出要求のトリガ信号）である。また、払出ＲＥＱ信号は、払出制御用マイクロコンピュータ３７０からの受信確認信号がオン状態になると、停止状態（オフ状態）になる。
【０３００】
払出個数信号は、払出要求を行う遊技球の個数（例えば１〜１５個）を指定するために出力される信号（賞球個数コマンド）である。払出個数信号は、遊技制御用マイクロコンピュータ５６０が、賞球待機状態において受信確認信号がオン状態になったことを検出したとき、または、払出ＲＥＱ信号の送信後に受信確認信号がオン状態にならなかったことを検出したとき、もしくは払出ＲＥＱ信号の送信停止後にオフ状態にならなかったことを検出したときに出力される受信確認信号エラーを示すエラー信号としても用いられる。具体的には、払出個数信号が１Ｅ（Ｈ）であれば、受信確認信号エラーであることを示している。また、払出個数信号は、遊技制御用マイクロコンピュータ５６０が、賞球待機状態において払出動作中信号がオン状態になったことを検出したとき、または、受信確認信号がオフ状態になった後、払出動作中信号がオン状態にならなかったことを検出したときに出力される払出動作中信号エラーを示すエラー信号としても用いられる。具体的には、払出個数信号が１Ｆ（Ｈ）であれば、払出動作中信号エラーであることを示している。
【０３０１】
接続確認信号は、払出制御用マイクロコンピュータ３７０が、払出制御基板３７の立ち上がり時にオン状態にして、遊技制御用マイクロコンピュータ５６０に、払出制御基板３７が立ち上がったことを通知するための信号である。換言すれば、払出制御用マイクロコンピュータ３７０が賞球払出処理を実行可能であることを通知するための信号である。よって、払出制御用マイクロコンピュータ３７０は、遊技球の払い出しに関わるエラーが発生すると、接続確認信号をオフ状態にする。受信確認信号は、払出制御用マイクロコンピュータ３７０が払出ＲＥＱ信号がオン状態になったことに応じて払出個数信号を受信すると、オン状態にする信号である。払出動作中信号は、払出制御用マイクロコンピュータ３７０が賞球払出処理を開始するとオン状態にし、払出個数信号で指令された個数の賞球払出が完了するとオフ状態にする信号である。
【０３０２】
図４５は、図４４に示す払出制御信号の送受信に用いられる信号線等を示すブロック図である。図４５に示すように、払出制御信号のうち、電源確認信号、払出ＲＥＱ信号、および払出個数信号は、遊技制御用マイクロコンピュータ５６０によって出力回路６７を介して出力され、入力回路３７３Ａを介して払出制御用マイクロコンピュータ３７０に入力される。また、払出制御信号のうち、接続確認信号、受信確認信号および払出動作中信号は、払出制御用マイクロコンピュータ３７０によって出力回路３７３Ｂを介して出力され、入力回路６８を介して遊技制御用マイクロコンピュータ５６０に入力される。電源確認信号、払出ＲＥＱ信号、接続確認信号、受信確認信号および払出動作中信号は、それぞれ１ビットのデータであり、それぞれ１本の信号線（信号経路）によって送信される。払出個数信号は、５ビットのデータで構成され５本の信号線（信号経路）によって送信される。
【０３０３】
図４６は、払出制御信号の出力の仕方の一例を示すタイミング図である。図４６に示すように、入賞検出スイッチが遊技球の入賞を検出したことにもとづいて、遊技制御用マイクロコンピュータ５６０は、払出ＲＥＱ信号をオン状態にするとともに、払出個数信号の出力状態を、入賞に応じて払い出される賞球数に応じた状態にする。なお、この実施の形態では、始動口スイッチ１４ａで遊技球が検出されると４個の賞球払出を行い、入賞口スイッチ３３ａ，３９ａ，２９ａ，３０ａのいずれかで遊技球が検出されると７個の賞球払出を行い、Ｖカウントスイッチ２２またはカウントスイッチ２３で遊技球が検出されると１５個の賞球払出を行う。また、上述したように、払出個数信号は５ビットで構成されているので、８ビットで表現されている００（Ｈ）〜０Ｆ（Ｈ）の賞球個数コマンドのうち、下位の５ビットが払出個数信号によって主基板３１から払出制御基板３７に伝達される。従って、払出個数信号によって、０〜３１個の賞球個数指定を行うことが可能であるが、この実施の形態では、１Ｆ（Ｈ）および１Ｅ（Ｈ）はエラー通知のために使用される。よって、実際には、０〜２９個の賞球個数指定を行うことが可能である。しかし、この実施の形態では、個数指定としては１５（０Ｆ（Ｈ））までを使用するので、以下、「００（Ｈ）〜０Ｆ（Ｈ）の払出個数信号」のように表現することがある。
【０３０４】
払出制御用マイクロコンピュータ３７０は、払出ＲＥＱ信号の受信を確認すると、払出個数信号を入力し、受信確認信号を送信（オン状態）する。遊技制御用マイクロコンピュータ５６０は、受信確認信号の受信を確認すると、払出ＲＥＱ信号の送信を停止する（オフ状態にする）。払出制御用マイクロコンピュータ３７０は、払出ＲＥＱ信号がオフ状態になったことを確認すると、払出個数信号で指定された個数の賞球払出が行われるように払出モータ２８９を駆動する。駆動を開始するときに、払出動作中信号を送信（オン状態）する。払出制御用マイクロコンピュータ３７０は、払出個数カウントスイッチ３０１の検出信号にもとづいて、払出個数信号で指定された個数の賞球払出が行われたことを確認すると、払出動作中信号の送信を停止する（オフ状態にする）。遊技制御用マイクロコンピュータ５６０は、払出動作中信号がオフ状態になったことを確認すると、払出個数信号の状態をオフ状態（全て０の状態）にする。
【０３０５】
なお、遊技制御用マイクロコンピュータ５６０は、払出ＲＥＱ信号をオフ状態にするときに、払出個数信号の状態をオフ状態にしてもよい。
【０３０６】
図４６に示すように、払出ＲＥＱ信号および払出個数信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづく払出ＲＥＱ信号のオンおよび払出個数信号の出力は待たされる。具体的には、遊技制御用マイクロコンピュータ５６０は、払出ＲＥＱ信号がオン状態であるときに新たな入賞を検出すると、その入賞にもとづいて払い出されるべき賞球数を、ＲＡＭ５５に形成される総賞球数格納バッファの内容に加算する。そして、遊技制御用マイクロコンピュータ５６０は、払出ＲＥＱ信号をオフ状態にしたときに、総賞球数格納バッファの内容が０でなければ、１５を上限として、総賞球数格納バッファの内容が示す賞球数の賞球払出を指示するために、払出ＲＥＱ信号をオン状態にするとともに、払出個数信号を出力する。
【０３０７】
図４７は、ステップＳ２９の賞球処理の一例を示すフローチャートである。賞球処理において、遊技制御用マイクロコンピュータ５６０は、賞球個数加算処理（ステップＳ２０１）と賞球制御処理（ステップＳ２０２）とを実行する。そして、ＲＡＭ５５に形成される出力ポートバッファのうちの出力ポート０バッファの内容をポート０に出力する（ステップＳ２０３）。なお、出力ポート０バッファの内容は、賞球制御処理において更新される。
【０３０８】
賞球個数加算処理では、図４８に示す賞球個数テーブルが使用される。賞球個数テーブルは、ＲＯＭ５４に設定されている。賞球個数テーブルの先頭アドレスには処理数（この例では「７」）が設定され、その後に、スイッチオンバッファの下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート０における各スイッチの検出信号が入力されるビットに対応した値である。また、スイッチオンバッファの上位アドレスは固定的な値（例えば７Ｆ（Ｈ））である。また、賞球個数テーブルにおいて、７つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。
【０３０９】
図４９は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、遊技制御用マイクロコンピュータ５６０は、賞球個数テーブルの先頭アドレスをポインタにセットする（ステップＳ１６１）。そして、ポインタが指すアドレスのデータ（この場合には処理数）をロードする（ステップＳ１６２）。次に、スイッチオンバッファの上位アドレス（８ビット）を２バイトのチェックポインタの上位１バイトにセットする（ステップＳ１６３）。
【０３１０】
そして、ポインタの値を１増やし（ステップＳ１６４）、ポインタが指す賞球個数テーブルのデータ（この場合にはスイッチオンバッファの下位アドレス）をチェックポインタの下位１バイトにセットした後（ステップＳ１６５）、ポインタの値を１増やす（ステップＳ１６６）。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし（ステップＳ１６７）、ロードした内容と、ポインタが指す賞球個数テーブルのデータ（この場合にはスイッチ入力ビット判定値）との論理積をとる（ステップＳ１６８）。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の７ビットが０になる。そして、ポインタの値を１増やす（ステップＳ１６９）。
【０３１１】
ステップＳ１６８における演算結果が０でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば（ステップＳ１７０）、入賞が発生したとして入賞報知ランプ３６３を所定期間点灯させ（ステップＳ１７１）、ポインタが指す賞球個数テーブルのデータ（この場合には賞球個数）を賞球加算値に設定し（ステップＳ１７２）、賞球加算値を、ＲＡＭ５５に形成されている１６ビットの総賞球数格納バッファの内容に加算する（ステップＳ１７３）。なお、総賞球数格納バッファは、バックアップＲＡＭに形成されている。そして、遊技制御用マイクロコンピュータ５６０は、ステップＳ１７３での加算の結果、総賞球数格納バッファに格納されている賞球個数（未払出の賞球の総数）があらかじめ定められた異常判定数（例えば、２００、５００、１０００等）以上となった場合には、未払出超過ＬＥＤを点灯させる（ステップＳ１７４，１７５）。
【０３１２】
ステップＳ１７６では処理数を１減らし、処理数が０であれば処理を終了し、処理数が０でなければステップＳ１６４に戻る（ステップＳ１７７）。また、ステップＳ１７０において、ステップＳ１６８における演算結果が０であること、すなわち、検査対象のスイッチの検出信号がオフ状態であることを確認したら、ステップＳ１７６に移行する。
【０３１３】
図５０は、ステップＳ２０１の賞球制御処理を示すフローチャートである。賞球制御処理では、遊技制御用マイクロコンピュータ５６０は、賞球プロセスコードの値に応じて、ステップＳ２３１〜Ｓ２３６のいずれかの処理を実行する。
【０３１４】
図５１は、賞球プロセスコードの値が０の場合に実行される待機処理（ステップＳ２３１）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、待機処理において、賞球タイマの値を確認する（ステップＳ２４１Ａ）。賞球タイマの値が０でない場合には、賞球タイマの値を１減算して処理を終了する（ステップＳ２４２Ａ）。なお、賞球タイマの値が０でない場合とは、例えば、前回の払出制御信号の通信時に払出動作中信号がオフになったことを確認して賞球個数信号をオフ状態にしたときに、次に払出ＲＥＱ信号をオン状態にするまでに待ち時間を挿入するために賞球タイマに所定値がセットされたような場合である。
【０３１５】
賞球タイマの値が０であった場合には、遊技制御用マイクロコンピュータ５６０は、電源確認信号をオフ状態にしているか否か確認し（ステップＳ２４３Ａ）、電源確認信号をオフ状態にしているときには、処理を終了する。よって、電源確認信号をオフ状態にしている場合には、払出ＲＥＱ信号が出力されないことになる。なお、遊技制御用マイクロコンピュータ５６０は、電源確認信号の出力状態を、出力ポート０バッファのビット６の状態によって把握できる。また、遊技制御用マイクロコンピュータ５６０は、入力ポートを介して接続確認信号の状態を確認する（ステップＳ２４３Ｂ）。接続確認信号がオフ状態であれば処理を終了する。よって、接続確認信号がオフ状態である場合には、払出個数信号送信処理（図５２参照）に移行されず（具体的には、後述するステップＳ２５４での払出ＲＥＱ中出力値を出力ポート０バッファにセットする処理が実行されず）、払出ＲＥＱ信号が出力されないことになる。
【０３１６】
接続確認信号がオン状態である場合には、入力ポートを介して受信確認信号の状態を確認する（ステップＳ２４４）。受信確認信号は、待機状態ではオン状態にならないはずであるから、受信確認信号がオン状態である場合には、遊技制御用マイクロコンピュータ５６０は、通信エラーが生じたと判断する。そして、賞球異常状態出力値（００（Ｈ）または１Ｅ（Ｈ））を出力ポート０バッファにセットして処理を終了する（ステップＳ２４７）。なお、賞球異常状態出力値が出力ポート０バッファにセットされると、ステップＳ２０３（図４７参照）において出力ポート０バッファの内容がポート０に出力されることによって、電源確認信号および払出ＲＥＱ信号がオフ状態になる。このような制御によって、賞球払出待機中に受信確認信号がオン状態になったときには、電源確認信号がオフ状態になる。そして、総賞球数格納バッファに０でない値が記憶されていたとしても、払出指令信号を出力する状態に移行しない。すなわち、払出指令信号をオン状態にすることを禁止する。
【０３１７】
また、賞球異常状態出力値として１Ｅ（Ｈ）がセットされる場合は図２２に示された場合に対応し、賞球異常状態出力値として００（Ｈ）がセットされる場合は図２１に示された場合に対応する。賞球異常状態出力値としての１Ｅ（Ｈ）がセットされると、払出個数信号として１Ｅ（Ｈ）が出力され、賞球異常状態出力値としての００（Ｈ）がセットされると、払出個数信号として００（Ｈ）が出力される。ただし、この段階では、通常、賞球異常状態出力値がセットされる前に、払出個数信号として００（Ｈ）になっている。
【０３１８】
また、遊技制御用マイクロコンピュータ５６０は、受信確認信号がオン状態でなければ、入力ポートを介して払出動作中信号の状態を確認する（ステップＳ２４５）。払出動作中信号は、待機状態ではオン状態にならないはずであるから、払出動作中信号がオン状態である場合には、遊技制御用マイクロコンピュータ５６０は、通信エラーが生じたと判断する。そして、賞球異常状態出力値（００（Ｈ）または１Ｆ（Ｈ））を出力ポート０バッファにセットして処理を終了する（ステップＳ２４６）。このような制御によって、賞球払出待機中に払出動作中信号がオン状態になったときには、電源確認信号がオフ状態になる。そして、総賞球数格納バッファに０でない値が記憶されていたとしても、払出指令信号を出力する状態に移行しない。すなわち、払出指令信号をオン状態にすることを禁止する。
【０３１９】
通信エラーが生じていなければ、賞球待機中出力値（４０（Ｈ））を出力ポート０バッファにセットする（ステップＳ２４８）。なお、賞球待機中出力値が出力ポート０バッファにセットされると、ステップＳ２０３において出力ポート０バッファの内容がポート０に出力されることによって、払出ＲＥＱ信号はオフ状態になり、電源確認信号はオン状態になる。ただし、通信に関する制御が正常に続行されていた場合には、この段階で、すでに、払出ＲＥＱ信号はオフ状態になり、電源確認信号はオン状態になっている。ステップＳ２４８の処理が有効になるのは、通信エラーの状態から回復したとき（具体的には、払出制御基板３７からの接続確認信号がオン状態に戻ったとき）である。
【０３２０】
次いで、遊技制御用マイクロコンピュータ５６０は、総賞球数格納バッファの内容を確認する（ステップＳ２４９）。その値が０であれば処理を終了し、０でなければ、賞球プロセスコードの値を１にした後（ステップＳ２５０）、処理を終了する。
【０３２１】
図５２は、賞球プロセスコードの値が１の場合に実行される払出個数信号送信処理（ステップＳ２３２）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、払出個数信号送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値（この例では「１５」）よりも小さいか否か確認する（ステップＳ２５１）。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する（ステップＳ２５２）。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する（ステップＳ２５３）。
【０３２２】
その後、払出ＲＥＱ中出力値（６０（Ｈ））を出力ポート０バッファにセットする（ステップＳ２５４）。なお、払出ＲＥＱ中出力値が出力ポート０バッファにセットされると、ステップＳ２０３において出力ポート０バッファの内容がポート０に出力されることによって、払出ＲＥＱ信号がオン状態になり、電源確認信号のオン状態が維持される。また、賞球個数バッファの内容を出力ポート０バッファの下位５ビットにセットする（ステップＳ２５５）。さらに、賞球タイマに、受信確認信号がオンすることを監視するための所定時間（一例として５秒）に相当する値（この例では２５００）をセットする（ステップＳ２５６）。その後、賞球プロセスコードの値を２にして（ステップＳ２５７）、処理を終了する。なお、５秒は、１回の払出処理（例えば最大２５個の遊技球の払出）が完了するのに十分な時間であり、払出制御手段が球貸し処理を行っていることに起因して、払出ＲＥＱ信号の確認を行わない期間を考慮した時間である。複数回の球貸し処理（例えば１回につき２５個の遊技球の払い出し）が連続して実行されることが許容されている場合には、受信確認信号がオンすることを監視するための所定時間は、連続して実行される球貸し処理の最大回数を考慮して定められる。
【０３２３】
なお、この実施の形態では、賞球コマンド最大値は「１５」である。従って、最大で「１５」の払出数を指定する払出個数信号が払出制御基板３７に送信される。
【０３２４】
図５３は、賞球プロセスコードの値が２の場合に実行される受信確認信号オン待ち処理（ステップＳ２３３）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、受信確認信号オン待ち処理において、受信確認信号がオン状態になったことに応じて（ステップＳ２６１）、総賞球数格納バッファの内容から、賞球個数バッファの内容（払出制御用マイクロコンピュータ３７０に指令した賞球払出個数）を減算する（ステップＳ２６２）。そして、出力ポート０バッファの払出ＲＥＱ信号出力ビットをリセットする（ステップＳ２６３）。なお、出力ポート０バッファの払出ＲＥＱ信号出力ビットがリセットされると、ステップＳ２０３において出力ポート０バッファの内容がポート０に出力されることによって、払出ＲＥＱ信号はオフ状態になるが、取込要求信号である払出ＲＥＱ信号がオフ状態になったことによって払出指令信号がオフ状態になったことになる。
【０３２５】
さらに、受信確認信号がオフ状態になることを監視するための所定時間（一例として１００ｍｓ）に相当する値を賞球タイマにセットする（ステップＳ２６４）。また、賞球プロセスコードの値を３にして（ステップＳ２６５）、処理を終了する。
【０３２６】
受信確認信号がオン状態になっていない場合には、賞球タイマの値を１減算する（ステップＳ２６６）。賞球タイマの値が０になっていない場合には処理を終了する。賞球タイマの値が０になった場合には（ステップＳ２６７）、遊技制御用マイクロコンピュータ５６０は、通信エラーが生じたと判断する。そして、賞球異常状態出力値（００（Ｈ）または１Ｅ（Ｈ））を出力ポート０バッファにセットする（ステップＳ２６８）。賞球異常状態出力値が出力ポート０バッファにセットされると、ステップＳ２０３（図４７参照）において出力ポート０バッファの内容がポート０に出力されることによって、電源確認信号および払出ＲＥＱ信号がオフ状態になる。そして、賞球プロセスコードの値を待機処理に相当する０にして（ステップＳ２６９）、処理を終了する。
【０３２７】
図５４は、賞球プロセスコードの値が３の場合に実行される受信確認信号オフ待ち処理（ステップＳ２３４）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、受信確認信号オフ待ち処理において、受信確認信号がオフ状態になったことに応じて（ステップＳ２７１）、払出動作中信号がオン状態になることを監視するための所定時間（一例として１００ｍｓ）に相当する値を賞球タイマにセットする（ステップＳ２７２）。また、賞球プロセスコードの値を４にして（ステップＳ２７３）、処理を終了する。
【０３２８】
受信確認信号がオフ状態になっていない場合には、賞球タイマの値を１減算する（ステップＳ２７５）。賞球タイマの値が０になっていない場合には処理を終了する。賞球タイマの値が０になった場合には（ステップＳ２７６）、遊技制御用マイクロコンピュータ５６０は、通信エラーが生じたと判断する。そして、賞球異常状態出力値（００（Ｈ）または１Ｅ（Ｈ））を出力ポート０バッファにセットする（ステップＳ２７７）。そして、賞球プロセスコードの値を待機処理に相当する０にして（ステップＳ２７８）、処理を終了する。
【０３２９】
図５５は、賞球プロセスコードの値が４の場合に実行される払出動作中信号オン待ち処理（ステップＳ２３５）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、払出動作中信号オン待ち処理において、払出動作中信号がオン状態になったことに応じて（ステップＳ２８１）、払出動作中信号がオフ状態になることを監視するための所定時間（一例として５秒）に相当する値を賞球タイマにセットする（ステップＳ２８２）。また、賞球プロセスコードの値を５にして（ステップＳ２８３）、処理を終了する。
【０３３０】
払出動作中信号がオン状態になっていない場合には、賞球タイマの値を１減算する（ステップＳ２８５）。賞球タイマの値が０になっていない場合には処理を終了する。賞球タイマの値が０になった場合には（ステップＳ２８６）、遊技制御用マイクロコンピュータ５６０は、通信エラーが生じたと判断する。そして、賞球異常状態出力値（００（Ｈ）または１Ｆ（Ｈ））を出力ポート０バッファにセットする（ステップＳ２８７）。賞球異常状態出力値が出力ポート０バッファにセットされると、ステップＳ２０３（図４７参照）において出力ポート０バッファの内容がポート０に出力されることによって、電源確認信号および払出ＲＥＱ信号がオフ状態になる。そして、賞球プロセスコードの値を待機処理に相当する０にして（ステップＳ２８８）、処理を終了する。
【０３３１】
図５６は、賞球プロセスコードの値が５の場合に実行される払出動作中信号オフ待ち処理（ステップＳ２３６）を示すフローチャートである。遊技制御用マイクロコンピュータ５６０は、払出動作中信号オフ待ち処理において、払出動作中信号がオフ状態になったことに応じて（ステップＳ２９１）、遅延時間値（一例として２０ｍｓに相当する１０）を賞球タイマにセットし（ステップＳ２９４）、出力ポート０バッファの払出個数信号出力ビット（下位５ビット）を０にして（ステップＳ２９７）、また、賞球プロセスコードの値を０にして（ステップＳ２９８）、処理を終了する。この場合、遊技制御用マイクロコンピュータ５６０と払出制御用マイクロコンピュータ３７０との間の通信は正常に終了したことになる。なお、遅延時間値は、次に払出ＲＥＱ信号をオン状態にするまでに待ち時間を設けるためにセットされる。
【０３３２】
払出動作中信号がオフ状態になっていない場合には、賞球タイマの値を１減算する（ステップＳ２９２）。賞球タイマの値が０になっていない場合には処理を終了する。賞球タイマの値が０になった場合には（ステップＳ２９３）、遊技制御用マイクロコンピュータ５６０は、払出エラーが生じたと判断する。そして、遊技制御用マイクロコンピュータ５６０は、異常報知コマンド送信要求をセットし（ステップＳ２９５）、出力ポート０バッファの電源確認信号出力ビットをリセットする（ステップＳ２９６）。また、出力ポート０バッファの払出個数信号出力ビット（下位５ビット）を０にし（ステップＳ２９７）、賞球プロセスコードの値を０にして（ステップＳ２９８）、処理を終了する。なお、異常報知コマンド送信要求がセットされると、演出制御用マイクロコンピュータ１００に異常報知コマンドが送信される。
【０３３３】
以上のように、遊技制御用マイクロコンピュータ５６０は、払出制御用マイクロコンピュータ３７０との間の通信の異常（通信エラー）が発生したときには、遊技球の払い出しを停止させるための制御（例えば、電源確認信号をオフ）を行う。そして、遊技制御用マイクロコンピュータ５６０は、払出制御用マイクロコンピュータ３７０との間の通信の異常が解消されるまで遊技球の払い出しを停止させる。すなわち、新たな事象（遊技球の入賞等）が生じても、それに応じた処理を行わず、例えば新たに生じた事象を記憶しておく。遊技制御用マイクロコンピュータ５６０は、通信異常が解消されると（例えば、接続確認信号のオン状態を検出すると）、通信を再開する。
【０３３４】
この実施の形態では、遊技制御用マイクロコンピュータ５６０が景品遊技媒体数記憶手段（この例では総賞球数格納バッファ）に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を実行するための所定の条件は、払出制御用マイクロコンピュータ３７０から受信確認信号を受信したとき、具体的には、受信確認信号がオン状態になったときである。なお、受信確認信号がオン状態になったときには、払出制御用マイクロコンピュータ３７０は、払出指令信号で指令された個数の賞球払出をまだ行っていない。受信確認信号がオン状態になったときよりも後に（例えば、払出動作中信号がオフ状態になったとき、すなわち払出個数信号で指令した個数の賞球払出が完了したときに）総賞球数格納バッファの減算処理を行うように構成すると、賞球払出中に不正に遊技機の電力供給を停止させた後に電力供給を復旧させるような不正行為によって、不正に多数の賞球払出が行われてしまう。例えば、払出指令信号で１５個の賞球払出が指令された場合に、１０個の賞球払出がなされた時点で、不正に遊技機の電力供給を停止させた後に電力供給を復旧させると、総賞球数格納バッファの内容は何ら減算されていないので、実際には１０個の賞球払出はなされているにも関わらず、その１０個の賞球払出はなされていないものとして、賞球制御を続行してしまう。
【０３３５】
しかし、この実施の形態では、受信確認信号がオン状態になったときに、すなわち、払出制御用マイクロコンピュータ３７０が払出指令信号を受け付けて受信確認信号を送信したときに総賞球数格納バッファの減算処理が実行されるので、上記の不正行為を防止することができる。
【０３３６】
なお、遊技制御手段と払出制御手段とが賞球払出制御に関して双方向通信を行い、遊技制御手段が、受信確認信号に相当する信号を受信したことに応じて、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行う遊技機は知られている（例えば、特開２００４−６５６７６号公報参照。）。
【０３３７】
図５７は、特開２００４−６５６７６号公報に記載されている払出制御信号の出力の仕方を示すタイミングチャートである。図５７に示すように、特開２００４−６５６７６号公報に記載されている遊技機では、遊技制御手段が、受信確認信号に相当するＢＵＳＹ信号がオン状態となったあとオフ状態となったことに応じて、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行うようにしている。
【０３３８】
しかし、特開２００４−６５６７６号公報に記載されている遊技機では、遊技制御手段は、減算処理を行った後でも、払出制御手段が指示された個数の賞球払出を完了するまで払出指令信号（特に払出ＲＥＱ信号）のオン状態を維持する。そして、払出指令信号のオン状態が維持されている状態（例えば図５７に示す時刻Ｔ）で電源断が生じた後に電源が復旧すると、遊技制御手段は、制御状態が保存されている場合には、復旧処理によって、再び払出指令信号をオン状態にする。その場合、払出制御手段は、最初から（例えば１５個の賞球払出の指示を受けた場合の１個目）賞球払出処理を再開するので、電源断が生ずる前に数個の遊技球を賞球として払い出していた場合には、重複払出が行われることになる。一方、この実施の形態では、減算処理を行うときに払出指令信号をオフ状態にするので、すなわち、早めに払出指令信号をオフ状態にするので、重複払出が行われ賞球が過剰に払い出されてしまう可能性が低減する。
【０３３９】
次に、払出制御手段（払出制御用マイクロコンピュータ３７０およびＩ／Ｏポート）の動作を説明する。図５８は、遊技機に対して電力供給が開始され払出制御用マイクロコンピュータ３７０へのリセット信号がハイレベルになったことに応じて払出制御用マイクロコンピュータ３７０が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用マイクロコンピュータ３７０は、まず、必要な初期設定を行う。すなわち、払出制御用マイクロコンピュータ３７０は、まず、割込禁止に設定する（ステップＳ７０１）。次に、割込モードを割込モード２に設定し（ステップＳ７０２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ７０３）。また、払出制御用マイクロコンピュータ３７０は、内蔵デバイスレジスタの設定（初期化）を行い（ステップＳ７０４）、ＣＴＣおよびＰＩＯの設定（初期化）を行う（ステップＳ７０５）を行った後に、ＲＡＭをアクセス可能状態に設定する（ステップＳ７０６）。
【０３４０】
この実施の形態では、内蔵ＣＴＣのうちの一つのチャネルがタイマモードで使用される。従って、ステップＳ７０４の内蔵デバイスレジスタの設定処理およびステップＳ７０５の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば２ｍｓ毎に発生させたい場合は、初期値として２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。
【０３４１】
なお、タイマモードに設定されたチャネル（この実施の形態ではチャネル３）に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Ｉレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理（少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置９７を駆動する処理を含み、球貸し要求に応じて球払出装置９７を駆動する処理が含まれていてもよい。）が実行される。
【０３４２】
この実施の形態では、払出制御用マイクロコンピュータ３７０でも割込モード２が設定される。従って、内蔵ＣＴＣのカウントアップにもとづく割込処理を使用することができる。また、ＣＴＣが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
【０３４３】
ＣＴＣのチャネル３（ＣＨ３）のカウントアップにもとづく割込は、ＣＰＵの内部クロック（システムクロック）をカウントダウンしてレジスタ値が「０」になったら発生する割込であり、タイマ割込として用いられる。具体的には、払出制御用ＣＰＵ３７１の動作クロックを分周したクロックがＣＴＣに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が０になるとタイマ割込が発生する。例えば、ＣＨ３のレジスタ値はシステムクロックの１／２５６周期で減算される。分周したクロックにもとづいて減算が行われるので、レジスタの初期値は大きくならない。
【０３４４】
次いで、払出制御用マイクロコンピュータ３７０は、ＲＡＭクリア処理を行う（ステップＳ７０７）。また、ＲＡＭ領域のフラグやカウンタなどに初期値を設定する（ステップＳ７０８）。ステップＳ７０８の処理には、賞球未払出個数カウンタ初期値（例えば０）を賞球未払出個数カウンタにセットする処理、および接続確認信号をオン状態にするための処理（具体的には、ＲＡＭに形成されている出力ポート１バッファのビット４をセットする処理）が含まれる。なお、出力ポートバッファの内容は、後述するステップＳ７６０の出力処理が最初に実行されるときに出力ポートの出力に反映される。メイン処理は遊技機に対して電力供給が開始されたことに応じて開始され、払出制御処理における出力処理が最初に実行されるときに出力ポートに接続確認信号が出力される（オン状態になる）ので、接続確認信号は、遊技機に対する電力供給が開始され払出処理を実行可能な状態になったときに、オン状態にされることになる。
【０３４５】
そして、定期的にタイマ割込がかかるように払出制御用マイクロコンピュータ３７０に設けられているＣＴＣのレジスタの設定を行う（ステップＳ７０９）。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ（時間定数レジスタ）に設定される。そして、初期設定処理のステップＳ７０１において割込禁止とされているので、初期化処理を終える前に割込が許可される（ステップＳ７１０）。その後、タイマ割込の発生を監視するループ処理に入る。
【０３４６】
上記のように、この実施の形態では、払出制御用マイクロコンピュータ３７０１の内蔵ＣＴＣが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用マイクロコンピュータ３７０は、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理におけるループ処理では、タイマ割込フラグがセットされたことを検出すると、ステップＳ７５０以降の払出制御処理を実行する。
【０３４７】
図５９のステップＳ７５０において、払出制御用マイクロコンピュータ３７０は、発射モータ９４に対する励磁パターンの出力処理（発射モータφ１〜φ４のパターンの出力ポート０への出力）を行う。なお、ステップＳ７５２の発射モータ制御処理において、励磁パターンがＲＡＭ領域である励磁パターンバッファに格納され、ステップＳ７５０では、払出制御用マイクロコンピュータ３７０は、励磁パターンバッファの内容を出力ポート０の下位４ビットに出力する処理を行う。
【０３４８】
次に、払出制御用マイクロコンピュータ３７０は、入力判定処理を行う（ステップＳ７５１）。入力判定処理は、払出個数カウントスイッチ３０１およびエラー解除スイッチ３７５の検出信号の状態チェックを行う処理を含む。具体的には、それらのそれぞれに対応したスイッチタイマ（払出個数カウントスイッチタイマ、エラー解除スイッチタイマ）がＲＡＭに形成され、スイッチチェック処理において、それらがオン状態であることを検出したら対応するスイッチタイマの値を＋１し、オフ状態であることを検出したら対応するスイッチタイマの値をクリアする。
【０３４９】
次に、払出制御用マイクロコンピュータ３７０は、発射モータ制御処理を実行する（ステップＳ７５２）。発射モータ制御処理では、発射モータφ１〜φ４のパターンを励磁パターンバッファに格納する。また、発射モータ９４を不能動化すべきときには、発射モータ９４を回転させない発射モータφ１〜φ４のパターンを励磁パターンバッファに格納する。また、払出制御用マイクロコンピュータ３７０は、払出モータ制御処理を実行する（ステップＳ７５３）。払出モータ制御処理では、払出モータ２８９を駆動すべきときには、払出モータφ１〜φ４のパターンを出力ポート０に出力するための処理を行う。
【０３５０】
また、払出制御用マイクロコンピュータ３７０は、カードユニット５０と通信を行うプリペイドカードユニット制御処理を実行する（ステップＳ７５４）。次いで、遊技制御用マイクロコンピュータ５６０と通信を行う主制御通信処理を実行する（ステップＳ７５５）。さらに、カードユニット５０からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの払出個数信号が示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する（ステップＳ７５６）。
【０３５１】
そして、払出制御用マイクロコンピュータ３７０は、各種のエラーを検出するエラー処理を実行する（ステップＳ７５７）。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する（ステップＳ７５８）。また、エラー処理の結果に応じてエラー表示ＬＥＤ３７４に所定の表示を行うとともに、賞球ＬＥＤ５１および球切れＬＥＤ５２を点灯するための表示制御処理を実行する（ステップＳ７５９）。なお、払出制御用マイクロコンピュータ３７０は、表示制御処理において、払出動作中信号がオン状態であるときに、賞球ＬＥＤ５１を点灯するための制御を行う。また、払出動作中信号をオフ状態にしたら、賞球ＬＥＤ５１を消灯するための制御を行う。
【０３５２】
また、この実施の形態では、出力ポートの出力状態に対応したＲＡＭ領域（出力ポート０バッファ、出力ポート１バッファ、出力ポート２バッファ）が設けられているのであるが、払出制御用マイクロコンピュータ３７０は、出力ポート０バッファ、出力ポート１バッファおよび出力ポート２バッファの内容を出力ポートに出力する（ステップＳ７６０：出力処理）。ただし、出力ポート０の下位４ビット（発射モータφ１〜φ４）については、ステップＳ７５０で実行されているので、出力処理においては、出力ポート０の下位４ビットについての出力を行わない。出力ポート０バッファ、出力ポート１バッファおよび出力ポート２バッファは、払出モータ制御処理（ステップＳ７５３）、プリペイドカード制御処理（ステップＳ７５４）、主制御通信処理（ステップＳ７５５）、情報出力処理（ステップＳ７５８）および表示制御処理（ステップＳ７５９）で更新される。
【０３５３】
図６０は、ステップＳ７５３の払出モータ制御処理を示すフローチャートである。払出モータ制御処理において、払出制御用マイクロコンピュータ３７０は、払出モータ制御コードの値に応じて、ステップＳ５２１〜Ｓ５２６のいずれかの処理を実行する。
【０３５４】
払出モータ制御コードの値が０の場合に実行される払出モータ通常処理（ステップＳ５２１）では、払出制御用マイクロコンピュータ３７０は、ポインタを、ＲＯＭに格納されているテーブルの先頭アドレスにセットする。払出モータ通常処理設定テーブルには、球払出時の払出モータ２８９を回転させるための各ステップの励磁パターン（払出モータφ１〜φ４）のデータが順次設定されている払出モータ励磁パターンテーブルが格納されている。
【０３５５】
払出モータ制御コードの値が１の場合に実行される払出モータ起動準備処理（ステップＳ５２２）では、払出制御用マイクロコンピュータ３７０は、出力ポート０の出力状態に対応した出力ポート０バッファのビット４〜７に励磁パターンの初期値を設定する等の処理を行う。
【０３５６】
払出モータ制御コードの値が２の場合に実行される払出モータスローアップ処理（ステップＳ５２３）では、払出制御用マイクロコンピュータ３７０は、払出モータ２８９を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート０の出力状態に対応した出力ポート０バッファのビット４〜７に設定する。読み出しに際して、ポインタが指すアドレスの払出モータ励磁パターンテーブルの内容を読み出すとともに、ポインタの値を＋１する。
【０３５７】
払出モータ制御コードの値が３の場合に実行される払出モータ定速処理（ステップＳ５２４）では、払出制御用マイクロコンピュータ３７０は、定期的に払出モータ励磁パターンテーブルの内容を読み出して出力ポート０の出力状態に対応した出力ポート０バッファのビット４〜７に設定する。
【０３５８】
払出モータ制御コードの値が４の場合に実行される払出モータブレーキ処理（ステップＳ５２５）では、払出制御用マイクロコンピュータ３７０は、払出モータ２８９を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート０の出力状態に対応した出力ポート０バッファのビット４〜７に設定する。
【０３５９】
払出モータ制御コードの値が５の場合に実行される球噛み時払出モータブレーキ処理（ステップＳ５２６）では、払出制御用マイクロコンピュータ３７０は、球噛みを解除するための回転の場合に、払出モータ２８９を滑らかに停止させるために、球噛みを解除するための払出モータ２８９の回転の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート０の出力状態に対応した出力ポート０バッファのビット４〜７に設定する。
【０３６０】
図６１は、ステップＳ７５５の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用マイクロコンピュータ３７０は、電源確認信号がオン状態であれば（ステップＳ５１）、主制御通信制御コードの値に応じて、ステップＳ５３１〜Ｓ５３５のいずれかの処理を実行する。
【０３６１】
電源確認信号がオフ状態であれば、払出個数信号が１Ｆ（Ｈ）を示している場合には、エラーフラグにおける払出動作中信号エラービットをセットし（ステップＳ５２，Ｓ５３）、接続確認信号をオフ状態にする。払出個数信号が１Ｅ（Ｈ）を示している場合には、エラーフラグにおける受信確認信号エラービットをセットし（ステップＳ５４，Ｓ５５）、接続確認信号をオフ状態にする（ステップＳ５８）。払出個数信号が１Ｆ（Ｈ）または１Ｅ（Ｈ）を示していない場合には、賞球払出動作中であれば（ステップＳ５６）、エラーフラグにおける払出動作中信号エラービットをセットし（ステップＳ５７）、接続確認信号をオフ状態にする（ステップＳ５８）。なお、賞球払出動作中であるか否かは、ＲＡＭに形成されている賞球動作中フラグがセットされているか否かによって判定される。また、ステップＳ５８で接続確認信号をオフ状態にする場合、ＲＡＭに形成されている出力ポート１バッファの接続確認信号出力ビット（ビット４：図３７参照）をリセットし、ステップＳ７６０の出力処理において、出力ポート１バッファの内容がポート１に出力されることによって、実際に接続確認信号がオフ状態になる。
【０３６２】
また、ステップＳ５２，Ｓ５３の処理は、遊技制御用マイクロコンピュータ５６０が実行するステップＳ２８７の処理（賞球異常出力値として１Ｆ（Ｈ）を使用する場合）に対応する。ステップＳ５４，Ｓ５５の処理は、遊技制御用マイクロコンピュータ５６０が実行するステップＳ２６８，Ｓ２７７の処理（賞球異常出力値として１Ｅ（Ｈ）を使用する場合）に対応する。ステップＳ５６，Ｓ５７の処理は、遊技制御用マイクロコンピュータ５６０が実行するステップＳ２９６の処理に対応する。なお、この実施の形態では、ステップＳ５３，Ｓ５７において、ともに、払出動作中信号エラービットをセットしているが、払出制御用マイクロコンピュータ３７０は、遊技制御用マイクロコンピュータ５６０が払出動作中信号がオンしなかったことを検出したときに通信エラーと判定したのか（ステップＳ２８７の場合）、払出動作中信号がオフしなかったことを検出したときに通信エラーと判定したのか（ステップＳ２９６の場合）を区別できるので、ステップＳ５３とステップＳ５７とで、セットするエラービットを変えるようにしてもよい。
【０３６３】
図６２は、主制御通信制御コードの値が０の場合に実行される待機処理（ステップＳ５３１）を示すフローチャートである。待機処理において、払出制御用マイクロコンピュータ３７０は、エラービットがオンしている場合には、以降の処理を実行せずに処理を終了する（ステップＳ５４１）。ステップＳ５４１では、エラーフラグ中のビットのうち１つでもセットされていたら、エラービットがセットされていると判断する。
【０３６４】
また、払出制御用マイクロコンピュータ３７０は、ＢＲＤＹ信号がオン状態であれば、以降の処理を実行せずに処理を終了する（ステップＳ５４２）。ＢＲＤＹ信号がオン状態であるということは、カードユニット５０から球貸し要求が発生していることまたは球貸し処理中を意味する。すなわち、球貸し要求が発生しているときまたは球貸し処理中であるときには、主基板３１の遊技制御用マイクロコンピュータ５６０との通信（賞球払出に関する通信）が進行しない。
【０３６５】
ステップＳ５４１〜Ｓ５４２の条件が成立せず、電源確認信号がオン状態である場合には、払出制御用マイクロコンピュータ３７０は、払出ＲＥＱ信号がオン状態になっているか否か確認する（ステップＳ５４３，Ｓ５４４）。オン状態になっている場合には、払出個数信号が示す賞球数を、一時記憶するためのＲＡＭ領域である賞球未払出個数バッファにセットし（ステップＳ５４５）、受信確認信号をオン状態にするための処理を行う（ステップＳ５４６）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける受信確認信号に対応したビットをオン状態に設定する。また、払出ＲＥＱ信号がオフ状態になることを監視するための所定時間（一例として１００ｍｓ）に相当する値を主制御通信制御タイマにセットする（ステップＳ５４７）。そして、主制御通信制御コードの値を１にして（ステップＳ５４８）、処理を終了する。
【０３６６】
なお、払出制御用マイクロコンピュータ３７０は、ステップＳ５４５において、払出個数信号が賞球数として０個を示していたら、ステップＳ５４６の処理を実行しない。遊技制御用マイクロコンピュータ５６０は、払出ＲＥＱ信号をオン状態にした場合に賞球数として０個を示す払出個数信号を送信することはなく、また、賞球払出待機中において払出個数信号が０個を示す状態（無効コマンドを出力する状態）にしているので、払出ＲＥＱ信号がオン状態であって払出個数信号が０個を示す状態になっているということは、ノイズ等で基板間で払出ＲＥＱ信号がオン状態になってしまったと考えられる。従って、そのような状況では、払出制御用マイクロコンピュータ３７０は、ステップＳ５４６の処理を実行しないことによって、受信確認信号をオン状態にしないことが好ましい。
【０３６７】
図６３は、主制御通信制御コードの値が１の場合に実行される払出ＲＥＱ信号オフ待ち処理（ステップＳ５３２）を示すフローチャートである。払出ＲＥＱ信号オフ待ち処理において、払出制御用マイクロコンピュータ３７０は、払出ＲＥＱ信号がオフ状態であれば（ステップＳ５５１）、払出個数信号が示す賞球数を一時記憶するためのＲＡＭ領域である賞球未払出個数バッファの内容を、賞球未払出個数カウンタにセットする（ステップＳ５５２）。また、受信確認信号をオフ状態にするための処理を行う（ステップＳ５５３）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける受信確認信号に対応したビットをオフ状態に設定する。そして、主制御通信制御コードの値を２にして（ステップＳ５５４）、処理を終了する。なお、ステップＳ５５３の処理が実行されたことに応じて、後述する払出動作開始待ち処理（図６８参照）において賞球払出処理が開始される。
【０３６８】
払出ＲＥＱ信号がオフ状態でなければ、払出制御用マイクロコンピュータ３７０は、主制御通信制御タイマの値を１減算する（ステップＳ５５５）。主制御通信制御タイマの値が０になっていなければ処理を終了する（ステップＳ５５６）。主制御通信制御タイマの値が０になった場合には、受信確認信号を送信（オン状態にすること）してから所定時間が経過しても払出ＲＥＱ信号がオフせず通信エラーが発生したと判断する。そして、受信確認信号および接続確認信号をオフ状態にするための処理を行う（ステップＳ５５７）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける受信確認信号および接続確認信号に対応したビットをオフ状態に設定する。また、エラーフラグのビット４（払出ＲＥＱ信号エラービット）をセットする（ステップＳ５５８）。そして、主制御通信制御コードの値を０にして（ステップＳ５５９）、処理を終了する。
【０３６９】
図６４は、主制御通信制御コードの値が２の場合に実行される払出動作開始待ち処理（ステップＳ５３３）を示すフローチャートである。払出動作開始待ち処理において、払出制御用マイクロコンピュータ３７０は、賞球払出処理中であることを示す賞球動作中フラグがオン状態（１：セット状態）になった場合には、（ステップＳ５６１）、払出動作中信号をオン状態にするための処理を行う（ステップＳ５６２）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける払出動作中信号に対応したビットをオン状態に設定する。そして、主制御通信制御コードの値を３にして（ステップＳ５６３）、処理を終了する。
【０３７０】
図６５は、主制御通信制御コードの値が３の場合に実行される払出動作中処理（ステップＳ５３４）を示すフローチャートである。払出動作中処理において、払出制御用マイクロコンピュータ３７０は、賞球動作中フラグがオフ状態（０：リセット状態）になった場合には（ステップＳ５７１）、払出個数信号で指定された個数の賞球払出処理が完了したとして、払出動作中信号をオフ状態にするための処理を行う（ステップＳ５７２）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける払出動作中信号に対応したビットをオフ状態に設定する。また、払出個数信号がオフ状態（５ビット全て０）になることを監視するための所定時間（一例として１００ｍｓ）に相当する値を主制御通信制御タイマにセットする（ステップＳ５７３）。そして、主制御通信制御コードの値を４にして（ステップＳ５７４）、処理を終了する。
【０３７１】
図６６は、主制御通信制御コードの値が４の場合に実行される払出個数信号オフ待ち処理（ステップＳ５３５）を示すフローチャートである。払出個数信号オフ待ち処理において、払出制御用マイクロコンピュータ３７０は、払出個数信号がオフ状態になっていたら（ステップＳ５８１）、主制御通信制御コードの値を待機状態に対応する０にして（ステップＳ５８２）、処理を終了する。この時点で、１回の賞球払出に関わる遊技制御用マイクロコンピュータ５６０と払出制御用マイクロコンピュータ３７０との間の通信が正常に終了したことになる。
【０３７２】
払出個数信号がオフ状態になっていない場合には、払出制御用マイクロコンピュータ３７０は、主制御通信制御タイマの値を１減算する（ステップＳ５８３）。主制御通信制御タイマの値が０になっていなければ処理を終了する（ステップＳ５８４）。主制御通信制御タイマの値が０になった場合には、払出動作中信号の送信を停止（オフ状態にすること）してから所定時間が経過しても払出個数信号がオフ状態にならず通信エラーが発生したと判断する。そして、接続確認信号をオフ状態にするための処理を行う（ステップＳ５８５）。具体的には、出力ポート１の出力状態に対応した出力ポート１バッファにおける接続確認信号に対応したビットをオフ状態に設定する。また、エラーフラグのビット５（払出個数信号エラービット）をセットする（ステップＳ５８６）。そして、主制御通信制御コードの値を０にして（ステップＳ５８２）、処理を終了する。
【０３７３】
図６７は、ステップＳ７５６の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用マイクロコンピュータ３７０は、払出個数カウントスイッチ３０１の検出信号がオン状態になったことを確認したら（ステップＳ６０１）、球貸し中であれば球貸し未払出個数カウンタの値を１減らし（ステップＳ６０２，Ｓ６０４）、球貸し中でなければ賞球未払出個数カウンタの値を１減らす（ステップＳ６０２，Ｓ６０３）。その後、払出制御コードの値に応じてステップＳ６１０〜Ｓ６１２のいずれかの処理を実行する。
【０３７４】
図６８は、払出制御コードが０の場合に実行される払出開始待ち処理（ステップＳ６１０）を示すフローチャートである。払出開始待ち処理において、払出制御用マイクロコンピュータ３７０は、エラービットがセットされていたら、以降の処理を実行しない（ステップＳ６２１）。エラーフラグにおけるエラービットには、主制御未接続エラーのビットが含まれている。また、主制御未接続エラーは、主基板３１からの電源確認信号が賞球払出中でないときにオフ状態になるとセットされる。従って、払出制御用マイクロコンピュータ３７０は、遊技機に対して電力供給が開始された後、電源確認信号がオン状態になったことを条件に、実質的な制御を開始する。
【０３７５】
また、ＢＲＤＹ信号がオン状態でなければ、ステップＳ６３１以降の賞球払出のための処理を実行する。ＢＲＤＹ信号がオン状態であって、さらに、球貸し要求信号であるＢＲＱ信号がオン状態になっていたら球貸し動作中フラグをセットする（ステップＳ６２３，Ｓ６２４）。そして、球貸し未払出個数カウンタに「２５」をセットし（ステップＳ６２５）、払出モータ回転回数バッファに「２５」をセットする（ステップＳ６２６）。
【０３７６】
払出モータ回転回数バッファは、払出モータ制御処理（ステップＳ７６８）において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ２８９を回転させる制御が実行される。
【０３７７】
その後、払出制御用マイクロコンピュータ３７０は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理（ステップＳ５２２）に応じた値（具体的は「１」）をセットし（ステップＳ６２７）、払出制御コードの値を１にして（ステップＳ６２８）、処理を終了する。
【０３７８】
ステップＳ６３１では、払出制御用マイクロコンピュータ３７０は、賞球未払出個数カウンタの値が０であるか否かを確認する。賞球未払出個数カウンタの値が０であれば処理を終了する。賞球未払出個数カウンタには、主制御通信処理の払出ＲＥＱ信号オフ待ち処理におけるステップＳ５５２において、すなわち、主基板３１の遊技制御用マイクロコンピュータ５６０からの払出ＲＥＱ信号がオフ状態になったときに、０でない値（払出個数信号が示す数）がセットされている。賞球未払出個数カウンタの値が０でない場合には、払出モータ回転回数バッファに賞球未払出個数カウンタの値をセットする（ステップＳ６３３）。そして、賞球動作中フラグをセットし（ステップＳ６３５）、ステップＳ６２７に移行する。
【０３７９】
図６９は、払出制御コードが１の場合に実行される払出モータ停止待ち処理（ステップＳ６１１）を示すフローチャートである。払出モータ停止待ち処理において、払出制御用マイクロコンピュータ３７０は、払出動作が終了したか否か確認する（ステップＳ６４１）。払出制御用マイクロコンピュータ３７０は、例えば、払出モータ制御処理における払出モータブレーキ処理（ステップＳ５２５）が終了するときにその旨のフラグをセットし、ステップＳ６４１においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
【０３８０】
払出動作が終了した場合には、払出制御用マイクロコンピュータ３７０は、払出制御監視タイマに払出通過監視時間をセットする（ステップＳ６４２）。払出通過監視時間は、最後の払出球が払出モータ２８９によって払い出されてから払出個数カウントスイッチ３０１を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を２にして（ステップＳ６４３）、処理を終了する。
【０３８１】
図７０〜図７２は、払出制御コードの値が２の場合に実行される払出通過待ち処理（ステップＳ６１２）を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が０になっていれば正常に払出が完了したと判定される。賞球未払出個数カウンタの値が０になっていない場合には、エラー状態でなければ、払出不足分の遊技球（賞球未払出個数カウンタの値が示す個数の遊技球）の再払出動作を、２回を上限として試みる。再払出動作において払出個数カウントスイッチ３０１によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。なお、この実施の形態では、払出ＲＥＱ信号を受信したときに賞球未払出個数カウンタにセットされた個数の遊技球が払い出されるように払出モータ２８９を回転させたのであるから、賞球未払出個数カウンタの値が０になっていない場合には、正常に払出が完了していないことになる。
【０３８２】
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が０になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が０になっていない場合には、エラー状態でなければ、球貸し残数（球貸し未払出個数カウンタの値に相当）の再払出動作を試みる。なお、この実施の形態では、１回の球貸し払出動作で払い出される遊技球数は２５個（固定値）であり、２５個の遊技球が払い出されるように払出モータ２８９を回転させたのであるから、球貸し未払出個数カウンタの値が０になっていない場合には、正常に払出が完了していないことになる。
【０３８３】
払出通過待ち処理において、払出制御用マイクロコンピュータ３７０は、まず、払出制御タイマの値を確認し、その値が０になっていればステップＳ６５３に移行する（ステップＳ６５０）。払出制御タイマの値が０でなければ、払出制御タイマの値を−１する（ステップＳ６５１）。そして、払出制御タイマの値が０になっていなければ（ステップＳ６５２）、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。なお、ステップＳ６５０の処理は、後述する遊技球払出のリトライ動作が開始されたときのことを考慮した処理である。後述するステップＳ８０７の処理が実行された場合には、ステップＳ６５０からＳ６５３に移行するルートを経てリトライ動作が開始される。
【０３８４】
払出制御タイマがタイムアウトしていれば（ステップＳ６５２）、球貸し払出処理（球貸し動作）を実行していたか否か確認する（ステップＳ６５３）。球貸し動作を実行していたか否かは、ＲＡＭに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理（賞球動作）を実行していた場合には、払出制御用マイクロコンピュータ３７０は、賞球未払出個数カウンタの値を確認する（ステップＳ６５４）。賞球未払出個数カウンタの値が０になっている場合には、正常に賞球払出処理が完了したとして、払出制御状態フラグにおける再払出動作中１ビット、再払出動作中２ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし（ステップＳ６５５）、払出制御コードを０にして（ステップＳ６５６）、処理を終了する。
【０３８５】
「払出制御状態フラグ」は、初回の再払出動作の実行中であるか否かを示す再払出動作中１ビットと、２回目の再払出動作の実行中であるか否かを示す再払出動作中２ビットと、賞球の払出動作を実行しているか否かを示す賞球動作中フラグと、球貸し動作を実行しているか否かを示す球貸し動作中ビットとを含む複数ビット構成のフラグである。
【０３８６】
払出制御用マイクロコンピュータ３７０は、賞球未払出個数カウンタの値が０になっていない場合には、通信に関わらないエラーについてのエラーフラグ（ここでは、払出スイッチ異常検知エラー１ビット、払出スイッチ異常検知エラー２ビットおよび払出ケースエラービットのうちのいずれか１ビットまたは複数ビット）がセットされていないことを条件として（ステップＳ６５９）、再払出動作を実行する。なお、払出スイッチ異常検知エラー１ビット、払出スイッチ異常検知エラー２ビットおよび払出ケースエラービットのうちのいずれか１ビットまたは複数ビットがセットされている場合には、再払出動作を実行しない。
【０３８７】
再払出処理（再払出動作を行わせるための制御）を実行するために、払出制御用マイクロコンピュータ３７０は、まず、再払出動作中２ビットがセットされているか否か確認する（ステップＳ６６２）。セットされていなければ、再払出動作中１ビットがセットされているか否か確認する（ステップＳ６６３）。再払出動作中１ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作中１ビットをセットし（ステップＳ６６５）、払出モータ回転回数バッファに賞球未払出個数カウンタまたは球貸し未払出個数カウンタの値をセットする（ステップＳ６６６）。払出モータ回転回数バッファは、払出モータ制御処理（ステップＳ７６８）において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ２８９を回転させる制御が実行される。なお、ステップＳ６６６において、球貸し未払出個数カウンタの値も取り扱われるのは、球貸し払出処理における再払出処理でもステップＳ６６６が用いられるからである。払出制御用マイクロコンピュータ３７０は、ステップＳ６６６において、賞球払出処理における再払出処理では賞球未払出個数カウンタの値をセットし、球貸し払出処理における再払出処理では球貸し未払出個数カウンタの値をセットする。その後、払出制御コードを１にして（ステップＳ６６７）、処理を終了する。
【０３８８】
ステップＳ６６３において、再払出動作中１ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ３７０は、２回目の再払出を実行するために、再払出動作中１ビットをリセットし（ステップＳ６６９）、再払出動作中２ビットをセットする（ステップＳ６７０）。そして、ステップＳ６６６に移行する。
【０３８９】
ステップＳ６６２において、再払出動作中２ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ３７０は、２回の再払出処理を実行しても払出不足分の遊技球が払い出されなかったとして、エラーフラグにおける払出ケースエラービットをセットする（ステップＳ６７２）。その際に、再払出動作中２ビットをリセットしておく（ステップＳ６７１）。そして、処理を終了する。
【０３９０】
以上のように、再払出処理（補正払出処理）において所定回（この例では２回）の再払出動作を行っても遊技球の払出不足が解消されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット（払出ケースエラービット）がセットされる。
【０３９１】
従って、この実施の形態では、払出制御手段における景品遊技媒体払出制御手段は、払出検出手段としての払出個数カウントスイッチ３０１からの検出信号にもとづいて、景品遊技媒体の払い出しが完了しなかったことを検出したときに、あらかじめ決められた所定回（この例では２回）を限度として、払出手段に不足分の景品遊技媒体の払い出しを行わせるように制御を行う。なお、この実施の形態では、景品遊技媒体を払い出すためのリトライ動作を２回行っても景品遊技媒体の払い出しが行われなかった場合には、払出ケースエラービットをセットしてエラー発生中状態になるが（ステップＳ６７２）、景品遊技媒体の払い出しが完了しなかったことを初めて検知したときに払出ケースエラービットをセットしてもよい。なお、「リトライ動作（あるいは「リトライ」、「リトライ動作処理」）」とは、所定数の遊技球の払い出しを行うための通常の払出処理を実行したのにもかかわらず、実際の払い出し数が少ない場合に実行させる動作であって、通常の払出処理とは別に、未払出の遊技球を払い出すために払出処理を再度実行させるための動作（すなわち再払出動作）を意味する。
【０３９２】
賞球球貸し制御処理において、払出動作（１回の賞球払出または１回の球貸し）を行うか否か判定するためにエラービットがチェックされるのは、図６８に示された払出開始待ち処理においてのみである。図６９に示された払出モータ停止待ち処理および図７０等に示された払出通過待ち処理では、エラービットはチェックされない。なお、払出通過待ち処理におけるステップＳ６５８等でもエラービットがチェックされているが、そのチェックは再払出動作を行うか否かを判断するためであって、払出動作（１回の賞球払出または１回の球貸し）を開始するか否か判定するためではない。従って、ステップＳ６２６またはＳ６３３の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点（１回の賞球払出または１回の球貸しが終了した時点）まで継続される。なお、ステップＳ６２１でチェックされるエラーフラグにおけるエラービットの中には、主基板３１からの電源確認信号がオフ状態になったことを示すエラービットが含まれている。よって、電源確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。また、１回の賞球払出または１回の球貸しとは、賞球未払出個数カウンタまたは球貸し未払出個数カウンタに０でない値がセットされてから賞球未払出個数カウンタまたは球貸し未払出個数カウンタの値が０になるまでの遊技球払出処理を意味する。
【０３９３】
電源確認信号がオフ状態になったとき、特許文献１に記載の遊技機と同様に、払い出しを中断し、エラー状態から回復したときに払い出しを再開する構成にすると、データ（未払出分の遊技媒体の個数情報）の管理が複雑になってしまうが、本発明では、予定数の景品遊技媒体の払い出しが完了して、切りのよい時点で払出処理を停止する。従って、そのようなデータを管理する必要がなく、制御を簡易化することができる。
【０３９４】
ステップＳ６５３で球貸し払出処理（球貸し動作）を実行していたことを確認すると、払出制御用マイクロコンピュータ３７０は、球貸し未払出個数カウンタの値が０になっているか否か確認する（ステップＳ６５７）。０になっていれば、正常に球貸し払出処理が完了したとしてステップＳ６５５に移行する。
【０３９５】
球貸し未払出個数カウンタの値が０になっていなければ、エラーフラグ（具体的には、払出スイッチ異常検知エラー１ビット、払出スイッチ異常検知エラー２ビットおよび払出ケースエラービットのうちのいずれか１ビットまたは複数ビット）がセットされていないことを条件として（ステップＳ６５８）、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
【０３９６】
再払出処理を実行するために、払出制御用マイクロコンピュータ３７０は、まず、再払出動作中２ビットがセットされているか否か確認する（ステップＳ６７６）。セットされていなければ、再払出動作中１ビットがセットされているか否か確認する（ステップＳ６７７）。再払出動作中１ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作中１ビットをセットし（ステップＳ６７９）、ステップＳ６６６に移行する。
【０３９７】
ステップＳ６７７において、再払出動作中１ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ３７０は、再払出動作を再度実行するための処理を行う。具体的には、再払出動作中１ビットをリセットする（ステップＳ６８１）。そして、再払出動作中２ビットをセットし（ステップＳ６８５）、ステップＳ６６６に移行する。
【０３９８】
ステップＳ６７６において、再払出動作中２ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ３７０は、再払出動作中２ビットをリセットし（ステップＳ６８６）、エラーフラグにおける払出ケースエラービットをセットする（ステップＳ６８８）。そして、処理を終了する。
【０３９９】
以上のように、球貸し処理に係る再払出処理（補正払出処理）において連続して２回の再払出動作を行っても遊技球の払出不足が解消されないが場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット（払出ケースエラービット）がセットされる。
【０４００】
以上に説明したように、遊技制御用マイクロコンピュータ５６０が、総賞球数格納バッファに記憶されている賞球の未払出総数が所定の異常判定数以上となったときに、未払出超過ＬＥＤ３６２を点灯させて異常の発生を報知するように構成されているので、未払出超過ＬＥＤ３６２による異常の発生の報知によって、払出制御用マイクロコンピュータ３７０との通信が不正基板に搭載されたマイクロコンピュータとの間で実行されていることを報知することができ、不正基板を容易に発見することができるようになる。
【０４０１】
この実施の形態では、入賞が発生したときに、主基板３１に搭載されている入賞報知ランプ３６３を所定期間点灯させる構成としているので、なりすまし基板が設置されている場合には入賞が発生しても入賞報知ランプ３６３が点灯しなくなるようにすることができ、なりすまし基板が設置されていることを容易に発見することができる。さらに、入賞報知ランプ３６３が点灯しなくならないように、入賞検出のスイッチ（例えば始動口スイッチ１４ａ）の検出信号がなりすまし基板だけでなく正規の主基板３１にも入力されるように配線された場合であっても、主基板３１と払出制御基板３７との通信が行われないため、主基板３１で管理されている総賞球数格納バッファに記憶されている賞球の未払出総数が減算されなくなり、総賞球数格納バッファに記憶されている賞球の未払出総数が所定の異常判定数以上となって、なりすまし基板が設置されていることを容易に発見することができるのである。なお、本発明においては、遊技進行による信号が主基板３１上で認識されることを本旨としているので、例えば、始動口スイッチ１４ａに限らず、他の入賞検出のスイッチ（ゲートスイッチ３２ａ、カウントスイッチ２３、Ｖ入賞スイッチ２２、全入賞検出スイッチ３４、入賞口スイッチ２９ａ，３０ａ，３３ａ，３９ａ等）の検出信号により入賞報知ランプ３６３を所定期間点灯させるようにしてもよい。
【０４０２】
なお、上述した第２の実施の形態では特に言及していないが、主基板３１に搭載されている未払出超過ＬＥＤ３６２は、開封不能な固着手段によって封止された基板ボックス（図２９参照）に収納されている。従って、不正基板からの信号によって未払出超過ＬＥＤ３６２が駆動されることを防止することができる。
【０４０３】
なお、上述した実施の形態では、タイマ割込設定を行うまでに乱数回路５０３の初期設定（乱数回路設定処理）を行うようにしていたが、上述した第２の実施の形態において、逆に、乱数回路５０３の初期設定（乱数回路設定処理）を行ったあとにタイマ割込の設定を行う（例えば図３２に示すステップＳ１５とステップＳ１６を逆の順番で行う）ようにしてもよい。そして、乱数回路設定処理において、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバにもとづく値を乱数の初期値として設定するようにしてもよい。このように構成すれば、遊技制御処理の実行中に乱数回路の設定が変更されることが無いようにすることができ、不正行為を防止することができる。
【０４０４】
実施の形態３．
第１の実施の形態では、ラッチ信号生成回路５３３に入力するクロック信号を反転させて、乱数を更新するタイミングと乱数値記憶回路５３１に乱数を記憶させるタイミングとをずらすようにしたが、ラッチ信号生成回路５３３に入力するクロック信号を遅延させるようにしてもよい。以下、ラッチ信号生成回路５３３に入力するクロック信号を遅延させる第３の実施の形態を説明する。
【０４０５】
なお、本実施の形態において、第１の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第１の実施の形態と異なる部分について説明する。
【０４０６】
図７３は、乱数回路５０３の他の構成例を示すブロック図である。なお、この実施の形態において、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとの基本的な構成は同じである。図７３に示すように、この実施の形態では、乱数回路５０３が、図６で示した反転回路５３２に代えて遅延回路５３２Ａを含む点で、第１の実施の形態と異なる。
【０４０７】
遅延回路５３２Ａは、クロック信号出力回路５２４から入力する乱数発生用クロック信号ＳＩ１を遅延させることによって、クロック信号を遅延させた遅延クロック信号ＳＩ４を生成する。また、遅延回路５３２Ａは、生成した遅延クロック信号ＳＩ４をラッチ信号生成回路５３３に出力する。従って、この実施の形態では、ラッチ信号生成回路５３３は、乱数発生用クロック信号ＳＩ１を遅延させた遅延クロック信号ＳＩ４に同期して、乱数値記憶回路５３１にラッチ信号を出力することになる。
【０４０８】
なお、遅延回路５３２Ａ以外の乱数回路５０３の各構成要素の基本的な機能は、第１の実施の形態で示したそれらの機能と同様である。
【０４０９】
以上に説明したように、この実施の形態では、乱数回路５０３の遅延回路５３２Ａが遅延クロック信号ＳＩ４を生成し、遅延クロック信号ＳＩ４に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路５３１に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
【０４１０】
なお、上述した各実施の形態では、主基板３１からの制御コマンドが演出制御基板８０に入力され、演出制御基板８０を介してランプドライバ基板３５及び音声出力基板７０に制御コマンドが入力される構成としていたが、他の基板構成であってもよい。例えば、演出制御基板８０、ランプドライバ基板３５及び音声出力基板７０が１枚の基板により構成するようにしてもよい。また、例えば、主基板３１からの制御コマンドがランプドライバ基板３５及び音声出力基板７０に入力され、ランプドライバ基板３５又は音声出力基板７０を介して制御コマンドが演出制御基板８０に入力される構成とされていてもよい。
【０４１１】
また、上述した各実施の形態では、主基板３１に「なりすました」不正回路基板を発見するものとして説明したが、払出制御基板３７に「なりすました」不正回路基板を発見するものに適用することも可能である。
【０４１２】
次に、上記に示した各実施の形態における遊技機の他の一例であるスロット機（スロットマシン）の全体の構成について説明する。図７４はスロット機を正面からみた正面図である。
【０４１３】
図７４に示すように、スロット機６００は、中央付近に遊技パネル６０１が着脱可能に取り付けられている。また、遊技パネル６０１の前面の中央付近には、複数種類の図柄が可変表示される可変表示装置６０２が設けられている。この実施の形態では、可変表示装置６０２には、「左」、「中」、「右」の３つの図柄表示エリアがあり、各図柄表示エリアに対応してそれぞれ図柄表示リール６０２ａ，６０２ｂ，６０２ｃが設けられている。
【０４１４】
遊技パネル６０１の下部には、遊技者が各種の操作を行うための各種入力スイッチ等が配される操作テーブル６２０が設けられている。操作テーブル６２０の奥側には、コインを１枚ずつＢＥＴする（かける）ためのＢＥＴスイッチ６２１、１ゲームでかけることのできる最高枚数（本例では３枚）ずつコインをＢＥＴするためのＭＡＸＢＥＴスイッチ６２２、精算スイッチ６２３、およびコイン投入口６２４が設けられている。コイン投入口６２４に投入されたコインは、図示しない投入コインセンサによって検知される。
【０４１５】
操作テーブル６２０の手前側には、スタートスイッチ６２５、左リールストップスイッチ６２６ａ、中リールストップスイッチ６２６ｂ、右リールストップスイッチ６２６ｃおよびコイン詰まり解消スイッチ６２７が設けられている。操作テーブル６２０の手前左右には、それぞれランプ６２８ａ，６２８ｂが設けられている。操作テーブル６２０の下部には、効果音等を出力するスピーカ６３０が設けられている。
【０４１６】
遊技パネル６０１の上部には、遊技者に遊技方法や遊技状態等を報知する画像表示装置（ＬＣＤ：液晶表示装置）６４０が設けられている。例えば、入賞発生時に、キャラクタが所定動作を行う画像を画像表示装置６４０に表示することで、後述する当選フラグが設定されていることを遊技者に報知する。また、画像表示装置６４０の左右には、効果音を発する２つのスピーカ６４１Ｌ，６４１Ｒが設けられている。
【０４１７】
なお、スロット機６００で発生する入賞役には、小役入賞と、リプレイ入賞と、ビッグボーナス入賞と、レギュラーボーナス入賞とがある。スロット機６００では、スタートスイッチ６２５を操作したタイミングで乱数が抽出され、上記いずれかの入賞役による入賞の発生を許容するか否かを決定する。入賞の発生が許容されていることを、「内部当選している」という。内部当選した場合、その旨を示す当選フラグがスロット機６００の内部で設定される。当選フラグが設定された状態でのゲームでは、その当選フラグに対応する入賞役を引き込むことが可能なようにリール６０２ａ〜６０２ｃが制御される。一方、当選フラグが設定されていない状態でのゲームでは、入賞が発生しないようにリール６０２ａ〜６０２ｃが制御される。
【０４１８】
なお、スロット機６００の遊技の進行を制御する遊技制御用マイクロコンピュータは、乱数を発生する乱数回路（１２ビット乱数回路および１６ビット乱数回路）を内蔵する。また、遊技制御用マイクロコンピュータは、スタートスイッチ６２５を操作したタイミングで、乱数回路が発生した乱数（ランダムＲ）を抽出する。例えば、スタートスイッチ６２５が押下されると、遊技制御用マイクロコンピュータ５６０は、スタートスイッチ６２５から検出信号ＳＳを入力する。また、乱数回路のタイマ回路５３４は、所定時間継続して検出信号ＳＳが入力されたことを検出すると、乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」を書き込み、ラッチ信号生成回路５３３がラッチ信号ＳＬを乱数値記憶回路５３１に出力する。ラッチ信号ＳＬを入力すると、乱数値記憶回路５３１は、カウンタ５２１が更新したカウント値を読み込んで記憶する。また、遊技制御用マイクロコンピュータ５６０は、所定回数（例えば、３回）継続して検出信号ＳＳが入力されたことを検出すると、出力制御用信号ＳＣを乱数回路の乱数値記憶回路に出力し、乱数回路から乱数値（ランダムＲ）を抽出する。そして、遊技制御用マイクロコンピュータは、抽出したランダムＲにもとづいて入賞の発生を許容するか否かを決定する。
【０４１９】
次に、スロット機により提供されるゲームの概要について説明する。
例えば、コイン投入口６２４からコインが投入されＢＥＴスイッチ６２１又はＭＡＸＢＥＴスイッチ６２２が押下される等してかけ数が設定されると、スタートスイッチ６２５の操作が有効となる。そして、遊技者によってスタートスイッチ６２５が操作されると、可変表示装置６０２に設けられている各図柄表示リール６０２ａ〜６０２ｃが回転を始める。また、スタートスイッチ６２５を操作したタイミングで、レギュラーボーナス入賞又はビッグボーナス入賞が内部当選した場合には、例えば、画像表示装置６４０に所定のキャラクタが所定の動作を行っている画面を表示する等して、内部当選した旨が遊技者等に報知される。
【０４２０】
各図柄表示リール６０２ａ〜６０２ｃが回転を始めてから所定時間が経過すると、各リールストップスイッチ６２６ａ〜６２６ｃの操作が有効となる。この状態で、遊技者が各リールストップスイッチ６２６ａ〜６２６ｃのいずれかを押下すれば、操作されたストップスイッチに対応するリールの回転が停止する。なお、各図柄表示リール６０２ａ〜６０２ｃを停止させずに、所定期間以上放置した場合には、各図柄表示リール６０２ａ〜６０２ｃが自動的に停止する。
【０４２１】
すべての図柄表示リール６０２ａ〜６０２ｃが停止した時点で、可変表示装置６０２に表示されている各図柄表示リール６０２ａ〜６０２ｃの上段、中段、下段の３段の図柄中、かけ数に応じて定められる有効な入賞ライン上に位置する図柄の組合せによって入賞したか否かが定められる。かけ数が１の場合には、可変表示装置６０２における中段の横１列の入賞ラインのみが有効となる。かけ数が２の場合には、可変表示装置６０２における上段、中段、下段の横３列の入賞ラインが有効となる。かけ数が３の場合には、可変表示装置６０２における横３列と斜め対角線上２列の合計５本の入賞ラインが有効ラインとなる。
【０４２２】
有効ライン上の図柄の組合せが、予め定められた特定の表示態様となって入賞が発生した場合には、音、光、画像表示装置６４０の表示等によって所定の遊技演出がなされ、入賞の発生に応じたゲームが開始される。
【０４２３】
スロット機６００では、スロット機６００に搭載されている演出制御手段が、スロット機６００に設けられている画像表示装置６４０の表示制御を行う。画像表示装置６４０には、演出制御手段の制御によって、飾り図柄の変動表示や、遊技状態や遊技方法を報知するための表示等の様々な情報が表示される。そのような、飾り図柄の変動表示や、遊技状態や遊技方法を報知するための表示等の様々な情報の表示をムービー画像により行い、そのムービー画像の表示制御を画像処理装置６４０によって行うようにすればよい。
【産業上の利用可能性】
【０４２４】
本発明は、パチンコ遊技機およびスロット機などの遊技機に適用可能であり、特に、乱数回路を内蔵する遊技制御用マイクロコンピュータを備えた遊技機に好適に適用できる。
【図面の簡単な説明】
【０４２５】
【図１】パチンコ遊技機を正面からみた正面図である。
【図２】ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図３】遊技機を裏面から見た背面図である。
【図４】遊技制御基板（主基板）の構成例を示すブロック図である。
【図５】主基板における回路構成および主基板から演出制御基板に送信される演出制御コマンドの信号線を示すブロック図である。
【図６】乱数回路の構成例を示すブロック図である。
【図７】更新規則選択レジスタの例を示す説明図である。
【図８】更新規則メモリの例を示す説明図である。
【図９】カウント値順列変更回路が、カウンタが出力するカウント値の順列を変更する場合の例を示す説明図である。
【図１０】カウント値順列変更レジスタの例を示す説明図である。
【図１１】乱数最大値設定レジスタの例を示す説明図である。
【図１２】周期設定レジスタの例を示す説明図である。
【図１３】カウント値更新レジスタの例を示す説明図である。
【図１４】乱数値取込レジスタの例を示す説明図である。
【図１５】乱数更新方式選択レジスタ、および乱数更新方式選択レジスタに書き込まれる乱数更新方式選択データの一例の説明図である。
【図１６】乱数回路起動レジスタの例を示す説明図である。
【図１７】乱数値記憶回路の一構成例を示す回路図である。
【図１８】乱数値記憶回路に各信号が入力されるタイミング、および乱数値記憶回路が各信号を出力するタイミングを示すタイミングチャートである。
【図１９】遊技制御用マイクロコンピュータにおける記憶領域のアドレスマップの一例を示す説明図である。
【図２０】ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。
【図２１】初期値変更方式設定データの一例を示す説明図である。
【図２２】ユーザプログラムの構成例を示す説明図である。
【図２３】乱数回路設定プログラムの構成例を示す説明図である。
【図２４】第１の乱数更新方式が選択されている場合に、ランダムＲの値を更新させたりランダムＲの値を読出したりする動作を示す説明図である。
【図２５】第２の乱数更新方式が選択されている場合に、ランダムＲの値の更新させたりランダムＲの値を読出したりする動作を示す説明図である。
【図２６】遊技制御用マイクロコンピュータが備える各メモリを示す説明図である。
【図２７】大当り判定用テーブルメモリの例を示す説明図である。
【図２８】なりすまし基板が遊技機に設置された状態の例を示すブロック図である。
【図２９】遊技制御基板ボックスを簡略化して示す正面図である。
【図３０】中断ボタンの搭載状態の例を示す説明図である。
【図３１】遊技制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図３２】遊技制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図３３】乱数回路設定処理を示すフローチャートである。
【図３４】乱数最大値再設定処理を示すフローチャートである。
【図３５】初期値変更処理を示すフローチャートである。
【図３６】乱数回路に各信号が入力されるタイミング、および乱数回路内で各信号が生成されるタイミングを示すタイミングチャートである。
【図３７】タイマ割込処理を示すフローチャートである。
【図３８】初期値更新処理を示すフローチャートである。
【図３９】カウント値順列変更処理を示すフローチャートである。
【図４０】特別図柄プロセス処理の一例を示すフローチャートである。
【図４１】始動口スイッチ通過処理を示すフローチャートである。
【図４２】特別図柄通常処理の一例を示すフローチャートである。
【図４３】遊技制御基板（主基板）の構成例を示すブロック図である。
【図４４】払出制御信号の内容の一例を示す説明図である。
【図４５】払出制御信号の送受信に用いられる信号線等を示すブロック図である。
【図４６】払出制御信号の出力の仕方の一例を示すタイミング図である。
【図４７】賞球処理を示すフローチャートである。
【図４８】賞球個数テーブルの構成例を示す説明図である。
【図４９】賞球個数加算処理を示すフローチャートである。
【図５０】賞球制御処理を示すフローチャートである。
【図５１】待機処理を示すフローチャートである。
【図５２】払出個数信号送信処理を示すフローチャートである。
【図５３】受信確認信号オン待ち処理を示すフローチャートである。
【図５４】受信確認信号オフ待ち処理を示すフローチャートである。
【図５５】払出動作中信号オン待ち処理を示すフローチャートである。
【図５６】払出動作中信号オフ待ち処理を示すフローチャートである。
【図５７】払出制御信号の出力の仕方の一例を示すタイミング図である。
【図５８】払出制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図５９】払出制御用マイクロコンピュータが実行するタイマ割込処理を示すフローチャートである。
【図６０】払出モータ制御処理を示すフローチャートである。
【図６１】主制御通信処理を示すフローチャートである。
【図６２】待機処理を示すフローチャートである。
【図６３】払出ＲＥＱ信号オフ待ち処理を示すフローチャートである。
【図６４】払出動作開始待ち処理を示すフローチャートである。
【図６５】払出動作中処理を示すフローチャートである。
【図６６】払出個数信号オフ待ち処理を示すフローチャートである。
【図６７】賞球球貸し制御処理を示すフローチャートである。
【図６８】払出開始待ち処理を示すフローチャートである。
【図６９】払出モータ停止待ち処理を示すフローチャートである。
【図７０】払出通過待ち処理を示すフローチャートである。
【図７１】払出通過待ち処理を示すフローチャートである。
【図７２】払出通過待ち処理を示すフローチャートである。
【図７３】乱数回路の他の構成例を示すブロック図である。
【図７４】スロット機を正面からみた正面図である。
【符号の説明】
【０４２６】
１        パチンコ遊技機
３１      遊技制御基板（主基板）
５６      ＣＰＵ
５０３ａ  １２ビット乱数回路
５０３ｂ  １６ビット乱数回路
５２１    カウンタ
５２２    比較器
５２３    カウンタ値順列変更回路
５２８    セレクタ
５３１    乱数値記憶回路
５３２    反転回路
５３２Ａ  遅延回路
５３３    ラッチ信号生成回路
５６０    遊技制御用マイクロコンピュータ
９１０    電源基板
【図１】
0004818677.tif 000002
【図２】
0004818677.tif 000003
【図３】
0004818677.tif 000004
【図４】
0004818677.tif 000005
【図５】
0004818677.tif 000006
【図６】
0004818677.tif 000007
【図７】
0004818677.tif 000008
【図８】
0004818677.tif 000009
【図９】
0004818677.tif 000010
【図１０】
0004818677.tif 000011
【図１１】
0004818677.tif 000012
【図１２】
0004818677.tif 000013
【図１３】
0004818677.tif 000014
【図１４】
0004818677.tif 000015
【図１５】
0004818677.tif 000016
【図１６】
0004818677.tif 000017
【図１７】
0004818677.tif 000018
【図１８】
0004818677.tif 000019
【図１９】
0004818677.tif 000020
【図２０】
0004818677.tif 000021
【図２１】
0004818677.tif 000022
【図２２】
0004818677.tif 000023
【図２３】
0004818677.tif 000024
【図２４】
0004818677.tif 000025
【図２５】
0004818677.tif 000026
【図２６】
0004818677.tif 000027
【図２７】
0004818677.tif 000028
【図２８】
0004818677.tif 000029
【図２９】
0004818677.tif 000030
【図３０】
0004818677.tif 000031
【図３１】
0004818677.tif 000032
【図３２】
0004818677.tif 000033
【図３３】
0004818677.tif 000034
【図３４】
0004818677.tif 000035
【図３５】
0004818677.tif 000036
【図３６】
0004818677.tif 000037
【図３７】
0004818677.tif 000038
【図３８】
0004818677.tif 000039
【図３９】
0004818677.tif 000040
【図４０】
0004818677.tif 000041
【図４１】
0004818677.tif 000042
【図４２】
0004818677.tif 000043
【図４３】
0004818677.tif 000044
【図４４】
0004818677.tif 000045
【図４５】
0004818677.tif 000046
【図４６】
0004818677.tif 000047
【図４７】
0004818677.tif 000048
【図４８】
0004818677.tif 000049
【図４９】
0004818677.tif 000050
【図５０】
0004818677.tif 000051
【図５１】
0004818677.tif 000052
【図５２】
0004818677.tif 000053
【図５３】
0004818677.tif 000054
【図５４】
0004818677.tif 000055
【図５５】
0004818677.tif 000056
【図５６】
0004818677.tif 000057
【図５７】
0004818677.tif 000058
【図５８】
0004818677.tif 000059
【図５９】
0004818677.tif 000060
【図６０】
0004818677.tif 000061
【図６１】
0004818677.tif 000062
【図６２】
0004818677.tif 000063
【図６３】
0004818677.tif 000064
【図６４】
0004818677.tif 000065
【図６５】
0004818677.tif 000066
【図６６】
0004818677.tif 000067
【図６７】
0004818677.tif 000068
【図６８】
0004818677.tif 000069
【図６９】
0004818677.tif 000070
【図７０】
0004818677.tif 000071
【図７１】
0004818677.tif 000072
【図７２】
0004818677.tif 000073
【図７３】
0004818677.tif 000074
【図７４】
0004818677.tif 000075