JP3640634B2 - Game machine - Google Patents

Game machine Download PDF

Info

Publication number
JP3640634B2
JP3640634B2 JP2001375076A JP2001375076A JP3640634B2 JP 3640634 B2 JP3640634 B2 JP 3640634B2 JP 2001375076 A JP2001375076 A JP 2001375076A JP 2001375076 A JP2001375076 A JP 2001375076A JP 3640634 B2 JP3640634 B2 JP 3640634B2
Authority
JP
Japan
Prior art keywords
payout
game
ball
power supply
command
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
Application number
JP2001375076A
Other languages
Japanese (ja)
Other versions
JP2003175166A5 (en
JP2003175166A (en
Inventor
詔八 鵜川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sankyo Co Ltd
Original Assignee
Sankyo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sankyo Co Ltd filed Critical Sankyo Co Ltd
Priority to JP2001375076A priority Critical patent/JP3640634B2/en
Publication of JP2003175166A publication Critical patent/JP2003175166A/en
Application granted granted Critical
Publication of JP3640634B2 publication Critical patent/JP3640634B2/en
Publication of JP2003175166A5 publication Critical patent/JP2003175166A5/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Display Devices Of Pinball Game Machines (AREA)
  • Pinball Game Machines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、遊技者が遊技媒体を用いて所定の遊技を行うことが可能なパチンコ遊技機やスロット機等の遊技機に関する。
【0002】
【従来の技術】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】
なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が遊技球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、賞球払出の条件が成立しやすくなる状態になることである。
【0004】
パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して遊技球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】
また、可変表示装置において最終停止図柄(例えば左右中図柄のうち中図柄)となる図柄以外の図柄が、所定時間継続して、特定表示態様と一致している状態で停止、揺動、拡大縮小もしくは変形している状態、または、複数の図柄が同一図柄で同期して変動したり、表示図柄の位置が入れ替わっていたりして、最終結果が表示される前で大当り発生の可能性が継続している状態(以下、これらの状態をリーチ状態という。)において行われる演出をリーチ演出という。また、リーチ演出を含む可変表示をリーチ可変表示という。リーチ状態において、変動パターンを通常状態における変動パターンとは異なるパターンにすることによって、遊技の興趣が高められている。そして、可変表示装置に可変表示される図柄の表示結果がリーチ状態となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】
賞球払出の制御を行う払出制御手段が、遊技制御手段が搭載されている主基板とは別の払出制御基板に搭載されている場合、遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、賞球個数を示すコマンドが払出制御基板に送信される。一方、遊技媒体の貸し出しは、遊技の進行とは無関係であるから、一般に、遊技制御手段を介さず払出制御手段によって制御される。
【0007】
また、遊技機には、遊技制御手段や払出制御手段の他に種々の制御手段が搭載されている。そして、遊技の進行を制御する遊技制御手段は、遊技状況に応じて動作指示を示す各コマンドを、各制御基板に搭載された各制御手段に送信する。以下、遊技制御手段その他の制御手段を電気部品制御手段といい、電気部品制御手段が搭載された基板を電気部品制御基板ということがある。
【0008】
【発明が解決しようとする課題】
以上のように、遊技機には、遊技制御手段を初めとする種々の電気部品制御手段が搭載されている。一般に、各電気部品制御手段はマイクロコンピュータを含んだ構成とされる。そのような電気部品制御手段は、一般に、電源電圧が立ち上がると初期化処理を行い初期状態から制御を開始する。すると、停電等の不測の電源断が生じ、その後、電源復旧すると初期状態に戻ってしまうので、遊技者が得た遊技価値等が消滅してしまう等の問題が生ずることがある。そのような問題が生じないようにするには、電源電圧値の低下に伴なって発生される所定の信号に応じて遊技制御を中断し、そのときの制御状態を、遊技機に対する電力供給停止中でも電源バックアップされている記憶手段(バックアップ記憶手段)に保存し、電力供給が完全に停止するのを待つように制御すればよい。そのような遊技機は、記憶手段に遊技状態が保存されている状態で電力供給が再開されたら、保存されている制御状態にもとづいて遊技を再開するので、遊技者に不利益が与えられることが防止される。
【0009】
しかし、バックアップ記憶手段に制御状態を保存する処理を行う直前に電気部品が動作中であった場合には、保存した制御状態に対して、実際の制御状態が変化してしまう可能性もある。例えば、遊技球の払い出しを行う球払出装置から払い出された遊技球を、球払出装置の下部に設けられているスイッチ手段によって検知して遊技球の払出確認を行うような場合には、そのような問題が生ずる可能性がある。つまり、球払出装置の動作を停止する直前に球払出装置が1個の遊技球の払出を実行し、直後に停電等が生じ、スイッチ手段が払出を検知する前に制御状態を保存したような場合には、保存された払出確認個数(または未払出個数)と、実際に払い出された個数との間に不一致が生じてしまう。そのような場合、電力供給再開時に、保存されている制御状態にもとづいて球払出処理を再開すると、余分に遊技球を払い出してしまうことになる。
【0010】
また、球払出装置を制御する払出制御手段においてバックアップ記憶手段に未払出個数が保存されている場合に、電力供給再開時に、払出制御手段は、保存されている未払出個数にもとづいて球払出装置から遊技球を払い出させる制御を再開する。ところが、電力供給再開時に、払出制御手段が先に立ち上がるように構成されている場合には、遊技制御手段が制御可能状態に立ち上がる前に、球払出装置からの球払出が開始されてしまうおそれがある。遊技制御手段が制御可能状態に立ち上がる前に球払出装置からの球払出が開始されると、遊技制御手段が把握する球払出個数と払出制御手段が把握する球払出個数とが食い違ってしまう。逆に、遊技制御手段が先に立ち上がるように構成されている場合には、払出制御手段は、遊技制御手段が送出したコマンドを払出制御手段が受信できない可能性がある。その結果、遊技球の払出制御に関して遊技制御手段と払出制御手段との間で制御の食い違いが生ずるおそれがある。
【0011】
そこで、本発明は、電力供給が停止した場合であっても払い出された遊技媒体の検出を確実に実行して遊技媒体の未払出数を正確に把握することができ、かつ、遊技制御手段と払出制御手段とでそれぞれ把握している遊技媒体の払出に関する制御内容に食い違いが生じてしまうことを防止することができる遊技機を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明による遊技機は、遊技媒体を用いて所定の遊技を行うことが可能であり、所定の払出条件(例えば、遊技領域に設けられた入賞領域への入賞があったこと、遊技者によって遊技媒体の貸出要求がなされたこと)が成立したことにもとづいて遊技媒体を払い出す遊技機であって、遊技媒体の払い出しを行う払出手段と、払出手段によって払い出された遊技媒体を検出する払出遊技媒体検出手段(例えば賞球カウントスイッチ301A、球貸しカウントスイッチ301B:図61に示す払出遊技媒体検出手段301C)と、遊技の進行を制御する遊技制御手段(例えば、CPU56を含む遊技制御手段:図61に示す遊技制御手段56A)と、遊技制御手段からのコマンドにもとづいて払出手段(例えば球払出装置97)の制御を行う払出制御手段(例えば、払出制御用CPU371を含む払出制御手段:図61に示す払出制御手段371A)と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段(例えば主基板31が備える電源バックアップされたRAM55や払出制御基板37が備える電源バックアップされたRAM:図61に示す変動データ記憶手段55A,55B)と、遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件(例えば監視電圧であるVSL(+30V)の電圧値が+22Vまで低下したときに成立する条件)が成立したときに検出信号(例えば電源断信号)を出力する電源監視手段(例えば電源監視用IC902)と、電源監視手段による検出信号が出力された後少なくとも所定の検出維持期間(例えば、ステップS466やステップS816で設定されるカウント値に応じた期間)が経過するまでの期間において払出遊技媒体検出手段による検出を可能な状態とするために当該払出遊技媒体検出手段に電力を供給可能な補助電力供給手段(例えばコンデンサ923を備えるコンバータIC920:図61に示す補助電力供給手段916A)とを備え、遊技制御手段および払出制御手段が、それぞれ、払い出すべき遊技媒体数のうち未払出の遊技媒体数を示す未払出数データ(例えば総賞球数格納バッファ、総合個数記憶、貸し球個数記憶)が記憶され、変動データ記憶手段に含まれる未払出遊技媒体数記憶手段を備え、払出遊技媒体検出手段によって払出手段により払い出された遊技媒体が検出されたことにもとづいて未払出遊技媒体数記憶手段に記憶された未払出数データが示す遊技媒体数を減算する処理を実行し、電源監視手段からの検出信号に応じて制御状態を復旧させるために必要なデータとしてレジスタの内容を含むデータ(例えばCPU56や払出制御用CPU371に用いられるレジスタのデータ等)を変動データ記憶手段に保存するための電力供給停止時処理(例えば図35〜図37に示す処理や図58〜図60に示す処理)を実行し、電力供給が復帰し所定の復旧条件(例えばステップS7〜ステップS9の条件やステップS707〜ステップS709の条件)が成立したことを条件に変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を電力供給が停止する前の状態に復旧させる復旧処理(例えば図18に示す遊技状態復旧処理や図45に示す払出状態復旧処理)を実行し、所定の復旧条件が成立しなかったときには制御状態を初期化する初期化処理(例えばステップS11〜S15やステップS711〜S714)を実行、電力供給停止時処理にて、補助電力供給手段から電力が供給される払出遊技媒体検出手段からの検出信号の入力処理(例えば、図36におけるステップS466〜ステップS482の処理、図59におけるステップS816〜ステップS830の処理)を行い、遊技制御手段が、復旧処理にて、制御状態の復旧を示す復旧コマンドを払出制御手段に送信した後(例えばステップS85)、定期的に起動されるタイマ割込処理の設定を行うタイマ割込設定処理(例えばステップS86)を実行するとともに、レジスタの内容を復旧させるレジスタ復帰処理(例えばステップS88)を行って制御を再開し、払出制御手段が、復旧処理にて、復旧コマンドを受信したことを条件に(例えばステップS723)タイマ割込設定処理(例えばステップS735)とレジスタ復帰処理を行った後(例えばステップS736)、払出手段の制御を再開する(例えばステップS741の処理後に払出制御に戻る)ことを特徴とする。
【0014】
遊技制御手段が、所定の景品遊技媒体払出条件が成立したときに景品遊技媒体払出個数を示す払出個数指定コマンドを送信可能であり、復旧コマンドとして払出個数指定コマンドを送信するように構成されていてもよい。
【0016】
遊技制御手段および払出制御手段が、電力供給が復帰したときには、電力供給が停止する前の制御状態に復旧させるか否かを決定するための複数の復旧条件(例えばステップS7〜ステップS9の条件やステップS707〜ステップS709の条件)がすべて成立したときに復旧処理を実行し、複数の復旧条件のうち少なくとも1つの条件が不成立であったときに初期化処理を実行するように構成されていてもよい。
【0017】
遊技制御手段が、電力供給が開始され初期化処理または復旧処理を実行した後、所定の払出禁止条件(例えば、下皿満タン状態であるときや、球切れ状態であるときなどの、遊技媒体の払い出しを行うことができないあるいは適当でない場合に成立する条件)の成立にもとづいて遊技媒体の払い出しを禁止することを指示する払出禁止状態指定コマンドを送信し(例えばステップステップS161〜S164)、払出禁止条件が解除されたことにもとづいて遊技媒体の払い出しを許可する払出許可状態指定コマンドを送信する(例えばステップステップS165〜S168)ように構成されていてもよい。
【0018】
遊技制御手段が、複数の払出禁止条件のうちいずれか一つの条件が成立したときに払出禁止状態指定コマンドを送信し、払出禁止条件が解除され、いずれの払出禁止条件も成立していない状態になったときに、複数の払出禁止条件のうちいずれの条件が成立していたかに関わらず、遊技媒体の払い出しを許可することを示す共通の払出許可状態指定コマンドを送信する(例えばステップステップS165〜S168)ように構成されていてもよい。
【0019】
払い出された遊技媒体が貯留される貯留部(例えば余剰球受皿4)に所定量以上の遊技媒体が貯留されているか否かを検出するための貯留状態検出手段(例えば満タンスイッチ48)を備え、払出禁止条件が、貯留状態検出手段により貯留部に所定量以上の遊技媒体が貯留されていると検出されたときに成立する条件を含むように構成されていてもよい。
【0020】
払出手段に供給される遊技媒体が所定量以上確保されているか否かを検出するための遊技媒体切れ検出手段(例えば球切れスイッチ187)を含み、払出禁止条件が、遊技媒体切れ検出手段により遊技媒体が所定量以上確保されていないことが検出されたときに成立する条件を含むように構成されていてもよい。
【0021】
遊技制御手段が、復旧コマンドとして払出禁止状態指定コマンドまたは払出許可状態指定コマンドを使用するように構成されていてもよい。
【0022】
遊技制御手段は、電力供給停止時処理にて、制御状態を復旧させるために必要なデータとして制御プログラムのアドレスに関連するプログラムアドレスデータを変動データ記憶手段に保存する処理(例えばマスク不能割込処理発生時に行われる戻りアドレスの退避)を行い、復旧処理にて、変動データ記憶手段に保存されていたプログラムアドレスデータにもとづいて(例えばスタック領域に保存されているアドレスデータへのRET処理によって)制御を再開するように構成されていてもよい。
【0023】
技制御手段および払出制御手段が、電力供給停止時処理にて払出遊技媒体検出手段からの検出信号の入力処理の結果を示すデータ(例えば賞球カウント値や貸球カウント値)変動データ記憶手段に保存(例えばステップS480、ステップS826、ステップS828)し、復旧処理にて入力処理の結果を示すデータにもとづい未払出数データを更新する処理(例えばステップS84、ステップS733,S734)を実行するように構成されていてもよい。
【0024】
遊技制御手段および払出制御手段からの信号を出力するための出力ポート(例えば、図13、図14、図41に示す出力ポート)を含み、遊技制御手段および払出制御手段が、電力供給停止時処理にて、出力ポートの出力状態を初期化する出力ポートクリア処理(例えばステップS459〜ステップS465の処理、ステップS809〜ステップS815の処理)を実行した後、払出遊技媒体検出手段からの検出信号の入力処理を行うように構成されていてもよい。
【0025】
遊技制御手段および払出制御手段が、電力供給停止時処理にて、払出遊技媒体検出手段からの検出信号の入力処理を実行した後、変動データ記憶手段へのアクセスを禁止する処理(例えばステップS499、ステップS847)を実行するように構成されていてもよい。
【0026】
検出維持期間は、払出手段により払い出された遊技媒体が払出遊技媒体検出手段の検出位置に到達するまでの期間(例えば、スプロケット292から解放された遊技球が賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bの検出部に到達するまでの落下期間を示す√(2L/g)で導出される期間、具体的には、遊技機の構造などによって異なるが、例えば100[ms]〜150[ms]程度の期間)以上の期間に設定されることが好ましい。
【0028】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、例えば画像式の遊技機やスロット機に適用することもできる。
【0029】
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
【0030】
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
【0031】
遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別図柄表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9の下方には、始動入賞口14が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0032】
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。また、可変表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つのLEDによる特別図柄始動記憶表示器(以下、始動記憶表示器という。)18が設けられている。有効始動入賞がある毎に、始動記憶表示器18は点灯するLEDを1増やす。そして、可変表示装置9の可変表示が開始される毎に、点灯するLEDを1減らす。
【0033】
ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に右側のランプが点灯すれば当たりとなる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32に入った入賞球数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。
【0034】
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。各入賞口29,30,33,39は、遊技媒体を受け入れて入賞を許容する領域として遊技盤6に設けられる入賞領域を構成している。なお、遊技媒体を受け入れて入賞を許容する始動入賞口14や、大入賞口も、入賞領域を構成する。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
【0035】
そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。上記のように、この実施の形態のパチンコ遊技機1には、発光体としてのランプやLEDが各所に設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
【0036】
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
【0037】
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
【0038】
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、開閉板20の開放中に遊技球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
【0039】
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
【0040】
遊技球がゲート32に入賞すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。すなわち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
【0041】
次に、パチンコ遊技機1の裏面の構造について図3および図4を参照して説明する。図3は、遊技機を裏面から見た背面図である。図4は、各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【0042】
図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が設けられている。
【0043】
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)34が設置されている。
【0044】
貯留タンク38に貯留された遊技球は誘導レール39を通り、図4に示されるように、カーブ樋186を経て賞球ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【0045】
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると、遊技球は、余剰球通路46を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が貯留状態検出手段としての満タンスイッチ48を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
【0046】
図4に示すように、球払出装置の側方には、カーブ樋186から遊技機下部の排出口192に至る球抜き通路191が形成されている。球抜き通路191の上部には球抜きレバー193が設けられ、球抜きレバー193が遊技店員等によって操作されると、誘導レール39から球抜き通路191への遊技球通路が形成され、貯留タンク38内に貯留されている遊技球は、排出口192から遊技機外に排出される。
【0047】
図5は、球払出装置97の構成例を示す分解斜視図である。この例では、賞球ケース40Aとしての3つのケース140,141,142の内部に球払出装置97が形成されている。ケース140,141の上部には、球切れスイッチ187の下部の球通路と連通する穴170,171が設けられ、遊技球は、穴170,171から球払出装置97に流入する。
【0048】
球払出装置97は駆動源となる払出モータ(例えばステッピングモータ)289を含む。払出モータ289の回転力は、払出モータ289の回転軸に嵌合しているギア290に伝えられ、さらに、ギア290と噛み合うギア291に伝えられる。ギア291の中心軸には、凹部を有するスプロケット292が嵌合している。穴170,171から流入した遊技球は、スプロケット292の凹部によって、スプロケット292の下方の球通路293a,293bに1個ずつ落下させられる。
【0049】
球通路(遊技媒体払出通路の一例)293a,293bには遊技球の流下路を切り替えるための振分部材311が設けられている。振分部材311は振分ソレノイド310によって駆動され、賞球払出時には、球通路293a,293bにおける一方の流下路(球通路293a:景品遊技媒体通路の一例)を遊技球が流下するように倒れ、球貸し時には球通路293a,293bにおける他方の流下路(球通路293b:貸出遊技媒体通路の一例)を遊技球が流下するように倒れる。なお、払出モータ289および振分ソレノイド310は、払出制御基板37に搭載されている払出制御用CPUによって制御される。また、払出制御用CPUは、主基板31に搭載されている遊技制御用のCPUからの指令に応じて払出モータ289および振分ソレノイド310を制御する。
【0050】
賞球払出時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する賞球センサ(賞球カウントスイッチ)301Aが設けられ、球貸し時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する球貸しセンサ(球貸しカウントスイッチ)301Bが設けられている。賞球カウントスイッチ301Aの検出信号と球貸しカウントスイッチ301Bの検出信号は払出制御基板37の払出制御用CPUに入力される。払出制御用CPUは、それらの検出信号にもとづいて、実際に払い出された遊技球の個数を計数する。なお、賞球カウントスイッチ301Aの検出信号は、主基板31のCPUにも入力される。球貸しカウントスイッチ301Bに対する電源基板910からの電力供給は、払出制御基板37を介してなされる。なお、賞球カウントスイッチ301Aに対する電源基板910からの電力供給は、主基板31を介してなされるが、払出制御基板37を介してなされるようにしてもよい。また、賞球センサと球貸しセンサは、それぞれ複数設けられていてもよい。また、賞球センサは、主基板31用のものと払出制御基板37用のものが別個に設けられていてもよい。
【0051】
なお、ギア291の周辺部には、払出モータ位置センサを形成する突起部が形成されている。突起部は、ギア291の回転すなわち払出モータ289の回転に伴って発光体(図示せず)からの光を、払出モータ位置センサの受光部(図示せず)に対して透過させたり遮蔽したりする。払出制御用CPUは、受光部からの検出信号によって払出モータ289の位置を認識することができる。
【0052】
また、球払出装置は、賞球払出と球貸しとを共に行うように構成されていてもよいが、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。さらに、例えばスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
【0053】
図6は、遊技盤6に設置されている電源基板910の露出部分を示す正面図である。図6に示すように、電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1の各電気部品制御基板や各電気部品への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチ914と、各基板(主基板31や払出制御基板37等)に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチ921とが設けられている。このように、電源スイッチ914とクリアスイッチ921とが近くに配置されているので、電源スイッチ914によって遊技機に電力を供給開始するのに関連したクリアスイッチ921の操作が容易になる。
【0054】
図7は、主基板31における回路構成の一例を示すブロック図である。なお、図7には、払出制御基板37、ランプ制御基板35、音制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301Aおよびクリアスイッチ921からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
【0055】
なお、図7には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。特に、入賞検出を行う始動口スイッチ14a、カウントスイッチ23、および入賞口スイッチ29a,30a,33a,39aの各スイッチは、入賞検出手段でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ32aのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞となり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段となる。
【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】
この実施の形態では、電源基板910から主基板31に対して、ローアクティブの電源断信号が入力される。電源断信号は、CPU56のマスク不能割込(NMI)端子に入力される。
【0060】
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で遊技球が発射されるように制御される。
【0061】
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
【0062】
図8は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図8に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート部57に入力される。また、球切れスイッチ187からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力される。
【0063】
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出を停止すべき状態であることを指示する払出制御コマンドを送出する。払出を停止すべき状態であることを指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
【0064】
さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【0065】
入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート(出力ポート0)570は1ビットのINT信号を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
【0066】
また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
【0067】
払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
【0068】
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して、球貸しカウントスイッチ301B、および払出モータ289の回転位置を検出するための払出モータ位置センサからの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号は、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。また、クリアスイッチ921の出力も、入力ポート372bに入力される。
【0069】
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ151、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
【0070】
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。このように、残高表示基板74とカードユニット50は、直接接続されることなく、払出制御基板37を介して接続されている。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。なお、カードユニット50と払出制御基板37の間には、図示しないインタフェース基板が介在している。カードユニット50と払出制御基板37の間で、接続信号(VL信号)等の信号はインタフェース基板を介してやりとりされる。そして、残高表示基板74とインタフェース基板との間で、信号が直接やりとりされることはない。
【0071】
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
【0072】
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
【0073】
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
【0074】
この実施の形態では、電源基板910から払出制御基板37に対して電源断信号が入力される。電源断信号は、払出制御用CPU371のマスク不能割込(NMI)端子に入力される。さらに、払出制御基板37に存在するRAM(CPU内蔵RAMであってもよい。)の少なくとも一部は、電源基板910において作成されるバックアップ電源によって、バックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAMの少なくとも一部の内容は保存される。
【0075】
なお、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
【0076】
図9は、電源基板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は、ソレノイド駆動電源となる。
【0077】
電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC920(図9では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC920の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。また、コネクタ915の入力側にも、比較的大容量のコンデンサ924が接続されている。従って、コネクタ915に出力される+30Vの直流電圧は、他の直流電圧よりもさらに緩やかに低下する。この結果、コンデンサ923,924は、後述する補助駆動電源の役割を果たす。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0078】
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図9には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0079】
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0080】
なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。また、上記のコンデンサ923,924の代わりに、+30V電源から充電可能な電池を用いてもよい。コンデンサ923の代わりに電池を用いる場合には、後述する払出確認期間以上の期間、賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bに電力を供給可能な充電池が用いられる。また、コンデンサ924の代わりに電池を用いる場合には、後述する払出確認期間以上の期間、振分ソレノイド310に電力を供給可能な充電池が用いられる。なお、上記の電池は、充電機能を有するものでなくてもよく、例えばニッカド電池、アルカリ電池、マンガン電池などの電池を用いることもできる。
【0081】
また、電源基板910には、電源監視回路としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する(具体的にはローレベルにする。)。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0082】
電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0083】
さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0084】
また、監視電圧としてのVSL(+30V)の電源監視用IC902への入力ラインと異なり、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)のコネクタ915への入力ラインには大容量のコンデンサ924が接続されている。従って、監視電圧としてのVSL(+30V)は、大容量のコンデンサ924が接続されているコネクタ915に出力されるVSL(+30V)より早く低下する。すなわち、監視電圧としてのVSL(+30V)が落ち始めた後も、所定期間は、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)の供給状態が維持される。その後、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)は、緩やかに低下してく。よって、監視電圧としてのVSL(+30V)が落ち始める場合であっても、所定期間は、ソレノイドやモータなどを駆動可能な状態とすることができる。また、コネクタ915に出力されるVSL(+30V)が落ち始める前に、電力供給の停止を認識することができる。
【0085】
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【0086】
なお、図9に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【0087】
図9に示すように、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ915を介して主基板31等に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、この実施の形態では、オン状態のクリア信号が出力される場合が、操作手段としてのクリアスイッチ921から操作信号が出力される状態である。なお、クリアスイッチ921が、押しボタン構造以外の他の構成とされていてもよい。
【0088】
この実施の形態では、クリアスイッチ921が電源基板910に搭載されているので、遊技盤6の入れ替え等の場合に入れ替え後の遊技盤6に対して電源基板910をそのまま使用しても、入れ替え後の遊技盤6において、そのままで遊技状態復旧処理等を実行することができる。すなわち、電源基板910の使い回しを行うことができる。なお、電源基板910ではなく、例えばスイッチ基板などの他の基板にクリアスイッチ921が搭載される構成にしてもよい。
【0089】
電源基板910には、各基板に復帰信号を供給する復帰信号作成回路970が搭載されている。復帰信号は、バッファ回路961を介して主基板31に出力され、バッファ回路962を介して払出制御基板37に出力される。
【0090】
図10は、復帰信号作成回路970の構成例を示すブロック図である。復帰信号作成回路970は、待機期間を計測して復帰信号を出力する復帰信号出力手段の一例であるカウンタ971を含む。カウンタ971は、電源断信号がローレベルになってクリアが解けると、発振器975からのクロック信号をカウントする。そして、カウントアップすると、Q出力として、ハイレベルの1パルスを発生する。そのパルス信号は反転回路972で論理反転され、バッファ回路973およびバッファ回路974に入力する。バッファ回路973の出力は復帰信号として払出制御基板37に供給され、バッファ回路974の出力は復帰信号として主基板31に供給される。
【0091】
なお、この実施の形態では、電源基板910に復帰信号作成回路970が設けられ、主基板31や払出制御基板37に復帰信号を出力するようにしていたが、主基板31や払出制御基板37のそれぞれに復帰信号作成回路を設けるようにしてもよい。
【0092】
図11は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図11に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。従って、CPU56は、マスク不能割込処理によって電源断の発生を確認することができる。
【0093】
また、システムリセット回路65AにおけるリセットIC651Aは、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルにし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651Aは、電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる(すなわち、システムの最初の状態に戻される)。
【0094】
図11に示すように、リセットIC651Aからのリセット信号は、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は、確実に動作を開始する。
【0095】
そして、例えば、電源基板910に搭載されている電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65Aとが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65Aがシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。なお、電源監視回路とシステムリセット回路65Aとが監視する電源の電圧は異なっていてもよい。
【0096】
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板910から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65Aからリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【0097】
なお、図11に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651Aの出力がそのままCPU56のリセット端子に接続される。
【0098】
また、図11に示すように、電源基板910からの復帰信号と、システムリセット回路65Aからのリセット信号(具体的にはAND回路949の出力)とはAND回路161に入力され、AND回路161の出力がCPU56のリセット端子(リセット信号入力部)に入力される。
【0099】
図12は、復帰信号作成回路970におけるカウンタ971の作用を説明するためのタイミング図である。図12(A)に示すように、電源電圧が低下し、VSLの電圧値が電源断信号出力レベル(この例では+22V)まで低下すると電源断信号が発生する。具体的には、電源断信号がローレベルになる。すると、後述するように、主基板31のCPU31および払出制御用CPU371は、電力供給停止時処理の実行を開始し、その処理が終了すると、何の制御もしないループ状態(待機状態)に入る。
【0100】
カウンタ971は、電源断信号がローレベルになるとカウントを開始するのであるが、カウントアップ値は、電源断信号がローレベルになってから、VSLの電圧値がVcc生成可能電圧にまで低下する時間以上に設定される。すなわち、少なくとも、電源電圧が、制御動作が不能になる電圧にまで低下する時間以上に設定される。カウンタ971はVccを電源として動作するので、カウントアップ値は、カウンタ971の動作可能期間に相当する値以上に設定される。従って、一般には、カウンタ971がカウントアップして復帰信号が出力される前に、カウンタ971およびその他の回路部品は動作しなくなる。
【0101】
電源の瞬断等が生ずると、図12(B)に示すように、VSLの電圧レベルが短期間低下した後に復旧する。VSLの電圧レベルが電源断信号出力レベル以下になると、電源断信号がローレベルになって、電力供給停止時処理が開始される。そして、CPU56および払出制御用CPU371は電力供給停止時処理終了後にループ状態に入る。何らの制御も行わないと、ループ処理から抜けられないのであるが、この場合には、カウンタ971がカウントアップして復帰信号が発生する。
【0102】
主基板31において、復帰信号は、AND回路161を介して、CPU56のリセット端子に入力される。従って、CPU56にはシステムリセットがかかる。その結果、CPU56はループ状態から抜け出すことができる。また、後述するように、払出制御基板371において、復帰信号は、AND回路385を介して、払出制御用CPU371のリセット端子に入力される(図40参照)。従って、払出制御用CPU371にはシステムリセットがかかる。その結果、払出制御用CPU371はループ状態から抜け出すことができる。
【0103】
図13および図14は、この実施の形態における出力ポートの割り当てを示す説明図である。図13に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのINT信号の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータは出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータは出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータは出力ポート3から出力される。そして、図14に示すように、音制御基板70に送出される音制御コマンドの8ビットのデータは出力ポート4から出力される。
【0104】
また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板2を開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
【0105】
図14に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音声制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。
【0106】
従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音声制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0107】
図15は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図15に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ33a,39a,29a,30a、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22の検出信号が入力される。また、入力ポート1のビット0〜4には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号およびクリアスイッチ921の検出信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路58において論理反転されている。このように、クリアスイッチ921の検出信号すなわち操作手段の操作入力は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート(8ビット構成の入力部)と同一の入力ポートにおけるビット(入力ポート回路)に入力されている。
【0108】
次に遊技機の動作について説明する。図16は、主基板31における遊技制御手段(CPU56およびROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0109】
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタック領域の先頭アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0110】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
【0111】
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0112】
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0113】
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0114】
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0115】
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0116】
次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS11〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである(図15参照)。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0117】
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
【0118】
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図17に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0119】
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
【0120】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【0121】
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS10)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0122】
このように、バックアップフラグの状態によって「バックアップあり」が確認されなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、バックアップデータが存在しないのにもかかわらず遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能になる。
【0123】
また、チェックデータを用いたチェック結果が正常でなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、電力供給停止時とは異なる内容となってしまっているバックアップデータにもとづいて遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能になる。
【0124】
CPU56は、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認する。すなわち、電力供給が復帰した場合には、電力供給が停止する前の制御状態に復旧させるか否かを決定するための複数の復旧条件(この例ではバックアップフラグが正常に保存されていたこととチェックサムが正常であったこと)がすべて成立した場合に、変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を復旧させる復旧処理を実行し、複数の復旧条件のうち少なくとも1つの条件が不成立であった場合に変動データ記憶手段の記憶内容を初期化する初期化処理を実行可能である。複数の復旧条件を用いることによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。
【0125】
なお、操作手段から操作信号が出力された場合には、複数の復旧条件に関わらず初期化処理を実行する(ステップS7)。すなわち、他の復旧条件が成立しているか否かの判断を行わない。また、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0126】
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。なお、RAMの全領域を初期化せず、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。例えば、大当り判定用乱数を生成するためのカウンタのカウント値のデータをそのままにした場合には、不正な手段によって初期化処理が実行される状態になったとしても、大当り判定用乱数を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを狙うことは困難である。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う(ステップS12)。
【0127】
さらに、CPU56は、所定の払出禁止条件が成立しているか否かを判定し(ステップS13a)、払出禁止条件が成立していなければ、球払出装置97からの払出が可能であることを指示する払出許可状態指定コマンド(以下、払出可能状態指定コマンドという。)を払出制御基板37に対して送信する処理を行う(ステップS13b)。なお、払出禁止条件が成立していれば、主基板31の制御状態を払出禁止状態に設定する。
【0128】
この実施の形態では、球切れフラグを球切れ状態を示す状態(オン状態)とするとともに、満タンフラグを下皿満タンを示す状態(オン状態)とすることで、主基板31の制御状態を払出禁止状態に設定する。払出禁止条件は、例えば球切れ状態となっている場合や下皿満タン状態となっている場合など、払い出すべき遊技球を払い出すことができないおそれがある場合や遊技球を払い出すことが適当でない場合に成立する。従って、ステップS13aでは、例えば、球切れスイッチ187による検出状態の確認や、満タンスイッチ48による検出状態の確認が行われる。なお、ステップS13aの判定処理が実行される段階では後述するタイマ割込の設定が行われていないため、ソフトウェアタイマによるウェイト処理などによって監視時間(例えば2ms)を作成し、後述するスイッチの状態を監視する処理と同様の処理を実行することで、その監視時間毎に球切れスイッチ187や満タンスイッチ48の状態を監視してスイッチがオンしたか否かを判定するようにすればよい。
【0129】
また、CPU56は、他のサブ基板(ランプ制御基板35、音制御基板70、図柄制御基板80)を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド(図柄制御基板80に対して)や賞球ランプ51および球切れランプ52の消灯を指示するコマンド(ランプ制御基板35に対して)等がある。
【0130】
初期化処理では、払出制御基板37に対して、払出禁止条件が成立していない場合に払出可能状態指定コマンドが送信され、払出禁止条件が成立している場合に払出禁止状態指定コマンドは送信されない。仮に、遊技機の状態が球払出装置97からの払出が可能でない状態(払出禁止条件が成立している状態)であった場合であっても、払出制御基板37における初期化処理において払出禁止状態に設定されているはずなので問題はない。なお、払出可能状態指定コマンドおよび他のサブ基板に対する初期化コマンドの送信処理において、例えば、各コマンドが設定されているテーブル(ROM領域)のアドレスをポインタにセットし、後述するコマンドセット処理(図32参照)のような処理ルーチンをコールすればよい。
【0131】
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。具体的には、複数(例えば4つ)あるタイマのそれぞれに対応して設けられている制御レジスタのうちの一つ(例えばCH3)の制御レジスタに、タイマ割込設定値(この例ではA7(H):割込イネーブルやリセットの設定等)を設定し、次いで、2msに応じた時間定数データ(カウント値、この例では2E(H))を制御レジスタに設定する。
【0132】
初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
【0133】
なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【0134】
図18は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS81)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている作業領域におけるスタックポインタ退避バッファ)に退避している。よって、ステップS81では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちサブルーチンを呼び出した際の戻りアドレス等を保存するスタック領域における読み出し先:具体的にはそこから複数の領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0135】
次いで、CPU56は、電力供給が停止したときの可変表示装置9における特別図柄の表示状態に応じて、その表示状態を復旧させるための表示制御コマンドを送信する(ステップS82)。
【0136】
また、バックアップRAMに保存されていた賞球カウント値を総賞球数格納バッファおよび遊技機外部への賞球情報出力のための賞球情報カウンタに反映する(ステップS84)。賞球カウント値は、後述する電力供給停止時処理において検出された払出球の数に相当する。ステップS84では、CPU56は、賞球カウント値を総賞球数格納バッファの格納値から減算するとともに、賞球カウント値を賞球情報カウンタのカウント値に加算する処理を行う。そして、賞球カウント値をクリアする。
【0137】
次に、CPU56は、無条件に、払出制御手段に対して払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)を送信する(ステップS85)。
【0138】
払出制御手段は、電力供給が復旧した場合に、遊技制御手段から必ず払出制御コマンドを受信するので、遊技制御手段が正常に立ち上がったことを直ちに認識することができる。また、実際には、補給球の不足や余剰球受皿4が満タンであったとしても、賞球処理において払出禁止状態指定コマンドが払出制御手段に対して送信されるので、補給球の不足や余剰球受皿4が満タンであるにも関わらず、払出制御が続行されてしまうようなことはない。また、払出可能状態指定コマンドの送信に代えて、電力供給停止前に最後に送信した払出制御コマンドを送信するようにしてもよい。すなわち、復旧コマンドは、常に同じコマンドである必要はない。さらに、賞球個数を指定するための払出制御コマンドを送信するようにしてもよい。その場合、払出制御手段も、制御状態復旧処理を行っているのであるが、制御状態復旧処理を行った後、所定時間内に受信した払出制御コマンドで指定される内容を無視する等の制御を行う。
【0139】
この実施の形態では、遊技制御手段は、電力供給が復旧したときに実行する遊技状態復旧処理において、スタックポインタの復旧を行った後、払出制御基板37に対して、制御状態が復旧することを示す復旧コマンドとしての払出可能状態指定コマンドを無条件に送信する。次いで、後述するタイマ割込の設定とレジスタの復帰処理を行う。払出制御基板37に対して無条件で復旧コマンドを送信するように構成することによって、遊技制御手段は余分な確認処理(払出可能か否かの確認等)を行わなくて済む。後述するように、払出制御基板37に搭載されている払出制御手段は、電力供給が復旧したときに実行する払出状態復旧処理において、復旧コマンドを受信したことを条件にタイマ割込の設定とレジスタの復帰処理を行って払出制御を再開する。
【0140】
なお、この実施の形態では、遊技制御手段は、復旧コマンドとして払出可能状態指定コマンドを無条件に送信するようにしたが、遊技球の払出が可能な状態であるか否かを確認し、可能な状態であれば復旧コマンドとして払出可能状態指定コマンドを送信し、不可能な状態であれば、復旧コマンドとして払出禁止状態指定コマンドを送信するようにしてもよい。遊技球の払出が可能でない状態は、例えば、補給球の不足や余剰球受皿4が満タンである状態である。そして、復旧コマンドとして払出禁止状態指定コマンドを送信した場合には、遊技状態復旧処理が終了した後に実行される遊技制御処理において遊技球の払出が可能な状態になったときに、遊技制御手段は、払出可能状態指定コマンドを送信する。
【0141】
遊技状態復旧処理において、復旧コマンドを送信する前に遊技球の払出が可能な状態であるか否かを確認するようにしても、払出制御手段は、電力供給が復旧して場合に、遊技制御手段から必ず復旧コマンドを受信するので、遊技制御手段が正常に立ち上がったことを直ちに認識することができる。従って、電力供給開始が復旧したときに、遊技制御手段と払出制御手段とが同時に立ち上がるように構成されていても、払出制御手段による払出制御は、遊技制御手段による制御(例えば、遊技球の払い出しに関する監視制御)と同期する。
【0142】
また、遊技状態復旧処理において送信される復旧コマンドは、遊技制御処理において送信される払出制御に関するコマンドと同じものである。すなわち、遊技制御処理において送信される払出可能を指示するための払出可能状態指定コマンド、または払出禁止を指示するための払出禁止状態指定コマンドが、遊技状態復旧処理における復旧コマンドとして用いられている。従って、遊技状態復旧処理において復旧コマンドを送信するように構成しても、払出制御コマンドの種類が増えてしまうことはない。
【0143】
その後、2ms毎にタイマ割込がかかるようにタイマ割込処理の設定を行うタイマ割込設定処理を実行する(ステップS86)。例えば、複数(例えば4つ)あるタイマのそれぞれに対応して設けられている制御レジスタのうちの一つ(例えばCH3)の制御レジスタに、タイマ割込設定値(この例ではA7(H):割込イネーブルやリセットの設定等)を設定し、次いで、2msに応じた時間定数データ(カウント値、この例では2E(H))を制御レジスタに設定する。また、CPU56は、バックアップフラグをクリアする(ステップS87)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。よって、制御状態の復旧後に不必要な情報が残存しないようにすることができる。
【0144】
さらに、スタック領域から各種レジスタの退避値を読み出して、各種レジスタ(IXレジスタ、HLレジスタ、DEレジスタ、BCレジスタ)に設定する(ステップS88)。すなわち、レジスタ復帰処理を行う。なお、各レジスタが復旧される毎に、スタックポインタの値が減らされる。すなわち、スタックポインタの値が、スタック領域の1つ前のアドレスを指すように更新される。また、スタック領域からパリティフラグを復帰させ、その内容に従って割込フラグ(割込状態フラグ)を復帰させる(ステップS89)。割込フラグは、CPU56の内部フラグであり、割込許可状態にあるのか禁止状態にあるのかが示されている。この場合、割込フラグには、電力供給停止前の状態が割込許可状態であったのか禁止状態であったのかが示されている。
【0145】
次いで、そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS91,S92)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復帰させる(ステップS93)。
【0146】
そして、RET命令が実行される。RET命令が実行されるときには、CPU56は、スタックポインタが指す領域に格納されているデータをプログラムカウンタに設定することによってプログラムのリターン動作を実現する。ただし、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、ステップS89でレジスタの復帰処理が終了した後では、スタック領域を指すスタックポインタは、NMIによる電力供給停止時処理が開始されたときに実行されていたプログラムのアドレスが退避している領域を指している。すなわち、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS92の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。
【0147】
以上のように、この実施の形態では、スタック領域に退避されていたアドレスデータ(プログラムアドレスデータ)にもとづいて遊技制御が再開される。
【0148】
タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図19に示すステップS21〜S32の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0149】
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0150】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24,S25)。
【0151】
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0152】
次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS28)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS29)。
【0153】
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
【0154】
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS31)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
【0155】
そして、CPU56は、入賞口スイッチ29a,30a,33a,39aの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。具体的には、入賞口スイッチ29a,30a,33a,39aがオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。その後、レジスタの内容を復帰させ(ステップS33)、割込許可状態に設定する(ステップS34)。
【0156】
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
【0157】
次に、遊技制御処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図20に示すように、スイッチタイマは検出信号の数n(クリアスイッチ921の検出信号を除く)だけ設けられている。この実施の形態ではn=13である。また、RAM55において、各スイッチタイマのアドレスは、入力ポートのビット配列順(図15に示された上から下への順)と同じ順序で並んでいる。
【0158】
図21は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図19に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS101)。次いで、処理数として「8」を設定し(ステップS102)、入賞口スイッチ33aのためのスイッチタイマのアドレスをポインタにセットする(ステップS103)。そして、スイッチチェック処理サブルーチンをコールする(ステップS104)。
【0159】
図22は、入力処理ルーチンとしてのスイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS121)。また、クリアデータ(00)をセットする(ステップS122)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS123)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS124)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ33aの検出信号がキャリーフラグに押し出される。
【0160】
キャリーフラグの値が「1」であれば(ステップS125)、すなわち入賞口スイッチ33aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS127)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS128,S129)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0161】
キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ33aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS126)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0162】
その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS130)、処理数を1減算する(ステップS131)。処理数が0になっていなければステップS122に戻る。そして、ステップS122〜S132の処理が繰り返される。
【0163】
ステップS122〜S132の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0164】
CPU56は、スイッチ処理のステップS105において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS106)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS107)。そして、スイッチチェック処理サブルーチンをコールする(ステップS108)。
【0165】
スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS122〜S132の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0166】
なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
【0167】
図23〜図25は、遊技制御処理におけるステップS32の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、賞球払出の対象となる入賞口スイッチ33a,39a,29a,30a、カウントスイッチ23および始動口スイッチ14aが確実にオンしたか否か判定されるとともに、オンしたら賞球個数を示す払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
【0168】
賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブル(図27参照)のオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
【0169】
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図27に示されている。図27に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【0170】
スイッチオンチェックルーチンの一例が図26に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図23には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
【0171】
また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS155)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS156)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS157)。
【0172】
スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS158)、球切れフラグがセットされる(ステップS159)。なお、図23には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
【0173】
そして、CPU56は、払出禁止状態であるか否か確認する(ステップS160)。払出禁止状態は、払出制御基板37に対して払出を停止すべき状態であることを指示する払出制御コマンドである払出禁止状態指定コマンドを送出した後の状態であり、具体的には、作業領域における払出停止フラグがセットされている状態である。払出禁止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS161)。
【0174】
いずれかがオン状態に変化したときには、払出停止フラグをセットするとともに(ステップS162)、払出禁止状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS163)、コマンドセット処理をコールする(ステップS164)。ステップS163では、払出禁止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出禁止状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS161において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、ステップS162〜ステップS164の処理は行われない。
【0175】
また、払出禁止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS165)。ともにオフ状態となったとき(後述する解除条件が成立したとき)には、払出停止フラグをリセットするとともに(ステップS166)、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS167)、コマンドセット処理をコールする(ステップS168)。ステップS167では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0176】
なお、解除条件は、払出禁止状態を解除するための条件であり、払出禁止状態を維持する必要がなくなったときに成立する条件である。この実施の形態では、解除条件は、払出禁止状態とされているときに、余剰球受皿4が満タン状態でなく、かつ、球切れ状態でもない状態でない状態となったこととされている。
【0177】
さらに、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS169)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS170)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ33aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS171)。そして、スイッチオンチェックルーチンがコールされる(ステップS172)。
【0178】
スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図27参照)の先頭アドレスを設定する(ステップS281)。そして、そのアドレスにオフセットを加算し(ステップS282)、加算後のアドレスからスイッチオン判定値をロードする(ステップS283)。
【0179】
次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS284)、そのアドレスにオフセットを加算し(ステップS285)、加算後のアドレスからスイッチタイマの値をロードする(ステップS286)。各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【0180】
そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS287)。それらが一致すれば、スイッチオンフラグをセットする(ステップ228)。
【0181】
この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ33aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS173)。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS178)、最初に設定された繰り返し数分だけ実行されるので(ステップS176,S177)、結局、入賞口スイッチ33a,39a,29a,30aについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。
【0182】
スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「10」をリングバッファに設定する(ステップS174)。そして、総賞球数格納バッファの格納値(未払出数データ)に10を加算する(ステップS175)。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【0183】
総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球個数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する、出力する払出制御コマンドに対応した賞球数の加算処理を行ってもよい。
【0184】
次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS179)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS180)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」は始動口スイッチ14aに対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS181)。
【0185】
スイッチオンチェックルーチンにおいて、始動口スイッチ14aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS182)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「6」をリングバッファに設定する(ステップS183)。また、総賞球数格納バッファの格納値に6を加算する(ステップS184)。
【0186】
次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS185)、スイッチタイマのアドレスのオフセットとして「6」を設定する(ステップS186)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図15に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「6」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS187)。
【0187】
スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS188)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「15」をリングバッファに設定する(ステップS189)。また、総賞球数格納バッファの格納値に15を加算する(ステップS190)。
【0188】
そして、リングバッファにデータが存在する場合には(ステップS191)、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに(ステップS192)、読出ポインタの値を更新(リングバッファの次の領域を指すように更新)し(ステップS193)、賞球個数に関するコマンド送信テーブルをセットし(ステップS194)、コマンドセット処理をコールする(ステップS195)。コマンドセット処理の動作については後で詳しく説明する。
【0189】
ステップS194では、賞球個数に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球個数に関するコマンド送信テーブルには、後述するINTデータ(01(H))、払出制御コマンドの1バイト目のデータ(F0(H))、および払出制御コマンドの2バイト目のデータが設定されている。ただし、2バイト目のデータとして「80(H)」が設定されている。
【0190】
以上のように、遊技制御手段から払出制御基板37に賞球個数を指示する払出制御コマンドを出力しようとするときに、賞球個数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンドセット処理によって、賞球個数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板37に送出される。なお、ステップS191において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。
【0191】
そして、総賞球数格納バッファの内容が0でない場合、すなわち、まだ賞球残がある場合には、CPU56は、賞球払出中フラグをオンする(ステップS196,S197)。
【0192】
また、CPU56は、賞球払出中フラグがオンしているときには(ステップS198)、球払出装置97から実際に払い出された賞球個数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う(ステップS199)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
【0193】
なお、払出制御手段は、払出禁止状態指定コマンドを受信すると、賞球としての球払出と球貸しとしての球払出とをともに停止させる。また、払出可能状態指定コマンドを受信すると、賞球としての球払出と球貸しとしての球払出とをともに可能な状態とする。しかし、遊技制御手段から払出制御手段に対して、賞球としての球払出を停止または再開させる払出制御コマンドと、球貸しとしての球払出を停止または再開させる払出制御コマンドとを、別の制御コマンドとして送信するようにしてもよい。
【0194】
また、この実施の形態では、払出禁止状態であっても(ステップS160,S165)、ステップS169〜S195の処理が実行される。すなわち、遊技制御手段は、払出禁止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するためのコマンドが、払出禁止状態であっても払出制御手段に伝達され、払出禁止状態が解除されたときに、早めに賞球払出を開始することができる。また、遊技制御手段において、払出禁止状態における入賞にもとづく賞球個数を記憶するための大きな記憶領域は必要とされない。
【0195】
さらに、この実施の形態では、遊技媒体の払出状況とは無関係に、ステップS169〜S195の処理が実行される。すなわち、遊技制御手段は、前回までに指定した賞球個数の払い出しが完了しているか否かに関わらず、新たな賞球個数を指示するための払出制御コマンドを送信することができる。よって、遊技制御手段の払い出しに関する処理負担を軽減させることができるとともに、賞球の払出処理を迅速に行うことができる。
【0196】
次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から他の電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図28(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0197】
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【0198】
図28(B)は、INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(メイン処理のステップS32)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、図柄出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(メイン処理のステップS28)において、INTデータに「02(H)」を設定する。
【0199】
INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0200】
この実施の形態では、払出制御コマンドについて、図28(C)に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球個数が順次リングバッファに設定される。また、賞球個数に関する払出制御コマンド送出する際に、リングバッファから1個のデータが送信バッファに転送される。なお、図28(C)に示す例では、リングバッファには、12個分の払出制御コマンドに相当するデータが格納可能になっている。すなわち、12個のバッファがある。なお、リングバッファにおけるバッファの数は、賞球を発生させる入賞口の数に対応した数であればよい。同時入賞が発生した場合でも、それぞれの入賞にもとづく払出制御コマンドのデータの格納が可能だからである。
【0201】
図29は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板へのコマンドとなる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図29に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。また、図29では払出制御基板37に送出される払出制御コマンドを例示するが、他の電気部品制御基板に送出される制御コマンドも同一構成である。
【0202】
図30は、各電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号CD0〜CD7とINT信号との関係を示すタイミング図である。図30に示すように、MODEまたはEXTのデータが出力ポート(出力ポート1〜出力ポート4のうちのいずれか)に出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をハイレベル(オンデータ)にする。また、そこからBで示される期間が経過するとINT信号をローレベル(オフデータ)にする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。2バイト目のデータに関して、A,Bの期間は、1バイト目の場合と同様である。このように、取込信号はMODEおよびEXTのデータのそれぞれについて出力される。
【0203】
Aの期間は、CPU56が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。すなわち、制御信号線において制御信号CD0〜CD7が出力された後、所定期間(Aの期間:オフ出力期間の一部)経過後に、取込信号としてのINT信号が出力される。また、Bの期間(オン出力期間)は、INT信号安定化のための期間である。そして、Cの期間(オフ出力期間の一部)は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。B,Cの期間では、信号線上のデータは変化しない。すなわち、B,Cの期間が経過するまでデータ出力が維持される。
【0204】
この実施の形態では、払出制御基板37への払出制御コマンド、図柄制御基板80への表示制御コマンド、ランプ制御基板35へのランプ制御コマンドおよび音制御基板70への音制御コマンドは、同一のコマンド送信処理ルーチン(共通モジュール)を用いて送出される。そこで、B,Cの期間すなわち1バイト目に関するINT信号が立ち上がってから2バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【0205】
なお、各電気部品制御手段は、INT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。
【0206】
B,Cの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【0207】
CPU56は、INT信号出力処理を実行した後に所定期間が経過すると次のデータを送出できる状態になるが、その所定期間(B,Cの期間)は、INT信号出力処理の前にデータを送出してからINT信号を出力開始するまでの期間(Aの期間)よりも長い。上述したように、Aの期間はコマンドの信号線における安定化期間であり、B,Cの期間は受信側がデータを取り込むのに要する時間を確保するための期間である。従って、Aの期間をB,Cの期間よりも短くすることによって、受信側の電気部品制御手段が確実にコマンドを受信できる状態になるという効果を得ることができるとともに、1つのコマンドの送出完了に要する期間が短縮される効果もある。
【0208】
図31は、払出制御コマンドの内容の一例を示す説明図である。この実施の形態では、払出制御を実行するために、複数種類の払出制御コマンドが用いられる。図31に示された例において、MODE=FF(H),EXT=00(H)のコマンドFF00(H)は、払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)である。MODE=FF(H),EXT=01(H)のコマンドFF01(H)は、払出を停止すべき状態であることを指示する払出制御コマンド(払出禁止状態指定コマンド)である。また、MODE=F0(H)のコマンドF0XX(H)は、賞球個数を指定する払出制御コマンド(払出個数指定コマンド)である。EXTである「XX」が払出個数を示す。
【0209】
払出制御手段は、主基板31の遊技制御手段からFF01(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、FF00(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【0210】
なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、この例では、払出制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
【0211】
各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0212】
図32は、コマンドセット処理(ステップS164,S168,S195)の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレス(送信信号指示手段としてのポインタの内容)をスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
【0213】
そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0214】
図33は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、コマンド送信中フラグをオンしたあと(ステップS350)、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。なお、コマンド送信中フラグは、コマンド送信処理中であるか否かを示すフラグであって、RAM55の所定の領域に記憶されている。次いで、CPU56は、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【0215】
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
【0216】
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
【0217】
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート2のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0218】
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされる制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したIOアドレスが設定されている。
【0219】
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【0220】
また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0221】
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したINT信号がハイレベルになる。
【0222】
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図30に示されたBの期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はローレベルになる。また、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、図30に示されたCの期間を設定するための処理である。ただし、実際のCの期間は、ステップS367〜S369で作成される時間に、その後の処理時間(この時点でMODEデータが出力されている場合にはEXTデータを出力するまでに要する制御にかかる時間)が加算された期間となる。このように、Cの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
【0223】
従って、ステップS367でウェイトカウンタに設定される値は、Cの期間が、制御コマンド受信対象となる全ての電気部品制御手段が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、Cの期間が、ステップS357〜S359の処理に要する時間(Aの期間に相当)よりも長くなるような値である。なお、Aの期間をより長くしたい場合には、Aの期間を作成するためのウェイト処理(例えば、ウェイトカウンタに所定値を設定し、ウェイトカウンタの値が0になるまで減算を行う処理)を行う。
【0224】
そして、ウェイトカウンタの値が0になると(ステップS369のY)、CPU56は、コマンド送信中フラグをオフする(ステップS370)。
【0225】
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図32に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS338)。0でなければ、送信バッファの内容を引数2にロードする(ステップS339)。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数2にロードする。
【0226】
送信バッファには賞球個数を特定可能なデータが設定されているので、引数2にそのデータが設定される。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定される。よって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされる。
【0227】
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS340)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
【0228】
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、各電気部品制御手段でのコマンド受信処理が完了したあとに終了するように設定されるウェイト期間(ステップS367〜ステップS369の処理によって特定される期間:Cの期間の一部)が経過するまでは新たな信号を出力しないようにしているので、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図30に示された場合と逆にしてもよい。
【0229】
また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球個数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球個数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球個数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【0230】
さらに、この実施の形態では、1回の賞球処理内で払出禁止状態指定コマンドまたは払出可能状態指定コマンドと賞球個数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数のコマンドを送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音制御コマンド、払出制御コマンド)毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音制御コマンドを送出するように構成することも可能である。すなわち、同時に(遊技制御処理すなわち2msタイマ割込処理の起動周期での意味)、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドと同時に送出されることはない。
【0231】
図34は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS381)。そして、格納値が0であるか否か確認する(ステップS382)。0であれば処理を終了する。
【0232】
0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS383)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS384)。一致したら(ステップS385)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS386)。
【0233】
また、賞球情報カウンタの値を+1する(ステップS387)。そして、賞球情報カウンタの値が10以上であれば(ステップS388)、賞球情報カウンタの値を+1するとともに(ステップS389)、賞球情報カウンタの値を−10する(ステップS390)。なお、賞球情報カウンタの値は、図19に示された遊技制御処理における情報出力処理(ステップS30)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図14参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
【0234】
そして、総賞球数格納バッファの格納値が0になったら(ステップS391)、賞球払出中フラグをクリアし(ステップS392)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS393)、ランプ制御コマンドの送出処理を実行する(ステップS394)。
【0235】
図35〜図37は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。なお、マスク不能割込処理とは、割込禁止にすることができない割込処理である。マスク不能割込が発生すると、CPU56に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラムのアドレス(具体的には実行完了後の次のアドレス)を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。
【0236】
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)を所定のバックアップRAM領域(具体的にはスタック領域)に退避する(ステップS451)。また、割込フラグをパリティフラグにコピーし(ステップS452)、その内容をスタック領域に退避する(ステップS453)。また、BCレジスタ、DEレジスタ、HLレジスタおよびIXレジスタをスタック領域に退避する(ステップS454〜S457)。なお、電源復旧時には、退避された内容にもとづいてレジスタ内容が復帰され、パリティフラグの内容に応じて、割込許可状態/禁止状態の内部設定がなされる。
【0237】
次いで、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS459)、処理数(この例では「7」)を別のレジスタにセットする(ステップS460)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS461)。IOポインタとして、さらに別のレジスタが用いられる。
【0238】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS462)、IOポインタの値を1増やし(ステップS463)、処理数の値を1減算する(ステップS464)。ステップS462〜S464の処理が、処理数の値が0になるまで繰り返される(ステップS465)。その結果、全ての出力ポート0〜6(図14および図15参照)にクリアデータが設定される。図14および図15に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0239】
上記のように、各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。つまり、パチンコ遊技機のように可変入賞球装置を有している遊技機において、実装の関係上、可変入賞球装置における可変入賞口の位置と入賞を検出する入賞口スイッチの設置位置とを、ある程度離さざるを得ない。出力ポート、特に可変入賞球装置を開放状態にするための信号が出力される出力ポートを直ちにオフ状態にしないと、電力供給停止時に、可変入賞口に入賞したにもかかわらず、電力供給停止時処理の実行が開始されて入賞口スイッチの検出がなされない状況が起こりうる。その場合、可変入賞口に入賞があったことは保存されない。すなわち、実際に生じている遊技状態(入賞があったこと)と保存される遊技状態とが整合しない。しかし、この実施の形態では、出力ポートがクリアされて可変入賞球装置が閉じられるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。
【0240】
また、電気部品の駆動が不能になる状態になる前に実行される電力供給停止時処理の際に、出力ポートをクリアすることができるので、電気部品の駆動が不能になる状態となる前に遊技制御手段によって制御される各電気部品を、適切な動作停止状態にすることができる。例えば、開放中の大入賞口を閉成させ、また開放中の可変入賞球装置15を閉成させるなど、電気部品についての作動を停止させたあとに電気部品の駆動が不能になる状態とすることができる。従って、適切な停止状態で電力供給の復旧を待つことが可能になる。
【0241】
さらに、電力供給停止時処理の際に、各電気部品を動作停止状態にするので、各電気部品を駆動するために電力が費やされることがなくなり、また、出力ポートからの信号出力に用いられる電流が遮断されるので、微量ではあるが電力消費を抑えることができる。
【0242】
さらに、この実施の形態では、所定期間(以下、払出確認期間という)、賞球カウントスイッチ301Aの検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら賞球カウント値を1増やす。
【0243】
なお、この実施の形態では、払出確認期間を計測するために、払出確認期間計測用カウンタが用いられる。払出確認期間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S467から始まってS467に戻るループ)が1回実行される毎に−1され、その値が0になると、払出確認期間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ払出確認期間に相当する。
【0244】
払出確認期間を計測するために、CPU56の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(払出確認期間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、払出確認期間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。
【0245】
また、払出確認期間は、遊技球が、球払出装置97から落下した時点(例えば図5に示すスプロケット292の下方の球通路293a,293bに送り出された時点)から、賞球カウントスイッチ301Aに到達するまでの時間以上に設定される。球払出装置97から賞球カウントスイッチ301Aまでの距離をLとすると、その間の落下時間tは、t=√(2L/g)(g:重力加速度)になるので、払出確認期間は、それ以上に設定される。払出確認期間の具体的な値は、距離Lの値や、落下時間tからどの程度余裕を持たせるかによって異なるが、例えば100[ms]〜150[ms]程度とされる。
【0246】
遊技制御手段において貸し球の払出検出を行う場合にも、同様にして、払出確認期間が設定される。すなわち、遊技球が、球払出装置97から落下した時点(例えば図5に示すスプロケット292の下方の球通路293a,293bに送り出された時点)から、球貸しカウントスイッチ301Bに到達するまでの時間以上に設定される。従って、球払出装置97から球貸しカウントスイッチ301Bまでの距離をLとすると、その間の落下時間tは、やはりt=√(2L/g)(g:重力加速度)になるので、払出確認期間はそれ以上に設定される。この場合にも、払出確認期間の具体的な値は距離Lの値や、落下時間tからどの程度余裕を持たせるかによって異なるが、例えば100[ms]〜150[ms]程度とされる。なお、球払出装置97から賞球カウントスイッチ301Aまでの距離と貸し球カウントスイッチ301Bまでの距離とが異なる場合には、球払出装置97からの距離が離れているスイッチの距離にもとづいて払出確認期間を定めるようにすればよい。
【0247】
少なくとも、スイッチ検出処理が実行される払出確認期間では、賞球カウントスイッチ301A(または賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301B)が遊技球を検出できる状態でなければならない。そこで、この実施の形態では、図9に示されたように、電源基板910におけるコンバータIC920の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301A(または賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301B)が動作可能になる。その期間が、上記の払出確認期間以上になるように、コンデンサ923の容量が決定される。
【0248】
なお、入力ポートおよびCPU56も、コンバータIC920で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
【0249】
上記のように、この例では、払出確認期間計測用カウンタに初期値mが設定される(ステップS466)。また、ステップS467において、2ms計測用カウンタに2msの時間に相当する初期値nが設定される。そして、2ms計測用カウンタの値が0になるまで(ステップS468)、2ms計測用カウンタの値が−1される(ステップS469)。
【0250】
2ms計測用カウンタの値が0になると、賞球カウントスイッチ301Aの検出信号の入力チェックを行う。すなわち、ステップS21のスイッチ処理に類似した処理を行う。具体的には、入力ポート1に入力されているデータを入力する(ステップS470)。次いで、処理数として「1」を設定し(ステップS471)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS472)。そして、スイッチチェック処理サブルーチンをコールする(ステップS473)。
【0251】
スイッチタイマの値が2である場合には(ステップS479)、賞球カウント値(バックアップRAM領域にある)を1増やす(ステップS480)。次いで、払出確認期間計測用カウンタの値を−1し(ステップS481)、その値が0になっていなければステップS467に戻る(ステップS482)。
【0252】
以上の処理によって、払出確認期間内に賞球カウントスイッチ301Aがオンしたら、賞球カウント値が+1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず賞球カウント値が+1される。遊技機への電力供給が停止し、その後、復旧すると、遊技状態復旧処理におけるステップS84において(図18参照)、CPU56は、賞球カウント値を総賞球数格納バッファの格納値から減算するとともに、賞球カウント値を賞球情報カウンタのカウント値に加算する処理を行う。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。すなわち、実際には払い出された遊技球が未検出とされてしまうようなことはない。
【0253】
なお、この実施の形態では、電力供給停止時処理では賞球カウント値の加算処理が行われるが、賞球カウントスイッチ301Aがオンしたら、総賞球数格納バッファの格納値を−1するとともに、賞球情報カウンタのカウント値を+1するようにしてもよい。そのように構成した場合には、遊技状態復旧処理におけるステップS84の処理は不要である。
【0254】
上記の入力処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、2ms毎に賞球カウントスイッチ301Aの検出信号のチェックが行われ、2回連続してオン検出した場合に、賞球カウントスイッチ301Aが確実にオンしたと見なされる。すなわち、所定の遊技媒体検出判定期間(電力供給停止時処理において、遊技媒体(ここでは払い出された賞球)の検出の有無を判定するための期間。この実施の形態では、2ms以上の期間)の前後に2回連続してオン検出した場合に、1個の賞球の払出が完了したと見なされる。このように、この実施の形態では、遊技媒体検出判定期間を、通常遊技媒体検出判定期間(電力供給停止時処理での処理でない、通常の遊技状態において遊技媒体の有無を判定するための期間。この実施の形態では、後述するスイッチオン判定値(図33参照)によって決定される2ms以上の期間であって、図31のステップS188の判断で用いられている。)と同じ期間としている。従って、通常の制御と同一の条件の下で、賞球カウントスイッチ301Aがオンしたか否かを判定することができる。
【0255】
また、通常の制御と同一の条件の下および同一の処理によって賞球カウントスイッチ301Aがオンしたか否かを判定するので、電力供給停止時処理でのスイッチ検出の入力処理ルーチンと、通常の制御におけるスイッチ検出の入力処理ルーチン(図22に示されたスイッチチェック処理サブルーチン)を、共通に使用することができる。すなわち、通常の制御におけるスイッチ検出の入力処理ルーチンを、電力供給停止時処理でのスイッチ検出の際に利用することができる。従って、電力供給停止時処理のプログラム量が削減される。
【0256】
なお、この実施の形態では、賞球カウントスイッチ301Aのみのスイッチ検出処理が行われたが、始動入賞口のスイッチや大入賞口に関連するV入賞スイッチ22やカウントスイッチについても同様のスイッチ検出処理を行ってもよい。また、他の入賞についても同様のスイッチ検出処理を行ってもよい。そのようなオンチェックも行う場合には、入賞口に遊技球が入賞した直後に停電が発生したような場合でも、その入賞が確実に検出され、保存される遊技状態に反映される。
【0257】
払出確認期間が経過すると(ステップS486)、すなわち、払出確認期間計測用カウンタの値が0になると、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS487)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS488〜S497)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS488)、チェックサム算出開始アドレスをポインタにセットする(ステップS489)。また、チェックサム算出回数をセットする(ステップS490)。
【0258】
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS491)。演算結果をチェックサムデータエリアにストアするとともに(ステップS492)、ポインタの値を1増やし(ステップS493)、チェックサム算出回数の値を1減算する(ステップS494)。ステップS491〜S494の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS495)。
【0259】
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS496)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS497)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、スタックポインタの内容をバックアップRAM領域に退避した後(ステップS498)、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS499)。以後、内蔵RAM55のアクセスができなくなる。
【0260】
そして、RAMアクセスレジスタにアクセス禁止値を設定すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0261】
以上のように、遊技制御手段は、電力供給停止時処理において、レジスタ退避処理、払出遊技媒体検出手段としての賞球カウントスイッチ301Aからの検出信号の入力処理、スタックポインタ退避処理、実行確認情報(この例ではバックアップフラグとチェックサムデータ)を保存させる処理、RAMアクセスを禁止する処理の順に各処理を実行する。
【0262】
すなわち、電力供給停止時処理では、まず、スタックポインタを除くレジスタの退避処理が行われ、次いで、賞球カウントスイッチ301Aの検出信号の入力処理が行われ、さらに、バックアップフラグの設定およびチェックサムデータの設定(実行確認情報の保存)が行われた後、スタックポインタの退避処理が実行され、最後にRAMアクセス禁止に設定される。レジスタの退避処理が最初に実行されることから、レジスタの内容はより確実に保存される。
【0263】
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0264】
また、上記の例では、出力ポートのクリア処理を、スイッチ検出処理の実行前(ステップS466の前)に行っている。電力供給停止時処理の実行中では、CPU56やスイッチ類はコンデンサ923,924の充電電力等で駆動されることになる。出力ポートのクリア処理をスイッチ検出処理の実行前に行っているので、大入賞口や可変入賞装置等がソレノイド等の電気部品で駆動されるように構成されていても、それらが駆動されることはなく、コンデンサ(特にコンデンサ924)の充電電力等を電力供給停止時処理のために効果的に使用することができる。
【0265】
なお、上記の例において、電源が断することが検出された後にV入賞スイッチ22を検出する場合には、ソレノイド21(大入賞口をV入賞スイッチに誘導するための部材を動作させるもの)の出力ポートについては、スイッチ検出処理の実行後にクリアすることが好ましい。そのようにすれば、継続権発生の条件であるV入賞をしていない状態で停電が発生した場合、停電発生直前に大入賞口に入った遊技球をV入賞スイッチ22の側に誘導することができる。従って、不当な継続権の消滅を防止することができる。この場合、上記の払出確認期間の相当する期間は、大入賞口に入賞した遊技球がV入賞スイッチ22に到達するまでの時間以上の所定期間である。なお、ラッチ式のソレノイドを用いた場合には、出力ポートのクリア処理は不要である。
【0266】
また、出力ポートのクリアによって大入賞口が閉じた場合でも、大入賞口内に遊技球があることも考えられるので、電源断信号に応じて実行されるスイッチ検出処理において、カウントスイッチ23の検出も行うことが望ましい。上記の例外的な処理については、第1種パチンコ遊技機においてのみならず、第2種パチンコ遊技機や第3種パチンコ遊技機についても同様である。
【0267】
図38は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLのうちの監視電圧(電源監視用IC902に入力される電圧)の電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
【0268】
電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御用CPU371のNMI端子に入力される。CPU56および払出制御用CPU371は、NMI処理によって、所定の電力供給停止時処理を実行する。
【0269】
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPU371がシステムリセット状態になる。なお、CPU56および払出制御用CPU371は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0270】
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPU371がシステムリセット状態とされている。
【0271】
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図38に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
【0272】
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLから分岐された電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともICやソレノイドの駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。この例では、ソレノイド等の駆動電圧として電源VSLから分岐された電圧が用いられるが、監視対象電圧が供給されるラインとは異なり、ソレノイド等に駆動電圧を供給するラインに大容量のコンデンサ924が接続されているので、ソレノイド等に対する駆動電圧の供給を継続することができる所定期間が確保されているタイミングで電源断信号を発生することができる。
【0273】
最も高い電源VSL以外の電圧を監視対象電圧とする場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧(スイッチ電圧:例えば賞球カウントスイッチ301A、球貸しカウントスイッチ301B)が+12Vであることから、+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
【0274】
図39は、払出検出手段からの検出信号の入力処理(スイッチ検出処理)が実行される様子の一例を示すタイミング図である。この実施の形態では、電源断信号は、主基板31および払出制御基板37に入力され、主基板31のCPU56および払出制御用CPU371のNMI端子に入力される。主基板31のCPU56は、マスク不能割込処理によって、上述した電力供給停止時処理を実行する。
【0275】
図39に示すように、電源断信号がオン(この例ではハイレベルからローレベルに変化)するあたりで賞球払出が実行された場合、払出検出手段からの検出信号の入力処理(スイッチ検出処理)が実行される払出確認期間内で賞球カウントスイッチ301Aがオンする。従って、電源断信号がオンするあたりで実行された球払出についても、電力供給停止時処理が実行される際に、賞球カウント値に反映することができる。
【0276】
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31に入力されているリセットIC651からの信号がローレベルになり、CPU56がシステムリセット状態になる。なお、CPU56は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0277】
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、主基板31では、電力供給停止時処理が実行され、CPU56がシステムリセット状態とされている。
【0278】
なお、払出制御基板37における払出制御用CPU371も、同様に電力供給停止時処理を行った後にシステムリセット状態になる。
【0279】
次に、払出制御手段の動作について説明する。図40は、払出制御用CPU371周りの一構成例を示すブロック図である。図40に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路980を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって電源断の発生を確認することができる。
【0280】
この実施の形態では、システムリセット回路65BにおけるリセットIC651Bは、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC651Bは、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、遊技機への電力供給停止時には、リセットIC651Bからの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
【0281】
リセットIC651Bが電力供給停止を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC651Bが、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0282】
+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、停電等の遊技機に対する電力供給停止が発生しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65Bからリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復旧させることができる。
【0283】
なお、図40に示された構成では、システムリセット回路65Bは、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図92に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。また、払出制御基板37以外の電気部品制御基板において、リセット信号を発生する回路は、図40に示されたように構成される。
【0284】
また、電源基板910からの復帰信号と、システムリセット回路65Bからのリセット信号とはAND回路385に入力され、AND回路385の出力が払出制御用CPU371のリセット端子に入力される。払出制御用CPU371が電力供給停止時処理を行ってループ状態(待機状態)にあるときに復帰信号が出力されると、払出制御用CPU371にはシステムリセットがかかる。その結果、払出制御用CPU371はループ状態から抜け出すことができる。
【0285】
払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の入力に応じて割込が発生することになる。なお、INT信号とは、遊技制御手段から払出制御手段に対する払出制御コマンドが送出されたことを意味する信号である。払出制御用CPU371は、INT信号の入力に応じて発生する割込によって、払出制御コマンド受信処理を開始する。
【0286】
図41は、この実施の形態における出力ポートの割り当てを示す説明図である。図41に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号等の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
【0287】
図42は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図42に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜1には、それぞれ、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bの検出信号が入力される。ビット2〜5には、カードユニット50からのBRDY信号、BRQ信号、VL信号およびクリアスイッチ921の検出信号が入力される。このように、クリアスイッチ921の検出信号すなわち操作手段の操作入力は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート(8ビット構成の入力部)と同一の入力ポートにおけるビット(入力ポート回路)に入力されている。
【0288】
図43は、払出制御手段(払出制御用CPU371およびROM,RAM等の周辺回路)のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタック領域の先頭アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
【0289】
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0290】
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出制御処理が実行される。
【0291】
また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【0292】
カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭アドレスが特定される。
【0293】
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
【0294】
CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。さらに、CLK/TRG2端子に入力される信号の立ち上がりまたは立ち下がりで特定レジスタとしてのタイマカウンタレジスタCLK/TRG2のカウント値が−1されるのであるが、所定の特定レジスタの設定によって、立ち上がり/立ち下がりの選択を行うことができる。この実施の形態では、CLK/TRG2端子に入力される信号の立ち上がりで、タイマカウンタレジスタCLK/TRG2のカウント値が−1されるような設定が行われる。
【0295】
また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。例えば、CH3のレジスタ値はシステムクロックの1/256周期で減算される。分周したクロックにもとづいて減算が行われるので、レジスタの初期値は大きくならない。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。
【0296】
CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【0297】
次いで、払出制御用CPU371は、入力ポートB(図42参照)を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS707)。その確認においてオンを検出した場合には、払出制御用CPU371は、通常の初期化処理を実行する(ステップS711〜ステップS714)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート372では、クリアスイッチ信号のオン状態はハイレベルである。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0298】
なお、払出制御用CPU371も、主基板31のCPU56と同様に、スイッチの検出信号のオン判定を行う場合には、例えば、オン状態が少なくとも2ms(2ms毎に起動される処理の1回目の処理における検出直前に検出信号がオンした場合)継続しないとスイッチオンとは見なさないが、クリアスイッチ921のオン検出の場合には、1回のオン判定でオン/オフが判定される。すなわち、操作手段としてのクリアスイッチ921が所定の操作状態であるか否かを払出制御用CPU371が判定するための初期化要求検出判定期間は、遊技媒体検出手段としての賞球カウントスイッチ等が遊技媒体を検出したことを判定するための遊技媒体検出判定期間とは異なる期間とされている。
【0299】
クリアスイッチ921がオンの状態でない場合には、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS708)。例えば、主基板31のCPU56の処理と同様に、遊技機への電力供給停止時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【0300】
バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の停電等の電力供給の停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電力供給の停止時の状態に戻すことができないので、不足の停電等からの復旧時ではなく電源投入時に実行される初期化処理を実行する。
【0301】
チェック結果が正常であれば(ステップS709)、払出制御用CPU371は、内部状態を電力供給停止時の状態に戻すための払出状態復旧処理を行う(ステップS710)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
【0302】
払出制御用CPU371は、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認する。すなわち、電力供給が復帰した場合には、電力供給が停止する前の制御状態に復旧させるか否かを決定するための複数の復旧条件(この例ではバックアップフラグが正常に保存されていたこととチェックサムが正常であったこと)がすべて成立した場合に、変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を復旧させる復旧処理を実行し、複数の復旧条件のうち少なくとも1つの条件が不成立であった場合に変動データ記憶手段の記憶内容を初期化する初期化処理を実行可能である。複数の復旧条件を用いることによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、操作手段から操作信号が出力された場合には、複数の復旧条件に関わらず初期化処理を実行する(ステップS707)。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0303】
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。また、この実施の形態では、払出制御用CPU371は、初期状態として払出禁止状態に設定する(ステップS713)。なお、払出禁止状態に設定するときには、払出制御用CPU371は、例えば払出モータ289の駆動を停止する制御を行うとともに払出禁止状態であることを示す内部フラグ(払出停止中フラグ)をセットする。すなわち、ステップS713では、払い出しが禁止された状態であることを示すデータ(セットされた払出停止中フラグ)を所定の記憶領域に記憶する処理が実行されている。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS714)。なお、払出停止中フラグは、遊技制御手段から払出可能状態指定コマンドを受信したことを条件としてリセットされる(図51におけるステップS753e参照)。
【0304】
この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図44に示すように、タイマ割込があったことを示すタイマ割込フラグがセットされる(ステップS792)。そして、メイン処理において、タイマ割込フラグがセットされたことが検出されたら(ステップS715)、タイマ割込フラグがリセットされるとともに(ステップS751)、払出制御処理(ステップS751〜S760)が実行される。
【0305】
なお、タイマ割込では、図44に示すように、最初に割込許可状態に設定される(ステップS791)。よって、タイマ割込処理中では割込許可状態になり、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【0306】
払出制御処理において、払出制御用CPU371は、まず、入力ポート372bに入力される賞球カウントスイッチ301Aや球貸しカウントスイッチ301B等のスイッチがオンしたか否かを判定する(スイッチ処理:ステップS752)。
【0307】
次に、払出制御用CPU371は、主基板31から払出禁止状態指定コマンドを受信していたら払出禁止状態に設定し、払出可能状態指定コマンドを受信していたら払出禁止状態の解除を行う(払出禁止状態設定処理:ステップS753)。また、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS754)。さらに、プリペイドカードユニット制御処理を行う(ステップS755)。
【0308】
次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
【0309】
さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
【0310】
なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
【0311】
次いで、エラー検出処理を行い、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。また、遊技機外部に出力される球貸し個数信号を出力する処理等を行う(出力処理:ステップS760)。
【0312】
なお、図41に示す出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
【0313】
図45は、ステップS710の払出状態復旧処理の一例を示すフローチャートである。払出状態復旧処理において、払出制御用CPU371は、まず、払い出しに関する状態として、払出禁止状態に設定する(ステップS721)。なお、払出禁止状態に設定するときには、払出制御用CPU371は、例えば払出モータ289の駆動を停止する制御を行うとともに払出禁止状態であることを示す内部フラグ(払出停止中フラグ)をセットする。すなわち、ステップS721では、払い出しが禁止された状態であることを示すデータ(セットされた払出停止中フラグ)を所定の記憶領域に記憶する処理が実行されている。
【0314】
次いで、割込許可状態にする(ステップS722)。遊技制御手段は、電力供給停止時処理において復旧コマンドを送信し、払出制御手段では割込処理によって払出制御コマンドを受信するので、割込許可状態に設定される。そして、復旧コマンドが受信されるのを待つ(ステップS723)。なお、復旧コマンドは割込処理で受信されると、受信コマンドバッファに格納される。また、所定時間が経過しても復旧コマンドが受信されない場合には、ステップS711(初期化処理)に移行するようにしてもよい。復旧コマンドが受信されると、払出制御用CPU371は、スタックポインタの復帰処理を行う(ステップS731)。スタックポインタの値は、後述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされているバックアップRAM領域)に退避している。よって、ステップS731では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。復帰されたスタックポインタが指す領域(すなわちスタック領域における読み出し先:具体的にはそこから複数の領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0315】
なお、復旧コマンドとして払出可能状態指定コマンドを受信した場合には、払出停止中フラグがリセットされる。
【0316】
次いで、バックアップRAMに保存されていた賞球カウント値を総合個数記憶に反映する(ステップS733)。賞球カウント値は、後述する電力供給停止時処理において検出された賞球払出球の数に相当する。ステップS733では、払出制御用CPU371は、賞球カウント値を総合個数記憶の記憶値から減算する処理を行う。そして、賞球カウント値をクリアする。また、バックアップRAMに保存されていた貸球カウント値を貸し球個数記憶に反映する(ステップS734)。貸球カウント値は、後述する電力供給停止時処理において検出された球貸し払出球の数に相当する。ステップS734では、払出制御用CPU371は、貸球カウント値を貸し球個数記憶の記憶値から減算する処理を行う。そして、貸球カウント値をクリアする。
【0317】
その後、2ms毎にタイマ割込がかかるようにタイマ割込処理の設定を行うタイマ割込設定処理を実行する(ステップS735)。例えば、複数(例えば4つ)あるタイマのそれぞれに対応して設けられている制御レジスタのうちの一つ(例えばCH3)の制御レジスタに、タイマ割込設定値(この例ではA7(H):割込イネーブルやリセットの設定等)を設定し、次いで、2msに応じた時間定数データ(カウント値、この例では2E(H))を制御レジスタに設定する。また、払出制御用CPU371は、バックアップフラグをクリアする(ステップS736)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。
【0318】
さらに、スタック領域から各種レジスタの退避値を読み出して、各種レジスタ(IXレジスタ、HLレジスタ、DEレジスタ、BCレジスタ)に設定する(ステップS737)。すなわち、レジスタ復帰処理を行う。なお、各レジスタを復帰させる毎に、スタックポインタの値が減らされる。すなわち、スタックポインタの値が、スタック領域の1つ前のアドレスを指すように更新される。また、スタック領域からパリティフラグを復帰させ、その内容に従って割込フラグを復帰させる(ステップS738)。割込フラグは、払出制御用CPU371の内部フラグであり、割込許可状態にあるのか禁止状態にあるのかが示されている。
【0319】
また、パリティフラグがオン状態になっていなければ割込許可状態にする(ステップS739,S740)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復帰させる(ステップS741)。
【0320】
そして、RET命令が実行されるのであるが、ここでのリターン先は、払出状態復旧処理をコールした部分ではない。なぜなら、ステップS731においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS740の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて払出制御が再開される。
【0321】
図46は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。なお、バックアップRAM領域には、上記の遊技球の個数に関する情報を記憶する領域に限られず、例えば、後述する払出停止中フラグ、賞球経路エラーフラグなどのエラー状態を示すフラグ、バックアップフラグなどの各種のフラグを記憶する領域や、受信コマンドバッファなどの各種のバッファなどを記憶する領域なども形成されている。また、払出制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされるようにしてもよい。
【0322】
そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
【0323】
従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電力供給停止が生じても、所定期間内に電力供給が復旧すれば、バックアップRAM領域の記憶内容にもとづいて賞球処理および球貸し処理を再開することができる。すなわち、遊技機への電力供給が停止しても、電力供給が再開すれば、電力供給停止時の未払出の賞球個数と貸し球個数とにもとづいて払い出しが行われ、遊技者に与えられる不利益を低減することができる。
【0324】
図47は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
【0325】
図48は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は払出制御用CPU371のCLK/TRG2端子に入力されている。よって、主基板31からのINT信号が立ち上がると、払出制御用CPU371に割込がかかり、図48に示す払出制御コマンドの受信処理が開始される。なお、払出制御用CPU371は、割込が発生すると、ソフトウェアで割込許可にしない限り、マスク可能割込がさらに生ずることはないような構造のCPUである。
【0326】
なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音制御手段でも、同様のコマンド受信処理が実行されている。また、この実施の形態では、CLK/TRG2端子の入力が立ち上がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ったが、すなわち、INT信号の立ち上がりで割込が発生するような初期設定を行ったが、CLK/TRG2端子の入力が立ち下がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ってもよい。換言すれば、INT信号の立ち下がりで割込が発生するような初期設定を行ってもよい。
【0327】
すなわち、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成すれば、エッジは立ち上がりエッジであっても立ち下がりエッジであってもよい。いずれにせよ、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成される。このようにすることで、コマンドの取込が指示された段階でいち早くコマンド受信を行うことが可能になる。また、Aの期間(図30参照)が経過するまでINT信号の出力が待機されるので、INT信号の出力時に、制御信号CD0〜CD7のライン上のコマンドデータの出力状態は安定している。よって、払出制御手段において、払出制御コマンドは良好に受信される。
【0328】
払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート372a(図8参照)からデータを読み込む(ステップS851)。次いで、読み込んだデータが規則内のデータであるか否か確認する(ステップS851a)。規則内のデータであるか否かは、受信したデータの構成や内容が予め定められている規則に適合しているか否かを確認することで行われる。例えば、受信したデータが、正規のコマンドとはバイト数が異なるデータであった場合や、データの内容が正規のコマンドではあり得ない内容となっている場合などには、規則外のデータであると判定される。読み込んだデータが規則内のデータであれば、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである(図29参照)。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す受信コマンドバッファに格納する(ステップS853)。
【0329】
払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(受信コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0330】
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す受信コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである(図29参照)。なお、ステップS854における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。なお、ステップS854で「N」と判断された場合には、ステップS856の処理が行われないので、次に受信したコマンドは、今回受信したコマンドが格納されるはずであったバッファ領域に格納される。
【0331】
ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、最後に割込許可に設定する(ステップS860)。
【0332】
コマンド受信割込処理中は割込禁止状態になっている。上述したように、2msタイマ割込処理中は割込許可状態になっているので、2msタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に2msタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板31からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるCの期間(図30参照)をどの程度にすればよいのかを正確に判断することができる。さらに具体的には、コマンド受信処理に要する最長時間が決まるので、ステップS367でセットするウェイトカウンタの値をどの程度にすればよいのかを正確に判断することができる。
【0333】
また、払出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【0334】
次に、メイン処理におけるスイッチ処理(ステップS752)の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図49に示すように、スイッチタイマは検出信号(賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301B)の数2だけ設けられている。また、RAMにおいて、各スイッチタイマのアドレスは、入力ポートBのビット配列順(図42に示された上から下への順)と同じ順序で並んでいる。
【0335】
図50は、ステップS752のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用CPU371は、入力ポートBに入力されているデータを入力する(ステップS651)。次いで、処理数として「2」を設定し(ステップS652)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS653)。そして、スイッチチェック処理サブルーチンをコールする(ステップS654)。なお、スイッチチェック処理サブルーチンは、遊技制御手段におけるスイッチチェック処理サブルーチンと同様に構成することができる(図22参照)。
【0336】
そして、賞球カウントスイッチ301Aに対応したスイッチタイマの値をチェックし(ステップS655)、その値が2になっていれば、1個の賞球の払出が行われたと判断する。1個の賞球の払出が行われたと判断した場合には、払出制御用CPU371は、賞球未払出カウンタ(総合個数記憶に格納されている賞球個数:未払出数データ)を−1する(ステップS656)。
【0337】
次いで、球貸しカウントスイッチ301Bに対応したスイッチタイマの値をチェックし(ステップS657)、その値が2になっていれば、1個の貸し球の払出が行われたと判断する。1個の貸し球の払出が行われたと判断した場合には、払出制御用CPU371は、貸し球未払出個数カウンタ(貸し球個数記憶に格納されている貸し球数:未払出数データ)を−1する(ステップS658)。
【0338】
図51は、ステップS753の払出禁止状態設定処理の一例を示すフローチャートである。払出禁止状態設定処理において、払出制御用CPU371は、受信バッファ中に受信コマンドがあるか否かの確認を行う(ステップS753a)。受信バッファ中に受信コマンドがあれば、受信した払出制御コマンドが払出禁止状態指定コマンドであるか否かの確認を行う(ステップS753b)。払出禁止状態指定コマンドであれば、払出制御用CPU371は、払出禁止状態に設定する(ステップS753c)。
【0339】
ステップS753bで受信コマンドが払出禁止状態指定コマンドでないことを確認すると、受信した払出制御コマンドが払出可能状態指定コマンドであるか否かの確認を行う(ステップS753d)。払出可能状態指定コマンドであれば、払出禁止状態を解除する(ステップS753e)。
【0340】
なお、払出禁止状態に設定するときには、払出制御用CPU371は、例えば払出モータ289の駆動を停止する制御を行うとともに払出禁止状態であることを示す内部フラグ(払出停止中フラグ)をセットする。また、払出禁止状態を解除するときには、払出モータ289の駆動を再開するとともに、払出停止中フラグをリセットする。すなわち、ステップS753cでは、払い出しが禁止された状態であることを示すデータ(セットされた払出停止中フラグ)を所定の記憶領域に記憶する処理が実行されており、ステップS753eでは、払い出しが許可された状態であることを示すデータ(リセットされた払出停止中フラグ)を所定の記憶領域に記憶する処理が実行されている。
【0341】
払出停止中フラグは、例えばバックアップRAM領域に格納されている。払出停止中フラグは、例えばD0〜D7の各ビットから成る1バイト構成とされる。この場合、例えば、D0が「1」であれば払出禁止状態が設定されている状態を示し、D1が「1」であれば払出禁止状態が解除されている状態を示すようにすればよい。
【0342】
払出禁止状態に設定された場合に、直ちに払出モータ289を停止してもよいが、そのように制御するのではなく、切りのよいところで払出モータ289を停止するようにしてもよい。例えば、遊技球の払出を25個単位で実行し、一単位の払出が完了した時点で払出モータ289を停止するとともに、内部状態を払出禁止状態に設定するようにしてもよい。上述したように、球切れスイッチ187は、払出球通路に27〜28個程度の遊技球が存在することを検出できるような位置に設置されているので、主基板31の遊技制御手段が球切れを検出しても、その時点から少なくとも25個の払出は可能である。従って、一単位の払出が完了した時点で払出禁止状態にしても問題は生じない。また、一単位の区切りで払出禁止状態とすれば、払出再開時の制御が容易になる。
【0343】
図52は、ステップS754のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用CPU371は、受信バッファに受信コマンドがあるか否かの確認を行う(ステップS754a)。受信コマンドがあれば、受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであるか否かの確認を行う(ステップS754b)。なお、払出制御用CPU371は、コマンド指示手段としての読出ポインタが指す受信バッファ中のアドレスに格納されている受信コマンドについてステップS754bの判断を行う。また、その判断後、読出ポインタの値は+1される。読出ポインタが指すアドレスが受信コマンドバッファ12(図47参照)のアドレスを越えた場合には、読出ポインタの値は、受信コマンドバッファ1を指すように更新される。
【0344】
受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであれば、払出制御コマンドで指示された個数を総合個数記憶に加算する(ステップS754c)。すなわち、払出制御用CPU371は、主基板31のCPU56から送られた払出制御コマンドに含まれる賞球個数をバックアップRAM領域(総合個数記憶)に記憶する。
【0345】
なお、払出制御用CPU371は、必要ならば、コマンド受信個数カウンタの減算や受信バッファにおける受信コマンドシフト処理を行う。また、払出禁止状態設定処理およびコマンド解析実行処理が、読出ポインタの値と受信バッファにおける最新コマンド格納位置とが一致するまで繰り返すように構成されていてもよい。例えば、読出ポインタの値と受信バッファにおける最新コマンド格納位置との差が「3」であれば未処理の受信済みコマンドが3つあることになるが、一致するまで繰り返し処理が実行されることによって、未処理の受信済みコマンドがなくなる。すなわち、受信バッファに格納されている受信済みコマンドが、一度の処理で、全て読み出されて処理される。
【0346】
図53は、ステップS755のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用CPU371は、カードユニット制御用マイクロコンピュータより入力されるVL信号を検知したか否かを確認する(ステップS755a)。VL信号を検知していなければ、VL信号非検知カウンタを+1する(ステップS755b)。また、払出制御用CPU371は、VL信号非検知カウンタの値がこの実施の形態では125であるか否か確認する(ステップS755c)。VL信号非検知カウンタの値が125であれば、払出制御用CPU371は、発射制御基板91への発射制御信号出力を停止して、駆動モータ94を停止させる(ステップS755d)。
【0347】
以上の処理によって、125回(2ms×125=250ms)継続してVL信号のオフが検出されたら、球発射禁止状態に設定される。
【0348】
ステップS755aにおいてVL信号を検知していれば、払出制御用CPU371は、VL信号非検知カウンタをクリアする(ステップS755e)。そして、払出制御用CPU371は、発射制御信号出力を停止していれば(ステップS755f)、発射制御基板91への発射制御信号出力を開始して駆動モータ94を動作可能状態にする(ステップS755g)。
【0349】
図54および図55は、ステップS756の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0350】
球貸し制御処理において、払出制御用CPU371は、球貸し停止中であるか否かを確認する(ステップS510)。停止中であれば、処理を終了する。なお、球貸し停止中であるか否かは、図51に示された払出禁止状態設定処理などにおいて設定される払出停止中フラグがオンしているか否かによって確認される。
【0351】
球貸し停止中でなければ、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS511)、貸し球払出中であれば図55に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する(ステップS512)。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【0352】
貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50から球貸し要求があったか否かを確認する(ステップS513)。要求があれば、球貸し処理中フラグをオンするとともに(ステップS514)、25(球貸し一単位数:ここでは100円分)をバックアップRAM領域の貸し球個数記憶に設定する(ステップS515)。そして、払出制御用CPU371は、EXS信号をオンする(ステップS516)。また、球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS517)。さらに、払出制御用CPU371は、25個の遊技球を払い出すためのモータ回転時間を設定するか、または、モータ回転時間に応じた数の出力パルス数を決定する。そして、払出モータ289をオンして(ステップS518)、図55に示す球貸し中の処理に移行する。
【0353】
なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をオフ状態にしてからである。また、球貸し処理中フラグはバックアップRAM領域に設定される。
【0354】
図55は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、球貸しカウントスイッチ301Bの検出信号による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。
【0355】
球貸し制御処理において、払出制御用CPU371は、貸し球通過待ち時間中であるか否かの確認を行う(ステップS519)。貸し球通過待ち時間中でなければ、貸し球の払出を行い(ステップS520)、払出モータ289の駆動を終了すべきか(一単位の払出動作が終了したか)否かの確認を行う(ステップS521)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS522)、貸し球通過待ち時間の設定を行う(ステップS523)。
【0356】
ステップS519で貸し球通過待ち時間中であれば、払出制御用CPU371は、貸し球通過待ち時間が終了したか否かの確認を行う(ステップS524)。貸し球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから球貸しカウントスイッチ301Bを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット50に対して次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS525)。また、振分ソレノイドをオフするとともに(ステップS526)、球貸し処理中フラグをオフする(ステップS527)。なお、貸し球通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ301Bを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【0357】
なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【0358】
貸し球個数記憶の内容は、遊技機への電力供給が停止しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電力供給が復旧すると、払出制御用CPU371は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【0359】
図56および図57は、ステップS757の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0360】
賞球制御処理において、払出制御用CPU371は、まず、賞球停止中であるか否かを確認する(ステップS530)。停止中であれば、処理を終了する。なお、賞球停止中であるか否かは、図51に示された払出禁止状態設定処理などにおいて設定される払出停止中フラグがオンしているか否かによって確認される。
【0361】
賞球停止中でなければ、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS531)、貸し球払出中であれば処理を終了する。なお、貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、既に賞球払出処理が開始されているか否か、すなわち賞球中であるか否か確認する(ステップS532)。賞球中であれば図57に示す賞球中の処理に移行する。なお、賞球中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【0362】
賞球払出中でなければ、払出制御用CPU371は、総合個数記憶に格納されている賞球数(未払出の賞球数)が0でないか否か確認する(ステップS534)。総合個数記憶に格納されている賞球数が0でなければ、賞球制御用CPU371は、賞球処理中フラグをオンし(ステップS535)、総合個数記憶の値が25以上であるか否か確認する(ステップS536)。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
【0363】
総合個数記憶に格納されている賞球個数が25以上であると、払出制御用CPU371は、25個分の遊技球を払い出すまで払出モータ289を回転させるように払出モータ289に対して駆動信号を出力するために、25個払出動作の設定を行う(ステップS537)。具体的には、25個の遊技球を払い出すためのモータ回転時間を設定したり、モータ回転時間に応じた数の出力パルス数を決定する。
【0364】
総合個数記憶に格納されている賞球個数が25以上でなければ、払出制御用CPU371は、総合個数記憶に格納されている数に応じた遊技球を払い出すまで払出モータ289を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う(ステップS538)。具体的には、遊技球を払い出すためのモータ回転時間を設定したり、モータ回転時間に応じた数の出力パルス数を決定する。次いで、払出モータ289をオンする(ステップS539)。なお、振分ソレノイドはオフ状態であるから、球払出装置97の下方の球振分部材は賞球側に設定されている。そして、図57に示す賞球制御処理における賞球払出中の処理に移行する。
【0365】
図57は、払出制御用CPU371による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、賞球カウントスイッチ301Aの検出信号による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。
【0366】
賞球中の処理において、払出制御用CPU371は、賞球通過待ち時間中であるか否かの確認を行う(ステップS540)。賞球通過待ち時間中でなければ、賞球払出を行い(ステップS541)、払出モータ289の駆動を終了すべきか(25個または25個未満の所定の個数の払出動作が終了したか)否かの確認を行う(ステップS542)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS543)、賞球通過待ち時間の設定を行う(ステップS544)。賞球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから賞球カウントスイッチ301Aを通過するまでの時間である。
【0367】
ステップS540で賞球通過待ち時間中であれば、払出制御用CPU371は、賞球通過待ち時間が終了したか否かの確認を行う(ステップS545)。賞球通過待ち時間が終了した時点は、ステップS537またはステップS538で設定された賞球が全て払い出された状態である。そこで、払出制御用CPU371は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする(ステップS546)。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ301Aを通過しなかった場合には、賞球経路エラーとされる。
【0368】
なお、この実施の形態では、ステップS511、ステップS531の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【0369】
総合個数記憶および貸し球個数記憶の内容は、遊技機への電力供給が停止しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電力供給が復旧すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【0370】
なお、払出制御用CPU371は、主基板31から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球個数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球個数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−1する(この場合、払出制御処理で減算処理を行うようにする)。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機への電力供給が停止しても、所定期間中に電源が復旧すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【0371】
なお、この実施の形態では、払出制御手段は、払出制御信号に関するINT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ(この例では受信バッファ)が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【0372】
払出制御手段において、払出禁止状態であっても割込処理は起動されるので、払出制御手段は、払出禁止状態であっても、払出制御コマンドを受信することができる。そして、払出禁止状態では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファが設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【0373】
そして、払出制御手段において、送出コマンドを受信リングバッファにおけるどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【0374】
なお、上記の実施の形態では、変動データ記憶手段としてRAMを用いた場合を示したが、変動データ記憶手段として、電気的に書き換えが可能な記憶手段であればRAM以外のものを用いてもよい。
【0375】
さらに、上記の実施の形態では、電源監視手段が電源基板910に設けられ、システムリセットのための信号を発生する回路は電気部品制御基板に設けられたが、それらがともに電気部品制御基板に設けられていてもよい。
【0376】
図58〜図60は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(NMI処理:電力供給停止時処理)の処理例を示すフローチャートである。この例では、NMIに応じて電力供給停止時処理が実行されるが、電源断信号を払出制御用CPU371のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0377】
マスク不能割込処理において、払出制御用CPU371は、AFレジスタを所定のバックアップRAM領域(具体的にはスタック領域)に退避する(ステップS801)。また、割込フラグをパリティフラグにコピーし(ステップS802)、その内容をスタック領域に退避する(ステップS803)。割込フラグは、払出制御用CPU371の内部フラグであり、割込許可状態にあるのか禁止状態にあるのかが示されている。また、BCレジスタ、DEレジスタ、HLレジスタおよびIXレジスタをスタック領域に退避する(ステップS804〜807)。なお、電源復旧時には、退避された内容にもとづいてレジスタ内容が復帰され、パリティフラグの内容に応じて、割込許可状態/禁止状態の内部設定がなされる。
【0378】
次いで、払出制御用CPU371は、クリアデータ(00)を適当なレジスタにセットし(ステップS809)、処理数(この例では「2」)を別のレジスタにセットする(ステップS810)。また、出力ポートCのアドレス(この例では「00H」)をIOポインタに設定する(ステップS811)。IOポインタとして、さらに別のレジスタが用いられる。
【0379】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS812)、IOポインタの値を1増やし(ステップS813)、処理数の値を1減算する(ステップS814)。ステップS812〜S814の処理が、処理数の値が0になるまで繰り返される(ステップS815)。その結果、出力ポートCおよび出力ポートD(図41参照)にクリアデータが設定される。図41に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、出力ポートCおよび出力ポートDの全てのポートがオフ状態になる。この例では、出力ポートEのクリア処理は実行されないので、振分ソレノイド310の出力ポートはオフ状態とはされない。なお、出力ポートEにおける振分ソレノイド310の出力ポート以外の出力ポートについても、クリア処理を行うようにしてもよい。
【0380】
また、この実施の形態では、払出モータ289として、払出制御用CPU371からのパルス信号(駆動信号)によって回転するステッピングモータが用いられている。従って、払出モータ289に対するパルス信号の出力が停止されることによって、球払出装置97の駆動は停止する。
【0381】
その後、この実施の形態では、所定期間(以下、「払出確認期間」という)、払出検出手段としての賞球カウントスイッチ301A(景品遊技媒体検出手段に相当)および球貸しカウントスイッチ301B(貸出遊技媒体検出手段に相当)の検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら賞球カウント値を1増やす。また、球貸しカウントスイッチ301Bがオンしたら貸球カウント値を1増やす。
【0382】
なお、この実施の形態では、払出確認期間を計測するために、払出確認期間計測用カウンタが用いられる。払出確認期間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S817から始まってS817に戻るループ)が1回実行される毎に−1され、その値が0になると、払出確認期間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ払出確認期間に相当する。
【0383】
払出確認期間を計測するために、払出制御用CPU371の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(払出確認期間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、払出確認期間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。また、払出確認期間は、遊技球が、球払出装置97から落下した時点から、賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bに到達するまでの時間以上に設定される。
【0384】
少なくとも、スイッチ検出処理が実行される払出確認期間(遊技球が球払出装置97から落下した時点から賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bに到達するまでの期間以上の期間。例えば、100[ms]〜150[ms]程度。)では、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが遊技球を検出できる状態でなければならない。そこで、この実施の形態では、図9に示されたように、電源基板910におけるコンバータIC920の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが動作可能になる。その期間が、払出確認期間以上になるように、コンデンサの容量が決定される。払出確認期間が長い程、あるいは払出確認期間以上とされるスイッチ駆動可能な期間に余裕を持たせる程、より容量の大きいコンデンサが必要になるため、払出確認期間を短く設定するとともに、スイッチ駆動可能な期間に余裕を持たせすぎないようにすることが望ましい。
【0385】
なお、入力ポートおよび払出制御用CPU371も、コンバータIC920で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
【0386】
さらに、この実施の形態では、賞球路と貸し球路とを切り換えるために振分ソレノイド310が用いられている。よって、図9に示されたコンデンサ924の容量は、少なくとも上記の払出確認期間の間、振分ソレノイド310を駆動できるような容量になっている。なお、コンデンサ924は、各電気部品に電力供給を行うためのライン(コネクタ915の入力側のライン)に接続されているが、電源断信号に応じて遊技制御手段が他のソレノイド(大入賞口開閉用等)の駆動信号をオフ状態にしているので、電源断信号発生後では、コンデンサ924は、各ソレノイドのうちでは振分ソレノイド310のみを駆動できればよい。
【0387】
なお、この実施の形態で用いられているコンデンサ923およびコンデンサ924は補助駆動電源の一つの例であるが、補助駆動電源として他のものを用いてもよい。少なくとも、上記の払出確認期間の間は、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、振分ソレノイド310および払出制御用CPU371等の払出制御手段を駆動できるものであれば、他の態様の補助駆動電源を用いることができる。
【0388】
払出検出手段からの検出信号の入力処理(スイッチ検出処理)では、払出制御用CPU371は、まず、払出確認期間計測用カウンタに、払出確認期間に対応した値mを設定する(ステップS816)。また、ステップS817において、2ms計測用カウンタに2msの時間に相当する初期値nを設定する。そして、2ms計測用カウンタの値が0になるまで(ステップS818)、2ms計測用カウンタの値が−1される(ステップS819)。
【0389】
2ms計測用カウンタの値が0になると、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bの検出信号の入力チェックを行う。すなわち、ステップS752のスイッチ処理に類似した処理を行う。具体的には、入力ポートBに入力されているデータを入力する(ステップS820)。次いで、処理数として「2」を設定し(ステップS821)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS822)。そして、スイッチチェック処理サブルーチンをコールする(ステップS823)。
【0390】
賞球カウントスイッチ301Aに対応したスイッチタイマの値が2である場合には、賞球カウントスイッチ301Aがオンしたとして(ステップS825)、賞球カウント値(バックアップRAM領域にある)を1増やす(ステップS826)。また、球貸しカウントスイッチ301Bに対応したスイッチタイマの値が2である場合には、球貸しカウントスイッチ301Bがオンしたとして(ステップS827)、貸球カウント値(バックアップRAM領域にある)を1増やす(ステップS828)。次いで、払出確認期間計測用カウンタの値を−1し(ステップS829)、その値が0になっていなければステップS817に戻る(ステップS830)。
【0391】
以上の処理によって、払出確認期間内に賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bがオンしたら、賞球カウント値および貸球カウント値が+1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した遊技球について、必ず賞球カウント値または貸球カウント値が+1される。遊技機への電力供給が停止し、その後、復旧すると、遊技状態復旧処理におけるステップS733において(図45参照)、払出制御用CPU371は、賞球カウント値を総合個数記憶の記憶値から減算する。また、貸球カウント値を貸し球個数記憶の記憶値から減算する。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。
【0392】
また、通常の制御と同一の条件の下および同一の処理によって賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bがオンしたか否かを判定するので、電力供給停止時処理でのスイッチ検出の入力処理ルーチンと、通常の制御におけるスイッチ検出の入力処理ルーチン(図50に示されたスイッチ処理で呼び出されるスイッチチェック処理サブルーチン)を、共通に使用することができる。すなわち、通常の制御におけるスイッチ検出の入力処理ルーチンを、電力供給停止時処理でのスイッチ検出の際に利用することができる。従って、電力供給停止時処理のプログラム量が削減される。
【0393】
払出確認期間が経過すると(ステップS830)、払出制御用CPU371は、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS835)。バックアップフラグはバックアップRAM領域に形成されている。次いで、主基板31のCPU56の処理と同様の処理を行ってパリティデータを作成しバックアップRAM領域に保存する(ステップS836〜S845)。そして、スタックポインタの内容をバックアップRAM領域に退避した後(ステップS846)、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS847)。以後、内蔵RAMのアクセスができなくなる。
【0394】
RAMアクセスレジスタにアクセス禁止値を設定すると、払出制御用CPU371は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0395】
なお、この実施の形態では、払出制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、払出制御状態を保存するための処理に相当する。
【0396】
以上のように、この実施の形態では、図61の概念図に示すように、主基板31に搭載されている遊技制御手段56Aは、遊技制御処理、電力供給停止時処理および復旧処理を実行可能であり、払出制御基板37に搭載されている払出制御手段371Aは、払出制御処理、電力供給停止時処理および復旧処理を実行可能である。また、払出手段(例えば球払出装置97)により払い出された遊技媒体を検出する払出遊技媒体検出手段301Cと、電源監視手段から検出信号(電源断信号)が出力された後所定の検出維持期間が経過するまでの期間において払出遊技媒体検出手段による検出を可能な状態とするために払出遊技媒体検出手段に電力を供給可能な補助電力供給手段とが設けられている。遊技制御手段56Aおよび払出制御手段371Aは、電力供給停止時処理において、払出遊技媒体検出手段301Cからの検出信号の入力処理も行う。そして、遊技制御手段56Aは、復旧処理において、復旧コマンド送信処理を行って、タイマ割込設定処理およびレジスタ復帰処理を行う。その後、復旧処理が完了したら遊技制御処理を実行する状態に戻る。
【0397】
遊技制御手段は、復旧処理において、必ず復旧コマンドを払出制御手段に送信する。そして、払出制御手段は、復旧コマンドを受信したことを条件に、タイマ割込設定処理およびレジスタ復帰処理を行った後、払出手段としての球払出装置97の制御を再開する。すなわち、球払出の条件が成立していれば球払出装置97を駆動して遊技球の払い出しを行わせる状態になる。
【0398】
遊技制御手段は復旧コマンドを送信した後タイマ割込設定処理およびレジスタ復帰処理を行って遊技制御が可能な状態に戻り、払出制御手段は復旧コマンドを受信した後タイマ割込設定処理およびレジスタ復帰処理を行って払出制御が可能な状態に戻るので、遊技制御の再開と払出制御の再開のタイミングがほぼ一致し、遊技制御と払出制御との間でずれが生ずることが防止される。すなわち、遊技制御手段が制御を再開するタイミングと、払出制御手段が払出の制御を再開するタイミングとの差を小さくすることができ、遊技制御手段と払出制御手段との間で、遊技球の払出に関する状態認識のずれを生じさせないようにすることができる。
【0399】
なお、払出制御手段は、復旧コマンドとして払出禁止状態指定コマンドを受信した場合には、内部状態を払出禁止状態にままにする。
【0400】
また、上記の実施の形態では、払出制御手段が、電力供給停止時処理において、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bがオンしたか否かをそれぞれ確認する構成としていたが、いずれか一方のスイッチの状態を確認する構成としてもよい。
【0401】
上述したように、この例では、振分ソレノイド310の出力ポート以外の出力ポートのクリア処理が、スイッチ検出処理の実行前(ステップS762の前)に行われる。電力供給停止時処理の実行中では、払出制御用CPU371やスイッチ類はコンデンサ923,924の充電電力等で駆動されることになる。この例では、出力ポートのクリア処理をスイッチ検出処理の実行前に行っているので、コンデンサの充電電力等を電力供給停止時処理のために効率的に使用することができる。
【0402】
この例では、電源の瞬断等に起因して電源断信号が発生した場合には、電源電圧は平常時の値に復旧し遊技機は制御可能な状態に戻る。そのような状況が発生したときには、電源基板910から復帰信号が払出基板37に供給される。復帰信号が入力されると、払出制御用CPU371にリセットがかかる。従って、払出制御用CPU371は、図45に示されたメイン処理の実行を開始することができる。その際、電源断信号が出力されたときに遊技状態が保存されているので、ステップS710の処理で払出状態復旧処理が実行され、払出制御は、電源断信号発生時の状態に戻り、その状態から払出制御が続行される。
【0403】
また、電力供給停止時処理(図35〜図37、図58〜図60参照)において、検出維持期間が経過するまでの間は、コンデンサ923,924に充電された電力を用いて、電源基板910が、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bを駆動可能な電力を供給するとともに、振分ソレノイド310が振分部材311の状態を保持するための駆動電力を供給し、遊技制御手段が賞球カウントスイッチ301Aからの検出信号の入力処理すなわちスイッチ検出処理(ステップS466〜ステップS473)を行い、払出制御手段が賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bからの検出信号の入力処理すなわちスイッチ検出処理(ステップS816〜ステップS828)を行う構成にしたので、電力供給停止時処理で、払い出された景品遊技媒体(入賞領域への入賞にもとづいて景品として払い出される遊技媒体)や貸出遊技媒体(遊技者からの貸出要求に応じて貸し出される遊技媒体)を確実に検出することができるようになる。すなわち、上述した遊技機によれば、電力供給停止時処理において、払い出された遊技媒体の検出を確実に実行することができるので、遊技媒体の未払出数を正確に把握することができるようになる。
【0404】
また、電力供給停止時処理において実行されるスイッチ検出処理では、遊技制御手段における遊技制御処理や払出制御手段におけるメイン処理で実行されるスイッチ検出処理と同じサブルーチンが用いられているので、電力供給停止時処理のプログラム容量を低減することができる。
【0405】
また、上述したように、電源供給停止時処理のあとの待機状態が継続して実行されているのにもかかわらず電力供給が停止していない場合に、待機状態から復帰させるための復帰信号をCPU56や払出制御用CPU371に出力する構成としたので、復帰信号によって、CPU56や払出制御用CPU371を待機状態から制御実行状態に復帰させることが可能になる。従って、ごく短時間で復旧する電源の瞬断等が生じても制御に支障を来すことがないようにすることができる。
【0406】
すなわち、記憶保持手段(例えばバックアップRAM)を有する遊技制御手段および払出制御手段が電源断信号に応じて電力供給停止時処理を行った後にシステムリセットを待つ待機状態にあるときに、電源復旧に応じて復帰信号が出力されると、遊技制御手段および払出制御手段は、プログラムの最初部分から動作を再開する。その際、電力供給停止時処理において保存された制御状態が復旧されるので、遊技者から見ると、何事もなかったかのように遊技が続行される。
【0407】
さらに、電気部品制御手段は、電力供給が開始されたときに、電力供給停止時処理において保存された制御状態が残っていても、操作手段(クリアスイッチ921)が操作されている場合には、状態復旧処理を実行せず初期化処理を実行する。よって、遊技店員等が保存状態を容易にクリアすることができ、遊技店での遊技機運用上の利便性を向上させることが可能になる。つまり、遊技店において、遊技機の状態復旧処理を行う必要がない場合にはバックアップ記憶手段の記憶内容を初期化することができるので、他の遊技者に本来与えられるべきでない利益が与えられることを容易に防止でき、その結果、遊技店における遊技機運用上の利便性を向上させることができる。
【0408】
また、上述したように、検出維持期間が経過するまでの間は、電源基板910が、振分ソレノイド310に対して振分部材311を駆動することが可能な電力を供給する構成とされているので、通路切換手段としての振分ソレノイド310の駆動状態を電気的に保持させることができる。従って、電源基板910には、検出維持期間が経過するまでの間、振分部材311の状態を維持させるための電力を供給する作動状態保持手段が搭載されていることになる。また、検出維持期間が経過するまでの間は振分部材311の状態が維持され、振分部材311が動作することがないので、振分部材311と球通路293a,293b内の壁との間に遊技球が挟まってしまうことを防止できる。
【0409】
また、上述したように、停電等の発生に応じて電源断信号が出力されたら、まず、球払出装置97の駆動が停止された後、所定の検出維持期間、払出検出手段(賞球カウントスイッチ301Aや球貸しカウントスイッチ301B)からの検出信号の入力処理(スイッチ検出処理)が実行され、その後、払出制御状態を保存するための処理が行われる。従って、停電発生時に払出途中であった遊技球も、バックアップRAMの保存内容に確実に反映される。よって、遊技機への電力供給停止時に制御状態をバックアップ記憶手段に保存するように構成した場合に、保存される制御状態と実際の制御状態との間に矛盾等を生じさせないようにすることができる。
【0410】
また、上述したように、復帰信号を出力可能な手段(例えばカウンタ971等で構成される手段:待機状態復帰手段の一例)が電源基板910に搭載される構成にしたので、各制御基板毎に待機状態復帰手段を設ける必要がなく、簡単な構成で待機状態から復帰させることができるようになる。
【0411】
また、上述したように、電源監視手段(例えば、電源監視用IC902)が、各電気部品制御手段(CPU56や払出制御用CPU371など)に供給される直流電源のうち、最も電圧の高い電源(例えば、VSL(+30V))を監視するように構成されているので、早期に電圧の低下を検出することができる。
【0412】
また、上述したように、電源監視手段(例えば、電源監視用IC902)が、各電気部品制御手段(CPU56や払出制御用CPU371など)に電源を供給する電源基板(例えば、電源基板910)に搭載されるように構成されているので、監視電源の供給源の近くに電源監視手段を配することができ、電源監視手段が電源の状態の監視を適切に行うことができるようになる。また、上記のように構成すれば、電源基板を変更するだけで、電源監視手段の交換を行うことができる。
【0413】
また、上述したように、電源断処理を実行させない所定期間(遅延期間)は、少なくとも所定電圧(例えば、22V)以上に供給される電圧が上昇するまでの期間を含むように構成されているので、不安定な状態で電源断処理が実行されることを防止することができる。特に、上述した実施の形態では所定電圧以下となった場合に電源断処理が実行されるので、上記のような構成としたことによって、立ち上がり時に電源断処理が誤って実行されてしまうことを防止することができる。
【0414】
また、上述したように、電力供給が開始した場合に、払出制御手段(払出制御用CPU371)が、遊技制御手段(CPU56)からの払出可能状態指定コマンドの受信がなければ遊技球の払出処理を実行しない構成としたので、遊技制御手段が制御可能でない状態であるのにもかかわらず遊技球の払い出しがなされてしまうことを防止することができる。従って、遊技制御手段は、払い出された遊技球を検出する賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bの検出信号を確実に受信することができる。よって、未払出の遊技球数について遊技制御手段と払出制御手段とでそれぞれ把握している情報の内容に食い違いが生じてしまうことを防止することができ、遊技制御手段と払出制御手段とで確実に制御上の整合をとることができる。
【0415】
また、賞球カウントスイッチ301Aからの検出信号は遊技制御手段と払出制御手段の双方に入力され、球貸しカウントスイッチ301Bからの検出信号は払出制御手段のみに入力されるように構成されているので、景品遊技媒体と貸出遊技媒体とのそれぞれに応じた確実な管理を行うことができる。
【0416】
電源基板910において復帰信号が生成されない場合にソフトウェアによってタイマ処理を行うことによって待機状態から制御状態に戻ることができるが、タイマ処理は、ハードウェアによって実行されてもよい。
【0417】
図62は、電源基板において復帰信号が生成されない場合にハードウェアによってタイマ処理を行うような構成の一例を示すブロック図である。この例では、主基板31に、ウォッチドッグタイマとして機能するカウンタ(ウォッチドッグタイマ回路)162が設けられる。ウォッチドッグタイマ回路162は、発振回路164の出力パルスをカウントし、カウントアップすると、Q出力としてハイレベルの1パルスを発生する。そのパルス信号は、反転回路163で論理反転され、復帰信号としてAND回路161に入力される。AND回路161は、リセット信号と復帰信号の論理積をとってCPU56のリセット端子に供給する。なお、CPU56からシステムクロックまたはその分周クロックを出力するように設定し、そのクロックを、ウォッチドッグタイマ回路162の入力クロック信号としてもよい。
【0418】
カウントアップ値は、電源断信号がローレベルになってから、VSLの電圧値がVcc生成可能電圧にまで低下する時間以上に設定される。ウォッチドッグタイマ回路162はVccを電源として動作するので、カウントアップ値は、ウォッチドッグタイマ回路162の動作可能期間に相当する値以上に設定される。従って、遊技機への電力供給停止時には、一般には、ウォッチドッグタイマ回路162がカウントアップして復帰信号が出力される前に、ウォッチドッグタイマ回路162およびその他の回路部品は動作しなくなる。
【0419】
なお、CPU56が遊技制御を行っているときには、定期的にクリアパルスがウォッチドッグタイマ回路162に与えられる。クリアパルスの出力周期は、ウォッチドッグタイマ回路162がカウントアップするまでの時間よりも短い。従って、CPU56が、通常の遊技制御を行っているときにウォッチドッグタイマ回路162のQ出力にパルスが現れることはない。
【0420】
図63は、ウォッチドッグタイマ回路162が設けられた場合の遊技制御手段の2msタイマ割込処理を示すフローチャートである。図63に示すように、遊技制御処理(ステップS21〜S32a)内において、ウォッチドッグタイマクリア処理(ステップS32a)が実行される。従って、ウォッチドッグタイマクリア処理は、2ms毎に実行される。
【0421】
ウォッチドッグタイマクリア処理(ステップS32a)では、ウォッチドッグタイマ回路162のクリア端子に至る出力ポートに1パルスを出力する処理が行われる。よって、遊技制御処理の実行中では、ウォッチドッグタイマ回路162に定期的にクリアパルスが与えられるので、カウントアップすることはない。
【0422】
遊技機に対する供給電圧が低下して電源断信号が出力されると、図21〜図23に示されたようなマスク不能割込処理が開始される。その処理中ではウォッチドッグタイマ回路162に対してクリアパルスは出力されない。従って、電源電圧が復旧して、ウォッチドッグタイマ回路162がカウントアップするまで動作しているような場合には復帰信号が出力される。
【0423】
図64は、上述したソフトウェアタイマ処理またはウォッチドッグタイマ回路162によって復帰信号が作成される場合の復帰信号の出力タイミング等を示すタイミング図である。図64(A)は、遊技機に対する電力供給が停止された場合の例である。ソフトウェアタイマ処理は電力供給停止時処理が終了して待機状態になってから開始される。また、マスク不能割込処理ではウォッチドッグタイマ回路162に対してクリアパルスは出力されないので、ウォッチドッグタイマ回路16は、実質的に、電力供給停止時処理の開始時から起動される。いずれの場合でも、タイムアップ値(カウントアップ値)は、電源電圧がVcc生成可能電圧値よりも小さくなるまでタイムアップしないように設定されているので、復帰信号が発生することはない。
【0424】
電源の瞬断等が生ずると、図64(B)に示すように、VSLの電圧レベルが短期間低下した後に復旧する。その場合にも、VSLの電圧レベルが電源断信号出力レベル以下になると、電源断信号がローレベルになって、電力供給停止時処理が開始される。そして、CPU56は電力供給停止時処理終了後ループ状態に入る。何らの制御も行わないと、ループ処理から抜けられないのであるが、この場合には、ウォッチドッグタイマ回路162がカウントアップして復帰信号が発生する。
【0425】
図62に示されたように、主基板31において、復帰信号は、AND回路161を介して、CPU56のリセット端子に入力される。従って、CPU56にはシステムリセットがかかる。その結果、CPU56は待機状態から抜け出すことができる。
【0426】
図65は、電源基板において復帰信号が生成されない場合に払出制御基板37におけるハードウェアによってタイマ処理を行うような構成の一例を示すブロック図である。この例では、払出制御基板37に、ウォッチドッグタイマとして機能するカウンタ(ウォッチドッグタイマ回路)386が設けられる。ウォッチドッグタイマ回路386は、発振回路388の出力パルスをカウントし、カウントアップすると、Q出力としてハイレベルの1パルスを発生する。そのパルス信号は、反転回路387で論理反転され、復帰信号としてAND回路385に入力される。AND回路385は、リセット信号と復帰信号の論理積をとってCPU56のリセット端子に供給する。
【0427】
カウントアップ値は、電源断信号がローレベルになってから、VSLの電圧値がVcc生成可能電圧にまで低下する時間以上に設定される。ウォッチドッグタイマ回路386はVccを電源として動作するので、カウントアップ値は、ウォッチドッグタイマ回路386の動作可能期間に相当する値以上に設定される。従って、一般には、ウォッチドッグタイマ回路386がカウントアップして復帰信号が出力される前に、ウォッチドッグタイマ回路386およびその他の回路部品は動作しなくなる。なお、払出制御用CPU371が払出制御を行っているときには、定期的にクリアパルスがウォッチドッグタイマ回路386に与えられる。クリアパルスの出力周期は、ウォッチドッグタイマ回路386がカウントアップするまでの時間よりも短い。従って、払出制御用CPU371が、通常の遊技制御を行っているときにウォッチドッグタイマ回路386のQ出力にパルスが現れることはない。
【0428】
図66は、ウォッチドッグタイマ回路386が設けられた場合の払出制御手段のメイン処理の一部を示すフローチャートである。図66に示す処理は、図43に示されたステップS701〜S714の処理に続いて実行される。この場合には、払出制御処理のループ(ステップS715,S751〜S761)内において、ウォッチドッグタイマクリア処理(ステップS761)が実行される。従って、ウォッチドッグタイマクリア処理は、2ms毎に実行される。
【0429】
ウォッチドッグタイマクリア処理(ステップS761)では、ウォッチドッグタイマ回路386のクリア端子に至る出力ポートに1パルスを出力する処理が行われる。よって、払出制御処理の実行中では、ウォッチドッグタイマ回路386に定期的にクリアパルスが与えられるので、カウントアップすることはない。
【0430】
遊技機に対する供給電圧が低下して電源断信号が出力されると、図47〜図49に示されたようなマスク不能割込処理が開始される。その処理中ではウォッチドッグタイマ回路386に対してクリアパルスは出力されない。従って、電源電圧が復旧して、ウォッチドッグタイマ回路386がカウントアップするまで動作しているような場合には復帰信号が出力される。
【0431】
図65に示されたように、払出制御基板37において、復帰信号は、AND回路385を介して、払出制御用CPU371のリセット端子に入力される。従って、払出制御用CPU371にはシステムリセットがかかる。その結果、払出制御用CPU371は待機状態から抜け出すことができる。
【0432】
上記のように、主基板31および払出制御基板37においてウォッチドッグタイマ回路162,386が設けられている場合には、ハードウェアによって復帰信号を発生させることができる。しかも、電源電圧が低下したときのみならず、何らかの理由で、CPU56または払出制御用CPU371の制御が無限ループに入ってしまったような場合にも、ループ状態から抜け出すことができる。
【0433】
なお、主基板31のウォッチドッグタイマ回路162のカウントアップ値は、払出制御基板37のウォッチドッグタイマ回路386のカウントアップ値よりも大きい値であることが好ましい。ウォッチドッグタイマ回路162のカウントアップ値の方が大きい値である場合には、復帰信号は、遊技制御手段よりも前に払出制御手段に対して供給される。従って、払出制御手段が先に立ち上がって、遊技制御手段からの払出制御コマンドを取りこぼすようなことはない。
【0434】
また、例えば主基板31のみにウォッチドッグタイマ回路162を設置し、ウォッチドッグタイマ回路162による復帰信号をCPU56に供給するとともに、払出制御基板37に供給してもよい。そのように構成した場合には、全体的な回路構成規模を小さくすることができる。また、そのように構成した場合には、払出制御手段が先に立ち上がるように、ウォッチドッグタイマ回路162とCPU56のリセット端子との間に遅延回路を置くことが好ましい。
【0435】
さらに、ウォッチドッグタイマ回路162,386による復帰信号をCPUのリセット端子に接続するのではなく、入力ポートの入力するようにしてもよい。その場合には、電力供給停止時処理における待機状態で入力ポートの監視が行われ、復帰信号がオンしたことが検出されると、メイン処理の最初にジャンプする。さらに、ウォッチドッグタイマ回路162,386による復帰信号をCPUのCTC端子に入力してもよい。その場合には、あらかじめ、復帰信号の入力に応じてCTC割込がかかるように設定される。また、待機状態で割込許可に設定される。そして、CTC割込がかかると、メイン処理の最初にジャンプする。
【0436】
また、上記の実施の形態では、払出制御基板37において、NMIに応じて電力供給停止時処理が実行されたが、電源断信号を払出制御用CPU371のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0437】
また、上述した各実施の形態では、待機状態として無限ループを用いたが、これに限らず制御プログラムの電力供給停止時処理の最後にHALT(ホールト)指令等を用いることで制御手段(CPU56、払出制御用CPU371)の制御状態を待機状態(割込みを受付可能な待機状態)としてもよい。この場合には、割込端子への信号入力が有効になり、割込端子への信号入力トリガに制御状態を復帰させることが可能になり、簡単な構成で待機状態復帰手段を構成することができる。
【0438】
また、上述した各実施の形態において、RAMにバックアップ電源を供給する手段は、制御手段(CPU56、払出制御用CPU371)毎に設けられている構成としてもよい。すなわち、バックアップRAM領域を含むRAM毎に、バックアップ電源を供給する手段が設けられていてもよい。また、そのような手段の数や搭載位置(制御基板上、あるいは電源基板上に搭載するか否か)は、どのように構成されていてもよい。
【0439】
また、上述した各実施の形態では、賞球カウントスイッチ301Aに対する電源基板910からの電力供給は、主基板31を介してなされるが、払出制御基板37を介してなされるようにしてもよい。また、電源基板910から直接電力供給される構成とされていてもよい。
【0440】
また、上述した各実施の形態では、球貸しカウントスイッチ301Bに対する電源基板910からの電力供給は、払出制御基板37を介してなされるが、主基板31を介してなされるようにしてもよい(例えば、後述するように遊技制御手段に球貸しカウントスイッチ301Bの検出信号が入力される場合)。また、電源基板910から直接電力供給される構成とされていてもよい。
【0441】
また、上述した各実施の形態において、補助電力供給手段は、電源監視手段からの検出信号が出力された後、少なくとも賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bへの電源を供給するものであれば、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301B以外のもの(入賞検出スイッチなど)への電力をも供給するものであってもよく、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bのみに電力を供給するものであってもよい。賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bのみに電力を供給するものであれば、補助電力供給手段の消費電力(充電容量)を小さくすることができる。
【0442】
また、上述した各実施の形態において、補助電力供給手段は、各電気部品制御手段(CPU56、払出制御用CPU371)毎に設けられていても良い。
【0443】
また、上述した各実施の形態では、球貸しカウントスイッチ301Bの検出信号は、払出制御手段(払出制御基板37が備える払出制御用CPU371)にのみ入力される構成としていたが、遊技制御手段(主基板31が備えるCPU56)に入力される構成としてもよく、払出制御手段および遊技制御手段の双方に入力される構成としてもよい。そして、遊技制御手段が、遊技制御処理(具体的には上述したステップS21のスイッチ処理)および電力供給停止時処理において、球貸しカウントスイッチ301Bの検出信号の入力処理(球貸しカウントスイッチ検出処理)を実行するように構成されていてもよい。この場合、遊技制御手段のRAM55の電源バックアップ領域に、貸し球の未払出数を示すデータを格納するバッファ(貸し球数格納バッファ)を設けるようにし、電力供給停止時処理で、賞球カウントスイッチ301Aの検出信号の入力処理(賞球カウントスイッチ検出処理)と同様の処理を、球貸しカウントスイッチ検出処理として実行するようにすればよい。また、遊技制御処理において、上述した賞球個数減算処理(図34参照)と同様の処理を、貸し球個数の減算処理として実行するようにすればよい。そのように構成する場合には、遊技制御手段が、払出制御手段におけるプリペイドカードユニット50との信号のやりとりに関する処理を実行する機能を備えるようにして、払出制御コマンドを用いて貸出要求があった貸し球の数に関する情報を払出制御手段に向けて送信する処理を行うようにすればよい。
【0444】
上記のように構成すれば、遊技制御手段にて貸し球の個数管理を実行することができるようになる。特に球貸しカウントスイッチ301Bの検出信号を払出制御手段および遊技制御手段の双方に入力する構成とした場合には、遊技制御手段と払出制御手段双方で貸し球の個数管理を実行することができるようになり、貸し球の個数管理をより正確に行うことが可能となる。
【0445】
なお、球貸しカウントスイッチ301Bの検出信号が遊技制御手段に入力される場合には、遊技機に対する電力供給停止時において、少なくとも払出確認期間以上の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、球貸しカウントスイッチ301B(あるいは賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301B)が動作可能となるように、コンデンサ923の容量が決定される。
【0446】
なお、電力供給停止時処理でのスイッチ検出処理の入力処理モジュールと、通常の制御におけるスイッチ検出処理の入力処理モジュールとを共通のモジュールとすることは、上記のように球貸しカウントスイッチ301Bの検出信号を遊技制御手段に入力する構成とした場合には、遊技制御手段が実行する球貸しカウントスイッチ検出処理に適用することができる。
【0447】
また、上述した各実施の形態では、記録媒体処理装置(プリペイドカードユニット50)で使用される記録媒体が磁気カード(プリペイドカード)であったが、磁気カードに限られず、非接触型あるいは接触型のICカードであってもよい。また、記録媒体処理装置が識別符号にもとづいて記録情報を特定できる構成とされている場合には、記録媒体は、記録情報を特定可能な識別符号などの情報を少なくとも記録媒体処理装置が読み取り可能に記録できるようなものであってもよい。さらに、記録媒体は、例えばバーコードなどの所定の情報記録シンボル等が読み取り可能にプリントされたものであってもよい。また、記録媒体の形状は、カード状のものに限られず、例えば円盤形状や球状、あるいはチップ形状など、どのような形状であってもよい。
【0448】
また、上記の各実施の形態では、電源監視手段(例えば電源監視用IC902)は、電源電圧が所定の値(例えば22V)となった場合に電源断信号を出力する構成としているが、例えば、交流電源(例えばAC24V)に関連する交流波をデジタル変換したデジタル信号を監視し、そのデジタル信号が所定期間途切れた場合に電源断信号を出力する構成としてもよい。
【0449】
また、上記の各実施の形態では、電源監視手段(例えば電源監視用IC902)が、電源電圧が所定の値(例えば22V)となったことを検出した場合に電源断時処理が実行され、さらに電源電圧が所定の値(例えば9V)となったことをシステムリセット手段(例えばシステムリセット回路65)が検出した場合にシステムリセットされる構成としていたが、電源断時処理を開始したあと所定期間の経過後に、自動的にシステムリセットされるようにしてもよい。このように構成すれば、電源電圧が所定の値(例えば22V)となったことが電源監視手段によって検出された場合には、その後システムリセット手段による検出がなされなかった場合であっても、確実にシステムリセットすることができるようになる。
【0450】
上記の各実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0451】
さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
【0452】
【発明の効果】
以上のように、請求項1記載の発明では、遊技機を、電力供給停止時処理にて、補助電力供給手段から電力が供給される払出遊技媒体検出手段からの検出信号の入力処理を行い、遊技制御手段が、復旧処理にて、制御状態の復旧を示す復旧コマンドを払出制御手段に送信した後、定期的に起動されるタイマ割込処理の設定を行うタイマ割込設定処理を実行するとともに、レジスタの内容を復旧させるレジスタ復帰処理を行って制御を再開し、払出制御手段が、復旧処理にて、復旧コマンドを受信したことを条件にタイマ割込設定処理とレジスタ復帰処理を行った後、払出手段の制御を再開するように構成したので、電力供給停止時処理にて、払い出された遊技媒体を確実に検出することが可能になるとともに、遊技制御手段にて払出制御手段の再開を管理することができ、遊技制御手段と払出制御手段との間で遊技媒体の払出に関する認識に食い違いが生じてしまうことを防止することができる効果がある。
【0454】
請求項記載の発明では、遊技制御手段が、所定の景品遊技媒体払出条件が成立したときに景品遊技媒体払出個数を示す払出個数指定コマンドを送信可能であり、復旧コマンドとして払出個数指定コマンドを送信するように構成されているので、復旧コマンドを設けても、遊技制御手段から払出制御手段に送信されるコマンドの種類は増加しない。
【0456】
請求項記載の発明では、遊技制御手段および払出制御手段が、電力供給が復帰したときには、電力供給が停止する前の制御状態に復旧させるか否かを決定するための複数の復旧条件がすべて成立したときに復旧処理を実行し、複数の復旧条件のうち少なくとも1つの条件が不成立であったときに初期化処理を実行するように構成されているので、不確実な状態で制御状態が復旧してしまうことが防止される。
【0457】
請求項記載の発明では、遊技制御手段が、電力供給が開始され初期化処理または復旧処理を実行した後、所定の払出禁止条件の成立にもとづいて遊技媒体の払い出しを禁止することを指示する払出禁止状態指定コマンドを送信し、払出禁止条件が解除されたことにもとづいて遊技媒体の払い出しを許可する払出許可状態指定コマンドを送信するように構成されているので、払出制御手段にて払出禁止条件が成立しているか否かを認識できる。
【0458】
請求項記載の発明では、遊技制御手段が、複数の払出禁止条件のうちいずれか一つの条件が成立したときに払出禁止状態指定コマンドを送信し、払出禁止条件が解除され、いずれの払出禁止条件も成立していない状態になったときに、複数の払出禁止条件のうちいずれの条件が成立していたかに関わらず、遊技媒体の払い出しを許可することを示す共通の払出許可状態指定コマンドを送信するように構成されているので、遊技制御手段から払出制御手段に対する情報伝達に関する負荷がさらに低減される。
【0459】
請求項記載の発明では、払い出された遊技媒体が貯留される貯留部に所定量以上の遊技媒体が貯留されているか否かを検出するための貯留状態検出手段を備え、払出禁止条件が、貯留状態検出手段により貯留部に所定量以上の遊技媒体が貯留されていると検出されたときに成立する条件を含むように構成されているので、貯留部に所定量以上の遊技媒体が貯留されているにも関わらず、払出制御手段が遊技媒体の払出処理を実行してしまうことを防止することができる。
【0460】
請求項記載の発明では、払出手段に供給される遊技媒体が所定量以上確保されているか否かを検出するための遊技媒体切れ検出手段を含み、払出禁止条件が、遊技媒体切れ検出手段により遊技媒体が所定量以上確保されていないことが検出されたときに成立する条件を含むように構成されているので、払出手段に供給される遊技媒体が所定量以上確保されていないにも関わらず、払出制御手段が遊技媒体の払出処理を実行してしまうことを防止することができる。
【0461】
請求項記載の発明では、遊技制御手段が、復旧コマンドとして払出禁止状態指定コマンドまたは払出許可状態指定コマンドを使用するように構成されているので、復旧コマンドを設けても、遊技制御手段から払出制御手段に送信されるコマンドの種類は増加しない。
【0462】
請求項記載の発明では、遊技制御手段は、電力供給停止時処理にて、制御状態を復旧させるために必要なデータとして制御プログラムのアドレスに関連するプログラムアドレスデータを変動データ記憶手段に保存する処理を行い、復旧処理にて、変動データ記憶手段に保存されていたプログラムアドレスデータにもとづいて制御を再開するように構成されているので、電力供給が停止したときに実行されていた制御に確実に復帰することができる。
【0463】
請求項10記載の発明では、遊技制御手段および払出制御手段が、電力供給停止時処理にて払出遊技媒体検出手段からの検出信号の入力処理の結果を示すデータを変動データ記憶手段に保存し、復旧処理にて入力処理の結果を示すデータにもとづいて未払出数データを更新する処理を実行する構成とされているので、電力供給停止時処理での入力処理を迅速に行うことができる。
【0464】
請求項11記載の発明では、遊技制御手段および払出制御手段が、電力供給停止時処理にて、出力ポートの出力状態を初期化する出力ポートクリア処理を実行した後、払出遊技媒体検出手段からの検出信号の入力処理を行う構成とされているので、払出遊技媒体検出手段からの検出信号の入力処理に関連しない電気部品により電力が消費されてしまうことを回避することができる。
【0465】
請求項12記載の発明では、遊技制御手段および払出制御手段が、電力供給停止時処理にて、払出遊技媒体検出手段からの検出信号の入力処理を実行した後、変動データ記憶手段へのアクセスを禁止する処理を実行するように構成されているので、電力供給停止時処理後に変動データ記憶手段の内容が破壊されること等を防止することができる。
【0466】
請求項13記載の発明では、検出維持期間は、払出手段により払い出された遊技媒体が払出遊技媒体検出手段の検出位置に到達するまでの期間以上の期間に設定されるように構成されているので、払い出された遊技媒体を確実に検出することができる。
【図面の簡単な説明】
【図1】 パチンコ遊技機を正面からみた正面図である。
【図2】 ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図3】 遊技機を裏面から見た背面図である。
【図4】 各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【図5】 球払出装置の構成例を示す分解斜視図である。
【図6】 遊技盤に設置されている電源基板の露出部分を示す正面図である。
【図7】 遊技制御基板(主基板)の回路構成例を示すブロック図である。
【図8】 払出制御基板の回路構成例を示すブロック図である。
【図9】 電源基板の回路構成例を示すブロック図である。
【図10】 リセット管理回路の構成例を示すブロック図である。
【図11】 CPU周りの一構成例を示すブロック図である。
【図12】 タイマ手段の一例であるカウンタの作用を説明するためのタイミング図である。
【図13】 出力ポートのビット割り当ての一例を示す説明図である。
【図14】 出力ポートのビット割り当ての一例を示す説明図である。
【図15】 入力ポートのビット割り当ての一例を示す説明図である。
【図16】 主基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図17】 バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。
【図18】 遊技状態復旧処理を示すフローチャートである。
【図19】 2msタイマ割込処理を示すフローチャートである。
【図20】 RAMにおけるスイッチタイマの形成例を示す説明図である。
【図21】 スイッチ処理の一例を示すフローチャートである。
【図22】 スイッチチェック処理の一例を示すフローチャートである。
【図23】 賞球処理の一例を示すフローチャートである。
【図24】 賞球処理の一例を示すフローチャートである。
【図25】 賞球処理の一例を示すフローチャートである。
【図26】 スイッチオンチェック処理を示すフローチャートである。
【図27】 入力判定値テーブルの構成例を示す説明図である。
【図28】 コマンド送信テーブル等の一構成例を示す説明図である。
【図29】 制御コマンドのコマンド形態の一例を示す説明図である。
【図30】 制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。
【図31】 払出制御コマンドの内容の一例を示す説明図である。
【図32】 コマンドセット処理の処理例を示すフローチャートである。
【図33】 コマンド送信処理ルーチンを示すフローチャートである。
【図34】 賞球個数減算処理の一例を示すフローチャートである。
【図35】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図36】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図37】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図38】 遊技機への電力供給停止時の電源低下やNMI信号の様子を示すタイミング図である。
【図39】 検出信号の入力処理が実行される様子の一例を示すタイミング図である。
【図40】 払出制御用CPU周りの一構成例を示すブロック図である。
【図41】 出力ポートのビット割り当ての一例を示す説明図である。
【図42】 入力ポートのビット割り当ての一例を示す説明図である。
【図43】 払出制御基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図44】 2msタイマ割込処理を示すフローチャートである。
【図45】 払出状態復旧処理を示すフローチャートである。
【図46】 払出制御手段におけるRAMの一構成例を示す説明図である。
【図47】 受信コマンドバッファの一構成例を示す説明図である。
【図48】 払出制御用CPUのコマンド受信処理の例を示すフローチャートである。
【図49】 払出制御手段のRAMにおけるスイッチタイマの形成例を示す説明図である。
【図50】 スイッチ処理の例を示すフローチャートである。
【図51】 払出停止状態設定処理の例を示すフローチャートである。
【図52】 コマンド解析実行処理の例を示すフローチャートである。
【図53】 プリペイドカードユニット制御処理の例を示すフローチャートである。
【図54】 球貸し制御処理の例を示すフローチャートである。
【図55】 球貸し制御処理の例を示すフローチャートである。
【図56】 賞球制御処理の例を示すフローチャートである。
【図57】 賞球制御処理の例を示すフローチャートである。
【図58】 マスク不能割込処理(電力供給停止時処理)の他の例を示すフローチャートである。
【図59】 マスク不能割込処理(電力供給停止時処理)の他の例を示すフローチャートである。
【図60】 マスク不能割込処理(電力供給停止時処理)の他の例を示すフローチャートである。
【図61】 本発明の概要を示す概念図である。
【図62】 遊技制御手段の他の構成例の一部を示すブロック図である。
【図63】 主基板におけるCPUが実行する2msタイマ割込処理の他の例を示すフローチャートである。
【図64】 ソフトウェアタイマおよびウォッチドッグタイマ回路の作用を説明するためのタイミング図である。
【図65】 遊技制御手段における電力供給停止時処理の他の例を示すフローチャートである。
【図66】 払出制御手段における電力供給停止時処理の他の例を示すフローチャートである。
【符号の説明】
1 パチンコ遊技機
31 遊技制御基板(主基板)
37 払出制御基板
56 CPU
65 システムリセット回路(電源監視手段)
97 球払出装置
301A 賞球カウントスイッチ
301B 球貸しカウントスイッチ
310 振分ソレノイド
311 振分部材
371 払出制御用CPU
910 電源基板
902 電源監視用IC(電源監視手段)
914 電源スイッチ
921 クリアスイッチ
923,924 コンデンサ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko gaming machine or a slot machine that allows a player to play a predetermined 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 prize area such as a prize opening provided in the game area, a predetermined number of prize balls are paid out to the player. There is something to be done. Furthermore, there is provided a variable display unit capable of changing the display state, and configured to give a predetermined game value to the player when the display result of the variable display unit is in a predetermined specific display mode. is there.
[0003]
The game value means that the state of the variable winning ball apparatus provided in the gaming area of the gaming machine is advantageous for a player who easily wins a gaming ball, or is advantageous for a player. It is to generate a right and to be in a state where conditions for paying out a prize ball are easily established.
[0004]
In a pachinko gaming machine, a combination of a predetermined display mode with a display result of a variable display unit that displays a special symbol is usually referred to as “big hit”. When a big hit is generated, for example, the big winning opening is opened a predetermined number of times, and a transition is made to a big hit gaming state in which game balls are easy to win. And in each open period, if there is a prize for a predetermined number (for example, 10) of the big prize opening, the big prize opening is closed. And the number of times the special winning opening is opened is fixed to a predetermined number (for example, 16 rounds). An opening time (for example, 29.5 seconds) is determined for each opening, and even if the number of winnings does not reach a predetermined number, the big winning opening is closed when the opening time elapses. Further, when a predetermined condition (for example, winning in the V zone provided in the big prize opening) is not established at the time when the big prize opening is closed, the big hit gaming state is ended.
[0005]
In addition, in the variable display device, the symbols other than the symbol that becomes the final stop symbol (for example, the middle symbol of the left and right middle symbols) are stopped, swung, and enlarged / reduced in a state in which the symbols continuously match the specific display mode for a predetermined time. Or, the possibility of big hits continues before the final result is displayed due to the deformed state, multiple symbols changing synchronously with the same symbol, or the position of the display symbol changing. An effect that is performed in a state where these are in progress (hereinafter, these states are referred to as reach states) is referred to as reach effect. A variable display including a reach effect is referred to as a reach variable display. In the reach state, the interest of the game is enhanced by making the variation pattern different from the variation pattern in the normal state. Then, when the display result of the symbols variably displayed on the variable display device does not satisfy the condition for reaching the reach state, the state is “missed” and the variable display state is terminated. A player plays a game while enjoying how to generate a big hit.
[0006]
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 a command indicating the number of winning balls is transmitted to the payout control board. On the other hand, the rental of game media is irrelevant to the progress of the game, and is generally controlled by the payout control means without going through the game control means.
[0007]
In addition to the game control means and the payout control means, various control means are mounted on the gaming machine. 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 electrical component control means, and the board on which the electrical component control means is mounted may be referred to as an electrical component control board.
[0008]
[Problems to be solved by the invention]
As described above, the gaming machine is equipped with various electric component control means including game control means. In general, each electrical component control means includes a microcomputer. Such an electrical component control means generally performs an initialization process and starts control from an initial state when a power supply voltage rises. Then, an unexpected power failure such as a power failure occurs, and then the power returns to the initial state when the power is restored. Therefore, there is a problem that the game value obtained by the player disappears. In order to prevent such a problem from occurring, the game control is interrupted according to a predetermined signal generated as the power supply voltage value decreases, and the power supply to the gaming machine is stopped at that time. In particular, it may be controlled to store in a storage means (backup storage means) that is backed up and wait for the power supply to be completely stopped. Such a gaming machine resumes the game based on the stored control state when power supply is resumed while the game state is stored in the storage means, so that a disadvantage is given to the player. Is prevented.
[0009]
However, if the electrical component is operating immediately before performing the process of saving the control state in the backup storage unit, the actual control state may change with respect to the saved control state. For example, when a game ball paid out from a ball payout device for paying out a game ball is detected by a switch means provided at the lower part of the ball payout device and the payout of the game ball is confirmed, Such a problem may occur. That is, the ball payout device executes payout of one game ball immediately before stopping the operation of the ball payout device, a power failure occurs immediately after that, and the control state is stored before the switch means detects the payout. In this case, there is a discrepancy between the stored payout confirmation number (or unpaid number) and the actual payout number. In such a case, if the ball payout process is restarted based on the stored control state when the power supply is resumed, extra game balls will be paid out.
[0010]
Further, in the payout control means for controlling the ball payout device, when the unpaid number is stored in the backup storage means, when the power supply is resumed, the payout control means determines that the ball payout device is based on the stored unpaid number. Resumes control of paying out game balls. However, if the payout control means is configured to start up first when the power supply is resumed, there is a possibility that the ball payout from the ball payout device may be started before the game control means starts up in a controllable state. is there. If the ball payout from the ball payout device is started before the game control means rises to the controllable state, the ball payout number grasped by the game control means and the ball payout number grasped by the payout control means are different. Conversely, when the game control means is configured to start up first, the payout control means may not be able to receive the command sent out by the game control means. As a result, there is a risk of a discrepancy in control between the game control means and the payout control means regarding the payout control of the game balls.
[0011]
Therefore, the present invention can reliably detect the number of game media that have not been paid out even when the power supply is stopped, and can accurately determine the number of game media that have not been paid out, and game control means. It is an object of the present invention to provide a gaming machine that can prevent a discrepancy in the control contents related to the payout of game media grasped by the payout control means and the payout control means.
[0012]
[Means for Solving the Problems]
The gaming machine according to the present invention is capable of playing a predetermined game using a game medium, and that a predetermined payout condition (for example, a winning in a winning area provided in the gaming area has been won, A game machine that pays out game media based on the fact that a medium rental request has been made, and a payout means for paying out game media; and a payout means Therefore Payout game medium detection means (for example, award ball count switch 301A, ball lending count switch 301B: payout game medium detection means 301C shown in FIG. 61) and game control means for controlling the progress of the game (For example, game control means including CPU 56: game control means 56A shown in FIG. 61) and payout control means for controlling payout means (for example, ball payout device 97) based on commands from the game control means (for example, payout) A payout control means including a control CPU 371: a payout control means 371A shown in FIG. 61, and a variable data storage means (for example, main data) capable of holding the stored contents for a predetermined period even when the power supply to the gaming machine is stopped. The power-backed RAM 55 provided in the board 31 and the power-backed RAM provided in the payout control board 37: FIG. The fluctuation data storage means 55A and 55B) and the state of a predetermined power source used in the gaming machine, and a detection condition (for example, a voltage of VSL (+ 30V) which is a monitoring voltage) related to the stop of power supply to the gaming machine The condition that holds when the value drops to + 22V) When Power supply monitoring means (for example, power supply monitoring IC 902) that outputs a detection signal (for example, power-off signal) to at least a predetermined detection maintenance period (for example, in steps S466 and S816 after the detection signal is output by the power supply monitoring means) Auxiliary power supply means (for example, an electric power supply means capable of supplying power to the payout game medium detection means in order to make the payout game medium detection means possible to detect in the period until the set count value elapses) Converter IC 920 having a capacitor 923: auxiliary power supply means 916A) shown in FIG. 61, the game control means and the payout control means respectively , Unpaid-out data indicating the number of unpaid game media out of the number of game media to be paid out (for example, total prize ball number storage buffer, total number memory, rental ball number memory) is stored and included in the fluctuation data storage means Unpaid game medium number storage means includes unpaid game medium number storage means and is based on the fact that the game medium paid out by the payout means is detected by the payout game medium detection means. Execute the process of subtracting the number of game media, Data including the contents of the register as data necessary for restoring the control state according to the detection signal from the power supply monitoring means (for example, register data used for the CPU 56 and the payout control CPU 371) is stored in the fluctuation data storage means. Power supply stop processing (for example, the processing shown in FIGS. 35 to 37 and the processing shown in FIGS. 58 to 60) is performed to restore the power supply and a predetermined recovery condition (for example, the conditions of steps S7 to S9) Or a recovery process (for example, FIG. 18) that restores the control state to the state before the power supply is stopped based on the stored contents stored in the fluctuation data storage unit on the condition that the conditions of Step S707 to Step S709 are satisfied. Game state recovery process shown in FIG. 4 and payout state recovery process shown in FIG. 45), and the predetermined recovery condition was not satisfied. When Performs initialization processing (for example, steps S11 to S15 and steps S711 to S714) for initializing the control state. Shi In the power supply stop process, the detection signal input process from the payout game medium detection unit to which power is supplied from the auxiliary power supply unit (for example, the process from step S466 to step S482 in FIG. 36, step S816 in FIG. 59). The processing of step S830) is performed, and the game control unit transmits a recovery command indicating the recovery of the control state to the payout control unit in the recovery process (for example, step S85), and then periodically starts a timer interrupt. A timer interrupt setting process (for example, step S86) for setting the process is executed, and a register return process (for example, step S88) for restoring the contents of the register is performed to resume control, and the payout control means performs the recovery process. On the condition that a recovery command has been received (eg, step S723), a timer interrupt setting process (eg, step S735) and the registers return processing After (For example, step S736) Of the means of withdrawal The control is resumed (for example, the process returns to the payout control after the process of step S741).
[0014]
The game control means has established a predetermined prize game medium payout condition When The payout number designation command indicating the number of prize game medium payouts can be transmitted to the player, and the payout number designation command may be transmitted as a recovery command.
[0016]
The game control means and the payout control means have returned to the power supply. When In this case, all of a plurality of restoration conditions (for example, the conditions in steps S7 to S9 and the conditions in steps S707 to S709) for determining whether or not to restore the control state before the power supply is stopped are satisfied. When The recovery process was executed and at least one of the multiple recovery conditions was not satisfied When May be configured to execute initialization processing.
[0017]
After the game control means starts the power supply and executes the initialization process or the recovery process, a predetermined payout prohibition condition (for example, a game medium such as when the lower plate is full or when the ball is out of play) A payout prohibition state designation command for instructing prohibition of payout of game media based on the establishment of a condition that is established when the payout cannot be performed or is not appropriate (for example, steps S161 to S164). Based on the cancellation of the prohibition condition, a payout permission state designation command for permitting the payout of game media may be transmitted (for example, steps S165 to S168).
[0018]
The game control means that any one of a plurality of payout prohibition conditions is met When A withdrawal prohibition state designation command is sent to the device, the withdrawal prohibition condition is canceled, and no withdrawal prohibition condition is established. When In addition, a common payout permission state designation command indicating that game medium payout is permitted is transmitted regardless of which of the plurality of payout prohibition conditions is satisfied (for example, steps S165 to S168). It may be configured.
[0019]
A storage state detecting means (for example, a full tank switch 48) for detecting whether or not a predetermined amount or more of the game medium is stored in a storage part (for example, the surplus ball receiving tray 4) in which the paid-out game medium is stored. Prepared, the payout prohibition condition is that a predetermined amount or more of game media is stored in the storage part by the storage state detection means Is detected It may be configured to include a condition that is satisfied.
[0020]
It includes a game medium out detection means (for example, a ball out switch 187) for detecting whether or not a predetermined amount or more of game media to be supplied to the payout means is secured, and the payout prohibition condition is determined by the game medium out detection means. It was detected that more than a certain amount of media was not secured When It may be configured to include a condition that is satisfied.
[0021]
The game control means may be configured to use a payout prohibition state designation command or a payout permission state designation command as the recovery command.
[0022]
The game control means saves program address data related to the address of the control program in the fluctuation data storage means as data necessary for restoring the control state in the power supply stop process (for example, non-maskable interrupt process) Control based on the program address data stored in the variable data storage means (for example, by RET processing to the address data stored in the stack area). May be configured to resume.
[0023]
Play Data indicating the result of the detection signal input process from the payout game medium detection means in the power supply stop process when the technique control means and the payout control means (for example, award ball count value or a lending count value) The Based on the data stored in the fluctuation data storage means (for example, step S480, step S826, step S828) and indicating the result of the input process in the recovery process. The The processing for updating the unpaid-out number data (for example, step S84, steps S733, S734) may be executed.
[0024]
It includes an output port (for example, the output ports shown in FIGS. 13, 14, and 41) for outputting signals from the game control means and the payout control means, and the game control means and the payout control means perform processing when power supply is stopped. Then, after executing an output port clear process (for example, the process of step S459 to step S465, the process of step S809 to step S815) for initializing the output state of the output port, the detection signal is input from the payout game medium detection means. You may be comprised so that a process may be performed.
[0025]
A process in which the game control means and the payout control means execute the detection signal input process from the payout game medium detection means in the power supply stop process, and then prohibit the access to the variable data storage means (for example, step S499, Step S847) may be configured to execute.
[0026]
The detection maintaining period is a period until the game medium paid out by the payout means reaches the detection position of the payout game medium detection means (for example, a game ball released from the sprocket 292 is award ball count switch 301A or ball rental count) A period derived by √ (2 L / g) indicating a fall period until reaching the detection unit of the switch 301B, specifically, depending on the structure of the gaming machine, for example, 100 [ms] to 150 [ms] It is preferable that the period is set to a period longer than (a period of about).
[0028]
DETAILED DESCRIPTION OF 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 that is an example of a gaming machine will be described. FIG. 1 is a front view of a pachinko gaming machine as viewed from the front, and FIG. 2 is a front view showing the front of the game board. In the following embodiments, a pachinko gaming machine will be described as an example. However, the gaming machine according to the present invention is not limited to a pachinko gaming machine, and can be applied to, for example, an image-type gaming machine or a slot machine.
[0029]
The pachinko gaming machine 1 includes an outer frame (not shown) formed in a vertically long rectangular shape, and a game frame attached to the inside of the outer frame so as to be opened and closed. Further, the pachinko gaming machine 1 has a glass door frame 2 formed in a frame shape that is provided in the game frame so as to be opened and closed. The game frame includes a front frame (not shown) installed to be openable and closable with respect to the outer frame, a mechanism plate to which mechanism parts and the like are attached, and various parts attached to them (excluding a game board described later). Is a structure including
[0030]
As shown in FIG. 1, the pachinko gaming machine 1 has a glass door frame 2 formed in a frame shape. On the lower surface of the glass door frame 2 is a hitting ball supply tray (upper plate) 3. Under the hitting ball supply tray 3, an extra ball receiving tray 4 for storing game balls that cannot be accommodated in the hit ball supply tray 3 and a hitting operation handle (operation knob) 5 for launching the game balls are provided. A game board 6 is detachably attached to the back surface of the glass door frame 2. The game board 6 is a structure including a plate-like body constituting the game board 6 and various components attached to the plate-like body. A game area 7 is formed on the front surface of the game board 6.
[0031]
Near the center of the game area 7, there is provided a variable display device (special symbol display device) 9 including a plurality of variable display portions each variably displaying a symbol as identification information. The variable display device 9 has, for example, three variable display portions (symbol display areas) of “left”, “middle”, and “right”. A start winning opening 14 is provided below the variable display device 9. The winning ball that has entered the start winning opening 14 is guided to the back of the game board 6 and detected by the start opening switch 14a. A variable winning ball device 15 that opens and closes is provided below the start winning opening 14. The variable winning ball device 15 is opened by a solenoid 16.
[0032]
An open / close plate 20 that is opened by a solenoid 21 in a specific gaming state (big hit state) is provided below the variable winning ball device 15. The opening / closing plate 20 is a means for opening and closing the special winning opening. Of the winning balls guided from the opening / closing plate 20 to the back of the game board 6, the winning ball entering one (V winning area) is detected by the V winning switch 22, and the winning ball from the opening / closing plate 20 is detected by the count switch 23. Is done. On the back of the game board 6, a solenoid 21A for switching the route in the special winning opening is also provided. Also, at the bottom of the variable display device 9, a special symbol start memory display (hereinafter referred to as a start memory display) 18 using four LEDs for displaying the number of effective winning balls that have entered the start winning opening 14, that is, the start memory number. Is provided. Every time there is a valid start prize, the start memory display 18 increases the number of LEDs to be turned on by one. Each time variable display of the variable display device 9 is started, the number of LEDs to be lit is reduced by one.
[0033]
When a game ball wins the gate 32 and is detected by the gate switch 32a, variable display of the normal symbol display 10 is started. In this embodiment, variable display is performed by alternately lighting the left and right lamps (a symbol can be visually recognized when the lamp is lit). For example, if the right lamp is lit when the variable display ends, it is a win. When the stop symbol on the normal symbol display 10 is a predetermined symbol (winning symbol), the variable winning ball device 15 is opened for a predetermined number of times. In the vicinity of the normal symbol display 10, a normal symbol start memory display 41 having a display unit with four LEDs for displaying the number of winning balls entered into the gate 32 is provided. Each time there is a prize at the gate 32, the normal symbol start memory display 41 increases the number of LEDs to be turned on by one. Each time variable display on the normal symbol display 10 is started, the number of LEDs to be lit is reduced by one.
[0034]
The gaming board 6 is provided with a plurality of winning holes 29, 30, 33, 39, and winning of the game balls to the winning holes 29, 30, 33 is detected by winning hole switches 29a, 30a, 33a, 39a, respectively. The Each winning opening 29, 30, 33, 39 constitutes a winning area provided in the game board 6 as an area for accepting game media and allowing winning. The start winning port 14 that accepts game media and allows winnings, and the big winning port also constitute a winning area. Decorative lamps 25 blinking and displayed during the game are provided around the left and right sides of the game area 7, and an outlet 26 for absorbing a game ball that has not won a prize is provided at the bottom. Two speakers 27 that emit sound effects are provided on the left and right upper portions outside the game area 7. On the outer periphery of the game area 7, a top frame lamp 28a, a left frame lamp 28b, and a right frame lamp 28c are provided. Further, a decoration LED is installed around each structure (such as a big prize opening) in the game area 7. The top frame lamp 28a, the left frame lamp 28b, the right frame lamp 28c, and the decoration LED are examples of a decorative light emitter provided in the gaming machine.
[0035]
In this example, a prize ball lamp 51 that is turned on when there is a remaining number of prize balls is provided in the vicinity of the left frame lamp 28b, and a ball that is turned on in the vicinity of the top frame lamp 28a when the supply ball is cut. A cut lamp 52 is provided. As described above, the pachinko gaming machine 1 of this embodiment is provided with lamps and LEDs as light emitters in various places. Further, FIG. 1 also shows a card unit 50 that is installed adjacent to the pachinko gaming machine 1 and enables lending of a ball by inserting a prepaid card.
[0036]
The card unit 50 includes a use indicator lamp 151 that indicates whether or not the card unit 50 is in a usable state, a connection table direction indicator 153 that indicates which side of the pachinko gaming machine 1 corresponds to the card unit 50, a card A card insertion indicator lamp 154 indicating that a card is inserted into the unit 50, a card insertion slot 155 into which a card as a recording medium is inserted, and a card reader / writer mechanism provided on the back surface of the card insertion slot 155 A card unit lock 156 is provided for releasing the card unit 50 when checking the card.
[0037]
The game balls launched from the hit ball launching device enter the game area 7 through the hit ball rail, and then descend the game area 7. When the game ball enters the start winning port 14 and is detected by the start port switch 14a, the special symbol starts variable display (fluctuation) in the variable display device 9 if the variable display of the symbol can be started. If the variable display of the symbol cannot be started, the start memory number is increased by one.
[0038]
The variable display of the special symbol on the variable display device 9 stops when a certain time has elapsed. If the combination of special symbols at the time of stoppage is a jackpot symbol (specific display result), the game shifts to a jackpot gaming state. That is, the opening / closing plate 20 is opened until a predetermined time elapses or a predetermined number (for example, 10) of game balls wins. When a game ball wins the V winning area while the opening / closing plate 20 is opened and is detected by the V winning switch 22, a continuation right is generated and the opening / closing plate 20 is opened again. The generation of the continuation right is allowed a predetermined number of times (for example, 15 rounds).
[0039]
When the combination of special symbols in the variable display device 9 at the time of stopping is a combination of jackpot symbols (probability variation symbols) with probability fluctuations, the probability of the next jackpot increases. That is, it becomes a more advantageous state for the player in the probability variation state.
[0040]
When the game ball wins the gate 32, the normal symbol display unit 10 is in a state where the normal symbol is variably displayed. Further, when the stop symbol on the normal symbol display 10 is a predetermined symbol (winning symbol), the variable winning ball device 15 is opened for a predetermined time. Further, in the probability variation state, the probability that the stop symbol in the normal symbol display 10 becomes a winning symbol is increased, and the opening time and the number of times of opening of the variable winning ball device 15 are increased. That is, the opening time and the number of times of opening of the variable winning ball device 15 can be increased when the stop symbol of the normal symbol is a winning symbol or the stop symbol of the special symbol is a probabilistic symbol. It changes to an advantageous state. It should be noted that increasing the number of times of opening is a concept including changing from a closed state to an open state.
[0041]
Next, the structure of the back surface of the pachinko gaming machine 1 will be described with reference to FIG. 3 and FIG. FIG. 3 is a rear view of the gaming machine as seen from the back side. FIG. 4 is a rear view of the mechanism plate to which various members are attached as viewed from the back side of the gaming machine.
[0042]
As shown in FIG. 3, on the back side of the gaming machine, a game control board (main board) 31 on which a variable display control unit 49 including a symbol control board 80 for controlling the variable display device 9, a game control microcomputer, and the like are mounted. Is installed. In addition, a payout control board 37 on which a payout control microcomputer for performing ball payout control is mounted is installed. Further, various decoration LEDs provided on the game board 6, start memory display 18 and normal symbol start memory display 41, decoration lamp 25, top frame lamp 28a provided on the frame side, left frame lamp 28b, right A lamp control board 35 on which lamp control means for controlling lighting of the frame lamp 28c, the prize ball lamp 51 and the ball break lamp 52 is mounted, and a sound control board 70 on which sound control means for controlling sound generation from the speaker 27 are also mounted. Is provided. Further, a power supply board 910 and a launch control board 91 on which a power supply circuit for creating DC30V, DC21V, DC12V, and DC5V is mounted are provided.
[0043]
On the back side of the gaming machine, a terminal board 160 provided with terminals for outputting various information to the outside of the gaming machine is installed above. The terminal board 160 has at least a ball break terminal for introducing and outputting an output of the ball break detection switch, an award ball terminal for outputting the award ball number signal to the outside, and a ball lending number signal externally output. A ball lending terminal is provided. In addition, an information terminal board (information output board) 34 provided with terminals for outputting various information from the main board 31 to the outside of the gaming machine is installed near the center.
[0044]
The game balls stored in the storage tank 38 pass through the guide rail 39 and, as shown in FIG. 4, reach the ball payout device covered with the prize ball case 40A through the curve rod 186. A ball break switch 187 as a game medium break detection means is provided on the upper part of the ball payout device. When the ball break switch 187 detects a ball break, the dispensing operation of the ball dispensing device stops. The ball break switch 187 is a switch that detects the presence or absence of a game ball in the game ball passage. In the vicinity of the head). When the ball break detection switch 167 detects the shortage of game balls, the game machine is replenished to the game machine from the supply mechanism provided on the gaming machine installation island.
[0045]
When a lot of game balls as prizes based on winning prizes and game balls based on ball lending requests are paid out, the hitting ball supply tray 3 becomes full, and finally game balls are paid out after the game balls reach the contact port 45. The game ball is guided to the surplus ball receiving tray 4 through the surplus ball passage 46. Further, when the game ball is paid out, the sensing lever 47 presses the full tank switch 48 as the storage state detection means, and the full tank switch 48 as the storage state detection means is turned on. In this state, the rotation of the payout motor in the ball payout device is stopped, the operation of the ball payout device is stopped, and the driving of the launching device is also stopped.
[0046]
As shown in FIG. 4, a ball removal passage 191 is formed on the side of the ball payout device from the curve rod 186 to the discharge port 192 at the lower part of the gaming machine. A ball removal lever 193 is provided above the ball removal passage 191. When the ball removal lever 193 is operated by a game clerk or the like, a game ball passage from the guide rail 39 to the ball removal passage 191 is formed, and the storage tank 38 is provided. The game balls stored inside are discharged from the discharge port 192 to the outside of the gaming machine.
[0047]
FIG. 5 is an exploded perspective view showing a configuration example of the ball dispensing device 97. In this example, a ball payout device 97 is formed inside three cases 140, 141, 142 as the prize ball case 40A. The upper portions of the cases 140 and 141 are provided with holes 170 and 171 communicating with the lower ball passage of the ball break switch 187, and the game balls flow into the ball dispensing device 97 through the holes 170 and 171.
[0048]
The ball payout device 97 includes a payout motor (for example, a stepping motor) 289 serving as a drive source. The rotational force of the payout motor 289 is transmitted to the gear 290 fitted to the rotation shaft of the payout motor 289, and further transmitted to the gear 291 that meshes with the gear 290. A sprocket 292 having a recess is fitted to the central axis of the gear 291. The game balls that have flowed in from the holes 170 and 171 are dropped one by one into the ball passages 293 a and 293 b below the sprocket 292 by the recesses of the sprocket 292.
[0049]
The ball passages (an example of the game medium payout passage) 293a and 293b are provided with a sorting member 311 for switching the flow path of the game balls. The distribution member 311 is driven by the distribution solenoid 310, and at the time of paying out a prize ball, the game ball falls down so that the game ball flows down one of the flow paths in the ball paths 293a and 293b (ball path 293a: an example of a prize game medium path) At the time of lending a ball, the game ball falls down so as to flow down the other flow path (ball path 293b: an example of a rental game medium path) in the ball paths 293a and 293b. The payout motor 289 and the sorting solenoid 310 are controlled by a payout control CPU mounted on the payout control board 37. Further, the payout control CPU controls the payout motor 289 and the sorting solenoid 310 in accordance with a command from the game control CPU mounted on the main board 31.
[0050]
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 flow path selected at the time of paying out the winning ball, and below the flow path selected at the time of lending the ball Is provided with a ball lending sensor (ball lending count switch) 301B for detecting a game ball paid out by the ball paying device. The detection signal of the prize ball count switch 301A and the detection signal of the ball lending count switch 301B are input to the payout control CPU of the payout control board 37. The payout control CPU counts the number of game balls actually paid out based on these detection signals. The detection signal of the prize ball count switch 301A is also input to the CPU of the main board 31. Power is supplied from the power supply board 910 to the ball lending count switch 301B via the payout control board 37. The power supply from the power supply board 910 to the prize ball count switch 301A is made via the main board 31 but may be made via the payout control board 37. A plurality of prize ball sensors and ball lending sensors may be provided. In addition, the prize ball sensor may be provided separately for the main board 31 and for the payout control board 37.
[0051]
A protrusion that forms a payout motor position sensor is formed on the periphery of the gear 291. The protrusions transmit or shield light from a light emitter (not shown) with respect to the light receiving part (not shown) of the payout motor position sensor as the gear 291 rotates, that is, the payout motor 289 rotates. To do. The payout control CPU can recognize the position of the payout motor 289 from the detection signal from the light receiving unit.
[0052]
Further, the ball payout device may be configured to perform both the winning ball payout and the ball lending, but the ball payout device for paying out the winning ball and the ball payout device for lending the ball are provided separately. Also good. Further, for example, the sprocket rotation direction may be changed to separate the award ball payout and the ball lending, or the ball payout device having any structure other than the ball payout device 97 illustrated in the present embodiment. Even if is used, the present invention can be applied.
[0053]
FIG. 6 is a front view showing an exposed portion of the power supply board 910 installed on the game board 6. As shown in FIG. 6, most of the power supply substrate 910 overlaps with the main substrate 31, but there is an exposed portion that is exposed to the outside without overlapping with the main substrate 31. The exposed portion includes a power switch 914 as a power supply permission means for executing or cutting off power supply to each electrical component control board and each electrical component of the gaming machine 1, and each board (main board 31 and payout control). A clear switch 921 is provided as an operation means for clearing backup data stored in a storage content holding means (for example, a backup RAM capable of holding the contents even when power supply is stopped) included in the board 37 or the like. ing. In this manner, since the power switch 914 and the clear switch 921 are arranged close to each other, the operation of the clear switch 921 related to starting to supply power to the gaming machine by the power switch 914 is facilitated.
[0054]
FIG. 7 is a block diagram illustrating an example of a circuit configuration in the main board 31. 7 also shows the payout control board 37, the lamp control board 35, the sound control board 70, the launch control board 91, and the symbol control board 80. The main board 31 includes a basic circuit 53 for controlling the pachinko gaming machine 1 according to a program, a gate switch 32a, a start port switch 14a, a V winning switch 22, a count switch 23, winning port switches 29a, 30a, 33a, 39a, A switch circuit 58 for supplying signals from the tongue switch 48, the ball break switch 187, the prize ball count switch 301A and the clear switch 921 to the basic circuit 53, a solenoid 16 for opening and closing the variable winning ball apparatus 15, and a solenoid for opening and closing the opening and closing plate 20. 21 and a solenoid circuit 59 for driving a solenoid 21A for switching a route in the special winning opening in accordance with a command from the basic circuit 53 is mounted.
[0055]
Although not shown in FIG. 7, the count switch short-circuit signal is also transmitted to the basic circuit 53 via the switch circuit 58. Further, the gate switch 32a, the start port switch 14a, the V winning switch 22, the count switch 23, the winning port switches 29a, 30a, 33a, 39a, the full switch 48, the ball running switch 187, the winning ball count switch 301A, etc. Also, what is called a sensor may be used. That is, the name of the game medium detection means is not limited as long as it is a game medium detection means (game ball detection means in this example) that can detect a game ball. In particular, each of the start port switch 14a, the count switch 23, and the winning port switches 29a, 30a, 33a, and 39a that perform winning detection is also a winning detection means. Note that the winning detection means may be configured to collectively detect the respective game balls that have won separately a plurality of winning openings. In addition, even if a passing gate such as the gate switch 32a is used, if a prize ball is paid out, a game ball entering the passing gate becomes a win, and a switch (for example, a switch provided in the passing gate) The gate switch 32a) becomes a winning detection means.
[0056]
Further, according to the data given from the basic circuit 53, the jackpot information indicating the occurrence of the jackpot, the effective starting information indicating the number of starting winning balls used for starting the variable display of the symbols in the variable display device 9, the probability variation has occurred. An information output circuit 64 for outputting an information output signal such as probability variation information indicating the above to an external device such as a hall computer is mounted.
[0057]
The basic circuit 53 includes a ROM 54 for storing a game control program and the like, a RAM 55 as storage means (means for storing variation data) used as a work memory, a CPU 56 for performing control operations according to the program, and an I / O port unit 57. including. In this embodiment, the ROM 54 and RAM 55 are built in the CPU 56. That is, the CPU 56 is a one-chip microcomputer. The one-chip microcomputer only needs to incorporate at least the RAM 55, and the ROM 54 and the I / O port unit 57 may be externally attached or built-in.
[0058]
Further, 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 source created in the power supply substrate 910. That is, even if the power supply to the gaming machine is stopped, a part or all of the contents of the RAM 55 is saved for a predetermined period.
[0059]
In this embodiment, a low-active power-off signal is input from the power supply substrate 910 to the main substrate 31. The power-off signal is input to the non-maskable interrupt (NMI) terminal of the CPU 56.
[0060]
A ball hitting device for hitting and launching a game ball is driven by a drive motor 94 controlled by a circuit on the launch control board 91. Then, the driving force of the drive motor 94 is adjusted according to the operation amount of the operation knob 5. That is, the circuit on the launch control board 91 is controlled so that the game ball is launched at a speed corresponding to the operation amount of the operation knob 5.
[0061]
In this embodiment, the lamp control means mounted on the lamp control board 35 controls the display of the start memory display 18, the normal symbol start memory display 41 and the decoration lamp 25 provided on the game board. In addition, display control of the top frame lamp 28a, the left frame lamp 28b, the right frame lamp 28c, the prize ball lamp 51, and the ball-out lamp 52 provided on the frame side is performed. In addition, display control of the variable display device 9 for variably displaying the special symbol and the normal symbol display 10 for variably displaying the normal symbol is performed by display control means mounted on the symbol control board 80.
[0062]
FIG. 8 is a block diagram showing components related to payout, such as components of the payout control board 37 and the ball payout device 97. As shown in FIG. 8, the detection signal from the full switch 48 is input to the I / O port unit 57 of the main board 31 via the relay board 71. The detection signal from the ball break switch 187 is also input to the I / O port portion 57 of the main board 31 through the relay board 72 and the relay board 71.
[0063]
The CPU 56 of the main board 31 should stop paying out when the detection signal from the ball-off switch 187 indicates a ball-out state, or when the detection signal from the full-tan switch 48 indicates a full-up state. A payout control command is sent to instruct that this is the case. When receiving a payout control command instructing that payout should be stopped, the payout control CPU 371 of the payout control board 37 stops the ball payout process.
[0064]
Further, the detection signal from the prize ball count switch 301A is input to the I / O port portion 57 of the main board 31 via the relay board 72 and the relay board 71, and also from the payout control board 37 via the relay board 72. Input to the input port 372b. The prize ball count switch 301A is provided in a payout mechanism portion of the ball payout device 97, and detects a prize ball payout ball actually paid out.
[0065]
When there is a winning, a payout control command indicating the number of winning balls is input to the payout control board 37 from the output ports (ports 0, 1) 570, 571 of the main board 31. The output port (output port 1) 571 outputs 8-bit data, and the output port (output port 0) 570 outputs a 1-bit INT signal. A payout control command indicating the number of winning balls is input to the I / O port 372a via the input buffer circuit 373A. The INT signal is input to the interrupt terminal of the payout control CPU 371 via the input buffer circuit 373B. The payout control CPU 371 inputs a payout control command via the I / O port 372a, and drives the ball payout device 97 in accordance with the payout control command to perform prize ball payout. In this embodiment, the payout control CPU 371 is a one-chip microcomputer and incorporates at least a RAM.
[0066]
In the main board 31, buffer circuits 620 and 68A are provided outside the output ports 570 and 571. As the buffer circuits 620 and 68A, for example, general-purpose CMOS-ICs 74HC250 and 74HC14 are used. According to such a configuration, since a signal input from the outside to the inside of the main board 31 is blocked, it is possible to more reliably eliminate a signal line from which a signal may be given from the payout control board 37 to the main board 31. be able to. A noise filter may be provided on the output side of the buffer circuits 620 and 68A.
[0067]
The payout control CPU 371 outputs a ball lending number signal indicating the number of lending balls to the terminal board 160 via the output port 372c. Further, an error signal is output to the error display LED 374 via the output port 372d.
[0068]
Further, a detection signal from the payout motor position sensor for detecting the rotational position of the ball lending count switch 301B and the payout motor 289 is input to the input port 372b of the payout control board 37 via the relay board 72. . The ball lending count switch 301B is provided in a payout mechanism portion of the ball payout device 97, and detects a lending ball actually paid out. The drive signal from the payout control board 37 to the payout motor 289 is transmitted to the payout motor 289 in the payout mechanism portion of the ball payout device 97 via the output port 372c and the relay board 72, and the drive signal to the sorting solenoid 310 is This is transmitted to the sorting solenoid 310 in the payout mechanism portion of the ball payout device 97 via the output port 372e and the relay board 72. The output of the clear switch 921 is also input to the input port 372b.
[0069]
The card unit 50 is equipped with a card unit control microcomputer. In addition, the card unit 50 is provided with a usable display lamp 151, a connecting table direction indicator 153, a card insertion display lamp 154, and a card insertion slot 155 (see FIG. 1). The balance display board 74 is connected with a frequency display LED, a ball lending switch, and a return switch provided in the vicinity of the hitting ball supply tray 3.
[0070]
A ball lending switch signal and a return switch signal are given from the balance display board 74 to the card unit 50 via the payout control board 37 in accordance with the player's operation. Further, a card balance display signal indicating a prepaid card balance and a ball lending display signal are given to the balance display board 74 from the card unit 50 via the payout control board 37. Thus, the balance display board 74 and the card unit 50 are connected via the payout control board 37 without being directly connected. Between the card unit 50 and the payout control board 37, a connection signal (VL signal), a unit operation signal (BRDY signal), a ball lending request signal (BRQ signal), a ball lending completion signal (EXS signal) and a pachinko machine operation signal ( PRDY signal) is exchanged via the input port 372b and the output port 372e. Note that an interface board (not shown) is interposed between the card unit 50 and the payout control board 37. A signal such as a connection signal (VL signal) is exchanged between the card unit 50 and the payout control board 37 via the interface board. Then, no signal is directly exchanged between the balance display board 74 and the interface board.
[0071]
When the power of the pachinko gaming machine 1 is turned on, the payout control CPU 371 of the payout control board 37 outputs a PRDY signal to the card unit 50. The card unit control microcomputer outputs a VL signal. The payout control CPU 371 determines the connected / unconnected state based on the input state of the VL signal. When a card is received in the card unit 50, the ball lending switch is operated and a ball lending switch signal is input, the card unit control microcomputer outputs a BRDY signal to the payout control board 37. When a predetermined delay time elapses from this point, the card unit control microcomputer outputs a BRQ signal to the payout control board 37.
[0072]
Then, the payout control CPU 371 of the payout control board 37 raises the EXS signal to the card unit 50, and when detecting the fall of the BRQ signal from the card unit 50, drives the payout motor 289 to draw a predetermined number of rental balls. Pay to the player. At this time, the sorting solenoid 310 is in a driving state. That is, the ball distribution member 311 is directed to the ball lending side. When the payout is completed, the payout control CPU 371 causes the EXS signal to the card unit 50 to fall. Thereafter, if the BRDY signal from the card unit 50 is not on, prize ball payout control is executed.
[0073]
As described above, all signals from the card unit 50 are input to the payout control board 37. Accordingly, with respect to the ball lending control, no signal is input from the card unit 50 to the main board 31, and there is no room for an illegal signal input from the card unit 50 side to the basic circuit 53 of the main board 31. The power supply voltage AC24V used in the card unit 50 is supplied from the payout control board 37.
[0074]
In this embodiment, a power-off signal is input from the power supply board 910 to the payout control board 37. The power-off signal is input to a non-maskable interrupt (NMI) terminal of the payout control CPU 371. Furthermore, at least a part of the RAM (may be a CPU built-in RAM) present on the payout control board 37 is backed up by a backup power source created on the power board 910. That is, even if the power supply to the gaming machine is stopped, at least a part of the contents of the RAM is stored for a predetermined period.
[0075]
In this embodiment, the case where the card unit 50 is installed adjacent to the gaming machine as a separate body from the gaming machine is taken as an example, but the card unit 50 may be integrated with the gaming machine. . Further, the present invention can be applied even in the case where game balls corresponding to the amount of money are lent out in accordance with coin insertion.
[0076]
FIG. 9 is a block diagram illustrating a configuration example of the power supply substrate 910. The power supply board 910 is installed independently of the electric part control boards such as the main board 31, the symbol control board 80, the sound control board 70, the lamp control board 35, and the payout control board 37, and each electric part control board in the gaming machine and Generates voltage used by mechanical components. In this example, AC24V, VSL (DC + 30V), DC + 21V, DC + 12V, and DC + 5V are generated. Further, a capacitor 916 serving as a backup power source, that is, a memory holding means, is charged from a line of power source for driving DC + 5V, that is, an IC on each substrate. Note that VSL is generated by rectifying and boosting AC24V with a rectifier element in the rectifier circuit 912. VSL is a solenoid driving power source.
[0077]
The power supply board 910 is provided with a power switch 914 for executing or shutting off power supply to each electrical component control board and mechanism component in the gaming machine. The transformer 911 converts AC voltage from the AC power source into 24V. The AC 24V voltage is output to the connector 915. The rectifier circuit 912 also generates a DC voltage of +30 V from AC 24 V and outputs it to the DC-DC converter 913 and the connector 915. The DC-DC converter 913 has one or a plurality of converter ICs 920 (only one is shown in FIG. 9), generates + 21V, + 12V, and + 5V based on VSL and outputs the generated voltages to the connector 915. A relatively large capacitor 923 is connected to the input side of the converter IC 920. Accordingly, when the power supply to the gaming machine from the outside is stopped, the DC voltage such as + 30V, + 12V, + 5V, etc., decreases relatively slowly. A relatively large capacitor 924 is also connected to the input side of the connector 915. Therefore, the + 30V DC voltage output to the connector 915 is more gradually reduced than the other DC voltages. As a result, the capacitors 923 and 924 serve as an auxiliary drive power source described later. The connector 915 is connected to, for example, a relay board, and power of a voltage necessary for each electric component control board and the mechanism component is supplied from the relay board.
[0078]
However, each connector reaching each electric component control board may be provided on the power supply board 910 to supply each voltage from the power supply board 910 to each board without going through the relay board. FIG. 9 shows one connector 915 as a representative, but the connector is provided for each electrical component control board.
[0079]
The + 5V line from the DC-DC converter 913 branches to form a backup + 5V line. A large-capacitance capacitor 916 is connected between the backup + 5V line and the ground level. The capacitor 916 has a storage state with respect to the backup RAM of the electrical component control board when the power supply to the gaming machine is stopped (a RAM that is backed up by power, that is, a backup storage unit that can be in a storage content holding state even when the power supply is stopped). It becomes a backup power supply that supplies power so that it can be maintained. Further, a backflow preventing diode 917 is inserted between the + 5V line and the backup + 5V line. In this embodiment, +5 V for backup is supplied to the main board 31 and the payout control board 37.
[0080]
A battery that can be charged from a + 5V power supply may be used as the backup power supply. In the case of using a battery, a rechargeable battery is used in which the capacity disappears when a state in which no power is supplied from the +5 V power source continues for a predetermined time. Instead of the capacitors 923 and 924, a battery that can be charged from a + 30V power source may be used. When a battery is used instead of the capacitor 923, a rechargeable battery that can supply power to the award ball count switch 301A and the ball lending count switch 301B is used for a period equal to or longer than a payout confirmation period to be described later. When a battery is used instead of the capacitor 924, a rechargeable battery that can supply power to the sorting solenoid 310 for a period longer than a payout confirmation period described later is used. In addition, said battery does not need to have a charging function, For example, batteries, such as a nickel cadmium battery, an alkaline battery, and a manganese battery, can also be used.
[0081]
The power supply board 910 is equipped with a power supply monitoring IC 902 as a power supply monitoring circuit. The power monitoring IC 902 detects the occurrence of power supply stoppage to the gaming machine by introducing the VSL voltage and monitoring the VSL voltage. Specifically, when the VSL voltage becomes equal to or lower than a predetermined value (+22 V in this example), a power-off signal is output (specifically, it is set to the low level) because the power supply is stopped. The power supply voltage to be monitored is preferably higher than the power supply voltage (+5 V in this example) of the circuit element mounted on each electric component control board. In this example, VSL, which is a voltage immediately after being converted from AC to DC, is used. A power-off signal from the power monitoring IC 902 is supplied to the main board 31, the payout control board 37, and the like.
[0082]
The predetermined value for the power monitoring IC 902 to detect the stop of power supply is lower than the normal voltage, but is a voltage that allows the CPU on each electrical component control board to operate for a while. Further, the power monitoring IC 902 is configured to monitor a voltage that is higher than a voltage for driving a circuit element such as a CPU (+5 V in this example) and immediately after being converted from AC to DC. Therefore, the monitoring range can be expanded for the voltage required by the CPU. Therefore, more precise monitoring can be performed.
[0083]
Furthermore, when VSL (+ 30V) is used as the monitoring voltage, the voltage supplied to the various switches of the gaming machine is + 12V, so that it can be expected to prevent erroneous switch-on detection at the time of instantaneous power interruption. That is, when the voltage of the + 30V power supply is monitored, it is possible to detect a decrease in the level before + 12V created after the creation of + 30V starts to drop. When the voltage of the + 12V power supply decreases, the switch output becomes on. However, if the + 30V power supply voltage, which decreases faster than + 12V, is monitored and the stop of the power supply is recognized, the power supply is turned on before the switch output shows the on state. It is possible to enter a state of waiting for recovery and not detect switch output.
[0084]
Also, unlike the input line to the power monitoring IC 902 for VSL (+ 30V) as the monitoring voltage, a large capacity capacitor is used for the input line to the connector 915 for VSL (+ 30V) as the voltage supplied to the solenoid, motor, etc. 924 is connected. Therefore, VSL (+30 V) as the monitoring voltage decreases faster than VSL (+30 V) output to the connector 915 to which the large-capacitance capacitor 924 is connected. That is, even after VSL (+30 V) as a monitoring voltage starts to drop, the supply state of VSL (+30 V) as a voltage supplied to a solenoid, a motor, or the like is maintained for a predetermined period. After that, VSL (+ 30V) as the voltage supplied to the solenoid, motor, etc. gradually decreases. Therefore, even when VSL (+30 V) as the monitoring voltage starts to drop, the solenoid, the motor, and the like can be driven for a predetermined period. In addition, the stop of power supply can be recognized before VSL (+30 V) output to the connector 915 starts to drop.
[0085]
Further, since the power monitoring IC 902 is mounted on the power supply board 910 that is separate from the electrical component control board, a power-off signal can be supplied from the power monitoring circuit to the plurality of electrical component control boards. Even if there are any number of electrical component control boards that require a power-off signal, it is only necessary to provide one power supply monitoring means. Therefore, even if each electrical component control means in each electrical component control board performs recovery control described later. The cost of the gaming machine does not increase so much.
[0086]
In the configuration shown in FIG. 9, the detection signal (power cut-off signal) of the power monitoring IC 902 is supplied to each electric component control board (for example, the main board 31 and the payout control board 37) via the buffer circuits 918 and 919. For example, a configuration may be adopted in which one detection signal is transmitted to the relay board, and the same signal is distributed from the relay board to each electrical component control board. Further, a buffer circuit corresponding to the number of substrates that require a power-off signal may be provided. Further, regarding the power-off signal output to the main board 31 and the payout control board 37, the monitoring voltage of the power supply monitoring circuit that outputs the power-off signal may be different.
[0087]
As shown in FIG. 9, a pushbutton structured clear switch 921 is mounted on the power supply board 910. When the clear switch 921 is pressed, a low level (on state) clear switch signal is output and transmitted to the main board 31 or the like via the connector 915. If the clear switch 921 is not pressed, a high level (off state) signal is output. In this embodiment, when the clear signal in the on state is output, the operation signal is output from the clear switch 921 as the operation means. Note that the clear switch 921 may have a configuration other than the push button structure.
[0088]
In this embodiment, since the clear switch 921 is mounted on the power supply board 910, even if the power board 910 is used as it is for the replaced game board 6 in the case of replacement of the game board 6 or the like, In the game board 6, the game state restoration process or the like can be executed as it is. That is, the power supply board 910 can be reused. Note that the clear switch 921 may be mounted not on the power supply board 910 but on another board such as a switch board.
[0089]
The power supply board 910 is equipped with a return signal generation circuit 970 that supplies a return signal to each board. The return signal is output to the main board 31 via the buffer circuit 961 and is output to the payout control board 37 via the buffer circuit 962.
[0090]
FIG. 10 is a block diagram illustrating a configuration example of the return signal generation circuit 970. The return signal generation circuit 970 includes a counter 971 that is an example of a return signal output unit that measures a standby period and outputs a return signal. The counter 971 counts the clock signal from the oscillator 975 when the power-off signal becomes low level and clearing is solved. When counting up, a high-level pulse is generated as a Q output. The pulse signal is logically inverted by an inversion circuit 972 and input to the buffer circuit 973 and the buffer circuit 974. The output of the buffer circuit 973 is supplied to the payout control board 37 as a return signal, and the output of the buffer circuit 974 is supplied to the main board 31 as a return signal.
[0091]
In this embodiment, the power supply board 910 is provided with the return signal generation circuit 970 and outputs the return signal to the main board 31 and the payout control board 37. Each may be provided with a return signal generation circuit.
[0092]
FIG. 11 is a block diagram illustrating a configuration example around the CPU 56 in the main board 31. As shown in FIG. 11, the power-off signal from the power supply monitoring circuit (power supply monitoring means) of the power supply board 910 is connected to the non-maskable interrupt terminal (XNMI terminal) of the CPU 56. Therefore, the CPU 56 can confirm the occurrence of the power interruption by the non-maskable interrupt process.
[0093]
The reset IC 651A in the system reset circuit 65A sets the output to the low level for a predetermined time determined by the capacity of the external capacitor when the power is turned on, and sets the output to the high level when the predetermined time elapses. That is, the reset signal is raised to a high level to make the CPU 56 operable. The reset IC 651A monitors the power supply voltage of VSL, which is the same as the power supply voltage monitored by the power supply monitoring circuit, and the voltage value is lower than a predetermined value (the power supply voltage value at which the power supply monitoring circuit outputs a power-off signal). When the value is less than or equal to, the output is set to low level. Therefore, the CPU 56 performs a predetermined power supply stop process in response to a power-off signal from the power supply monitoring circuit, and then resets the system (that is, returns to the initial state of the system).
[0094]
As shown in FIG. 11, the reset signal from the reset IC 651 </ b> A is input to the NAND circuit 947 and also input to the clear terminal of the counter IC 941 via the inverting circuit (NOT circuit) 944. The counter IC 941 counts the clock signal from the oscillator 943 when the input to the clear terminal becomes low level. The Q5 output of the counter IC 941 is input to the NAND circuit 947 via the NOT circuits 945 and 946. The Q6 output of the counter IC 941 is input to the clock terminal of the flip-flop (FF) 942. The D input of the flip-flop 942 is fixed at a high level, and the Q output is input to an OR circuit (OR circuit) 949. The output of the NAND circuit 947 is introduced into the other input of the OR circuit 949 via the NOT circuit 948. The output of the OR circuit 949 is connected to the reset terminal of the CPU 56. According to such a configuration, since the reset signal (low level signal) is given twice to the reset terminal of the CPU 56 when the power is turned on, the CPU 56 surely starts operation.
[0095]
For example, the detection voltage of the power supply monitoring circuit mounted on the power supply substrate 910 (voltage that outputs the power-off signal) is set to + 22V, and the detection voltage for setting the reset signal to low level is set to + 9V. In such a configuration, since the power supply monitoring circuit and the system reset circuit 65A monitor the voltage of the same power supply VSL, the timing at which the voltage monitoring circuit outputs a power-off signal and the system reset circuit 65A perform system reset. It is possible to reliably set the difference in timing for outputting the signal within a desired predetermined period. The desired predetermined period is a period from the start of the power supply stop process in response to the power-off signal from the power supply monitoring circuit until the completion of the power supply stop process. The power supply voltage monitored by the power supply monitoring circuit and the system reset circuit 65A may be different.
[0096]
While power is not supplied from the + 5V power source that is the driving power source of the CPU 56 or the like, at least a part of the RAM is backed up by the backup power source supplied from the power supply board 910, and the content remains even if power supply to the gaming machine is stopped Saved. When the +5 V power supply is restored, a reset signal is issued from the system reset circuit 65A, so that the CPU 56 returns to a normal operation state. At that time, since necessary data is stored in the backup RAM, it is possible to restore the gaming state at the time of occurrence of a power failure or the like at the time of recovery from the power failure or the like.
[0097]
In the configuration shown in FIG. 11, two reset signals (low level signals) are given to the reset terminal of the CPU 56 when the power is turned on, but the reset is reliably released even if the reset signal rises only once. When the CPU is used, the circuit elements denoted by reference numerals 941 to 949 are not necessary. In that case, the output of the reset IC 651A is directly connected to the reset terminal of the CPU 56.
[0098]
Further, as shown in FIG. 11, the return signal from the power supply board 910 and the reset signal from the system reset circuit 65A (specifically, the output of the AND circuit 949) are input to the AND circuit 161, and the AND circuit 161 The output is input to a reset terminal (reset signal input unit) of the CPU 56.
[0099]
FIG. 12 is a timing chart for explaining the operation of the counter 971 in the return signal generation circuit 970. As shown in FIG. 12A, when the power supply voltage decreases and the voltage value of VSL decreases to the power-off signal output level (+22 V in this example), a power-off signal is generated. Specifically, the power-off signal becomes low level. Then, as will be described later, the CPU 31 and the payout control CPU 371 of the main board 31 start executing the power supply stop process, and when the process ends, enter a loop state (standby state) in which no control is performed.
[0100]
The counter 971 starts counting when the power-off signal becomes low level, but the count-up value is the time for the voltage value of VSL to drop to a voltage capable of generating Vcc after the power-off signal becomes low level. Set as above. That is, at least the power supply voltage is set to be equal to or longer than the time during which the power supply voltage is reduced to a voltage at which the control operation is disabled. Since the counter 971 operates using Vcc as a power source, the count-up value is set to be equal to or greater than the value corresponding to the operable period of the counter 971. Therefore, generally, the counter 971 and other circuit components do not operate before the counter 971 counts up and a return signal is output.
[0101]
When an instantaneous power interruption or the like occurs, as shown in FIG. 12B, the voltage level of VSL is restored after a short period of time drop. When the voltage level of VSL becomes equal to or lower than the power-off signal output level, the power-off signal becomes low level, and the power supply stop process is started. Then, the CPU 56 and the payout control CPU 371 enter a loop state after the end of the power supply stop process. If no control is performed, the loop process cannot be exited. In this case, the counter 971 counts up and a return signal is generated.
[0102]
In the main board 31, the return signal is input to the reset terminal of the CPU 56 via the AND circuit 161. Therefore, a system reset is applied to the CPU 56. As a result, the CPU 56 can get out of the loop state. As will be described later, in the payout control board 371, the return signal is input to the reset terminal of the payout control CPU 371 via the AND circuit 385 (see FIG. 40). Accordingly, a system reset is applied to the payout control CPU 371. As a result, the payout control CPU 371 can exit the loop state.
[0103]
FIG. 13 and FIG. 14 are explanatory diagrams showing assignment of output ports in this embodiment. As shown in FIG. 13, the output port 0 is an output port for an INT signal of a control command sent to each electric component control board. The 8-bit data of the payout control command sent to the payout control board 37 is output from the output port 1, and the 8-bit data of the display control command sent to the symbol control board 80 is output from the output port 2. The 8-bit data of the lamp control command sent to the lamp control board 35 is output from the output port 3. As shown in FIG. 14, 8-bit data of the sound control command sent to the sound control board 70 is output from the output port 4.
[0104]
Further, various information output signals from the output port 5 to the information terminal board 34 and the terminal board 160 through the information output circuit 64, that is, output data of information related to control are output. Then, a drive signal from the output port 6 to the solenoid 16 for opening and closing the variable winning ball device 15, the solenoid 21 for opening and closing the opening / closing plate 2 of the special winning opening, and the solenoid 21A for switching the path in the special winning opening. Is output.
[0105]
As shown in FIG. 14, each INT signal (payout control signal INT, display control signal INT, lamp control signal INT) output to the payout control board 37, the symbol control board 80, the lamp control board 35, and the sound control board 70. And an output port (output port 0) for outputting the voice control signal INT) and an output port for outputting the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the ramp control signals CD0 to CD7 and the voice control signals CD0 to CD7. (Output ports 1 to 4) are different ports.
[0106]
Therefore, when outputting the INT signal, the possibility that the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the ramp control signals CD0 to CD7, and the audio control signals CD0 to CD7 are erroneously changed is reduced. Further, when outputting the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the ramp 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 for each electric component control board is more reliably sent from the game control means of the main board 31. Furthermore, since all the INT signals are output from the output port 0, the burden of the INT signal output process of the game control means is reduced.
[0107]
FIG. 15 is an explanatory diagram showing bit assignment of input ports in this embodiment. As shown in FIG. 15, bits 0 to 7 of the input port 0 are detected by the winning port switches 33a, 39a, 29a, 30a, the gate switch 32a, the starting port switch 14a, the count switch 23, and the V winning switch 22, respectively. A signal is input. In addition, the award ball count switch 301A, the full switch 48, the ball break switch 187 detection signal, the count switch short-circuit signal, and the clear switch 921 detection signal are input to bits 0 to 4 of the input port 1, respectively. The detection signal from each switch is logically inverted in the switch circuit 58. As described above, the detection signal of the clear switch 921, that is, the operation input of the operation means, is a bit in the same input port as the input port (an input unit having an 8-bit configuration) to which the detection signal of the switch for detecting the game ball is input. (Input port circuit).
[0108]
Next, the operation of the gaming machine will be described. FIG. 16 is a flowchart showing main processing executed by game control means (CPU 56 and peripheral circuits such as ROM and RAM) in the main board 31. When power is turned on to the gaming machine and the input level of the reset terminal becomes high level, the CPU 56 starts main processing after step S1. In the main process, the CPU 56 first performs necessary initial settings.
[0109]
In the initial setting process, the CPU 56 first sets the interrupt prohibition (step S1). Next, the interrupt mode is set to interrupt mode 2 (step S2), and the top address of the stack area is set to the stack pointer (step S3). Then, the built-in device register is initialized (step S4). Further, after initialization (step S5) of CTC (counter / timer) and PIO (parallel input / output port) which are built-in devices (built-in peripheral circuits), the RAM is set in an accessible state (step S6).
[0110]
The CPU 56 used in this embodiment also incorporates an I / O port (PIO) and a timer / counter circuit (CTC). The CTC also includes two external clock / timer trigger inputs CLK / TRG2, 3 and two timer outputs ZC / TO0,1.
[0111]
The CPU 56 used in this embodiment is provided with the following three modes as maskable interrupt modes. When a maskable interrupt occurs, the CPU 56 automatically sets the interrupt disabled state and saves the contents of the program counter in the stack.
[0112]
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 CPU 56 executes the instruction at the address corresponding to the RST instruction or the address specified by the CALL instruction. At reset, the CPU 56 automatically enters interrupt mode 0. Therefore, when setting to interrupt mode 1 or interrupt mode 2, it is necessary to perform a process for setting to interrupt mode 1 or interrupt mode 2 in the initial setting process.
[0113]
Interrupt mode 1: In this mode, when an interrupt is accepted, the mode always jumps to address 0038 (h).
[0114]
Interrupt mode 2: A mode in which the address synthesized from the value (1 byte) of the specific register (I register) of the CPU 56 and the interrupt vector (1 byte: least significant bit 0) output by the built-in device indicates the interrupt address It is. That is, the interrupt address is an address indicated by 2 bytes in which the upper address is the value of the specific register and the lower address is the interrupt vector. Therefore, an interrupt process can be set at an arbitrary address (although it is skipped). Each built-in device has a function of sending an interrupt vector when making an interrupt request.
[0115]
Therefore, when the interrupt mode 2 is set, it becomes possible to easily process an interrupt request from each built-in device, and it is possible to install an interrupt process at an arbitrary position in the program. . Furthermore, unlike interrupt mode 1, it is also easy to prepare each interrupt process for each interrupt generation factor. As described above, in this embodiment, the CPU 56 is set to the interrupt mode 2 in step S2 of the initial setting process.
[0116]
Next, the CPU 56 confirms the state of the output signal of the clear switch 921 input via the input port 1 only once (step S7). When the on-state is detected in the confirmation, the CPU 56 executes normal initialization processing (steps S11 to S15). When the clear switch 921 is on (when pressed), a low-level clear switch signal is output. In the input port 1, the clear switch signal is in the high level (see FIG. 15). Further, for example, the game clerk can easily execute the initialization process by starting the power supply to the gaming machine (for example, turning on the power switch 914) while turning the clear switch 921 on. That is, RAM clear or the like can be performed.
[0117]
If the clear switch 921 is not in the on state, whether or not data protection processing of the backup RAM area (for example, power supply stop processing such as addition of parity data) has been performed when power supply to the gaming machine is stopped Confirm (step S8). In this embodiment, when power supply is stopped, a process for protecting data in the backup RAM area is performed. When such protection processing is performed, it is assumed that there is a backup. When it is confirmed that such protection processing is not performed, the CPU 56 executes initialization processing.
[0118]
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 process. 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).
[0119]
After confirming that there is a backup, the CPU 56 performs a data check of the backup RAM area (parity check in this example) (step S9). In this embodiment, clear data (00) is set in the checksum data area, and the checksum calculation start address is set in the pointer. Also, the number of checksum calculations corresponding to the number of data to be checksum is set. 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. The calculation result is stored in the checksum data area, the pointer value is incremented by 1, and the checksum calculation count value is decremented by 1. The above processing is repeated until the value of the checksum calculation count becomes zero. When the value of the checksum calculation count reaches 0, the CPU 56 inverts the value of each bit of the contents of the checksum data area and uses the inverted data as the checksum.
[0120]
In the power supply stop process, a checksum is calculated by the same process as described above, and the checksum is stored in the backup RAM area. In step S9, the calculated checksum is compared with the stored checksum. When the power supply is stopped after an unexpected power failure or the like, the data in the backup RAM area should be saved, so the check result (comparison result) is normal (matched). That the check result is not normal 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 when the power supply is stopped, an initialization process that is executed when the power is turned on is not performed when the power supply is stopped.
[0121]
If the check result is normal, the CPU 56 performs a game state restoration process for returning the internal state of the game control means and the control state of the electric component control means such as the display control means to the state when the power supply is stopped (step S10). ). Then, the saved value of the PC (program counter) stored in the backup RAM area is set in the PC, and the address is restored.
[0122]
As described above, when “backup exists” is not confirmed according to the status of the backup flag, the initialization process described later is performed without performing the gaming state recovery process described later, and therefore there is no backup data. However, it is possible to prevent the gaming state restoration process from being executed, and the control state can be returned to the initial state by the initialization process.
[0123]
In addition, when the check result using the check data is not normal, the initialization process described later is performed without performing the gaming state recovery process described later, so that the contents differ from those at the time of stopping the power supply. It is possible to prevent the gaming state recovery process from being executed based on the backup data that has been made, and the control state can be returned to the initial state by the initialization process.
[0124]
The CPU 56 uses the backup flag and check data such as a checksum to check whether data in the backup RAM area is stored. That is, when the power supply is restored, a plurality of recovery conditions for determining whether or not to restore the control state before the power supply is stopped (in this example, the backup flag was normally stored) When all of the checksums are normal), a recovery process for recovering the control state based on the stored contents stored in the variable data storage means is executed, and at least one of the plurality of recovery conditions When the condition is not satisfied, an initialization process for initializing the storage contents of the variation data storage means can be executed. By using a plurality of recovery conditions, the gaming state can be accurately returned to the state when the power supply is stopped. That is, the certainty of the state restoration process based on the data in the backup RAM area is improved.
[0125]
If an operation signal is output from the operation means, initialization processing is executed regardless of a plurality of recovery conditions (step S7). That is, it is not determined whether other restoration conditions are satisfied. 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, either the backup flag or the check data may be used as an opportunity for executing the state recovery process.
[0126]
In the initialization process, the CPU 56 first performs a RAM clear process (step S11). Note that the entire area of the RAM may not be initialized, and predetermined data (for example, count value data of a counter for generating a big hit determination random number) may be left as it is. For example, if the count value data of the counter for generating the big hit determination random number is left as it is, the big hit determination random number is generated even if the initialization process is executed by unauthorized means. Therefore, it is difficult to aim at the timing at which the count value of the counter matches the jackpot determination value. In addition, a predetermined work area (for example, a normal symbol determination random number counter, a normal symbol determination buffer, a special symbol left middle right symbol buffer, a special symbol process flag, a payout command storage pointer, a winning ball flag, a ball out flag, a payout A work area setting process for setting an initial value to a flag such as a stop flag for selectively performing processing according to the control state is performed (step S12).
[0127]
Further, the CPU 56 determines whether or not a predetermined payout prohibition condition is satisfied (step S13a), and if the payout prohibition condition is not satisfied, instructs that the payout from the ball payout device 97 is possible. A process of transmitting a payout permission state designation command (hereinafter referred to as a payout enable state designation command) to the payout control board 37 is performed (step S13b). If the payout prohibition condition is satisfied, the control state of the main board 31 is set to the payout prohibition state.
[0128]
In this embodiment, the control state of the main board 31 is changed by setting the ball-out flag to a state (ON state) indicating the ball-out state and setting the full-tan flag to a state (ON state) indicating the lower pan full state. Set to the withdrawal prohibited state. The payout prohibition condition is, for example, when there is a possibility that the game ball to be paid out cannot be paid out, such as when the ball is out of play or when the lower plate is full, or when the game ball is paid out This is true if it is not appropriate. Accordingly, in step S13a, for example, confirmation of the detection state by the ball break switch 187 and confirmation of the detection state by the full switch 48 are performed. Note that, since the timer interrupt described later is not set at the stage where the determination process of step S13a is executed, a monitoring time (for example, 2 ms) is created by a wait process using a software timer, and the state of the switch described later is changed. By executing processing similar to the processing to be monitored, the state of the ball break switch 187 and the full tank switch 48 may be monitored at each monitoring time to determine whether the switch is turned on.
[0129]
Further, the CPU 56 executes processing for transmitting an initialization command for initializing other sub-boards (lamp control board 35, sound control board 70, symbol control board 80) to each sub-board (step S14). As an initialization command, a command indicating the initial symbol displayed on the variable display device 9 (for the symbol control board 80) and a command for instructing the extinction of the prize ball lamp 51 and the ball-out lamp 52 (to the lamp control board 35) Etc).
[0130]
In the initialization process, a payout enable state designation command is transmitted to the payout control board 37 when the payout prohibition condition is not satisfied, and no payout prohibition state designation command is transmitted when the payout prohibition condition is satisfied. . Even if the state of the gaming machine is a state in which a payout from the ball payout device 97 is not possible (a state in which a payout prohibition condition is satisfied), a payout prohibited state in the initialization process on the payout control board 37 There should be no problem because it should be set to. In the process of transmitting the payable state designation command and the initialization command to other sub-boards, for example, the address of the table (ROM area) in which each command is set is set to the pointer, and the command setting process (see FIG. 32) may be called.
[0131]
Then, a CTC register set in the CPU 56 is set so that a timer interrupt is periodically generated every 2 ms (step S15). That is, a value corresponding to 2 ms is set in a predetermined register (time constant register) as an initial value. Specifically, a timer interrupt set value (A7 (in this example, A7 (in this example)) is added to one (for example, CH3) of the control registers provided corresponding to each of a plurality of (for example, four) timers. H): interrupt enable, reset setting, etc.) is set, and then time constant data (count value, 2E (H) in this example) corresponding to 2 ms is set in the control register.
[0132]
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 disabled state is set (step S16). When the display random number update process and the initial value random number update process are finished, the interrupt enabled state is set. (Step S19). The display random number is a random number for determining a symbol displayed on the variable display device 9, and the display random number update process is a process for updating the count value of the counter for generating the display random number. . The initial value random number update process is a process for updating the count value of the counter for generating the initial value random number. The initial value random number is a random number for determining an initial value of a count value such as a counter for generating a random number for determining whether or not to make a big hit (a big hit determination random number generation counter). In a game control process described later, when the count value of the jackpot determination random number generation counter makes one round, an initial value is set in the counter.
[0133]
Note that when the display random number update process is executed, the interrupt is prohibited. The display random number update process is also executed in the timer interrupt process described later, and thus conflicts with the process in the timer interrupt process. This is to avoid that. That is, if the timer interrupt is generated during the process of step S17 and the counter value for generating the display random number is updated during the timer interrupt process, the continuity of the count value is impaired. There is a case. However, such an inconvenience does not occur if the interrupt is prohibited during the process of step S17.
[0134]
FIG. 18 is a flowchart illustrating an example of the game state recovery process. In the game state restoration process, the CPU 56 first performs a stack pointer restoration process (step S81). The value of the stack pointer is saved in a predetermined RAM area (stack pointer save buffer in the work area backed up by power) in the power supply stop process described in detail later. Therefore, in step S81, the RAM area value is set in the stack pointer to return. Note that the area pointed to by the returned stack pointer (that is, the read destination in the stack area that stores the return address when the subroutine is called: specifically, a plurality of areas therefrom) Register values and program counter (PC) values are saved.
[0135]
Next, the CPU 56 transmits a display control command for restoring the display state according to the display state of the special symbol in the variable display device 9 when the power supply is stopped (step S82).
[0136]
Also, the prize ball count value stored in the backup RAM is reflected in the total prize ball number storage buffer and the prize ball information counter for outputting prize ball information to the outside of the gaming machine (step S84). The prize ball count value corresponds to the number of payout balls detected in the power supply stop process described later. In step S84, the CPU 56 performs a process of subtracting the prize ball count value from the value stored in the total prize ball number storage buffer and adding the prize ball count value to the count value of the prize ball information counter. Then, the prize ball count value is cleared.
[0137]
Next, the CPU 56 unconditionally transmits a payout control command (payable state designation command) instructing that payout is possible to the payout control means (step S85).
[0138]
Since the payout control means always receives the payout control command from the game control means when the power supply is restored, the payout control means can immediately recognize that the game control means has started up normally. In practice, even if the supply ball is insufficient or the surplus ball receiving tray 4 is full, the payout prohibition state designation command is transmitted to the payout control means in the prize ball processing. Although the surplus ball receiving tray 4 is full, the payout control is not continued. Further, instead of transmitting the payout enable state designation command, the payout control command transmitted last before stopping the power supply may be transmitted. That is, the recovery command need not always be the same command. Further, a payout control command for designating the number of winning balls may be transmitted. In that case, the payout control means also performs the control state recovery process, but after performing the control state recovery process, control such as ignoring the contents specified by the payout control command received within a predetermined time is performed. Do.
[0139]
In this embodiment, the game control means indicates that the control state is restored to the payout control board 37 after the stack pointer is restored in the game state restoration process executed when the power supply is restored. The payable state designation command as the recovery command shown is transmitted unconditionally. Next, timer interrupt setting and register restoration processing described later are performed. By configuring so that the recovery command is transmitted unconditionally to the payout control board 37, the game control means does not need to perform extra confirmation processing (confirmation of whether payout is possible, etc.). As will be described later, the payout control means mounted on the payout control board 37 sets timer interrupts and registers on the condition that a recovery command is received in the payout state recovery process executed when the power supply is recovered. The payout control is resumed by performing the return process.
[0140]
In this embodiment, the game control means unconditionally transmits a payable state designation command as a recovery command, but it is possible to check whether or not the game ball can be paid out. If the state is not correct, the payable state designation command may be transmitted as a recovery command. If the state is not possible, the payout prohibition state designation command may be transmitted as a recovery command. The state where the game balls cannot be paid out is, for example, a state where the supply balls are insufficient or the surplus ball receiving tray 4 is full. When the payout prohibition state designation command is transmitted as the recovery command, the game control means, when the game ball can be paid out in the game control process executed after the game state recovery process is completed, Then, a payable state designation command is transmitted.
[0141]
In the game state recovery process, even if it is confirmed whether or not the game ball can be paid out before sending the recovery command, the payout control means can control the game control when the power supply is restored. Since the recovery command is always received from the means, it can be immediately recognized that the game control means has started up normally. Therefore, even if the game control means and the payout control means are configured to start up simultaneously when the power supply start is restored, the payout control by the payout control means is controlled by the game control means (for example, payout of game balls). To monitor and control).
[0142]
Further, the recovery command transmitted in the game state recovery process is the same as the command related to the payout control transmitted in the game control process. In other words, a payout enable state designation command for instructing payout possible or a payout prohibition state designation command for instructing payout prohibition transmitted in the game control process is used as a recovery command in the game state recovery process. Therefore, even if the recovery command is transmitted in the game state recovery process, the types of payout control commands will not increase.
[0143]
Thereafter, a timer interrupt setting process is performed for setting the timer interrupt process so that a timer interrupt is generated every 2 ms (step S86). For example, a timer interrupt set value (A7 (H) in this example :) is added to one (for example, CH3) of the control registers provided corresponding to each of a plurality of (for example, four) timers. Interrupt enable, reset setting, etc.) are set, and then time constant data (count value, 2E (H) in this example) corresponding to 2 ms is set in the control register. Further, the CPU 56 clears the backup flag (step S87), that is, resets a flag indicating that a predetermined storage protection process has been executed when the power supply was stopped last time. Therefore, unnecessary information can be prevented from remaining after the control state is restored.
[0144]
Further, the saved values of various registers are read from the stack area and set in various registers (IX register, HL register, DE register, BC register) (step S88). That is, register return processing is performed. Each time each register is restored, the value of the stack pointer is decreased. In other words, the value of the stack pointer is updated to point to the previous address in the stack area. Further, the parity flag is restored from the stack area, and the interrupt flag (interrupt state flag) is restored according to the contents (step S89). The interrupt flag is an internal flag of the CPU 56, and indicates whether the interrupt is permitted or prohibited. In this case, the interrupt flag indicates whether the state before the power supply stop was the interrupt permission state or the prohibition state.
[0145]
Next, when the parity flag is not turned on, an interrupt permission state is set (steps S91 and S92). Finally, the AF register (accumulator and flag register) is restored from the stack area (step S93).
[0146]
Then, the RET instruction is executed. When the RET instruction is executed, the CPU 56 realizes a program return operation by setting the data stored in the area pointed to by the stack pointer in the program counter. However, the return destination here is not the part that called the game state restoration process. This is because the stack pointer recovery process is performed in step S81, and after the register recovery process is completed in step S89, the stack pointer indicating the stack area is executed when the power supply stop process by the NMI is started. Indicates the area where the program address is saved. That is, the return address stored in the stack area pointed to by the returned stack pointer is the address where the NMI occurred when the power supply was last stopped in the program. Therefore, the next RET command in step S92 returns to the address where the NMI occurred when the power supply was stopped.
[0147]
As described above, in this embodiment, game control is resumed based on the address data (program address data) saved in the stack area.
[0148]
When the timer interrupt occurs, the CPU 56 performs the register saving process (step S20), and then executes the game control process of steps S21 to S32 shown in FIG. In the game control process, the CPU 56 first inputs detection signals of switches such as the gate switch 32a, the start port switch 14a, the count switch 23, and the winning port switches 29a, 30a, 33a, and 39a through the switch circuit 58. These state determinations are performed (switch processing: step S21).
[0149]
Next, various abnormality diagnosis processes are performed by the self-diagnosis function provided in the pachinko gaming machine 1, and an alarm is issued if necessary according to the result (error process: step S22).
[0150]
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 CPU 56 further performs a process of updating the count value of the counter for generating the display random number and the initial value random number (steps S24 and S25).
[0151]
Further, the CPU 56 performs special symbol process processing (step S26). In the special symbol process control, corresponding processing is selected and executed according to a special symbol process flag for controlling the pachinko gaming machine 1 in a predetermined order according to the gaming state. The value of the special symbol process flag is updated during each process according to the gaming state. Further, normal symbol process processing is performed (step S27). In the normal symbol process, the corresponding process is selected and executed according to the normal symbol process flag for controlling the display state of the normal symbol display 10 in a predetermined order. The value of the normal symbol process flag is updated during each process according to the gaming state.
[0152]
Next, the CPU 56 performs a process of setting a display control command related to the special symbol in a predetermined area of the RAM 55 and sending the display control command (special symbol command control process: step S28). In addition, a display control command related to the normal symbol is set in a predetermined area of the RAM 55, and a process of sending the display control command is performed (normal symbol command control process: step S29).
[0153]
Further, the CPU 56 performs information output processing for outputting data such as jackpot information, start information, probability variation information supplied to the hall management computer, for example (step S30).
[0154]
Further, the CPU 56 issues a drive command to the solenoid circuit 59 when a predetermined condition is satisfied (step S31). The solenoid circuit 59 drives the solenoids 16, 21, and 21A in response to a drive command in order to open or close the variable winning ball device 15 or the opening / closing plate 20, or to switch the game ball passage in the special winning opening. To do.
[0155]
Then, the CPU 56 executes a prize ball process for setting the number of prize balls based on the detection signals from the winning opening switches 29a, 30a, 33a, 39a (step S32). Specifically, a payout control command indicating the number of winning balls is output to the payout control board 37 in response to winning detection based on the winning opening switches 29a, 30a, 33a, 39a being turned on. The payout control CPU 371 mounted on the payout control board 37 drives the ball payout device 97 according to a payout control command indicating the number of prize balls. Thereafter, the contents of the register are restored (step S33), and the interrupt permission state is set (step S34).
[0156]
With the above control, in this embodiment, the game control process is started every 2 ms. In this embodiment, the game control process is executed by the timer interrupt process. However, in the timer interrupt process, for example, only a flag indicating that an interrupt has occurred is set, and the game control process is performed by the main process. May be executed.
[0157]
Next, a specific example of the switch process (step S21) in the game control process 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 processing corresponding to the switch ON is started. A switch timer is used to measure the 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 an ON state. As shown in FIG. 20, the switch timer is provided for the number n of detection signals (excluding the detection signal of the clear switch 921). In this embodiment, n = 13. In the RAM 55, the addresses of the switch timers are arranged in the same order as the bit arrangement order of the input ports (from top to bottom shown in FIG. 15).
[0158]
FIG. 21 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 process, the CPU 56 first inputs data input to the input port 0 (step S101). Next, “8” is set as the number of processes (step S102), and the address of the switch timer for the winning opening switch 33a is set in the pointer (step S103). Then, a switch check processing subroutine is called (step S104).
[0159]
FIG. 22 is a flowchart showing a switch check processing subroutine as an input processing routine. In the switch check processing subroutine, the CPU 56 sets port input data, in this case, input data from the input port 0, as a “comparison value” (step S121). Further, clear data (00) is set (step S122). Then, the switch timer pointed to by the pointer (switch timer address is set) is loaded (step S123), and the comparison value is shifted to the right (from the upper bit to the lower bit) (step S124). Data of input port 0 is set as the comparison value. In this case, the detection signal of the winning opening switch 33a is pushed out to the carry flag.
[0160]
If the value of the carry flag is “1” (step S125), that is, if the detection signal of the winning opening switch 33a is on, the switch timer value is incremented by 1 (step S127). If the value after addition is not 0, the addition value is returned to the switch timer (steps S128 and S129). When the value after addition becomes 0, the addition value is not returned to the switch timer. That is, when the value of the switch timer has already reached the maximum value (255), the value is not increased further.
[0161]
If the value of the carry flag is “0”, that is, if the detection signal of the winning opening switch 33a is in the OFF state, clear data is set in the switch timer (step S126). That is, if the switch is off, the value of the switch timer returns to zero.
[0162]
Thereafter, the CPU 56 adds 1 to the pointer (switch timer address) (step S130) and subtracts 1 from the number of processes (step S131). If the number of processes is not 0, the process returns to step S122. Then, the processes of steps S122 to S132 are repeated.
[0163]
The processes in steps S122 to S132 are repeated for the number of processes, that is, eight times, and during that time, the detection signal of the switch input to the 8 bits of the input port 0 is sequentially checked to determine whether it is on or off. If it is ON, the value of the corresponding switch timer is incremented by one.
[0164]
The CPU 56 inputs the data input to the input port 1 in step S105 of the switch process. Next, “4” is set as the processing number (step S106), and the address of the switch timer for the winning ball count switch 301A is set in the pointer (step S107). Then, a switch check processing subroutine is called (step S108).
[0165]
In the switch check processing subroutine, since the above-described processing is executed, the processing in steps S122 to S132 is repeated for the number of processing, that is, four times, and the detection signal of the switch input to the 4 bits of the input port 1 during that time. Then, a check process is sequentially performed to determine whether the state is on or off. If the state is on, the value of the corresponding switch timer is incremented by one.
[0166]
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.
[0167]
23 to 25 are flowcharts showing an example of the prize ball process in step S32 in the game control process. In this embodiment, in the prize ball processing, it is determined whether or not the prize opening switches 33a, 39a, 29a, 30a, the count switch 23, and the start opening switch 14a to be paid out are surely turned on. When turned on, control is performed so that a payout control command indicating the number of award balls is sent to the payout control board 37, and it is determined whether the full tank switch 48 and the ball shortage switch 187 are turned on reliably. Processing such as control to send a predetermined payout control command to the payout control board 37 is performed.
[0168]
In the prize ball process, the CPU 56 sets “1” as the offset of the input determination value table (step S150), and sets “9” as the offset of the address of the switch timer (step S151). The offset “1” in the input determination value table (see FIG. 27) means that the second data “50” in the input determination value table is used. Further, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the switch timer address offset “9” designates the switch timer corresponding to the full switch 48. Means. Then, a switch-on check routine is called (step S152).
[0169]
The input determination value table is a ROM area in which a determination value for determining that the switch has been turned on when it is detected how many times it is continuously turned on is set for each switch. A configuration example of the input determination value table is shown in FIG. As shown in FIG. 27, the input determination value table includes “2”, “50”, “250”, “30”, “250”, “1” in order from the top, that is, in order from the smallest address value. The judgment value is set. In the switch-on check routine, the judgment value set at the address determined by the head address and the offset value in the input judgment value table is compared with the value of the switch timer determined by the head address and the offset value of the switch timer. If they match, for example, a switch-on flag is set.
[0170]
An example of the switch-on check routine is shown in FIG. In the switch-on check routine, the switch-on flag is set if the value of the switch timer corresponding to the full-tan switch 48 matches the full-tan switch-on determination value “50” (step S153). (Step S154). Although not explicitly shown in FIG. 23, when the value of the switch timer corresponding to the full tank switch 48 becomes 0, the full tank flag is reset.
[0171]
Further, the CPU 56 sets “2” as the offset of the input determination value table (step S155), and sets “0A (H)” as the offset of the switch timer address (step S156). The offset “2” in the input determination value table means that the third data “250” in the input determination value table is used. Further, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the switch timer address offset “0A (H)” is designated by the switch timer corresponding to the ball break switch 187. Means that Then, a switch-on check routine is called (step S157).
[0172]
In the switch-on check routine, if the value of the switch timer corresponding to the ball-out switch 187 matches the ball-out switch-on determination value “250”, the switch-on flag is set (step S158). It is set (step S159). Although not explicitly shown in FIG. 23, a switch-off timer corresponding to the ball-out switch 187 is prepared, and when the value becomes 50, the ball-out flag is reset.
[0173]
Then, the CPU 56 confirms whether or not the payout is prohibited (step S160). The payout prohibition state is a state after a payout prohibition state designation command that is a payout control command for instructing the payout control board 37 that payout should be stopped. This is a state in which the payout stop flag is set. If it is not in the payout prohibition state, it is confirmed whether or not the above-described ball-out state flag or full tank flag is turned on (step S161).
[0174]
When either of them changes to the ON state, a payout stop flag is set (step S162), a command transmission table related to the payout prohibition state designation command is set (step S163), and command set processing is called (step S164). In step S163, the head address of the command transmission table (ROM) storing the payout control command of the payout prohibition state designation command is set as the address of the command transmission table. In the command transmission table regarding the payout prohibition 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. In step S161, when one of the flags is already in the on state and the other flag is in the on state, the processing in steps S162 to S164 is not performed.
[0175]
If it is in the payout prohibited state, it is confirmed whether or not both the ball-out state flag and the full tank flag are turned off (step S165). When both are turned off (when a release condition to be described later is satisfied), the payout stop flag is reset (step S166), and a command transmission table related to a payable state designation command is set (step S167). The set process is called (step S168). In step S167, the head address of the command transmission table (ROM) in which the payout control command of the payable state designation command is stored is set as the address of the command transmission table. In the command transmission table related to the payout enable 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.
[0176]
The cancellation condition is a condition for canceling the payout prohibition state, and is a condition that is satisfied when it becomes unnecessary to maintain the payout prohibition state. In this embodiment, the release condition is that, when the payout prohibition state is set, the surplus ball receiving tray 4 is not in a full tank state and is not in a state where the ball is not out of a ball.
[0177]
Further, the CPU 56 sets “0” as the offset of the input determination value table (step S169), and sets “0” as the offset of the switch timer address (step S170). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Further, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the switch timer address offset “0” designates the switch timer corresponding to the winning port switch 33a. Means. Also, “4” is set as the number of repetitions (step S171). Then, a switch-on check routine is called (step S172).
[0178]
In the switch-on check routine, the CPU 56 sets the head address of the input determination value table (see FIG. 27) (step S281). Then, an offset is added to the address (step S282), and a switch-on determination value is loaded from the address after the addition (step S283).
[0179]
Next, the CPU 56 sets the start address of the switch timer (step S284), adds an offset to the address (step S285), and loads the value of the switch timer from the address after the addition (step S286). Since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the value of the switch timer corresponding to the switch is loaded.
[0180]
Then, the CPU 56 compares the loaded switch timer value with the switch-on determination value (step S287). If they match, a switch-on flag is set (step 228).
[0181]
In this case, in the switch-on check routine, the switch-on flag is set if the value of the switch timer corresponding to the winning opening switch 33a matches the switch-on determination value “2” (step S173). Then, the switch check-on routine is executed for the number of repetitions initially set (step S176, S177) while the offset of the switch timer address is updated (step S178). For 39a, 29a, 30a, the corresponding switch timer value is compared with the switch-on determination value “2”.
[0182]
When the switch-on flag is set, “10” as the number of prize balls to be paid out is set in the ring buffer (step S174). Then, 10 is added to the stored value (unpaid-out number data) in the total winning ball number storage buffer (step S175). 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 to point to the first area of the ring buffer.
[0183]
The total prize ball number storage buffer is a buffer for storing a cumulative value of the number of prize balls designated to the payout control means (however, subtracted when the payout is made), and is formed in the backup RAM. In this embodiment, when data is written to the ring buffer, an addition process is performed on the stored value of the total prize ball number storage buffer, but a payout control command for instructing the number of prize balls to be paid out is output to the output port. At the time of output, the number of prize balls corresponding to the payout control command to be output may be added to the value stored in the total prize ball number storage buffer.
[0184]
Next, the CPU 56 sets “0” as the offset of the input determination value table (step S179), and sets “5” as the offset of the switch timer address (step S180). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Further, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the switch timer address offset “5” designates the switch timer corresponding to the start port switch 14a. Means. Then, a switch-on check routine is called (step S181).
[0185]
In the switch-on check routine, if the value of the switch timer corresponding to the start port switch 14a matches the switch-on determination value “2”, the switch-on flag is set (step S182). When the switch-on flag is set, “6” as the number of prize balls to be paid out is set in the ring buffer (step S183). Also, 6 is added to the stored value of the total prize ball number storage buffer (step S184).
[0186]
Next, the CPU 56 sets “0” as the offset of the input determination value table (step S185), and sets “6” as the offset of the switch timer address (step S186). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Further, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 15, the switch timer address offset “6” indicates that the switch timer corresponding to the count switch 23 is designated. means. Then, a switch-on check routine is called (step S187).
[0187]
In the switch-on check routine, if the value of the switch timer corresponding to the count switch 23 matches the switch-on determination value “2”, the switch-on flag is set (step S188). When the switch-on flag is set, “15” as the number of prize balls to be paid out is set in the ring buffer (step S189). Further, 15 is added to the stored value of the total winning ball number storage buffer (step S190).
[0188]
If data exists in the ring buffer (step S191), the contents of the ring buffer pointed to by the read pointer are set in the transmission buffer (step S192), and the value of the read pointer is updated (next area of the ring buffer). (Step S193), the command transmission table regarding the number of winning balls is set (Step S194), and the command setting process is called (Step S195). The operation of the command set process will be described in detail later.
[0189]
In step S194, 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)) described later, data of the first byte of the payout control command (F0 (H)), and data of the second byte of the payout control command are set. ing. However, “80 (H)” is set as the second byte data.
[0190]
As described above, when the game control means tries to output a payout control command for instructing the number of prize balls to the payout control board 37, the command transmission table address setting and the transmission buffer setting regarding the number of prize balls are performed. . Then, a payout control command is sent to the payout control board 37 based on the command transmission table related to the number of winning balls and the setting contents of the transmission buffer by command set processing. In step S191, whether or not there is data can be confirmed by the difference between the write pointer and the read pointer. However, a counter indicating the number of unprocessed data in the ring buffer is provided, and there is data by the count value. It may be confirmed whether or not.
[0191]
If the content of the total winning ball number storage buffer is not 0, that is, if there is still a winning ball remaining, the CPU 56 turns on the winning ball paying-in flag (steps S196 and S197).
[0192]
Further, when the winning ball paying out flag is on (step S198), the CPU 56 monitors the number of winning balls actually paid out from the ball paying device 97 and subtracts the stored value in the total winning ball number storage buffer. The number of winning balls to be subtracted is performed (step S199). When the prize ball paying flag changes from on to off, a lamp control command for instructing lighting of the prize ball lamp 51 is sent to the lamp control board 35.
[0193]
When the payout control means receives the payout prohibition state designation command, the payout control means stops both the ball payout as the winning ball and the ball payout as the ball lending. In addition, when a payout enable state designation command is received, a ball payout as a winning ball and a ball payout as a ball lending are both enabled. However, the game control means gives the payout control means a separate payout control command for stopping or restarting the payout of the ball as a prize ball, and a payout control command for stopping or restarting the payout of the ball as a ball rental. May be transmitted.
[0194]
In this embodiment, even in the payout prohibited state (steps S160 and S165), the processes of steps S169 to S195 are executed. That is, the game control means can send out a payout control command for instructing the number of prize balls even in a payout prohibition state. That is, a command for instructing the number of prize balls is transmitted to the payout control means even in the payout prohibition state, and when the payout prohibition state is cancelled, the payout of the prize balls can be started early. Further, the game control means does not require a large storage area for storing the number of winning balls based on winning in the payout prohibited state.
[0195]
Furthermore, in this embodiment, the processes in steps S169 to S195 are executed regardless of the game medium payout status. That is, the game control means can transmit a payout control command for instructing a new number of winning balls regardless of whether or not the paying out of the number of winning balls designated up to the previous time has been completed. Therefore, it is possible to reduce the processing load related to the payout of the game control means, and it is possible to perform the winning ball payout process quickly.
[0196]
Next, a method for sending a control command from the game control means to each electric component control means will be described. When a control command is to be output from the game control means to another electrical component control board (sub board), the head address of the command transmission table is set. FIG. 28A is an explanatory diagram showing a configuration example of the command transmission table. One command transmission table is composed of 3 bytes, and INT data is set in the first byte. In the command data 1 of the second byte, MODE data of the first byte of the control command is set. Then, in the command data 2 of the third byte, the EXT data of the second byte of the control command is set.
[0197]
Although the EXT data itself may be set in the area of the command data 2, the command data 2 may be set with data for designating the address of the table storing the EXT data. . For example, if bit 7 (work area reference bit) of command data 2 is 0, it indicates that EXT data itself is set in command data 2. Such EXT data is data in which bit 7 is 0. In this embodiment, if the work area reference bit is 1, it indicates that the contents of the transmission buffer are used as EXT data. If the work area reference bit is 1, the other 7 bits may be configured to indicate an offset for designating an address of a table storing EXT data.
[0198]
FIG. 28B is an explanatory diagram showing a configuration example of INT data. Bit 0 in the INT data indicates whether or not a payout control command should be sent to the payout control board 37. If bit 0 is “1”, it indicates that a payout control command should be sent. Therefore, the CPU 56 sets “01 (H)” in the INT data, for example, in a prize ball process (step S32 of the main process). Bit 1 in the INT data indicates whether or not a display control command should be sent to the symbol output control board 80. If bit 1 is “1”, it indicates that a display control command should be sent. Accordingly, the CPU 56 sets “02 (H)” in the INT data, for example, in the special symbol command control process (step S28 of the main process).
[0199]
Bits 2 and 3 of the INT data are bits indicating whether or not a lamp control command and a sound control command should be sent, respectively, and the CPU 56 performs special symbol process processing when it is time to send those commands. Etc., INT data, command data 1 and command data 2 are set in the command transmission table pointed to by the pointer. When these commands are transmitted, the corresponding bit of the INT data is set to “1”, and MODE data and EXT data are set to the command data 1 and the command data 2.
[0200]
In this embodiment, for the payout control command, as shown in FIG. 28C, a ring buffer and a transmission buffer are prepared. In the prize ball processing, when the prize ball payout condition is established, the number of prize balls according to the established condition is sequentially set in the ring buffer. Further, when a payout control command relating to the number of prize balls is sent, one piece of data is transferred from the ring buffer to the transmission buffer. In the example shown in FIG. 28C, data corresponding to 12 payout control commands can be stored in the ring buffer. That is, there are 12 buffers. Note that the number of buffers in the ring buffer may be a number corresponding to the number of winning openings for generating a prize ball. This is because even when simultaneous winnings occur, it is possible to store payout control command data based on each winning.
[0201]
FIG. 29 is an explanatory diagram showing an example of a command form of a control command sent from the main board 31 to another electrical component control board. In this embodiment, the control command has a 2-byte configuration, the first byte represents MODE (command classification), and the second byte represents EXT (command type). The first bit (bit 7) of the MODE data is always “1”, and the first bit (bit 7) of the EXT data is always “0”. As described above, the control command serving as a command to the electrical component control board is composed of a plurality of data and can be distinguished from each other by the first bit. The command form shown in FIG. 29 is an example, and other command forms may be used. For example, a control command composed of 1 byte or 3 bytes or more may be used. 29 illustrates the payout control command sent to the payout control board 37, but the control commands sent to other electrical component control boards have the same configuration.
[0202]
FIG. 30 is a timing chart showing the relationship between the 8-bit control signals CD0 to CD7 and the INT signal constituting the control command for each electric component control means. As shown in FIG. 30, after the MODE or EXT data is output to the output port (any one of the output port 1 to the output port 4), when the period indicated by A elapses, the CPU 56 outputs the data. The INT signal, which is a signal indicating the above, is set to a high level (ON data). Further, when the period indicated by B elapses thereafter, the INT signal is set to low level (off data). Further, when there is data to be transmitted next, that is, after the MODE data is transmitted, the second byte of data is transmitted to the output port after a period indicated by C. Regarding the second byte data, the periods A and B are the same as in the first byte. In this way, the capture signal is output for each of the MODE and EXT data.
[0203]
The period A is a period required for the CPU 56 to prepare for sending a command, that is, a process required to set a send command in the buffer, and a period for stabilizing data on the control signal line. That is, after the control signals CD0 to CD7 are output on the control signal line, the INT signal as the capture signal is output after a predetermined period (period A: part of the off output period) has elapsed. The period B (ON output period) is a period for stabilizing the INT signal. The period C (a part of the off-output period) is a period set so that the electrical component control means can reliably capture data. During the period of B and C, the data on the signal line does not change. That is, the data output is maintained until the period of B and C elapses.
[0204]
In this embodiment, the payout control command to the payout control board 37, the display control command to the symbol control board 80, the lamp control command to the lamp control board 35, and the sound control command to the sound control board 70 are the same command. It is sent out using a transmission processing routine (common module). Therefore, the period of B and C, that is, the period from when the INT signal related to the first byte rises to when the second byte data starts to be transmitted is longer than the reception processing time in the electrical component control means that takes the longest time for command reception processing. Is set to be longer.
[0205]
Each electrical component control means detects that the INT signal has risen, and starts a 1-byte data capture process, for example, by an interrupt process.
[0206]
Since the period of B and C is longer than the reception processing time in the electrical component control means that takes the longest time for command reception processing, even if the game control means controls the command transmission process for each electrical component control means with the common module Any electric component control means can reliably receive a control command from the game control means.
[0207]
The CPU 56 is ready to send the next data after a predetermined period of time has elapsed after executing the INT signal output process. During the predetermined period (B and C periods), the data is sent before the INT signal output process. Is longer than the period (period A) from when the INT signal starts to be output. As described above, the period A is a stabilization period in the command signal line, and the periods B and C are periods for securing a time required for the receiving side to capture data. Therefore, by making the period A shorter than the periods B and C, it is possible to obtain the effect that the electric component control means on the receiving side can reliably receive the command, and the transmission of one command is completed. This also has the effect of shortening the time required for.
[0208]
FIG. 31 is an explanatory diagram showing an example of the contents of the payout control command. In this embodiment, a plurality of types of payout control commands are used to execute payout control. In the example shown in FIG. 31, a command FF00 (H) with MODE = FF (H) and EXT = 00 (H) is a payout control command (payable state designation command) for instructing that payout is possible. is there. A command FF01 (H) with MODE = FF (H) and EXT = 01 (H) is a payout control command (payout prohibition state designation command) for instructing that payout should be stopped. A command F0XX (H) of MODE = F0 (H) is a payout control command (payout number designation command) for designating the number of winning balls. “XX”, which is EXT, indicates the number of payouts.
[0209]
When the payout control means receives the payout control command of FF01 (H) from the game control means of the main board 31, the payout ball payout and the ball lending are stopped, and when the payout control command of FF00 (H) is received, the payout ball payout And you can rent a ball. When a payout control command for designating the number of prize balls is received, prize ball payout control is performed according to the number designated by the received command.
[0210]
The payout control command is sent only once so that the payout control means can recognize it. In this example, “recognizable” means that the level of the INT signal changes. In this example, “recognizable only once” means that in each of the first and second bytes of the payout control signal. Accordingly, the INT signal is output in a pulse shape (rectangular wave shape) only once.
[0211]
When a control command for each electrical component control board is output to the corresponding output port (output ports 1 to 4), any one of the bits 0 to 3 of the output port 0 is “1” ( However, the bit arrangement in the INT data and the bit arrangement in the output port 0 correspond to each other. Accordingly, when a control command is sent to each electric component control board, the INT signal can be easily output based on the INT data.
[0212]
FIG. 32 is a flowchart illustrating a processing example of command set processing (steps S164, S168, and S195). The command set process is a process including a command output process and an INT signal output process. In the command set process, the CPU 56 first saves the address of the command transmission table (the contents of the pointer as the transmission signal instruction means) to the stack or the like (step S331). Then, the INT data of the command transmission table pointed to by the pointer is loaded into the argument 1 (step S332). The argument 1 is input information for a command transmission process to be described later. Also, the address indicating the command transmission table is incremented by 1 (step S333). Therefore, the address indicating the command transmission table matches the address of the command data 1.
[0213]
Therefore, the CPU 56 reads the command data 1 and sets it as the argument 2 (step S334). The argument 2 is also input information for a command transmission process to be described later. Then, the command transmission processing routine is called (step S335).
[0214]
FIG. 33 is a flowchart showing a command transmission processing routine. In the command transmission processing routine, after turning on the command transmission flag (step S350), the CPU 56 sets the data set in the argument 1, that is, the INT data, in the work area determined as the comparison value (step S351). ). The command transmission flag is a flag indicating whether command transmission processing is being performed, and is stored in a predetermined area of the RAM 55. Next, the CPU 56 sets the number of transmissions = 4 in the work area determined as the number of processes (step S352). Then, the port 1 address for outputting the payout control signal is set to the IO address (step S353). In this embodiment, the port 1 address is the output port address for outputting the payout control signal. The addresses of ports 2 to 4 are the addresses of output ports for outputting display control signals, lamp control signals, and audio control signals.
[0215]
Next, the CPU 56 shifts the comparison value to the right by 1 bit (step S354). As a result of the shift processing, it is confirmed whether or not the carry bit has become 1 (step S355). When the carry bit becomes 1, it means that the rightmost bit in the INT data is “1”. In this embodiment, four shift processes are performed. For example, when it is specified that a payout control command should be sent, the carry bit is set to 1 in the first shift process.
[0216]
When the carry bit becomes 1, the data set in the argument 2, in this case, the command data 1 (that is, MODE data) is output to the address set as the IO address (step S 356). Since the address of port 1 is set as the IO address when the first shift processing is performed, MODE data of the payout control command is output to port 1 at that time.
[0217]
Next, the CPU 56 adds 1 to the IO address (step S357) and subtracts 1 from the number of processes (step S358). If port 1 is indicated before addition, the address of port 2 is set as the IO address by the addition processing for the IO address. Port 2 is a port for outputting a display control command. Then, the CPU 56 confirms the value of the number of processes (step S359), and if the value is not 0, returns to step S354. In step S354, the shift process is performed again.
[0218]
In the second shift process, the value of bit 1 in the INT data is pushed out, and the carry flag is set to “1” or “0” depending on the value of bit 1. Therefore, it is checked whether or not it is specified that the display control command should be sent. Similarly, it is checked whether or not the lamp control command and the sound control command are to be sent by the third and fourth shift processes. Thus, when each shift process is performed, the IO address corresponding to the control command (payout control command, display control command, lamp control command, sound control command) checked by the shift process is included in the IO address. Is set.
[0219]
Therefore, when the carry flag becomes “1”, a control command is sent to the corresponding output port (port 1 to port 4). That is, a single common module can perform control command transmission processing for each electric component control means.
[0220]
In addition, since it is determined to which electrical component control means the control command should be output only by the shift process, the process for determining to which electrical component control means the control command should be output is simplified. It has become.
[0221]
Next, the CPU 56 reads the content of the argument 1 in which the INT data before the start of the shift process is stored (step S360), and outputs the read data to the port 0 (step S361). In this embodiment, the address of port 0 is a port for outputting an INT signal for each control signal, and bits 0 to 4 of port 0 are a payout control INT signal, a display control INT signal, and a ramp, respectively. This is a port for outputting a control INT signal and a sound control INT signal. In the INT data, the bit corresponding to the output bit of the INT signal corresponding to the control command (payout control command, display control command, lamp control command, sound control command) output in the processing of steps S351 to S359 is “1”. It has become. Therefore, the INT signal corresponding to the control command (payout control command, display control command, lamp control command, sound control command) output to any of the ports 1 to 4 becomes high level.
[0222]
Next, the CPU 56 sets a predetermined value in the wait counter (step S362), and subtracts one by one until the value becomes 0 (steps S363 and S364). This process is a process for setting the period B shown in FIG. When the value of the wait counter becomes 0, clear data (00) is set (step S365), and the data is output to port 0 (step S366). Therefore, the INT signal becomes low level. Further, a predetermined value is set in the wait counter (step S362), and 1 is subtracted one by one until the value becomes 0 (steps S368 and S369). This process is a process for setting the period C shown in FIG. However, the actual period of C is the time taken in steps S367 to S369 to the subsequent processing time (the time required for the control to output EXT data if MODE data is output at this time). ) Is added. Thus, even if commands are sent continuously by setting the period C, there is a predetermined period after the completion of the output of one command until the next command transmission is started. As a result, it is possible to easily identify the breaks between successive commands on the side of the electric component control means that receives the commands, and each command is reliably received.
[0223]
Therefore, the value set in the wait counter in step S367 is a value such that the period C is sufficient to ensure that all electrical component control means that are the control command reception target perform the command reception process. is there. The value set in the wait counter is a value such that the period C is longer than the time required for the processing in steps S357 to S359 (corresponding to the period A). If it is desired to make the period A longer, wait processing for creating the period A (for example, processing for setting a predetermined value in the weight counter and performing subtraction until the value of the weight counter becomes 0) is performed. Do.
[0224]
When the value of the wait counter becomes 0 (Y in step S369), the CPU 56 turns off the command transmission flag (step S370).
[0225]
As described above, the MODE data of the first byte of the control command is transmitted. Therefore, the CPU 56 adds 1 to the value indicating the command transmission table in step S336 shown in FIG. Therefore, the command data 2 area of the third byte is designated. The CPU 56 loads the contents of the indicated command data 2 into the argument 2 (step S337). Further, it is confirmed whether or not the value of bit 7 (work area reference bit) of the command data 2 is “0” (step S338). If not 0, the contents of the transmission buffer are loaded into the argument 2 (step S339). When the extension data is used when the value of the work area reference bit is “1”, the head address of the command extension data address table is set in the pointer, and the command data is set in the pointer. The address is calculated by adding 2 bits 6 to 0. Then, the data of the area pointed to by the address is loaded into the argument 2.
[0226]
Since data capable of specifying the number of winning balls is set in the transmission buffer, the data is set in the argument 2. If the extension data is used when the value of the work area reference bit is “1”, the command extension data address table contains EXT data that can be sent to the electrical component control means. Set sequentially. Therefore, if the value of the work area reference bit is “1”, the EXT data in the command extension data address table corresponding to the contents of the command data 2 is loaded into the argument 2.
[0227]
Next, the CPU 56 calls a command transmission processing routine (step S340). Therefore, the EXT data is transmitted at the same timing as the transmission of MODE data.
[0228]
As described above, the control command (payout control command, display control command, lamp control command, sound control command) having a 2-byte configuration is transmitted to the corresponding electrical component control means. When the electrical component control means detects the rising edge of the INT signal, the control command capturing process is started. However, after the command reception process in each electrical component control means is completed, a wait period (step) Since a new signal is not output until the period specified by the process of S367 to S369 (part of the period of C) elapses, the capture process is completed for any electrical component control means. A new signal from the game control means is not output to the signal line before. That is, reliable command reception processing is performed in each electric component control means. In addition, each electric component control means may start taking in the control command at the falling edge of the INT signal. Further, the polarity of the INT signal may be reversed from that shown in FIG.
[0229]
In this embodiment, in the prize ball processing, when the prize ball payout condition is satisfied, data capable of specifying the number of prize balls is stored in a ring buffer capable of storing a plurality of data at the same time, and the number of prize balls is designated. When the payout control command is sent, the data in the ring buffer area pointed to by the read pointer is transferred to the transmission buffer. Therefore, even if a plurality of winning ball payout conditions are satisfied at the same time, data capable of specifying the number of winning balls based on the satisfaction of these conditions is stored in the ring buffer, so there is no problem in command output processing based on the satisfaction of each condition. Executed.
[0230]
Furthermore, in this embodiment, both a payout prohibition state designation command or a payout enable state designation command and a command indicating the number of prize balls can be sent out within one prize ball process. That is, a plurality of commands can be sent 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, lamp control command, and sound control command, a plurality of display control commands, lamp control commands, and sound control commands are performed in one command control process. It is also possible to configure so that That is, a plurality of control commands can be sent simultaneously (meaning in the start cycle of the game control process, that is, the 2 ms timer interrupt process). Since the sending timing of these control commands is generated at the same time in the progress of the game effect, it is convenient to have such a configuration. However, since the payout control command is generated regardless of the progress of the game effect, it is generally not sent simultaneously with the display control command, the lamp control command, and the sound control command.
[0231]
FIG. 34 is a flowchart showing an example of the winning ball number subtraction process. In the winning ball number subtraction process, the CPU 56 first loads the stored value of the total winning ball number storage buffer (step S381). Then, it is confirmed whether or not the stored value is 0 (step S382). If 0, the process ends.
[0232]
If it is not 0, the switch timer for the prize ball count switch is loaded (step S383), and the load value is compared with the ON determination value (in this case, “2”) (step S384). If they match (step S385), it is assumed that the prize ball count switch 301A has been turned on, that is, one game ball has been paid out from the ball payout device 97, and the stored value in the total prize ball number storage buffer is set. 1 is subtracted (step S386).
[0233]
Also, the value of the prize ball information counter is incremented by 1 (step S387). If the value of the prize ball information counter is 10 or more (step S388), the value of the prize ball information counter is incremented by 1 (step S389), and the value of the prize ball information counter is incremented by -10 (step S390). The value of the prize ball information counter is referred to in the information output process (step S30) in the game control process shown in FIG. 19, and if the value is 1 or more, the prize ball signal (bit 7 of the output port 5). : See FIG. 14), one pulse is output. 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.
[0234]
When the value stored in the total prize ball number storage buffer becomes 0 (step S391), the prize ball paying-in flag is cleared (step S392), and a lamp control command is sent to notify that there is no prize ball remaining number. After command data indicating that the prize ball lamp 51 is turned off is set in the command transmission table (step S393), a lamp control command sending process is executed (step S394).
[0235]
FIGS. 35 to 37 are flowcharts showing a processing example of a non-maskable interrupt process (power supply stop process) executed in response to a power-off signal from the power supply board 910. The non-maskable interrupt process is an interrupt process that cannot be disabled. When a non-maskable interrupt occurs, the interrupt control mechanism built in the CPU 56 sets the address of the program executed when the non-maskable interrupt occurs (specifically, the next address after completion of execution) as a stack pointer. Is saved in the stack area pointed to by and the value of the stack pointer is increased. That is, the stack pointer value is updated to point to the next address in the stack area.
[0236]
In the power supply stop process, the CPU 56 saves the AF register (accumulator and flag register) in a predetermined backup RAM area (specifically, a stack area) (step S451). Further, the interrupt flag is copied to the parity flag (step S452), and the contents are saved in the stack area (step S453). Further, the BC register, DE register, HL register, and IX register are saved in the stack area (steps S454 to S457). When the power is restored, the register contents are restored based on the saved contents, and the interrupt permission / prohibition state is internally set according to the contents of the parity flag.
[0237]
Next, the CPU 56 sets clear data (00) in an appropriate register (step S459), and sets the number of processes (in this example, “7”) in another register (step S460). Further, the address of the output port 0 is set in the IO pointer (step S461). Another register is used as the IO pointer.
[0238]
Then, clear data is set at the address indicated by the IO pointer (step S462), the value of the IO pointer is incremented by 1 (step S463), and the value of the processing number is subtracted by 1 (step S464). The processes of steps S462 to S464 are repeated until the value of the number of processes becomes 0 (step S465). As a result, clear data is set in all the output ports 0 to 6 (see FIGS. 14 and 15). As shown in FIGS. 14 and 15, in this example, “1” is in the on state and “00” that is the clear data is set in each output port, so that all the output ports are in the off state.
[0239]
As described above, since each output port is turned off, it is reliably prevented that a situation inconsistent with the saved gaming state occurs. In other words, in a gaming machine having a variable winning ball device such as a pachinko gaming machine, the position of the variable winning hole in the variable winning ball device and the installation position of the winning port switch for detecting a winning are determined due to mounting. It must be separated to some extent. If the output port, in particular the output port that outputs the signal for opening the variable winning ball device, is not turned off immediately, the power supply will stop when the power supply is stopped, even though the variable prize opening has been won. There may be a situation in which the execution of the process is started and the winning opening switch is not detected. In that case, it is not stored that there was a winning in the variable winning opening. In other words, the gaming state that is actually occurring (the winning has been) does not match the saved gaming state. However, in this embodiment, since the output port is cleared and the variable winning ball device is closed, it is reliably prevented that a situation inconsistent with the saved gaming state occurs.
[0240]
In addition, since the output port can be cleared in the process of stopping power supply that is executed before the electric component can be driven, before the electric component can be driven. Each electric component controlled by the game control means can be put into an appropriate operation stop state. For example, the operation of the electrical component is stopped after the operation of the electrical component is stopped, such as closing the open large winning opening and closing the open variable winning ball device 15. be able to. Therefore, it is possible to wait for the power supply to be restored in an appropriate stop state.
[0241]
Further, since the electric components are stopped during the power supply stop process, power is not consumed to drive the electric components, and the current used for signal output from the output port Is cut off, so that power consumption can be suppressed although it is in a small amount.
[0242]
Further, in this embodiment, the detection signal of the prize ball count switch 301A is checked for a predetermined period (hereinafter referred to as a payout confirmation period). When the prize ball count switch 301A is turned on, the prize ball count value is incremented by one.
[0243]
In this embodiment, a payout confirmation period measuring counter is used to measure the payout confirmation period. The value of the payout confirmation period measurement counter is decremented by 1 from the initial value m every time a switch detection processing loop (a loop starting from S467 and returning to S467) described below is executed once. It is assumed that the payout confirmation period has ended. In the detection processing loop, although there is an exception, almost constant processing is performed, and therefore m times the time required for one round of the loop corresponds to the payout confirmation period.
[0244]
In order to measure the payout confirmation period, a built-in timer of the CPU 56 may be used. That is, a predetermined value (corresponding to the payout confirmation period) is set in the built-in timer at the start of the switch detection process. Each time the switch detection processing loop is executed once, the count value of the built-in timer is checked. When the count value becomes 0, it is assumed that the payout confirmation period has ended. An interrupt by the internal timer can be used to detect that the value of the internal timer has reached 0. However, at this stage, the control content (such as each value stored in the RAM) should not be changed. A program configuration is preferred in which the count value of the built-in timer is read and checked instead of using a program.
[0245]
Also, during the payout confirmation period, the game ball reaches the prize ball count switch 301A from the time when the game ball falls from the ball payout device 97 (for example, when it is sent to the ball passages 293a and 293b below the sprocket 292 shown in FIG. 5). It is set to more than the time until. If the distance from the ball payout device 97 to the prize ball count switch 301A is L, the drop time t during that time is t = √ (2L / g) (g: gravitational acceleration), so the payout confirmation period is longer than that. Set to The specific value of the payout confirmation period varies depending on the value of the distance L and the extent of allowance from the drop time t, but is, for example, about 100 [ms] to 150 [ms].
[0246]
Similarly, when the game control means detects the rental ball payout, a payout confirmation period is set. That is, the time from when the game ball drops from the ball payout device 97 (for example, when it is sent to the ball passages 293a and 293b below the sprocket 292 shown in FIG. 5) to reach the ball lending count switch 301B or more. Set to Accordingly, if the distance from the ball payout device 97 to the ball lending count switch 301B is L, the drop time t during that time is also t = √ (2L / g) (g: gravitational acceleration). More than that. In this case as well, the specific value of the payout confirmation period varies depending on the value of the distance L and the extent of allowance from the drop time t, but is, for example, about 100 [ms] to 150 [ms]. When the distance from the ball payout device 97 to the prize ball count switch 301A is different from the distance from the lending ball count switch 301B, the payout confirmation is made based on the distance of the switch that is far from the ball payout device 97. A period may be determined.
[0247]
At least in the payout confirmation period during which the switch detection process is executed, the prize ball count switch 301A (or the prize ball count switch 301A and the ball lending count switch 301B) must be in a state in which a game ball can be detected. Therefore, in this embodiment, as shown in FIG. 9, a capacitor 923 serving as a relatively large capacity auxiliary drive power supply is connected to the input side of the converter IC 920 in the power supply substrate 910. Therefore, even when the power supply to the gaming machine is stopped, the + 12V power supply voltage is maintained within a range in which the switch can be driven for a certain period, and the prize ball count switch 301A (or the prize ball count switch 301A and the ball lending count switch 301B) can be operated. become. The capacity of the capacitor 923 is determined so that the period is equal to or longer than the above-mentioned payout confirmation period.
[0248]
Since the input port and the CPU 56 are also driven by the + 5V power source created by the converter IC 920, they can operate for a relatively long period even when the power supply is stopped.
[0249]
As described above, in this example, the initial value m is set in the payout confirmation period measurement counter (step S466). In step S467, an initial value n corresponding to a time of 2 ms is set in the 2 ms measurement counter. Until the value of the 2 ms measurement counter becomes 0 (step S468), the value of the 2 ms measurement counter is decremented by 1 (step S469).
[0250]
When the value of the 2 ms measurement counter becomes 0, input of the detection signal of the prize ball count switch 301A is checked. That is, a process similar to the switch process in step S21 is performed. Specifically, the data input to the input port 1 is input (step S470). Next, “1” is set as the processing number (step S471), and the address of the switch timer for the winning ball count switch 301A is set in the pointer (step S472). Then, a switch check processing subroutine is called (step S473).
[0251]
If the value of the switch timer is 2 (step S479), the prize ball count value (in the backup RAM area) is incremented by 1 (step S480). Next, the value of the payout confirmation period measurement counter is decremented by 1 (step S481). If the value is not 0, the process returns to step S467 (step S482).
[0252]
With the above processing, when the prize ball count switch 301A is turned on within the payout confirmation period, the prize ball count value is incremented by one. Since the processing for saving the contents of the backup RAM is performed after such switch detection processing, the winning ball count value is always incremented by one for the winning ball that has been paid out. When the power supply to the gaming machine is stopped and then restored, in step S84 in the gaming state restoration process (see FIG. 18), the CPU 56 subtracts the prize ball count value from the stored value of the total prize ball number storage buffer. The prize ball count value is added to the count value of the prize ball information counter. Therefore, it is possible to prevent a contradiction in the stored control state with respect to the game ball payout. That is, the game balls that have been paid out are not detected as undetected.
[0253]
In this embodiment, the process of adding the prize ball count value is performed in the power supply stop process. When the prize ball count switch 301A is turned on, the value stored in the total prize ball number storage buffer is decremented by 1, and The count value of the prize ball information counter may be incremented by one. In the case of such a configuration, the process of step S84 in the game state restoration process is not necessary.
[0254]
In the above input processing, timer processing using a detection period counter is performed. That is, the detection signal of the prize ball count switch 301A is checked every 2 ms, and it is considered that the prize ball count switch 301A is reliably turned on when it is detected to be turned on twice in succession. That is, a predetermined game medium detection determination period (a period for determining whether or not a game medium (herein, awarded ball) is detected in the power supply stop process. In this embodiment, a period of 2 ms or more. ), It is considered that the payout of one prize ball has been completed. Thus, in this embodiment, the game medium detection determination period is the normal game medium detection determination period (a period for determining the presence or absence of a game medium in the normal game state, not the process in the power supply stop process). In this embodiment, the period is equal to or longer than 2 ms determined by a switch-on determination value (see FIG. 33), which will be described later, and is used in the determination in step S188 in FIG. Therefore, it is possible to determine whether or not the prize ball count switch 301A is turned on under the same conditions as in normal control.
[0255]
Further, since it is determined whether or not the prize ball count switch 301A is turned on under the same conditions and the same processing as in the normal control, the switch detection input processing routine in the power supply stop processing and the normal control The switch detection input processing routine (switch check processing subroutine shown in FIG. 22) can be used in common. That is, the switch detection input processing routine in the normal control can be used for the switch detection in the power supply stop process. Therefore, the amount of program for processing when power supply is stopped is reduced.
[0256]
In this embodiment, the switch detection process of only the winning ball count switch 301A is performed, but the same switch detection process is also performed for the V winning switch 22 and the count switch related to the start winning opening switch and the big winning opening. May be performed. The same switch detection process may be performed for other winnings. When such an on-check is also performed, even if a power failure occurs immediately after a game ball wins a winning opening, the winning is reliably detected and reflected in the saved game state.
[0257]
When the payout confirmation period has elapsed (step S486), that is, when the value of the payout confirmation period measurement counter becomes 0, the backup specified value (in this example, “55H”) is stored in the backup flag (step S487). The backup flag is formed in the backup RAM area. Next, parity data is created (steps S488 to S497). That is, first, the clear data (00) is set in the checksum data area (step S488), and the checksum calculation start address is set in the pointer (step S489). Also, the number of checksum calculations is set (step S490).
[0258]
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 S491). The calculation result is stored in the checksum data area (step S492), the pointer value is incremented by 1 (step S493), and the value of the checksum calculation count is decremented by 1 (step S494). The processes in steps S491 to S494 are repeated until the value of the checksum calculation count becomes 0 (step S495).
[0259]
When the value of the checksum calculation count becomes 0, the CPU 56 inverts the value of each bit of the contents of the checksum data area (step S496). Then, the inverted data is stored in the checksum data area (step S497). This data becomes parity data to be checked when the power is turned on. Next, after the contents of the stack pointer are saved in the backup RAM area (step S498), an access prohibition value is set in the RAM access register (step S499). Thereafter, the built-in RAM 55 cannot be accessed.
[0260]
When the access prohibition value is set in the RAM access register, the CPU 56 enters a standby state (loop state). Therefore, nothing is done until the system is reset.
[0261]
As described above, in the power supply stop process, the game control means performs a register save process, a detection signal input process from the prize ball count switch 301A as the payout game medium detection means, a stack pointer save process, and execution confirmation information ( In this example, each processing is executed in the order of processing for storing a backup flag and checksum data) and processing for prohibiting RAM access.
[0262]
That is, in the power supply stop process, first, a register save process excluding the stack pointer is performed, then a detection signal input process of the prize ball count switch 301A is performed, and further, backup flag setting and checksum data are performed. Is set (saving of execution confirmation information), stack pointer saving processing is executed, and finally RAM access is prohibited. Since the register saving process is executed first, the contents of the register are more reliably saved.
[0263]
In this embodiment, the power supply stop process is executed according to the NMI. However, the power supply stop signal is connected to the maskable terminal of the CPU 56 and the power supply stop process is executed by the maskable interrupt process. May be. Alternatively, a power-off signal may be input to the input port and the power supply stop process may be executed according to the input port check result.
[0264]
In the above example, the output port clear process is performed before the switch detection process is executed (before step S466). During execution of the power supply stop process, the CPU 56 and the switches are driven by the charging power of the capacitors 923 and 924 and the like. Since the output port clear process is performed before the switch detection process is executed, even if the big prize opening, variable prize winning device, etc. are configured to be driven by electrical components such as solenoids, they must be driven. Rather, the charging power of the capacitor (particularly the capacitor 924) can be effectively used for the power supply stop process.
[0265]
In the above example, when the V winning switch 22 is detected after it is detected that the power is cut off, the solenoid 21 (which operates the member for guiding the big winning opening to the V winning switch). The output port is preferably cleared after the switch detection process is executed. In such a case, when a power failure occurs in a state where the V winning, which is a condition for generating the continuation right, is not generated, the game ball that has entered the big winning opening just before the power failure occurs is guided to the V winning switch 22 side. Can do. Therefore, it is possible to prevent the lapse of the unjust right to continue. In this case, the period corresponding to the above-mentioned payout confirmation period is a predetermined period that is equal to or longer than the time until the game ball that has won the big prize opening reaches the V winning switch 22. When a latch type solenoid is used, the output port clear process is not necessary.
[0266]
In addition, even when the big prize opening is closed by clearing the output port, there is a possibility that there is a game ball in the big prize opening. Therefore, in the switch detection process executed in response to the power-off signal, the count switch 23 is also detected. It is desirable to do. The above-mentioned exceptional processing is the same not only for the first type pachinko gaming machine but also for the second type pachinko gaming machine and the third type pachinko gaming machine.
[0267]
FIG. 38 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 power supply to the gaming machine is stopped. When the power supply to the gaming machine is stopped, the voltage value of the monitoring voltage (the voltage input to the power supply monitoring IC 902) in the VSL that is the highest DC power supply voltage gradually decreases. In this example, when the voltage drops to +22 V, a power cut-off signal is output from the power monitoring IC 902 mounted on the power board 910 (becomes a low level).
[0268]
The power-off signal is introduced into the electrical component control board (in this embodiment, the main board 31 and the payout control board 37) and input to the NMI terminals of the CPU 56 and the payout control CPU 371. The CPU 56 and the payout control CPU 371 execute predetermined power supply stop processing by NMI processing.
[0269]
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 main board 31 and the payout control board 37 becomes low level, and the CPU 56 and payout control CPU 371 enters a system reset state. Note that the CPU 56 and the payout control CPU 371 have completed the power supply stop process before being set to the system reset state.
[0270]
When the voltage value of VSL is further decreased to be lower than a voltage capable of generating Vcc (+5 V for driving various circuits), each circuit cannot be operated on each substrate. However, at least the main board 31 and the payout control board 37 execute the power supply stop process, and the CPU 56 and the payout control CPU 371 are in the system reset state.
[0271]
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 the voltage drops when the voltage of the power supply falls below a predetermined value. Generates a signal (power failure detection signal). As shown in FIG. 38, 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, an operation time is ensured for the CPU 56 of the main board 31 operating with the IC drive voltage to perform a predetermined power supply stop process.
[0272]
Here, the power supply monitoring circuit monitors the voltage branched from the highest power supply VSL among the DC voltages used in the gaming machine, but the timing of generating the power-off signal operates with the IC drive voltage. The monitoring target voltage may not be the highest voltage of the power supply VSL as long as the operation time for the electrical component control means to perform the predetermined power supply stop process is ensured. In other words, if at least a voltage higher than the driving voltage of the IC or solenoid is monitored, the power-off signal is generated at such a timing that the operation time for the electric component control means to perform the predetermined power supply stop process is secured. be able to. In this example, a voltage branched from the power source VSL is used as a drive voltage for a solenoid or the like. Unlike a line to which a monitoring target voltage is supplied, a large-capacitance capacitor 924 is provided on a line for supplying a drive voltage to a solenoid or the like. Since it is connected, the power-off signal can be generated at a timing when a predetermined period during which the supply of the drive voltage to the solenoid or the like can be continued is secured.
[0273]
When a voltage other than the highest power supply VSL is used as the monitoring target voltage, as described above, the monitoring target voltage is preferably a voltage that can be expected to prevent erroneous switch-on detection when power supply is stopped. That is, since the voltage (switch voltage: for example, the winning ball count switch 301A and the ball lending count switch 301B) supplied to the various switches of the gaming machine is + 12V, the voltage drop is reduced before the + 12V power supply voltage starts to drop. Preferably it can be detected. Therefore, it is preferable to monitor a voltage higher than at least the switch voltage.
[0274]
FIG. 39 is a timing chart showing an example of how detection signal input processing (switch detection processing) from the payout detection means is executed. In this embodiment, the power-off signal is input to the main board 31 and the payout control board 37 and input to the NMI terminals of the CPU 56 of the main board 31 and the payout control CPU 371. The CPU 56 of the main board 31 executes the above-described power supply stop process by the non-maskable interrupt process.
[0275]
As shown in FIG. 39, when a prize ball payout is executed when the power-off signal is turned on (in this example, changes from high level to low level), detection signal input processing (switch detection processing) from the payout detection means ) Is executed within the payout confirmation period, the prize ball count switch 301A is turned on. Therefore, the ball payout executed when the power-off signal is turned on can be reflected in the winning ball count value when the power supply stop process is executed.
[0276]
When the voltage value of VSL further decreases to a predetermined value (+9 V in this example), the signal from the reset IC 651 input to the main board 31 becomes a low level, and the CPU 56 enters a system reset state. Note that the CPU 56 has completed the power supply stop process before entering the system reset state.
[0277]
When the voltage value of VSL is further decreased to be lower than a voltage capable of generating Vcc (+5 V for driving various circuits), each circuit cannot be operated on each substrate. However, in the main board 31, the power supply stop process is executed, and the CPU 56 is in a system reset state.
[0278]
Note that the payout control CPU 371 on the payout control board 37 similarly enters the system reset state after performing the power supply stop process.
[0279]
Next, the operation of the payout control means will be described. FIG. 40 is a block diagram showing an example of the configuration around the payout control CPU 371. As shown in FIG. 40, the power-off signal from the power supply monitoring circuit (power supply monitoring means) on the power supply board 910 is connected to the non-maskable interrupt terminal (XNMI terminal) of the payout control CPU 371 via the buffer circuit 980. Yes. Therefore, the payout control CPU 371 can confirm the occurrence of power interruption by the non-maskable interrupt process.
[0280]
In this embodiment, the reset IC 651B in the system reset circuit 65B sets the output to the low level for a predetermined time determined by the capacity of the external capacitor when the power is turned on, and sets the output to the high level when the predetermined time elapses. Further, the reset IC 651B monitors the power supply voltage of VSL, and when the voltage value becomes a predetermined value (for example, +9 V) or less, the reset IC 651B sets the output to a low level. Accordingly, when the power supply to the gaming machine is stopped, the payout control CPU 371 is system reset by the signal from the reset IC 651B becoming low level.
[0281]
The predetermined value for the reset IC 651B to detect the stop of power supply is lower than the normal voltage, but is a voltage that allows the payout control CPU 371 to operate for a while. In addition, since the reset IC 651B is configured to monitor a voltage higher than the voltage required by the payout control CPU 371 (in this example, +5 V), the monitoring range for the voltage required by the payout control CPU 371 is used. Can be spread. Therefore, more precise monitoring can be performed.
[0282]
While power is not supplied from the + 5V power supply, at least a part of the built-in RAM of the payout control CPU 371 is backed up by connecting the backup power supply supplied from the power supply board to the backup terminal, and is used for a gaming machine such as a power failure. The contents are preserved even if the power supply is stopped. When the +5 V power supply is restored, a reset signal is issued from the system reset circuit 65B, so that the payout control CPU 371 returns to a normal operation state. At that time, since necessary data is backed up, it is possible to restore the payout control state at the time of the power failure when recovering from the power failure.
[0283]
In the configuration shown in FIG. 40, the system reset circuit 65B outputs a low level during a period determined by the capacitance of the capacitor when power is turned on, and then outputs a high level. That is, the reset release timing is only once. However, as in the case of the main board 31 shown in FIG. 92, a circuit configuration that generates a plurality of reset release timings may be used. Further, in the electrical component control board other than the payout control board 37, the circuit for generating the reset signal is configured as shown in FIG.
[0284]
Further, the return signal from the power supply substrate 910 and the reset signal from the system reset circuit 65B are input to the AND circuit 385, and the output of the AND circuit 385 is input to the reset terminal of the payout control CPU 371. If the return signal is output when the payout control CPU 371 performs the power supply stop process and is in the loop state (standby state), the payout control CPU 371 is reset. As a result, the payout control CPU 371 can exit the loop state.
[0285]
The INT signal from the main board 31 is connected to the CLK / TRG2 terminal of the payout control CPU 371. When a clock signal is input to the CLK / TRG2 terminal, the value of the timer counter register CLK / TRG2 built in the payout control CPU 371 is down-counted. When the register value becomes 0, an interrupt occurs. Therefore, if the initial value of the timer counter register CLK / TRG2 is set to “1”, an interrupt is generated according to the input of the INT signal. The INT signal is a signal that means that a payout control command is sent from the game control means to the payout control means. The payout control CPU 371 starts payout control command reception processing by an interrupt generated in response to the input of the INT signal.
[0286]
FIG. 41 is an explanatory diagram showing assignment of output ports in this embodiment. As shown in FIG. 41, the output port C (address 00H) is an output port for a drive signal or the like output to the payout motor 289. The output port D (address 01H) is an output port for a display control signal output to the error display LED 374 which is a 7 segment LED. The output port E (address 02H) is an output port for outputting a drive signal output to the sorting solenoid 310 and an EXS signal and a PRDY signal for the card unit 50.
[0287]
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 main board 31. In addition, detection signals of the winning ball count switch 301A and the ball lending count switch 301B are input to bits 0 to 1 of the input port B (address 07H), respectively. Bits 2 to 5 are supplied with a BRDY signal, a BRQ signal, a VL signal, and a clear switch 921 detection signal from the card unit 50. As described above, the detection signal of the clear switch 921, that is, the operation input of the operation means, is a bit in the same input port as the input port (an input unit having an 8-bit configuration) to which the detection signal of the switch for detecting the game ball is input. (Input port circuit).
[0288]
FIG. 43 is a flowchart showing the main processing of the payout control means (the payout control CPU 371 and peripheral circuits such as ROM and RAM). In the main process, the payout control CPU 371 first performs necessary initial settings. That is, the payout control CPU 371 first sets the interruption prohibition (step S701). Next, the interrupt mode is set to interrupt mode 2 (step S702), and the top address of the stack area is set to the stack pointer (step S703). The payout control CPU 371 initializes the built-in device register (step S704), initializes the CTC and PIO (step S705), and then sets the RAM in an accessible state (step S706).
[0289]
In this embodiment, one channel of the built-in CTC is used in the timer mode. Accordingly, in the built-in device register setting process in step S704 and the process in step S705, register setting for setting the channel to be used to timer mode, register setting for permitting interrupt generation, and setting an interrupt vector. The register is set. The interrupt by the channel is used as a timer interrupt. For example, when it is desired to generate a timer interrupt every 2 ms, a value corresponding to 2 ms is set as an initial value in a predetermined register (time constant register).
[0290]
The interrupt vector set for the channel set to the timer mode (channel 3 in this embodiment) corresponds to the start address of the timer interrupt process. Specifically, the start address of the timer interrupt process is specified by the value set in the I register and the interrupt vector. In the timer interrupt process, a payout control process is executed.
[0291]
Further, another channel (channel 2 in this embodiment) of the built-in CTC is used as an interrupt generation channel for receiving a payout control command from the game control means, and this channel is used in the counter mode. Used in. Accordingly, in the built-in device register setting process in step S704 and the process in step S705, register setting for setting the channel to be used to the counter mode, register setting for permitting interrupt generation, and setting an interrupt vector. The register is set.
[0292]
The interrupt vector set in the channel (channel 2) set in the counter mode corresponds to the head address of the command reception interrupt process described later. Specifically, the start address of the command reception interrupt process is specified by the value set in the I register and the interrupt vector.
[0293]
In this embodiment, the interruption mode 2 is also set in the payout control CPU 371. Therefore, an interrupt process based on counting up the built-in CTC can be used. Also, an interrupt processing start address can be set according to the interrupt vector sent by the CTC.
[0294]
The interrupt based on the count-up of CTC channel 2 (CH2) is an interrupt that occurs when the value of the timer counter register CLK / TRG2 described above 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. Further, the count value of the timer counter register CLK / TRG2 as the specific register is decremented by 1 at the rise or fall of the signal input to the CLK / TRG2 terminal. Decrease selection can be made. In this embodiment, setting is made such that the count value of the timer counter register CLK / TRG2 is -1 at the rising edge of the signal input to the CLK / TRG2 terminal.
[0295]
An interrupt based on the count-up of CTC channel 3 (CH3) is an interrupt that occurs 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 CPU 371 is given to the CTC, the register value is subtracted by the input of the clock, and when the register value becomes 0, a timer interrupt occurs. For example, the register value of CH3 is subtracted at 1/256 period of the system clock. Since the subtraction is performed based on the divided clock, the initial value of the register does not increase. In step S705, the CH3 register is set to a value corresponding to 2 ms as an initial value.
[0296]
Interrupts based on CTC CH2 count-up have a higher priority than interrupts based on CH3 count-up. Therefore, when the count-up occurs simultaneously, the interrupt based on the CH2 count-up, that is, the interrupt that triggers the execution of the command reception interrupt process is given priority.
[0297]
Next, the payout control CPU 371 checks the state of the output signal of the clear switch 921 input via the input port B (see FIG. 42) only once (step S707). In the confirmation, when ON is detected, the payout control CPU 371 executes normal initialization processing (steps S711 to S714). When the clear switch 921 is on (when pressed), a low-level clear switch signal is output. Note that in the input port 372, the ON state of the clear switch signal is at a high level. Further, for example, the game clerk can easily execute the initialization process by starting the power supply to the gaming machine (for example, turning on the power switch 914) while turning the clear switch 921 on. That is, RAM clear or the like can be performed.
[0298]
As with the CPU 56 of the main board 31, the payout control CPU 371 also determines that the switch detection signal is on, for example, when the on state is at least 2 ms (the first process of the process activated every 2 ms). If the detection signal is turned on immediately before the detection in (1), the switch is not considered to be turned on unless it is continued. That is, during the initialization request detection determination period for the payout control CPU 371 to determine whether or not the clear switch 921 as the operation means is in a predetermined operation state, the prize ball count switch as the game medium detection means or the like The period is different from the game medium detection determination period for determining that the medium has been detected.
[0299]
If the clear switch 921 is not in the ON state, the payout control CPU 371 checks whether backup data exists in the payout control backup RAM area (step S708). For example, as with the processing of the CPU 56 of the main board 31, whether or not backup data exists is confirmed by whether or not the backup flag that is set when power supply to the gaming machine is stopped is set. If the backup flag is set, it is determined that there is backup data.
[0300]
After confirming that there is a backup, the payout control CPU 371 performs a data check (parity check in this example) in the backup RAM area. If the power supply is restored after a power outage such as an unexpected power failure, the data in the backup RAM area should have been stored, so the check result is normal. If the check result is not normal, the internal state cannot be returned to the state at the time of stopping the power supply, and therefore the initialization process that is executed at the time of power-on is executed instead of the recovery from an insufficient power failure.
[0301]
If the check result is normal (step S709), the payout control CPU 371 performs a payout state recovery process for returning the internal state to the state when the power supply is stopped (step S710). Then, it returns to the address indicated by the PC (program counter) stored in the backup RAM area.
[0302]
The payout control CPU 371 uses the backup flag and check data such as a checksum to check whether data in the backup RAM area is stored. That is, when the power supply is restored, a plurality of recovery conditions for determining whether or not to restore the control state before the power supply is stopped (in this example, the backup flag was normally stored) When all of the checksums are normal), a recovery process for recovering the control state based on the stored contents stored in the variable data storage means is executed, and at least one of the plurality of recovery conditions When the condition is not satisfied, an initialization process for initializing the storage contents of the variation data storage means can be executed. By using a plurality of recovery conditions, the gaming state can be accurately returned to the state when the power supply is stopped. That is, the certainty of the state restoration process based on the data in the backup RAM area is improved. If an operation signal is output from the operation means, initialization processing is executed regardless of a plurality of recovery conditions (step S707). In this embodiment, it is confirmed whether or not the data in the backup RAM area is stored by using both the backup flag and the check data, but only one of them may be used. That is, either the backup flag or the check data may be used as an opportunity for executing the state recovery process.
[0303]
In the initialization process, the payout control CPU 371 first performs a RAM clear process (step S711). Then, the CTC register provided in the payout control CPU 371 is set so that a timer interrupt is periodically generated every 2 ms (step S712). That is, a value corresponding to 2 ms is set in a predetermined register (time constant register) as an initial value. In this embodiment, the payout control CPU 371 sets the payout prohibited state as the initial state (step S713). When the payout prohibited state is set, the payout control CPU 371 performs control for stopping driving of the payout motor 289 and sets an internal flag (payout stop flag) indicating the payout prohibited state, for example. That is, in step S713, a process of storing data indicating that the payout is prohibited (a set payout stop flag) in a predetermined storage area is executed. Since interruption is prohibited in step S701 of the initial setting process, interruption is permitted before the initialization process is completed (step S714). The payout suspension flag is reset on the condition that a payable state designation command is received from the game control means (see step S753e in FIG. 51).
[0304]
In this embodiment, the built-in CTC of the payout control CPU 371 is set to repeatedly generate a timer interrupt. In this embodiment, the repetition period is set to 2 ms. When a timer interrupt occurs, a timer interrupt flag indicating that a timer interrupt has occurred is set as shown in FIG. 44 (step S792). If it is detected in the main process that the timer interrupt flag is set (step S715), the timer interrupt flag is reset (step S751), and the payout control process (steps S751 to S760) is executed. The
[0305]
In the timer interrupt, as shown in FIG. 44, the interrupt permission state is first set (step S791). Therefore, the interrupt is permitted during the timer interrupt process, and the payout control command receiving process based on the input of the INT signal can be preferentially executed.
[0306]
In the payout control process, the payout control CPU 371 first determines whether or not a switch such as the prize ball count switch 301A or the ball lending count switch 301B input to the input port 372b is turned on (switch process: step S752). .
[0307]
Next, the payout control CPU 371 sets a payout prohibition state if a payout prohibition state designation command is received from the main board 31, and cancels the payout prohibition state if a payout enable state designation command is received (payout prohibition). State setting process: Step S753). Also, the received payout control command is analyzed, and processing according to the analysis result is executed (command analysis execution processing: step S754). Further, a prepaid card unit control process is performed (step S755).
[0308]
Next, the payout control CPU 371 performs control for paying out the rental balls in response to the ball rental request (step S756). At this time, the payout control CPU 371 sets the ball sorting member 311 to the ball lending side by the sorting solenoid 310.
[0309]
Further, the payout control CPU 371 performs a prize ball control process for paying out the number of prize balls stored in the total number memory (step S757). At this time, the payout control CPU 371 sets the ball sorting member 311 to the prize ball side by the sorting solenoid 310. Then, a drive signal is output to the payout motor 289 in the payout mechanism portion of the ball payout device 97 via the output port 372c and the relay board 72, and a payout motor control process for rotating the payout motor 289 by a predetermined number of rotations is performed. (Step S758).
[0310]
In this embodiment, a stepping motor is used as the payout motor 289, and a 1-2 phase excitation method is used to control them. Therefore, specifically, eight types of excitation pattern data are repeatedly output to the payout motor 289 in the payout motor control process. In this embodiment, each excitation pattern data is output by 4 ms.
[0311]
Next, error detection processing is performed, and predetermined display is performed on the error display LED 374 according to the result (error processing: step S759). In addition, processing for outputting a ball lending number signal output to the outside of the gaming machine is performed (output processing: step S760).
[0312]
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 by error processing (step S759) in the payout control processing. 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.
[0313]
FIG. 45 is a flowchart illustrating an example of the payout state recovery process in step S710. In the payout state recovery process, the payout control CPU 371 first sets the payout prohibited state as a state relating to payout (step S721). When the payout prohibited state is set, the payout control CPU 371 performs control for stopping driving of the payout motor 289 and sets an internal flag (payout stop flag) indicating the payout prohibited state, for example. That is, in step S721, a process of storing data indicating that the payout is prohibited (a set payout stop flag) in a predetermined storage area is executed.
[0314]
Next, an interrupt permission state is set (step S722). The game control means transmits a recovery command in the power supply stop process, and the payout control means receives the payout control command by the interrupt process, so that it is set in the interrupt permitted state. Then, it waits for a recovery command to be received (step S723). When the recovery command is received by the interrupt process, it is stored in the reception command buffer. If the recovery command is not received even after the predetermined time has elapsed, the process may proceed to step S711 (initialization process). When the restoration command is received, the payout control CPU 371 performs a stack pointer restoration process (step S731). The value of the stack pointer is saved in a predetermined RAM area (a backup RAM area where power is backed up) in a power supply stop process described later. Therefore, in step S731, the RAM area value is set in the stack pointer to return. In the area pointed to by the returned stack pointer (that is, the read destination in the stack area: specifically, a plurality of areas from there), the register value and the program counter (PC) value when the power supply is stopped are saved. Yes.
[0315]
When a payout enabled state designation command is received as a recovery command, the payout suspension flag is reset.
[0316]
Next, the prize ball count value stored in the backup RAM is reflected in the total number memory (step S733). The prize ball count value corresponds to the number of prize ball payout balls detected in the power supply stop process described later. In step S733, the payout control CPU 371 performs a process of subtracting the prize ball count value from the stored value in the total number memory. Then, the prize ball count value is cleared. Further, the lending ball count value stored in the backup RAM is reflected in the lending ball number storage (step S734). The ball rental count value corresponds to the number of ball lending / dispensing balls detected in a power supply stop process described later. In step S734, the payout control CPU 371 performs a process of subtracting the rented ball count value from the stored value in the rented ball number storage. Then, the ball rental count value is cleared.
[0317]
Thereafter, a timer interrupt setting process is performed for setting the timer interrupt process so that a timer interrupt is generated every 2 ms (step S735). For example, a timer interrupt set value (A7 (H) in this example :) is added to one (for example, CH3) of the control registers provided corresponding to each of a plurality of (for example, four) timers. Interrupt enable, reset setting, etc.) are set, and then time constant data (count value, 2E (H) in this example) corresponding to 2 ms is set in the control register. Also, the payout control CPU 371 clears the backup flag (step S736), that is, resets a flag indicating that a predetermined storage protection process has been executed at the previous power supply stop.
[0318]
Furthermore, the saved values of various registers are read from the stack area and set in various registers (IX register, HL register, DE register, BC register) (step S737). That is, register return processing is performed. Each time the registers are restored, the value of the stack pointer is decreased. In other words, the value of the stack pointer is updated to point to the previous address in the stack area. Further, the parity flag is restored from the stack area, and the interrupt flag is restored according to the contents (step S738). The interrupt flag is an internal flag of the payout control CPU 371, and indicates whether the interrupt is permitted or prohibited.
[0319]
If the parity flag is not in the on state, the interrupt is permitted (steps S739, S740). Finally, the AF register (accumulator and flag register) is restored from the stack area (step S741).
[0320]
Then, the RET instruction is executed, but the return destination here is not the part that called out the payout state recovery process. This is because, in step S731, the stack pointer is restored, 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 last stopped in the program. Therefore, in response to the RET instruction subsequent to step S740, the process returns to the address where the NMI occurred when the power supply was stopped. That is, the payout control is resumed based on the address saved in the stack area.
[0321]
FIG. 46 is an explanatory diagram showing a usage example of the RAM built in the payout control CPU 371. In this example, a total number storage (for example, 2 bytes) and a lending ball number storage are formed in the backup RAM area. The total number storage stores the total number of prize balls paid out instructed from the main board 31 side. The rental ball number storage stores the number of balls that have not been paid out. Note that the backup RAM area is not limited to the area for storing the information regarding the number of game balls described above. For example, a flag indicating an error state such as a payout stop flag, a winning ball path error flag, a backup flag, etc. An area for storing various flags, an area for storing various buffers such as a reception command buffer, and the like are also formed. Further, all RAM areas in which data used in the payout control process are stored may be backed up.
[0322]
Then, when the payout control CPU 371 receives a payout control command indicating the number of prize balls from the game control means, for example, in the prize ball control process (step S757), the content is increased in the total number memory by the indicated number. . In addition, in the ball lending control process (step S756), every time a ball lending request signal is received from the card unit 50, the content is increased in the lending ball number storage by the number of one unit (for example, 25). Further, the payout control CPU 371 reduces the value of the total number memory by 1 when the prize ball count switch 301A detects one prize ball payout in the prize ball control process, and one ball rental count switch 301B in the ball rental control process. When the lending ball payout is detected, the value of the lending ball number storage is reduced by one.
[0323]
Therefore, the number of unpaid prize balls and the number of rented balls are stored in a 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, the award ball processing and the ball lending processing can be resumed based on the stored contents of the backup RAM area if the power supply is restored within a predetermined period. That is, even if the power supply to the gaming machine is stopped, if the power supply is restarted, the payout is performed based on the number of unpaid prize balls and the number of rented balls at the time of the power supply stop, and given to the player The disadvantage can be reduced.
[0324]
FIG. 47 is an explanatory diagram showing a configuration example of a reception buffer for storing a payout control command received from the main board 31. In this example, a ring buffer type reception buffer capable of storing six 2-byte payout control commands is used. Therefore, the reception buffer is configured by a 12-byte area of reception command buffers 1 to 12. A command reception number counter indicating in which area the received command is stored is used. The command reception number counter takes a value from 0 to 11.
[0325]
FIG. 48 is a flowchart showing a payout control command reception process by an interrupt process. The payout control INT signal from the main board 31 is input to the CLK / TRG2 terminal of the payout control CPU 371. Therefore, when the INT signal from the main board 31 rises, the payout control CPU 371 is interrupted, and the payout control command reception process shown in FIG. 48 is started. The payout control CPU 371 is a CPU having a structure such that when an interrupt occurs, a maskable interrupt does not occur unless the interrupt is permitted by software.
[0326]
Although the command reception process of the payout control unit will be described here, the same command reception process is executed in the display control unit, the lamp control unit, and the sound control unit. In this embodiment, the initial setting is made such 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 is generated at the rise of the INT signal. However, the initial setting may be performed such that the value of the timer counter register CLK / TRG2 is set to -1 when the input of the CLK / TRG2 terminal falls. In other words, initial settings may be made such that an interrupt occurs at the falling edge of the INT signal.
[0327]
In other words, if an interrupt is generated at the level change timing (edge) of a pulsed (rectangular wave) INT signal as an acquisition signal, the edge may be a rising edge or a falling edge. Good. In any case, the interrupt is generated at the level change timing (edge) of the pulsed (rectangular wave) INT signal as the capture signal. By doing so, it becomes possible to receive a command promptly at the stage where command fetch is instructed. Since the output of the INT signal is on standby until the period A (see FIG. 30) elapses, 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 means receives the payout control command satisfactorily.
[0328]
In the payout control command reception process, the payout control CPU 371 first saves each register in the stack (step S850). Next, data is read from the input port 372a (see FIG. 8) assigned to input of the payout control command data (step S851). Next, it is confirmed whether or not the read data is data within the rules (step S851a). Whether or not the data is within the rule is determined by confirming whether or not the configuration and content of the received data conform to a predetermined rule. For example, if the received data is data that has a different number of bytes from the regular command, or if the content of the data cannot be a regular command, the data is out of rule. It is determined. If the read data is within the rules, it is confirmed whether or not it is the first byte of the payout control command having a 2-byte structure (step S852). Whether or not it is the first byte is confirmed by whether or not the first bit of the received command is “1”. The first bit is “1”, which should be the MODE byte (first byte) of the payout control command having a 2-byte configuration (see FIG. 29). Therefore, if the first bit is “1”, the payout control CPU 371 determines that the valid first byte has been received, and stores the received command in the reception command buffer indicated by the command reception number counter in the reception buffer area (step S31). S853).
[0329]
If it is not the first byte of the payout control command, it is confirmed whether or not the first byte has already been received (step S854). Whether or not it has already been received is confirmed by whether or not valid data is set in the reception buffer (reception command buffer).
[0330]
If the first byte has already been received, it is confirmed whether or not the first bit of the received 1 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 leading bit “0” should be the EXT byte (second byte) of the payout control command having a two-byte configuration (see FIG. 29). If the confirmation result in step S854 indicates that the first byte has already been received, the process ends unless the first bit of the data received as the second byte is “0”. If “N” is determined in step S854, the process in step S856 is not performed, so the next received command is stored in the buffer area where the command received this time should have been stored. The
[0331]
When the second byte of command data is stored in step S855, 2 is added to the command reception number counter (step S856). Then, it is confirmed whether or not the command reception counter is 12 or more (step S857). If it is 12 or more, the command reception number counter is cleared (step S858). Thereafter, the saved register is restored (step S859), and finally, interrupt permission is set (step S860).
[0332]
Interrupts are disabled during command reception interrupt processing. As described above, since the interrupt is enabled during the 2 ms timer interrupt processing, if a command reception interrupt occurs during the 2 ms timer interrupt, the command reception interrupt processing is executed with priority. The Even if a 2 ms timer interrupt occurs during command reception interrupt processing, the interrupt processing is awaited. Thus, in this embodiment, the processing priority of command reception processing from the main board 31 is high. Further, since no other interrupt processing is executed during command reception processing, the maximum time required for command reception processing is determined. If the configuration is such that another interrupt process can be executed during the command reception process, it is difficult to estimate the longest time required for the command reception process. Since the longest time required for the command receiving process is determined, it is possible to accurately determine how long the period C (see FIG. 30) in the command sending process of the game control means should be. More specifically, since the longest time required for command reception processing is determined, it is possible to accurately determine how much the value of the wait counter set in step S367 should be set.
[0333]
The payout control command has a 2-byte configuration, and the first byte (MODE) and the second byte (EXT) can be immediately distinguished on the receiving side. In other words, the reception 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.
[0334]
Next, a specific example of the switch process (step S752) in the main process 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 processing corresponding to the switch ON is started. A switch timer is used to measure the 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 an ON state. As shown in FIG. 49, as many switch timers as the number of detection signals (award ball count switch 301A and ball lending count switch 301B) are provided. In the RAM, the addresses of the switch timers are arranged in the same order as the bit arrangement order of the input port B (from top to bottom shown in FIG. 42).
[0335]
FIG. 50 is a flowchart illustrating an example of the switch process in step S752. In the switch process, the payout control CPU 371 inputs the data input to the input port B (step S651). Next, “2” is set as the processing number (step S652), and the address of the switch timer for the prize ball count switch 301A is set in the pointer (step S653). Then, a switch check processing subroutine is called (step S654). The switch check processing subroutine can be configured similarly to the switch check processing subroutine in the game control means (see FIG. 22).
[0336]
Then, the value of the switch timer corresponding to the prize ball count switch 301A is checked (step S655). If the value is 2, it is determined that one prize ball has been paid out. When it is determined that one prize ball has been paid out, the payout control CPU 371 decrements the prize ball non-payout counter (the number of prize balls stored in the total number memory: unpaid-out number data). (Step S656).
[0337]
Next, the value of the switch timer corresponding to the ball lending count switch 301B is checked (step S657). If the value is 2, it is determined that one lending ball has been paid out. When it is determined that one lending ball has been paid out, the payout control CPU 371 sets a lending ball unpaid-out number counter (the number of lending balls stored in the lending ball number storage: unpaid-out number data) − 1 (step S658).
[0338]
FIG. 51 is a flowchart showing an example of the payout prohibition state setting process in step S753. In the payout prohibition state setting process, the payout control CPU 371 checks whether or not there is a reception command in the reception buffer (step S753a). If there is a reception command in the reception buffer, it is checked whether or not the received payout control command is a payout prohibition state designation command (step S753b). If it is a payout prohibition state designation command, the payout control CPU 371 sets the payout prohibition state (step S753c).
[0339]
If it is confirmed in step S753b that the received command is not a payout prohibition state designation command, it is confirmed whether or not the received payout control command is a payout enable state designation command (step S753d). If it is a payout enable state designation command, the payout prohibition state is canceled (step S753e).
[0340]
When the payout prohibited state is set, the payout control CPU 371 performs control for stopping driving of the payout motor 289 and sets an internal flag (payout stop flag) indicating the payout prohibited state, for example. When releasing the payout prohibition state, the driving of the payout motor 289 is resumed and the payout stop flag is reset. That is, in step S753c, a process of storing data indicating that payout is prohibited (a set payout stop flag) in a predetermined storage area is executed, and in step S753e, payout is permitted. A process of storing data indicating that the state is in a state (reset payout suspension flag) in a predetermined storage area is executed.
[0341]
The payout suspension flag is stored, for example, in the backup RAM area. The payout suspension flag has a 1-byte structure composed of bits D0 to D7, for example. In this case, for example, if D0 is “1”, it indicates a state in which the payout prohibition state is set, and if D1 is “1”, it indicates a state in which the payout prohibition state is cancelled.
[0342]
When the payout prohibition state is set, the payout motor 289 may be stopped immediately. However, the payout motor 289 may be stopped at a place where the cut is good instead of being controlled as such. For example, the payout of game balls may be executed in units of 25, and when the payout of one unit is completed, the payout motor 289 may be stopped and the internal state may be set to the payout prohibition state. As described above, the ball break switch 187 is installed at a position where it is possible to detect the presence of about 27 to 28 game balls in the payout ball passage. Even if detected, at least 25 payouts are possible from that point. Accordingly, there is no problem even if the payout is prohibited when the payout of one unit is completed. Further, if the payout is prohibited in units of one unit, it becomes easy to control when payout is resumed.
[0343]
FIG. 52 is a flowchart illustrating an example of the command analysis execution process in step S754. In the command analysis execution process, the payout control CPU 371 checks whether or not there is a reception command in the reception buffer (step S754a). If there is a received command, it is checked whether or not the received payout control command is a payout control command for designating the number of winning balls (step S754b). The payout control CPU 371 determines in step S754b for the received command stored at the address in the receiving buffer pointed to by the read pointer as the command instruction means. Further, after the determination, the value of the read pointer is incremented by one. When the address pointed to by the read pointer exceeds the address of the reception command buffer 12 (see FIG. 47), the value of the read pointer is updated to indicate the reception command buffer 1.
[0344]
If the received payout control command is a payout control command for designating the number of winning balls, the number instructed by the payout control command is added to the total number memory (step S754c). That is, the payout control CPU 371 stores the number of prize balls included in the payout control command sent from the CPU 56 of the main board 31 in the backup RAM area (total number memory).
[0345]
The payout control CPU 371 performs subtraction of the command reception number counter and reception command shift processing in the reception buffer, if necessary. Further, the payout prohibition state setting process and the command analysis execution process may be repeated until the value of the read pointer matches the latest command storage position in the reception buffer. For example, if the difference between the value of the read pointer and the latest command storage position in the reception buffer is “3”, there are three unprocessed received commands, but the process is repeated until they match. , There are no outstanding received commands. That is, all received commands stored in the reception buffer are read and processed in a single process.
[0346]
FIG. 53 is a flowchart showing an example of the prepaid card unit control process in step S755. In the prepaid card unit control process, the payout control CPU 371 checks whether or not a VL signal input from the card unit control microcomputer has been detected (step S755a). If the VL signal is not detected, the VL signal non-detection counter is incremented by 1 (step S755b). Also, the payout control CPU 371 checks whether or not the value of the VL signal non-detection counter is 125 in this embodiment (step S755c). If the value of the VL signal non-detection counter is 125, the payout control CPU 371 stops the emission control signal output to the emission control board 91 and stops the drive motor 94 (step S755d).
[0347]
If the VL signal is detected to be off 125 times (2 ms × 125 = 250 ms) continuously by the above processing, the ball firing prohibited state is set.
[0348]
If the VL signal is detected in step S755a, the payout control CPU 371 clears the VL signal non-detection counter (step S755e). If the discharge control CPU 371 stops outputting the firing control signal (step S755f), the payout control CPU 371 starts outputting the firing control signal to the firing control board 91 to enable the drive motor 94 (step S755g). .
[0349]
54 and 55 are flowcharts showing an example of the ball lending control process in step S756. In this embodiment, the maximum value of the continuous payout number is set as one unit (for example, 25) of the lending ball, but the maximum value of the continuous payout number may be another number.
[0350]
In the ball lending control process, the payout control CPU 371 checks whether or not the ball lending is stopped (step S510). If it is stopped, the process is terminated. Whether or not the ball lending is stopped is confirmed by whether or not a payout suspension flag set in the payout prohibition state setting process or the like shown in FIG. 51 is turned on.
[0351]
If the ball lending is not stopped, the payout control CPU 371 checks whether or not the lending ball is paying out (step S511). If the ball lending is being paid out, the process proceeds to the ball lending process shown in FIG. To do. Whether or not the lending ball is being paid out is determined by the state of a ball lending process flag which will be described later. If the rental ball is not being paid out, it is confirmed whether or not the prize ball is being paid out (step S512). Whether or not a prize ball is being paid out is determined based on a state of a prize ball processing flag to be described later.
[0352]
If neither the lending ball payout nor the prize ball payout, the payout control CPU 371 checks whether or not a ball lending request has been received from the card unit 50 (step S513). If there is a request, the ball lending process flag is turned on (step S514), and 25 (number of ball lending units: here 100 yen) is set in the lending ball number storage in the backup RAM area (step S515). Then, the payout control CPU 371 turns on the EXS signal (step S516). Further, the distribution solenoid 310 is driven to set the ball distribution member 311 below the ball dispensing device 97 to the ball lending side (step S517). Further, the payout control CPU 371 sets a motor rotation time for paying out 25 game balls, or determines the number of output pulses corresponding to the motor rotation time. Then, the payout motor 289 is turned on (step S518), and the process proceeds to the ball lending process shown in FIG.
[0353]
Strictly speaking, the payout motor 289 is turned on after the BRQ signal is turned off to indicate that the card unit 50 has recognized acceptance. In addition, the ball lending process flag is set in the backup RAM area.
[0354]
FIG. 55 is a flowchart showing a ball lending process in the payout control process by the payout control CPU 371. In the ball lending process, if the payout motor 289 is not turned on, it is turned on. In this embodiment, in the switch processing in step S751, it is confirmed whether or not a game ball has been paid out based on the detection signal from the ball lending count switch 301B. Is not done.
[0355]
In the ball lending control process, the payout control CPU 371 checks whether or not it is during the lending ball passage waiting time (step S519). If it is not during the lending ball passage waiting time, the lending ball is paid out (step S520), and it is confirmed whether or not the driving of the payout motor 289 should be finished (whether the payout operation of one unit has been finished) (step S521). ). Specifically, it is confirmed whether or not the rotation corresponding to the predetermined number of payouts has been completed. When the rotation corresponding to the predetermined number of payouts is completed, the payout control CPU 371 stops driving the payout motor 289 (step S522) and sets the lending ball passage waiting time (step S523).
[0356]
If it is during the lending ball passage waiting time in step S519, the payout control CPU 371 checks whether or not the lending ball passage waiting time has ended (step S524). The rental ball passage waiting time is the time from when the last payout ball is paid out by the payout motor 289 until it passes through the ball lending count switch 301B. When confirming the end of the lending ball passage waiting time, all lending balls of one unit have been paid out, so that the card unit 50 can accept the next lending request. The EXS signal is turned off (step S525). Further, the distribution solenoid is turned off (step S526), and the ball lending process flag is turned off (step S527). If the last payout ball does not pass the ball lending count switch 301B before the lending ball passage waiting time elapses, a ball lending route error is determined. In this embodiment, the winning ball and the lending are performed by the same payout device.
[0357]
After turning off the EXS signal indicating acceptance of a ball lending request, if the BRQ signal, which is a ball lending request signal, is turned on again within a predetermined period, the ball lending process is continued without turning off the sorting solenoid and the dispensing motor. You may make it do. 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 executed continuously.
[0358]
The contents of the rental ball number storage are saved by the backup power source of the power supply board 910 for a predetermined period even if the power supply to the gaming machine is stopped. Accordingly, when the power supply is restored during the predetermined period, the payout control CPU 371 can continue the ball lending process based on the contents of the lending ball number storage.
[0359]
56 and 57 are flowcharts showing an example of the prize ball control process in step S757. In this example, the maximum value of the continuous payout number is the same as the unit of the lending ball (for example, 25), but the maximum value of the continuous payout number may be another number.
[0360]
In the winning ball control process, the payout control CPU 371 first checks whether or not the winning ball is stopped (step S530). If it is stopped, the process is terminated. Whether or not the prize ball is stopped is confirmed by whether or not the payout stop flag set in the payout prohibition state setting process or the like shown in FIG. 51 is turned on.
[0361]
If the winning ball is not stopped, the payout control CPU 371 checks whether or not the lending ball is being paid out (step S531), and if the lending ball is being paid out, the processing is terminated. Whether or not the lending ball is being paid out is determined based on the state of the lending ball processing flag. If the lending ball is not being paid out, it is confirmed whether or not the winning ball payout process has already been started, that is, whether or not the winning ball is being drawn (step S532). If it is during the winning ball, the process proceeds to the processing during the winning ball shown in FIG. Whether or not a prize ball is in progress is determined by the state of a prize ball processing flag to be described later.
[0362]
If no winning ball is being paid out, the payout control CPU 371 checks whether or not the number of winning balls (the number of unpaid prize balls) stored in the total number memory is zero (step S534). If the number of prize balls stored in the total number memory is not 0, the prize ball control CPU 371 turns on a prize ball processing flag (step S535), and whether or not the value of the total number memory is 25 or more. Confirmation is made (step S536). The prize ball processing flag is set in the backup RAM area.
[0363]
When the number of prize balls stored in the total number memory is 25 or more, the payout control CPU 371 drives the payout motor 289 to rotate the payout motor 289 until paying out 25 game balls. In order to output 25, the payout operation of 25 is set (step S537). Specifically, the motor rotation time for paying out 25 game balls is set, or the number of output pulses corresponding to the motor rotation time is determined.
[0364]
If the number of prize balls stored in the total number memory is not 25 or more, the payout control CPU 371 rotates the payout motor 289 until a game ball corresponding to the number stored in the total number memory is paid out. In order to output a drive signal, setting of the total number dispensing operation is performed (step S538). Specifically, the motor rotation time for paying out the game ball is set, or the number of output pulses corresponding to the motor rotation time is determined. Next, the payout motor 289 is turned on (step S539). Since the distribution solenoid is in the off state, the ball distribution member below the ball dispensing device 97 is set to the prize ball side. Then, the process proceeds to a process during payout of prize balls in the prize ball control process shown in FIG.
[0365]
FIG. 57 is a flowchart showing an example of a process during a prize ball in the payout control process by the payout control CPU 371. In the winning ball control process, if the payout motor 289 is not turned on, it is turned on. In this embodiment, in the switch process of step S751, it is confirmed whether or not a game ball has been paid out based on the detection signal of the prize ball count switch 301A. Therefore, in the prize ball control process, the total number memory is subtracted. Is not done.
[0366]
In the processing during the winning ball, the payout control CPU 371 checks whether or not it is during the waiting time for winning ball passing (step S540). If it is not during the waiting time for passing the prize ball, the prize ball is paid out (step S541), and whether or not the driving of the payout motor 289 should be terminated (whether a predetermined number of payout operations of 25 or less than 25 is finished). Is confirmed (step S542). Specifically, it is confirmed whether or not the rotation corresponding to the predetermined number of payouts has been completed. When the rotation corresponding to the predetermined number of payouts is completed, the payout control CPU 371 stops driving the payout motor 289 (step S543), and sets the award ball passage waiting time (step S544). The award ball passing waiting time is a time from when the last payout ball is paid out by the payout motor 289 until it passes through the prize ball count switch 301A.
[0367]
If it is during the winning ball passage waiting time in step S540, the payout control CPU 371 checks whether or not the winning ball passage waiting time has ended (step S545). When the prize ball passing waiting time ends, all the prize balls set in step S537 or step S538 have been paid out. Therefore, the payout control CPU 371 turns off the award ball processing flag if the award ball passage waiting time has ended (step S546). If the last payout ball does not pass the prize ball count switch 301A before the prize ball passage waiting time elapses, a prize ball path error is determined.
[0368]
In this embodiment, the ball lending is prioritized over the winning ball processing according to the determinations in steps S511 and S531, but the winning ball processing may be prioritized over the ball lending.
[0369]
The contents of the total number storage and the rented ball number storage are saved by the backup power source of the power supply board 910 for a predetermined period even if the power supply to the gaming machine is stopped. Therefore, when the power supply is restored during the predetermined period, the payout control CPU 371 can continue the payout process based on the contents of the total number storage.
[0370]
The payout control CPU 371 manages the number of prize balls instructed from the main board 31 as the total number in the prize ball number storage, but may manage each prize ball number (for example, 15, 10, or 6). Good. For example, a number counter corresponding to each award ball number is provided, and when a payout number designation command is received, the number counter corresponding to the number designated by the command is incremented by one. When the prize ball payout corresponding to the number counter is performed, the number counter is decremented by 1 (in this case, the subtraction process is performed in the payout control process). Also in that case, each number counter is formed in the backup RAM area. Therefore, even if the power supply to the gaming machine is stopped, if the power is restored during a predetermined period, the payout control CPU 371 can continue the prize ball payout process based on the contents of each number counter.
[0371]
In this embodiment, the payout control means detects that the INT signal related to the payout control signal has risen, and starts a 1-byte data take-in process by an interrupt process, for example. Since a receiving ring buffer (in this example, a reception buffer) capable of storing a plurality of payout control commands is provided, the next payout control command is received after the payout control command is received and before the control based on the command is started. Even if the command is received, the command is not received by the payout control means.
[0372]
In the payout control means, the interruption process is started even in the payout prohibition state, so that the payout control means can receive the payout control command even in the payout prohibition state. And in the payout prohibition state, payout processing according to the received payout control command is stopped, but since a receiving ring buffer capable of storing a plurality of payout control commands is provided, it is sent out from the game control means. The payout control command does not disappear in the payout control means.
[0373]
In the payout control means, a command reception number counter is used as an address instruction means for indicating in which area in the reception ring buffer the transmission command is stored. Therefore, it is easy to determine which area should be used.
[0374]
In the above embodiment, the RAM is used as the fluctuation data storage means. However, as the fluctuation data storage means, a storage means other than the RAM may be used as long as it is an electrically rewritable storage means. Good.
[0375]
Furthermore, in the above embodiment, the power supply monitoring means is provided on the power supply board 910, and the circuit for generating a signal for system reset is provided on the electrical component control board. It may be done.
[0376]
58 to 60 are flowcharts showing a processing example of non-maskable interrupt processing (NMI processing: power supply stop processing) executed in response to the power-off signal from the power supply board 910. In this example, the power supply stop process is executed according to the NMI, but the power cut signal is connected to the maskable terminal of the payout control CPU 371 and the power supply stop process is executed by the maskable interrupt process. Also good. Alternatively, a power-off signal may be input to the input port and the power supply stop process may be executed according to the input port check result.
[0377]
In the non-maskable interrupt process, the payout control CPU 371 saves the AF register to a predetermined backup RAM area (specifically, a stack area) (step S801). Further, the interrupt flag is copied to the parity flag (step S802), and the contents are saved in the stack area (step S803). The interrupt flag is an internal flag of the payout control CPU 371, and indicates whether the interrupt is permitted or prohibited. Further, the BC register, DE register, HL register, and IX register are saved in the stack area (steps S804 to 807). When the power is restored, the register contents are restored based on the saved contents, and the interrupt permission / prohibition state is internally set according to the contents of the parity flag.
[0378]
Next, the payout control CPU 371 sets clear data (00) in an appropriate register (step S809), and sets the number of processes (in this example, “2”) in another register (step S810). The address of the output port C (“00H” in this example) is set in the IO pointer (step S811). Another register is used as the IO pointer.
[0379]
Then, clear data is set at the address pointed to by the IO pointer (step S812), the value of the IO pointer is incremented by 1 (step S813), and the value of the processing number is subtracted by 1 (step S814). The processes in steps S812 to S814 are repeated until the value of the number of processes becomes 0 (step S815). As a result, clear data is set in the output port C and the output port D (see FIG. 41). As shown in FIG. 41, in this example, “1” is on and clear data “00” is set to each output port, so that all of the output ports C and D are off. It becomes a state. In this example, the output port E is not cleared, so the output port of the sorting solenoid 310 is not turned off. Note that the clearing process may also be performed for output ports other than the output port of the sorting solenoid 310 in the output port E.
[0380]
In this embodiment, as the payout motor 289, a stepping motor that rotates by a pulse signal (drive signal) from the payout control CPU 371 is used. Therefore, when the output of the pulse signal to the payout motor 289 is stopped, the driving of the ball payout device 97 is stopped.
[0381]
Thereafter, in this embodiment, for a predetermined period (hereinafter referred to as “payout confirmation period”), a prize ball count switch 301A (corresponding to a prize game medium detecting means) as a payout detecting means and a ball lending count switch 301B (lending game medium) The detection signal (corresponding to detection means) is checked. When the prize ball count switch 301A is turned on, the prize ball count value is incremented by one. When the ball lending count switch 301B is turned on, the ball lending count value is increased by one.
[0382]
In this embodiment, a payout confirmation period measuring counter is used to measure the payout confirmation period. The value of the payout confirmation period measurement counter is decremented by 1 from the initial value m every time a switch detection processing loop (a loop starting from S817 and returning to S817) described below is executed once. It is assumed that the payout confirmation period has ended. In the detection processing loop, although there is an exception, almost constant processing is performed, and therefore m times the time required for one round of the loop corresponds to the payout confirmation period.
[0383]
In order to measure the payout confirmation period, a built-in timer of the payout control CPU 371 may be used. That is, a predetermined value (corresponding to the payout confirmation period) is set in the built-in timer at the start of the switch detection process. Each time the switch detection processing loop is executed once, the count value of the built-in timer is checked. When the count value becomes 0, it is assumed that the payout confirmation period has ended. An interrupt by the internal timer can be used to detect that the value of the internal timer has reached 0. However, at this stage, the control content (such as each value stored in the RAM) should not be changed. A program configuration is preferred in which the count value of the built-in timer is read and checked instead of using a program. Also, the payout confirmation period is set to be equal to or longer than the time from when the game ball falls from the ball payout device 97 until it reaches the prize ball count switch 301A or the ball lending count switch 301B.
[0384]
At least a payout confirmation period in which the switch detection process is executed (a period equal to or longer than a period from when the game ball falls from the ball payout device 97 until it reaches the prize ball count switch 301A or the ball lending count switch 301B. For example, 100 [ ms] to 150 [ms])), the award ball count switch 301A and the ball lending count switch 301B must be in a state in which a game ball can be detected. Therefore, in this embodiment, as shown in FIG. 9, a capacitor 923 serving as a relatively large capacity auxiliary drive power supply is connected to the input side of the converter IC 920 in the power supply substrate 910. Therefore, even when the power supply to the gaming machine is stopped, the + 12V power supply voltage is maintained in a range in which the switch can be driven for a certain period, and the winning ball count switch 301A and the ball lending count switch 301B can be operated. The capacitance of the capacitor is determined so that the period is equal to or longer than the payout confirmation period. The longer the payout confirmation period, or the longer the payout confirmation period, the longer the switch driveable period, the larger the capacity of the capacitor is required, so the payout confirmation period is set shorter and the switch can be driven. It is desirable not to allow too much time for a long period.
[0385]
Since the input port and the payout control CPU 371 are also driven by the + 5V power source created by the converter IC 920, they can operate for a relatively long period even when the power supply is stopped.
[0386]
Furthermore, in this embodiment, the sorting solenoid 310 is used to switch between the award ball path and the rental ball path. Therefore, the capacity of the capacitor 924 shown in FIG. 9 is such that the sorting solenoid 310 can be driven at least during the payout confirmation period. The capacitor 924 is connected to a line for supplying power to each electrical component (line on the input side of the connector 915), but in response to the power-off signal, the game control means is connected to another solenoid (big prize opening). Since the drive signal (for opening and closing, etc.) is turned off, the capacitor 924 only needs to drive only the sorting solenoid 310 among the solenoids after the power-off signal is generated.
[0387]
Note that the capacitor 923 and the capacitor 924 used in this embodiment are one example of the auxiliary drive power supply, but other auxiliary drive power supply may be used. At least during the above-mentioned payout confirmation period, as long as the payout control means such as the prize ball count switch 301A, the ball lending count switch 301B, the sorting solenoid 310, and the payout control CPU 371 can be driven, the other types of assistance A drive power supply can be used.
[0388]
In the detection signal input process (switch detection process) from the payout detection means, the payout control CPU 371 first sets a value m corresponding to the payout confirmation period in the payout confirmation period measurement counter (step S816). In step S817, an initial value n corresponding to a time of 2 ms is set in the 2 ms measurement counter. Until the value of the 2 ms measurement counter becomes 0 (step S818), the value of the 2 ms measurement counter is decremented by -1 (step S819).
[0389]
When the value of the counter for 2 ms measurement becomes 0, input of detection signals of the prize ball count switch 301A and the ball lending count switch 301B is checked. That is, a process similar to the switch process in step S752 is performed. Specifically, the data input to the input port B is input (step S820). Next, “2” is set as the processing number (step S821), and the address of the switch timer for the prize ball count switch 301A is set in the pointer (step S822). Then, a switch check processing subroutine is called (step S823).
[0390]
When the value of the switch timer corresponding to the prize ball count switch 301A is 2, assuming that the prize ball count switch 301A is turned on (step S825), the prize ball count value (in the backup RAM area) is incremented by 1 (step S825). S826). Further, when the value of the switch timer corresponding to the ball lending count switch 301B is 2, assuming that the ball lending count switch 301B is turned on (step S827), the ball lending count value (in the backup RAM area) is increased by 1. (Step S828). Next, the value of the payout confirmation period measurement counter is decremented by 1 (step S829). If the value is not 0, the process returns to step S817 (step S830).
[0390]
If the prize ball count switch 301A and the ball rental count switch 301B are turned on within the payout confirmation period by the above processing, the prize ball count value and the ball rental count value are incremented by one. Since the process for saving the contents of the backup RAM is performed after such a switch detection process, the winning ball count value or the rented ball count value is always incremented by 1 for the gaming balls that have been paid out. When the power supply to the gaming machine is stopped and then recovered, in step S733 in the gaming state recovery process (see FIG. 45), the payout control CPU 371 subtracts the prize ball count value from the stored value of the total number storage. Further, the rented ball count value is subtracted from the stored value of the rented ball number storage. Therefore, it is possible to prevent a contradiction in the stored control state with respect to the game ball payout.
[0392]
In addition, since it is determined whether or not the prize ball count switch 301A or the ball lending count switch 301B is turned on under the same conditions and the same processing as the normal control, the switch detection input processing in the power supply stop processing The routine and the switch detection input processing routine in normal control (switch check processing subroutine called in the switch processing shown in FIG. 50) can be used in common. That is, the switch detection input processing routine in the normal control can be used for the switch detection in the power supply stop process. Therefore, the amount of program for processing when power supply is stopped is reduced.
[0393]
When the payout confirmation period has elapsed (step S830), the payout control CPU 371 stores the backup specified value ("55H" in this example) in the backup flag (step S835). The backup flag is formed in the backup RAM area. Next, processing similar to that of the CPU 56 of the main board 31 is performed to create parity data and store it in the backup RAM area (steps S836 to S845). After the contents of the stack pointer are saved in the backup RAM area (step S846), an access prohibition value is set in the RAM access register (step S847). Thereafter, the built-in RAM cannot be accessed.
[0394]
When an access prohibition value is set in the RAM access register, the payout control CPU 371 enters a standby state (loop state). Therefore, nothing is done until the system is reset.
[0395]
In this embodiment, all RAM areas in which data used in the payout control process are stored are backed up. Therefore, the checksum generation process indicating whether or not the contents are correctly stored and the RAM access prevention process for preventing the contents from being rewritten correspond to the process for storing the payout control state.
[0396]
As described above, in this embodiment, as shown in the conceptual diagram of FIG. 61, the game control means 56A mounted on the main board 31 can execute the game control process, the power supply stop process, and the recovery process. The payout control means 371A mounted on the payout control board 37 can execute payout control processing, power supply stop processing, and recovery processing. Further, a payout game medium detection means 301C for detecting a game medium paid out by a payout means (for example, a ball payout device 97), and a predetermined detection maintaining period after a detection signal (power-off signal) is output from the power supply monitoring means. Auxiliary power supply means capable of supplying electric power to the payout game medium detection means is provided in order to enable detection by the payout game medium detection means in a period until the time elapses. The game control means 56A and the payout control means 371A also perform detection signal input processing from the payout game medium detection means 301C in the power supply stop process. Then, the game control unit 56A performs a recovery command transmission process and performs a timer interrupt setting process and a register return process in the recovery process. After that, when the recovery process is completed, the game control process is resumed.
[0397]
The game control means always transmits a recovery command to the payout control means in the recovery process. Then, the payout control means resumes the control of the ball payout device 97 as the payout means after performing the timer interrupt setting process and the register return process on the condition that the recovery command is received. That is, if the ball payout condition is satisfied, the ball payout device 97 is driven and the game ball is paid out.
[0398]
The game control means performs a timer interrupt setting process and a register return process after transmitting a recovery command to return to a state in which game control is possible, and the payout control means receives a recovery command and then performs a timer interrupt setting process and a register return process. Since the game control is returned to a state in which the payout control is possible, the restart timing of the game control and the restart timing of the payout control substantially coincide with each other, and a shift between the game control and the payout control is prevented. That is, the difference between the timing at which the game control means resumes control and the timing at which the payout control means resumes payout control can be reduced, and the game ball is paid out between the game control means and the payout control means. It is possible to prevent the state recognition from being shifted.
[0399]
When the payout control means receives a payout prohibition state designation command as a recovery command, the payout control means keeps the internal state in the payout prohibition state.
[0400]
In the above embodiment, the payout control unit is configured to confirm whether or not the prize ball count switch 301A and the ball lending count switch 301B are turned on in the power supply stop process. It is good also as a structure which confirms the state of this switch.
[0401]
As described above, in this example, the clear process for the output ports other than the output port of the sorting solenoid 310 is performed before the switch detection process is executed (before step S762). During execution of the power supply stop process, the payout control CPU 371 and switches are driven by the charging power of the capacitors 923 and 924 and the like. In this example, since the output port clear process is performed before the switch detection process is executed, the charging power of the capacitor can be efficiently used for the power supply stop process.
[0402]
In this example, when a power cut signal is generated due to a momentary power cut or the like, the power supply voltage is restored to a normal value and the gaming machine returns to a controllable state. When such a situation occurs, a return signal is supplied from the power supply board 910 to the payout board 37. When the return signal is input, the payout control CPU 371 is reset. Therefore, the payout control CPU 371 can start execution of the main process shown in FIG. At that time, since the gaming state is stored when the power-off signal is output, the payout state restoration processing is executed in the process of step S710, and the payout control returns to the state at the time of the power-off signal being generated. The payout control is continued from
[0403]
Further, in the power supply stop process (see FIGS. 35 to 37, 58 to 60), the power supply board 910 is used using the power charged in the capacitors 923 and 924 until the detection maintenance period elapses. However, the power for driving the prize ball count switch 301A and the ball lending count switch 301B is supplied, and the distribution solenoid 310 supplies the drive power for maintaining the state of the distribution member 311. Detection signal input processing from the ball count switch 301A, that is, switch detection processing (steps S466 to S473) is performed, and the payout control means performs detection signal input processing from the prize ball count switch 301A and the ball lending count switch 301B, that is, switch detection. It was set as the structure which performs a process (step S816-step S828). Thus, in the process of stopping power supply, the paid out game media (game media to be paid out as a prize based on winning in the winning area) and the rented game media (game media to be rented in response to a rent request from the player) ) Can be reliably detected. In other words, according to the above-described gaming machine, the paid-out gaming media can be reliably detected in the power supply stop process, so that the number of gaming media unpaid can be accurately grasped. become.
[0404]
The switch detection process executed in the power supply stop process uses the same subroutine as the switch detection process executed in the game control process in the game control means and the main process in the payout control means. The program capacity for time processing can be reduced.
[0405]
In addition, as described above, when the power supply is not stopped even though the standby state after the power supply stop process is continuously executed, a return signal for returning from the standby state is provided. Since it is configured to output to the CPU 56 and the payout control CPU 371, the CPU 56 and the payout control CPU 371 can be returned from the standby state to the control execution state by the return signal. Therefore, it is possible to prevent the control from being hindered even if an instantaneous interruption of the power supply that recovers in a very short time occurs.
[0406]
That is, when the game control means and the payout control means having a memory holding means (for example, a backup RAM) are in a standby state waiting for a system reset after performing a power supply stop process in response to a power cut-off signal, When the return signal is output, the game control means and the payout control means resume operation from the first part of the program. At that time, since the control state saved in the power supply stop process is restored, the game is continued as if nothing happened when viewed from the player.
[0407]
Further, when the power supply is started, the electric component control means is operated when the operation means (clear switch 921) is operated even if the control state stored in the power supply stop process remains. The initialization process is executed without executing the state recovery process. Therefore, a game store clerk or the like can easily clear the stored state, and it is possible to improve convenience in operating the gaming machine at the game store. In other words, since it is possible to initialize the stored contents of the backup storage means when it is not necessary to perform the state recovery processing of the gaming machine in the game store, it is possible to give benefits that should not be given to other players. As a result, it is possible to improve the convenience in operating the gaming machine in the game store.
[0408]
Further, as described above, the power supply board 910 supplies power that can drive the sorting member 311 to the sorting solenoid 310 until the detection maintenance period elapses. Therefore, the driving state of the sorting solenoid 310 as the path switching means can be electrically held. Therefore, the power supply board 910 is equipped with an operation state holding unit that supplies power for maintaining the state of the sorting member 311 until the detection maintenance period elapses. Also, until the detection maintenance period elapses, the state of the sorting member 311 is maintained, and the sorting member 311 does not operate, so the space between the sorting member 311 and the walls in the ball passages 293a and 293b It is possible to prevent the game ball from being caught in the game.
[0409]
Further, as described above, when a power-off signal is output in response to the occurrence of a power failure or the like, first, after the driving of the ball payout device 97 is stopped, a payout detection means (award ball count switch) The detection signal input processing (switch detection processing) from 301A and the ball lending count switch 301B) is executed, and thereafter processing for saving the payout control state is performed. Therefore, the game ball that was being paid out when the power failure occurred is reliably reflected in the saved contents of the backup RAM. Therefore, in a case where the control state is stored in the backup storage means when the power supply to the gaming machine is stopped, it is possible to prevent inconsistencies between the stored control state and the actual control state. it can.
[0410]
Further, as described above, since the means capable of outputting the return signal (for example, means constituted by the counter 971 and the like: an example of the standby state return means) is mounted on the power supply board 910, each control board is provided. There is no need to provide a standby state return means, and it is possible to return from the standby state with a simple configuration.
[0411]
Further, as described above, the power supply monitoring means (for example, the power supply monitoring IC 902) has the highest voltage among the DC power supplies (for example, the CPU 56 and the payout control CPU 371) supplied to each electrical component control means (for example, the CPU 371 for payout control). , VSL (+30 V)), the voltage drop can be detected at an early stage.
[0412]
Further, as described above, power supply monitoring means (for example, power supply monitoring IC 902) is mounted on a power supply board (for example, power supply board 910) that supplies power to each electrical component control means (CPU 56, payout control CPU 371, etc.). Thus, the power monitoring means can be arranged near the monitoring power supply source, and the power monitoring means can appropriately monitor the power supply state. Moreover, if comprised as mentioned above, a power supply monitoring means can be replaced | exchanged only by changing a power supply board.
[0413]
Further, as described above, the predetermined period (delay period) in which the power-off process is not executed is configured to include at least a period until the voltage supplied to a predetermined voltage (for example, 22 V) or more rises. It is possible to prevent the power-off process from being executed in an unstable state. In particular, in the above-described embodiment, the power-off process is executed when the voltage is equal to or lower than the predetermined voltage. Therefore, the above configuration prevents the power-off process from being erroneously executed at the time of startup. can do.
[0414]
As described above, when power supply is started, the payout control means (the payout control CPU 371) performs a payout process of the game ball if no payout enable state designation command is received from the game control means (CPU 56). Since the configuration is not executed, it is possible to prevent the game ball from being paid out even though the game control means is not in a controllable state. Therefore, the game control means can reliably receive the detection signals of the prize ball count switch 301A and the ball lending count switch 301B for detecting the paid-out game balls. Therefore, it is possible to prevent the discrepancy between the contents of the information grasped by the game control means and the payout control means regarding the number of unpaid game balls, and the game control means and the payout control means reliably It is possible to achieve control matching.
[0415]
The detection signal from the prize ball count switch 301A is input to both the game control means and the payout control means, and the detection signal from the ball lending count switch 301B is input only to the payout control means. Thus, it is possible to perform reliable management according to each of the prize game medium and the rental game medium.
[0416]
When the return signal is not generated in the power supply board 910, the timer process can be returned to the control state by performing the timer process by software. However, the timer process may be executed by hardware.
[0417]
FIG. 62 is a block diagram showing an example of a configuration in which timer processing is performed by hardware when a return signal is not generated in the power supply board. In this example, a counter (watchdog timer circuit) 162 that functions as a watchdog timer is provided on the main board 31. The watchdog timer circuit 162 counts the output pulse of the oscillation circuit 164, and when it counts up, generates a high-level pulse as a Q output. The pulse signal is logically inverted by the inversion circuit 163 and input to the AND circuit 161 as a return signal. The AND circuit 161 takes the logical product of the reset signal and the return signal and supplies it to the reset terminal of the CPU 56. The CPU 56 may be set to output a system clock or a frequency-divided clock thereof, and the clock may be used as an input clock signal for the watchdog timer circuit 162.
[0418]
The count-up value is set to be equal to or longer than the time during which the voltage value of VSL decreases to a voltage capable of generating Vcc after the power-off signal becomes low level. Since the watchdog timer circuit 162 operates using Vcc as a power source, the count-up value is set to be equal to or greater than the value corresponding to the operable period of the watchdog timer circuit 162. Therefore, when power supply to the gaming machine is stopped, the watchdog timer circuit 162 and other circuit components generally do not operate before the watchdog timer circuit 162 counts up and a return signal is output.
[0419]
When the CPU 56 is performing game control, a clear pulse is periodically given to the watchdog timer circuit 162. The output period of the clear pulse is shorter than the time until the watchdog timer circuit 162 counts up. Therefore, no pulse appears at the Q output of the watchdog timer circuit 162 when the CPU 56 is performing normal game control.
[0420]
FIG. 63 is a flowchart showing a 2 ms timer interrupt process of the game control means when the watchdog timer circuit 162 is provided. As shown in FIG. 63, a watchdog timer clear process (step S32a) is executed in the game control process (steps S21 to S32a). Therefore, the watchdog timer clear process is executed every 2 ms.
[0421]
In the watchdog timer clear process (step S32a), a process of outputting one pulse to the output port reaching the clear terminal of the watchdog timer circuit 162 is performed. Therefore, during the execution of the game control process, the clear pulse is periodically given to the watchdog timer circuit 162, so that the count-up is not performed.
[0422]
When the supply voltage to the gaming machine decreases and a power-off signal is output, a non-maskable interrupt process as shown in FIGS. 21 to 23 is started. During the process, no clear pulse is output to the watchdog timer circuit 162. Therefore, when the power supply voltage is restored and the watchdog timer circuit 162 is operating until it counts up, a return signal is output.
[0423]
FIG. 64 is a timing chart showing the output timing of the return signal and the like when the return signal is created by the software timer processing or watchdog timer circuit 162 described above. FIG. 64A illustrates an example where power supply to the gaming machine is stopped. The software timer process is started after the process at the time of power supply stop is completed and the standby state is entered. In addition, since the clear pulse is not output to the watchdog timer circuit 162 in the non-maskable interrupt process, the watchdog timer circuit 16 is actually started from the start of the power supply stop process. In either case, the time-up value (count-up value) is set so as not to time out until the power supply voltage becomes lower than the Vcc generation voltage value, so that no return signal is generated.
[0424]
When an instantaneous power interruption or the like occurs, as shown in FIG. 64 (B), the voltage level of VSL is recovered after a short period of decrease. Also in this case, when the voltage level of VSL becomes equal to or lower than the power-off signal output level, the power-off signal becomes low level, and the power supply stop process is started. Then, the CPU 56 enters a loop state after the end of the power supply stop process. If no control is performed, the loop process cannot be exited. In this case, the watchdog timer circuit 162 counts up and a return signal is generated.
[0425]
As shown in FIG. 62, in the main board 31, the return signal is input to the reset terminal of the CPU 56 via the AND circuit 161. Therefore, a system reset is applied to the CPU 56. As a result, the CPU 56 can get out of the standby state.
[0426]
FIG. 65 is a block diagram showing an example of a configuration in which timer processing is performed by hardware in the payout control board 37 when a return signal is not generated in the power supply board. In this example, the payout control board 37 is provided with a counter (watchdog timer circuit) 386 that functions as a watchdog timer. The watchdog timer circuit 386 counts the output pulse of the oscillation circuit 388, and when it counts up, generates a high-level pulse as a Q output. The pulse signal is logically inverted by an inverting circuit 387 and input to the AND circuit 385 as a return signal. The AND circuit 385 takes a logical product of the reset signal and the return signal and supplies the logical product to the reset terminal of the CPU 56.
[0427]
The count-up value is set to be equal to or longer than the time during which the voltage value of VSL decreases to a voltage capable of generating Vcc after the power-off signal becomes low level. Since the watchdog timer circuit 386 operates using Vcc as a power source, the count-up value is set to be equal to or greater than the value corresponding to the operable period of the watchdog timer circuit 386. Therefore, in general, the watchdog timer circuit 386 and other circuit components do not operate before the watchdog timer circuit 386 counts up and a return signal is output. Note that when the payout control CPU 371 performs payout control, a clear pulse is periodically given to the watchdog timer circuit 386. The output period of the clear pulse is shorter than the time until the watchdog timer circuit 386 counts up. Therefore, no pulse appears in the Q output of the watchdog timer circuit 386 when the payout control CPU 371 performs normal game control.
[0428]
FIG. 66 is a flowchart showing a part of the main process of the payout control means when the watchdog timer circuit 386 is provided. The process shown in FIG. 66 is executed following the processes of steps S701 to S714 shown in FIG. In this case, the watchdog timer clear process (step S761) is executed in the payout control process loop (steps S715, S751 to S761). Therefore, the watchdog timer clear process is executed every 2 ms.
[0429]
In the watchdog timer clear process (step S761), a process of outputting one pulse to the output port reaching the clear terminal of the watchdog timer circuit 386 is performed. Therefore, since the clear pulse is periodically given to the watchdog timer circuit 386 during the execution of the payout control process, the count-up is not performed.
[0430]
When the supply voltage to the gaming machine decreases and a power-off signal is output, the non-maskable interrupt process as shown in FIGS. 47 to 49 is started. During the processing, the clear pulse is not output to the watchdog timer circuit 386. Therefore, when the power supply voltage is restored and the watchdog timer circuit 386 is operating until it counts up, a return signal is output.
[0431]
As shown in FIG. 65, in the payout control board 37, the return signal is input to the reset terminal of the payout control CPU 371 via the AND circuit 385. Accordingly, a system reset is applied to the payout control CPU 371. As a result, the payout control CPU 371 can exit from the standby state.
[0432]
As described above, when the watchdog timer circuits 162 and 386 are provided in the main board 31 and the payout control board 37, a return signal can be generated by hardware. Moreover, not only when the power supply voltage is lowered but also when the control of the CPU 56 or the payout control CPU 371 enters an infinite loop for some reason, it is possible to get out of the loop state.
[0433]
The count-up value of the watchdog timer circuit 162 of the main board 31 is preferably larger than the count-up value of the watchdog timer circuit 386 of the payout control board 37. When the count-up value of the watchdog timer circuit 162 is larger, the return signal is supplied to the payout control means before the game control means. Therefore, the payout control means does not stand up first, and the payout control command from the game control means is not missed.
[0434]
Further, for example, the watchdog timer circuit 162 may be provided only on the main board 31, and a return signal from the watchdog timer circuit 162 may be supplied to the CPU 56 and supplied to the payout control board 37. In the case of such a configuration, the overall circuit configuration scale can be reduced. In such a configuration, it is preferable to place a delay circuit between the watchdog timer circuit 162 and the reset terminal of the CPU 56 so that the payout control means rises first.
[0435]
Further, the return signal from the watchdog timer circuits 162 and 386 may be input to the input port instead of being connected to the reset terminal of the CPU. In this case, the input port is monitored in the standby state in the power supply stop process, and when it is detected that the return signal is turned on, the process jumps to the beginning of the main process. Further, a return signal from the watchdog timer circuits 162 and 386 may be input to the CTC terminal of the CPU. In that case, the CTC interrupt is set in advance according to the input of the return signal. Also, interrupt permission is set in the standby state. When a CTC interrupt is applied, the process jumps to the beginning of the main process.
[0436]
In the above embodiment, the power supply stop process is executed in accordance with the NMI in the payout control board 37. However, the power-off signal is connected to the maskable terminal of the payout control CPU 371 and the maskable interrupt is executed. The power supply stop process may be executed by the process. Alternatively, a power-off signal may be input to the input port and the power supply stop process may be executed according to the input port check result.
[0437]
In each of the above-described embodiments, an infinite loop is used as a standby state. However, the present invention is not limited to this, and a control unit (CPU 56, 56) is used by using a HALT (halt) command or the like at the end of the power supply stop process of the control program. The control state of the payout control CPU 371) may be a standby state (a standby state in which an interrupt can be accepted). In this case, the signal input to the interrupt terminal becomes valid, the control state can be returned to the signal input trigger to the interrupt terminal, and the standby state return means can be configured with a simple configuration. it can.
[0438]
In each embodiment described above, the means for supplying backup power to the RAM may be provided for each control means (CPU 56, payout control CPU 371). That is, means for supplying backup power may be provided for each RAM including the backup RAM area. Further, the number of such means and mounting positions (whether they are mounted on the control board or the power supply board) may be configured in any manner.
[0439]
Further, in each of the above-described embodiments, the power supply from the power supply board 910 to the prize ball count switch 301A is made via the main board 31 but may be made via the payout control board 37. Alternatively, power may be directly supplied from the power supply board 910.
[0440]
Further, in each of the above-described embodiments, the power supply from the power supply board 910 to the ball lending count switch 301B is made via the payout control board 37, but may be made via the main board 31 ( For example, as described later, when the detection signal of the ball lending count switch 301B is input to the game control means). Alternatively, power may be directly supplied from the power supply board 910.
[0441]
In each of the above-described embodiments, the auxiliary power supply means supplies power to at least the winning ball count switch 301A and the ball lending count switch 301B after the detection signal is output from the power monitoring means. For example, power may be supplied to other than the prize ball count switch 301A and the ball lending count switch 301B (such as a winning detection switch), and power is supplied only to the prize ball count switch 301A and the ball lending count switch 301B. May be provided. If power is supplied only to the prize ball count switch 301A and the ball lending count switch 301B, the power consumption (charging capacity) of the auxiliary power supply means can be reduced.
[0442]
In each embodiment described above, the auxiliary power supply means may be provided for each electric component control means (CPU 56, payout control CPU 371).
[0443]
In each of the above-described embodiments, the detection signal of the ball lending count switch 301B is input only to the payout control means (the payout control CPU 371 provided in the payout control board 37). It may be configured to be input to the CPU 56) provided in the board 31, or may be input to both the payout control means and the game control means. Then, the game control means performs a detection signal input process (ball lending count switch detection process) of the ball lending count switch 301B in the game control process (specifically, the switch process of step S21 described above) and the power supply stop process. May be configured to execute. In this case, a buffer (rented ball number storage buffer) for storing data indicating the number of unpaid balls has been provided in the power supply backup area of the RAM 55 of the game control means. A process similar to the detection signal input process (prize ball count switch detection process) of 301A may be executed as a ball lending count switch detection process. In the game control process, a process similar to the above-described prize ball number subtraction process (see FIG. 34) may be executed as the lending ball number subtraction process. In such a configuration, the game control means has a function of executing processing related to signal exchange with the prepaid card unit 50 in the payout control means, and there has been a lending request using the payout control command. What is necessary is just to perform the process which transmits the information regarding the number of lending balls toward the payout control means.
[0444]
If comprised as mentioned above, it will become possible to perform the number management of a lending ball by a game control means. In particular, when the detection signal of the ball lending count switch 301B is input to both the payout control means and the game control means, the number management of the lending balls can be executed by both the game control means and the payout control means. Thus, it becomes possible to manage the number of rented balls more accurately.
[0445]
When the detection signal of the ball lending count switch 301B is input to the game control means, when the power supply to the gaming machine is stopped, the + 12V power supply voltage is maintained in a range where the switch can be driven at least for a period longer than the payout confirmation period. Then, the capacity of the capacitor 923 is determined so that the ball lending count switch 301B (or the winning ball count switch 301A and the ball lending count switch 301B) can be operated.
[0446]
It should be noted that the input processing module for the switch detection process in the power supply stop process and the input processing module for the switch detection process in the normal control may be used as a common module as described above. When the signal is input to the game control means, it can be applied to a ball lending count switch detection process executed by the game control means.
[0447]
In each of the above-described embodiments, the recording medium used in the recording medium processing apparatus (prepaid card unit 50) is a magnetic card (prepaid card). However, the recording medium is not limited to a magnetic card, and is a non-contact type or a contact type. The IC card may be used. In addition, when the recording medium processing device is configured to be able to identify the recording information based on the identification code, the recording medium can be read at least by the recording medium processing device such as an identification code that can identify the recording information It may be something that can be recorded on. Further, the recording medium may be a medium on which a predetermined information recording symbol such as a barcode is printed so as to be readable. Further, the shape of the recording medium is not limited to a card shape, and may be any shape such as a disk shape, a spherical shape, or a chip shape.
[0448]
In each of the above embodiments, the power supply monitoring unit (for example, the power supply monitoring IC 902) outputs a power-off signal when the power supply voltage reaches a predetermined value (for example, 22V). A digital signal obtained by digitally converting an AC wave related to an AC power supply (for example, AC 24 V) may be monitored, and a power-off signal may be output when the digital signal is interrupted for a predetermined period.
[0449]
Further, in each of the above-described embodiments, when the power supply monitoring unit (for example, the power supply monitoring IC 902) detects that the power supply voltage has reached a predetermined value (for example, 22V), the power-off process is executed. The system is reset when the system reset means (for example, the system reset circuit 65) detects that the power supply voltage has reached a predetermined value (for example, 9V). The system may be automatically reset after elapse. According to this configuration, when the power supply monitoring means detects that the power supply voltage has reached a predetermined value (for example, 22 V), even if the system reset means does not detect the power supply voltage after that, It will be possible to reset the system.
[0450]
The pachinko gaming machine of each of the above embodiments mainly gives a player a predetermined game value when the stop symbol of the special symbol variably displayed on the variable display unit 9 based on the start winning is a combination of the predetermined symbols. It was a first type pachinko game machine that can be used, but if there is a prize in a predetermined area of an electric game that is released based on a start prize, a second type pachinko game that can give a predetermined game value to a player 3rd type pachinko game where a predetermined right is generated or continued when there is a prize for a predetermined electric game that is released when the stop symbol of the pattern variably displayed based on the machine or the start winning combination becomes a combination of the predetermined pattern The present invention can be applied even to a machine.
[0451]
Furthermore, the present invention can be applied to a slot machine or the like provided with an electrical component for paying out the game medium, not limited to a pachinko game machine in which the game medium is a game ball.
[0452]
【The invention's effect】
As described above, in the invention according to claim 1, the gaming machine performs the detection signal input process from the payout game medium detection means to which power is supplied from the auxiliary power supply means in the power supply stop process. The game control means executes a timer interrupt setting process for setting a timer interrupt process that is started periodically after the recovery process transmits a recovery command indicating recovery of the control state to the payout control means. , Register return processing to restore the contents of the register, resume control, and the payout control means performs timer interrupt setting processing and register return processing on condition that the recovery command is received in the recovery processing After Since the control is resumed, it is possible to reliably detect the paid-out game medium in the power supply stop process, and the game control means manages the restart of the payout control means. Thus, there is an effect that it is possible to prevent a discrepancy in recognition regarding the payout of the game medium between the game control means and the payout control means.
[0454]
Claim 2 In the described invention, the game control means satisfies a predetermined prize game medium payout condition. When The payout number designation command indicating the number of prize game medium payouts can be transmitted to the game device, and the payout number designation command is transmitted as a recovery command. There is no increase in the types of commands sent to.
[0456]
Claim 3 In the described invention, the game control means and the payout control means return the power supply. When All of the multiple recovery conditions to determine whether to restore the control state before the power supply stopped When The recovery process was executed and at least one of the multiple recovery conditions was not satisfied When Therefore, the control state is prevented from being restored in an uncertain state.
[0457]
Claim 4 In the described invention, after the power supply is started and the initialization process or the recovery process is executed, the game control means instructs to prohibit the game medium from being paid out based on establishment of a predetermined payout prohibition condition. Since it is configured to send a specified command and a payout permission state specifying command that permits payout of game media based on cancellation of the payout prohibition condition, the payout control means establishes the payout prohibition condition It can be recognized whether or not.
[0458]
Claim 5 In the described invention, the game control means satisfies any one of a plurality of payout prohibition conditions. When A withdrawal prohibition state designation command is sent to the device, the withdrawal prohibition condition is canceled, and no withdrawal prohibition condition is established. When In addition, regardless of which of the plurality of payout prohibition conditions is satisfied, it is configured to transmit a common payout permission state designation command indicating that payout of game media is permitted. The load related to information transmission from the control means to the payout control means is further reduced.
[0459]
Claim 6 In the described invention, the storage unit for detecting whether or not a predetermined amount or more of game media is stored in the storage unit storing the paid-out game media is provided, and the payout prohibition condition is the storage state. A predetermined amount or more of game media is stored in the storage unit by the detecting means. Is detected Therefore, it is possible to prevent the payout control means from executing the game medium payout process even though a predetermined amount or more of the game medium is stored in the storage unit. can do.
[0460]
Claim 7 In the described invention, the game medium running out detecting means for detecting whether or not a predetermined amount or more of the game media supplied to the paying out means is secured, the payout prohibition condition is determined by the game medium running out detecting means. It was detected that a predetermined amount or more was not secured When Therefore, the payout control means may execute a game medium payout process even though a predetermined amount or more of the game media to be supplied to the payout means is not secured. Can be prevented.
[0461]
Claim 8 In the described invention, the game control means is configured to use the payout prohibition state designation command or the payout permission state designation command as the recovery command. Therefore, even if a recovery command is provided, the game control means changes from the game control means to the payout control means. The number of commands sent does not increase.
[0462]
Claim 9 In the described invention, the game control means performs a process of saving the program address data related to the address of the control program in the fluctuation data storage means as the data necessary for restoring the control state in the power supply stop process. In the recovery process, the control is resumed based on the program address data stored in the fluctuation data storage means, so that the control executed when the power supply is stopped is surely restored. be able to.
[0463]
Claim 10 In the described invention, the game control means and the payout control means save the data indicating the result of the detection signal input process from the payout game medium detection means in the power supply stop process in the fluctuation data storage means for the recovery process. Thus, the process of updating the unpaid-out number data is executed based on the data indicating the result of the input process, so that the input process in the power supply stop process can be quickly performed.
[0464]
Claim 11 In the described invention, after the game control means and the payout control means execute the output port clear process that initializes the output state of the output port in the power supply stop process, the detection signal from the payout game medium detection means Since it is set as the structure which performs an input process, it can avoid that electric power is consumed by the electrical component which is not related to the input process of the detection signal from a payout game medium detection means.
[0465]
Claim 12 In the described invention, the game control means and the payout control means execute the detection signal input process from the payout game medium detection means in the power supply stop process, and then prohibit the access to the fluctuation data storage means Therefore, the contents of the fluctuation data storage means can be prevented from being destroyed after the power supply stop process.
[0466]
Claim 13 In the described invention, the detection maintenance period is configured to be set to a period longer than the period until the game medium paid out by the payout means reaches the detection position of the payout game medium detection means. The released game medium can be reliably detected.
[Brief description of the drawings]
FIG. 1 is a front view of a pachinko gaming machine as viewed from the front.
FIG. 2 is a front view showing the front surface of the game board with the glass door frame removed.
FIG. 3 is a rear view of the gaming machine as seen from the back side.
FIG. 4 is a rear view of the mechanism plate to which various members are attached as viewed from the back side of the gaming machine.
FIG. 5 is an exploded perspective view showing a configuration example of a ball dispensing device.
FIG. 6 is a front view showing an exposed portion of a power supply board installed on the game board.
FIG. 7 is a block diagram showing a circuit configuration example of a game control board (main board).
FIG. 8 is a block diagram showing a circuit configuration example of a payout control board.
FIG. 9 is a block diagram illustrating a circuit configuration example of a power supply substrate.
FIG. 10 is a block diagram illustrating a configuration example of a reset management circuit.
FIG. 11 is a block diagram illustrating an example of a configuration around a CPU.
FIG. 12 is a timing chart for explaining the operation of a counter which is an example of timer means.
FIG. 13 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 14 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 15 is an explanatory diagram illustrating an example of bit assignment of an input port.
FIG. 16 is a flowchart showing main processing executed by the CPU on the 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 recovery process.
FIG. 18 is a flowchart showing gaming state recovery processing.
FIG. 19 is a flowchart showing a 2 ms timer interrupt process.
FIG. 20 is an explanatory diagram showing an example of forming a switch timer in a RAM.
FIG. 21 is a flowchart illustrating an example of switch processing.
FIG. 22 is a flowchart illustrating an example of a switch check process.
FIG. 23 is a flowchart illustrating an example of a winning ball process.
FIG. 24 is a flowchart showing an example of a prize ball process.
FIG. 25 is a flowchart illustrating an example of a prize ball process.
FIG. 26 is a flowchart showing a switch-on check process.
FIG. 27 is an explanatory diagram of a configuration example of an input determination value table.
FIG. 28 is an explanatory diagram showing a configuration example of a command transmission table and the like.
FIG. 29 is an explanatory diagram showing an example of a command form of a control command.
FIG. 30 is a timing chart showing the relationship between an 8-bit control signal and an INT signal that constitute a control command.
FIG. 31 is an explanatory diagram showing an example of the contents of a payout control command.
FIG. 32 is a flowchart illustrating a processing example of command set processing;
FIG. 33 is a flowchart showing a command transmission processing routine.
FIG. 34 is a flowchart showing an example of a winning ball number subtraction process.
FIG. 35 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 36 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 37 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 38 is a timing chart showing a power supply drop and an NMI signal when power supply to a gaming machine is stopped.
FIG. 39 is a timing chart showing an example of how detection signal input processing is performed;
FIG. 40 is a block diagram illustrating an example of a configuration around a payout control CPU.
FIG. 41 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 42 is an explanatory diagram showing an example of bit assignment of an input port.
FIG. 43 is a flowchart showing main processing executed by the CPU in the payout control board.
FIG. 44 is a flowchart showing a 2 ms timer interrupt process.
FIG. 45 is a flowchart showing a payout state recovery process.
FIG. 46 is an explanatory diagram showing a configuration example of a RAM in the payout control unit.
FIG. 47 is an explanatory diagram of a configuration example of a reception command buffer.
FIG. 48 is a flowchart showing an example of command reception processing of a payout control CPU.
FIG. 49 is an explanatory diagram showing an example of forming a switch timer in the RAM of the payout control means.
FIG. 50 is a flowchart illustrating an example of switch processing.
FIG. 51 is a flowchart showing an example of a payout stop state setting process.
FIG. 52 is a flowchart illustrating an example of command analysis execution processing.
FIG. 53 is a flowchart showing an example of a prepaid card unit control process.
FIG. 54 is a flowchart showing an example of a ball lending control process.
FIG. 55 is a flowchart showing an example of a ball lending control process.
FIG. 56 is a flowchart showing an example of a prize ball control process.
FIG. 57 is a flowchart showing an example of a prize ball control process.
FIG. 58 is a flowchart showing another example of non-maskable interrupt processing (processing when power supply is stopped).
FIG. 59 is a flowchart showing another example of non-maskable interrupt processing (processing when power supply is stopped).
FIG. 60 is a flowchart showing another example of non-maskable interrupt processing (processing when power supply is stopped).
FIG. 61 is a conceptual diagram showing an outline of the present invention.
FIG. 62 is a block diagram showing a part of another configuration example of the game control means.
FIG. 63 is a flowchart showing another example of the 2 ms timer interrupt process executed by the CPU on the main board.
FIG. 64 is a timing diagram for explaining the operation of the software timer and watchdog timer circuit;
FIG. 65 is a flowchart showing another example of the power supply stop process in the game control means.
FIG. 66 is a flowchart showing another example of the power supply stop process in the payout control means.
[Explanation of symbols]
1 Pachinko machine
31 Game control board (main board)
37 Dispensing control board
56 CPU
65 System reset circuit (power supply monitoring means)
97 Ball dispenser
301A Prize ball count switch
301B Ball rental count switch
310 Sorting solenoid
311 Sorting member
371 CPU for payout control
910 Power supply board
902 IC for power monitoring (power monitoring means)
914 Power switch
921 Clear switch
923,924 capacitor

Claims (13)

遊技媒体を用いて所定の遊技を行うことが可能であり、所定の払出条件が成立したことにもとづいて遊技媒体を払い出す遊技機であって、
前記遊技媒体の払い出しを行う払出手段と、
前記払出手段によって払い出された遊技媒体を検出する払出遊技媒体検出手段と、
遊技の進行を制御する遊技制御手段と、
前記遊技制御手段からのコマンドにもとづいて前記払出手段の制御を行う払出制御手段と、
遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、
遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件が成立したときに検出信号を出力する電源監視手段と、
前記電源監視手段による前記検出信号が出力された後少なくとも所定の検出維持期間が経過するまでの期間において前記払出遊技媒体検出手段による検出を可能な状態とするために当該払出遊技媒体検出手段に電力を供給可能な補助電力供給手段とを備え、
前記遊技制御手段および前記払出制御手段は、それぞれ
払い出すべき遊技媒体数のうち未払出の遊技媒体数を示す未払出数データが記憶され、前記変動データ記憶手段に含まれる未払出遊技媒体数記憶手段を備え、
前記払出遊技媒体検出手段によって前記払出手段により払い出された遊技媒体が検出されたことにもとづいて前記未払出遊技媒体数記憶手段に記憶された未払出数データが示す遊技媒体数を減算する処理を実行し、
前記電源監視手段からの検出信号に応じて制御状態を復旧させるために必要なデータとしてレジスタの内容を含むデータを前記変動データ記憶手段に保存するための電力供給停止時処理を実行し、電力供給が復帰し所定の復旧条件が成立したことを条件に前記変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を電力供給が停止する前の状態に復旧させる復旧処理を実行し、前記所定の復旧条件が成立しなかったときには制御状態を初期化する初期化処理を実行、前記電力供給停止時処理にて、前記補助電力供給手段から電力が供給される前記払出遊技媒体検出手段からの検出信号の入力処理を行い、
前記遊技制御手段は、前記復旧処理にて、制御状態の復旧を示す復旧コマンドを前記払出制御手段に送信した後、定期的に起動されるタイマ割込処理の設定を行うタイマ割込設定処理を実行するとともに、レジスタの内容を復旧させるレジスタ復帰処理を行って制御を再開し、
前記払出制御手段は、前記復旧処理にて、前記復旧コマンドを受信したことを条件に前記タイマ割込設定処理と前記レジスタ復帰処理を行った後、前記払出手段の制御を再開する
ことを特徴とする遊技機。
A gaming machine capable of playing a predetermined game using a game medium and paying out a game medium based on a predetermined payout condition being satisfied,
A payout means for paying out the game medium;
And payout game medium detection means for detecting the thus paid out game media in the dispensing means,
Game control means for controlling the progress of the game;
A payout control means for controlling the payout means based on a command from the game control means;
Fluctuating data storage means capable of holding stored contents for a predetermined period even when power supply to the gaming machine is stopped,
Power monitoring means for monitoring a state of a predetermined power source used in the gaming machine and outputting a detection signal when a detection condition relating to the stop of the supply of power to the gaming machine is satisfied;
In order to enable detection by the payout game medium detection means at least until a predetermined detection maintenance period elapses after the detection signal is output by the power supply monitoring means, power is supplied to the payout game medium detection means. Auxiliary power supply means capable of supplying
The game control means and the dispensing control means, respectively,
Unpaid number data indicating the number of unpaid game media out of the number of game media to be paid out is stored, and comprises unpaid game media number storage means included in the variation data storage means,
A process of subtracting the number of game media indicated by the unpaid-out number data stored in the unpaid-out game medium number storage means based on the detection of the game media paid out by the payout means by the payout game medium detection means Run
Execute power supply stop processing for storing data including the contents of the register in the fluctuation data storage means as data necessary for restoring the control state according to the detection signal from the power supply monitoring means, and supply power And a recovery process for restoring the control state to the state before the power supply is stopped based on the stored contents stored in the variation data storage means on condition that a predetermined recovery condition is satisfied, when the predetermined restoration condition is not satisfied performs initialization processing for initializing the control state at the power supply stop process, the payout game media detection to which electric power is supplied from the auxiliary power supply means Input the detection signal from the means,
The game control means performs a timer interrupt setting process for setting a timer interrupt process that is periodically started after transmitting a recovery command indicating recovery of a control state to the payout control means in the recovery process. At the same time, perform register return processing to restore the register contents and resume control.
The payout control means restarts control of the payout means after performing the timer interrupt setting process and the register return process on the condition that the recovery command is received in the recovery process. To play.
遊技制御手段は、所定の景品遊技媒体払出条件が成立したときに景品遊技媒体払出個数を示す払出個数指定コマンドを送信可能であり、復旧コマンドとして前記払出個数指定コマンドを送信する
請求項記載の遊技機。
Game control means can transmit a payout number designation command showing the prize game medium payout number when a predetermined prize game media payout condition is met, according to claim 1, wherein transmitting the payout number specified command as the recovery command Gaming machine.
遊技制御手段および払出制御手段は、電力供給が復帰したときには、電力供給が停止する前の制御状態に復旧させるか否かを決定するための複数の復旧条件がすべて成立したときに復旧処理を実行し、前記複数の復旧条件のうち少なくとも1つの条件が不成立であったときに初期化処理を実行する
請求項1または請求項2記載の遊技機。
Game control means and the dispensing control means when a power supply is restored, the recovery process when a plurality of recovery conditions for power supply to determine whether to restore the control state before the stop is established all The gaming machine according to claim 1 or 2 , wherein an initialization process is executed when at least one of the plurality of recovery conditions is not satisfied.
遊技制御手段は、電力供給が開始され初期化処理または復旧処理を実行した後、所定の払出禁止条件の成立にもとづいて遊技媒体の払い出しを禁止することを指示する払出禁止状態指定コマンドを送信し、前記払出禁止条件が解除されたことにもとづいて遊技媒体の払い出しを許可する払出許可状態指定コマンドを送信する
請求項1から請求項のうちのいずれかに記載の遊技機。
The game control means transmits a payout prohibition state designation command instructing prohibition of game medium payout based on establishment of a predetermined payout prohibition condition after power supply is started and initialization processing or recovery processing is executed. The gaming machine according to any one of claims 1 to 3 , wherein a payout permission state designation command for permitting the payout of game media is transmitted based on the cancellation of the payout prohibition condition.
遊技制御手段は、複数の払出禁止条件のうちいずれか一つの条件が成立したときに払出禁止状態指定コマンドを送信し、払出禁止条件が解除され、いずれの払出禁止条件も成立していない状態になったときに、複数の払出禁止条件のうちいずれの条件が成立していたかに関わらず、遊技媒体の払い出しを許可することを示す共通の払出許可状態指定コマンドを送信する
請求項記載の遊技機。
The game control means transmits a payout prohibition state designation command when any one of a plurality of payout prohibition conditions is satisfied, the payout prohibition condition is canceled, and no payout prohibition condition is satisfied. when it becomes, regardless of whether any of the conditions of the plurality of payout prohibition condition was satisfied, the game according to claim 4, wherein transmitting the common payout permission state designating command indicating the permission of the payout of game media Machine.
払い出された遊技媒体が貯留される貯留部に所定量以上の遊技媒体が貯留されているか否かを検出するための貯留状態検出手段を備え、
払出禁止条件は、前記貯留状態検出手段により前記貯留部に所定量以上の遊技媒体が貯留されていると検出されたときに成立する条件を含む
請求項または請求項記載の遊技機。
A storage state detecting means for detecting whether or not a predetermined amount or more of game media is stored in a storage unit storing the paid-out game media;
Payout prohibition conditions, claim 4 or claim 5 gaming machine according includes a condition that is satisfied when the predetermined amount or more of the game medium to the reservoir by the reservoir state detection means is detected as being stored.
払出手段に供給される遊技媒体が所定量以上確保されているか否かを検出するための遊技媒体切れ検出手段を含み、
払出禁止条件は、前記遊技媒体切れ検出手段により遊技媒体が所定量以上確保されていないことが検出されたときに成立する条件を含む
請求項から請求項のうちのいずれかに記載の遊技機。
A game medium running out detecting means for detecting whether or not a predetermined amount or more of game media to be supplied to the payout means is secured,
The game according to any one of claims 4 to 6 , wherein the payout prohibition condition includes a condition that is established when it is detected by the game medium outage detecting means that a predetermined amount or more of game media is not secured. Machine.
遊技制御手段は、復旧コマンドとして払出禁止状態指定コマンドまたは払出許可状態指定コマンドを使用する
請求項から請求項のうちのいずれかに記載の遊技機。
The gaming machine according to any one of claims 4 to 7 , wherein the game control means uses a payout prohibition state designation command or a payout permission state designation command as a recovery command.
遊技制御手段は、電力供給停止時処理にて、制御状態を復旧させるために必要なデータとして制御プログラムのアドレスに関連するプログラムアドレスデータを変動データ記憶手段に保存する処理を行い、復旧処理にて、前記変動データ記憶手段に保存されていたプログラムアドレスデータにもとづいて制御を再開する
請求項1から請求項のうちのいずれかに記載の遊技機。
The game control means performs processing for saving program address data related to the address of the control program in the fluctuation data storage means as data necessary for restoring the control state in the process at the time of power supply stop, and in the restoration process. The game machine according to any one of claims 1 to 8 , wherein control is resumed based on program address data stored in the variation data storage means.
技制御手段および払出制御手段は、電力供給停止時処理にて払出遊技媒体検出手段からの検出信号の入力処理の結果を示すデータ変動データ記憶手段に保存し、復旧処理にて前記入力処理の結果を示すデータにもとづい未払出数データを更新する処理を実行する
請求項1から請求項のうちのいずれかに記載の遊技機。
Yu skill control means and the payout control means stores data indicating a result of the input processing of the detection signal from the payout game medium detection means by the power supply stop process variation data storage means, the input processing in the recovery process the gaming machine according to any one of claims 1 to 9 for executing processing for updating the unpaid coin number data on the basis of the data indicating the result of.
遊技制御手段および払出制御手段からの信号を出力するための出力ポートを含み、
前記遊技制御手段および前記払出制御手段は、電力供給停止時処理にて、前記出力ポートの出力状態を初期化する出力ポートクリア処理を実行した後、払出遊技媒体検出手段からの検出信号の入力処理を行う
請求項1から請求項10のうちいずれかに記載の遊技機。
Including an output port for outputting signals from the game control means and the payout control means;
The game control means and the payout control means execute an output port clear process for initializing the output state of the output port in the power supply stop process, and then input a detection signal from the payout game medium detection means. The gaming machine according to any one of claims 1 to 10 .
遊技制御手段および払出制御手段は、電力供給停止時処理にて、払出遊技媒体検出手段からの検出信号の入力処理を実行した後、変動データ記憶手段へのアクセスを禁止する処理を実行する
請求項1から請求項11のうちいずれかに記載の遊技機。
The game control means and the payout control means execute a process of prohibiting access to the variable data storage means after executing the detection signal input process from the payout game medium detecting means in the power supply stop process. The gaming machine according to any one of claims 1 to 11 .
検出維持期間は、払出手段により払い出された遊技媒体が払出遊技媒体検出手段の検出位置に到達するまでの期間以上の期間に設定される
請求項1から請求項12のうちいずれかに記載の遊技機。
Detection sustain period, game media paid out by the payout means according to any one of claims 1 to be set to a period of more than a period until the detection position of the payout game medium detection means of claim 12 Gaming machine.
JP2001375076A 2001-12-07 2001-12-07 Game machine Expired - Fee Related JP3640634B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001375076A JP3640634B2 (en) 2001-12-07 2001-12-07 Game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001375076A JP3640634B2 (en) 2001-12-07 2001-12-07 Game machine

Publications (3)

Publication Number Publication Date
JP2003175166A JP2003175166A (en) 2003-06-24
JP3640634B2 true JP3640634B2 (en) 2005-04-20
JP2003175166A5 JP2003175166A5 (en) 2005-07-14

Family

ID=19183508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001375076A Expired - Fee Related JP3640634B2 (en) 2001-12-07 2001-12-07 Game machine

Country Status (1)

Country Link
JP (1) JP3640634B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127995A (en) * 2016-03-01 2016-07-14 株式会社大都技研 Game machine

Also Published As

Publication number Publication date
JP2003175166A (en) 2003-06-24

Similar Documents

Publication Publication Date Title
JP3857131B2 (en) Game machine
JP3737426B2 (en) Game machine
JP3798286B2 (en) Game machine
JP3676290B2 (en) Game machine
JP3699041B2 (en) Game machine
JP4383699B2 (en) Game machine
JP3640634B2 (en) Game machine
JP3640636B2 (en) Game machine
JP3737424B2 (en) Game machine
JP3640635B2 (en) Game machine
JP3857133B2 (en) Game machine
JP3708481B2 (en) Game machine
JP3699042B2 (en) Game machine
JP3621672B2 (en) Game machine
JP3828408B2 (en) Game machine
JP3699029B2 (en) Game machine
JP3828409B2 (en) Game machine
JP3857132B2 (en) Game machine
JP3621670B2 (en) Game machine
JP3737425B2 (en) Game machine
JP3621671B2 (en) Game machine
JP3699030B2 (en) Game machine
JP3699032B2 (en) Game machine
JP3699031B2 (en) Game machine
JP3699033B2 (en) Game machine

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041124

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20041124

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20050105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050118

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: 20080128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110128

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: 20110128

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: 20110128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees