(57)【特許請求の範囲】
【請求項１】
遊技者が所定の遊技を行うことが可能な遊技機であって、
遊技媒体の払出を行う払出装置と、
遊技の進行を制御するとともに、遊技機に設けられている電気部品を制御させるための信号としてのコマンドを出力するコマンド出力処理と、コマンドの取込を指示するための取込信号を出力する取込信号出力処理とを実行可能な遊技制御手段と、
前記遊技制御手段からのコマンドに応じて前記電気部品を制御する複数の電気部品制御手段とを備え、
前記複数の電気部品制御手段は、前記遊技制御手段からのコマンドに応じて前記払出装置を制御可能な払出制御手段を含み、
前記遊技制御手段からのコマンドは２バイトのコマンドデータで構成され、
前記遊技制御手段は、
前記複数の電気部品制御手段の各々に対して前記コマンド出力処理により複数ビットのコマンドデータを出力するためのコマンド出力ポート回路と、該コマンド出力ポート回路とは別個に設けられ、前記複数の電気部品制御手段の各々に対して前記取込信号出力処理により１ビットの取込信号を出力するための各々のビットを有する１つの取込信号出力ポート回路とを含み、
前記複数の電気部品制御手段の各々に対してコマンドを出力する場合に、同一のコマンド出力処理ルーチンを用いて前記コマンド出力処理と前記取込信号出力処理とを実行し、
コマンドにおける１バイト目のコマンドデータを出力してから第１期間経過後に取込信号を出力し、第２期間経過後に２バイト目のコマンドデータを出力してから前記第１期間経過後に取込信号を出力し、前記第２期間を前記複数の電気部品制御手段のそれぞれがコマンドデータを受信するために要する期間のうちの最大の期間以上の値として、コマンドデータを出力し、
前記払出制御手段は、
前記払出装置の払出動作の禁止を指令するコマンドとしての払出停止コマンドの入力に応じて前記払出装置の払出動作を行わない払出停止状態に制御可能であるとともに、前記払出装置から払い出すべき遊技媒体数を特定可能なコマンドとしての遊技媒体払出数コマンドを払出停止状態であっても入力することが可能であって、
前記遊技制御手段によって出力される取込信号としての矩形波のレベル変化に応じて発生する割込処理により、前記遊技制御手段が出力したコマンドを入力するためのコマンド入力処理を実行する
ことを特徴とする遊技機。
【請求項２】
遊技制御手段は、払出のための遊技媒体が不足しているか否かを検出する遊技媒体不足検出手段が遊技媒体の不足を検出したことにもとづいて払出停止コマンドを出力する
請求項１記載の遊技機。
【請求項３】
遊技制御手段は、払い出された遊技媒体を貯留する貯留部の貯留遊技媒体が所定量を越えたか否かを検出する満タン検出手段が、貯留遊技媒体が所定量を越えたことを検出したことにもとづいて払出停止コマンドを出力する
請求項１記載の遊技機。
【請求項４】
遊技制御手段は、矩形波のオンレベル期間が経過しオフレベルとなった後でも、所定の出力維持期間中はコマンドデータの出力を維持する
請求項１記載の遊技機。
【請求項５】
払出制御手段は、コマンド入力処理において、遊技制御手段から入力されたコマンドをコマンド格納バッファに格納する
請求項１記載の遊技機。
【請求項６】
コマンド格納バッファは、コマンドを同時に複数個格納可能である
請求項５記載の遊技機。
【請求項７】
払出制御手段は、払い出すべき遊技媒体の未払出数を特定することが可能な数値を記憶するための未払出数カウンタを備え、
コマンド格納バッファに格納された遊技媒体払出数コマンドに応じて、前記未払出数カウンタを加算する
請求項５または請求項６記載の遊技機。
【請求項８】
払出制御手段は、コマンド格納バッファに格納された払出停止コマンドに応じて、払出停止状態への制御を行う
請求項５から請求項７のうちのいずれかに記載の遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、本発明は、遊技者の操作に応じて遊技が行われるパチンコ遊技機、コイン遊技機、スロット機等の遊技機に関する。
【０００２】
【従来の技術】
遊技機の一例として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【０００３】
遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。
【０００４】
特別図柄を表示する可変表示部を備えた第１種パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個（例えば１０個）の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数（例えば１６ラウンド）に固定されている。なお、各開放について開放時間（例えば２９．５秒）が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件（例えば、大入賞口内に設けられているＶゾーンへの入賞）が成立していない場合には、大当り遊技状態は終了する。
【０００５】
また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に確定的な、または一時的な表示結果が導出表示されている可変表示部の表示態様が特定の表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「大当り」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【０００６】
遊技機における遊技進行はマイクロコンピュータ等による遊技制御手段によって制御される。可変表示装置に表示される識別情報、キャラクタ画像および背景画像は、遊技制御手段からの表示制御コマンドデータに従って動作する表示制御手段によって制御される。可変表示装置に表示される識別情報、キャラクタ画像および背景画像は、一般に、表示制御用のマイクロコンピュータとマイクロコンピュータの指示に応じて画像データを生成して可変表示装置側に転送するビデオディスプレイプロセッサ（ＶＤＰ）とによって制御されるが、表示制御用のマイクロコンピュータのプログラム容量は大きい。
【０００７】
従って、プログラム容量に制限のある遊技制御手段のマイクロコンピュータで可変表示装置に表示される識別情報等を制御することはできず、遊技制御手段のマイクロコンピュータとは別の表示制御用のマイクロコンピュータ（表示制御手段）が用いられる。よって、遊技の進行を制御する遊技制御手段は、表示制御手段に対して表示制御のためのコマンドを送信する必要がある。
【０００８】
また、そのような遊技機では、遊技盤にスピーカが設けられ、遊技効果を増進するために遊技の進行に伴ってスピーカから種々の効果音が発せられる。また、遊技盤にランプやＬＥＤ等の発光体が設けられ、遊技効果を増進するために遊技の進行に伴ってそれらの発光体が点灯されたり消灯されたりする。効果音を発生する音声制御やランプ点灯／滅灯のタイミング制御は、遊技の進行を制御する遊技制御手段によって行われる。よって、遊技制御手段とは別に、音発生やランプ・ＬＥＤ駆動を行う音声制御手段やランプ制御手段が設けられている場合には、遊技制御手段は、それらの制御手段に対してコマンドを送信する必要がある。
【０００９】
そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板にコマンドとして送信される。なお、以下、遊技制御手段およびその他の制御手段は、遊技機に設けられている各種電気部品を制御するので、それらを電気部品制御手段と呼ぶことがある。
【００１０】
【発明が解決しようとする課題】
以上のように、遊技制御手段とは別体に種々の電気部品制御手段が設けられている場合には、遊技制御手段から各電気部品制御手段に制御コマンドを送信しなければならない。また、各電気部品制御手段は受信した制御コマンドにもとづく種々の処理を行うのであるが、制御コマンドは遊技制御手段の処理にもとづいて発生するので、遊技制御手段とは独立して動作している電気部品制御手段の処理実行中のどの段階でも制御コマンドが送出されうる。すなわち、決まったタイミングで制御コマンドが送出されてくるというのではなく、電気部品制御手段の動作中に突然に制御コマンドが送出されてくる。制御コマンドの受信がされなかったり受信を誤ったりすると、電気部品制御手段が本来行わなければならない制御に支障を来すので、各電気部品制御手段は、どのような制御状態であっても、遊技制御手段からの制御コマンドを迅速かつ確実に受信する必要がある。
【００１１】
そこで、本発明は、遊技制御手段から他の電気部品制御手段に対してコマンドが送出される構成の遊技機において、制御状態にかかわらず、電気部品制御手段が確実にコマンドを受信することができる遊技機を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明による遊技機は、遊技者が所定の遊技を行うことが可能な遊技機であって、遊技媒体の払出を行う払出装置と、遊技の進行を制御するとともに、遊技機に設けられている電気部品を制御させるための信号（例えば、払出制御コマンド）としてのコマンド（コマンドデータの構成は、例えばＭＯＤＥデータおよびＥＸＴデータで構成されていても、何れか一方で構成されていてもよく、また各データを複数持つものであってもよいし、例えばＭＯＤＥデータやＥＸＴデータ以外のデータから構成されるものなどのようなデータであってもよい。）を出力するコマンド出力処理と、コマンドの取込を指示するための取込信号を出力する取込信号出力処理とを実行可能な遊技制御手段と、遊技制御手段からのコマンドに応じて電気部品を制御する複数の電気部品制御手段とを備え、複数の電気部品制御手段は、遊技制御手段からのコマンドに応じて払出装置を制御可能な払出制御手段を含み、遊技制御手段からのコマンドは２バイトのコマンドデータで構成され、遊技制御手段は、複数の電気部品制御手段の各々に対してコマンド出力処理により複数ビットのコマンドデータを出力するためのコマンド出力ポート回路と、コマンド出力ポート回路とは別個に設けられ、複数の電気部品制御手段の各々に対して取込信号出力処理により１ビットの取込信号を出力するための各々のビットを有する１つの取込信号出力ポート回路とを含み、複数の電気部品制御手段の各々に対してコマンドを出力する場合に、同一のコマンド出力処理ルーチンを用いてコマンド出力処理と取込信号出力処理とを実行し、コマンドにおける１バイト目のコマンドデータを出力してから第１期間経過後に取込信号を出力し、第２期間経過後に２バイト目のコマンドデータを出力してから第１期間経過後に取込信号を出力し、第２期間を複数の電気部品制御手段のそれぞれがコマンドデータを受信するために要する期間のうちの最大の期間以上の値として、コマンドデータを出力し、払出制御手段は、払出装置の払出動作の禁止を指令するコマンドとしての払出停止コマンドの入力に応じて払出装置の払出動作を行わない払出停止状態に制御可能であるとともに、払出装置から払い出すべき遊技媒体数を特定可能なコマンドとしての遊技媒体払出数コマンドを払出停止状態であっても入力することが可能であって、遊技制御手段によって出力される取込信号としての矩形波のレベル変化に応じて発生する割込処理により、遊技制御手段が出力したコマンドを入力するためのコマンド入力処理を実行することを特徴とする。
【００１３】
遊技制御手段は、例えば、払出のための遊技媒体が不足しているか否かを検出する遊技媒体不足検出手段（例えば、球切れスイッチ１８７）が遊技媒体の不足を検出したことにもとづいて払出停止コマンドを出力する。
【００１４】
遊技制御手段は、例えば、払い出された遊技媒体を貯留する貯留部の貯留遊技媒体が所定量を越えたか否かを検出する満タン検出手段（例えば、満タンスイッチ４８）が、貯留遊技媒体が所定量を越えたことを検出したことにもとづいて払出停止コマンドを出力する。
【００１５】
遊技制御手段は、矩形波のオンレベル期間（例えばＢの期間であって、矩形波が正論理である場合にはハイレベル信号が出力される期間であり、矩形波が負論理である場合にはローレベル信号が出力される期間）が経過しオフレベル（矩形波が正論理である場合にはローレベルであり、矩形波が負論理である場合にはハイレベルを意味する）となった後でも、所定の出力維持期間中（例えばＣの期間中）はコマンドデータの出力を維持するように構成されていてもよい。
【００１６】
払出制御手段は、コマンド入力処理において、遊技制御手段から入力されたコマンドをコマンド格納バッファに格納するとしてもよい。
【００１７】
コマンド格納バッファは、コマンドを同時に複数個格納可能であるとしてもよい。
【００１８】
払出制御手段は、払い出すべき遊技媒体の未払出数を特定することが可能な数値を記憶するための未払出数カウンタを備え、コマンド格納バッファに格納された遊技媒体払出数コマンドに応じて、未払出数カウンタを加算する構成としてもよい。
【００１９】
払出制御手段は、コマンド格納バッファに格納された払出停止コマンドに応じて、払出停止状態への制御を行うように構成されていてもよい。
【００２０】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図１はパチンコ遊技機１を正面からみた正面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機やスロット機等であってもよい。
【００２１】
図１に示すように、パチンコ遊技機１は、額縁状に形成されたガラス扉枠２を有する。ガラス扉枠２の下部表面には打球供給皿３がある。打球供給皿３の下部には、打球供給皿３からあふれた遊技球を貯留する余剰玉受皿４と打球を発射する打球操作ハンドル（操作ノブ）５が設けられている。ガラス扉枠２の後方には、遊技盤６が着脱可能に取り付けられている。また、遊技盤６の前面には遊技領域７が設けられている。
【００２２】
遊技領域７の中央付近には、複数種類の図柄を可変表示するための可変表示部（特別図柄表示装置）９と７セグメントＬＥＤによる普通図柄表示器（普通図柄表示装置）１０とを含む可変表示装置８が設けられている。可変表示部９には、例えば「左」、「中」、「右」の３つの図柄表示エリアがある。可変表示装置８の側部には、打球を導く通過ゲート１１が設けられている。通過ゲート１１を通過した打球は、玉出口１３を経て始動入賞口１４の方に導かれる。通過ゲート１１と玉出口１３との間の通路には、通過ゲート１１を通過した打球を検出するゲートスイッチ１２がある。また、始動入賞口１４に入った入賞球は、遊技盤６の背面に導かれ、始動口スイッチ１７によって検出される。また、始動入賞口１４の下部には開閉動作を行う可変入賞球装置１５が設けられている。可変入賞球装置１５は、ソレノイド１６によって開状態とされる。
【００２３】
可変入賞球装置１５の下部には、特定遊技状態（大当り状態）においてソレノイド２１によって開状態とされる開閉板２０が設けられている。この実施の形態では、開閉板２０が大入賞口を開閉する手段となる。開閉板２０から遊技盤６の背面に導かれた入賞球のうち一方（Ｖゾーン）に入った入賞球はＶ入賞スイッチ２２で検出される。また、開閉板２０からの入賞球はカウントスイッチ２３で検出される。可変表示装置８の下部には、始動入賞口１４に入った入賞球数を表示する４個の表示部を有する始動入賞記憶表示器１８が設けられている。この例では、４個を上限として、始動入賞がある毎に、始動入賞記憶表示器１８は点灯している表示部を１つずつ増やす。そして、可変表示部９の可変表示が開始される毎に、点灯している表示部を１つ減らす。
【００２４】
遊技盤６には、複数の入賞口１９，２４が設けられ、遊技球のそれぞれの入賞口１９，２４への入賞は、対応して設けられている入賞口スイッチ１９ａ，１９ｂ，２４ａ，２４ｂによって検出される。遊技領域７の左右周辺には、遊技中に点滅表示される装飾ランプ２５が設けられ、下部には、入賞しなかった打球を吸収するアウト口２６がある。また、遊技領域７の外側の左右上部には、効果音を発する２つのスピーカ２７が設けられている。遊技領域７の外周には、遊技効果ＬＥＤ２８ａおよび遊技効果ランプ２８ｂ，２８ｃが設けられている。
【００２５】
そして、この例では、一方のスピーカ２７の近傍に、賞球残数があるときに点灯する賞球ランプ５１が設けられ、他方のスピーカ２７の近傍に、補給球が切れたときに点灯する球切れランプ５２が設けられている。さらに、図１には、パチンコ遊技機１に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット５０も示されている。
【００２６】
カードユニット５０には、使用可能状態であるか否かを示す使用可表示ランプ１５１、カード内に記録された残額情報に端数（１００円未満の数）が存在する場合にその端数を打球供給皿３の近傍に設けられる度数表示ＬＥＤに表示させるための端数表示スイッチ１５２、カードユニット５０がいずれの側のパチンコ遊技機１に対応しているのかを示す連結台方向表示器１５３、カードユニット５０内にカードが投入されていることを示すカード投入表示ランプ１５４、記録媒体としてのカードが挿入されるカード挿入口１５５、およびカード挿入口１５５の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット５０を解放するためのカードユニット錠１５６が設けられている。
【００２７】
打球発射装置から発射された打球は、打球レールを通って遊技領域７に入り、その後、遊技領域７を下りてくる。打球が通過ゲート１１を通ってゲートスイッチ１２で検出されると、普通図柄表示器１０の表示数字が連続的に変化する状態になる。また、打球が始動入賞口１４に入り始動口スイッチ１７で検出されると、図柄の変動を開始できる状態であれば、可変表示部９内の図柄が回転を始める。図柄の変動を開始できる状態でなければ、始動入賞記憶を１増やす。
【００２８】
可変表示部９内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板２０が、一定時間経過するまで、または、所定個数（例えば１０個）の打球が入賞するまで開放する。そして、開閉板２０の開放中に打球が特定入賞領域に入賞しＶ入賞スイッチ２２で検出されると、継続権が発生し開閉板２０の開放が再度行われる。継続権の発生は、所定回数（例えば１５ラウンド）許容される。
【００２９】
停止時の可変表示部９内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。また、普通図柄表示器１０における停止図柄が所定の図柄（当り図柄＝小当り図柄）である場合に、可変入賞球装置１５が所定時間だけ開状態になる。さらに、高確率状態では、普通図柄表示器１０における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置１５の開放時間と開放回数が高められる。
【００３０】
次に、パチンコ遊技機１の裏面に配置されている各基板について説明する。
図２に示すように、パチンコ遊技機１の裏面では、枠体２Ａ内の機構板の上部に玉貯留タンク３８が設けられ、パチンコ遊技機１が遊技機設置島に設置された状態でその上方から遊技球が球貯留タンク３８に供給される。球貯留タンク３８内の遊技球は、誘導樋３９を通って賞球ケース４０Ａで覆われる球払出装置に至る。
【００３１】
遊技機裏面側では、可変表示部９を制御する可変表示制御ユニット２９、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板（主基板）３１が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板３７、およびモータの回転力を利用して打球を遊技領域７に発射する打球発射装置が設置されている。さらに、装飾ランプ２５、遊技効果ＬＥＤ２８ａ、遊技効果ランプ２８ｂ，２８ｃ、賞球ランプ５１および球切れランプ５２に信号を送るためのランプ制御基板３５、スピーカ２７からの音声発生を制御するための音声制御基板７０および打球発射装置を制御するための発射制御基板９１も設けられている。
【００３２】
さらに、ＤＣ３０Ｖ、ＤＣ２１Ｖ、ＤＣ１２ＶおよびＤＣ５Ｖを作成する電源回路が搭載された電源基板９１０が設けられ、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板１６０が設置されている。ターミナル基板１６０には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板３１からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤３４が設置されている。なお、図２には、ランプ制御基板３５および音声制御基板７０からの信号を、枠側に設けられている遊技効果ＬＥＤ２８ａ、遊技効果ランプ２８ｂ，２８ｃ、賞球ランプ５１および球切れランプ５２に供給するための電飾中継基板Ａ７７が示されているが、信号中継の必要に応じて他の中継基板も設けられる。
【００３３】
図３はパチンコ遊技機１の機構板を背面からみた背面図である。球貯留タンク３８に貯留された玉は誘導樋３９を通り、図３に示されるように、球切れ検出器（球切れスイッチ）１８７ａ，１８７ｂを通過して球供給樋１８６ａ，１８６ｂを経て球払出装置９７に至る。球切れスイッチ１８７ａ，１８７ｂは遊技球通路内の遊技球の有無を検出するスイッチであるが、球タンク３８内の補給球の不足を検出する球切れ検出スイッチ１６７も設けられている。以下、球切れスイッチ１８７ａ，１８７ｂを、球切れスイッチ１８７と表現することがある。
【００３４】
球払出装置９７から払い出された遊技球は、連絡口４５を通ってパチンコ遊技機１の前面に設けられている打球供給皿３に供給される。連絡口４５の側方には、パチンコ遊技機１の前面に設けられている余剰玉受皿４に連通する余剰玉通路４６が形成されている。
【００３５】
入賞にもとづく景品球が多数払い出されて打球供給皿３が満杯になり、ついには遊技球が連絡口４５に到達した後さらに遊技球が払い出されると遊技球は、余剰玉通路４６を経て余剰玉受皿４に導かれる。さらに遊技球が払い出されると、感知レバー４７が満タンスイッチ４８を押圧して満タンスイッチ４８がオンする。その状態では、球払出装置９７内のステッピングモータの回転が停止して球払出装置９７の動作が停止するとともに打球発射装置の駆動も停止する。
【００３６】
次に、機構板３６に設置されている中間ベースユニットの構成について説明する。中間ベースユニットには、球供給樋１８６ａ，１８６ｂや球払出装置９７が設置される。図４に示すように、中間ベースユニットの上下には連結凹突部１８２が形成されている。連結凹突部１８２は、中間ベースユニットと機構板３６の上部ベースユニットおよび下部ベースユニットを連結固定するものである。
【００３７】
中間ベースユニットの上部には通路体１８４が固定されている。そして、通路体１８４の下部に球払出装置９７が固定されている。通路体１８４は、カーブ樋１７４（図３参照）によって流下方向を左右方向に変換された２列の遊技球を流下させる払出球通路１８６ａ，１８６ｂを有する。払出球通路１８６ａ，１８６ｂの上流側には、球切れスイッチ１８７ａ，１８７ｂが設置されている。球切れスイッチ１８７ａ，１８７ｂは、払出球通路１８６ａ，１８６ｂ内の遊技球の有無を検出するものであって、球切れスイッチ１８７ａ，１８７ｂが遊技球を検出しなくなると球払出装置９７における払出モータ（図４において図示せず）の回転を停止して球払出が不動化される。
【００３８】
なお、球切れスイッチ１８７ａ，１８７ｂは、払出球通路１８６ａ，１８６ｂに２７〜２８個程度の遊技球が存在することを検出できるような位置に係止片１８８によって係止されている。すなわち、球切れスイッチ１８７ａ，１８７ｂは、賞球の一単位の最大払出量（この実施の形態では１５個）および球貸しの一単位の最大払出量（この実施の形態では１００円：２５個）以上が確保されていることが確認できるような位置に設置されている。
【００３９】
通路体１８４の中央部は、内部を流下する遊技球の球圧を弱めるように、左右に湾曲する形状に形成されている。そして、払出球通路１８６ａ，１８６ｂの間に止め穴１８９が形成されている。止め穴１８９の裏面は中間ベースユニットに設けられている取付ボスがはめ込まれる。その状態で止めねじがねじ止めされて、通路体１８４は中間ベースユニットに固定される。なお、ねじ止めされる前に、中間ベースユニットに設けられている係止突片１８５によって通路体１８４の位置合わせを行えるようになっている。
【００４０】
通路体１８４の下方には、球払出装置９７に遊技球を供給するとともに故障時等には球払出装置９７への遊技球の供給を停止する球止め装置１９０が設けられている。球止め装置１９０の下方に設置される球払出装置９７は、直方体状のケース１９８の内部に収納されている。ケース１９８の左右４箇所には突部が設けられている。各突部が中間ベースユニットに設けられている位置決め突片に係った状態で、中間ベースユニットの下部に設けられている弾性係合片にケース１９８の下端がはめ込まれる。
【００４１】
図５は球払出装置９７の分解斜視図である。球払出装置９７の構成および作用について図５を参照して説明する。この実施形態における球払出装置９７は、ステッピングモータ（払出モータ）２８９がスクリュー２８８を回転させることによりパチンコ玉を１個ずつ払い出す。なお、球払出装置９７は、入賞にもとづく景品球だけでなく、貸し出すべき遊技球も払い出す。
【００４２】
図５に示すように、球払出装置９７は、２つのケース１９８ａ，１９８ｂを有する。それぞれのケース１９８ａ，１９８ｂの左右２箇所に、球払出装置９７の設置位置上部に設けられた位置決め突片に当接される係合突部２８０が設けられている。また、それぞれのケース１９８ａ，１９８ｂには、球供給路２８１ａ，２８１ｂが形成されている。球供給路２８１ａ，２８１ｂは湾曲面２８２ａ，２８２ｂを有し、湾曲面２８２ａ，２８２ｂの終端の下方には、球送り水平路２８４ａ，２８４ｂが形成されている。さらに、球送り水平路２８４ａ，２８４ｂの終端に球排出路２８３ａ，２８３ｂが形成されている。
【００４３】
球供給路２８１ａ，２８１ｂ、球送り水平路２８４ａ，２８４ｂ、球排出路２８３ａ，２８３ｂは、ケース１９８ａ，１９８ｂをそれぞれ前後に区画する区画壁２９５ａ，２９５ｂの前方に形成されている。また、区画壁２９５ａ，２９５ｂの前方において、玉圧緩衝部材２８５がケース１９８ａ，１９８ｂ間に挟み込まれる。玉圧緩衝部材２８５は、球払出装置９７に供給される玉を左右側方に振り分けて球供給路２８１ａ，２８１ｂに誘導する。
【００４４】
また、玉圧緩衝部材２８５の下部には、発光素子（ＬＥＤ）２８６と受光素子（図示せず）とによる払出モータ位置センサが設けられている。発光素子２８６と受光素子とは、所定の間隔をあけて設けられている。そして、この間隔内に、スクリュー２８８の先端が挿入されるようになっている。なお、玉圧緩衝部材２８５は、ケース１９８ａ，１９８ｂが張り合わされたときに、完全にその内部に収納固定される。
【００４５】
球送り水平路２８４ａ，２８４ｂには、払出モータ２８９によって回転させられるスクリュー２８８が配置されている。払出モータ２８９はモータ固定板２９０に固定され、モータ固定板２９０は、区画壁２９５ａ，２９５ｂの後方に形成される固定溝２９１ａ，２９１ｂにはめ込まれる。その状態で払出モータ２８９のモータ軸が区画壁２９５ａ，２９５ｂの前方に突出するので、その突出の前方にスクリュー２８８が固定される。スクリュー２８８の外周には、払出モータ２８９の回転によって球送り水平路２８４ａ，２８４ｂに載置された遊技球を前方に移動させるための螺旋突起２８８ａが設けられている。
【００４６】
そして、スクリュー２８８の先端には、発光素子２８６を収納するように凹部が形成され、その凹部の外周には、２つの切欠部２９２が互いに１８０度離れて形成されている。従って、スクリュー２８８が１回転する間に、発光素子２８６からの光は、切欠部２９２を介して受光素子で２回検出される。
【００４７】
つまり、発光素子２８６と受光素子とによる払出モータ位置センサは、スクリュー２８８を定位置で停止するためのものであり、かつ、払出動作が行われた旨を検出するものである。なお、発光素子２８６、受光素子および払出モータ２８９からの配線は、まとめられてケース１９８ａ，１９８ｂの後部下方に形成された引出穴から外部に引き出されコネクタに結線される。
【００４８】
遊技球が球送り水平路２８４ａ，２８４ｂに載置された状態において、払出モータ２８９が回転すると、スクリュー２８８の螺旋突起２８８ａによって、遊技球は、球送り水平路２８４ａ，２８４ｂ上を前方に向かって移動する。そして、遂には、球送り水平路２８４ａ，２８４ｂの終端から球排出路２８３ａ，２８３ｂに落下する。このとき、左右の球送り水平路２８４ａ，２８４ｂからの落下は交互に行われる。すなわち、スクリュー２８８が半回転する毎に一方から１個の遊技球が落下する。従って、１個の遊技球が落下する毎に、発光素子２８６からの光が受光素子によって検出される。
【００４９】
図４に示すように、球払出装置９７の下方には、球振分部材（切替部材）３１１が設けられている。球振分部材３１１は、振分ソレノイド３１０によって駆動される。例えば、ソレノイド３１０のオン時には、球振分部材３１１は右側に倒れ、オフ時には左側に倒れる。振分ソレノイド３１０の下方には、近接スイッチによる賞球カウントスイッチ３０１Ａおよび球貸しカウントスイッチ３０１Ｂが設けられている。入賞にもとづく賞球時には、球振分部材３１１は右側に倒れ、球排出路２８３ａ，２８３ｂからの玉はともに賞球カウントスイッチ３０１Ａを通過する。また、球貸し時には、球振分部材３１１は左側に倒れ、球排出路２８３ａ，２８３ｂからの玉はともに球貸しカウントスイッチ３０１Ｂを通過する。従って、球払出装置９７は、賞球時と球貸し時とで払出流下路を切り替えて、所定数の遊技媒体の払出を行うことができる。
【００５０】
このように、球振分部材３１１を設けることによって、２条の玉流路を落下してきた玉は、賞球カウントスイッチ３０１Ａと球貸しカウントスイッチ３０１Ｂとのうちのいずれか一方しか通過しない。従って、賞球であるのか球貸しであるのかの判断をすることなく、賞球カウントスイッチ３０１Ａと球貸しカウントスイッチ３０１Ｂの検出出力から、直ちに賞球数または球貸し数を把握することができる。
【００５１】
なお、この実施の形態では、電気的駆動源の駆動によって遊技球を払い出す球払出装置として、ステッピングモータの回転によって遊技球が払い出される球払出装置９７を用いることにするが、その他の駆動源によって遊技球を送り出す構造の球払出装置を用いてもよいし、ソレノイド等の電気的駆動源の駆動によってストッパを外し遊技球の自重によって払い出しがなされる構造の球払出装置を用いてもよい。また、この実施の形態では、球払出装置９７は賞球にもとづく景品球と貸出要求にもとづく貸し球の双方を払い出すが、それぞれについて払出装置が設けられていてもよい。
【００５２】
図６は、主基板３１における回路構成の一例を示すブロック図である。なお、図６には、払出制御基板３７、ランプ制御基板３５、音声制御基板７０、発射制御基板９１および図柄制御基板８０も示されている。主基板３１には、プログラムに従ってパチンコ遊技機１を制御する基本回路５３と、ゲートスイッチ１２、始動口スイッチ１７、Ｖ入賞スイッチ２２、カウントスイッチ２３、入賞口スイッチ１９ａ，１９ｂ，２４ａ，２４ｂ、満タンスイッチ４８、球切れスイッチ１８７および賞球カウントスイッチ３０１Ａからの信号を基本回路５３に与えるスイッチ回路５８と、可変入賞球装置１５を開閉するソレノイド１６、開閉板２０を開閉するソレノイド２１および大入賞口内の経路を切り換えるためのソレノイド２１Ａを基本回路５３からの指令に従って駆動するソレノイド回路５９とが搭載されている。
【００５３】
なお、図６には示されていないが、カウントスイッチ短絡信号もスイッチ回路５８を介して基本回路５３に伝達される。
【００５４】
また、基本回路５３から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示部９の画像表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部機器に対して出力する情報出力回路６４が搭載されている。
【００５５】
基本回路５３は、ゲーム制御用のプログラム等を記憶するＲＯＭ５４、ワークメモリとして使用される記憶手段の一例であるＲＡＭ５５、プログラムに従って制御動作を行うＣＰＵ５６およびＩ／Ｏポート部５７を含む。この実施の形態では、ＲＯＭ５４，ＲＡＭ５５はＣＰＵ５６に内蔵されている。すなわち、ＣＰＵ５６は、１チップマイクロコンピュータである。なお、１チップマイクロコンピュータは、少なくともＲＡＭ５５が内蔵されていればよく、ＲＯＭ５４およびＩ／Ｏポート部５７は外付けであっても内蔵されていてもよい。
【００５６】
さらに、主基板３１には、電源投入時に基本回路５３をリセットするためのシステムリセット回路６５が設けられている。
【００５７】
遊技球を打撃して発射する打球発射装置は発射制御基板９１上の回路によって制御される駆動モータ９４で駆動される。そして、駆動モータ９４の駆動力は、操作ノブ５の操作量に従って調整される。すなわち、発射制御基板９１上の回路によって、操作ノブ５の操作量に応じた速度で打球が発射されるように制御される。
【００５８】
なお、この実施の形態では、ランプ制御基板３５に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器１８、ゲート通過記憶表示器４１および装飾ランプ２５の表示制御を行うとともに、枠側に設けられている遊技効果ランプ・ＬＥＤ２８ａ，２８ｂ，２８ｃ、賞球ランプ５１および球切れランプ５２の表示制御を行う。また、特別図柄を可変表示する可変表示部９および普通図柄を可変表示する普通図柄表示器１０の表示制御は、図柄制御基板８０に搭載されている表示制御手段によって行われる。
【００５９】
図７は、払出制御基板３７および球払出装置９７の構成要素などの払出に関連する構成要素を示すブロック図である。図７に示すように、満タンスイッチ４８からの検出信号は、中継基板７１を介して主基板３１のＩ／Ｏポート５７に入力される。満タンスイッチ４８は、余剰球受皿４の満タンを検出するスイッチである。また、球切れスイッチ１８７（１８７ａ，１８７ｂ）からの検出信号も、中継基板７２および中継基板７１を介して主基板３１のＩ／Ｏポート５７に入力される。
【００６０】
主基板３１のＣＰＵ５６は、球切れスイッチ１８７からの検出信号が球切れ状態を示しているか、または、満タンスイッチ４８からの検出信号が満タン状態を示していると、払出禁止を指示する払出制御コマンド（払出停止状態指定コマンド）を送出する。払出停止状態指定コマンドを受信すると、払出制御基板３７の払出制御用ＣＰＵ３７１は球払出処理を停止する。
【００６１】
さらに、賞球カウントスイッチ３０１Ａからの検出信号は、中継基板７２および中継基板７１を介して主基板３１のＩ／Ｏポート５７に入力されるとともに、中継基板７２を介して払出制御基板３７の入力ポート３７２ｂに入力される。賞球カウントスイッチ３０１Ａは、球払出装置９７の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【００６２】
入賞があると、払出制御基板３７には、主基板３１の出力ポート（ポート０，１）５７０，５７１から賞球個数を示す払出制御コマンドが入力される。出力ポート（出力ポート１）５７１は８ビットのデータを出力し、出力ポート５７０は１ビットの取込信号としてのストローブ信号（ＩＮＴ信号）を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路３７３Ａを介してＩ／Ｏポート３７２ａに入力される。ＩＮＴ信号は、入力バッファ回路３７３Ｂを介して払出制御用ＣＰＵ３７１の割込端子に入力されている。払出制御用ＣＰＵ３７１は、Ｉ／Ｏポート３７２ａを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置９７を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用ＣＰＵ３７１は、１チップマイクロコンピュータであり、少なくともＲＡＭが内蔵されている。
【００６３】
また、主基板３１において、出力ポート５７０，５７１の外側にバッファ回路６２０，６８Ａが設けられている。バッファ回路６２０，６８Ａとして、例えば、汎用のＣＭＯＳ−ＩＣである７４ＨＣ２５０，７４ＨＣ１４が用いられる。このような構成によれば、外部から主基板３１の内部に入力される信号が阻止されるので、払出制御基板３７から主基板３１に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路６２０，６８Ａの出力側にノイズフィルタを設けてもよい。
【００６４】
払出制御用ＣＰＵ３７１は、出力ポート３７２ｃを介して、貸し球数を示す球貸し個数信号をターミナル基板１６０に出力する。さらに、出力ポート３７２ｄを介して、エラー表示用ＬＥＤ３７４にエラー信号を出力する。
【００６５】
さらに、払出制御基板３７の入力ポート３７２ｂには、中継基板７２を介して球貸しカウントスイッチ３０１Ｂからの検出信号が入力される。球貸しカウントスイッチ３０１Ｂは、球払出装置９７の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板３７からの払出モータ２８９への駆動信号はあ、出力ポート３７２ｃおよび中継基板７２を介して球払出装置９７の払出機構部分における払出モータ２８９に伝えられ、振分ソレノイド３１０への駆動信号は、出力ポート３７２ｅおよび中継基板７２を介して球払出装置９７の払出機構部分における振分ソレノイド３１０に伝えられる。
【００６６】
カードユニット５０には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット５０には、端数表示スイッチ１５２、連結台方向表示器１５３、カード投入表示ランプ１５４およびカード挿入口１５５が設けられている（図１参照）。残高表示基板７４には、打球供給皿３の近傍に設けられている度数表示ＬＥＤ、球貸しスイッチおよび返却スイッチが接続される。
【００６７】
残高表示基板７４からカードユニット５０には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板３７を介して与えられる。また、カードユニット５０から残高表示基板７４には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板３７を介して与えられる。カードユニット５０と払出制御基板３７の間では、接続信号（ＶＬ信号）、ユニット操作信号（ＢＲＤＹ信号）、球貸し要求信号（ＢＲＱ信号）、球貸し完了信号（ＥＸＳ信号）およびパチンコ機動作信号（ＰＲＤＹ信号）が入力ポート３７２ｂおよび出力ポート３７２ｅを介してやりとりされる。
【００６８】
パチンコ遊技機１の電源が投入されると、払出制御基板３７の払出制御用ＣＰＵ３７１は、カードユニット５０にＰＲＤＹ信号を出力する。また、カードユニット制御用マイクロコンピュータは、ＶＬ信号を出力する。払出制御用ＣＰＵ３７１は、ＶＬ信号の入力状態により接続状態／未接続状態を判定する。カードユニット５０においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板３７にＢＲＤＹ信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板３７にＢＲＱ信号を出力する。
【００６９】
そして、払出制御基板３７の払出制御用ＣＰＵ３７１は、カードユニット５０に対するＥＸＳ信号を立ち上げ、カードユニット５０からのＢＲＱ信号の立ち下がりを検出すると、払出モータ２８９を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド３１０は駆動状態とされている。すなわち、球振分部材３１１を球貸し側に向ける。そして、払出が完了したら、払出制御用ＣＰＵ３７１は、カードユニット５０に対するＥＸＳ信号を立ち下げる。その後、カードユニット５０からのＢＲＤＹ信号がオン状態でなければ、賞球払出制御を実行する。
【００７０】
以上のように、カードユニット５０からの信号は全て払出制御基板３７に入力される構成になっている。従って、球貸し制御に関して、カードユニット５０から主基板３１に信号が入力されることはなく、主基板３１の基本回路５３にカードユニット５０の側から不正に信号が入力される余地はない。また、カードユニット５０で用いられる電源電圧ＡＣ２４Ｖは払出制御基板３７から供給される。
【００７１】
また、この実施の形態では、カードユニット５０が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット５０は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球を貸し出すように構成した場合でも本発明を適用できる。すなわち、遊技機は遊技球の払出として賞球払出のみを行う場合でも本発明を適用可能である。
【００７２】
図８は、電源基板９１０の一構成例を示すブロック図である。電源基板９１０は、主基板３１、図柄制御基板８０、音声制御基板７０、ランプ制御基板３５および払出制御基板３７等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、ＡＣ２４Ｖ、ＶSL（ＤＣ＋３０Ｖ）、ＤＣ＋２１Ｖ、ＤＣ＋１２ＶおよびＤＣ＋５Ｖを生成する。また、バックアップ電源となるコンデンサ９１６は、ＤＣ＋５Ｖすなわち各基板上のＩＣ等を駆動する電源のラインから充電される。なお、ＶSLは、整流回路９１２において、整流素子でＡＣ２４Ｖを整流昇圧することによって生成される。ＶSLは、ソレノイド駆動電源となる。
【００７３】
トランス９１１は、交流電源からの交流電圧を２４Ｖに変換する。ＡＣ２４Ｖ電圧は、コネクタ９１５に出力される。また、整流回路９１２は、ＡＣ２４Ｖから＋３０Ｖの直流電圧を生成し、ＤＣ−ＤＣコンバータ９１３およびコネクタ９１５に出力する。ＤＣ−ＤＣコンバータ９１３は、１つまたは複数のコンバータＩＣ９２２（図８では１つのみを示す。）を有し、ＶSLにもとづいて＋２１Ｖ、＋１２Ｖおよび＋５Ｖを生成してコネクタ９１５に出力する。コンバータＩＣ９２２の入力側には、比較的大容量のコンデンサ９２３が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、＋３０Ｖ、＋１２Ｖ、＋５Ｖ等の直流電圧は、比較的緩やかに低下する。この結果、コンデンサ９２３は、後述する補助駆動電源の役割を果たす。コネクタ９１５は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【００７４】
ただし、電源基板９１０に各電気部品制御基板に至る各コネクタを設け、電源基板９１０から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図８には１つのコネクタ９１５が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【００７５】
ＤＣ−ＤＣコンバータ９１３からの＋５Ｖラインは分岐してバックアップ＋５Ｖラインを形成する。バックアップ＋５Ｖラインとグラウンドレベルとの間には大容量のコンデンサ９１６が接続されている。コンデンサ９１６は、遊技機に対する電力供給が遮断されたときの電気部品制御基板のバックアップＲＡＭ（電源バックアップされているＲＡＭすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段）に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、＋５Ｖラインとバックアップ＋５Ｖラインとの間に、逆流防止用のダイオード９１７が挿入される。この実施の形態では、バックアップ用の＋５Ｖは、主基板３１および払出制御基板３７に供給される。
【００７６】
なお、バックアップ電源として、＋５Ｖ電源から充電可能な電池を用いてもよい。電池を用いる場合には、＋５Ｖ電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。
【００７７】
また、電源基板９１０には、電源監視用ＩＣ９０２が搭載されている。電源監視用ＩＣ９０２は、ＶSL電圧を導入し、ＶSL電圧を監視することによって電源断の発生を検出する。具体的には、ＶSL電圧が所定値（この例では＋２２Ｖ）以下になったら、電源断が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧（この例では＋５Ｖ）よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるＶSLが用いられている。電源監視用ＩＣ９０２からの電源断信号は、主基板３１や払出制御基板３７等に供給される。
【００７８】
電源監視用ＩＣ９０２が電源断を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のＣＰＵが暫くの間動作しうる程度の電圧である。また、電源監視用ＩＣ９０２が、ＣＰＵ等の回路素子を駆動するための電圧（この例では＋５Ｖ）よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、ＣＰＵが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてＶSL（＋３０Ｖ）を用いる場合には、遊技機の各種スイッチに供給される電圧が＋１２Ｖであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、＋３０Ｖ電源の電圧を監視すると、＋３０Ｖ作成の以降に作られる＋１２Ｖが落ち始める以前の段階でそれの低下を検出できる。
【００７９】
よって、＋１２Ｖ電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、＋１２Ｖより早く低下する＋３０Ｖ電源電圧を監視して電源断を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【００８０】
また、電源監視用ＩＣ９０２は、電気部品制御基板とは別個の電源基板９１０に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は１つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復帰制御を行っても、遊技機のコストはさほど上昇しない。
【００８１】
なお、図８に示された構成では、電源監視用ＩＣ９０２の検出出力（電源断信号）は、バッファ回路９１８，９１９を介してそれぞれの電気部品制御基板（例えば主基板３１と払出制御基板３７）に伝達されるが、例えば、１つの検出出力を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。
【００８２】
図９は、主基板３１におけるＣＰＵ５６周りの一構成例を示すブロック図である。図９に示すように、電源基板９１０の電源監視回路（電源監視手段）からの電源断信号が、ＣＰＵ５６のマスク不能割込端子（ＸＮＭＩ端子）に接続されている。電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、ＶSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電源断信号を発生する。ＶSLは、遊技機における直流電圧のうちで最大のものであり、この例では＋３０Ｖである。従って、ＣＰＵ５６は、割込処理によって電源断の発生を確認することができる。
【００８３】
図９には、システムリセット回路６５も示されている。リセットＩＣ６５１は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてＣＰＵ５６を動作可能状態にする。また、リセットＩＣ６５１は、電源監視回路が監視する電源電圧と等しい電源電圧であるＶSLの電源電圧を監視して電圧値が所定値（電源監視回路が電源断信号を出力する電源電圧値よりも低い値）以下になると出力をローレベルにする。従って、ＣＰＵ５６は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【００８４】
図９に示すように、リセットＩＣ６５１からのリセット信号は、ＮＡＮＤ回路９４７に入力されるとともに、反転回路（ＮＯＴ回路）９４４を介してカウンタＩＣ９４１のクリア端子に入力される。カウンタＩＣ９４１は、クリア端子への入力がローレベルになると、発振器９４３からのクロック信号をカウントする。そして、カウンタＩＣ９４１のＱ５出力がＮＯＴ回路９４５，９４６を介してＮＡＮＤ回路９４７に入力される。また、カウンタＩＣ９４１のＱ６出力は、フリップフロップ（ＦＦ）９４２のクロック端子に入力される。フリップフロップ９４２のＤ入力はハイレベルに固定され、Ｑ出力は論理和回路（ＯＲ回路）９４９に入力される。ＯＲ回路９４９の他方の入力には、ＮＡＮＤ回路９４７の出力がＮＯＴ回路９４８を介して導入される。そして、ＯＲ回路９４９の出力がＣＰＵ５６のリセット端子に接続されている。このような構成によれば、電源投入時に、ＣＰＵ５６のリセット端子に２回のリセット信号（ローレベル信号）が与えられるので、ＣＰＵ５６は、確実に動作を開始する。
【００８５】
そして、例えば、電源監視回路の検出電圧（電源断信号を出力することになる電圧）を＋２２Ｖとし、リセット信号をローレベルにするための検出電圧を＋９Ｖとする。そのように構成した場合には、電源監視回路とシステムリセット回路６５とが、同一の電源ＶSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路６５がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
【００８６】
ＣＰＵ５６等の駆動電源である＋５Ｖ電源から電力が供給されていない間、ＲＡＭの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、＋５Ｖ電源が復旧すると、システムリセット回路６５からリセット信号が発せられるので、ＣＰＵ５６は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップＲＡＭに保存されているので、停電等からの復旧時に停電発生時の遊技状態に復帰することができる。
【００８７】
なお、図９に示す構成では、電源投入時にＣＰＵ５６のリセット端子に２回のリセット信号（ローレベル信号）が与えられるが、リセット信号の立ち上がりタイミングが１回しかなくても確実にリセット解除されるＣＰＵを使用する場合には、符号９４１〜９４９で示された回路素子は不要である。その場合、リセットＩＣ６５１の出力がそのままＣＰＵ５６のリセット端子に接続される。
【００８８】
この実施の形態で用いられるＣＰＵ５６は、Ｉ／Ｏポート（ＰＩＯ）およびタイマ／カウンタ回路（ＣＴＣ）も内蔵している。ＰＩＯは、ＰＢ０〜ＰＢ３の４ビットおよびＰＡ０〜ＰＡ７の１バイトのポートを有する。ＰＢ０〜ＰＢ３およびＰＡ０〜ＰＡ７のポートは、入力／出力いずれにも設定できる。
【００８９】
図１０および図１１は、この実施の形態における出力ポートの割り当てを示す説明図である。図１０に示すように、出力ポート０は各電気部品制御基板に送出される制御コマンドのストローブ信号（ＩＮＴ信号）の出力ポートである。また、払出制御基板３７に送出される払出制御コマンドの８ビットのデータは出力ポート１から出力され、図柄制御基板８０に送出される表示制御コマンドの８ビットのデータは出力ポート２から出力され、ランプ制御基板３５に送出されるランプ制御コマンドの８ビットのデータは出力ポート３から出力される。そして、図１１に示すように、音声制御基板７０に送出される音声制御コマンドの８ビットのデータは出力ポート４から出力される。
【００９０】
また、出力ポート５から、情報出力回路６４を介して情報端子板３４やターミナル基板１６０に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート６から、可変入賞球装置１５を開閉するためのソレノイド１６、大入賞口の開閉板２を開閉するためのソレノイド２１、および大入賞口内の経路を切り換えるためのソレノイド２１Ａに対する駆動信号が出力される。
【００９１】
図１０に示すように、払出制御基板３７、図柄制御基板８０、ランプ制御基板３５および音声制御基板７０に対して出力される各ＩＮＴ信号（払出制御信号ＩＮＴ、表示制御信号ＩＮＴ、ランプ制御信号ＩＮＴおよび音声制御信号ＩＮＴ）を出力する出力ポート（出力ポート０）と、払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７および音声制御信号ＣＤ０〜ＣＤ７を出力する出力ポート（出力ポート１〜４）とは、別ポートである。従って、ＩＮＴ信号を出力する際に、誤って払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７および音声制御信号ＣＤ０〜ＣＤ７を変化させてしまう可能性が低減する。また、払出制御信号ＣＤ０〜ＣＤ７、表示制御信号ＣＤ０〜ＣＤ７、ランプ制御信号ＣＤ０〜ＣＤ７または音声制御信号ＣＤ０〜ＣＤ７を出力する際に、誤ってＩＮＴ信号を変化させてしまう可能性が低減する。その結果、主基板３１の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各ＩＮＴ信号は、全て出力ポート０から出力されるように構成されているので、遊技制御手段のＩＮＴ信号出力処理の負担が軽減される。
【００９２】
図１２は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図１２に示すように、入力ポート０のビット０〜７には、それぞれ、入賞口スイッチ２４ａ、入賞口スイッチ２４ｂ、入賞口スイッチ１９ａ、入賞口スイッチ１９ｂ、始動口スイッチ１７、カウントスイッチ２３、Ｖ入賞スイッチ（特定領域スイッチ）２２、ゲートスイッチ１２の検出信号が入力される。また、入力ポート１のビット０〜３には、それぞれ、賞球カウントスイッチ３０１Ａ、満タンスイッチ４８、球切れスイッチ１８７の検出信号、カウントスイッチ短絡信号が入力される。
【００９３】
次に遊技機の動作について説明する。
図１３は、主基板３１におけるＣＰＵ５６が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、ＣＰＵ５６は、まず、必要な初期設定を行う。
【００９４】
初期設定処理において、ＣＰＵ５６は、まず、割込禁止に設定する（ステップＳ１）。次に、割込モードを割込モード２に設定し（ステップＳ２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ３）。そして、内蔵デバイスレジスタの初期化を行う（ステップＳ４）。また、内蔵デバイス（内蔵周辺回路）であるＣＴＣ（カウンタ／タイマ）およびＰＩＯ（パラレル入出力ポート）の初期化（ステップＳ５）を行った後、ＲＡＭをアクセス可能状態に設定する（ステップＳ６）。
【００９５】
この実施の形態で用いられているＣＰＵ５６には、マスク可能な割込（ＩＮＴ）のモードとして以下の３種類のモードが用意されている。なお、マスク可能な割込が発生すると、ＣＰＵ５６は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【００９６】
割込モード０：割込要求を行った内蔵デバイスがＲＳＴ命令（１バイト）またはＣＡＬＬ命令（３バイト）をＣＰＵの内部データバス上に送出する。よって、ＣＰＵ５６は、ＲＳＴ命令に対応したアドレスまたはＣＡＬＬ命令で指定されるアドレスの命令を実行する。リセット時に、ＣＰＵ５６は自動的に割込モード０になる。よって、割込モード１または割込モード２に設定したい場合には、初期設定処理において、割込モード１または割込モード２に設定するための処理を行う必要がある。
【００９７】
割込モード１：割込が受け付けられると、常に００３８（ｈ）番地に飛ぶモードである。
【００９８】
割込モード２：ＣＰＵ５６の特定レジスタ（Ｉレジスタ）の値（１バイト）と内蔵デバイスが出力する割込ベクタ（１バイト：最下位ビット０）から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた２バイトで示されるアドレスである。従って、任意の（飛び飛びではあるが）偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【００９９】
よって、割込モード２に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード１とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップＳ２において、ＣＰＵ５６は割込モード２に設定される。
【０１００】
そして、電源断時にバックアップＲＡＭ領域のデータ保護処理（例えばパリティデータの付加等の停電発生ＮＭＩ処理）が行われたか否か確認する（ステップＳ７）。この実施の形態では、不測の電源断が生じた場合には、バックアップＲＡＭ領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、ＣＰＵ５６は初期化処理を実行する。
【０１０１】
この実施の形態では、バックアップＲＡＭ領域にバックアップデータがあるか否かは、電源断時にバックアップＲＡＭ領域に設定されるバックアップフラグの状態によって確認される。この例では、図１４に示すように、バックアップフラグ領域に「５５Ｈ」が設定されていればバックアップあり（オン状態）を意味し、「５５Ｈ」以外の値が設定されていればバックアップなし（オフ状態）を意味する。
【０１０２】
バックアップありを確認したら、ＣＰＵ５６は、バックアップＲＡＭ領域のデータチェック（この例ではパリティチェック）を行う。不測の電源断が生じた後に復旧した場合には、バックアップＲＡＭ領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【０１０３】
チェック結果が正常であれば（ステップＳ８）、ＣＰＵ５６は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電源断時の状態に戻すための遊技状態復旧処理を行う（ステップＳ９）。そして、バックアップＲＡＭ領域に保存されていたＰＣ（プログラムカウンタ）の退避値がＰＣに設定され、そのアドレスに復帰する。
【０１０４】
初期化処理では、ＣＰＵ５６は、まず、ＲＡＭクリア処理を行う（ステップＳ１１）。また、所定の作業領域（例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、払出コマンド格納ポインタなど）に初期値を設定する初期値設定処理も行われる。さらに、サブ基板（ランプ制御基板３５、払出制御基板３７、音声制御基板７０、図柄制御基板８０）を初期化するための処理を実行する（ステップＳ１３）。サブ基板を初期化する処理とは、例えば初期設定コマンドを送出する処理である。初期設定コマンドとして、例えば、払出制御基板３７に出力される払出可能状態指定コマンド（払出可能状態の場合）または払出停止状態指定コマンド（払出不能状態の場合）がある。払出不能状態として、例えば、球切れスイッチ１８７または満タンスイッチ４８がオンしていた状態がある。すなわち、ＣＰＵ５６は、球切れスイッチ１８７または満タンスイッチ４８がオンしていたら払出制御基板３７に払出停止状態指定コマンドを送出し、そうでなければ、払出可能状態指定コマンドを送出する。なお、払出可能状態指定コマンド（払出可能状態の場合）または払出停止状態指定コマンド（払出不能状態の場合）は、ステップＳ９の遊技状態復旧処理においても実行されるように構成してもよい。
【０１０５】
そして、２ｍｓ毎に定期的にタイマ割込がかかるようにＣＰＵ５６に設けられているＣＴＣのレジスタの設定が行われる（ステップＳ１４）。すなわち、初期値として２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。そして、初期設定処理のステップＳ１において割込禁止とされているので、初期化処理を終える前に割込が許可される（ステップＳ１５）。
【０１０６】
この実施の形態では、ＣＰＵ５６の内蔵ＣＴＣが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は２ｍｓに設定される。そして、タイマ割込が発生すると、図１５に示すように、ＣＰＵ５６は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする（ステップＳ１２）。
【０１０７】
初期化処理の実行（ステップＳ１１〜Ｓ１５）が完了すると、メイン処理で、タイマ割込が発生したか否かの監視（ステップＳ１７）の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理（ステップＳ１６）も実行される。
【０１０８】
ＣＰＵ５６は、ステップＳ１７において、タイマ割込が発生したことを認識すると、ステップＳ２１〜Ｓ３１の遊技制御処理を実行する。遊技制御処理において、ＣＰＵ５６は、まず、スイッチ回路５８を介して、ゲートセンサ１２、始動口センサ１７、カウントセンサ２３および入賞口スイッチ１９ａ，１９ｂ，２４ａ，２４ｂ等のスイッチの状態を入力し、それらの状態判定を行う（スイッチ処理：ステップＳ２１）。
【０１０９】
次いで、パチンコ遊技機１の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる（エラー処理：ステップＳ２２）。
【０１１０】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う（ステップＳ２３）。ＣＰＵ５６は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う（ステップＳ２４）。
【０１１１】
さらに、ＣＰＵ５６は、特別図柄プロセス処理を行う（ステップＳ２５）。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機１を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う（ステップＳ２６）。普通図柄プロセス処理では、７セグメントＬＥＤによる可変表示器１０を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【０１１２】
次いで、ＣＰＵ５６は、特別図柄に関する表示制御コマンドをＲＡＭ５５の所定の領域に設定して表示制御コマンドを送出する処理を行う（特別図柄コマンド制御処理：ステップＳ２７）。また、普通図柄に関する表示制御コマンドをＲＡＭ５５の所定の領域に設定して表示制御コマンドを送出する処理を行う（普通図柄コマンド制御処理：ステップＳ２８）。
【０１１３】
さらに、ＣＰＵ５６は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う（ステップＳ２９）。
【０１１４】
また、ＣＰＵ５６は、所定の条件が成立したときにソレノイド回路５９に駆動指令を行う（ステップＳ３０）。ソレノイド回路５９は、駆動指令に応じてソレノイド１６，２１を駆動し、可変入賞球装置１５または開閉板２０を開状態または閉状態とする。
【０１１５】
そして、ＣＰＵ５６は、各入賞口への入賞を検出するためのスイッチ１７，２３，１９ａ，１９ｂ，２４ａ，２４ｂの検出出力にもとづく賞球数の設定などを行う賞球処理を実行する（ステップＳ３１）。具体的には、入賞検出に応じて払出制御基板３７に払出制御コマンドを出力する。払出制御基板３７に搭載されている払出制御用ＣＰＵ３７１は、払出制御コマンドに応じて球払出装置９７を駆動する。
【０１１６】
以上の制御によって、この実施の形態では、遊技制御処理は２ｍｓ毎に起動されることになる。なお、この実施の形態では、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
【０１１７】
また、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、ＣＰＵ５６の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセット等がなされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
【０１１８】
以上に説明したように、この実施の形態では、ＣＴＣやＰＩＯを内蔵するＣＰＵ５６に対して、初期設定処理で割込モード２が設定される。従って、内蔵ＣＴＣを用いた定期的なタイマ割込処理を容易に実現できる。また、タイマ割込処理をプログラム上の任意の位置に設置できる。また、内蔵ＰＩＯを用いたスイッチ検出処理等を容易に割込処理で実現できる。その結果、プログラム構成が簡略化され、プログラム開発工数が低減する等の効果を得ることができる。
【０１１９】
なお、ＣＴＣおよびＰＩＯの設定（ステップＳ５）が完了した後に、ＩＥＯ／ＳＣＬＫ０端子から出力されるクロック信号の周波数を決めるための内部レジスタの設定を行ってもよい。その際、クロック信号の周波数は、遊技制御処理の起動周期である２ｍｓに応じた周波数とされる。そのような設定を行うと、ＩＥＯ／ＳＣＬＫ０端子から、遊技制御処理の起動周期に応じた周波数のクロック信号がＣＰＵ５６から外部出力される。すると、ＣＰＵ５６の外部において遊技制御処理の起動周期に対応した信号を観測することができる。よって、そのような信号を用いて、遊技機外部においてＣＰＵ５６による遊技制御処理をシミュレーションしたり、ＣＰＵ５６の動作状況を試験したりすることが容易になる。
【０１２０】
また、図１０および図１１に示された出力ポート０〜６のうち、出力ポート０，１，２，３，４は、遊技制御処理のうちの特別図柄コマンド制御処理（ステップＳ２５）、普通図柄コマンド制御処理（ステップＳ２７）、賞球処理（ステップＳ３１）等でアクセスされる。また、出力ポート５は、情報出力処理（ステップＳ２９）でアクセスされ、出力ポート６は、特別図柄プロセス処理（ステップＳ２５）や普通図柄プロセス処理（ステップＳ２６）でアクセスされる。
【０１２１】
次に、メイン処理におけるスイッチ処理（ステップＳ２１）の具体例を説明する。この実施の形態では、検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップＲＡＭ領域に形成された１バイトのカウンタであり、検出信号がオン状態を示している場合に２ｍｓ毎に＋１される。図１６に示すように、スイッチタイマは検出信号の数Ｎだけ設けられている。この実施の形態ではＮ＝１２である。また、ＲＡＭにおいて、各スイッチタイマのアドレスは、入力ポートのビット配列順（図１２に示された上から下への順）と同じ順序で並んでいる。
【０１２２】
図１７は、遊技制御処理におけるステップＳ２１のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図１３に示すように遊技制御処理において最初に実行される。スイッチ処理において、ＣＰＵ５６は、まず、入力ポート０に入力されているデータを入力する（ステップＳ７１）。次いで、処理数として「８」を設定し（ステップＳ７２）、入賞口スイッチ２４ａのためのスイッチタイマのアドレスをポインタにセットする（ステップＳ７３）。そして、スイッチチェック処理サブルーチンをコールする（ステップＳ７４）。
【０１２３】
図１８は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、ＣＰＵ５６は、ポート入力データ、この場合には入力ポート０からの入力データを「比較値」として設定する（ステップＳ８１）。また、クリアデータ（００）をセットする（ステップＳ８２）。そして、ポインタ（スイッチタイマのアドレスが設定されている）が指すスイッチタイマをロードするとともに（ステップＳ８３）、比較値を右（上位ビットから下位ビットへの方向）にシフトする（ステップＳ８４）。比較値には入力ポート０のデータ設定されている。そして、この場合には、入賞口スイッチ２４ａの検出信号がキャリーフラグに押し出される。
【０１２４】
キャリーフラグの値が「１」であれば（ステップＳ８５）、すなわち入賞口スイッチ２４ａの検出信号がオン状態であれば、スイッチタイマの値を１加算する（ステップＳ８７）。加算後の値が０でなければ加算値をスイッチタイマに戻す（ステップＳ８８，Ｓ８９）。加算後の値が０になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値（２５５）に達している場合には、それよりも値を増やさない。
【０１２５】
キャリーフラグの値が「０」であれば、すなわち入賞口スイッチ２４ａの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする（ステップＳ８６）。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が０に戻る。
【０１２６】
その後、ＣＰＵ５６は、ポインタ（スイッチタイマのアドレス）を１加算するとともに（ステップＳ９０）、処理数を１減算する（ステップＳ９１）。処理数が０になっていなければステップＳ８２に戻る。そして、ステップＳ８２〜Ｓ９２の処理が繰り返される。
【０１２７】
ステップＳ８２〜Ｓ９２の処理は、処理数分すなわち８回繰り返され、その間に、入力ポート０の８ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が１増やされる。
【０１２８】
ＣＰＵ５６は、スイッチ処理のステップＳ７５において、入力ポート１に入力されているデータを入力する。次いで、処理数として「４」を設定し（ステップＳ７６）、賞球カウントスイッチ３０１Ａのためのスイッチタイマのアドレスをポインタにセットする（ステップＳ７７）。そして、スイッチチェック処理サブルーチンをコールする（ステップＳ７８）。
【０１２９】
スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップＳ８２〜Ｓ９２の処理が、処理数分すなわち４回繰り返され、その間に、入力ポート１の４ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が１増やされる。
【０１３０】
なお、この実施の形態では、遊技制御処理が２ｍｓ毎に起動されるので、スイッチ処理も２ｍｓに１回実行される。従って、スイッチタイマは、２ｍｓ毎に＋１される。
【０１３１】
図１９〜図２１は、遊技制御処理におけるステップＳ３１の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、入賞口スイッチ１９ａ，１９ｂ，２４ａ，２４ｂ、カウントスイッチ２３および始動口スイッチ１７が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板３７に送出されるように制御し、また、満タンスイッチ４８および球切れスイッチ１８７が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板３７に送出されるように制御する等の処理が行われる。
【０１３２】
賞球処理において、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「１」を設定し（ステップＳ１５０）、スイッチタイマのアドレスのオフセットとして「９」を設定する（ステップＳ１５１）。入力判定値テーブル（図２３参照）のオフセット「１」は、入力判定値テーブルの２番目のデータ「５０」を使用することを意味する。また、各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「９」は満タンスイッチ４８に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる（ステップＳ１５２）。
【０１３３】
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているＲＯＭ領域である。入力判定値テーブルの構成例は図２３に示されている。図２３に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「２」、「５０」、「２５０」、「３０」、「２５０」、「１」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【０１３４】
スイッチオンチェックルーチンの一例が図２２に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ４８に対応するスイッチタイマの値が満タンスイッチオン判定値「５０」に一致していればスイッチオンフラグがセットされるので（ステップＳ１５３）、満タンフラグがセットされる（ステップＳ１５４）。なお、図１９には明示されていないが、満タンスイッチ４８に対応したスイッチタイマの値が０になると、満タンフラグはリセットされる。
【０１３５】
また、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「２」を設定し（ステップＳ１５６）、スイッチタイマのアドレスのオフセットとして「０Ａ（Ｈ）」を設定する（ステップＳ１５７）。入力判定値テーブルのオフセット「２」は、入力判定値テーブルの３番目のデータ「２５０」を使用することを意味する。また、各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「０Ａ（Ｈ）」は球切れスイッチ１８７に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる（ステップＳ１５８）。
【０１３６】
スイッチオンチェックルーチンにおいて、球切れスイッチ１８７に対応するスイッチタイマの値が球切れスイッチオン判定値「２５０」に一致していればスイッチオンフラグがセットされるので（ステップＳ１５９）、球切れフラグがセットされる（ステップＳ１６０）。なお、図１９には明示されていないが、球切れスイッチ１８７に対応したスイッチオフタイマが用意され、その値が５０になると、球切れフラグはリセットされる。
【０１３７】
そして、ＣＰＵ５６は、払出停止状態であるか否か確認する（ステップＳ２０１）。払出停止状態は、払出制御基板３７に対して払出停止状態指定コマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する（ステップＳ２０２）。
【０１３８】
いずれかがオン状態に変化したときには、払出停止状態指定コマンドに関するコマンド送信テーブルをセットし（ステップＳ２０３）、コマンドセット処理をコールする（ステップＳ２０６）。ステップＳ２０３では、払出停止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定コマンドに関するコマンド送信テーブルには、後述するＩＮＴデータ、払出制御コマンドの１バイト目のデータ、および払出制御コマンドの２バイト目のデータが設定されている。なお、ステップＳ２０２において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理（ステップＳ２０３）は行われない。
【０１３９】
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する（ステップＳ２０４）。ともにオフ状態となったときには、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし（ステップＳ２０５）、コマンドセット処理をコールする（ステップＳ２０７）。ステップＳ２０５では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するＩＮＴデータ、払出制御コマンドの１バイト目のデータ、および払出制御コマンドの２バイト目のデータが設定されている。
【０１４０】
さらに、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ１２１）、スイッチタイマのアドレスのオフセットとして「０」を設定する（ステップＳ１２２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「０」は入賞口スイッチ２４ａに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「４」をセットする（ステップＳ１２３）。そして、スイッチオンチェックルーチンがコールされる（ステップＳ１２４）。
【０１４１】
スイッチオンチェックルーチンにおいて、ＣＰＵ５６は、入力判定値テーブル（図２３参照）の先頭アドレスを設定する（ステップＳ１０１）。そして、そのアドレスにオフセットを加算し（ステップＳ１０２）、加算後のアドレスからスイッチオン判定値をロードする（ステップＳ１０３）。
【０１４２】
次いで、ＣＰＵ５６は、スイッチタイマの先頭アドレスを設定し（ステップＳ１０４）、そのアドレスにオフセットを加算し（ステップＳ１０５）、加算後のアドレスからスイッチタイマの値をロードする（ステップＳ１０６）。各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【０１４３】
そして、ＣＰＵ５６は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する（ステップＳ１０７）。それらが一致すれば、スイッチオンフラグをセットする（ステップ１０８）。
【０１４４】
この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ２４ａに対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ１２５）。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ（ステップＳ１３０）、最初に設定された繰り返し数分だけ実行されるので（ステップＳ１２８，Ｓ１２９）、結局、入賞口スイッチ１９ａ，１９ｂ，２４ａ，２４ｂについて、対応するスイッチタイマの値がスイッチオン判定値「２」と比較されることになる。
【０１４５】
スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「１０」をリングバッファに設定する（ステップＳ１２６）。そして、総賞球数格納バッファの格納値に１０を加算する（ステップＳ１２７）。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【０１４６】
総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値（ただし、払い出しがなされると減算される）が格納されるバッファであり、バックアップＲＡＭに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する加算処理を行ってもよい。
【０１４７】
次に、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ１３１）、スイッチタイマのアドレスのオフセットとして「４」を設定する（ステップＳ１３２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「４」は始動口スイッチ１７に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる（ステップＳ１３３）。
【０１４８】
スイッチオンチェックルーチンにおいて、始動口スイッチ１７に対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ１３４）。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「６」をリングバッファに設定する（ステップＳ１３５）。また、総賞球数格納バッファの格納値に６を加算する（ステップＳ１３６）。
【０１４９】
次いで、ＣＰＵ５６は、入力判定値テーブルのオフセットとして「０」を設定し（ステップＳ２２１）、スイッチタイマのアドレスのオフセットとして「５」を設定する（ステップＳ２２２）。入力判定値テーブルのオフセット「０」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図１２に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「５」はカウントスイッチ２３に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる（ステップＳ２２３）。
【０１５０】
スイッチオンチェックルーチンにおいて、カウントスイッチ２３に対応するスイッチタイマの値がスイッチオン判定値「２」に一致していればスイッチオンフラグがセットされる（ステップＳ２２４）。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「１５」をリングバッファに設定する（ステップＳ２２５）。また、総賞球数格納バッファの格納値に１５を加算する（ステップＳ２２６）。
【０１５１】
そして、リングバッファにデータが存在する場合には（ステップＳ２２７）、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに（ステップＳ２２８）、読出ポインタの値を更新（リングバッファの次の領域を指すように更新）し（ステップＳ２２９）、賞球数に関するコマンド送信テーブルをセットし（ステップＳ２３０）、コマンドセット処理をコールする（ステップＳ２３１）。コマンドセット処理の動作については後で詳しく説明する。ステップＳ２３０では、賞球数に関する払出制御コマンドが格納されているコマンド送信テーブル（ＲＯＭ）の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球数に関するコマンド送信テーブルには、後述するＩＮＴデータ、払出制御コマンドの１バイト目のデータ、および払出制御コマンドの２バイト目のデータが設定されている。ただし、２バイト目のデータとして「８０（Ｈ）」が設定されている。以上のように、遊技制御手段から払出制御基板３７に賞球数を指示する払出制御コマンドを出力しようとするときに、賞球数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンドセット処理によって、賞球数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板３７に送出される。なお、ステップＳ２２７において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。
【０１５２】
そして、総賞球数バッファの内容が０でない場合、すなわち、まだ賞球残がある場合には、ＣＰＵ５６は、賞球払出中フラグをオンする（ステップＳ２３２，Ｓ２３３）。
【０１５３】
また、ＣＰＵ５６は、賞球払出中フラグがオンしているときには（ステップＳ２３４）、球払出装置９７から実際に払い出された賞球数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う（ステップＳ２３５）。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板３５に対して、賞球ランプ５１の点灯を指示するランプ制御コマンドが送出される。
【０１５４】
この実施の形態では、払出停止中であっても（ステップＳ２０１，Ｓ２０４）、ステップＳ１２１〜Ｓ１３６およびＳ２２１〜Ｓ２３１の処理が実行される。すなわち、遊技制御手段は、払出停止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するための制御指令が、払出停止状態であっても払出制御手段に伝達され、払出停止状態が解除されたときに、早めに賞球払出を開始することができる。
【０１５５】
次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から各電気部品制御基板（サブ基板）に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図２４（Ａ）は、コマンド送信テーブルの一構成例を示す説明図である。１つのコマンド送信テーブルは３バイトで構成され、１バイト目にはＩＮＴデータが設定される。また、２バイト目のコマンドデータ１には、制御コマンドの１バイト目のＭＯＤＥデータが設定される。そして、３バイト目のコマンドデータ２には、制御コマンドの２バイト目のＥＸＴデータが設定される。
【０１５６】
なお、ＥＸＴデータそのものがコマンドデータ２の領域に設定されてもよいが、コマンドデータ２には、ＥＸＴデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ２のビット７（ワークエリア参照ビット）が０であれば、コマンドデータ２にＥＸＴデータそのものが設定されていることを示す。そのようなＥＸＴデータはビット７が０であるデータである。この実施の形態では、ワークエリア参照ビットが１であれば、ＥＸＴデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが１であれば、他の７ビットが、ＥＸＴデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【０１５７】
図２４（Ｂ）ＩＮＴデータの一構成例を示す説明図である。ＩＮＴデータにおけるビット０は、払出制御基板３７に払出制御コマンドを送出すべきか否かを示す。ビット０が「１」であるならば、払出制御コマンドを送出すべきことを示す。従って、ＣＰＵ５６は、例えば賞球処理（メイン処理のステップＳ３１）において、ＩＮＴデータに「０１（Ｈ）」を設定する。また、ＩＮＴデータにおけるビット１は、図柄出制御基板８０に表示制御コマンドを送出すべきか否かを示す。ビット１が「１」であるならば、表示制御コマンドを送出すべきことを示す。従って、ＣＰＵ５６は、例えば特別図柄コマンド制御処理（メイン処理のステップＳ２７）において、ＩＮＴデータに「０２（Ｈ）」を設定する。
【０１５８】
ＩＮＴデータのビット２，３は、それぞれ、ランプ制御コマンド、音声制御コマンドを送出すべきか否かを示すビットであり、ＣＰＵ５６は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、ＩＮＴデータ、コマンドデータ１およびコマンドデータ２を設定する。それらのコマンドを送出するときには、ＩＮＴデータの該当ビットが「１」に設定され、コマンドデータ１およびコマンドデータ２にＭＯＤＥデータおよびＥＸＴデータが設定される。
【０１５９】
この実施の形態では、払出制御コマンドについて、図２４（Ｃ）に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球数が順次リングバッファに設定される。また、賞球数に関する払出制御コマンド送出する際に、リングバッファから１個のデータが送信バッファに転送される。なお、図２４（Ｃ）に示す例では、リングバッファには、１２個分の払出制御コマンドに相当するデータが格納可能になっている。
【０１６０】
図２５は、主基板３１から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは２バイト構成であり、１バイト目はＭＯＤＥ（コマンドの分類）を表し、２バイト目はＥＸＴ（コマンドの種類）を表す。ＭＯＤＥデータの先頭ビット（ビット７）は必ず「１」とされ、ＥＸＴデータの先頭ビット（ビット７）は必ず「０」とされる。このように、電気部品制御基板への制御指令となる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図２５に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。また、図２５では払出制御基板３７に送出される払出制御コマンドを例示するが、他の電気部品制御基板に送出される制御コマンドも同一構成である。
【０１６１】
図２６は、各電気部品制御手段に対する制御コマンドを構成する８ビットの制御信号ＣＤ０〜ＣＤ７とＩＮＴ信号との関係を示すタイミング図である。図２６に示すように、ＭＯＤＥまたはＥＸＴのデータが出力ポート（出力ポート１〜出力ポート４のうちのいずれか）に出力されてから、Ａで示される期間が経過すると、ＣＰＵ５６は、データ出力を示す信号であるＩＮＴ信号をハイレベルにする。また、そこからＢで示される期間が経過するとＩＮＴ信号をローレベルにする。さらに、次に送出すべきデータがある場合には、すなわち、ＭＯＤＥデータ送出後では、Ｃで示される期間をおいてから２バイト目のデータを出力ポートに送出する。２バイト目のデータに関して、Ａ，Ｂの期間は、１バイト目の場合と同様である。このように、取込信号はＭＯＤＥおよびＥＸＴのデータのそれぞれについて出力される。
【０１６２】
Ａの期間は、ＣＰＵ５６が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。すなわち、制御信号線において制御信号ＣＤ０〜ＣＤ７が出力された後、所定期間（Ａの期間：オフ出力期間の一部）経過後に、取込信号としてのＩＮＴ信号が出力される。また、Ｂの期間（オン出力期間）は、ＩＮＴ信号安定化のための期間である。そして、Ｃの期間（オフ出力期間の一部）は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。Ｂ，Ｃの期間では、信号線上のデータは変化しない。すなわち、Ｂ，Ｃの期間が経過するまでデータ出力が維持される。
【０１６３】
この実施の形態では、払出制御基板３７への払出制御コマンド、図柄制御基板８０への表示制御コマンド、ランプ制御基板３５へのランプ制御コマンドおよび音声制御基板７０への音声制御コマンドは、同一のコマンド送信処理ルーチン（共通モジュール）を用いて送出される。そこで、Ｂ，Ｃの期間すなわち１バイト目に関するＩＮＴ信号が立ち上がってから２バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【０１６４】
なお、各電気部品制御手段は、ＩＮＴ信号が立ち上がったことを検知して、例えば割込処理によって１バイトのデータの取り込み処理を開始する。
【０１６５】
Ｂ，Ｃの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【０１６６】
この実施の形態では、ＣＰＵ５６は、（１１．７７６／２）ＭＨｚのシステムクロックで動作している。そして、具体的には、Ａの期間に１３８ステート（１ステート＝［２／１１．７７６］μｓ）かけ、Ｂの期間に８２ステートかけ、Ｃの期間に２５１ステートかけている。従って、Ｂ，Ｃの期間はＡの期間よりも長い。すなわち、ＣＰＵ５６は、ＩＮＴ信号出力処理を実行した後に所定期間が経過すると次のデータを送出できる状態になるが、その所定期間（Ｂ，Ｃの期間）は、ＩＮＴ信号出力処理の前にデータを送出してからＩＮＴ信号を出力開始するまでの期間（Ａの期間）よりも長い。上述したように、Ａの期間はコマンドの信号線における安定化期間であり、Ｂ，Ｃの期間は受信側がデータを取り込むのに要する時間を確保するための期間である。従って、Ａの期間をＢ，Ｃの期間よりも短くすることによって、受信側の電気部品制御手段が確実にコマンドを受信できる状態になるという効果を得ることができるとともに、１つのコマンドの送出完了に要する期間が短縮される効果もある。
【０１６７】
図２７は、払出制御コマンドの内容の一例を示す説明図である。図２７に示された例において、ＭＯＤＥ＝ＦＦ（Ｈ），ＥＸＴ＝００（Ｈ）のコマンドＦＦ００（Ｈ）は、払出可能状態を指定する払出制御コマンド（払出可能状態指定コマンド）である。ＭＯＤＥ＝ＦＦ（Ｈ），ＥＸＴ＝０１（Ｈ）のコマンドＦＦ０１（Ｈ）は、払出停止状態を指定する払出制御コマンド（払出停止状態指定コマンド）である。また、ＭＯＤＥ＝Ｆ０（Ｈ）のコマンドＦ０ＸＸ（Ｈ）は、賞球個数を指定する払出制御コマンドである。ＥＸＴである「ＸＸ」が払出個数を示す。
【０１６８】
払出制御手段は、主基板３１の遊技制御手段からＦＦ０１（Ｈ）の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、ＦＦ００（Ｈ）の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【０１６９】
なお、払出制御コマンドは、払出制御手段が認識可能に１回だけ送出される。認識可能とは、この例では、ＩＮＴ信号のレベルが変化することであり、認識可能に１回だけ送出されるとは、この例では、払出制御信号の１バイト目および２バイト目のそれぞれに応じてＩＮＴ信号が１回だけパルス状（矩形波状）に出力されることである。
【０１７０】
各電気部品制御基板への制御コマンドを、対応する出力ポート（出力ポート１〜４）に出力する際に、出力ポート０のビット０〜３のうちのいずれかのビットが所定期間「１」（ハイレベル）になるのであるが、ＩＮＴデータにおけるビット配列と出力ポート０におけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、ＩＮＴデータにもとづいて、容易にＩＮＴ信号の出力を行うことができる。
【０１７１】
図２８は、コマンドセット処理（ステップＳ２０６，Ｓ２０７，Ｓ２３１）の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とＩＮＴ信号出力処理とを含む処理である。コマンドセット処理において、ＣＰＵ５６は、まず、コマンド送信テーブルのアドレス（送信信号指示手段としてのポインタの内容）をスタック等に退避する（ステップＳ３３１）。そして、ポインタが指していたコマンド送信テーブルのＩＮＴデータを引数１にロードする（ステップＳ３３２）。引数１は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを＋１する（ステップＳ３３３）。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ１のアドレスに一致する。
【０１７２】
そこで、ＣＰＵ５６は、コマンドデータ１を読み出して引数２に設定する（ステップＳ３３４）。引数２も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする（ステップＳ３３５）。
【０１７３】
図２９は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、ＣＰＵ５６は、まず、引数１に設定されているデータすなわちＩＮＴデータを、比較値として決められているワークエリアに設定する（ステップＳ３５１）。次いで、送信回数＝４を、処理数として決められているワークエリアに設定する（ステップＳ３５２）。そして、払出制御信号を出力するためのポート１のアドレスをＩＯアドレスにセットする（ステップＳ３５３）。この実施の形態では、ポート１のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート２〜４のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【０１７４】
次に、ＣＰＵ５６は、比較値を１ビット右にシフトする（ステップＳ３５４）。シフト処理の結果、キャリービットが１になったか否か確認する（ステップＳ３５５）。キャリービットが１になったということは、ＩＮＴデータにおける最も右側のビットが「１」であったことを意味する。この実施の形態では４回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが１になる。
【０１７５】
キャリービットが１になった場合には、引数２に設定されているデータ、この場合にはコマンドデータ１（すなわちＭＯＤＥデータ）を、ＩＯアドレスとして設定されているアドレスに出力する（ステップＳ３５６）。最初のシフト処理が行われたときにはＩＯアドレスにポート１のアドレスが設定されているので、そのときに、払出制御コマンドのＭＯＤＥデータがポート１に出力される。
【０１７６】
次いで、ＣＰＵ５６は、ＩＯアドレスを１加算するとともに（ステップＳ３５７）、処理数を１減算する（ステップＳ３５８）。加算前にポート１を示していた場合には、ＩＯアドレスに対する加算処理によって、ＩＯアドレスにはポート２のアドレスが設定される。ポート２は、表示制御コマンドを出力するためのポートである。そして、ＣＰＵ５６は、処理数の値を確認し（ステップＳ３５９）、値が０になっていなければ、ステップＳ３５４に戻る。ステップＳ３５４で再度シフト処理が行われる。
【０１７７】
２回目のシフト処理ではＩＮＴデータにおけるビット１の値が押し出され、ビット１の値に応じてキャリーフラグが「１」または「０」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、３回目および４回目のシフト処理によって、ランプ制御コマンドおよび音声制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、ＩＯアドレスには、シフト処理によってチェックされる制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド）に対応したＩＯアドレスが設定されている。
【０１７８】
よって、キャリーフラグが「１」になったときには、対応する出力ポート（ポート１〜ポート４）に制御コマンドが送出される。すなわち、１つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【０１７９】
また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【０１８０】
次に、ＣＰＵ５６は、シフト処理開始前のＩＮＴデータが格納されている引数１の内容を読み出し（ステップＳ３６０）、読み出したデータをポート０に出力する（ステップＳ３６１）。この実施の形態では、ポート０のアドレスは、各制御信号についてのＩＮＴ信号を出力するためのポートであり、ポート０のビット０〜４が、それぞれ、払出制御ＩＮＴ信号、表示制御ＩＮＴ信号、ランプ制御ＩＮＴ信号、音声制御ＩＮＴ信号を出力するためのポートである。ＩＮＴデータでは、ステップＳ３５１〜Ｓ３５９の処理で出力された制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド）に応じたＩＮＴ信号の出力ビットに対応したビットが「１」になっている。従って、ポート１〜ポート４のいずれかに出力された制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド）に対応したＩＮＴ信号がハイレベルになる。
【０１８１】
次いで、ＣＰＵ５６は、ウェイトカウンタに所定値を設定し（ステップＳ３６２）、その値が０になるまで１ずつ減算する（ステップＳ３６３，Ｓ３６４）。この処理は、図２６に示されたＢの期間を設定するための処理である。ウェイトカウンタの値が０になると、クリアデータ（００）を設定して（ステップＳ３６５）、そのデータをポート０に出力する（ステップＳ３６６）。よって、ＩＮＴ信号はローレベルになる。そして、ウェイトカウンタに所定値を設定し（ステップＳ３６２）、その値が０になるまで１ずつ減算する（ステップＳ３６８，Ｓ３６９）。この処理は、図２６に示されたＣの期間を設定するための処理である。ただし、実際のＣの期間は、ステップＳ３６７〜Ｓ３６９で作成される時間に、その後の処理時間（この時点でＭＯＤＥデータが出力されている場合にはＥＸＴデータを出力するまでに要する制御にかかる時間）が加算された期間となる。このように、Ｃの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
【０１８２】
従って、ステップＳ３６７でウェイトカウンタに設定される値は、Ｃの期間が、制御コマンド受信対象となる全ての電気部品制御手段が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、Ｃの期間が、ステップＳ３５７〜Ｓ３５９の処理に要する時間（Ａの期間に相当）よりも長くなるような値である。なお、Ａの期間をより長くしたい場合には、Ａの期間を作成するためのウェイト処理（例えば、ウェイトカウンタに所定値を設定し、ウェイトカウンタの値が０になるまで減算を行う処理）を行う。
【０１８３】
以上のようにして、制御コマンドの１バイト目のＭＯＤＥデータが送出される。そこで、ＣＰＵ５６は、図２８に示すステップＳ３３６で、コマンド送信テーブルを指す値を１加算する。従って、３バイト目のコマンドデータ２の領域が指定される。ＣＰＵ５６は、指し示されたコマンドデータ２の内容を引数２にロードする（ステップＳ３３７）。また、コマンドデータ２のビット７（ワークエリア参照ビット）の値が「０」であるか否か確認する（ステップＳ３３９）。０でなければ、送信バッファの内容を引数２にロードする（ステップＳ３４１）。なお、ワークエリア参照ビットの値が「１」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ２のビット６〜ビット０の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数２にロードする。
【０１８４】
送信バッファには賞球数を特定可能なデータが設定されているので、引数２にそのデータが設定される。なお、ワークエリア参照ビットの値が「１」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるＥＸＴデータが順次設定される。よって、ワークエリア参照ビットの値が「１」であれば、コマンドデータ２の内容に応じたコマンド拡張データアドレステーブル内のＥＸＴデータが引数２にロードされる。
【０１８５】
次に、ＣＰＵ５６は、コマンド送信処理ルーチンをコールする（ステップＳ３４２）。従って、ＭＯＤＥデータの送出の場合と同様のタイミングでＥＸＴデータが送出される。
【０１８６】
以上のようにして、２バイト構成の制御コマンド（払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド）が、対応する電気部品制御手段に送信される。電気部品制御手段ではＩＮＴ信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。従って、制御コマンドの取りこぼしによって制御状態に異常が発生してしまうことを回避することができ、このような異常の発生を考慮したシステム開発を行う必要がなくなるので、遊技機の開発が容易となる。なお、各電気部品制御手段は、ＩＮＴ信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、ＩＮＴ信号の極性を図２６に示された場合と逆にしてもよい。
【０１８７】
また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【０１８８】
さらに、この実施の形態では、１回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球数を示すコマンドとの双方を送出することができる。すなわち、２ｍｓ毎に起動される１回の制御期間内において、複数の制御指令を送出することができる。また、この実施の形態では、各制御手段への制御コマンド（表示制御コマンド、ランプ制御コマンド、音声制御コマンド、払出制御コマンド）毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、１回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドを送出するように構成することも可能である。すなわち、同時に（１メイン処理起動周期での意味）、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドと同時に送出されることはない。
【０１８９】
図３０は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、ＣＰＵ５６は、まず、総賞球数格納バッファの格納値をロードする（ステップＳ２４１）。そして、格納値が０であるか否か確認する（ステップＳ２４２）。０であれば処理を終了する。
【０１９０】
０でなければ、賞球カウントスイッチ用のスイッチタイマをロードし（ステップＳ２４３）、ロード値とオン判定値（この場合は「２」）とを比較する（ステップＳ２４４）。一致したら（ステップＳ２４５）、賞球カウントスイッチ３０１Ａが確かにオンしたとして、すなわち、確かに１個の遊技球が球払出装置９７から払い出されたとして、総賞球数格納バッファの格納値を１減算する（ステップＳ２４６）。
【０１９１】
また、賞球情報カウンタの値を＋１する（ステップＳ２４７）。そして、賞球情報カウンタの値が１０以上であれば（ステップＳ２４８）、賞球情報出力カウンタの値を＋１するとともに（ステップＳ２４９）、賞球情報カウンタの値を−１０する（ステップＳ２５０）。なお、賞球情報出力カウンタの値は、図１３に示されたメイン処理における情報出力処理（ステップＳ２９）で参照され、その値が１以上であれば、賞球信号（出力ポート５のビット７：図１１参照）として１パルスが出力される。よって、この実施の形態では、１０個の遊技球が賞球として払い出される度に、１つの賞球信号が遊技機外部に出力される。
【０１９２】
そして、総賞球数格納バッファの格納値が０になったら（ステップＳ２５１）、賞球払出中フラグをクリアし（ステップＳ２５２）、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ５１の消灯を示すコマンドデータを設定した後（ステップＳ２５３）、ランプ制御コマンドの送出処理を実行する（ステップＳ２５４）。
【０１９３】
次に、遊技制御手段以外の電気部品制御手段において制御コマンド受信処理が行われる場合の例として、払出制御手段において払出制御コマンドの受信が行われる場合について説明する。
【０１９４】
図３１は、払出制御用ＣＰＵ３７１周りの一構成例を示すブロック図である。図３１に示すように、電源基板９１０の電源監視回路（電源監視手段）からの電源断信号が、バッファ回路９６０を介して払出制御用ＣＰＵ３７１のマスク不能割込端子（ＸＮＭＩ端子）に接続されている。従って、払出制御用ＣＰＵ３７１は、マスク不能割込処理によって電源断の発生を確認することができる。
【０１９５】
払出制御用ＣＰＵ３７１のＣＬＫ／ＴＲＧ２端子には、主基板３１からのＩＮＴ信号が接続されている。ＣＬＫ／ＴＲＧ２端子にクロック信号が入力されると、払出制御用ＣＰＵ３７１に内蔵されているタイマカウンタレジスタＣＬＫ／ＴＲＧ２の値がダウンカウントされる。そして、レジスタ値が０になると割込が発生する。従って、タイマカウンタレジスタＣＬＫ／ＴＲＧ２の初期値を「１」に設定しておけば、ＩＮＴ信号の入力に応じて割込が発生することになる。
【０１９６】
払出制御基板３７には、システムリセット回路９７５も搭載されているが、この実施の形態では、システムリセット回路９７５におけるリセットＩＣ９７６は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットＩＣ９７６は、ＶSLの電源電圧を監視して電圧値が所定値（例えば＋９Ｖ）以下になると出力をローレベルにする。従って、電源断時には、リセットＩＣ９７６からの信号がローレベルになることによって払出制御用ＣＰＵ３７１がシステムリセットされる。
【０１９７】
リセットＩＣ９７６が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用ＣＰＵ３７１が暫くの間動作しうる程度の電圧である。また、リセットＩＣ９７６が、払出制御用ＣＰＵ３７１が必要とする電圧（この例では＋５Ｖ）よりも高い電圧を監視するように構成されているので、払出制御用ＣＰＵ３７１が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【０１９８】
＋５Ｖ電源から電力が供給されていない間、払出制御用ＣＰＵ３７１の内蔵ＲＡＭの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、＋５Ｖ電源が復旧すると、システムリセット回路９７５からリセット信号が発せられるので、払出制御用ＣＰＵ３７１は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復帰することができる。
【０１９９】
なお、図３１に示された構成では、システムリセット回路９７５は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは１回だけである。しかし、図９に示された主基板３１の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
【０２００】
図３２は、この実施の形態における出力ポートの割り当てを示す説明図である。図３２に示すように、出力ポートＣ（アドレス００Ｈ）は、払出モータ２８９に出力される駆動信号の出力ポートである。また、出力ポートＤ（アドレス０１Ｈ）は、７セグメントＬＥＤであるエラー表示ＬＥＤ３７４に出力される表示制御信号の出力ポートである。そして、出力ポートＥ（アドレス０２Ｈ）は、振分ソレノイド３１０に出力される駆動信号、およびカードユニット５０に対するＥＸＳ信号とＰＲＤＹ信号とを出力するための出力ポートである。
【０２０１】
図３３は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図３３に示すように、入力ポートＡ（アドレス０６Ｈ）は、主基板３１から送出された払出制御コマンドの８ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートＢ（アドレス０７Ｈ）のビット０〜２には、それぞれ、賞球カウントスイッチ３０１Ａ、球貸しカウントスイッチ３０１Ｂ、モータ位置センサの検出信号入力される。ビット３〜５には、カードユニット５０からのＢＲＤＹ信号、ＢＲＱ信号およびＶＬ信号が入力される。
【０２０２】
図３４は、払出制御用ＣＰＵ３７１のメイン処理を示すフローチャートである。メイン処理では、払出制御用ＣＰＵ３７１は、まず、必要な初期設定を行う。すなわち、払出制御用ＣＰＵ３７１は、まず、割込禁止に設定する（ステップＳ７０１）。次に、割込モードを割込モード２に設定し（ステップＳ７０２）、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ７０３）。また、払出制御用ＣＰＵ３７１は、内蔵デバイスレジスタの初期化を行い（ステップＳ７０４）、ＣＴＣおよびＰＩＯの初期化（ステップＳ７０５）を行った後に、ＲＡＭをアクセス可能状態に設定する（ステップＳ７０６）。
【０２０３】
この実施の形態では、内蔵ＣＴＣのうちの一つのチャネルがタイマモードで使用される。従って、ステップＳ７０４の内蔵デバイスレジスタの設定処理およびステップＳ７０５の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば２ｍｓ毎に発生させたい場合は、初期値として２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。
【０２０４】
なお、タイマモードに設定されたチャネル（この実施の形態ではチャネル３）に設定される割込ベクタは、タイマ割込処理の先頭番地に相当するものである。具体的は、Ｉレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭番地が特定される。タイマ割込処理ではタイマ割込フラグがセットされ、メイン処理でタイマ割込フラグがセットされていることが検知されると、払出制御処理が実行される。すなわち、タイマ割込処理では、電気部品制御処理の一例である払出制御処理を実行するための設定がなされる。
【０２０５】
また、内蔵ＣＴＣのうちの他の一つのチャネル（この実施の形態ではチャネル２）が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップＳ７０４の内蔵デバイスレジスタの設定処理およびステップＳ７０５の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【０２０６】
カウンタモードに設定されたチャネル（チャネル２）に設定される割込ベクタは、後述するコマンド受信割込処理の先頭番地に相当するものである。具体的は、Ｉレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭番地が特定される。
【０２０７】
この実施の形態では、払出制御用ＣＰＵ３７１でも割込モード２が設定される。従って、内蔵ＣＴＣのカウントアップにもとづく割込処理を使用することができる。また、ＣＴＣが送出した割込ベクタに応じた割込処理開始番地を設定することができる。
【０２０８】
ＣＴＣのチャネル２（ＣＨ２）のカウントアップにもとづく割込は、上述したタイマカウンタレジスタＣＬＫ／ＴＲＧ２の値が「０」になったときに発生する割込である。従って、例えばステップＳ７０５において、特定レジスタとしてのタイマカウンタレジスタＣＬＫ／ＴＲＧ２に初期値「１」が設定される。さらに、ＣＬＫ／ＴＲＧ２端子に入力される信号の立ち上がりまたは立ち下がりで特定レジスタとしてのタイマカウンタレジスタＣＬＫ／ＴＲＧ２のカウント値が−１されるのであるが、所定の特定レジスタの設定によって、立ち上がり／立ち下がりの選択を行うことができる。この実施の形態では、ＣＬＫ／ＴＲＧ２端子に入力される信号の立ち上がりで、タイマカウンタレジスタＣＬＫ／ＴＲＧ２のカウント値が−１されるような設定が行われる。また、ＣＴＣのチャネル３（ＣＨ３）のカウントアップにもとづく割込は、ＣＰＵの内部クロック（システムクロック）をカウントダウンしてレジスタ値が「０」になったら発生する割込であり、後述する２ｍｓタイマ割込として用いられる。具体的には、ＣＨ３のレジスタ値はシステムクロックの１／２５６周期で減算される。ステップＳ７０５において、ＣＨ３のレジスタには、初期値として２ｍｓに相当する値が設定される。
【０２０９】
ＣＴＣのＣＨ２のカウントアップにもとづく割込は、ＣＨ３のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、ＣＨ２のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【０２１０】
そして、払出制御用ＣＰＵ３７１は、払出制御用のバックアップＲＡＭ領域にバックアップデータが存在しているか否かの確認を行う（ステップＳ７０７）。すなわち、例えば、主基板３１のＣＰＵ５６の処理と同様に、電源断時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【０２１１】
バックアップありを確認したら、払出制御用ＣＰＵ３７１は、バックアップＲＡＭ領域のデータチェック（この例ではパリティチェック）を行う。不測の電源断が生じた後に復旧した場合には、バックアップＲＡＭ領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【０２１２】
チェック結果が正常であれば（ステップＳ７０８）、払出制御用ＣＰＵ３７１は、内部状態を電源断時の状態に戻すための払出状態復旧処理を行う（ステップＳ７０９）。そして、バックアップＲＡＭ領域に保存されていたＰＣ（プログラムカウンタ）の指すアドレスに復帰する。
【０２１３】
初期化処理では、払出制御用ＣＰＵ３７１は、まず、ＲＡＭクリア処理を行う（ステップＳ７１１）。そして、２ｍｓ毎に定期的にタイマ割込がかかるように払出制御用ＣＰＵ３７１に設けられているＣＴＣのレジスタの設定が行われる（ステップＳ７１２）。すなわち、初期値として２ｍｓに相当する値が所定のレジスタ（時間定数レジスタ）に設定される。そして、初期設定処理のステップＳ７０１において割込禁止とされているので、初期化処理を終える前に割込が許可される（ステップＳ７１３）。
【０２１４】
この実施の形態では、払出制御用ＣＰＵ３７１の内蔵ＣＴＣが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は２ｍｓに設定される。そして、タイマ割込が発生すると、図３５に示すように、払出制御用ＣＰＵ３７１は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする（ステップＳ７２１）。なお、図３５には割込を許可することも明示されているが（ステップＳ７２０）、２ｍｓタイマ割込処理では、最初に割込許可状態に設定される。すなわち、２ｍｓタイマ割込処理中には割込許可状態になってので、ＩＮＴ信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【０２１５】
払出制御用ＣＰＵ３７１は、ステップＳ７２４において、タイマ割込フラグがセットされたことを検出するとステップＳ７５１以降の払出制御処理を実行する。以上の制御によって、この実施の形態では、払出制御処理は２ｍｓ毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
【０２１６】
払出制御処理において、払出制御用ＣＰＵ３７１は、まず、中継基板７２を介して入力ポート３７２ｂに入力される賞球カウントスイッチ３０１Ａ、球貸しカウントスイッチ３０１Ｂがオンしたか否かを判定する（スイッチ処理：ステップＳ７５１）。
【０２１７】
次に、払出制御用ＣＰＵ３７１は、センサ（例えば、払出モータ２８９の回転数を検出するモータ位置センサ）からの信号入力状態を確認してセンサの状態を判定する等の処理を行う（入力判定処理：ステップＳ７５２）。払出制御用ＣＰＵ３７１は、さらに、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する（コマンド解析実行処理：ステップＳ７５３）。
【０２１８】
次いで、払出制御用ＣＰＵ３７１は、主基板３１から払出停止状態指定コマンドを受信していたら払出停止状態に設定し、払出可能状態指定コマンドを受信していたら払出停止状態の解除を行う（ステップＳ７５４）。また、プリペイドカードユニット制御処理を行う（ステップＳ７５５）。
【０２１９】
次いで、払出制御用ＣＰＵ３７１は、球貸し要求に応じて貸し球を払い出す制御を行う（ステップＳ７５６）。このとき、払出制御用ＣＰＵ３７１は、振分ソレノイド３１０によって球振分部材３１１を球貸し側に設定する。
【０２２０】
さらに、払出制御用ＣＰＵ３７１は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う（ステップＳ７５７）。このとき、払出制御用ＣＰＵ３７１は、振分ソレノイド３１０によって球振分部材３１１を賞球側に設定する。そして、出力ポート３７２ｃおよび中継基板７２を介して球払出装置９７の払出機構部分における払出モータ２８９に対して駆動信号を出力し、所定の回転数分払出モータ２８９を回転させる払出モータ制御処理を行う（ステップＳ７５８）。
【０２２１】
なお、この実施の形態では、払出モータ２８９としてステッピングモータが用いられ、それらを制御するために１−２相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、８種類の励磁パターンデータが繰り返し払出モータ２８９に出力される。また、この実施の形態では、各励磁パターンデータが４ｍｓずつ出力される。
【０２２２】
次いで、エラー検出処理が行われ、その結果に応じてエラー表示ＬＥＤ３７４に所定の表示を行う（エラー処理：ステップＳ７５９）。
【０２２３】
なお、出力ポートＣは、払出制御処理における払出モータ制御処理（ステップＳ７５８）でアクセスされる。また、出力ポートＤは、払出制御処理におけるエラー処理（ステップＳ７５９）でアクセスされる。そして、出力ポートＥは、払出制御処理における球貸し制御処理（ステップＳ７５６）および賞球制御処理（ステップＳ７５７）でアクセスされる。
【０２２４】
図３６は、払出制御用ＣＰＵ３７１が内蔵するＲＡＭの使用例を示す説明図である。この例では、バックアップＲＡＭ領域に、総合個数記憶（例えば２バイト）と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板３１の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。
【０２２５】
そして、払出制御用ＣＰＵ３７１は、例えば、賞球制御処理（ステップＳ７５７）において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理（ステップＳ７５６）において、カードユニット５０から球貸し要求の信号を受信する毎に１単位（例えば２５個）の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用ＣＰＵ３７１は、賞球制御処理において賞球カウントスイッチ３０１Ａが１個の賞球払出を検出すると総合個数記憶の値を１減らし、球貸し制御処理において球貸しカウントスイッチ３０１Ｂが１個の貸し球払出を検出すると貸し球個数記憶の値を１減らす。
【０２２６】
従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップＲＡＭ領域に記憶されることになる。よって、停電等の不測の電源断が生じても、所定期間内に電源復旧すれば、バックアップＲＡＭ領域に記憶される賞球処理および球貸し処理を続行できる。従って、遊技者に与えられる不利益を低減することができる。
【０２２７】
図３７は、主基板３１から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、２バイト構成の払出制御コマンドを６個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、確定コマンドバッファ１〜１２の１２バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、０〜１１の値をとる。
【０２２８】
図３８は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板３１からの払出制御用のＩＮＴ信号は払出制御用ＣＰＵ３７１のＣＬＫ／ＴＲＧ２端子に入力されている。よって、主基板３１からのＩＮＴ信号が立ち上がると、払出制御用ＣＰＵ３７１に割込がかかり、図３８に示す払出制御コマンドの受信処理が開始される。なお、払出制御用ＣＰＵ３７１は、割込が発生すると、ソフトウェアで割込許可にしない限り、マスク可能割込がさらに生ずることはないような構造のＣＰＵである。
【０２２９】
なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音声制御手段でも、同様のコマンド受信処理が実行されている。また、この実施の形態では、ＣＬＫ／ＴＲＧ２端子の入力が立ち上がるとタイマカウンタレジスタＣＬＫ／ＴＲＧ２の値が−１されるような初期設定を行ったが、すなわち、ＩＮＴ信号の立ち上がりで割込が発生するような初期設定を行ったが、ＣＬＫ／ＴＲＧ２端子の入力が立ち下がるとタイマカウンタレジスタＣＬＫ／ＴＲＧ２の値が−１されるような初期設定を行ってもよい。換言すれば、ＩＮＴ信号の立ち下がりで割込が発生するような初期設定を行ってもよい。従って、取込信号としてのパルス状（矩形波状）のＩＮＴ信号のレベル変化タイミング（エッジ）で割込が発生するように構成すれば、エッジは立ち上がりエッジであっても立ち下がりエッジであってもよい。
【０２３０】
払出制御コマンドの受信処理において、払出制御用ＣＰＵ３７１は、まず、各レジスタをスタックに退避する（ステップＳ８５０）。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート３７２ａ（図７参照）からデータを読み込む（ステップＳ８５１）。そして、２バイト構成の払出制御コマンドのうちの１バイト目であるか否か確認する（ステップＳ８５２）。１バイト目であるか否かは、受信したコマンドの先頭ビットが「１」であるか否かによって確認される。先頭ビットが「１」であるのは、２バイト構成である払出制御コマンドのうちのＭＯＤＥバイト（１バイト目）のはずである（図２５参照）。そこで、払出制御用ＣＰＵ３７１は、先頭ビットが「１」であれば、有効な１バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す確定コマンドバッファに格納する（ステップＳ８５３）。
【０２３１】
払出制御コマンドのうちの１バイト目でなければ、１バイト目を既に受信したか否か確認する（ステップＳ８５４）。既に受信したか否かは、受信バッファ（確定コマンドバッファ）に有効なデータが設定されているか否かによって確認される。
【０２３２】
１バイト目を既に受信している場合には、受信した１バイトのうちの先頭ビットが「０」であるか否か確認する。そして、先頭ビットが「０」であれば、有効な２バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ＋１が示す確定コマンドバッファに格納する（ステップＳ８５５）。先頭ビットが「０」であるのは、２バイト構成である払出制御コマンドのうちのＥＸＴバイト（２バイト目）のはずである（図２５参照）。なお、ステップＳ８５４における確認結果が１バイト目を既に受信したである場合には、２バイト目として受信したデータのうちの先頭ビットが「０」でなければ処理を終了する。
【０２３３】
ステップＳ８５５において、２バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに２を加算する（ステップＳ８５６）。そして、コマンド受信カウンタが１２以上であるか否か確認し（ステップＳ８５７）、１２以上であればコマンド受信個数カウンタをクリアする（ステップＳ８５８）。その後、退避されていたレジスタを復帰し（ステップＳ８５９）、最後に割込許可に設定する（ステップＳ８５９）。
【０２３４】
コマンド受信割込処理中は割込禁止状態になっている。上述したように、２ｍｓタイマ割込処理中は割込許可状態になっているので、２ｍｓタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に２ｍｓタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板３１からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるＣの期間（図２６参照）をどの程度にすればよいのかを正確に判断することができる。
【０２３５】
また、払出制御コマンドは２バイト構成であって、１バイト目（ＭＯＤＥ）と２バイト目（ＥＸＴ）とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、ＭＯＤＥとしてのデータを受信したのかＥＸＴとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【０２３６】
なお、この実施の形態では、コマンド受信割込処理では、受信したコマンドをバッファに格納する制御が行われるが、後述するコマンド解析実行処理（図４０参照）や払出状態設定処理（図４１参照）を、コマンド受信割込処理において実行するように構成してもよい。そのように、バッファ内のコマンドについて判定するコマンド判定処理までもコマンド受信割込処理において実行する場合には、コマンドの判定も迅速に実行される。
【０２３７】
図３９は、ステップＳ７５１のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用ＣＰＵ３７１は、賞球カウントスイッチ３０１Ａがオン状態を示しているか否か確認する（ステップＳ７５１ａ）。オン状態を示していれば、払出制御用ＣＰＵ３７１は、賞球カウントスイッチオンカウンタを＋１する（ステップＳ７５１ｂ）。賞球カウントスイッチオンカウンタは、賞球カウントスイッチ３０１Ａのオン状態を検出した回数を計数するためのカウンタである。
【０２３８】
そして、賞球カウントスイッチオンカウンタの値をチェックし（ステップＳ７５１ｃ）、その値が２になっていれば、１個の賞球の払出が行われたと判断する。１個の賞球の払出が行われたと判断した場合には、払出制御用ＣＰＵ３７１は、賞球未払出カウンタ（総合個数記憶に格納されている賞球数）を−１する（ステップＳ７５１ｄ）。
【０２３９】
ステップＳ７５１ａにおいて賞球カウントスイッチ３０１Ａがオン状態でないことが確認されると、払出制御用ＣＰＵ３７１は、賞球カウントスイッチオンカウンタをクリアする（ステップＳ７５１ｅ）。そして、この実施の形態では、球貸しカウントスイッチ３０１Ｂがオン状態を示しているか否か確認する（ステップＳ７５１ｆ）。オン状態を示していれば、払出制御用ＣＰＵ３７１は、球貸しカウントスイッチオンカウンタを＋１する（ステップＳ７５１ｇ）。球貸しカウントスイッチオンカウンタは、球貸しカウントスイッチ３０１Ｂのオン状態を検出した回数を計数するためのカウンタである。
【０２４０】
そして、球貸しカウントスイッチオンカウンタの値をチェックし（ステップＳ７５１ｈ）、その値が２になっていれば、１個の貸し球の払出が行われたと判断する。１個の貸し球の払出が行われたと判断した場合には、払出制御用ＣＰＵ３７１は、貸し球未払出個数カウンタ（貸し球個数記憶に格納されている貸し球数）を−１する（ステップＳ７５１ｉ）。
【０２４１】
ステップＳ７５１ｆにおいて球貸しカウントスイッチ３０１Ｂがオン状態でないことが確認されると、払出制御用ＣＰＵ３７１は、球貸しカウントスイッチオンカウンタをクリアする（ステップＳ７５１ｊ）。
【０２４２】
図４０は、ステップＳ７５３のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用ＣＰＵ３７１は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う（ステップＳ７５３ａ）。受信コマンドがあれば、受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであるか否かの確認を行う（ステップＳ７５３ｂ）。なお、払出制御用ＣＰＵ３７１は、制御指令指示手段としての読出ポインタが指す確定コマンドバッファ領域中のアドレスに格納されている受信コマンドについてステップＳ７５３ｂの判断を行う。また、その判断後、読出ポインタの値は＋１される。読出ポインタが指すアドレスが確定コマンドバッファ１２（図３７参照）のアドレスを越えた場合には、読出ポインタの値は、確定コマンドバッファ１を指すように更新される。
【０２４３】
受信した払出制御コマンドが賞球数を指定するための払出制御コマンドであれば、払出制御コマンドで指示された個数を総合個数記憶に加算する（ステップＳ７５３ｃ）。すなわち、払出制御用ＣＰＵ３７１は、主基板３１のＣＰＵ５６から送られた払出制御コマンドに含まれる賞球数をバックアップＲＡＭ領域（総合個数記憶）に記憶する。
【０２４４】
なお、払出制御用ＣＰＵ３７１は、必要ならば、コマンド受信個数カウンタの減算や確定コマンドバッファ領域における受信コマンドシフト処理を行う。
【０２４５】
図４１は、ステップＳ７５４の払出停止状態設定処理の一例を示すフローチャートである。払出停止状態設定処理において、払出制御用ＣＰＵ３７１は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う（ステップＳ７５４ａ）。確定コマンドバッファ領域中に受信コマンドがあれば、受信した払出制御コマンドが払出停止状態指定コマンドであるか否かの確認を行う（ステップＳ７５４ｂ）。払出停止状態指定コマンドであれば、払出制御用ＣＰＵ３７１は、払出停止状態に設定する（ステップＳ７５４ｃ）。
【０２４６】
ステップＳ７５４ｂで受信コマンドが払出停止状態指定コマンドでないことを確認すると、受信した払出制御コマンドが払出可能状態指定コマンドであるか否かの確認を行う（ステップＳ７５４ｄ）。払出可能状態指定コマンドであれば、払出停止状態を解除する（ステップＳ７５４ｅ）。
【０２４７】
図４２は、ステップＳ７５５のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用ＣＰＵ３７１は、カードユニット制御用マイクロコンピュータより入力されるＶＬ信号を検知したか否かを確認する（ステップＳ７５５ａ）。ＶＬ信号を検知していなければ、ＶＬ信号非検知カウンタを＋１する（ステップＳ７５５ｂ）。また、払出制御用ＣＰＵ３７１は、ＶＬ信号非検知カウンタの値が本例では１２５であるか否か確認する（ステップＳ７５５ｃ）。ＶＬ信号非検知カウンタの値が１２５であれば、払出制御用ＣＰＵ３７１は、発射制御基板９１への発射制御信号出力を停止して、駆動モータ９４を停止させる（ステップＳ７５５ｄ）。
【０２４８】
以上の処理によって、１２５回（２ｍｓ×１２５＝２５０ｍｓ）継続してＶＬ信号のオフが検出されたら、球発射禁止状態に設定される。
【０２４９】
ステップＳ７５５ａにおいてＶＬ信号を検知していれば、払出制御用ＣＰＵ３７１は、ＶＬ信号非検知カウンタをクリアする（ステップＳ７５５ｅ）。そして、払出制御用ＣＰＵ３７１は、発射制御信号出力を停止していれば（ステップＳ７５５ｆ）、発射制御基板９１への発射制御信号出力を開始して駆動モータ９４を動作可能状態にする（ステップＳ７５５ｇ）。
【０２５０】
図４３および図４４は、ステップＳ７５６の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位（例えば２５個）とするが、連続的な払出数の最大値は他の数であってもよい。
【０２５１】
球貸し制御処理において、払出制御用ＣＰＵ３７１は、貸し球払出中であるか否かの確認を行い（ステップＳ５１１）、貸し球払出中であれば図４４に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する（ステップＳ５１２）。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【０２５２】
貸し球払出中でも賞球払出中でもなければ、払出制御用ＣＰＵ３７１は、カードユニット５０から球貸し要求があったか否かを確認する（ステップＳ５１３）。要求があれば、球貸し処理中フラグをオンするとともに（ステップＳ５１４）、２５（球貸し一単位数：ここでは１００円分）をバックアップＲＡＭ領域の貸し球個数記憶に設定する（ステップＳ５１５）。そして、払出制御用ＣＰＵ３７１は、ＥＸＳ信号をオンする（ステップＳ５１６）。また、球払出装置９７の下方の球振分部材３１１を球貸し側に設定するために振分用ソレノイド３１０を駆動する（ステップＳ５１７）。さらに、払出モータ２８９をオンして（ステップＳ５１８）、図４４に示す球貸し中の処理に移行する。
【０２５３】
なお、払出モータ２８９をオンするのは、厳密には、カードユニット５０が受付を認識したことを示すためにＢＲＱ信号をＯＦＦとしてからである。なお、球貸し処理中フラグはバックアップＲＡＭ領域に設定される。
【０２５４】
図４４は、払出制御用ＣＰＵ３７１による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ２８９がオンしていなければオンする。なお、この実施の形態では、ステップＳ７５１のスイッチ処理で、球貸しカウントスイッチ３０１Ｂの検出出力による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。球貸し制御処理において、払出制御用ＣＰＵ３７１は、貸し球通過待ち時間中であるか否かの確認を行う（ステップＳ５１９）。貸し球通過待ち時間中でなければ、貸し球の払出を行い（ステップＳ５２０）、払出モータ２８９の駆動を終了すべきか（一単位の払出動作が終了したか）否かの確認を行う（ステップＳ５２１）。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用ＣＰＵ３７１は、払出モータ２８９の駆動を停止し（ステップＳ５２２）、貸し球通過待ち時間の設定を行う（ステップＳ５２３）。
【０２５５】
なお、ステップＳ５２０の球貸し処理では、払出モータ位置センサのオンとオフとがタイマ監視されるが、所定時間以上のオン状態またはオフ状態が継続したら、払出制御用ＣＰＵ３７１は、払出モータ球噛みエラーが生じたと判断する。
【０２５６】
ステップＳ５１９で貸し球通過待ち時間中であれば、払出制御用ＣＰＵ３７１は、貸し球通過待ち時間が終了したか否かの確認を行う（ステップＳ５２４）。貸し球通過待ち時間は、最後の払出球が払出モータ２８９によって払い出されてから球貸しカウントスイッチ３０１Ｂを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット５０に対して次の球貸し要求の受付が可能になったことを示すためにＥＸＳ信号をオフにする（ステップＳ５２５）。また、振分ソレノイドをオフするとともに（ステップＳ５２６）、球貸し処理中フラグをオフする（ステップＳ５２７）。なお、貸し玉通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ３０１Ｂを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【０２５７】
なお、球貸し要求の受付を示すＥＸＳ信号をオフにした後、所定期間内に再び球貸し要求信号であるＢＲＱ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位（この例では１００円単位）毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【０２５８】
貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板９１０のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用ＣＰＵ３７１は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【０２５９】
図４５および図４６は、ステップＳ７５７の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数（例えば２５個）とするが、連続的な払出数の最大値は他の数であってもよい。
【０２６０】
賞球制御処理において、払出制御用ＣＰＵ３７１は、貸し球払出中であるか否か確認する（ステップＳ５３１）。貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ賞球の払出中であるか否か確認し（ステップＳ５３２）、賞球の払出中であれば図４６に示す賞球中の処理に移行する。賞球の払出中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【０２６１】
貸し球払出中でも賞球払出中でもなければ、払出制御用ＣＰＵ３７１は、カードユニット５０からの球貸し準備要求があるか否か確認する（ステップＳ５３３）。球貸し準備要求があるか否かは、カードユニット５０から入力されるＢＲＤＹ信号のオン（要求あり）またはオフ（要求なし）を確認することによって行われる。
【０２６２】
カードユニット５０からの球貸し準備要求がなければ、払出制御用ＣＰＵ３７１は、総合個数記憶に格納されている賞球数（未払出の賞球数）が０でないか否か確認する（ステップＳ５３４）。総合個数記憶に格納されている賞球数が０でなければ、賞球制御用ＣＰＵ３７１は、賞球処理中フラグをオンし（ステップＳ５３５）、総合個数記憶の値が２５以上であるか否か確認する（ステップＳ５３６）。なお、賞球処理中フラグは、バックアップＲＡＭ領域に設定される。
【０２６３】
総合個数記憶に格納されている賞球数が２５以上であると、払出制御用ＣＰＵ３７１は、２５個分の遊技球を払い出すまで払出モータ２８９を回転させるように払出モータ２８９に対して駆動信号を出力するために、２５個払出動作の設定を行う（ステップＳ５３７）。総合個数記憶に格納されている賞球数が２５以上でなければ、払出制御用ＣＰＵ３７１は、総合個数記憶に格納されている全ての遊技球を払い出すまで払出モータ２８９を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う（ステップＳ５３８）。次いで、払出モータ２８９をオンする（ステップＳ５３８）。なお、振分ソレノイドはオフ状態であるから、球払出装置９７の下方の球振分部材は賞球側に設定されている。そして、図４６に示す賞球制御処理における賞球払出中の処理に移行する。
【０２６４】
図４６は、払出制御用ＣＰＵ３７１による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ２８９がオンしていなければオンする。なお、この実施の形態では、ステップＳ７５１のスイッチ処理で、賞球カウントスイッチ３０１Ａの検出出力による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。賞球中の処理において、払出制御用ＣＰＵ３７１は、賞球通過待ち時間中であるか否かの確認を行う（ステップＳ５４０）。賞球通過待ち時間中でなければ、賞球払出を行い（ステップＳ５４１）、払出モータ２８９の駆動を終了すべきか（２５個または２５個未満の所定の個数の払出動作が終了したか）否かの確認を行う（ステップＳ５４２）。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用ＣＰＵ３７１は、払出モータ２８９の駆動を停止し（ステップＳ５４３）、賞球通過待ち時間の設定を行う（ステップＳ５４４）。賞球通過待ち時間は、最後の払出球が払出モータ２８９によって払い出されてから賞球カウントスイッチ３０１Ａを通過するまでの時間である。
【０２６５】
ステップＳ５４０で賞球通過待ち時間中であれば、払出制御用ＣＰＵ３７１は、賞球通過待ち時間が終了したか否かの確認を行う（ステップＳ５４５）。賞球通過待ち時間が終了した時点は、ステップＳ５３７またはステップＳ５３８で設定された賞球が全て払い出された状態である。そこで、払出制御用ＣＰＵ３７１は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする（ステップＳ５４６）。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ３０１Ａを通過しなかった場合には、賞球経路エラーとされる。
【０２６６】
なお、この実施の形態では、ステップＳ５１１、ステップＳ５３１の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【０２６７】
総合個数記憶および貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板９１０のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用ＣＰＵ３７１は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【０２６８】
なお、払出制御用ＣＰＵ３７１は、主基板３１から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球数毎（例えば１５個、１０個、６個）に管理してもよい。例えば、賞球数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを＋１する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−１する（この場合、払出制御処理にて減算処理を行うようにする）。その場合にも、各個数カウンタはバックアップＲＡＭ領域に形成される。よって、遊技機の電源が断しても、所定期間中に電源が回復すれば、払出制御用ＣＰＵ３７１は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【０２６９】
以上に説明したように、この実施の形態では、払出制御手段は、払出制御信号に関するＩＮＴ信号が立ち上がったことを検知して、例えば割込処理によって１バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ領域（この例では確定コマンドバッファ）が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【０２７０】
また、図１９および図２０のフローチャートに示されたように、遊技制御手段は、払出停止状態であっても（ステップＳ２０１）、ステップＳ２３１のコマンドセット処理が実行可能であるように構成されている。よって、払出停止状態であっても、入賞検出がなされると払出個数を示す払出制御コマンドが払出制御手段に対して送出される。
【０２７１】
払出制御手段において、払出停止状態であっても割込処理は起動されるので、払出制御手段は、払出停止中であっても、払出制御コマンドを受信することができる。そして、払出停止中では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファ領域が設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【０２７２】
そして、払出制御手段において、送出コマンドを受信リングバッファ領域（この例では確定コマンドバッファ）のどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【０２７３】
また、遊技制御手段においても、送信コマンドを特定可能なデータは、リングバッファ形式のバッファ（図２４（Ｃ）参照）に格納される。ただし、図１９〜図２１のフローチャートに示されたように、払出制御コマンドについては、賞球個数を示す払出制御コマンドはリングバッファ形式のバッファに格納されるが（ステップＳ１２６，Ｓ１３５，Ｓ２２５）、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについては、リングバッファ形式のバッファには格納されない。また、賞球個数を示す払出制御コマンドがリングバッファ形式のバッファに格納される際に、ＥＸＴデータに対応する賞球数に関するコマンドデータのみが格納される。この実施の形態では、賞球数が幾つであってもＭＯＤＥデータは「Ｆ０（Ｈ）」であるから（図２７参照）、ＥＸＴデータに対応する賞球数のみを格納するように構成しても、コマンド送出制御が複雑になることはない。
【０２７４】
そして、図１９〜図２１のフローチャートにおいて、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックが実行されるので、２ｍｓの一処理期間内で、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドは優先して送出される。すなわち、電気部品の動作停止／再開を指令する信号のように、その信号にもとづく処理が早めに開始されることが好ましい重要な制御指令は、１回の制御期間内で先に送信される。なお、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについても、賞球個数を示す払出制御コマンドと同様に、リングバッファ形式のバッファに格納してもよい。そのように構成しても、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックを実行すれば、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドが優先して送出される。
【０２７５】
さらに、２ｍｓの一処理期間内で、払出停止状態指定に関する払出制御コマンドまたは払出可能状態指定に関する払出制御コマンドと賞球個数を指定するための払出制御コマンドとをともに払出制御基板３７に送出可能になっている。すなわち、発生要因が異なる複数の制御（この例では、払出停止に関する制御と賞球払出に関する制御）について、一処理期間内で、払出制御コマンドを送出することが可能になっている。なお、図２０および図２１に示されたフローチャートに示されたように、一処理期間内で、賞球個数を指定するための払出制御コマンドは１つだけ送出可能になっている。さらに、払出停止に関する制御および賞球払出に関する制御とは発生要因が異なる制御の例として、エラー検出制御、遊技制御手段による球詰まり検出制御、球払出装置９７に関連するその他の制御を行ってもよい。それらの制御も行われる場合、遊技制御手段を、それぞれの制御について一処理期間内で１つの払出制御コマンド（例えば、エラー発生を示すコマンド、球詰まり解除を示すコマンド）を送出可能に構成しておけば、やはり、一処理期間内で複数の払出制御コマンド（それぞれ発生要因が異なる）を送出することができる。
【０２７６】
また、遊技制御手段においても、リングバッファ形式のバッファのどの領域のデータを用いるのかを示すアドレス指示手段としてのポインタ（読出ポインタ）が用いられる。よって、どの領域のデータを用いて制御コマンドを送出するのかの判断は容易である。
【０２７７】
なお、上記の実施の形態では、払出制御手段を例にしたが、その他の電気部品制御手段、例えば、表示制御手段、音声制御手段、ランプ制御手段等も上述したような処理によって遊技制御手段からの制御コマンドを確実に受信することができる。
【０２７８】
また、上記の実施の形態では、電源監視回路は電源基板９１０に設けられたが、電源監視回路は主基板３１や払出制御基板３７などの電気部品制御基板に設けられていてもよい。電源回路が搭載された電気部品制御基板が構成される場合には、電源基板には電源監視回路は搭載されない。
【０２７９】
そして、上記の各実施の形態のパチンコ遊技機１は、主として、始動入賞にもとづいて可変表示部９に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第１種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第２種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第３種パチンコ遊技機であっても、本発明を適用できる。
【０２８０】
さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
【０２８１】
【発明の効果】
以上のように、請求項１記載の本発明によれば、遊技機を、払出制御手段が、払出装置の払出動作の禁止を指令するコマンドとしての払出停止コマンドの入力に応じて払出装置の払出動作を行わない払出停止状態に制御可能であるとともに、払出装置から払い出すべき遊技媒体数を特定可能なコマンドとしての遊技媒体払出数コマンドを払出停止状態であっても入力することが可能であって、遊技制御手段によって出力される取込信号としての矩形波のレベル変化に応じて発生する割込処理により、遊技制御手段が出力したコマンドを入力するためのコマンド入力処理を実行するような構成としたので、払出制御手段は、制御状態にかかわらず、確実に遊技制御手段からのコマンドを入力することができるため、遊技進行に応じた制御を確実に実行することができる。この結果、コマンドの取りこぼしによって制御状態に異常が発生することを回避することができ、このような異常の発生を考慮したシステム開発を行う必要がなくなるので、遊技機の開発が容易となる。
【０２８２】
請求項２に記載の発明によれば、遊技制御手段が、払出のための遊技媒体が不足しているか否かを検出する遊技媒体不足検出手段が遊技媒体の不足を検出したことにもとづいて払出停止コマンドを出力するようにしたので、出力された払出停止コマンドが払出制御手段によって確実に入力されるため、払出制御手段は、遊技媒体の不足に応じて確実に払出停止状態に制御することができる。
【０２８３】
請求項３に記載の発明によれば、遊技制御手段が、払い出された遊技媒体を貯留する貯留部の貯留遊技媒体が所定量を越えたか否かを検出する満タン検出手段が、貯留遊技媒体が所定量を越えたことを検出したことにもとづいて払出停止コマンドを出力するようにしたので、出力された払出停止コマンドが払出制御手段によって確実に入力されるため、払出制御手段は、貯留部の貯留遊技媒体が所定量を越えたことに応じて確実に払出停止状態に制御することができる。
【０２８４】
請求項４に記載の発明によれば、遊技制御手段が、矩形波のオンレベル期間が経過しオフレベルとなった後でも、所定の出力維持期間中はコマンドデータの出力を維持するようにしたので、各電気部品制御手段において、確実にコマンドが入力されるようにすることが可能となる。
【０２８５】
請求項５に記載の発明によれば、払出制御手段が、コマンド入力処理において、遊技制御手段から入力されたコマンドをコマンド格納バッファに格納するようにしたので、遊技制御手段から入力したコマンドを確実に入力することができ、コマンドの取りこぼしを防止することができる。
【０２８６】
請求項６に記載の発明によれば、コマンド格納バッファは、コマンドを同時に複数個格納可能であるとしたので、遊技制御手段からの各コマンドを迅速に入力することができ、コマンドの取りこぼしを防止することができる。
【０２８７】
請求項７に記載の発明によれば、コマンド格納バッファに格納された遊技媒体払出数コマンドに応じて、未払出数カウンタを加算するとしたので、払出停止状態とされているときであっても未払出カウンタに未払出数を加算しておくことができるため、払出停止状態が解除されたあとに確実に未払出数の遊技媒体を払出すことが可能となる。
【０２８８】
請求項８に記載の発明によれば、払出制御手段が、コマンド格納バッファに格納された払出停止コマンドに応じて、払出停止状態への制御を行うようにしたので、払出に関する各種の制御を確実に実行することが可能となる。
【図面の簡単な説明】
【図１】  パチンコ遊技機を正面からみた正面図である。
【図２】  パチンコ遊技機の裏面に設けられている各基板を示す説明図である。
【図３】  パチンコ遊技機の機構盤を背面からみた背面図である。
【図４】  機構板に設置されている中間ベースユニット周りの構成を示す正面図である。
【図５】  球払出装置を示す分解斜視図である。
【図６】  遊技制御基板（主基板）の回路構成を示すブロック図である。
【図７】  払出制御基板および球払出装置の構成要素などの賞球に関連する構成要素を示すブロック図である。
【図８】  電源基板の一構成例を示すブロック図である。
【図９】  主基板におけるＣＰＵ周りの一構成例を示すブロック図である。
【図１０】  出力ポートのビット割り当ての一例を示す説明図である。
【図１１】  出力ポートのビット割り当ての一例を示す説明図である。
【図１２】  入力ポートのビット割り当ての一例を示す説明図である。
【図１３】  主基板におけるＣＰＵが実行するメイン処理を示すフローチャートである。
【図１４】  バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。
【図１５】  ２ｍｓタイマ割込処理を示すフローチャートである。
【図１６】  ＲＡＭにおけるスイッチタイマの形成例を示す説明図である。
【図１７】  スイッチ処理の一例を示すフローチャートである。
【図１８】  スイッチチェック処理の一例を示すフローチャートである。
【図１９】  賞球処理の一例を示すフローチャートである。
【図２０】  賞球処理の一例を示すフローチャートである。
【図２１】  賞球処理の一例を示すフローチャートである。
【図２２】  スイッチオンチェック処理を示すフローチャートである。
【図２３】  入力判定値テーブルの構成例を示す説明図である。
【図２４】  コマンド送信バッファの一構成例を示す説明図である。
【図２５】  制御コマンドのコマンド形態の一例を示す説明図である。
【図２６】  制御コマンドを構成する８ビットの制御信号とＩＮＴ信号との関係を示すタイミング図である。
【図２７】  払出制御コマンドの内容の一例を示す説明図である。
【図２８】  コマンドセット処理の処理例を示すフローチャートである。
【図２９】  コマンド送信処理ルーチンを示すフローチャートである。
【図３０】  賞球個数減算処理の一例を示すフローチャートである。
【図３１】  電源監視および電源バックアップのための払出制御用ＣＰＵ周りの一構成例を示すブロック図である。
【図３２】  出力ポートのビット割り当ての一例を示す説明図である。
【図３３】  入力ポートのビット割り当ての一例を示す説明図である。
【図３４】  払出制御基板におけるＣＰＵが実行するメイン処理を示すフローチャートである。
【図３５】  ２ｍｓタイマ割込処理を示すフローチャートである。
【図３６】  払出制御手段におけるＲＡＭの一構成例を示す説明図である。
【図３７】  受信バッファの一構成例を示す説明図である。
【図３８】  払出制御用ＣＰＵのコマンド受信処理の例を示すフローチャートである。
【図３９】  スイッチ処理の例を示すフローチャートである。
【図４０】  コマンド解析実行処理の例を示すフローチャートである。
【図４１】  払出停止状態設定処理の例を示すフローチャートである。
【図４２】  プリペイドカードユニット制御処理の例を示すフローチャートである。
【図４３】  球貸し制御処理の例を示すフローチャートである。
【図４４】  球貸し制御処理の例を示すフローチャートである。
【図４５】  賞球制御処理の例を示すフローチャートである。
【図４６】  賞球制御処理の例を示すフローチャートである。
【符号の説明】
３１      遊技制御基板（主基板）
３７      払出制御基板
５６      ＣＰＵ
９７      球払出装置
３０１Ａ  賞球カウントスイッチ
３０１Ｂ  球貸しカウントスイッチ
３１０    振分ソレノイド
３１１    振分部材
３７１    払出制御用ＣＰＵ
９１０    電源基板
【図１】
0004503157.tif 000002
【図２】
0004503157.tif 000003
【図３】
0004503157.tif 000004
【図４】
0004503157.tif 000005
【図５】
0004503157.tif 000006
【図６】
0004503157.tif 000007
【図７】
0004503157.tif 000008
【図８】
0004503157.tif 000009
【図９】
0004503157.tif 000010
【図１０】
0004503157.tif 000011
【図１１】
0004503157.tif 000012
【図１２】
0004503157.tif 000013
【図１３】
0004503157.tif 000014
【図１４】
0004503157.tif 000015
【図１５】
0004503157.tif 000016
【図１６】
0004503157.tif 000017
【図１７】
0004503157.tif 000018
【図１８】
0004503157.tif 000019
【図１９】
0004503157.tif 000020
【図２０】
0004503157.tif 000021
【図２１】
0004503157.tif 000022
【図２２】
0004503157.tif 000023
【図２３】
0004503157.tif 000024
【図２４】
0004503157.tif 000025
【図２５】
0004503157.tif 000026
【図２６】
0004503157.tif 000027
【図２７】
0004503157.tif 000028
【図２８】
0004503157.tif 000029
【図２９】
0004503157.tif 000030
【図３０】
0004503157.tif 000031
【図３１】
0004503157.tif 000032
【図３２】
0004503157.tif 000033
【図３３】
0004503157.tif 000034
【図３４】
0004503157.tif 000035
【図３５】
0004503157.tif 000036
【図３６】
0004503157.tif 000037
【図３７】
0004503157.tif 000038
【図３８】
0004503157.tif 000039
【図３９】
0004503157.tif 000040
【図４０】
0004503157.tif 000041
【図４１】
0004503157.tif 000042
【図４２】
0004503157.tif 000043
【図４３】
0004503157.tif 000044
【図４４】
0004503157.tif 000045
【図４５】
0004503157.tif 000046
【図４６】
0004503157.tif 000047