説明

カード式パチンコ遊技装置

【課題】 球貸装置としての球貸しユニットで発生した球貸要求をパチンコ遊技機側の制御回路が確実に認識して球排出機構を制御して貸球の正確な排出を確実に行えるカード式パチンコ遊技装置を提供する。
【解決手段】 変換スイッチの一回の操作に対して上記最小排出単位の個数の整数倍単位で貸球数を設定可能な球貸し数設定手段と、排出要求信号の送信後、所定時間内に遊技球の排出が開始されるか否かを判定する排出開始監視手段とを備え、変換スイッチの一回の操作に基づき、設定された貸球数の遊技球を排出させるように排出制御装置へ最小排出単位の排出要求信号を送信するように成し、該排出要求信号を送信するごとに球貸し可能信号により排出制御装置が球貸し可能状態にあることを確認するとともに、当該排出要求信号の送信後、所定時間内に遊技球の排出が開始されない場合は、異常発生と判定するように構成した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カード挿排口を備えた球貸機と、該球貸機と対を成し、前面に設けられた供給皿側へ賞球または貸球に関わる遊技球を排出するための排出制御を行う排出制御装置と、遊技盤に関する制御を司ると共に賞球排出に関わる信号を上記排出制御装置へ送信する遊技盤制御装置とを有するパチンコ遊技機とを備えたカード式パチンコ遊技装置に関する。
【背景技術】
【0002】
従来の球貸機としては、パチンコ遊技機に併設され、所定数の遊技球を排出する機構を備えた台間球貸装置がある。これは、硬貨の投入に基づいて所定数の遊技球を排出するものであり、かかる球貸装置を利用するには硬貨が必要となり、遊技中に両替を行わなくてはならないという煩わしさがあった。そこで、その煩わしさを回避できるようにするため、予め所定の金額情報が記録されたカードを遊技者に購入してもらい、そのカードの挿入に基づいて所定数の遊技球を排出するようにした球貸装置が開発され、多くの遊技店で使用されるようになってきている。このような球貸装置がパチンコ遊技機間に設置された遊技店では、遊技者が球貸装置より排出された遊技球を球受取部より手で受け取ってパチンコ遊技機の供給皿に投入して遊技を行うこととなる。
【特許文献1】特開平02−279191号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、このようなカード方式の台間球貸装置は、遊技者にとって煩わしさが減少するという利点がある反面、従来のカード方式はカードを購入した店において、かつ、カードを購入した日にしか使用できないという制約が設けられていたため充分に遊技者の便宜を図ったものにはなっていなかった。
【0004】
そこで、共通プリペードカード方式のシステムの提案がなされている。この方式によれば、カードを購入した店および購入日にしか使用できないという問題点を解消することができる。
【0005】
一方、上述した台間球貸装置は、それ自身に遊技球を排出する球排出機構が設けられているため、パチンコ遊技機および台間球貸装置が設置される遊技店のいわゆる島設備に設けられる遊技球循環機構に関しても、パチンコ遊技機裏面に設けられ賞球として排出するための予備球を貯留するタンクに遊技球を補給する機構の他に、台間球貸装置へも遊技球を補給する機構やパチンコ遊技機の貯留タンクと台間球貸装置とに補給すべき遊技球を振り分ける機構が必要となり、設備が複雑になると共に設備費が嵩むという問題点があった。
【0006】
そこで、パチンコ遊技機に設けられている球排出機構を利用して球貸に関わる遊技球の排出を行うとともに上記プリペードカード方式を併用した方式が提案されている。この方式は、パチンコ遊技機の球排出機構を利用して球貸分の遊技球を排出してそれを直接供給皿に案内するというものであり、遊技者にとっては手を汚さずに済み、かつ球を床にこぼす心配もなくなって、遊技に専念できるという利点がある。
【0007】
しかも、この併用システムは、パチンコ遊技機とは別個に球貸装置としての球貸しユニットを設けるという従来通りの構成を採用したものである。その理由は、パチンコ遊技機と球貸装置とが別体である方が、従来の島設備をそのまま使用できて経済的であるためである。仮に、球貸装置を一体に組み込んでしまうと、従来の島設備にパチンコ遊技機を設置したときに台間球貸装置の配設スペースが空いてしまうため、そのスペースを装飾板等で隠蔽する必要が生じてしまう。
【0008】
このように、上記併用システムはメリットの多い提案であるが、台間球貸装置は独自の球排出機構を備えておらずパチンコ遊技機側の球排出機構(従来は賞球排出のみ実行)を使用するため、正確性および信頼性が要求される。
【0009】
この発明は上記のような背景の下になされたもので、その目的とするところは、パチンコ遊技機側の球排出機構を使用して貸球の排出を正確かつ確実に実行できるようにするために、球貸装置としての球貸しユニットで発生した球貸要求をパチンコ遊技機側の制御回路が確実に認識して球排出機構を制御して貸球の正確な排出を確実に行えるカード式パチンコ遊技装置を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、請求項1に記載の発明は、カード挿排口を備えた球貸機と、該球貸機と対を成し、前面に設けられた供給皿側へ賞球または貸球に関わる遊技球を排出するための排出制御を行う排出制御装置と、遊技盤に関する制御を司ると共に、賞球排出に関わる信号を上記排出制御装置へ送信する遊技盤制御装置とを有するパチンコ遊技機とを備えたカード式パチンコ遊技装置において、上記排出制御装置と上記球貸機とを送受信可能に接続すると共に、上記球貸機への入力のために用いられ、貸球への変換を指令する変換スイッチを上記パチンコ遊技機の前面に設け、上記排出制御装置は、球貸し排出が可能な状態にある場合に上記球貸機に対して球貸し可能信号を送信すると共に、該球貸機から供給される排出要求を示す排出要求信号に基づいて、該排出要求信号ごとに最小排出単位の個数の遊技球を排出させる排出制御を行い、該最小排出単位の個数の遊技球の排出終了ごとに排出が終了したことを示す球貸し排出終了信号を上記球貸機へ送信するように構成され、上記球貸機は、上記変換スイッチの一回の操作に対して上記最小排出単位の個数の整数倍単位で貸球数を設定可能な球貸し数設定手段と、上記排出要求信号の送信後、所定時間内に遊技球の排出が開始されるか否かを判定する排出開始監視手段とを備え、上記変換スイッチの一回の操作に基づき、設定された貸球数の遊技球を排出させるように上記排出制御装置へ最小排出単位の排出要求信号を送信するように成し、該排出要求信号を送信するごとに上記球貸し可能信号により上記排出制御装置が球貸し可能状態にあることを確認するとともに、当該排出要求信号の送信後、上記所定時間内に遊技球の排出が開始されない場合は、異常発生と判定するように構成した。
【0011】
また、請求項2に記載の発明は、上記パチンコ遊技機の前面に、上記球貸機により制御され、挿入されたカードの残高を表示するカード残高表示器および上記変換スイッチの有効・無効を表示する球貸可能表示器を設け、上記球貸機は、上記カードの挿入に基づいて、上記変換スイッチが有効である場合に上記球貸可能表示器を点灯し、上記排出要求信号に基づく貸球の排出が実行中は、上記変換スイッチの操作が無効であることを上記球貸可能表示器を消灯することで報知し、かつ当該球貸可能表示器の消灯に基づいて上記カード残高表示器の残高表示を所要時間経過後に減算表示するように構成した。
【0012】
また、請求項3に記載の発明は、上記球貸機は、上記球貸し可能信号により上記排出制御装置が球貸し可能状態にないことを確認した場合は、上記変換スイッチの操作を無効にすると共に、上記球貸可能表示器を消灯させるようにした。
【発明の効果】
【0013】
請求項1に係る発明は、カード挿排口を備えた球貸機と、該球貸機と対を成し、前面に設けられた供給皿側へ賞球または貸球に関わる遊技球を排出するための排出制御を行う排出制御装置と、遊技盤に関する制御を司ると共に、賞球排出に関わる信号を上記排出制御装置へ送信する遊技盤制御装置とを有するパチンコ遊技機と、を備えたカード式パチンコ遊技装置において、上記排出制御装置と上記球貸機とを送受信可能に接続すると共に、上記球貸機への入力のために用いられる変換スイッチを上記パチンコ遊技機の前面に設け、上記排出制御装置は、球貸し排出が可能な状態にある場合に上記球貸機に対して球貸し可能信号を送信すると共に、該球貸機から供給される排出要求を示す排出要求信号に基づいて、該排出要求信号ごとに最小排出単位の個数の遊技球を排出させる排出制御を行い、該最小排出単位の個数の遊技球の排出終了ごとに排出が終了したことを示す球貸し排出終了信号を上記球貸機へ送信するように構成され、上記球貸機は、上記変換スイッチの一回の操作に対して上記最小排出単位の個数の整数倍単位で貸球数を設定可能な球貸し数設定手段と、上記排出要求信号の送信後、所定時間内に遊技球の排出が開始されるか否かを判定する排出開始監視手段とを備え、上記変換スイッチの一回の操作に基づき、設定された貸球数の遊技球を排出させるように上記排出制御装置へ最小排出単位の排出要求信号を送信するように成し、該排出要求信号を送信するごとに上記球貸し可能信号により上記排出制御装置が球貸し可能状態にあることを確認するとともに、当該排出要求信号の送信後、上記所定時間内に遊技球の排出が開始されない場合は、異常発生と判定するように構成したので、パチンコ遊技機側の球排出機構を使用して貸球の排出を正確かつ確実に実行でき、球貸機側で発生した玉貸要求をパチンコ遊技機側の制御回路が確実に認識して球排出機構を制御して貸球の正確な排出を確実に行うことができる。
【0014】
また、排出要求信号の送信後、所定時間内に遊技球の排出が開始されない場合は、異常発生と判定するので、異常の発生を的確に検出することができる。
また、排出要求信号に基づく貸球の排出が実行中は、変換スイッチの操作が無効であることを球貸可能表示器を消灯することで報知することができる。
【0015】
また、球貸可能表示器の消灯に基づいてカード残高表示器の残高表示を所要時間経過後に減算表示することができる。
【0016】
また、上記球貸機は、上記球貸し可能信号により上記排出制御装置が球貸し可能状態にないことを確認した場合は、上記変換スイッチの操作を無効にすると共に、上記球貸可能表示器を消灯させるようにしたので、排出制御装置が球貸し可能状態になく、変換スイッチの操作が無効であることを報知することができる。
【発明を実施するための最良の形態】
【0017】
図1には、本発明に係るカード式パチンコ遊技装置としてのカード式パチンコ遊技機の一実施例が示されている。
この実施例では、パチンコ遊技機100と玉貸しユニットとしての玉貸機200とが対をなすように構成されており、各玉貸機200にはカードリーダが内蔵され、玉貸機200の前面パネル210には上記カードリーダに対応してカード挿排口211と、挿入されたカードの残高を表示する挿入残高表示器220、玉貸機が作動状態にあることを表示する有効表示ランプ230が設けられている。
【0018】
一方、パチンコ遊技機100の前面枠に設けられている供給皿120の上面には、操作パネル121が形成され、この操作パネル121上に上記カード挿排口211に挿入されたカードの残高を表示する残高表示器122と、貸し玉への変換の指令を与える変換ボタン123と、カードの排出(返却)を指令する返却ボタン124と、上記変換ボタン123が有効中であることを表示する玉貸し可能表示ランプ126が設けられている。
【0019】
なお、112は賞品玉排出時に点灯される賞品球排出表示ランプ、また113は貸し玉排出時に点灯される貸し玉排出表示ランプ、108はパチンコ遊技機において打止状態が発生したときに点灯される完了ランプ、141は上記供給皿120が満杯になったときに内部でオーバーフローした賞品球を貯留する受け皿、142は供給皿120から流下される球を一個ずつ遊技領域内に発射する打球発射装置の操作ダイヤルである。パチンコ遊技盤前面の遊技領域の構成は従来のものと同様で、任意の構成をとり得る。
【0020】
この実施例では、変換ボタン123が押されると、上記玉貸機200のカードリーダへのカードの挿入を前提としてカードの有する金額の範囲内で、予め設定された金額(例えば300円分)を貸し玉に変換する指令がパチンコ遊技機100の裏面に設けられている球排出装置の制御装置に対して送出するように構成されている。変換後のカードの残り金額は、100円を1単位とする度数で残高表示器122に表示されるようになっている。
【0021】
図2には本発明を適用したパチンコ遊技機100の裏機構の一実施例が示されている。
図2において、170は賞品球を排出する球排出装置、600は入賞検出器等からの信号に基づいて上記球排出装置170を制御して所定数の賞品球を排出させる排出制御装置、151は排出される前の球を貯留しておく貯留タンク、152は貯留タンク151内の球を一列に整列させて上記球排出装置170まで誘導する誘導樋である。この誘導樋152は特に限定されないが、短時間に多量の玉を供給できるように2条に形成されており、その途中には球の重なりを防止する玉ならし153および待機球検出器160が設けられている。
【0022】
また、球排出装置170の下方には、排出された玉を遊技機前面の上記供給皿120の流出口129へ誘導する排出樋155と供給皿120からオーバーフローした玉を下方の受け皿141へ誘導するオーバーフロー樋156が連続して設けられているとともに、上記排出樋155の途中から分岐された玉抜き樋157が上記オーバーフロー樋156と平行して配設され、この玉抜き樋157と排出樋155との分岐部には流路切換え弁158が設けられている。159は遊技機の前面に設けられた入賞口に流入した入賞球を一箇所に集合させる集合樋、180は集合樋159の下端に設けられ集合された入賞球を1個ずつ分離して検出器で検出する入賞球分離検出装置、400は遊技部に設けられた入賞検出器からの信号に基づいて役物や表示ランプを駆動する遊技盤制御装置である。
【0023】
上記遊技盤制御装置400と排出制御装置600とは、3本の信号線からなるコードによって接続される。特に限定されるものでないがこの実施例では、遊技盤制御装置400と排出制御装置600から引き出されたコード191,192の一端が中継基板195に接続されており、中継基板195を介して遊技盤制御装置400と排出制御装置600とが通信可能に結合されている。
【0024】
なお、この実施例では、入賞球分離検出装置180として集合樋159で集合された入賞球の流下経路に臨むストッパ182とそれを駆動するソレノイド(以下、セーフソレノイドと称する)183とからなり検出器(セーフセンサと称する)181で入賞球を1つ検出する毎にストッパ182をソレノイド183で駆動して入賞球を1つ流下させるするように構成した電気式のものを用いているが、先端にストッパを、また後端に錘を有するシーソー式の球鞘とマイクロスイッチとから構成されたメカ式のものを用い、入賞球数は排出制御装置600内に電気的に記憶させるようにしても良い。
【0025】
図3には上記球排出装置170の一実施例を示す。
この球排出装置170は、貯留タンク151に貯留された予備球を誘導する上記誘導樋152に連続するように構成された案内樋710を備えている。この案内樋710は上記誘導樋152に対応して2条に形成されており、各条の通路に対応して流下阻止手段としてのストッパ745とその駆動用排出ソレノイド741とからなる排出手段740も2組設けられている。
【0026】
上記案内樋710は、その機能から3つの部分からなり、上から順にそれぞれ減圧部711、縁切り部712、排出部713とされている。
上記減圧部711は、貯留タンク151から誘導樋152を介して送られてくる予備球の圧力を減らすもので、同図に示すように、緩傾斜状態にUターンされた構造にされている。上記縁切り部712は、その下の排出部713を通る球同士に間隔を開けさせて、下方の排出手段740による球の流出を止め易くするためのもので、前記減圧部711に連続する垂直通路部分721と後述の排出部713に通じる方向変換通路部分722とから構成されている。
【0027】
そして、垂直通路部分721の下端部には、球詰まり防止突部723が前方に突出して設けられている。この球詰まり防止突部723によって、垂直通路部分721に縦に並んで停止した球のうちの最も下の球の中心位置がその上方の球の中心位置より常に前方に位置せしめられるようになる。それによって、上方の球の流下移動圧が最も下の球を常に前方に押圧するように作用し、球詰まりが防止される。
各案内樋710の排出部713の途中には、流下する球を検出する非接触型の排出球検出センサ730(排出センサ1,2)がそれぞれ設置されている。
【0028】
また、各排出部713の途中、上記排出センサ730直後には上記排出手段740を構成するストッパ745が出没可能な切欠き703が設けられている。
上記ストッパ745は、それぞれ支軸746によって回動自在に支持されているとともに、ストッパ745の一側部には、それぞれ連結ピンが突設され、これら連結ピンと排出ソレノイド741の作動ロッド742の下端部とが連結板747によりそれぞれ連結されている。
【0029】
そして、排出ソレノイド741が消磁(オフ)状態にあるときには、作動ロッド742が下降してストッパ745の先端部が切欠き部703より案内樋710の排出部713中にそれぞれ入り込んで、排出部713中の遊技球の流下を阻止するようになっている。一方、排出ソレノイド741が励磁(オン)されると、作動ロッド742が上昇してストッパ745が上昇する方向に回動されて排出部713の切欠き703中から脱して、排出部713中の球の流下阻止状態を解除させ、案内樋710内の予備球を下方の排出樋155へ排出させるようになっている。
【0030】
このように上記実施例の球排出装置170は、排出センサ730で流下する玉を一個ずつ検出しながら所定数に達した時点でストッパ745を作動させて排出を停止させることができるため、上述したごとく排出球数の異なる賞品球と貸し玉とを同一の球排出装置によって排出させることが可能となる。
【0031】
なお、図3において、750はパチンコ遊技機100の前面枠に設けられた操作孔(図示省略)から球抜き棒が差し込まれたことを検出する球抜きセンサ750である。球抜きセンサ750がオンされると、上記排出ソレノイド741が連続して励磁されて案内樋710内の予備球を排出させるとともに、排出樋155内の切換え弁158の駆動手段(ソレノイド)を作動させ、排出された玉を球抜き樋157を通して機外へ排出させるようになっている。
上記球抜きセンサ750および排出ソレノイド741、排出センサ730は排出制御装置600に電気的に接続されている。
【0032】
図4には、パチンコ遊技機100の制御系の一実施例が示されている。
この制御系は大きく分けると、主としてパチンコ遊技機100の遊技盤に関する制御を司る遊技盤制御回路としての遊技盤制御装置400と、カードリーダ等の制御を司る玉貸しユニット制御回路としての玉貸し制御装置500と、上記球排出装置170の制御を司る排出制御回路としての排出制御装置600とにより構成されている。
【0033】
上記制御装置のうち遊技盤制御装置400は、パチンコ遊技機の遊技盤102に設けられている各種入賞球検出器から検出信号を受けて役物の駆動信号を形成したり、パチンコ遊技機の裏機構盤に設けられている入賞球分離検出装置180内の検出器(セーフセンサ)181からの信号を受けて入賞球分離用のセーフソレノイド182を作動させたり、スピーカ190に対する駆動信号を形成する。
また、遊技盤制御装置400は、遊技状態を監視してパチンコ店の管理装置に対してパチンコ機が稼働中であることや大当りの発生、打止めの発生等の状態に関する情報を伝える機能を備えている。
【0034】
排出制御装置600は、上記玉貸し制御装置500または遊技盤制御装置400からの排出指令信号に基づいて上記球排出装置170内の2条の案内樋710の途中に設けられた一対のストッパ745を作動させる排出ソレノイド741a,741bを励磁して、排出センサ730a,730bの検出信号に基づいて各案内樋710内の予備球を所定数だけ排出させるとともに、球抜きスイッチ750からのオン信号に基づいて排出ソレノイド741a,741bを励磁し、かつ流路切換え弁158の駆動源を作動させて貯留タンク151および誘導樋152内の予備球をすべて排出させたりする。
【0035】
また、排出制御装置600は、誘導樋152の途中に設けられた待機球検出器160からの検出信号が入ってくると排出ソレノイド741a,741bの励磁を保留して球排出装置170による排出を中止するとともに、排出時には排出指令信号の内容に応じて例えば賞品球排出表示ランプ112または貸し玉排出表示ランプ113を点灯させたり、遊技盤制御装置400に対して賞品球もしくは貸し玉の排出音要求信号を送出する。
【0036】
玉貸し制御装置500は、玉貸機200内のカードリーダからの読取りデータを受けて挿入残高表示器220に対する駆動信号や残高表示器122に対する表示駆動信号およびカードリーダが作動状態にあることを表示する有効表示ランプ230やパチンコ遊技機に設けられている玉貸し可能表示ランプ126に対する駆動信号を形成したり、カードリーダ制御装置250に対する残高データ書換え信号q、パンチ穴加工信号m、カード排出信号nを形成する。また、玉貸し制御装置500は、玉貸し変換スイッチ(123)とカード返却スイッチ(124)のオン信号を受け付けるとともに、排出制御装置600に対して玉貸し要求信号BRQやカード有無信号CONを送ったり、カード管理会社の管理装置800に対して1度(100円)分の貸し玉への変換が行なわれたことを知らせるカード決済信号jを送信する機能も備えている。
【0037】
図5には上記遊技盤制御装置400の構成例が示されている。
すなわち、この実施例の遊技盤制御装置400は、排出制御装置600との間の信号の送受信を行なう通信手段410と、遊技盤102の賞球別入賞検出器からの検出信号を計数し保持する2つの入賞記憶手段411,412と、各入賞記憶手段411,412に対応した賞球数を記憶する賞球数記憶手段430と、上記入賞記憶手段411,412の記憶内容に基づいて排出すべき賞品球数を決定する賞球数制御手段420と、遊技盤102からの信号に基づいて役物のソレノイドやモータ、表示ランプを駆動したり大当りの発生を検出して役物や変動入賞装置等を所定の手順に従って駆動するなど遊技に関する制御を行なう遊技制御手段450と、該遊技制御手段450からの賞球排出音要求、大当り発生音要求等や上記通信手段410からのカード挿入、排出音要求に基づいていずれの音の発生を優先させるか決定する音優先制御手段470と、上記遊技盤102からの入力信号を受けたり遊技盤上の表示ランプやモータ、ソレノイド、スピーカ等の駆動信号を形成する信号入出力手段460とにより構成されている。
【0038】
この実施例の遊技盤制御装置400には、一般の入賞口とは異なる数の賞品球が設定されている入賞口に入賞した球を検出する賞球別入賞検出器490が遊技盤102に2種類設けられた場合にも対応できるように、2つの入賞記憶手段411,412が設けられており、賞品球数の異なる入賞口ごとに入賞数を計数するようにしている。入賞検出信号は賞品球排出の有無にかかわらず遊技盤制御装置400に連続して入ってくるので、入賞球の数を記憶する入賞記憶手段が必要とされる。
【0039】
一方、上記賞球数制御手段420は、通信手段410からの信号により排出制御装置600から賞球数データの送信要求があったことを知ると、上記入賞記憶手段411,412の記憶内容に基づいて賞球数記憶手段430から排出すべき賞品球数を読み出して決定し、決定された賞球数データGを通信手段410に渡して排出制御装置600に対し賞球数データを送信させる。これとともに、賞球数制御手段420は、賞球数データを一回送信すると入賞記憶手段411または412の記憶内容を「1」だけ減らす機能を備えている。
しかも、この実施例では、上記通信手段410が遊技盤制御装置400に対して周期的(2m秒ごと)に割込みを発生させる信号(例えばリセット信号)に基づいてこれをタイマカウンタで計数することで、所望の周期(8m秒)のクロックCKを形成して排出制御装置600へ供給するように構成されている。
【0040】
図6には上記遊技盤制御装置400における通信手段410の構成例が示されている。
すなわち、この通信手段410はリセット発生回路RSTからのリセット信号rを計数して同期用クロックCKを形成する通信クロック制御手段411と、上記賞球数制御手段420から渡された賞球数データGをシリアルデータに変換して送信する送信手段412と、電源投入時等に上記送信手段412によって回線テスト信号を送信させる回線確認手段413と、賞球数データの送信要求があった場合に2回続けて同一データを送信するための制御を行なう送信回数制御手段414と、排出制御装置600から送信されてきた信号(コマンド)の読込みタイミングを制御する受信タイミング制御手段415と、この制御手段415からのタイミング信号により受信信号を読み込んで保持する受信信号記憶手段416と、2回目に読み込んだ同一の受信信号を保持して上記受信信号記憶手段416内の受信信号とを比較する受信信号比較手段417と、比較の結果に基づいてその受信信号を解読する受信信号解読手段418とから構成されている。この受信信号解読手段418は、受信信号を解読して賞球数制御手段420に対して賞球数要求信号Dを送ったり、受信データ不一致の場合に再送要求信号Eを供給し、また上記回線確認手段413に対しては回線テスト信号の送信指令を与え、上記音優先制御手段470に対して貸し玉排出音要求信号やカード挿入音要求信号、カード排出音要求信号を供給したりする。
【0041】
図7には上記遊技盤制御装置400を汎用のICを使って構成する場合の実施例が示されている。
すなわち、遊技盤制御装置400はマイクロプロセッサCPUと、読出し専用メモリROMと、随時読出し書込み可能なメモリRAMと、ゲートアレイからなる入出力制御回路I/Oと、遊技盤上の表示器(ランプ)やLED、ソレノイド、モータ等の駆動信号を形成するドライバDRV、賞球別入賞検出器の信号からノイズを除去して入力するフィルタFLT、音優先制御手段470からの選択信号に基づいて各種効果音を形成するサウンドジェネレータSDGと、サウンドジェネレータSDGの出力を増幅してスピーカ190を駆動するアンプAMPとから構成される。
【0042】
図7においては、図5に示されている構成手段のうち、入賞記憶手段411,412はRAMによって、また、賞球数記憶手段430はROMによって、通信手段410と賞球数制御手段420と遊技制御手段450はCPUおよびその動作プログラムを記憶するROMによって、さらに信号入出力手段460はドライバDRV、フィルタFLT、サウンドジェネレータSDGおよびアンプAMPによって、それぞれ構成することができる。
【0043】
なお、RSTはマイクロプロセッサCPUに対するリセット信号rを発生するリセット発生回路、PC1,PC2は入出力制御回路I/Oからの同期信号CKおよび送信データ信号に基づいて排出制御装置600との間に接続された信号線を電流駆動する送信駆動手段としてのフォトカプラ、RCVはフォトカプラPC3とフィルタFLT2とからなり排出制御装置600により供給された電流を電圧に変換して受信データとする受信回路である。この実施例のリセット発生回路RSTは、電源投入時にリセット信号を発生するパワーオンリセット回路と、クロックジェネレータ等から供給される基準クロックφcに基づいて2m秒毎にリセットパルスを発生する分周器とにより構成されている。
【0044】
図8には排出制御装置600の構成例を示す。
この実施例の排出制御装置600は、遊技盤制御装置400との間の信号の送受信を行なう通信制御手段610と、セーフセンサ181からの検出信号に基づいて上記遊技盤制御装置400に対して賞球数データの要求信号を送信させる賞球数要求手段620と、排出ソレノイド741a,741bを駆動して賞品球の排出や球抜を行なったり賞品球の排出時に上記通信手段610に対して賞球排出音の要求送信を行なうように指示したりする排出制御手段650と、玉貸し制御装置500からの玉貸し要求信号BRQに基づいて玉貸し排出数を演算し排出制御手段650に知らせたり、貸し玉の排出時に上記通信手段610に対して貸し玉排出音の要求送信を行なうように指示したりする貸し玉排出制御手段670とにより構成されている。
【0045】
上記通信制御手段610は、パワーオンリセット回路のような電源投入検出手段611と、電源投入直後に遊技盤制御装置400から供給される同期用のクロックCKの受信を確認して回線テストを行なう回線確認手段612と、遊技盤制御装置400に対して送信する各種コマンドを記憶する送信情報記憶手段613と、選択されたコマンドを遊技盤制御装置400に対して送信する送信手段614と、賞球数データ要求等に対して遊技盤制御装置400からの応答がなかったり受信信号に誤りがあった場合に再送要求を行なう再送要求制御手段615と、再送要求を行なう回数を記憶する再送回数記憶手段615aと、遊技盤制御装置400からの信号を1ビットずつ2度続けて読み込む受信手段616と、2回連続して送信されてくる信号を記憶する2つの受信信号記憶手段617a,617bと、2つの受信信号を比較して誤りを検出する受信信号比較手段618と、受信した情報を解読して賞球数データならそれを排出制御手段650に渡したり回線テストなら回線が正常であることを上記回線確認手段612に知らせたりする受信情報解読手段619とから構成されている。
【0046】
排出制御手段650は、賞球排出が終了するごとに入賞球分離検出装置180内のセーフソレノイド183を駆動したり、待機球検出器160がオンしていることを条件に賞球数データ(受信データ)および排出センサ730a,730bからの検出信号に基づいて排出ソレノイド741a,741bを駆動して賞品球の排出を行なったり、賞品球の排出駆動の際に賞球排出表示器112を点灯させたり、球抜スイッチ750からのオン信号によって賞球排出樋の途中に設けられた流路切り換え弁158(球抜ソレノイド)を切換えかつ排出ソレノイド741a,741bを駆動して貯留タンク151内の予備球をすべて排出させる制御を行なう。
【0047】
貸し玉排出制御手段670は、貸し玉への変換レート(100円分の貸し玉数)を記憶する玉貸数設定手段(例えばROM)と、玉貸し制御装置500からの玉貸し要求信号BRQおよびカード有無信号CONと賞球数要求手段620からの賞球排出中を示す信号とに基づいて玉貸排出制御を開始すべきか判定する玉貸開始判定手段と、この玉貸開始判定手段からの玉貸開始要求信号に基づいて貸し玉の排出数を上記玉貸数設定手段より読み出して上記排出制御手段650に渡す貸し玉排出数決定手段と、玉貸し制御装置500に対して玉貸し排出が可能な状態にあることを知らせる玉貸し可能信号RDYや1回(100円分)の貸し玉の排出が終了したことを知らせる貸し玉排出終了信号EXS、賞球数要求手段620に対して貸し玉排出制御中であることを知らせる信号xを形成する排出制御信号形成手段等から構成されている。上記賞球数要求手段620は、セーフセンサ181から入賞検出信号が入力されても玉貸し排出中であれば、賞球排出の開始を遅らせる。
【0048】
上記排出制御装置600は、図9に示すように、ROMやRAM等を内蔵したシングルチップマイコンCPUおよび入出力制御回路I/O、フォトカプラPC、ドライバDRV、フィルタFLT等の汎用ICやディスクリートの抵抗R、コンデンサC、回線モニタ用発光ダイオードLED、コネクタCNTを使って構成することができる。一例として本実施例では、500kHzの周波数のシステムクロックで動作するCPUを使用している。また、回線モニタランプLEDは玉貸し制御装置500との間の送受信用信号線上に介装され、信号線の断線を検出できるようになっている。
【0049】
図10は玉貸し制御装置500の構成例を示す。
この実施例の玉貸し制御装置500は、シングルチップマイコン等からなる制御部510と、この制御部510とカードリーダ制御装置250との間のデータ送受信のインターフェースを行なうトランシーバ502と、セグメント型表示器からなる残高表示器122および挿入残高表示器220の駆動信号を形成する表示駆動手段503aおよび503bと、玉貸可能表示ランプ126および玉貸有効表示ランプ230を駆動するドライブ回路507b,507aと、返却ボタン124および変換ボタン123からの信号を受けて上記制御部510に入力するバッファ504a,504bと、カード管理装置800に対してカード決済信号jを供給するリレー505と、上記変換スイッチ123の一回の操作に対する排出回数(100円分を最小排出単位とする)を設定する玉貸し数設定手段506等によって構成されている。
【0050】
また、上記制御部510は、カードリーダ制御装置250からのデータを読み込んでカードの残高データを判定しカードがカードリーダ内に存在することを示すカード有無信号CONを出力したり挿入残高表示器220に対する表示データを形成するカード残高判定手段511と、玉貸し排出があったときにカード残高を減算して残高表示器220に対する表示データを形成したりカードリーダ制御装置250に対する書込データや指令を形成するカード残高減算手段512と、返却ボタン124がオンされたりカード残高が「0」になったり排出エラーがあったときにカードリーダ制御装置250に対しカード返却指令を与えるカード返却要求手段513と、排出制御装置600からの玉貸し排出終了信号EXSに基づいて1単位分の玉貸しがあったことをカード管理装置装置800に知らせるためのカード使用情報出力手段514と、変換ボタン123からの変換要求信号が入ったときにカード残高や玉貸し可能信号RDY等に基づいて玉貸しが可能か否か判定する玉貸可能判定手段515と、玉貸し数設定手段506の設定数と排出終了信号EXSに基づいて残りの玉貸し排出回数を決定する玉貸し回数制御手段516と、玉貸可能判定手段515からの玉貸し要求信号の発生を許可する制御信号と玉貸し回数制御手段516からの信号に基づいて上記排出制御装置600に対する玉貸し要求信号BRQを発生する玉貸要求信号形成手段517等から構成されている。
【0051】
また、この実施例では、上記玉貸し要求信号BRQと玉貸し排出終了信号EXSとから、玉貸し要求送信後所定時間内に排出が開始されなかったり玉貸し排出開始後所定時間内に一連の玉貸し排出が終了しなかった場合に、排出エラーと判定して上記カード返却要求手段513に対してカード返却指令を与える排出開始時間監視手段518および排出時間監視手段519が設けられている。
【0052】
さらに、玉貸し可能判定手段515は、上記カード残高判定手段511からの信号および排出制御装置600からの玉貸し可能信号RDYに基づいてドライブ回路507bを駆動して、上記玉貸し変換ボタン123が有効である間だけ玉貸し可能表示ランプ126を点灯させ、玉貸し排出が実行されている間は玉貸し可能表示ランプ126を消灯させるようになっている。
なお、上記玉貸し数設定手段506はROMのような記憶手段もしくはスライドスイッチのような設定器によって構成することができる。
【0053】
図11には上記玉貸し制御装置500を汎用のICを使って構成する場合の実施例が示されている。
すなわち、玉貸し制御装置500は、読出し専用メモリROMおよび随時読出し書込み可能なメモリRAM、シリアル通信用のシリアルインタフェースSIFを内蔵したシングルチップマイコンCPUと、カードリーダ制御装置250との間のシリアル通信を行なうトランシーバTRSと、セグメント型残高表示器122(挿入残高表示器220)の駆動信号を形成するフォトカプラ型ドライバDRV11,DRV12(DRV13,DRV14)と、玉貸し変換スイッチからの信号をCPUに入力するためのフォトカプラPC21、玉貸し可能表示器126の駆動信号を形成するフォトカプラ型ドライバDRV21と、排出制御装置600との間の送受信信号の変換を行なうフォトカプラPC11−PC14と、玉貸し数設定用スイッチ列SW−ARYと、カード管理装置800に対してカード決済信号jを供給するリレーRLY等から構成される。また、排出制御装置600との間の送受信用信号線上には、信号線の断線を検出するための回線モニタランプLED11−LED14が介装されている。
【0054】
次に、上述した遊技盤制御装置400によって行なわれる遊技盤全体の制御手順の一例を図12を参照して詳細に説明する。
この制御フローは、遊技盤制御装置400の電源が投入されたあとタイマ割込みにより所定時間(例えば2msec)毎に実行される。
この割込み処理が開始されると、先ず、遊技盤102に設けられている賞球別入賞検出器490その他各種スイッチ(センサを含む)からの信号を読み込むスイッチ入力処理を行なう(ステップS80)。次に、リセット回路RSTからのパワーオンリセット信号をチェックして電源が投入されたか判定する(ステップS81)。そして、電源が投入されたと判定すると、RAMや入出力ポートの初期化を行なって割込み処理を終了する(ステップS82)。
【0055】
一方、ステップS81で"No"すなわち電源投入済みであると判定すると、ステップS83へ移行して、排出制御装置600に対して供給する同期信号としてのクロックCKの出力処理(図13参照)を行なう。それから、賞球別入賞検出器490の検出信号を読込み計数する賞球スイッチ入力処理(図14参照)、排出制御装置600との間のコマンドやデータの送受信処理(図15A−図15D参照)および遊技機内の各種スイッチやセンサの信号に基づいて不正がなされていないか調べる不正検出処理とその解除処理を行なった後(ステップS84−S86)、この不正検出処理中で設定されるフラグをチェックして不正があったか否か判定する(ステップS87)。
【0056】
ステップS87で不正が検出されると、遊技機に設けられている表示器を点滅させたり、スピーカ190を駆動して警報を発するなどの不正処理(ステップS89)を実行して割込み処理を終了する。ステップS87で不正なしと判定すると、ステップS88へ移行して遊技盤102に設けられている役物の駆動したり表示器を点灯、消灯したり、スピーカ190により賞球排出音等の効果音を発生させるために出力ポートを設定したりするゲーム処理を行なう。
【0057】
図13には、上記各種処理のうちクロック信号出力処理の制御手順の一例が示されている。
この処理が開始されると、先ずステップS90でクロック用のタイマカウンタをインクリメント(+1)した後、ステップS91でそのタイマカウンタ値が「2」以上になったか判定し、"No"なら処理を終了して次の割込み処理に入ったときに再びステップS90で上記タイマカウンタをインクリメントする。そして、ステップS91で"Yes"と判定されると、ステップS92へ移行して上記タイマカウンタをクリアしてからクロック信号の出力状態を反転させて本ルーチンを終了する(ステップS93)。これによって、2m秒の割込み毎にこのタイマカウンタは「0」と「1」と「2」の値を繰り返し、「2」になる度にクロックCKが反転される。その結果、図60に示すように、割込み周期すなわちリセットパルスrの4倍の周期(8m秒)を持つクロックCKが出力される。この実施例では、このクロックCKが排出制御装置600に対して通信の際の同期信号として供給される。
【0058】
図14には、図12に示されている各種処理のうち賞球スイッチ入力処理の制御手順の一例が示されている。
この入力処理では、「7」個の賞品球を与える入賞口へ入賞した球を検出する7個賞球スイッチまたは「10」個の賞品球を与える入賞口へ入賞した球を検出する10個賞球スイッチがオンしているか判定する(ステップS94,S95)。そして、7個賞球スイッチがオンのときはステップS96へ移行して7個賞球記憶が「254個」以下か判定し、"Yes"なら7個賞球記憶を「1」加算する(ステップS97)。また、10個賞球スイッチがオンのときはステップS98へ移行して10個賞球記憶が「254個」以下か判定し、"Yes"なら10個賞球記憶を「1」加算する(ステップS99)。これによって、各入賞球を最大254個まで記憶しておくことができる。
【0059】
図15A〜図15Dには、上記各種処理のうちデータの送受信処理の制御手順の一例が示されている。このうち、図15Aが送信処理フローで、図15B〜図15Dが受信処理フローである。
この送受信処理では、先ずステップS801で、後述のステップS885(図15D参照)において設定される8ビットの送信ビットカウンタが「0」よりも大きいか否か調べることで送信要求があるかどうか判定する。送信ビットカウンタはデータ受信処理の最後のステップで排出制御装置600に対する応答を送信する際に、8ビットのデータもしくはコマンドを送信するために、用意されているもので、このビットカウンタが「8」に設定されるとステップS801で"Yes"と判定されてステップS803へ移行し、送信処理が開始される。
【0060】
上記ステップS803では遊技盤制御装置400から供給されるクロックCKがハイレベルか否か判定し、ロウレベルなら本ルーチンを終了する。クロックCKのロウレベルの期間に送信データを切り換えると、排出制御装置600がデータの読込みをしているときにデータが代わるおそれがあるので、それを回避するためである。上記ステップS803で"Yes"と判定すると、ステップS805へ移行してクロック用タイマカウンタが「0」か否か判定する。本ルーチンの割込み処理のクロックは2m秒であるのに対し、クロックCKの周期は8m秒であるので、1周期の間に2回ハイレベルと判定することがあり、そのうちハイレベルへの変化直後のタイミングでデータもしくはコマンドを送信させるようにするためである。
【0061】
ステップS805で"Yes"と判定すると、ステップS807へ進んで送信ポートに送信バッファ内の該当ビット(送信ビットカウンタの指示するビット)の内容を出力する。それから、送信ビットカウンタの値をデクリメント(−1)した後(ステップS809)、送信ビットカウンタの値が「0」になったか判定する(ステップS811)。ここで、"No"のときは一旦処理を終了し、再び本ルーチンが実行されたときに上記手順を繰り返して送信バッファ内の次のビットを送信する。
【0062】
8ビットのデータがすべて送信されると、ステップS811での判定が"Yes"となってステップS813へ進み、送信回数を「1」だけ減算する。そして、次のステップS815で送信回数が「0」になったか判定し、"Yes"のときは送信処理を終了し、"No"のときは再び送信ビットカウンタを「8」に設定する。これによって、設定された回数だけ同一データが繰り返し送信される。この実施例では、回線テストコマンドの送信のときは1回、また賞球数データの送信のときは2回にそれぞれ設定される(後述のステップS859,S883参照)ので、その回数だけ送信がなされる。
【0063】
次ステップS801で"No"と判定されて図15Bの受信処理に移行すると、先ずステップS821で同期用のクロック信号CKがロウレベルか否か判定する。そして、クロックCKがハイレベルであればステップS845(図15C)へジャンプする。排出制御装置600は、図60に破線で示すごとく、上記クロックCKに同期してデータ(コマンド)を送信してくるようになっており、信号の遅延を考えると、クロックCKのハイレベルの期間T1にデータが遷移するので、その間のデータ読込みを回避するためである。なお、図60において、クロック信号CKの実線と破線との変化のずれΔTは信号線上の遅延のため生じる時間差(往復)である。受信するデータSDの遅延は片道だけであるのでクロックCKの遅延よりも少ない。
【0064】
ステップS821で"Yes"すなわちクロックCKがロウレベルであると判定すると、ステップS823へ進んで、入出力ポートより1ビットの受信データを読み込む(図60タイミングt1)。それから、図13のサブルーチンで更新されるクロック用タイマカウンタを調べて(ステップS825)、カウンタの値が「0」のときは上記ステップS823で読み込んだ受信データをメモリに記憶(ステップS827)してからステップS829へ進む。一方、ステップS825でクロック用タイマカウンタの値が「0」でないときは直ちにステップS829へ移行して、タイマカウンタの値が「1」か否か判定する。そして、ステップS829の判定で"No"のときはステップS845へジャンプする。
【0065】
また、再び当該サブルーチンが実行され、ステップS823で2回目の受信データを読み込んで(図60タイミングt2)から、ステップS829へ来たときに"Yes"と判定するとステップS831へ進んで、上記ステップS823で読み込んだ2回目の受信データ(1ビット)とステップS827で記憶しておいた1回目の読込みデータとを比較する。その結果、同一であれば正しく読込みがなされたとみなしてステップS833へ進んで、読込みビットカウンタの値が「0」か否か判定する。そして、「0」ならステップS835で受信したビットがロウレベルすなわち受信データの先頭ビット(いわゆるスタートビット)であるか否か判定し、"No"ならステップS845へジャンプ、"Yes"ならステップS841へ進んで受信バッファの該当ビットへ受信データ(1ビット)を書き込んでから、上記読込みビットカウンタをインクリメント(+1)する(ステップS843)。
【0066】
一方、上記ステップS831の判定で1回目と2回目の読込みデータが一致しなかったときは、ステップS837へ移行して読込みビットカウンタが「0」より大きいか否か判定し、「0」のときはステップS845へジャンプする。また、読込みビットカウンタが「1」以上すなわち先頭ビット以外を示しているときはデータエラーフラグに"1"を立ててからステップS841へ進み、受信バッファの該当ビットへ受信データ(1ビット)を書き込んでから、上記読込みビットカウンタをインクリメントして図15CのステップS845へ移行する。とりあえず8ビットのデータはすべて読み込んで、最後にデータエラーに対処するようにするためである。
【0067】
ステップS845では、読込みビットカウンタが「8」になったか否か判定し、"No"すなわち未だ8ビットの受信データを全部読み込んでいないときは一旦本ルーチンを終了する。そして、上記読込み動作を繰り返すうちに、ステップS845で"Yes"と判定されると、ステップS847へ進み上記読込みビットカウンタを「0」にクリアしてから、データエラーフラグに"1"が立っているか判定する(ステップS849)。ここで"Yes"ならステップS851へ進んでデータエラーフラグを"0"にクリアして本ルーチンを終了する。すなわち、排出制御装置600からのデータ送信に対して何ら応答しないで受信処理を終了する。ただし、排出制御装置600のフロー(後述)の方で、このような無応答に対しては再送等の処理を行なうことで対処するようになっている。
【0068】
一方、ステップS849での判定結果が"No"のときはステップS853へ移行して、受信した8ビットのデータが「回線テストコマンド」か否か判定し、"Yes"のときはステップS855へ進んで、回線テスト受信済みフラグを"1"にセットしてから、送信バッファに「回線テストコマンド」を設定する(ステップS857)。回線テストは、遊技盤制御装置400と排出制御装置600の双方から「回線テストコマンド」を送信してそれを確認することで行なうようになっているためである。送信バッファに「回線テストコマンド」を設定した後は、ステップS859へ進んで送信回数を「1」にセットしてから図15DのステップS885へジャンプして送信ビットカウンタを「8」に設定して本ルーチンを終了する。送信ビットカウンタを「8」に設定するのは、前述した送信ルーチン(図15A)での送信開始条件とするためである。
【0069】
また、上記ステップS853で"No"すなわち受信した8ビットのデータが「回線テストコマンド」でないときは、ステップS861へ移行して回線テスト受信済みフラグが既に"1"にセットされているか判定し、"No"なら本ルーチンを終了する。回線テストを確認する前に他のコマンドが送信されてきても無視するためである。ステップS861で回線テスト受信済みフラグが既に"1"にセットされていると判定したときは、図15DのステップS863へ移行する。
【0070】
ステップS863では受信した8ビットのデータが「賞球要求コマンド」であるか否か判定し(ステップS865,S867)、"Yes"のときはメモリ内の7個賞球記憶と10個賞球記憶を調べて、いずれの記憶もないときはステップS869で送信バッファに賞球数データとして15個を設定する。一方、ステップS865で7個賞球記憶があると判定したときはステップS871へ移行して、送信バッファに賞球数データとして7個を設定し、当該7個賞球記憶数を「1」だけ減算する(ステップS873)。また、ステップS867で10個賞球記憶があると判定したときはステップS875へ移行して、送信バッファに賞球数データとして10個を設定し、当該10個賞球記憶数を「1」だけ減算する(ステップS877)。それから、ステップS883へ進んで送信回数を「2」に設定してから送信ビットカウンタを「8」に設定して本ルーチンを終了する(ステップS885)。
【0071】
ステップS863で受信した8ビットのデータが「賞球要求コマンド」でないと判定したときは、ステップS879へ移行して受信データが「再送要求コマンド」であるか否か判定し、"No"ならステップS887へ移行し、"Yes"なら送信バッファに既に賞球数データが設定されているか判定する。そして、送信バッファに既に賞球数データが設定されているときは、ステップS883へ移行して送信回数を「2」に設定してから送信ビットカウンタを「8」に設定(ステップS885)してから送信処理へ移行し、"No"ならステップS887へ移行する。
【0072】
上記ステップS887では、排出制御装置600から購入音(玉貸し変換音)の要求コマンドを受信したか判定し、"Yes"ならステップS893で購入音出力フラグを"1"にセットして本ルーチンを終了する。このフラグは、図12中のゲーム処理(ステップS88)にて参照され、スピーカを駆動して所定の効果音を発生させる。
【0073】
上記ステップS887で"No"のときはステップS889へ進み、排出制御装置600からカード挿入音の要求コマンドを受信したか判定し、"Yes"ならステップS895でカード挿入音出力フラグを"1"にセットして本ルーチンを終了する。また、上記ステップS889で"No"のときはステップS891へ進み、排出制御装置600からカード排出音の要求コマンドを受信したか判定し、"Yes"ならステップS897でカード排出音出力フラグを"1"にセットして本ルーチンを終了する。これらのフラグは、図12中のゲーム処理(ステップS88)にて参照され、スピーカを駆動して所定の効果音を発生させる。
【0074】
次に、カードリーダ250に対する制御信号や残高表示器122の駆動信号およびパチンコ遊技機に設けられた玉貸し変換ボタン123からの信号によって上記排出制御装置600対する玉貸し要求信号等を形成して出力する上記玉貸し制御装置500の制御手順を図16ないし図25を参照して詳細に説明する。
図16には、上記玉貸し制御装置のメインルーチンの概略が示されている。
このメインルーチンは、玉貸し制御装置500の電源が投入されると繰返し実行される。
【0075】
電源が立上がると、先ず、RAMのクリアやフラグの設定、出力バッファのリセット等の初期設定を行なう(ステップS8002)。次のステップS8004では玉貸し可能表示器126を一旦消灯状態にさせ、残高表示器122には残高ゼロ(3桁表示の場合には"000")の表示を行なわせる駆動信号を形成し出力する(ステップS8006)。
【0076】
それから、次のステップへ進み、玉貸し処理(ステップS8008)、返却処理(ステップS8010)、ファンクション送受信処理(ステップS8012)および決済信号出力処理(ステップS8014)の4つの処理を、互いに並行して同時進行的に行なう。
図17および図18には、上記メインルーチン(図16)のステップS8008で実行される玉貸し処理の具体的手順の一例が示されている。
【0077】
この処理が開始されると、まず排出制御装置600から送られてくる玉貸可能信号RDYを調べて信号が立ち下がったか否か判定する(ステップS8102)。そして、"No"すなわち玉貸可能信号RDYが立ち下がっていないときはステップS8104へ進んで、玉貸可能信号RDYを調べて信号が立ち上がったか否か判定する。玉貸可能信号RDYは排出制御装置600が貯留タンク151内の玉不足または遊技盤の打止め状態を検知した場合に、ロウレベルに変化される信号であり、システムの電源が投入され排出制御装置600の制御が開始されるときには、玉貸可能信号RDYがハイレベル状態にされる。そのため、玉貸し制御装置500がステップS8104でこの信号の立上りを検知して"Yes"と判定すると、ステップS8106へ移行してカードリーダ制御装置250に対するカード受付可能を知らせるファンクションコードの送信予約をした後、ステップS8102へ戻る。
【0078】
次に、再びステップS8102−S8104と進んでステップS8104で"No"と判定すると、ステップS8108へ進み玉貸し可能表示器(玉貸し可能表示ランプと同意、以下同様。)126が点灯しているか調べる。この玉貸し可能表示器126は、後述のファンクション送受信処理(図20,21)において、カードリーダ制御装置250からカード金額を受信したときに点灯されるランプである。従って、カードリーダにカードが挿入される前は、ステップS8108での判定は"No"となってステップS8102へ戻って上記ステップを繰り返す。
【0079】
そして、カードリーダにカードが挿入され、カードリーダ制御装置250からカード金額が送信されて玉貸し可能表示器126が点灯されると、ステップS8108での判定が"Yes"となってステップS8110へ進む。ステップS8110では、上記玉貸可能信号RDYがハイレベルであるか確認して"Yes"なら次のステップS8112へ移行し、"No"ならステップS8102へ戻る。
【0080】
一方、ステップS8102で玉貸可能信号RDYの立下がりを検出すると、ステップS8103へ移行して玉貸可能表示器126が点灯中か調べる。そして、点灯していればステップS8105へ進み、玉貸可能表示器126を消灯させ磁気書込ファンクション送信予約(ステップS8107)を行なってから、またステップS8103の判定で"No"の時はそのままステップS8109へ進んで、カード受付不能を示す受付不可ファンクションの送信予約を行なってステップS8102へ戻る。排出制御装置600が貯留タンク151内の玉不足または遊技盤の打止め状態を検知した場合に、玉貸可能信号RDYがロウレベルに立ち下がるためである。
【0081】
上記ステップS8110で"Yes"すなわち玉貸可能信号RDYがハイレベルであると確認すると、ステップS8112へ進み、変換スイッチからの信号を見て玉貸し変換ボタン123がオンされているか否か判定する。ここで、"Yes"ならステップS8114へ移行してカードの残金が、玉貸し数設定器506に設定された玉貸し数に相当する金額よりも多いか否か判定する。そして、カードの金額の方が多いときは、ステップS8116へ移行して払出回数レジスタに設定玉貸し数をセットし、カードの金額の方が少ないときにはステップS8118へ進んで、払出回数レジスタにカード残金をセットしてから、図18のステップS8130へ移行する。
【0082】
また、ステップS8112で"No"すなわち玉貸し変換ボタン123がオフであると判定されると、ステップS8120へ移行して返却スイッチからの信号を見て返却ボタン124がオンされているか否か判定する。ここで、"Yes"ならステップS8122へ移行して玉貸可能表示器126を消灯させ、磁気書込ファンクションの送信予約を行なってから(ステップS8124)、ステップS5126へ進んで、カードリーダからカードを排出させる排出ファンクションの送信予約を行なってステップS8102へ戻る。一方、上記ステップS8120で返却ボタン124がオフされていると判定すると、何もせずにステップS8102へ戻る。
【0083】
図18のステップS8130へ移行して来ると、まず玉貸し可能表示器126を消灯させてから、排出制御装置600に対する玉貸要求信号BRQをロウレベルにアサートして、排出終了信号EXSの応答待ちのEXSタイマ(10秒)をセットする(ステップS8132,S8134)。それから、EXSタイマがゼロになったか判定し、"No"なら排出制御装置600からの排出終了信号EXSが立ち下がったか判定する(ステップS8136,S8138)。そして、"Yes"なら上記EXSタイマが10m秒経過したか否か判定する(ステップS8140)。ここで、排出終了信号EXSが立ち下がる前にEXSタイマがタイムアップしたと判定すると、ステップS8172へ進み、磁気書込ファンクションの送信予約を行なってから、カード排出ファンクションの送信予約を行なって(ステップS8174)有効表示ランプS230を消灯(ステップS8176)、挿入残高表示器220(3桁表示)に「000」を表示させ(S8178)、ステップS8102へ戻る。排出制御装置600に対する玉貸要求を行なってから10秒経過しても排出終了信号が帰って来ないのは異常が発生しているためと考えられるからである。
【0084】
一方、EXSタイマがタイムアップする前に排出終了信号EXSが立ち下がりかつEXSタイマが10m秒経過していると、次のステップS8142へ移行して再びEXSタイマを10秒にセットする。それから、EXSタイマがゼロになったか判定し、"No"なら排出制御装置600からの排出終了信号EXSが立ち上がったか判定する(ステップS8144,S8146)。そして、"Yes"なら上記EXSタイマが200m秒経過したか否か判定する(ステップS8148)。ここで、排出終了信号EXSが立ち上がる前にEXSタイマ(10秒)がタイムアップしたと判定すると、ステップS8172へ進み、磁気書込ファンクションの送信予約を行なってから、カード排出ファンクションの送信予約を行なって(ステップS8174)有効表示ランプS230を消灯(ステップS8176)、挿入残高表示器220(3桁表示)に「000」を表示させ(S8178)、ステップS8102へ戻る。排出制御装置600からの排出終了信号EXSは、球排出装置170の構造からロウレベルに立ち下がってから平均で約1秒経過すると立ち上がることが分かっているので、排出終了信号EXSがロウレベルに立ち下がってから10秒経過してもハイレベルに立ち上がらないのは異常が発生しているためと考えられるからである。
【0085】
EXSタイマがタイムアップする前に排出終了信号EXSが立ち上がりかつEXSタイマが200m秒(この時間内排出が終了するはずはないため)経過していると、次のステップS8150へ移行してタイマを75m秒にセットする。それから、そのタイマがゼロになったか判定し(ステップS8152)、タイムアップすると次のステップS8154へ移行して玉貸要求信号BRQをハイレベルにネゲートする。これによって、排出終了信号EXSが立ち上がってから75m秒経過してから玉貸要求信号BRQがハイレベルに変化されるようになる。それから、再びタイマを100m秒にセットする(ステップS8156)。
【0086】
次のステップS8158では、カード残高(度数)を「1」だけ減らしてから、カード管理装置800に対する決済信号j(パルス)の出力カウンタを「1」だけ増加させる(ステップS8160)。それから、ステップS8162へ進んで払出回数を「1」だけ減算したのち、払出回数が「0」になったか否か判定し(ステップS8164)、"No"なら上記ステップS8156でセットしたタイマがタイムアップしたか判定し(ステップS8170)、タイムアップした時点で上記ステップS8130へ戻って上記手順を繰り返して再度玉貸要求信号BRQをアサートして排出制御装置600から応答を待つ。これによって、玉貸要求信号BRQが続けて発生される場合、前の信号が一旦立ち上がって100m秒経過してから玉貸要求信号BRQが再びロウレベルにアサートされるようになり、排出制御装置600は確実に玉貸要求信号BRQの立下りを検知することができる。
【0087】
一方、ステップS8164で"Yes"すなわち払出回数が「0」のときはステップS8166へ移行してカード残金がゼロになったか否か判定し、ゼロのときはステップS8172へ移行して磁気書込ファンクションとカード排出ファンクションの送信予約(ステップS8174)をしてから、有効表示ランプ230を消灯(ステップS8176)、挿入残高表示器220(3桁表示)に「000」を表示させ(ステップS8178)、最初のステップS8102へ戻る。これによって、遊技中、カードをカードリーダ内に保持させておいても、カード残高が「0」になると自動的にカードがカードリーダより排出され、遊技者はカード残高が「0」になったことを速やかに知ることができる。また、磁気書込ファンクションの送信予約の際には、送信バッファ内に書込みファンクションコードとともにカード残高データをテキストとして入れておく。
【0088】
一方、上記ステップS8166でカード残高が「0」でないと判定すると、ステップS8168へ進んで、玉貸排出処理が終了し次の玉貸し変換ボタンの操作が可能であることを表示すべく玉貸可能表示器126を点灯させてから最初のステップS8102へ戻る。
【0089】
図19には、上記メインルーチン(図16)のステップS8010で実行されるカードの返却処理の具体的手順の一例が示されている。
この処理が開始されると、まず返却ボタン124がオンされているか判定し(ステップS8202)、"Yes"ならステップS8204へ進んで玉貸可能表示器126が点灯されているか調べる。この玉貸可能表示器126はカードがカードリーダに挿入され、玉貸し変換ボタン123が有効な場合に点灯されるランプであり、ステップS8204で"Yes"すなわちランプ点灯と判定すると、ステップS8206へ進み、この玉貸可能表示器126を消灯させてから、磁気書込ファンクション送信予約およびカードの排出ファンクション送信予約を行ない(ステップS8208,S8210)、有効表示ランプ230を消灯して挿入残高表示器220(3桁表示)に「000」を表示させ(ステップS8212,S8214)た後、上記ステップS8202へ戻って次に返却ボタンがオンされるのを待つ。このファンクションをカードリーダが受信することによって、カードリーダ内からカードが排出される。しかる後、有効表示ランプ230を消灯させ、挿入残高表示器220の表示(3けた)を「000」に変更する(ステップS8212,S8214)。
【0090】
一方、玉貸可能表示器126が消灯されているときに返却ボタンがオンされると、上記ステップS8204からステップS8216へ移行して、玉貸処理(図17)のステップS8130で玉貸可能表示器126の消灯と同時にセットされる玉貸中フラグをチェックして玉貸処理中か否か判定する。そして、玉貸中でなければ何もせずステップS8202へ戻る。玉貸可能表示器126が消灯されているのは玉貸し処理中もしくはカードがカードリーダ内に存在しないということであるので、返却ボタンがオンされてもカードの返却をカードリーダに指令する必要がないからである。
【0091】
上記ステップS8216で"Yes"すなわち玉貸中と判定すると、ステップS8218へ進んで、ステップS8168で玉貸可能表示器126の点灯と同時にクリアされる玉貸中フラグを調べて玉貸処理が終了したか判定する。そして、この玉貸中フラグが"0"にクリアされるまでこのステップを繰り返し、玉貸処理が終了した時点でステップS8220へ移行して、カード残高が"0"か否か判定する。ここで、カード残高が"0"でないときは上記ステップS8206へ移行してこの玉貸可能表示器126を消灯させてから、磁気書込ファンクション送信予約およびカードの排出ファンクション送信予約等を行なった後、上記ステップS8202へ戻って次に返却ボタンがオンされるのを待つ。
【0092】
ステップS8220でカード残高が"0"と判定すると何もせずにステップS8202へ戻って次の返却ボタンの操作を待つ。カード残高が"0"になると、前述した玉貸処理のステップS8172,S8174(図18)で磁気書込ファンクションおよび排出ファンクションの送信予約がなされ、それを受けてカードリーダ内からカードが排出されるからである。
【0093】
図20および図21には、上記メインルーチン(図16)のステップS8012で実行されるカードリーダ制御装置250との間のファンクション送受信処理の具体的手順の一例が示されている。
【0094】
なお、送受信されるファンクションは、ファンクションコードの先頭にSTXコードがまた終端にETXコードが付加されたデータ形式で送信される。ファンクションコード以外にも送受信される信号として、ENQコード(送信の問合せ)とACKコード(肯定応答)とがあるが、これらは先頭のSTXコードも終端のETXコードも付加せずにコード単独で送信される。
このファンクション送受信処理が開始されると、まずステップS8300で上記玉貸処理(図17,18)またはカード返却処理(図19)によるファンクション送信予約の設定がなされているか否か判定する。そして、送信予約がなければステップS8350へ移行して、後述の受信割込み処理(図25)で設定されるENQ受信フラグを調べて、カードリーダ制御装置250からENQ(問合せコード)が入ってきているか判定する。
【0095】
上記ステップS8300で"送信予約有"と判定すると、ステップS8302へ移行して、再送信回数を3回にセットしてからENQコードを送信する(ステップS8304)。この送信によって送信割込みが発生して後述の送信割込み処理が開始される。それから、ステップS8306で応答タイマを10秒にセットした後、ステップS8308でこの応答タイマがタイムアップしたか判定し、"No"のときは受信割込み処理(図25)でセットされるACK受信フラグをみてACK(応答コード)を受信したか判定する(ステップS8310)。そして、ACKを受信する前に応答タイマがタイムアップしたときは、ステップS8312へ移行してステップS8302でセットした再送信回数を「1」だけ減算してから、再送信回数が「0」になったか否か判定し(ステップS8314)、「0」でないときは上記ステップS8304へ戻ってENQコードの再送信を行なう。
【0096】
一方、応答タイマがタイムアップする前にACKを受信したときは、ステップS8316へ進んでACK受信フラグを"0"にクリアし、かつ送信データの先頭を示すSTXコードを送信する。この送信によって送信割込みが発生して後述の送信割込み処理が開始され、ファンクションコードやデータが送信される。また、ステップS8318で応答タイマを10秒にセットした後、ステップS8320でこの応答タイマがタイムアップしたか判定し、"No"のときは受信割込み処理(図25)でセットされるENQ受信フラグをみてENQを受信したか判定する(ステップS8322)。このENQはカードリーダ制御装置250から玉貸し制御装置500に対して受信結果を送っても良いかの問合せであるので、玉貸し制御装置500は、応答タイマがタイムアップする前にENQを受信したときはステップS8324へ進み、ENQ受信フラグを"0"にクリアし、かつACKコードを送信する。ENQを受信する前に応答タイマがタイムアップしたときは、テキスト送信に対する受信結果の応答がなかったことになるので、通信異常があったと判定してステップS8340へ移行して通信異常を示すエラーコードを表示データバッファへ書き込んで、ステップS8344でそのコードを残高表示器122に表示させて制御動作を停止する。
【0097】
ステップS8324でACKを送信した後は、再び応答タイマを10秒にセット(ステップS8326)した後、ステップS8328でこの応答タイマがタイムアップしたか判定し、"No"のときは受信割込み処理(図25)でセットされるFNC受信フラグをみて受信結果の内容を示すファンクションを受信したか判定する(ステップS8330)。そして、ファンクションを受信する前に応答タイマがタイムアップしたときは、ACK送信に対する応答がなかったことになるので、通信異常があったと判定してステップS8340へ移行して通信異常を示すエラーコードを表示データバッファへ書き込んで、ステップS8344でそのコードを残高表示器122に表示させて制御動作を停止する。
【0098】
応答タイマがタイムアップする前にファンクションを受信したときは、ステップS8332へ進んでFNC受信フラグを"0"にクリアした後、受信したファンクションの内容が、「再送要求」か、「異常終了」か、「正常終了」かを判定する(ステップS8334,S8336,S8338)。このうち異常終了は、通信そのものには異常はなかったがカードリーダにおける書込み不良等の異常があった場合に送られてくる。
【0099】
そこで、受信したファンクションが再送要求であったときは上記ステップS8302へ戻って送信のやりなおしを行ない、異常終了のときはステップS8342へ移行してカードリーダ異常を示すエラーコードを表示データバッファへ書き込んで、ステップS8344でそのコードを残高表示器122に表示させて制御動作を停止する。また、正常終了であれば、一連の送信処理が終了したものとしてステップS8300へ戻り、次の送信予約に対する処理を行ない、正常終了でないときはステップS8318へ戻って受信結果のファンクションコードの再受信を行なう。
【0100】
一方、ステップS8300で"送信予約なし"と判定すると、図21のステップS8350へ移行して、受信割込み処理(図25)でセットされるENQ受信フラグをみて、カードリーダ制御装置250からのENQを受信したか判定する。そして、ENQを受信していればステップS8351へ移行してこのENQ受信フラグをリセットしてからステップS8352へ進み、ACKコードを送信した後、応答タイマを10秒にセットする(ステップS8354)。このACKの送信によって送信割込みが発生して後述の送信割込み処理が開始され、カードリーダ制御装置250へACKが送信される。
【0101】
そこで、ステップS8356でこの応答タイマがタイムアップしたか判定し、"No"のときは受信割込み処理(図25)でセットされるFNC受信フラグをみて受信結果の内容を示すファンクションを受信したか判定する(ステップS8358)。そして、ファンクションを受信する前に応答タイマがタイムアップしたときは、ACK送信に対する応答がなかったことになるので、通信異常があったと判定して図20のステップS8340へ移行して通信異常を示すエラーコードを表示データバッファへ書き込んで、ステップS8344でそのコードを残高表示器122に表示させて制御動作を停止する。
【0102】
応答タイマがタイムアップする前にファンクションを受信したときは、ステップS8360へ進んでFNC受信フラグを"0"にクリアした後、受信したファンクションがカードデータ送信ファンクションか否かを判定する(ステップS8361)。そして、判定結果が"No"なら何もせずにステップS8300へ戻り、"Yes"ならステップS8362へ移行してカード残高が「0」か否か判定する。そして、カード残高が「0」でなければステップS8364へ進んで玉貸可能表示器126を点灯させ、受信バッファの内容(残高データ)をカード残高記憶部へ書き込む(ステップS8366)。それから、有効表示ランプ230を点灯させ、受信したカード残高を挿入残高記憶部に格納しかつそれを挿入残高表示器220に表示させて受信処理を終了する(ステップS8368,S8370)。
一方、ステップS8362の判定結果が"Yes"すなわちカード残高が「0」のときは、ステップS8372へ移行してカードリーダに対するカード排出ファンクション予約を行なって処理を終了する。
【0103】
図22には、上記メインルーチン(図16)のステップS8014で実行される決済信号出力処理の具体的手順の一例が示されている。
この処理が開始されると、まず図18の玉貸処理中のステップS8160でカウントアップする決済信号数カウンタを調べて決済信号数が"0"か否か判定する(ステップS8402)。ここで"No"すなわち決済信号数が1以上であると判定すると、ステップS8404へ進んでオン時間タイマを200m秒に設定し、決済信号jをハイレベルにアサートしてから、そのタイマがタイムアップするのを待つ(ステップS8406,S8408)。それから、ステップS8410へ移行してオフ時間タイマを200m秒に設定し、決済信号jをロウレベルにネゲートしてから、そのタイマがタイムアップするのを待つ(ステップS8412,S8414)。
【0104】
その後、ステップS8416で上記決済信号数カウンタを「1」だけ減らしてステップS8402へ戻り、決済信号数カウンタが「0」になるまで、決済信号パルスを出力させる。これによって、パルス幅200m秒の決済信号jが出力される。また、パルスを「2」以上出力させる場合にも、パルスとパルスの間隔が200m秒に設定され、これを受信するカード管理装置800が確実に決済信号パルスを計数することができる。
【0105】
図23には、上記メインルーチン(図16)とは別個に玉貸制御装置500がタイマ割込みにより、例えば1m秒ごとに実行するタイマ割込み処理の具体的手順の一例が示されている。
このタイマ割込み処理では、カード残高記憶部から残高データを読み出して残高表示器122の表示信号を形成して出力し、カード残高を表示させ(ステップS8502)、上記メインルーチン中で使用されている各タイマを「−1」して終了する(ステップS8504)。
【0106】
図24および図25には、上記メインルーチン(図16)とは別個に玉貸制御装置500によって実行される送信割込み処理および受信割込み処理の具体的手順の一例が示されている。
このうち、送信割込みは、上記メインルーチンの玉貸処理(図18参照)やファンクション送受信処理(図20参照)中において、ENQコード,STXコードまたはACKコードを送信することによって発生されるようになっている。この送信割込みが開始されると、ステップS8602,S8604,S8606で、送信バッファを見て送信されたコードがいずれのコードか判定する。ここで、送信されたコードがENQ,ACKまたはETX(テキストデータの終端を示すコード)のいずれかであれば何もせずに割込みを終了する。
【0107】
一方、上記判定ですべて"No"となると送信バッファに入っていたコードはSTXコード、ファンクションコードまたはテキストデータであり、これらには続きのコードがある。そこで、その場合にはステップS8608へ進んでメモリの送信データエリア内の次の8ビットのコードを送信バッファへ転送してから、メモリの送信データエリアのアドレスをインクリメントして、送信バッファに入っているコードを送信して終了する(ステップS8610,S8612)。この送信によって再び送信割込みが発生するので、送信したコードが上記ENQ,ACKまたはETX以外のときは続きのコードがあるので、ステップS8608でメモリの送信データエリア内の次の8ビットのコードを送信バッファへ転送してから、メモリの送信データエリアのアドレスをインクリメントして送信バッファに入っているコードを送信する手順を繰り返しすべてのコードを送信する。
【0108】
図25の受信割込みは、カードリーダ制御装置250からの送信が入ってくることによって発生する。
この受信割込みが開始されると、ステップS8652,S8654で受信したコードがENQコードまたはACKコードであるか判定する。そして、受信したコードがENQコードであればステップS8656へ移行してENQ受信フラグを"1"にセットし、ACKコードであればステップS8658でACK受信フラグを"1"にセットして割込み処理を終了する。上記ENQ受信フラグおよびACK受信フラグは、前記ファンクション送受信処理フロー中で参照される。
【0109】
一方、受信したコードがENQコードまたはACKコードのいずれでもない場合には、ステップS8660へ進んで受信したコードを受信バッファからメモリへセーブしてから、受信バッファアドレスを更新する(ステップS8662)。続きの受信コードが受信バッファに残っていれば再び受信割込みがかかるので、上記ルーチンを繰り返すことで受信コードがすべてメモリにセーブされる。次に、受信したコードがETXコードか否か判定し(ステップS8664)、"No"なら何もせずに本ルーチンを終了する。一方、ステップS8664でETXコードを受信したと判定すると、ステップS8666へ進んで受信したファンクションコードの長さが正常であったか調べる。ここで、"Yes"ならステップS8668へ進んでファンクション受信フラグを"1"にセットして割込み処理を終了し、"No"ならステップS8670へ移行して再送要求ファンクション送信予約をして割込み処理を終了する。
【0110】
次に、上述した排出制御装置600によって行なわれる賞品球および貸し玉の排出制御の手順を図26ないし図57を参照して詳細に説明する。
図26には、上記排出制御装置600が実行するメインルーチンの全体が示されている。このメインルーチンは、上記排出制御装置600の電源の投入と同時に開始され電源が投入されている限り繰返しその処理が行なわれる。
電源が立上がると、先ず、ステップS0でRAMのクリアやフラグの設定、出力バッファのリセット等の初期設定を行なう。
【0111】
続くステップS1では、タイマの更新や各種センサからの検出信号、入力信号の読込みを行なうバックグランド処理を行なってから、ステップS2に進み、カード挿排確認処理(図40)を行なってカードリーダ内にカードが存在しているか否か確認する。それから、ステップS3に進み、後述のBRQ信号読込み処理(図37)中でセットされる玉貸し要求信号BRQの立下りフラグが「1」であるか否か判定し、フラグが「1」のときはステップS10の貸玉処理を行ない、フラグが「0」のときはステップS4へ進む。ステップS4では、後述のセーフ玉排出処理(図49)中で起動される排出ウェイトタイマ(ステップS5708)が動作中であるか否かが判定される。
【0112】
ここで、"No"なら次のステップS5の玉抜処理(図41−42)を行なってから、また"Yes"ならステップS5をスキップしてステップS6へ移行する。ステップS6では、セーフセンサ181からの検出信号の入力処理を行なう図31のセーフセンサ読込み処理フロー中において設定されるセーフセンサ検出フラグを調べて該フラグが"1"ならステップS7で払出処理(図43)を実行してから、またセーフセンサ検出フラグが"0"なら、ステップS7をスキップしてステップS8,S9へ移行する。
【0113】
ステップS8,S9では、排出系1と2の排出カウンタをそれぞれチェックして、いずれのカウンタの値も「8」以下の時は上記ステップS2へ戻って上記手続きを繰り返す。一方、ステップS8,S9でいずれかのカウンタの値が「8」以上と判定した時は排出異常と判断してステップS11へ移行し、玉抜きソレノイドをオンさせ、セーフランプを点灯、さらに玉貸可能信号RDYをロウレベル(無効状態)に変化させて終了する。玉抜きソレノイドがオンされることにより、余分に払いだされた玉は遊技機前面の受け皿でなく玉抜き樋157を通って遊技機の背部に回収され、故障等による遊技店の不利益を回避することができる。
【0114】
なお、ステップS8,S9で排出カウンタの値が「8」以上か否か判定することで排出異常を判断しているのは、この実施例では、排出要求がないにもかかわらず5個以上の球が排出されたときに異常と判定するようにしているためである。なお、この実施例では排出カウンタとして4ビットのカウンタを使用し不正監視用に「4」を設定(図49のステップS5702)しておいて、排出玉検出毎にカウントダウンさせるようにしているため、4ビット目を監視することにより、カウンタの値が「8」(2進数では1000)以上になったか否かをソフトウェア的に容易に知ることができる。
【0115】
図27には、図26のメインルーチンのステップS0で実行される初期化処理の手順が示されている。
この処理が開始されると、まず玉貸し制御装置600に対する玉貸可能信号RDYをロウレベルにネゲートしてから、割込み処理時の退避領域を指定するスタックポインタの設定を行なう(ステップS101,S102)。次に、システムクロックを分周してタイマのクロック発生する可変分周器の分周率を1/4に設定し、タイマを起動させる(ステップS103,S105)。これによって、例えばタイマとして8ビットのカウンタを使用し、システムクロックとして500kHzの周波数のクロックを用いたとすると、タイマカウンタは125kHzのクロックでカウントアップされ、タイマからは2.048m秒ごとにオーバーフロー(桁上げ)信号が出力されるようになる。なお、上記タイマのオーバーフロー(桁上げ)信号があるとそれを保持するフラグ(INT RQF)が設けられており、このフラグは、CPUがその状態を読み出すことによりクリアされるように構成されている。
【0116】
上記タイマ起動後は、ステップS107でI/Oポートの初期化を行なって、排出制御装置600から玉貸制御装置500へ供給する玉貸可能信号RDYや排出終了信号EXS等の状態(初期レベル)を設定する。ちなみに、玉貸可能信号RDYの初期状態はロウレベルで、排出終了信号EXSの初期状態はハイレベルである。
【0117】
次に、ステップS109でソフトタイマを2秒(カウント値「976」)に設定してから、上記ハードタイマからのオーバーフロー(桁上げ)信号を保持するフラグ(INT RQF)が"1"になるのを待ち(ステップS111)、"1"になるとステップS109で設定したソフトタイマを「1」だけ減らす(ステップS113)。そして、次のステップS115で上記ソフトタイマの値が「0」になったか判定し、"No"なら上記ステップS111へ戻ってタイマのカウントダウンを繰り返し行なう。電源投入後、システムの動作が安定化するのを待つためである。
【0118】
その後、ステップS115でソフトタイマ(2秒)のカウント値が「0」になったと判定すると、ステップS117へ移行して通信線の接続を確認する回線テスト処理(図28)を行なってから、ステップS118,S119進み、不正監視用玉数設定処理として2つの排出系1と2の排出カウンタにそれぞれ「4」を設定した後、玉貸可能信号RDYをハイレベルにアサートして(ステップS121)、当該初期化処理を終了する。
【0119】
図28には、図27のサブルーチン中における回線テスト処理(ステップS117)の手順の一例が示されている。
このサブルーチンが開始されると、先ずステップS171で送信バッファに「回線テスト」コマンドをセットした後、タイマ2を12m秒に設定し、クロック立上りエッジ検出フラグを"0"にクリアしてからバックグランド処理を行なう(ステップS173,S175,S177)。そして、このバックグランド処理で遊技盤制御装置400から供給されるクロックCKの読込み(図39)を行なって、その中で設定されるクロック立上りエッジ検出フラグが"1"にセットされているかを、ステップS181でチェックすることでクロックが発生されていることの確認を行なう。タイマ2を12m秒にセットしているのは、確認しようとしているクロックCKの周期が8m秒であるからである。このタイマ2がタイムアップする前にクロック立上りエッジ検出フラグが"1"にならなかったときは、上記ステップS173へ戻って再度タイマ2を設定しなおす(ステップS179)。
【0120】
ステップS181でクロック立上りエッジ検出フラグが"1"になっているのを確認すると、ステップS183へ進んでこのフラグを"0"にクリアしてから、再びタイマ2を12m秒に設定し、バックグランド処理を行なう(ステップS185,S187)。それから上記クロック立上りエッジ検出フラグが"1"になっているか再度確認する(ステップS191)。このようにしてクロックCKの立上りを2度確認してからステップS193の送信処理(図29)へ移行して、「回線テスト」コマンドを送信するようになっている。タイマ2(12m秒)がタイムアップする前にクロック立上りエッジ検出フラグが"1"にならなかったときは、上記ステップS173へ戻って再度タイマ2を設定しクロックの確認をやりなおす(ステップS189)。
【0121】
上記「回線テスト」コマンドを遊技盤制御装置400が受信すると、前述したように「回線テスト」コマンドを送り返してくるようになっている(図15CステップS853−S857参照)。
そこで、上記送信処理(ステップS193)実行後は、ステップS195へ進んで受信処理(図30参照)を行ない、遊技盤制御装置400からの応答(「回線テスト」コマンド)を待つ。そして、次のステップS197で上記受信処理内で設定されるデータエラーフラグをチェックして、フラグが"0"ならステップS199へ進み、受信したデータが「回線テスト」コマンドか否か確認して"Yes"なら本ルーチンを終了する。一方、上記ステップS197でデータエラーフラグが"1"になっていたり、ステップS199で回線テスト以外のコマンドを受信していると、ステップS195へ戻って受信処理を繰り返す。
【0122】
図29には、図28の回線テスト処理ルーチン中における送信処理(ステップS193)の手順の一例が示されている。
このサブルーチンでは、先ずステップS701で上記クロック立上りエッジ検出フラグを"0"にクリアしてから、送信バッファ内の送信データを1ビット読み込む(ステップS703)。それから、タイマ2を12m秒に設定してからバックグランド処理を行なう(ステップS705,S707)。そして、このバックグランド処理で遊技盤制御装置400から供給されるクロックCKの読込み(図39)を行なって、その中で設定されるクロック立上りエッジ検出フラグが"1"にセットされているかを、ステップS711でチェックすることでクロックが立ち上がったのを確認して次のステップS713へ進み、送信ポートへ送信バッファ内のビットを1つ出力する。これによって、クロックCKの立上りに同期してコマンドの送信がなされる(図60のタイミングts)。ステップS713でのビット送信後は、ステップS715へ進み、全ビットの送信が終了したか否か判定し、終了していないときは上記ステップS701へ戻って上記手順を繰り返して送信コードの全ビットを順番に送信する。
なお、ステップS711でクロック立上りエッジ検出フラグの変化を検出する前にステップS705でセットしたタイマがタイムアップすると、図26のステップS0へ戻って初期化処理からやりなおすようになっている。
【0123】
図30には、図28の回線テスト処理ルーチン中における受信処理(ステップS195)の手順の一例が示されている。
このサブルーチンでは、先ずステップS721でタイマ3を3秒に設定してから、データエラーフラグおよびクロック立上りエッジ検出フラグをそれぞれ"0"にクリアする(ステップS723,S725)。次に別のタイマ2を12m秒に設定してからバックグランド処理を行なう(ステップS727,S729)。そして、このバックグランド処理で遊技盤制御装置400から供給されるクロックCKの読込み(図39)を行なって、その中で設定されるクロック立上りエッジ検出フラグが"1"にセットされているかを、ステップS733でチェックすることでクロックが立ち上がったのを確認して次のステップS735へ進み、再びバックグランド処理を行なう。
【0124】
それから、上記バックグランド処理の中で読み込まれたクロックCKのチャタリング除去後のレベルがロウレベルになっているか判定し、"Yes"ならステップS741へ移行して受信ポートより受信データを1ビット読み込んでメモリに記憶する(図59タイミングtr1)。遊技盤制御装置400はクロックCKのハイレベルへの立上りに同期して送信データを切り換えるので、クロックCKのロウレベルの期間に受信データを読み込むことにより、誤ったデータの読込みを防止することができる。
なお、ステップS731およびS737で、クロック立上りエッジ検出フラグの変化を検出する前にステップS727でセットしたタイマがタイムアップしたと判定すると、図26のステップS0へ戻って初期化処理からやりなおすようになっている。
【0125】
ステップS741で受信ビットを読み込んだ後は、再びバックグランド処理を行なう(ステップS743)。そして、読み込まれたクロックCKのチャタリング除去後のレベルがロウレベルになっているか判定し、"Yes"ならステップS747へ移行して受信ポートより受信データを1ビット読み込んでメモリに記憶する(図59タイミングtr2)。バックグランド処理では1m秒待ちを行なうので、ステップS743を入れることにより、約1m秒の間隔をおいて同一のビットが2度読みされることになる。それから、上記ステップS741とS747で記憶した2つの読み込みビットと比較して(ステップS749)、一致したならステップS751へ進んでスタートビットの検出中か判定し、"No"ならステップS755へジャンプして読み込みビットを受信バッファの対応ビットに記憶する。一方、ステップS751でスタートビットの検出中と判定すると、ステップS753へ進み、読み込んだ先頭のビットがロウレベルか否か判定する。そして、"Yes"ならステップS755へ移行して、読み込まれたスタートビットを受信バッファの対応ビットに記憶する。
【0126】
それから、ステップS757へ進んで、受信データの全ビットの読込みが終了したか判定し、"No"ならステップS759へ移行して上記ステップS721でセットしたタイマ3がタイムアップしたか判定し、タイムアップしていなければステップS725へ戻って上記手順を繰り返し、全ビットの読込みを行なう。
【0127】
一方、ステップS759で、全ビットの読込みが終了する前にタイマ3がタイムアップしたと判定すると、本ルーチンを中断し、メインルーチンのステップS2へ戻って最初からやりなおす。また、上記ステップS749で、2度読みしたデータ同志が一致しなかったときは、ステップS761へ移行してデータエラーフラグを"1"にセットして本ルーチンを終了する。
【0128】
図31には、図26のメインルーチンや各種処理中で実行されるバックグランド処理の内容が、また図32−図39にはその具体的手順が示されている。この処理はタイマの更新や各種センサからの検出信号、各種入力信号の読込みのために行なわれるものである。
このバックグランド処理が開始されると、先ず、1m秒待ち処理(ステップS21)を行なってから、タイマ0とタイマ1、タイマ2、タイマ3(いずれもソフトタイマ)のカウント値の更新を行なう(ステップS22,S23,S24,S25)。それから、セーフセンサの読込み処理(ステップS26)および排出センサ1の読込み処理(ステップS27)、排出センサ2の読込み処理(ステップS28)、球抜センサの読込み処理(ステップS29)、玉貸要求信号BRQの読込み処理(ステップS30)、カード有無信号CONの読込み処理(ステップS31)を行ない、続いてクロックCKの読込み処理(ステップS32)を行なう。
【0129】
図32は、上記ステップS21にて行なわれる1m秒待ち処理ルーチンのフローチャートである。
このサブルーチンが開始されると、先ずバッファもしくはメモリにセーブされたタイマ用の8ビットカウンタ(2.048m秒)の前回カウント値を読み出してから(ステップS201)、現在のカウント値を読み込むとともにそれをバッファもしくはメモリにセーブする(ステップS203)。次に、読み込んだ現在のカウント値と、前回のカウント値とを比較して最上位ビットb7が変化したか判定し(ステップS205)、"Yes"なら処理を終了し、"No"ならステップS201へ戻って再びセーブしたタイマの前回カウント値と現在のカウント値を読み込んで最上位ビットb7の比較を繰り返す。この8ビットのタイマカウンタは前述したように125kHzのクロックでカウントアップされるので、最上位ビットb7が変化したときに1m秒(正確には1.024m秒)経過したことになる。
【0130】
図33は、上記ステップS22にて行なわれるタイマ0の更新処理ルーチンのフローチャートである。
この実施例ではタイマ0として4ビットのカウンタを3本用意してあり、そのうち一つを上記1m秒待ち処理終了毎に更新する1mSカウンタとして使用し、他の一つはこの1mSカウンタがオーバーフローする毎に更新する16mSカウンタとして使用し、残りの一つはこの16mSカウンタがオーバーフローする毎に更新する256mSカウンタとして使用するようにしている。
【0131】
このサブルーチンが開始されると、まず1mSカウンタをデクリメント(−1)してから(ステップS211)、この1mSカウンタが桁下げすなわちオール0からオール1に変化したか判定し(ステップS212)、桁下げがなければそのままこの処理を終了する。
一方、1mSカウンタが桁下げがあると予め用意された1mSフラグに"1"をセットしてから(ステップS213)、16mSカウンタをデクリメントする(ステップS214)。それから、この16mSカウンタが桁下げすなわちオール0からオール1に変化したか判定し(ステップS215)、桁下げがなければそのままこの処理を終了する。
【0132】
さらに、ステップS215で桁下げ有りと判定すると、予め用意された16mSフラグに"1"をセットしてから(ステップS216)、256mSカウンタをデクリメントする(ステップS217)。それから、この256mSカウンタが桁下げを起こしたか判定し(ステップS218)、桁下げがなければそのままこの処理を終了し、桁下げがあると予め用意された256mSフラグに"1"をセットして処理を終了する(ステップS219)。
【0133】
従って、例えば10m秒の経過待ちをしたい場合には、上記1mSカウンタに「1010」を設定してからバックグランド処理でタイマを更新させ、1mSフラグを監視して"1"に変化するのを待てば良い。
なお、図31のステップS23におけるタイマ1の更新処理とステップS24におけるタイマ2の更新処理およびステップS25におけるタイマ3の更新処理は、図33のタイマ0の更新処理と全く同じであるので図示および説明を省略する。4つのソフトタイマを用意しているのは、同一処理内で4つまでの時間を同時に計測できるようにするためである。
【0134】
図34は、図31のステップS26にて行なわれるセーフセンサの読込み処理ルーチンのフローチャートである。
このサブルーチンが開始されると、先ずステップS221でセーフセンサの状態を入力ポートより読み込んでから、一旦セーフセンサフラグを"1"にセットする(ステップS223)。次に、ステップS221で読み込んだ状態からセーフセンサ181がオンしているか判定し(ステップS225)、"Yes"ならそのまま処理を終了し、"No"ならセーフセンサフラグを"0"にクリアして処理を終了する(ステップS227)。
【0135】
図35は、図31のステップS27にて行なわれる排出センサ1の読込み処理ルーチンのフローチャートである。
このサブルーチンは排出センサ730aの状態を検出するためのものであり、図31のバックグランド処理により約1m秒毎に繰り返し実行される。なお、排出センサは内側に球が存在しているときにその出力信号がロウレベルとなり、球が流出して一時的に又は継続してセンサ内に存在しなくなったときその出力信号がハイレベルとなるように構成されている。従って本ルーチンではセンサ730aの出力信号がロウレベルからハイレベルに変化したときに後述の排出フラグを"1"に設定して球が排出されたことを記憶するようになっている。一方、該センサ730a(以下、排出センサ1と記す)の出力信号がハイレベルからロウレベルに変化したとき排出フラグを"0"に設定して球が待機状態にあることを記憶するようになっている。
【0136】
本ルーチンが開始されると、先ず該排出センサ1の出力信号の状態を入力ポートより、また前回の排出センサ1の出力信号の状態をバッファ(もしくはメモリ)より読み込む(ステップS232,S234)。そして、ステップS236で両方の信号状態を比較する。今仮りに球の排出が行われ、1つの球がセンサ1内から脱した場合を考える。このとき排出センサ1の出力信号はロウレベルからハイレベルに変化する。そのため、ステップS236の判定結果は"Yes"(変化有り)となってステップS238以降が実行される。
【0137】
ステップS238では、前回のセンサ状態を廃棄して今回のセンサ状態をバッファに記憶してから、上記タイマ0または1をチャタリング除去タイマとして使用し、これを1m秒に設定する(ステップS240)。次に、ステップS232の読込み状態から該排出センサ1の出力信号がロウレベルか否か判定する(ステップS242)。ここでは、"No"と判定されるため上記チャタリング除去タイマを4m秒に設定しなおす(ステップS244)。それから、排出フラグを"0"に設定する(ステップS246)。次に、ステップS262へ移行して上記排出フラグを調べて排出があったか否か判定する。ここではまだ"No"と判定されるためステップS264をスキップして一旦終了する。
【0138】
つぎに、再びバックグランド処理に入り1m秒待ちしてから本ルーチンが実行されると、排出センサ1の出力信号がハイレベルの状態を保持する限りステップS236で"No"すなわち変化無しと判定されて、ステップS248へ進み、上記ステップS244(またはS240)で設定したチャタリング除去タイマをデクリメント(−1)してから、該タイマがタイムアップしたか判定する(ステップS250)。ここでは、タイマが4m秒に設定されているので、まず"No"と判定されるため、ステップS246へ移行して排出フラグを"0"に設定し、ステップS262へ移行して"No"と判定されてステップS264をスキップして終了することになる。
【0139】
その後、上記手順を繰り返しているうちに、ステップS250でチャタリング除去タイマがタイムアップしたと判定されると、ステップS252へ移行して、ステップS232で読み込んだセンサ状態がロウレベルか否か判定する。ここではセンサがハイレベルの場合を考えているので、"No"と判定されてステップS254へ進んでチャタリング除去後のレベル(バッファに記憶されており、初期設定でロウレベルにされている)がロウレベルか否か判定する。そして、"Yes"と判定されてステップS256へ進んでチャタリング除去後のレベルをハイレベルに設定してから、排出フラグを"1"にセット(ステップS258)し、上記ステップS262へ進む。すると、ステップS262では"1"にセットされた排出フラグを見て、排出があったと判定してステップS264へ進み、排出カウンタを「1」だけ減算して本ルーチンを終了する。
【0140】
上記の場合、チャタリング除去タイマがタイムアップする前に、排出センサ1の出力状態がハイレベルからロウレベルに変化してしまうと、ステップS236で変化有りと判定してステップS238へ移行するため、排出センサ1が4m秒以下のチャタリングノイズもしくは電気的なノイズを拾っても排出カウンタの減算は行なわれない。
【0141】
次に、排出センサ1の出力信号がハイレベルからロウレベルに立下がった場合を考える。この場合も上記と同様にステップS236で状態変化有りと判定されてステップS238へ移行する。ただし、今度はステップS242で"Yes"と判定されるため、ステップS244,S246をスキップして一旦終了する。
そして、再び本ルーチンが実行されたときにステップS236からS248へ進んでチャタリング除去タイマをデクリメント(−1)してから、該タイマがタイムアップしたか判定する(ステップS250)。ここでは、タイマが1m秒に設定されているので、直ちに"Yes"と判定されるため、ステップS252へ進んで排出センサ1の状態がロウレベルか否か判定する。そして、"Yes"と判定されてステップS260へ移行してチャタリング除去後のレベルをロウレベルに設定してから、ステップS246で排出フラグを"0"に設定し、ステップS262へ移行して"No"と判定されてステップS264をスキップして終了することになる。
なお、図31のステップS28における排出センサ2の読込み処理ルーチンは、図35の排出センサ1の読込み処理ルーチンと全く同じであるので図示および説明を省略する。
【0142】
図36は、図31のステップS29にて行なわれる玉抜きセンサの読込み処理ルーチンのフローチャートである。
このサブルーチンは玉抜きスイッチ750の状態を検出するためのものであり、図35のバックグランド処理により約1m秒毎に繰り返し実行される。なお、玉抜きスイッチは玉抜き棒によりオンされているときにその出力信号がロウレベルとなり、オフされているときはその出力信号がハイレベルとなるように構成されている。従って本ルーチンでは玉抜きスイッチ750の出力信号がハイレベルからロウレベルに立ち下ったときに後述の立下りエッジ検出フラグを"1"に設定して球抜きスイッチ750がオンされたことを記憶するようになっている。
【0143】
本ルーチンが開始されると、先ず該玉抜きスイッチの出力信号の状態を入力ポートより読み込む(ステップS302)。そして、次のステップS304で読み込まれた信号状態がハイレベルか否か判定する。玉抜きスイッチ750がオンされる前は出力信号はハイレベルであるため、ステップS304の判定結果は"Yes"となってステップS306へ移行する。ステップS306では、前回のスイッチ状態をバッファより読み出してハイレベルであったか判定する。ここで、"Yes"すなわち玉抜きスイッチの出力信号の状態が2回続けてハイレベルであったならチャタリング除去後のレベルをハイレベルとしてから、前回のセンサ状態を廃棄して今回センサ状態をハイレベルとしてバッファに記憶する(ステップS308,S310)。一方、ステップS306で、"No"と判定されるとステップS308をスキップしてステップS310へ移行し、今回センサ状態をハイレベルとしてバッファに記憶して一旦本ルーチンを終了する。
【0144】
つぎに、再びバックグランド処理に入り1m秒待ちしてから本ルーチンが実行されると、玉抜きスイッチの出力信号がハイレベルの状態を保持する限りステップS304からステップS306,S310と進み、これを繰り返す。
その後、上記手順を繰り返しているうちに、玉抜きスイッチ750がオンされると、ステップS304で"No"と判定されてステップS312へ進んで、前回のスイッチ状態をバッファより読み出してハイレベルであったか判定する。ここで、"No"と判定されるとステップS320へ移行し、前回のセンサ状態を廃棄して今回センサ状態をロウレベルとしてバッファに記憶して一旦本ルーチンを終了する。
【0145】
一方、ステップS312で、"Yes"すなわち玉抜きスイッチの出力信号の状態が2回続けてロウレベルであったならステップS314へすすんで前回のチャタリング除去後のレベルがロウレベルか否か判定し、"No"すなわち前回のチャタリング除去後のレベルがハイレベルであったときはステップS316へ移行して立下りエッジ検出フラグを"1"にセットし、チャタリング除去後のレベルをロウレベルとして終了する(ステップS318)。
このように上記ルーチンでは、玉抜きスイッチの出力状態が2回続けてハイレベルまたはロウレベルであると判定すると、その出力状態を確定状態として記憶するため、球抜きスイッチ750が1m秒以下のチャタリングノイズもしくは電気的なノイズを拾っても誤って立下りエッジ検出フラグを"1"にセットすることはない。
【0146】
図37は、図31のステップS30にて行なわれる玉貸要求信号BRQの入力(読込み)処理ルーチンのフローチャートである。
このサブルーチンは玉貸要求信号BRQの状態を検出するためのものであり、図31のバックグランド処理により約1m秒毎に繰り返し実行される。なお、玉貸要求信号BRQはそのレベルがロウレベルのときに有効状態を示し、ハイレベルのときは無効状態を示すようにされている。従って本ルーチンでは玉貸要求信号BRQがハイレベルからロウレベルに立ち下ったときに後述の立下りエッジ検出フラグを"1"に設定して玉貸要求信号BRQがロウレベルにアサートされたことを記憶するようになっている。
【0147】
本ルーチンが開始されると、先ず該玉貸要求信号BRQの状態を入力ポートより読み込む(ステップS332)。そして、次のステップS334で読み込まれた信号状態がハイレベルか否か判定する。玉貸要求信号BRQがアサートされる前はレベルがハイレベルであるため、ステップS334の判定結果は"Yes"となってステップS336へ移行する。ステップS336では、前回の玉貸要求信号BRQの状態をバッファより読み出してハイレベルであったか判定する。ここで、"Yes"すなわち玉貸要求信号の状態が2回続けてハイレベルであったならノイズ除去後のレベルをハイレベルとしてから、前回の信号レベル状態を廃棄して今回信号レベル状態をハイレベルとしてバッファに記憶する(ステップS338,S340)。一方、ステップS336で、"No"と判定されるとステップS338をスキップしてステップS340へ移行し、今回信号レベル状態をハイレベルとしてバッファに記憶して一旦本ルーチンを終了する。
【0148】
つぎに、再びバックグランド処理に入り1m秒待ちしてから本ルーチンが実行されると、玉貸要求信号BRQの出力信号がハイレベルの状態を保持する限りステップS334からステップS336,S340と進み、これを繰り返す。
その後、上記手順を繰り返しているうちに、玉貸要求信号BRQがロウレベルにアサートされると、ステップS334で"No"と判定されてステップS342へ進んで、前回のスイッチ状態をバッファより読み出してロウレベルであったか判定する。ここで、"No"と判定されるとステップS350へ移行し、前回の信号レベル状態を廃棄して今回信号レベル状態をロウレベルとしてバッファに記憶して一旦本ルーチンを終了する。一方、ステップS342で、"Yes"すなわち玉貸要求信号の出力信号の状態が2回続けてロウレベルであったならステップS344へすすんで前回のノイズ除去後のレベルがロウレベルか否か判定し、"No"すなわち前回のノイズ除去後のレベルがハイレベルであったときはステップS346へ移行して立下りエッジ検出フラグを"1"にセットし、ノイズ除去後のレベルをロウレベルとして終了する(ステップS348)。
【0149】
このように上記ルーチンでは、玉貸要求信号BRQの出力レベルが2回続けてハイレベルまたはロウレベルであると判定すると、その出力状態を確定状態として記憶するため、玉貸要求信号BRQに1m秒以下のノイズがのっても誤って立下りエッジ検出フラグを"1"にセットすることはない。
【0150】
図38は、図31のステップS31にて行なわれるカード有無信号CONの入力(読込み)処理ルーチンのフローチャートである。
このサブルーチンはカード有無信号CONの状態を検出するためのものであり、図31のバックグランド処理により約1m秒毎に繰り返し実行される。なお、カード有無信号CONはそのレベルがハイレベルのときに有効状態(カードが挿入されている状態)を示し、ロウレベルのときは無効状態(カード無しの状態)を示すようにされている。従って、本ルーチンではカード有無信号CONがロウレベルからハイレベルに立ち上ったときに後述の立上りエッジ検出フラグを"1"に設定してカード有無信号CONがハイレベルにアサートされたことを記憶し、カード有無信号CONがハイレベルからロウレベルに立ち下ったときに後述の立下りエッジ検出フラグを"1"に設定してカード有無信号CONがロウレベルにネゲートされたことを記憶するようになっている。
【0151】
本ルーチンが開始されると、先ず該カード有無信号CONの状態を入力ポートより読み込む(ステップS361)。そして、次のステップS362で読み込まれた信号状態がハイレベルか否か判定する。カード有無信号CONがアサートされる前はレベルがロウレベルであるため、ステップS364の判定結果は"No"となってステップS363へ移行する。ステップS363では、前回のカード有無信号CONの状態をバッファより読み出してロウレベルであったか判定する。ここで、"No"ならステップS364で読込み信号状態を一旦ロウレベルと記憶して本ルーチンを終了する。一方、上記ステップS363で"Yes"すなわちカード有無信号CONの状態が2回続けてロウレベルであったと判定したなら、ステップS365へ移行して前回のノイズ除去後のレベルがロウレベルか判定する。そして、"Yes"なら何もせずに本ルーチンを終了し、"No"ならステップS366へ進んで、立下りフラグを"1"にセットしてからノイズ除去後のレベルをロウレベルとして本ルーチンを終了する(ステップS367)。
【0152】
つぎに、再びバックグランド処理に入り1m秒待ちしてから本ルーチンが実行されると、カード有無信号CONの出力信号がロウレベルの状態を保持する限りステップS362からステップS363,S365と進み、これを繰り返す。
その後、上記手順を繰り返しているうちに、カード有無信号CONがハイレベルにアサートされると、ステップS362で"Yes"と判定されてステップS368へ進んで、前回の信号状態をメモリより読み出してハイレベルであったか判定する。ここで、"No"と判定されるとステップS369へ移行し、前回の信号レベル状態を廃棄して今回信号レベル状態をハイレベルとしてメモリに記憶して一旦本ルーチンを終了する。一方、ステップS368で、"Yes"すなわちカード有無信号CONの状態が2回続けてハイレベルであったならステップS370へすすんで前回のノイズ除去後のレベルがハイレベルか否か判定し、"Yes"なら本ルーチンを終了し、"No"すなわち前回のノイズ除去後のレベルがロウレベルであったときはステップS371へ移行して、立上りフラグを"1"にセットしてからノイズ除去後のレベルをハイレベルとして終了する(ステップS372)。
【0153】
このように上記ルーチンでは、カード有無信号CONの出力レベルが2回続けてハイレベルまたはロウレベルであると判定すると、その出力状態を確定状態として記憶するため、カード有無信号CONに1m秒以下のノイズがのっても誤って確定レベルを"H"または"L"にセットすることはない。なお、カード有無信号CONは、状態を示す信号であって、上記球貸要求信号BRQのような要求もしくは応答信号でないので、立上りエッジや立下りエッジを検出してフラグを立てる必要がない。
【0154】
図39は、図31のステップS32にて行なわれるクロックCKの入力(読込み)処理ルーチンのフローチャートである。
このサブルーチンはクロックCKの状態を検出するためのものであり、図31のバックグランド処理により約1m秒毎に繰り返し実行される。なお、本ルーチンではクロックCKがハイレベルからロウレベルに立ち下ったときに後述の立下りエッジ検出フラグを"1"に設定してクロックCKがロウレベルに変化したこととロウレベルまたはハイレベルにあるときにその状態を記憶するようになっている。
【0155】
本ルーチンが開始されると、先ず該クロックCKの状態を入力ポートより読み込む(ステップS332)。そして、次のステップS334で読み込まれた信号状態がハイレベルか否か判定する。クロックCKがハイレベルであると、ステップS334の判定結果は"Yes"となってステップS336へ移行する。ステップS336では、前回のクロックCKの状態をバッファより読み出してハイレベルであったか判定する。ここで、"Yes"すなわちクロック信号の状態が2回続けてハイレベルであったならノイズ除去後のレベルをハイレベルとしてから、前回の信号レベル状態を廃棄して今回信号レベル状態をハイレベルとしてバッファに記憶する(ステップS338,S340)。一方、ステップS336で、"No"と判定されるとステップS338をスキップしてステップS340へ移行し、今回信号レベル状態をハイレベルとしてバッファに記憶して一旦本ルーチンを終了する。
【0156】
つぎに、再びバックグランド処理に入り1m秒待ちしてから本ルーチンが実行されると、クロックCKがハイレベルの状態を保持する限りステップS334からステップS336,S340と進み、これを繰り返す。
その後、上記手順を繰り返しているうちに、クロックCKがロウレベルに変化されると、ステップS334で"No"と判定されてステップS342へ進んで、前回の状態をバッファより読み出してロウレベルであったか判定する。ここで、"No"と判定されるとステップS350へ移行し、前回の信号レベル状態を廃棄して今回信号レベル状態をロウレベルとしてバッファに記憶して一旦本ルーチンを終了する。一方、ステップS342で、"Yes"すなわちクロック信号の状態が2回続けてロウレベルであったならステップS344へすすんで前回のノイズ除去後のレベルがロウレベルか否か判定し、"No"すなわち前回のノイズ除去後のレベルがハイレベルであったときはステップS346へ移行して立下りエッジ検出フラグを"1"にセットし、ノイズ除去後のレベルをロウレベルとして終了する(ステップS348)。
このように上記ルーチンでは、クロックCKの出力レベルが2回続けてハイレベルまたはロウレベルであると判定すると、その出力状態を確定状態として記憶するため、クロックCKに1m秒以下のノイズがのっても誤って立下りエッジ検出フラグを"1"にセットすることはない。
【0157】
図40には、排出制御装置600によって実行されるメインルーチン(図26)のステップS2におけるカード挿排確認処理の具体的手順のフローチャートの一例が示されている。
本ルーチンが開始されると、先ずステップS381で玉貸し制御装置500から供給されるカード有無信号CONの読込みを行なう図38のサブルーチンで設定される立上りフラグを調べて"1"が立っているか判定し、"Yes"ならステップS385へ移行して送信バッファに「カード挿入音要求」コマンドを設定する。それから、ステップS389へ進んでそのコマンドの送信処理(図29参照)を行なった後、カード有無信号CONの立上りフラグと立下りフラグを"0"にクリア(ステップS391,S393)して本ルーチンを終了する。
【0158】
一方、上記ステップS381で"No"と判定したときはステップS383へ進んで、図38のサブルーチンで設定されるカード有無信号CONの立下りフラグを調べて"1"が立っているか判定し、"Yes"ならステップS387へ移行して送信バッファに「カード排出音要求」コマンドを設定する。それから、ステップS389へ進んでそのコマンドの送信処理(図29参照)を行なった後、カード有無信号CONの立上りフラグと立下りフラグを"0"にクリア(ステップS391,S393)して本ルーチンを終了する。
また、上記ステップS381とS383でともに"No"と判定したときは、何もせずに本ルーチンを終了する。
【0159】
図41および図42は、排出制御装置600によって実行されるメインルーチン(図26)のステップS5において実行される玉抜処理のサブルーチンを示すフローチャートである。
この球抜処理ルーチンは遊技店の係員によって球抜スイッチが押されたことがバックグランド処理の中の球抜センサ読込み処理(図36)によって検知され、球抜センサの立下りエッジ検出フラグが"1"に設定されたときにメインルーチン(図26)のステップS5で実行されるものである。
【0160】
本ルーチンが開始されると、先ずステップS402において球抜センサの立下りエッジ検出フラグが"1"であるか否かが判定される。ステップS402の判定結果が"No"のときは何もせずに次の処理に移行し、"Yes"のときはステップS404へ進み、上記球抜センサの立下りエッジ検出フラグを"0"にクリアしてから、球抜ソレノイドを励磁(ON)する(ステップS406)。すると、切換ゲート158(流路切換弁158と同意、以下同様。)が切り換えられて、球排出装置から排出された球は球抜き樋157を通って遊技盤背部に回収されるようになる。
【0161】
続くステップS408では、タイマ0を1秒に設定してから、バックグランド処理を行なう(ステップS410)。バックグランド処理によってステップS408で設定されたタイマ0の更新が1m秒毎に行なわれる。そこで、次のステップS412で上記タイマ0がタイムアップしたか判定し、"No"ならステップS410へ戻ってタイマ0の更新を繰り返すことで、1秒が経過するのを待つ。ステップS406で作動させた球抜ソレノイドにより切換ゲート158が完全に切り換えられるのを待つためである。
【0162】
球抜ソレノイド作動後、1秒が経過したときにステップS414へ進み、排出センサ1が待機球の存在を検出しているか判定し、"Yes"ならステップS418へジャンプし、"No"ならステップS416へ進んで排出センサ2が待機球の存在を検出しているか判定する。そして、"Yes"なら次のステップS418進み、"No"なら後述のステップS468へジャンプする。すなわち、排出センサ1または2のいずれかが待機球の存在を検出していると排出ソレノイド1および2を励磁させて球抜き排出を開始させ、排出センサ1および2の両方が待機球を検出していないと球抜きソレノイドを消磁させて球抜き排出を終了させるようになっている。
【0163】
ステップS418で排出ソレノイド1および2を励磁させた後は、ステップS420へ進み、バックグランド処理を行なう。再度球抜きセンサの状態を読み込んでチェックするためである。
ステップS420のバックグランド処理が終わると、ステップS422へ進み、球抜センサの立下りエッジ検出フラグが"1"であるか否かが判定され、"1"なら図42のステップS440へ移行して、球抜き終了処理を行なう。玉抜き動作中に再度球抜きスイッチ750をオンさせると球抜き動作を停止できるようにするためである。
【0164】
ステップS422で"No"すなわち最初に球抜きスイッチ750がオンされて球抜き処理が開始され、その後球抜きスイッチ750がオンされていないときは、ステップS424に進み、排出センサ1が待機球の存在を検出しているか判定し、"Yes"なら上記ステップS420へ戻り、"No"ならステップS426へ進んで排出センサ2が待機球の存在を検出しているか判定する。そして、ここで"Yes"なら上記ステップS420へ戻り、"No"なら次のステップS428進む。すなわち、排出センサ1または2のいずれかが待機球の存在を検出している限り、排出ソレノイド1および2を励磁させた球抜き排出を継続させ、排出センサ1および2の両方が待機球を検出しなくなると、ステップS428へ進みタイマ0を3秒に設定する。
【0165】
それから、ステップS430へ進んでバックグランド処理を行ない、ステップS428で設定されたタイマ0の更新させてから、ステップS432に進み、排出センサ1が待機球の存在を検出しているか判定し、"Yes"なら上記ステップS420へ戻り、"No"ならステップS434へ進んで排出センサ2が待機球の存在を検出しているか判定する。そして、ここで"Yes"なら上記ステップS420へ戻り、"No"なら次のステップS436進む。すなわち、排出センサ1または2のいずれかが待機球の存在を検出している限り、排出ソレノイド1および2を励磁させた球抜き排出を継続させ、排出センサ1および2の両方が待機球を検出しなくなると、ステップS436へ進みステップS428で設定されたタイマ0がタイムアップしたか判定し、"No"なら上記ステップS430へ戻り、"Yes"なら次のステップS438へ進んで、排出ソレノイド1および2を消磁させる。貯留タンク151および誘導路152内の球が完全になくなるまで排出ソレノイド1および2を作動させておくためである。
【0166】
通常、貯留タンク151および誘導樋152内の球抜きを行なう場合、予備球が少なくなるに従って流下する球と球の間隔が広くなって、最後の数個の球は時々球止まりを起こしながら流下することがあるので、それが完全に排出される必要がある。
ステップS438で排出ソレノイド1および2を消磁させた後は、図42のステップS468へジャンプして球抜きソレノイドをオフさせて流路切り換え弁158を元に戻してから、排出系1と2の各排出カウンタに不正監視用玉数として「4」を設定して当該ルーチンを終了する(ステップS470,S472)。
【0167】
一方、球抜き動作の途中で球抜きスイッチ750のオンを検知してステップS422からS440へ移行したときは、球抜センサの立下りエッジ検出フラグを"0"にクリアしてから、排出系1と2の各排出カウンタに「1」をセットする。そして、次のステップS444でタイマ0を1秒に設定してからバックグランド処理(ステップS446)を行ない、ステップS444で設定されたタイマ0の更新させてから、ステップS448に進み、排出カウンタ1が「0」になっているか判定する。ここで"Yes"なら次のステップS450で排出ソレノイド1を消磁させ、"No"ならステップS450をスキップしてステップS452で排出カウンタ2が「0」になっているか判定する。ここで"Yes"なら次のステップS454で排出ソレノイド2を消磁させ、"No"ならステップS454をスキップして上記ステップS444で設定したタイマ0がタイムアップしたか判定する(ステップS456)。そして、ここで"No"なら上記ステップS446へ戻り、"Yes"なら次のステップS458へ進む。すなわち、排出カウンタ1および2の両方が「0」にならなくてもタイマ0がタイムアップすると、次のステップS458へ進んで、排出ソレノイド1および2を消磁させる。
【0168】
球抜きを中断させる際に上記ステップS442で排出系1と2の各排出カウンタに「1」をセットしているのは、排出センサの位置と排出ソレノイドにより駆動されるストッパの位置との関係を考慮して、流下する球に対して排出ソレノイド1と2を消磁させるタイミングを合わせて、ストッパ745と案内樋710との間に球が挾まれて球詰まりを起こすのを防止するためである。
【0169】
ステップS458で排出ソレノイド1と2を消磁させた後は、ステップS460へ移行して、再びタイマ0を3秒に設定してから、バックグランド処理を行なう(ステップS462)。バックグランド処理によってステップS460で設定されたタイマ0の更新が1m秒毎に行なわれる。そこで、次のステップS464で上記タイマ0がタイムアップしたか判定し、"No"ならステップS462へ戻ってタイマ0の更新を繰り返すことで、3秒が経過するのを待つ。そして、3秒経過した時点で球抜きソレノイドをオフさせて、切換ゲート158を元の状態に切り換え、球排出装置170から排出された球が供給皿の方へ誘導されるようにする。球排出装置170から切換ゲート158までの距離を考慮したもので、これによって球排出装置170から排出された球が切換ゲート158に達する前に、ゲートが切り換えられるのを防止することができる。
続くステップS470,S472では、排出系1と2の各排出カウンタに不正監視用玉数として「4」を設定して当該ルーチンを終了する。
【0170】
図43は、排出制御装置600によって実行されるメインルーチン(図26)のステップS7において実行される払出処理のサブルーチンを示すフローチャートで、このフローによって賞品球の排出が行なわれる。
このルーチンでは、まずステップS501で排出条件の判定処理(図44)を行なってから、次のステップS502でその結果を見て排出可能か不能か判定する。そして、排出不能なら何もせずに本ルーチンを終了する。
【0171】
また、排出可能であれば、賞球数要求処理(ステップS503)、賞球数設定処理(ステップS504)および賞球排出処理(ステップS505)を順次行なってからステップS506で処理が正常に終了したか判定し、"No"なら上記ステップS503へ戻って上記処理を繰り返し、"Yes"なら次のステップへ進み、セーフ玉排出処理(ステップS507)および賞球排出終了処理(ステップS508)を順次行なって、本ルーチンを終了する。
【0172】
図44には、図43のステップS501にて行なわれる排出条件判定処理ルーチンのフローチャートが示されている。
このルーチンでは、まずステップS5011で後述のセーフ玉排出処理ルーチン(図49)のステップS5708で設定される排出ウェイトタイマが起動中か否か判定し、"Yes"ならステップS5019で排出可能を示すフラグを"0"にクリアして本ルーチンを終了する。また、"No"なら、ステップS5012でタイマ0を50m秒に設定してから、バックグランド処理(ステップS5013)を行なってステップS5012で設定されたタイマ0を更新する。次のステップS5014では、セーフセンサ読込み処理(図34)によってセットされるセーフセンサフラグを調べて"1"ならステップS5015,5016で排出センサ1および2の出力レベルがロウレベル(玉有り)か否か判定する。そして、いずれのセンサも出力がロウレベルならステップS5017へ進んで、上記ステップS5012で設定したタイマ0がタイムアップしたか判定し、"No"ならステップS5013へ戻ってタイマ0の更新を繰り返すことで、50m秒が経過するのを待つ。そして、タイマ0がタイムアップした時点でステップS5018へ進み、排出可能フラグを"1"にセットして本ルーチンを終了する。一方、上記ステップS5014,S5015,S5016でセーフセンサフラグが"0"または排出センサ1または2のいずれかの出力がハイレベルと判定すると、ステップS5019へ移行して、排出可能を示すフラグを"0"にリセットして本ルーチンを終了する。
この排出可能フラグは、上述したように図43の払出処理ルーチンのステップS502で参照される。
【0173】
図45には、図43のステップS503にて行なわれる賞球数要求処理ルーチンのフローチャートが示されている。
本ルーチンが開始されると、まずステップS5031で送信バッファに「賞球数要求」コマンドを書込みかつ再送信回数を「3」に設定してから、図29に示されている送信処理を行なう(ステップS5033)。次に図30に示されている受信処理(ステップS5035)を行ない、全ビット受信後に図30のフローの中のステップS721でセットしたタイマ(3秒)がタイムアップしたか判定する(ステップS5037)。ここで"No"ならステップS5039へ進んでデータエラーフラグに"1"が立っているか判定する。そして、エラーフラグが"0"なら受信した賞球数データをバッファよりメモリに記憶してから(ステップS5041)、再び受信処理を行なう(ステップS5043)。これにより、図30の受信処理における同一ビットの2度読みとあわせて、遊技盤制御装置400から2回連続して送信されてくる同一データの2回読みが行なわれる。
【0174】
ステップS5043での受信処理後は、図30のフローの中のステップS721でセットしたタイマ(3秒)がタイムアップしたか判定する(ステップS5045)。ここで"No"ならステップS5047へ進んでデータエラーフラグに"1"が立っているか判定する。そして、エラーフラグが"0"なら受信した2つの賞球数データが同一であったか判定する(ステップS5049)。そして、賞球数データが同一ならステップS5051へ進み、受信したデータが賞球数のデータであるか否か判定する。この判定は、受信データが「回線テスト」コマンド、「再送要求」コマンドその他予め決められた使用可能コマンド以外のコードか否かチェックすることで判定することができる。ここで、受信したデータが賞球数データであると判定したときは、受信した賞球数データを排出装置により払いだすべき賞球数と決定して排出カウンタに設定して本ルーチンを終了する(ステップS5053)。
【0175】
一方、上記ステップS5037またはS5045で、受信が終了する前にタイマ3がタイムアップしたと判定したとき、あるいはステップS5047でデータエラーフラグが"1"と判定したり、ステップS5049で2回の受信データが不一致と判定したとき、およびステップS5051での判定で受信データが賞球数データでなかったときは、ステップS5055へ移行して送信バッファに「再送要求」コマンドが設定されているか判定する。ここで、"Yes"ならステップS5059へジャンプして再送要求回数を「1」だけ減算し、ステップS5055で"No"の時はステップS5057で、送信バッファに「再送要求」コマンドを書込みかつ再送信回数を「4」に設定してから、ステップS5059へ移行して再送要求回数を「1」だけ減算する。そして、次のステップS5061で再送信回数が「0」になったか判定し、"No"なら上記ステップS5033へ戻って送信処理からやりなおす。また、ステップS5061での判定で"Yes"すなわち再送信回数が「0」になったときは図26のメインルーチンへ戻って最初からやりなおす。
なお、上記処理では受信したデータについてのパリティエラーのチェックが記載されていないが、パリティエラーがなかったか併せてチェックするようにしてもよい。
【0176】
図46には、図43のステップS504にて行なわれる賞球数設定処理ルーチンのフローチャートが示されている。
本ルーチンが開始されると、まずステップS5401で排出カウンタ1および2を一旦「0」にセットしてから、上記ルーチンで受信した賞球数データが「9」以上か判定する(ステップS5402)。ここで、賞球数データが「9」以上ならステップS5403へ進んで、排出カウンタ1(排出1カウンタと同義、以下同様)に、賞球数が奇数のときは(賞球数+1)の2分の1よりも「1」だけ少ない数を、また賞球数が偶数のときは賞球数の2分の1をセットする。また、排出カウンタ2(排出2カウンタと同義、以下同様)には、賞球数が奇数のときは(賞球数+1)の2分の1の数を、また賞球数が偶数のときは賞球数の2分の1をセット(ステップS5404)してから、排出ソレノイド1と2を励磁させる(ステップS5405)。これによって、排出すべき賞品球を2つの排出系にほぼ均等に割り振って排出させることができる。
【0177】
一方、ステップS5402の判定結果が"No"すなわち賞球数データが「8」以下のときにはステップS5406へ移行して、片側排出フラグを反転させてから、この片側排出フラグが"1"であるか否か判定する(ステップS5407)。この片側排出フラグは、賞品球を排出系1または排出系2のいずれの側から排出させるか指示するためのもので、片側排出フラグが"1"のときはステップS5408へ進んで賞球数を排出カウンタ1のみに設定して、排出ソレノイド1を励磁させて本ルーチンを終了する(ステップS5409)。
【0178】
上記ステップS5407で"No"すなわち片側排出フラグが"0"と判定したときはステップS5410へ進んで、賞球数を排出カウンタ2のみに設定して、排出ソレノイド2を励磁させて本ルーチンを終了する(ステップS5411)。
以上のように、本サブルーチンでは、賞球設定数が大きな値(9〜15)に設定されているときに該設定数を分割して2つの排出レジスタ1,2にその値を設定しているので、この排出レジスタ1,2の値に基づいて次の賞球排出処理(図47)により第1及び第2の排出ソレノイドを夫々独立してオフさせることにより、所定数の賞品球の排出を一層迅速に行える。
【0179】
図47は、図43の払出処理ルーチンのステップS505において実行される賞球排出処理のサブルーチンを示すフローチャートである。
この賞球排出処理ルーチンは上記賞球数設定処理(図46)によって排出賞球数の設定に引き続いて実行される。
本ルーチンが開始されると、先ずステップS5502において賞球排出表示器112(セーフランプ)を点灯させてから、ステップS5504へ進み、タイマ0を35m秒に設定してから、バックグランド処理を行なう(ステップS5506)。バックグランド処理によってステップS5504で設定されたタイマ0の更新が1m秒毎に行なわれる。そこで、次のステップS5508で上記タイマ0がタイムアップしたか判定し、"No"ならステップS5506へ戻ってタイマ0の更新を繰り返すことで、35m秒が経過するのを待つ。ステップS5502で点灯させた賞球排出表示器112が完全に明るくなるのを待つためである。
【0180】
賞球排出表示器点灯後、35m秒が経過したときにステップS5510へ進み、タイマ0を3秒に設定してから、バックグランド処理を行ないタイマ0を更新する(ステップS5512)。次に、排出系1について賞球排出終了判定処理(図48参照)を行なってから当該処理内で設定される排出終了フラグを調べて、排出系1の賞球排出が終了したか判定する(ステップS5514,S5516)。そして、"Yes"ならステップS5518へ進んで排出ソレノイド1をオフさせ、"No"ならステップS5518をスキップしてステップS5520へ移行して排出系2について賞球排出終了判定処理(図48参照)を行なってから当該処理内で設定される排出終了フラグを調べて、排出系2の賞球排出が終了したか判定する(ステップS5522)。
【0181】
ここで、"Yes"ならステップS5524へ進んで排出ソレノイド2をオフさせ、"No"ならステップS5524をスキップしてステップS5530へ移行して、上記ステップS5510で設定したタイマ0がタイムアップしたか判定し、"No"なら上記ステップS5512へ戻って上記手順を繰り返す。また、ステップS5524で排出ソレノイド2をオフさせた後にはもう一度排出系1の排出終了フラグを調べて賞球排出が終了したか判定し、終了していれば正常終了フラグを"1"にセットして該サブルーチンを終了する(ステップS5526,S5528)。
【0182】
すなわち、排出系1または2のカウンタを調べていずれかが「0」になっていると排出ソレノイド1または2を消磁させてその系の賞球排出を停止させ、排出系1および2の両方のカウンタが「0」になると両方のソレノイドを消磁させて賞球排出を終了させるようになっている。
ステップS5526で排出系1の賞球排出が終了していないと判定したときは、ステップS5530へ進み、上記ステップS5510で設定したタイマ0がタイムアップしたか判定し、"No"なら上記ステップS5512へ戻って上記手順を繰り返す。
【0183】
そして、排出系1または2のいずれかもしくは両方とも排出が終了する前にタイマ0がタイムアップすると、ステップS5532へ進んで排出ソレノイド1と2を一旦オフさせる。実施例の球排出装置によれば、3秒もあれば15個の賞品球でも充分に排出されるからである。
ステップS5532で排出ソレノイド1と2をオフさせた後は、ステップS5534へ進み、排出系1と2の排出カウンタをそれぞれ「1」だけ減算してから排出系1について賞球排出終了判定処理(図48参照)を行ない賞球排出が終了したか判定する(ステップS5536,S5538)。さらに、ステップS5540,S5542で排出系2についても賞球排出終了判定処理(図48参照)を行ない賞球排出が終了したか判定する。そして、両方の系の排出が終了していれば排出終了とみなしてステップS5528へ移行し、正常終了フラグを"1"にセットして該サブルーチンを終了する。賞品球が連続して排出される場合、2つの排出球を1つとして検出してしまったり、誘導路内での球止まりで排出時間が通常よりも長くなることがあり、1回の排出で1個くらい排出数が少なくなっても賞球排出が連続する場合に全体の処理が遅滞なく進行できるようにするためである。
【0184】
ただし、ステップS5534で排出系1と2の排出カウンタをそれぞれ「1」だけ減算しても排出系1または2のいずれか一方の系について賞球排出が終了していないとステップS5538,S5542で判定されると、ステップS5544へ移行して、再びタイマ0を3秒に設定する。それから、バックグランド処理を行ないタイマ0を更新(ステップS5546)した後、ステップS5548に進み、排出センサ1が待機球の存在を検出しているか判定し、"Yes"ならステップS5550へ進んで排出センサ2が待機球の存在を検出しているか判定する。そして、ここでも"Yes"なら次のステップS5552へ進み、ステップS5544で設定されたタイマ0がタイムアップしたか判定し、"No"なら上記ステップS5546へ戻って上記手順を繰り返し、"Yes"なら排出異常と判断して次のステップS5554へ進み、正常終了フラグを"0"にクリアして終了する。排出センサ1と2が待機球の存在を検出しているにもかかわらず3秒以内に賞球排出が終了しないのは排出ソレノイド等に故障があるためと考えられるからである。
【0185】
一方、上記ステップS5548またはS5550で排出センサ1または2のいずれかが待機球なしと判定したときは、ステップS5544へ戻って、再びタイマ0を3秒に設定し直してから、上記手順を繰り返す。これによって、貯留タンク151が玉切れを起こしたような場合には、上記処理を繰り返している間に球の補給がなされるので補給させた時点で排出センサ1および2が待機球有りと判定してステップS5554へ移行し、正常終了フラグを"0"にクリアして終了する。その後、図43のステップS506で上記正常終了フラグをチェックしてステップS502へ戻り、賞球数要求処理からやり直すことによって中断された賞球排出を再実行することができる。
【0186】
図48は、上述した賞球排出処理(図47)のステップS5514、S5520、S5536およびS5540にて行われる賞球排出終了判定処理のサブルーチンを示すフローチャートである。
この判定処理は、先ずステップS5572で排出カウンタの値が「0」か否か判定し、"No"ならカウント値が「12」以上か判定する(ステップS5574)。そして、カウント値が「0」又は「12」以上のときはステップS5576へ移行して排出終了フラグを"1"にセットして終了する。また、ステップS5572およびS5574のいずれの判定も"No"のときは、ステップS5578へ進んで排出終了フラグを"0"にクリアして終了する。
【0187】
カウント値が「12」以上でも排出終了と判定しているのは、上記排出カウンタが4ビットのダウンカウンタであって「0」の次は「15」,「14」,・・と減少して行くので、予定よりも4個位多く排出されたとしても誤差範囲とみなして制御継続させ、賞球排出数の誤りで遊技が中断されないようにするためである。
【0188】
図49には、図43のステップS507にて行なわれるセーフ球排出処理ルーチンのフローチャートが示されている。
本ルーチンが開始されると、まずステップS5702で排出カウンタ1および2に不正監視用玉数として「4」を設定する。この玉数は、不正監視処理において4ビットの排出カウンタの最上位ビット(第4ビット)を監視することで、球排出要求がないにもかかわらず排出球検出信号により排出カウンタが「0」すなわち5個以上の排出があったとき(第4ビットが0から1に変化する)に不正排出と判断して、例えば球抜きソレノイドを励磁させて排出された球を供給皿でなく遊技盤背部に回収するのに使用される。
【0189】
続いて、上記賞球排出処理ルーチン(図47)のステップS5502で点灯させたセーフランプを消灯させてから、入賞球分離検出装置180内のセーフソレノイド183を励磁させる(ステップS5704,S5706)。すると、入賞球の流下経路内に突出されたストッパ182が後退させられ、入賞球が流下する。次に、タイマ0を排出ウェイトタイマとして使用し、これを400m秒に設定(ステップS5708)、またタイマ1を200m秒に設定する(ステップS5710)してから、セーフセンサ玉無し確認処理(図50参照)を行ない、セーフセンサ181内から入賞球が流出したか確認する(ステップS5712)。上記排出ウェイトタイマは、前述したように排出条件判定処理(図44)中のステップS5011で参照され、次の賞品球払出処理に移るのを留保させる。また、上記セーフセンサ玉無し確認処理はバックグランド処理を5回続けて行なって、すなわち1m秒ごとに5回センサ等の読込み処理を行なってセーフセンサの状態を調べ、5回ともセーフセンサフラグが"0"の時に入賞球の玉無しフラグを"1"にセットするものである。
【0190】
図49のセーフ球排出処理ルーチンでは、上記セーフセンサ玉無し確認処理実行後に、上記玉無しフラグが"1"か否か判定し、"Yes"すなわちセーフセンサ181内から入賞球が流出したと判定した場合には本ルーチンを終了する(ステップS5714)。
一方、ステップS5714で"No"と判定したときはステップS5716へ進み、上記ステップS5710で設定したタイマ1(200m秒)がタイムアップしたか判定する。タイマ0と1の更新は、セーフセンサ玉無し確認処理(図50参照)内のバックグランド処理によって行なわれる。ここで、"No"ならステップS5712へ戻って上記手順を繰り返す。そして、玉無しフラグが"1"になる前にタイマ1がタイムアップすると、ステップS5718へ移行してセーフランプ(賞球排出表示器112)を点灯させてから、球抜きソレノイドを励磁させる(ステップS5720)。球抜きソレノイドが励磁されると流路切換え弁158が切り換えられて、球排出装置170より排出された球は供給皿に排出されず遊技盤背部に回収されるようになる。通常、セーフソレノイドをオンさせてから200m秒もたてば入賞球はセンサ内から流出するので、200m秒たっても玉無しフラグが"1"にならないのは、入賞球が玉詰まりを起こしていると考えられるので、この玉詰まりを入賞球の発生と勘違いして次の賞球排出処理に移行して余分な賞品球が遊技者に与えられるのを防止するためである。
【0191】
上記ステップS5720で球抜きソレノイドを励磁させた後は、ステップS5722へ移行して、上記玉無しフラグが"1"になるまで、すなわち入賞球がセーフセンサから流出したのを確認するまで上記セーフセンサ玉無し確認処理(図50)を繰り返し実行する(ステップS5724)。そして、上記手順を繰り返しているうちに玉無しフラグが"1"になったなら、タイマ1を900m秒に設定してから、バックグランド処理を行なってタイマを更新し、該タイマがタイムアップした時点で本ルーチンを終了する(ステップS5726,S5728,S5730)。
【0192】
上記セーフ玉排出処理ルーチン中で行なわれる上記セーフセンサ玉無し確認処理は、図50に示すごとく、バックグランド処理(ステップS5752,S5756,S5760,S5764,S5768)でセーフセンサの読込みを行ない、次にセーフセンサフラグをチェック(ステップS5754,S5758,S5762,S5766,S5770)してセーフセンサ181が入賞球を検出しているかを5回繰り返し、1度でもフラグが"1"すなわち入賞球を検出していると、玉無しフラグを"0"にクリア(ステップS5774)し、5回ともセーフセンサフラグが"0"の時に入賞球の玉無しフラグを"1"にセットする(ステップS5772)。
【0193】
図51には、図43のステップS508にて行なわれる賞球排出終了処理ルーチンのフローチャートが示されている。
本ルーチンでは、まずタイマ1(タイマ0)を100m秒に設定(ステップS582)してから、図49のセーフ玉排出処理ルーチン中でオンさせたセーフソレノイド、セーフランプおよび球抜きソレノイドをオフさせて終了する(ステップS584,S586,S588)。
【0194】
図52は、前述した賞球排出制御装置のメインルーチン(図26)のステップS10で実行される貸玉処理の手順を示すフローチャートで、このフローは図37の球貸し要求信号BRQの読込み処理によって信号の立下りエッジが検出されることにより開始され、所定数の貸し球の排出が行なわれる。
このルーチンでは、まずステップS150で貸出条件の判定処理(図53)を行なってから、次のステップS151でその結果を見て貸出可能か不能か判定する。そして、貸出不能ならステップS159へ移行して球貸し要求信号BRQがロウレベルか否か判定し、"Yes"なら何もせずに本ルーチンを終了する。既に開始されている貸出処理が終了するのを待つためである。また、ステップS159で"No"すなわち球貸し要求信号BRQがハイレベルであると判定すると、ステップS160へ移行して、図37の球貸し要求信号BRQの読込み処理によってセットされたBRQ信号の立下りエッジ検出フラグを"0"にクリアして本ルーチンを終了する。BRQ信号は一度立ち下がると排出制御装置600による球貸し排出が終了したことを受けないとハイレベルに変化しない信号であるので、一旦本貸出処理ルーチンに入って排出が終了する前に球貸し要求信号BRQがロウレベルに変化したのが検出されたなら、それは前回の立下り検出が誤りだからである。
【0195】
また、貸出可能であれば、貸出玉数設定処理(ステップS152)を行なってから、ステップS153で球貸し要求信号BRQがロウレベルか否か判定し、"No"すなわち球貸し要求信号BRQがハイレベルであると判定すると、ステップS160へ移行して、BRQ信号の立下りエッジ検出フラグを"0"にクリアして本ルーチンを終了する。一方、ステップS153で"Yes"すなわち球貸し要求信号BRQがロウレベルであると判定すると、ステップS154へ進んで、送信バッファに貸出音要求コマンドを設定し、かつ再送信回数を3回に設定してから、送信処理(図29)を行なう(ステップS155)。しかる後、ステップS156へ進み、貸出排出処理を行なってからステップS157で処理が正常に終了したか判定し、"Yes"なら次のステップへ進み、貸出排出終了処理(ステップS158)を行なって、本ルーチンを終了する。
【0196】
上記ステップS157で"No"すなわち異常終了と判定すると、ステップS161へ移行して、玉抜きソレノイドをオンさせ、セーフランプを点灯、さらに玉貸可能信号RDYをロウレベル(無効状態)に変化させて終了する。玉抜きソレノイドがオンされることにより、余分に払いだされた玉は遊技機前面の受け皿でなく玉抜き樋157を通って遊技機の背部に回収され、故障等による遊技店の不利益を回避することができる。
【0197】
図53には、図52のステップS151にて行なわれる貸出条件判定処理ルーチンのフローチャートが示されている。
このルーチンでは、まずステップS1511で球貸し制御装置500からのカード有無信号CONがハイレベルか否か調べ、"No"ならステップS1519へ移行して貸出可能を示すフラグを"0"にクリアして本ルーチンを終了する。また、カード有無信号CONがハイレベルならステップS1512へ進んで、後述の貸出終了処理ルーチン(図57)のステップS6571で設定される排出ウェイトタイマが起動中か否か判定し、"Yes"ならステップS1519で貸出可能を示すフラグを"0"にクリアして本ルーチンを終了する。既に開始されている貸出排出処理が終了するのを待つためである。
【0198】
一方、ステップS1512で"No"と判定すると、ステップS1513へ進み、タイマ0を50m秒に設定してから、バックグランド処理(ステップS1514)を行なってステップS1513で設定されたタイマ0を更新する。次のステップS1515,S1516では、排出センサ読込み処理(図35)によってセットされる排出センサ1および2の出力レベルを調べて出力がロウレベル(玉有り)か否か判定する。そして、いずれの排出センサも出力がロウレベルならステップS1517へ進んで、上記ステップS1512で設定したタイマ0がタイムアップしたか判定し、"No"ならステップS1514へ戻ってタイマ0の更新を繰り返すことで、50m秒が経過するのを待つ。そして、タイマ0がタイムアップした時点でステップS1518へ進み、貸出可能フラグを"1"にセットして本ルーチンを終了する。また、上記ステップS1515,S1516で排出センサ1または2のいずれかの出力がハイレベルと判定すると、ステップS1519へ移行して、貸出可能を示すフラグを"0"にセットして本ルーチンを終了する。
この貸出可能フラグは、上述したように図52の貸出処理ルーチンのステップS152で参照される。
【0199】
図54には、図52の貸玉処理ルーチンのステップS153にて行なわれる貸出玉数設定処理ルーチンのフローチャートが示されている。
本ルーチンが開始されると、まずステップS1531で貸出玉数(例えば25個)をメモリ(ROM)から読み出してから、ステップS1532へ進み、上記貸出玉数に基づいて、排出カウンタ1には、貸出玉数が奇数のときは(貸出玉数+1)の2分の1よりも「1」だけ少ない数を、また貸出玉数が偶数のときは貸出玉数の2分の1の数をセットする。また、排出カウンタ2には、貸出玉数が奇数のときは(貸出玉数+1)の2分の1を、また貸出玉数が偶数のときは貸出玉数の2分の1をセット(ステップS1533)してから、排出ソレノイド1と2を励磁させる(ステップS1534)。これによって、排出すべき貸し玉を2つの排出系にほぼ均等に割り振って排出させることができる。
【0200】
図55は、図52の貸玉処理ルーチンのステップS155において実行される貸出排出処理のサブルーチンを示すフローチャートである。
この貸出排出処理ルーチンは、前述した賞球排出処理(図47)とほぼ同一の手順であり、上記貸出玉数設定処理(図54)によって排出数が設定されてから実行される。
本ルーチンが開始されると、先ずステップS6502において貸玉排出表示器113(貸玉排出表示ランプ113と同意、以下同様。)を点灯させ、玉貸し制御装置500に対する排出終了信号EXSをロウレベルにアサートした後、ステップS6504へ進み、タイマ0を35m秒に設定してから、バックグランド処理を行なう(ステップS6506)。バックグランド処理によってステップS6504で設定されたタイマ0の更新が1m秒毎に行なわれる。そこで、次のステップS6508で上記タイマ0がタイムアップしたか判定し、"No"ならステップS6506へ戻ってタイマ0の更新を繰り返すことで、35m秒が経過するのを待つ。ステップS6502で点灯させた貸玉排出表示器113が完全に明るくなるのを待つためである。
【0201】
貸玉排出表示器点灯後、35m秒が経過したときにステップS6510へ進み、タイマ0を3秒に設定してから、バックグランド処理を行ないタイマ0を更新する(ステップS6512)。次に、排出系1について貸出排出終了判定処理(図56参照)を行なってから当該処理内で設定される排出終了フラグを調べて、排出系1の貸出排出が終了したか判定する(ステップS6514,S6516)。そして、"Yes"ならステップS6518へ進んで排出ソレノイド1をオフさせ、"No"ならステップS6518をスキップしてステップS6520へ移行して排出系2について貸出排出終了判定処理(図56参照)を行なってから当該処理内で設定される排出終了フラグを調べて、排出系2の貸出排出が終了したか判定する(ステップS6522)。
【0202】
ここで、"Yes"ならステップS6524へ進んで排出ソレノイド2をオフさせ、"No"ならステップS6524をスキップしてステップS6530へ移行して、上記ステップS6510で設定したタイマ0がタイムアップしたか判定し、"No"なら上記ステップS6512へ戻って上記手順を繰り返す。また、ステップS6524で排出ソレノイド2をオフさせた後にはもう一度排出系1の排出終了フラグを調べて貸出排出が終了したか判定し、終了していれば正常終了フラグを"1"にセットして該サブルーチンを終了する(ステップS6526,S6528)。
【0203】
すなわち、排出系1または2のカウンタを調べていずれかが「0」になっていると排出ソレノイド1または2を消磁させてその系の貸出排出を停止させ、排出系1および2の両方のカウンタが「0」になると両方のソレノイドを消磁させて貸出排出を終了させるようになっている。
【0204】
ステップS6526で排出系1の貸出排出が終了していないと判定したときは、ステップS6530へ進み、上記ステップS6510で設定したタイマ0がタイムアップしたか判定し、"No"なら上記ステップS6512へ戻って上記手順を繰り返す。
【0205】
そして、排出系1または2のいずれかもしくは両方とも排出が終了する前にタイマ0がタイムアップすると、ステップS6532へ進んで排出ソレノイド1と2を一旦オフさせる。実施例の球排出装置によれば、3秒もあれば25個の貸玉でも充分に排出できるからである。
【0206】
ステップS6532で排出ソレノイド1と2をオフさせた後は、ステップS6534へ進み、排出系1と2の排出カウンタをそれぞれ「1」だけ減算してから排出系1について貸出排出終了判定処理(図56参照)を行ない貸出排出が終了したか判定する(ステップS6536,S6538)。さらに、ステップS6540,S6542で排出系2についても貸出排出終了判定処理(図56参照)を行ない貸出排出が終了したか判定する。そして、両方の系の排出が終了していれば貸出終了とみなしてステップS6528へ移行し、正常終了フラグを"1"にセットして該サブルーチンを終了する。賞球排出処理と同様に、貸し玉が連続して排出される場合、2つの排出球を1つとして検出してしまったり、誘導路内での球止まりで排出時間が通常よりも長くなることがあり、1回の排出で1個くらい排出数が少なくなっても貸出排出が連続する場合に全体の処理が遅滞なく進行できるようにするためである。
【0207】
ただし、ステップS6534で排出系1と2の排出カウンタをそれぞれ「1」だけ減算しても排出系1または2のいずれか一方の系について貸出排出が終了していないとステップS6538,S6542で判定されると、ステップS6544へ移行して、再びタイマ0を3秒に設定する。それから、バックグランド処理を行ないタイマ0を更新(ステップS6546)した後、ステップS6548に進み、排出センサ1が待機球の存在を検出しているか判定し、"Yes"ならステップS6550へ進んで排出センサ2が待機球の存在を検出しているか判定する。そして、ここでも"Yes"なら次のステップS6552へ進み、ステップS6544で設定されたタイマ0がタイムアップしたか判定し、"No"なら上記ステップS6546へ戻って上記手順を繰り返し、"Yes"なら排出異常と判断して次のステップS6554へ進み、正常終了フラグを"0"にクリアして終了する。排出センサ1と2が待機球の存在を検出しているにもかかわらず3秒以内に貸出排出が終了しないのは排出ソレノイド等に故障があるためと考えられるからである。
【0208】
一方、上記ステップS6548またはS6550で排出センサ1または2のいずれかが待機球なしと判定したときは、ステップS6544へ戻って、再びタイマ0を3秒に設定し直してから、上記手順を繰り返す。これによって、貯留タンク151が玉切れを起こしたような場合には、上記処理を繰り返している間に球の補給がなされるので補給させた時点で排出センサ1および2が待機球有りと判定してステップS6554へ移行し、正常終了フラグを"0"にクリアして終了する。ただし、賞球排出(図47)の場合と異なり、その後、図52のステップS157で上記正常終了フラグをチェックして"No"すなわち異常と判定するとステップS161へ移行し、球抜きソレノイドをオン、セーフランプを点灯、玉貸し可能信号RDYをロウレベルにネゲートして貸出排出処理を中断する。
【0209】
図56は、上述した貸出排出処理(図55)のステップS6514、S6520、S6536およびS6540にて行われる貸出排出終了判定処理のサブルーチンを示すフローチャートである。
この判定処理は、先ずステップS6562で排出カウンタの値が「0」か否か判定し、"No"ならカウント値が「14」以上か判定する(ステップS6564)。そして、カウント値が「0」又は「14」以上のときはステップS6566へ移行して貸出終了フラグを"1"にセットして終了する。また、ステップS6562およびS6564のいずれの判定も"No"のときは、ステップS6568へ進んで排出終了フラグを"0"にクリアして終了する。
【0210】
カウント値が「14」以上でも貸出終了と判定しているのは、上記排出カウンタが4ビットのダウンカウンタであって「0」の次は「15」,「14」,・・と減少して行くので、予定よりも2個位多く排出されたとしても誤差範囲とみなして制御を継続させ、排出数の僅かな誤りで制御が中断されないようにするためである。ただし、賞球排出の場合と異なり、玉貸し数の誤りは遊技店の利害に密接するので、誤差範囲とみなす玉数を賞球排出終了判定(図48)の場合よりも少なく見積もっている。
【0211】
図57には、図52の貸玉処理フローのステップS158にて行なわれる貸出排出終了処理ルーチンのフローチャートが示されている。
本ルーチンは、図55の貸出排出処理で正常終了フラグが"1"にセットされた場合に実行される。
本ルーチンが開始されると、次の貸出処理が開始されないようにするため(図53参照)、まずステップ6571でタイマ0をウェイトタイマとして使用し、これを400m秒に設定してから、タイマ1を100m秒に設定する(ステップ6572)。それから、玉貸し制御装置500に対する排出終了信号EXSをハイレベルに変化(ステップ6573)させた後、バックグランド処理を行なって各タイマを更新させてから上記ステップ6572で設定したタイマ1がタイムアップしたか判定する(ステップ6574,S6575)。ここで"No"ならステップ6576へ進んで玉貸し制御装置500からの玉貸し要求信号BRQがハイレベルに変化したか判定し、"No"なら上記ステップS6574へ戻って上記手順を繰り返し、玉貸し要求信号BRQがハイレベルに変化するのを待つ。排出終了信号EXSをハイレベルに変化させてから100m秒以内に玉貸し要求信号BRQがハイレベルに変化したなら、ステップS6577へ進んで上記タイマ1を調べて50m秒は経過しているか判定する。そして、50m秒経過していればステップ6578へ進み、玉貸し要求信号BRQの立下り検出フラグを"0"にクリアする。
【0212】
それから、ステップS6579へ移行してタイマ1を250m秒に設定し直してから、バックグランド処理を行なってタイマを更新させてから上記ステップ6579で設定したタイマ1がタイムアップしたか判定する(ステップ6580,S6581)。ここで"No"ならステップ6582へ進んで玉貸し制御装置500からの玉貸し要求信号BRQがロウレベルに変化したか判定し、"No"なら上記ステップS6580へ戻って上記手順を繰り返し、玉貸し要求信号BRQがロウレベルに変化するのを待つ。そして、250m秒以内に玉貸し要求信号BRQがロウレベルに変化するか、玉貸し要求信号BRQがロウレベルに変化する前にタイマ1がタイムアップしたなら本ルーチンを終了する(ステップ6587,S6582)。
【0213】
一方、上記ステップ6575で玉貸し要求信号BRQがハイレベルに変化する前にステップ6572で設定したタイマ1がタイムアップしたと判定すると、ステップ6585へ移行し、球抜きソレノイドをオン、セーフランプを点灯、玉貸し可能信号RDYをロウレベルにネゲートして貸出排出処理を中止する。
所定時間内に玉貸し制御装置500から応答信号が戻ってこないのは通信ラインの切断等重大な故障が発生したと考えられるからである。
【0214】
次に、カードリーダにカードが挿入され、パチンコ遊技機100に設けられた変換ボタン123が押されて玉貸し要求がなされた場合において、上記玉貸し制御装置500と排出制御装置600との間で送受信される信号の具体的なタイミングを図58を用いて説明する。
なお、同図には変換ボタン123の1回の操作に対し300円分の貸し玉を排出するように玉貸し数が設定されている場合の信号タイミングが示されている。
【0215】
遊技機の電源が投入されると、排出制御装置600から玉貸し制御装置500へ供給される玉貸し可能信号RDYがハイレベルに変化される(タイミングt1)。一方、カードリーダにカードが挿入されると、玉貸し制御装置500がこれを検知して、排出制御装置600に対するカード有無信号CONをハイレベルにアサートする(タイミングt2)。
【0216】
その後、変換ボタン123が押されると、玉貸し制御装置500は上記玉貸し可能信号RDYがハイレベルに変化されていることを確認して玉貸し要求信号BRQをロウレベルに変化させる(タイミングt3)。玉貸し要求信号BRQを受信した排出制御装置600は、自らが出力している玉貸し可能信号RDYがハイレベルで、かつ玉貸し制御装置500からのカード有無信号CONがハイレベルであることを条件に、排出終了信号EXSをロウレベルに変化させ排出ソレノイド741a,741bを駆動して貸し玉の排出を開始する(タイミングt4)。
【0217】
そして、排出制御装置600は、排出センサ730a,730bの検出信号を監視して排出数が25個(100円分)になった時点で排出ソレノイド741a,741bの駆動を停止させるとともに、玉貸し制御装置500に対する排出終了信号EXSをハイレベルに変化させる(タイミングt5)。玉貸し制御装置500は、排出終了信号EXSの立上りを検知すると、75m秒おいてから一旦上記玉貸し要求信号BRQをハイレベルにネゲートさせる(タイミングt6)。
【0218】
それから、玉貸し制御装置500は、100m秒経過後に再び上記玉貸し要求信号BRQをロウレベルにアサートする(タイミングt7)。すると、排出制御装置600はそれを検知して排出終了信号EXSをロウレベルに変化させ、貸し玉の排出を開始する(タイミングt8)。上記動作を3回繰り返すことによって300円分の貸し玉が排出される。
【0219】
ただし、玉貸し制御装置500は、玉貸し要求信号BRQをロウレベルにアサート(タイミングt3,t7,t11)してから10秒経過しても排出終了信号EXSがロウレベルに変化しなかったり、排出終了信号EXSがロウレベルに変化(タイミングt4,t8,t12)してから10秒経過しても排出終了信号EXSがハイレベルに変化しなかった場合(T1>10S,T2>10S)には、カードリーダにカード排出指令を送って玉貸し制御を中断する(図18のステップS8134,S8142参照)。一方、排出制御装置600は、排出終了信号EXSをハイレベルに変化(タイミングt5,t9,t13)させてから100m秒経過しても玉貸し要求信号BRQがハイレベルに変化しなかった場合(T3>100mS)には、異常発生(正常なら75m秒で変化する)と判断して球抜きソレノイドをオン、セーフランプを点灯、玉貸し可能信号RDYをロウレベルにネゲートして貸し玉の排出処理を中止する(図57のステップS6572,S6575参照)。
【0220】
さらに、上記実施例の排出制御装置600の制御フローではBRQ立下りフラグが"1"になっている間は貸玉処理を繰り返すようになっており(図26のステップS3参照)、玉貸し制御装置500はBRQ立下りフラグは設定された玉貸し数の回数だけ貸玉排出を繰り返すまで玉貸し要求信号BRQをロウレベルにアサートしてくる(図18のステップS8164,S8170,S8130参照)ので、貸玉排出処理に入ってから遊技盤制御装置400から賞球排出要求が送られてきても貸玉排出処理が優先的に実行される。ただし、排出制御装置600は玉貸し要求信号BRQの立上りを検知した後、所定時間(例えば250m秒)以内にBRQが立ち下がらないと、すなわち図58の時間T4が250m秒以内でないと、賞球排出処理に移行するようになっている(図57ステップS6579−S6582参照)。
【0221】
また、玉貸し制御装置500は貸玉排出処理に入ると玉貸し数の回数だけ貸玉排出を済ますまで、図18のステップS8164,S8170,S8130のループを繰り返し、図17のステップS8112を通過しないので、玉貸し要求信号BRQをロウレベルにアサートした後に変換ボタン123が押されてもこれを検知しないため、この間の変換スイッチのオンは無効とされる。
なお、上記実施例では、排出制御装置から遊技盤制御装置に対してカードの挿入、排出音の発生要求信号を送信するように構成されているが、この発明はそれに限定されず、玉貸し制御装置から直接遊技盤制御装置に対してカードの挿入、排出音の発生要求信号を送信するように構成してもよい。
【0222】
また、上記実施例では、入賞球分離検出装置180内のセーフセンサ181の検出信号を排出制御装置600に入力して、排出制御装置600が入賞球を検出すると遊技盤制御装置400に対して賞球数データの要求を行なって受信した賞球数データに基づいて賞品球の排出を行なうようにしているが、この発明はそれに限定されず、例えばセーフセンサ181の検出信号を遊技盤制御装置400に入力して、遊技盤制御装置400が入賞球を検出すると排出制御装置600に対して賞球数データを送信し、賞品球の排出を行なわせるようにすることも可能である。
【0223】
さらに、上記実施例では、貸し玉への変換ボタン123や返却ボタン124、残高表示器122等が供給皿120の上面の操作パネル121に設けられているが、これらの位置は供給皿に限定されず、パチンコ遊技機の前面の任意の位置あるいは球貸機200の前面に設けることができる。
【0224】
また、実施例では遊技機と遊技機との間に配置された玉貸機にカードリーダが内蔵されているが、カードリーダはパチンコ遊技機100の受け皿141の一側等に配設して遊技機に内蔵させておくように構成しても良い。
【図面の簡単な説明】
【0225】
【図1】本発明に係る遊技機としてのカード式パチンコ遊技機の構成例を示す斜視図である。
【図2】本発明に係るパチンコ遊技機の裏機構の構成例を示す背面図である。
【図3】球排出装置170の一実施例を示す断面正面図である。
【図4】パチンコ遊技機100および玉貸しユニットとしての玉貸機200の制御系の一実施例を示すブロック図である。
【図5】遊技盤制御回路としての遊技盤制御装置400の一構成例を示すブロック図である。
【図6】遊技盤制御装置400を構成する通信手段の一構成例を示すブロック図である。
【図7】遊技盤制御装置400の具体的構成例を示すシステム構成図である。
【図8】排出制御回路としての排出制御装置600の一構成例を示すブロック図である。
【図9】排出制御装置600の具体的構成例を示すシステム構成図である。
【図10】玉貸制御回路としての玉貸制御装置500の一構成例を示すブロック図である。
【図11】玉貸制御装置500の具体的構成例を示すシステム構成図である。
【図12】遊技盤制御装置400によって行なわれる遊技盤全体の制御手順の一例を示すフローチャートである。
【図13】図12のフロー中におけるクロック信号出力処理の制御手順の一例を示すフローチャートである。
【図14】図12のフロー中における賞球スイッチ入力処理の制御手順の一例を示すフローチャートである。
【図15A】図12のフロー中における送受信処理の制御手順の一例一部のを示すフローチャートである。
【図15B】図12のフロー中における送受信処理の制御手順の一例一部のを示すフローチャートである。
【図15C】図12のフロー中における送受信処理の制御手順の一例一部のを示すフローチャートである。
【図15D】図12のフロー中における送受信処理の制御手順の一例一部のを示すフローチャートである。
【図16】玉貸し制御装置のメインルーチンの概略を示すフローチャートである。
【図17】上記メインルーチン(図16)のステップS8008で実行される玉貸処理の具体的手順の一部(前半)を示すフローチャートである。
【図18】上記メインルーチン(図16)のステップS8008で実行される玉貸処理の具体的手順の一部(後半)を示すフローチャートである。
【図19】上記メインルーチン(図16)のステップS8010で実行されるカードの返却処理の具体的手順の一部を示すフローチャートである。
【図20】上記メインルーチン(図16)のステップS8012で実行されるファンクション送受信処理の具体的手順の一部(前半)を示すフローチャートである。
【図21】上記メインルーチン(図16)のステップS8012で実行されるファンクション送受信処理の具体的手順の一部(後半)を示すフローチャートである。
【図22】上記メインルーチン(図16)のステップS8014で実行される決済信号出力処理の具体的手順の一例を示すフローチャートである。
【図23】図16のメインルーチンに優先して玉貸し制御装置500によって所定時間(例えば1msec)経過毎に行なわれるタイマ割込処理の手順を示すフローチャートである。
【図24】図16のメインルーチンに優先して玉貸し制御装置500によって行なわれる送信割込処理の手順を示すフローチャートである。
【図25】図16のメインルーチンに優先して玉貸し制御装置500によって行なわれる受信割込処理の手順を示すフローチャートである。
【図26】排出制御装置600による排出制御処理のメインルーチンの一例を示すフローチャートである。
【図27】上記メインルーチン(図26)のステップS0で実行される初期化処理の具体的手順の一例を示すフローチャートである。
【図28】上記初期化処理ルーチン(図27)のステップS117で実行される回線テスト処理の具体的手順の一例を示すフローチャートである。
【図29】上記回線テスト処理、図40のカード挿排確認処理および図45の賞球数要求処理ルーチンで実行される送信処理の具体的手順の一例を示すフローチャートである。
【図30】上記回線テスト処理ルーチンで実行される受信処理の具体的手順の一例を示すフローチャートである。
【図31】上記メインルーチン(図26)のステップS1で実行されるバックグランド処理の具体的手順の一例を示すフローチャートである。
【図32】上記バックグランド処理(図31)のステップS21で実行される1m秒待ち処理の手順の一例を示すフローチャートである。
【図33】上記バックグランド処理(図31)のステップS22で実行されるタイマ更新処理の手順の一例を示すフローチャートである。
【図34】上記バックグランド処理(図31)のステップS26で実行されるセーフセンサの読込み処理ルーチンのフローチャートである。
【図35】上記バックグランド処理(図31)のステップS27で実行される排出センサの読込み処理ルーチンのフローチャートである。
【図36】上記バックグランド処理(図31)のステップS29で実行される球抜センサ750の読込み処理ルーチンのフローチャートである。
【図37】上記バックグランド処理(図31)のステップS30で実行される玉貸要求信号の入力処理のルーチンを示すフローチャートである。
【図38】上記バックグランド処理(図31)のステップS31で実行されるカード有無信号の入力処理のルーチンを示すフローチャートである。
【図39】上記バックグランド処理(図31)のステップS32で実行されるクロックの入力処理のルーチンを示すフローチャートである。
【図40】上記メインルーチン(図26)のステップS2で実行されるカード挿排確認処理の具体的手順の一例を示すフローチャートである。
【図41】上記メインルーチン(図26)のステップS5で実行される球抜き処理(前半)の具体的手順の一例を示すフローチャートである。
【図42】上記メインルーチン(図26)のステップS5で実行される球抜き処理(後半)の具体的手順の一例を示すフローチャートである。
【図43】上記メインルーチン(図26)のステップS7で実行される払出処理の手順の一例を示すフローチャートである。
【図44】上記払出処理(図43)のステップS501で実行される排出条件判定処理のサブルーチンを示すフローチャートである。
【図45】上記払出処理(図43)のステップS503で実行される賞球数要求処理のサブルーチンを示すフローチャートである。
【図46】上記払出処理(図43)のステップS504で実行される賞球設定処理のサブルーチンを示すフローチャートである。
【図47】上記払出処理(図43)のステップS505にて行われる賞球排出処理のサブルーチンを示すフローチャートである。
【図48】上記賞球排出処理(図47)にて行われる賞球排出終了判定処理のサブルーチンを示すフローチャートである。
【図49】上記払出処理(図43)のステップS507で実行されるセーフ玉排出処理のサブルーチンを示すフローチャートである。
【図50】上記セーフ玉排出処理(図49)にて行われるセーフセンサ玉無し確認処理のサブルーチンを示すフローチャートである。
【図51】上記払出処理(図43)のステップS508で実行される賞球排出終了処理のサブルーチンを示すフローチャートである。
【図52】上記メインルーチン(図26)のステップS10で実行される貸玉処理のサブルーチンの一部を示すフローチャートである。
【図53】上記貸玉処理(図52)のステップS150にて実行される貸出条件判定処理のサブルーチンを示すフローチャートである。
【図54】上記貸玉処理(図52)のステップS152にて実行される貸出玉数設定処理のサブルーチンを示すフローチャートである。
【図55】上記貸玉処理(図52)のステップS156にて実行される貸出排出処理のサブルーチンを示すフローチャートである。
【図56】上記貸出排出処理(図55)にて実行される貸出排出終了判定処理のサブルーチンを示すフローチャートである。
【図57】上記貸玉処理(図52)のステップS158にて実行される貸出排出終了処理のサブルーチンを示すフローチャートである。
【図58】上記玉貸し制御装置500と排出制御装置600との間で送受信される信号の具体的なタイミングを示すタイムチャートである。
【図59】上記遊技盤制御装置400と排出制御装置600との間で送受信される信号の排出制御装置側における具体的なタイミングを示すタイムチャートである。
【図60】上記遊技盤制御装置400と排出制御装置600との間で送受信される信号の遊技盤制御装置側における具体的なタイミングを示すタイムチャートである。
【符号の説明】
【0226】
100 パチンコ遊技機
120 供給皿
122 残高表示器
123 玉貸し変換ボタン
170 球排出装置
180 入賞球分離検出装置
200 玉貸し機
211 カード挿排口
220 挿入残高表示器
230 有効表示ランプ
400 遊技盤制御回路としての遊技盤制御装置
500 玉貸し制御回路としての玉貸し制御装置
600 排出制御回路としての排出制御装置

【特許請求の範囲】
【請求項1】
カード挿排口を備えた球貸機と、
該球貸機と対を成し、前面に設けられた供給皿側へ賞球または貸球に関わる遊技球を排出するための排出制御を行う排出制御装置と、遊技盤に関する制御を司ると共に、賞球排出に関わる信号を上記排出制御装置へ送信する遊技盤制御装置とを有するパチンコ遊技機と、
を備えたカード式パチンコ遊技装置において、
上記排出制御装置と上記球貸機とを送受信可能に接続すると共に、上記球貸機への入力のために用いられ、貸球への変換を指令する変換スイッチを上記パチンコ遊技機の前面に設け、
上記排出制御装置は、
球貸し排出が可能な状態にある場合に上記球貸機に対して球貸し可能信号を送信すると共に、該球貸機から供給される排出要求を示す排出要求信号に基づいて、該排出要求信号ごとに最小排出単位の個数の遊技球を排出させる排出制御を行い、該最小排出単位の個数の遊技球の排出終了ごとに排出が終了したことを示す球貸し排出終了信号を上記球貸機へ送信するように構成され、
上記球貸機は、
上記変換スイッチの一回の操作に対して上記最小排出単位の個数の整数倍単位で貸球数を設定可能な球貸し数設定手段と、
上記排出要求信号の送信後、所定時間内に遊技球の排出が開始されるか否かを判定する排出開始監視手段と、
を備え、
上記変換スイッチの一回の操作に基づき、設定された貸球数の遊技球を排出させるように上記排出制御装置へ最小排出単位の排出要求信号を送信するように成し、該排出要求信号を送信するごとに上記球貸し可能信号により上記排出制御装置が球貸し可能状態にあることを確認するとともに、当該排出要求信号の送信後、上記所定時間内に遊技球の排出が開始されない場合は、異常発生と判定するように構成したことを特徴とするカード式パチンコ遊技装置。
【請求項2】
上記パチンコ遊技機の前面に、上記球貸機により制御され、挿入されたカードの残高を表示するカード残高表示器および上記変換スイッチの有効・無効を表示する球貸可能表示器を設け、
上記球貸機は、上記カードの挿入に基づいて、上記変換スイッチが有効である場合に上記球貸可能表示器を点灯し、上記排出要求信号に基づく貸球の排出が実行中は、上記変換スイッチの操作が無効であることを上記球貸可能表示器を消灯することで報知し、かつ当該球貸可能表示器の消灯に基づいて上記カード残高表示器の残高表示を所要時間経過後に減算表示するように構成したことを特徴とする請求項1に記載のカード式パチンコ遊技装置。
【請求項3】
上記球貸機は、上記球貸し可能信号により上記排出制御装置が球貸し可能状態にないことを確認した場合は、上記変換スイッチの操作を無効にすると共に、上記球貸可能表示器を消灯させることを特徴とする請求項2に記載のカード式パチンコ遊技装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図15C】
image rotate

【図15D】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate


【公開番号】特開2006−68571(P2006−68571A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2005−345913(P2005−345913)
【出願日】平成17年11月30日(2005.11.30)
【分割の表示】特願2002−82834(P2002−82834)の分割
【原出願日】平成3年7月11日(1991.7.11)
【出願人】(000132747)株式会社ソフィア (2,465)
【Fターム(参考)】