遊技機
【課題】 遊技制御手段から払出制御手段に対してコマンドが送出される構成の遊技機において、払出制御手段が確実にコマンドを受信するようにする。
【解決手段】 遊技制御手段から払出制御手段に対してデータが出力ポートに出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示すためのINT信号をオン状態にする。また、そこからBで示される期間が経過するとINT信号をオフ状態にする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。ここで、Cの期間はAの期間よりも長い。
【解決手段】 遊技制御手段から払出制御手段に対してデータが出力ポートに出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示すためのINT信号をオン状態にする。また、そこからBで示される期間が経過するとINT信号をオフ状態にする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。ここで、Cの期間はAの期間よりも長い。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、遊技者の操作に応じて遊技が行われるパチンコ遊技機、コイン遊技機、スロット機等の遊技機に関し、特に、遊技盤における遊技領域において遊技者の操作に応じて遊技が行われる遊技機に関する。
【0002】
【従来の技術】遊技機の一例として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。
【0004】特別図柄を表示する可変表示部を備えた第1種パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に確定的な、または一時的な表示結果が導出表示されている可変表示部の表示態様が特定の表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「大当り」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板に送信される。なお、以下、遊技制御手段およびその他の制御手段は、遊技機に設けられている各種電気部品を制御するので、それらを電気部品制御手段と呼ぶことがある。
【0007】
【発明が解決しようとする課題】遊技制御手段とは別体に種々の電気部品制御手段が設けられている場合には、遊技制御手段から各電気部品制御手段に制御コマンドを送信しなければならない。それらの制御コマンドが各電気部品制御制御手段に確実に受信されないと、遊技機の制御に支障をきたす。例えば、払出制御手段が制御コマンドの受信を誤ると、賞球払出がなされなかったり、誤った個数の賞球払出がなされたりする。
【0008】そこで、本発明は、遊技制御手段から他の電気部品制御手段に対してコマンドが送出される構成の遊技機において、払出制御手段が確実にコマンドを受信することができる遊技機を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明による遊技機は、遊技者が所定の遊技を行うことが可能な遊技機であって、遊技媒体の払出を行う払出装置と、遊技の進行に応じて払出装置を制御させるためにコマンドデータによって構成される制御指令を出力可能な遊技制御手段と、制御指令に応じて払出装置を制御する払出制御手段とを備え、遊技制御手段が、払出制御手段に対してコマンドデータを出力するためのコマンド出力処理と、コマンドデータの取込みを指定する取込信号を出力するための取込信号出力処理とを実行するコマンド出力手段を有し、コマンド出力手段は、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、所定期間は、コマンドデータを出力してから取込信号を出力するまでの期間よりも長く、遊技制御手段が、コマンド出力手段を用いて、所定の払出停止条件の成立に応じて払出装置の払出動作を禁止することを指示する払出停止制御指令と、払出停止条件の解除に応じて払出装置の払出動作を許可することを指示する払出許可制御指令とを、払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であることを特徴とする。
【0010】遊技制御手段が、所定期間が経過するまでコマンドデータの出力を維持するように構成されていてもよい。
【0011】取込信号が、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなるように構成されていてもよい。
【0012】一つの制御指令は、例えば複数のコマンドデータで構成される。
【0013】遊技制御手段が、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能であるように構成されていてもよい。
【0014】遊技制御手段が、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能であるように構成されていてもよい。
【0015】遊技制御手段が、払出停止制御指令または払出許可制御指令と、払出数制御指令とを1回の制御期間内で出力することが可能であるように構成されていてもよい。
【0016】1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力されるように構成されていてもよい。
【0017】遊技制御手段が、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータをバッファエリアに格納するように構成されていてもよい。
【0018】遊技制御手段が、一つの払出数制御指令を構成する複数のコマンドデータのうち遊技媒体数を示すコマンドデータのみをバッファエリアに格納するように構成されていてもよい。
【0019】1回の制御期間内で払出数制御指令は1回のみ出力されるように構成されていてもよい。
【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は、この実施の形態における出力ポートの割り当てを示す説明図である。図10R>0に示すように、出力ポート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】図10に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音声制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音声制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音声制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0092】図12は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図12に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ24a、入賞口スイッチ24b、入賞口スイッチ19a、入賞口スイッチ19b、始動口スイッチ17、カウントスイッチ23、V入賞スイッチ(特定領域スイッチ)22、ゲートスイッチ12の検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号が入力される。
【0093】次に遊技機の動作について説明する。図13R>3は、主基板31におけるCPU56が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0094】初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0095】この実施の形態で用いられているCPU56には、マスク可能な割込(INT)のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0096】割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0097】割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0098】割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0099】よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0100】そして、電源断時にバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の停電発生NMI処理)が行われたか否か確認する(ステップS7)。この実施の形態では、不測の電源断が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、CPU56は初期化処理を実行する。
【0101】この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電源断時にバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図14に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0102】バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0103】チェック結果が正常であれば(ステップS8)、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電源断時の状態に戻すための遊技状態復旧処理を行う(ステップS9)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0104】初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、払出コマンド格納ポインタなど)に初期値を設定する初期値設定処理も行われる。さらに、サブ基板(ランプ制御基板35、払出制御基板37、音声制御基板70、図柄制御基板80)を初期化するための処理を実行する(ステップS13)。サブ基板を初期化する処理とは、例えば初期設定コマンドを送出する処理である。初期設定コマンドとして、例えば、払出制御基板37に出力される払出可能状態指定コマンド(払出可能状態の場合)または払出停止状態指定コマンド(払出不能状態の場合)がある。払出不能状態として、例えば、球切れスイッチ187または満タンスイッチ48がオンしていた状態がある。すなわち、CPU56は、球切れスイッチ187または満タンスイッチ48がオンしていたら払出制御基板37に払出停止状態指定コマンドを送出し、そうでなければ、払出可能状態指定コマンドを送出する。なお、払出可能状態指定コマンド(払出可能状態の場合)または払出停止状態指定コマンド(払出不能状態の場合)は、ステップS9の遊技状態復旧処理においても実行されるように構成してもよい。
【0105】そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS14)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS1において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS15)。
【0106】この実施の形態では、CPU56の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図15に示すように、CPU56は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS12)。
【0107】初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、タイマ割込が発生したか否かの監視(ステップS17)の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理(ステップS16)も実行される。
【0108】CPU56は、ステップS17において、タイマ割込が発生したことを認識すると、ステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,19b,24a,24b等のスイッチの状態を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0109】次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0110】次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS23)。CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS24)。
【0111】さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0112】次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
【0113】さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
【0114】また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。ソレノイド回路59は、駆動指令に応じてソレノイド16,21を駆動し、可変入賞球装置15または開閉板20を開状態または閉状態とする。
【0115】そして、CPU56は、各入賞口への入賞を検出するためのスイッチ17,23,19a,19b,24a,24bの検出出力にもとづく賞球数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞検出に応じて払出制御基板37に払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、払出制御コマンドに応じて球払出装置97を駆動する。
【0116】以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
【0117】また、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセット等がなされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
【0118】以上に説明したように、この実施の形態では、CTCやPIOを内蔵するCPU56に対して、初期設定処理で割込モード2が設定される。従って、内蔵CTCを用いた定期的なタイマ割込処理を容易に実現できる。また、タイマ割込処理をプログラム上の任意の位置に設置できる。また、内蔵PIOを用いたスイッチ検出処理等を容易に割込処理で実現できる。その結果、プログラム構成が簡略化され、プログラム開発工数が低減する等の効果を得ることができる。
【0119】なお、CTCおよびPIOの設定(ステップS5)が完了した後に、IEO/SCLK0端子から出力されるクロック信号の周波数を決めるための内部レジスタの設定を行ってもよい。その際、クロック信号の周波数は、遊技制御処理の起動周期である2msに応じた周波数とされる。そのような設定を行うと、IEO/SCLK0端子から、遊技制御処理の起動周期に応じた周波数のクロック信号がCPU56から外部出力される。すると、CPU56の外部において遊技制御処理の起動周期に対応した信号を観測することができる。よって、そのような信号を用いて、遊技機外部においてCPU56による遊技制御処理をシミュレーションしたり、CPU56の動作状況を試験したりすることが容易になる。
【0120】また、図10および図11に示された出力ポート0〜6のうち、出力ポート0,1,2,3,4は、遊技制御処理のうちの特別図柄コマンド制御処理(ステップS25)、普通図柄コマンド制御処理(ステップS27)、賞球処理(ステップS31)等でアクセスされる。また、出力ポート5は、情報出力処理(ステップS29)でアクセスされ、出力ポート6は、特別図柄プロセス処理(ステップS25)や普通図柄プロセス処理(ステップS26)でアクセスされる。
【0121】次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図16に示すように、スイッチタイマは検出信号の数Nだけ設けられている。この実施の形態ではN=12である。また、RAMにおいて、各スイッチタイマのアドレスは、入力ポートのビット配列順(図12に示された上から下への順)と同じ順序で並んでいる。
【0122】図17は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図13に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS71)。次いで、処理数として「8」を設定し(ステップS72)、入賞口スイッチ24aのためのスイッチタイマのアドレスをポインタにセットする(ステップS73)。そして、スイッチチェック処理サブルーチンをコールする(ステップS74)。
【0123】図18は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS81)。また、クリアデータ(00)をセットする(ステップS82)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS83)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS84)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ24aの検出信号がキャリーフラグに押し出される。
【0124】キャリーフラグの値が「1」であれば(ステップS85)、すなわち入賞口スイッチ24aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS87)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS88,S89)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0125】キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ24aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS86)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0126】その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS90)、処理数を1減算する(ステップS91)。処理数が0になっていなければステップS82に戻る。そして、ステップS82〜S92の処理が繰り返される。
【0127】ステップS82〜S92の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0128】CPU56は、スイッチ処理のステップS75において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS76)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS77)。そして、スイッチチェック処理サブルーチンをコールする(ステップS78)。
【0129】スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS82〜S92の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0130】なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
【0131】図19〜図21は、遊技制御処理におけるステップS31の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、入賞口スイッチ19a,19b,24a,24b、カウントスイッチ23および始動口スイッチ17が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
【0132】賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブル(図23参照)のオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
【0133】入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図23に示されている。図23に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【0134】スイッチオンチェックルーチンの一例が図2222に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図19には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
【0135】また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS156)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS157)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS158)。
【0136】スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS159)、球切れフラグがセットされる(ステップS160)。なお、図19には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
【0137】そして、CPU56は、払出停止状態であるか否か確認する(ステップS201)。払出停止状態は、払出制御基板37に対して払出停止状態指定コマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS202)。
【0138】いずれかがオン状態に変化したときには、払出停止状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS203)、コマンドセット処理をコールする(ステップS206)。ステップS203では、払出停止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS202において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理(ステップS203)は行われない。
【0139】また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS204)。ともにオフ状態となったときには、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS205)、コマンドセット処理をコールする(ステップS207)。ステップS205では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0140】さらに、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS121)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS122)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ24aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS123)。そして、スイッチオンチェックルーチンがコールされる(ステップS124)。
【0141】スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図23参照)の先頭アドレスを設定する(ステップS101)。そして、そのアドレスにオフセットを加算し(ステップS102)、加算後のアドレスからスイッチオン判定値をロードする(ステップS103)。
【0142】次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS104)、そのアドレスにオフセットを加算し(ステップS105)、加算後のアドレスからスイッチタイマの値をロードする(ステップS106)。各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【0143】そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS107)。それらが一致すれば、スイッチオンフラグをセットする(ステップ108)。
【0144】この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ24aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS125)。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS130)、最初に設定された繰り返し数分だけ実行されるので(ステップS128,S129)、結局、入賞口スイッチ19a,19b,24a,24bについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。
【0145】スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「10」をリングバッファに設定する(ステップS126)。そして、総賞球数格納バッファの格納値に10を加算する(ステップS127)。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【0146】総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する加算処理を行ってもよい。
【0147】次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS131)、スイッチタイマのアドレスのオフセットとして「4」を設定する(ステップS132)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「4」は始動口スイッチ17に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS133)。
【0148】スイッチオンチェックルーチンにおいて、始動口スイッチ17に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS134)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「6」をリングバッファに設定する(ステップS135)。また、総賞球数格納バッファの格納値に6を加算する(ステップS136)。
【0149】次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS221)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS222)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS223)。
【0150】スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS224)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「15」をリングバッファに設定する(ステップS225)。また、総賞球数格納バッファの格納値に15を加算する(ステップS226)。
【0151】そして、リングバッファにデータが存在する場合には(ステップS227)、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに(ステップS228)、読出ポインタの値を更新(リングバッファの次の領域を指すように更新)し(ステップS229)、賞球数に関するコマンド送信テーブルをセットし(ステップS230)、コマンドセット処理をコールする(ステップS231)。コマンドセット処理の動作については後で詳しく説明する。ステップS230では、賞球数に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球数に関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。ただし、2バイト目のデータとして「80(H)」が設定されている。以上のように、遊技制御手段から払出制御基板37に賞球数を指示する払出制御コマンドを出力しようとするときに、賞球数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンドセット処理によって、賞球数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板37に送出される。なお、ステップS227において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。
【0152】そして、総賞球数バッファの内容が0でない場合、すなわち、まだ賞球残がある場合には、CPU56は、賞球払出中フラグをオンする(ステップS232,S233)。
【0153】また、CPU56は、賞球払出中フラグがオンしているときには(ステップS234)、球払出装置97から実際に払い出された賞球数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う(ステップS235)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
【0154】この実施の形態では、払出停止中であっても(ステップS201,S204)、ステップS121〜S136およびS221〜S231の処理が実行される。すなわち、遊技制御手段は、払出停止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するための制御指令が、払出停止状態であっても払出制御手段に伝達され、払出停止状態が解除されたときに、早めに賞球払出を開始することができる。
【0155】次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から各電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図24(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0156】なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【0157】図24(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(メイン処理のステップS31)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、図柄出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(メイン処理のステップS27)において、INTデータに「02(H)」を設定する。
【0158】INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音声制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0159】この実施の形態では、払出制御コマンドについて、図24(C)に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球数が順次リングバッファに設定される。また、賞球数に関する払出制御コマンド送出する際に、リングバッファから1個のデータが送信バッファに転送される。なお、図24(C)に示す例では、リングバッファには、12個分の払出制御コマンドに相当するデータが格納可能になっている。
【0160】図25は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板への制御指令となる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図25に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。また、図25では払出制御基板37に送出される払出制御コマンドを例示するが、他の電気部品制御基板に送出される制御コマンドも同一構成である。
【0161】図26は、各電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号CD0〜CD7とINT信号との関係を示すタイミング図である。図2626に示すように、MODEまたはEXTのデータが出力ポート(出力ポート1〜出力ポート4のうちのいずれか)に出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をハイレベルにする。また、そこからBで示される期間が経過するとINT信号をローレベルにする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。2バイト目のデータに関して、A,Bの期間は、1バイト目の場合と同様である。このように、取込信号はMODEおよびEXTのデータのそれぞれについて出力される。
【0162】Aの期間は、CPU56が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。すなわち、制御信号線において制御信号CD0〜CD7が出力された後、所定期間(Aの期間:オフ出力期間の一部)経過後に、取込信号としてのINT信号が出力される。また、Bの期間(オン出力期間)は、INT信号安定化のための期間である。そして、Cの期間(オフ出力期間の一部)は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。B,Cの期間では、信号線上のデータは変化しない。すなわち、B,Cの期間が経過するまでデータ出力が維持される。
【0163】この実施の形態では、払出制御基板37への払出制御コマンド、図柄制御基板80への表示制御コマンド、ランプ制御基板35へのランプ制御コマンドおよび音声制御基板70への音声制御コマンドは、同一のコマンド送信処理ルーチン(共通モジュール)を用いて送出される。そこで、B,Cの期間すなわち1バイト目に関するINT信号が立ち上がってから2バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【0164】なお、各電気部品制御手段は、INT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。
【0165】B,Cの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【0166】この実施の形態では、CPU56は、(11.776/2)MHzのシステムクロックで動作している。そして、具体的には、Aの期間に138ステート(1ステート=[2/11.776]μs)かけ、Bの期間に82ステートかけ、Cの期間に251ステートかけている。従って、B,Cの期間はAの期間よりも長い。すなわち、CPU56は、INT信号出力処理を実行した後に所定期間が経過すると次のデータを送出できる状態になるが、その所定期間(B,Cの期間)は、INT信号出力処理の前にデータを送出してからINT信号を出力開始するまでの期間(Aの期間)よりも長い。上述したように、Aの期間はコマンドの信号線における安定化期間であり、B,Cの期間は受信側がデータを取り込むのに要する時間を確保するための期間である。従って、Aの期間をB,Cの期間よりも短くすることによって、受信側の電気部品制御手段が確実にコマンドを受信できる状態になるという効果を得ることができるとともに、1つのコマンドの送出完了に要する期間が短縮される効果もある。
【0167】図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」が払出個数を示す。
【0168】払出制御手段は、主基板31の遊技制御手段からFF01(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、FF00(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【0169】なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、この例では、払出制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
【0170】各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0171】図28は、コマンドセット処理(ステップS206,S207,S231)の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレス(送信信号指示手段としてのポインタの内容)をスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
【0172】そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0173】図29は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【0174】次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
【0175】キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
【0176】次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート2のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0177】2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音声制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされる制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したIOアドレスが設定されている。
【0178】よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【0179】また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0180】次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音声制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したINT信号がハイレベルになる。
【0181】次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図26に示されたBの期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はローレベルになる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、図26に示されたCの期間を設定するための処理である。ただし、実際のCの期間は、ステップS367〜S369で作成される時間に、その後の処理時間(この時点でMODEデータが出力されている場合にはEXTデータを出力するまでに要する制御にかかる時間)が加算された期間となる。このように、Cの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
【0182】従って、ステップS367でウェイトカウンタに設定される値は、Cの期間が、制御コマンド受信対象となる全ての電気部品制御手段が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、Cの期間が、ステップS357〜S359の処理に要する時間(Aの期間に相当)よりも長くなるような値である。なお、Aの期間をより長くしたい場合には、Aの期間を作成するためのウェイト処理(例えば、ウェイトカウンタに所定値を設定し、ウェイトカウンタの値が0になるまで減算を行う処理)を行う。
【0183】以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図28に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、送信バッファの内容を引数2にロードする(ステップS341)。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数2にロードする。
【0184】送信バッファには賞球数を特定可能なデータが設定されているので、引数2にそのデータが設定される。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定される。よって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされる。
【0185】次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
【0186】以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図26に示された場合と逆にしてもよい。
【0187】また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【0188】さらに、この実施の形態では、1回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数の制御指令を送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音声制御コマンド、払出制御コマンド)毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドを送出するように構成することも可能である。すなわち、同時に(1メイン処理起動周期での意味)、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドと同時に送出されることはない。
【0189】図30は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS241)。そして、格納値が0であるか否か確認する(ステップS242)。0であれば処理を終了する。
【0190】0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS243)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS244)。一致したら(ステップS245)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS246)。
【0191】また、賞球情報カウンタの値を+1する(ステップS247)。そして、賞球情報カウンタの値が10以上であれば(ステップS248)、賞球情報出力カウンタの値を+1するとともに(ステップS249)、賞球情報カウンタの値を−10する(ステップS250)。なお、賞球情報出力カウンタの値は、図13に示されたメイン処理における情報出力処理(ステップS29)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図11参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
【0192】そして、総賞球数格納バッファの格納値が0になったら(ステップS251)、賞球払出中フラグをクリアし(ステップS252)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS253)、ランプ制御コマンドの送出処理を実行する(ステップS254)。
【0193】次に、遊技制御手段以外の電気部品制御手段において制御コマンド受信処理が行われる場合の例として、払出制御手段において払出制御コマンドの受信が行われる場合について説明する。
【0194】図31は、払出制御用CPU371周りの一構成例を示すブロック図である。図31に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって電源断の発生を確認することができる。
【0195】払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の入力に応じて割込が発生することになる。
【0196】払出制御基板37には、システムリセット回路975も搭載されているが、この実施の形態では、システムリセット回路975におけるリセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、電源断時には、リセットIC976からの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
【0197】リセットIC976が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0198】+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復帰することができる。
【0199】なお、図31に示された構成では、システムリセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図9に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
【0200】図32は、この実施の形態における出力ポートの割り当てを示す説明図である。図32に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
【0201】図33は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図33に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜2には、それぞれ、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、モータ位置センサの検出信号入力される。ビット3〜5には、カードユニット50からのBRDY信号、BRQ信号およびVL信号が入力される。
【0202】図34は、払出制御用CPU371のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
【0203】この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0204】なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭番地が特定される。タイマ割込処理ではタイマ割込フラグがセットされ、メイン処理でタイマ割込フラグがセットされていることが検知されると、払出制御処理が実行される。すなわち、タイマ割込処理では、電気部品制御処理の一例である払出制御処理を実行するための設定がなされる。
【0205】また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【0206】カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭番地が特定される。
【0207】この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始番地を設定することができる。
【0208】CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。さらに、CLK/TRG2端子に入力される信号の立ち上がりまたは立ち下がりで特定レジスタとしてのタイマカウンタレジスタCLK/TRG2のカウント値が−1されるのであるが、所定の特定レジスタの設定によって、立ち上がり/立ち下がりの選択を行うことができる。この実施の形態では、CLK/TRG2端子に入力される信号の立ち上がりで、タイマカウンタレジスタCLK/TRG2のカウント値が−1されるような設定が行われる。また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CH3のレジスタ値はシステムクロックの1/256周期で減算される。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。
【0209】CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【0210】そして、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS707)。すなわち、例えば、主基板31のCPU56の処理と同様に、電源断時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【0211】バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0212】チェック結果が正常であれば(ステップS708)、払出制御用CPU371は、内部状態を電源断時の状態に戻すための払出状態復旧処理を行う(ステップS709)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
【0213】初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。
【0214】この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図35に示すように、払出制御用CPU371は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS721)。なお、図35には割込を許可することも明示されているが(ステップS720)、2msタイマ割込処理では、最初に割込許可状態に設定される。すなわち、2msタイマ割込処理中には割込許可状態になってので、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【0215】払出制御用CPU371は、ステップS724において、タイマ割込フラグがセットされたことを検出するとステップS751以降の払出制御処理を実行する。以上の制御によって、この実施の形態では、払出制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
【0216】払出制御処理において、払出制御用CPU371は、まず、中継基板72を介して入力ポート372bに入力される賞球カウントスイッチ301A、球貸しカウントスイッチ301Bがオンしたか否かを判定する(スイッチ処理:ステップS751)。
【0217】次に、払出制御用CPU371は、センサ(例えば、払出モータ289の回転数を検出するモータ位置センサ)からの信号入力状態を確認してセンサの状態を判定する等の処理を行う(入力判定処理:ステップS752)。払出制御用CPU371は、さらに、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS753)。
【0218】次いで、払出制御用CPU371は、主基板31から払出停止状態指定コマンドを受信していたら払出停止状態に設定し、払出可能状態指定コマンドを受信していたら払出停止状態の解除を行う(ステップS754)。また、プリペイドカードユニット制御処理を行う(ステップS755)。
【0219】次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
【0220】さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
【0221】なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
【0222】次いで、エラー検出処理が行われ、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。
【0223】なお、出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
【0224】図36は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。
【0225】そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
【0226】従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電源断が生じても、所定期間内に電源復旧すれば、バックアップRAM領域に記憶される賞球処理および球貸し処理を続行できる。従って、遊技者に与えられる不利益を低減することができる。
【0227】図37は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、確定コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
【0228】図38は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は払出制御用CPU371のCLK/TRG2端子に入力されている。よって、主基板31からのINT信号が立ち上がると、払出制御用CPU371に割込がかかり、図38に示す払出制御コマンドの受信処理が開始される。なお、払出制御用CPU371は、割込が発生すると、ソフトウェアで割込許可にしない限り、マスク可能割込がさらに生ずることはないような構造のCPUである。
【0229】なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音声制御手段でも、同様のコマンド受信処理が実行されている。また、この実施の形態では、CLK/TRG2端子の入力が立ち上がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ったが、すなわち、INT信号の立ち上がりで割込が発生するような初期設定を行ったが、CLK/TRG2端子の入力が立ち下がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ってもよい。換言すれば、INT信号の立ち下がりで割込が発生するような初期設定を行ってもよい。従って、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成すれば、エッジは立ち上がりエッジであっても立ち下がりエッジであってもよい。
【0230】払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート372a(図7参照)からデータを読み込む(ステップS851)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである(図25参照)。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す確定コマンドバッファに格納する(ステップS853)。
【0231】払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(確定コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0232】1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す確定コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである(図25参照)。なお、ステップS854における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
【0233】ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、最後に割込許可に設定する(ステップS859)。
【0234】コマンド受信割込処理中は割込禁止状態になっている。上述したように、2msタイマ割込処理中は割込許可状態になっているので、2msタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に2msタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板31からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるCの期間(図26参照)をどの程度にすればよいのかを正確に判断することができる。
【0235】また、払出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【0236】なお、この実施の形態では、コマンド受信割込処理では、受信したコマンドをバッファに格納する制御が行われるが、後述するコマンド解析実行処理(図4040参照)や払出状態設定処理(図41参照)を、コマンド受信割込処理において実行するように構成してもよい。そのように、バッファ内のコマンドについて判定するコマンド判定処理までもコマンド受信割込処理において実行する場合には、コマンドの判定も迅速に実行される。
【0237】図39は、ステップS751のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用CPU371は、賞球カウントスイッチ301Aがオン状態を示しているか否か確認する(ステップS751a)。オン状態を示していれば、払出制御用CPU371は、賞球カウントスイッチオンカウンタを+1する(ステップS751b)。賞球カウントスイッチオンカウンタは、賞球カウントスイッチ301Aのオン状態を検出した回数を計数するためのカウンタである。
【0238】そして、賞球カウントスイッチオンカウンタの値をチェックし(ステップS751c)、その値が2になっていれば、1個の賞球の払出が行われたと判断する。1個の賞球の払出が行われたと判断した場合には、払出制御用CPU371は、賞球未払出カウンタ(総合個数記憶に格納されている賞球数)を−1する(ステップS751d)。
【0239】ステップS751aにおいて賞球カウントスイッチ301Aがオン状態でないことが確認されると、払出制御用CPU371は、賞球カウントスイッチオンカウンタをクリアする(ステップS751e)。そして、この実施の形態では、球貸しカウントスイッチ301Bがオン状態を示しているか否か確認する(ステップS751f)。オン状態を示していれば、払出制御用CPU371は、球貸しカウントスイッチオンカウンタを+1する(ステップS751g)。球貸しカウントスイッチオンカウンタは、球貸しカウントスイッチ301Bのオン状態を検出した回数を計数するためのカウンタである。
【0240】そして、球貸しカウントスイッチオンカウンタの値をチェックし(ステップS751h)、その値が2になっていれば、1個の貸し球の払出が行われたと判断する。1個の貸し球の払出が行われたと判断した場合には、払出制御用CPU371は、貸し球未払出個数カウンタ(貸し球個数記憶に格納されている貸し球数)を−1する(ステップS751i)。
【0241】ステップS751fにおいて球貸しカウントスイッチ301Bがオン状態でないことが確認されると、払出制御用CPU371は、球貸しカウントスイッチオンカウンタをクリアする(ステップS751j)。
【0242】図40は、ステップS753のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS753a)。受信コマンドがあれば、受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであるか否かの確認を行う(ステップS753b)。なお、払出制御用CPU371は、制御指令指示手段としての読出ポインタが指す確定コマンドバッファ領域中のアドレスに格納されている受信コマンドについてステップS753bの判断を行う。また、その判断後、読出ポインタの値は+1される。読出ポインタが指すアドレスが確定コマンドバッファ12(図37参照)のアドレスを越えた場合には、読出ポインタの値は、確定コマンドバッファ1を指すように更新される。
【0243】受信した払出制御コマンドが賞球数を指定するための払出制御コマンドであれば、払出制御コマンドで指示された個数を総合個数記憶に加算する(ステップS753c)。すなわち、払出制御用CPU371は、主基板31のCPU56から送られた払出制御コマンドに含まれる賞球数をバックアップRAM領域(総合個数記憶)に記憶する。
【0244】なお、払出制御用CPU371は、必要ならば、コマンド受信個数カウンタの減算や確定コマンドバッファ領域における受信コマンドシフト処理を行う。
【0245】図41は、ステップS754の払出停止状態設定処理の一例を示すフローチャートである。払出停止状態設定処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS754a)。確定コマンドバッファ領域中に受信コマンドがあれば、受信した払出制御コマンドが払出停止状態指定コマンドであるか否かの確認を行う(ステップS754b)。払出停止状態指定コマンドであれば、払出制御用CPU371は、払出停止状態に設定する(ステップS754c)。
【0246】ステップS754bで受信コマンドが払出停止状態指定コマンドでないことを確認すると、受信した払出制御コマンドが払出可能状態指定コマンドであるか否かの確認を行う(ステップS754d)。払出可能状態指定コマンドであれば、払出停止状態を解除する(ステップS754e)。
【0247】図42は、ステップS755のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用CPU371は、カードユニット制御用マイクロコンピュータより入力されるVL信号を検知したか否かを確認する(ステップS755a)。VL信号を検知していなければ、VL信号非検知カウンタを+1する(ステップS755b)。また、払出制御用CPU371は、VL信号非検知カウンタの値が本例では125であるか否か確認する(ステップS755c)。VL信号非検知カウンタの値が125であれば、払出制御用CPU371は、発射制御基板91への発射制御信号出力を停止して、駆動モータ94を停止させる(ステップS755d)。
【0248】以上の処理によって、125回(2ms×125=250ms)継続してVL信号のオフが検出されたら、球発射禁止状態に設定される。
【0249】ステップS755aにおいてVL信号を検知していれば、払出制御用CPU371は、VL信号非検知カウンタをクリアする(ステップS755e)。そして、払出制御用CPU371は、発射制御信号出力を停止していれば(ステップS755f)、発射制御基板91への発射制御信号出力を開始して駆動モータ94を動作可能状態にする(ステップS755g)。
【0250】図43および図44は、ステップS756の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0251】球貸し制御処理において、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS511)、貸し球払出中であれば図44に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する(ステップS512)。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【0252】貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50から球貸し要求があったか否かを確認する(ステップS513)。要求があれば、球貸し処理中フラグをオンするとともに(ステップS514)、25(球貸し一単位数:ここでは100円分)をバックアップRAM領域の貸し球個数記憶に設定する(ステップS515)。そして、払出制御用CPU371は、EXS信号をオンする(ステップS516)。また、球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS517)。さらに、払出モータ289をオンして(ステップS518)、図44に示す球貸し中の処理に移行する。
【0253】なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をOFFとしてからである。なお、球貸し処理中フラグはバックアップRAM領域に設定される。
【0254】図44は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、球貸しカウントスイッチ301Bの検出出力による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。球貸し制御処理において、払出制御用CPU371は、貸し球通過待ち時間中であるか否かの確認を行う(ステップS519)。貸し球通過待ち時間中でなければ、貸し球の払出を行い(ステップS520)、払出モータ289の駆動を終了すべきか(一単位の払出動作が終了したか)否かの確認を行う(ステップS521)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS522)、貸し球通過待ち時間の設定を行う(ステップS523)。
【0255】なお、ステップS520の球貸し処理では、払出モータ位置センサのオンとオフとがタイマ監視されるが、所定時間以上のオン状態またはオフ状態が継続したら、払出制御用CPU371は、払出モータ球噛みエラーが生じたと判断する。
【0256】ステップS519で貸し球通過待ち時間中であれば、払出制御用CPU371は、貸し球通過待ち時間が終了したか否かの確認を行う(ステップS524)。貸し球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから球貸しカウントスイッチ301Bを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット50に対して次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS525)。また、振分ソレノイドをオフするとともに(ステップS526)、球貸し処理中フラグをオフする(ステップS527)。なお、貸し玉通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ301Bを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【0257】なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【0258】貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【0259】図45および図46は、ステップS757の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0260】賞球制御処理において、払出制御用CPU371は、貸し球払出中であるか否か確認する(ステップS531)。貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ賞球の払出中であるか否か確認し(ステップS532)、賞球の払出中であれば図46に示す賞球中の処理に移行する。賞球の払出中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【0261】貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50からの球貸し準備要求があるか否か確認する(ステップS533)。球貸し準備要求があるか否かは、カードユニット50から入力されるBRDY信号のオン(要求あり)またはオフ(要求なし)を確認することによって行われる。
【0262】カードユニット50からの球貸し準備要求がなければ、払出制御用CPU371は、総合個数記憶に格納されている賞球数(未払出の賞球数)が0でないか否か確認する(ステップS534)。総合個数記憶に格納されている賞球数が0でなければ、賞球制御用CPU371は、賞球処理中フラグをオンし(ステップS535)、総合個数記憶の値が25以上であるか否か確認する(ステップS536)。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
【0263】総合個数記憶に格納されている賞球数が25以上であると、払出制御用CPU371は、25個分の遊技球を払い出すまで払出モータ289を回転させるように払出モータ289に対して駆動信号を出力するために、25個払出動作の設定を行う(ステップS537)。総合個数記憶に格納されている賞球数が25以上でなければ、払出制御用CPU371は、総合個数記憶に格納されている全ての遊技球を払い出すまで払出モータ289を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う(ステップS538)。次いで、払出モータ289をオンする(ステップS538)。なお、振分ソレノイドはオフ状態であるから、球払出装置97の下方の球振分部材は賞球側に設定されている。そして、図46に示す賞球制御処理における賞球払出中の処理に移行する。
【0264】図46は、払出制御用CPU371による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、賞球カウントスイッチ301Aの検出出力による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。賞球中の処理において、払出制御用CPU371は、賞球通過待ち時間中であるか否かの確認を行う(ステップS540)。賞球通過待ち時間中でなければ、賞球払出を行い(ステップS541)、払出モータ289の駆動を終了すべきか(25個または25個未満の所定の個数の払出動作が終了したか)否かの確認を行う(ステップS542)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS543)、賞球通過待ち時間の設定を行う(ステップS544)。賞球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから賞球カウントスイッチ301Aを通過するまでの時間である。
【0265】ステップS540で賞球通過待ち時間中であれば、払出制御用CPU371は、賞球通過待ち時間が終了したか否かの確認を行う(ステップS545)。賞球通過待ち時間が終了した時点は、ステップS537またはステップS538で設定された賞球が全て払い出された状態である。そこで、払出制御用CPU371は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする(ステップS546)。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ301Aを通過しなかった場合には、賞球経路エラーとされる。
【0266】なお、この実施の形態では、ステップS511、ステップS531の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【0267】総合個数記憶および貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【0268】なお、払出制御用CPU371は、主基板31から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−1する(この場合、払出制御処理にて減算処理を行うようにする)。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機の電源が断しても、所定期間中に電源が回復すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【0269】以上に説明したように、この実施の形態では、払出制御手段は、払出制御信号に関するINT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ領域(この例では確定コマンドバッファ)が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【0270】また、図19および図20のフローチャートに示されたように、遊技制御手段は、払出停止状態であっても(ステップS201)、ステップS231のコマンドセット処理が実行可能であるように構成されている。よって、払出停止状態であっても、入賞検出がなされると払出個数を示す払出制御コマンドが払出制御手段に対して送出される。
【0271】払出制御手段において、払出停止状態であっても割込処理は起動されるので、払出制御手段は、払出停止中であっても、払出制御コマンドを受信することができる。そして、払出停止中では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファ領域が設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【0272】そして、払出制御手段において、送出コマンドを受信リングバッファ領域(この例では確定コマンドバッファ)のどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【0273】また、遊技制御手段においても、送信コマンドを特定可能なデータは、リングバッファ形式のバッファ(図24(C)参照)に格納される。ただし、図19R>9〜図21のフローチャートに示されたように、払出制御コマンドについては、賞球個数を示す払出制御コマンドはリングバッファ形式のバッファに格納されるが(ステップS126,S135,S225)、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについては、リングバッファ形式のバッファには格納されない。また、賞球個数を示す払出制御コマンドがリングバッファ形式のバッファに格納される際に、EXTデータに対応する賞球数に関するコマンドデータのみが格納される。この実施の形態では、賞球数が幾つであってもMODEデータは「F0(H)」であるから(図27参照)、EXTデータに対応する賞球数のみを格納するように構成しても、コマンド送出制御が複雑になることはない。
【0274】そして、図19〜図21のフローチャートにおいて、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックが実行されるので、2msの一処理期間内で、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドは優先して送出される。すなわち、電気部品の動作停止/再開を指令する信号のように、その信号にもとづく処理が早めに開始されることが好ましい重要な制御指令は、1回の制御期間内で先に送信される。なお、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについても、賞球個数を示す払出制御コマンドと同様に、リングバッファ形式のバッファに格納してもよい。そのように構成しても、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックを実行すれば、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドが優先して送出される。
【0275】さらに、2msの一処理期間内で、払出停止状態指定に関する払出制御コマンドまたは払出可能状態指定に関する払出制御コマンドと賞球個数を指定するための払出制御コマンドとをともに払出制御基板37に送出可能になっている。すなわち、発生要因が異なる複数の制御(この例では、払出停止に関する制御と賞球払出に関する制御)について、一処理期間内で、払出制御コマンドを送出することが可能になっている。なお、図2020および図21に示されたフローチャートに示されたように、一処理期間内で、賞球個数を指定するための払出制御コマンドは1つだけ送出可能になっている。さらに、払出停止に関する制御および賞球払出に関する制御とは発生要因が異なる制御の例として、エラー検出制御、遊技制御手段による球詰まり検出制御、球払出装置97に関連するその他の制御を行ってもよい。それらの制御も行われる場合、遊技制御手段を、それぞれの制御について一処理期間内で1つの払出制御コマンド(例えば、エラー発生を示すコマンド、球詰まり解除を示すコマンド)を送出可能に構成しておけば、やはり、一処理期間内で複数の払出制御コマンド(それぞれ発生要因が異なる)を送出することができる。
【0276】また、遊技制御手段においても、リングバッファ形式のバッファのどの領域のデータを用いるのかを示すアドレス指示手段としてのポインタ(読出ポインタ)が用いられる。よって、どの領域のデータを用いて制御コマンドを送出するのかの判断は容易である。
【0277】なお、上記の実施の形態では、払出制御手段を例にしたが、その他の電気部品制御手段、例えば、表示制御手段、音声制御手段、ランプ制御手段等も上述したような処理によって遊技制御手段からの制御コマンドを確実に受信することができる。
【0278】また、上記の実施の形態では、電源監視回路は電源基板910に設けられたが、電源監視回路は主基板31や払出制御基板37などの電気部品制御基板に設けられていてもよい。電源回路が搭載された電気部品制御基板が構成される場合には、電源基板には電源監視回路は搭載されない。
【0279】そして、上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0280】さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
【0281】
【発明の効果】請求項1記載の発明では、遊技機を、コマンド出力手段が、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、所定期間はコマンドデータを出力してから取込信号を出力するまでの期間よりも長く、遊技制御手段が、コマンド出力手段を用いて、所定の払出停止条件の成立に応じて払出装置の払出動作を禁止することを指示する制御指令としての払出停止制御指令と、払出停止条件の解除に応じて払出装置の払出動作を許可することを指示する制御指令としての払出許可制御指令とを、払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であるように構成したので、遊技制御手段から払出制御手段に送出されるコマンドの出力状態が安定し払出制御手段が確実に遊技制御手段から払出制御手段に送出されるコマンドを取り込むことができるとともに、払出制御手段の側に早めに払出数制御指令が伝達されるので、払出処理を迅速に実行することができる効果がある。
【0282】請求項2記載の発明では、遊技機を、遊技制御手段が、所定期間が経過するまでコマンドデータの出力を維持するように構成したので、払出制御手段は安定してコマンドデータを取り込むことができる。
【0283】請求項3記載の発明では、取込信号が、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなるように構成したので、制御指令を連続的に送信する場合でも、受信側においてそれらを容易に識別することができる。
【0284】請求項4記載の発明では、一つの制御指令を複数のコマンドデータで構成したので、例えば制御指令をコマンドの分類とコマンドの種類に分けてコマンド受信処理の簡略化を図ったり、2つのコマンドデータの相互関係にもとづく受信コマンドチェックを行うことが可能になって、適正な制御指令の送受信処理を行うことができる。また、制御指令転送中のノイズ等によるデータ化けに起因する誤動作の可能性を低減することができる。
【0285】請求項5記載の発明では、遊技機を、遊技制御手段が、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能であるように構成したので、制御指令を迅速に送受信することができる。
【0286】請求項6記載の発明では、遊技機を、遊技制御手段が、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能であるように構成したので、異なる属性の制御指令の出力機会が同時に発生しても、各制御指令を迅速に送受信することができる。
【0287】請求項7記載の発明では、遊技機を、遊技制御手段が、払出停止制御指令または払出許可制御指令と払出数制御指令とを1回の制御期間内で出力することが可能であるように構成したので、重要な制御指令と頻繁に発生する制御指令とを1度に送信することができる。
【0288】請求項8記載の発明では、遊技機を、1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力されるように構成したので、重要な制御指令を優先して迅速に送信することができる。
【0289】請求項9記載の発明では、遊技機を、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータをバッファエリアに格納するように構成したので、頻繁に発生する制御指令を簡便に処理することができる。
【0290】請求項10記載の発明では、遊技機を、遊技制御手段が、遊技媒体数を示すコマンドデータのみをバッファエリアに格納するように構成したので、バッファエリアの容量を節減でき、その結果、メモリ容量を削減することができる。
【0291】請求項11記載の発明では、遊技機を、バッファエリアに複数の払出数制御指令が格納されている場合であっても、1回の制御期間内で払出数制御指令は1回のみ出力されるように構成したので、頻繁に発生する制御指令を複数分1度に送信することによって比較的長い時間を費やしてしまい他の処理にかけることができる時間が削減されてしまうようなことは防止される。
【図面の簡単な説明】
【図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 球貸しカウントスイッチ
310 振分ソレノイド
311 振分部材
371 払出制御用CPU
910 電源基板
【0001】
【発明の属する技術分野】本発明は、遊技者の操作に応じて遊技が行われるパチンコ遊技機、コイン遊技機、スロット機等の遊技機に関し、特に、遊技盤における遊技領域において遊技者の操作に応じて遊技が行われる遊技機に関する。
【0002】
【従来の技術】遊技機の一例として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。
【0004】特別図柄を表示する可変表示部を備えた第1種パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に確定的な、または一時的な表示結果が導出表示されている可変表示部の表示態様が特定の表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「大当り」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板に送信される。なお、以下、遊技制御手段およびその他の制御手段は、遊技機に設けられている各種電気部品を制御するので、それらを電気部品制御手段と呼ぶことがある。
【0007】
【発明が解決しようとする課題】遊技制御手段とは別体に種々の電気部品制御手段が設けられている場合には、遊技制御手段から各電気部品制御手段に制御コマンドを送信しなければならない。それらの制御コマンドが各電気部品制御制御手段に確実に受信されないと、遊技機の制御に支障をきたす。例えば、払出制御手段が制御コマンドの受信を誤ると、賞球払出がなされなかったり、誤った個数の賞球払出がなされたりする。
【0008】そこで、本発明は、遊技制御手段から他の電気部品制御手段に対してコマンドが送出される構成の遊技機において、払出制御手段が確実にコマンドを受信することができる遊技機を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明による遊技機は、遊技者が所定の遊技を行うことが可能な遊技機であって、遊技媒体の払出を行う払出装置と、遊技の進行に応じて払出装置を制御させるためにコマンドデータによって構成される制御指令を出力可能な遊技制御手段と、制御指令に応じて払出装置を制御する払出制御手段とを備え、遊技制御手段が、払出制御手段に対してコマンドデータを出力するためのコマンド出力処理と、コマンドデータの取込みを指定する取込信号を出力するための取込信号出力処理とを実行するコマンド出力手段を有し、コマンド出力手段は、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、所定期間は、コマンドデータを出力してから取込信号を出力するまでの期間よりも長く、遊技制御手段が、コマンド出力手段を用いて、所定の払出停止条件の成立に応じて払出装置の払出動作を禁止することを指示する払出停止制御指令と、払出停止条件の解除に応じて払出装置の払出動作を許可することを指示する払出許可制御指令とを、払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であることを特徴とする。
【0010】遊技制御手段が、所定期間が経過するまでコマンドデータの出力を維持するように構成されていてもよい。
【0011】取込信号が、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなるように構成されていてもよい。
【0012】一つの制御指令は、例えば複数のコマンドデータで構成される。
【0013】遊技制御手段が、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能であるように構成されていてもよい。
【0014】遊技制御手段が、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能であるように構成されていてもよい。
【0015】遊技制御手段が、払出停止制御指令または払出許可制御指令と、払出数制御指令とを1回の制御期間内で出力することが可能であるように構成されていてもよい。
【0016】1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力されるように構成されていてもよい。
【0017】遊技制御手段が、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータをバッファエリアに格納するように構成されていてもよい。
【0018】遊技制御手段が、一つの払出数制御指令を構成する複数のコマンドデータのうち遊技媒体数を示すコマンドデータのみをバッファエリアに格納するように構成されていてもよい。
【0019】1回の制御期間内で払出数制御指令は1回のみ出力されるように構成されていてもよい。
【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は、この実施の形態における出力ポートの割り当てを示す説明図である。図10R>0に示すように、出力ポート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】図10に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音声制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音声制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音声制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0092】図12は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図12に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ24a、入賞口スイッチ24b、入賞口スイッチ19a、入賞口スイッチ19b、始動口スイッチ17、カウントスイッチ23、V入賞スイッチ(特定領域スイッチ)22、ゲートスイッチ12の検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号が入力される。
【0093】次に遊技機の動作について説明する。図13R>3は、主基板31におけるCPU56が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0094】初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0095】この実施の形態で用いられているCPU56には、マスク可能な割込(INT)のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0096】割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0097】割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0098】割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0099】よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0100】そして、電源断時にバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の停電発生NMI処理)が行われたか否か確認する(ステップS7)。この実施の形態では、不測の電源断が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、CPU56は初期化処理を実行する。
【0101】この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電源断時にバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図14に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0102】バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0103】チェック結果が正常であれば(ステップS8)、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電源断時の状態に戻すための遊技状態復旧処理を行う(ステップS9)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0104】初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、払出コマンド格納ポインタなど)に初期値を設定する初期値設定処理も行われる。さらに、サブ基板(ランプ制御基板35、払出制御基板37、音声制御基板70、図柄制御基板80)を初期化するための処理を実行する(ステップS13)。サブ基板を初期化する処理とは、例えば初期設定コマンドを送出する処理である。初期設定コマンドとして、例えば、払出制御基板37に出力される払出可能状態指定コマンド(払出可能状態の場合)または払出停止状態指定コマンド(払出不能状態の場合)がある。払出不能状態として、例えば、球切れスイッチ187または満タンスイッチ48がオンしていた状態がある。すなわち、CPU56は、球切れスイッチ187または満タンスイッチ48がオンしていたら払出制御基板37に払出停止状態指定コマンドを送出し、そうでなければ、払出可能状態指定コマンドを送出する。なお、払出可能状態指定コマンド(払出可能状態の場合)または払出停止状態指定コマンド(払出不能状態の場合)は、ステップS9の遊技状態復旧処理においても実行されるように構成してもよい。
【0105】そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS14)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS1において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS15)。
【0106】この実施の形態では、CPU56の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図15に示すように、CPU56は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS12)。
【0107】初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、タイマ割込が発生したか否かの監視(ステップS17)の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理(ステップS16)も実行される。
【0108】CPU56は、ステップS17において、タイマ割込が発生したことを認識すると、ステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,19b,24a,24b等のスイッチの状態を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0109】次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0110】次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS23)。CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS24)。
【0111】さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0112】次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
【0113】さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
【0114】また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。ソレノイド回路59は、駆動指令に応じてソレノイド16,21を駆動し、可変入賞球装置15または開閉板20を開状態または閉状態とする。
【0115】そして、CPU56は、各入賞口への入賞を検出するためのスイッチ17,23,19a,19b,24a,24bの検出出力にもとづく賞球数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞検出に応じて払出制御基板37に払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、払出制御コマンドに応じて球払出装置97を駆動する。
【0116】以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
【0117】また、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセット等がなされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
【0118】以上に説明したように、この実施の形態では、CTCやPIOを内蔵するCPU56に対して、初期設定処理で割込モード2が設定される。従って、内蔵CTCを用いた定期的なタイマ割込処理を容易に実現できる。また、タイマ割込処理をプログラム上の任意の位置に設置できる。また、内蔵PIOを用いたスイッチ検出処理等を容易に割込処理で実現できる。その結果、プログラム構成が簡略化され、プログラム開発工数が低減する等の効果を得ることができる。
【0119】なお、CTCおよびPIOの設定(ステップS5)が完了した後に、IEO/SCLK0端子から出力されるクロック信号の周波数を決めるための内部レジスタの設定を行ってもよい。その際、クロック信号の周波数は、遊技制御処理の起動周期である2msに応じた周波数とされる。そのような設定を行うと、IEO/SCLK0端子から、遊技制御処理の起動周期に応じた周波数のクロック信号がCPU56から外部出力される。すると、CPU56の外部において遊技制御処理の起動周期に対応した信号を観測することができる。よって、そのような信号を用いて、遊技機外部においてCPU56による遊技制御処理をシミュレーションしたり、CPU56の動作状況を試験したりすることが容易になる。
【0120】また、図10および図11に示された出力ポート0〜6のうち、出力ポート0,1,2,3,4は、遊技制御処理のうちの特別図柄コマンド制御処理(ステップS25)、普通図柄コマンド制御処理(ステップS27)、賞球処理(ステップS31)等でアクセスされる。また、出力ポート5は、情報出力処理(ステップS29)でアクセスされ、出力ポート6は、特別図柄プロセス処理(ステップS25)や普通図柄プロセス処理(ステップS26)でアクセスされる。
【0121】次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図16に示すように、スイッチタイマは検出信号の数Nだけ設けられている。この実施の形態ではN=12である。また、RAMにおいて、各スイッチタイマのアドレスは、入力ポートのビット配列順(図12に示された上から下への順)と同じ順序で並んでいる。
【0122】図17は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図13に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS71)。次いで、処理数として「8」を設定し(ステップS72)、入賞口スイッチ24aのためのスイッチタイマのアドレスをポインタにセットする(ステップS73)。そして、スイッチチェック処理サブルーチンをコールする(ステップS74)。
【0123】図18は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS81)。また、クリアデータ(00)をセットする(ステップS82)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS83)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS84)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ24aの検出信号がキャリーフラグに押し出される。
【0124】キャリーフラグの値が「1」であれば(ステップS85)、すなわち入賞口スイッチ24aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS87)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS88,S89)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0125】キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ24aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS86)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0126】その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS90)、処理数を1減算する(ステップS91)。処理数が0になっていなければステップS82に戻る。そして、ステップS82〜S92の処理が繰り返される。
【0127】ステップS82〜S92の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0128】CPU56は、スイッチ処理のステップS75において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS76)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS77)。そして、スイッチチェック処理サブルーチンをコールする(ステップS78)。
【0129】スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS82〜S92の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
【0130】なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
【0131】図19〜図21は、遊技制御処理におけるステップS31の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、入賞口スイッチ19a,19b,24a,24b、カウントスイッチ23および始動口スイッチ17が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
【0132】賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブル(図23参照)のオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
【0133】入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図23に示されている。図23に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
【0134】スイッチオンチェックルーチンの一例が図2222に示されている。スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図19には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
【0135】また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS156)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS157)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS158)。
【0136】スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS159)、球切れフラグがセットされる(ステップS160)。なお、図19には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
【0137】そして、CPU56は、払出停止状態であるか否か確認する(ステップS201)。払出停止状態は、払出制御基板37に対して払出停止状態指定コマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS202)。
【0138】いずれかがオン状態に変化したときには、払出停止状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS203)、コマンドセット処理をコールする(ステップS206)。ステップS203では、払出停止状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出停止状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS202において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理(ステップS203)は行われない。
【0139】また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS204)。ともにオフ状態となったときには、払出可能状態指定コマンドに関するコマンド送信テーブルをセットし(ステップS205)、コマンドセット処理をコールする(ステップS207)。ステップS205では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0140】さらに、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS121)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS122)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ24aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS123)。そして、スイッチオンチェックルーチンがコールされる(ステップS124)。
【0141】スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図23参照)の先頭アドレスを設定する(ステップS101)。そして、そのアドレスにオフセットを加算し(ステップS102)、加算後のアドレスからスイッチオン判定値をロードする(ステップS103)。
【0142】次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS104)、そのアドレスにオフセットを加算し(ステップS105)、加算後のアドレスからスイッチタイマの値をロードする(ステップS106)。各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
【0143】そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS107)。それらが一致すれば、スイッチオンフラグをセットする(ステップ108)。
【0144】この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ24aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS125)。そして、スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS130)、最初に設定された繰り返し数分だけ実行されるので(ステップS128,S129)、結局、入賞口スイッチ19a,19b,24a,24bについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。
【0145】スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「10」をリングバッファに設定する(ステップS126)。そして、総賞球数格納バッファの格納値に10を加算する(ステップS127)。なお、リングバッファにデータを書き込んだときには、書込ポインタをインクリメントし、リングバッファの最後の領域にデータを書き込まれたときには、書込ポインタを、リングバッファの最初の領域を指すように更新する。
【0146】総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。なお、この実施の形態では、リングバッファにデータを書き込んだ時点で総賞球数格納バッファの格納値に対する加算処理が行われるが、払い出すべき賞球数を指示する払出制御コマンドを出力ポートに出力した時点で総賞球数格納バッファの格納値に対する加算処理を行ってもよい。
【0147】次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS131)、スイッチタイマのアドレスのオフセットとして「4」を設定する(ステップS132)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「4」は始動口スイッチ17に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS133)。
【0148】スイッチオンチェックルーチンにおいて、始動口スイッチ17に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS134)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「6」をリングバッファに設定する(ステップS135)。また、総賞球数格納バッファの格納値に6を加算する(ステップS136)。
【0149】次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS221)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS222)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図12に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS223)。
【0150】スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS224)。スイッチオンフラグがセットされたら、払い出すべき賞球個数としての「15」をリングバッファに設定する(ステップS225)。また、総賞球数格納バッファの格納値に15を加算する(ステップS226)。
【0151】そして、リングバッファにデータが存在する場合には(ステップS227)、読出ポインタが指すリングバッファの内容を送信バッファにセットするとともに(ステップS228)、読出ポインタの値を更新(リングバッファの次の領域を指すように更新)し(ステップS229)、賞球数に関するコマンド送信テーブルをセットし(ステップS230)、コマンドセット処理をコールする(ステップS231)。コマンドセット処理の動作については後で詳しく説明する。ステップS230では、賞球数に関する払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。賞球数に関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。ただし、2バイト目のデータとして「80(H)」が設定されている。以上のように、遊技制御手段から払出制御基板37に賞球数を指示する払出制御コマンドを出力しようとするときに、賞球数に関するコマンド送信テーブルのアドレス設定と送信バッファの設定とが行われる。そして、コマンドセット処理によって、賞球数に関するコマンド送信テーブルと送信バッファの設定内容とにもとづいて払出制御コマンドが払出制御基板37に送出される。なお、ステップS227において、書込ポインタと読出ポインタとの差によってデータがあるか否か確認することができるが、リングバッファ内の未処理のデータ個数を示すカウンタを設け、カウント値によってデータがあるか否か確認するようにしてもよい。
【0152】そして、総賞球数バッファの内容が0でない場合、すなわち、まだ賞球残がある場合には、CPU56は、賞球払出中フラグをオンする(ステップS232,S233)。
【0153】また、CPU56は、賞球払出中フラグがオンしているときには(ステップS234)、球払出装置97から実際に払い出された賞球数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理を行う(ステップS235)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
【0154】この実施の形態では、払出停止中であっても(ステップS201,S204)、ステップS121〜S136およびS221〜S231の処理が実行される。すなわち、遊技制御手段は、払出停止状態であっても、賞球個数を指示するための払出制御コマンドを送出することができる。すなわち、賞球個数を指示するための制御指令が、払出停止状態であっても払出制御手段に伝達され、払出停止状態が解除されたときに、早めに賞球払出を開始することができる。
【0155】次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。遊技制御手段から各電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図24(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0156】なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【0157】図24(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(メイン処理のステップS31)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、図柄出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(メイン処理のステップS27)において、INTデータに「02(H)」を設定する。
【0158】INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音声制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0159】この実施の形態では、払出制御コマンドについて、図24(C)に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球数が順次リングバッファに設定される。また、賞球数に関する払出制御コマンド送出する際に、リングバッファから1個のデータが送信バッファに転送される。なお、図24(C)に示す例では、リングバッファには、12個分の払出制御コマンドに相当するデータが格納可能になっている。
【0160】図25は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板への制御指令となる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図25に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。また、図25では払出制御基板37に送出される払出制御コマンドを例示するが、他の電気部品制御基板に送出される制御コマンドも同一構成である。
【0161】図26は、各電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号CD0〜CD7とINT信号との関係を示すタイミング図である。図2626に示すように、MODEまたはEXTのデータが出力ポート(出力ポート1〜出力ポート4のうちのいずれか)に出力されてから、Aで示される期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をハイレベルにする。また、そこからBで示される期間が経過するとINT信号をローレベルにする。さらに、次に送出すべきデータがある場合には、すなわち、MODEデータ送出後では、Cで示される期間をおいてから2バイト目のデータを出力ポートに送出する。2バイト目のデータに関して、A,Bの期間は、1バイト目の場合と同様である。このように、取込信号はMODEおよびEXTのデータのそれぞれについて出力される。
【0162】Aの期間は、CPU56が、コマンドの送出準備の期間すなわちバッファに送出コマンドを設定する処理に要する期間であるとともに、制御信号線におけるデータの安定化のための期間である。すなわち、制御信号線において制御信号CD0〜CD7が出力された後、所定期間(Aの期間:オフ出力期間の一部)経過後に、取込信号としてのINT信号が出力される。また、Bの期間(オン出力期間)は、INT信号安定化のための期間である。そして、Cの期間(オフ出力期間の一部)は、電気部品制御手段が確実にデータを取り込めるように設定されている期間である。B,Cの期間では、信号線上のデータは変化しない。すなわち、B,Cの期間が経過するまでデータ出力が維持される。
【0163】この実施の形態では、払出制御基板37への払出制御コマンド、図柄制御基板80への表示制御コマンド、ランプ制御基板35へのランプ制御コマンドおよび音声制御基板70への音声制御コマンドは、同一のコマンド送信処理ルーチン(共通モジュール)を用いて送出される。そこで、B,Cの期間すなわち1バイト目に関するINT信号が立ち上がってから2バイト目のデータが送出開始されるまでの期間は、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長くなるように設定される。
【0164】なお、各電気部品制御手段は、INT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。
【0165】B,Cの期間が、コマンド受信処理に最も時間がかかる電気部品制御手段における受信処理時間よりも長いので、遊技制御手段が、各電気部品制御手段に対するコマンド送出処理を共通モジュールで制御しても、いずれの電気部品制御手段でも遊技制御手段からの制御コマンドを確実に受信することができる。
【0166】この実施の形態では、CPU56は、(11.776/2)MHzのシステムクロックで動作している。そして、具体的には、Aの期間に138ステート(1ステート=[2/11.776]μs)かけ、Bの期間に82ステートかけ、Cの期間に251ステートかけている。従って、B,Cの期間はAの期間よりも長い。すなわち、CPU56は、INT信号出力処理を実行した後に所定期間が経過すると次のデータを送出できる状態になるが、その所定期間(B,Cの期間)は、INT信号出力処理の前にデータを送出してからINT信号を出力開始するまでの期間(Aの期間)よりも長い。上述したように、Aの期間はコマンドの信号線における安定化期間であり、B,Cの期間は受信側がデータを取り込むのに要する時間を確保するための期間である。従って、Aの期間をB,Cの期間よりも短くすることによって、受信側の電気部品制御手段が確実にコマンドを受信できる状態になるという効果を得ることができるとともに、1つのコマンドの送出完了に要する期間が短縮される効果もある。
【0167】図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」が払出個数を示す。
【0168】払出制御手段は、主基板31の遊技制御手段からFF01(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、FF00(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
【0169】なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、この例では、払出制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
【0170】各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0171】図28は、コマンドセット処理(ステップS206,S207,S231)の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレス(送信信号指示手段としてのポインタの内容)をスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
【0172】そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0173】図29は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
【0174】次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
【0175】キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
【0176】次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート2のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0177】2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音声制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされる制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したIOアドレスが設定されている。
【0178】よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
【0179】また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0180】次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音声制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)に対応したINT信号がハイレベルになる。
【0181】次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図26に示されたBの期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はローレベルになる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、図26に示されたCの期間を設定するための処理である。ただし、実際のCの期間は、ステップS367〜S369で作成される時間に、その後の処理時間(この時点でMODEデータが出力されている場合にはEXTデータを出力するまでに要する制御にかかる時間)が加算された期間となる。このように、Cの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
【0182】従って、ステップS367でウェイトカウンタに設定される値は、Cの期間が、制御コマンド受信対象となる全ての電気部品制御手段が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、Cの期間が、ステップS357〜S359の処理に要する時間(Aの期間に相当)よりも長くなるような値である。なお、Aの期間をより長くしたい場合には、Aの期間を作成するためのウェイト処理(例えば、ウェイトカウンタに所定値を設定し、ウェイトカウンタの値が0になるまで減算を行う処理)を行う。
【0183】以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図28に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、送信バッファの内容を引数2にロードする(ステップS341)。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数2にロードする。
【0184】送信バッファには賞球数を特定可能なデータが設定されているので、引数2にそのデータが設定される。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定される。よって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされる。
【0185】次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
【0186】以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音声制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図26に示された場合と逆にしてもよい。
【0187】また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
【0188】さらに、この実施の形態では、1回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数の制御指令を送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音声制御コマンド、払出制御コマンド)毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドを送出するように構成することも可能である。すなわち、同時に(1メイン処理起動周期での意味)、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音声制御コマンドと同時に送出されることはない。
【0189】図30は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS241)。そして、格納値が0であるか否か確認する(ステップS242)。0であれば処理を終了する。
【0190】0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS243)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS244)。一致したら(ステップS245)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS246)。
【0191】また、賞球情報カウンタの値を+1する(ステップS247)。そして、賞球情報カウンタの値が10以上であれば(ステップS248)、賞球情報出力カウンタの値を+1するとともに(ステップS249)、賞球情報カウンタの値を−10する(ステップS250)。なお、賞球情報出力カウンタの値は、図13に示されたメイン処理における情報出力処理(ステップS29)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図11参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
【0192】そして、総賞球数格納バッファの格納値が0になったら(ステップS251)、賞球払出中フラグをクリアし(ステップS252)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS253)、ランプ制御コマンドの送出処理を実行する(ステップS254)。
【0193】次に、遊技制御手段以外の電気部品制御手段において制御コマンド受信処理が行われる場合の例として、払出制御手段において払出制御コマンドの受信が行われる場合について説明する。
【0194】図31は、払出制御用CPU371周りの一構成例を示すブロック図である。図31に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって電源断の発生を確認することができる。
【0195】払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の入力に応じて割込が発生することになる。
【0196】払出制御基板37には、システムリセット回路975も搭載されているが、この実施の形態では、システムリセット回路975におけるリセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、電源断時には、リセットIC976からの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
【0197】リセットIC976が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0198】+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復帰することができる。
【0199】なお、図31に示された構成では、システムリセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図9に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
【0200】図32は、この実施の形態における出力ポートの割り当てを示す説明図である。図32に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
【0201】図33は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図33に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜2には、それぞれ、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、モータ位置センサの検出信号入力される。ビット3〜5には、カードユニット50からのBRDY信号、BRQ信号およびVL信号が入力される。
【0202】図34は、払出制御用CPU371のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
【0203】この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0204】なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭番地が特定される。タイマ割込処理ではタイマ割込フラグがセットされ、メイン処理でタイマ割込フラグがセットされていることが検知されると、払出制御処理が実行される。すなわち、タイマ割込処理では、電気部品制御処理の一例である払出制御処理を実行するための設定がなされる。
【0205】また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
【0206】カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭番地が特定される。
【0207】この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始番地を設定することができる。
【0208】CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。さらに、CLK/TRG2端子に入力される信号の立ち上がりまたは立ち下がりで特定レジスタとしてのタイマカウンタレジスタCLK/TRG2のカウント値が−1されるのであるが、所定の特定レジスタの設定によって、立ち上がり/立ち下がりの選択を行うことができる。この実施の形態では、CLK/TRG2端子に入力される信号の立ち上がりで、タイマカウンタレジスタCLK/TRG2のカウント値が−1されるような設定が行われる。また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CH3のレジスタ値はシステムクロックの1/256周期で減算される。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。
【0209】CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
【0210】そして、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS707)。すなわち、例えば、主基板31のCPU56の処理と同様に、電源断時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
【0211】バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
【0212】チェック結果が正常であれば(ステップS708)、払出制御用CPU371は、内部状態を電源断時の状態に戻すための払出状態復旧処理を行う(ステップS709)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
【0213】初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。
【0214】この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図35に示すように、払出制御用CPU371は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS721)。なお、図35には割込を許可することも明示されているが(ステップS720)、2msタイマ割込処理では、最初に割込許可状態に設定される。すなわち、2msタイマ割込処理中には割込許可状態になってので、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
【0215】払出制御用CPU371は、ステップS724において、タイマ割込フラグがセットされたことを検出するとステップS751以降の払出制御処理を実行する。以上の制御によって、この実施の形態では、払出制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
【0216】払出制御処理において、払出制御用CPU371は、まず、中継基板72を介して入力ポート372bに入力される賞球カウントスイッチ301A、球貸しカウントスイッチ301Bがオンしたか否かを判定する(スイッチ処理:ステップS751)。
【0217】次に、払出制御用CPU371は、センサ(例えば、払出モータ289の回転数を検出するモータ位置センサ)からの信号入力状態を確認してセンサの状態を判定する等の処理を行う(入力判定処理:ステップS752)。払出制御用CPU371は、さらに、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS753)。
【0218】次いで、払出制御用CPU371は、主基板31から払出停止状態指定コマンドを受信していたら払出停止状態に設定し、払出可能状態指定コマンドを受信していたら払出停止状態の解除を行う(ステップS754)。また、プリペイドカードユニット制御処理を行う(ステップS755)。
【0219】次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
【0220】さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
【0221】なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
【0222】次いで、エラー検出処理が行われ、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。
【0223】なお、出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
【0224】図36は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。
【0225】そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
【0226】従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電源断が生じても、所定期間内に電源復旧すれば、バックアップRAM領域に記憶される賞球処理および球貸し処理を続行できる。従って、遊技者に与えられる不利益を低減することができる。
【0227】図37は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。従って、受信バッファは、確定コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
【0228】図38は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は払出制御用CPU371のCLK/TRG2端子に入力されている。よって、主基板31からのINT信号が立ち上がると、払出制御用CPU371に割込がかかり、図38に示す払出制御コマンドの受信処理が開始される。なお、払出制御用CPU371は、割込が発生すると、ソフトウェアで割込許可にしない限り、マスク可能割込がさらに生ずることはないような構造のCPUである。
【0229】なお、ここでは払出制御手段のコマンド受信処理について説明するが、表示制御手段、ランプ制御手段および音声制御手段でも、同様のコマンド受信処理が実行されている。また、この実施の形態では、CLK/TRG2端子の入力が立ち上がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ったが、すなわち、INT信号の立ち上がりで割込が発生するような初期設定を行ったが、CLK/TRG2端子の入力が立ち下がるとタイマカウンタレジスタCLK/TRG2の値が−1されるような初期設定を行ってもよい。換言すれば、INT信号の立ち下がりで割込が発生するような初期設定を行ってもよい。従って、取込信号としてのパルス状(矩形波状)のINT信号のレベル変化タイミング(エッジ)で割込が発生するように構成すれば、エッジは立ち上がりエッジであっても立ち下がりエッジであってもよい。
【0230】払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポート372a(図7参照)からデータを読み込む(ステップS851)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである(図25参照)。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す確定コマンドバッファに格納する(ステップS853)。
【0231】払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(確定コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0232】1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す確定コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである(図25参照)。なお、ステップS854における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
【0233】ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、最後に割込許可に設定する(ステップS859)。
【0234】コマンド受信割込処理中は割込禁止状態になっている。上述したように、2msタイマ割込処理中は割込許可状態になっているので、2msタイマ割込中にコマンド受信割込が発生した場合には、コマンド受信割込処理が優先して実行される。また、コマンド受信割込処理中に2msタイマ割込が発生しても、その割込処理は待たされる。このように、この実施の形態では、主基板31からのコマンド受信処理の処理優先度が高くなっている。また、コマンド受信処理中には他の割込処理が実行されないので、コマンド受信処理に要する最長時間は決まる。コマンド受信処理中に他の割込処理が実行可能であるように構成したのでは、コマンド受信処理に要する最長の時間を見積もることは困難である。コマンド受信処理に要する最長時間が決まるので、遊技制御手段のコマンド送出処理におけるCの期間(図26参照)をどの程度にすればよいのかを正確に判断することができる。
【0235】また、払出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。
【0236】なお、この実施の形態では、コマンド受信割込処理では、受信したコマンドをバッファに格納する制御が行われるが、後述するコマンド解析実行処理(図4040参照)や払出状態設定処理(図41参照)を、コマンド受信割込処理において実行するように構成してもよい。そのように、バッファ内のコマンドについて判定するコマンド判定処理までもコマンド受信割込処理において実行する場合には、コマンドの判定も迅速に実行される。
【0237】図39は、ステップS751のスイッチ処理の一例を示すフローチャートである。スイッチ処理において、払出制御用CPU371は、賞球カウントスイッチ301Aがオン状態を示しているか否か確認する(ステップS751a)。オン状態を示していれば、払出制御用CPU371は、賞球カウントスイッチオンカウンタを+1する(ステップS751b)。賞球カウントスイッチオンカウンタは、賞球カウントスイッチ301Aのオン状態を検出した回数を計数するためのカウンタである。
【0238】そして、賞球カウントスイッチオンカウンタの値をチェックし(ステップS751c)、その値が2になっていれば、1個の賞球の払出が行われたと判断する。1個の賞球の払出が行われたと判断した場合には、払出制御用CPU371は、賞球未払出カウンタ(総合個数記憶に格納されている賞球数)を−1する(ステップS751d)。
【0239】ステップS751aにおいて賞球カウントスイッチ301Aがオン状態でないことが確認されると、払出制御用CPU371は、賞球カウントスイッチオンカウンタをクリアする(ステップS751e)。そして、この実施の形態では、球貸しカウントスイッチ301Bがオン状態を示しているか否か確認する(ステップS751f)。オン状態を示していれば、払出制御用CPU371は、球貸しカウントスイッチオンカウンタを+1する(ステップS751g)。球貸しカウントスイッチオンカウンタは、球貸しカウントスイッチ301Bのオン状態を検出した回数を計数するためのカウンタである。
【0240】そして、球貸しカウントスイッチオンカウンタの値をチェックし(ステップS751h)、その値が2になっていれば、1個の貸し球の払出が行われたと判断する。1個の貸し球の払出が行われたと判断した場合には、払出制御用CPU371は、貸し球未払出個数カウンタ(貸し球個数記憶に格納されている貸し球数)を−1する(ステップS751i)。
【0241】ステップS751fにおいて球貸しカウントスイッチ301Bがオン状態でないことが確認されると、払出制御用CPU371は、球貸しカウントスイッチオンカウンタをクリアする(ステップS751j)。
【0242】図40は、ステップS753のコマンド解析実行処理の一例を示すフローチャートである。コマンド解析実行処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS753a)。受信コマンドがあれば、受信した払出制御コマンドが賞球個数を指定するための払出制御コマンドであるか否かの確認を行う(ステップS753b)。なお、払出制御用CPU371は、制御指令指示手段としての読出ポインタが指す確定コマンドバッファ領域中のアドレスに格納されている受信コマンドについてステップS753bの判断を行う。また、その判断後、読出ポインタの値は+1される。読出ポインタが指すアドレスが確定コマンドバッファ12(図37参照)のアドレスを越えた場合には、読出ポインタの値は、確定コマンドバッファ1を指すように更新される。
【0243】受信した払出制御コマンドが賞球数を指定するための払出制御コマンドであれば、払出制御コマンドで指示された個数を総合個数記憶に加算する(ステップS753c)。すなわち、払出制御用CPU371は、主基板31のCPU56から送られた払出制御コマンドに含まれる賞球数をバックアップRAM領域(総合個数記憶)に記憶する。
【0244】なお、払出制御用CPU371は、必要ならば、コマンド受信個数カウンタの減算や確定コマンドバッファ領域における受信コマンドシフト処理を行う。
【0245】図41は、ステップS754の払出停止状態設定処理の一例を示すフローチャートである。払出停止状態設定処理において、払出制御用CPU371は、確定コマンドバッファ領域中に受信コマンドがあるか否かの確認を行う(ステップS754a)。確定コマンドバッファ領域中に受信コマンドがあれば、受信した払出制御コマンドが払出停止状態指定コマンドであるか否かの確認を行う(ステップS754b)。払出停止状態指定コマンドであれば、払出制御用CPU371は、払出停止状態に設定する(ステップS754c)。
【0246】ステップS754bで受信コマンドが払出停止状態指定コマンドでないことを確認すると、受信した払出制御コマンドが払出可能状態指定コマンドであるか否かの確認を行う(ステップS754d)。払出可能状態指定コマンドであれば、払出停止状態を解除する(ステップS754e)。
【0247】図42は、ステップS755のプリペイドカードユニット制御処理の一例を示すフローチャートである。プリペイドカードユニット制御処理において、払出制御用CPU371は、カードユニット制御用マイクロコンピュータより入力されるVL信号を検知したか否かを確認する(ステップS755a)。VL信号を検知していなければ、VL信号非検知カウンタを+1する(ステップS755b)。また、払出制御用CPU371は、VL信号非検知カウンタの値が本例では125であるか否か確認する(ステップS755c)。VL信号非検知カウンタの値が125であれば、払出制御用CPU371は、発射制御基板91への発射制御信号出力を停止して、駆動モータ94を停止させる(ステップS755d)。
【0248】以上の処理によって、125回(2ms×125=250ms)継続してVL信号のオフが検出されたら、球発射禁止状態に設定される。
【0249】ステップS755aにおいてVL信号を検知していれば、払出制御用CPU371は、VL信号非検知カウンタをクリアする(ステップS755e)。そして、払出制御用CPU371は、発射制御信号出力を停止していれば(ステップS755f)、発射制御基板91への発射制御信号出力を開始して駆動モータ94を動作可能状態にする(ステップS755g)。
【0250】図43および図44は、ステップS756の球貸し制御処理の一例を示すフローチャートである。なお、この実施の形態では、連続的な払出数の最大値を貸し球の一単位(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0251】球貸し制御処理において、払出制御用CPU371は、貸し球払出中であるか否かの確認を行い(ステップS511)、貸し球払出中であれば図44に示す球貸し中の処理に移行する。なお、貸し球払出中であるか否かは、後述する球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ、賞球の払出中であるか否か確認する(ステップS512)。賞球の払出中であるか否は、後述する賞球処理中フラグの状態によって判断される。
【0252】貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50から球貸し要求があったか否かを確認する(ステップS513)。要求があれば、球貸し処理中フラグをオンするとともに(ステップS514)、25(球貸し一単位数:ここでは100円分)をバックアップRAM領域の貸し球個数記憶に設定する(ステップS515)。そして、払出制御用CPU371は、EXS信号をオンする(ステップS516)。また、球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS517)。さらに、払出モータ289をオンして(ステップS518)、図44に示す球貸し中の処理に移行する。
【0253】なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をOFFとしてからである。なお、球貸し処理中フラグはバックアップRAM領域に設定される。
【0254】図44は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、球貸しカウントスイッチ301Bの検出出力による遊技球の払出がなされたか否かの確認を行うので、球貸し制御処理では貸し球個数記憶の減算などは行われない。球貸し制御処理において、払出制御用CPU371は、貸し球通過待ち時間中であるか否かの確認を行う(ステップS519)。貸し球通過待ち時間中でなければ、貸し球の払出を行い(ステップS520)、払出モータ289の駆動を終了すべきか(一単位の払出動作が終了したか)否かの確認を行う(ステップS521)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS522)、貸し球通過待ち時間の設定を行う(ステップS523)。
【0255】なお、ステップS520の球貸し処理では、払出モータ位置センサのオンとオフとがタイマ監視されるが、所定時間以上のオン状態またはオフ状態が継続したら、払出制御用CPU371は、払出モータ球噛みエラーが生じたと判断する。
【0256】ステップS519で貸し球通過待ち時間中であれば、払出制御用CPU371は、貸し球通過待ち時間が終了したか否かの確認を行う(ステップS524)。貸し球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから球貸しカウントスイッチ301Bを通過するまでの時間である。貸し球通過待ち時間の終了を確認すると、一単位の貸し球は全て払い出された状態であるので、カードユニット50に対して次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS525)。また、振分ソレノイドをオフするとともに(ステップS526)、球貸し処理中フラグをオフする(ステップS527)。なお、貸し玉通過待ち時間が経過するまでに最後の払出球が球貸しカウントスイッチ301Bを通過しなかった場合には、球貸し経路エラーとされる。また、この実施の形態では、賞球も球貸しも同じ払出装置で行われる。
【0257】なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、振分ソレノイドおよび払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
【0258】貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、貸し球個数記憶の内容にもとづいて球貸し処理を継続することができる。
【0259】図45および図46は、ステップS757の賞球制御処理の一例を示すフローチャートである。なお、この例では、連続的な払出数の最大値を貸し球の一単位と同数(例えば25個)とするが、連続的な払出数の最大値は他の数であってもよい。
【0260】賞球制御処理において、払出制御用CPU371は、貸し球払出中であるか否か確認する(ステップS531)。貸し球払出中であるか否かは、球貸し処理中フラグの状態によって判断される。貸し球払出中でなければ賞球の払出中であるか否か確認し(ステップS532)、賞球の払出中であれば図46に示す賞球中の処理に移行する。賞球の払出中であるか否かは、後述する賞球処理中フラグの状態によって判断される。
【0261】貸し球払出中でも賞球払出中でもなければ、払出制御用CPU371は、カードユニット50からの球貸し準備要求があるか否か確認する(ステップS533)。球貸し準備要求があるか否かは、カードユニット50から入力されるBRDY信号のオン(要求あり)またはオフ(要求なし)を確認することによって行われる。
【0262】カードユニット50からの球貸し準備要求がなければ、払出制御用CPU371は、総合個数記憶に格納されている賞球数(未払出の賞球数)が0でないか否か確認する(ステップS534)。総合個数記憶に格納されている賞球数が0でなければ、賞球制御用CPU371は、賞球処理中フラグをオンし(ステップS535)、総合個数記憶の値が25以上であるか否か確認する(ステップS536)。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
【0263】総合個数記憶に格納されている賞球数が25以上であると、払出制御用CPU371は、25個分の遊技球を払い出すまで払出モータ289を回転させるように払出モータ289に対して駆動信号を出力するために、25個払出動作の設定を行う(ステップS537)。総合個数記憶に格納されている賞球数が25以上でなければ、払出制御用CPU371は、総合個数記憶に格納されている全ての遊技球を払い出すまで払出モータ289を回転させるように駆動信号を出力するために、全個数払出動作の設定を行う(ステップS538)。次いで、払出モータ289をオンする(ステップS538)。なお、振分ソレノイドはオフ状態であるから、球払出装置97の下方の球振分部材は賞球側に設定されている。そして、図46に示す賞球制御処理における賞球払出中の処理に移行する。
【0264】図46は、払出制御用CPU371による払出制御処理における賞球中の処理の一例を示すフローチャートである。賞球制御処理では、払出モータ289がオンしていなければオンする。なお、この実施の形態では、ステップS751のスイッチ処理で、賞球カウントスイッチ301Aの検出出力による遊技球の払出がなされたか否かの確認を行うので、賞球制御処理では総合個数記憶の減算などは行われない。賞球中の処理において、払出制御用CPU371は、賞球通過待ち時間中であるか否かの確認を行う(ステップS540)。賞球通過待ち時間中でなければ、賞球払出を行い(ステップS541)、払出モータ289の駆動を終了すべきか(25個または25個未満の所定の個数の払出動作が終了したか)否かの確認を行う(ステップS542)。具体的には、所定個数の払出に対応した回転が完了したか否かを確認する。所定個数の払出に対応した回転は、払出モータ位置センサの出力によって監視される。所定個数の払出に対応した回転が完了した場合には、払出制御用CPU371は、払出モータ289の駆動を停止し(ステップS543)、賞球通過待ち時間の設定を行う(ステップS544)。賞球通過待ち時間は、最後の払出球が払出モータ289によって払い出されてから賞球カウントスイッチ301Aを通過するまでの時間である。
【0265】ステップS540で賞球通過待ち時間中であれば、払出制御用CPU371は、賞球通過待ち時間が終了したか否かの確認を行う(ステップS545)。賞球通過待ち時間が終了した時点は、ステップS537またはステップS538で設定された賞球が全て払い出された状態である。そこで、払出制御用CPU371は、賞球通過待ち時間が終了していれば、賞球処理中フラグをオフする(ステップS546)。賞球通過待ち時間が経過するまでに最後の払出球が賞球カウントスイッチ301Aを通過しなかった場合には、賞球経路エラーとされる。
【0266】なお、この実施の形態では、ステップS511、ステップS531の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
【0267】総合個数記憶および貸し球個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて払出処理を継続することができる。
【0268】なお、払出制御用CPU371は、主基板31から指示された賞球個数を賞球個数記憶で総数として管理したが、賞球数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、個数カウンタに対応した賞球払出が行われると、その個数カウンタを−1する(この場合、払出制御処理にて減算処理を行うようにする)。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機の電源が断しても、所定期間中に電源が回復すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
【0269】以上に説明したように、この実施の形態では、払出制御手段は、払出制御信号に関するINT信号が立ち上がったことを検知して、例えば割込処理によって1バイトのデータの取り込み処理を開始する。そして、複数の払出制御コマンドを格納可能な受信リングバッファ領域(この例では確定コマンドバッファ)が設けられているので、払出制御コマンドを受信後、そのコマンドにもとづく制御が開始されないうちに次の払出制御コマンドを受信しても、そのコマンドが、払出制御手段において受信されないということはない。
【0270】また、図19および図20のフローチャートに示されたように、遊技制御手段は、払出停止状態であっても(ステップS201)、ステップS231のコマンドセット処理が実行可能であるように構成されている。よって、払出停止状態であっても、入賞検出がなされると払出個数を示す払出制御コマンドが払出制御手段に対して送出される。
【0271】払出制御手段において、払出停止状態であっても割込処理は起動されるので、払出制御手段は、払出停止中であっても、払出制御コマンドを受信することができる。そして、払出停止中では受信した払出制御コマンドに応じた払出処理は停止しているのであるが、複数の払出制御コマンドを格納可能な受信リングバッファ領域が設けられているので、遊技制御手段から送出された払出制御コマンドは、払出制御手段において消失してしまうようなことはない。
【0272】そして、払出制御手段において、送出コマンドを受信リングバッファ領域(この例では確定コマンドバッファ)のどの領域に格納するのかを示すアドレス指示手段としてのコマンド受信個数カウンタが用いられる。よって、どの領域を使用すればよいのかの判断は容易である。
【0273】また、遊技制御手段においても、送信コマンドを特定可能なデータは、リングバッファ形式のバッファ(図24(C)参照)に格納される。ただし、図19R>9〜図21のフローチャートに示されたように、払出制御コマンドについては、賞球個数を示す払出制御コマンドはリングバッファ形式のバッファに格納されるが(ステップS126,S135,S225)、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについては、リングバッファ形式のバッファには格納されない。また、賞球個数を示す払出制御コマンドがリングバッファ形式のバッファに格納される際に、EXTデータに対応する賞球数に関するコマンドデータのみが格納される。この実施の形態では、賞球数が幾つであってもMODEデータは「F0(H)」であるから(図27参照)、EXTデータに対応する賞球数のみを格納するように構成しても、コマンド送出制御が複雑になることはない。
【0274】そして、図19〜図21のフローチャートにおいて、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックが実行されるので、2msの一処理期間内で、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドは優先して送出される。すなわち、電気部品の動作停止/再開を指令する信号のように、その信号にもとづく処理が早めに開始されることが好ましい重要な制御指令は、1回の制御期間内で先に送信される。なお、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドについても、賞球個数を示す払出制御コマンドと同様に、リングバッファ形式のバッファに格納してもよい。そのように構成しても、入賞口に関するスイッチのチェックよりも前に払出停止状態に関するチェックを実行すれば、払出停止状態指定に関する払出制御コマンドおよび払出可能状態指定に関する払出制御コマンドが優先して送出される。
【0275】さらに、2msの一処理期間内で、払出停止状態指定に関する払出制御コマンドまたは払出可能状態指定に関する払出制御コマンドと賞球個数を指定するための払出制御コマンドとをともに払出制御基板37に送出可能になっている。すなわち、発生要因が異なる複数の制御(この例では、払出停止に関する制御と賞球払出に関する制御)について、一処理期間内で、払出制御コマンドを送出することが可能になっている。なお、図2020および図21に示されたフローチャートに示されたように、一処理期間内で、賞球個数を指定するための払出制御コマンドは1つだけ送出可能になっている。さらに、払出停止に関する制御および賞球払出に関する制御とは発生要因が異なる制御の例として、エラー検出制御、遊技制御手段による球詰まり検出制御、球払出装置97に関連するその他の制御を行ってもよい。それらの制御も行われる場合、遊技制御手段を、それぞれの制御について一処理期間内で1つの払出制御コマンド(例えば、エラー発生を示すコマンド、球詰まり解除を示すコマンド)を送出可能に構成しておけば、やはり、一処理期間内で複数の払出制御コマンド(それぞれ発生要因が異なる)を送出することができる。
【0276】また、遊技制御手段においても、リングバッファ形式のバッファのどの領域のデータを用いるのかを示すアドレス指示手段としてのポインタ(読出ポインタ)が用いられる。よって、どの領域のデータを用いて制御コマンドを送出するのかの判断は容易である。
【0277】なお、上記の実施の形態では、払出制御手段を例にしたが、その他の電気部品制御手段、例えば、表示制御手段、音声制御手段、ランプ制御手段等も上述したような処理によって遊技制御手段からの制御コマンドを確実に受信することができる。
【0278】また、上記の実施の形態では、電源監視回路は電源基板910に設けられたが、電源監視回路は主基板31や払出制御基板37などの電気部品制御基板に設けられていてもよい。電源回路が搭載された電気部品制御基板が構成される場合には、電源基板には電源監視回路は搭載されない。
【0279】そして、上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0280】さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
【0281】
【発明の効果】請求項1記載の発明では、遊技機を、コマンド出力手段が、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、所定期間はコマンドデータを出力してから取込信号を出力するまでの期間よりも長く、遊技制御手段が、コマンド出力手段を用いて、所定の払出停止条件の成立に応じて払出装置の払出動作を禁止することを指示する制御指令としての払出停止制御指令と、払出停止条件の解除に応じて払出装置の払出動作を許可することを指示する制御指令としての払出許可制御指令とを、払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であるように構成したので、遊技制御手段から払出制御手段に送出されるコマンドの出力状態が安定し払出制御手段が確実に遊技制御手段から払出制御手段に送出されるコマンドを取り込むことができるとともに、払出制御手段の側に早めに払出数制御指令が伝達されるので、払出処理を迅速に実行することができる効果がある。
【0282】請求項2記載の発明では、遊技機を、遊技制御手段が、所定期間が経過するまでコマンドデータの出力を維持するように構成したので、払出制御手段は安定してコマンドデータを取り込むことができる。
【0283】請求項3記載の発明では、取込信号が、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなるように構成したので、制御指令を連続的に送信する場合でも、受信側においてそれらを容易に識別することができる。
【0284】請求項4記載の発明では、一つの制御指令を複数のコマンドデータで構成したので、例えば制御指令をコマンドの分類とコマンドの種類に分けてコマンド受信処理の簡略化を図ったり、2つのコマンドデータの相互関係にもとづく受信コマンドチェックを行うことが可能になって、適正な制御指令の送受信処理を行うことができる。また、制御指令転送中のノイズ等によるデータ化けに起因する誤動作の可能性を低減することができる。
【0285】請求項5記載の発明では、遊技機を、遊技制御手段が、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能であるように構成したので、制御指令を迅速に送受信することができる。
【0286】請求項6記載の発明では、遊技機を、遊技制御手段が、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能であるように構成したので、異なる属性の制御指令の出力機会が同時に発生しても、各制御指令を迅速に送受信することができる。
【0287】請求項7記載の発明では、遊技機を、遊技制御手段が、払出停止制御指令または払出許可制御指令と払出数制御指令とを1回の制御期間内で出力することが可能であるように構成したので、重要な制御指令と頻繁に発生する制御指令とを1度に送信することができる。
【0288】請求項8記載の発明では、遊技機を、1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力されるように構成したので、重要な制御指令を優先して迅速に送信することができる。
【0289】請求項9記載の発明では、遊技機を、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータをバッファエリアに格納するように構成したので、頻繁に発生する制御指令を簡便に処理することができる。
【0290】請求項10記載の発明では、遊技機を、遊技制御手段が、遊技媒体数を示すコマンドデータのみをバッファエリアに格納するように構成したので、バッファエリアの容量を節減でき、その結果、メモリ容量を削減することができる。
【0291】請求項11記載の発明では、遊技機を、バッファエリアに複数の払出数制御指令が格納されている場合であっても、1回の制御期間内で払出数制御指令は1回のみ出力されるように構成したので、頻繁に発生する制御指令を複数分1度に送信することによって比較的長い時間を費やしてしまい他の処理にかけることができる時間が削減されてしまうようなことは防止される。
【図面の簡単な説明】
【図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 球貸しカウントスイッチ
310 振分ソレノイド
311 振分部材
371 払出制御用CPU
910 電源基板
【特許請求の範囲】
【請求項1】 遊技者が所定の遊技を行うことが可能な遊技機であって、遊技媒体の払出を行う払出装置と、遊技の進行に応じて、前記払出装置を制御させるためにコマンドデータによって構成される制御指令を出力可能な遊技制御手段と、制御指令に応じて前記払出装置を制御する払出制御手段とを備え、前記遊技制御手段は、前記払出制御手段に対してコマンドデータを出力するためのコマンド出力処理と、コマンドデータの取込みを指定する取込信号を出力するための取込信号出力処理とを実行するコマンド出力手段を有し、前記コマンド出力手段は、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、前記所定期間は、コマンドデータを出力してから取込信号を出力するまでの期間よりも長く、前記遊技制御手段は、前記コマンド出力手段を用いて、所定の払出停止条件の成立に応じて前記払出装置の払出動作を禁止することを指示する払出停止制御指令と、前記払出停止条件の解除に応じて前記払出装置の払出動作を許可することを指示する払出許可制御指令とを、前記払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、前記払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であることを特徴とする遊技機。
【請求項2】 遊技制御手段は、所定期間が経過するまでコマンドデータの出力を維持する請求項1記載の遊技機。
【請求項3】 取込信号は、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなる請求項1または請求項2記載の遊技機。
【請求項4】 複数のコマンドデータで一つの制御指令が構成される請求項1ないし請求項3記載の遊技機。
【請求項5】 遊技制御手段は、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能である請求項1ないし請求項4記載の遊技機。
【請求項6】 遊技制御手段は、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能である請求項5記載の遊技機。
【請求項7】 遊技制御手段は、払出停止制御指令または払出許可制御指令と、払出数制御指令とを1回の制御期間内で出力することが可能である請求項5または請求項6記載の遊技機。
【請求項8】 1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力される請求項5ないし請求項7記載の遊技機。
【請求項9】 遊技制御手段は、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータを前記バッファエリアに格納する請求項1ないし請求項8記載の遊技機。
【請求項10】 遊技制御手段は、一つの払出数制御指令を構成する複数のコマンドデータのうち遊技媒体数を示すコマンドデータのみをバッファエリアに格納する請求項9記載の遊技機。
【請求項11】 1回の制御期間内で払出数制御指令は1回のみ出力される請求項9または請求項10記載の遊技機。
【請求項1】 遊技者が所定の遊技を行うことが可能な遊技機であって、遊技媒体の払出を行う払出装置と、遊技の進行に応じて、前記払出装置を制御させるためにコマンドデータによって構成される制御指令を出力可能な遊技制御手段と、制御指令に応じて前記払出装置を制御する払出制御手段とを備え、前記遊技制御手段は、前記払出制御手段に対してコマンドデータを出力するためのコマンド出力処理と、コマンドデータの取込みを指定する取込信号を出力するための取込信号出力処理とを実行するコマンド出力手段を有し、前記コマンド出力手段は、コマンドデータを出力して取込信号出力処理を実行した後、所定期間経過後に次のコマンドデータを出力し、前記所定期間は、コマンドデータを出力してから取込信号を出力するまでの期間よりも長く、前記遊技制御手段は、前記コマンド出力手段を用いて、所定の払出停止条件の成立に応じて前記払出装置の払出動作を禁止することを指示する払出停止制御指令と、前記払出停止条件の解除に応じて前記払出装置の払出動作を許可することを指示する払出許可制御指令とを、前記払出制御手段に出力することが可能であるとともに、払出停止制御指令の出力にもとづく払出停止状態であっても、遊技媒体の払出条件が成立した場合には、前記払出装置から払い出すべき遊技媒体数を指示する払出数制御指令を出力することが可能であることを特徴とする遊技機。
【請求項2】 遊技制御手段は、所定期間が経過するまでコマンドデータの出力を維持する請求項1記載の遊技機。
【請求項3】 取込信号は、所定のオン出力期間中出力されるオンデータと所定のオフ出力期間中出力されるオフデータとからなる請求項1または請求項2記載の遊技機。
【請求項4】 複数のコマンドデータで一つの制御指令が構成される請求項1ないし請求項3記載の遊技機。
【請求項5】 遊技制御手段は、1回の制御期間内で払出制御手段に対して複数個の制御指令を出力することが可能である請求項1ないし請求項4記載の遊技機。
【請求項6】 遊技制御手段は、発生要因が異なる複数の制御について、1回の制御期間内に複数の制御指令を出力することが可能である請求項5記載の遊技機。
【請求項7】 遊技制御手段は、払出停止制御指令または払出許可制御指令と、払出数制御指令とを1回の制御期間内で出力することが可能である請求項5または請求項6記載の遊技機。
【請求項8】 1回の制御期間内で払出停止制御指令または払出許可制御指令は払出数制御指令よりも先に出力される請求項5ないし請求項7記載の遊技機。
【請求項9】 遊技制御手段は、複数のコマンドデータを同時期に格納可能なバッファエリアを有し、出力する払出数制御指令についてのコマンドデータを前記バッファエリアに格納する請求項1ないし請求項8記載の遊技機。
【請求項10】 遊技制御手段は、一つの払出数制御指令を構成する複数のコマンドデータのうち遊技媒体数を示すコマンドデータのみをバッファエリアに格納する請求項9記載の遊技機。
【請求項11】 1回の制御期間内で払出数制御指令は1回のみ出力される請求項9または請求項10記載の遊技機。
【図1】
【図2】
【図5】
【図14】
【図15】
【図3】
【図4】
【図6】
【図17】
【図7】
【図8】
【図9】
【図35】
【図10】
【図11】
【図12】
【図16】
【図23】
【図13】
【図18】
【図25】
【図26】
【図27】
【図36】
【図19】
【図20】
【図22】
【図31】
【図40】
【図21】
【図24】
【図33】
【図37】
【図28】
【図29】
【図32】
【図39】
【図30】
【図34】
【図41】
【図42】
【図38】
【図43】
【図44】
【図45】
【図46】
【図2】
【図5】
【図14】
【図15】
【図3】
【図4】
【図6】
【図17】
【図7】
【図8】
【図9】
【図35】
【図10】
【図11】
【図12】
【図16】
【図23】
【図13】
【図18】
【図25】
【図26】
【図27】
【図36】
【図19】
【図20】
【図22】
【図31】
【図40】
【図21】
【図24】
【図33】
【図37】
【図28】
【図29】
【図32】
【図39】
【図30】
【図34】
【図41】
【図42】
【図38】
【図43】
【図44】
【図45】
【図46】
【公開番号】特開2002−78934(P2002−78934A)
【公開日】平成14年3月19日(2002.3.19)
【国際特許分類】
【出願番号】特願2000−274116(P2000−274116)
【出願日】平成12年9月8日(2000.9.8)
【出願人】(000144153)株式会社三共 (5,148)
【Fターム(参考)】
【公開日】平成14年3月19日(2002.3.19)
【国際特許分類】
【出願日】平成12年9月8日(2000.9.8)
【出願人】(000144153)株式会社三共 (5,148)
【Fターム(参考)】
[ Back to top ]