以下、実施例に基づいて本発明の実施形態を詳細に説明する。図1は、実施例に係るパチンコ機の全体回路構成を示すブロック図である。図中の破線は、主に、直流電圧ラインを示している。
図示の通り、このパチンコ機は、AC24Vを受けて各種の直流電圧やシステムリセット信号SYSや電圧降下信号ABNを出力する電源基板7と、遊技制御動作を中心統括的に担う主制御基板1と、主制御基板1から受けた制御コマンドCMD’に基づいてランプ演出及び音声演出を実行する演出制御基板2と、演出制御基板2から受けた信号を各部に伝送する演出インタフェイス基板3と、演出インタフェイス基板3から受けた制御コマンドCMD”に基づいて液晶ディスプレイDISPを駆動する液晶制御基板4と、主制御基板1から受けた制御コマンドCMDに基づいて払出モータMを制御して遊技球を払出す払出制御基板5と、遊技者の操作に応答して遊技球を発射させる発射制御基板6とを中心に構成されている。
ここで、払出制御基板5は球貸し機22に接続されており、球貸し機22は、投入された現金の範囲で、払出制御基板5による球貸し動作を実現している。このような動作を実現するため、払出制御基板5は、球貸し機22から2種類の制御信号BRDY,BRQを受ける一方、球貸し機22に対して、2種類の制御信号EXS,PRDYを出力している。
発射制御基板6には、発射ハンドル30が接続されており、その回転位置に対応する強度VLの駆動電流が、ロータリソレノイドSL1に間欠的に供給されることで遊技球が発射されている。なお、球送りソレノイドSL2が、同じタイミングで間欠的に通電されることで、遊技球が連続的に発射位置に供給され、1分間に100個程度の速度で遊技球が発射される。
主制御基板1、演出制御基板2、液晶制御基板4、及び払出制御基板5には、ワンチップマイコンを備えるコンピュータ回路がそれぞれ搭載されている。そこで、主制御基板1、演出制御基板2、液晶制御基板4、及び払出制御基板5に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部1、演出制御部2、液晶制御部4、及び払出制御部5と言うことがある。なお、演出制御部2、液晶制御部4、及び払出制御部5の全部又は一部がサブ制御部である。
主制御部1は、払出制御部5に対して制御コマンドCMDと、係員操作信号CLR/SOLVEとを一方向に送信する一方、払出制御部5からは、遊技球の払出動作を示す賞球計数信号や、払出動作や球貸し動作の異常に係わるステイタス信号CONを受信している。係員操作信号CLR/SOLVEは、主制御部1に設けられた操作スイッチSWがON操作されたことを示す信号である。
本実施例の操作スイッチSWは、操作されたタイミングに応じて別の意味を持っており、遊技機の電源投入時に操作されると、係員操作信号が、RAMクリア信号CLRとして機能する。一方、電源投入後に操作された係員操作信号は、異常解除信号SOLVEと機能する。ここで、RAMクリア信号CLRとは、主制御部1や払出制御部5のRAMの記憶内容を消去させることを指示する信号であり、有意レベルのRAMクリア信号CLRを受けた主制御部1及び払出制御部5では、バックアップ電源BUによって保持されているRAMの記憶内容を、各々、強制的にクリア処理する。
一方、異常解除信号SOLVEとは、払出制御部5において発生した計数エラーが係員によって解消されたことを示す信号である。なお、本実施例における計数エラーとは、「所定の払出動作完了時に、所定個数(3個)以上の払出個数の不足状態が、所定時間(2分)以内に所定回数(3回)以上発生したこと」を示しており、違法行為の可能性も有り得る異常事態である。このような計数エラーは、殆ど発生しないところ、本実施例では、そのような特殊な事態のために専用のスイッチを設けない構成を採っている。
すなわち、電源投入時以外には何の役目も果さないRAMクリア信号用の操作スイッチSWを、異常解除信号用の操作スイッチに兼用することで機器構成上の簡易化を図っている。このように、本実施例では、係員が操作可能なスイッチは単一であり、後述するリトライエラーなどの解消状態については、ワンチップマイコンによって自動認識される構成を採っている。
主制御部1から出力される制御コマンドCMD,CMD’は、コマンドの種別を示すMODEデータと、具体的内容を特定するEVENTデータとが、それぞれ8ビット長で構成されている。そして、払出制御部5に伝送される制御コマンドCMDは、払出すべき遊技球の数を指示する賞球数指定コマンドと、払出動作の停止や再開を指示する動作指定コマンドとに大別され、賞球数指定コマンド(例えば、8A××H)は、EVENTデータ(=××H)によって賞球数を指定している。一方、動作指定コマンドには、払出停止コマンドと払出再開コマンドとが用意されている。なお、以下の場合も含め、Hは、16進数を意味する添字である。
図1に示す通り、主制御部1と払出制御部5には、電源基板7から、直流5Vのバックアップ電源BUが供給されている。したがって、営業終了や停電により交流電源24Vが遮断された後も、ワンチップマイコン内部のRAMのデータは保持される。本実施例では、少なくとも数日は、RAMの記憶内容が保持されるよう設計されている。
また、電源基板7は、交流電源24Vの遮断時に、主制御部1及び払出制御部5に、電圧降下信号ABNを出力するよう構成されている。電圧降下信号ABNは、この実施例では、各ワンチップマイコンの割込み端子ではなく、入力ポートに供給されている。そして、主制御部1及び払出制御部5では、フラグセンス方式によって、電圧降下信号ABNのレベル降下を把握した後、必要なデータをRAMに退避している。そのため、上記したバックアップ電源BUの作用とあいまって、主制御部1と払出制御部5では、営業開始時や停電からの復旧時に、電源遮断前の動作を再開できることになる。
図2(a)は、払出制御基板5の周辺回路を図示したものである。図示の通り、払出制御部5は、電源基板7から直流電源電圧(バックアップ電源BUを含む)だけでなく、交流電源の電圧降下を示す電圧降下信号ABNと、システムリセット信号SYSなどを受けている。一方、払出制御部5(ワンチップマイコン)のRAMをクリアするためのRAMクリア信号CLRについては、係員操作信号CLR/SOLVEとして、主制御部1から供給される。
払出制御部5は、球貸し機22とも接続され、球貸し動作に係わる各種の制御信号(BRDY,BRQ,EXS,PRDY)を送受している。ここで、BRDY信号は、遊技者が球貸しスイッチ32bをON操作した球貸し動作中であることを球貸し機22から遊技機に伝達する信号である。また、BRQ信号は、一単位分(通常25個)の貸出し動作を、球貸し機22から遊技機に要求する信号である。
図8に関して後述するように、BRDY信号がHレベルの状態でBRQ信号が立下ると、25個の球貸し動作が開始され、その球貸し動作が終了した時にBRDY信号がLレベルであるか、又は球貸し動作の終了後の所定時間内に、BRDY信号がLレベルに変化すると、もはや球貸し動作が実行されない。したがって、BRDY信号を「球貸し許可指令」と考えることができ、また、BRQ信号を「球貸し開始指令」であると考えることができる。すなわち、BRDY信号がHレベルである限り、球貸し動作が許可されることになり、実施例の場合には、この許可区間内でBRQ信号が立下ると、これに呼応して25個の遊技球の払出動作が開始される。
一方、PRDY信号は、球貸し機22に、遊技機が球貸し動作可能であることを伝達する信号である。また、EXS信号は、一単位分(通常25個)の貸出し動作を終了したことを、球貸し機22に伝達する信号である。
ところで、払出制御部5は、球貸し機22から直流電圧18Vを受けており、この電圧値を正常に受信できることを条件に、発射制御基板6に許可信号CTLを出力して発射動作を許可している。
図2に戻って説明を続けると、払出制御部5には、球貸し動作に関連する3桁の数値を示す残金表示部32aと、球貸しスイッチ32bと、返却スイッチ32cとを有する回路基板が設けられており、払出制御部5は、この回路基板と球貸し機22の間に位置して必要な信号を中継している。そして、球貸しスイッチ32bが一回押圧される毎に、球貸し機22が預かっている現金が500円消費され、残金表示部32aの表示内容が−5されると共に125個の遊技球が払出される。
払出制御部5は、遊技球の入賞に伴う賞球として、或いはまた、球貸し機22で清算される貸球として、所定数の遊技球を払出す必要がある。そこで、ステッピングモータたる払出モータMに4種類の駆動パルスデータΦ1〜Φ4を出力し(ユニポーラ2−2相励磁)、払出モータMの回転に伴って払出される遊技球を、左右の計数スイッチRSW,LSWで検出するようにしている(図3(a)参照)。
図3(a)に示す通り、この実施例では、遊技機に貸出される遊技球は、遊技球の入賞に伴う賞球の場合と同一の経路を通過して遊技機に払出され、払出し個数は、共通する左右の計数スイッチRSW,LSWで検出されるようになっている。なお、図2(a)及び図5に示す通り、左右の計数スイッチRSW,LSWの信号は、払出制御部5に供給されると共に、主制御基板1にも、ステイタス信号CONの一部として伝送される。
また、払出制御部5には、計数スイッチの断線状態や、補給切れ状態や、満杯球詰り状態を検出するスイッチ信号が供給される。ここで、計数スイッチの断線状態とは、2つの計数スイッチRSW,LSWの断線状態だけでなく、2つの計数スイッチRSW,LSWの短絡状態も含む概念であり、専用のインタフェイスIC(2STB155AA)によって生成される(図5参照)。
一方、補給切れ状態とは、払出回転体RO(図3)の上流側から供給される遊技球が途絶え、賞球動作や球貸し動作が事実上不可能となる状態を意味する。また、満杯球詰り状態とは、払出回転体ROの下流側が一杯となり、それ以上の払出しが事実上不可能となる下皿満杯状態を意味する。
満杯球詰り状態を検出する検出スイッチは、例えば、可動片LVRを有するリミットスイッチであり、押圧部材BDYが可動片LVRを押すことで、その位置を遊技球が通過し終わるまでON状態を維持するよう配置されている(図23参照)。但し、賞球動作であれ、球貸し動作であれ、正常に遊技球が払出されている限り、多数の遊技球が連なって移動している状態でも、押圧部材BDYが揺動を繰り返すことで、検出スイッチが、ON状態とOFF状態とを繰り返すようになっている。
後述するように、本実施例では、賞球動作時には、原則として、1個当たり64mSの速度で遊技球を払出すので、検出スイッチの出力は、これと同一速度でON/OFF状態を繰り返す。但し、遊技球の移動が停滞して、0.5秒以上ON状態が継続した場合には、満杯球詰り状態が発生したと判定している。
このような満杯球詰り状態や、補給切れ状態や、計数スイッチ断線状態が発生すると、計数エラー状態の場合と同様に、その後の払出回転体ROの回転動作を停止して、異常状態が解消されるまで待機する構成を採っている。そして、満杯球詰り状態、補給切れ状態、及び計数スイッチ断線状態については、異常事態が解消されたことを検出スイッチが検出することで自動的に解消される。
一方、計数エラー状態は、所定の払出動作完了時に、所定個数以上の払出個数の不足状態が、所定時間以内に所定回数以上発生した異常状態を意味し、違法行為の可能性もあるので、係員が操作スイッチSWをON操作しない限り解消されない。したがって、係員は、異常解消のための処置を採った後、操作スイッチSWをON操作するが、この時の係員操作信号は、異常解除信号SOLVEを意味し、払出制御部5は、有意レベルの異常解除信号SOLVEを受けることを条件に、払出動作を再開する。なお、係員の操作には、払出回転体ROの操作軸53(図3(a)参照)を回転させて球詰まりを解消させる行為も含まれる。
本実施例の払出装置43は、払出モータMと払出回転体ROとを主たる構成要素とするので、念のため、払出モータMと払出回転体ROとの接続関係を説明する。図3(a)に示す通り、払出モータMの回転軸に設けられた駆動ギア50と、払出回転体ROに設けられた従動ギア52との間には、中間ギア51が設けられ、これら3つのギアが歯合することで、払出回転体ROが回転するよう構成されている。なお、払出回転体ROの回転軸には、係員が操作可能な操作軸53を突出させている。
駆動ギア50と従動ギア52は、そのギア比が1対2に設定されており、したがって、払出モータMの回転角度に対して、払出回転体ROの回転角度は1/2倍となる。また、本実施例では、中間ギア51を介して、駆動ギア50と従動ギア52を連結するので、払出モータMと払出回転体ROの回転方向を一致させることができると共に、払出モータMと払出回転体ROの配置位置を比較的自由に設定することができる。したがって、例えば、係員が操作軸53を回転させて球詰まりを解消させる場合にも、中間ギア51の直径分だけ、広い作業空間を使用することができる。なお、払出モータMと払出回転体ROは、操作軸53の方から見て、時計方向に回転する(図3(c)(d)参照)。
図3(c)(d)に示す通り、本実施例では、払出回転体ROには、それぞれ遊技球3個を保有可能な120°間隔の保持溝が、半ピッチ60°ずれて左右に形成されている。この払出回転体ROの回転に伴い、保持溝に保持された遊技球は、払出回転体ROが60°回転する毎に、左右から交互に1個ずつ下方に放出される。この実施例では、払出モータMのステップ角が7.5°であるため、通常時には4mS毎に変化する駆動データΦ1〜Φ4が16ステップ出力されると、払出モータMが120°回転する。この時、払出回転体ROが60°回転することによって、1個の遊技球が払出されるよう設計されている。
図4は、以上のような払出動作の原理を示すタイムチャートである。4mS毎に変化する駆動データΦ1〜Φ4によって、払出回転体ROの回転位置が、モータ位置(0)→モータ位置(1)→モータ位置(2)→モータ位置(3)のように歩進され、これが繰り返されることで遊技球が払出されることを示している。この実施例では、賞球動作としては、通常、16×4mS=64mSを要して遊技球を一個払出すよう設定されている。したがって、一単位25個の遊技球を払出すのに、1.6秒以上の時間を要するが、遊技球が円滑に払出されている限り、満杯球詰り状態と誤判定されることはない。
図5は、払出制御部5の内部構成を図示したものである。図示の通り、払出制御部5は、主制御部1から制御コマンドCMDを受ける入力バッファ10と、各種のスイッチ信号や制御信号CLR/SOLVE,ABNを受ける第1入力ポート13Aと、第2入力ポート12と、第3入力ポート13Bと、Z80CPU相当品を内蔵するワンチップマイコン14と、入出力ポートのチップセレクト信号を生成するデコーダ15と、第1出力ポート16と、第2出力ポート17と、第1出力ポート16から受けた駆動信号を払出モータMに供給するトランジスタ群(オープンコレクタ)18とを中心に構成されている。
図示の通り、第3入力ポート13Bは、球貸し機22からフォトカプラとインバータとを経由して、2つの制御信号BRDY,BRQを受けている。2つの制御信号BRDY,BRQは、フォトカプラを経由しているので、ノイズの影響を受けにくい。すなわち、制御入力信号BRDY,BRQは、ダイオードのカソード端子に供給されるので、フォトトランジスタの出力には、ノイズの影響が及ばない。また、フォトトランジスタの出力には、リンギング、オーバシュート、アンダーシュートなども発生しない。なお、これらの関係は、制御出力信号PRDY,EXSについても同様である。
また、第1入力ポート13Aには、2つの計数スイッチ信号、断線検出信号、補給切れ検出信号、及び、満杯球詰り検出信号が供給されている。図示の通り、第1入力ポート13Aと、2つの計数スイッチLSW,RSWとの間に配置されたインタフェイスIC(2STB155AA)を経由して、計数スイッチLSW,RSWのON/OFF状態を示すTTLレベルの計数スイッチ信号が出力されるよう構成されている。
このインタフェスICには、電源監視回路と、短絡監視回路と、断線監視回路とが内蔵されており、2つの計数スイッチLSW,RSWが断線状態であるか、短絡状態であるか、或いは、このインタフェイスICへの供給電圧が異常である場合には、TTLレベルの異常検出信号を出力するようになっている。そして、本実施例では、この異常検出信号を、第1入力ポートに供給している。なお、本明細書では、便宜上、この異常信号を断線検出信号と称している。
また、第1入力ポート13Aには、電源基板7から電圧降下信号ABNと、主制御基板1から係員操作信号CLR/SOLVEとが供給されている。なお、この実施例では、入力バッファ10、第1と第2と第3の入力ポート12,13A,13Bは、74541相当品のバスバッファで構成され、デコーダは、74138相当品で構成されている。また、出力ポート16,17は、74273相当品のD型フリップフロップで構成されている。
第2入力ポート12には、バスバッファ10を経由して、主制御基板1から制御コマンドCMDが供給されるが、主制御基板1は、制御コマンドCMDの供給に合わせてストローブ信号STBが供給される。このストローブ信号STBは、CPUコアの割込み端子(maskable interrupt)に供給されるので、これに応じて、払出制御基板5では受信割込みルーチンが起動し、制御コマンドCMDを取得するようになっている。
第1出力ポート16のbit3〜bit0からは、(Φ4,Φ3,Φ2,Φ1)=0101→0110→1010→1001→0101→・・・の駆動パルスデータが時間順次に払出モータMに出力される(図2(b)参照)。
また、第1出力ポート16のbit4には、リトライエラー又は計数スイッチ断線エラーを示すLED駆動信号が出力され、異常ランプER1が点灯される。リトライエラーとは、リトライ処理において払出モータMをゆっくり歩進させても、上限回数を超えて遊技球の払出を検出できない異常を意味する。一方、計数スイッチ断線エラーとは、計数スイッチRSW,LSWの異常を示す断線検出信号が検出されたことを意味する。
一方、第1出力ポート16のbit5には、計数エラーを示すLED駆動信号が出力され、異常ランプER2が点灯される。先に説明した通り、計数エラーとは、所定個数以上の払出個数の不足状態が、所定時間以内に所定回数以上発生した異常を意味する。また、第1出力ポート16のbit7には、不図示のウォッチドッグタイマ回路のクリア信号が所定時間毎に出力されるようになっている。
第2出力ポート17のbit0〜bit2からは、主制御部1に対して、払出不足エラー信号と、補給切れ信号と、満杯球詰り信号とが出力される。なお、払出不足エラー信号は、リトライエラーの発生時、又は計数エラーの発生時に出力される。一方、第2出力ポート17のbit6,bit7からは、球貸し機22に対して、制御信号PRDY,EXSが出力される。この制御信号PRDY,EXSは、インバータとフォトカプラとを経由して球貸し機22に伝送される。制御信号PRDY,EXSも、フォトカプラを経由して伝送されるのでノイズなどの影響を受けにくい。
図6〜図7は、図5に示す払出制御部5で実行されるプログラムを説明するフローチャートである。払出制御部5の動作は、概説すると、電源投入後に開始されて無限ループ処理で終わるメインルーチン(図6(a))と、主制御部1からのストローブ信号STBによって起動される受信割込み処理ルーチン(図6(b))と、一定時間(2mS)毎に開始されるタイマ割込みルーチン(図7(a))とで構成されている。
図6(b)に示すように、受信割込みルーチンでは、第2入力ポート12から制御コマンドCMDを取得して、これをRAMのコマンドバッファ領域に格納した後(ST101)、CPUを割込み許可状態(EI)に設定して処理を終える(ST103)。
次に、メインルーチン(図6(a))の動作内容を説明する。電源基板7から電源電圧が供給されると共に、システムリセット信号SYSが供給されると、CPUは、自らを割込み禁止状態(DI)に設定した後(ST1)、ワンチップマイコン14各部の初期設定を行う(ST2)。この初期設定動作には、CPUのスタックポインタの初期設定も含まれ、スタックポインタは、LIFO方式のスタック領域の最底部を指すことになる。本実施例ではスタック領域のデータがバックアップ電源BUによって電源遮断後も維持されるが、ステップST2の処理によって、スタック領域が開放されることになる。
次に、第1入力ポート13Aから取得したデータに基づき、操作スイッチSWがON操作されたか否かを、係員操作信号のレベルに基づいて判定する(ST3)。このタイミングは、電源投入時であるから、係員操作信号は、RAMクリア信号CLRとして機能する。遊技ホールの営業開始時であって、特に係員が操作スイッチSWをON操作した場合にはRAMクリア信号CLRが供給されるが、停電からの復旧時を含め、通常はRAMクリア信号CLRが供給されない。
そして、RAMクリア信号CLRが供給されない場合には、電源監視処理(図7(b))のステップST237の処理で記憶されるバックアップフラグBAKFLGの値をチェックする(ST4)。そして、BAKFLG=5AHであれば、次に、電源監視処理のステップST238の処理と同様のチェックサム演算を実行してサム値を算出し(ST5)、これが、RAM領域に記憶されているサム値と一致するか否かを確認する(ST6)。そして、メインルーチンで算出したサム値と、電源監視処理(ST23)で記憶されたサム値とが一致する場合には、電源遮断前の処理を再開できると思われるので、バックアップフラグBAKFLGをクリアした後(ST7)、CPUを割込み許可状態に設定して(ST10)、無限ループ処理を繰り返す。
CPUが割込み許可状態になると、その後のタイマ割込みによって、図7(a)に示す定期処理(ST82〜ST92)が実行されるが、ここまでの処理では、バックアップフラグBAKFLGを除いて、RAMの記憶内容は全く変更されていないので、その後は、電源遮断前の処理が正しく再開されることになる。
一方、(1)ステップST3の判定の結果、RAMクリア信号CLRがON状態であるか、(2)ステップST4の判定の結果、バックアップフラグが5AH以外の値であるか、或いは、(3)ステップST6のサムチェックで異常が認められた場合には、RAM領域が全てクリアされる(ST8)。
そして、払出リトライフラグを5AHに設定した後(ST9)、CPUを割込み許可状態に設定して(ST10)、無限ループ処理を繰り返す。ステップST8の処理で、RAM領域が全てクリアされたことにより、その後は、図7(a)に示すタイマ割込み処理によって、初期状態から動作が開始される。また、払出リトライフラグが5AHに設定されたことにより、最初の賞球動作の1個目は、モータ動作ステイタス=03Hの状態で実行される。
続いて、図7(a)に示すタイマ割込みルーチンについて説明する。このタイマ割込みルーチンは、メインルーチンの無限ループ処理を中断させて、一定時間毎(2mS)に実行される。
図7(a)に示す通り、本実施例のタイマ割込みルーチンは、払出モータMを回転駆動するデータ出力処理(ST92)と、払出モータMに出力するべき駆動データを用意するモータ処理(ST91)と、払出モータMの回転により払出された遊技球を検出するデータ入力処理(ST84)と、球貸し機との通信プロトコルに応じてカード動作ステイタスを進行させるカード通信処理(ST87)と、データ入力処理による払出検出結果に基づいて、所定個数の払出動作が実行されたかを管理する球貸し処理(ST88)とを含んでいる。なお、賞球処理(ST89)では、主制御部1から受けた制御コマンド(賞球数指定コマンド)に基づく賞球動作を実現するが、球貸し処理(ST88)とは、事実上、排他的に機能するようになっている。
以下、タイマ割込みルーチンを具体的に説明する。最初に、割込み禁止状態(DI)になっているCPUを、割込み許可状態(EI)に戻す(ST82)。この処理の結果、タイマ割込み処理の間にも、図6(b)の受信割込みがかかり、主制御部1からの制御コマンドCMDは、読み落しなく取得されることになる。なお、この実施例では、メインルーチンの無限ループ処理では、CPUは、実質的には何の処理もしていないので、タイマ割込み時にCPUのレジスタを保存する必要はない。したがって、図7(a)のタイマ割込み処理の最初には、一群のPUSH命令が存在しないし、タイマ割込み処理の最後には、一群のPOP命令も存在しない。
ステップST82の処理が終われば、次に、電源監視処理が実行される(ST83)。具体的には、図7(b)に示す通りであり、先ず、第1入力ポート13Aを通して、電圧降下信号ABNを取得し(ST230)、それが異常レベルでないか判定する(ST231)。そして、異常レベルでない場合には、異常回数カウンタをゼロクリアして処理を終える(ST232)。
一方、電圧降下信号ABNが異常レベルである場合には、異常回数カウンタを+1して(ST233)、計数結果が上限値MAXを超えていないかを判定する(ST234)。これは、第1入力ポート13Aからの取得データが、ノイズなどの影響でビット化けしている可能性があることを考慮したものであり、所定回数(例えば、上限値MAX=5)連続して異常レベルを維持する場合には、交流電源が現に遮断されたと判定する。
ステップST234の判定の結果、異常回数カウンタの計数値が上限値MAXに一致した場合には、その後の受信割込みを禁止するべく、先ず、CPUを割込み禁止状態に設定する(ST235)。次に、異常回数カウンタをゼロクリアした後(ST236)、バックアップフラグBAKFLGに5AHを設定する(ST237)。次に、メインルーチンのステップST5の場合と、全く同じ演算を、全く同じ作業領域(ワークエリア)に対して実行し、その演算結果を記憶する(ST238)。なお、実行される演算は、典型的には8ビット加算演算である。そして、その後はワンチップマイコンをRAMアクセス禁止状態に設定した後(ST239)、無限ループ処理を繰り返しつつ直流電源電圧が降下するのを待つ。
続いて、ステップST84のデータ入力処理について説明する。データ入力処理では、断線検出信号などの異常信号の確認と、異常解除信号SOLVEを意味する係員操作信号の確認処理が実行される。また、計数スイッチ信号を取得して、払出モータMの回転によって、遊技球が実際に払出されたか否かを確認する処理が実行される。先に説明した通り、入賞などに伴う賞球動作によって遊技球が払出されるだけでなく、球貸し機22が関連する球貸し動作によっても、同様に遊技球が払出される。
以下、具体的に説明すると、データ入力処理(ST84)では、第1入力ポート13Aの8ビットデータを取得し、前回の取得値との対比によって信号レベルが変化したか否かを判定し、レベル変化が検出された場合には、エッジデータとして、RAM領域のワークエリアEDGに保存する。図6(c)に示す通り、計数スイッチLSW,RSWなどのスイッチ信号がレベル変化したことが、ワークエリアEDGに記憶される。なお、ワークエリアLVLには、今回取得した計数スイッチLSW,RSWからのスイッチ信号のビット反転データが保存され、次回のデータ入力処理において参照される。
このようにしてデータ入力処理(ST84)が終われば、次に、8bit長又は16bit長の各種タイマについての減算処理(−1)が行われる(ST85)。なお、無限ループ処理が2mS毎に実行されることにより、減算タイマの1単位時間は2mSを意味する。
タイマ減算処理が終われば、次に、受信割込み処理によって取得される制御コマンドの解析処理が行われる(ST86)。コマンド解析処理では、受信した制御コマンドCMDが賞球数指定コマンドであるか否かが判定される。そして、賞球数指定コマンドを受信した場合には、そのコマンドによって特定される賞球数を、RAMのワークエリアに設けられた全賞球数カウンタに加算する。なお、この全賞球数カウンタの値は、賞球処理(ST89)におけるステップST26(図14)の処理で読み出され使用される。
次に、球貸し機22との通信処理(ST87)と、球貸し機22で清算される球貸し処理(ST88)とが実行される。図8〜図13は、これらの処理内容を詳細に説明するためのタイムチャートとフローチャートである。
カード通信処理(ST14)の具体的な処理内容は、カード動作ステイタスによって管理されている。具体的には、図9(a)に示す通り、カード動作ステイタスの値(=00H〜0DH)に応じて、BRDY待ち処理(RT0)、BRQ待ち処理(RT1)、球貸し開始待ち処理(RT2)、球貸し開始処理(RT3)、球貸し中処理(RT4)、球貸し終了待ち処理(RT5)、及び、通信エラー処理(RT60、RT61)の何れか一つが実行される。
<カード動作ステイタス=00H>
初期状態ではカード動作ステイタス=00Hであり、図9(b)に示すBRDY待ち処理(RT0)が実行される。具体的には、PRDYフラグが5AHに設定されるが(RT001)、PRDYフラグは、球貸し機22に、Hレベルの制御信号PRDYを出力するか否かを規定するものであり、遊技機が正常に起動した場合には、ステップRT001の処理で設定されたPRDYフラグの値(=5AH)に基づいて、データ出力処理(ST92)において、Hレベルの制御信号PRDYが出力される(図8のタイミング(a)参照)。
ステップRT001の初期処理が終わると、球貸し機22から受ける制御信号BRDYのレベルが判定され(RT002)、これが立上った場合だけ(図8のタイミング(b)参照)、カード動作ステイタスが01Hに設定され、カードタイマ値が適宜な初期値t1に設定される。なお、カードタイマの初期値t1、t2、t3、t4や、カードタイマ値の下限値は、球貸し機と遊技機とのインタフェイス仕様(プロトコル)に基づいて適宜に決定される値である。
<カード動作ステイタス=01H>
カード動作ステイタスが00Hから01Hに変更されると(RT003)、図9(c)に示すBRQ待ち処理(RT1)が実行される。ここでは、先ず、カードタイマ値が判定され(RT101)、ゼロでなければ、球貸し機22が出力する制御信号BRDY,BRQが共にHレベルであるか判定される(RT102)。
そして、制御信号BRDY,BRQが共にHレベルとなると(図8のタイミング(c)参照)、カードタイマ値が下限値以上であるか否か判定され(RT103)、下限値未満であれば、カード動作ステイタスを02Hに設定すると共に、カードタイマ値を新たに初期値t4に設定する(RT104)。
一方、ステップRT103の処理で、カードタイマ値が下限値以上であると判定された場合には、通信異常が発生しているとして、カード動作ステイタスを07Hに設定すると共に、カードタイマ値を新たに初期値t2に設定する(RT105)。このようにして、カード動作ステイタスが07Hに設定された場合には、他の処理を経由する場合も含め、その後、適宜な通信エラー処理(RT60、RT61)が実行される。
ステップRT101とRT103の処理から明らかなように、制御信号BRDY,BRQが共にHレベルになるのが、早過ぎても遅すぎても、通信エラーと判定される。具体的には、本実施例では、BRQ待ち処理(RT1)を開始してから、28mS〜50mSの間に、2つの制御信号がBRDY=BRQ=Hレベルとなった場合だけ、カード動作ステイタスを02Hに進行させている。このような動作によって、耐ノイズ性を高めている。
<カード動作ステイタス=02H又は06H>
カード動作ステイタスが01Hから02Hに変更されるか(RT104)、或いは、カード動作ステイタスが05Hから06Hに変更されると(図10(c)のRT505)、図9(d)に示す球貸し開始待ち処理(RT2)が実行される。この球貸し開始待ち処理では、先ず、カードタイマ値が判定され(RT201)、もしゼロでなければ、その値が下限値未満であるか否か判定される(RT202)。
そして、このタイミングで賞球フラグがゼロであれば(RT203)、カード動作ステイタスを02Hから03Hに変更すると共に、カードタイマ値を初期値t1に設定してEXSフラグを5AHに設定する(RT204)。ステップRT204の処理は、このタイミングでは、制御信号BRDY,BRQが共に既にHレベルであるので(RT102)、球貸し処理を開始することを、球貸し機22に通知するための処理である。5AHに設定されたEXSフラグに基づいて、その後のデータ出力処理(ST92)において、Hレベル制御信号EXSが球貸し機22に出力される(図8のタイミング(d)参照)。
なお、RT202〜RT203の条件が満たされることなく時間(例えば10秒)が経過して、カードタイマの値がゼロとなった場合には、制御信号BRDY,BRQが共にLレベルになったタイミングで、カード動作ステイタスを00Hに戻す(RT206)。
このように、本実施例では、賞球フラグが00Hに変化するのを、例えば、10秒程度待機している。この賞球フラグは、賞球動作の開始時に5AHに設定され(図14のST33)、必要な賞球動作を終えた段階で00Hに戻るので(ST47,ST24)、10秒間の待機時間は、十分な時間であると考えられる。
一方、賞球フラグが00Hになることなく10秒が経過した場合でも、引き続き、制御信号がBRDY=BRQ=Lレベルとなるのを待機し、BRDY=BRQ=Lレベルのタイミングでカード動作ステイタスを00Hにしている。この動作は、球貸し機23の動作が初期状態に戻るのを引き続き待つことを意味し、要するに、球貸し機23に十分な猶予時間を与えている。
同様に、ステップRT202の処理によって、球貸し開始処理(RT2)を開始してから、例えば10mSの間、制御信号EXSを出力しないことで、球貸し機23の動作準備時間を確保している。
<カード動作ステイタス=03H>
カード動作ステイタスが02Hから03Hに変更されると(RT204)、図10(a)に示す球貸し開始処理(RT3)が実行される。この球貸し開始処理では、先ず、カードタイマ値が判定され(RT301)、もしゼロでなければ、制御信号BRDYがHレベルであって、且つ、制御信号BRQがLレベルであるか判定される(RT302)。そして、この条件を満たす場合(図8のタイミング(e)参照)には、カードタイマ値が下限値以上であるかが判定される(RT303)。
そして、カードタイマ値が下限値未満である場合には、カード動作ステイタスを04Hに設定すると共に、カードタイマ値を新たに初期値t2に設定する(RT304)。なお、ステップRT301の処理でカードタイマ値がゼロであると判定されたり、ステップRT303の処理でカードタイマ値が下限値以上であると判定された場合には、カードタイマ値が初期値t2に設定されると共に、カード動作ステイタスが07Hに設定される(RT307)。
ステップRT303とRT301の処理から明らかなように、制御信号BRDY=Hレベル、制御信号BRQ=Lレベルとなるのが、早過ぎても遅すぎても、通信エラーと判定される。具体的には、本実施例では、球貸し開始処理(RT3)に移行してから、28mS〜50mSの間に、上記の条件が満たされた場合だけ、カード動作ステイタスを04Hに進行させており、このような動作によって、耐ノイズ性を高めている。
<カード動作ステイタス=04H>
カード動作ステイタスが03Hから04Hに変更されると(RT304)、図10(b)に示す球貸し中処理(RT4)が実行される。この球貸し中処理では、カードタイマ値がゼロであり、且つ、球貸しフラグが00Hの場合に、カード動作ステイタスが05Hに変更される(RT403)。また、これに合わせて、カードタイマが初期値t3に設定され、EXSフラグが00Hに設定される。なお、00Hに設定されたEXSフラグに基づいて、データ出力処理(ST92)において、Lレベルの制御信号EXSが球貸し機22に出力される(図8のタイミング(f)参照)。
ステップRT402で判定される球貸しフラグは、25個分の球貸し処理を実際に開始するタイミングで5AHに初期設定され(図11のRT15)、25個分の球貸し処理を終えると、過渡的な値(=A5H)を経て(図13のRT51)、最終的に00Hに戻される(図11のRT18)。したがって、球貸し中処理(RT4)において、球貸しフラグ=00Hが検出された事実は、25個の遊技球の払出が終わったことを意味するので、Lレベルの制御信号EXSを出力するべく、EXSフラグを00Hに戻すのである(RT403)。
なお、ステップRT401の処理によって、球貸し中処理(RT4)に移行してから、所定時間t2が経過するまでは、球貸しフラグの値をチェックしない。これは、本実施例では、25個を一単位として球貸し動作を実行するので、25×64mS=1.6秒より早く、球貸しフラグが00Hに戻ることはないためである。すなわち、意味のない判定処理(RT402)の実行を回避している。
<カード動作ステイタス=05H>
カード動作ステイタスが04Hから05Hに変更されると(RT403)、図10(c)に示す球貸し終了待ち処理(RT5)が実行される。この球貸し終了待ち処理では、カードタイマ値がゼロでないことを条件に(RT501)、2つの制御信号BRDY,BRQが共にHレベルであるかが判定される(RT502)。ここで、2つの制御信号BRDY,BRQが共にHレベルになる場合とは、Lレベルになっていた制御信号BRQが、再度、Hレベルになったことを意味する(図8のタイミング(c)’参照)。このことは、言い換えると、一単位25個の遊技球の払出を再度実行することを、球貸し機22が遊技機に指示していることを意味する。
したがって、BRDY=Hレベル、BRQ=Hレベルとなる場合には、カード動作ステイタスを06Hに設定すると共に、カードタイマを初期値t4に設定する(RT505)。なお、カード動作ステイタスが06Hに設定されると、その後は、図9(d)の球貸し開始待ち処理(RT2)が実行される。
一方、ステップRT502の判定がNOの場合には、次に、2つの制御信号BRDY,BRQが共にLレベルであるかが判定される(RT503)。ここで、2つの制御信号BRDY,BRQが共にLレベルになる場合とは、一連の球貸し動作の開始時(図8のタイミング(b)参照)に、Hレベルになっていた制御信号BRDYが、Lレベルに戻ったことを意味する(図8のタイミング(g)参照)。このことは、言い換えると、一単位25個の遊技球の払出動作を、複数回繰り返した結果、球貸しスイッチ23bの一回の押圧操作に応答した一連の球貸し処理が完全に完了したことを意味する。
そこで、BRDY=Lレベル、BRQ=Lレベルとなる場合には、カード動作ステイタスを初期状態の00Hに設定すると共に、カードタイマをゼロに初期設定する(RT504)。なお、カード動作ステイタスの変更処理(RT505,RT504)が何れも実行されることなくカードタイマがゼロになる場合(例えば、250mSを経過)には、通信異常であるとして、カード動作ステイタスを07Hに設定すると共に、カードタイマを初期値t2に設定する(RT506)。もっとも、球貸し機22は、最後のBRQ信号を立下げた後、所定時間後にBRDY信号を立下げるので、通常は、直ちにステップRT504の処理が実行され、通信異常と判定されることはない。
以上、カード動作ステイタス値00H〜0DHに応じた処理内容を詳細に説明したが、カード動作ステイタスの状態遷移図は、図8の下段に示す通りである。図示の通り、カード動作ステイタスは00H→01H→02H→03H→04H→05H→06H→03H→04H→05H→06H→03H・・・と推移して、25個単位の払出動作を所定回数(例えば5回)だけ繰り返し、最後に、06H→03H→04H→05H→00Hと推移して球貸し処理を終える。なお、通信異常と判定された場合には、図34に示す処理を経て、球貸し機22の動作が初期状態に戻され、遊技機では、カード動作ステイタスが00Hに戻される。
図11は、上記したカード通信処理(ST87)に続いて実行される球貸し処理(ST88)を示すフローチャートである。球貸し処理(ST88)では、最初に、球貸し/賞球切換え処理が実行される(RT11)。具体的な内容は、図12(a)に示す通りであり、先ず、切換えフラグが00Hに設定される(RT30)。
次に、カード動作ステイタスが03H以上、且つ07H未満の場合だけ、切換えフラグが5AHに書き換えられる(RT33)。したがって、一旦、切換えフラグが5AHに書き換えられた後は、球貸し開始処理(カード動作ステイタス03H)→球貸し中処理(カード動作ステイタス04H)→球貸し終了待ち処理(カード動作ステイタス05H)→球貸し開始待ち処理(カード動作ステイタス06H)→球貸し開始処理(カード動作ステイタス03H)を繰り返す限り、切換えフラグは5AHを維持し、その後、球貸し終了待ち処理(カード動作ステイタス05H)からBRDY待ち処理(カード動作ステイタス00H)に移行すると、切換えフラグが00Hに戻ることになる(図8の中段及び下段、図12(b)参照)。
このような球貸し/賞球切換え処理(RT11)が終われば、次に、球貸し検出処理が実行される(RT12)。球貸しとは、具体的には、遊技球の払出を意味するが、遊技球の払出は、データ出力処理(ST92)に起因して、払出モータMが回転した場合に生じる。そして、遊技球の払出があればステップST84のデータ入力処理(図7(a))によって、その旨がワークエリアEDGにスイッチエッジデータとして記憶されている(図6(c))。
そこで、球貸し検出処理(R12)では、ワークエリアEDGのデータに基づいて、球貸し(遊技球の払出)があったか否かを判定する。具体的には、図13に示す通りであり、先ず、切換えフラグが5AHであるか否かによって、現在が遊技球の払出の可能性があるか否かを判定する(RT40)。そして、切換えフラグ=5AHであれば、スイッチエッジデータをCレジスタに格納する(RT41)。なお、この実施例では、スイッチエッジデータのbit0が、左計数スイッチの検出状態を表し、bit1が右計数スイッチの検出状態を表している。
次に、Bレジスタに数値2を格納した後(RT42)、Cレジスタの値を右方向に1ビット回転させる(RT43)。なお、この回転処理(Z80CPUのROTATION命令)によって、Cレジスタのbit0の値がキャリーフラグCYに移動する。したがって、CY=1となる場合は、ROTATION命令の実行前の最下位ビットが1であったことを意味するので、データ入力処理(ST84)において、遊技球が検出されていることを意味する。
そこで、そのことを記憶するべく、払出検出フラグに5AHを設定する(RT45)。次に、球貸しフラグが5AHであるか判定し(RT46)、球貸しフラグ≠5AHの場合には払出リトライフラグを5AHに設定する(RT47)。図11に関して後述するように、払出動作が開始されるに当たって、球貸しフラグは5AHに設定される(図11のRT15)。したがって、遊技球の払出が検出されたにも拘わらず、球貸しフラグ≠5AHであるのは、自重や慣性によって遊技球が落下した異常事態を意味する。そこで、払出回転体ROの位置決めをするべく、払出リトライフラグを5AHに設定している(RT47)。
但し、通常は、球貸しフラグ=5AHであるので、次に、払出残数カウンタがゼロか否かを判定し(RT48)、ゼロでなければ、払出残数カウンタをデクリメントする(RT49)。払出残数カウンタは、球貸し個数を管理するカウンタであり、動作の開始時に、球貸し単位である25個に初期設定されている(図11のRT15)。
そして、デクリメント後の残数カウンタの値がゼロになれば、払出モータフラグと球貸しフラグとを、A5Hを設定する(RT51)。払出モータフラグは、払出モータMが停止しているタイミングでは、00Hの初期値であるが、払出モータMが駆動されるべき開始タイミングで5AHに設定され(図11のRT15)、駆動が停止されるべき今のタイミングでA5Hに設定される(RT51)。
何れにしても、ステップRT45〜RT51の処理が終われば、Bレジスタの値をデクリメントして(RT52)、Bレジスタの値がゼロになるまで、同様の処理を繰り返す(RT53)。Bレジスタは、最初に2に初期設定されているので(RT42)、ステップRT43〜RT52の処理が二回実行され、左右の左計数スイッチの検出結果に応じて、払出残数カウンタの値が減算されることになる。
続いて、図11に戻って球貸し処理の説明を続ける。以上のようにして球貸し検出処理(RT12)を終えた後、カード動作ステイタスの値が04Hに一致するか否かが判定される(RT13)。カード動作ステイタス=04Hは、「球貸し中」を意味するが、実際には球貸し動作を開始しておらず、カード動作ステイタスとして「球貸し開始」から「球貸し中」に移行した当初のタイミングも含まれている。そして、このような場合には、球貸しフラグが初期値の00Hのままである。
そこで、球貸しフラグ=00Hの場合には、払出残数カウンタと新規払出カウンタに、球貸し単位の25個を設定した上で、球貸しフラグと払出モータフラグに5AHを設定して、サブルーチン処理を終える(RT15)。
一方、ステップRT14の処理で、球貸しフラグ≠00Hと判定される場合には、既に、実質的な払出動作(球貸し動作)が開始されていることを意味する。そこで、この場合には、球貸しフラグがA5Hか否かが判定され(RT16)、もし、球貸しフラグ=A5Hであれば、左右の計数スイッチが共にOFFレベルであることを条件に、球貸しフラグを00Hに戻す(RT18)。先に説明した通り、球貸しフラグは、払出残数カウンタがゼロになると、図13のステップRT51の処理でA5Hに設定される。そこで、球貸しフラグ=A5Hの場合には、遊技球が、左右の計数スイッチLSW,RSWを通過し終わったことを確認した上で、初期状態の00Hに戻すのである。
以上のようにして球貸し処理(ST88)が完了すると、次に、図14に示す賞球処理(図7(a)のST89)が実行される。賞球処理(ST89)は、球貸し処理(ST88)に類似した処理であるが、球貸し処理と択一的に動作するよう構成されている。
すなわち、図14の賞球処理(ST89)の先頭で実行される賞球検出処理(ST20)では、図15に示すように、先ず、切換えフラグの値が判定され、その値が5AHである場合には何もしないで処理を終える(ST39)。先に説明した通り、切換えフラグが5AHとなるのは、カード動作ステイタスが03H以上、且つ07H未満の場合だけであって(図12(a)参照)、要するに、球貸し動作が実行されている場合である。したがって、球貸し処理(ST88)が機能しているタイミングでは、賞球検出処理(ST20)は事実上スキップされる。
また、図14に示す通り、賞球処理(ST89)におけるその後の処理(ST22〜ST34)についても、カード動作ステイタスが00Hである場合だけ機能する。すなわち、カード動作ステイタス≠00Hの場合には賞球フラグの値が判定され(ST23)、もし賞球フラグがA5Hであれば、賞球フラグをクリアして処理を終えるので(ST24)、球貸し処理(ST88)が機能しているタイミングでは、事実上、賞球処理(ST89)がスキップされることになる。
以上、切換えフラグの値が5AHであって、球貸し動作が実行されている場合について説明したが、続いて、切換えフラグ≠5AHの場合について、図15に基づいて説明する。このような場合には、左右の賞球データ(スイッチエッジデータのbit0とbit1)を変数D1に取得すると共に、Bレジスタに2を設定する(ST40)。次に、変数D1を右に1ビットシフト演算することで、スイッチエッジデータのbit0の内容をキャリーフラグCYに移動させる(ST41)。
CY=1であれば計数スイッチがONであることを意味するが、ステップST42の判定でCY=1となる場合には、払出検出フラグを5AHに書き換えた後に(ST43)、賞球フラグの内容をチェックする(ST44)。払出動作が完了するまでは、賞球フラグの値が5AHであるから(図14のST33参照)、続いて、払出残数カウンタの値がゼロか否かを判定する(ST46)。
球貸し動作の場合と同様、払出残数カウンタは、データ出力処理(図7(a)のST92)を経て払出されるべき遊技球の残数を管理している。そして、このタイミングでは、ステップST42の判定によって遊技球の払出が確認されている。したがって、払出残数カウンタの値がゼロでない場合には、カウンタ値を−1して(ST48)、ステップST50の処理に移行する。
一方、デクリメント処理(ST48)の結果、払出残数カウンタの値がゼロになれば、払出モータフラグと賞球フラグとをA5Hに設定した後に(ST47)、ステップST50の処理に移行する。なお、払出モータフラグと賞球フラグは、払出残数カウンタに新規払出カウンタの値を加算した段階で5AHに設定されるようになっている(図14のST31〜ST33)。
また、払出モータフラグは、払出モータMを駆動状態にするか非駆動状態にするかを規定しており、払出モータフラグが5AH又はA5Hであれば、モータ駆動状態となるが、00Hであれば非駆動状態となる。ここでモータ駆動状態とは、第1出力ポート16に有意な駆動データ(2進数0101,0110,1010,1001の何れか)が出力されていることを意味し、非駆動状態とは、第1出力ポート16に2進数0000が出力されていることを意味する。なお、第1出力ポート16に2進数0000が出力されると、オープンコレクタタイプのトランジスタ群18が全てOFF状態となり、払出モータMは自由回転状態となる(図5参照)。
以上のステップST41〜ST51の処理は、Bレジスタの初期値(=2)に基づき二回実行される。そして、払出残数カウンタの値がゼロになった後は、払出動作が実行されないため、ステップST42の判定において、CY=1となることは本来無いはずである。
しかし、払出回転体ROの慣性力などの影響で、過払い状態となる可能性も否定しきれない。そして、このような異常時には、過払い状態を示すべく、払出リトライフラグを5AHに設定する(ST45)。この払出リトライフラグは、電源投入後のステップST9(図6)でも5AHに設定されるフラグである。そして、払出リトライフラグが5AHであると、リトライ処理(図20)が開始され、遊技球が一個払出されるまで3.75°ピッチで払出回転体ROが歩進することで、精密な位置合わせ処理が実現される。
図14に戻って賞球処理の説明を続けると、上記した賞球検出処理(ST20)の後、先ず、カード動作ステイタスの値がチェックされる(ST21)。そして、カード動作ステイタス=00Hの場合には、続いて、モータ動作ステイタスの値がチェックされる(ST22)。モータ動作ステイタスは、一連の賞球払出動作における動作内容を規定するものであり、2mS毎に実行されるモータ処理(図7(a)のST91)は、モータ動作ステイタス=00H〜03Hの何れかの状態で実行される。具体的には、各動作ステイタス00H、01H、02H、03Hでは、各々、モータ駆動開始処理(図18(a))、モータ駆動中処理(図18(b))、モータ停止中処理(図19)、又は、モータリトライ中処理(図20)が実行される。
そして、ステップST22の処理で、モータ動作ステイタス=01Hであって、モータ駆動中処理(図18(b))を実行すべきタイミングであると判定されると、何もしないで賞球処理を終える。また、モータ動作ステイタス=03Hであって、モータリトライ中処理(図20)を実行すべきタイミングであると判定されれば、賞球フラグの値をチェックし(ST23)、もしA5Hに設定されていれば、賞球フラグを00Hに書き直して賞球処理を終える(ST24)。
一方、ステップST22の処理で、今がモータ動作ステイタス=02Hであって、モータ停止中処理(図19)を実行すべきタイミングであると判定されると、払出リトライフラグの値をチェックし(ST25)、もし5AHに設定されていれば、そのまま賞球処理を終え、5AH以外の値(=00H)に設定されていれば、ステップST26の処理に移行する(ST25)。
ステップST22の判定処理で、今回のタイマ割込み時が、モータ動作ステイタス=00Hであって、駆動開始処理(図18(a))を実行すべきタイミングであると判定されれば、先ず、コマンド解析処理(ST86)で更新された全賞球数カウンタの値が変数D1に取得される(ST26)。そして、変数D1がD1≠0であれば、新規払出数の最大値25を変数D2に格納し、変数D1から変数D2の値を減算する(ST28)。
次に減算結果が負か否か判定され(ST29)、もし負なら変数D2に全賞球数カウンタの値を格納すると共に、変数D1をゼロに設定する(ST30)。その後、新規払出カウンタに、変数D2の値を格納すると共に、全賞球数カウンタに、変数D1の値を格納する(ST31)。なお、ステップST31の処理で設定される新規払出カウンタの値は、通常は5個、10個、25個(新規払出数の最大値)の何れかである。
続いて、払出残数カウンタの値を変数D3に格納し、変数D2の値を変数D3に加算する。そして、加算結果である変数D3の値を、払出残数カウンタに格納する(ST32)。この処理の結果、このタイミングで把握されている、払出すべき全賞球数が、払出残数カウンタに格納されることになる。
その後、賞球フラグと払出モータフラグが5AHに設定され(ST33)、モータ動作ステイタスが00Hに設定されて賞球処理が終わる(ST34)。なお、5AHに設定された賞球フラグは、図15のステップST47の処理でA5Hに変更されるまで、その値を維持する。
一方、5AHに設定された払出モータフラグは、図15のステップST47の処理でA5Hに変更される他、図19のステップS204や図20のステップS40の処理で00Hに変更される。すなわち、払出モータフラグは、初期的に5AHに設定された後、払出残数カウンタの値がゼロになるとA5Hに変更され(ST47)、その後、モータ動作ステイタス=02Hからモータ動作ステイタス=00Hに変更されるか、或いは、モータ動作ステイタス=03Hからモータ動作ステイタス=00Hに変更されるタイミングで、00Hに変更される(S204,S40)。
以上の動作推移から明らかなように、払出モータフラグは、一連の払出動作を開始するに当って5AHに設定され、その後、A5Hに変更されることはあっても、一連の払出動作を終えてモータ動作ステイタス=00H(初期状態)に戻るタイミングでは、必ず00Hとなる。本実施例では、この払出モータフラグの値に応じて、払出モータMを駆動状態とするか非駆動状態にするかを管理しており、払出モータフラグがA5H又は5AHであれば駆動状態、払出モータフラグが00Hであれば非駆動状態となる(図17参照)。
また、本実施例では、新規払出カウンタとは別に、払出残数カウンタを設けているので、払出モータMが駆動されない払出停止状態からの復帰時にも、円滑な払出動作が実現される。例えば、払出停止状態でステップST26〜ST34の処理が繰り返されると、遊技球が払出されない状態で、全賞球数カウンタの減少分だけ(ST28,ST31)、払出残数カウンタの値は+25ずつ増加するが(ST32)、払出停止状態からの復帰後は、蓄積された払出残数カウンタ分の遊技球が一気に払い出されることになる。
図16は、図7の払出エラー処理(図7(a)のST90)の動作内容を示したものである。図16(a)に示す通り、払出エラー処理(ST90)は、リトライエラー検出処理(S70)、計数スイッチエラー検出処理(S71)、補給切れエラー検出処理(S72)、及び、満杯球詰りエラー検出処理(S73)で構成されている。
図16(b)に示す通り、リトライエラー検出処理(S70)では、データ入力処理(ST84)で更新されたワークエリアEDGのスイッチエッジデータの値に基づいて、新たに、遊技球の払出があったか否かが判定される(S701)。具体的には、第1入力ポート13Aのビット0とビット1の値が今回のタイマ割込み時に立上ったか否かが判定される。ここで、遊技球の払出が検出された場合は、遊技球が払出されない球詰り状態が、後述するリトライ処理の結果、解消されたことを意味する。したがって、遊技球の払出が確認された場合には、リトライエラーフラグ、リトライエラーLEDフラグ、及びリトライカウンタの全てを、00Hに設定して処理を終える(S704)。
一方、未だ、遊技球の払出しが検出されない場合には、リトライカウンタの値が上限値MM(例えば96)を超えない限りそのまま処理を終え、上限値MMを超えると、リトライエラーフラグ、リトライエラーLEDフラグ、及び払出リトライフラグの全てを、5AHに設定して処理を終える(S703)。なお、リトライカウンタの値は、図20のリトライ処理におけるステップS33の処理で0.25秒毎に更新(+1)されるので、リトライカウンタが上限値MMを超えるのに、MM/4秒(=約24秒)を要する。
ステップS703の処理でリトライエラーLEDフラグが5AHに設定されたことにより、その後のデータ出力処理(ST92)では、球詰り状態(リトライエラー)を示す異常ランプER1が点灯される。また、リトライエラーフラグの値が5AHである限り、その後のモータ処理(ST91)において、モータ駆動データが00Hとされるので、これに続くデータ出力処理(ST92)において払出モータMが非駆動状態(自由回転状態)となる。したがって、異常ランプER1の点灯を検出した係員は、払出回転体ROの操作軸53を比較的自由に回転させることができ、容易に球詰り状態を解消させることができる。
続いて、計数スイッチエラー検出処理(S71)について説明する。図16(c)に示す通り、先ず、計数エラーカウンタの値が3以上か否かが判定される(S710)。計数エラーカウンタは、所定個数分の払出動作の完了時に、払出不足の個数が3個以上である異常状態の場合に、図19のステップS212のインクリメント処理において更新されている。
そして、計数エラーカウンタの値が3未満である場合には、計数エラータイマがゼロであることを条件に、計数エラーカウンタの値が00Hにリセットされる(S712)。計数エラータイマは、図19のステップS214において60000に初期設定された後、図7(a)のタイマ減算処理(ST85)において、2mS毎にゼロになるまでデクリメント処理(−1)されている。
したがって、ステップS711の判定において、計数エラータイマ=0となる場合とは、所定個数(例えば25個)の払出動作の完了時に、払出不足個数が3個以上である異常事態が発生したものの、その後、2分間(=60000*2mS=120S)を経過するまでに、異常事態の発生回数が3回に達しなかったことを意味する。そして、この程度の異常事態では、係員を呼出すことまでは不要であると判断して、計数エラーカウンタを00Hにクリアするのである(S712)。
一方、S711の判定において、計数エラータイマ≠0であって、異常事態の最初の発生から2分間を経過していない場合には、計数エラーカウンタはクリアされることなく、それまでの値が維持される。そのため、ステップS710の判定において、計数エラーカウンタの値が3に達した場合とは、「所定個数分の払出動作の完了時に、払出不足の個数が3個以上である異常事態」が、「2分以内に3回発生したこと」を意味する。
したがって、このような重度の異常事態(以下、計数エラーという)が発生した場合には、計数エラーフラグと、計数エラーLEDフラグとを5AHにセットする(S713)。計数エラーLEDフラグが5AHにセットされたことにより、データ出力処理(ST92)において、異常ランプER2が点灯されて、計数エラーが報知される(図21のST74参照)。また、払出不足エラー信号が主制御部1に出力され(図21のST78参照)、主制御部1の制御に基づき、表示装置には、例えば「球を払出せません。係員をお呼び下さい。」と表示される。
次に、計数エラーフラグの値が判定され、これが5AHである場合には、第1入力ポートの入力データに基づいて、異常解除信号SOLVEを主制御部1から受けているか否かが判定される(S715)。異常解除信号SOLVEは、計数エラー報知に対応して、係員が操作スイッチSWをON操作したことを示すものであり、操作スイッチがON操作されたことが確認されると、計数エラーフラグ、計数エラーLEDフラグ、計数エラーカウンタ、及び、計数エラータイマが全て00Hにリセットされる(S716)。
続いて、計数スイッチLSW,RSWが断線状態か否かが判定される(S717)。具体的には、インタフェイスICから第1入力ポート13A(図5)に供給されている断線検出信号のレベルが判定され、これが異常レベルであって、断線等の異常が検出されている場合には、計数スイッチ断線エラーフラグ、計数スイッチ断線エラーLEDフラグ、及び、払出リトライフラグが5AHにセットされる(S718)。
計数スイッチ断線エラーLEDフラグが5AHにセットされたことにより、データ出力処理(図7のST92)において、異常ランプER1が点灯されて、計数スイッチ断線エラーが報知される(図21のST74参照)。このように、異常ランプER1は、リトライエラーが生じた場合だけでなく、計数スイッチ断線エラーが生じた場合に点灯されるが、リトライエラーは、計数スイッチが遊技球を検出すると自動的に解消され(S704)、計数スイッチ断線エラーは、第1入力ポート13Aに供給される断線検出信号が正常レベルに復帰すると自動的に解消される(S719)。
すなわち、インタフェイスICから第1入力ポート13A(図5)に供給されている断線検出信号のレベルが正常レベルである場合には、計数スイッチ断線エラーフラグと、計数スイッチ断線エラーLEDフラグが00Hにクリアされる(S719)。
以上、払出エラー処理のステップS70及びステップS71の内容について詳細に説明したが、補給切れエラー検出処理(S72)では、第1入力ポート13Aへのスイッチ信号が所定時間を超えて異常レベルであるか否かが判定され、異常レベルが継続される場合には、補給切れエラーフラグが5AHに設定される。すると、データ出力処理(図21)において、主制御部1に補給切れ信号が出力されて適宜な報知処理が実行される(ST78参照)。なお、異常レベルから正常レベルに戻れば、補給切れエラーフラグが00Hに戻される。
また、満杯球詰りエラー検出処理(S73)でも、第1入力ポート13Aへの該当するスイッチ信号が、所定時間(実施例では=500mS)を超えて、連続して異常レベルであるか否かが判定され、異常レベルが継続される場合には、満杯球詰りエラーフラグが5AHに設定される。この場合も、データ出力処理(図21)において、主制御部1に満杯球詰り信号が出力されて適宜な報知処理が実行される(ST78参照)。なお、異常レベルから正常レベルに戻れば、満杯球詰りエラーフラグは00Hに戻される。
続いて、図17のフローチャートに基づいてモータ処理(図7(a)のST91)について説明する。モータ処理では、モータ駆動データを格納しているMOOUT番地の内容をクリアし(ST61)、各種のエラーフラグの値が全て00Hであるか否かが判定される(ST62)。ここで、判定されるエラーフラグには、リトライエラーフラグ、計数エラーフラグ、計数スイッチ断線エラーフラグ、補給切れエラーフラグ、及び満杯球詰りエラーフラグが含まれている。
そして、全てのエラーフラグが00Hであって、全くエラーが発生していない場合には、続いて、払出モータフラグの値が判定される(ST63)。一方、リトライエラーフラグ、計数スイッチエラーフラグ、計数スイッチ断線エラーフラグ、補給切れエラーフラグ、及び満杯球詰りエラーフラグの何れかが≠00Hであるか、或いは、払出モータフラグが=00Hである場合には、何もしないでモータ処理を終える(ST62,ST63)。その結果、モータ駆動データ(MOOUT番地の内容)は2進数0000のままとなり、データ出力処理(ST92)が実行されても、払出モータMが駆動されない。したがって、払出回転体ROの回転動作が非拘束状態で禁止される払出停止状態となる。
一方、ステップST63の判定で、払出モータフラグが≠00Hと判定された場合には、そのときのモータ動作ステイタスの値に応じてモータ駆動開始処理(ST65a)、モータ駆動中処理(ST65b)、モータ停止中処理(ST65c)、モータリトライ中処理(ST65d)の何れかが実行された後、これらの処理で決定された払出モータMの位置に応じてモータ駆動データが選択され、MOOUT番地に格納される(ST66)。この実施例では、払出モータMのモータ位置が0〜3で管理されており、これに対応して、モータ駆動データは(0101、0110、1010、1001)の4種類であり、図4に示す順番に出力されて払出モータMを順方向又は逆方向に歩進させる。
図18〜図19は、モータ駆動開始処理(ST65a)、モータ駆動中処理(ST65b)、モータ停止中処理(ST65c)、及びモータリトライ中処理(ST65d)の具体的内容を図示したものである。初期状態ではモータ動作ステイタスは00Hであるので図18(a)モータ駆動開始処理が実行される。
<モータ動作ステイタス=00H>
モータ駆動開始処理では、払出リトライフラグの値がチェックされ(S1)、払出リトライフラグ≠5AHであれば、新規払出カウンタの値Nを16倍してステップカウンタに格納する(S2)。先に説明した通り、この実施例では、払出モータMを順方向に16ステップ歩進させて120°回転させることで、ギア接続された払出回転体ROを60°回転させて、遊技球を1個払出すようにしているので、払出モータMに出力すべき一連の駆動データの総数として、16×Nの値をステップカウンタに設定している。なお、新規払出カウンタの値Nは、球貸し動作時には、図11のステップRT15の処理で設定された球貸し単位数(=25個)である。一方、賞球動作時には、図14のステップST31の処理で設定された値(=25個以下)である。
以上のようにしてステップカウンタの初期値を設定した後、モータ動作ステイタスを01Hに変更すると共に、モータ駆動タイマに2を設定する(S4)。モータ駆動タイマは、払出モータMに駆動データを出力する時間間隔を指定するものである。
何れにしても、モータ駆動タイマは、2mS毎にタイマ減算処理(ST85)で−1されるので、モータ駆動タイマが2に設定されることで、2×2=4mSの時間間隔でモータ位置が変化する。なお、モータ駆動タイマがゼロになる毎にステップカウンタが−1される(S12)。したがって、その後のモータ駆動中処理(モータ動作ステイタス=01H)では、払出モータMが4mS毎に歩進し、4×16=64mS毎に、遊技球が1個払い出される。
一方、モータ動作ステイタスが00Hであって、払出リトライフラグが5AHの場合には、モータ動作ステイタスが03Hに変更される(S5)。また、モータ駆動タイマが125に設定され(S6)、払出リトライフラグと払出検出フラグがゼロクリアされる(S7)。モータ動作ステイタスが03Hに変更されると、リトライ処理が開始させることになるが、モータ駆動タイマが125に初期設定されたことにより、以降は、1ステップ250mS(=2×125)の時間間隔でゆっくり払出モータMが駆動されることになる。
<モータ動作ステイタス=01H>
図18(a)のステップS3の処理によってモータ動作ステイタスが01Hに設定された後は、図18(b)に示すモータ駆動中処理が実行される。ここでは、先ず、モータ駆動タイマの値がチェックされ(S10)、ゼロでなければ何もしないで処理を終える。したがって、モータ駆動タイマが2に初期設定された場合には、2回のモータ処理(ST91)は、同一の駆動データを出力することになる(ST65b〜ST66)。
その後、モータ駆動タイマがゼロになると、ステップS2の処理で16×Nに初期設定されたステップカウンタの値が判定され(S11)、ゼロでなければステップカウンタの値を−1すると共に、モータ位置を0〜3の範囲で+1する(S12〜S13)。
次に、ステップカウンタの値が判定され(S14)、ステップカウンタ≠0の場合には、モータ動作ステイタスを02Hに設定して処理を終える(S15)。このような歩進動作を繰り返すと、その後、ステップカウンタの値がゼロになるので、この場合には、モータ動作ステイタスを02Hに変更すると共に、モータ駆動タイマの値を700に初期設定する(S16〜S17)。
以上の通り、モータ動作ステイタス=01Hのモータ駆動中処理において、ステップカウンタの値がゼロになったことにより、新規払出分の払出が完了する。但し、この一連の払出動作中にも、新規に制御コマンドCMD(賞球数指定コマンド)を受信している可能性があり、コマンド解析処理(ST86)によって全賞球数カウンタの値が更新されることで、更なる払出が必要となる場合もある(例えば大当り状態の場合など)。また、払出回転体ROの誤動作によって、新規払出分の払出量Nに過不足が生じている可能性もある。
払出量が不足する場合は、払出残数カウンタがゼロになっていないので、払出モータフラグがA5Hに変更されず5AHのままであるが、一方、払出モータフラグがA5Hであれば、払出残数カウンタがゼロになったことを意味する(図15のST47参照)。また、払出残数カウンタがゼロになった後に更に払出がされる過払い時には、払出モータフラグがA5Hであって、払出リトライフラグが5AHとなっている(図15のST45参照)。
<モータ動作ステイタス=02H>
以上を踏まえて説明を続けると、図19に示すように、モータ動作ステイタス=02Hの状態ではモータ停止中処理が実行される。ここでは先ず、モータ駆動タイマの値が650以上であるか否かが判定され、650以上であればそのまま処理を終える(S200)。モータ駆動タイマは、図18(b)のステップS17の処理によって700に初期設定されているので、モータ駆動タイマが700から650まで低下するまでの100mS(=50*2ms)の間は、モータの駆動状態において停止状態が維持されることになる。この100mSは、払出モータMの順方向の歩進によって払出された遊技球が、計数スイッチで把握されるまでの待機時間を意味する。
そして、モータ駆動タイマが650未満となれば、払出モータフラグの値がA5Hであるか否かが判定される(S201)。払出モータフラグがA5Hであれば払出残数カウンタがゼロになったことを意味するので(ST47)、このような場合には、モータ動作ステイタスを02Hから00Hに変更し、モータ駆動タイマをゼロにする(S202〜S203)。また、払出モータフラグと払出検出フラグをゼロクリアする(S204)。
一方、ステップS201の処理において、払出モータフラグ≠A5Hと判定された場合には、未だ、払出残数カウンタがゼロになっていないことを意味する。したがって、払出モータフラグが≠A5Hの場合には、モータ駆動タイマがゼロか否かが判定される(S205)。
そして、モータ駆動タイマ≠0の場合には、モータ駆動タイマが350以下になるのを待つ(S206)。なお、ステップS206の判定処理が最初に実行されるタイミングでは、モータ駆動タイマの値が649であるから、モータ駆動タイマが949から350に至るまでの600mSのインターバルタイムは、モータの停止状態が、拘束状態で維持されることになる。
このようなインターバルタイムの後、モータ駆動タイマの値が350以下となると、その時のモータ駆動タイマの値を、Z80CPUのHLレジスタに設定し(S207)、HLレジスタの値を−50しつつ、HLレジスタの値が0になるか、それとも、負の値になるかを判定する(S208〜S209)。そして、HLレジスタの値が負になると、サブルーチン処理を終えるが、HLレジスタの値がゼロになれば、モータ位置を−1してサブルーチン処理を終える(S210)。
このS207〜S210の処理は、モータ駆動タイマの値が、50の倍数である350、300、250、200、150、100、50の場合だけ、払出モータMを逆方向に歩進(逆転)させることを意味する。そして、モータ駆動タイマの値が50だけ低下するのに、100mS(=50*2mS)を要するので、結局、S207〜S210の処理によって、払出モータMは、1ステップ分が100mSの速度で、7ステップ分だけ逆転されることになる。このような処理によって、球詰まり状態が自動的に解消される可能性が高まり、その後のリトライ処理が、より効果的となる。なお、図23には、100msの待機時間と、600mSのインターバルタイムと、700mSの逆転動作とを図示している。
続いて、ステップS205の処理によって、モータ駆動タイマの値が0になったと判定された後の動作を説明する。この場合には、先ず、その時の払出残数カウンタの値が3以上か否かが判定される(S211)。そして、払出残数カウンタ≧3の場合には、計数エラーカウンタをインクリメントする(S212)。この計数エラーカウンタの更新処理は、所定個数(例えば25個)の払出動作の完了時に、払出不足個数が3個以上である異常事態の発生回数をカウントするための処理である。
次に、計数エラータイマの値を判定し(S213)、もし計数エラータイマ=0であれば、これを60000に初期設定する。計数エラータイマは、タイマ減算処理(図7(a)のST85)においてゼロになるまで、2mS毎にデクリメントされるので、2分後(=60000*2mS=120S)にはゼロとなる。
その後、モータ動作ステイタスを02Hから03Hに変更すると共に、モータ駆動タイマを125に初期設定し、払出検出フラグをクリアする(S215〜S217)。
<モータ動作ステイタス=03H>
モータ動作ステイタス=03Hの場合には、図20に示すように、先ず、モータ駆動タイマがゼロになるのを待つ(S30)。モータ動作ステイタスが03Hに変更された段階で、モータ駆動タイマが125に初期設定されているので(S6,S216)、ここでは250mSだけ時間消費されることになる。その後、払出検出フラグの値をチェックする(S31)。払出検出フラグは、遊技球の払出しを確認した段階で5AHに設定され(図15のST43)、モータ動作ステイタスが03Hに変更される段階でゼロにされている(図19のS217,図18のS7)。
したがって、モータリトライ処理において、払出検出フラグは最初ゼロの筈であるので、次に、モータ位置を0〜3の範囲で順方向に1つ進める(S32)。また、リトライカウンタを+1更新すると共に、モータ駆動タイマに125を設定する(S33〜S34)。したがって、以降、1ステップ=250mS毎に駆動データを更新するリトライ処理が実行されることになる。
このリトライ処理では、通常時の2/125倍の速度でゆっくり払出モータMが回転する。詳細には、ステップS30〜S34より明らかなように、モータ駆動タイマの初期設定値により、250mS毎に1ステップ(7.5°)分だけ払出モータMが回転し、これに対応して払出回転体ROが3.75°回転する毎に、遊技球の払出しがチェックされ、払出しを検出するまで同じ動作が繰り返えされる(S31)。なお、遊技球の払出は、図13のステップRT44の処理か、又は、図15のステップST42の処理で判定され、遊技球の払出が検出されたら、払出検出フラグが5AHに設定される(ST43)。
したがって、ステップS30〜S34の処理を繰り返していると、やがて払出検出フラグが5AHとなるので、この場合には次に払出モータフラグの値をチェックする(S35)。払出モータフラグは、払出残数カウンタがゼロとなる時、つまり、不足分なく遊技球を払出した時にA5Hに設定される(図13のRT51か、図15のST47)。したがって、払出モータフラグ≠A5Hは、払出していない遊技球が存在することを意味するので、払出残数カウンタの値を16倍した値をステップカウンタに格納する(S36)。
但し、本実施例では、リトライ処理後の払出量の上限値LTを設けており、具体的には、65536>LT×16となるよう、上限値LTをLT<4096に設定している。したがって、払出残数カウンタを、仮に16ビット長に制限しても、連続して大量の賞球が得られる大当り状態において、払出残数カウンタがオーバーフローして賞球数が消滅するおそれはない。なお、払出量の上限値LTは、上限値LT=4095に設定されているので、払出残数カウンタの最大値は、65520となるが、ステップS36の処理に続いて、モータ動作ステイタスを03Hから01Hに変更して、リトライカウンタをクリアすると共に、モータ駆動タイマに2を設定する(S37,S38)。この設定処理の結果、これ以降は、1ステップ=4mS毎に駆動データを更新する通常のモータ回転が開始されることになる。
ところで、ステップS35の判定において払出モータフラグ=A5Hとなった場合は、モータ動作ステイタスを03Hから00Hに変更する(S39)。払出しを検出した状態(払出検出フラグ=5AH)で、払出モータフラグがA5Hであるということは、モータ動作ステイタス=03Hの状態で1個の遊技球を払出し、且つ払出残数カウンタがゼロとなったことを意味する(ST47参照)。つまり、不足分の払出しが完了したことを意味するので、モータ動作ステイタスを03Hから00Hに変更して、その後、改めて払出動作が必要となる時期まで待機させるのである。そのため、リトライカウンタ、払出モータフラグ、及び払出検出フラグの値を全てゼロにする(S40)。
次に、図21に基づいてデータ出力処理(図7(a)のST92)について説明する。データ出力処理では、先ず、モータ処理ST91(詳細には図17のST66)で用意されたモータ駆動データをMOOUT番地から取得する(ST70)。なお、モータ駆動データは2進数で0101,0110,1010,1001の何れかであり、それらが図4に示すように出力されることで払出モータMが順方向又は逆方向に回転する。なお、この実施例では、通常時、払出モータMの1ステップの回転時間が4mSに設定され、16ステップ分のデータ駆動データの出力によって払出回転体ROが60°回転して遊技球を1個払出すように設定されている。
ステップST70の処理によって、モータ駆動データがBレジスタに用意されたら、計数スイッチ断線エラーLEDフラグ、リトライエラーLEDフラグ、計数エラーLEDフラグの何れかが、5AHにセットされているか否かが判定される(ST71)。リトライエラーLEDフラグとは、払出不能状態が所定時間継続した場合に、異常ランプER1(図5参照)を点灯させるためのフラグである。また、計数スイッチ断線エラーLEDフラグや計数エラーLEDフラグは、計数スイッチの断線異常時や、計数エラー発生時に異常ランプER1や異常ランプER2を点灯させるためのフラグである。したがって、リトライエラーLEDフラグや計数スイッチ断線エラーLEDフラグが5AHであれば、Bレジスタのbit4を1にセットする(ST72)。また、計数エラーLEDフラグが5AHであれば、Bレジスタのbit5を1にセットする(ST72)。なお、各LEDフラグが5AHでない場合には、該当bitはゼロのままである。
次にBレジスタのbit7を1に設定し(ST73)、Bレジスタの値を、第1出力ポート16に出力する(ST74)。この結果、払出モータMには駆動データが出力されると共に、異常ランプER1,ER2が点灯又は消灯する。また、Bレジスタのbit7は、ウォッチドッグタイマに出力される。そして、時間消費処理(ST75)の後、bit7をゼロに戻して、第1出力ポート16から再出力することで(ST76)、ウォッチドッグタイマがゼロクリアされる。但し、プログラムの暴走によって、本来2mS毎に実行されるべきデータ出力処理(ST92)が実行されなくなると、ウォッチドッグタイマ回路の動作に基づいてCPUが強制的にリセットされる。
何れにしてもステップST76の処理に続いて、PRDYフラグ、EXEフラグ、リトライエラーフラグ、計数エラーフラグ、補給切れエラーフラグ、及び満杯球詰りエラーフラグを参照して、該当ビットをセットしたデータを、第2出力ポート17に出力する(ST78)。この動作の結果、PRDY信号やEXE信号が球貸し機22に出力され、また、払出不足エラー信号や、補給切れ信号や、満杯球詰り信号が、主制御部1に出力されることがある。なお、補給切れ信号や満杯球詰り信号を受けた主制御部1では、異常報知LEDランプP2,P3(図24参照)を点灯させる。
最後に、本発明が好適に適用される弾球遊技機について確認的に説明する。図24は、本実施例のパチンコ機21を示す斜視図であり、図25は、同パチンコ機21の側面図である。なお、パチンコ機21は、球貸し機22に電気的に接続された状態で、パチンコホールの島構造体の長さ方向に複数個が配設されている。球貸し機22は、遊技開始に先立って現金を受け取り、遊技終了時には、残金に対応する数値を記憶したカードを排出するようになっている。
図示のパチンコ機21は、島構造体に着脱可能に装着される矩形枠状の木製外枠23と、外枠23に固着されたヒンジHを介して開閉可能に枢着される前枠24とで構成されている。この前枠24には、遊技盤25が裏側から着脱自在に装着され、その前側には、ガラス扉26と前面板27とが夫々開閉自在に枢着されている。
前面板27には発射用の遊技球を貯留する上皿28が装着され、前枠24の下部には、上皿28に連通した下皿29と、発射ハンドル30とが設けられている。この実施例では、発射ハンドル30の回動角度に対応して、ロータリソレノイドSL1の駆動電流が変化するよう構成されており、ロータリソレノイドSL1の駆動電流に対応する強度で、打撃槌31が間欠的に動作して遊技球が発射される。なお、上皿28の遊技球は、打撃槌31による発射位置に誘導される一方、溢れた遊技球は自動的に下皿29に誘導される。
上皿28の右部には、球貸し機22に対する球貸し操作用の操作パネル32が設けられ、この操作パネル32には、球貸し機22の残金の1/100の値を3桁の数字で表示する残金表示部32aと、所定金額(例えば500円)分の遊技球の球貸しを指示する球貸しスイッチ32bと、ゲーム終了時に押圧される返却スイッチ32cとが設けられている。なお、返却スイッチ32cを押圧すると、残金に対応するカードが球貸し機22から排出される。
ガラス扉26の上部には、大当り状態を示す大当りLEDランプP1が配置されている。また、この大当りLEDランプP1に近接して、補給切れ状態や満杯球詰り状態を示す異常報知LEDランプP2,P3が設けられている。
図26に示すように、遊技盤25には、金属製の外レールと内レールとからなるガイドレール33が環状に設けられ、その内側の遊技領域25aの略中央には、表示装置8(具体的には液晶カラーディスプレイ)が配置されている。また、遊技領域25aの適所には、図柄始動口35、大入賞口36、複数個の普通入賞口37(大入賞口36の左右に4つ)、2つの通過口であるゲート部38が配設されている。これらの入賞口35〜38は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
表示装置8は、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置8は、中央部に特別図柄表示部Da〜Dcと右上部に普通図柄表示部39を有している。普通図柄表示部39は普通図柄を表示するものであり、ゲート部38を通過した遊技球が検出されると、表示される普通図柄が所定時間だけ変動し、遊技球のゲート部38の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。
図柄始動口35は、左右1対の開閉爪35aを備えた電動式チューリップで開閉されるよう例えば構成され、普通図柄表示部39の変動後の停止図柄が当り図柄を表示した場合には、開閉爪35aが所定時間だけ開放されるようになっている。そして、図柄始動口35に遊技球が入賞すると、特別図柄表示部Da〜Dcの表示図柄が所定時間だけ変動し、図柄始動口35への遊技球の入賞タイミングに応じた抽選結果に基づいて決定される停止図柄で停止する。
大入賞口36は、例えば前方に開放可能な開閉板36aで開閉制御されるが、特別図柄表示部Da〜Dcの図柄変動後の停止図柄が「777」などの大当り図柄のとき、「大当り」と称する特別遊技が開始され、開閉板36aが開放されるようになっている。大入賞口36の内部には入賞球を検出する入賞領域36bが存在する。
大入賞口36の開閉板36aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板36aが閉じる。このとき、最大で例えば15回まで特別遊技が継続され、遊技者に有利な状態に制御される。さらに、変動後の停止図柄が特別図柄のうちの特別状態発生図柄であった場合には、特別状態を発生させる。
図27に示すように、前枠24の裏側には、遊技盤25を裏側から押さえる裏機構板40が着脱自在に装着されている。この裏機構板40には開口部40aが形成され、その上側に賞球タンク41と、これから延びるタンクレール42とが設けられている。裏機構板40の側部には、タンクレール42に接続された払出装置43が設けられ、裏機構板40の下側には払出装置43に接続された通路ユニット44が設けられている。払出装置43から払出された遊技球は、通路ユニット44を経由して上皿排出口28a(図24)から上皿28に払出されることになる。
裏機構板40の開口部40aには、遊技盤25の裏側に装着された裏カバー45と、入賞口35〜37に入賞した遊技球を排出する入賞球排出樋(不図示)とが嵌合されている。この裏カバー45に装着されたケースCA1の内部に主制御基板1が配設される(図27参照)。
これらケースCA2,CA3の下側で、裏機構板40に装着されたケースCA4の内部には、電源基板7と払出制御基板5が設けられている。この電源基板7には、電源スイッチ53とRAMクリアスイッチ54とが配置されている。これら両スイッチ53,54に対応する部位は切欠かれ、両スイッチを指で同時に操作可能になっている。発射ハンドル30の後側に装着されたケースCA5の内部には、発射制御基板6が設けられている。
以上、本発明の実施例について具体的に説明したが、記載内容は特に本発明を限定するものではない。例えば、実施例では、弾球遊技機について説明したが、パチンコ機、アレンジボール機、雀球遊技機のみならず、メダルを用いる回胴遊技機や、遊技球を用いる回胴遊技機にも適用できるのは勿論である。