以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
遊技領域7の中央付近には、それぞれが演出用の飾り図柄を可変表示する複数の可変表示部を含む可変表示装置(飾り図柄表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。また、可変表示装置9には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つの特別図柄始動記憶表示エリア(始動記憶表示エリア)18が設けられている。有効始動入賞がある毎に、表示色が変化する(例えば青色表示から赤色表示に変化)始動記憶表示エリアを1増やす。そして、可変表示装置9の可変表示が開始される毎に、表示色が変化している始動記憶数表示エリアを1減らす(すなわち表示色をもとに戻す)。
可変表示装置9の上部には、識別情報としての特別図柄を可変表示する特別図柄表示器(特別図柄表示装置)8が設けられている。この実施の形態では、特別図柄表示器8は、例えば0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。特別図柄表示器8は、遊技者に特定の停止図柄を把握しづらくさせるために、0〜99など、より多種類の数字を可変表示するように構成されていてもよい。可変表示装置9は、特別図柄表示器8による特別図柄の可変表示期間中に、装飾用(演出用)の図柄としての飾り図柄の可変表示を行う。なお、飾り図柄の可変表示を行う可変表示装置9は、演出制御基板に搭載されている演出制御用マイクロコンピュータによって制御される。また、パチンコ遊技機1は、遊技の進行中に遊技者が操作可能な操作スイッチ81を備える。
可変表示装置9の下方には、始動入賞口14としての可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板を用いた可変入賞球装置20が設けられている。可変入賞球装置20は大入賞口を開閉する手段である。可変入賞球装置20に入賞し遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域:特別領域)に入った入賞球はVカウントスイッチ22で検出され、他方の領域に入った遊技球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。
遊技球がゲート32を通過しゲートスイッチ32aで検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に左側のランプが点灯すれば当たりとなる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32を通過した入賞球数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への遊技球の通過がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33,39への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。各入賞口29,30,33,39は、遊技媒体を受け入れて入賞を許容する領域として遊技盤6に設けられる入賞領域を構成している。なお、始動入賞口14や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
そして、この例では、左枠ランプ28bの近傍に、賞球払出中に点灯する賞球LED51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れLED52が設けられている。上記のように、この実施の形態のパチンコ遊技機1には、発光体としてのランプやLEDが各所に設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、「カードユニット」という。)50が、パチンコ遊技機1に隣接して設置されている。
カードユニット50には、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠が設けられている。
遊技者の操作により打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、特別図柄表示器8において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
特別図柄表示器8における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄(停止図柄)が大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、可変入賞球装置20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、可変入賞球装置20の開放中に遊技球がV入賞領域に入賞しVカウントスイッチ22で検出されると、継続権が発生し可変入賞球装置20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の特別図柄表示器8における特別図柄が確率変動を伴う大当り図柄(確変図柄)である場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
遊技球がゲート32を通過すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
次に、パチンコ遊技機1の裏面の構造について図3を参照して説明する。図3は、遊技機を裏面から見た背面図である。
図3に示すように、パチンコ遊技機1の裏面側には、外枠2A内の機構板の上部に球貯留タンク38が設けられ、パチンコ遊技機1が遊技機設置島に設置された状態でその上方から遊技球が球貯留タンク38に供給される。球貯留タンク38内の遊技球は、誘導樋39を通って賞球ケース40Aで覆われる球払出装置97(図4参照)に至る。
また、遊技機裏面側には、可変表示装置9を制御する演出制御用マイクロコンピュータ等が搭載された演出制御基板80を含む可変表示制御ユニット49、および遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。
可変表示装置9の可変表示制御を行う表示制御手段は、演出制御基板80に搭載されている演出制御用マイクロコンピュータやVDP(ビデオディスプレイプロセッサ)などで実現される。また、遊技機には、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cなどを駆動する回路が搭載されている枠側ランプドライバ基板35と、スピーカ27を駆動する回路が搭載されている音声制御基板70とが設置されている。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やその他の基板(図示せず)が設けられている。また、主基板31から他の基板に出力される信号を中継する集中中継基板77が設けられている。
なお、電気部品制御基板(払出制御基板および演出制御基板)には、それぞれ、電気部品制御用マイクロコンピュータを含む電気部品制御手段(払出制御手段および演出制御手段)が搭載されている。払出制御手段および演出制御手段は、遊技制御手段からの指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、可変表示装置9等)を制御する。また、枠側に設けられているランプやLEDなどの発光体およびスピーカ27等の電気部品は、演出制御手段からの制御信号に従って、枠側ランプドライバ基板35および音声制御基板70に搭載されている回路部品によって駆動される。さらに、遊技機には、スイッチを搭載した基板やランプやLEDなどの発光体(以下。ランプ・LEDともいう。)が搭載された基板がある。なお、基板とは、電気的に駆動される電気部品、回路部品、コネクタや端子などの接続部品などを搭載した印刷配線板である。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子および球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤(情報出力基板)34が設置されている。
球貯留タンク38に貯留された遊技球は誘導樋39を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置に至る。球払出装置97の上部には、遊技媒体切れ検出手段としての球切れスイッチが設けられている。球切れスイッチが球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチは遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導樋39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
以下、マイクロコンピュータを搭載した電気部品制御基板と、主基板31から信号を入力する基板とを、周辺基板と総称することがある。
図4は、払出ケース40Aで覆われた球払出装置97を示す正面図(図4(A))および断面図(図4(B))である。球払出装置97は、球切れスイッチ187と球払出装置97との間に設置されている通路体の下部に固定されている。通路体は、カーブ樋によって流下方向が左右方向に変換された2列の遊技球を流下させる球通路を有する。球通路の上流側には、球切れスイッチ187が設置されている。なお、実際には、それぞれの球通路に球切れスイッチが設置されている。球切れスイッチ187は、球通路内の遊技球の有無を検出するものであって、球切れスイッチ187が遊技球を検出しなくなると球払出装置97における払出モータ289(図6参照)の回転を停止して遊技球の払出動作が不動化される。
また、球切れスイッチ187は、球通路に27〜28個の遊技球が存在することを検出できるような位置に係止片によって係止されている。
球払出装置97において、ステッピングモータによる払出モータ289が例えばカムを回転させることによって、賞球または球貸し要求にもとづく遊技球を1個ずつ払い出す。また、球払出装置97の下方には、例えば近接スイッチによる払出個数カウントスイッチ301が設けられている。球払出装置97から1個の遊技球が落下する毎に、払出個数カウントスイッチ301がオンする。すなわち、払出個数カウントスイッチ301は、球払出装置97から実際に払い出された遊技球を検出する。従って、払出制御用マイクロコンピュータ370は、払出個数カウントスイッチ301の検出信号によって、実際に払い出された遊技球の数を計数することができる。この例では、払出個数カウントスイッチ301は、払い出された賞球および貸し球の両方を検出する。すなわち、賞球の払い出しと貸し球の払い出しが同一の検出手段によって検出される。よって、部品点数を減らすことができ、遊技機のコストを低減させることができる。ただし、賞球の払い出しと貸し球の払い出しとが別個の検出手段によって検出される構成としてもよい。
この実施の形態では、球払出装置97は、賞球払出と球貸しとを共に行うように構成されている。しかし、賞球払出を行う球払出装置と球貸しを行う球払出装置とが別個に設けられていてもよい。別個に設けられている場合には、賞球払出を行う球払出装置と球貸しを行う球払出装置とで払出手段が構成される。さらに、例えば、カムまたはスプロケットの回転方向を変えて賞球払出と貸し球払出とを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97(モータによってカムを回転させる構成)以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
図5は、主基板31における回路構成の一例を示すブロック図である。なお、図5には、払出制御基板37および演出制御基板80等も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路(遊技制御手段に相当)53と、ゲートスイッチ32a、始動口スイッチ14a、Vカウントスイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、およびクリアスイッチ921からの信号を基本回路53に与える入力ドライバ回路58と、可変入賞球装置15を開閉するソレノイド16、可変入賞球装置20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
なお、ゲートスイッチ32a、始動口スイッチ14a、Vカウントスイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。入賞検出を行う始動口スイッチ14a、Vカウントスイッチ22、カウントスイッチ23、および入賞口スイッチ29a,30a,33a,39aの各スイッチは、入賞領域への遊技球の入賞を検出する入賞検出手段でもある。なお、ゲート32のような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段になる。さらに、この実施の形態では、V入賞領域に入賞した遊技球はVカウントスイッチ22のみで検出されるので、大入賞口に入賞した遊技球数は、Vカウントスイッチ22による検出数とカウントスイッチ23による検出数との和になる。しかし、V入賞領域に入賞した遊技球が、Vカウントスイッチ22で検出されるとともにカウントスイッチ23でも検出されるようにしてもよい。その場合には、大入賞口に入賞した遊技球数は、カウントスイッチ23による検出数に相当する。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
基本回路53は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する変動データ記憶手段)としてのRAM55、およびプログラムに従って制御動作を行う遊技制御用マイクロコンピュータ560を有する遊技制御用マイクロコンピュータ560と、I/Oポート部57とを含む。この実施の形態では、ROM54およびRAM55は遊技制御用マイクロコンピュータ560に内蔵されている。すなわち、遊技制御用マイクロコンピュータ560は、1チップマイクロコンピュータである。1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54は外付けであっても内蔵されていてもよい。また、I/Oポート部57は、1チップマイクロコンピュータに内蔵されていてもよい。
なお、遊技制御用マイクロコンピュータ560において遊技制御用マイクロコンピュータ560がROM54に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ560が実行する(または、処理を行う)ということは、具体的には、遊技制御用マイクロコンピュータ560がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているマイクロコンピュータについても同様である。また、遊技制御手段は、遊技制御用マイクロコンピュータ560を含む基本回路53で実現されている。
また、RAM55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグ等)と未払出賞球数を示すデータは、バックアップRAMに保存される。なお、遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、この実施の形態では、RAM55の全部が、電源バックアップされているとする。
遊技制御用マイクロコンピュータ560のリセット端子には、電源基板910からのリセット信号が入力されるのであるが、電源基板910からのリセット信号は、主基板31において、遅延回路69で遅延される。なお、リセット信号は遊技制御用マイクロコンピュータ560に対する遊技制御用許容信号(CPUを動作可能状態にさせるための信号)および払出制御用マイクロコンピュータ370(図6参照)に対する払出制御用許容信号として共用されるので、遅延回路69は、遊技制御用許容信号が遊技制御用マイクロコンピュータ560に入力されるタイミングを、払出制御用許容信号が払出制御用マイクロコンピュータ370に入力されるタイミングよりも、遅延回路69における遅延量で決まる期間だけ遅延させることになる。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370は動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370は動作停止状態になる。従って、リセット信号がハイレベルである期間は、遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370の動作を許容する許容信号が出力されていることになり、リセット信号がローレベルである期間は、遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370の動作を停止させる動作停止信号が出力されていることになる。
さらに、基本回路53の入力ポートには、払出制御基板37を経由して、電源基板910からの電源電圧が所定値以下に低下したことを示す電源断信号が入力される。また、基本回路53の入力ポートには、RAMの内容をクリアすることを指示するためのクリアスイッチ921が操作されたことを示すクリア信号が入力される。
遊技球を打撃して発射する打球発射装置は発射基板90上の回路によって制御される発射モータ94を含み、発射モータ94が回転することによって遊技球を遊技領域7に向けて発射する。発射モータ94を駆動するための駆動信号は、主基板31から発射基板90を介して発射モータ94に伝達される。そして、遊技者が操作ノブ(打球ハンドル)5に触れていることはタッチセンサで検出され、タッチセンサからの信号が発射基板90に搭載されているタッチセンサ回路(遊技者が操作ノブ5に触れているか否かを検出するための検出回路等を含む回路)に伝達される。発射基板90上の回路は、タッチセンサ回路からの信号がオフ状態を示している場合には、例えばAND回路を用いて、主基板31からの駆動信号の発射モータ94への伝達を停止し、発射モータ94の駆動を停止する。なお、操作ノブ5には、弾発力を調節するものであり、遊技者が接触する部分であるタッチリングが組み付けられている。発射基板90は、遊技機において、タッチリングと主基板31との間に配置され、かつ、タッチリングの近傍に配置されている。具体的には、タッチリングと発射基板90との間の配線長は、発射基板90と主基板31との間の配線長よりも短い。
なお、この実施の形態では、演出制御基板80に搭載されている演出制御手段(演出制御用マイクロコンピュータで構成される。)が、集中中継基板77を介して遊技制御用マイクロコンピュータ560からの演出制御コマンドを受信し、飾り図柄の可変表示などを行う可変表示装置9の表示制御を行う。また、ランプ制御基板35に搭載されているランプ制御手段(ランプ制御用マイクロコンピュータで構成される。)が、遊技盤6に設けられている普通図柄表示器10、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cの表示制御を行う。
また、この実施の形態で用いられている遊技制御用マイクロコンピュータ560は、ソフトウェアで割込禁止に設定できないマスク不能割込(NMI)を発生させるために使用されるマスク不能割込端子(NMI端子)と、遊技制御用マイクロコンピュータ560の外部から割込(外部割込;ソフトウェアで割込禁止にできるマスク可能割込)を発生させるために使用される割込端子(INT端子)とを有する。しかし、この実施の形態では、マスク不能割込および外部割込を使用しない。そこで、NMI端子およびINT端子を、抵抗を介してVcc(+5V)にプルアップしておく。従って、NMI端子およびINT端子の入力レベルは常にハイレベルになり、端子オープン状態に場合に比べて、ノイズ等によってNMI端子およびINT端子の入力レベルが立ち下がって割込発生状態になる可能性が低減する。
図6は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図6に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータ(電気部品制御用マイクロコンピュータの一例)370が搭載されている。この実施の形態では、払出制御用マイクロコンピュータ370は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。払出制御用マイクロコンピュータ370、RAM(図示せず)、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御手段を構成する。すなわち、払出制御手段は、払出制御用CPU371、RAMおよびROMを有する払出制御用マイクロコンピュータ370と、I/Oポートとで実現される。また、I/Oポートは、払出制御用マイクロコンピュータ370に内蔵されていてもよい。払出制御用マイクロコンピュータ370におけるRAMの少なくとも一部は、電源基板910に搭載されているバックアップ電源によって電源バックアップされている。この実施の形態では、全てのRAM領域が電源バックアップされているとする。よって、遊技機に対して電力供給がなされていないときにも、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAMの記憶内容は保存される。
球切れスイッチ187、満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。また、払出モータ位置センサ295からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372eに入力される。払出モータ位置センサ295は、払出モータ289の回転位置を検出するための発光素子(LED)と受光素子とによるセンサであり、遊技球が詰まったこと、すなわちいわゆる球噛みを検出するために用いられる。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、球切れスイッチ187からの球切れ状態を示す検出信号(非確保検出信号)が入力したとき、および、満タンスイッチ48からの満タン状態を示す検出信号(貯留検出信号)が入力したときは、球払出処理を停止する。
さらに、満タンスイッチ48からの満タン状態を示す検出信号(貯留検出信号)は、払出制御基板37にて分岐され(図7参照)、ローレベルの満タン信号として払出制御用マイクロコンピュータ370と発射基板90とにそれぞれ入力される。遊技制御用マイクロコンピュータ560からの発射モータ94への駆動信号(発射制御信号)は、発射基板90を介して発射モータ94に伝えられる。満タン信号が発射基板90に入力されると、発射基板90での発射モータ94への駆動信号の伝達が停止され、打球発射装置からの球発射が停止される。払出制御基板37にて分岐された満タン信号は、発射基板90に搭載されたAND回路91の入力側の一方に入力され、遊技制御用マイクロコンピュータ560からの発射制御信号は、AND回路91の入力側の他方に入力される。そして、AND回路91の出力信号が発射モータ94に入力される。すなわち、払出制御基板37にて分岐された満タン信号が出力されている間(ローレベルとなっている間)は、発射モータ94への駆動信号の出力が停止される。
なお、本例では、遊技制御用マイクロコンピュータ560によって発射モータ94への駆動信号(発射制御信号)が出力される構成とされているが、遊技制御用マイクロコンピュータ560からの信号を受けることなく、発射基板90が、電力供給がされていれば発射モータ94への駆動信号を常時出力する構成としてもよい。なお、発射基板90が駆動信号を常時出力するようにしても、AND回路91などによって、満タン信号が出力されているときや、タッチセンサ回路からの信号がオフ状態を示しているときなどの場合には、発射モータ94への駆動信号は停止状態とされる。
入賞口への入賞があると、主基板31の出力回路67から、払出指令信号として、払い出すべき賞球個数を示す賞球個数信号が出力される(オン状態になる)。また、遊技制御用マイクロコンピュータ560が立ち上がったとき(動作を開始したとき)に、払出起動コマンド(払出起動指令)が出力される。そして、賞球個数信号または払出起動指令の取り込みを指示するための賞球REQ信号(賞球リクエスト信号)が出力される(オン状態になる)。
この実施の形態では、賞球個数信号と払出起動指令とは同じ信号線で伝達される。賞球個数信号および払出起動指令は、5ビットのデータ(2進5桁のデータ)によって構成され、5本の信号線によって出力される。なお、信号のオン状態すなわち出力状態は、信号が有意である状態であり、オン状態になることは、信号を受ける側に対してその信号にもとづく何らかの処理を開始することを指令することを意味する。例えば、賞球個数を示す賞球個数信号および賞球REQ信号がオン状態になるということは、払出制御手段に対して、賞球個数信号が示す払出数を認識するように指令することを意味する。
賞球個数信号および払出起動指令は、入力回路373Aを介してI/Oポート372eに入力される。また、賞球REQ信号は、払出制御用CPU371のマスク可能割込端子(以下、単に割込端子ともいう。)に入力される。払出制御用CPU371は、割込端子に賞球REQ信号が入力されたことにもとづく割込処理で、I/Oポート372eを介して賞球個数信号を入力し、賞球個数信号が示す個数の遊技球を払い出すために球払出装置97を駆動する制御を行う。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す電源確認信号(接続確認信号)も出力される。
払出制御用マイクロコンピュータ370は、遊技機への電力供給が開始されたあと、払出制御処理の実行の準備が完了したときに、主基板31に対してコマンド受信可能状態信号を送信する。コマンド受信可能状態信号は、払出制御基板37の出力ポート372bおよび出力回路373Bを介して主基板31に送信される。そして、主基板31において、入力回路68およびI/Oポート57を介してCPU56に入力される。なお、この実施の形態では、コマンド受信可能状態信号がオン状態になることによって、外部端子割込によるコマンド受信処理が実行可能であることを主基板31に通知したことになる。
なお、この例では、払出制御用マイクロコンピュータ370は、払出個数カウントスイッチ301からの検出信号にもとづいて、1個の賞球の払い出しを確認したときには、主基板31に対して賞球カウント信号を送信する。さらに、払出制御手段は、遊技球の払い出しに関わるエラー(遊技球の払出処理ができない状態となっていることを示すエラーを意味する。具体的には、例えば、下皿満タン状態や球切れ状態が該当する。)が発生したときには、主基板31に対して払出エラー信号を送信する。賞球カウント信号および払出エラー信号は、払出制御基板37の出力ポート372bおよび出力回路373Bを介して主基板31に送信される。そして、主基板31において、入力回路68およびI/Oポート57を介してCPU56に入力される。
また、電源基板910から、電源電圧が所定値以下の低下したことを示す電源断信号、およびRAMの内容をクリアするためのクリアスイッチ921が操作されたことを示すクリア信号とが、入力ポート372gに入力される。
払出制御用マイクロコンピュータ370は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図6では記載省略されている。
また、払出制御用マイクロコンピュータ370は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51および球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
さらに、払出制御用マイクロコンピュータ370からの払出モータ289への駆動信号は、出力ポート372aおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側に、ドライバ回路(モータ駆動回路)が設置されているが、図6では記載省略されている。
遊技機に隣接して設置されているカードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ、連結台方向表示器、カード投入表示ランプおよびカード挿入口が設けられている。インタフェース基板(中継基板)66には、打球供給皿3の近傍に設けられている度数表示LED60、球貸し可LED61、球貸しスイッチ62および返却スイッチ63が接続される。
インタフェース基板66からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ62が操作されたことを示す球貸しスイッチ信号および返却スイッチ63が操作されたことを示す返却スイッチ信号が与えられる。また、カードユニット50からインタフェース基板66には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372fおよび出力ポート372dを介して送受信される。カードユニット50と払出制御基板37の間には、インタフェース基板66が介在している。よって、接続信号(VL信号)等の信号は、図6に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
パチンコ遊技機1の電源が投入されると、払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、電源が投入されると、VL信号を出力する。払出制御用マイクロコンピュータ370は、VL信号の入力状態によってカードユニット50の接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
そして、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でないことを条件に、遊技制御手段から払出指令信号を受けると賞球払出制御を実行する。
カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。すなわち、カードユニット50に対する電源基板910からの電力供給は、払出制御基板37およびインタフェース基板66を介して行われる。この例では、インタフェース基板66内に配されているカードユニット50に対するAC24Vの電源供給ラインに、カードユニット50を保護するためのヒューズが設けられ、カードユニット50に所定電圧以上の電圧が供給されることが防止される。
なお、この実施の形態で用いられている払出制御用マイクロコンピュータ370は、マスク不能割込(NMI)を発生させるために使用されるマスク不能割込端子(NMI端子)と、マスク可能割込を発生させるために使用される割込端子(INT端子)とを有する。しかし、この実施の形態では、マスク不能割込および外部割込を使用しない。そこで、NMI端子およびINT端子を、抵抗を介してVcc(+5V)にプルアップしておく。
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
図7は、カードユニット50と払出制御基板37とで送受される信号を伝達するための回路構成例を示すブロック図である。図7に示すように、カードユニット50からの接続信号(VL信号)は、インタフェース基板66を介して払出制御基板37に入力される。払出制御基板37に入力されたVL信号は、払出制御基板37に搭載されたフォトカプラ151を介して払出制御用マイクロコンピュータ370に入力される。なお、フォトカプラ151には、抵抗器152やコンデンサ153,154等の受動素子が接続されている。
この例では、フォトカプラ151からの出力信号が払出制御基板37上で分岐されてAND回路155の入力側の一方に入力され、AND回路155の入力側の他方に払出制御基板37にて分岐された満タン信号の一方が入力される。そして、AND回路155の出力は、発射基板90に搭載されているAND回路91の入力側の一方に入力される。従って、フォトカプラ151からの出力信号がローレベルとなっているとき、又はローレベルの満タン信号が出力されているときは、発射基板90に搭載されているAND回路91の入力側の一方にローレベル信号が入力することになり、AND回路91の入力側の他方に入力されている発射制御信号の状態に関わらず、発射モータ94への駆動信号の出力が停止される。
また、カードユニット50からのユニット操作信号(BRDY信号)は、インタフェース基板66に搭載されたフォトカプラ66aを介して払出制御基板37に入力され、払出制御用マイクロコンピュータ370に入力される。同様に、カードユニット50からの球貸し要求信号(BRQ信号)は、インタフェース基板66に搭載されたフォトカプラ66bを介して払出制御基板37に入力され、払出制御用マイクロコンピュータ370に入力される。
さらに、払出制御用マイクロコンピュータ370からの球貸し完了信号(EXS信号)は、インタフェース基板66に搭載されたフォトカプラ66cを介してカードユニット50に入力される。同様に、払出制御用マイクロコンピュータ370からのパチンコ機動作信号(PRDY信号)は、インタフェース基板66に搭載されたフォトカプラ66dを介してカードユニット50に入力される。
上記のように、カードユニット50から払出制御用マイクロコンピュータ370に送信されるVL信号を伝達するためのフォトカプラ151を払出制御基板37に搭載する構成としたので、フォトカプラ151に接続される抵抗器152やコンデンサ153,154等の受動素子をも払出制御基板37に搭載する構成とすることができ、インタフェース基板66にコンデンサを一切搭載しないようにすることができる。従って、インタフェース基板66に何らかの不正回路が取り付けられたり、インタフェース基板66が不正基板に交換されたりしたときに、その不正行為を容易に発見することができる。すなわち、一切搭載されていないはずのコンデンサがインタフェース基板66に存在する場合には、何らかの不正行為が行われていると判断することができるため、不正行為を容易に発見することができるようになり、不正行為を防止することができるようになる。
従来の遊技機では、例えば特開2001−347054号公報(特に図11)に記載されているように、インタフェース基板にコンデンサが搭載されていた。よって、払出制御用マイクロコンピュータに対して不正な信号を入力するための不正回路をインタフェース基板に設けた不正基板が作成され、正規のインタフェース基板が不正基板に交換された場合に、基板が交換されたことが発見されにくいという課題があった。
不正基板には、例えば、入賞していない、あるいは球貸し要求がなされていないにもかかわらず、払出動作を実行させるための信号を払出制御基板に入力するための不正回路が搭載された不正インタフェース基板が想定される。そして、不正インタフェース基板を不正に取り付け、遊技機外部からの操作(例えばボタン操作、無線通信操作)によって、不正インタフェース基板から払出制御基板に対する信号の出力指令を行い、遊技媒体(遊技球やメダルなど)を不正に払い出させることにより、不正に遊技媒体を獲得することが考えられる。なお、不正インタフェース基板を作成する際には、その不正インタフェース基板に搭載される回路(あるいは不正インタフェース基板から出力される信号)を安定化させるために、コンデンサが必要とされ、コンデンサ等の受動素子が不正インタフェース基板に搭載されることになる。
これに対し、本例では、インタフェース基板66にコンデンサを全く搭載しない構成としているので、インタフェース基板にコンデンサが搭載されているか否かを確認するだけで、不正基板であるか否かを容易に見分けることができる。また、VL信号ラインのコンデンサ153,154を払出制御基板37に搭載する際に、フォトカプラ151も一緒に払出制御基板37に搭載する構成としているので、インタフェース基板66と払出制御基板37との間において無用に信号経路を往復させることを無くし、省スペース化や、配線数の低減を実現することができる。
なお、図7に示す例では、抵抗器152やコンデンサ153,154が接続されているフォトカプラ151のみを払出制御基板37に搭載する構成としたが、カードユニット50と払出制御用基板37との間で送受される信号を伝達する全てのフォトカプラ151,66a〜66dをも払出制御基板37に搭載するようにしてもよい。このように構成すれば、一切搭載されていないはずのフォトカプラがインタフェース基板66に存在する場合には、何らかの不正行為が行われていると判断することができるようになる。
また、上記のように、払出制御基板37に搭載されたフォトカプラ151からのVL信号(貸出要求受付装置接続信号)の出力が分岐され、払出制御用マイクロコンピュータ370と、発射モータ94を駆動する発射制御信号を伝達する発射基板90とに入力される構成とされているので、フォトカプラ151によるVL信号の伝達状態に応じて発射モータ94の駆動を停止させることができるようになる。図6に示したように、払出制御基板37にて分岐されて発射基板90に送信されるフォトカプラ151によって伝達されたVL信号と、主基板31からの発射制御信号とがAND回路91に入力される。このため、本例では、フォトカプラ151によって伝達されたVL信号がオフ状態(ローレベル状態)のとき、又は、ローレベルの満タン信号が出力されているときは、主基板31からの発射制御信号の状態に関わらず、AND回路91からの出力信号である発射制御信号がオフ状態に維持される。よって、フォトカプラ151がVL信号を伝達していないときは、発射モータ94の駆動が停止されることになる。
図8は、遊技機に設けられている主要な基板の接続状態を示すブロック図である。本例では、主基板31から周辺基板(払出制御基板37を除く。また、基板として形成されているものに限らず、端子が複数配列している端子盤も含む。)への信号は、集中中継基板77を介して出力される。図8に示す例では、情報端子盤34および演出制御基板80への信号が、集中中継基板77を介して出力される。なお、遊技機に設けられている各スイッチ(上述した入賞口スイッチ等)の検出信号は、スイッチ中継基板78を介して主基板31に入力される。
なお、図8には、情報端子盤34および演出制御基板80が例示されているが、主基板31から信号を入力する周辺基板としてさらに多くの基板が存在している場合には、主基板31から出力される信号が1つの集中中継基板77を介して全ての周辺基板に出力されることが好ましい。すなわち、全ての周辺基板に対して1つの集中中継基板77が設けられていることが好ましい。さらに、遊技用装置の一つである電気部品としてのソレノイドに駆動信号を出力するソレノイド回路59(図5参照)からの駆動信号を、集中中継基板77を経由するようにしてもよい。
集中中継基板77は、図示はしないが、遊技機裏面において、基板ボックスに収容されている。すなわち、収納手段としての基板ボックスに集中中継基板77が収納されて遊技機に取り付けられている。基板ボックスは、集中中継基板77が収容されたボックス本体が蓋部で覆われる構造である。なお、ボックス本体および蓋部は、外から内側を視認可能な(例えば透明)合成樹脂等で形成されている。基板ボックスの蓋部が閉じられて機構板に固定されている場合には、例えば透明の蓋部を介して集中中継基板77の表面側を視認できる。また、基板ボックスの蓋部が開かれた状態では、例えば透明のボックス本体の裏面を介して集中中継基板77の裏面側を視認できる。このように、集中中継基板77の表面および裏面は基板ボックスの外部から容易に視認できるので、集中中継基板77に不正がなされていないかどうかの調査を容易に行うことができる。
図9は、主基板31における信号出力部と集中中継基板77に搭載されている部品を示す説明図である。図9に示すように、主基板31において、基本回路53(具体的には遊技制御用マイクロコンピュータの出力ポート)からの信号を情報端子盤34に出力する情報出力回路64、および演出制御基板80に信号を出力する出力バッファ回路67(図5では図示せず)は、集中中継基板77に向かう方向にしか信号を通過させない(集中中継基板77から主基板31への方向には信号を通過させない)信号方向規制手段としての単方向性回路で構成されている。単方向性回路として、トランジスタや、IC回路が使用される。なお、単方向性回路は、電流増幅機能を有していてもよい。
主基板31から集中中継基板77に出力される信号は、主基板31に搭載されているコネクタ31A、集中中継基板77に搭載されているコネクタ77A、およびコネクタ31Aとコネクタ77Aとの間を接続するケーブルで、集中中継基板77に伝達される。集中中継基板77には、主基板31から入力された信号を周辺基板に向かう方向にしか信号を通過させない(周辺基板から集中中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路74,76が搭載されている。単方向性回路74,76として、例えばダイオードやトランジスタが使用される。図9には、ダイオードが例示されている。また、単方向性回路74,76は、各信号毎に設けられる。
また、図9に示す例では、情報出力回路64に出力される信号は、集中中継基板77に搭載されているコネクタ77Bを介して出力される。演出制御基板80に出力される信号は、集中中継基板77に搭載されているコネクタ77Dを介して出力される。
なお、図9には、主基板31から集中中継基板77には1つのコネクタを介して信号が出力される例が示されているが、複数のコネクタおよびケーブルを介して主基板31から集中中継基板77に信号が出力されるようにしてもよい。また、この実施の形態では、主基板31と払出制御基板37との間の信号は集中中継基板77を経由しないが、主基板31と払出制御基板37との間の信号として、主基板31から払出制御基板37に向かう信号しか存在しない場合には、主基板31から払出制御基板37に向かう信号が、集中中継基板77を経由するように構成してもよい。
また、集中中継基板77に、信号方向規制手段だけでなく、ノイズフィルタなどのノイズ除去用の部品を搭載してもよい。すなわち、中継基板において、遊技制御基板から入力される信号(全て、または、特にノイズ対策を行うことが望まれる演出制御コマンドやINT信号などの主要な信号すなわち正しく入力されないと遊技進行に支障を来す信号)に対してノイズ除去手段が設けられていることが好ましい。ノイズ除去用の部品を搭載することによって、主基板31と周辺基板との間の配線長が長くなっても、周辺基板に至る信号にノイズが乗る可能性を低減できる。また、集中中継基板77において、主基板31から入力される信号(例えば信号についての電流)を増幅する増幅手段が搭載されていてもよい。そのように構成されている場合には、中継基板において増幅処理がなされるので、主基板31や周辺基板に搭載される増幅回路をなくすことができる。
図10は、演出制御基板80、枠側ランプドライバ基板35および音声制御基板70の回路構成例を示すブロック図である。なお、図10に示す例では、枠側ランプドライバ基板35には、マイクロコンピュータは搭載されていない。演出制御基板80において、演出制御用マイクロコンピュータにおける演出制御用CPU101は、ROM(図示せず)に格納されたプログラムに従って動作し、集中中継基板77を介して入力される主基板31からのストローブ信号(演出制御INT信号)に応じて、入力ポート103を介して演出制御コマンドを受信する。また、演出制御用CPU101は、演出制御コマンドにもとづいて、VDP109に、LCDを用いた可変表示装置9の表示制御を実行させる。
演出制御コマンドおよび演出制御INT信号は、演出制御基板80において、まず、入力ドライバ102に入力する。入力ドライバ102は、集中中継基板77から入力された信号を演出制御基板80の内部に向かう方向にしか信号を通過させない(演出制御基板80の内部から集中中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路でもある。
さらに、演出制御用CPU101は、出力ポート104および出力ドライバ110を介して音声制御基板70に対して音番号データを出力する。また、演出制御用CPU101に入出力するバス(アドレスバス、データバス、および書込/読出信号等の制御信号ラインを含む)はバスドライバ105を介して枠側ランプドライバ基板35まで延長されている。また、演出制御用CPU101は、操作スイッチ81から、遊技者によって操作がなされたか否かを示す操作信号を入力する。
枠側ランプドライバ基板35において、演出制御用CPU101に入出力するバスは、バスレシーバ351を介して出力ポート352に接続される。出力ポート352から出力される各ランプを駆動する信号は、ランプドライバ354で増幅され各ランプに供給される。また、出力ポート352から出力される各LEDを駆動する信号は、LED駆動回路355で増幅され各LEDに供給される。
この実施の形態では、枠側に設けられているランプ・LEDは、演出制御基板80に搭載されている演出用CPU101を含む演出制御手段によって制御される。また、可変表示装置9およびランプ・LED等を制御するためのデータがROMに格納されている。演出用CPU101は、ROMに格納されているデータにもとづいて可変表示装置9およびランプ・LED等を制御する。そして、枠側ランプドライバ基板35に搭載されている出力ポート352および各ドライバまたは駆動回路を介して、ランプ・LEDが駆動される。
なお、演出制御基板80、枠側ランプドライバ基板35および音声制御基板70は独立した基板であるが、それらは、例えば、遊技機裏面において、1つのボックスに収容された状態で設置される。
音声制御基板70において、演出制御基板80からの音番号データは、入力ドライバ702を介して、音声制御用CPU(この例ではI/Oポートを内蔵した音声制御用マイクロコンピュータ)701に入力される。音声制御用CPU701は、演出制御基板80から音番号データを入力すると、応答信号を演出制御基板80に出力する。演出制御基板80において、応答信号は、入力ポート103を介して演出制御用CPU101に入力される。なお、この実施の形態では、演出制御基板80から音声制御基板70に送信される音声制御コマンド(音番号データ)に対して、応答信号が音声制御基板70から演出制御基板80に送信される双方向通信によってコマンドが伝達されるが、単方向通信によって演出制御基板80から音声制御基板70にコマンドが伝達されるようにしてもよい。また、図10では、応答信号についての入出力ドライバは示されていないが、音声制御コマンドの場合と同様に、応答信号を通す入出力ドライバを設けることが好ましい。
音声制御用CPU701は、音番号データに応じたデータを音声データROM704から読み出し、読み出したデータに応じた制御信号を例えばディジタルシグナルプロセッサによる音声合成用IC703に出力する。音声合成用IC703は、音声制御用CPU701から入力された制御信号に応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。なお、音声制御基板70には、音声制御用マイクロコンピュータが搭載されていなくてもよい。その場合には、演出制御用CPU101からの音番号データは、音声合成用IC703に入力される。また、音声制御基板70に音声制御用マイクロコンピュータが搭載されていない場合には、演出制御用CPU101からの信号を受けたことに応じて、音声合成用IC703により、音声動作の確認ためのフィードバック信号が演出制御用CPU101に対して出力される。
次に、電源基板910の構成を図11のブロック図を参照して説明する。電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。なお、電源スイッチ914は、遊技機において、電源基板910の外に設けられていてもよい。電源スイッチ914が閉状態(オン状態)では、交流電源(AC24V)が、過電圧保護回路としてのバリスタ918を介して、整流回路912に印加される状態になる。すなわち、遊技機に電力供給がなされる状態になる。
電源基板910は、電気部品制御基板(主基板31および払出制御基板37等)と独立して設置され、遊技機内の各基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、VLP(DC+24V)、VDD(DC+12V)およびVCC(DC+5V)を生成する。また、バックアップ電源(VBB)すなわちバックアップRAMに記憶内容を保持させるための記憶保持手段となるコンデンサ916は、DC+5V(VCC)すなわち各基板上のIC等を駆動する電源のラインから充電される。また、+5Vラインとバックアップ+5V(VBB)ラインとの間に、逆流防止用のダイオード917が挿入される。なお、VSLは、整流平滑回路915において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。また、VLPは、ランプ点灯用の電圧であって、整流回路912において、整流素子でAC24Vを整流することによって生成される。
電源電圧生成手段としてのDC−DCコンバータ913は、1つまたは複数のレギュレータIC(図11では2つのレギュレータIC924A,924Bを示す。)を有し、VSLにもとづいてVDDおよびVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。
図11に示すように、AC24Vは、そのままコネクタ922Bに供給される。また、VLPは、コネクタ922Cに供給される。VCC、VDDおよびVSLは、コネクタ922A,922B,922Cに供給される。
コネクタ922Aに接続されるケーブルは、主基板31に接続される。また、コネクタ922Bに接続されるケーブルは、払出制御基板37に接続される。従って、コネクタ922A,922Bには、VBBも供給されている。そして、コネクタ922Cに接続されるケーブルは、ランプ制御基板35に接続される。なお、演出制御基板80および音声制御基板70には、ランプ制御基板35を経由して各電圧が供給される。
また、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ922Bを介して払出制御基板37に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、クリアスイッチ921は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ921は、遊技機において、例えば払出制御基板37などの電源基板910以外の基板やその他の場所に設けられていてもよい。
さらに、電源基板910には、それぞれの電気部品制御基板に搭載されている各マイクロコンピュータに対するシステムリセット信号(リセットレベルではマイクロコンピュータの動作を禁止し、非リセットレベルになるとマイクロコンピュータの動作を可能にする信号)を作成するとともに、電源断信号を出力する電源監視回路920と、電源監視回路920からのリセット信号を増幅してコネクタ922A,922B,922Cに出力するとともに、電源断信号を増幅してコネクタ922Bに出力する出力ドライバ回路925が搭載されている。なお、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370に対するシステムリセット信号は主基板31と払出制御基板37に直接伝達されるが、表示制御用マイクロコンピュータおよび音声制御用マイクロコンピュータに対するシステムリセット信号はランプ制御基板35を経由して演出制御基板80および音声制御基板70に伝達される。しかし、電源基板910から、演出制御基板80、ランプ制御基板35および音声制御基板70のそれぞれに直接伝達されるようにしてもよい。
電源監視回路920は電源断信号を出力する電源監視手段とシステムリセット信号を生成するリセット信号生成手段とを実現する回路であるが、電源監視回路920として、市販の停電監視リセットモジュールICを使用することができる。電源監視回路920は、遊技機において用いられる所定電圧(例えば+24V)が所定値(例えば+17V)以下になった期間が、あらかじめ決められている時間(例えば56ms)以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態(ローレベル)にする。また、電源監視回路920は、例えば、VCCが+4.5V以下になると、システムリセット信号をローレベルにすることが可能な状態になる。
電源監視回路920は、遊技機に対する電力供給が停止する際には、電源断信号を出力(ローレベルにする)してから所定期間が経過したときに、システムリセット信号をローレベルにすることになる。また、遊技機に対する電力供給が開始され、VCCが例えば+4.5Vを越えるとシステムリセット信号をハイレベルにするのであるが、その場合に、電源断信号が出力されなくなってから(ハイレベルにしてから)所定期間が経過したことを条件にシステムリセット信号をハイレベルにする。
電源監視回路920からの電源断信号は、払出制御基板37において、入力ポート372gを介して払出制御用CPU371に入力される(図5参照)。従って、払出制御用CPU371は、入力ポート372gの入力信号を監視することによって遊技機への電力供給の停止の発生を確認することができる。
なお、この実施の形態では、電源監視手段が所定電位の電源の出力を監視し、外部から遊技機に供給される電力の供給停止に関わる検出条件として、遊技機の外部からの電圧(この実施の形態ではAC24V)から作成された所定の直流電圧が所定値以下になったことを用いたが、検出条件は、それに限られず、外部からの電力が途絶えたことを検出できるのであれば、他の条件を用いてもよい。例えば、交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をディジタル化した信号を監視して、ディジタル信号が平坦になったことをもって交流波が途絶えたことを検出条件としてもよい。
図12および図13は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図12に示すように、出力ポート0は払出制御基板37に送信される賞球個数信号(CD0〜CD4)の出力ポートである。また、演出制御基板80に送信される演出制御コマンドの8ビットのデータ(CD0〜CD7)は出力ポート1から出力される。
また、出力ポート2から、大入賞口の開閉板2を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21Aおよび可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号が出力される。さらに、演出制御基板80に送信される演出制御コマンドについての演出制御INT信号(ストローブ信号)も出力される。演出制御INT信号は、演出制御コマンドの8ビットのデータを取り込むことを演出制御手段に指令するための信号である。さらに、ステッピングモータによる発射モータ94に供給される各相の信号が、出力ポート2から出力される。
そして、出力ポート3,4から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。
図14は、遊技制御手段におけるにおける入力ポートのビット割り当ての例を示す説明図である。図14に示すように、入力ポート0のビット0〜7には、それぞれ、Vカウントスイッチ22、カウントスイッチ23、ゲートスイッチ32a、入賞口スイッチ33a、39a,29a,30a、始動口スイッチ14aの検出信号が入力される。また、入力ポート1のビット0〜1,3〜6には、それぞれ、電源監視基板910からの電源断信号、電源基板910からのクリアスイッチ921の検出信号、スイッチコモン監視信号、払出制御基板37からのコマンド受信可能状態信号、払出制御基板37からの賞球カウント信号および払出エラー信号が入力される。なお、各スイッチからの検出信号は、入力ドライバ回路58において論理反転されている。また、賞球カウント信号、および払出エラー信号は、入力回路68において論理反転されている。
次に遊技機の動作について説明する。図15および図16は、主基板31における遊技制御手段が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。
次いで、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行する。具体的には、まず、ウェイトカウンタ1に、初期化ウェイト回数指定値1をセットする(ステップS4)。また、ウェイトカウンタ2に、初期化ウェイト回数指定値2をセットする(ステップS5)。なお、ウェイトカウンタ1,2として、CPU56が内蔵する汎用のレジスタ(HLレジスタやBCレジスタ)が用いられる。そして、ウェイトカウンタ2の値が0になるまでウェイトカウンタ2の値を1ずつ減算する(ステップS6,S7)。ウェイトカウンタ2の値が0になったらウェイトカウンタ1の値を1減算し(ステップS8)、ウェイトカウンタ1の値が0になっていなければ(ステップS9)、ステップS5に戻る。ウェイトカウンタ1の値が0になっていれば、ソフトウェア遅延処理を終了する。
以上のようなソフトウェア遅延処理(ステップS4〜ステップS9)によって、ほぼ、[(初期化ウェイト回数指定値1)×(初期化ウェイト回数指定値2)×(ステップS6,S7の処理時間)]だけ、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。換言すれば、所望の時間だけ遊技制御処理の開始タイミングを遅延させることができるように、初期化ウェイト回数指定値1,2の値が決定される。なお、初期化ウェイト回数指定値1,2の値は、ROM54に設定されている。また、ここで説明したソフトウェア遅延処理は一例であって、他の方法によってソフトウェア遅延処理を実現してもよい。
この実施の形態で用いられるCPU56は、(内蔵デバイス(内蔵周辺回路)として、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
ソフトウェア遅延処理を終了すると、内蔵デバイスレジスタの初期化(内蔵デバイスの入出力割り当てなどの設定)を行うとともに、内蔵デバイスであるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化を行う(ステップS10)。PIOの初期化とは、例えば、出力ポートの全ビットにオフ状態の値を設定することである。CTCの初期化とは、タイマのモード設定等のことである。
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
次いで、CPU56は、払出起動指令(払出起動コマンド)を払出制御基板37に送信する払出起動コマンド送信処理を実行した後(ステップS11)、RAM55をアクセス可能状態に設定する(ステップS12)。
そして、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS13)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS21〜ステップS27)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はローレベルである。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS14)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていたことを確認した場合には、CPU56はバックアップありと判定する。そのような保護処理が行われていないことを確認した場合には、CPU56は初期化処理を実行する。
保護処理が行われていたか否かは、後述する電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、バックアップRAM領域のデータ保護処理を実行したことに応じた値(例えば2)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域にデータ保護処理を実行したことを示すフラグをセットし、ステップS14において、そのフラグがセットされていることを確認したらバックアップありと判定してもよい。
バックアップありと判定したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS15)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS15では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理(ステップS21〜S27の処理)を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS16)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS17)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS16およびS17の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)や未払出賞球数を示すデータが設定されている部分である。
次いで、CPU56は、払出制御基板37からのコマンド受信可能状態信号がオン状態となっているか否か確認する(ステップS18)。すなわち、払出制御基板37が外部端子割込に応じた信号入力処理を実行可能な状態となっているか否か確認する。
コマンド受信可能状態信号がオン状態であることを確認すると、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS19)、その内容に従ってサブ基板(払出制御基板37および演出制御基板80)に、電力供給が復旧した旨を示す制御コマンドが送信されるように制御する(ステップS20)。そして、ステップS27に移行する。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS21)。なお、RAM55の全領域を初期化せず、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。例えば、大当り判定用乱数を生成するためのカウンタのカウント値のデータをそのままにした場合には、不正な手段によって初期化処理が実行される状態になったとしても、大当り判定用乱数を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを狙うことは困難である。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS22)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS23)。ステップS22およびS23の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
次いで、CPU56は、払出制御基板37からのコマンド受信可能状態信号がオン状態となっているか否か確認する(ステップS24)。すなわち、払出制御基板37が外部端子割込に応じた信号入力処理を実行可能な状態となっているか否か確認する。
コマンド受信可能状態信号がオン状態であることを確認すると、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS25)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS26)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド等がある。
そして、ステップS27において、CPU56は、所定時間(例えば4ms)毎に定期的にタイマ割込がかかるようにCPU56に内蔵されているCTCのレジスタの設定を行なう。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS21〜S27)が完了すると、CPU56は、表示用乱数更新処理(ステップS29)および初期値用乱数更新処理(ステップS30)を繰り返し実行する。CPU56は、表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態にして(ステップS28)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする(ステップS31)。なお、表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている可変表示装置9、可変入賞球装置、球払出装置等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
なお、表示用乱数更新処理および初期値用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理および初期値用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS29,S30の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数や初期値用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS29,S30の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
図17は、ステップS11の払出起動コマンド送信処理を示すフローチャートである。払出起動コマンド送信処理において、CPU56は、出力ポート0(図12参照)の下位5ビットに[1,0,0,0,0](「1」の位置がビット4)を出力する(ステップS61)。すなわち、5ビット構成の賞球個数信号として、払出起動コマンドを出力ポート0に出力する。次いで、出力ポート0のビット6を「0」にする(ステップS62)。すなわち、賞球REQ信号をオン状態にする。そして、ソフトウェアで賞球REQ信号のオン時間を設定するための遅延処理を行う(ステップS63)。ここでの遅延処理は、例えば、汎用のレジスタ(HLレジスタやBCレジスタ)に遅延時間に相当する値を設定し、レジスタの値を−1する処理を繰り返し実行し、レジスタの値が0になったら処理終了とするような処理である。また、遅延時間は、割込端子に賞球REQ信号が入力されたことを払出制御用CPU371が認識するのに十分な時間に設定される。
そして、出力ポート0のビット6を「1」にする(ステップS64)。すなわち、賞球REQ信号をオフ状態にする。その後、出力ポート0の下位5ビットを[0,0,0,0,0]にしておく(ステップS65)。すなわち、賞球個数信号としてオール0が出力されている状態にしておく。
図18は、遊技機に対して電力供給が開始されたとき、および電力供給が停止したときの、マイクロコンピュータの動作の様子を示すタイミング図である。なお、ここでは、電力供給が開始されたときに初期化処理が実行される場合を例に説明する。遊技機に対して電力供給が開始されDC+24V電源の電圧が所定値を越えると、電源断信号がオフ状態になる。また、VCCの値が所定値を越えるとリセット信号がハイレベルになる。なお、上述したように、電源監視回路920は、電源断信号をオフ状態にしてからリセット信号をハイレベルにする。リセット信号は、主基板31および払出制御基板37に入力され、ランプドライバ基板36を介して演出制御基板80に入力する。そして、払出制御基板37に搭載されている払出制御用CPU371および演出制御基板80に搭載されている演出制御用CPU101のリセット端子に入力される。
主基板31に入力されたリセット信号がCPU56のリセット端子に入力すると(リセット端子の入力レベルがハイレベルになると)、CPU56が動作可能状態(マイクロコンピュータがリセットされてプログラムを実行する状態になること)になるが、動作可能状態になると、CPU56は、まず、セキュリティチェックプログラムにもとづいて、ROMの内容が正当であるか否か確認するためのセキュリティチェック処理を実行する。そして、セキュリティチェック処理を終了すると、ソフトウェア遅延処理を実行する。その後、払出起動コマンドの送信処理を実行し、次いで、クリアスイッチ921の出力信号の状態をチェックする処理を行った後、初期化処理の一部(コマンドを送信する処理以外の処理)を行い、その後にコマンド受信可能状態信号の受信待ち状態となる。そして、コマンド受信可能状態信号を受信すると、初期化処理の一部を実行したあと、遊技制御処理を開始する。なお、クリアスイッチ921の出力信号がオン状態を示していたら、RAMクリア処理等を行う。
払出制御用CPU371は、リセット信号がハイレベルになると動作可能状態になる。動作可能状態になると、まず、初期設定処理の一部を実行する。その後、主基板31から払出起動コマンドが送信されてくるのを待ち、払出起動コマンドを受信できたら、クリアスイッチ921の出力信号の状態をチェックする処理を行った後、コマンド受信可能状態信号の送信処理を実行し、その後に払出制御処理を開始する。なお、クリアスイッチ921の出力信号がオン状態を示していたら、RAMクリア処理等を行う。
CPU56は、クリアスイッチ921の出力信号の状態をチェックする処理を行う直前に払出起動コマンドを送信し、払出制御用CPU371は、払出起動コマンドを確認したらクリアスイッチ921の出力信号の状態をチェックする処理を行う。また、セキュリティチェック処理およびソフトウェア遅延処理の実行によって、CPU56が払出起動コマンド送信処理を開始する時点では、払出制御用CPU371は、払出起動コマンドが送信されてくるのを待つ状態になっている。
よって、例えば、払出制御用CPU371によってクリアスイッチ921の出力信号のオン状態が検出されたのにもかかわらず、CPU56によってクリアスイッチ921の出力信号のオン状態が検出されないという事態が生ずることが防止される。逆に、CPU56によってクリアスイッチ921の出力信号のオン状態が検出されたのにもかかわらず、払出制御用CPU371によってクリアスイッチ921の出力信号のオン状態が検出されないという事態が生ずることが防止される。すなわち、操作手段の操作がなされているか否かの確認処理をほぼ同時に行うようにしているので、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とにおけるクリアスイッチ921の出力信号の状態の確認結果を一致させることができ、クリアスイッチ921が押下されていたときには、各変動データ記憶手段の内容を確実に初期化できる。
また、本例では、払出制御用CPU371は、コマンド受信可能状態信号を送信したあと払出制御処理を開始し、CPU56は、コマンド受信可能状態信号を確認したら初期化処理の一部(コマンド送信を行う部分)を実行したあと遊技制御処理を開始する。よって、払出制御処理が開始される前に、外部端子割込によって受信される払出制御コマンドがCPU56によって送信されることが確実に防止される。従って、払出制御コマンドのとりこぼしを確実に回避することができる。
遊技機に対する電力供給が停止すると、DC+24V電源の電圧も徐々に低下するのであるが、電源監視回路920は、DC+24V電源の電圧が所定値を下回ると、電源断信号を出力する(ローレベルにする)。電源断信号は、主基板31および払出制御基板37に入力されている。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、電源断信号が出力されたことに応じて、電力供給停止時処理(電源断時制御処理ともいう。)を実行する。そして、電源監視回路920は、VCCが所定値を下回ると、リセット信号をローレベルにする。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、リセット信号がローレベルになったことに応じてシステムリセットされる。すなわち、CPU56および払出制御用CPU371は、動作しない状態になる。なお、電源監視回路920は、電源電圧が低下していくときに、電源断信号を出力した時点から、所定時間が経過すると、リセット信号をローレベルにする。
次に、遊技制御処理について説明する。図19は、タイマ割込処理を示すフローチャートである。メイン処理に実行中に、具体的には、ステップS28〜S31のループ処理の実行中に、タイマ割込が発生すると、CPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS40)。また、発射モータ94に対する励磁パターンの出力処理(発射モータφ1〜φ4のパターンの出力ポート0への出力)を行う(ステップS41)。なお、ステップS42の発射モータ制御処理において、励磁パターンがRAM領域である励磁パターンバッファに格納され、ステップS41では、CPU56は、励磁パターンバッファの内容を出力ポート2の上位4ビットに出力する処理を行う。
次に、CPU56は、発射モータ制御処理を実行する(ステップS42)。発射モータ制御処理では、発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。
次いで、CPU56は、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS43)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。また、払出制御基板37からの賞球カウント信号の受信に応じて、賞球の払い出しが行われたことを遊技者に報知するための処理、具体的には賞球払出確認指定コマンドを表示制御基板80に送信する処理(図28参照)を実行する(賞球報知処理:ステップS44)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS45)。CPU56は、さらに、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS46,S47)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS48)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS49)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、飾り図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(飾り図柄コマンド制御処理:ステップS50)。また、普通図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS51)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS52)。
また、CPU56は、入賞口スイッチ29a,30a,33a,39a等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS53)。具体的には、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す賞球個数信号を出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す賞球個数信号に応じて球払出装置97を駆動する。
そして、CPU56は、始動入賞記憶数の増減をチェックする記憶処理を実行する(ステップS54)。また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS55)。また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポート2のRAM領域におけるソレノイドに関する内容(図12参照)を出力ポートに出力する(ステップS56:ソレノイド出力処理)。その後、割込許可状態に設定し(ステップS57)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は定期的(例えば4ms毎)に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。また、ステップS41〜S56の処理(ステップS52およびS55を除く)が、遊技の進行を制御する遊技制御処理に相当する。
図20および図21は、ステップS40の電源断処理の一例を示すフローチャートである。電源断処理において、CPU56は、まず、電源断信号が出力されているか否か(オン状態になっているか否か)確認する(ステップS450)。オン状態でなければ、RAM55に形成されるバックアップ監視タイマの値を0クリアする(ステップS451)。オン状態であれば、RAM55に形成されるバックアップ監視タイマの値を1増やす(ステップS452)。そして、バックアップ監視タイマの値が判定値(例えば2)と一致すれば(ステップS453)、ステップS454以降の電力供給停止時処理すなわち電力の供給停止のための準備処理を実行する。つまり、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理(電源断時制御処理)を実行する状態に移行する。
バックアップ監視タイマと判定値とを用いることによって、判定値に相当する時間だけ電源断信号のオン状態が継続したら、電力供給停止時処理が開始される。すなわち、ノイズ等で一瞬電源断信号のオン状態が発生しても、誤って電力供給停止時処理が開始されるようなことはない。なお、RAM55に形成されるバックアップ監視タイマの値は、遊技機への電力供給が停止しても、所定期間はバックアップ電源によって保存される。従って、メイン処理におけるステップS14では、バックアップ監視タイマの値が判定値と同じ値になっていることによって、電力供給停止時処理の処理結果が保存されていることを確認できる。
電力供給停止時処理において、CPU56は、パリティデータを作成する(ステップS454〜S463)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS454)、電力供給停止時でも内容が保存されるべきRAM領域の先頭アドレスに相当するチェックサム算出開始アドレスをポインタにセットする(ステップS455)。また、電力供給停止時でも内容が保存されるべきRAM領域の最終アドレスに相当するチェックサム算出回数をセットする(ステップS456)。
次いで、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS457)。演算結果をチェックサムデータエリアにストアするとともに(ステップS458)、ポインタの値を1増やし(ステップS459)、チェックサム算出回数の値を1減算する(ステップS460)。そして、ステップS457〜S460の処理を、チェックサム算出回数の値が0になるまで繰り返す(ステップS461)。
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS462)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS463)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS471)。以後、内蔵RAM55のアクセスができなくなる。
さらに、CPU56は、ROM54に格納されているポートクリア設定テーブルの先頭アドレスをポインタにセットする(ステップS472)。ポートクリア設定テーブルにおいて、先頭アドレスには処理数(クリアすべき出力ポートの数)が設定され、次いで、出力ポートのアドレスおよび出力値データ(クリアデータ:出力ポートの各ビットのオフ状態の値)が、処理数分の出力ポートについて順次設定されている。
CPU56は、ポインタが指すアドレスのデータ(すなわち処理数)をロードする(ステップS473)。また、ポインタの値を1増やし(ステップS474)、ポインタが指すアドレスのデータ(すなわち出力ポートのアドレス)をロードする(ステップS475)。さらに、ポインタの値を1増やし(ステップS476)、ポインタが指すアドレスのデータ(すなわち出力値データ)をロードする(ステップS477)。そして、出力値データを出力ポートに出力する(ステップS478)。その後、処理数を1減らし(ステップS479)、処理数が0でなければステップS474に戻る。処理数が0であれば、すなわち、クリアすべき出力ポートを全てクリアしたら、タイマ割込を停止し(ステップS481)、ループ処理に入る。
ループ処理では、電源断信号がオフ状態になったか否かを監視する(ステップS482)。電源断信号がオフ状態になった場合には復帰アドレスとして、電源投入時実行アドレス(ステップS1のアドレス)を設定してリターン命令を実行する(ステップS483)。すなわち、メイン処理に戻る。具体的には、遊技機に設けられている遊技用の装置を制御(自身で制御することと、他のマイクロコンピュータに制御させるために指令信号を送信することの双方を含む概念)する状態に戻る。
以上の処理によって、電力供給が停止する場合には、ステップS454〜S481の電力供給停止時処理が実行され、電力供給停止時処理が実行されたことを示すデータ(バックアップあり指定値およびチェックサム)がバックアップRAMへストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされ、かつ、遊技制御処理を実行するためのタイマ割込が禁止状態に設定される。
この実施の形態では、RAM55の全領域がバックアップ電源によって電源バックアップ(遊技機への電力供給が停止しても所定期間はRAM55の内容が保存されこと)されている。従って、ステップS452〜S479の処理によって、バックアップ監視タイマの値とともに、電源断信号が出力されたときのRAM55の内容にもとづくチェックサムもRAM55に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御手段は、上述したステップS16〜S20の処理によって、RAM55に保存されているデータ(電力供給が停止した直前の遊技制御手段による制御状態である遊技状態を示すデータ(例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等)を含む)に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップ監視タイマの値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップS21〜S27の初期化処理が実行される。
以上のように、電力供給停止時処理(電力の供給停止のための準備処理)によって、遊技状態を電力供給が停止した直前の状態に戻すためのデータが確実に変動データ記憶手段(この例ではRAM55の全領域)に保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、遊技状態を電力供給が停止した直前の状態に戻すことができる。なお、RAM55の全領域が電源バックアップされるのではなく、遊技状態を電力供給が停止した直前の状態に戻すためのデータを記憶する領域のみが電源バックアップされるようにしてもよい。
また、電源断信号がオフ状態になった場合には、ステップS1に戻る。その場合、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップS16〜S20の遊技状態復旧処理が実行される。よって、電力供給停止時処理を実行した後に電源監視手段からの検出信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。
なお、払出制御基板37に対して送信される接続確認信号は、出力ポートをクリアする処理によってオフ状態に設定される。また、ステップ17およびS23の作業領域の設定では、接続確認信号に対応した出力ポートバッファの内容が、接続確認信号のオン状態に対応した値に設定される。そして、ステップS53の賞球処理が実行されると、出力ポートバッファの内容が出力ポートに出力されるので、払出制御基板37への接続確認信号がオン状態になる。従って、接続確認信号は、主基板31の立ち上がり時に出力される(オン状態になる)ことになる。なお、電源瞬断等から復帰した場合も、接続確認信号が出力される。
図22は、ステップS42の発射モータ制御処理を示すフローチャートである。発射モータ制御処理において、CPU56は、発射モータ励磁パターンカウンタを+1する(ステップS151)。そして、ROM54に格納されている発射モータ励磁パターンテーブルから、励磁パターンカウンタの値に応じたデータを読み出す(ステップS152)。さらに、読み出したデータを、発射モータ励磁パターンバッファにセットする(ステップS153)。上述したように、発射モータ励磁パターンバッファの内容は、ステップS41において出力ポートに出力される。なお、発射モータ励磁パターンテーブルには、発射モータ94を回転させるための各ステップの励磁パターン(発射モータφ1〜φ4)のデータが順次設定されている。
次に、メイン処理におけるスイッチ処理(ステップS43)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図23は、スイッチ処理で使用されるRAM55に形成される各1バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば4ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
図24は、遊技制御処理におけるステップS43のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0(図14参照)に入力されているデータを入力し(ステップS101)、入力したデータをポートバッファにセットする(ステップS102)。次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS103)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS104,S105)。
ウェイトカウンタの値が0になると、再度、入力ポート0のデータを入力し(ステップS106)、入力したデータとポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS107)。そして、論理積の演算結果を、ポートバッファにセットする(ステップS108)。ステップS103〜S108の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS14,S105の処理時間)]の時間間隔を置いて入力ポート0から入力した2回の入力データのうち、2回とも「1」になっているビットのみが、ポートバッファにおいて「1」になる。つまり、所定期間としての[ウェイトカウンタの初期値×(ステップS14,S105の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファにおける対応するビットが「1」になる。
さらに、CPU56は、前回ポートバッファにセットされているデータとポートバッファにセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS109)。排他的論理和の演算結果において、前回(例えば4ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。CPU56は、さらに、排他的論理和の演算結果と、ポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS110)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが「1」として残る。
そして、CPU56は、ステップS110における論理積の演算結果をスイッチオンバッファにセットし(ステップS111)、ステップS108における演算結果がセットされているポートバッファの内容を前回ポートバッファにセットする(ステップS112)。
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば4ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファにおいて「1」になっている。
次に、主基板31と払出制御基板37との間で送受信される制御信号について説明する。図25は、遊技制御手段から払出制御手段に対して出力される制御信号および遊技制御手段に払出制御手段から入力される制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で複数種類の制御信号が送受信される。図25に示すように、接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、接続確認信号は、賞球払出が可能な状態であることを示す。なお、この実施の形態では、遊技制御手段が遊技制御処理を開始する前に払出起動コマンドを送信するので、接続確認信号を使用しなくてもよい。接続確認信号を使用しない場合には、払出起動コマンドが、賞球払出が可能な状態であることを示す信号を兼ねる。
賞球REQ信号は、賞球の払出要求時または払出起動コマンドの送信時に出力状態(=オン状態)になる信号である。また、賞球REQ信号は、オン状態となった後にあらかじめ定められた所定期間が経過すると、停止状態(オフ状態=オール0の状態)になる。賞球個数信号は、払出要求を行う遊技球の個数(1〜15個)を指定するために出力される信号(賞球個数コマンド)として使用される。
コマンド受信可能状態信号は、払出制御手段が外部端子割込によるコマンド入力処理を実行可能となったときにオン状態とされる信号である。すなわち、コマンド受信可能状態信号がオン状態であるときは外部端子割込によるコマンド入力処理が実行可能な状態であることを示し、コマンド受信可能状態信号がオフ状態であるときは外部端子割込によるコマンド入力処理が実行不能な状態であることを示す。
賞球カウント信号は、払出制御手段が1個の賞球の払い出しを確認するとオン状態にされ、あらかじめ決められている所定期間後にオフ状態になる信号である。払出エラー信号は、払い出しに関わるエラー状態が発生するとオン状態にされ、エラー状態が解除されるとオフ状態にされる信号である。
図26は、図25に示す各制御信号の送受信に用いられる信号線等を示すブロック図である。図26に示すように、接続確認信号、賞球REQ信号、および賞球個数信号は、CPU56によって出力回路67を介して出力され、入力回路373Aを介して払出制御用CPU371に入力される。また、コマンド受信可能状態信号、賞球カウント信号、および払出エラー信号は、払出制御用CPU371によって出力回路373Bを介して出力され、入力回路68を介してCPU56に入力される。接続確認信号、賞球REQ信号、コマンド受信可能状態信号、賞球カウント信号、および払出エラー信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。賞球個数信号は、1個〜15個の賞球払出を指定するとともに、さらに払出起動指令としても使用されるので、5ビットのデータで構成され5本の信号線によって送信される。
図27は、賞球個数信号の出力の仕方の一例を示すタイミング図である。図27に示すように、遊技制御手段は、遊技機に対して電力供給が開始されたことに関連して、払出起動コマンド(払出起動指令)を払出制御手段に送信する。具体的には、賞球個数信号として10(H)を出力するとともに、賞球REQ信号をオン状態にする。
払出制御手段は、払出起動コマンドの受信に応じて初期設定処理などを実行したあと、払出制御処理を開始する前に、コマンド受信可能状態信号をオン状態とする。遊技制御手段は、コマンド受信可能状態信号がオン状態であることを確認すると、遊技制御処理を開始する。なお、遊技制御手段は、遊技制御処理を開始するときに、接続確認信号をオン状態にする。
その後、入賞検出スイッチが遊技球の入賞を検出すると、遊技制御手段は、賞球REQ信号をオン状態にするとともに、賞球個数信号の出力状態を、入賞に応じて払い出される賞球数に応じた状態にする。なお、この実施の形態では、始動口スイッチ14aで遊技球が検出されると4個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると7個の賞球払出を行い、Vカウントスイッチ22またはカウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。また、上述したように、賞球個数信号は5ビットで構成されているので、8ビットで表現されている00(H)〜0F(H)の賞球個数コマンドのうち、下位の5ビットが賞球個数信号によって主基板31から払出制御基板37に伝達される。以下、「00(H)〜0F(H)の賞球個数信号」のように表現することがあるが、実際には、賞球個数信号は、8ビットで表現されている00(H)〜0F(H)のうちの下位の5ビットに相当する。なお、賞球個数信号が、入賞に応じて払い出される賞球数を伝達するために使用される場合には、その最上位ビット(ビット4)は0である。
図28は、賞球カウント信号の出力の仕方の一例を示すタイミング図である。図28に示すように、払出制御用CPU371は、払出個数カウントスイッチ301が遊技球の払い出しを検出すると、その検出が賞球の払出検出であるか否か確認し、賞球の払出検出であれば賞球カウント信号を所定期間(例えば0.5秒)オン状態とする。すなわち、1個の賞球の払い出しを確認する毎に、賞球カウント信号を所定期間オン状態とする。従って、例えば払出個数カウントスイッチ301によって7個の遊技球の払い出しが検出され、検出された遊技球が賞球であれば、賞球カウント信号のオン/オフが7回繰り返される。
CPU56は、上記した賞球報知処理(ステップS44)において、賞球カウント信号を受信する毎に、1個の賞球の払い出しを確認したことを示す賞球払出確認指定の制御コマンド(賞球払出確認指定コマンド)を、演出制御基板80に向けて送信する。演出制御基板80は、賞球払出確認指定コマンドを受信する毎に、枠側ランプドライバ基板35に制御信号を出力し、例えば所定のランプを所定期間(例えば0.5秒)点灯させる制御を実行する。なお、演出制御基板80が賞球ランプ51を制御する構成とし、賞球払出確認指定コマンドを受信する毎に、賞球ランプ51を点灯させるようにしてもよい。
なお、CPU56は、賞球カウント信号を受信する毎に、1個の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを演出制御基板80に送信していたが、例えば、所定個分(例えば7個分)の賞球の払い出しを示す所定回数(例えば7回)の賞球カウント信号を受信すると、所定個分(例えば7個分)の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを演出制御基板80に送信するようにしてもよく、また、払い出されるべき所定個(例えば7個)の賞球のうちの1個目の賞球の払い出しが検出されたことにもとづく賞球カウント信号を受信したことに応じて、所定個分(例えば7個分)の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを演出制御基板80に送信するようにしてもよい。この場合、演出制御基板80は、所定個分の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを受信したときは、上記したような1個の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを受信したときよりも長い期間(例えば3秒)所定のランプ(例えば演出制御基板80によって制御される賞球ランプ51)を点灯させる制御を実行するのが好ましい。
図29は、払出エラー信号の出力の仕方の一例を示すタイミング図である。図29に示すように、払出制御用CPU371は、エラー状態に移行したときに払出エラー信号をオン状態とし、エラー状態が解除されたときに払出エラー信号をオフ状態とする。この例では、遊技球の払い出しに関わるエラーの発生によりエラー状態に移行したときに払出エラー信号が出力される。具体的には、例えば、下皿満タン状態、球切れ状態、主基板31と払出制御基板37との間の通信異常が発生した状態となったときに払出エラー信号が出力される。
図29に示すように、主基板31に搭載されているCPU56は、払出制御用CPU371からのエラー信号を受信すると(エラー信号がオン状態となると)、演出制御基板80に向けて表示制御コマンドとしてのエラー発生通知コマンドを送信する。エラー発生通知コマンドは、エラーが発生したことを示すコマンドである。また、CPU56は、払出制御用CPU371からのエラー信号が停止されると(エラー信号がオフ状態となると)、演出制御基板80に向けて表示制御コマンドとしてのエラー解除通知コマンドを送信する。エラー解除通知コマンドは、エラー状態が解除したことを示すコマンドである。
演出制御基板80に搭載されている演出制御用CPU101は、CPU56からのエラー発生通知コマンドを受信すると、可変表示装置9にエラー状態であることを示す表示を行い、エラー状態を報知する処理を実行する。エラー状態の報知は、例えば「エラーが発生しました!」などの文字や図形などを可変表示装置9の表示領域に表示することで行われる。また、演出制御用CPU101は、CPU56からのエラー解除通知コマンドを受信すると、エラー状態であることを報知するために可変表示装置9に表示されていたエラー表示を消去して、エラー状態であることの報知を終了する。
上記のように、エラー状態となったときにエラーの報知を行う構成としたことで、遊技者や遊技店員にエラーが発生したことを容易に知らせることができる。
図30は、ステップS51の賞球処理の一例を示すフローチャートである。賞球処理において、CPU56は、賞球個数加算処理(ステップS201)と賞球制御処理(ステップS202)とを実行する。そして、RAM55に形成されるポート0バッファの内容をポート0に出力する(ステップS203)。なお、ポート0バッファの内容は、賞球制御処理において更新される。
賞球個数加算処理では、図31に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「7」)が設定され、その後に、スイッチオンバッファの下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である(図14参照)。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。
図32は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、CPU56は、賞球個数テーブルの先頭アドレスをポインタにセットする(ステップS211)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS212)。次に、スイッチオンバッファの上位アドレス(8ビット)を2バイトのチェックポインタの上位1バイトにセットする(ステップS213)。
そして、ポインタの値を1増やし(ステップS214)、ポインタが指す賞球個数テーブルのデータ(この場合にはスイッチオンバッファの下位アドレス)をチェックポインタの下位1バイトにセットした後(ステップS215)、ポインタの値を1増やす(ステップS216)。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし(ステップS217)、ロードした内容と、ポインタが指す賞球個数テーブルのデータ(この場合にはスイッチ入力ビット判定値)との論理積をとる(ステップS218)。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の7ビットが0になる。そして、ポインタの値を1増やす(ステップS219)。
ステップS218における演算結果が0でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば、ポインタが指す賞球個数テーブルのデータ(この場合には賞球個数)を賞球加算値に設定し(ステップS220,S221)、賞球加算値を、RAM55に形成されている16ビットの総賞球数格納バッファの内容に加算する(ステップS222)。なお、総賞球数格納バッファは、バックアップRAMに形成されている。加算の結果、桁上げが発生した場合には、総賞球数格納バッファの内容を65535(=FFFF(H))に設定する(ステップS223,224)。また、「RAMに形成されている」とは、RAM内の領域であることを意味する。
ステップS225では処理数を1減らし、処理数が0であれば処理を終了し、処理数が0でなければステップS214に戻る(ステップS226)。また、ステップS220において、ステップS218における演算結果が0であること、すなわち、検査対象のスイッチの検出信号がオフ状態であることを確認したら、ステップS225に移行する。
図33は、ステップS201の賞球制御処理を示すフローチャートである。賞球制御処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS231〜S233のいずれかの処理を実行する。
図34は、賞球プロセスコードの値が0の場合に実行される賞球待ち処理1(ステップS231)を示すフローチャートである。CPU56は、賞球待ち処理1において、賞球待機中出力値(60(H))をポート0バッファにセットする(ステップS243)。なお、賞球待機中出力値がポート0バッファにセットされると、ステップS203においてポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオフ状態になり、接続確認信号のオン状態が維持される(図12参照)。また、賞球個数信号が無効コマンド(00(H))を出力する状態になる。
次いで、CPU56は、賞球タイマが0であるか否か確認する(ステップS244)。賞球タイマが0でなければ、賞球タイマの値を1減らして(ステップS245)、処理を終了する。賞球タイマは賞球処理において必要となる時間を計測するためのタイマであるが、この段階で賞球タイマの値が0でないということは、前回の払出処理が完了した後、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に複数の賞球REQ信号のオン期間の間に間隔を設けるための時間、図27に示す00(H)の賞球個数信号が出力されている期間)が終了していないことを意味する。なお、賞球タイマは、後述する賞球待ち処理2のステップS263でセットされる。また、ステップS243〜S245の処理は、ステップS233の賞球処理2の実行が完了して前回の払出処理が完了した後に、賞球REQ信号をオフ状態にするとともに、賞球個数信号として無効コマンド(00(H))を出力するための処理である。
賞球タイマの値が0であれば、次いで、CPU56は、総賞球数格納バッファの内容を確認する(ステップS247)。その値が0であれば処理を終了し、0でなければ、賞球プロセスコードの値を1にした後(ステップS248)、処理を終了する。
図35は、賞球プロセスコードの値が1の場合に実行される賞球送信処理(ステップS232)を示すフローチャートである。CPU56は、賞球送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値(この例では「15」)よりも小さいか否か確認する(ステップS251)。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する(ステップS252)。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する(ステップS253)。
その後、賞球REQ中出力値(20(H))を出力ポート0バッファにセットする(ステップS254)。なお、賞球REQ中出力値が出力ポート0バッファにセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオン状態になり、接続確認信号のオン状態が維持される(図12参照)。また、賞球個数バッファの内容を出力ポート0バッファの下位4ビットにセットする(ステップS255)。
次いで、CPU56は、総賞球数格納バッファの内容から、賞球個数バッファの内容(払出制御手段に指令した賞球払出個数)を減算する(ステップS256)。また、CPU56は、賞球タイマにREQ終了判定時間値(例えば3)をセットする(ステップS257)。REQ終了判定時間値は、賞球REQ信号をオン状態にしてからオフ状態にするまでの時間を設定するための値である。その後、賞球プロセスコードの値を2にして(ステップS258)、処理を終了する。
この実施の形態では、賞球コマンド最大値は「15」である。従って、最大で「15」の払出数を指定する賞球個数信号が払出制御基板37に送信される。
図36は、賞球プロセスコードの値が2の場合に実行される賞球待ち処理2(ステップS233)を示すフローチャートである。CPU56は、賞球待ち処理2において、賞球タイマの値を確認し(ステップS261)、その値が0でなければ賞球タイマの値を1減らして(ステップS262)、処理を終了する。賞球タイマの値が0になったら、賞球REQ待ち時間を賞球タイマにセットする(ステップS263)。なお、賞球REQ信号は、賞球待ち処理1のステップS243でオフ状態にされる。そして、賞球プロセスコードの値を0にして(ステップS264)、処理を終了する。なお、賞球REQ待ち時間は、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間)である。
以上の処理によって、遊技制御手段は、払出条件の成立にもとづいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。総賞球数格納バッファは、遊技機への電力供給が停止した場合に変動データ保存手段としてのバックアップ電源により記憶内容を少なくとも所定期間保存する景品遊技媒体数記憶手段に相当する。また、遊技制御手段は、総賞球数格納バッファに記憶されている賞球数にもとづいて払出制御手段に対して所定数の賞球の払出数を指定する払出指令信号を送信する。ここで、所定数は、総賞球数格納バッファに記憶されている賞球数が15個以上であれば15であり、15個未満であれば、総賞球数格納バッファに記憶されている賞球数である。そして、所定の条件が成立すると総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行う。
この実施の形態では、減算処理を実行するための所定の条件は、賞球制御信号(賞球個数信号および賞球REQ信号)を払出制御手段に向けて送信したとき、具体的には、賞球REQ信号をオン状態としたときである。すなわち、遊技制御手段は、賞球個数信号の出力状態を入賞に応じて払い出される賞球数に応じた状態にしたときに、具体的には賞球個数信号を出力ポート0に出力したときに、より具体的には賞球個数バッファの内容を出力ポート0バッファの下位4ビットにセットしたときに、総賞球数格納バッファの減算処理を実行する。
なお、この実施の形態では、払出条件の成立にもとづいて払い出される景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段として、総数そのものを記憶する総賞球数格納バッファが例示されたが、景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段は、各入賞領域への入賞数を記憶したり、賞球数が同じである入賞領域毎の入賞数(例えば4個の賞球数に対応した入賞口14、7個の賞球数に対応した入賞口33,39,29,30、15個の賞球数に対応した大入賞口への入賞数であって、未だ賞球払出が終了していない入賞数)を記憶するものであってもよい。
次に、払出制御手段(払出制御用CPU371およびROM,RAM等の周辺回路)の動作を説明する。図37は、払出制御手段における出力ポートの割り当ての例を示す説明図である。図37に示すように、出力ポート0は、ステッピングモータによる払出モータ289に供給される各相の信号を出力するための出力ポートである。また、出力ポート1は、球切れLED52、賞球LED51およびコマンド受信可能状態信号と、遊技機外部に出力される賞球中信号、賞球情報、球貸し情報および遊技機エラー状態信号を出力するための出力ポートである。
出力ポート2は、7セグメントLEDによるエラー表示LED374の各セグメント出力の出力ポートである。出力ポート3は、カードユニット50へのEXS信号およびPRDY信号を出力するための出力ポートである。また、出力ポート3は、賞球カウント信号および払出エラー信号を出力するための出力ポートである。
図38は、払出制御手段における入力ポートのビット割り当ての例を示す説明図である。図38に示すように、入力ポート0のビット0〜4には、5ビットの賞球個数信号が入力され、ビット5〜7には、それぞれ、主基板31からの接続確認信号、主基板31からの賞球REQ信号、払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット1〜3には、それぞれ、払出個数カウントスイッチ301の検出信号、エラー解除スイッチ375からの操作信号、満タンスイッチ48の検出信号が入力される。入力ポート1のビット4〜7には、それぞれ、カードユニット50からのVL信号、BRDY信号、BRQ信号、球切れスイッチ187の検出信号が入力される。入力ポート2には、電源基板910からのクリアスイッチ921からの出力信号および電源断信号が入力される。
図39は、遊技機の払出制御手段とカードユニット50との間の通信を説明するためのタイミング図である。払出制御手段は、遊技機への電力供給が開始され、払出動作が可能なときにはPRDY信号をオン状態にする。カードユニット50は、電力供給が開始されると、接続信号としてのVL信号をオン状態にする。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット50は、払出制御手段にBRDY信号を出力する。すなわち、BRDY信号をオン状態にする。この時点から所定の遅延時間が経過すると、カードユニット50は、払出制御手段にBRQ信号を出力する。すなわち、BRQ信号をオン状態にする。
そして、払出制御手段は、カードユニット50に対するEXS信号をオン状態にし、カードユニット50からのBRQ信号の立ち下がり(オフ)を検出すると、払出モータ289を駆動し、所定個(例えば25個)の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御手段は、カードユニット50に対するEXS信号を立ち下げる。すなわちEXS信号をオフ状態にする。
次に、払出制御手段の動作について説明する。図40は、払出制御手段が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。
また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化を行う(ステップS705)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。具体的には、CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。なお、ここまでの処理が、初期設定処理の一部に相当する。
次に、払出制御用CPU371は、主基板31から払出起動コマンドが送信されたことを確認するための監視時間に相当する値を汎用のレジスタ(HLレジスタやBCレジスタ)にセットする(ステップS720)。
払出制御用CPU371は、割込端子に割込を生じさせるようなレベル(この例ではローレベル)の信号が入力されると、その状態を反映するレジスタであって特定レジスタの一つである外部割込要求レジスタを有するCPUである。この実施の形態では、割込端子に割込を生じさせるようなレベルの信号が入力されると、外部割込要求レジスタのビット7が「1」にセットされるとする。すなわち、外部割込要求レジスタの値が80(H)に更新される。なお、外部割込要求レジスタのビットのセット/リセットは、ソフトウェアで実行できるものではなく、CPUの内部機構によって行われる。また、外部割込要求レジスタのビット0〜6は常に0であるとする。また、割込禁止状態に設定されている/いないに関わらず、割込端子に割込を生じさせるようなレベルが入力されると、外部割込要求レジスタのビット7が「1」にセットされる。
払出制御用CPU371は、汎用のレジスタの値を−1しつつ、外部割込要求レジスタのビット7が「1」にセットされたか否かを確認する(ステップS721〜S723)。汎用のレジスタの値が0になる前に、すなわち、監視時間が経過する前に、外部割込要求レジスタのビット7がセットされた場合には、ステップS725に移行する。また、外部割込要求レジスタのビット7がセットされる前に監視時間が経過したら、起動不能フラグとして使用する所定の汎用レジスタの所定ビット(任意に定めうる)をセットした後(ステップS724)、ステップS706に移行する。この実施の形態では、主基板31からの賞球REQ信号は払出制御用CPU371の割込端子に入力される。従って、外部割込要求レジスタのビット7がセットされる前に監視時間が経過したということは、所定の監視時間内に遊技制御手段が払出起動コマンドを送信したことを確認できなかったことを意味する。そこで、そのことを示す起動不能フラグをセットする。
監視時間が経過する前に、外部割込要求レジスタのビット7がセットされたということは、賞球REQ信号がオン状態になったことを意味する。つまり、主基板31の遊技制御手段が、賞球個数信号によって払出起動コマンドを送信するために賞球REQ信号をオン状態にしたことを意味するので、払出制御用CPU371は、入力ポート0のビット0〜4を介して賞球個数信号を入力し(ステップS725)、入力した賞球個数信号が、払出起動コマンドとして定められている10(H)であるか否か確認する(ステップS726)。10(H)であれば、払出起動コマンドを受信したとして、ステップS706に移行する。10(H)でなければ、起動不能フラグとして使用する所定の汎用レジスタの所定ビットをセットした後(ステップS724)、ステップS706に移行する。
ステップS706では、RAMをアクセス可能状態に設定する(ステップS706)。また、賞球未払出個数カウンタ初期値として0000(H)をセットする(ステップS707)。次いで、起動不能フラグ(ステップS724参照)がセットされていなければ(ステップS727)、入力ポート2を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS708)。その確認においてオンを検出した場合には、払出制御用CPU371は、初期化処理を実行する(ステップS712〜ステップS715)。クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS709)。保護処理が行われていたか否かは、後述する電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、バックアップRAM領域のデータ保護処理を実行したことに応じた値(例えば10)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域にデータ保護処理を実行したことを示すフラグをセットし、ステップS709において、そのフラグがセットされていることを確認したらバックアップありと判定してもよい。
バックアップありと判定したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS710)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS710では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、払出制御状態復旧処理を実行せず、初期化処理(ステップS712〜S715の処理)を実行する。
チェック結果が正常であれば、払出制御用CPU371は、払出制御状態復旧処理を行う。具体的には、賞球未払出個数カウンタ初期値として、バックアップRAMに形成されている賞球未払出個数カウンタの値をセットする(ステップS711)。そして。ステップS712以降の処理を実行する。
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS712)。また、RAM領域のフラグやカウンタなどに初期値を設定する(ステップS713)。ステップS713の処理には、賞球未払出個数カウンタ初期値を賞球未払出個数カウンタにセットする処理が含まれる。従って、払出制御状態復旧処理(ステップS711)が実行された場合には、バックアップRAMに保存されていた賞球未払出個数カウンタの値が、あらためて賞球未払出個数カウンタにセットされる。換言すれば、バックアップRAMに保存されていた賞球未払出個数カウンタの値がそのまま使用される。つまり、ステップS711の処理が実行されずにステップS712,S713の処理が実行される場合には、払出制御処理は、初期状態から開始される。また、ステップS711の処理が実行されるとともにステップS712,S713の処理が実行される場合には、払出制御処理の実行状態が、電力供給停止時前の状態に復帰されることになる。
そして、ステップS724の処理において起動不能フラグがセットされていた場合には、RAMに形成されているエラーフラグにおける起動エラービットをセットする(ステップS714,S715)。次に、定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定を行う(ステップS716)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS717)。さらに、コマンド受信可能状態信号をオン状態にする(ステップS718)。その後、タイマ割込の発生を監視するループ処理に入る。
以上のように、払出制御用CPU371は、主基板13の遊技制御手段から払出起動コマンドを受信したときにステップS708のクリアスイッチ921の検出信号のチェック処理を実行する。上述したように、遊技制御手段は、払出起動コマンドを送信したときにクリアスイッチ921の検出信号のチェック処理を実行する。従って、遊技制御手段のクリアスイッチ921の検出信号のチェックタイミングと払出制御手段のクリアスイッチ921の検出信号のチェックタイミングとは、ほぼ同時になる。
上記のように、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用CPU371は、ステップS749以降のタイマ割込処理を実行する。
図41は、払出制御手段が実行するタイマ割込処理の例を示すフローチャートである。払出制御用CPU371は、まず、電源断信号が出力されたか否かを監視する電源断処理を実行する(ステップS749)。その後、ステップS750以降の払出制御処理を実行する。払出制御処理では、払出制御用CPU371は、まず、入力判定処理を行う(ステップS751)。入力判定処理は、入力ポート0のビット5および入力ポート1のビット3〜7(図38参照)の状態を検出して検出結果をRAMの所定の1バイト(入力状態フラグと呼ぶ。)に反映する処理である。なお、払出制御処理において、入力ポート0のビット5および入力ポート1のビット3〜7の状態にもとづいて制御を行う場合には、直接入力ポートの状態をチェックするのではなく、入力状態フラグの状態をチェックする。さらに、入力判定処理は、入力ポート1のビット1,2の状態チェック、すなわち、払出個数カウントスイッチおよびエラー解除スイッチの検出信号の状態チェックを行う処理を含む。具体的には、それらのそれぞれに対応したスイッチタイマ(発射制御信号タイマ、払出個数カウントスイッチタイマ、エラー解除スイッチタイマ)がRAMに形成され、スイッチチェック処理において、それらがオン状態であることを検出したら対応するスイッチタイマの値を+1し、オフ状態であることを検出したら対応するスイッチタイマの値をクリアする。
次に、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
また、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。次いで、払出制御用CPU371は、主基板31の遊技制御手段と通信を行う主制御通信処理を実行する(ステップS755)。さらに、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの賞球個数信号が示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS756)。
そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。なお、払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ、出力ポート2バッファ)が設けられているのであるが、払出制御用CPU371は、出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファの内容を出力ポートに出力する(ステップS760:出力処理)。出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファは、払出モータ制御処理(ステップS753)、プリペイドカード制御処理(ステップS754)、主制御通信処理(ステップS755)、情報出力処理(ステップS758)および表示制御処理(ステップS759)で更新される。
なお、電源断処理は、遊技制御手段が実行する電源断処理と同様の処理である(図20および図21参照)。すなわち、電源基板910からの電源断信号が、バックアップ監視タイマが計時する所定時間継続してオン状態であれば(例えば、バックアップ監視タイマの値が判定値としての2になると(ステップS453参照))、電力供給停止時処理が実行される。電力供給停止時処理において、電力供給停止中でも保存したいRAMの領域についてチェックコード(具体的にはチェックサム)を計算し、チェックコードをバックアップRAM領域に保存するとともに、RAMアクセスを禁止し、出力ポートをクリアした後ループ処理に入る。ループ処理において電源断信号がオフ状態になったことを検出すると、払出制御手段の状態は、遊技制御手段が遊技制御処理を実行する状態に戻るのと同様、払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)を実行する状態に戻る。具体的には、例えば、図40に示すメイン処理のステップS701に戻る。
図42は、ステップS753の払出モータ制御処理を示すフローチャートである。払出モータ制御処理において、払出制御用CPU371は、払出モータ289が回転中であれば(ステップS511)、払出モータ位置センサ295の検出出力を確認し、検出出力が、払出モータ位置センサ295がオンしたことを示した場合には払出動作カウンタの値を−1する(ステップS512,S513)。その後、払出モータ制御コードの値に応じて、ステップS521〜S526のいずれかの処理を実行する。
払出制御用CPU371は、例えば、ステップS524の払出モータ定速処理において払出動作カウンタの値が所定値(例えば1)になったことを検出すると、払出モータ289を停止させるためにステップS525の払出モータブレーキ処理を開始する。また、この実施の形態では、払出モータ289が1/2回転すると1個の遊技球が払い出され、1回転する期間中に2回払出モータ位置センサ295がオンするように構成されている場合を例にする。従って、n個の遊技球を払い出すときに、払出モータ位置センサ295はn回オンする。
払出モータ制御コードの値が0の場合に実行される払出モータ通常処理(ステップS521)では、払出制御用CPU371は、ポインタを、ROMに格納されているテーブルの先頭アドレスにセットする。払出モータ通常処理設定テーブルには、球払出時の払出モータ289を回転させるための各ステップの励磁パターン(払出モータφ1〜φ4)のデータが順次設定されている払出モータ励磁パターンテーブルが格納されている。
払出モータ制御コードの値が1の場合に実行される払出モータ起動準備処理(ステップS522)では、払出制御用CPU371は、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファに励磁パターンの初期値を設定する等の処理を行う。そして、払出モータ制御コードの値を2に変更する。
払出モータ制御コードの値が2の場合に実行される払出モータスローアップ処理(ステップS523)では、払出制御用CPU371は、払出モータ289を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファに設定する。読み出しに際して、ポインタが指すアドレスの払出モータ励磁パターンテーブルの内容を読み出すとともに、ポインタの値を+1する。払出モータ制御コードの値が2となってから所定時間が経過していた場合には、払出モータ制御コードの値を3に変更する。
払出モータ制御コードの値が3の場合に実行される払出モータ定速処理(ステップS524)では、払出制御用CPU371は、定期的に払出モータ励磁パターンテーブルの内容を読み出して、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファに設定する。払出モータ289を停止すべき時期(遊技球の払い出しを終了する時期)よりも所定時間前になると、払出モータ制御コードの値を4に変更する。なお、所定時間前になったか否かは、例えば、払出動作カウンタの値が所定値(例えば1)になったことによって確認される。
払出モータ制御コードの値が4の場合に実行される払出モータブレーキ処理(ステップS525)では、払出制御用CPU371は、払出モータ289を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファに設定する。そして、払出モータ289を最終的に停止させたときに、払出モータ制御コードの値を0に変更する。なお、払出制御用CPU371は、払出動作カウンタの値が遊技球の払出終了に応じた値になったときに(例えば0)、払出モータ289の駆動を停止させることによって払出モータ289を最終的に停止させる。
払出モータ制御コードの値が5の場合に実行される球噛み時払出モータブレーキ処理(ステップS526)では、払出制御用CPU371は、球噛みを解除するための回転の場合に、払出モータ289を滑らかに停止させるために、球噛みを解除するための払出モータ289の回転の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファに設定する。なお、払出モータφ1〜φ4を出力する出力ポートの出力状態に対応した出力ポートバッファの内容は、ステップS760の出力処理で出力ポートに出力される。なお、払出制御用CPU371は、ステップS523〜S525の処理において球噛みを検出した場合に、払出モータ制御コードの値を5に変更する。
図43は、ステップS755の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用CPU371は、主制御通信制御コードの値に応じて、ステップS531〜S532のいずれかの処理を実行する。なお、主制御通信制御コードの値が0である場合(賞球個数信号の受信を待っている状態)では、ステップS531またはS532に移行せずに処理を終了する。
図44は、賞球制御信号を入力ポートを介して入力するための条件を示す説明図である。図44に示すように、RAMに形成されている1バイトのエラーフラグにおける主制御未接続エラー(接続確認信号のオフ)、賞球REQ信号エラー(賞球REQ信号が不正なタイミングでオンまたはオフ)のエラービットがセット状態ではなく、かつ、カードユニット50からのBRDY信号がオン状態ではない場合に、接続確認信号がオン状態であって、かつ、賞球REQ信号がオン状態になると、払出制御手段は、賞球制御信号を入力ポートを介して入力する。なお、エラービットとは、各種のエラーが発生したことが検出されたときにセットされるエラーフラグにおけるビットである。
図45は、割込端子に導入されている主基板31からの賞球REQ信号がオン状態(ローレベル)になったことに応じて起動される賞球REQ割込処理を示すフローチャートである。賞球REQ割込処理において、払出制御用CPU371は、エラービット(主制御未接続エラービット、賞球REQ信号エラービットまたは起動エラービット)がオンしている場合には、以降の処理を実行せずに処理を終了する(ステップS541)。ステップS541では、エラーフラグ中の3つのビットのうち1つでもセットされていたら、エラービットがセットされていると判断する。
また、払出制御用CPU371は、BRDY信号がオン状態であれば、以降の処理を実行せずに処理を終了する(ステップS542)。BRDY信号がオン状態であるということは、カードユニット50から球貸し要求が発生していることまたは球貸し処理中であることを意味する。すなわち、球貸し要求が発生しているときまたは球貸し処理中であるときには、主基板31の遊技制御手段との通信(賞球払出に関する通信)が進行しない。つまり、賞球REQ信号がオン状態になっても、賞球の払出処理は実行しない。
ステップS541〜S542の条件が成立せず、接続確認信号がオン状態である場合には、払出制御用CPU371は、入力ポート0を介して賞球個数信号を入力し、賞球個数信号が示す賞球数を賞球払出予定総数カウンタ(図48参照)の内容に加算する処理を行う(ステップS545)。そして、主制御通信制御タイマに賞球REQ信号オフ監視時間(この例では24)をセットしたあと(ステップS546)、主制御通信制御コードの値を1にして(ステップS547)、処理を終了する。主制御通信制御タイマは、主基板31の遊技制御手段との通信に関わる時間の監視等に使用されるタイマであるが、この段階では、賞球REQ信号がオフするタイミングを設定するための賞球REQ信号オフ監視時間(賞球REQ信号がオフするまでの最短時間未満の時間としてあらかじめ定められた時間)がセットされる。なお、賞球未払出個数カウンタは、不揮発性(この例では電源バックアップされている)のRAM領域に形成されている。また、この実施の形態では、賞球REQ信号が送信された(オン状態になった)場合に、賞球個数信号が示す賞球数が賞球未払出個数カウンタの内容に加算される。
以上のようにして、割込処理によって、主基板31から送信された賞球個数信号が受信される。
図46は、主制御通信制御コードの値が1の場合に実行される主制御通信中処理(ステップS531)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、接続確認信号がオン状態であれば(ステップS551)、賞球REQ信号の状態を確認する(ステップS552)。賞球REQ信号がオフ状態になっていたら、エラーフラグのうち賞球REQ信号エラービットをセットする(ステップS553)。この段階で、直ちに賞球REQ信号がオフ状態になってしまうのはおかしいからである。
次いで、払出制御用CPU371は、主制御通信制御タイマの値を確認し(ステップS554)、0になっていなければ主制御通信制御タイマの値を1減算して(ステップS555)処理を終了する。主制御通信制御タイマの値が0になっていたら、主制御通信制御コードの値を2にして(ステップS556)、処理を終了する。
図47は、主制御通信制御コードの値が2の場合に実行される主制御通信終了処理(ステップS532)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、エラービット(主制御未接続エラービット、賞球REQ信号エラービットまたは起動エラービット)がオンしている場合には、ステップS564に移行する(ステップS561)。また、接続確認信号がオフ状態である場合にもステップS564に移行する(ステップS562)。エラービットがともにオフ状態であって接続確認信号がオン状態である場合には、賞球REQ信号がオフ状態になったか否かを確認する(ステップS563)。オフ状態になったらステップS564に移行する。
ステップS564では、主制御通信制御コードの値を0にして、処理を終了する。なお、主制御通信制御タイマを用いて、賞球REQ信号が所定の監視期間を経過してもオフ状態にならない場合に、その監視時間内に賞球REQ信号がオフしなかったとして、エラーフラグのうち賞球REQ信号エラービットをセットするようにしてもよい。
図48は、払出制御手段が払出制御処理において使用するカウンタの一例を示す説明図である。この実施の形態では、賞球個数指令で指定された個数が累積加算された数である賞球払出予定総数が格納される賞球払出予定総数カウンタと、後述する加算処理(上乗せ処理)が実行された後の賞球払出予定総数が格納される前回賞球払出予定総数カウンタと、賞球払出時の払出モータ289の回転数に相当する値が設定される払出動作カウンタと、賞球の連続払出時の賞球数が設定される賞球未払出個数カウンタと、貸し球数が設定される貸し球未払出個数カウンタとが使用される。なお、それらのカウンタは、RAMに形成される。
また、払出動作カウンタは、払出モータ289の回転数を決めるために使用される。賞球未払出個数カウンタおよび貸し球未払出個数カウンタの値は、払出個数カウントスイッチ301がオン(遊技球がスイッチを通過)すると−1される。よって、賞球未払出個数カウンタおよび貸し球未払出個数カウンタは、最後に払出モータ289によって払い出された遊技球が払出個数カウントスイッチ301を通過することを検出することによって(カウント値が0になる)、賞球払出および球貸しが完了したことを判定するために使用される。
なお、払出モータ289の回転数を決めるために、払出動作カウンタではなく、払出数に応じた回転時間を決める払出動作タイマを用いてもよい。払出動作タイマを用いる場合には、駆動量データ記憶手段が保持しているデータ(この場合には払出動作タイマのタイマ値)を払出駆動手段(この例では払出モータ289)の駆動量に応じた分減算する駆動量更新手段は、時間経過に応じて払出動作タイマのタイマ値を減ずる処理を実行するものに相当する。
図49は、ステップS756の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、後述する賞球払出数上乗せ制御を実行したあと(ステップS600)、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、払い出された遊技球が賞球であるか貸し球であるか確認する(ステップS602,S603)。この例では、遊技球が賞球であるかは、現在の払出制御の状態が賞球中であるか否かによって確認される。そして、賞球中であるか否かは、例えば、RAMに形成されている払出制御状態フラグにおける賞球動作中フラグがセットされているか否かによって確認される(ステップS602)。また、遊技球が貸し球であるかは、現在の払出制御の状態が球貸し中であるか否かによって確認される。そして、球貸し中であるか否かは、例えば、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される(ステップS603)。
賞球中であれば賞球未払出個数カウンタの値を1減らす(ステップS604)。賞球中でなく球貸し中であれば球貸し未払出個数カウンタの値を1減らす(ステップS605)。また、賞球中でなく球貸し中でもなければ、払い出された遊技球が賞球であるとして、賞球未払出個数カウンタの値を1減らす(ステップS604)。
賞球未払出個数カウンタの値を1減らしたときは、払出制御用CPU371は、賞球カウント信号を所定期間オン状態とする(ステップS606)。その後、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
なお、賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図51に示される払出開始待ち処理においてのみである。すなわち、図49に示されている払出個数カウントスイッチ301の確認処理、未払出個数カウンタの減算処理、賞球カウント信号の出力処理などについては、エラービットがチェックされることなく実行される。従って、エラーが発生しても、払出個数カウントスイッチ301からの検出出力に応じて、球貸し未払出個数カウンタまたは賞球未払出個数カウンタの減算処理が実行され、賞球未払出個数カウンタの値が減算されたときには賞球カウント信号が出力される。よって、エラー状態となっていても、遊技球の未払出数を管理することができる。また、エラー状態となっていても、賞球の払出が検出されたことに応じて賞球カウント信号を出力することができるので、エラー状態であっても、払出制御基板37側で検出された賞球の払出を確認したことを示す情報を主基板31側に伝達することができる。
また、賞球球貸し制御処理において、賞球中でも球貸し中でもないときに、払出個数カウントスイッチ301からの検出出力があったとき、払い出された遊技球が賞球であるとして、賞球未払出個数カウンタの値が減算され、賞球カウント信号が主基板31に出力される。従って、不正な遊技球の払い出しが行われたときにも主基板31に搭載されている遊技制御手段(具体的にはCPU56)に賞球カウント信号が伝達されることになる。遊技制御手段では、賞球の払出数を管理しているので、本来払い出すべき賞球数よりも多くの賞球数を示す賞球カウント信号を受信した場合には、不正な払い出しが行われていると判断することができる。遊技制御手段は、不正な遊技球の払い出しが行われていると判断した場合には、以下のような適切な処理を行う。
例えば、遊技制御手段は、可変表示装置9等を用いて遊技者や遊技店員等にエラーの発生を報知させるための処理を行う。具体的には、遊技制御手段は、エラーの発生を報知させるための表示制御コマンドを表示制御手段に送信することによって、表示制御手段にエラーが発生したことを可変表示装置9に表示させる制御を実行させる。なお、遊技制御手段は、エラーを報知させるためのランプ制御コマンドや音制御コマンドを表示制御手段を介してランプ制御手段や音制御手段に送信することによって、ランプ制御手段や音制御手段にエラーの発生を報知するためのランプ・LEDの点灯や音声出力を行わせるようにしてもよい。また、遊技制御手段は、遊技の進行を停止させるための処理を行う。具体的には、遊技制御手段は、遊技の進行を停止する前に、現在の制御状態、例えば出力ポートの出力状態をRAM55に保存した後、出力ポートの出力状態をクリアし、異常な状態が解消されるまで遊技の進行を停止する。さらに、遊技制御手段は、不正な遊技球の払い出しが行われていることを示す情報を遊技機外部のホールコンピュータ等に出力する処理(ステップS52)を行う。なお、遊技制御手段は、情報出力処理によって、払い出すべき賞球数を示す情報と賞球カウント信号にもとづく実際に払い出された賞球数を示す信号とを遊技機外部のホールコンピュータ等に出力することにより、ホールコンピュータ等に不正な遊技球の払い出しが行われているか否かを判断させるようにすることもできる。この場合、遊技制御手段は、不正な払い出しがなされているか否かに関わらず、賞球カウント信号を受信する毎に1個の賞球が払い出されたことを示す信号を試験端子板を介してホールコンピュータに送信するようにしてもよいし、賞球カウント信号を例えば10回受信する毎に10個の賞球が払い出されたことを示す賞球情報をホールコンピュータに送信するようにしてもよい。ちなみに、上記の処理の全てが実行されてもよいが、少なくとも上記の処理のうちのいずれか1つ以上の処理が実行される。
図50は、賞球払出数上乗せ制御(ステップS600)を示すフローチャートである。賞球払出数上乗せ制御において、払出制御用CPU371は、各種のエラー状態が各ビットに反映されている設定されているエラーフラグにおいてエラー状態を示しているビットがあるか否か判定し、エラー状態を示しているビットがある場合には、何もせずに処理を終了する(ステップS691)。また、球貸し動作中フラグがセットされているか否か判定し、セットされている場合には、何もせずに処理を終了する(ステップS692)。賞球球貸し制御処理は2ms毎に実行されるので、賞球払出数上乗せ制御も2ms毎に実行されのであるが、ステップS691の処理によって、エラー状態では、ステップS694以降の処理は実行されない。また、プリペイドカードユニット50からの球貸し要求にもとづく球貸し処理中でも、ステップS694以降の処理は実行されない。
さらに、払出制御用CPU371は、払出動作カウンタの値が、所定値(例えば1)になったか否か判定する(ステップS693)。所定値になったときには、ステップS694以降の処理を実行する。しかし、所定値になったときでなければ、ステップS694以降の処理は実行されない。なお、ステップS694以降の処理は、払出動作カウンタの値が所定値に更新されたタイミング(例えば2から1に変化したとき)において実行され、所定値になっている状態において常に実行されるわけではない。
ステップS694において、払出制御用CPU371は、賞球払出予定総数カウンタ(PA)の内容が、前回賞球払出予定総数カウンタ(PB)の内容と同じか否か確認する。同じでなければ、ステップS695以降の賞球払出数上乗せ処理(以下、上乗せ処理または加算処理という。)を実行する。前回賞球払出予定総数カウンタ(PB)には、賞球払出処理開始時および上乗せ処理(前回の上乗せ処理)が実行されたときに、賞球払出予定総数カウンタ(PA)の内容が設定されている。また、遊技制御手段から賞球個数指令を受信すると、賞球個数指令で指示された個数が賞球払出予定総数カウンタ(PA)に加算される。従って、賞球払出予定総数カウンタ(PA)の内容が、前回賞球払出予定総数カウンタ(PB)の内容と異なっているということは、新たに、遊技制御手段から賞球個数指令を受信したことを意味する、そこで、ステップS691〜S693の上乗せ禁止条件が成立していない場合には、ステップS695以降の上乗せ処理を行う。なお、払出動作カウンタの値が所定値に更新されるのは、払出モータ289が回転しているとき(ステップS511,S513参照)、すなわち遊技球の払出がなされているときであり、また、ステップ692の判定により、賞球払出の非実行中に、ステップS695以降の処理が実行されることはない。
ステップS695において、払出制御用CPU371は、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容との差分に相当する値を、払出動作カウンタに加算することによって払出動作カウンタを更新する(ステップS695)。また、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容との差分を、賞球未払出個数カウンタに加算する(ステップS696)。さらに、賞球払出予定総数カウンタ(PA)の内容を、前回賞球払出予定総数カウンタ(PB)に設定することによって前回賞球払出予定総数カウンタ(PB)を更新する(ステップS697)。なお、この実施の形態では、払出モータ289から1個の遊技球が払い出されるときに払出動作カウンタの値が1減算される(上述したように、この実施の形態では、払出モータ289が1/2回転すると1個の遊技球が払い出され、1回転する期間中に2回払出モータ位置センサ295がオンする構成とされている)ので、払出動作カウンタに対する加算値と、賞球未払出個数カウンタに対する加算値とは、同じ値である。
上記のように、上乗せ処理は、払出動作カウンタの値が所定値に更新されたタイミングにおいてのみ実行される。よって、データが増加したか否かの判定(ステップS694の処理)の回数を減らすことができ、判定処理の負担を軽減することができる。
なお、ステップS697において、賞球払出予定総数カウンタ(PA)の内容を、前回賞球払出予定総数カウンタ(PB)に設定するのではなく、賞球払出予定総数カウンタ(PA)および前回賞球払出予定総数カウンタ(PB)の内容を0にクリアするようにしてもよい。すなわち、増加判定手段がデータが増加したことを判定したときに、増加数特定手段が、景品遊技媒体数データ記憶手段に記憶されている増加分のデータを払出動作カウンタに移す(ステップS695)とともに、景品遊技媒体数データ記憶手段(この例では賞球払出予定総数カウンタ(PA))および前回景品遊技媒体数データ記憶手段(この例では前回賞球払出予定総数カウンタ(PB))の記憶内容を初期化するようにしてもよい。そのように構成されている場合には、景品遊技媒体数データ記憶手段および前回景品遊技媒体数データ記憶手段の記憶容量を増大させないようにすることができる。
また、上記の例では、ステップS693にて払出動作カウンタの値が所定値になったか否かを判定する構成としていたが、払出動作カウンタの値が所定値になったか否かを判定することなく、払出動作の実行中に払い出すべき賞球数が増加したか否かを判定し(具体的には、賞球払出予定総数カウンタの値が増加したか否かを判定する)、増加していたらステップS694以降の処理を行うようにしてもよい。すなわち、払出動作の実行中に払い出すべき賞球数が増加する毎に、上乗せ処理を行うようにしてもよい。
また、この実施の形態では、1つの球払出装置97によって賞球個数指令にもとづく遊技球の払い出しと貸出要求にもとづく遊技球の払い出しとがなされるので、球貸し処理が実行されているときには、賞球払出処理は実行できない。従って、球貸し処理を行っているときに上乗せ処理を行っても、賞球払出が実行されないので意味のない処理を行ってしまうことになる。しかし、球貸し処理を行っているときには上乗せ処理を禁止することによって、無意味な処理が実行されないようにして上乗せ処理の効率化を図ることができる。
同様に、エラー状態では、賞球払出処理は実行できない。従って、エラー状態において上乗せ処理を行っても、賞球払出が実行されないので意味のない処理を行ってしまうことになる。しかし、エラー状態では上乗せ処理を禁止することによって、無意味な処理が実行されないようにして上乗せ処理の効率化を図ることができる。なお、上乗せ処理は、エラー解除スイッチ375からの操作信号にもとづいてエラー状態が解除されたときに一括して実行される(エラー状態において受信した全ての賞球個数指令にもとづく増加数を加算する)ことになる。
図51は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、エラービットがセットされていたら、以降の処理を実行しない(ステップS621)。
また、BRDY信号がオン状態でなければ(ステップS622)、ステップS631以降の賞球払出のための処理を実行する。BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号がオン状態になっていたら球貸し動作中フラグをセットする(ステップS623,S624)。そして、球貸し未払出個数カウンタに「25」をセットし(ステップS625)、払出動作カウンタに「25」をセットする(ステップS626)。
払出動作カウンタは、払出モータ制御処理(ステップS768)において参照される。すなわち、払出モータ制御処理では、払出動作カウンタにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
その後、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS627)、払出制御コードの値を1にして(ステップS628)、処理を終了する。
ステップS631では、払出制御用CPU371は、賞球払出予定総数カウンタ(PA)の内容が0であるか否かを確認する(ステップS631)。0であれば処理を終了する。賞球払出予定総数カウンタ(PA)には、賞球REQ割込処理において、主基板31の遊技制御手段から賞球個数指令を受けたときに、0でない値(賞球個数指令が示す数)が加算されている。賞球払出予定総数カウンタ(PA)の内容が0でない場合には、払出動作カウンタに賞球払出予定総数カウンタ(PA)の内容を設定し(ステップS632)、賞球未払出個数カウンタに賞球払出予定総数カウンタ(PA)の内容を設定する(ステップS633)。また、賞球払出予定総数カウンタ(PA)の内容を前回賞球払出予定総数カウンタ(PB)に設定する(ステップS634)。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
図52は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出モータ289の払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって、払出モータ289の払出動作が終了したか否かを確認することができる。
払出モータ289の払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図53,図54は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。なお、払出処理の開始時に、払出モータ289の回転量を決めるための払出動作カウンタに設定された値と賞球未払出個数カウンタに設定された値とは対応し、また、ここでの制御が実行されるときには払出動作カウンタの値は払出モータ289の停止(払出モータ289としては払出完了)に相当する0になっているので、賞球未払出個数カウンタの値が0になっていない場合には、払出モータ289によって所定数の払い出しがなされたはずであるにもかかわらず、球払出装置97の下部に設けられている払出個数カウントスイッチ301では所定数未満の払い出ししか検出できなかったことになる。すなわち、正常に払出が完了していないことになる。
そして、賞球未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、遊技球の再払出動作を試みる。再払出動作において払出個数カウントスイッチ301によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、遊技球または球貸し残数(球貸し未払出個数カウンタの値に相当)の再払出動作を試みる。
以上の説明の具体的な処理として、払出通過待ち処理において、払出制御用CPU371は、払出制御タイマの値が0でなければ、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。
払出制御タイマがタイムアウトしていれば(ステップS652)、球貸し払出処理(球貸し動作)を実行していたか否か判定する(ステップS653)。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、払出制御用CPU371は、賞球未払出個数カウンタの値を確認する(ステップS654)。賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、以下の処理を行う。
すなわち、賞球払出予定総数カウンタ(PA)の内容から、前回賞球払出予定総数カウンタ(PB)に設定されている値を減算する(ステップS671)。そして、前回賞球払出予定総数カウンタ(PB)の内容を0にクリア(初期化)する(ステップS672)。
また、払出制御状態フラグにおける再払出動作中ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する。なお、再払出動作中ビットは、再払出処理を実行する際に用いられる制御ビットである。
なお、ステップS671において、賞球払出予定総数カウンタ(PA)の内容を0クリアせずに、前回賞球払出予定総数カウンタ(PB)の内容が減算されるようにするのは、払出通過待ち処理の実行中に、新たな賞球個数指令を受信して賞球払出予定総数カウンタ(PA)の内容が増加している場合があることを考慮してのことである。
また、図53には明示されていないが、払出通過待ち処理の実行中では、上乗せ処理を実行しないようにする。実行してしまうと、前回賞球払出予定総数カウンタ(PB)の内容が更新されたにも関わらず、ステップS672の初期化処理が実行されることによって、前回賞球払出予定総数カウンタ(PB)の内容が0にされてしまい、賞球払出数が正確にならないことがあるからである。また、賞球未払出個数カウンタの値が増えてしまって(ステップS696参照)、ステップS654のチェック処理が正常に実行できないからである。
払出制御用CPU371は、賞球未払出個数カウンタの値が0になっていない場合には、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS659)、再払出動作を実行する。なお、エラーフラグがセットされている場合には、再払出動作を実行しない。
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中ビットがセットされているか否か確認する(ステップS661)。セットされていなければ、再払出動作中ビットをセットし(ステップS662)、払出動作カウンタに賞球未払出数個数カウンタまたは球貸し未払出数個数カウンタの値に相当する値をセットする(ステップS663)。その後、払出制御コードを1にして(ステップS664)、処理を終了する。
ステップS661において、再払出動作中ビットがセットされていることを確認したら、払出制御用CPU371は、再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS666)。その際に、再払出動作中ビットをリセットしておく(ステップS665)。そして、処理を終了する。
以上のように、再払出処理(補正払出処理)において再払出動作を行っても遊技球が正しく払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用CPU371は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
球貸し未払出個数カウンタの値が0になっていなければ、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS658)、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
図55は、払出モータ制御処理(ステップS768)において実行される球噛み検出処理を説明するためのタイミング図である。払出モータ制御処理における払出モータ定速処理(ステップS524)では、払出制御用CPU371は、払出モータ位置センサ295の検出信号を監視している。払出モータ位置センサ295の検出信号は、例えば、払出モータ289と連動して回転するカムが1回転する毎に2回オン状態になる。カムが1回転する毎に検出信号が2回出力されるようにするために、カムにおいて、払出モータ位置センサ295における発光部からの光を受ける部分における2箇所(軸に対して対称な位置)に反射体が設けられている。そして、払出モータ位置センサ295における受光部の出力を検出信号とする。
従って、払出制御用CPU371は、払出モータ289に対して1/2回転以上のステップ数の励磁パターンを与えたにもかかわらず、払出モータ位置センサ295の検出信号がオン状態にならない場合には、実際には、カムの部分等にごみなどの異物が付着して遊技球が詰まった(球噛みが生じた)こと等に起因して払出モータ289が回転せず、その結果、カムが回転していないと判断することができる。
この実施の形態では、払出モータ289は、16ステップ(1ステップあたり2.087ms)分の励磁パターンを受けると1回転して2個の遊技球を払い出す。そして、払出制御用CPU371は、例えば、図55に示すように、払出制御用CPU371は、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。そして、5回連続して同一状態(払出モータ位置センサ295の検出信号がオフ状態が5回連続、またはオン状態が5回連続)であったら、球噛みが生じたとして、払出モータ制御処理において球噛み解除処理を実行する。
払出制御用CPU371は、球噛み解除処理において、図56に示すように、払出モータ289を高速回転させる処理と中速回転させる処理とを所定回(例えば9回)繰り返す。そして、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。検出信号によって払出モータ289の回転が復旧したと判断される場合には、球噛み解除処理を終了して、通常の球払出処理に戻る。
高速回転させる処理と中速回転させる処理とを所定回実行しても払出モータ位置センサ295の検出信号に変化が生じなかった場合には、エラーフラグのうち、球噛みエラービット(払出ケースエラービット)をセットする。なお、払出ケースエラービットがセットされている場合には、払出制御用CPU371は、払出モータ289を駆動しない。また、払出ケースエラービットがリセットされると(図58におけるステップS807参照)、払出制御用CPU371は、払出モータ289を駆動できる状態に戻る。
このように、払出制御手段は、払出手段の動作状態を監視する駆動状態監視手段と、駆動状態監視手段が払出手段の動作不良を検出したときに払出手段の駆動を停止させる駆動停止手段とを含む。
次に、エラー処理について説明する。図57は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。図57に示すように、主基板31からの接続確認信号がオフ状態になった場合には、払出制御用CPU371は、主基板未接続エラーとして、エラー表示用LED374に「1」を表示する制御を行う。払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生した場合には、払出スイッチ異常検知エラー1として、エラー表示用LED374に「2」を表示する制御を行う。なお、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生したことは、払出個数カウントスイッチ301の検出信号がオフ状態にならなかったことによって判定される。
遊技球の払出動作中でないにも関わらず払出個数カウントスイッチ301の検出信号がオン状態になった場合には、払出スイッチ異常検知エラー2として、エラー表示用LED374に「3」を表示する制御を行う。払出モータ289の回転異常または遊技球が払い出されたにも関わらず払出個数カウントスイッチ301の検出信号がオン状態にならない場合には、払出ケースエラーとして、エラー表示用LED374に「4」を表示する制御を行う。払出個数カウントスイッチ301の検出信号がオン状態にならないことの具体的な検出方法は既に説明したとおりである。不正なタイミングで賞球REQ信号がオン状態になった場合、または不正なタイミングで賞球REQ信号がオフ状態になった場合には、賞球REQ信号エラーとして、エラー表示用LED374に「5」を表示する制御を行う。不正なタイミングで賞球REQ信号がオン状態またはオフ状態になったことの具体的な検出方法は既に説明したとおりである。
また、下皿満タン状態すなわち満タンスイッチ48がオン状態になった場合には、満タンエラーとして、エラー表示用LED374に「6」を表示する制御を行う。補給球の不足状態すなわち球切れスイッチ187がオン状態になった場合には、球切れエラーとして、エラー表示用LED374に「7」を表示する制御を行う。
さらに、カードユニット50からのVL信号がオフ状態になった場合には、プリペイドカードユニット未接続エラーとして、エラー表示用LED374に「8」を表示する制御を行う。不正なタイミングでカードユニット50と通信がなされた場合には、プリペイドカードユニット通信エラーとして、エラー表示用LED374に「9」を表示する制御を行う。なお、プリペイドカードユニット通信エラーは、プリペイドカードユニット制御処理(ステップS754)において検出される。
また、電力供給開始時において主基板31から払出起動コマンドを受信しなかったことに起因してセットされた起動エラービットがセットされた場合には、エラー表示用LED374に「A」を表示する制御を行う。
以上のエラーのうち、払出スイッチ異常検知エラー2、払出ケースエラー、賞球REQ信号エラーまたは起動エラーが発生した後、エラー解除スイッチ375が操作されエラー解除スイッチ375から操作信号が出力されたら(オン状態になったら)、払出制御手段は、エラーが発生する前の状態に復帰する。
なお、起動エラーについては、エラー解除スイッチ375から操作信号が出力されても、エラーが発生する前の状態に復帰しないように構成してもよい。
図58は、ステップS757のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2、払出ケースエラー、賞球REQ信号エラーまたは起動エラービットのみ(4つのうちのいずれかのビットのみ、4つのうちの2ビットのみ、4つのうちの3ビットのみ、またはそれら4ビットのみ)であるか否か確認する(ステップS801)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS802)。なお、払出制御用CPU371は、払出ケースエラーのエラービットがセットされているエラー状態において、払出個数カウントスイッチ301が遊技球の払い出しを検出したとしても、エラー解除スイッチ375からの操作信号がオン状態にならない限り、払出ケースエラーのエラービットをリセットしない(ステップS803〜S807参照)。すなわち、払出検出手段が未だ払い出されていない景品遊技媒体の払出を検出してもエラー状態を継続させる。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS803)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS804)。エラー復帰前タイマの値が0であれば、すなわち、エラー復帰前タイマがセットされていなければ、ステップS808に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS805)、エラー復帰前タイマの値が0になったら(ステップS806)、エラーフラグのうちの、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットをリセットし(ステップS807)、ステップS808に移行する。
なお、ステップS807の処理が実行されるときに、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーのビットをセットする原因になったエラー(図57参照)が発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、払出制御コードが「2」(図53〜図54に示す払出通過待ち処理の実行に対応)であって、賞球未払出個数カウンタの値または球貸し未払出個数カウンタの値が0でないときには、遊技球払出のリトライ動作が開始される。つまり、次にステップS766の賞球球貸し制御処理が実行されるときにステップS612の払出通過待ち処理が実行されると、再び、再払出処理が行われる。例えば、賞球払出処理が行われていた場合には、賞球未払出個数カウンタの値が0でないときには、ステップS654からステップS659に移行し、ステップS659においてエラービットがリセット状態であることが確認されるので、ステップS662以降の再払出処理を開始するための処理が再度実行され、再払出処理が実行される。なお、エラー解除スイッチ375が押下されることによってリセットされた払出ケースエラービットに関して、そのビットがセットされたときには(ステップS666が実行されたとき)、払出制御タイマは既にタイムアップしている。従って、ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、次に払出通過待ち処理が実行されるときには、ステップS652の判断において払出制御タイマ=0と判定される。また、払出ケースエラービットがセットされたときには再払出動作中ビットは0である(ステップS665で再払出動作中ビットが0とされたあとステップS666が実行されるため)。従って、ステップS659においてエラービットがリセット状態であることが確認されると、必ずステップS662が実行される。つまり、必ず、再払出処理が実行される。
以上のように、払出制御手段は、球払出装置97が遊技球の払い出しを行ったにもかかわらず払出個数カウントスイッチ301が1個も遊技球を検出しなかったときには遊技球を払い出すためのリトライ動作をあらかじめ決められた所定回(例えば2回)を限度として球払出装置97に実行させる補正払出制御を行った後、払出個数カウントスイッチ301が1個も遊技球を検出しなかったことが検出されたときには(図54のステップS661以降を参照)、払い出しに関わる制御状態をエラー状態に移行させ、エラー状態においてエラー解除スイッチ375からエラー解除信号が出力されたことを条件に再度補正払出制御を行わせる補正払出制御再起動処理を実行する。
さらに、エラー状態における再払出処理の実行中(具体的には払出ケースエラーをセットする前の再払出処理中およびエラー解除スイッチ375押下後の再払出処理中)でも、図49に示すステップS601〜S604の処理は実行されている。すなわち、払い出しに関わるエラーが生じているときでも、遊技球が払出個数カウントスイッチ301を通過すれば、賞球未払出個数カウンタや球貸し未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの賞球未払出個数カウンタや球貸し未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。すなわち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
また、図53〜図54に示された払出通過待ち処理において、再払出処理が実行された結果、遊技球が払い出されたことが確認されたときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ375が操作されたとき(具体的は、操作後エラー復帰時間が経過したとき)である(ステップS802,S807)。すなわち、遊技球が払出個数カウントスイッチ301を通過したこと等にもとづいて自動的に払出ケースエラー(払出不足エラー)の状態が解除されるということはなく、人為的な操作を経ないと払出ケースエラーは解除されない。従って、遊技店員等は、確実に払出不足が発生したことを認識することができる。
エラー解除スイッチ375が操作されたことによってハードウェア的にリセット(払出制御用CPU371に対するリセット)がかかるように構成されている場合には、エラー解除スイッチ375が操作されたことによって例えば賞球未払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御手段が、エラー解除スイッチ375が操作されたことによって再払出動作を再び行うように構成されているので、確実に払出処理が実行され、遊技者に不利益を与えないようにすることができる。
ステップS808では、払出制御用CPU371は、満タンスイッチ48の検出信号を確認する。満タンスイッチ48の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの満タンエラービットをセットする(ステップS809)。満タンスイッチ48の検出信号がオフ状態であれば、満タンエラービットをリセットする(ステップS810)。
また、払出制御用CPU371は、球切れスイッチ187の検出信号を確認する(ステップS811)。球切れスイッチ187の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの球切れエラービットをセットする(ステップS812)。球切れスイッチ187の検出信号がオフ状態であれば、球切れエラービットをリセットする(ステップS813)。なお、球切れエラービットをセットされているときには、ステップS771の表示制御処理において、出力ポート1バッファにおける球切れLED52に対応したビットを点灯状態に対応した値にする。
さらに、払出制御用CPU371は、図59に示すように、主基板31からの接続確認信号の状態を確認し(ステップS815)、接続確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS816)。また、接続確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS817)。
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出個数カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「240」)を越えていたら(ステップS818)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS819)。また、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間以下であれば、払出スイッチ異常検知エラー1のビットをリセットする(ステップS820)。なお、各スイッチタイマの値は、ステップS761のスイッチチェック処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出個数カウントスイッチ301がオン状態になっていることを意味し、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分で遊技球が詰まっていると判断される。
また、払出制御用CPU371は、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「2」)になった場合に(ステップS821)、球貸し動作中フラグおよび賞球動作中フラグがともにリセット状態であれば、払出動作中でないのに払出個数カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS822,S823)。また、球貸し動作中フラグまたは賞球動作中フラグがセットされていれば、払出スイッチ異常検知エラー2のビットをリセットする(ステップS824)。
さらに、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS825)、VL信号が入力されていなければ(オフ状態であれば)、エラーフラグのうちプリペイドカードユニット未接続エラービットをセットする(ステップS826)。また、VL信号が入力されていれば(オン状態であれば)、プリペイドカードユニット未接続エラービットをリセットする(ステップS827)。
また、払出制御用CPU371は、エラーフラグのうち所定のエラービット(この例では満タンエラービット、球切れエラービット、主制御未接続エラービット)の状態を確認し(ステップS828a)、所定のエラービットのうちのいずれかのエラービットがセットされていれば、払出エラー信号をオン状態とする(ステップS828b)。また、所定のエラービットのすべてがリセット状態とされていれば、払出エラー信号をオフ状態とする(ステップS828c)。
なお、ステップS759の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。
なお、この実施の形態では、主基板未接続エラーは接続確認信号がオン状態になると自動的に解消されるが(ステップS815,S817参照)、さらにエラー解除スイッチ375が操作されたという条件を加えて、エラー状態が解消されるようにしてもよい。
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラーおよびプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される(図57参照)。従って、遊技制御手段と払出制御手段との間の通信エラーが容易に特定される。
なお、この実施の形態では、払い出しに関わるエラーが発生したことを、遊技機裏面に設置されている払出制御基板37に搭載されているエラー表示LED374によって報知するようにしたが、遊技機裏面の他の箇所(例えば球払出装置97等が集中配置された払出ユニット)に報知手段を搭載してもよい。さらに、遊技機の表側に設置されている表示器(例えば賞球LED51)によって報知するようにしてもよい。払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行い、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行うのであるが、払い出しに関わるエラーが発生した場合には、例えば、賞球LED51を点滅させることによって、払い出しに関わるエラーが発生したことを報知する。遊技機の表側に設置されている表示器によってエラー報知すれば、遊技店員等がより容易にエラーの発生を認識できる。また、エラー表示LED374による報知と遊技機の表側に設置されている表示器による報知とを併用してもよい。
図60(A)は、払出ケースエラー(払出不足エラー)の発生の様子を示すタイミング図であり、図60(B)は、エラー解除スイッチ375の操作時の様子を示すタイミング図である。
図60(A)に示すように、所定個の遊技球を払い出すために払出モータ289を回転させ、回転停止後、最後に払い出されたはずの遊技球が払出個数カウントスイッチ301を通過した後に(この例では402.087ms後に)、未払出の遊技球があるか否かが確認され(ステップS654の判定に相当)、未払出の遊技球があれば、再払出動作が実行される。図60(A)には、2回の再払出動作が実行された例が示されている。そして、2回の再払出動作が実行された場合に、払出ケースエラーと判定され(ステップS661の判定に相当)、ステップS759の表示制御処理によってエラー表示LED374に「4」が表示される(図57参照)。
また、図60(B)に示すように、エラー解除スイッチ375が操作されると、エラー解除時間の経過後に、再び、再払出動作が開始される。なお、図60(B)に示すように、再び再払出動作が開始されるときに、エラー表示LED374における「4」の表示が消去される。すなわち、エラー解除スイッチ375の操作後に補正払出制御が行われているときには払出不足のエラーを示す報知は行われていない。
図61は、賞球払出制御において使用されるカウンタの内容の変化の一例を示す説明図である。賞球払出予定総数カウンタ、前回賞球払出予定総数カウンタ、払出動作カウンタおよび賞球未払出個数カウンタは、初期化処理(具体的にはステップS712の処理)で0にクリアされている。その後、例えば、15個の賞球個数指令を受信した場合には、賞球REQ割込処理において、賞球払出予定総数カウンタの値が15になる。そして、賞球払出処理が開始されるときに、前回賞球払出予定総数カウンタ、払出動作カウンタおよび賞球未払出個数カウンタに15が設定される(ステップS632〜S634参照)。その後、払出モータ位置センサ295がオンする度に払出動作カウンタの値が1減算され、払出個数カウントスイッチ301がオンする度に賞球未払出個数カウンタの値が1減算される。その間に、例えば、10個の賞球個数指令を受信した場合には、コマンド解析処理において、賞球払出予定総数カウンタに10が加算されて25になる。
すると、払出動作カウンタの値が所定値(この例では「1」、ただし所定値は1でなくてもよい。)になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では10)が、払出動作カウンタおよび賞球未払出個数カウンタに加算される。よって、払出動作カウンタおよび賞球未払出個数カウンタの値は11になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる(ステップS695〜S697参照)。
その後、賞球未払出個数カウンタの値が0になって賞球払出が終了すると、賞球払出予定総数カウンタ(PA)の内容(この例では25)から前回賞球払出予定総数カウンタ(PB)の内容が減算されるとともに(この例では減算結果は0)、前回賞球払出予定総数カウンタ(PB)がクリアされる。
図62は、賞球払出制御において使用されるカウンタの内容の他の変化例を示す説明図である。賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容とがともに15であって、かつ、賞球払出中に、10個の賞球個数指令を受信したとする。すると、賞球REQ割込処理において、賞球払出予定総数カウンタに10が加算されて25になる。
そして、払出動作カウンタの値が所定値(例えば1)になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では10)が、払出動作カウンタおよび賞球未払出個数カウンタに加算される。よって、払出動作カウンタおよび賞球未払出個数カウンタの値は11になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる。
賞球払出処理が継続されているときに、上乗せ処理の禁止条件が成立したとする(ステップS691,S692参照)。従って、上乗せ処理は実行されないが、その間に、15個の賞球個数指令と10個の賞球個数指令とを受信したとする。すると、コマンド解析処理において、賞球払出予定総数カウンタに15および10が加算されて50になる。
上乗せ処理の禁止条件が解除されると、払出動作カウンタの値が所定値になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では25)が、払出動作カウンタおよび賞球未払出個数カウンタに加算され、払出動作カウンタおよび賞球未払出個数カウンタの値は26になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる。
その後、賞球未払出個数カウンタの値が0になって賞球払出が終了すると、賞球払出予定総数カウンタ(PA)の内容(この例では50)から前回賞球払出予定総数カウンタ(PB)の内容が減算されるとともに(この例では減算結果は0)、前回賞球払出予定総数カウンタ(PB)がクリアされる。
以上に説明したように、この実施の形態では、コマンド解析処理では、遊技制御手段から受信した賞球個数指令にもとづく個数を、そのときの賞球払出中の制御に用いられているカウンタ(例えば払出動作カウンタ)に直ちに加算(上乗せ)するのではなく、所定の条件(例えば払出動作カウンタの値が所定値になったこと)が成立したときに、賞球払出中の制御に用いられているカウンタに上乗せする。従って、賞球個数指令を受信する度に賞球払出中の制御に用いられているカウンタに上乗せする場合に比べて、上乗せ処理の実行回数を減らすことができる。
なお、この実施の形態では、払い出すべき賞球数が増加したか否か判定するために前回賞球払出予定総数カウンタを使用する方法を用いたが、そのような方法は一例であって、他の方法を用いてもよい。例えば、賞球払出処理開始後に受信した賞球個数指令が示す数を累積加算する累積カウンタを設け、上乗せ処理において、累積カウンタのカウント値を賞球未払出個数カウンタおよび払出動作カウンタに上乗せするとともに、累積カウンタの内容をクリアするようにしてもよい。そのように構成する場合には、累積カウンタが、賞球個数指令で指示された数が加算される景品遊技媒体数データ記憶手段に相当する。
また、この実施の形態では、賞球払出予定総数カウンタと賞球未払出個数カウンタとを併用したが、いずれか一方のカウンタを用いるようにしてもよい。図63は、賞球未払出個数カウンタを用いない場合の賞球払出制御において使用されるカウンタの内容の変化の一例を示す説明図である。この場合には、払出個数カウントスイッチ301がオンすると、賞球払出予定総数カウンタおよび前回賞球払出予定総数カウンタの値が1減算される。
賞球払出予定総数カウンタ、前回賞球払出予定総数カウンタおよび払出動作カウンタは、メイン処理における初期化処理で0にクリアされる。その後、例えば、15個の賞球個数指令を受信した場合には、コマンド解析処理において、賞球払出予定総数カウンタの値が15になる。そして、賞球払出処理が開始されるときに、前回賞球払出予定総数カウンタおよび払出動作カウンタに15が設定される。その後、払出モータ位置センサ295がオンする度に払出動作カウンタの値が1減算され、払出個数カウントスイッチ301がオンする度に賞球払出予定総数カウンタおよび前回賞球払出予定総数カウンタの値が1減算される。その間に、例えば、10個の賞球個数指令を受信した場合には、コマンド解析処理において、賞球払出予定総数カウンタに10が加算される。このとき、賞球払出予定総数カウンタの値が6であれば、16に更新される。
そして、払出動作カウンタの値が所定値になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では10)が、払出動作カウンタに加算される。よって、払出動作カウンタの値は11になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる。なお、上乗せ処理が実行されるときには、賞球払出予定総数カウンタの値は、16から11に減っている(5個払出がなされたので)。
その後、賞球払出予定総数カウンタの値が0になって賞球払出が終了すると、前回賞球払出予定総数カウンタ(PB)がクリアされる。ただし、正常に制御がなされていれば、前回賞球払出予定総数カウンタ(PB)は既に0になっている。
図64は、賞球払出制御において使用されるカウンタの内容の他の変化例を示す説明図である。賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容とがともに6であって、かつ、賞球払出中に、10個の賞球個数指令を受信したとする。すると、コマンド解析処理において、賞球払出予定総数カウンタに10が加算されて16になる。
そして、払出動作カウンタの値が所定値(例えば1)になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では10)が、払出動作カウンタに加算される。よって、払出動作カウンタの値は11になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる。
賞球払出処理が継続されているときに、上乗せ処理の禁止条件が成立したとする。従って、上乗せ処理は実行されないが、その間に、15個の賞球個数指令と10個の賞球個数指令とを受信したとする。すると、コマンド解析処理において、賞球払出予定総数カウンタに15および10が加算されて例えば28になる。このとき、前回賞球払出予定総数カウンタの値は3である。
上乗せ処理の禁止条件が解除されると、払出動作カウンタの値が所定値(例えば1)になったときに実行される上乗せ処理によって、賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容の差分(この例では25)が、払出動作カウンタに加算され、払出動作カウンタの値は26になる。また、前回賞球払出予定総数カウンタ(PB)の内容は、賞球払出予定総数カウンタ(PA)の内容と同じにされる。
その後、賞球払出予定総数カウンタの値が0になって賞球払出が終了すると、前回賞球払出予定総数カウンタ(PB)がクリアされる。
図65は、賞球未払出個数カウンタを使用しない実施の形態における賞球球貸し制御処理を示すフローチャートである。この実施の形態では、払出個数カウントスイッチ301がオンしたときに、賞球払出処理を行っていれば、賞球払出予定総数カウンタ(PA)と前回賞球払出予定総数カウンタ(PB)の値を−1する(ステップS604A,S604B)。また、賞球払出数上乗せ制御(ステップS600)において、賞球未払出個数カウンタの設定(図50におけるステップS696)を実行しない。
図66は、賞球未払出個数カウンタを使用しない実施の形態における払出開始待ち処理を示すフローチャートである。この実施の形態では、上記の実施の形態とは異なり、賞球払出処理の開始時に、賞球未払出個数カウンタに賞球払出予定総数カウンタ(PA)の内容を設定する処理(ステップS633)を実行しない。
図67および図68は、賞球未払出個数カウンタを使用しない実施の形態における払出通過待ち処理を示すフローチャートである。この実施の形態では、払出制御手段は、複数の賞球個数指令に応じた遊技球の払い出しを各賞球個数指令毎に区切ることなく連続的に実行された賞球払出処理が終了したことを、賞球払出予定総数カウンタ(PA)の値が0になったことによって判定する(ステップS654A)。また、再払出動作を開始するときに、払出動作カウンタに、賞球払出予定総数カウンタ(PA)の内容を設定する(ステップS663A)。
なお、ここで説明した処理以外の払出制御処理における処理は、上記の実施の形態の場合と同様である。
以上に説明したように、上記の各実施の形態では、コマンド解析処理では、遊技制御手段から受信した賞球個数指令にもとづく個数を、そのときの賞球払出中の制御に用いられているカウンタ(例えば払出動作カウンタ)に直ちに加算(上乗せ)するのではなく、所定の条件(例えば払出動作カウンタの値が所定値になったこと)が成立したときに、賞球払出中の制御に用いられているカウンタに上乗せする。従って、賞球個数指令を受信する度に賞球払出中の制御に用いられているカウンタに上乗せする場合に比べて、上乗せ処理の実行回数を減らすことができる。
また、上述したように、賞球と貸し球を区別しないで遊技球の払い出しを検出する払出個数カウントスイッチ301を備え、払出個数カウントスイッチ301の検出出力を払出制御手段にのみ入力させ、払出制御手段が、払出個数カウントスイッチ301からの検出信号を入力したときに、賞球の払出検出であるか貸し球の払出検出であるかを判定し、賞球の払出検出であると判定したときには賞球カウント信号を遊技制御手段に対して送信する構成としたので、遊技制御手段において賞球の未払出数の管理をより確実に行うことができるようになるとともに、1つの払出個数カウントスイッチ301で賞球払出も貸し球の払出も検出するので、部品点数が削減され、遊技機のコストを低減させることができるという効果を有する。
また、上述した実施の形態では、払出制御手段は、遊技球の払い出しが停止されるエラー状態であっても、払出個数カウントスイッチ301からの検出信号を入力したときに、賞球の払出検出であると判定した場合には賞球カウント信号を遊技制御手段に対して送信するので、賞球の払い出しを検出したことを示す賞球カウント信号を遊技制御手段に対して確実に伝達することができる。
また、上述した実施の形態では、払出制御手段は、賞球の払出中でも貸し球の払出中でもないときに、払出個数カウントスイッチ301からの検出信号を入力したときは、払い出された遊技球が賞球であるとして、賞球カウント信号を遊技制御手段に送信するので、正規でない遊技球の払い出しが行われたときにも遊技制御手段に賞球カウント信号を伝達することができ、遊技制御手段に適切な処理を行わせることができる。
また、上述した実施の形態では、遊技機に対する電力供給が開始されたときに、払出制御用マイクロコンピュータ370が動作可能な状態となる時期よりも所定期間遅延させて遊技制御用マイクロコンピュータ560を動作可能な状態とする遅延手段(例えば遅延回路69、ソフトウェア遅延処理を実行する手段)を備える構成とし、ハードウェアによってもソフトウェアによっても遅延処理を行うことができるようにしているので、仕様変更がなされたときに備えてソフトウェアによる遅延処理の汎用性を残すことができるとともに、ソフトウェアによる遅延処理を簡潔にすることができ、遅延処理のためのソフトウェアのデータ容量を削減することができる。また、払出制御用マイクロコンピュータ370が遊技制御用マイクロコンピュータ560よりも先に動作可能な状態となるので、払出制御用マイクロコンピュータ370にて遊技制御用マイクロコンピュータ560からのコマンドを確実に受信することができるようになる。
なお、上述した実施の形態では、払出指令信号の送信後、払出制御基板37側からの払出処理の完了を示す信号などの受信の有無によらずに総賞球数格納バッファに記憶されている賞球数の減算処理を実行することとし、遊技制御手段にて賞球の未払出数の正確な管理は行わない構成としていたが、遊技制御手段が、払出指令信号を送信したあと、賞球カウント信号の受信に応じて、総賞球数格納バッファに記憶されている賞球数から、実際に払い出されたことが確認された払出数を減算する減算処理を行う構成としてもよい。この場合、遊技制御手段は、払出指令信号の送信後、総賞球数格納バッファに記憶されている賞球数の減算処理は払出処理の完了を示す信号などの受信の有無によらずに行うが、賞球カウント信号を受信する毎に、払出指令信号によって指令した賞球数から1ずつ減算するようにすればよい。上記のように遊技制御手段と払出制御手段との間の双方向通信により賞球の未払出数を管理する構成とすれば、払出制御手段からの賞球カウント信号にもとづいて、遊技制御手段において賞球の未払出数の管理を正確に行うことができる。すなわち、賞球の未払出数の管理を賞球カウント信号を利用して行わない場合には、賞球の未払出数の管理に関しては単方向通信により行われていることになるため、遊技制御手段において把握されている賞球の未払出数が必ずしも正確なものでないという問題がある。上記のように、双方向通信により遊技制御手段での賞球の未払出数の管理を行う構成とすれば、賞球が実際に払い出されたときに未払出数を減算することができるので、賞球の未払出数を正確に管理することができるようになる。
さらに、払出制御手段が、遊技制御手段から送信された払出指令信号を受信したことを示す指令受付信号を遊技制御手段に送信し、そして、遊技制御手段が、払出制御手段から送信された指令受付信号を受信したとき、総賞球数格納バッファに記憶されている賞球数の減算処理を実行するように構成されていてもよい。ここで、指令受付信号は、払出指令信号に対する受付確認信号に相当するものであって、払出指令信号を受信したことにもとづき所定期間出力状態とされる。この指令受付信号は、賞球BUSY信号ともいう。このような構成においても、賞球の未払出数を遊技制御手段において一元管理することができる。
また、上述した実施の形態では、遊技制御手段が、賞球カウント信号の受信に応じて、1個の賞球が払い出されたことを報知するために所定のランプを点灯させるための処理を実行する構成としたので、所定のランプが払出制御手段(すなわち払出個数カウントスイッチ301からの検出信号を受ける制御手段)によって制御されていなくても、賞球が払い出されたこと、あるいは払い出された遊技球が賞球であることを、遊技者や遊技店員に対して報知することができるようになる。なお、上記の例では、所定のランプを点灯させるための処理として、賞球払出確認指定コマンドを演出制御基板80に送信する処理が実行される。賞球払出確認指定コマンドを受信すると、演出制御基板80は、ランプドライバ基板35を介して制御信号を出力し、所定のランプを所定期間点灯させる制御を実行する。ただし、所定のランプを遊技制御手段が制御する構成とし、遊技制御手段が、賞球カウント信号の受信に応じて、所定のランプを点灯させるための駆動処理を実行するようにしてもよい。さらに、所定のランプ以外の発光体や表示装置によって賞球が払い出されたことを報知するようにしてもよい。なお、上述した実施の形態では、払出制御手段が賞球ランプ51を制御する構成としているが、演出制御手段あるいは遊技制御手段によって賞球ランプ51を制御する構成とし、上記の所定のランプとして賞球ランプ51を用いるようにしてもよい。
なお、上記の実施の形態では、賞球REQ信号によって払出要求を行い、賞球個数信号によって払出数が指定されたが、賞球個数信号によって払出要求および払出数の指定を行うように構成してもよい。その場合、払出制御手段は、賞球個数信号が出力されているときは、同時に払出要求がなされていると判定すればよい。そのような構成によれば、賞球REQ信号を用いる必要はない。
また、上記の実施の形態では、球払出装置97は球貸しも賞球払出も実行可能な構成であったが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。
また、上述した実施の形態では、球切れ状態や下皿満タン状態である場合などに払出禁止状態にしたが、他の払い出しを行うことが好ましくない場合や払い出しを行うことができない場合にも払出禁止状態に設定してもよい。例えば、ガラス扉枠2が開状態となって、そのことを検出するためのドア開放スイッチから検出信号が出力されているときなどにも払出禁止状態に設定されるようにしてもよい。
また、上述した実施の形態においては、各種の信号のやりとりに関し、送信/受信や出力/入力という異なる表現を用いているが、送信と出力あるいは受信と入力は、ほぼ同じ意味で用いており、これらの表現は相互に入替可能であることは言うまでもない。なお、制御コマンドなどの多くの意味を持つ信号のやりとりについて送信/受信とするとともに、オン/オフの切り換えによって情報を伝達するための信号のやりとりについて出力/入力として、送信/受信と出力/入力とを使い分けしている場合もある。この場合においても、それらの表現は相互に入替可能である。
また、上記の実施の形態では、主基板31から周辺基板への信号が集中中継基板77を経由して各周辺基板に出力される。そして、主基板31には、集中中継基板77からの信号入力を阻止するための信号方向規制手段が設けられている。また、集中中継基板77には、周辺基板からの信号入力を阻止するための信号方向規制手段が設けられている。さらに、主基板31から信号を入力し主基板31に対して信号を送出しないマイクロコンピュータを搭載した電気部品制御基板において、集中中継基板77から信号が入力される部分に、集中中継基板77への信号出力を阻止するための信号方向規制手段が設けられている。
このように、主基板31から各周辺基板への信号が集中中継基板77に集中され、かつ、主基板31において集中中継基板77に出力される信号に対して信号方向規制手段が設けられているので、主基板31に対して不正に賞球払出を行わせたり不正に大当りを生じさせるような不正信号の入力が効果的に防止される。
特に、周辺基板のうちには、主基板31以外の遊技機に設けられている基板または遊技機に設けられている遊技用装置からも信号を入力する周辺基板(例えば演出制御基板80)も設けられているが、主基板31以外の基板や遊技用装置から周辺基板に至る信号線を利用して、周辺基板を経由して主基板31に不正信号が送り込まれるようなことを効果的に防止できる。
なお、上記の実施の形態では、主基板31から信号を入力し主基板31に対して信号を送出しないマイクロコンピュータを搭載した電気部品制御基板として演出制御基板80を例示したが、主基板31から信号を入力し主基板31に対して信号を送出しないマイクロコンピュータを搭載した電気部品制御基板が他にもある場合には、その基板についても、主基板31からの信号が集中中継基板77を経由するように構成されるとともに、集中中継基板77から信号が入力される部分に、集中中継基板77への信号出力を阻止するための信号方向規制手段が設けられる。
以上のような構成を採用することによって、遊技機の動作に不審な点があり不正行為(主基板31に対して不正に賞球払出を行わせたり不正に大当りを生じさせるような信号を入力させる行為、例えば、周辺基板や基板間のケーブルに不正基板を接続するような行為)が疑われるような場合には、主基板31以外では、集中中継基板77のみを調べればよい。主基板31に対して不正信号を送り込むために、集中中継基板77に対して不正信号を送り込んでも、その信号は、集中中継基板77に搭載されている信号方向規制手段によって、主基板31側への信号伝達が阻止されるからである。
また、1つの集中中継基板77のみを調査すればよいことから、多数の中継基板が設けられている場合に比べて、特に、多数の中継基板が縦続的に配置されている場合に比べて、調査時間を短縮できる。
なお、上記の実施の形態では、全ての周辺基板に対して1つの集中中継基板77が設けられていたが、複数の中継基板を並列的に設けてもよい。例えば、各周辺基板に対応して、またはいくつかの周辺基板(全ての周辺基板ではない)に対して1つの中継基板を設けるようにしてもよい。その場合には、不正行為の調査時間が長くなる可能性はあるが、遊技機内部において、配線引き回しが容易になる等のメリットがある。
また、上述したように、上記の実施の形態では、遊技制御手段が、遊技機に対する電力供給が開始されたときに払出制御手段に対して払出起動コマンドを送信してから(ステップS11)、クリアスイッチ921の検出信号のチェック処理を行い(ステップS13)、払出制御手段は、遊技制御手段から払出起動コマンドを受信したときにクリアスイッチ921の検出信号のチェック処理を行うので(ステップS726,S727,S708)、遊技制御手段がソフトウェア遅延処理を実行するにも関わらず、遊技制御手段と払出制御手段とは、ほぼ同時にクリアスイッチ921の検出信号のチェック処理を行うことになる。よって、一方の制御手段がクリアスイッチ921の検出信号のチェック処理を行ったにも関わらず、他方の制御手段がクリアスイッチ921の検出信号のチェック処理を行わず、一方の制御手段におけるバックアップ記憶内容はクリアされたにも関わらず、他方の制御手段におけるバックアップ記憶内容はクリアされないという状況が発生することが防止される。
また、払出制御手段は、払出起動コマンドの取り込みを指示する取込信号(上記の実施の形態では賞球REQ信号)を払出制御用マイクロコンピュータのマスク可能割込端子に導入し、遊技制御手段から払出起動コマンドが送信されたことを確認しているとき(初期設定処理中である。)には割込禁止状態にして外部割込要求レジスタのビットを確認することによって取込信号の入力を確認する(ステップS701,S721)。よって、取込信号を割込端子に導入するように構成しても、割込の発生によって初期設定処理が正しく行われないという可能性がなくなる。なお、初期設定処理中に割込の発生を許容するように構成すると、割込処理において払出制御用マイクロコンピュータの内部状態が変わり、初期設定処理が正しく行われないおそれがある。
そして、払出制御手段は、初期設定処理および初期化処理を実行した後に実行する払出制御処理では、マスク可能割込端子への取込信号の入力(外部端子割込)にもとづく割込処理で賞球払出個数を示す賞球個数信号を受信するので、賞球個数信号にもとづく賞球払出個数を迅速に、かつ、正確に受信することができる。
また、上記の実施の形態では、遊技制御手段が、遊技機に対する電力供給が開始されたときに、実行状態の復帰(ステップS16,S17)または記憶内容の初期化(ステップS21〜S23)がなされたことにより遊技制御処理の実行の準備が完了(タイマ割込処理を開始する前に実行すべき処理(外部割込によるコマンド送信処理を除く処理)を終えた状態)したあと、払出制御手段からのコマンド受信可能状態信号を受信したことに応じて、遊技制御処理の実行を開始し、当該遊技制御処理にて賞球制御信号を送信する処理を実行する構成としたので、払出制御手段が外部端子割込に応じたコマンド受信処理を未だ実行できない状態であるときに、遊技制御手段によって賞球制御信号が送信されることを防止することができ、払出制御手段での賞球制御信号の取りこぼしを確実に防止することができる。
なお、上記の実施の形態では、復旧処理および初期化処理内で外部端子割込によって受信される制御コマンドの送信処理が実行されるため、「遊技制御処理の実行の準備が完了したとき」とは、復旧処理および初期化処理におけるコマンドの送信に関わる処理以外の処理を終えた状態を意味する。しかし、復旧処理および初期化処理内で外部端子割込によって受信される制御コマンドの送信処理を実行しない構成とした場合(例えば制御コマンドの送信処理は実行するが払出起動コマンドと同様に外部割込要求レジスタを利用して送信する構成としてもよく、そのような場合を含む)には、「遊技制御処理の実行の準備が完了したとき」とは、復旧処理または初期化処理を終えた状態を意味する。
なお、上述した実施の形態では特に言及していないが、コマンド受信可能状態信号の受信待ち状態であるときに、あらかじめ定められている待機時間を計測し、コマンド受信可能状態信号を受信することなく待機時間が経過したときは、遊技制御手段の制御状態を制御停止状態とする構成としてもよい。このように構成すれば、払出制御手段において払出制御処理が開始されていないおそれのある状態で、遊技制御処理が開始されて賞球制御信号が送信されてしまうことを防止することができる。
また、上述した実施の形態では、払出制御手段は、遊技制御手段からの払出起動コマンドの受信が確認されなかったときは、復旧処理を行わない構成としていたが、遊技制御手段からの払出起動コマンドの受信が確認されなかったときに、復旧処理を実行する構成としてもよい。このように構成すれば、払出起動コマンドが受信されていない場合には、クリアスイッチ921の状態を確認することなく復旧処理が実行されることになる。この場合、ステップS715のエラービットのセットにもとづくエラー報知は、復旧するか初期化するかを正常に判断できないことにもとづき初期化処理が実行されていないことを意味する報知となる。よって、そのエラー報知を認識した遊技店員は、遊技機の電源を再投入するというような対応をとることができる。
また、上記の実施の形態では、遊技制御処理の実行の準備が完了したあと、払出制御手段からのコマンド受信可能状態信号を受信したことに応じて遊技制御処理の実行を開始する構成としていたが、遊技制御処理の実行の準備が完了したときにその旨を示す信号(遊技制御準備完了信号)を外部端子割込によって受信される信号として送信し、遊技制御準備完了信号の受信に応じて払出制御手段により送信される信号(払出制御準備完了信号)を受信したことに応じて遊技制御処理の実行を開始する構成としてもよい。
以下、遊技制御準備完了信号と払出制御準備完了信号とのやりとりによって制御を行う実施形態について説明する。この実施形態では、コマンド受信可能状態信号を送信する処理(ステップS718)や受信する処理(ステップS18,S24)は実行されないが、以下の説明において特に言及する処理を除き、その他の処理は上述した実施形態と同一である。
図69は、この実施形態におけるCPU56が実行するメイン処理の一部を示すフローチャートである。本実施形態では、復旧処理あるいは初期化処理にて作業領域に初期値を設定すると(ステップS17,23)、CPU56は、遊技制御処理を開始するための準備が完了したことを示す遊技制御準備完了信号を払出制御基板37に対して送信したあと(ステップS33a,S33b)、払出制御用CPU371からの払出制御準備完了信号を受信したか否か確認する(ステップS34a,S34b)。
すなわち、CPU56は、払出制御準備完了信号の受信を確認するまで遊技制御準備完了信号を繰り返し送信する。遊技制御準備完了信号は、この例では、賞球個数信号によって構成される。具体的には、賞球個数信号の下位4ビット(ビット0〜ビット3)を賞球数としては用いられない所定の数(例えば、「1」)を示す構成とした信号が遊技制御準備完了信号として用いられるものとする。ここでは、ビット1〜4が「0」であってビット0が「1」の賞球個数信号が遊技制御準備完了信号として用いられる。
従って、CPU56は、ステップS33a,S33bにて、賞球個数信号のビット0のみを「1」とした遊技制御準備完了信号を送信するとともに、賞球REQ信号をオン状態とする処理を行う。
そして、払出制御用CPU371からの払出制御準備完了信号を受信すると(ステップS34aのY,S34bのY)、CPU56は、ステップS19,S25の処理に移行する。
図70は、この実施形態における払出制御用CPU371が実行する賞球REQ割込処理を示すフローチャートである。賞球REQ割込処理において、払出制御用CPU371は、接続確認信号がオン状態であれば、受信した信号が遊技制御準備完了信号であるか否か確認する。すなわち、賞球個数信号の状態が遊技制御準備完了信号を示す状態(ビット0のみが「1」である状態)であるか否か確認する(ステップS548)。遊技制御準備完了信号であれば、払出制御用CPU371は、外部端子割込によるコマンド受信処理が実行可能な状態であることを示す払出制御準備完了信号を主基板31に対して送信する(ステップS549)。遊技制御準備完了信号でなければ、払出制御用CPU371は、賞球個数信号の状態が賞球の払出個数を示す通常の状態であるので、ステップS545の処理に移行する。
上記のように、この実施形態では、遊技制御手段が、遊技機に対する電力供給が開始されたときに、実行状態の復帰(ステップS16,S17)または記憶内容の初期化(ステップS21〜S23)がなされたことにより遊技制御処理の実行の準備が完了(タイマ割込処理を開始する前に実行すべき処理(外部割込によるコマンド送信処理を除く処理)を終えた状態)したあと、遊技制御処理の実行の準備が完了したことを示す遊技制御準備完了信号を送信し、その後に払出制御手段からの払出制御準備完了信号を受信したことに応じて、遊技制御処理の実行を開始し、当該遊技制御処理にて賞球制御信号を送信する処理を実行する構成としたので、払出制御手段が外部端子割込に応じたコマンド受信処理を未だ実行できない状態であるときに、遊技制御手段によって賞球制御信号が送信されることを防止することができ、払出制御手段での賞球制御信号の取りこぼしを確実に防止することができる。
なお、上記の実施形態では特に言及していないが、図71に示すように、払出制御準備完了信号の受信待ち状態(ステップS34a,S34bのN)であるときに、あらかじめ定められている待機時間を計測し(ステップS35)、コマンド受信可能状態信号を受信することなく待機時間が経過したときは(ステップS35のY)、遊技制御手段の制御状態を制御停止状態とする構成としてもよい。このように構成すれば、払出制御手段において払出制御処理が開始されていないおそれのある状態で、遊技制御処理が開始されて賞球制御信号が送信されてしまうことを防止することができる。
また、上記の実施形態において、払出起動コマンドの受信待ち状態(ステップS721〜S723のN)であるときに、あらかじめ定められている待機時間を計測し、払出起動コマンドを受信することなく待機時間が経過したときは(ステップS723のY)、払出制御手段の制御状態を制御停止状態(例えば、払出制御処理を開始することなく動作を停止した状態。具体的には、ステップS714にてYと判定されたときに、ステップS716の処理に移行することなく停止状態となるようにすればよい。)とする構成としてもよい。このように構成すれば、遊技制御手段において遊技制御処理が開始されていないおそれのある状態で、払出制御処理が開始されてしまうことを防止することができる。
また、上記の実施形態において、上記のような制御停止状態となったあと、所定期間が経過したときに遊技制御準備完了信号を再度送信し(例えば図71に示す制御停止状態が所定期間継続したときにステップS33a,S33bに移行する)、払出制御準備完了信号を受信したことに応じて(ステップS34a,S34bのY)、制御停止状態から復帰して遊技制御処理の実行を開始(ステップS19,S25に移行してステップS27を実行したあと遊技制御処理を開始する)する構成としてもよい。このように構成すれば、払出制御手段において払出制御処理が開始されていないおそれのある状態で遊技制御処理が実行されて払出指令信号が送信されてしまうことを防止することができるとともに、払出制御手段において払出制御処理が開始されたことを判定し、払出制御処理が開始されたことが確認されたときに遊技制御処理を開始することができる。なお、制御停止状態となったあと、所定期間が経過する毎に、例えば所定回数を限度として、払出制御準備完了信号を受信するまで遊技制御準備完了信号を送信する構成(例えば図71に示す制御停止状態が所定期間継続したときにステップS33a,S33bに移行し、払出制御準備完了信号を受信することなく待機時間が経過したときは(ステップS35のY)制御停止状態に戻ったあとさらに所定期間が継続したときは再度ステップS33a,S33bに移行する処理を所定回数を限度として繰り返し、待機時間が経過する前に払出制御準備完了信号を受信したことに応じて制御状態を復帰させる(ステップS19,S25に移行してステップS27を実行したあと遊技制御処理を開始する)構成)としてもよい。そして、所定期間が経過する毎に所定回数繰り返し遊技制御準備完了信号を送信したのにもかかわらず、払出制御準備完了信号が受信されなかった場合に、完全に制御停止状態となるようにすればよい。
なお、上記の各実施の形態では、払出起動コマンド(払出起動指令)と賞球個数信号とは同じ信号線で伝達されたが、それらを伝達する信号線を分けてもよい。また、上記の実施の形態では、賞球個数信号を、単方向通信(遊技制御手段は払出制御手段から応答をとらない。)によって伝達する構成としているが、払出制御手段が賞球個数信号の受信に応じて賞球個数信号を受け付けたことを示す賞球受付信号を送信する構成としてもよい。すなわち、賞球個数信号について双方向通信が行われるようにしてもよい。さらに、上記の実施の形態において用いられていた払出起動コマンドおよび賞球個数信号の形態を他の形態にしてもよい。例えば、1バイトまたは2バイトのコマンドとし、8ビットの信号線で伝達するようにしてもよい。なお、2バイトのコマンドとした場合には、各バイトについて取込信号が送信される。
また、上述した各実施の形態では、記録媒体処理装置(カードユニット50)で使用される記録媒体が磁気カード(プリペイドカード)であったが、磁気カードに限られず、非接触型あるいは接触型のICカードであってもよい。また、記録媒体処理装置が識別符号にもとづいて記録情報を特定できる構成とされている場合には、記録媒体は、記録情報を特定可能な識別符号などの情報を少なくとも記録媒体処理装置が読み取り可能に記録できるようなものであってもよい。さらに、記録媒体は、例えばバーコードなどの所定の情報記録シンボル等が読み取り可能にプリントされたものであってもよい。また、記録媒体の形状は、カード状のものに限られず、例えば円盤形状や球状、あるいはチップ形状など、どのような形状とされていてもよい。
なお、上記の各実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。さらに、主基板と払出制御基板とを備えた構成を有していれば、スロット機にも本発明を適用できる。