以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図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に隣接して設置される(図示せず)。
カードユニットには、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機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が設置されている。
表示制御手段は、表示制御基板80に搭載されている表示制御用マイクロコンピュータやVDPなどで実現される。また、図示はしないが、遊技機には、遊技盤6に設けられている各種装飾LED、普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cなどを制御するランプ制御手段が搭載されているランプ制御基板35と、スピーカ27を制御する音制御手段が搭載されている音声制御基板70とが設置されている。ランプ制御手段は、ランプ制御基板35に搭載されている発光体制御用マイクロコンピュータやその他の回路などで実現される。音制御手段は、音声制御基板70に搭載されている音制御用マイクロコンピュータやその他の回路などで実現される。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1における主基板31および各電気部品制御基板(表示制御基板80、ランプ制御基板35、音声制御基板70および払出制御基板37)や遊技機に設けられている各電気部品への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチと、主基板31および払出制御基板37に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチとが設けられている。さらに、露出部分における電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
なお、各電気部品制御基板(表示制御基板80、ランプ制御基板35、音声制御基板70および払出制御基板37)には、電気部品制御用マイクロコンピュータを含む電気部品制御手段(表示制御手段、ランプ制御手段、音声制御手段および払出制御手段)が搭載されている。電気部品制御手段は、遊技制御手段からの指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、可変表示装置9、ランプやLEDなどの発光体等)を制御する。以下、主基板31を電気部品制御基板に含めて説明を行うことがある。その場合には、電気部品制御基板に搭載される電気部品制御手段は、遊技制御手段と、遊技制御手段からの指令信号に従って遊技機に設けられている電気部品を制御する手段と、遊技制御手段以外の制御手段からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板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の検出信号によって、実際に払い出された遊技球の数を計数することができる。本例では、払出個数カウントスイッチ301は、払い出された賞球および貸し球を共に検出する。すなわち、払出個数カウントスイッチ301は、賞球と貸し球とを区別することなく、払い出された遊技球を共通に検出する払出検出手段の一例である。
この実施の形態では、球払出装置97は、賞球払出と球貸しとを共に行うように構成されている。しかし、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。別個に設けられている場合には、賞球払出を行う球払出装置と球貸しを行う球払出装置とで払出手段が構成される。さらに、例えば、カムまたはスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97(モータによってカムを回転させる構成)以外のどのような構造の球払出装置を用いても、本発明を適用することができる。なお、本例では、賞球と貸し球とを分けて払い出す構成とされている場合であっても、払い出された賞球および貸し球は、ともに払出個数カウントスイッチ301で検出される領域に導かれ、払出個数カウントスイッチ301によって共通に検出される。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板37、ランプ制御基板35、音声制御基板70、発射制御基板91および表示制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、およびクリアスイッチ921からの信号を基本回路53に与える入力回路68と、可変入賞球装置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による検出数に相当する。
また、主基板31には、基本回路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についても同様である。また、遊技制御手段は、主基板(遊技制御基板)31に搭載されている、遊技制御用マイクロコンピュータに相当する基本回路53を含む各種機能を実現する回路で実現されている。すなわち、遊技制御用マイクロコンピュータは、CPU56だけでなくROM54やRAM55などを含む基本回路53で実現され、遊技制御手段は、主基板31に搭載された基本回路53を含む各種回路で実現される。なお、遊技制御手段における処理は、主として、遊技制御用マイクロコンピュータにおけるCPU56がプログラムに従って実行することにより実現される。
また、RAM55は、遊技制御手段で用いられる記憶手段の一例であり、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグ等)と未払出賞球数を示すデータは、バックアップRAMに保存される。なお、遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。なお、この実施の形態では、RAM55の全部が、電源バックアップされているとする。すなわち、本例では、RAM55とバックアップRAMとは一致する。
CPU56のリセット端子には、電源基板910からのリセット信号が入力されるのであるが、電源基板910からのリセット信号は、主基板31において、遅延回路69で遅延される。また、電源基板910から出力される電源断信号が、入力ドライバ回路68を介して基本回路53(具体的には入力ポート)に入力される。なお、電源断信号は、マスク不能なNMI信号であってもよい。
遊技球を打撃して発射する打球発射装置は払出制御基板37上の回路によって制御される発射モータ94を含み、発射モータ94が回転することによって遊技球を遊技領域7に向けて発射する。発射モータ94を駆動するための駆動信号は、タッチセンサ基板91を介して発射モータ94に伝達される。そして、遊技者が操作ノブ(打球ハンドル)5に触れていることはタッチセンサで検出され、タッチセンサからの信号がタッチセンサ基板91に搭載されているタッチセンサ回路(遊技者が操作ノブ5に触れているか否かを検出するための検出回路等を含む回路)を介して払出制御基板37に伝達される。払出制御基板37上の回路は、タッチセンサ回路からの信号がオフ状態を示している場合には、発射モータ94の駆動を停止する。なお、操作ノブ5には、弾発力を調節するものであり、遊技者が接触する部分であるタッチリングが組み付けられている。タッチセンサ基板91は、遊技機において、タッチリングと払出制御基板37との間に配置され、かつ、タッチリングの近傍に配置されている。具体的には、タッチリングとタッチセンサ基板91との間の配線長は、タッチセンサ基板91と払出制御基板37との間の配線長よりも短い。
この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよい。すなわち、ランプやLEDは発光体の一例である。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、表示制御基板80に搭載されている表示制御手段によって行われる。
図4に示すように、この実施の形態では、制御状態に応じて主基板31から表示制御基板80に対して表示制御コマンドが送信される。そして、表示制御基板80から、ランプ制御基板35に対してランプ制御コマンドが送信されるとともに、音声制御基板70に対して音制御コマンドが送信される。すなわち、この例では、表示制御基板80がサブ基板であり、ランプ制御基板35および音声制御基板70がそれぞれサブサブ基板である。なお、払出制御基板37は、サブ基板である。
図5は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図5に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータが搭載されている。この実施の形態では、払出制御用マイクロコンピュータは、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。また、RAMは、主基板31におけるRAM55と同様に、払出制御手段で用いられる記憶手段の一例であり、電源バックアップされている。払出制御用CPU371、RAM、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御用マイクロコンピュータを実現する。払出制御手段は、払出制御基板37に搭載されている、払出制御用マイクロコンピュータを含む各種機能を実現する回路で実現されている。なお、払出制御手段における処理は、主として、払出制御用マイクロコンピュータにおける払出制御用CPU371がプログラムに従って実行することにより実現される。
満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、払出制御基板37のI/Oポート372fに入力される。また、球切れスイッチ187および払出モータ位置センサ295からの検出信号は、払出制御基板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信号および賞球制御信号は、払出数を指定する払出指令信号に相当する。
なお、この例では、払出制御手段は、払出個数カウントスイッチ301からの検出信号にもとづいて、1個の賞球の払い出しを確認したときには、主基板31に対して賞球カウント信号を送信する。さらに、払出制御手段は、遊技球の払い出しに関わるエラー(遊技球の払出処理ができない状態となっていることを示すエラーを意味する。具体的には、例えば、下皿満タン状態や球切れ状態が該当する。)が発生したときには、主基板31に対して払出エラー信号を送信する。賞球カウント信号および払出エラー信号は、払出制御基板37の出力ポート372bおよび出力回路373Bを介して主基板31に送信される。そして、主基板31において、入力回路68およびI/Oポート57を介してCPU56に入力される。
払出制御用CPU371は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図5では記載省略されている。また、ターミナル基板160(枠用外部端子基板)には、ドア開放情報スイッチ161A,161Bが接続されている。
また、払出制御用CPU371は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51および球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
さらに、払出制御基板37からの払出モータ289への駆動信号は、出力ポート372aを介して球払出装置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に所定電圧以上の電圧が供給されることが防止される。
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
図6は、表示制御基板80、ランプ制御基板35および音声制御基板70の回路構成例を示すブロック図である。表示制御基板80において、表示制御用マイクロコンピュータにおける表示制御用CPU101は、ROM(図示せず)に格納されたプログラムに従って動作し、主基板31からのストローブ信号(表示制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して表示制御コマンドを受信する。また、表示制御用CPU101は、表示制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に、LCDを用いた可変表示装置9の表示制御を行わせる。VDP109は、GCL(グラフィックコントローラLSI)と呼ばれることもある。
さらに、表示制御用CPU101は、出力ポート104および出力ドライバ110を介して音声制御基板70に対して音制御コマンドを出力する。また、表示制御用CPU101は、出力ポート105および出力ドライバ106を介してランプ制御基板35に対してランプ制御コマンドを出力する。
この実施の形態では、遊技領域7の外側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28cと遊技盤に設けられている装飾ランプ25の点灯/消灯と、賞球ランプ51および球切れランプ52の点灯/消灯とを示す第2のコマンド(第2の制御信号)としてのランプ制御コマンドが表示制御基板80からランプ制御基板35に出力される。また、普通図柄始動記憶表示器41の点灯個数を示すランプ制御コマンドなどの他の第2のコマンドとしてのランプ制御コマンドも表示制御基板80からランプ制御基板35に出力される。
ランプ制御に関するランプ制御コマンドは、表示制御用CPU101におけるI/Oポート部の出力ポート104から出力ドライバ110を介して出力される。出力ポート104は、8ビットのデータと、1ビットのINT信号とを出力する。ランプ制御基板35において、表示制御基板80からのランプ制御コマンドは、ランプ制御基板35におけるI/Oポート部の入力ポートを介してランプ制御用CPU(発光体制御用マイクロコンピュータ)351に入力する。
なお、ランプ制御基板35において、ランプ制御用CPU351は、表示制御用CPU101に対してACK信号(受信完了を示すコマンド)を出力する。ACK信号は、ランプ制御用CPU351におけるI/Oポート部の出力ポートから出力される。
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に対して点灯/消灯信号を出力する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
ランプ制御用CPU351によって出力される各ランプを駆動する信号は、ランプドライバ354で増幅され各ランプに供給される。また、出力ポート352から出力される各LEDを駆動する信号は、LED駆動回路355で増幅され各LEDに供給される。そして、演出用駆動手段61を駆動する信号は、駆動回路356で増幅され各ランプに供給される。
この実施の形態では、遊技進行に応じて、遊技領域7の外側に設けられているスピーカ27の音声出力を指示するための音制御コマンドが、表示制御基板80から音声制御基板70に出力される。
音声制御基板70において、音制御用CPU(音制御用マイクロコンピュータ)701は、表示制御用CPU101に対してACK信号を出力する。ACK信号は、音制御用CPU701におけるI/Oポート部の出力ポートから出力される。
音制御コマンドは、表示制御用CPU101におけるI/Oポート部の出力ポート105から出力ドライバ106を介して出力される。出力ポートは、8ビットのデータと、1ビットのINT信号とを出力する。音声制御基板70において、表示制御基板80からの音制御コマンドは、音声制御基板70におけるI/Oポート部の入力ポートを介して音制御用CPU701に入力する。音制御用CPU701は、受信した音制御コマンドに応じたデータを音声データ基板70Aに搭載されている音声データROM704から読み出し、例えばデジタルシグナルプロセッサによる音声合成用IC703に出力する。
そして、音声合成用IC703は、音制御用CPU701の指示に応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声制御用CPU701の出力レベルを、ボリューム706にで設定されている音量(例えば、遊技機に設けられているボリューム切替スイッチの操作状態に応じた音量)に応じたレベルに増幅した音声信号をスピーカ27に出力する。なお、この実施の形態では、音声データROM704が、音声制御基板70とは別の基板である音声データ基板70Aに搭載されているが、音声データROM704は、音声制御基板70に搭載されていてもよい。その場合には、音声データ基板70Aは不要である。
音声データROM704に格納されている音制御コマンドに応じたデータは、所定期間(例えば特別図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。音制御用CPU701は、音制御コマンドを受信すると、音声データROM704内の対応するデータに従って音出力制御を行う。対応するデータに従った音出力制御は、次の音制御コマンドを受信するまで継続される。そして、音制御用CPU701は、次の音制御コマンドを受信すると、新た入力した音制御コマンドに対応した音声データROM704内のデータに従って音出力制御を行う。
図7は、表示制御基板80からランプ制御基板35や音声制御基板70に送信される第2のコマンド(ランプ制御コマンド、音制御コマンド)の送信形態を示すタイミング図である。
表示制御基板80における演出制御手段(表示制御用CPU101)は、第2のコマンドを送信するときに、図7に示すように、コマンドデータ(MODEデータまたはEXTデータ)をI/Oポートに設定し、STB信号をオン(ローレベル)にする。第2のコマンドを受信する受信側の基板(ランプ制御基板35、音声制御基板70)における演出制御手段(ランプ制御用CPU351、音制御用CPU701)は、STB信号がオン状態になったことを検出すると、I/Oポートを介してコマンドデータを入力するとともに、受信完了を伝えるためにACK信号をオン(ローレベル)にする。
表示制御用CPU101は、ACK信号がオン状態になったことを確認したら、STB信号をオフにする。受信側の演出制御手段(ランプ制御用CPU351、音制御用CPU701)は、STB信号がオフ状態になったことを確認したら、ACK信号をオフにする。以上のようにして、1バイトのコマンドデータの送受信が実現される。なお、2バイト構成の第2のコマンドの2バイト目も、1バイト目と同様に送受信される。
この実施の形態では、図7に示すような形態で第2のコマンドが送受信されるが、図7に示された形態は一例であって、表示制御用CPU101からコマンドデータがランプ制御用CPU351や音制御用CPU701に向けて送信され、ランプ制御用CPU351や音制御用CPU701がコマンドデータを受信したことを示す応答としての情報を表示制御用CPU101に対して送信するのであれば、すなわち双方向通信によってコマンドデータを送受信するのであれば、いかなる形態で第2のコマンドが送受信されてもよい。例えば、ACK信号に代えて受信完了を示すコマンドを表示制御用CPU101に送信するようにしてもよい。また、この実施の形態では、後述するようにコマンドデータは2バイト構成であるが、1バイト構成でも3バイト以上の構成でもよいし、パラレル送受信(この例では8ビットパラレル)に限らず、シリアル送受信によってもよい。
また、双方向通信に限らず、表示制御基板80からランプ制御基板35や音声制御基板70への方向にのみデータまたは信号を送信可能であるように構成してもよい。さらに、上述した主基板31と表示制御基板80との間で行われている通信方法と同じ方法によって、表示制御基板80とランプ制御基板35や音声制御基板70との間でデータや信号をやりとりするようにしてもよい。このように構成すれば、データや信号の通信に関する制御プログラムの基本部分等を共通にすることができ、データや信号の通信に関する制御プログラムを大幅な変更を加えることなく各基板で流用することができる。
次に、電源基板910の構成を図8のブロック図を参照して説明する。電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。なお、電源スイッチ914は、遊技機において、電源基板910の外に設けられていてもよい。電源スイッチ914が閉状態(オン状態)では、交流電源(AC24V)がトランス911の入力側(一次側)に印加される。トランス911は、交流電源(AC24V)と電源基板910の内部とを電気的に絶縁するためのものであるが、その出力電圧もAC24Vである。また、トランス911の入力側には、過電圧保護回路としてのバリスタ918が設置されている。
電源基板910は、電気部品制御基板(主基板31、払出制御基板37、表示制御基板80、ランプ制御基板35および音声制御基板70)と独立して設置され、遊技機内の各基板および機構部品が使用する電圧を生成する。この例では、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(図8では2つのレギュレータIC924A,924Bを示す。)を有し、VSLにもとづいてVDDおよびVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。
図8に示すように、トランス911から出力されたAC24Vは、そのままコネクタ922Bに供給される。また、VLPは、コネクタ922Cに供給される。VCC、VDDおよびVSLは、コネクタ922A,922B,922Cに供給される。
コネクタ922Aに接続されるケーブルは、主基板31に接続される。また、コネクタ922Bに接続されるケーブルは、払出制御基板37に接続される。従って、コネクタ922A,922Bには、VBBも供給されている。そして、コネクタ922Cに接続されるケーブルは、ランプ制御基板36に接続される。なお、表示制御基板80には、ランプ制御基板36を経由して各電圧が供給される。
また、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ922A,922Bを介して主基板31および払出制御基板37に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、クリアスイッチ921は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ921は、遊技機において、電源基板910以外に設けられていてもよい。
さらに、電源基板910には、電気部品制御基板に搭載されているマイクロコンピュータに対するリセット信号を作成するとともに、電源断信号を出力する電源監視回路920と、電源監視回路920からのリセット信号を増幅してコネクタ922A,922B,922Cに出力するとともに、電源断信号を増幅してコネクタ922A,922Bに出力する出力ドライバ回路925が搭載されている。なお、表示制御用マイクロコンピュータおよび音制御用マイクロコンピュータに対するリセット信号は、ランプ制御基板35を経由して表示制御基板80および音声制御基板70に伝達される。すなわち、サブサブ基板であるランプ制御基板35には、主基板31からのリセット信号がサブ基板である表示制御基板80を介することなく直接伝達される。なお、サブサブ基板である音声制御基板70に主基板31からのリセット信号が直接伝達され、表示制御用マイクロコンピュータおよびランプ制御用マイクロコンピュータに対するリセット信号が、音声制御基板70を経由して表示制御基板80およびランプ制御基板35に伝達される構成とされていてもよい。
電源監視回路920は電源断信号を出力する電源監視手段とリセット信号を生成するリセット信号生成手段とを実現する回路であるが、電源監視回路920として、市販の停電監視リセットモジュールICを使用することができる。電源監視回路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)から作成された所定の直流電圧が所定値以下になったことを用いたが、検出条件は、それに限られず、外部のからの電力が途絶えたことを検出できるのであれば、他の条件を用いてもよい。例えば、交流波そのものを監視して交流波が途絶えたことを検出条件としてもよいし、交流波をディジタル化した信号を監視して、ディジタル信号が平坦になったことをもって交流波が途絶えたことを検出条件としてもよい。
図9および図10は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図9に示すように、出力ポート0は払出制御基板37に送信される払出制御信号の出力ポートである。また、表示制御基板80に送信される表示制御コマンドの8ビットのデータは出力ポート1から出力される。
また、出力ポート2から、大入賞口の開閉板2を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21Aおよび可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号が出力される。さらに、表示制御基板80に送信される表示制御コマンドについての表示制御INT信号(ストローブ信号)も出力される。表示制御INT信号は、表示制御コマンドの8ビットのデータを取り込むことを表示制御手段に指令するための信号である。
そして、出力ポート3,4から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。
図11は、遊技制御手段におけるにおける入力ポートのビット割り当ての例を示す説明図である。図11に示すように、入力ポート0のビット0〜7には、それぞれ、V入賞スイッチ22、カウントスイッチ23、ゲートスイッチ32a、入賞口スイッチ33a、39a,29a,30a、始動口スイッチ14aの検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、電源監視基板910からの電源断信号、電源基板910からのクリアスイッチ921の検出信号、払出制御基板37からの賞球カウント信号および払出エラー信号が入力される。なお、各スイッチからの検出信号、賞球カウント信号、および払出エラー信号は、入力回路68において論理反転されている。
次に遊技機の動作について説明する。図12および図13は、主基板31における遊技制御手段が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。
次いで、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行する。具体的には、まず、ウェイトカウンタ1に、初期化ウェイト回数指定値1をセットする(ステップS41)。また、ウェイトカウンタ2に、初期化ウェイト回数指定値2をセットする(ステップS42)。なお、ウェイトカウンタ1,2として、CPU56が内蔵する汎用のレジスタが用いられる。そして、ウェイトカウンタ2の値が0になるまでウェイトカウンタ2の値を1ずつ減算する(ステップS43,S44)。ウェイトカウンタ2の値が0になったらウェイトカウンタ1の値を1減算し(ステップS45)、ウェイトカウンタ1の値が0になっていなければ(ステップS46)、ステップS42に戻る。ウェイトカウンタ1の値が0になっていれば、ソフトウェア遅延処理を終了する。
以上のようなソフトウェア遅延処理によって、ほぼ、[(初期化ウェイト回数指定値1)×(初期化ウェイト回数指定値2)×(ステップS43,S44の処理時間)]だけ、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。換言すれば、所望の時間だけ遊技制御処理の開始タイミングを遅延させることができるように、初期化ウェイト回数指定値1,2の値が決定される。なお、初期化ウェイト回数指定値1,2の値は、ROM54に設定されている。また、ここで説明したソフトウェア遅延処理は一例であって、他の方法によってソフトウェア遅延処理を実現してもよい。
ソフトウェア遅延処理によって遅延させる所定期間は、遊技機に対する電力供給が開始され動作可能状態になったときから、少なくとも払出制御処理が開始されたあとまでの期間が確保される。すなわち、払出制御手段による払出制御処理が開始されたあとに遊技制御手段による遊技制御処理が開始されるように、ソフトウェア遅延処理によって遅延させる所定期間が定められる。このように構成することで、遊技機の電力供給が開始されたときに払出制御手段が遊技制御手段からの制御信号を確実に受信することができるようになる。なお、遊技機の電力供給が開始されたときに払出制御手段が遊技制御手段からの制御信号を確実に受信できるようにすればよいため、ソフトウェア遅延処理によって遅延させる所定期間は、少なくとも、サブ基板37,80やサブサブ基板35,70にて制御信号を受信可能な制御状態が開始されたあと(例えばステップS715の実行後)に、主基板31での制御信号の送信動作(例えばステップS14,S94)が実行されるように調整されていればよい。このことは、ハードウェア回路を用いて遅延処理を行う場合も同様である。
ソフトウェア遅延処理を終了すると、CPU56は、内蔵デバイス(内蔵周辺回路)である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に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS81)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS82)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS81およびS82の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)や未払出賞球数を示すデータが設定されている部分である。
また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS83)、その内容に従ってサブ基板(払出制御基板37および表示制御基板80)に、電力供給が復旧した旨を示す制御コマンドが送信されるように制御する(ステップS84)。そして、ステップ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の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
図14は、遊技機に対して電力供給が開始されたとき、および電力供給が停止したときのマイクロコンピュータの動作の様子を示すタイミング図である。遊技機に対して電力供給が開始されDC+24V電源の電圧が所定値を越えると、電源断信号がハイレベル(オフ状態)になる。また、VCCの値が所定値を越えるとリセット信号がハイレベルになる。なお、上述したように、電源監視回路920は、電源断信号をハイレベルにしてからリセット信号をハイレベルにする。リセット信号は、主基板31、払出制御基板37およびランプ制御基板35に入力される。また、リセット信号は、ランプ制御基板35を介して表示制御基板80および音声制御基板70に入力される。そして、払出制御基板37に搭載されている払出制御用CPU371、表示制御基板80に搭載されている表示制御用CPU101、ランプ制御基板35に搭載されているランプ制御用CPU351、および音声制御基板70に搭載されている音制御用CPU701のリセット端子に入力される。払出制御用CPU371、表示制御用CPU101、ランプ制御用CPU351、および音制御用CPU701は、リセット信号がハイレベルになると動作可能状態になる。動作可能状態になると、まず、初期化処理を実行し、その後、それぞれ、払出制御処理、表示制御処理、ランプ制御処理、音制御処理を開始する。
主基板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が初期化処理を完了する時点よりも早くなってしまうことを防止できる。
遅延回路69による遅延時間(特定期間)は、例えば、採用される可能性のあるサブ基板とサブサブ基板のうち最も動作の遅いCPUを用いているサブ基板あるいはサブサブ基板が立ち上がるまでの時間から、セキュリティチェック処理の実行時間を減算した時間よりも、やや短い時間(例えば700ms)に設定される。そして、実際に使用されるサブ基板やサブサブ基板の動作速度に応じて、ソフトウェア遅延処理による遅延時間を調整し、CPU56が初期化処理を開始する時点がサブ基板やサブサブ基板のCPUが初期化処理を完了する時点よりも遅くなるようにすればよい。このように、ソフトウェアだけでなくハードウェア回路によっても遅延させる構成とすれば、サブ基板やサブサブ基板の変更などの仕様変更がなされたときに備えてソフトウェアによる遅延処理の汎用性を残すことができるとともに、ソフトウェアによる遅延処理を簡単なものとすることができ、遅延処理のためのソフトウェアのデータ容量を削減することができる。
遊技機に対する電力供給が停止すると、DC+24V電源の電圧も徐々に低下するのであるが、電源監視回路920は、DC+24V電源の電圧が所定値を下回ると、電源断信号を出力する(ローレベルにする)。電源断信号は、主基板31および払出制御基板37に入力されている。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、電源断信号が出力されたことに応じて、電力供給停止時処理(電源断時制御処理ともいう。)を実行する。そして、電源監視回路920は、VCCが所定値を下回ると、リセット信号をローレベルにする。主基板31に搭載されている遊技制御手段および払出制御基板37に搭載されている払出制御手段は、リセット信号がローレベルになったことに応じてシステムリセットされる。すなわち、CPU56および払出制御用CPU371は、動作しない状態になる。なお、電源監視回路920は、電源電圧が低下していくときに、電源断信号を出力した時点から、所定時間が経過すると、リセット信号をローレベルにする。また、CPU56および払出制御用CPU371は、それぞれ、動作しない状態すなわちシステムリセット状態とされると、その後にリセット信号がハイレベルになったことに応じて、初期状態から(制御プログラムの最初のから、電力供給が開始されたときの状態から)制御を開始する。
次に、遊技制御処理について説明する。図15は、タイマ割込処理を示すフローチャートである。メイン処理に実行中に、具体的には、ステップS16〜S19のループ処理の実行中に、タイマ割込が発生すると、CPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理において遊技制御処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS20)。次いで、入力回路68を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。また、払出制御基板37からの賞球カウント信号の受信に応じて、賞球の払い出しが行われたことを遊技者に報知するための処理、具体的には賞球払出確認指定コマンドを表示制御基板80に送信する処理(図23参照)を実行する(ステップ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は、出力ポート2のRAM領域におけるソレノイドに関する内容(図9参照)を出力ポートに出力する(ステップS34:ソレノイド出力処理)。その後、割込許可状態に設定し(ステップS35)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は定期的(例えば4ms毎)に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。また、ステップS21〜S34の処理(ステップS30およびS33を除く)が、遊技の進行を制御する遊技制御処理に相当する。
図16および図17は、ステップ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に対して送信される接続確認信号は、出力ポートをクリアする処理によってオフ状態に設定される。また、ステップ82およびS12の作業領域の設定では、接続確認信号に対応した出力ポートバッファの内容が、接続確認信号のオン状態に対応した値に設定される。そして、ステップS31の賞球処理が実行されると、出力ポートバッファの内容が出力ポートに出力されるので、払出制御基板37への接続確認信号がオン状態になる。従って、接続確認信号は、主基板31の立ち上がり時に出力される(オン状態になる)ことになる。なお、電源瞬断等から復帰した場合も、接続確認信号が出力される。
次に、メイン処理におけるスイッチ処理(ステップS21)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図18は、スイッチ処理で使用されるRAM55に形成される各1バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば4ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
図19は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0(図11参照)に入力されているデータを入力し(ステップ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との間で送受信される払出制御信号について説明する。図20は、遊技制御手段から払出制御手段に対して出力される制御信号および遊技制御手段に払出制御手段から入力される払出制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で複数種類の制御信号が送受信される。図20に示すように、接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。すなわち、接続確認信号は、主基板31が立ち上っている状態であるか否かを示す信号である。
賞球REQ信号は、賞球の払出要求時に出力状態(=オン状態)になる信号(すなわち賞球払出要求のトリガ信号)である。また、賞球REQ信号は、出力状態となったあとあらかじめ決められている所定期間後に停止状態(オフ状態)になる。賞球制御信号は、払出要求を行う遊技球の個数(1〜15個)を指定するために出力される信号(賞球個数コマンド)である。
賞球カウント信号は、払出制御手段が1個の賞球の払い出しを確認するとオン状態にされ、あらかじめ決められている所定期間後にオフ状態になる信号である。払出エラー信号は、払い出しに関わるエラー状態が発生するとオン状態にされ、エラー状態が解除されるとオフ状態にされる信号である。
図21は、図20に示す各制御信号の送受信に用いられる信号線等を示すブロック図である。図21に示すように、接続確認信号、賞球REQ信号、および賞球制御信号は、CPU56によって出力回路67を介して出力され、入力回路373Aを介して払出制御用CPU371に入力される。また、賞球カウント信号および払出エラー信号は、払出制御用CPU371によって出力回路373Bを介して出力され、入力回路68を介してCPU56に入力される。接続確認信号、賞球REQ信号、賞球カウント信号、および払出エラー信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。賞球制御信号は、1個〜15個を指定するので、4ビットのデータで構成され4本の信号線によって送信される。
図22は、払出制御信号の出力の仕方の一例を示すタイミング図である。図22に示すように、入賞検出スイッチが遊技球の入賞を検出すると、遊技制御手段は、賞球REQ信号をオン状態にするとともに、賞球制御信号の出力状態を、入賞に応じて払い出される賞球数に応じた状態にする。なお、この実施の形態では、始動口スイッチ14aで遊技球が検出されると4個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると7個の賞球払出を行い、V入賞スイッチ22またはカウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。また、上述したように、賞球制御信号は4ビットで構成されているので、8ビットで表現されている00(H)〜0F(H)の賞球個数コマンドのうち、下位の4ビットが賞球制御信号によって主基板31から払出制御基板37に伝達される。以下、「00(H)〜0F(H)の賞球制御信号」のように表現することがあるが、実際には、賞球制御信号は、8ビットで表現されている00(H)〜0F(H)のうちの下位の4ビットに相当する。
遊技制御手段は、賞球REQ信号をオン状態にしたあと所定期間(賞球REQ信号オフ待ち時間:例えば60ms)経過後に、賞球REQ信号をオフ状態にする。そのとき、賞球制御信号の出力状態をクリアしてオフ状態にする。すなわち、賞球制御信号が0個を示す状態(無効コマンドを出力する状態)にする。従って、賞球制御信号は、賞球REQ信号がオフ状態であるときには無効コマンド出力状態になっているので、払出制御手段において、ノイズ等によって賞球REQ信号のオン状態が検出されたような場合でも、誤って賞球払出を実行してしまうようなことはない。なお、賞球REQ信号オフ待ち時間は、連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間である。なお、賞球REQ信号オフ待ち時間は、CPU56および払出制御用CPU371に供給されるクロック信号の周波数が変わると異なる値になる。つまり、CPU56および払出制御用CPU371に供給されるクロック信号の周波数が変わると異なる値になる。
図21に示すように、賞球REQ信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづく賞球REQ信号のオンおよび賞球制御信号の出力は待たされる。具体的には、賞球REQ信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづいて払い出されるべき賞球数が、RAM55に形成される総賞球数バッファの内容に加算される。そして、遊技制御手段は、賞球REQ信号をオフ状態にしたときに、総賞球数バッファの内容が0でなければ、15を上限として、総賞球数バッファの内容が示す賞球数の賞球払出を指示するために、賞球REQ信号をオン状態にするとともに、賞球制御信号を出力する。
図23は、賞球カウント信号の出力の仕方の一例を示すタイミング図である。図23に示すように、払出制御用CPU371は、払出個数カウントスイッチ301が遊技球の払い出しを検出すると、その検出が賞球の払出検出であるか否か確認し、賞球の払出検出であれば賞球カウント信号を所定期間(例えば0.5秒)オン状態とする。すなわち、1個の賞球の払い出しを確認する毎に、賞球カウント信号を所定期間オン状態とする。従って、例えば払出個数カウントスイッチ301によって7個の遊技球の払い出しが検出され、検出された遊技球が賞球であれば、賞球カウント信号のオン/オフが7回繰り返される。
CPU56は、上述した賞球報知処理(ステップS22)において、賞球カウント信号を受信する毎に、1個の賞球の払い出しを確認したことを示す賞球払出確認指定の制御コマンド(賞球払出確認指定コマンド)を、表示制御基板80に向けて送信する。表示制御基板80は、受信した賞球払出確認指定コマンドを、ランプ制御基板35に向けて送信する(ステップS343,S344参照)。ランプ制御基板35のランプ制御用CPU351は、賞球払出確認指定コマンドを受信する毎に、賞球ランプ51を所定期間(例えば0.5秒)点灯させる制御を実行する。このように、1個の賞球の払い出しが確認されたことに応じて賞球ランプ51を点灯させる構成としたので、CPU56に払い出された賞球数分の賞球カウント信号が正常に入力されていることを、遊技機の外部から認識することができる。
なお、CPU56は、賞球カウント信号を受信する毎に、1個の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを表示制御基板80に送信していたが、例えば、所定個分(例えば7個分)の賞球の払い出しを示す所定回数(例えば7回)の賞球カウント信号を受信すると、所定個分(例えば7個分)の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを表示制御基板80に送信するようにしてもよく、また、払い出されるべき所定個(例えば7個)の賞球のうちの1個目の賞球の払い出しが検出されたことにもとづく賞球カウント信号を受信したことに応じて、所定個分(例えば7個分)の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを表示制御基板80に送信するようにしてもよい。この場合、ランプ制御用CPU351は、所定個分の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを受信したときは、上記したような1個の賞球の払い出しを確認したことを示す賞球払出確認指定コマンドを受信したときよりも長い期間(例えば3秒)賞球ランプ51を点灯させる制御を実行するのが好ましい。
図24は、払出エラー信号の出力の仕方の一例を示すタイミング図である。図24に示すように、払出制御用CPU371は、エラー状態に移行したときに払出エラー信号をオン状態とし、エラー状態が解除されたときに払出エラー信号をオフ状態とする。この例では、遊技球の払い出しに関わるエラーの発生によりエラー状態に移行したときに払出エラー信号が出力される。具体的には、例えば、下皿満タン状態、球切れ状態、主基板31と払出制御基板37との間の通信異常が発生した状態となったときに払出エラー信号が出力される。
図24に示すように、主基板31に搭載されているCPU56は、払出制御用CPU371からのエラー信号を受信すると(エラー信号がオン状態となると)、表示制御基板80に向けて表示制御コマンドとしてのエラー発生通知コマンドを送信する。エラー発生通知コマンドは、エラーが発生したことを示すコマンドである。また、CPU56は、払出制御用CPU371からのエラー信号が停止されると(エラー信号がオフ状態となると)、表示制御基板80に向けて表示制御コマンドとしてのエラー解除通知コマンドを送信する。エラー解除通知コマンドは、エラー状態が解除したことを示すコマンドである。
表示制御基板80に搭載されている表示制御用CPU101は、CPU56からのエラー発生通知コマンドを受信すると、可変表示装置9にエラー状態であることを示す表示を行い、エラー状態を報知する処理を実行する。エラー状態の報知は、例えば「エラーが発生しました!」などの文字や図形などを可変表示装置9の表示領域に表示することで行われる。また、表示制御用CPU101は、CPU56からのエラー解除通知コマンドを受信すると、エラー状態であることを報知するために可変表示装置9に表示されていたエラー表示を消去して、エラー状態であることの報知を終了する。
上記のように、エラー状態となったときにエラーの報知を行う構成としたことで、遊技者や遊技店員にエラーが発生したことを容易に知らせることができる。なお、エラー状態の報知は、可変表示装置9以外の他の表示器、音声によるメッセージ、あるいはランプやLEDなどの発光体の明滅、あるいはこれらのうちの2つ以上の組み合わせによって行うようにしてもよい。
図25は、ステップS31の賞球処理の一例を示すフローチャートである。賞球処理において、CPU56は、賞球個数加算処理(ステップS201)と賞球制御処理(ステップS202)とを実行する。そして、RAM55に形成されるポート0バッファの内容をポート0に出力する(ステップS203)。なお、ポート0バッファの内容は、賞球制御処理において更新される。
賞球個数加算処理では、図26に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「7」)が設定され、その後に、スイッチオンバッファの下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である(図11参照)。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。また、賞球個数テーブルにおいて、7つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。
図27は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、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に移行する。
図28は、ステップS201の賞球制御処理を示すフローチャートである。賞球制御処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS231〜S234のいずれかの処理を実行する。
図29は、賞球プロセスコードの値が0の場合に実行される賞球待ち処理1(ステップS231)を示すフローチャートである。CPU56は、賞球待ち処理1において、賞球待機中出力値(30(H))をポート0バッファにセットする(ステップS243)。なお、賞球待機中出力値がポート0バッファにセットされると、ステップS203においてポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオフ状態になり、接続確認信号のオン状態が維持される(図9参照)。また、賞球制御信号が無効コマンド(00(H))を出力する状態になる。次いで、賞球タイマが0であるか否か確認する(ステップS244)。賞球タイマが0でなければ、賞球タイマの値を1減らして(ステップS245)、処理を終了する。賞球タイマは賞球処理において必要となる時間を計測するためのタイマであるが、この段階で賞球タイマの値が0でないということは、前回の払出処理が完了した後、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に複数の賞球REQ信号のオン期間の間に間隔を設けるための時間、図22に示す00(H)の賞球制御信号が出力されている期間)が終了していないことを意味する。なお、賞球タイマは、後述する賞球待ち処理3のステップS275でセットされる。また、ステップS243〜S245の処理は、ステップS234の賞球処理3の実行が完了して前回の払出処理が完了した後に、賞球REQ信号をオフ状態にするとともに、賞球制御信号として無効コマンド(00(H))を出力するための処理である。
賞球タイマの値が0であれば、CPU56は、入力ポート1のビット2(図11参照)の状態を確認し、払出制御基板37からの賞球カウント信号がオン状態であるか否か判定する(ステップS246)。賞球カウント信号がオン状態であれば、処理を終了する。すなわち、CPU56は、賞球カウント信号の受信中であれば、賞球送信処理に移行せず、賞球制御信号および賞球REQ信号の送信処理を行わない。従って、賞球カウント信号が払出制御基板37から送信されているときに、主基板31から払出制御基板37に向けて賞球制御信号や賞球REQ信号が送信されることを回避することができるため、払出制御基板37にて、賞球カウント信号の送信中に賞球制御信号や賞球REQ信号が送られてきて、賞球制御信号や賞球REQ信号がとりこぼされてしまうことを防止することができる。
なお、本例では、賞球カウント信号がオン状態であったときには、ステップS246の判定処理が繰り返し実行され、賞球カウント信号がオフ状態となったときに賞球送信処理に移行することになる。
賞球カウント信号がオン状態でなければ、CPU56は、総賞球数格納バッファの内容を確認する(ステップS247)。その値が0であれば処理を終了し、0でなければ、賞球プロセスコードの値を1にした後(ステップS248)、処理を終了する。
図30は、賞球プロセスコードの値が1の場合に実行される賞球送信処理(ステップS232)を示すフローチャートである。CPU56は、賞球送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値(この例では「15」)よりも小さいか否か確認する(ステップS251)。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する(ステップS252)。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する(ステップS253)。
その後、賞球REQ中出力値(10(H))を出力ポート0バッファにセットする(ステップS254)。なお、賞球REQ中出力値が出力ポート0バッファにセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、賞球REQ信号がオン状態になり、接続確認信号のオン状態が維持される(図9参照)。また、賞球個数バッファの内容を出力ポート0バッファの下位4ビットにセットする(ステップS255)。さらに、賞球処理待ち時間を賞球タイマにセットする(ステップS256)。賞球処理待ち時間は、例えば、払出制御基板37にて賞球の払出制御が完了するのに十分な期間であるとしてあらかじめ定められた時間とされる。その後、賞球プロセスコードの値を2にして(ステップS257)、処理を終了する。
この実施の形態では、賞球コマンド最大値は「15」である。従って、最大で「15」の払出数を指定する賞球制御信号が払出制御基板37に送信される。
図31は、賞球プロセスコードの値が2の場合に実行される賞球待ち処理2(ステップS233)を示すフローチャートである。CPU56は、賞球待ち処理2において、賞球タイマが0であるか否か確認する(ステップS263)。賞球タイマが0でなければ、賞球タイマの値を1減らして(ステップS264)、処理を終了する。この段階で賞球タイマの値が0でないということは、払出制御手段に指令した個数の賞球の払出処理が完了していないことを意味する。
賞球タイマの値が0であれば、CPU56は、確かに払出制御手段に指令した個数分の賞球払出が完了したものとして、総賞球数格納バッファの内容から、賞球個数バッファの内容(払出制御手段に指令した賞球払出個数)を減算する(ステップS265)。そして、賞球プロセスコードの値を3にして(ステップS266)、処理を終了する。なお、払出制御手段に指令した個数分の賞球払出が完了したか否かを、賞球タイマを用いることなく、賞球REQ信号を出力したあと、払出制御手段に指令した賞球払出個数分の賞球カウント信号を受信したか否かによって判定するようにしてもよい。
なお、図30に示した賞球送信処理および図31に示した賞球待ち処理2において、遊技制御手段は、賞球制御信号を送信した後、所定期間内に、払出制御手段からの賞球カウント信号が賞球制御信号によって指定した数に相当する回数受信されなかったときには、払出制御手段との間の通信の異常が発生したとして、遊技の進行を停止するための制御を行うとともに払出エラー信号を出力するように構成されていてもよい。
遊技制御手段は、遊技の進行を停止する前に、現在の制御状態、例えば出力ポートの出力状態をRAM55に保存した後、出力ポートの出力状態をクリアする。そして、払出制御手段との間の通信の異常が解消されるまで遊技の進行を停止する。すなわち、新たな事象(遊技球の入賞等)が生じても、それに応じた処理を行わず、例えば新たに生じた事象を記憶しておく。なお、遊技制御手段は、遊技の進行を停止する前に、可変表示装置9等を用いて通信異常の発生を報知するために通信エラー表示コマンドを表示制御基板80の表示制御手段に送信するように構成されていてもよい。遊技制御手段は、通信異常が解消されると、RAM55に保存されている制御状態にもとづいて出力ポートを復元することができる。
図32は、賞球プロセスコードの値が3の場合に実行される賞球待ち処理3(ステップS234)を示すフローチャートである。CPU56は、賞球待ち処理3において、賞球REQ待ち時間を賞球タイマにセットする(ステップS275)。そして、賞球プロセスコードの値を0にして(ステップS276)、処理を終了する。
以上の処理によって、遊技制御手段は、払出条件の成立にもとづいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。総賞球数格納バッファは、遊技機への電力供給が停止した場合に変動データ保存手段としてのバックアップ電源により記憶内容を少なくとも所定期間保存する景品遊技媒体数記憶手段に相当する。また、遊技制御手段は、総賞球数格納バッファに記憶されている賞球数にもとづいて払出制御手段に対して所定数の賞球の払出数を指定する払出指令信号を送信する。ここで、所定数は、総賞球数格納バッファに記憶されている賞球数が15個以上であれば15であり、15個未満であれば、総賞球数格納バッファに記憶されている賞球数である。そして、遊技制御手段は、払出指令信号を送信すると、払出制御手段に指令した個数分の賞球払出が完了したと判定したあとに、総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行う。なお、払出制御手段に指令した個数分の賞球払出が完了したか否かを確認することなく、払出指令信号を送信したあと直ちに総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行うようにしてもよい。また、払出指令信号を送信する前に、総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定する払出数を減算する減算処理を行うようにしてもよい。
なお、この実施の形態では、払出条件の成立にもとづいて払い出される景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段として、総数そのものを記憶する総賞球数格納バッファが例示されたが、景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段は、各入賞領域への入賞数を記憶したり、賞球数が同じである入賞領域毎の入賞数(例えば6個の賞球数に対応した入賞口14、10個の賞球数に対応した入賞口33,39,29,30、15個の賞球数に対応した大入賞口への入賞数であって、未だ賞球払出が終了していない入賞数)を記憶するものであってもよい。
図33は、CPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図33に示す特別図柄プロセス処理は、図15のフローチャートにおけるステップS26の具体的な処理でもある。CPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)および始動口スイッチ通過確認処理(ステップS311)を行った後に、内部状態(この例では特別図柄プロセスフラグ)に応じて、以下に示すステップS300〜S309のうちのいずれかの処理を行う。
なお、変動短縮タイマ減算処理は、始動記憶(始動口スイッチ14aがオンしたことの記憶)の記憶可能最大数に対応した個数設けられている変動短縮タイマを減算する処理である。そして、後述する特別図柄大当り判定処理(ステップS301)において、例えば、変動短縮タイマの値が0になっていて、かつ、低確率状態(通常状態)では始動記憶数が始動記憶の最大値、確変状態では始動記憶数が「2」以上であれば、図柄の変動パターンとして変動時間が短縮されたパターンを用いることに決定される。
また、始動口スイッチ通過確認処理では、CPU56は、打球が遊技盤に設けられている始動入賞口14に入賞して始動口スイッチ14aがオンしたことを判定すると、始動記憶数が上限値(この例では4)に達していなければ、始動記憶数を1増やし、大当り判定用乱数等の各乱数の値を抽出する。そして、それらを始動記憶数の値に対応した乱数値格納エリア(特別図柄判定用バッファ)に格納する処理が実行される。
特別図柄通常処理(ステップS300):始動記憶数を確認し、始動記憶数が0でなければ、ステップS301に移行するように特別図柄プロセスフラグの値を変更する。
特別図柄大当り判定処理(ステップS301):始動入賞があったときに記憶された各種乱数を格納するバッファ等の内容をシフトする。シフトの結果、押し出されたバッファの内容にもとづいて大当りとするか否かを決定する。なお、バッファは、始動入賞の記憶可能最大数だけ用意されている。また、シフトによって押し出されたバッファの内容は、最も前に生じた始動入賞に応じた内容である。そして、大当りとすることに決定した場合には、大当りフラグをセットする。その後、ステップS302に移行するように特別図柄プロセスフラグの値を変更する。
停止図柄設定処理(ステップS302):特別図柄の可変表示の表示結果である左右中図柄の停止図柄を決定する。そして、ステップS303に移行するように特別図柄プロセスフラグの値を変更する。
変動パターン設定処理(ステップS303):特別図柄の可変表示のパターンすなわち可変表示パターン(変動パターン)を決定する。そして、決定された変動パターンおよび停止図柄等を通知するための表示制御コマンドを表示制御基板80に対して出力するための処理を行う。その後、ステップS304に移行するように特別図柄プロセスフラグの値を変更する。
特別図柄変動処理(ステップS304):変動パターンに応じて決められている変動時間が経過したか否か確認する。経過していれば、ステップS305に移行するように特別図柄プロセスフラグの値を変更する。
特別図柄図柄停止処理(ステップS305):一定時間(例えば1.000秒)が経過した後、大当りとすることに決定されている場合には、ステップS306に移行するように特別図柄プロセスフラグの値を変更する。そうでなければ、ステップS300に移行するように特別図柄プロセスフラグの値を変更する。
大入賞口開放前処理(ステップS306):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド54を駆動して大入賞口を開放する。そして、ステップS307に移行するように特別図柄プロセスフラグの値を変更する。
大入賞口開放中処理(ステップS307):大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、ステップS308に移行するように特別図柄プロセスフラグの値を変更する。
特定領域有効時間処理(ステップS308):V入賞スイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、ステップS307に移行するように特別図柄プロセスフラグの値を変更する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、ステップS309に移行するように特別図柄プロセスフラグの値を変更する。
大当り終了処理(ステップS309):大当り遊技状態が終了したことを遊技者に報知するための表示を演出制御手段に行わせる制御を行う。そして、ステップS300に移行するように特別図柄プロセスフラグの値を変更する。
図34および図35は、主基板31から表示制御基板80に対して送出される表示制御コマンドの内容の一例を示す説明図である。図34に示す例において、コマンド8000(H)〜8026(H)は、特別図柄を可変表示する可変表示装置9における特別図柄の変動パターン、すなわち可変表示装置9における表示結果導出動作に関わる演出内容を示す表示制御コマンドである。なお、変動パターンを指定するコマンド(変動パターンコマンド)は変動開始指示も兼ねている。また、コマンド8000(H)〜8012(H)は低確率中において用いられ、コマンド8013(H)〜8025(H)は高確率中において用いられる。そして、コマンド8026(H)は、短縮表示パターンを指定するコマンドである。
コマンド86XX(H)、87XX(H)および88XX(H)は、特別図柄の左中右の停止図柄を指定する表示制御コマンドである。また、コマンド8F00(H)は、特別図柄の可変表示の停止を指示する表示制御コマンド(確定コマンド)である。
コマンド9XXX(H)は、特別図柄の変動および大当り遊技に関わらない可変表示装置9の表示状態に関する表示制御コマンドである。コマンド9000(H)は、電源投入時に送出される特別図柄電源投入時指定コマンドである。表示制御手段は、特別図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までの間に送出される表示制御コマンドである。そして、コマンドBXXX(H)は、普通図柄の変動パターンなどに関する表示制御コマンドである。コマンドB300(H)は、電源投入時に送出される普通図柄電源投入時指定コマンドである。表示制御手段は、普通図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。
コマンドC0XX(H)は、可変表示装置9における始動入賞記憶数を表示する表示エリアにおいて、表示色を変化させる始動記憶表示エリア18の個数を示す表示制御コマンドである。例えば、表示制御手段は、コマンドC0XX(H)を受信すると、各始動記憶表示エリア18のうち「XX(H)」で指定される個数の始動記憶表示エリア18の表示色を変化させる。すなわち、コマンドC5XX(H)は、保留個数という情報を報知するために設けられている表示エリアの制御を指示するコマンドである。なお、表示色を変化させる始動記憶表示エリア18の個数に関するコマンドが、表示色を変化させるエリアの個数の増減を示すように構成されていてもよい。
表示制御手段は、主基板31の遊技制御手段から上述した表示制御コマンドを受信すると図34に示された内容に応じて可変表示装置9および普通図柄表示器10の表示状態を変更する。また、詳細は後述するが、表示制御手段は、所定の表示制御コマンドを受信すると、所定のタイミングでランプ制御コマンドや音制御コマンドを出力する。
図35に示すように、この実施の形態では、ランプ制御のみに関する情報も、表示制御コマンドとして表示制御基板80に送信される。コマンドC1XX(H)は、普通図柄始動記憶表示器41の点灯個数を示す表示制御コマンドである。表示制御手段は、ランプ制御のみに関する情報を示す表示制御コマンドを受信すると、その表示制御コマンドが示す内容と同一の内容を示すランプ制御コマンドを発光体制御手段に向けて送信する。発光体制御手段は、ランプ制御コマンドとして表示制御手段が出力したコマンドC1XX(H)を受信すると、普通図柄始動記憶表示器41における「XX(H)」で指定される個数の表示器を点灯状態とする。すなわち、コマンドC1XX(H)は、普通図柄の保留個数という情報を報知するために設けられている発光体の制御を指示するコマンドである。なお、普通図柄始動記憶表示器41の点灯個数に関するコマンドが点灯個数の増減を示すように構成されていてもよい。
コマンドC200(H)は、賞球ランプ51の点灯を指示するための表示制御コマンドである。表示制御手段は、「C200(H)」の表示制御コマンドを受信すると、ランプ制御コマンドとしてコマンドC200(H)を出力する。発光体制御手段は、「C200(H)」のランプ制御コマンドを受信すると、賞球ランプ51の表示状態を点灯状態とし、所定期間が経過すると消灯状態とする。すなわり、所定期間点灯状態とする。コマンドC200(H)は、賞球が払い出されたことを遊技者等に報知するために設けられている発光体を制御することを示すコマンドである。
コマンドC300(H)およびC301(H)は、球切れランプ52の表示状態に関する表示制御コマンドである。表示制御手段は、「C30X(H)」の表示制御コマンドを受信すると、ランプ制御コマンドとしてコマンドC30X(H)を出力する。発光体制御手段は、「C300(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「C301(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドC300(H)およびC301(H)は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
なお、音制御のみに関する情報を示すコマンドが用いられる場合にも、そのコマンドは表示制御コマンドとして表示制御基板80に送信され、その表示制御コマンドと同一の内容を示す音制御コマンドが表示制御基板80から音声制御基板70に送信される。そして、音制御コマンドにもとづいて、音声制御基板70において音声出力制御が実行される。
次に、払出制御手段(払出制御用CPU371およびROM,RAM等の周辺回路)の動作を説明する。図36は、払出制御手段における出力ポートの割り当ての例を示す説明図である。図36に示すように、出力ポート0は、ステッピングモータによる発射モータ94に供給される各相の信号と、ステッピングモータによる払出モータ289に供給される各相の信号とを出力するための出力ポートである。また、出力ポート1は、球切れLED52、賞球LED51、賞球カウント信号および払出エラー信号と、遊技機外部に出力される賞球中信号、賞球情報、球貸し情報および遊技機エラー状態信号を出力するための出力ポートである。
出力ポート2は、7セグメントLEDによるエラー表示LED374の各セグメント出力の出力ポートである。出力ポート3は、カードユニット50へのEXS信号およびPRDY信号を出力するための出力ポートである。
図37は、払出制御手段における入力ポートのビット割り当ての例を示す説明図である。図37に示すように、入力ポート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からの出力信号および電源断信号が入力される。
図38は、遊技機の払出制御手段とカードユニット50との間の通信を説明するためのタイミング図である。払出制御手段は、遊技機への電力供給が開始され、払出動作が可能なときにはPRDY信号をオン状態にする。カードユニット50は、電力供給が開始されると、接続信号としてのVL信号をオン状態にする。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット50は、払出制御手段にBRDY信号を出力する。すなわち、BRDY信号をオン状態にする。この時点から所定の遅延時間が経過すると、カードユニット50は、払出制御手段にBRQ信号を出力する。すなわち、BRQ信号をオン状態にする。
そして、払出制御手段は、カードユニット50に対するEXS信号をオン状態にし、カードユニット50からのBRQ信号の立ち下がり(オフ)を検出すると、払出モータ289を駆動し、所定個(例えば25個)の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御手段は、カードユニット50に対するEXS信号を立ち下げる。すなわちEXS信号をオフ状態にする。
次に、払出制御手段の動作について説明する。図39は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用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ビットに出力する処理を行う。
なお、電源断処理は、遊技制御手段が実行する電源断処理と同様の処理である(図16および図17参照)。すなわち、電源基板910からの電源断信号が、バックアップ監視タイマが計時する所定時間継続してオン状態であれば、電力供給停止時処理が実行される。電力供給停止時処理において、電力供給停止中でも保存したいRAMの領域についてチェックコード(具体的にはチェックサム)を計算し、チェックコードをバックアップRAM領域に保存するとともに、RAMアクセスを禁止し、出力ポートをクリアした後ループ処理に入る。ループ処理において電源断信号がオフ状態になったことを検出すると、払出制御手段の状態は、遊技制御手段が遊技制御処理を実行する状態に戻るのと同様、払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)を実行する状態に戻る。具体的には、例えば、図39に示すメイン処理のステップ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(図37参照)の状態を検出して検出結果を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の処理)については短周期で繰り返し実行することができるようになる。また、タイマ割込の周期内で払出制御処理における全ての処理を実行したのでは実行できない処理が発生してしまう可能性があるが、一部のみを実行することによって、実行できない処理が発生してしまうことを防止できる。
図43は、ステップ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への発射ができない状態にしてもよい。
図44は、ステップ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に設定する。
図45は、ステップS765の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用CPU371は、主制御通信制御コードの値に応じて、ステップS531〜S533のいずれかの処理を実行する。
図46は、主制御通信通常処理において賞球制御信号を入力ポートを介して入力するための条件を示す説明図である。図46に示すように、RAMに形成されている1バイトのエラーフラグにおける主制御未接続エラー(接続確認信号のオフ)、賞球REQ信号エラー(賞球REQ信号が不正なタイミングでオンまたはオフ)のエラービットがセット状態ではなく、かつ、カードユニット50からのBRDY信号がオン状態ではない場合に、接続確認信号がオン状態であって、かつ、賞球REQ信号がオン状態になると、払出制御手段は、賞球制御信号を入力ポートを介して入力する。なお、エラービットとは、各種のエラーが発生したことが検出されたときにセットされるエラーフラグにおけるビットである。
図47は、主制御通信制御コードの値が0の場合に実行される主制御通信通常処理(ステップS531)を示すフローチャートである。主制御通信通常処理において、払出制御用CPU371は、エラービット(主制御未接続エラービットまたは賞球REQ信号エラービット)がオンしている場合には、以降の処理を実行せずに処理を終了する(ステップS541)。ステップS541では、エラーフラグ中の2つのビットのうち1つでもセットされていたら、エラービットがセットされていると判断する。
また、払出制御用CPU371は、BRDY信号がオン状態であれば、以降の処理を実行せずに処理を終了する(ステップS542)。BRDY信号がオン状態であるということは、カードユニット50から球貸し要求が発生していることを意味する。すなわち、球貸し要求が発生しているときには、主基板31の遊技制御手段との通信(賞球払出に関する通信)が進行しない。
ステップS541〜S542の条件が成立せず、接続確認信号がオン状態である場合には、払出制御用CPU371は、賞球REQ信号がオン状態になっているか否か確認する(ステップS543,S544)。オン状態になっている場合には、賞球制御信号が示す賞球数を賞球未払出個数カウンタの内容に加算する(ステップS545)。そして、主制御通信制御コードの値を1にして(ステップS548)、処理を終了する。なお、賞球未払出個数カウンタは、不揮発性(この例では電源バックアップされている)のRAM領域に形成されている。
図48は、主制御通信制御コードの値が1の場合に実行される主制御通信中処理(ステップS532)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、接続確認信号がオン状態であれば(ステップS551)、賞球REQ信号の状態を確認する(ステップS552)。賞球REQ信号がオフ状態になっていたら、エラーフラグのうち賞球REQ信号エラービットをセットする(ステップS553)。この段階で、直ちに賞球REQ信号がオフ状態になってしまうのはおかしいからである。
次いで、払出制御用CPU371は、主制御通信制御タイマに賞球REQ信号オフ監視時間をセットする(ステップS557)。そして、主制御通信制御コードの値を2にして(ステップS558)、処理を終了する。
図49は、主制御通信制御コードの値が2の場合に実行される主制御通信終了処理(ステップS533)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、エラービット(主制御未接続エラービットまたは賞球REQ信号エラービット)がオンしている場合には、ステップS567に移行する(ステップS561)。また、接続確認信号がオフ状態である場合にもステップS567に移行する(ステップS562)。エラービットがともにオフ状態であって接続確認信号がオン状態である場合には、賞球REQ信号がオフ状態になったか否かを確認する(ステップS563)。オフ状態になったらステップS567に移行する。
賞球REQ信号がオフ状態になっていない場合には、主制御通信制御タイマの値を確認する(ステップS564)。主制御通信制御タイマの値が0になっていなければ主制御通信制御タイマの値を−1する(ステップS565)。主制御通信制御タイマの値が0になっていたら、監視時間内に賞球REQ信号がオフしなかったとして、エラーフラグのうち賞球REQ信号エラービットをセットし(ステップS566)、ステップS567に移行する。
ステップS567では、主制御通信制御コードの値を0にして、処理を終了する。
図50は、ステップS766の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、払い出された遊技球が賞球であるか貸し球であるか確認する(ステップS602,S603)。この例では、遊技球が賞球であるかは、現在の払出制御の状態が賞球中であるか否かによって確認される。そして、賞球中であるか否かは、例えば、RAMに形成されている払出制御状態フラグにおける賞球動作中フラグがセットされているか否かによって確認される(ステップS602)。また、遊技球が貸し球であるかは、現在の払出制御の状態が球貸し中であるか否かによって確認される。そして、球貸し中であるか否かは、例えば、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される(ステップS603)。
賞球中であれば賞球未払出個数カウンタの値を1減らす(ステップS604)。賞球中でなく球貸し中であれば球貸し未払出個数カウンタの値を1減らす(ステップS605)。また、賞球中でなく球貸し中でもなければ、払い出された遊技球が賞球であるとして、賞球未払出個数カウンタの値を1減らす(ステップS604)。
賞球未払出個数カウンタの値を1減らしたときは、払出制御用CPU371は、入力ポート0のビット0〜3およびビット5の状態を確認し、主基板31からの賞球制御信号または賞球REQ信号の受信中であるか否か判定する(ステップS606a)。賞球制御信号または賞球REQ信号の受信中であったときには、本例では、払出制御用CPU371は、賞球カウント信号を送信することなく、未通知数記憶カウンタのカウント値を1加算する(ステップS606b)。未通知数記憶カウンタは、例えば払出制御基板37が備えるRAMに格納されており、賞球カウント信号の送信待ち数を計数するカウンタである。
すなわち、払出制御用CPU371は、賞球制御信号または賞球REQ信号の受信中であれば、賞球カウント信号の送信処理を行わない。従って、主基板31から賞球制御信号あるいは賞球REQ信号が送信されているときに、払出制御基板37から賞球カウント信号が送信されることを回避することができるため、主基板31にて、賞球制御信号や賞球REQ信号の送信中に賞球カウント信号が送られてきて、賞球カウント信号がとりこぼされてしまうことを防止することができる。
賞球制御信号と賞球REQ信号との何れも受信中でなかったときには、払出制御用CPU371は、賞球カウント信号を所定期間オン状態とする(ステップS607)。なお、賞球カウント信号を所定期間だけオン状態とするのは、1個の賞球払出検出を示す賞球カウント信号と、他の1個の賞球払出検出を示す賞球カウント信号との間にオフ状態の期間を置くためである。従って、賞球カウント信号をオン状態とする所定期間は、連続して賞球の払い出しが検出されたときに、各賞球の払い出しを示す賞球カウント信号のそれぞれのオン期間の間にオフ期間が確保できれば、どのような期間とされていてもよい。
次に、払出制御用CPU371は、RAMに形成されている払出制御状態フラグの払出球検知ビットをセットする(ステップS608)。払出球検知ビットは、払出通過待ち処理において、1回の賞球払出処理(最大15個)または1回の球貸し処理において(25個の払出)、払出モータ289を駆動したにもかかわらず遊技球が1個も払出個数カウントスイッチ301を通過しなかったことを検知するために用いられる。
ステップS608を実行したあと、あるいはステップS601にてNと判定されると、払出制御用CPU371は、未通知数記憶カウンタのカウント値を確認する(ステップS609a)。カウント値が0でなければ、主基板31からの賞球制御信号または賞球REQ信号の受信中であるか否か判定するステップS606aと同様の処理を行う(ステップS609b)。賞球制御信号と賞球REQ信号との何れも受信中でなかったときには、払出制御用CPU371は、賞球カウント信号を所定期間オン状態とするとともに(ステップS609c)、未通知数記憶カウンタのカウント値を1減算する(ステップS609d)。
その後、払出制御用CPU371は、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
上記のように、本例では、賞球制御信号または賞球REQ信号の受信中であったときには、賞球カウント信号の送信処理の実行が遅延され、賞球制御信号と賞球REQ信号とが受信中でなくなったあとに、賞球カウント信号が送信される。なお、賞球制御信号または賞球REQ信号の受信中であったときには、賞球カウント信号の送信処理を遅延させることなく取り止めるようにしてもよい。
なお、賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図51に示された払出開始待ち処理においてのみである。すなわち、図50に示されている払出個数カウントスイッチ301の確認処理、未払出個数カウンタの減算処理、賞球カウント信号の出力処理などについては、エラービットがチェックされることなく実行される。従って、エラーが発生しても、払出個数カウントスイッチ301からの検出出力に応じて、球貸し未払出個数カウンタまたは賞球未払出個数カウンタの減算処理が実行され、賞球未払出個数カウンタの値が減算されたときには賞球カウント信号が出力される。よって、エラー状態となっていても、遊技球の未払出数を管理することができる。また、エラー状態となっていても、賞球の払出が検出されたことに応じて賞球カウント信号を出力することができるので、エラー状態であっても、払出制御基板37側で検出された賞球の払出を確認したことを示す情報を主基板31側に伝達することができる。
図51は、払出制御コードが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)、ステップS637に移行する。
図52は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図53は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。所定期間が経過しても賞球未払出個数カウンタの値が0になっていない場合には、エラー状態に移行する。
なお、この実施の形態では、1回の賞球払出動作で払い出される遊技球数は最大15個であり、また、賞球払出中に賞球制御信号を受信したら賞球未払出個数カウンタの値が増加するので、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。従って、ステップS633またはステップS634にてセットされた個数の賞球の払い出しが確認されたとき(賞球未払出個数カウンタの値が、払出制御基板37が把握している未払出の賞球総数(今回払い出す賞球数を含む数)から、ステップS633またはステップS634にてセットされた個数が減算された値となっているとき)に、正常に払出が完了したと判定されるようにするようにしてもよい。
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態に移行する。なお、この実施の形態では、1回の球貸し払出動作で払い出される遊技球数は25個(固定値)であり、25個の遊技球が払い出されるように払出モータ289を回転させたのであるから、球貸し未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値を確認し、その値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。
払出制御タイマがタイムアウトしていれば(ステップS652)、球貸し払出処理(球貸し動作)を実行していたか否か確認する(ステップS653)。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、払出制御用CPU371は、賞球未払出個数カウンタの値を確認する(ステップS654)。賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、払出制御状態フラグにおける払出球検知ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する。
払出制御用CPU371は、賞球未払出個数カウンタの値が0になっていない場合には、払出球検知ビットがセットされていなければ(ステップS658)、払出処理において払出動作を行っても遊技球が1個も払い出されていないため、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)をセットする(ステップS659)。
上述したように、この実施の形態では、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。そこで、払出球検知ビットがセットされていれば、すなわち払出個数カウントスイッチ301が賞球払出処理中に少なくとも1個の遊技球の払出を検出していたら、正常に賞球払出処理が完了したとして、ステップS655に移行する。なお、例えば、1回の賞球払出処理で15個の遊技球を払い出すべきところ、実際には14個の遊技球しか払い出されなかった場合(払出個数カウントスイッチ301が14個の遊技球しか検出しなかった場合)にも、払出球検知ビットがセットされるので正常に賞球払出処理が完了したとみなされるが、その場合には、賞球未払出個数カウンタの値は14しか減算されていないはずであり、不足分は次回の賞球払出処理で払い出されるので、遊技者に不利益を与えることはない。
以上のように、払出処理において払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図47に示された払出開始待ち処理においてのみである。図48に示された払出モータ停止待ち処理および図53に示された払出通過待ち処理では、エラービットはチェックされない。従って、ステップS626、S633またはステップS634の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(1回の賞球払出または1回の球貸しが終了した時点)まで継続される。なお、ステップS621でチェックされるエラーフラグにおけるエラービットの中には、主基板31からの接続確認信号がオフ状態になったことを示すエラービットが含まれている。よって、接続確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用CPU371は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
球貸し未払出個数カウンタの値が0になっていない場合には、払出球検知ビットがセットされていなければ(ステップS658)、払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグの払出ケースエラービットをセットして(ステップS659)、処理を終了する。
以上のように、球貸し処理に係る払出処理において払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
図54は、払出モータ制御処理(ステップ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は、球噛み解除処理において、図55に示すように、払出モータ289を高速回転させる処理と低速回転させる処理とを所定回(例えば9回)繰り返す。そして、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。検出信号によって払出モータ289の回転が復旧したと判断される場合には、球噛み解除処理を終了して、通常の球払出処理に戻る。
高速回転させる処理と低速回転させる処理とを所定回実行しても払出モータ位置センサ295の検出信号に変化が生じなかった場合には、エラーフラグのうち、球噛みエラービット(払出ケースエラービット)をセットする。なお、払出ケースエラービットがセットされている場合には、払出制御用CPU371は、払出モータ289を駆動しない。また、払出ケースエラービットがリセットされると(図57におけるステップS807参照)、払出制御用CPU371は、払出モータ289を駆動できる状態に戻る。
このように、払出制御手段は、払出手段の動作状態を監視する駆動状態監視手段と、駆動状態監視手段が払出手段の動作不良を検出したときに払出手段の駆動を停止させる駆動停止手段とを含む。
次に、エラー処理について説明する。図56は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。図56に示すように、主基板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から操作信号が出力されたら(オン状態になったら)、払出制御手段は、エラーが発生する前の状態に復帰する。
図57は、ステップS769のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのみ(3つのうちのいずれかのビットのみ、もしくは3つのうちの2ビットのみ、またはそれら3ビットのみ)であるか否か確認する(ステップS801)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS802)。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS803)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS804)。エラー復帰前タイマの値が0であれば、すなわち、エラー復帰前タイマがセットされていなければ、ステップS808に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS805)、エラー復帰前タイマの値が0になったら(ステップS806)、エラーフラグのうちの、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットをリセットし(ステップS807)、ステップS808に移行する。
なお、ステップS807の処理が実行されるときに、払出スイッチ異常検知エラー2、払出ケースエラーおよび賞球REQ信号エラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーのビットをセットする原因になったエラー(図56参照)が発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
この例では、エラー状態中でも、図50に示すステップS601〜S605の処理は実行されている。すなわち、払い出しに関わるエラーが生じているときでも、遊技球が払出個数カウントスイッチ301を通過すれば、賞球未払出個数カウンタや球貸し未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの賞球未払出個数カウンタや球貸し未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。すなわち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
また、エラー状態中に遊技球が払出個数カウントスイッチ301を通過したことが確認されたときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ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は、図58に示すように、主基板31からの接続確認信号の状態を確認し(ステップS815)、接続確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS816)。また、接続確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS817)。
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出個数カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「240」)を越えていたら(ステップS818)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS819)。また、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間以下であれば、払出スイッチ異常検知エラー1のビットをリセットする(ステップS820)。なお、各スイッチタイマの値は、ステップS761のスイッチチェック処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出個数カウントスイッチ301がオン状態になっていることを意味し、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分で遊技球が詰まっていると判断される。
また、払出制御用CPU371は、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「2」)になった場合に(ステップS821)、球貸し動作中フラグおよび賞球動作中フラグがともにリセット状態であれば、払出動作中でないのに払出個数カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS822,S823)。また、球貸し動作中フラグまたは賞球動作中フラグがセットされていれば、払出スイッチ異常検知エラー2のビットをリセットする(ステップS824)。
さらに、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS825)、VL信号が入力されていなければ(オフ状態であれば)、エラーフラグのうちプリペイドカードユニット未接続エラービットをセットする(ステップS826)。また、VL信号が入力されていれば(オン状態であれば)、プリペイドカードユニット未接続エラービットをリセットする(ステップS827)。
また、払出制御用CPU371は、エラーフラグのうち所定のエラービット(この例では満タンエラービット、球切れエラービット、主制御未接続エラービット)の状態を確認し(ステップS828a)、所定のエラービットのうちのいずれかのエラービットがセットされていれば、払出エラー信号をオン状態とする(ステップS828b)。また、所定のエラービットのすべてがリセット状態とされていれば、払出エラー信号をオフ状態とする(ステップS828c)。
なお、ステップS771の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。この実施の形態では、主基板31に搭載された遊技制御手段と払出制御基板37に搭載された払出制御手段とが賞球払出に関して双方向通信を行うのであるが、通信エラーをエラー表示用LED374によって報知することができる。
また、通信エラーは、払出制御手段の側で検出されるので、遊技制御手段と払出制御手段とが賞球払出に関して双方向通信を行うようにしても、遊技制御手段の負担を増すことなく通信エラーを検出できる。
なお、この実施の形態では、主基板未接続エラーは接続確認信号がオン状態になると自動的に解消されるが(ステップS815,S817参照)、さらにエラー解除スイッチ375が操作されたという条件を加えて、エラー状態が解消されるようにしてもよい。
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラーおよびプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される(図56参照)。従って、遊技制御手段と払出制御手段との間の通信エラーが容易に特定される。
なお、この実施の形態では、払い出しに関わるエラーが発生したことを、遊技機裏面に設置されている払出制御基板37に搭載されているエラー表示LED374によって報知するようにしたが、遊技機裏面の他の箇所(例えば球払出装置97等が集中配置された払出ユニット)に報知手段を搭載してもよい。さらに、遊技機の表側に設置されている表示器(例えば賞球LED51)によって報知するようにしてもよい。払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行い、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行うのであるが、払い出しに関わるエラーが発生した場合には、例えば、賞球LED51を点滅させることによって、払い出しに関わるエラーが発生したことを報知する。遊技機の表側に設置されている表示器によってエラー報知すれば、遊技店員等がより容易にエラーの発生を認識できる。また、エラー表示LED374による報知と遊技機の表側に設置されている表示器による報知とを併用してもよい。
図59(A)は、払出ケースエラー(払出不足エラー)の発生の様子を示すタイミング図であり、図59(B)は、エラー解除スイッチ375の操作時の様子を示すタイミング図である。
図59(A)に示すように、所定個の遊技球を払い出すために払出モータ289を回転させ、回転停止後、最後に払い出されたはずの遊技球が払出個数カウントスイッチ301を通過した後に(この例では402.087ms後に)、未払出の遊技球があるか否かが確認され(ステップS654の判定に相当)、未払出の遊技球があれば、再払出動作が実行される。図59(A)には、2回の再払出動作が実行された例が示されている。そして、2回の再払出動作が実行された場合に、払出ケースエラーと判定され(ステップS672の判定に相当)、ステップS771の表示制御処理によってエラー表示LED374に「4」が表示される(図56参照)。
また、図59(B)に示すように、エラー解除スイッチ375が操作されると、エラー解除時間の経過後に、再び、再払出動作が開始される。なお、図59(B)に示すように、再び再払出動作が開始されるときに、エラー表示LED374における「4」の表示が消去される。すなわち、エラー解除スイッチ375の操作後に補正払出制御が行われているときには払出不足のエラーを示す報知は行われていない。
次に、表示制御基板80に搭載されている表示制御手段の動作について説明する。図60は、表示制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また表示制御の起動間隔を決めるための2msタイマの初期設定等を行うための初期化処理が行われる(ステップS321)。その後、表示制御用CPU101は、タイマ割込みフラグの監視(ステップS322)の確認を行うループ処理に移行する。タイマ割込みが発生すると、表示制御用CPU101は、割込み処理処理内でタイマ割込みフラグをセットする。メイン処理において、タイマ割込みフラグがセットされていたら、表示制御用CPU101は、そのフラグをクリアし(ステップS323)、以下の表示制御処理を実行する。
この実施の形態では、タイマ割込みは2ms毎にかかる。すなわち、表示制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込み処理ではフラグセットのみがなされ、具体的な表示制御処理はメイン処理において実行されるが、タイマ割込み処理で表示制御処理を実行してもよい。
表示制御処理において、表示制御用CPU101は、まず、受信した表示制御コマンドを解析するコマンド解析処理(ステップS324)、乱数を生成するためのカウンタのカウント値を更新するカウンタ更新処理を実行する(ステップS325)。そして、表示制御用CPU101は、表示制御プロセス処理を実行する(ステップS326)。表示制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。
次いで、表示制御用CPU101は、Vブランク割込の発生の有無を確認する(ステップS327)。Vブランク割込みの発生の有無は、VDP109からVブランク開始時に出力される割込信号(INT信号)にもとづいて確認される。Vブランクは、VRAMの表示領域(図示せず)に展開された画像を可変表示装置9の表示画面に表示し終えてから、VRAMの表示領域に次に展開された画像を可変表示装置9の表示画面に表示し始めるまでの期間をいう。VDP109は、Vブランク開始時に割込信号を表示制御用CPU101に出力してVブランク割込みをかける。例えば、1秒間に30フレームの画像が表示される場合は、約33ms毎にVブランク割込がかけられることになる。
表示制御用CPU101は、VDP109からの割込信号を受信するための割込端子(INT端子)を備えている。表示制御用CPU101は、割込端子の入力レベルがローレベルに立ち下がると、外部割込みとしてのVブランク割込みの発生を検出する。例えば、図61に示すように、表示制御用CPU101は、Vブランク割込みの発生を検出すると、Vブランク割込み有りを示すフラグをレジスタに設定する(ステップS331)。
表示制御用CPU101は、Vブランク割込み有りとなると、割込み処理として画像展開指示制御処理を実行する(ステップS328)。画像展開指示制御処理では、表示制御用CPU101が、VDP109に対して可変表示装置9の表示画面に表示する画像データについてのVRAMの表示領域への展開指示を行う制御を実行する。なお、VDP109は、表示制御用CPU101からの指示に従って、VRAMの表示領域に画像データを展開する。そして、VDP109は、表示領域の画像データにもとづいて画像信号を作成し、画像信号を可変表示装置9に出力して、可変表示装置9の表示画面に画像フレームを表示させる。上述したように、Vブランク割込みが33ms毎にかかるので、画像フレームは33ms毎に1回更新される。画像展開指示制御処理が実行された後、表示制御用CPU101は、コマンド送信バッファに格納されているランプ制御コマンドおよび音制御コマンドをそれぞれランプ制御基板35および音声制御基板70に送信するコマンド送信処理を実行する(ステップS329)。当該コマンド送信処理も、Vブランク割込みに応じた処理として33ms毎に実行される。
Vブランク割込み有りとならなかったとき、またコマンド送信処理を実行した後、ステップS702のタイマ割込みフラグの確認を行う処理に戻る。
なお、この実施の形態では、Vブランク割込み処理ではフラグセット(Vブランク割込み有りの設定)のみがなされ、具体的な画像展開指示制御処理およびコマンド送信処理はメイン処理において実行されるが、Vブランク割込み処理で画像展開指示制御処理およびコマンド送信処理を実行してもよい。
図62は、図60に示されたメイン処理におけるコマンド解析処理(ステップS324)を示すフローチャートである。コマンド解析処理において、表示制御用CPU101は、まず、RAM内に設けられているコマンド受信バッファに受信コマンド(遊技制御手段からの表示制御コマンド)が格納されているか否か確認する(ステップS341)。受信コマンドが格納されていない場合には処理を終了する。コマンド受信バッファに受信コマンドが格納されている場合には、表示制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS342)。
そして、読み出した受信コマンドに対応したランプ制御コマンドや音制御コマンドをランプ制御基板35や音声制御基板70に送信する必要があるか否か確認する(ステップS343)。ここで、図35に示したゲート通過記憶数ランプ指定コマンド(C1XX(H))、賞球払出確認指定コマンド(C200(H))、球あり中ランプ指定コマンド(C300(H))および球切れ中ランプ指定コマンド(C301(H))は、ランプ制御のみに用いられるコマンドであり、ランプ制御基板35にそのまま送信する必要があると判断される。また、図35に示した変動パターン指定コマンド(8000(H)〜8026(H))などは、表示制御に用いられるとともに、ランプ制御や音制御にも用いられるコマンドであるため、それらのコマンドに対応したランプ制御コマンドや音制御コマンド(この実施の形態では変動パターン指定等の表示制御コマンドをそのままランプ制御コマンドや音制御コマンドとして)ランプ制御基板35や音声制御基板70に送信する必要があると判断される。そして、ランプ制御基板35や音声制御基板70に送信する必要があると判断した場合には、表示制御用CPU101は、コマンド受信バッファから読み出した制御コマンドを、コマンド送信バッファに格納する(ステップS344)。そして、書込ポインタを+1する(ステップS345)。その後、受信コマンドに応じた処理を行い(ステップS346)、ステップS341に戻る。
受信コマンドに応じた処理とは、例えば、受信コマンドが図柄指定の表示制御コマンドであれば、指定された図柄を停止図柄格納エリア(RAM)に格納する処理であり、受信コマンドが変動パターン指定の表示制御コマンドであれば、変動パターンを所定の領域(RAM:表示制御用CPU101の内蔵RAMまたは外付けRAM)に設定するとともに変動パターン指定を受信した旨のフラグを設定する処理であり、受信コマンドが普通図柄変動パターン指定の表示制御コマンドであれば、普通図柄変動パターンを所定の領域(RAM:表示制御用CPU101の内蔵RAMまたは外付けRAM)に設定するとともに普通図柄変動パターン指定を受信した旨のフラグを設定する処理であり、受信コマンドが始動入賞記憶数指定コマンドであれば、EXTデータが示す始動入賞記憶数を保存する処理であり、その他の受信コマンドについては対応するコマンド受信フラグをセットする処理である。なお、表示制御用CPU101は、始動入賞記憶数が1加算されると、表示色を変化させる始動記憶表示エリア18を1増やす。
なお、コマンド送信バッファに設定されたランプ制御コマンドや音制御コマンドは、コマンド送信処理(ステップS329)でランプ制御基板35や音声制御基板70に送信される。
図63は、図60に示されたメイン処理における表示制御プロセス処理(ステップS326)を示すフローチャートである。表示制御プロセス処理では、表示制御プロセスフラグの値に応じてステップS900〜S906のうちのいずれかの処理が行われる。各処理において、以下のような処理が実行される。
変動パターンコマンド受信待ち処理(ステップS900):コマンド受信割込処理によって、変動時間を特定可能な演出制御コマンド(変動パターンコマンド)を受信したか否か確認する。具体的には、変動パターンコマンドが受信されたことを示すフラグ(変動パターン受信フラグ)がセットされたか否か確認する。変動パターン受信フラグは、コマンド解析処理によって、変動パターン指定の表示制御コマンドが受信されたことが確認された場合にセットされる(ステップS326)。
予告選択処理(ステップS901):予告決定用乱数を用いて、予告演出(背景予告)を行うか否かと、行う場合の予告演出の種類を決定する。
全図柄変動開始処理(ステップS902):左右中図柄の変動が開始されるように制御する。
図柄変動中処理(ステップS903):変動パターンを構成する各変動状態(変動速度)の切替タイミングを制御するとともに、変動時間の終了を監視する。また、左右図柄の停止制御を行う。
全図柄停止待ち設定処理(ステップS904):変動時間の終了時に、全図柄停止を指示する演出制御コマンド(特別図柄停止の演出制御コマンド)を受信していたら、図柄の変動を停止し停止図柄(確定図柄)を表示する制御を行う。
大当り表示処理(ステップS905):変動時間の終了後、確変大当り表示または通常大当り表示の制御を行う。
大当たり遊技中処理(ステップS906):大当たり遊技中の制御を行う。例えば、大入賞口開放前表示や大入賞口開放時表示の演出制御コマンドを受信したら、ラウンド数の表示制御等を行う。
この実施の形態では、可変表示装置9において、背景(図柄表示エリア以外の部分)に現れるキャラクタ等の表示による予告演出を行うことが可能である。また、可変表示装置9において、例えば、背景を振動表示したり背景画像を変化させることによる予告演出も用いられる。この実施の形態では、そのような予告演出を役物予告と呼ぶ。また、背景に現れるキャラクタ等の表示による予告演出を背景予告と呼ぶ。役物予告は、可変表示装置9における図柄の可変表示パターン(変動パターン)に対応して定められている。すなわち、特定の変動パターンによる可変表示が実行されるときに、特定の役物予告が行われる。変動パターンは遊技制御手段によって決定されるので、役物予告を行うか否かといずれの種類の役物予告を行うのかとは、遊技制御手段によって決定される。そして、背景予告を行うか否かと、背景予告の種類とは、表示制御手段によって決定される。
図64は、可変表示装置9において実行される背景予告の例を示す説明図である。この実施の形態では、可変表示装置9において、背景に現れるキャラクタ等の表示による4種類(背景予告1〜4)の予告演出を行うことが可能である。以下、単に「予告」と表現する場合には、背景予告を意味する。
図65は、図63に示された表示制御プロセス処理における予告選択処理(ステップS901)を示すフローチャートである。予告選択処理において、表示制御用CPU101は、まず、主基板31から受信した変動パターンコマンドによって、予告演出(背景予告)を行わない変動パターンが指定されているか否か確認する(ステップS911)。予告演出を行わない変動パターンが指定されている場合にはステップS921に移行する。
ステップS911において予告演出を行う可能性のある変動パターンが指定されていると判断した場合には、表示制御用CPU101は、予告乱数カウンタのカウント値を読み出し、読み出した値を予告決定用乱数値とする(ステップS912)。さらに、受信した変動パターン指定の表示制御コマンドに対応した予告選択テーブルを選択する(ステップS913)。予告選択テーブルは、変動パターン毎に設けられており、予告演出の実行の有無および予告演出の内容と、予告決定用乱数値とが対応付けして設定されているテーブルである。
そして、予告選択テーブルと予告決定用乱数とを比較し、予告を行うことに決定した場合には(ステップS915)、予告開始時間決定タイマをスタートする(ステップS916)。また、実行する予告の種類に応じたランプ制御コマンドや音制御コマンドをコマンド送信バッファに設定する(ステップS917)。なお、この例では、コマンド送信バッファにコマンドを設定した後は、書込ポインタを+1しておく。その後、プロセスフラグの値を全図柄変動開始処理に応じた値に更新する(ステップS921)。なお、設定されるランプ制御コマンドや音制御コマンドは、E000(H)〜E003(H)のいずれかである(図66参照)。
この実施の形態では、表示制御手段は、主基板31から変動パターン指定の表示制御コマンドを受信すると、独自に、予告演出(背景予告)を行うか否かと、予告の種類とを決定し、予告演出を行うことに決定した場合には、予告演出の種類を示すランプ制御コマンドや音制御コマンドをランプ制御基板35や音声制御基板70に送信する。ランプ制御基板35における発光体制御手段は、予告演出の種類を示すランプ制御コマンドの受信に応じて、ランプ・LEDによる演出を行う。また、音声制御基板70における音制御手段は、予告演出の種類を示す音制御コマンドの受信に応じて、音出力による演出を行う。従って、表示制御手段が独自に予告種類を決定する場合でも、発光体制御手段や音制御手段は、表示制御手段が可変表示装置9を用いて実行される予告演出と同期した演出を容易に行うことができる。
また、予告演出の種類を示すランプ制御コマンドや音制御コマンドは、後述するコマンド送信処理でランプ制御基板35や音声制御基板70に送信される。従って、表示制御基板80に搭載された表示制御手段に含まれる独自演出決定手段が演出内容を独自に決定した場合には、決定した演出内容を特定可能なランプ制御コマンドや音制御コマンドが、ランプ制御基板35や音声制御基板70に送信されることになる。
図66は、表示制御基板80からランプ制御基板35に送出されるランプ制御コマンドの内容例を示す説明図である。ランプ制御コマンドもMODEとEXTの2バイト構成である。図66に示す例において、コマンド80XX(H)(X=4ビットの任意の値)は、可変表示装置9における特別図柄の変動パターンすなわち可変表示装置9における表示結果導出動作に関わる演出内容に対応したランプ・LED(演出用のランプやLED等の発光手段)表示制御パターンを指定する変動中指定のランプ制御コマンドである。
コマンド9XXX(H)は、特別図柄の変動時や大当り遊技に関わらないランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンド9400(H)は、客待ちデモンストレーション時のランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までのランプ・LED表示制御パターンを指示するランプ制御コマンドである。発光体制御手段は、表示制御基板80から上述したランプ制御コマンドを受信すると図66に示された内容に応じてランプ・LEDの表示状態を変更する。
コマンドC1XX(H)は、普通図柄始動記憶表示器41の点灯個数を指示するランプ制御コマンドである。発光体制御手段は、表示制御手段からコマンドC1XX(H)を受信すると、普通図柄始動記憶表示器41における「XX(H)」で指定される個数の表示器を点灯状態とする。
コマンドC200(H)は、賞球ランプ51の表示状態に関するランプ制御コマンドである。発光体制御手段は、「C200(H)」のランプ制御コマンドを受信すると、賞球ランプ51の表示状態を1個の賞球が払い出されたときの表示としてあらかじめ定められた表示状態(例えば0.5秒などの所定期間点灯させる)とする。すなわち、コマンドC200(H)は、賞球が払い出されたことを遊技者等に報知するために設けられている発光体(賞球ランプ51)を制御することを示すコマンドである。
コマンドC300(H)およびC301(H)は、球切れランプ52の表示状態に関するランプ制御コマンドである。発光体制御手段は、「C300(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「C301(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドC300(H)およびC301(H)は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
コマンド「DXXX(H)」は、表示制御基板80へのセンサ入力にもとづいて作成されるランプ制御コマンドである。また、コマンド「EXXX(H)」およびコマンド「FXXX(H)」は、表示制御手段が、遊技制御手段からの表示制御コマンドの受信に関連して、独自に発生したランプ制御コマンドである。
コマンド「E000(H)」は、可変表示装置9において背景予告1が実行されるときに送信されるランプ制御コマンドである。コマンド「E001(H)」は、可変表示装置9において背景予告2が実行されるときに送信されるランプ制御コマンドである。コマンド「E002(H)」は、可変表示装置9において背景予告3が実行されるときに送信されるランプ制御コマンドである。コマンド「E003(H)」は、可変表示装置9において背景予告4が実行されるときに送信されるランプ制御コマンドである。ランプ制御手段は、コマンド「E0XX(H)」を受信すると、「XX(H)」で指定される種類の背景予告に応じたランプ・LED点灯制御を行う。「XX(H)」では、各ビット(複数ビットを含む)に対応して、例えば、出現するキャラクタの種類、キャラクタの出現タイミング、背景の指定などの各種の情報が示される。なお、各ビットデータがそれぞれ1の情報を示すようにしても、2以上のビットデータの組み合わせによって1の情報を示すようにしてもよい。また、MODEデータを構成する各ビットデータによっても各種の情報が示されるようにしてもよい。
表示制御基板80における表示制御手段は、コマンド「DXXX(H)」、およびコマンド「EXXX(H)」を除き、主基板31からMODEデータとEXTデータとを有する表示制御コマンドを受信すると、受信したMODEデータおよびEXTデータを、そのままランプ制御コマンドとしてランプ制御基板35に送信する。ただし、遊技制御手段からの表示制御コマンドのうち、発光体制御手段が制御する発光体に関わらないものは、ランプ制御コマンドとして送信されない。すなわち、表示制御手段は、遊技制御手段から表示制御コマンドを受信した場合に、発光体による制御に用いられる可能性のある場合(発光体による制御やフラグのセットなどのために実際に利用されるか否かは問わない)にのみ、遊技制御手段から受信した表示制御コマンドに対応したランプ制御コマンドを送信する。
図67は、表示制御基板80から音声制御基板70に送出される音制御コマンドの内容例を示す説明図である。音制御コマンドもMODEとEXTの2バイト構成である。図67に示す例において、コマンド80XX(H)(X=4ビットの任意の値)は、可変表示装置9における特別図柄の変動パターンすなわち可変表示装置9における表示結果導出動作に関わる演出内容に対応したスピーカ27からの音発生パターンを指定する変動中指定の音制御コマンドである。
コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までの音発生パターンを指示する音制御コマンドである。音制御手段は、表示制御基板80から上述した音制御コマンドを受信すると図67に示された内容に応じてスピーカ27の音出力状態を変更する。
コマンド「DXXX(H)」は、表示制御基板80へのセンサ入力にもとづいて作成される音制御コマンドである。また、コマンド「EXXX(H)」およびコマンド「FXXX(H)」は、表示制御手段が、遊技制御手段からの表示制御コマンドの受信に関連して、独自に発生した音制御コマンドである。
コマンド「E000(H)」は、可変表示装置9において背景予告1が実行されるときに送信される音制御コマンドである。コマンド「E001(H)」は、可変表示装置9において背景予告2が実行されるときに送信される音制御コマンドである。コマンド「E002(H)」は、可変表示装置9において背景予告3が実行されるときに送信される音制御コマンドである。コマンド「E003(H)」は、可変表示装置9において背景予告4が実行されるときに送信される音制御コマンドである。音制御手段は、コマンド「E0XX(H)」を受信すると、「XX(H)」で指定される種類の背景予告に応じた音発生制御を行う。
表示制御基板80における表示制御手段は、コマンド「DXXX(H)」、およびコマンド「EXXX(H)」を除き、主基板31からMODEデータとEXTデータとを有する表示制御コマンドを受信すると、受信したMODEデータおよびEXTデータを、そのまま音制御コマンドとして音声制御基板70に送信する。ただし、遊技制御手段からの表示制御コマンドのうち、音制御手段が制御するスピーカ27に関わらないものは、音制御コマンドとして送信されない。すなわち、表示制御手段は、遊技制御手段から表示制御コマンドを受信した場合に、音出力手段(スピーカ27)による制御に用いられる可能性のある場合(音出力手段による制御やフラグのセットなどのために実際に利用されるか否かは問わない)にのみ、遊技制御手段から受信した表示制御コマンドに対応した音制御コマンドを送信する。
なお、この実施の形態では、コマンド「DXXX(H)」、およびコマンド「EXXX(H)」として、常に発光体制御手段および音制御手段の両方に送信するものが例示されているが、発光体制御手段または音制御手段のいずれか一方にのみ送信されるものがあってもよい。
以下、ランプ制御コマンドや音制御コマンドの送信について説明する。なお、表示制御基板80が備えるRAMの所定領域には、コマンド送信バッファが設けられている。コマンド送信バッファには、発光体制御手段や音制御手段に送信されるランプ制御コマンドや音制御コマンド(具体的には2バイトのコマンドデータ)が一時格納される。コマンド送信バッファにおいて、ランプ制御コマンドや音制御コマンドの格納先は書込ポインタで指定され、読出先は読出ポインタで指定される。
図68は、図60に示されたメイン処理におけるコマンド送信処理(ステップS329)を示すフローチャートである。コマンド送信処理において、表示制御用CPU101は、まず、コマンド送信バッファに未送信のランプ制御コマンドや音制御コマンド(具体的は2バイトのコマンドデータ)が格納されているか否か確認する(ステップS351)。未送信のランプ制御コマンドや音制御コマンドが格納されているか否かは、書込ポインタと読出ポインタとにとって確認できる。双方が一致している場合には、未送信の制御コマンドが格納されていないことになる。未送信の制御コマンドが格納されていない場合には処理を終了する。
未送信の制御コマンドが格納されている場合には、コマンド送信バッファのうちの読出ポインタが指す領域から制御コマンドを読み出し(ステップS352)、出力データとして、読み出した制御コマンドの1バイト目をセットする(ステップS353)。また、出力先として制御コマンドのコマンドデータを出力するための出力ポートのアドレスをセットする(ステップS354)。
図69は、コマンド送信ルーチンの一構成例を示すフローチャートである。コマンド送信ルーチンにおいて、表示制御用CPU101は、出力先として指定されている出力ポートに、出力データを設定する(ステップS371)。そして、STB信号をオンする(ステップS372)。
次いで、ACK信号がオン状態になるのを監視するための監視回数カウンタにMをセットする(ステップS373)。Mの値は、発光体制御手段や音制御手段がSTB信号に応答してACK信号をオンするまでの処理時間に余裕を持たせた値に相当する。そして、監視回数カウンタの値をデクリメントしつつACK信号の状態を確認する(ステップS374,S375)。
ACK信号がオン状態になる前に監視回数カウンタの値が0になったら(ステップS376)、戻りコードとして「異常」を示す値をセットして(ステップS377)、処理を終了する。なお、戻りコードは、あらかじめ決められているレジスタにセットされる。
監視回数カウンタの値が0になる前にACK信号がオン状態になったら、STB信号をオフする(ステップS378)。そして、ACK信号がオフ状態になるのを監視するための監視回数カウンタにM(ステップS373で用いられる値と異なっていてもよい)をセットする(ステップS379)。次いで、監視回数カウンタの値をデクリメントしつつACK信号の状態を確認する(ステップS380,S381)。ACK信号がオフ状態になる前に監視回数カウンタの値が0になったら(ステップS382)、戻りコードとして「異常」を示す値をセットして(ステップS383)、処理を終了する。監視回数カウンタの値が0になる前にACK信号がオフ状態になったら、戻りコードとして「正常」を示す値をセットして(ステップS384)、処理を終了する。
以上のようなコマンド送信ルーチンによって、ランプ制御コマンドまたは音制御コマンドのコマンドデータのうちの1バイト分の送信が完了する。
表示制御用CPU101は、コマンド送信ルーチンが終了すると、受信コマンドの2バイト目をランプ制御基板35や音声制御基板70に送信するために、ステップS356以降の処理を行う。なお、コマンド送信ルーチンが正常終了でなければ(戻りコードが「異常」であれば)、例えば、「異常」を示す表示を可変表示装置9において行って動作を中断したりする。
ステップS356において、表示制御用CPU101は、出力データとして、制御コマンドの2バイト目をセットする。また、出力先として制御コマンドのコマンドデータを出力するための出力ポートのアドレスをセットする(ステップS357)。そして、コマンド送信ルーチンをコールする(ステップS358)。コマンド送信ルーチンが終了すると、読出ポインタを+1して(ステップS359)、ステップS351に戻る。なお、コマンド送信ルーチンが正常終了でなければ(戻りコードが「異常」であれば)、例えば、「異常」を示す表示を可変表示装置9において行って動作を中断したりする。
以上のようなコマンド送信ルーチンによって、ランプ制御コマンドや音制御コマンドのコマンドデータの送信が完了する。
次に、表示制御基板80からのコマンドにもとづいて制御を行う各制御基板35,70の動作について説明する。
図70は、ランプ制御基板35に搭載されている発光体制御手段を構成するランプ制御用CPU351が実行するメイン処理を示すフローチャートである。ランプ制御用CPU351は、メイン処理において、まず、レジスタ、ワークエリアを含むRAMおよび出力ポート等を初期化する初期化処理を実行する(ステップS401)。次いで、表示制御基板80からのランプ制御コマンドを受信する処理であるコマンド受信処理(ステップS402)、および受信したランプ制御コマンドを解析する処理を行う(ステップS403:コマンド解析処理)。
その後、ランプ制御用CPU351は、タイマ割込フラグの監視(ステップS404)を行うループ処理に移行する。そして、図71に示すように、タイマ割込が発生すると、ランプ制御用CPU351は、タイマ割込フラグをセットする(ステップS411)。メイン処理において、タイマ割込フラグがセットされていたら、ランプ制御用CPU351は、そのフラグをクリアするとともに(ステップS405)、ランププロセス更新処理(ステップS406)を行う。
この実施の形態では、遊技の進行に応じて点滅制御されるランプ・LEDの点灯パターンは、図72に示すようなランプデータに応じて制御される。ランプデータは、ROMに格納され、制御パターンの種類毎に用意されている(図66に示された特別図柄の変動時のランプ点灯パターンを指定するランプ制御コマンドおよび演出状況に応じて表示制御手段から送出されるその他の遊技演出に関するランプ制御コマンド毎に用意される。従って、予告演出を行う場合におけるそれぞれの予告種類毎に用意されている)。
例えば、表示制御基板80から受信したランプ制御コマンドが8000(変動パターン指定#1)であった場合には、コマンド上位バイトテーブルにおける80(H)に対応したデータ(4バイト)が参照される。そのデータの上位2バイトは、上位バイトが80(H)であるランプ制御コマンドを受信したときの処理が格納されているアドレスである。そして、図73に示すように、その処理において、コマンド上位バイトテーブルのデータにおける下位の2バイトの内容と受信したランプ制御コマンドのEXTデータとの和の値が示すランプデータ選択テーブルのデータが特定される。従って、受信したランプ制御コマンドの上位バイトが80(H)である場合に参照されるコマンド上位バイトテーブルにおける下位2バイトは、変動パターン指定に関するランプデータ選択テーブルの先頭アドレスに相当する。
ランプデータには、ランプ・LEDを点灯または消灯することを示すデータ、および点灯または消灯の期間(プロセスタイマ値)を示すデータが設定されている。すなわち、ランプ制御用データ領域には、発光体の点灯パターンを示すデータが格納されている。
ランププロセス更新処理(ステップS406)では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、ランプデータにおける次のアドレスに設定されているデータに応じてランプ・LEDを消灯または点灯させることに決定されるとともに、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには点灯/消灯の切替がなされたときであるから、ランプ・LEDを点灯または消灯のための信号が該当する出力ポートに出力される。
図74は、コマンド受信割込処理を示すフローチャートである。表示制御基板80からのランプ制御コマンドが出力されたことを示すSTB信号は、ランプ制御用CPU351の割込端子に入力する。STB信号が例えばローレベルに変化すると、ランプ制御用CPU351に割り込みがかかり、コマンド受信割込処理が実行される。コマンド受信割込処理では、ランプ制御用CPU351はコマンド受信割り込みフラグをセットする(ステップS422)。
図75は、図70に示されたメイン処理におけるコマンド受信処理を示すフローチャートである。コマンド受信処理において、ランプ制御用CPU351は、コマンド受信フラグがセットされているか否か確認する(ステップS431)。セットされていなければ処理を終了する。コマンド受信フラグがセットされている場合には、コマンド受信フラグをリセットし(ステップS432)、入力ポートを介してSTB信号が確かにオン状態であるか否か確認する(ステップS433)。STB信号がオン状態でなければ処理を終了する。
STB信号がオン状態であれば、入力ポートを介してランプ制御コマンド(具体的には2バイトのコマンドデータのうちの1バイト)を入力し、RAMに形成されているコマンド受信バッファに格納する(ステップS434)。そして、ACK信号をオン状態にする(ステップS435)。次いで、STB信号がオフ状態になったら(ステップS436)、ACK信号をオフ状態にする(ステップS437)。なお、ステップS436の処理を行うときに、所定時間経過してもSTB信号がオフ状態にならなかったら、所定のランプやLEDによって報知するように構成してもよい。
以上のような処理によって、ランプ制御コマンドが受信され、受信されたランプ制御コマンドがコマンド受信バッファに格納される。なお、この実施の形態では、ランプ制御コマンドは2バイト構成であるから、実際には、2回STB信号にもとづく割込が発生して、ステップS432〜S437の処理が2回実行されると、1つのランプ制御コマンドがコマンド受信バッファに格納されたことになる。なお、コマンド受信バッファは、例えば、表示制御基板80に搭載されている表示制御手段が有するコマンド受信バッファと同様に構成されている。また、この実施の形態では、コマンド受信割込処理ではコマンド受信フラグのセットのみがなされ、受信処理は割込処理外のコマンド受信処理で行われたが、コマンド受信割込において、コマンド受信処理も行うように構成してもよい。
コマンド受信バッファに格納されたランプ制御コマンドは、メイン処理におけるコマンド解析処理(ステップS403)において解析され、解析結果に応じてランププロセス更新処理(ステップS406)が実行される。コマンド解析処理(ステップS403)では、上述した図62に示す処理のうち、ステップS341、ステップS342、およびステップS346と同様の処理が実行される。
なお、ランプ制御手段は、表示制御手段から送信された賞球払出確認指定コマンドを受信すると、受信したコマンドに応じた処理として、賞球ランプ51を所定期間点灯させる制御を行う。これにより、遊技者に賞球の払い出しが行われたことを報知することができる。
図76は、音声制御基板70に搭載されている音制御手段を構成する音制御用CPU701が実行するメイン処理を示すフローチャートである。音制御用CPU701は、メイン処理において、まず、レジスタ、ワークエリアを含むRAMおよび出力ポート等を初期化する初期化処理を実行する(ステップS491)。次いで、表示制御基板80からの音制御コマンドを受信する処理であるコマンド受信処理(ステップS492)、および受信した音制御コマンドを解析する処理を行う(ステップS493:コマンド解析処理)。コマンド受信処理やコマンド解析処理では、上述した発光体制御手段における処理と同一の処理が実行されるため、ここでは詳細な説明は省略する。
その後、音制御用CPU701は、タイマ割込フラグの監視(ステップS494)を行うループ処理に移行する。そして、図77に示すように、タイマ割込が発生すると、音制御用CPU351は、タイマ割込フラグをセットする(ステップS497)。メイン処理において、タイマ割込フラグがセットされていたら、音制御用CPU701は、そのフラグをクリアするとともに(ステップS495)、音プロセス更新処理(ステップS496)を行う。
遊技の進行に応じて制御されるスピーカ27からの音出力パターンは、図78に示すような音データに応じて制御される。音データは、ROMに格納され、制御パターンの種類毎に用意されている(図67に示された特別図柄の変動時の音発生パターンを指定する音制御コマンドおよび演出状況に応じて表示制御手段から送出されるその他の演出に関する音制御コマンド毎に用意される。従って、予告演出を行う場合におけるそれぞれの予告種類毎に用意されている)。
音プロセス更新処理(ステップS496)では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、音声データにおける次のアドレスに設定されているデータに応じて出力音声に変更することが決定されるとともに、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには出力音声の切替がなされたときであるから、音声合成回路703にデータを出力するための出力ポートを介して、音声合成回路703に、新たな出力音声に対応したデータが出力される。
図79は、図柄の可変表示に関わる表示制御コマンドの送信タイミングを示すタイミング図である。遊技制御手段は、可変表示を開始させるときに、変動パターン指定の表示制御コマンドを送信する。変動パターン指定の表示制御コマンドを受信すると、表示制御手段は、受信コマンドにもとづく可変表示演出を開始するとともに、変動パターン指定のランプ制御コマンドおよび変動パターン指定の音制御コマンドを送信する。また、表示制御手段は、予告演出を行うことに決定した場合には(ステップS915のY)、予告演出の内容を指定するランプ制御コマンドおよび音制御コマンド(図66、図67に示すコマンドE000(H)〜コマンドE002(H)のいずれか)を送信する。
変動パターン指定のランプ制御コマンドを受信すると、発光体制御手段は、受信コマンドにもとづく発光体演出を開始する。また、発光体制御手段は、予告演出の内容を指定するランプ制御コマンドを受信すると、受信コマンドに応じた点灯パターンで発光体演出を実行する。
変動パターン指定の音制御コマンドを受信すると、音制御手段は、受信コマンドにもとづく音出力演出を開始する。また、音制御手段は、予告演出の内容を指定する音制御コマンドを受信すると、受信コマンドに応じた音発生パターンで音出力演出を実行する。
遊技制御手段は、変動パターン指定の表示制御コマンドを送信すると、続いて、左図柄指定、中図柄指定、右図柄指定の表示制御コマンドを送信する。そして、変動時間(可変表示期間)が終了すると、遊技制御手段は、左右中図柄を最終停止(確定)させるために全図柄の停止を指示する特別図柄停止(8F00(H))の表示制御コマンドを送信する。なお、全図柄の停止を指示するコマンドは発光体制御手段や音制御手段に対しては送信されないが、変動パターンを指定するコマンドにもとづく演出の演出期間が定められているので、表示制御手段による可変表示演出期間内に発光体演出や音出力演出も終了する。
以上説明したように、賞球と貸し球を区別しないで遊技球の払い出しを検出する払出個数カウントスイッチ301を備え、払出個数カウントスイッチ301の検出出力が払出制御手段にのみ入力させ、払出制御手段が、払出個数カウントスイッチ301からの検出信号を入力したときに、賞球の払出検出であるか貸し球の払出検出であるかを判定し、賞球の払出検出であると判定したときには賞球カウント信号を遊技制御手段に対して送信する構成としたので、遊技制御手段において賞球の未払出数を認識することができるようになるとともに、1つの払出個数カウントスイッチ301で賞球払出も貸し球の払出も検出するので、部品点数が削減され、遊技機のコストを低減させることができるという効果を有する。
また、上述した実施の形態では、払出制御手段は、遊技球の払い出しが停止されるエラー状態であっても、払出個数カウントスイッチ301からの検出信号を入力したときに、賞球の払出検出であると判定した場合には賞球カウント信号を遊技制御手段に対して送信するので、賞球の払い出しを検出したことを示す賞球カウント信号を遊技制御手段に対して確実に伝達することができる。
また、上述した実施の形態では、払出制御手段は、賞球の払出中でも貸し球の払出中でもないときに、払出個数カウントスイッチ301からの検出信号を入力したときは、払い出された遊技球が賞球であるとして、賞球カウント信号を遊技制御手段に送信するので、実行される頻度の高い賞球の払出であると判定して、賞球の払出を貸し球の払出と判定するというような間違いを抑止することができ、その結果、遊技制御手段にて賞球の払出数の管理をより確実に行うことができるようになる。
また、上述した実施の形態では、遊技制御手段が、払出指令信号を送信すると、総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行う構成としているので、すでに払い出しを指定した賞球について払い出しの指定が再度実行されることを防止することができる。また、賞球カウント信号の受信の有無によらずに払出指令信号で指定した払出数を減算する構成としているので、総賞球数格納バッファに記憶されている賞球数の減算処理を実行するための遊技制御手段の制御負担を軽減させることができる。
なお、上述した実施の形態では、上記のように払出指令信号の送信後、払出制御基板37側からの払出処理の完了を示す信号などの受信の有無によらずに総賞球数格納バッファに記憶されている賞球数の減算処理を実行することとし、遊技制御手段にて賞球の未払出数の正確な管理は行わない構成としていたが、遊技制御手段が、払出指令信号を送信したあと、賞球カウント信号の受信に応じて、総賞球数格納バッファに記憶されている賞球数から、実際に払い出されたことが確認された払出数を減算する減算処理を行う構成としてもよい。
この場合、遊技制御手段は、賞球制御処理(図28参照)にて、賞球制御信号を送信したあと(ステップS255)、払出処理の実行時間を計時する処理(ステップS256,S263,264)を行う変わりに、賞球カウント信号の受信回数を計数する処理を実行する。そして、賞球カウント信号の受信回数が払出指令信号で指定した賞球の払出数となったときに、総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する(ステップS265)ようにすればよい。上記のように構成すれば、遊技制御手段において賞球の未払出数を確実に管理することができるようになる。
図80は、上記の例における賞球待ち処理2を示すフローチャートである。この例では、CPU56は、賞球待ち処理2において、賞球カウント信号を受信したか否か確認する(ステップS267)。賞球カウント信号を受信すると、払出確認数を1加算する(ステップS268)。払出確認数は、賞球送信処理(図30参照)にて送信された払出指令信号が出力されたあとに払い出しが確認された賞球の数であり、例えばRAM55に設けられている払出確認数記憶領域に記憶される。次いで、CPU56は、払出確認数と、払出指令信号により指定した払出数(賞球個数バッファの内容、すなわち払出制御手段に指令した賞球払出個数)とを比較し、払出確認数が払出指令信号により指定した払出数に達していることを確認すると(ステップS269のY)、確かに払出制御手段に指令した個数分の賞球払出が完了したものとして、総賞球数格納バッファの内容から、賞球個数バッファの内容を減算する(ステップS265)。そして、賞球プロセスコードの値を3にして(ステップS266)、処理を終了する。
なお、払出制御手段に指令した個数分の賞球払出が完了したことを確認し、賞球個数バッファの内容を減算する処理を終えると、CPU56は、総賞球数格納バッファの内容が0でなければ、次の賞球の払出数を指定する新たな払出指令信号を送信する。
なお、上記の例では、指定した払出数の賞球の払い出しを確認したあとに総賞球数格納バッファに記憶されている賞球数をまとめて減算するようにしていたが、賞球カウント信号の受信回数を計数する処理にて、賞球カウント信号を受信する毎に、受信回数を1加算するとともに、総賞球数格納バッファに記憶されている賞球数を1減算していくようにしてもよい。上記のように遊技制御手段と払出制御手段との間の双方向通信により賞球の未払出数を管理する構成とすれば、払出制御手段からの賞球カウント信号にもとづいて、遊技制御手段において賞球の未払出数の管理を正確に行うことができる。すなわち、賞球の未払出数の管理を賞球カウント信号を利用して行わない場合には、賞球の未払出数の管理に関しては単方向通信により行われていることになるため、遊技制御手段において把握されている賞球の未払出数が必ずしも正確なものでないという問題がある。上記のように、双方向通信により遊技制御手段での賞球の未払出数の管理を行う構成とすれば、賞球が実際に払い出されたときに未払出数を減算することができるので、賞球の未払出数を正確に管理することができるようになる。
また、上述した実施の形態では、電源基板910からのローレベルのリセット信号が、各演出制御基板80,35,70のリセット端子に入力されたことにもとづいて、各演出制御基板80,35,70のマイクロコンピュータがそれぞれシステムリセットされる構成としていたが、ハイレベルのNAND出力信号が各演出制御基板80,35,70のリセット端子に入力されたことにもとづいて、各演出制御基板80,35,70のマイクロコンピュータがそれぞれシステムリセットされる構成とした場合には、各演出制御基板80,35,70の一部または全部において、ウォッチドッグタイマ回路の出力と電源基板910からのリセット信号とのNAND出力がリセット端子に入力されるようにしてもよい。
図81は、ランプ制御基板35と表示制御基板80において、ウォッチドッグタイマ回路の出力とリセット信号とのNAND出力がリセット端子に入力され、リセット端子にハイレベルのNAND出力信号が入力したことにもとづいて、各演出制御基板80,35のマイクロコンピュータがそれぞれシステムリセットされる構成とした場合の例を示すブロック図である。
この例では、図81に示すように、ランプ制御基板35に、ウォッチドッグタイマとして機能するカウンタ(ウォッチドッグタイマ回路)357が設けられる。ウォッチドッグタイマ回路357は、発振回路359の出力パルスをカウントし、カウントアップすると、Q出力としてハイレベルの1パルスを発生する。そのパルス信号は、反転回路358で論理反転され、NAND回路360に入力される。NAND回路360の入力端子には、電源基板910からのリセット信号と、ウォッチドッグタイマ回路357からのQ出力とが入力される。NAND回路360の出力信号(NAND出力信号)は、ランプ制御用CPU351のリセット端子に供給される。なお、ランプ制御用CPU351からシステムクロックまたはその分周クロックを出力するように設定し、そのクロックを、ウォッチドッグタイマ回路357の入力クロック信号としてもよい。
なお、ランプ制御用CPU351が発光体制御を行っているときには、定期的にクリアパルスがウォッチドッグタイマ回路357に与えられる。クリアパルスの出力周期は、ウォッチドッグタイマ回路357がカウントアップするまでの時間よりも短い。従って、ランプ制御用CPU351が、通常の発光体制御を行っているときにウォッチドッグタイマ回路357のQ出力にパルスが現れることはない。
また、この例では、図81に示すように、表示制御基板80に、ウォッチドッグタイマとして機能するカウンタ(ウォッチドッグタイマ回路)111が設けられる。ウォッチドッグタイマ回路111は、発振回路113の出力パルスをカウントし、カウントアップすると、Q出力としてハイレベルの1パルスを発生する。そのパルス信号は、反転回路112で論理反転され、NAND回路114に入力される。NAND回路114の入力端子には、電源基板910からランプ制御基板35を介して供給されるリセット信号と、ウォッチドッグタイマ回路111からのQ出力とが入力される。NAND回路114の出力信号(NAND出力信号)は、表示制御用CPU101のリセット端子に供給される。なお、表示制御用CPU101からシステムクロックまたはその分周クロックを出力するように設定し、そのクロックを、ウォッチドッグタイマ回路111の入力クロック信号としてもよい。
なお、表示制御用CPU101が表示制御を行っているときには、定期的にクリアパルスがウォッチドッグタイマ回路111に与えられる。クリアパルスの出力周期は、ウォッチドッグタイマ回路111がカウントアップするまでの時間よりも短い。従って、表示制御用CPU101が、通常の表示制御を行っているときにウォッチドッグタイマ回路111のQ出力にパルスが現れることはない。
この例では、リセット信号がローレベルとなったことに応じて、NAND回路360,114からハイレベルのNAND出力信号が出力される。また、ウォッチドッグタイマ回路357,111からハイレベル信号がQ出力されたことに応じて、NAND回路360,114からハイレベルのNAND出力信号が出力される。ハイレベルのNAND出力信号が演出制御用CPU351,101に入力すると、演出制御用CPU351,101にシステムリセットがかかる。なお、音制御基板70を同様に構成してもよい。
上記のように構成すれば、マイクロコンピュータ(演出制御用CPU351,101,701)が暴走してしまうことを簡単な構成で防止することができる。また、簡単な基板構成であるため、基板35,70,80に不正回路を搭載するなどの不正を容易に発見することができる。
なお、上記の例では、ハイレベル信号がリセット端子に入力されたことにもとづいてシステムリセットされるマイクロコンピュータを搭載した各演出制御基板80,35,70を例に説明したが、上記の例において、NAND回路360,114の出力側に反転回路を設ける構成とすれば、ローレベル信号がリセット端子に入力されたことにもとづいてシステムリセットされるマイクロコンピュータを搭載した各演出制御基板80,35,70に適用することができるようになる。
また、上記の例では、電源基板910からのロレーベルのリセット信号と、ウォッチドッグタイマ回路357,111からQ出力されたハイレベル信号が反転されたローレベル信号との2系統のシステムリセットさせるための信号を、簡単な構成でマイクロコンピュータに入力させることができる。
なお、上記の例では、NAND回路360,114の出力信号をマイクロコンピュータのリセット端子に入力させる構成としていたが、ローレベル信号がリセット端子に入力されたことにもとづいてシステムリセットされるマイクロコンピュータを搭載した各演出制御基板80,35,70とし、NAND回路360,114の変わりにOR回路を設け、電源基板910からのロレーベルのリセット信号と、ウォッチドッグタイマ回路357,111からQ出力されたハイレベル信号が反転されたローレベル信号とのいずれかが入力されたときに、OR回路出力としてローレベル信号を出力する構成としてもよい。このように構成した場合であっても、2系統のシステムリセットさせるための信号を、簡単な構成でマイクロコンピュータに入力させることができる。
また、上述した実施の形態では、遊技制御手段が、払出制御手段からの賞球カウント信号の受信中は払出指令信号を送信しないように制御するとともに、払出制御手段が、遊技制御手段からの払出指令信号の受信中は賞球カウント信号を送信しないように制御する構成とされているので、遊技制御手段から払出制御手段に送信される払出指令信号と、払出制御手段から遊技制御手段に送信される賞球カウント信号とが競合してしまうことを防止することができる。よって、払出制御手段および遊技制御手段において、それぞれ、制御信号(払出指令信号、賞球カウント信号)の取りこぼしが発生することが防止される。
また、上述した実施の形態では、遊技制御手段が、賞球カウント信号の受信に応じて、賞球ランプ51を点灯させるための処理を実行する構成としたので、賞球ランプ51が払出制御手段(すなわち払出個数カウントスイッチ301からの検出信号を受ける制御手段)によって制御されていなくても、賞球が払い出されたこと、あるいは払い出された遊技球が賞球であることを、遊技者や遊技店員に対して報知することができるようになる。なお、上記の例では、賞球ランプ51を点灯させるための処理として、賞球払出確認指定コマンドを表示制御基板80に送信する処理が実行される。すると、表示制御基板80は、受信した賞球払出確認指定コマンドをランプ制御基板35に送信する。賞球払出確認指定コマンドを受信すると、ランプ制御基板35のランプ制御用CPU351は、賞球ランプ51を所定期間点灯させる制御を実行する。ただし、賞球ランプ51を遊技制御手段が制御する構成とし、遊技制御手段が、賞球カウント信号の受信に応じて、賞球ランプ51を点灯させるための駆動処理を実行するようにしてもよい。さらに、賞球ランプ51以外の発光体や表示装置によって賞球が払い出されたことを報知するようにしてもよい。
また、上述した実施の形態では、球切れ状態や下皿満タン状態などの発生によりエラービットがセットされているとき(ステップS621)には、払出開始待ち処理(図51参照)のステップS622以降の処理が実行されず、遊技球の払出処理を実行しない払出禁止状態とする構成としたので、異常が発生している状態で遊技球の払出処理が実行されてしまうことを防止することができる。従って、有効に払い出されない事態が発生することを防止することができる。
また、上述した実施の形態では、表示制御手段が、遊技制御手段からの第1の制御信号を受信する処理と、他の演出制御手段に対して第2の制御信号を送信する処理とを実行する構成とされている。すなわち、サブ基板とサブサブ基板を備える構成とし、サブサブ基板にはサブ基板から制御信号が送信される構成としているので、サブ基板である表示制御基板80がサブサブ基板である他の演出制御基板35,70に対して制御内容の指示を行うことができるようになり、遊技制御手段の制御負担を軽減させることができる。なお、表示制御基板80以外の演出制御基板35,70がサブ基板とされていてもよい。
また、上述した実施の形態では、遊技制御手段および払出制御手段が、電源基板910からの電源断信号の入力に応じて制御状態を保存するための電源断処理(図16,図17)を実行する状態に移行し、電源断処理が完了して待機ループ状態となっているときに、電源基板910からのリセット信号の入力に応じてシステムリセットされる構成とされているので、電力供給が低下したときに、遊技制御手段および払出制御手段それぞれにおいて制御状態を保存することができる。
また、上述した実施の形態では、電源基板910が、サブ基板(表示制御基板80)を介すことなく、サブサブ基板(例えばランプ制御基板35)に対してリセット信号を送信するように構成されているので、サブ基板とサブサブ基板とにおけるシステムリセットのタイミングを同じタイミングとすることができる。
また、上述した実施の形態では、表示制御手段が、遊技制御手段からの第1の制御信号にもとづいて、表示画像を所定タイミング毎に書き換えることにより画像表示装置の制御を行い、複数の演出制御手段が、それぞれ、入力した制御信号にもとづいて識別情報の可変表示に応じた演出を実行し、表示制御手段が、他の演出制御手段に対し、画像表示装置における表示画像の書き換えタイミングに同期させて第2の制御信号を送信する構成としたので、表示制御手段と他の演出制御手段とで実行される演出の同期ずれが極力防止される。
すなわち、所定期間毎(33ms毎)に実行されるVブランク割込みにもとづくコマンド送信処理(ステップS329)を実行する構成とし、表示制御手段が発光体制御手段や音制御手段に対して可変表示装置9における表示画像の書き換えタイミングに同期して(この同期したタイミングは、33ms毎に発生する特別図柄の書き換えタイミングで実行されるコマンド送信処理(ステップS329)の実行タイミングを意味する。すなわち、33ms毎に実行されるコマンド送信処理(ステップS329)の実行タイミングが、「同期したタイミング」ということになる。)ランプ制御コマンドや音制御コマンドを出力する構成としたので、表示制御基板80とランプ制御基板35や音声制御基板70とで実行される演出の同期ずれを極力防止することができる。上述した実施の形態では、変動パターンを指定する表示制御コマンドを受信した場合、次に発生した可変表示装置9における表示画像の書き換えタイミングで、変動パターンを指定するランプ制御コマンドおよび音制御コマンドを送信する構成となっている。よって、表示制御基板80とランプ制御基板35や音声制御基板70とで実行される演出の同期ずれを極力防止することができるのである。例えば、可変表示装置9に表示されている動画像の動作タイミングと、スピーカ27からの音声出力タイミングと、ランプなどの発光体の明滅タイミングとが同期するようになる。
また、上述したように、表示制御手段が、1回のコマンド送信処理(ステップS329)で関連するランプ制御コマンドと音制御コマンド(例えば1の変動パターンを示す表示制御コマンドにもとづいて送信されるランプ制御コマンドと音制御コマンド)を出力するように構成されているので、ランプ制御基板35と音声制御基板70との間における演出の同期ずれを防止することができる。すなわち、ステップS344、ステップS917にてセットされたランプ制御コマンドおよび音制御コマンドを、33ms毎に実行されるコマンド送信処理(ステップS327)にて出力する構成としているので、同一の可変表示演出に応じた演出内容を示すランプ制御コマンドおよび音制御コマンドを同時に出力することができるので、ランプ制御基板35と音声制御基板70との間の演出の同期ずれが防止される。
また、上述したように、ランプ制御コマンドや音制御コマンドに、表示制御コマンドにもとづいて実行される可変表示パターンに関連する発光体やスピーカ27を用いた演出(識別情報の可変表示に応じた演出)内容を示すコマンド(演出パターンコマンド(コマンド80XX(H)))を含む構成とされているので、可変表示に関連した演出の同期ずれを防止することができる。
また、上述したように、表示制御手段が、ランプ制御基板35と音声制御基板70に演出パターンを指示する場合に、受信した変動パターンコマンドと同一構成のコマンド(MODEデータおよびEXTデータが同一のコマンド)を出力する構成(図62に示すコマンド解析処理にて、ランプ制御基板35や音声制御基板70に送信するコマンドを受信した場合には(ステップS343のY)、受信したコマンドをそのまま送信バッファに設定し(ステップS344)、図68に示すコマンド送信処理でランプ制御基板35や音声制御基板70に送信する構成。)としたので、新たにコマンドを作成する処理を実行する必要がなく、表示制御基板80の制御負担が軽減される。
また、上述したように、表示制御手段が、ランプ制御基板35と音声制御基板70に演出パターンを指示する場合に、変動パターンを示す表示制御コマンドを受信したあとの次の表示画像の書き換えタイミング(割込処理によって変動パターンコマンドを受信したあと、ステップS324に示すコマンド解析処理の実行後に到来したVブランク割込タイミングで実行されるステップS329のコマンド送信処理)において、演出パターンを指示するランプ制御コマンドおよび音制御コマンドを出力する構成としたので、可変表示に関連する発光体や音での演出の開始を一定のタイミングに合わせることができる。
また、上述した実施の形態では、遊技制御手段が、表示制御手段に対し、識別情報の可変表示の内容を示す変動パターンコマンドを送信し、表示制御手段が、変動パターンコマンドを受信したことにもとづいて、他の演出制御手段に対し、受信した当該変動パターンコマンド、および識別情報の可変表示に応じた演出内容を示す第2の制御信号(予告演出の内容を示すコマンド)を送信し、第2の制御信号が示す演出内容は、表示制御手段が、入力された当該変動パターンコマンドにもとづいて独自に決定した演出内容である構成とされているので、遊技制御手段の制御負担が軽減されるとともに、表示制御手段と他の演出制御手段とで演出内容が同期した演出が実行できる。
すなわち、予告演出に関する決定を予告選択処理(図65参照)によって表示制御手段が独自に行い、ステップS917に示した処理によってランプ制御コマンドや音制御コマンドを独自に設定して送信する構成としたので、遊技制御手段の制御負担が軽減される。
また、上述したように、表示制御基板80が、可変表示における表示画面の書き換えタイミング(VDP109からのINT信号の入力タイミング。具体的には、ステップS306に示す表示制御プロセス処理の実行タイミング。)にあわせて、主基板31からの表示制御コマンドにもとづいて実行される可変表示演出の内容(予告演出の内容)について決定する処理(予告選択処理(図65参照))を行う構成としたので、予告演出の内容を決定するための制御プログラムの作成が容易となる。
また、上述したように、表示制御基板80と、ランプ制御基板35や音声制御基板70との間でSTB信号、コマンドデータ、およびACK信号のやりとりを行うために双方向通信を行う構成としたので、表示制御基板80とランプ制御基板35や音声制御基板70との間で認識のずれが発生することを防止することができ、ランプ制御コマンドや音制御コマンドの取りこぼしをなくすことができる。
また、上述したように、表示制御基板80、ランプ制御基板35、および音声制御基板70が、演出パターンを示すコマンド(80XX(H))の受信にもとづいて、それぞれ可変表示に関連する演出を開始するように構成されているので、演出パターンコマンドを出力する主基板31が演出の開始タイミングを管理することができる。
また、上述したように、表示制御基板80が、ランプ制御基板35および音声制御基板70に対し、受信した表示制御コマンドと同一構成のランプ制御コマンドおよび音制御コマンドを直ちに出力(受信および解析したあとに実行されるコマンド送信処理(ステップS329)にて出力)するように構成されているので、表示制御基板80、ランプ制御基板35、および音声制御基板70にてそれぞれ実行される可変表示に関連する演出の同期ずれを防止することができる。
また、上述したように、表示制御基板80が独自に作成するコマンド(例えばEXXX(H))は、可変表示演出に関連する演出としてあらかじめ用意されている複数の種類(例えば予告1〜予告4)のうち、いずれの演出を実行するかを示す情報を含むように構成されているので、演出内容の決定に関する主基板31の制御負担が軽減されるとともに、豊富な演出を実行することが可能となるので遊技の興趣を向上させることができる。
さらに、上述したように、主基板31から表示制御基板80に送信される表示制御コマンドに、表示制御基板80における演出制御には用いられずに、そのままランプ制御基板35や音声制御基板70にランプ制御コマンドや音制御コマンドとして送信されるだけのコマンド(すなわち、表示制御基板80ではスルーされるコマンド)が含まれている構成としたので、コマンドの送信に関する処理を共通化することができる。また、発光体やスピーカ27による制御指示のみを行うコマンドによって、表示制御基板80にて無駄な制御が行われることはない。
なお、上述した実施の形態では、ランプ制御基板35と音声制御基板70を別個に設けていたが、ランプ制御基板35および音声制御基板70の機能を備えた1つの基板を設ける構成としてもよい。この場合、1つのマイクロコンピュータによって発光体およびスピーカ27が制御されるようにすればよい。
また、上述した実施の形態では、Vブランク割込みにもとづく処理が33ms毎に実行される構成としていたが、「33ms」は一例であり例えば16.7ms(1秒間に60フレームの場合)などの他の期間毎にVブランク割込みにもとづく処理が実行されるようにしてもよい。
また、上記の実施の形態では、遊技制御手段は、電力供給開始時に、払出制御手段に対して、遊技機への電力供給が開始したことを示す制御信号(接続確認信号)を出力するように構成されているので、電力供給が開始して遊技制御手段の制御動作が開始したことを払出制御手段に認識させることができる。
なお、上記の実施の形態では、賞球REQ信号によって払出要求を行い、賞球制御信号によって払出数が指定されたが、賞球制御信号によって払出要求および払出数の指定を行うように構成してもよい。その場合、払出制御手段は、賞球制御信号が出力されているときは、同時に払出要求がなされていると判定すればよい。そのような構成によれば、賞球REQ信号を用いる必要はない。
また、上記の実施の形態では、払出制御手段は、払出モータ289が払出予定数分回転したことを検出したら賞球払出の終了と決定したが、払出モータ位置センサによる検出回数が払出予定数に達したら賞球払出の終了と決定してもよい。すなわち、払出制御手段は、払出手段の動作量(この例では、払出モータ289の回転量または払出モータ位置センサによる検出回数)を検出することによって払い出しが完了したか否かを判定するように構成されていてもよい。
さらに、上記の実施の形態では、払出制御手段は、払出個数カウントスイッチ301の検出信号にもとづいて遊技球が払い出されたことを確認したが、払出モータ位置センサの出力信号にもとづいて遊技球が払い出されたことを確認するようにしてもよい。
また、払出制御手段が、払出手段の駆動部(例えば払出モータ289、カム等)の動作量を検出し、その検出にもとづいて払い出しに関わる異常(払出ユニットエラー)が発生したか否かを判定するように構成されていてもよい。そのように構成すれば、払い出しに関わる異常を確実に検出することができる。
また、上記の実施の形態では、球払出装置97は球貸しも賞球払出も実行可能な構成であったが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。
また、上述した実施の形態では、球切れ状態や下皿満タン状態である場合などに払出禁止状態にしたが、他の払い出しを行うことが好ましくない場合や払い出しを行うことができない場合にも払出禁止状態に設定してもよい。例えば、ガラス扉枠2が開状態となって、そのことを検出するためのドア開放スイッチから検出信号が出力されているときなどにも払出禁止状態に設定されるようにしてもよい。
また、上述した実施の形態においては、各種の信号のやりとりに関し、送信/受信や出力/入力という異なる表現を用いているが、送信と出力あるいは受信と入力は、ほぼ同じ意味で用いており、これらの表現は相互に入替可能であることは言うまでもない。なお、制御コマンドなどの多くの意味を持つ信号のやりとりについて送信/受信とするとともに、オン/オフの切り換えによって情報を伝達するための信号のやりとりについて出力/入力として、送信/受信と出力/入力とを使い分けしている場合もある。この場合においても、それらの表現は相互に入替可能である。
また、上述した実施の形態において、信号のオン/オフ状態は、ハイレベル状態/ローレベル状態であってもよく、逆に、ローレベル状態/ハイレベル状態であってもよい。
なお、上述した実施の形態では、以下の遊技機が開示されている。
遊技制御用マイクロコンピュータが、遊技機に対する電力供給が開始され遊技制御処理が実行可能状態になったときに、遊技制御処理の実行開始(具体的には、例えば、ステップS14,S94などにおける制御コマンドの出力処理を含む遊技制御処理の実行開始)を当該遊技制御処理が実行可能状態となったときから少なくとも払出制御処理(あるいは表示制御処理、ランプ制御処理、音声制御処理)が実行開始されるときまで(具体的には、主基板31からの制御コマンドの受信処理を実行可能な状態となったあとであればよく、例えばステップS715にて割込許可されたあとまで遅延させることが考えられる。)の所定期間遅延させる遅延処理(例えばステップS41〜S46)を実行することを特徴とする遊技機。なお、遅延処理にて、例えば、遊技制御処理の実行開始後の制御信号の送信処理(例えば、ステップS14,S94)の実行開始を、当該遊技制御処理が実行可能状態となったときから少なくとも払出制御処理(あるいは表示制御処理、ランプ制御処理、音声制御処理)が実行開始され制御信号の受信可能状態となったあとまで(例えばステップS715にて割込許可状態とされたあとまで)の所定期間遅延させるようにしてもよい。上記のように構成すれば、遊技機の電力供給が開始されたときにサブ基板やサブサブ基板に搭載されている制御手段が、遊技制御手段からの制御信号を確実に受信することができる。
また、上述した各実施の形態では、記録媒体処理装置(カードユニット50)で使用される記録媒体が磁気カード(プリペイドカード)であったが、磁気カードに限られず、非接触型あるいは接触型のICカードであってもよい。また、記録媒体処理装置が識別符号にもとづいて記録情報を特定できる構成とされている場合には、記録媒体は、記録情報を特定可能な識別符号などの情報を少なくとも記録媒体処理装置が読み取り可能に記録できるようなものであってもよい。さらに、記録媒体は、例えばバーコードなどの所定の情報記録シンボル等が読み取り可能にプリントされたものであってもよい。また、記録媒体の形状は、カード状のものに限られず、例えば円盤形状や球状、あるいはチップ形状など、どのような形状とされていてもよい。
上記の各実施の形態のパチンコ遊技機は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。