(57)【特許請求の範囲】
【請求項１】
遊技媒体を遊技領域に打ち込むことにより遊技を行い、可変表示の実行条件が成立した後に可変表示の開始条件が成立したことに基づいて各々が識別可能な複数種類の識別情報を可変表示する可変表示装置を備え、前記遊技領域における入賞領域に遊技媒体が入賞したことに基づいて遊技媒体を払い出し、前記可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態に制御する遊技機であって、
遊技媒体を発射して前記遊技領域に打ち込むための発射手段と、
前記発射手段を駆動させるために遊技者が操作する発射操作手段と、
遊技者が前記発射操作手段に接触しているか否かを検出する接触検出手段と、
前記入賞領域に遊技媒体が入賞したことを検出して入賞検出信号を出力する入賞検出手段と、
遊技媒体の払出動作を行う払出手段と、
前記払出手段の払出動作により払い出された遊技媒体を検出する払出検出手段と、
前記払出手段の払出動作により払い出された遊技媒体が貯留される貯留部に所定量以上の遊技媒体が貯留されているか否かを検出する貯留状態検出手段と、
乱数を発生する乱数回路を内蔵し、前記入賞検出手段からの入賞検出信号が入力され、遊技の進行を制御する遊技制御処理を実行し、前記払出手段を制御させるための払出制御信号を送信する遊技制御用マイクロコンピュータが搭載された遊技制御基板と、
前記遊技制御用マイクロコンピュータによって送信された払出制御信号に応じて前記払出手段の払出動作を制御する払出制御処理を実行する払出制御用マイクロコンピュータが搭載された払出制御基板とを備え、
前記乱数回路は、
所定の信号の入力に基づいて数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序に従って循環的に更新する数値更新手段と、
前記数値更新手段によって更新された数値データを乱数値として記憶する乱数値記憶手段とを含み、
前記遊技制御用マイクロコンピュータは、
前記入賞検出信号の入力に応じて、払い出すべき遊技媒体の数を示す払出数信号を前記払出制御信号として前記払出制御用マイクロコンピュータに送信する払出数信号送信手段と、
遊技機への電力供給が開始された後、前記乱数回路に前記乱数を発生させるための設定を行う乱数回路設定手段と、
前記乱数回路設定手段による設定が行われた後、定期的に発生するタイマ割込み処理の実行を許可するタイマ割込み処理実行許可手段と、
前記タイマ割込み処理の実行中、前記可変表示の実行条件が成立したか否かを判定する実行条件判定手段と、
前記実行条件判定手段により前記可変表示の実行条件が成立したと判定されたことに基づいて、前記乱数値記憶手段により記憶された乱数値を読み出す乱数値読出手段と、
前記乱数値読出手段により読み出された乱数値が所定の判定値データと合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段とを含み、
前記遊技制御基板は、前記接触検出手段により遊技者の接触が検出され、かつ、前記貯留状態検出手段により前記貯留部に所定量以上の遊技媒体が貯留されていないことが検出されたことを条件に、前記発射手段による遊技媒体の発射を許可する発射許可信号を出力する発射許可信号出力手段を含み、
前記乱数回路設定手段は、前記遊技制御用マイクロコンピュータごとに付与された固有の識別情報に基づく値を、前記所定の初期値に設定する初期値設定手段を含み、
前記払出制御用マイクロコンピュータは、
前記払出数信号送信手段によって送信された払出数信号を受信する払出数信号受信手段と、
前記払出数信号受信手段が受信した払出数信号から特定される遊技媒体の個数を累積的に未払出数として記憶する未払出数記憶手段と、
前記払出手段による払出動作の終了までを特定可能な払出動作量を記憶する払出動作量記憶手段と、
前記払出検出手段により検出された遊技媒体の個数に応じて、前記未払出数記憶手段が記憶する前記未払出数を更新する未払出数更新手段と、
前記未払出数記憶手段に前記未払出数が記憶されたことに基づいて、前記払出動作量を前記払出動作量記憶手段に記憶させる払出動作量設定手段と、
前記払出手段による払出動作の進行に応じて前記払出動作量記憶手段に記憶されている前記払出動作量を更新する払出動作量更新手段と、
前記払出動作量記憶手段に記憶されている前記払出動作量が所定の終了値データと合致するか否かを判定する払出動作量判定手段と、
前記払出動作量設定手段が前記払出動作量を前記払出動作量記憶手段に記憶させたことに応じて前記払出手段による払出動作の実行を開始させた後、前記払出動作量判定手段によって前記所定の終了値データと合致する旨の判定がなされるまで、連続して前記払出手段に払出動作を実行させる連続払出制御手段とを含み、
前記払出動作量設定手段は、
前記払出手段による払出動作の実行中に前記未払出数記憶手段により記憶された前記未払出数が増加したか否かを判定する払出中増加判定手段と、
前記払出中増加判定手段によって前記未払出数が増加した旨の判定がなされたときに、前記未払出数における増加分を特定する増加分特定手段と、
前記増加分特定手段が特定した増加分に対応した払出動作量を、前記払出動作量記憶手段が記憶する前記払出動作量に加算する払出動作量加算手段とを含み、
さらに、前記遊技制御用マイクロコンピュータは、前記数値更新手段が更新可能な数値データの前記所定の更新範囲が異なる乱数回路を複数内蔵し、
前記乱数回路設定手段は、
前記複数の乱数回路のうちから使用する乱数回路を設定する使用乱数回路設定手段と、
前記使用乱数回路設定手段により使用すると設定された乱数回路以外の乱数回路の機能を停止させる乱数回路停止手段とを含む、
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ遊技機等の遊技機に係り、詳しくは、遊技媒体を遊技領域に打ち込むことにより遊技を行い、可変表示の実行条件が成立した後に可変表示の開始条件が成立したことに基づいて各々が識別可能な複数種類の識別情報を可変表示する可変表示装置を備え、遊技領域における入賞領域に遊技媒体が入賞したことに基づいて遊技媒体を払い出し、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態に制御する遊技機に関する。
【背景技術】
【０００２】
パチンコ遊技機等の遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個数の賞球を遊技者に払い出すものが数多く提供されている。さらに、液晶表示装置（以下ＬＣＤ：Liquid Crystal Display）等の表示装置上に所定の識別情報（以下、表示図柄）を更新表示やスクロール表示させることで可変表示を行い、その表示結果により所定の遊技価値を付与するか否かを決定する、いわゆる可変表示ゲームによって遊技興趣を高めたものがある。
【０００３】
可変表示ゲームの１つとして行われる特図ゲームは、始動入賞口を通過する遊技球の検出（可変表示の始動条件が成立したこと）に基づいて表示図柄の可変表示を行い、表示図柄の可変表示が完全に停止した際の停止図柄態様が予め定められた特定表示態様となっている場合を「大当り」とするゲームである。この特図ゲームにおいて「大当り」となると、大入賞口又はアタッカと呼ばれる特別電動役物を開放状態とし、遊技者に対して遊技球の入賞が極めて容易となる状態を一定時間継続的に提供する。こうした状態を「特定遊技状態」あるいは「大当り遊技状態」という。
【０００４】
こうした遊技機における遊技の進行は、マイクロコンピュータ等からなる遊技制御手段によって制御される。そして、遊技機への電力供給が開始されたときに、乱数回路に「大当り」とするか否かを判定するために用いられる乱数値を更新させるための設定を行った後、定期的に発生するタイマ割込み処理の実行を許可するものが提案されている（例えば特許文献１）。
【特許文献１】特開２００５−１０３１６６号公報
【０００５】
また、遊技媒体が遊技領域に設けられた入賞領域に入賞したときに行われる賞球の払出は、一般的に入賞毎に区切って行われるが、最近では、賞球の払出を入賞毎に区切ることなく連続して行う遊技機も提案されている（例えば特許文献２）。
【特許文献２】特開２００１−２１２３２１号公報
【０００６】
特許文献２に記載の遊技機は、遊技の進行を制御する遊技制御手段と、遊技媒体を払い出す払出手段と、払出手段の払出動作を制御する払出制御手段と、を備え、遊技制御手段は、遊技媒体が入賞領域に入賞したことに応答して、払出制御手段に賞球の個数を指定する制御コマンドを送信する。また、払出制御手段は、払出手段から払い出された遊技媒体を検出する遊技媒体検出手段と、受信した制御コマンドが示す賞球の個数の総和を記憶し、遊技媒体検出手段により遊技媒体が検出される毎に賞球の総数を１ずつ減算して行く総賞球個数カウンタと、を備え、遊技制御手段から送信された制御コマンドを受信する毎に制御コマンドの示す賞球の個数を総賞球個数カウンタの値に順次加算して行く。そして、払出制御手段は、総賞球個数カウンタの値が０になるまで賞球の払出を連続的に実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技術によると、遊技機に対する電力供給が開始されたときに設定される乱数の初期値（一巡目のスタート値）は、異なる遊技制御用マイクロコンピュータであっても異ならせることができない。そのため、電力供給開始時から所定時間が経過したタイミングで乱数値を取り込むための信号を発生させることで、不正に「大当り」が発生させられてしまうおそれがあるという問題が生じる。
【０００８】
また、特許文献２に記載の技術によると、総賞球個数カウンタの値を直接参照して賞球の払出を連続的に実行するため、最後の賞球が払い出されたが、未だ遊技媒体検出手段によりこの賞球が検出されていない場合には、総賞球個数カウンタの値が０とならない。この結果、払出制御手段は、最後の賞球が払い出されたにも関わらず、払出動作を継続してしまい、賞球を余計に払い出してしまうおそれがあった。
【０００９】
この発明は、上記実状に鑑みてなされたものであり、ランダム性の高い乱数の発生を可能にすることを課題とする。また、この発明は、遊技媒体の払出制御の確実性を向上させ、迅速な払出動作を実現することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本願の請求項１に記載の遊技機は、遊技媒体（例えば遊技球など）を遊技領域に打ち込むことにより遊技を行い、可変表示の実行条件（例えば普通可変入賞球装置６に設けられた始動入賞口に遊技球が入賞すること）が成立した後に可変表示の開始条件（例えば特別図柄表示装置４による前回の特図ゲームや大当り遊技状態が終了すること）が成立したことに基づいて各々が識別可能な複数種類の識別情報（例えば特別図柄や飾り図柄など）を可変表示する可変表示装置（例えば特別図柄表示装置４や画像表示装置５など）を備え、前記遊技領域における入賞領域（例えば普通可変入賞球装置６に設けられた始動入賞口、特別可変入賞球装置７に設けられた大入賞口、入賞口４２Ａ〜４２Ｄなど）に遊技媒体が入賞したことに基づいて遊技媒体を払い出し、前記可変表示の表示結果が予め定められた特定表示結果（例えば大当り図柄や大当り組合せの確定飾り図柄など）となったときに、遊技者にとって有利な特定遊技状態（例えば大当り遊技状態など）に制御する遊技機（例えばパチンコ遊技機１など）であって、遊技媒体を発射して前記遊技領域に打ち込むための発射手段（例えば発射装置１９など）と、前記発射手段を駆動させるために遊技者が操作する発射操作手段（例えば操作ノブ３０など）と、遊技者が前記発射操作手段に接触しているか否かを検出する接触検出手段（例えばタッチセンサ７５など）と、前記入賞領域に遊技媒体が入賞したことを検出して入賞検出信号を出力する入賞検出手段（例えば始動口スイッチ２２、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄなど）と、遊技媒体の払出動作を行う払出手段（例えば払出モータ５１など）と、前記払出手段の払出動作により払い出された遊技媒体を検出する払出検出手段（例えば払出カウントスイッチ７２など）と、前記払出手段の払出動作により払い出された遊技媒体が貯留される貯留部（例えば下皿３３など）に所定量以上の遊技媒体が貯留されているか否かを検出する貯留状態検出手段（例えば満タンスイッチ２６など）と、乱数を発生する乱数回路（例えば乱数回路１０３など）を内蔵し、前記入賞検出手段からの入賞検出信号が入力され、遊技の進行を制御する遊技制御処理（例えばタイマ割込みによるＳ７１〜Ｓ８５の処理など）を実行し、前記払出手段を制御させるための払出制御信号（例えば払出制御コマンドとなる制御信号など）を送信する遊技制御用マイクロコンピュータ（例えば遊技制御用マイクロコンピュータ１００など）が搭載された遊技制御基板（例えば主基板１１など）と、前記遊技制御用マイクロコンピュータによって送信された払出制御信号に応じて前記払出手段の払出動作を制御する払出制御処理（例えばタイマ割込みによるＳ５３１〜Ｓ５３８の処理など）を実行する払出制御用マイクロコンピュータ（例えば払出制御用マイクロコンピュータ１５０など）が搭載された払出制御基板（例えば払出制御基板１５など）とを備え、前記乱数回路は、所定の信号の入力に基づいて数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序に従って循環的に更新する数値更新手段（例えば乱数生成回路１７３Ａ、１７３Ｂなど）と、前記数値更新手段によって更新された数値データを乱数値として記憶する乱数値記憶手段（例えば乱数値レジスタ１８１Ａ、１８１Ｂなど）とを含み、前記遊技制御用マイクロコンピュータは、前記入賞検出信号の入力に応じて、払い出すべき遊技媒体の数を示す払出数信号（例えば第１〜第３払出数指定コマンドなど）を前記払出制御信号として前記払出制御用マイクロコンピュータに送信する払出数信号送信手段（例えばＣＰＵ１０４がステップＳ４０８、Ｓ４１０、Ｓ４１１のいずれかの処理を実行した後に、ステップＳ８１の払出用コマンド制御処理を実行する部分など）と、遊技機への電力供給が開始された後、前記乱数回路に前記乱数を発生させるための設定を行う乱数回路設定手段（例えばＣＰＵ１０４がステップＳ２１の処理を実行した後、ステップＳ２２にて１２ビット乱数初期設定処理や１６ビット乱数初期設定処理を実行する部分など）と、前記乱数回路設定手段による設定が行われた後、定期的に発生するタイマ割込み処理の実行を許可するタイマ割込み処理実行許可手段（例えばＣＰＵ１０４がステップＳ２５の処理を実行する部分など）と、前記タイマ割込み処理の実行中、前記可変表示の実行条件が成立したか否かを判定する実行条件判定手段（例えばＣＰＵ１０４がステップＳ３５１の処理を実行する部分など）と、前記実行条件判定手段により前記可変表示の実行条件が成立したと判定されたことに基づいて、前記乱数値記憶手段により記憶された乱数値を読み出す乱数値読出手段（例えばＣＰＵ１０４がステップＳ３５２の入賞処理を実行する部分など）と、前記乱数値読出手段により読み出された乱数値が所定の判定値データと合致するか否かを判定することにより、前記可変表示における表示結果を特定表示結果とするか否かを決定する表示結果決定手段（例えばＣＰＵ１０４がステップＳ３６１の可変表示開始時処理を実行する部分など）とを含み、前記遊技制御基板は、前記接触検出手段により遊技者の接触が検出され、かつ、前記貯留状態検出手段により前記貯留部に所定量以上の遊技媒体が貯留されていないことが検出されたことを条件に、前記発射手段による遊技媒体の発射を許可する発射許可信号を出力する発射許可信号出力手段（例えばＣＰＵ１０４がステップＳ２０１〜Ｓ２０７の処理を実行する部分や、ステップＳ２２１〜Ｓ２２６の処理を実行する部分など）を含み、前記乱数回路設定手段は、前記遊技制御用マイクロコンピュータごとに付与された固有の識別情報に基づく値を、前記所定の初期値に設定する初期値設定手段（例えばＣＰＵ１０４がステップＳ１０４、Ｓ１２６の処理を実行する部分など）を含み、前記払出制御用マイクロコンピュータは、前記払出数信号送信手段によって送信された払出数信号を受信する払出数信号受信手段（例えばＣＰＵ２１４がステップＳ６０１〜Ｓ６０７の処理を実行する部分など）と、前記払出数信号受信手段が受信した払出数信号から特定される遊技媒体の個数を累積的に未払出数として記憶する未払出数記憶手段（例えば賞球未払出カウンタ、及びＣＰＵ２１４がステップＳ６０８の処理を実行する部分など）と、前記払出手段による払出動作の終了までを特定可能な払出動作量を記憶する払出動作量記憶手段（例えば払出モータ回転カウンタなど）と、前記払出検出手段により検出された遊技媒体の個数に応じて、前記未払出数記憶手段が記憶する前記未払出数を更新する未払出数更新手段（例えばＣＰＵ２１４がステップＳ８０５、Ｓ８１４の処理を実行する部分など）と、前記未払出数記憶手段に前記未払出数が記憶されたことに基づいて、前記払出動作量を前記払出動作量記憶手段に記憶させる払出動作量設定手段（例えばＣＰＵ２１４がステップＳ８０５、Ｓ８０６、Ｓ８４３、Ｓ８４４の処理を実行する部分など）と、前記払出手段による払出動作の進行に応じて前記払出動作量記憶手段に記憶されている前記払出動作量を更新する払出動作量更新手段（例えばＣＰＵ２１４がステップＳ８２９の処理を実行する部分など）と、前記払出動作量記憶手段に記憶されている前記払出動作量が所定の終了値データと合致するか否かを判定する払出動作量判定手段（例えばＣＰＵ２１４がステップＳ８２５の処理を実行する部分など）と、前記払出動作量設定手段が前記払出動作量を前記払出動作量記憶手段に記憶させたことに応じて前記払出手段による払出動作の実行を開始させた後、前記払出動作量判定手段によって前記所定の終了値データと合致する旨の判定がなされるまで、連続して前記払出手段に払出動作を実行させる連続払出制御手段（例えばＣＰＵ２１４がステップＳ８２５にてＹｅｓと判定するまで、ステップＳ８２８の処理を実行する部分など）とを含み、前記払出動作量設定手段は、前記払出手段による払出動作の実行中に前記未払出数記憶手段により記憶された前記未払出数が増加したか否かを判定する払出中増加判定手段（例えばＣＰＵ２１４がステップＳ８４２の処理を実行する部分など）と、前記払出中増加判定手段によって前記未払出数が増加した旨の判定がなされたときに、前記未払出数における増加分を特定する増加分特定手段（例えばＣＰＵ２１４がステップＳ８４３の処理を実行する部分など）と、前記増加分特定手段が特定した増加分に対応した払出動作量を、前記払出動作量記憶手段が記憶する前記払出動作量に加算する払出動作量加算手段（例えばＣＰＵ２１４がステップＳ８４４の処理を実行する部分など）とを含み、さらに、前記遊技制御用マイクロコンピュータは、前記数値更新手段が更新可能な数値データの前記所定の更新範囲が異なる乱数回路（例えば初期値設定回路１７２Ａ、乱数生成回路１７３Ａ、セレクタ１７４Ａ、ＡＲＳＣ１７５Ａ、乱数列変更回路１７６Ａ、最大値比較回路１７７Ａ、乱数値レジスタ１８１Ａからなる１２ビット乱数生成用の構成部分と、クロック信号出力回路１７１、初期値設定回路１７２Ａ、乱数生成回路１７３Ｂ、セレクタ１７４Ｂ、ＢＲＳＣ１７５Ｂ、乱数列変更回路１７６Ｂ、最大値比較回路１７７Ｂ、反転回路１７８、タイマ回路１７９、ラッチ信号生成回路１８０、乱数値レジスタ１８１Ｂからなる１６ビット乱数生成用の構成部分など）を複数内蔵し、前記乱数回路設定手段は、前記複数の乱数回路のうちから使用する乱数回路を設定する使用乱数回路設定手段（例えばＫＲＳＳ１のビット４，３や、ＣＰＵ１０４によるステップＳ２１での読出値が「００」以外であるときに、ステップＳ２２にて１２ビット乱数初期設定処理と１６ビット乱数初期設定処理の少なくともいずれか一方を実行する部分など）と、前記使用乱数回路設定手段により使用すると設定された乱数回路以外の乱数回路の機能を停止させる乱数回路停止手段（例えばＫＲＳＳ１のビット４，３や、ＣＰＵ１０４によるステップＳ２１での読出値が「１１」以外であるときに、ステップＳ２２にて１２ビット乱数初期設定処理と１６乱数初期設定処理の少なくともいずれか一方を実行しない部分など）とを含む。
【発明の効果】
【００２４】
本発明は、以下に示す効果を有する。
【００２５】
請求項１に記載の遊技機によれば、遊技制御用マイクロコンピュータが、遊技機への電力供給が開始された後、タイマ割込み処理実行許可手段によってタイマ割込み処理の実行が許可される以前に、乱数回路に乱数を発生させるための設定を行う乱数回路設定手段を含むように構成されている。そして、乱数回路設定手段は、遊技制御用マイクロコンピュータごとに付与された固有の識別情報に基づく値を、数値更新手段により数値データを更新する際の初期値に設定する初期値設定手段を含むように構成されている。
これにより、電力供給が開始された後に更新が開始される乱数の初期値を遊技機ごとに異ならせることができ、可変表示における表示結果を特定表示結果とするか否かを決定するために用いられる乱数のランダム性を高めて、不正に特定表示結果が発生させられてしまうことを防止できる。
また、払出制御用マイクロコンピュータは、払出検出手段により検出された遊技媒体の個数に応じて未払出数記憶手段が記憶する未払出数を更新する未払出数更新手段や、未払出数記憶手段に未払出数が記憶されたことに基づいて払出動作量を払出動作量記憶手段に記憶させる払出動作量設定手段や、払出手段による払出動作の進行に応じて払出動作量記憶手段に記憶されている払出動作量を更新する払出動作量更新手段や、払出手段による払出動作を開始させた後、払出動作量判定手段によって払出動作量記憶手段に記憶されている払出動作量が所定の終了値データと合致する旨の判定がなされるまで、連続して払出動作を実行させる連続払出制御手段を含むように構成されている。そして、払出動作量設定手段は、払出手段による払出動作の実行中に未払出数記憶手段により記憶された未払出数が増加した旨の判定が払出中増加判定手段によってなされたときに、増加分特定手段によって特定された未払出数における増加分に対応した払出動作量を、払出動作量記憶手段が記憶する払出動作量に加算する払出動作量加算手段を含むように構成されている。
これにより、払出手段による払出動作が実行中であるときに、受信した払出数信号から特定される遊技媒体の個数に対応した払出動作量を払出動作量記憶手段に記憶されている払出動作量に加算できるように設定し、その払出動作量が所定の終了値データと合致するまで連続して払出動作を実行させるので、迅速な払出動作を実現することができる。
加えて、払出動作量記憶手段が記憶する払出動作量は払出手段による払出動作の進行に応じて更新され、払出動作量が所定の終了値データと合致したときには払出手段による払出動作が停止する。その一方で、未払出数記憶手段が記憶する未払出数は、払出手段による払出動作が終了した後に、払出検出手段により検出された遊技媒体の個数に基づいて更新されるので、遊技媒体が過剰に払い出されることを防止できる。さらに、未払出数記憶手段に未払出数が記憶されたことに基づいて払出動作量が払出動作量記憶手段に記憶されるので、未払出の遊技媒体があるときには払出手段による払出動作を再開させることができ、遊技媒体の払出数が不足することも防止できる。このようにして、払出制御の確実性を向上させることができる。
さらに、遊技制御用マイクロコンピュータが、数値更新手段により更新可能な数値データの所定の更新範囲が異なる乱数回路を複数内蔵するように構成されている。また、乱数回路設定手段は、複数の乱数回路のうちから使用する乱数回路を設定する使用乱数回路設定手段と、使用すると設定された乱数回路以外の乱数回路の機能を停止させる乱数回路停止手段とを含むように構成されている。
これにより、例えば可変表示の表示結果を特定表示結果とするか否かの判定などのように、各種の判定に応じて用いる乱数に対応した乱数回路の設定を行い、判定に要する処理負担を軽減することができる。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。図１は、本実施例におけるパチンコ遊技機１の正面図であり、主要部材の配置レイアウトを示す。パチンコ遊技機（遊技機）１は、大別して、遊技盤面を構成する遊技盤（ゲージ盤）２と、遊技盤２を支持固定する遊技機用枠（台枠）３とから構成されている。遊技盤２にはガイドレールによって囲まれた、ほぼ円形状の遊技領域が形成されている。
【００４０】
この遊技領域の中央位置上方には、識別可能な識別情報としての特別図柄を可変表示する特別図柄表示装置４が設けられている。特別図柄表示装置４の下方には、特別図柄とは異なる飾り図柄の可変表示や所定の演出表示となる画像表示などを行うことができる画像表示装置５が設けられている。画像表示装置５の下方には、始動入賞口を形成する普通可変入賞球装置６が配置されている。普通可変入賞球装置６の下方には、大入賞口を形成する特別可変入賞球装置７や、普通図柄表示器４０が設けられている。
【００４１】
特別図柄表示装置４は、例えば７セグメントやドットマトリクスのＬＥＤ等から構成されている。特別図柄表示装置４は、普通可変入賞球装置６への遊技球の入賞により始動条件が成立したことに基づいて行われる可変表示ゲームとしての特図ゲームにおいて、例えば「０」〜「９」を示す数字等から構成され、各々が識別可能な複数種類の識別情報として機能する特別図柄を可変表示する。各特別図柄には、例えば各図柄が示す数字と同一の番号といった、各々の特別図柄に対応した図柄番号が付されている。なお、特別図柄表示装置４は、遊技者に特定の停止図柄を把握しづらくさせるために、例えば「００」〜「９９」を示す数字など、より多種類の図柄を可変表示するように構成されていてもよい。
【００４２】
特別図柄表示装置４により行われる特図ゲームでは、特別図柄の変動を開始させた後、所定時間が経過すると、特別図柄の可変表示結果となる確定特別図柄を停止表示（導出表示）する。このとき、特別図柄表示装置４にて特図ゲームでの確定特別図柄として特定の特別図柄（大当り図柄）が停止表示されれば特定表示結果としての「大当り」となり、大当り図柄以外の特別図柄が停止表示されれば「ハズレ」となる。特図ゲームでの変動表示結果が「大当り」になると、特別可変入賞球装置７が備える開閉板を開閉させることによる特定遊技状態としての大当り遊技状態に制御される。この実施の形態におけるパチンコ遊技機１では、具体的な一例として、「７」を示す特別図柄を大当り図柄とし、それ以外の数値を示す特別図柄をハズレ図柄としている。
【００４３】
特別図柄表示装置４による特図ゲームでの確定特別図柄として大当り図柄である「７」を示す特別図柄が停止表示されたことに基づく大当り遊技状態では、特別可変入賞球装置７の開閉板により、所定の開放期間（例えば２９秒）あるいは所定個数（例えば１０個）の入賞球が発生するまでの期間において大入賞口が開放され、開放されている間は遊技盤２の表面を落下する遊技球が受け止められて大入賞口への入賞が可能となり、その後に大入賞口を閉鎖することで１回のラウンドが終了する。そして、この開閉サイクルとしてのラウンドを所定の上限回数（例えば１５ラウンド）まで繰り返すことができる。
【００４４】
画像表示装置５は、例えばＬＣＤ等から構成され、多数の画素（ピクセル）を用いたドットマトリクス方式による画面表示を行うものであればよい。画像表示装置５の表示画面では、特別図柄表示装置４による特図ゲームにおける特別図柄の変動表示に対応して、例えば３つに分割された表示領域としての可変表示部にて、各々が識別可能な複数種類の飾り図柄を変動可能に表示する可変表示を行う。具体的な一例として、画像表示装置５には、「左」、「中」、「右」の可変表示部が配置され、各可変表示部にて飾り図柄が可変表示される。そして、特別図柄表示装置４における特別図柄の変動表示が開始されるときには、画像表示装置５における「左」、「中」、「右」の各可変表示部にて飾り図柄の変動表示（例えば切替表示やスクロール表示）を開始させ、その後、特別図柄表示装置４における特別図柄の変動表示結果として確定特別図柄が停止表示されるときに、画像表示装置５における「左」、「中」、「右」の各可変表示部にて確定飾り図柄となる飾り図柄が停止表示されることで、可変表示結果となる飾り図柄の組合せが停止表示（導出表示）される。
【００４５】
例えば、「左」、「中」、「右」の各可変表示部では、１０種類の数字「０」〜「９」を示す図柄が飾り図柄として変動可能に表示される。各飾り図柄には、例えば各図柄が示す数字と同一の番号といった、各々の飾り図柄に対応した図柄番号が付されている。そして、「左」、「中」、「右」の各可変表示部では、飾り図柄の変動表示が開始されると、例えば図柄が示す番号の小さいものから大きいものへと切替表示やスクロール表示が行われ、「９」を示す飾り図柄が表示されると、次に「０」を示す飾り図柄が表示される。そして、特別図柄表示装置４における特図ゲームでの確定特別図柄が大当り図柄である場合すなわち大当り発生時には、「左」、「中」、「右」の可変表示部にて所定の組合せからなる確定飾り図柄が停止表示される。具体的には、特図ゲームでの確定特別図柄が大当り図柄としての「７」を示す特別図柄であるときには、「左」、「中」、「右」の可変表示部にて同一の飾り図柄が停止表示される。
【００４６】
この実施の形態では、図柄番号が奇数である飾り図柄「１」、「３」、「５」、「７」または「９」は確変大当り用の飾り図柄（確変図柄）として用いられ、図柄番号が偶数である飾り図柄「０」、「２」、「４」、「６」または「８」は通常大当り用の飾り図柄（通常図柄）として用いられる。飾り図柄の可変表示結果として「左」、「中」、「右」の可変表示部にて同一の確変図柄（確変大当り組合せの飾り図柄）が停止表示されたときには、確変大当りとなる。確変大当りとなったときには、その確変大当りに基づく大当り遊技状態が終了した後、所定回数（例えば１００回）の特図ゲームが実行されるまで、あるいは特図ゲームにおける可変表示結果が大当りとなるまで、特別遊技状態の１つとして、継続して確率変動制御（確変制御）が行われる高確率状態（確率向上状態）となる。この高確率状態では、特図ゲームにおいて可変表示結果として大当り図柄が停止表示されて大当り遊技状態に制御される確率が、通常遊技状態時よりも向上する。なお、通常遊技状態とは、大当り遊技状態や特別遊技状態以外の遊技状態のことであり、特図ゲームにおける確定特別図柄として大当り図柄が停止表示されて大当りとなる確率が、電源投入直後などの初期設定状態と同一に制御されている。
【００４７】
また、飾り図柄における可変表示結果として「左」、「中」、「右」の可変表示部にて同一の通常図柄（通常大当り組合せの飾り図柄）が停止表示されたときには、通常大当りとなる。この通常大当りとなるときには、確変制御が行われないため、特図ゲームにおける可変表示結果が大当りとなって大当り遊技状態に制御される確率は向上しない。その一方で、通常大当りとなるときには、所定回数（例えば１００回）の特図ゲームの実行が開始されるまで、または、大当りとなる特図ゲームの実行が開始されるまで、高確率状態とは異なる特別遊技状態の１つとして、継続して時間短縮制御（時短制御）が行われる時間短縮状態となるようにしてもよい。時短制御が行われる時間短縮状態では、各特図ゲームにて大当りとなって大当り遊技状態に制御される確率は通常遊技状態と同一であるが、特図ゲームにおいて特別図柄の可変表示が開始されてから表示結果となる確定特別図柄が停止表示されるまでの時間である可変表示時間は、通常遊技状態よりも短くなるように制御される。
【００４８】
「左」、「中」、「右」の各可変表示部では、アルファベットを示す複数種類の図柄が飾り図柄として変動可能に表示されてもよいし、所定のモチーフに関連する複数種類のキャラクタ図柄を飾り図柄として可変表示してもよい。また、画像表示装置５では、特別図柄表示装置４による特図ゲームの実行中において、様々な演出態様のいずれかによる演出表示を行うことができる。なお、可変表示部は固定的な領域であってもよいが、遊技進行中に、画像表示装置５の表示領域において移動したり大きさが変化してもよい。
【００４９】
加えて、画像表示装置５には、普通可変入賞球装置６に設けられた始動入賞口へ入った有効入賞球数すなわち保留記憶数（始動入賞記憶数）を表示する特別図柄始動記憶表示エリアが設けられていてもよい。特別図柄始動記憶表示エリアでは、保留記憶数が所定の上限値（例えば「４」）未満のときの有効始動入賞に対応して、入賞表示が行われる。具体的な一例として、通常青色であった表示を赤色表示に変化させる。この場合、飾り図柄の表示エリア（可変表示部）と特別図柄始動記憶表示エリアとを区分けして設けることで、飾り図柄の可変表示中も保留記憶数が表示された状態とすることができる。なお、特別図柄始動記憶表示エリアを飾り図柄の表示エリアの一部に設けるようにしてもよい。この場合には、飾り図柄の可変表示中には保留記憶数の表示を中断するようにすればよい。このように画像表示装置５に設けられた特別図柄始動記憶表示エリアにて保留記憶数を表示する場合には、演出制御基板１２に搭載された演出制御用マイクロコンピュータ１２０（図５）によって、特別図柄始動記憶表示エリアにおける保留記憶数の表示動作が制御されることになる。他方、特別図柄始動記憶表示エリアにて保留記憶数を表示する場合でも、主基板１１に搭載された遊技制御用マイクロコンピュータ１００（図５）の制御により保留記憶数が表示される表示器（特別図柄始動記憶表示器）が、画像表示装置５とは別個に設けられるとよい。
【００５０】
普通可変入賞球装置６は、ソレノイド８１（図５）によって垂直（通常開放）位置と傾動（拡大開放）位置との間で可動制御される一対の可動翼片を有するチューリップ型役物（普通電動役物）を備えて構成されている。普通可変入賞球装置６は、普通図柄表示器４０による普通図柄の可変表示（普通図ゲーム）で表示結果が「当り」となったときに、電動チューリップの可動翼片を所定時間が経過するまで傾動位置に制御することで、可動翼片を垂直位置としたときに比べて遊技球が始動入賞口に入賞しやすくなる。普通可変入賞球装置６に入賞した遊技球は、始動口スイッチ２２（図２、図５）によって検出される。始動口スイッチ２２によって遊技球が検出されたことに基づいて、所定個数（例えば４個）の賞球の払い出しが行われる。
【００５１】
特別可変入賞球装置７は、ソレノイド８２（図５）によって大入賞口を開成及び閉成制御する開閉板を備えて構成されている。この開閉板は、特別図柄表示装置４による特図ゲームでの変動表示結果などに基づいて大当り遊技状態となった場合に、所定期間あるいは所定個数の入賞球が発生するまでの期間において、遊技者にとって有利な第１の状態としてソレノイド８２により大入賞口を開放した状態となった後に、閉鎖する。他方、例えばパチンコ遊技機１の電源投入後に大当り遊技状態が発生する以前までのような通常時には、遊技者にとって不利な第２の状態としてソレノイド８２により大入賞口を閉鎖した状態にある。特別可変入賞球装置７にて開閉板が大入賞口を開放しているときに大入賞口に遊技球が入賞した場合には、カウントスイッチ２４（図２、図５）によって当該遊技球が検出されたことに基づいて、所定個数（例えば１５個）の賞球の払い出しが行われる。なお、大入賞口に入賞して遊技盤２の背面に導かれた遊技球のうち一方の領域（Ｖ入賞領域；特別領域）に入ったものはＶ入賞スイッチ２３（図５）で検出された後にカウントスイッチ２４で検出され、他方の領域に入った遊技球は、そのままカウントスイッチ２４で検出されるようにしてもよい。この場合、遊技盤２の背面には、大入賞口内の経路を切り替えるためのソレノイドが設けられていてもよい。あるいは、Ｖ入賞領域を設けずに、大当り遊技状態における最終ラウンド以外のラウンドでは、常に次のラウンドへと移行できるようにしてもよい。
【００５２】
また、遊技盤２には、複数の入賞口４２Ａ〜４２Ｄが設けられ、遊技球の入賞口４２Ａ〜４２Ｄへの入賞は、それぞれ入賞口スイッチ２５Ａ〜２５Ｄ（図２、図５）によって検出される。各入賞口４２Ａ〜４２Ｄによって遊技球が検出されたことに基づいて、所定個数（例えば７個）の賞球の払い出しが行われる。すなわち、各入賞口４２Ａ〜４２Ｄは、遊技媒体としての遊技球を受け入れて入賞を許容する領域として遊技盤２に設けられる入賞領域を構成している。また、普通可変入賞球装置６に形成された始動入賞口や、特別可変入賞球装置７に形成された大入賞口も、遊技媒体としての遊技球を受け入れて入賞を許容する入賞領域を構成する。
【００５３】
図２は、遊技盤２に設けられている入賞口などの入賞領域に入賞した遊技球を検出するための各スイッチの関係を示す説明図である。図２に示すように、始動口スイッチ２２、カウントスイッチ２４、及び入賞口スイッチ２５Ａ〜２５Ｄのそれぞれで検出された遊技球は、例えば遊技盤２の背面において、全入賞球検出スイッチ２９の設置位置に誘導され、全入賞球検出スイッチ２９によって検出される。ここで、全入賞球検出スイッチ２９の設置位置は、例えば各入賞球通路が合流する位置、またはその位置の下流側となる所定位置であればよい。
【００５４】
普通図柄表示器４０は、例えばＬＥＤ等から構成され、遊技領域に設けられた通過ゲート４１を通過した遊技球がゲートスイッチ２１（図５）によって検出されたことを始動条件とする普通図ゲームにおいて、点灯、点滅、発色などが制御される。この普通図ゲームにおいて所定の当りパターンで表示が行われると、普通図ゲームにおける表示結果が「当り」となる。ここで、前述の高確率状態と時間短縮状態では、普通図柄表示器４０による普通図ゲームにおける可変表示時間が通常遊技状態のときよりも短くなるとともに、各回の普通図ゲームで表示結果が当り図柄となる確率が向上するようにしてもよい。このときにはさらに、普通可変入賞球装置６における可動翼片の傾動時間が通常遊技状態のときよりも長くなるとともに、その傾動回数が通常遊技状態のときよりも増加するようにしてもよい。このように、高確率状態や時間短縮状態では、大当り遊技状態とは異なる遊技者にとって有利な遊技状態となる。ここで、時間短縮状態では、確変制御が行われず、大当り遊技状態となる確率は通常遊技状態のときと同じであるので、高確率状態の方が時間短縮状態よりも遊技者にとって有利である。
【００５５】
また、遊技盤２の遊技領域には、上記した構成以外にも、装飾ランプを内蔵した風車やアウト口等が設けられている。遊技領域外側の左右上部には、効果音を発する２つのスピーカ８Ｌ、８Ｒが設けられている。遊技領域の外周には、点灯又は点滅する遊技効果ランプ９が設けられている。加えて、遊技領域の外側左部には、賞球残数があるときに点灯する賞球ランプが設けられていてもよい。遊技領域の外側上部には、補給球が切れたときに点灯する球切れランプが設けられていてもよい。
【００５６】
遊技領域の下部表面には、打球供給皿としての上皿３２が設けられている。上皿３２に貯留された遊技球は、球送り装置６２（図５）が駆動することにより、発射装置１９（図５）に供給される。上皿３２の下部には、上皿３２に収容しきれない遊技球を貯留する余剰球受皿としての下皿３３が設けられている。遊技領域外側の右下位置には、発射装置１９を駆動して遊技球を遊技領域に向けて発射させるために遊技者等が操作する操作ノブ３０が設けられている。操作ノブ３０には、静電容量の変化に基づいて遊技者が操作ノブ３０に触れていることを検出するためのタッチセンサ７５（図５）や、所定間隔での遊技球発射を単発打ち制御に切り替える単発発射スイッチ（図示せず）などが設けられている。単発打ち制御は、単発発射スイッチからの信号の入力タイミングに応じて遊技球を発射する制御である。
【００５７】
さらに、図１には、パチンコ遊技機１に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット（以下、カードユニットという）７０も示されている。カードユニット７０には、使用可能状態であるか否かを示す使用可表示ランプ、カードユニット７０がいずれの側のパチンコ遊技機１に対応しているのかを示す連結台方向表示器、カードユニット７０内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、及びカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット７０を開放するためのカードユニット錠などが設けられている。
【００５８】
図３は、パチンコ遊技機１の背面図である。パチンコ遊技機１の背面上方には、補給球としての遊技球を貯留する貯留タンク６５と、貯留タンク６５に貯留された遊技球を払出ケース１７へ誘導する誘導レール６６とが設けられている。誘導レール６６の下流は、カーブ樋を介して２列の球通路８０ａ、８０ｂに連通されている。球通路８０ａ、８０ｂの上流には、球切れスイッチ２７が設置されている。一例として、球切れスイッチ２７は、球通路８０ａ、８０ｂに２７〜２８個の遊技球が存在することを検出できるような位置に係止片によって係止され、球貸しの一単位の最大払出個数（例えば１００円分に相当する２５個）以上が確保されていることを確認可能にする。
【００５９】
球通路８０ａ、８０ｂの下部には、払出ケース１７が固定されている。また、操作ノブ３０の背面付近には、遊技球を発射して遊技領域に打ち込むための発射装置１９が設けられている。さらに、パチンコ遊技機１の背面下方にて打球供給皿としての上皿３２と余剰球受皿としての下皿３３との間を連通する余剰球通路の側壁には、満タンスイッチ２６が設けられている。例えば、賞球または球貸し要求に基づく遊技球が多数払い出されて上皿３２が満杯になり、遊技球が連絡口に到達した後、さらに遊技球が払い出されると、遊技球は余剰球通路を経て下皿３３へと導かれる。なおも遊技球が払い出されて下皿３３に所定量以上の遊技球が貯留されたときには、例えば所定の感知レバーが満タンスイッチ２６を押圧してオンする。
【００６０】
図４は、払出ケース１７で覆われた払出装置の構成例を示す分解斜視図である。この例では、払出ケース１７としての３つのケース９１、９２、９３の内部に払出装置が形成されている。ケース９１、９２の上部には、それぞれ球通路８０ａ、８０ｂと連通する穴８５、８６が設けられており、遊技球は、この穴８５、８６から払出装置内へと流入する。払出装置は、賞球または球貸し要求に基づく遊技球を払い出すものであり、駆動源となる払出モータ５１を含む。払出モータ５１は、例えばステッピングモータを用いて構成されていればよい。この場合、払出モータ５１は、その１相目から４相目（φ１〜φ４）が払出制御基板１５から送られる払出駆動信号に従って励磁されることにより、回転動作が制御される。
【００６１】
払出モータ５１の回転軸にはギア８７が嵌合されており、払出ケース１７の内部には、ギア８７と噛み合うギア８８と、ギア８８の中心軸に嵌合して球載置部を有するカム８９と、カム８９の下方における球通路９０とが設けられている。例えば、穴８５、８６から流入した遊技球は、カム８９の球載置部が１／３回転するごとに１個ずつ交互に球通路９０を経て落下する。さらに、払出ケース１７の内部には、例えば発光素子（ＬＥＤ）と受光素子とから構成される払出モータ位置センサ７１が設けられている。払出モータ位置センサ７１は、払出モータ５１の回転位置を検出するためのセンサであり、払出モータ５１における遊技球の詰まり、いわゆる球噛みを検出するために用いられる。払出ケース１７の内部に設けられた球通路９０の下部には、例えば近接スイッチによる払出カウントスイッチ７２が配置されている。払出カウントスイッチ７２は、球通路９０から１個の遊技球が落下するごとにオンして、所定の検出信号を払出制御基板１５に送信する。
【００６２】
また、パチンコ遊技機１の背面には、電源基板１０、主基板１１、演出制御基板１２、音声制御基板１３、ランプ制御基板１４、払出制御基板１５、情報端子基板１６といった主要基板が、それぞれ適所に配置されている。図５は、電源基板１０、主基板１１、演出制御基板１２、音声制御基板１３、ランプ制御基板１４といった、各種の制御基板を中心としたシステム構成例を示すブロック図である。主基板１１と演出制御基板１２との間には、主基板１１から演出制御基板１２へと伝送される各種の制御信号を中継するための中継基板１８なども設けられている。また、払出制御基板１５とカードユニット７０との間には、インタフェース基板２０が介在している。なお、音声制御基板１３やランプ制御基板１４は、演出制御基板１２とは別個の独立した基板によって構成されてもよいし、演出制御基板１２にまとめられて１つの基板として構成されてもよい。
【００６３】
電源基板１０は、主基板１１、演出制御基板１２、払出制御基板１５等の各制御基板と独立して設置され、パチンコ遊技機１内の各制御基板及び機構部品が使用する電圧を生成する。例えば、電源基板１０では、図６に示すように、ＡＣ２４Ｖ、ＶＬＰ（直流＋２４Ｖ）、ＶＳＬ（直流＋３０Ｖ）、ＶＤＤ（直流＋１２Ｖ）、ＶＣＣ（直流＋５Ｖ）及びＶＢＢ（直流＋５Ｖ）を生成する。電源基板１０は、例えば図６に示すように、変圧回路３０１と、直流電圧生成回路３０２と、電源監視回路３０３と、クリアスイッチ３０４とを備えて構成されている。また、電源基板１０には、バックアップ電源となるコンデンサが設けられていてもよい。このコンデンサは、例えばＶＢＢ（直流＋５Ｖ）の電源ラインから充電されるものであればよい。加えて、電源基板１０には、パチンコ遊技機１内の各制御基板及び機構部品への電力供給を実行または遮断するための電源スイッチが設けられていてもよい。あるいは、電源スイッチは、パチンコ遊技機１において、電源基板１０の外に設けられていてもよい。
【００６４】
変圧回路３０１は、例えば商用電源が入力側（一次側）に印加されるトランスや、トランスの入力側に設けられた過電圧保護回路としてのバリスタなどを備えて構成されたものであればよい。ここで、変圧回路３０１が備えるトランスは、商用電源と電源基板１０の内部とを電気的に絶縁するためのものであればよい。変圧回路３０１は、その出力電圧として、ＡＣ２４Ｖを生成する。直流電圧生成回路３０２は、例えばＡＣ２４Ｖを整流素子で整流昇圧することによってＶＳＬを生成する整流平滑回路を含んでいる。ＶＳＬは、ソレノイド駆動用の電源電圧として用いられる。また、直流電圧生成回路３０２は、例えばＡＣ２４Ｖを整流素子で整流することによってＶＬＰを生成する整流回路を含んでいる。ＶＬＰは、ランプ点灯用の電源電圧として用いられる。加えて、直流電圧生成回路３０２は、例えばＶＳＬに基づいてＶＤＤおよびＶＣＣを生成するＤＣ−ＤＣコンバータを含んでいる。このＤＣ−ＤＣコンバータは、例えば１つまたは複数のスイッチングレギュレータと、そのスイッチングレギュレータの入力側に接続された比較的大容量のコンデンサとを含み、外部からパチンコ遊技機１への電力供給が停止したときに、ＶＳＬ、ＶＤＤ、ＶＢＢ等の直流電圧が比較的緩やかに低下するように構成されたものであればよい。ＶＤＤは、例えばゲートスイッチ２１、始動口スイッチ２２、Ｖ入賞スイッチ２３、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄ、全入賞球検出スイッチ２９といった、遊技媒体を検出する各種スイッチに供給され、これらのスイッチを作動させるために用いられる。
【００６５】
図６に示すように、変圧回路３０１から出力されたＡＣ２４Ｖは、例えば所定のコネクタや電源ラインを介して、払出制御基板１５へと伝送される。ＶＬＰは、例えば所定のコネクタや電源ラインを介して、ランプ制御基板１４へと伝送される。ＶＳＬは、例えば所定のコネクタや電源ラインを介して、主基板１１、ランプ制御基板１４、払出制御基板１５、発射装置１９、球送り装置６２へと伝送される。発射装置１９に伝送されたＶＳＬは、発射用ソレノイド１９Ｃ（図８）を駆動（励磁）して遊技球を発射するための駆動電圧（ソレノイド駆動電圧）として用いられる。球送り装置６２に伝送されたＶＳＬは、球送り用のソレノイドまたはモータを駆動して遊技球を発射装置１９に供給するための駆動電圧として用いられる。なお、発射装置１９や球送り装置６２に供給される駆動電圧は、電源基板１０から直接に供給されてもよいし、主基板１１などの他の制御基板を介して供給されてもよい。ＶＤＤ及びＶＣＣは、例えば所定のコネクタや電源ラインを介して、主基板１１、ランプ制御基板１４及び払出制御基板１５へと伝送される。ＶＢＢは、例えば所定のコネクタや電源ラインを介して、主基板１１及び払出制御基板１５へと伝送される。なお、演出制御基板１２及び音声制御基板１３には、ランプ制御基板１４を経由して各電圧が供給されればよい。
【００６６】
電源監視回路３０３は、例えば停電監視リセットモジュールＩＣを用いて構成され、電源断信号を出力する電源監視手段を実現する回路である。例えば、電源監視回路３０３は、パチンコ遊技機１において用いられる所定電圧（一例としてＶＬＰ）が所定値（一例として＋２０Ｖ）以下になった期間が、予め決められている時間（一例として５６ミリ秒）以上継続したときに、電源断信号を出力する。あるいは、電源監視回路３０３は、パチンコ遊技機１において用いられる所定電圧が所定値以下になると、直ちに電源断信号を出力するようにしてもよい。電源断信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。電源監視回路３０３から出力された電源断信号は、例えば電源基板１０に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、払出制御基板１５へと伝送される。なお、外部からパチンコ遊技機１に供給される電力の供給停止を検出するための条件としては、パチンコ遊技機１において用いられる所定電圧が所定値以下になったことに限られず、外部からの電力が途絶えたことを検出できる任意の条件であればよい。例えば、ＡＣ２４Ｖ等の交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をデジタル化した信号を監視して、デジタル信号が平坦になったことをもって交流波が途絶えたことの検出条件としてもよい。
【００６７】
また、電源監視回路３０３は、例えば所定電圧（一例としてＶＣＣ）が所定値（一例として＋５Ｖ強）以下になったときに、リセット信号を出力してもよい。リセット信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。電源監視回路３０３から出力されたリセット信号は、例えば電源基板１０に搭載された出力ドライバ回路によって増幅された後に所定のコネクタや信号ラインを介して、主基板１１、ランプ制御基板１４及び払出制御基板１５へと伝送される。なお、演出制御基板１２には、ランプ制御基板１４を経由してリセット信号が伝送されればよい。さらに、リセット信号を出力する回路は、電源監視回路３０３とは別個に設けられたウォッチドッグタイマ内蔵ＩＣ、あるいはシステムリセットＩＣなどを用いて構成されてもよい。
【００６８】
パチンコ遊技機１への電力供給が停止するときには、電源監視回路３０３が、電源断信号を出力（ローレベルに設定）してから所定期間が経過したときに、リセット信号を出力（ローレベルに設定）する。ここでの所定期間は、例えば主基板１１に搭載されている遊技制御用マイクロコンピュータ１００及び払出制御基板１５に搭載されている払出制御用マイクロコンピュータ１５０が、所定の電源断処理（例えば図２７に示すステップＳ２７のメイン側電源断処理や、図４６に示すステップＳ５２２の払出側電源断処理など）を実行するのに十分な時間であればよい。すなわち、電源監視回路３０３は、停電信号としての電源断信号を出力した後、遊技制御用マイクロコンピュータ１００及び払出制御用マイクロコンピュータ１５０が所定の電源断処理を実行完了してから、動作停止信号としてのリセット信号を出力（ローレベルに設定）する。電源監視回路３０３から出力されたリセット信号を受信した遊技制御用マイクロコンピュータ１００や払出制御用マイクロコンピュータ１５０は、動作停止状態となり、各種の制御処理の実行が停止される。また、パチンコ遊技機１への電力供給が開始され、例えば所定電圧（一例としてＶＣＣ）が所定値（一例として＋５Ｖ強）を超えたときに、電源監視回路３０３はリセット信号の出力を停止（ハイレベルに設定）する。
【００６９】
図７は、パチンコ遊技機１への電力供給が開始されたとき、及び電力供給が停止するときにおける、ＡＣ２４Ｖ、ＶＬＰ、ＶＣＣ、リセット信号及び電源断信号の状態を、模式的に示すタイミング図である。図７に示すように、パチンコ遊技機１への電力供給が開始されたときに、ＶＬＰ及びＶＣＣは徐々に規定値（直流＋２４Ｖ及び直流＋５Ｖ）に達する。このとき、ＶＬＰが第１の所定値を超えると、電源監視回路３０３は電源断信号の出力を停止（ハイレベルに設定）してオフ状態とする。また、ＶＣＣが第２の所定値を超えると、電源監視回路３０３はリセット信号の出力を停止（ハイレベルに設定）してオフ状態とする。他方、パチンコ遊技機１への電力供給が停止するときに、ＶＬＰ及びＶＣＣは徐々に低下する。このとき、ＶＬＰが第１の所定値にまで低下すると、電源監視回路３０３は電源断信号をオン状態として出力（ローレベルに設定）する。また、ＶＣＣが第２の所定値にまで低下すると、電源監視回路３０３はリセット信号をオン状態として出力（ローレベルに設定）する。
【００７０】
図６に示す電源基板１０が備えるクリアスイッチ３０４は、例えば押しボタン構造を有し、押下などの操作に応じてクリア信号を出力する。クリア信号は、例えばローレベルとなることでオン状態となる電気信号であればよい。クリアスイッチ３０４から出力されたクリア信号は、例えば所定のコネクタや信号ラインを介して、主基板１１へと伝送される。また、クリアスイッチ３０４の操作がなされていないときには、クリア信号の出力を停止（ハイレベルに設定）する。なお、クリアスイッチ３０４は、押しボタン構造以外の他の構成（例えばスライドスイッチ構造やトグルスイッチ構造、ダイヤルスイッチ構造など）であってもよい。
【００７１】
図５に示す主基板１１は、メイン側の制御基板であり、パチンコ遊技機１における遊技の進行を制御するための各種回路が搭載されている。主基板１１は、主として、特図ゲームにおいて用いる乱数の設定機能、所定位置に配設されたスイッチ等からの信号の入力を行う機能、演出制御基板１２や払出制御基板１５などからなるサブ側の制御基板に宛てて、それぞれに指令情報の一例となる制御コマンドを制御信号として出力して送信する機能、ホールの管理コンピュータに対して各種情報を出力する機能などを備えている。また、主基板１１は、特別図柄表示装置４を構成する各セグメントの点灯／消灯制御を行うことにより特別図柄表示装置４における特別図柄の変動表示を制御する一方で、普通図柄表示器４０の点灯／点滅／発色制御を行うことにより普通図柄表示器４０における普通図柄の変動表示を制御する。
【００７２】
加えて、主基板１１は、発射装置１９や球送り装置６２を駆動させるか停止させるかの判定処理を実行し、駆動させるときには所定の許可信号を送信する機能を備えている。例えば、発射装置１９を駆動させるときには、主基板１１から発射装置１９に対してオン状態の発射許可信号が送信される。また、球送り装置６２を駆動させるときには、主基板１１から球送り装置６２に対してオン状態の供給許可信号が送信される。
【００７３】
図８は、この実施の形態で用いられる発射装置１９の一構成例を示すブロック図である。図８に示す発射装置１９は、ＡＮＤ回路１９Ａと、ソレノイド駆動電圧生成回路１９Ｂと、発射用ソレノイド１９Ｃとを備えて構成される。ＡＮＤ回路１９Ａは、その入力端子に主基板１１から伝送された発射許可信号と、インタフェース基板２０を介してカードユニット７０から伝送された接続信号であるＶＬ信号とが入力される。そして、ＡＮＤ回路１９Ａからの出力信号は、ソレノイド駆動電圧生成回路１９Ｂに入力される。ソレノイド駆動電圧生成回路１９Ｂは、ＡＮＤ回路１９Ａからの出力信号がオン状態であるときに、電源基板１０から供給されたＶＳＬを用いて操作ノブ３０からの操作量検出信号に応じたソレノイド駆動電圧を生成する。他方、ＡＮＤ回路１９Ａからの出力信号がオフ状態であるときには、ソレノイド駆動電圧が生成されない。発射用ソレノイド１９Ｃは、ソレノイド駆動電圧生成回路１９Ｂからソレノイド駆動電圧の供給を受けて励磁され、その中心励磁磁気力により、例えば遊技球を直接加速させたり、あるいは打球槌を加速させて遊技球を打撃したりすることで、遊技球を遊技領域に向けて発射させる。
【００７４】
なお、ソレノイド駆動電圧生成回路１９Ｂは、操作ノブ３０からの操作量検出信号に応じたソレノイド駆動電圧を生成するものに限定されず、ＡＮＤ回路１９Ａからの出力信号がオン状態であるときに、電源基板１０から供給されたＶＳＬを用いて一定のソレノイド駆動電圧を生成するものであってもよい。そして、例えば操作ノブ３０の操作量に応じて、遊技球の発射位置を調整することや、打球槌の移動量を調整することなどといった、機械的な制御により、遊技球の発射速度を変更できるようにしてもよい。また、カードユニット７０から出力されたＶＬ信号は、インタフェース基板２０から発射装置１９に直接入力されてもよいし、例えば払出制御基板１５などの制御基板を介して発射装置１９に入力されてもよい。
【００７５】
図５に示すように、主基板１１には、ゲートスイッチ２１、始動口スイッチ２２、Ｖ入賞スイッチ２３、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄ、全入賞球検出スイッチ２９からの検出信号を受信するための配線が接続されている。なお、ゲートスイッチ２１、始動口スイッチ２２、Ｖ入賞スイッチ２３、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄ、全入賞球検出スイッチ２９は、例えばセンサと称されるものなどのように、遊技媒体としての遊技球を検出できる任意の構成を有するものであればよい。ここで、始動口スイッチ２２、カウントスイッチ２４、及び入賞口スイッチ２５Ａ〜２５Ｄの各スイッチは、遊技領域に設けられた複数の入賞領域それぞれに対応して設けられ、各入賞領域への遊技球の入賞を検出して入賞検出信号を出力する入賞口スイッチとなる。また、ゲートスイッチ２１のような通過ゲート４１を通過した遊技球を検出するものであっても、賞球の払い出しが行われるものであれば、入賞領域への遊技球の入賞を検出して入賞検出信号を出力する入賞口スイッチに含まれることになる。さらに、始動口スイッチ２２は、遊技球が始動入賞口に入賞したことを検出し、特別図柄表示装置４による特図ゲームを実行するための始動条件が成立したことを示す始動入賞信号を出力する始動入賞検出スイッチとなる。
【００７６】
加えて、主基板１１には、普通可変入賞球装置６における可動翼片の傾動制御を行うための指令信号をソレノイド８１に送信するための配線や、特別可変入賞球装置７における開閉板の開閉制御を行うための指令信号をソレノイド８２に送信するための配線が接続されている。さらに、主基板１１には、特別図柄表示装置４や普通図柄表示器４０の表示制御を行うための指令信号を送信するための配線や、エラー解除スイッチ３１からの検出信号を受信するための配線が、接続されている。ここで、エラー解除スイッチ３１は、遊技制御用マイクロコンピュータ１００が所定のエラー状態に制御されているときに、ソフトウェアリセットによって、そのエラー状態を解除するためのスイッチである。また、主基板１１には、遊技者が操作ノブ３０に触れているか否かを検出するタッチセンサ７５からのタッチセンサ検出信号が入力される。タッチセンサ７５は、タッチリングにより操作ノブ３０における遊技者の接触が検出されたときにオン状態となるタッチセンサ検出信号を、主基板１１へと出力する。
【００７７】
主基板１１から演出制御基板１２に向けて出力される制御信号は、中継基板１８によって中継される。ここで、主基板１１には、例えば中継基板１８に対応して主基板側コネクタが設けられるとともに、この主基板側コネクタと遊技制御用マイクロコンピュータ１００との間に、出力バッファ回路が接続されていてもよい。この出力バッファ回路は、例えば主基板１１から中継基板１８を介して演出制御基板１２へ向かう方向にのみ制御信号を通過させることができ、中継基板１８から主基板１１への信号の入力を阻止する。従って、演出制御基板１２や中継基板１８の側から主基板１１の側に信号が伝わる余地はない。
【００７８】
中継基板１８には、例えば主基板１１から演出制御基板１２に対して出力される制御信号を伝送するための配線毎に、伝送方向規制回路が設けられていればよい。各伝送方向規制回路は、主基板１１に対応して設けられた主基板用コネクタにアノードが接続されるとともに演出制御基板１２に対応して設けられた演出制御基板用コネクタにカソードが接続されたダイオードと、一端がダイオードのカソードに接続されるとともに他端がグランド（ＧＮＤ）接続された抵抗とから構成されている。この構成により、各伝送方向規制回路は、演出制御基板１２から中継基板１８への信号の入力を阻止して、主基板１１から演出制御基板１２へ向かう方向にのみ信号を通過させることができる。従って、演出制御基板１２の側から主基板１１側に信号が伝わる余地はない。なお、主基板への不正な信号の入力を防ぐために、主基板とサブ基板との間にサブ基板から主基板への信号入力を規制する一方向データ転送手段を設けたものは既に提案されている（例えば、特開平８−２２４３３９号公報などを参照）。しかしながら、主基板と一方向データ転送手段との間には主基板への信号入力を規制するものがないため、一方向データ転送手段に改変を加えることで主基板に不正な信号を入力させることが可能であった。この実施の形態では、中継基板１８において制御信号を伝送するための配線毎に伝送方向規制回路を設けるとともに、主基板１１にて遊技制御用マイクロコンピュータ１００と主基板側コネクタの間に出力バッファ回路を設けることで、外部から主基板１１への不正な信号の入力を、より確実に防止することができる。
【００７９】
演出制御基板１２は、主基板１１とは独立したサブ側の制御基板であり、中継基板１８を介して主基板１１から送信された制御コマンドを受信して、画像表示装置５、スピーカ８Ｌ、８Ｒ及び遊技効果ランプ９といった演出用の電気部品を制御するための各種回路が搭載されている。すなわち、演出制御基板１２は、画像表示装置５における表示動作や、スピーカ８Ｌ、８Ｒからの音声出力動作、遊技効果ランプ９におけるランプの点灯動作及び消灯動作などを制御する機能を備えている。演出制御基板１２には、音声制御基板１３やランプ制御基板１４に制御信号を伝送する配線や、画像表示装置５に画像データ信号を伝送する配線などが接続されている。
【００８０】
主基板１１と払出制御基板１５との間では、例えば双方向でシリアル通信を行うことにより、各種の制御コマンドや通知信号が伝送される。払出制御基板１５は、主基板１１とは独立したサブ側の制御基板であり、主基板１１から送信された制御コマンドや通知信号を受信して、払出モータ５１による遊技球の払出動作を制御するための各種回路が搭載されている。すなわち、払出制御基板１５は、払出モータ５１による賞球の払出動作を制御する機能を備えている。また、払出制御基板１５は、インタフェース基板２０を介したカードユニット７０との通信結果に応じて払出モータ５１の駆動制御を行って、球貸し動作を制御する機能を備えている。払出制御基板１５には、払出モータ位置センサ７１や払出カウントスイッチ７２、エラー解除スイッチ７３からの検出信号を受信するための配線が接続されている。加えて、払出制御基板１５には、払出モータ５１における遊技球の払出制御を行うための指令信号を送信するための配線や、エラー表示用ＬＥＤ７４における表示制御を行うための指令信号を送信するための配線、インタフェース基板２０を介してカードユニット７０との間で通信を行うための配線などが接続されている。また、払出制御基板１５には、カードユニット７０からの接続信号であるＶＬ信号を分岐させて発射装置１９に伝送させるための配線が接続されていてもよい。
【００８１】
エラー解除スイッチ７３は、払出制御用マイクロコンピュータ１５０が所定のエラー状態に制御されているときに、ソフトウェアリセットによって、そのエラー状態を解除するためのスイッチである。エラー表示用ＬＥＤ７４は、例えば７セグメントＬＥＤにより構成され、払出制御用マイクロコンピュータ１５０にてセットされたエラーフラグなどに基づいて、各種のエラーに対応するエラーコードを表示するためのものである。
【００８２】
中継基板１８を介して主基板１１から演出制御基板１２に対して送信される制御コマンドは、例えば電気信号として伝送される演出制御コマンドである。演出制御コマンドには、例えば画像表示装置５における画像表示動作を制御するために用いられる表示制御コマンドや、スピーカ８Ｌ、８Ｒからの音声出力を制御するために用いられる音声制御コマンド、遊技効果ランプ９や装飾用ＬＥＤの点灯動作などを制御するために用いられるランプ制御コマンドが含まれている。図９は、この実施の形態で用いられる表示制御コマンドの内容の一例を示す説明図である。表示制御コマンドは、例えば２バイト構成であり、１バイト目はＭＯＤＥ（コマンドの分類）を示し、２バイト目はＥＸＴ（コマンドの種類）を表す。ＭＯＤＥデータの先頭ビット（第７ビット［ビット７］）は必ず“１”とされ、ＥＸＴデータの先頭ビットは“０”とされる。なお、図９に示された表示制御コマンドの形態は一例であって、他のコマンド形態を用いてもよい。また、この例では、表示制御コマンドが２バイト構成であるとしているが、表示制御コマンドを構成するバイト数は、１であってもよいし、３以上の複数であってもよい。この実施の形態では、表示制御コマンドとして、可変表示開始コマンド、表示結果通知コマンド、大当り開始コマンド、大当り終了コマンド、デモ表示コマンド、賞球過多報知コマンド、賞球不足報知コマンド、満タン報知開始コマンド、満タン報知終了コマンドなどが、予め用意されている。
【００８３】
図９に示す例において、コマンド８０ＸＸｈは、特別図柄表示装置４による特図ゲームで特別図柄の変動表示を開始するときに送信される可変表示開始コマンドである。なお、ＸＸｈは、不特定の１６進数であることを示し、表示制御コマンドによる指示内容に応じて任意に設定される値であればよい。可変表示開始コマンドは、例えば特別図柄表示装置４における特別図柄の変動表示を開始してから確定特別図柄を停止表示するまでの時間である特別図柄の可変表示時間（総変動時間）や、飾り図柄の可変表示態様をリーチとしてからハズレとなるリーチハズレとするか、リーチとすることなくハズレとなる通常ハズレとするかなどを示すＥＸＴデータを含んでいる。
【００８４】
ここで、リーチとは、画像表示装置５にて導出表示した飾り図柄が大当り組合せの一部を構成しているときに未だ導出表示していない飾り図柄（リーチ変動図柄という）については変動表示が行われている表示態様、あるいは、全て又は一部の飾り図柄が大当り図柄の全て又は一部を構成しながら同期して変動表示している表示態様のことである。具体的には、予め定められた組合せ有効ライン上の一部の可変表示部に予め定められた大当り組合せを構成する図柄を停止表示しているときに未だ停止表示していない組合せ有効ライン上の可変表示部において変動表示が行われている表示態様（例えば、表示領域に設けられた「左」、「中」、「右」の可変表示部のうち「左」、「右」の可変表示部には大当り図柄の一部となる（例えば「７」）が停止表示されている状態で「中」の可変表示部は未だ変動表示が行われている表示態様）、あるいは、有効ライン上の可変表示部の全て又は一部の飾り図柄が大当り図柄の全て又は一部を構成しながら同期して変動表示している表示態様（例えば、表示領域に設けられた「左」、「中」、「右」の可変表示部の全てで変動表示が行われてどの状態が表示されても同一の飾り図柄が揃っている態様で変動表示が行われている表示態様）である。また、リーチの際に、通常と異なる演出がランプや音などで行われることがある。この演出をリーチ演出という。また、リーチの際に、画像表示装置５にてキャラクタ（人物等を模した演出表示であり、飾り図柄とは異なるもの）を表示させたり、背景の表示態様を変化させたり、飾り図柄の変動表示態様を変化させたりすることがある。このキャラクタの表示や背景の表示態様、飾り図柄の変動態様の変化を、リーチ演出表示という。
【００８５】
コマンド９０ＸＸｈは、特別図柄表示装置４における特図ゲームでの確定特別図柄や、遊技状態が高確率状態となる確変大当りとなるか否かなどを示す表示結果通知コマンドである。具体的な一例として、コマンド９０００ｈは、特図ゲームでの確定特別図柄がハズレ図柄となることを示すコマンドである。また、コマンド９００１ｈは、特図ゲームでの確定特別図柄が大当り図柄としての「７」を示す特別図柄であること、及び遊技状態が高確率状態にはならない通常大当りであることを示すコマンドである。さらに、コマンド９００２ｈは、特図ゲームでの確定特別図柄が大当り図柄としての「７」を示す特別図柄であること、及び遊技状態が高確率状態になる確変大当りであることを示すコマンドである。こうした表示結果通知コマンドに基づき、演出制御基板１２の側では、飾り図柄の可変表示が行われた後に停止表示される飾り図柄の表示結果の種類をハズレとするか通常大当りとするか確変大当りとするかを決定することが可能になる。
【００８６】
コマンドＡ０００ｈは、特別図柄表示装置４による特図ゲームや画像表示装置５における飾り図柄の可変表示にて大当りとなったことにより、大当り遊技状態が開始されることを示す大当り開始コマンドである。コマンドＡ１００ｈは、大当り遊技状態が終了することを示す大当り終了コマンドである。コマンドＢ０００ｈは、画像表示装置５における画像表示等によるデモンストレーション表示（デモ表示）が可能になったことを示すデモ表示コマンドである。
【００８７】
コマンドＤ０００ｈは、賞球の過大な払出である賞球過多が生じた旨を報知させるための賞球過多報知コマンドである。コマンドＤ００１ｈは、賞球の過小な払出である賞球不足が生じた旨を報知させるための賞球不足報知コマンドである。コマンドＤ００４ｈは、下皿３３に所定量以上の遊技球が貯留された旨を報知させるための満タン報知開始コマンドである。コマンドＤ００５ｈは、満タン報知開始コマンドに基づいて開始された報知を終了させるための満タン報知終了コマンドである。
【００８８】
主基板１１から払出制御基板１５に対して送信される制御コマンドは、例えば電気信号として伝送される払出制御コマンドである。なお、払出制御コマンドは、主基板１１に搭載された遊技制御用マイクロコンピュータ１００が備えるＣＰＵ１０４（図１１）によって払出制御コマンドを送信するための設定が行われ、その設定に基づいて遊技制御用マイクロコンピュータ１００が備えるシリアル通信回路１０８（図１１）により払出制御基板１５に対して送信されるものである。以下の説明では、主基板１１から払出制御基板１５に対する払出制御コマンドの送信動作に、こうした遊技制御用マイクロコンピュータ１００に設けられたＣＰＵ１０４やシリアル通信回路１０８による一連の動作が含まれているものとする。また、払出制御基板１５から主基板１１に対しては、例えば電気信号としての払出通知コマンドなどが送信される。なお、払出通知コマンドは、払出制御基板１５に搭載された払出制御用マイクロコンピュータが備えるＣＰＵによって払出通知コマンドを送信するための設定が行われ、その設定に基づいて払出制御用マイクロコンピュータ１５０が備えるシリアル通信回路により主基板１１に対して送信されるものである。以下の説明では、払出制御基板１５から主基板１１に対する払出通知コマンドの送信動作に、こうした払出制御用マイクロコンピュータ１５０に設けられたＣＰＵやシリアル通信回路による一連の動作が含まれているものとする。加えて、以下の説明では、主基板１１及び払出制御基板１５のいずれか一方から他方に対する所定動作の指令だけでなく、一方での動作状態を他方に通知する通知信号も、払出制御コマンドや払出通知コマンドに含まれるものとする。
【００８９】
図１０は、主基板１１と払出制御基板１５との間で送受信されるコマンドの構成例を示す説明図である。図１０（Ａ）に示すように、主基板１１から払出制御基板１５に対して送信される払出制御コマンドと、払出制御基板１５から主基板１１に対して送信される払出通知コマンドは、いずれも２バイト構成であり、１バイト目を反転させることで２バイト目となるように構成されている。そして、各バイトの先頭ビット（第７ビット［ビット７］）をヘッダとして、そのヘッダを異ならせることにより、１バイト目と２バイト目の区別を可能にしている。例えば、１バイト目におけるヘッダは“０”の固定値に設定されている一方で、２バイト目におけるヘッダは“１”の固定値に設定されている。
【００９０】
主基板１１から払出制御基板１５に対して送信される払出制御コマンドには、払出数指定コマンドやＡＣＫフィードバックコマンドが含まれている。払出数指定コマンドは、払い出すべき賞球の数を示すコマンドであり、例えば図１０（Ｂ）に示すようなビット値で構成されている。ここで、払出数指定コマンドにおける１バイト目及び２バイト目の第３〜第０ビット［ビット３−０］は、払い出すべき賞球の個数に応じて設定される値であればよい。図１０（Ｃ）には、この実施の形態で用いられる払出数指定コマンドが１６進数表示で示されている。図１０（Ｃ）に示すコマンドＥ１１Ｅｈは、払い出すべき賞球個数が１５個であることを示す第１払出数指定コマンドである。コマンドＥ９１６ｈは、払い出すべき賞球個数が７個であることを示す第２払出数指定コマンドである。コマンドＥＣ１３ｈは、払い出すべき賞球個数が４個であることを示す第３払出数指定コマンドである。この実施の形態では、始動口スイッチ２２で遊技球が検出されると４個の賞球払出を行い、入賞口スイッチ２５Ａ〜２５Ｄのいずれかで遊技球が検出されると７個の賞球払出を行い、カウントスイッチ２４で遊技球が検出されると１５個の賞球払出を行う。
【００９１】
図１０（Ｃ）に示すコマンドＦ００Ｆｈは、払出制御基板１５から主基板１１に対して送信された賞球ＡＣＫコマンドを主基板１１の側で受信したことを示す受信確認受付信号となるＡＣＫフィードバックコマンドである。
【００９２】
図１０（Ｄ）は、払出制御基板１５から主基板１１に対して送信される払出通知コマンドの構成例を示す説明図である。払出通知コマンドには、賞球ＡＣＫコマンドが含まれている。賞球ＡＣＫコマンドは、主基板１１から払出制御基板１５に対して送信された払出数指定コマンドを払出制御基板１５の側で受信したことを示す受信確認信号となるコマンドＡ０Ｆ５ｈである。
【００９３】
図５に示すように、主基板１１には、遊技制御用マイクロコンピュータ１００やスイッチ回路１１１、ソレノイド回路１１２が搭載されている。スイッチ回路１１１には、ゲートスイッチ２１、始動口スイッチ２２、Ｖ入賞スイッチ２３、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄ、満タンスイッチ２６、球切れスイッチ２７、全入賞球検出スイッチ２９、エラー解除スイッチ３１などの各種スイッチからの検出信号や、タッチセンサ７５などの各種センサからの検出信号が入力される。スイッチ回路１１１は、これらの検出信号を取り込んで、遊技制御用マイクロコンピュータ１００に伝送する。ソレノイド回路１１２は、遊技制御用マイクロコンピュータ１００からの指令に従って各ソレノイド８１、８２に対する駆動信号を出力する。
【００９４】
図１１は、主基板１１に搭載された遊技制御用マイクロコンピュータ１００の構成例を示す図である。図１１に示す遊技制御用マイクロコンピュータ１００は、例えば１チップマイクロコンピュータであり、クロック回路１０１と、リセット／割込みコントローラ１０２と、乱数回路１０３と、ＣＰＵ（Central Processing Unit）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＲＡＭ（Random Access Memory）１０６と、タイマ回路（ＰＩＴ）１０７と、シリアル通信回路（ＳＣＩ）１０８と、外部バスインタフェース１０９とを備えて構成されている。
【００９５】
クロック回路１０１は、例えばＣＰＵ１０４といった、遊技制御用マイクロコンピュータ１００内の各回路に供給するクロック信号を生成する回路である。具体的な一例として、クロック回路１０１は、所定のクロック入力端子に入力された外部クロックを４分周して内部システムクロックＣＬＫを生成し、生成した内部システムクロックＣＬＫをＣＰＵ１０４などの遊技制御用マイクロコンピュータ１００内の各回路に供給する。
【００９６】
リセット／割込みコントローラ１０２は、遊技制御用マイクロコンピュータ１００内で発生する各種リセット、割込み要求を制御するためのものである。リセット／割込みコントローラ１０２が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、所定のＳＲＳＴ端子に一定の期間にわたりローレベルの信号が入力されたときに発生するリセットである。ユーザリセットは、所定のＵＲＳＴ端子に一定の期間にわたりローレベルの信号が入力されたことや、ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したこと、指定エリア外走行禁止（ＩＡＴ）信号が発生したこと、あるいは、インターバルリセット信号が発生したことなど、所定の要因により発生するリセットである。
【００９７】
また、リセット／割込みコントローラ１０２が制御する割込みには、Ｘクラス割込み（ＸＩＲＱ）、Ｉクラス割込み（ＩＲＱ）、ソフトウェア割込み（ＳＷＩ）、イリーガルオペコードトラップ（ＩＬＧＯＰ）といった４種類の割込みが含まれている。Ｘクラス割込みは、所定のＸＩＲＱ端子に一定の期間にわたりローレベルの信号が入力されたときに発生する割込みである。Ｉクラス割込みは、ユーザプログラムにより割込み要求の受付を許可／禁止できる割込みであり、所定のＩＲＱ端子に一定の期間にわたりローレベルの信号が入力されたことや、タイマ回路１０７からの割込み要求信号が発生したこと、シリアル通信回路１０８からの割込み要求信号が発生したことなど、予め定められた各種の割込み要因により発生する割込みである。
【００９８】
乱数回路１０３は、例えば１２ビット乱数と１６ビット乱数などといった、更新範囲が互いに異なる複数種類の乱数を生成する回路である。図１２は、乱数回路１０３の構成例を示すブロック図である。図１２に示すように、乱数回路１０３は、クロック信号出力手段としての機能の全部または一部を備えるクロック信号出力回路１７１と、初期値設定手段としての機能の全部または一部を備える初期値設定回路１７２Ａ、１７２Ｂと、数値更新手段としての機能を備える乱数生成回路１７３Ａ、１７３Ｂと、順列変更方式選択手段としての機能を備えるセレクタ１７４Ａ、１７４Ｂと、数値順列変更レジスタとしての機能を備えるＡＲＳＣ１７５Ａ、ＢＲＳＣ１７５Ｂと、数値順列変更手段としての機能を備える乱数列変更回路１７６Ａ、１７６Ｂと、最大値比較回路１７７Ａ、１７７Ｂと、クロック信号反転手段としての機能を備える反転回路１７８と、タイマ手段としての機能を備えるタイマ回路１７９と、ラッチ信号出力手段としての機能を備えるラッチ信号生成回路１８０と、乱数値格納手段としての機能を備える乱数値レジスタ１８１Ａ、１８１Ｂとから構成されている。なお、初期値設定回路１７２Ａ、乱数生成回路１７３Ａ、セレクタ１７４Ａ、ＡＲＳＣ１７５Ａ、乱数列変更回路１７６Ａ、最大値比較回路１７７Ａ、乱数値レジスタ１８１Ａは、１２ビット乱数を生成するために用いられる第１の乱数回路を構成する。また、クロック信号出力回路１７１、初期値設定回路１７２Ｂ、乱数生成回路１７３Ｂ、セレクタ１７４Ｂ、ＢＲＳＣ１７５Ｂ、乱数列変更回路１７６Ｂ、最大値比較回路１７７Ｂ、反転回路１７８、タイマ回路１７９、ラッチ信号生成回路１８０、乱数値レジスタ１８１Ｂは、１６ビット乱数を生成するために用いられる第２の乱数回路を構成する。
【００９９】
クロック信号出力回路１７１は、クロック回路１０１から供給される内部システムクロックＣＬＫを入力して、この内部システムクロックＣＬＫと同一周期を有するクロック信号、あるいは内部システムクロックＣＬＫを１６分周したクロック信号を出力して、乱数生成回路１７３Ｂと反転回路１７８とに入力させる。初期値設定回路１７２Ａ、１７２Ｂは、発生する乱数列のスタート値を設定するためのものである。例えば、初期値設定回路１７２Ａ、１７２Ｂは、パチンコ遊技機１への電力供給が開始された後に乱数回路１０３にて乱数値の発生を開始するに際して１周目の初期値の設定や、乱数生成回路１７３Ａ、１７３Ｂが所定の初期値から所定の最終値まで循環的に数値データを更新したときに新たな初期値の設定などを行う。初期値設定回路１７２Ａは、設定した初期値を示す初期値設定信号ＳＫ１を出力して、乱数生成回路１７３Ａに入力させる。初期値設定回路１７２Ｂは、設定した初期値を示す初期値設定信号ＳＫ２を出力して、乱数生成回路１７３Ｂに入力させる。
【０１００】
乱数生成回路１７３Ａ、１７３Ｂは、例えば所定ビット数のカウンタなどから構成され、クロック信号出力回路１７１から出力されるクロック信号などの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路１７３Ａは、所定のクロック入力端子への入力信号における立上がりエッジに応答して、「１」から「４０９５」までの範囲内で設定された初期値から「４０９５」まで１ずつカウントアップして行く。そして、「４０９５」までカウントアップした後には、「１」から初期値よりも１小さい最終値となる数値まで１ずつカウントアップすることで、数値データを循環的に更新する。なお、この実施の形態では、乱数生成回路１７３Ａのクロック入力端子には、乱数値レジスタ１８１Ａからの格納値更新信号ＫＴと最大値比較回路１７７Ａからの再設定信号ＭＳ１とを合成した信号（例えば格納値更新信号ＫＴと再設定信号ＭＳ１とを入力信号とするＯＲ回路からの出力信号としての和信号）が入力される。また、例えば乱数生成回路１７３Ｂは、所定のクロック入力端子への入力信号における立上がりエッジに応答して、「１」から「６５５３５」までの範囲内で設定された初期値から「６５５３５」まで１ずつ数値データをカウントアップして行く。そして、「６５５３５」までカウントアップした後には、「１」から初期値よりも１小さい最終値となる数値まで１ずつカウントアップすることで、数値データを循環的に更新する。なお、この実施の形態では、乱数生成回路１７３Ｂのクロック入力端子には、クロック信号出力回路１７１から出力されるクロック信号と最大値比較回路１７７Ｂからの再設定信号ＭＳ２とを合成した信号（例えばクロック信号と再設定信号Ｓ２とを入力信号とするＯＲ回路からの出力信号としての和信号）が入力される。乱数生成回路１７３Ａが所定の最終値まで数値データを更新したときには、乱数一巡信号ＲＩＪ１を出力する。また、乱数生成回路１７３Ｂが所定の最終値まで数値データを更新したときには、乱数一巡信号ＲＩＪ２を出力する。
【０１０１】
セレクタ１７４Ａ、１７４Ｂは、それぞれ乱数生成回路１７３Ａ、１７３Ｂにより乱数一巡信号ＲＩＪ１、ＲＩＪ２が出力されたことに応じて、数値データの更新順である順列を変更する方式を選択するための回路である。この実施の形態では、数値データが所定の初期値から所定の最終値まで更新されたときに順列を変更する方式として、予め複数の方式が定められている。例えば、第１の方式は、数値データが最終値まで更新されたときに、セレクタ１７４Ａやセレクタ１７４Ｂが乱数生成回路１７３Ａから出力された乱数一巡信号ＲＩＪ１や乱数生成回路１７３Ｂから出力された乱数一巡信号ＲＩＪ２を選択して出力することにより、自動的に順列を変更する方式であり、１２ビット乱数列変更レジスタであるＡＲＳＣ１７５Ａや１６ビット乱数列変更レジスタであるＢＲＳＣ１７５Ｂにおける格納値に関わらず、順列の変更が行われる。また、第２の方式は、数値データが最終値まで更新されたときに、ＡＲＳＣ１７５ＡやＢＲＳＣ１７５Ｂに所定の数値順列変更データが設定されていることに応じて順列を変更する方式である。第３の方式は、数値データが最終値まで更新されたときでも、順列の変更は行わない方式であり、乱数列変更回路１７６Ａ、１７６Ｂが常に一定の規則に従った順序で乱数値となる数値データＲ１、Ｒ２を出力する。
【０１０２】
図１３（Ａ）は、ＡＲＳＣ１７５Ａの構成例を示すブロック図であり、図１３（Ｂ）は、ＢＲＳＣ１７５Ｂの構成例を示すブロック図である。図１３（Ａ）に示すＡＲＳＣ１７５Ａは、ユーザプログラムによる書込みと、セレクタ１７４Ａを介した乱数列変更回路１７６Ａによる読出しが可能な８ビットのレジスタであり、その初期値は“０”（＝００ｈ）に設定されている。なお、ユーザプログラムによるＡＲＳＣ１７５Ａに対する書込みは、第０ビット［ビット０］に対する“１”の書込みだけが有効である。順列を変更する方式として、セレクタ１７４Ａによって前述した第２の方式が選択されているときに、ＡＲＳＣ１７５Ａの第０ビット［ビット０］に対して“１”が書き込まれると、数値データが最終値まで更新された次の周期の始めから、乱数列変更回路１７６Ａが数値データを出力する順序を定める規則である更新規則を、変更することができる。図１３（Ｂ）に示すＢＲＳＣ１７５Ｂは、ユーザプログラムによる書込みと、セレクタ１７４Ｂを介した乱数列変更回路１７６Ｂによる読出しが可能な８ビットのレジスタであり、その初期値は“０”（＝００ｈ）に設定されている。なお、ユーザプログラムによるＢＲＳＣ１７５Ｂに対する書込みは、第０ビット［ビット０］に対する“１”の書込みだけが有効である。順列を変更する方式として、セレクタ１７４Ｂによって前述した第２の方式が選択されているときに、ＢＲＳＣ１７５Ｂの第０ビット［ビット０］に対して“１”が書き込まれると、数値データが最終値まで更新された次の周期の始めから、乱数列変更回路１７６Ｂが数値データを出力する順序を定める規則である更新規則を、変更することができる。
【０１０３】
乱数列変更回路１７６Ａ、１７６Ｂは、それぞれ乱数生成回路１７３Ａ、１７３Ｂにより生成された数値データを、所定の更新規則に従った順列に変更可能とする回路である。例えば、乱数列変更回路１７６Ａは、乱数生成回路１７３Ａから出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する一方、乱数列変更回路１７６Ｂは、乱数生成回路１７３Ｂから出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する。また、乱数列変更回路１７６Ａ、１７６Ｂは、例えばビットスクランブル処理に用いるビットスクランブル用キーやビットスクランブルテーブルを変更することなどにより、数値データの更新順である順列の変更を行うことができる。
【０１０４】
図１４は、１２ビット乱数用に設けられた乱数列変更回路１７６Ａにおける動作の一例として、セレクタ１７４Ａによって前述した第１の方式が選択されているときの順列変更動作を示す説明図である。セレクタ１７４Ａによって第１の方式が選択されているときには、乱数生成回路１７３Ａから出力される数値データ列Ｃ１が所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更回路１７６Ａが自動的に順列を変更する。図１４に示す動作例では、始めに乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「１→２→…→４０９５」となっている。
【０１０５】
そして、乱数生成回路１７３Ａから出力された数値データ列Ｃ１の値が所定の最終値に達したときには、乱数生成回路１７３Ａから出力された乱数一巡信号ＲＩＪ１が、セレクタ１７４Ａを介して乱数列変更回路１７６Ａに入力される。乱数列変更回路１７６Ａは、乱数一巡信号ＲＩＪ１が入力されたことに応答して、数値データの更新規則を変更する。このとき、乱数列変更回路１７６Ａは、予め用意された複数種類の更新規則のうちから予め定められた順序に従って更新規則を選択することにより、更新規則を変更するようにしてもよい。あるいは、乱数列変更回路１７６Ａは、複数種類の更新規則のうちから任意の更新規則を選択することにより、更新規則を変更するようにしてもよい。図１４に示す動作例では、１回目の更新規則の変更による順列変更により、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「４０９５→４０９４→…→１」となる。その後、２回目の更新規則の変更による順列変更が行われることにより、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１は、「１→３→…→４０９５→２→…→４０９４」となる。図１４に示す動作例では、３回目の更新規則の変更による順列変更が行われることにより、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１は、「４０９５→１→…→２０４７」となる。４回目の更新規則の変更による順列変更が行われたときには、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「１０２３→３０７２→…→３０７１」となる。５回目の更新規則の変更による順列変更が行われたときには、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「５→４→…→４０９１」となる。また、乱数生成回路１７３Ａが所定の初期値から所定の最終値まで循環的に数値データを更新したときに、初期値設定回路１７２Ａにより新たな初期値の設定が行われる場合には、乱数列変更回路１７６Ａが乱数一巡信号ＲＩＪ１の入力に応答して数値データの更新規則を変更するとともに、初期値設定回路１７２Ａが乱数一巡信号ＲＩＪ１の入力に応答して新たな初期値を乱数生成回路１７３Ａに設定する。その後、乱数生成回路１７３Ａは初期値設定回路１７２Ａによる変更後の初期値から循環的に数値データを更新し、乱数列変更回路１７６Ａは変更後の更新規則に従って乱数生成回路１７３Ａから出力された数値データ列Ｃ１の並びを変更する。
【０１０６】
１６ビット乱数用に設けられた乱数列変更回路１７６Ｂも、乱数生成回路１７３Ｂから出力される１６ビット乱数生成用の数値データ列Ｒ２に対して乱数列変更回路１７６Ａと同様の処理を施すことにより、更新規則に従った順序で数値データ列Ｒ２を出力する。そして、セレクタ１７４Ｂによって前述した第１の方式が選択されているときには、乱数生成回路１７３Ｂから出力される数値データ列Ｃ２が所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更回路１７６Ｂが自動的に順列を変更する。また、乱数生成回路１７３Ｂが所定の初期値から所定の最終値まで循環的に数値データを更新したときに、初期値設定回路１７２Ｂにより新たな初期値の設定が行われる場合には、乱数列変更回路１７６Ｂが乱数一巡信号ＲＩＪ２の入力に応答して数値データの更新規則を変更するとともに、初期値設定回路１７２Ｂが乱数一巡信号ＲＩＪ２の入力に応答して新たな初期値を乱数生成回路１７３Ｂに設定する。その後、乱数生成回路１７３Ｂは初期値設定回路１７２Ｂによる変更後の初期値から循環的に数値データを更新し、乱数列変更回路１７６Ｂは変更後の更新規則に従って乱数生成回路１７３Ｂから出力された数値データ列Ｃ２の並びを変更する。
【０１０７】
図１５は、１２ビット乱数用に設けられた乱数列変更回路１７６Ａにおける動作の他の一例として、セレクタ１７４Ａによって前述した第２の方式が選択されているときの順列変更動作を示す説明図である。セレクタ１７４Ａによって第２の方式が選択されているときには、乱数生成回路１７３Ａから出力される数値データ列Ｃ１が所定の初期値から所定の最終値まで循環的に更新され、かつ、１２ビット乱数列変更レジスタであるＡＲＳＣ１７５Ａに数値順列変更データとなる“１”（＝０１ｈ）が設定されていることに応答して、数値データの更新規則を変更する。図１５に示す動作例では、始めに乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「１→２→…→４０９５」となっている。この後、ＣＰＵ１０４がＲＯＭ１０５に格納されたユーザプログラムを実行することによって、所定のタイミングでＡＲＳＣ１７５Ａに数値順列変更データとなる“１”（＝０１ｈ）が書き込まれて設定されたものとする。
【０１０８】
そして、セレクタ１７４Ａによって第２の方式が選択されているときには、ＡＲＳＣ１７５Ａに設定された数値順列変更データが乱数列変更回路１７６Ａによって読み出され、数値データの更新規則を変更するための設定が行われる。このとき、乱数列変更回路１７６Ａは、乱数生成回路１７３Ａから出力された数値データ列Ｃ１の値が所定の最終値に達したことに応じて、例えば複数種類の更新規則のいずれかを選択することなどにより、更新規則を変更する。図１５に示す動作例では、乱数列変更回路１７６Ａが乱数生成回路１７３Ａから出力された数値データ列Ｃ１における最終値に対応する数値データ「４０９５」を出力した後、数値順列変更データが設定されたことに応じて更新規則を変更する。その後、乱数列変更回路１７６Ａは、変更後の更新規則に従った数値データ列Ｒ１として、「４０９５→４０９４→…→１」を出力する。ＡＲＳＣ１７５Ａは、乱数列変更回路１７６Ａによって数値順列変更データが読み出されたときに初期化される。そのため、再びＡＲＳＣ１７５Ａに数値順列変更データが設定されるまでは、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「４０９５→４０９４→…→１」となる。
【０１０９】
ＣＰＵ１０４がＲＯＭ１０５に格納されたユーザプログラムを実行することによって、数値順列変更データとなる“１”（＝０１ｈ）がＡＲＳＣ１７５Ａに再び設定されると、数値データの更新規則が再度変更される。図１５に示す動作例では、乱数列変更回路１７６Ａが乱数生成回路１７３Ａから出力された数値データ列Ｃ１における最終値に対応する数値データ「１」を出力した後、数値順列変更データが設定されたことに応じて更新規則を変更する。その後、乱数列変更回路１７６Ａは、変更後の更新規則に従った数値データ列Ｒ１として、「１→３→…→４０９５→２→…４０９４」を出力する。
【０１１０】
１６ビット乱数用に設けられた乱数列変更回路１７６Ｂは、セレクタ１７４Ｂによって前述した第２の方式が選択されているときには、乱数生成回路１７３Ｂから出力される数値データ列Ｃ２が所定の初期値から所定の最終値まで循環的に更新され、かつ、１６ビット乱数列変更レジスタであるＢＲＳＣ１７５Ｂに数値順列変更データとなる“１”（＝０１ｈ）が設定されていることに応答して、数値データの更新規則を変更する。こうして、乱数列変更回路１７６Ｂは、変更後の更新規則に従った数値データ列Ｒ２を出力することができる。
【０１１１】
図１２に示す最大値比較回路１７７Ａ、１７７Ｂは、それぞれ乱数列変更回路１７６Ａ、１７６Ｂから出力される数値データ列Ｒ１、Ｒ２を所定の最大値と比較することにより、数値データ列Ｒ１、Ｒ２のうちで使用範囲内の数値データのみを出力する回路である。最大値比較回路１７７Ａは、乱数列変更回路１７６Ａから出力される数値データをＲＯＭ１０５のユーザプログラム管理エリアに設定された１２ビット乱数最大値（ＫＲＭＳ）と比較する。そして、数値データが最大値以下であるときには、その数値データを最大値比較回路１７７Ａが出力して、乱数値レジスタ１８１Ａに入力させる。他方、数値データが最大値より大きいときには、最大値比較回路１７７Ａが再設定信号ＭＳ１を出力する。最大値比較回路１７７Ａから出力された再設定信号ＭＳ１が乱数生成回路１７３Ａのクロック入力端子に入力されることにより、乱数生成回路１７３Ａから出力される数値データ、及び乱数列変更回路１７６Ａから出力される数値データが変更される。この変更後に乱数列変更回路１７６Ａから出力される数値データが最大値より大きければ、最大値以下となるまで再設定信号ＭＳ１の出力を繰り返す。こうした再設定信号ＭＳ２の出力動作を、例えば乱数値レジスタ１８１Ａから出力される格納値更新信号ＫＴの周期よりも十分に短い期間内に行うことにより、最大値以下となる数値データだけを乱数値レジスタ１８１Ａに格納される１２ビットの乱数値として出力できるようにする。
【０１１２】
最大値比較回路１７７Ｂは、乱数列変更回路１７６Ｂから出力される数値データをＲＯＭ１０５のユーザプログラム管理エリアに設定された１６ビット乱数最大値（ＫＲＸＳ）と比較する。そして、数値データが最大値以下であるときには、その数値データを最大値比較回路１７７Ｂが出力して、乱数値レジスタ１８１Ｂに入力させる。他方、数値データが最大値より大きいときには、最大値比較回路１７７Ｂが再設定信号ＭＳ２を出力する。最大値比較回路１７７Ｂから出力された再設定信号ＭＳ２が乱数生成回路１７３Ｂのクロック入力端子に入力されることにより、乱数生成回路１７３Ｂから出力される数値データ、及び乱数列変更回路１７６Ｂから出力される数値データが変更される。この変更後に乱数列変更回路１７６Ｂから出力される数値データが最大値より大きければ、最大値以下となるまで再設定信号ＭＳ２の出力を繰り返す。こうした再設定信号ＭＳ２の出力動作を、クロック信号出力回路１７１から出力されるクロック信号Ｓ１の周期よりも十分に短い期間内に行うことにより、最大値以下となる数値データだけを乱数値レジスタ１８１Ｂに格納される１６ビットの乱数値として出力できるようにする。
【０１１３】
図１６は、１２ビット乱数用に設けられた最大値比較回路１７７Ａによる数値データの再設定動作を示す説明図である。図１６に示す動作例では、図１６（Ａ）に示すように、１２ビット乱数最大値（ＫＲＭＳ）が「５１２」に設定され、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１が、「１→２→…→４０９６」となっているものとする。
【０１１４】
この場合、最大値比較回路１７７Ａは、乱数列変更回路１７６Ａから出力される数値データが「１」から「５１２」までの期間では、その数値データを出力して、乱数値レジスタ１８１Ａに入力させる。他方、乱数列変更回路１７６Ａから出力される数値データが「５１２」よりも大きくなると、最大値比較回路１７７Ａは、再設定信号ＭＳ１を出力して、乱数生成回路１７３Ａに入力させる。再設定信号ＭＳ１の出力動作を繰り返すことにより、最大値比較回路１７７Ａは、乱数列変更回路１７６Ａから出力される数値データを「５１３」から「４０９５」まで連続的に変更させ、その後、「１」に戻させる。なお、このとき最大値比較回路１７７Ａから出力される数値データは「５１２」のままである。そして、この再設定信号ＭＳ１の出力動作を通常における乱数値の更新周期よりも十分に短い期間内で行って、数値データ「１」が乱数列変更回路１７６Ａから出力されると、最大値比較回路１７７Ａがこの数値データをそのまま出力して、乱数値レジスタ１８１Ａに入力させる。このような最大値比較回路１７７Ａによる数値データの再設定動作により、１２ビット乱数最大値（ＫＲＭＳ）として設定された最大値以下の数値データのみを乱数値レジスタ１８１Ａに入力させることができる。
【０１１５】
図１２に示す反転回路１７８は、クロック信号出力回路１７１から入力されるクロック信号Ｓ１を反転させて反転クロック信号Ｓ２を生成する。反転回路１７８は、生成した反転クロック信号Ｓ２を出力して、ラッチ信号生成回路１８０に入力させる。タイマ回路１７９は、始動口スイッチ２２から始動入賞信号ＳＳが入力されている時間を計測し、計測した時間が所定時間（例えば３ミリ秒）に達したときに、始動入賞信号ＳＳを出力して、ラッチ信号生成回路１８０に入力させる。例えば、タイマ回路１７９は、アップカウンタまたはダウンカウンタによって構成され、始動入賞信号ＳＳがオン状態となったことに応答して起動する。この場合、タイマ回路１７９は、始動入賞信号ＳＳがオン状態となっている期間において、内部システムクロックＣＬＫをアップカウントまたはダウンカウントする。そして、アップカウントまたはダウンカウントしたカウント値が３ミリ秒に対応する値となったときに、タイマ回路１７９が入力された信号を始動入賞信号ＳＳであると判定して、その始動入賞信号ＳＳを出力し、ラッチ信号生成回路１８０に入力させる。
【０１１６】
ラッチ信号生成回路１８０は、例えばフリップフロップなどを用いて構成される。例えばラッチ信号生成回路１８０がＤフリップフロップを用いて構成されている場合には、Ｄ入力端子がタイマ回路１７９の出力端子に接続され、クロック入力端子が反転回路１７８の出力端子に接続されていればよい。ラッチ信号生成回路１８０は、タイマ回路１７９から出力される始動入賞信号ＳＳを、反転回路１７８から出力される反転クロック信号Ｓ２の立上がりエッジに同期して出力することにより、ラッチ信号ＳＬを生成する。
【０１１７】
乱数値レジスタ１８１Ａ、１８１Ｂは、それぞれ最大値比較回路１７７Ａ、１７７Ｂから出力される数値データを乱数値として格納する。図１７（Ａ）は、１２ビット乱数値レジスタ（ＡＲＮＤ）となる乱数値レジスタ１８１Ａの構成例を示すブロック図であり、図１７（Ｂ）は、１６ビット乱数値レジスタ（ＢＲＮＤ）となる乱数値レジスタ１８１Ｂの構成例を示すブロック図である。乱数値レジスタ１８１Ａ、１８１Ｂはいずれも１６ビットのレジスタであるが、１２ビット乱数値レジスタ（ＡＲＮＤ）となる乱数値レジスタ１８１Ａについては、上位８ビット用のレジスタＡＲＮＤ（Ｈ）の第７〜第４ビット［ビット７−４］における格納値が無効であり、１２ビットの乱数を格納するレジスタとして用いられる。
【０１１８】
この実施の形態において、１２ビット乱数用に設けられた乱数値レジスタ１８１Ａは、例えばＣＰＵ１０４から供給されるレジスタリード信号がオン状態となったことに応答して、最大値比較回路１７７Ａから入力されている数値データを乱数値として取り込んで格納する。乱数値レジスタ１８１Ａが乱数値を格納したときには、例えば格納値更新信号ＫＴを所定期間にわたりオン状態とした後にオフ状態とする。こうして乱数値レジスタ１８１Ａから出力された格納値更新信号ＫＴの立上がりエッジに応答して、乱数生成回路１７３Ａは数値データを更新することができればよい。他方、１６ビット乱数用に設けられた乱数値レジスタ１８１Ｂは、ラッチ信号生成回路１８０から出力されるラッチ信号ＳＬがオン状態となったことに応答して、最大値比較回路１７７Ｂから入力される数値データを乱数値として取り込んで格納する。
【０１１９】
また、乱数回路１０３には、図１７（Ｃ）に示すような１２ビット乱数最大値読出レジスタ（ＡＲＭＸ）や、図１７（Ｄ）に示すような１６ビット乱数最大値読出レジスタ（ＢＲＭＸ）が設けられていてもよい。図１７（Ｃ）に示す１２ビット乱数最大値読出レジスタ（ＡＲＭＸ）は、ＲＯＭ１０５のユーザプログラム管理エリアに設定された１２ビット乱数最大値（ＫＲＭＳ）を確認可能とするレジスタであり、１６ビットのレジスタのうちで、上位８ビット用のレジスタＡＲＭＸ（Ｈ）の第７〜第４ビット［ビット７−４］における格納値を無効とすることにより、１２ビットの数値を格納するレジスタとして用いられる。図１７（Ｄ）に示す１６ビット乱数最大値読出レジスタ（ＢＲＭＸ）は、ＲＯＭ１０５のユーザプログラム管理エリアに設定された１６ビット乱数最大値（ＫＲＸＳ）を確認可能とする１６ビットのレジスタである。
【０１２０】
図１１に示すＣＰＵ１０４は、ＲＯＭ１０５に記憶されているユーザプログラムやデータを読出し、ＲＡＭ１０６をワークエリアとして使用して、プログラムに従った制御動作を行う。図１８は、遊技制御用マイクロコンピュータ１００におけるアドレスマップの一例を示す図である。図１８に示すように、００００ｈ番地〜０１ＦＦｈ番地の領域は、ＲＡＭ１０６に割り当てられたワークエリアである。また、１０００ｈ番地〜１０１Ｃｈ番地の領域は、乱数回路１０３やタイマ回路１０７、シリアル通信回路１０８等の内蔵レジスタに割り当てられた内蔵レジスタエリアである。２０００ｈ番地〜２００Ｆｈ番地の領域は、遊技制御用マイクロコンピュータ１００に内蔵されたアドレスデコーダに割り当てられたチップセレクト信号デコードエリアである。Ｅ０００ｈ番地〜ＦＦＦＦｈの領域は、ＲＯＭ１０５に割り当てられており、ユーザプログラム管理エリアとユーザプログラム／データエリアとを含んでいる。
【０１２１】
ＲＯＭ１０５におけるＥ０８０ｈ番地〜ＦＦＦＦｈ番地の領域であるユーザプログラム／データエリアには、ユーザにより予め作成されたユーザプログラムやユーザデータが記憶される。ＲＯＭ１０５におけるＥ０００ｈ番地〜Ｅ０７Ｆｈ番地の領域であるユーザプログラム管理エリアには、ＣＰＵ１０４がユーザプログラムを実行する際に用いられてパチンコ遊技機１の動作内容を設定するためのユーザプログラム管理データが記憶される。
【０１２２】
図１９は、図１８に示すユーザプログラム管理エリアにおけるアドレスマップの一例を示す図である。図１９に示すように、Ｅ０１Ｂｈ番地の領域には、遊技制御用マイクロコンピュータ１００にて発生する複数種類のＩクラス割込み（ＩＲＱ）の要因のうちで、最も優先度を高くするものを設定する最優先割込み設定（ＫＨＰＲ）を示すデータが記憶される。図２０（Ａ）は、Ｅ０１Ｂｈ番地の領域に記憶される最優先割込み設定データの設定例を示す説明図である。また、図２０（Ｂ）は、最優先割込み設定データの具体的な設定の一例として、デフォルトにおける割込み要因の優先順位と、Ｅ０１Ｂｈ番地の領域に「０５ｈ」を設定した場合における割込み要因の優先順位とを示している。
【０１２３】
図２０（Ｂ）に示すように、Ｅ０１Ｂｈ番地の領域に最優先割込み設定データを設定しないデフォルトの状態では、所定のＩＲＱ端子への信号入力による割込み要因が最も優先順位が高く、続いてタイマ回路１０７の各チャネル（ＣＨ０〜ＣＨ３）からの割込み要求の優先順位が高く、シリアル通信回路１０８からのエラー割込み要求、受信割込み要求、送信割込み要求の順番で優先順位が低くなるように設定されている。すなわち、デフォルトの状態でも、シリアル通信回路１０８からの割込み要求のうちではエラー割込み要求が、受信割込み要求や送信割込み要求といった他の割込み要因に比べて優先度が高くなっている。そのため、シリアル通信回路１０８からのエラー割込み要求に基づく割込み処理は、シリアル通信回路１０８からのエラー割込み要求とは異なる受信割込み要求や送信割込み要求などに基づく割込み処理に比べて、優先して実行されることになる。
【０１２４】
また、Ｅ０１Ｂｈ番地の領域に最優先割込み設定データとして「０５ｈ」を設定した場合には、シリアル通信回路１０８からのエラー割込み要求の優先順位が、ＩＲＱ端子への信号入力による割込み要因や、タイマ回路１０７からの割込み要求の優先順位よりも高くなり、遊技制御用マイクロコンピュータ１００にて発生する複数種類のＩクラス割込み（ＩＲＱ）の要因のうちで、最も優先度が高くなる。このように、Ｅ０１Ｂｈ番地の領域に最優先割込み設定データを設定することで、複数種類のＩクラス割込み（ＩＲＱ）の要因における優先順位を、デフォルトの設定から変更することができる。
【０１２５】
図１９に示すＥ０１Ｃｈ番地の領域と、Ｅ０１Ｄｈ番地の領域には、乱数回路１０３の初期設定を行うために用いられる第１の乱数初期設定（ＫＲＳＳ１）を示すデータと、第２の乱数初期設定（ＫＲＳＳ２）を示すデータが記憶される。図２１（Ａ）は、Ｅ０１Ｃｈ番地の領域に記憶される第１の乱数初期設定（ＫＲＳＳ１）を示すデータの内容を例示する説明図である。図２１（Ｂ）は、Ｅ０１Ｄｈ番地の領域に記憶される第２の乱数初期設定（ＫＲＳＳ２）を示すデータの内容を例示する説明図である。
【０１２６】
図２１（Ａ）及び（Ｂ）に示すように、第１及び第２の乱数初期設定データはいずれも８ビットのデータから構成されるが、第１の乱数初期設定データの第７〜第５ビット［ビット７−５］は、未使用となっている。図２１（Ａ）に示す第１乱数初期設定データの第４及び第３ビット［ビット４−３］は、乱数回路１０３にて生成される１２ビット乱数と１６ビット乱数のうちで使用する乱数を示している。図２１（Ａ）に示す例では、第１乱数初期設定データの第４及び第３ビット［ビット４−３］が“００”であるときには１２ビット乱数及び１６ビット乱数のいずれも使用しないことを示し、“０１”であるときには１２ビット乱数のみを使用することを示し、“１０”であるときには１６ビット乱数のみを使用することを示し、“１１”であるときには１２ビット乱数及び１６ビット乱数の双方を使用することを示している。第１乱数初期設定データの第２ビット［ビット２］は、乱数回路１０３にて生成される１６ビット乱数の更新周期についての設定を示している。図２１（Ａ）に示す例では、第１乱数初期設定データの第２ビット［ビット２］が“０”であるときには１６ビット乱数を内部システムクロックＣＬＫの周期で更新することを示し、“１”であるときには１６ビット乱数を内部システムクロックＣＬＫの１６倍の周期で更新することを示している。
【０１２７】
第１乱数初期設定データの第１及び第０ビット［ビット１−０］は、１２ビット乱数における２周目以降のスタート値についての設定を示している。図２１（Ａ）に示す例では、第１乱数初期設定データの第１及び第０ビット［１−０］が“００”であるときにはスタート値の変更を行わないことを示し、“０１”であるときには遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づく値に変更することを示し、“１０”であるときにはユーザＲＡＭであるＲＡＭ１０６における格納データの加算値に変更することを示し、“１１”であるときにはユーザＲＡＭであるＲＡＭ１０６における指定アドレスの格納値に変更することを示している。
【０１２８】
図２１（Ｂ）に示す第２乱数初期設定データの第７ビット［ビット７］は、１２ビット乱数における１周目のスタート値についての設定を示している。図２１（Ｂ）に示す例では、第２乱数初期設定データの第７ビット［ビット７］が“０”であるときには１２ビット乱数における１周目のスタート値をデフォルト値である「００１ｈ」（１２ビット値の１６進数表示）とすることを示し、“１”であるときには遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づく値とすることを示している。
【０１２９】
第２乱数初期設定データの第６及び第５ビット［ビット６−５］は、１２ビット乱数における乱数列の変更方法についての設定を示している。図２１（Ｂ）に示す例では、第２乱数初期設定データの第６及び第５ビット［ビット６−５］が“００”であるときには順列を変更しない（第３の方式とする）ことを示し、“１０”であるときには２周目以降にてユーザプログラムによる変更を可能とする（第２の方式とする）ことを示し、“１１”であるときには２周目以降にて自動的に変更する（第１の方式とする）ことを示している。
【０１３０】
第２乱数初期設定データの第４ビット［ビット４］は、１６ビット乱数における１周目のスタート値についての設定を示している。図２１（Ｂ）に示す例では、第２乱数初期設定データの第４ビット［ビット４］が“０”であるときには１６ビット乱数における１周目のスタート値をデフォルト値である「０００１ｈ」（１６ビット値の１６進数表示）とすることを示し、“１”であるときには遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づく値とすることを示している。
【０１３１】
第２乱数初期設定データの第３及び第２ビット［ビット３−２］は、１６ビット乱数における２周目以降のスタート値についての設定を示している。図２１（Ｂ）に示す例では、第２乱数初期設定データの第３及び第２ビット［ビット３−２］が“００”であるときにはスタート値の変更を行わないことを示し、“０１”であるときには遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づく値に変更することを示し、“１０”であるときにはユーザＲＡＭであるＲＡＭ１０６における格納データの加算値に変更することを示し、“１１”であるときにはユーザＲＡＭであるＲＡＭ１０６における指定アドレスの格納値に変更することを示している。
【０１３２】
第２乱数初期設定データの第１及び第０ビット［ビット１−０］は、１６ビット乱数における乱数列の変更方法についての設定を示している。図２１（Ｂ）に示す例では、第２乱数初期設定データの第１及び第０ビット［ビット１−０］が“００”であるときには順列を変更しない（第３の方式とする）ことを示し、“１０”であるときには２周目以降にてユーザプログラムによる変更を可能とする（第２の方式とする）ことを示し、“１１”であるときには２周目以降にて自動的に変更する（第１の方式とする）ことを示している。
【０１３３】
図１９に示すＥ０１Ｅｈ番地の領域と、Ｅ０１Ｆｈ番地の領域には、乱数回路１０３にて生成される１２ビット乱数の最大値を設定するために用いられる１２ビット乱数最大値（ＫＲＭＳ）を示すデータが記憶される。図１９に示す例では、Ｅ０１Ｅｈ番地の領域に、１２ビット乱数最大値（ＫＲＭＳ）を示すデータの上位バイト（８ビット）が記憶され、Ｅ０１Ｆｈ番地の領域に、１２ビット乱数最大値（ＫＲＭＳ）を示すデータの下位バイト（８ビット）が記憶される。
【０１３４】
Ｅ０２０ｈ番地の領域と、Ｅ０２１ｈ番地の領域には、乱数回路１０３にて生成される１６ビット乱数の最大値を設定するために用いられる１６ビット乱数最大値（ＫＲＸＳ）を示すデータが記憶される。図１９に示す例では、Ｅ０２０ｈ番地の領域に、１６ビット乱数最大値（ＫＲＸＳ）を示すデータの上位バイト（８ビット）が記憶され、Ｅ０２１ｈ番地の領域に、１６ビット乱数最大値（ＫＲＸＳ）を示すデータの下位バイト（８ビット）が記憶される。
【０１３５】
図１１に示す遊技制御用マイクロコンピュータ１００が備えるＲＯＭ１０５には、ゲーム制御用のユーザプログラムの他にも、遊技の進行を制御するために用いられる各種のデータテーブルが格納されている。例えば、ＲＯＭ１０５は、ＣＰＵ１０４が各種の判定や決定を行うために用意された複数の判定テーブルや決定テーブルを構成するテーブルデータを記憶する。判定テーブルとしては、特別図柄表示装置４による特図ゲームにおける確定特別図柄を大当り図柄として可変表示結果を大当りとするか否かを判定するために参照される大当り判定テーブルや、大当りとするときに確変大当りとするか通常大当りとするかを判定するために参照される確変判定テーブル、ハズレとするときに飾り図柄の可変表示態様をリーチとするか否かを判定するために参照されるリーチ判定テーブルなどが含まれている。例えば、大当り判定テーブルは、可変表示結果を大当りとするか否かの判定結果と、乱数回路１０３から読出される乱数値（一例としては、１６ビット乱数の値）とを対応付ける判定データなどから構成されていればよい。
【０１３６】
また、ＲＯＭ１０５に記憶される判定テーブルには、特図ゲームでの可変表示結果として導出表示する確定特別図柄を決定するための確定特別図柄決定テーブルや、特別図柄表示装置４による特図ゲームや画像表示装置５における飾り図柄の可変表示中での図柄等の可変表示パターンを決定するための可変表示パターン決定テーブル、各種の演出表示を実行するか否かを決定するための演出表示実行決定テーブルなどが含まれている。その他にも、遊技制御用マイクロコンピュータ１００が備えるＲＯＭ１０５には、例えば遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーなどといった、所定の固定情報が記憶されている。
【０１３７】
遊技制御用マイクロコンピュータ１００が備えるＲＡＭ１０６には、パチンコ遊技機１における遊技状態などを制御するために用いられる各種のデータを保持する領域として、例えば図２２に示すような遊技制御用データ保持エリア１３０が設けられている。また、ＲＡＭ１０６の少なくとも一部は、電源基板１０において作成されるバックアップ電源によってバックアップされているバックアップＲＡＭである。すなわち、パチンコ遊技機１への電力供給が停止しても、所定期間はＲＡＭ１０６の少なくとも一部の内容は保存される。この実施の形態では、ＲＡＭ１０６の全体がバックアップされているバックアップＲＡＭであるものとする。図２２に示す遊技制御用データ保持エリア１３０は、特図保留記憶部１３１と、確定特別図柄記憶部１３２と、遊技制御フラグ設定部１３３と、遊技制御タイマ設定部１３４と、遊技制御カウンタ設定部１３５と、遊技制御バッファ設定部１３６とを備えている。
【０１３８】
特図保留記憶部１３１は、普通可変入賞球装置６に設けられた始動入賞口に遊技球が入賞して特別図柄表示装置４による特図ゲームを実行するための始動条件が成立したものの、従前の特図ゲームを実行中である等の理由のために可変表示を開始するための開始条件が成立していない特図ゲームに関する保留情報を記憶する。例えば、特図保留記憶部１３１は、始動入賞口への入賞順に保留番号と関連付けて、その入賞による始動条件の成立に基づいてＣＰＵ１０４により乱数回路１０３から抽出された大当り判定用の乱数値を示す数値データを保留データとして、その数が所定の上限値（例えば「４」）に達するまで記憶する。
【０１３９】
確定特別図柄記憶部１３２は、特別図柄表示装置４による特図ゲームにて可変表示結果として導出表示される確定特別図柄を示すデータを記憶する。遊技制御フラグ設定部１３３は、パチンコ遊技機１における遊技状態やスイッチ回路１１１を介して各入賞口スイッチ等から伝送された信号などに応じて、各々セットあるいはクリアされる複数種類のフラグを設定するためのデータを記憶する。遊技制御タイマ設定部１３４は、パチンコ遊技機１での遊技制御に用いられる複数種類のタイマ値を示すデータを記憶する。遊技制御カウンタ設定部１３５は、パチンコ遊技機１での遊技制御に用いられる複数種類のカウント値を示すデータを記憶する。遊技制御バッファ設定部１３６は、パチンコ遊技機１での遊技制御に用いられる各種のデータを一時的に記憶する。なお、フラグ設定やカウンタ／タイマに用いる回路は、ＲＡＭ１０６とは別に設けたレジスタ回路などによって構成してもよい。
【０１４０】
遊技制御フラグ設定部１３３には、例えばクリアフラグや、メインバックアップフラグ、払出用通信エラー検出フラグ、シリアル通信エラーフラグ、満タン報知中フラグ、デモ表示フラグ、１２ビット乱数用スタート値変更フラグ、１６ビット乱数用スタート値変更フラグ、１２ビット乱数順列変更フラグ、１６ビット乱数順列変更フラグ、特別図柄プロセスフラグ、大当りフラグ、確変中フラグ、賞球プロセスフラグ、再送信フラグ、賞球ＡＣＫ受信フラグ、払出エラー通知フラグ、払出エラー報知フラグ、払出エラー解除フラグなどが設けられている。
【０１４１】
クリアフラグは、パチンコ遊技機１への電力供給が開始されたときに電源基板１０が備えるクリアスイッチ３０４からのクリア信号がオン状態となっているか否かを示す。すなわち、電力供給の開始時にクリア信号がオン状態であればクリアフラグがオン状態にセットされる一方、クリア信号がオフ状態であればクリアフラグはオフ状態に保持される。メインバックアップフラグは、パチンコ遊技機１への電力供給が停止されたときに遊技制御用マイクロコンピュータ１００により所定の記憶保護処理が実行されたか否かを示す。例えば、メインバックアップフラグの値として「５５Ｈ」が設定されているときにはバックアップあり（オン状態）を示す一方、「５５Ｈ」以外の値が設定されているときにはバックアップなし（オフ状態）を示している。
【０１４２】
払出用通信エラー検出フラグは、主基板１１と払出制御基板１５との間での通信動作においてエラーが発生したことを示す。すなわち、主基板１１において払出制御基板１５との通信を行うための処理を実行中に所定のエラーが発生すると払出用通信エラー検出フラグがオン状態にセットされる。シリアル通信エラーフラグは、シリアル通信回路１０８での通信動作においてエラーが発生したことを示す。例えば、シリアル通信エラーフラグは、シリアル通信回路１０８からのエラー割込み要求に応答してオン状態にセットされる。満タン報知中フラグは、満タンスイッチ２６からの検出信号がオン状態であることに応じて、画像表示装置５における表示などにより下皿３３が満タン状態である旨の報知が開始されるときに、オン状態にセットされる。デモ表示フラグは、主基板１１から演出制御基板１２に対してデモ表示コマンドが送信されるときにオン状態にセットされる一方で、特別図柄表示装置４による特図ゲームが開始されるとともに画像表示装置５における飾り図柄の可変表示が開始されるときにクリアされてオフ状態となる。あるいは、デモ表示フラグは、例えば特別図柄表示装置４による特図ゲームでの確定特別図柄としてハズレ図柄が停止表示されたときや、大当り遊技状態が終了したときなどのように、予め定められた所定のタイミングにてクリアされてオフ状態となってもよい。
【０１４３】
１２ビット乱数用スタート値変更フラグは、乱数回路１０３にて発生する１２ビット乱数の２周目以降におけるスタート値をユーザプログラムにより変更するか否かを示す。例えば、乱数回路１０３に設けられた乱数生成回路１７３Ａからの乱数一巡信号ＲＩＪ１がＣＰＵ１０４に対して出力される場合には、乱数一巡信号ＲＩＪ１がオン状態となったことに応答してＣＰＵ１０４により１２ビット乱数用スタート値変更フラグをオン状態にセットするようにすればよい。あるいは、ＣＰＵ１０４が所定のタイマ割込み処理を実行中において予め定められた所定時間の経過を検出したときに、１２ビット乱数用スタート値変更フラグをオン状態にセットするようにしてもよい。１２ビット乱数用スタート値変更フラグがオン状態であるときには、乱数回路１０３にて発生する１２ビット乱数における次の周期のスタート値を変更するための処理が、ＣＰＵ１０４によって実行される。
【０１４４】
１６ビット乱数用スタート値変更フラグは、乱数回路１０３にて発生する１６ビット乱数の２周目以降におけるスタート値をユーザプログラムにより変更するか否かを示す。例えば、乱数回路１０３に設けられた乱数生成回路１７３Ｂからの乱数一巡信号ＲＩＪ２がＣＰＵ１０４に出力される場合には、乱数一巡信号ＲＩＪ２がオン状態となったことに応答してＣＰＵ１０４により１６ビット乱数用スタート値変更フラグをオン状態にセットするようにすればよい。あるいは、ＣＰＵ１０４が所定のタイマ割込み処理を実行中において予め定められた所定時間の経過を検出したときに、１６ビット乱数用スタート値変更フラグをオン状態にセットするようにしてもよい。１６ビット乱数用スタート値変更フラグがオン状態であるときには、乱数回路１０３にて発生する１６ビット乱数における次の周期のスタート値を変更するための処理が、ＣＰＵ１０４によって実行される。
【０１４５】
１２ビット乱数順列変更フラグは、乱数回路１０３にて発生する１２ビット乱数の２周目以降における順列をユーザプログラムにより変更するか否かを示す。例えば、乱数回路１０３に設けられた乱数生成回路１７３Ａからの乱数一巡信号ＲＩＪ１がＣＰＵ１０４に対して出力される場合には、乱数一巡信号ＲＩＪ１がオン状態となったことに応答してＣＰＵ１０４により１２ビット乱数順列変更フラグをオン状態にセットするようにすればよい。あるいは、ＣＰＵ１０４が所定のタイマ割込み処理を実行中において予め定められた所定時間の経過を検出したときに、１２ビット乱数順列変更フラグをオン状態にセットするようにしてもよい。１２ビット乱数順列変更フラグがオン状態であるときには、乱数回路１０３にて発生する１２ビット乱数における次の周期の順列を変更するための処理が、ＣＰＵ１０４によって実行される。
【０１４６】
１６ビット乱数順列変更フラグは、乱数回路１０３にて発生する１６ビット乱数の２周目以降における順列をユーザプログラムにより変更するか否かを示す。例えば、乱数回路１０３に設けられた乱数生成回路１７３Ｂからの乱数一巡信号ＲＩＪ２がＣＰＵ１０４に対して出力される場合には、乱数一巡信号ＲＩＪ２がオン状態となったことに応答してＣＰＵ１０４により１６ビット乱数順列変更フラグをオン状態にセットするようにすればよい。あるいは、ＣＰＵ１０４が所定のタイマ割込み処理を実行中において予め定められた所定時間の経過を検出したときに、１６ビット乱数順列変更フラグをオン状態にセットするようにしてもよい。１６ビット乱数順列変更フラグがオン状態であるときには、乱数回路１０３にて発生する１６ビット乱数における次の周期の順列を変更するための処理が、ＣＰＵ１０４によって実行される。
【０１４７】
特別図柄プロセスフラグは、特別図柄表示装置４に対応して実行される特別図柄プロセス処理（図３１のステップＳ８０、及び図４３）において、どの処理を選択・実行すべきかを示す。大当りフラグは、特別図柄表示装置４による特図ゲームを開始するときに、その特図ゲームにおける可変表示結果が大当りとなる旨の判定がなされると、オン状態にセットされる。その後、特図ゲームにて大当りとなったことに基づく大当り遊技状態が終了するときには、大当りフラグはクリアされてオフ状態となる。確変中フラグは、特別図柄表示装置４による特図ゲームにおける可変表示結果が確変大当りとなり、大当りとなったことに基づく大当り遊技状態が終了するときなどに、オン状態にセットされる。他方、確変中フラグは、例えば高確率状態における特図ゲームの実行回数が所定の確変終了基準値に達したときや、特図ゲームにおける可変表示結果が通常大当りとなるときなどに、クリアされてオフ状態となる。
【０１４８】
賞球プロセスフラグは、賞球個数の設定などを行う賞球処理（図３１のステップＳ７７、及び図３７（Ａ））において、どの処理を選択・実行すべきかを示す。再送信フラグは、払出制御基板１５に対して払出制御コマンドを送信するための設定を行った後、払出制御基板１５からの賞球ＡＣＫコマンドを受信できずに所定の賞球ＡＣＫ待ち時間が経過したときに、オン状態にセットされる。他方、再送信フラグは、賞球ＡＣＫ待ち時間が経過する前に賞球ＡＣＫコマンドを受信できたときなどに、クリアされてオフ状態となる。賞球ＡＣＫ受信フラグは、払出制御基板１５からの賞球ＡＣＫコマンドを受信できたか否かを示す。すなわち、賞球ＡＣＫ受信フラグは、賞球ＡＣＫコマンドを受信したときにオン状態にセットされる。
【０１４９】
払出エラー通知フラグは、払出制御基板１５からの払出エラー通知コマンドを受信したか否かを示す。すなわち、払出エラー通知フラグは、払出エラー通知コマンドを受信したときにオン状態にセットされる。払出エラー報知フラグは、払出エラー通知フラグがオン状態となったことに応じて、画像表示装置５における表示により異常が発生した旨の報知が開始されるときに、オン状態にセットされる。払出エラー解除フラグは、払出制御基板１５からの払出エラー解除コマンドを受信したか否かを示す。すなわち、払出エラー解除フラグは、払出エラー解除コマンドを受信したときにオン状態にセットされる。
【０１５０】
遊技制御タイマ設定部１３４には、例えば発射制御タイマ、発射許可制御タイマ、供給許可制御タイマ、賞球制御タイマ、可変表示時間タイマなどが設けられている。発射制御タイマは、発射装置１９や球送り装置６２の動作を定期的に制御するための発射制御時間を計測するためのものである。発射許可制御タイマは、発射装置１９にオン状態の発射許可信号を送信する期間を計測するためのものである。供給許可制御タイマは、球送り装置６２にオン状態の供給許可信号を送信する期間を計測するためのものである。賞球制御タイマは、主基板１１において賞球の払出に関する各種の処理を実行する際に様々な時間を計測するために用いられる。可変表示時間タイマは、特図ゲームにおける特別図柄の可変表示時間（総変動時間）を計測するためのものである。
【０１５１】
遊技制御カウンタ設定部１３５には、例えばウェイトカウンタや、総賞球数カウンタ、第１〜第３払出数指示カウンタ、コマンド送信回数カウンタ、コマンド受信個数カウンタ、コマンド送信待ちカウンタなどが設けられている。また、遊技制御カウンタ設定部１３５には、高確率状態や時間短縮状態における特図ゲームの実行回数をカウントするための可変表示回数カウンタなどが設けられていてもよい。
【０１５２】
ウェイトカウンタは、パチンコ遊技機１への電力供給が開始されて遊技制御用マイクロコンピュータ１００による遊技制御処理（遊技の進行を制御するための処理）の実行が可能な状態となったときに、遊技制御処理の実行を開始するタイミングを遅延させるために用いられる。例えば、ウェイトカウンタには、パチンコ遊技機１への電力供給が開始されて遊技制御用マイクロコンピュータ１００が起動したときに、所定の遅延時間に対応した初期化ウェイト回数指定値がセットされる。その後、ウェイトカウンタの値であるウェイトカウント値を順次に減算するなどの更新処理が行われ、その値が所定の遅延終了判定値に達したときに、遊技制御処理の実行が開始される。
【０１５３】
総賞球数カウンタは、各入賞口スイッチで遊技球が検出されたことに基づき払い出すべき賞球のうちで、主基板１１から払出制御基板１５に対して払出しの指示が未だ完了していない賞球の総数をカウントするためのものである。例えば、遊技制御用マイクロコンピュータ１００においてカウントスイッチ２４からの入賞検出信号がオン状態であると判定されたときには、総賞球数カウンタの値である総賞球数カウント値が１５加算される。また、入賞口スイッチ２５Ａ〜２５Ｄのいずれかからの入賞検出信号がオン状態であると判定されたときには、総賞球数カウント値が７加算され、始動口スイッチ２２からの入賞検出信号がオン状態であると判定されたときには、総賞球数カウント値が４加算される。他方、例えば主基板１１から払出制御基板１５に対して第１払出数指定コマンドが送信された後に遊技制御用マイクロコンピュータ１００において払出制御基板１５から送信される賞球ＡＣＫコマンドを受信したときには、総賞球数カウント値が１５減算される。また、例えば主基板１１から払出制御基板１５に対して第２払出数指定コマンドが送信された後に賞球ＡＣＫコマンドを受信したときには、総賞球数カウント値が７減算され、例えば第３払出数指定コマンドが送信された後に賞球ＡＣＫコマンドを受信したときには、総賞球数カウント値が４減算される。なお、総賞球数カウント値を減算するタイミングは、主基板１１から払出制御基板１５に対して第１〜第３払出数指定コマンドのいずれかを送信した後に賞球ＡＣＫコマンドを受信したときに限られず、第１〜第３払出数指定コマンドを送信するための設定を行う前の段階であってもよい。このように、始動口スイッチ２２、カウントスイッチ２４、入賞口スイッチ２５Ａ〜２５Ｄからの入賞検出信号に応じて、総賞球数カウンタが払い出すべき賞球の総数をカウントすることで、払い出すべき賞球の数を特定可能な景品遊技媒体数データを含む遊技の進行状態を示すデータが、ＲＡＭ１０６に記憶されることになる。
【０１５４】
第１〜第３払出数指示カウンタは、各入賞口スイッチで遊技球が検出されたことに基づいて、主基板１１から払出制御基板１５に対して第１〜第３払出数指定コマンドのそれぞれを送信すべき回数をカウントするためのものである。例えば、遊技制御用マイクロコンピュータ１００においてカウントスイッチ２４からの入賞検出信号がオン状態であると判定されたときには、第１払出数指示カウンタの値である第１払出数指示カウント値が１加算される。また、入賞口スイッチ２５Ａ〜２５Ｄのいずれかからの入賞検出信号がオン状態であると判定されたときには、第２払出数指示カウンタの値である第２払出数指示カウント値が１加算され、始動口スイッチ２２からの入賞検出信号がオン状態であると判定されたときには、第３払出数指示カウンタの値である第３払出数指示カウント値が１加算される。他方、例えば主基板１１から払出制御基板１５に対して第１払出数指定コマンドが送信された後に遊技制御用マイクロコンピュータ１００が賞球ＡＣＫコマンドを受信したときには、第１払出数指示カウント値が１減算される。また、例えば主基板１１から払出制御基板１５に対して第２払出数指定コマンドが送信された後に遊技制御用マイクロコンピュータ１００が賞球ＡＣＫコマンドを受信したときには、第２払出数指示カウント値が１減算され、例えば主基板１１から払出制御基板１５に対して第３払出数指定コマンドが送信された後に遊技制御用マイクロコンピュータ１００が賞球ＡＣＫコマンドを受信したときには、第３払出数指示カウント値が１減算される。なお、第１〜第３払出数指示カウント値のそれぞれを減算するタイミングは、例えば主基板１１から払出制御基板１５に対して第１〜第３払出数指定コマンドのそれぞれを送信した後であって、賞球ＡＣＫコマンドを受信する前の段階であってもよい。
【０１５５】
コマンド送信回数カウンタは、払出制御基板１５に対して第１〜第３払出数指定コマンドのいずれかを送信した回数をカウントし、全入賞球検出スイッチ２９からの検出信号に応じて検出された遊技球の個数との差を、入賞個数差として特定するためのものである。例えば、コマンド送信回数カウンタには、パチンコ遊技機１への電力供給が開始されたときに、所定のカウント初期値（例えば「２００」）が設定される。そして、主基板１１から払出制御基板１５に対して第１〜第３払出数指定コマンドのいずれかが送信された後に賞球ＡＣＫコマンドを受信したときに、コマンド送信回数カウンタの値であるコマンド送信回数カウント値が１加算される一方、全入賞球検出スイッチ２９からの検出信号がオン状態となったときには、コマンド送信回数カウント値が１減算される。
【０１５６】
コマンド受信個数カウンタは、払出制御基板１５といったサブ側の制御基板から受信したコマンドの個数を特定可能にカウントするためのものである。コマンド送信待ちカウンタは、演出制御基板１２や払出制御基板１５といったサブ側の制御基板に対して送信待ちとなっているコマンドの個数を特定可能にカウントするためのものである。
【０１５７】
遊技制御バッファ設定部１３６には、例えばメインチェックサムバッファや、受信コマンドバッファ、送信コマンドバッファなどが設けられている。メインチェックサムバッファは、パチンコ遊技機１への電力供給が停止されるときにＲＡＭ１０６の特定領域における記憶データを用いて算出されたチェックサムを保存するためのものである。
【０１５８】
受信コマンドバッファは、主基板１１にてサブ側の制御基板から受信したコマンドを一時的に格納するために用いられる。図２３は、受信コマンドバッファに含まれる払出用受信コマンドバッファ１９１の構成例を示す図である。払出用受信コマンドバッファ１９１は、払出制御基板１５から受信したコマンドを一時的に格納するためのものである。図２３に示す払出用受信コマンドバッファ１９１は、１２個の受信コマンドバッファ＃１〜＃１２を備えており、払出制御基板１５から受信したコマンドを格納する受信コマンドバッファは、コマンド受信個数カウンタで指定される。各受信コマンドバッファ＃１〜＃１２は、例えば１バイト（８ビット）で構成され、複数の受信コマンドバッファをリングバッファとして使用することにより、２バイト構成の受信コマンドを６個格納することができる。
【０１５９】
送信コマンドバッファは、主基板１１からサブ側の制御基板に対して送信するコマンドを一時的に格納するために用いられる。図２４は、送信コマンドバッファに含まれる払出用送信コマンドバッファ１９２の構成例を示す図である。払出用送信コマンドバッファ１９２は、主基板１１から払出制御基板１５に対して送信するコマンドを一時的に格納するためのものである。図２４に示す払出用送信コマンドバッファ１９２は、１２個の送信コマンドバッファ＃１〜＃１２を備えており、主基板１１から払出制御基板１５に対して送信待ちとなるコマンドを格納するコマンドバッファは、コマンド送信待ちカウンタで指定される。各送信コマンドバッファ＃１〜＃１２は、例えば１バイト（８ビット）で構成され、複数の送信コマンドバッファをリングバッファとして使用することにより、２バイト構成の送信コマンドを６個格納することができる。また、送信コマンドバッファには、主基板１１から演出制御基板１２に対して送信するコマンドを一時的に格納するための演出用送信コマンドバッファが含まれてもよい。
【０１６０】
その他にも、遊技制御用データ保持エリア１３０には、通過ゲート４１を通過した遊技球がゲートスイッチ２１によって検出されて普通図柄表示器４０による普通図ゲームを実行するための始動条件が成立したものの、従前の普通図ゲームを実行中である等の理由のために可変表示を開始するための開始条件が成立していない普通図ゲームに関する保留情報を記憶する普通図保留記憶部などを備えていてもよい。このように、特図ゲームや普通図ゲームに関する保留情報は、主基板１１に設けられた遊技制御用データ保持エリア１３０などに記憶され、ＣＰＵ１０４による特図ゲームや普通図ゲームの制御に用いられる。
【０１６１】
図１１に示す遊技制御用マイクロコンピュータ１００が備えるタイマ回路１０７は、例えば８ビットのプログラマブルカウンタを４チャネル（ＣＨ０〜ＣＨ３）内蔵して構成され、リアルタイム割込みの発生や時間計測を可能とする回路である。例えば、タイマ回路１０７では、チャネルごとに予め設定したカウント値から所定周期でのカウントダウンを開始し、カウント値が「００」となったチャネルがあるときには、そのチャネルに対応した割込みフラグをオン状態にセットする。このとき、割込み許可状態であれば、タイマ回路１０７がＣＰＵ１０４に対して割込み要求を発生する。
【０１６２】
遊技制御用マイクロコンピュータ１００が備えるシリアル通信回路１０８は、例えば全二重、非同期、標準ＮＲＺ（Non Return to Zero）フォーマットで通信データを取扱う回路である。例えば、シリアル通信回路１０８は、受信動作部と、送信動作部と、シリアル通信データレジスタと、シリアルステータスレジスタと、シリアル制御レジスタとを備えて構成される。
【０１６３】
シリアル通信回路１０８の受信動作部は、シリアル制御レジスタの所定ビットにおける設定に基づいた受信動作により、シリアル通信で伝送される受信データをサンプリングして取得し、取得した受信データをシリアル通信データレジスタに転送可能とする。また、この受信動作部は、受信動作における動作状態などに応じて、シリアルステータスレジスタの所定ビットを“０”または“１”に設定する。さらに、受信動作部には、例えばシリアル通信で順次に伝送された受信データをシフトさせながら格納する受信用シフトレジスタや、受信用シフトレジスタから読出した受信データを一時的に格納する受信データレジスタ、シリアル通信における受信動作に関わる割込み要因の発生を制御する割込み制御回路などが設けられていればよい。
【０１６４】
シリアル通信回路１０８の送信動作部は、シリアル制御レジスタの所定ビットにおける設定に基づいた送信動作により、シリアル通信データレジスタからの読出データに対応する送信データを生成し、シリアル通信による送信を可能にする。また、この送信動作部は、送信動作における動作状態などに応じて、シリアルステータスレジスタの所定ビットを“０”または“１”に設定する。さらに、送信動作部には、例えばシリアル通信データレジスタから読出したデータを一時的に格納する送信データレジスタや、シリアル通信で順次に送信する送信データを格納してシフトさせながら出力する送信用シフトレジスタ、シリアル通信における送信動作に関わる割込み要因の発生を制御する割込み制御回路などが設けられていればよい。
【０１６５】
シリアル通信回路１０８のシリアル通信データレジスタは、受信動作部にて取得した受信データを格納したり、送信動作部に供給するデータを格納したりすることで、シリアル通信回路１０８とＣＰＵ１０４との間での通信データのやり取りを可能にする回路であり、例えば１バイト（８ビット）で構成されている。
【０１６６】
シリアル通信回路１０８のシリアルステータスレジスタは、シリアル通信回路１０８における動作状態を確認するためのレジスタであり、例えばシリアル通信回路１０８における動作状態に応じて各々がセットまたはクリアされる複数のフラグを示すビット値を記憶可能に構成されていればよい。
【０１６７】
シリアル通信回路１０８のシリアル制御レジスタは、シリアル通信回路１０８における通信フォーマットや各種エラー割込み要求の許可／禁止などを設定するためのレジスタであり、例えばシリアル通信回路１０８における各部位の動作を制御するために用いられる制御データが記憶されるように構成されていればよい。
【０１６８】
図１１に示す遊技制御用マイクロコンピュータ１００が備える外部バスインタフェース１０９は、アドレスバスやデータバス、及び各制御信号の方向制御や駆動制御を行うインタフェース回路である。
【０１６９】
図５に示すように、演出制御基板１２には、演出制御用マイクロコンピュータ１２０が搭載されている。また、演出制御基板１２には、演出制御用マイクロコンピュータ１２０からの描画コマンドに応じて画像データを生成するＶＤＰ（Video Display Processor）などが搭載されていてもよい。演出制御用マイクロコンピュータ１２０は、例えば１チップマイクロコンピュータであり、ＲＯＭ１２１と、ＲＡＭ１２２と、ＣＰＵ１２３と、Ｉ／Ｏポート１２４とを含んでいる。また、演出制御用マイクロコンピュータ１２０は、ＣＰＵ１２３とは独立して乱数値を示す数値データの生成を行う乱数回路などを含んでいてもよい。中継基板１８を介して主基板１１から送信された制御信号は、所定のコネクタやＩ／Ｏポート１２４内の入力ポートを介して、ＣＰＵ１２３に入力される。また、音声制御基板１３に対する制御信号は、ＣＰＵ１２３からＩ／Ｏポート１２４内の出力ポートや所定のコネクタを介して、音声制御基板１３へと出力される。ランプ制御基板１４に対する制御信号は、ＣＰＵ１２３からＩ／Ｏポート１２４内の出力ポートや所定のコネクタを介して、ランプ制御基板１４へと出力される。
【０１７０】
なお、演出制御基板１２と画像表示装置５の間には、画像データにおける解像度を変換するためのスケーラ回路が設けられていてもよい。この場合、演出制御基板１２に搭載されたＶＤＰが演出制御用マイクロコンピュータ１２０からの描画コマンドに応じて生成した画像データは、スケーラ回路により解像度が変換された後、画像表示装置５に供給される。具体的な一例として、スケーラ回路は、ＶＤＰによって生成された第１の解像度による画像データを入力し、垂直方向及び水平方向のいずれか一方あるいは双方について、以下のような処理を施すことにより、入力された画像データを第１の解像度とは異なる第２の解像度に変換する。
【０１７１】
例えば、垂直方向における解像度を変換する場合には、入力された画像データの垂直方向に沿って第１のサンプルレートでアップサンプリングを行った後、予め用意されたフィルタ（例えばＦＩＲフィルタ）によるフィルタリング処理を施す。その後、垂直方向に沿って所定のスケーリング係数に対応する第２のサンプルレートでダウンサンプリングを行うようにすればよい。また、水平方向における解像度を変換する場合には、入力された画像データの水平方向に沿って、垂直方向と同じようなアップサンプリング、フィルタリング処理及びダウンサンプリングを行うようにすればよい。具体的な一例として、ＶＤＰによってＶＧＡモード（６４０×４８０ピクセル）の画像データが生成された場合に、スケーラ回路における変換処理により、その画像データをＳＸＧＡモード（１２８０×１０２４ピクセル）、あるいは他のモードに変換することが可能になる。
【０１７２】
図５に示すように、払出制御基板１５には、払出制御用マイクロコンピュータ１５０やスイッチ回路１６１が搭載されている。スイッチ回路１６１には、払出モータ位置センサ７１、払出カウントスイッチ７２、エラー解除スイッチ７３などの各種スイッチやセンサからの検出信号が入力される。スイッチ回路１６１は、これらの検出信号を取り込んで、払出制御用マイクロコンピュータ１５０に伝送する。
【０１７３】
図２５は、払出制御基板１５に搭載された払出制御用マイクロコンピュータ１５０の構成例を示す図である。図２５に示す払出制御用マイクロコンピュータ１５０は、例えば遊技制御用マイクロコンピュータ１００と同様の１チップマイクロコンピュータであり、クロック回路２１１と、リセット／割込みコントローラ２１２と、乱数回路２１３と、ＣＰＵ２１４と、ＲＯＭ２１５と、ＲＡＭ２１６と、タイマ回路（ＰＩＴ）２１７と、シリアル通信回路（ＳＣＩ）２１８と、外部バスインタフェース２１９とを備えて構成されている。なお、乱数回路２１３は、遊技制御用マイクロコンピュータ１００が備える乱数回路１０３と同様の構成を有するものであればよく、シリアル通信回路２１８は、遊技制御用マイクロコンピュータ１００が備えるシリアル通信回路１０８と同様の構成を有するものであればよい。また、払出制御用マイクロコンピュータ１５０には、乱数回路２１３が設けられていなくてもよい。
【０１７４】
払出制御用マイクロコンピュータ１５０が備えるＲＯＭ２１５には、払出制御用のプログラムが記憶されている。払出制御用マイクロコンピュータ１５０では、例えばＣＰＵ２１４がＲＯＭ２１５に記憶されている払出制御用のプログラムを読出し、主基板１１から送信された払出制御コマンドやカードユニット７０との通信結果などに基づいて各種の処理を実行することにより、遊技球の払出動作を制御する。
【０１７５】
払出制御用マイクロコンピュータ１５０が備えるＲＡＭ２１６には、遊技球の払出動作などを制御するために用いられる各種のデータを保持する領域として、例えば図２６に示すような払出制御用データ保持エリア１４０が設けられている。また、ＲＡＭ２１６の少なくとも一部は、電源基板１０において作成されるバックアップ電源によってバックアップされているバックアップＲＡＭである。すなわち、パチンコ遊技機１への電力供給が停止しても、所定時間は、ＲＡＭ２１６の少なくとも一部の内容は保存される。この実施の形態では、ＲＡＭ２１６の全体がバックアップされているバックアップＲＡＭであるものとする。図２６に示す払出制御用データ保持エリア１４０は、払出制御フラグ設定部１４１と、払出制御タイマ設定部１４２と、払出制御カウンタ設定部１４３と、払出制御バッファ設定部１４４とを備えている。
【０１７６】
払出制御フラグ設定部１４１には、例えば払出バックアップフラグや、払出制御プロセスフラグ、賞球払出動作プロセスフラグ、球貸し動作プロセスフラグ、賞球ＡＣＫ送信フラグ、フィードバック受信フラグ、受信確認中フラグ、エラーフラグなどが設けられている。
【０１７７】
払出制御プロセスフラグは、払出モータ５１による遊技球の払出動作を制御するための払出動作制御処理（図４７のステップＳ５３５、及び図５０）において、どの処理を選択・実行すべきかを示す。賞球払出動作プロセスフラグは、払出モータ５１を駆動して賞球となる遊技球を払い出すために実行される賞球払出動作処理（図５０のステップＳ６６３、及び図５３）において、どの処理を選択・実行すべきかを示す。球貸し動作プロセスフラグは、払出モータ５１を駆動して貸し球となる遊技球を払い出すために実行される球貸し払出動作処理（図５０のステップＳ６６４、及び図５７）において、どの処理を選択・実行すべきかを示す。
【０１７８】
賞球ＡＣＫ送信フラグは、主基板１１からの払出数指定コマンドを受信したときに、賞球ＡＣＫコマンドを送信する旨を示す。すなわち、賞球ＡＣＫ送信フラグは、第１〜第３払出数指定コマンドのいずれかを受信したときに、オン状態にセットされる。フィードバック受信フラグは、主基板１１からのＡＣＫフィードバックコマンドを受信できたか否かを示す。すなわち、フィードバック受信フラグは、ＡＣＫフィードバックコマンドを受信したときにオン状態にセットされる。
【０１７９】
受信確認中フラグは、主基板１１に対して賞球ＡＣＫコマンドを送信した後、主基板１１からのＡＣＫフィードバックコマンドについて受信確認中であることを示す。すなわち、受信確認中フラグは、賞球ＡＣＫコマンドが送信されるときにオン状態にセットされた後、ＡＣＫフィードバックコマンドを受信したとき、あるいはＡＣＫフィードバックコマンドを受信することなく所定期間が経過したときに、クリアされてオフ状態となる。
【０１８０】
払出制御フラグ設定部１４１に設けられたエラーフラグは、払出モータ５１を駆動することによる遊技球の払出動作状態や、主基板１１との間におけるコマンドの送受信状態などに基づき、所定のエラー発生が検出されたときにオン状態にセットされる複数種類のフラグを含んで構成されている。例えば、エラーフラグは、主基板通信エラーフラグ、多量未払出エラーフラグ、カードユニット未接続エラーフラグ、球詰まりエラーフラグ、球噛みエラーフラグ、空切り(奥）エラーフラグ、空切り（手前）エラーフラグ、シリアル通信エラーフラグなどを含んでいる。
【０１８１】
ここで、主基板通信エラーフラグは、主基板１１との間における通信状態にエラーが発生したときに、オン状態にセットされる。多量未払出エラーフラグは、主基板１１からの払出数指定コマンドにより払い出しが指示された後に未だ払い出されていない未払出の賞球数が所定個数を超えたときに、オン状態にセットされる。カードユニット未接続エラーフラグは、カードユニット７０との間における通信状態にエラーが発生したときに、オン状態にセットされる。球詰まりエラーフラグは、例えば払出カウントスイッチ７２からの検出信号が所定時間（具体的な一例として、０．５秒）以上継続してオン状態となったことに応じて、オン状態にセットされる。球噛みエラーフラグは、例えば払出モータ５１を駆動したときに払出モータ位置センサ７１が所定時間以上継続してオン状態またはオフ状態であることに応じて、オン状態にセットされる。空切り（奥）エラーフラグは、例えば払出モータ５１を駆動したときに、図４に示すような払出装置における球通路９０の奥側（穴８５から流入した遊技球の通路）での遊技球の通過が払出カウントスイッチ７２により検出できなかったことに応じて、オン状態にセットされる。空切り（手前）エラーフラグは、例えば払出モータ５１を駆動したときに、図４に示すような払出装置における球通路９０の手前側（穴８６から流入した遊技球の通路）での遊技球の通過が払出カウントスイッチ７２により検出できなかったことに応じて、オン状態にセットされる。シリアル通信エラーフラグは、シリアル通信回路２１８からのエラー割込み要求に応答してオン状態にセットされる。
【０１８２】
払出制御タイマ設定部１４２には、例えば通信制御タイマや、送信動作制御タイマなどが設けられている。通信制御タイマは、主基板１１との間でコマンドを送受信する通信動作において様々な時間を計測するために用いられる。送信動作制御タイマは、シリアル通信回路２１８によるシリアル通信で通信データを送信させてからの経過時間を計測するために用いられる。
【０１８３】
払出制御カウンタ設定部１４３には、例えば賞球未払出カウンタや、前回未払出カウンタ、球貸し未払出カウンタ、払出個数カウンタ、払出動作不良回数カウンタ、払出モータ回転カウンタ、コマンド受信個数カウンタ、コマンド送信待ちカウンタなどが設けられている。
【０１８４】
賞球未払出カウンタは、主基板１１から送信される第１〜第３払出数指定コマンドに基づき、賞球として払い出すべき遊技球の個数を、賞球未払出カウント値として更新可能に記憶することにより、カウントするためのものである。前回未払出カウンタは、例えば主基板１１から送信された第１〜第３払出数指定コマンドのいずれかを受信したことにより賞球未払出カウント値が更新されたときなどに、払出モータ５１による払出動作量を示す払出モータ回転カウント値が払出モータ回転カウンタに記憶されることに応じて、賞球未払出カウンタにより記憶された賞球未払出カウント値を、前回未払出カウント値として記憶するためのものである。
【０１８５】
球貸し未払出カウンタは、カードユニット７０からの球貸し要求に基づき、貸し球として払い出すべき遊技球の個数を、球貸し未払出カウント値として更新可能に記憶することにより、カウントするためのものである。払出個数カウンタは、払出モータ５１を駆動することによって払出カウントスイッチ７２により検出された遊技球の個数を、払出個数カウント値として更新可能に記憶することにより、カウントするためのものである。払出動作不良回数カウンタは、遊技球を払い出すために払出モータ５１を駆動したときに払出動作の不良が検出された回数を、払出動作不良回数カウント値として更新可能に記憶することにより、カウントするためのものである。払出モータ回転カウンタは、賞球または貸し球として払い出すべき遊技球の個数に応じた払出モータ回転カウント値を更新可能に記憶して、払出モータ５１の駆動量（回転量）を設定するために用いられる。
【０１８６】
コマンド受信個数カウンタは、主基板１１から受信したコマンドの個数を特定可能にカウントするためのものである。コマンド送信待ちカウンタは、主基板１１に対して送信待ちとなっているコマンドの個数を特定可能にカウントするためのものである。
【０１８７】
払出制御バッファ設定部１４４には、例えば払出チェックサムバッファや、受信コマンドバッファ、送信コマンドバッファなどが設けられている。払出チェックサムバッファは、パチンコ遊技機１への電力供給が停止されたときにＲＡＭ２１６の特定領域における記憶データを用いて算出されたチェックサムを保存するためのものである。受信コマンドバッファは、払出制御基板１５にて主基板１１から受信したコマンドを一時的に格納するために用いられる。送信コマンドバッファは、払出制御基板１５から主基板１１に対して送信するコマンドを一時的に格納するために用いられる。
【０１８８】
次に、本実施例におけるパチンコ遊技機１の動作（作用）を説明する。主基板１１では、電源基板１０からの電力供給が開始され遊技制御用マイクロコンピュータ１００へのリセット信号がハイレベル（オフ状態）になったことに応じて、遊技制御用マイクロコンピュータ１００が起動し、図２７のフローチャートに示すような遊技制御メイン処理が実行される。なお、以下に説明する各処理は、遊技制御用マイクロコンピュータ１００が備えるＣＰＵ１０４によって実行されるものとする。また、遊技制御用マイクロコンピュータ１００が備えるタイマ回路１０７やシリアル通信回路１０８などで発生した各種の割込み要因に基づく割込み要求は、ＣＰＵ１０４に所定の割込み処理を実行させるためのものである。そして、ＣＰＵ１０４やＣＰＵ１０４以外の各種回路を含んだ概念を遊技制御用マイクロコンピュータ１００ということもあるものとする。図２７に示す遊技制御メイン処理を開始すると、遊技制御用マイクロコンピュータ１００は、まず、割込禁止に設定し（ステップＳ１）、割込モードの設定を行う（ステップＳ２）。例えば、ステップＳ２では、遊技制御用マイクロコンピュータ１００の特定レジスタ（Ｉレジスタ）の値（１バイト）と内蔵デバイスが出力する割込ベクタ（１バイト：最下位ビットは“０”）とを合成することにより割込アドレスが生成されるマスク可能割込の割込モードが設定される。マスク可能な割込みが発生したときには、遊技制御用マイクロコンピュータ１００が自動的に割込禁止状態となる設定を行うとともに、プログラムカウンタの内容がスタックにセーブされればよい。
【０１８９】
続いて、例えばスタックポインタ指定アドレスの設定など、スタックポインタに関わる設定を行う（ステップＳ３）。また、内蔵デバイスレジスタの設定（初期化）を行う（ステップＳ４）。例えば、遊技制御用マイクロコンピュータ１００がＣＴＣ（カウンタ／タイマ）及びＰＩＯ（パラレル入出力ポート）を内蔵している場合には、ステップＳ４の処理が実行されることにより、内蔵デバイス（内蔵周辺回路）としてのＣＴＣやＰＩＯの設定（初期化）などが行われるとよい。
【０１９０】
ステップＳ４の処理を実行した後には、例えば遊技制御用マイクロコンピュータ１００に設けられた入力ポートにおける所定ビットの状態をチェックすることなどにより、電源断信号がオフ状態となっているか否かを判定する（ステップＳ５）。パチンコ遊技機１への電力供給が開始されたときには、ＶＣＣなどの各種電源電圧が徐々に上昇して規定値に達する。ステップＳ５の処理では、電源断信号が出力されていないオフ状態（ハイレベル）となっていることを確認する。ここで、遊技制御用マイクロコンピュータ１００は、入力ポートを介して１回だけ電源断信号の状態を確認するようにしてもよいが、電源断信号の状態を複数回確認するようにしてもよい。例えば、電源断信号がオフ状態であることを１回確認したら、所定時間（例えば０．１秒）が経過した後に、電源断信号をもう１回確認する。このとき、電源断信号がオフ状態であれば、電源断信号がオフ状態である旨の判定を行うようにする。他方、このときに電源断信号の状態がオン状態であれば、所定時間が経過した後に、電源断信号の状態を再び確認するようにしてもよい。なお、電源断信号の状態を再確認する回数は１回であってもよいし、複数回であってもよい。また、２回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。
【０１９１】
ステップＳ５にて電源断信号がオン状態であるときには（ステップＳ５；Ｎｏ）、所定時間（例えば０．１秒）が経過するまで待機した後（ステップＳ６）、ステップＳ５の処理に戻って、電源断信号がオフ状態となっているか否かの判定を再び行うようにする。これにより、遊技制御用マイクロコンピュータ１００は、電源電圧が安定したことを確認することができる。そして、ステップＳ５にて電源断信号がオフ状態であるときには（ステップＳ５；Ｙｅｓ）、例えば遊技制御用マイクロコンピュータ１００に設けられた入力ポートにおける所定ビットの状態をチェックすることなどにより、クリア信号がオン状態となっているか否かを判定する（ステップＳ７）。このとき、クリア信号がオン状態であれば（ステップＳ７；Ｙｅｓ）、例えば遊技制御フラグ設定部１３３に設けられたクリアフラグをオン状態にセットする（ステップＳ８）。他方、クリア信号がオフ状態であるときには（ステップＳ７；Ｎｏ）、ステップＳ８の処理をスキップして、クリアフラグをオフ状態のままとする。
【０１９２】
ここで、遊技制御用マイクロコンピュータ１００は、入力ポートを介して１回だけクリア信号の状態を確認するようにしてもよいが、クリア信号の状態を複数回確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを１回確認したら、所定時間（例えば０．１秒）が経過した後に、クリア信号の状態をもう１回確認する。このとき、クリア信号がオフ状態であれば、クリア信号がオフ状態である旨の判定を行うようにする。他方、このときにクリア信号の状態がオン状態であれば、所定時間が経過した後に、クリア信号の状態を再び確認するようにしてもよい。なお、クリア信号の状態を再確認する回数は１回であってもよいし、複数回であってもよい。また、２回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。
【０１９３】
その後、遊技の進行を制御するための遊技制御処理の開始タイミングをソフトウェアの実行により遅延させる遅延処理の設定を行う（ステップＳ９）。具体的な一例として、遊技制御カウンタ設定部１３５に設けられたウェイトカウンタに、初期化ウェイト回数指定値をセットする。続いて、ステップＳ９での設定に基づく遅延処理を開始して、例えばウェイトカウンタにおけるカウント値を１減算するなど、遅延処理の実行に関わる設定の更新を行う（ステップＳ１０）。そして、例えばウェイトカウンタにおけるカウント値が所定の遅延終了判定値に達したか否かを判定することなどにより、所定の遅延時間が経過したか否かを判定する（ステップＳ１１）。ここで、遅延終了判定値を示すデータは、ＲＯＭ１０５などに予め記憶されていればよい。例えば、遅延終了判定値は、遊技制御処理が実行可能状態となったときから、少なくとも払出制御基板１５に搭載された払出制御用マイクロコンピュータ１５０による払出制御用の各種処理が実行開始されるまでの時間に比べて遅延時間の方が長くなるように、予め定められた基準値であればよい。
【０１９４】
ステップＳ１１にて遅延時間が経過していないときには（ステップＳ１１；Ｎｏ）、ステップＳ１０の処理に戻り、遅延時間が経過しているときには（ステップＳ１１；Ｙｅｓ）、ＲＡＭ１０６をアクセス可能に設定する（ステップＳ１２）。続いて、遊技制御用マイクロコンピュータ１００は、クリアフラグがオンとなっているか否かを判定する（ステップＳ１３）。クリアフラグがオフであるときには（ステップＳ１３；Ｎｏ）、ＲＡＭ１０６のデータチェックを行い、チェック結果が正常であるか否かを判定する（ステップＳ１４）。ステップＳ１４の処理では、例えばＲＡＭ１０６の特定領域における記憶データを用いてチェックサムを算出し、算出されたチェックサムとメインチェックサムバッファに記憶されているチェックサムとを比較する。ここで、メインチェックサムバッファには、前回の電力供給停止時に、同様の処理によって算出されたチェックサムが記憶されている。そして、比較結果が不一致であれば、ＲＡＭ１０６の特定領域におけるデータが電力供給停止時のデータとは異なっていることから、チェック結果が正常でないと判断される。
【０１９５】
ステップＳ１４におけるチェック結果が正常であるときには（ステップＳ１４；Ｙｅｓ）、遊技制御フラグ設定部１３３に設けられたメインバックアップフラグがオンとなっているか否かを判定する（ステップＳ１５）。メインバックアップフラグの状態は、電力供給が停止するときに、遊技制御フラグ設定部１３３に設定される。そして、このメインバックアップフラグの設定箇所がバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、メインバックアップフラグの状態は保存されることになる。ステップＳ１５では、例えばメインバックアップフラグの値として「５５Ｈ」が遊技制御フラグ設定部１３３に設定されていれば、バックアップあり（オン状態）であると判断される。これに対して、「５５Ｈ」以外の値が設定されていればバックアップなし（オフ状態）であると判断される。なお、ステップＳ１５のようなメインバックアップフラグがオンとなっているか否かの判定を、ステップＳ１４のようなチェック結果の判定よりも先に行い、メインバックアップフラグがオンであるときにＲＡＭ１０６のデータチェック結果が正常であるか否かを判定するようにしてもよい。
【０１９６】
ステップＳ１５にてメインバックアップフラグがオンであるときには（ステップＳ１５；Ｙｅｓ）、メインバックアップフラグをクリアしてオフ状態とした後（ステップＳ１６）、遊技制御用マイクロコンピュータ１００の内部状態などを電力供給が停止されたときの状態に戻すための復旧時における設定を行う（ステップＳ１７）。具体的な一例として、ステップＳ１７の処理では、ＲＯＭ１０５に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し、バックアップ時設定テーブルの内容を順次に、ＲＡＭ１０６内の作業領域に設定する。ここで、ＲＡＭ１０６の作業領域はバックアップ電源によってバックアップされており、バックアップ時設定テーブルには、作業領域のうちで初期化してもよい領域についての初期化データが設定されていてもよい。
【０１９７】
また、ステップＳ１３にてクリアフラグがオンであるときや（ステップＳ１３；Ｙｅｓ）、ステップＳ１４にてチェック結果が正常ではないとき（ステップＳ１４；Ｎｏ）、あるいはステップＳ１５にてメインバックアップフラグがオフであるときには（ステップＳ１５；Ｎｏ）、ＲＡＭ１０６の初期化を行う（ステップＳ１８）。ステップＳ１８の処理に続いて、遊技制御用マイクロコンピュータ１００の内部状態などを初期状態とするための初期化時における設定を行う（ステップＳ１９）。具体的な一例として、ステップＳ１９の処理では、ＲＯＭ１０５に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し、初期化時設定テーブルの内容を順次、ＲＡＭ１０６内の作業領域に設定する。また、ステップＳ１９の処理では、遊技制御カウンタ設定部１３５に設けられたコマンド送信回数カウンタに、所定のカウント初期値（例えば「２００」）を設定する。
【０１９８】
ステップＳ１７またはステップＳ１９の処理を実行した後には、例えば遊技制御用マイクロコンピュータ１００が備えるタイマ回路１０７のレジスタ設定などを行うことにより、所定時間（例えば２ミリ秒）ごとにタイマ割込みが発生するように遊技制御用マイクロコンピュータ１００の内部設定を行う（ステップＳ２０）。この後、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第４及び第３ビット［ビット４−３］を読出し（ステップＳ２１）、読出した値に基づいて乱数生成動作の初期設定を行う（ステップＳ２２）。図２８は、ステップＳ２２にて実行される処理内容の一例を示す説明図である。
【０１９９】
ステップＳ２１における読出値が「００」であるときには、ステップＳ２２の処理としては何らの処理も実行されずに、ステップＳ２３の処理に進む。このときには、ステップＳ２２の処理として、乱数回路１０３における１２ビット乱数と１６ビット乱数の双方について、その生成動作を停止させるための処理が実行されてもよい。ステップＳ２１における読出値が「０１」であるときには、ステップＳ２２の処理として、１２ビット乱数初期設定処理が実行される。このときには、乱数回路１０３における１６ビット乱数について、その生成動作を停止させるための処理が実行されてもよい。ステップＳ２１における読出値が「１０」であるときには、ステップＳ２２の処理として、１６ビット乱数初期設定処理が実行される。このときには、乱数回路１０３における１２ビット乱数について、その生成動作を停止させるための処理が実行されてもよい。ステップＳ２１における読出値が「１１」であるときには、ステップＳ２２の処理として、１２ビット乱数初期設定処理と１６ビット乱数初期設定処理が実行される。
【０２００】
ステップＳ２２の処理に続いて、シリアル通信動作の初期設定を行うための処理として、シリアル通信初期設定処理を実行する（ステップＳ２３）。ステップＳ２３のシリアル通信初期設定処理では、例えばＣＰＵ１０４がＲＯＭ１０５の所定領域に格納されてシリアル通信回路１０８の動作設定を行うために用いられるシリアル通信初期設定データを読出し、読出値に基づいてシリアル通信回路１０８が備えるシリアル制御レジスタを所定の初期動作状態に設定する処理などを実行する。シリアル通信初期設定処理を実行した後、割込み要求に基づいて実行される割込み処理に関する初期設定を行うための処理として、割込み初期設定処理を実行する（ステップＳ２４）。ステップＳ２４の割込み初期設定処理では、例えばＣＰＵ１０４が図１９に示すようなＲＯＭ１０５におけるＥ０１Ｂｈ番地の領域に格納された最優先割込み設定（ＫＨＰＲ）を読出し、読出値に基づいて最優先割込みの設定を行う処理などを実行する。より具体的には、ＣＰＵ１０４が読出した最優先割込み設定（ＫＨＰＲ）の値が「００ｈ」から「０７ｈ」のいずれであるかを特定し、特定された値に対応するＩクラス割込み（ＩＲＱ）の要因が最も優先順位の高い割込み要因となるように、所定レジスタにおける格納データの読出順位の設定などが行われればよい。この読出順位の設定を示すデータは、例えばＣＰＵ１０４の内部レジスタなどに格納しておけばよい。この場合、ＣＰＵ１０４は、リセット／割込みコントローラ１０２からＩクラス割込み（ＩＲＱ）端子などに入力される割込み要求信号がオン状態となったときに、内部レジスタの格納データを確認することで、優先的に実行する割込み処理を特定することができる。
【０２０１】
続いて、遊技制御用マイクロコンピュータ１００は割込許可状態に設定して（ステップＳ２５）、各種割込みの発生を待機する。このときには、電源断信号がオン状態となったか否か（出力されたか否か）の判定を行い（ステップＳ２６）、オフであれば（ステップＳ２６；Ｎｏ）、そのまま各種割込みの発生を待機する。また、電源断信号がオン状態となったときには（ステップＳ２６；Ｙｅｓ）、メイン側電源断処理を実行した後（ステップＳ２７）、所定のループ処理を実行して、電力供給の停止による遊技制御用マイクロコンピュータ１００の動作停止まで待機する。なお、ステップＳ２６の処理では、入力ポートを介して１回だけ電源断信号の状態を確認するようにしてもよいが、電源断信号の状態を複数回確認するようにしてもよい。例えば、電源断信号がオフ状態であることを１回確認したら、所定時間（例えば０．１秒）が経過した後に、電源断信号をもう１回確認する。このとき、電源断信号がオフ状態であれば、電源断信号がオフ状態である旨の判定を行うようにする。他方、このときに電源断信号の状態がオン状態であれば、所定時間が経過した後に、電源断信号の状態を再び確認するようにしてもよい。なお、電源断信号の状態を再確認する回数は１回であってもよいし、複数回であってもよい。また、２回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。このように電源断信号の状態を複数回確認する場合には、例えば確認動作を開始するときや１回目の確認結果と２回目の確認結果とを比較して不一致であったときなどに、遊技制御用マイクロコンピュータ１００に内蔵されたＷＤＴ（ウォッチドッグ・タイマ）をクリアするリトリガを行う。そして、リトリガが何らかの原因（例えばプログラムの暴走）で所定時間内に発生しなくなった場合には、ＷＤＴから出力されるタイムアウト信号に基づくユーザリセットを発生させ、リセット／割込みコントローラ１０２、ＣＰＵ１０４、タイマ回路１０７、シリアル通信回路１０８などの各回路を初期化した後、所定のベクタテーブルで示されるアドレスからユーザプログラムの実行を開始して、自動復旧を行うようにしてもよい。
【０２０２】
ステップＳ２７のメイン側電源断処理では、例えばＣＰＵ１０４が割込禁止に設定した後、遊技制御用マイクロコンピュータ１００に設けられた出力ポートの所定ビットにクリアデータをセットするなどして、ソレノイド８１、８２の駆動制御に関する設定を初期化する。このときには、出力ポートの所定ビット以外にも、クリアすべき出力ポートにはクリアデータを設定するようにしてもよい。続いて、例えばＲＡＭ１０６の特定領域における記憶データを用いてチェックサムを算出するなどして、チェックデータの作成を行うとともに、遊技制御フラグ設定部１３３に設けられたメインバックアップフラグをオン状態にセットする。このとき作成されたチェックデータは、例えば遊技制御バッファ設定部１３６に設けられたメインチェックサムバッファなどといった、ＲＡＭ１０６の所定領域に格納される。そして、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が所定のＲＡＭアクセスレジスタにアクセス禁止値を設定することなどにより、以後、ＲＡＭ１０６へのアクセスを禁止する。これにより、電力供給の停止に伴ってプログラムの暴走が生じても、ＲＡＭ１０６の記憶内容が破損することを防止できる。こうしたメイン側電源断処理が実行された後には、待機状態（ループ処理）に入ることになる。
【０２０３】
また、ステップＳ２７にてメイン側電源断処理を実行した後には、例えば電源断信号がオフ状態となったか否かを定期的に判定し、オフ状態となったときには、ＣＰＵ１０４が図２６に示すステップＳ１から再び処理を進めることなどにより、瞬断に対応して処理を再開できるようにしてもよい。あるいは、ステップＳ２７にてメイン側電源断処理を実行した後、例えばＷＤＴからタイムアウト信号が出力されるまでの所要時間よりも長い時間として予め定められた所定時間が経過しても電源基板１０からの電力供給が継続しているときに、ＣＰＵ１０４が図２６に示すステップＳ１から再び処理を進めることなどにより、瞬断に対応して処理を再開できるようにしてもよい。
【０２０４】
図２９は、ステップＳ２５にて実行される処理に含まれる１２ビット乱数初期設定処理の一例を示すフローチャートである。図２９に示す１２ビット乱数初期設定処理において、遊技制御用マイクロコンピュータ１００では、まず、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第７ビット［ビット７］を読出し（ステップＳ１０１）、読出値が“０”であるか否かを判定する（ステップＳ１０２）。このとき、ステップＳ１０１での読出値が“０”であれば（ステップＳ１０２；Ｙｅｓ）、乱数回路１０３において１２ビット乱数を生成するための１周目のスタート値を、デフォルト値である「００１ｈ」に設定する旨の決定を行う（ステップＳ１０３）。他方、ステップＳ１０１での読出値が“１”であれば（ステップＳ１０２；Ｎｏ）、乱数回路１０３において１２ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する（ステップＳ１０４）。ここで、ステップＳ１０４の処理では、例えばＣＰＵ１０４がＲＯＭ１０５から読み出した遊技制御用マイクロコンピュータ１００のＩＤナンバーを、そのまま１２ビット乱数を生成するための１周目のスタート値に設定するようにしてもよい。あるいは、遊技制御用マイクロコンピュータ１００のＩＤナンバーを用いて所定の演算を実行することにより算出された値を、１２ビット乱数を生成するための１周目のスタート値に設定するようにしてもよい。例えば、ＣＰＵ１０４がＲＯＭ１０５から読み出した遊技制御用マイクロコンピュータ１００のＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算を実行して、算出された値を用いるようにすればよい。
【０２０５】
ステップＳ１０３またはステップＳ１０４にて決定されたスタート値は、乱数回路１０３が備える初期値設定回路１７２Ａに入力されることで、１２ビット乱数を生成するための１周目のスタート値として設定される。なお、ステップＳ１０３やステップＳ１０４の処理は、乱数回路１０３が備える初期値設定回路１７２Ａが実行するようにしてもよい。例えば、ＣＰＵ１０４がステップＳ１０２にて読出値が“０”であると判定したときには、乱数回路１０３に所定の第１初期値設定信号を送る。乱数回路１０３がＣＰＵ１０４から第１初期値設定信号を受けたときには、初期値設定回路１７２Ａが所定のレジスタの記憶データを読出し、その読出値を乱数生成回路１７３Ａに設定することなどにより、１２ビット乱数を生成するための１周目のスタート値を、デフォルト値である「００１ｈ」に設定する（ステップＳ１０３に相当する処理）。他方、ＣＰＵ１０４がステップＳ１０２にて読出値が“１”であると判定したときには、乱数回路１０３に第１初期値設定信号とは異なる第２初期値設定信号を送る。乱数回路１０３がＣＰＵ１０４から第１初期値設定信号を受けたときには、初期値設定回路１７２Ａが所定のレジスタに記憶されたＩＤナンバーに基づいて生成されるデータを選択し、その選択したデータを乱数生成回路１７３Ａに設定することなどにより、１２ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいた値に設定する（ステップＳ１０４に相当する処理）。ここで、所定のレジスタに記憶されたＩＤナンバーは、１２ビット乱数の最大値以下となる桁の数値のみが抽出されて乱数生成回路１７３Ａに設定されてもよい。あるいは、所定のレジスタに記憶されたＩＤナンバーが初期値設定回路１７２Ａに内蔵された演算回路（例えば乗算回路）に入力されることにより、例えばＩＤナンバーの各桁における数値を用いた所定の演算が実行され、この演算により算出された値を示すデータが乱数生成回路１７３Ａに設定されてもよい。また、ＣＰＵ１０４は、初期値設定回路１７２Ａの動作を直接制御してステップＳ１０３、Ｓ１０４に相当する処理を実行させてもよいし、例えば乱数回路１０３の内部または外部に初期値設定制御用として設けられて初期値設定回路１７２Ａが参照可能な所定のレジスタにステップＳ１０１での読出値に対応した制御データをセットすることなどにより、初期値設定回路１７２Ａの動作を間接的に制御するようにしてもよい。ＣＰＵ１０４が初期値設定制御用のレジスタに制御データをセットした場合には、例えば乱数回路１０３にて１２ビット乱数の生成を開始するときに初期値設定回路１７２Ａが初期値設定用のレジスタに記憶されている制御データを参照し、その制御データに従った初期値設定動作を行うことにより、ステップＳ１０１での読出値に応じた１周目のスタート値を生成して、乱数生成回路１７３Ａに設定することができる。
【０２０６】
ステップＳ１０３、Ｓ１０４の処理のいずれかを実行した後には、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第６及び第５ビット［ビット６−５］を読出し（ステップＳ１０５）、読出値に基づいて１２ビット乱数用のセレクタとして乱数回路１０３に設けられたセレクタ１７４Ａにおける選択動作の設定を行う（ステップＳ１０６）。例えば、ステップＳ１０５での読出値が「００」であるときには、セレクタ１７４Ａの出力信号が常にオフ状態となるように設定する。これにより、１２ビット乱数の更新順である順列を変更しない第３の方式が設定されることになる。また、ステップＳ１０５での読出値が「１０」であるときには、セレクタ１７４ＡがＡＲＳＣ１７５Ａからの出力信号を選択して出力するように設定する。このときには、セレクタ１７４Ａが、ＡＲＳＣ１７５Ａからの出力信号を乱数生成回路１７３Ａから出力される乱数一巡信号ＲＩＪ１と同期して出力するようになればよい。これにより、１２ビット乱数の２周目以降における順列をユーザプログラムにより変更可能とする第２の方式が設定されることになる。また、ステップＳ１０５での読出値が「１１」であるときには、セレクタ１７４Ａが乱数生成回路１７３Ａから出力される乱数一巡信号ＲＩＪ１を選択して出力するように設定する。これにより、１２ビット乱数の２周目以降における順列を自動的に変更する第１の方式が設定されることになる。なお、ステップＳ１０６の処理では、ＣＰＵ１０４がセレクタ１７４Ａの信号出力動作を直接制御してステップＳ１０５での読出値に対応した信号を出力させるように設定してもよいし、例えば乱数回路１０３の内部あるいは外部に設けられてセレクタ１７４Ａが参照可能な所定のレジスタにステップＳ１０５での読出値に対応した制御データをセットすることなどにより、セレクタ１７４Ａの信号出力動作を間接的に制御するようにしてもよい。ステップＳ１０６にてレジスタに制御データをセットした場合には、例えば乱数生成回路１７３Ａから乱数一巡信号ＲＩＪ１が出力されたときにセレクタ１７４Ａがレジスタに記憶されている制御データを参照し、その制御データに従った信号出力動作を行うことにより、ステップＳ１０６での設定に応じた信号を乱数列変更回路１７６Ａに出力して、１２ビット乱数を生成するための順列を変更または保持させることができる。
【０２０７】
ステップＳ１０６の処理に続いて、ＣＰＵ１０４がＲＯＭ１０５に記憶されている１２ビット乱数最大値（ＫＲＭＳ）を読出し（ステップＳ１０７）、その読出値を乱数回路１０３が備える最大値比較回路１７７Ａに設定する（ステップＳ１０８）。このときには、ステップＳ１０７での読出値が１２ビット乱数用の最大値として設定可能な範囲内であるか否かを判定する（ステップＳ１０９）。例えば、１２ビット乱数の最大値を「２５６」から「４０９５」までの範囲内で任意に設定できる場合には、ステップＳ１０７での読出値が「２５６」から「４０９５」までの範囲内であるか否かを判定する。
【０２０８】
ステップＳ１０９にて読出値が設定可能な範囲内ではない旨の判定がなされたときには（ステップＳ１０９；Ｎｏ）、１２ビット乱数用の最大値として設定可能な範囲内の所定値を最大値として再設定し、乱数回路１０３が備える最大値比較回路１７７Ａにセットする（ステップＳ１１０）。例えば、ステップＳ１０７での読出値が「２５６」から「４０９５」までの範囲内ではないときには、その範囲内の値である「４０９５」を、最大値として再設定すればよい。なお、ステップＳ１０８、Ｓ１１０の処理では、ＣＰＵ１０４が最大値比較回路１７７Ａの動作を直接制御して１２ビット乱数用の最大値を設定してもよいし、例えば乱数回路１０３の内部あるいは外部に設けられて最大値比較回路１７７Ａが参照可能な所定のレジスタに１２ビット乱数用の最大値を示す制御データをセットすることなどにより、最大値比較回路１７７Ａの動作を間接的に制御するようにしてもよい。ステップＳ１０８、Ｓ１１０にてレジスタに制御データをセットした場合には、例えば乱数列変更回路１７６Ａから出力される数値データ列Ｒ１の値が更新されるごとに最大値比較回路１７７Ａがレジスタに記憶された制御データを参照し、その制御データにより示された１２ビット乱数用の最大値と乱数列変更回路１７６Ａから出力される数値データとを比較することにより、最大値以下となる数値データだけを乱数値レジスタ１８１Ａに格納される１２ビットの乱数値として出力することができる。また、ステップＳ１０９にて読出値が設定可能な範囲内である旨の判定がなされたときには（ステップＳ１０９；Ｙｅｓ）、ステップＳ１１０の処理をスキップする。
【０２０９】
この後、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第１及び第０ビット［ビット１−０］を読み出す（ステップＳ１１１）。そして、ステップＳ１１１での読出値に基づき、１２ビット乱数における２周目以降のスタート値に関する初期設定を行う（ステップＳ１１２）。具体的な一例として、ステップＳ１１２の処理では、ＣＰＵ１０４がＲＯＭ１０５から読出した第１乱数初期設定データ（ＫＲＳＳ１）の第１及び第０ビット［ビット１−０］を示す読出データを、乱数回路１０３もしくはＣＰＵ１０４に内蔵された所定のレジスタや、ＲＡＭ１０６の所定領域に格納して記憶させることなどにより、ＣＰＵ１０４が遊技制御用のタイマ割込み処理を実行中に１２ビット乱数における２周目以降のスタート値に関する設定を参照できるような初期設定が行われればよい。
【０２１０】
図３０は、ステップＳ２２にて実行される処理に含まれる１６ビット乱数初期設定処理の一例を示すフローチャートである。図３０に示す１６ビット乱数初期設定処理において、遊技制御用マイクロコンピュータ１００では、まず、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第２ビット［ビット２］を読出し（ステップＳ１２１）、読出値に基づいて乱数回路１０３に設けられたクロック信号出力回路１７１における動作設定を行う（ステップＳ１２２）。例えば、ステップＳ１２１での読出値が“０”であるときには、クロック信号出力回路１７１が出力するクロック信号Ｓ１を、クロック信号出力回路１７１のクロック入力端子に入力される内部システムクロックＣＬＫと同一周期のクロック信号となるように設定する。また、ステップＳ１２１での読出値が“１”であるときには、クロック信号出力回路１７１が出力するクロック信号Ｓ１を、クロック信号出力回路１７１のクロック入力端子に入力される内部システムクロックＣＬＫの１６倍の周期を有するクロック信号となるように設定する。なお、ステップＳ１２２の処理では、ＣＰＵ１０４がクロック信号出力回路１７１の動作を直接制御してステップＳ１２１での読出値に対応したクロック信号を出力させるように設定してもよいし、例えば乱数回路１０３の内部あるいは外部に設けられてクロック信号出力回路１７１が参照可能な所定のレジスタにステップＳ１２１での読出値に対応した制御データをセットすることなどにより、クロック信号出力回路１７１の動作を間接的に制御するようにしてもよい。ステップＳ１２２にてレジスタに制御データをセットした場合には、例えば乱数回路１０３にて１６ビット乱数の生成を開始するときにクロック信号出力回路１７１ががレジスタに記憶されている制御データを参照し、その制御データに従ったクロック信号の出力動作を行うことにより、ステップＳ１２１での設定に応じたクロック信号を出力することができる。
【０２１１】
ステップＳ１２２の処理に続いて、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第４ビット［ビット４］を読出し（ステップＳ１２３）、読出値が“０”であるか否かを判定する（ステップＳ１２４）。このとき、ステップＳ１２３での読出値が“０”であれば（ステップＳ１２４；Ｙｅｓ）、乱数回路１０３において１６ビット乱数を生成するための１周目のスタート値を、デフォルト値である「０００１ｈ」に設定する旨の決定を行う（ステップＳ１２５）。他方、ステップＳ１２３での読出値が“１”であれば（ステップＳ１２４；Ｎｏ）、乱数回路１０３において１６ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する（ステップＳ１２６）。ここで、ステップＳ１２６の処理では、例えばＣＰＵ１０４がＲＯＭ１０５から読み出した遊技制御用マイクロコンピュータ１００のＩＤナンバーを、そのまま１６ビット乱数を生成するための１周目のスタート値に設定するようにしてもよい。あるいは、遊技制御用マイクロコンピュータ１００のＩＤナンバーを用いて所定の演算を実行することにより算出された値を、１６ビット乱数を生成するための１周目のスタート値に設定するようにしてもよい。例えば、ＣＰＵ１０４がＲＯＭ１０５から読み出した遊技制御用マイクロコンピュータ１００のＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算を実行して、算出された値を用いるようにすればよい。
【０２１２】
ステップＳ１２５またはステップＳ１２６にて決定されたスタート値は、乱数回路１０３が備える初期値設定回路１７２Ｂに入力されることで、１６ビット乱数を生成するための１周目のスタート値として設定される。なお、ステップＳ１２５やステップＳ１２６の処理は、乱数回路１０３が備える初期値設定回路１７２Ｂが実行するようにしてもよい。例えば、ＣＰＵ１０４がステップＳ１２４にて読出値が“０”であると判定したときには、乱数回路１０３に所定の第３初期値設定信号を送る。乱数回路１０３がＣＰＵ１０４から第３初期値設定信号を受けたときには、初期値設定回路１７２Ｂが所定のレジスタの記憶データを読出し、その読出値を乱数生成回路１７３Ｂに設定することなどにより、１６ビット乱数を生成するための１周目のスタート値を、デフォルト値である「０００１ｈ」に設定する（ステップＳ１２５に相当する処理）。他方、ＣＰＵ１０４がステップＳ１２４にて読出値が“１”であると判定したときには、乱数回路１０３に第３初期値設定信号とは異なる第４初期値設定信号を送る。乱数回路１０３がＣＰＵ１０４から第４初期値設定信号を受けたときには、初期値設定回路１７２Ｂが所定のレジスタに記憶されたＩＤナンバーに基づいて生成されるデータを選択し、その選択したデータを乱数生成回路１７３Ｂに設定することなどにより、１６ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいた値に設定する（ステップＳ１２６に相当する処理）。ここで、所定のレジスタに記憶されたＩＤナンバーは、１６ビット乱数の最大値以下となる桁の数値のみが抽出されて乱数生成回路１７３Ｂに設定されてもよい。あるいは、所定のレジスタに記憶されたＩＤナンバーが初期値設定回路１７２Ｂに内蔵された演算回路（例えば乗算回路）に入力されることにより、例えばＩＤナンバーの各桁における数値を用いた所定の演算が実行され、この演算により算出された値を示すデータが乱数生成回路１７３Ｂに設定されてもよい。また、ＣＰＵ１０４は、初期値設定回路１７２Ｂの動作を直接制御してステップＳ１２５、Ｓ１２６に相当する処理を実行させてもよいし、例えば乱数回路１０３の内部または外部に初期値設定制御用として設けられて初期値設定回路１７２Ｂが参照可能な所定のレジスタにステップＳ１２３での読出値に対応した制御データをセットすることなどにより、初期値設定回路１７２Ｂの動作を間接的に制御するようにしてもよい。ＣＰＵ１０４が初期値設定制御用のレジスタに制御データをセットした場合には、例えば乱数回路１０３にて１６ビット乱数の生成を開始するときに初期値設定回路１７２Ｂが初期値設定用のレジスタに記憶されている制御データを参照し、その制御データに従った初期値設定動作を行うことにより、ステップＳ１２３での読出値に応じた１周目のスタート値を生成して、乱数生成回路１７３Ｂに設定することができる。
【０２１３】
ステップＳ１２５、Ｓ１２６の処理のいずれかを実行した後には、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第１及び第０ビット［ビット１−０］を読出し（ステップＳ１２７）、読出値に基づいて１６ビット乱数用のセレクタとして乱数回路１０３に設けられたセレクタ１７４Ｂにおける選択動作の設定を行う（ステップＳ１２８）。例えば、ステップＳ１２７での読出値が「００」であるときには、セレクタ１７４Ｂの出力信号が常にオフ状態となるように設定する。これにより、１６ビット乱数の更新順である順列を変更しない第３の方式が設定されることになる。また、ステップＳ１２７での読出値が「１０」であるときには、セレクタ１７４ＢがＢＲＳＣ１７５Ｂからの出力信号を選択して出力するように設定する。このときには、セレクタ１７４Ｂが、ＢＲＳＣ１７５Ｂからの出力信号を乱数生成回路１７３Ｂから出力される乱数一巡信号ＲＩＪ２と同期して出力するようになればよい。これにより、１６ビット乱数の２周目以降における順列をユーザプログラムにより変更可能とする第２の方式が設定されることになる。また、ステップＳ１２７での読出値が「１１」であるときには、セレクタ１７４Ｂが乱数生成回路１７３Ｂから出力される乱数一巡信号ＲＩＪ２を選択して出力するように設定する。これにより、１６ビット乱数の２周目以降における順列を自動的に変更する第１の方式が設定されることになる。なお、ステップＳ１２８の処理では、ＣＰＵ１０４がセレクタ１７４Ｂの信号出力動作を直接制御してステップＳ１２７での読出値に対応した信号を出力させるように設定してもよいし、例えば乱数回路１０３の内部あるいは外部に設けられてセレクタ１７４Ｂが参照可能な所定のレジスタにステップＳ１２７での読出値に対応した制御データをセットすることなどにより、セレクタ１７４Ｂの信号出力動作を間接的に制御するようにしてもよい。ステップＳ１２７にてレジスタに制御データをセットした場合には、例えば乱数生成回路１７３Ｂから乱数一巡信号ＲＩＪ２が出力されたときにセレクタ１７４Ｂがレジスタに記憶されている制御データを参照し、その制御データに従った信号出力動作を行うことにより、ステップＳ１２８での設定に応じた信号を乱数列変更回路１７６Ｂに出力して、１６ビット乱数を生成するための順列を変更または保持させることができる。
【０２１４】
ステップＳ１２８の処理に続いて、ＣＰＵ１０４がＲＯＭ１０５に記憶されている１６ビット乱数最大値（ＫＲＸＳ）を読出し（ステップＳ１２９）、その読出値を乱数回路１０３が備える最大値比較回路１７７Ｂに設定する（ステップＳ１３０）。このときには、ステップＳ１２９での読出値が１６ビット乱数用の最大値として設定可能な範囲内であるか否かを判定する（ステップＳ１３１）。例えば、１６ビット乱数の最大値を「５１２」から「６５５３５」までの範囲内で任意に設定できる場合には、ステップＳ１２９での読出値が「５１２」から「６５５３５」までの範囲内であるか否かを判定する。
【０２１５】
ステップＳ１３１にて読出値が設定可能な範囲内ではない旨の判定がなされたときには（ステップＳ１３１；Ｎｏ）、１６ビット乱数用の最大値として設定可能な範囲内の所定値を最大値として再設定し、乱数回路１０３が備える最大値比較回路１７７Ｂにセットする（ステップＳ１３２）。例えば、ステップＳ１２９での読出値が「５１２」から「６５５３５」までの範囲内ではないときには、その範囲内の値である「６５５３５」を、最大値として再設定すればよい。なお、ステップＳ１３０、Ｓ１３２の処理では、ＣＰＵ１０４が最大値比較回路１７７Ｂの動作を直接制御して１６ビット乱数用の最大値を設定してもよいし、例えば乱数回路１０３の内部あるいは外部に設けられて最大値比較回路１７７Ｂが参照可能な所定のレジスタに１６ビット乱数用の最大値を示す制御データをセットすることなどにより、最大値比較回路１７７Ｂの動作を間接的に制御するようにしてもよい。ステップＳ１３０、Ｓ１３２にてレジスタに制御データをセットした場合には、例えば乱数列変更回路１７６Ｂから出力される数値データ列Ｒ２の値が更新されるごとに最大値比較回路１７７Ｂがレジスタに記憶された制御データを参照し、その制御データにより示された１６ビット乱数用の最大値と乱数列変更回路１７６Ｂから出力される数値データとを比較することにより、最大値以下となる数値データだけを乱数値レジスタ１８１Ｂに格納される１６ビットの乱数値として出力することができる。また、ステップＳ１３１にて読出値が設定可能な範囲内である旨の判定がなされたときには（ステップＳ１３１；Ｙｅｓ）、ステップＳ１３２の処理をスキップする。
【０２１６】
この後、ＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第３及び第２ビット［ビット３−２］を読み出す（ステップＳ１３３）。そして、ステップＳ１３３での読出値に基づき、１６ビット乱数における２周目以降のスタート値に関する初期設定を行う（ステップＳ１３４）。具体的な一例として、ステップＳ１３４の処理では、ＣＰＵ１０４がＲＯＭ１０５から読出した第２乱数初期設定データ（ＫＲＳＳ２）の第３及び第２ビット［ビット３−２］を示す読出データを、乱数回路１０３もしくはＣＰＵ１０４に内蔵された所定のレジスタや、ＲＡＭ１０６の所定領域に格納して記憶させることなどにより、ＣＰＵ１０４が遊技制御用のタイマ割込み処理を実行中に１６ビット乱数における２周目以降のスタート値に関する設定を参照できるような初期設定が行われればよい。
【０２１７】
図２７に示すステップＳ２５の処理を実行することにより割込許可状態となった後、例えばタイマ回路１０７やシリアル通信回路１０８などにて同時に複数の割込み要因が生じたときには、ステップＳ２４にて実行される割込み初期設定処理などでの設定に基づき、リセット／割込みコントローラ１０２によって優先順位の高い割込み要因が受け付けられる。リセット／割込みコントローラ１０２が割込み要因を受け付けたときには、例えばＣＰＵ１０４が備えるＩクラス割込み（ＩＲＱ）端子などに対して、オン状態の割込み要求信号を出力する。ＣＰＵ１０４にてＩＲＱ端子にオン状態の割込み要求信号が入力されたときには、例えば内部レジスタの格納データを確認した結果などに基づき、ステップＳ２４にて実行した割込み初期設定処理での設定に基づく読出順位に応じた順番で、例えばタイマ回路１０７が備えるタイマ制御レジスタやシリアル通信回路１０８が備えるシリアルステータスレジスタ２０４といった、所定レジスタにおける格納データのビット値を読み出せばよい。こうして読み出したレジスタの格納データから、発生した割込み要因を特定し、特定された割込み要因に対応するベクタアドレスを先頭アドレスとするプログラムを実行することにより、各割込み要因に基づく割込み処理を開始することができる。
【０２１８】
具体的な一例として、最優先割込み設定（ＫＨＰＲ）が「０５ｈ」であるときには、まず、シリアルステータスレジスタ２０４が備える第１レジスタＳＩＳＴ１の第３〜第０ビット［ビット３−０］を読出し、何れかのビット値が「１」となっているか否かを判定する。このとき、何れかのビット値が「１」となっていれば、シリアル通信回路１０８にて発生したエラー割込み要因に対応する割込み処理を実行するものと判断して、例えばＲＯＭ１０５の所定領域に格納されている割込みベクタを取得し、そのベクタアドレスを先頭アドレスとするプログラムを実行する。また、第１レジスタＳＩＳＴ１の第３〜第０ビット［ビット３−０］におけるビット値がいずれも「０」であるときには、遊技制御用マイクロコンピュータ１００に設けられたＩＲＱ端子にオン状態の割込み要求信号が一定期間入力されたことによる外部割込み要因が発生したか否かを判定する。このとき、外部割込み要因が発生していれば、その外部割込み要因に対応する割込み処理を実行する一方、外部割込み要因が発生していなければ、タイマ回路１０７が備えるタイマ制御レジスタにおける格納データを読出し、その読出値に基づいてタイマ回路１０７にてタイマ割込み要因が発生したか否かを判定する。このとき、タイマ回路１０７にてタイマ割込み要因が発生していれば、そのタイマ割込み要因に対応するタイマ割込み処理を実行する一方、タイマ割込み要因が発生していなければ、シリアルステータスレジスタ２０４が備える第１レジスタＳＩＳＴ１の第５及び第４ビット［ビット５−４］を読出し、何れかのビット値が「１」となっているか否かを判定する。このとき、何れかのビット値が「１」となっていれば、シリアル通信回路１０８にて発生した受信割込み要因に対応する受信割込み処理を実行する一方、いずれのビット値も「０」であれば、シリアルステータスレジスタ２０４が備える第１レジスタＳＩＳＴ１の第７及び第６ビット［ビット７−６］を読出し、何れかのビット値が「１」となっているか否かを判定する。このとき、何れかのビット値が「１」となっていれば、シリアル通信回路１０８にて発生した送信割込み要因に対応する送信割込み処理を実行する。
【０２１９】
このように、図２７に示すステップＳ２４にて実行した割込み初期設定処理での設定に基づく優先順位に応じた順番で割込み要因が発生したか否かを確認することで、複数の割込み要因が同時に発生したときには、例えば図２０（Ｂ）に示すようなデフォルト時の優先順位、あるいはＲＯＭ１０５に記憶されている最優先割込み設定（ＫＨＰＲ）により変更された優先順位において、優先順位の高い割込み要因に基づく割込み処理が、優先順位の低い割込み要因に基づく割込み処理よりも優先的に実行される。
【０２２０】
例えば、ＲＯＭ１０５に記憶されている最優先割込み設定（ＫＨＰＲ）が「０６ｈ」であるときには、ステップＳ２４にて実行される割込み初期設定処理などでの設定により、図２０（Ｂ）に示すようなデフォルト時の優先順位が、図２０（Ａ）に示すようにシリアル通信回路１０８からの受信割込み要求を最優先とする優先順位に変更される。この場合には、シリアル通信回路１０８からのエラー割込み要求に基づく割込み処理よりもシリアル通信回路１０８からの受信割込み要求に基づく割込み処理の方が優先的に実行されることになる。また、図２０（Ｂ）に示すように、デフォルト時では、タイマ回路１０７からの割込み要求に基づく割込み処理の方がシリアル通信回路１０８からの割込み要求に基づく割込み処理よりも優先的に実行される設定となっている。これに対して、ＲＯＭ１０５に記憶されている最優先割込み設定（ＫＨＰＲ）が「０５ｈ」、「０６ｈ」、「０７ｈ」のいずれかであるときには、それぞれ、シリアル通信回路１０８からのエラー割込み要求に基づく割込み処理、受信割込み要求に基づく割込み処理、送信割込み要求に基づく割込み処理の方が、タイマ回路１０７からの割込み要求に基づく割込み処理よりも優先的に実行されることになる。
【０２２１】
例えば、遊技制御用マイクロコンピュータ１００に設けられたシリアル通信回路１０８にてエラー割込みが発生したときには、シリアル通信エラー割込み処理として予め定められた処理が実行される。ここで、シリアル通信回路１０８では、シリアル制御レジスタでの設定に基づき、オーバーランエラーの発生や、ノイズエラーの発生、フレーミングエラーの発生、あるいはパリティエラーの発生といった、所定のエラー割込み要因が発生したときに、エラー割込みを発生させることができる。なお、オーバーランエラーは、シリアル通信回路１０８における受信データがユーザプログラムによって読出される以前に、シリアル通信回路１０８の受信動作部に設けられた受信用シフトレジスタが次のデータを受信したときに発生するエラーである。また、ノイズエラーは、シリアル通信回路１０８にて受信したデータのノイズを検出したときに発生するエラーである。フレーミングエラーは、シリアル通信回路１０８にて受信したデータのストップビットに“０”を検出したときに発生するエラーである。パリティエラーは、シリアル通信回路１０８にて受信したデータのパリティと受信データ内におけるパリティビットとが一致しないときに発生するエラーである。例えば、シリアル通信回路１０８にてエラー割込み要因が発生したときに、シリアル通信回路１０８からリセット／割込みコントローラ１０２に割込み要求が送信され、前述したようにリセット／割込みコントローラ１０２が割込み要因を受け付けた場合には、ＣＰＵ１０４が備えるＩＲＱ端子にオン状態の割込み要求信号が入力されることで、ＣＰＵ１０４に割込みの発生が通知される。
【０２２２】
シリアル通信エラー割込み処理を開始したときに、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４がシリアル通信回路１０８に設けられた送信動作部と受信動作部を未使用状態に設定して、シリアル通信回路１０８による送受信動作を行わないものと設定すればよい。また、シリアル通信エラー割込み処理を実行したときには、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられたシリアル通信エラーフラグをオン状態にセットすればよい。
【０２２３】
加えて、遊技制御用マイクロコンピュータ１００に設けられたシリアル通信回路１０８にて受信割込みが発生したときには、シリアル受信割込み処理として予め定められた処理が実行される。このシリアル受信割込み処理が実行されることにより、シリアル通信回路１０８にて払出制御基板１５から受信したコマンドが遊技制御バッファ設定部１３６に設けられた払出用受信コマンドバッファ１９１に格納される。さらに、遊技制御用マイクロコンピュータ１００に設けられたシリアル通信回路１０８にて送信割込みが発生したときには、シリアル送信割込み処理として予め定められた処理が実行される。このシリアル送信割込み処理では、シリアル通信回路１０８にて発生した送信割込みの種類を特定して、特定された割込みの種類に応じたフラグをセットまたはクリアするなどといった、送信割込みの種類に対応する各種の処理が実行されればよい。
【０２２４】
図３１は、遊技制御用マイクロコンピュータ１００にてタイマ割込みが発生するごとに実行される遊技制御用タイマ割込み処理の一例を示すフローチャートである。図３１に示す遊技制御用タイマ割込み処理において、遊技制御用マイクロコンピュータ１００は、まず、内部レジスタを退避した後（ステップＳ７１）、所定のスイッチ処理を実行することにより、スイッチ回路１１１を介して各スイッチから入力される検出信号の状態を判定する（ステップＳ７２）。次に、スイッチ回路１１１を介して満タンスイッチ２６から入力される検出信号や、タッチセンサ７５から入力されるタッチセンサ検出信号に基づき、発射装置１９や球送り装置６２を駆動あるいは停止させて遊技球の発射制御を行うための発射制御処理を実行する（ステップＳ７３）。その後、所定の情報出力処理を実行することにより、例えばパチンコ遊技機１の外部に設置されたホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する（ステップＳ７４）。また、ステップＳ７４の情報出力処理では、発射装置１９に発射許可信号を送信したり、球送り装置６２に供給許可信号を送信したりするための設定が行われる。
【０２２５】
ステップＳ７４の情報出力処理に続いて、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４がＲＯＭ１０５から読み出したユーザプログラムにより乱数の２周目以降におけるスタート値を変更するための乱数スタート値変更設定処理を実行する（ステップＳ７５）。また、例えばＣＰＵ１０４がＲＯＭ１０５から読み出したユーザプログラムにより乱数の２周目以降における順列を変更するための乱数順列変更設定処理を実行する（ステップＳ７６）。
【０２２６】
ステップＳ７６にて乱数順列変更設定処理を実行した後、遊技制御用マイクロコンピュータ１００は、ステップＳ７２におけるスイッチ処理の実行結果に基づき、入賞検出信号の入力に応じて賞球個数の設定などを行う賞球処理を実行する（ステップＳ７７）。また、遊技制御用マイクロコンピュータ１００は、賞球過多や賞球不足、その他の動作エラーが発生した場合に対応して、異常動作の発生を報知するための設定などを行う異常動作報知設定処理を実行する（ステップＳ７８）。続いて、シリアル通信により払出制御基板１５から送信されたコマンドを受信するためのメイン側受信処理を実行する（ステップＳ７９）。
【０２２７】
この後、遊技制御用マイクロコンピュータ１００は、特別図柄プロセス処理を実行する（ステップＳ８０）。特別図柄プロセス処理では、遊技制御フラグ設定部１３３に設けられた特別図柄プロセスフラグの値をパチンコ遊技機１における遊技の進行状況に応じて更新し、特別図柄表示装置４における表示動作の制御や特別可変入賞球装置７における大入賞口開閉動作の設定などを所定の手順で行うために、各種の処理が選択されて実行される。特別図柄プロセス処理に続いて、普通図柄プロセス処理が実行される（ステップＳ８１）。遊技制御用マイクロコンピュータ１００は、普通図柄プロセス処理を実行することにより、普通図柄表示器４０における表示動作（例えばＬＥＤの点灯、消灯など）を制御して、普通図柄の可変表示（例えば、点灯・点滅表示など）や普通可変入賞球装置６における可動翼片の傾動制御の設定などを可能にする。
【０２２８】
さらに、遊技制御用マイクロコンピュータ１００は、払出用コマンド制御処理を実行することにより、主基板１１から払出制御基板１５に対して払出制御コマンドを送信させる（ステップＳ８２）。また、遊技制御用マイクロコンピュータ１００は、演出用コマンド制御処理を実行することにより、主基板１１から演出制御基板１２に対して演出制御コマンドを送信させる（ステップＳ８３）。この後、遊技制御用マイクロコンピュータ１００は、メイン側エラー解除処理を実行して、エラー解除スイッチ３１からの検出信号がオン状態となったときに所定のエラーの解除を可能にする（ステップＳ８４）。そして、ステップＳ７１にて退避したレジスタの内容を復帰させてから（ステップＳ８５）、遊技制御用タイマ割込み処理を終了する。
【０２２９】
ステップＳ８３のメイン側エラー解除処理では、例えばＣＰＵ１０４がステップＳ７２におけるスイッチ処理の実行結果などに基づきエラー解除スイッチ３１からの検出信号がオン状態となっているか否かを判定する。このとき、エラー解除スイッチ３１からの検出信号がオン状態となっていれば、例えば払出用通信エラー検出フラグがオンとなっているか否かを判定する。そして、払出用通信エラー検出フラグがオンであれば、払出用通信エラー検出フラグをクリアしてオフ状態とする。また、エラー解除スイッチ３１からの検出信号がオン状態となっているときには、シリアル通信エラーフラグがオンとなっているか否かを判定する。そして、シリアル通信エラーフラグがオンであるときには、例えば図２７に示すステップＳ２３と同様のシリアル通信初期設定処理を実行することにより、シリアル通信回路１０８の初期設定を行ってから、シリアル通信エラーフラグをクリアしてオフ状態とする。さらに、ステップＳ８３のメイン側エラー解除処理では、払出エラー解除フラグがオンとなっているか否かを判定し、オンであるときには、払出制御基板１５からエラーが解除された旨を示す払出エラー解除コマンドを受信したと判断して、払出エラー通知フラグをクリアしてオフ状態とするようにしてもよい。
【０２３０】
図３２は、図３１に示すステップＳ７３にて実行される発射制御処理の一例を示すフローチャートである。この発射制御処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４がスイッチ回路１１１を介してタッチセンサ７５から入力されたタッチセンサ検出信号がオン状態となっているか否かを判定する（ステップＳ２０１）。このとき、タッチセンサ検出信号がオン状態であれば（ステップＳ２０１；Ｙｅｓ）、スイッチ回路１１１を介して満タンスイッチ２６から入力された検出信号がオン状態となっているか否かを判定する（ステップＳ２０２）。
【０２３１】
ステップＳ２０２にて満タンスイッチ２６からの検出信号がオフ状態であるときには（ステップＳ２０２；Ｎｏ）、例えば遊技制御タイマ設定部１３４に設けられた発射制御タイマがタイムアウトしているか否かを判定する（ステップＳ２０３）。なお、発射制御タイマには、後述するステップＳ２０８にて、発射制御用初期値となるタイマ初期値が設定される。そして、ステップＳ２０３にて発射制御タイマがタイムアウトしていないときには（ステップＳ２０３；Ｎｏ）、発射制御タイマのタイマ値を、例えば１減算するなどして更新する（ステップＳ２０４）。その後、例えばステップＳ２０４での更新により発射制御タイマがタイムアウトしたか否かを判定することなどにより、発射制御時間が経過したか否かを判定する（ステップＳ２０５）。
【０２３２】
ステップＳ２０５にて発射制御時間が経過していなければ（ステップＳ２０５；Ｎｏ）、発射制御処理を終了する。これに対して、ステップＳ２０５にて発射制御時間が経過しているときには（ステップＳ２０５；Ｙｅｓ）、遊技制御タイマ設定部１３４が備える供給許可制御タイマに、供給出力用初期値として予め定められたタイマ初期値を設定する（ステップＳ２０６）。ここで、供給出力用初期値は、発射制御時間が経過するごとに定期的に出力される供給許可信号の出力時間（例えば１２ミリ秒）に対応して予め定められたタイマ初期値であればよい。ステップＳ２０６の処理に続いて、遊技制御タイマ設定部１３４が備える発射許可制御タイマに、発射出力用初期値として予め定められたタイマ初期値を設定する（ステップＳ２０７）。ここで、発射出力用初期値は、発射制御時間が経過するごとに定期的に出力される発射許可信号の出力時間（例えば７４ミリ秒）に対応して予め定められたタイマ初期値であればよい。
【０２３３】
ステップＳ２０１にてタッチセンサ７５から入力されたタッチセンサ検出信号がオフ状態であるとき（ステップＳ２０１；Ｎｏ）、ステップＳ２０２にて満タンスイッチ２６からの検出信号がオン状態であるとき（ステップＳ２０２；Ｙｅｓ）、ステップＳ２０３にて発射制御タイマがタイムアウトしたとき（ステップＳ２０３；Ｙｅｓ）、あるいはステップＳ２０７の処理を実行した後には、発射制御タイマに発射制御用初期値として予め定められたタイマ初期値を設定する（ステップＳ２０８）。なお、発射制御用初期値は、主基板１１から発射装置１９への発射許可信号や、主基板１１から球送り装置６２への供給許可信号を、定期的に送信するための制御時間（例えば６０２ミリ秒）に対応して予め定められたタイマ初期値であればよい。
【０２３４】
このように、ステップＳ２０１にてタッチセンサ７５から入力されたタッチセンサ検出信号がオフ状態であるときや、ステップＳ２０２にて満タンスイッチ２６からの検出信号がオン状態であるときには、ステップＳ２０６の処理やステップＳ２０７の処理が実行されずに、ステップＳ２０８の処理に進むことになる。そのため、タッチセンサ７５からのタッチセンサ検出信号がオン状態であり、かつ、満タンスイッチ２６からの検出信号がオフ状態であれば、主基板１１から発射装置１９への発射許可信号や主基板１１から球送り装置６２への供給許可信号の出力が可能になる一方で、タッチセンサ７５からのタッチセンサ検出信号がオフ状態であるとき、または、満タンスイッチ２６からの検出信号がオン状態であるときには、主基板１１から発射装置１９への発射許可信号や主基板１１から球送り装置６２への供給許可信号が出力されないことになる。
【０２３５】
図３３は、図３１に示すステップＳ７４にて実行される情報出力処理の一例を示すフローチャートである。この情報出力処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、発射許可制御タイマがタイムアウトしているか否かを、例えばＣＰＵ１０４が判定する（ステップＳ２２１）。このとき、発射許可制御タイマがタイムアウトしていなければ（ステップＳ２２１；Ｎｏ）、発射許可制御タイマのタイマ値を、例えば１減算するなどして更新する（ステップＳ２２２）。ステップＳ２２２の処理に続いて、発射許可信号を発射装置１９に対して出力するための設定を行う（ステップＳ２２３）。具体的な一例として、ステップＳ２２３では、発射許可信号をオン状態とするための制御データを、遊技制御用マイクロコンピュータ１００が備える出力ポートにて発射許可信号の出力用に設けられた所定ビットにセットすればよい。
【０２３６】
ステップＳ２２１にて発射許可制御タイマがタイムアウトしているときや（ステップＳ２２１；Ｙｅｓ）、ステップＳ２２３の処理を実行した後には、供給許可制御タイマがタイムアウトしているか否かを判定する（ステップＳ２２４）。このとき、供給許可制御タイマがタイムアウトしていなければ（ステップＳ２２４；Ｎｏ）、供給許可制御タイマのタイマ値を、例えば１減算するなどして更新する（ステップＳ２２５）。ステップＳ２２５の処理に続いて、供給許可信号を球送り装置６２に対して出力するための設定を行う（ステップＳ２２６）。具体的な一例として、ステップＳ２２６では、供給許可信号をオン状態とするための制御データを、遊技制御用マイクロコンピュータ１００が備える出力ポートにて供給許可信号の出力用に設けられた所定ビットにセットすればよい。ステップＳ２２４にて供給許可制御タイマがタイムアウトしているときや（ステップＳ２２４；Ｙｅｓ）、ステップＳ２２６の処理を実行した後には、パチンコ遊技機１における各種情報を出力するための設定を行えばよい（ステップＳ２２７）。
【０２３７】
図３４及び図３５は、図３１に示すステップＳ７３にて実行される乱数スタート値変更設定処理の一例を示すフローチャートである。この乱数スタート値変更設定処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられた１２ビット乱数用スタート値変更フラグがオンとなっているか否かを判定する（図３４のステップＳ２４１）。このとき、１２ビット乱数用スタート値変更フラグがオンであれば（ステップＳ２４１；Ｙｅｓ）、ＣＰＵ１０４が１２ビット乱数における２周目以降のスタート値に関する設定を読出し（ステップＳ２４２）、読出値が「０１」であるか否かを判定する（ステップＳ２４３）。ステップＳ２４２における処理の具体的な一例としては、乱数回路１０３もしくはＣＰＵ１０４に内蔵された所定のレジスタや、ＲＡＭ１０６の所定領域に格納された１２ビット乱数における２周目以降のスタート値に関する設定データを、ＣＰＵ１０４が読み出す処理などであればよい。
【０２３８】
ステップＳ２０３にて読出値が「０１」であると判定されたときには（ステップＳ２４３；Ｙｅｓ）、乱数回路１０３において１２ビット乱数を生成するためのスタート値（２周目以降のスタート値）を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する（ステップＳ２４４）。ここで、ステップＳ２４４の処理では、遊技制御用マイクロコンピュータ１００のＩＤナンバーを、そのまま１２ビット乱数を生成するためのスタート値に設定するようにしてもよい。あるいは、遊技制御用マイクロコンピュータ１００のＩＤナンバーを用いて所定の演算を実行することにより算出された値を、１２ビット乱数を生成するためのスタート値に設定するようにしてもよい。例えば、遊技制御用マイクロコンピュータ１００のＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算を実行して、算出された値を用いるようにすればよい。
【０２３９】
また、ステップＳ２４３にて読出値が「０１」ではないと判定されたときには（ステップＳ２４３；Ｎｏ）、その読出値は「１０」であるか否かを判定する（ステップＳ２４５）。そして、読出値が「１０」であると判定されたときには（ステップＳ２４５；Ｙｅｓ）、乱数回路１０３において１２ビット乱数を生成するためのスタート値（２周目以降のスタート値）を、ＲＡＭ１０６の格納データに基づく値に決定するための処理を実行する。すなわち、ＣＰＵ１０４は、ＲＡＭ１０６の各番地における格納値を読出し（ステップＳ２４６）、読出した格納値を順次に加算する（ステップＳ２４７）。そして、１２ビット乱数を生成するためのスタート値を、ステップＳ２４７における加算処理によって算出された加算値に変更する（ステップＳ２４８）。なお、ステップＳ２４８の処理では、ステップＳ２４７における加算処理によって算出された加算値が最大値を超えているか否かを判定し、超えていない場合には加算値をそのままスタート値に設定する一方、超えている場合には最大値以下となる所定値（例えば「１」など）をスタート値として再設定すればよい。
【０２４０】
ステップＳ２４５にて読出値が「１０」ではないと判定されたときには（ステップＳ２４５；Ｎｏ）、その読出値は「１１」であるか否かを判定する（ステップＳ２４９）。そして、読出値が「１１」であると判定されたときには（ステップＳ２４９；Ｙｅｓ）、ＲＡＭ１０６における指定番地（指定ＲＡＭ番地）の格納値を読出し（ステップＳ２５０）、１２ビット乱数を生成するためのスタート値を、ステップＳ２５０での読出値に変更する（ステップＳ２５１）。
【０２４１】
なお、ステップＳ２４４、Ｓ２４６〜Ｓ２４８、Ｓ２５０及びＳ２５１の各処理は、乱数回路１０３が備える初期値設定回路１７２Ａによって実行されるようにしてもよい。例えば、ＣＰＵ１０４がステップＳ２４３にて読出値が「０１」であると判定したときには、乱数回路１０３に所定の第１初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第１初期値変更信号を受けたときには、初期値設定回路１７２Ａが所定のレジスタに記憶されたＩＤナンバーに基づいて生成されるデータを選択し、その選択したデータを乱数生成回路１７３Ａに設定することなどにより、１２ビット乱数を生成するための２周目以降のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいた値に設定する（ステップＳ２４４に相当する処理）。他方、ＣＰＵ１０４がステップＳ２０３にて読出値が「０１」ではないと判定した後、ステップＳ２０５にて読出値が「１０」であると判定したときには、乱数回路１０３に所定の第２初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第２初期値変更信号を受けたときには、初期値設定回路１７２ＡがＲＡＭ１０６の各番地における格納値を読出し、読出した格納値を順次に加算することにより得られた加算値を乱数生成回路１７３Ａに設定することなどにより、１２ビット乱数を生成するための２周目以降のスタート値を、ＲＡＭ１０６の格納データに基づく値に設定する（ステップＳ２４６〜Ｓ２４８に相当する処理）。また、ＣＰＵ１０４がステップＳ２４５にて読出値が「１０」ではないと判定した後、ステップＳ２４９にて読出値が「１１」であると判定したときには、乱数回路１０３に所定の第３初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第３初期値変更信号を受けたときには、初期値設定回路１７２ＡがＲＡＭ１０６における指定番地の格納値を読出し、読出した格納値を乱数生成回路１７３Ａに設定することなどにより、１２ビット乱数を生成するための２周目以降のスタート値を、読出した格納値に変更するように設定する（ステップＳ２５０、Ｓ２５１に相当する処理）。さらに、ＣＰＵ１０４は、初期値設定回路１７２Ａの動作を直接制御してステップＳ２４４、Ｓ２４６〜Ｓ２４８、Ｓ２５０及びＳ２５１に相当する処理を実行させてもよいし、例えば乱数回路１０３の内部または外部に初期値変更制御用として設けられて初期値設定回路１７２Ａが参照可能な所定のレジスタにステップＳ２０２での読出値に対応した制御データをセットすること（このデータセット処理は、図２９に示すステップＳ１１１にてＲＯＭ１０５から第１乱数初期設定データ（ＫＲＳＳ１）の第１及び第０ビット［ビット１−０］を読出した後、ステップＳ１１２の処理として実行されてもよい。）などにより、初期値設定回路１７２Ａの動作を間接的に制御するようにしてもよい。ＣＰＵ１０４が初期値変更制御用のレジスタに制御データをセットした場合には、例えば乱数回路１０３にて乱数生成回路１７３Ａが乱数一巡信号ＲＩＪ１を出力したときに初期値設定回路１７２Ａが初期値変更制御用のレジスタに記憶されている制御データを参照し、その制御データに従った初期値変更動作を行うことにより、ステップＳ２４２での読出値に応じた２周目以降のスタート値を生成して、乱数生成回路１７３Ａに設定することができる。
【０２４２】
ステップＳ２４４、Ｓ２４８、Ｓ２５１の処理のいずれかを実行した後や、ステップＳ２４９にて読出値が「１１」ではないと判定されたときには（ステップＳ２４９；Ｎｏ）、１２ビット乱数用スタート値変更フラグをクリアしてオフ状態とする（ステップＳ２５２）。ステップＳ２５２の処理を実行した後や、ステップＳ２４１にて１２ビット乱数用スタート値変更フラグがオフであると判定されたときには（ステップＳ２４１；Ｎｏ）、遊技制御フラグ設定部１３３に設けられた１６ビット乱数用スタート値変更フラグがオンとなっているか否かを判定する（図３５のステップＳ２５３）。このとき、１６ビット乱数用スタート値変更フラグがオフであれば（ステップＳ２５３；Ｎｏ）、乱数スタート値変更設定処理を終了する。他方、１６ビット乱数用スタート値変更フラグがオンであれば（ステップＳ２５３；Ｙｅｓ）、１６ビット乱数における２周目以降のスタート値に関する設定を読出し（ステップＳ２５４）、読出値が「０１」であるか否かを判定する（ステップＳ２５５）。ステップＳ２５４における処理の具体的な一例としては、乱数回路１０３もしくはＣＰＵ１０４に内蔵された所定のレジスタや、ＲＡＭ１０６の所定領域に格納された１６ビット乱数における２周目以降のスタート値に関する設定データを、ＣＰＵ１０４が読み出す処理などであればよい。
【０２４３】
ステップＳ２５５にて読出値が「０１」であると判定されたときには（ステップＳ２５５；Ｙｅｓ）、乱数回路１０３において１６ビット乱数を生成するためのスタート値（２周目以降のスタート値）を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する（ステップＳ２５６）。ここで、ステップＳ２５６の処理では、遊技制御用マイクロコンピュータ１００のＩＤナンバーを、そのまま１６ビット乱数を生成するためのスタート値に設定するようにしてもよい。あるいは、遊技制御用マイクロコンピュータ１００のＩＤナンバーを用いて所定の演算を実行することにより算出された値を、１６ビット乱数を生成するためのスタート値に設定するようにしてもよい。例えば、遊技制御用マイクロコンピュータ１００のＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算を実行して、算出された値を用いるようにすればよい。
【０２４４】
また、ステップＳ２５５にて読出値が「０１」ではないと判定されたときには（ステップＳ２５５；Ｎｏ）、その読出値は「１０」であるか否かを判定する（ステップＳ２５７）。そして、読出値が「１０」であると判定されたときには（ステップＳ２５７；Ｙｅｓ）、乱数回路１０３において１６ビット乱数を生成するためのスタート値（２周目以降のスタート値）を、ＲＡＭ１０６の格納データに基づく値に決定するための処理を実行する。すなわち、ＣＰＵ１０４は、ＲＡＭ１０６の各番地における格納値を読出し（ステップＳ２５８）、読出した格納値を順次に加算する（ステップＳ２５９）。そして、１６ビット乱数を生成するためのスタート値を、ステップＳ２５９における加算処理によって算出された加算値に変更する（ステップＳ２６０）。なお、ステップＳ２６０の処理では、ステップＳ２５９における加算処理によって算出された加算値が最大値を超えているか否かを判定し、超えていない場合には加算値をそのままスタート値に設定する一方、超えている場合には最大値以下となる所定値（例えば「１」など）をスタート値として再設定すればよい。
【０２４５】
ステップＳ２５７にて読出値が「１０」ではないと判定されたときには（ステップＳ２５７；Ｎｏ）、その読出値は「１１」であるか否かを判定する（ステップＳ２６１）。そして、読出値が「１１」であると判定されたときには（ステップＳ２６１；Ｙｅｓ）、ＲＡＭ１０６における指定番地（指定ＲＡＭ番地）の格納値を読出し（ステップＳ２６２）、１６ビット乱数を生成するためのスタート値を、ステップＳ２６２での読出値に変更する（ステップＳ２６３）。ステップＳ２５６、Ｓ２６０、Ｓ２６３の処理のいずれかを実行した後や、ステップＳ２６１にて読出値が「１１」ではないと判定されたときには（ステップＳ２６１；Ｎｏ）、１６ビット乱数用スタート値変更フラグをクリアしてオフ状態とする（ステップＳ２６４）。
【０２４６】
なお、ステップＳ２５６、Ｓ２５８〜Ｓ２６０、Ｓ２６２及びＳ２６３の各処理は、乱数回路１０３が備える初期値設定回路１７２Ｂによって実行されるようにしてもよい。例えば、ＣＰＵ１０４がステップＳ２５５にて読出値が「０１」であると判定したときには、乱数回路１０３に所定の第４初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第４初期値変更信号を受けたときには、初期値設定回路１７２Ｂが所定のレジスタに記憶されたＩＤナンバーに基づいて生成されるデータを選択し、その選択したデータを乱数生成回路１７３Ｂに設定することなどにより、１６ビット乱数を生成するための２周目以降のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいた値に設定する（ステップＳ２５６に相当する処理）。他方、ＣＰＵ１０４がステップＳ２５５にて読出値が「０１」ではないと判定した後、ステップＳ２５７にて読出値が「１０」であると判定したときには、乱数回路１０３に所定の第５初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第５初期値変更信号を受けたときには、初期値設定回路１７２ＢがＲＡＭ１０６の各番地における格納値を読出し、読出した格納値を順次に加算することにより得られた加算値を乱数生成回路１７３Ｂに設定することなどにより、１６ビット乱数を生成するための２周目以降のスタート値を、ＲＡＭ１０６の格納データに基づく値に設定する（ステップＳ２５８〜Ｓ２６０に相当する処理）。また、ＣＰＵ１０４がステップＳ２５７にて読出値が「１０」ではないと判定した後、ステップＳ２６１にて読出値が「１１」であると判定したときには、乱数回路１０３に所定の第６初期値変更信号を送る。乱数回路１０３がＣＰＵ１０４から第６初期値変更信号を受けたときには、初期値設定回路１７２ＢがＲＡＭ１０６における指定番地の格納値を読出し、読出した格納値を乱数生成回路１７３Ｂに設定することなどにより、１６ビット乱数を生成するための２周目以降のスタート値を、読出した格納値に変更するように設定する（ステップＳ２６２、Ｓ２６３に相当する処理）。さらに、ＣＰＵ１０４は、初期値設定回路１７２Ｂの動作を直接制御してステップＳ２５６、Ｓ２５８〜Ｓ２６０、Ｓ２６２及びＳ２６３に相当する処理を実行させてもよいし、例えば乱数回路１０３の内部または外部に初期値変更制御用として設けられて初期値設定回路１７２Ｂが参照可能な所定のレジスタにステップＳ２５４での読出値に対応した制御データをセットすること（このデータセット処理は、図３０に示すステップＳ１３３にてＲＯＭ１０５から第２乱数初期設定データ（ＫＲＳＳ２）の第３及び第２ビット［ビット３−２］を読出した後、ステップＳ１３４の処理として実行されてもよい。）などにより、初期値設定回路１７２Ｂの動作を間接的に制御するようにしてもよい。ＣＰＵ１０４が初期値変更制御用のレジスタに制御データをセットした場合には、例えば乱数回路１０３にて乱数生成回路１７３Ｂが乱数一巡信号ＲＩＪ２を出力したときに初期値設定回路１７２Ｂが初期値変更制御用のレジスタに記憶されている制御データを参照し、その制御データに従った初期値変更動作を行うことにより、ステップＳ２５４での読出値に応じた２周目以降のスタート値を生成して、乱数生成回路１７３Ｂに設定することができる。
【０２４７】
図３６は、図３１に示すステップＳ７６にて実行される乱数順列変更設定処理の一例を示すフローチャートである。この乱数順列変更設定処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第６及び第５ビット［ビット６−５］を読出し（ステップＳ２７１）、読出値が「１０」であるか否かを判定する（ステップＳ２７２）。
【０２４８】
ステップＳ２７２にて読出値が「１０」であると判定されたときには（ステップＳ２７２；Ｙｅｓ）、遊技制御フラグ設定部１３３に設けられた１２ビット乱数順列変更フラグがオンとなっているか否かを判定する（ステップＳ２７３）。このとき、１２ビット乱数順列変更フラグがオンであれば（ステップＳ２７３；Ｙｅｓ）、例えばＣＰＵ１０４が乱数回路１０３に設けられたＡＲＳＣ１７５Ａの第０ビット［ビット０］に“１”を設定する（ステップＳ２７４）。このときには、１２ビット乱数順列変更フラグをクリアしてオフ状態とする（ステップＳ２７５）。
【０２４９】
ステップＳ２７２にて読出値が「１０」ではないと判定されたときや（ステップＳ２７２；Ｎｏ）、ステップＳ２７３にて１２ビット乱数順列変更フラグがオフであると判定されたとき（ステップＳ２７３；Ｎｏ）、あるいはステップＳ２７５の処理を実行した後には、例えばＣＰＵ１０４がＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第１及び第０ビット［ビット１−０］を読出し（ステップＳ２７６）、読出値が「１０」であるか否かを判定する（ステップＳ２７７）。このとき、読出値が「１０」以外であれば（ステップＳ２７７；Ｎｏ）、乱数順列変更設定処理を終了する。
【０２５０】
他方、ステップＳ２７７にて読出値が「１０」であると判定されたときには（ステップＳ２７７；Ｙｅｓ）、遊技制御フラグ設定部１３３に設けられた１６ビット乱数順列変更フラグがオンとなっているか否かを判定する（ステップＳ２７８）。このとき、１６ビット乱数順列変更フラグがオフであれば（ステップＳ２７８；Ｎｏ）、乱数順列変更設定処理を終了する。これに対して、１６ビット乱数順列変更フラグがオンであれば（ステップＳ２７８；Ｙｅｓ）、例えばＣＰＵ１０４が乱数回路１０３に設けられたＢＲＳＣ１７５Ｂの第０ビット［ビット０］に“１”を設定する（ステップＳ２７９）。このときには、１６ビット乱数順列変更フラグをクリアしてオフ状態とする（ステップＳ２８０）。
【０２５１】
図３７（Ａ）は、図３１に示すステップＳ７７にて実行される賞球処理の一例を示すフローチャートである。図３７（Ａ）に示す賞球処理において、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が図３１に示すステップＳ７２におけるスイッチ処理の実行結果に基づき、始動口スイッチ２２、カウントスイッチ２４、及び入賞口スイッチ２５Ａ〜２５Ｄといった各入賞口スイッチからの入賞検出信号がオン状態となっているか否かをチェックする（ステップＳ２９１）。続いて、ステップＳ２９１でのチェック結果に基づき、遊技制御カウンタ設定部１３５に設けられた第１〜第３払出数指示カウンタや総賞球数カウンタにおけるカウント値の設定を行う（ステップＳ２９２）。
【０２５２】
図３７（Ｂ）は、ステップＳ２９２における処理内容の一例を示す説明図である。ステップＳ２９２の処理では、各入賞口スイッチからの入賞検出信号がオン状態となっているか否か（入力されているか否か）の判定が行われる。そして、カウントスイッチ２４からの入賞検出信号がオン状態であるときには、遊技制御カウンタ設定部１３５に設けられた第１払出数指示カウンタの値を１加算するとともに、総賞球数カウンタの値を１５加算する。また、左右の袖入賞口スイッチとなる入賞口スイッチ２５Ａ、２５Ｂのいずれかからの入賞検出信号がオン状態であるときには、遊技制御カウンタ設定部１３５に設けられた第２払出数指示カウンタの値を１加算するとともに、総賞球数カウンタの値を７加算する。左右の落とし入賞口スイッチとなる入賞口スイッチ２５Ｃ、２５Ｄのいずれかからの入賞検出信号がオン状態であるときにも、遊技制御カウンタ設定部１３５に設けられた第２払出数指示カウンタの値を１加算するとともに、総賞球数カウンタの値を７加算する。さらに、始動口スイッチ２２からの入賞検出信号がオン状態であるときには、遊技制御カウンタ設定部１３５に設けられた第３払出数指示カウンタの値を１加算するとともに、総賞球数カウンタの値を４加算する。このようなステップＳ２９２での処理を実行した後、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられた賞球プロセスフラグの値に応じて、以下のようなステップＳ２９３〜Ｓ２９５の各処理を実行する。
【０２５３】
ステップＳ２９３の賞球送信処理は、賞球プロセスフラグの値が“０”のときに実行される。図３８は、賞球送信処理として、図３７（Ａ）に示すステップＳ２９３にて実行される処理の一例を示すフローチャートである。図３８に示す賞球送信処理において、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられたシリアル通信エラーフラグがオンとなっているか否かを判定する（ステップＳ４０１）。このとき、シリアル通信エラーフラグがオンであれば（ステップＳ４０１；Ｙｅｓ）、そのまま賞球送信処理を終了する。
【０２５４】
ステップＳ４０１にてシリアル通信エラーフラグがオフであると判定されたときには（ステップＳ４０１；Ｎｏ）、遊技制御フラグ設定部１３３に設けられた再送信フラグがオンとなっているか否かを判定する（ステップＳ４０２）。ここで、再送信フラグは、後述する図３９に示すステップＳ４３６の処理が実行されたときにオン状態にセットされる一方、図３９に示すステップＳ４２３の処理が実行されたときにはクリアされてオフ状態となる。ステップＳ４０２にて再送信フラグがオフであるときには（ステップＳ４０２；Ｎｏ）、遊技制御カウンタ設定部１３５に設けられた第１〜第３払出数指示カウンタの値をチェックするために用いられる変数Ｎの値を、初期値となる「１」に設定する（ステップＳ４０３）。
【０２５５】
続いて、第１〜第３払出数指示カウンタのうちで変数Ｎの値に対応するいずれかにおける値が、「０」となっているか否かを判定する（ステップＳ４０４）。例えば、変数Ｎの値が「１」であるときには、第１払出数指示カウンタの値が「０」となっているか否かを判定し、変数Ｎの値が「２」であるときには、第２払出数指示カウンタの値が「０」となっているか否かを判定し、変数Ｎの値が「３」であるときには、第３払出数指示カウンタの値が「０」となっているか否かを判定する。ステップＳ４０４にて判定の対象となった払出数指示カウンタの値が「０」であるときには（ステップＳ４０４；Ｙｅｓ）、変数Ｎの値が「３」であるか否かを判定し（ステップＳ４０５）、「３」であるときには（ステップＳ４０５；Ｙｅｓ）、賞球送信処理を終了する。これに対して、ステップＳ４０５にて変数Ｎの値が「３」以外の値であるときには（ステップＳ４０５；Ｎｏ）、変数Ｎの値を１加算した後（ステップＳ４０６）、ステップＳ４０４の処理に戻る。
【０２５６】
ステップＳ４０２にて再送信フラグがオンであるときや（ステップＳ４０２；Ｙｅｓ）、ステップＳ４０４にて判定の対象となった払出数指示カウンタの値が「０」以外の値であるときには（ステップＳ４０４；Ｎｏ）、変数Ｎの値が「１」であるか否かを判定する（ステップＳ４０７）。そして、変数Ｎの値が「１」であるときには（ステップＳ４０７；Ｙｅｓ）、払出制御基板１５に対して第１払出数指定コマンドを送信するための設定を行う（ステップＳ４０８）。具体的な一例として、ステップＳ４０８の処理では、ＲＯＭ１０５に格納されている第１払出数指定コマンド設定テーブルの先頭アドレスをポインタに設定し、第１払出数指定コマンド設定テーブルの内容に基づいてコマンド送信用の制御データを遊技制御バッファ設定部１３６の送信コマンドバッファに含まれる払出用送信コマンドバッファ１９２にセットする。ステップＳ４０７にて変数Ｎの値が「１」以外の値であるときには（ステップＳ４０７；Ｎｏ）、その変数Ｎの値は「２」であるか否かを判定する（ステップＳ４０９）。
【０２５７】
ステップＳ４０９にて変数Ｎの値が「２」である場合には（ステップＳ４０９；Ｙｅｓ）、払出制御基板１５に対して第２払出数指定コマンドを送信するための設定を行う（ステップＳ４１０）。具体的な一例として、ステップＳ４１０の処理では、ＲＯＭ１０５に格納されている第２払出数指定コマンド設定テーブルの先頭アドレスをポインタに設定し、第２払出数指定コマンド設定テーブルの内容に基づいてコマンド送信用の制御データを払出用送信コマンドバッファ１９２にセットする。ステップＳ４０９にて変数Ｎの値が「２」ではない場合には（ステップＳ４０９；Ｎｏ）、変数Ｎの値が「３」であるものと判断して、払出制御基板１５に対して第３払出数指定コマンドを送信するための設定を行う（ステップＳ４１１）。具体的な一例として、ステップＳ４１１の処理では、ＲＯＭ１０５に格納されている第３払出数指定コマンド設定テーブルの先頭アドレスをポインタに設定し、第３払出数指定コマンド設定テーブルの内容に基づいてコマンド送信用の制御データを払出用送信コマンドバッファ１９２にセットする。
【０２５８】
ステップＳ４０８、Ｓ４１０、Ｓ４１１の処理のいずれかを実行した後、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が遊技制御タイマ設定部１３４に設けられた賞球制御タイマに賞球ＡＣＫ用初期値として予め定められたタイマ初期値を設定する（ステップＳ４１２）。そして、賞球プロセスフラグの値を“１”に更新する（ステップＳ４１３）。
【０２５９】
図３７（Ａ）に示すステップＳ２９４の賞球ＡＣＫ待ち処理は、賞球プロセスフラグの値が“１”のときに実行される。図３９は、賞球ＡＣＫ待ち処理として、図３７（Ａ）に示すステップＳ２９４にて実行される処理の一例を示すフローチャートである。図３９に示す賞球ＡＣＫ待ち処理において、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられた賞球ＡＣＫ受信フラグがオンとなっているか否かを判定する（ステップＳ４２１）。
【０２６０】
ステップＳ４２１にて賞球ＡＣＫ受信フラグがオンであると判定されたときには（ステップＳ４２１；Ｙｅｓ）、賞球ＡＣＫ受信フラグをクリアしてオフ状態にするとともに（ステップＳ４２２）、再送信フラグをクリアしてオフ状態とする（ステップＳ４２３）。続いて、第１〜第３払出数指示カウンタのうちで変数Ｎの値に対応するいずれかにおける値を１減算するとともに（ステップＳ４２４）、遊技制御カウンタ設定部１３５に設けられたコマンド送信回数カウンタにおける値であるコマンド送信回数カウント値を１加算する（ステップＳ４２５）。
【０２６１】
ステップＳ４２５の処理を実行した後には、変数Ｎの値が「１」であるか否かを判定する（ステップＳ４２６）。このとき、変数Ｎの値が「１」であれば（ステップＳ４２６；Ｙｅｓ）、第１払出数指定コマンドの送信により１５個の賞球を払い出すための指示が完了したと判断して、総賞球数カウンタの値を１５減算する（ステップＳ４２７）。ステップＳ４２６にて変数Ｎの値が「１」以外の値であるときには（ステップＳ４２６；Ｎｏ）、その変数Ｎの値は「２」であるか否かを判定する（ステップＳ４２８）。
【０２６２】
ステップＳ４２８にて変数Ｎの値が「２」である場合には（ステップＳ４２８；Ｙｅｓ）、第２払出数指定コマンドの送信により７個の賞球を払い出すための指示が完了したと判断して、総賞球数カウンタの値を７減算する（ステップＳ４２９）。ステップＳ４２８にて変数Ｎの値が「２」ではない場合には（ステップＳ４２８；Ｎｏ）、変数Ｎの値が「３」であることに対応した第３払出数指定コマンドの送信により４個の賞球を払い出すための指示が完了したと判断して、総賞球数カウンタの値を４減算する（ステップＳ４３０）。
【０２６３】
ステップＳ４２７、Ｓ４２９、Ｓ４３０の処理のいずれかを実行した後には、払出制御基板１５に対してＡＣＫフィードバックコマンドを送信するための設定を行う（ステップＳ４３１）。具体的な一例として、ステップＳ４３１の処理では、ＲＯＭ１０５に格納されているＡＣＫフィードバックコマンド設定テーブルの先頭アドレスをポインタに設定し、ＡＣＫフィードバックコマンド設定テーブルの内容に基づいてコマンド送信用の制御データを払出用送信コマンドバッファ１９２にセットする。ステップＳ４３１の処理に続いて、例えばＣＰＵ１０４が賞球制御タイマにフィードバック用初期値として予め定められたタイマ初期値を設定する（ステップＳ４３２）。そして、賞球プロセスフラグの値を“２”に更新する（ステップＳ４３３）。
【０２６４】
また、ステップＳ４２１にて賞球ＡＣＫ受信フラグがオフであると判定されたときには（ステップＳ４２１；Ｎｏ）、賞球制御タイマにおけるタイマ値を、例えば１減算するなどして更新する（ステップＳ４３４）。そして、ステップＳ４３４での更新により賞球制御タイマがタイムアウトしたか否かを判定することなどにより、賞球ＡＣＫ待ち時間が経過したか否かを判定する（ステップＳ４３５）。このとき、賞球ＡＣＫ待ち時間が経過していなければ（ステップＳ４３５；Ｎｏ）、賞球ＡＣＫ待ち処理を終了する。これに対して、賞球ＡＣＫ待ち時間が経過したときには（ステップＳ４３５；Ｙｅｓ）、再送信フラグをオン状態にセットするとともに（ステップＳ４３６）、賞球プロセスフラグの値を“０”に更新する（ステップＳ４３７）。
【０２６５】
図３７（Ａ）に示すステップＳ２９５の賞球送信完了処理は、賞球プロセスフラグの値が“２”のときに実行される。図４０は、賞球送信完了処理として、図３７（Ａ）に示すステップＳ２９５にて実行される処理の一例を示すフローチャートである。図４０に示す賞球送信完了処理において、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が賞球制御タイマにおけるタイマ値を、１減算するなどして更新する（ステップＳ４４１）。続いて、ステップＳ４４１での更新により賞球制御タイマがタイムアウトしたか否かを判定することなどにより、フィードバック送信待ち時間が経過したか否かを判定する（ステップＳ４４２）。
【０２６６】
ステップＳ４４２にてフィードバック送信待ち時間が経過していないときには（ステップＳ４４２；Ｎｏ）、賞球送信完了処理を終了する。これに対して、フィードバック送信待ち時間が経過したときには（ステップＳ４４２；Ｙｅｓ）、賞球制御タイマを初期化するとともに（ステップＳ４４３）、賞球プロセスフラグの値を“０”に更新する（ステップＳ４４４）。
【０２６７】
図４１は、図３１に示すステップＳ７８にて実行される異常動作報知設定処理の一例を示すフローチャートである。この異常動作報知設定処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が図３１に示すステップＳ７２におけるスイッチ処理の実行結果に基づき、全入賞球検出スイッチ２９からの検出信号がオン状態となっているか否かを判定する（ステップＳ３０１）。
【０２６８】
ステップＳ３０１にて全入賞球検出スイッチ２９からの検出信号がオン状態であるときには（ステップＳ３０１；Ｙｅｓ）、コマンド送信回数カウンタの値を１減算する（ステップＳ３０２）。これに対して、ステップＳ３０１にて全入賞球検出スイッチ２９からの検出信号がオフ状態であるときには（ステップＳ３０１；Ｎｏ）、ステップＳ３０２の処理をスキップする。その後、コマンド送信回数カウンタの値が予め定められた賞球過多基準値（例えば「２５０」）以上となっているか否かを、例えばＣＰＵ１０４が判定する（ステップＳ３０３）。そして、コマンド送信回数カウンタの値が賞球過多基準値以上であるときには（ステップＳ３０３；Ｙｅｓ）、演出制御基板１２に対して賞球過多報知コマンドを送信するための設定を行う（ステップＳ３０４）。具体的な一例として、ステップＳ３０４の処理では、ＲＯＭ１０５に格納されている賞球過多報知コマンド設定テーブルの先頭アドレスをポインタに設定し、賞球過多報知コマンド設定テーブルの内容に基づいて、コマンド送信用の制御データを演出用送信コマンドバッファにセットする。他方、ステップＳ３０３にてコマンド送信回数カウンタの値が賞球過多基準値未満であるときには（ステップＳ３０３；Ｎｏ）、コマンド送信回数カウンタの値が予め定められた賞球不足基準値（例えば「０」）に達したか否かを判定する（ステップＳ３０５）。
【０２６９】
ステップＳ３０５にてコマンド送信回数カウンタの値が賞球不足基準値に達しているときには（ステップＳ３０５；Ｙｅｓ）、演出制御基板１２に対して賞球不足報知コマンドを送信するための設定を行う（ステップＳ３０６）。具体的な一例として、ステップＳ３０６の処理では、ＲＯＭ１０５に格納されている賞球不足報知コマンド設定テーブルの先頭アドレスをポインタに設定し、賞球不足報知コマンド設定テーブルの内容に基づいて、コマンド送信用の制御データを演出用送信コマンドバッファにセットする。ステップＳ３０４、Ｓ３０６のいずれかの処理を実行した後には、コマンド送信回数カウンタに、所定のカウント初期値（例えば「２００」）を設定する（ステップＳ３０７）。
【０２７０】
ステップＳ３０５にてコマンド送信回数カウンタの値が賞球不足基準値に達していないときや（ステップＳ３０５；Ｎｏ）、ステップＳ３０７の処理を実行した後には、満タンスイッチ２６からの検出信号がオン状態となっているか否かを判定する（ステップＳ３０８）。そして、ステップＳ３０８にて満タンスイッチ２６からの検出信号がオン状態であるときには（ステップＳ３０８；Ｙｅｓ）、遊技制御フラグ設定部１３３に設けられた満タン報知中フラグがオンとなっているか否かを判定する（ステップＳ３０９）。なお、満タン報知中フラグは、後述するステップＳ３１１の処理が実行されたときにオン状態にセットされる一方、ステップＳ３１４の処理が実行されたときにクリアされてオフ状態となる。
【０２７１】
ステップＳ３０９にて満タン報知中フラグがオンであるときには（ステップＳ３０９；Ｙｅｓ）、既に満タン状態である旨の報知が行われていると判断して、異常動作報知設定処理を終了する。他方、ステップＳ３０９にて満タン報知中フラグがオフであるときには（ステップＳ３０９；Ｎｏ）、演出制御基板１２に対して満タン報知開始コマンドを送信するための設定を行う（ステップＳ３１０）。具体的な一例として、ステップＳ３１０の処理では、ＲＯＭ１０５に格納されている満タン報知開始コマンド設定テーブルの先頭アドレスをポインタに設定し、満タン報知開始コマンド設定テーブルの内容に基づいて、コマンド送信用の制御データを演出用送信コマンドバッファにセットする。ステップＳ３１０の処理を実行したときには、満タン報知中フラグをオン状態にセットする（ステップＳ３１１）。
【０２７２】
ステップＳ３０８にて満タンスイッチ２６からの検出信号がオフ状態であるときには（ステップＳ３０８；Ｎｏ）、満タン報知中フラグがオンとなっているか否かを判定する（ステップＳ３１２）。そして、満タン報知中フラグがオフであるときには（ステップＳ３１２；Ｎｏ）、異常動作報知設定処理を終了する。他方、ステップＳ３１２にて満タン報知中フラグがオンであるときには（ステップＳ３１２；Ｙｅｓ）、演出制御基板１２に対して満タン報知終了コマンドを送信するための設定を行う（ステップＳ３１３）。具体的な一例として、ステップＳ３１３の処理では、ＲＯＭ１０５に格納されている満タン報知終了コマンド設定テーブルの先頭アドレスをポインタに設定し、満タン報知終了コマンド設定テーブルの内容に基づいて、コマンド送信用の制御データを演出用送信コマンドバッファにセットする。ステップＳ３１３の処理を実行した後には、満タン報知中フラグをクリアしてオフ状態にする（ステップＳ３１４）。
【０２７３】
また、異常動作報知設定処理では、再送信フラグがオンとなっているか否かを判定し、再送信フラグがオフであれば、払出用通信エラー検出フラグがオンとなっているか否かを判定するようにしてもよい。そして、再送信フラグと払出用通信エラー検出フラグのいずれかがオンであるときには、遊技制御フラグ設定部１３３に設けられた所定フラグ（例えば払出異常報知フラグ）がオンとなっているか否かを判定し、オフであるときには、演出制御基板１２に対してメイン側払出異常報知開始コマンドとなる所定コマンドを送信するための設定を行うようにすればよい。メイン側払出異常報知開始コマンドを送信するための設定を行ったときには、遊技制御フラグ設定部１３３に設けられた払出異常報知フラグをオン状態にセットしておく。その一方で、再送信フラグと払出用通信エラー検出フラグがいずれもオフであるときには、払出異常報知フラグがオンとなっているか否かを判定し、オンであれば、演出制御基板１２に対してメイン側払出異常報知終了コマンドとなる所定コマンドを送信するための設定を行うようにすればよい。演出制御基板１２の側では、主基板１１からのメイン側払出異常報知開始コマンドを受信したことに応じて、例えば画像表示装置５に所定の画像を表示させることなどにより、主基板１１の側で払出制御に関するエラーが発生した旨を報知するメイン側払出異常報知を行うための処理が実行される一方、主基板１１からのメイン側払出異常報知終了コマンドを受信したことに応じて、メイン側払出異常報知を終了するための処理が実行されるようにすればよい。
【０２７４】
図４２は、図３１に示すステップＳ７９にて実行されるメイン側受信処理の一例を示すフローチャートである。このメイン側受信処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、払出用通信エラー検出フラグがオンとなっているか否かを、例えばＣＰＵ１０４が判定する（ステップＳ３３１）。なお、払出用通信エラー検出フラグは、後述するステップＳ３３６の処理が実行されたときにオン状態にセットされる一方、エラー解除スイッチ３１の操作などに応じてクリアされてオフ状態となればよい。ステップＳ３３１にて払出用通信エラー検出フラグがオンであるときには（ステップＳ３３１；Ｙｅｓ）、そのままメイン側受信処理を終了する。これにより、主基板１１において払出制御基板１５との間での通信に関するエラーが発生しているときには、払出制御基板１５から送信される払出通知コマンドの受信を停止する状態に制御されることになる。
【０２７５】
他方、ステップＳ３３１にて払出用通信エラー検出フラグがオフであるときには（ステップＳ３３１；Ｎｏ）、例えばＣＰＵ１０４が遊技制御カウンタ設定部１３５に設けられたコマンド受信個数カウンタの値が「０」以外であるか否かを判定することなどにより、受信コマンドがあるか否かを判定する（ステップＳ３３２）。このとき、受信コマンドがない旨の判定がなされると（ステップＳ３３２；Ｎｏ）、メイン側受信処理を終了する。
【０２７６】
ステップＳ３３２にて受信コマンドがある旨の判定がなされたときには（ステップＳ３３２；Ｙｅｓ）、払出用受信コマンドバッファ１９１に設けられた受信コマンドバッファ＃１〜＃１２のうちでコマンド受信個数カウンタの値に対応したものから格納データを読出し（ステップＳ３３３）、コマンド受信個数カウンタの値を、例えばステップＳ３３３にて読出した格納データの個数だけ減算するなどして更新する（ステップＳ３３４）。続いて、ステップＳ３３３にて読出した受信コマンドが払出制御基板１５から送信される適正なコマンドであるか否かのチェックを行う（ステップＳ３３５）。具体的な一例として、受信コマンドの１バイト目と２バイト目との排他的論理和を演算し、算出された演算結果が正常値となっているか否かを判定することで、受信コマンドが適正なコマンドであるか否かをチェックすることができる。この実施の形態では、払出制御基板１５から主基板１１に対して送信されるコマンドは、１バイト目を反転させることで２バイト目となるように構成されていることから、受信コマンドの１バイト目と２バイト目との排他的論理和を演算した結果、全ビット値が“１”となれば、受信コマンドが適正なコマンドであると判断することができる。
【０２７７】
ステップＳ３３５におけるチェックの結果、受信コマンドが適正なコマンドではないと判定されたときには（ステップＳ３３５；Ｎｏ）、払出用通信エラー検出フラグをオン状態にセットして（ステップＳ３３６）、メイン側受信処理を終了する。これに対して、ステップＳ３３５におけるチェックの結果、受信コマンドが適正なコマンドであると判定されたときには（ステップＳ３３５；Ｙｅｓ）、その受信コマンドは賞球ＡＣＫコマンドであるか否かを判定する（ステップＳ３３７）。そして、受信コマンドが賞球ＡＣＫコマンドであるときには（ステップＳ３３７；Ｙｅｓ）、賞球ＡＣＫ受信フラグをオン状態にセットする（ステップＳ３３８）。
【０２７８】
他方、ステップＳ３３７にて受信コマンドが賞球ＡＣＫコマンドではないと判定されたときには（ステップＳ３３７；Ｎｏ）、その受信コマンドが払出エラー通知コマンドであるか否かを判定する（ステップＳ３３９）。そして、受信コマンドが払出エラー通知コマンドであるときには（ステップＳ３３９；Ｙｅｓ）、払出エラー通知フラグをオン状態にセットする（ステップＳ３４０）。ステップＳ３３９にて受信コマンドが払出エラー通知コマンドではないと判定されたときには（ステップＳ３３９；Ｎｏ）、その受信コマンドが払出エラー解除コマンドであるか否かを判定する（ステップＳ３４１）。そして、受信コマンドが払出エラー解除コマンドであるときには（ステップＳ３４１；Ｙｅｓ）、払出エラー解除フラグをオン状態にセットする（ステップＳ３４２）。ステップＳ３４１にて受信コマンドが払出エラー解除コマンドではないと判定されたときには（ステップＳ３４１；Ｎｏ）、受信したコマンドの種類に対応するコマンド受信フラグをオン状態にセットすればよい（ステップＳ３４３）。
【０２７９】
図４３は、図３１に示すステップＳ８０にて実行される特別図柄プロセス処理の一例を示すフローチャートである。この特別図柄プロセス処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えばＣＰＵ１０４が図３１に示すステップＳ７２におけるスイッチ処理の実行結果に基づき、始動口スイッチ２２からの始動入賞信号がオン状態となっているか否かを判定する（ステップＳ３５１）。ここで、ステップＳ３５１の処理では、例えば始動口スイッチ２２からの始動入賞信号がオン状態となっている期間を計測するための始動口スイッチタイマにおけるタイマ値をロードし、ロードしたタイマ値を所定のスイッチオン判定値（例えば「２」）と比較する。ここで、スイッチオン判定値は、図４１に示す遊技制御用タイマ割込み処理の実行回数（例えば「２」）に対応して予め定められていればよい。これにより、所定回（例えば２回）の遊技制御用タイマ割込み処理が実行されている期間（例えば４ミリ秒）にわたり始動口スイッチ２２からの始動入賞信号が継続してオン状態となっているか否かを判定することができる。このように、スイッチオン判定値は、乱数回路１０３が備えるタイマ回路１７９において始動入賞信号ＳＳの入力時間の計測を開始してから出力信号がローレベルからハイレベルに立上がるまでに要する期間（３ミリ秒）よりも長い期間にわたり始動入賞信号がオン状態であることを特定できるように定められていればよい。ステップＳ３５１の処理では、ロードしたタイマ値がスイッチオン判定値に達しているときに、始動入賞信号がオン状態となっている旨の判定を行うようにすればよい。
【０２８０】
ステップＳ３５１にて始動入賞信号がオン状態である旨の判定がなされたときには（ステップＳ３５１；Ｙｅｓ）、所定の入賞処理を実行して、大当り判定用となる乱数値を示す数値データの抽出などを行う（ステップＳ３５２）。他方、ステップＳ３５１にて始動入賞信号がオフ状態である旨の判定がなされたときには（ステップＳ３５１；Ｎｏ）、ステップＳ３５２の入賞処理をスキップする。
【０２８１】
ステップＳ３５２の入賞処理では、特図保留記憶部１３１が記憶している大当り判定用の乱数値を示す数値データの個数である保留記憶数が、所定の上限値（例えば「４」）となっているか否かを判定する。このとき、保留記憶数が上限値となっていれば、今回の入賞による始動検出は無効として、そのまま入賞処理を終了する。これに対して、保留記憶数が上限値未満であるときには、例えばＣＰＵ１０４が乱数回路１０３に１６ビット乱数用として設けられた乱数値レジスタ１８１Ｂなどから大当り判定用の乱数値を示す数値データを抽出し、抽出した乱数値を示す数値データを、特図保留記憶部１３１における空エントリの先頭にセットする。
【０２８２】
この後、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が遊技制御フラグ設定部１３３に設けられた特別図柄プロセスフラグの値に応じて、以下のようなステップＳ３６０〜Ｓ３６６の各処理を実行する。
【０２８３】
ステップＳ３６０の特別図柄通常処理は、特別図柄プロセスフラグの値が“０”のときに実行される。図４５は、ステップＳ３４０にて実行される特別図柄通常処理の一例を示すフローチャートである。この特別図柄通常処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、特図保留記憶部１３１における保留記憶数が「０」となっているか否かを、例えばＣＰＵ１０４が判定する（ステップＳ４６１）。そして、保留記憶数が「０」であるときには（ステップＳ４６１；Ｙｅｓ）、遊技制御フラグ設定部１３３に設けられたデモ表示フラグがオンとなっているか否かを判定する（ステップＳ４６２）。なお、デモ表示フラグは、後述するステップＳ４６５の処理が実行されたときにオン状態にセットされる一方、ステップＳ４６６の処理が実行されたときにクリアされてオフ状態となる。ステップＳ４６２にてデモ表示フラグがオンであれば（ステップＳ４６２；Ｙｅｓ）、既に演出制御基板１２に対してデモ表示コマンドの送信が行われたと判断して、特別図柄通常処理を終了する。
【０２８４】
ステップＳ４６２にてデモ表示フラグがオフであるときには（ステップＳ４６２；Ｎｏ）、タッチセンサ７５からのタッチセンサ検出信号がオン状態となっているか否かを判定する（ステップＳ４６３）。このとき、タッチセンサ検出信号がオン状態であれば（ステップＳ４６３；Ｙｅｓ）、遊技者が操作ノブ３０に触れて遊技を行っているため画像表示装置５におけるデモ表示は行わないと判断して、特別図柄通常処理を終了する。他方、ステップＳ４６３にてタッチセンサ検出信号がオフ状態であるときには（ステップＳ４６３；Ｎｏ）、演出制御基板１２に対してデモ表示コマンドを送信するための設定を行う（ステップＳ４６４）。具体的な一例として、ステップＳ４６４の処理では、ＲＯＭ１０５に格納されているデモ表示コマンド設定テーブルの先頭アドレスをポインタに設定し、デモ表示コマンド設定テーブルの内容に基づいてコマンド送信用の制御データを、演出用送信コマンドバッファにセットする。ステップＳ４６４の処理を実行したときには、デモ表示フラグをオン状態にセットする（ステップＳ４６５）。
【０２８５】
ステップＳ４６１にて保留記憶数が「０」以外であるときには（ステップＳ４６１；Ｎｏ）、特図ゲームを実行するための始動条件が成立していると判断して、デモ表示フラグをクリアしてオフ状態とする（ステップＳ４６６）。そして、特別図柄プロセスフラグの値を“１”に更新する（ステップＳ４６７）。
【０２８６】
図４３に示すステップＳ３６１の可変表示開始時処理は、特別図柄プロセスフラグの値が“１”のときに実行される。この可変表示開始時処理は、特別図柄表示装置４による特図ゲームにおける確定特別図柄を決定する処理や、特別図柄の可変表示時間（総変動時間）及び画像表示装置５における飾り図柄の可変表示態様を決定する処理などを含んでいる。具体的な一例として、ステップＳ３６１の可変表示開始時処理では、まず、特図保留記憶部１３１から保留番号「１」に対応して記憶されている大当り判定用の乱数値を示す数値データを読み出すとともに、保留番号「１」よりも下位のエントリ（例えば保留番号「２」〜「４」に対応するエントリ）に記憶された乱数値を示す数値データを、１エントリずつ上位にシフトする。
【０２８７】
こうして特図保留記憶部１３１から読み出した乱数値を示す数値データに基づき、例えばＲＯＭ１０５に格納されている大当り判定テーブルを参照することなどにより、特図ゲームや飾り図柄の可変表示における表示結果を大当りとするか否かの判定を行う。このとき、大当りとする旨の判定がなされると、遊技制御フラグ設定部１３３に設けられた大当りフラグをオン状態にセットするとともに、確変判定用の乱数値を示す数値データを抽出する。続いて、抽出した確変判定用の乱数値を示す数値データに基づき、例えばＲＯＭ１０５に格納されている確変判定テーブルを参照することなどにより、大当り遊技状態の終了後における遊技状態を確変制御による高確率状態とするか否かの判定を行う。そして、高確率状態とする旨の判定がなされたときには、遊技制御フラグ設定部１３３に設けられた確変確定フラグをオン状態にセットする。また、ステップＳ３６１の可変表示開始時処理では、例えば特別図柄表示装置４における各セグメントや各ドットの点灯／消灯動作を開始させるなどといった、特別図柄表示装置４において特別図柄の可変表示を開始する設定を行う。この後、特別図柄プロセスフラグの値を“２”に更新する。
【０２８８】
ステップＳ３６２の可変表示制御処理は、特別図柄プロセスフラグの値が“２”のときに実行される。この可変表示制御処理は、可変表示時間タイマの値に基づいて、特別図柄表示装置４による特図ゲームにおける特別図柄の残りの可変表示時間を計測する処理を含んでいる。そして、特別図柄の可変表示時間（総変動時間）が経過したときには、特別図柄プロセスフラグの値を“３”に更新する。
【０２８９】
ステップＳ３６３の可変表示停止時処理は、特別図柄プロセスフラグの値が“３”のときに実行される。この可変表示停止時処理では、特別図柄や飾り図柄の可変表示結果が大当りであるかハズレであるかが判定される。また、パチンコ遊技機１が高確率状態となっているときには、遊技状態を高確率状態から通常遊技状態に戻すか否かを判定し、戻すと判定すると、パチンコ遊技機１における遊技状態を高確率状態から通常遊技状態に移行させる。具体的な一例として、高確率状態にて実行された特図ゲームの回数が所定の確変終了基準値（例えば「１００」）に達すると、高確率状態から通常遊技状態に戻すと判定する。そして、可変表示結果が大当りであるときには特別図柄プロセスフラグの値が“４”に更新される一方で、ハズレであるときには特別図柄プロセスフラグの値が“０”に更新される。
【０２９０】
ステップＳ３６４の大入賞口開放前処理は、特別図柄プロセスフラグの値が“４”のときに実行される。この大入賞口開放前処理では、大当り遊技状態において特別可変入賞球装置７が備える開閉板により大入賞口を開放する各ラウンドにおける大入賞口の最長開放期間の設定などを行う。この後、大当り開始コマンドを演出制御基板１２に対して送信するための設定を行って、特別図柄プロセスフラグの値を“５”に更新する。
【０２９１】
ステップＳ３６５の大入賞口開放中処理は、特別図柄プロセスフラグの値が“５”のときに実行される。この大入賞口開放中処理では、大入賞口開放前処理での設定に従ってソレノイド８２の駆動制御を行うことにより、特別可変入賞球装置７が備える開閉板により大入賞口を開閉させる。そして、大当り遊技状態における最終のラウンドが終了したときには、特別図柄プロセスフラグの値を“６”に更新する。ステップＳ３６６の大当り終了処理は、特別図柄プロセスフラグの値が“６”のときに実行される。この大当り終了処理では、大当り終了コマンドを演出制御基板１２に対して送信するための設定などを行った後、特別図柄プロセスフラグの値を“０”に更新する。また、大当り終了処理では、確変確定フラグがオンとなっているか否かを判定し、オンであるときには、確変確定フラグをクリアしてオフ状態にするとともに、遊技制御フラグ設定部１３３に設けられた確変中フラグをオン状態にセットする。
【０２９２】
図４５は、図３１に示すステップＳ８１にて実行される払出用コマンド制御処理の一例を示すフローチャートである。この払出用コマンド制御処理を開始すると、遊技制御用マイクロコンピュータ１００では、まず、例えば遊技制御タイマ設定部１３４に設けられた払出用通信制御タイマによる経過時間の計測が行われているか否か（タイマ値が「０」以外であるか否か）を判定することなどにより、払出制御コマンドの送信完了を待機中であるか否かを判定する（ステップＳ３７１）。ステップＳ３７１にて送信完了の待機中ではない旨の判定がなされたときには（ステップＳ３７１；Ｎｏ）、例えばＣＰＵ１０４が遊技制御カウンタ設定部１３５に設けられたコマンド送信待ちカウンタの値が「０」以外であるか否かを判定することなどにより、送信コマンドがあるか否かを判定する（ステップＳ３７２）。このとき、送信コマンドがない旨の判定がなされると（ステップＳ３７２；Ｎｏ）、払出用コマンド制御処理を終了する。
【０２９３】
ステップＳ３７２にて送信コマンドがある旨の判定がなされたときには（ステップＳ３７２；Ｙｅｓ）、例えばシリアル通信エラーフラグがオフであるか否かを判定することなどにより、シリアル通信回路１０８により払出制御コマンドを送信可能な状態であるか否かを判定する（ステップＳ３７３）。このとき、シリアル通信エラーフラグがオンであるなどして送信可能な状態ではないと判定すると（ステップＳ３７３；Ｎｏ）、払出用コマンド制御処理を終了して払出制御コマンドの送信を行わないようにする。他方、ステップＳ３７３にて送信可能な状態である旨の判定がなされたときには（ステップＳ３７３；Ｙｅｓ）、払出用送信コマンドバッファ１９２に設けられた送信コマンドバッファ＃１〜＃１２のうちでコマンド送信待ちカウンタの値に対応したものから格納データを読出し（ステップＳ３７４）、読出したデータをシリアル通信回路１０８にセットする（ステップＳ３７５）。より具体的に、ステップＳ３７５では、ステップＳ３７４にて読出したデータをシリアル通信回路１０８が備えるシリアル通信データレジスタにセットすればよい。このときには、コマンド送信待ちカウンタの値を、例えばステップＳ３７４にて読出した格納データの個数だけ減算するなどして更新する（ステップＳ３７６）。続いて、払出用通信制御タイマに送信完了待ち初期値として予め定められたタイマ初期値をセットして（ステップＳ３７７）、払出用コマンド制御処理を終了する。
【０２９４】
また、ステップＳ３７１にて送信完了の待機中である旨の判定がなされたときには（ステップＳ３７１；Ｙｅｓ）、例えば送信完了フラグとして遊技制御フラグ設定部１３３に設けられた所定のフラグがオンとなっているか否かを判定するなどして、シリアル通信回路１０８による送信動作が完了したか否かを判定する（ステップＳ３７８）。ステップＳ３７８にて送信動作が完了しているときには（ステップＳ３７８；Ｙｅｓ）、払出用通信制御タイマを初期化した後（ステップＳ３７９）、前述したステップＳ３７２の処理に進む。
【０２９５】
ステップＳ３７８にて送信動作が完了していないときには（ステップＳ３７８；Ｎｏ）、払出用通信制御タイマの値を、例えば１減算するなどして更新する（ステップＳ３８０）。そして、例えばステップＳ３８０での更新により払出用通信制御タイマがタイムアウトしたか否かを判定することなどにより、送信完了待ち時間が経過したか否かを判定する（ステップＳ３８１）。このとき、送信完了待ち時間が経過していれば（ステップＳ３８１；Ｙｅｓ）、払出制御基板１５に対する払出制御コマンドの送信が送信完了待ち時間内に完了できなかったと判断して、例えば払出用通信エラー検出フラグをオン状態にセットする処理などといった、コマンド送信エラー時の処理を実行する（ステップＳ３８２）。他方、ステップＳ３８１にて送信完了待ち時間が経過していなければ（ステップＳ３８１；Ｎｏ）、ステップＳ３８２の処理をスキップして払出用コマンド制御処理を終了する。
【０２９６】
次に、払出制御基板１５における動作を説明する。払出制御基板１５では、電源基板１０からの電力供給が開始され払出制御用マイクロコンピュータ１５０へのリセット信号がハイレベル（オフ状態）になったことに応じて、払出制御用マイクロコンピュータ１５０が起動し、図４６のフローチャートに示すような払出制御メイン処理が実行される。なお、以下に説明する各処理は、払出制御用マイクロコンピュータ１５０が備えるＣＰＵ２１４によって実行されるものとする。また、払出制御用マイクロコンピュータ２１０が備えるタイマ回路２１７やシリアル通信回路２１８などで発生した各種の割込み要因に基づく割込み要求は、ＣＰＵ２１４に所定の割込み処理を実行させるためのものである。そして、ＣＰＵ２１４やＣＰＵ２１４以外の各種回路を含んだ概念を払出制御用マイクロコンピュータ１５０ということもあるものとする。図４６に示す払出制御メイン処理を開始すると、払出制御用マイクロコンピュータ１５０は、まず、割込禁止に設定し（ステップＳ５０１）、割込モードの設定を行う（ステップＳ５０２）。続いて、例えばスタックポインタ指定アドレスの設定など、スタックポインタに関わる設定を行う（ステップＳ５０３）。また、内蔵デバイスレジスタの設定（初期化）を行う（ステップＳ５０４）。例えば、払出制御用マイクロコンピュータ１５０がＣＴＣ（カウンタ／タイマ）及びＰＩＯ（パラレル入出力ポート）を内蔵している場合には、ステップＳ５０４の処理が実行されることにより、内蔵デバイス（内蔵周辺回路）としてのＣＴＣやＰＩＯの設定（初期化）などが行われるとよい。
【０２９７】
ステップＳ５０４の処理を実行した後には、例えば払出制御用マイクロコンピュータ１５０に設けられた入力ポートにおける所定ビットの状態をチェックすることなどにより、電源断信号がオフ状態となっているか否かを判定する（ステップＳ５０５）。例えば、ステップＳ５０５の処理では、電源断信号が出力されていないオフ状態（ハイレベル）となっていることを確認する。
【０２９８】
ステップＳ５０５にて電源断信号がオン状態であるときには（ステップＳ５０５；Ｎｏ）、所定時間（例えば０．１秒）が経過するまで待機した後（ステップＳ５０６）、ステップＳ５０５の処理に戻って、電源断信号がオフ状態となっているか否かの判定を再び行うようにする。これにより、払出制御用マイクロコンピュータ１５０は、電源電圧が安定したことを確認することができる。そして、ステップＳ５０５にて電源断信号がオフ状態であるときには（ステップＳ５０５；Ｙｅｓ）、ＲＡＭ２１６をアクセス可能に設定する（ステップＳ５０７）。
【０２９９】
ステップＳ５０７の処理を実行した後には、例えば払出制御用マイクロコンピュータ１５０に設けられた入力ポートにおける所定ビットの状態をチェックすることなどにより、クリア信号がオン状態となっているか否かを判定する（ステップＳ５０８）。ここで、払出制御用マイクロコンピュータ１５０は、入力ポートを介して１回だけクリア信号の状態を確認するようにしてもよいが、クリア信号の状態を複数回確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを１回確認したら、所定時間（例えば０．１秒）が経過した後に、クリア信号の状態をもう１回確認する。このとき、クリア信号がオフ状態であれば、クリア信号がオフ状態である旨の判定を行うようにする。他方、このときにクリア信号の状態がオン状態であれば、所定時間が経過した後に、クリア信号の状態を再び確認するようにしてもよい。なお、クリア信号の状態を再確認する回数は１回であってもよいし、複数回であってもよい。また、２回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。
【０３００】
ステップＳ５０８にてクリア信号がオフ状態である旨の判定がなされたときには（ステップＳ５０８；Ｎｏ）、ＲＡＭ２１６のデータチェックを行い、チェック結果が正常であるか否かを判定する（ステップＳ５０９）。ステップＳ５０９の処理では、例えばＲＡＭ２１６の特定領域における記憶データを用いてチェックサムを算出し、算出されたチェックサムと払出チェックサムバッファに記憶されているチェックサムとを比較する。ここで、払出チェックサムバッファには、前回の電力供給停止時に、同様の処理によって算出されたチェックサムが記憶されている。そして、比較結果が不一致であれば、ＲＡＭ２１６の特定領域におけるデータが電力供給停止時のデータとは異なっていることから、チェック結果が正常でないと判断される。
【０３０１】
ステップＳ５０９におけるチェック結果が正常であるときには（ステップＳ５０９；Ｙｅｓ）、払出制御フラグ設定部１４１に設けられた払出バックアップフラグがオンとなっているか否かを判定する（ステップＳ５１０）。払出バックアップフラグの状態は、電力供給が停止するときに、払出制御フラグ設定部１４１に設定される。そして、この払出バックアップフラグの設定箇所がバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、払出バックアップフラグの状態は保存されることになる。なお、ステップＳ５１０のような払出バックアップフラグがオンとなっているか否かの判定を、ステップＳ５０９のようなチェック結果の判定よりも先に行い、払出バックアップフラグがオンであるときにＲＡＭ２１６のデータチェック結果が正常であるか否かを判定するようにしてもよい。
【０３０２】
ステップＳ５１０にて払出バックアップフラグがオンであるときには（ステップＳ５１０；Ｙｅｓ）、払出バックアップフラグをクリアしてオフ状態とした後（ステップＳ５１１）、払出制御用マイクロコンピュータ１５０の内部状態などを電力供給が停止されたときの状態に戻すための復旧時における設定を行う（ステップＳ５１２）。例えば、パチンコ遊技機１への電力供給が停止されるときに、払出制御カウンタ設定部１４３に設けられた賞球未払出カウンタの値がＲＡＭ２１６のバックアップ領域に格納される場合には、ステップＳ５１２の処理においてＲＡＭ２１６のバックアップ領域の記憶データを読み出して、賞球未払出カウンタにセットするようにすればよい。
【０３０３】
また、ステップＳ５０８にてクリア信号がオンであるときや（ステップＳ５０８；Ｙｅｓ）、ステップＳ５０９にてチェック結果が正常ではないとき（ステップＳ５０９；Ｎｏ）、あるいはステップＳ５１０にて払出バックアップフラグがオフであるときには（ステップＳ５１０；Ｎｏ）、ＲＡＭ２１６の初期化を行う（ステップＳ５１３）。続いて、払出制御用マイクロコンピュータ１５０の内部状態などを初期状態とするための初期化時における設定を行う（ステップＳ５１４）。例えば、ステップＳ５１４の処理では、払出制御フラグ設定部１４１に設けられた各種のフラグや、払出制御タイマ設定部１４２に設けられた各種のタイマ、あるいは払出制御カウンタ設定部１４３に設けられた各種のカウンタなどに、それぞれの初期値を設定すればよい。具体的な一例として、ステップＳ５１４の処理では、払出制御カウンタ設定部１４３に設けられた初期化コマンド受信回数カウンタの値を所定のカウント初期値（例えば「１」）に設定する。
【０３０４】
ステップＳ５１２またはステップＳ５１４の処理を実行した後には、例えば払出制御用マイクロコンピュータ１５０が備えるタイマ回路２１７のレジスタ設定などを行うことにより、所定時間（例えば２ミリ秒）ごとにタイマ割込みが発生するように払出制御用マイクロコンピュータ１５０の内部設定を行う（ステップＳ５１５）。この後、ＣＰＵ２１４がＲＯＭ２１５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第４及び第３ビット［ビット４−３］を読出し（ステップＳ５１６）、読出した値に基づいて乱数生成動作の初期設定を行う（ステップＳ５１７）。例えば、払出制御基板１５の側では払出制御用マイクロコンピュータ１５０が備える乱数回路２１３を使用しない場合には、ステップＳ５１７の処理において、乱数回路２１３における１２ビット乱数と１６ビット乱数の双方について、その生成動作を停止させるための処理が実行されればよい。
【０３０５】
ステップＳ５１７の処理に続いて、ＣＰＵ２１４は、シリアル通信動作の初期設定を行うための処理として、シリアル通信初期設定処理を実行する（ステップＳ５１８）。このシリアル通信初期設定処理は、主基板１１の側で遊技制御用マイクロコンピュータ１００により実行される図２７に示すステップＳ２３の処理と同様の処理であればよい。また、ＣＰＵ２１４は、割込み要求に基づいて実行される割込み処理に関する初期設定を行うための処理として、割込み初期設定処理を実行する（ステップＳ５１９）。この割込み初期設定処理は、主基板１１の側で遊技制御用マイクロコンピュータ１００により実行される図２７に示すステップＳ２４の処理と同様の処理であればよい。そして、ＣＰＵ２１４は割込許可状態に設定して（ステップＳ５２０）、各種割込みの発生を待機する。このときには、電源断信号がオン状態となったか否か（出力されたか否か）の判定を行い（ステップＳ５２１）、オフであれば（ステップＳ５２１；Ｎｏ）、そのまま各種割込みの発生を待機する。また、電源断信号がオン状態となったときには（ステップＳ５２１；Ｙｅｓ）、払出側電源断処理を実行した後（ステップＳ５２２）、所定のループ処理を実行して、電力供給の停止による払出制御用マイクロコンピュータ１５０の動作停止まで待機する。なお、ステップＳ５２１の処理では、入力ポートを介して１回だけ電源断信号の状態を確認するようにしてもよいが、電源断信号の状態を複数回確認するようにしてもよい。例えば、電源断信号がオフ状態であることを１回確認したら、所定時間（例えば０．１秒）が経過した後に、電源断信号をもう１回確認する。このとき、電源断信号がオフ状態であれば、電源断信号がオフ状態である旨の判定を行うようにする。他方、このときに電源断信号の状態がオン状態であれば、所定時間が経過した後に、電源断信号の状態を再び確認するようにしてもよい。なお、電源断信号の状態を再確認する回数は１回であってもよいし、複数回であってもよい。また、２回チェックして、チェック結果が一致していなかったときに、もう一度確認するようにしてもよい。このように電源断信号の状態を複数回確認する場合には、例えば確認動作を開始するときや１回目の確認結果と２回目の確認結果とを比較して不一致であったときなどに、払出制御用マイクロコンピュータ１５０に内蔵されたＷＤＴ（ウォッチドッグ・タイマ）をクリアするリトリガを行う。そして、リトリガが何らかの原因（例えばプログラムの暴走）で所定時間内に発生しなくなった場合には、ＷＤＴから出力されるタイムアウト信号に基づくユーザリセットを発生させ、リセット／割込みコントローラ２１２、ＣＰＵ２１４、タイマ回路２１７、シリアル通信回路２１８などの各回路を初期化した後、所定のベクタテーブルで示されるアドレスからユーザプログラムの実行を開始して、自動復旧を行うようにしてもよい。
【０３０６】
ステップＳ５２２の払出側電源断処理では、例えばＣＰＵ２１４が割込禁止に設定した後、払出制御用マイクロコンピュータ１５０に設けられた出力ポートの所定ビットにクリアデータをセットするなどして、払出モータ５１の動作を停止させるための設定を行う。このときには、出力ポートの所定ビット以外にも、クリアすべき出力ポートにはクリアデータを設定するようにしてもよい。続いて、例えばＲＡＭ２１６の特定領域における記憶データを用いてチェックサムを算出するなどして、チェックデータの作成を行うとともに、払出制御フラグ設定部１４１に設けられた払出バックアップフラグをオン状態にセットする。このとき作成されたチェックデータは、例えば払出制御バッファ設定部１４４に設けられた払出チェックサムバッファなどといった、ＲＡＭ２１６の所定領域に格納される。そして、払出制御用マイクロコンピュータ１５０は、例えば所定のＲＡＭアクセスレジスタにアクセス禁止値を設定することなどにより、以後、ＲＡＭ２１６へのアクセスを禁止する。
【０３０７】
払出制御用マイクロコンピュータ１５０では、シリアル通信回路２１８にて発生した割込み要因に対応して、主基板１１に搭載された遊技制御用マイクロコンピュータ１００が実行する割込み処理を払出制御用マイクロコンピュータ１５０に適合させた処理が、実行されればよい。例えば、払出制御用マイクロコンピュータ１５０に設けられたシリアル通信回路２１８にてエラー割込みが発生するごとに、シリアル通信エラー割込み処理として予め定められた処理が、ＣＰＵ２１４によって実行されればよい。例えば、ＣＰＵ２１４が実行するシリアル通信エラー割込み処理には、例えばシリアル通信回路２１８に設けられた送信動作部と受信動作部を未使用状態に設定する処理や、払出制御フラグ設定部１４１に設けられたシリアル通信エラーフラグをオン状態にセットする処理などが含まれていればよい。
【０３０８】
また、シリアル通信回路２１８にて受信割込みが発生するごとに、シリアル受信割込み処理として予め定められた処理が、ＣＰＵ２１４によって実行されてもよい。このＣＰＵ２１４が実行するシリアル受信割込み処理には、シリアル通信回路２１８にて主基板１１から受信したコマンドを払出制御バッファ設定部１４４に設けられた受信コマンドバッファに格納する処理などが含まれていればよい。さらに、シリアル通信回路２１８にて送信割込みが発生するごとに、シリアル送信割込み処理として予め定められた処理が、ＣＰＵ２１４によって実行されてもよい。このＣＰＵ２１４が実行するシリアル送信割込み処理には、シリアル通信回路２１８にて発生した送信割込みの種類を特定して、特定された割込みの種類に応じたフラグをセットまたはクリアする処理などといった、送信割込みの種類に対応する各種の処理が含まれていればよい。
【０３０９】
図４７は、払出制御用マイクロコンピュータ１５０にてタイマ割込みが発生するごとに実行される払出制御用タイマ割込み処理の一例を示すフローチャートである。この払出制御用タイマ割込み処理は、主基板１１から送信された払出制御コマンドに応じて払出モータ５１を制御する払出制御処理となる処理である。図４７に示す払出制御用タイマ割込み処理において、払出制御用マイクロコンピュータ１５０は、所定の入出力処理を実行して（ステップＳ５３１）、例えば払出制御用マイクロコンピュータ１５０に設けられた入力ポートにおける所定ビットの状態をチェックしたり、払出制御用マイクロコンピュータ１５０に設けられた出力ポートにおける所定ビットに対して所定の制御データをセットしたりする。
【０３１０】
続いて、払出制御用マイクロコンピュータ１５０は、プリペイドカードユニット処理を実行して、インタフェース基板２０を介して接続されたカードユニット７０との間での通信を行う（ステップＳ５３２）。また、シリアル通信により主基板１１から送信された払出制御コマンドを受信するための払出側受信処理を実行する（ステップＳ５３３）。そして、主基板１１からの払出数指定コマンドを受信したときに賞球ＡＣＫコマンドを送信する設定などを行う賞球受信確認処理を実行する（ステップＳ５３４）。さらに、カードユニット７０からの球貸し要求や、主基板１１からの払出数指定コマンドに応じて、遊技球の払出動作を制御する払出動作制御処理を実行する（ステップＳ５３５）。
【０３１１】
ステップＳ５３５の処理に続いて、払出制御用マイクロコンピュータ１５０は、例えば払出制御フラグ設定部１４１に設けられた各種のエラーフラグにおける状態に応じてエラー表示用ＬＥＤ７４に所定の表示を行う７セグ表示処理を実行する（ステップＳ５３６）。また、主基板１１に対して払出通知コマンドを送信するための払出側送信処理を実行する（ステップＳ５３７）。例えば、払出側送信処理では、払出制御フラグ設定部１４１に設けられたシリアル通信エラーフラグがオンとなっているか否かを判定し、オンであるときには、シリアル通信回路２１８を用いて主基板１１に対して払出通知コマンドを送信することができないと判断して、払出側送信処理を終了する。他方、シリアル通信エラーフラグがオフであるときには、払出制御フラグ設定部１４１に設けられたシリアル通信エラーフラグ以外のエラーフラグがオン状態となっているか否かを判定する。このとき、いずれかのエラーフラグがオンとなっていれば、例えば払出制御バッファ設定部１４４に設けられた送信コマンドバッファにコマンド送信用の制御データをセットすることなどといった、主基板１１に対して払出エラー通知コマンドを送信するための設定を行う。その後、送信コマンドバッファに送信対象となるコマンドが格納されているか否かを判定し、格納されているときには、そのコマンドに対応する格納データを読み出して、シリアル通信回路２１８に設けられたシリアル通信データレジスタにセットする。このときには、払出制御フラグ設定部１４１に設けられた送信設定可能フラグや送信完了フラグをチェックすることで、データセットが可能か否かの判定や、コマンドの送信が完了したか否かの判定などを行うようにしてもよい。
【０３１２】
この後、払出制御用マイクロコンピュータ１５０は、払出側エラー解除処理を実行して、エラー解除スイッチ７３からの検出信号がオン状態となったときに所定のエラーの解除を可能とし（ステップＳ５３８）、払出制御用タイマ割込み処理を終了する。ステップＳ５３８の払出側エラー解除処理では、例えばＣＰＵ２１４がステップＳ５３１における入出力処理の実行結果などに基づきエラー解除スイッチ７３からの検出信号がオン状態となっているか否かを判定する。このとき、エラー解除スイッチ７３からの検出信号がオン状態となっていれば、例えば主基板通信エラーフラグがオンとなっているか否かを判定する。そして、主基板通信エラーフラグがオンであれば、主基板通信エラーフラグをクリアしてオフ状態とする。また、エラー解除スイッチ７３からの検出信号がオン状態となっているときには、シリアル通信エラーフラグがオンとなっているか否かを判定し、オンであれば、所定のシリアル通信初期設定処理を実行することにより、シリアル通信回路２１８の初期設定を行ってもよい。このとき実行されるシリアル通信初期設定処理は、例えば図２７に示すステップＳ２３にて実行されるシリアル通信初期設定処理を、払出制御用マイクロコンピュータ１５０に適合させた処理であればよい。シリアル通信初期設定処理を実行したときには、シリアル通信エラーフラグをクリアしてオフ状態とする。さらに、エラー解除スイッチ７３からの検出信号がオン状態であるときには、その他に解除可能なエラーが発生しているか否かを判定し、発生していれば、そのエラーを解除するための設定が行われてもよい。具体的な一例として、球噛みエラーフラグや球詰まりエラーフラグ、空切りエラーフラグなどといった、所定のエラーフラグがオンとなっているか否かを判定し、いずれかのエラーフラグがオンとなっていれば、エラー解除スイッチ７３の操作により解除可能なエラーが発生していると判定する。この場合には、例えば対応するエラーフラグをクリアしたり、払出モータ５１の駆動制御を行ったりするなど、発生したエラーを解除するための設定を行うようにすればよい。
【０３１３】
図４８は、図４７に示すステップＳ５３３にて実行される払出側受信処理の一例を示すフローチャートである。この払出側受信処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、主基板通信エラーフラグがオンとなっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ６０１）。ステップＳ６０１にて主基板通信エラーフラグがオンであるときには（ステップＳ６０１；Ｙｅｓ）、そのまま払出側受信処理を終了する。これにより、払出制御基板１５において主基板１１との間での通信に関するエラーが発生しているときには、主基板１１から送信される払出制御コマンドの受信を停止する状態に制御されることになる。
【０３１４】
他方、ステップＳ６０１にて主基板通信エラーフラグがオフであるときには（ステップＳ６０１；Ｎｏ）、例えば払出制御カウンタ設定部１４３に設けられたコマンド受信個数カウンタの値が「０」以外であるか否かをＣＰＵ２１４が判定することなどにより、受信コマンドがあるか否かを判定する（ステップＳ６０２）。このとき、受信コマンドがない旨の判定がなされると（ステップＳ６０２；Ｎｏ）、払出側受信処理を終了する。
【０３１５】
ステップＳ６０２にて受信コマンドがある旨の判定がなされたときには（ステップＳ６０２；Ｙｅｓ）、払出制御バッファ設定部１４４に設けられた受信コマンドバッファのうちでコマンド受信個数カウンタの値に対応したものから格納データを読出し（ステップＳ６０３）、コマンド受信個数カウンタの値を、例えばステップＳ６０３にて読出した格納データの個数だけ減算するなどして更新する（ステップＳ６０４）。続いて、ステップＳ６０３にて読出した受信コマンドが主基板１１から送信される適正なコマンドであるか否かのチェックを行う（ステップＳ６０５）。具体的な一例として、受信コマンドの１バイト目と２バイト目との排他的論理和を演算し、算出された演算結果が正常値となっているか否かを判定することで、受信コマンドが適正なコマンドであるか否かをチェックすることができる。この実施の形態では、主基板１１から払出制御基板１５に対して送信されるコマンドは、１バイト目を反転させることで２バイト目となるように構成されていることから、受信コマンドの１バイト目と２バイト目との排他的論理和を演算した結果、全ビット値が“１”となれば、受信コマンドが適正なコマンドであると判断することができる。
【０３１６】
ステップＳ６０５におけるチェックの結果、受信コマンドが適正なコマンドではないと判定されたときには（ステップＳ６０５；Ｎｏ）、主基板通信エラーフラグをオン状態にセットして（ステップＳ６０６）、払出側受信処理を終了する。これに対して、ステップＳ６０５におけるチェックの結果、受信コマンドが適正なコマンドであると判定されたときには（ステップＳ６０５；Ｙｅｓ）、その受信コマンドは払出数指定コマンドであるか否かを判定する（ステップＳ６０７）。そして、受信コマンドが払出数指定コマンドであるときには（ステップＳ６０７；Ｙｅｓ）、そのコマンドによって指定された賞球の払出数を賞球未払出カウンタの値に加算して格納する（ステップＳ６０８）。これにより、賞球未払出カウンタには、払出数指定コマンドに示された遊技媒体の払出数が累積的に記憶されることになる。ステップＳ６０８の処理を実行したときには、払出制御フラグ設定部１４１に設けられた賞球ＡＣＫ送信フラグをオン状態にセットして（ステップＳ６０９）、払出制御カウンタ設定部１４３に設けられた払出動作不良回数カウンタに所定のカウント初期値（例えば「０」）を設定する（ステップＳ６１０）。
【０３１７】
ステップＳ６０７にて受信コマンドが払出数指定コマンドではないと判定したときには（ステップＳ６０７；Ｎｏ）、受信コマンドはＡＣＫフィードバックコマンドであるか否かを判定する（ステップＳ６１１）。そして、受信コマンドがＡＣＫフィードバックコマンドであるときには（ステップＳ６１１；Ｙｅｓ）、払出制御フラグ設定部１４１に設けられたフィードバック受信フラグをオン状態にセットする（ステップＳ６１２）。ステップＳ６１１にて受信コマンドがＡＣＫフィードバックコマンドではないと判定されたときには（ステップＳ６１１；Ｎｏ）、受信したコマンドの種類に対応するコマンド受信フラグをオン状態にセットすればよい（ステップＳ６１３）。
【０３１８】
図４９は、図４７に示すステップＳ５３４にて実行される賞球受信確認処理の一例を示すフローチャートである。この賞球受信確認処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、主基板通信エラーフラグがオンとなっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ６３１）。ステップＳ６３１にて主基板通信エラーフラグがオンであるときには（ステップＳ６３１；Ｙｅｓ）、そのまま賞球受信確認処理を終了する。
【０３１９】
他方、ステップＳ６３１にて主基板通信エラーフラグがオフであるときには（ステップＳ６３１；Ｎｏ）、払出制御フラグ設定部１４１に設けられた受信確認中フラグがオンとなっているか否かを判定する（ステップＳ６３２）。ここで、受信確認中フラグは、後述するステップＳ６３７の処理が実行されたときにオン状態にセットされる一方、ステップＳ６４１、Ｓ６４６の処理のいずれかが実行されたときにクリアされてオフ状態となる。
【０３２０】
ステップＳ６３２にて受信確認中フラグがオフであるときには（ステップＳ６３２；Ｎｏ）、賞球ＡＣＫ送信フラグがオンとなっているか否かを判定する（ステップＳ６３３）。そして、ステップＳ６３３にて賞球ＡＣＫ送信フラグがオフであるときには（ステップＳ６３３；Ｎｏ）、賞球受信確認処理を終了する。他方、ステップＳ６３３にて賞球ＡＣＫ送信フラグがオンであるときには（ステップＳ６３３；Ｙｅｓ）、主基板１１に対して賞球ＡＣＫコマンドを送信するための設定を行う（ステップＳ６３４）。具体的な一例として、ステップＳ６３４の処理では、ＲＯＭ２１５に格納されている賞球ＡＣＫコマンド設定テーブルの先頭アドレスをポインタに設定し、賞球ＡＣＫコマンド設定テーブルの内容に基づいて、コマンド送信用の制御データを払出制御バッファ設定部１４４に設けられた送信コマンドバッファにセットする。ステップＳ６３４の処理を実行したときには、払出制御タイマ設定部１４２に設けられた通信制御タイマにフィードバック待機用初期値として予め定められたタイマ初期値を設定する（ステップＳ６３５）。また、このときには、賞球ＡＣＫ送信フラグをクリアしてオフ状態にするとともに（ステップＳ６３６）、受信確認中フラグをオン状態にセットする（ステップＳ６３７）。
【０３２１】
また、ステップＳ６３２にて受信確認中フラグがオンであるときには（ステップＳ６３２；Ｙｅｓ）、フィードバック受信フラグがオンとなっているか否かを判定する（ステップＳ６３８）。そして、フィードバック受信フラグがオンであるときには（ステップＳ６３８；Ｙｅｓ）、フィードバック受信フラグをクリアしてオフ状態にするとともに（ステップＳ６３９）、通信制御タイマを初期化し（ステップＳ６４０）、受信確認中フラグをクリアしてオフ状態とする（ステップＳ６４１）。
【０３２２】
ステップＳ６３８にてフィードバック受信フラグがオフであるときには（ステップＳ６３８；Ｎｏ）、通信制御タイマの値を、例えば１減算するなどして更新する（ステップＳ６４２）。そして、例えばステップＳ６４２での更新により通信制御タイマがタイムアウトしたか否かを判定することなどにより、フィードバック待機時間が経過したか否かを判定する（ステップＳ６４３）。このとき、フィードバック待機時間が経過していなければ（ステップＳ６４３；Ｎｏ）、賞球受信確認処理を終了する。他方、ステップＳ６４３にてフィードバック待機時間が経過しているときには（ステップＳ６４３；Ｙｅｓ）、主基板通信エラーフラグをオン状態にセットするとともに（ステップＳ６４４）、主基板１１から受信した払出数指定コマンドが無効であると判断して、その払出数指定コマンドで示された払出数を賞球未払出カウンタから減算する（ステップＳ６４５）。すなわち、ステップＳ６４５の処理では、図４８に示すステップＳ６０８にて賞球未払出カウンタの値に加算した払出数を、賞球未払出カウンタの値から減算して格納する。また、このときには、受信確認中フラグをクリアしてオフ状態とする（ステップＳ６４６）。
【０３２３】
図５０は、図４７に示すステップＳ５３５にて実行される払出動作制御処理の一例を示すフローチャートである。図５０に示す払出動作制御処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、例えばＣＰＵ２１４が未払出の賞球個数に関する記憶に異常が発生したか否かを判定するための払出数記憶異常判定処理を実行する（ステップＳ６６１）。ステップＳ６６１にて払出数記憶異常判定処理を実行した後には、払出制御フラグ設定部１４１に設けられた払出制御プロセスフラグの値に応じて、図５０に示すようなステップＳ６６２〜Ｓ６６４の各処理を実行する。ここで、ステップＳ６６２の払出制御通常処理は、払出制御プロセスフラグの値が“０”のときに実行される。ステップＳ６６３の賞球払出動作処理は、払出制御プロセスフラグの値が“１”のときに実行される。ステップＳ６６４の球貸し払出動作処理は、払出制御プロセスフラグの値が“２”のときに実行される。
【０３２４】
図５１は、図５０に示すステップＳ６６１にて実行される払出数記憶異常判定処理の一例を示すフローチャートである。この払出数記憶異常判定処理では、まず、賞球未払出カウンタに格納されているカウント値における増加分を特定する（ステップＳ７０１）。例えば、ステップＳ７０１の処理では、前回未払出カウンタの値と、賞球未払出カウンタの値との差分をとることにより、カウント値における増加分を特定することができる。
【０３２５】
続いて、ステップＳ７０１にて特定したカウント値の増加分が、所定の賞球増加上限値以下となっているか否かを判定する（ステップＳ７０２）。この実施の形態では、主基板１１から払出制御基板１５に対して送信される払出制御コマンドにより指定される払出数の最大値は、図１０（Ｃ）に示す第１払出数指定コマンドによって指定される「１５」となっている。そして、払出制御用マイクロコンピュータ１５０にてタイマ割込みがあったと判定されたときには、図４７に示すステップＳ５３３の払出側受信処理が１回実行される。他方、前回未払出カウンタの値は、後述する図５４に示すステップＳ８１５の処理や、図５６に示すステップＳ８４５の処理が実行されたときに、賞球未払出カウンタの値と同一の値に設定される。そこで、ステップＳ７０２にてカウント値の増加分が賞球増加上限値として予め定めた所定値を超えていると判定したときには（ステップＳ７０２；Ｎｏ）、賞球未払出カウンタにおけるカウント値が異常に増加したため、その値は無効であると判断して、賞球未払出カウンタをクリアしてカウント値を初期化する（ステップＳ７０３）。あるいは、ステップＳ７０３の処理では、例えば前回未払出カウンタの値を賞球未払出カウンタにセットすることなどにより、異常に増加したカウント値に相当する部分だけ無効とするようにしてもよい。この場合には、例えば賞球未払出カウンタの記憶データに誤りが発生したときなどに、必要以上に未払出の遊技球数を無効にしてしまい遊技者が不利益を受けることを防止できる。
【０３２６】
ステップＳ７０２にてカウント値の増加分が賞球増加上限値以下であるときには（ステップＳ７０２；Ｙｅｓ）、払出制御カウンタ設定部１４３に設けられた球貸し未払出カウンタに格納されているカウント値における増加分を特定する（ステップＳ７０４）。そして、ステップＳ７０４にて特定したカウント値の増加分が、所定の球貸し増加上限値（例えば「２５」）以下となっているか否かを判定する（ステップＳ７０５）。このとき、カウント値の増加分が球貸し増加上限値を超えていれば（ステップＳ７０５；Ｎｏ）、球貸し未払出カウンタにおけるカウント値が異常に増加したため、その値は無効であると判断して、球貸し未払出カウンタをクリアしてカウント値を初期化する（ステップＳ７０６）。
【０３２７】
ステップＳ７０５にてカウント値の増加分が球貸し増加上限値以下であるときや（ステップＳ７０５；Ｙｅｓ）、ステップＳ７０３、Ｓ７０６のいずれかの処理を実行した後には、賞球未払出カウンタの値が予め定められた多量未払出上限値（例えば「５０」）未満であるか否かを判定する（ステップＳ７０７）。このとき、多量未払出上限値未満であると判定されれば（ステップＳ７０７；Ｙｅｓ）、払出制御フラグ設定部１４１に設けられた多量未払出エラーフラグをクリアしてオフ状態とする（ステップＳ７０８）。これに対して、多量未払出上限値以上であるときには（ステップＳ７０７；Ｎｏ）、多量未払出エラーフラグをオン状態にセットする（ステップＳ７０９）。
【０３２８】
図５２は、図５０に示すステップＳ６６２にて実行される払出制御通常処理の一例を示すフローチャートである。この払出制御通常処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、主基板通信エラーフラグがオンとなっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ７２１）。そして、ステップＳ７２１にて主基板通信エラーフラグがオンであるときには（ステップＳ７２１；Ｙｅｓ）、そのまま払出制御通常処理を終了する。これにより、払出制御基板１５にて主基板１１との間での通信に関するエラーが発生しているときには、賞球や貸し球となる遊技球の払出制御を停止する状態に制御されることになる。
【０３２９】
他方、ステップＳ７２１にて主基板通信エラーフラグがオフであるときには（ステップＳ７２１；Ｎｏ）、賞球未払出カウンタの値が「０」以外の値となっているか否かを判定する（ステップＳ７２２）。このとき、賞球未払出カウンタの値が「０」以外の値であれば（ステップＳ７２２；Ｙｅｓ）、例えば主基板１１からの所定コマンド（例えば球切れ通知コマンドなど）を受信したか否かをチェックすることなどにより、球切れ状態となっているか否かを判定する（ステップＳ７２３）。そして、球切れ状態となっているときには（ステップＳ７２３；Ｙｅｓ）、払出制御通常処理を終了する。これに対して、ステップＳ７２３にて球切れ状態ではない場合には（ステップＳ７２３；Ｎｏ）、払出制御プロセスフラグの値を賞球払出動作処理に対応した値である“１”に更新する（ステップＳ７２４）。
【０３３０】
また、ステップＳ７２２にて賞球未払出カウンタの値が「０」であるときには（ステップＳ７２２；Ｎｏ）、カードユニット７０から伝送されるＢＲＤＹ信号がオン状態となっているか否かを判定する（ステップＳ７２５）。このとき、ＢＲＤＹ信号がオフ状態であれば（ステップＳ７２５；Ｎｏ）、払出制御通常処理を終了する。これに対して、ステップＳ７２５にてＢＲＤＹ信号がオン状態であるときには（ステップＳ７２５；Ｙｅｓ）、カードユニット７０から伝送される球貸し要求信号（ＢＲＱ信号）がオン状態となっているか否かを判定する（ステップＳ７２６）。そして、球貸し要求信号がオフ状態であるときには（ステップＳ７２６；Ｎｏ）、払出制御通常処理を終了する。
【０３３１】
ステップＳ７２６にて球貸し要求信号がオン状態であるときには（ステップＳ７２６；Ｙｅｓ）、例えば主基板１１からの所定コマンド（例えば球切れ通知コマンドなど）を受信したか否かや払出制御フラグ設定部１４１に設けられたカードユニット未接続エラーフラグをチェックすることなどにより、球貸し可能な状態となっているか否かを判定する（ステップＳ７２７）。そして、例えば球切れ通知コマンドを受信したことやカードユニット未接続エラーフラグがオン状態となっていることなどにより、球貸し可能な状態ではないと判定されたときには（ステップＳ７２７；Ｎｏ）、払出制御通常処理を終了する。これに対して、ステップＳ７２７にて球貸し可能な状態となっているときには（ステップＳ７２７；Ｙｅｓ）、球貸し未払出カウンタに球貸し用初期値として予め定められたカウント初期値（例えば「２５」）を設定する（ステップＳ７２８）。そして、払出制御プロセスフラグの値を球貸し払出動作処理に対応した値である“２”に更新する（ステップＳ７２９）。
【０３３２】
図５３は、図５０に示すステップＳ６６３にて実行される賞球払出動作処理の一例を示すフローチャートである。この賞球払出動作処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、例えばＣＰＵ２１４が図４７に示すステップＳ５３１における入出力処理の実行結果に基づき、払出カウントスイッチ７２からの検出信号がオン状態となっているか否かを判定する（ステップＳ７４１）。そして、払出カウントスイッチ７２からの検出信号がオン状態であるときには（ステップＳ７４１；Ｙｅｓ）、払出制御カウンタ設定部１４３に設けられた払出個数カウンタの値を１加算する（ステップＳ７４２）。これに対して、ステップＳ７４１にて払出カウントスイッチ７２からの検出信号がオフ状態であるときには（ステップＳ７４１；Ｎｏ）、ステップＳ７４２の処理をスキップする。この後、払出制御フラグ設定部１４１に設けられた賞球払出動作プロセスフラグの値に応じて、図５３に示すステップＳ７４３、Ｓ７４４の処理のいずれかを選択して実行する。ここで、ステップＳ７４３の賞球払出回数算出処理は、賞球払出動作プロセスフラグの値が“０”のときに実行される。ステップＳ７４４の賞球払出駆動処理は、賞球払出動作プロセスフラグの値が“１”のときに実行される。
【０３３３】
図５４は、図５３に示すステップＳ７４３にて実行される賞球払出回数算出処理の一例を示すフローチャートである。この賞球払出回数算出処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、主基板通信エラーフラグがオンとなっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ８０１）。そして、ステップＳ８０１にて主基板通信エラーフラグがオンであるときには（ステップＳ８０１；Ｙｅｓ）、そのまま賞球払出回数算出処理を終了する。これにより、払出制御基板１５にて主基板１１との間での通信に関するエラーが発生しているときには、未払出の賞球となる遊技球の払出制御を停止する状態に制御されることになる。
【０３３４】
他方、ステップＳ８０１にて主基板通信エラーフラグがオフであるときには（ステップＳ８０１；Ｎｏ）、賞球未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているか否かを判定する（ステップＳ８０２）。ここで、ステップＳ８０２にて賞球未払出カウンタの値が払出個数カウンタの値と等しいか、それよりも小さな値となっているときには（ステップＳ８０２；Ｎｏ）、賞球未払出カウンタの値に対応した遊技球の払出動作が完了したと判断される。このときには、払出制御カウンタ設定部１４３に設けられた払出動作不良回数カウンタをクリアしてカウント値を初期化するとともに（ステップＳ８０３）、賞球未払出カウンタをクリアしてカウント値を初期化する（ステップＳ８０４）。
【０３３５】
ステップＳ８０２にて賞球未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているときには（ステップＳ８０２；Ｙｅｓ）、賞球未払出カウンタによってカウントされている遊技球個数のうちに、未だ払出動作が完了していないものが含まれていると判断される。そこで、賞球未払出カウンタの値である未払出数から、払出個数カウンタの値である払出個数を減算することにより、未だ払出動作が完了していない遊技球の個数を特定する（ステップＳ８０５）。続いて、ステップＳ８０５での減算処理により特定された値としての減算値を、払出制御カウンタ設定部１４３に設けられた払出モータ回転カウンタにセットする（ステップＳ８０６）。
【０３３６】
ステップＳ８０６の処理に続いて、払出動作不良回数カウンタの値が所定の不良回数上限値（例えば「９」）を超えているか否かを判定する（ステップＳ８０７）。このとき、不良回数上限値を超えていれば（ステップＳ８０７；Ｙｅｓ）、払出制御フラグ設定部１４１に設けられた球詰まりエラーフラグをオン状態にセットするとともに（ステップＳ８０８）、払出動作不良回数カウンタをクリアしてカウント値を初期化する（ステップＳ８０９）。他方、ステップＳ８０７にて不良回数上限値以下であるときには（ステップＳ８０７；Ｎｏ）、賞球となる遊技球の払出動作が可能な状態となっているか否かを判定する（ステップＳ８１０）。具体的な一例として、ステップＳ８１０の処理では、球詰まりエラーフラグや空切りエラーフラグ、球噛みエラーフラグなどをチェックして、いずれかのエラーフラグがオン状態となっているときには、賞球となる遊技球の払出動作が不可能な状態であると判断する。他方、いずれのエラーフラグもオフ状態となっているときには、賞球となる遊技球の払出動作が可能な状態であると判断する。
【０３３７】
ステップＳ８０４の処理を実行した後や、ステップＳ８１０にて払出動作が不可能な状態であるときには（ステップＳ８１０；Ｎｏ）、払出制御プロセスフラグの値を“０”に更新するとともに（ステップＳ８１１）、払出個数カウンタをクリアしてカウント値を初期化する（ステップＳ８１２）。また、払出モータ回転カウンタをクリアしてカウント値を初期化する（ステップＳ８１３）。これに対して、ステップＳ８１０にて払出動作が可能な状態であるときには（ステップＳ８１０；Ｙｅｓ）、ステップＳ８０５にて得られた減算値を賞球未払出カウンタにセットすることにより、賞球未払出カウンタの値を更新する（ステップＳ８１４）。また、ステップＳ８０５にて得られた減算値を前回未払出カウンタにセットすることにより、前回未払出カウンタの値を更新する（ステップＳ８１５）。このステップＳ８１５の処理が実行されることにより、ステップＳ８０６にて払出モータ回転カウンタに払出動作量を示すカウント値が記憶されたことを条件に、賞球未払出カウンタの値と同一の値が前回未払出カウンタにもセットされることになる。ステップＳ８１５の処理を実行した後には、賞球払出動作プロセスフラグの値を賞球払出駆動処理に対応した値である“１”に更新する（ステップＳ８１６）。
【０３３８】
図５５及び図５６は、図５３に示すステップＳ７４４にて実行される賞球払出駆動処理の一例を示すフローチャートである。この賞球払出駆動処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、主基板通信エラーフラグがオンとなっているか否かを、例えばＣＰＵ２１４が判定する（図５５に示すステップＳ８２１）。ステップＳ８２１にて主基板通信エラーフラグがオフであるときには（ステップＳ８２１；Ｎｏ）、賞球未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているか否かを判定する（ステップＳ８２２）。ここで、ステップＳ８２２にて賞球未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているときには（ステップＳ８２２；Ｙｅｓ）、賞球となる遊技球の正常な払出動作が行われていると判断される。このときには、例えば払出制御タイマ設定部１４２に設けられた払出動作制御タイマによる経過時間の計測が行われているか否か（タイマ値が「０」以外であるか否か）を判定することなどにより、賞球払出動作の完了を待機中であるか否かを判定する（ステップＳ８２３）。
【０３３９】
ステップＳ８２３にて賞球払出動作の待機中ではない旨の判定がなされたときには（ステップＳ８２３；Ｎｏ）、例えば払出モータ５１の励磁時間あるいは払出モータ位置センサ７１による検出結果などから、賞球となる遊技球を１個分払い出すための払出動作中であるか否かを判定する（ステップＳ８２４）。そして、遊技球を１個分払い出すための払出動作中ではないときには（ステップＳ８２４；Ｎｏ）、払出モータ回転カウンタの値が「０」であるか否かを判定する（ステップＳ８２５）。ステップＳ８２５にて払出モータ回転カウンタの値が「０」であるときには（ステップＳ８２５；Ｙｅｓ）、払出モータ５１の駆動を停止するための設定を行うとともに（ステップＳ８２６）、払出動作制御タイマに払出完了待ち初期値として予め定められたタイマ初期値をセットして（ステップＳ８２７）、賞球払出駆動処理を終了する。なお、払出完了待ち初期値は、払出モータ５１を駆動することによる遊技球の払出動作を行ってから、払出カウントスイッチ７２により遊技球の払出が検出されるまでに要する最大時間に対応して予め定められたタイマ初期値であればよい。
【０３４０】
ステップＳ８２５にて払出モータ回転カウンタの値が「０」以外の値であるときには（ステップＳ８２５；Ｎｏ）、例えば所定の励磁パターンテーブルの先頭アドレスをポインタに設定するなどといった、遊技球を１個分払い出すための払出動作に関する設定を行う（ステップＳ８２８）。このときには、払出モータ回数カウンタの値を１減算することにより更新する（ステップＳ８２９）。このように、ステップＳ８２５にて払出モータ回転カウンタの値が「０」以外の値であるときにステップＳ８２８にて払出動作に関する設定が行われることから、払出モータ回転カウンタに「０」以外の値を設定することにより、実際に遊技球の払出動作が実行されることになる。
【０３４１】
また、ステップＳ８２４にて遊技球を１個分払い出すための払出動作中であるときには（ステップＳ８２４；Ｙｅｓ）、例えば払出制御フラグ設定部１４１に設けられた各種のエラーフラグの状態を確認することなどにより、払出モータ５１による払出動作にエラーが発生したかどうかをチェックする（ステップＳ８３０）。このとき、払出動作にエラーが発生していれば（ステップＳ８３０；Ｎｏ）、例えばステップＳ８２６と同様にして払出モータ５１の駆動を停止するための設定を行うなど、払出モータ５１による払出動作中に発生したエラーに対応した設定を行う（ステップＳ８３１）。
【０３４２】
ステップＳ８２３にて賞球払出動作の完了を待機中である旨の判定がなされたときには（ステップＳ８２３；Ｙｅｓ）、払出動作制御タイマの値を、例えば１減算するなどして更新する（ステップＳ８３２）。続いて、払出個数カウンタの値が賞球未払出カウンタの値に達しているか否かを判定する（ステップＳ８３３）。このとき、払出個数カウンタの値が賞球未払出カウンタの値に達していなければ（ステップＳ８３３；Ｎｏ）、例えばステップＳ８３２での更新により払出動作制御タイマがタイムアウトしたか否かを判定することなどにより、払出完了待ち時間が経過したか否かを判定する（ステップＳ８３４）。このとき、払出完了待ち時間が経過していれば（ステップＳ８３４；Ｙｅｓ）、払出モータ５１を駆動することにより既に払い出された遊技球として払出個数カウンタでカウントされた遊技球の個数が、払い出すべき賞球として賞球未払出カウンタでカウントされた遊技球の個数に達するより以前に、賞球払出動作の完了を待機する待ち時間が経過したと判断される。そこで、払出動作不良回数カウンタの値を１加算して更新する（ステップＳ８３６）。
【０３４３】
ステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達しているときや（ステップＳ８３３；Ｙｅｓ）、ステップＳ８３５の処理を実行した後には、払出動作制御タイマをクリアして初期化するとともに（ステップＳ８３６）、前回未払出カウンタをクリアして初期化する（ステップＳ８３７）。その後、賞球払出制御プロセスフラグの値を“０”に更新する（ステップＳ８３８）。なお、ステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した後、図５３に示すステップＳ７４３の賞球払出回数算出処理が実行されるより前の段階で図４８に示すステップＳ６０７にて払出数指定コマンドを受信した旨の判定がなされた場合には、図５４に示すステップＳ８０２にて賞球未払出カウンタの値が払出個数カウンタの値よりも大きな値であると判定されることがある。この実施の形態では、図５４に示すステップＳ８０７にて払出動作不良回数カウンタの値と比較される不良回数上限値を適切な値（例えば「９」）に定めておくことで、図５５に示すステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した後、図５３に示すステップＳ７４３の賞球払出回数算出処理が実行されるより前の段階で払出数指定コマンドを受信した場合でも直ちにエラーと判定されることを防止しつつ、払出モータ５１あるいは払出ケース１７における球詰まりなどの発生による払出動作の不良を適切に検出することができる。
【０３４４】
ステップＳ８２１にて主基板通信エラーフラグがオンであるときや（ステップＳ８２１；Ｙｅｓ）、ステップＳ８２２にて賞球未払出カウンタの値が払出個数カウンタの値と等しいか、それよりも小さな値となっているときには（ステップＳ８２２；Ｎｏ）、ステップＳ８２６と同様にして払出モータ５１の駆動を停止するための設定を行うとともに（ステップＳ８３９）、賞球払出動作プロセスフラグの値を“０”に更新する（ステップＳ８４０）。このように、ステップＳ８２１にて主基板通信エラーフラグがオンであるときにはステップＳ８３９の処理に進んで払出モータ５１の駆動を停止することにより、払出制御基板１５にて主基板１１との間での通信に関するエラーが発生しているときに、未払出の賞球となる遊技球の払出制御を停止する状態に制御することができる。
【０３４５】
また、ステップＳ８２９の処理を実行した後や、ステップＳ８３０にて払出動作にエラーが発生していないとき（ステップＳ８３０；Ｙｅｓ）、あるいはステップＳ８３４にて払出完了待ち時間が経過していないときには（ステップＳ８３４；Ｎｏ）、賞球未払出カウンタの値と前回未払出カウンタの値とを比較する（図５６に示すステップＳ８４１）。続いて、ステップＳ８４１での比較結果に基づき、賞球未払出カウンタの値が増加したか否かの判定を行う（ステップＳ８４２）。例えば、ステップＳ８４２の処理では、ステップＳ８４１での比較結果から賞球未払出カウンタの値が前回未払出カウンタの値よりも大きい値であると判断されたときに、賞球未払出カウンタの値が増加した旨の判定がなされる。ステップＳ８４２にて賞球未払出カウンタの値が増加していないときには（ステップＳ８４２；Ｎｏ）、賞球払出駆動処理を終了する。
【０３４６】
ステップＳ８４２にて賞球未払出カウンタの値が増加した旨の判定がなされたときには（ステップＳ８４２；Ｙｅｓ）、賞球未払出カウンタの値から前回未払出カウンタの値を減算する（ステップＳ８４３）。このステップＳ８４３における減算処理を実行することにより得られた減算値は、賞球未払出カウンタの値における増加分であり、賞球として払い出すべき遊技球の個数を示す未払出数における増加分となる。そして、ステップＳ８４３での減算処理により得られた減算値を払出モータ回転カウンタにおけるカウント値に加算して（ステップＳ８４４）、払出モータ回転カウンタにおけるカウント値を更新する。この後、賞球未払出カウンタの値を前回未払出カウンタにセットするとともに（ステップＳ８４５）、払出動作制御タイマをクリアして初期化を行った後に（ステップＳ８４６）、賞球払出駆動処理を終了する。
【０３４７】
図５７は、図５０に示すステップＳ６６４にて実行される球貸し払出動作処理の一例を示すフローチャートである。この球貸し払出動作処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、例えばＣＰＵ２１４が図４７に示すステップＳ５３１における入出力処理の実行結果に基づき、払出カウントスイッチ７２からの検出信号がオン状態となっているか否かを判定する（ステップＳ７６１）。そして、払出カウントスイッチ７２からの検出信号がオン状態であるときには（ステップＳ７６１；Ｙｅｓ）、払出制御カウンタ設定部１４３に設けられた払出個数カウンタの値を１加算する（ステップＳ７６２）。これに対して、ステップＳ７６１にて払出カウントスイッチ７２からの検出信号がオフ状態であるときには（ステップＳ７６１；Ｎｏ）、ステップＳ７６２の処理をスキップする。この後、払出制御フラグ設定部１４１に設けられた球貸し動作プロセスフラグの値に応じて、図５７に示すステップＳ７６３、Ｓ７６４の処理のいずれかを選択して実行する。ここで、ステップＳ７６３の球貸し払出回数算出処理は、球貸し動作プロセスフラグの値が“０”のときに実行される。ステップＳ７６４の球貸し払出駆動処理は、球貸し動作プロセスフラグの値が“１”のときに実行される。
【０３４８】
図５８は、図５７に示すステップＳ７６３にて実行される球貸し払出回数算出処理の一例を示すフローチャートである。この球貸し払出回数算出処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、球貸し未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ８６１）。ここで、ステップＳ８６１にて球貸し未払出カウンタの値が払出個数カウンタの値と等しいか、それよりも小さな値となっているときには（ステップＳ８６１；Ｎｏ）、球貸し未払出カウンタの値に対応した遊技球の払出動作が完了したと判断される。このときには、払出動作不良回数カウンタをクリアしてカウント値を初期化するとともに（ステップＳ８６２）、球貸し未払出カウンタをクリアしてカウント値を初期化する（ステップＳ８６３）。
【０３４９】
他方、ステップＳ８６１にて球貸し未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているときには（ステップＳ８６１；Ｙｅｓ）、球貸し未払出カウンタによってカウントされている遊技球個数のうちに、未だ払出動作が完了していないものが含まれていると判断される。そこで、球貸し未払出カウンタの値である未払出数から、払出個数カウンタの値である払出個数を減算することにより、未だ払出動作が完了していない遊技球の個数を特定する（ステップＳ８６４）。続いて、ステップＳ８６４での減算処理により特定された値としての減算値を、払出モータ回転カウンタにセットする（ステップＳ８６５）。
【０３５０】
ステップＳ８６５の処理に続いて、払出動作不良回数カウンタの値が所定の不良回数上限値（例えば「９」）を超えているか否かを判定する（ステップＳ８６６）。このとき、不良回数上限値を超えていれば（ステップＳ８６６；Ｙｅｓ）、球詰まりエラーフラグをオン状態にセットするとともに（ステップＳ８６７）、払出動作不良回数カウンタをクリアしてカウント値を初期化する（ステップＳ８６８）。他方、ステップＳ８６６にて不良回数上限値以下であるときには（ステップＳ８６６；Ｎｏ）、貸し球となる遊技球の払出動作が可能な状態となっているか否かを判定する（ステップＳ８６９）。具体的な一例として、ステップＳ８６９の処理では、球詰まりエラーフラグや空切りエラーフラグ、球噛みエラーフラグ、カードユニット未接続エラーフラグなどをチェックして、いずれかのエラーフラグがオン状態となっているときには、貸し球となる遊技球の払出動作が不可能な状態であると判断する。また、主基板１１から満タン状態であることを通知する所定コマンド（例えば満タン通知コマンドなど）や球切れ状態であることを通知する所定コマンド（例えば球切れ通知コマンドなど）を受信したときにも、貸し球となる遊技球の払出動作が不可能な状態であると判断する。他方、いずれのエラーフラグもオフ状態となっており、かつ、主基板１１から満タン通知コマンドや球切れ通知コマンドなどを受信していないときには、貸し球となる遊技球の払出動作が可能な状態であると判断する。
【０３５１】
ステップＳ８６３の処理を実行した後や、ステップＳ８６９にて払出動作が不可能な状態であるときには（ステップＳ８６９；Ｎｏ）、払出制御プロセスフラグの値を“０”に更新するとともに（ステップＳ８７０）、払出個数カウンタをクリアしてカウント値を初期化する（ステップＳ８７１）。また、払出モータ回転カウンタをクリアしてカウント値を初期化する（ステップＳ８７２）。これに対して、ステップＳ８６９にて払出動作が可能な状態であるときには（ステップＳ８６９；Ｙｅｓ）、ステップＳ８６４にて得られた減算値を賞球未払出カウンタにセットすることにより、球貸し未払出カウンタの値を更新する（ステップＳ８７３）。そして、球貸し動作プロセスフラグの値を球貸し払出駆動処理に対応した値である“１”に更新する（ステップＳ８７４）。
【０３５２】
図５９は、図５７に示すステップＳ７６４にて実行される球貸し払出駆動処理の一例を示すフローチャートである。この球貸し払出駆動処理を開始すると、払出制御用マイクロコンピュータ１５０では、まず、球貸し未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているか否かを、例えばＣＰＵ２１４が判定する（ステップＳ８８１）。ここで、ステップＳ８８１にて球貸し未払出カウンタの値が払出個数カウンタの値よりも大きな値となっているときには（ステップＳ８８１；Ｙｅｓ）、貸し球となる遊技球の正常な払出動作が行われていると判断される。このときには、例えば払出制御タイマ設定部１４２に設けられた払出動作制御タイマによる経過時間の計測が行われているか否か（タイマ値が「０」以外であるか否か）を判定することなどにより、球貸しにおける払出動作の完了を待機中であるか否かを判定する（ステップＳ８８２）。
【０３５３】
ステップＳ８８２にて払出動作の待機中ではない旨の判定がなされたときには（ステップＳ８８２；Ｎｏ）、例えば払出モータ５１の励磁時間あるいは払出モータ位置センサ７１による検出結果などから、貸し球となる遊技球を１個分払い出すための払出動作中であるか否かを判定する（ステップＳ８８３）。そして、遊技球を１個分払い出すための払出動作中ではないときには（ステップＳ８８３；Ｎｏ）、払出モータ回転カウンタの値が「０」であるか否かを判定する（ステップＳ８８４）。ステップＳ８８４にて払出モータ回転カウンタの値が「０」であるときには（ステップＳ８８４；Ｙｅｓ）、払出モータ５１の駆動を停止するための設定を行うとともに（ステップＳ８８５）、払出動作制御タイマに払出完了待ち初期値として予め定められたタイマ初期値をセットして（ステップＳ８８６）、球貸し払出駆動処理を終了する。
【０３５４】
ステップＳ８８４にて払出モータ回転カウンタの値が「０」以外の値であるときには（ステップＳ８８４；Ｎｏ）、例えば所定の励磁パターンテーブルの先頭アドレスをポインタに設定するなどといった、遊技球を１個分払い出すための払出動作に関する設定を行う（ステップＳ８８７）。このときには、払出モータ回数カウンタの値を１減算することにより更新してから（ステップＳ８８８）、球貸し払出駆動処理を終了する。
【０３５５】
また、ステップＳ８８３にて遊技球を１個分払い出すための払出動作中であるときには（ステップＳ８８３；Ｙｅｓ）、例えば払出制御フラグ設定部１４１に設けられた各種のエラーフラグの状態を確認することなどにより、払出モータ５１による払出動作にエラーが発生したかどうかをチェックする（ステップＳ８８９）。このとき、払出動作にエラーが発生していれば（ステップＳ８８９；Ｎｏ）、例えばステップＳ８８５と同様にして払出モータ５１の駆動を停止するための設定を行うなど、払出モータ５１による払出動作中に発生したエラーに対応した設定を行う（ステップＳ８９０）。他方、ステップＳ８８９にて払出動作にエラーが発生していないと判定されたときには（ステップＳ８８９；Ｙｅｓ）、ステップＳ８９０の処理をスキップして球貸し払出駆動処理を終了する。
【０３５６】
ステップＳ８８２にて球貸しにおける払出動作の完了を待機中である旨の判定がなされたときには（ステップＳ８８２；Ｙｅｓ）、払出動作制御タイマの値を、例えば１減算するなどして更新する（ステップＳ８９１）。続いて、払出個数カウンタの値が球貸し未払出カウンタの値に達しているか否かを判定する（ステップＳ８９２）。このとき、払出個数カウンタの値が球貸し未払出カウンタの値に達していれば（ステップＳ８９２；Ｙｅｓ）、払い出すべき貸し球としての遊技球の払出が正常に完了したと判断して、球貸し動作プロセスフラグの値を“０”に更新した後（ステップＳ８９３）、球貸し払出駆動処理を終了する。他方、ステップＳ８９２にて払出個数カウンタの値が球貸し未払出カウンタの値に達していなければ（ステップＳ８９２；Ｎｏ）、例えばステップＳ８９１での更新により払出動作制御タイマがタイムアウトしたか否かを判定することなどにより、払出完了待ち時間が経過したか否かを判定する（ステップＳ８９４）。このとき、払出完了待ち時間が経過していなければ（ステップＳ８９４；Ｎｏ）、球貸し払出駆動処理を終了する。これに対して、ステップＳ８９４にて払出完了待ち時間が経過しているときには（ステップＳ８９４；Ｙｅｓ）、払出モータ５１を駆動することにより既に払い出された遊技球として払出個数カウンタでカウントされた遊技球の個数が、払い出すべき貸し球として球貸し未払出カウンタでカウントされた遊技球の個数に達するより以前に、球貸しにおける払出動作の完了を待機する待ち時間が経過したと判断される。このときには、払出動作不良回数カウンタの値を１加算して更新した後（ステップＳ８９５）、ステップＳ８９３の処理に進んで、球貸し動作プロセスフラグの値を“０”に更新する。
【０３５７】
ステップＳ８８１にて球貸し未払出カウンタの値が払出個数カウンタの値と等しいか、それよりも小さな値となっているときには（ステップＳ８８１；Ｎｏ）、ステップＳ８８５と同様にして払出モータ５１の駆動を停止するための設定を行うとともに（ステップＳ８９６）、球貸し動作プロセスフラグの値を“０”に更新する（ステップＳ８９７）。
【０３５８】
図４７に示すステップＳ５３６にて実行される７セグ表示処理では、例えば払出制御用マイクロコンピュータ１５０に設けられたＣＰＵ２１４が払出制御フラグ設定部１４１に設けられた各種のエラーフラグの状態をチェックする。そして、オン状態となっているエラーフラグに対応してエラー表示用ＬＥＤ７４の点灯動作を制御するための制御データを、払出制御用マイクロコンピュータ１５０に設けられた所定の出力ポートにセットする。図６０は、エラーの種類とエラー表示用ＬＥＤ７４の表示との関係などを示す説明図である。
【０３５９】
図６０に示すように、主基板通信エラーフラグがオン状態になった場合には、払出制御用マイクロコンピュータ１５０は、主基板通信エラーとして、エラー表示用ＬＥＤ７４に「０」を表示する制御を行う。球噛みエラーフラグがオン状態になった場合には、球噛みエラーとして、エラー表示用ＬＥＤ７４に「１」を表示する制御を行う。空切りエラーフラグがオン状態になった場合には、空切りエラーとして、エラー表示用ＬＥＤ７４に「２」を表示する制御を行う。シリアル通信エラーフラグがオン状態になった場合には、シリアル通信エラーとして、エラー表示用ＬＥＤ７４に「３」を表示する制御を行う。球詰まりエラーフラグがオン状態になった場合には、球詰まりエラーとして、エラー表示用ＬＥＤ７４に「４」を表示する制御を行う。カードユニット未接続エラーフラグがオン状態になった場合には、カードユニット未接続エラーとして、エラー表示用ＬＥＤ７４に「５」を表示する制御を行う。多量未払出エラーフラグがオン状態になった場合には、多量未払出エラーとして、エラー表示用ＬＥＤ７４に「６」を表示する制御を行う。
【０３６０】
次に、演出制御基板１２における動作を説明する。演出制御基板１２では、電源基板１０からの電力供給が開始され演出制御用マイクロコンピュータ１２０へのリセット信号がハイレベル（オフ状態）になったことに応じて、演出制御用マイクロコンピュータ１２０が起動し、図６１のフローチャートに示すような演出制御メイン処理が実行される。図６１に示す演出制御メイン処理を開始すると、演出制御用マイクロコンピュータ１２０では、まず、ＲＡＭ１２２のクリアや各種初期値の設定、また演出制御の実行間隔を決めるためのタイマ初期設定等を行う初期化処理を実行する（ステップＳ９０１）。その後、演出制御用マイクロコンピュータ１２０は、例えばタイマ割込みフラグを監視することなどにより、タイマ割込みが発生したか否かを判定する（ステップＳ９０２）。そして、タイマ割込みが発生するまでは（ステップＳ９０２；Ｎｏ）、ステップＳ９０２の処理を繰り返し実行するループ処理に入る。タイマ割込みが発生したときには（ステップＳ９０２；Ｙｅｓ）、タイマ割込みフラグをクリアしてオフ状態とした後（ステップＳ９０３）、以下のような演出制御処理を実行する。
【０３６１】
ここで、演出制御用マイクロコンピュータ１２０におけるタイマ割込みは、例えば２ミリ秒ごとに発生する。すなわち、演出制御処理は、例えば２ミリ秒ごとに実行される。この実施の形態では、タイマ割込みの発生に応答して所定のタイマ割込み処理が実行されることにより、タイマ割込みフラグがオン状態にセットされ、具体的な演出制御処理は演出制御メイン処理内において実行される。これに対して、タイマ割込み処理内において演出制御処理が実行されるようにしてもよい。
【０３６２】
演出制御処理において、演出制御用マイクロコンピュータ１２０では、まず、例えばＣＰＵ１２３が主基板１１から中継基板１８を介して受信した演出制御コマンドを解析するための演出コマンド解析処理を実行する（ステップＳ９０４）。続いて、演出制御用マイクロコンピュータ１２０では、例えばＣＰＵ１２３が演出制御プロセス処理を実行する（ステップＳ９０５）。演出制御プロセス処理では、演出用の電気部品となる画像表示装置５やスピーカ８Ｌ、８Ｒ、遊技効果ランプ９などの制御状態に応じて、各種の処理が選択されて実行される。この後、演出制御用マイクロコンピュータ１２０においてカウントされる各種の乱数を更新するための乱数更新処理が実行される（ステップＳ９０６）。さらに、主基板１１からの演出制御コマンドによる報知指示などに基づく報知動作を制御するための報知処理を実行する（ステップＳ９０７）。
【０３６３】
図６２は、図６１に示すステップＳ９０５にて実行される演出制御プロセス処理の一例を示すフローチャートである。この演出制御プロセス処理において、演出制御用マイクロコンピュータ１２０では、例えばＣＰＵ１２３がＲＡＭ１２２の所定領域（演出制御フラグ設定領域など）に設けられた演出制御プロセスフラグの値に応じて、以下のようなステップＳ９２０〜Ｓ９２５の各処理を実行する。
【０３６４】
ステップＳ９２０の可変表示開始コマンド受信待ち処理は、演出制御プロセスフラグの値が“０”のときに実行される。この可変表示開始コマンド受信待ち処理において、演出制御用マイクロコンピュータ１２０では、例えばＣＰＵ１２３が主基板１１から送信された可変表示開始コマンドを受信したか否かを判定する。そして、可変表示開始コマンドを受信していないときには、デモ表示コマンドを受信したか否かを判定する。このとき、デモ表示コマンドを受信していれば、そのデモ表示コマンドを受信してから所定時間が経過したときに、画像表示装置５の表示動作を制御して所定のデモ表示を行わせる。また、可変表示開始コマンド受信待ち処理にて可変表示開始コマンドを受信した旨の判定がなされたときには、画像表示装置５におけるデモ表示を終了させるとともに、演出制御プロセスフラグの値を“１”に更新する。
【０３６５】
ステップＳ９２１の演出表示制御設定処理は、演出制御プロセスフラグの値が“１”のときに実行される。この演出表示制御設定処理は、特別図柄表示装置４による特図ゲームにて特別図柄が変動表示されることに対応して、画像表示装置５における飾り図柄の可変表示を含めた各種の表示による演出を行うために、画像表示装置５の表示動作を設定するための処理を含んでいる。具体的な一例として、ステップＳ９２１の演出表示制御設定処理では、まず、主基板１１からの可変表示開始コマンドにより指定された可変表示パターンが大当りパターンであるか否かを判定し、大当りパターンではないと判定されたときには、リーチハズレパターンであるか否かを判定する。そして、リーチハズレパターンではないと判定されたときには、通常ハズレパターンが指定されたものと判断して、通常ハズレ組合せとなる確定飾り図柄を決定するための通常ハズレ図柄決定処理を実行する。また、可変表示開始コマンドにより指定された可変表示パターンがリーチハズレパターンであるときには、リーチハズレ組合せとなる確定飾り図柄を決定するためのリーチハズレ図柄決定処理を実行する。
【０３６６】
さらに、可変表示開始コマンドにより指定された可変表示パターンが大当りパターンであるときには、大当り組合せとなる確定飾り図柄を決定するための大当り図柄決定処理を実行する。このときには、例えばＣＰＵ１２３が主基板１１から送信された表示結果通知コマンドを読み取ることなどにより、遊技状態が高確率状態となる確変大当りであるか、高確率状態にはならない通常大当りであるかを判定する。そして、確変大当りであると判定したときには、例えば図柄番号が奇数である確変図柄としての飾り図柄「１」、「３」、「５」、「７」または「９」のうちで、同一の確変図柄を、画像表示装置５における飾り図柄の可変表示における表示結果として「左」、「中」、「右」の各可変表示部にて導出表示する確定飾り図柄に決定する。他方、通常大当りであると判定したときには、例えば図柄番号が偶数である通常図柄としての飾り図柄「０」、「２」、「４」、「６」または「８」のうちで、同一の通常図柄を、画像表示装置５における飾り図柄の可変表示における表示結果として「左」、「中」、「右」の各可変表示部にて導出表示する確定飾り図柄に決定する。
【０３６７】
これらの処理を実行することにより確定飾り図柄を決定した後、演出表示制御設定処理では、可変表示開始コマンドにより指定された可変表示パターンに対応する図柄表示制御パターンを決定し、その図柄表示制御パターンに対応した描画コマンドをＶＤＰに送出するなどして、飾り図柄の可変表示を開始するための設定を行う。このときには、図柄表示制御パターンに対応して飾り図柄の可変表示時間を計測するためのタイマ設定なども行われる。この後、演出制御プロセスフラグの値を“２”に更新して、演出表示制御設定処理を終了する。
【０３６８】
ステップＳ９２２の飾り図柄可変表示処理は、演出制御プロセスフラグの値が“２”のときに実行される。この飾り図柄可変表示処理では、例えば飾り図柄の可変表示を開始してからの経過時間に応じて図柄表示制御パターンにおける読出位置を切り替え、その読出位置から読み出された表示制御データに対応する描画コマンドをＶＤＰに送出するなどして、画像表示装置５における表示動作の制御を行う。そして、飾り図柄の可変表示を終了するタイミングに達すると、大当り開始コマンド受信待ち時間の設定を行うとともに、演出制御プロセスフラグの値を“３”に更新する。
【０３６９】
ステップＳ９２３の飾り図柄停止時処理は、演出制御プロセスフラグの値が“３”のときに実行される。この飾り図柄停止時処理では、主基板１１から送信された大当り開始コマンドの受信があったか否かを判定する。そして、大当り開始コマンドを受信せずに大当り開始コマンド受信待ち時間が経過したときには、飾り図柄の可変表示結果がハズレであると判断して、演出制御プロセスフラグの値を“０”に更新する。また、飾り図柄停止時処理にて大当り開始コマンドを受信した旨の判定がなされたときには、飾り図柄の可変表示結果が大当りであると判断して、演出制御プロセスフラグの値を“４”に更新する。
【０３７０】
ステップＳ９２４の大当り演出処理は、演出制御プロセスフラグの値が“４”のときに実行される。この大当り演出処理では、画像表示装置５における表示動作を制御することにより、大当り遊技状態に応じた画像を表示する制御を行う。そして、主基板１１からの大当り終了コマンドを受信したか否かの判定を行い、受信した旨の判定がなされたときには、演出制御プロセスフラグの値を“５”に更新する。
【０３７１】
ステップＳ９２５の大当り終了演出処理は、演出制御プロセスフラグの値が“５”のときに実行される。この大当り終了演出処理は、画像表示装置５にて大当り遊技状態が終了した旨を報知する演出表示などを実行するための制御を行う処理を含んでいる。その後、各種の演出表示が終了したときには、演出制御プロセスフラグの値を“０”に更新する。
【０３７２】
図６３は、図６１に示すステップＳ９０７にて実行される報知処理の一例を示すフローチャートである。この報知処理を開始すると、演出制御用マイクロコンピュータ１２０では、まず、賞球過多または賞球不足の報知を行っているか否かを、例えばＣＰＵ１２３がＲＡＭ１２２の所定領域などに設けられた報知タイマの値をチェックすることなどにより判定する（ステップＳ９４１）。ここで、報知タイマは、賞球過多または賞球不足の報知を開始してから、その報知を終了するまでの経過時間を計測するために用いられるタイマであればよい。そして、ステップＳ９４１にて報知タイマがタイムアウトしているときには賞球過多または賞球不足の報知が行われていないと判定する一方、報知タイマがタイムアウトしていないときには賞球過多または賞球不足の報知が行われていると判定すればよい。ステップＳ９４１にて賞球過多または賞球不足の報知を行っている旨の判定がなされたときには（ステップＳ９４１；Ｙｅｓ）、報知タイマにおけるタイマ値を、例えば１減算するなどして更新する（ステップＳ９４２）。そして、ステップＳ９４２にて更新された報知タイマの値に基づき、賞球過多または賞球不足の報知を終了するタイミングに達したか否かを判定する（ステップＳ９４３）。このとき、報知を終了するタイミングに達していなければ（ステップＳ９４３；Ｎｏ）、報知処理を終了する。他方、ステップＳ９４３にて報知を終了するタイミングに達していれば（ステップＳ９４３；Ｙｅｓ）、例えば画像表示装置５における表示動作を初期化する設定などといった、賞球過多または賞球不足の報知を終了するための設定を行う（ステップＳ９４４）。
【０３７３】
ステップＳ９４１にて賞球過多または賞球不足の報知を行っていない旨の判定がなされたときや（ステップＳ９４１；Ｎｏ）、ステップＳ９４４の処理を実行した後には、主基板１１からの賞球過多コマンドを受信したか否かを判定する（ステップＳ９４５）。そして、賞球過多コマンドを受信したときには（ステップＳ９４５；Ｙｅｓ）、図６４（Ａ）に例示するような賞球過多報知画面となる画像を画像表示装置５に表示させることにより賞球過多の報知を開始するための設定を行う（ステップＳ９４６）。このときには、報知タイマに、賞球過多の報知に対応した報知時間を示すタイマ初期値を設定する（ステップＳ９４７）。
【０３７４】
また、ステップＳ９４５にて賞球過多コマンドを受信していないときには（ステップＳ９４５；Ｎｏ）、主基板１１からの賞球不足コマンドを受信したか否かを判定する（ステップＳ９４８）。そして、賞球不足コマンドを受信したときには（ステップＳ９４８；Ｙｅｓ）、図６４（Ｂ）に例示するような賞球不足報知画面となる画像を画像表示装置５に表示させることにより賞球不足の報知を開始するための設定を行う（ステップＳ９４９）。このときには、報知タイマに、賞球不足の報知に対応した報知時間を示すタイマ初期値を設定する（ステップＳ９５０）。ステップＳ９４８にて賞球不足コマンドを受信していないときには（ステップＳ９４８；Ｎｏ）、満タンの報知を行っているか否かを、例えばＣＰＵ１２３が所定の満タン報知中フラグをチェックすることなどにより、判定する（ステップＳ９５１）。このとき、満タンの報知を行っていれば（ステップＳ９５１；Ｙｅｓ）、主基板１１からの満タン報知終了コマンドを受信したか否かを判定する（ステップＳ９５２）。そして、満タン報知終了コマンドを受信していなければ（ステップＳ９５２；Ｎｏ）、報知処理を終了する。他方、ステップＳ９５２にて満タン報知終了コマンドを受信したときには（ステップＳ９５２；Ｙｅｓ）、例えば画像表示装置５における表示動作を初期化する設定などといった、下皿３３が満タンである旨の報知を終了させるための設定を行う（ステップＳ９５３）。
【０３７５】
ステップＳ９５１にて満タンの報知を行っていない旨の判定がなされたときや（ステップＳ９５１；Ｎｏ）、ステップＳ９５３の処理を実行した後には、主基板１１からの満タン報知開始コマンドを受信したか否かを判定する（ステップＳ９５４）。このとき、満タン報知開始コマンドを受信していなければ（ステップＳ９５４；Ｎｏ）、報知処理を終了する。他方、満タン報知開始コマンドを受信したときには（ステップＳ９５４；Ｙｅｓ）、図６４（Ｃ）に例示するような満タン報知画面となる画像を画像表示装置５に表示させるための設定を行う（ステップＳ９５５）。
【０３７６】
次に、遊技制御用マイクロコンピュータ１００が備える乱数回路１０３の具体的な動作例について説明する。図６５は、乱数回路１０３の動作を説明するためのタイミングチャートである。乱数回路１０３に設けられたクロック信号出力回路１７１のクロック入力端子やタイマ回路１７９のクロック入力端子には、図６５（Ａ）に示すような内部システムクロックＣＬＫが入力される。内部システムクロックＣＬＫは、遊技制御用マイクロコンピュータ１００が備えるクロック回路１０１にて生成されたものであればよい。図６５（Ａ）に示すように、内部システムクロックＣＬＫは、タイミングＴ１１、Ｔ２１、…においてローレベルからハイレベルに立上がるクロック信号である。
【０３７７】
クロック信号出力回路１７１は、内部システムクロックＣＬＫを分周して、例えばタイミングＴ１１、Ｔ１２、…においてローレベルからハイレベルに立上がり、タイミングＴ２１、Ｔ２２、…においてハイレベルからローレベルに立下がる、図６５（Ｂ）に示すクロック信号Ｓ１を生成する。なお、図６５に示す動作例では、説明のために、クロック信号出力回路１７１が内部システムクロックＣＬＫを２分周してクロック信号Ｓ１を生成する場合を示している。しかしながら、実際には、１６ビット乱数を更新する周期として、内部システムクロックＣＬＫの周期と内部システムクロックＣＬＫの１６倍の周期のいずれかを設定することとしている。したがって、クロック信号出力回路１７１は、内部システムクロックＣＬＫをそのままクロック信号Ｓ１として出力する場合と、内部システムクロックＣＬＫを１６分周した信号をクロック信号Ｓ１として出力する場合とを、切り替えることができればよい。クロック信号出力回路１７１から出力されたクロック信号Ｓ１は、１６ビット乱数の生成用に設けられた乱数生成回路１７３Ｂと反転回路１７８とに入力される。
【０３７８】
乱数生成回路１７３Ｂは、そのクロック入力端子に入力されるクロック信号Ｓ１の立上がりエッジに応答して数値データＣ２を更新し、その数値データＣ２を乱数列変更回路１７６Ｂに出力する。反転回路１７８は、クロック信号出力回路１７１から出力されたクロック信号Ｓ１の信号レベルを反転させることにより、例えばタイミングＴ１１、Ｔ１２、…においてハイレベルからローレベルに立下がり、タイミングＴ２１、Ｔ２２、…においてローレベルからハイレベルに立上がる、図６５（Ｃ）に示すような反転クロック信号Ｓ２を生成する。反転回路１７８によって生成された反転クロック信号Ｓ２は、反転回路１７８から出力されてラッチ信号生成回路１８０に入力される。
【０３７９】
図６５（Ｄ）に示す始動入賞信号ＳＳがタイマ回路１７９に入力されたときには、その立上がりエッジからの経過時間が所定時間（例えば３ミリ秒）に達すると、タイマ回路１７９からの出力信号がローレベルからハイレベルに立上がる。このタイマ回路１７９からの出力信号は、ラッチ信号生成回路１８０に入力され、反転クロック信号Ｓ２の立上がりエッジと同期して、図６５（Ｅ）に示すようなラッチ信号ＳＬとして出力される。これにより、乱数生成回路１７３ＢはタイミングＴ１１、Ｔ１２、…において数値データＣ１を更新する一方、ラッチ信号生成回路１８０はタイミングＴ１１、Ｔ１２、…とは異なるタイミングＴ２２において立上がるラッチ信号ＳＬを出力することができる。ここで、乱数列変更回路１７６Ｂが乱数生成回路１７３Ｂから出力された数値データＣ２の並びを変更する動作と、最大値比較回路１７７Ｂが乱数列変更回路１７６Ｂから出力された乱数値となる数値データＲ２を所定の最大値と比較して最大値以下の値となるまで再設定を繰り返す動作とを、内部システムクロックＣＬＫの周期に比べて十分に短い期間内に行うことで、最大値比較回路１７７Ｂから乱数値レジスタ１８１Ｂには、クロック信号Ｓ１の立上がりエッジから十分に短い経過時間内に、更新後の乱数値となる数値データＲ２が出力されることになる。そして、ラッチ信号ＳＬが反転クロック信号Ｓ２と同期してローレベルからハイレベルに立上がることで、更新後の乱数値となる数値データＲ２の取得を確実かつ安定的に行うことが可能になる。
【０３８０】
以上説明したように、上記実施の形態におけるパチンコ遊技機１では、パチンコ遊技機１への電力供給が開始されたときに、例えば図２７に示すステップＳ２１で遊技制御用マイクロコンピュータ１００が備えるＣＰＵ１０４によってＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第４及び第３ビット［ビット４−３］を読出し、その読出値に基づいてステップＳ２２の処理を実行して乱数回路１０３に乱数を発生させるための設定を行う。その後、ＣＰＵ１０４がステップＳ２５の処理を実行することなどによって、遊技制御用マイクロコンピュータ１００が割込許可状態に設定される。そして、ステップＳ２２にて実行される処理としては、図２９に示すような１２ビット乱数初期設定処理や図３０に示す１６ビット乱数初期設定処理がある。図２９に示す１２ビット乱数初期設定処理では、ＣＰＵ１０４がステップＳ１０１でＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第７ビット［ビット７］を読出し、その読出値が“１”であるときに、ステップＳ１０４の処理を実行することにより乱数回路１０３において１２ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する。また、図３０に示す１６ビット乱数初期設定処理では、ＣＰＵ１０４がステップＳ１２３でＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第４ビット［ビット４］を読出し、その読出値が“１”であるときに、ステップＳ１２６の処理を実行することにより乱数回路１０３において１６ビット乱数を生成するための１周目のスタート値を、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報であるＩＤナンバーに基づいて決定する。これにより、電力供給が開始された後に更新が開始される乱数の初期値を複数のパチンコ遊技機１でそれぞれ異ならせることができ、このようにして生成される乱数値を用いて特別図柄表示装置４による特図ゲームなどにおける可変表示結果を大当りとするか否かの判定を行うことで、乱数のランダム性を高めて不正に大当りが発生させられてしまうことを防止できる。
【０３８１】
図４８に示すステップＳ６０８では、払出数指定コマンドによって指定された賞球の払出数が賞球未払出カウンタの値に加算され、図５４に示すステップＳ８１４では、ステップＳ８０５における減算処理により得られた減算値が賞球未払出カウンタにセットされることで、賞球未払出カウンタには賞球として払い出すべき遊技球の個数となる未払出数が記憶される。他方、図５４に示すステップＳ８０６では、ステップＳ８０５における減算処理により得られた減算値が払出モータ回転カウンタにセットされ、図５６に示すステップＳ８４４では、ステップＳ８４３における減算処理により得られた減算値が払出モータ回転カウンタにセットされることで、賞球未払出カウンタに未払出数が記憶されたことに対応して払出モータ５１の駆動量となる払出動作量が払出モータ回転カウンタに記憶される。そして、払出モータ回転カウンタの値は図５５に示すステップＳ８２９の処理が実行されるごとに１減算されて、ステップＳ８２５にて払出モータ回転カウンタの値が「０」である旨の判定がなされるまでは、ステップＳ８２８の処理で遊技球を１個分払い出すための設定が行われることから、払出モータ５１により賞球となる遊技球の払出を開始させた後には、ステップＳ８２５にて払出モータ回転カウンタの値が「０」である旨の判定がなされるまで、連続して払出モータ５１に遊技球の払出動作を実行させる連続払出が行われることになる。ここで、図５６に示すステップＳ８４２にて賞球未払出カウンタの値が増加した旨の判定がなされたときには、ステップＳ８４３の減算処理を実行することにより特定された未払出数における増加分を、ステップＳ８４４にて払出モータ回転カウンタの値に加算することで、払出モータ５１による払出動作の実行中に受信した払出数指定コマンドで示された遊技球の払出数に対応した払出モータ５１の駆動量を払出モータ回転カウンタの値に加算するように設定して、その後にステップＳ８２５にて払出モータ回転カウンタの値が「０」である旨の判定がなされるまで、連続して払出モータ５１に遊技球の払出動作を実行させる。これにより、払出モータ５１による払出動作の実行中に受信した払出数指定コマンドで示された遊技球の払出数も含めて賞球の連続した払出動作が可能となり、賞球となる遊技球を迅速に払い出すことができる。
【０３８２】
図５５に示すステップＳ８２５にて払出モータ回転カウンタの値が「０」である旨の判定がなされたときには、ステップＳ８２６での設定により、払出モータ５１による払出動作が停止される。その一方で、賞球未払出カウンタの値は、払出個数カウンタの値に基づき、図５４に示すステップＳ８０４の処理が実行されたときにクリアされたり、ステップＳ８１４の処理が実行されたときにステップＳ８０５で得られた減算値に更新されたりする。このときには、払出モータ５１による払出動作が停止していることから、賞球となる遊技球が過剰に払い出されることを防止できる。そして、ステップＳ８０６の処理では、ステップＳ８０５にて賞球未払出カウンタの値から払出個数カウンタの値を減算して得られた減算値がセットされることから、未払出の賞球があるときには払出モータ５１による払出動作を再開させることができ、賞球の払出数が不足することも防止できる。このようにして、賞球の払出制御における確実性を向上させることができる。
【０３８３】
図５６に示すステップＳ８４１では、賞球未払出カウンタの値と前回未払出カウンタの値とを比較し、その比較結果に基づいて、ステップＳ８４２では賞球未払出カウンタの値が増加したか否かの判定を行う。ここで、前回未払出カウンタの値は、例えば図５４に示すステップＳ８０６の処理に続いてステップＳ８１５の処理が実行されたときや、図５６に示すステップＳ８４４の処理に続いてステップＳ８４５の処理が実行されたときのように、払出モータ回転カウンタに払出モータ５１の駆動量を示すカウント値が記憶されたときに、賞球未払出カウンタの値と同一の値となるように設定される。そして、図５６に示すステップＳ８４２にて賞球未払出カウンタの値が増加した旨の判定がなされたときには、ステップＳ８４３にて賞球未払出カウンタの値から前回未払出カウンタの値を減算することにより、賞球未払出カウンタの値における増加分を特定する。このように、賞球未払出カウンタとは別に前回未払出カウンタを設けるだけで、払出モータ５１による払出動作の実行中に賞球未払出カウンタの値が増加したか否かの判定や、賞球未払出カウンタの値が増加した場合における増加分の特定が可能となり、簡単な構成と単純な動作で賞球となる遊技球の未払出数における増加分を確実に特定することができる。
【０３８４】
図５５に示すステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した旨の判定がなされることにより、賞球となる遊技球の払出が完了したときには、ステップＳ８３７にて前回未払出カウンタの値がクリアされる。これにより、図５６に示すステップＳ８４２の判定処理を実行するときや、ステップＳ８４３の減算処理を実行するときに、前回未払出カウンタに不適切な過去の数値が記憶されていることがないようにして、賞球となる遊技球の払出における誤動作を確実に防止することができる。
【０３８５】
主基板１１に搭載された遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図３２に示すステップＳ２０１、Ｓ２０２の処理を実行し、タッチセンサ７５からのタッチセンサ検出信号がオン状態であり、かつ、満タンスイッチ２６からの検出信号がオフ状態であるときに、図３２に示すステップＳ２０６、Ｓ２０７や図３３に示すステップＳ２２２、Ｓ２２５の処理を実行可能とすることで、発射装置１９による遊技球の発射や球送り装置６２による発射装置１９への遊技球の供給を可能にする。このような構成により、遊技者等が操作ノブ３０に接触していること、及び、下皿３３が満タン状態ではないことを条件に、遊技球の発射を許可する許可信号を出力することができる。他方、遊技者等が操作ノブ３０に接触していないときや、下皿３３が満タン状態であるときには、遊技球の発射が許可されないので、例えば操作ノブ３０の回転部と支持部との隙間にコイン等の異物を挿入させて操作ノブ３０を固定することで操作ノブ３０を遊技者自身が操作せずに遊技球を発射させるといった不正行為により遊技球が発射されることや、遊技球が下皿３３の許容量を超えて払い出されてしまうことを防止できる。
【０３８６】
球送り装置６２は、主基板１１からの供給許可信号がオン状態であるときに駆動されて、上皿３２に貯留された遊技球を発射装置１９に供給する。そして、主基板１１に搭載された遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図３３に示すステップＳ２２５の処理を実行することで、球送り装置６２に対してオン状態の供給許可信号を出力させる。これにより、発射装置１９に遊技球を供給する球送り装置６２の制御により遊技球の発射を停止させることができ、発射装置１９の駆動を制御する場合に比べて遊技制御用マイクロコンピュータ１００における制御負担を軽減することができる。
【０３８７】
また、図４１に示すステップＳ３０８にて満タンスイッチ２６からの検出信号がオン状態であるときに、ステップＳ３０９にて満タン報知中フラグがオフであると判定すれば、ステップＳ３１０での設定により満タン報知開始コマンドを演出制御基板１２に対して送信させる。そして、演出制御用マイクロコンピュータ１２０は、図６３に示すステップＳ９５４にて主基板１１からの満タン報知開始コマンドを受信したと判定したときに、ステップＳ９５５での設定により図６４（Ｃ）に例示するような満タン報知画面となる画像を画像表示装置５に表示させることで、下皿３３が満タン状態であることを報知させる。これにより、下皿３３における遊技球の貯留量が所定量に達したことをパチンコ遊技機１の外部で容易に認識できるようになる。
【０３８８】
遊技制御用マイクロコンピュータ１００に設けられた乱数回路１０３は、例えば１２ビット乱数と１６ビット乱数などのように、数値データの更新範囲が異なる乱数を生成するための回路を複数内蔵するように構成されている。そして、遊技制御用マイクロコンピュータ１００では、パチンコ遊技機１への電力供給が開始されたときに、例えばＣＰＵ１０４が図２７に示すステップＳ２１でＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第４及び第３ビット［ビット４−３］を読出し、その読出値に基づくステップＳ２２での処理として、図２９に示す１２ビット乱数初期設定処理や図３０に示す１６ビット乱数初期設定処理を実行可能にする。そして、図２９に示す１２ビット乱数初期設定処理が実行されることにより乱数回路１０３での１２ビット乱数の生成が可能になり、図３０に示す１６ビット乱数初期設定処理が実行されることにより乱数回路１０３での１６ビット乱数の生成が可能になる。他方、ステップＳ２２での処理として１２ビット乱数初期設定処理が実行されないときには、乱数回路１０３における１２ビット乱数についての生成動作を停止させる処理を実行し、ステップＳ２２での処理として１６ビット乱数初期設定処理が実行されないときには、乱数回路１０３における１６ビット乱数についての生成動作を停止させる処理を実行することで、使用すると設定された乱数とは異なる更新範囲の乱数を生成する回路の機能を停止させることができる。これにより、例えば特別図柄表示装置４による特図ゲームでの可変表示結果を大当りとするか否かの判定などのように、各種の判定に応じて用いる乱数に対応した回路の設定を行い、判定に要する処理負担を軽減することができる。
【０３８９】
遊技制御用マイクロコンピュータ１００では、パチンコ遊技機１への電力供給が開始されたときに、例えばＣＰＵ１０４が図２９に示すステップＳ１０７でＲＯＭ１０５に記憶されている１２ビット乱数最大値（ＫＲＭＳ）を読出し、その読出値をステップＳ１０８にて乱数回路１０３が備える最大値比較回路１７７Ａに設定した後、その読出値が１２ビット乱数用の最大値として設定可能な範囲内であるか否かを、ステップＳ１０９にて判定する。そして、ステップＳ１０９にて設定可能な範囲内ではない旨の判定がなされたときには、ステップＳ１１０にて１２ビット乱数用の最大値として設定可能な範囲内の所定値を再設定する。また、例えばＣＰＵ１０４が図３０に示すステップＳ１２９でＲＯＭ１０５に記憶されている１６ビット乱数最大値（ＫＲＸＳ）を読出し、その読出値をステップＳ１３０にて乱数回路１０３が備える最大値比較回路１７７Ｂに設定した後、その読出値が１６ビット乱数用の最大値として設定可能な範囲内であるか否かを、ステップＳ１３１にて判定する。そして、ステップＳ１３１にて設定可能な範囲内ではない旨の判定がなされたときに、ステップＳ１３２にて１６ビット乱数用の最大値として設定可能な範囲内の所定値を再設定する。
【０３９０】
こうした１２ビット乱数用や１６ビット乱数用の最大値を所定範囲内で任意に設定できるようにすることで、乱数値の使用範囲を詳細に設定可能となり、判定に要する処理負担を軽減することができる。具体的な一例として、１／４００（４００分の１）の確率で所定の判定値データと合致する乱数値を生成する場合に、乱数値の使用範囲が「１」から「４０００」までに固定されている場合には、判定値データとして「１」から「４０００」までに含まれる１０個の数値を示すデータを予め用意して、抽出した乱数値が１０個の数値のいずれかと合致するか否かの判定を実行（最大で１０回の判定を実行）する必要がある。これに対して、乱数値の使用範囲を「１」から「４００」までに設定できれば、判定値データとして１個の数値を示すデータを予め用意して、抽出した乱数値が当該１個の数値と合致するか否かの判定を１回実行するだけでよい。また、誤動作や不正により極端に狭い範囲で乱数が更新されることも防止できる。
【０３９１】
乱数回路１０３では、例えば１２ビット乱数用に設けられた乱数生成回路１７３Ａが、乱数値レジスタ１８１Ａからの格納値更新信号ＫＴがローレベルからハイレベルに立上がったことに応答して、数値データＣ１を更新する。その一方で、１６ビット乱数用に設けられた乱数生成回路１７３Ｂが、クロック信号出力回路１７１からのクロック信号Ｓ１がローレベルからハイレベルに立上がったことに応答して、数値データＣ２を更新する。そして、クロック信号出力回路１７１から出力されるクロック信号Ｓ１の周期を、ＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第２ビット［ビット２］における設定に応じて、内部システムクロックＣＬＫの周期と、内部システムクロックＣＬＫの１６倍の周期のいずれかに設定することで、乱数生成回路１７３Ｂが数値データＣ２を更新する周期を複数種類の周期のいずれかに設定することができる。このように、乱数回路１０３では、１２ビット乱数を生成するために用いられる数値データＣ１や１６ビット乱数を生成するために用いられる数値データＣ２を、複数の更新方式のいずれかにより更新することができる。遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図３０に示すステップＳ１２１にてＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第２ビット［ビット２］を読出し、その読出値に基づいて乱数回路１０３に設けられたクロック信号出力回路１７１における動作設定を、ステップＳ１２２にて行う。これにより、乱数値の更新方式を異ならせて乱数のランダム性を高めることができる。
【０３９２】
図２９に示すステップＳ１０４の処理や、図３０に示すステップＳ１２６の処理では、例えば遊技制御用マイクロコンピュータ１００ごとに付与された固有のＩＤナンバーに所定のスクランブル処理を施す演算や、そのＩＤナンバーを用いた加算・減算・乗算・除算などの演算を実行して、算出された値を１２ビット乱数や１６ビット乱数を生成するためのスタート値に設定することができる。これにより、電力供給が開始された後に更新が開始される乱数の初期値を複数のパチンコ遊技機１でそれぞれ異ならせることができ、このようにして生成される乱数値を用いて特別図柄表示装置４による特図ゲームなどにおける可変表示結果を大当りとするか否かの判定を行うことで、乱数のランダム性を高めて不正に大当りが発生させられてしまうことを防止できる。また、遊技制御用マイクロコンピュータ１００ごとに付与された固有の識別情報からスタート値を特定することが困難になるので、不正に大当りが発生させられてしまうことを、より確実に防止することができる。
【０３９３】
始動口スイッチ２２は、遊技球が始動入賞口に入賞したことを検出し、特別図柄表示装置４による特図ゲームを実行するための始動条件が成立したことを示す始動入賞信号を出力する。そして、乱数回路１０３では、始動口スイッチ２２から出力された始動入賞信号がタイマ回路１７９に入力され、タイマ回路１７９からの出力信号がラッチ信号生成回路１８０に入力されることにより、始動入賞信号が出力されたことに応じてラッチ信号ＳＬを出力することができる。そして、タイマ回路１７９では、始動入賞信号ＳＳの入力時間を計測し、計測した時間が予め設定された時間（３ミリ秒）になったとき、出力信号をローレベルからハイレベルに立上げる。ラッチ信号生成回路１８０では、反転回路１７８から出力される反転クロック信号Ｓ２に同期してタイマ回路１７９からの出力信号をラッチ信号ＳＬとして出力する。このため、パチンコ遊技機１は、ラッチ信号生成回路１８０がノイズの影響等により誤って乱数値レジスタ１８１Ｂにラッチ信号ＳＬを出力することを防止することができる。また、タイマ回路１７９には、２回のタイマ割込処理の実行期間「４ミリ秒」よりも短い「３ミリ秒」が設定されているため、ＣＰＵ１０４が乱数値レジスタ１８１Ｂから今回読出した乱数値が前回読出した乱数値と同じ値になることを防止することができる。
【０３９４】
遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図２９に示すステップＳ１１１でＲＯＭ１０５に記憶されている第１乱数初期設定データ（ＫＲＳＳ１）の第１及び第０ビット［ビット１−０］を読出し、その読出値に基づいてステップＳ１１２の処理を実行して１２ビット乱数における２周目以降のスタート値に関する設定を行う。そして、図３４に示すステップＳ２４２で設定を読出し、その読出値に基づいてステップＳ２４４、Ｓ２４８、Ｓ２５１の処理のいずれかを実行したときに、乱数回路１０３にて１２ビット乱数を生成するために用いられる数値データＣ１におけるスタート値を変更する設定を行う。また、例えばＣＰＵ１０４が図３０に示すステップＳ１３３でＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第３及び第２ビット［ビット３−２］を読出し、その読出値に基づいてステップＳ１３４の処理を実行して１６ビット乱数における２周目以降のスタート値に関する設定を行う。そして、図３５に示すステップＳ２５４で設定を読出し、その読出値に基づいてステップＳ２５６、Ｓ２６０、Ｓ２６３の処理のいずれかを実行したときに、乱数回路１０３にて１６ビット乱数を生成するために用いられる数値データＣ２におけるスタート値を変更する設定を行う。乱数回路１０３では、１２ビット乱数用に設けられた乱数生成回路１７３Ａが所定の最終値まで数値データを更新したときには乱数一巡信号ＲＩＪ１を出力する一方、１６ビット乱数用に設けられた乱数生成回路１７３Ｂが所定の最終値まで数値データを更新したときには乱数一巡信号ＲＩＪ２を出力する。そして、乱数生成回路１７３Ａが乱数一巡信号ＲＩＪ１を出力したときには、例えば初期値設定回路１７２ＡがＣＰＵ１０４によって設定されたスタート値を乱数生成回路１７３Ａに設定する一方、乱数生成回路１７３Ｂが乱数一巡信号ＲＩＪ２を出力したときには、例えば初期値設定回路１７２ＢがＣＰＵ１０４によって設定されたスタート値を乱数生成回路１７３Ｂに設定することで、１２ビット乱数や１６ビット乱数を生成するためのスタート値を変更することができる。これにより、所定の初期値から所定の最終値まで数値データＣ１や数値データＣ２が更新されたときに、次の周期における初期値となるスタート値を変更して、乱数のランダム性を高めることができる。
【０３９５】
遊技制御用マイクロコンピュータ１００では、パチンコ遊技機１への電力供給が開始されたときに、例えばＣＰＵ１０４が図２９に示すステップＳ１０５でＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第６及び第５ビット［ビット６−５］を読出し、その読出値に基づいてステップＳ１０６の処理を実行することで１２ビット乱数用のセレクタとして乱数回路１０３に設けられたセレクタ１７４Ａにおける選択動作の設定を行う。これにより、乱数列変更回路１７６Ａが１２ビット乱数用の数値データＲ１を更新する際の更新順である順列を、２周目以降において自動的に変更する第１の方式や、２周目以降においてユーザプログラムにより変更可能とする第２の方式により、変更させることができる。あるいは、２周目以降においては変更させない第３の方式とすることもできる。また、例えばＣＰＵ１０４が図３０に示すステップＳ１２７でＲＯＭ１０５に記憶されている第２乱数初期設定データ（ＫＲＳＳ２）の第１及び第０ビット［ビット１−０］を読出し、その読出値に基づいてステップＳ１２８の処理を実行することで１６ビット乱数用のセレクタとして乱数回路１０３に設けられたセレクタ１７４Ｂにおける選択動作の設定を行う。これにより、乱数列変更回路１７６Ｂが１６ビット乱数用の数値データＲ２を更新する際の更新順である順列を、２周目以降において自動的に変更する第１の方式や、２周目以降においてユーザプログラムにより変更可能とする第２の方式により、変更させることができる。あるいは、２周目以降においては変更させない第３の方式とすることもできる。そして、２周目以降においてユーザプログラムにより変更可能とする第２の方式に設定したときには、例えばＣＰＵ１０４が図３６に示すステップＳ２７４にてＡＲＳＣ１７５Ａの第０ビット［ビット０］に“１”を設定したり、図３６に示すステップＳ２７９にてＢＲＳＣ１７５Ｂの第０ビット［ビット０］に“１”を設定したりすることで、数値順列変更データを設定する。乱数回路１０３では、例えばセレクタ１７４Ａによって第２の方式が選択されているときには、ＡＲＳＣ１７５Ａに設定された数値順列変更データが乱数列変更回路１７６Ａによって読み出され、乱数生成回路１７３Ａから出力された数値データ列Ｃ１の値が所定の最終値に達したことに応じて、数値データＣ１の順列を定める更新規則を変更する。また、例えばセレクタ１７４Ｂによって第２の方式が選択されているときには、ＢＲＳＣ１７５Ｂに設定された数値順列変更データが乱数列変更回路１７６Ｂによって読み出され、乱数生成回路１７３Ｂから出力された数値データ列Ｃ２の値が所定の最終値に達したことに応じて、数値データＣ２の順列を定める更新規則を変更する。これにより、所定の初期値から所定の最終値まで数値データＣ１や数値データＣ２が更新されたときに、順列を様々に変更して乱数のランダム性を高めることができる。
【０３９６】
また、電力供給が開始されたときに、遊技制御用マイクロコンピュータ１００が図２７に示すステップＳ７にてクリア信号がオン状態となっているか否かを判定した後に、ステップＳ９での設定に基づき、ステップＳ１０、Ｓ１１にて所定の遅延時間が経過するまで待機してから、遊技の進行を制御するための遊技制御処理の実行を可能にする。そして、ここでの遅延時間は、遊技制御処理が実行可能な状態となったときから、少なくとも払出制御用マイクロコンピュータ１５０による払出制御用の各種処理が実行開始されるまでは遅延させるように設定されている。このようにステップＳ７での判定処理を実行してからステップＳ１０、Ｓ１１にて所定の遅延時間が経過するまで待機することで、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０において、クリアスイッチ３０４からの検出信号がオン状態となっているか否かを判定するタイミングに差違が生じないため、電源基板１０に搭載されたクリアスイッチ３０４に対する操作に応じて遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０とが確実に初期化時における設定を行うための初期化処理を実行することができ、制御状態の整合がとれなくなることを防止できる。加えて、パチンコ遊技機１への電力供給を開始するときに、所定の遅延時間が経過するまでクリアスイッチ３０４を操作し続けなくても、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０の双方にて確実に初期化処理を実行させることができる。また、払出制御用マイクロコンピュータ１５０による払出制御用の各種処理が実行開始されてから遊技制御用マイクロコンピュータ１００による遊技制御処理の実行が開始されるので、払出制御用マイクロコンピュータ１５０は遊技制御用マイクロコンピュータ１００からの払出制御コマンドを確実に受信することができる。
【０３９７】
加えて、演出制御基板１２に搭載された演出制御用マイクロコンピュータ１２０は、払出制御用マイクロコンピュータ１５０と同様に、パチンコ遊技機１への電力供給が開始されたときに遅延処理を実行しない。そのため、遊技制御処理は演出制御用マイクロコンピュータ１２０による制御が開始された後に開始されることになる。したがって、主基板１１から演出制御基板１２に対して演出制御コマンドを送信する際に、演出制御用マイクロコンピュータ１２０は確実にコマンドを受信して、受信したコマンドに基づく報知処理などを実行することができる。
【０３９８】
さらに、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４がステップＳ９での設定に基づく遅延処理を実行するより前のステップＳ７にてクリア信号の状態を確認しているので、払出制御用マイクロコンピュータ１５０との制御状態の整合がとれなくなる可能性を低減することができる。
【０３９９】
遊技制御用マイクロコンピュータ１００では、パチンコ遊技機１への電力供給が開始されたときに、例えばＣＰＵ１０４が図２７に示すステップＳ７にてクリア信号がオン状態となっているか否かを判定するより前に実行するステップＳ５の処理にて、電源基板１０に搭載された電源監視回路３０３から出力される電源断信号がオフ状態となったか否かの判定を行う。そして、電源断信号がオフ状態となってから、ステップＳ７にてクリア信号がオン状態となっているか否かの判定を行うようにしている。また、払出制御用マイクロコンピュータ１５０も、パチンコ遊技機１への電力供給が開始されたときには、例えば図４６に示すステップＳ５０８にてクリア信号がオン状態となっているか否かを判定するより前に実行するステップＳ５０５の処理にて、電源基板１０からの電源断信号がオフ状態となったか否かを判定し、オフ状態となってからステップＳ５０８の処理に進むようにしている。このように、電源基板１０から供給される電源電圧の安定が確認されてからクリア信号の状態をチェックすることで、クリア信号の出力状態（オン状態であるかオフ状態であるか）を確実に特定することができ、例えばクリア信号がオフ状態となっているにもかかわらずオン状態であると検出したり、クリア信号がオン状態となっているにもかかわらずオフ状態であると検出したりするといった、誤検出を防止することができる。
【０４００】
図６に示したように、電源監視回路３０３は電源基板１０に搭載されている。そして、電源監視回路３０３から出力された電源断信号は、払出制御基板１５に入力された後、払出制御基板１５から主基板１１へと伝送することで、電源基板１０から払出制御基板１５及び主基板１１の双方に電源断信号を伝送するための配線を接続する場合に比べて配線構成を簡略化でき、パチンコ遊技機１のコストを低減させることができる。また、電源基板１０と払出制御基板１５を遊技機用枠３に設置する一方で、主基板１１は遊技盤２に設置することで、電源基板１０からの電源断信号を伝送するための配線構成を簡略化でき、配線長が短くなってノイズの影響を受けにくくすることができる。
【０４０１】
遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図３９に示すステップＳ４２１にて賞球ＡＣＫ受信フラグがオンである旨の判定をしたときにステップＳ４２５にてコマンド送信回数カウンタの値を１加算する一方で図４１に示すステップＳ３０１にて全入賞球検出スイッチ２９からの検出信号がオン状態である旨の判定をしたときにステップＳ３０２にてコマンド送信回数カウンタの値を１減算することで、コマンド送信回数カウンタの値により、第１〜第３払出数指定コマンドのいずれかを送信した回数と、全入賞球検出スイッチ２９からの検出信号に応じて検出された遊技球の個数との差を入賞個数差として特定する。そして、図４１に示すステップＳ３０３の処理を実行して入賞個数差が異常判定値の１つである賞球過多基準値に達したと判定したときには、ステップＳ３０４の処理を実行して賞球過多報知コマンドを演出制御基板１２に対して送信させる。また、図４１に示すステップＳ３０５の処理を実行して入賞個数差が異常判定値の１つである賞球不足基準値に達したと判定したときには、ステップＳ３０６の処理を実行して賞球不足報知コマンドを演出制御基板１２に対して送信させる。演出制御基板１２の側では、図６３に示すステップＳ９４５の処理を実行して賞球過多報知コマンドを受信した旨の判定をしたときにはステップＳ９４６の処理を実行して賞球過多が発生した旨の報知を行う。また、図６３に示すステップＳ９４８の処理を実行して賞球不足報知コマンドを受信した旨の判定をしたときにはステップＳ９４９の処理を実行して賞球不足が発生した旨の報知を行う。これにより、賞球として払い出される遊技球の個数を直接カウントすることなく、賞球として払い出される遊技球の個数に異常が生じたことを検出できる。また、入賞口に入賞した遊技球の個数は、賞球として払い出される遊技球の個数に比べて少ないことから、データの記憶量を少なくすることができる。さらに、１つのコマンド送信回数カウンタにおけるカウント値を更新するだけで払出数指定コマンドの送信回数と全入賞球検出スイッチ２９によって検出された遊技球の個数との差を入賞個数差として特定することができるから、制御負担の増大を抑制して、賞球として払い出される遊技球の個数に異常が発生したか否かを判定することができる。加えて、１つのコマンド送信回数カウンタにおけるカウント値を記憶するだけでよいことから、複数のカウンタにおけるカウント値を用いる場合に比べて、データの記憶量を少なくすることができる。
【０４０２】
遊技制御用マイクロコンピュータ１００がシリアル通信回路１０８を備えるとともに払出制御用マイクロコンピュータ１５０がシリアル通信回路２１８を備え、双方向のシリアル通信を行うことができる。そして、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０との間では、例えば図１０（Ａ）に示すように２バイト構成の１バイト目を反転させて２バイト目とした払出制御コマンドや払出通知コマンドを生成して送受信する。そして、遊技制御用マイクロコンピュータ１００では、例えばＣＰＵ１０４が図４２に示すステップＳ３３５にて受信コマンドの１バイト目と２バイト目との排他的論理和を演算することにより、払出制御用マイクロコンピュータ１５０を搭載した払出制御基板１５から送信された払出通知コマンドを正しく受信できたか否かの判定を行う。他方、払出制御用マイクロコンピュータ１５０では、例えばＣＰＵ２１４が図４８に示すステップＳ６０５にて受信コマンドの１バイト目と２バイト目との排他的論理和を演算することにより、遊技制御用マイクロコンピュータ１００を搭載した主基板１１から送信された払出制御コマンドを正しく受信できたか否かの判定を行う。これにより、主基板１１と払出制御基板１５との間で送受信されるコマンドの管理が容易かつ確実になり、コマンド送受信中における誤りの発生を容易かつ確実に検出して誤ったコマンドを受信する可能性を低減することができ、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０との整合をとりやすくなる。
【０４０３】
図６に示したように、クリアスイッチ３０４は電源基板１０に搭載されている。そして、クリアスイッチ３０４から出力されたクリア信号は、主基板１１に入力された後、主基板１１から払出制御基板１５へと伝送することで、電源基板１０から主基板１１及び払出制御基板１５の双方にクリア信号を伝送するための配線を接続する場合に比べて配線構成を簡略化でき、パチンコ遊技機１のコストを低減させることができるとともに、配線長が短くなってノイズの影響を受けにくくすることができる。
【０４０４】
乱数回路１０３では、例えば乱数生成回路１７３Ｂがクロック信号出力回路１７１から入力されるクロック信号Ｓ１の入力に基づいて、数値データＣ２を更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序（例えば「１→２→…→６５５３５」の順序）に従って循環的に更新する。これに対して、ラッチ信号生成回路１８０は、始動入賞信号ＳＳの入力に応じたタイマ回路１７９からの出力信号を、反転回路１７８により出力された反転クロック信号Ｓ２に同期して、ラッチ信号ＳＬとして出力する。これにより、乱数値の取得を確実かつ安定的に行うことができる。
【０４０５】
また、例えばオーバーランエラーやノイズエラー、フレーミングエラー、パリティエラーなどといった、シリアル通信回路１０８でのエラー発生に対応するエラー割込み要求がＣＰＵ１０４に通知されたときには、例えばＣＰＵ１０４がシリアル通信エラー割込み処理として予め定められた処理を実行して、シリアル通信回路１０８に設けられた送信動作部と受信動作部を未使用状態に設定する。加えて、ＲＯＭ１０５に記憶された最優先割込み設定（ＫＨＰＲ）が「０６ｈ」、「０７ｈ」以外の値であれば、図２０（Ａ）及び（Ｂ）などに示すように、シリアル通信回路１０８により複数種類の割込み要求が同時に発生したときには、エラー割込み要求が、受信割込み要求や送信割込み要求といった他の割込み要求よりも優先してＣＰＵ１０４に通知されることになる。これにより、シリアル通信回路１０８でのエラー発生時にはシリアル通信動作を直ちに停止させて、シリアル通信での異常発生により誤った情報が伝送されることを防止できる。
【０４０６】
パチンコ遊技機１への電力供給が開始されたときに、例えば遊技制御用マイクロコンピュータ１００が備えるＣＰＵ１０４によって図２７に示すステップＳ２４にて割込み初期設定処理を実行することで、ＲＯＭ１０５に記憶されている最優先割込み設定（ＫＨＰＲ）を読出し、その読出値に基づいて最優先割込みを設定する。この処理を実行することで、割込み処理の優先順位を図２０（Ｂ）に示すデフォルト時の設定から変更することができる。その後、例えばＣＰＵ１０４が図２７に示すステップＳ２５の処理を実行することなどによって、遊技制御用マイクロコンピュータ１００が割込許可状態に設定される。また、払出制御用マイクロコンピュータ１５０でも、パチンコ遊技機１への電力供給が開始されたときに、例えばＣＰＵ２１４が図４４に示すステップＳ５１９にてステップＳ２４と同様の処理を実行することで、ＲＯＭ２１５に記憶されている最優先割込み設定（ＫＨＰＲ）を読出し、その読出値に基づいて最優先割込みを設定することによって、割込み処理の優先順位を図２０（Ｂ）に示すデフォルト時の設定から変更することができる。その後、図４６に示すステップＳ５２０の処理を実行することなどによって、払出制御用マイクロコンピュータ１５０が割込許可状態に設定される。これにより、割込み処理の実行が許可された後に、変更された優先順位に従って確実に割込み処理を実行することができる。また、割込み処理の実行が許可される以前に割込み処理の優先順位を初期設定から変更することで、各種の割込みが発生するごとに割込み処理を所定の優先順位に従って実行させるように制御するプログラムを実行する必要がなくなるので、設計の自由度を増大させることができる。
【０４０７】
ステップＳ２４、Ｓ５１９にて割込み初期設定処理を実行することによる最優先割込みの設定では、例えば図２０（Ａ）に示すような最優先割込み設定データに対応して、タイマ割込み要求に基づく割込み処理と、シリアル通信回路１０８、２１８から通知される割込み要求に基づく割込み処理との優先順位を設定することができる。これにより、割込み処理の実行が許可された後、設定された優先順位に従って確実に割込み処理を実行することができる。また、割込み処理の実行が許可される以前に割込み処理の優先順位を任意に設定可能とすることで、各種の割込みが発生するごとに割込み処理を所定の優先順位に従って実行させるように制御するプログラムを実行する必要がなく、また、予め定めた任意の割込み処理を優先的に実行させることができるので、設計の自由度を増大させることができる。
【０４０８】
払出制御用マイクロコンピュータ１５０では、例えばＣＰＵ２１４が図４９に示すステップＳ６３４での設定により賞球ＡＣＫコマンドを主基板１１に対して送信させた後、ステップＳ６４３にてフィードバック待機時間が経過したと判定したときには、ステップＳ６４４にて主基板通信エラーフラグをオン状態にセットする。こうして主基板通信エラーフラグがオンとなったときには、図５２に示すステップＳ７２１の処理が実行されることにより、ステップＳ７２２以降の処理が実行されずに払出制御通常処理が終了し、また、図５４に示すステップＳ８０１の処理が実行されることにより、ステップＳ８０２以降の処理が実行されずに賞球払出回数算出処理が終了する。そのため、主基板１１からのＡＣＫフィードバックコマンドを受信していない旨の判定がなされたときには、賞球未払出カウンタの値が「０」以外の値となって未払出の賞球となる遊技球があることを示していても払出制御を停止する状態に制御されることになる。これにより、確実な払出制御を実行して、例えば通信エラーや通信線に対する不正行為などによる異常が発生したときに、賞球となる遊技球を過剰に払い出してしまうことを防止できる。
【０４０９】
また、払出制御用マイクロコンピュータ１５０では、例えばＣＰＵ１２４が図４９に示すステップＳ６４４にて主基板通信エラーフラグをオン状態にセットしたときには、図４８に示すステップＳ６０１の処理が実行されることにより、ステップＳ６０２以降の処理が実行されずに払出側受信処理が終了する。そのため、主基板１１からのＡＣＫフィードバックコマンドを受信していない旨の判定がなされたときには、主基板１１から送信される払出数指定コマンドの受信を停止する状態に制御されることになる。これにより、確実な払出制御を実行して、例えば通信エラーや通信線に対する不正行為などによる異常が発生したときに、賞球となる遊技球を過剰に払い出してしまうことを防止できる。
【０４１０】
図４７に示すステップＳ５３８の払出側エラー解除処理では、エラー解除スイッチ７３からの検出信号がオン状態となったか否かを判定し、オン状態であると判定したときには、各種のエラーフラグをクリアしてオフ状態とすることなどにより、払出制御が禁止された状態を解除することができる。これにより、例えば遊技店員等が異常に対する点検を行った後に、点検前の制御状態を維持したまま遊技を続行させることができる。
【０４１１】
以上に述べた実施の形態では、乱数回路１０３が備えるクロック信号出力回路１７１から出力されたクロック信号Ｓ１は、反転回路１７８に入力され、反転回路１７８によってクロック信号Ｓ１の信号レベルを反転させることで生成された反転クロック信号Ｓ２をラッチ信号生成回路１８０に入力することで、ラッチ信号生成回路１８０がタイマ回路１７９からの出力信号を反転クロック信号Ｓ２に同期させて、ラッチ信号ＳＬとして出力するように構成されている。これに対して、クロック信号出力回路１７１から出力されたクロック信号Ｓ１を、このクロック信号Ｓ１の周期の整数倍の期間とは異なる期間だけ遅延させて生成した遅延クロック信号を、ラッチ信号生成回路１８０に入力するようにしてもよい。図６６は、遅延クロック信号をラッチ信号生成回路１８０に入力する構成の一例を示すブロック図である。
【０４１２】
図６６に示す構成において、遅延回路１８２は、クロック信号出力回路１７１から出力されたクロック信号Ｓ１を、このクロック信号Ｓ１の周期の整数倍の期間とは異なる期間だけ遅延させて、遅延クロック信号Ｓ３を生成する。遅延回路１８２は、生成した遅延クロック信号Ｓ３をラッチ信号生成回路１８０に出力する。ラッチ信号生成回路１８０は、タイマ回路１７９からの出力信号を、遅延回路１８２から出力される遅延クロック信号Ｓ３の立上がりエッジに同期して出力することにより、ラッチ信号ＳＬを生成する。
【０４１３】
図６７は、図６６に示す構成を有する乱数回路１０３の動作を説明するためのタイミングチャートである。乱数回路１０３に設けられたクロック信号出力回路１７１のクロック入力端子やタイマ回路１７９のクロック入力端子には、図６７（Ａ）に示すような内部システムクロックＣＬＫが入力される。内部システムクロックＣＬＫは、遊技制御用マイクロコンピュータ１００が備えるクロック回路１０１にて生成されたものであればよい。
【０４１４】
クロック信号出力回路１７１は、内部システムクロックＣＬＫを分周して、例えばタイミングＴ３１、Ｔ３２、…においてローレベルからハイレベルに立上がる、図６７（Ｂ）に示すクロック信号Ｓ１を生成する。ここで、クロック信号出力回路１７１から出力されるクロック信号Ｓ１の周期をＴとする。なお、図６７に示す動作例では、説明のために、クロック信号出力回路１７１が内部システムクロックＣＬＫを２分周してクロック信号Ｓ１を生成する場合を示している。しかしながら、実際には、１６ビット乱数を更新する周期として、内部システムクロックＣＬＫの周期と内部システムクロックＣＬＫの１６倍の周期のいずれかを設定することとしている。したがって、クロック信号出力回路１７１は、内部システムクロックＣＬＫをそのままクロック信号Ｓ１として出力する場合と、内部システムクロックＣＬＫを１６分周した信号をクロック信号Ｓ１として出力する場合とを、切り替えることができればよい。クロック信号出力回路１７１から出力されたクロック信号Ｓ１は、１６ビット乱数の生成用に設けられた乱数生成回路１７３Ｂと遅延回路１８２とに入力される。
【０４１５】
乱数生成回路１７３Ｂは、そのクロック入力端子に入力されるクロック信号Ｓ１の立上がりエッジに応答して数値データＣ２を更新し、その数値データＣ２を乱数列変更回路１７６Ｂに出力する。遅延回路１８２は、クロック信号出力回路１７１から出力されたクロック信号Ｓ１をΔＴ（≠ｎＴ：ｎは整数）だけ遅延させて、例えばタイミングＴ４１、Ｔ４２、…においてローレベルからハイレベルに立上がる周期Ｔの、図６７（Ｃ）に示す遅延クロック信号Ｓ３を生成する。遅延回路１８２によって生成された遅延クロック信号Ｓ３は、ラッチ信号生成回路１８０に出力される。
【０４１６】
図６７（Ｄ）に示す始動入賞信号ＳＳがタイマ回路１７９に入力されたときには、その立上がりエッジからの経過時間が所定時間（例えば３ミリ秒）に達すると、タイマ回路１７９からの出力信号がローレベルからハイレベルに立上がる。このタイマ回路１７９からの出力信号は、ラッチ信号生成回路１８０に入力され、遅延クロック信号Ｓ３の立上がりエッジと同期して、図６７（Ｅ）に示すようなラッチ信号ＳＬとして出力される。これにより、乱数生成回路１７３ＢはタイミングＴ３１、Ｔ３２、…において数値データＣ１を更新する一方、ラッチ信号生成回路１８０はタイミングＴ３１、Ｔ３２、…とは異なるタイミングＴ４３において立上がるラッチ信号ＳＬを出力することができる。
【０４１７】
以上のような構成によれば、乱数回路１０３では、例えば乱数生成回路１７３Ｂがクロック信号出力回路１７１から入力されるクロック信号Ｓ１の入力に基づいて、数値データＣ２を更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序（例えば「１→２→…→６５５３５」の順序）に従って循環的に更新する。これに対して、ラッチ信号生成回路１８０は、始動入賞信号ＳＳの入力に応じたタイマ回路１７９からの出力信号を、遅延回路１８２により出力された遅延クロック信号Ｓ３に同期して、ラッチ信号ＳＬとして出力する。これにより、乱数値の取得を確実かつ安定的に行うことができる。
【０４１８】
この発明は上記実施の形態に限定されるものではなく、様々な変形及び応用が可能である。例えば図１２に示すように構成された乱数回路１０３では、クロック信号出力回路１７１から出力されたクロック信号Ｓ１が乱数生成回路１７３Ｂと反転回路１７８に入力され、反転回路１７８がクロック信号Ｓ１の信号レベルを反転させて生成した反転クロック信号Ｓ２をラッチ信号生成回路１８０に入力させる。これに対して、クロック信号出力回路１７１から出力されたクロック信号Ｓ１をラッチ信号生成回路１８０と所定の反転回路に入力し、その反転回路がクロック信号Ｓ１の信号レベルを反転させて生成した反転クロック信号を乱数生成回路１７３Ｂに入力するように構成してもよい。この場合、乱数生成回路１７３Ｂは、反転回路により出力された反転クロック信号の入力に基づいて、数値データＣ２を更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序に従って循環的に更新する。これに対して、ラッチ信号生成回路１８０は、始動入賞信号ＳＳの入力に応じたタイマ回路１７９からの出力信号を、クロック信号出力回路１７１から出力されたクロック信号Ｓ１に同期して、ラッチ信号ＳＬとして出力する。このような構成によっても、乱数値の取得を確実かつ安定的に行うことが可能になる。
【０４１９】
また、例えば図６６に示すように構成された乱数回路１０３では、クロック信号出力回路１７１から出力されたクロック信号Ｓ１が乱数生成回路１７３Ｂと遅延回路１８２に入力され、遅延回路１８２がクロック信号Ｓ１を遅延させて生成した遅延クロック信号Ｓ３をラッチ信号生成回路１８０に入力させる。これに対して、クロック信号出力回路１７１から出力されたクロック信号Ｓ１をラッチ信号生成回路１８０と所定の遅延回路に入力し、その遅延回路がクロック信号Ｓ１を遅延させて生成した遅延クロック信号を乱数生成回路１７３Ｂに入力するように構成してもよい。この場合、乱数生成回路１７３Ｂは、遅延回路により出力された遅延クロック信号の入力に基づいて、数値データＣ２を更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序に従って循環的に更新する。これに対して、ラッチ信号生成回路１８０は、始動入賞信号ＳＳの入力に応じたタイマ回路１７９からの出力信号を、クロック信号出力回路１７１から出力されたクロック信号Ｓ１に同期して、ラッチ信号ＳＬとして出力する。このような構成によっても、乱数値の取得を確実かつ安定的に行うことが可能になる。
【０４２０】
上記実施の形態では、１２ビット乱数用に設けられた乱数生成回路１７３Ａのクロック入力端子に乱数値レジスタ１８１Ａからの格納値更新信号ＫＴが入力され、この格納値更新信号ＫＴがローレベルからハイレベルに立上がったことに応答して、数値データＣ１を更新するものとして説明した。しかしながら、この発明はこれに限定されるものではなく、例えば乱数生成回路１７３Ａのクロック入力端子に所定周期のクロック信号を入力させることで、数値データＣ１を一定周期で更新させるようにしてもよい。一例として、クロック信号出力回路１７１から出力されたクロック信号Ｓ１を乱数生成回路１７３Ａにも入力し、１６ビット乱数用に設けられた反転回路１７８、タイマ回路１７９、ラッチ信号生成回路１８０と同様の構成を、１２ビット乱数用にも設けるようにすればよい。また、クロック信号出力回路１７１とは別個に設けられたクロック信号出力回路から出力されたクロック信号を乱数生成回路１７３Ａに入力するようにしてもよい。この場合、乱数生成回路１７３Ａに入力されるクロック信号を生成するクロック信号出力回路は、上記実施の形態におけるクロック信号出力回路１７１と同様に、クロック回路１０１から供給される内部システムクロックＣＬＫを入力して、この内部システムクロックＣＬＫと同一周期を有するクロック信号、あるいは内部システムクロックＣＬＫを１６分周したクロック信号を出力できるようにしてもよい。これにより、１２ビット乱数についても、例えば乱数生成回路１７３Ａが所定のクロック信号の入力に基づいて、数値データＣ１を更新可能な所定の範囲において所定の初期値から所定の最終値まで、予め定められた順序（例えば「１→２→…→４０９５」の順序）に従って循環的に更新するのに対して、１２ビット乱数用に設けられたラッチ信号生成回路は、始動入賞信号ＳＳなどの外部信号の入力に応じたタイマ回路からの出力信号を、反転回路により出力された反転クロック信号に同期して、ラッチ信号として出力することができ、１２ビット乱数の取得を確実かつ安定的に行うことができる。また、この場合には、１６ビット乱数用の構成と同様に、１２ビット乱数用の反転回路を遅延回路に置き換えてもよいし、クロック信号出力回路と乱数生成回路１７３Ａとの間に反転回路や遅延回路を設けるようにしてもよい。その他にも、上記実施の形態において１２ビット乱数を生成するための構成が１６ビット乱数を生成するための構成と同様の機能を有していてもよいし、１６ビット乱数を生成するための構成が１２ビット乱数を生成するための構成と同様の機能を有していてもよい。
【０４２１】
上記実施の形態では、遊技制御用マイクロコンピュータ１００がシリアル通信回路１０８を備えるとともに、払出制御用マイクロコンピュータ１５０がシリアル通信回路２１８を備えるように構成され、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０の双方がシリアル通信を行うものとして説明した。しかしながら、この発明はこれに限定されるものではなく、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０の少なくともいずれか一方が、シリアル通信を行うための構成を備えていればよい。以下では、遊技制御用マイクロコンピュータ１００と払出制御用マイクロコンピュータ１５０のうちでシリアル通信回路を備える一方のマイクロコンピュータを第１のマイクロコンピュータとし、シリアル通信回路を備えない他方のマイクロコンピュータを第２のマイクロコンピュータとする。この場合、第２のマイクロコンピュータでは、例えばシリアル通信線を介して第１のマイクロコンピュータから伝送されたデータをパラレルデータに変換するシリアル−パラレル変換回路（例えばシフトレジスタ）を備えていてもよい。あるいは、第２のマイクロコンピュータでは、第１のマイクロコンピュータから伝送されるデータを所定周期でサンプリングして、シリアル通信線を介して伝送されたデータを取得するようにしてもよい。
【０４２２】
また、第２のマイクロコンピュータから第１のマイクロコンピュータに対しては、複数のデータ通信線を用いたパラレル通信により通信データを伝送してもよい。そして、第１のマイクロコンピュータには、複数のデータ通信線に対応した入力ポートを設け、パラレル通信により伝送された通信データを取得するようにしてもよい。この場合、第１のマイクロコンピュータが備えるシリアル通信回路では、送信動作部のみを用いるようにすればよく、受信動作部は未使用状態に設定しておけばよい。
【０４２３】
上記実施の形態では、最大値比較回路１７７Ａ、１７７Ｂが、それぞれ乱数列変更回路１７６Ａ、１７６Ｂから出力される数値データ列Ｒ１、Ｒ２を所定の最大値と比較して、数値データが最大値以下となるまで再設定信号ＭＳ１、ＭＳ２の出力を繰り返す動作を短期間に行うことにより、格納値更新信号ＫＴやクロック信号Ｓ１の立上がりエッジから十分に短い経過時間内に、更新後の乱数値となる数値データＲ１、Ｒ２を出力するものとして説明した。しかしながら、この発明はこれに限定されるものではなく、最大値比較回路１７７Ａ、１７７Ｂからの出力信号によって乱数生成回路１７３Ａ、１７３Ｂがクリア（初期化）されるものであってもよい。
【０４２４】
例えば、最大値比較回路１７７Ａは、１２ビット乱数用に設定された最大値とスタート値を参照可能とし、乱数列変更回路１７６Ａは、乱数生成回路１７３Ａから出力された数値データＣ１を、１２ビット乱数用に設定された最大値以下の範囲内で、予め定められた順列となるように並び替える。そして、最大値比較回路１７７Ａは、最大値とスタート値との差分を特定し、乱数列変更回路１７６Ａから出力される数値データ列Ｒ１の更新回数が、その差分に一致したか否かを判定する。このとき、数値データ列Ｒ１の更新回数が最大値とスタート値との差分に達したときには、乱数生成回路１７３Ａから出力される数値データＣ１の値が１２ビット乱数用に設定された最大値に達していることから、最大値比較回路１７７Ａは所定のカウントクリア信号を乱数生成回路１７３Ａに入力して、乱数生成回路１７３Ａにて生成される数値データＣ１をクリア（初期化）する。この後、乱数生成回路１７３Ａは、クリア後に出力される数値データＣ１の最小値から順次にカウントアップすることなどにより、例えばスタート値よりも１小さい最終値に達したときに、乱数一巡信号ＲＩＪ１を出力する。
【０４２５】
また、最大値比較回路１７７Ｂは、１６ビット乱数用に設定された最大値とスタート値を参照可能とし、乱数列変更回路１７６Ｂは、乱数生成回路１７３Ｂから出力された数値データＣ２を、１６ビット乱数用に設定された最大値以下の範囲内で、予め定められた順列となるように並び替える。そして、最大値比較回路１７７Ｂは、最大値とスタート値との差分を特定し、乱数列変更回路１７６Ｂから出力される数値データ列Ｒ２の更新回数が、その差分に一致したか否かを判定する。このとき、数値データ列Ｒ１の更新回数が最大値とスタート値との差分に達したときには、乱数生成回路１７３Ｂから出力される数値データＣ２の値が１６ビット乱数用に設定された最大値に達していることから、最大値比較回路１７７Ｂは所定のカウントクリア信号を乱数生成回路１７３Ｂに入力して、乱数生成回路１７３Ｂにて生成される数値データＣ２をクリア（初期化）する。この後、乱数生成回路１７３Ｂは、クリア後に出力される数値データＣ２の最小値から順次にカウントアップすることなどにより、例えばスタート値よりも１小さい最終値に達したときに、乱数一巡信号ＲＩＪ２を出力する。
【０４２６】
このような構成による場合には、１２ビット乱数用のスタート値が１２ビット乱数用の最大値以下となり、１６ビット乱数用のスタート値が１６ビット乱数用の最大値以下となるように、スタート値と最大値の設定を行うようにする。また、乱数列変更回路１７６Ａ、１７６Ｂのいずれかにより順列を変更したときに、１２ビット乱数用の最大値や１６ビット乱数用の最大値よりも大きな値を含んだ数値データ列Ｒ１、Ｒ２が出力されないように設定する。
【０４２７】
上記実施の形態では、電源基板１０に電源監視回路３０３が搭載されるものとして説明したが、この発明はこれに限定されるものではなく、例えば電源監視回路を払出制御基板１５に搭載してもよい。この場合、払出制御基板１５では、電源基板１０から供給された電源電圧の少なくとも一部（例えばＶＳＬとＶＣＣ）を電源監視回路に入力して、電源電圧の低下が検出されたときには電源断信号がオン状態となるように構成する。そして、電源監視回路から出力された電源断信号は、払出制御用マイクロコンピュータ１５０が備える所定の入力ポートに入力させるとともに、例えば所定の出力回路を介して、主基板１１へと伝送できるように構成すればよい。このような構成によれば、電源基板１０から払出制御基板１５に対して電源断信号を伝送するための配線を設ける必要がないので、配線構成をさらに簡略化できる。また、電源断信号を伝送する配線の全体的な長さが短くなるので、電源断信号にノイズが乗る可能性を低減することができる。
【０４２８】
上記実施の形態では、電源基板１０にクリアスイッチ３０４が搭載されるものとして説明したが、この発明はこれに限定されるものではなく、例えばクリアスイッチを主基板１１に搭載してもよい。この場合、クリアスイッチから出力されたクリア信号は、遊技制御用マイクロコンピュータ１００が備える所定の入力ポートに入力させるとともに、例えば所定の出力回路を介して、払出制御基板１５へと伝送できるよう構成すればよい。このような構成によれば、電源基板１０から主基板１１に対してクリア信号を伝送するための配線を設ける必要がないので、配線構成をさらに簡略化できる。また、クリア信号を伝送する配線の全体的な長さが短くなるので、クリア信号にノイズが乗る可能性を低減することができる。
【０４２９】
上記実施の形態では、電源基板１０に搭載された電源監視回路３０３がリセット信号を出力するものとして説明したが、これに限定されるものではなく、例えば主基板１１を含めた各制御基板にリセット信号を出力するリセット回路を搭載してもよい。あるいは、複数の制御基板のうちのいずれか（１つまたは複数の制御基板）にリセット回路を搭載し、そのリセット回路から出力されたリセット信号を、リセット回路が搭載されていない他の制御基板に供給するようにしてもよい。リセット回路を各制御基板に搭載した場合には、リセット信号がハイレベルとなるときの電圧値を、それぞれのリセット回路に応じて異ならせるようにしてもよい。例えば、主基板１１に搭載されたリセット回路から出力されるリセット信号がハイレベルとなるときの電圧値を、他の制御基板に搭載されたリセット回路から出力されるリセット信号がハイレベルとなるときの電圧値に比べて高くなるようにして、遊技制御用マイクロコンピュータ１００に入力されるリセット信号がオフ状態となるタイミングが最も遅くなるように設定してもよい。
【０４３０】
上記実施の形態では、パチンコ遊技機１への電力供給が開始されたときに、電源基板１０に搭載されたクリアスイッチ３０４における押下などの操作に応じてクリア信号がオン状態となっているときに、遊技制御用マイクロコンピュータ１００及び払出制御用マイクロコンピュータ１５０が初期化時における設定を行うものとして説明した。しかしながら、この発明はこれに限定されるものではなく、パチンコ遊技機１への電力供給が開始されたときに、例えばパチンコ遊技機１の外部から入力される初期化指令信号がオン状態となっていることなどの所定条件が成立しているときには、遊技制御用マイクロコンピュータ１００及び払出制御用マイクロコンピュータ１５０が初期化時における設定を行うようにしてもよい。具体的な一例として、初期化指令信号は、ホールの管理コンピュータから出力されてパチンコ遊技機１に入力されるものであってもよいし、パチンコ遊技機１への侵入物や接触物を検出するセンサなどから出力されてパチンコ遊技機１に入力されるものであってもよい。
【０４３１】
上記実施の形態では、電源断を検出するための電源監視手段として交流電源（ＡＣ２４Ｖ）を整流、平滑した後に得られた直流電圧ＶＬＰ（直流＋２４Ｖ）を監視して、監視している直流電圧が所定の電圧以下になったことを検出すると電源断信号を出力するものを例示したが、これに限らず、交流電源（ＡＣ２４Ｖ）を直流に変換する途中における全波整流波形の有無を監視し、波形が所定期間検出できなかったときに電源断信号を出力するものでもよい。さらに交流電源を直接監視し、交流波形が所定期間検出できなかったときに電源断信号を出力するものでもよい。つまり、監視する対象は電圧に限らず、全波整流波形でも半波整流波形でもよく、遊技機への供給電力が低下していることを検出できるものであればよい。また、監視する直流電圧は、ＶＬＰ（直流＋２４Ｖ）に限定されず、ＶＳＬ（直流＋３０Ｖ）やＶＤＤ（直流＋１２Ｖ）などであってもよい。
【０４３２】
電源断信号は、遊技制御用マイクロコンピュータ、払出制御用マイクロコンピュータにおける入力ポートに入力し、電源断信号がオンである旨の判定がされたときに電源断処理を実行してもよい。あるいは、電源断信号をＮＭＩ端子へ入力し、ノンマスカブル割込処理にて電源断処理を実行するものでもよい。また、電源断信号をＮＭＩ端子へ入力し、電源断信号の入力に応じて電断フラグをセットし、タイマ割込処理あるいはメイン処理にて電断フラグの状態を監視して、オンであれば電源断処理を実行するものでもよい。
【０４３３】
上記実施の形態では、電源断処理にてチェックサムデータの作成や、バックアップフラグのセットを行い、それらを電源投入時に確認するものを例示したが、これに限らず電源断処理にて所定の出力ポートをクリアする処理や、電源状態が復帰したか否かを監視する処理(瞬停時に復帰させる処理)を実行してもよい。また、それらの処理の順番は本件実施の形態に限定されるものではない。
【０４３４】
上記実施の形態では、遊技制御カウンタ設定部１３５に総賞球数カウンタと第１〜第３払出数指示カウンタとが設けられ、図３７（Ａ）に示すステップＳ２９２の処理では、総賞球数カウンタの値と第１〜第３払出数指示カウンタのいずれかの値に、所定値が加算されて更新される。また、図３９に示すステップＳ４２４では、変数Ｎの値に対応した第１〜第３払出数指示カウンタのいずれかの値が１減算されて更新される一方で、ステップＳ４２７、Ｓ４２９、Ｓ４３０のいずれかの処理が実行されることにより、変数Ｎの値に対応した所定値が総賞球数カウンタの値から減算されて更新されるようにしている。このように、上記実施の形態では、遊技制御用マイクロコンピュータ１００にて払出制御基板１５からの賞球ＡＣＫコマンドを受信した旨の判定がなされたときに、第１〜第３払出数指示カウンタの更新や総賞球数カウンタの更新を行うようにしている。しかしながら、この発明はこれに限定されるものではなく、例えば払出数指定コマンドを送信するときに、第１〜第３払出数指示カウンタの更新や総賞球数カウンタの更新を行うようにしてもよい。この場合には、図３８に示すステップＳ４０８、Ｓ４１０、Ｓ４１１の処理のいずれかにより払出数指定コマンドを送信するための設定を行う以前に、第１〜第３払出数指示カウンタの更新や総賞球数カウンタの更新を行うようにしてもよいし、図３８に示すステップＳ４０８、Ｓ４１０、Ｓ４１１の処理のいずれかを実行して払出数指定コマンドを送信するための設定を行った後、払出制御基板１５からの賞球ＡＣＫコマンドを受信したか否かの判定を行うより以前に、第１〜第３払出数指示カウンタの更新や総賞球数カウンタの更新を行うようにしてもよい。
【０４３５】
また、遊技制御カウンタ設定部１３５に総賞球数カウンタと第１〜第３払出数指示カウンタとを備えるものに限定されず、遊技制御用マイクロコンピュータ１００が賞球として払い出すべき遊技球の個数を特定可能なデータを記憶できる任意の構成を有するものであればよい。例えば、遊技制御カウンタ設定部１３５には総賞球数カウンタが設けられる一方で、第１〜第３払出数指示カウンタは設けられていなくてもよい。この場合には、図１０（Ｃ）に示す払出数指定コマンドの１バイト目及び２バイト目における第３〜第０ビット［ビット３−０］のビット値により、遊技球の払出数として「１」〜「１５」のいずれでも指定可能とする。そして、総賞球数カウンタの値から払い出すべき賞球の個数を特定し、特定した賞球の個数を払出数として指示する払出数指定コマンドを、主基板１１から払出制御基板１５に対して送信するようにすればよい。このとき、総賞球数カウンタの値が払出数指定コマンドで指示することが可能な払出数の最大値（例えば「１５」）よりも大きな値となっているときには、最大の払出数を指示する払出数指定コマンドを送信するとともに総賞球数カウンタの値を更新し、更新後の総賞球数カウンタの値に基づいて、さらに払出数指定コマンドの送信を行うようにすればよい。
【０４３６】
あるいは、遊技制御カウンタ設定部１３５には第１〜第３払出数指示カウンタが設けられる一方で、総賞球数カウンタは設けられていなくてもよい。この場合には、図３７（Ａ）に示すステップＳ２９２にてオン状態のスイッチに対応して第１〜第３払出数指示カウンタのいずれかの値を更新すればよく、図３９に示すステップＳ４２５の処理を実行した後には、ステップＳ４３１の処理に進むようにすればよい。
【０４３７】
上記実施の形態では、図３９に示すステップＳ４２１にて賞球ＡＣＫ受信フラグがオンであることにより払出制御基板１５からの賞球ＡＣＫコマンドを受信した旨の判定がなされたときに、ステップＳ４２５の処理を実行してコマンド送信回数カウンタの値を１加算している。しかしながら、この発明はこれに限定されるものではなく、例えば払出数指定コマンドを送信するときに、コマンド送信回数カウンタの値を１加算するようにしてもよい。この場合には、図３８に示すステップＳ４０８、Ｓ４１０、Ｓ４１１の処理のいずれかにより払出数指定コマンドを送信するための設定を行う以前に、コマンド送信回数カウンタの値を１加算するようにしてもよいし、図３８に示すステップＳ４０８、Ｓ４１０、Ｓ４１１の処理のいずれかを実行して払出数指定コマンドを送信するための設定を行った後、払出制御基板１５からの賞球ＡＣＫコマンドを受信したか否かの判定を行うより以前に、コマンド送信回数カウンタの値を１加算するようにしてもよい。このように払出数指定コマンドを送信するときにコマンド送信回数カウンタの値を１加算することによっても、賞球として払い出される遊技球の個数を直接カウントすることなく、賞球として払い出される遊技球の個数に異常が生じたことを検出できる。また、入賞口に入賞した遊技球の個数は、賞球として払い出される遊技球の個数に比べて少ないことから、データの記憶量を少なくすることができる。さらに、１つのコマンド送信回数カウンタにおけるカウント値を更新するだけで払出数指定コマンドの送信回数と全入賞球検出スイッチ２９によって検出された遊技球の個数との差を入賞個数差として特定することができるから、制御負担の増大を抑制して、賞球として払い出される遊技球の個数に異常が発生したか否かを判定することができる。加えて、１つのコマンド送信回数カウンタにおけるカウント値を記憶するだけでよいことから、複数のカウンタにおけるカウント値を用いる場合に比べて、データの記憶量を少なくすることができる。なお、第１〜第３払出数指定コマンドの送信回数をカウントするためのカウンタと、全入賞球検出スイッチ２９によって検出された遊技球の個数をカウントするためのカウンタとを別個に設けて、双方のカウンタにおける値の差分を、入賞個数差として特定するようにしてもよい。
【０４３８】
上記実施の形態では、図３１に示すような遊技制御用タイマ割込み処理にてステップＳ７２のスイッチ処理とステップＳ８０の特別図柄プロセス処理が実行される。ここで、例えばステップＳ７２のスイッチ処理で始動口スイッチ２２からの検出信号がオン状態であるときに、始動口スイッチタイマにおけるタイマ値が１ずつ加算される。そして、ステップＳ８０の特別図柄プロセス処理では、例えば図４３に示すステップＳ３５１にて始動口スイッチタイマにおけるタイマ値が所定のスイッチオン判定値（例えば「２」）となっている旨の判定がなされたときに、ステップＳ３５２の入賞処理にて乱数回路１０３が備える乱数値レジスタ１８１Ｂなどから乱数値が読み出されることになる。これに対して、遊技制御用のタイマ割込み処理では始動口スイッチ２２からの検出信号がオン状態となっているか否かに応じた始動口スイッチタイマの更新を行って、そのタイマ値が所定のスイッチオン判定値となったときに所定の始動入賞フラグをオン状態にセットする一方で、乱数回路１０３からの乱数値の読み出しは、図２７に示すステップＳ２６にて電源断信号がオフ状態であるときに実行されるループ処理内にて行うようにしてもよい。
【０４３９】
この場合、遊技制御用タイマ割込み処理では、例えば図３１に示す各処理のうち、ステップＳ７１、Ｓ７２、Ｓ８５の処理だけを実行するようにする。そして、ステップＳ７２のスイッチ処理では、始動口スイッチ２２からの検出信号がオン状態であるときに、始動口スイッチタイマにおけるタイマ値を１ずつ加算するように更新する一方、始動口スイッチ２２からの検出信号がオフ状態であるときには、始動口スイッチタイマをクリアする。そして、始動口スイッチタイマにおけるタイマ値がスイッチオン判定値に達したときには、遊技制御フラグ設定部１３３に設けられた始動入賞フラグをオン状態にセットする。他方、図２７に示すステップＳ２６にて電源断信号がオフ状態であるときには、図３１に示すステップＳ７３〜Ｓ８４の各処理を実行してから、ステップＳ２６の処理に戻るようにする。ここで、ステップＳ８０の特別図柄プロセス処理では、図４３に示すステップＳ３５１の処理として、始動入賞フラグがオンとなっているか否かの判定処理を実行する。そして、始動入賞フラグがオンであるときには、ステップＳ３５２の入賞処理を実行して、乱数回路１０３から乱数値を読み出して特図保留記憶部１３１に格納するようにしてもよい。これにより、タイマ割込みが発生したときに遊技制御用マイクロコンピュータ１００が備えるＣＰＵ１０４での処理量が増大することを防止して、タイマ割込み発生時における制御負担を軽減することができる。
【０４４０】
上記実施の形態では、演出制御用マイクロコンピュータ１２０が図６３に示すステップＳ９５４にて満タン報知開始コマンドを受信したと判定したときに、図６４（Ｃ）に例示するような満タン報知画面となる画像を画像表示装置５に表示させた後、図６３に示すステップＳ９５２にて満タン報知終了コマンドを受信したと判定されるまでは、満タン報知画面の表示が継続して行われる。しかしながら、この発明はこれに限定されるものではなく、例えば図６４（Ａ）に例示した賞球過多報知画面や図６４（Ｂ）に例示した賞球不足報知画面を表示する場合と同様に、報知を終了するタイミングに達したときには、満タン報知画面などの表示を終了させるようにしてもよい。この場合には、主基板１１から演出制御基板１２に対して報知の終了を指示するコマンドを送信する必要がないので、遊技制御用マイクロコンピュータ１００における制御負担を軽減することができる。
【０４４１】
上記実施の形態では、図５４に示す賞球払出回数算出処理におけるステップＳ８０１にて主基板通信エラーフラグがオンとなっているか否かを判定し、オンであるときにはそのまま賞球払出回数算出処理を終了する。また、図５５に示す賞球払出駆動処理におけるステップＳ８２１にて主基板通信エラーフラグがオンとなっているか否かを判定し、オンであるときにはステップＳ８３９の処理に進むことで払出モータ５１による遊技球の払出動作を停止させる。その一方で、図５８に示す球貸し払出回数算出処理や図５９に示す球貸し払出駆動処理では、主基板通信エラーフラグがオンとなっているか否かの判定は行われない。しかしながら、この発明はこれに限定されるものではなく、例えば図５８に示す球貸し払出回数算出処理を開始したときには、まず主基板通信エラーフラグがオンとなっているか否かを判定し、オンであるときにはそのまま球貸し払出回数算出処理を終了するようにしてもよい。また、図５９に示す球貸し払出駆動処理を開始したときには、まず主基板通信エラーフラグがオンとなっているか否かを判定し、オンであるときにはステップＳ８９６の処理に進んで払出モータ５１による遊技球の払出動作を停止させるようにしてもよい。これにより、主基板１１からのＡＣＫフィードバックコマンドを受信していない旨の判定がなされたときには、球貸し未払出カウンタの値が「０」以外の値となって未払出の貸し球となる遊技球があることを示していても払出制御を停止する状態に制御されることになる。これにより、確実な払出制御を実行して、例えば通信エラーや通信線に対する不正行為などによる異常が発生したときに、貸し球となる遊技球を過剰に払い出してしまうことを防止できる。
【０４４２】
上記実施の形態では、始動口スイッチ２２から出力された検出信号が、始動入賞信号ＳＳとして乱数回路１０３に設けられたタイマ回路１７９に入力される。そして、タイマ回路１７９において、始動入賞信号ＳＳが入力されている時間を計測し、計測した時間が所定の時間（例えば３ミリ秒）になったときに、始動入賞信号ＳＳをラッチ信号生成回路１８０に出力していた。しかしながら、この発明はこれに限定されるものではなく、始動口スイッチ２２からの検出信号をＣＰＵ１０４に入力し、ＣＰＵ１０４が所定回（例えば２回）の遊技制御用タイマ割込み処理を実行する期間（例えば４ミリ秒間）にわたり、始動口スイッチ２２からの検出信号が継続してオン状態であるときに、ラッチ用始動入賞信号ＳＮをラッチ信号生成回路１８０に送出するようにしてもよい。この場合、図１２に示すような乱数回路１０３が備えるタイマ回路１７９は不要であり、例えばラッチ信号生成回路１８０が備えるＤ入力端子に、ＣＰＵ１０４から出力されるラッチ用始動入賞信号ＳＮを入力させる。そして、ラッチ信号生成回路１８０が備えるクロック入力端子には、反転回路１７８から出力される反転クロック信号Ｓ２や遅延回路１８２から出力される遅延クロック信号Ｓ３を入力させればよい。ラッチ信号生成回路１８０は、Ｄ入力端子に入力されるラッチ用始動入賞信号ＳＮを、クロック入力端子に入力される反転クロック信号Ｓ２や遅延クロック信号Ｓ３の立上がりエッジに同期させて出力することにより、ラッチ信号ＳＬを生成して出力する。加えて、図４３に示すステップＳ３４１の処理では、始動口スイッチ２２からの検出信号がオン状態となってからオン状態のラッチ用始動入賞信号ＳＮをラッチ信号生成回路１８０に送出するまでに要する期間よりも長い時間にわたり始動口スイッチ２２からの検出信号がオン状態であるときに、始動口スイッチ２２からの始動入賞信号がオン状態である旨の判定がなされるようにすればよい。具体的な一例として、２回の遊技制御用タイマ割込み処理を実行する期間である４ミリ秒間にわたり始動口スイッチ２２からの検出信号が継続してオン状態であるときにオン状態のラッチ用始動入賞信号ＳＮをラッチ信号生成回路１８０に送出する場合には、ステップＳ３４１にて始動口スイッチタイマにおけるタイマ値と比較するスイッチオン判定値を、「２」よりも大きな値（例えば「３」）に予め定めておく。そして、始動口スイッチタイマにおけるタイマ値がスイッチオン判定値に達しているときには始動入賞信号がオン状態であると判定してステップＳ３４２の入賞処理を実行する。これにより、遊技制御用タイマ割込み処理の実行回数がスイッチオン判定値に対応した所定回に達するまでの間、始動口スイッチ２２からの検出信号が継続してオン状態であるときに、特別図柄表示装置４による特図ゲームの実行条件が成立したと判定されることになる。その一方で、ラッチ用始動入賞信号ＳＮは、遊技制御用タイマ割込み処理の実行回数がスイッチオン判定値に対応した所定回数に達するまでの時間よりも短い時間である４ミリ秒間にわたり始動口スイッチ２２からの検出信号が継続してオン状態であることを条件に、オン状態となる。
【０４４３】
また、上記実施の形態において、タイマ回路１７９は、内部システムクロックＣＬＫを用いて始動入賞信号ＳＳの入力時間を計測していたが、これに限定されず、内部システムクロックＣＬＫを分周したクロック信号や、クロック回路１０１によって生成される内部システムクロックＣＬＫとは異なるクロック信号を用いてもよい。例えば、タイマ回路１７９は、クロック信号出力回路１７１から出力されたクロック信号Ｓ１を用いて始動入賞信号ＳＳの入力時間を計測してもよい。また、上記実施の形態において、タイマ回路１７９には、所定の時間として３ミリ秒が設定されていたが、これに限定されず、２回の遊技制御用タイマ割込み処理の実行時間である４ミリ秒よりも短い時間であれば任意に設定可能である。
【０４４４】
さらに、上記実施の形態において、ＣＰＵ１０４は、２回の遊技制御用タイマ割込み処理が実行されている期間（４ミリ秒）にわたり始動入賞信号が継続して入力されたことに基づいて、図４３に示すステップＳ３５２の入賞処理を実行していた。しかしながら、本発明は、これに限定されず、上述した遊技制御用タイマ割込み処理の実行回数は、任意であり、例えば、ＣＰＵ１０４は、３回の遊技制御用タイマ割込み処理が実行されている期間（６ミリ秒）にわたり始動入賞信号が継続して入力されたことに基づいて、入賞処理を実行してもよい。この場合、タイマ回路１７９には、３回の遊技制御用タイマ割込処理の実行時間である６ミリ秒よりも短い時間を設定すればよい。
【０４４５】
上記実施の形態では、「０」〜「９」を示す数字等から構成される特別図柄のうちで、「７」を示す特別図柄を大当り図柄とし、それ以外の数値を示す特別図柄をハズレ図柄とし、遊技状態が高確率状態となる確変大当りとなるか否かは、特別図柄とは別個に決定されるものとして説明した。しかしながら、この発明はこれに限定されるものではなく、遊技状態が高確率状態となる確変大当りのときの大当り図柄である確変大当り図柄と、遊技状態が高確率状態にはならない通常大当りのときの大当り図柄である通常大当り図柄とを、互いに異なる特別図柄としてもよい。例えば、「３」を示す特別図柄を通常大当り図柄とし、「７」を示す特別図柄を確変大当り図柄としてもよい。この場合には、表示結果通知コマンドとなるコマンド９０ＸＸｈのうち、コマンド９００１ｈを特図ゲームでの確定特別図柄が通常大当り図柄としての「３」を示す特別図柄であることを通知するコマンドとし、コマンド９００２ｈを特図ゲームでの確定特別図柄が確変大当り図柄としての「７」を示す特別図柄であることを通知するコマンドとすればよい。
【０４４６】
上記実施の形態では、図４１に示すステップＳ３０８にて満タンスイッチ２６からの検出信号がオン状態であるときに、ステップＳ３１０での設定により満タン報知開始コマンドを演出制御基板１２に対して送信させ、演出制御用マイクロコンピュータ１２０が図６３に示すステップＳ９５５の処理を行うことにより、図６４（Ｃ）に例示するような満タン報知画面となる画像を画像表示装置５に表示させて下皿３３が満タン状態であることを報知するものとして説明した。しかしながら、この発明はこれに限定されるものではなく、下皿３３が満タン状態であることを外部から認識可能に報知する任意の動作を行うものであればよい。例えば、ステップＳ３１０の処理では、遊技制御用マイクロコンピュータ１００が備える出力ポートの所定ビットに制御データをセットするなどして、下皿３３が満タン状態であることを報知するためのランプを点灯または点滅させたり、音声を出力させたりしてもよい。
【０４４７】
上記実施の形態では、発射装置１９を駆動させるときには、主基板１１から発射装置１９に対してオン状態の発射許可信号を送信し、球送り装置６２を駆動させるときには、主基板１１から球送り装置６２に対してオン状態の供給許可信号を送信するようにしている。そして、発射装置１９では、主基板１１からの発射許可信号がオン状態となっていることを条件に、電源基板１０から伝送されたＶＳＬを用いて発射用ソレノイド１９Ｃを駆動（励磁）して遊技球を発射可能とする一方、球送り装置６２では、主基板１１からの供給許可信号がオン状態となっていることを条件に、電源基板１０から伝送されたＶＳＬを用いて球送り用のソレノイドまたはモータを駆動して遊技球を発射装置１９に供給可能としている。しかしながら、この発明はこれに限定されるものではなく、発射装置１９や球送り装置６２を駆動させるときには、主基板１１から発射装置１９や球送り装置６２に対して駆動電圧（例えばＶＳＬ）を供給する一方、発射装置１９や球送り装置６２を停止させるときには、主基板１１から発射装置１９や球送り装置６２に対する駆動電圧の供給を停止するようにしてもよい。この場合、遊技制御用マイクロコンピュータ１００に設けられたＣＰＵ１０４は、図３３に示すステップＳ２２３の処理として、発射装置１９に対して駆動電圧を供給するための処理を実行し、図３３に示すステップＳ２２６の処理として、球送り装置６２に対して駆動電圧を供給するための処理を実行すればよい。具体的な一例として、ステップＳ２２３の処理では、電源基板１０から主基板１１を介して発射装置１９に駆動電圧を供給する伝送回路に設けられた発射駆動スイッチをオン状態に設定することで発射装置１９に対する駆動電圧の供給を行う一方、ステップＳ２２１にて発射許可制御タイマがタイムアウトしている旨の判定がなされたときには、発射駆動スイッチをオフ状態に設定することで発射装置１９に対する駆動電圧の供給を停止すればよい。また、ステップＳ２２６の処理では、電源基板１０から主基板１１を介して球送り装置６２に駆動電圧を供給する伝送回路に設けられた供給駆動スイッチをオン状態に設定することで球送り装置６２に対する駆動電圧の供給を行う一方、ステップＳ２２４にて供給許可制御タイマがタイムアウトしている旨の判定がなされたときには、供給駆動スイッチをオフ状態に設定することで球送り装置６２に対する駆動電圧の供給を停止すればよい。
【０４４８】
また、発射装置１９を駆動させるときには、主基板１１から発射装置１９に対してオン状態の発射許可信号を送信するものとして説明したが、これに限定されるものではなく、主基板１１から球送り装置６２に対して供給許可信号を送信することで球送り装置６２を駆動あるいは停止させる一方、発射装置１９は主基板１１の制御によらずに発射用ソレノイド１９Ｃを駆動して遊技球を打出可能な状態となるようにしてもよい。具体的な一例として、発射装置１９が備えるＡＮＤ回路１９Ａには、カードユニット７０からインタフェース基板２０を介して伝送されたＶＬ信号と、タッチセンサ７５から主基板１１を介することなく伝送された検出信号とが、入力されてもよい。この場合、発射装置１９が備えるソレノイド駆動電圧生成回路１９Ｂは、ＶＬ信号とタッチセンサ７５からの検出信号とがともにオン状態であるときに、電源基板１０から供給されたＶＳＬを用いて操作ノブ３０からの操作量検出信号に応じたソレノイド駆動電圧を生成することになる。あるいは、発射装置１９が備えるソレノイド駆動電圧生成回路１９Ｂは、カードユニット７０からインタフェース基板２０を介して伝送されたＶＬ信号やタッチセンサ７５からの検出信号のいずれかがオン状態であるときに、電源基板１０から供給されたＶＳＬを用いて操作ノブ３０からの操作量検出信号に応じたソレノイド駆動電圧を生成してもよい。このような場合でも、球送り装置６２は、主基板１１からの供給許可信号がオフ状態である期間においては発射装置１９に遊技球を供給しないことから、発射装置１９によって遊技球が発射されないようにすることができる。すなわち、タッチセンサ７５からのタッチセンサ検出信号がオン状態であり、かつ、満タンスイッチ２６からの検出信号がオフ状態であるときに、主基板１１から球送り装置６２への供給許可信号がオン状態となることで球送り装置６２が駆動されて遊技球が発射装置１９に供給されることで、遊技球の発射が可能になる。また、主基板１１において発射装置１９を駆動するための制御を行う必要がないので、主基板１１における制御負担を軽減することができる。
【０４４９】
さらに、主基板１１から発射装置１９に対して送出される発射許可信号や、主基板１１から球送り装置６２に対して送出される供給許可信号は、主基板１１にてスイッチ回路１１１を介して遊技制御用マイクロコンピュータ１００に入力された満タンスイッチ２６からの検出信号やタッチセンサ７５からのタッチセンサ検出信号に基づき、遊技制御用マイクロコンピュータ１００が図３１に示すステップＳ７３の発射制御処理やステップＳ７４の入出力処理を実行することにより生成されるものとして説明した。しかしながら、この発明はこれに限定されるものではなく、例えば主基板１１において遊技制御用マイクロコンピュータ１００の外部に設けられたＡＮＤ回路に、満タンスイッチ２６からの検出信号とタッチセンサ７５からのタッチセンサ検出信号とを入力させ、そのＡＮＤ回路からの出力信号を発射許可信号や供給許可信号として、発射装置１９や球送り装置６２に対して送出するようにしてもよい。
【０４５０】
また、上記実施の形態では、満タンスイッチ２６や球切れスイッチ２７からの検出信号を受信するための配線が主基板１１に接続され、図５２に示すステップＳ７２３などでは、主基板１１からの球切れ通知コマンドを受信したか否かをチェックすることにより、球切れ状態となっているか否かを判定するものとして説明した。しかしながら、この発明はこれに限定されるものではなく、満タンスイッチ２６や球切れスイッチ２７からの配線が払出制御基板１５に接続され、払出制御基板１５から主基板１１に対して、満タンスイッチ２６や球切れスイッチ２７からの検出信号が入力されるようにしてもよい。この場合には、満タンスイッチ２６や球切れスイッチ２７からスイッチ回路１６１を介して払出制御用マイクロコンピュータ１５０に検出信号が入力され、それらの検出信号の状態に応じた払出通知コマンドを払出制御基板１５から主基板１１に対して送信させるようにしてもよい。あるいは、払出制御基板１５において払出制御用マイクロコンピュータ１５０の外部に設けられた分岐回路により、満タンスイッチ２６や球切れスイッチ２７からの検出信号を分岐させて、一方を払出制御用マイクロコンピュータ１５０に入力させるとともに、他方を主基板１１に対して伝送するようにしてもよい。そして、図５２に示すステップＳ７２３などでは、球切れスイッチ２７から払出制御用マイクロコンピュータ１５０に入力される検出信号がオン状態となっているか否かをチェックすることにより、球切れ状態となっているか否かを判定すればよい。
【０４５１】
あるいは、満タンスイッチ２６や球切れスイッチ２７からの検出信号を受信するための配線が主基板１１に接続され、例えば主基板１１において遊技制御用マイクロコンピュータ１００の外部に設けられた分岐回路により、満タンスイッチ２６や球切れスイッチ２７からの検出信号を分岐させて、一方を遊技制御用マイクロコンピュータ１００に入力させるとともに、他方を払出制御基板１５に対して伝送するようにしてもよい。また、満タンスイッチ２６や球切れスイッチ２７からの検出信号を主基板１１や払出制御基板１５の外部において分岐させて、一方を主基板１１に伝送するとともに、他方を払出制御基板１５に伝送するようにしてもよい。
【０４５２】
上記実施の形態では、連続して払い出される賞球の個数には、上限が設けられていなかったが、この発明はこれに限定されるものではなく、連続して払い出される賞球の個数に上限値（賞球連続払出上限値）を設けるようにしてもよい。例えば賞球払出上限値として、１単位の貸し球の払出数（例えば２５個）に相当する値である「２５」が設定されている場合、図５４に示す賞球払出回数算出処理では、ステップＳ８０５での減算処理により得られた値が「２５」以下であれば、ステップＳ８０６の処理に進んでステップＳ８０５にて得られた減算値を払出モータ回転カウンタにセットするようにすればよい。これに対して、ステップＳ８０５での減算処理により得られた値が「２５」より大きいときには、賞球連続払出上限値である「２５」を賞球未払出カウンタ、前回未払出カウンタ、及び払出モータ回転カウンタにセットする。このときには、ステップＳ８０５にて得られた減算値から、さらに賞球連続払出上限値である「２５」を減算した値を繰越未払出数として、例えばＲＡＭ２１６に設けられた繰越未払出数記憶部などといった所定の記憶領域に記憶させておく。そして、図５４に示す賞球払出回数算出処理では、ステップＳ８０１にて主基板通信エラーフラグがオフである旨の判定がなされたとき、あるいはステップＳ８０２にて賞球未払出カウンタの値が払出個数カウンタの値以下であると判定されたときに、繰越未払出数記憶部などに「０」以外の値が記憶されているか否かを判定する。この判定処理を実行した際に「０」以外の値が記憶されていれば、さらに繰越未払出数が「２５」以下であるか否かを判定する。ここで、繰越未払出数が「２５」以下であれば、繰越未払出数を賞球未払出カウンタ、前回未払出カウンタ、及び払出モータ回転カウンタにセットするとともに、繰越未払出数の記憶をクリアして「０」に初期化する。他方、繰越未払出数が「２５」より大きいときには、賞球連続払出上限値である「２５」を賞球未払出カウンタ、前回未払出カウンタ、及び払出モータ回転カウンタにセットするとともに、繰越未払出数から「２５」を減算した値を、新たな繰越未払出数として記憶させればよい。
【０４５３】
加えて、図５５及び図５６に示す賞球払出駆動処理では、ステップＳ８４３での減算処理により得られた値と、払出モータ回転カウンタの値とを加算し、得られた加算値が賞球連続払出上限値である「２５」以下であるか否かを判定する。このとき、加算値が「２５」以下であれば、ステップＳ８４４の処理に進んで賞球未払出カウンタの値における増加分を払出モータ回転カウンタの値に加算して更新すればよい。これに対して、加算値が「２５」より大きいときには、賞球連続払出上限値である「２５」を払出モータ回転カウンタにセットするとともに、賞球未払出カウンタの値から払出モータ回転カウンタの値における増加分を減算して、得られた減算値を賞球未払出カウンタにセットすればよい。
【０４５４】
上記実施の形態では、図５４に示すステップＳ８０２にて賞球未払出カウンタの値が払出個数カウンタの値と等しいか、それよりも小さな値となっているときに、ステップＳ８０３、Ｓ８０４、Ｓ８１２、Ｓ８１３の処理を実行して、賞球となる遊技球の払出動作を制御するための設定を初期化するものとして説明した。これに対して、賞球となる遊技球の払出が正常に終了したときに、賞球となる遊技球の払出動作を制御するための設定を初期化するようにしてもよい。より具体的には、図５５に示すステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した旨の判定がなされたときに、ステップＳ８０３、Ｓ８０４、Ｓ８１２、Ｓ８１３に相当する処理を実行してもよい。
【０４５５】
上記実施の形態では、図５４に示すステップＳ８０７にて払出動作不良回数カウンタの値と比較される不良回数上限値を適切な値（例えば「９」）に設定することで、図５５に示すステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した後、図５３に示すステップＳ７４３の賞球払出回数算出処理が実行されるより前の段階で払出数指定コマンドを受信した場合でも、直ちにエラーと判定されることを防止しつつ、払出モータ５１あるいは払出ケース１７における球詰まりなどの発生による払出動作の不良を適切に検出することができるようにするものとして説明した。しかしながら、この発明はこれに限定されるものではなく、例えば図５５に示すステップＳ８３３にて払出個数カウンタの値が賞球未払出カウンタの値に達した旨の判定がなされたときに、払出動作不良回数カウンタをクリアして初期化するようにしてもよい。これにより、払出モータ５１による払出動作が終了した後、払出完了待ち時間が経過する以前に払出カウントスイッチ７２によって検出された遊技球の個数が賞球未払出カウンタの値と等しくなったときには、賞球となる遊技球の払出動作が適切に完了したと判断して、払出動作不良回数カウンタの値を直ちに初期値に設定することができる。
【０４５６】
上記実施の形態では、図５５に示すステップＳ８２４にて賞球となる遊技球を１個分払い出すための払出動作中ではないと判定したときに、ステップＳ８２５にて払出モータ回転カウンタの値が「０」であるか否かを判定し、「０」以外であれば、ステップＳ８２８にて遊技球を１個分払い出すための払出動作に関する設定を行うものとして説明した。しかしながら、この発明はこれに限定されるものではなく、ステップＳ８２５にて払出モータ回転カウンタの値が「０」以外である旨の判定がなされたときに、ステップＳ８２８にて払出モータ回転カウンタの値に対応した個数分の遊技球を払い出すための払出動作に関する設定を行うようにしてもよい。この場合には、ステップＳ８２８の処理として、例えば遊技球を払出モータ回転カウンタの値に対応した個数に達するまで連続して払い出す払出動作を払出モータ５１に実行させる励磁パターンや励磁期間を設定する処理などが実行されればよい。具体的な一例として、まず、払出モータ５１が遊技球を１個分払い出す払出動作に対応した励磁パターンを、ＲＯＭ２１５の所定領域などに予め用意しておく。そして、ステップＳ８２８の処理では、ＲＯＭ２１５の所定領域から読み出した励磁パターンに従った励磁信号を、払出モータ５１に対して払出モータ回転カウンタの値に対応した回数だけ繰り返し出力するように、励磁期間や励磁パターンの繰り返し回数などの設定を行えばよい。このときには、ステップＳ８２９にて払出モータ回転カウンタをクリアして、そのカウント値を「０」に設定する。また、ステップＳ８２４では、例えば払出モータ５１の励磁時間あるいは払出モータ位置センサ７１による検出結果などから、ステップＳ８２８にて設定された払出動作の実行中であるか否かを判定すればよい。加えて、図５９に示すステップＳ８８４にて払出モータ回転カウンタの値が「０」以外である旨の判定がなされたときにも、ステップＳ８８７にて払出モータ回転カウンタの値に対応した個数分の遊技球を払い出すための払出動作に関する設定を行うようにしてもよい。この場合には、ステップＳ８８７の処理として、前述したステップＳ８２８での設定と同様の設定を行う処理を実行した後、ステップＳ８８８にて払出モータ回転カウンタをクリアして、そのカウント値を「０」に設定する。また、ステップＳ８８３では、例えば払出モータ５１の励磁時間あるいは払出モータ位置センサ７１による検出結果などから、ステップＳ８８７にて設定された払出動作の実行中であるか否かを判定すればよい。
【０４５７】
上記実施の形態では、図２９に示すステップＳ１０７にて読み出した１２ビット乱数最大値（ＫＲＭＳ）を、ステップＳ１０８にて乱数回路１０３が備える最大値比較回路１７７Ａに一旦設定した後に、ステップＳ１０９にて１２ビット乱数用の最大値として設定可能な範囲内ではない旨の判定がなされたときには、ステップＳ１１０にて所定値を最大値として再設定するものとして説明した。また、図３０に示すステップＳ１２９にて読み出した１６ビット乱数最大値（ＫＲＸＳ）を、ステップＳ１３０にて乱数回路１０３が備える最大値比較回路１７７Ｂに一旦設定した後に、ステップＳ１３１にて１６ビット乱数用の最大値として設定可能な範囲内ではない旨の判定がなされたときには、ステップＳ１３２にて所定値を最大値として再設定するものとして説明した。しかしながら、この発明はこれに限定されず、ＲＯＭ１０５からの読出値が最大値として設定可能な範囲内であるか否かを判定してから、範囲内であれば、その読出値を最大値比較回路１７７Ａ、１７７Ｂに設定し、範囲内でなければ、所定値を最大値として設定するようにしてもよい。より具体的には、ステップＳ１０７にて１２ビット乱数最大値（ＫＲＭＳ）を読み出した後には、まず、その読出値が１２ビット乱数用の最大値として設定可能な範囲内であるか否かを判定し、範囲内であれば、そのままステップＳ１０７での読出値を最大値比較回路１７７Ａに設定する。他方、ステップＳ１０７での読出値が１２ビット乱数用の最大値として設定可能な範囲内でなければ、１２ビット乱数用の最大値として設定可能な範囲内の所定値を最大値として最大値比較回路１７７Ａに設定すればよい。また、ステップＳ１２９にて１６ビット乱数最大値（ＫＲＸＳ）を読出した後には、まず、その読出値が１６ビット乱数用の最大値として設定可能な範囲内であるか否かを判定し、範囲内であれば、そのままステップＳ１２９での読出値を最大値比較回路１７７Ｂに設定する。他方、ステップＳ１２９での読出値が１６ビット乱数用の最大値として設定可能な範囲内でなければ、１６ビット乱数用の最大値として設定可能な範囲内の所定値を最大値として最大値比較回路１７７Ｂに設定すればよい。このような処理により、最大値比較回路１７７Ａ、１７７Ｂに最大値を設定する処理を１回実行すれば、再設定をする必要がなくなるので、最大値を設定するための制御負担を軽減することができる。
【０４５８】
上記実施の形態では、図２７に示す遊技制御メイン処理におけるステップＳ２６にて電源断信号がオン状態となったか否かの判定を行い、オン状態であるときにはステップ２７にてメイン側電源断処理が実行されるものとして説明した。しかしながら、この発明はこれに限定されるものではなく、例えば図３１に示す遊技制御用タイマ割込み処理が実行されるごとに、電源断信号がオン状態となったか否かの判定を行い、オン状態であるときにはメイン側電源断処理を実行するようにしてもよい。この場合、例えば遊技制御用タイマ割込み処理の実行が開始されるごとに電源断信号がオン状態であるか否かをチェックして、オン状態であれば電源断信号がオン状態である期間を計測するための電源断信号タイマにおけるタイマ値を１加算するなどして更新する一方、オフ状態であれば電源断信号タイマをクリアして初期化するようにしてもよい。そして、電源断信号タイマにおけるタイマ値を所定の電源断判定値（例えば「２」）と比較する。これにより、所定回（例えば２回）の遊技制御用タイマ割込み処理が実行されている期間（例えば４ミリ秒）にわたり電源断信号が継続してオン状態となっているか否かを判定することができる。このとき、電源断信号タイマにおけるタイマ値が電源断判定値に達していれば、メイン側電源断処理を実行すればよい。
【０４５９】
図４６に示す払出制御メイン処理におけるステップＳ５２１にて行われる電源断信号がオン状態となったか否かの判定や、ステップＳ５２２にて実行される払出側電源断処理も、これに限定されるものではなく、例えば図４７に示す払出制御用タイマ割込み処理が実行されるごとに、電源断信号がオン状態となったか否かの判定を行い、オン状態であるときには払出側電源断処理を実行するようにしてもよい。この場合、例えば払出制御用タイマ割込み処理の実行が開始されるごとに電源断信号がオン状態であるか否かをチェックして、オン状態であれば電源断信号がオン状態である期間を計測するための電源断信号タイマにおけるタイマ値を１加算するなどして更新する一方、オフ状態であれば電源断信号タイマをクリアして初期化するようにしてもよい。そして、電源断信号タイマにおけるタイマ値を所定の電源断判定値（例えば「２」）と比較する。これにより、所定回（例えば２回）の払出制御用タイマ割込み処理が実行されている期間（例えば４ミリ秒）にわたり電源断信号が継続してオン状態となっているか否かを判定することができる。このとき、電源断信号タイマにおけるタイマ値が電源断判定値に達していれば、払出側電源断処理を実行すればよい。
【０４６０】
図３９に示すステップＳ４３６にて再送信フラグをオン状態にセットすることにより払出数指定コマンドを再送信するための設定が行われたときには、例えば画像表示装置５にメイン側払出異常報知画面となる画像を表示させることなどにより、払出異常が生じたことを報知させるようにしてもよい。より具体的には、図３１に示すステップＳ７８の異常動作報知設定処理にて、再送信フラグがオンであるときに、例えば遊技制御フラグ設定部１３３に設けられた払出異常報知フラグがオンであるか否かを判定する。このとき、払出異常報知フラグがオフであれば、例えばメイン側払出異常報知開始コマンドなどといった、払出異常が生じたことを報知させるために予め用意された演出制御コマンドを送信するための設定を行う。演出制御基板１２の側では、例えば図６１に示すステップＳ９０７で実行される報知処理にて、主基板１１からのメイン側払出異常報知開始コマンドを受信したか否かを判定し、受信した旨の判定がなされたときには、メイン側払出異常報知画面となる画像を画像表示装置５に表示させるための設定を行う。これにより、払出制御に関する通信の異常をパチンコ遊技機１の外部で容易に認識できるようになる。また、賞球送信処理にて払出数指定コマンドを再送信するための設定が行われることから、払出制御基板１５に搭載された払出制御用マイクロコンピュータ１５０によって払出数指定コマンドが受信されていないと判断される場合に、払出数指定コマンドを再送信して払出制御に支障を来さないようにすることで、遊技者の不利益を防止することができる。
【０４６１】
また、上記実施の形態において、遊技機は、可変表示の実行条件（例えば普通可変入賞球装置６に設けられた始動入賞口に遊技球が入賞すること）が成立した後に可変表示の開始条件（例えば特別図柄表示装置４による前回の特図ゲーム及び大当り遊技状態の終了）が成立したことに基づいて、各々が識別可能な複数種類の識別情報（例えば特別図柄）を可変表示する可変表示装置（例えば特別図柄表示装置４）を備え、可変表示の表示結果が予め定められた特定表示結果となったときに、遊技者にとって有利な特定遊技状態（例えば大当り遊技状態）に制御するパチンコ遊技機であった。
【０４６２】
しかしながら、本発明は、これに限定されず、遊技機は、遊技領域に設けられた始動領域にて遊技媒体を検出する始動検出手段（例えば始動玉検出器）の検出により、遊技者にとって不利な第２の状態から遊技者にとって有利な第１の状態となる始動動作（例えば開放動作）を行う可変入賞装置（例えば可変入賞球装置）を有し、可変入賞装置に設けられた特定領域にて遊技媒体を検出する特定検出手段（例えば特定玉検出器）の検出により、始動動作よりも遊技者にとってさらに有利な特定の態様で可変入賞装置を第１の状態に制御する特定遊技状態（例えば大当り遊技状態）を発生させるパチンコ遊技機であってもよい。
【０４６３】
また、本発明の遊技機は、特別領域（例えば特別装置作動領域）に設けられた特別検出手段（例えば特定球検出スイッチや特別領域スイッチ）で遊技球が検出されたことを条件に権利発生状態となり、権利発生状態となっている期間中に、始動領域（例えば作動入賞口や始動入賞装置における始動口）に設けられた始動検出手段（例えば作動球検出スイッチや始動口スイッチ）により遊技球が検出されたことに基づいて、特別可変入賞装置（例えば大入賞口）を遊技者にとって不利な状態（例えば閉鎖状態）から遊技者にとって有利な状態（例えば開放状態）に変化させる制御を行うことが可能なパチンコ遊技機であってもよい。
【図面の簡単な説明】
【０４６４】
【図１】本実施例におけるパチンコ遊技機の正面図である。
【図２】遊技球を検出するための各スイッチの関係を示す説明図である。
【図３】本実施例におけるパチンコ遊技機の背面図である。
【図４】払出モータが設置される払出装置の構成例を示す分解斜視図である。
【図５】パチンコ遊技機に搭載された各種の制御基板などを示す構成図である。
【図６】電源基板の構成例を示す図である。
【図７】リセット信号及び電源断信号の状態を模式的に示すタイミング図である。
【図８】発射装置の構成例を示すブロック図である。
【図９】表示制御コマンドの内容の一例を示す説明図である。
【図１０】主基板と払出制御基板との間で送受信されるコマンドの構成例を示す説明図である。
【図１１】遊技制御用マイクロコンピュータの構成例を示すブロック図である。
【図１２】乱数回路の構成例を示すブロック図である。
【図１３】ＡＲＳＣとＢＲＳＣの構成例を示す図である。
【図１４】乱数列変更回路による順列の変更動作を示す説明図である。
【図１５】乱数列変更回路による順列の変更動作を示す説明図である。
【図１６】最大値比較回路による乱数値の再設定動作を示す説明図である。
【図１７】乱数値レジスタや最大値読出レジスタの構成例を示す図である。
【図１８】遊技制御用マイクロコンピュータにおけるアドレスマップの一例を示す図である。
【図１９】ＲＯＭにおけるアドレスマップの一例を示す図である。
【図２０】最優先割込みの設定例を示す説明図である。
【図２１】乱数初期設定データの内容を示す説明図である。
【図２２】遊技制御用データ保持エリアの構成例を示すブロック図である。
【図２３】払出用受信コマンドバッファの構成例を示す図である。
【図２４】払出用送信コマンドバッファの構成例を示す図である。
【図２５】払出制御用マイクロコンピュータの構成例を示すブロック図である。
【図２６】払出制御用データ保持エリアの構成例を示すブロック図である。
【図２７】遊技制御メイン処理の一例を示すフローチャートである。
【図２８】遊技制御メイン処理内で実行される具体的な処理の一例を示す図である。
【図２９】１２ビット乱数初期設定処理の一例を示すフローチャートである。
【図３０】１６ビット乱数初期設定処理の一例を示すフローチャートである。
【図３１】遊技制御用タイマ割込み処理の一例を示すフローチャートである。
【図３２】発射制御処理の一例を示すフローチャートである。
【図３３】情報出力処理の一例を示すフローチャートである。
【図３４】乱数スタート値変更設定処理の一例を示すフローチャートである。
【図３５】乱数スタート値変更設定処理の一例を示すフローチャートである。
【図３６】乱数順列変更設定処理の一例を示すフローチャートである。
【図３７】賞球処理の一例を示すフローチャートと、賞球処理内で実行される具体的な処理の一例を示す説明図である。
【図３８】賞球送信処理の一例を示すフローチャートである。
【図３９】賞球ＡＣＫ待ち処理の一例を示すフローチャートである。
【図４０】賞球送信完了処理の一例を示すフローチャートである。
【図４１】異常動作報知設定処理の一例を示すフローチャートである。
【図４２】メイン側受信処理の一例を示すフローチャートである。
【図４３】特別図柄プロセス処理の一例を示すフローチャートである。
【図４４】特別図柄通常処理の一例を示すフローチャートである。
【図４５】払出用コマンド制御処理の一例を示すフローチャートである。
【図４６】払出制御メイン処理の一例を示すフローチャートである。
【図４７】払出制御用タイマ割込み処理の一例を示すフローチャートである。
【図４８】払出側受信処理の一例を示すフローチャートである。
【図４９】賞球受信確認処理の一例を示すフローチャートである。
【図５０】払出動作制御処理の一例を示すフローチャートである。
【図５１】払出数記憶異常判定処理の一例を示すフローチャートである。
【図５２】払出制御通常処理の一例を示すフローチャートである。
【図５３】賞球払出動作処理の一例を示すフローチャートである。
【図５４】賞球払出回数算出処理の一例を示すフローチャートである。
【図５５】賞球払出駆動処理の一例を示すフローチャートである。
【図５６】賞球払出駆動処理の一例を示すフローチャートである。
【図５７】球貸し払出動作処理の一例を示すフローチャートである。
【図５８】球貸し払出回数算出処理の一例を示すフローチャートである。
【図５９】球貸し払出駆動処理の一例を示すフローチャートである。
【図６０】エラーの種類とエラー表示用ＬＥＤの表示との関係などを示す説明図である。
【図６１】演出制御メイン処理の一例を示すフローチャートである。
【図６２】演出制御プロセス処理の一例を示すフローチャートである。
【図６３】報知処理の一例を示すフローチャートである。
【図６４】画像表示装置における表示動作例を示す図である。
【図６５】乱数回路の動作を説明するためのタイミングチャートである。
【図６６】図１２に示す乱数回路の変形例における構成の一例を示すブロック図である。
【図６７】図６６に示す乱数回路の動作を説明するためのタイミングチャートである。
【符号の説明】
【０４６５】
１  …  パチンコ遊技機
２  …  遊技盤
３  …  遊技機用枠
４  …  特別図柄表示装置
５  …  画像表示装置
６  …  普通可変入賞球装置
７  …  特別可変入賞球装置
８Ｌ、８Ｒ  …  スピーカ
９  …  遊技効果ランプ
１０  …  電源基板
１１  …  主基板
１２  …  演出制御基板
１３  …  音声制御基板
１４  …  ランプ制御基板
１５  …  払出制御基板
１６  …  情報端子基板
１７  …  払出ケース
１８  …  中継基板
１９  …  発射装置
２０  …  インタフェース基板
２１  …  ゲートスイッチ
２２  …  始動口スイッチ
２３  …  Ｖ入賞スイッチ
２４  …  カウントスイッチ
２５Ａ〜２５Ｄ  …  入賞口スイッチ
２６  …  満タンスイッチ
２７  …  球切れスイッチ
２９  …  全入賞球検出スイッチ
３０  …  操作ノブ
３１、７３  …  エラー解除スイッチ
４０  …  普通図柄表示器
４１  …  通過ゲート
４２Ａ〜４２Ｄ  …  入賞口
５１  …  払出モータ
６２  …  球送り装置
７０  …  カードユニット
７１  …  払出モータ位置センサ
７２  …  払出カウントスイッチ
７３  …  エラー解除スイッチ
７４  …  エラー表示用ＬＥＤ
７５  …  タッチセンサ
８１、８２  …  ソレノイド
８５、８６  …  穴
８７、８８  …  ギア
８９  …  カム
９０  …  球通路
９１〜９３  …  ケース
１００  …  遊技制御用マイクロコンピュータ
１０１、２１１  …  クロック回路
１０２、２１２  …  リセット／割込みコントローラ
１０３、２１３  …  乱数回路
１０４、１２３、２１４  …  ＣＰＵ
１０５、１２１、２１５  …  ＲＯＭ
１０６、１２２、２１６  …  ＲＡＭ
１０７、２１７  …  タイマ回路
１０８、２１８  …  シリアル通信回路
１０９、２１９  …  外部バスインタフェース
１１１、１６１  …  スイッチ回路
１１２  …  ソレノイド回路
１２０  …  演出制御用マイクロコンピュータ
１２４  …  Ｉ／Ｏポート
１３０  …  遊技制御用データ保持エリア
１３１  …  特図保留記憶部
１３２  …  確定特別図柄記憶部
１３３  …  遊技制御フラグ設定部
１３４  …  遊技制御タイマ設定部
１３５  …  遊技制御カウンタ設定部
１３６  …  遊技制御バッファ設定部
１４０  …  払出制御用データ保持エリア
１４１  …  払出制御フラグ設定部
１４２  …  払出制御タイマ設定部
１４３  …  払出制御カウンタ設定部
１４４  …  払出制御バッファ設定部
１５０  …  払出制御用マイクロコンピュータ
１７１  …  クロック信号出力回路
１７２Ａ、１７２Ｂ  …  初期値設定回路
１７３Ａ、１７３Ｂ  …  乱数生成回路
１７４Ａ、１７４Ｂ  …  セレクタ
１７５Ａ  …  ＡＲＳＣ
１７５Ｂ  …  ＢＲＳＣ
１７６Ａ、１７６Ｂ  …  乱数列変更回路
１７７Ａ、１７７Ｂ  …  最大値比較回路
１７８  …  反転回路
１７９  …  タイマ回路
１８０  …  ラッチ信号生成回路
１８１Ａ、１８１Ｂ  …  乱数値レジスタ
１８２  …  遅延回路
１９１  …  払出用受信コマンドバッファ
１９２  …  払出用送信コマンドバッファ
２０１  …  受信動作部
２０２  …  送信動作部
２０３  …  シリアル通信データレジスタ
２０４  …  シリアルステータスレジスタ
２０５  …  シリアル制御レジスタ
３０１  …  変圧回路
３０２  …  直流電圧生成回路
３０３  …  電源監視回路
３０４  …  クリアスイッチ
【図１】
0004776316.tif 000002
【図２】
0004776316.tif 000003
【図３】
0004776316.tif 000004
【図４】
0004776316.tif 000005
【図５】
0004776316.tif 000006
【図６】
0004776316.tif 000007
【図７】
0004776316.tif 000008
【図８】
0004776316.tif 000009
【図９】
0004776316.tif 000010
【図１０】
0004776316.tif 000011
【図１１】
0004776316.tif 000012
【図１２】
0004776316.tif 000013
【図１３】
0004776316.tif 000014
【図１４】
0004776316.tif 000015
【図１５】
0004776316.tif 000016
【図１６】
0004776316.tif 000017
【図１７】
0004776316.tif 000018
【図１８】
0004776316.tif 000019
【図１９】
0004776316.tif 000020
【図２０】
0004776316.tif 000021
【図２１】
0004776316.tif 000022
【図２２】
0004776316.tif 000023
【図２３】
0004776316.tif 000024
【図２４】
0004776316.tif 000025
【図２５】
0004776316.tif 000026
【図２６】
0004776316.tif 000027
【図２７】
0004776316.tif 000028
【図２８】
0004776316.tif 000029
【図２９】
0004776316.tif 000030
【図３０】
0004776316.tif 000031
【図３１】
0004776316.tif 000032
【図３２】
0004776316.tif 000033
【図３３】
0004776316.tif 000034
【図３４】
0004776316.tif 000035
【図３５】
0004776316.tif 000036
【図３６】
0004776316.tif 000037
【図３７】
0004776316.tif 000038
【図３８】
0004776316.tif 000039
【図３９】
0004776316.tif 000040
【図４０】
0004776316.tif 000041
【図４１】
0004776316.tif 000042
【図４２】
0004776316.tif 000043
【図４３】
0004776316.tif 000044
【図４４】
0004776316.tif 000045
【図４５】
0004776316.tif 000046
【図４６】
0004776316.tif 000047
【図４７】
0004776316.tif 000048
【図４８】
0004776316.tif 000049
【図４９】
0004776316.tif 000050
【図５０】
0004776316.tif 000051
【図５１】
0004776316.tif 000052
【図５２】
0004776316.tif 000053
【図５３】
0004776316.tif 000054
【図５４】
0004776316.tif 000055
【図５５】
0004776316.tif 000056
【図５６】
0004776316.tif 000057
【図５７】
0004776316.tif 000058
【図５８】
0004776316.tif 000059
【図５９】
0004776316.tif 000060
【図６０】
0004776316.tif 000061
【図６１】
0004776316.tif 000062
【図６２】
0004776316.tif 000063
【図６３】
0004776316.tif 000064
【図６４】
0004776316.tif 000065
【図６５】
0004776316.tif 000066
【図６６】
0004776316.tif 000067
【図６７】
0004776316.tif 000068