JP3583363B2 - Gaming machine - Google Patents
Gaming machine Download PDFInfo
- Publication number
- JP3583363B2 JP3583363B2 JP2000378596A JP2000378596A JP3583363B2 JP 3583363 B2 JP3583363 B2 JP 3583363B2 JP 2000378596 A JP2000378596 A JP 2000378596A JP 2000378596 A JP2000378596 A JP 2000378596A JP 3583363 B2 JP3583363 B2 JP 3583363B2
- Authority
- JP
- Japan
- Prior art keywords
- power supply
- command
- state
- ball
- payout
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、遊技媒体を用いて遊技を行うことが可能なパチンコ遊技機やスロット機等の遊技機に関する。
【0002】
【従来の技術】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】
なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、賞球払出の条件が成立しやすくなる状態になることである。
【0004】
パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】
また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に表示結果が導出表示されている可変表示部の表示態様が特定表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「リーチ」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】
遊技機における遊技進行はマイクロコンピュータ等による遊技制御手段によって制御される。可変表示部に表示される識別情報、キャラクタ画像および背景画像は、マイクロコンピュータの指示に応じて画像データを生成して可変表示部側に転送するビデオディスプレイプロセッサ(VDP)とによって制御されるが、マイクロコンピュータのプログラム容量は大きい。
【0007】
従って、プログラム容量に制限のある遊技制御手段のマイクロコンピュータで可変表示部に表示される識別情報等を制御することはできず、遊技制御手段のマイクロコンピュータとは別の表示制御用のマイクロコンピュータ等による表示制御手段を搭載した図柄制御基板が設置される。遊技の進行を制御する遊技制御手段は、表示制御手段に対して表示制御のためのコマンドを送信する必要がある。
【0008】
賞球払出の制御を行う払出制御手段が、遊技制御手段が搭載されている主基板とは別の払出制御基板に搭載されている場合、遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板に送信される。一方、遊技媒体の貸し出しは、遊技の進行とは無関係であるから、一般に、遊技制御手段を介さず払出制御手段によって制御される。
【0009】
以上のように、遊技機には、遊技制御手段の他に種々の制御手段が搭載されている。そして、遊技の進行を制御する遊技制御手段は、遊技状況に応じて動作指示を示す各コマンドを、各制御基板に搭載された各制御手段に送信する。以下、遊技制御手段その他の制御手段を電気部品制御手段といい、電気部品制御手段が搭載された基板を電気部品制御基板ということがある。
【0010】
【発明が解決しようとする課題】
一般に、各電気部品制御手段はマイクロコンピュータを含んだ構成とされる。すなわち、ROM等にプログラムが格納され、制御上一時的に発生するデータや制御進行に伴って変化するデータがRAMに格納される。すると、遊技機に停電等による電力供給停止状態が発生すると、RAM内のデータは失われてしまう。よって、停電等からの復旧時には、最初の状態(例えば、遊技店においてその日最初に遊技機に電源投入されたときの状態)に戻さざるを得ないので、遊技者に不利益がもたらされる可能性がある。例えば、大当たり遊技中において電力供給停止状態が発生し遊技機が最初の状態に戻ってしまうのでは、遊技者は大当たりの発生にもとづく利益を享受することができなくなってしまう。
【0011】
そこで、本発明は、遊技機への電力供給が停止しても、遊技者に不利益がもたらされることを極力防止することができる遊技機を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明による遊技機は、遊技媒体を用いて所定の遊技を行うことが可能な遊技機であって、遊技機に設けられる電気部品を制御するための処理を行う電気部品制御手段と、遊技の進行に応じて変動する変動データを記憶する変動データ記憶手段と、遊技機への電力供給が停止しても所定期間は変動データ記憶手段の少なくとも一部の記憶内容を保持させることが可能な記憶保持手段と、遊技機に設けられ遊技媒体を検出する遊技媒体検出手段に供給される電圧よりも高い直流電圧の電源の状態を監視して電源の出力電圧が低下し検出条件が成立した場合に検出信号を出力する電源監視手段とを備え、制御状態を復旧させるために必要な状態記憶が、記憶保持手段によって保持される記憶内容に含まれ、電気部品制御手段が、電源監視手段からの検出信号に応じて、制御状態を復旧させるために必要な状態記憶を記憶保持手段によって保持される変動データ記憶手段の記憶内容として保存させるための処理である電力供給停止時処理を実行するとともに、電力供給停止時処理を実行したことを示す情報を記憶保持手段によって保持される変動データ記憶手段の記憶内容として保存し、電力供給が復旧した場合に、電力供給停止時処理を実行したことを示す情報が保存されていたことを条件に状態記憶にもとづいて制御状態を復旧させる状態復旧処理を行い、電力供給停止時処理を実行したことを示す情報が保存されていなければ制御状態を初期化する初期化処理を行うことを特徴とする。
【0013】
状態復旧処理は、電力供給停止時処理を行ったことを示す情報をクリアする処理を含むことが好ましい。
【0014】
状態記憶はレジスタの内容を含み、状態復旧処理はレジスタの内容を復旧する処理を含むことが好ましい。
【0015】
状態記憶は、所定の割込処理の実行を禁止する割込禁止状態または実行を許可する割込許可状態のうちいずれか一方の状態を示す割込状態情報を含み、状態復旧処理は、割込状態情報にもとづく割込禁止状態または割込許可状態の復旧処理を含むことが好ましい。
【0016】
電気部品制御手段がマイクロコンピュータを含み、電源監視手段からの検出信号がマイクロコンピュータの割込端子に入力され、マイクロコンピュータが、割込端子への入力にもとづいて電力供給停止時処理を実行するように構成されていてもよい。
【0017】
割込端子は、例えば、マスク不能割り込みの割込端子である。
【0018】
電気部品制御手段が搭載された電気部品制御基板とは別体に形成され遊技機で使用する電源を作成する電源基板を備え、電源監視手段は、電源基板に搭載されていてもよい。
【0019】
記憶保持手段は、電源基板に搭載されていてもよい。
【0020】
電源監視手段が、第1の電源監視手段と第2の電源監視手段とを含み、電気部品制御手段が、第1の電源監視手段からの検出信号に応じて電力供給停止時処理を実行し、第2の電源監視手段からの検出信号に応じてシステムリセットされるように構成されていてもよい。
【0021】
第1の電源監視手段と第2の電源監視手段とは同一の直流電圧の電源の状態を監視し、第2の電源監視手段が検出信号を出力することになる電源の出力電圧は第1の電源監視手段が検出信号を出力することになる電源の出力電圧よりも低く、第2の電源監視手段が、電気部品制御手段による電力供給停止時処理の実行が完了した後に検出信号を出力するように構成されていてもよい。
【0022】
電気部品制御手段は遊技媒体の払出制御を行う払出制御手段であって、少なくとも払出個数に関わる情報が、記憶保持手段によって記憶内容が保持される変動データ記憶手段に記憶される構成であってもよい。
【0023】
電気部品制御手段は、定期的に発生するタイマ割込が生じたことにもとづいて遊技機に設けられている電気部品を制御するための電気部品制御処理(例えば遊技制御手段が実行する遊技制御処理)を実行するとともに、電気部品制御処理に要する時間の余り時間で、遊技の制御に用いられるカウンタを更新する処理を実行し、余り時間でカウンタを更新する処理中では割込禁止に設定するように構成されていてもよい。
【0024】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2はガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、例えばスロット機等であってもよい。また、画像式の遊技機に適用することもできる。
【0025】
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
【0026】
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
【0027】
遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別図柄表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9の下方には、始動入賞口14が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0028】
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。また、可変表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4個の表示部を有する始動記憶表示器18が設けられている。この例では、4個を上限として、有効始動入賞がある毎に、始動記憶表示器18は点灯している表示部を1つずつ増やす。そして、可変表示装置9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
【0029】
ゲート32に遊技球が入賞すると、7セグメントLEDによる普通図柄表示器10の表示の可変表示が開始される。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32に入った入賞球数を表示する4個の表示部を有する普通図柄始動記憶表示器41が設けられている。この例では、4個を上限として、ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯している表示部を1つずつ増やす。そして、可変入賞球装置15の開放制御がなされる毎に、点灯している表示部を1つ減らす。
【0030】
遊技盤6には、複数の入賞口24,29,30,33が設けられ、遊技球の入賞口24,29,30,33への入賞は、それぞれ入賞口スイッチ24a,29a,30a,33aによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。
【0031】
そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
【0032】
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
【0033】
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
【0034】
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
【0035】
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。
【0036】
打球がゲート32に入賞すると、普通図柄表示器10において普通図柄としての表示数字が連続的に変化する状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、高確率状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
【0037】
次に、パチンコ遊技機1の裏面の構造について図3および図4を参照して説明する。図3は、遊技機を裏面から見た背面図である。図4は、各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【0038】
図3に示すように、遊技機裏面側では、可変表示装置9を制御する図柄制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。さらに、遊技盤6に設けられている各種装飾LED、特別図柄始動記憶表示器18および普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52を点灯制御するランプ制御手段が搭載されたランプ制御基板35、スピーカ27からの音発生を制御する音制御手段が搭載された音制御基板70も設けられている。また、また、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910や発射制御基板91が設けられている。
【0039】
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤34が設置されている。
【0040】
さらに、各基板(主基板31や払出制御基板37等)に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための初期化操作手段としてのクリアスイッチ921が搭載されたスイッチ基板190が設けられている。スイッチ基板190には、クリアスイッチ921と、主基板31等の他の基板と接続されるコネクタ922が設けられている。
【0041】
貯留タンク38に貯留された遊技球は誘導レール39を通り、図4に示されるように、カーブ樋186を経て賞球ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【0042】
なお、球切れスイッチ187は、球払出装置に至る払出球通路に27〜28個程度の遊技球が存在することを検出できるような位置に係止されている。すなわち、球切れスイッチ187は、賞球の一単位の最大払出量(この実施の形態では15個)および球貸しの一単位の最大払出量(この実施の形態では100円:25個)以上が確保されていることが確認できるような位置に設置されている。
【0043】
球払出装置から払い出された遊技球は、連絡口45を通ってパチンコ遊技機1の前面に設けられている打球供給皿3に誘導される。連絡口45の側方には、パチンコ遊技機1の前面に設けられている余剰球受皿4に連通する余剰球通路46が形成されている。
【0044】
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると、遊技球は、余剰球通路46を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が貯留状態検出手段としての満タンスイッチ48を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
【0045】
図4に示すように、球払出装置の側方には、カーブ樋186から遊技機下部の排出口192に至る球抜き通路191が形成されている。球抜き通路191の上部には球抜きレバー193が設けられ、球抜きレバー193が遊技店員等によって操作されると、誘導レール39から球抜き通路191への遊技球通路が形成され、貯留タンク38内に貯留されている遊技球は、排出口192から遊技機外に排出される。
【0046】
図5は、球払出装置97の構成例を示す分解斜視図である。この例では、賞球ケース40Aとしての3つのケース140,141,142の内部に球払出装置97が形成されている。ケース140,141の上部には、球切れスイッチ187の下部の球通路と連通する穴170,171が設けられ、遊技球は、穴170,171から球払出装置97に流入する。
【0047】
球払出装置97は駆動源となる払出モータ(例えばステッピングモータ)289を含む。払出モータ289の回転力は、払出モータ289の回転軸に嵌合しているギア290に伝えられ、さらに、ギア290と噛み合うギア291に伝えられる。ギア291の中心軸には、凹部を有するスプロケット292が嵌合している。穴170,171から流入した遊技球は、スプロケット292の凹部によって、スプロケット292の下方の球通路293に1個ずつ落下させられる。
【0048】
球通路293には遊技球の流下路を切り替えるための振分部材311が設けられている。振分部材311はソレノイド310によって駆動され、賞球払出時には、球通路293における一方の流下路を遊技球が流下するように倒れ、球貸し時には球通路293における他方の流下路を遊技球が流下するように倒れる。なお、払出モータ289およびソレノイド310は、払出制御基板37に搭載されている払出制御用CPUによって制御される。また、払出制御用CPUは、主基板31に搭載されている遊技制御用のCPUからの指令に応じて払出モータ289およびソレノイド310を制御する。
【0049】
賞球払出時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する賞球センサ(賞球カウントスイッチ)301Aが設けられ、球貸し時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する球貸しセンサ(球貸しカウントスイッチ)301Bが設けられている。賞球カウントスイッチ301Aの検出信号と球貸しカウントスイッチ301Bの検出信号は払出制御基板37の払出制御用CPUに入力される。払出制御用CPUは、それらの検出信号にもとづいて、実際に払い出された遊技球の個数を計数する。
【0050】
図6は、遊技盤6に設置されているスイッチ基板190の部分を示す正面図である。図6に示すように、スイッチ基板190には、主基板31等の他の基板に、ケーブルを介してクリアスイッチ921の出力を接続するためのコネクタ922が搭載されている。
【0051】
図7は、スイッチ基板190に搭載されたクリアスイッチ921の構成の一例を示す構成図である。図7(A)には、押しボタン構造のクリアスイッチ921が示されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ922を介して主基板31等に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。
【0052】
図7(B)は、クリアスイッチ921の他の構成例を示す構成図である。図7(B)に示すクリアスイッチ921は、「OFF」、「ON」および「クリア」の選択切り換えを行うための切換操作部921aを有する。切換操作部921aによって、「OFF」が選択されているときは何らの信号も発生しない。「ON」が選択されているときはハイレベルの信号を出力する。なお、クリアスイッチ921が、遊技機1に対する電源供給のオン/オフ切換のためのスイッチも兼ねていてもよい。その場合、「OFF」が選択されると、遊技機1に対する電源供給が停止された状態(遊技機の電源がオフの状態)になる。「ON」または「クリア」が選択されると、遊技機1に対して電源供給が行われる状態(遊技機の電源がオンの状態)になる。また、「クリア」が選択されているときに、ローレベルのクリアスイッチ信号が出力される。
【0053】
なお、この実施の形態では、クリアスイッチ921が搭載されたスイッチ基板190が他の基板とは別個に設けられているが、他の基板にクリアスイッチ921を搭載してもよい。例えば、電源基板910に搭載してもよい。クリアスイッチ921が電源基板910に搭載されている場合には、遊技盤6の入れ替え等の場合に入れ替え後の遊技盤6に対して電源基板910をそのまま使用しても、入れ替え後の遊技盤6において、そのままで遊技状態復旧処理等を実行することができる。すなわち、電源基板910の使い回しを行うことができる。
【0054】
図8は、主基板31における回路構成の一例を示すブロック図である。なお、図8には、払出制御基板37、ランプ制御基板35、音制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ24a,29a,30a,33a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301Aおよびクリアスイッチ921からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
【0055】
なお、図8には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ24a,29a,30a,33a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。
【0056】
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部機器に対して出力する情報出力回路64が搭載されている。
【0057】
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
【0058】
また、RAM(CPU内蔵RAMであってもよい。)55の一部または全部が、電源基板910において作成されるバックアップ電源よってバックアップされているバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の一部または全部の内容は保存される。
【0059】
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
【0060】
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
【0061】
図9は、図柄制御基板80内の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,2)570,572および出力バッファ回路620,62Aとともに示すブロック図である。出力ポート(出力ポート2)572からは8ビットのデータが出力され、出力ポート570からは1ビットのストローブ信号(INT信号)が出力される。
【0062】
表示制御用CPU101は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して表示制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、表示制御用CPU101がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと表示制御用CPU101との間に、I/Oポートが設けられる。
【0063】
そして、表示制御用CPU101は、受信した表示制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、表示制御コマンドに応じた指令をVDP103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号および同期信号をLCD82に出力する。
【0064】
なお、図9には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、および使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
【0065】
入力バッファ回路105A,105Bは、主基板31から表示制御基板80へ向かう方向にのみ信号を通過させることができる。従って、表示制御基板80側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。表示制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
【0066】
高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、表示制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
【0067】
図10は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図10に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート部57に入力される。また、球切れスイッチ187からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力される。
【0068】
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出を停止すべき状態であることを指示する払出制御コマンドを送出する。払出を停止すべき状態であることを指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
【0069】
さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【0070】
入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート570は1ビットのINT信号を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
【0071】
また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
【0072】
払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
【0073】
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して、球貸しカウントスイッチ301B、および払出モータ289の回転位置を検出するための払出モータ位置センサからの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号はあ、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。また、クリアスイッチ921の出力も、入力ポート372bに入力される。
【0074】
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、端数表示スイッチ152、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
【0075】
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。
【0076】
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
【0077】
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
【0078】
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
【0079】
この実施の形態では、電源基板910から払出制御基板37に対して電源断信号も入力される。電源断信号は、払出制御用CPU371のマスク不能割込(NMI)端子に入力される。さらに、払出制御基板37に存在するRAM(CPU内蔵RAMであってもよい。)の少なくとも一部は、電源基板910において作成されるバックアップ電源によって、バックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAMの少なくとも一部の内容は保存される。
【0080】
なお、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
【0081】
図11は、電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、図柄制御基板80、音制御基板70、ランプ制御基板35および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源すなわち記憶保持手段となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。なお、VSLは、整流回路912において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。
【0082】
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC922(図11では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC922の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0083】
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図11には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0084】
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0085】
また、電源基板910には、電源監視回路としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0086】
電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
【0087】
+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電力供給回復待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0088】
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【0089】
なお、図11に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【0090】
図12は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図12に示すように、電源基板910の電源監視回路(電源監視手段;第1の電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。従って、CPU56は、マスク不能割込(NMI)処理によって遊技機への電力供給の停止の発生を確認することができる。
【0091】
図12には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【0092】
図12に示すように、リセットIC651からのリセット信号は、NAND回路947に入力されるとともに、反転回路(NOT回路)944を介してカウンタIC941のクリア端子に入力される。カウンタIC941は、クリア端子への入力がローレベルになると、発振器943からのクロック信号をカウントする。そして、カウンタIC941のQ5出力がNOT回路945,946を介してNAND回路947に入力される。また、カウンタIC941のQ6出力は、フリップフロップ(FF)942のクロック端子に入力される。フリップフロップ942のD入力はハイレベルに固定され、Q出力は論理和回路(OR回路)949に入力される。OR回路949の他方の入力には、NAND回路947の出力がNOT回路948を介して導入される。そして、OR回路949の出力がCPU56のリセット端子に接続されている。このような構成によれば、電源投入時に、CPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、CPU56は、確実に動作を開始する。
【0093】
そして、例えば、電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
【0094】
なお、電源監視回路とシステムリセット回路65とが監視する電源の電圧は異なっていてもよい。また、システムリセット回路65は、第2の電源監視手段に相当する。
【0095】
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【0096】
なお、図12に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
【0097】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。PIOは、PB0〜PB3の4ビットおよびPA0〜PA7の1バイトのポートを有する。PB0〜PB3およびPA0〜PA7のポートは、入力/出力いずれにも設定できる。
【0098】
図13および図14は、この実施の形態における出力ポートの割り当てを示す説明図である。図13に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのINT信号の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータは出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータは出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータは出力ポート3から出力される。そして、図14に示すように、音制御基板70に送出される音制御コマンドの8ビットのデータは出力ポート4から出力される。
【0099】
また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板2を開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
【0100】
図14に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音声制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。
【0101】
従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音声制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0102】
図15は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図15に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ33a、24a,29a,30a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22、ゲートスイッチ32aの検出信号が入力される。また、入力ポート1のビット0〜4には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号およびクリアスイッチ921の検出信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路58において論理反転されている。このように、クリアスイッチ921の検出信号は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート(8ビット)と同一の入力ポートに入力されている。
【0103】
次に遊技機の動作について説明する。図16は、主基板31における遊技制御手段(CPU56およびROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0104】
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0105】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
【0106】
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0107】
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0108】
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0109】
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0110】
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0111】
次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS11〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである(図15参照)。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始することによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0112】
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
【0113】
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図17に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0114】
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
【0115】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【0116】
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS10)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0117】
このように、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認することによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0118】
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定設定処理を行う(ステップS12)。さらに、球払出装置97からの払出が可能であることを指示する払出停止解除コマンド(払出可能状態指定コマンド)を払出制御基板37に対して送信する処理を行う(ステップS13)。また、他のサブ基板(ランプ制御基板35、音制御基板70、図柄制御基板80)を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド(図柄制御基板80に対して)や賞球ランプ51および球切れランプ52の消灯を指示するコマンド(ランプ制御基板35に対して)等がある。
【0119】
初期化処理では、払出制御基板37に対して常に払出可能状態指定コマンドが送信される。仮に、遊技機の状態が球払出装置97からの払出が可能でない状態であったとしても、直後に実行される遊技制御処理において、その旨が検出され、払出が可能でない状態であることを指示する払出停止コマンド(払出停止状態指定コマンド)が送信されるので問題はない。なお、払出可能状態指定コマンドおよび他のサブ基板に対する初期化コマンドの送信処理において、例えば、各コマンドが設定されているテーブル(ROM領域)のアドレスをポインタにセットし、後述するコマンドセット処理(図37参照)のような処理ルーチンをコールすればよい。
【0120】
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0121】
初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
【0122】
なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【0123】
図18は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS81)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている)に退避している。よって、ステップS81では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0124】
次いで、CPU56は、払出停止状態であったか否か確認する(ステップS82)。払出停止状態であったか否かは、電源バックアップされているRAMエリアに保存されている所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど)における払出停止フラグによって確認される。払出停止状態であった場合には、払出制御基板37に搭載されている払出制御手段に対して、払出の停止を指示する払出制御コマンド(払出停止状態指定コマンド)を送信する(ステップS83)。払出停止状態でなかった場合には、払出制御手段に対して払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)を送信する(ステップS84)。
【0125】
補給球の不足や余剰球受皿4の満タンについて払出制御手段は認識できないので、遊技制御手段から通知しないと、停電等からの復旧時に、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうおそれがある。しかし、この実施の形態では、遊技状態復旧処理において、払出の停止を指示する払出制御コマンドまたは払出が可能であること指示する払出制御コマンドが送信されるので、払出制御手段が、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうことはない。
【0126】
なお、ここでは、遊技媒体の払い出しが可能であるか否かを判定する払出状態判定手段(遊技制御手段の一部)が払出可能でないことを検出したら、原因の如何に関わらず、1種類の払出停止状態指定コマンドが送信されるようにしたが、原因別のコマンド(この例では、補給球の不足を示すコマンドと下皿満タンを示すコマンド)に分けて送信してもよい。さらに、遊技球の払出が可能でない場合に、遊技の継続を禁止するために遊技球の発射を禁止することを指示するコマンドを払出制御基板37に対して送信してもよい。払出制御基板37に搭載された払出制御手段は、遊技球の発射を禁止することを指示するコマンドを受信したら、打球発射装置の駆動を停止する。また、遊技球の払出が可能でない場合に、遊技制御手段が発射制御手段に対して、直接、遊技球の発射を禁止することを指示する信号を与えてもよい。また、払出制御手段は、払出停止状態指定コマンドを受信した場合に、打球発射装置の駆動を停止するようにしてもよい。
【0127】
次いで、CPU56は、電力供給が停止したときに可変表示装置9において特別図柄変動中であったか否か確認する(ステップS85)。電力供給が停止したときに特別図柄変動中であったか否かは、例えば電源バックアップされているRAMエリアに格納されている特別図柄プロセスフラグの値等によって確認することができる。特別図柄変動中であった場合には、図柄制御基板80に搭載されている表示制御手段に対して、特別図柄停電復旧コマンドおよび左右中の図柄を指定する表示制御コマンドを送信する(ステップS86,S87)。ここで、表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに行われていた特別図柄変動で停止表示されるはずであった図柄である。
【0128】
表示制御手段は、特別図柄停電復旧コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9に停電が生じた旨の表示を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、特別図柄の変動期間が終了すると、遊技制御手段は表示制御手段に対して確定コマンドを送信する。表示制御手段は、確定コマンドを受信したことにもとづいて、次の特別図柄の変動を行える状態になる。
【0129】
特別図柄変動中でなかった場合には、CPU56は、表示制御手段に対して、左右中の図柄を指定する表示制御コマンド、確定コマンドおよび客待ちデモコマンドを送信する処理を行う(ステップS88〜S90)。表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに可変表示装置9において表示されていた図柄である。
【0130】
表示制御手段は、確定コマンドを受信すると、左右中の図柄を指定する表示制御コマンドで指定された特別図柄を可変表示装置9に表示させる制御を行う。また、客待ちデモコマンドを受信すると、可変表示装置9の背景等の表示状態を待機状態の表示状態にする制御を行う。
【0131】
その後、CPU56は、バックアップフラグをクリアする(ステップS91)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタに設定する(ステップS92)。すなわち、レジスタ復元処理を行う。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS93,S94)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS95)。
【0132】
そして、RET命令が実行されるのであるが、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS95の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて復旧制御が実行されている。
【0133】
タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図19に示すステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ33a,24a,29a,30a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0134】
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0135】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24)。
【0136】
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0137】
次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
【0138】
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
【0139】
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
【0140】
そして、CPU56は、入賞口スイッチ33a,24a,29a,30aの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞口スイッチ33a,24a,29a,30aがオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。その後、レジスタの内容を復帰させ(ステップS32)、割込許可状態に設定する(ステップS33)。
【0141】
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
【0142】
図20,図21は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。
【0143】
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)を所定のバックアップRAM領域に退避する(ステップS51)。また、割込フラグをパリティフラグにコピーする(ステップS52)。パリティフラグはバックアップRAM領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、CPU56が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理で参照される。そして、遊技状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。
【0144】
また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS54〜58)。
【0145】
次に、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS60〜S67)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS60)、チェックサム算出開始アドレスをポインタにセットする(ステップS61)。また、チェックサム算出回数をセットする(ステップS62)。
【0146】
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS63)。演算結果をチェックサムデータエリアにストアするとともに(ステップS64)、ポインタの値を1増やし(ステップS65)、チェックサム算出回数の値を1減算する(ステップS66)。ステップS63〜S66の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS67)。
【0147】
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS68)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS69)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS70)。以後、内蔵RAM55のアクセスができなくなる。従って、電圧低下に伴ってプログラムの暴走が生じても、RAMの記憶内容が破壊されるようなことはない。
【0148】
さらに、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS71)、処理数(この例では「7」)を別のレジスタにセットする(ステップS72)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS73)。IOポインタとして、さらに別のレジスタが用いられる。
【0149】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS74)、IOポインタの値を1増やし(ステップS75)、処理数の値を1減算する(ステップS77)。ステップS74〜S76の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポート0〜6(図13および図14参照)にクリアデータが設定される。図13および図14に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0150】
従って、遊技状態を保存するための処理(この例では、チェックサムの生成およびRAMアクセス防止)が実行された後、各出力ポートは直ちにオフ状態になる。なお、この実施の形態では、遊技制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、遊技状態を保存するための処理に相当する。
【0151】
遊技状態を保存するための処理が実行された後、直ちに各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。つまり、パチンコ遊技機のように可変入賞球装置を有している遊技機において、実装の関係上、可変入賞球装置における可変入賞口の位置と入賞を検出する入賞口スイッチの設置位置とを、ある程度離さざるを得ない。出力ポート、特に可変入賞球装置を開放状態にするための信号が出力される出力ポートを直ちにオフ状態にしないと、電力供給停止時に、可変入賞口に入賞したにもかかわらず、電力供給停止時処理の実行が開始されて入賞口スイッチの検出がなされない状況が起こりうる。その場合、可変入賞口に入賞があったことは保存されない。すなわち、実際に生じている遊技状態(入賞があったこと)と保存される遊技状態とが整合しない。しかし、この実施の形態では、出力ポートがクリアされて可変入賞球装置が閉じられるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。
【0152】
また、電気部品の駆動が不能になる状態になる前に実行される電力供給停止時処理の際に、出力ポートをクリアすることができるので、電気部品の駆動が不能になる状態となる前に遊技制御手段によって制御される各電気部品を、適切な動作停止状態にすることができる。例えば、開放中の大入賞口を閉成させ、また開放中の可変入賞球装置15を閉成させるなど、電気部品についての作動を停止させたあとに電気部品の駆動が不能になる状態とすることができる。従って、適切な停止状態で電力供給の復旧を待つことが可能となる。そして、出力ポートに対するクリア処理が完了すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0153】
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0154】
図22は、この実施の形態におけるRAM領域のアドレスマップを示す説明図である。図22に示すように、RAM領域の先頭はバックアップフラグの領域に割り当てられている。そして、最後部にチェックサムバッファの領域が割り当てられている。なお、この実施の形態では、RAM領域の全てが電源バックアップされている。
【0155】
図23は、チェックサム作成方法の一例を説明するための説明図である。ただし、図23に示す例では、簡単のために、バックアップRAM領域のデータのサイズを3バイトとする。電源電圧低下にもとづく電力供給停止時処理において、図23に示すように、チェックサムデータとして初期データ(この例では00(H))が設定される。次に、「00(H)」と「F0(H)」の排他的論理和がとられ、その結果と「16(H)」の排他的論理和がとられる。さらに、その結果と「DF(H)」の排他的論理和がとられる。そして、その結果(この例では「39(H)」)を論理反転して得られた値(この例では「C6(H)」)がバックアップパリティデータ領域に設定される。
【0156】
なお、図23では、説明を容易にするために、論理反転前のデータ「39(H)」がチェックサムバッファに格納されている様子が示されている。なお、初期データとしての00(H)はステップS60で設定されるチェックサムデータに対するクリアデータに応じた値であるが、実際には、00(H)との排他的論理和は演算前と後とで値が変わらないので、00(H)との排他的論理和演算を行わなくてもよい。
【0157】
この実施の形態では、チェックサムバッファは、バックアップRAM領域(変動データ記憶手段)の最後のアドレスに格納されている。従って、例えば、チェックサム作成方法のプログラムに誤りがないかどうか確認する際に、容易にその確認を行うことができる。RAM領域の最終アドレスの値が正しいか否か確認すればよいからである。また、この実施の形態では、チェックサム算出開始アドレスはバックアップフラグが設定されるアドレスであり、チェックサム算出最終アドレスは賞球制御用フラグ・バッファのうちの最後のアドレスである(図22参照)。従って、賞球制御用フラグ・バッファの後、すなわち、バックアップRAM領域の最後のアドレスをチェックサムバッファの領域にすれば、RAM領域において無駄が生ずることはない。
【0158】
なお、確認のしやすさやRAM領域の無駄防止を考慮すると、バックアップRAM領域の最初のアドレスをチェックサムバッファの領域にしてもよい。
【0159】
また、遊技機への電力供給開始時にはパリティチェックOKか否かの判断が行われるが(図16におけるステップS9)、その判断では、電力供給停止時処理におけるパリティデータの作成処理(ステップS71〜S77)と同様の処理が行われ、処理結果すなわち演算結果がチェックサムバッファの内容と一致したらパリティチェックOKと判定される。
【0160】
なお、ここでは、バックアップRAM領域の最後または最初のアドレスをチェックサムバッファの領域にしたが、バックアップRAM領域の中途の領域にチェックサムバッファの領域を割り当ててもよい。
【0161】
図24は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLの電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
【0162】
電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御用CPU371のNMI端子に入力される。CPU56および払出制御用CPU371は、NMI処理によって、所定の電力供給停止時処理を実行する。
【0163】
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPU371がシステムリセット状態になる。なお、CPU56および払出制御用CPU371は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0164】
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPU371がシステムリセット状態とされている。
【0165】
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図24に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
【0166】
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともIC駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。
【0167】
その場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧(スイッチ電圧)が+12Vであることから、+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
【0168】
次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図25に示すように、スイッチタイマは検出信号の数N(クリアスイッチ921の検出信号を除く)だけ設けられている。この実施の形態ではN=12である。また、RAM55において、各スイッチタイマのアドレスは、入力ポートのビット配列順(図15に示された上から下への順)と同じ順序で並んでいる。
【0169】
図26は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図19に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS101)。次いで、処理数として「8」を設定し(ステップS102)、入賞口スイッチ33aのためのスイッチタイマのアドレスをポインタにセットする(ステップS103)。そして、スイッチチェック処理サブルーチンをコールする(ステップS104)。
【0170】
図27は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS121)。また、クリアデータ(00)をセットする(ステップS122)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS123)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS124)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ33aの検出信号がキャリーフラグに押し出される。
【0171】
キャリーフラグの値が「1」であれば(ステップS125)、すなわち入賞口スイッチ33aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS127)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS128,S129)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0172】
キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ33aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS126)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0173】
その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS130)、処理数を1減算する(ステップS131)。処理数が0になっていなければステップS122に戻る。そして、ステップS122〜S132の処理が繰り返される。
【0174】
ステップS122〜S132の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0175】
CPU56は、スイッチ処理のステップS105において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS106)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS107)。そして、スイッチチェック処理サブルーチンをコールする(ステップS108)。
【0176】
スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS122〜S132の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0177】
なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
【0178】
図28〜図30は、遊技制御処理におけるステップS31の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、賞球払出の対象となる入賞口スイッチ33a,24a,29a,30a、カウントスイッチ23および始動口スイッチ14aが確実にオンしたか否か判定されるとともに、オンしたら賞球個数を示す払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
【0179】
賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブル(図32参照)のオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
【0180】
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図32に示されている。図32に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【0181】
スイッチオンチェックルーチンの一例が図31に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図28には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
【0182】
また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS156)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS157)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS158)。
【0183】
スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS159)、球切れフラグがセットされる(ステップS160)。なお、図28には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
【0184】
そして、CPU56は、払出停止状態であるか否か確認する(ステップS201)。払出停止状態は、払出制御基板37に対して払出を停止すべき状態であることを指示する払出制御コマンドである払出停止状態指定コマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS202)。
【0185】
いずれかがオン状態に変化したときには、払出停止状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS203)、コマンドセット処理をコールする(ステップS206)。ステップS203では、払出停止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS202において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理(ステップS203)は行われない。
【0186】
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS204)。ともにオフ状態となったときには、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS205)、コマンドセット処理をコールする(ステップS207)。ステップS205では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0187】
さらに、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS221)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS222)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ33aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS223)。そして、スイッチオンチェックルーチンがコールされる(ステップS224)。
【0188】
スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図32参照)の先頭アドレスを設定する(ステップS281)。そして、そのアドレスにオフセットを加算し(ステップS282)、加算後のアドレスからスイッチオン判定値をロードする(ステップS283)。
【0189】
次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS284)、そのアドレスにオフセットを加算し(ステップS285)、加算後のアドレスからスイッチタイマの値をロードする(ステップS286)。各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【0190】
そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS287)。それらが一致すれば、スイッチオンフラグをセットする(ステップ128)。
【0191】
この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ33aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS225)。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS230)、最初に設定された繰り返し数分だけ実行されるので(ステップS228,S229)、結局、入賞口スイッチ33a,24a,29a,30aについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。
【0192】
スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「10」をリングバッファに設定する(ステップS226)。そして、総賞球数格納バッファの格納値に10を加算する(ステップS227)。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【0193】
総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球個数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する、出力する払出制御コマンドに対応した賞球数の加算処理を行ってもよい。
【0194】
次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS231)、スイッチタイマのアドレスのオフセットとして「4」を設定する(ステップS232)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「4」は始動口スイッチ14aに対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS233)。
【0195】
スイッチオンチェックルーチンにおいて、始動口スイッチ14aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS234)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「6」をリングバッファに設定する(ステップS235)。また、総賞球数格納バッファの格納値に6を加算する(ステップS236)。
【0196】
次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS241)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS242)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS243)。
【0197】
スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS244)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「15」をリングバッファに設定する(ステップS245)。また、総賞球数格納バッファの格納値に15を加算する(ステップS246)。
【0198】
そして、リングバッファにデータが存在する場合には(ステップS247)、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに(ステップS248)、読出ポインタの値を更新(リングバッファの次の領域を指すように更新)し(ステップS249)、賞球個数に関するコマンド送信テーブルをセットし(ステップS250)、コマンドセット処理をコールする(ステップS251)。コマンドセット処理の動作については後で詳しく説明する。
【0199】
ステップS250では、賞球個数に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球個数に関するコマンド送信テーブルには、後述するINTデータ(01(H))、払出制御コマンドの1バイト目のデータ(F0(H))、および払出制御コマンドの2バイト目のデータが設定されている。ただし、2バイト目のデータとして「80(H)」が設定されている。
【0200】
以上のように、遊技制御手段から払出制御基板37に賞球個数を指示する払出制御コマンドを出力しようとするときに、賞球個数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンドセット処理によって、賞球個数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板37に送出される。なお、ステップS247において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。
【0201】
そして、総賞球数格納バッファの内容が0でない場合、すなわち、まだ賞球残がある場合には、CPU56は、賞球払出中フラグをオンする(ステップS252,S253)。
【0202】
また、CPU56は、賞球払出中フラグがオンしているときには(ステップS254)、球払出装置97から実際に払い出された賞球個数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う(ステップS255)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
【0203】
この実施の形態では、払出停止中であっても(ステップS201,S204)、ステップS221〜S251の処理が実行される。すなわち、遊技制御手段は、払出停止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するためのコマンドが、払出停止状態であっても払出制御手段に伝達され、払出停止状態が解除されたときに、早めに賞球払出を開始することができる。また、遊技制御手段において、払出停止状態における入賞にもとづく賞球個数を記憶するための大きな記憶領域は必要とされない。
【0204】
次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から他の電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図33(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0205】
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【0206】
図33(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(メイン処理のステップS31)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、図柄出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(メイン処理のステップS27)において、INTデータに「02(H)」を設定する。
【0207】
INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0208】
この実施の形態では、払出制御コマンドについて、図33(C)に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球個数が順次リングバッファに設定される。また、賞球個数に関する払出制御コマンド送出する際に、リングバッファから1個のデータが送信バッファに転送される。なお、図33(C)に示す例では、リングバッファには、12個分の払出制御コマンドに相当するデータが格納可能になっている。すなわち、12個のバッファがある。なお、リングバッファにおけるバッファの数は、賞球を発生させる入賞口の数に対応した数であればよい。同時入賞が発生した場合でも、それぞれの入賞にもとづく払出制御コマンドのデータの格納が可能だからである。
【0209】
図34は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板へのコマンドとなる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図34に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。また、図34では払出制御基板37に送出される払出制御コマンドを例示するが、他の電気部品制御基板に送出される制御コマンドも同一構成である。
【0210】
図35は、各電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号CD0〜CD7とINT信号との関係を示すタイミング図である。図35に示すように、MODEまたはEXTのデータが出力ポート(出力ポート1〜出力ポート4のうちのいずれか)に出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をハイレベル(オンデータ)にする。また、そこからBで示される期間が経過するとINT信号をローレベル(オフデータ)にする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。2バイト目のデータに関して、A,Bの期間は、1バイト目の場合と同様である。このように、取込信号はMODEおよびEXTのデータのそれぞれについて出力される。
【0211】
Aの期間は、CPU56が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。すなわち、制御信号線において制御信号CD0〜CD7が出力された後、所定期間(Aの期間:オフ出力期間の一部)経過後に、取込信号としてのINT信号が出力される。また、Bの期間(オン出力期間)は、INT信号安定化のための期間である。そして、Cの期間(オフ出力期間の一部)は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。B,Cの期間では、信号線上のデータは変化しない。すなわち、B,Cの期間が経過するまでデータ出力が維持される。
【0212】
この実施の形態では、払出制御基板37への払出制御コマンド、図柄制御基板80への表示制御コマンド、ランプ制御基板35へのランプ制御コマンドおよび音制御基板70への音制御コマンドは、同一のコマンド送信処理ルーチン(共通モジュール)を用いて送出される。そこで、B,Cの期間すなわち1バイト目に関するINT信号が立ち上がってから2バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【0213】
なお、各電気部品制御手段は、INT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。
【0214】
B,Cの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【0215】
CPU56は、INT信号出力処理を実行した後に所定期間が経過すると次のデータを送出できる状態になるが、その所定期間(B,Cの期間)は、INT信号出力処理の前にデータを送出してからINT信号を出力開始するまでの期間(Aの期間)よりも長い。上述したように、Aの期間はコマンドの信号線における安定化期間であり、B,Cの期間は受信側がデータを取り込むのに要する時間を確保するための期間である。従って、Aの期間をB,Cの期間よりも短くすることによって、受信側の電気部品制御手段が確実にコマンドを受信できる状態になるという効果を得ることができるとともに、1つのコマンドの送出完了に要する期間が短縮される効果もある。
【0216】
図36は、払出制御コマンドの内容の一例を示す説明図である。図36に示された例において、MODE=FF(H),EXT=00(H)のコマンドFF00(H)は、払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)である。MODE=FF(H),EXT=01(H)のコマンドFF01(H)は、払出を停止すべき状態であることを指示する払出制御コマンド(払出停止状態指定コマンド)である。また、MODE=F0(H)のコマンドF0XX(H)は、賞球個数を指定する払出制御コマンドである。EXTである「XX」が払出個数を示す。
【0217】
払出制御手段は、主基板31の遊技制御手段からFF01(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、FF00(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【0218】
なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、この例では、払出制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
【0219】
各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0220】
図37は、コマンドセット処理(ステップS206,S207,S251)の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレス(送信信号指示手段としてのポインタの内容)をスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
【0221】
そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0222】
図38は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【0223】
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
【0224】
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
【0225】
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート2のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0226】
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされる制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したIOアドレスが設定されている。
【0227】
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【0228】
また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0229】
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したINT信号がハイレベルになる。
【0230】
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図35に示されたBの期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はローレベルになる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、図35に示されたCの期間を設定するための処理である。ただし、実際のCの期間は、ステップS367〜S369で作成される時間に、その後の処理時間(この時点でMODEデータが出力されている場合にはEXTデータを出力するまでに要する制御にかかる時間)が加算された期間となる。このように、Cの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
【0231】
従って、ステップS367でウェイトカウンタに設定される値は、Cの期間が、制御コマンド受信対象となる全ての電気部品制御手段が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、Cの期間が、ステップS357〜S359の処理に要する時間(Aの期間に相当)よりも長くなるような値である。なお、Aの期間をより長くしたい場合には、Aの期間を作成するためのウェイト処理(例えば、ウェイトカウンタに所定値を設定し、ウェイトカウンタの値が0になるまで減算を行う処理)を行う。
【0232】
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図37に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、送信バッファの内容を引数2にロードする(ステップS341)。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数2にロードする。
【0233】
送信バッファには賞球個数を特定可能なデータが設定されているので、引数2にそのデータが設定される。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定される。よって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされる。
【0234】
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
【0235】
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図35に示された場合と逆にしてもよい。
【0236】
また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球個数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球個数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球個数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【0237】
さらに、この実施の形態では、1回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球個数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数のコマンドを送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音制御コマンド、払出制御コマンド)毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音制御コマンドを送出するように構成することも可能である。すなわち、同時に(遊技制御処理すなわち2msタイマ割込処理の起動周期での意味)、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドと同時に送出されることはない。
【0238】
図39は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS381)。そして、格納値が0であるか否か確認する(ステップS382)。0であれば処理を終了する。
【0239】
0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS383)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS384)。一致したら(ステップS385)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS386)。
【0240】
また、賞球情報カウンタの値を+1する(ステップS387)。そして、賞球情報カウンタの値が10以上であれば(ステップS388)、賞球情報出力カウンタの値を+1するとともに(ステップS389)、賞球情報カウンタの値を−10する(ステップS390)。なお、賞球情報出力カウンタの値は、図19に示された遊技制御処理における情報出力処理(ステップS29)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図14参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
【0241】
そして、総賞球数格納バッファの格納値が0になったら(ステップS391)、賞球払出中フラグをクリアし(ステップS392)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS393)、ランプ制御コマンドの送出処理を実行する(ステップS394)。
【0242】
次に、遊技制御手段以外の電気部品制御手段の例として、払出制御手段について説明する。
【0243】
図40は、払出制御用CPU371周りの一構成例を示すブロック図である。図40に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって遊技機への電力供給停止の発生を確認することができる。
【0244】
払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の入力に応じて割込が発生することになる。
【0245】
払出制御基板37には、システムリセット回路975も搭載されているが、この実施の形態では、システムリセット回路975におけるリセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、遊技機への電力供給停止時には、リセットIC976からの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
【0246】
リセットIC976が電力供給停止を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。なお、システムリセット回路975は、第2の電源監視手段に相当する。
【0247】
+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、停電等の遊技機に対する電力供給停止が発生しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復旧させることができる。
【0248】
なお、図40に示された構成では、システムリセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図9に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
【0249】
図41は、この実施の形態における出力ポートの割り当てを示す説明図である。図41に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号等の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
【0250】
図42は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図42に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜1には、それぞれ、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bの検出信号が入力される。ビット2〜5には、カードユニット50からのBRDY信号、BRQ信号、VL信号およびクリアスイッチ921の検出信号が入力される。
【0251】
図43は、払出制御手段(払出制御用CPU371およびROM,RAM等の周辺回路)のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
【0252】
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0253】
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出制御処理が実行される。
【0254】
また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【0255】
カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭アドレスが特定される。
【0256】
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
【0257】
CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。さらに、CLK/TRG2端子に入力される信号の立ち上がりまたは立ち下がりで特定レジスタとしてのタイマカウンタレジスタCLK/TRG2のカウント値が−1されるのであるが、所定の特定レジスタの設定によって、立ち上がり/立ち下がりの選択を行うことができる。この実施の形態では、CLK/TRG2端子に入力される信号の立ち上がりで、タイマカウンタレジスタCLK/TRG2のカウント値が−1されるような設定が行われる。
【0258】
また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。例えば、CH3のレジスタ値はシステムクロックの1/256周期で減算される。分周したクロックにもとづいて減算が行われるので、レジスタの初期値は大きくならない。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。
【0259】
CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【0260】
次いで、払出制御用CPU371は、入力ポートB(図42参照)を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS707)。その確認においてオンを検出した場合には、払出制御用CPU371は、通常の初期化処理を実行する(ステップS711〜ステップS713)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート372では、クリアスイッチ信号のオン状態はハイレベルである。また、払出制御手段においては、ステップS707の判定を行わなくてもよい。
【0261】
なお、払出制御用CPU371も、主基板31のCPU56と同様に、スイッチの検出信号のオン判定を行う場合には、例えば、オン状態が少なくとも2ms(2ms毎に起動される処理の1回目の処理における検出直前に検出信号がオンした場合)継続しないとスイッチオンとは見なさないが、クリアスイッチ921のオン検出の場合には、1回のオン判定でオン/オフが判定される。すなわち、初期化操作手段としてのクリアスイッチ921が所定の操作状態であるか否かを払出制御用CPU371が判定するための初期化要求検出判定期間は、遊技媒体検出手段としての賞球カウントスイッチ等が遊技媒体を検出したことを判定するための遊技媒体検出判定期間とは異なる期間とされている。
【0262】
クリアスイッチ921がオンの状態でない場合には、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS708)。例えば、主基板31のCPU56の処理と同様に、遊技機への電力供給停止時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【0263】
バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の停電等の電力供給の停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電力供給の停止時の状態に戻すことができないので、不足の停電等からの復旧時ではなく電源投入時に実行される初期化処理を実行する。
【0264】
チェック結果が正常であれば(ステップS709)、払出制御用CPU371は、内部状態を電力供給停止時の状態に戻すための払出状態復旧処理を行う(ステップS710)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
【0265】
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。
【0266】
この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図44に示すように、タイマ割込があったことを示すタイマ割込フラグがセットされる(ステップS772)。そして、メイン処理において、タイマ割込フラグがセットされたことが検出されたら(ステップS714)、タイマ割込フラグがリセットされるとともに(ステップS751)、払出制御処理(ステップS751〜S760)が実行される。
【0267】
なお、タイマ割込では、図44に示すように、最初に割込許可状態に設定される(ステップS771)。よって、タイマ割込処理中では割込許可状態になり、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【0268】
払出制御処理において、払出制御用CPU371は、まず、入力ポート372bに入力される賞球カウントスイッチ301Aや球貸しカウントスイッチ301B等のスイッチがオンしたか否かを判定する(スイッチ処理:ステップS752)。
【0269】
次に、払出制御用CPU371は、主基板31から払出停止状態指定コマンドを受信していたら払出停止状態に設定し、払出可能状態指定コマンドを受信していたら払出停止状態の解除を行う(払出停止状態設定処理:ステップS753)。また、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS754)。さらに、プリペイドカードユニット制御処理を行う(ステップS755)。
【0270】
次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
【0271】
さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
【0272】
なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
【0273】
次いで、エラー検出処理が行われ、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。また、遊技機外部に出力される球貸し個数信号を出力する処理等を行う(出力処理:ステップS760)。
【0274】
なお、図41に示す出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
【0275】
図45は、ステップS710の払出状態復旧処理の一例を示すフローチャートである。払出状態復旧処理において、払出制御用CPU371は、まず、スタックポインタの復帰処理を行う(ステップS731)。スタックポインタの値は、後述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている)に退避している。よって、ステップS731では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0276】
次いで、払出制御用CPU371は、バックアップフラグをクリアする(ステップS732)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタに設定する(ステップS733)。すなわち、レジスタ復元処理を行う。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS734,S735)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS736)。
【0277】
そして、RET命令が実行されるのであるが、ここでのリターン先は、払出状態復旧処理をコールした部分ではない。なぜなら、ステップS731においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS736の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて復旧制御が実行されている。
【0278】
図46および図47は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(NMI処理:電力供給停止時処理)の処理例を示すフローチャートである。
【0279】
電力供給停止時処理において、払出制御用CPU371は、AFレジスタを所定のバックアップRAM領域に退避する(ステップS801)。また、割込フラグをパリティフラグにコピーする(ステップS802)。パリティフラグはバックアップRAM領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、払出制御用CPU371が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理で参照される。そして、払出状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。
【0280】
また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS804〜808)。
【0281】
次に、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする。バックアップフラグはバックアップRAM領域に形成されている。次いで、主基板31のCPU56の処理と同様の処理を行ってパリティデータを作成しバックアップRAM領域に保存する(ステップS810〜S819)。そして、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS820)。以後、内蔵RAMのアクセスができなくなる。
【0282】
さらに、払出制御用CPU371は、クリアデータ(00)を適当なレジスタにセットし(ステップS821)、処理数(この例では「3」)を別のレジスタにセットする(ステップS822)。また、出力ポートCのアドレス(この例では「00H」)をIOポインタに設定する(ステップS823)。IOポインタとして、さらに別のレジスタが用いられる。
【0283】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS824)、IOポインタの値を1増やし(ステップS825)、処理数の値を1減算する(ステップS827)。ステップS824〜S826の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポートC〜E(図41参照)にクリアデータが設定される。図41に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0284】
従って、制御状態を保存するための処理(この例では、チェックサムの生成およびRAMアクセス防止)が実行された後、各出力ポートは直ちにオフ状態になる。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、払出制御状態を保存するための処理に相当する。
【0285】
制御状態を保存するための処理が実行された後、直ちに各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。また、電気部品の駆動が不能なる状態になる前に電力供給停止処理の際に出力ポートをクリアすることができるので、電気部品の駆動が不能なる状態となる前に払出制御手段により制御される各電気部品を、適切な動作停止状態にすることができる。例えば、駆動状態にある払出モータ289の作動を停止させるなど電気部品についての作動を停止させたあとに電気部品の駆動が不能なる状態とすることができる。従って、適切な停止状態で電力供給の復旧を待つことができる。
【0286】
出力ポートに対するクリア処理が完了すると、払出制御用CPU371は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0287】
図48は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。なお、払出制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされるようにしてもよい。
【0288】
そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
【0289】
従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電力供給停止が生じても、所定期間内に電力供給が復旧すれば、バックアップRAM領域の記憶内容にもとづいて賞球処理および球貸し処理を再開することができる。すなわち、遊技機への電力供給が停止しても、電力供給が再開すれば、電力供給停止時の未払出の賞球個数と貸し球個数とにもとづいて払い出しが行われ、遊技者に与えられる不利益を低減することができる。
【0290】
図49は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
【0291】
図50は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は払出制御用CPU371のCLK/TRG2端子に入力されている。よって、主基板31からのINT信号が立ち上がると、払出制御用CPU371に割込がかかり、図50に示す払出制御コマンドの受信処理が開始される。なお、払出制御用CPU371は、割込が発生すると、ソフトウェアで割込許可にしない限り、マスク可能割込がさらに生ずることはないような構造のCPUである。
【0292】
なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音制御手段でも、同様のコマンド受信処理が実行されている。また、この実施の形態では、CLK/TRG2端子の入力が立ち上がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ったが、すなわち、INT信号の立ち上がりで割込が発生するような初期設定を行ったが、CLK/TRG2端子の入力が立ち下がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ってもよい。換言すれば、INT信号の立ち下がりで割込が発生するような初期設定を行ってもよい。
【0293】
すなわち、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成すれば、エッジは立ち上がりエッジであっても立ち下がりエッジであってもよい。いずれにせよ、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成される。このようにすることで、コマンドの取込が指示された段階でいち早くコマンド受信を行うことが可能になる。また、Aの期間(図35)が経過するまでINT信号の出力が待機されるので、INT信号の出力時に、制御信号CD0〜CD7のライン上のコマンドデータの出力状態は安定している。よって、払出制御手段において、払出制御コマンドは良好に受信される。
【0294】
払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート372a(図10参照)からデータを読み込む(ステップS851)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである(図34参照)。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す受信コマンドバッファに格納する(ステップS853)。
【0295】
払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(受信コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0296】
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す受信コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである(図34参照)。なお、ステップS854における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。なお、ステップS854で「N」と判断された場合には、ステップS856の処理が行われないので、次に受信したコマンドは、今回受信したコマンドが格納されるはずであったバッファ領域に格納される。
【0297】
ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、最後に割込許可に設定する(ステップS859)。
【0298】
コマンド受信割込処理中は割込禁止状態になっている。上述したように、2msタイマ割込処理中は割込許可状態になっているので、2msタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に2msタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板31からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるCの期間(図35参照)をどの程度にすればよいのかを正確に判断することができる。
【0299】
また、払出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【0300】
なお、この実施の形態では、コマンド受信割込処理では、受信したコマンドを受信バッファに格納する制御が行われるが、後述する払出停止状態設定処理(図52参照)やコマンド解析実行処理(図53参照)を、コマンド受信割込処理において実行するように構成してもよい。そのように、受信バッファ内のコマンドについて判定するコマンド判定処理までもコマンド受信割込処理において実行する場合には、コマンドの判定も迅速に実行される。
【0301】
図51は、ステップS751のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用CPU371は、賞球カウントスイッチ301Aがオン状態を示しているか否か確認する(ステップS751a)。オン状態を示していれば、払出制御用CPU371は、賞球カウントスイッチオンカウンタを+1する(ステップS751b)。賞球カウントスイッチオンカウンタは、賞球カウントスイッチ301Aのオン状態を検出した回数を計数するためのカウンタである。
【0302】
そして、賞球カウントスイッチオンカウンタの値をチェックし(ステップS751c)、その値が2になっていれば、1個の賞球の払出が行われたと判断する。1個の賞球の払出が行われたと判断した場合には、払出制御用CPU371は、賞球未払出カウンタ(総合個数記憶に格納されている賞球個数)を−1する(ステップS751d)。
【0303】
ステップS751aにおいて賞球カウントスイッチ301Aがオン状態でないことが確認されると、払出制御用CPU371は、賞球カウントスイッチオンカウンタをクリアする(ステップS751e)。そして、この実施の形態では、球貸しカウントスイッチ301Bがオン状態を示しているか否か確認する(ステップS751f)。オン状態を示していれば、払出制御用CPU371は、球貸しカウントスイッチオンカウンタを+1する(ステップS751g)。球貸しカウントスイッチオンカウンタは、球貸しカウントスイッチ301Bのオン状態を検出した回数を計数するためのカウンタである。
【0304】
そして、球貸しカウントスイッチオンカウンタの値をチェックし(ステップS751h)、その値が2になっていれば、1個の貸し球の払出が行われたと判断する。1個の貸し球の払出が行われたと判断した場合には、払出制御用CPU371は、貸し球未払出個数カウンタ(貸し球個数記憶に格納されている貸し球数)を−1する(ステップS751i)。
【0305】
ステップS751fにおいて球貸しカウントスイッチ301Bがオン状態でないことが確認されると、払出制御用CPU371は、球貸しカウントスイッチオンカウンタをクリアする(ステップS751j)。
【0306】
図52は、ステップS753の払出停止状態設定処理の一例を示すフローチャートである。払出停止状態設定処理において、払出制御用CPU371は、受信バッファ中に受信コマンドがあるか否かの確認を行う(ステップS753a)。受信バッファ中に受信コマンドがあれば、受信した払出制御コマンドが払出停止状態指定コマンドであるか否かの確認を行う(ステップS753b)。払出停止状態指定コマンドであれば、払出制御用CPU371は、払出停止状態に設定する(ステップS753c)。
【0307】
ステップS753bで受信コマンドが払出停止状態指定コマンドでないことを確認すると、受信した払出制御コマンドが払出可能状態指定コマンドであるか否かの確認を行う(ステップS753d)。払出可能状態指定コマンドであれば、払出停止状態を解除する(ステップS753e)。
【0308】
図53は、ステップS754のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用CPU371は、受信バッファに受信コマンドがあるか否かの確認を行う(ステップS754a)。受信コマンドがあれば、受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであるか否かの確認を行う(ステップS754b)。なお、払出制御用CPU371は、コマンド指示手段としての読出ポインタが指す受信バッファ中のアドレスに格納されている受信コマンドについてステップS754bの判断を行う。また、その判断後、読出ポインタの値は+1される。読出ポインタが指すアドレスが受信コマンドバッファ12(図49参照)のアドレスを越えた場合には、読出ポインタの値は、受信コマンドバッファ1を指すように更新される。
【0309】
受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであれば、払出制御コマンドで指示された個数を総合個数記憶に加算する(ステップS754c)。すなわち、払出制御用CPU371は、主基板31のCPU56から送られた払出制御コマンドに含まれる賞球個数をバックアップRAM領域(総合個数記憶)に記憶する。
【0310】
なお、払出制御用CPU371は、必要ならば、コマンド受信個数カウンタの減算や受信バッファにおける受信コマンドシフト処理を行う。また、払出停止状態設定処理およびコマンド解析実行処理が、読出ポインタの値と受信バッファにおける最新コマンド格納位置とが一致するまで繰り返すように構成されていてもよい。例えば、読出ポインタの値と受信バッファにおける最新コマンド格納位置との差が「3」であれば未処理の受信済みコマンドが3つあることになるが、一致するまで繰り返し処理が実行されることによって、未処理の受信済みコマンドがなくなる。すなわち、受信バッファに格納されている受信済みコマンドが、一度の処理で、全て読み出されて処理される。
【0311】
図54は、ステップS755のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用CPU371は、カードユニット制御用マイクロコンピュータより入力されるVL信号を検知したか否かを確認する(ステップS755a)。VL信号を検知していなければ、VL信号非検知カウンタを+1する(ステップS755b)。また、払出制御用CPU371は、VL信号非検知カウンタの値が本例では125であるか否か確認する(ステップS755c)。VL信号非検知カウンタの値が125であれば、払出制御用CPU371は、発射制御基板91への発射制御信号出力を停止して、駆動モータ94を停止させる(ステップS755d)。
【0312】
以上の処理によって、125回(2ms×125=250ms)継続してVL信号のオフが検出されたら、球発射禁止状態に設定される。
【0313】
ステップS755aにおいてVL信号を検知していれば、払出制御用CPU371は、VL信号非検知カウンタをクリアする(ステップS755e)。そして、払出制御用CPU371は、発射制御信号出力を停止していれば(ステップS755f)、発射制御基板91への発射制御信号出力を開始して駆動モータ94を動作可能状態にする(ステップS755g)。
【0314】
図55および図56は、ステップS756の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0315】
球貸し制御処理において、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS511)、貸し球払出中であれば図56に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する(ステップS512)。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【0316】
貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50から球貸し要求があったか否かを確認する(ステップS513)。要求があれば、球貸し処理中フラグをオンするとともに(ステップS514)、25(球貸し一単位数:ここでは100円分)をバックアップRAM領域の貸し球個数記憶に設定する(ステップS515)。そして、払出制御用CPU371は、EXS信号をオンする(ステップS516)。また、球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS517)。さらに、払出モータ289をオンして(ステップS518)、図56に示す球貸し中の処理に移行する。
【0317】
なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をOFFとしてからである。なお、球貸し処理中フラグはバックアップRAM領域に設定される。
【0318】
図56は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、球貸しカウントスイッチ301Bの検出信号による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。
【0319】
球貸し制御処理において、払出制御用CPU371は、貸し球通過待ち時間中であるか否かの確認を行う(ステップS519)。貸し球通過待ち時間中でなければ、貸し球の払出を行い(ステップS520)、払出モータ289の駆動を終了すべきか(一単位の払出動作が終了したか)否かの確認を行う(ステップS521)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS522)、貸し球通過待ち時間の設定を行う(ステップS523)。
【0320】
ステップS519で貸し球通過待ち時間中であれば、払出制御用CPU371は、貸し球通過待ち時間が終了したか否かの確認を行う(ステップS524)。貸し球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから球貸しカウントスイッチ301Bを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット50に対して次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS525)。また、振分ソレノイドをオフするとともに(ステップS526)、球貸し処理中フラグをオフする(ステップS527)。なお、貸し球通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ301Bを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【0321】
なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【0322】
貸し球個数記憶の内容は、遊技機への電力供給が停止しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電力供給が復旧すると、払出制御用CPU371は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【0323】
図57および図58は、ステップS757の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0324】
賞球制御処理において、払出制御用CPU371は、貸し球払出中であるか否か確認する(ステップS531)。貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ賞球の払出中であるか否か確認し(ステップS532)、賞球の払出中であれば図58に示す賞球中の処理に移行する。賞球の払出中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【0325】
貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50からの球貸し準備要求があるか否か確認する(ステップS533)。球貸し準備要求があるか否かは、カードユニット50から入力されるBRDY信号のオン(要求あり)またはオフ(要求なし)を確認することによって行われる。
【0326】
カードユニット50からの球貸し準備要求がなければ、払出制御用CPU371は、総合個数記憶に格納されている賞球個数(未払出の賞球個数)が0でないか否か確認する(ステップS534)。総合個数記憶に格納されている賞球個数が0でなければ、賞球制御用CPU371は、賞球処理中フラグをオンし(ステップS535)、総合個数記憶の値が25以上であるか否か確認する(ステップS536)。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
【0327】
総合個数記憶に格納されている賞球個数が25以上であると、払出制御用CPU371は、25個分の遊技球を払い出すまで払出モータ289を回転させるように払出モータ289に対して駆動信号を出力するために、25個払出動作の設定を行う(ステップS537)。総合個数記憶に格納されている賞球個数が25以上でなければ、払出制御用CPU371は、総合個数記憶に格納されている全ての遊技球を払い出すまで払出モータ289を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う(ステップS538)。次いで、払出モータ289をオンする(ステップS538)。なお、振分ソレノイドはオフ状態であるから、球払出装置97の下方の球振分部材は賞球側に設定されている。そして、図58に示す賞球制御処理における賞球払出中の処理に移行する。
【0328】
図58は、払出制御用CPU371による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、賞球カウントスイッチ301Aの検出信号による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。
【0329】
賞球中の処理において、払出制御用CPU371は、賞球通過待ち時間中であるか否かの確認を行う(ステップS540)。賞球通過待ち時間中でなければ、賞球払出を行い(ステップS541)、払出モータ289の駆動を終了すべきか(25個または25個未満の所定の個数の払出動作が終了したか)否かの確認を行う(ステップS542)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS543)、賞球通過待ち時間の設定を行う(ステップS544)。賞球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから賞球カウントスイッチ301Aを通過するまでの時間である。
【0330】
ステップS540で賞球通過待ち時間中であれば、払出制御用CPU371は、賞球通過待ち時間が終了したか否かの確認を行う(ステップS545)。賞球通過待ち時間が終了した時点は、ステップS537またはステップS538で設定された賞球が全て払い出された状態である。そこで、払出制御用CPU371は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする(ステップS546)。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ301Aを通過しなかった場合には、賞球経路エラーとされる。
【0331】
なお、この実施の形態では、ステップS511、ステップS531の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【0332】
総合個数記憶および貸し球個数記憶の内容は、遊技機への電力供給が停止しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電力供給が復旧すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【0333】
なお、払出制御用CPU371は、主基板31から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球個数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球個数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−1する(この場合、払出制御処理にて減算処理を行うようにする)。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機への電力供給が停止しても、所定期間中に電源が復旧すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【0334】
この実施の形態では、払出制御手段は、払出制御信号に関するINT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ(この例では受信バッファ)が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【0335】
また、図28〜図30のフローチャートに示されたように、遊技制御手段は、払出停止状態であっても(ステップS201)、ステップS251のコマンドセット処理が実行可能であるように構成されている。よって、払出停止状態であっても、入賞検出がなされると払出個数を示す払出制御コマンドが払出制御手段に対して送出される。
【0336】
払出制御手段において、払出停止状態であっても割込処理は起動されるので、払出制御手段は、払出停止中であっても、払出制御コマンドを受信することができる。そして、払出停止中では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファが設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【0337】
そして、払出制御手段において、送出コマンドを受信リングバッファにおけるどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【0338】
なお、上記の実施の形態では、変動データ記憶手段としてRAMを用いた場合を示したが、変動データ記憶手段として、電気的に書き換えが可能な記憶手段であればRAM以外のものを用いてもよい。
【0339】
また、遊技制御手段および払出制御手段におけるRAMと同様に、音制御手段、ランプ制御手段および表示制御手段におけるRAMも、電源バックアップされる部分があるようにしてもよい。
【0340】
さらに、上記の実施の形態では、電源監視手段が電源基板910に設けられ、システムリセットのための信号を発生する回路は電気部品制御基板に設けられたが、それらがともに電気部品制御基板に設けられていてもよい。
【0341】
以上に説明したように、電源監視手段は、遊技機に設けられている遊技媒体検出手段としての遊技球検出スイッチ(上記の例では、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ24a,29a,30a,33a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチ)に供給される電圧よりも高い直流電圧の電源の状態を監視するので、電源監視手段の検出信号に応じて電力供給停止時処理を行う電気部品制御手段が、電力供給停止時処理においてスイッチの検出信号を誤検出してしまうことが防止される。つまり、遊技球検出スイッチに供給される電圧レベルが不安定になって遊技球検出スイッチの検出信号の状態が不安定になる前に、電気部品制御手段が通常の制御処理(スイッチ検出処理を含む)を中止して電力供給停止時処理に入ることができるので、制御処理において遊技球検出スイッチからの誤った検出信号を認識してしまうことが防止される。
【0342】
また、電気部品制御手段は、電力供給停止時処理において、電力供給停止時処理を行ったことを示すパリティフラグをセットし、電力供給が再開されたときに、パリティフラグの状態に応じて、状態復旧処理を行うのか初期化処理を行うのか決定するので、簡易な方法によって、確実に、状態復旧処理を行うのか否か決定することができる。その結果、電力供給停止時処理によって保存された制御状態を確実に活用することができる。
【0343】
さらに、電気部品制御手段は、電力供給停止時処理において、記憶保持手段としてのバックアップ電源でバックアップされる変動データ記憶手段(例えばRAM)の領域についてパリティチェックを行ってパリティデータを保存し、電力供給が再開されたときに、パリティデータが正しく保存されていた場合に状態復旧処理を行う。そして、電力供給が再開されたときに、再度パリティチェックを行って、チェック結果と保存されているパリティデータとを比較し、両者が一致した場合に状態復旧処理を行う。電力供給停止中に、バックアップ電源でバックアップされる変動データ記憶手段の記憶内容が変化してしまった場合には、再度のパリティチェックのチェック結果と保存されているパリティデータとは一致しない。よって、誤った記憶内容にもとづいて状態復旧処理が実行されてしまうことは防止される。
【0344】
また、遊技制御手段は、遊技状態復旧処理において、払出可能状態指定コマンドまたは払出停止状態指定コマンドを払出制御手段に対して出力する制御を行うので、電力供給の開始後において、遊技制御手段と払出制御手段との間に、状態情報(払出情報、球貸し情報、賞球情報、発射情報など)に関する認識の食い違いが生じてしまうことを回避することができる。その結果、払出制御手段による誤動作を防止することができる。
【0345】
上記の実施の形態では、電力供給開始時に、遊技制御手段が、払出制御手段に対して払出停止状態指定コマンドまたは払出可能状態指定コマンドを送信したが、他のコマンドを送信してもよい。例えば、打球操作ハンドル5による打球発射の可否や、エラーとエラー解除に関する情報などを通知する。そのように構成することで、電力供給開始後において、遊技制御手段と払出制御手段との間に、現在状況の認識の食い違いが生じてしまうことを回避することができる。その結果、適正な遊技制御をおこなうことができる。
【0346】
また、上記の実施の形態では、払出制御手段は払出停止状態指定コマンドを受信すると球貸しも賞球払出も共に停止し、払出可能状態指定コマンドに応じて球貸しも賞球払出も共に可能な状態に戻したが、賞球に関する払出停止指示と球貸しに関する払出停止指示とを別コマンドとし、賞球に関する払出停止解除指示と球貸しに関する払出停止解除指示とを別コマンドとしてもよい。そのように構成した場合には、電力供給開始後において、遊技制御手段と払出制御手段との間に、賞球停止/停止解除および球貸し停止/停止解除についての現在状況の認識の食い違いが生じてしまうことを回避することができる。
【0347】
なお、上記の実施の形態では、払出手段は球貸しも賞球払出も実行可能な構成であったが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。その場合、球貸しを行う機構と賞球払出を行う機構とが独立していても、払出制御手段が両方の機構を制御するように構成されていれば、上記の実施の形態のように1つのコマンドで球貸しも賞球払出も停止/停止解除を指示するように構成することができる。
【0348】
さらに、電気部品制御手段は、電力供給が開始されたときに、電力供給停止時処理において保存された制御状態が残っていても、初期化操作手段が操作されている場合には、状態復旧処理を実行せず初期化処理を実行する。よって、遊技店員等が保存状態を容易にクリアすることができる。
【0349】
また、電気部品制御手段におけるマイクロコンピュータは、状態復旧処理が完了したら、電力供給停止時処理が実行されたときにスタック領域に保存されていたアドレスに戻ってプログラムの実行を再開する。従って、容易に電力供給停止時に実行していた制御状態に復帰することができるとともに、確実に電力供給停止時に実行していた制御状態に復帰することができる。
【0350】
【発明の効果】
以上のように、請求項1記載の発明によれば、遊技機を、遊技媒体検出手段に供給される電圧よりも高い直流電圧の電源の状態を監視して電源の出力電圧が低下して検出条件が成立した場合に検出信号を出力する電源監視手段を備え、電気部品制御手段(電気部品制御マイクロコンピュータ)が、電源監視手段からの検出信号に応じて、電力供給停止時処理を実行するとともに、電力供給停止時処理を実行したことを示す情報を記憶保持手段によって保持される変動データ記憶手段の記憶内容として保存し、電力供給が復旧した場合に、電力供給停止時処理を実行したことを示す情報が保存されていたことを条件に状態記憶にもとづいて制御状態を復旧させる状態復旧処理を行い、電力供給停止時処理を実行したことを示す情報が保存されていなければ初期化処理を行うように構成したので、停電等による不測の電力供給停止が発生しても、そのことを確実に検出できる効果がある。また、監視対象電源が遊技媒体検出手段に供給される電圧よりも高い直流電圧の電源であることから電力供給停止時の遊技媒体検出手段の検出ミスも確実に防止されるとともに、電力供給が再開されたときに状態復旧処理を行うのか初期化処理を行うのか決定することができる。また、電源監視手段が、第1の電源監視手段と第2の電源監視手段とを含み、電気部品制御手段が、第1の電源監視手段からの検出信号に応じて電力供給停止時処理を実行し、第2の電源監視手段からの検出信号に応じてシステムリセットされるように構成されているので、電気部品制御手段が電力供給停止時処理を完了した後に電気部品制御手段の動作を停止させることができ、電源電圧低下時にデータを破壊したりしないようにすることができる。さらに、状態記憶が所定の割込処理の実行を禁止する割込禁止状態または実行を許可する割込許可状態のうちいずれか一方の状態を示す割込状態情報を含み、状態復旧処理が、割込状態情報にもとづく割込禁止状態または割込許可状態の復旧処理を含むので、割込禁止または割込許可の状態まで含んだ正確な状態復旧が行われる。また、電気部品制御手段が、定期的に発生するタイマ割込が生じたことにもとづいて遊技機に設けられている電気部品を制御するための電気部品制御処理を実行するとともに、電気部品制御処理に要する時間の余り時間で、遊技の制御に用いられるカウンタを更新する処理を実行し、余り時間でカウンタを更新する処理中では割込禁止に設定するように構成されているので、余り時間でのカウンタ更新中に割込が発生しカウンタの更新に不具合が生じてしまうようなことを防止することができる。
【0351】
請求項2記載の発明によれば、状態復旧処理が電力供給停止時処理を行ったことを示す情報をクリアする処理を含むので、状態復旧処理が完了したときに、不必要な情報が残らないようにすることができる。
【0352】
請求項3記載の発明によれば、状態記憶がレジスタの内容を含み、状態復旧処理がレジスタの内容を復旧する処理を含むので、状態復旧処理によってレジスタの内容も復旧されることによって、正確な状態復旧が行われる。
【0354】
請求項4記載の発明によれば、電気部品制御マイクロコンピュータが割込端子への入力にもとづいて電力供給停止時処理を実行するように構成されているので、優先度の高い処理によって、電力供給停止時処理を速やかに開始できる。
【0355】
請求項5記載の発明によれば、割込端子がマスク不能割り込みの割込端子であるから、最も優先度の高い処理によって、電力供給停止時処理を直ちに開始できる。
【0356】
請求項6記載の発明によれば、電気部品制御手段が搭載された電気部品制御基板とは別体に形成され遊技機で使用する電源を作成する電源基板を備え、電源監視手段が電源基板に搭載されているので、監視電源の近傍に電源監視手段を設けることができる。
【0357】
請求項7記載の発明によれば、記憶保持手段が電源基板に搭載されているので、別に記憶保持手段を搭載する基板を設ける必要はない。
【0360】
請求項9記載の発明によれば、電気部品制御手段は遊技媒体の払出制御を行う払出制御手段(払出制御用マイクロコンピュータ)であって、少なくとも払出個数に関わる情報が記憶保持手段によって記憶内容が保持される変動データ記憶手段に記憶されるように構成されているので、電力供給停止時に未払出の遊技球があっても、保存されている記憶内容にもとづいて、電力供給復旧時に払出を継続することができる。
【図面の簡単な説明】
【図1】パチンコ遊技機を正面からみた正面図である。
【図2】ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図3】遊技機を裏面から見た背面図である。
【図4】各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【図5】球払出装置の構成例を示す分解斜視図である。
【図6】遊技盤に設置されているスイッチ基板の部分を示す正面図である。
【図7】クリアスイッチの構成の一例を示す構成図である。
【図8】遊技制御基板(主基板)の回路構成例を示すブロック図である。
【図9】図柄制御基板の回路構成例を示すブロック図である。
【図10】払出制御基板の回路構成例を示すブロック図である。
【図11】電源基板の回路構成例を示すブロック図である。
【図12】電源監視および電源バックアップのためのCPU周りの一構成例を示すブロック図である。
【図13】出力ポートのビット割り当ての一例を示す説明図である。
【図14】出力ポートのビット割り当ての一例を示す説明図である。
【図15】入力ポートのビット割り当ての一例を示す説明図である。
【図16】主基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図17】バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。
【図18】遊技状態復旧処理を示すフローチャートである。
【図19】2msタイマ割込処理を示すフローチャートである。
【図20】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図21】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図22】RAMのアドレスマップを示す説明図である。
【図23】チェックサム作成方法の一例を説明するための説明図である。
【図24】遊技機への電力供給停止時の電源低下やNMI信号の様子を示すタイミング図である。
【図25】RAMにおけるスイッチタイマの形成例を示す説明図である。
【図26】スイッチ処理の一例を示すフローチャートである。
【図27】スイッチチェック処理の一例を示すフローチャートである。
【図28】賞球処理の一例を示すフローチャートである。
【図29】賞球処理の一例を示すフローチャートである。
【図30】賞球処理の一例を示すフローチャートである。
【図31】スイッチオンチェック処理を示すフローチャートである。
【図32】入力判定値テーブルの構成例を示す説明図である。
【図33】コマンド送信テーブル等の一構成例を示す説明図である。
【図34】制御コマンドのコマンド形態の一例を示す説明図である。
【図35】制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。
【図36】払出制御コマンドの内容の一例を示す説明図である。
【図37】コマンドセット処理の処理例を示すフローチャートである。
【図38】コマンド送信処理ルーチンを示すフローチャートである。
【図39】賞球個数減算処理の一例を示すフローチャートである。
【図40】電源監視および電源バックアップのための払出制御用CPU周りの一構成例を示すブロック図である。
【図41】出力ポートのビット割り当ての一例を示す説明図である。
【図42】入力ポートのビット割り当ての一例を示す説明図である。
【図43】払出制御基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図44】払出制御手段の2msタイマ割込処理を示すフローチャートである。
【図45】払出状態復旧処理を示すフローチャートである。
【図46】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図47】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図48】払出制御手段におけるRAMの一構成例を示す説明図である。
【図49】受信バッファの一構成例を示す説明図である。
【図50】払出制御用CPUのコマンド受信処理の例を示すフローチャートである。
【図51】スイッチ処理の例を示すフローチャートである。
【図52】払出停止状態設定処理の例を示すフローチャートである。
【図53】コマンド解析実行処理の例を示すフローチャートである。
【図54】プリペイドカードユニット制御処理の例を示すフローチャートである。
【図55】球貸し制御処理の例を示すフローチャートである。
【図56】球貸し制御処理の例を示すフローチャートである。
【図57】賞球制御処理の例を示すフローチャートである。
【図58】賞球制御処理の例を示すフローチャートである。
【符号の説明】
1 パチンコ遊技機
31 主基板
37 払出制御基板
53 基本回路
55 RAM(変動データ記憶手段)
56 CPU
65 システムリセット回路(第2の電源監視手段)
371 払出制御用CPU
902 電源監視用IC(電源監視手段)
910 電源基板
916 コンデンサ(記憶保持手段)
975 システムリセット回路(第2の電源監視手段)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko gaming machine and a slot machine that can play a game using a gaming medium.
[0002]
[Prior art]
As a gaming machine, a game medium such as a game ball is launched into a game area by a launching device, and when a game medium wins a winning area such as a winning opening provided in the game area, a predetermined number of prize balls are paid out to the player. There are things to be done. Further, a variable display unit whose display state can be changed is provided, and when a display result of the variable display unit is in a predetermined specific display mode, a predetermined game value is provided to the player. is there.
[0003]
In addition, the game value is a right to make the state of the variable prize ball device provided in the game area of the gaming machine advantageous for a player who is easy to win a hit ball, or to a state advantageous to the player. Or a condition that makes it easier to satisfy the conditions for paying out prize balls.
[0004]
In a pachinko gaming machine, when a display result of a variable display unit that displays a special symbol is a combination of predetermined specific display modes, it is generally referred to as a “big hit”. When a big hit occurs, for example, the big winning opening is opened a predetermined number of times, and the state shifts to a big hit game state in which a hit ball is easy to win. Then, in each open period, when a predetermined number (for example, 10) of the winning prizes is won, the winning prize opening is closed. The number of opening of the special winning opening is fixed to a predetermined number (for example, 16 rounds). An opening time (for example, 29.5 seconds) is determined for each opening, and if the opening time elapses even if the number of winnings does not reach a predetermined number, the winning opening is closed. If the predetermined condition (for example, winning in the V zone provided in the special winning opening) is not satisfied at the time when the special winning opening is closed, the big hit gaming state ends.
[0005]
Also, among the combinations of display modes other than the combination of “big hits”, at the stage where some of the display results of the plurality of variable display units have not yet been derived and displayed, the variable display in which the display results have already been derived and displayed. A state in which the display mode of the section satisfies the display condition that is a combination of the specific display modes is called “reach”. If the display result of the identification information variably displayed on the variable display unit does not satisfy the condition of “reach”, the result is “out” and the variable display state ends. A player plays a game while enjoying how to generate a big hit.
[0006]
The game progress in the gaming machine is controlled by game control means such as a microcomputer. The identification information, the character image, and the background image displayed on the variable display unit are controlled by a video display processor (VDP) that generates image data according to an instruction from the microcomputer and transfers the image data to the variable display unit. The microcomputer has a large program capacity.
[0007]
Therefore, the microcomputer of the game control means, which has a limited program capacity, cannot control the identification information and the like displayed on the variable display unit. The microcomputer for the display control is different from the microcomputer of the game control means. A symbol control board equipped with a display control means according to (1) is installed. The game control means for controlling the progress of the game needs to transmit a command for display control to the display control means.
[0008]
When the payout control means for controlling the prize ball payout is mounted on a payout control board different from the main board on which the game control means is mounted, the progress of the game is performed by the game control means mounted on the main board. Since it is controlled, the number of winning balls based on the winning is determined by the game control means and transmitted to the payout control board. On the other hand, the lending of the game medium is irrelevant to the progress of the game, and is generally controlled by the payout control means without passing through the game control means.
[0009]
As described above, various control means are mounted on the gaming machine in addition to the game control means. Then, the game control means for controlling the progress of the game transmits each command indicating an operation instruction according to the game situation to each control means mounted on each control board. Hereinafter, the game control means and other control means may be referred to as electric component control means, and a board on which the electric component control means is mounted may be referred to as an electric component control board.
[0010]
[Problems to be solved by the invention]
Generally, each electric component control means is configured to include a microcomputer. That is, a program is stored in a ROM or the like, and data that temporarily occurs in control or data that changes as the control progresses is stored in the RAM. Then, if a power supply stop state occurs due to a power failure or the like in the gaming machine, data in the RAM is lost. Therefore, at the time of restoration from a power failure or the like, the player must return to the initial state (for example, the state when the game machine is first turned on at the game store on the day), which may be disadvantageous to the player. There is. For example, if a power supply stop state occurs during a jackpot game and the gaming machine returns to the initial state, the player cannot enjoy the benefits based on the occurrence of the jackpot.
[0011]
Therefore, an object of the present invention is to provide a gaming machine capable of preventing a disadvantage to a player even if power supply to the gaming machine is stopped.
[0012]
[Means for Solving the Problems]
A gaming machine according to the present invention is a gaming machine capable of performing a predetermined game using a game medium, an electric component control means for performing processing for controlling an electric component provided in the gaming machine, Fluctuation data storage means for storing fluctuation data that fluctuates in accordance with the progress, and storage capable of retaining at least a part of the storage contents of the fluctuation data storage means for a predetermined period even if power supply to the gaming machine is stopped The holding means and the state of the power supply of a DC voltage higher than the voltage supplied to the game medium detection means provided in the game machine and detecting the game medium is monitored, and when the output voltage of the power supply decreases and the detection condition is satisfied. Power supply monitoring means for outputting a detection signal, wherein state storage necessary for restoring the control state is included in the storage content held by the storage holding means, and the electric component control means In response to the detection signal, while executing a power supply stop process which is a process for storing the state storage necessary for restoring the control state as the storage content of the fluctuation data storage unit held by the storage holding unit, Information indicating that the power supply stop processing has been executed is stored as the storage content of the variable data storage means held by the storage holding means, and indicates that the power supply stop processing has been executed when the power supply has been restored. Performs a state restoration process for restoring the control state based on the state storage on condition that the information has been saved, and initializes the control state if the information indicating that the power supply stop processing has been executed is not saved. It is characterized by performing an initialization process.
[0013]
It is preferable that the state restoration process includes a process of clearing information indicating that the power supply stop process has been performed.
[0014]
Preferably, the state storage includes the contents of the register, and the state restoration process includes a process of restoring the contents of the register.
[0015]
The state storage includes interrupt state information indicating one of an interrupt prohibited state for inhibiting the execution of the predetermined interrupt processing and an interrupt permitted state for permitting the execution of the predetermined interrupt processing. It is preferable to include a process of restoring the interrupt inhibited state or the interrupt permitted state based on the state information.
[0016]
The electric component control means includes a microcomputer, a detection signal from the power supply monitoring means is input to an interrupt terminal of the microcomputer, and the microcomputer executes a power supply stop processing based on the input to the interrupt terminal. May be configured.
[0017]
The interrupt terminal is, for example, an interrupt terminal for a non-maskable interrupt.
[0018]
A power supply board may be provided separately from the electric component control board on which the electric component control means is mounted and create a power supply used in the gaming machine, and the power supply monitoring means may be mounted on the power supply board.
[0019]
The storage holding means may be mounted on a power supply board.
[0020]
The power supply monitoring means includes a first power supply monitoring means and a second power supply monitoring means, and the electric component control means executes a power supply stop processing according to a detection signal from the first power supply monitoring means, The system may be configured to be reset in response to a detection signal from the second power supply monitoring unit.
[0021]
The first power supply monitoring means and the second power supply monitoring means monitor the state of the power supply having the same DC voltage, and the output voltage of the power supply at which the second power supply monitoring means outputs the detection signal is the first voltage. The power supply monitoring means outputs a detection signal after the output voltage of the power supply at which the detection signal is output is lower than the output voltage of the power supply, and the second power supply monitoring means outputs the power supply stop processing by the electric component control means. May be configured.
[0022]
The electric component control means is a payout control means for performing a payout control of the game medium, and at least information relating to the number of payouts is stored in a variable data storage means whose storage content is held by a storage holding means. Good.
[0023]
The electric component control means performs an electric component control process for controlling an electric component provided in the gaming machine based on the occurrence of a timer interrupt that occurs periodically (for example, a game control process executed by the game control unit). ), A process for updating a counter used for game control is executed in a surplus time required for the electric component control process, and interrupt prohibition is set during a process for updating the counter in the surplus time. May be configured.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First, the overall configuration of a pachinko gaming machine, which is an example of a gaming machine, will be described. FIG. 1 is a front view of the pachinko gaming machine as viewed from the front, and FIG. 2 is a front view showing the front of the gaming board with the glass door frame removed. In the following embodiments, a pachinko gaming machine will be described as an example, but the gaming machine according to the present invention is not limited to a pachinko gaming machine, and may be, for example, a slot machine. Further, the present invention can be applied to an image-type gaming machine.
[0025]
The
[0026]
As shown in FIG. 1, the
[0027]
In the vicinity of the center of the
[0028]
An opening /
[0029]
When the game ball wins at the
[0030]
The
[0031]
In this example, a
[0032]
The
[0033]
A game ball fired from the hit ball firing device enters the
[0034]
The variable display of the special symbol on the
[0035]
When the combination of special symbols in the
[0036]
When the hit ball wins the
[0037]
Next, the structure of the back surface of the
[0038]
As shown in FIG. 3, on the back side of the gaming machine, a game control board (main board) 31 on which a variable
[0039]
A
[0040]
Further, it is used to clear backup data stored in storage content holding means (for example, a backup RAM capable of holding the content even when power supply is stopped) included in each board (
[0041]
The game balls stored in the
[0042]
The ball out
[0043]
The game balls paid out from the ball payout device are guided to the hitting
[0044]
When a large number of game balls as a prize based on a prize or a game ball based on a ball lending request are paid out and the hitting
[0045]
As shown in FIG. 4, on the side of the ball dispensing device, a
[0046]
FIG. 5 is an exploded perspective view showing a configuration example of the ball payout device 97. In this example, a ball payout device 97 is formed inside three
[0047]
The ball payout device 97 includes a payout motor (for example, a stepping motor) 289 serving as a driving source. The rotational force of the
[0048]
The
[0049]
A prize ball sensor (prize ball count switch) 301A for detecting a game ball paid out by the ball payout device is provided below the down flow path selected at the time of prize ball payout, and below the down flow path selected at the time of lending the ball. Is provided with a ball lending sensor (ball lending count switch) 301B for detecting game balls paid out by the ball payout device. The detection signal of the prize
[0050]
FIG. 6 is a front view showing a portion of the switch board 190 installed on the
[0051]
FIG. 7 is a configuration diagram illustrating an example of the configuration of the
[0052]
FIG. 7B is a configuration diagram illustrating another configuration example of the
[0053]
In this embodiment, the switch board 190 on which the
[0054]
FIG. 8 is a block diagram illustrating an example of a circuit configuration of the
[0055]
Although not shown in FIG. 8, the count switch short-circuit signal is also transmitted to the
[0056]
In addition, according to data provided from the
[0057]
The
[0058]
A part or all of the RAM (may be a CPU built-in RAM) 55 is a backup RAM that is backed up by a backup power supply created on the
[0059]
A hit ball launching device that hits and launches a game ball is driven by a
[0060]
In this embodiment, the lamp control means mounted on the
[0061]
FIG. 9 shows a circuit configuration in the
[0062]
The
[0063]
Then, the
[0064]
FIG. 9 also shows a
[0065]
The
[0066]
For example, a three-terminal capacitor or a ferrite bead is used as the
[0067]
FIG. 10 is a block diagram showing components related to payout, such as components of the
[0068]
If the detection signal from the ball out
[0069]
Further, the detection signal from the prize
[0070]
When there is a prize, a payout control command indicating the number of prize balls is input to the
[0071]
On the
[0072]
The
[0073]
Further, detection signals from a ball lending
[0074]
The
[0075]
A ball lending switch signal and a return switch signal are given from the
[0076]
When the power of the
[0077]
Then, the
[0078]
As described above, all signals from the
[0079]
In this embodiment, a power-off signal is also input from the
[0080]
In this embodiment, a case where the
[0081]
FIG. 11 is a block diagram illustrating a configuration example of the
[0082]
Transformer 911 converts an AC voltage from an AC power supply to 24V. The AC 24 V voltage is output to
[0083]
However, the
[0084]
The + 5V line from DC-DC converter 913 branches to form a backup + 5V line. A large-
[0085]
A power
[0086]
The predetermined value for the power
[0087]
When the voltage of the + 12V power supply drops, the switch output becomes ON. However, if the + 30V power supply voltage which drops earlier than + 12V is monitored and the stop of the power supply is recognized and the switch output becomes ON, the switch output becomes ON. It is possible to enter a state of waiting for supply recovery and enter a state where the switch output is not detected.
[0088]
In addition, since the power
[0089]
In the configuration shown in FIG. 11, the detection signal (power-off signal) of the power-
[0090]
FIG. 12 is a block diagram showing an example of a configuration around the
[0091]
FIG. 12 also shows the system reset
[0092]
As shown in FIG. 12, the reset signal from the reset IC 651 is input to the
[0093]
Then, for example, the detection voltage of the power supply monitoring circuit (the voltage at which the power supply disconnection signal is output) is set to +22 V, and the detection voltage for setting the reset signal to low level is set to +9 V. In such a configuration, the power supply monitoring circuit and the system reset
[0094]
The voltage of the power supply monitored by the power supply monitoring circuit and the voltage of the power supply monitored by the system reset
[0095]
While power is not supplied from the + 5V power supply which is the driving power supply of the
[0096]
In the configuration shown in FIG. 12, two reset signals (low level signals) are supplied to the reset terminal of the
[0097]
The
[0098]
FIG. 13 and FIG. 14 are explanatory diagrams showing assignment of output ports in this embodiment. As shown in FIG. 13, the
[0099]
In addition, various information output signals from the
[0100]
As shown in FIG. 14, each INT signal (dispensing control signal INT, display control signal INT, lamp control signal INT) output to the
[0101]
Therefore, when outputting the INT signal, the possibility that the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the lamp control signals CD0 to CD7, and the sound control signals CD0 to CD7 are changed by mistake is reduced. Further, when outputting the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the lamp control signals CD0 to CD7, or the audio control signals CD0 to CD7, the possibility of erroneously changing the INT signal is reduced. As a result, a command from the game control means of the
[0102]
FIG. 15 is an explanatory diagram showing bit assignment of an input port in this embodiment. As shown in FIG. 15, in
[0103]
Next, the operation of the gaming machine will be described. FIG. 16 is a flowchart showing a main process executed by the game control means (the
[0104]
In the initial setting process, the
[0105]
The
[0106]
The
[0107]
Interrupt mode 0: The built-in device that has issued the interrupt request sends an RST instruction (1 byte) or a CALL instruction (3 bytes) onto the internal data bus of the CPU. Therefore, the
[0108]
Interrupt mode 1: In this mode, when an interrupt is accepted, the operation always jumps to address 0038 (h).
[0109]
Interrupt mode 2: A mode in which the address synthesized from the value (1 byte) of the specific register (I register) of the
[0110]
Therefore, when the interrupt
[0111]
Next, the
[0112]
If the
[0113]
In this embodiment, whether or not there is backup data in the backup RAM area is confirmed by the state of the backup flag set in the backup RAM area in the power supply stop processing. In this example, as shown in FIG. 17, if "55H" is set in the backup flag area, it means that there is a backup (on state), and if a value other than "55H" is set, there is no backup (off). State).
[0114]
When the backup is confirmed, the
[0115]
In the power supply stop processing, the checksum is calculated by the same processing as the above processing, and the checksum is stored in the backup RAM area. In step S9, the calculated checksum is compared with the stored checksum. If the power is restored after an unexpected power outage or other power supply interruption, the data in the backup RAM area should have been saved, and the check result (comparison result) becomes normal (match). If the check result is not normal, it means that the data in the backup RAM area is different from the data when the power supply is stopped. In such a case, since the internal state cannot be returned to the state at the time of stopping the power supply, the initialization processing executed at the time of turning on the power other than the recovery from the stop of the power supply is executed.
[0116]
If the check result is normal, the
[0117]
As described above, by using the backup flag and the check data such as the checksum to check whether or not the data in the backup RAM area is stored, it is possible to accurately return the gaming state to the state at the time of stopping the power supply. it can. That is, the reliability of the state restoration processing based on the data in the backup RAM area is improved. In this embodiment, whether or not the data in the backup RAM area is stored is confirmed using both the backup flag and the check data, but only one of them may be used. That is, one of the backup flag and the check data may be used as a trigger for executing the state restoration process.
[0118]
In the initialization process, the
[0119]
In the initialization processing, a payout possible state designation command is always transmitted to the
[0120]
Then, a register of the CTC provided in the
[0121]
When the execution of the initialization process (Steps S11 to S15) is completed, the display random number update process (Step S17) and the initial value random number update process (Step S18) are repeatedly executed in the main process. When the display random number update process and the initial value random number update process are executed, the interrupt is prohibited (step S16). When the display random number update process and the initial value random number update process are completed, the interrupt is enabled. Is performed (step S19). The display random number is a random number for determining a symbol to be displayed on the
[0122]
When the display random number update process is executed, the interrupt is prohibited because the display random number update process is also executed in the timer interrupt process described later, and therefore, conflicts with the process in the timer interrupt process. This is to avoid the situation. That is, if a timer interrupt occurs during the processing of step S17 and the count value of the counter for generating the display random number is updated during the timer interrupt processing, the continuity of the count value is lost. There are cases. However, such an inconvenience does not occur if the interrupt is prohibited during the processing in step S17.
[0123]
FIG. 18 is a flowchart illustrating an example of the game state restoring process. In the game state restoring process, the
[0124]
Next, the
[0125]
The payout control means cannot recognize the shortage of the supply balls or the fullness of the
[0126]
Here, if the payout state determination means (a part of the game control means) which determines whether or not the payout of the game medium is possible detects that the payout is not possible, one type of the payout state is determined regardless of the cause. Although the payout stop state designation command is transmitted, the command may be transmitted separately for each cause (in this example, a command indicating a shortage of supply balls and a command indicating a lower plate full). Further, when the payout of the game balls is not possible, a command for prohibiting the emission of the game balls may be transmitted to the
[0127]
Next, the
[0128]
Upon receiving the special symbol power failure restoration command, the display control means performs a predetermined notification process. For example, the
[0129]
If the special symbol has not been changed, the
[0130]
When receiving the confirmation command, the display control means controls the
[0131]
Thereafter, the
[0132]
Then, the RET instruction is executed, but the return destination here is not the part that called the game state restoration processing. This is because the stack pointer is restored in step S81, and the return address stored in the stack area pointed to by the restored stack pointer is the address where the NMI occurred when the power supply was stopped last time in the program. Therefore, the RET instruction following step S95 returns to the address where the NMI occurred when the power supply was stopped. That is, restoration control is performed based on the address saved in the stack area.
[0133]
When a timer interrupt occurs, the
[0134]
Next, various abnormality diagnosis processes are performed by the self-diagnosis function provided inside the
[0135]
Next, a process of updating the count value of each counter for generating each determination random number such as a big hit determination random number used for game control is performed (step S23). The
[0136]
Further, the
[0137]
Next, the
[0138]
Further, the
[0139]
Further, the
[0140]
Then, the
[0141]
According to the above control, in this embodiment, the game control process is started every 2 ms. In this embodiment, the game control process is executed in the timer interrupt process. However, in the timer interrupt process, for example, only a flag indicating that an interrupt has occurred is set. May be executed.
[0142]
FIGS. 20 and 21 are flowcharts illustrating an example of a non-maskable interrupt process (process at the time of stopping power supply) executed in response to a power-off signal from the
[0143]
In the power supply stop processing, the
[0144]
Further, the BC register, the DE register, the HL register, the IX register, and the stack pointer are saved in the backup RAM area (Steps S54 to S58).
[0145]
Next, the backup specified value (in this example, “55H”) is stored in the backup flag. The backup flag is formed in the backup RAM area. Next, parity data is created (steps S60 to S67). That is, first, the clear data (00) is set in the checksum data area (step S60), and the checksum calculation start address is set in the pointer (step S61). Also, the number of checksum calculations is set (step S62).
[0146]
Then, the exclusive OR of the contents of the checksum data area and the contents of the RAM area pointed to by the pointer is calculated (step S63). The calculation result is stored in the checksum data area (step S64), the value of the pointer is increased by 1 (step S65), and the value of the number of checksum calculations is decremented by 1 (step S66). The processing of steps S63 to S66 is repeated until the value of the number of times of checksum calculation becomes 0 (step S67).
[0147]
When the value of the number of times of checksum calculation becomes 0, the
[0148]
Further, the
[0149]
Then, clear data is set to the address pointed to by the IO pointer (step S74), the value of the IO pointer is increased by 1 (step S75), and the value of the number of processes is decremented by 1 (step S77). The processes of steps S74 to S76 are repeated until the value of the number of processes becomes zero. As a result, clear data is set to all
[0150]
Accordingly, after the processing for saving the game state (in this example, generation of a checksum and prevention of RAM access) is performed, each output port is immediately turned off. In this embodiment, the RAM area in which data used in the game control process is stored is all backed up by a power supply. Therefore, the process of generating a checksum indicating whether or not the content is correctly stored and the process of preventing RAM access for preventing the content from being rewritten correspond to the process for storing the game state.
[0151]
Since each output port is immediately turned off after the processing for storing the game state is executed, it is possible to reliably prevent a situation in which the game state does not match the stored game state. In other words, in a gaming machine having a variable winning ball device such as a pachinko gaming machine, due to mounting, the position of the variable winning port in the variable winning ball device and the installation position of the winning port switch for detecting a winning, I have to separate to some extent. If the output port, in particular, the output port for outputting a signal for opening the variable winning ball device is not turned off immediately, the power supply is stopped when the power supply is stopped, even though the variable winning opening has been won. A situation may occur where the execution of the processing is started and the winning opening switch is not detected. In that case, the fact that the variable winning opening has been won is not saved. In other words, the game state that actually occurs (the winning has occurred) does not match the saved game state. However, in this embodiment, since the output port is cleared and the variable winning prize ball device is closed, it is possible to reliably prevent a situation in which the game state does not match the saved game state.
[0152]
Further, at the time of the power supply stop processing executed before the driving of the electric component is disabled, the output port can be cleared, so that the driving of the electric component is disabled before the driving is disabled. Each electric component controlled by the game control means can be brought into an appropriate operation stop state. For example, the operation of the electric component is stopped after the operation of the electric component is stopped, such as closing the open big winning opening and closing the open variable winning
[0153]
In this embodiment, the power supply stop processing is executed in response to the NMI. However, the power supply stop signal is connected to the maskable terminal of the
[0154]
FIG. 22 is an explanatory diagram showing an address map of the RAM area in this embodiment. As shown in FIG. 22, the head of the RAM area is allocated to a backup flag area. The area of the checksum buffer is allocated to the last part. In this embodiment, the power of the entire RAM area is backed up.
[0155]
FIG. 23 is an explanatory diagram for describing an example of a checksum creation method. However, in the example shown in FIG. 23, the size of the data in the backup RAM area is set to 3 bytes for simplicity. In the process at the time of power supply stoppage based on the power supply voltage drop, as shown in FIG. 23, initial data (00 (H) in this example) is set as checksum data. Next, the exclusive OR of "00 (H)" and "F0 (H)" is obtained, and the result is exclusive ORed with "16 (H)". Further, an exclusive OR of the result and “DF (H)” is obtained. Then, a value (“C6 (H)” in this example) obtained by logically inverting the result (“39 (H)” in this example) is set in the backup parity data area.
[0156]
FIG. 23 shows a state in which data “39 (H)” before logical inversion is stored in the checksum buffer for ease of explanation. Note that 00 (H) as the initial data is a value corresponding to the clear data with respect to the checksum data set in step S60, but actually, the exclusive OR with 00 (H) is before and after the operation. Since the value does not change between and, there is no need to perform an exclusive OR operation with 00 (H).
[0157]
In this embodiment, the checksum buffer is stored at the last address of the backup RAM area (variable data storage means). Therefore, for example, when checking whether there is an error in the program of the checksum generation method, the check can be easily performed. This is because it is sufficient to check whether the value of the final address of the RAM area is correct. Also, in this embodiment, the checksum calculation start address is the address where the backup flag is set, and the checksum calculation end address is the last address in the prize ball control flag buffer (see FIG. 22). . Therefore, if the checksum buffer area is set after the award ball control flag buffer, that is, the last address of the backup RAM area, no waste occurs in the RAM area.
[0158]
Note that the first address of the backup RAM area may be used as the area of the checksum buffer in consideration of ease of confirmation and prevention of waste of the RAM area.
[0159]
At the start of power supply to the gaming machine, it is determined whether or not the parity check is OK (step S9 in FIG. 16). In this determination, parity data creation processing in power supply stop processing (steps S71 to S77) The same processing as in (1) is performed. If the processing result, that is, the calculation result matches the contents of the checksum buffer, it is determined that the parity check is OK.
[0160]
Here, the last or first address of the backup RAM area is set as the checksum buffer area. However, the checksum buffer area may be allocated to an intermediate area of the backup RAM area.
[0161]
FIG. 24 is a timing chart showing the state of the power supply voltage drop and the NMI signal (= power off signal: power supply stop signal) when the power supply to the gaming machine is stopped. When the power supply to the gaming machine is stopped, the voltage value of VSL, which is the highest DC power supply voltage, gradually decreases. Then, in this example, when the voltage drops to +22 V, a power supply cutoff signal is output from the power
[0162]
The power-off signal is introduced into the electric component control board (the
[0163]
When the voltage value of VSL further decreases to a predetermined value (+9 V in this example), the output of the system reset circuit mounted on the
[0164]
If the voltage value of VSL is further reduced and becomes lower than a voltage capable of generating Vcc (+5 V for driving various circuits), each circuit cannot operate on each substrate. However, at least on the
[0165]
As described above, in this embodiment, the power supply monitoring circuit monitors the voltage of the highest power supply VSL among the DC voltages used in the gaming machine, and if the voltage of the power supply falls below the predetermined value, the voltage drops. A signal (power-off detection signal) is generated. As shown in FIG. 24, at the timing when the power-off signal is output, the IC drive voltage is still a voltage value that can sufficiently drive various circuit elements. Therefore, the operation time for the
[0166]
Here, the power supply monitoring circuit monitors the highest voltage of the power supply VSL among the DC voltages used in the gaming machine, but the timing of generating the power supply cutoff signal is controlled by the electric component control which operates with the IC drive voltage. The monitoring target voltage need not be the highest voltage of the power supply VSL as long as the operation time for the means to perform the predetermined power supply stop processing is secured. That is, if at least a voltage higher than the IC drive voltage is monitored, the power-off signal can be generated at a timing such that the operation time for the electric component control means to perform the predetermined power supply stop processing is secured. .
[0167]
In this case, as described above, it is preferable that the monitoring target voltage is a voltage that can be expected to prevent erroneous switch-on detection when the power supply is stopped. That is, since the voltage (switch voltage) supplied to the various switches of the gaming machine is +12 V, it is preferable that the voltage drop can be detected at a stage before the +12 V power supply voltage starts to drop. Therefore, it is preferable to monitor at least a voltage higher than the switch voltage.
[0168]
Next, a specific example of the switch processing (step S21) in the main processing will be described. In this embodiment, when the ON state of the detection signal of each switch continues for a predetermined time, it is determined that the switch has been turned on, and the processing corresponding to the switch-on is started. A switch timer is used to measure a predetermined time. The switch timer is a 1-byte counter formed in the backup RAM area, and is incremented by 1 every 2 ms when the detection signal indicates the ON state. As shown in FIG. 25, the switch timers are provided by the number N of the detection signals (excluding the detection signal of the clear switch 921). In this embodiment, N = 12. In the
[0169]
FIG. 26 is a flowchart showing a processing example of the switch processing in step S21 in the game control processing. The switch process is first executed in the game control process as shown in FIG. In the switch processing, the
[0170]
FIG. 27 is a flowchart showing a switch check processing subroutine. In the switch check processing subroutine, the
[0171]
If the value of the carry flag is "1" (step S125), that is, if the detection signal of the winning
[0172]
If the value of the carry flag is "0", that is, if the detection signal of the winning
[0173]
Thereafter, the
[0174]
The processes of steps S122 to S132 are repeated for the number of processes, that is, eight times. In the meantime, the process of checking whether the switch detection signal input to the 8 bits of the
[0175]
The
[0176]
In the switch check processing subroutine, since the above-described processing is executed, the processing of steps S122 to S132 is repeated for the number of processings, that is, four times, during which the switch detection signal input to the four bits of the
[0177]
In this embodiment, since the game control process is started every 2 ms, the switch process is also executed once every 2 ms. Therefore, the switch timer is incremented by 1 every 2 ms.
[0178]
FIG. 28 to FIG. 30 are flowcharts showing an example of the prize ball processing in step S31 in the game control processing. In this embodiment, in the prize ball processing, it is determined whether or not the
[0179]
In the prize ball processing, the
[0180]
The input determination value table is a ROM area in which a determination value for determining how many consecutive ONs of each switch has been detected and that the switch has been turned ON is set. FIG. 32 shows a configuration example of the input determination value table. As shown in FIG. 32, the input determination value table includes “2”, “50”, “250”, “30”, “250”, and “1” in order from the top, that is, in order from the region having the smallest address value. Is set. In the switch-on check routine, the judgment value set at the address determined by the start address of the input judgment value table and the offset value is compared with the value of the switch timer determined by the start address of the switch timer and the offset value. If they match, for example, a switch-on flag is set.
[0181]
An example of the switch-on check routine is shown in FIG. In the switch-on check routine, if the value of the switch timer corresponding to the
[0182]
Further, the
[0183]
In the switch-on check routine, if the value of the switch timer corresponding to the out-of-
[0184]
Then, the
[0185]
When any of them changes to the ON state, a command transmission table relating to the payout stop state designation command is set (step S203), and a command set process is called (step S206). In step S203, the head address of the command transmission table (ROM) storing the payout control command of the payout stop state designation command is set as the address of the command transmission table. In the command transmission table relating to the payout stop state designation command, INT data to be described later, data of the first byte of the payout control command, and data of the second byte of the payout control command are set. In step S202, if one of the flags is already on and the other is on, the command transmission control process (step S203) is not performed.
[0186]
If the payout is in the stopped state, it is checked whether both the out-of-ball state flag and the full state flag have been turned off (step S204). When both are turned off, a command transmission table relating to the payable state designation command is set (step S205), and a command set process is called (step S207). In step S205, the head address of the command transmission table (ROM) storing the payout control command of the payable state designation command is set as the address of the command transmission table. In the command transmission table related to the payable state designation command, INT data, data of the first byte of the payout control command, and data of the second byte of the payout control command, which will be described later, are set.
[0187]
Further, the
[0188]
In the switch-on check routine, the
[0189]
Next, the
[0190]
Then, the
[0191]
In this case, in the switch-on check routine, if the value of the switch timer corresponding to the winning
[0192]
When the switch-on flag is set, "10" is set as the number of award balls to be paid out in the ring buffer (step S226). Then, 10 is added to the value stored in the total prize ball storage buffer (step S227). When data is written to the ring buffer, the write pointer is incremented. When data is written to the last area of the ring buffer, the write pointer is updated so as to point to the first area of the ring buffer.
[0193]
The total prize ball number storage buffer is a buffer for storing a cumulative value of the number of prize balls instructed to the payout control means (subtracted when payout is made), and is formed in the backup RAM. In this embodiment, when data is written to the ring buffer, addition processing is performed on the stored value of the total prize balls storage buffer, but a payout control command indicating the number of prize balls to be paid out is output to the output port. At the time of output, the process of adding the number of prize balls corresponding to the payout control command to be output to the value stored in the total prize ball storage buffer may be performed.
[0194]
Next, the
[0195]
In the switch-on check routine, if the value of the switch timer corresponding to the starting port switch 14a matches the switch-on determination value "2", the switch-on flag is set (step S234). When the switch-on flag is set, "6" is set as the number of award balls to be paid out in the ring buffer (step S235). Also, 6 is added to the value stored in the total prize ball storage buffer (step S236).
[0196]
Next, the
[0197]
In the switch-on check routine, if the value of the switch timer corresponding to the
[0198]
If data exists in the ring buffer (step S247), the contents of the ring buffer indicated by the read pointer are set in the transmission buffer (step S248), and the value of the read pointer is updated (the next area in the ring buffer). (Step S249), a command transmission table relating to the number of winning balls is set (Step S250), and a command set process is called (Step S251). The operation of the command set processing will be described later in detail.
[0199]
In step S250, the head address of the command transmission table (ROM) in which the payout control command relating to the number of winning balls is stored is set as the address of the command transmission table. In the command transmission table relating to the number of winning balls, INT data (01 (H)), data of the first byte (F0 (H)) of the payout control command, and data of the second byte of the payout control command, which will be described later, are set. ing. However, “80 (H)” is set as the data of the second byte.
[0200]
As described above, when trying to output a payout control command instructing the number of winning balls from the game control means to the
[0201]
When the content of the total prize ball storage buffer is not 0, that is, when there is still a prize ball remaining, the
[0202]
When the award ball payout flag is on (step S254), the
[0203]
In this embodiment, the processes of steps S221 to S251 are executed even when the payout is stopped (steps S201 and S204). That is, the game control means can send out a payout control command for instructing the number of winning balls even in the payout stop state. In other words, a command for instructing the number of winning balls is transmitted to the payout control means even in the payout stop state, and when the payout stop state is released, the payout ball payout can be started earlier. Further, the game control means does not require a large storage area for storing the number of winning balls based on winnings in the payout stop state.
[0204]
Next, a method of transmitting a control command from the game control means to each electric component control means will be described. When an attempt is made to output a control command from the game control means to another electric component control board (sub board), the start address of a command transmission table is set. FIG. 33A is an explanatory diagram illustrating a configuration example of a command transmission table. One command transmission table is composed of three bytes, and INT data is set in the first byte. In the
[0205]
Note that the EXT data itself may be set in the
[0206]
FIG. 33 (B) is an explanatory diagram showing one configuration example of INT data.
[0207]
[0208]
In this embodiment, a ring buffer and a transmission buffer are prepared for the payout control command as shown in FIG. Then, in the prize ball processing, when the prize ball payout condition is satisfied, the number of prize balls according to the satisfied condition is sequentially set in the ring buffer. Also, when sending out the payout control command relating to the number of winning balls, one piece of data is transferred from the ring buffer to the transmission buffer. In the example shown in FIG. 33 (C), data corresponding to twelve payout control commands can be stored in the ring buffer. That is, there are 12 buffers. The number of buffers in the ring buffer may be a number corresponding to the number of winning ports for generating prize balls. This is because even in the case of simultaneous winning, data of a payout control command based on each winning can be stored.
[0209]
FIG. 34 is an explanatory diagram showing an example of a command form of a control command sent from the
[0210]
FIG. 35 is a timing chart showing the relationship between the 8-bit control signals CD0 to CD7 constituting the control command for each electric component control means and the INT signal. As shown in FIG. 35, when the period indicated by A elapses after the MODE or EXT data is output to the output port (one of the
[0211]
The period A is a period for the
[0212]
In this embodiment, the payout control command to the
[0213]
Each electric component control means detects that the INT signal has risen, and starts a process of fetching 1-byte data by, for example, an interrupt process.
[0214]
Since the periods B and C are longer than the reception processing time of the electric component control means which takes the longest time for the command reception processing, even if the game control means controls the command transmission processing for each electric component control means by the common module. Any of the electric component control means can reliably receive the control command from the game control means.
[0215]
When a predetermined period elapses after the execution of the INT signal output process, the
[0216]
FIG. 36 is an explanatory diagram showing an example of the content of the payout control command. In the example shown in FIG. 36, a command FF00 (H) of MODE = FF (H) and EXT = 00 (H) is a payout control command (payout possible state designation command) indicating that payout is possible. is there. The command FF01 (H) of MODE = FF (H) and EXT = 01 (H) is a payout control command (payout stop state designation command) indicating that the payout should be stopped. The command F0XX (H) of MODE = F0 (H) is a payout control command for specifying the number of winning balls. “XX” which is EXT indicates the number of payouts.
[0217]
The payout control means stops the prize ball payout and the ball lending when receiving the FF01 (H) payout control command from the game control means of the
[0218]
The payout control command is sent only once so that the payout control means can recognize it. Recognizable means that the level of the INT signal changes in this example, and sent only once so as to be recognizable means that in this example the first and second bytes of the payout control signal Accordingly, the INT signal is output only once in a pulse form (rectangular wave form).
[0219]
When outputting a control command to each electric component control board to a corresponding output port (
[0220]
FIG. 37 is a flowchart illustrating a processing example of the command set processing (steps S206, S207, and S251). The command set process is a process including a command output process and an INT signal output process. In the command set processing, the
[0221]
Then, the
[0222]
FIG. 38 is a flowchart showing a command transmission processing routine. In the command transmission processing routine, the
[0223]
Next, the
[0224]
When the carry bit becomes 1, the data set in the
[0225]
Next, the
[0226]
In the second shift processing, the value of
[0227]
Therefore, when the carry flag becomes "1", a control command is transmitted to the corresponding output port (
[0228]
In this way, since it is determined which control control unit should output the control command only by the shift process, the process of determining which control control unit should output the control command is simplified. Has been
[0229]
Next, the
[0230]
Next, the
[0231]
Therefore, the value set in the wait counter in step S367 is a value such that the period of C is a period sufficient for all the electric component control means to receive the control command to reliably perform the command receiving process. is there. The value set in the wait counter is such that the period of C becomes longer than the time required for the processing of steps S357 to S359 (corresponding to the period of A). If it is desired to lengthen the period of A, a wait process for creating the period of A (for example, a process of setting a predetermined value in a weight counter and performing subtraction until the value of the weight counter becomes 0) is performed. Do.
[0232]
As described above, the MODE data of the first byte of the control command is transmitted. Therefore, the
[0233]
Since data that can specify the number of winning balls is set in the transmission buffer, the data is set in the
[0234]
Next, the
[0235]
As described above, the control command (dispensing control command, display control command, lamp control command, sound control command) of the 2-byte configuration is transmitted to the corresponding electric component control means. When the electric component control means detects the rising of the INT signal, the control command fetching process is started. In any of the electric component control means, a new signal from the game control means is output before the fetching process is completed. There is no output on the line. That is, a reliable command receiving process is performed in each electric component control unit. Note that each electric component control unit may start the process of capturing the control command at the falling edge of the INT signal. Also, the polarity of the INT signal may be reversed from that shown in FIG.
[0236]
In this embodiment, in the prize ball processing, when the prize ball payout condition is satisfied, data that can specify the number of prize balls is stored in a ring buffer that can store a plurality of data at the same time, and specifies the number of prize balls. When sending out the payout control command, data in the ring buffer area pointed to by the read pointer is transferred to the transmission buffer. Therefore, even if a plurality of prize ball payout conditions are satisfied at the same time, data that can specify the number of prize balls based on the satisfaction of those conditions is stored in the ring buffer, so that the command output processing based on the satisfaction of each condition does not have any problem. Be executed.
[0237]
Further, in this embodiment, both a payout stop state designation command or a payout possible state designation command and a command indicating the number of winning balls can be transmitted in one winning ball processing. That is, a plurality of commands can be transmitted within one control period activated every 2 ms. In this embodiment, a plurality of ring buffers are prepared for each control command (display control command, lamp control command, sound control command, payout control command) to each control means. When data that can specify a control command is set in the ring buffer of the control command, the lamp control command, and the sound control command, a plurality of display control commands, lamp control commands, and sound control commands can be performed in one command control process. Can be sent. That is, a plurality of control commands can be sent out simultaneously (meaning in the start cycle of the game control process, that is, the 2 ms timer interrupt process). Since the transmission timings of these control commands occur simultaneously during the progress of the game effect, it is convenient to have such a configuration. However, the payout control command is generated irrespective of the progress of the game effect, and is generally not transmitted simultaneously with the display control command, the lamp control command, and the sound control command.
[0238]
FIG. 39 is a flowchart illustrating an example of the winning ball number subtraction process. In the winning ball number subtraction process, the
[0239]
If it is not 0, the switch timer for the winning ball count switch is loaded (step S383), and the loaded value is compared with the ON determination value (in this case, "2") (step S384). If they match (step S385), it is determined that the prize
[0240]
Further, the value of the award ball information counter is incremented by 1 (step S387). If the value of the award ball information counter is 10 or more (step S388), the value of the award ball information output counter is incremented by 1 (step S389), and the value of the award ball information counter is decreased by 10 (step S390). The value of the prize ball information output counter is referred to in the information output process (step S29) in the game control process shown in FIG. 19, and if the value is 1 or more, the prize ball signal (the bit of the output port 5) 7: see FIG. 14). Therefore, in this embodiment, each time ten game balls are paid out as prize balls, one prize ball signal is output to the outside of the gaming machine.
[0241]
When the value stored in the total prize ball storage buffer becomes 0 (step S391), the prize ball paying flag is cleared (step S392), and a lamp control command is issued to notify that there is no remaining prize ball. After the command data indicating that the
[0242]
Next, a payout control unit will be described as an example of an electric component control unit other than the game control unit.
[0243]
FIG. 40 is a block diagram illustrating a configuration example around the
[0244]
The INT signal from the
[0245]
The
[0246]
The predetermined value for the
[0247]
While power is not supplied from the + 5V power supply, at least a part of the built-in RAM of the
[0248]
In the configuration shown in FIG. 40, when power is turned on, the system reset
[0249]
FIG. 41 is an explanatory diagram showing output port assignment in this embodiment. As shown in FIG. 41, the output port C (
[0250]
FIG. 42 is an explanatory diagram showing bit assignment of input ports in this embodiment. As shown in FIG. 42, the input port A (address 06H) is an input port for taking in an 8-bit payout control signal of the payout control command sent from the
[0251]
FIG. 43 is a flowchart showing the main processing of the payout control means (
[0252]
In this embodiment, one channel of the built-in CTC is used in the timer mode. Therefore, in the setting processing of the internal device register in step S704 and the processing in step S705, the register setting for setting the channel to be used to the timer mode, the register setting for permitting the interrupt generation, and the setting of the interrupt vector are set. Is set. Then, the interruption by the channel is used as a timer interruption. When a timer interrupt is to be generated every 2 ms, for example, a value corresponding to 2 ms is set in a predetermined register (time constant register) as an initial value.
[0253]
The interrupt vector set for the channel set in the timer mode (
[0254]
Another one of the built-in CTCs (
[0255]
The interrupt vector set for the channel (channel 2) set to the counter mode corresponds to the start address of the command reception interrupt process described later. Specifically, the start address of the command reception interrupt processing is specified by the value set in the I register and the interrupt vector.
[0256]
In this embodiment, the interrupt
[0257]
The interrupt based on the count up of the channel 2 (CH2) of the CTC is an interrupt that occurs when the value of the timer counter register CLK / TRG2 becomes “0”. Therefore, for example, in step S705, the initial value “1” is set in the timer counter register CLK / TRG2 as the specific register. Furthermore, the count value of the timer counter register CLK / TRG2 as a specific register is decremented by -1 at the rise or fall of the signal input to the CLK / TRG2 terminal. A down choice can be made. In this embodiment, the setting is made such that the count value of the timer counter register CLK / TRG2 is decremented by one at the rise of the signal input to the CLK / TRG2 terminal.
[0258]
The interrupt based on the count-up of the channel 3 (CH3) of the CTC is an interrupt generated when the internal clock (system clock) of the CPU is counted down and the register value becomes "0". Used as an interrupt. Specifically, a clock obtained by dividing the operation clock of the
[0259]
An interrupt based on the count-up of CH2 of CTC has a higher priority than an interrupt based on the count-up of CH3. Therefore, when the count-up occurs at the same time, the interrupt based on the count-up of CH2, that is, the interrupt that triggers the execution of the command reception interrupt process has priority.
[0260]
Next, the
[0261]
Note that, similarly to the
[0262]
If the
[0263]
After confirming that there is a backup, the
[0264]
If the check result is normal (step S709), the
[0265]
In the initialization process, the
[0266]
In this embodiment, the built-in CTC of the
[0267]
In the timer interruption, as shown in FIG. 44, the interruption is first set to the permission state (step S771). Therefore, during the timer interrupt process, the interrupt is enabled, and the payout control command receiving process based on the input of the INT signal can be preferentially executed.
[0268]
In the payout control processing, the
[0269]
Next, the
[0270]
Next, the
[0271]
Further, the
[0272]
In this embodiment, a stepping motor is used as the
[0273]
Next, error detection processing is performed, and a predetermined display is performed on the error display LED 374 according to the result (error processing: step S759). In addition, processing such as outputting a ball lending number signal output to the outside of the gaming machine is performed (output processing: step S760).
[0274]
The output port C shown in FIG. 41 is accessed in the payout motor control process (step S758) in the payout control process. The output port D is accessed in an error process (step S759) in the payout control process. The output port E is accessed in the ball lending control process (step S756) and the prize ball control process (step S757) in the payout control process.
[0275]
FIG. 45 is a flowchart illustrating an example of the payout state restoration processing in step S710. In the payout state restoring process, the
[0276]
Next, the
[0277]
Then, the RET instruction is executed, but the return destination here is not the part that called the payout state restoration processing. This is because the stack pointer is restored in step S731, and the return address stored in the stack area pointed to by the restored stack pointer is the address at which the NMI occurred when the power supply was last stopped in the program. Therefore, the RET instruction following step S736 returns to the address where the NMI occurred when the power supply was stopped. That is, restoration control is performed based on the address saved in the stack area.
[0278]
FIGS. 46 and 47 are flowcharts showing an example of a non-maskable interrupt process (NMI process: power supply stop process) executed in response to a power-off signal from the
[0279]
In the power supply stop processing, the
[0280]
Further, the BC register, the DE register, the HL register, the IX register, and the stack pointer are saved in the backup RAM area (Steps S804 to S808).
[0281]
Next, the backup specified value (in this example, “55H”) is stored in the backup flag. The backup flag is formed in the backup RAM area. Next, the same processing as the processing of the
[0282]
Further, the
[0283]
Then, the clear data is set at the address indicated by the IO pointer (step S824), the value of the IO pointer is increased by 1 (step S825), and the value of the number of processes is decremented by 1 (step S827). The processes of steps S824 to S826 are repeated until the value of the number of processes becomes zero. As a result, clear data is set in all the output ports CE (see FIG. 41). As shown in FIG. 41, in this example, “1” is on, and “00” which is clear data is set to each output port, so that all output ports are off.
[0284]
Therefore, after the processing for saving the control state (in this example, generation of the checksum and prevention of RAM access) is performed, each output port is immediately turned off. Therefore, the process of generating a checksum indicating whether or not the content is correctly stored and the process of preventing RAM access for preventing the content from being rewritten correspond to the process for storing the payout control state.
[0285]
Since each output port is immediately turned off after the processing for saving the control state is executed, it is possible to reliably prevent a situation that does not match the saved game state. Further, since the output port can be cleared during the power supply stop processing before the driving of the electric component is disabled, the output port is controlled by the payout control unit before the driving of the electric component is disabled. Each electrical component can be put into an appropriate operation stop state. For example, after the operation of the electric component is stopped, such as by stopping the operation of the
[0286]
When the clearing process for the output port is completed, the
[0287]
FIG. 48 is an explanatory diagram showing an example of use of the RAM incorporated in the
[0288]
When the
[0289]
Therefore, the number of unpaid prize balls and the number of loaned balls are stored in the backup RAM area capable of holding the contents for a predetermined period. Therefore, even if an unexpected power supply stop such as a power failure occurs, if the power supply is restored within a predetermined period, the prize ball processing and the ball lending processing can be restarted based on the contents stored in the backup RAM area. That is, even if the power supply to the gaming machine is stopped, if the power supply is resumed, the payout is performed based on the number of unpaid prize balls and the number of loaned balls at the time of stopping the power supply, and is given to the player. The disadvantage can be reduced.
[0290]
FIG. 49 is an explanatory diagram showing a configuration example of a reception buffer for storing a payout control command received from the
[0291]
FIG. 50 is a flowchart showing a payout control command receiving process by the interrupt process. The INT signal for payout control from the
[0292]
Here, the command receiving process of the payout control unit will be described, but the same command receiving process is also performed by the display control unit, the lamp control unit, and the sound control unit. Further, in this embodiment, the initial setting is performed so that the value of the timer counter register CLK / TRG2 is decremented by 1 when the input of the CLK / TRG2 terminal rises, that is, an interrupt occurs at the rise of the INT signal. Although the initial setting is performed such that the value of the timer counter register CLK / TRG2 is decremented by one when the input to the CLK / TRG2 terminal falls, the initial setting may be performed. In other words, initialization may be performed such that an interrupt occurs at the falling edge of the INT signal.
[0293]
That is, if an interrupt is generated at the level change timing (edge) of a pulse-like (rectangular wave) INT signal as a capture signal, the edge may be a rising edge or a falling edge. Good. In any case, an interrupt is generated at the level change timing (edge) of the pulse (rectangular wave) INT signal as the capture signal. By doing so, it becomes possible to promptly receive a command at the stage when command capture is instructed. Since the output of the INT signal is on standby until the period A (FIG. 35) has elapsed, the output state of the command data on the lines of the control signals CD0 to CD7 is stable when the INT signal is output. Therefore, the payout control command is favorably received by the payout control means.
[0294]
In the receiving process of the payout control command, the
[0295]
If it is not the first byte of the payout control command, it is checked whether the first byte has already been received (step S854). Whether or not the data has already been received is confirmed based on whether or not valid data is set in the reception buffer (reception command buffer).
[0296]
If the first byte has already been received, it is checked whether the first bit of the received one byte is “0”. If the first bit is "0", it is determined that the valid second byte has been received, and the received command is stored in the reception command buffer indicated by the command reception number counter +1 in the reception buffer area (step S855). The first bit must be “0” in the EXT byte (second byte) of the payout control command having a 2-byte configuration (see FIG. 34). If the confirmation result in step S854 indicates that the first byte has already been received, the process ends if the first bit of the data received as the second byte is not “0”. If "N" is determined in step S854, the process of step S856 is not performed, and the next received command is stored in the buffer area where the command received this time was to be stored. You.
[0297]
When the command data of the second byte is stored in step S855, 2 is added to the command reception number counter (step S856). Then, it is checked whether or not the command reception counter is 12 or more (step S857), and if it is 12, the command reception number counter is cleared (step S858). Thereafter, the saved register is restored (step S859), and finally, the interrupt is permitted (step S859).
[0298]
During the command reception interrupt processing, the interrupt is prohibited. As described above, since the interrupt is permitted during the 2 ms timer interrupt process, if a command reception interrupt occurs during the 2 ms timer interrupt, the command reception interrupt process is executed with priority. You. Also, even if a 2 ms timer interrupt occurs during the command reception interrupt process, the interrupt process is kept waiting. Thus, in this embodiment, the processing priority of the command reception processing from the
[0299]
The payout control command has a 2-byte structure, and the first byte (MODE) and the second byte (EXT) can be immediately distinguished on the receiving side. In other words, the receiving side can immediately detect whether the data as MODE or the data as EXT has been received by the first bit. Therefore, as described above, it can be easily determined whether or not appropriate data has been received.
[0300]
In this embodiment, in the command reception interruption process, control for storing the received command in the reception buffer is performed, but a payout stop state setting process (see FIG. 52) and a command analysis execution process (see FIG. 53) which will be described later. ) May be executed in the command reception interrupt process. As described above, when the command reception interrupt processing is executed even before the command determination processing for determining a command in the reception buffer, the command determination is also quickly executed.
[0301]
FIG. 51 is a flowchart illustrating an example of the switch processing in step S751. In the switch processing, the
[0302]
Then, the value of the award ball count switch on counter is checked (step S751c), and if the value is 2, it is determined that one award ball has been paid out. When determining that one prize ball has been paid out, the
[0303]
If it is confirmed in step S751a that the prize
[0304]
Then, the value of the ball lending count switch on counter is checked (step S751h). If the value is 2, it is determined that one lending ball has been paid out. If it is determined that one loaned ball has been paid out, the
[0305]
If it is confirmed in step S751f that the ball lending
[0306]
FIG. 52 is a flowchart illustrating an example of the payout stop state setting process in step S753. In the payout stop state setting process, the
[0307]
If it is determined in step S753b that the received command is not the payout stop state designation command, it is checked whether the received payout control command is the payout possible state designation command (step S753d). If it is the payout possible state designation command, the payout stop state is released (step S753e).
[0308]
FIG. 53 is a flowchart illustrating an example of the command analysis execution process in step S754. In the command analysis execution processing, the
[0309]
If the received payout control command is a payout control command for specifying the number of winning balls, the number specified by the payout control command is added to the total number storage (step S754c). That is, the
[0310]
Note that the
[0311]
FIG. 54 is a flowchart showing an example of the prepaid card unit control processing in step S755. In the prepaid card unit control process, the
[0312]
According to the above processing, if the VL signal is detected to be off 125 times (2 ms × 125 = 250 ms) continuously, the state is set to the ball firing prohibited state.
[0313]
If the VL signal has been detected in step S755a, the
[0314]
FIGS. 55 and 56 are flowcharts illustrating an example of the ball lending control process in step S756. In this embodiment, the maximum value of the number of continuous payouts is set to one unit of the lending ball (for example, 25), but the maximum value of the number of continuous payouts may be another number.
[0315]
In the ball lending control processing, the
[0316]
If neither the loaned ball is paid out nor the prize ball is paid out, the
[0317]
Strictly speaking, the
[0318]
FIG. 56 is a flowchart showing processing during ball lending in the payout control processing by the
[0319]
In the ball lending control process, the
[0320]
If it is during the lending ball passage waiting time in step S519, the
[0321]
After the EXS signal indicating the acceptance of the ball lending request is turned off and the BRQ signal which is the ball lending request signal is turned on again within a predetermined period, the ball lending process is continued without turning off the distribution solenoid and the payout motor. You may make it. That is, instead of performing the ball lending process for each predetermined unit (100 yen unit in this example), the ball lending process may be performed continuously.
[0322]
The contents of the number of lent balls are stored by the backup power supply of the
[0323]
FIGS. 57 and 58 are flowcharts showing an example of the winning ball control process in step S757. In this example, the maximum value of the number of continuous payouts is the same as one unit of the lending sphere (for example, 25), but the maximum value of the number of continuous payouts may be another number.
[0324]
In the prize ball control processing, the
[0325]
If neither a loaned ball is paid out nor a prize ball is paid out, the
[0326]
If there is no ball lending preparation request from the
[0327]
If the number of prize balls stored in the total number memory is 25 or more, the
[0328]
FIG. 58 is a flowchart illustrating an example of processing during a winning ball in the payout control processing by the
[0329]
In the processing during the prize ball, the
[0330]
If it is during the waiting time for passing a prize ball in step S540, the
[0331]
In this embodiment, the ball lending is given priority over the prize ball processing according to the determinations in step S511 and step S531, but the prize ball processing may be given priority over the ball lending.
[0332]
The contents of the total number storage and the rental ball number storage are stored by the backup power supply of the
[0333]
Note that the
[0334]
In this embodiment, the payout control means detects that the INT signal relating to the payout control signal has risen, and starts a process of taking in 1-byte data by, for example, an interrupt process. Further, since a receiving ring buffer (a receiving buffer in this example) capable of storing a plurality of payout control commands is provided, after receiving the payout control command, the next payout control command is issued before control based on the command is started. Does not mean that the command is not received by the payout control means.
[0335]
Further, as shown in the flowcharts of FIGS. 28 to 30, the game control means is configured to be able to execute the command set process of step S251 even when the payout is stopped (step S201). . Therefore, even when the payout is stopped, a payout control command indicating the number of payouts is transmitted to the payout control means when a prize is detected.
[0336]
In the payout control means, the interruption process is started even in the payout stop state, so that the payout control means can receive the payout control command even while the payout is stopped. While the payout is stopped, the payout process according to the received payout control command is stopped.However, since a receiving ring buffer capable of storing a plurality of payout control commands is provided, the payout control command is transmitted from the game control means. The paid-out control command does not disappear in the payout control means.
[0337]
Then, in the payout control means, a command reception number counter is used as an address indicating means for indicating in which area of the reception ring buffer the transmission command is stored. Therefore, it is easy to determine which area should be used.
[0338]
In the above-described embodiment, the case where the RAM is used as the variable data storage means has been described. However, as the variable data storage means, any other electrically rewritable storage means other than the RAM may be used. Good.
[0339]
Further, similarly to the RAM in the game control unit and the payout control unit, the RAM in the sound control unit, the lamp control unit, and the display control unit may have a part to be backed up by a power supply.
[0340]
Furthermore, in the above embodiment, the power supply monitoring means is provided on the
[0341]
As described above, the power supply monitoring unit is a game ball detection switch (in the above example, the
[0342]
The electric component control means sets a parity flag indicating that the power supply stop processing has been performed in the power supply stop processing, and sets a state according to the state of the parity flag when the power supply is restarted. Since it is determined whether to perform the recovery processing or the initialization processing, it is possible to reliably determine whether to perform the state recovery processing by a simple method. As a result, it is possible to reliably utilize the control state saved by the power supply stop processing.
[0343]
Further, in the power supply stop processing, the electrical component control unit performs a parity check on an area of the variable data storage unit (for example, RAM) backed up by a backup power supply as a storage holding unit, saves the parity data, and stores the parity data. When the parity data has been correctly saved when is resumed, a state restoration process is performed. Then, when the power supply is restarted, the parity check is performed again, the check result is compared with the stored parity data, and if they match, the state restoration processing is performed. If the storage content of the variable data storage unit backed up by the backup power supply changes while the power supply is stopped, the result of the parity check again does not match the stored parity data. Therefore, it is prevented that the state restoration processing is executed based on the erroneous storage contents.
[0344]
In the game state restoring process, the game control means performs control to output a payout possible state designation command or a payout stop state designation command to the payout control means. It is possible to avoid occurrence of a discrepancy in recognition of state information (payout information, ball lending information, prize ball information, launch information, etc.) between the control means and the control means. As a result, a malfunction by the payout control means can be prevented.
[0345]
In the above embodiment, at the time of starting the power supply, the game control means transmits the payout stop state designation command or the payout possible state designation command to the payout control means, but another command may be transmitted. For example, information on whether or not a hit ball can be fired by the hit ball operation handle 5 and information on an error and error cancellation are notified. With such a configuration, it is possible to avoid occurrence of a discrepancy in recognition of the current situation between the game control unit and the payout control unit after the start of power supply. As a result, appropriate game control can be performed.
[0346]
Further, in the above embodiment, when the payout control means receives the payout stop state designation command, both the ball lending and the prize ball payout are stopped, and both the ball lending and the prize ball payout are possible according to the payable state designation command. After returning to the state, the payout stop instruction for the prize ball and the payout stop instruction for the ball lending may be set as different commands, and the payout stop release instruction for the prize ball and the payout stop release instruction for the ball lending may be set as different commands. In the case of such a configuration, there is a discrepancy in recognition of the present situation regarding the prize ball stop / stop release and the ball lending stop / stop release between the game control means and the payout control means after the power supply is started. Can be avoided.
[0347]
In the above-described embodiment, the payout means is configured to be able to perform both ball lending and prize ball payout. However, the present invention may be applied even if the mechanism for lending balls and the mechanism for paying out prize balls are independent. Can be applied. In this case, even if the mechanism for lending the ball and the mechanism for paying out the prize ball are independent, if the payout control means is configured to control both mechanisms, as in the above-described embodiment, the first embodiment will be described. It can be configured to instruct stop / stop release of both ball lending and prize ball payout with one command.
[0348]
Further, when the power supply is started, even if the control state saved in the power supply stop processing remains, when the initialization operation means is operated, the electric component control means performs the state restoration processing. Perform initialization processing without executing. Therefore, a game clerk or the like can easily clear the storage state.
[0349]
When the state restoration processing is completed, the microcomputer in the electric component control means returns to the address stored in the stack area when the power supply stop processing is executed, and resumes the execution of the program. Therefore, it is possible to easily return to the control state that was being executed when the power supply was stopped, and to reliably return to the control state that was being executed when the power supply was stopped.
[0350]
【The invention's effect】
As described above, according to the first aspect of the present invention, the gaming machine is monitored by monitoring the state of the power supply having a DC voltage higher than the voltage supplied to the game medium detection means, and detecting that the output voltage of the power supply has decreased. Power supply monitoring means for outputting a detection signal when the condition is satisfied;(Electric component control microcomputer)Executes the power supply stop processing in response to the detection signal from the power supply monitoring means, and stores the information indicating that the power supply stop processing has been executed, in the variable data storage means stored in the storage holding means. When the power supply is restored, a state restoration process for restoring the control state based on the state storage is performed on condition that the information indicating that the process at the time of the power supply interruption has been executed is saved, and the power is restored. The configuration is such that the initialization process is performed unless the information indicating that the process at the time of the supply stop has been executed is stored. Therefore, even if an unexpected power supply stop due to a power failure or the like occurs, the fact that the fact can be reliably detected. There is. In addition, since the power supply to be monitored is a power supply having a DC voltage higher than the voltage supplied to the game medium detection means, detection mistakes of the game medium detection means when power supply is stopped are reliably prevented, and power supply is restarted. Then, it is possible to determine whether to perform the state restoration process or the initialization process. Further, the power supply monitoring means includes a first power supply monitoring means and a second power supply monitoring means, and the electric component control means executes a power supply stop processing according to a detection signal from the first power supply monitoring means. Since the system is configured to be reset in response to the detection signal from the second power supply monitoring unit, the operation of the electric component control unit is stopped after the electric component control unit completes the power supply stop processing. Data can be prevented from being destroyed when the power supply voltage drops.Further, the state memory includes interrupt state information indicating one of an interrupt inhibited state for inhibiting the execution of the predetermined interrupt processing and an interrupt permitted state for permitting the execution of the predetermined interrupt processing. Since the process includes the process of restoring the interrupt prohibition state or the interruption permission state based on the interruption state information, accurate state restoration including the interruption prohibition state or the interruption permission state is performed. Further, the electric component control means executes an electric component control process for controlling an electric component provided in the gaming machine based on the occurrence of a timer interrupt that occurs periodically, and performs an electric component control process. It is configured to execute the process of updating the counter used for game control with the remaining time of the time required, and to set the interrupt prohibition during the process of updating the counter with the remaining time, so It is possible to prevent an occurrence of an interruption during updating of the counter and a problem of updating the counter.
[0351]
According to the second aspect of the present invention, since the state restoration processing includes the processing for clearing the information indicating that the power supply stop processing has been performed, unnecessary information does not remain when the state restoration processing is completed. You can do so.
[0352]
According to the third aspect of the present invention, the state storage includes the contents of the register, and the state restoration processing includes the processing of restoring the contents of the register. State recovery is performed.
[0354]
Claim 4According to the described invention,Electrical component controlSince the microcomputer is configured to execute the power supply stop processing based on the input to the interrupt terminal, the power supply stop processing can be started quickly by the processing with a high priority.
[0355]
Claim 5According to the invention described above, since the interrupt terminal is the interrupt terminal for the non-maskable interrupt, the power supply stop processing can be immediately started by the processing with the highest priority.
[0356]
Claim 6According to the invention described above, a power supply board that is formed separately from the electric component control board on which the electric component control means is mounted and creates a power supply used in the gaming machine is provided, and the power supply monitoring means is mounted on the power supply board. Power supply monitoring means can be provided near the monitoring power supply.
[0357]
Claim 7According to the invention described above, since the memory holding means is mounted on the power supply board, it is not necessary to separately provide a board on which the memory holding means is mounted.
[0360]
Claim 9According to the described invention, the electric component control means controls the payout of the game medium.(Discharge control microcomputer)Since at least information on the number of payouts is stored in the variable data storage means whose storage content is held by the storage holding means, even if there are unpaid game balls when the power supply is stopped, The payout can be continued when the power supply is restored based on the stored contents.
[Brief description of the drawings]
FIG. 1 is a front view of a pachinko gaming machine viewed from the front.
FIG. 2 is a front view showing a front surface of the game board with a glass door frame removed.
FIG. 3 is a rear view of the gaming machine as viewed from the back.
FIG. 4 is a rear view of the mechanism plate to which various members are attached, as viewed from the rear side of the gaming machine.
FIG. 5 is an exploded perspective view showing a configuration example of a ball payout device.
FIG. 6 is a front view showing a portion of a switch board installed on the game board.
FIG. 7 is a configuration diagram illustrating an example of a configuration of a clear switch.
FIG. 8 is a block diagram showing a circuit configuration example of a game control board (main board).
FIG. 9 is a block diagram illustrating a circuit configuration example of a symbol control board.
FIG. 10 is a block diagram illustrating a circuit configuration example of a payout control board.
FIG. 11 is a block diagram illustrating a circuit configuration example of a power supply board.
FIG. 12 is a block diagram illustrating a configuration example around a CPU for power supply monitoring and power supply backup.
FIG. 13 is an explanatory diagram showing an example of bit assignment of an output port.
FIG. 14 is an explanatory diagram showing an example of bit assignment of an output port.
FIG. 15 is an explanatory diagram showing an example of bit assignment of an input port.
FIG. 16 is a flowchart illustrating a main process executed by a CPU on a main board.
FIG. 17 is an explanatory diagram showing an example of a relationship between a backup flag and whether or not to execute a game state restoration process.
FIG. 18 is a flowchart showing a game state restoration process.
FIG. 19 is a flowchart showing a 2 ms timer interrupt process.
FIG. 20 is a flowchart showing a non-maskable interrupt process (process at the time of stopping power supply).
FIG. 21 is a flowchart showing a non-maskable interrupt process (process at the time of stopping power supply).
FIG. 22 is an explanatory diagram showing an address map of a RAM.
FIG. 23 is an explanatory diagram illustrating an example of a checksum creation method.
FIG. 24 is a timing chart showing a state of a power supply drop and an NMI signal when power supply to the gaming machine is stopped.
FIG. 25 is an explanatory diagram showing an example of forming a switch timer in a RAM.
FIG. 26 is a flowchart illustrating an example of a switch process.
FIG. 27 is a flowchart illustrating an example of a switch check process.
FIG. 28 is a flowchart illustrating an example of a prize ball process.
FIG. 29 is a flowchart illustrating an example of a prize ball process.
FIG. 30 is a flowchart illustrating an example of a prize ball process.
FIG. 31 is a flowchart showing a switch-on check process.
FIG. 32 is an explanatory diagram illustrating a configuration example of an input determination value table.
FIG. 33 is an explanatory diagram showing a configuration example of a command transmission table and the like.
FIG. 34 is an explanatory diagram showing an example of a command form of a control command.
FIG. 35 is a timing chart showing a relationship between an 8-bit control signal and an INT signal which constitute a control command.
FIG. 36 is an explanatory diagram showing an example of the content of a payout control command.
FIG. 37 is a flowchart illustrating an example of a command set process.
FIG. 38 is a flowchart showing a command transmission processing routine.
FIG. 39 is a flowchart illustrating an example of a winning ball number subtraction process.
FIG. 40 is a block diagram showing a configuration example around a payout control CPU for power supply monitoring and power supply backup.
FIG. 41 is an explanatory diagram showing an example of bit assignment of an output port.
FIG. 42 is an explanatory diagram illustrating an example of bit assignment of an input port.
FIG. 43 is a flowchart showing a main process executed by a CPU in a payout control board.
FIG. 44 is a flowchart showing a 2 ms timer interrupt process of the payout control means.
FIG. 45 is a flowchart showing a payout state restoration process.
FIG. 46 is a flowchart showing a non-maskable interrupt process (process at the time of stopping power supply).
FIG. 47 is a flowchart showing a non-maskable interrupt process (process at the time of stopping power supply).
FIG. 48 is an explanatory diagram showing one configuration example of a RAM in the payout control means.
FIG. 49 is an explanatory diagram illustrating a configuration example of a reception buffer;
FIG. 50 is a flowchart illustrating an example of a command receiving process of the payout control CPU.
FIG. 51 is a flowchart illustrating an example of a switch process.
FIG. 52 is a flowchart illustrating an example of a payout stop state setting process.
FIG. 53 is a flowchart illustrating an example of a command analysis execution process.
FIG. 54 is a flowchart showing an example of a prepaid card unit control process.
FIG. 55 is a flowchart illustrating an example of a ball lending control process.
FIG. 56 is a flowchart showing an example of a ball lending control process.
FIG. 57 is a flowchart illustrating an example of a prize ball control process.
FIG. 58 is a flowchart illustrating an example of a prize ball control process.
[Explanation of symbols]
1 Pachinko machine
31 Main board
37 Dispensing control board
53 Basic Circuit
55 RAM (variation data storage means)
56 CPU
65 System reset circuit (second power supply monitoring means)
371 Dispensing control CPU
902 Power supply monitoring IC (power supply monitoring means)
910 power supply board
916 capacitor (memory holding means)
975 System reset circuit (second power supply monitoring means)
Claims (9)
遊技機に設けられる電気部品を制御するための処理を行う電気部品制御マイクロコンピュータと、
遊技の進行に応じて変動する変動データを記憶する変動データ記憶手段と、
遊技機への電力供給が停止しても所定期間は前記変動データ記憶手段の少なくとも一部の記憶内容を保持させることが可能な記憶保持手段と、
遊技機に設けられ遊技媒体を検出する遊技媒体検出手段に供給される電圧よりも高い直流電圧の電源の状態を監視して、前記電源の出力電圧が低下し検出条件が成立したときに検出信号を出力する第1の電源監視手段と、
前記第1の電源監視手段と同一の直流電圧を監視し、前記第1の電源監視手段が検出信号を出力するときの電圧よりも低い所定値以下になったときにシステムリセット信号を出力する第2の電源監視手段とを備え、
前記電気部品制御マイクロコンピュータは、
定期的に発生するタイマ割込が生じたことにもとづいて遊技機に設けられている電気部品を制御するための電気部品制御処理を実行するとともに、前記電気部品制御処理に要する時間の余り時間で、遊技の制御に用いられるカウンタを更新する処理を実行し、前記余り時間でカウンタを更新する処理中では割込処理の実行を禁止する割込禁止状態に設定し、
前記第1の電源監視手段からの検出信号に応じて、割込処理の実行を禁止する割込禁止状態または実行を許可する割込許可状態のうちいずれか一方の状態を示す割込状態情報を含む状態記憶を前記記憶保持手段によって保持される前記変動データ記憶手段の記憶内容として保存させるための処理である電力供給停止時処理を実行するとともに、該電力供給停止時処理を実行したことを示す情報を前記記憶保持手段によって保持される前記変動データ記憶手段の記憶内容として保存し、
前記第2の電源監視手段からのシステムリセット信号に応じてシステムリセットされ、
電力供給が復旧したときに、電力供給停止時処理を実行したことを示す情報が保存されていたことを条件に、前記状態記憶にもとづいて制御状態を復旧させる処理として、前記割込状態情報にもとづく割込禁止状態または割込許可状態の復旧処理を含む状態復旧処理を行い、電力供給停止時処理を実行したことを示す情報が保存されていなければ制御状態を初期化する初期化処理を行う
ことを特徴とする遊技機。A gaming machine capable of performing a predetermined game using a game medium,
An electric component control microcomputer that performs processing for controlling electric components provided in the gaming machine,
Fluctuation data storage means for storing fluctuation data that fluctuates according to the progress of the game,
A storage holding unit capable of holding at least a part of the storage contents of the fluctuation data storage unit for a predetermined period even if the power supply to the gaming machine is stopped;
Monitors the power state of the DC voltage higher than the voltage supplied to the game medium detection means for detecting a game medium provided in the gaming machine, the detection signal when the output voltage decreases detection condition of the power supply has been established First power supply monitoring means for outputting
The first DC voltage monitoring unit monitors the same DC voltage as the first power supply monitoring unit, and outputs a system reset signal when the voltage becomes equal to or lower than a predetermined value lower than the voltage at which the first power supply monitoring unit outputs the detection signal . Two power supply monitoring means,
The electrical component control microcomputer ,
The electric component control process for controlling the electric components provided in the gaming machine is performed based on the occurrence of a timer interrupt that occurs periodically, and the extra time required for the electric component control process is used. Performing a process of updating a counter used for controlling the game, and setting an interrupt prohibition state in which execution of an interrupt process is prohibited during the process of updating the counter with the remaining time;
In response to a detection signal from the first power supply monitoring means, interrupt state information indicating one of an interrupt inhibited state in which execution of interrupt processing is inhibited and an interrupt permitted state in which execution is permitted is displayed. Indicates that the power supply stop process, which is a process for storing the state storage including the storage as the storage content of the fluctuation data storage unit held by the storage holding unit, is performed, and that the power supply stop process is performed. Storing information as storage contents of the variation data storage means held by the storage holding means,
A system reset is performed in response to a system reset signal from the second power supply monitoring unit;
When the power supply is restored, on the condition that the information indicating that the process at the time of the power supply stop has been executed has been saved, as processing for restoring the control state based on the state storage, the interrupt state information Performs a state restoration process including a restoration process of the original interrupt prohibition state or the interruption permission state, and performs an initialization process for initializing the control state unless information indicating that the process at the time of power supply interruption has been executed is not stored. A gaming machine characterized by that:
請求項1記載の遊技機。The gaming machine according to claim 1, wherein the state restoration processing includes processing for clearing information indicating that the power supply stop processing has been performed.
状態復旧処理は、レジスタの内容を復旧する処理を含む
請求項1または請求項2記載の遊技機。The state memory contains the contents of the register,
3. The gaming machine according to claim 1, wherein the state restoring process includes a process of restoring the contents of the register.
前記電気部品制御マイクロコンピュータは、前記割込端子への入力にもとづいて、電力供給停止時処理を実行する
請求項1から請求項3のうちのいずれかに記載の遊技機。A detection signal from the first power supply monitoring means is input to an interrupt terminal of the electrical component control microcomputer,
4. The gaming machine according to claim 1, wherein the electric component control microcomputer executes a power supply stop processing based on an input to the interrupt terminal. 5.
請求項4記載の遊技機。The interrupt terminal is a non-maskable interrupt interrupt terminal
The gaming machine according to claim 4 .
第1の電源監視手段は、前記電源基板に搭載されている
請求項1から請求項5のうちのいずれかに記載の遊技機。It is formed separately from the electric component control board on which the electric component control microcomputer is mounted, and includes a power supply board for creating a power supply used in the gaming machine,
The gaming machine according to any one of claims 1 to 5 , wherein the first power supply monitoring means is mounted on the power supply board.
請求項6記載の遊技機。The memory holding means is mounted on the power supply board
The gaming machine according to claim 6 .
請求項1から請求項7のうちのいずれかに記載の遊技機。8. The gaming machine according to claim 1, wherein the second power supply monitoring unit outputs the detection signal after the execution of the power supply stop processing by the electric component control microcomputer is completed. 9.
少なくとも払出個数に関わる情報は、記憶保持手段によって記憶内容が保持される変動データ記憶手段に記憶される
請求項1から請求項8のうちのいずれかに記載の遊技機。The electrical component control microcomputer is a payout control microcomputer that performs payout control of the game medium,
The gaming machine according to any one of claims 1 to 8 , wherein at least information relating to the number of payouts is stored in a variable data storage unit whose storage content is held by a storage holding unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000378596A JP3583363B2 (en) | 2000-12-13 | 2000-12-13 | Gaming machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000378596A JP3583363B2 (en) | 2000-12-13 | 2000-12-13 | Gaming machine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002177478A JP2002177478A (en) | 2002-06-25 |
JP3583363B2 true JP3583363B2 (en) | 2004-11-04 |
Family
ID=18847137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000378596A Expired - Fee Related JP3583363B2 (en) | 2000-12-13 | 2000-12-13 | Gaming machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3583363B2 (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0467733U (en) * | 1990-10-18 | 1992-06-16 | ||
JPH06233867A (en) * | 1993-02-08 | 1994-08-23 | Sophia Co Ltd | Game machine |
JP3044174B2 (en) * | 1994-12-22 | 2000-05-22 | 株式会社テクニカルアドバンス | Pachinko machine |
JPH08229224A (en) * | 1995-02-28 | 1996-09-10 | Sankyo Kk | Game machine |
JPH08272489A (en) * | 1995-03-29 | 1996-10-18 | Hitachi Ltd | Battery backup method |
JP2694521B2 (en) * | 1995-11-10 | 1997-12-24 | 株式会社ソフィア | Gaming machine |
JPH09253312A (en) * | 1996-03-22 | 1997-09-30 | L Ii Tec:Kk | Microcomputer for game machine control |
JP3868617B2 (en) * | 1998-02-18 | 2007-01-17 | 株式会社ソフィア | Game control device |
JP3236560B2 (en) * | 1998-06-15 | 2001-12-10 | 株式会社平和 | Pachinko machine |
JP2000189559A (en) * | 1998-12-25 | 2000-07-11 | Toyomaru Industry Co Ltd | Game machine |
-
2000
- 2000-12-13 JP JP2000378596A patent/JP3583363B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002177478A (en) | 2002-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3647752B2 (en) | Game machine | |
JP2002355432A (en) | Game machine | |
JP3647778B2 (en) | Game machine | |
JP3828367B2 (en) | Game machine | |
JP4166803B2 (en) | Game machine | |
JP4302330B2 (en) | Game machine | |
JP3640613B2 (en) | Game machine | |
JP2002191825A (en) | Game machine | |
JP3583363B2 (en) | Gaming machine | |
JP4130304B2 (en) | Game machine | |
JP3670216B2 (en) | Game machine | |
JP2002224395A (en) | Game machine | |
JP4166798B2 (en) | Game machine | |
JP4166799B2 (en) | Game machine | |
JP3647751B2 (en) | Game machine | |
JP4166800B2 (en) | Game machine | |
JP4130308B2 (en) | Game machine | |
JP4166802B2 (en) | Game machine | |
JP4166797B2 (en) | Game machine | |
JP4166773B2 (en) | Game machine | |
JP4166801B2 (en) | Game machine | |
JP3677209B2 (en) | Game machine | |
JP3647750B2 (en) | Game machine | |
JP4233770B2 (en) | Game machine | |
JP2002204873A (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040621 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040728 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070806 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |