(57)【特許請求の範囲】
【請求項１】
各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行する遊技機であって、
制御プログラムに従って所定の初期設定処理を実行した後、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータが搭載された遊技制御基板と、
遊技演出に用いる第１の電気部品を制御する第１電気部品制御マイクロコンピュータが搭載された第１電気部品制御基板と、
遊技演出に用いる第２の電気部品を制御する第２電気部品制御マイクロコンピュータが搭載された第２電気部品制御基板と、
遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件が成立したことにもとづいて検出信号を出力する電源監視手段と、
予め定められた監視時間を計測するタイマ手段と、
該タイマ手段により前記監視時間が経過したことが計測されたときに、前記遊技制御用マイクロコンピュータをリセットするリセット手段とを備え、
前記遊技制御用マイクロコンピュータは、
前記タイマ手段により計測された時間を初期化させるための初期化処理を前記遊技制御処理において前記監視時間よりも短い期間で定期的に実行する初期化処理手段と、
遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能であり、遊技の進行に応じて変動する変動データを記憶する変動データ記憶手段と、
前記電源監視手段からの検出信号が出力されたことにもとづいて制御状態を復旧させるために必要なデータを前記変動データ記憶手段に保存するための電力供給停止時処理を実行する電力供給停止時処理実行手段と、
前記電力供給停止時処理が終了した後、前記初期化処理を実行しない待機状態に移行させる停止時待機状態移行手段と、
前記所定の初期設定処理が実行されるときに、前記電源監視手段からの検出信号が出力されているか否かを判定する検出信号判定手段と、
前記検出信号判定手段により検出信号が出力されていると判定された後、該検出信号判定手段による検出信号が出力されているか否かの判定が行われず、かつ、前記初期化処理を実行しない待機状態に移行させる待機状態移行手段と、
待機状態に移行されているときに、前記リセット手段によるリセットがなされたことにもとづいて、待機状態から前記所定の初期設定処理を開始する初期設定処理開始手段と、
前記検出信号判定手段により検出信号が出力されていないと判定されたときに、所定の復旧条件が成立したことを条件に前記変動データ記憶手段に記憶されている記憶内容にもとづいて制御状態を前記電力供給停止時処理が実行される前の状態に復旧させる電力供給開始時処理を実行する電力供給開始時処理手段と、
可変表示の開始条件が成立したときに、識別情報の可変表示の表示結果を前記特定の表示結果とするか否かを決定する表示結果決定手段と、
前記表示結果決定手段の決定結果にもとづいて識別情報の可変表示の変動パターンを選択し、選択した変動パターンを特定可能な変動パターンコマンドを前記第１電気部品制御マイクロコンピュータに送信する遊技制御側コマンド送信手段とを含み、
前記第１電気部品制御マイクロコンピュータは、
前記遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、遊技演出の内容を決定する演出内容決定手段と、
前記演出内容決定手段が決定した遊技演出の内容を特定可能なコマンドを、前記第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側コマンド送信手段とを含み、
前記第２電気部品制御マイクロコンピュータは、前記第１電気部品制御側コマンド送信手段により送信されたコマンドに示される遊技演出の内容にもとづいて、前記第２の電気部品を用いた遊技演出を制御する
ことを特徴とする遊技機。
【請求項２】
演出内容決定手段は、遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、識別情報の可変表示の表示結果が特定の表示結果になることを予告する予告演出を実行するか否かを決定し、
第１電気部品制御側コマンド送信手段は、前記演出内容決定手段による決定結果に応じたコマンドを第２電気部品制御マイクロコンピュータに送信する
請求項１記載の遊技機。
【請求項３】
第１電気部品制御マイクロコンピュータは、変動パターンコマンドにもとづいて、演出内容決定手段が決定した遊技演出の内容を特定可能な演出内容コマンドを生成するコマンド生成手段を含み、
第１電気部品制御側コマンド送信手段は、前記コマンド生成手段が生成した演出内容コマンドを送信し、
第２電気部品マイクロコンピュータは、第１電気部品制御側コマンド送信手段により送信された前記演出内容コマンドに示される遊技演出の内容にもとづいて、前記第２の電気部品を用いた遊技演出を制御する
請求項２記載の遊技機。
【請求項４】
第１電気部品制御マイクロコンピュータは、演出内容決定手段が決定した遊技演出の内容を、変動パターンコマンドに付加する演出内容付加手段を含み、
第１電気部品制御側コマンド送信手段は、前記演出内容付加手段により遊技演出の内容が付加された前記変動パターンコマンドを送信し、
第２電気部品制御マイクロコンピュータは、前記第１電気部品制御側コマンド送信手段により送信された前記変動パターンコマンドに示される遊技演出の内容にもとづいて、前記第２の電気部品を用いた遊技演出を制御する
請求項２記載の遊技機。
【請求項５】
電力供給停止時処理実行手段は、電力供給停止時処理において、制御状態を復旧させるためのデータとして変動データ記憶手段の記憶内容にもとづいてチェックデータを作成して該変動データ記憶手段に保存するチェックデータ作成手段を含み、
前記変動データ記憶手段に保存されているチェックデータにもとづいて前記変動データ記憶手段の記憶内容が正常であるか否かの判定を行う記憶判定手段を備え、
電力供給開始時処理実行手段は、前記記憶判定手段により正常と判定されたときに所定の復旧条件が成立したとして前記変動データ記憶手段の記憶内容にもとづいて制御状態を前記電力供給停止時処理を実行する前の状態に復旧させる電力供給開始時処理を実行し、
遊技制御用マイクロコンピュータは、
所定の初期設定処理を実行するときに、制御プログラム内における所定の範囲を繰り返し実行することにより、タイマ手段により計測された時間を初期化させるための初期化処理を繰り返し実行するとともに、遊技制御処理の実行開始を第１電気部品制御マイクロコンピュータにおける制御処理が実行可能となる時期よりも遅延させる遅延処理を実行する遅延処理実行手段を含み、
前記所定の初期設定処理を実行するまでの間は前記電力供給停止時処理の実行を禁止し、
検出信号判定手段は、前記遅延処理が実行される制御プログラム内における所定の範囲内において、検出信号が出力されているか否かの判定を繰り返し実行する
請求項１から請求項４のうちのいずれかに記載の遊技機。
【請求項６】
第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータは、遊技機への電力供給が停止したときに記憶内容を保持することが不可能であり、遊技演出に応じて変動する変動データを記憶する演出用変動データ記憶手段を含み、
遊技状態は、通常遊技状態と、表示結果決定手段により通常遊技状態よりも高い割合で識別情報の可変表示の表示結果として特定の表示結果が決定されるとともに、前記第１電気部品制御マイクロコンピュータおよび前記第２電気部品制御マイクロコンピュータにより通常遊技状態に制御されているときの通常遊技演出とは異なる態様の特別遊技演出が実行される高確率状態と、前記表示結果決定手段により通常遊技状態よりも高い割合で識別情報の可変表示の表示結果として特定の表示結果が決定されるとともに、前記第１電気部品制御マイクロコンピュータおよび前記第２電気部品制御マイクロコンピュータにより通常遊技状態に制御されているときの通常遊技演出が実行される潜伏高確率状態とが設けられ、
遊技制御用マイクロコンピュータは、
遊技状態を示すデータを変動データ記憶手段に記憶する遊技状態記憶手段と、
電力供給開始時処理が実行されるときに、前記変動データ記憶手段に記憶されている遊技状態を示すデータにもとづいて、遊技状態を特定可能な復旧コマンドを前記第１電気部品制御マイクロコンピュータに送信する遊技制御側復旧コマンド送信手段とを含み、
前記第１電気部品制御マイクロコンピュータは、前記遊技制御用マイクロコンピュータから受信した復旧コマンドに応じたコマンドを前記第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側復旧コマンド送信手段を含み、
前記第１電気部品制御マイクロコンピュータおよび前記第２電気部品制御マイクロコンピュータは、前記復旧コマンドにより特定される遊技状態にもとづいて特別遊技演出または通常遊技演出を再開する
請求項１から請求項５のうちのいずれかに記載の遊技機。
【請求項７】
遊技者にとって有利な第１の状態と不利な第２の状態とに変化する複数の特別可変入賞装置を備え、
遊技制御用マイクロコンピュータは、
特定遊技状態に制御されているときに前記複数の特別可変入賞装置のいずれかを第１の状態に変化させる特別可変入賞装置制御手段と、
いずれの前記特別可変入賞装置を第１の状態に変化させるかについて前記特別可変入賞装置が第１の状態に変化する前に報知する報知手段と、
いずれの前記特別可変入賞装置を第１の状態に変化させるかを示す報知コマンドを第１電気部品制御マイクロコンピュータに送信する遊技制御側報知コマンド送信手段とを含み、
前記第１電気部品制御マイクロコンピュータは、前記遊技制御用マイクロコンピュータから受信した報知コマンドに応じたコマンドを前記第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側報知コマンド送信手段を含み、
前記第１電気部品制御マイクロコンピュータおよび前記第２電気部品制御マイクロコンピュータは、受信した報知コマンドおよび報知コマンドに応じたコマンドにもとづいていずれの前記特別可変入賞装置を第１の状態に変化させるかを報知する制御を実行する
請求項１から請求項６のうちのいずれかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行する遊技機に関する。
【背景技術】
【０００２】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、識別情報を可変表示（「変動」ともいう。）可能な可変表示装置が設けられ、可変表示装置において識別情報の可変表示の表示結果が特定表示結果となった場合に遊技者にとって有利な特定遊技状態に制御可能になるように構成されたものがある。
【０００３】
特定遊技状態とは、所定の遊技価値が付与された遊技者にとって有利な状態を意味する。具体的には、特定遊技状態は、例えば特別可変入賞装置の状態を打球が入賞しやすい遊技者にとって有利な状態（大当り遊技状態）、遊技者にとって有利な状態になるための権利が発生した状態、景品遊技媒体払出の条件が成立しやすくなる状態などの所定の遊技価値が付与された状態である。
【０００４】
そのような遊技機では、識別情報としての特別図柄を表示する可変表示装置における表示結果があらかじめ定められた特定の表示態様の組合せ（特定表示結果）になることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個（例えば１０個）の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数（例えば１５ラウンド）に固定されている。なお、各開放について開放時間（例えば２９．５秒）が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件（例えば、大入賞口内に設けられているＶゾーンへの入賞）が成立していない場合には、大当り遊技状態は終了するように構成されていることもある。
【０００５】
下記の特許文献１には、電源投入時に停電検出信号の状態を監視し、停電検出信号の状態が非停電検出状態になるまで監視処理をループして繰り返し実行し、制御状態を進行させないように構成された遊技機が開示されている。
【０００６】
【特許文献１】特開２００１−１９０７４３号公報（００５２、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された遊技機では、停電検出信号の状態が非停電検出状態のときに、停電検出信号の状態を監視する処理を繰り返し実行しているが、直ちに停電検出信号の状態を監視してもその信号の状態が変化しないことがある。このため、ある程度の期間をおいてから再度監視処理を実行する方が、比較的電圧が安定した状態で停電検出信号の状態を監視することができるので好ましい。しかし、ソフトウェアによる処理で所定期間をおいてから監視処理を実行するためには、そのためのプログラム（監視処理を遅延させるためのプログラム）を作成する必要がある。従って、その分だけ電源投入時に実行されるプログラムの容量が大きくなってしまう。また、ハードウェアによる回路を特別に設けることで所定期間をおいてから監視処理を実行するためには、その回路を設ける分のコストがかかってしまう。
【０００８】
そこで、本発明は、電力の供給が開始されたときに電源の状態を監視する遊技機において、プログラム容量を大きくせずかつコストをかけずに、電源の状態が異常であるときに所定期間経過後に電源の状態を再び監視することができる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明による遊技機は、各々を識別可能な複数種類の識別情報（例えば、飾り図柄）を可変表示可能な可変表示手段（例えば、可変表示装置９）を備え、あらかじめ定められている可変表示の実行条件が成立（例えば、始動入賞口１４への遊技球の入賞）した後、可変表示の開始条件の成立（例えば、特別図柄の最終停止および大当たり遊技の終了）にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果（例えば、大当り図柄）となったときに遊技者にとって有利な特定遊技状態（例えば、大当り遊技状態；具体的にはステップＳ３０５〜Ｓ３０７の処理が実行されている状態）に移行する遊技機であって、制御プログラムに従って所定の初期設定処理（例えば、ステップＳ１〜Ｓ１６の処理）を実行した後、遊技の進行を制御する遊技制御処理（例えば、タイマ割込にもとづくステップＳ２１〜Ｓ３６の処理）を実行する遊技制御用マイクロコンピュータ（例えば、遊技制御用マイクロコンピュータ５６０）が搭載された遊技制御基板（例えば、遊技制御基板３１）と、遊技演出に用いる第１の電気部品（例えば、可変表示装置９、スピーカ２７、ランプなどのうちの少なくともいずれか一つ）を制御する第１電気部品制御マイクロコンピュータ（例えば、音／ランプ制御用マイクロコンピュータ１００ｂまたは図柄制御用マイクロコンピュータ１００ａ）が搭載された第１電気部品制御基板（例えば、音／ランプ制御基板８０ｂまたは図柄制御基板８０ａ）と、遊技演出に用いる第２の電気部品（例えば、可変表示装置９、スピーカ２７、ランプなどのうちの少なくともいずれか一つ）を制御する第２電気部品制御マイクロコンピュータ（例えば、図柄制御用マイクロコンピュータ１００ａまたは音／ランプ制御用マイクロコンピュータ１００ｂ）が搭載された第２電気部品制御基板（例えば、図柄制御基板８０ａまたは音／ランプ制御基板８０ｂ）と、遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件が成立したこと（例えば＋３０Ｖ電源の電圧値が＋２２Ｖまで低下したこと）にもとづいて検出信号（例えば電源断信号）を出力する電源監視手段（例えば電源監視回路９２０）と、予め定められた監視時間（例えばタイムアウト時間）を計測するタイマ手段（例えば、ウォッチドッグタイマ６０）と、該タイマ手段により監視時間が経過したことが計測されたときに、遊技制御用マイクロコンピュータをリセットするリセット手段（例えば、遊技制御用マイクロコンピュータ５６０に内蔵されているリセット／割込みコントローラ５０２）とを備え、遊技制御用マイクロコンピュータは、タイマ手段により計測された時間を初期化させるための初期化処理を遊技制御処理において監視時間よりも短い期間で定期的に実行する初期化処理手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３６を実行する部分）と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能であり、遊技の進行に応じて変動する変動データを記憶する変動データ記憶手段（例えば、電源バックアップされたＲＡＭ５５）と、電源監視手段からの検出信号が出力されたことにもとづいて制御状態を復旧させるために必要なデータを変動データ記憶手段に保存するための電力供給停止時処理を実行する電力供給停止時処理実行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ４５０〜Ｓ４８１の処理を実行する部分）と、電力供給停止時処理が終了した後、初期化処理を実行しない待機状態に移行させる停止時待機状態移行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ４８１の後に無限ループの処理を実行する部分）と、所定の初期設定処理が実行されるときに、電源監視手段からの検出信号が出力されているか否かを判定する検出信号判定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ８３を実行する部分）と、検出信号判定手段により検出信号が出力されていると判定された後、該検出信号判定手段による検出信号が出力されているか否かの判定が行われず、かつ、初期化処理を実行しない待機状態に移行させる待機状態移行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ８３の後に無限ループの処理を実行する部分）と、待機状態に移行されているときに、リセット手段によるリセットがなされたことにもとづいて、待機状態から所定の初期設定処理を開始する初期設定処理開始手段（例えば、遊技制御用マイクロコンピュータ５６０がタイムアウト信号の出力にもとづいてメイン処理をステップＳ１から開始する処理を実行する部分）と、検出信号判定手段により検出信号が出力されていないと判定されたときに（ステップＳ８３のＹ）、所定の復旧条件が成立したことを条件に変動データ記憶手段に記憶されている記憶内容にもとづいて制御状態を電力供給停止時処理が実行される前の状態に復旧させる電力供給開始時処理を実行する電力供給開始時処理手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ７〜Ｓ９，Ｓ９１〜Ｓ９３を実行する部分）と、可変表示の開始条件が成立したときに、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ５６Ｂを実行する部分）と、表示結果決定手段の決定結果にもとづいて識別情報の可変表示の変動パターンを選択し、選択した変動パターンを特定可能な変動パターンコマンドを第１電気部品制御マイクロコンピュータに送信する遊技制御側コマンド送信手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３７３を実行する部分）とを含み、第１電気部品制御マイクロコンピュータは、遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、遊技演出の内容を決定する演出内容決定手段（例えば、音／ランプ制御用マイクロコンピュータ１００ｂにおけるステップＳ１８５３〜Ｓ１８５５を実行する部分）と、演出内容決定手段が決定した遊技演出の内容を特定可能なコマンド（例えば演出内容コマンド）を、第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側コマンド送信手段（例えば、音／ランプ制御用マイクロコンピュータ１００ｂにおけるステップＳ１８５６，Ｓ１８５７を実行する部分）とを含み、第２電気部品制御マイクロコンピュータは、第１電気部品制御側コマンド送信手段より送信されたコマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御する（例えば、図柄制御用マイクロコンピュータ１００ａが演出内容コマンドにもとづいてステップＳ７７５の演出制御プロセス処理を実行する）ことを特徴とする。
【００１０】
演出内容決定手段は、遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、識別情報の可変表示の表示結果が特定の表示結果になることを予告する予告演出を実行するか否かを決定し（例えば、変動パターンコマンドにもとづいてステップＳ１８５２〜Ｓ１８５５の処理を実行し）、第１電気部品制御側コマンド送信手段は、演出内容決定手段による決定結果に応じたコマンドを第２電気部品制御マイクロコンピュータに送信する（例えば、ステップＳ１８５６，Ｓ１８５７の処理を実行する）ように構成されていてもよい。
【００１１】
第１電気部品制御マイクロコンピュータは、変動パターンコマンドにもとづいて、演出内容決定手段が決定した遊技演出の内容を特定可能な演出内容コマンドを生成するコマンド生成手段（例えば、音／ランプ制御用マイクロコンピュータ１００ｂがステップＳ１８５６にて演出内容コマンドを生成する処理を実行する部分）を含み、第１電気部品制御側コマンド送信手段は、コマンド生成手段が生成した演出内容コマンドを送信し（例えば、音／ランプ制御用マイクロコンピュータ１００ｂがステップＳ１８５６にて演出内容コマンドを送信し）、第２電気部品マイクロコンピュータは、第１電気部品制御側コマンド送信手段により送信された演出内容コマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御する（例えば、図柄制御用マイクロコンピュータ１００ａが演出内容コマンドにもとづいてステップＳ７７５の処理を実行する）ように構成されていてもよい。
【００１２】
第１電気部品制御マイクロコンピュータは、演出内容決定手段が決定した遊技演出の内容を、変動パターンコマンドに付加する演出内容付加手段（例えば、音／ランプ制御用マイクロコンピュータ１００ｂが変動パターンコマンドに演出内容を示す情報（表示制御実行データなど）を付加する処理を実行する部分）を含み、第１電気部品制御側コマンド送信手段は、演出内容付加手段により遊技演出の内容が付加された変動パターンコマンドを送信し（例えば、音／ランプ制御用マイクロコンピュータ１００ｂがステップＳ１８５６と同様の処理の実行し）、第２電気部品制御マイクロコンピュータは、第１電気部品制御側コマンド送信手段により送信された変動パターンコマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御する（例えば、図柄制御用マイクロコンピュータ１００ａが演出内容コマンドにもとづいてステップＳ７７５の処理を実行する）ように構成されていてもよい。
【００１３】
電力供給停止時処理実行手段は、電力供給停止時処理において、制御状態を復旧させるためのデータとして変動データ記憶手段の記憶内容にもとづいてチェックデータ（例えば、チェックサム）を作成して該変動データ記憶手段に保存するチェックデータ作成手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ４５４〜Ｓ４６３を実行する部分）を含み、変動データ記憶手段に保存されているチェックデータにもとづいて変動データ記憶手段の記憶内容が正常であるか否かの判定を行う記憶判定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ９を実行する部分）を備え、電力供給開始時処理実行手段は、記憶判定手段により正常と判定されたときに所定の復旧条件が成立したとして変動データ記憶手段の記憶内容にもとづいて制御状態を電力供給停止時処理を実行する前の状態に復旧させる電力供給開始時処理を実行し（例えば、遊技制御用マイクロコンピュータ５６０においてステップＳ９のＹのときにステップＳ９１〜Ｓ９３を実行する部分）、遊技制御用マイクロコンピュータは、所定の初期設定処理を実行するときに、制御プログラム内における所定の範囲を繰り返し実行することにより、タイマ手段により計測された時間を初期化させるための初期化処理を繰り返し実行するとともに、遊技制御処理の実行開始を第１電気部品制御マイクロコンピュータ（例えば、音／ランプ制御用マイクロコンピュータ１００ｂ）における制御処理が実行可能となる時期よりも遅延させる遅延処理（例えば、ソフトウェア遅延処理）を実行する遅延処理実行手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ８１，Ｓ８４〜８８を実行する部分）を含み、所定の初期設定処理を実行するまでの間は電力供給停止時処理の実行を禁止し（例えば、図４６のメイン処理のループ処理（ステップＳ１８）または図５５のタイマ割込処理において電源断処理が実行され）、検出信号判定手段は、遅延処理が実行される制御プログラム内における所定の範囲内において、検出信号が出力されているか否かの判定を繰り返し実行する（例えば、ステップＳ８１からＳ８８までの間にステップＳ８３の処理を実行する）ように構成されていてもよい。
【００１４】
第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータは、遊技機への電力供給が停止したときに記憶内容を保持することが不可能であり、遊技演出に応じて変動する変動データを記憶する演出用変動データ記憶手段（例えば、図柄制御用マイクロコンピュータ１００ａや音・ランプ制御用マイクロコンピュータ１００ｂに内蔵されたバックアップされていないＲＡＭ）を含み、遊技状態は、通常遊技状態と、表示結果決定手段により通常遊技状態よりも高い割合で識別情報の可変表示の表示結果として特定の表示結果が決定されるとともに、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータにより通常遊技状態に制御されているときの通常遊技演出とは異なる態様の特別遊技演出が実行される高確率状態（例えば、確変状態に移行された後の変動回数が１００回に達する前の状態）と、表示結果決定手段により通常遊技状態よりも高い割合で識別情報の可変表示の表示結果として特定の表示結果が決定されるとともに、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータにより通常遊技状態に制御されているときの通常遊技演出が実行される潜伏高確率状態（例えば、確変状態に移行された後の変動回数が１００回に達した後の状態）とが設けられ、遊技制御用マイクロコンピュータは、遊技状態を示すデータ（遊技状態を示すフラグ）を変動データ記憶手段に記憶する遊技状態記憶手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ５５Ｅ，Ｓ５５Ｆ，Ｓ４５４，Ｓ４５９，Ｓ４６１，Ｓ４６３，Ｓ４６４，Ｓ４６６を実行する部分）と、電力供給開始時処理が実行されるときに、変動データ記憶手段に記憶されている遊技状態を示すデータにもとづいて、遊技状態を特定可能な復旧コマンド（例えば、通常表示コマンド、特別表示コマンド、高確率潜伏表示コマンド）を第１電気部品制御マイクロコンピュータに送信する遊技制御側復旧コマンド送信手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ９３を実行する部分）とを含み、第１電気部品制御マイクロコンピュータは、遊技制御用マイクロコンピュータから受信した復旧コマンドに応じたコマンドを第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側復旧コマンド送信手段（例えば、音／ランプ制御用マイクロコンピュータ１００ｂにおけるステップＳ７８９を実行する部分）を含み、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータは、復旧コマンドにより特定される遊技状態にもとづいて特別遊技演出または通常遊技演出を再開する（例えば、音・ランプ制御用マイクロコンピュータ１００ｂがステップＳ７８６，Ｓ７８７の処理を実行し、図柄制御用マイクロコンピュータ１００ａがステップＳ７７５の処理を実行する）ように構成されていてもよい。
【００１５】
遊技者にとって有利な第１の状態と不利な第２の状態とに変化する複数の特別可変入賞装置（例えば、第１大入賞口、第２大入賞口）を備え、遊技制御用マイクロコンピュータは、特定遊技状態に制御されているときに複数の特別可変入賞装置のいずれかを第１の状態に変化させる特別可変入賞装置制御手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ４０５またはＳ４０８を実行する部分）と、いずれの特別可変入賞装置を第１の状態に変化させるかについて特別可変入賞装置が第１の状態に変化する前に報知する報知手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３８９を実行する部分）と、いずれの特別可変入賞装置を第１の状態に変化させるかを示す報知コマンド（例えば、ファンファーレコマンド）を第１電気部品制御マイクロコンピュータに送信する遊技制御側報知コマンド送信手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ３８８を実行する部分）とを含み、第１電気部品制御マイクロコンピュータは、遊技制御用マイクロコンピュータから受信した報知コマンドに応じたコマンドを第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側報知コマンド送信手段（例えば、音・ランプ制御用マイクロコンピュータ１００ｂにおけるステップＳ７８９を実行する部分）を含み、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータは、受信した報知コマンドおよび報知コマンドに応じたコマンドにもとづいていずれの特別可変入賞装置を第１の状態に変化させるかを報知する制御を実行する（例えば、音・ランプ制御用マイクロコンピュータ１００ｂがステップＳ７８６，Ｓ７８７の処理を実行し、図柄制御用マイクロコンピュータ１００ａがステップＳ７７５の処理を実行する）ように構成されていてもよい。
【発明の効果】
【００１６】
請求項１記載の発明では、遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件が成立したことにもとづいて検出信号を出力する電源監視手段と、予め定められた監視時間を計測するタイマ手段と、タイマ手段により監視時間が経過したことが計測されたときに、遊技制御用マイクロコンピュータをリセットするリセット手段とを備え、遊技制御用マイクロコンピュータが、タイマ手段により計測された時間を初期化させるための初期化処理を遊技制御処理において監視時間よりも短い期間で定期的に実行する初期化処理手段と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能であり、遊技の進行に応じて変動する変動データを記憶する変動データ記憶手段と、電源監視手段からの検出信号が出力されたことにもとづいて制御状態を復旧させるために必要なデータを変動データ記憶手段に保存するための電力供給停止時処理を実行する電力供給停止時処理実行手段と、電力供給停止時処理が終了した後、初期化処理を実行しない待機状態に移行させる停止時待機状態移行手段と、所定の初期設定処理が実行されるときに、電源監視手段からの検出信号が出力されているか否かを判定する検出信号判定手段と、検出信号判定手段により検出信号が出力されていると判定された後、該検出信号判定手段による検出信号が出力されているか否かの判定が行われず、かつ、初期化処理を実行しない待機状態に移行させる待機状態移行手段と、待機状態に移行されているときに、リセット手段によるリセットがなされたことにもとづいて、待機状態から所定の初期設定処理を開始する初期設定処理開始手段と、検出信号判定手段により検出信号が出力されていないと判定されたときに、所定の復旧条件が成立したことを条件に変動データ記憶手段に記憶されている記憶内容にもとづいて制御状態を電力供給停止時処理が実行される前の状態に復旧させる電力供給開始時処理を実行する電力供給開始時処理手段とを含む構成とされているので、プログラム容量を大きくせずかつコストをかけずに、電源の状態が異常であるときに所定期間経過後に電源の状態を再び確認することができる。
【００１７】
また、遊技制御用マイクロコンピュータが、可変表示の開始条件が成立したときに、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段と、表示結果決定手段の決定結果にもとづいて識別情報の可変表示の変動パターンを選択し、選択した変動パターンを特定可能な変動パターンコマンドを第１電気部品制御マイクロコンピュータに送信する遊技制御側コマンド送信手段とを含み、第１電気部品制御マイクロコンピュータが、遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、遊技演出の内容を決定する演出内容決定手段と、演出内容決定手段が決定した遊技演出の内容を特定可能なコマンドを、第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側コマンド送信手段とを含み、第２電気部品制御マイクロコンピュータが、第１電気部品制御側コマンド送信手段により送信されたコマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御するように構成されているので、遊技制御用マイクロコンピュータが演出内容を決定しなくて済む。そのため、遊技制御用マイクロコンピュータの処理負担を軽減することができる。
【００１８】
請求項２記載の発明では、演出内容決定手段が、遊技制御用マイクロコンピュータから受信した変動パターンコマンドにもとづいて、識別情報の可変表示の表示結果が特定の表示結果になることを予告する予告演出を実行するか否かを決定し、第１電気部品制御側コマンド送信手段が、演出内容決定手段による決定結果に応じたコマンドを第２電気部品制御マイクロコンピュータに送信するように構成されているので、遊技制御用マイクロコンピュータの制御負担を軽減することができる。
【００１９】
請求項３記載の発明では、第１電気部品制御マイクロコンピュータが、変動パターンコマンドにもとづいて、演出内容決定手段が決定した遊技演出の内容を特定可能な演出内容コマンドを生成するコマンド生成手段を含み、第１電気部品制御側コマンド送信手段が、コマンド生成手段が生成した演出内容コマンドを送信し、第２電気部品マイクロコンピュータが、第１電気部品制御側コマンド送信手段により送信された演出内容コマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御するように構成されているので、遊技制御用マイクロコンピュータの制御負担を軽減することができる。
【００２０】
請求項４記載の発明では、第１電気部品制御マイクロコンピュータが、演出内容決定手段が決定した遊技演出の内容を、変動パターンコマンドに付加する演出内容付加手段を含み、第１電気部品制御側コマンド送信手段が、演出内容付加手段により遊技演出の内容が付加された変動パターンコマンドを送信し、第２電気部品制御マイクロコンピュータが、第１電気部品制御側コマンド送信手段により送信された変動パターンコマンドに示される遊技演出の内容にもとづいて、第２の電気部品を用いた遊技演出を制御するように構成されているので、遊技制御用マイクロコンピュータの制御負担を軽減することができるとともに、第１電気部品制御マイクロコンピュータが送信するコマンド数を削減することができる。
【００２１】
請求項５記載の発明では、電力供給停止時処理実行手段が、電力供給停止時処理において、制御状態を復旧させるためのデータとして変動データ記憶手段の記憶内容にもとづいてチェックデータを作成して該変動データ記憶手段に保存するチェックデータ作成手段を含み、変動データ記憶手段に保存されているチェックデータにもとづいて変動データ記憶手段の記憶内容が正常であるか否かの判定を行う記憶判定手段を備え、電力供給開始時処理実行手段が、記憶判定手段により正常と判定されたときに所定の復旧条件が成立したとして変動データ記憶手段の記憶内容にもとづいて制御状態を電力供給停止時処理を実行する前の状態に復旧させる電力供給開始時処理を実行し、遊技制御用マイクロコンピュータが、所定の初期設定処理を実行するときに、制御プログラム内における所定の範囲を繰り返し実行することにより、タイマ手段により計測された時間を初期化させるための初期化処理を繰り返し実行するとともに、遊技制御処理の実行開始を第１電気部品制御マイクロコンピュータにおける制御処理が実行可能となる時期よりも遅延させる遅延処理を実行する遅延処理実行手段を含み、所定の初期設定処理を実行するまでの間は電力供給停止時処理の実行を禁止し、検出信号判定手段が、遅延処理が実行される制御プログラム内における所定の範囲内において、検出信号が出力されているか否かの判定を繰り返し実行するように構成されているので、第１電気部品制御マイクロコンピュータがコマンドを取りこぼしてしまうのを回避することができる。また、変動データ記憶手段の記憶内容が破壊され、電力供給停止時の状態に制御状態を復旧させることができなくなるのを防止することができる。
【００２２】
請求項６記載の発明では、遊技制御用マイクロコンピュータが、遊技状態を示すデータを変動データ記憶手段に記憶する遊技状態記憶手段と、電力供給開始時処理が実行されるときに、変動データ記憶手段に記憶されている遊技状態を示すデータにもとづいて、遊技状態を特定可能な復旧コマンドを第１電気部品制御マイクロコンピュータに送信する遊技制御側復旧コマンド送信手段とを含み、第１電気部品制御マイクロコンピュータが、遊技制御用マイクロコンピュータから受信した復旧コマンドに応じたコマンドを第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側復旧コマンド送信手段を含み、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータが、復旧コマンドにより特定される遊技状態にもとづいて特別遊技演出または通常遊技演出を再開するように構成されているので、電力供給停止前の遊技状態に応じた遊技演出を電気部品制御マイクロコンピュータに実行させることができ、遊技者に不信感を与えなくすることができる。また、故意に電力供給が停止されるような不正行為が行われたとしても、電力供給回復時に潜伏高確率状態が不正者に悟られてしまうことはない。
【００２３】
請求項７記載の発明では、遊技制御用マイクロコンピュータは、特定遊技状態に制御されているときに複数の特別可変入賞装置のいずれかを第１の状態に変化させる特別可変入賞装置制御手段と、いずれの特別可変入賞装置を第１の状態に変化させるかについて特別可変入賞装置が第１の状態に変化する前に報知する報知手段と、いずれの特別可変入賞装置を第１の状態に変化させるかを示す報知コマンドを第１電気部品制御マイクロコンピュータに送信する遊技制御側報知コマンド送信手段とを含み、第１電気部品制御マイクロコンピュータは、遊技制御用マイクロコンピュータから受信した報知コマンドに応じたコマンドを第２電気部品制御マイクロコンピュータに送信する第１電気部品制御側報知コマンド送信手段を含み、第１電気部品制御マイクロコンピュータおよび第２電気部品制御マイクロコンピュータは、受信した報知コマンドおよび報知コマンドに応じたコマンドにもとづいていずれの特別可変入賞装置を第１の状態に変化させるかを報知する制御を実行するように構成されているので、遊技者がいずれの特別可変入賞装置が第１の状態に変化するかについて認識できずに不利益を受けてしまうのを防止することができる。
【発明を実施するための最良の形態】
【００２４】
実施の形態１．
以下、本発明の一実施形態を図面を参照して説明する。まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図１はパチンコ遊技機を正面からみた正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
【００２５】
パチンコ遊技機１は、縦長の方形状に形成された外枠（図示せず）と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機１は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠２を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠（図示せず）と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品（後述する遊技盤を除く。）とを含む構造体である。
【００２６】
図１に示すように、パチンコ遊技機１は、額縁状に形成されたガラス扉枠２を有する。ガラス扉枠２の下部表面には打球供給皿（上皿）３がある。打球供給皿３の下部には、打球供給皿３に収容しきれない遊技球を貯留する余剰球受皿４が設けられている。ガラス扉枠２の背面には、遊技盤６が着脱可能に取り付けられている。なお、遊技盤６は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤６の前面には遊技領域７が形成されている。
【００２７】
また、打球供給皿３の下部には、打球発射装置が遊技球を発射する速さ（すなわち、遊技球を弾くバネの強さ）を調整する打球操作ハンドル（操作ノブ）５が設けられている。遊技者は、操作ノブ５を回転させることにより、打球発射装置から発射される遊技球の勢いを調整することが可能となる。具体的には、操作ノブ５を右に回転させていくことにより、打球発射装置から発射される遊技球の速さが徐々に増していき、所定の速さを超えると、発射された遊技球は打球レールを通って上方より遊技領域７の左側領域に入る。さらに操作ノブ５を右に回転させていくと、発射された遊技球は上方より遊技領域７の右側領域に入る。
【００２８】
遊技領域７の中央付近には、各々を識別可能な複数種類の演出用の飾り図柄を可変表示する複数の可変表示部を含む可変表示装置（飾り図柄表示装置）９が設けられている。可変表示装置９には、例えば「左」、「中」、「右」の３つの可変表示部（図柄表示エリア）がある。飾り図柄の可変表示を行う可変表示装置９は、図柄制御基板に搭載されている図柄制御用マイクロコンピュータによって制御される。
【００２９】
また、可変表示装置９には、始動入賞口１４に入った有効入賞球数すなわち始動記憶数を表示する４つの飾り図柄始動記憶表示エリア（始動記憶表示エリア）１８が設けられている。有効始動入賞がある毎に、表示色が変化する（例えば青色表示から赤色表示に変化）始動記憶表示エリアを１増やす。そして、可変表示装置９の可変表示が開始される毎に、表示色が変化している始動記憶数表示エリアを１減らす（すなわち表示色をもとに戻す）。この例では、図柄表示エリアと始動記憶表示エリアとが区分けされて設けられているので、可変表示中も始動記憶数が表示された状態にすることができる。なお、始動記憶表示エリアを図柄表示エリアの一部に設けるようにしてもよい。また、可変表示中は始動記憶数の表示を中断するようにしてもよい。また、この例では、始動記憶数の上限を４としているが、４以上であっても４以下であってもよい。なお、図１には示されていないが、特別図柄の始動記憶数を表示する表示器（特別図柄始動記憶表示器）が遊技領域７の所定位置に設けられているものとする。特別図柄始動記憶表示器は、４つのランプの点灯個数によって特別図柄の始動記憶数を表示するものであって、後述する遊技制御基板（主基板）に搭載された遊技制御用マイクロコンピュータによって表示制御される。
【００３０】
可変表示装置９の上部には、識別情報としての特別図柄を可変表示する特別図柄表示器（特別図柄表示装置）８が設けられている。この実施の形態では、特別図柄表示器８は、例えば０〜９の数字を可変表示可能な簡易で小型の表示器（例えば７セグメントＬＥＤ）で実現されている。特別図柄表示器８は、遊技者に特定の停止図柄を把握しづらくさせるために、０〜９９など、より多種類の数字を可変表示するように構成されていてもよい。また、可変表示装置９は、特別図柄表示器８による特別図柄の可変表示期間中に、装飾用（演出用）の図柄としての飾り図柄の可変表示を行う。すなわち、特別図柄表示器８における特別図柄の可変表示と可変表示装置９における飾り図柄の可変表示とは同期している。同期とは、図柄の変動開始時と変動終了時が同じであることをいう。
【００３１】
可変表示装置９の下方には、始動入賞口１４としての可変入賞球装置１５が設けられている。始動入賞口１４に入った入賞球は、遊技盤６の背面に導かれ、始動口スイッチ１４ａによって検出される。また、始動入賞口１４の下部には開閉動作を行う可変入賞球装置１５が設けられている。可変入賞球装置１５は、ソレノイド１６（図２参照）によって開状態とされる。
【００３２】
可変入賞球装置１５の下部の左側には、特定遊技状態（大当り遊技状態）においてソレノイド２４１によって開状態とされる開閉板２０１が設けられている。また、可変入賞球装置１５の下部の右側には、特定遊技状態においてソレノイド２４２によって開状態とされる開閉板２０２が設けられている。開閉可能な２つの開閉板２０１，２０２によって２つの大入賞口（特別可変入賞球装置）が形成される。左側の大入賞口を第１大入賞口といい、右側の大入賞口を第２大入賞口という。第１大入賞口に入賞し遊技盤６の背面に導かれた入賞球はカウントスイッチ２３１で検出される。同様に、第２大入賞口に入賞し遊技盤６の背面に導かれた入賞球はカウントスイッチ２３２で検出される。
【００３３】
この実施の形態では、大当り遊技中に第１大入賞口および第２大入賞口のいずれか一方が所定回数開放される。具体的には、大当りの種別として、大入賞口が２回開放される２ラウンドの大当りと、大入賞口が７回開放される７ラウンドの大当りと、大入賞口が１５回開放される１５ラウンドの大当りとが設けられている。そして、この実施の形態では、２ラウンドの大当りのときに第２大入賞口（右側の大入賞口）が開放され、７ラウンドの大当りのときに第１大入賞口（左側の大入賞口）が開放され、１５ラウンドの大当りのときに第２大入賞口（右側の大入賞口）が開放される。
【００３４】
第１大入賞口（左側の開閉板２０１）の左方には、第１大入賞口が最初に開放される前に、大当り遊技において第１大入賞口を開放することを遊技者に報知するための第１大入賞口表示灯３８が設けられている。また、第２大入賞口（右側の開閉板２０２）の右方には、第２大入賞口が最初に開放される前に、大当り遊技において第２大入賞口を開放することを遊技者に報知するための第２大入賞口表示灯３９が設けられている。遊技者は、第１大入賞口表示灯３８が点灯することによって第１大入賞口が開放されることを認識し、第２大入賞口表示灯３９が点灯することによって第２大入賞口が開放されることを認識することができる。これにより、遊技者がいずれの大入賞口（特別可変入賞装置）が開放状態になるかについて認識できずに不利益を受けてしまうのを防止することができる。
【００３５】
ゲート３２に遊技球が入賞しゲートスイッチ３２ａで検出されると、普通図柄表示器１０の表示の可変表示が開始される。この実施の形態では、左右のランプ（点灯時に図柄が視認可能になる）が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に左側のランプ（○）が点灯すれば当たりとなり、右側のランプ（×）が点灯すればはずれとなる。そして、普通図柄表示器１０における停止図柄が所定の図柄（当り図柄）である場合に、可変入賞球装置１５が所定回数、所定時間だけ開状態になる。普通図柄表示器１０の近傍には、ゲート３２に入った入賞球数を表示する４つのＬＥＤによる表示部を有する普通図柄始動記憶表示器４１が設けられている。ゲート３２への入賞がある毎に、普通図柄始動記憶表示器４１は点灯するＬＥＤを１増やす。そして、普通図柄表示器１０の可変表示が開始される毎に、点灯するＬＥＤを１減らす。
【００３６】
遊技盤６には、複数の入賞口２９，３０が設けられ、遊技球の入賞口２９，３０への入賞は、それぞれ入賞口スイッチ２９ａ，３０ａによって検出される。各入賞口２９，３０は、遊技媒体を受け入れて入賞を許容する領域として遊技盤６に設けられる入賞領域を構成している。なお、始動入賞口１４や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。
【００３７】
遊技領域７の左右周辺には、遊技中に点滅表示される装飾ランプ２５が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口２６がある。また、遊技領域７の外側の左右上部には、効果音を発する２つのスピーカ２７が設けられている。遊技領域７の外周には、天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃが設けられている。天枠ランプ２８ａ、左枠ランプ２８ｂおよび右枠ランプ２８ｃは、遊技機に設けられている装飾発光体の一例である。
【００３８】
そして、この例では、左枠ランプ２８ｂの近傍に、賞球払出中に点灯する賞球ＬＥＤ５１が設けられ、天枠ランプ２８ａの近傍に、補給球が切れたときに点灯する球切れＬＥＤ５２が設けられている。上記のように、この実施の形態のパチンコ遊技機１には、発光体としてのランプやＬＥＤが各所に設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット（以下、カードユニットという。）が、パチンコ遊技機１に隣接して設置される（図示せず）。
【００３９】
打球発射装置から発射された遊技球は、打球レールを通って遊技領域７に入り、その後、遊技領域７を下りてくる。遊技球が始動入賞口１４に入り始動口スイッチ１４ａで検出されると、図柄の可変表示を開始できる状態であれば、特別図柄表示器８において特別図柄の可変表示（変動）を開始するとともに、可変表示装置９において飾り図柄の可変表示（変動）を開始する。図柄の可変表示を開始できる状態でなければ、始動記憶数が４（上限値）に達していないことを条件に、始動記憶数を１増やす（つまり、始動記憶表示エリアを１増やす）。
【００４０】
特別図柄表示器８における特別図柄および可変表示装置９における飾り図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄が大当り図柄（特定表示結果）であると、大当り遊技状態（特定遊技状態）に移行する。すなわち、開閉板２０１，２０２のいずれか一方が、一定時間経過するまで、または、所定個数（例えば１０個）の遊技球が入賞するまで開放する。開閉板２０１，２０２のいずれか一方が開放されてから一定期間経過するまで、または、所定個数の打球が入賞するまでが大当り遊技状態における１ラウンドである。所定個数の遊技球が大入賞口に入賞すると、または大入賞口が開放されてから一定期間経過すると、継続権が発生し特別可変入賞球装置の開放が再度行われる。上述したように、継続権の発生は、大当りの種別に応じて所定回数（例えば、２ラウンド、７ラウンド、１５ラウンド）許容される。なお、大入賞口にＶ入賞領域を設け、大入賞口の開放中に打球がＶ入賞領域に入賞したことを条件に、継続権が発生するようにしてもよい。
【００４１】
この実施の形態では、特別図柄の停止図柄が大当り図柄になると決定されたときには、その後に大当りの種別が決定される。大当りの種別としては、上述したように、２ラウンドの大当りと、７ラウンドの大当りと、１５ラウンドの大当りとが設けられているが、さらに、大当り遊技の終了後の遊技状態に応じて、確変大当りと、時短大当りと、通常大当りとが設けられている。確変大当りは、大当り遊技の終了後に遊技状態が確変状態（次に大当りとなる確率が通常遊技状態および時短状態よりも高い確率変動状態（高確率状態ともいう））に移行する大当りである。時短大当りは、大当り遊技の終了後に遊技状態が時短状態（特別図柄および飾り図柄の変動時間が短縮される時間短縮状態）に移行する大当りである。通常大当りは、大当り遊技の終了後に遊技状態が（大当り遊技の開始前に遊技状態が確変状態でない場合に限り）通常遊技状態に移行する大当りである。具体的に、この実施の形態では、２ラウンドの確変大当り、２ラウンドの時短大当り、７ラウンドの通常大当り、１５ラウンドの通常大当り、１５ラウンドの確変大当り、および１５ラウンドの時短大当りが設けられている。
【００４２】
大当りの種別として確変大当りになると決定された場合は、大当り遊技の終了後に確変状態（遊技者にとって有利な特別遊技状態の一例）に制御される。特別遊技状態としての確変状態では、上述したように、特別図柄表示器８において可変表示される特別図柄の停止図柄が大当り図柄（特定表示結果：例えば、０〜９のうちの奇数）になる確率が通常状態および時短状態より高められる。また、この実施の形態では、大当り終了後の特別図柄の変動回数が所定回数（１００回）になるまで、普通図柄表示器１０において、停止図柄が当り図柄になる確率が通常状態より高められるとともに、可変入賞球装置１５における開放時間と開放回数とのうちの一方または双方が通常状態よりも高められ、遊技者にとってさらに有利な状態になる。さらに、この実施の形態では、大当り終了後の特別図柄の変動回数が所定回数（１００回）になるまで、特別図柄表示器８における特別図柄の可変表示時間（変動時間）が通常遊技状態よりも短縮される。その場合には、頻繁に特別図柄の可変表示が実行されるようになる。
【００４３】
なお、確変状態において、大当り終了後の特別図柄の変動回数が所定回数（１００回）になるまで、普通図柄表示器１０における普通図柄の可変表示時間（変動時間）が通常状態よりも短縮されるようにしてもよい。その場合には、始動入賞口１４への始動入賞が起こりやすくなり、所定期間内での特別図柄表示器８における特別図柄の可変表示回数が増加して特別図柄が大当り図柄になる可能性が通常状態よりも高まり、遊技者にとってさらに有利な状態になる。
【００４４】
大当りの種別として時短大当りになると決定された場合は、大当り遊技の終了後に時短状態（遊技者にとって有利な特別遊技状態の一例）に制御される。特別遊技状態としての時短状態では、上述したように、大当りが発生する確率は高くならないが、特別図柄の可変表示時間（変動時間）が通常遊技状態よりも短縮される。このように、特別図柄の可変表示時間が短縮されることにより、頻繁に特別図柄の可変表示が実行されるようになり、所定時間当たりの大当り発生の可能性が高まる。さらに、時短状態では、普通図柄表示器１０において、停止図柄が当り図柄になる確率が通常状態より高められるとともに、可変入賞球装置１５における開放時間と開放回数とのうちの一方または双方が通常状態よりも高められ、遊技者にとってさらに有利な状態になる。
【００４５】
なお、時短状態において、普通図柄表示器１０における普通図柄の可変表示時間（変動時間）が通常遊技状態よりも短縮されるようにしてもよい。その場合には、可変入賞球装置１５の所定時間当たりの開放回数が高まり、遊技者にとってさらに有利な状態になる。なお、この実施の形態では、時短状態は、大当り終了後の特別図柄の変動回数が所定回数（１００回）になるまで継続される。
【００４６】
次に、遊技状態の遷移について説明する。この実施の形態では、通常遊技状態または時短状態のときに確変大当りが発生すると、遊技状態が通常遊技状態または時短状態から確変状態に移行される。確変状態は、次に通常大当りまたは時短大当りが発生するまで継続される。確変状態のときに確変大当りが発生すると、その後も確変状態が継続される。ところで、確変状態のときは、上述したように、特別図柄の変動時間が短縮され、普通図柄の停止図柄が当り図柄になる確率が高められ、可変入賞球装置１５における開放時間と開放回数とのうちの一方または双方が高められる特別状態となるが、このような特別状態は、大当り終了後からの特別図柄の変動回数が所定回数（１００回）になるまでしか継続されない。
【００４７】
通常遊技状態または確変状態のときに時短大当りが発生すると、遊技状態が通常遊技状態または確変状態から時短状態に移行され、また、確変状態のときに通常大当りが発生すると、遊技状態が確変状態から時短状態に移行される。時短状態のときに時短大当りが発生すると、その後も時短状態が継続される。時短状態は、大当り終了後からの特別図柄の変動回数が所定回数（１００回）になるまで継続される。時短状態のときは、確変状態のときと同様に、特別図柄の変動時間が短縮され、普通図柄の停止図柄が当り図柄になる確率が高められ、可変入賞球装置１５における開放時間と開放回数とのうちの一方または双方が高められる特別状態となる。
【００４８】
以上のように、大当り終了後の特別図柄の変動回数が所定回数（１００回）になるまでは、確変状態および時短状態のいずれのときでも特別状態となる。従って、遊技者は、確変状態または時短状態のどちらの状態に移行されたかについて特別図柄の変動時間などにもとづいて認識することができない。さらに、この実施の形態では、確変状態および時短状態のいずれのときも、大当り終了後の特別図柄の変動回数が所定回数になるまでは、可変表示装置９において通常遊技状態に制御されているときの通常の遊技演出（通常遊技演出）とは異なる態様の特別な遊技演出（特別遊技演出）が実行される。例えば、画面の背景や色が通常遊技状態のときと変わったり、チャンスモードのような特別なモードの演出が実行されたりする。従って、遊技者は、確変状態または時短状態のどちらの状態に移行されたかについて可変表示装置９において実行される遊技演出の態様にもとづいて認識することができない。
【００４９】
確変状態のときに、大当り終了後の特別図柄の変動回数が所定回数になると、確変状態（大当りになる確率が向上された状態）は維持されるが、特別状態は終了する。特別状態が終了すると、可変表示装置９において実行される遊技演出も特別遊技演出から通常遊技演出に切り替えられる。このように、通常遊技状態や時短状態よりも高い確率で特別図柄の停止図柄として大当り図柄が決定されるが、可変表示装置９において通常遊技演出が実行される状態を高確率潜伏状態という。また、時短状態のときに、大当り終了後の特別図柄の変動回数が所定回数になると、遊技状態が時短状態から通常遊技状態に移行され、その結果、特別状態も終了する。このときも、確変状態の場合と同様に、特別状態が終了すると、可変表示装置９において実行される遊技演出も特別遊技演出から通常遊技演出に切り替えられる。
【００５０】
以上のように、大当り終了後の特別図柄の変動回数が所定回数になると、確変状態および時短状態のいずれのときでも特別状態が終了し、また、可変表示装置９において実行される遊技演出も特別遊技演出から通常遊技演出に切り替えられる。従って、遊技者は、高確率潜伏状態または通常遊技状態のどちらの状態に移行されたかについて特別図柄の変動時間や遊技演出の態様などにもとづいて認識することができない。よって、遊技状態がいずれの状態に移行されたかについて遊技者に興味を持たせることができる。
【００５１】
なお、この実施の形態では、通常大当りのときは、「１」「５」「９」のいずれかの特別図柄が導出表示され、確変状態および時短状態のときは、「３」「７」のいずれかの特別図柄が導出表示されるものとする。また、通常大当りのときは、偶数の同一飾り図柄（例えば「２」）が揃った状態で導出表示され、確変状態および時短状態のときは、奇数の同一飾り図柄（例えば「７」）が導出表示されるものとする。従って、特別図柄および飾り図柄の停止図柄によって、遊技者が大当り遊技終了後に移行される遊技状態を認識することはできない。
【００５２】
次に、リーチ表示態様（リーチ）について説明する。この実施の形態におけるリーチ表示態様（リーチ）とは、停止した飾り図柄が大当り図柄の一部を構成しているときに未だ停止していない飾り図柄については可変表示（変動表示）が行われていること、および全てまたは一部の飾り図柄が大当り図柄の全てまたは一部を構成しながら同期して変動表示している状態である。
【００５３】
例えば、可変表示装置９の左、右の表示領域には大当り図柄の一部になる飾り図柄（例えば、「７」）が停止表示されている状態で中の表示領域は未だ変動表示が行われている状態、および表示領域の全てまたは一部の図柄が大当り図柄の全てまたは一部を構成しながら同期して変動表示している状態（例えば、左、中、右の表示領域の全てに変動表示が行われ、常に同一の図柄が揃っている状態で変動表示が行われている状態）がリーチ表示態様またはリーチになる。
【００５４】
また、リーチの際に、通常と異なる演出がランプや音で行われる。その演出と可変表示装置９におけるリーチ表示態様とをリーチ演出という。また、リーチの際に、キャラクタ（人物等を模した演出表示であり、図柄とは異なるもの）を表示させたり、可変表示装置９の背景（図柄およびキャラクタとは異なる地の色や模様など）の表示態様（例えば、色等）を変化させたりすることがある。
【００５５】
図２は、遊技制御基板（主基板）の構成例を示すブロック図である。なお、図２には、遊技機に搭載されている払出制御基板３７、インタフェース基板６６、中継基板７７、音／ランプ制御基板８０ｂおよび図柄制御基板８０ａも示されている。主基板３１には、プログラムに従ってパチンコ遊技機１を制御する基本回路（遊技制御手段に相当）５３と、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、カウントスイッチ２３１，２３２および入賞口スイッチ２９ａ，３０ａからの信号を基本回路５３に与える入力ドライバ回路５８と、可変入賞球装置１５を開閉するソレノイド１６、開閉板２０１を開閉するソレノイド２４１および開閉板２０２を開閉するソレノイド２４２を基本回路５３からの指令に従って駆動する出力回路５９とが搭載されている。
【００５６】
なお、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、カウントスイッチ２３１，２３２、および入賞口スイッチ２９ａ，３０ａのスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段（この例では遊技球検出手段）であれば、その名称を問わない。入賞検出を行う始動口スイッチ１４ａ、カウントスイッチ２３１，２３２、および入賞口スイッチ２９ａ，３０ａの各スイッチは、入賞領域への遊技球の入賞を検出する入賞検出手段でもある。なお、ゲート３２のような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ（例えばゲートスイッチ３２ａ）が入賞検出手段になる。
【００５７】
基本回路５３は、ゲーム制御（遊技進行制御）用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用される記憶手段（変動データを記憶する変動データ記憶手段）としてのＲＡＭ５５、プログラムに従って制御動作を行うＣＰＵ５６、およびプログラムが正常に実行されているか否かを監視するウォッチドッグタイマ（ＷＤＴ）６０を有する遊技制御用マイクロコンピュータ５６０を含む。なお、この実施の形態では、ＣＰＵ５６とは、基本回路５３のうち、プログラムに従って動作する中央処理装置（ＲＯＭ５４やＲＡＭ５５などの記憶手段、Ｉ／Ｏポート部５７などを除いた部分）を指し、後述するメイン処理や割込処理（タイマ割込処理や、シリアル通信回路５０５からの割り込み要求による割込処理）を実行する。また、遊技制御用マイクロコンピュータ５６０とは、基本回路５３のうち、ＣＰＵ５６に加えて、ＲＯＭ５４やＲＡＭ５５などの記憶手段、ウォッチドッグタイマ６０、乱数回路５０３、シリアル通信回路５０５、Ｉ／Ｏポート部５７などを含む部分を指し、各基板（払出制御基板３７や音／ランプ制御基板８０ｂ）が搭載するマイクロコンピュータと各種データの送受信を行う。
【００５８】
なお、本実施の形態では、「マイクロコンピュータが送受信する」等の表現を用いるが、具体的には、例えば、データ送信を行う場合、ＣＰＵがシリアル通信回路の送信データレジスタにデータをセットし、シリアル通信回路が送信データレジスタにセットされたデータを送信する。また、ＣＰＵがＩ／Ｏポート部を介してデータを送信する。また、例えば、データ受信を行う場合、受信データがシリアル通信回路の受信データレジスタに書き込まれ、ＣＰＵが受信データレジスタから受信データを読み込む。また、ＣＰＵがＩ／Ｏポート部を介してデータを受信する。
【００５９】
なお、本実施の形態では、遊技制御用マイクロコンピュータ５６０が、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０とシリアル通信を行う場合を説明する。
【００６０】
この実施の形態では、図２に示すように、遊技制御用マイクロコンピュータ５６０にはウォッチドッグタイマ６０が内蔵されている。ウォッチドッグタイマ６０は、遊技制御用マイクロコンピュータ５６０がプログラムを正常に実行できなくなった場合に遊技制御用マイクロコンピュータ５６０をリセット状態にして再起動させる。ウォッチドッグタイマ６０の詳しい内容については後述する（図３７参照）。なお、図２に示す例では、ウォッチドッグタイマ６０は、遊技制御用マイクロコンピュータ５６０に内蔵されているが、遊技制御用マイクロコンピュータ５６０に外付けされてもよい。
【００６１】
この実施の形態では、ＲＯＭ５４、ワークメモリとしての記憶手段であるＲＡＭ５５およびＩ／Ｏポート部５７は遊技制御用マイクロコンピュータ５６０に内蔵されている。すなわち、遊技制御用マイクロコンピュータ５６０は、１チップマイクロコンピュータである。１チップマイクロコンピュータは、少なくともＲＡＭ５５が内蔵されていればよく、ＲＯＭ５４は外付けであっても内蔵されていてもよい。
【００６２】
なお、遊技制御用マイクロコンピュータ５６０においてＣＰＵ５６がＲＯＭ５４に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ５６０が実行する（または、処理を行う）ということは、具体的には、ＣＰＵ５６がプログラムに従って制御を実行することである。このことは、主基板３１以外の他の基板に搭載されているマイクロコンピュータについても同様である。また、遊技制御手段は、遊技制御用マイクロコンピュータ５６０を含む基本回路５３で実現されている。
【００６３】
また、ＲＡＭ５５は、その一部または全部が電源基板９１０において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップＲＡＭである。すなわち、遊技機に対する電力供給が停止しても、所定期間（バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで）は、ＲＡＭ５５の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ（特別図柄プロセスフラグ等）と未払出賞球数を示すデータは、バックアップＲＡＭに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、ＲＡＭ５５の全部が、電源バックアップされているとする。
【００６４】
遊技制御用マイクロコンピュータ５６０のリセット端子には、電源基板９１０からのリセット信号が入力される。また、払出制御用マイクロコンピュータのリセット端子にも、電源基板９１０からのリセット信号が入力される。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータは動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータは動作停止状態になる。従って、リセット信号がハイレベルである期間は、遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータの動作を許容する許容信号が出力されていることになり、リセット信号がローレベルである期間は、遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータの動作を停止させる動作停止信号が出力されていることになる。なお、リセット回路をそれぞれの制御基板（主基板３１を含む）に搭載してもよいし、複数の制御基板のうちの一つまたは複数にリセット回路を搭載し、そこからリセット信号を他の制御基板に供給するようにしてもよい。
【００６５】
さらに、基本回路５３の入力ポートには、払出制御基板３７を経由して、電源基板９１０からの電源電圧が所定値以下に低下したことを示す電源断信号が入力される。また、基本回路５３の入力ポートには、ＲＡＭの内容をクリアすることを指示するためのクリアスイッチが操作されたことを示すクリア信号が入力される。
【００６６】
クリア信号は、電源基板９１０から払出制御基板３７に入力され（図３８参照）、払出制御基板３７において分岐され、主基板３１に供給される。なお、クリア信号が、電源基板９１０から主基板に入力され、主基板３１において分岐され、払出制御基板３７にも供給されるようにしてもよい。また、遊技制御用マイクロコンピュータ５６０が入力ポートを介して入力したクリア信号の状態を、出力ポートを介して払出制御基板３７に出力してもよい。また、電源基板９１０においてクリア信号を分岐して主基板３１および払出制御基板３７に供給するようにしてもよい。さらに、電源断信号も、電源基板９１０において分岐され、主基板３１および払出制御基板３７に供給されるようにしてもよい。
【００６７】
なお、この実施の形態では、払出制御用マイクロコンピュータに内蔵されているＲＡＭも電源バックアップされている。
【００６８】
この実施の形態では、音／ランプ制御基板８０ｂに搭載されている音／ランプ制御手段（音／ランプ制御用マイクロコンピュータで構成される。）が、中継基板７７を介して遊技制御用マイクロコンピュータ５６０からの演出制御コマンドを受信し、スピーカ（音出力装置）２７の音出力制御や、各ランプ２５，２８ａ，２８ｂ，２８ｃの表示制御等を行う。また、音／ランプ制御手段は、受信した演出制御コマンドを図柄制御基板８０ａに搭載されている図柄制御手段（図柄制御用マイクロコンピュータで構成される。）に転送する。また、受信した演出制御コマンドにもとづいてコマンド（演出内容コマンド）を生成し、生成したコマンドを図柄制御手段に送信する。図柄制御手段は、音／ランプ制御手段からのコマンドを受信し、飾り図柄を可変表示する可変表示装置９の表示制御を行う。このように、この実施の形態では、スピーカ２７の音出力制御や、各ランプ２５，２８ａ，２８ｂ，２８ｃの表示制御、可変表示装置９の表示制御が行われることによって、各種の遊技演出が実行される。
【００６９】
また、この実施の形態では、払出制御基板３７に搭載されている払出制御手段（払出制御用マイクロコンピュータ３７０で構成される。）が、遊技制御用マイクロコンピュータ５６０からの賞球コマンドを受信し、球払出装置９７に駆動信号を出力して球払出装置９７に払出モータを回転させることにより、賞球の払出処理を実行させる。
【００７０】
図３は、中継基板、音／ランプ制御基板および図柄制御基板の回路構成例を示すブロック図である。図３に示すように、音／ランプ制御基板８０ｂは、音／ランプ制御用ＣＰＵ１０１ｂおよびＲＡＭを含む音／ランプ制御用マイクロコンピュータ１００ｂを搭載している。なお、ＲＡＭは外付けであってもよい。音／ランプ制御基板８０ｂにおいて、音／ランプ制御用マイクロコンピュータ１００ｂは、内蔵または外付けのＲＯＭ（図示せず）に格納されたプログラムに従って動作し、中継基板７７を介して入力される主基板３１からのストローブ信号（演出制御ＩＮＴ信号）に応じて、入力ドライバ１０２および入力ポート１０３を介して演出制御コマンドを受信する。
【００７１】
演出制御コマンドおよび演出制御ＩＮＴ信号は、音／ランプ制御基板８０ｂにおいて、まず、入力ドライバ１０２に入力する。入力ドライバ１０２は、中継基板７７から入力された信号を音／ランプ制御基板８０ｂの内部に向かう方向にしか通過させない（音／ランプ制御基板８０ｂの内部から中継基板７７への方向には信号を通過させない）信号方向規制手段としての単方向性回路でもある。
【００７２】
中継基板７７には、主基板３１から入力された信号を音／ランプ制御基板８０ｂに向かう方向にしか通過させない（音／ランプ制御基板８０ｂから中継基板７７への方向には信号を通過させない）信号方向規制手段としての単方向性回路が搭載されている。単方向性回路として、例えばダイオードやトランジスタが使用される。図３には、ダイオードが例示されている。また、単方向性回路は、各信号毎に設けられる。
【００７３】
音／ランプ制御用マイクロコンピュータ１００ｂは、ランプドライバ３５２に対してランプを駆動する信号を出力する。ランプドライバ３５２は、ランプを駆動する信号を増幅して天枠ランプ２８ａ、左枠ランプ２８ｂ、右枠ランプ２８ｃ、ボタンランプ１３０などの枠側に設けられている各ランプに供給する。また、枠側に設けられている装飾ランプ２５に供給する。
【００７４】
また、音／ランプ制御用マイクロコンピュータ１００ｂは、音声合成用ＩＣ１７３に対して音番号データを出力する。音声合成用ＩＣ１７３は、音番号データに応じた音声や効果音を発生し増幅回路１７５に出力する。増幅回路１７５は、音声合成用ＩＣ１７３の出力レベルを、ボリューム１７６で設定されている音量に応じたレベルに増幅した音声信号をスピーカ２７に出力する。音声データＲＯＭ１７４には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間（例えば飾り図柄の変動期間）における効果音または音声の出力態様を時系列的に示すデータの集まりである。
【００７５】
なお、ランプを駆動する信号および音番号データは、音／ランプ制御用マイクロコンピュータ１００ｂとランプドライバ３５２および音声合成ＩＣ１７３との間で、双方向通信（信号受信側から送信側に応答信号を送信するような通信）によって伝達される。
【００７６】
また、音／ランプ制御用マイクロコンピュータ１００ｂは、受信した演出制御コマンドを入出力ポート１０４を介して図柄制御基板８０ａに転送するとともに、受信した演出制御コマンドにもとづいてコマンドを生成し、生成したコマンドを入出力ポート１０４を介して図柄制御基板８０ａに送信する。
【００７７】
図３に示すように、図柄制御基板８０ａは、図柄制御用ＣＰＵ１０１ａおよびＲＡＭを含む図柄制御用マイクロコンピュータ１００ａを搭載している。なお、ＲＡＭは外付けであってもよい。図柄制御基板８０ａにおいて、図柄制御用マイクロコンピュータ１００ａは、内蔵または外付けのＲＯＭ（図示せず）に格納されたプログラムに従って動作し、音／ランプ制御基板８０ｂからのストローブ信号（図柄制御ＩＮＴ信号）に応じて、入出力ポート７０２を介してコマンドを受信する。そして、図柄制御用マイクロコンピュータ１００ａは、受信したコマンドにもとづいて、ＶＤＰ（ビデオディスプレイプロセッサ）１０９に、ＬＣＤを用いた可変表示装置９の表示制御を行わせる。
【００７８】
すなわち、図柄制御用マイクロコンピュータ１００ａは、受信したコマンドに従ってＶＤＰ１０９に対して画像の描画指示（展開指示）を行う。ＶＤＰ１０９は、図柄制御用マイクロコンピュータ１００ａからの指示にもとづいてキャラクタＲＯＭ（図示せず）から必要なデータを読み出し、読み出したデータをＶＲＡＭ（図示せず）に展開する。
【００７９】
ＶＲＡＭは、ＶＤＰ１０９によって生成された画像データを展開するためのバッファメモリである。そして、ＶＤＰ１０９は、ＶＲＡＭ内の画像データを可変表示装置９に出力する。これによって、画像が可変表示装置９の表示画面に表示される。
【００８０】
図４は、主基板３１における回路構成および主基板３１から音／ランプ制御基板８０に送信される演出制御コマンドの信号線を示すブロック図である。図４に示すように、この実施の形態では、主基板３１に搭載されている遊技制御用マイクロコンピュータ５６０は、演出制御信号送信用の８本の信号線ＣＤ０〜ＣＤ７を用いて、演出制御コマンドを音／ランプ制御基板８０ｂに送信する。また、主基板３１と音／ランプ制御基板８０ｂとの間には、ストローブ信号を送受するための演出制御ＩＮＴ信号の信号線も配線されている。
【００８１】
主基板３１には、図４に示すように、始動口スイッチ１４ａからの配線が接続されている。また、主基板３１には、２つの大入賞口やその他の入賞口への遊技球の入賞等を検出するための各種スイッチ２９ａ，３０ａからの配線も接続されている。さらに、主基板３１には、可変入賞球装置１５を開閉するソレノイド１６および開閉板２０１，２０２を開閉するソレノイド２４１，２４２への配線が接続されている。
【００８２】
主基板３１は、遊技制御用マイクロコンピュータ５６０、入力ドライバ回路５８および出力回路５９を搭載する。遊技制御用マイクロコンピュータ５６０は、クロック回路５０１、システムリセット手段として機能するリセット／割込みコントローラ５０２、乱数回路５０３ａ，５０３ｂ、ゲーム制御用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用されるＲＡＭ５５、プログラムに従って動作するＣＰＵ５６、ＣＰＵ５６に割込要求信号（タイマ割込による割込要求信号）を送出するＣＴＣ５０４、払出制御基板３７などが備えるマイクロコンピュータと非同期シリアル通信を行うシリアル通信回路５０５およびＩ／Ｏポート部５７を内蔵する。なお、図４には示されていないが、遊技制御用マイクロコンピュータ５６０には、ウォッチドッグタイマ６０も内蔵されている。
【００８３】
なお、この実施の形態では、シリアル通信回路５０５を内蔵するマイクロコンピュータを搭載した基板（例えば、主基板３１）とは異なる基板（例えば、払出制御基板３７）のマイクロコンピュータとの通信にシリアル通信回路５０５を用いる場合を説明するが、シリアル通信回路５０５は、シリアル通信回路５０５を内蔵するマイクロコンピュータを搭載した基板が備える別のマイクロコンピュータとシリアル通信を行ってもよい。例えば、同じ構成の２つのマイクロコンピュータが同じ基板に搭載されている場合に、各マイクロコンピュータが内蔵するシリアル通信回路が相互にシリアル通信を行ってもよい。
【００８４】
クロック回路５０１は、システムクロック信号を２７（＝１２８）分周して生成した所定の周期の基準クロック信号ＣＬＫを、各乱数回路５０３ａ，５０３ｂに出力する。リセット／割込みコントローラ５０２は、ローレベルの信号が一定期間入力されたとき、ＣＰＵ５６および各乱数回路５０３ａ，５０３ｂに所定の初期化信号を出力して、遊技制御用マイクロコンピュータ５６０をシステムリセットする。
【００８５】
また、この実施の形態では、図４に示すように、遊技制御用マイクロコンピュータ５６０は、発生可能な乱数の値の範囲が異なる２つの乱数回路５０３ａ，５０３ｂを搭載する。乱数回路５０３ａは、１２ビットの疑似乱数を発生する乱数回路（以下、１２ビット乱数回路ともいう）である。１２ビット乱数回路５０３ａは、１２ビットで発生できる範囲（すなわち、０から４０９５までの範囲）の値の乱数を発生する機能を備える。また、乱数回路５０３ｂは、１６ビットの疑似乱数を発生する乱数回路（以下、１６ビット乱数回路ともいう）である。１６ビット乱数回路５０３ｂは、１６ビットで発生できる範囲（すなわち、０から６５５３５までの範囲）の値の乱数を発生する機能を備える。なお、この実施の形態では、遊技制御用マイクロコンピュータ５６０が２つの乱数回路を内蔵する場合を説明するが、遊技制御用マイクロコンピュータ５６０は、３以上の乱数回路を内蔵してもよい。また、この実施の形態では、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂを包括的に表現する場合、または、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとのうちいずれかを指す場合に、乱数回路５０３という。
【００８６】
次に、乱数回路５０３の構成について説明する。図５は、乱数回路５０３の構成例を示すブロック図である。なお、この実施の形態において、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとの基本的な構成は同じである。図５に示すように、乱数回路５０３は、カウンタ５２１、比較器５２２、カウント値順列変更回路５２３、クロック信号出力回路５２４、カウント値更新信号出力回路５２５、乱数値読取信号出力回路５２６、乱数更新方式選択信号出力回路５２７、セレクタ５２８、乱数回路起動信号出力回路５３０、乱数値記憶回路５３１、反転回路５３２、ラッチ信号生成回路５３３およびタイマ回路５３４とを含む。
【００８７】
この実施の形態では、乱数回路５０３は、複数種類の識別情報の可変表示の表示結果を特定の表示結果とするか否か（すなわち、特別図柄表示器８の特別図柄の停止図柄を大当り図柄とするか否か）を判定するための大当り判定用の乱数を発生する。そして、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、乱数回路５０３が発生した乱数にもとづいて特定の表示結果にすると判定すると、遊技状態を遊技者にとって有利な特定遊技状態（大当り遊技状態）に移行させる。
【００８８】
カウンタ５２１は、セレクタ５２８によって選択された所定の信号を入力し、セレクタ５２８から入力する信号に応答してカウント値Ｃを出力する。この場合、カウンタ５２１は、所定の初期値を入力し、カウント値Ｃを一定の規則に従って初期値から所定の最終値まで循環的に更新して出力する。また、カウンタ５２１は、カウント値Ｃを最終値まで更新すると、カウント値Ｃを最終値まで更新した旨を示す通知信号をＣＰＵ５６に出力する。この実施の形態では、カウンタ５２１から通知信号が出力されると、ＣＰＵ５６によって初期値が更新される。
【００８９】
この実施の形態において、カウンタ５２１は、セレクタ５２８から信号を入力するごとに（セレクタ５２８からの信号における立ち上がりエッヂが入力されるごとに）、カウント値Ｃを「０」から「４０９５」まで１ずつカウントアップする。また、カウンタ５２１は、カウント値Ｃを「４０９５」までカウントアップすると、カウント値Ｃを最終値まで更新した旨を示す通知信号をＣＰＵ５６に出力する。すると、ＣＰＵ５６は、カウンタ５２１から通知信号を入力し、初期値を更新する。そして、カウンタ５２１は、ＣＰＵ５６によって更新された初期値から「４０９５」まで、再びカウント値Ｃをカウントアップする。また、「４０９５」までカウントアップすると、カウンタ５２１は、再び「０」からカウントを開始する。そして、カウンタ５２１は、更新後の初期値の１つ前の値（最終値）までカウントアップすると、通知信号をＣＰＵ５６に出力する。なお、この実施の形態では、比較器５２２は、後述するように、全てのカウント値を入力すると通知信号をカウンタ５２１に出力する。この場合、カウンタ５２１は、比較器５２２から通知信号を入力すると、カウント値をリセットして「０」にする。
【００９０】
なお、比較器５２２は、入力したカウント値が乱数最大値設定レジスタ５３５に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きい（乱数最大値を超えた）と判断すると、通知信号をカウンタ５２１に出力してもよい。この場合、例えば、比較器５２２は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力する前に、通知信号をカウンタ５２１に出力する。例えば、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されている場合を考える。この場合、カウンタ５２１が「０」から「２５６」までカウントアップし、さらにカウント値「２５７」を出力すると、比較器５２２は、入力したカウント値「２５７」が乱数最大値「２５６」を超えたと判断し、カウンタ５２１に通知信号を出力する。比較器５２２から通知信号を入力すると、カウンタ５２１は、クロック信号出力回路５２４からの乱数発生用クロック信号ＳＩ１の入力を待つことなく、カウント値を「２５８」に更新し出力する。以上の処理を繰り返し実行することによって、比較器５２２は、カウント値「２５７」から「４０９５」まで入力している間、カウント値が乱数最大値を超えていると判断して、繰り返しカウンタ５２１に通知信号を出力する。そして、カウンタ５２１は、比較器５２２から通知信号を入力している間、クロック信号出力回路５２４からの乱数発生用クロック信号ＳＩ１の入力を待つことなく、カウント値を繰り返し更新し出力する。そのようにすることによって、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力するまでの間に、「２５７」から「４０９５」までカウント値を高速にカウントアップさせるように制御し、「２５７」から「４０９５」までの乱数値を読み飛ばす（乱数値記憶回路５３１に記憶させない）ように制御する。
【００９１】
カウント値順列変更回路５２３は、カウント値順列変更レジスタ（ＲＳＣ）５３６、更新規則選択レジスタ（ＲＲＣ）５４２および更新規則メモリ５４３を含む。カウント値順列変更レジスタ５３６は、カウンタ５２１がカウントアップするカウント値Ｃの更新順である順列（初期値から最終値までの並び順）を変更させるためのカウント値順列変更データ「０１ｈ」を格納する。カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６に数値順列変更データ「０１ｈ」が格納されているとき、カウンタ５２１がカウントアップして更新するカウント値Ｃの順列を、カウント値順列変更データ「０１ｈ」が格納されていないときとは異なる順列に変更する。この場合、カウント値順列変更回路５２３は、数値順列変更データ「０１ｈ」が格納されているとき、カウント値の順列の変更に用いる更新規則を切り換える。また、カウント値の順列の変更に用いる更新規則を切り換えた後に、カウンタ５２１がカウント値の更新を開始すると、カウント値順列変更レジスタ５３６のカウント値順列変更データは、ＣＰＵ５６によって、「０１ｈ」から初期値である「０（＝００ｈ）」に戻される（クリアされる）。
【００９２】
なお、ＣＰＵ５６によってカウント値順列変更データをクリアするのでなく、乱数回路５０３側でカウント値順列変更データをクリアするようにしてもよい。例えば、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれたことにもとづいて、更新規則選択レジスタ（ＲＲＣ）５４２にレジスタ値が設定されると、カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６のレジスタ値をクリアするようにしてもよい。
【００９３】
図６は、更新規則選択レジスタ５４２の例を示す説明図である。更新規則選択レジスタ５４２は、カウンタ５２１が出力するカウント値の並び順の並べ替え（順列の変更）に用いる更新規則を設定するレジスタである。この実施の形態では、更新規則選択レジスタ５４２にレジスタ値が設定されることによって、カウンタ５２１が出力するカウント値の順列の変更に用いる更新規則が設定される。図６に示すように、更新規則選択レジスタ５４２は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、更新規則選択レジスタ５４２は、ビット０〜ビット３が書込および読出ともに可能な状態に構成されている。また、更新規則選択レジスタ５４２は、ビット４〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、更新規則選択レジスタ５４２のビット４〜ビット７に値を書き込む制御を行っても無効とされ、ビット４〜ビット７から読み出す値は全て「０（＝００００ｂ）」である。
【００９４】
更新規則選択レジスタ５４２の値（レジスタ値）は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれたことに応じて、レジスタ値が「０（＝００ｈ）」から「１５（＝０Ｆｈ）」まで循環的に更新される。すなわち、カウント値順列変更レジスタ５３６にカウント値順列データ「０１ｈ」が書き込まれるごとに、更新規則選択レジスタ５４２のレジスタ値は、「０」から「１」ずつ加算され、「１５」になると再び「０」に戻る。
【００９５】
図７は、更新規則メモリ５４３の例を示す説明図である。図７に示すように、更新規則メモリ５４３は、更新規則選択レジスタ５４２の値（レジスタ値）と、カウント値の更新規則とを対応付けて格納している。図７に示す例では、例えば、更新規則選択レジスタ５４２にレジスタ値１が設定されている場合、更新規則Ｂを用いて、カウンタ５２１が出力するカウント値の順列が変更されることが分かる。なお、図７において、更新規則Ａは、カウンタ５２１がカウント値Ｃを更新する規則と同一の更新規則であり、レジスタ値「０」に対応づけて更新規則メモリ５４３に格納される。また、更新規則メモリ５４３には、カウンタ５２１がカウント値Ｃを更新する更新規則とは異なる更新規則Ｂ〜Ｐが、レジスタ値「１」〜「１５」に対応づけて格納される。
【００９６】
カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれている場合、まず、カウンタ５２１からカウント値の最終値「４０９５」が最初に入力されるまで、現在設定されている更新規則に従って、そのままカウント値を出力する。そして、カウント値順列変更回路５２３は、カウンタ５２１からカウント値の最終値「４０９５」を入力すると、カウント値の更新規則を変更する。なお、ＣＰＵ５６によって初期値が変更されている場合には、カウント値順列変更回路５２３は、カウンタ５２１から変更後の最終値（初期値の１つ前の値）まで入力すると、カウント値の更新規則を変更することになる。
【００９７】
カウント値順列変更回路５２３は、更新規則選択レジスタ５４２のレジスタ値に対応する更新規則を更新規則メモリ５４３から選択し、カウント値の順列の変更に用いる更新規則として設定する。また、カウント値順列変更回路５２３は、カウンタ５２１によって再び初期値「０」から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更する。なお、ＣＰＵ５６によって初期値が変更されている場合には、カウント値順列変更回路５２３は、カウンタ５２１によって変更後の初期値から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更することになる。そして、カウント値順列変更回路５２３は、変更した順列に従ってカウント値を出力する。
【００９８】
なお、この実施の形態では、後述する乱数最大値設定レジスタ５３５に乱数最大値が設定されていることによって、発生させる乱数の最大値が制限されている場合、カウント値順列変更回路５２３は、カウント値Ｃを乱数最大値以下に制限して順列を変更して出力する。例えば、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されているものとし、カウント値順列変更回路５２３が、更新規則Ａから更新規則Ｂに変更して、カウント値の順列を変更するものとする。この場合、カウント値順列変更回路５２３は、比較器５２２の乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ｂに従って、カウント値の順列を「２５６→２５５→・・・→０」に変更して出力する。なお、カウント値順列変更回路５２３が最大値以下のカウント値を出力するのではなく、カウント値順列変更回路５２３はカウント値に応じた値を出力し、比較器５２２が最大値以上か否かを判定して、最大値以上であるときは、乱数値を読み飛ばす（乱数値記憶回路５３１に記憶させない）ように制御する構成であってもよい。
【００９９】
以上のように、カウント値順列変更回路５２３は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」が書き込まれている場合、更新規則を切り替えて用いることによって、カウント値Ｃの順列を変更して出力する。そのため、乱数回路５０３が生成する乱数のランダム性を向上させることができる。
【０１００】
図８は、カウント値順列変更回路５２３が、カウンタ５２１が出力するカウント値の順列を変更する場合の例を示す説明図である。図８に示すように、ＣＰＵ５６は、所定のタイミングで、カウント値順列変更データ「０１ｈ」をカウント値順列変更レジスタ５３６に書き込む。すると、更新規則選択レジスタ５４２のレジスタ値が１加算される。例えば、更新規則選択レジスタ５４２のレジスタ値が「０」から「１」に更新される。レジスタ値が更新されると、カウント値順列変更回路５２３は、カウンタ５２１から最初にカウント値の最終値「４０９５」が入力されるまで、更新前のレジスタ値「０」に対応する「更新規則Ａ」に従ってカウント値を更新して出力する。このとき、カウント値順列変更回路５２３は、更新規則Ａに従って、「０→１→・・・→４０９５」の順列でカウント値を出力する。
【０１０１】
カウンタ５２１からカウント値の最終値「４０９５」が入力されると、カウント値順列変更回路５２３は、更新規則メモリ５４３から、更新後のレジスタ値「１」に対応する「更新規則Ｂ」を選択して設定する。カウント値順列変更回路５２３は、カウンタ５２１から再び初期値「０」以降のカウント値の入力を開始すると、選択設定した「更新規則Ｂ」に従って、カウント値の順列を変更して出力する。本例では、カウント値順列変更回路５２３は、順列を「０→１→・・・→４０９５」から「４０９５→４０９４→・・・→０」に変更して、カウント値を出力する。
【０１０２】
その後、カウント値順列変更レジスタ５３６は、後述するように、カウント値順列変更回路５２３が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じてリセットされる。そして、次にカウント値順列変更データ「０１ｈ」がカウント値順列変更レジスタ５３６に書き込まれるまで、カウント値順列変更回路５２３は、「４０９５→４０９４→・・・→０」のままの順列で、カウント値を出力し続ける。
【０１０３】
ＣＰＵ５６によってカウント値順列変更データ「０１ｈ」がカウント値順列変更レジスタ５３６に再度書き込まれると、カウント値順列変更レジスタ５３６のレジスタ値が「１」から「２」に更新される。そして、カウンタ５２１からカウント値の最終値「４０９５」を入力すると、カウント値順列変更回路５２３は、更新規則メモリ５４３から、レジスタ値「２」に対応する「更新規則Ｃ」を選択して設定する。カウント値順列変更回路５２３は、カウンタ５２１から再び初期値「０」以降のカウント値の入力を開始すると、選択設定した「更新規則Ｃ」に従って、カウント値の順列を更新して出力する。本例では、カウント値順列変更回路５２３は、順列を「４０９５→４０９４→・・・→０」から「１→３→…→４０９５→０→・・・→４０９４」に変更して、カウント値を出力する。
【０１０４】
以上のように、カウント値順列変更レジスタ５３６をリセットした後、カウント値順列データ「０１ｈ」をカウント値順列変更レジスタ５３６に再度書き込むことによって、カウント値の順列をさらに変更することができる。
【０１０５】
図９は、カウント値順列変更レジスタ５３６の例を示す説明図である。カウント値順列変更レジスタ５３６は、カウンタ５２１がカウントアップするカウント値の順列を変更させるためのカウント値順列変更データ「０１ｈ」を設定するレジスタである。図９に示すように、カウント値順列変更レジスタ５３６は、読出可能な８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、カウント値順列変更レジスタ５３６は、ビット０だけが書込および読出ともに可能な状態に構成されている。すなわち、カウント値順列変更レジスタ５３６は、ビット１〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、カウント値順列変更レジスタ５３６のビット１〜ビット７に値を書き込む制御を行っても無効とされ、ビット１〜ビット７から読み出す値は全て「０（＝０００００００ｂ）」である。
【０１０６】
なお、カウント値順列変更レジスタ５３６の値は、カウント値順列変更回路５２３が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じて、ＣＰＵ５６によってリセットされる。この場合、ＣＰＵ５６は、カウント値順列変更レジスタ５３６に書き込まれている値を、カウント値順列変更データ「０１ｈ」から初期値である「０（＝００ｈ）」に戻す。
【０１０７】
比較器５２２は、ランダムＲの最大値（乱数最大値）を指定するための乱数最大値設定データを格納する乱数最大値設定レジスタ（ＲＭＸ）５３５を備える。比較器５２２は、乱数最大値設定レジスタ５３５に格納されている乱数最大値設定データに示される乱数最大値に従って、カウンタ５２１が更新するカウント値の更新範囲を制限する。この実施の形態では、比較器５２２は、カウンタ５２１から入力するカウント値と乱数最大値設定レジスタ５３５に格納されている乱数最大値設定データ（例えば「００ＦＦｈ」）に示される乱数最大値（例えば「２５６」）とを比較する。そして、比較器５２２は、入力したカウント値が乱数最大値以下であると判断すると、入力したカウント値を乱数値記憶回路５３１に出力する。
【０１０８】
この実施の形態では、比較器５２２は、具体的には、以下のような制御を行う。比較器５２２は、カウント値の初期値更新の際に、ＣＰＵ５６からカウント値の初期値をもらい、初期値から乱数最大値までのカウント値の個数を求める。例えば、カウント値の初期値が「１５７」であり乱数最大値が「２５６」である場合、比較器５２２は、初期値から乱数最大値までのカウント値の個数を「１００個」と求める。また、比較器５２２は、カウント値順列変更回路５２３からカウント値を入力するに従って、初期値からカウント値をいくつ入力したかをカウントアップする。初期値からカウント値を入力した回数が「１００回」に達すると、比較器５２２は、初期値「１５７」から最大値「２５６」までの全てのカウント値を入力したと判断する。そして、比較器５２２は、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。カウント値の個数で判断することによって、カウント値順列変更回路５２３によってカウント値の順列が変更されている場合であっても、比較器５２２は、カウント値の更新範囲を乱数最大値以下に制限し、全てのカウント値を入力した際にカウンタ５２１に通知信号を出力することができる。
【０１０９】
カウント値の更新範囲を比較器５２２が制限する動作について説明する。なお、本例では、カウント値順列変更回路５２３が更新規則Ａを選択し、乱数最大値設定レジスタ５３５に乱数最大値「２５６」が設定されている場合を説明する。
【０１１０】
カウンタ５２１が「０」から「２５６」までカウント値を更新している間、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ａに従って、「０」から「２５６」までのカウント値をそのまま比較器５２２に出力する。この場合、カウント値順列変更回路５２３は、比較器５２２から乱数最大値「２５６」の値をもらい、カウンタ５２１から入力するカウント値が乱数最大値より大きいか否かを判断し、更新規則が変更されているとき（例えば、更新規則Ｂ）であっても、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、「２５７」から「４０９５」までのカウント値を比較器５２２に出力しない。カウンタ５２１は、例えば、初期値が「０」と設定されているときに、最終値「２５６」までカウント値を更新すると、通知信号をＣＰＵ５６に出力する。通知信号を出力すると、ＣＰＵ５６によって、カウンタ５２１のカウント値の初期値が変更される。本例では、ＣＰＵ５６によって、初期値が「５０」に変更されるものとする。
【０１１１】
なお、カウント値が乱数最大値「２５６」より大きいか否かをカウント値順列変更回路５２３が判断するのでなく、比較器５２２が判定するようにしてもよい。この場合、例えば、比較器５２２は、カウント値が乱数最大値設定レジスタ５３５に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きいと判断すると、通知信号をカウンタ５２１に出力する。そして、比較器５２２は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力する前に、通知信号をカウンタ５２１に出力する。そのようにすることによって、比較器５２２は、クロック信号出力回路５２４が次に乱数発生用クロック信号ＳＩ１を出力するまでの間に、「２５７」から「４０９５」までカウント値を高速にカウントアップさせるようにカウンタ５２１を制御する。そのようにすることによって、カウント値順列変更回路５２３からの値が「２５７」未満のときだけカウント値を乱数値記憶回路５３１に出力するようにし、カウント値順列変更回路５２３からの値が「２５７」以上のときにはカウント値を高速で更新させるようにすることができる。
【０１１２】
更新規則Ａにもとづいて、カウント値順列変更回路５２３から、「０」から「２５５」までカウント値を入力している間、比較器５２２は、入力するカウント値が乱数最大値「２５６」以下であるので、入力したカウント値をそのまま乱数値記憶回路５３１に出力する。次に、カウント値順列変更回路５２３から入力するカウント値が「２５６」に達すると、比較器５２２は、入力したカウント値を乱数値記憶回路５３１に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。具体的には、比較器５２２は、カウント値の初期値変更の際に、ＣＰＵ５６からカウント値の初期値（本例では、「０」）をもらい、初期値「０」から乱数最大値（本例では、「２５６」）までのカウント値の個数（本例では、「２５７個」）を求める。そして、カウント値順列変更回路５２３から入力したカウント値の個数が２５７個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。なお、本例では、ＣＰＵ５６によって初期値が「５０」に変更されるので、カウンタ５２１は、比較器５２２から通知信号を入力しても、カウント値をリセットするとなく、変更後の初期値「５０」からカウント値の更新を行う。
【０１１３】
カウンタ５２１が変更後の初期値「５０」から「２５６」までカウント値を更新している間、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、更新規則Ａに従って、「５０」から「２５６」までのカウント値をそのまま比較器５２２に出力する。また、カウント値順列変更回路５２３は、乱数最大値設定レジスタ５３５に設定されている乱数最大値「２５６」にもとづいて、「２５７」から「４０９５」までのカウント値を比較器５２２に出力せず、カウンタ５２１の更新するカウント値が１周したとき（２５７回更新したとき）に、カウント値順列変更レジスタ５３６にカウント値順列変更データが書き込まれた場合には、カウント値順列変更回路５２３は、カウント値の順列を変更して出力する。例えば、更新規則が更新規則Ｂに変更された場合、カウント値順列変更回路５２３は、カウント値の順列を「２５６→２５５→・・・→５０」に変更して出力する。
【０１１４】
カウント値順列変更回路５２３から、「２５６」から「５０」までカウント値を入力している間、比較器５２２は、入力したカウント値をそのまま乱数値記憶回路５３１に出力する。次に、カウント値順列変更回路５２３から入力するカウント値が「５０」に達すると、比較器５２２は、入力したカウント値を乱数値記憶回路５３１に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。具体的には、比較器５２２は、カウント値の初期値変更の際に、ＣＰＵ５６からカウント値の初期値（本例では、「５０」）をもらい、初期値「５０」から乱数最大値（本例では、「２５６」）までのカウント値の個数（本例では、「２０７個」）を求める。そして、カウント値順列変更回路５２３から入力したカウント値の個数が２０７個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ５２１に出力する。
【０１１５】
なお、カウント値順列変更回路５２３がカウント値の順列を変更した場合であっても、比較器５２２は、カウント値の個数が２０７個に達すると、通知信号をカウンタ５２１に出力する。そのようにすることによって、カウント値の順列が変更された場合であっても、初期値「５０」から最大値「２５６」までの全てのカウント値を入力したことにもとづいて、通知信号をカウンタ５２１に出力できる。
【０１１６】
比較器５２２から通知信号を入力すると、カウンタ５２１は、カウント値の初期値をリセットし「０」に戻す。そして、カウンタ５２１は、「０」からカウント値の更新を行う。カウンタ５２１の値が「０」から再び更新がされると、カウンタ５２１からのカウント値にもとづいて、カウント値順列変更回路５２３は「４９」〜「０」までのカウント値を比較器５２２に出力し、比較器５２２はカウント値順列変更回路５２３からのカウント値の入力にもとづいて乱数値記憶回路５３１にカウント値を出力する。そして、カウンタ５２１は、最終値（本例では、「４９」）までカウント値を更新すると、通知信号をＣＰＵ５６に出力する。通知信号を出力すると、ＣＰＵ５６によって、カウンタ５２１のカウント値の初期値が再び変更される。
【０１１７】
以上のような動作を繰り返すことにより、比較器５２２は、カウンタ５２１に、「０」から乱数最大値「２５６」まで連続的にカウント値をカウントアップさせ、「０」から「２５６」までの値を乱数値記憶回路５３１にランダムＲ（乱数値）として記憶させる。すなわち、比較器５２２は、カウント値の更新範囲を乱数最大値「２５６」以下に制限して、カウンタ５２１にカウント値を更新させる。
【０１１８】
図１０は、乱数最大値設定レジスタ５３５の例を示す説明図である。図１０（ａ）は、１２ビット乱数回路５０３ａが搭載する乱数最大値設定レジスタ５３５の例を示す。また、図１０（ｂ）は、１６ビット乱数回路５０３ｂが搭載する乱数最大値設定レジスタ５３５の例を示す。まず、１２ビット乱数回路５０３ａが搭載する乱数最大値設定レジスタ５３５について説明する。図１０（ａ）に示すように、１２ビット乱数回路５０３ａにおいて、乱数最大値設定レジスタ５３５は、１６ビットレジスタであり、初期値が「４０９５（＝０ＦＦＦｈ）」に設定されている。乱数最大値設定レジスタ５３５は、ビット０〜ビット１１が書込および読出ともに可能な状態に構成されている。また、乱数最大値設定レジスタ５３５は、ビット１２〜ビット１５が書込および読出ともに不可能な状態に構成されている。したがって、１２ビット乱数回路５０３ａにおいて、乱数最大値設定レジスタ５３５のビット１２〜ビット１５に値を書き込む制御を行っても無効とされ、ビット１２〜ビット１５から読み出す値は全て「０（＝００００ｂ）」である。
【０１１９】
また、乱数最大値設定レジスタ５３５に設定される乱数最大値は、所定の下限値が定められている。この実施の形態では、乱数最大値設定レジスタ５３５に下限値「２５６」より小さい値を指定する乱数最大値設定データ「００００ｈ」〜「００ＦＥｈ」が書き込まれた場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に、初期値「４０９５」を指定する乱数最大値設定データ「０ＦＦＦｈ」を設定しなおす。すなわち、乱数最大値設定レジスタ５３５に設定可能な乱数最大値は「２５６」から「４０９５」までであり、ＣＰＵ５６は、下限値「２５６」より小さい値が設定されていると判断すると、乱数最大値を所定値「４０９５」に設定しなおす。なお、ＣＰＵ５６は、リセット／割込みコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ５３５を書込不可能に制御する。なお、ＣＰＵ５６により書込不可能に制御するのでなく、乱数最大値設定レジスタ５３５は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
【０１２０】
次に、１６ビット乱数回路５０３ｂが搭載する乱数最大値設定レジスタ５３５について説明する。図１０（ｂ）に示すように、１６ビット乱数回路５０３ｂにおいて、乱数最大値設定レジスタ５３５は、１６ビットレジスタであり、初期値が「６５５３５（＝ＦＦＦＦｈ）」に設定されている。また、１６ビット乱数回路５０３ｂにおいて、乱数最大値設定レジスタ５３５は、ビット０〜ビット１５の全てのビットが書込および読出ともに可能な状態に構成されている。
【０１２１】
また、乱数最大値設定レジスタ５３５に下限値「５１２」より小さい値を指定する乱数最大値設定データ「００００ｈ」〜「０１ＦＥｈ」が書き込まれた場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に、初期値「６５５３５」を指定する乱数最大値設定データ「ＦＦＦＦｈ」を設定しなおす。すなわち、乱数最大値設定レジスタ５３５に設定可能な乱数最大値は「５１２」から「６５５３５」までであり、ＣＰＵ５６は、下限値「５１２」より小さい値が設定されていると判断すると、乱数最大値を所定値「６５５３５」に設定しなおす。なお、ＣＰＵ５６は、リセット／割込みコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ５３５を書込不可能に制御する。この場合、ＣＰＵ５６により書込不可能に制御するのでなく、乱数最大値設定レジスタ５３５は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
【０１２２】
クロック信号出力回路５２４は、セレクタ５２８および反転回路５３２に出力するクロック信号の周期（すなわち、カウント値の更新周期）を指定するための周期設定データを格納する周期設定レジスタ（ＲＰＳ）５３７を備える。クロック信号出力回路５２４は、周期設定レジスタ５３７に格納されている周期設定データに基づいて、遊技制御用マイクロコンピュータ５６０が搭載するクロック回路５０１から入力する基準クロック信号ＣＬＫを分周して、乱数回路５０３内部で乱数値の生成に用いるクロック信号（乱数発生用クロック信号ＳＩ１）を生成する。そのようにすることによって、クロック信号出力回路５２４は、クロック信号を所定回数入力したことを条件に、カウント値Ｃを更新させるための乱数発生用クロック信号ＳＩ１をカウンタ５２１に出力するように動作する。なお、周期設定データとは、クロック回路５０１から入力した基準クロック信号ＣＬＫを何分周させるかを設定するためのデータである。また、クロック出力回路５２４は、生成した乱数発生用クロック信号ＳＩ１をセレクタ５２８および反転回路５３２に出力する。例えば、周期設定レジスタ５３７に周期設定データ「０Ｆｈ（＝１６）」が書き込まれている場合、クロック信号出力回路５２４は、クロック回路５０１から入力する基準クロック信号ＣＬＫを１６分周して乱数発生用クロック信号ＳＩ１を生成する。この場合、クロック信号出力回路５２４が生成する乱数発生用クロック信号ＳＩ１の周期は、「システムクロック信号の周期×１２８×１６」となる。
【０１２３】
図１１は、周期設定レジスタ５３７の例を示す説明図である。図１１に示すように、周期設定レジスタ５３７は、８ビットレジスタであり、初期値が「２５６（＝ＦＦｈ）」に設定されている。また、周期設定レジスタ５３７は、書込および読出ともに可能な状態に構成されている。
【０１２４】
また、周期設定レジスタ５３７に設定される周期設定データの値は、所定の下限値が定められている。この実施の形態では、周期設定レジスタ５３７に下限値「システムクロック信号の周期×１２８×７」より小さい値を指定する周期設定データ「００ｈ〜０６ｈ」が書き込まれた場合、ＣＰＵ５６は、周期設定レジスタ５３７に下限値「システムクロック信号の周期×１２８×７」を指定する周期設定データ「０７ｈ」を設定しなおす。すなわち、周期設定レジスタ５３７に設定可能な周期は「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」までであり、ＣＰＵ５６は、下限値より小さい値が設定されていると判断すると、周期設定データを設定しなおす。なお、ＣＰＵ５６は、リセット／割込みコントローラ５０２によって遊技制御用マイクロコンピュータ５６０がシステムリセットされるまで、周期設定データが書き込まれた周期設定レジスタ５３７を書込不可能に制御する。なお、ＣＰＵ５６により書込不可能に制御するのでなく、周期設定レジスタ５３７は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
【０１２５】
なお、周期設定レジスタ５３７に下限値としての周期設定データを設定することなく、設定された周期設定データに基づいて、例えばクロック信号出力回路５２４が基準クロック信号ＣＬＫをそのままカウンタ５２１および反転回路５３２に出力するようにしてもよい。この場合、ＣＰＵ５６は、周期設定レジスタ５３７に設定される周期設定データの値を下限値と比較して設定しなおす処理を行う必要がなくなる。また、カウンタ５２１は、クロック信号出力回路５２４から基準クロック信号ＣＬＫを入力する毎にカウント値Ｃを更新することになる。
【０１２６】
カウント値更新信号出力回路５２５は、カウント値更新データ「０１ｈ」を格納するカウント値更新レジスタ（ＲＧＮ）５３８を備える。カウント値更新データとは、カウント値の更新を要求するためのデータである。カウント値更新信号出力回路５２５は、カウント値更新レジスタ５３８にカウント値更新データ「０１ｈ」が書き込まれたことに応じて、カウント値更新信号ＳＩ３をセレクタ５２８に出力する。
【０１２７】
図１２は、カウント値更新レジスタ５３８の例を示す説明図である。図１２に示すように、カウント値更新レジスタ５３８は、読出不能な８ビットレジスタであり、ビット０のみが書込可能な状態に構成されている。したがって、カウント値更新レジスタ５３８のビット１〜ビット７に値を書き込む制御を行っても無効とされる。
【０１２８】
乱数値読取信号出力回路５２６は、乱数値取込データ「０１ｈ」を格納する乱数値取込レジスタ（ＲＬＴ）５３９を備える。乱数値取込データとは、乱数値記憶回路５３１へのカウント値の取込を要求するためのデータである。乱数値読取信号出力回路５２６は、乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」が書き込まれたことに応じて、乱数値の読み取りを要求するための乱数値読取信号をラッチ信号生成回路５３３に出力する。
【０１２９】
図１３は、乱数値取込レジスタ５３９の例を示す説明図である。図１３に示すように、乱数値取込レジスタ５３９は、読出不能な８ビットレジスタである。また、乱数値取込レジスタ５３９は、ビット０だけが書込可能な状態に構成されている。すなわち、乱数値取込レジスタ５３９のビット１〜ビット７に値を書き込む制御を行っても無効とされる。
【０１３０】
乱数更新方式選択信号出力回路５２７は、乱数更新方式選択データを格納する乱数更新方式選択レジスタ（ＲＴＳ）５４０を備える。乱数更新方式選択データとは、ランダムＲの値を更新する方式である各乱数更新方式のうち、いずれかの乱数更新方式を指定するためのデータである。乱数更新方式選択信号出力回路５２７は、乱数更新方式選択レジスタ５４０に乱数更新方式選択データが書き込まれたことに応じて、書き込まれた乱数更新方式選択データにより指定される乱数更新方式に対応する乱数更新方式選択信号を、セレクタ５２８およびラッチ信号生成回路５３３に出力する。
【０１３１】
図１４（Ａ）は、乱数更新方式選択レジスタ５４０の例を示す説明図である。図１４（Ａ）に示すように、乱数更新方式選択レジスタ５４０は、８ビットレジスタであり、初期値が「００ｈ」に設定されている。また、乱数更新方式選択レジスタ５４０は、ビット０〜ビット１が書込および読出ともに可能な状態に構成されている。また、乱数更新方式選択レジスタ５４０は、ビット２〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、乱数更新方式選択レジスタ５４０のビット２〜ビット７に値を書き込む制御を行っても無効とされ、ビット２〜ビット７から読み出す値は全て「０（＝００００００ｂ）」である。
【０１３２】
図１４（Ｂ）は、乱数更新方式選択レジスタ５４０に書き込まれる乱数更新方式選択データの一例の説明図である。図１４（Ｂ）に示すように、乱数更新方式選択データは、２ビットのデータから構成される。乱数更新方式選択データ「０１ｂ」は、第１の乱数更新方式を指定するために用いられる。また、乱数更新方式選択データ「１０ｂ」は、第２の乱数更新方式を指定するために用いられる。なお、この実施の形態では、第１の乱数更新方式とは、カウント値更新信号出力回路５２５からカウント値更新信号ＳＩ３が出力されたことをトリガとして、カウント値を更新する方式である。また、第２の乱数更新方式とは、クロック信号出力回路５２４から乱数発生用クロック信号ＳＩ１が出力されたことをトリガとして、カウント値を更新する方式である。また、乱数更新方式選択データ「０１ｂ」または「１０ｂ」が乱数更新方式選択レジスタ５４０に書き込まれた場合、乱数回路５０３は起動可能な状態となる。一方、乱数更新方式選択データ「００ｂ」または「１１ｂ」が乱数更新方式選択レジスタ５４０に書き込まれた場合、乱数回路５０３は起動不能な状態となる。
【０１３３】
セレクタ５２８は、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３、またはクロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１のいずれかを選択してカウンタ５２１に出力する。セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第１の乱数更新方式に対応する乱数更新方式選択信号（第１の乱数更新方式選択信号ともいう）が入力されると、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３を選択してカウンタ５２１に出力する。一方、セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式に対応する乱数更新方式選択信号（第２の乱数更新方式選択信号ともいう）が入力されると、クロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１を選択してカウンタ５２１に出力する。なお、セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第１の更新方式選択信号が入力されると、カウント値更新信号出力回路５２５から出力されるカウント値更新信号ＳＩ３に応じて、クロック信号出力回路５２４から出力される乱数発生用クロック信号ＳＩ１に同期した数値データの更新を指示する数値更新指示信号を、カウンタ５２１に出力してもよい。
【０１３４】
乱数回路起動信号出力回路５３０は、乱数回路起動データ「８０ｈ」を格納する乱数回路起動レジスタ（ＲＳＴ）５４１を備える。乱数回路起動データとは、乱数回路５０３の起動を要求するためのデータである。乱数回路起動信号出力回路５３０は、乱数回路起動レジスタ５４１に乱数回路起動データ「８０ｈ」が書き込まれると、所定の乱数回路起動信号をカウンタ５２１およびクロック信号出力回路５３７に出力し、カウンタ５２１およびクロック信号出力回路５２４をオンにさせる。そして、カウンタ５２１によるカウント値の更新動作とクロック信号出力回路５２４による内部クロック信号の出力動作とを開始させることによって、乱数回路５０３を起動させる。
【０１３５】
図１５は、乱数回路起動レジスタ５４１の例を示す説明図である。図１５に示すように、乱数回路起動レジスタ５４１は、８ビットレジスタであり、初期値が「００ｈ」に設定されている。乱数回路起動レジスタ５４１は、ビット７だけが書込および読出ともに可能な状態に構成されている。また、乱数回路起動レジスタ５４１は、ビット０〜ビット６が書込および読出ともに不可能な状態に構成されている。すなわち、乱数回路起動レジスタ５４１のビット０〜ビット６に値を書き込む制御を行っても無効とされ、ビット０〜ビット６から読み出す値は全て「０（＝００００００ｂ）」である。
【０１３６】
乱数値記憶回路５３１は、例えば１６ビットレジスタであり、遊技制御処理における大当り判定において用いられる乱数であるランダムＲの値を格納する。乱数値記憶回路５３１は、ラッチ信号生成回路５３３からラッチ信号ＳＬを入力したことに応じて、カウンタ５２１から比較器５２２を介して出力されるカウント値ＣをランダムＲの値として格納する。そして、乱数値記憶回路５３１は、ラッチ信号生成回路５３３からラッチ信号ＳＬを入力するごとに、カウンタ５２１が更新するカウント値Ｃを読み込んでランダムＲの値を記憶する。
【０１３７】
図１６は、乱数値記憶回路５３１の一構成例を示す回路図である。乱数値記憶回路５３１は、図１６に示すように、２個のＡＮＤ回路２０１，２０３と、２個のＮＯＴ回路２０２，２０４と、１６個のフリップフロップ回路２１０１〜２１１６と、１６個のＯＲ回路２２０１〜２２１６とを含む。
【０１３８】
図１６に示すように、ＡＮＤ回路２０１の入力端子は、ラッチ信号生成回路５３３の出力端子とＮＯＴ回路２０４の出力端子とに接続され、出力端子は、ＮＯＴ回路２０２の入力端子とフリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６とに接続されている。ＮＯＴ回路２０２の入力端子は、ＡＮＤ回路２０１の出力端子に接続され、出力端子は、ＡＮＤ回路２０３の一方の入力端子に接続されている。
【０１３９】
ＡＮＤ回路２０３の入力端子は、ＮＯＴ回路２０２の出力端子と遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６とに接続され、出力端子は、ＮＯＴ回路２０４の入力端子に接続されている。ＮＯＴ回路２０４の入力端子は、ＡＮＤ回路２０３の出力端子に接続され、出力端子は、ＡＮＤ回路２０１の一方の入力端子とＯＲ回路２２０１〜２２１６の一方の入力端子とに接続されている。
【０１４０】
フリップフロップ回路２１０１〜２１１６の入力端子Ｄ１〜Ｄ１６は、比較器５２２の出力端子に接続されている。フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６は、ＡＮＤ回路２０１の出力端子に接続され、出力端子Ｑ１〜Ｑ１６は、ＯＲ回路２２０１〜２２１６の他方の入力端子に接続されている。
【０１４１】
ＯＲ回路２２０１〜２２１６の入力端子は、ＮＯＴ回路２０４の出力端子とフリップフロップ回路２１０１〜２１１６の出力端子とに接続され、出力端子は、遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６に接続されている。
【０１４２】
乱数値記憶回路５３１の動作について説明する。図１７は、乱数値記憶回路５３１に各信号が入力されるタイミング、および乱数値記憶回路５３１が各信号を出力するタイミングを示すタイミングチャートである。図１７に示すように、遊技制御用マイクロコンピュータ５６０が搭載するＣＰＵ５６から出力制御信号ＳＣ（本例では、ハイレベル信号）が入力されていない場合（すなわち、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルの場合）、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されると（図１７に示す例では、タイミングＴ１，Ｔ２，Ｔ７のとき）、ＡＮＤ回路２０１の２つの入力端子への入力はともにハイレベルとなる。そのため、ＡＮＤ回路２０１の出力端子から出力される信号ＳＲはハイレベルとなる。そして、ＡＮＤ回路２０１から出力された信号ＳＲは、フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６に入力される。
【０１４３】
フリップフロップ回路２１０１〜２１１６は、クロック端子Ｃｌｋ１〜Ｃｌｋ１６から入力される信号ＳＲの立ち上がりエッヂに応答して、比較器５２２から入力端子Ｄ１〜Ｄ１６を介して入力されるカウント値ＣのビットデータＣ１〜Ｃ１６を乱数値のビットデータＲ１〜Ｒ１６としてラッチして記憶する。また、フリップフロップ回路２１０１〜２１１６は、記憶するランダムＲのビットデータＲ１〜Ｒ１６を出力端子Ｑ１〜Ｑ１６から出力する。
【０１４４】
出力制御信号ＳＣが入力されていない場合（図１７に示す例では、タイミングＴ３までの期間およびタイミングＴ６以降の期間）、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルとなるので、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはローレベルとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ハイレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からハイレベルの信号が入力される。
【０１４５】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、ＯＲ回路２２０１〜２２１６はハイレベルの信号を出力する。すなわち、入力されるランダムＲのビットデータＲ１〜Ｒ１６の値が「０」であるか「１」であるかに関わらず、ＯＲ回路２２０１〜２２１６から出力される信号ＳＯ１〜ＳＯ１６は、全てハイレベル（「１」）となる。そのようにすることによって、乱数値記憶回路５３１から出力される値は、常に「６５５３５（＝１１１１１１１１１１１１１１１１ｂ）」となり、乱数値記憶回路５３１からランダムＲを読み出すことができない状態となる。すなわち、乱数値記憶回路５３１から乱数を読み出そうとしても、乱数値記憶回路５３１から常に同じ値「６５５３５」しか読み出せない状態となり、出力制御信号ＳＣが入力されていない場合、乱数値記憶回路５３１は、読出不能（ディセイブル）状態となる。なお、１６ビット乱数回路５０３ｂを用いる場合、乱数値としての値「６５５３５」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ５６０は、値「６５５３５」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図３６に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムＲが「６５５３５」である場合には「ハズレ」と判定するように設定しておけばよい。
【０１４６】
ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されていないときに、ＣＰＵ５６から出力制御信号ＳＣが入力されると（図１７に示す例では、タイミングＴ４からタイミングＴ６までの期間）、ＡＮＤ回路２０３の２つの入力端子への入力がともにハイレベルとなるので、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはハイレベルとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ローレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からローレベルの信号が入力される。
【０１４７】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がローレベルとなるので、他方の入力端子に入力される信号がハイレベルの場合、ＯＲ回路２２０１〜２２１６の出力端子からハイレベルの信号が出力される。また、ＯＲ回路２２０１〜２２１６の他方の入力端子に入力される信号がローレベルの場合、ＯＲ回路２２０１〜２２１６からローレベルの信号が出力される。すなわち、ＯＲ回路２２０１〜２２１６の他方の入力端子に入力されるランダムＲのビットデータＲ１〜Ｒ１６の値は、ＯＲ回路２２０１〜２２１６の出力端子からそのまま（すなわち、ビットデータＲ１〜Ｒ１６の値が「１」のときは「１」が、「０」のときは「０」）出力される。そのようにすることによって、乱数値記憶回路５３１からのランダムＲの読出が可能となる。すなわち、出力制御信号ＳＣが入力されている場合、乱数値記憶回路５３１は、読出可能（イネイブル）状態となる。
【０１４８】
ただし、ＣＰＵ５６から出力制御信号ＳＣが入力される前に、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力されている場合、ＡＮＤ回路２０３の一方の入力端子への入力がローレベルとなるので、ラッチ信号ＳＬが入力されている状態のままで、出力制御信号ＳＣが入力されても（図１７に示す例では、タイミングＴ３からタイミングＴ４の期間）、ＡＮＤ回路２０３の出力端子から出力される信号ＳＧはローレベルのままとなる。ＡＮＤ回路２０３が出力する信号ＳＧは、ＮＯＴ回路２０４において反転され、ハイレベルの信号とされる。そして、ＯＲ回路２２０１〜２２１６の一方の入力端子に、ＮＯＴ回路２０４からハイレベルの信号が入力される。
【０１４９】
以上のように、ＯＲ回路２２０１〜２２１６の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、ＯＲ回路２２０１〜２２１６から出力される信号ＳＯ１〜ＳＯ１６は全てハイレベルとなる。そして、出力制御信号ＳＣが入力されているにも関わらず、乱数値記憶回路５３１からランダムＲを読み出すことができない状態のままとなる。すなわち、ラッチ信号ＳＬが入力されている場合、乱数値記憶回路５３１は、出力制御信号ＳＣを受信不可能な状態となる。なお、１６ビット乱数回路５０３ｂを用いる場合、乱数値としての値「６５５３５」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ５６０は、値「６５５３５」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図３６に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムＲが「６５５３５」である場合には「ハズレ」と判定するように設定しておけばよい。
【０１５０】
また、ラッチ信号生成回路５３３からラッチ信号ＳＬが入力される前に、ＣＰＵ５６から出力制御信号ＳＣが入力されている場合、ＡＮＤ回路２０１の一方の入力端子への入力がローレベルとなるので、出力制御信号ＳＣが入力されているままの状態で、ラッチ信号ＳＬが入力されても（図１７に示す例では、タイミングＴ５）、ＡＮＤ回路２０１の出力端子から出力される信号ＳＲはローレベルのままとなる。そのため、フリップフロップ回路２１０１〜２１１６のクロック端子Ｃｌｋ１〜Ｃｌｋ１６に入力される信号ＳＲは、ローレベルからハイレベルに立ち上がらず、フリップフロップ回路２１０１〜２１１６に格納されているランダムＲのビットデータＲ１〜Ｒ１６は、ラッチ信号ＳＬが入力されているにも関わらず、記憶される乱数は更新されない。すなわち、出力制御信号ＳＣが入力されている場合、乱数値記憶回路５３１は、ラッチ信号ＳＬを受信不可能な状態となる。
【０１５１】
反転回路５３２は、クロック信号出力回路５２４から入力する乱数発生用クロック信号ＳＩ１における信号レベルを反転させることによって、クロック信号の極性を反転させた反転クロック信号ＳＩ２を生成する。また、反転回路５３２は、生成した反転クロック信号ＳＩ２をラッチ信号生成回路５３３に出力する。
【０１５２】
なお、乱数回路５０３は、反転回路５３２に代えて遅延回路を含んでもよい。この場合、遅延回路は、クロック信号出力回路５２４から入力する乱数発生用クロック信号ＳＩ１を遅延させることによって、クロック信号を遅延させた遅延クロック信号を生成する。また、遅延回路は、生成した遅延クロック信号をラッチ信号生成回路５３３に出力する。従って、ラッチ信号生成回路５３３は、乱数発生用クロック信号ＳＩ１を遅延させた遅延クロック信号に同期して、乱数値記憶回路５３１にラッチ信号を出力することになる。
【０１５３】
ラッチ信号生成回路５３３は、セレクタおよびフリップフロップ回路等を用いて構成される。ラッチ信号生成回路５３３は、乱数値読取信号出力回路５２６からの乱数値読取信号と反転回路５３２からの反転クロック信号ＳＩ２とを入力し、乱数値記憶回路５３１に乱数値を記憶させるためのラッチ信号ＳＬを出力する。また、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７からの乱数更新方式選択信号によって指定された乱数値更新方式に応じて、ラッチ信号ＳＬを出力する。この場合、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第１の乱数更新方式選択信号が入力された場合、反転回路５３２から出力される反転クロック信号ＳＩ２を選択し、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する。一方、ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力された場合、乱数値読取信号出力回路５２６から出力される乱数値読取信号を、反転回路５３２から出力される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する。
【０１５４】
タイマ回路５３４は、始動口１４への遊技球の入賞を検出した旨の入賞検出信号ＳＳを始動口スイッチ１４ａから入力する。また、タイマ回路５３４は、始動口スイッチ１４ａから入賞検出信号ＳＳが継続して入力されている時間を計測する。そして、タイマ回路５３４は、計測時間が所定期間（例えば、３ｍｓ）になると、乱数値読取信号出力回路５２６の乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」を書き込む。例えば、タイマ回路５３４は、ハイレベルの信号が入力されたことに応じて起動するアップカウンタまたはダウンカウンタによって構成される。タイマ回路５３４は、始動口スイッチ１４ａからの入力がハイレベルとなっている間（すなわち、入賞検出信号ＳＳが継続して入力されている間）、クロック回路５０１から順次入力する基準クロック信号ＣＬＫをアップカウントまたはダウンカウントする。そして、タイマ回路５３４は、アップカウントまたはダウンカウントするカウント値が３ｍｓに対応する値になると、始動口スイッチ１４ａから入賞検出信号ＳＳが入力されたと判断して、乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込む。
【０１５５】
次に、シリアル通信回路５０５の構成について説明する。シリアル通信回路５０５は、全二重方式、非同期方式および標準ＮＲＺ（ノンリターンゼロ）符号化を用いたデータフォーマットで、各制御基板（例えば、払出制御基板３７）のマイクロコンピュータとシリアル通信を行う。シリアル通信回路５０５は、各制御基板のマイクロコンピュータに各種データ（例えば、賞球個数コマンドや演出制御コマンド）を送信する送信部と、各制御基板のマイクロコンピュータからの各種データ（例えば、賞球ＡＣＫコマンド）を受信する受信部とを含む。
【０１５６】
図１８は、シリアル通信回路５０５の送信部の構成例を示すブロック図である。また、図１９は、シリアル通信回路５０５の受信部の構成例を示すブロック図である。シリアル通信回路５０５は、ボーレートレジスタ７０２、ボーレート生成回路７０３、２つのステータスレジスタ７０５，７０６、３つの制御レジスタ７０７，７０８，７０９、送信データレジスタ７１０、受信データレジスタ７１１、送信用シフトレジスタ７１２、受信用シフトレジスタ７１３、割り込み制御回路７１４、送信フォーマット／パリティ生成回路７１５および受信フォーマット／パリティチェック回路７１６を含む。また、図１８に示すように、シリアル通信回路５０５の送信部は、これらの構成要素のうち、ボーレートレジスタ７０２、ボーレート生成回路７０３、ステータスレジスタＡ７０５、制御レジスタ７０７，７０８，７０９、送信データレジスタ７１０、送信用シフトレジスタ７１２、割り込み制御回路７１４および送信フォーマット／パリティ生成回路７１５によって構成される。また、図１９に示すように、シリアル通信回路５０５の受信部は、これらの構成要素のうち、ボーレートレジスタ７０２、ボーレート生成回路７０３、ステータスレジスタ７０５，７０６、制御レジスタ７０７，７０８，７０９、受信データレジスタ７１１、受信用シフトレジスタ７１３、割り込み制御回路７１４および受信フォーマット／パリティチェック回路７１６によって構成される。
【０１５７】
なお、シリアル通信回路５０５において、送信部と受信部とは、実際には、共通の回路を用いて構成される。そして、シリアル通信回路５０５は、上記に示したように、シリアル通信回路５０５の各構成要素を使い分けて用いることによって、送信回路又は受信回路として機能する。
【０１５８】
まず、シリアル通信回路５０５が各制御基板が搭載するマイクロコンピュータと送受信するデータのデータフォーマットを説明する。図２０は、シリアル通信５０５が各制御基板が搭載するマイクロコンピュータと送受信するデータのデータフォーマットの例を示す説明図である。図２０に示すように、シリアル通信回路５０５が送受信するデータのデータフォーマットは、スタートビット、データおよびストップビットを１フレームとして構成される。また、シリアル通信回路５０５が送受信するデータのデータ長は、後述するシリアル通信回路設定処理において初期設定を行えば、８ビットまたは９ビットのいずれかに設定できる。図２０（ａ）は、データ長を８ビットに設定した場合のデータフォーマットの例である。また、図２０（ｂ）は、データ長を９ビットに設定した場合のデータフォーマットの例である。
【０１５９】
図２０に示すように、シリアル通信回路５０５が送受信するデータのデータフォーマットは、ハイレベル（論理「１」）のアイドルラインのあとに、１フレームの始まりであることを示すスタートビット（論理「０」）を含む。また、データフォーマットは、スタートビットのあとに、８ビットまたは９ビットの送受信データを含む。そして、データフォーマットは、送受信データのあとに、１フレームの終わりであることを示すストップビット（論理「１」）を含む。
【０１６０】
シリアル通信回路５０５は、図２０に示すデータフォーマットに従って、送受信データの最下位ビット（ビット０）から先にデータを送受信する。また、後述するシリアル通信回路設定処理において初期設定を行えば、送受信データにパリティビットを付加するように設定することもできる。パリティビットを付加するように設定した場合、送受信データの最上位ビットがパリティビット（奇数パリティまたは偶数パリティ）として用いられる。例えば、データ長を８ビットに設定した場合、送受信データのビット７がパリティビットとして用いられる。また、例えば、データ長を９ビットに設定した場合、送受信データのビット８がパリティビットとして用いられる。
【０１６１】
ボーレート生成回路７０３は、クロック回路５０１が出力するクロック信号およびボーレートレジスタ７０２に設定されている設定値（ボーレート設定値ともいう）にもとづいて、シリアル通信回路５０５が用いるボーレートを生成する。この場合、ボーレート生成回路７０３は、クロック信号およびボーレート設定値にもとづいて、所定の計算式を用いてボーレートを求める。例えば、ボーレート生成回路７０３は、式（１）を用いて、シリアル通信回路５０５が用いるボーレートを求める。
【０１６２】
ボーレート＝クロック周波数／（ボーレート設定値×１６）          式（１）
【０１６３】
図２１は、ボーレートレジスタ７０２の例を示す説明図である。ボーレートレジスタ７０２は、ボーレート生成回路７０３が生成するボーレートの値を指定するための所定の設定値を設定するレジスタである。例えば、ボーレートレジスタ７０２が式（１）を用いてボーレートを求めるものとし、クロック周波数が３ＭＨｚであるとする。この場合、所望の目標ボーレートが１２００ｂｐｓであるとすると、ボーレートレジスタ７０２に設定値「１５６」を設定する。すると、ボーレート生成回路７０３は、クロック周波数「３ＭＨｚ」およびボーレート設定値「１５６」にもとづいて、式（１）を用いて、ボーレート「１２０１．９２ｂｐｓ」を生成する。ボーレートレジスタ７０２は、１６ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、ボーレートレジスタ７０２は、ビット０〜ビット１２が書込および読出ともに可能な状態に構成されている。また、ボーレートレジスタ７０２は、ビット１３〜ビット１５が書込および読出ともに不可能な状態に構成されている。したがって、ボーレートレジスタ７０２のビット１３〜ビット１５に値を書き込む制御を行っても無効とされ、ビット１３〜ビット１５から読み出す値は全て「０（＝０００ｂ）」である。
【０１６４】
図２２（Ａ）は、制御レジスタＡ７０７の例を示す説明図である。制御レジスタＡ７０７は、シリアル通信回路５０５の通信フォーマットを設定するレジスタである。この実施の形態では、制御レジスタＡ７０７の各ビットの値が設定されることによって、シリアル通信回路５０５の通信フォーマットが設定される。制御レジスタＡ７０７には、送受信データのデータ形式や各種通信方式等の通信フォーマットを設定するための通信フォーマット設定データが設定される。図２２（Ａ）に示すように、制御レジスタＡ７０７は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、制御レジスタＡ７０７は、ビット０〜ビット４が書込および読出ともに可能な状態に構成されている。また、制御レジスタＡ７０７は、ビット５〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、制御レジスタＡ７０７のビット５〜ビット７に値を書き込む制御を行っても無効とされ、ビット５〜ビット７から読み出す値は全て「０（＝０００ｂ）」である。
【０１６５】
図２２（Ｂ）は、制御レジスタＡ７０７に設定される通信フォーマット設定データの一例の説明図である。図２２（Ｂ）に示すように、制御レジスタＡ７０７のビット４（ビット名「Ｍ」）には、送受信するデータのデータ長を設定するための設定データが設定される。図２２（Ｂ）に示すように、ビット４を「０」に設定することによって、送受信データのデータ長が８ビットに設定される。また、ビット４を「１」に設定することによって、送受信データのデータ長が９ビットに設定される。
【０１６６】
制御レジスタＡ７０７のビット３（ビット名「ＷＡＫＥ」）には、スタンバイ状態の受信回路（シリアル通信回路５０５の受信部）をウエイクアップする（オンライン状態にさせる）ウエイクアップ方式を設定するための設定データが設定される。図２２（Ｂ）に示すように、ビット３を「０」に設定することによって、アイドルラインを認識したときにウエイクアップするアイドルラインウエイクアップ方式が設定される。また、ビット３を「１」に設定することによって、所定のアドレスマークを認識することによってウエイクアップするアドレスマークウエイクアップ方式が設定される。
【０１６７】
制御レジスタＡ７０７のビット２（ビット名「ＩＬＴ」）には、受信データのアイドルラインの検出方式を選択するための設定データが設定される。図２２（Ｂ）に示すように、ビット２を「０」に設定することによって、受信データに含まれるスタートビットの後からアイドルラインを検出する検出方式が設定される。また、ビット２を「１」に設定することによって、受信データに含まれるストップビットの後からアイドルラインを検出する検出方式が設定される。
【０１６８】
制御レジスタＡ７０７のビット１（ビット名「ＰＥ」）には、パリティ機能を使用するか否かを設定するための設定データが設定される。図２２（Ｂ）に示すように、ビット１を「０」に設定することによって、パリティ機能を使用しないように設定される。また、ビット１を「１」に設定することによって、パリティ機能を使用するように設定される。
【０１６９】
制御レジスタＡ７０７のビット０（ビット名「ＰＴ」）には、パリティ機能を使用すると設定した場合のパリティの種類を設定するための設定データが設定される。図２２（Ｂ）に示すように、ビット０を「０」に設定することによって、パリティの種類として偶数パリティが設定される。また、ビット０を「１」に設定することによって、パリティの種類として奇数パリティが設定される。
【０１７０】
図２３（Ａ）は、制御レジスタＢ７０８の例を示す説明図である。制御レジスタＢ７０８は、シリアル通信回路５０５の割り込み要求を許可するか否かを設定するレジスタである。この実施の形態では、制御レジスタＢ７０８の各ビットの値が設定されることによって、シリアル通信回路５０５からの割り込み要求を許可するか禁止するかが設定される。制御レジスタＢ７０８には、各種割り込み要求を許可するか否かを示す割り込み要求設定データが主として設定される。なお、制御レジスタＢ７０８には、割り込み要求設定データ以外に、シリアル通信回路５０５の各種設定を行うための設定データも設定される。図２３（Ａ）に示すように、制御レジスタＢ７０８は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、制御レジスタＢ７０８は、ビット０〜ビット７が書込および読出ともに可能な状態に構成されている。
【０１７１】
図２３（Ｂ）は、制御レジスタＢ７０８に設定される割り込み要求設定データの一例を示す説明図である。図２３（Ｂ）に示すように、制御レジスタＢ７０８のビット７（ビット名「ＴＩＥ」）には、データの送信時に行う割り込み要求である送信割り込み要求を許可するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット７を「０」に設定することによって、送信割り込み要求を禁止するように設定される。また、ビット７を「１」に設定することによって、送信割り込み要求を許可するように設定される。
【０１７２】
制御レジスタＢ７０８のビット６（ビット名「ＴＣＩＥ」）には、データの送信完了時に行う割り込み要求である送信完了割り込み要求を許可するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット６を「０」に設定することによって、送信完了割り込み要求を禁止するように設定される。また、ビット６を「１」に設定することによって、送信完了割り込み要求を許可するように設定される。
【０１７３】
制御レジスタＢ７０８のビット５（ビット名「ＲＩＥ」）には、データの受信時に行う割り込み要求である受信割り込み要求を許可するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット５を「０」に設定することによって、受信割り込み要求を禁止するように設定される。また、ビット５を「１」に設定することによって、受信割り込み要求を許可するように設定される。
【０１７４】
制御レジスタＢ７０８のビット４（ビット名「ＩＬＩＥ」）には、受信データのアイドルラインを検出したときに行う割り込み要求であるアイドルライン割り込み要求を許可するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット４を「０」に設定することによって、アイドルライン割り込み要求を禁止するように設定される。また、ビット４を「１」に設定することによって、アイドルライン割り込み要求を許可するように設定される。
【０１７５】
制御レジスタＢ７０８のビット３（ビット名「ＴＥ」）には、送信回路（シリアル通信回路５０５の送信部）を使用するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット３を「０」に設定することによって、送信回路を使用しないように設定される。また、ビット３を「１」に設定することによって、送信回路を使用するように設定される。
【０１７６】
制御レジスタＢ７０８のビット２（ビット名「ＲＥ」）には、受信回路を使用するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット２を「０」に設定することによって、受信回路を使用しないように設定される。また、ビット２を「１」に設定することによって、受信回路を使用するように設定される。
【０１７７】
制御レジスタＢ７０８のビット１（ビット名「ＲＷＵ」）には、受信回路のウエイクアップ機能を使用するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット１を「０」に設定することによって、ウエイクアップ機能を使用しないように設定される。また、ビット１を「１」に設定することによって、ウエイクアップ機能を使用するように設定される。
【０１７８】
制御レジスタＢ７０８のビット０（ビット名「ＳＢＫ」）には、所定のブレークコード送信機能を使用するか否かを示す設定データが設定される。図２３（Ｂ）に示すように、ビット１を「０」に設定することによって、ブレークコード送信機能を使用しないように設定される。また、ビット１を「１」に設定することによって、ブレークコード送信機能を使用するように設定される。ビット１を「１」に設定すると、シリアル通信回路５０５は、ブレークコード（例えば、「０」を連続して含む信号）を制御基板（例えば払出制御基板３７）が搭載するマイクロコンピュータに送信する。
【０１７９】
図２４（Ａ）は、ステータスレジスタＡ７０５の例を示す説明図である。ステータスレジスタＡ７０５は、シリアル通信回路５０５の各種ステータスを確認するためのレジスタである。この実施の形態では、ステータスレジスタＡ７０５の各ビットの値を確認することによって、ＣＰＵ５６は、シリアル通信回路５０５の各種ステータスを確認することができる。図２４（Ａ）に示すように、ステータスレジスタＡ７０５は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、ステータスレジスタＡ７０５は、ビット０〜ビット７が読出のみ可能な状態に構成されている。したがって、ステータスレジスタＡ７０５のビット０〜ビット７に値を書き込む制御を行っても無効とされる。
【０１８０】
本実施の形態では、後述するように、送信データレジスタ７１０に送信データが入っていない状態（送信データエンプティ）となったり、送信用シフトレジスタ７１２が格納する送信データの送信を完了すると、割り込み制御回路７１４によって、ステータスレジスタＡ７０５の対応するビットがセットされる。そして、ＣＰＵ５６は、ステータスレジスタＡ７０５にセットされた各ビットの値を読み出す。
【０１８１】
図２４（Ｂ）は、ステータスレジスタＡ７０５に格納されるステータス確認データの一例を示す図である。図２４（Ｂ）に示すように、ステータスレジスタＡ７０５のビット７（ビット名「ＴＤＲＥ」）には、送信データレジスタ７１０に送信データが入っていない状態であること（送信データエンプティ）を示す送信データエンプティフラグが格納される。図２４（Ｂ）に示すように、ビット７に「０」が格納されている場合、送信データレジスタ７１０から送信用シフトレジスタ７１２に送信データが未だに転送されておらず、送信データレジスタ７１０に送信データが格納されたままの状態であることを示す。また、ビット７に「１」が格納されている場合、送信データレジスタ７１０から送信用シフトレジスタ７１２に送信データが転送されており、送信データレジスタ７１０に送信データが入っていない状態（送信データエンプティ）であることを示す。
【０１８２】
ステータスレジスタＡ７０５のビット６（ビット名「ＴＣ」）には、シリアル通信回路５０５からの送信データの送信を完了した旨を示す送信完了フラグが格納される。図２４（Ｂ）に示すように、ビット６に「０」が格納されている場合、送信用シフトレジスタ７１２が格納する送信データの送信中の状態であり、シリアル通信回路５０５からの送信データの送信が完了していない状態であることを示す。また、ビット６に「１」が格納されている場合、送信用シフトレジスタ７１２が格納する送信データの転送を完了した状態であり、シリアル通信回路５０５からの送信データの送信が完了した状態であることを示す。
【０１８３】
なお、送信データの送信を完了した状態となり、遊技制御用マイクロコンピュータ５６０は、送信先のマイクロコンピュータからの受信確認信号の待ち状態となる。この実施の形態では、後述する送信時割込の設定が行われると、シリアル通信回路５０５は、送信データの送信完了を検出すると、ステータスレジスタＡ７０５のビット６を「１」にするとともに、受信確認信号の待ち状態になったものとしてＣＰＵ５６に割り込み要求（送信時割り込み要求という）を行う。
【０１８４】
ステータスレジスタＡ７０５のビット５（ビット名「ＲＤＲＦ」）には、受信データレジスタ７１１に受信データが格納された状態であること（受信データフル）を示す受信データフルフラグが格納される。図２４（Ｂ）に示すように、ビット５に「０」が格納されている場合、受信データレジスタ７１１に受信データが入っていない状態であることを示す。また、ビット５に「１」が格納されている場合、受信用シフトレジスタ７１３の値が受信データレジスタ７１１に転送され、受信データレジスタ７１１に受信データが格納されている状態であること（受信データフル）を示す。
【０１８５】
なお、受信データレジスタ７１１に受信データが格納された状態となると、ＣＰＵ５６は、受信データを受信データレジスタ７１１から読み込んで受信処理を行える状態となる。この実施の形態では、シリアル通信回路５０５は、受信データフルを検出すると、ステータスレジスタＡ７０５のビット５を「１」にするとともに、受信処理が可能になったものとしてＣＰＵ５６に割り込み要求（受信時割り込み要求という）を行う。
【０１８６】
ステータスレジスタＡ７０５のビット４（ビット名「ＩＤＬＥ」）には、受信回路がアイドルラインを検出したことを示すアイドルライン検出フラグが格納される。図２４（Ｂ）に示すように、ビット４に「０」が格納されている場合、シリアル通信回路５０５の受信部がアイドルラインを検出していない状態であることを示す。また、ビット４に「１」が格納されている場合、シリアル通信回路５０５の受信部がアイドルラインを検出した状態であることを示す。
【０１８７】
ステータスレジスタＡ７０５のビット３（ビット名「ＯＲ」）には、ＣＰＵ５６が受信データレジスタ７１１が格納する受信データを読み込む前に、受信用シフトレジスタ７１３が次のデータを受信してしまったこと（オーバーラン）を示すオーバーランフラグが格納される。図２４（Ｂ）に示すように、ビット３に「０」が格納されている場合、受信回路がオーバーランを検出していない状態であることを示す。また、ビット３に「１」が格納されている場合、受信回路がオーバーランを検出した状態であることを示す。
【０１８８】
なお、オーバーランが発生すると、受信データレジスタ７１１内の受信データが読み込まれる前に受信用シフトレジスタ７１３に次の受信データが格納されてしまうので、受信データが上書きされてしまいＣＰＵ５６が受信データを正しく読み込めなくなってしまう。そのため、各制御基板が搭載するマイクロコンピュータと正しく通信を行えなくなり、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、シリアル通信回路５０５は、オーバーランを検出すると、ステータスレジスタＡ７０５のビット３を「１」にするとともに、通信時にエラーが発生したものとしてＣＰＵ５６に割り込み要求を行う。
【０１８９】
ステータスレジスタＡ７０５のビット２（ビット名「ＮＦ」）には、受信データにノイズを検出したことを示すノイズエラーフラグが格納される。図２４（Ｂ）に示すように、ビット２に「０」が格納されている場合、受信回路が受信データにノイズを検出していない状態であることを示す。また、ビット２に「１」が格納されている場合、受信回路が受信データにノイズを検出した状態であることを示す。
【０１９０】
例えば、シリアル通信回路５０５は、受信データの各ビットを検出する際に、ボーレート生成回路７０３が生成したボーレートを用いて、所定ビット長の「１」または「０」を検出する。この場合、検出した「１」または「０」の長さが所定ビット長に満たない場合、シリアル通信回路５０５は、受信データにノイズが発生したものとしてノイズエラーを検出する。ノイズエラーが発生すると、ノイズによって正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、シリアル通信回路５０５は、ノイズエラーを検出すると、ステータスレジスタＡ７０５のビット２を「１」にするとともに、通信時にエラーが発生したものとしてＣＰＵ５６に割り込み要求を行う。
【０１９１】
ステータスレジスタＡ７０５のビット１（ビット名「ＦＥ」）には、受信データのストップビットの位置が「０」（本来、ストップビットは「１」）であることを検出したこと（フレーミングエラー）を示すフレーミングエラーフラグが格納される。図２４（Ｂ）に示すように、ビット１に「０」が格納されている場合、受信回路が受信データにフレーミングエラーを検出していない状態であることを示す。また、ビット１に「１」が格納されている場合、受信回路がフレーミングエラーを検出した状態であることを示す。
【０１９２】
フレーミングエラーが発生すると、受信データのストップビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、シリアル通信回路５０５は、フレーミングエラーを検出すると、ステータスレジスタＡ７０５のビット１を「１」にするとともに、通信時にエラーが発生したものとしてＣＰＵ５６に割り込み要求を行う。
【０１９３】
ステータスレジスタＡ７０５のビット０（ビット名「ＰＦ」）には、受信データから求めたパリティの値と、受信データに含まれるパリティの値とが一致しなかったこと（パリティエラー）を示すパリティエラーフラグが格納される。図２４（Ｂ）に示すように、ビット０に「０」が格納されている場合、受信回路が受信データにパリティエラーを検出していない状態であることを示す。また、ビット０に「１」が格納されている場合、受信回路がパリティエラーを検出した状態であることを示す。
【０１９４】
パリティエラーが発生すると、受信データの各データビットまたはパリティビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、シリアル通信回路５０５は、パリティエラーを検出すると、ステータスレジスタＡ７０５のビット０を「１」にするとともに、通信時にエラーが発生したものとしてＣＰＵ５６に割り込み要求を行う。
【０１９５】
図２５（Ａ）は、ステータスレジスタＢ７０６の例を示す説明図である。ステータスレジスタＢ７０６は、シリアル通信回路５０５の受信状態（受信ステータス）を確認するためのレジスタである。この実施の形態では、ステータスレジスタＢ７０６のビットの値を確認することによって、ＣＰＵ５６は、シリアル通信回路５０５の受信ステータスを確認することができる。図２５（Ａ）に示すように、ステータスレジスタＢ７０６は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、ステータスレジスタＢ７０６は、ビット０が読出のみ可能な状態に構成されている。したがって、ステータスレジスタＡ７０５のビット０に値を書き込む制御を行っても無効とされる。また、ステータスレジスタＢ７０６は、ビット１〜ビット７が書込および読出ともに不可能な状態に構成されている。したがって、ステータスレジスタＡ７０５のビット１〜ビット７に値を書き込む制御を行っても無効とされ、ビット１〜ビット７から読み出す値は全て「０（＝００００ｂ）」である。
【０１９６】
図２５（Ｂ）は、ステータスレジスタＢ７０６に格納されるステータス確認データの一例を示す図である。図２５（Ｂ）に示すように、ステータスレジスタＢ７０６のビット０（ビット名「ＲＡＦ」）には、受信回路が受信データを受信中であること（受信アクティブ）を示す受信アクティブフラグが格納される。図２５（Ｂ）に示すように、ビット０に「０」が格納されている場合、受信回路が受信データを受信中でないことを示す。また、ビット０に「１」が格納されている場合、受信回路が受信データを受信中であることを示す。なお、シリアル通信回路５０５は、スタートビットを検出すると、受信データの受信が開始されたものとして、ステータスレジスタＢ７０６のビット０を「１」にする。
【０１９７】
図２６（Ａ）は、制御レジスタＣ７０９の例を示す説明図である。制御レジスタＣ７０９は、シリアル通信回路５０５の通信エラー時の割り込み要求を許可するか否かを設定するレジスタである。この実施の形態では、制御レジスタＣ７０９の各ビットの値が設定されることによって、シリアル通信回路５０５からの通信時の割り込み要求を許可するか禁止するかが設定される。制御レジスタＣ７０９には、通信エラー時の各種割り込み要求を許可するか否かを示すエラー割り込み要求設定データが主として設定される。なお、制御レジスタＣ７０９には、エラー割り込み要求設定データ以外に、データ長を９ビットに設定した場合の９ビット目のデータが格納される。シリアル通信回路５０５の各種設も設定される。図２６（Ａ）に示すように、制御レジスタＣ７０９は、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、制御レジスタＣ７０９は、ビット０〜ビット３およびビット６，７が書込および読出ともに可能な状態に構成されている。また、制御レジスタＣ７０９は、ビット４，５が書込および読出ともに不可能な状態に構成されている。したがって、制御レジスタＣ７０９のビット４，５に値を書き込む制御を行っても無効とされ、ビット４，５から読み出す値は全て「０（＝００００ｂ）」である。
【０１９８】
図２６（Ｂ）は、制御レジスタＣ７０９に設定されるエラー割り込み要求設定データの一例を示す説明図である。図２６（Ｂ）に示すように、制御レジスタＣ７０９のビット７（ビット名「Ｒ８」）には、データ長を９ビットに設定した場合の受信データの９ビット目のデータが格納される。また、制御レジスタＣ７０９のビット６（ビット名「Ｔ８」）には、データ長を９ビットに設定した場合の送信データの９ビット目のデータが格納される。
【０１９９】
制御レジスタＣ７０９のビット３（ビット名「ＯＲＩＥ」）には、オーバーランを検出した場合に行う割り込み要求であるオーバーランフラグ割り込み要求を許可するか否かを示す設定データが設定される。図２６（Ｂ）に示すように、ビット３を「０」に設定することによって、オーバーランフラグ割り込み要求を禁止するように設定される。また、ビット３を「１」に設定することによって、オーバーランフラグ割り込み要求を許可するように設定される。
【０２００】
制御レジスタＣ７０９のビット２（ビット名「ＮＥＩＥ」）には、ノイズエラーを検出した場合に行う割り込み要求であるノイズエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図２６（Ｂ）に示すように、ビット２を「０」に設定することによって、ノイズエラーフラグ割り込み要求を禁止するように設定される。また、ビット２を「１」に設定することによって、ノイズエラーフラグ割り込み要求を許可するように設定される。
【０２０１】
制御レジスタＣ７０９のビット１（ビット名「ＦＥＩＥ」）には、フレーミングエラーを検出した場合に行う割り込み要求であるフレーミングエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図２６（Ｂ）に示すように、ビット１を「０」に設定することによって、フレーミングエラーフラグ割り込み要求を禁止するように設定される。また、ビット１を「１」に設定することによって、フレーミングエラーフラグ割り込み要求を許可するように設定される。
【０２０２】
制御レジスタＣ７０９のビット０（ビット名「ＰＥＩＥ」）には、パリティエラーを検出した場合に行う割り込み要求であるパリティエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図２６（Ｂ）に示すように、ビット０を「０」に設定することによって、パリティエラーフラグ割り込み要求を禁止するように設定される。また、ビット０を「１」に設定することによって、パリティエラーフラグ割り込み要求を許可するように設定される。
【０２０３】
図２７は、シリアル通信回路５０５が備えるデータレジスタの例を示す説明図である。データレジスタ７０１は、シリアル通信回路５０５が送受信するデータを格納するレジスタである。図２７に示すように、データレジスタは、８ビットレジスタであり、初期値が「０（＝００ｈ）」に設定されている。また、データレジスタ７０１は、ビット０〜ビット７が書込および読出ともに可能な状態に構成されている。
【０２０４】
この実施の形態では、シリアル通信回路５０５が送信データを送信する場合、データレジスタは、送信データレジスタ７１０として用いられる。なお、データ長を９ビットに設定した場合、データレジスタおよび制御レジスタＣ７０９のビット６が送信データレジスタ７１０として用いられる。この場合、データレジスタのビット０〜ビット７が送信データレジスタ７１０のビット０〜ビット７として用いられ、制御レジスタＣ７０９のビット６が送信データレジスタ７１０のビット８として用いられる。
【０２０５】
また、シリアル通信回路５０５が受信データを受信する場合、データレジスタは、受信データレジスタ７１１として用いられる。なお、データ長を９ビットに設定した場合、データレジスタおよび制御レジスタＣ７０９のビット７が受信データレジスタ７１１として用いられる。この場合、データレジスタのビット０〜ビット７が受信データレジスタ７１１のビット０〜ビット７として用いられ、制御レジスタＣ７０９のビット７が受信データレジスタ７１１のビット８として用いられる。
【０２０６】
割り込み制御回路７１４は、ＣＰＵ５６に各種割り込み要求を行う。この実施の形態では、割り込み制御回路７１４は、制御レジスタＢ７０８のビット６（ＴＣＩＥ）が「１」に設定されている場合、送信データレジスタ７１０に送信データの送信を完了した状態となると、ＣＰＵ５６に割り込み信号を出力するとともに、ステータスレジスタＡ７０５のビット６（ＴＣ）に「１」を設定することによって割り込み要求を行う。なお、ステータスレジスタＡ７０５のビットの設定値により割込要因を識別可能とするのでなく、割り込み制御回路７１４は、割込要因毎に異なる割り込み信号をＣＰＵ５６に出力するようにしてもよい。
【０２０７】
また、割り込み制御回路７１４は、制御レジスタＢ７０８のビット５（ＲＩＥ）が「１」に設定されている場合、受信データレジスタ７１１に受信データが格納されている状態になると（受信データフルを検出すると）、ＣＰＵ５６に割り込み信号を出力するとともに、ステータスレジスタＡ７０５のビット５（ＲＤＲＦ）に「１」を設定することによって割り込み要求を行う。
【０２０８】
また、割り込み制御回路７１４は、制御レジスタＣ７０９のビット０〜３のいずれかが「１」に設定されている場合、各種通信エラーが発生すると、ＣＰＵ５６に割り込み信号を出力するとともに、通信エラーの種類に応じて、ステータスレジスタＡ７０５のビット０〜ビット３に「１」を設定することによって割り込み要求を行う。例えば、制御レジスタＣ７０９のビット３（ＯＲＩＥ）が「１」に設定されている場合、オーバーランを検出して割り込み要求を行うときに、ステータスレジスタＡ７０５のビット３（ＯＲ）に「１」を設定する。また、例えば、制御レジスタＣ７０９のビット２（ＮＥＩＥ）が「１」に設定されている場合、ノイズエラーを検出して割り込み要求を行うときに、ステータスレジスタＡ７０５のビット２（ＮＦ）に「１」を設定する。また、例えば、制御レジスタＣ７０９のビット１（ＦＥＩＥ）が「１」に設定されている場合、フレーミングエラーを検出して割り込み要求を行うときに、ステータスレジスタＡ７０５のビット１（ＦＥ）に「１」を設定する。また、例えば、制御レジスタＣ７０９のビット０（ＰＥＩＥ）が「１」に設定されている場合、パリティエラーを検出して割り込み要求を行うときに、ステータスレジスタＡ７０５のビット０（ＰＦ）に「１」を設定する。なお、複数の通信エラーを検出した場合、割り込み制御回路７１４は、複数の通信エラーにもとづいて割り込み要求を行うときに、ステータスレジスタＡ７０５の該当するビットをそれぞれ「１」に設定する。
【０２０９】
送信フォーマット／パリティ生成回路７１５は、送信データのデータフォーマットを生成する。この実施の形態では、送信フォーマット／パリティ生成回路７１５は、送信データレジスタ７１０に格納される送信データにスタートビットおよびストップビットを付加してデータフォーマットを生成し、送信用シフトレジスタ７１２に転送する。また、制御レジスタＡ７０７のビット１（ＰＥ）に「１」が設定され、パリティ機能を使用する旨が設定されている場合、送信フォーマット／パリティ生成回路７１５は、送信データにパリティビットを付加してデータフォーマットを生成する。
【０２１０】
受信フォーマット／パリティチェック回路７１６は、受信データのデータフォーマットを検出する。この実施の形態では、受信フォーマット／パリティチェック回路７１６は、受信用シフトレジスタ７１３に格納される受信データからスタートビットおよびストップビットを検出し、受信データに含まれるデータ部分を検出して受信データレジスタ７１１に転送する。また、制御レジスタＡ７０７のビット１（ＰＥ）に「１」が設定され、パリティ機能を使用する旨が設定されている場合、受信フォーマット／パリティチェック回路７１６は、受信データのパリティを求め、受信データに含まれるパリティと一致するか否かを検出する。また、求めた値が受信データに含まれるパリティと一致しない場合、受信フォーマット／パリティチェック回路７１６は、パリティエラーを検出する。なお、後述するシリアル通信回路設定処理において通信エラー時割り込み要求を許可する旨が設定されてる場合、割り込み制御回路７１４は、パリティエラーを検出すると、通信エラーの発生を割込原因としてＣＰＵ５６に割り込み要求を行う。
【０２１１】
図２８は、遊技制御用マイクロコンピュータ５６０における記憶領域のアドレスマップの一例を示す説明図である。図２８に示すように、遊技制御用マイクロコンピュータ５６０の記憶領域のうち、００００ｈ番地〜１ＦＦＦｈ番地の領域は、ＲＯＭ５４に割り当てられている。また、７Ｅ００ｈ番地〜７ＦＦＦｈ番地の領域は、ＲＡＭ５５に割り当てられている。さらに、ＦＤ００ｈ番地〜ＦＥ００ｈ番地の領域は、乱数最大値設定レジスタ５３５等の内蔵レジスタに割り当てられている。
【０２１２】
また、図２８に示すように、ＲＯＭ５４に割り当てられている００００ｈ番地〜１ＦＦＦｈ番地の領域は、ユーザプログラムエリアとユーザプログラム管理エリアとを含む。００００ｈ番地〜１Ｆ７Ｆｈ番地の領域のユーザプログラムエリアには、ユーザ（例えば、遊技機の製作者）により予め作成されたプログラム（ユーザプログラム）５５０が記憶される。また、１Ｆ８０ｈ番地〜１ＦＦＦｈ番地の領域のユーザプログラム管理エリアには、ＣＰＵ５６がユーザプログラム５５０を実行するために必要となるデータ（ユーザプログラム実行データ）が記憶される。また、ＲＡＭ５５に割り当てられている７Ｅ００ｈ番地〜７ＦＦＦｈ番地の領域のうち、７Ｅ００ｈ番地〜７ＥＦＦｈ番地の領域は未使用領域であり、７Ｆ００ｈ番地〜７ＦＦＦｈ番地の領域はワークエリアとして用いられる。
【０２１３】
図２９は、ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。図２９に示すように、１Ｆ９７ｈ番地の領域には、乱数回路５０３のカウンタ５２１に入力される初期値を変更するための方式である初期値変更方式のうち、ユーザによって選択された初期値変更方式を指定するための初期値変更方式設定データが記憶される。また、１Ｆ９８ｈ番地および１Ｆ９９ｈ番地の領域には、ＲＡＭ５５に割り当てられた７Ｆ００ｈ番地〜７ＦＦＦｈ番地のうち、ユーザによって予め指定されたＲＡＭ５５における番地（指定ＲＡＭ番地）を特定するためのＲＡＭ番地データが記憶される。この場合、指定ＲＡＭ番地を示す値のうち、指定ＲＡＭ番地の下位の値が１Ｆ９８ｈ番地に記憶され、指定ＲＡＭ番地の上位の値が１Ｆ９９ｈ番地に記憶される。
【０２１４】
図３０は、初期値変更方式設定データの一例を示す説明図である。図３０に示すように、初期値変更データは、８ビットのデータから構成される。初期値変更データ「００ｈ」は、初期値変更方式として、初期値を変更しないことを指定するデータである。この実施の形態では、初期値変更データ「００ｈ」が設定されている場合、乱数回路５０３のカウンタ５２１は、予め定められた初期値「０」から所定の最終値までカウント値を更新することになる。また、初期値変更データ「０１ｈ」は、初期値変更方式として、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０を識別するためのＩＤナンバにもとづく値に変更することを指定するデータである。この実施の形態では、初期値変更データ「０１ｈ」が設定されている場合、カウンタ５２１が更新するカウンタ値の初期値が「０」からＩＤナンバにもとづく値に変更され、カウンタ５２１は、変更後の初期値から所定の最終値までカウント値を更新することになる。
【０２１５】
ユーザプログラムエリアに記憶されるユーザプログラム５５０について説明する。図３１は、ユーザプログラム５５０の構成例を示す説明図である。図３１に示すように、この実施の形態では、ユーザプログラム５５０は、複数種類のプログラムモジュールから構成される乱数回路設定プログラム５５１と、表示結果決定プログラム５５２と、カウント値順列変更プログラム５５４と、乱数値更新プログラム５５５と、シリアル通信回路設定プログラム５５６と、割込優先順位設定プログラム５５７とを含む。
【０２１６】
乱数回路設定プログラム５５１は、乱数回路５０３にランダムＲの値を更新させるための初期設定を行う乱数回路設定処理を実行させるためのプログラムである。すなわち、ＣＰＵ５６は、乱数回路設定プログラム５５１に従って処理を実行することにより、乱数回路初期設定手段として機能する。
【０２１７】
図３２は、乱数回路設定プログラム５５１の構成例を示す説明図である。図３２に示すように、乱数回路設定プログラム５５１は、複数種類のプログラムモジュールとして、乱数最大値設定モジュール５５１ａと、乱数更新方式選択モジュール５５１ｂと、周期設定モジュール５５１ｃと、乱数回路起動モジュール５５１ｄと、初期値変更モジュール５５１ｅと、乱数回路選択モジュール５５１ｆとを含む。
【０２１８】
乱数最大値設定モジュール５５１ａは、ユーザ（例えば、遊技機の製作者）によって予め設定されたランダムＲの最大値を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、乱数最大値設定モジュール５５１ａに従って処理を実行することによって、ユーザによって予め設定されたランダムＲの最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ５３５に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって予め設定されたランダムＲの最大値を乱数回路５０３に設定する。例えば、ユーザによってランダムＲの最大値として予め「２５５」が設定された場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に乱数最大値設定データ「００ＦＦｈ」を書き込んで、ランダムＲの最大値「２５５」を乱数回路５０３に設定する。
【０２１９】
乱数更新方式選択モジュール５５１ｂは、ユーザによって選択された乱数更新方式（第１の乱数更新方式または第２の乱数更新方式）を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、乱数更新方式選択モジュール５５１ｂに従って処理を実行することによって、ユーザによって選択された乱数更新方式を指定する乱数更新方式選択データ「０１ｂ」または「１０ｂ」を乱数更新方式選択レジスタ５４０に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって選択された乱数更新方式を乱数回路５０３に設定する。よって、遊技制御用マイクロコンピュータ５６０は、第１の乱数更新方式又は第２の乱数更新方式のうちのいずれかを、乱数回路５０３が乱数更新に用いる乱数更新方式として選択する機能を備える。
【０２２０】
周期設定モジュール５５１ｃは、ユーザによって予め設定された内部クロック信号の周期（すなわち、クロック信号出力回路５２４がセレクタ５２８および反転回路５３２にクロック信号を出力する周期）を乱数回路５０３に設定させるためのプログラムモジュールである。ＣＰＵ５６は、周期設定モジュール５５１ｃに従って処理を実行することによって、ユーザによって予め設定された内部クロック信号の周期を指定するための周期設定データを周期設定レジスタ５３７に書き込む。そのようにすることによって、ＣＰＵ５６は、ユーザによって予め設定された内部クロック信号の周期を乱数回路５０３に設定する。例えば、ユーザによって内部クロック信号の周期が予め「システムクロック信号の周期×１２８×１６」と設定された場合、ＣＰＵ５６は、周期設定レジスタ５３７に周期設定データ「０Ｆｈ」を書き込んで、内部クロック信号の周期「システムクロック信号の周期×１２８×１６」を乱数回路５０３に設定する。
【０２２１】
乱数回路起動モジュール５５１ｄは、乱数回路５０３を起動させるためのプログラムモジュールである。ＣＰＵ５６は、乱数回路起動モジュール５５１ｄに従って処理を実行することによって、乱数回路起動データ「８０ｈ」を乱数回路起動レジスタ５４１に書き込むことにより、乱数回路５０３を起動させる。
【０２２２】
初期値変更モジュール５５１ｅは、カウンタ５２１が更新するカウント値の初期値を変更させるためのプログラムモジュールである。ＣＰＵ５６は、初期値変更モジュール５５１ｅに従って処理を実行することによって、初期値変更手段として機能する。ＣＰＵ５６は、初期値変更モジュール５５１ｅを実行して、ユーザによって選択された初期値変更方式によって、カウンタ５２１が更新するカウント値の初期値を変更させる。そのようにすることによって、ＣＰＵ５６は、初期値変更方式を選択する機能を備える。
【０２２３】
この実施の形態では、ユーザプログラム管理エリアの１Ｆ９７ｈ番地の領域に初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、カウント値の初期値を、遊技制御用マイクロコンピュータ５６０毎に付与された固有のＩＤナンバにもとづいて算出された値に変更させる。
【０２２４】
例えば、遊技制御用マイクロコンピュータ５６０は、ＲＯＭ５４の所定の記憶領域に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと、ＩＤナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。この場合、例えば、遊技制御用マイクロコンピュータ５６０のＩＤナンバが「１００」であるとすると、ＩＤナンバ「１００」に所定値「５０」を加算して求めた演算値「１５０」を、予めＩＤナンバに対応付けて記憶している。また、例えば、ＩＤナンバ「１００」に所定値「５０」を減算して求めた演算値「５０」を、予めＩＤナンバに対応付けて記憶している。また、例えば、予めＩＤナンバに対応づけて所定値だけを記憶していてもよい。そして、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、予め記憶される所定値（例えば、「５０」）にＩＤナンバ（例えば、「１００」を加算して求めた値「１５０」を、カウント値の初期値としてもよい。また、ＣＰＵ５６は、予め記憶される所定値（例えば、「５０」）をＩＤナンバ（例えば、「１００」）から減算して求めた値「５０」を、カウント値の初期値としてもよい。なお、遊技制御用マイクロコンピュータ５６０は、データ書き込みが禁止されている記憶領域であれば、遊技制御用マイクロコンピュータ５６０のＩＤナンバを、ＲＯＭ５４の所定の記憶領域に記憶していてもよく、ＲＡＭ５５の所定の記憶領域（ただし、ＲＡＭ５５は遊技機の電力供給が停止されたときでも記憶内容が消去（クリア）されないことが条件となる）に記憶していてもよい。
【０２２５】
そして、初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、予め記憶するＩＤナンバにもとづく演算値にカウント値の初期値を変更させる。そのようにすれば、乱数回路５０３が発生する乱数のランダム性をより向上させることができ、遊技制御用マイクロコンピュータ５６０のＩＤナンバを見ただけでは乱数の初期値を認識しにくくすることができる。そのため、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、大当り状態への移行条件を不正に成立させられてしまうことをより確実に防止することができ、セキュリティ性を向上させることができる。
【０２２６】
また、例えば、初期値変更方式設定データ「０１ｈ」が記憶されている場合、ＣＰＵ５６は、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバに所定値を加算して）求めた演算値にカウント値の初期値を変更させる。この場合、例えば、ＣＰＵ５６は、乱数を用いてランダムに変化させた値をＩＤナンバと演算することによって、演算に用いる値をランダムに更新し初期値を求めてもよい。そのようにすれば、乱数回路５０３が発生する乱数のランダム性をより向上させることができる。
【０２２７】
乱数回路選択モジュール５５１ｆは、遊技制御用マイクロコンピュータ５６０が内蔵する各乱数回路５０３の中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定するためのプログラムモジュールである。ＣＰＵ５６は、乱数回路選択モジュール５５１ｆに従って処理を実行することによって、遊技制御用マイクロコンピュータ５６０が内蔵する２つの乱数回路（１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂ）のうち、いずれの乱数回路をタイマ割込処理の実行時に用いるかを設定する。例えば、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された所定の設定値（ユーザによって予め設定された値）に従って、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａまたは１６ビット乱数回路５０３ｂを設定する。
【０２２８】
なお、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定してもよい。この場合、ＣＰＵ５６は、例えば、１２ビット乱数回路５０３ａが発生した乱数にもとづいて変動パターンを決定し、１６ビット乱数回路５０３ｂが発生した乱数にもとづいて大当り判定を行うようにしてもよい。この実施の形態では、乱数値記憶回路５３１は、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂとにそれぞれ存在する（すなわち、１２ビット用の乱数を記憶する乱数値記憶回路と、１６ビット用の乱数を記憶する乱数値記憶回路とが、別個に存在する）。また、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定した場合、ＣＰＵ５６は、１２ビット乱数回路５０３ａから読み出した乱数と、１６ビット乱数回路５０３ｂから読み出した乱数とを、ＲＡＭ５５に設けられた別々のバッファ領域にそれぞれ格納する。そのため、１２ビット乱数回路５０３ａから乱数を読み出すタイミングと、１６ビット乱数回路５０３ｂから乱数を読み出すタイミングとが同じであっても、２つの異なる乱数を抽出し別々のバッファ領域に格納することができる。
【０２２９】
乱数値更新プログラム５５５は、乱数更新方式として第１の乱数更新方式が選択されているときに、乱数値記憶回路５３１に格納されているランダムＲの値を更新させるためのプログラムである。ＣＰＵ５６は、乱数値更新プログラム５５５に従って処理を実行することによって、乱数値更新手段として機能する。ＣＰＵ５６は、第１の乱数更新方式が選択されているときに、乱数値更新プログラム５５５を実行して、カウント値更新データ「０１ｈ」をカウント値更新レジスタ５３８に書き込むことにより、カウンタ５２１にカウント値を更新させ、乱数値記憶回路５３１に格納されているランダムＲの値を更新させる。なお、乱数更新方式として第２の乱数更新方式が選択されている場合には、クロック信号出力回路５３７が出力する乱数発生用クロック信号によって、カウンタ５２１にカウント値を更新させ、乱数値記憶回路５３１に格納さているランダムＲの値を更新させることになる。
【０２３０】
表示結果決定プログラム５５２は、特別図柄表示器８における表示結果を大当り図柄とするか否かを決定するためのプログラムである。ＣＰＵ５６は、表示結果決定プログラム５５２に従って処理を実行することによって、表示結果決定手段として機能する。
【０２３１】
この実施の形態では、ＣＰＵ５６は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示を実行するための条件（実行条件）が成立したことに応じて、表示結果決定プログラム５５２に従って処理を実行する。そして、ＣＰＵ５６は、乱数値記憶回路５３１から更新後のランダムＲの値を読み出して、特別図柄表示器８における表示結果を大当り図柄とするか否かを決定する。
【０２３２】
図３３は、第１の乱数更新方式が選択されている場合に、ＣＰＵ５６がランダムＲの値を更新させたりランダムＲの値を読出したりする動作を示す説明図である。図３３に示すように、第１の乱数更新方式が選択されている場合、ＣＰＵ５６は、カウント値更新データ「０１ｈ」をカウント値更新レジスタ５３８に書き込むことによって、乱数値記憶回路５３１が記憶するランダムＲの値（例えば「２」）を更新させる。そして、ＣＰＵ５６は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示を実行するための条件（実行条件）が成立したことに応じて、乱数値記憶回路５３１からランダムＲの値（例えば「２」）を読み出す。
【０２３３】
なお、乱数値記憶回路５３１が記憶するランダムＲの値をさらに更新させる場合、前回更新時にランダムＲの値を更新したときから、クロック回路５０１が出力するシステムクロック信号の周期以上の間隔を経過したときに、カウント値更新レジスタ５３８にカウント値更新データ「０１ｈ」を書き込まなければならない。なぜなら、更新後のランダムＲの値を乱数値記憶回路５３１から読み出す時間を確保する必要があるからである。
【０２３４】
図３４は、第２の乱数更新方式が選択されている場合に、ＣＰＵ５６がランダムＲの値を読出したりする動作を示す説明図である。図３４に示すように、第２の乱数更新方式が選択されている場合、タイマ回路５３４は、乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込むことによって、カウンタ５２１が出力するカウント値（例えば「２」）を乱数値記憶回路５３１に取り込ませて、乱数値記憶回路５３１が記憶するランダムＲの値を更新させる。そして、ＣＰＵ５６は、乱数値記憶回路５３１から更新後のランダムＲの値（例えば「２」）を読み出す。
【０２３５】
具体的には、第２の乱数更新方式が選択されている場合、カウンタ５２１は、乱数発生用クロック信号ＳＩ１を入力したことをトリガとしてカウント値Ｃを更新する。その後、乱数値取込データ「０１ｈ」が乱数値取込レジスタ５３９に書き込まれると、ラッチ信号生成回路５３３はラッチ信号ＳＬを乱数値記憶回路５３１に出力する。そして、乱数値記憶回路５３１は、ラッチ信号ＳＬを入力したことをトリガとしてカウンタ５２１が出力するカウント値を読み込んで記憶する。そして、ＣＰＵ５６は、乱数値記憶回路５３１が記憶するランダムＲの値を読み出す。
【０２３６】
なお、タイマ回路５３４が乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込まなければ、カウンタ５２１がカウント値を更新しても、乱数値記憶回路５３１は、カウンタ５２１が更新する乱数値を記憶しない。例えば、タイマ回路５３４が乱数値取込データ「０１ｈ」を乱数値取込レジスタ５３９に書き込み、カウンタ５２１が出力するカウント値「３」を乱数値記憶回路５３１に取り込ませて、乱数値記憶回路５３１が記憶するランダムＲの値「３」を更新させたとする。この場合、タイマ回路５３４が乱数値取込データ「０１ｈ」を再び乱数値取込レジスタ５３９に書き込まなければ、カウンタ５２１が出力するカウント値が「３」から「４」や「５」に更新されても、乱数値記憶回路５３１が記憶する乱数値は更新されず、乱数値記憶回路５３１から読み出される乱数値は「３」のままである。
【０２３７】
カウント値順列変更プログラム５５４は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込んで、乱数値記憶回路５３１が記憶するカウント値の順列を変更させるカウント値順列変更処理を実行するためのプログラムである。ＣＰＵ５６は、カウント値順列変更プログラム５５４に従って処理を実行することによって、数値データ順列変更手段として機能する。ＣＰＵ５６は、カウント値順列変更プログラム５５４を実行して、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込むことによって、カウント値順列変更回路５２３が出力し乱数値記憶回路５３１に入力されるカウント値の順列を変更させる。
【０２３８】
シリアル通信回路設定プログラム５５６は、シリアル通信回路５０５に各制御基板に搭載されたマイクロコンピュータ（本例では、払出制御用マイクロコンピュータ）とシリアル通信させるための初期設定を行うシリアル通信回路設定処理を実行させるためのプログラムである。すなわち、ＣＰＵ５６は、シリアル通信回路設定プログラム５５６に従って処理を実行することにより、シリアル通信回路初期設定手段として機能する。
【０２３９】
割込優先順位設定プログラム５５７は、シリアル通信回路５０５の割り込み要求に応じて実行する割込処理の優先順位を初期設定するためのプログラムである。すなわち、ＣＰＵ５６は、割込優先順位設定プログラム５５６に従って処理を実行することにより、優先順位初期設定手段として機能する。
【０２４０】
また、遊技制御用マイクロコンピュータ５６０は、図３５に示すように、特図保留メモリ５７０と、大当り判定用テーブルメモリ５７１と、フラグメモリ５７２と、始動入賞口スイッチタイマメモリ５７３とを備える。
【０２４１】
特図保留メモリ５７０は、遊技球が可変入賞球装置１５に入賞して特別図柄の可変表示の実行条件は成立したが、未だ可変表示の開始条件が成立していない（例えば、特別図柄表示器８がまだ可変表示を実行中である）可変表示の実行条件の成立回数を含む保留データを記憶するためのメモリ（保存領域）である。特図保留メモリ５７０は、４つのエントリを備え、各エントリには、遊技球が可変入賞球装置１５に入賞した順に、保留番号と、入賞に応じて乱数値記憶回路５３１から読み出したランダムＲの値とが対応付けて格納される。また、特別図柄表示器８における特別図柄の可変表示が１回終了したり、大当り遊技状態が終了したりするごとに、特図保留メモリ５７０の最上位の情報にもとづいた可変表示の開始条件が成立し、特図保留メモリ５７０最上位の情報にもとづいた可変表示が実行される。この場合、特別図柄の可変表示の開始条件が成立すると、特図保留メモリ５７０の第２位以下に登録されている情報が１位ずつ繰り上がる。また、特別図柄の可変表示中に遊技球が可変入賞球装置１５に新たに入賞した場合には、その新たな入賞にもとづいて乱数値記憶回路５３１から読み出されたランダムＲの値が、特図保留メモリ５７０の空エントリに登録される。
【０２４２】
大当り判定用テーブルメモリ５７１は、ＣＰＵ５６が特別図柄表示器８の表示結果を大当り図柄とするか否かを判定するために用いる複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ５７１は、図３６（Ａ）に示すように、確変状態以外の遊技状態（通常状態という）において用いられる通常時大当り判定テーブル５７１ａを記憶する。また、大当り判定用テーブルメモリ５７１は、図３６（Ｂ）に示すように、確変状態において用いられる確変時大当り判定テーブル５７１ｂを格納する。なお、図３６に示す判定テーブルを用いて大当り判定を行う場合、乱数最大値設定レジスタ５３５に設定された乱数最大値によって大当りと判定する確率が大きく変化することになる。この場合、例えば、設定される乱数最大値が小さすぎると、通常時大当り判定テーブル５７１ａを用いた場合と、確変時大当り判定テーブル５７１ｂを用いた場合とで、大当りと判定する確率の差が小さくなってしまい、遊技者の遊技に対する興味を減退させてしまうことになる。そのため、乱数回路５０３および乱数最大値に対応づけて、複数の判定テーブル（複数の通常時大当り判定用テーブル５７１ａおよび複数の確変時大当り判定用テーブル５７１ｂ）を大当り判定用テーブルメモリ５７１に記憶してもよい。そして、ＣＰＵ５６は、大当り判定用テーブルメモリ５７１が記憶する判定テーブルのうち、使用する乱数回路５０３および乱数最大値に対応する判定テーブル５７１ａ，５７１ｂを用いて、表示結果決定プログラム５５２に従って、特別図柄表示器８の表示結果を大当り図柄とするか否かを判定するようにしてもよい。そのようにすることによって、使用する乱数回路５０３の種類や乱数最大値が異なっても、大当りと判定する確率がある程度同じになるように制御することができる。
【０２４３】
なお、この実施の形態では、１６ビット乱数回路５０３ｂを用いることにする。すなわち、ステップＳ１５１の処理で１６ビット乱数回路５０３ｂを用いることに決定されたとする。よって、ランダムＲとして、１６ビットで発生できる範囲（０から６５５３５までの範囲）の値をとりうる。
【０２４４】
フラグメモリ５７２には、遊技の進行を制御する遊技制御処理において用いられる各種のフラグが設定される。例えば、フラグメモリ５７２には、遊技状態が確変状態であることを示す確変フラグや、大当り状態であることを示す大当りフラグが設定される。
【０２４５】
始動口スイッチタイマメモリ５７３は、始動口スイッチ１４ａから入力される入賞検出信号ＳＳに応じて加算またはクリアされるタイマ値を記憶する。
【０２４６】
次に、ウォッチドッグタイマ６０について説明する。図３７は、ウォッチドッグタイマの構成例を示すブロック図である。ウォッチドッグタイマ（ＷＤＴ）６０は、プログラム管理エリアのＷＤＴ設定（ＫＷＤＴ；図２９では図示せず）６１にデータが設定されることにより、ウォッチドッグタイマ６０の動作許可／禁止の設定、および動作を許可した場合のクロックの周期の設定が行われる。この実施の形態では、ウォッチドッグタイマ６０を動作させるために、ウォッチドッグタイマ６０の動作許可の設定が行われる。また、ウォッチドッグタイマ６０のタイムアウト時間が所定の時間（具体的には、後述するように電圧が比較的安定した状態でＣＰＵ５６が電源断信号の状態を監視するための時間：図４２から図４４参照）になるように、カウントクロック選択回路６５により選択されるクロックの周期が設定される。
【０２４７】
ＷＤＴ制御回路６３は、ウォッチドッグタイマ６０の動作を制御する回路である。ＷＤＴ制御回路６３は、プログラム管理エリアのＷＤＴ設定６１に動作許可の設定が行われると、ウォッチドッグタイマ６０の動作の制御を実行する。また、ＷＤＴ制御回路６３は、プログラム管理エリアのＷＤＴ設定６１の設定値にもとづいて、カウントクロック選択回路６５が選択するクロックの周期を設定する。カウントクロック選択回路６５は、ＷＤＴ制御回路６３による設定に応じてクロック回路からのクロック信号を選択し、選択したクロック信号をカウントクロックとして１５ビットアップカウンタに出力する。これにより、ウォッチドッグタイマ６０におけるタイムアウト時間（タイムアップ時間）の設定が行われる。
【０２４８】
ウォッチドッグタイマ６０は、内蔵されているＷＤＴクリアレジスタ（ＷＣＬ）６２に所定のデータが設定されることにより、ウォッチドッグタイマ６０のカウントクリアおよびリスタートを実行する。具体的には、ＷＤＴクリアレジスタ６２に「＄５５」がＣＰＵ５６によって書き込まれ、次いで「＄ＡＡ」がＣＰＵ５６によって書き込まれ、次いで「＄３３」がＣＰＵ５６によって書き込まれる。「＄３３」が書き込まれた後にＷＤＴ制御回路６３がクリアおよびリスタートを実行する。すなわち、ＷＤＴ制御回路６３は、クリア＆リスタート信号をＯＲ回路６４を介して１５ビットアップカウンタ６６に出力して、カウント値のクリアとカウントアップのリスタートを再開させる。「＄５５」「＄ＡＡ」が書き込まれたときは、ＷＤＴ制御回路６３は、現在の動作を継続する。
【０２４９】
なお、ＣＰＵ５６によるＷＤＴクリアレジスタ６２の設定は、後述するタイマ割込処理のＷＤＴクリア処理（ステップＳ３６）により定期的（２ｍｓ毎）に実行される。
【０２５０】
１５ビットアップカウンタ６６は、カウントクロック選択回路６５からのカウントクロックをカウントする。ＣＰＵ５６が正常にプログラムを実行しているときは、定期的にＷＤＴクリアレジスタ６２の設定が行われることになり、１５ビットアップカウンタ６６がタイムアウトする前にカウント値のクリアおよびリスタート（再度カウント開始）が実行されることになる。一方、ＣＰＵ５６が正常にプログラムを実行していないとき、具体的には、待機状態（無限ループ）に移行したとき（図４５のステップＳ８３のＮ、図５４のステップＳ４８１の後）は、ＷＤＴクリアレジスタ６２の設定が行われず、１５ビットアップカウンタ６６のカウント値が所定値（タイムアウト時間に相当）に達してタイムアウトとなる。タイムアウトになると、１５ビットアップカウンタ６６は、タイムアウト信号を出力制御回路６７に出力する。出力制御回路６７は、１５ビットアップカウンタ６６からのタイムアウト信号を遊技制御用マイクロコンピュータ５６０のリセット／割込みコントローラ５０２に出力する。
【０２５１】
リセット／割込みコントローラ５０２は、ウォッチドッグタイマ６０がタイムアウト信号を発生すると、このタイムアウト信号を受け付けることにより、ユーザリセットを発生し、ユーザプログラムのベクタテーブルで示されるアドレス（後述するメイン処理の先頭のアドレス）からユーザプログラムをＣＰＵ５６に再実行させる。ウォッチドッグタイマ６０によるユーザリセットを発生すると、ＣＰＵ５６は、外部デバイスへのリセット信号としてロウレベルの信号を出力する。このリセット信号は、ウォッチドッグタイマ６０のＯＲ回路６４を介して１５ビットアップカウンタ６６に出力され、カウント値のクリアが行われる。
【０２５２】
次に、電源基板９１０の構成を図３８のブロック図を参照して説明する。電源基板９１０には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ９１４が設けられている。なお、電源スイッチ９１４は、遊技機において、電源基板９１０の外に設けられていてもよい。電源スイッチ９１４が閉状態（オン状態）では、交流電源（ＡＣ２４Ｖ）がトランス９１１の入力側（一次側）に印加される。トランス９１１は、交流電源（ＡＣ２４Ｖ）と電源基板９１０の内部とを電気的に絶縁するためのものであるが、その出力電圧もＡＣ２４Ｖである。また、トランス９１１の入力側には、過電圧保護回路としてのバリスタ９１８が設置されている。
【０２５３】
電源基板９１０は、電気部品制御基板（主基板３１、払出制御基板３７等）と独立して設置され、遊技機内の各基板および機構部品が使用する電圧を生成する。この例では、ＡＣ２４Ｖ、ＶSL（ＤＣ＋３０Ｖ）、ＶLP（ＤＣ＋２４Ｖ）、ＶDD（ＤＣ＋１２Ｖ）およびＶCC（ＤＣ＋５Ｖ）を生成する。また、バックアップ電源（ＶBB）すなわちバックアップＲＡＭに記憶内容を保持させるための記憶保持手段となるコンデンサ９１６は、ＤＣ＋５Ｖ（ＶCC）すなわち各基板上のＩＣ等を駆動する電源のラインから充電される。また、＋５Ｖラインとバックアップ＋５Ｖ（ＶBB）ラインとの間に、逆流防止用のダイオード９１７が挿入される。なお、ＶSLは、整流平滑回路９１５において、整流素子でＡＣ２４Ｖを整流昇圧することによって生成される。ＶSLは、ソレノイド駆動電源となる。また、ＶLPは、ランプ点灯用の電圧であって、整流回路９１２において、整流素子でＡＣ２４Ｖを整流することによって生成される。
【０２５４】
電源電圧生成手段としてのＤＣ−ＤＣコンバータ９１３は、１つまたは複数のレギュレータＩＣ（図３８では２つのレギュレータＩＣ９２４Ａ，９２４Ｂを示す）を有し、ＶSLにもとづいてＶDDおよびＶCCを生成する。レギュレータＩＣ（スイッチングレギュレータ）９２４Ａ，９２４Ｂの入力側には、比較的大容量のコンデンサ９２３Ａ，９２３Ｂが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、ＶSL、ＶDD、ＶCC等の直流電圧は、比較的緩やかに低下する。
【０２５５】
図３８に示すように、トランス９１１から出力されたＡＣ２４Ｖは、そのままコネクタ９２２Ｂに供給される。また、ＶLPは、コネクタ９２２Ｃに供給される。ＶCC、ＶDDおよびＶSLは、コネクタ９２２Ａ，９２２Ｂ，９２２Ｃに供給される。
【０２５６】
コネクタ９２２Ａに接続されるケーブルは、主基板３１に接続される。また、コネクタ９２２Ｂに接続されるケーブルは、払出制御基板３７に接続される。従って、コネクタ９２２Ａ，９２２Ｂには、ＶBBも供給されている。例えば、コネクタ９２２Ｃに接続されるケーブルは、音／ランプ制御基板８０ｂに接続される。なお、図柄制御基板８０ａには、音／ランプ制御基板８０ｂを経由して各電圧が供給される。
【０２５７】
また、電源基板９１０には、押しボタン構造のクリアスイッチ９２１が搭載されている。クリアスイッチ９２１が押下されるとローレベル（オン状態）のクリア信号が出力され、コネクタ９２２Ｂを介して払出制御基板３７に送信される。また、クリアスイッチ９２１が押下されていなければハイレベル（オフ状態）の信号が出力される。なお、クリアスイッチ９２１は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ９２１は、遊技機において、電源基板９１０以外に設けられていてもよい。
【０２５８】
さらに、電源基板９１０には、電気部品制御基板に搭載されているマイクロコンピュータに対するリセット信号を作成するとともに、電源断信号を出力する電源監視回路９２０と、電源監視回路９２０からのリセット信号を増幅してコネクタ９２２Ａ，９２２Ｂ，９２２Ｃに出力するとともに、電源断信号を増幅してコネクタ９２２Ｂに出力する出力ドライバ回路９２５が搭載されている。なお、図柄制御用マイクロコンピュータ１００ａに対するリセット信号は、音／ランプ制御基板８０ｂを経由して図柄制御基板８０ａに伝達される。
【０２５９】
電源監視回路９２０は電源断信号を出力する電源監視手段とリセット信号を生成するリセット信号生成手段とを実現する回路であるが、電源監視回路９２０として、市販の停電監視リセットモジュールＩＣを使用することができる。電源監視回路９２０は、遊技機において用いられる所定電圧（例えばＶSL＋３０Ｖ）が所定値（例えば＋２２Ｖ）以下になった期間が、あらかじめ決められている時間（例えば５６ｍｓ）以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態（ローレベル）にする。また、電源監視回路９２０は、例えば、ＶCCが＋９Ｖ以下になると、リセット信号をローレベルにする。
【０２６０】
なお、この実施の形態では、電源断信号を出力する機能とリセット信号を出力する機能とが１つの電源監視回路９２０で実現されているが、それらを別の回路で実現してもよい。その場合、リセット信号を出力する回路として、ウォッチドッグタイマ内蔵ＩＣを使用することができる。
【０２６１】
電源監視回路９２０は、遊技機に対する電力供給が停止する際には、電源断信号を出力（ローレベルにする）してから所定期間が経過したことを条件にリセット信号をローレベルにする。所定期間は、主基板３１に搭載されている遊技制御用マイクロコンピュータ５６０および払出制御基板３７に搭載されている払出制御用マイクロコンピュータ３７０が、後述する電源断処理を実行するのに十分な時間である。すなわち、電源監視回路９２０は、電圧低下検出信号としての電源断信号を出力した後、遊技制御用マイクロコンピュータ５６０および払出制御用マイクロコンピュータ３７０が、電源断処理を実行完了した後に、動作停止信号（リセット信号のローレベル）を出力する。また、電源監視回路９２０は、電圧低下検出信号を出力する第１の電源監視手段と動作停止信号を出力する第２の電源監視手段とを兼ねている。また、遊技機に対する電力供給が開始され、ＶSLが例えば＋５．０Ｖを越えるとリセット信号をハイレベルにする。そして、ＶSLが例えば＋２２Ｖを超えると電源断信号を出力しない状態にする（ハイレベルにする）。
【０２６２】
電源監視回路９２０からの電源断信号すなわち電源監視手段からの検出信号は、払出制御基板３７において、入力ポート３７２ｇを介して払出制御用マイクロコンピュータ３７０に入力される。すなわち、払出制御用マイクロコンピュータ３７０は、入力ポート３７２ｇの入力信号を監視することによって遊技機への電力供給の停止の発生を確認することができる。また、主基板３１において、電源監視回路９２０からの電源断信号は、払出制御基板３７および主基板３１に搭載されている入力ポートを介して遊技制御用マイクロコンピュータ５６０に入力される。すなわち、遊技制御用マイクロコンピュータ５６０は、入力ポートの入力信号を監視することによって遊技機への電力供給の停止の発生を確認することができる。
【０２６３】
なお、この実施の形態では、電源監視手段が所定電位の電源の出力を監視し、外部から遊技機に供給される電力の供給停止に関わる検出条件として、遊技機の外部からの電圧（この実施の形態ではＡＣ２４Ｖ）から作成された所定の直流電圧が所定値以下になったこと（所定の直流電圧が所定期間基準値以下になった場合でもよい）を用いたが、検出条件は、それに限られず、外部のからの電力が途絶えたことを検出できるのであれば、他の条件を用いてもよい。例えば、交流波そのものを監視して交流波が途絶えたこと（交流波が所定期間、所定の電圧値となっていない場合でもよい）を検出条件としてもよいし、交流波をディジタル化した信号を監視して、ディジタル信号が平坦になったこと（ディジタル化した信号が所定期間平坦になった場合でもよい）をもって交流波が途絶えたことを検出条件としてもよい。
【０２６４】
図３９は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図３９に示すように、音／ランプ制御基板８０ｂに送信される演出制御コマンドの８ビットのデータ（演出制御信号）は出力ポート１から出力される。なお、図３９に示された「論理」（例えば１がオン状態）と逆の論理（例えば０がオン状態）を用いてもよいが、特に、接続確認信号については、主基板３１と払出制御基板３７との間の信号線において断線が生じた場合やケーブル外れの場合（ケーブル未接続を含む）等に、払出制御用マイクロコンピュータ３７０では必ずオフ状態と検知されるように「論理」が定められる。具体的には、一般に、断線やケーブル外れが生ずると信号の受信側ではハイレベルが検知されるので、主基板３１と払出制御基板３７との間の信号線でのハイレベルが、遊技制御手段における出力ポートにおいてオフ状態になるように「論理」が定められる。従って、必要であれば、主基板３１において出力ポートの外側に、信号を論理反転させる出力バッファ回路が設置される。
【０２６５】
また、出力ポート２から、音／ランプ制御基板８０ｂに送信される演出制御コマンドについての演出制御ＩＮＴ信号（取込信号）も出力される。演出制御ＩＮＴ信号は、演出制御コマンドの８ビットのデータを取り込む（受信する）ことを音／ランプ制御手段に指令するための信号である。また、出力ポート２から、大当りの種別を示す信号や遊技状態を示す信号、図柄確定回数を示す信号が情報出力回路（図示せず）を介して外部の装置（管理装置）に出力される。さらに、出力ポート２から、主基板３１が接続されていることを示す接続確認信号も出力される。
【０２６６】
また、出力ポート３から、開閉板２０１，２０２（第１大入賞口、第２大入賞口）を開閉するためのソレノイド（大入賞口扉ソレノイド）２４１，２４２、および可変入賞球装置１５を開閉するためのソレノイド（普通電動役物ソレノイド）１６に対する駆動信号が出力される。また、出力ポート３から、大入賞口表示灯３８，３９に対する制御信号も出力される。
【０２６７】
なお、賞球コマンドを払出制御基板３７に出力するためのポートが上記の出力ポートに割り当てられていてもよい。この場合、シリアル通信により賞球コマンドが送信されるので、１ビットのポートを割り当てればよい。
【０２６８】
図４０は、遊技制御手段における入力ポートのビット割り当ての例を示す説明図である。図４０に示すように、入力ポート０のビット０〜５には、それぞれ、カウントスイッチ２３１，２３２、ゲートスイッチ３２ａ、入賞口スイッチ２９ａ，３０ａ、始動口スイッチ１４ａの検出信号が入力される。また、入力ポート１のビット０，１には、それぞれ、払出制御基板３７からの電源断信号およびクリアスイッチ９２１の検出信号が入力される。また、入力ポート１のビット２には、乱数回路５０３が正常に乱数を更新しているかどうかを確認するための乱数確認信号が入力される。
【０２６９】
次に、電力供給開始時における各ＣＰＵおよびウォッチドッグタイマ６０の動作について説明する。図４１は、電力供給開始時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。なお、図４１は、電源がオン状態となってから所定の電源電圧（ＶSL）が正常に＋３０Ｖまで上昇する場合を示している。
【０２７０】
図４１に示すように、電源がオン状態になると、ＶSLの電圧値は上昇していく。電圧値が＋９Ｖになると、電源監視回路９０２は、リセット信号をハイレベルにする。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、各ＣＰＵ（ＣＰＵ５６、払出制御用ＣＰＵ、音／ランプ制御用ＣＰＵ１０１ｂ、図柄制御用ＣＰＵ１０１ａ）は動作可能状態となる。そして、ＣＰＵ（メインＣＰＵ）５６は、動作可能状態になると、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、メイン処理を開始する。その他のＣＰＵ（サブＣＰＵ）は、動作可能状態になると、直ちにメイン処理を開始する。
【０２７１】
電圧値が＋２２Ｖになると、電源監視回路９０２は、電源断信号をオフ状態（ハイレベル）にする。このとき、図４１に示す例では、ＣＰＵ５６は未だセキュリティチェック処理を実行している。ＣＰＵ５６は、セキュリティチェック処理を終了すると、メイン処理を開始する。メイン処理において、ＣＰＵ５６は、必要な初期設定を行った後、電源断信号がオフ状態であるか否かを確認する。図４１に示す例では、電源断信号はすでにオフ状態になっている。電源断信号がオフ状態になっているときは、ＣＰＵ５６は、遊技制御処理の実行開始を遅らせるためのソフトウェア遅延処理を実行し、乱数回路５０３が正常に乱数を更新しているかどうかを確認するために乱数確認信号が入力されているか否かを確認する。乱数確認信号が入力されていれば、ＣＰＵ５６は、ＲＡＭ５５の記憶内容を初期化する初期化処理を実行する。なお、電力供給停止時に後述する電源断処理が実行され、その後に電力供給が再開されたときに所定の復旧条件が成立した場合には、ＲＡＭ５５に所定期間保持されているバックアップデータにもとづいて制御状態を復旧させる復旧処理が実行される。その後、ＣＰＵ５６は、後述するタイマ割込にもとづく遊技制御処理を開始する。
【０２７２】
サブＣＰＵ（例えば払出制御用ＣＰＵ）は、メイン処理を開始すると、初期化処理を実行し、その後にタイマ割込にもとづく制御処理（例えば払出制御処理）を開始する。なお、この実施の形態では、払出制御用マイクロコンピュータに内蔵されているＲＡＭも電源バックアップされるとともに、電力供給停止時に払出制御用マイクロコンピュータは電源断処理を実行する。従って、遊技制御用マイクロコンピュータ５６０と同様に、払出制御用マイクロコンピュータにおいても、電力供給停止時に電源断処理が実行され、その後に電力供給が再開されたときに所定の復旧条件が成立した場合には、ＲＡＭに所定期間保持されているバックアップデータにもとづいて制御状態を復旧させる復旧処理が実行される。その他のサブＣＰＵ（音／ランプ制御用ＣＰＵなど）は、ＲＡＭが電源バックアップされていないので、復旧処理が実行されることはない。
【０２７３】
遊技制御用マイクロコンピュータ５６０に内蔵されているウォッチドッグタイマ６０は、内蔵レジスタにＣＰＵ５６による初期設定が行われたことにもとづいてカウントアップする動作（タイムアウト時間を計測する動作）を開始する。その後に遊技制御処理が開始されると、ＣＰＵ５６は、遊技制御処理において、内部バスを介してウォッチドッグタイマ６０のＷＤＴクリアレジスタにデータを定期的に設定することにより、ウォッチドッグタイマ６０のカウント値をクリアしリスタート（カウントの再開）させる処理を実行する。これにより、遊技制御処理の実行中に、ウォッチドッグタイマ６０がタイムアウトしてリセットされてしまうことはない。なお、ＣＰＵ５６がソフトウェア遅延処理を実行している間にウォッチドッグタイマ６０がタイムアウトしてしまわないように、ソフトウェア遅延処理の実行中においても、ＣＰＵ５６がウォッチドッグタイマ６０のＷＤＴクリアレジスタにデータを定期的に設定し、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理を実行する。
【０２７４】
図４１に示したように、ＣＰＵ５６においては、遊技制御処理を開始する前にソフトウェア遅延処理を実行しているため、遊技制御処理の実行開始を他のサブＣＰＵにおける制御処理（例えば払出制御処理や音／ランプ制御処理など）が実行可能となる時期よりも遅延させることができる。その結果、ＣＰＵ５６が遊技制御処理にもとづいてサブＣＰＵにコマンドを送信したときに、サブＣＰＵにおける制御処理が開始されていないためにコマンドを取りこぼしてしまうのを回避することができる。
【０２７５】
図４２も、図４１と同様に、電力供給開始時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。ただし、図４２は、電源がオン状態となってから所定の電源電圧（ＶSL）が正常に＋３０Ｖまで上昇しない場合、すなわち、電源電圧の立ち上がりが遅い場合を示している。
【０２７６】
図４２に示すように、電源がオン状態になると、ＶSLの電圧値は上昇していく。電圧値が＋９Ｖになると、電源監視回路９０２は、リセット信号をハイレベルにする。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、各ＣＰＵ（ＣＰＵ５６、払出制御用ＣＰＵ、音／ランプ制御用ＣＰＵ１０１ｂ、図柄制御用ＣＰＵ１０１ａ）は動作可能状態となる。そして、ＣＰＵ（メインＣＰＵ）５６は、セキュリティチェック処理を実行した後、メイン処理を開始し、その他のＣＰＵ（サブＣＰＵ）は、直ちにメイン処理を開始する。
【０２７７】
ＣＰＵ５６は、セキュリティチェック処理を終了すると、メイン処理を開始する。メイン処理において、ＣＰＵ５６は、必要な初期設定を行った後、電源断信号がオフ状態であるか否かを確認する。このとき、図４２に示す例では、電源電圧の立ち上がりが遅く、電圧値が＋２２Ｖに達していないため、電源断信号は未だオフ状態になっていない（オン状態のままである）。電源断信号がオン状態のとき、ＣＰＵ５６は、制御状態を待機状態（無限ループ）に移行させる。一方、サブＣＰＵ（例えば払出制御用ＣＰＵ）は、メイン処理を開始すると、初期化処理を実行し、その後にタイマ割込にもとづく制御処理（例えば払出制御処理）を開始する。
【０２７８】
図４２に示すように、その後に電圧値が＋２２Ｖになると、電源監視回路９０２は、電源断信号をオフ状態（ハイレベル）にする。このとき、ＣＰＵ５６は待機状態に制御されている。
【０２７９】
遊技制御用マイクロコンピュータ５６０に内蔵されているウォッチドッグタイマ６０は、内蔵レジスタにＣＰＵ５６による初期設定が行われたことにもとづいてカウントアップする動作を開始する。ＣＰＵ５６が待機状態のときは、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理が実行されない。従って、ウォッチドッグタイマ６０のカウント値は所定値に達してタイムアウトとなる。タイムアウトになると、ウォッチドッグタイマ６０は、タイムアウト信号を遊技制御用マイクロコンピュータ５６０のリセット／割込みコントローラ５０２に出力する。
【０２８０】
リセット／割込みコントローラ５０２は、ウォッチドッグタイマ６０がタイムアウト信号を発生すると、ユーザリセットを発生し、ユーザプログラムのベクタテーブルで示されるアドレス（メイン処理の先頭のアドレス）からプログラムをＣＰＵ５６に再実行させる。ウォッチドッグタイマ６０によるユーザリセットを発生すると、ＣＰＵ５６は、外部デバイスへのリセット信号としてロウレベルの信号を出力する。このリセット信号は、ウォッチドッグタイマ６０のＯＲ回路６４を介して１５ビットアップカウンタ６６に出力され、ウォッチドッグタイマ６０のカウント値のクリアされる。
【０２８１】
ＣＰＵ５６は、ユーザリセットによりメイン処理が再開されると、必要な初期設定を実行した後、再び電源断信号がオフ状態であるか否かを確認する。このとき、図４２に示す例では、電源断信号はオフ状態（ハイレベル）になっている。従って、上述したように、ＣＰＵ５６は、ソフトウェア遅延処理を実行し、乱数確認処理を実行し、初期化処理を実行した後に、タイマ割込にもとづく遊技制御処理を実行する。遊技制御処理が開始されると、ＣＰＵ５６は、遊技制御処理において、内部バスを介してウォッチドッグタイマ６０のＷＤＴクリアレジスタにデータを定期的に設定することにより、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理を実行する。また、ＣＰＵ５６がソフトウェア遅延処理を実行している間にウォッチドッグタイマ６０がタイムアウトしてしまわないように、ソフトウェア遅延処理の実行中においても、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理を実行する。
【０２８２】
図４２に示したように、電源断信号を確認し、電源断信号がオフ状態でないときは所定時間（ウォッチドッグタイマ６０のタイムアウト時間）おいてから再度電源断信号を確認するように構成されているので、比較的電圧が安定した状態で電源断信号の状態を監視することができるようになる。そして、図４２に示した構成では、ソフトウェアによる処理で所定期間後の電源断信号の監視を実行しているわけではないので、そのためのプログラムを作成する必要がなく、プログラム容量が大きくなるわけではない。また、図４２に示した構成では、遊技制御用マイクロコンピュータ５６０に内蔵されているウォッチドッグタイマ６０（このウォッチドッグタイマ６０は後述する電力供給時における瞬停を検出する場合にも利用される）を利用しているため、ハードウェアによる回路を特別に設けているわけではなく、特別な回路を設ける分のコストがかかってしまうこともない。
【０２８３】
図４３は、電力供給停止時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。図４３に示すように、ＶSLの電圧値が＋３０Ｖから徐々に低下し、電圧値が＋２２Ｖになると、電源監視回路９０２は電源断信号をオン状態（ローレベル）にする。電源断信号がオン状態になると、ＣＰＵ５６は、制御状態を復旧させるために必要なデータを電源バックアップされたＲＡＭ５５に保存するための電源断処理を実行し、そして、制御状態を待機状態（無限ループ）に移行させる。その後、電圧値が＋９Ｖに低下すると、電源監視回路９０２は、リセット信号をローレベルにする。リセット信号が入力されるリセット端子の入力レベルがローレベルになると、各ＣＰＵ（ＣＰＵ５６、払出制御用ＣＰＵ、音／ランプ制御用ＣＰＵ１０１ｂ、図柄制御用ＣＰＵ１０１ａ）は動作停止状態となる。
【０２８４】
ウォッチドッグタイマ６０は、電源断処理が実行されているときもカウントアップしているが、ウォッチドッグタイマ６０の動作可能電圧値（例えば＋５Ｖ）まで電圧値が低下すると、動作を停止する。このとき、ウォッチドッグタイマ６０はタイムアウトしていない。
【０２８５】
なお、その後に、電力供給が再開されたときに、所定の復旧条件が成立している場合は、ＣＰＵ５６はＲＡＭ５５の記憶内容にもとづいて復旧処理を実行する。なお、この実施の形態では、払出制御用ＣＰＵも電源断信号がオフ状態になったことにもとづいて電源断処理を実行する。
【０２８６】
図４４は、電力供給瞬停時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。図４４に示すように、ＶSLの電圧値が＋３０Ｖから徐々に低下し、電圧値が＋２２Ｖになると、電源監視回路９０２は電源断信号をオン状態（ローレベル）にする。電源断信号がオン状態になると、ＣＰＵ５６は、電源断処理を実行した後、制御状態を待機状態（無限ループ）に移行させる。その後も電圧値が徐々に低下していくが、図４４に示す例では、電圧値が＋９Ｖに至る前に電圧値が上昇していき、再び＋３０Ｖに戻っている。このとき、ＣＰＵ５６の制御状態は待機状態に維持されてしまう。
【０２８７】
一方、ウォッチドッグタイマ６０は、電源断処理が開始されたとき（正確には、遊技制御処理におけるクリアおよびリスタートの処理が実行されなくなった時点）からカウントを開始している。そして、制御状態が待機状態に移行された後もカウントを行っている。ウォッチドッグタイマ６０は、カウント値が所定値になってタイムアウトすると、タイムアウト信号を遊技制御用マイクロコンピュータ５６０のリセット／割込みコントローラ５０２に出力する。
【０２８８】
リセット／割込みコントローラ５０２は、ウォッチドッグタイマ６０がタイムアウト信号を発生すると、ユーザリセットを発生し、ユーザプログラムのベクタテーブルで示されるアドレス（メイン処理の先頭のアドレス）からプログラムをＣＰＵ５６に再実行させる。
【０２８９】
ＣＰＵ５６は、ユーザリセットによりメイン処理が開始されると、必要な初期設定を実行した後、電源断信号がオフ状態であるか否かを確認する。このとき、図４４に示す例では、電源断信号はオフ状態（ハイレベル）になっている。従って、ＣＰＵ５６は、ソフトウェア遅延処理を実行し、乱数確認処理を実行し、復旧処理を実行した後に、タイマ割込にもとづく遊技制御処理を実行する。遊技制御処理が開始されると、ＣＰＵ５６は、遊技制御処理において、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理を実行する。なお、ソフトウェア遅延処理の実行中においても、ウォッチドッグタイマ６０のカウント値をクリアしリスタートさせる処理を実行する。
【０２９０】
図４４に示したように、電力供給の瞬停等が発生したことにもとづいて、制御状態が待機状態に移行されたとしても、ウォッチドッグタイマ６０により所定期間経過後にユーザリセットをかけるように構成されているので、制御状態を待機状態から容易に復帰させることができる。
【０２９１】
次に遊技制御用マイクロコンピュータ５６０の動作について説明する。図４５および図４６は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ５６０へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ５６０のＣＰＵ５６が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップＳ１以降のメイン処理を開始する。メイン処理において、ＣＰＵ５６は、まず、必要な初期設定を行う。
【０２９２】
初期設定処理において、ＣＰＵ５６は、まず、割込禁止に設定する（ステップＳ１）。次に、マスク可能割込の割込モードを割込モード２に設定し（ステップＳ２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ３）。なお、ステップＳ２では、遊技制御用マイクロコンピュータ５６０の特定レジスタ（Ｉレジスタ）の値（１バイト）と内蔵デバイスが出力する割込ベクタ（１バイト：最下位ビット０）から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、ＣＰＵ５６は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【０２９３】
次いで、内蔵デバイスレジスタの設定（初期化）を行う（ステップＳ４）。ステップＳ４の処理によって、内蔵デバイス（内蔵周辺回路）であるＣＴＣ（カウンタ／タイマ）およびＰＩＯ（パラレル入出力ポート）の設定（初期化）がなされる。また、ウォッチドッグタイマ６０の内蔵レジスタ（ＷＤＴ設定６１）の設定も行われる。
【０２９４】
この実施の形態で用いられる遊技制御用マイクロコンピュータ５６０は、Ｉ／Ｏポート（ＰＩＯ）およびタイマ／カウンタ回路（ＣＴＣ）５０４も内蔵している。
【０２９５】
次いで、ＣＰＵ５６は、遊技の進行を制御する遊技装置制御処理（遊技制御処理）の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行する。具体的には、まず、ウェイトカウンタ１に、初期化ウェイト回数指定値１をセットする（ステップＳ８１）。次いで、ウォッチドッグタイマ６０のＷＤＴクリアレジスタ６２にデータを設定してクリアおよびリスタートさせる処理を実行する（ステップＳ８２）。そして、入力ポート１のビット０の状態によって電源断信号がオフ状態であるか否かを確認する電源断信号確認処理を実行する（ステップＳ８３）。遊技機に対する電力供給が開始されたときに、＋３０Ｖ電源などの各種電源の出力電圧は徐々に規定値に達するのであるが、ステップＳ８３の処理によって、すなわち、電源断信号がオフ状態である（ハイレベルになっている）ことを確認することによりＣＰＵ５６は電源電圧が安定したことを確認することができる。なお、ノイズなどの影響で誤検出してしまう可能性もあるため、電源断信号の確認は所定回数（例えば５回）連続して実行される。
【０２９６】
電源断信号がオン状態（ローレベル）である場合には（ステップＳ８３のＮ）、ＣＰＵ５６は、無限ループの処理を繰り返し実行させることにより制御状態を待機状態に移行させる。電源断信号がオフ状態（ハイレベル）である場合には（ステップＳ８３のＹ）、ＣＰＵ５６は、ウェイトカウンタ２に、初期化ウェイト回数指定値２をセットする（ステップＳ８４）。なお、ウェイトカウンタ１，２として、遊技制御用マイクロコンピュータ５６０が内蔵する汎用のレジスタが用いられる。そして、ウェイトカウンタ２の値が０になるまでウェイトカウンタ２の値を１ずつ減算する（ステップＳ８５，Ｓ８６）。ウェイトカウンタ２の値が０になったらウェイトカウンタ１の値を１減算し（ステップＳ８７）、ウェイトカウンタ１の値が０になっていなければ（ステップＳ８８）、ステップＳ８２に戻る。ウェイトカウンタ１の値が０になっていれば、ソフトウェア遅延処理を終了する。
【０２９７】
以上のようなソフトウェア遅延処理によって、ほぼ、［（初期化ウェイト回数指定値１）×（初期化ウェイト回数指定値２）×（ステップＳ８３，Ｓ８４の処理時間）］だけ、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。換言すれば、所望の時間だけ遊技制御処理の開始タイミングを遅延させることができるように、初期化ウェイト回数指定値１，２の値が決定される。なお、初期化ウェイト回数指定値１，２の値は、ＲＯＭ５４に設定されている。また、ここで説明したソフトウェア遅延処理は一例であって、他の方法によってソフトウェア遅延処理を実現してもよい。また、遊技制御用マイクロコンピュータ５６０は、ステップＳ８１，Ｓ８４でセットされるウェイトカウンタ１およびウェイトカウンタ２の値を入力する手段を備えていてもよい。ウェイトカウンタ１およびウェイトカウンタ２は、遅延時間の長さを定めるパラメータである。従って、ウェイトカウンタ１およびウェイトカウンタ２の値を入力する手段を備えていれば、遅延時間の設定に関する汎用性を向上させることができる。
【０２９８】
ソフトウェア遅延処理を終了すると、ＣＰＵ５６は、内蔵デバイス（内蔵周辺回路）であるＣＴＣ（カウンタ／タイマ）およびＰＩＯ（パラレル入出力ポート）の設定（初期化）（ステップＳ５）を行った後、ＲＡＭ５５をアクセス可能状態に設定する（ステップＳ６）。
【０２９９】
次いで、ＣＰＵ５６は、クリアスイッチがオンされているか否か確認する（ステップＳ７）。なお、ＣＰＵ５６は、入力ポート１を介して１回だけクリア信号の状態を確認するようにしてもよいが、複数回クリア信号の状態を確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを確認したら、所定時間（例えば、０．１秒）の遅延時間をおいた後、クリア信号の状態を再確認する。そのときにクリア信号の状態がオン状態であることを確認したら、クリア信号がオン状態になっていると判定する。また、このときにクリア信号の状態がオフ状態であることを確認したら、所定時間の遅延時間をおいた後、再度、クリア信号の状態を再確認するようにしてもよい。ここで、再確認の回数は、１回または２回に限られず、３回以上であってもよい。また、２回チェックして、チェック結果が一致していなかったときにもう一度確認するようにしてもよい。
【０３００】
ステップＳ７でクリアスイッチがオンでない場合には、遊技機への電力供給が停止したときにバックアップＲＡＭ領域のデータ保護処理（例えばパリティデータの付加等の電力供給停止時処理（電源断処理））が行われたか否か確認する（ステップＳ８）。この実施の形態では、電力供給の停止が生じた場合には、バックアップＲＡＭ領域のデータを保護するための処理が行われている。そのような電力供給停止時処理が行われていたことを確認した場合には、ＣＰＵ５６は、電力供給停止時処理が行われた、すなわち電力供給停止時の制御状態が保存されていると判定する。電力供給停止時処理が行われていないことを確認した場合には、ＣＰＵ５６は初期化処理を実行する。
【０３０１】
電力供給停止時処理が行われていたか否かは、電力供給停止時処理においてバックアップＲＡＭ領域に保存されるバックアップ監視タイマの値が、電力供給停止時処理を実行したことに応じた値（例えば２）になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域に電力供給停止時処理を実行したことを示すフラグをセットし、ステップＳ８において、そのフラグがセットされていることを確認したら電力供給停止時処理が行われたと判定してもよい。
【０３０２】
電力供給停止時の制御状態が保存されていると判定したら、ＣＰＵ５６は、バックアップＲＡＭ領域のデータチェック（この例ではパリティチェック）を行う（ステップＳ９）。この実施の形態では、クリアデータ（００）をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象になるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すＲＡＭ領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を１増やし、チェックサム算出回数の値を１減算する。以上の処理が、チェックサム算出回数の値が０になるまで繰り返される。チェックサム算出回数の値が０になったら、ＣＰＵ５６は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムにする。
【０３０３】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップＲＡＭ領域に保存されている。ステップＳ９では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップＲＡＭ領域のデータは保存されているはずであるから、チェック結果（比較結果）は正常（一致）になる。チェック結果が正常でないということは、バックアップＲＡＭ領域のデータが、電力供給停止時のデータとは異なっている可能性があることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理（ステップＳ１０〜Ｓ１４の処理）を実行する。
【０３０４】
チェック結果が正常であれば、ＣＰＵ５６は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ＲＯＭ５４に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し（ステップＳ９１）、バックアップ時設定テーブルの内容を順次作業領域（ＲＡＭ５５内の領域）に設定する（ステップＳ９２）。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップＳ９１およびＳ９２の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ（特別図柄プロセスフラグなど）、出力ポートの出力状態が保存されている領域（出力ポートバッファ）、未払出賞球数を示すデータが設定されている部分などである。
【０３０５】
また、ＣＰＵ５６は、ＲＯＭ５４に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し（ステップＳ９３）、ステップＳ１５に移行する。なお、ステップＳ９３において他の制御基板におけるマイクロコンピュータ（音／ランプ制御用マイクロコンピュータ１００ｂ、図柄制御用マイクロコンピュータ１００ａ）の制御状態を復旧させるためのコマンド（復旧コマンド）が送信される。復旧コマンドとして、電力供給停止時の遊技状態に応じた遊技演出の実行を指定する通常表示コマンド（Ｅ４０１（Ｈ））、特別表示コマンド（Ｅ４０２（Ｈ））および高確率潜伏表示コマンド（Ｅ４０３（Ｈ））が設けられている（図６１参照）。ＣＰＵ５６は、遊技状態に応じたフラグ（後述する確変フラグ、時短フラグおよび高確率潜伏状態フラグ）を確認し、電力供給停止時の遊技状態に応じた遊技演出の実行を指定する復旧コマンドを他の制御基板のマイクロコンピュータに送信する。他の制御基板のマイクロコンピュータは、そのような復旧コマンの受信にもとづいて各種の演出装置（電気部品）を用いて遊技状態に応じた遊技演出を実行する。なお、この実施の形態では、復旧コマンドは、音／ランプ制御用マイクロコンピュータ１００ｂに送信された後に、音／ランプ制御用マイクロコンピュータ１００ｂから図柄制御用マイクロコンピュータ１００ａに送信される。このとき、音／ランプ制御用マイクロコンピュータ１００ｂは、遊技制御用マイクロコンピュータ５６０からの復旧コマンドをそのまま図柄制御用マイクロコンピュータ１００ａに送信してもよいし、遊技制御用マイクロコンピュータ５６０からの復旧コマンドを加工した後に図柄制御用マイクロコンピュータ１００ａに送信してもよい。
【０３０６】
初期化処理では、ＣＰＵ５６は、まず、ＲＡＭクリア処理を行う（ステップＳ１０）。なお、ＲＡＭ５５の全領域を初期化せず、所定のデータをそのままにしてもよい。また、ＲＯＭ５４に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し（ステップＳ１１）、初期化時設定テーブルの内容を順次業領域に設定する（ステップＳ１２）。
【０３０７】
ステップＳ１１およびＳ１２の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。また、出力ポートバッファにおける接続確認信号を出力する出力ポートに対応するビットがセット（接続確認信号のオン状態に対応）される。
【０３０８】
また、ＣＰＵ５６は、ＲＯＭ５４に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し（ステップＳ１３）、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する（ステップＳ１４）。初期化コマンドとして、可変表示装置９に表示される初期図柄を示すコマンドや払出制御基板３７への初期化コマンド等を使用することができる。
【０３０９】
また、ＣＰＵ５６は、各乱数回路５０３ａ，５０３ｂを初期設定する乱数回路設定処理を実行する（ステップＳ１５ａ）。この場合、ＣＰＵ５６は、乱数回路設定プログラム５５１に従って処理を実行することによって、各乱数回路５０３ａ，５０３ｂにランダムＲの値を更新させるための設定を行う。
【０３１０】
また、ＣＰＵ５６は、シリアル通信回路５０５を初期設定するシリアル通信回路設定処理を実行する（ステップＳ１５ｂ）。この場合、ＣＰＵ５６は、シリアル通信回路設定プログラム５５６に従って処理を実行することによって、シリアル通信回路５０５に払出制御用マイクロコンピュータとシリアル通信させるための設定を行う。
【０３１１】
シリアル通信回路５０５を初期設定すると、ＣＰＵ５６は、シリアル通信回路５０５の割り込み要求に応じて実行する割込処理の優先順位を初期設定する（ステップＳ１５ｃ）。この場合、ＣＰＵ５６は、割込優先順位設定プログラム５５７に従って処理を実行することによって、割込処理の優先順位を初期設定する。
【０３１２】
例えば、ＣＰＵ５６は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。図４７は、割込処理優先順位テーブルの例を示す説明図である。この実施の形態では、ＣＰＵ５６は、図４７に示す割込処理優先順位テーブルに従って、シリアル通信回路５０５において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。この場合、例えば、ＣＰＵ５６は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
【０３１３】
なお、この実施の形態では、タイマ割込とシリアル通信回路５０５からの割り込み要求とが同時に発生した場合、ＣＰＵ５６は、タイマ割込による割込処理を優先して行う。
【０３１４】
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定された割込処理を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
【０３１５】
上記のステップＳ１５ａ〜１５ｃの処理は、ステップＳ４の内蔵デバイスレジスタの設定の処理において実行されてもよい。
【０３１６】
また、上述したシリアル通信回路設定処理（ステップＳ１５ｂ）と割り込み優先順位の設定処理（ステップＳ１５ｃ）の実行順序を入れ替えてもよい。すなわち、割り込み優先順位の設定を行った後にシリアル通信回路設定処理（ステップＳ１５ｂ）を行うようにしてもよい。このような構成では、シリアル通信回路５０５の設定とタイマ割込の設定の前に割り込みの優先順位が決められることになる。
【０３１７】
次いで、入力ポート１のビット２の状態によって乱数確認信号が入力されているか否かを確認する乱数確認処理を実行する（ステップＳ８９）。この実施の形態において、乱数確認信号は、クロック信号出力回路５３７から出力されるクロック信号とされている。クロック信号出力回路５３７からクロック信号が出力されていなければ、乱数回路５０３において乱数を更新することができなくなるので、乱数回路５０３に異常が発生していると判断することができる。なお、乱数回路５０３が正常に動作しているかどうかを確認する別の処理として、クロック信号出力回路５３７から出力されるクロック信号をウォッチドッグタイマ（待機状態から復帰させるものとは別のウォッチドッグタイマ）に入力させ、そのウォッチドッグタイマはクロック信号出力回路５３７からのクロック信号が入力されなくなるとカウントを開始し、タイムアウトしたときに乱数回路５０３の異常を示す信号をＣＰＵ５６に出力するようにしてもよい。また、乱数回路５０３から乱数を複数回抽出し、抽出した乱数値が同一の値であるか否かを判定する処理としてもよい。このような処理によれば、乱数値が同一値であれば、乱数回路５０３が乱数を更新していないと判断することができる。
【０３１８】
ＣＰＵ５６は、乱数確認信号が入力されていないと判断した場合には（ステップＳ８９のＮ）、乱数回路５０３の異常を報知する処理を実行する（ステップＳ９０）。例えば、乱数回路５０３の異常を報知するためのランプ（図示せず）を点灯させる。また、音／ランプ制御基板８０ｂに乱数回路５０３の異常を報知させるための演出制御コマンドを送信して、乱数回路５０３の異常を報知するエラー音を音声出力させたり、乱数回路５０３の異常を報知する所定の点灯パターンでランプを点灯させたりする。また、音／ランプ制御基板８０ｂを介して図柄制御基板８０ａに乱数回路５０３の異常を報知させるためのコマンドを送信して、乱数回路５０３の異常を報知する画面表示を可変表示装置９において実行させたりする。
【０３１９】
そして、ＣＰＵ５６は、所定時間（例えば２ｍｓ）ごとに定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ５６０に内蔵されているＣＴＣのレジスタの設定を行なうタイマ割込設定処理を実行する（ステップＳ１６）。すなわち、初期値として例えば２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。この実施の形態では、２ｍｓごとに定期的にタイマ割込がかかるとする。
【０３２０】
タイマ割込の設定が完了すると、ＣＰＵ５６は、電源断信号が出力されたか否か（オン状態になったか否か）を検出する電源断処理（電源断検出処理）を実行する（ステップＳ１８）。なお、電源断処理は、２ｍｓ毎に実行されるタイマ割込処理（遊技制御処理）において実行されてもよい。また、ＣＰＵ５６は、表示用乱数更新処理（ステップＳ１９ａ）および初期値用乱数更新処理（ステップＳ１９ｂ）を繰り返し実行する。ＣＰＵ５６は、電源断処理、表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態にして（ステップＳ１７）、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする（ステップＳ２０）。
【０３２１】
ステップＳ２０で割込許可状態に設定されると、次にステップＳ１８の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路５０５からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路５０５から割り込み要求が発生すると、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、後述する各割込処理（通信エラー割込処理や、受信時割込処理、送信完了割込処理）を実行する。また、本実施の形態では、ステップＳ１７からステップＳ２０までのループ処理の前にステップＳ１５ｂを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、割込処理の優先順位を設定または変更する処理が行われる。
【０３２２】
なお、表示用乱数とは、特別図柄表示器８の表示を決定するための乱数である。この実施の形態では、表示用乱数として、特別図柄の変動パターンを決定するための変動パターン決定用乱数や、大当りを発生させない場合にリーチとするか否かを決定するためのリーチ判定用乱数が用いられる。また、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。
【０３２３】
また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りの種類を決定するための判定用乱数（例えば、大当りを発生させる特別図柄を決定するための大当り図柄決定用乱数や、大当りの種別を決定するための大当り種別決定用乱数、普通図柄にもとづく当りを発生させるか否かを決定するための普通図柄当たり判定用乱数）を発生するためのカウンタ（判定用乱数発生カウンタ）等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理（遊技制御用マイクロコンピュータが、遊技機に設けられている可変表示装置９、可変入賞球装置１５、球払出装置９７等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう）において、判定用乱数発生カウンタのカウント値が１周すると、そのカウンタに初期値が設定される。
【０３２４】
なお、表示用乱数更新処理および初期値用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理および初期値用乱数更新処理が後述するタイマ割込処理でも実行される（すなわち、タイマ割込処理のステップＳ２４，Ｓ２５でも同じ処理が実行される）ことから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップＳ１９ａ，Ｓ１９ｂの処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数や初期値用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップＳ１９ａ，Ｓ１９ｂの処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【０３２５】
以上のように、遊技店員等は、クリアスイッチ９２１をオン状態してクリア信号が出力される状態にしながら遊技機に対する電力供給を開始する（例えば電源スイッチ９１４をオンする）ことによって、容易に初期化処理を実行させることができる。すなわち、ＲＡＭクリア等を行うことができる。
【０３２６】
次に、メイン処理における乱数回路設定処理（ステップＳ１５ａ）を説明する。図４８は、乱数回路設定処理を示すフローチャートである。乱数回路設定処理において、ＣＰＵ５６は、まず、乱数回路設定プログラム５５１に含まれる乱数回路選択モジュール５５１ｆに従って処理を実行し、遊技制御用マイクロコンピュータ５６０が内蔵する各乱数回路５０３ａ，５０３ｂの中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定する（ステップＳ１５１）。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定されたタイマ割込処理の実行時に用いる乱数回路５０３を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、１２ビット乱数回路５０３ａまたは１６ビット乱数回路５０３ｂのいずれかを選択し、選択した乱数回路をタイマ割込処理の実行時に用いる乱数回路として設定する。なお、タイマ割込処理の実行時に用いる乱数回路として、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定してもよい。
【０３２７】
上記のように、ステップＳ１５１において、更新可能な数値データの所定の範囲が異なる複数の乱数回路（１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂ）について、それぞれ使用可能とするか否かを設定するので、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ５６０の制御負担を軽減することができる。例えば、遊技制御用マイクロコンピュータ５６０が、２つの乱数回路５０３ａ，５０３ｂのうちの一方が発生する乱数のみを用いて遊技制御処理を行う場合、遊技制御処理に用いない方の乱数回路における乱数を更新する処理を行わないようにでき、遊技制御用マイクロコンピュータ５６０の制御負担を軽減できる。
【０３２８】
ＣＰＵ５６は、ステップＳ１５１で使用する乱数回路５０３を設定すると、例えば、乱数回路起動レジスタ５４１にデータを書き込まない等により、カウンタ５２１やクロック信号出力回路５２４の動作を停止させることで、使用しないように設定した方の乱数回路のカウンタ５２１がカウント値Ｃを更新しないようにする。また、例えば、使用しないように設定した方の乱数回路のカウンタ５２１はカウント値Ｃを更新するが、ＣＰＵ５６は出力制御信号ＳＣを出力しないようにし、乱数値記憶回路５３１から乱数を読み出せないように制御してもよい。また、例えば、ＣＰＵ５６は、タイマ回路５３４に使用しないように設定した方の乱数回路の乱数値取込レジスタ５３９に乱数値取込データ「０１ｈ」を書き込ませないようにし、ラッチ信号生成回路５３３がラッチ信号ＳＬを乱数値記憶回路５３１に出力しないように制御してもよい。
【０３２９】
上記のように、使用する乱数回路５０３を設定するようにすることによって、使用する乱数回路５０３だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。また、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ５６０の制御負担を軽減することができる。例えば、大当りとする判定値として離れた値（例えば、「１」と「１００」を含む判定テーブルを用いて大当り判定を行う場合、所定の大当り確率（例えば、１００分の１）で大当りと判定するようにすると、１６ビット乱数回路５０３ｂによる乱数を用いるよりも、１２ビット乱数回路５０３ａによる乱数を用いた方が、処理すべき判定値の種類の数が少なくて済み、遊技制御用マイクロコンピュータ５６０の制御負担が軽減される。
【０３３０】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数最大値設定モジュール５５１ａに従って処理を実行し、ユーザによって予め設定された乱数最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ５３５に書き込む（ステップＳ１５２）。そのようにすることによって、ユーザによって予め設定されたランダムＲの乱数最大値を乱数回路５０３に設定する。なお、タイマ割込実行時に用いる乱数回路として１２ビット乱数回路５０３ａを設定した場合、ＣＰＵ５６は、乱数最大値（「０」〜「４０９５」のうちのいずれかの値）を指定する乱数最大値設定データを、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５に書き込む。また、タイマ割込実行時に用いる乱数回路として１６ビット乱数回路５０３ｂを設定した場合、ＣＰＵ５６は、乱数最大値（「０」〜「６５５３５」のうちのいずれかの値）を指定する乱数最大値設定データを、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５に書き込む。
【０３３１】
なお、この実施の形態では、乱数最大値として「０」〜「２５５」が設定された場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおすことになる。また、乱数最大値として「２５６」以上の値を書き込む制御を行った場合であっても、データ化けなどの原因によって「０」〜「２５５」の値が乱数最大値設定レジスタ５３５に設定されてしまった場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおす。
【０３３２】
上記のように、ステップＳ１５２において、生成する乱数の最大値をあらかじめ乱数最大値設定レジスタ５３５に設定するので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路５０３および遊技制御用マイクロコンピュータ５６０の処理負担を軽減することができる。
【０３３３】
また、ＣＰＵ５６は、ステップＳ１５２で乱数最大値設定レジスタ５３５に設定した乱数最大値が所定の下限値以下でないかを確認し、乱数最大値が下限値以下である場合には、乱数最大値設定レジスタ５３５に設定されている乱数最大値の再設定を行う乱数最大値再設定処理を実行する（ステップＳ１５３）。
【０３３４】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる初期値変更モジュール５５１ｅに従って処理を実行し、乱数回路５０３のカウンタ５２１が更新するカウント値の初期値を変更させる初期値変更処理を実行する（ステップＳ１５４）。
【０３３５】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数更新方式選択モジュール５５１ｂに従って処理を実行し、乱数更新方式選択データを乱数更新方式選択レジスタ５４０に書き込む（ステップＳ１５５）。そのようにすることによって、乱数回路５０３の乱数更新方式を設定する。なお、この実施の形態では、ＣＰＵ５６は、乱数更新方式選択データ「１０ｈ」を乱数更新方式選択レジスタ５４０に書き込むものとする。すなわち、この実施の形態では、乱数回路５０３の乱数更新方式として第２の乱数更新方式が設定される。
【０３３６】
また、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる周期設定モジュール５５１ｃに従って処理を実行し、ユーザによって予め設定された乱数発生用クロック信号ＳＩ１の周期を指定する周期設定データ（基準クロック信号を何分周させるかを設定するためのデータ）を、周期設定レジスタ５３７に書き込む（ステップＳ１５６）。そのようにすることによって、ユーザによって予め設定された乱数発生用クロック信号ＳＩ１の周期を乱数回路５０３に設定する。
【０３３７】
また、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを設定する（ステップＳ１５７）。例えば、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを示す設定値を、予めユーザによって設定されＲＯＭ５４の所定領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された所定の設定値に従って、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１に入力する初期値を更新するか否かを設定する。この実施の形態では、ＣＰＵ５６は、ステップＳ１５７において、カウンタ５２１に入力する初期値を更新すると判定すると、所定の最終値までカウント値が更新されたとき（カウンタ５２１から通知信号を入力したとき）に初期値を更新する旨を示す初期値更新フラグをセットする。この実施の形態では、ステップＳ１５７において、所定の設定値に従って初期値更新フラグをセットする場合を説明する。そして、ＣＰＵ５６は、後述する乱数回路初期値更新処理において、初期値更新フラグがセットされていることにもとづいて、カウンタ５２１が出力するカウント値の初期値を更新する。
【０３３８】
なお、ＣＰＵ５６によってカウント値の初期値を変更するのでなく、最終値までカウント値を更新したことにもとづいて、乱数回路５０３側でカウント値の初期値を所定値に変更するようにしてもよい。例えば、乱数回路５０３は、初期値を更新する旨を示す初期値更新データを格納する初期値更新データレジスタ、及び初期値の変更を行う初期値変更回路を備え、ＣＰＵ５６は、ステップＳ１５７において、初期値更新データを初期値更新データレジスタに設定する。この場合、カウンタ５２１は、最終値までカウント値を更新すると、通知信号を初期値変更回路に出力する。すると、初期値変更回路は、初期値更新データレジスタに初期値更新データが設定されているか否かを確認する。そして、初期値変更回路は、初期値更新データが設定されていることを確認すると、カウント値の初期値を所定値に変更する。なお、初期値変更回路は、後述するカウント値順列変更処理において、順列を変更したカウント値の初期値を変更してもよい。
【０３３９】
また、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が更新するカウント値の順列を変更するか否かを設定する（ステップＳ１５８）。例えば、遊技制御用マイクロコンピュータ５６０は、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が出力するカウント値の順列を変更するか否かを示す設定値を、予めユーザによって設定されＲＯＭ５４の所定領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された所定の設定値に従って、カウンタ５２１によって所定の最終値までカウント値が更新されたときに、カウンタ５２１が出力するカウント値の順列を変更するか否かを設定する。この実施の形態では、ＣＰＵ５６は、ステップＳ１５８において、カウンタ５２１が出力するカウント値の順列を変更すると判定すると、所定の最終値までカウント値が更新されたときにカウント値の順列を変更する旨を示すカウント値順列変更フラグをセットする。この実施の形態では、ステップＳ１５８において、所定の設定値に従ってカウント値順列変更フラグをセットする場合を説明する。そして、ＣＰＵ５６は、後述するカウント値順列変更処理において、カウント値順列変更フラグがセットされていることにもとづいて、カウンタ５２１が出力するカウント値の順列を変更する。
【０３４０】
なお、ＣＰＵ５６の制御によってカウント値の順列を変更するのでなく、最終値までカウント値を更新したことにもとづいて、乱数回路５０３側でカウント値の順列変更するようにしてもよい。例えば、乱数回路５０３は、カウント値の順列を変更する旨を示す順列変更データを格納する順列変更データレジスタを備え、ＣＰＵ５６は、ステップＳ１５８において、順列変更データを順列変更データレジスタに設定する。この場合、カウンタ５２１が最終値までカウント値を更新すると、通知信号をカウント値順列変更回路５２３に出力し、通知信号を入力したカウント値順列変更回路５２３は、順列変更データレジスタに順列変更データが設定されているか否かを確認する。そして、カウント値順列変更回路５２３は、順列変更データが設定されていることを確認すると、カウント値の順列を変更する。
【０３４１】
そして、ＣＰＵ５６は、乱数回路設定プログラム５５１に含まれる乱数回路起動モジュール５５１ｄに従って処理を実行し、乱数回路起動データ「８０ｈ」を乱数回路起動レジスタ５４１に書き込む（ステップＳ１５９）。そのようにすることによって、ＣＰＵ５６は、乱数回路５０３を起動させる。
【０３４２】
次に、乱数回路設定処理における乱数最大値再設定処理（ステップＳ１５３）を説明する。図４９は、乱数最大値再設定処理を示すフローチャートである。乱数最大値再設定処理において、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む（ステップＳ１５３ａ）。なお、タイマ割込処理の実行時に用いる乱数回路として１２ビット乱数回路５０３ａを設定した場合、ＣＰＵ５６は、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む。また、タイマ割込処理の実行時に用いる乱数回路として１６ビット乱数回路５０３ｂを設定した場合、ＣＰＵ５６は、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５に設定されている乱数最大値を読み込む。
【０３４３】
ＣＰＵ５６は、読み込んだ乱数最大値が所定の下限値以下であるか否かを判定する（ステップＳ１５３ｂ）。１２ビット乱数回路５０３ａを設定した場合、１２ビット乱数回路５０３ａにおいて設定可能な乱数最大値が「２５６」から「４０９５」までであるので、ＣＰＵ５６は、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であるか否かを判定する。また、１６ビット乱数回路５０３ｂを設定した場合、１６ビット乱数回路５０３ｂにおいて設定可能な乱数最大値が「５１２」から「６５５３５」までであるので、ＣＰＵ５６は、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「５１２」以下であるか否かを判定する。
【０３４４】
読み込んだ乱数最大値が下限値以下である場合、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値に設定しなおす（ステップＳ１５３ｃ）。１２ビット乱数回路５０３ａを設定した場合、１２ビット乱数回路５０３ａの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「２５６」以下であると判定すると、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値「４０９５」に設定しなおす。また、１６ビット乱数回路５０３ｂを設定した場合、１６ビット乱数回路５０３ｂの乱数最大値設定レジスタ５３５から読み込んだ乱数最大値が下限値「５１２」以下であると判定すると、ＣＰＵ５６は、乱数最大値設定レジスタ５３５に設定される乱数最大値を所定値「６５５３５」に設定しなおす。
【０３４５】
以上のように、乱数最大値設定レジスタ５３５に設定した乱数最大値が所定の下限値以下となっている場合には、乱数最大値を所定値に設定しなおす。そのため、遊技制御用マイクロコンピュータ５６０の誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。従って、最小値から最大値までの値の範囲が過度に小さい乱数を生成する事態が発生することを防止することができる。
【０３４６】
次に、乱数回路設定処理における初期値変更処理（ステップＳ１５４）を説明する。図５０は、初期値変更処理を示すフローチャートである。初期値変更処理において、ＣＰＵ５６は、まず、ユーザプログラム実行データエリアの１Ｆ９７ｈ番地の領域に記憶されている初期値変更方式設定データを読み出し、ユーザによって選択された初期値変更方式を特定する。この場合、ＣＰＵ５６は、読み出した初期値変更方式設定データの値が「０１ｈ」であるか否かを判定することによって（ステップＳ１５４ａ）、ユーザによって選択された初期値変更方式を特定する。
【０３４７】
初期値変更方式設定データの値が「０１ｈ」である場合、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバにもとづいて設定された値に変更する（ステップＳ１５４ｂ）。例えば、遊技制御用マイクロコンピュータ５６０は、ＲＯＭ５４の所定の記憶領域に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと、ＩＤナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。そして、ステップＳ１５４ｂにおいて、ＣＰＵ５６は、予め記憶するＩＤナンバにもとづく演算値にカウント値の初期値を変更させる。また、例えば、ステップＳ１５４ｂにおいて、ＣＰＵ５６は、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバ（例えば、「１００」）に所定値（例えば、「１００」）を加算して）求めた演算値（例えば、「２００」）にカウント値の初期値を設定する。また、カウンタ５２１に入力する初期値を変更すると、ＣＰＵ５６は、カウント値の初期値を変更した旨を示す初期値変更フラグをセットする（ステップＳ１５４ｃ）。
【０３４８】
なお、ＣＰＵ５６は、ステップＳ１５４ｂにおいてカウンタ５２１に入力する初期値を変更する際、乱数回路５０３の比較器５２２の乱数最大値設定レジスタ５３５の値を確認し、ＩＤナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、ＩＤナンバにもとづいて設定された値が乱数最大値以上であると判断すると、ＣＰＵ５６は、カウンタ５２１に入力する初期値を変更しない（例えば、初期値を「０」に設定しなおす）。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
【０３４９】
ステップＳ１５４ａにおいて、初期値変更方式設定データの値が「０１ｈ」でない場合（すなわち、ユーザプログラム実行データエリアの１Ｆ９７ｈ番地の領域に記憶されている初期値変更方式設定データの値が「００ｈ」である場合）、ＣＰＵ５６は、カウント値の初期値の変更を行わず、そのまま初期値変更処理を終了し、ステップＳ１５５に移行する。
【０３５０】
乱数回路設定処理が実行されることによって、遊技制御処理を含むタイマ割込処理の実行時に乱数回路５０３に各種信号が入力され、乱数回路５０３内で各種信号が生成される。図５１は、乱数回路５０３に各信号が入力されるタイミング、および乱数回路５０３内で各信号が生成されるタイミングを示すタイミングチャートである。
【０３５１】
図５１に示すように、クロック回路５０１は、所定周期ごと（図５１に示すタイミングＴ１１，Ｔ２１，・・・）に、出力端子の信号レベルをローレベルからハイレベルに立ち上げることによって、乱数回路５０３に基準クロック信号ＣＬＫ（図５１（Ａ）参照）を入力する。
【０３５２】
クロック信号出力回路５２４は、クロック回路５０１から供給された基準クロック信号ＣＬＫを分周し、乱数発生用クロック信号ＳＩ１（図５１（Ｂ）参照）を生成する。例えば、クロック信号出力回路５２４は、タイミングＴ１１，Ｔ１２，・・・で出力端子の信号レベルをローレベルからハイレベルに立ち上げ、タイミングＴ２１，Ｔ２２，・・・で信号レベルをハイレベルからローレベルに立ち下げることによって、乱数発生用クロック信号ＳＩ１を出力する。
【０３５３】
なお、図５１に示す例では、説明を分かりやすくするために、クロック信号出力回路５２４が基準クロック信号ＣＬＫを２分周して乱数発生用クロック信号ＳＩ１を生成する場合を示している。しかし、実際の乱数回路では、周期設定レジスタ５３７に設定可能な周期は「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」まである。従って、実際の乱数回路では、クロック信号出力回路５２４は、「システムクロック信号の周期×１２８×７」から「システムクロック信号の周期×１２８×２５６」までの範囲で周期設定レジスタ５３７に設定される周期設定データ「０７ｈ」〜「ＦＦｈ」に対応した分周比で、基準クロック信号ＣＬＫを分周し乱数発生用クロック信号ＳＩ１を生成する。クロック信号出力回路５２４によって生成された乱数発生用クロック信号ＳＩ１は、セレクタ５２８と反転回路５３２とに出力される。
【０３５４】
この実施の形態では、乱数回路設定処理において、第２の乱数更新方式が設定されるので、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号がセレクタ５２８に入力される。セレクタ５２８は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力されると、クロック信号出力回路５２４から入力した乱数発生用クロック信号ＳＩ１を選択してカウンタ５２１に出力する。カウンタ５２１は、セレクタ５２８から供給される乱数発生用クロック信号ＳＩ１の立ち上がりエッヂが入力されるごとに、カウント値Ｃを更新してカウント値順列変更回路５２３に出力する。
【０３５５】
反転回路５３２は、クロック信号出力回路５２４から入力した乱数発生用クロック信号ＳＩ１の信号レベルを反転させることによって、反転クロック信号ＳＩ２（図５１（Ｃ）参照）を生成する。例えば、反転回路５３２は、タイミングＴ１１，Ｔ１２，・・・で出力端子の信号レベルをハイレベルからローレベルに立ち下げ、タイミングＴ２１，Ｔ２２，・・・で信号レベルをローレベルからハイレベルに立ち上げることによって、反転クロック信号ＳＩ２を出力する。また、反転回路５３２によって生成された反転クロック信号ＳＩ２は、ラッチ信号生成回路５３３に出力される。
【０３５６】
ラッチ信号生成回路５３３には、入賞検出信号ＳＳ（図５１（Ｄ）参照）がタイマ回路５３４に入力されてから所定時間（例えば３ミリ秒）が経過すると、乱数値読取信号出力回路５２６から乱数値読取信号が入力される。例えば、乱数値読取信号出力回路５２６の出力端子の信号レベルがローレベルからハイレベルに立ち上がることによって、ラッチ信号生成回路５３３に乱数値読取信号が入力される。ラッチ信号生成回路５３３は、乱数更新方式選択信号出力回路５２７から第２の乱数更新方式選択信号が入力されたことに応じて、乱数値読取信号出力回路５２６から入力する乱数値読取信号を反転回路５３２から供給される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬ（図５１（Ｅ）参照）を出力する。
【０３５７】
以上のように、乱数回路５０３は、タイミングＴ１１，Ｔ１２，Ｔ１３・・・においてカウント値Ｃを更新し、タイミングＴ１１，Ｔ１２，Ｔ１３とは異なるタイミングＴ２２においてラッチ信号ＳＬを出力させ、乱数値記憶回路５３１に乱数値を記憶する。
【０３５８】
次に、メイン処理におけるシリアル通信回路設定処理（ステップＳ１５ａ）を説明する。図５２は、シリアル通信回路設定処理を示すフローチャートである。シリアル通信回路設定処理において、ＣＰＵ５６は、まず、シリアル通信回路設定プログラム５５６に従って処理を実行し、シリアル通信回路５０５のボーレートを設定する（ステップＳ１５１１）。この場合、ＣＰＵ５６は、シリアル通信回路５０５のボーレートレジスタ７０２に、設定するボーレートに対応する設定値を書き込む。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定された設定値を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、設定値をボーレートレジスタ７０２に書き込む。例えば、ＣＰＵ５６によってボーレート設定値「１５６」が設定された場合、ボーレート生成回路７０３によって、式（１）およびクロック周波数「３ＭＨｚ」を用いてボーレート「１２０１．９２ｂｐｓ」が生成される。
【０３５９】
また、ＣＰＵ５６は、シリアル通信回路５０５が送受信するデータのデータフォーマットを設定する（ステップＳ１５１２）。この場合、ＣＰＵ５６は、制御レジスタＡ７０７の各ビットの値を設定することによって、送受信データのデータ長（８ビットまたは９ビット）、パリティ機能の使用の有無を設定する。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定された制御レジスタＡ７０７の各ビットの値を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、制御レジスタＡ７０７の各ビットの値を設定する。
【０３６０】
また、ＣＰＵ５６は、シリアル通信回路５０５が発生する各割込要求を許可するか否かを設定する（ステップＳ１５１３）。この場合、ＣＰＵ５６は、制御レジスタＢ７０８のビット５，６，７の値を設定することによって、送信時割り込み要求（データの送信時に行う割り込み要求である送信割り込み要求や、送信完了時に行う送信完了割り込み要求）および受信時割り込み要求を許可するか否かを設定する。なお、ＣＰＵ５６は、送信時割り込み要求と受信時割り込み要求との両方を許可するように設定することも可能であり、送信時割り込み要求と受信時割り込み要求とのいずれか一方のみを許可するように設定することも可能である。また、ＣＰＵ５６は、制御レジスタＣ７０９のビット０〜３の値を設定することによって、各通信エラー時割り込み要求を許可するか否かを設定する。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定された制御レジスタＢ７０８および制御レジスタＣ７０９の各ビットの値を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、制御レジスタＢ７０８および制御レジスタＣ７０９の各ビットの値を設定する。
【０３６１】
図５３および図５４は、ステップＳ１８の電源断処理の一例を示すフローチャートである。電源断処理において、ＣＰＵ５６は、まず、電源断信号が出力されているか否か（オン状態になっているか否か）確認する（ステップＳ４５０）。オン状態でなければ、ＲＡＭ５５に形成されているバックアップ監視タイマの値を０クリアする（ステップＳ４５１）。オン状態であれば、バックアップ監視タイマの値を１増やす（ステップＳ４５２）。そして、バックアップ監視タイマの値が判定値（例えば２）と一致すれば（ステップＳ４５３）、ステップＳ４５４以降の電力供給停止時処理すなわち電力の供給停止のための準備処理を実行する。つまり、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理（電源断時制御処理）を実行する状態に移行する。なお、「ＲＡＭに形成されている」とは、ＲＡＭ内の領域であることを意味する。
【０３６２】
バックアップ監視タイマと判定値とを用いることによって、判定値に相当する時間だけ電源断信号のオン状態が継続したら、電力供給停止時処理が開始される。すなわち、ノイズ等で一瞬電源断信号のオン状態が発生しても、誤って電力供給停止時処理が開始されるようなことはない。なお、バックアップ監視タイマの値は、遊技機への電力供給が停止しても、所定期間はバックアップ電源によって保存される。従って、メイン処理におけるステップＳ８では、バックアップ監視タイマの値が判定値と同じ値になっていることによって、電力供給停止時処理の処理結果が保存されていることを確認できる。
【０３６３】
電力供給停止時処理において、ＣＰＵ５６は、パリティデータを作成する（ステップＳ４５４〜Ｓ４６３）。すなわち、まず、クリアデータ（００）をチェックサムデータエリアにセットし（ステップＳ４５４）、電力供給停止時でも内容が保存されるべきＲＡＭ領域の先頭アドレスに相当するチェックサム算出開始アドレスをポインタにセットする（ステップＳ４５５）。また、電力供給停止時でも内容が保存されるべきＲＡＭ領域の最終アドレスに相当するチェックサム算出回数をセットする（ステップＳ４５６）。
【０３６４】
次いで、チェックサムデータエリアの内容とポインタが指すＲＡＭ領域の内容との排他的論理和を演算する（ステップＳ４５７）。演算結果をチェックサムデータエリアにストアするとともに（ステップＳ４５８）、ポインタの値を１増やし（ステップＳ４５９）、チェックサム算出回数の値を１減算する（ステップＳ４６０）。そして、ステップＳ４５７〜Ｓ４６０の処理を、チェックサム算出回数の値が０になるまで繰り返す（ステップＳ４６１）。
【０３６５】
チェックサム算出回数の値が０になったら、ＣＰＵ５６は、チェックサムデータエリアの内容の各ビットの値を反転する（ステップＳ４６２）。そして、反転後のデータをチェックサムデータエリアにストアする（ステップＳ４６３）。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、ＲＡＭアクセスレジスタにアクセス禁止値を設定する（ステップＳ４７１）。以後、内蔵ＲＡＭ５５のアクセスができなくなる。
【０３６６】
さらに、ＣＰＵ５６は、ＲＯＭ５４に格納されているポートクリア設定テーブルの先頭アドレスをポインタにセットする（ステップＳ４７２）。ポートクリア設定テーブルにおいて、先頭アドレスには処理数（クリアすべき出力ポートの数）が設定され、次いで、出力ポートのアドレスおよび出力値データ（クリアデータ：出力ポートの各ビットのオフ状態の値）が、処理数分の出力ポートについて順次設定されている。
【０３６７】
ＣＰＵ５６は、ポインタが指すアドレスのデータ（すなわち処理数）をロードする（ステップＳ４７３）。また、ポインタの値を１増やし（ステップＳ４７４）、ポインタが指すアドレスのデータ（すなわち出力ポートのアドレス）をロードする（ステップＳ４７５）。さらに、ポインタの値を１増やし（ステップＳ４７６）、ポインタが指すアドレスのデータ（すなわち出力値データ）をロードする（ステップＳ４７７）。そして、出力値データを出力ポートに出力する（ステップＳ４７８）。その後、処理数を１減らし（ステップＳ４７９）、処理数が０でなければステップＳ４７４に戻る。処理数が０であれば、すなわち、クリアすべき出力ポートを全てクリアしたら、タイマ割込を停止し（ステップＳ４８１）、ループ処理に入る。このようにループ処理に入ることにより制御状態が待機状態に移行されたことになる。
【０３６８】
以上の処理によって、電力供給が停止する場合には、ステップＳ４５４〜Ｓ４８１の電力供給停止時処理が実行され、電力供給停止時処理が実行されたことを示すデータ（バックアップあり指定値およびチェックサム）がバックアップＲＡＭへストアされ、ＲＡＭアクセスが禁止状態にされ、出力ポートがクリアされ、かつ、遊技制御処理を実行するためのタイマ割込が禁止状態に設定される。
【０３６９】
この実施の形態では、ＲＡＭ５５がバックアップ電源によって電源バックアップ（遊技機への電力供給が停止しても所定期間はＲＡＭ５５の内容が保存されこと）されている。この例では、ステップＳ４５２〜Ｓ４７９の処理によって、バックアップ監視タイマの値とともに、電源断信号が出力されたときのＲＡＭ５５の内容にもとづくチェックサムもＲＡＭ５５のバックアップ領域に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御手段は、上述したステップＳ９１〜Ｓ９４の処理によって、ＲＡＭ５５に保存されているデータ（電力供給が停止した直前の遊技制御手段による制御状態である遊技状態を示すデータ（例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等）を含む）に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップ監視タイマの値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップＳ１０〜Ｓ１４の初期化処理が実行される。
【０３７０】
以上のように、電力供給停止時処理（電力の供給停止のための準備処理）によって、遊技状態を電力供給が停止した直前の状態に戻すためのデータが確実に変動データ記憶手段（この例ではＲＡＭ５５の一部の領域）に保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、遊技状態を電力供給が停止した直前の状態に戻すことができる。
【０３７１】
また、待機状態中においてウォッチドッグタイマ６０がタイムアウトしたときはステップＳ１に戻る。この場合も、メイン処理において電源断信号がオフ状態であるか否かが確認される（ステップＳ８３参照）。電源供給停止時処理が正常に実行されたときは、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップＳ９１〜Ｓ９３の遊技状態復旧処理が実行される。よって、ウォッチドッグタイマ６０からのタイマアウト信号が入力されたときは、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。
【０３７２】
なお、払出制御基板３７に対して送信される接続確認信号は、出力ポートをクリアする処理によってオフ状態に設定される。また、ステップ９２およびＳ１２の作業領域の設定では、接続確認信号に対応した出力ポートバッファの内容が、接続確認信号のオン状態に対応した値に設定される。そして、ステップＳ３１の賞球処理が実行されると、出力ポートバッファの内容が出力ポートに出力されるので、払出制御基板３７への接続確認信号がオン状態になる。従って、接続確認信号は、主基板３１の立ち上がり時に出力される（オン状態になる）ことになる。なお、電源瞬断等から復帰した場合も、接続確認信号が出力される。
【０３７３】
なお、電源断処理の実行中は、タイマ割込を禁止に設定してもよい。電源断処理の実行中に割込禁止にすると、ステップＳ４８１の処理は不要となる。
【０３７４】
なお、図５３および図５４に示した電源断処理は、メイン処理におけるステップＳ１７において実行されていたが、以降に示すタイマ割込処理において実行するように構成されていてもよい。
【０３７５】
次に、遊技制御処理について説明する。図５５は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップＳ１７〜Ｓ２０のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。タイマ割込処理において、ＣＰＵ５６は、まず、スイッチ回路５８を介して、ゲートスイッチ３２ａ、始動口スイッチ１４ａ、カウントスイッチ２３１，２３２および入賞口スイッチ２９ａ，３０ａのスイッチの検出信号を入力し、それらの状態判定を行う（スイッチ処理：ステップＳ２１）。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を＋１する。
【０３７６】
次に、ＣＰＵ５６は、乱数回路設定処理において所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がされているか（ステップＳ１５７参照）を確認し、乱数回路５０３のカウンタ５２１に入力する初期値を更新する処理を行う（乱数回路初期値更新処理：ステップＳ２２）。
【０３７７】
次に、遊技制御に用いられる各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う（ステップＳ２３）。また、ＣＰＵ５６は、初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う（初期値用乱数更新処理：ステップＳ２４）。さらに、ＣＰＵ５６は、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う（表示用乱数更新処理：ステップＳ２５）。
【０３７８】
図５６は、各乱数を示す説明図である。各乱数は、以下のように使用される。
（１）ランダム１：特別図柄のはずれ図柄決定用
（２）ランダム２：大当りを発生させる特別図柄を決定する（大当り図柄決定用）。
（３）ランダム３：特別図柄の変動パターンを決定する（変動パターン決定用）
（４）ランダム４：大当りを発生させない場合にリーチとするか否かを決定する（リーチ判定用）
（５）ランダム５：普通図柄にもとづく当りを発生させるか否か決定する（普通図柄当り判定用）
（６）ランダム６：ランダム２の初期値を決定する（ランダム２初期値決定用）
（７）ランダム７：ランダム５の初期値を決定する（ランダム５初期値決定用）
（８）ランダム８：大当りの種別を決定する（大当り種別決定用）
（９）ランダム９：ランダム８の初期値を決定する（ランダム８初期値決定用）
【０３７９】
図５５に示された遊技制御処理におけるステップＳ２３では、ＣＰＵ５６は、（２）の大当り図柄決定用乱数、（５）の普通図柄当り判定用乱数、（８）の大当り種別決定用乱数を生成するためのカウンタのカウントアップ（１加算）を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数または初期値用乱数である。また、遊技効果を高めるために、上記（１）〜（９）の乱数以外の普通図柄に関する乱数等も用いられていてもよい。
【０３８０】
判定用乱数更新処理、初期値更新処理および表示用乱数更新処理を行うと、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１が出力するカウント値の順列をカウント値順列変更回路５２３に変更させるカウント値順列変更処理を行う（ステップＳ２６）。この実施の形態では、乱数回路設定処理のステップＳ１５８でカウント値順列変更フラグがセットされているか否かによって、カウント値順列変更処理を実行するか否かが決定されている。そして、ＣＰＵ５６は、カウント値順列変更フラグがセットされていることにもとづいて、カウント値順列変更処理を実行する。
【０３８１】
さらに、ＣＰＵ５６は、特別図柄プロセス処理を行う（ステップＳ２７）。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機１を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う（ステップＳ２８）。普通図柄プロセス処理では、普通図柄表示器１０の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【０３８２】
次いで、ＣＰＵ５６は、特別図柄の変動に同期する飾り図柄に関する演出制御コマンドをＲＡＭ５５の所定の領域に設定して演出制御コマンドを送出する処理を行う（飾り図柄コマンド制御処理：ステップＳ２９）。なお、飾り図柄の変動が特別図柄の変動に同期するとは、変動時間（可変表示期間）が同じであることを意味する。
【０３８３】
さらに、ＣＰＵ５６は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う（ステップＳ３０）。
【０３８４】
また、ＣＰＵ５６は、入賞口スイッチ２９ａ，３０ａ等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する（ステップＳ３１）。具体的には、入賞口スイッチ２９ａ，３０ａ等がオンしたことにもとづく入賞検出に応じて、払出制御基板３７に賞球個数を示す賞球個数コマンド等の払出指令コマンドを出力する。払出制御基板３７に搭載されている払出制御用マイクロコンピュータ３７０は、賞球個数を示す賞球個数コマンドの受信に応じて球払出装置９７を駆動する。
【０３８５】
そして、ＣＰＵ５６は、保留記憶数の増減をチェックする記憶処理を実行する（ステップＳ３２）。また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する（ステップＳ３３）。また、ＣＰＵ５６は、２つの大入賞口表示灯３８，３９のどちらかに対して点灯を指示する制御信号（指令信号）を出力する出力設定処理を実行する（ステップＳ３４）。なお、出力設定処理において、いずれかの大入賞口表示灯３８，３９の点灯を指示する設定値をバッファにセットし、出力処理（ステップＳ３５）において、バッファにセットされた設定値にもとづく制御信号を出力するように構成されていてもよい。また、この実施の形態では、出力ポートの出力状態に対応したＲＡＭ領域（出力ポートバッファ）が設けられているのであるが、ＣＰＵ５６は、出力ポート３のＲＡＭ領域におけるソレノイドに関する内容を出力ポートに出力する（ステップＳ３５：出力処理）。また、ＣＰＵ５６は、内部バスを介してウォッチドッグタイマ６０のＷＤＴクリアレジスタ６２にデータを設定することによってカウント値のクリアおよびリスタートを行わせるＷＤＴクリア処理を実行する（ステップＳ３６）。その後、ＣＰＵ５６は、割込許可状態に設定し（ステップＳ３７）、処理を終了する。
【０３８６】
この実施の形態では、遊技制御処理は定期的（例えば２ｍｓごと）に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はフラグがセットされたことにもとづいてメイン処理において実行されるようにしてもよい。
【０３８７】
また、例えば、タイマ割込処理では遊技制御処理のうちスイッチ処理（ステップＳ２１参照）、初期値用乱数更新処理（ステップＳ２４参照）、飾り図柄コマンド制御処理（ステップＳ２９参照）、及び後述する割込回数カウント処理（ステップＳ３２０１ａ，Ｓ３２０２参照）のみを実行するようにし、遊技制御処理のうちの他の処理をメイン処理において実行するようにしてもよい。この場合、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、メイン処理におけるステップＳ１７からステップＳ２０までのループ処理において、遊技制御処理のうち、ステップＳ２２からステップＳ２８（割込回数カウント処理を除く）、及びステップＳ３１からステップＳ３６（ステップＳ３３を除く）の処理を実行する。また、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、タイマ割込処理において、割込回数（入賞検出信号を検出したあとにタイマ割込処理を実行した回数）をカウントした（ステップＳ３２０１ａ参照）あとに、タイマ割込処理の実行回数が所定回数（例えば、３回）に達したことを検出すると（ステップＳ３２０２参照）、乱数回路５０３から乱数値を読み出す条件が成立した（可変表示の実行条件が成立した）と判断し、乱数値の読み出し条件が成立した旨を示す乱数読出フラグをセットする。また、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、メイン処理において、特別図柄プロセス処理（ステップＳ２７参照）における始動口スイッチ通過処理（ステップＳ３１２参照）の実行の際に、乱数読出フラグがセットされているか否かを判断し、乱数読出フラグがセットされていると判断すると、乱数回路５０３の乱数値記憶回路５３１に出力制御信号ＳＣを出力し（ステップＳ３２０３参照）、乱数値記憶回路５３１から乱数値として記憶されているランダムＲの値を読み出す（ステップＳ３２０４参照）。そして、ＣＰＵ５６は、メイン処理において、特別図柄プロセス処理（ステップＳ２７参照）における特別図柄通常処理（ステップＳ３００参照）の実行の際に、読み出した乱数値にもとづいて大当りとするか否かを決定することになる。なお、この実施の形態において、ステップＳ２１〜Ｓ３５の処理（ステップＳ３０およびＳ３３を除く）が、遊技の進行を制御する遊技制御処理に相当する。
【０３８８】
次に、タイマ割込処理における乱数回路初期値更新処理（ステップＳ２２）について説明する。図５７は、乱数回路初期値更新処理を示すフローチャートである。乱数回路初期値更新処理において、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１が出力するカウント値Ｃを最終値まで更新した旨を示す通知信号の状態を確認する（ステップＳ２２０）。通知信号がオン状態になっていることを検出した場合には、ＣＰＵ５６は、初期値更新フラグがセットされているか否かを確認する（ステップＳ２２１）。すなわち、ＣＰＵ５６は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がなされたか否か（ステップＳ１５７参照）を確認する。
【０３８９】
初期値更新フラグがセットされている場合、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１が所定の最終値までカウント値を更新したときに、カウンタ５２１に入力する初期値を更新すると判断する。また、初期値更新フラグがセットされている場合、ＣＰＵ５６は、初期値変更フラグがセットされているか否かを確認する（ステップＳ２２２）。すなわち、ＣＰＵ５６は、カウント値の初期値が現在変更されているか否か（すなわち、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に変更されているか否か）を判断する。
【０３９０】
初期値変更フラグがセットされている（すなわち、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に初期値が現在変更されている）場合、ＣＰＵ５６は、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値から元の値（例えば、「１」）にもどす（ステップＳ２２３）。そして、ＣＰＵ５６は、初期値変更フラグをリセットし（ステップＳ２２４）、初期値更新処理を終了する。
【０３９１】
初期値変更フラグがセットされていない（すなわち、初期値が現在変更されていない）場合、ＣＰＵ５６は、カウンタ５２１に入力する初期値を、遊技制御用マイクロコンピュータ５６０のＩＤナンバにもとづく値に変更する（ステップＳ２２５）。この場合、例えば、遊技制御用マイクロコンピュータ５６０のＩＤナンバが「１００」であるとすると、カウンタ５２１に入力する初期値を、ＩＤナンバ「１００」に所定値「１００」を加算して求めた演算値「２００」に変更する。また、例えば、カウンタ５２１に入力する初期値を、ＩＤナンバ「１００」に所定値「５０」を減算して求めた演算値「５０」に変更する。そして、ＣＰＵ５６は、初期値変更フラグをセットし（ステップＳ２２６）、初期値更新処理を終了する。
【０３９２】
なお、乱数回路５０３の乱数の更新速度が高速の場合、通知信号がオンになったタイミングから初期値を変更するタイミングまでに次のカウント値に更新されてしまうおそれがあるが、例えば、クロック信号出力回路５２４がカウンタ５２１に出力するクロック信号の周波数を調整して、乱数回路５０３の乱数の更新速度を調整することにより、通知信号がオンになったタイミングから初期値を変更するタイミングまでに次のカウント値に更新されないようにすることも可能である。
【０３９３】
なお、１２ビット乱数回路５０３ａおよび１６ビット乱数回路５０３ｂの両方を設定した場合、ステップＳ２２５において、ＣＰＵ５６は、一方の乱数回路（例えば、１２ビット乱数回路５０３ａ）から読み込んだ乱数を所定値としてＩＤナンバに加算して、カウンタ５２１に入力する初期値を求めてもよい。そして、ＣＰＵ５６は、他の一方（例えば、１６ビット乱数回路５０３ｂ）から読み込んだ乱数を、大当り判定用の乱数として用いてもよい。
【０３９４】
なお、ＣＰＵ５６は、ステップＳ２２５においてカウンタ５２１に入力する初期値を更新する際、乱数回路５０３の比較器５２２の乱数最大値設定レジスタ５３５の値を確認し、ＩＤナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、ＩＤナンバにもとづいて設定された値が乱数最大値以上であると判断すると、ＣＰＵ５６は、カウンタ５２１に入力する初期値を所定値のまま更新しない（例えば、所定値「０」のまま更新しない）。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
【０３９５】
なお、ステップＳ２２０において通知信号がオフ状態であると判断した場合、およびステップＳ２２１において初期値更新フラグがセットされていないと判断した場合、ＣＰＵ５６は、カウンタ５２１に入力する初期値を更新することなく、そのまま乱数回路初期値更新処理を終了し、ステップＳ２３に移行する。
【０３９６】
次に、タイマ割込処理におけるカウント値順列変更処理（ステップＳ２６）について説明する。図５８は、カウント値順列変更処理を示すフローチャートである。ＣＰＵ５６は、カウント値順列変更プログラム５５４に従って処理を実行することによって、カウント値順列変更処理を行う。カウント値順列変更処理において、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１が出力するカウント値Ｃを最終値まで更新した旨を示す通知信号の状態を確認する（ステップＳ２４１）。通知信号がオン状態になっていることを検出した場合には、ＣＰＵ５６は、カウント値順列変更フラグがセットされているか否かを確認する（ステップＳ２４２）。すなわち、ＣＰＵ５６は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときにカウンタ５２１が更新するカウント値の順列を変更する旨の設定がなされたか否か（ステップＳ１５８参照）を確認する。
【０３９７】
カウント値順列変更フラグがセットされている場合、ＣＰＵ５６は、乱数回路５０３のカウンタ５２１が所定の最終値までカウント値を更新したときに、カウンタ５２１が更新するカウント値の順列を変更すると判断する。そして、ＣＰＵ５６は、カウント値順列変更レジスタ５３６にカウント値順列変更データ「０１ｈ」を書き込む（ステップＳ２４３）。すなわち、ＣＰＵ５６は、カウント値順列変更データ「０１ｈ」を書き込むことによって、乱数値記憶回路５３１に入力されるカウント値Ｃの順列をカウント値順列変更回路５２３に変更させる。
【０３９８】
以上のように、カウント値順列変更処理において、乱数を所定の最終値まで更新したときに、カウンタ５２１が更新するカウント値の順列を変更するので、乱数回路５０３が生成する乱数のランダム性をより向上させることができる。
【０３９９】
次に、メイン処理における特別図柄プロセス処理（ステップＳ２７）を説明する。図５９は、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、遊技盤６に設けられている始動入賞口１４に遊技球が入賞したことを検出するための始動口スイッチ１４ａがオンしていたら、すなわち遊技球が始動入賞口１４に入賞する始動入賞が発生していたら（ステップＳ３１１）、始動口スイッチ通過処理（ステップＳ３１２）を行った後に、内部状態に応じて、ステップＳ３００〜Ｓ３０８のうちのいずれかの処理を行う。
【０４００】
特別図柄通常処理（ステップＳ３００）：特別図柄の可変表示を開始できる状態（例えば、特別図柄表示器８において図柄の変動がなされておらず、特別図柄表示器８における前回の図柄変動が終了してから所定期間が経過しており、かつ、大当り遊技中でもない状態）になるのを待つ。特別図柄の可変表示が開始できる状態になると、特別図柄についての始動入賞記憶数を確認する。始動入賞記憶数が０でなければ、遊技状態が確変状態または時短状態であるか否かを確認し、遊技状態が確変状態または時短状態のときは大当り終了後からの変動回数をカウントし、変動回数が所定回数（１００回）になったか否かを判定する。変動回数が所定回数になったときは、遊技状態の移行制御を実行する。また、特図保留メモリ５７０に記憶されている乱数回路５０３が発生したランダムＲにもとづいて、特別図柄の可変表示の表示結果を大当りとするか否か決定する。可変表示の表示結果を大当りにすると決定された場合は、大当りの種別を決定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０１に移行するように更新する。
【０４０１】
特別図柄停止図柄設定処理（ステップＳ３０１）：特別図柄の可変表示後の停止図柄を決定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０２に移行するように更新する。
【０４０２】
変動パターン設定処理（ステップＳ３０２）：変動パターンを決定し、その変動パターンにおける変動時間（可変表示時間：可変表示を開始してから表示結果が導出表示（停止表示）するまでの時間）を特別図柄の可変表示の変動時間とすることに決定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０３に移行するように更新する。
【０４０３】
特別図柄変動中処理（ステップＳ３０３）：所定時間（ステップＳ３０２の変動時間タイマで示された時間）が経過すると、内部状態（特別図柄プロセスフラグ）をステップＳ３０４に移行するように更新する。
【０４０４】
特別図柄停止処理（ステップＳ３０４）：特別図柄表示器８における特別図柄を停止させる。そして、特別図柄の停止図柄が大当り図柄である場合には、内部状態（特別図柄プロセスフラグ）をステップＳ３０５に移行するように更新する。そうでない場合には、内部状態をステップＳ３００に移行するように更新する。
【０４０５】
大入賞口開放前処理（ステップＳ３０５）：大入賞口を開放する制御を開始する。具体的には、カウンタ（例えば大入賞口に入った遊技球数をカウントするカウンタ）やフラグ（入賞口への入賞を検出する際に用いられるフラグ）を初期化するとともに、ソレノイド２４１，２４２を駆動して第１大入賞口または第２大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定する。そして、内部状態（特別図柄プロセスフラグ）をステップＳ３０６に移行するように更新する。
【０４０６】
大入賞口開放中処理（ステップＳ３０６）：大入賞口ラウンド表示の演出制御コマンドを音／ランプ制御基板８０ｂに送出する制御や大入賞口の閉成条件（例えば、大入賞口に所定個数（例えば１０個）の遊技球が入賞したこと）の成立を確認する処理等を行う。大入賞口の閉成条件が成立したときに、大当り種別（２ラウンド大当り、７ラウンド大当り、１５ラウンド大当り）に応じた最高ラウンド数（２ラウンド、７ラウンド、１５ラウンド）に達したか否かを判定し、最高ラウンド数に達していなければ、内部状態（特別図柄プロセスフラグ）をステップＳ３０５に移行するように更新し、最高ラウンド数に達していれば、内部状態をステップＳ３０７に移行するように更新する。
【０４０７】
大当り終了処理（ステップＳ３０７）：大当り遊技状態が終了したことを遊技者に報知する音声出力制御や表示制御等を音／ランプ制御手段や図柄制御手段に行わせるための制御を行う。そして、内部状態をステップＳ３００に移行するように更新する。
【０４０８】
図６０は、この実施の形態で用いられる変動パターンの一例を示す説明図である。図６０において、「ＥＸＴ」とは、２バイト構成の演出制御コマンドにおける２バイト目のＥＸＴデータを示す。また、「時間」は特別図柄の変動時間（識別情報の可変表示期間）を示す。
【０４０９】
ＥＸＴデータが「００Ｈ」の変動パターンは、通常遊技状態および高確率潜伏状態のときの特別図柄表示器８における特別図柄の通常変動の変動パターンである。ＥＸＴデータが「０１Ｈ」〜「０６Ｈ」の変動パターンは、それぞれ、通常遊技状態および高確率潜伏状態のときのリーチを伴う変動パターンである。ＥＸＴデータが「０１Ｈ」〜「０３Ｈ」の変動パターンは、特別図柄の停止図柄をはずれ図柄とする場合に用いられる。また、ＥＸＴデータが「０４Ｈ」〜「０６Ｈ」の変動パターンは、特別図柄の停止図柄を大当り図柄とする場合に用いられる。なお、リーチＡとリーチＢとリーチＣとは、それぞれ、異なる演出態様のリーチである。
【０４１０】
ＥＸＴデータが「０７Ｈ」の変動パターンは、確変状態（高確率潜伏状態を除く）および時短状態のときの特別図柄表示器８における特別図柄の通常変動の変動パターンである。ＥＸＴデータが「０８Ｈ」〜「０ＤＨ」の変動パターンは、それぞれ、確変状態（高確率潜伏状態を除く）および時短状態のときのリーチを伴う変動パターンである。ＥＸＴデータが「０８Ｈ」〜「０ＡＨ」の変動パターンは、特別図柄の停止図柄をはずれ図柄とする場合に用いられる。また、ＥＸＴデータが「０ＢＨ」〜「０ＤＨ」の変動パターンは、特別図柄の停止図柄を大当り図柄とする場合に用いられる。なお、リーチＡとリーチＢとリーチＣとは、それぞれ、異なる演出態様のリーチである。確変状態（高確率潜伏状態を除く）および時短状態のときの通常変動の変動パターン（「０７Ｈ」）は、通常遊技状態および高確率潜伏状態のときの通常変動の変動パターン（「００Ｈ」）よりも変動時間が短く設定されている。このような変動パターンが確変状態（高確率潜伏状態を除く）および時短状態のときに選択されることにより、特別図柄の変動時間が短縮されることになる。なお、リーチを伴う変動パターンの場合は、確変状態および時短状態のときであっても変動時間が短く設定されていない。
【０４１１】
以上のように、遊技状態が通常遊技状態または高確率潜伏状態であるか確変状態（高確率潜伏状態を除く）または時短状態であるかによって変動パターンが分けられているので、変動パターンを指定する演出制御コマンドを受信した音／ランプ制御用マイクロコンピュータ１００ｂは、変動パターンを指定する演出制御コマンドによって現在の遊技状態を把握することができる。同様に、音／ランプ制御用マイクロコンピュータ１００ｂからのコマンドを受信した図柄制御用マイクロコンピュータ１００ａは、変動パターンを指定するコマンドによって現在の遊技状態を把握することができる。従って、音／ランプ制御用マイクロコンピュータ１００ｂおよび図柄制御用マイクロコンピュータ１００ａは、コマンドによって遊技状態を把握し、把握した遊技状態に応じた遊技演出を実行することができる。
【０４１２】
図６１は、音／ランプ制御基板８０ｂに送出される演出制御コマンドの内容の一例を示す説明図である。図６１に示す例において、コマンド８０００（Ｈ）〜８００Ｄ（Ｈ）は、特別図柄の可変表示に対応して可変表示装置９において可変表示される飾り図柄の変動パターンを指定する演出制御コマンド（変動パターンコマンド）である。なお、変動パターンを指定する演出制御コマンドは、変動開始を指定するためのコマンドでもある。
【０４１３】
コマンド８１００（Ｈ）は、可変表示装置９の表示結果がはずれ図柄であることを指定する演出制御コマンド（はずれ指定コマンド）である。コマンド８１０１（Ｈ）は、可変表示装置９の表示結果が２ラウンドの確変大当りであることを指定する演出制御コマンド（２Ｒ確変大当り指定コマンド）である。コマンド８１０２（Ｈ）は、可変表示装置９の表示結果が２ラウンドの時短大当りであることを指定する演出制御コマンド（２Ｒ時短大当り指定コマンド）である。コマンド８１０３（Ｈ）は、可変表示装置９の表示結果が７ラウンドの通常大当りであることを指定する演出制御コマンド（７Ｒ通常大当り指定コマンド）である。コマンド８１０４（Ｈ）は、可変表示装置９の表示結果が１５ラウンドの通常大当りであることを指定する演出制御コマンド（１５Ｒ通常大当り指定コマンド）である。コマンド８１０５（Ｈ）は、可変表示装置９の表示結果が１５ラウンドの確変大当りであることを指定する演出制御コマンド（１５Ｒ確変大当り指定コマンド）である。コマンド８１０６（Ｈ）は、可変表示装置９の表示結果が１５ラウンドの時短大当りであることを指定する演出制御コマンド（１５Ｒ時短大当り指定コマンド）である。
【０４１４】
なお、後述するように、２ラウンドの確変大当りおよび２ラウンドの時短大当りでは、７ラウンドの大当りや１５ラウンドの大当りの場合と異なり、各ラウンドの演出が順に進行していくのではなく、突然、遊技状態が確変状態または時短状態（なお、確変状態（高確率潜伏状態を除く）および時短状態のいずれの場合も同じ演出態様の遊技演出が実行される。）に移行したように遊技者に見せる特別な演出が実行される。従って、２ラウンドの確変大当りのことを「突然確変大当り」または単に「突然確変」という。また、２ラウンドの時短大当りのことを「突然時短大当り」または単に「突然時短」という。
【０４１５】
なお、コマンド８１００（Ｈ）〜８１０６（Ｈ）は可変表示装置９の表示結果を指定する演出制御コマンドであるので、コマンド８１００（Ｈ）〜８１０６（Ｈ）を表示結果コマンドという。
【０４１６】
コマンドＡ０００（Ｈ）は、可変表示装置９における飾り図柄の可変表示（変動）の停止を指定する演出制御コマンド（飾り図柄停止指定コマンド）である。
【０４１７】
コマンドＢＸＸＸ（Ｈ）は、大当り遊技開始から大当り遊技終了までの間に送出される演出制御コマンドである。そして、コマンドＤ０００（Ｈ）〜ＥＸＸＸ（Ｈ）は、飾り図柄の変動および大当り遊技に関わらない可変表示装置９の表示状態に関する演出制御コマンドである。
【０４１８】
コマンドＢ０００（Ｈ）は、２ラウンドの大当り遊技が開始されることを指定する演出制御コマンド（ファンファーレ１コマンド）である。コマンドＢ００１（Ｈ）は、７ラウンドの大当り遊技が開始されることを指定する演出制御コマンド（ファンファーレ２コマンド）である。コマンドＢ００２（Ｈ）は、１５ラウンドの大当り遊技が開始されることを指定する演出制御コマンド（ファンファーレ３コマンド）である。
【０４１９】
なお、演出用のマイクロコンピュータは、ファンファーレコマンドにもとづいて大当り遊技の開始を報知するが、このとき、大当りの種別が７ラウンドの大当りであるか１５ラウンドの大当りであるかについても報知することによって、大当りの種別に対応している大入賞口の開放位置（いずれの大入賞口が開放するか）についても遊技者に報知されることになる。ただし、ファンファーレコマンドとは別に、いずれの大入賞口が開放されるかを示すコマンドを演出用のマイクロコンピュータに送信し、演出用のマイクロコンピュータが、当該コマンドにもとづいて大入賞口の開放位置を報知する（例えば可変表示装置９の表示画面に大入賞口の開放位置を表示する）ように構成されていてもよい。この場合は、ファンファーレコマンドを図６１に示すように大当りの種別に応じて分ける必要はない。また、２ラウンドの大当りが発生したときは、いずれの大入賞口が開放されるかを示すコマンドを演出用のマイクロコンピュータに送信しないようにし、演出用のマイクロコンピュータは、当該コマンドが送信されなかったときは、大入賞口の開放位置について遊技者に報知する制御を実行しないようにする。また、演出用のマイクロコンピュータは、大当りの種別を特定可能なファンファーレコマンドが送信されたときでも、表示結果コマンドにもとづいて大当りの種別が２ラウンドの大当りであると判断したときは、大入賞口の開放位置について遊技者に報知する制御を実行しないようにしてもよい。さらに、２ラウンドの大当りが発生したときに、いずれの大入賞口も開放されないことを示すコマンドを演出用のマイクロコンピュータに送信するように構成されていてもよい。
【０４２０】
コマンドＢ１ＸＸ（Ｈ）は、大当り遊技中のラウンド中の表示を指定する演出制御コマンド（大入賞口開放中表示コマンド）である。なお、「ＸＸ」に表示するラウンド数が設定される。コマンドＢ２ＸＸ（Ｈ）は、各ラウンド中の大入賞口への入賞球数（カウントスイッチ２３１，２３２の入賞検出数）を指定する演出制御コマンド（カウント数指定コマンド）である。なお、「ＸＸ」に入賞球数（カウント数）が設定される。コマンドＢ３ＸＸ（Ｈ）は、大当り遊技中のラウンド後の表示（ラウンド間のインターバルの表示）を指定する演出制御コマンド（大入賞口開放後表示コマンド）である。なお、「ＸＸ」に表示するラウンド数が設定される。コマンドＢ４００（Ｈ）は、大当り遊技が終了することを指定する演出制御コマンド（大当り終了指定コマンド）である。
【０４２１】
コマンドＤ０００（Ｈ）は、客待ちデモンストレーションを指定する演出制御コマンドである。また、コマンドＥ４０１（Ｈ）は、遊技状態が通常遊技状態（低確率状態）のときの遊技演出（通常遊技演出）の実行を指定する演出制御コマンド（通常表示コマンド）である。コマンドＥ４０２（Ｈ）は、遊技状態が確変状態（高確率状態）および時短状態のときの遊技演出（特別遊技演出）の実行を指定する演出制御コマンド（特別表示コマンド）である。コマンドＥ４０３（Ｈ）は、遊技状態が高確率潜伏状態のときの遊技演出（通常遊技演出）の実行を指定する演出制御コマンド（高確率潜伏表示コマンド）である。
【０４２２】
音／ランプ制御基板８０ｂに搭載されている音／ランプ制御用マイクロコンピュータ１００ｂは、主基板３１に搭載されている遊技制御用マイクロコンピュータ５６０から上述した演出制御コマンドを受信すると、図６１に示された内容に応じてスピーカ２７の音声出力制御を実行し、またランプの点灯制御を実行する。また、音／ランプ制御用マイクロコンピュータ１００ｂは、受信した演出制御コマンドを図柄制御用マイクロコンピュータ１００ａに送信するとともに、受信した演出制御コマンドにもとづいてコマンドを生成し、生成したコマンドを図柄制御用マイクロコンピュータ１００ａに送信する。図柄制御用マイクロコンピュータ１００ａは、音／ランプ制御用マイクロコンピュータ１００ｂからのコマンドを受信すると、受信コマンドに従って可変表示装置９の表示制御を実行する。
【０４２３】
なお、図６１に示された演出制御コマンド以外の演出制御コマンドも主基板３１から音／ランプ制御基板８０ｂに送信される。
【０４２４】
図６２は、始動口スイッチ通過処理（ステップＳ３１２）を示すフローチャートである。始動口スイッチ通過処理において、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、始動入賞カウンタが示す始動入賞記憶数（または特図保留メモリ５７０が記憶している始動入賞記憶数）が最大値である４に達しているかどうか確認する（ステップＳ３２０１）。始動入賞記憶数が４に達していなければ、ＣＰＵ５６は、タイマ割込処理を実行した回数を示す割込回数カウンタの値を１加算する（ステップＳ３２０１ａ）。すなわち、ＣＰＵ５６は、タイマ割込処理を実行した回数をカウントする処理を実行する。この実施の形態では、ＣＰＵ５６は、ステップＳ３２０１ａを実行することによって、タイマ割込処理を実行するごとに、タイマ割込処理を実行した回数を示す割込回数カウンタをカウントアップする。割込回数カウンタの値を１加算すると、ＣＰＵ５６は、割込実行回数カウンタに示されるタイマ割込処理の実行回数が所定回数（例えば、３回）に達しているか否かを確認する（ステップＳ３２０２）。そして、ＣＰＵ５６は、遊技球が始動入賞口１４に入賞したあと、割込実行回数カウンタが所定回数に達しているか否かを確認する。なお、遊技球が始動入賞口１４に入賞したことを検出すると（すなわち、ステップＳ３２０２でＹＥＳと判定すると）、ＣＰＵ５６は、割込実行回数カウンタをリセットする。
【０４２５】
ステップＳ３２０２において所定回数としてあらかじめ設定される値は、以下のように定められる。前述のように、乱数回路５０３のタイマ回路５３４は、始動口スイッチ１４ａから入賞検出信号ＳＳが継続して入力されている時間を計測し、計測時間が所定期間になったことを検出すると、乱数値取り込みデータ「０１ｈ」を書き込む。この実施の形態では、タイマ回路５３４が計測する所定期間（例えば、３ｍｓ）が、所定回数のタイマ割込処理が実行される期間（例えば、２ｍｓごとのタイマ割込処理を３回実行する場合は６ｍｓ）よりも短くなるように、ステップＳ３２０２において用いる所定回数（例えば、３回）が設定される。そのように設定することによって、乱数を読み出してから、乱数値記憶回路５３１に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができ、前回乱数値記憶回路５３１から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。なお、タイマ回路５３４が入賞検出信号ＳＳの入力時間を計測するのでなく、ＣＰＵ５６が入賞検出信号ＳＳの入力時間を計測し、乱数値取り込みデータ「０１ｈ」を乱数値取込レジスタ５３９に書き込むようにしてもよい。
【０４２６】
タイマ割込処理の実行回数が所定回数に達している場合、ＣＰＵ５６は、特定した乱数回路５０３の乱数値記憶回路５３１に出力制御信号ＳＣを出力し、乱数値記憶回路５３１を読出可能（イネイブル）状態に制御する（ステップＳ３２０３）。
【０４２７】
ＣＰＵ５６は、乱数回路５０３の乱数値記憶回路５３１から、乱数値として記憶されているランダムＲの値を読み出す（ステップＳ３２０４）。また、ＣＰＵ５６は、読み出したランダムＲの値を、始動入賞記憶数の値に対応した保存領域（特別図柄判定用バッファ（特図保留メモリ５７０））に格納する（ステップＳ３２０５）。また、ＣＰＵ５６は、ランダムＲの値をバッファ領域に格納すると、乱数値記憶回路５３１への出力制御信号ＳＣの出力を停止し、乱数値記憶回路５３１を読出不能（ディセイブル）状態に制御する（ステップＳ３２０６）。また、ＣＰＵ５６は、割込実行回数カウンタをリセットする（ステップＳ３２０７）。そして、ＣＰＵ５６は、所定のバッファ領域に格納したランダムＲの値を特図保留メモリ５７０の空エントリの先頭にセットし（ステップＳ３２０８）、始動入賞カウンタのカウント数を１加算することで始動入賞記憶数を１増やす（ステップＳ３２０９）。
【０４２８】
また、ＣＰＵ５６は、判定用乱数や表示用乱数などの各乱数（ソフトウェア乱数）の値を抽出し、それらを始動入賞記憶数の値に対応した保存領域（特別図柄判定用バッファ）に格納する（ステップＳ３２１０）。なお、乱数を抽出するとは、乱数を生成させるためのカウンタからカウント値を読み出して、読み出したカウント値を乱数値とすることである。ステップＳ３２１０では、図５６に示された乱数のうち、ランダム１〜ランダム４，ランダム８が抽出される。
【０４２９】
ステップＳ３２０１において始動入賞記憶するが最大値である４に達している場合、およびステップＳ３２０２においてタイマ割込処理の実行回数が所定回数に達してない場合、そのまま始動口スイッチ通過処理を終了する。
【０４３０】
以上のように、始動口スイッチ通過処理において、乱数値記憶回路５３１からランダムＲを読み出すにあたって、タイマ割込処理が所定回数実行されたこと（すなわち、タイマ割込処理が所定回数実行される間継続して入賞検出信号ＳＳが入力されたこと）を条件に、乱数値記憶回路５３１から乱数を読み出す。そのため、乱数を読み出してから、乱数値記憶回路５３１に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。また、前回乱数値記憶回路５３１から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
【０４３１】
次に、特別図柄プロセス処理における特別図柄通常処理（ステップＳ３００）について説明する。図６３は、特別図柄通常処理を示すフローチャートである。特別図柄通常処理において、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、特別図柄の変動を開始することができる状態（例えば特別図柄プロセスフラグの値がステップＳ３００を示す値となっている場合）には（ステップＳ５１）、始動入賞記憶数（保留記憶数）の値を確認する（ステップＳ５２）。具体的には、始動入賞記憶カウンタのカウント値を確認する。なお、特別図柄プロセスフラグの値がステップＳ３００を示す値となっている場合とは、可変表示装置９において図柄の変動がなされていず、かつ、大当り遊技中でもない場合である。また、ステップＳ５１で変動開始不可能である場合や、ステップＳ５２で保留記憶数が０である場合には、ＣＰＵ５６は、そのまま特別図柄通常処理を終了する。
【０４３２】
保留記憶数が０でなければ、保留記憶数＝１に対応する保存領域に格納されている各乱数値（ランダムＲや各判定用乱数、表示用乱数）を読み出してＲＡＭ５５の乱数バッファ領域に格納するとともに（ステップＳ５３）、保留記憶数の値を１減らし（始動入賞記憶カウンタの値を１減らし）、かつ、各保存領域の内容をシフトする（ステップＳ５４）。すなわち、保留記憶数＝ｎ（ｎ＝２，３，４）に対応する保存領域に格納されている各乱数値を、保留記憶数＝ｎ−１に対応する保存領域に格納する。よって、各保留記憶数に対応するそれぞれの保存領域に格納されている各乱数値が抽出された順番は、常に、保留記憶数＝１，２，３，４の順番と一致するようになっている。すなわち、この例では、ＣＰＵ５６は、可変表示の開始条件が成立する毎に、各保存領域の内容をシフトする処理を実行する。
【０４３３】
次に、ＣＰＵ５６は、確変フラグまたは時短フラグがセットされているか否かを確認する（ステップＳ５５Ａ）。確変フラグは、遊技状態が確変状態に移行されてから特別図柄の変動回数が所定回数（１００回）以下であることを示すフラグである。確変フラグは、確変状態に移行されたとき、すなわち、確変大当りが発生してその大当り遊技が終了するときにセットされ、確変状態に移行されてから特別図柄の変動回数が所定回数に達したときおよび確変状態に移行されてから特別図柄の変動回数が所定回数に達する前に時短大当りまたは通常大当りが発生してその大当り遊技が終了するときにリセットされる（図７０の大当り終了処理等を参照）。また、時短フラグは、遊技状態が時短状態であることを示すフラグである。時短フラグは、時短状態に移行されたとき、すなわち、時短大当りが発生してその大当り遊技が終了したときおよび確変状態のときに通常大当りが発生してその大当り遊技が終了するときにセットされ、時短状態が終了するとき、すなわち、時短大当りに移行されてから特別図柄の変動回数が所定回数に達したときおよび時短状態に移行されてから特別図柄の変動回数が所定回数に達する前に通常大当りが発生してその大当り遊技が終了するときにリセットされる（図７０の大当り終了処理等を参照）。
【０４３４】
確変フラグまたは時短フラグがセットされていなければ（ステップＳ５５ＡのＮ）、ステップＳ５６Ａの処理に移行する。確変フラグまたは時短フラグがセットされていれば（ステップＳ５５ＡのＹ）、ＣＰＵ５６は、変動回数カウンタの値を−１する（ステップＳ５５Ｂ）。変動回数カウンタは、遊技状態が確変状態または時短状態に移行された後の特別図柄の変動回数をカウントするカウンタである。この変動回数カウンタには、遊技状態が確変状態または時短状態に移行されるときに所定回数（１００回）がセットされる（図７０の大当り終了処理等を参照）。次いで、ＣＰＵ５６は、変動回数カウンタの値が０であるか否かを確認する（ステップＳ５５Ｃ）。このとき、変動回数カウンタの値が０であるということは、遊技状態が確変状態または時短状態に移行されてから変動回数が所定回数に達したことを意味する。ＣＰＵ５６は、変動回数カウンタの値が０であるときは（ステップＳ５５ＣのＹ）、確変フラグがセットされているか否かを確認し（ステップＳ５５Ｄ）、確変フラグがセットされているときは、高確率潜伏状態フラグをセットする（ステップＳ５５Ｅ）。高確率潜伏状態フラグは、大当りが発生する確率は高められているが遊技演出は通常遊技演出が実行される高確率潜伏状態、より具体的には、確変状態に移行された後に変動回数が１００回以上となった状態であることを示すフラグである。次いで、ＣＰＵ５６は、確変フラグまたは時短フラグをリセットする（ステップＳ５５Ｆ）。
【０４３５】
なお、確変フラグまたは時短フラグがセットされているときは、ＣＰＵ５６は、普通図柄プロセス処理（ステップＳ２８）において、普通図柄の停止図柄が当り図柄になる確率を高めるとともに、可変入賞球装置１５における開放時間と開放回数とのうちの一方または双方を高める制御を実行する。
【０４３６】
次いで、ＣＰＵ５６は、乱数バッファ領域に格納した大当り判定用乱数（ランダムＲ）を読み出し（ステップＳ５６Ａ）、読み出した大当り判定用乱数の値にもとづいて、特別図柄表示器８の表示結果を大当り図柄とするか否かを判定する（ステップＳ５６Ｂ）。この場合、ＣＰＵ５６は、遊技状態が通常遊技状態または時短状態であるとき（遊技状態が確変状態でないとき）は、通常時大当り判定テーブル（図３６（Ａ））を用いて大当りとするか否かを決定し、遊技状態が確変状態であるときは、確変時大当り判定テーブル（図３６（Ｂ））を用いて大当りとするか否かを決定する。遊技状態が確変状態であるかどうかは、確変フラグまたは高確率潜伏状態フラグがセットされているか否かによって確認することができる。
【０４３７】
なお、大当りの判定は、タイマ割込処理における特別図柄プロセス処理（ステップＳ２７）の特別図柄通常処理（ステップＳ３００）において実行されているが、メイン処理におけるループ処理が実行されているとき（例えばステップＳ１７からステップＳ２０の間）に実行されてもよい。
【０４３８】
大当りにすると決定された場合は（ステップＳ５６ＣのＹ）、ＣＰＵ５６は、大当りになることを示す大当りフラグをセットする（ステップＳ５７Ａ）。また、大当り種別決定用乱数（ランダム８）を保存領域から読み出して（ステップＳ５７Ｂ）、読み出した大当り種別決定用乱数の値にもとづいて大当り種別（２ラウンド確変大当り、２ラウンド時短大当り、７ラウンド通常大当り、１５ラウンド通常大当り、１５ラウンド確変大当り、１５ラウンド時短大当り）を決定する（ステップＳ５７Ｃ）。そして、決定した大当り種別に応じてＲＯＭ５４に設けられているワーク設定テーブルを選択し、選択したワーク設定テーブルに設定されている表示灯指定値をＲＡＭ５５に設定する（ステップＳ５７Ｄ）。ワーク設定テーブルは、遊技制御を実行するための各種の指定値が設定されるテーブルである。ＣＰＵ５６は、遊技制御を実行するときにワーク設定テーブルに設定されている指定値を参照して各種の遊技制御を実行する。表示灯指定値は、２つの大入賞口表示灯３８，３９のうちいずれの表示灯を表示させるかを示す指定値である。上述したように、２ラウンド大当りおよび１５ラウンド大当りのときは第２大入賞口が開放されるので、大当り種別として２ラウンド大当りまたは１５ラウンド大当りが決定されたときは第２大入賞口表示灯３９の点灯を指定する表示灯指定値が設定されたワーク設定テーブルが選択される。７ラウンド大当りのときは第１大入賞口が開放されるので、大当り種別として７ラウンド大当りが決定されたときは第１大入賞口表示灯３８の点灯を指定する表示灯指定値が設定されたワーク設定テーブルが選択される。そして、選択されたワーク設定テーブルの表示灯指定値がＲＡＭ５５に設定される。なお、ＲＡＭ５５に設定された表示灯指定値にもとづく大入賞口表示灯３８，３９の表示制御は、後述する図６６のステップＳ３８９にて実行される。
【０４３９】
次いで、ＣＰＵ５６は、大当りとするかはずれとするか、また大当りにすると決定された場合の大当りの種別に応じた表示結果指定コマンドを音／ランプ制御基板８０ｂに送信する制御を実行する（ステップＳ５８）。
【０４４０】
具体的には、表示結果指定コマンドに応じたコマンド送信テーブルのアドレスをポインタにセットする。表示結果指定コマンドに応じたコマンド送信テーブルのアドレスがポインタにセットされると、飾り図柄コマンド制御処理（ステップＳ２９）において表示結果指定コマンドが送信される。この実施の形態において、「演出制御コマンドを送信する」とは、このような処理が行われることを示す。なお、コマンド送信テーブルとは、図６１に例示された各演出制御コマンドが設定されているＲＯＭ５４の領域である。また、ポインタは、その領域において、該当コマンドが格納されているアドレスを指定するために使用されるデータであり、ＲＡＭ５５に形成されている。
【０４４１】
なお、演出制御コマンドに応じたコマンド送信テーブルのアドレスがポインタにセットされたことにもとづいて、飾り図柄コマンド制御処理（ステップＳ２９）において、演出制御コマンドを送信する構成に限られるわけではなく、ステップＳ５８等の処理において、演出制御コマンドを送信する構成であってもよい。この実施の形態におけるコマンド送信処理においても同様である。
【０４４２】
そして、ＣＰＵ５６は、特別図柄プロセスフラグの値を特別図柄停止図柄設定処理に対応した値に更新する（ステップＳ５９）。
【０４４３】
なお、上記のステップＳ５７Ｃでは、大当り種別決定用乱数の値にもとづいて大当り種別を決定するように構成されていたが、このような構成に限られず、特別図柄の大当り図柄と大当りの種別とを予め対応させておいて、大当り図柄決定用乱数（ランダム２）の値にもとづいて大当りの種別を決定するように構成されていてもよい。
【０４４４】
図６４は、特別図柄プロセス処理における特別図柄停止図柄設定処理（ステップＳ３０１）の例を示すフローチャートである。特別図柄停止図柄設定処理において、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、まず、大当りフラグがセットされているか否かを確認する（ステップＳ３６１）。大当りフラグがセットされていなければ、ＣＰＵ５６は、特別図柄判定用バッファに格納されているはずれ図柄決定用乱数（ランダム１）にもとづいて、特別図柄の停止図柄（はずれ図柄）を決定する（ステップＳ３６２）。また、ＣＰＵ５６は、特別図柄判定用バッファに格納されているリーチ判定用乱数（ランダム４）にもとづいて、リーチとするか否かを決定する（ステップＳ３６３）。
【０４４５】
リーチとする（すなわち、リーチ態様とした後に飾り図柄の停止図柄を大当り図柄としない）と決定すると（ステップＳ３６４）、ＣＰＵ５６は、リーチフラグをセットする（ステップＳ３６５）。
【０４４６】
大当りフラグがセットされていれば、ＣＰＵ５６は、特別図柄判定用バッファに格納されている大当り図柄決定用乱数（ランダム２）にもとづいて、特別図柄の停止図柄（大当り図柄）を決定する（ステップＳ３６６）。このとき、大当りの種別によって特別図柄の大当り図柄が異なるので、大当り種別に応じた大当り図柄を決定する必要がある。大当り種別に応じた大当り図柄を決定するために、大当り図柄を決定するために用いるテーブルを大当り種別に応じて切り替えるようにする。
【０４４７】
そして、ＣＰＵ５６は、特別図柄プロセスフラグの値を変動パターン設定処理に対応した値に更新する（ステップＳ３６７）。
【０４４８】
図６６は、特別図柄プロセス処理における変動パターン設定処理（ステップＳ３０２）の例を示すフローチャートである。変動パターン設定処理において、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、大当りフラグ、リーチフラグ、確変フラグおよび時短フラグのセット状況に応じた変動パターンテーブルを用いることに決定する（ステップＳ３７１）。
【０４４９】
具体的には、大当りフラグがセットされ、かつ、確変フラグも時短フラグもセットされていないときは、「０４Ｈ」〜「０６Ｈ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。リーチフラグがセットされ、かつ、確変フラグも時短フラグもセットされていないときは、「０１Ｈ」〜「０３Ｈ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。大当りフラグもリーチフラグもセットされておらず、かつ、確変フラグも時短フラグもセットされていないときは、「００Ｈ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。大当りフラグがセットされ、かつ、確変フラグまたは時短フラグがセットされているときは、「０ＢＨ」〜「０ＤＨ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。リーチフラグがセットされ、かつ、確変フラグまたは時短フラグがセットされているときは、「０８Ｈ」〜「０ＡＨ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。大当りフラグもリーチフラグもセットされておらず、かつ、確変フラグまたは時短フラグがセットされているときは、「０７Ｈ」の変動パターンが設定された変動パターンテーブルを用いることに決定する。
【０４５０】
なお、高確率潜伏状態フラグがセットされているときは、確変フラグも時短フラグもセットされていない場合である。この場合は、通常遊技状態のときの変動パターンを決定するための変動パターンテーブルが選択されることになる。従って、高確率潜伏状態のときは、特別図柄の通常変動の変動パターンとして通常遊技状態のときと同じ通常変動の変動パターンが決定されることになる。
【０４５１】
次に、ＣＰＵ５６は、変動パターン決定用乱数（ランダム３）を読み出し、読み出した変動パターン決定用乱数の値にもとづき、ステップＳ３７１で決定した変動パターンテーブルを用いて変動パターンを決定する（ステップＳ３７２）。そして、決定した変動パターンを指定する変動パターンコマンドを音／ランプ制御基板８０ｂの音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ３７３）。
【０４５２】
次いで、ＣＰＵ５６は、特別図柄プロセスタイマに変動パターンの変動時間を設定し（ステップＳ３７４）、特別図柄プロセスタイマをスタートさせて特別図柄の変動時間の計測を開始する（ステップＳ３７５）。そして、ＣＰＵ５６は、特別図柄プロセスフラグの値を特別図柄変動処理に対応した値に更新する（ステップＳ３７６）。
【０４５３】
図６６は、特別図柄停止処理を示すフローチャートである。特別図柄停止処理において、ＣＰＵ５６は、特別図柄表示器８における特別図柄の変動を止めて、停止図柄を導出表示する（ステップＳ３８１）。また、ＣＰＵ５６は、可変表示装置９における飾り図柄の変動の停止を指定する飾り図柄変動停止指定コマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ３８２）。なお、飾り図柄停止指定コマンドを送信すると送信済みであることを示すフラグをセットし、以後の特別図柄停止処理においてそのフラグを確認したときは、ステップＳ３８１，Ｓ３８２の処理を実行しないように構成されているものとする。このような構成によって、飾り図柄停止指定コマンドが複数回送信されるのを回避することができる。
【０４５４】
また、特別図柄プロセスタイマの値を−１する（ステップＳ３８３）。なお、このとき、特別図柄変動中処理（ステップＳ３０３）において、特別図柄プロセスタイマに特別図柄を停止表示させる特別図柄停止時間がセットされている。次いで、ＣＰＵ５６は、特別図柄プロセスタイマがタイムアウトしたか否かを判定する（ステップＳ３８４）。特別図柄プロセスタイマがタイムアウトしていなければ、そのまま処理を終了する。
【０４５５】
特別図柄プロセスタイマがタイムアウトしていれば、大当りフラグがセットされているか否かを確認する（ステップＳ３８５）。大当りフラグがセットされていなければ、内部状態（特別図柄プロセスフラグ）をステップＳ３００に応じた値に更新する（ステップＳ３８６）。
【０４５６】
大当りフラグがセットされていれば、ＣＰＵ５６は、大入賞口の開放／閉鎖を制御するための時間を計測する大入賞口制御タイマに、大当り遊技が開始されることを遊技者に報知する演出（ファンファーレ演出）の実行時間（大当り表示時間）をセットする（ステップＳ３８７）。
【０４５７】
なお、大当りの種別に応じて異なる大当り表示時間をセットするように構成されていてもよい。
【０４５８】
次いで、ＣＰＵ５６は、大当りの種別に応じたファンファーレコマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ３８８）。このように、大当りの種別に応じたファンファーレコマンドを送信するように構成されているので、音／ランプ制御用マイクロコンピュータ１００ｂおよび音／ランプ制御用マイクロコンピュータ１００ｂからコマンドを受信する図柄制御用マイクロコンピュータ１００ａは、ファンファーレコマンドによって大当りの種別を認識することができる。従って、大当りの種別に応じて予め決められているいずれの大入賞口が開放するかについて可変表示装置９などの演出装置を用いて遊技者に報知することができる。例えば、大当り遊技が開始されるときに可変表示装置９の画面に「左の大入賞口（アタッカー）が開く」というような文字を表示したり、開放される大入賞口を示す矢印を表示したりする。
【０４５９】
そして、ＣＰＵ５６は、ＲＡＭ５５に設定されている表示灯指定値（設定値）に応じて、大入賞口表示灯３８，３９の表示制御を実行する（ステップＳ３８９）。具体的には、出力ポートの出力状態に対応したＲＡＭ領域（出力ポートバッファ）が設けられており、ＣＰＵ５６は、ステップＳ３８９において出力ポートのＲＡＭ領域に大入賞口表示灯の点灯／消灯に関する内容を設定する。そして、ステップＳ３４の出力設定処理において出力ポートのＲＡＭ領域に設定された内容を出力ポートに出力する。これにより、駆動指令の信号が出力ポートから大入賞口表示灯に出力され、大入賞口表示灯の表示制御が実行される。大入賞口表示灯３８，３９のいずれが点灯されたかによって、遊技者は、２つの大入賞口のいずれが開放されるかについて知ることができる。なお、この実施の形態では、大入賞口表示灯の表示制御は、大当り図柄が停止表示されてから大入賞口が開放されるまで行われる（ステップＳ４０８，Ｓ４１２参照）。そして、ＣＰＵ５６は、内部状態（特別図柄プロセスフラグ）をステップＳ３０５に応じた値に更新する（ステップＳ３９０）。
【０４６０】
なお、大入賞口表示灯３８，３９の表示制御は、特別図柄停止処理にて実行（開始）される場合に限られるわけではない。例えば、大入賞口が最初に開放される前の大入賞口開放前処理にて実行（開始）するように構成されていてもよい。
【０４６１】
図６７は、特別図柄プロセス処理における大入賞口開放前処理（ステップＳ３０５）を示すフローチャートである。大入賞口開放前処理において、ＣＰＵ５６は、大入賞口制御タイマの値を−１し（ステップＳ４０１）。そして、大入賞口制御タイマの値が０であるか否かを確認する（ステップＳ４０２）。その値が０になっていなければ（ステップＳ４０２のＮ）、そのまま処理を終了する。大入賞口制御タイマの値が０になっていれば（ステップＳ４０２のＹ）、大当りが２ラウンド大当りであるか否かを判定する（ステップＳ４０３）。なお、大当りが２ラウンド大当りであるか否かは、例えば、大当りの種別が決定されたときに、大当りの種別を示すフラグをセットしておき、そのフラグを確認することによって実現することができる。
【０４６２】
２ラウンド大当りでない場合、つまり、７ラウンド大当りまたは１５ラウンド大当りである場合（ステップＳ４０３のＮ）、ＣＰＵ５６は、大入賞口の開放中（ラウンド中）におけるラウンド数に応じた表示状態を指定する大入賞口開放中表示コマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ４０４）。なお、ラウンド数は、大当り遊技中のラウンド数をカウントするラウンド数カウンタの値を確認することにより認識する。そして、ＣＰＵ５６は、ソレノイド２４１またはソレノイド２４２を駆動して大入賞口（開閉板２０１または開閉板２０２）を開放する制御を行うとともに（ステップＳ４０５）、ラウンド数カウンタの値を＋１する（ステップＳ４０６）。なお、この実施の形態では、出力ポートの出力状態に対応したＲＡＭ領域（出力ポートバッファ）が設けられており、ＣＰＵ５６は、ステップＳ４０５において出力ポートのＲＡＭ領域におけるソレノイドのオン／オフに関する内容を、駆動するソレノイドの開閉状態に応じて設定する。そして、ステップＳ３５の出力処理において出力ポートのＲＡＭ領域に設定された内容を出力ポートに出力する。これにより、駆動指令の信号が出力ポートから出力回路５９に出力される。出力回路５９は、駆動指令の信号に応じてソレノイドを駆動するための駆動信号をソレノイドに出力して、ソレノイドを駆動させる。以下、ソレノイドを開閉駆動させる処理では、このような動作が行われる。
【０４６３】
また、大入賞口制御タイマに、各ラウンドにおいて大入賞口が開放可能な最大時間（ラウンド時間）セットする（ステップＳ４０７）。また、大入賞口表示灯を消灯する制御を実行する（ステップＳ４０８）。
【０４６４】
ステップＳ４０３において２ラウンドの大当りであったときは（ステップＳ４０３のＹ）、ＣＰＵ５６は、ソレノイド２４２を駆動して第２大入賞口を開放するとともに（ステップＳ４０９）、ラウンド数カウンタの値を＋１する（ステップＳ４１０）。また、大入賞口制御タイマにラウンド時間をセットする（ステップＳ４１１）。なお、１５ラウンド用や７ラウンド用のラウンド時間と異なり、２ラウンド用のラウンド時間は、極めて短い時間であり、例えば０．１秒とされている。従って、２ラウンドの大当りでは、ラウンド中に大入賞口へ遊技球が入賞する可能性は低い。また、大入賞口表示灯を消灯する制御を実行する（ステップＳ４１２）。
【０４６５】
そして、ＣＰＵ５６は、内部状態（特別図柄プロセスフラグ）をステップＳ３０６に応じた値に更新する（ステップＳ４１３）。
【０４６６】
図６８および図６９は、特別図柄プロセス処理における大入賞口開放中処理（ステップＳ３０６）を示すフローチャートである。大入賞口開放中処理において、ＣＰＵ５６は、まず、大入賞口制御タイマの値を−１する（ステップＳ４２１）。そして、大当りの種別が２ラウンド大当りであるか否かを確認する（ステップＳ４２２）。
【０４６７】
２ラウンド大当りであれば（ステップＳ４２２のＹ）、ＣＰＵ５６は、大入賞口制御タイマの値が０であるかどうかを確認し（ステップＳ４２３）、大入賞口制御タイマの値が０になっていないときは（ステップＳ４２３のＮ）、そのまま処理を終了する。大入賞口制御タイマの値が０になっているときは（ステップＳ４２３のＹ）、ソレノイド２４２を駆動して大入賞口（開閉板２０２）を閉鎖する制御を行う（ステップＳ４２４）。次いで、ＣＰＵ５６は、ラウンド数カウンタの値が２になっているかどうかを確認する（ステップＳ４２５）。
【０４６８】
ラウンド数カウンタの値が２になっていなければ（ステップＳ４２５のＮ）、ＣＰＵ５６は、大入賞口制御タイマに、ラウンドが終了してから次のラウンドが開始するまでの時間（インターバル時間）をセットし（ステップＳ４２９）、特別図柄プロセスフラグの値をステップＳ３０５（大入賞口開放前処理）に応じた値に更新する（ステップＳ４３０）。なお、２ラウンド用のインターバル時間は、極めて短い時間であり、例えば０．１秒とされている。
【０４６９】
ラウンド数カウンタの値が２になっていれば（ステップＳ４２５のＹ）、ＣＰＵ５６は、大当りの終了を指定する大当り終了指定コマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ４２６）。そして、大入賞口制御タイマに大当り終了を遊技者に報知する演出（エンディング演出）の実行時間（大当り終了時間）をセットし（ステップＳ４２７）、特別図柄プロセスフラグの値をステップＳ３０７（大当り終了処理）に応じた値に更新する（ステップＳ４２８）。
【０４７０】
ステップＳ４２２において２ラウンド大当りでなければ（ステップＳ４２２のＮ）、ＣＰＵ５６は、大入賞口制御タイマの値が０であるかどうかを確認する（ステップＳ４３１）。大入賞口制御タイマの値が０になっていないときは（ステップＳ４３１のＮ）、カウントスイッチ２３１またはカウントスイッチ２３２がオンしたか否かを確認することにより、大入賞口への遊技球の入賞があったかどうかを確認する（ステップＳ４３２）。カウントスイッチ２３１またはカウントスイッチ２３２がオンしていなければ（ステップＳ４３２のＮ）、そのまま処理を終了する。カウントスイッチ２３１またはカウントスイッチ２３２がオンしていれば（ステップＳ４３２のＹ）、ＣＰＵ５６は、大入賞口への遊技球の入賞個数をカウントする入賞個数カウンタの値を＋１する（ステップＳ４３３）。そして、ラウンド中の大入賞口への入賞球数を指定するカウント数指定コマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ４３４）。次いで、ＣＰＵ５６は、入賞個数カウンタの値が所定数（例えば１０個）になっているか否かを確認する（ステップＳ４３５）。入賞個数カウンタの値が所定数になっていなければ（ステップＳ４３５のＮ）、そのまま処理を終了する。
【０４７１】
大入賞口制御タイマの値が０になっているとき（ステップＳ４３１のＹ）、または入賞個数カウンタの値が所定数になっているとき（ステップＳ４３５のＹ）は、ＣＰＵ５６は、ソレノイド２４１またはソレノイド２４２を駆動して大入賞口（開閉板２０１または開閉板２０２）を閉鎖する制御を行う（ステップＳ４３６）。そして、入賞個数カウンタの値をクリアする（０にする）（ステップＳ４３７）。
【０４７２】
次いで、ＣＰＵ５６は、１５ラウンド大当りであるか否かを確認し（ステップＳ４３８）、１５ラウンド大当りであるときは、ラウンド数カウンタの値が１５であるか否かを確認する（ステップＳ４４０）。また、１５ラウンド大当りでないときは、ラウンド数カウンタの値が７であるか否かを確認する（ステップＳ４３９）。ステップＳ４４０においてラウンド数カウンタの値が１５でないとき（ステップＳ４４０のＮ）およびステップＳ４３９においてラウンド数カウンタの値が７でないときは（ステップＳ４３９のＮ）、ＣＰＵ５６は、大入賞口の開放後（ラウンドの終了後）におけるラウンド数に応じた表示状態を指定する大入賞口開放後表示指定コマンドを音／ランプ制御用マイクロコンピュータ１００ｂに送信する制御を行う（ステップＳ４４１）。そして、大入賞口制御タイマに、ラウンドが終了してから次のラウンドが開始するまでの時間（インターバル時間）をセットし（ステップＳ４４２）、特別図柄プロセスフラグの値をステップＳ３０５（大入賞口開放前処理）に応じた値に更新する（ステップＳ４４３）。
【０４７３】
ステップＳ４４０においてラウンド数カウンタの値が１５であるとき（ステップＳ４４０のＹ）およびステップＳ４３９においてラウンド数カウンタの値が７であるときは（ステップＳ４３９のＹ）、ＣＰＵ５６は、大当り終了指定コマンドを送信する制御を行い（ステップＳ４４４）、大入賞口制御タイマに大当り終了時間をセットする（ステップＳ４４５）。そして、特別図柄プロセスフラグの値をステップＳ３０７（大当り終了処理）に応じた値に更新する（ステップＳ４４６）。
【０４７４】
図７０は、特別図柄プロセス処理における大当り終了処理（ステップＳ３０７）を示すフローチャートである。大当り終了処理において、ＣＰＵ５６は、まず、大入賞口制御タイマの値を−１する（ステップＳ５０１）。そして、大入賞口制御タイマの値が０であるか否かを確認する（ステップＳ５０２）。大入賞口制御タイマの値が０でなければ（ステップＳ５０２のＮ）、そのまま処理を終了する。
【０４７５】
大入賞口制御タイマの値が０になっていれば（ステップＳ５０２のＹ）、大当りが確変大当りであったか否かを確認する（ステップＳ５０３）。確変大当りであった場合は（ステップＳ５０３のＹ）、確変フラグをセットする（ステップＳ５０４）。なお、すでにフラグがセットされていた場合はセットする必要はない。また、ＣＰＵ５６は、変動回数カウンタに１００回をセットする（ステップＳ５０５）。そして、大当りフラグをリセットし（ステップＳ５０６）、内部状態（特別図柄プロセスフラグの値）をステップＳ３００（特別図柄通常処理）に応じた値に更新する（ステップＳ５０７）。
【０４７６】
ステップＳ５０３において確変大当りでなかった場合は、時短大当りであったか否かを確認する（ステップＳ５０８）。時短大当りであった場合は（ステップＳ５０８のＹ）、時短フラグをセットする（ステップＳ５０９）。なお、すでにフラグがセットされていた場合はセットする必要はない。次いで、確変フラグがセットされているか否かを確認し（ステップＳ５１０）、確変フラグがセットされていれば、そのフラグをリセットする（ステップＳ５１１）。その後、上述したステップＳ５０５〜Ｓ５０７の処理を実行する。
【０４７７】
ステップＳ５０８において時短大当りでなかった場合は、大当りが通常大当りであったことになり、このときは、ＣＰＵ５６は、確変フラグがセットされているか否かを確認する（ステップＳ５１２）。確変フラグがセットされているときは、確変フラグをリセットし（ステップＳ５１３）、時短フラグをセットする（ステップＳ５１４）。その後、上述したステップＳ５０５〜Ｓ５０７の処理を実行する。
【０４７８】
確変フラグがセットされていないときは、時短フラグがセットされているか否かを確認する（ステップＳ５１５）。時短フラグがセットされているときは、時短フラグをリセットする（ステップＳ５１６）。その後、上述したステップＳ５０６，Ｓ５０７の処理を実行する。
【０４７９】
なお、上記のステップＳ５０３〜Ｓ５０５，Ｓ５０８〜Ｓ５１６の処理は、大当り終了処理にて実行するのではなく、特別図柄停止処理にて実行するようにしてもよい。また、所定の種別の大当りが発生したことにもとづく所定の遊技状態を終了させる処理、すなわち、ステップＳ５１１，Ｓ５１３，Ｓ５１６におけるフラグをリセットする処理についてのみ特別図柄停止処理にて実行するようにし、所定の種別の大当りが発生したことにもとづく所定の遊技状態に移行させる処理、すなわち、ステップＳ５０４，Ｓ５０９，Ｓ５１４におけるフラグをセットする処理については大当り終了処理にて実行するようにしてもよい。
【０４８０】
次に、主基板３１と払出制御基板３７との間で送受信される払出制御信号および払出制御コマンドについて説明する。図７１は、遊技制御手段から払出制御手段に対して出力される制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板３１と払出制御基板３７との間で制御信号として接続確認信号が送受信される。図７１に示すように、接続確認信号は、主基板３１の立ち上がり時（遊技制御手段が遊技制御処理を開始したとき）に出力され、払出制御基板３７に対して主基板３１が立ち上がったことを通知するための信号（主基板３１の接続確認信号）である。また、接続確認信号は、賞球払出が可能な状態であることを示す。
【０４８１】
払出制御用マイクロコンピュータ３７０は、遊技制御用マイクロコンピュータ５６０と同様に、シリアル通信回路３７５を内蔵する。また、遊技制御用マイクロコンピュータ５６０が内蔵するシリアル通信回路５０５と、払出制御用マイクロコンピュータ３７０が内蔵するシリアル通信回路３７５との間で、各種払出制御コマンドが送受信される。なお、払出制御用マイクロコンピュータ３７０が内蔵するシリアル通信回路３７５の構成及び機能は、遊技制御用マイクロコンピュータ５６０が内蔵するシリアル通信回路５０５の構成及び機能と同様である。
【０４８２】
図７２は、遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板３１と払出制御基板３７とのマイクロコンピュータの間で各種制御コマンドが送受信される。
【０４８３】
賞球個数コマンドは、払出要求を行う遊技球の個数（０〜１５個）を指定するために出力されるコマンドである。この実施の形態では、始動口スイッチ１４ａで遊技球が検出されると４個の賞球払出を行い、入賞口スイッチ２９ａ，３０ａのいずれかで遊技球が検出されると７個の賞球払出を行い、カウントスイッチ２３１，２３２で遊技球が検出されると１５個の賞球払出を行う。よって、始動口スイッチ１４ａで遊技球が検出された場合、賞球数４個を通知するための賞球個数コマンド「０４」が送信され、入賞口スイッチ２９ａ，３０ａのいずれかで遊技球が検出された場合、賞球数７個を通知するための賞球個数コマンド「０７」が送信され、カウントスイッチ２３１，２３２で遊技球が検出された場合、賞球数１５個を通知するための賞球個数コマンド「０Ｆ」が送信される。なお、賞球個数コマンドを２バイトで構成してもよい。この場合、例えば、ＣＰＵ５６は、まず賞球個数コマンドの下位１バイトのデータを送信データレジスタ７１０に書き込む。そして、送信用シフトレジスタ７１２から賞球個数コマンドの下位１バイトのデータの送信が完了すると、シリアル通信回路５０５からの送信時割り込み要求に応じて、ＣＰＵ５６は、賞球個数コマンドの上位１バイトのデータを送信データレジスタ７１０に書き込み、送信用シフトレジスタ７１２から賞球個数コマンドの上位１バイトのデータが送信される。
【０４８４】
賞球ＡＣＫコマンド「Ｄ２」は、払出制御手段が賞球個数コマンドを受信したことを遊技制御手段に通知するためのコマンドである。賞球ＡＣＫコマンドは、賞球個数コマンドを受信したことを示す受信確認信号に相当する。
【０４８５】
図７３は、図７１に示す制御信号および図７０に示す制御コマンドの送受信に用いられる信号線等を示すブロック図である。なお、図７３には、電源断信号も示されている。図７３に示すように、接続確認信号は、遊技制御用マイクロコンピュータ５６０によって出力回路６７を介して出力され、入力回路３７３Ａを介して払出制御用マイクロコンピュータ３７０に入力される。また、電源断信号は、出力回路３７３Ｂを介して出力され、入力回路６８を介して遊技制御用マイクロコンピュータ５６０に入力される。また、賞球個数コマンドは、遊技制御用マイクロコンピュータ５６０が内蔵するシリアル回路５０５から出力され、払出制御用マイクロコンピュータ３７０が内蔵するシリアル回路３７５に入力される。また、賞球ＡＣＫコマンドは、払出制御用マイクロコンピュータ３７０が内蔵するシリアル回路３７５から出力され、遊技制御用マイクロコンピュータ５６０が内蔵するシリアル回路５０５に入力される。
【０４８６】
接続確認信号および電源断信号は、それぞれ１ビットのデータであり、１本の信号線によって送信される。また、主基板３１と払出制御基板３７との間で、遊技制御用マイクロコンピュータ５６０への電源断信号の信号線と、払出制御に関わる制御信号（接続確認信号）の信号線とをまとめて配線することができる。よって、遊技機において、遊技制御用マイクロコンピュータ５６０への電源断信号に関する配線スペースを節減することができる。
【０４８７】
なお、この実施の形態では、遊技制御用マイクロコンピュータ５６０が賞球個数コマンドを払出制御用マイクロコンピュータ３７０にシリアル送信し、払出制御用マイクロコンピュータ３７０が賞球ＡＣＫコマンドを遊技制御用マイクロコンピュータ５６０にシリアル送信する双方向通信を行う場合を説明するが、遊技制御用マイクロコンピュータ５６０と払出制御用マイクロコンピュータ３７０とは一方向のシリアル通信を行ってもよい。例えば、遊技制御用マイクロコンピュータ５６０が賞球個数コマンドを払出制御用マイクロコンピュータ３７０に送信する一方向のシリアル通信を行い、払出制御用マイクロコンピュータ３７０は賞球ＡＣＫコマンドを送信しないようにしてもよい。
【０４８８】
図７４は、払出制御信号および払出制御コマンドの出力の仕方の一例を示すタイミング図である。図７４に示すように、入賞検出スイッチが遊技球の入賞を検出すると、遊技制御手段（遊技制御用マイクロコンピュータ５６０）は、入賞に応じて払い出される賞球数に応じた賞球個数コマンドを払出制御手段（払出制御用マイクロコンピュータ３７０）に送信する。なお、具体的には、遊技制御用マイクロコンピュータ５６０は、遊技球が遊技機に設けられている入賞領域に入賞したことを入賞検出スイッチの検出信号によって検知すると、あらかじめ決められた賞球数をバックアップＲＡＭに形成されている総賞球数格納バッファの内容に加算する。そして、総賞球数格納バッファの内容が０でない値になったら、入賞に応じて払い出される賞球数に応じた賞球個数コマンドを払出制御用マイクロコンピュータ３７０に送信する。
【０４８９】
また、この実施の形態では、始動口スイッチ１４ａで遊技球が検出されると４個の賞球払出を行い、入賞口スイッチ２９ａ，３０ａのいずれかで遊技球が検出されると７個の賞球払出を行い、カウントスイッチ２３１，２３２で遊技球が検出されると１５個の賞球払出を行う。具体的には、遊技制御用マイクロコンピュータ５６０は、払い出される賞球数に応じて、賞球数が４個の場合には賞球数が４個であることを示す賞球個数コマンド「０４」を送信し、賞球数が７個の場合には賞球数が７個であることを示す賞球個数コマンド「０７」を送信し、賞球数が１５個の場合には賞球数が１５個であることを示す賞球個数コマンド「０Ｆ」を送信する。
【０４９０】
賞球個数コマンドの送信を完了すると、遊技制御用マイクロコンピュータ５６０のシリアル通信回路５０５は、図７４に示すように、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６に対して送信時割り込み要求を行う。送信時割込要求によって、ＣＰＵ５６は、賞球個数コマンドの送信を完了した状態となったことを認識し、払出制御用マイクロコンピュータからの受信確認信号の待ち状態となる。
【０４９１】
払出制御用マイクロコンピュータ３７０は、賞球個数コマンドの受信を確認すると、受信した賞球個数コマンドに示される賞球数を、払出制御用マイクロコンピュータ３７０の受信バッファに格納する。また、払出制御用マイクロコンピュータ３７０は、ＲＡＭの所定領域に設けられた賞球未払出個数カウンタに賞球数を加算する。そして、払出制御用マイクロコンピュータ３７０は、賞球ＡＣＫコマンド「Ｄ２」を、遊技制御用マイクロコンピュータ５６０に送信する。なお、払出制御用マイクロコンピュータ３７０は、払出制御用マイクロコンピュータ３７０が内蔵するシリアル通信回路３７５からの受信時割り込み要求にもとづく割込処理において賞球数を受信カウンタに格納するようにしてもよい。この場合、払出制御用マイクロコンピュータ３７０が内蔵するシリアル通信回路３７５は、賞球個数コマンドを受信すると、払出制御用マイクロコンピュータ３７０のＣＰＵに受信時割り込み要求を行う。そして、払出制御用マイクロコンピュータ３７０のＣＰＵは、シリアル通信回路３７５からの割り込み要求に応じて割込処理を実行することによって、賞球数を受信バッファに格納する。
【０４９２】
賞球ＡＣＫコマンドを受信し、受信データレジスタ７１１に賞球ＡＣＫコマンドが格納された状態となると、遊技制御用マイクロコンピュータ５６０のシリアル通信回路５０５は、図７４に示すように、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６に対して受信時割り込み要求を行う。受信時割込要求による割込処理を実行することによって、ＣＰＵ５６は、シリアル通信回路５０５がデータを受信したことを認識し、後述する賞球ＡＣＫ待ち処理において受信データレジスタ７１１から賞球ＡＣＫコマンドを読み込む。
【０４９３】
図７５は、ステップＳ３１の賞球処理の一例を示すフローチャートである。賞球処理において、遊技制御用マイクロコンピュータ５６０は、賞球個数加算処理（ステップＳ１２０１）と賞球制御処理（ステップＳ１２０２）とを実行する。そして、ＲＡＭ５５に形成されるポート０バッファの内容をポート０に出力する（ステップＳ１２０３）。なお、ポート０バッファの内容は、賞球制御処理において更新される。
【０４９４】
遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、メイン処理におけるステップＳ１７からステップＳ１９までのループ処理において、割り込み許可状態である間にシリアル通信回路５０５からの割り込み要求があると、シリアル通信回路５０５が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。図７６は、シリアル通信回路５０５が割り込み要求に対して行う割り込み処理の一例を示す流れ図である。図７６（ａ）は、シリアル通信回路５０５が通信エラーを割り込み原因として割り込み要求を行った場合に、ＣＰＵ５６が実行する通信エラー割込処理である。図７６（ｂ）は、シリアル通信回路５０５が受信データを受信したことを割り込み原因として割り込み要求を行った場合に、ＣＰＵ５６が実行する受信時割込処理である。図７６（ｃ）は、シリアル通信回路５０５が送信データの送信を完了したことを割り込み原因として割り込み要求を行った場合に、ＣＰＵ５６が実行する送信完了割込処理である。
【０４９５】
ＣＰＵ５６は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。この実施の形態では、ＣＰＵ５６は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、シリアル通信回路５０５で通信エラーが発生したことを割込原因とする割込処理を優先して実行する。
【０４９６】
シリアル通信回路５０５から割り込み要求があると、ＣＰＵ５６は、シリアル通信回路５０５のステータスレジスタＡ７０５の各ビットを確認し、割り込み原因を特定する。この場合、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。この実施の形態では、ＣＰＵ５６は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、シリアル通信回路５０５で通信エラーが発生したことを割込原因とする割込処理を優先して実行する。
【０４９７】
ＣＰＵ５６は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、ステータスレジスタＡ７０５のビット０〜ビット３を優先的に確認し、割り込み原因を特定する。すなわち、ＣＰＵ５６は、シリアル通信回路５０５で通信エラー（オーバーラン、ノイズエラー、フレーミングエラーまたはパリティエラー）が発生したことを割り込み原因として割り込み要求したか否かを、他の割り込み原因（受信データの受信または送信データの送信完了）に優先して判断する。ステータスレジスタＡ７０５のビット０〜ビット３のうちいずれか１つまたは複数のビットが「１」であると判断すると、ＣＰＵ５６は、割り込み原因がシリアル通信回路５０５で通信エラーが発生したことであると特定する。
【０４９８】
割り込み原因がシリアル通信回路５０５で通信エラーが発生したことであると特定すると、ＣＰＵ５６は、図７６（ａ）に示す通信エラー割込処理を他の割込処理（図７６（ｂ）および図７６（ｃ）に示す割込処理）に優先して実行する。この場合、ＣＰＵ５６は、シリアル通信回路５０５で通信エラーが発生していることを示す通信エラーフラグをセットする（ステップＳ４１）。
【０４９９】
なお、通信エラーを検出すると、ＣＰＵ５６は、演出制御手段に、シリアル通信回路５０５で通信エラーが発生したことを通知するために、通信エラー発生表示指定の演出制御コマンド（通信エラー表示コマンド）を送信する処理を行う。音／ランプ制御用ＣＰＵは、通信エラー表示コマンドを受信すると、音、表示、発光体などを用いた演出を行い、通信エラーが発生している旨の報知を行う。
【０５００】
なお、ＣＰＵ５６は、図７６（ａ）の通信エラー割込処理において、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止するように構成されていてもよい。この場合、ＣＰＵ５６は、例えば、シリアル通信回路５０５の送信部の機能を停止させることによって、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０へのデータ送信を禁止するように制御する。また、ＣＰＵ５６は、図７６（ａ）の通信エラー割込処理において、通信エラー発生表示指定の演出制御コマンド（通信エラー表示コマンド）を送信する処理を行うように構成されていてもよい。
【０５０１】
割り込み原因がシリアル通信回路５０５で通信エラーが発生したことでなかった場合、ＣＰＵ５６は、ステータスレジスタＡのビット５を確認する。すなわち、ＣＰＵ５６は、シリアル通信回路５０５が受信データを受信したことが割込原因であるか否かを判断する。ステータスレジスタＡのビット５が「１」であると判断すると、ＣＰＵ５６は、割り込み原因がシリアル通信回路５０５が受信データを受信したことであると特定する。
【０５０２】
割り込み原因がシリアル通信回路５０５が受信データを受信したことであると特定すると、ＣＰＵ５６は、図７６（ｂ）に示す受信時割込処理を実行する。この場合、ＣＰＵ５６は、シリアル通信回路５０５が受信データを受信していることを示す受信時割込フラグをセットする（ステップＳ４２）。
【０５０３】
なお、ステップＳ４２において、ＣＰＵ５６は、受信時割込フラグをセットするとともに、シリアル通信回路５０５の受信データレジスタ７１１からデータを読み込んでもよい。この場合、例えば、ＣＰＵ５６は、読み込んだ受信データが賞球ＡＣＫコマンドであるか否かを判断する。また、賞球ＡＣＫコマンドであると判断すると、ＣＰＵ５６は、賞球ＡＣＫコマンドを受信したことを示す賞球ＡＣＫ受信フラグをセットする。なお、払出制御用マイクロコンピュータ３７０のＣＰＵも、図７６（ｂ）の受信時割込処理と同様の処理を実行し、その場合、受信時割込処理を実行するときに、シリアル通信回路３７５の受信データレジスタからデータを読み込んでもよい。そして、この場合は、読み込んだ受信データが賞球コマンドであるか否かを判断し、賞球コマンドであると判断すると、賞球コマンドを受信したことを示すフラグをセットする。
【０５０４】
また、割り込み原因がシリアル通信回路５０５で通信エラーが発生したことでなく、受信割込でもなかった場合、ＣＰＵ５６は、ステータスレジスタＡのビット６を確認する。すなわち、ＣＰＵ５６は、シリアル通信回路５０５が送信データの送信を完了したことが割込原因であるか否かを判断する。ステータスレジスタＡのビット６が「１」であると判断すると、ＣＰＵ５６は、割り込み原因がシリアル通信回路５０５が送信データの送信を完了したことであると特定する。
【０５０５】
割り込み原因がシリアル通信回路５０５が送信データの送信を完了したことであると特定すると、ＣＰＵ５６は、図７６（ｃ）に示す送信完了割込処理を実行する。この場合、ＣＰＵ５６は、シリアル通信回路５０５が送信データの送信を完了していることを示す送信時割込フラグをセットする（ステップＳ４３）。
【０５０６】
上記に示す処理を実行することによって、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、シリアル通信回路５０５からの割り込み要求があった場合に、割込原因を特定し、特定した割込原因に応じたフラグ（通信エラーフラグ、受信時割込フラグ又は送信時割込フラグ）をセットする。特定した割込原因に応じてフラグがセットされることによって、ＣＰＵ５６によって、シリアル通信回路５０５で通信エラーが発生した旨や、データを受信した旨、又はデータ送信を完了した旨が認識される。
【０５０７】
なお、払出制御用マイクロコンピュータ３７０が搭載するＣＰＵも、シリアル通信回路３７５からの割り込み要求があった場合に、図７６に示す処理と同様の処理に従って、割り込み原因を特定し、特定した割込原因に応じたフラグをセットする。
【０５０８】
例えば、遊技制御用マイクロコンピュータ５６０から払出制御用マイクロコンピュータ３７０に、一方向通信で賞球個数コマンドを送信する場合を考える。この場合、遊技制御用マイクロコンピュータ５６０が払出制御用マイクロコンピュータ３７０に、例えば２ｍｓ毎にタイマ割込が発生する構成となっていて、賞球個数コマンドを送信した後、次の割込処理を行って２ｍｓ後に再び賞球個数コマンドを送信したとする。また、払出制御用マイクロコンピュータ３７０は、例えば４ｍｓ毎にタイマ割込が発生する構成となっていて、４ｍｓ毎に賞球個数コマンドを受信できるものであるとする。すると、遊技制御用マイクロコンピュータ５６０が最初に送信した賞球個数コマンドを読み込んでいないのに、払出制御用マイクロコンピュータ３７０が次の賞球個数コマンドを受信してしまう事態が発生してしまうが、払出制御用マイクロコンピュータ３７０のＣＰＵがシリアル通信回路３７５からの受信時割り込み要求に応じて賞球個数コマンドを受信するように設定すれば、遊技制御用マイクロコンピュータ５６０からの賞球個数コマンドを確実に受信することができる。
【０５０９】
賞球個数加算処理では、図７７に示す賞球個数テーブルが使用される。賞球個数テーブルは、ＲＯＭ５４に設定されている。賞球個数テーブルの先頭アドレスには処理数（この例では「４」）が設定され、その後に、スイッチオンバッファ（２バイトのスイッチオンバッファのうちの入力ポート０に対応する方）の下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート０における各スイッチの検出信号が入力されるビットに対応した値である。また、スイッチオンバッファの上位アドレスは固定的な値（例えば７Ｆ（Ｈ））である。また、賞球個数テーブルにおいて、４つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。なお、この実施の形態では、ＲＯＭ５４およびＲＡＭ５５のアドレスは１６ビットで指定される。
【０５１０】
図７８は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、ＣＰＵ５６は、賞球個数テーブルの先頭アドレスをポインタにセットする（ステップＳ１２１１）。そして、ポインタが指すアドレスのデータ（この場合には処理数）をロードする（ステップＳ１２１２）。次に、スイッチオンバッファの上位アドレス（８ビット）を２バイトのチェックポインタの上位１バイトにセットする（ステップＳ１２１３）。
【０５１１】
そして、ポインタの値を１増やし（ステップＳ１２１４）、ポインタが指す賞球個数テーブルのデータ（この場合にはスイッチオンバッファの下位アドレス）をチェックポインタの下位１バイトにセットした後（ステップＳ１２１５）、ポインタの値を１増やす（ステップＳ１２１６）。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし（ステップＳ１２１７）、ロードした内容と、ポインタが指す賞球個数テーブルのデータ（この場合にはスイッチ入力ビット判定値）との論理積をとる（ステップＳ１２１８）。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の７ビットが０になる。そして、ポインタの値を１増やす（ステップＳ１２１９）。
【０５１２】
ステップＳ１２１８における演算結果が０でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば、ポインタが指す賞球個数テーブルのデータ（この場合には賞球個数）を賞球加算値に設定し（ステップＳ１２２０，Ｓ１２２１）、賞球加算値を、ＲＡＭ５５に形成されている１６ビットの総賞球数格納バッファの内容に加算する（ステップＳ１２２２）。加算の結果、桁上げが発生した場合には、総賞球数格納バッファの内容を６５５３５（＝ＦＦＦＦ（Ｈ））に設定する（ステップＳ１２２３，１２２４）。
【０５１３】
ステップＳ１２２５では処理数を１減らし、処理数が０であれば処理を終了し、処理数が０でなければステップＳ１２１４に戻る（ステップＳ１２２６）。また、ステップＳ１２２０において、ステップＳ１２１８における演算結果が０であること、すなわち、検査対象のスイッチの検出信号がオフ状態であることを確認したら、ステップＳ１２２５に移行する。
【０５１４】
図７９は、ステップＳ１２０２の賞球制御処理を示すフローチャートである。賞球制御処理では、ＣＰＵ５６は、ステップＳ１２３０の賞球異常検出処理を実行した後、賞球プロセスコードの値に応じて、ステップＳ１２３１〜Ｓ１２３５のいずれかの処理を実行する。
【０５１５】
図８０は、賞球プロセスコードの値が０の場合に実行される賞球送信待ち処理（ステップＳ１２３１）を示すフローチャートである。ＣＰＵ５６は、賞球送信待ち処理において、通信エラーフラグがセットされているか否か確認する（ステップＳ１２４１）。すなわち、ＣＰＵ５６は、まず、シリアル通信回路５０５で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、ＣＰＵ５６は、そのまま処理を終了する。すなわち、シリアル通信回路５０５で通信エラーが発生している状態であるので、ＣＰＵ５６は、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止するように制御する。
【０５１６】
通信エラーフラグがセットされていなければ、ＣＰＵ５６は、総賞球数格納バッファの内容を確認する（ステップＳ１２４２）。その値が０であれば処理を終了し、０でなければ、賞球プロセスコードの値を１にした後（ステップＳ１２４３）、処理を終了する。
【０５１７】
図８１は、賞球プロセスコードの値が１の場合に実行される賞球個数コマンド送信処理（ステップＳ１２３２）を示すフローチャートである。ＣＰＵ５６は、賞球送信処理において、通信エラーフラグがセットされているか否か確認する（ステップＳ１２５１）。すなわち、ＣＰＵ５６は、まず、シリアル通信回路５０５で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、ＣＰＵ５６は、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止し、そのまま処理を終了する。すなわち、シリアル通信回路５０５で通信エラーが発生している状態であるので、ＣＰＵ５６は、払出制御用マイクロコンピュータ３７０との通信を禁止するように制御する。この場合、ＣＰＵ５６は、例えば、シリアル通信回路５０５の送信部の機能を停止させることによって、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０へのデータ送信を禁止するように制御する。例えば、ＣＰＵ５６は、シリアル通信回路５０５の制御レジスタＢ７０８のビット３を「０」に設定し、送信回路を使用しないように設定することによって、払出制御用マイクロコンピュータ３７０へのデータ送信を禁止する。なお、例えば、ＣＰＵ５６は、図７６（ａ）に示す通信エラー割込処理において、制御レジスタＢ７０８のビット３を「０」に設定し、払出制御用マイクロコンピュータ３７０へのデータ送信を禁止してもよい。払出制御用マイクロコンピュータ３７０へのデータ送信が禁止された後は、エラー状態を解除するためのエラー解除スイッチ（図示せず）が操作されたことにもとづいて通信エラーフラグがクリアされてエラー状態から復旧させたり、またはＣＰＵ５６がシリアル通信回路５０５のデータレジスタの値を読み込むと通信エラーフラグがクリアされてエラー状態から自動復旧させるようにしてもよい。
【０５１８】
通信エラーフラグがセットされていなければ、ＣＰＵ５６は、総賞球数格納バッファの内容が賞球コマンド最大値（この例では「１５」）よりも小さいか否か確認する（ステップＳ１２５２）。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する（ステップＳ１２５３）。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する（ステップＳ１２５４）。
【０５１９】
その後、ＣＰＵ５６は、賞球個数バッファの内容を賞球個数コマンドとしてシリアル通信回路５０５の送信データレジスタ７１０に書き込み（ステップＳ１２５５）、賞球プロセスコードの値を２にした後（ステップＳ１２５６）、処理を終了する。この実施の形態では、賞球コマンド最大値は「１５」である。従って、最大で「１５」の払出数を指定する賞球個数コマンドが送信データレジスタ７１０に書き込まれる。その後、送信データレジスタ７１０に書き込まれた賞球個数コマンドは、送信用シフトレジスタ７１２に転送され、送信用シフトレジスタ７１２から払出制御用マイクロコンピュータに送信される。
【０５２０】
図８２は、賞球プロセスコードの値が２の場合に実行される賞球送信完了待ち処理（ステップＳ１２３３）を示すフローチャートである。ＣＰＵ５６は、賞球送信完了待ち処理において、通信エラーフラグがセットされているか否か確認する（ステップＳ１２６１）。すなわち、ＣＰＵ５６は、まず、シリアル通信回路５０５で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、ＣＰＵ５６は、そのまま処理を終了する。すなわち、シリアル通信回路５０５で通信エラーが発生している状態であるので、ＣＰＵ５６は、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止するように制御する。
【０５２１】
通信エラーフラグがセットされていなければ、ＣＰＵ５６は、送信時割込フラグがセットされているか否かを確認する（ステップＳ１２６２）。送信時割込フラグがセットされていれば、ＣＰＵ５６は、ステップＳ１２６３の処理に移行する。また、送信時割込フラグがセットされていなければ、ＣＰＵ５６は、そのまま処理を終了する。すなわち、ＣＰＵ５６は、賞球個数コマンド送信処理において送信データレジスタ７１０に書き込んだ賞球個数コマンドの送信をシリアル通信回路５０５が既に完了したか否かを判断し、賞球個数コマンドの送信を完了したことを確認すると、ステップＳ１２６３以降の処理を実行する。
【０５２２】
送信時割込フラグがセットされていれば、ＣＰＵ５６は、送信時割込フラグをリセットする（ステップＳ１２６３）。そして、ＣＰＵ５６は、総賞球数格納バッファの内容から、賞球個数バッファの内容（払出制御手段に指令した賞球払出個数）を減算する（ステップＳ１２６４）。なお、遊技制御用マイクロコンピュータ５６０は、ステップＳ１２５５において賞球個数コマンドを送信データレジスタ７１０に書き込む前に、総賞球数格納バッファの内容から賞球払出個数を減算してもよい。
【０５２３】
また、ＣＰＵ５６は、賞球タイマにＡＣＫ受信完了判定時間値をセットする（ステップＳ１２６６）。そして、賞球プロセスコードの値を３にして（ステップＳ１２６７）、処理を終了する。なお、ＡＣＫ受信完了判定時間値は、払出制御手段から賞球ＡＣＫコマンドを受信したか否かを監視するための時間値である。
【０５２４】
図８３は、賞球プロセスコードの値が３の場合に実行される賞球ＡＣＫ待ち処理（ステップＳ１２３４）を示すフローチャートである。ＣＰＵ５６は、賞球ＡＣＫ待ち処理において、通信エラーフラグがセットされているか否か確認する（ステップＳ１２７１）。すなわち、ＣＰＵ５６は、まず、シリアル通信回路５０５で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、ＣＰＵ５６は、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止し、そのまま処理を終了する。すなわち、シリアル通信回路５０５で通信エラーが発生している状態であるので、ＣＰＵ５６は、払出制御用マイクロコンピュータ３７０との通信を禁止するように制御する。この場合、ＣＰＵ５６は、例えば、シリアル通信回路５０５の受信部の機能を停止させることによって、払出制御基板３７からのデータ受信を禁止するように制御する。例えば、ＣＰＵ５６は、シリアル通信回路５０５の制御レジスタＢ７０８のビット２を「０」に設定し、受信回路を使用しないように設定することによって、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０からのデータ受信を禁止する。なお、例えば、ＣＰＵ５６は、図７６（ａ）に示す通信エラー割込処理において、制御レジスタＢ７０８のビット２を「０」に設定し、払出制御用マイクロコンピュータ３７０からのデータ受信を禁止してもよい。払出制御用マイクロコンピュータ３７０へのデータ送信が禁止された後は、エラー状態を解除するためのエラー解除スイッチ（図示せず）が操作されたことにもとづいて通信エラーフラグがクリアされてエラー状態から復旧させたり、またはＣＰＵ５６がシリアル通信回路５０５のデータレジスタの値を読み込むと通信エラーフラグがクリアされてエラー状態から自動復旧させるようにしてもよい。
【０５２５】
通信エラーフラグがセットされていなければ、ＣＰＵ５６は、受信時割込フラグがセットされているか否かを確認する（ステップＳ１２７２）。すなわち、ＣＰＵ５６は、シリアル通信回路５０５が受信データを受信し、受信データレジスタ７１１にデータが格納されている状態になっているか否かを確認する。受信時割込フラグがセットされていれば、ＣＰＵ５６は、ステップＳ１２７３の処理に移行する。また、受信時割込フラグがセットされていなければ、ＣＰＵ５６は、ステップＳ１２７５の処理に移行する。
【０５２６】
受信時割込フラグがセットされていれば、ＣＰＵ５６は、シリアル通信回路５０５の受信データレジスタ７１１からデータを読み込む（ステップＳ１２７３）。また、ＣＰＵ５６は、読み込んだデータが賞球ＡＣＫコマンドであるか否か（コマンド「Ｄ２」であるか否か）を判断する（ステップＳ１２７４）。
【０５２７】
なお、図７６（ｂ）に示す受信時割込処理において、受信時割込フラグをセットするとともに既に受信データを受信データレジスタ７１１から読み込んでいる場合、ステップＳ１２７３，Ｓ１２７４において、ＣＰＵ５６は、賞球ＡＣＫ受信フラグがセットされているか否かを判断してもよい。そして、賞球ＡＣＫ受信フラグがセットされている場合、ＣＰＵ５６は、賞球ＡＣＫコマンドを受信したと判断するようにしてもよい。
【０５２８】
ステップＳ１２７２で受信時割込フラグがセットされていなかった場合、またはステップＳ１２７４で読み込んだデータが賞球ＡＣＫコマンドでなかった場合、ＣＰＵ５６は、まだ払出制御用マイクロコンピュータ３７０から賞球ＡＣＫコマンドを受信していない状態であると判断する。この場合、ＣＰＵ５６は、賞球タイマの値を１減らし（ステップＳ１２７５）、その値が０でなければ処理を終了する（ステップＳ１２７６）。賞球タイマの値が０になったら、払出制御用マイクロコンピュータ３７０が賞球ＡＣＫコマンドを送信しなかったと判断して、再送信フラグをセットし（ステップＳ１２７７）、賞球プロセスコードの値を４にして（ステップＳ１２７８）、処理を終了する。なお、賞球プロセスコードの値が４になると、賞球再送信処理（ステップＳ１２３５）が実行される状態になる。また、再送信フラグがセットされると、賞球異常検出処理（ステップＳ１２３０）において、払出異常報知開始コマンドが音／ランプ制御基板８０ｂに対して送信される。
【０５２９】
ステップＳ１２７４において、受信データレジスタ７１１から読み込んだデータが賞球ＡＣＫコマンドであることを確認すると、ＣＰＵ５６は、受信時割込フラグをリセットして（ステップＳ１２７９）、賞球プロセスコードの値を０にする（ステップＳ１２８０）。また、通信が正常に完了したので、再送信フラグがセットされている場合には、再送信フラグをリセットする（ステップＳ１２８１，Ｓ１２８２）。
【０５３０】
以上の処理によって、遊技制御手段は、払出条件の成立にもとづいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。また、遊技制御手段は、総賞球数格納バッファに記憶されている賞球数にもとづいて払出制御手段に対して所定数の賞球の払出数を指定する払出指令コマンド（賞球個数コマンド）を送信する。ここで、所定数は、総賞球数格納バッファに記憶されている賞球数が１５個以上であれば１５であり、１５個未満であれば、総賞球数格納バッファに記憶されている賞球数である。そして、賞球払出を指定する賞球個数コマンドを送信したときに、総賞球数格納バッファに記憶されている賞球数から賞球個数コマンドで指定した払出数を減算する減算処理を行う。なお、払出制御用マイクロコンピュータ３７０は、賞球個数コマンドを受信すると直ちに賞球ＡＣＫコマンドを送信するので、球払出装置９７からの賞球払出に関わりなく賞球個数コマンドに関する通信を完了でき、遊技制御用マイクロコンピュータ５６０は、賞球個数コマンドで指定した払出数の賞球払出が完了する前に、連続的に次の賞球個数コマンドを送信することができる。
【０５３１】
なお、この実施の形態では、払出条件の成立にもとづいて払い出される景品遊技媒体の総数を特定可能に記憶するために、総数そのものを記憶する総賞球数格納バッファを用いる場合を例示したが、各入賞領域への入賞数を記憶したり、賞球数が同じである入賞領域毎の入賞数（例えば４個の賞球数に対応した入賞口１４、７個の賞球数に対応した入賞口２９，３０、１５個の賞球数に対応した大入賞口への入賞数であって、未だ賞球払出が終了していない入賞数）を記憶するバッファなどを用いてもよい。その場合には、入賞領域毎の賞球数に応じた数が設定された賞球個数コマンドが遊技制御用マイクロコンピュータ５６０から払出制御用マイクロコンピュータ３７０に送信される。このような構成において、払出数の多い払出指令コマンドから送信していくように構成されていてもよい。例えば、１５個の賞球数に対応した大入賞口への入賞が４つ、７個の賞球数に対応した入賞口２９，３０への入賞が１つ発生した状態のとき、最初に１５個の賞球の払出数を指定する払出指令コマンドを４回送信し、その後に７個の賞球の払出数を指定する払出指令コマンドを送信する。さらには、賞球個数を示す賞球個数コマンドを送信するのではなく、入賞があったことまたは入賞数を示す払出指令コマンドを遊技制御用マイクロコンピュータ５６０から払出制御用マイクロコンピュータ３７０に送信するようにしてもよい。
【０５３２】
図８４は、賞球プロセスコードの値が４の場合に実行される賞球再送信処理（ステップＳ１２３５）を示すフローチャートである。ＣＰＵ５６は、賞球再送信処理において、通信エラーフラグがセットされているか否か確認する（ステップＳ１２９１）。すなわち、ＣＰＵ５６は、まず、シリアル通信回路５０５で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、ＣＰＵ５６は、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０との通信を禁止し、そのまま処理を終了する。すなわち、シリアル通信回路５０５で通信エラーが発生している状態であるので、ＣＰＵ５６は、払出制御用マイクロコンピュータ３７０との通信を禁止するように制御する。この場合、ＣＰＵ５６は、例えば、シリアル通信回路５０５の送信部の機能を停止させることによって、払出制御用マイクロコンピュータ３７０へのデータ送信を禁止するように制御する。例えば、ＣＰＵ５６は、シリアル通信回路５０５の制御レジスタＢ７０８のビット３を「０」に設定し、送信回路を使用しないように設定することによって、払出制御用マイクロコンピュータ３７０へのデータ送信を禁止する。
【０５３３】
通信エラーフラグがセットされていなければ、ＣＰＵ５６は、賞球個数バッファの内容を賞球個数コマンドとしてシリアル通信回路５０５の送信データレジスタ７１０に再度書き込む（ステップＳ１２９２）。また、ＣＰＵ５６は、賞球タイマにＡＣＫ受信完了判定時間値を再びセットする（ステップＳ１２９３）。そして、賞球プロセスコードの値を３にして（ステップＳ１２９４）、処理を終了する。
【０５３４】
賞球プロセスコードの値が３に設定されることから、再度、賞球ＡＣＫ待ち処理が実行される。再度実行される賞球ＡＣＫ待ち処理において、再び賞球ＡＣＫコマンドを受信したことを検出できなかった場合には、具体的には、ステップＳ１２７６において賞球タイマがタイムアウトした場合には、再び賞球再送処理が実行されることになる。このように、遊技制御用マイクロコンピュータ５６０は、払出数データを受信したことを示す受信確認信号としての賞球ＡＣＫコマンドが受信できない場合には、賞球ＡＣＫコマンドが受信できるまで、賞球個数コマンドの再送を繰り返す。
【０５３５】
図８５は、ステップＳ２３０の賞球異常検出処理を示すフローチャートである。賞球異常検出処理において、ＣＰＵ５６は、再送信フラグがリセット状態からセット状態になったことを検出すると、払出異常報知開始コマンドを演出制御コマンドとして音／ランプ制御基板８０ｂに対して（具体的には音／ランプ制御用マイクロコンピュータ１００ｂに対して）送信する制御を行う（ステップＳ１３０１，Ｓ１３０２）。なお、ＣＰＵ５６は、賞球再送信処理を実行してから払出異常報知開始コマンドを送信するのでなく、払出異常報知開始コマンドを音／ランプ制御基板８０ｂに送信してから賞球再送信処理を実行するようにしてもよい。
【０５３６】
なお、音／ランプ制御用マイクロコンピュータ１００ｂに演出制御コマンドを送信する際に、ＣＰＵ５６は、演出制御コマンドの種類に応じたコマンド送信テーブル（あらかじめＲＯＭ５４にコマンド毎に設定されている）のアドレスをポインタにセットする。そして、演出制御コマンドに応じたコマンド送信テーブルのアドレスをポインタにセットして、飾り図柄コマンド制御処理（ステップＳ２９）において演出制御コマンドを送信する。
【０５３７】
また、ＣＰＵ５６は、再送信フラグがセット状態からリセット状態になったことを検出する（従って、セット状態が継続している場合には最初にリセット状態になったときにのみ検出される。）と、払出異常報知終了コマンドを音／ランプ制御基板８０ｂに対して（具体的には音／ランプ制御用マイクロコンピュータ１００ｂに対して）送信する制御を行う（ステップＳ１３０３，Ｓ１３０４）。
【０５３８】
なお、この実施の形態では、ＣＰＵ５６は、再送信フラグがリセットされると、ステップＳ１３０４で払出異常報知終了コマンドを送信するが、送信しないように構成してもよい。その場合には、遊技制御用マイクロコンピュータ５６０の負担が軽減される。また、その場合には、音／ランプ制御用マイクロコンピュータ１００ｂが、例えば所定時間後に、独自に払出異常報知を終了するように構成される。
【０５３９】
次に、払出制御用マイクロコンピュータ３７０が各種コマンドを送受信する動作を説明する。図７３に示すように、払出制御用マイクロコンピュータ３７０は、遊技制御用マイクロコンピュータ５６０と各種コマンドをシリアル通信するシリアル通信回路３７５を内蔵している。払出制御用マイクロコンピュータ３７０は、シリアル通信回路３７５を用いて、遊技制御用マイクロコンピュータ５６０から図７２に示す賞球個数コマンドを受信する。また、賞球個数コマンドを受信すると、払出制御用マイクロコンピュータ３７０は、シリアル通信回路３７５を用いて、図７２に示す賞球ＡＣＫコマンド「Ｄ２」を受信確認信号として送信する。
【０５４０】
また、払出制御用マイクロコンピュータ３７０のＣＰＵは、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６と同様に、割り込み許可状態である間にシリアル通信回路３７５からの割り込み要求があると、シリアル通信回路３７５が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。この実施の形態では、払出制御用マイクロコンピュータ３７０のＣＰＵは、割り込み原因がシリアル通信回路３７５が受信データを受信したことであると特定すると、図７６（ｂ）と同様の処理に従って受信時割込処理を実行する。この場合、払出制御用マイクロコンピュータ３７０のＣＰＵは、シリアル通信回路３７５が受信データを受信していることを示す受信時割込フラグをセットする。
【０５４１】
図８６は、払出制御用マイクロコンピュータ３７０のＣＰＵが、主基板３１の遊技制御手段（遊技制御用マイクロコンピュータ５６０）と通信を行う主制御通信処理を示すフローチャートである。主制御通信処理において、払出制御用マイクロコンピュータ３７０のＣＰＵは、接続確認信号がオン状態であるか否かを確認する（ステップＳ５４１）。なお、接続確認信号がオン状態であるということは、電力供給がなされ遊技制御手段において遊技の進行を制御可能な状態であることを意味し、接続確認信号がオフ状態であるということは、電力供給停止時処理が開始され遊技制御手段において遊技の進行が不能な状態であることを意味する（接続確認信号は、電力供給停止時処理における出力ポートクリア処理でオフ状態にされる。）。
【０５４２】
払出制御用マイクロコンピュータ３７０のＣＰＵは、受信時割込フラグがセットされているか否かを確認する（ステップＳ５４２）。すなわち、払出制御用マイクロコンピュータ３７０のＣＰＵは、シリアル通信回路３７５が受信データを受信し、シリアル通信回路３７５の受信データレジスタにデータが格納されている状態になっているか否かを確認する。
【０５４３】
受信時割込フラグがセットされていれば、払出制御用マイクロコンピュータ３７０のＣＰＵは、シリアル通信回路３７５の受信データレジスタからデータを読み込む（ステップＳ５４３）。また、払出制御用マイクロコンピュータ３７０のＣＰＵは、読み込んだデータが賞球個数コマンドであるか否か（コマンド「０４」、「０７」または「０Ｆ」のいずれかであるか否か）を判断する（ステップＳ５４４）。
【０５４４】
シリアル通信回路３７５の受信データレジスタから読み込んだデータが賞球個数コマンドであることを確認すると、払出制御用マイクロコンピュータ３７０のＣＰＵは、受信時割込フラグをリセットして（ステップＳ５４５）、賞球個数コマンドが示す賞球数を賞球未払出個数カウンタに加算する（ステップＳ５４６）。そして、払出制御用マイクロコンピュータ３７０のＣＰＵは、賞球ＡＣＫコマンドをシリアル通信回路５０５の送信データレジスタ７１０に書き込み（ステップＳ５４７）、処理を終了する。その後、送信データレジスタに書き込まれた賞球ＡＣＫコマンドは、シリアル通信回路３７５の送信用シフトレジスタに転送され、シリアル通信回路３７５の送信用シフトレジスタから遊技制御用マイクロコンピュータ５６０に送信される。
【０５４５】
なお、払出制御用マイクロコンピュータ３７０のＣＰＵは、球払出装置９７を駆動制御して賞球未払出個数カウンタに記憶されている未払出個数の賞球の払い出しを行う払出制御処理を実行する。具体的には、賞球未払出個数カウンタの値が０でないことを確認すると、払出モータを駆動して賞球の払い出しを行う。そして、払い出された賞球の個数は払出カウントスイッチでカウントする。全ての未払出の賞球が払い出されるまで払出モータを駆動して払出処理が実行される。
【０５４６】
次に、音／ランプ制御用マイクロコンピュータ１００ｂの動作を説明する。図８７は、音／ランプ制御用マイクロコンピュータ１００ｂが実行するメイン処理を示すフローチャートである。遊技機に対する電力供給が開始され、リセット信号がハイレベルになると、音／ランプ制御用マイクロコンピュータ１００ｂは、メイン処理を開始する。メイン処理では、音／ランプ制御用マイクロコンピュータ１００ｂは、まず、ＲＡＭ領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるためのタイマの初期設定等を行うための初期化処理を行う（ステップＳ７８１）。その後、音／ランプ制御用マイクロコンピュータ１００ｂは、タイマ割込フラグの監視（ステップＳ７８２）の確認を行うループ処理に移行する。タイマ割込が発生すると、音／ランプ制御用マイクロコンピュータ１００ｂは、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、音／ランプ制御用マイクロコンピュータ１００ｂは、そのフラグをクリアし（ステップＳ７８３）、以下の音／ランプ制御処理を実行する。
【０５４７】
タイマ割込は例えば２ｍｓ毎にかかる。すなわち、音／ランプ制御処理は、例えば２ｍｓ毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な音／ランプ制御処理はメイン処理において実行されるが、タイマ割込処理で音／ランプ制御処理を実行してもよい。
【０５４８】
音／ランプ制御処理において、音／ランプ制御用マイクロコンピュータ１００ｂは、まず、受信した演出制御コマンドを解析する（コマンド解析処理：ステップＳ７８４）。次いで、音／ランプ制御用マイクロコンピュータ１００ｂは、演出内容決定処理を行う（ステップＳ７８５）。演出内容決定処理では、音／ランプ制御用マイクロコンピュータ１００ｂは、演出制御コマンド（変動パターンコマンドや表示結果指定コマンド）にもとづいて、可変表示装置９を用いて行う演出内容（予告演出を行うか否かや、予告演出の種類）を決定する。また、音／ランプ制御用マイクロコンピュータ１００ｂは、決定した演出内容を示す演出内容指定コマンドを生成する。
【０５４９】
次いで、音／ランプ制御用マイクロコンピュータ１００ｂは、音出力処理を行う（ステップＳ７８６）。この場合、音／ランプ制御用マイクロコンピュータ１００ｂは、音声合成用ＩＣ１７３に対して音番号データ（例えば、変動パターンコマンドに示される変動パターンに対応する音番号データ）を出力する。そして、音声合成用ＩＣ１７３は、音番号データに応じた音声や効果音を発生し増幅回路１７５に出力する。
【０５５０】
次いで、音／ランプ制御用マイクロコンピュータ１００ｂは、ランプ表示処理を行う（ステップＳ７８７）。この場合、音／ランプ制御用マイクロコンピュータ１００ｂは、プロセスデータ中に設定されているランプ制御実行データにもとづいてランプ制御を行う。
【０５５１】
なお、プロセスデータは、プロセスタイマ設定値と演出制御実行データの組み合わせが複数集まったデータで構成されている。演出制御実行データは、ランプ制御実行データと音番号データを含む。ランプ制御実行データは、図柄の変動期間中におけるランプの表示状態を示すデータが設定されている。また、音番号データは、図柄の変動期間中における変動音や効果音などの出力タイミングを示すデータが設定されている。そして、図柄の変動期間中において、表示状態を切り替えるタイミング（例えば可変表示装置９において新たなキャラクタが登場するタイミング、ランプを点灯状態から消灯状態に切り替えるタイミング）が到来すると、演出制御手段は、プロセスデータにおける次の演出制御実行データに従って、ランプの表示状態やスピーカ２７からの音声出力を制御する。プロセスタイマ設定値には、切替のタイミングに応じた時間が設定されている。
【０５５２】
プロセスデータは、音／ランプ制御基板８０ｂにおけるＲＯＭに格納されている。また、プロセスデータは、図柄の変動パターンのそれぞれに応じて用意されている。なお、このように、音／ランプ制御手段が、ＲＯＭに記憶されているプログラムおよびプロセスデータにもとづいて演出装置を制御し、複数の演出装置（この実施の形態ではスピーカ２７やランプ）の制御に関わるプログラムが、音／ランプ制御基板８０ｂに搭載されているＲＯＭに格納されている。そして、それらのプログラムを格納するＲＯＭを１つのＲＯＭとして構成することができる。
【０５５３】
また、音／ランプ制御用マイクロコンピュータ１００ｂは、乱数カウンタを更新する処理を実行する（ステップＳ７８８）。また、音／ランプ制御用マイクロコンピュータ１００ｂは、主基板３１から受信した演出制御コマンドや、ステップＳ７８５の演出内容決定処理で生成した演出内容指定コマンドを、図柄制御基板８０ａに送出する処理を行う（コマンド制御処理：ステップＳ７８９）。その後、ステップＳ７８２のタイマ割込フラグの確認を行う処理に戻る。
【０５５４】
主基板３１からの演出制御用のＩＮＴ信号は音／ランプ制御用マイクロコンピュータ１００ｂの割込端子に入力されている。例えば、主基板３１からのＩＮＴ信号がオン状態になると、音／ランプ制御用マイクロコンピュータ１００ｂにおいて割込がかかる。そして、音／ランプ制御用マイクロコンピュータ１００ｂは、割込処理において演出制御コマンドの受信処理を実行する。演出制御コマンドの受信処理において、音／ランプ制御用マイクロコンピュータ１００ｂは、受信した演出制御コマンドデータをコマンド受信バッファに格納する。
【０５５５】
なお、この実施の形態では、音／ランプ制御基板８０ｂにおけるＲＯＭに格納されるプロセスデータ（以下、音／ランプ制御側プロセスデータともいう）は、プロセスタイマ設定値と、音番号データとランプ制御実行データとを含む演出制御実行データの組合せが複数集まったデータで構成されている。また、図柄制御基板８０ａにおけるＲＯＭに格納されるプロセスデータ（以下、図柄制御側プロセスデータともいう）は、プロセスタイマ設定値と、表示制御実行データのみを含む演出制御実行データの組合せが複数集まったデータで構成されている。
【０５５６】
図８８は、音／ランプ制御処理で用いる各乱数を示す説明図である。各乱数は、以下のように使用される。
【０５５７】
（１）ランダム１：予告演出を実行するか否かを決定する（予告演出実行決定用）。この実施の形態では、可変表示装置９においてリーチ態様の飾り図柄の可変表示を行う際に、音／ランプ制御用マイクロコンピュータ１００ｂは、例えば、ランダム１があらかじめ決められている判定値と一致した場合には、予告演出を行うと決定する。なお、音／ランプ制御用マイクロコンピュータ１００ｂは、リーチ態様の可変表示を行うか否かに関わらず、ランダム１を用いて予告演出を行うか否かを決定してもよい。
（２）ランダム２：予告演出を行う場合に、可変表示装置９を用いて行う予告演出の種類を決定する（予告演出種類決定用）
【０５５８】
図８９は、図８７に示された演出内容決定処理（ステップＳ７８５）を示すフローチャートである。演出内容決定処理において、音／ランプ制御用マイクロコンピュータ１００ｂは、変動パターン受信フラグがセットされているか否か確認する（ステップＳ１８５１）。なお、変動パターン受信フラグは、音／ランプ制御メイン処理のコマンド解析処理（ステップＳ７８４）において、変動パターンコマンドを受信したと判定されたときにセットされる。
【０５５９】
変動パターン受信フラグがセットされていれば、音／ランプ制御用マイクロコンピュータ１００ｂは、変動パターン受信フラグをリセットし、受信した変動パターンコマンドにもとづいて飾り図柄の変動パターンを特定する。また、音／ランプ制御用マイクロコンピュータ１００ｂは、特定した変動パターンにもとづいて、可変表示装置９を用いて実行すべき可変表示がリーチを伴う変動であるか否かを判定する（ステップＳ１８５２）。例えば、音／ランプ制御用マイクロコンピュータ１００ｂは、受信した変動パターンコマンドに示される変動パターンがリーチを伴うパターンである場合（例えば、ＥＸＴデータ「０１Ｈ」〜「０６Ｈ」，「０８Ｈ」〜「０ＤＨ」である変動パターンである場合）、音／ランプ制御用マイクロコンピュータ１００ｂは、リーチを伴う変動であると判定する。なお、ステップＳ１８５１で変動パターン受信フラグがセットされていなかった場合には、音／ランプ制御用マイクロコンピュータ１００ｂは、そのまま処理を終了する。
【０５６０】
リーチを伴う変動であると判定した場合、音／ランプ制御用マイクロコンピュータ１００ｂは、予告演出実行決定用乱数（ランダム１）にもとづいて、予告演出を行うか否かを決定する（ステップＳ１８５３）。例えば、音／ランプ制御用マイクロコンピュータ１００ｂは、ランダム１が判定値と一致すると、可変表示装置９を用いた予告演出を行うと決定する。なお、ステップＳ１８５２でリーチを伴う変動でなかった場合には、音／ランプ制御用マイクロコンピュータ１００ｂは、そのまま処理を終了する。
【０５６１】
ステップＳ１８５４で予告演出を行わないと決定した場合、音／ランプ制御用マイクロコンピュータ１００ｂは、変動パターンコマンドを受信しているとともに表示結果指定コマンドを受信している場合には、変動パターンコマンドおよび表示結果指定コマンドを図柄制御用マイクロコンピュータ１００ａに転送し、図柄制御用マイクロコンピュータ１００ａは、可変表示装置９を用いた飾り図柄の可変表示および遊技演出を実行することになる。この場合、音／ランプ制御用マイクロコンピュータ１００ｂは、ステップＳ１８５４で予告演出を行わないと決定すると、予告演出を行わない旨を指定する通知コマンドを生成し、図柄制御用マイクロコンピュータ１００ａに送信する（ステップＳ１８５７）。
【０５６２】
予告演出を行うことに決定すると（ステップＳ１８５４）、音／ランプ制御用マイクロコンピュータ１００ｂは、予告演出種類決定用乱数（ランダム２）にもとづいて、可変表示装置９を用いて行わせる予告演出の種類を決定する（ステップＳ１８５５）。例えば、音／ランプ制御用マイクロコンピュータ１００ｂは、ランダム２にもとづいて、予告演出において、飾り図柄をどの程度の速度で変動させるかや、飾り図柄をいずれの回転方向に変動させるか、可変表示装置９にいずれのキャラクタを登場させるかを決定する。なお、ステップＳ１８５４で予告演出を実行しないと決定した場合には、音／ランプ制御用マイクロコンピュータ１００ｂは、ステップＳ１８５７の処理を実行した後、そのまま処理を終了する。
【０５６３】
なお、この実施の形態では、変動パターンコマンドにもとづいてリーチであるか否かを特定して演出内容を決定する場合を説明するが、音／ランプ制御用マイクロコンピュータ１００ｂは、表示結果指定コマンドにもとづいて非確変大当りまたは確変大当りであることを特定して、演出内容を決定してもよい。
【０５６４】
また、音／ランプ制御用マイクロコンピュータ１００ｂは、決定した演出内容（予告演出を行うか否かや、予告演出の種類）を示す演出内容指定コマンドを生成する。そして、音／ランプ制御用マイクロコンピュータ１００ｂは、生成した演出内容指定コマンドを、図柄制御基板８０ａに対して送信する処理を行う（ステップＳ１８５６）。なお、音／ランプ制御用マイクロコンピュータ１００ｂは、演出内容指定コマンドとともに、遊技制御用マイクロコンピュータ５６０から受信した表示結果指定コマンドおよび変動パターンコマンドを図柄制御基板８０ａに転送（送信）する。そして、図柄制御基板８０ａの図柄制御用マイクロコンピュータ１００ａは、音／ランプ制御用マイクロコンピュータ１００ｂから受信した演出内容指定コマンド、表示結果指定コマンドおよび変動パターンコマンドにもとづいて、飾り図柄の可変変動および遊技演出を行う。この場合、図柄制御用マイクロコンピュータ１００ａは、受信した演出内容指定コマンドにもとづいてＲＯＭから表示制御実行データを読み出し、読み出した表示制御実行データにもとづいて、ＶＤＰ１０９に可変表示装置９を用いた予告演出を行わせる。
【０５６５】
なお、ステップＳ１８５６において、音／ランプ制御用マイクロコンピュータ１００ｂは、演出内容指定コマンドを生成するのでなく、決定した演出内容を、変動パターンコマンドや表示結果指定コマンドに付加してもよい。例えば、音／ランプ制御用マイクロコンピュータ１００ｂは、コマンドのヘッダ部分に演出内容を示す値を付加することによって、演出内容を変動パターンコマンドや表示結果指定コマンドに付加する。この場合、音／ランプ制御用マイクロコンピュータ１００ｂは、変動パターンコマンドのみのヘッダ部分に演出内容を示す値を付加してもよい。そして、音／ランプ制御用マイクロコンピュータ１００ｂは、演出内容を付加した変動パターンコマンドを、図柄制御基板８０ａに対して送信する処理を行ってもよい。また、音／ランプ制御用マイクロコンピュータ１００ｂは、表示結果コマンドのみのヘッダ部分に演出内容を示す値を付加してもよい。そして、音／ランプ制御用マイクロコンピュータ１００ｂは、演出内容を付加した表示結果コマンドを、図柄制御基板８０ａに対して送信する処理を行ってもよい。なお、予告演出を行わない場合には、音／ランプ制御用マイクロコンピュータ１００ｂは、遊技制御用マイクロコンピュータ５６０から受信した変動パターンコマンドまたは表示結果コマンドをそのまま図柄制御用マイクロコンピュータ１００ａに転送することになる。
【０５６６】
また、この実施の形態では、大当りか否か、確変大当りか否か、変動パターン、および予告の有無を示す情報を変動パターンコマンドまたは表示結果コマンドにまとめて付加し、付加したコマンドを図柄制御基板８０ａに対して送信する処理を行ってもよい。この場合は、１つのコマンドで済むため、図柄制御基板８０ａに対するコマンド数を削減することができる。
【０５６７】
また、この実施の形態では、ステップＳ１８５６で送信テーブルのアドレスがセットされたことにもとづいて、音／ランプ制御メイン処理におけるコマンド制御処理（ステップＳ７９０参照）が実行されることによって、演出内容指定コマンドが図柄制御基板８０ａに送信される。
【０５６８】
また、ステップＳ１８５６で決定した演出内容を変動パターンコマンドや表示結果指定コマンドに付加する場合、音／ランプ制御用マイクロコンピュータ１００ｂは、決定した演出内容（例えば、背景色や登場するキャラクタ）を付加した変動パターンコマンドや表示結果指定コマンドを、図柄制御用マイクロコンピュータ１００ａに送信してもよい。そして、図柄制御用マイクロコンピュータ１００ａは、受信した変動パターンコマンドや表示結果指定コマンドにもとづいてＲＯＭから表示制御実行データを読み出し、読み出した表示制御実行データにもとづいて可変表示装置９を用いて演出を行ってもよい。
【０５６９】
また、表示制御実行データおよびランプ制御実行データの両方を含むプロセスデータが、音／ランプ制御基板８０ｂにおけるＲＯＭに格納されていてもよい。この場合、音／ランプ制御用マイクロコンピュータ１００ｂは、決定した演出内容に応じた表示制御実行データをＲＯＭから抽出し、生成した演出内容指定コマンドとともに、図柄制御用マイクロコンピュータ１００ａに送信してもよい。そして、図柄制御用マイクロコンピュータ１００ａは、受信した表示制御実行データにもとづいて、可変表示装置９を用いて演出を行ってもよい。
【０５７０】
また、表示制御実行データおよびランプ制御実行データの両方を含むプロセスデータが、音／ランプ制御基板８０ｂにおけるＲＯＭに格納する場合に、音／ランプ制御用マイクロコンピュータ１００ｂは、決定した演出内容に応じた表示制御実行データをＲＯＭから抽出して、図柄制御用マイクロコンピュータ１００ａに送信してもよい。そして、図柄制御用マイクロコンピュータ１００ａは、受信した表示制御実行データにもとづいて、可変表示装置９を用いて演出を行ってもよい。
【０５７１】
以上に説明したように、この実施の形態では、音／ランプ制御用マイクロコンピュータ１００ｂが、変動パターンコマンドにもとづいて、演出内容（予告演出を行うか否かや、予告演出の種類）を独自に決定する。また、音／ランプ制御用マイクロコンピュータ１００ｂによって決定された演出内容に従って、図柄制御用マイクロコンピュータ１００ａが可変表示装置９を用いて遊技演出を実行する。そのため、遊技制御用マイクロコンピュータ５６０が演出内容を決定しなくて済む。従って、遊技制御用マイクロコンピュータ５６０の処理負担を軽減することができる。
【０５７２】
なお、この実施の形態では、音／ランプ制御用マイクロコンピュータ１００ｂは、飾り図柄の変動時間を示す飾り図柄変動時間指定コマンドを生成して、図柄制御基板８０ａに送信するようにしてもよい。また、図柄制御基板８０ａの図柄制御用マイクロコンピュータ１００ａは、演出内容指定コマンドを受信すると、受信した演出内容指定コマンドにもとづいて、ＶＤＰ１０９に、可変表示装置９における飾り図柄の可変表示を実行させ、予告演出を行わせる。
【０５７３】
また、この実施の形態では、主基板３１からの演出制御コマンドを、まず音／ランプ制御基板８０ｂで受信し、さらに音／ランプ制御基板８０ｂから図柄制御基板８０ａに演出制御コマンドや演出内容指定コマンドが送出される場合を説明したが、主基板３１からの演出制御コマンドを、まず図柄制御基板８０ａで受信するようにしてもよい。
【０５７４】
また、図８９に示した例では、変動パターンコマンドを受信したときに、リーチを伴う変動であるかどうかを判定し、リーチを伴う変動である場合に、予告演出の実行の有無などを決定するとともに、演出内容コマンドを生成する処理などを行っていた。しかし、このような構成に限られるわけではなく、例えば、変動パターンコマンドを受信したときに、大当り用の変動パターンであるかどうかを判定し、大当り用の変動パターンである場合に、予告演出の実行の有無などを決定するとともに、演出内容コマンドを生成する処理などを行うようにしてもよい。このような構成によっても、遊技制御用マイクロコンピュータ５６０の制御負担を軽減することができる。
【０５７５】
次に、図柄制御用マイクロコンピュータ１００ａの動作について説明する。図９０は、図柄制御用マイクロコンピュータ１００ａが実行するメイン処理を示すフローチャートである。遊技機に対する電力供給が開始され、リセット信号がハイレベルになると、図柄制御用マイクロコンピュータ１００ａは、メイン処理を開始する。メイン処理では、図柄制御用マイクロコンピュータ１００ａは、まず、ＲＡＭ領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるためのタイマの初期設定等を行うための初期化処理を行う（ステップＳ７７１）。その後、図柄制御用マイクロコンピュータ１００ａは、タイマ割込フラグの監視（ステップＳ７７２）の確認を行うループ処理に移行する。タイマ割込が発生すると、図柄制御用マイクロコンピュータ１００ａは、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、図柄制御用マイクロコンピュータ１００ａは、そのフラグをクリアし（ステップＳ７７３）、以下の演出制御処理を実行する。
【０５７６】
タイマ割込は例えば２ｍｓ毎にかかる。すなわち、演出制御処理は、例えば２ｍｓ毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な演出制御処理はメイン処理において実行されるが、タイマ割込処理で演出制御処理を実行してもよい。
【０５７７】
演出制御処理において、図柄制御用マイクロコンピュータ１００ａは、まず、受信した演出制御コマンドを解析する（コマンド解析処理：ステップＳ７７４）。次いで、図柄制御用マイクロコンピュータ１００ａは、演出制御プロセス処理を行う（ステップＳ７７５）。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態（演出制御プロセスフラグ）に対応したプロセスを選択して可変表示装置９の表示制御を実行する。また、乱数カウンタを更新する処理を実行する（ステップＳ７７６）。その後、ステップＳ７７２のタイマ割込フラグの確認を行う処理に戻る。
【０５７８】
音／ランプ制御基板８０ｂからのＩＮＴ信号は図柄制御用マイクロコンピュータ１００ａの割込端子に入力されている。例えば、音／ランプ制御基板８０ｂからのＩＮＴ信号がオン状態になると、図柄制御用マイクロコンピュータ１００ａにおいて割込がかかる。そして、図柄制御用マイクロコンピュータ１００ａは、割込処理において演出制御コマンドや演出内容コマンドの受信処理を実行する。コマンドの受信処理において、図柄制御用マイクロコンピュータ１００ａは、受信したコマンドデータをコマンド受信バッファに格納する。
【０５７９】
図９１は、コマンド解析処理（ステップＳ７７４）の具体例を示すフローチャートである。音／ランプ制御基板８０ｂから受信された演出制御コマンドおよび演出内容コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、図柄制御用マイクロコンピュータ１００ａは、コマンド受信バッファに格納されているコマンドの内容を確認する。
【０５８０】
コマンド解析処理において、図柄制御用マイクロコンピュータ１００ａは、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する（ステップＳ７６１１）。格納されているか否かは、コマンド受信個数カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、図柄制御用マイクロコンピュータ１００ａは、コマンド受信バッファから受信コマンドを読み出す（ステップＳ７６１２）。なお、読み出したら読出ポインタの値を＋１しておく（ステップＳ７６１３）。
【０５８１】
受信した演出制御コマンド等が変動パターン指定の演出制御コマンドであれば（ステップＳ７６１４）、図柄制御用マイクロコンピュータ１００ａは、そのコマンドのＥＸＴデータを変動パターンデータ格納領域に格納する（ステップＳ７６１５）。この場合、図柄制御用マイクロコンピュータ１００ａは、変動パターンコマンドを受信したことを示す変動パターン受信フラグをセットする（ステップＳ７６１６）。そして、変動パターンコマンドにもとづいて遊技状態を判定する（ステップＳ７６１７）。具体的には、図６０に示したように、変動パターンは、通常遊技状態および高確率潜伏状態のときの変動パターンと、確変状態および時短状態のときの変動パターンとが区別されている。従って、図柄制御用マイクロコンピュータ１００ａは、変動パターンコマンドのＥＸＴデータによって、遊技状態が通常遊技状態／高確率潜伏状態であるか、または確変状態／時短状態であるかについて判断することができる。図柄制御用マイクロコンピュータ１００ａは、ステップＳ７６１７にて行った遊技状態の判定結果に応じて遊技演出の内容（態様）を変更する必要が生じたときは、遊技状態を示すデータを所定の記憶領域に記憶するとともに、遊技演出の内容を変更する（ステップＳ７６１８）。例えば、通常遊技状態／高確率潜伏状態のときの変動パターンから確変状態／時短状態のときの変動パターンに切り替わったときは、遊技演出を通常遊技演出から特別遊技演出に変更する。
【０５８２】
なお、ステップＳ７６１４〜Ｓ７６１８の処理は、音／ランプ制御用マイクロコンピュータ１００ｂが実行するコマンド解析処理においても実行される。
【０５８３】
ステップＳ７６１１にて受信していることが確認された演出制御コマンド等が表示結果指定の演出制御コマンドであれば（ステップＳ７６１９）、図柄制御用マイクロコンピュータ１００ａは、そのコマンドのＥＸＴデータを表示結果（特別図柄の表示結果）として表示結果格納領域に格納する（ステップＳ７６２０）。次いで、表示結果指定コマンドで指定された表示結果に応じた飾り図柄（左中右の図柄）の停止図柄を決定し、飾り図柄格納領域に格納する（ステップＳ７６２１）。なお、飾り図柄の停止図柄は、飾り図柄決定用乱数にもとづいて決定される。なお、変動パターンコマンドで指定される変動パターンがリーチを伴う変動パターンであるか否かを確認し、リーチを伴う変動パターンの場合には、飾り図柄の停止図柄としてリーチ図柄（例えば、左右の飾り図柄が同一図柄で、中の飾り図柄が異なる図柄）を決定する。
【０５８４】
図柄制御用マイクロコンピュータ１００ａは、ステップＳ７６１２で読み出した受信コマンドがその他の演出制御コマンドである場合には、受信コマンドに対応するコマンド受信フラグをセットし、必要であれば受信コマンドを保存する（ステップＳ７６２２）。
【０５８５】
例えば、受信コマンドが復旧コマンド（通常表示コマンド、特別表示コマンド、または高確率潜伏表示コマンド）であれば、復旧コマンドに応じた遊技状態を示すデータ（例えばフラグ）を記憶する。なお、このような処理は、音／ランプ制御用マイクロコンピュータ１００ｂが実行するコマンド解析処理においても実行される。
【０５８６】
図９２は、図９０に示されたメイン処理における演出制御プロセス処理（ステップＳ７７５）を示すフローチャートである。演出制御プロセス処理では、図柄制御用マイクロコンピュータ１００ａは、演出制御プロセスフラグの値に応じてステップＳ１８００〜Ｓ１８０６のうちのいずれかの処理を実行する。各処理において、以下のような処理が実行される。
【０５８７】
飾り図柄通常処理（ステップＳ１８００）：変動パターンコマンドを受信しているか否かを確認する。変動パターンコマンドを受信していれば、図柄制御用マイクロコンピュータ１００ａは、演出制御プロセスフラグの値をステップＳ１８０２（飾り図柄変動開始処理）に対応した値に変更する。
【０５８８】
飾り図柄変動開始処理（ステップＳ１８０２）：変動パターンに応じて予め定められているプロセスデータを選択し、プロセスタイマをスタートさせるとともに、可変表示装置９の表示制御を開始する。その後、演出制御プロセスフラグの値をステップＳ１８０３に応じた値に更新する。
【０５８９】
飾り図柄変動中処理（ステップＳ１８０３）：変動パターンを構成する各変動状態（変動速度等）の切替タイミングを制御するとともに、変動時間の終了を監視する。その後、演出制御プロセスフラグの値をステップＳ１８０４に応じた値に更新する。
【０５９０】
飾り図柄停止処理（ステップＳ１８０４）：変動時間が経過したら、図柄の変動を停止し停止図柄（確定図柄）を表示する制御を行う。その後、大当りとする場合には、演出制御プロセスフラグの値をステップＳ１８０５に応じた値に更新する。そうでない場合には、演出制御プロセスフラグの値をステップＳ１８００に応じた値に更新する。
【０５９１】
大当り表示処理（ステップＳ１８０５）：変動時間の終了後、大当り表示の制御を行う。その後、演出制御プロセスフラグの値をステップＳ１８０６に応じた値に更新する。
【０５９２】
大当たり遊技中処理（ステップＳ１８０６）：大当たり遊技中の制御を行う。例えば、大入賞口開放前表示や大入賞口開放時表示の演出制御コマンドを受信したら、ラウンド中やインターバル中の表示制御等を行う。また、大当り遊技を終了すると、大当り遊技を終了した旨を示す所定のエンディング表示を行う。その後、演出制御プロセスフラグの値をステップＳ１８００に応じた値に更新する。
【０５９３】
図９３は、演出制御プロセス処理における飾り図柄通常処理（ステップＳ１８００）を示すフローチャートである。飾り図柄通常処理において、図柄制御用マイクロコンピュータ１００ａは、変動パターン受信フラグがセットされているか否か確認する（ステップＳ１８１１）。変動パターン受信フラグは、変動パターンコマンドを受信したときにコマンド解析処理においてセットされる。
【０５９４】
変動パターン受信フラグがセットされていれば、図柄制御用マイクロコンピュータ１００ａは、変動パターン受信フラグをリセットし（ステップＳ１８１２）、既に決定されている飾り図柄の停止図柄および変動パターンコマンドの内容にもとづいて飾り図柄の変動パターンを決定する（ステップＳ１８１３）。そして、演出制御プロセスフラグの値を飾り図柄変動パターン決定処理に対応した値に変更する（ステップＳ１８１４）。
【０５９５】
図９４は、演出制御プロセス処理における飾り図柄変動開始処理（ステップＳ１８０２）を示すフローチャートである。飾り図柄変動開始処理において、図柄制御用マイクロコンピュータ１００ａは、まず、使用する飾り図柄の変動パターンに応じたプロセスデータを選択する（ステップＳ１８２１）。なお、このとき、音／ランプ制御用マイクロコンピュータ１００ｂからの演出内容コマンドにもとづいて、予告演出の実行の有無を確認し、予告演出の実行が指定されていたときは、予告演出を含む表示制御を実行するためのプロセスデータが選択される。そして、選択したプロセスデータ１におけるプロセスタイマ設定値をプロセスタイマに設定してプロセスタイマをスタートさせる（ステップＳ１８２２）。次いで、図柄制御用マイクロコンピュータ１００ａは、プロセスデータ１の内容（表示制御実行データ１）に従って可変表示装置９の制御を実行する（ステップＳ１８２３）。例えば、可変表示装置９において変動パターンに応じた画像を表示させるために、ＶＤＰ１０９に制御信号を出力する。
【０５９６】
その後、図柄制御用マイクロコンピュータ１００ａは、変動時間タイマ（飾り図柄の変動時間に応じたタイマ）をスタートし（ステップＳ１８２４）、演出制御プロセスフラグの値を飾り図柄変動中処理（ステップＳ１８０３）を示す値に更新する（ステップＳ１８２５）。
【０５９７】
図９５は、演出制御プロセス処理における飾り図柄変動中処理（ステップＳ１８０３）を示すフローチャートである。飾り図柄変動中処理において、図柄制御用マイクロコンピュータ１００ａは、プロセスタイマがタイムアウトしたか否か確認する（ステップＳ１８４１）。タイムアウトしたら、プロセスデータにおける演出制御実行データの切り替えを行う（ステップＳ１８４２）。すなわち、プロセスデータにおいて、次に設定されているプロセスタイマをスタートさせるとともに（ステップＳ１８４３）、次に設定されている表示制御実行データにもとづいてＬＣＤ制御を行う（ステップＳ１８４４）。
【０５９８】
そして、図柄制御用マイクロコンピュータ１００ａは、変動時間タイマがタイムアウトしていたら（ステップＳ１８４５）、演出制御プロセスフラグの値を飾り図柄停止処理に対応した値にする（ステップＳ１８４６）。
【０５９９】
以上に説明したように、この実施の形態では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路５０３の初期設定（乱数回路設定処理）を行うとともに、乱数回路設定処理において、遊技制御用マイクロコンピュータ５６０固有のＩＤナンバにもとづく値を乱数の初期値として設定する。そのため、乱数回路５０３が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、大当り状態などの特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。
【０６００】
また、この実施の形態では、遊技制御処理に用いる各乱数のうち、大当りの種類を決定するための判定用乱数（大当り種別決定用乱数）として、ソフトウェア乱数を用いる。そして、大当りとするか否かを決定するための大当り判定用乱数のみを乱数回路５０３を用いて発生させる。例えば、大当り判定用乱数に加えて、大当り種別決定用乱数も乱数回路５０３を用いて発生させるようにすると、乱数回路５０３を用いて複数種類の乱数を発生させることとなり、乱数回路５０３の構成が必要以上に複雑化してしまう。この実施の形態では、大当り判定用乱数のみを乱数回路５０３を用いて発生させるので、乱数回路５０３の回路構成が複雑化することを防止することができる。
【０６０１】
また、この実施の形態では、シリアル通信回路５０５が割り込み要求を行った場合に、通信エラーを割込原因とする場合の割込処理を優先的に実行し、通信を禁止状態に制御する。そのため、通信エラーが発生した状態で遊技機に搭載されている払出制御基板３７の払出制御用マイクロコンピュータ３７０と通信を行うことを防止できる。よって、通信エラーによる誤動作を防止することができる。
【０６０２】
例えば、シリアル通信回路５０５においてオーバーランが発生すると、受信データレジスタ７１１内の受信データが読み込まれる前に受信用シフトレジスタ７１３に次の受信データが格納されてしまうので、受信データレジスタ７１１の内容が上書きされてしまいＣＰＵ５６が受信データを正しく読み込めなくなってしまう。そのため、各制御基板が搭載するマイクロコンピュータと正しく通信を行えなくなり、遊技制御用マイクロコンピュータ５６０が誤動作をする原因となる。この実施の形態では、オーバーランが発生すると、シリアル通信回路５０５が通信エラー時割込要求を行い、ＣＰＵ５６が通信を禁止状態に制御する。そのため、オーバーランの発生によって遊技制御用マイクロコンピュータ５６０が誤動作することを防止することができる。
【０６０３】
また、例えば、シリアル通信回路５０５においてノイズエラーが発生すると、ノイズによって正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、ノイズエラーが発生すると、シリアル通信回路５０５が通信エラー時割込要求を行い、ＣＰＵ５６が通信を禁止状態に制御する。そのため、ノイズエラーの発生によってＣＰＵ５６が誤動作することを防止することができる。
【０６０４】
また、例えば、シリアル通信回路５０５においてフレーミングエラーが発生すると、受信データのストップビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、フレーミングエラーが発生すると、シリアル通信回路５０５が通信エラー時割込要求を行い、ＣＰＵ５６が通信を禁止状態に制御する。そのため、フレーミングエラーの発生によってＣＰＵ５６が誤動作することを防止することができる。
【０６０５】
また、例えば、シリアル通信回路５０５においてパリティエラーが発生すると、受信データの各データビットまたはパリティビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、ＣＰＵ５６が誤動作をする原因となる。この実施の形態では、パリティエラーが発生すると、シリアル通信回路５０５が通信エラー時割込要求を行い、ＣＰＵ５６が通信を禁止状態に制御する。そのため、パリティエラーの発生によってＣＰＵ５６が誤動作することを防止することができる。
【０６０６】
また、この実施の形態では、シリアル通信回路５０５において通信エラーが発生すると、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０への賞球個数コマンドの送信と、払出制御用マイクロコンピュータ３７０からの賞球ＡＣＫコマンドの受信とを禁止するように制御する。例えば、通信エラーの発生時に賞球個数コマンドを払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０に送信してしまうと、誤った賞球個数コマンドが送信されてしまう可能性がある。そのため、誤った賞球個数コマンドに示される賞球数にもとづいて誤った数の遊技球が払い出されてしまう可能性があり、遊技結果に影響を及ぼす虞がある。この実施の形態では、通信エラーが発生すると、払出制御基板３７が搭載する払出制御用マイクロコンピュータ３７０への賞球個数コマンドの送信を禁止するように制御するので、誤った賞球コマンドにもとづいて誤った数の遊技球の払出が行われ、遊技結果に影響を及ぼしてしまうことを防止することができる。
【０６０７】
なお、シリアル通信回路５０５において通信エラーが発生すると、各制御基板が搭載するマイクロコンピュータからのデータの受信のみを防止するようにしてもよい。例えば、遊技制御手段と演出制御手段との間でシリアル通信を行う場合を考える。この場合、遊技制御用マイクロコンピュータ５６０と演出制御用マイクロコンピュータとの間で行われる通信は、遊技制御用マイクロコンピュータ５６０から演出制御用マイクロコンピュータへの演出制御コマンドの送信だけであり、演出制御用マイクロコンピュータから遊技制御用マイクロコンピュータ５６０へのコマンドの送信はない。すなわち、遊技制御用マイクロコンピュータ５６０と演出制御用マイクロコンピュータとの間では、一方向だけの通信が行われる。また、遊技制御用マイクロコンピュータ５６０から音／ランプ制御基板８０ｂに誤った演出制御コマンドが送信されたとしても、可変表示装置９に誤った演出用の表示が行われるだけであり、誤った払出処理を実行してしまう場合と比較して、遊技結果に与える影響が小さい。
【０６０８】
また、この実施の形態では、乱数回路５０３の反転回路５３２が極性を反転させた反転クロック信号ＳＩ２（または、遅延回路が遅延させた遅延クロック信号）を生成し、反転クロック信号ＳＩ２に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路５３１に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
【０６０９】
なお、本実施の形態では、「シリアル通信回路５０５がＣＰＵ５６に割り込み要求を行う」という表現を用いたが、具体的には、データの送受信や通信エラーの発生などの割込要因が発生したときに、シリアル通信回路５０５の割り込み制御回路７１４がステータスレジスタＡ７０５の対応するビット（割込要因に対応するビット）に設定値をセットするとともに、ＣＰＵ５６に割り込み信号（内部ＩＲＱ）を出力することによって、シリアル通信回路５０５による割り込み要求が行われる。例えば、通信エラーが発生したときに、シリアル通信回路５０５の割り込み制御回路７１４がステータスレジスタＡ７０５の対応するビット（通信エラーに対応するビット０〜３）に設定値をセットするとともに、ＣＰＵ５６に割り込み信号を出力することによって、シリアル通信回路５０５による通信エラー時の割り込み要求が行われる。
【０６１０】
また、ＣＰＵ５６が、メイン処理にて電源断信号を確認し、電源断信号がオフ状態でないときは所定時間（タイムアウト時間）おいてから再度電源断信号を確認するように構成されているので、比較的電圧が安定した状態で電源断信号の状態を監視することができる。そして、ソフトウェアによる処理やハードウェアによる回路を特別に設けることなく、所定期間後の電源断信号の監視を実行しているので、プログラム容量が大きくせずに、また特別な回路を設ける分のコストをかけずに、所定期間後の電源断信号の監視する構成を実現することができる。
【０６１１】
また、電源断信号がオン状態になったときに、電源断処理（電力供給停止時処理）を実行し、電力供給停止時処理において、制御状態を復旧させるためのデータとしてＲＡＭ５５の記憶内容にもとづいてチェックデータを作成してＲＡＭ５５に格納する処理を実行する。そして、電力供給が再開されたときに、ＲＡＭ５５に格納されているチェックデータにもとづいてＲＡＭ５５の記憶内容が正常であるか否かの判定を行い、正常であると判定されたことを条件に、ＲＡＭ５５の記憶内容にもとづいて制御状態を電力供給停止前の状態に復旧させる復旧処理を実行するように構成されている。従って、ＲＡＭ５５に格納されている正常な記憶内容にもとづいて制御状態を復旧させることができる。
【０６１２】
また、電力供給が開始されたときに、メイン処理の一部においてソフトウェア遅延処理を実行するように構成されているので、主基板３１以外の他の制御基板におけるマイクロコンピュータの方が早く制御可能状態にすることができる。その結果、遊技制御用マイクロコンピュータ５６０以外のマイクロコンピュータが遊技制御用マイクロコンピュータ５６０からのコマンドを取りこぼしてしまうという事態が発生してしまうのを防止することができる。
【０６１３】
また、ソフトウェア遅延処理中に電源断信号を確認する処理を行っているので、ＲＡＭ５５の記憶内容が破壊され、電力供給停止時の状態に制御状態を復旧させることができなくなるのを防止することができる。すなわち、電力供給が開始され、ソフトウェア遅延処理の実行前または実行中にＶSLが＋２２Ｖ以上に上昇し、ソフトウェア遅延処理中に電力供給が停止されるような場合において、仮にソフトウェア遅延処理中に電源断信号を確認しない構成であれば、ソフトウェア遅延処理後に実行される電源断処理（ステップＳ１８；なお、タイマ割込処理において実行される電源断処理であってもよい。）において、チェックサムを作成してＲＡＭ５５のデータを保存する処理を実行する前に（あるいは保存しないで）電力供給が完全に停止してしまうことも生じうる。しかし、ソフトウェア遅延処理中に電源断信号を確認する処理を行う構成であれば、電源電圧の低下に応じて電源断信号がオン状態となったことを認識することができ、電源断信号のオン状態を確認したときは、待機状態（無限ループ）に移行される。このとき、まだＲＡＭ５５がアクセス可能に設定されていないため（ステップＳ６参照）、待機状態において電力供給が完全に停止してもＲＡＭ５５の記憶内容が破壊されない。よって、ＲＡＭ５５のデータを確実に保護することができることになる。
【０６１４】
また、確変状態に移行された後の変動回数が１００回に達したときに、遊技状態として高確率潜伏状態に制御するように構成されているので、遊技者に高確率状態が継続されているかどうかについて興味を持たせることができる。また、遊技制御用マイクロコンピュータ５６０は、電力供給が停電状態から回復したときに、メイン処理において、演出用のマイクロコンピュータ（音／ランプ制御用マイクロコンピュータ１００ｂや図柄制御用マイクロコンピュータ１００ａ）に対して、制御状態を復旧させるための復旧コマンドとして通常表示コマンド、特別表示コマンドおよび高確率潜伏表示コマンドのいずれかを送信し、演出用のマイクロコンピュータは復旧コマンドにもとづいて遊技状態に応じた遊技演出を実行するように構成されているので、停電前の遊技状態に応じた遊技演出を演出用のマイクロコンピュータに実行させることができ、遊技者に不信感を与えなくすることができる。また、故意に電力供給が停止されるような不正行為が行われたとしても、電力供給回復時に潜伏高確率状態が不正者に悟られてしまうことはない。
【０６１５】
なお、演出用のマイクロコンピュータは、変動パターンコマンドにより遊技状態を判定し、判定結果である現在の遊技状態を所定の記憶領域に記憶しているが、停電が発生したときは、演出用のマイクロコンピュータにおけるＲＡＭは電源バックアップされていないので、電力供給回復時に遊技制御用マイクロコンピュータ５６０が演出用のマイクロコンピュータに対して復旧コマンドを送信する必要がある。なお、上記の実施の形態では、演出用のマイクロコンピュータは、変動パターンコマンドにもとづいて遊技状態を判定していたが、このような構成に限られず、例えば、遊技状態が変更（移行）される度に、遊技制御用マイクロコンピュータ５６０が遊技状態の変更を示すコマンドを演出用のマイクロコンピュータに送信する構成であってもよい。
【０６１６】
また、大入賞口が２つ設けられ、大当り遊技が実行されるときは、２つの大入賞口のうちいずれか一方の大入賞口が開放され、そして、大入賞口が開放される前にいずれの大入賞口が開放されるかについて大入賞口表示灯によって遊技者に報知するとともに、可変表示装置９などの演出装置を用いて遊技者に報知するように構成されている。従って、遊技者がいずれの大入賞口が開放されるかについて認識できずに不利益を受けてしまうのを防止することができる。
【０６１７】
なお、いずれの大入賞口が開放されるかについて大入賞口表示灯によって報知するタイミングは、大当り図柄が停止表示されているタイミングとしていたが、このような構成に限られず、大入賞口が開放される直前や大入賞口が開放された後（開放中）などであってもよい。また、演出用のマイクロコンピュータがファンファーレコマンドにもとづいて演出装置（可変表示装置９やランプ／ＬＥＤ、スピーカ２７）を用いて大当りの種別を報知することにより、いずれの大入賞口が開放されるかについて報知するように構成されていたが、ファンファーレコマンド以外の演出制御コマンドにもとづいて、いずれの大入賞口が開放されるかについて報知するようにしてもよい。例えば、大当りの種別を指定可能な（大当りの種別に応じて分けられている）飾り図柄停止指定コマンド、大入賞口開放中表示コマンドまたは大入賞口開放後表示コマンドを送信し、演出用のマイクロコンピュータがそれらの演出制御コマンドにもとづいて、大入賞口の開放直前や開放後などに大当りの種別を報知することにより、いずれの大入賞口が開放されるかについて報知するようにしてもよい。また、大当りの種別に対応させて大入賞口のいずれが開放されるかについて報知するようにしていたが、大当りの種別と大入賞口の開放位置とを対応させないようにしてもよい。この場合は、いずれの大入賞口が開放されるかについて可変表示装置９の画面に表示するなどの方法によって遊技者に大入賞口の開放位置を報知するようにする。
【０６１８】
また、上記の実施の形態では、大当りの種別によって予め開放される大入賞口が決まっていたが、大当りが発生する毎に乱数を用いるなどの方法によって開放される大入賞口を決定するように構成されていてもよい。また、ラウンド毎に異なる大入賞口を開放するように構成してもよく、この場合も、乱数を用いるなどの方法によって開放される大入賞口を決定する。
【０６１９】
また、上記の実施の形態では、ウォッチドッグタイマ６０は、遊技制御用マイクロコンピュータ５６０に内蔵されていたが、遊技制御用マイクロコンピュータ５６０に外付けされていてもよい。この場合、ウォッチドッグタイマ６０のカウント値をクリアする処理において、ＷＤＴクリアレジスタ６２に所定のデータを設定する代わりに、出力ポートから外付けのウォッチドッグタイマにクリア信号を出力するように構成されていればよい。
【０６２０】
実施の形態２．
実施の形態１では、演出装置を制御するマイクロコンピュータを搭載した制御基板として音／ランプ制御基板８０ｂと図柄制御基板８０ａとが設けられ、主基板３１の遊技制御用マイクロコンピュータ５６０が音／ランプ制御基板８０ｂに搭載されている音／ランプ制御用マイクロコンピュータ１００ｂに演出制御コマンドを送信し、音／ランプ制御用マイクロコンピュータ１００ｂが図柄制御基板８０ａに搭載されている図柄制御用マイクロコンピュータ１００ａに演出制御コマンドに応じたコマンドを送信するように構成されていた。しかし、この実施の形態２では、遊技制御用マイクロコンピュータ５６０が図柄制御用マイクロコンピュータ１００ａに演出制御コマンドを送信し、図柄制御用マイクロコンピュータ１００ａが音／ランプ制御用マイクロコンピュータ１００ｂに演出制御コマンドに応じたコマンドを送信する構成とされている。
【０６２１】
図９６は、中継基板７７、音／ランプ制御基板８０ｂおよび図柄制御基板８０ａの他の回路構成例を示すブロック図である。図９６に示す回路構成を用いる場合、例えば、図柄制御基板８０ａが搭載する図柄制御用マイクロコンピュータ１００ａは、ステップＳ１８５１〜Ｓ１８５６と同様の処理に従って、変動パターンコマンドにもとづいて、演出内容（予告演出を行うか否かや、予告演出の種類）を決定する。そして、図柄制御用マイクロコンピュータ１００ａは、決定した演出内容に従って、ＶＤＰ１０９に、可変表示装置９を用いた予告演出を行わせる。また、図柄制御用マイクロコンピュータ１００ａは、決定した演出内容を示す演出内容指定コマンドを生成して、音／ランプ制御基板８０ｂに送信するようにしてもよい。そして、音／ランプ制御基板８０ｂが搭載する音／ランプ制御用マイクロコンピュータ１００ｂは、受信した演出内容指定コマンドに示される演出内容に従って、各ランプ２５，２８ａ，２８ｂ，２８ｃの表示制御を行ったり、音出力装置２７の音出力制御を行ってもよい。
【０６２２】
また、この実施の形態では、各演出装置を別々の制御基板を用いて制御する場合として、音／ランプ制御基板８０ｂと図柄制御基板８０ａとを用いる場合を説明したが、他の制御基板の組合せを用いて各演出装置を制御してもよい。例えば、音出力装置２７を制御する音制御基板と、各ランプを制御するランプ制御基板と、可変表示装置９を制御する図柄制御基板とを用いて、各演出装置を制御してもよい。この場合、例えば、主基板３１からの演出制御コマンドを、まず音制御基板で受信し、音制御基板に搭載される音制御用マイクロコンピュータが、受信した変動パターンコマンドにもとづいて演出内容（予告演出を行うか否かや、予告演出の種類）を決定してもよい（図８７に示す処理と同じ内容の処理）。そして、音制御用マイクロコンピュータが、決定した演出内容を示すコマンドをランプ制御基板と図柄制御基板に送信するようにしてもよい（ランプ制御基板を介して図柄制御基板に送信する構成や図柄制御基板を介してランプ制御基板に送信する構成も含む）。また、音出力装置２７および可変表示装置９を制御する音／図柄制御基板と、各ランプを制御するランプ制御基板とを用いて、各演出装置を制御してもよい。この場合、例えば、主基板３１からの演出制御コマンドを、音／図柄制御基板で受信し、音／図柄制御基板に搭載される音／図柄制御用マイクロコンピュータが、受信した変動パターンコマンドにもとづいて演出内容を決定してもよい（図８７に示す処理と同じ内容の処理）。そして、音／図柄制御用マイクロコンピュータが、決定した演出内容を示すコマンドをランプ制御基板に送信するようにしてもよい。なお、上記の制御基板の組み合わせに限られるけわではなく、主基板３１から演出制御コマンドがランプ制御基板に送信され、ランプ制御基板から音／図柄制御基板にコマンドが送信される構成などであってもよい。
【０６２３】
また、音制御用マイクロコンピュータが、表示結果指定コマンドにもとづいて飾り図柄のずれ数を特定し、変動パターンコマンドに示される基本時間と、飾り図柄のずれ数とにもとづいて、飾り図柄の変動時間を特定してもよい。そして、音制御用マイクロコンピュータは、決定した演出内容や変動時間を含むコマンドを生成し（または演出制御コマンドに付加し）、ランプ制御基板や図柄制御基板に送信してもよい。なお、主基板３１からの演出制御コマンドを、まずランプ制御基板や図柄制御基板で受信し、ランプ制御基板や図柄制御基板が搭載するマイクロコンピュータが、演出内容を決定したり変動時間を特定してもよい。
【０６２４】
実施の形態３．
上記に示した各実施の形態では、ＣＰＵ５６が通信エラー時の割込処理を他の割込処理に優先して実行する場合を説明したが、通信エラー時の割込処理以外の割込処理（例えば、受信時の割込処理）を優先して実行するようにしてもよい。以下、受信時の割込処理を優先して実行する第３の実施の形態を説明する。
【０６２５】
なお、本実施の形態において、第１の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第１の実施の形態と異なる部分について説明する。
【０６２６】
この実施の形態では、ＣＰＵ５６は、図４５および図４６と同様の処理に従ってメイン処理を実行する。メイン処理において、ステップＳ１からステップＳ１５ｂまでの処理（ステップＳ８１〜Ｓ９０，Ｓ９１〜Ｓ９３までの処理を含む）は、第１の実施の形態で示したそれらの処理と同様である。また、ステップＳ１６からステップＳ２０までの処理は、第１の実施の形態で示したそれらの処理と同様である。
【０６２７】
ステップＳ１５ｂのシリアル通信回路設定処理を実行し、シリアル通信回路５０５を初期設定すると、ＣＰＵ５６は、シリアル通信回路５０５の割り込み要求に応じて実行する割込処理の優先順位を初期設定する（ステップＳ１５ｃ）。この実施の形態では、あらかじめ指定情報においてシリアル通信回路５０５が受信データを受信したことを割込原因とする割込処理が指定されている。そして、ＣＰＵ５６は、指定情報にもとづいて、受信データを受信したことを割込原因とする割込処理を優先して実行するように初期設定する。すなわち、この実施の形態では、図４７に示す割込処理優先順位テーブルにおいて、シリアル通信回路５０５において通信エラーが発生したことを割込原因とする割込処理を優先して実行するようにデフォルトで設定されているが、ＣＰＵ５６は、ユーザによって設定された指定情報にもとづいて、受信データを受信したことを割込原因とする割込処理を優先して実行するように割込処理の優先順位を変更する。この場合、例えば、ＣＰＵ５６は、受信データを受信したことを割込原因とする割込処理を優先して実行する旨を示す受信時割込優先実行フラグをセットする。
【０６２８】
遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、メイン処理におけるステップＳ１７からステップＳ２０までのループ処理において、割り込み許可状態である間にシリアル通信回路５０５からの割り込み要求があると、図７６に示す処理に従って、シリアル通信回路５０５が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。
【０６２９】
ＣＰＵ５６は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。この実施の形態では、ＣＰＵ５６は、受信時割込優先実行フラグがセットされていることにもとづいて、受信データを受信したことを割込原因とする割込処理を優先して実行する。
【０６３０】
シリアル通信回路５０５から割り込み要求があると、ＣＰＵ５６は、シリアル通信回路５０５のステータスレジスタＡ７０５の各ビットを確認し、割り込み原因を特定する。この実施の形態では、ＣＰＵ５６は、ステータスレジスタＡ７０５のビット５を優先的に確認し、割り込み原因を特定する。すなわち、ＣＰＵ５６は、シリアル通信回路５０５が受信データを受信したことを割り込み原因として割り込み要求したか否かを、他の割り込み原因（通信エラーの発生または送信データの送信完了）に優先して判断する。ステータスレジスタＡのビット５が「１」であると判断すると、ＣＰＵ５６は、割り込み原因がシリアル通信回路５０５が受信データを受信したことであると特定する。
【０６３１】
割り込み原因がシリアル通信回路５０５が受信データを受信したことであると特定すると、ＣＰＵ５６は、図７６（ｂ）に示す受信時割込処理を優先して実行する。この場合、ＣＰＵ５６は、シリアル通信回路５０５が受信データを受信していることを示す受信時割込フラグをセットする（ステップＳ４２）。
【０６３２】
以上に説明したように、この実施の形態では、遊技制御用マイクロコンピュータ５６０は、メイン処理において、割込許可状態に設定する前に、割込処理の優先順位を初期設定する。そのため、複数種類の割込原因に対応する割込処理のうち、優先して実行させるべき割込処理を確実に実行することができる。また、優先して実行させる割込処理を初期設定できるので、遊技制御用マイクロコンピュータ５６０に実行させるプログラムの自由度を向上させることができる。
【０６３３】
例えば、賞球処理における受信処理（例えば、ステップＳ１２３４の賞球ＡＣＫ待ち処理）において、ステータスレジスタＡ７０５の各ビットを確認し、シリアル通信回路５０５で通信エラーが発生しているか否かを判断するようなプログラムを組んでいる場合、通信エラーの発生を割込原因とする割込処理を実行しなくても、通信エラーの発生時にコマンドを受信しないように制御できる。従って、受信処理において通信エラーの発生を確認するようなプログラムを組んでいる場合には、データを受信したことを割込原因とする割込処理を優先して実行することによって、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６に実行させるプログラムの自由度を向上させることができる。
【０６３４】
なお、本実施の形態では、「シリアル通信回路５０５がＣＰＵ５６に受信時割り込み要求を行う」という表現を用いたが、具体的には、割込要因（本例では、データ受信）が発生したときに、シリアル通信回路５０５の割り込み制御回路７１４がステータスレジスタＡ７０５の対応するビット（データ受信に対応するビット５）に設定値をセットするとともに、ＣＰＵ５６に割り込み信号を出力することによって、シリアル通信回路５０５による受信時割り込み要求が行われる。
【０６３５】
実施の形態４．
上記に示した各実施の形態では、ＣＰＵ５６が、シリアル通信回路５０５からの割り込み要求に対応する割込処理のうちいずれの割込処理に優先して実行するかを設定または変更する場合を説明したが、さらにタイマ割込とシリアル通信回路５０５からの割り込み要求とが同時に発生した場合に、いずれの割込処理を優先して実行するかを設定または変更できるようにしてもよい。以下、タイマ割込とシリアル通信回路５０５からの割り込み要求とのいずれを優先して割込処理を実行するかを設定または変更する第４の実施の形態を説明する。
【０６３６】
なお、本実施の形態において、第１の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第１の実施の形態と異なる部分について説明する。
【０６３７】
まず、第４の実施の形態におけるメイン処理について第１の実施の形態の図４５および図４６を用いて説明する。
【０６３８】
ステップＳ１５ｂのシリアル通信回路設定処理を実行し、シリアル通信回路５０５を初期設定すると、ＣＰＵ５６は、タイマ割込の発生時に実行するタイマ割込処理、およびシリアル通信回路５０５の割り込み要求に応じて実行する割込処理の優先順位を初期設定する（ステップＳ１５ｃ）。
【０６３９】
例えば、ＣＰＵ５６は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。図９８は、第４の実施の形態における割込処理優先順位テーブルの例を示す説明図である。この実施の形態では、ＣＰＵ５６は、図９８に示す割込処理優先順位テーブルに従って、シリアル通信回路５０５において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。すなわち、ＣＰＵ５６は、シリアル通信回路５０５からの割り込み要求による割込処理（本例では、通信エラー割込処理）を、タイマ割込処理に優先して実行するようにデフォルトで設定する。この場合、例えば、ＣＰＵ５６は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
【０６４０】
また、この実施の形態では、ステップＳ１５ｃにおいて、図９８に示す割込処理優先順位テーブルに従って割込処理の優先順位の初期設定が行われることによって、タイマ割込とシリアル通信回路５０５からの割り込み要求とが同時に発生した場合、シリアル通信回路５０５からの割り込み要求に対する割込処理を優先して行うことになる。
【０６４１】
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ５６０は、ユーザ（例えば、遊技機の製作者）によって設定された割込処理を指定する指定情報を、あらかじめＲＯＭ５４の所定の記憶領域に記憶している。そして、ＣＰＵ５６は、ＲＯＭ５４の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
【０６４２】
例えば、あらかじめ記憶された指定情報においてタイマ割込処理が指定されている場合を説明する。この場合、ＣＰＵ５６は、指定情報にもとづいて、タイマ割込処理を、シリアル通信回路５０５からの割り込み要求に対する各割込処理（通信エラー時割込処理、受信時割込処理および送信完了割込処理）に優先して実行するように初期設定する。すなわち、図９８に示す割込処理優先順位テーブルにおいて、シリアル通信回路５０５において通信エラーが発生したことを割込原因とする割込処理を優先して実行するようにデフォルトで設定されているが、ＣＰＵ５６は、ユーザによって設定された指定情報にもとづいて、タイマ割込処理を優先して実行するように割込処理の優先順位を変更する。この場合、例えば、ＣＰＵ５６は、タイマ割込処理を優先して実行する旨を示すタイマ割込優先実行フラグをセットする。
【０６４３】
また、ステップＳ１６からステップＳ２０までの処理は、第１の実施の形態で示したそれらの処理と同様である。ステップＳ２０で割込許可状態に設定されると、次にステップＳ１７の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路５０５からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ５６０は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路５０５から割り込み要求が発生すると、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、後述する各割込処理（通信エラー割込処理や、受信時割込処理、送信完了割込処理）を実行する。また、本実施の形態では、ステップＳ１７からステップＳ２０までのループ処理の前にステップＳ１５ｃを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、タイマ割込処理およびシリアル通信回路５０５からの割り込み要求による割込処理の優先順位を設定または変更する処理が行われる。
【０６４４】
遊技制御用マイクロコンピュータ５６０のＣＰＵ５６は、メイン処理におけるステップＳ１７からステップＳ２０までのループ処理において、割り込み許可状態である間にシリアル通信回路５０５からの割り込み要求があると、図７６に示す処理に従って、シリアル通信回路５０５が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。また、ＣＰＵ５６は、メイン処理におけるステップＳ１７からステップＳ２０までのループ処理において、タイマ割込が発生すると、図５５に示す処理に従ってタイマ割込処理を実行する。
【０６４５】
この実施の形態では、タイマ割込とシリアル通信回路５０５からの割り込み要求が同時に発生した場合、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、ＣＰＵ５６は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。例えば、ＣＰＵ５６は、タイマ割込優先実行フラグがセットされていることにもとづいて、タイマ割込処理を優先して実行する。
【０６４６】
以上に説明したように、この実施の形態では、ＣＰＵ５６は、メイン処理において、割込許可状態に設定する前に、タイマ割込処理、およびシリアル通信回路５０５からの割り込み要求に対応する各割込処理の優先順位を初期設定する。そのため、タイマ割込処理や複数種類の割込原因に対応する割込処理のうち、優先して実行させるべき割込処理を確実に実行することができる。また、優先して実行させる割込処理を初期設定できるので、遊技制御用マイクロコンピュータ５６０のＣＰＵ５６に実行させるプログラムの自由度を向上させることができる。
【０６４７】
なお、上記の各実施の形態において、大当り種別として、２ラウンド確変大当り、２ラウンド時短大当り、７ラウンド通常大当り、１５ラウンド通常大当り、１５ラウンド確変大当りおよび１５ラウンド時短大当りが設けられていたが、このような種別に限られるわけではない。例えば、大入賞口の開放時間が異なる大当りや、大当り中の大入賞口への１個の入賞に対する賞球個数が異なる大当りなどであってもよい。このような大当りも、大当り種別決定用乱数にもとづいて決定されることになる。
【０６４８】
なお、図３８に示す電源基板９１０の構成において、以下のような特徴的構成も開示されている。各基板に搭載されているマイクロコンピュータおよびウォッチドッグタイマ６０の動作可能な駆動電圧値は＋５Ｖであり、電源電圧が低下していくときにリセット信号がオフ状態になる（システムリセットがかかる）電圧値は＋９Ｖであり、電源電圧が低下していくときに電源断信号がオン状態になる電圧値は＋２２Ｖである。ここで、ＡＣ＋２４Ｖの交流電圧が正常に供給されているときは、整流平滑回路９１５はＶSL＋３０Ｖを出力し続ける。そして、電源監視回路９２０は、ＶSL＋３０Ｖを監視し、その電圧値が＋２２Ｖになったときに電源断信号をオン状態にする（出力する）。また、整流平滑回路９１５からＶSL＋３０Ｖの電圧が供給されているときは、スイッチングレギュレータ９２４Ｂは、マイクロコンピュータ等の駆動電圧であるＶCC＋５Ｖを出力し続ける。なお、スイッチングレギュレータ９２４Ｂは、ＶSLの電圧値として＋３０Ｖ〜＋７Ｖが供給されているときは、ＶCC＋５Ｖを出力し続ける。従って、このときは、マイクロコンピュータ等は駆動可能な状態である。ＶSlが＋５Ｖまで低下する前の＋９Ｖでシステムリセットをかけるので、マイクロコンピュータが暴走するようなことがなくなり、ＲＡＭのデータが破壊されるようなことはない。また、ＶSL＋２２Ｖ〜＋９Ｖの間に電源断処理におけるチェックサムの作成を終了させることができるので、ＲＡＭのデータが破壊されて復旧できなくなってしまう事態も発生することはない。
【０６４９】
なお、上述した実施の形態では、以下の（１）〜（６）に示すような遊技機の特徴的構成も示されている。
【０６５０】
（１）遊技制御用マイクロコンピュータは、数値更新手段が更新可能な数値データの所定の範囲が異なる乱数回路（例えば、１２ビット乱数回路５０３ａと１６ビット乱数回路５０３ｂ）を複数内蔵し、乱数回路初期設定手段は、初期設定において、遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し（例えば、遊技制御用マイクロコンピュータ５６０がステップＳ１５１を実行する）、乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段（例えば、遊技制御用マイクロコンピュータ５６０が、ステップＳ１５１で使用する乱数回路５０３を設定すると、使用しないように設定した方の乱数回路のカウンタ５２１がカウント値Ｃを更新しないように制御する部分）を備えるように構成されていてもよい。そのような構成によれば、更新可能な数値データの所定の範囲が異なる複数の乱数回路について、それぞれ使用可能とするか否かを設定するように構成されているので、使用する乱数回路だけを設定することによって、生成する乱数の値の範囲を適切に設定することができ、無駄に乱数を更新しないで済む。
【０６５１】
（２）乱数回路初期設定手段は、初期設定において、数値データが更新される所定の範囲の最大値としての値が設定される数値最大値レジスタ（例えば、乱数最大値設定レジスタ５３５）に、数値更新手段により更新可能な数値データの範囲内において所定の最大値（例えば、乱数最大値）を設定する最大値設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５２を実行する部分）と、最大値設定手段により設定された所定の最大値が、所定の下限値（例えば、１２ビット乱数回路５０３ａを設定した場合における「２５６」）以下であるか否かを判定する設定値判定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５３ｂを実行する部分）と、設定値判定手段によって数値最大値レジスタに設定された所定の最大値が所定の下限値以下であると判定されたときに、数値最大値レジスタに、数値更新手段により更新可能な数値データの範囲内の所定値（例えば、１２ビット乱数回路５０３ａを設定した場合における「４０９５」）を設定しなおす最大値再設定手段（例えば、遊技制御用マイクロコンピュータ５６０におけるステップＳ１５３ｃを実行する部分）とを含むように構成されていてもよい。そのような構成によれば、数値データが更新される所定の範囲の最大値としての値をあらかじめ設定するように構成されているので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路および遊技制御用マイクロコンピュータの処理負担を軽減することができる。また、設定された所定の最大値が所定の下限値以下である場合には、所定の最大値を設定しなおすように構成されているので、遊技制御用マイクロコンピュータの誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。
【０６５２】
（３）遊技機は、所定周期のクロック信号を生成し、乱数回路に出力するクロック信号生成手段（例えば、クロック回路５０１）を備え、数値更新手段は、クロック信号を所定回数入力したことを条件に、数値データを更新し（例えば、クロック信号出力回路５２４が基準クロック信号ＣＬＫを１６分周した乱数発生用クロック信号ＳＩを入力すると、カウンタ５２１がカウント値Ｃを更新する部分）、乱数回路初期設定手段は、数値更新手段が数値データを更新する条件であるクロック信号の入力回数を設定する（例えば、遊技制御用マイクロコンピュータ５６０がステップＳ１５６を実行する）ように構成されていてもよい。そのような構成によれば、数値更新手段が数値データを更新する条件であるクロック信号の入力回数をあらかじめ設定するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。
【０６５３】
（４）遊技制御用マイクロコンピュータは、乱数回路初期設定手段によって設定される数値データの所定の初期値を、マイコン識別情報を用いて演算する数値演算手段（例えば、遊技用マイクロコンピュータにおけるステップＳ１５４ｂの処理を実行する際に、遊技制御用マイクロコンピュータ５６０のＩＤナンバと所定値とを演算して（例えば、ＩＤナンバに所定値を加算して）演算値を求める部分）を含み、乱数回路初期設定手段は、数値演算手段による演算によって算出された値にもとづいて初期値を設定する（例えば、遊技用マイクロコンピュータがステップＳ１５４ｂの処理を実行する際に、求めた演算値をカウント値の初期値として設定する）ように構成されていてもよい。そのような構成によれば、マイコン識別情報を用いた演算によって算出された値にもとづいて初期値を設定するように構成されているので、乱数回路が生成する乱数のランダム性をより向上させることができる。そのため、マイコン識別情報を見ただけでは乱数の初期値を認識しにくくすることができ、セキュリティ性を向上させることができる。
【０６５４】
（５）遊技機は、遊技領域における入賞領域に遊技媒体が入賞（例えば、特別可変入賞球装置２０への遊技球の入賞）したことを検出して入賞検出信号（例えば、カウントスイッチ２３１，２３２の検出信号）を出力する入賞検出手段（例えば、カウントスイッチ２３１，２３２）を備え、乱数回路は、入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させるためのラッチ信号を出力するラッチ信号出力手段（例えば、ラッチ信号生成回路５３３）を含み、ラッチ信号出力手段は、入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件（例えば、タイマ回路５３４が所定期間（例えば、３ｍｓ）を計測したときに、乱数値読取信号出力回路５２６から出力される乱数値読取信号を入力したこと）に、ラッチ信号を出力する（例えば、ラッチ信号生成回路５３３が、乱数値読取信号出力回路５２６から出力される乱数値読取信号を、反転回路５３２から出力される反転クロック信号ＳＩ２の立ち上がりエッヂに同期させて、ラッチ信号ＳＬとして乱数値記憶回路５３１に出力する部分）ように構成されていてもよい。そのような構成によれば、ラッチ信号が出力されたことにもとづいて乱数記憶手段が乱数を記憶するにあたって、所定期間に亘って継続して入賞検出信号が入力されたことを条件にラッチ信号を出力するように構成されているので、ノイズの発生を入力検出信号の入力と誤認識してラッチ信号を出力し、生成した乱数を記憶してしまうことを防止できる。また、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によってラッチ信号が出力され、不正なラッチ信号によって生成された乱数を記憶させられてしまう可能性を低減することができる。
【０６５５】
（６）乱数読出手段は、タイマ割込処理実行手段によってタイマ割込処理が所定回数実行される間継続して、入賞検出手段から入賞検出信号が入力されたことを条件（例えば、遊技制御用マイクロコンピュータ５６０によるステップＳ３２０２の処理の実行の際に、割込回数カウンタに示されるタイマ割込処理の実行回数が所定回数（例えば、３回）に達していること）に、乱数記憶手段が記憶する乱数値を読み出し（例えば、ＣＰＵ５６が、乱数回路５０３の乱数値記憶回路５３１から、乱数値として記憶されているランダムＲの値を読み出し）、所定期間（例えば、３ｍｓ）は所定回数のタイマ割込処理が実行される期間（例えば、６ｍｓ）よりも短いように構成されていてもよい。そのような構成によれば、乱数記憶手段から乱数を読み出すにあたって、タイマ割込処理が所定回数実行される間継続して入賞検出信号が入力されたことを条件に乱数記憶手段から乱数を読み出すように構成されているので、乱数を読み出してから、乱数記憶手段に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。そのため、前回乱数記憶手段から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
【０６５６】
なお、上記の実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示部に可変表示される特別図柄の停止図柄が所定の図柄になると所定の遊技価値が遊技者に付与可能になるパチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になるパチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続するパチンコ遊技機であっても、本発明を適用できる。さらに、遊技メダルを投入して賭け数を設定し遊技を行うスロット機や、遊技メダルではなく遊技球を投入して賭け数を設定し遊技を行う遊技機などにも本発明を適用できる。
【産業上の利用可能性】
【０６５７】
本発明は、パチンコ遊技機およびスロット機などの遊技機に適用可能であり、特に、変動パターンコマンドや表示結果指定コマンドにもとづいて、可変表示装置における飾り図柄の可変表示や遊技演出を行う遊技機に好適に適用できる。
【図面の簡単な説明】
【０６５８】
【図１】パチンコ遊技機を正面からみた正面図である。
【図２】遊技制御基板（主基板）の構成例を示すブロック図である。
【図３】中継基板、音／ランプ制御基板および図柄制御基板の回路構成例を示すブロック図である。
【図４】主基板における回路構成および主基板から音／ランプ制御基板に送信される演出制御コマンドの信号線を示すブロック図である。
【図５】乱数回路の構成例を示すブロック図である。
【図６】更新規則選択レジスタの例を示す説明図である。
【図７】更新規則メモリの例を示す説明図である。
【図８】カウント値順列変更回路が、カウンタが出力するカウント値の順列を変更する場合の例を示す説明図である。
【図９】カウント値順列変更レジスタの例を示す説明図である。
【図１０】乱数最大値設定レジスタの例を示す説明図である。
【図１１】周期設定レジスタの例を示す説明図である。
【図１２】カウント値更新レジスタの例を示す説明図である。
【図１３】乱数値取込レジスタの例を示す説明図である。
【図１４】乱数更新方式選択レジスタ、および乱数更新方式選択レジスタに書き込まれる乱数更新方式選択データの一例の説明図である。
【図１５】乱数回路起動レジスタの例を示す説明図である。
【図１６】乱数値記憶回路の一構成例を示す回路図である。
【図１７】乱数値記憶回路に各信号が入力されるタイミング、および乱数値記憶回路が各信号を出力するタイミングを示すタイミングチャートである。
【図１８】シリアル通信回路の送信部の構成例を示すブロック図である。
【図１９】シリアル通信回路の受信部の構成例を示すブロック図である。
【図２０】シリアル通信が各制御基板が搭載するマイクロコンピュータと送受信するデータのデータフォーマットの例を示す説明図である。
【図２１】ボーレートレジスタの例を示す説明図である。
【図２２】制御レジスタＡおよび通信フォーマット設定データの例を示す説明図である。
【図２３】制御レジスタＢおよび割り込み要求設定データの例を示す説明図である。
【図２４】ステータスレジスタＡおよびステータス確認データの例を示す図である。
【図２５】ステータスレジスタＢおよびステータス確認データの例を示す図である。
【図２６】制御レジスタＣおよびエラー割り込み要求設定データの例を示す説明図である。
【図２７】シリアル通信回路が備えるデータレジスタの例を示す説明図である。
【図２８】遊技制御用マイクロコンピュータにおける記憶領域のアドレスマップの一例を示す説明図である。
【図２９】ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。
【図３０】初期値変更方式設定データの一例を示す説明図である。
【図３１】ユーザプログラムの構成例を示す説明図である。
【図３２】乱数回路設定プログラムの構成例を示す説明図である。
【図３３】第１の乱数更新方式が選択されている場合に、ランダムＲの値を更新させたりランダムＲの値を読出したりする動作を示す説明図である。
【図３４】第２の乱数更新方式が選択されている場合に、ランダムＲの値の更新させたりランダムＲの値を読出したりする動作を示す説明図である。
【図３５】遊技制御用マイクロコンピュータが備える各メモリを示す説明図である。
【図３６】大当り判定用テーブルメモリの例を示す説明図である。
【図３７】ウォッチドッグタイマの構成例を示すブロック図である。
【図３８】電源基板の構成例を示すブロック図である。
【図３９】遊技制御用マイクロコンピュータにおける出力ポートのビット割り当て例を示す説明図である。
【図４０】遊技制御用マイクロコンピュータにおける入力ポートのビット割り当て例を示す説明図である。
【図４１】電力供給開始時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。
【図４２】電力供給開始時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。
【図４３】電力供給停止時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。
【図４４】電力供給瞬停時における各ＣＰＵおよびウォッチドッグタイマの動作を示すタイミング図である。
【図４５】遊技制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図４６】遊技制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図４７】割込処理優先順位テーブルの例を示す説明図である。
【図４８】乱数回路設定処理を示すフローチャートである。
【図４９】乱数最大値再設定処理を示すフローチャートである。
【図５０】初期値変更処理を示すフローチャートである。
【図５１】乱数回路に各信号が入力されるタイミング、および乱数回路内で各信号が生成されるタイミングを示すタイミングチャートである。
【図５２】シリアル通信回路設定処理を示すフローチャートである。
【図５３】電源断処理を示すフローチャートである。
【図５４】電源断処理を示すフローチャートである。
【図５５】タイマ割込処理を示すフローチャートである。
【図５６】各乱数を示す説明図である。
【図５７】乱数回路初期値更新処理を示すフローチャートである。
【図５８】カウント値順列変更処理を示すフローチャートである。
【図５９】特別図柄プロセス処理の一例を示すフローチャートである。
【図６０】変動パターンの一例を示す説明図である。
【図６１】演出制御コマンドの内容の一例を示す説明図である。
【図６２】始動口スイッチ通過処理を示すフローチャートである。
【図６３】特別図柄通常処理を示すフローチャートである。
【図６４】特別図柄停止図柄設定処理を示すフローチャートである。
【図６５】変動パターン設定処理を示すフローチャートである。
【図６６】特別図柄停止処理を示すフローチャートである。
【図６７】大入賞口開放前処理を示すフローチャートである。
【図６８】大入賞口開放中処理を示すフローチャートである。
【図６９】大入賞口開放中処理を示すフローチャートである。
【図７０】大当り終了処理を示すフローチャートである。
【図７１】遊技制御手段から払出制御手段に対して出力される制御信号の内容の一例を示す説明図である。
【図７２】遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。
【図７３】制御信号および制御コマンドの送受信に用いられる信号線等を示すブロック図である。
【図７４】払出制御信号および払出制御コマンドの出力の仕方の一例を示すタイミング図である。
【図７５】賞球処理を示すフローチャートである。
【図７６】シリアル通信回路が割り込み要求に対して行う割り込み処理の一例を示す流れ図である。
【図７７】賞球個数テーブルの例を示す説明図である。
【図７８】賞球個数加算処理を示すフローチャートである。
【図７９】賞球制御処理を示すフローチャートである。
【図８０】賞球送信待ち処理を示すフローチャートである。
【図８１】賞球個数コマンド送信処理を示すフローチャートである。
【図８２】賞球送信完了待ち処理を示すフローチャートである。
【図８３】賞球ＡＣＫ待ち処理を示すフローチャートである。
【図８４】賞球再送信処理を示すフローチャートである。
【図８５】賞球異常検出処理を示すフローチャートである。
【図８６】主制御通信処理を示すフローチャートである。
【図８７】音／ランプ制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図８８】音／ランプ制御処理で用いる各乱数を示す説明図である。
【図８９】音／ランプ制御用マイクロコンピュータが実行する演出内容決定処理を示すフローチャートである。
【図９０】図柄制御用マイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図９１】図柄制御用マイクロコンピュータが実行するコマンド解析処理の具体例を示すフローチャートである。
【図９２】図柄制御用マイクロコンピュータが実行する演出制御プロセス処理を示すフローチャートである。
【図９３】演出制御プロセス処理における飾り図柄通常処理を示すフローチャートである。
【図９４】演出制御プロセス処理における飾り図柄変動開始処理を示すフローチャートである。
【図９５】演出制御プロセス処理における飾り図柄変動中処理を示すフローチャートである。
【図９６】中継基板、音／ランプ制御基板および図柄制御基板の他の回路構成例を示すブロック図である。
【図９７】他の実施の形態における割込処理優先順位テーブルの例を示す説明図である。
【符号の説明】
【０６５９】
１          パチンコ遊技機
９          可変表示装置
１４        始動入賞口
１５        可変入賞球装置
３１        遊技制御基板（主基板）
３７        払出制御基板
３８，３９  大入賞口表示灯
５６        ＣＰＵ
８０ａ      図柄制御基板
８０ｂ      音／ランプ制御基板
１００ａ    図柄制御用マイクロコンピュータ
１００ｂ    音／ランプ制御用マイクロコンピュータ
１０１ａ    図柄制御用ＣＰＵ
１０１ｂ    音／ランプ制御用ＣＰＵ
５０３ａ    １２ビット乱数回路
５０３ｂ    １６ビット乱数回路
５０５      シリアル通信回路
５６０      遊技制御用マイクロコンピュータ
【図１】
0004611213.tif 000002
【図２】
0004611213.tif 000003
【図３】
0004611213.tif 000004
【図４】
0004611213.tif 000005
【図５】
0004611213.tif 000006
【図６】
0004611213.tif 000007
【図７】
0004611213.tif 000008
【図８】
0004611213.tif 000009
【図９】
0004611213.tif 000010
【図１０】
0004611213.tif 000011
【図１１】
0004611213.tif 000012
【図１２】
0004611213.tif 000013
【図１３】
0004611213.tif 000014
【図１４】
0004611213.tif 000015
【図１５】
0004611213.tif 000016
【図１６】
0004611213.tif 000017
【図１７】
0004611213.tif 000018
【図１８】
0004611213.tif 000019
【図１９】
0004611213.tif 000020
【図２０】
0004611213.tif 000021
【図２１】
0004611213.tif 000022
【図２２】
0004611213.tif 000023
【図２３】
0004611213.tif 000024
【図２４】
0004611213.tif 000025
【図２５】
0004611213.tif 000026
【図２６】
0004611213.tif 000027
【図２７】
0004611213.tif 000028
【図２８】
0004611213.tif 000029
【図２９】
0004611213.tif 000030
【図３０】
0004611213.tif 000031
【図３１】
0004611213.tif 000032
【図３２】
0004611213.tif 000033
【図３３】
0004611213.tif 000034
【図３４】
0004611213.tif 000035
【図３５】
0004611213.tif 000036
【図３６】
0004611213.tif 000037
【図３７】
0004611213.tif 000038
【図３８】
0004611213.tif 000039
【図３９】
0004611213.tif 000040
【図４０】
0004611213.tif 000041
【図４１】
0004611213.tif 000042
【図４２】
0004611213.tif 000043
【図４３】
0004611213.tif 000044
【図４４】
0004611213.tif 000045
【図４５】
0004611213.tif 000046
【図４６】
0004611213.tif 000047
【図４７】
0004611213.tif 000048
【図４８】
0004611213.tif 000049
【図４９】
0004611213.tif 000050
【図５０】
0004611213.tif 000051
【図５１】
0004611213.tif 000052
【図５２】
0004611213.tif 000053
【図５３】
0004611213.tif 000054
【図５４】
0004611213.tif 000055
【図５５】
0004611213.tif 000056
【図５６】
0004611213.tif 000057
【図５７】
0004611213.tif 000058
【図５８】
0004611213.tif 000059
【図５９】
0004611213.tif 000060
【図６０】
0004611213.tif 000061
【図６１】
0004611213.tif 000062
【図６２】
0004611213.tif 000063
【図６３】
0004611213.tif 000064
【図６４】
0004611213.tif 000065
【図６５】
0004611213.tif 000066
【図６６】
0004611213.tif 000067
【図６７】
0004611213.tif 000068
【図６８】
0004611213.tif 000069
【図６９】
0004611213.tif 000070
【図７０】
0004611213.tif 000071
【図７１】
0004611213.tif 000072
【図７２】
0004611213.tif 000073
【図７３】
0004611213.tif 000074
【図７４】
0004611213.tif 000075
【図７５】
0004611213.tif 000076
【図７６】
0004611213.tif 000077
【図７７】
0004611213.tif 000078
【図７８】
0004611213.tif 000079
【図７９】
0004611213.tif 000080
【図８０】
0004611213.tif 000081
【図８１】
0004611213.tif 000082
【図８２】
0004611213.tif 000083
【図８３】
0004611213.tif 000084
【図８４】
0004611213.tif 000085
【図８５】
0004611213.tif 000086
【図８６】
0004611213.tif 000087
【図８７】
0004611213.tif 000088
【図８８】
0004611213.tif 000089
【図８９】
0004611213.tif 000090
【図９０】
0004611213.tif 000091
【図９１】
0004611213.tif 000092
【図９２】
0004611213.tif 000093
【図９３】
0004611213.tif 000094
【図９４】
0004611213.tif 000095
【図９５】
0004611213.tif 000096
【図９６】
0004611213.tif 000097
【図９７】
0004611213.tif 000098