JP3859950B2 - Game machine - Google Patents

Game machine Download PDF

Info

Publication number
JP3859950B2
JP3859950B2 JP2000269417A JP2000269417A JP3859950B2 JP 3859950 B2 JP3859950 B2 JP 3859950B2 JP 2000269417 A JP2000269417 A JP 2000269417A JP 2000269417 A JP2000269417 A JP 2000269417A JP 3859950 B2 JP3859950 B2 JP 3859950B2
Authority
JP
Japan
Prior art keywords
command
ball
payout control
payout
interrupt
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 - Lifetime
Application number
JP2000269417A
Other languages
Japanese (ja)
Other versions
JP2002078925A (en
JP2002078925A5 (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 JP2000269417A priority Critical patent/JP3859950B2/en
Publication of JP2002078925A publication Critical patent/JP2002078925A/en
Publication of JP2002078925A5 publication Critical patent/JP2002078925A5/ja
Application granted granted Critical
Publication of JP3859950B2 publication Critical patent/JP3859950B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、遊技者の操作に応じて遊技が行われるパチンコ遊技機、コイン遊技機、スロット機等の遊技機に関する。
【0002】
【従来の技術】
遊技機の一例として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】
遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。
【0004】
特別図柄を表示する可変表示部を備えた第1種パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】
また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に確定的な、または一時的な表示結果が導出表示されている可変表示部の表示態様が特定の表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「大当り」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】
そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板にコマンドとして送信される。なお、以下、払出制御手段およびその他の制御手段は、遊技機に設けられている各種電気部品を制御するので、それらを電気部品制御手段と呼ぶことがある。
【0007】
【発明が解決しようとする課題】
遊技機には、遊技制御手段を初めとする種々の電気部品制御手段が搭載されている。一般に、各電気部品制御手段はマイクロコンピュータで構成される。従って、電気部品制御手段は、マイクロコンピュータが実行するプログラムで実現される。また、マイクロコンピュータには、出力ポートやタイマ/カウンタ回路等の種々の周辺回路が内蔵されているものも多い。そして、CPUや周辺回路は、複数種類の動作モードを備えているのが一般的である。また、周辺回路が内蔵されていなくても、一般に、マイクロコンピュータは、外付けの周辺回路と共働して制御を実行する。マイクロコンピュータを使用する遊技機の開発者は、CPUや周辺回路の動作モードとして適切なモードを選択してプログラムを作成する必要がある。モード設定が適切でないと、周辺回路制御のための制御プログラム部分が複雑化したり、余分なハードウェア回路を設けたりしなければならないからである。すなわち、マイクロコンピュータを使用する遊技機では、適切な動作モードを設定しないと、開発工数が増大したり遊技機コストが増大するといった課題がある。
【0008】
さらに、遊技制御手段とは別体に種々の電気部品制御手段が設けられている場合には、遊技制御手段から各電気部品制御手段に制御コマンドを送信しなければならない。各電気部品制御手段における電気部品制御用マイクロコンピュータは、それぞれ独自に制御動作を実行する。すると、各電気部品制御用マイクロコンピュータの動作状態に関わりなく遊技制御手段における遊技制御用マイクロコンピュータはコマンドを送出する。その場合、例えば、電気部品制御用マイクロコンピュータが複雑な処理を行っているときにコマンドが送出されると、バッファ領域内のコマンド読み出し処理が遅れてしまう。そのような状況で遊技制御用マイクロコンピュータが次のコマンドを送出すると、コマンドを受信する電気部品制御手段において、バッファ領域内のコマンドが読み出されないうちに次のコマンドがバッファ領域に格納されてしまう。すなわち、電気部品制御手段において、遊技制御手段から送出されたコマンドが消失してしまう。すると、一連のコマンドのうち欠落してしまうものが生ずるので、電気部品制御手段が実行する制御が、本来行われるべき制御と異なってしまう。
【0009】
そこで、本発明は、適切な動作モードで制御を実行することができ、その結果、開発工数や遊技機コストを増大させず、さらに、電気部品制御手段が確実にコマンドを受信することができる遊技機を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明による遊技機は、遊技者が所定の遊技を行うことが可能な遊技機であって、技の進行を制御するとともに指令情報としてコマンドを出力する遊技制御用マイクロコンピュータ遊技制御用マイクロコンピュータから出力されるコマンドを受信し、受信したコマンドに応じて遊技機に設けられる電気部品を制御する複数のマイクロコンピュータとを備え、複数のマイクロコンピュータは、入賞に応じて遊技制御用マイクロコンピュータから出力される賞遊技媒体の払出個数を特定可能な賞遊技媒体コマンドにもとづいて賞遊技媒体の払出制御処理を実行する払出制御用マイクロコンピュータを含み、賞遊技媒体コマンドを含むコマンドは2バイトのコマンドデータで構成され、遊技制御用マイクロコンピュータは、複数のマイクロコンピュータに対してコマンドデータコマンドデータの取込を指示する取込信号とを出力するためのコマンド出力処理を実行し、コマンド出力処理において複数のマイクロコンピュータに対するコマンドデータおよび取込信号を同一のサブルーチンをコールして出力し、遊技制御用マイクロコンピュータは、コマンドにおける1バイト目のコマンドデータを出力して取込信号を出力した後、所定期間経過後に2バイト目のコマンドデータを出力し、払出制御用マイクロコンピュータは、所定の割込条件が成立した場合に割込処理プログラムを実行し、遊技機に対する電源が投入されると、払出制御処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行うとともに、遊技制御用マイクロコンピュータからの賞遊技媒体コマンドを受信するコマンド受信割込処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行い、遊技制御用マイクロコンピュータからの取込信号の入力にもとづいて、設定された実行アドレスのコマンド受信割込処理を実行するとともに、受信した賞遊技媒体コマンドのコマンドデータを同時期に複数格納可能なバッファエリアを有し、遊技制御用マイクロコンピュータからの賞遊技媒体コマンドのコマンドデータをバッファエリアに格納し、遊技制御用マイクロコンピュータは、所定期間を、複数のマイクロコンピュータのそれぞれがコマンドデータを受信するために要する期間のうちの最大の期間以上の値として、コマンドデータを出力することを特徴とする。
【0011】
払出制御用マイクロコンピュータは、所定の条件でカウンタを更新し、カウンタの内容に応じて所定の割込を発生する割込発生手段を備え、割込発生手段による割込は、払出制御処理の実行契機として使用され、コマンド受信割込処理を実行するための割込処理プログラムは、払出制御処理を実行するための割込処理プログラムに優先して実行されるように構成されていてもよい。
【0013】
払出制御用マイクロコンピュータが、コマンド受信割込処理で、入力したコマンドが適正であるか否かの判定を行うように構成されていてもよい。
【0014】
遊技制御用マイクロコンピュータが、複数の賞遊技媒体コマンドを同時期に格納可能なバッファエリアを有し、出力するコマンドをバッファエリアに格納するように構成されていてもよい
【0015】
遊技制御用マイクロコンピュータが、賞遊技媒体コマンドをバッファエリアに格納し、払出制御用マイクロコンピュータの動作状態(例えば払出停止状態や払出可能状態)を指定するためのコマンドをバッファエリアとは別の領域に格納して賞遊技媒体コマンドよりも優先して出力するように構成されていてもよい。
【0016】
割込発生手段は、例えば、所定のクロック信号によって更新されるレジスタが所定値になったことに応じて所定の割込を発生する。
【0017】
払出制御処理を実行するための割込処理プログラムが、割込許可状態で実行されるように構成されていてもよい。
【0018】
コマンド受信割込は、例えば、取込信号の入力によって更新されるレジスタが所定値になったことに応じて発生する。
【0019】
払出制御用マイクロコンピュータが、コマンド受信割込処理が終了するまで割込を許可しないように構成されていてもよい。
【0020】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機やスロット機等であってもよい。
【0021】
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3がある。打球供給皿3の下部には、打球供給皿3からあふれた遊技球を貯留する余剰玉受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
【0022】
遊技領域7の中央付近には、複数種類の図柄を可変表示するための可変表示部(特別図柄表示装置)9と7セグメントLEDによる普通図柄表示器(普通図柄表示装置)10とを含む可変表示装置8が設けられている。可変表示部9には、例えば「左」、「中」、「右」の3つの図柄表示エリアがある。可変表示装置8の側部には、打球を導く通過ゲート11が設けられている。通過ゲート11を通過した打球は、玉出口13を経て始動入賞口14の方に導かれる。通過ゲート11と玉出口13との間の通路には、通過ゲート11を通過した打球を検出するゲートスイッチ12がある。また、始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ17によって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0023】
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。この実施の形態では、開閉板20が大入賞口を開閉する手段となる。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(Vゾーン)に入った入賞球はV入賞スイッチ22で検出される。また、開閉板20からの入賞球はカウントスイッチ23で検出される。可変表示装置8の下部には、始動入賞口14に入った入賞球数を表示する4個の表示部を有する始動入賞記憶表示器18が設けられている。この例では、4個を上限として、始動入賞がある毎に、始動入賞記憶表示器18は点灯している表示部を1つずつ増やす。そして、可変表示部9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
【0024】
遊技盤6には、複数の入賞口19,24が設けられ、遊技球のそれぞれの入賞口19,24への入賞は、対応して設けられている入賞口スイッチ19a,19b,24a,24bによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、遊技効果LED28aおよび遊技効果ランプ28b,28cが設けられている。
【0025】
そして、この例では、一方のスピーカ27の近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、他方のスピーカ27の近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
【0026】
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
【0027】
打球発射装置から発射された打球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が通過ゲート11を通ってゲートスイッチ12で検出されると、普通図柄表示器10の表示数字が連続的に変化する状態になる。また、打球が始動入賞口14に入り始動口スイッチ17で検出されると、図柄の変動を開始できる状態であれば、可変表示部9内の図柄が回転を始める。図柄の変動を開始できる状態でなければ、始動入賞記憶を1増やす。
【0028】
可変表示部9内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球が特定入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
【0029】
停止時の可変表示部9内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄=小当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、高確率状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
【0030】
次に、パチンコ遊技機1の裏面に配置されている各基板について説明する。
図2に示すように、パチンコ遊技機1の裏面では、枠体2A内の機構板の上部に玉貯留タンク38が設けられ、パチンコ遊技機1が遊技機設置島に設置された状態でその上方から遊技球が球貯留タンク38に供給される。球貯留タンク38内の遊技球は、誘導樋39を通って賞球ケース40Aで覆われる球払出装置に至る。
【0031】
遊技機裏面側では、可変表示部9を制御する可変表示制御ユニット29、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37、およびモータの回転力を利用して打球を遊技領域7に発射する打球発射装置が設置されている。さらに、装飾ランプ25、遊技効果LED28a、遊技効果ランプ28b,28c、賞球ランプ51および球切れランプ52に信号を送るためのランプ制御基板35、スピーカ27からの音声発生を制御するための音声制御基板70および打球発射装置を制御するための発射制御基板91も設けられている。
【0032】
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910が設けられ、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤34が設置されている。なお、図2には、ランプ制御基板35および音声制御基板70からの信号を、枠側に設けられている遊技効果LED28a、遊技効果ランプ28b,28c、賞球ランプ51および球切れランプ52に供給するための電飾中継基板A77が示されているが、信号中継の必要に応じて他の中継基板も設けられる。
【0033】
図3はパチンコ遊技機1の機構板を背面からみた背面図である。球貯留タンク38に貯留された玉は誘導樋39を通り、図3に示されるように、球切れスイッチ(払出のための遊技媒体が不足しているか否かを検出する球切れ検出スイッチ手段)187a,187bを通過して球供給樋186a,186bを経て球払出装置97に至る。球切れスイッチ187a,187bは遊技球通路内の遊技球の有無を検出するスイッチであるが、球タンク38内の補給球の不足を検出する球切れ検出スイッチ167も設けられている。以下、球切れスイッチ187a,187bを、球切れスイッチ187と表現することがある。
【0034】
球払出装置97から払い出された遊技球は、連絡口45を通ってパチンコ遊技機1の前面に設けられている打球供給皿3に供給される。連絡口45の側方には、パチンコ遊技機1の前面に設けられている余剰玉受皿4に連通する余剰玉通路46が形成されている。
【0035】
入賞にもとづく景品球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると遊技球は、余剰玉通路46を経て余剰玉受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が満タンスイッチ(払い出された遊技媒体を貯留する貯留部の貯留遊技媒体が所定量を越えたか否かを検出する満タン検出スイッチ手段)48を押圧して満タンスイッチ48がオンする。その状態では、球払出装置97内のステッピングモータの回転が停止して球払出装置97の動作が停止するとともに打球発射装置の駆動も停止する。
【0036】
次に、機構板36に設置されている中間ベースユニットの構成について説明する。中間ベースユニットには、球供給樋186a,186bや球払出装置97が設置される。図4に示すように、中間ベースユニットの上下には連結凹突部182が形成されている。連結凹突部182は、中間ベースユニットと機構板36の上部ベースユニットおよび下部ベースユニットを連結固定するものである。
【0037】
中間ベースユニットの上部には通路体184が固定されている。そして、通路体184の下部に球払出装置97が固定されている。通路体184は、カーブ樋174(図3参照)によって流下方向を左右方向に変換された2列の遊技球を流下させる払出球通路186a,186bを有する。払出球通路186a,186bの上流側には、球切れスイッチ187a,187bが設置されている。球切れスイッチ187a,187bは、払出球通路186a,186b内の遊技球の有無を検出するものであって、球切れスイッチ187a,187bが遊技球を検出しなくなると球払出装置97における払出モータ(図4において図示せず)の回転を停止して球払出が不動化される。
【0038】
なお、球切れスイッチ187a,187bは、払出球通路186a,186bに27〜28個程度の遊技球が存在することを検出できるような位置に係止片188によって係止されている。すなわち、球切れスイッチ187a,187bは、賞球の一単位の最大払出量(この実施の形態では15個)および球貸しの一単位の最大払出量(この実施の形態では100円:25個)以上が確保されていることが確認できるような位置に設置されている。
【0039】
通路体184の中央部は、内部を流下する遊技球の球圧を弱めるように、左右に湾曲する形状に形成されている。そして、払出球通路186a,186bの間に止め穴189が形成されている。止め穴189の裏面は中間ベースユニットに設けられている取付ボスがはめ込まれる。その状態で止めねじがねじ止めされて、通路体184は中間ベースユニットに固定される。なお、ねじ止めされる前に、中間ベースユニットに設けられている係止突片185によって通路体184の位置合わせを行えるようになっている。
【0040】
通路体184の下方には、球払出装置97に遊技球を供給するとともに故障時等には球払出装置97への遊技球の供給を停止する球止め装置190が設けられている。球止め装置190の下方に設置される球払出装置97は、直方体状のケース198の内部に収納されている。ケース198の左右4箇所には突部が設けられている。各突部が中間ベースユニットに設けられている位置決め突片に係った状態で、中間ベースユニットの下部に設けられている弾性係合片にケース198の下端がはめ込まれる。
【0041】
図5は球払出装置97の分解斜視図である。球払出装置97の構成および作用について図5を参照して説明する。この実施形態における球払出装置97は、ステッピングモータ(払出モータ)289がスクリュー288を回転させることによりパチンコ玉を1個ずつ払い出す。なお、球払出装置97は、入賞にもとづく景品球だけでなく、貸し出すべき遊技球も払い出す。
【0042】
図5に示すように、球払出装置97は、2つのケース198a,198bを有する。それぞれのケース198a,198bの左右2箇所に、球払出装置97の設置位置上部に設けられた位置決め突片に当接される係合突部280が設けられている。また、それぞれのケース198a,198bには、球供給路281a,281bが形成されている。球供給路281a,281bは湾曲面282a,282bを有し、湾曲面282a,282bの終端の下方には、球送り水平路284a,284bが形成されている。さらに、球送り水平路284a,284bの終端に球排出路283a,283bが形成されている。
【0043】
球供給路281a,281b、球送り水平路284a,284b、球排出路283a,283bは、ケース198a,198bをそれぞれ前後に区画する区画壁295a,295bの前方に形成されている。また、区画壁295a,295bの前方において、玉圧緩衝部材285がケース198a,198b間に挟み込まれる。玉圧緩衝部材285は、球払出装置97に供給される玉を左右側方に振り分けて球供給路281a,281bに誘導する。
【0044】
また、玉圧緩衝部材285の下部には、発光素子(LED)286と受光素子(図示せず)とによる払出モータ位置センサが設けられている。発光素子286と受光素子とは、所定の間隔をあけて設けられている。そして、この間隔内に、スクリュー288の先端が挿入されるようになっている。なお、玉圧緩衝部材285は、ケース198a,198bが張り合わされたときに、完全にその内部に収納固定される。
【0045】
球送り水平路284a,284bには、払出モータ289によって回転させられるスクリュー288が配置されている。払出モータ289はモータ固定板290に固定され、モータ固定板290は、区画壁295a,295bの後方に形成される固定溝291a,291bにはめ込まれる。その状態で払出モータ289のモータ軸が区画壁295a,295bの前方に突出するので、その突出の前方にスクリュー288が固定される。スクリュー288の外周には、払出モータ289の回転によって球送り水平路284a,284bに載置された遊技球を前方に移動させるための螺旋突起288aが設けられている。
【0046】
そして、スクリュー288の先端には、発光素子286を収納するように凹部が形成され、その凹部の外周には、2つの切欠部292が互いに180度離れて形成されている。従って、スクリュー288が1回転する間に、発光素子286からの光は、切欠部292を介して受光素子で2回検出される。
【0047】
つまり、発光素子286と受光素子とによる払出モータ位置センサは、スクリュー288を定位置で停止するためのものであり、かつ、払出動作が行われた旨を検出するものである。なお、発光素子286、受光素子および払出モータ289からの配線は、まとめられてケース198a,198bの後部下方に形成された引出穴から外部に引き出されコネクタに結線される。
【0048】
遊技球が球送り水平路284a,284bに載置された状態において、払出モータ289が回転すると、スクリュー288の螺旋突起288aによって、遊技球は、球送り水平路284a,284b上を前方に向かって移動する。そして、遂には、球送り水平路284a,284bの終端から球排出路283a,283bに落下する。このとき、左右の球送り水平路284a,284bからの落下は交互に行われる。すなわち、スクリュー288が半回転する毎に一方から1個の遊技球が落下する。従って、1個の遊技球が落下する毎に、発光素子286からの光が受光素子によって検出される。
【0049】
図4に示すように、球払出装置97の下方には、球振分部材(切替部材)311が設けられている。球振分部材311は、振分ソレノイド310によって駆動される。例えば、ソレノイド310のオン時には、球振分部材311は右側に倒れ、オフ時には左側に倒れる。振分ソレノイド310の下方には、近接スイッチによる賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが設けられている。入賞にもとづく賞球時には、球振分部材311は右側に倒れ、球排出路283a,283bからの玉はともに賞球カウントスイッチ301Aを通過する。また、球貸し時には、球振分部材311は左側に倒れ、球排出路283a,283bからの玉はともに球貸しカウントスイッチ301Bを通過する。従って、球払出装置97は、賞球時と球貸し時とで払出流下路を切り替えて、所定数の遊技媒体の払出を行うことができる。
【0050】
このように、球振分部材311を設けることによって、2条の玉流路を落下してきた玉は、賞球カウントスイッチ301Aと球貸しカウントスイッチ301Bとのうちのいずれか一方しか通過しない。従って、賞球であるのか球貸しであるのかの判断をすることなく、賞球カウントスイッチ301Aと球貸しカウントスイッチ301Bの検出出力から、直ちに賞球数または球貸し数を把握することができる。
【0051】
なお、この実施の形態では、電気的駆動源の駆動によって遊技球を払い出す球払出装置として、ステッピングモータの回転によって遊技球が払い出される球払出装置97を用いることにするが、その他の駆動源によって遊技球を送り出す構造の球払出装置を用いてもよいし、ソレノイド等の電気的駆動源の駆動によってストッパを外し遊技球の自重によって払い出しがなされる構造の球払出装置を用いてもよい。また、この実施の形態では、球払出装置97は賞球にもとづく景品球と貸出要求にもとづく貸し球の双方を払い出すが、それぞれについて払出装置が設けられていてもよい。
【0052】
図6は、主基板31における回路構成の一例を示すブロック図である。なお、図6には、払出制御基板37、ランプ制御基板35、音声制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ12、始動口スイッチ17、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ19a,19b,24a,24b、満タンスイッチ48、球切れスイッチ187および賞球カウントスイッチ301Aからの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
【0053】
なお、図6には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。
【0054】
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示部9の画像表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部機器に対して出力する情報出力回路64が搭載されている。
【0055】
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段の一例であるRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
【0056】
さらに、主基板31には、電源投入時に基本回路53をリセットするためのシステムリセット回路65が設けられている。
【0057】
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
【0058】
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、ゲート通過記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52の表示制御を行う。また、特別図柄を可変表示する可変表示部9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
【0059】
図7は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図7に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート57に入力される。満タンスイッチ48は、余剰球受皿4の満タンを検出するスイッチである。また、球切れスイッチ187(187a,187b)からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力される。
【0060】
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出禁止を指示する払出制御コマンドを送出する。払出禁止を指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
【0061】
さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【0062】
入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート570は1ビットの取込信号としてのストローブ信号(INT信号)を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
【0063】
また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
【0064】
払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
【0065】
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して球貸しカウントスイッチ301Bからの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号はあ、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。
【0066】
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、端数表示スイッチ152、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
【0067】
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。
【0068】
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
【0069】
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
【0070】
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
【0071】
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球を貸し出すように構成した場合でも本発明を適用できる。すなわち、遊技機は遊技球の払出として賞球払出のみを行う場合でも本発明を適用可能である。
【0072】
図8は、電源基板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は、ソレノイド駆動電源となる。
【0073】
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC922(図8では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC922の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。この結果、コンデンサ923は、後述する補助駆動電源の役割を果たす。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0074】
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図8には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0075】
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が遮断されたときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0076】
なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。
【0077】
また、電源基板910には、電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって電源断の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電源断が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0078】
電源監視用IC902が電源断を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
【0079】
よって、+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電源断を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0080】
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復帰制御を行っても、遊技機のコストはさほど上昇しない。
【0081】
なお、図8に示された構成では、電源監視用IC902の検出出力(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出出力を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。
【0082】
図9は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図9に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電源断信号を発生する。VSLは、遊技機における直流電圧のうちで最大のものであり、この例では+30Vである。従って、CPU56は、割込処理によって電源断の発生を確認することができる。
【0083】
図9には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【0084】
図9に示すように、リセットIC651からのリセット信号は、NAND回路947に入力されるとともに、反転回路(NOT回路)944を介してカウンタIC941のクリア端子に入力される。カウンタIC941は、クリア端子への入力がローレベルになると、発振器943からのクロック信号をカウントする。そして、カウンタIC941のQ5出力がNOT回路945,946を介してNAND回路947に入力される。また、カウンタIC941のQ6出力は、フリップフロップ(FF)942のクロック端子に入力される。フリップフロップ942のD入力はハイレベルに固定され、Q出力は論理和回路(OR回路)949に入力される。OR回路949の他方の入力には、NAND回路947の出力がNOT回路948を介して導入される。そして、OR回路949の出力がCPU56のリセット端子に接続されている。このような構成によれば、電源投入時に、CPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、CPU56は、確実に動作を開始する。
【0085】
そして、例えば、電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
【0086】
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電発生時の遊技状態に復帰することができる。
【0087】
なお、図9に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
【0088】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。PIOは、PB0〜PB3の4ビットおよびPA0〜PA7の1バイトのポートを有する。PB0〜PB3およびPA0〜PA7のポートは、入力/出力いずれにも設定できる。
【0089】
図10および図11は、この実施の形態における出力ポートの割り当てを示す説明図である。図10に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのストローブ信号(INT信号)の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータは出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータは出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータは出力ポート3から出力される。そして、図11に示すように、音声制御基板70に送出される音声制御コマンドの8ビットのデータは出力ポート4から出力される。
【0090】
また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板2おを開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
【0091】
図12は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図12に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ24a、入賞口スイッチ24b、入賞口スイッチ19a、入賞口スイッチ19b、始動口スイッチ17、カウントスイッチ23、V入賞スイッチ(特定領域スイッチ)22、ゲートスイッチ12の検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号が入力される。
【0092】
次に遊技機の動作について説明する。
図13は、主基板31におけるCPU56が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0093】
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0094】
この実施の形態で用いられているCPU56には、マスク可能な割込(INT)のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0095】
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0096】
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0097】
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0098】
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0099】
そして、電源断時にバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の停電発生NMI処理)が行われたか否か確認する(ステップS7)。この実施の形態では、不測の電源断が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、CPU56は初期化処理を実行する。
【0100】
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電源断時にバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図14に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0101】
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0102】
チェック結果が正常であれば(ステップS8)、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電源断時の状態に戻すための遊技状態復旧処理を行う(ステップS9)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0103】
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、払出コマンド格納ポインタなど)に初期値を設定する初期値設定処理も行われる。さらに、サブ基板(ランプ制御基板35、払出制御基板37、音声制御基板70、図柄制御基板80)を初期化するための処理を実行する(ステップS13)。サブ基板を初期化する処理とは、例えば初期設定コマンドを送出する処理である。
【0104】
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS14)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS1において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS15)。
【0105】
この実施の形態では、CPU56の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図15に示すように、CPU56は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS12)。
【0106】
初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、タイマ割込が発生したか否かの監視(ステップS17)の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理(ステップS16)も実行される。
【0107】
CPU56は、ステップS17において、タイマ割込が発生したことを認識すると、ステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,19b,24a,24b等のスイッチの状態を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0108】
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0109】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS23)。CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS24)。
【0110】
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0111】
次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
【0112】
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
【0113】
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。ソレノイド回路59は、駆動指令に応じてソレノイド16,21を駆動し、可変入賞球装置15または開閉板20を開状態または閉状態とする。
【0114】
そして、CPU56は、各入賞口への入賞を検出するためのスイッチ17,23,19a,19b,24a,24bの検出出力にもとづく賞球数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞検出に応じて払出制御基板37に払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、払出制御コマンドに応じて球払出装置97を駆動する。
【0115】
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
【0116】
また、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセット等がなされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
【0117】
以上に説明したように、この実施の形態では、CTCやPIOを内蔵するCPU56に対して、初期設定処理で割込モード2が設定される。従って、内蔵CTCを用いた定期的なタイマ割込処理を容易に実現できる。また、タイマ割込処理をプログラム上の任意の位置に設置できる。また、内蔵PIOを用いたスイッチ検出処理等を容易に割込処理で実現できる。その結果、プログラム構成が簡略化され、プログラム開発工数が低減する等の効果を得ることができる。
【0118】
なお、CTCおよびPIOの設定(ステップS5)が完了した後に、IEO/SCLK0端子から出力されるクロック信号の周波数を決めるための内部レジスタの設定を行ってもよい。その際、クロック信号の周波数は、遊技制御処理の起動周期である2msに応じた周波数とされる。そのような設定を行うと、IEO/SCLK0端子から、遊技制御処理の起動周期に応じた周波数のクロック信号がCPU56から外部出力される。すると、CPU56の外部において遊技制御処理の起動周期に対応した信号を観測することができる。よって、そのような信号を用いて、遊技機外部においてCPU56による遊技制御処理をシミュレーションしたり、CPU56の動作状況を試験したりすることが容易になる。
【0119】
また、図10および図11に示された出力ポート0〜6のうち、出力ポート0,1,2,3,4は、遊技制御処理のうちの特別図柄コマンド制御処理(ステップS25)、普通図柄コマンド制御処理(ステップS27)、賞球処理(ステップS31)等でアクセスされる。また、出力ポート5は、情報出力処理(ステップS29)でアクセスされ、出力ポート6は、特別図柄プロセス処理(ステップS25)や普通図柄プロセス処理(ステップS26)でアクセスされる。
【0120】
次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図16に示すように、スイッチタイマは検出信号の数Nだけ設けられている。この実施の形態ではN=12である。また、RAMにおいて、各スイッチタイマのアドレスは、入力ポートのビット配列順(図12に示された上から下への順)と同じ順序で並んでいる。
【0121】
図17は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図13に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS71)。次いで、処理数として「8」を設定し(ステップS72)、入賞口スイッチ24aのためのスイッチタイマのアドレスをポインタにセットする(ステップS73)。そして、スイッチチェック処理サブルーチンをコールする(ステップS74)。
【0122】
図18は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS81)。また、クリアデータ(00)をセットする(ステップS82)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS83)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS84)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ24aの検出信号がキャリーフラグに押し出される。
【0123】
キャリーフラグの値が「1」であれば(ステップS85)、すなわち入賞口スイッチ24aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS87)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS88,S89)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0124】
キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ24aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS86)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0125】
その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS90)、処理数を1減算する(ステップS91)。処理数が0になっていなければステップS82に戻る。そして、ステップS82〜S92の処理が繰り返される。
【0126】
ステップS82〜S92の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0127】
CPU56は、スイッチ処理のステップS75において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS76)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS77)。そして、スイッチチェック処理サブルーチンをコールする(ステップS78)。
【0128】
スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS82〜S92の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0129】
なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
【0130】
図19〜図21は、遊技制御処理におけるステップS31の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、入賞口スイッチ19a,19b,24a,24b、カウントスイッチ23および始動口スイッチ17が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
【0131】
賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブル(図23参照)のオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
【0132】
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図23に示されている。図23に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【0133】
スイッチオンチェックルーチンの一例が図22に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図19には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
【0134】
また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS156)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS157)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS158)。
【0135】
スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS159)、球切れフラグがセットされる(ステップS160)。なお、図19には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
【0136】
そして、CPU56は、払出停止状態であるか否か確認する(ステップS201)。払出停止状態は、払出制御基板37に対して払出停止状態指定のコマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS202)。
【0137】
いずれかがオン状態に変化したときには、払出停止状態指定に関するコマンド送信テーブルをセットし(ステップS203)、コマンドセット処理をコールする(ステップS206)。ステップS203では、払出停止状態指定に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定に関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS202において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理(ステップS203)は行われない。
【0138】
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS204)。ともにオフ状態となったときには、払出可能状態指定に関するコマンド送信テーブルをセットし(ステップS205)、コマンドセット処理をコールする(ステップS207)。ステップS205では、払出可能状態指定に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定に関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0139】
さらに、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS121)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS122)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ24aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS123)。そして、スイッチオンチェックルーチンがコールされる(ステップS124)。
【0140】
スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図23参照)の先頭アドレスを設定する(ステップS101)。そして、そのアドレスにオフセットを加算し(ステップS102)、加算後のアドレスからスイッチオン判定値をロードする(ステップS103)。
【0141】
次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS104)、そのアドレスにオフセットを加算し(ステップS105)、加算後のアドレスからスイッチタイマの値をロードする(ステップS106)。各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【0142】
そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS107)。それらが一致すれば、スイッチオンフラグをセットする(ステップ108)。
【0143】
この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ24aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS125)。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS130)、最初に設定された繰り返し数分だけ実行されるので(ステップS128,S129)、結局、入賞口スイッチ19a,19b,24a,24bについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。
【0144】
スイッチオンフラグがセットされたら、10個の賞球個数指示に関するコマンド送信バッファ設定処理を行う(ステップS126)。コマンド送信バッファ設定処理では、払出制御コマンド用のコマンド送信バッファに所定のデータが設定された後、コマンド送信カウンタが+1される。また、総賞球数格納バッファの格納値に10を加算する(ステップS127)。
【0145】
総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。
【0146】
次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS131)、スイッチタイマのアドレスのオフセットとして「4」を設定する(ステップS132)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「4」は始動口スイッチ17に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS133)。
【0147】
スイッチオンチェックルーチンにおいて、始動口スイッチ17に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS134)。スイッチオンフラグがセットされたら、6個の賞球個数指示に関するコマンド送信バッファ設定処理を行う(ステップS135)。コマンド送信バッファ設定処理では、払出制御コマンド用のコマンド送信バッファに所定のデータが設定された後、コマンド送信カウンタが+1される。また、総賞球数格納バッファの格納値に6を加算する(ステップS136)。
【0148】
次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS221)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS222)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS223)。
【0149】
スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS224)。スイッチオンフラグがセットされたら、15個の賞球個数指示に関するコマンド送信バッファ設定処理を行う(ステップS225)。コマンド送信バッファ設定処理では、払出制御コマンド用のコマンド送信バッファに所定のデータが設定された後、コマンド送信カウンタが+1される。また、総賞球数格納バッファの格納値に15を加算する(ステップS226)。
【0150】
そして、コマンドセット処理をコールする(ステップS227)。コマンドセット処理の動作については後で詳しく説明するが、1つ以上の払出制御コマンドがコマンド送信バッファに格納されている場合には、コマンド送信バッファに格納された払出制御コマンドが払出制御基板37に送信される。以上のようにして、遊技制御手段から払出制御基板37に賞球個数を指示する払出制御コマンドを出力しようとするときに、コマンド送信バッファの設定が行われた後、コマンド送信バッファに設定された払出制御コマンドが払出制御基板37に送出される。
【0151】
なお、コマンドセット処理の入力引数となるコマンド送信テーブルのアドレスは(図28のステップS331参照)、賞球個数を指示する払出制御コマンド送出の場合には、未送出コマンドが格納されているコマンド送信バッファのアドレスである。そして、総賞球数バッファの内容が0でない場合、すなわち、まだ賞球残がある場合には、CPU56は、賞球払出中フラグをオンする(ステップS228,S229)。
【0152】
また、CPU56は、賞球払出中フラグがオンしているときには(ステップS230)、球払出装置97から実際に払い出された賞球数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う(ステップS231)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
【0153】
賞球処理において、賞球個数指示に関するコマンドは、コマンド送信バッファに格納される(ステップS126,S135,S225)。しかし、この実施の形態では、払出停止状態指定に関するコマンドおよび払出可能状態指定に関するコマンドは、コマンド送信バッファには格納されず、それらのコマンドが設定されているROM領域のアドレスがコマンドセット処理サブルーチン(ステップS206,S207)への入力情報となっている。また、そのように構成するのではなく、ステップS203およびS205において、払出停止状態指定に関するコマンドおよび払出可能状態指定に関するコマンドをコマンド送信バッファとは異なるバッファ領域(RAM領域)に格納し、そのバッファ領域のアドレスをコマンドセット処理サブルーチン(ステップS206,S207)への入力情報としてもよい。
【0154】
そして、賞球処理において、払出停止状態に関するチェックが入賞に関するスイッチチェックよりも先に実行されている。従って、払出停止状態指定に関するコマンドおよび払出可能状態指定に関するコマンドは、賞球個数指示に関するコマンドに優先して払出制御基板37に送出される。ここで、賞球個数指示に関するコマンドが格納されるコマンド送信バッファとは異なる領域に払出停止状態指定に関するコマンドおよび払出可能状態指定に関するコマンドが格納されるので、優先して送出する制御が容易になる。
【0155】
図20および図21に示された賞球処理における賞球個数を指定するための払出制御コマンドの設定処理では、各入賞口スイッチがオンしたことが判定されたときに、オン判定された入賞口スイッチに対応する賞球数が総賞球数格納バッファの値に加算される。しかし、入賞口スイッチがオンしたことが判定されたときに、賞球個数を指定するためのデータをリングバッファ形式のコマンド送信バッファに格納するまでの処理を行い、送信するコマンドのデータが格納されている領域を示す読出ポインタの値に従ってコマンド送信バッファから当該コマンドを出力するコマンドセット処理をコールする前に、出力するデータに応じた賞球数を総賞球数格納バッファの値に加算するようにしてもよい。なお、コマンドセット処理については後で詳しく説明する(図28参照)。また、メモリ容量節減のために、リングバッファ形式のコマンド送信バッファに賞球個数を特定するためのデータ(EXTデータに対応)のみを格納し、賞球個数を示すためのMODEデータを格納しないようにしてもよい。そのように構成する場合には、賞球個数を特定するためのデータを出力するときに、所定のメモリ領域(例えばROM領域)からMODEデータを読み出して出力し、次いで、コマンド送信バッファからEXTデータに対応したデータを読み出して出力する。
【0156】
次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から各電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信バッファの設定が行われる。図24(A)は、コマンド送信バッファの一構成例を示す説明図である。1つのコマンド送信バッファは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0157】
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。この実施の形態では、コマンドデータ2のビット7(ワークエリア参照ビット)が0あれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。ワークエリア参照ビットが1あれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示す。また、この実施の形態では各制御コマンド毎にコマンド送信テーブルが用意されている。
【0158】
図24(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(メイン処理のステップS31)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、図柄出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(メイン処理のステップS27)において、INTデータに「02(H)」を設定する。
【0159】
INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音声制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0160】
この実施の形態では、各制御コマンドについて、それぞれ複数のコマンド送信バッファが用意され、使用すべきコマンド送信バッファはポインタで指定される。また、複数のコマンド送信バッファはリングバッファとして使用される。例えば、払出制御コマンドについて、図24(C)に示すように、12個のコマンド送信バッファが用意されている。従って、CPU56は、例えば、賞球処理において、賞球個数を示す払出制御コマンドを送出するときに、コマンド送信個数カウンタが指しているコマンド送信バッファに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。そして、コマンド送信個数カウンタを更新する。そして、コマンド送信個数カウンタの値が12になると、その値を0に戻す。
【0161】
図25は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。なお、図25に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。
【0162】
図26は、遊技制御基板から他の各電気部品制御基板に対する制御コマンドを構成する8ビットの制御信号と取込信号としてのINT信号(ストローブ信号)との関係を示すタイミング図である。各電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。図26に示すように、MODEまたはEXTのデータが出力ポートに出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をハイレベル(オン状態とする)からローレベル(オフ状態とする)に立ち下げる。また、そこからBで示される期間が経過するとINT信号をオン状態に立ち上げる。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。2バイト目のデータに関して、A,Bの期間は、1バイト目の場合と同様である。このように、取込信号には、所定時間のオンデータ期間と所定時間のオフデータ期間とが存在する。
【0163】
Aの期間は、CPU56が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。また、B,Cの期間は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。B,Cの期間では、信号線上のデータは変化しない。すなわち、B,Cの期間が経過するまでデータ出力が維持される。
【0164】
この実施の形態では、払出制御基板37への払出制御コマンド、図柄制御基板80への表示制御コマンド、ランプ制御基板35へのランプ制御コマンドおよび音声制御基板70への音声制御コマンドは、同一のコマンド送信処理ルーチン(共通モジュール)を用いて送出される。そこで、B,Cの期間すなわち1バイト目に関するINT信号がオフ状態になってから2バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【0165】
なお、各電気部品制御手段は、INT信号がオン状態(ハイレベル)からオフ状態(ローレベル)になったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。
【0166】
B,Cの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【0167】
この実施の形態では、CPU56は、(11.776/2)MHzのシステムクロックで動作している。そして、具体的には、Aの期間に138ステート(1ステート=[2/11.776]μs)かけ、Bの期間に82ステートかけ、Cの期間に251ステートかけている。従って、A,Cの期間(ハイレベル期間)はBの期間(ローレベル期間)よりも長い。この実施の形態では電気部品制御手段はINT信号がローレベルに変化することによって割込処理が起動され割込処理によって制御コマンドを取り込むのであるが、例えば、INT信号を入力ポートに入力し、ポートのレベル監視(ローレベルが所定期間継続したか否かの監視)にもとづいて制御コマンド受信処理を開始するような場合には、ローレベル期間がより短く設定されることによって、ノイズ等に起因する誤受信を防止することができる。
【0168】
図27は、払出制御コマンドの内容の一例を示す説明図である。図27に示された例において、MODE=FF(H),EXT=00(H)のコマンドFF00(H)は、払出可能状態を指定する払出制御コマンドである。MODE=FF(H),EXT=01(H)のコマンドFF01(H)は、払出停止状態を指定する払出制御コマンドである。また、MODE=F0(H)のコマンドF0XX(H)は、賞球個数を指定する払出制御コマンドである。EXTである「XX」が払出個数を示す。
【0169】
払出制御手段は、主基板31の遊技制御手段からFF01(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、FF00(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【0170】
なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号がオン状態になることであり、認識可能に1回だけ送出されるとは、この例では、払出制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけオン状態になることである。
【0171】
各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間オン状態になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に御コマンドを送出する際に、コマンド送信バッファに設定されているINTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0172】
図28は、コマンドセット処理(ステップS206,S207,S227)の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレス(送信信号指示手段としてのポインタの内容)をスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。なお、賞球個数を示す払出制御コマンドは図24に示されたコマンド送信バッファに格納されているので、賞球個数を示す払出制御コマンドを送出する場合には、コマンド送信テーブルを指すアドレスとは、実際には、コマンド送信バッファを指すアドレスのことである。
【0173】
そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0174】
図29は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【0175】
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
【0176】
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
【0177】
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート3のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0178】
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音声制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされるコマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したIOアドレスが設定されている。
【0179】
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【0180】
また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0181】
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータを反転してポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音声制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したINT信号がオフ状態(ローレベル)になる。
【0182】
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図26のタイミング図に示されたINT信号(制御信号INT)のオフ期間(ローレベル期間=B期間)を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(この例ではオール「1」)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はオン状態(ハイレベル)になる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、1つ目のINT信号の立ち下がりからEXTデータ出力開始までの期間を設定するための処理である。
【0183】
従って、ステップS367でウェイトカウンタに設定される値は、1つ目のINT信号の立ち下がりからEXTデータ出力開始までの期間が、制御コマンド受信対象となる全ての電気部品制御手段(サブ基板に搭載されているCPU等)が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、その期間が、ステップS351〜S359の処理に要する時間よりも長くなるような値である。
【0184】
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図28に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし(ステップS339)、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する(ステップS340)。そして、そのアドレスが指すエリアのデータを引数2にロードする(ステップS341)。
【0185】
コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定されている。よって、以上の処理によって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされ、ワークエリア参照ビットの値が「0」であれば、コマンドデータ2の内容がそのまま引数2にロードされる。なお、コマンド拡張データアドレステーブルからEXTデータが読み出される場合でも、そのデータのビット7は「0」である。
【0186】
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。その後、CPU56は、コマンド送信テーブルのアドレスを復帰し(ステップS343)、コマンド送信テーブルを指す読出ポインタの値を更新する(ステップS344)。読出ポインタの値が図24(C)に示すコマンドコマンド送信バッファ12の位置を越えた場合には、読出ポインタの値が0に戻される。
【0187】
以上のようにして、1つの制御信号出力モジュールであるコマンド制御処理モジュールによって、2バイト構成の各制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段では、取込信号としてのINT信号の立ち下がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち上がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図26に示された場合と逆にしてもよい。
【0188】
また、この実施の形態では、複数のコマンド送信テーブルがリングバッファとして用いられ、図28に示すコマンドセット処理では、読出ポインタが指しているコマンド送信テーブル(コマンド送信バッファ)を対象としてコマンド出力制御が行われ、コマンド送信バッファにデータを設定する処理では、コマンド送信個数カウンタが指すコマンド送信バッファを対象としてコマンド設定処理が行われる。従って、同時に複数のコマンド送出要求が発生しても、それらの要求にもとづくコマンド出力処理は問題なく実行される。
【0189】
さらに、この実施の形態では、1回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球個数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数の指令信号を送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音声制御コマンド、払出制御コマンド)毎に、それぞれ複数のコマンド送信テーブルが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドのコマンド送信テーブルに制御コマンドが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドを送出するように構成することも可能である。すなわち、同時に(1メイン処理起動周期での意味)、それらの制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドと同時に送出されることはない。
【0190】
図30は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS241)。そして、格納値が0であるか否か確認する(ステップS242)。0であれば処理を終了する。
【0191】
0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS243)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS244)。一致したら(ステップS245)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS246)。
【0192】
また、賞球情報カウンタの値を+1する(ステップS247)。そして、賞球情報カウンタの値が10以上であれば(ステップS248)、賞球情報出力カウンタの値を+1するとともに(ステップS249)、賞球情報カウンタの値を−10する(ステップS250)。なお、賞球情報出力カウンタの値は、図13に示されたメイン処理における情報出力処理(ステップS29)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図11参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
【0193】
そして、総賞球数格納バッファの格納値が0になったら(ステップS251)、賞球払出中フラグをクリアし(ステップS252)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS253)、ランプ制御コマンドの送出処理を実行する(ステップS254)。
【0194】
次に、遊技制御手段以外の電気部品制御手段において制御コマンド受信処理が行われる場合の例として、払出制御手段において払出制御コマンドの受信が行われる場合について説明する。
【0195】
図31は、払出制御用CPU371周りの一構成例を示すブロック図である。図31に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって電源断の発生を確認することができる。
【0196】
払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の立下りに応じて割込が発生することになる。
【0197】
払出制御基板37には、システムリセット回路975も搭載されているが、この実施の形態では、システムリセット回路975におけるリセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、電源断時には、リセットIC976からの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
【0198】
リセットIC976が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0199】
+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復帰することができる。
【0200】
なお、図31に示された構成では、システムリセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図9に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
【0201】
図32は、この実施の形態における出力ポートの割り当てを示す説明図である。図32に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
【0202】
図33は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図33に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜2には、それぞれ、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、モータ位置センサの検出信号入力される。ビット3〜5には、カードユニット50からのBRDY信号、BRQ信号およびVL信号が入力される。
【0203】
図34は、払出制御用CPU371のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
【0204】
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0205】
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭番地が特定される。タイマ割込処理ではタイマ割込フラグがセットされ、メイン処理でタイマ割込フラグがセットされていることが検知されると、払出制御処理が実行される。すなわち、タイマ割込処理では、電気部品制御処理の一例である払出制御処理を実行するための設定がなされる。
【0206】
また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【0207】
カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭番地が特定される。
【0208】
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始番地を設定することができる。
【0209】
CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。すなわち、コマンド受信割込のためのレジスタの初期値が設定される。また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CH3のレジスタ値はシステムクロックの1/256周期で減算される。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。すなわち、タイマ割込のためのレジスタの初期値が設定される。
【0210】
以上のように、初期設定処理において、周辺回路が割込要求ととともに出力する割込ベクタに従って割込処理の実行アドレスを指定できるような割込モード(具体的には割込モード2)を設定する。また、内蔵デバイスレジスタの初期化が行われる。適切な動作モードで払出制御を実行することができ、その結果、開発工数や遊技機コストを低減することができる。
【0211】
なお、CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【0212】
そして、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS707)。すなわち、例えば、主基板31のCPU56の処理と同様に、電源断時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【0213】
バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0214】
チェック結果が正常であれば(ステップS708)、払出制御用CPU371は、内部状態を電源断時の状態に戻すための払出状態復旧処理を行う(ステップS709)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
【0215】
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。
【0216】
この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図35に示すように、払出制御用CPU371は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS721)。なお、図35には割込を許可することも明示されているが(ステップS720)、2msタイマ割込処理では、最初に割込許可状態に設定される。すなわち、2msタイマ割込処理中には割込許可状態になってので、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【0217】
払出制御用CPU371は、ステップS724において、タイマ割込フラグがセットされたことを検出するとステップS751以降の払出制御処理を実行する。以上の制御によって、この実施の形態では、払出制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
【0218】
払出制御処理において、払出制御用CPU371は、まず、中継基板72を介して入力ポート372bに入力される賞球カウントスイッチ301A、球貸しカウントスイッチ301Bがオンしたか否かを判定する(スイッチ処理:ステップS751)。
【0219】
次に、払出制御用CPU371は、センサ(例えば、払出モータ289の回転数を検出するモータ位置センサ)からの信号入力状態を確認してセンサの状態を判定する等の処理を行う(入力判定処理:ステップS752)。払出制御用CPU371は、さらに、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS753)。
【0220】
次いで、払出制御用CPU371は、主基板31から払出停止指示コマンドを受信していたら払出停止状態に設定し、払出開始指示コマンドを受信していたら払出停止状態の解除を行う(ステップS754)。また、プリペイドカードユニット制御処理を行う(ステップS755)。
【0221】
次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
【0222】
さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
【0223】
なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
【0224】
次いで、エラー検出処理が行われ、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。
【0225】
なお、出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
【0226】
図36は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。
【0227】
そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
【0228】
従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電源断が生じても、所定期間内に電源復旧すれば、バックアップRAM領域に記憶される賞球処理および球貸し処理を続行できる。従って、遊技者に与えられる不利益を低減することができる。
【0229】
図37は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、確定コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
【0230】
図38は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は払出制御用CPU371のCLK/TRG2端子に入力されている。よって、主基板31からのINT信号が立下ると、タイマカウンタレジスタCLK/TRG2の値が0になって払出制御用CPU371に割込がかかり、図38に示す払出制御コマンドの受信処理が開始される。
【0231】
なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音声制御手段でも、同様のコマンド受信処理が実行されている。
【0232】
払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート372a(図7参照)からデータを読み込む(ステップS851)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである(図25参照)。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す確定コマンドバッファに格納する(ステップS853)。
【0233】
払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(確定コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0234】
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す確定コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである(図25参照)。
【0235】
なお、ステップS854における確認結果が1バイト目をまだ受信していないという場合には処理を終了する。このような制御によって、1バイト目受信前に2バイト目を受信した場合には、そのデータは無効とされる。すなわち、確定コマンドバッファには格納されない。
【0236】
ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、割込許可に設定する(ステップS859)。
【0237】
コマンド受信割込処理中は割込禁止状態になっている。上述したように、2msタイマ割込処理中は割込許可状態になっているので、2msタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に2msタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板31からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるCの期間(図26参照)をどの程度にすればよいのかを正確に判断することができる。
【0238】
また、払出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【0239】
図39は、ステップS751のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用CPU371は、賞球カウントスイッチ301Aがオン状態を示しているか否か確認する(ステップS751a)。オン状態を示していれば、払出制御用CPU371は、賞球カウントスイッチオンカウンタを+1する(ステップS751b)。賞球カウントスイッチオンカウンタは、賞球カウントスイッチ301Aのオン状態を検出した回数を計数するためのカウンタである。
【0240】
そして、賞球カウントスイッチオンカウンタの値をチェックし(ステップS751c)、その値が2になっていれば、1個の賞球の払出が行われたと判断する。1個の賞球の払出が行われたと判断した場合には、払出制御用CPU371は、賞球未払出カウンタ(総合個数記憶に格納されている賞球数)を−1する(ステップS751d)。
【0241】
ステップS751aにおいて賞球カウントスイッチ301Aがオン状態でないことが確認されると、払出制御用CPU371は、賞球カウントスイッチオンカウンタをクリアする(ステップS751e)。そして、この実施の形態では、球貸しカウントスイッチ301Bがオン状態を示しているか否か確認する(ステップS751f)。オン状態を示していれば、払出制御用CPU371は、球貸しカウントスイッチオンカウンタを+1する(ステップS751g)。球貸しカウントスイッチオンカウンタは、球貸しカウントスイッチ301Bのオン状態を検出した回数を計数するためのカウンタである。
【0242】
そして、球貸しカウントスイッチオンカウンタの値をチェックし(ステップS751h)、その値が2になっていれば、1個の貸し球の払出が行われたと判断する。1個の貸し球の払出が行われたと判断した場合には、払出制御用CPU371は、貸し球未払出個数カウンタ(貸し球個数記憶に格納されている貸し球数)を−1する(ステップS751i)。
【0243】
ステップS751fにおいて球貸しカウントスイッチ301Bがオン状態でないことが確認されると、払出制御用CPU371は、球貸しカウントスイッチオンカウンタをクリアする(ステップS751j)。
【0244】
図40は、ステップS753のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS753a)。受信コマンドがあれば、受信した払出制御コマンドが払出個数指示コマンドであるか否かの確認を行う(ステップS753b)。なお、払出制御用CPU371は、指令信号指示手段としての読出ポインタが指す確定コマンドバッファ領域中のアドレスに格納されている受信コマンドについてステップS753bの判断を行う。また、その判断後、読出ポインタの値は+1される。読出ポインタが指すアドレスが確定コマンドバッファ12(図37参照)のアドレスを越えた場合には、読出ポインタの値は、確定コマンドバッファ1を指すように更新される。
【0245】
受信した払出制御コマンドが払出個数指示コマンドであれば、払出個数指示コマンドで指示された個数を総合個数記憶に加算する(ステップS753c)。すなわち、払出制御用CPU371は、主基板31のCPU56から送られた払出個数指示コマンドに含まれる賞球数をバックアップRAM領域(総合個数記憶)に記憶する。
【0246】
なお、払出制御用CPU371は、必要ならば、コマンド受信個数カウンタの減算や確定コマンドバッファ領域における受信コマンドシフト処理を行う。
【0247】
図41は、ステップS754の払出停止状態設定処理の一例を示すフローチャートである。払出停止状態設定処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS754a)。確定コマンドバッファ領域中に受信コマンドがあれば、受信した払出制御コマンドが払出停止指示コマンドであるか否かの確認を行う(ステップS754b)。払出停止指示コマンドであれば、払出制御用CPU371は、払出停止状態に設定する(ステップS754c)。
【0248】
ステップS754bで受信コマンドが払出停止指示コマンドでないことを確認すると、受信した払出制御コマンドが払出開始指示コマンドであるか否かの確認を行う(ステップS754d)。払出開始指示コマンドであれば、払出停止状態を解除する(ステップS754e)。
【0249】
図42は、ステップS755のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用CPU371は、カードユニット制御用マイクロコンピュータより入力されるVL信号を検知したか否かを確認する(ステップS755a)。VL信号を検知していなければ、VL信号非検知カウンタを+1する(ステップS755b)。また、払出制御用CPU371は、VL信号非検知カウンタの値が本例では125であるか否か確認する(ステップS755c)。VL信号非検知カウンタの値が125であれば、払出制御用CPU371は、発射制御基板91への発射制御信号出力を停止して、駆動モータ94を停止させる(ステップS755d)。
【0250】
以上の処理によって、125回(2ms×125=250ms)継続してVL信号のオフが検出されたら、球発射禁止状態に設定される。
【0251】
ステップS755aにおいてVL信号を検知していれば、払出制御用CPU371は、VL信号非検知カウンタをクリアする(ステップS755e)。そして、払出制御用CPU371は、発射制御信号出力を停止していれば(ステップS755f)、発射制御基板91への発射制御信号出力を開始して駆動モータ94を動作可能状態にする(ステップS755g)。
【0252】
図43および図44は、ステップS756の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0253】
球貸し制御処理において、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS511)、貸し球払出中であれば図44に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する(ステップS512)。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【0254】
貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50から球貸し要求があったか否かを確認する(ステップS513)。要求があれば、球貸し処理中フラグをオンするとともに(ステップS514)、25(球貸し一単位数:ここでは100円分)をバックアップRAM領域の貸し球個数記憶に設定する(ステップS515)。そして、払出制御用CPU371は、EXS信号をオンする(ステップS516)。また、球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS517)。さらに、払出モータ289をオンして(ステップS518)、図44に示す球貸し中の処理に移行する。
【0255】
なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をOFFとしてからである。なお、球貸し処理中フラグはバックアップRAM領域に設定される。
【0256】
図44は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、球貸しカウントスイッチ301Bの検出出力による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。球貸し制御処理において、払出制御用CPU371は、貸し球通過待ち時間中であるか否かの確認を行う(ステップS519)。貸し球通過待ち時間中でなければ、貸し球の払出を行い(ステップS520)、払出モータ289の駆動を終了すべきか(一単位の払出動作が終了したか)否かの確認を行う(ステップS521)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS522)、貸し球通過待ち時間の設定を行う(ステップS523)。
【0257】
なお、ステップS520の球貸し処理では、払出モータ位置センサのオンとオフとがタイマ監視されるが、所定時間以上のオン状態またはオフ状態が継続したら、払出制御用CPU371は、払出モータ球噛みエラーが生じたと判断する。
【0258】
ステップS519で貸し球通過待ち時間中であれば、払出制御用CPU371は、貸し球通過待ち時間が終了したか否かの確認を行う(ステップS524)。貸し球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから球貸しカウントスイッチ301Bを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット50に対して次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS525)。また、振分ソレノイドをオフするとともに(ステップS526)、球貸し処理中フラグをオフする(ステップS527)。なお、貸し玉通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ301Bを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【0259】
なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【0260】
貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【0261】
図45および図46は、ステップS757の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0262】
賞球制御処理において、払出制御用CPU371は、貸し球払出中であるか否か確認する(ステップS531)。貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ賞球の払出中であるか否か確認し(ステップS532)、賞球の払出中であれば図46に示す賞球中の処理に移行する。賞球の払出中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【0263】
貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50からの球貸し準備要求があるか否か確認する(ステップS533)。球貸し準備要求があるか否かは、カードユニット50から入力されるBRDY信号のオン(要求あり)またはオフ(要求なし)を確認することによって行われる。
【0264】
カードユニット50からの球貸し準備要求がなければ、払出制御用CPU371は、総合個数記憶に格納されている賞球数(未払出の賞球数)が0でないか否か確認する(ステップS534)。総合個数記憶に格納されている賞球数が0でなければ、賞球制御用CPU371は、賞球処理中フラグをオンし(ステップS535)、総合個数記憶の値が25以上であるか否か確認する(ステップS536)。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
【0265】
総合個数記憶に格納されている賞球数が25以上であると、払出制御用CPU371は、25個分の遊技球を払い出すまで払出モータ289を回転させるように払出モータ289に対して駆動信号を出力するために、25個払出動作の設定を行う(ステップS537)。総合個数記憶に格納されている賞球数が25以上でなければ、払出制御用CPU371は、総合個数記憶に格納されている全ての遊技球を払い出すまで払出モータ289を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う(ステップS538)。次いで、払出モータ289をオンする(ステップS538)。なお、振分ソレノイドはオフ状態であるから、球払出装置97の下方の球振分部材は賞球側に設定されている。そして、図46に示す賞球制御処理における賞球払出中の処理に移行する。
【0266】
図46は、払出制御用CPU371による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、賞球カウントスイッチ301Aの検出出力による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。賞球中の処理において、払出制御用CPU371は、賞球通過待ち時間中であるか否かの確認を行う(ステップS540)。賞球通過待ち時間中でなければ、賞球払出を行い(ステップS541)、払出モータ289の駆動を終了すべきか(25個または25個未満の所定の個数の払出動作が終了したか)否かの確認を行う(ステップS542)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS543)、賞球通過待ち時間の設定を行う(ステップS544)。賞球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから賞球カウントスイッチ301Aを通過するまでの時間である。
【0267】
ステップS540で賞球通過待ち時間中であれば、払出制御用CPU371は、賞球通過待ち時間が終了したか否かの確認を行う(ステップS545)。賞球通過待ち時間が終了した時点は、ステップS537またはステップS538で設定された賞球が全て払い出された状態である。そこで、払出制御用CPU371は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする(ステップS546)。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ301Aを通過しなかった場合には、賞球経路エラーとされる。
【0268】
なお、この実施の形態では、ステップS511、ステップS531の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【0269】
総合個数記憶および貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【0270】
なお、払出制御用CPU371は、主基板31から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−1する(この場合、払出制御処理にて減算処理を行うようにする)。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機の電源が断しても、所定期間中に電源が回復すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【0271】
以上に説明したように、この実施の形態では、払出制御手段は、払出制御信号に関するINT信号がオン状態(ハイレベル)からオフ状態(ローレベル)に立下ったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ領域(この例では確定コマンドバッファ)が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【0272】
また、図19および図20のフローチャートに示されたように、遊技制御手段は、払出停止状態であっても(ステップS201)、ステップS235のコマンドセット処理が実行可能であるように構成されている。よって、払出停止状態であっても、入賞検出がなされると払出個数を示す払出制御コマンドが払出制御手段に対して送出される。
【0273】
払出制御手段において、払出停止状態であっても割込処理は起動されるので、払出制御手段は、払出停止中であっても、払出制御コマンドを受信することができる。そして、払出停止中では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファ領域が設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【0274】
そして、払出制御手段において、送出コマンドを受信リングバッファ領域(この例では確定コマンドバッファ)のどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【0275】
また、遊技制御手段においても、送信コマンドは、リングバッファ形式のコマンド送信バッファ(図24参照)に格納される。ただし、図19〜図21のフローチャートに示されたように、払出制御コマンドについては、賞球個数を示す払出制御コマンドはコマンド送信バッファに格納されるが(ステップS222,S226,S232)、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについては、コマンド送信バッファには格納されない。
【0276】
そして、図19〜図21のフローチャートにおいて、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックが実行されるので、2msの一処理期間内で、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドは優先して送出される。すなわち、電気部品の動作停止/再開を指令する信号のように、その信号にもとづく処理が早めに開始されることが好ましい重要な指令信号は、1回の制御期間内で先に送信される。なお、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドも、賞球個数を示す払出制御コマンドと同様に、コマンド送信バッファに格納してもよい。そのように構成しても、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックを実行すれば、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドが優先して送出される。
【0277】
また、遊技制御手段においても、リングバッファ形式のコマンド送信バッファのどの領域のデータを送出するのかを示すアドレス指示手段としてのポインタ(図28における「コマンド送信テーブルを指すアドレス」)が用いられる。よって、どの領域のデータを送出するのかの判断は容易である。
【0278】
なお、上記の実施の形態では、払出制御手段を例にしたが、その他の電気部品制御手段、例えば、表示制御手段、音声制御手段、ランプ制御手段等も上述したような処理によって遊技制御手段からの制御コマンドを確実に受信することができる。
【0279】
また、上記の実施の形態では、電源監視回路は電源基板910に設けられたが、電源監視回路は主基板31や払出制御基板37などの電気部品制御基板に設けられていてもよい。電源回路が搭載された電気部品制御基板が構成される場合には、電源基板には電源監視回路は搭載されない。
【0280】
そして、上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0281】
さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
【0282】
【発明の効果】
請求項1記載の発明では、遊技機を、払出制御用マイクロコンピュータが、所定の割込条件が成立した場合に割込処理プログラムを実行し、遊技機に対する電源が投入されると、払出制御処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行うとともに、遊技制御用マイクロコンピュータからの賞遊技媒体コマンドを受信するコマンド受信割込処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行い、遊技制御用マイクロコンピュータからの取込信号の入力にもとづいて、設定された実行アドレスのコマンド受信割込処理を実行するとともに、受信した賞遊技媒体コマンドのコマンドデータを同時期に複数格納可能なバッファエリアを有し、遊技制御用マイクロコンピュータからの賞遊技媒体コマンドのコマンドデータをバッファエリアに格納するように構成したので、適切な動作モードで払出制御を実行することができ、出制御用マイクロコンピュータが、遊技制御用マイクロコンピュータからのコマンドを確実に受信することができる効果がある。
【0283】
請求項2記載の発明では、払出制御用マイクロコンピュータが、所定の条件でカウンタを更新し、カウンタの内容に応じて所定の割込を発生する割込発生手段を備え、割込発生手段による割込は、払出制御処理の実行契機として使用され、コマンド受信割込処理を実行するための割込処理プログラムが、払出制御処理を実行するための割込処理プログラムに優先して実行されるように構成したので、他の割込処理に優先してコマンド受信割込処理が開始されることになり、遊技制御用マイクロコンピュータからのコマンドを実に受信できる。
【0285】
請求項記載の発明では、払出制御用マイクロコンピュータが、コマンド受信割込処理で、入力したコマンドが適正であるか否かの判定を行うように構成したので、誤ったコマンドを入力してしまって誤った制御がなされてしまうことが確実に防止される。
【0286】
請求項記載の発明では、遊技制御用マイクロコンピュータが、複数の賞遊技媒体コマンドを同時期に格納可能なバッファエリアを有し出力するコマンドをバッファエリアに格納するように構成したので、頻繁に発生するようなコマンドも簡便に処理することができる。
【0287】
請求項記載の発明では、遊技制御用マイクロコンピュータが、賞遊技媒体コマンドをバッファエリアに格納し、払出制御用マイクロコンピュータの動作状態を指定するためのコマンドをバッファエリアとは別の領域に格納して賞遊技媒体コマンドよりも優先して出力するように構成したので、払出停止や払出再開を指示するコマンドのような重要なコマンドを優先して迅速に送信することができる。
【0288】
請求項記載の発明では、割込発生手段が、所定のクロック信号によって更新されるレジスタが所定値になったことに応じて所定の割込を発生するように構成したので、レジスタの初期値を適切に設定することによって、割込発生タイミングを容易に設定することができる。
【0289】
請求項記載の発明では、払出制御処理を実行するための割込処理プログラムが割込許可状態で実行されるように構成したので、払出制御処理を実行するための定期割込処理の実行時間が長くなっても、その間で他の割込処理を実行可能であり、コマンド受信割込処理を定期割込処理に優先させることを容易に実現することができる。
【0290】
請求項記載の発明では、コマンド受信割込が、取込信号の入力によって更新されるレジスタが所定値になったことに応じて発生するように構成したので、払出制御用マイクロコンピュータが、簡便にコマンドを受信することができる。また、レジスタに初期値を設定しておくだけでコマンド受信割込処理の実行契機を作成できるので、払出制御用マイクロコンピュータの開発は容易であり、その結果、遊技機の開発が容易化される。
【0291】
請求項記載の発明では、コマンド受信割込処理が終了するまで割込が許可されないように構成したので、コマンド受信割込処理が他の処理によって中断されることはなく、コマンド受信割込処理を他の処理に優先させることを容易に実現することができる。
【図面の簡単な説明】
【図1】 パチンコ遊技機を正面からみた正面図である。
【図2】 パチンコ遊技機の裏面に設けられている各基板を示す説明図である。
【図3】 パチンコ遊技機の機構盤を背面からみた背面図である。
【図4】 機構板に設置されている中間ベースユニット周りの構成を示す正面図である。
【図5】 球払出装置を示す分解斜視図である。
【図6】 遊技制御基板(主基板)の回路構成を示すブロック図である。
【図7】 払出制御基板および球払出装置の構成要素などの賞球に関連する構成要素を示すブロック図である。
【図8】 電源基板の一構成例を示すブロック図である。
【図9】 主基板におけるCPU周りの一構成例を示すブロック図である。
【図10】 出力ポートのビット割り当ての一例を示す説明図である。
【図11】 出力ポートのビット割り当ての一例を示す説明図である。
【図12】 入力ポートのビット割り当ての一例を示す説明図である。
【図13】 主基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図14】 バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。
【図15】 2msタイマ割込処理を示すフローチャートである。
【図16】 RAMにおけるスイッチタイマの形成例を示す説明図である。
【図17】 スイッチ処理の一例を示すフローチャートである。
【図18】 スイッチチェック処理の一例を示すフローチャートである。
【図19】 賞球処理の一例を示すフローチャートである。
【図20】 賞球処理の一例を示すフローチャートである。
【図21】 賞球処理の一例を示すフローチャートである。
【図22】 スイッチオンチェック処理を示すフローチャートである。
【図23】 入力判定値テーブルの構成例を示す説明図である。
【図24】 コマンド送信バッファの一構成例を示す説明図である。
【図25】 制御コマンドのコマンド形態の一例を示す説明図である。
【図26】 制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。
【図27】 払出制御コマンドの内容の一例を示す説明図である。
【図28】 コマンドセット処理の処理例を示すフローチャートである。
【図29】 コマンド送信処理ルーチンを示すフローチャートである。
【図30】 賞球個数減算処理の一例を示すフローチャートである。
【図31】 電源監視および電源バックアップのための払出制御用CPU周りの一構成例を示すブロック図である。
【図32】 出力ポートのビット割り当ての一例を示す説明図である。
【図33】 入力ポートのビット割り当ての一例を示す説明図である。
【図34】 払出制御基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図35】 2msタイマ割込処理を示すフローチャートである。
【図36】 払出制御手段におけるRAMの一構成例を示す説明図である。
【図37】 受信バッファの一構成例を示す説明図である。
【図38】 払出制御用CPUのコマンド受信処理の例を示すフローチャートである。
【図39】 スイッチ処理の例を示すフローチャートである。
【図40】 コマンド解析実行処理の例を示すフローチャートである。
【図41】 払出停止状態設定処理の例を示すフローチャートである。
【図42】 プリペイドカードユニット制御処理の例を示すフローチャートである。
【図43】 球貸し制御処理の例を示すフローチャートである。
【図44】 球貸し制御処理の例を示すフローチャートである。
【図45】 賞球制御処理の例を示すフローチャートである。
【図46】 賞球制御処理の例を示すフローチャートである。
【符号の説明】
31 遊技制御基板(主基板)
37 払出制御基板
56 CPU
97 球払出装置
301A 賞球カウントスイッチ
301B 球貸しカウントスイッチ
371 払出制御用CPU
910 電源基板
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko gaming machine, a coin gaming machine, or a slot machine in which a game is played in accordance with a player's operation.
[0002]
[Prior art]
As an example of 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 is won in a prize area such as a prize opening provided in the game area, a predetermined number of prize balls are awarded to the player There are things that will be paid out. Further, a variable display unit capable of changing the display state is provided, and is configured to give a predetermined game value to the player when the display result of the variable display unit becomes a predetermined specific display mode There is.
[0003]
The game value means that the state of the variable winning ball device provided in the gaming area of the gaming machine is advantageous to a player who is easy to win and a right to become advantageous to the player. Or a condition that the conditions for paying out premium game media are easily established.
[0004]
In the first type pachinko gaming machine having a variable display unit that displays a special symbol, the display result of the variable display unit that displays the special symbol is usually a combination of a specific display mode defined in advance. " When a big hit occurs, for example, the big winning opening is opened a predetermined number of times, and the game shifts to a big hit gaming state in which a hit ball is 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. If 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, among the combinations of display modes other than the “big hit” combination, the display results that are already deterministic or temporary at the stage where some of the display results of the plurality of variable display portions are not yet derived and displayed. A state in which the display mode of the variable display unit in which “” is derived and displayed satisfies a display condition that is a combination of specific display modes is referred to as “reach”. Then, when the display result of the identification information variably displayed on the variable display section does not satisfy the condition of “big hit”, it becomes “disconnected”, and the variable display state ends. A player plays a game while enjoying how to generate a big hit.
[0006]
When a game ball wins a winning opening provided on the game board, a predetermined number of prize balls are paid out. Since the progress of the game is controlled by game control means mounted on the main board, the number of winning balls based on winning is determined by the game control means and transmitted as a command to the payout control board. In the following, the payout control means and the other control means control various electric parts provided in the gaming machine, so they may be referred to as electric parts control means.
[0007]
[Problems to be solved by the invention]
Various electrical component control means including game control means are mounted on the gaming machine. Generally, each electric component control means is constituted by a microcomputer. Therefore, the electrical component control means is realized by a program executed by the microcomputer. Many microcomputers incorporate various peripheral circuits such as output ports and timer / counter circuits. The CPU and peripheral circuits generally have a plurality of types of operation modes. Even if the peripheral circuit is not built in, the microcomputer generally performs control in cooperation with an external peripheral circuit. A developer of a gaming machine using a microcomputer needs to create a program by selecting an appropriate mode as an operation mode of the CPU and peripheral circuits. This is because if the mode setting is not appropriate, the control program part for peripheral circuit control must be complicated, or an extra hardware circuit must be provided. That is, in a gaming machine using a microcomputer, there is a problem that development man-hours or gaming machine costs increase unless an appropriate operation mode is set.
[0008]
Further, when various electrical component control means are provided separately from the game control means, a control command must be transmitted from the game control means to each electrical component control means. Each of the electrical component control microcomputers in each electrical component control means independently performs a control operation. Then, the game control microcomputer in the game control means sends out a command regardless of the operation state of each electric component control microcomputer. In this case, for example, if a command is sent while the electric component control microcomputer is performing complicated processing, command reading processing in the buffer area is delayed. When the game control microcomputer sends out the next command in such a situation, the next command is stored in the buffer area before the command in the buffer area is read in the electrical component control means that receives the command. . That is, the command sent from the game control means disappears in the electrical component control means. Then, a missing command occurs in a series of commands, so that the control executed by the electric component control means is different from the control that should be originally performed.
[0009]
Therefore, the present invention can execute control in an appropriate operation mode, and as a result, does not increase development man-hours and gaming machine cost, and further allows the electrical component control means to receive commands reliably. The purpose is to provide a machine.
[0010]
[Means for Solving the Problems]
  In the gaming machine according to the present invention, a player performs a predetermined game.PossibleA gaming machine,PlayControl the progress of tricksAnd output command as command informationGame control microcomputerWhen,A plurality of microcomputers for receiving a command output from a gaming control microcomputer and controlling electric components provided in the gaming machine according to the received commandAndMultiple microcomputersA payout control microcomputer for executing award game medium payout control processing based on an award game medium command that can specify the number of award game media payouts output from the game control microcomputer in accordance with the winning.The command including the award game medium command is composed of 2-byte command data,The game control microcomputerFor multiple microcomputerscommanddataWhen,commanddataExecute command output processing to output a capture signal instructing the capture ofIn the command output process, command data and capture signals for a plurality of microcomputers are output by calling the same subroutine, and the game control microcomputer outputs the command data of the first byte in the command and outputs the capture signals. After that, the command data of the second byte is output after a predetermined period of time,The payout control microcomputer executes an interrupt processing program when a predetermined interrupt condition is satisfied, and when the power to the gaming machine is turned on, the execution address of the interrupt processing program for executing the payout control process A register for designating an execution address of an interrupt processing program for executing a command reception interrupt process for receiving an award game medium command from the game control microcomputer, Based on the input of the take-in signal from the game control microcomputer, the command reception interrupt process of the set execution address is executed and the received award game medium commandCommand dataA game area command from a game control microcomputer having a buffer area that can store a plurality ofCommand dataIn the buffer area,The game control microcomputer outputs command data by setting a predetermined period as a value equal to or greater than a maximum period of periods required for each of the plurality of microcomputers to receive command data.It is characterized by that.
[0011]
  The payout control microcomputer includes an interrupt generating means for updating the counter under a predetermined condition and generating a predetermined interrupt according to the contents of the counter. The interruption by the interrupt generating means executes the payout control process. Used as an opportunity,Command reception interrupt processingInterrupt processing program to executeIsFor executing the payout control processInterrupt processingprogramIt may be configured to be executed with priority over.
[0013]
  Discharge control microcomputerHowever, the command reception interrupt process may be configured to determine whether or not the input command is appropriate.
[0014]
  Game controlMicrocomputerBut multipleAward game mediaIt may have a buffer area that can store commands at the same time, and it may be configured to store commands to be output in the buffer area.
[0015]
  Game controlMicrocomputerBut,Award game mediaStore commands in the buffer area and control payoutMicrocomputerStore the command for specifying the operation status (eg, payout stop status or payable status) in a separate area from the buffer area.Award game mediaIt may be configured to output in preference to the command.
[0016]
  Interrupt generation meansFor example, in response to a register updated by a predetermined clock signal having a predetermined valueA given interruptappear.
[0017]
  For executing the payout control processInterrupt processingprogramHowever, it may be configured to be executed in an interrupt-permitted state.
[0018]
The command reception interrupt is generated, for example, in response to the register updated by the input of the capture signal having a predetermined value.
[0019]
  Discharge control microcomputerHowever, the interrupt may not be permitted until the command reception interrupt process is completed.
[0020]
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 the pachinko gaming machine 1 as seen from the front. Here, a pachinko gaming machine is shown as an example of a gaming machine, but the present invention is not limited to a pachinko gaming machine and may be, for example, a coin gaming machine or a slot machine.
[0021]
As shown in FIG. 1, the pachinko gaming machine 1 has a glass door frame 2 formed in a frame shape. There is a hitting ball supply tray 3 on the lower surface of the glass door frame 2. Under the hitting ball supply tray 3, there are provided an extra ball receiving tray 4 for storing game balls overflowing from the hitting ball supply tray 3 and a hitting operation handle (operation knob) 5 for firing the hitting ball. A game board 6 is detachably attached to the rear side of the glass door frame 2. A game area 7 is provided in front of the game board 6.
[0022]
Near the center of the game area 7, a variable display including a variable display unit (special symbol display device) 9 for variably displaying a plurality of types of symbols and a normal symbol display device (ordinary symbol display device) 10 using a 7-segment LED. A device 8 is provided. The variable display unit 9 has, for example, three symbol display areas of “left”, “middle”, and “right”. A passing gate 11 for guiding a hit ball is provided on the side of the variable display device 8. The hit ball that has passed through the passing gate 11 is guided to the start winning opening 14 through the ball outlet 13. In the passage between the passage gate 11 and the ball exit 13, there is a gate switch 12 that detects a hit ball that has passed through the passage gate 11. 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 17. 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.
[0023]
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. In this embodiment, 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 zone) is detected by the V winning switch 22. A winning ball from the opening / closing plate 20 is detected by the count switch 23. At the bottom of the variable display device 8, a start winning memory display 18 having four display units for displaying the number of winning balls that have entered the start winning opening 14 is provided. In this example, with the upper limit being four, each time there is a start prize, the start prize storage display 18 increases the number of lit display units one by one. Then, each time the variable display of the variable display unit 9 is started, the lit display unit is reduced by one.
[0024]
The game board 6 is provided with a plurality of winning holes 19, 24, and winning of the game balls to the respective winning holes 19, 24 is performed by correspondingly provided winning hole switches 19a, 19b, 24a, 24b. Detected. Around the left and right of the game area 7, there are provided decorative lamps 25 blinking and displayed during the game, and at the lower part there is an outlet 26 for absorbing a hit ball that has not won. 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 game effect LED 28a and game effect lamps 28b and 28c are provided.
[0025]
In this example, a prize ball lamp 51 that is lit when there is a remaining number of prize balls is provided in the vicinity of one speaker 27, and a sphere that is lit when a supply ball is cut near the other speaker 27. A cut lamp 52 is provided. 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.
[0026]
The card unit 50 has a usable indicator lamp 151 indicating whether or not it is in a usable state, and when the remaining amount information recorded in the card has a fraction (a number less than 100 yen), the fraction is indicated as a hitting tray. 3, a fraction display switch 152 for displaying on a frequency display LED provided in the vicinity of 3, a connecting table direction indicator 153 indicating which side of the pachinko gaming machine 1 corresponds to the card unit 50, in the card unit 50 Check the card insertion indicator lamp 154 indicating that a card is inserted, the card insertion slot 155 into which a card as a recording medium is inserted, and the mechanism of the card reader / writer provided on the back of the card insertion slot 155. In some cases, a card unit lock 156 is provided for releasing the card unit 50.
[0027]
The hit ball fired from the hit ball launching device enters the game area 7 through the hit ball rail, and then descends the game area 7. When the hit ball is detected by the gate switch 12 through the passing gate 11, the display number of the normal symbol display 10 changes continuously. Further, when the hit ball enters the start winning opening 14 and is detected by the start opening switch 17, the symbol in the variable display portion 9 starts to rotate if the variation of the symbol can be started. If it is not in a state where the change of the symbol can be started, the start winning memory is increased by one.
[0028]
The rotation of the image in the variable display unit 9 stops when a certain time has elapsed. If the combination of images at the time of stop is a combination of jackpot symbols, 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 hit balls wins. When the hit ball enters the specific 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).
[0029]
When the combination of images in the variable display section 9 at the time of stop is a combination of jackpot symbols with probability fluctuations, the probability of the next jackpot increases. That is, it becomes a more advantageous state for the player in a high probability state. Further, when the stop symbol in the normal symbol display 10 is a predetermined symbol (winning symbol = small winning symbol), the variable winning ball device 15 is opened for a predetermined time. Further, in the high probability 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.
[0030]
Next, each board | substrate arrange | positioned at the back surface of the pachinko game machine 1 is demonstrated.
As shown in FIG. 2, on the back surface of the pachinko gaming machine 1, a ball storage tank 38 is provided above the mechanism plate in the frame 2 </ b> A, and the pachinko gaming machine 1 is installed above the gaming machine installation island. The game balls are supplied to the ball storage tank 38. The game balls in the ball storage tank 38 pass through the guide basket 39 and reach the ball payout device covered with the prize ball case 40A.
[0031]
On the back side of the gaming machine, there are installed a variable display control unit 29 for controlling the variable display unit 9, a game control board (main board) 31 on which a game control microcomputer and the like are mounted. Further, a payout control board 37 on which a payout control microcomputer for performing ball payout control and the like, and a hitting ball launching device for hitting a hitting ball into the game area 7 using the rotational force of the motor are installed. Furthermore, the sound control for controlling the sound generation from the decoration lamp 25, the game effect LED 28a, the game effect lamps 28b and 28c, the lamp control board 35 for sending signals to the prize ball lamp 51 and the ball break lamp 52, and the speaker 27. A launch control board 91 for controlling the board 70 and the ball hitting device is also provided.
[0032]
Furthermore, a power supply board 910 on which a power supply circuit for generating DC30V, DC21V, DC12V and DC5V is mounted is provided, and a terminal board 160 provided with terminals for outputting various information to the outside of the gaming machine is installed above. Has been. The terminal board 160 has at least an output of a ball break terminal for external output by introducing the output of the ball break detection switch, an award ball terminal for outputting an award ball number signal and a ball lending number signal externally output. A ball lending terminal is provided. In addition, an information terminal board 34 having terminals for outputting various information from the main board 31 to the outside of the gaming machine is installed near the center. In FIG. 2, signals from the lamp control board 35 and the sound control board 70 are supplied to the game effect LED 28 a, game effect lamps 28 b and 28 c, the prize ball lamp 51, and the ball break lamp 52 provided on the frame side. Although the electrical relay board A77 for doing this is shown, other relay boards are also provided if necessary for signal relay.
[0033]
FIG. 3 is a rear view of the mechanism plate of the pachinko gaming machine 1 as seen from the back. Balls stored in the ball storage tank 38 pass through the guide rod 39, and as shown in FIG. 3, a ball break switch (ball break detection switch means for detecting whether or not a game medium for payout is insufficient). It passes through 187a and 187b and reaches the ball dispensing device 97 via the ball supply rods 186a and 186b. The ball break switches 187a and 187b are switches that detect the presence or absence of a game ball in the game ball passage, but a ball break detection switch 167 that detects a shortage of supply balls in the ball tank 38 is also provided. Hereinafter, the ball break switches 187a and 187b may be expressed as ball break switches 187.
[0034]
The game balls paid out from the ball payout device 97 are supplied to the hitting ball supply tray 3 provided on the front surface of the pachinko gaming machine 1 through the connection port 45. A surplus ball passage 46 communicating with the surplus ball receiving tray 4 provided on the front surface of the pachinko gaming machine 1 is formed on the side of the communication port 45.
[0035]
A lot of premium balls based on the winnings are paid out and the hitting ball supply tray 3 becomes full, and when the game balls are finally paid out after reaching the contact port 45, the game balls are surplus via the surplus ball passage 46. It is guided to the ball receiving tray 4. Further, when the game ball is paid out, the sensing lever 47 has a full tank switch 48 (a full tank detection switch means for detecting whether or not the stored game media in the storage unit storing the paid-out game media exceeds a predetermined amount). The full switch 48 is turned on by pressing. In this state, the rotation of the stepping motor in the ball dispensing device 97 is stopped, the operation of the ball dispensing device 97 is stopped, and the driving of the hitting ball launching device is also stopped.
[0036]
Next, the configuration of the intermediate base unit installed on the mechanism plate 36 will be described. In the intermediate base unit, ball supply rods 186a and 186b and a ball dispensing device 97 are installed. As shown in FIG. 4, connection concave protrusions 182 are formed on the upper and lower sides of the intermediate base unit. The connection concave protrusion 182 connects and fixes the intermediate base unit and the upper base unit and the lower base unit of the mechanism plate 36.
[0037]
A passage body 184 is fixed to the upper part of the intermediate base unit. A ball dispensing device 97 is fixed to the lower part of the passage body 184. The passage body 184 has payout ball passages 186a and 186b for flowing down two rows of game balls whose flow direction has been changed to the left and right directions by a curve rod 174 (see FIG. 3). On the upstream side of the payout ball passages 186a, 186b, ball break switches 187a, 187b are installed. The ball break switches 187a and 187b detect the presence or absence of a game ball in the payout ball passages 186a and 186b. When the ball break switches 187a and 187b no longer detect a game ball, the payout motor ( The rotation of the ball (not shown in FIG. 4) is stopped and the ball payout is immobilized.
[0038]
The ball break switches 187a and 187b are locked by locking pieces 188 at positions where it can be detected that about 27 to 28 game balls are present in the payout ball passages 186a and 186b. In other words, the ball break switches 187a and 187b have a maximum payout amount per unit of prize balls (15 in this embodiment) and a maximum payout amount per unit of ball lending (100 yen: 25 in this embodiment). It is installed at a position where the above can be confirmed.
[0039]
The central portion of the passage body 184 is formed in a shape that curves to the left and right so as to weaken the ball pressure of the game ball flowing down inside. A stop hole 189 is formed between the payout ball passages 186a and 186b. A mounting boss provided in the intermediate base unit is fitted into the back surface of the stop hole 189. In this state, the set screw is screwed, and the passage body 184 is fixed to the intermediate base unit. The passage body 184 can be aligned by the locking protrusion 185 provided on the intermediate base unit before being screwed.
[0040]
Below the passage body 184, a ball stopper 190 is provided for supplying the game ball to the ball payout device 97 and stopping the supply of the game ball to the ball payout device 97 in the event of a failure. A ball payout device 97 installed below the ball stopper 190 is housed in a rectangular parallelepiped case 198. Projections are provided at four places on the left and right sides of the case 198. The lower end of the case 198 is fitted into the elastic engagement piece provided at the lower part of the intermediate base unit in a state where each protrusion is engaged with the positioning protrusion provided on the intermediate base unit.
[0041]
FIG. 5 is an exploded perspective view of the ball dispensing device 97. The configuration and operation of the ball dispensing device 97 will be described with reference to FIG. In the ball dispensing device 97 in this embodiment, a stepping motor (dispensing motor) 289 rotates a screw 288 to pay out pachinko balls one by one. Note that the ball payout device 97 pays out not only a prize ball based on a prize but also a game ball to be lent.
[0042]
As shown in FIG. 5, the ball dispensing device 97 has two cases 198a and 198b. Engagement protrusions 280 are provided at two positions on the left and right sides of the cases 198a and 198b. In addition, ball supply paths 281a and 281b are formed in the cases 198a and 198b, respectively. The ball supply paths 281a and 281b have curved surfaces 282a and 282b, and ball feed horizontal paths 284a and 284b are formed below the ends of the curved surfaces 282a and 282b. Furthermore, ball discharge paths 283a and 283b are formed at the ends of the ball feed horizontal paths 284a and 284b.
[0043]
The ball supply paths 281a and 281b, the ball feed horizontal paths 284a and 284b, and the ball discharge paths 283a and 283b are formed in front of partition walls 295a and 295b that divide the cases 198a and 198b in the front-rear direction. Further, a ball pressure buffering member 285 is sandwiched between the cases 198a and 198b in front of the partition walls 295a and 295b. The ball pressure buffering member 285 distributes the balls supplied to the ball dispensing device 97 to the left and right sides and guides the balls to the ball supply paths 281a and 281b.
[0044]
In addition, below the ball pressure buffering member 285, a payout motor position sensor using a light emitting element (LED) 286 and a light receiving element (not shown) is provided. The light emitting element 286 and the light receiving element are provided at a predetermined interval. The tip of the screw 288 is inserted within this interval. The ball pressure buffering member 285 is completely housed and fixed inside the cases 198a and 198b.
[0045]
Screws 288 that are rotated by a payout motor 289 are disposed in the ball feed horizontal paths 284a and 284b. The payout motor 289 is fixed to the motor fixing plate 290, and the motor fixing plate 290 is fitted into fixing grooves 291a and 291b formed at the rear of the partition walls 295a and 295b. In this state, the motor shaft of the payout motor 289 protrudes in front of the partition walls 295a and 295b, so that the screw 288 is fixed in front of the protrusion. On the outer periphery of the screw 288, there is provided a spiral projection 288a for moving the game ball placed on the ball feed horizontal paths 284a, 284b forward by the rotation of the payout motor 289.
[0046]
A recess is formed at the tip of the screw 288 so as to accommodate the light emitting element 286, and two notches 292 are formed 180 degrees apart from each other on the outer periphery of the recess. Therefore, during one rotation of the screw 288, the light from the light emitting element 286 is detected twice by the light receiving element through the notch 292.
[0047]
In other words, the payout motor position sensor including the light emitting element 286 and the light receiving element is for stopping the screw 288 at a fixed position, and detects that the payout operation has been performed. The wiring from the light emitting element 286, the light receiving element, and the payout motor 289 are collectively drawn out from a drawing hole formed below the rear portions of the cases 198a and 198b and connected to the connector.
[0048]
When the payout motor 289 rotates in a state where the game ball is placed on the ball feed horizontal paths 284a and 284b, the game ball is moved forward on the ball feed horizontal paths 284a and 284b by the spiral protrusion 288a of the screw 288. Moving. And finally, it falls to the ball discharge paths 283a and 283b from the end of the ball feed horizontal paths 284a and 284b. At this time, the left and right ball feed horizontal paths 284a and 284b are alternately dropped. That is, each time the screw 288 is rotated halfway, one game ball falls from one side. Therefore, each time one game ball falls, the light from the light emitting element 286 is detected by the light receiving element.
[0049]
As shown in FIG. 4, a ball sorting member (switching member) 311 is provided below the ball dispensing device 97. The ball sorting member 311 is driven by the sorting solenoid 310. For example, when the solenoid 310 is on, the ball sorting member 311 falls to the right, and when it is off, the ball sorting member 311 falls to the left. Below the sorting solenoid 310, a prize ball count switch 301A and a ball lending count switch 301B by proximity switches are provided. At the time of a winning ball based on winning, the ball sorting member 311 falls to the right side, and balls from the ball discharge paths 283a and 283b both pass the winning ball count switch 301A. Further, at the time of lending a ball, the ball sorting member 311 falls to the left side, and balls from the ball discharge paths 283a and 283b both pass the ball lending count switch 301B. Accordingly, the ball payout device 97 can change the payout flow path between the winning ball and the ball lending and pay out a predetermined number of game media.
[0050]
In this way, by providing the ball sorting member 311, the ball that has fallen through the two ball passages passes only one of the prize ball count switch 301 </ b> A and the ball lending count switch 301 </ b> B. Accordingly, the number of winning balls or the number of balls lent can be immediately grasped from the detection outputs of the winning ball count switch 301A and the ball lending count switch 301B without determining whether the ball is a winning ball or a lending ball.
[0051]
In this embodiment, a ball payout device 97 for paying out game balls by rotation of a stepping motor is used as a ball payout device for paying out game balls by driving an electric drive source. A ball payout device having a structure for delivering a game ball may be used, or a ball payout device having a structure in which a stopper is removed by driving an electric drive source such as a solenoid and the game ball is discharged by its own weight may be used. In this embodiment, the ball payout device 97 pays out a prize ball based on the prize ball and a loaned ball based on the loan request, but a payout device may be provided for each.
[0052]
FIG. 6 is a block diagram illustrating an example of a circuit configuration in the main board 31. 6 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 12, a start port switch 17, a V winning switch 22, a count switch 23, winning port switches 19a, 19b, 24a, 24b, The switch circuit 58 for supplying signals from the tongue switch 48, the ball break switch 187 and the prize ball count switch 301A to the basic circuit 53, the solenoid 16 for opening / closing the variable prize ball device 15, the solenoid 21 for opening / closing the opening / closing plate 20, and the big prize A solenoid circuit 59 for driving the solenoid 21A for switching the route in the mouth according to a command from the basic circuit 53 is mounted.
[0053]
Although not shown in FIG. 6, the count switch short-circuit signal is also transmitted to the basic circuit 53 via the switch circuit 58.
[0054]
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 image display of the variable display unit 9, and the fact that the probability variation has occurred. An information output circuit 64 that outputs an information output signal such as probability variation information to an external device such as a hall computer is mounted.
[0055]
The basic circuit 53 includes a ROM 54 that stores a game control program and the like, a RAM 55 that is an example of storage means used as a work memory, a CPU 56 that performs control operations according to the program, and an I / O port unit 57. 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.
[0056]
Further, the main board 31 is provided with a system reset circuit 65 for resetting the basic circuit 53 when the power is turned on.
[0057]
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 firing control board 91 is controlled so that the hit ball is fired at a speed corresponding to the operation amount of the operation knob 5.
[0058]
In this embodiment, the lamp control means mounted on the lamp control board 35 controls the display of the start memory indicator 18, the gate passing memory indicator 41 and the decoration lamp 25 provided on the game board. At the same time, display control of the game effect lamps / LEDs 28a, 28b, 28c, the prize ball lamp 51 and the ball-out lamp 52 provided on the frame side is performed. The display control of the variable display unit 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.
[0059]
FIG. 7 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. 7, the detection signal from the full switch 48 is input to the I / O port 57 of the main board 31 through the relay board 71. The full tank switch 48 is a switch for detecting a full tank of the surplus ball tray 4. The detection signal from the ball break switch 187 (187a, 187b) is also input to the I / O port 57 of the main board 31 through the relay board 72 and the relay board 71.
[0060]
The CPU 56 of the main board 31 issues a payout prohibition when the detection signal from the ball break switch 187 indicates a ball shortage state or when the detection signal from the full tank switch 48 indicates a full tank state. Send a control command. When a payout control command for instructing payout is received, the payout control CPU 371 of the payout control board 37 stops the ball payout process.
[0061]
Further, the detection signal from the prize ball count switch 301A is input to the I / O port 57 of the main board 31 via the relay board 72 and the relay board 71, and input to the payout control board 37 via the relay board 72. Input to 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.
[0062]
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 570 outputs a strobe signal (INT signal) as a 1-bit capture 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.
[0063]
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.
[0064]
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.
[0065]
Further, a detection signal from the ball lending count switch 301 </ b> B is input to the input port 372 b 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 transmitted. 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.
[0066]
The card unit 50 is equipped with a card unit control microcomputer. Further, the card unit 50 is provided with a fraction display switch 152, 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.
[0067]
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. 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.
[0068]
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.
[0069]
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.
[0070]
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.
[0071]
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 a game ball corresponding to the amount of money is lent out in accordance with coin insertion. That is, the present invention can be applied even when the gaming machine only pays out a prize ball as a game ball.
[0072]
FIG. 8 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 component control boards such as the main board 31, the symbol control board 80, the voice 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. A capacitor 916 serving as a backup power supply is charged from a line of power supply for driving DC + 5V, that is, an IC or the like 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.
[0073]
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 includes one or a plurality of converter ICs 922 (only one is shown in FIG. 8), 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 922. 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. As a result, the capacitor 923 serves 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.
[0074]
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. Further, although one connector 915 is representatively shown in FIG. 8, the connector is provided for each electrical component control board.
[0075]
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 is in a storage state with respect to the backup RAM of the electrical component control board when the power supply to the gaming machine is cut off (a RAM that is backed up, that is, a backup storage means 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, + 5V for backup is supplied to the main board 31 and the payout control board 37.
[0076]
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.
[0077]
Further, a power supply monitoring IC 902 is mounted on the power supply board 910. The power supply monitoring IC 902 detects the occurrence of power interruption 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 as a power-off occurs. 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.
[0078]
The predetermined value for the power monitoring IC 902 to detect the power-off 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. 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.
[0079]
Therefore, when the voltage of the + 12V power supply decreases, the switch output becomes in the on state. However, if the power supply interruption is recognized by monitoring the + 30V power supply voltage that decreases faster than + 12V, the switch output becomes the power It is possible to enter a state of waiting for recovery and not detect switch output.
[0080]
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 on each electrical component control board performs return control described later. The cost of the gaming machine does not increase so much.
[0081]
In the configuration shown in FIG. 8, the detection output (power cut-off signal) of the power monitoring IC 902 is supplied to the respective electric component control boards (for example, the main board 31 and the payout control board 37) via the buffer circuits 918 and 919. However, for example, a configuration may be adopted in which one detection output is transmitted to the relay board and the same signal is distributed from the relay board to each electric component control board. Further, a buffer circuit corresponding to the number of substrates that require a power-off signal may be provided.
[0082]
FIG. 9 is a block diagram illustrating a configuration example around the CPU 56 in the main board 31. As shown in FIG. 9, 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. The power supply monitoring circuit is a circuit that detects a power supply voltage drop by monitoring the voltage of any of the various DC power supplies used by the gaming machine. In this embodiment, the power supply voltage of VSL is monitored, and when the voltage value falls below a predetermined value, a low-level power cut-off signal is generated. VSL is the largest DC voltage in the gaming machine, and is +30 V in this example. Therefore, the CPU 56 can confirm the occurrence of power interruption by the interrupt process.
[0083]
FIG. 9 also shows a system reset circuit 65. When the power is turned on, the reset IC 651 sets the output to a low level for a predetermined time determined by the capacity of the external capacitor, and sets the output to a high level when the predetermined time has elapsed. That is, the reset signal is raised to a high level to make the CPU 56 operable. The reset IC 651 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. Accordingly, the CPU 56 performs a predetermined power supply stop process in response to the power-off signal from the power supply monitoring circuit, and then the system is reset.
[0084]
As shown in FIG. 9, the reset signal from the reset IC 651 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.
[0085]
For example, the detection voltage of the power supply monitoring circuit (the voltage that outputs the power-off signal) is + 22V, and the detection voltage for setting the reset signal to low level is + 9V. In such a configuration, since the power supply monitoring circuit and the system reset circuit 65 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 65 reset the system. 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.
[0086]
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, and the contents are preserved even if the power to the gaming machine is cut off. The When the +5 V power supply is restored, a reset signal is issued from the system reset circuit 65, 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 return to the gaming state at the time of occurrence of the power failure when recovering from the power failure.
[0087]
In the configuration shown in FIG. 9, 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 651 is directly connected to the reset terminal of the CPU 56.
[0088]
The CPU 56 used in this embodiment also incorporates an I / O port (PIO) and a timer / counter circuit (CTC). The PIO has 4 bits PB0 to PB3 and 1 byte port PA0 to PA7. The ports PB0 to PB3 and PA0 to PA7 can be set to either input / output.
[0089]
FIG. 10 and FIG. 11 are explanatory diagrams showing assignment of output ports in this embodiment. As shown in FIG. 10, the output port 0 is an output port for a strobe signal (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. Then, as shown in FIG. 11, 8-bit data of the voice control command sent to the voice control board 70 is output from the output port 4.
[0090]
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. The output port 6 drives a solenoid 16 for opening and closing the variable winning ball device 15, a solenoid 21 for opening and closing the opening / closing plate 2 of the big prize opening, and a solenoid 21A for switching the path in the big prize opening. A signal is output.
[0091]
FIG. 12 is an explanatory diagram showing bit assignment of input ports in this embodiment. As shown in FIG. 12, the winning port switch 24a, the winning port switch 24b, the winning port switch 19a, the winning port switch 19b, the starting port switch 17, the count switch 23, V Detection signals from the winning switch (specific area switch) 22 and the gate switch 12 are input. In addition, the winning ball count switch 301A, the full switch 48, the ball break switch 187 detection signal, and the count switch short circuit signal are input to bits 0 to 3 of the input port 1, respectively.
[0092]
Next, the operation of the gaming machine will be described.
FIG. 13 is a flowchart showing main processing executed by the CPU 56 on the main board 31. When the power to the gaming machine is turned on, in the main process, the CPU 56 first performs necessary initial settings.
[0093]
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 a stack pointer designation address 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 to an accessible state (step S6).
[0094]
The CPU 56 used in this embodiment has the following three types of maskable interrupt (INT) 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.
[0095]
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.
[0096]
Interrupt mode 1: In this mode, when an interrupt is accepted, the mode always jumps to address 0038 (h).
[0097]
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 transmitting an interrupt vector when making an interrupt request.
[0098]
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.
[0099]
Then, it is confirmed whether or not data protection processing (for example, power failure occurrence NMI processing such as addition of parity data) has been performed in the backup RAM area when the power is turned off (step S7). In this embodiment, when an unexpected power failure occurs, processing 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 there is no backup, the CPU 56 executes an initialization process.
[0100]
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 when the power is turned off. In this example, as shown in FIG. 14, 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).
[0101]
After confirming that there is a backup, the CPU 56 performs a data check of the backup RAM area (parity check in this example). In the case of recovery after an unexpected power failure, the data in the backup RAM area should have been saved, 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 power-off, and therefore an initialization process that is executed at the time of power-on not at the time of power failure recovery is executed.
[0102]
If the check result is normal (step S8), 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 is cut off. (Step S9). 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.
[0103]
In the initialization process, the CPU 56 first performs a RAM clear process (step S11). Also, initial value setting processing is performed for setting initial values in predetermined work areas (for example, a normal symbol determination random number counter, a normal symbol determination buffer, a special symbol left middle right symbol buffer, a payout command storage pointer, etc.). Further, processing for initializing the sub-boards (lamp control board 35, payout control board 37, voice control board 70, symbol control board 80) is executed (step S13). The process of initializing the sub board is a process of sending an initial setting command, for example.
[0104]
Then, a CTC register set in the CPU 56 is set so that a timer interrupt is periodically generated every 2 ms (step S14). That is, a value corresponding to 2 ms is set in a predetermined register (time constant register) as an initial value. Since the interruption is prohibited in step S1 of the initial setting process, the interruption is permitted before the initialization process is completed (step S15).
[0105]
In this embodiment, the built-in CTC of the CPU 56 is set to repeatedly generate a timer interrupt. In this embodiment, the repetition period is set to 2 ms. When a timer interrupt occurs, as shown in FIG. 15, the CPU 56 sets a timer interrupt flag indicating that a timer interrupt has occurred, for example (step S12).
[0106]
When the execution of the initialization process (steps S11 to S15) is completed, the main process shifts to a loop process in which it is confirmed whether or not a timer interrupt has occurred (step S17). In the loop, display random number update processing (step S16) is also executed.
[0107]
When the CPU 56 recognizes that a timer interrupt has occurred in step S17, it executes the game control process of steps S21 to S31. In the game control process, the CPU 56 first inputs the states of the switches such as the gate sensor 12, the start port sensor 17, the count sensor 23, and the winning port switches 19a, 19b, 24a, and 24b via the switch circuit 58, Is determined (switching process: step S21).
[0108]
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).
[0109]
Next, a process of updating each counter indicating 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 a display random number such as a random number that determines the type of stop symbol (step S24).
[0110]
Further, the CPU 56 performs special symbol process processing (step S25). 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 S26). In the normal symbol process, the corresponding process is selected and executed in accordance with the normal symbol process flag for controlling the variable display 10 using the 7-segment LED in a predetermined order. The value of the normal symbol process flag is updated during each process according to the gaming state.
[0111]
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 S27). 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 S28).
[0112]
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 S29).
[0113]
Further, the CPU 56 issues a drive command to the solenoid circuit 59 when a predetermined condition is established (step S30). The solenoid circuit 59 drives the solenoids 16 and 21 in accordance with the drive command, thereby bringing the variable winning ball device 15 or the opening / closing plate 20 into an open state or a closed state.
[0114]
Then, the CPU 56 executes a prize ball process for setting the number of prize balls based on the detection outputs of the switches 17, 23, 19a, 19b, 24a, 24b for detecting a winning at each prize opening (step S31). ). Specifically, a payout control command is output to the payout control board 37 in response to winning detection. The payout control CPU 371 mounted on the payout control board 37 drives the ball payout device 97 according to the payout control command.
[0115]
With the above control, in this embodiment, the game control process is started every 2 ms. In this embodiment, in the timer interrupt process, for example, only a flag indicating that an interrupt has occurred is set, and the game control process is executed in the main process, but the game control process is performed in the timer interrupt process. May be executed.
[0116]
In addition, the main process includes a process for determining whether or not to shift to the game control process, and whether or not the CPU 56 should shift to the game control process by the timer interrupt process based on the timer interrupt generated periodically. Since the flag for determining whether or not is set or the like, all of the game control processing is surely executed. In other words, until all the game control processes are executed, it is not determined whether or not to shift to the next game control process, so it is guaranteed that all the processes in the game control process are completed. ing.
[0117]
As described above, in this embodiment, the interrupt mode 2 is set in the initial setting process for the CPU 56 incorporating the CTC and PIO. Therefore, a periodic timer interrupt process using the built-in CTC can be easily realized. Also, the timer interrupt process can be set at an arbitrary position on the program. In addition, switch detection processing using the built-in PIO can be easily realized by interrupt processing. As a result, it is possible to obtain effects such as a simplified program configuration and a reduced number of program development steps.
[0118]
Note that after the setting of CTC and PIO (step S5) is completed, an internal register for determining the frequency of the clock signal output from the IEO / SCLK0 terminal may be set. At that time, the frequency of the clock signal is set to a frequency corresponding to 2 ms which is the start cycle of the game control process. When such setting is performed, a clock signal having a frequency corresponding to the activation period of the game control process is externally output from the CPU 56 from the IEO / SCLK0 terminal. Then, a signal corresponding to the activation cycle of the game control process can be observed outside the CPU 56. Therefore, it becomes easy to simulate a game control process by the CPU 56 and to test an operation state of the CPU 56 outside the gaming machine using such a signal.
[0119]
Also, among the output ports 0 to 6 shown in FIGS. 10 and 11, the output ports 0, 1, 2, 3, and 4 are special symbol command control processing (step S25) of the game control processing, and normal symbols. Access is made by command control processing (step S27), prize ball processing (step S31), or the like. The output port 5 is accessed by the information output process (step S29), and the output port 6 is accessed by the special symbol process (step S25) and the normal symbol process (step S26).
[0120]
Next, a specific example of the switch process (step S21) in the main process will be described. In this embodiment, when the ON state of the detection signal continues for a predetermined time, it is certainly determined that the switch is 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. 16, the switch timer is provided by the number N of detection signals. In this embodiment, N = 12. In the RAM, 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. 12).
[0121]
FIG. 17 is a flowchart illustrating 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 S71). Next, “8” is set as the number of processes (step S72), and the address of the switch timer for the winning opening switch 24a is set in the pointer (step S73). Then, a switch check processing subroutine is called (step S74).
[0122]
FIG. 18 is a flowchart showing a switch check processing subroutine. 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 S81). Further, clear data (00) is set (step S82). Then, the switch timer pointed to by the pointer (the switch timer address is set) is loaded (step S83), and the comparison value is shifted to the right (from the upper bit to the lower bit) (step S84). Data of input port 0 is set as the comparison value. In this case, the detection signal of the winning opening switch 24a is pushed out to the carry flag.
[0123]
If the value of the carry flag is “1” (step S85), that is, if the detection signal of the winning opening switch 24a is ON, the value of the switch timer is incremented by 1 (step S87). If the value after addition is not 0, the addition value is returned to the switch timer (steps S88 and S89). 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.
[0124]
If the value of the carry flag is “0”, that is, if the detection signal of the winning opening switch 24a is in the OFF state, clear data is set in the switch timer (step S86). That is, if the switch is off, the value of the switch timer returns to zero.
[0125]
Thereafter, the CPU 56 adds 1 to the pointer (switch timer address) (step S90) and subtracts 1 from the number of processes (step S91). If the number of processes is not 0, the process returns to step S82. Then, the processes in steps S82 to S92 are repeated.
[0126]
The processes of steps S82 to S92 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.
[0127]
The CPU 56 inputs the data input to the input port 1 in step S75 of the switch process. Next, “4” is set as the processing number (step S76), and the address of the switch timer for the winning ball count switch 301A is set in the pointer (step S77). Then, a switch check processing subroutine is called (step S78).
[0128]
In the switch check processing subroutine, since the above-described processing is executed, the processing of steps S82 to S92 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.
[0129]
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.
[0130]
19 to 21 are flowcharts showing an example of the prize ball process in step S31 in the game control process. In this embodiment, in the prize ball processing, it is determined whether or not the prize opening switches 19a, 19b, 24a, 24b, the count switch 23 and the start opening switch 17 are turned on, and if they are turned on, a predetermined payout control command is determined. Is sent to the payout control board 37, and it is determined whether or not the full switch 48 and the ball break switch 187 are turned on, and when it is turned on, a predetermined payout control command is issued. For example, control is performed so as to be sent to the terminal.
[0131]
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. 23) 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. 12, 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).
[0132]
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. 23, 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.
[0133]
An example of a switch-on check routine is shown in FIG. In the switch-on check routine, if the value of the switch timer corresponding to the full tank switch 48 matches the full tank switch on determination value “50”, the switch on flag is set (step S153), so the full tank flag is set. (Step S154). Although not explicitly shown in FIG. 19, when the value of the switch timer corresponding to the full tank switch 48 becomes 0, the full tank flag is reset.
[0134]
Further, the CPU 56 sets “2” as the offset of the input determination value table (step S156), and sets “0A (H)” as the offset of the switch timer address (step S157). 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. 12, 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 S158).
[0135]
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 S159). It is set (step S160). Although not explicitly shown in FIG. 19, when a switch-off timer corresponding to the ball-out switch 187 is prepared and its value reaches 50, the ball-out flag is reset.
[0136]
Then, the CPU 56 confirms whether or not the payout is stopped (step S201). The payout stop state is a state after a payout stop state designation command is sent to the payout control board 37. If it is not in the payout stop state, it is confirmed whether or not the above-described ball-out state flag or full tank flag is turned on (step S202).
[0137]
When either of them changes to the on state, a command transmission table relating to designation of a payout stop state is set (step S203), and command set processing is called (step S206). In step S203, the head address of the command transmission table (ROM) in which the payout control command relating to the payout stop state designation is stored is set as the address of the command transmission table. In the command transmission table relating to the designation of the payout stop state, 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 S202, when one of the flags is already in the on state and the other flag is in the on state, the command transmission control process (step S203) is not performed.
[0138]
If it is in the payout stop state, it is checked whether both the ball-out state flag and the full tank flag are turned off (step S204). When both are turned off, a command transmission table for designation of a payable state is set (step S205), and command set processing is called (step S207). In step S205, the head address of the command transmission table (ROM) in which the payout control command related to the payout available state designation is stored is set as the address of the command transmission table. In the command transmission table relating to the payout enable state designation, 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.
[0139]
Further, the CPU 56 sets “0” as the offset of the input determination value table (step S121), and sets “0” as the offset of the switch timer address (step S122). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Also, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 12, the switch timer address offset “0” designates the switch timer corresponding to the winning port switch 24a. Means. Also, “4” is set as the number of repetitions (step S123). Then, a switch-on check routine is called (step S124).
[0140]
In the switch-on check routine, the CPU 56 sets the head address of the input determination value table (see FIG. 23) (step S101). Then, an offset is added to the address (step S102), and a switch-on determination value is loaded from the address after the addition (step S103).
[0141]
Next, the CPU 56 sets the start address of the switch timer (step S104), adds an offset to the address (step S105), and loads the value of the switch timer from the address after the addition (step S106). Since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 12, the value of the switch timer corresponding to the switch is loaded.
[0142]
Then, the CPU 56 compares the loaded switch timer value with the switch-on determination value (step S107). If they match, a switch-on flag is set (step 108).
[0143]
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 24a matches the switch-on determination value “2” (step S125). Then, the switch check-on routine is executed for the number of repetitions initially set (step S128, S129) while the offset of the switch timer address is updated (step S130). For 19b, 24a, and 24b, the value of the corresponding switch timer is compared with the switch-on determination value “2”.
[0144]
If the switch-on flag is set, command transmission buffer setting processing relating to ten prize ball number instructions is performed (step S126). In the command transmission buffer setting process, after predetermined data is set in the command transmission buffer for the payout control command, the command transmission counter is incremented by one. Further, 10 is added to the stored value of the total winning ball number storage buffer (step S127).
[0145]
The total winning ball number storage buffer is a buffer for storing a cumulative value of the number of winning balls instructed to the payout control means (however, subtracted when paying out), and is formed in the backup RAM.
[0146]
Next, the CPU 56 sets “0” as the offset of the input determination value table (step S131), and sets “4” as the offset of the switch timer address (step S132). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Also, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 12, the switch timer address offset “4” designates the switch timer corresponding to the start port switch 17. Means. Then, a switch-on check routine is called (step S133).
[0147]
In the switch-on check routine, if the value of the switch timer corresponding to the start port switch 17 matches the switch-on determination value “2”, the switch-on flag is set (step S134). When the switch-on flag is set, command transmission buffer setting processing relating to six prize ball number instructions is performed (step S135). In the command transmission buffer setting process, after predetermined data is set in the command transmission buffer for the payout control command, the command transmission counter is incremented by one. Further, 6 is added to the stored value of the total prize ball number storage buffer (step S136).
[0148]
Next, the CPU 56 sets “0” as the offset of the input determination value table (step S221), and sets “5” as the offset of the address of the switch timer (step S222). The offset “0” in the input determination value table means that the first data in the input determination value table is used. Also, since the switch timers are arranged in the same order as the bit order of the input ports shown in FIG. 12, the offset “5” of the switch timer address indicates that the switch timer corresponding to the count switch 23 is designated. means. Then, a switch-on check routine is called (step S223).
[0149]
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 S224). When the switch-on flag is set, command transmission buffer setting processing relating to 15 prize ball number instructions is performed (step S225). In the command transmission buffer setting process, after predetermined data is set in the command transmission buffer for the payout control command, the command transmission counter is incremented by one. Further, 15 is added to the stored value of the total winning ball number storage buffer (step S226).
[0150]
Then, the command set process is called (step S227). The operation of the command set process will be described in detail later, but when one or more payout control commands are stored in the command transmission buffer, the payout control command stored in the command transmission buffer is sent to the payout control board 37. Sent. As described above, when the payout control command for instructing the number of prize balls is output from the game control means to the payout control board 37, the command transmission buffer is set and then set in the command transmission buffer. A payout control command is sent to the payout control board 37.
[0151]
Note that the address of the command transmission table that is an input argument of the command set process (see step S331 in FIG. 28) is a command transmission in which an unsent command is stored in the case of a payout control command instructing the number of winning balls. This is the buffer address. Then, when the content of the total prize ball number buffer is not 0, that is, when there is still a prize ball remaining, the CPU 56 turns on a prize ball paying-in flag (steps S228 and S229).
[0152]
Further, when the winning ball paying-out flag is on (step S230), the CPU 56 monitors the number of winning balls actually paid out from the ball paying device 97 and subtracts the value stored in the total winning ball number storage buffer. The number of winning balls to be subtracted is performed (step S231). 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.
[0153]
In the prize ball processing, a command related to the prize ball number instruction is stored in the command transmission buffer (steps S126, S135, S225). However, in this embodiment, the command related to the designation of the payout stop state and the command related to the designation of the payable state are not stored in the command transmission buffer, and the address of the ROM area in which these commands are set is set in the command set processing subroutine ( This is input information to steps S206 and S207). Further, instead of such a configuration, in steps S203 and S205, a command relating to the payout stop state designation and a command relating to the payable state designation are stored in a buffer area (RAM area) different from the command transmission buffer, and the buffer area May be used as input information to the command set processing subroutine (steps S206 and S207).
[0154]
In the prize ball process, the check relating to the payout stop state is executed before the switch check relating to winning. Accordingly, the command relating to the payout stop state designation and the command relating to the payable state designation are sent to the payout control board 37 in preference to the command relating to the prize ball number instruction. Here, since the command relating to the payout stop state designation and the command relating to the payout possible state designation are stored in an area different from the command transmission buffer in which the command relating to the number of winning balls is stored, the priority sending control is facilitated. .
[0155]
In the payout control command setting process for designating the number of winning balls in the winning ball process shown in FIGS. 20 and 21, when it is determined that each winning port switch is turned on, the winning port determined to be on. The number of winning balls corresponding to the switch is added to the value of the total winning ball number storage buffer. However, when it is determined that the winning opening switch is turned on, the process for storing the data for designating the number of winning balls is stored in the ring buffer format command transmission buffer, and the command data to be transmitted is stored. Before calling the command set processing for outputting the command from the command transmission buffer in accordance with the value of the read pointer indicating the current area, the number of prize balls corresponding to the output data is added to the value of the total prize ball number storage buffer. It may be. The command set process will be described in detail later (see FIG. 28). Also, in order to save memory capacity, only data for specifying the number of winning balls (corresponding to EXT data) is stored in a ring buffer type command transmission buffer, and MODE data for indicating the number of winning balls is not stored. It may be. In such a configuration, when data for specifying the number of winning balls is output, the MODE data is read out from a predetermined memory area (for example, ROM area) and output, and then the EXT data is output from the command transmission buffer. The data corresponding to is read and output.
[0156]
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 each electric component control board (sub board), the command transmission buffer is set. FIG. 24A is an explanatory diagram illustrating a configuration example of the command transmission buffer. One command transmission buffer 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.
[0157]
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. . In this embodiment, 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. If the work area reference bit is 1, it indicates that the other 7 bits are an offset for designating the address of the table storing the EXT data. In this embodiment, a command transmission table is prepared for each control command.
[0158]
FIG. 24B 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. Accordingly, the CPU 56 sets “01 (H)” in the INT data, for example, in the prize ball process (step S31 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 S27 of the main process).
[0159]
Bits 2 and 3 of the INT data are bits indicating whether or not a lamp control command and a voice 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.
[0160]
In this embodiment, a plurality of command transmission buffers are prepared for each control command, and the command transmission buffer to be used is designated by a pointer. The plurality of command transmission buffers are used as ring buffers. For example, for the payout control command, 12 command transmission buffers are prepared as shown in FIG. Therefore, for example, when sending a payout control command indicating the number of prize balls in the prize ball process, the CPU 56 stores INT data, command data 1 and command data 2 in the command transmission buffer pointed to by the command transmission number counter. Set. Then, the command transmission number counter is updated. When the value of the command transmission number counter reaches 12, the value is returned to 0.
[0161]
FIG. 25 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”. Note that the command form shown in FIG. 25 is an example, and other command forms may be used.
[0162]
FIG. 26 is a timing chart showing the relationship between an 8-bit control signal that constitutes a control command from the game control board to each of the other electrical component control boards and an INT signal (strobe signal) as a capture signal. It is a timing chart showing the relationship between an 8-bit control signal and an INT signal that constitute a control command for each electric component control means. As shown in FIG. 26, when the period indicated by A elapses after MODE or EXT data is output to the output port, the CPU 56 sets the INT signal, which is a signal indicating data output, to a high level (turns on). ) To low level (turns off). Further, when the period indicated by B elapses thereafter, the INT signal is raised to the ON state. 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. Thus, the capture signal has a predetermined on-data period and a predetermined off-data period.
[0163]
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. The periods B and C are periods set so that the electric 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.
[0164]
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 voice control command to the voice control board 70 are the same command. It is sent out using a transmission processing routine (common module). Therefore, during the period of B and C, that is, the period from when the INT signal related to the first byte is turned off to the start of data transmission of the second byte, reception by the electrical component control means that takes the longest time for command reception processing. It is set to be longer than the processing time.
[0165]
Each electrical component control unit detects that the INT signal has changed from the on state (high level) to the off state (low level), and starts a 1-byte data capturing process by, for example, an interrupt process.
[0166]
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.
[0167]
In this embodiment, the CPU 56 operates with a system clock of (11.776 / 2) MHz. Specifically, 138 states (1 state = [2 / 11.776] μs) are applied to the period A, 82 states are applied to the period B, and 251 states are applied to the period C. Therefore, the period A (C) (high level period) is longer than the period B (low level period). In this embodiment, the electrical component control means starts the interrupt process when the INT signal changes to the low level and takes in the control command by the interrupt process. For example, the INT signal is input to the input port, When the control command reception process is started based on the level monitoring (monitoring whether or not the low level has continued for a predetermined period), the low level period is set shorter, resulting in noise or the like. It is possible to prevent erroneous reception.
[0168]
FIG. 27 is an explanatory diagram showing an example of the contents of the payout control command. In the example shown in FIG. 27, a command FF00 (H) with MODE = FF (H) and EXT = 00 (H) is a payout control command for designating a payout enabled state. A command FF01 (H) with MODE = FF (H) and EXT = 01 (H) is a payout control command for designating a payout stop state. A command F0XX (H) with MODE = F0 (H) is a payout control command for designating the number of winning balls. “XX”, which is EXT, indicates the number of payouts.
[0169]
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 payout and 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.
[0170]
The payout control command is sent only once so that the payout control means can recognize it. In this example, “recognizable” means that the INT signal is turned on, and “recognizable only once” means that in this example, each of the first and second bytes of the payout control signal is sent. In response, the INT signal is turned on only once.
[0171]
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 bits 0 to 3 of output port 0 is turned on for a predetermined period. However, the bit arrangement in the INT data and the bit arrangement in the output port 0 correspond to each other. Therefore, when sending a command to each electrical component control board, it is possible to easily output an INT signal based on the INT data set in the command transmission buffer.
[0172]
FIG. 28 is a flowchart illustrating a processing example of command set processing (steps S206, S207, and S227). 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. The payout control command indicating the number of winning balls is stored in the command transmission buffer shown in FIG. 24. Therefore, when a payout control command indicating the number of winning balls is sent, the address indicating the command transmission table is Actually, it is an address that points to the command transmission buffer.
[0173]
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).
[0174]
FIG. 29 is a flowchart showing a command transmission processing routine. In the command transmission processing routine, the CPU 56 first sets the data set as the argument 1, that is, the INT data, in the work area determined as the comparison value (step S351). Next, the number of transmissions = 4 is set 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.
[0175]
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.
[0176]
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.
[0177]
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 3 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.
[0178]
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 voice control command are to be transmitted by the third and fourth shift processes. As described above, when each shift process is performed, an IO address corresponding to a command (payout control command, display control command, lamp control command, voice control command) checked by the shift process is set in the IO address. Has been.
[0179]
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.
[0180]
In addition, since it is determined to which electrical component control means the control command should be output only by the shift processing, the process for determining to which electrical component control means the control command should be output is simplified. It has become.
[0181]
Next, the CPU 56 reads the content of the argument 1 storing the INT data before the start of the shift process (step S360), inverts the read data, and outputs it 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 voice 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, voice control command) output in the processing of steps S351 to S359 is “1”. It has become. Accordingly, the INT signal corresponding to the control command (payout control command, display control command, lamp control command, voice control command) output to any of the ports 1 to 4 is turned off (low level).
[0182]
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 OFF period (low level period = B period) of the INT signal (control signal INT) shown in the timing chart of FIG. When the value of the wait counter becomes 0, clear data (all “1” in this example) is set (step S365), and the data is output to port 0 (step S366). Therefore, the INT signal is turned on (high level). Then, 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 a period from the fall of the first INT signal to the start of EXT data output.
[0183]
Therefore, the value set in the wait counter in step S367 is the period from the falling edge of the first INT signal until the start of EXT data output. The value is such that a sufficient period of time is obtained for surely receiving the command. Further, the value set in the wait counter is a value such that the period becomes longer than the time required for the processing of steps S351 to S359.
[0184]
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 S339). If not 0, the head address of the command extended data address table is set in the pointer (step S339), and the value of bit 6 to bit 0 of the command data 2 is added to the pointer to calculate the address (step S340). Then, the data of the area indicated by the address is loaded into the argument 2 (step S341).
[0185]
In the command extension data address table, EXT data that can be sent to the electrical component control means is sequentially set. Therefore, if the value of the work area reference bit is “1” by the above processing, the EXT data in the command extended data address table corresponding to the contents of the command data 2 is loaded into the argument 2 and the work area reference bit If the value is “0”, the contents of the command data 2 are loaded into the argument 2 as they are. Even when EXT data is read from the command extension data address table, bit 7 of the data is “0”.
[0186]
Next, the CPU 56 calls a command transmission processing routine (step S342). Therefore, the EXT data is transmitted at the same timing as the transmission of MODE data. Thereafter, the CPU 56 restores the address of the command transmission table (step S343) and updates the value of the read pointer indicating the command transmission table (step S344). When the value of the read pointer exceeds the position of the command command transmission buffer 12 shown in FIG. 24C, the value of the read pointer is returned to zero.
[0187]
As described above, each control command (payout control command, display control command, lamp control command, voice control command) having a 2-byte configuration is handled by the command control processing module which is one control signal output module. It is transmitted to the control means. In the electrical component control means, when the falling edge of the INT signal as the capture signal is detected, the control command capture process is started. A new signal from is not output to the signal line. 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 rising edge of the INT signal. Further, the polarity of the INT signal may be reversed from that shown in FIG.
[0188]
In this embodiment, a plurality of command transmission tables are used as ring buffers. In the command set process shown in FIG. 28, command output control is performed for the command transmission table (command transmission buffer) pointed to by the read pointer. In the process of setting data in the command transmission buffer, the command setting process is performed for the command transmission buffer indicated by the command transmission number counter. Therefore, even if a plurality of command transmission requests are generated at the same time, command output processing based on these requests is executed without any problem.
[0189]
Furthermore, in this embodiment, both a payout stop 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 command signals can be transmitted within one control period activated every 2 ms. In this embodiment, a plurality of command transmission tables are prepared for each control command (display control command, lamp control command, voice control command, payout control command) to each control means. When a control command is set in the command transmission table of the display control command, the lamp control command, and the voice control command, a plurality of display control commands, lamp control commands, and voice control commands are transmitted in one command control process. It is also possible to configure as described above. That is, at the same time (meaning in one main process start cycle), those control commands can be sent out. 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 voice control command.
[0190]
FIG. 30 is a flowchart showing an example of the prize 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 S241). Then, it is confirmed whether or not the stored value is 0 (step S242). If 0, the process ends.
[0191]
If it is not 0, the switch timer for the prize ball count switch is loaded (step S243), and the load value is compared with the ON determination value (in this case, “2”) (step S244). If they match (step S245), 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 S246).
[0192]
Also, the value of the prize ball information counter is incremented by 1 (step S247). If the value of the prize ball information counter is 10 or more (step S248), the value of the prize ball information output counter is incremented by 1 (step S249), and the value of the prize ball information counter is incremented by -10 (step S250). The value of the prize ball information output counter is referred to in the information output process (step S29) in the main process shown in FIG. 13. If the value is 1 or more, the prize ball signal (bit 7 of the output port 5). : See FIG. 11), 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.
[0193]
When the value stored in the total prize ball number storage buffer becomes 0 (step S251), the prize ball paying-in flag is cleared (step S252), and a lamp control command is issued to notify that there is no prize ball remaining number. After command data indicating that the prize ball lamp 51 is extinguished is set in the command transmission table (step S253), a lamp control command sending process is executed (step S254).
[0194]
Next, as an example of the case where the control command reception process is performed in the electrical component control means other than the game control means, the case where the payout control command is received in the payout control means will be described.
[0195]
FIG. 31 is a block diagram illustrating a configuration example around the payout control CPU 371. As shown in FIG. 31, 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 payout control CPU 371 via the buffer circuit 960. Yes. Therefore, the payout control CPU 371 can confirm the occurrence of power interruption by the non-maskable interrupt process.
[0196]
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. Accordingly, if the initial value of the timer counter register CLK / TRG2 is set to “1”, an interrupt is generated in response to the fall of the INT signal.
[0197]
Although the system reset circuit 975 is also mounted on the payout control board 37, in this embodiment, the reset IC 976 in the system reset circuit 975 outputs an output to the external capacitor for a predetermined time determined by the capacity when the power is turned on. The output is set to a low level and the output is set to a high level when a predetermined time has elapsed. Further, the reset IC 976 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 976 sets the output to a low level. Therefore, when the power is turned off, the payout control CPU 371 is system reset by the signal from the reset IC 976 becoming low level.
[0198]
The predetermined value for the reset IC 976 to detect power-off is lower than the normal voltage, but is a voltage that allows the payout control CPU 371 to operate for a while. Further, since the reset IC 976 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 set. Can be spread. Therefore, more precise monitoring can be performed.
[0199]
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 supplied from the power supply board to the backup terminal, and the power to the gaming machine is cut off. The contents are saved. When the +5 V power supply is restored, a reset signal is issued from the system reset circuit 975, 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 return to the payout control state at the time of the power failure when recovering from the power failure.
[0200]
In the configuration shown in FIG. 31, the system reset circuit 975 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. 9, a circuit configuration that generates a plurality of reset release timings may be used.
[0201]
FIG. 32 is an explanatory diagram showing assignment of output ports in this embodiment. As shown in FIG. 32, the output port C (address 00H) is an output port for a drive signal 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.
[0202]
FIG. 33 is an explanatory diagram showing bit assignment of input ports in this embodiment. As shown in FIG. 33, 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 from the winning ball count switch 301A, the ball lending count switch 301B, and the motor position sensor are input to bits 0 to 2 of the input port B (address 07H), respectively. Bits 3 to 5 are supplied with a BRDY signal, a BRQ signal, and a VL signal from the card unit 50.
[0203]
FIG. 34 is a flowchart showing main processing of the payout control CPU 371. 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 a stack pointer designation address 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).
[0204]
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. Register settings are made. 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).
[0205]
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 timer interrupt flag is set. When it is detected in the main process that the timer interrupt flag is set, a payout control process is executed. That is, in the timer interrupt process, settings for executing a payout control process, which is an example of an electrical component control process, are made.
[0206]
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.
[0207]
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.
[0208]
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. Further, it is possible to set an interrupt processing start address corresponding to the interrupt vector transmitted by the CTC.
[0209]
The interrupt based on the count-up of the 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. That is, the initial value of the register for command reception interrupt is set. 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, the register value of CH3 is subtracted at 1/256 period of the system clock. In step S705, the CH3 register is set to a value corresponding to 2 ms as an initial value. That is, the initial value of the register for timer interrupt is set.
[0210]
As described above, in the initial setting process, set the interrupt mode (specifically, interrupt mode 2) that allows the peripheral circuit to specify the execution address of the interrupt process according to the interrupt vector output together with the interrupt request. To do. Also, the built-in device register is initialized. Payout control can be executed in an appropriate operation mode, and as a result, development man-hours and gaming machine costs can be reduced.
[0211]
Note that the interrupt based on the CTC CH2 count-up has a higher priority than the interrupt based on the 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.
[0212]
Then, the payout control CPU 371 checks whether backup data exists in the payout control backup RAM area (step S707). That is, for example, similarly to 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 the power is turned off is set. If the backup flag is set, it is determined that there is backup data.
[0213]
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. In the case of recovery after an unexpected power failure, the data in the backup RAM area should have been saved, 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 power-off, and therefore an initialization process that is executed at the time of power-on not at the time of power failure recovery is executed.
[0214]
If the check result is normal (step S708), the payout control CPU 371 performs a payout state recovery process for returning the internal state to the state when the power is turned off (step S709). Then, it returns to the address indicated by the PC (program counter) stored in the backup RAM area.
[0215]
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. Since interruption is prohibited in step S701 of the initial setting process, interruption is permitted before the initialization process is completed (step S713).
[0216]
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, as shown in FIG. 35, the payout control CPU 371 sets a timer interrupt flag indicating that a timer interrupt has occurred, for example (step S721). In FIG. 35, it is also clearly indicated that the interrupt is permitted (step S720). In the 2 ms timer interrupt process, the interrupt permission state is first set. In other words, since the interrupt is permitted during the 2 ms timer interrupt process, the payout control command receiving process based on the input of the INT signal can be preferentially executed.
[0217]
The payout control CPU 371 executes a payout control process after step S751 when detecting that the timer interrupt flag is set in step S724. With the above control, in this embodiment, the payout control process is started every 2 ms. In this embodiment, only the flag is set in the timer interrupt process, and the payout control process is executed in the main process, but the payout control process may be executed in the timer interrupt process.
[0218]
In the payout control process, the payout control CPU 371 first determines whether or not the prize ball count switch 301A and the ball lending count switch 301B input to the input port 372b via the relay board 72 are turned on (switch process: Step S751).
[0219]
Next, the payout control CPU 371 performs processing such as checking the signal input state from a sensor (for example, a motor position sensor that detects the rotation speed of the payout motor 289) and determining the state of the sensor (input determination processing). : Step S752). The payout control CPU 371 further analyzes the received payout control command and executes a process according to the analysis result (command analysis execution process: step S753).
[0220]
Next, the payout control CPU 371 sets the payout stop state when the payout stop instruction command is received from the main board 31, and cancels the payout stop state when the payout start instruction command is received (step S754). Further, a prepaid card unit control process is performed (step S755).
[0221]
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.
[0222]
Further, the payout control CPU 371 performs prize ball control processing 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).
[0223]
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.
[0224]
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).
[0225]
The output port C 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.
[0226]
FIG. 36 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 rented ball number storage stores the number of balls that have not been paid out.
[0227]
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.
[0228]
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 failure such as a power failure occurs, the winning ball processing and the ball lending processing stored in the backup RAM area can be continued if the power is restored within a predetermined period. Therefore, the disadvantage given to the player can be reduced.
[0229]
FIG. 37 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 the confirmed 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.
[0230]
FIG. 38 is a flowchart showing the payout control command receiving process by the 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 falls, the value of the timer counter register CLK / TRG2 becomes 0 and the payout control CPU 371 is interrupted, and the payout control command receiving process shown in FIG. 38 is started. The
[0231]
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 voice control unit.
[0232]
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. 7) assigned to the input of the payout control command data (step S851). Then, it is confirmed whether or not it is the first byte of the 2-byte payout control command (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) in the payout control command having a 2-byte configuration (see FIG. 25). 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 confirmed command buffer indicated by the command reception number counter in the reception buffer area (step S31). S853).
[0233]
If it is not the first byte of the payout control command, it is confirmed whether 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 (deterministic command buffer).
[0234]
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 confirmed 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. 25).
[0235]
If the confirmation result in step S854 indicates that the first byte has not yet been received, the process ends. With such control, when the second byte is received before the first byte is received, the data is invalidated. That is, it is not stored in the fixed command buffer.
[0236]
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 interrupt permission is set (step S859).
[0237]
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 reception process is determined, it is possible to accurately determine how long the period C (see FIG. 26) in the command transmission process of the game control means should be.
[0238]
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.
[0239]
FIG. 39 is a flowchart illustrating an example of the switch process in step S751. In the switch process, the payout control CPU 371 checks whether or not the prize ball count switch 301A indicates the on state (step S751a). If the on state is indicated, the payout control CPU 371 increments the prize ball count switch on counter by 1 (step S751b). The prize ball count switch on counter is a counter for counting the number of times the on state of the prize ball count switch 301A is detected.
[0240]
Then, the value of the prize ball count switch-on counter is checked (step S751c). 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) by −1 (step S751d).
[0241]
When it is confirmed in step S751a that the prize ball count switch 301A is not in the on state, the payout control CPU 371 clears the prize ball count switch on counter (step S751e). In this embodiment, it is checked whether or not the ball lending count switch 301B indicates the on state (step S751f). If the on state is indicated, the payout control CPU 371 increments the ball lending count switch on counter by 1 (step S751g). The ball lending count switch on counter is a counter for counting the number of times that the ball lending count switch 301B is turned on.
[0242]
Then, the value of the ball lending count switch-on counter is checked (step S751h). If the value is 2, it is determined that one lending ball has been paid out. When it is determined that one lending ball has been paid out, the payout control CPU 371 decrements the lending ball unpaid-out number counter (the number of lending balls stored in the lending ball number storage) (step S751i). ).
[0243]
When it is confirmed in step S751f that the ball lending count switch 301B is not in the on state, the payout control CPU 371 clears the ball lending count switch on counter (step S751j).
[0244]
FIG. 40 is a flowchart illustrating an example of the command analysis execution process in step S753. In the command analysis execution process, the payout control CPU 371 checks whether or not there is a received command in the confirmed command buffer area (step S753a). If there is a received command, it is checked whether or not the received payout control command is a payout number instruction command (step S753b). The payout control CPU 371 determines in step S753b for the received command stored at the address in the confirmed command buffer area pointed to by the read pointer as the command signal 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 confirmed command buffer 12 (see FIG. 37), the value of the read pointer is updated to point to the confirmed command buffer 1.
[0245]
If the received payout control command is a payout number instruction command, the number specified by the payout number instruction command is added to the total number memory (step S753c). That is, the payout control CPU 371 stores the number of prize balls included in the payout number instruction command sent from the CPU 56 of the main board 31 in the backup RAM area (total number memory).
[0246]
The payout control CPU 371 performs subtraction of the command reception number counter and reception command shift processing in the confirmed command buffer area, if necessary.
[0247]
FIG. 41 is a flowchart showing an example of the payout stop state setting process in step S754. In the payout stop state setting process, the payout control CPU 371 checks whether or not there is a received command in the confirmed command buffer area (step S754a). If there is a received command in the fixed command buffer area, it is checked whether or not the received payout control command is a payout stop instruction command (step S754b). If it is a payout stop instruction command, the payout control CPU 371 sets the payout stop state (step S754c).
[0248]
If it is confirmed in step S754b that the received command is not a payout stop instruction command, it is checked whether or not the received payout control command is a payout start instruction command (step S754d). If it is a payout start instruction command, the payout stop state is canceled (step S754e).
[0249]
FIG. 42 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 example (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).
[0250]
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.
[0251]
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). .
[0252]
43 and 44 are flowcharts illustrating 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.
[0253]
In the ball lending control process, the payout control CPU 371 checks whether or not the lending ball is being paid out (step S511). If the lending ball is being paid out, the process proceeds to the ball lending process shown in FIG. 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.
[0254]
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 motor 289 is turned on (step S518), and the process proceeds to the ball lending process shown in FIG.
[0255]
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. The ball lending process flag is set in the backup RAM area.
[0256]
FIG. 44 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 output of the ball lending count switch 301B. Therefore, the ball lending control processing subtracts the lending ball number storage. Is not done. 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. The rotation corresponding to the predetermined number of payouts is monitored by the output of the payout motor position sensor. 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).
[0257]
In the ball lending process in step S520, the on / off state of the payout motor position sensor is monitored by a timer. If the on state or the off state continues for a predetermined time or longer, the payout control CPU 371 issues a payout motor ball bit error. Is determined to have occurred.
[0258]
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.
[0259]
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.
[0260]
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 gaming machine is powered off. 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.
[0261]
45 and 46 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.
[0262]
In the winning ball control process, the payout control CPU 371 checks whether or not the lending ball is being paid out (step S531). Whether or not the ball lending is being paid out is determined by the state of the ball lending process flag. If the ball is not paid out, it is confirmed whether or not the prize ball is being paid out (step S532). If the prize ball is being paid out, the process proceeds to the process in the prize ball shown in FIG. 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.
[0263]
If neither the lending ball payout nor the prize ball payout is found, the payout control CPU 371 checks whether or not there is a ball lending preparation request from the card unit 50 (step S533). Whether or not there is a ball lending preparation request is determined by confirming whether the BRDY signal input from the card unit 50 is on (requested) or off (no request).
[0264]
If there is no ball lending preparation request from the card unit 50, the payout control CPU 371 checks whether or not the number of prize balls (number of unpaid prize balls) stored in the total number memory is 0 (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.
[0265]
If 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). If the number of prize balls stored in the total number memory is not 25 or more, the payout control CPU 371 drives the payout motor 289 to rotate until all the game balls stored in the total number memory are paid out. In order to output the total number delivery operation (step S538). Next, the payout motor 289 is turned on (step S538). 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.
[0266]
FIG. 46 is a flowchart illustrating 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 in step S751, it is confirmed whether or not a game ball has been paid out based on the detection output of the prize ball count switch 301A. Therefore, in the prize ball control process, the total number memory is subtracted. Is not done. 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 has been completed). Is confirmed (step S542). Specifically, it is confirmed whether or not the rotation corresponding to the predetermined number of payouts has been completed. The rotation corresponding to the predetermined number of payouts is monitored by the output of the payout motor position sensor. 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.
[0267]
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. Accordingly, the payout control CPU 371 turns off the prize ball processing flag if the prize 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.
[0268]
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.
[0269]
The contents of the total number storage and the rented ball number storage are stored by the backup power source of the power supply board 910 for a predetermined period even if the power of the gaming machine is cut off. Therefore, when the power 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.
[0270]
The payout control CPU 371 manages the number of prize balls instructed from the main board 31 as a 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 the number of winning balls 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 a prize ball payout corresponding to the number counter is performed, the number counter is decremented by 1 (in this case, a 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 of the gaming machine is cut off, if the power recovers during a predetermined period, the payout control CPU 371 can continue the prize ball payout process based on the contents of each number counter.
[0271]
As described above, in this embodiment, the payout control means detects that the INT signal related to the payout control signal has fallen from the on state (high level) to the off state (low level), for example, The 1 byte data capturing process is started by the capturing process. Since a receiving ring buffer area (in this example, a fixed command buffer) that can store a plurality of payout control commands is provided, after the payout control command is received, the next payout is started before the control based on the command is started. Even if a control command is received, the command is not received by the payout control means.
[0272]
Further, as shown in the flowcharts of FIGS. 19 and 20, the game control means is configured to be able to execute the command set process of step S235 even in the payout stop state (step S201). . Therefore, even when the payout is stopped, when a winning is detected, a payout control command indicating the number of payouts is sent to the payout control means.
[0273]
In the payout control means, the interruption process is started even when the payout is stopped, so that the payout control means can receive the payout control command even when the payout is stopped. While the payout is stopped, payout processing according to the received payout control command is stopped, but a receiving ring buffer area capable of storing a plurality of payout control commands is provided. The issued payout control command does not disappear in the payout control means.
[0274]
Then, in the payout control means, a command reception number counter is used as an address indicating means indicating in which area of the reception ring buffer area (in this example, the confirmed command buffer) the transmission command is stored. Therefore, it is easy to determine which area should be used.
[0275]
In the game control means, the transmission command is stored in a ring buffer type command transmission buffer (see FIG. 24). However, as shown in the flowcharts of FIGS. 19 to 21, with regard to the payout control command, the payout control command indicating the number of winning balls is stored in the command transmission buffer (steps S222, S226, S232), but payout is stopped. The payout control command related to the state designation and the payout control command related to the payable state designation are not stored in the command transmission buffer.
[0276]
In the flowcharts of FIGS. 19 to 21, since the check regarding the payout stop state is executed before the check of the switch regarding the winning a prize, the payout control command and the payout regarding the payout stop state designation within one processing period of 2 ms. The payout control command relating to the possible state designation is sent preferentially. That is, an important command signal that is preferably started early, such as a signal for commanding operation stop / restart of an electrical component, is transmitted first within one control period. Note that the payout control command for specifying the payout stop state and the payout control command for specifying the payable state may also be stored in the command transmission buffer, like the payout control command indicating the number of winning balls. Even in such a configuration, if a check on the payout stop state is executed before the check on the switch related to the winning a prize, the payout control command related to the payout stop state designation and the payout control command related to the payout enable state designation are preferentially transmitted. Is done.
[0277]
Also in the game control means, a pointer (“address indicating a command transmission table” in FIG. 28) is used as an address indicating means indicating which area of the ring buffer type command transmission buffer is to be transmitted. Therefore, it is easy to determine which area data is to be transmitted.
[0278]
In the above embodiment, the payout control means is taken as an example. However, other electrical component control means such as display control means, sound control means, lamp control means, etc. are also processed from the game control means by the processing as described above. The control command can be received reliably.
[0279]
In the above embodiment, the power supply monitoring circuit is provided on the power supply board 910. However, the power supply monitoring circuit may be provided on an electrical component control board such as the main board 31 or the payout control board 37. When an electrical component control board on which a power supply circuit is mounted is configured, a power supply monitoring circuit is not mounted on the power supply board.
[0280]
The pachinko gaming machine 1 according to each of the above embodiments mainly has 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. The first type pachinko gaming machine that can be given to a player, but if there is a winning in a predetermined area of an electric accessory that is released based on a start winning, a second gaming value can be given to the player When a winning is given to a predetermined electric game that is released when a stop symbol of a symbol variably displayed based on a seed pachinko gaming machine or a start winning combination becomes a predetermined symbol combination, a predetermined right is generated or continued. The present invention can be applied even to a seed pachinko gaming machine.
[0281]
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.
[0282]
【The invention's effect】
  According to the first aspect of the present invention, when the payout control microcomputer executes an interrupt processing program when a predetermined interrupt condition is satisfied and the gaming machine is turned on, the payout control process is performed on the gaming machine. An interrupt processing program for executing a command reception interrupt process for setting a register for specifying an execution address of an interrupt processing program for executing a game and receiving a prize game medium command from a game control microcomputer The register for designating the execution address of the game is set, the command reception interrupt process of the set execution address is executed based on the input of the fetch signal from the game control microcomputer, and the received award game medium commandCommand dataA game area command from a game control microcomputer having a buffer area that can store a plurality ofCommand dataIs configured to store in the buffer area, so that the payout control can be executed in an appropriate operation mode,PayThere is an effect that the outgoing control microcomputer can reliably receive the command from the gaming control microcomputer.
[0283]
  In invention of Claim 2,The payout control microcomputer is provided with an interrupt generating means for updating the counter under a predetermined condition and generating a predetermined interrupt according to the contents of the counter. The interruption by the interrupt generating means executes the payout control process. Used as an opportunity,Command reception interrupt processingInterrupt processing program to executeBut,For executing the payout control processInterrupt processingprogramSince it is configured to be executed with priority over other interrupt processing, command reception takes precedence over other interrupt processing.InterruptProcessing will be started and game controlMicrocomputerCommand fromSureIt can be received.
[0285]
  Claim3In the described invention,Discharge control microcomputerHowever, the command reception interrupt process is configured to determine whether or not the input command is appropriate, so that it is surely prevented that an incorrect command is input and incorrect control is performed. Is done.
[0286]
  Claim4In the described invention, game controlMicrocomputerBut multipleAward game mediaHas a buffer area that can store commands at the same time,Since commands to be output are stored in the buffer area, commands that occur frequently can be easily processed.
[0287]
  Claim5In the described invention,The game control microcomputer is a prize game mediumStore commands in the buffer area and control payoutMicrocomputerStore the command for specifying the operating status of the host in a separate area from the buffer area.Award game mediaSince the output is given priority over the command, an important command such as a command for instructing to stop paying out or to resume paying can be sent quickly with priority.
[0288]
  Claim6In the described invention,Interrupt generation meansIn response to the register being updated by a predetermined clock signal having a predetermined valueA given interruptSince it is configured to occur, the interrupt generation timing can be easily set by appropriately setting the initial value of the register.
[0289]
  Claim7In the described invention,For executing the payout control processInterrupt processingprogramIs configured to run in an interrupt-enabled state,For executing the payout control processEven if the execution time of periodic interrupt processing becomes longer, other interrupt processing can be executed during that time, and command receptionInterruptPrioritizing the processing over the periodic interrupt processing can be easily realized.
[0290]
  Claim8In the described invention, since the command reception interrupt is generated in response to the register being updated by the input of the capture signal having a predetermined value,Discharge control microcomputerHowever, commands can be received easily. Also, commands can be received simply by setting initial values in the registers.InterruptYou can create an execution timing for the process,Discharge control microcomputerIs easy to develop, and as a result, development of a gaming machine is facilitated.
[0291]
  Claim9In the described invention, since the interrupt is not permitted until the command reception interrupt process is completed, the command reception interrupt process is not interrupted by other processes, and the command receptionInterruptPrioritizing processing over other processing can be easily realized.
[Brief description of the drawings]
FIG. 1 is a front view of a pachinko gaming machine as viewed from the front.
FIG. 2 is an explanatory view showing each board provided on the back surface of the pachinko gaming machine.
FIG. 3 is a rear view of the mechanism board of the pachinko gaming machine as viewed from the back.
FIG. 4 is a front view showing a configuration around an intermediate base unit installed on a mechanism plate.
FIG. 5 is an exploded perspective view showing a ball dispensing device.
FIG. 6 is a block diagram showing a circuit configuration of a game control board (main board).
FIG. 7 is a block diagram showing components related to a prize ball such as components of a payout control board and a ball payout device.
FIG. 8 is a block diagram illustrating a configuration example of a power supply board.
FIG. 9 is a block diagram illustrating an example of a configuration around a CPU in a main board.
FIG. 10 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 11 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 12 is an explanatory diagram illustrating an example of bit assignment of an input port.
FIG. 13 is a flowchart showing main processing executed by the CPU on the main board.
FIG. 14 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. 15 is a flowchart showing a 2 ms timer interrupt process.
FIG. 16 is an explanatory diagram showing an example of forming a switch timer in a RAM.
FIG. 17 is a flowchart illustrating an example of switch processing.
FIG. 18 is a flowchart illustrating an example of a switch check process.
FIG. 19 is a flowchart showing an example of a prize ball process.
FIG. 20 is a flowchart showing an example of a prize ball process.
FIG. 21 is a flowchart showing an example of a prize ball process.
FIG. 22 is a flowchart showing a switch-on check process.
FIG. 23 is an explanatory diagram of a configuration example of an input determination value table.
FIG. 24 is an explanatory diagram of a configuration example of a command transmission buffer.
FIG. 25 is an explanatory diagram showing an example of a command form of a control command.
FIG. 26 is a timing chart showing a relationship between an 8-bit control signal and an INT signal constituting a control command.
FIG. 27 is an explanatory diagram showing an example of the contents of a payout control command.
FIG. 28 is a flowchart illustrating an example of command set processing.
FIG. 29 is a flowchart showing a command transmission processing routine.
FIG. 30 is a flowchart illustrating an example of a winning ball number subtraction process.
FIG. 31 is a block diagram showing a configuration example around a payout control CPU for power supply monitoring and power supply backup.
FIG. 32 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 33 is an explanatory diagram showing an example of bit assignment of an input port.
FIG. 34 is a flowchart showing main processing executed by the CPU in the payout control board.
FIG. 35 is a flowchart showing a 2 ms timer interrupt process.
FIG. 36 is an explanatory diagram showing a configuration example of a RAM in the payout control unit.
FIG. 37 is an explanatory diagram of a configuration example of a reception buffer.
FIG. 38 is a flowchart illustrating an example of command reception processing of a payout control CPU.
FIG. 39 is a flowchart illustrating an example of switch processing.
FIG. 40 is a flowchart illustrating an example of command analysis execution processing.
FIG. 41 is a flowchart showing an example of a payout stop state setting process.
FIG. 42 is a flowchart showing an example of a prepaid card unit control process.
FIG. 43 is a flowchart illustrating an example of a ball lending control process.
FIG. 44 is a flowchart showing an example of a ball lending control process.
FIG. 45 is a flowchart illustrating an example of a prize ball control process.
FIG. 46 is a flowchart showing an example of a prize ball control process.
[Explanation of symbols]
31 Game control board (main board)
37 Dispensing control board
56 CPU
97 Ball dispenser
301A Prize ball count switch
301B Ball rental count switch
371 CPU for payout control
910 Power supply board

Claims (9)

遊技者が所定の遊技を行い、入賞に応じて賞遊技媒体を払い出す遊技機であって、
技の進行を制御するとともに指令情報としてコマンドを出力する遊技制御用マイクロコンピュータ
前記遊技制御用マイクロコンピュータから出力されるコマンドを受信し、受信したコマンドに応じて遊技機に設けられる電気部品を制御する複数のマイクロコンピュータとを備え、
前記複数のマイクロコンピュータは、入賞に応じて前記遊技制御用マイクロコンピュータから出力される賞遊技媒体の払出個数を特定可能な賞遊技媒体コマンドにもとづいて賞遊技媒体の払出制御処理を実行する払出制御用マイクロコンピュータを含み、
前記賞遊技媒体コマンドを含むコマンドは2バイトのコマンドデータで構成され、
前記遊技制御用マイクロコンピュータは、前記複数のマイクロコンピュータに対してコマンドデータコマンドデータの取込を指示する取込信号とを出力するためのコマンド出力処理を実行し、前記コマンド出力処理において前記複数のマイクロコンピュータに対するコマンドデータおよび取込信号を同一のサブルーチンをコールして出力し、
前記遊技制御用マイクロコンピュータは、コマンドにおける1バイト目のコマンドデータを出力して取込信号を出力した後、所定期間経過後に2バイト目のコマンドデータを出力し、
前記払出制御用マイクロコンピュータは、
所定の割込条件が成立した場合に割込処理プログラムを実行し、
遊技機に対する電源が投入されると、前記払出制御処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行うとともに、前記遊技制御用マイクロコンピュータからの前記賞遊技媒体コマンドを受信するコマンド受信割込処理を実行するための割込処理プログラムの実行アドレスを指定するレジスタの設定を行い、
前記遊技制御用マイクロコンピュータからの前記取込信号の入力にもとづいて、設定された実行アドレスの前記コマンド受信割込処理を実行するとともに、受信した前記賞遊技媒体コマンドのコマンドデータを同時期に複数格納可能なバッファエリアを有し、前記遊技制御用マイクロコンピュータからの前記賞遊技媒体コマンドのコマンドデータを前記バッファエリアに格納し、
前記遊技制御用マイクロコンピュータは、前記所定期間を、前記複数のマイクロコンピュータのそれぞれがコマンドデータを受信するために要する期間のうちの最大の期間以上の値として、コマンドデータを出力する
ことを特徴とする遊技機。
A gaming machine in which a player plays a predetermined game and pays out an award game medium in accordance with a prize,
A game control microcomputer for outputting a command as the command information to control the progress of Yu technique,
A plurality of microcomputers for receiving a command output from the gaming control microcomputer and controlling electrical components provided in the gaming machine according to the received command ;
The plurality of microcomputers execute payout control for executing award game medium payout control processing based on award game medium commands that can specify a payout number of award game media output from the game control microcomputer according to winning. Including a microcomputer for
The command including the award game medium command is composed of 2-byte command data,
The game control microcomputer executes the command data to the plurality of microcomputers, a command output process for outputting an accepting signal for instructing the acquisition of the command data, the in the command output processing Command data and capture signals for multiple microcomputers are output by calling the same subroutine.
The game control microcomputer outputs command data of the first byte in the command and outputs a capture signal, and then outputs command data of the second byte after a predetermined period of time elapses,
The dispensing control microcomputer is:
When a predetermined interrupt condition is satisfied, execute the interrupt processing program,
When power to the gaming machine is turned on, performs a setting register that specifies the execution address of the interrupt processing program for executing the payout control process, the prize game medium command from the game control microcomputer Set the register that specifies the execution address of the interrupt processing program to execute the command reception interrupt processing to receive,
Wherein based on input of the accepting signal from the game control microcomputer, a plurality and executes the command reception interruption processing of the set execution address, the command data of the prize game media command received at the same time a retractable buffer area, and stores the command data of the prize game medium command from the game control microcomputer in the buffer area,
The gaming control microcomputer outputs the command data by setting the predetermined period as a value equal to or greater than a maximum period of periods required for each of the plurality of microcomputers to receive command data. To play.
払出制御用マイクロコンピュータは、所定の条件でカウンタを更新し、カウンタの内容に応じて所定の割込を発生する割込発生手段を備え、
前記割込発生手段による割込は、前記払出制御処理の実行契機として使用され、
コマンド受信割込処理を実行するための割込処理プログラムは、前記払出制御処理を実行するための割込処理プログラムに優先して実行される
請求項1記載の遊技機。
The payout control microcomputer includes an interrupt generation means for updating the counter under a predetermined condition and generating a predetermined interrupt according to the contents of the counter,
The interruption by the interruption generating means is used as an execution opportunity of the payout control process,
The gaming machine according to claim 1, wherein an interrupt processing program for executing a command reception interrupt process is executed in preference to an interrupt processing program for executing the payout control process.
払出制御用マイクロコンピュータは、コマンド受信割込処理で、入力したコマンドが適正であるか否かの判定を行う
請求項1または請求項2記載の遊技機。
The gaming machine according to claim 1 or 2, wherein the payout control microcomputer determines whether or not the input command is appropriate in the command reception interrupt process.
遊技制御用マイクロコンピュータは、複数の賞遊技媒体コマンドを同時期に格納可能なバッファエリアを有し、出力するコマンドを前記バッファエリアに格納する
請求項1ないし請求項3記載の遊技機。
The gaming machine according to any one of claims 1 to 3, wherein the game control microcomputer has a buffer area capable of storing a plurality of award game medium commands at the same time, and stores an output command in the buffer area.
遊技制御用マイクロコンピュータは、賞遊技媒体コマンドをバッファエリアに格納し、
前記払出制御用マイクロコンピュータの動作状態を指定するためのコマンドを前記バッファエリアとは別の領域に格納して前記賞遊技媒体コマンドよりも優先して出力する
請求項4記載の遊技機。
The game control microcomputer stores award game medium commands in the buffer area,
The gaming machine according to claim 4, wherein a command for designating an operating state of the payout control microcomputer is stored in an area different from the buffer area and is output with priority over the prize game medium command.
割込発生手段は、所定のクロック信号によって更新されるレジスタが所定値になったことに応じて所定の割込を発生する
請求項1ないし請求項5記載の遊技機。
The gaming machine according to any one of claims 1 to 5, wherein the interrupt generation means generates a predetermined interrupt in response to a register updated by a predetermined clock signal having a predetermined value.
払出制御処理を実行するための割込処理プログラムは、割込許可状態で実行される
請求項1ないし請求項6記載の遊技機。
The gaming machine according to any one of claims 1 to 6, wherein the interrupt processing program for executing the payout control process is executed in an interrupt-permitted state.
コマンド受信割込は、取込信号の入力によって更新されるレジスタが所定値になったことに応じて発生する
請求項1ないし請求項7記載の遊技機。
The gaming machine according to any one of claims 1 to 7, wherein the command reception interrupt is generated in response to a register updated by an input of a fetch signal having a predetermined value.
払出制御用マイクロコンピュータは、コマンド受信割込処理が終了するまで割込を許可しない
請求項1ないし請求項8記載の遊技機。
The gaming machine according to any one of claims 1 to 8, wherein the payout control microcomputer does not permit interruption until the command reception interruption processing is completed.
JP2000269417A 2000-09-05 2000-09-05 Game machine Expired - Lifetime JP3859950B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000269417A JP3859950B2 (en) 2000-09-05 2000-09-05 Game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000269417A JP3859950B2 (en) 2000-09-05 2000-09-05 Game machine

Publications (3)

Publication Number Publication Date
JP2002078925A JP2002078925A (en) 2002-03-19
JP2002078925A5 JP2002078925A5 (en) 2005-11-10
JP3859950B2 true JP3859950B2 (en) 2006-12-20

Family

ID=18756029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000269417A Expired - Lifetime JP3859950B2 (en) 2000-09-05 2000-09-05 Game machine

Country Status (1)

Country Link
JP (1) JP3859950B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5119552B2 (en) * 2008-01-23 2013-01-16 株式会社大都技研 Amusement stand
JP2009279450A (en) * 2009-09-01 2009-12-03 Sanyo Product Co Ltd Game machine
JP2009279451A (en) * 2009-09-01 2009-12-03 Sanyo Product Co Ltd Game machine
JP2011147818A (en) * 2011-05-09 2011-08-04 Sanyo Product Co Ltd Game machine
JP2011147817A (en) * 2011-05-09 2011-08-04 Sanyo Product Co Ltd Game machine
JP5641020B2 (en) * 2012-07-03 2014-12-17 株式会社三洋物産 Game machine
JP5641019B2 (en) * 2012-07-03 2014-12-17 株式会社三洋物産 Game machine
JP5644023B2 (en) * 2012-10-05 2014-12-24 株式会社大都技研 Amusement stand
JP5880596B2 (en) * 2014-02-24 2016-03-09 株式会社三洋物産 Game machine
JP6060918B2 (en) * 2014-02-24 2017-01-18 株式会社三洋物産 Game machine
JP2015164601A (en) * 2015-06-22 2015-09-17 株式会社三洋物産 Game machine
JP2015164600A (en) * 2015-06-22 2015-09-17 株式会社三洋物産 Game machine
JP6354882B2 (en) * 2017-03-06 2018-07-11 株式会社三洋物産 Game machine
JP6354881B2 (en) * 2017-03-06 2018-07-11 株式会社三洋物産 Game machine

Also Published As

Publication number Publication date
JP2002078925A (en) 2002-03-19

Similar Documents

Publication Publication Date Title
JP3859950B2 (en) Game machine
JP4790111B2 (en) Game machine
JP3907926B2 (en) Game machine
JP3828347B2 (en) Game machine
JP3727522B2 (en) Game machine
JP4302306B2 (en) Game machine
JP4137358B2 (en) Game machine
JP4302305B2 (en) Game machine
JP4056683B2 (en) Game machine
JP4242050B2 (en) Game machine
JP4137360B2 (en) Game machine
JP4137354B2 (en) Game machine
JP4242413B2 (en) Game machine
JP4242412B2 (en) Game machine
JP4503157B2 (en) Game machine
JP2002078927A (en) Game machine
JP3828367B2 (en) Game machine
JP2002078942A (en) Game machine
JP3907928B2 (en) Game machine
JP4166803B2 (en) Game machine
JP4130304B2 (en) Game machine
JP3670216B2 (en) Game machine
JP2002052207A (en) Game machine
JP4166802B2 (en) Game machine
JP4166773B2 (en) Game machine

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050928

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060920

R150 Certificate of patent or registration of utility model

Ref document number: 3859950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130929

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term