以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図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の下方には、始動入賞口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に隣接して設置される(図示せず)。
カードユニットには、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニットを解放するためのカードユニット錠が設けられている。
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、開閉板20の開放中に遊技球がV入賞領域に入賞しVカウントスイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
遊技球がゲート32に入賞すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。図2は、遊技機を裏面から見た背面図である。
図2に示すように、遊技機裏面側では、可変表示装置9を制御する表示制御用マイクロコンピュータ等が搭載された表示制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。
表示制御手段は、表示制御基板80に搭載されている表示制御用マイクロコンピュータやVDPなどで実現される。また、遊技機には、遊技盤6に設けられている各種装飾LED、普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cなどを制御するランプ制御手段が搭載されているランプ制御基板(図示せず)と、スピーカ27を制御する音声制御手段が搭載されている音声制御基板(図示せず)とが設置されている。ランプ制御手段は、ランプ制御基板に搭載されている発光体制御用マイクロコンピュータやその他の回路などで実現される。音声制御手段は、音声制御基板に搭載されている音声制御用マイクロコンピュータやその他の回路などで実現される。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1における主基板31および各電気部品制御基板(表示制御基板80、払出制御基板37等)や遊技機に設けられている各電気部品への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチと、主基板31および払出制御基板37に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチとが設けられている。さらに、露出部分における電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
なお、電気部品制御基板(払出制御基板、表示制御基板、ランプ制御基板、音声制御基板)には、それぞれ、電気部品制御用マイクロコンピュータを含む電気部品制御手段(払出制御手段、表示制御手段、ランプ制御手段、音声制御手段)が搭載されている。払出制御手段および表示制御手段は、遊技制御手段からの指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、可変表示装置9等)を制御する。また、ランプやLEDなどの発光体およびスピーカ27等の電気部品は、表示制御手段からの指令信号(制御信号)に従って、ランプ制御手段および音声制御手段によって制御される。以下、主基板31を電気部品制御基板に含めて説明を行うことがある。その場合には、電気部品制御基板に搭載される電気部品制御手段は、遊技制御手段を含む。また、主基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。また、表示制御手段、ランプ制御手段および音声制御手段は、それぞれ、遊技演出を行うための演出装置(可変表示装置9、ランプ・LED、スピーカ27等)を制御する演出制御用マイクロコンピュータを含む演出制御手段に相当し、表示制御基板、ランプ制御基板および音声制御基板は、それぞれ、演出制御基板に相当する。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板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において、払出駆動手段としてのステッピングモータによる払出モータ(図示せず)が例えば払出機構としてのカム292を回転させることによって、賞球または球貸し要求にもとづく遊技球を1個ずつ払い出す。また、球払出装置97の下方には、例えば近接スイッチによる払出個数カウントスイッチ301が設けられている。球払出装置97から1個の遊技球が落下する毎に、流下路293の下部に設置されている払出個数カウントスイッチ301がオンする。すなわち、払出個数カウントスイッチ301は、球払出装置97から実際に払い出された遊技球を検出する。従って、払出制御手段は、払出個数カウントスイッチ301の検出信号によって、実際に払い出された遊技球の数を計数することができる。この例では、払出個数カウントスイッチ301は、払い出された賞球および貸し球の両方を検出する。すなわち、賞球の払い出しと貸し球の払い出しが同一の検出手段によって検出される。よって、部品点数を減らすことができ、遊技機のコストを低減させることができる。ただし、賞球の払い出しと貸し球の払い出しとが別個の検出手段によって検出される構成としてもよい。
また、球払出装置97は、賞球払出と球貸しとを共に行うように構成されているが、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。別個に設けられている場合には、賞球払出を行う球払出装置と球貸しを行う球払出装置とで払出手段が構成される。さらに、例えば、カムまたはスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97(モータでカムが回転される構成)以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板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の各スイッチは、入賞検出手段でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ32aのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段になる。さらに、この実施の形態では、V入賞領域に入賞した遊技球はVカウントスイッチ22で検出されるとともに、カウントスイッチ23でも検出される。従って、大入賞口に入賞した遊技球数は、カウントスイッチ23による検出数に相当する。しかし、V入賞領域に入賞した遊技球はVカウントスイッチ22のみで検出されるようにしてもよい。その場合には、大入賞口に入賞した遊技球数は、Vカウントスイッチ22による検出数とカウントスイッチ23による検出数との和になる。
また、基本回路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についても同様である。また、遊技制御手段は、遊技制御用マイクロコンピュータで実現される基本回路53で実現されているが、主として、遊技制御用マイクロコンピュータにおけるプログラムに従って制御を実行するCPU56で実現される。
また、RAM55は、その一部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源が電力供給不能になるまで)は、RAM55の一部の内容は保存される。この例では、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグ等)は、バックアップRAMに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。なお、この実施の形態では、RAM55の全部が、電源バックアップされている。
CPU56のリセット端子には、電源基板910からのリセット信号が入力される。リセット信号がローレベルからハイレベルに変化すると、CPU56は動作を開始する。すなわち、ROM54に格納されているプログラムにもとづく処理を開始する。
遊技球を打撃して発射する打球発射装置は払出制御基板37上の回路によって制御される発射モータ94を含み、発射モータ94が回転することによって遊技球を遊技領域7に向けて発射する。発射モータ94を駆動するための駆動信号は、タッチセンサ基板91を介して発射モータ94に伝達される。そして、遊技者が操作ノブ(打球ハンドル)5に触れていることはタッチセンサで検出され、タッチセンサからの信号がタッチセンサ基板91に搭載されているタッチセンサ回路(遊技者が操作ノブ5に触れているか否かを検出するための検出回路等を含む回路)を介して払出制御基板37に伝達される。払出制御基板37上の回路は、タッチセンサ回路からの信号がオフ状態を示している場合には、発射モータ94の駆動を停止する。
この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよい。すなわち、ランプやLEDは発光体の一例である。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、表示制御基板80に搭載されている表示制御手段によって行われる。
図4に示すように、この実施の形態では、制御状態に応じて主基板31から表示制御基板80に対して表示制御コマンドが送信される。そして、表示制御手段(具体的には表示制御用CPU101)が表示制御コマンドを受信する処理を実行し、ランプ制御基板35のランプ制御手段(具体的にはランプ制御用CPU351)に対してランプ制御コマンドを送信する処理を実行するとともに、音声制御基板70の音声制御手段(具体的には音声制御用CPU701)に対して音声制御コマンドを送信する処理を実行する。
図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から、払出制御コマンド(払出指令信号)として、払い出すべき賞球個数を示す賞球個数指令が出力される。そして、払出制御コマンドの取り込みを指示するためのINT信号(ストローブ信号)が出力される(オン状態になる)。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す電源確認信号(接続確認信号)も出力される。
払出制御コマンドは、入力回路373Aを介してI/Oポート372eに入力される。また、INT信号は、払出制御用CPU371のマスク可能割込端子(以下、単に割込端子ともいう。)に入力される。払出制御用CPU371は、割込端子にINT信号が入力されたことにもとづく割込処理で、I/Oポート372eを介して払出制御コマンドを入力し、賞球個数指令が示す個数の遊技球を払い出すために球払出装置97を駆動する制御を行う。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す電源確認信号(接続確認信号)も出力される。
払出制御用CPU371は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図5では記載省略されている。
また、払出制御用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(図1においては図示せず)には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット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信号)等の信号は、図5に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
図6は、表示制御基板80、ランプ制御基板35および音声制御基板70の回路構成例を示すブロック図である。表示制御基板80において、表示制御用マイクロコンピュータにおける表示制御用CPU101は、ROM(図示せず)に格納されたプログラムに従って動作し、主基板31からのストローブ信号(表示制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して表示制御コマンドを受信する。また、表示制御用CPU101は、表示制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に、LCDを用いた可変表示装置9の表示制御を行わせる。
さらに、表示制御用CPU101は、出力ポート104および出力ドライバ110を介して音声制御基板70に対して音声制御コマンドを出力する。また、表示制御用CPU101は、出力ポート105および出力ドライバ106を介してランプ制御基板35に対してランプ制御コマンドを出力する。ランプ制御基板35において、表示制御基板80からのランプ制御コマンドは、ランプ制御基板35におけるI/Oポート部の入力ポートを介して発光体制御用マイクロコンピュータにおけるランプ制御用CPU351に入力する。
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に対して点灯/消灯信号を出力する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。ランプ制御用CPU351によって出力される各ランプを駆動する信号は、ランプドライバ354で増幅され各ランプに供給される。また、出力ポート352から出力される各LEDを駆動する信号は、LED駆動回路355で増幅され各LEDに供給される。
遊技進行に応じて、遊技領域7の外側に設けられているスピーカ27の音声出力を指示するための音声制御コマンドが、表示制御基板80から音声制御基板70に出力される。音声制御基板70において、表示制御基板80からの音声制御コマンドは、音声制御基板70におけるI/Oポート部の入力ポートを介して音声制御用マイクロコンピュータにおける音声制御用CPU701に入力する。音声制御用CPU701は、受信した音声制御コマンドに応じたデータを音声データROM704から読み出し、例えばデジタルシグナルプロセッサによる音声合成用IC703に出力する。
そして、音声合成用IC703は、音声制御用CPU701の指示に応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声制御用CPU701の出力レベルを、ボリューム706で設定されている音量(例えば、遊技機に設けられているボリューム切替スイッチの操作状態に応じた音量)に応じたレベルに増幅した音声信号をスピーカ27に出力する。
次に、電源基板910の構成を図7のブロック図を参照して説明する。電源基板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(図7では2つのレギュレータIC924A,924Bを示す。)を有し、VSLにもとづいてVDDおよびVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。
図7に示すように、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が搭載されている。なお、遊技制御用マイクロコンピュータに対するシステムリセット信号は主基板31に直接伝達されるが、表示制御用マイクロコンピュータおよび音声制御用マイクロコンピュータに対するシステムリセット信号はランプ制御基板35を経由して表示制御基板80および音声制御基板70に伝達される。しかし、電源基板910から、表示制御基板80、ランプ制御基板35および音声制御基板70のそれぞれに直接伝達されるようにしてもよい。
電源監視回路920は電源断信号を出力する電源監視手段とシステムリセット信号を生成するリセット信号生成手段とを実現する回路であるが、電源監視回路920として、市販の停電監視リセットモジュールICを使用することができる。電源監視回路920は、遊技機において用いられる所定電圧(例えば+24V)が所定値(例えば+17V)以下になった期間が、あらかじめ決められている時間(例えば56ms)以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態(ローレベル)にする。また、電源監視回路920は、例えば、VCCが+4.5V以下になると、システムリセット信号をローレベルにすることが可能な状態になる。
電源監視回路920は、遊技機に対する電力供給が停止する際には、電源断信号を出力(ローレベルにする)してから所定期間が経過したときに、システムリセット信号をローレベルにすることになる。また、遊技機に対する電力供給が開始され、VCCが例えば+4.5Vを越えるとシステムリセット信号をハイレベルにするのであるが、その場合に、電源断信号が出力されなくなってから(ハイレベルにしてから)所定期間が経過したことを条件にシステムリセット信号をハイレベルにする。
次に遊技機の動作について説明する。図8および図9は、主基板31における遊技制御手段が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、システムリセット信号が入力されるリセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。なお、割込モード2は、CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。
次いで、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行する。具体的には、まず、ウェイトカウンタ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になっていれば、ソフトウェア遅延処理を終了する。ソフトウェア遅延処理は、遊技制御手段が遊技制御処理を開始するタイミングを、他の電気部品制御手段が電気部品制御を開始するタイミングよりも遅らせるために実行される。
ソフトウェア遅延処理を終了すると、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAM55をアクセス可能状態に設定する(ステップS6)。なお、この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。
次いで、CPU56は、入力ポートを介して入力されるクリアスイッチ921からのクリアスイッチ信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS10〜ステップS15)。なお、入力ポートでは、クリアスイッチ信号のオン状態はハイレベルである。
例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、クリアスイッチ信号をオン状態とすることができ、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
クリアスイッチ信号がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップ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)。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。ステップS11およびS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
また、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド等がある。
そして、ステップS15において、CPU56は、所定時間(例えば4ms)毎に定期的にタイマ割込がかかるようにCPU56に内蔵されているCTCのレジスタの設定を行なう。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜S15)が完了すると、CPU56は、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)を繰り返し実行する。CPU56は、表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態にして(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする(ステップS19)。なお、表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている可変表示装置9、可変入賞球装置15、球払出装置97等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
次に、遊技制御処理について説明する。図10は、タイマ割込処理を示すフローチャートである。メイン処理に実行中に、具体的には、ステップS16〜S19のループ処理の実行中に、タイマ割込が発生すると、CPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出し、電源断信号が出力された場合には電源断時処理を実行する電源断処理(電源断検出処理)を実行する(ステップS21)。次いで、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS22)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップ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領域におけるソレノイドに関する内容を出力ポートに出力する(ステップS34:ソレノイド出力処理)。その後、割込許可状態に設定し(ステップS35)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は定期的(例えば4ms毎)に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。また、ステップS22〜S34の処理(ステップS30およびS33を除く)が、遊技の進行を制御する遊技制御処理に相当する。
図11は、主基板31から払出制御基板37に送出される払出制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、払出制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。なお、図11に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイト構成のコマンドや3バイト以上の構成のコマンドを用いてもよい。また、表示制御コマンドも、やはり、図11に示されたような構成である。
図12は、電気部品制御手段に対する制御コマンドを構成する8ビットの制御信号(例えば、払出制御コマンド)とINT信号(例えば、払出制御信号INT)との関係を示すタイミング図である。図12に示すように、遊技制御手段は、MODEまたはEXTのデータが出力ポートに出力してから、INT信号をオン状態にする。また、電気部品制御マイクロコンピュータに対して割込がかかる時間として十分な期間が経過するとINT信号をオフ状態にする。さらに、2バイト目のデータを出力ポートにしてから、INT信号をオン状態にし、その後、NT信号をオフ状態にする。
図13は、払出制御コマンドの内容の一例を示す説明図である。図13に示された例において、賞球個数指令(払出個数指令)に相当する払出制御コマンドとして、MODE=F0(H)のコマンドF0XX(H)が使用される。EXTである「XX」が払い出す遊技球の数に相当する払出個数を示す。また、図13には、1本の信号線で送信される接続確認信号も示されている。接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、接続確認信号は、賞球払出が可能な状態であることを示す信号でもある。この実施の形態では、払出制御手段において、接続確認信号は、主基板31と払出制御基板との間の信号線を含むケーブルが断線したりケーブルと基板とを接続するコネクタの外れが生じたとき等にオフ状態として観測されるが、主基板13に搭載されている遊技制御手段が、遊技進行中に何らかのエラーを検知した場合にオフ状態にするようにしてもよい。
次に、遊技制御手段による払出制御コマンドの送信について説明する。図14は、遊技制御手段におけるにおける入力ポートのビット割り当ての例を示す説明図である。図14に示すように、入力ポート0のビット0〜7には、それぞれ、Vカウントスイッチ22、カウントスイッチ23、ゲートスイッチ32a、入賞口スイッチ33a、24a,29a,30a、始動口スイッチ14aの検出信号が入力される。また、入力ポート1のビット0,1には、それぞれ、電源監視基板910からの電源断信号、電源基板910からのクリアスイッチ921の検出信号が入力される。なお、各スイッチからの検出信号は、入力ドライバ回路58において論理反転されている。
次に、メイン処理におけるスイッチ処理(ステップS22)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図15は、スイッチ処理で使用されるRAM55に形成される各1バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば4ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
図16は、遊技制御処理におけるステップS22のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0(図14参照)に入力されているデータを入力し(ステップS101)、入力したデータをポートバッファにセットする(ステップS102)。次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS103)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS104,S105)。
ウェイトカウンタの値が0になると、再度、入力ポート0のデータを入力し(ステップS106)、入力したデータとポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS107)。そして、論理積の演算結果を、ポートバッファにセットする(ステップS108)。ステップS103〜S108の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]の時間間隔を置いて入力ポート0から入力した2回の入力データのうち、2回とも「1」になっているビットのみが、ポートバッファにおいて「1」になる。つまり、所定期間としての[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファにおける対応するビットが「1」になる。
さらに、CPU56は、前回ポートバッファにセットされているデータとポートバッファにセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS109)。排他的論理和の演算結果において、前回(例えば4ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。CPU56は、さらに、排他的論理和の演算結果と、ポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS110)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが「1」として残る。
そして、CPU56は、ステップS110における論理積の演算結果をスイッチオンバッファにセットし(ステップS111)、ステップS108における演算結果がセットされているポートバッファの内容を前回ポートバッファにセットする(ステップS112)。
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば4ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファにおいて「1」になっている。
そして、CPU56は、入賞スイッチチェック処理を実行する(ステップS113)。図17は、入賞スイッチチェック処理を示すフローチャートである。入賞スイッチチェック処理において、CPU56は、スイッチバッファにおけるカウントスイッチ23に対応するビットが「1」であれば15個カウンタの値を+1し(ステップS131,S132)、スイッチバッファにおける普通入賞口スイッチ(入賞口スイッチ29a,30a,33a,39a)に対応する各ビットのうちに「1」のものがあれば10個カウンタを+1し(ステップS133,S134)、スイッチバッファにおけるに対応するビットが「1」であれば4個カウンタを+1する(ステップS135,S136)。なお、ステップS133において、「1」のビットが複数あることを検出した場合には、その数に応じた値だけ10個カウンタの値を増加させる。また、15個カウンタ、10個カウンタおよび4個カウンタは、それぞれ、RAM55に形成されている1バイトのカウンタである。
なお、この実施の形態では、大入賞口を経た入賞については15個の賞球を払い出し、始動入賞口14を経た入賞については4個の賞球を払い出し、その他の普通入賞口を経た入賞については10個の賞球を払い出すとする。
図18は、タイマ割込処理におけるステップ31の賞球処理の一例を示すフローチャートである。賞球処理において、CPU56は、入賞に応じた賞球個数を示す払出制御コマンドが格納されているコマンド送信テーブルを設定する制御(例えばレジスタに設定)を行って払出制御コマンドを送信する制御を行う。まず、15個カウンタの値をチェックする(ステップS211)。15個カウンタは、遊技球が大入賞口に入賞してカウントスイッチ23がオンするとカウントアップされる。15個カウンタの値が0でない場合には、15個の賞球個数指令が格納されているコマンド送信テーブルの設定を行い(ステップS212)、コマンド制御処理を実行する(ステップS213)。また、15個カウンタの値を−1する(ステップS214)。
15個カウンタの値が0であれば、10個カウンタの値をチェックする(ステップS215)。10個カウンタは、遊技球が普通入賞口に入賞して入賞口スイッチ29a,30a,33a,39aがオンするとカウントアップされる。10個カウンタの値が0でない場合には、10個の賞球個数指令が格納されているコマンド送信テーブルの設定を行い(ステップS216)、コマンド制御処理を実行する(ステップS217)。また、10個カウンタの値を−1する(ステップS218)。
10個カウンタの値が0であれば、4個カウンタの値をチェックする(ステップS221)。4個カウンタは、遊技球が始動入賞口に入賞して始動口スイッチ14aがオンするとカウントアップされる。4個カウンタの値が0でない場合には、4個の賞球個数指示に関するコマンド送信テーブルの設定を行い(ステップS222)、コマンド制御処理を実行する(ステップS223)。また、4個カウンタの値を−1する(ステップS224)。
以上のようにして、遊技制御手段から払出制御基板37に払出制御コマンドを出力しようとするときに、コマンド送信テーブルの設定が行われる。そして、コマンド送信テーブルの内容にもとづいて払出制御コマンドが送信される。なお、コマンド送信テーブルは、ROM54に格納されている。図19(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは、アドレスが連続する3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、払出制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、払出制御コマンドの2バイト目のEXTデータが設定される。
なお、図18に示す処理では、1回の処理について1つの払出制御コマンドに関するコマンド送信テーブル設定処理しか行われないが、複数のコマンド送信テーブル設定処理を行うように構成してもよい。例えば、複数の入賞が15個カウンタ、10個カウンタおよび4個カウンタに記憶されている場合に、1回の入賞球信号処理で、複数のコマンド送信テーブル設定処理を行ってもよい。
また、賞球処理において、ステップS212,S213,S216,S217,S222,S223の処理は、15個カウンタ、10個カウンタまたは4個カウンタが0でない値になると直ちに実行される。また、15個カウンタ、10個カウンタまたは4個カウンタは、対応するスイッチ14a,23,入賞口スイッチ29a,30a,33a,39aがオンしたことが検出されると。数msの検出遅れはあるものの、直ちに+1される。従って、遊技制御手段は、入賞領域毎に設けられている入賞検出手段からの入賞検出信号の入力に応じて直ちに賞球個数指令を払出制御手段に送信することができる。
また、ここでは、払出制御コマンドについて説明するが、表示制御コマンドを送信するときにも、図19(A)に示すようなコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2が設定されている。
図19(B)はINTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送信すべきか否かを示す。この例では、ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、払出制御コマンドについてのコマンド送信テーブルにおいて、INTデータに「01(H)」が設定されている。なお、INTデータのビット1は、表示制御コマンドを送出すべきか否かを示すビットである。従って、表示制御コマンドについてのコマンド送信テーブルにおいて、INTデータに「01(H)」が設定されている。
図20は、コマンド制御処理の処理例を示すフローチャートである。コマンド制御処理は、コマンド送信処理を含む処理である。コマンド制御処理において、CPU56は、まず、コマンド送信テーブルのアドレス(レジスタ等に設定されている)を読出ポインタに設定する(ステップS231)。そして、読出ポインタが指しているデータ(この場合にはコマンド送信テーブルのINTデータ)を引数1にロードする(ステップS232)。引数1は、例えばRAM55に形成され、後述するコマンド送信処理に対する入力情報になる。また、読出ポインタを+1する(ステップS233)。従って、読出ポインタが指す値は、コマンド送信テーブルにおけるコマンドデータ1のアドレスに一致する。
そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS234)。引数2も、例えばRAM55に形成され、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS235)。
図21は、コマンド送信ルーチンを示すフローチャートである。コマンド送信ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS251)。次いで、送信回数=2を、処理数として決められているワークエリアに設定する(ステップS252)。そして、払出制御コマンドを出力するためのポートのアドレスをIOアドレスにセットする(ステップS253)。
次に、CPU56は、比較値を1ビット右にシフトする(ステップS254)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS255)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では2回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS256)。最初のシフト処理が行われたときにはIOアドレスに払出制御コマンドを出力するためのポートのアドレスが設定されているので、結局、払出制御コマンドのMODEデータがポート1に出力される。
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS257)、処理数を1減算する(ステップS258)。なお、IOアドレスに対する加算処理によって、IOアドレスには表示制御コマンドを出力するためのポートのアドレスが設定されるとする。そして、CPU56は、処理数の値を確認し(ステップS259)、値が0になっていなければ、ステップS254に戻る。ステップS254で再度シフト処理が行われる。
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされるコマンド(払出制御コマンド、表示制御コマンド、)に対応したIOアドレスが設定されている。よって、キャリーフラグが「1」になったときには、払出制御コマンドまたは表示制御コマンドに対応する出力ポートに制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS260)、読み出したデータを、INT信号を出力するための出力ポートに出力する(ステップS261)。INTデータにおいて、ステップS251〜S259の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、払出制御コマンドまたは表示制御コマンドに対応したINT信号がオン状態になる。
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS262)、その値が0になるまで1ずつ減算する(ステップS263,S264)。この処理は、INT信号のオン期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS265)、そのデータをINT信号を出力するための出力ポートに出力する(ステップS266)。よって、INT信号はオフ状態になる。そして、ウェイトカウンタに所定値を設定し(ステップS262)、その値が0になるまで1ずつ減算する(ステップS268,S269)。この処理は、EXTデータの出力開始までの期間を設定するための処理である。
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図20に示すステップS236で、読出ポインタを+1する。従って、読出ポインタによって3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS237)。
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS238)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち下がりを検出すると制御コマンドの取り込み処理を開始する。なお、各電気部品制御手段は、INT信号の立ち上がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図12に示された場合と逆にしてもよい。
次に、払出制御手段の動作について説明する。図22は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化を行う(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。また、払出制御処理において使用する各カウンタ初期値として0000(H)を所定のレジスタにセットする(ステップS707)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネルに設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
次いで、入力ポートを介して入力されるクリアスイッチ921からのクリアスイッチ信号の状態を1回だけ確認する(ステップS708)。その確認においてオンを検出した場合には(ステップS708のY)、払出制御用CPU371は、初期化処理を実行する(ステップS712〜ステップS715)。すなわち、クリアスイッチ921のオンが検出されると、初期化処理が実行される。
クリアスイッチ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の処理には、カウンタの初期値(例えば所定のレジスタにセットされている)を、払出制御処理において使用するカウンタ(RAMに形成されている)にセットする処理が含まれる。従って、払出制御状態復旧処理(ステップS711)が実行された場合には、バックアップRAMに保存されていたカウンタの値が、あらためてカウンタにセットされる。換言すれば、バックアップRAMに保存されていたカウンタの値がそのまま使用される。つまり、ステップS711の処理が実行されずにステップS712,S713の処理が実行される場合には、払出制御処理は、初期状態から開始される。また、ステップS711の処理が実行されるとともにステップS712,S713の処理が実行される場合には、払出制御処理の実行状態が、電力供給停止時前の状態に復帰されることになる。
そして、定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定を行う(ステップS714)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS715)。その後、タイマ割込の発生を監視するループ処理に入る。そして、タイマ割込が発生すると、払出制御用CPU371は、タイマ割込処理を実行する。
図23は、払出制御手段が実行するタイマ割込処理の例を示すフローチャートである。払出制御用CPU371は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出し、電源断信号が出力された場合には電源断時処理を実行する電源断処理(電源断検出処理)を実行する(ステップS748)。その後、ステップS749以降の払出制御処理を実行する。払出制御処理では、払出制御用CPU371は、まず、払出制御コマンドを受信しているか否かを確認し、受信している場合に払出制御コマンドの内容を解析するコマンド解析処理を実行する(ステップS749)。
次いで、発射モータ94に対する励磁パターンの出力処理(発射モータφ1〜φ4のパターンの出力ポート0への出力)を行う(ステップS750)。なお、ステップS752の発射モータ制御処理において、励磁パターンがRAM領域である励磁パターンバッファに格納され、ステップS750では、払出制御用CPU371は、励磁パターンバッファの内容を出力ポート0の下位4ビットに出力する処理を行う。
次に、払出制御用CPU371は、入力判定処理を行う(ステップS751)。入力判定処理は、払出個数カウントスイッチ301およびエラー解除スイッチ375の検出信号の状態チェックを行う処理を含む。具体的には、それらのそれぞれに対応したスイッチタイマ(払出個数カウントスイッチタイマ、エラー解除スイッチタイマ)がRAMに形成され、スイッチチェック処理において、それらがオン状態であることを検出したら対応するスイッチタイマの値を+1し、オフ状態であることを検出したら対応するスイッチタイマの値をクリアする。
次に、払出制御用CPU371は、発射モータ制御処理を実行する(ステップS752)。発射モータ制御処理では、発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、発射モータ94を不能動化すべきときには、発射モータ94を回転させない発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
また、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。次いで、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの賞球個数指令が示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS756)。
そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。なお、払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域が設けられているのであるが、払出制御用CPU371は、その内容を出力ポートに出力する(ステップS760:出力処理)。
図24は、払出制御手段が払出制御処理において使用するカウンタの一例を示す説明図である。この実施の形態では、賞球個数指令で指定された個数が累積加算された数である賞球払出予定総数が格納される賞球払出予定総数カウンタと、後述する加算処理(上乗せ処理)が実行される前の賞球払出予定総数が格納される前回賞球払出予定総数カウンタと、賞球払出時の払出モータ289の回転数に相当する値が設定される払出動作カウンタと、賞球の連続払出時の賞球数が設定される賞球未払出個数カウンタと、貸し球数が設定される貸し球未払出個数カウンタとが使用される。なお、それらのカウンタは、RAMに形成される。
また、払出動作カウンタは、払出モータ289の回転数を決めるために使用される。賞球未払出個数カウンタおよび貸し球未払出個数カウンタの値は、払出個数カウントスイッチ301がオン(遊技球がスイッチを通過)すると−1される。よって、賞球未払出個数カウンタおよび貸し球未払出個数カウンタは、最後に払出モータ289によって払い出された遊技球が払出個数カウントスイッチ301を通過することを検出することによって(カウント値が0になる)、賞球払出および球貸しが完了したことを判定するために使用される。
なお、払出モータ289の回転数を決めるために、払出動作カウンタではなく、払出数に応じた回転時間を決める払出動作タイマを用いてもよい。払出動作タイマを用いる場合には、駆動量データ記憶手段が保持しているデータ(この場合には払出動作タイマのタイマ値)を払出駆動手段(この例では払出モータ289)の駆動量に応じた分減算する駆動量更新手段は、時間経過に応じて払出動作タイマのタイマ値を減ずる処理を実行するものに相当する。
図25は、主基板31から受信した払出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の払出制御コマンドを6個格納可能なリングバッファ形式の受信バッファが用いられる。受信バッファは、コマンド受信バッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。
図26は、コマンド受信処理を示すフローチャートである。主基板31からの払出制御用のINT信号は、払出制御用CPU371の割込端子に入力されている。よって、主基板31からのINT信号がオン状態になると、払出制御用CPU371に割込がかかり、図26に示す払出制御コマンドの受信処理が開始される。すなわち、払出制御手段は、割込端子に取込信号が入力されたことにもとづいて起動される割込処理により払出制御コマンドを受信する。
払出制御コマンドの受信処理において、払出制御用CPU371は、まず、各レジスタをスタックに退避する(ステップS850)。次いで、払出制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS851)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否か確認する(ステップS852)。1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である払出制御コマンドのうちのMODEバイト(1バイト目)のはずである。そこで、払出制御用CPU371は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す確定コマンドバッファに格納する(ステップS853)。
払出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS854)。既に受信したか否かは、受信バッファ(確定コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す確定コマンドバッファに格納する(ステップS855)。先頭ビットが「0」であるのは、2バイト構成である払出制御コマンドのうちのEXTバイト(2バイト目)のはずである。なお、ステップS854における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
ステップS855において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS856)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS857)、12以上であればコマンド受信個数カウンタをクリアする(ステップS858)。その後、退避されていたレジスタを復帰し(ステップS859)、割込許可に設定する(ステップS859)。
図27は、ステップS749のコマンド解析処理の一例を示すフローチャートである。コマンド解析処理において、払出制御用CPU371は、受信された払出制御コマンド(受信コマンド)が受信バッファにあるか否か確認する(ステップS501)。受信コマンドがあれば、受信した払出制御コマンドが賞球個数指令のコマンドであるか否か確認する(ステップS502)。なお、受信バッファに複数の受信コマンドがある場合には、最も前に受信された受信コマンドについてステップS502の確認を行う。受信コマンドが賞球個数指令のコマンドであれば、賞球個数指令で指示された個数を、賞球払出予定総数カウンタに加算する(ステップS503)。
ここで、カードユニット50からの球貸し指令について説明する。図28は、遊技機の払出制御手段とカードユニット50との間の通信を説明するためのタイミング図である。払出制御手段は、遊技機への電力供給が開始され、払出動作が可能なときにはPRDY信号をオン状態にする。カードユニット50は、電力供給が開始されると、接続信号としてのVL信号をオン状態にする。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット50は、払出制御手段にBRDY信号を出力する。すなわち、BRDY信号をオン状態にする。この時点から所定の遅延時間が経過すると、カードユニット50は、払出制御手段にBRQ信号を出力する。すなわち、BRQ信号をオン状態にする。
そして、払出制御手段は、カードユニット50に対するEXS信号をオン状態にし、カードユニット50からのBRQ信号の立ち下がり(オフ)を検出すると、払出モータ289を駆動し、所定個(例えば25個)の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御手段は、カードユニット50に対するEXS信号を立ち下げる。すなわちEXS信号をオフ状態にする。
図29は、ステップ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に変更する。
図30は、ステップS756の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、まず、賞球払出数上乗せ制御を実行する(ステップS600)。賞球払出数上乗せ制御とは、払出予定の賞球数に対して、新たに受信した賞球個数指令による個数を加算するための処理である。
次いで、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、球貸し動作中フラグにもとづいて球貸し中であるか否か判定する(ステップS602)。球貸し中であれば球貸し未払出個数カウンタの値を1減らし(ステップS603)、球貸し中でなければ賞球未払出個数カウンタの値を1減らす(ステップS604)。その後、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
図31は、賞球払出数上乗せ制御を示すフローチャートである。賞球払出数上乗せ制御において、払出制御用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)に加算される(図27参照)。従って、賞球払出予定総数カウンタ(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減算されるので、払出動作カウンタに対する加算値と、賞球未払出個数カウンタに対する加算値とは、同じ値である。
上記のように、上乗せ処理は、払出動作カウンタの値が所定値に更新されたタイミングにおいてのみ実行される。よって、データが増加したか否かの判定(ステップS694の処理)の回数を減らすことができ、判定処理の負担を軽減することができる。
なお、ステップS697において、賞球払出予定総数カウンタ(PA)の内容を、前回賞球払出予定総数カウンタ(PB)に設定するのではなく、賞球払出予定総数カウンタ(PA)および前回賞球払出予定総数カウンタ(PB)の内容を0にクリアするようにしてもよい。すなわち、増加判定手段がデータが増加したことを判定したときに、増加数特定手段が、景品遊技媒体数データ記憶手段に記憶されている増加分のデータを払出動作カウンタに移す(ステップS695)とともに、景品遊技媒体数データ記憶手段(この例では賞球払出予定総数カウンタ(PA))および前回景品遊技媒体数データ記憶手段(この例では前回賞球払出予定総数カウンタ(PB))の記憶内容を初期化するようにしてもよい。そのように構成されている場合には、景品遊技媒体数データ記憶手段および前回景品遊技媒体数データ記憶手段の記憶容量を増大させないようにすることができる。
また、この実施の形態では、1つの球払出装置97によって賞球個数指令にもとづく遊技球の払い出しと貸出要求にもとづく遊技球の払い出しとがなされるので、球貸し処理が実行されているときには、賞球払出処理は実行できない。従って、球貸し処理を行っているときに上乗せ処理を行っても、賞球払出が実行されないので意味のない処理を行ってしまうことになる。しかし、球貸し処理を行っているときには上乗せ処理を禁止することによって、無意味な処理が実行されないようにして上乗せ処理の効率化を図ることができる。
同様に、エラー状態では、賞球払出処理は実行できない。従って、エラー状態において上乗せ処理を行っても、賞球払出が実行されないので意味のない処理を行ってしまうことになる。しかし、エラー状態では上乗せ処理を禁止することによって、無意味な処理が実行されないようにして上乗せ処理の効率化を図ることができる。なお、上乗せ処理は、エラー解除スイッチ375からの操作信号にもとづいてエラー状態が解除されたときに一括して実行される(エラー状態において受信した全ての賞球個数指令にもとづく増加数を加算する)ことになる。
図32は、払出制御コードが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)には、コマンド解析処理において、主基板31の遊技制御手段から賞球個数指令を受けたときに、0でない値(賞球個数指令が示す数)が加算されている。賞球払出予定総数カウンタ(PA)の内容が0でない場合には、払出動作カウンタに賞球払出予定総数カウンタ(PA)の内容を設定し(ステップS632)、賞球未払出個数カウンタに賞球払出予定総数カウンタ(PA)の内容を設定する(ステップS633)。また、賞球払出予定総数カウンタ(PA)の内容を前回賞球払出予定総数カウンタ(PB)に設定する(ステップS634)。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
図33は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出モータ289の払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって、払出モータ289の払出動作が終了したか否かを確認することができる。
払出モータ289の払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図34,図35は、払出制御コードの値が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)の内容が増加している場合があることを考慮してのことである。
また、図34には明示されていないが、払出通過待ち処理の実行中では、上乗せ処理を実行しないようにする。実行してしまうと、前回賞球払出予定総数カウンタ(PB)の内容が更新されたにも関わらず、ステップS672の初期化処理が実行されることによって、前回賞球払出予定総数カウンタ(PB)の内容が0にされてしまい、賞球払出数が正確にならないことがあるからである。また、賞球未払出個数カウンタの値が増えてしまって(ステップS696参照)、ステップS654のチェック処理が正常に実行できないからである。
払出制御用CPU371は、賞球未払出個数カウンタの値が0になっていない場合には、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS659)、再払出動作を実行する。なお、エラーフラグがセットされている場合には、再払出動作を実行しない。
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中ビットがセットされているか否か確認する(ステップS661)。セットされていなければ、再払出動作中ビットをセットし(ステップS662)、払出動作カウンタに賞球未払出数個数カウンタまたは球貸し未払出数個数カウンタの値に相当する値をセットする(ステップS663)。その後、払出制御コードを1にして(ステップS667)、処理を終了する。
ステップS661において、再払出動作中ビットがセットされていることを確認したら、払出制御用CPU371は、再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS666)。その際に、再払出動作中ビットをリセットしておく(ステップS665)。そして、処理を終了する。
以上のように、再払出処理(補正払出処理)において再払出動作を行っても遊技球が正しく払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用CPU371は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
球貸し未払出個数カウンタの値が0になっていなければ、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS658)、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
次に、エラー処理について説明する。図36は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。なお、RAMに形成されているエラーフラグ(例えば1バイト)において、図36に示すエラーのそれぞれに対応したビットが存在する。図36に示すように、主基板31からの接続確認信号がオフ状態になった場合には、払出制御用CPU371は、主基板未接続エラーとして、エラー表示用LED374に「1」を表示する制御を行う。
払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生した場合には、払出スイッチ異常検知エラー1として、エラー表示用LED374に「2」を表示する制御を行う。なお、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生したことは、払出個数カウントスイッチ301の検出信号がオフ状態にならなかったことによって判定される。
遊技球の払出動作中でないにも関わらず払出個数カウントスイッチ301の検出信号がオン状態になった場合には、払出スイッチ異常検知エラー2として、エラー表示用LED374に「3」を表示する制御を行う。払出モータ289の回転異常または遊技球が払い出されたにも関わらず払出個数カウントスイッチ301の検出信号がオン状態にならない場合には、払出ケースエラーとして、エラー表示用LED374に「4」を表示する制御を行う。払出個数カウントスイッチ301の検出信号がオン状態にならないことの具体的な検出方法は既に説明したとおりである。
また、下皿満タン状態すなわち満タンスイッチ48がオン状態になった場合には、満タンエラーとして、エラー表示用LED374に「6」を表示する制御を行う。補給球の不足状態すなわち球切れスイッチ187がオン状態になった場合には、球切れエラーとして、エラー表示用LED374に「7」を表示する制御を行う。
さらに、カードユニット50からのVL信号がオフ状態になった場合には、プリペイドカードユニット未接続エラーとして、エラー表示用LED374に「8」を表示する制御を行う。不正なタイミングでカードユニット50と通信がなされた場合には、プリペイドカードユニット通信エラーとして、エラー表示用LED374に「9」を表示する制御を行う。なお、プリペイドカードユニット通信エラーは、プリペイドカードユニット制御処理(ステップS754)において検出される。
以上のエラーのうち、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーが発生した後、エラー解除スイッチ375が操作されエラー解除スイッチ375から操作信号が出力されたら(オン状態になったら)、払出制御手段は、エラーが発生する前の状態に復帰する。
図37は、ステップS757のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのみ(3つのうちのいずれかのビットのみ、もしくは3つのうちの2ビットのみ、またはそれら3ビットのみ)であるか否か確認する(ステップS801)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS802)。操作信号がオン状態になったら、エラーフラグのうちの、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットをリセットし(ステップS807)、ステップS808に移行する。
なお、ステップS807の処理が実行されるときに、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーのビットをセットする原因になったエラー(図36参照)が発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
ステップS808では、払出制御用CPU371は、満タンスイッチ48の検出信号を確認する。満タンスイッチ48の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの満タンエラービットをセットする(ステップS809)。満タンスイッチ48の検出信号がオフ状態であれば、満タンエラービットをリセットする(ステップS810)。
また、払出制御用CPU371は、球切れスイッチ187の検出信号を確認する(ステップS811)。球切れスイッチ187の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの球切れエラービットをセットする(ステップS812)。球切れスイッチ187の検出信号がオフ状態であれば、球切れエラービットをリセットする(ステップS813)。なお、球切れエラービットをセットされているときには、ステップS759の表示制御処理において、出力ポート1バッファにおける球切れLED52に対応したビットを点灯状態に対応した値にする。
さらに、払出制御用CPU371は、主基板31からの接続確認信号の状態を確認し(ステップS815)、接続確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS816)。また、接続確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS817)。
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出個数カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「240」)を越えていたら(ステップS818)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS819)。また、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間以下であれば、払出スイッチ異常検知エラー1のビットをリセットする(ステップS820)。なお、各スイッチタイマの値は、ステップS751の入力判定処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出個数カウントスイッチ301がオン状態になっていることを意味し、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分で遊技球が詰まっていると判断される。
また、払出制御用CPU371は、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「2」)になった場合に(ステップS821)、球貸し動作中フラグおよび賞球動作中フラグがともにリセット状態であれば、払出動作中でないのに払出個数カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS822,S823)。また、球貸し動作中フラグまたは賞球動作中フラグがセットされていれば、払出スイッチ異常検知エラー2のビットをリセットする(ステップS824)。
さらに、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS825)、VL信号が入力されていなければ(オフ状態であれば)、エラーフラグのうちプリペイドカードユニット未接続エラービットをセットする(ステップS826)。また、VL信号が入力されていれば(オン状態であれば)、プリペイドカードユニット未接続エラービットをリセットする(ステップS827)。
なお、ステップS759の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。
図39は、賞球払出制御において使用されるカウンタの内容の変化の一例を示す説明図である。賞球払出予定総数カウンタ、前回賞球払出予定総数カウンタ、払出動作カウンタおよび賞球未払出個数カウンタは、初期化処理(具体的にはステップS712の処理)で0にクリアされている。その後、例えば、15個の賞球個数指令を受信した場合には、コマンド解析処理において、賞球払出予定総数カウンタの値が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)がクリアされる。
図40は、賞球払出制御において使用されるカウンタの内容の他の変化例を示す説明図である。賞球払出予定総数カウンタ(PA)の内容と前回賞球払出予定総数カウンタ(PB)の内容とがともに15であって、かつ、賞球払出中に、10個の賞球個数指令を受信したとする。すると、コマンド解析処理において、賞球払出予定総数カウンタに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)がクリアされる。
以上に説明したように、この実施の形態では、コマンド解析処理では、遊技制御手段から受信した賞球個数指令にもとづく個数を、そのときの賞球払出中の制御に用いられているカウンタ(例えば払出動作カウンタ)に直ちに加算(上乗せ)するのではなく、所定の条件(例えば払出動作カウンタの値が所定値になったこと)が成立したときに、賞球払出中の制御に用いられているカウンタに上乗せする。従って、賞球個数指令を受信する度に賞球払出中の制御に用いられているカウンタに上乗せする場合に比べて、上乗せ処理の実行回数を減らすことができる。
なお、この実施の形態では、払い出すべき賞球数が増加したか否か判定するために前回賞球払出予定総数カウンタを使用する方法を用いたが、そのような方法は一例であって、他の方法を用いてもよい。例えば、賞球払出処理開始後に受信した賞球個数指令が示す数を累積加算する累積カウンタを設け、上乗せ処理において、累積カウンタのカウント値を賞球未払出個数カウンタおよび払出動作カウンタに上乗せするとともに、累積カウンタの内容をクリアするようにしてもよい。そのように構成する場合には、累積カウンタが、賞球個数指令で指示された数が加算される景品遊技媒体数データ記憶手段に相当する。
また、この実施の形態では、賞球払出予定総数カウンタと賞球未払出個数カウンタとを併用したが、いずれか一方のカウンタを用いるようにしてもよい。図41は、賞球未払出個数カウンタを用いない場合の賞球払出制御において使用されるカウンタの内容の変化の一例を示す説明図である。この場合には、払出個数カウントスイッチ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になっている。
図42は、賞球払出制御において使用されるカウンタの内容の他の変化例を示す説明図である。賞球払出予定総数カウンタ(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)がクリアされる。
図43は、賞球未払出個数カウンタを使用しない実施の形態における賞球球貸し制御処理を示すフローチャートである。この実施の形態では、払出個数カウントスイッチ301がオンしたときに、賞球払出処理を行っていれば、賞球払出予定総数カウンタ(PA)と前回賞球払出予定総数カウンタ(PB)の値を−1する(ステップS604A,S604B)。また、賞球払出上乗せ制御(ステップS600)において、賞球未払出個数カウンタの設定(図31におけるステップS696)を実行しない。
図44は、賞球未払出個数カウンタを使用しない実施の形態における払出開始待ち処理を示すフローチャートである。この実施の形態では、上記の実施の形態とは異なり、賞球払出処理の開始時に、賞球未払出個数カウンタに賞球払出予定総数カウンタ(PA)の内容を設定する処理(ステップS633)を実行しない。
図45および図46は、賞球未払出個数カウンタを使用しない実施の形態における払出通過待ち処理を示すフローチャートである。この実施の形態では、払出制御手段は、複数の賞球個数指令に応じた遊技球の払い出しを各賞球個数指令毎に区切ることなく連続的に実行された賞球払出処理が終了したことを、賞球払出予定総数カウンタ(PA)の値が0になったことによって判定する(ステップS654A)。また、再払出動作を開始するときに、払出動作カウンタに、賞球払出予定総数カウンタ(PA)の内容を設定する(ステップS663A)。
なお、ここで説明した処理以外の払出制御処理における処理は、上記の実施の形態の場合と同様である。
以上に説明したように、上記の各実施の形態では、コマンド解析処理では、遊技制御手段から受信した賞球個数指令にもとづく個数を、そのときの賞球払出中の制御に用いられているカウンタ(例えば払出動作カウンタ)に直ちに加算(上乗せ)するのではなく、所定の条件(例えば払出動作カウンタの値が所定値になったこと)が成立したときに、賞球払出中の制御に用いられているカウンタに上乗せする。従って、賞球個数指令を受信する度に賞球払出中の制御に用いられているカウンタに上乗せする場合に比べて、上乗せ処理の実行回数を減らすことができる。
なお、上記の各実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になるパチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になるパチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続するパチンコ遊技機であっても、本発明を適用できる。さらに、主基板と払出制御基板とを備えた構成を有していれば、スロット機にも本発明を適用できる。