以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
パチンコ遊技機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に設けられているが、始動記憶数を表示する表示器(特別図柄始動記憶表示器)を可変表示装置9とは別個に設けてもよい。
可変表示装置9の下方には、始動入賞口14としての可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口(可変入賞球装置)を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域:特別領域)に入った入賞球はVカウントスイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ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が各所に設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、カードユニットという。)が、パチンコ遊技機1に隣接して設置される(図示せず)。
なお、プリペイドカードには、玉貸し可能な遊技球数を特定する情報(例えば金額:遊技球25個/100円)が記録されている。そして、遊技者がプリペイドカードをカードユニットに挿入し、所定の操作を行うと、カードユニットにおいてプリペイドカードに記録されている情報により特定される玉貸し可能な遊技球数のうち操作に応じた数の遊技球を払い出すための処理が行われる。プリペイドカードに記録されている情報により特定される球貸し可能な遊技球数は、記録媒体に記録されている情報により特定される価値の具体例であり、実際に払いだされる遊技球は、遊技での遊技に使用できる遊技使用価値に相当する。
カードユニットには、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニットを解放するためのカードユニット錠が設けられている。
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、開閉板20の開放中に遊技球がV入賞領域に入賞しVカウントスイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
遊技球がゲート32に入賞すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。すなわち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。図2は、遊技機を裏面から見た背面図である。
図2に示すように、遊技機裏面側では、可変表示装置9を制御する演出制御手段が搭載された演出制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。なお、演出制御手段は、遊技盤6に設けられている可変表示装置9、各種装飾LED、普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cを点灯制御するとともに、スピーカ27からの音発生を制御する。
演出制御手段は、演出制御基板80に搭載されている1つの演出制御用マイクロコンピュータで実現されるが、遊技盤6に設けられている各種装飾LED、普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cを駆動するための駆動回路は、演出制御基板80と電気的に接続されているランプドライバ基板に搭載されている。また、スピーカ27を駆動する駆動回路等は、演出制御基板80と電気的に接続されている音声制御基板に搭載されている。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、パチンコ遊技機1における主基板31および各電気部品制御基板(演出制御基板80および払出制御基板37)や遊技機に設けられている各電気部品への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチと、主基板31および払出制御基板37に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチとが設けられている。さらに、露出部分における電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
なお、電気部品制御基板には、電気部品制御用マイクロコンピュータを含む電気部品制御手段が搭載されている。電気部品制御手段は、遊技制御手段からの指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、可変表示装置9、ランプやLEDなどの発光体等)を制御する。以下、主基板31を電気部品制御基板に含めて説明を行うことがある。その場合には、電気部品制御基板に搭載される電気部品制御手段は、遊技制御手段と、遊技制御手段からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子および球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)34が設置されている。
貯留タンク38に貯留された遊技球は誘導レール39を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になると、遊技球は、余剰球通路を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー(図示せず)が貯留状態検出手段としての満タンスイッチ(図示せず)を押圧して、貯留状態検出手段としての満タンスイッチがオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
図3は、払出ケース40Aで覆われた球払出装置97を示す正面図(図3(A))および断面図(図3(B))である。球払出装置97は、球切れスイッチ187と球払出装置97との間に設置されている通路体の下部に固定されている。通路体は、カーブ樋によって流下方向が左右方向に変換された2列の遊技球を流下させる球通路を有する。球通路の上流側には、球切れスイッチ187が設置されている。なお、実際には、それぞれの球通路に球切れスイッチが設置されている。球切れスイッチ187は、球通路内の遊技球の有無を検出するものであって、球切れスイッチ187が遊技球を検出しなくなると球払出装置97における払出モータ(図3において図示せず)の回転を停止して遊技球の払出が不動化される。
また、球切れスイッチ187は、球通路に27〜28個の遊技球が存在することを検出できるような位置に係止片によって係止されている。
球払出装置97において、ステッピングモータによる払出モータ(図示せず)が例えばカムを回転させることによって、賞球または球貸し要求にもとづく遊技球を1個ずつ払い出す。また、球払出装置97の下方には、例えば近接スイッチによる払出個数カウントスイッチ301が設けられている。球払出装置97から1個の遊技球が落下する毎に、払出個数カウントスイッチ301がオンする。すなわち、払出個数カウントスイッチ301は、球払出装置97から実際に払い出された遊技球を検出する。従って、払出制御手段は、払出個数カウントスイッチ301の検出信号によって、実際に払い出された遊技球の数を計数することができる。
この実施の形態では、球払出装置97は、賞球払出と球貸しとを共に行うように構成されている。しかし、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。別個に設けられている場合には、賞球払出を行う球払出装置と球貸しを行う球払出装置とで払出手段が構成される。さらに、例えば、カムまたはスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97(モータによってカムを回転させる構成)以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板37および演出制御基板80等も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路(遊技制御用マイクロコンピュータ(CPU56)、ROM54、RAM55、I/Oポート部57に相当)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の各スイッチは、入賞検出手段でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ32aのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段になる。さらに、この実施の形態では、V入賞領域に入賞した遊技球はVカウントスイッチ22のみで検出されるので、大入賞口に入賞した遊技球数は、Vカウントスイッチ22による検出数とカウントスイッチ23による検出数との和になる。しかし、V入賞領域に入賞した遊技球が、Vカウントスイッチ22で検出されるとともにカウントスイッチ23でも検出されるようにしてもよい。その場合には、大入賞口に入賞した遊技球数は、カウントスイッチ23による検出数に相当する。
また、始動口スイッチ14a、カウントスイッチ23、および入賞口スイッチ29a,30a,33a,39aの各スイッチには、スイッチコモン電圧(例えば+12V)が供給されているが、主基板31には、スイッチコモン電圧を監視するスイッチコモン監視回路71が搭載されている。スイッチコモン監視回路71が、スイッチコモン電圧が所定値まで低下したことを検出すると、基本回路53に入力されるスイッチコモン監視信号をオフ状態にする。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
基本回路53は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する変動データ記憶手段)としてのRAM55、プログラムに従って制御動作を行う遊技制御用マイクロコンピュータとしてのCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54およびRAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。なお、CPU56はROM54に格納されているプログラムに従って制御を実行するので、以下、CPU56が実行する(または、処理を行う)ということは、具体的には、CPU56がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているCPUについても同様である。また、遊技制御手段は、遊技制御用マイクロコンピュータとしてのCPU56を含む主基板31で実現されているが、主として、プログラムに従って制御を実行するCPU56で実現される。
また、RAM55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグ等)と未払出賞球数を示すデータは、バックアップRAMに保存される。なお、遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。なお、この実施の形態では、RAM55の全部が、電源バックアップされているとする。
CPU56のリセット端子には、電源基板910からのリセット信号が入力されるのであるが、電源基板910からのリセット信号は、主基板31において、遅延回路69で遅延される。また、電源基板910から出力される電源断信号が、基本回路53(具体的には入力ポート)に入力される。
遊技球を打撃して発射する打球発射装置は払出制御基板37上の回路によって制御される発射モータ94を含み、発射モータ94が回転することによって遊技球を遊技領域7に向けて発射する。発射モータ94を駆動するための駆動信号は、タッチセンサ基板91を介して発射モータ94に伝達される。そして、遊技者が操作ノブ(打球ハンドル)5に触れていることはタッチセンサで検出され、タッチセンサからの信号がタッチセンサ基板91に搭載されているタッチセンサ回路(遊技者が操作ノブ5に触れているか否かを検出するための検出回路等を含む回路)を介して払出制御基板37に伝達される。払出制御基板37上の回路は、タッチセンサ回路からの信号がオフ状態を示している場合には、発射モータ94の駆動を停止する。なお、操作ノブ5には、弾発力を調節するものであり、遊技者が接触する部分であるタッチリングが組み付けられている。タッチセンサ基板91は、遊技機において、タッチリングと払出制御基板37との間に配置され、かつ、タッチリングの近傍に配置されている。具体的には、タッチリングとタッチセンサ基板91との間の配線長は、タッチセンサ基板91と払出制御基板37との間の配線長よりも短い。
なお、この実施の形態では、演出制御基板80に搭載されている演出制御手段が、遊技盤6に設けられている普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cの表示制御を行う。また、演出制御基板80に搭載されている演出制御手段は、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御も行う。また、この実施の形態では、払出制御基板37に搭載されている払出制御用CPU371によって球発射装置の発射モータ94が駆動制御される構成となっているが、これに限らず、遊技制御基板(遊技制御手段)80に搭載されたCPU56(遊技制御用マイクロコンピュータ)、演出制御基板(演出制御手段)80に搭載された演出制御用CPU101(演出制御用マイクロコンピュータ)、または、CPU56および演出制御用CPU101とは別に独立して設けた制御手段によって駆動制御されるような構成としてもよい。
また、この実施の形態で用いられているCPU56は、ソフトウェアで割込禁止に設定できないマスク不能割込(NMI)を発生させるために使用されるマスク不能割込端子(NMI端子)と、CPU56の外部から割込(外部割込;ソフトウェアで割込禁止にできるマスク可能割込)を発生させるために使用される割込端子(INT端子)とを有する。しかし、この実施の形態では、マスク不能割込および外部割込を使用しない。そこで、NMI端子およびINT端子を、抵抗を介してVcc(+5V)にプルアップしておく。従って、NMI端子およびINT端子の入力レベルは常にハイレベルになり、端子オープン状態に場合に比べて、ノイズ等によってNMI端子およびINT端子の入力レベルが立ち下がって割込発生状態になる可能性が低減する。
図5は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図5に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータ(電気部品制御用マイクロコンピュータの一例)が搭載されている。この実施の形態では、払出制御用マイクロコンピュータは、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。また、RAMは、主基板31におけるRAM55と同様に、電源バックアップされている。払出制御用CPU371、RAM、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御手段を構成する。従って、払出制御手段は、払出制御用CPU371、RAM、ROMおよびI/Oポートを含む払出制御用マイクロコンピュータで実現されるが、主として、プログラムに従って制御を実行する払出制御用CPU371で実現される。
満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。また、球切れスイッチ187および払出モータ位置センサ295からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372eに入力される。払出モータ位置センサ295は、払出モータ289の回転位置を検出するための発光素子(LED)と受光素子とによるセンサであり、遊技球が詰まったこと、すなわちいわゆる球噛みを検出するために用いられる。払出制御基板37の払出制御用CPU371は、球切れスイッチ187からの検出信号が球切れ状態を示していたり、満タンスイッチ48からの検出信号が満タン状態を示していると、球払出処理を停止する。さらに、満タンスイッチ48からの検出信号が満タン状態を示していると、打球発射装置からの球発射を停止させる。
入賞があると、主基板31の出力回路67から、払出指令信号として、賞球の払出要求を行うための賞球REQ信号(賞球リクエスト信号)および払い出すべき賞球個数を示す賞球制御信号が出力される(オン状態になる)。賞球制御信号は、4ビットのデータ(2進4桁のデータ)によって構成され、4本の信号線によって出力される。なお、信号のオン状態すなわち出力状態は、信号が有意である状態であり、オン状態になることは、信号を受ける側に対してその信号にもとづく何らかの処理を開始することを指令することを意味する。例えば、賞球個数を示す賞球制御信号および賞球REQ信号がオン状態になるということは、払出制御手段に対して、賞球制御信号が示す払出数を認識するように指令することを意味する。賞球制御信号は、入力回路373Aを介してI/Oポート372eに入力される。払出制御用CPU371は、I/Oポート372eを介して賞球REQ信号および賞球制御信号が入力すると、賞球制御信号が示す個数の遊技球を払い出すために球払出装置97を駆動する制御を行う。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す電源確認信号(接続確認信号)も出力される。また、賞球REQ信号および賞球制御信号は、払出数を指定する払出指令信号に相当する。
また、払出制御手段が払出指令信号を受け付けたときには主基板31に対して指令受付信号を送信する。指令受付信号は、払出制御基板37の出力ポート372bおよび出力回路373Bを介して主基板31に送信される。そして、主基板31において、入力回路68およびI/Oポート部57を介してCPU56に入力される。なお、この実施の形態では、賞球BUSY信号がオン状態になることによって、指令受付信号が送信されたことになる。
払出制御用CPU371は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図5では記載省略されている。また、ターミナル基板160(枠用外部端子基板)には、ドア開放情報スイッチ161A,161Bが接続されている。
また、払出制御用CPU371は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51および球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
さらに、払出制御基板37からの払出モータ289への駆動信号は、出力ポート372aおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側に、ドライバ回路(モータ駆動回路)が設置されているが、図5では記載省略されている。また、払出制御基板37からの発射モータ94への駆動信号は、出力ポート372aおよびタッチセンサ基板91を介して発射モータ94に伝えられる。
遊技機に隣接して設置されているカードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ151、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている。インタフェース基板(中継基板)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信号)等の信号は、図5に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、電源が投入されると、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態によってカードユニット50の接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でないことを条件に、遊技制御手段から払出指令信号を受けると賞球払出制御を実行する。なお、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
カードユニット50に対する電源基板910からの電力供給は、払出制御基板37およびインタフェース基板66を介して行われる。この例では、インタフェース基板66内に配されているカードユニット50に対するAC24Vの電源供給ラインに、カードユニット50を保護するためのヒューズが設けられ、カードユニット50に所定電圧以上の電圧が供給されることが防止される。
なお、この実施の形態で用いられている払出制御用CPU371は、マスク不能割込(NMI)を発生させるために使用されるマスク不能割込端子(NMI端子)と、マスク可能割込を発生させるために使用される割込端子(INT端子)とを有する。しかし、この実施の形態では、マスク不能割込および外部割込を使用しない。そこで、NMI端子およびINT端子を、抵抗を介してVcc(+5V)にプルアップしておく。
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
図6は、演出制御基板80、ランプドライバ基板35および音声制御基板70の回路構成例を示すブロック図である。なお、ランプドライバ基板35および音声制御基板70には、マイクロコンピュータは搭載されていない。演出制御基板80において、演出制御用マイクロコンピュータ(電気部品制御用マイクロコンピュータの一例)における演出制御用CPU101は、ROM(図示せず)に格納されたプログラムに従って動作し、主基板31からのストローブ信号(図柄制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して図柄制御コマンドを受信する。また、演出制御用CPU101は、図柄制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に、LCDを用いた可変表示装置9の表示制御を行わせる。VDP109は、GCL(グラフィックコントローラLSI)と呼ばれることもある。
さらに、演出制御用CPU101は、出力ポート104および出力ドライバ110を介して音声制御基板70に対して音番号データを出力する。また、演出制御用CPU101に入出力するバス(アドレスバス、データバス、および書込/読出信号等の制御信号ラインを含む)はバスドライバ105を介してランプドライバ基板35まで延長されている。
ランプドライバ基板35において、演出制御用CPU101に入出力するバスは、バスレシーバ351を介して出力ポート352および拡張ポート353に接続される。出力ポート352から出力される各ランプを駆動する信号は、ランプドライバ354で増幅され各ランプに供給される。また、出力ポート352から出力される各LEDを駆動する信号は、LED駆動回路355で増幅され各LEDに供給される。そして、演出用駆動手段61を駆動する信号は、駆動回路356で増幅され各ランプに供給される。
この実施の形態では、遊技機に設けられているランプ・LEDおよび演出用駆動手段は、演出制御基板80に搭載されている演出制御用CPU101を含む演出制御手段によって制御される。また、可変表示装置9、普通図柄表示器10およびランプ・LED等を制御するためのデータがROMに格納されている。演出制御用CPU101は、ROMに格納されているデータにもとづいて可変表示装置9、普通図柄表示器10およびランプ・LED等を制御する。そして、ランプドライバ基板35に搭載されている出力ポート352および各駆動回路を介して、ランプ・LEDおよび演出用駆動手段が駆動される。従って、機種変更を行う際に、ランプドライバ基板35についてポート数を変更する等の設計変更を行う必要はあるが、演出制御基板80については、プログラムを格納するROMを交換するだけでよく回路の設計変更を行う必要はない。
なお、演出制御基板80、ランプドライバ基板35および音声制御基板70は独立した基板であるが、それらは、例えば、遊技機裏面において、1つのボックスに収容された状態で設置される。また、拡張ポート353は、機種変更を行う場合に、ランプ・LED等の数が増加した場合を考慮して設置されるが、設置されていなくてもよい。演出用の可動部材等が存在しない場合には駆動回路356は設けられなくてもよいが、機種変更を行う場合に、演出用の可動部材等が設置された場合を考慮すると、演出用の可動部材等が存在しない場合にも設けられていることが好ましい。
音声制御基板70において、演出制御基板80からの音番号データは、入力ドライバ702を介して、例えばデジタルシグナルプロセッサによる音声合成用IC703に入力される。音声合成用IC703は、音番号データに応じたデータを音声データ基板70Aに搭載されている音声データROM704から読み出し、読み出したデータに応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。なお、この実施の形態では、音声データROM704が、音声制御基板70とは別の基板である音声データ基板70Aに搭載されているが、音声データROM704は、音声制御基板70に搭載されていてもよい。その場合には、音声データ基板70Aは不要である。
音声データROM704に格納されている音番号データに応じたデータは、所定期間(例えば特別図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。音声合成用IC703は、音番号データを入力すると、音声データROM704内の対応するデータに従って音出力制御を行う。対応するデータに従った音出力制御は、次の音番号データを入力するまで継続される。そして、音声合成用IC703は、次の音番号データを入力すると、新た入力した音番号データに対応した音声データROM704内のデータに従って音出力制御を行う。
この実施の形態では、スピーカ27から出力される音声や効果音は演出制御用CPU101を含む演出制御手段によって制御されるのであるが、演出制御手段は、音声制御基板70に音番号データを出力する。音声制御基板70において、音声データROM704には、遊技の進行に伴って出現しうる音声や効果音を実現するための多数のデータが格納され、それらのデータは音番号データに対応付けられている。従って、演出制御手段は、音番号データを出力するだけで音出力制御を実現することができる。なお、音番号データは例えば1バイトデータであり、シリアル信号線またはパラレル信号線によって音声制御基板70に転送される。
次に、電源基板910の構成を図7のブロック図を参照して説明する。電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。なお、電源スイッチ914は、遊技機において、電源基板910の外に設けられていてもよい。電源スイッチ914が閉状態(オン状態)では、交流電源(AC24V)がトランス911の入力側(一次側)に印加される。トランス911は、交流電源(AC24V)と電源基板910の内部とを電気的に絶縁するためのものであるが、その出力電圧もAC24Vである。また、トランス911の入力側には、過電圧保護回路としてのバリスタ918が設置されている。
電源基板910は、電気部品制御基板(主基板31、払出制御基板37および演出制御基板80)と独立して設置され、遊技機内の各基板および機構部品が使用する電圧を生成する。この例では、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(図7では2つのレギュレータIC924A,924Bを示す。)を有し、VSLにもとづいてVDDおよびVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。
図7に示すように、トランス911から出力されたAC24Vは、そのままコネクタ922Bに供給される。また、VLPは、コネクタ922Cに供給される。VCC、VDDおよびVSLは、コネクタ922A,922B,922Cに供給される。
コネクタ922Aに接続されるケーブルは、主基板31に接続される。また、コネクタ922Bに接続されるケーブルは、払出制御基板37に接続される。従って、コネクタ922A,922Bには、VBBも供給されている。そして、コネクタ922Cに接続されるケーブルは、ランプドライバ基板35に接続される。なお、演出制御基板80には、ランプドライバ基板35を経由して各電圧が供給される。
また、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ922A,922Bを介して主基板31および払出制御基板37に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、クリアスイッチ921は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ921は、遊技機において、電源基板910以外に設けられていてもよい。
さらに、電源基板910には、電気部品制御基板に搭載されているマイクロコンピュータに対するリセット信号を作成するとともに、電源断信号を出力する電源監視回路920と、電源監視回路920からのリセット信号を増幅してコネクタ922A,922B,922Cに出力するとともに、電源断信号を増幅してコネクタ922A,922Bに出力する出力ドライバ回路925が搭載されている。なお、演出制御用マイクロコンピュータに対するリセット信号は、ランプドライバ基板35を経由して演出制御基板80に伝達される。
電源監視回路920は電源断信号を出力する電源監視手段とリセット信号を生成するリセット信号生成手段とを実現する回路である。電源監視回路920は、遊技機において用いられる所定電圧(例えば+24V)が所定値(例えば+5V)以下になった期間が、あらかじめ決められている時間(例えば56ms)以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態(ローレベル)にする。また、電源監視回路920は、例えば、VCCが+4.5V以下になると、リセット信号をローレベルにすることが可能な状態になる。
電源監視回路920は、遊技機に対する電力供給が停止する際には、電源断信号を出力(ローレベルにする)してから所定期間が経過したことを条件にリセット信号をローレベルにする。所定期間は、主基板31および払出制御基板37に搭載されているマイクロコンピュータが、後述する電源断処理を実行するのに十分な時間である。また、遊技機に対する電力供給が開始され、VCCが例えば+4.5Vを越えるとリセット信号をハイレベルにするのであるが、その場合に、電源断信号が出力されなくなってから(ハイレベルにしてから)所定期間が経過したことを条件にリセット信号をハイレベルにする。従って、リセット信号がハイレベルになったことに応じて各電気部品制御基板(主基板31を含む)に搭載されているマイクロコンピュータがプログラムに従って制御操作を開始するときに、電源断信号は必ずオフ状態になっている。
電源監視回路920からの電源断信号すなわち電源監視手段からの検出信号は、主基板31において、入力ポート572を介してCPU56に入力される。従って、CPU56は、入力ポート572の入力信号を監視することによって遊技機への電力供給の停止の発生を確認することができる。また、電源監視回路920からの電源断信号は、払出制御基板37において、入力ポート372gを介して払出制御用CPU371に入力される(図5参照)。従って、払出制御用CPU371は、入力ポート372gの入力信号を監視することによって遊技機への電力供給の停止の発生を確認することができる。
なお、この実施の形態では、電源監視手段が所定電位の電源の出力を監視し、外部から遊技機に供給される電力の供給停止に関わる検出条件として、遊技機の外部からの電圧(この実施の形態ではAC24V)から作成された所定の直流電圧が所定値以下になったことを用いたが、検出条件は、それに限られず、外部のからの電力が途絶えたことを検出できるのであれば、他の条件を用いてもよい。例えば、交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をディジタル化した信号を監視して、ディジタル信号が平坦になったことをもって交流波が途絶えたことを検出条件としてもよい。
図8および図9は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図8に示すように、出力ポート0は払出制御基板37に送信される払出制御信号の出力ポートである。また、演出制御基板80に送信される図柄制御コマンドの8ビットのデータは出力ポート1から出力される。
また、出力ポート2から、大入賞口の開閉板20を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21Aおよび可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号が出力される。さらに、演出制御基板80に送信される図柄制御コマンドについての図柄制御INT信号(ストローブ信号)も出力される。図柄制御INT信号は、図柄制御コマンドの8ビットのデータを取り込むことを演出制御手段に指令するための信号である。
そして、出力ポート3,4から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。
図10は、遊技制御手段における入力ポートのビット割り当ての例を示す説明図である。図10に示すように、入力ポート0のビット0〜7には、それぞれ、Vカウントスイッチ22、カウントスイッチ23、ゲートスイッチ32a入賞口スイッチ33a、24a,29a,30a、始動口スイッチ14aの検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、電源監視回路920からの電源断信号、電源基板910からのクリアスイッチ921の検出信号、払出制御基板37からの賞球BUSY信号、スイッチコモン監視信号が入力される。なお、各スイッチからの検出信号および賞球BUSY信号は、入力ドライバ回路58において論理反転されている。
次に遊技機の動作について説明する。図11および図12は、主基板31における遊技制御手段が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。
次いで、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行する。具体的には、まず、ウェイトカウンタ1に、初期化ウェイト回数指定値1をセットする(ステップS81)。また、ウェイトカウンタ2に、初期化ウェイト回数指定値2をセットする(ステップS82)。なお、ウェイトカウンタ1,2として、CPU56が内蔵する汎用のレジスタが用いられる。そして、ウェイトカウンタ2の値が0になるまでウェイトカウンタ2の値を1ずつ減算する(ステップS83,S84)。ウェイトカウンタ2の値が0になったらウェイトカウンタ1の値を1減算し(ステップS85)、ウェイトカウンタ1の値が0になっていなければ(ステップS86)、ステップS82に戻る。ウェイトカウンタ1の値が0になっていれば、ソフトウェア遅延処理を終了する。
以上のようなソフトウェア遅延処理によって、ほぼ、[(初期化ウェイト回数指定値1)×(初期化ウェイト回数指定値2)×(ステップS83,S84の処理時間)]だけ、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。換言すれば、所望の時間だけ遊技制御処理の開始タイミングを遅延させることができるように、初期化ウェイト回数指定値1,2の値が決定される。なお、初期化ウェイト回数指定値1,2の値は、ROM54に設定されている。また、ここで説明したソフトウェア遅延処理は一例であって、他の方法によってソフトウェア遅延処理を実現してもよい。
ソフトウェア遅延処理を終了すると、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAM55をアクセス可能状態に設定する(ステップS6)。
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
この実施の形態で用いられている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は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS10〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていたことを確認した場合には、CPU56はバックアップありと判定する。そのような保護処理が行われていないことを確認した場合には、CPU56は初期化処理を実行する。
保護処理が行われていたか否かは、後述する電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、バックアップRAM領域のデータ保護処理を実行したことに応じた値(例えば2)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域にデータ保護処理を実行したことを示すフラグをセットし、ステップS8において、そのフラグがセットされていることを確認したらバックアップありと判定してもよい。
バックアップありと判定したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理(ステップS10〜ステップS15の処理)を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS91)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS92)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS91およびステップS92の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)や未払出賞球数を示すデータが設定されている部分である。
また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS93)、その内容に従ってサブ基板(払出制御基板37および演出制御基板80)に、電力供給が復旧した旨を示す制御コマンドが送信されるように制御する(ステップS94)。そして、ステップS15に移行する。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAM55の全領域を初期化せず、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。例えば、大当り判定用乱数を生成するためのカウンタのカウント値のデータをそのままにした場合には、不正な手段によって初期化処理が実行される状態になったとしても、大当り判定用乱数を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを狙うことは困難である。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。ステップS11およびステップS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
また、CPU56は、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド等がある。
そして、ステップS15において、CPU56は、所定時間(例えば4ms)毎に定期的にタイマ割込がかかるようにCPU56に内蔵されているCTCのレジスタの設定を行なう。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜ステップS15)が完了すると、CPU56は、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)を繰り返し実行する。CPU56は、表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態にして(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする(ステップS19)。なお、表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている可変表示装置9、可変入賞球装置、球払出装置等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
なお、表示用乱数更新処理および初期値用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理および初期値用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17,S18の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数や初期値用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17,S18の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
図13は、遊技機に対して電力供給が開始されたとき、および電力供給が停止したときのマイクロコンピュータの動作の様子を示すタイミング図である。遊技機に対して電力供給が開始されDC+24V電源の電圧が所定値を越えると、電源断信号がオフ状態になる。また、VCCの値が所定値を越えるとリセット信号がハイレベルになる。なお、上述したように、電源監視回路920は、電源断信号をオフ状態にしてからリセット信号をハイレベルにする。リセット信号は、主基板31および払出制御基板37に入力され、ランプドライバ基板35を介して演出制御基板80に入力する。そして、払出制御基板37に搭載されている払出制御用CPU371および演出制御基板80に搭載されている演出制御用CPU101のリセット端子に入力される。払出制御用CPU371および演出制御用CPU101は、リセット信号がハイレベルになると動作可能状態になる。動作可能状態になると、まず、初期化処理を実行し、その後、演出制御処理や払出制御処理を開始する。
主基板31に入力されたリセット信号は、遅延回路69で遅延されてからCPU56のリセット端子に入力する。従って、CPU56が動作可能状態になる時点は、サブ基板のCPUが動作可能になる時点よりも遅い。また、CPU56は、動作可能状態になるとセキュリティチェックプログラムにもとづいてセキュリティチェック処理を実行する。そして、セキュリティチェック処理を終了すると、ソフトウェア遅延処理を実行した後、初期化処理および遊技制御処理を開始する。
上述したように、CPU56は、初期化処理においてサブ基板のCPUに対してコマンド(指令信号)を送信する処理を行う。遅延回路69による遅延(ハードウェア回路による遅延)およびセキュリティチェック処理の実行によって、CPU56が初期化処理を開始する時点では、サブ基板のCPUが初期化処理を完了する時点よりも遅くなっている。すなわち、セキュリティチェック処理の実行時間はCPU56に供給されるクロック信号の周波数に応じて決まっているので、CPU56が初期化処理を開始する時点がサブ基板のCPUが初期化処理を完了する時点よりも遅くなるように、遅延回路69の遅延量が設定されている。
また、この実施の形態では、CPU56が初期化処理を開始する前に、ソフトウェア遅延処理も実行される。従って、CPU56が初期化処理を開始する時点がサブ基板のCPUが初期化処理を完了する時点よりも遅くなることがより確実になる。また、例えば、サブ基板のCPUを動作の遅い安価なCPUに変更したような場合(すなわち、サブ基板のCPUが初期化処理を完了する時点が遅くなる場合)には、遅延回路69の遅延量を長くしないと、CPU56が初期化処理を開始する時点がサブ基板のCPUが初期化処理を完了する時点よりも早くなってしまうことも考えられる。しかし、この実施の形態のように、ソフトウェア遅延処理を実行するように構成しておけば、CPU56が初期化処理を開始する時点が、セキュリティチェック処理の実行時間と遅延回路69による遅延時間に対してさらにソフトウェア遅延処理による時間も加わった時間だけ遅延するので、サブ基板のCPUが初期化処理を完了する時点が遅くなっても、遅延回路69の構成を変更せずに、CPU56が初期化処理を開始する時点がサブ基板のCPUが初期化処理を完了する時点よりも早くなってしまうことを防止できる。
遊技機に対する電力供給が停止すると、DC+24V電源の電圧も徐々に低下するのであるが、電源監視回路920は、DC+24V電源の電圧が所定値を下回ると、電源断信号を出力する(ローレベルにする)。電源断信号は、主基板31および払出制御基板37に入力されている。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、電源断信号が出力されたことに応じて、電力供給停止時処理(電源断時制御処理ともいう。)を実行する。そして、電源監視回路920は、VCCが所定値を下回ると、リセット信号をローレベルにする。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、リセット信号がローレベルになったことに応じてシステムリセットされる。すなわち、CPU56および払出制御用CPU371は、動作しない状態になる。なお、電源監視回路920は、電源電圧が低下していくときに、電源断信号を出力した時点から、所定時間が経過すると、リセット信号をローレベルにする。
次に、遊技制御処理について説明する。図14は、タイマ割込処理を示すフローチャートである。メイン処理に実行中に、具体的には、ステップS16〜ステップS19のループ処理の実行中に、タイマ割込が発生すると、CPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS20)。次いで、入力ドライバ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。また、スイッチコモン監視信号にもとづいて所定の報知処理を行う短絡報知処理を実行する(ステップS22)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24,S25)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、特別図柄に関する図柄制御コマンドをRAM55の所定の領域に設定して図柄制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS28)。また、普通図柄に関する図柄制御コマンドをRAM55の所定の領域に設定して図柄制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS29)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
また、CPU56は、入賞口スイッチ29a,30a,33a,39a等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す賞球制御信号等の払出制御信号を出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す賞球制御信号等の払出制御信号に応じて球払出装置97を駆動する。
そして、CPU56は、始動入賞記憶数の増減をチェックする記憶処理を実行する(ステップS32)。また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS33)。また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポート3のRAM領域におけるソレノイドに関する内容(図8参照)を出力ポートに出力する(ステップS34:ソレノイド出力処理)。その後、割込許可状態に設定し(ステップS35)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は定期的(例えば4ms毎)に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。また、ステップS21〜ステップS34の処理(ステップS30およびステップS33を除く)が、遊技の進行を制御する遊技制御処理に相当する。
図15および図16は、ステップS20の電源断処理の一例を示すフローチャートである。電源断処理において、CPU56は、まず、電源断信号が出力されているか否か(オン状態になっているか否か)確認する(ステップS450)。オン状態でなければ、RAM55に形成されるバックアップ監視タイマの値を0クリアする(ステップS451)。オン状態であれば、RAM55に形成されるバックアップ監視タイマの値を1増やす(ステップS452)。そして、バックアップ監視タイマの値が判定値(例えば2)と一致すれば(ステップS453)、ステップS454以降の電力供給停止時処理すなわち電力の供給停止のための準備処理を実行する。つまり、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理(電源断時制御処理)を実行する状態に移行する。
バックアップ監視タイマと判定値とを用いることによって、判定値に相当する時間だけ電源断信号のオン状態が継続したら、電力供給停止時処理が開始される。すなわち、ノイズ等で一瞬電源断信号のオン状態が発生しても、誤って電力供給停止時処理が開始されるようなことはない。なお、RAM55に形成されるバックアップ監視タイマの値は、遊技機への電力供給が停止しても、所定期間はバックアップ電源によって保存される。従って、メイン処理におけるステップS8では、バックアップ監視タイマの値が判定値と同じ値になっていることによって、電力供給停止時処理の処理結果が保存されていることを確認できる。
電力供給停止時処理において、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に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御手段は、上述したステップS91〜ステップS94の処理によって、RAM55に保存されているデータ(電力供給が停止した直前の遊技制御手段による制御状態である遊技状態を示すデータ(例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等)を含む)に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップ監視タイマの値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップS10〜ステップS14の初期化処理が実行される。
以上のように、電力供給停止時処理(電力の供給停止のための準備処理)によって、遊技状態を電力供給が停止した直前の状態に戻すためのデータが確実に変動データ記憶手段(この例ではRAM55の全領域)に保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、遊技状態を電力供給が停止した直前の状態に戻すことができる。なお、RAM55の全領域が電源バックアップされるのではなく、遊技状態を電力供給が停止した直前の状態に戻すためのデータを記憶する領域のみが電源バックアップされるようにしてもよい。
また、電源断信号がオフ状態になった場合には、ステップS1に戻る。その場合、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップS91〜ステップS94の遊技状態復旧処理が実行される。よって、電力供給停止時処理を実行した後に電源監視手段からの検出信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。
なお、払出制御基板37に対して送信される接続確認信号は、出力ポートをクリアする処理によってオフ状態に設定される。また、ステップS92およびステップS12の作業領域の設定では、接続確認信号に対応した出力ポートバッファの内容が、接続確認信号のオン状態に対応した値に設定される。そして、ステップS31の賞球処理が実行されると、出力ポートバッファの内容が出力ポートに出力されるので、払出制御基板37への接続確認信号がオン状態になる。従って、接続確認信号は、主基板31の立ち上がり時に出力される(オン状態になる)ことになる。なお、電源瞬断等から復帰した場合も、接続確認信号が出力される。
次に、メイン処理におけるスイッチ処理(ステップS21)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図17は、スイッチ処理で使用されるRAM55に形成される各1バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば4ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
図18は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0(図10参照)に入力されているデータを入力し(ステップ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との間で送受信される払出制御信号について説明する。図19は、遊技制御手段から払出制御手段に対して出力される制御信号および遊技制御手段に払出制御手段から入力される払出制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で複数種類の制御信号が送受信される。図19に示すように、接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、接続確認信号は、賞球払出が可能な状態であることを示す。
賞球REQ信号は、賞球の払出要求時に出力状態(=オン状態)になる信号(すなわち賞球払出要求のトリガ信号)である。また、賞球REQ信号は、払出制御手段から賞球BUSY信号がオン状態になった後にオフ状態になると、停止状態(オフ状態)になる。賞球制御信号は、払出要求を行う遊技球の個数(1〜15個)を指定するために出力される信号(賞球個数コマンド)である。
賞球BUSY信号は、払出制御手段が賞球REQ信号のオン状態を確認するとオン状態にされ、あらかじめ決められている所定期間後にオフ状態になる信号である。すなわち、賞球REQ信号に対する受付確認信号に相当する。従って、賞球BUSY信号がオフである状態は、賞球個数コマンド受信待ちの状態に相当する。
図20は、図19に示す各制御信号の送受信に用いられる信号線等を示すブロック図である。図20に示すように、接続確認信号、賞球REQ信号、および賞球制御信号は、CPU56によって出力回路67を介して出力され、入力回路373Aを介して払出制御用CPU371に入力される。また、賞球BUSY信号は、払出制御用CPU371によって出力回路373Bを介して出力され、入力回路68を介してCPU56に入力される。接続確認信号、賞球REQ信号、および賞球BUSY信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。賞球制御信号は、1個〜15個を指定するので、4ビットのデータで構成され4本の信号線によって送信される。
図21は、払出制御信号の出力の仕方の一例を示すタイミング図であり、図22は、図21における一部を拡大して示すタイミング図である。図21に示すように、入賞検出スイッチが遊技球の入賞を検出すると、遊技制御手段は、賞球REQ信号をオン状態にするとともに、賞球制御信号の出力状態を、入賞に応じて払い出される賞球数に応じた状態にする。なお、この実施の形態では、始動口スイッチ14aで遊技球が検出されると4個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると7個の賞球払出を行い、Vカウントスイッチ22またはカウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。また、上述したように、賞球制御信号は4ビットで構成されているので、8ビットで表現されている00(H)〜0F(H)の賞球個数コマンドうち、下位の4ビットが賞球制御信号によって主基板31から払出制御基板に伝達される。以下、「00(H)〜0F(H)の賞球制御信号」のように表現することがあるが、実際には、賞球制御信号は、8ビットで表現されている00(H)〜0F(H)のうちの下位の4ビットに相当する。
払出制御手段は、図22に示す賞球BUSY信号オン待ち時間(A)の時間内で賞球REQ信号の受信を確認すると、賞球BUSY信号オン時間だけ賞球BUSY信号のオン状態を継続し、賞球BUSY信号オン時間が経過すると、賞球BUSY信号をオフ状態にする。なお、賞球BUSY信号オン待ち時間(A)は、払出制御手段が、遊技制御手段が賞球REQ信号をオン状態にしてから賞球REQ信号の受信を確認するまでの時間である(例えばMAX2.783ms)。賞球BUSY信号オン時間は、遊技制御手段に対して賞球BUSY信号のオン状態を認識させるための時間であり、一定時間である(例えば20.870ms)。
遊技制御手段は、賞球BUSY信号がオフ状態に変化したことを確認すると賞球REQ信号オフ待ち時間(C)の時間経過後に、賞球BUSY信号をオフ状態にする。そのとき、賞球制御信号の出力状態をクリアしてオフ状態にする。すなわち、賞球制御信号が0個を示す状態(無効コマンドを出力する状態)にする。従って、賞球制御信号は、賞球REQ信号をオン状態であるときには無効コマンド出力状態になっているので、払出制御手段において、ノイズ等によって賞球BUSY信号のオン状態が検出されたような場合でも、誤って賞球払出を実行してしまうようなことはない。なお、賞球REQ信号オフ待ち時間は、連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間である(例えばMAX49.391ms)。また、A,B,Cの時間は、CPU56および払出制御用CPU371に供給されるクロック信号の周波数が変わると異なる値になる。つまり、CPU56および払出制御用CPU371に供給されるクロック信号の周波数が変わると異なる値になる。
図21に示すように、賞球REQ信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづく賞球REQ信号のオンおよび賞球制御信号の出力は待たされる。具体的には、賞球REQ信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづいて払い出されるべき賞球数が、RAM55に形成される総賞球数バッファの内容に加算される。そして、遊技制御手段は、賞球REQ信号をオフ状態にしたときに、総賞球数バッファの内容が0でなければ、15を上限として、総賞球数バッファの内容が示す賞球数の賞球払出を指示するために、賞球REQ信号をオン状態にするとともに、賞球制御信号を出力する。
図23に示すように、賞球REQ信号をオン状態にしていないにも関わらず、賞球BUSY信号がオン状態になったときには、遊技制御手段は、接続確認信号をオフ状態にする。接続確認信号をオフ状態にあるときには、入賞検出スイッチが遊技球の入賞を検出しても、賞球REQ信号をオン状態にしない。従って、その入賞にもとづいて払い出されるべき賞球数が総賞球数バッファの内容に加算されるだけで、賞球制御信号は出力されない。そして、賞球BUSY信号がオフ状態になったら、接続確認信号をオン状態にする。そのときに、総賞球数バッファの内容が0でなければ、15を上限として、総賞球数バッファの内容が示す賞球数の賞球払出を指示するために、賞球REQ信号をオン状態にするとともに、賞球制御信号を出力する。
図24は、ステップS31の賞球処理の一例を示すフローチャートである。賞球処理において、CPU56は、賞球個数加算処理(ステップS201)と賞球制御処理(ステップS202)とを実行する。そして、RAM55に形成されるポート0バッファの内容をポート0に出力する(ステップS203)。なお、ポート0バッファの内容は、賞球制御処理において更新される。
賞球個数加算処理では、図25に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「7」)が設定され、その後に、スイッチオンバッファの下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である(図10参照)。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。また、賞球個数テーブルにおいて、7つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。
図26は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、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に移行する。
図27は、ステップS201の賞球制御処理を示すフローチャートである。賞球制御処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS231〜ステップS234のいずれかの処理を実行する。
図28は、賞球プロセスコードの値が0の場合に実行される賞球待ち処理1(ステップS231)を示すフローチャートである。CPU56は、賞球待ち処理1において、賞球BUSY信号がオン状態になっていないか否か確認する(ステップS241)。この段階では賞球BUSY信号はオン状態になっていないはずであるから、賞球BUSY信号がオン状態になっている場合には、賞球異常状態出力値(20(H))をポート0バッファにセットして処理を終了する(ステップS242)。なお、賞球異常状態出力値がポート0バッファにセットされると、ステップS203(図24参照)においてポート0バッファの内容がポート0に出力されることによって、賞球REQ信号、接続確認信号および賞球制御信号の全てがオフ状態になる(図8参照)。
賞球BUSY信号がオフ状態であれば、賞球待機中出力値(30(H))をポート0バッファにセットする(ステップS243)。なお、賞球待機中出力値がポート0バッファにセットされると、ステップS203においてポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオフ状態になり、接続確認信号のオン状態が維持される(図8参照)。また、賞球制御信号が無効コマンド(00(H))を出力する状態になる。次いで、賞球タイマが0であるか否か確認する(ステップS244)。賞球タイマが0でなければ、賞球タイマの値を1減らして(ステップS245)、処理を終了する。賞球タイマは賞球処理において必要となる時間を計測するためのタイマであるが、この段階で賞球タイマの値が0でないということは、前回の払出処理が完了した後、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に複数の賞球REQ信号のオン期間の間に間隔を設けるための時間、図21に示す00(H)の賞球制御信号が出力されている期間)が終了していないことを意味する。なお、賞球タイマは、後述する賞球待ち処理3のステップS275でセットされる。また、ステップS243〜ステップS245の処理は、ステップS234の賞球処理3の実行が完了して前回の払出処理が完了した後に、賞球REQ信号をオフ状態にするとともに、賞球制御信号として無効コマンド(00(H))を出力するための処理である。
賞球タイマの値が0であれば、次いで、CPU56は、総賞球数格納バッファの内容を確認する(ステップS247)。その値が0であれば処理を終了し、0でなければ、賞球プロセスコードの値を1にした後(ステップS248)、処理を終了する。
図29は、賞球プロセスコードの値が1の場合に実行される賞球送信処理(ステップS232)を示すフローチャートである。CPU56は、賞球送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値(この例では「15」)よりも小さいか否か確認する(ステップS251)。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する(ステップS252)。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する(ステップS253)。
その後、賞球REQ中出力値(10(H))を出力ポート0バッファにセットする(ステップS254)。なお、賞球REQ中出力値が出力ポート0バッファにセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオン状態になり、接続確認信号のオン状態が維持される(図8参照)。また、賞球個数バッファの内容を出力ポート0バッファの下位4ビットにセットする(ステップS255)。その後、賞球プロセスコードの値を2にして(ステップS256)、処理を終了する。
この実施の形態では、賞球コマンド最大値は「15」である。従って、最大で「15」の払出数を指定する賞球制御信号が払出制御基板37に送信される。
図30は、賞球プロセスコードの値が2の場合に実行される賞球待ち処理2(ステップS233)を示すフローチャートである。CPU56は、賞球待ち処理2において、賞球REQがオン状態になったことに応じて払出制御手段が出力する(オン状態にする)賞球BUSY信号がオン状態になったか否か確認する(ステップS261)。オン状態にならないときには、賞球タイマにBUSY開始判定時間値(例えば2)をセットする(ステップS262)。BUSY開始判定時間値は、遊技制御手段が、その値が示す時間だけ賞球BUSY信号のオン状態が継続したら、確かに賞球BUSY信号が出力された(オンした)と確認するための値である。
従って、CPU56は、賞球BUSY信号がオン状態になったら賞球タイマの値を確認し(ステップS263)、その値が0でなければ賞球タイマの値を1減らして(ステップS264)、処理を終了する。賞球タイマの値が0になったら、確かに賞球BUSY信号がオンしたとして、総賞球数格納バッファの内容から、賞球個数バッファの内容(払出制御手段に指令した賞球払出個数)を減算する(ステップS265)。そして、賞球プロセスコードの値を3にして(ステップS266)、処理を終了する。
なお、図29に示した賞球送信処理および図30に示した賞球待ち処理2において、遊技制御手段は、賞球制御信号を送信した後所定期間内に払出制御手段からの賞球BUSY信号を受信しなかったときには、遊技の進行を停止するための制御を行うように構成されていてもよい。具体的には、図29に示した賞球送信処理において、CPU56は、賞球REQ信号をオン状態にした後に(ステップS255)、賞球BUSYオン監視値を監視タイマ(ここで、監視タイマは、通信異常の発生を検出するためのタイマであり、賞球BUSYオン監視値は、払出制御手段および通信線が正常である場合に賞球BUSY信号がオン状態になるまでの時間に余裕を持たせた時間に相当する値である)にセットする。そして、図30に示した賞球待ち処理2において、CPU56は、賞球BUSY信号がオン状態になったか否かを確認し(ステップS261)、オン状態にならないときには、監視タイマの値を1減算する。監視タイマの値が0になった場合には、CPU56は、払出制御手段との間の通信の異常が発生したとして、具体的には、賞球BUSY信号がオン状態にならなかったとして、遊技の進行を停止するための制御を行う。
遊技制御手段は、遊技の進行を停止する前に、現在の制御状態、例えば出力ポートのの出力状態をRAM55に保存した後、出力ポートの出力状態をクリアする。そして、払出制御手段との間の通信の異常が解消されるまで遊技の進行を停止する。すなわち、新たな事象(遊技球の入賞等)が生じても、それに応じた処理を行わず、例えば新たに生じた事象を記憶しておく。なお、遊技制御手段は、遊技制御手段の側で通信エラーを検出したときに(例えば、CPU56が賞球REQ信号をオン状態にする以前に払出制御用CPU371が賞球BUSY信号がオン状態にした又は、CPU56が賞球制御信号を送信した後所定期間内に、払出制御用CPU371からの賞球BUSY信号を受信しなかったこと等を検出したときに)、遊技の進行を停止する前に、可変表示装置9等を用いて通信異常の発生を報知するために通信エラー表示コマンドを演出制御基板80の演出制御手段に送信するように構成されていてもよい。遊技制御手段は、通信異常が解消されると、RAM55に保存されている制御状態にもとづいて出力ポートを復元することができる。
図31は、賞球プロセスコードの値が3の場合に実行される賞球待ち処理3(ステップS234)を示すフローチャートである。CPU56は、賞球待ち処理4において、賞球BUSY信号がオフ状態になったか否か確認する(ステップS271)。オフ状態にならないときには、賞球タイマにBUSY終了判定時間値(例えば3)をセットする(ステップS272)。BUSY終了判定時間値は、図22に示すCの期間を作成するための値である。
従って、CPU56は、賞球BUSY信号がオフ状態になったら賞球タイマの値を確認し(ステップS273)、その値が0でなければ賞球タイマの値を1減らして(ステップS274)、処理を終了する。賞球タイマの値が0になったら、すなわち図22に示すCの期間が終了したら、賞球REQ待ち時間を賞球タイマにセットする(ステップS275)。そして、賞球プロセスコードの値を0にして(ステップS276)、処理を終了する。上述したように、賞球REQ待ち時間は、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間)である。
以上の処理によって、遊技制御手段は、払出条件の成立にもとづいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。総賞球数格納バッファは、遊技機への電力供給が停止した場合に変動データ保存手段としてのバックアップ電源により記憶内容を少なくとも所定期間保存する景品遊技媒体数記憶手段に相当する。また、遊技制御手段は、総賞球数格納バッファに記憶されている賞球数にもとづいて払出制御手段に対して所定数の賞球の払出数を指定する払出指令信号を送信する。ここで、所定数は、総賞球数格納バッファに記憶されている賞球数が15個以上であれば15であり、15個未満であれば、総賞球数格納バッファに記憶されている賞球数である。そして、所定の条件が成立すると総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行う。
この実施の形態では、減算処理を実行するための所定の条件は、払出制御手段から指令受付信号を受信したとき、具体的には、賞球BUSY信号がオンしたときである。なお、賞球BUSY信号がオンしたときには、払出制御手段は、払出指令信号で指令された個数の賞球払出をまだ行っていない。賞球払出が完了したときに総賞球数格納バッファの減算処理を行うように構成すると、賞球払出中に不正に遊技機の電力供給を停止させた後に電力供給を復旧させるような不正行為によって、不正に多数の賞球払出が行われてしまう。例えば、払出指令信号で15個の賞球払出が指令された場合に、10個の賞球払出がなされた時点で、不正に遊技機の電力供給を停止させた後に電力供給を復旧させると、総賞球数格納バッファの内容はなんら減算されていないので、実際には10個の賞球払出はなされているにも関わらず、その10個の賞球払出はなされていないものとして、賞球制御を続行してしまう。
しかし、この実施の形態では、賞球BUSY信号がオンしたときに、すなわち、払出制御手段が払出指令信号を受け付けて指令受付信号を送信したときに総賞球数格納バッファの減算処理が実行されるので、上記の不正行為を防止することができる。
なお、この実施の形態では、払出条件の成立にもとづいて払い出される景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段として、総数そのものを記憶する総賞球数格納バッファが例示されたが、景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段は、各入賞領域への入賞数を記憶したり、賞球数が同じである入賞領域毎の入賞数(例えば6個の賞球数に対応した始動入賞口14、10個の賞球数に対応した入賞口33,39,29,30、15個の賞球数に対応した大入賞口への入賞数であって、未だ賞球払出が終了していない入賞数)を記憶するものであってもよい。
次に、払出制御手段(払出制御用CPU371およびROM,RAM等の周辺回路)の動作を説明する。図32は、払出制御手段における出力ポートの割り当ての例を示す説明図である。図32に示すように、出力ポート0は、ステッピングモータによる発射モータ94に供給される各相の信号と、ステッピングモータによる払出モータ289に供給される各相の信号とを出力するための出力ポートである。また、出力ポート1は、球切れLED52、賞球LED51および賞球BUSY信号と、遊技機外部に出力される賞球中信号、賞球情報、球貸し情報および遊技機エラー状態信号を出力するための出力ポートである。
出力ポート2は、7セグメントLEDによるエラー表示用LED374の各セグメント出力の出力ポートである。出力ポート3は、カードユニット50へのEXS信号およびPRDY信号を出力するための出力ポートである。
図33は、払出制御手段における入力ポートのビット割り当ての例を示す説明図である。図33に示すように、入力ポート0のビット0〜3には、4ビットの賞球制御信号が入力され、ビット4〜7には、それぞれ、主基板31からの接続確認信号、主基板31からの賞球REQ信号、球切れスイッチ187の検出信号、払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、タッチセンサからのタッチセンサ信号(発射制御信号)、払出個数カウントスイッチ301の検出信号、エラー解除スイッチ375からの操作信号、満タンスイッチ48の検出信号が入力される。入力ポート1のビット4〜6には、それぞれ、カードユニット50からのVL信号、BRDY信号、BRQ信号が入力される。入力ポート2には、電源基板910からのクリアスイッチ921からの出力信号および電源断信号が入力される。
図34は、遊技機の払出制御手段とカードユニット50との間の通信を説明するためのタイミング図である。払出制御手段は、遊技機への電力供給が開始され、払出動作が可能なときにはPRDY信号をオン状態にする。カードユニット50は、電力供給が開始されると、接続信号としてのVL信号をオン状態にする。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット50は、払出制御手段にBRDY信号を出力する。すなわち、BRDY信号をオン状態にする。この時点から所定の遅延時間が経過すると、カードユニット50は、払出制御手段にBRQ信号を出力する。すなわち、BRQ信号をオン状態にする。
そして、払出制御手段は、カードユニット50に対するEXS信号をオン状態にし、カードユニット50からのBRQ信号の立ち下がり(オフ)を検出すると、払出モータ289を駆動し、所定個(例えば25個)の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御手段は、カードユニット50に対するEXS信号を立ち下げる。すなわちEXS信号をオフ状態にする。
次に、払出制御手段の動作について説明する。図35は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化を行う(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。また、賞球未払出個数カウンタ初期値として0000(H)をセットする(ステップS707)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば0.7ms毎に発生させたい場合は、初期値として0.7msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。具体的には、CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。例えば、CH3のレジスタ値はシステムクロックの1/256周期で減算される。分周したクロックにもとづいて減算が行われるので、レジスタの初期値は大きくならない。
次いで、入力ポート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に保存されていた賞球未払出個数カウンタの値がそのまま使用される。
そして、定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定を行う(ステップS714)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS715)。その後、タイマ割込の発生を監視するループ処理に入る。
上記のように、この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用CPU371は、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理におけるループ処理では、タイマ割込フラグがセットされたことを検出すると、ステップS750以降の処理を実行する。
ステップS750において、払出制御用CPU371は、電源断信号が出力された否かを監視する電源断処理を実行する。その後、ステップS751以降の払出制御処理を実行する。払出制御処理では、払出制御用CPU371は、まず、発射モータ94に対する励磁パターンの出力処理(発射モータφ1〜φ4のパターンの出力ポート0への出力)を行う(ステップS750)。なお、ステップS763の発射モータ制御処理において、励磁パターンがRAM領域である励磁パターンバッファに格納され、ステップS750では、払出制御用CPU371は、励磁パターンバッファの内容を出力ポート0の下位4ビットに出力する処理を行う。
なお、電源断処理は、遊技制御手段が実行する電源断処理と同様の処理である(図15および図16参照)。すなわち、電源基板910からの電源断信号が、バックアップ監視タイマが計時する所定時間継続してオン状態であれば、電力供給停止時処理が実行される。電力供給停止時処理において、電力供給停止中でも保存したいRAMの領域についてチェックコード(具体的にはチェックサム)を計算し、チェックコードをバックアップRAM領域に保存するとともに、RAMアクセスを禁止し、出力ポートをクリアした後ループ処理に入る。ループ処理において電源断信号がオフ状態になったことを検出すると、払出制御手段の状態は、遊技制御手段が遊技制御処理を実行する状態に戻るのと同様、払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)を実行する状態に戻る。具体的には、例えば、図35に示すメイン処理のステップS701に戻る。
次に、払出制御用CPU371は、RAMに形成されているスイッチカウンタの値に応じてタスク1〜タスク6のいずれかを実行する。タスク1では、スイッチチェック数に検出対象の入力数として3をセットし(ステップS781)、発射制御信号タイマのアドレスをポインタにセットする(ステップS782)。そして、スイッチチェック処理を実行する(ステップS761)。
スイッチチェック処理は、入力ポート1のビット0,1,2の状態チェック、すなわち発射制御信号、払出個数カウントスイッチおよびエラー解除スイッチの検出信号の状態チェックを行う処理である。具体的には、それらのそれぞれに対応したスイッチタイマ(発射制御信号タイマ、払出個数カウントスイッチタイマ、エラー解除スイッチタイマ)がRAMに形成され、スイッチチェック処理において、それらがオン状態であることを検出したら対応するスイッチタイマの値を+1し、オフ状態であることを検出したら対応するスイッチタイマの値をクリアする。なお、タスク1では、スイッチチェック数に3がセットされるので、発射制御信号、払出個数カウントスイッチおよびエラー解除スイッチの検出信号の状態チェックが行われるが、他のタスクでは、それらのうちの1つまたは2つしか状態チェックしないことがある。また、スイッチタイマの値は、発射制御信号、払出個数カウントスイッチおよびエラー解除スイッチの検出信号の状態にもとづいて制御を行う処理(例えば、後述する発射モータ制御処理、賞球球貸し制御処理、エラー処理)において参照され、スイッチタイマの値があらかじめ決められている値に達していれば確かにオンになったと判定される。
また、払出制御用CPU371は、入力判定処理を行う(ステップS762)。入力判定処理は、入力ポート0のビット4〜6および入力ポート1のビット3〜6(図33参照)の状態を検出して検出結果をRAMの所定の1バイト(入力状態フラグと呼ぶ。)に反映する処理である。なお、払出制御処理において、入力ポート0のビット4〜6および入力ポート1のビット3〜6の状態にもとづいて制御を行う場合には、直接入力ポートの状態をチェックするのではなく、入力状態フラグの状態をチェックする。
次に、払出制御用CPU371は、発射モータ制御処理を実行する(ステップS763)。発射モータ制御処理では、発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、発射モータ94を不能動化すべきときには、発射モータ94を回転させない発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。そして、ステップS790に移行する。
タスク2では、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS764)。次いで、払出制御用CPU371は、主基板31の遊技制御手段と通信を行う主制御通信処理を実行する(ステップS765)。さらに、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの賞球制御信号が示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS766)。そして、ステップS790に移行する。
タスク3では、払出制御用CPU371は、スイッチチェック数に検出対象の入力数として1をセットし(ステップS783)、発射制御信号タイマのアドレスをポインタにセットする(ステップS784)。そして、スイッチチェック処理を実行する(ステップS761)。従って、タスク3では、発射制御信号の状態チェックのみを実行する。次いで、発射モータ制御処理を実行する(ステップS763)。また、払出モータ制御処理を実行する(ステップS768)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS769)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS770)。また、エラー処理の結果に応じてエラー表示用LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS771)。なお、払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ、出力ポート2バッファ)が設けられているのであるが、払出制御用CPU371は、出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファの内容を出力ポートに出力する(ステップS772:出力処理)。ただし、出力ポート0の下位4ビット(発射モータφ1〜φ4)については、ステップS751で実行されているので、出力処理においては、出力ポート0の下位4ビットについての出力を行わない。出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファは、払出モータ制御処理(ステップS768)、プリペイドカード制御処理(ステップS764)、主制御通信処理(ステップS765)、情報出力処理(ステップS770)および表示制御処理(ステップS771)で更新される。そして、ステップS790に移行する。
タスク4では、払出制御用CPU371は、スイッチチェック数に検出対象の入力数として2をセットし(ステップS785)、払出個数カウントスイッチタイマのアドレスをポインタにセットする(ステップS786)。そして、スイッチチェック処理を実行する(ステップS761)。従って、タスク4では、払出個数カウントスイッチ301とエラー解除スイッチ375の検出信号の状態チェックのみを実行する。次いで、入力判定処理を実行して(ステップS762)、ステップS790に移行する。
タスク5では、払出制御用CPU371は、スイッチチェック数に検出対象の入力数として1をセットし(ステップS787)、発射制御信号タイマのアドレスをポインタにセットする(ステップS788)。そして、スイッチチェック処理を実行する(ステップS761)。従って、タスク3では、発射制御信号の状態チェックのみを実行する。次いで、発射モータ制御処理を実行する(ステップS763)。また、プリペイドカードユニット制御処理を実行する(ステップS764)。次いで、払出制御用CPU371は、主制御通信処理を実行する(ステップS765)。さらに、賞球球貸し制御処理を実行する(ステップS766)。そして、ステップS790に移行する。
タスク6では、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS768)。また、エラー処理を実行する(ステップS769)。さらに、情報出力処理を実行する(ステップS770)。また、表示制御処理を実行する(ステップS771)。さらに、出力処理を実行し(ステップS772)、ステップS790に移行する。
ステップS790では、タスクカウンタの値を+1した後、ステップS716に戻る。なお、タスクカウンタの値が6になったときには0に戻す。
以上のように、この実施の形態では、タイマ割込が発生したときに、払出制御処理における全ての処理(スイッチチェック処理、入力判定処理、発射モータ制御処理、払出モータ制御処理、プリペイドカードユニット制御処理、主制御通信処理、賞球球貸し制御処理、エラー処理、表示制御処理、出力処理)を実行するのではなく、タイマ割込の発生したときのタスクカウンタの値に応じて、そのうちの一部のみを実行する。従って、タイマ割込の発生周期を比較的短くすることによって(例えば、0.7ms)、短周期で実行すべき処理(例えばステップS751の処理)については短周期で繰り返し実行することができるようになる。また、タイマ割込の周期内で払出制御処理における全ての処理を実行したのでは実行できない処理が発生してしまう可能性があるが、一部のみを実行することによって、実行できない処理が発生してしまうことを防止できる。
図39は、ステップS763の発射モータ制御処理を示すフローチャートである。発射モータ制御処理において、払出制御用CPU371は、カードユニット50からのVL信号がオフ状態である場合(プリペイドカード未接続)、または満タンスイッチ48がオン状態である場合(下皿満タン)には、ステップS518に移行する(ステップS511,S513)。プリペイドカード未接続でなく、下皿満タンでもない場合にはステップS514に移行する。ステップS514では、払出制御用CPU371は、タッチセンサ信号(発射制御信号)がオン状態になっているか否か確認する。オン状態になっていればステップS515に移行し、オン状態になっていなければステップS518に移行する。
ステップS515では、払出制御用CPU371は、発射モータ励磁パターンカウンタを+1する。そして、ROMに格納されている発射モータ励磁パターンテーブルから、励磁パターンカウンタの値に応じたデータを読み出す(ステップS516)。さらに、読み出したデータを、発射モータ励磁パターンバッファにセットする(ステップS517)。上述したように、発射モータ励磁パターンバッファの内容は、ステップS750において出力ポートに出力される。なお、発射モータ励磁パターンテーブルには、発射モータ94を回転させるための各ステップの励磁パターン(発射モータφ1〜φ4)のデータが順次設定されている。
ステップS518では、未回転データ(発射モータ94を回転させないための励磁パターン)を発射モータ励磁パターンバッファにセットする。
以上のように、プリペイドカード未接続または下皿満タンが生じているときに発射モータ94が不能動化されるので、それらが発生しているにも関わらず遊技が進行してしまうことはない。なお、さらに、主基板未接続エラーの通信エラー(接続確認信号のオフ状態)や、不正なタイミングで賞球REQ信号がオンまたはオフした賞球REQ信号エラーが発生した場合にも、発射モータ94を不能動化するようにして、遊技球の遊技領域7への発射ができない状態にしてもよい。
図40は、ステップS768の払出モータ制御処理を示すフローチャートである。払出モータ制御処理において、払出制御用CPU371は、払出モータ制御コードの値に応じて、ステップS521〜ステップS526のいずれかの処理を実行する。
払出モータ制御コードの値が0の場合に実行される払出モータ通常処理(ステップS521)では、払出制御用CPU371は、ポインタを、ROMに格納されているテーブルの先頭アドレスにセットする。払出モータ通常処理設定テーブルには、球払出時の払出モータ289を回転させるための各ステップの励磁パターン(払出モータφ1〜φ4)のデータが順次設定されている払出モータ励磁パターンテーブルが格納されている。
払出モータ制御コードの値が1の場合に実行される払出モータ起動準備処理(ステップS522)では、払出制御用CPU371は、出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に励磁パターンの初期値を設定する等の処理を行う。
払出モータ制御コードの値が2の場合に実行される払出モータスローアップ処理(ステップS523)では、払出制御用CPU371は、払出モータ289を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。読み出しに際して、ポインタが指すアドレスの払出モータ励磁パターンテーブルの内容を読み出すとともに、ポインタの値を+1する。
払出モータ制御コードの値が3の場合に実行される払出モータ定速処理(ステップS524)では、払出制御用CPU371は、定期的に払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
払出モータ制御コードの値が4の場合に実行される払出モータブレーキ処理(ステップS525)では、払出制御用CPU371は、払出モータ289を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
払出モータ制御コードの値が5の場合に実行される球噛み時払出モータブレーキ処理(ステップS526)では、払出制御用CPU371は、球噛みを解除するための回転の場合に、払出モータ289を滑らかに停止させるために、球噛みを解除するための払出モータ289の回転の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
図41は、ステップS765の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用CPU371は、主制御通信制御コードの値に応じて、ステップS531〜ステップS533のいずれかの処理を実行する。
図42は、主制御通信通常処理において賞球制御信号を入力ポートを介して入力するための条件を示す説明図である。図42に示すように、RAMに形成されている1バイトのエラーフラグにおける主制御未接続エラー(接続確認信号のオフ)、賞球REQ信号エラー(賞球REQ信号が不正なタイミングでオンまたはオフ)のエラービットがセット状態ではなく、かつ、カードユニット50からのBRDY信号がオン状態ではない場合に、接続確認信号がオン状態であって、かつ、賞球REQ信号がオン状態になると、払出制御手段は、賞球制御信号を入力ポートを介して入力する。なお、エラービットとは、各種のエラーが発生したことが検出されたときにセットされるエラーフラグにおけるビットである。
図43は、主制御通信制御コードの値が0の場合に実行される主制御通信通常処理(ステップS531)を示すフローチャートである。主制御通信通常処理において、払出制御用CPU371は、エラービット(主制御未接続エラービットまたは賞球REQ信号エラービット)がオンしている場合には、以降の処理を実行せずに処理を終了する(ステップS541)。ステップS541では、エラーフラグ中の2つのビットのうち1つでもセットされていたら、エラービットがセットされていると判断する。
また、払出制御用CPU371は、BRDY信号がオン状態であれば、以降の処理を実行せずに処理を終了する(ステップS542)。BRDY信号がオン状態であるということは、カードユニット50から球貸し要求が発生していることを意味する。すなわち、球貸し要求が発生しているときには、主基板31の遊技制御手段との通信(賞球払出に関する通信)が進行しない。
ステップS541〜ステップS542の条件が成立せず、接続確認信号がオン状態である場合には、払出制御用CPU371は、賞球REQ信号がオン状態になっているか否か確認する(ステップS543,S544)。オン状態になっている場合には、賞球制御信号が示す賞球数を賞球未払出個数カウンタの内容に加算し(ステップS545)、賞球BUSY信号をオン状態にするための処理を行う(ステップS546)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける賞球BUSY信号に対応したビットをオン状態に設定する。そして、主制御通信制御タイマに賞球BUSY信号出力時間(この例では10)をセットし(ステップS547)、主制御通信制御コードの値を1にして(ステップS548)、処理を終了する。主制御通信制御タイマは、主基板31の遊技制御手段との通信に関わる時間の監視等に使用されるタイマであるが、この段階では、賞球BUSY信号をオフするタイミングを設定するための賞球BUSY信号出力時間がセットされる。なお、賞球未払出個数カウンタは、不揮発性(この例では電源バックアップされている)のRAM領域に形成されている。
図44は、主制御通信制御コードの値が1の場合に実行される主制御通信中処理(ステップS532)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、接続確認信号がオン状態であれば(ステップS551)、賞球REQ信号の状態を確認する(ステップS552)。賞球REQ信号がオフ状態になっていたら、エラーフラグのうち賞球REQ信号エラービットをセットする(ステップS553)。この段階で、直ちに賞球REQ信号がオフ状態になってしまうのはおかしいからである。
次いで、払出制御用CPU371は、主制御通信制御タイマの値を確認し(ステップS554)、0になっていなければ主制御通信制御タイマの値を1減算して(ステップS555)処理を終了する。主制御通信制御タイマの値が0になっていたら、賞球BUSY信号をオフ状態にするための処理を行う。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける賞球BUSY信号に対応したビットをオフ状態に設定する(ステップS556)。また、主制御通信制御タイマに賞球REQ信号オフ監視時間(この例では24)をセットする(ステップS557)。そして、主制御通信制御コードの値を2にして(ステップS558)、処理を終了する。
図45は、主制御通信制御コードの値が2の場合に実行される主制御通信終了処理(ステップS533)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、エラービット(主制御未接続エラービットまたは賞球REQ信号エラービット)がオンしている場合には、ステップS567に移行する(ステップS561)。また、接続確認信号がオフ状態である場合にもステップS567に移行する(ステップS562)。エラービットがともにオフ状態であって接続確認信号がオン状態である場合には、賞球REQ信号がオフ状態になったか否かを確認する(ステップS563)。オフ状態になったらステップS567に移行する。
賞球REQ信号がオフ状態になっていない場合には、主制御通信制御タイマの値を確認する(ステップS564)。主制御通信制御タイマの値が0になっていなければ主制御通信制御タイマの値を−1する(ステップS565)。主制御通信制御タイマの値が0になっていたら、監視時間内に賞球REQ信号がオフしなかったとして、エラーフラグのうち賞球REQ信号エラービットをセットし(ステップS566)、ステップS567に移行する。
ステップS567では、主制御通信制御コードの値を0にして、処理を終了する。
図46は、ステップS766の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、球貸し中であれば球貸し未払出個数カウンタの値を1減らし(ステップS602,S604)、球貸し中でなければ賞球未払出個数カウンタの値を1減らす(ステップS602,S603)。次に、RAMに形成されている払出制御状態フラグの払出球検知ビットをセットする(ステップS605)。払出球検知ビットは、払出通過待ち処理において、1回の賞球払出処理(最大15個)または1回の球貸し処理において(25個の払出)、払出モータ289を駆動したにもかかわらず遊技球が1個も払出個数カウントスイッチ301を通過しなかったことを検知するために用いられる。その後、払出制御コードの値に応じてステップS610〜ステップS612のいずれかの処理を実行する。
図47は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、エラービットがセットされていたら、以降の処理を実行しない(ステップS621)。エラーフラグにおけるエラービットには、主基板未接続エラーのビットが含まれている。また、主基板未接続エラーは主基板31からの接続確認信号がオフ状態であるときにセットされる。従って、払出制御手段は、遊技機に対して電力供給が開始された後、接続確認信号がオン状態になったことを条件に、実質的な制御を開始する。
また、BRDY信号がオン状態でなければ、ステップS631以降の賞球払出のための処理を実行する。BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号がオン状態になっていたら球貸し動作中フラグをセットする(ステップS623,S624)。そして、球貸し未払出個数カウンタに「25」をセットし(ステップS625)、払出モータ回転回数バッファに「25」をセットする(ステップS626)。
払出モータ回転回数バッファは、払出モータ制御処理(ステップS768)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
その後、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS627)、払出制御コードの値を1にして(ステップS628)、処理を終了する。
ステップS631では、払出制御用CPU371は、賞球未払出個数カウンタの値が0であるか否かを確認する(ステップS631)。0であれば処理を終了する。賞球未払出個数カウンタには、主制御通信通常処理におけるステップS546において、すなわち、主基板31の遊技制御手段から賞球REQ信号を受けたときに、0でない値(賞球制御信号が示す数)が加算されている。賞球未払出個数カウンタの値が0でない場合には、15以上であるか否か確認する(ステップS632)。15未満であれば、払出モータ回転回数バッファに賞球未払出個数カウンタの値をセットし(ステップS633)、15以上であれば、払出モータ回転回数バッファに「15」をセットする。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
図48は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図49〜図51は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。賞球未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、1個の遊技球の再払出動作を、2回を上限として試みる。再払出動作において払出個数カウントスイッチ301によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。なお、この実施の形態では、1回の賞球払出動作で払い出される遊技球数は最大15個であり、また、賞球払出中に賞球制御信号を受信したら賞球未払出個数カウンタの値が増加するので、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、1個の遊技球または球貸し残数(球貸し未払出個数カウンタの値に相当)の再払出動作を試みる。なお、この実施の形態では、1回の球貸し払出動作で払い出される遊技球数は25個(固定値)であり、25個の遊技球が払い出されるように払出モータ289を回転させたのであるから、球貸し未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値を確認し、その値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。
払出制御タイマがタイムアウトしていれば(ステップS652)、球貸し払出処理(球貸し動作)を実行していたか否か確認する(ステップS653)。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、払出制御用CPU371は、賞球未払出個数カウンタの値を確認する(ステップS654)。賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、払出制御状態フラグにおける払出球検知ビット、再払出動作中1ビット、再払出動作中2ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する、なお、払出球検知ビットは、払出個数カウントスイッチ301がオンしたときにセットされるビットであり、払出動作中に払出個数カウントスイッチ301が少なくとも1個の遊技球を検出したことを示すビットである。また、再払出動作中1ビットおよび再払出動作中2ビットは、2回の再払出動作からなる再払出処理を実行する際に用いられる制御ビットである。
払出制御用CPU371は、賞球未払出個数カウンタの値が0になっていない場合には、エラーフラグ(具体的には、払出スイッチ異常検知エラー1ビット、払出スイッチ異常検知エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS658)、また、払出球検知ビットがセットされていないことを条件として(ステップS661)、再払出動作を実行する。なお、エラーフラグがセットされている場合には、再払出動作を実行しない。
上述したように、この実施の形態では、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。そこで、払出球検知ビットがセットされていれば、すなわち払出個数カウントスイッチ301が賞球払出処理中に少なくとも1個の遊技球の払出を検出していたら、正常に賞球払出処理が完了したとして、ステップS655に移行する。なお、例えば、1回の賞球払出処理で15個の遊技球を払い出すべきところ、実際には14個の遊技球しか払い出されなかった場合(払出個数カウントスイッチ301が14個の遊技球しか検出しなかった場合)にも、払出球検知ビットがセットされるので正常に賞球払出処理が完了したとみなされるが、その場合には、賞球未払出個数カウンタの値は14しか減算されていないはずであり、不足分は次回の賞球払出処理で払い出されるので、遊技者に不利益を与えることはない。
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS662)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS663)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作個数として1をセットし(ステップS664)、再払出動作中1ビットをセットし(ステップS665)、払出モータ回転回数バッファに再払出動作個数または球貸し未払出数個数カウンタの値をセットする(ステップS666)。払出モータ回転回数バッファは、払出モータ制御処理(ステップS768)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。なお、ステップS666において、球貸し未払出数個数カウンタの値も取り扱われるのは、球貸し払出処理における再払出処理でもステップS666が用いられるからである。すなわち、払出制御用CPU371は、ステップS666において、賞球払出処理における再払出処理では再払出動作個数をセットし、球貸し払出処理における再払出処理では球貸し未払出数個数カウンタの値をセットする。その後、払出制御コードを1にして(ステップS667)、処理を終了する。
ステップS663において、再払出動作中1ビットがセットされていることを確認したら、払出制御用CPU371は、2回目の再払出を実行するために、再払出動作個数として1をセットし(ステップS668)、再払出動作中1ビットをリセットし(ステップS669)、再払出動作中2ビットをセットする(ステップS670)。そして、ステップS666に移行する。
ステップS662において、再払出動作中2ビットがセットされていることを確認したら、払出制御用CPU371は、2回の再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS672)。その際に、再払出動作中2ビットをリセットしておく(ステップS671)。そして、処理を終了する。
以上のように、再払出処理(補正払出処理)において2回の再払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
従って、この実施の形態では、払出制御手段における景品遊技媒体払出制御手段は、払出検出手段としての払出個数カウントスイッチ301からの検出信号にもとづいて、景品遊技媒体の払い出しが行われなかったことを検出したときに、あらかじめ決められた所定回(この例では2回)を限度として、払出手段に1個の景品遊技媒体の払い出しを行わせるように制御を行う。なお、この実施の形態では、景品遊技媒体を払い出すためのリトライ動作を2回行っても景品遊技媒体の払い出しが行われなかった場合には、払出ケースエラービットをセットしてエラー発生中状態になるが(ステップS672)、景品遊技媒体の払い出しが行われなかったことを初めて検知したときに払出ケースエラービットをセットしてもよい。
賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図47に示された払出開始待ち処理においてのみである。図48に示された払出モータ停止待ち処理および図49等に示された払出通過待ち処理では、エラービットはチェックされない。なお、払出通過待ち処理におけるステップS658等でもエラービットがチェックされているが、そのチェックは再払出動作を行うか否かを判断するためであって、払出動作(1回の賞球払出または1回の球貸し)を開始するか否か判定するためではない。従って、ステップS626,S633またはステップS634の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(1回の賞球払出または1回の球貸しが終了した時点)まで継続される。
なお、ステップS621でチェックされるエラーフラグにおけるエラービットの中には、主基板31からの接続確認信号がオフ状態になったことを示すエラービットが含まれている。よって、接続確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。この実施の形態では、払出処理を実行するとき等に、接続確認信号がオン状態であるか否かを判定する接続確認信号受信判定手段(例えば払出制御用CPU371の接続確認信号がオン状態であるか否かまたは主制御未接続エラービットがセットされているか否かを判定する機能:ステップS541,S543,S551,S561,S562,S621)を備えている。そして、接続確認信号受信判定手段によって接続確認信号がオフ状態である旨の判定がなされ、主制御未接続エラービットがセットされていないときには、払い出しに関わる制御状態をエラー状態に移行させる制御を行っている。
例えば、電源基板910と主基板31との間の不具合により、主基板31に電力の供給が停止したことにもとづいて接続確認信号がオフ状態となったときには、払出制御基板に電力の供給がなされているため、遊技球の払出処理は切りのよい時点で停止される。なお、払出制御基板37および球払出装置97への電力供給が停止したときに、電気的駆動源としてバックアップ電源を備えるようにしてもよく、この場合には、遊技機への電力の供給が停止したことにもとづいて接続確認信号がオフ状態となったときには、バックアップ電源により払出モータ289を駆動させて球払出装置97にて、少なくとも切りのよい時点までは遊技球の払出処理が実行されるように構成してもよい。
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用CPU371は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
球貸し未払出個数カウンタの値が0になっていなければ、エラーフラグ(具体的には、払出スイッチ異常検知エラー1ビット、払出スイッチ異常検知エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS675)、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS676)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS677)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作個数として1をセットし(ステップS678)、再払出動作中1ビットをセットし(ステップS679)、さらに払出球検知ビットをリセットした後(ステップS680)、ステップS666に移行する。
ステップS677において、再払出動作中1ビットがセットされていることを確認したら、払出制御用CPU371は、再払出動作を再度実行するための処理を行う。具体的には、再払出動作中1ビットをリセットする(ステップS681)。そして、払出球検知ビットがセットされていたら、すなわち、最初の再払出動作で遊技球が払い出されていたら、ステップS683に移行する。払出球検知ビットがセットされていなかったら、2回目の再払出動作を実行するためにステップS684に移行する。
ステップS683では払出球検知ビットをリセットし、その後、ステップS666に移行する。従って、この場合には、再払出動作中1ビットがセットされたままになっているので、再度、初回(最初)の再払出動作が行われる。ステップS684では、再払出動作個数として1をセットし(ステップS684)、再払出動作中2ビットをセットし(ステップS685)、ステップS666に移行する。
ステップS676において、再払出動作中2ビットがセットされていることを確認したら、払出制御用CPU371は、再払出動作中2ビットをリセットし(ステップS686)、払出球検知ビットがセットされていたら、すなわち、再払出動作で遊技球が払い出されていたらステップS683に移行して残りの未払出を分を解消することを試みる。払出球検知ビットがセットされていなかったら、2回の再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS688)。そして、処理を終了する。
以上のように、球貸し処理に係る再払出処理(補正払出処理)において連続して2回の再払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
図52は、払出モータ制御処理(ステップ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回転して1個の遊技球を払い出す。そして、払出制御用CPU371は、例えば、図52に示すように、払出制御用CPU371は、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。そして、5回連続して同一状態(払出モータ位置センサ295の検出信号がオフ状態が5回連続、またはオン状態が5回連続)であったら、球噛みが生じたとして、払出モータ制御処理において球噛み解除処理を実行する。
払出制御用CPU371は、球噛み解除処理において、図53に示すように、払出モータ289を高速回転させる処理と低速回転させる処理とを所定回(例えば9回)繰り返す。そして、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。検出信号によって払出モータ289の回転が復旧したと判断される場合には、球噛み解除処理を終了して、通常の球払出処理に戻る。
高速回転させる処理と低速回転させる処理とを所定回実行しても払出モータ位置センサ295の検出信号に変化が生じなかった場合には、エラーフラグのうち、球噛みエラービット(払出ケースエラービット)をセットする。なお、払出ケースエラービットがセットされている場合には、払出制御用CPU371は、払出モータ289を駆動しない。また、払出ケースエラービットがリセットされると(図55におけるステップS807参照)、払出制御用CPU371は、払出モータ289を駆動できる状態に戻る。
このように、払出制御手段は、払出手段の動作状態を監視する駆動状態監視手段と、駆動状態監視手段が払出手段の動作不良を検出したときに払出手段の駆動を停止させる駆動停止手段とを含む。
次に、エラー処理について説明する。図54は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。図54に示すように、主基板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」を表示する制御を行う。なお、プリペイドカードユニット通信エラーは、プリペイドカードユニット制御処理(ステップS764)において検出される。
以上のエラーのうち、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーが発生した後、エラー解除スイッチ375が操作されエラー解除スイッチ375から操作信号が出力されたら(オン状態になったら)、払出制御手段は、エラーが発生する前の状態に復帰する。
図55は、ステップS769のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのみ(3つのうちのいずれかのビットのみ、もしくは3つのうちの2ビットのみ、またはそれら3ビットのみ)であるか否か確認する(ステップS801)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS802)。なお、払出制御用CPU371は、払出ケースモータエラーのエラービットがセットされているエラー状態において、払出個数カウントスイッチ301が遊技球の払い出しを検出したとしても、エラー解除スイッチ375からの操作信号がオン状態にならない限り、払出ケースモータエラーのエラービットをリセットしない(ステップS443〜ステップS447参照)。すなわち、払出検出手段が未だ払い出されていない景品遊技媒体を検出してもエラー状態を継続させる。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS803)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS804)。エラー復帰前タイマの値が0であれば、すなわち、エラー復帰前タイマがセットされていなければ、ステップS808に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS805)、エラー復帰前タイマの値が0になったら(ステップS806)、エラーフラグのうちの、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットをリセットし(ステップS807)、ステップS808に移行する。
なお、ステップS807の処理が実行されるときに、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーのビットをセットする原因になったエラー(図54参照)が発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、払出制御コードが「2」(図49〜図51に示す払出通過待ち処理の実行に対応)であって、賞球未払出個数カウンタの値または球貸し未払出個数カウンタの値が0でないときには、遊技球払出のリトライ動作が開始される。つまり、次にステップS766の賞球球貸し制御処理が実行されるときにステップS612の払出通過待ち処理が実行されると、再び、再払出処理が行われる。例えば、賞球払出処理が行われていた場合には、賞球未払出個数カウンタの値が0でないときには、ステップS654からステップS659に移行し、ステップS659においてエラービットがリセット状態であることが確認されるので、ステップS662以降の再払出処理を開始するための処理が再度実行され、再払出処理が実行される。なお、エラー解除スイッチ375が押下されることによってリセットされた払出ケースエラービットに関して、そのビットがセットされたときには(ステップS672が実行されたとき)、払出制御タイマは既にタイムアップしている。従って、ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、次に払出通過待ち処理が実行されるときには、ステップS652の判断において払出制御タイマ=0と判定される。また、払出ケースエラービットがセットされたときには払出球検知ビットは0である(ステップS661の判断で払出球検知ビットは0でないとステップS672が実行されないので)。従って、ステップS659においてエラービットがリセット状態であることが確認されると、必ずステップS662が実行される。つまり、必ず、再払出処理が実行される。
以上のように、払出制御手段は、球払出装置97が遊技球の払い出しを行ったにもかかわらず払出個数カウントスイッチ301が1個も遊技球を検出しなかったときには遊技球を払い出すためのリトライ動作をあらかじめ決められた所定回(例えば2回)を限度として球払出装置97に実行させる補正払出制御を行った後、払出個数カウントスイッチ301が1個も遊技球を検出しなかったことが検出されたときには(図50のステップS661以降を参照)、払い出しに関わる制御状態をエラー状態に移行させ、エラー状態においてエラー解除スイッチ375からエラー解除信号が出力されたことを条件に再度補正払出制御を行わせる補正払出制御再起動処理を実行する。
さらに、エラー状態における再払出処理の実行中(具体的には払出ケースエラーをセットする前の再払出処理中およびエラー解除スイッチ375押下後の再払出処理中)でも、図46に示すステップS601〜ステップS604の処理は実行されている。すなわち、払い出しに関わるエラーが生じているときでも、遊技球が払出個数カウントスイッチ301を通過すれば、賞球未払出個数カウンタや球貸し未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの賞球未払出個数カウンタや球貸し未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。すなわち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
また、図49〜図51に示された払出通過待ち処理において、再払出処理が実行された結果、遊技球が払い出されたことが確認されたときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ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は、主基板31からの接続確認信号の状態を確認し(ステップS815)、接続確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS816)。また、接続確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS817)。なお、ステップS461等の処理を実行することによって通信に関わる異常を検出する通信異常検出手段は払出制御手段に含まれるので、払出制御基板37に搭載されることになる。
また、払出制御用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)。
なお、ステップS771の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。この実施の形態では、主基板31に搭載された遊技制御手段と払出制御基板37に搭載された払出制御手段とが賞球払出に関して双方向通信を行うのであるが、通信エラーをエラー表示用LED374によって報知することができる。
また、通信エラーは、払出制御手段の側で検出されるので、遊技制御手段と払出制御手段とが賞球払出に関して双方向通信を行うようにしても、遊技制御手段の負担を増すことなく通信エラーを検出できる。
なお、この実施の形態では、主基板未接続エラーは接続確認信号がオン状態になると自動的に解消されるが(ステップS815,S817参照)、さらにエラー解除スイッチ375が操作されたという条件を加えて、エラー状態が解消されるようにしてもよい。
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラーおよびプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される(図54参照)。従って、遊技制御手段と払出制御手段との間の通信エラーが容易に特定される。すなわち、通信異常報知手段としてのエラー表示用LED374は、外部機器異常検出手段(例えば払出制御手段におけるプリペイドカードユニット通信エラーを検知する部分)が異常を検出したとき、その旨を、通信異常検出手段が検出した異常と区別可能に報知する。従って、遊技制御手段と払出制御手段との間の通信エラーが容易に特定される。
なお、この実施の形態では、払い出しに関わるエラーが発生したことを、遊技機裏面に設置されている払出制御基板37に搭載されているエラー表示用LED374によって報知するようにしたが、遊技機裏面の他の箇所(例えば球払出装置97等が集中配置された払出ユニット)に報知手段を搭載してもよい。さらに、遊技機の表側に設置されている表示器(例えば賞球LED51)によって報知するようにしてもよい。払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行い、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行うのであるが、払い出しに関わるエラーが発生した場合には、例えば、賞球LED51を点滅させることによって、払い出しに関わるエラーが発生したことを報知する。遊技機の表側に設置されている表示器によってエラー報知すれば、遊技店員等がより容易にエラーの発生を認識できる。また、エラー表示用LED374による報知と遊技機の表側に設置されている表示器による報知とを併用してもよい。
図57(A)は、払出ケースエラー(払出不足エラー)の発生の様子を示すタイミング図であり、図57(B)は、エラー解除スイッチ375の操作時の様子を示すタイミング図である。
図57(A)に示すように、所定個の遊技球を払い出すために払出モータ289を回転させ、回転停止後、最後に払い出されたはずの遊技球が払出個数カウントスイッチ301を通過した後に(この例では402.087ms後に)、未払出の遊技球があるか否かが確認され(ステップS654の判定に相当)、未払出の遊技球があれば、再払出動作が実行される。図57(A)には、2回の再払出動作が実行された例が示されている。そして、2回の再払出動作が実行された場合に、払出ケースエラーと判定され(ステップS672の判定に相当)、ステップS771の表示制御処理によってエラー表示用LED374に「4」が表示される(図54参照)。
また、図57(B)に示すように、エラー解除スイッチ375が操作されると、エラー解除時間の経過後に、再び、再払出動作が開始される。なお、図57(B)に示すように、再び再払出動作が開始されるときに、エラー表示用LED374における「4」の表示が消去される。すなわち、エラー解除スイッチ375の操作後に補正払出制御が行われているときには払出不足のエラーを示す報知は行われていない。
図58および図59は、表示制御処理(ステップS771)を示すフローチャートである。表示制御処理において、払出制御用CPU371は、RAMに形成されている1バイトの点滅タイマの値を1加算する(ステップS571)。そして、エラーフラグのうち球切れエラービットがセットされていたら(ステップS572)、出力ポート1バッファにおける球切れLED出力ビットをセットする(ステップS573)。球切れエラービットがセットされていなかったら、出力ポート1バッファにおける球切れLED出力ビットをリセットする(ステップS574)。なお、出力ポート1バッファの内容は、ステップS772の出力処理において出力ポート1に出力される。
また、払出制御用CPU371は、主制御未接続エラービットがセットされていない場合には(ステップS575)、賞球払出中(払出制御状態フラグにおける賞球動作中フラグがセット)であれば(ステップS576)、出力ポート1バッファにおける賞球LED出力ビットをセットする(ステップS577)。賞球払出中でなければ、出力ポート1バッファにおける賞球LED出力ビットをリセットする(ステップS578)。
さらに、払出制御用CPU371は、エラーフラグにおいて、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラー(エラー解除スイッチ375によって解除可能エラー)の各ビット以外のビットがセットされている場合には、ステップS585に移行する。エラーフラグにおいてセットされているビットが払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのうちのいずれかまたは複数である場合に、点滅タイマのビット7が「1」であれば(ステップS580)、出力ポート1バッファにおける賞球LED出力ビットをセットする(ステップS581)。点滅タイマのビット7が「1」でなければ、出力ポート1バッファにおける賞球LED出力ビットをリセットする(ステップS582)。ステップS579〜ステップS581の処理によって、人為的な操作によってエラー解除可能なエラーが発生しているときには、その旨が遊技者等から視認可能に報知される。この実施の形態では、賞球LED51の点滅によって報知される。従って、遊技者や遊技店員は、人為的な操作によってエラーを解除して遊技機を通常の状態に戻せるようなエラーが発生していることを容易に認識できる。
また、払出制御用CPU371は、エラーフラグをロードし(ステップS585)、エラーフラグにおけるエラービットに応じたエラーコード(7SEG表示コード;図54参照)を決定し(ステップS586)、決定したエラーコードを、出力ポート2出力バッファにセットする(ステップS587)。
図60は、情報出力処理(ステップS770)の賞球個数信号としての賞球情報(賞球信号)の出力に関わる部分を示すフローチャートである。賞球信号は、払出制御基板37からターミナル基板160を介して遊技機外部に出力される。
情報出力処理において、払出制御用CPU371は、信号出力タイマの値が0であるか否か確認する(ステップS831)。信号出力タイマは、1パルスの賞球信号のオン期間を設定するためのタイマである。すなわち、信号出力タイマの値が0でないということは、賞球信号が出力されている状態にあることを示している。信号出力タイマの値が0でない場合には、信号出力タイマの値を減算し(ステップS841)、信号出力タイマの値が0になったときには(ステップS842)、賞球信号をオフ状態にする(ステップS843)。
信号出力タイマの値が0である場合には、球貸し動作中フラグがセットされているか否か確認する(ステップS832)。球貸し動作中フラグがセットされていない場合には、払出個数カウントスイッチ301がオンすれば(遊技球が通過すれば)、賞球払出個数カウンタの値を+1する(ステップS833,S834)。賞球払出個数カウンタは、RAMに形成されているカウンタである。
そして、賞球払出個数カウンタの値が10になったときには(ステップS835)、賞球払出個数カウンタの値をクリアし、賞球信号をオン状態にして(ステップS837)、信号出力タイマに、賞球信号のオン期間値を設定する(ステップS838)。以上の処理によって、賞球としての遊技球が10個払い出される毎に、1つの賞球信号が出力される。このように、払出制御手段は、払出個数カウントスイッチ301の検出信号にもとづいて所定数(この例では10個)の賞球としての遊技球が払い出されたことを検出すると、その個数を示す賞球信号を遊技機の外部に出力する。なお、この実施の形態では、所定数は10個であるが、所定数として他の数を用いてもよい。また、所定数は複数種類あってもよい。例えば、遊技制御手段から10個の賞球払出が指示され10個の遊技球の払出が完了すると第1の賞球信号を出力し、遊技制御手段から15個の賞球払出が指示され15個の遊技球の払出が完了すると第2の賞球信号を出力するような場合には、所定数は10および15である。
情報出力処理において、エラービットのチェックは実行されない。従って、遊技球の払い出しに関わるエラー状態であっても、払出個数カウントスイッチ301によって、賞球としての10個の遊技球が検出される毎に賞球信号が出力される。よって、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を遊技機の外部においても正確に管理することができる。また、エラー解除スイッチ375が操作されたことによってハードウェア的にリセット(払出制御用CPU371に対するリセット)がかかるように構成されている場合には、エラー解除スイッチ375が操作されたことによって賞球払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御手段が、エラー解除スイッチ375が操作されたことによってエラーの解除が可能になるように構成され、エラーが解除されるときに賞球払出個数カウンタはクリアされないので、実際に払い出された遊技球が正確に賞球信号に反映される。さらに、払い出しに関わるエラー状態中でも、実際に払い出された遊技球数を遊技機の外部において把握できるので、払い出しに関わるエラーを発生させて不正に遊技球を払い出させるような不正行為が行われても、容易にそのことが検知される。
また、賞球払出個数カウンタは、球貸し動作中フラグがセットされていない状態で払出個数カウントスイッチ301が遊技球を検出したときに+1される。従って、賞球動作中フラグがセットされているとき(賞球払出中)だけでなく、賞球動作中フラグおよび球貸し動作中フラグがセットされていないとき(賞球払出も球貸しも行われていないとき)にも、払出個数カウントスイッチ301が遊技球を検出すれば+1される。つまり、賞球払出中でもなく球貸し中でもないときに払出個数カウントスイッチ301が遊技球を検出した場合には、賞球払出によって遊技球が払い出されたとみなし、遊技機外部(例えばホールコンピュータ)に出力される賞球信号に反映される。このように、実際に払い出された遊技球は、必ず、遊技機外部に出力される信号に反映されるので、例えば遊技店における払出数の集計結果に必ず反映される。なお、賞球払出中でもなく球貸し中でもないときに払出個数カウントスイッチ301が遊技球を検出した場合には、貸し球要求にもとづいて遊技球が払い出されたとみなしてもよい。
なお、上記の実施の形態では、遊技制御手段は、払出指令信号の送信に関連して(具体的には払出指令信号の送信に応じた賞球BUSY信号のオン)未払出景品遊技媒体数の減算処理(図30のステップS261,S263,S265参照)を行うので、停電等によって不測の電力供給停止が生じても遊技者に与えられる不利益を最小限に止めることができるとともに、不正行為を効果的に防止できる。つまり、未払出景品遊技媒体数が設定されている総賞球数格納バッファは遊技制御手段においてバックアップRAMに形成されているので、遊技機への電力供給が停止しても所定期間(バックアップ電源の持続時間)内ではその内容が保存され、電力供給が復旧したときに、保存されている総賞球数格納バッファの内容にもとづいて、遊技制御手段は、賞球処理を再開することができる。すなわち、保存されていた総賞球数格納バッファの内容が0でなければ払出制御手段に対して払出指令信号を出力することができる。
例えば、未払出景品遊技媒体数の減算処理を、払出完了信号の受信にもとづいて実行すると、払出制御手段が払出指令信号にもとづいて賞球払出を開始後払出完了信号を送信する前に、不正に電力供給停止状態にした後電力供給を復旧させる状態を作成したり、遊技制御手段を不正に一旦リセットするような行為がなされた場合には、減算処理がなされていない未払出景品遊技媒体数にもとづいて二重に賞球払出を実行してしまう。しかし、払出完了信号の受信にもとづいて未払出景品遊技媒体数の減算処理を実行すれば、そのような不正行為がなされても二重に賞球払出を実行してしまうことはない。
さらに、上記の実施の形態では、払出個数カウントスイッチ301の出力は払出制御基板37のみに入力されている。従って、払出個数カウントスイッチ301の出力を主基板31と払出制御基板37との双方に供給する場合に比べて、回路構成が簡略化されコストを低減することができる。
また、遊技制御手段は、電力供給開始時に、払出制御手段に対して、遊技機への電力供給が開始したことを示す制御信号(接続確認信号)を出力するように構成されているので、電力供給が開始して遊技制御手段の制御動作が開始したことを払出制御手段に認識させることができる。
なお、上記の実施の形態では、賞球REQ信号によって払出要求を行い、賞球制御信号によって払出数が指定されたが、賞球制御信号によって払出要求および払出数の指定を行うように構成してもよい。その場合、払出制御手段は、賞球制御信号が出力されているときは、同時に払出要求がなされていると判定すればよい。そのような構成によれば、賞球REQ信号を用いる必要はない。
また、上記の実施の形態では、払出制御手段は、払出モータ289が払出予定数分回転したことを検出したら賞球払出の終了と決定したが、払出モータ位置センサによる検出回数が払出予定数に達したら賞球払出の終了と決定してもよい。すなわち、払出制御手段は、払出手段の動作量(この例では、払出モータ289の回転量または払出モータ位置センサによる検出回数)を検出することによって払い出しが完了したか否かを判定するように構成されていてもよい。
さらに、上記の実施の形態では、払出制御手段は、払出個数カウントスイッチ301の検出信号にもとづいて遊技球が払い出されたことを確認したが、払出モータ位置センサの出力信号にもとづいて遊技球が払い出されたことを確認するようにしてもよい。
また、払出制御手段が、払出手段の駆動部(例えば払出モータ289、カム等)の動作量を検出し、その検出にもとづいて払い出しに関わる異常(払出ユニットエラー)が発生したか否かを判定するように構成されていてもよい。そのように構成すれば、払い出しに関わる異常を確実に検出することができる。
また、上記の実施の形態では、球払出装置97は球貸しも賞球払出も実行可能な構成であったが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。
また、上述した実施の形態では、球切れ状態や下皿満タン状態である場合などに払出禁止状態にしたが、他の払い出しを行うことが好ましくない場合や払い出しを行うことができない場合にも払出禁止状態に設定してもよい。例えば、ガラス扉枠2が開状態となって、そのことを検出するためのドア開放スイッチから検出信号が出力されているときなどにも払出禁止状態に設定されるようにしてもよい。
また、上述した各実施の形態では、記録媒体処理装置(カードユニット50)で使用される記録媒体が磁気カード(プリペイドカード)であったが、磁気カードに限られず、非接触型あるいは接触型のICカードであってもよい。また、記録媒体処理装置が識別符号にもとづいて記録情報を特定できる構成とされている場合には、記録媒体は、記録情報を特定可能な識別符号などの情報を少なくとも記録媒体処理装置が読み取り可能に記録できるようなものであってもよい。さらに、記録媒体は、例えばバーコードなどの所定の情報記録シンボル等が読み取り可能にプリントされたものであってもよい。また、記録媒体の形状は、カード状のものに限られず、例えば円盤形状や球状、あるいはチップ形状など、どのような形状とされていてもよい。
上記の各実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示装置9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。