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