実施の形態1.
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿(下皿)4と遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
遊技領域7の中央付近には、それぞれが演出用の飾り図柄を可変表示する複数の可変表示部を含む演出表示装置(飾り図柄表示装置)9が設けられている。演出表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。演出表示装置9は、特別図柄表示器8による特別図柄の可変表示期間中に、装飾用(演出用)の図柄としての飾り図柄の可変表示を行う。飾り図柄の可変表示を行う演出表示装置9は、図柄制御基板に搭載されている演出制御用マイクロコンピュータによって制御される。
演出表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち保留記憶(始動記憶または始動入賞記憶ともいう。)数を表示する4つの特別図柄保留記憶表示器18が設けられている。特別図柄保留記憶表示器18は、保留記憶数を入賞順に4個まで表示する。特別図柄保留記憶表示器18は、始動入賞口14に始動入賞があるごとに、点灯状態のLEDの数を1増やす。そして、特別図柄保留記憶表示器18は、特別図柄表示器8で可変表示が開始されるごとに、点灯状態のLEDの数を1減らす(すなわち1つのLEDを消灯する)。具体的には、特別図柄保留記憶表示器18は、特別図柄表示器8で可変表示が開始されるごとに、点灯状態をシフトする。なお、この例では、始動入賞口14への入賞による始動記憶数に上限数(4個まで)が設けられているが、上限数を4個以上にしてもよい。
演出表示装置9の上部には、識別情報としての特別図柄を可変表示する特別図柄表示器(特別図柄表示装置)8が設けられている。この実施の形態では、特別図柄表示器8は、例えば0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。特別図柄表示器8は、遊技者に特定の停止図柄を把握しづらくさせるために、0〜99など、より多種類の数字を可変表示するように構成されていてもよい。また、演出表示装置9は、特別図柄表示器8による特別図柄の可変表示期間中に、装飾用(演出用)の図柄としての飾り図柄の可変表示を行う。
演出表示装置9の下方には、始動入賞口14を形成する可変入賞球装置15が設けられている。可変入賞球装置15は、羽根を開閉可能に構成され、羽根が開放しているときに遊技球が入賞し易い状態(開状態)となり、羽根が開放していないとき(閉じているとき)に遊技球が入賞し難い状態(閉状態)となる。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。可変入賞球装置15は、ソレノイド16によって開状態にされる。なお、可変入賞球装置15の真上に第1始動入賞口を設け、可変入賞球装置15を第2始動入賞口としてもよい。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態に制御される開閉板を用いた特別可変入賞球装置20が設けられている。特別可変入賞球装置20は大入賞口を開閉する手段である。特別可変入賞球装置20に入賞し遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域:特別領域)に入った入賞球はV入賞スイッチ22で検出された後カウントスイッチ23で検出され、他方の領域に入った遊技球は、そのままカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。なお、この実施の形態では、特別可変入賞球装置20内のV入賞領域に遊技球が入り、V入賞スイッチ22で遊技球が検出されたことを大当りのラウンド継続の条件としているが、特別可変入賞球装置20内にV入賞領域を設けずに、予め設定された回数のラウンドを自動的に継続させるようにしてもよい。
遊技球がゲート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や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。なお、各入賞口29,30,33,39に入賞した遊技球を入賞スイッチで検出する構成に代えて、遊技球が所定領域(例えばゲート)を通過したことを検出スイッチで検出する構成としてもよい。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口26がある。また、この実施の形態では、図2に示すように、アウト口26内にアウト球を検出するためのアウト球検出スイッチ26aが設けられている。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
そして、この例では、左枠ランプ28bの近傍に、賞球払出中に点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、「カードユニット」という。)50が、パチンコ遊技機1に隣接して設置されている。
カードユニット50には、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニットを解放するためのカードユニット錠が設けられている。
遊技機には、遊技者が打球操作ハンドル5を操作することに応じて駆動モータを駆動し、駆動モータの回転力を利用して遊技球を遊技領域7に発射する打球発射装置550(図3参照)が設けられている。打球発射装置から発射された遊技球は、遊技領域7を囲むように円形状に形成された打球レール551(図3参照)を通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、特別図柄表示器8において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、保留記憶数を1増やす。
特別図柄表示器8における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄(停止図柄)が大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、特別可変入賞球装置20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、特別可変入賞球装置20の開放中に遊技球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し特別可変入賞球装置20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。また、V入賞領域を設けずに、特別可変入賞球装置20の開放を常に決定されたラウンド数の最後のラウンドまで(例えば、15ラウンドまで)許容するようにしてもよい。
停止時の特別図柄表示器8における特別図柄が確率変動を伴う大当り図柄(確変図柄)である場合には、次に大当りになる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態になる。
遊技球がゲート32を通過すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。
また、下皿を形成する部材には、例えば下皿本体の上面における手前側の所定位置(例えば下皿の中央部分)などに、遊技者が把持して傾倒操作が可能なスティックコントローラ31Aが取り付けられている。スティックコントローラ31Aは、遊技者が把持する操作桿を含み、操作桿の所定位置(例えば遊技者が操作桿を把持したときに操作手の人差し指が掛かる位置など)には、トリガボタンが設けられている。トリガボタンは、遊技者がスティックコントローラ31Aの操作桿を操作手(例えば左手など)で把持した状態において、所定の操作指(例えば人差し指など)で押引操作することなどにより所定の指示操作ができるように構成されていればよい。操作桿の内部には、トリガボタンに対する押引操作などによる所定の指示操作を検知するトリガセンサが内蔵されていればよい。
スティックコントローラ31Aの下部における下皿の本体内部などには、操作桿に対する傾倒操作(第1の動作)を検知する傾倒方向センサユニットが設けられていればよい。例えば、傾倒方向センサユニットは、パチンコ遊技機1と正対する遊技者の側からみて操作桿の中心位置よりも左側で遊技盤6の盤面と平行に配置された2つの透過形フォトセンサ(平行センサ対)と、この遊技者の側からみて操作桿の中心位置よりも右側で遊技盤6の盤面と垂直に配置された2つの透過形フォトセンサ(垂直センサ対)とを組合せた4つの透過形フォトセンサを含んで構成されていればよい。
上皿を形成する部材には、例えば上皿本体の上面における手前側の所定位置(例えばスティックコントローラ31Aの上方)などに、遊技者が押下操作などにより所定の指示操作を可能なプッシュボタン31Bが設けられている。プッシュボタン31Bは、遊技者からの押下操作などによる所定の指示操作(第2の動作)を、機械的、電気的、あるいは、電磁的に、検出できるように構成されていればよい。プッシュボタン31Bの設置位置における上皿の本体内部などには、プッシュボタン31Bに対してなされた遊技者による第2の動作を検知するプッシュセンサ35Bが設けられていればよい。このように、この実施の形態では、第1の動作と第2の動作とで遊技者の操作態様が異なるものとなっている。
図3は、打球発射機構を説明するための説明図である。図3に示すように、打球発射装置550から発射された遊技球は、打球発射レール552を通って打球発射口553から打球レール551に投入された後、打球レール551を通って遊技領域7に投入される。また、この実施の形態では、図3に示すように、打球発射口553の付近に打球発射装置550から発射された遊技球を検出するための発射球検出スイッチ24が設けられている。
なお、駆動モータの回転力が十分でなく打球発射装置550から発射された遊技球の打力が弱い場合には、発射された遊技球が遊技領域7まで到達することができず、打球レール551を逆戻りしてファール球となる場合がある。そのため、図3に示すように、打球発射機構にはファール球回収口510が設けられており、打球レール551を逆戻りするファール球を回収するようになっている。また、この実施の形態では、図3に示すように、ファール球回収口510内にファール球を検出するためのファール球検出スイッチ510aが設けられている。
なお、この実施の形態では、図2に示すようにアウト口26にアウト球検出スイッチ26aを設けるとともに、図3に示すようにファール球回収口510にもファール球検出スイッチ510aを設ける場合を示しているが、アウト球検出スイッチ26aおよびファール球検出スイッチ510aを設けないように構成してもよいし、アウト球検出スイッチ26aまたはファール球検出スイッチ510aのいずれか一方のみを設けるように構成してもよい。
次に、パチンコ遊技機1の裏面の構造について図4を参照して説明する。図4は、遊技機を裏面から見た背面図である。
図4に示すように、遊技機裏面側では、演出表示装置9を制御する演出制御用マイクロコンピュータが搭載された演出制御基板80を含む演出表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。なお、演出表示制御ユニット49は、演出制御基板80とともに、各種装飾LED、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cを点灯制御するランプドライバ基板35と、スピーカ27からの音発生を制御する音声制御基板70とを含む。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1における主基板31および各制御基板(ランプドライバ基板35、音声制御基板70、演出制御基板80および払出制御基板37)や遊技機に設けられている各電気部品(電力が供給されることによって動作する部品)への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチが設けられている。さらに、露出部分における電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。なお、この実施の形態では、主基板31は枠側に設けられているが、盤側に設けられていてもよい。その場合、後述するような主基板31と払出制御基板37との間の通信をシリアル通信で行うことにより、盤を交換する際の配線の取り回しが容易になる。
なお、各制御基板には、制御用マイクロコンピュータを含む制御手段が搭載されている。制御手段は、遊技制御手段等からのコマンドとしての指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、演出表示装置9、ランプやLEDなどの発光体、スピーカ27等)を制御する。以下、主基板31を制御基板に含めて説明を行うことがある。その場合には、制御基板に搭載される制御手段は、遊技制御手段と、遊技制御手段等からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。なお、球払出装置97は、払出ケース40Aに覆われ、遊技球を誘導する通路と払出モータ289(例えば、ステッピングモータ等によって実現される)により駆動されるスプロケット等によって誘導された遊技球を上皿や下皿に払い出すための装置であって、払い出された賞球をカウントする払出個数カウントスイッチ等も一部として構成されている。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子および球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)36が設置されている。
貯留タンク38に貯留された遊技球は誘導レール39を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になると、遊技球は、余剰球通路を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー(図示せず)が貯留状態検出手段としての満タンスイッチ(図示せず)を押圧して、貯留状態検出手段としての満タンスイッチがオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
図5は、主基板(遊技制御基板)31における回路構成の一例を示すブロック図である。なお、図5には、払出制御基板37、ランプドライバ基板35、音声制御基板70および演出制御基板80等も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する遊技制御用マイクロコンピュータ(遊技制御手段に相当)560が搭載されている。遊技制御用マイクロコンピュータ560は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54およびRAM55は遊技制御用マイクロコンピュータ560に内蔵されている。すなわち、遊技制御用マイクロコンピュータ560は、1チップマイクロコンピュータである。1チップマイクロコンピュータには、少なくともRAM55が内蔵されていればよく、ROM54は外付けであっても内蔵されていてもよい。また、I/Oポート部57は、外付けであってもよい。
なお、遊技制御用マイクロコンピュータ560においてCPU56がROM54に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ560(またはCPU56)が実行する(または、処理を行う)ということは、具体的には、CPU56がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているマイクロコンピュータについても同様である。
また、遊技制御用マイクロコンピュータ560には、乱数回路503が内蔵されている。乱数回路503は、特別図柄の可変表示の表示結果により大当りとするか否か判定するための判定用の乱数を発生するために用いられるハードウェア回路である。乱数回路503は、初期値(例えば、0)と上限値(例えば、65535)とが設定された数値範囲内で、数値データを、設定された更新規則に従って更新し、ランダムなタイミングで発生する始動入賞時が数値データの読出(抽出)時であることにもとづいて、読出される数値データが乱数値となる乱数発生機能を有する。
乱数回路503は、数値データの更新範囲の選択設定機能(初期値の選択設定機能、および、上限値の選択設定機能)、数値データの更新規則の選択設定機能、および数値データの更新規則の選択切換え機能等の各種の機能を有する。このような機能によって、生成する乱数のランダム性を向上させることができる。
また、遊技制御用マイクロコンピュータ560は、乱数回路503が更新する数値データの初期値を設定する機能を有している。例えば、ROM54等の所定の記憶領域に記憶された遊技制御用マイクロコンピュータ560のIDナンバ(遊技制御用マイクロコンピュータ560の各製品ごとに異なる数値で付与されたIDナンバ)を用いて所定の演算を行なって得られた数値データを、乱数回路503が更新する数値データの初期値として設定する。そのような処理を行うことによって、乱数回路503が発生する乱数のランダム性をより向上させることができる。
遊技制御用マイクロコンピュータ560は、始動口スイッチ14aへの始動入賞が生じたときに乱数回路503から数値データをランダムRとして読み出し、特別図柄および演出図柄の変動開始時にランダムRにもとづいて特定の表示結果としての大当り表示結果にするか否か、すなわち、大当りとするか否かを決定する。そして、大当りとすると決定したときに、遊技状態を遊技者にとって有利な特定遊技状態としての大当り遊技状態に移行させる。
また、遊技制御用マイクロコンピュータ560には、払出制御基板37(の払出制御用マイクロコンピュータ370)や演出制御基板80(の演出制御用マイクロコンピュータ100)とシリアル通信で信号を入出力(送受信)するためのシリアル通信回路505が内蔵されている。なお、払出制御用マイクロコンピュータ370や演出制御用マイクロコンピュータ100にも、遊技制御用マイクロコンピュータ560とシリアル通信で信号を入出力するためのシリアル通信回路が内蔵されている(払出制御用マイクロコンピュータ370に内蔵されたシリアル通信回路については、図6参照)。ただし、この実施の形態では、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とは双方向に信号が入出力されるが、遊技制御用マイクロコンピュータ560から演出制御用マイクロコンピュータ100に対してのみ信号が出力され、演出制御用マイクロコンピュータ100から遊技制御用マイクロコンピュータ560に対しては信号が出力されないため、演出制御用マイクロコンピュータ100は、信号を入力するシリアル通信回路を内蔵している。なお、遊技制御用マイクロコンピュータ560と演出制御用マイクロコンピュータ100との間の通信については、シリアル通信で行う構成に限られるわけではなく、パラレル通信で行うように構成してもよい。
また、RAM55は、その一部または全部が電源基板において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグや保留記憶数カウンタの値など)と未払出賞球数を示すデータは、バックアップRAMに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、RAM55の全部が、電源バックアップされているとする。
遊技制御用マイクロコンピュータ560のリセット端子には、電源基板からのリセット信号が入力される。電源基板には、遊技制御用マイクロコンピュータ560等に供給されるリセット信号を生成するリセット回路が搭載されている。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ560等は動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ560等は動作停止状態になる。従って、リセット信号がハイレベルである期間は、遊技制御用マイクロコンピュータ560等の動作を許容する許容信号が出力されていることになり、リセット信号がローレベルである期間は、遊技制御用マイクロコンピュータ560等の動作を停止させる動作停止信号が出力されていることになる。なお、リセット回路をそれぞれの電気部品制御基板(電気部品を制御するためのマイクロコンピュータが搭載されている基板)に搭載してもよい。
さらに、遊技制御用マイクロコンピュータ560の入力ポートには、電源基板からの電源電圧が所定値以下に低下したことを示す電源断信号が入力される。すなわち、電源基板には、遊技機において使用される所定電圧(例えば、DC30VやDC5Vなど)の電圧値を監視して、電圧値があらかじめ定められた所定値にまで低下すると(電源電圧の低下を検出すると)、その旨を示す電源断信号を出力する電源監視回路が搭載されている。また、遊技制御用マイクロコンピュータ560の入力ポートには、RAMの内容をクリアすることを指示するためのクリアスイッチが操作されたことを示すクリア信号(図示せず)が入力される。
また、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22、各入賞口スイッチ29a,30a,33a,39a、発射球検出スイッチ24、アウト球検出スイッチ26aおよびファール球検出スイッチ510aからの検出信号を基本回路53に与える入力ドライバ回路58も主基板31に搭載され、可変入賞球装置15を開閉するソレノイド16、特別可変入賞球装置を開閉するソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動する出力回路59も主基板31に搭載され、電源投入時に遊技制御用マイクロコンピュータ560をリセットするためのシステムリセット回路(図示せず)や、大当り遊技状態の発生を示す大当り情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路(図示せず)も主基板31に搭載されている。
この実施の形態では、演出制御基板80に搭載されている演出制御手段(演出制御用マイクロコンピュータ100で構成される。)が、中継基板77を介して遊技制御用マイクロコンピュータ560からの演出制御コマンドを受信し、演出図柄を可変表示する演出表示装置9の表示制御を行う。
また、演出制御基板80に搭載されている演出制御手段が、ランプドライバ基板35を介して、枠側に設けられている枠LED28の表示制御を行うとともに、音声出力基板70を介してスピーカ27からの音出力の制御を行う。なお、この実施の形態では、ランプドライバ基板35および音声出力基板70には、マイクロコンピュータは搭載されていないが、マイクロコンピュータを搭載してもよい。また、ランプドライバ基板35および音声出力基板70を設けずに、演出制御に関して演出制御基板80のみを設けてもよい。
図6は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図6に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータ370が搭載されている。この実施の形態では、払出制御用マイクロコンピュータ370は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。払出制御用マイクロコンピュータ370、RAM(図示せず)、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御手段を構成する。すなわち、払出制御手段は、払出制御用CPU371、RAMおよびROMを有する払出制御用マイクロコンピュータ370と、I/Oポートとで実現される。また、I/Oポートは、払出制御用マイクロコンピュータ370に内蔵されていてもよい。
球切れスイッチ187、満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。
また、払出モータ位置センサ295からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372eに入力される。払出モータ位置センサ295は、払出モータ289の回転位置を検出するための発光素子(LED)と受光素子とによるセンサであり、遊技球が詰まったこと、すなわちいわゆる球噛みを検出するために用いられる。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、球切れスイッチ187からの検出信号が球切れ状態を示していたり、満タンスイッチ48からの検出信号が満タン状態を示していたりすると、球払出処理を停止する。
さらに、満タンスイッチ48からの検出信号が満タン状態を示していると、払出制御用マイクロコンピュータ370は、打球発射装置からの球発射を停止させるために、発射基板90に対してローレベルの満タン信号を出力する。発射基板90のAND回路91が出力する発射モータ94への発射モータ信号は、発射基板90から発射モータ94に伝えられる。払出制御用マイクロコンピュータ370からの満タン信号は、発射基板90に搭載されたAND回路91の入力側の一方に入力され、駆動信号生成回路92からの駆動信号(発射モータ94を駆動するための信号であって、電源基板からの電源を供給する役割を果たす信号である。)は、AND回路91の入力側の他方に入力される。そして、AND回路91の発射モータ信号が発射モータ94に入力される。すなわち、払出制御用マイクロコンピュータ370が満タン信号を出力している間は、発射モータ94への発射モータ信号の出力が停止される。
払出制御用マイクロコンピュータ370には、遊技制御用マイクロコンピュータ560とシリアル通信で信号を入出力(送受信)するためのシリアル通信回路380が内蔵されている。この実施の形態では、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とは、シリアル通信回路505,380を介して、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続確認を行うために、一定の間隔(例えば1秒)で信号(賞球要求信号、受信ACK信号)をやり取り(送受信)している。すなわち、遊技制御用マイクロコンピュータ560は、シリアル通信回路505を介して、一定の間隔で接続確認を行うための信号(この実施の形態における賞球要求信号)を送信し、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560からの賞球要求信号を受信した場合、その旨を通知する信号(受信ACK信号)を遊技制御用マイクロコンピュータ560に送信する。この実施の形態では、賞球要求信号や受信ACK信号に特定のデータを乗せることにより、賞球要求信号や受信ACK信号を送受信するタイミングにおいて、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間で特定のデータをやり取りするように構成している。例えば、入賞が発生した場合には、遊技制御用マイクロコンピュータ560は、払い出すべき賞球個数を示すデータを、賞球要求信号の所定ビットを異ならせることにより設定し、当該設定がなされた賞球要求信号を払出制御用マイクロコンピュータ370に送信する。そして、払出制御用マイクロコンピュータ370は、賞球払出動作が終了すると、賞球終了を示すデータを、受信ACK信号の所定ビットを異ならせることにより設定し、当該設定がなされた受信ACK信号を遊技制御用マイクロコンピュータ560に送信する。また、所定のエラー(球貸し、満タン、球切れなどのエラー)が発生した場合には、エラーの内容を示すデータを、受信ACK信号の所定ビットを異ならせることにより設定し、当該設定がなされた受信ACK信号を遊技制御用マイクロコンピュータ560に送信する。なお、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370におけるシリアル通信による具体的な信号のやり取りについては、図15において詳述する。
払出制御用マイクロコンピュータ370は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図6では記載省略されている。なお、外部出力は、全て主基板31を介して出力するようにしてもよく、その場合、賞球情報信号については、賞球の払い出しを10個検出するごとに払出制御基板37から主基板31に信号を入力させるようにすればよく、球貸し数の情報は外部出力しないようにしてもよい。
また、払出制御用マイクロコンピュータ370は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51および球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
さらに、払出制御用マイクロコンピュータ370からの払出モータ289への駆動信号は、出力ポート372aおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側には、ドライバ回路(モータ駆動回路)が設置されている。
遊技機に隣接して設置されているカードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ、連結台方向表示器、カード投入表示ランプおよびカード挿入口が設けられている。インタフェース基板(中継基板)66には、打球供給皿3の近傍に設けられている度数表示LED60、球貸し可LED61、球貸しスイッチ62および返却スイッチ63が接続される。
インタフェース基板66からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ62が操作されたことを示す球貸しスイッチ信号および返却スイッチ63が操作されたことを示す返却スイッチ信号が与えられる。また、カードユニット50からインタフェース基板66には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372fおよび出力ポート372dを介して送受信される。カードユニット50と払出制御基板37の間には、インタフェース基板66が介在している。よって、接続信号(VL信号)等の信号は、図6に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
パチンコ遊技機1の電源が投入されると、払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、電源が投入されると、VL信号を出力する。払出制御用マイクロコンピュータ370は、VL信号の入力状態によってカードユニット50の接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
そして、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でないことを条件に、遊技制御手段から払出指令信号を受けると賞球払出制御を実行する。
カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。すなわち、カードユニット50に対する電源基板910からの電力供給は、払出制御基板37およびインタフェース基板66を介して行われる。この例では、インタフェース基板66内に配されているカードユニット50に対するAC24Vの電源供給ラインに、カードユニット50を保護するためのヒューズが設けられ、カードユニット50に所定電圧以上の電圧が供給されることが防止される。
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
この実施の形態では、演出制御基板80は、演出制御用CPU101、および演出図柄プロセスフラグ等の演出に関する情報を記憶するRAMを含む演出制御用マイクロコンピュータ100を搭載している。なお、RAMは外付けであってもよい。この実施の形態では、演出制御用マイクロコンピュータ100におけるRAMは電源バックアップされていない。演出制御基板80において、演出制御用CPU101は、内蔵または外付けのROM(図示せず)に格納されたプログラムに従って動作し、中継基板77を介して入力される主基板31からの取込信号(演出制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して演出制御コマンドを受信する。また、演出制御用CPU101は、演出制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に演出表示装置9の表示制御を行わせる。
この実施の形態では、演出制御用マイクロコンピュータ100と共動して演出表示装置9の表示制御を行うVDP109(図示せず)が演出制御基板80に搭載されている。VDP109は、演出制御用マイクロコンピュータ100とは独立したアドレス空間を有し、そこにVRAMをマッピングする。VRAMは、画像データを展開するためのバッファメモリである。そして、VDP109は、VRAM内の画像データをフレームメモリを介して演出表示装置9に出力する。
演出制御用CPU101は、受信した演出制御コマンドに従ってCGROM(図示せず)から必要なデータを読み出すための指令をVDP109に出力する。CGROMは、演出表示装置9に表示されるキャラクタ画像データや動画像データ、具体的には、人物、文字、図形や記号等(演出図柄を含む)、および背景画像のデータをあらかじめ格納しておくためのROMである。VDP109は、演出制御用CPU101の指令に応じて、CGROMから画像データを読み出す。そして、VDP109は、読み出した画像データにもとづいて表示制御を実行する。
演出制御コマンドおよび演出制御INT信号は、演出制御基板80において、まず、入力ドライバ102(図示せず)に入力する。入力ドライバ102は、中継基板77から入力された信号を演出制御基板80の内部に向かう方向にしか通過させない(演出制御基板80の内部から中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路でもある。
中継基板77には、主基板31から入力された信号を演出制御基板80に向かう方向にしか通過させない(演出制御基板80から中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路74(図示せず)が搭載されている。単方向性回路として、例えばダイオードやトランジスタが使用される。また、単方向性回路は、各信号毎に設けられる。さらに、単方向性回路である出力ポート571(図示せず)を介して主基板31から演出制御コマンドおよび演出制御INT信号が出力されるので、中継基板77から主基板31の内部に向かう信号が規制される。すなわち、中継基板77からの信号は主基板31の内部(遊技制御用マイクロコンピュータ560側)に入り込まない。なお、出力ポート571は、図5に示されたI/Oポート部57の一部である。また、出力ポート571の外側(中継基板77側)に、さらに、単方向性回路である信号ドライバ回路が設けられていてもよい。
さらに、演出制御用CPU101は、出力ポート105を介してランプドライバ基板35に対してLEDを駆動する信号を出力する。また、演出制御用CPU101は、出力ポート104を介して音声出力基板70に対して音番号データを出力する。
ランプドライバ基板35において、LEDを駆動する信号は、入力ドライバ351を介してLEDドライバ352に入力される。LEDドライバ352は、LEDを駆動する信号にもとづいて発光体(本例では、枠LED28)に電流を供給する。
音声出力基板70において、音番号データは、入力ドライバ702を介して音声合成用IC703に入力される。音声合成用IC703は、音番号データに応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。音声データROM704には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば演出図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
この実施の形態では、遊技制御手段における出力ポートのうち出力ポート0は、払出制御基板37に送信される払出制御信号(本例では、接続確認信号)の出力ポートである。また、出力ポート1は演出制御基板80に送信される演出制御信号(演出制御コマンド)の出力ポートである。大入賞口を開閉する可変入賞球装置20を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21Aおよび可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号は、出力ポート2から出力される。そして、出力ポート3から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。
図7は、大当り判定用テーブルメモリの例を示す説明図である。図7に示される大当り判定用テーブルメモリ571は、CPU56が特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いる複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ571は、図7(A)に示すように、確変状態以外の遊技状態(通常状態という)において用いられる通常時大当り判定テーブル571aを記憶する。また、大当り判定用テーブルメモリ571は、図7(B)に示すように、確変状態において用いられる確変時大当り判定テーブル571bを格納する。なお、図7に示す判定テーブルを用いて大当り判定を行う場合、乱数最大値設定レジスタ535に設定された乱数最大値によって大当りと判定する確率が大きく変化することになる。この場合、例えば、設定される乱数最大値が小さすぎると、通常時大当り判定テーブル571aを用いた場合と、確変時大当り判定テーブル571bを用いた場合とで、大当りと判定する確率の差が小さくなってしまい、遊技者の遊技に対する興味を減退させてしまうことになる。そのため、乱数回路503および乱数最大値に対応づけて、複数の判定テーブル(複数の通常時大当り判定用テーブル571aおよび複数の確変時大当り判定用テーブル571b)を大当り判定用テーブルメモリ571に記憶してもよい。そして、CPU56は、大当り判定用テーブルメモリ571が記憶する判定テーブルのうち、使用する乱数回路503および乱数最大値に対応する判定テーブル571a,571bを用いて、表示結果決定プログラム552に従って、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するようにしてもよい。そのようにすることによって、使用する乱数回路503の種類や乱数最大値が異なっても、大当りと判定する確率がある程度同じになるように制御することができる。
次に遊技機の動作について説明する。図8および図9は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ560へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ560のCPU56が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ560のCPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、マスク可能割込の割込モードを設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。なお、ステップS2では、遊技制御用マイクロコンピュータ560の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
次いで、内蔵デバイスレジスタの設定(初期化)を行う(ステップS4)。ステップS4の処理によって、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の設定(初期化)がなされる。
この実施の形態で用いられる遊技制御用マイクロコンピュータ560は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)504も内蔵している。
次に、入力ポート1のビット0の状態によって電源断信号がオフ状態になっているか否か確認する(ステップS5)。遊技機に対する電力供給が開始されたときに、+5V電源などの各種電源の出力電圧は徐々に規定値に達するのであるが、ステップS5の処理によって、すなわち、電源断信号が出力されていない(ハイレベルになっている)ことを確認することによりCPU56は電源電圧が安定したことを確認することができる。
電源断信号がオン状態である場合には、CPU56は、所定期間(例えば、0.1秒)の遅延時間の後に(ステップS80)、再度、電源断信号がオフ状態になっているか否か確認する。電源断信号がオフ状態になっている場合には、RAM55をアクセス可能状態に設定し(ステップS6)、クリア信号のチェック処理に移行する。
なお、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行するようにしてもよい。そのようなソフトウェア遅延処理によって、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。遅延処理を実行したときには、他の制御基板(例えば、払出制御基板37)に対して、遊技制御基板(主基板31)が送信するコマンドを他の制御基板のマイクロコンピュータが受信できないという状況が発生することを防止できる。
次いで、CPU56は、クリアスイッチがオンされているか否か確認する(ステップS7)。なお、CPU56は、入力ポート0を介して1回だけクリア信号の状態を確認するようにしてもよいが、複数回クリア信号の状態を確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを確認したら、所定時間(例えば、0.1秒)の遅延時間をおいた後、クリア信号の状態を再確認する。そのときにクリア信号の状態がオン状態であることを確認したら、クリア信号がオン状態になっていると判定する。また、このときにクリア信号の状態がオフ状態であることを確認したら、所定時間の遅延時間をおいた後、再度、クリア信号の状態を再確認するようにしてもよい。ここで、再確認の回数は、1回または2回に限られず、3回以上であってもよい。また、2回チェックして、チェック結果が一致していなかったときにもう一度確認するようにしてもよい。
ステップS7でクリアスイッチがオンでない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような電力供給停止時処理が行われていたことを確認した場合には、CPU56は、電力供給停止時処理が行われた、すなわち電力供給停止時の制御状態が保存されていると判定する。電力供給停止時処理が行われていないことを確認した場合には、CPU56は初期化処理を実行する。
電力供給停止時処理が行われていたか否かは、電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、電力供給停止時処理を実行したことに応じた値(例えば2)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域に電力供給停止時処理を実行したことを示すフラグをセットし、ステップS8において、そのフラグがセットされていることを確認したら電力供給停止時処理が行われたと判定してもよい。
電力供給停止時の制御状態が保存されていると判定したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象になるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムにする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっている可能性があることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理(ステップS10〜S14の処理)を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS91)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS92)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS91およびS92の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS93)、ステップS15に移行する。なお、ステップS93で設定された後、後述するステップS15aのシリアル通信回路設定処理が行われてからバックアップコマンドが送信されることになる。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAM55の全領域を初期化せず、所定のデータをそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次業領域に設定する(ステップS12)。
ステップS11およびS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。また、出力ポートバッファにおける接続確認信号を出力する出力ポートに対応するビットがセット(接続確認信号のオン状態に対応)される。なお、出力ポートバッファにおける接続確認信号を出力する出力ポートに対応するビットがセットされると、ステップS31の出力処理によって接続確認信号を出力する出力ポート0に対応するビットが出力される。接続確認信号を出力する出力ポートに対応するビットがセット(接続確認信号のオン状態に対応)されるタイミングで実際に出力を開始するものでもよい。
また、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、演出表示装置9に表示される初期図柄を示すコマンドや払出制御基板37への初期化コマンド等を使用することができる。なお、ステップS13で設定された後、後述するステップS15aのシリアル通信回路設定処理が行われてから初期化コマンドが送信されることになる。
また、CPU56は、各乱数回路503a,503bを初期設定する乱数回路設定処理を実行する(ステップS15)。この場合、CPU56は、乱数回路設定プログラム551に従って処理を実行することによって、各乱数回路503a,503bにランダムRの値を更新させるための設定を行う。
また、CPU56は、シリアル通信回路505を初期設定するシリアル通信回路設定処理を実行する(ステップS15a)。この場合、CPU56は、シリアル通信回路設定プログラムに従ってROM54の所定領域に格納されているデータをシリアル通信回路505に設定することによって、シリアル通信回路505に払出制御用マイクロコンピュータとシリアル通信させるための設定を行う。
シリアル通信回路505を初期設定すると、CPU56は、シリアル通信回路505の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS15b)。この場合、CPU56は、割込優先順位設定プログラム557に従って処理を実行することによって、割込処理の優先順位を初期設定する。
例えば、CPU56は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。この実施の形態では、CPU56は、割込処理優先順位テーブルに従って、シリアル通信回路505において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。この場合、例えば、CPU56は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
なお、この実施の形態では、タイマ割込とシリアル通信回路505からの割り込み要求とが同時に発生した場合、CPU56は、タイマ割込による割込処理を優先して行う。
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された割込処理を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
そして、CPU56は、所定時間(例えば2ms)ごとに定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているCTCのレジスタの設定を行なうタイマ割込設定処理を実行する(ステップS16)。すなわち、初期値として例えば2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、2msごとに定期的にタイマ割込がかかるとする。
タイマ割込の設定が完了すると、CPU56は、まず、割込禁止状態にして(ステップS17)、初期値用乱数更新処理(ステップS18a)と表示用乱数更新処理(ステップS18b)を実行して、再び割込許可状態にする(ステップS19)。すなわち、CPU56は、初期値用乱数更新処理および表示用乱数更新処理が実行されるときには割込禁止状態にして、初期値用乱数更新処理および表示用乱数更新処理の実行が終了すると割込許可状態にする。
なお、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りの種類を決定するための判定用乱数(例えば、大当りを発生させる特別図柄を決定するための大当り図柄決定用乱数や、遊技状態を確変状態に移行させるかを決定するための確変決定用乱数、普通図柄にもとづく当りを発生させるか否かを決定するための普通図柄当たり判定用乱数)を発生するためのカウンタ(判定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている演出表示装置9、可変入賞球装置15、球払出装置97等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、判定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
また、表示用乱数とは、特別図柄表示器8の表示を決定するための乱数である。この実施の形態では、表示用乱数として、特別図柄の変動パターンを決定するための変動パターン決定用乱数や、大当りを発生させない場合にリーチとするか否かを決定するためのリーチ判定用乱数が用いられる。また、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。
また、表示用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理および初期値用乱数更新処理が後述するタイマ割込処理でも実行される(すなわち、タイマ割込処理のステップS24A,S24Bでも同じ処理が実行される)ことから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS18a,S18bの処理中にタイマ割込が発生してタイマ割込処理中で初期値用乱数や表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS18a,S18bの処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
ステップS19で割込許可状態に設定されると、次にステップS17の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路505からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路505から割り込み要求が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述する各割込処理(通信エラー割込処理や、受信時割込処理、送信完了割込処理)を実行する。また、本実施の形態では、ステップS17からステップS19までのループ処理の前にステップS15bを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、割込処理の優先順位を設定または変更する処理が行われる。
次に、タイマ割込処理について説明する。図10は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップS17〜S19のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS18a)。そして、CPU56は、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a、発射球検出スイッチ24、アウト球検出スイッチ26a、ファール球検出スイッチ510a等のスイッチの検出信号を入力し、各スイッチの入力を検出する(スイッチ処理:ステップS20)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。また、CPU56は、ステップS20の検出結果にもとづいて、各スイッチの入力状態を判定する入力判定処理を実行する(ステップS21)。
次に、CPU56は、打球発射装置550から発射された遊技球数と各入賞口やアウト口26、ファール球回収口510から回収された遊技球数とを管理する発射球数管理処理を実行する(ステップS22A)。
次に、CPU56は、シリアル通信回路で受信した受信ACK信号が所定のエラーの発生を示す信号であるとき(受信した受信ACK信号で所定のエラーの発生が特定されるとき)に、受信ACK信号で特定される所定のエラーのデータを演出制御用マイクロコンピュータ100に送信する入力データ確認処理を実行する(ステップS22B)。
また、CPU56は、ステップS21の検出結果にもとづいて、各スイッチの入力状態を判定する入力判定処理を実行する(ステップS23)。
次に、CPU56は、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(表示用乱数更新処理:ステップS24A)。また、CPU56は、初期値用乱数を発生するためのカウンタのカウント値を更新する処理を行う(初期値用乱数更新処理:ステップS24B)。
次いで、CPU56は、特別図柄の変動に同期する飾り図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(コマンド制御処理:ステップS25)。なお、飾り図柄の変動が特別図柄の変動に同期するとは、変動時間(可変表示期間)が同じであることを意味する。
また、CPU56は、シリアル通信回路505を介して、払出制御用マイクロコンピュータ370と信号を送受信(入出力)する処理を実行するとともに、入賞が発生した場合には入賞口スイッチ29a,30a,33a,39a等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS26)。なお、この実施の形態では、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、賞球要求信号の所定のビットを異ならせることにより賞球個数を示すデータを賞球要求信号に設定し、当該設定した賞球要求信号をシリアル通信回路505を介して払出制御用マイクロコンピュータ370に出力する。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、賞球個数を示すデータが設定された賞球要求信号の受信に応じて球払出装置97を駆動する。
なお、この実施の形態では、入力判定処理(ステップS23)において、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、入賞数がカウントされる。そして、メイン処理の賞球処理において、カウントされた入賞数にもとづいて、賞球個数を示すデータが設定された賞球要求信号が払出制御基板37に送信される。
また、CPU56は、特別図柄プロセス処理を行う(ステップS27)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS28)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
また、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS30)。また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポート0のRAM領域における接続確認信号に関する内容および出力ポート2のRAM領域におけるソレノイドに関する内容を出力ポートに出力する(ステップS31:出力処理)。
次に、タイマ割込処理における発射球数管理処理(ステップS22A)を説明する。図11は、主基板31に搭載される遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行する発射球数管理処理(ステップS22)のプログラムの一例を示すフローチャートである。発射球数管理処理において、CPU56は、まず、打球発射装置550から発射された遊技球を最後に検出してからの経過時間を計測するための発射球検出タイマを1加算する(ステップS501)。次いで、CPU56は、発射球検出スイッチ24からの検出信号を入力したか否かを確認する(ステップS502)。発射球検出スイッチ24からの検出信号を入力していなければ、そのままステップS513に移行する。
発射球検出スイッチ24からの検出信号を入力していれば(すなわち、打球発射装置550から発射された新たな遊技球を検出した場合には)、CPU56は、発射球検出タイマの値が所定値以上(例えば、5分に相当する値以上)であるか否かを確認する(ステップS503)。発射球検出タイマの値が所定値以上でなければ、そのままステップS506に移行する。発射球検出タイマの値が所定値以上であれば、CPU56は、最後に遊技球の発射を検出してから相当程度の時間以上(例えば、5分以上)経過しているので、新たな遊技者が遊技を開始して1つ目の遊技球を発射した場合であると判断して、遊技開始時の特別図柄の変動回数をカウントするための遊技開始時変動回数カウンタに特定回数(本例では5回)をセットする(ステップS504)。なお、この実施の形態では、遊技開始時変動回数カウンタに特定回数として5回をセットする場合を示しているが、この実施の形態で示したものにかぎらず、例えば、遊技開始時変動回数カウンタに特定回数として3や10など他の値をセットするようにしてもよい。また、例えば、特定回数は1回であってもよい。そして、CPU56は、打球発射装置550から発射された遊技球の累積数をカウントするための発射累積数カウンタ、および特別図柄の変動回数をカウントするための変動回数カウンタの値をクリアする(ステップS505)。
次いで、CPU56は、発射球検出指定コマンドを演出制御用マイクロコンピュータ100に対して送信する制御を行う(ステップS506)。また、CPU56は、打球発射装置550から発射された後、未だ各入賞口やアウト口26、ファール球回収口510に達していない遊技球数を管理するための発射球数カウンタの値を1加算する(ステップS507)。また、CPU56は、発射球検出タイマの値をクリアする(ステップS508)。
次いで、CPU56は、発射累積数カウンタの値を1加算する(ステップS509)とともに、加算後の発射累積数カウンタの値が上限値(本例では255)以上となっているか否かを確認する(ステップS510)。発射累積数カウンタの値が上限値以上となっていなければ、そのままステップS513に移行する。発射累積数カウンタの値が上限値以上となっていれば、CPU56は、発射累積数カウンタの値をクリアする(ステップS511)とともに、変動回数カウンタの値をクリアする(ステップS512)。そのように、この実施の形態では、計数した遊技球の発射累積数が一定数(本例では、上限値である255)に達すると、発射累積数カウンタおよび変動回数カウンタをクリアし、遊技球の発射累積数の計数結果を初期化する。そのため、遊技球の発射累積数の計数結果を記憶するための記憶領域を削減することができる。
なお、この実施の形態では、発射累積数カウンタの値が1バイトで構成され、ステップS510で1バイトの最大値である255以上であるか否かを確認する場合を示しているが、この実施の形態で示したものにかぎらず、例えば、発射累積数カウンタの値が2バイトで構成される場合には、2バイトの最大値である65535以上であるか否かを確認したり、500以上や1000以上など他の値以上であるか否かを確認するようにしてもよい。
次いで、CPU56は、始動口スイッチ14a、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、V入賞スイッチ22、アウト球検出スイッチ26aまたはファール球検出スイッチ510aからの検出信号を入力したか否かを確認する(ステップS513)。いずれかの検出信号を入力していれば、CPU56は、発射球数カウンタの値が0であるか否かを確認する(ステップS514)。発射球数カウンタの値が0であれば、CPU56は、エラー検出指定コマンドを演出制御用マイクロコンピュータ100に対して送信する制御を行う(ステップS515)。すなわち、発射球数カウンタの値が0であるということは、過去に打球発射装置550から発射された遊技球は全て既にいずれかの回収口(始動入賞口14、大入賞口(V入賞領域含む)、入賞口29,30,33,39、アウト口26、ファール球回収口510)で回収されていることを意味しているから、対応する遊技球の発射を検出していないにもかかわらず、いずれかの回収口で遊技球を検出したことになり、不正に遊技球を遊技領域7に挿入するなど何らかの不正が行われた可能性が高いことになる。そこで、CPU56は、遊技球に関して何らかのエラーが発生したと判定して、エラー検出指定コマンドを送信する制御を行う。
なお、ステップS514において発射球数カウンタの値が0と判定したときに直ちにエラーと判定してステップS515を実行するのではなく、例えば、発射球数カウンタの値が0のときに始動口スイッチ14aや、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、V入賞スイッチ22、アウト球検出スイッチ26a、ファール球検出スイッチ510aなどの各回収口のスイッチで検出した遊技球の累積数が所定の閾値に達したことを条件にエラーと判定してステップS515を実行するようにしてもよい。また、この場合、例えば、発射球検出タイマの値に応じて(すなわち、最後に遊技球の発射を検出してからの経過時間に応じて)異なる閾値にもとづいて判定するようにしてもよい。
発射球数カウンタの値が0でなければ、CPU56は、発射球数カウンタの値を1減算する(ステップS516)。また、CPU56は、発射球検出タイマの値が所定値以上(例えば、1分に相当する値以上)であるか否かを確認する(ステップS517)。発射球検出タイマの値が所定値以上でなければ、そのまま処理を終了する。発射球検出タイマの値が所定値以上であれば、CPU56は、エラー検出指定コマンドを演出制御用マイクロコンピュータ100に対して送信する制御を行う(ステップS518)。すなわち、打球発射装置550から遊技球が発射されてからいずれかの回収口(始動入賞口14、大入賞口(V入賞領域含む)、入賞口29,30,33,39、アウト口26、ファール球回収口510)で回収されるまでには通常1分以上も時間がかかることはないのであるから、最後に遊技球の発射を検出してから1分以上経過してから回収口で遊技球を検出したということは遊技球に関して何らかの異常または不正が行われた可能性が高いことになる。そこで、CPU56は、遊技球に関して何らかのエラーが発生したと判定して、エラー検出指定コマンドを送信する制御を行う。
なお、この実施の形態では、ステップS515とステップS518とで共通のエラー検出指定コマンドを送信する場合を示しているが、ステップS515とステップS518とで異なるコマンドを送信するようにしてもよい。
また、発射球数にもとづいてエラーと判定する場合は、この実施の形態で示したものにかぎらず、例えば、打球発射装置550から発射したものの各回収口で未だ回収されていない遊技球の数が異様に多くなった場合に(具体的には、発射球数カウンタの値が異様に多くなった場合に)、遊技領域7に遊技球が滞留していると判定してエラーと判定し、異常報知を行うように構成してもよい。すなわち、発射球数カウンタの値が異様に多くなるということは、打球発射装置550から遊技球を発射して発射球数カウンタの値を加算したものの釘などに引っかかって遊技領域7内に遊技球が滞留し、始動口14や大入賞口(V入賞領域含む)、入賞口29,30,33,39、アウト口26、ファール球回収口510などの各回収口で回収されず発射球数カウンタの値が減算されていないことを意味する。従って、この場合、遊技領域7に遊技球が滞留していると判定してエラーと判定し、異常報知を行うようにしてもよい。
また、始動口スイッチ14aや、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、V入賞スイッチ22、アウト球検出スイッチ26a、ファール球検出スイッチ510aなどの各回収口のスイッチのうちいずれか複数のスイッチにおいて同時に遊技球が検出される場合もありうる。従って、それぞれのスイッチについて順次ステップS513〜S518の処理を実行するようにし、全てのスイッチについてステップS513〜S518の処理を実行してから発射球数管理処理を終了するように構成することが望ましい。なお、この実施の形態では、発射球数管理処理におけるエラー判定処理を主基板31に搭載された遊技制御用マイクロコンピュータ560のCPU56が実行しているが、これらの処理を主基板31以外のマイクロコンピュータが搭載されたサブ基板において実行させるようにしてもよい。
次に、メイン処理における賞球処理(ステップS26)を説明する。まず、主基板31と払出制御基板37との間で送受信される払出制御信号(接続確認信号)および賞球要求信号(払出制御コマンド)について説明する。
図12は、遊技制御手段から払出制御手段に対して出力される制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で制御信号として接続確認信号が送受信される。図12に示すように、接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、接続確認信号は、賞球払出が可能な状態であることを示す。なお、接続確認信号は、遊技制御用マイクロコンピュータ560のI/Oポート57および出力回路67を介して出力され、払出制御用マイクロコンピュータ370の入力回路373AおよびI/Oポート372eを介して払出制御用マイクロコンピュータ370に入力される。接続確認信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。なお、接続確認信号は、電源投入時に実行されるステップS92,S12の処理によって出力ポート0の接続確認信号に対応するビットに初期値が設定されることによって出力可能な状態となる(具体的にはステップS31の処理によって出力されるが、ステップS92、S12のタイミングで出力されるようにしてもよい)。
払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560と同様に、シリアル通信回路380を内蔵する。また、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505と、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380との間で、各種払出制御コマンドが送受信される。なお、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380の構成及び機能は、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505の構成及び機能と同様である。
図13は、遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37とのマイクロコンピュータの間で各種制御コマンド(賞球要求信号)が送受信される。
賞球要求信号および受信ACK信号は、8ビットのデータ(2進8桁のデータ)によって構成され、設定された8ビットのデータの内容によって所定の内容を示す制御コマンドとして出力される。
接続確認コマンドは、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続状態が正常であるか否かを確認するために一定間隔(1s)毎に遊技制御用マイクロコンピュータ560から送信される制御コマンドである。接続確認コマンドのデータの内容は「A0(H)」すなわち「1010000」とされている。
接続OKコマンドは、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続状態が正常であることを通知するための制御コマンドであって、払出制御用マイクロコンピュータ370が接続確認コマンドの受信に応じて応答信号として送信する制御コマンドである。接続OKコマンドのデータの内容は「8x(H)」すなわち「10000xxx」とされている。ここで、賞球エラー(入賞にもとづく賞球払出動作や球貸し要求にもとづく球貸払出動作が正常に行えない状態になった異常状態)が発生した場合には、1ビット目の「x」に「1」が設定される。また、満タンエラーが発生した場合には、2ビット目の「x」に「1」が設定される。また、球切れエラーが発生した場合には、3ビット目の「x」に「1」が設定される。また、ドア開放エラーが発生した場合には、4ビット目の「x」に「1」が設定される。このようにして、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続確認を行っている最中に、払出制御用マイクロコンピュータ370における所定のエラーの発生を遊技制御用マイクロコンピュータ560に通知することができる。
賞球個数コマンドは、払出要求を行う遊技球の個数(0〜15個)を通知するための制御コマンドであって、遊技制御用マイクロコンピュータ560が入賞の発生にもとづいて送信する制御コマンドである。賞球個数コマンドのデータの内容は「5x(H)」すなわち「0101xxxx」とされている。この実施の形態では、始動口スイッチ14aで遊技球が検出されると3個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると10個の賞球払出を行い、カウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。よって、始動口スイッチ14aで遊技球が検出された場合、賞球数3個を通知するための賞球個数コマンド「01010011」が送信され、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出された場合、賞球数10個を通知するための賞球個数コマンド「01011010」が送信され、カウントスイッチ23で遊技球が検出された場合、賞球数15個を通知するための賞球個数コマンド「01011111」が送信される。なお、接続確認コマンド及び賞球個数コマンドは賞球要求信号として、何れかが送信されるように構成されている。なお、賞球個数コマンドは、賞球の払出条件(入賞等の発生)が成立したことにもとづいて、接続確認コマンドが送信されるタイミングで、接続確認コマンドに代えて送信されるものである。この実施の形態では、上述したように、上位4ビットに賞球個数に対応したデータを設定しているが、上位4ビットを共通にして下位4ビットに賞球個数に対応したデータを設定するようにしてもよい。
賞球終了コマンドは、賞球動作(賞球払出動作)が終了したことを示す制御コマンドであって、払出制御用マイクロコンピュータ370が賞球動作の終了にもとづいて送信する制御コマンドである。賞球終了コマンドのデータの内容は「50(H)」すなわち「01010000」とされている。なお、賞球終了コマンドは、賞球動作が終了したことにもとづいて、接続OKコマンドが送信されるタイミングで、接続OKコマンドに代えて送信されるものである。この実施の形態では、賞球終了コマンドにエラー情報を示すデータを設定するように構成してない。これは、賞球終了コマンドは賞球動作が終了したときに1回だけ送信されるので、そのタイミングでエラー情報を送らなくても次の接続OKコマンドにエラー情報を示すデータを設定して送るようにすることが可能であるからである。なお、賞球終了コマンドの下位4ビットにエラー情報を示すデータを設定するようにしてもよい。
賞球準備中コマンドは、所定のエラーが発生し賞球動作が終了していないことを通知する制御コマンドであって、払出制御用マイクロコンピュータ370が賞球動作の実行中に所定のエラーが発生したことにもとづいて送信する制御コマンドである。接続OKコマンドのデータの内容は「8x(H)」すなわち「10000xxx」とされている。ここで、賞球エラーが発生した場合には、1ビット目の「x」に「1」が設定される。また、満タンエラーが発生した場合には、2ビット目の「x」に「1」が設定される。また、球切れエラーが発生した場合には、3ビット目の「x」に「1」が設定される。また、ドア開放エラーが発生した場合には、4ビット目の「x」に「1」が設定される。このようにして、払出制御用マイクロコンピュータ370から遊技制御用マイクロコンピュータ560に賞球動作の実行中に所定のエラーが発生し賞球動作が終了していないことを遊技制御用マイクロコンピュータ560に通知することができるとともに、エラーの内容も遊技制御用マイクロコンピュータ560に通知することができる。賞球準備中コマンドは、接続OKコマンドと同様に、下位4ビットの内容をエラー状態に応じて異ならせる(所定ビットを異ならせる)ことによって所定のエラーが発生したことを通知している。また、接続OKコマンド、賞球準備中コマンド、賞球終了コマンドは、受信ACK信号として、何れかのコマンドが送信されるように構成されている。なお、賞球準備中コマンドは、エラーが発生して賞球動作が実行できない状態のみならず、賞球動作の実行中の状態においても出力されるコマンド(信号)である。
なお、賞球準備中コマンドは、エラーが発生して賞球動作が行えない状態になったことにもとづいて、接続OKコマンドが送信されるタイミングで、接続OKコマンドに代えて送信されるものである。
図14は、図12に示す制御信号および図13に示す制御コマンドの送受信に用いられる信号線等を示すブロック図である。図14に示すように、接続確認信号は、遊技制御用マイクロコンピュータ560によって出力回路67を介して出力され、入力回路373Aを介して払出制御用マイクロコンピュータ370に入力される。また、制御コマンドのうちの接続確認コマンドおよび賞球個数コマンドは、賞球要求信号として、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505から出力され、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380に入力される。制御コマンドのうちの接続OKコマンド、賞球終了コマンドおよび賞球準備中コマンドは、受信ACK信号として、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380から出力され、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505に入力される。なお、図14では、シリアル通信を行うための信号線として2本の信号線(賞球要求信号を送信するための信号線と受信ACK信号を送信するための信号線)を示しているが、実際は1本の信号線で賞球要求信号と受信ACK信号を送受信する。
次に、通常動作時における遊技制御用マイクロコンピュータと払出制御用マイクロコンピュータとの信号(賞球要求信号、受信ACK信号;制御コマンド)の送受信について説明する。賞球要求信号は、接続確認コマンドと賞球個数コマンドからなり、受信ACK信号は、接続OKコマンドと賞球終了コマンドと賞球準備中コマンドからなる。
図15は、通常動作時における遊技制御用マイクロコンピュータと払出制御用マイクロコンピュータとの信号の送受信を示すタイミング図である。図15に示すように、遊技制御用マイクロコンピュータ560は、賞球要求信号としての接続確認コマンドを払出制御用マイクロコンピュータ370に送信すると、払出制御用マイクロコンピュータ370から送信される受信ACKコマンドとしての接続OKコマンドを受信する。遊技制御用マイクロコンピュータ560は、受信ACK信号としての接続OKコマンドを受信すると、受信した時点から1s(1秒)経過後に賞球要求信号としての接続確認コマンドを再び送信する。遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370は、接続状態が正常である限り、上記のような接続確認の通信処理を繰り返し実行する。
接続確認の通信処理を実行していないとき(受信ACK信号としての接続OKコマンドを受信してから賞球要求信号としての接続確認コマンドを送信するまでの間)に入賞があった場合は、遊技制御用マイクロコンピュータ560は、賞球個数を示すデータを賞球要求信号に設定し、当該設定した賞球要求信号としての賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。払出制御用マイクロコンピュータ370は、賞球要求信号としての賞球個数コマンドを受信すると、賞球個数コマンドで指定された個数の賞球の払い出しを行い、賞球の払い出し(賞球払出動作)が終了すると、受信ACK信号としての賞球終了コマンドを遊技制御用マイクロコンピュータ560に送信する。遊技制御用マイクロコンピュータ560は、受信ACK信号としての賞球終了コマンドを受信すると、受信した時点から1s(1秒)経過後に賞球要求信号としての接続確認コマンドを送信する。
接続確認の通信処理の実行中(賞球要求信号としての接続確認コマンドを送信してから受信ACK信号としての接続OKコマンドを受信するまでの間)に入賞があった場合は、遊技制御用マイクロコンピュータ560は、賞球個数を示すデータを賞球要求信号に設定し、当該設定した賞球要求信号としての賞球個数コマンドを、払出制御用マイクロコンピュータ370からの受信ACK信号としての接続OKコマンドを受信した後に払出制御用マイクロコンピュータ370に送信する。払出制御用マイクロコンピュータ370は、賞球要求信号としての賞球個数コマンドを受信すると、賞球個数コマンドで指定された個数の賞球の払い出しを行い、賞球の払い出し(賞球払出動作)が終了すると、受信ACK信号としての賞球終了コマンドを遊技制御用マイクロコンピュータ560に送信する。なお、賞球の払い出し(賞球払出動作)の実行中は、受信ACK信号としての賞球準備中コマンドが遊技制御用マイクロコンピュータ560に送信される。
次に、賞球処理(ステップS26)について説明する。図16および図17は、賞球処理を示すフローチャートである。賞球処理において、CPU56は、受信ACK信号(接続OKコマンド、賞球終了コマンド、賞球準備中コマンド)を受信したかどうかを確認し(ステップS501)、受信ACK信号を受信していない場合は(ステップS501のN)、1秒を計測する1s計測タイマがタイムアウトしたかどうかを確認する(ステップS502)。1s計測タイマがタイムアウトしていなければ(ステップS502のN)、CPU56は、1s計測タイマの値を−1し(ステップS512)、10秒を計測する10s計測タイマがタイムアウトしたかどうかを確認する(ステップS513)。10s計測タイマがタイムアウトしていなければ(ステップS513のN)、10s計測タイマの値を−1する(ステップS514)。一方、10s計測タイマがタイムアウトしたときは(ステップS513のY)、通信エラーが発生した場合であり、CPU56は、払出制御用マイクロコンピュータ370に対して接続確認コマンドを送信する処理を実行する(ステップS511)。このような処理によって、通信エラーが発生したときは、10秒ごとに接続確認コマンドが送信されることになる。その後、CPU56は、送信済フラグをセットして(ステップS510)、処理を終了する。
この実施の形態において、「コマンドの送信」は、シリアル通信回路の送信データレジスタにコマンドのデータを書き込むことが該当する。すなわち、このようにシリアル通信回路の送信データレジスタにコマンドのデータが書き込まれることよりシリアル通信によってコマンドが送信される。このことは、遊技制御用マイクロコンピュータ560および払出制御用マイクロコンピュータ370のいずれのコマンド送信においても同じである。
ステップS502において、1s計測タイマがタイムアウトしたときは(ステップS502のY)、CPU56は、賞球個数コマンドまたは接続確認コマンドの送信済みであることを示す送信済フラグがセットされているかどうかを確認する(ステップS503)。送信済フラグがセットされていれば(ステップS503のY)、上記のステップS513の処理に続いてS514またはS511の処理を実行する。送信済フラグがセットされていなければ(ステップS503のN)、CPU56は、払出制御用マイクロコンピュータ370から前回受信した受信ACK信号(接続OKコマンド、賞球準備中コマンド)にエラー情報が含まれていたがどうかを確認する(ステップS504)。受信ACK信号にエラー情報が含まれていたかどうかは、後述する入力データ確認処理(図22)におけるステップS586でエラー情報フラグがセットされたかどうかによって確認する。受信ACK信号にエラー情報が含まれていた場合は(ステップS504のY)、賞球要求信号としての接続確認コマンドを払出制御用マイクロコンピュータ370に送信する処理を実行する(ステップS511)。受信ACK信号にエラー情報が含まれていなかった場合には(ステップS504のN)、CPU56は、賞球払出動作の実行中(正常な状態であれば賞球個数コマンドを送信したことに基づいて賞球動作の実行中となる)であることを示す賞球中フラグがセットされているかどうかを確認する(ステップS505)。
賞球中フラグがセットされていれば(ステップS505のY)、CPU56は、接続確認コマンドを送信する処理を実行する(ステップS511)。賞球中フラグがセットされていなければ(ステップS505のN)、CPU56は、未払出賞球個数があるかどうかを確認する(ステップS506)。未払出賞球個数があるかどうかは、賞球コマンド出力カウンタの値が0であるかどうか(0であれば未払出賞球個数がなく、0でなければ未払出賞球個数がある)を確認することが可能である。未払出賞球個数がなければ(ステップS506のN)、接続確認コマンドを送信する処理を実行する(ステップS511)。未払出賞球個数があれば(ステップS506のY)、CPU56は、未払出賞球個数に応じた賞球個数を示す賞球個数コマンドを送信する処理を実行する(ステップS508)。
賞球個数コマンドを送信する際には、所定の賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「3」)が設定され、その後に、賞球コマンド出力カウンタと、賞球数を指定する賞球指定データとが、順次設定されている。賞球コマンド出力カウンタとは、入賞口への入賞数をカウントするカウンタであり、例えば、RAM55に設定され、入力判定処理(ステップS2124)で更新される。また、遊技制御用マイクロコンピュータ560は、賞球数(0〜15個)毎に、対応する賞球コマンド出力カウンタを備える。この実施の形態では、遊技制御用マイクロコンピュータ560は、賞球数「3」に対応する賞球コマンド出力カウンタ1と、賞球数「10」に対応する賞球コマンド出力カウンタ2と、賞球数「15」に対応する賞球コマンド出力カウンタ3とを備える。なお、各賞球コマンド出力カウンタは、後述するように、タイマ割込処理の入力判定処理でカウントアップされる。CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ3が0でなければ、賞球数(15個)を指定する賞球指定データにもとづいて賞球個数(15個)を示すデータを賞球要求信号に設定し、当該設定された賞球要求信号を賞球個数コマンドとして払出制御用マイクロコンピュータ370に送信する。また、CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ3の値が0であり、賞球コマンド出力カウンタ2の値が0でなければ、賞球数(10個)を指定する賞球指定データにもとづいて賞球個数(10個)を示すデータを賞球要求信号に設定し、当該設定された賞球要求信号を賞球個数コマンドとして払出制御用マイクロコンピュータ370に送信する。また、CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ3および賞球コマンド出力カウンタの値が0であり、賞球コマンド出力カウンタ1の値が0でなければ、賞球数(3個)を指定する賞球指定データにもとづいて賞球個数(3個)を示すデータを賞球要求信号に設定し、当該設定された賞球要求信号を賞球個数コマンドとして払出制御用マイクロコンピュータ370に送信する。
次に、CPU56は、賞球中フラグをセットし(ステップS509)、送信済フラグをセットして(ステップS510)、処理を終了する。なお、ステップS524の処理を行う前に、賞球準備中コマンドの受信を確認し、賞球準備中コマンドを受信した場合に賞球中フラグをセットするようにしてもよい。また、コマンドの送信を行う前に賞球数を減算する減算処理を行うようにしてもよい。また、ステップS510の処理の前または後にステップS521(1s計測タイマのセット)やステップS522(10s計測タイマのセット)の処理を行うようにしてもよい。
ステップS501において、受信ACK信号を受信しているときは(ステップS501のY)、CPU56は、1s計測タイマをセットし(ステップS521)、10s計測タイマをセットし(ステップS522)、送信済フラグをリセットする(ステップS523)。そして、CPU56は、賞球終了コマンドを受信したかどうか、すなわち、受信ACK信号が賞球終了コマンドであるかどうかを確認する(ステップS524)。賞球終了コマンドであれば、賞球中フラグをリセットして(ステップS525)、処理を終了する。なお、この実施の形態では、払出制御用マイクロコンピュータ370側がエラー状態に設定された場合であっても、一度送信した賞球個数コマンドを再度送信することは行わない。
上記のように、この実施の形態では、賞球要求信号としての賞球個数コマンドを送信するときに、賞球コマンド出力カウンタの値を1減算する減算処理を実行する。このとき、払出制御用マイクロコンピュータ370は、賞球個数コマンドで指定された個数の賞球払出をまだ行っていない。賞球払出が完了したときに賞球コマンド出力カウンタの減算処理を行うように構成すると、賞球払出中に不正に遊技機の電力供給を停止させた後に電力供給を復旧させるような不正行為によって、不正に多数の賞球払出が行われてしまう。例えば、賞球個数コマンドで15個の賞球払出が指令された場合に、10個の賞球払出がなされた時点で、不正に遊技機の電力供給を停止させた後に電力供給を復旧させると、賞球コマンド出力カウンタの内容はなんら減算されていないので、実際には10個の賞球払出はなされているにも関わらず、その10個の賞球払出はなされていないものとして、賞球制御を続行してしまう。しかし、この実施の形態では、賞球個数コマンドを送信したときに、賞球コマンド出力カウンタの減算処理が実行されるので、上記の不正行為を防止することができる。
また、CPU56は、受信ACK信号としての賞球終了コマンドを受信したときに、賞球コマンド出力カウンタの減算処理を行うように構成すると、CPU56が賞球終了コマンドの受信を認識できない場合は、何度も賞球個数コマンドを送信してしまい、過度の賞球払出が行われてしまうおそれがあるが、この実施の形態では、賞球個数コマンドを送信したときに、賞球コマンド出力カウンタの減算処理が実行されるので、上記の不都合が生じることを防止することができる。
次に、メイン処理における特別図柄プロセス処理(ステップS27)を説明する。図18は、遊技制御用マイクロコンピュータ560のCPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。遊技制御用マイクロコンピュータ560のCPU56は、遊技盤6に設けられている始動入賞口14に遊技球が入賞したことを検出するための始動口スイッチ14aがオンしていたら、すなわち遊技球が始動入賞口14に入賞し、入賞検出信号SSが始動口スイッチ14aから入力されていたら(ステップS311)、始動口スイッチ通過処理(ステップS312)を行った後に、内部状態に応じて、ステップS300〜S308のうちのいずれかの処理を行う。
始動口スイッチ通過処理において、遊技制御用マイクロコンピュータ560のCPU56は、例えば、始動入賞カウンタが示す始動入賞記憶数(または特図保留メモリ570が記憶している始動入賞記憶数)が最大値である4に達していなければ、タイマ割込処理の実行回数が所定回数(例えば2回)に達しているか否かを確認する。そして、タイマ割込処理の実行回数が所定回数に達している場合、CPU56は、特定した乱数回路503の乱数値記憶回路531に出力制御信号SCを出力し、乱数値記憶回路531を読出可能(イネイブル)状態に制御する。さらに、CPU56は、乱数回路503の乱数値記憶回路531から、乱数値として記憶されているランダムRの値を読み出し、読み出したランダムRの値を、始動入賞記憶数の値に対応した保存領域(特別図柄判定用バッファ(特図保留メモリ570))に格納する。また、CPU56は、乱数値記憶回路531への出力制御信号SCの出力を停止し、乱数値記憶回路531を読出不能(ディセイブル)状態に制御する。そして、CPU56は、所定のバッファ領域に格納したランダムRの値を特図保留メモリ570の空エントリの先頭にセットし、始動入賞カウンタのカウント数を1加算することで始動入賞記憶数を1増やした後に始動口スイッチ通過処理を終了する。なお、CPU56は、始動入賞記憶するが最大値である4に達している場合および割込処理の実行回数が所定回数に達してない場合には、そのまま始動口スイッチ通過処理を終了する。
特別図柄通常処理(ステップS300):特別図柄の可変表示を開始できる状態(例えば、特別図柄表示器8において図柄の変動がなされておらず、特別図柄表示器8における前回の図柄変動が終了してから所定期間が経過しており、かつ、大当り遊技中でもない状態)になるのを待つ。特別図柄の可変表示が開始できる状態になると、特別図柄についての始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、特図保留メモリ570に記憶されている乱数回路503が発生したランダムRにもとづいて、特別図柄の可変表示の結果を大当りとするか否か決定する。そして、内部状態(特別図柄プロセスフラグ)をステップS301に移行するように更新する。
特別図柄停止図柄設定処理(ステップS301):特別図柄の可変表示後の停止図柄を決定する。そして、内部状態(特別図柄プロセスフラグ)をステップS302に移行するように更新する。
変動時間設定処理(ステップS302):変動パターンを決定し、その変動パターンにおける変動時間(可変表示時間:可変表示を開始してから表示結果が導出表示(停止表示)するまでの時間)を特別図柄の可変表示の変動時間とすることに決定する。また、決定した特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態(特別図柄プロセスフラグ)をステップS303に移行するように更新する。
特別図柄変動処理(ステップS303):所定時間(ステップS302の変動時間タイマで示された時間)が経過すると、内部状態(特別図柄プロセスフラグ)をステップS304に移行するように更新する。
特別図柄停止処理(ステップS304):演出制御基板80に対して、飾り図柄の停止を指示するための飾り図柄停止コマンドを送信する。また、特別図柄表示器8における特別図柄を停止させる。そして、特別図柄の停止図柄が大当り図柄である場合には、内部状態(特別図柄プロセスフラグ)をステップS305に移行するように更新する。そうでない場合には、内部状態をステップS300に移行するように更新する。なお、飾り図柄停止コマンドを送信しない構成としてもよい。この場合、演出制御基板80は、中継基盤77を経由して主基板31から受信した変動パターンコマンドにもとづいて変動時間タイマに変動時間を設定するとともに、その変動時間タイマを更新していくことで飾り図柄の変動時間を独自に監視し、その変動時間が経過したと判定したときに飾り図柄を停止する処理を行うようにすればよい。
大入賞口開放前処理(ステップS305):大入賞口を開放する制御を開始する。具体的には、カウンタ(例えば大入賞口に入った遊技球数をカウントするカウンタ)やフラグ(入賞口への入賞を検出する際に用いられるフラグ)を初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当り中フラグをセットする。そして、内部状態(特別図柄プロセスフラグ)をステップS306に移行するように更新する。
大入賞口開放中処理(ステップS306):大入賞口ラウンド表示の演出制御コマンドを演出制御基板80に送出する制御や大入賞口の閉成条件(例えば、大入賞口に所定個数(例えば10個)の遊技球が入賞したこと)の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、内部状態をステップS307に移行するように更新する。
特定領域有効時間処理(ステップS307):大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS305に移行するように更新する。また、全てのラウンドを終えた場合には、内部状態をステップS308に移行するように更新する。なお、V入賞領域を設けた場合、V入賞スイッチの有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。
大当り終了処理(ステップS308):大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御手段に行わせるための制御を行う。そして、内部状態をステップS300に移行するように更新する。
次に、特別図柄プロセス処理における特別図柄通常処理(ステップS300)について説明する。図19は、特別図柄通常処理を示すフローチャートである。特別図柄通常処理において、遊技制御用マイクロコンピュータ560のCPU56は、特別図柄の変動を開始することができる状態のとき(例えば特別図柄プロセスフラグの値がステップS300を示す値となっている場合)には(ステップS380)、特図保留メモリ570から保留番号「1」に対応して格納されているランダムRの値を読み出す(ステップS381)。この場合、CPU56は、始動入賞カウンタのカウント数を1減算することで保留記憶数を1減らし、且つ、特図保留メモリ570の第2〜第4エントリ(保留番号「2」〜「4」)に格納されたランダムRの値を1エントリずつ上位にシフトする(ステップS382)。
また、CPU56は、確変フラグがセットされているか否かを確認する(ステップS383)。すなわち、CPU56は、遊技状態が確変状態に制御されているか否かを確認する。確変フラグがセットされていない場合、CPU56は、遊技状態が確変状態以外の通常状態であると判断し、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、通常時大当り判定テーブル571a(図7(A)参照)を設定する(ステップS384)。また、確変フラグがセットされている場合、CPU56は、遊技状態が確変状態であると判断し、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、確変時大当り判定テーブル571b(図7(B)参照)を設定する(ステップS385)。
CPU56は、始動口スイッチ通過処理において所定のバッファ領域に格納したランダムRの値にもとづいて、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定する(ステップS386)。この場合、CPU56は、ステップS384で設定した通常時大当り判定テーブル571aまたはステップS385で設定した確変時大当り判定テーブル571bを用いて、大当りとするか否かを判定する。
特別図柄表示装置8の表示結果を大当り図柄とすると決定すると、CPU56は、大当り状態であることを示す大当りフラグをオン状態にする(ステップS387)。また、特別図柄表示装置8の表示結果を大当り図柄としないと決定すると、CPU56は、大当りフラグをオフ状態にする(ステップS388)。そして、CPU56は、特別図柄プロセスフラグの値を特別図柄停止図柄設定処理に対応した値に更新する(ステップS389)。
次に、タイマ割込処理におけるスイッチ処理(ステップS20)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図20は、スイッチ処理で使用されるRAM55に形成される各2バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば2ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
図21は、遊技制御処理におけるステップS20のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、遊技制御用マイクロコンピュータ560は、まず、入力ポート0に入力されているデータを入力し(ステップS101)、入力したデータをポートバッファにセットする(ステップS102)。
次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS103)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS104,S105)。
ウェイトカウンタの値が0になると、再度、入力ポート0のデータを入力し(ステップS106)、入力したデータとポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS107)。そして、論理積の演算結果を、ポートバッファにセットする(ステップS108)。ステップS103〜S108の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]の時間間隔を置いて入力ポート0から入力した2回の入力データのうち、2回とも「1」になっているビットのみが、ポートバッファにおいて「1」になる。つまり、所定期間としての[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファにおける対応するビットが「1」になる。
さらに、遊技制御用マイクロコンピュータ560は、前回ポートバッファにセットされているデータとポートバッファにセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS109)。排他的論理和の演算結果において、前回(例えば2ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。遊技制御用マイクロコンピュータ560は、さらに、排他的論理和の演算結果と、ポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS110)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが「1」として残る。
そして、遊技制御用マイクロコンピュータ560は、ステップS110における論理積の演算結果をスイッチオンバッファにセットし(ステップS111)、ステップS108における演算結果がセットされているポートバッファの内容を前回ポートバッファにセットする(ステップS112)。
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば2ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファにおいて「1」になっている。
図22は、入力データ確認処理を示すフローチャートである。入力データ確認処理において、CPU56は、シリアル通信回路505のデータ(入力データ)を読み込み(ステップS581)、入力データと、RAMに形成されている入力データバッファの内容との間でビット毎に排他的論理和をとる(ステップS582)。入力データとRAMに形成されている入力データバッファの内容との間で、論理(「1」または「0」の意味)が異なっているビットがあれば、8ビットの排他的論理和の演算結果は00(H)にはならない。
そして、CPU56は、排他的論理和の演算結果が00(H)であるか否か判定する(ステップS583)。演算結果が00(H)であれば処理を終了する。演算結果が00(H)でなければ、入力データを入力データバッファに保存し(ステップS584)、入力データ(受信ACK信号のデータ)にエラー情報が含まれているかどうかを確認する(ステップS585)。なお、ステップS585の処理は、入力データの下位4ビットがゼロであるか否かを判定(ゼロフラグで判定するなど)する処理である。入力データにエラー情報が含まれている場合は、受信ACK信号にエラー情報が含まれている(設定されている)ことを示すエラー情報フラグをセットし(ステップS586)、入力データをコマンドバッファに設定する(ステップS587)。そして、演出制御コマンド送信要求フラグをセットする(ステップS588)。なお、ステップS585において、入力データの下位4ビットがゼロであるか否かを判定するのではなく、下位4ビットに変化があるか否かを判定し、変化があると判定した場合には、入力データをコマンドバッファに設定し(ステップS587)、演出制御コマンド送信要求フラグをセットする(ステップS588)ようにしてもよい。一方、受信ACK信号にエラー情報が含まれていない場合にはエラー情報フラグをリセットする(ステップS589)。CPU56は、ステップS29の演出制御コマンド制御処理で、演出制御コマンド送信要求フラグがセットされていることを確認したら、コマンドバッファの内容を演出制御コマンドとして送信する。なお、演出制御コマンド制御処理で演出制御コマンドを送信するのではなく、演出制御コマンド送信要求フラグをセットすることに代えて、直ちに演出制御コマンドを送信するようにしてもよい。また、演出制御コマンドを受信した演出制御用マイクロコンピュータ100の演出制御用CPU101は、例えば、受信した演出制御コマンドのビットを確認し、エラー状態となっているビットに対応したエラー報知を実行する。なお、演出制御用CPU101は、いずれのビットがエラー状態となっていかに関わらず、共通のエラー報知を実行するようにしてもよい。
以上のような制御によって、シリアル通信回路505の入力データが変化したことを条件に、入力データが演出制御用マイクロコンピュータ100に伝達される。その際に、遊技制御用マイクロコンピュータ560は、入力データを、そのまま演出制御コマンドとして送信する。よって、シリアル通信回路505に入力される信号が示す情報が多数あっても、遊技制御手段の制御負担は軽い。ただし、シリアル通信回路505の入力データを一旦取り込んで、取り込んだデータを、毎回、入力データバッファに保存するようにしてもよい。
また、入力データが変化したことを条件に入力データに関する演出制御コマンドが主基板31から出力されるので、例えば、所定の制御期間(2ms間隔の期間)に常に1回演出制御コマンドを送信するように構成されている場合に比べて、演出制御コマンドの送信周期が把握されづらくなる。つまり、所定の制御期間の周期が把握されづらくなる。所定の制御期間では、大当りに関わる乱数を生成するためのカウンタの値が1ずつ更新されるので、所定の制御期間の周期が把握されやすいとカウンタの値が所定値になるタイミングが把握されやすくなる。所定のタイミングとは、大当り判定用乱数をソフトウェアで作成したり、大当り図柄決定用乱数にもとづいて確変大当りとするか否か決定するように構成されている場合における大当り判定用乱数の値が大当り判定値と一致するタイミングや大当り図柄決定用乱数の値が確変図柄に対応する値と一致するタイミングなどである。カウンタの値が所定値になるタイミングが把握されやすくなるということは、不正行為を受けやすくなるということであるが、この実施の形態では、不正行為を受けにくくすることができる。
次に、タイマ割込処理における入力判定処理(ステップS21)を説明する。入力判定処理では、図23に示す賞球コマンド出力カウンタ処理テーブルが使用される。賞球コマンド出力カウンタ処理テーブルは、ROM54に設定されている。賞球コマンド出力カウンタ処理テーブルの先頭アドレスには処理数(この例では「6」)が設定され、その後に、スイッチオンバッファ(2バイトのスイッチオンバッファのうちの入力ポート0に対応する方)の下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球コマンド出力カウンタが、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。また、賞球コマンド出力カウンタ処理テーブルにおいて、6つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。なお、この実施の形態では、ROM54およびRAM55のアドレスは16ビットで指定される。
図24は、入力判定処理を示すフローチャートである。入力判定処理において、CPU56は、賞球コマンド出力カウンタ処理テーブルの先頭アドレスをポインタにセットする(ステップS2111)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS2112)。次に、スイッチオンバッファの上位アドレス(8ビット)を2バイトのチェックポインタの上位1バイトにセットする(ステップS2113)。
そして、ポインタの値を1増やし(ステップS2114)、ポインタが指す賞球コマンド出力カウンタ処理テーブルのデータ(この場合にはスイッチオンバッファの下位アドレス)をチェックポインタの下位1バイトにセットした後(ステップS2115)、ポインタの値を1増やす(ステップS2116)。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし(ステップS2117)、ロードした内容と、ポインタが指す賞球コマンド出力カウンタ処理テーブルのデータ(この場合にはスイッチ入力ビット判定値)との論理積をとる(ステップS2118)。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の7ビットが0になる。そして、ポインタの値を1増やす(ステップS2119)。
ステップS2118における演算結果が0でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば(ステップS2120)、ポインタが指す賞球コマンド出力カウンタ(賞球コマンド出力カウンタ処理テーブルのデータ)のカウント値をロードする(ステップS2121)。また、CPU56は、ロードしたカウント値に1を加算する(ステップS2122)。
次いで、CPU56は、加算結果が256であるか否かを確認する(ステップS2123)。加算結果が256でなければ(すなわち、255以下であれば)、CPU56は、ポインタが指す賞球コマンド出力カウンタに加算結果をストアする(ステップS2124)。加算結果が256であれば、CPU56は、ポインタが指す賞球コマンド出力カウンタに加算結果をストアすることなく、ステップS2125に移行する。
この実施の形態では、各賞球コマンド出力カウンタのカウント値の最大値が255に設定されている。そのため、ステップS2123,S2124の処理では、カウント値が255に達するまでは、入賞口への遊技球の入賞を検出する毎に、賞球コマンド出力カウンタのカウント値が1ずつ加算される。そして、カウント値が255に達すると、入賞口への遊技球の入賞を検出しても、賞球コマンド出力カウンタのカウント値は更新されない。
また、この実施の形態では、CPU56は、賞球コマンド出力カウンタのカウント値をカウントアップすることによって、払い出すべき賞球数を特定可能なデータを記憶手段に記憶させる。なお、CPU56は、例えば、払い出すべき賞球数を所定のバッファに直接記憶させるようにしてもよい。また、CPU56は、賞球数そのものを記憶させるのではなく、例えば、払い出すべき賞球数を示すデータを所定のバッファに記憶させるようにしてもよい。この場合、CPU56は、例えば、賞球数3に対してデータ「01」を記憶させ、賞球数10に対してデータ「02」を記憶させる等の制御を行ってもよい。
ステップS2125では処理数を1減らし、処理数が0でなければステップS2114に戻る(ステップS2126)。処理数が0であれば、処理を終了する。
次に、払出制御手段(払出制御用マイクロコンピュータ370)の動作を説明する。払出制御手段における出力ポートのうち、出力ポート0は、ステッピングモータによる払出モータ289に供給される各相の信号を出力するための出力ポートである。また、出力ポート1は、7セグメントLEDによるエラー表示LED374の各セグメント出力の出力ポートである。なお、払出制御基板37には、カードユニット50へのEXS信号およびPRDY信号を出力するための出力ポート3も設けられている。
払出制御手段における入力ポート0のビット4には、主基板31からの接続確認信号が入力される。また、ビット6,7には、それぞれ、球切れスイッチ187の検出信号、および払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット1〜3には、それぞれ、払出個数カウントスイッチ301の検出信号、エラー解除スイッチ375からの操作信号、満タンスイッチ48の検出信号が入力される。入力ポート1のビット4〜6には、それぞれ、カードユニット50からのVL信号、BRDY信号、BRQ信号が入力される。
次に、払出制御手段の動作について説明する。図25は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用マイクロコンピュータ370の払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの設定を行い(ステップS704)、CTCおよびPIOの設定を行う(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。また、賞球未払出個数カウンタ初期値として0000(H)をセットする(ステップS707)。なお、この実施の形態では、払出制御手段で記憶される情報はバックアップされていないため、RAM領域のフラグやカウンタなどの情報は、電源の再投入が行われると初期化される。
また、この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
この実施の形態では、払出制御用マイクロコンピュータ370でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。
次に、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS712)。また、RAM領域のフラグやカウンタなどに初期値を設定する(ステップS713)。ステップS713の処理には、賞球未払出個数カウンタ初期値を賞球未払出個数カウンタにセットする処理が含まれる。
また、払出制御用CPU371は、シリアル通信回路380を初期設定するシリアル通信回路設定処理を実行する(ステップS713a)。この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行うシリアル通信回路設定処理(ステップS15a参照)と同様の処理に従って、シリアル通信回路380に遊技制御用マイクロコンピュータ560とシリアル通信させるための設定を行う。
シリアル通信回路380を初期設定すると、払出制御用CPU371は、シリアル通信回路380の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS713b)。この場合、この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行う優先順位の初期設定処理(ステップS15b参照)と同様の処理に従って、割込処理の優先順位を初期設定する。
そして、定期的にタイマ割込がかかるように払出制御用マイクロコンピュータ370に設けられているCTCのレジスタの設定を行う(ステップS714)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS715)。その後、タイマ割込の発生を監視するループ処理に入る。
上記のように、この実施の形態では、払出制御用マイクロコンピュータ370の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用マイクロコンピュータ370の払出制御用CPU371は、タイマ割込処理を実行する。
図26は、払出制御手段が実行するタイマ割込処理の例を示すフローチャートである。タイマ割込処理にて、払出制御用マイクロコンピュータ370の払出制御用CPU371は、払出制御処理として以下の処理を実行する。まず、払出制御用CPU371は、入力判定処理を行う(ステップS751)。入力判定処理は、入力ポート0のビット4〜6および入力ポート1のビット3〜6の状態を検出して検出結果をRAMの所定の1バイト(入力状態フラグと呼ぶ。)に反映する処理である。なお、払出制御処理において、入力ポート0のビット4〜6および入力ポート1のビット3〜6の状態にもとづいて制御を行う場合には、直接入力ポートの状態をチェックするのではなく、入力状態フラグの状態をチェックする。
次に、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
また、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。次いで、払出制御用CPU371は、各種コマンドを送受信する主制御通信処理を実行する(ステップS755)。さらに、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの賞球個数コマンドが示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS756)。
そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。
本実施の形態では、エラー処理において各種エラー(例えば、満タンエラーや球切れエラー、プリペイドカードユニット未接続エラー)が検出されると、検出されたエラーに対応するエラービットがセットされる。そして、ステップS759の表示制御処理において、エラービットがセットされていることにもとづいて、払出制御用CPU371は、エラー表示LED374に所定の表示を行う。また、払出制御用CPU371は、表示制御処理において、賞球払出を行っている状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球払出を終了したら、賞球LED51を消灯するための制御を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ、出力ポート2バッファ)が設けられているのであるが、払出制御用CPU371は、出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファの内容を出力ポートに出力する(ステップS760:出力処理)。出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファは、払出モータ制御処理(ステップS753)、プリペイドカード制御処理(ステップS754)、主制御通信処理(ステップS755)、情報出力処理(ステップS758)および表示制御処理(ステップS759)で更新される。
次に、ステップS755の主制御通信処理において、払出制御用マイクロコンピュータ370の払出制御用CPU371が各種コマンドを送受信する動作を説明する。図14に示すように、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560と各種コマンドをシリアル通信するシリアル通信回路380を内蔵している。払出制御用マイクロコンピュータ370は、シリアル通信回路380を用いて、遊技制御用マイクロコンピュータ560から図13に示す賞球個数コマンドを受信する。なお、賞球個数コマンドを受信したときに、受信したことを示すコマンドを遊技制御用マイクロコンピュータ560に送信するようにしてもよい。
また、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56と同様に、割り込み許可状態である間にシリアル通信回路380からの割り込み要求があると、シリアル通信回路380が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。この実施の形態では、払出制御用CPU371は、割り込み原因がシリアル通信回路380が受信データを受信したことであると特定すると、受信時割込処理を実行する。この場合、払出制御用CPU371は、シリアル通信回路380が受信データを受信していることを示す受信時割込フラグをセットする。なお、払出制御用CPU371は、受信時割込処理において、受信時割込フラグをセットするのでなく、シリアル通信回路380の受信データレジスタからデータを読み込んでもよい。この場合、例えば、払出制御用CPU371は、受信時割込処理において、読み込んだ受信データが賞球個数コマンドであるか否かを判断する。また、受信データが賞球個数コマンドである場合、払出制御用CPU371は、賞球個数コマンドが示す賞球数を賞球未払出個数カウンタに加算してもよい。そのようにすれば、後述する主制御通信処理において、受信時割込フラグがセットされていることにもとづいて受信データが賞球個数コマンドであるか否かを判定し(後述するステップS542〜S545参照)、賞球数を賞球未払出個数カウンタに加算する処理(後述するステップS546b参照)を実行する必要がなくなる。
図27は、払出制御用マイクロコンピュータ370の払出制御用CPU371が、主基板31の遊技制御手段(遊技制御用マイクロコンピュータ560)と通信を行う主制御通信処理を示すフローチャートである。なお、主制御通信処理は、タイマ割込処理内の処理として実行される。ただし、主制御通信処理を遊技制御用マイクロコンピュータ560からのコマンド(賞球要求信号としての接続確認コマンドや賞球個数コマンド)を受信したことにもとづくコマンド受信割込処理(シリアル通信回路380の受信データレジスタにデータが格納されたときに発生する内部割込である受信割込にもとづく割込処理)内の処理として実行するように構成してもよい。
主制御通信処理において、払出制御用CPU371は、接続確認信号がオン状態であるか否かを確認する(ステップS541)。なお、接続確認信号がオン状態であるということは、電力供給がなされ遊技制御手段において遊技の進行を制御可能な状態であることを意味し、接続確認信号がオフ状態であるということは、電力供給停止時処理が開始され遊技制御手段において遊技の進行が不能な状態であることを意味する(接続確認信号は、電力供給停止時処理における出力ポートクリア処理でオフ状態にされる。)。
払出制御用CPU371は、シリアル通信回路380が受信したデータを格納する受信データレジスタからデータを読み込む(ステップS542)。そして、払出制御用CPU371は、賞球要求信号としての接続確認コマンドを受信したかどうかを確認し(ステップS543)、接続確認コマンドを受信したとき(受信データレジスタから読み込んだデータが接続確認コマンドであるとき)は(ステップS543のY)、接続OKコマンドの上位4ビットのデータをRAM55の所定のデータ格納領域にセットする(ステップS547)。また、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生したとき、つまり、エラー処理で賞球エラーフラグ、満タンエラーフラグ、球切れエラーフラグまたはドア開放エラーフラグがセットされたときは(ステップS548のY)、接続OKコマンドのデータにエラー情報を付加する。具体的には、エラー状態を示す情報(エラー情報)を接続OKコマンドの下位4ビットに設定する(ステップS549)。この実施の形態では、エラーの内容を示すデータを、受信ACK信号の所定ビットを異ならせることにより設定するように構成されており、具体的には、エラー状態に応じて下位4ビットの内容が異なるように設定される。例えば、賞球エラーが発生した場合には、1ビット目に「1」が設定される。なお、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生していないときは(ステップS548のN)、接続OKコマンドの下位4ビットに「0000」が設定される。そして、ステップS547で所定のデータ格納領域にセットされた接続OKコマンドの上位4ビットのデータと、接続OKコマンドの下位4ビットのデータ(エラー情報を示すデータまたは「0000」のデータ)を送信データレジスタに書き込むことにより、接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する(ステップS552)。
接続確認コマンドを受信していないときは(ステップS543のN)、払出制御用CPU371は、賞球払出動作が終了したかどうかを確認する(ステップS544)。なお、賞球払出動作が終了したかどうかは、例えば、払出制御コードを確認し、払出制御コードが0であるときに賞球払出動作が終了したと判断することができる。また、賞球動作中フラグを確認することにより判断するようにしてもよい。賞球払出動作が終了していれば(ステップS544のY)、払出制御用CPU371は、賞球終了コマンドのデータを送信データレジスタに書き込む(ステップS550)。なお、ステップS550の処理を実行する前(または後)に払出終了フラグをリセットする。払出終了フラグは払出処理の結果、未払出数が0になったとき(ステップS654のY)にセットされる。
賞球払出動作が終了していなければ(ステップS544のN)、払出制御用CPUは、賞球払出動作中であるかどうかを確認し(ステップS545)、賞球払出動作中であれば(ステップS545のY)、賞球準備中コマンドの上位4ビットのデータをRAM55の所定のデータ格納領域にセットする(ステップS551)。なお、賞球払出動作中であれば(ステップS545のY)、例えば、1秒ごと(1秒を計測する1s計測タイマがタイムアウトしたかどうかを確認する)に信号を送信するために賞球準備中コマンドの上位4ビットのデータをRAM55の所定のデータ格納領域にセットするようにしてもよい。また、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生したとき、つまり、賞球エラーフラグ、満タンエラーフラグ、球切れエラーフラグまたはドア開放エラーフラグがセットされたときは(ステップS548のY)、賞球準備中コマンドのデータにエラー情報を付加する。具体的には、エラー状態を示す情報(エラー情報)を賞球準備中コマンドの下位4ビットに設定する(ステップS549)。なお、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生していないときは(ステップS548のN)、接続OKコマンドの下位4ビットに「0000」が設定される。そして、ステップS551で所定のデータ格納領域にセットされた賞球準備中コマンドの上位4ビットのデータと、賞球準備中コマンドの下位4ビットのデータ(エラー情報を示すデータまたは「0000」のデータ)を送信データレジスタに書き込むことにより、賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する(ステップS552)。
賞球払出動作中でなければ(ステップS545のN)、払出制御用CPU371は、賞球要求信号としての賞球個数コマンドを受信しているかどうかを確認し(ステップS546a)、賞球個数コマンドを受信していないときには(ステップS546aのN)、主制御通信処理を終了し、賞球個数コマンドを受信しているとき(受信データレジスタから読み込んだデータが賞球個数コマンドであるとき)には(ステップS546aのY)、賞球個数コマンドが示す個数を賞球未払出個数カウンタに加算する(ステップS546b)。そして、接続OKコマンドの上位4ビットのデータをRAM55の所定のデータ格納領域にセットする(ステップS547)。また、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生したとき、つまり、賞球エラーフラグ、満タンエラーフラグ、球切れエラーフラグまたはドア開放エラーフラグがセットされたときは(ステップS548のY)、接続OKコマンドのデータにエラー情報を付加する。具体的には、エラー状態を示す情報(エラー情報)を接続OKコマンドの下位4ビットに設定する(ステップS549)。なお、賞球エラー、満タンエラー、球切れエラーまたはドア開放エラーが発生していないときは(ステップS548のN)、接続OKコマンドの下位4ビットに「0000」が設定される。そして、ステップS547で所定のデータ格納領域にセットされた接続OKコマンドの上位4ビットのデータと、接続OKコマンドの下位4ビットのデータ(エラー情報を示すデータまたは「0000」のデータ)を送信データレジスタに書き込むことにより、接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する(ステップS552)。
なお、接続OKコマンドまたは賞球準備中コマンドにエラー情報を設定する場合、エラー処理においてエラービットをセットするときに、遊技制御用マイクロコンピュータ560側に通知するエラー情報に対応するビットに対して1バイトの領域のうちの4ビットを固めてセットする。これによって、その4ビットをそのまま遊技制御用マイクロコンピュータ560側に送信するコマンドの下位4ビットにセットすることが可能となる。
図28は、ステップS756の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、球貸し中であれば球貸し未払出個数カウンタの値を1減らし(ステップS602,S604)、球貸し中でなければ賞球未払出個数カウンタの値を1減らす(ステップS602,S603)。次いで、払出制御用CPU371は、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。また、ステップS601において、払出個数カウントスイッチ301の検出信号がオン状態になっていない場合にも、払出制御用CPU371は、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。なお、図28に示す例に限らず、賞球球貸し制御処理において、例えば、賞球の払い出しを検出したときには、10個検出するごとに主基板31に出力するようにしてもよい。また、この実施の形態では、球貸し未払出個数カウンタと賞球未払出個数カウンタとをそれぞれ別に設けているが、共通の未払出個数カウンタを用いるようにしてもよい。
賞球球貸し制御処理において、払出個数カウントスイッチ301の検出信号の確認や未払出個数カウンタの減算処理を行うときには、エラービットのチェックは実行されない。従って、遊技球の払い出しに関わるエラー状態であっても、払出個数カウントスイッチ301によって遊技球の払い出しが検出される毎に、払い出された遊技球が貸し球であれば球貸し未払出個数カウンタの値を1減算し、賞球であれば賞球未払出個数カウンタの値を1減算する処理を実行する。よって、払い出しに関わるエラーが発生しても、未払出の遊技球数を正確に管理することができる。すなわち、払出制御用マイクロコンピュータ370の払出制御用CPU371がエラーの発生を検出する前に球払出装置97から払い出された遊技球は、払い出された時点からやや遅れて払出個数カウントスイッチ301によって検出されるのであるが、払出制御用CPU371は、球払出装置97から遊技球が払い出された後、その遊技球が払出個数カウントスイッチ301によって検出される前にエラーの発生を検出したような場合に、エラーの発生を検出する前に球払出装置97から払い出された遊技球を、賞球未払出個数カウンタまたは球貸し未払出個数カウンタに反映できる。
図29は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、BRDY信号がオン状態でなければ(ステップS621)、ステップS631以降の賞球払出のための処理を実行する。ただし、エラービットがセットされていたら、ステップS631以降の処理を実行しない(ステップS622)。エラーフラグにおけるエラービットには、主基板未接続エラーのビット、賞球エラー(払出スイッチ異常検知エラー1、払出スイッチ異常検知エラー2、払出ケースエラー、プリペイドカードユニット未接続エラー、プリペイドカードユニット通信エラー)のビット、満タンエラーのビット、球切れエラーのビット、ドア開放エラーのビットが含まれている。また、主基板未接続エラーは主基板31からの接続確認信号がオフ状態であるときにセットされる。従って、払出制御用CPU371は、遊技機に対して電力供給が開始された後、接続確認信号がオン状態になったことを条件に、実質的な制御を開始する。接続確認信号がオン状態であるということは、電力供給がなされ遊技制御手段において遊技の進行を制御可能な状態であるので、遊技の進行に応じた賞球の払出制御が実行可能であることを意味する。一方、接続確認信号がオフ状態であるということは、電力供給が停止され遊技制御手段において遊技の進行が不能な状態であるので、遊技の進行に応じた賞球の払出制御が実行不可能であることを意味する。よって、払出制御用CPU371は、主基板未接続エラーのビットがセットされているときには、賞球の払出制御を停止する。一方、この例では、エラービットの確認を行うことなく貸し球の払出制御を実行する構成とされており、主基板未接続エラーのビットがセットされていても、球貸し制御は継続して行う。
BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号がオン状態になっていたら(ステップS623)、払出制御用CPU371は、VL信号がオン状態であるか否かを確認する(ステップS623a)。VL信号がオン状態であれば、払出制御用CPU371は、球貸し動作中フラグをセットする(ステップS624)。そして、球貸し未払出個数カウンタに「25」をセットし(ステップS625)、払出モータ回転回数バッファに「25」をセットする(ステップS626)。なお、ステップS623aでVL信号がオン状態でなければ、払出制御用CPU371は、ステップS624以降の処理を行わず、ステップS622に進む。
払出モータ回転回数バッファは、払出モータ制御処理(ステップS753)において参照される。すなわち、払出開始待ち処理(例えば、ステップS626,S633,634)では、払出モータ回転回数バッファに駆動量(例えば、払出モータ289の回転数)に対応するデータが設定され、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
その後、払出制御用マイクロコンピュータ370は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS627)、払出制御コードの値を1にして(ステップS628)、処理を終了する。
ステップS631では、払出制御用CPU371は、賞球未払出個数カウンタの値が0であるか否かを確認する(ステップS631)。0であれば処理を終了する。賞球未払出個数カウンタの値が0でない場合には、15以上であるか否か確認する(ステップS632)。15未満であれば、払出モータ回転回数バッファに賞球未払出個数カウンタの値をセットし(ステップS633)、15以上であれば、払出モータ回転回数バッファに「15」をセットする(ステップS634)。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
図30は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される払出モータ制御処理において、セットされた値に対応した回転数分払出モータ289が回転したか否かにより、払出動作が終了したか否かを確認することができる。また例えば、払出モータ制御処理において、払出モータブレーキ処理が終了するときにその旨のフラグ(具体的には回転数バッファが0となって払出モータの駆動制御が終了したときにセットされるフラグ)をセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。なお、払出モータ制御処理では、払出制御用CPU371は、払出モータ制御コードの値に応じて、払出モータ通常処理(ポインタをROMに格納されているテーブルの先頭アドレスにセットする等の処理)、払出モータ起動処理(出力ポート0の出力状態に対応したポート0バッファのビット4〜7に励磁パターンの初期値を設定する等の処理)、払出モータスローアップ処理(払出モータ289を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応したポート0バッファのビット4〜7に設定する等の処理)、払出モータ定速処理(定期的に払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応したポート0バッファのビット4〜7に設定する等の処理)、払出モータブレーキ処理(払出モータ289を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応したポート0バッファのビット4〜7に設定する等の処理)、払出モータ球噛み処理(球噛み状態を検出した場合に、球噛みを解除するために、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応したポート0バッファのビット4〜7に設定する処理)、および払出モータ球噛み解除処理(球噛み状態が解除されたときに払出モータ通常処理に移行して通常のモータ制御状態に復帰する処理)のいずれかの処理を実行する。
払出動作が終了した場合には、払出制御用CPU371は、未払出個数があるか否かを判定する(ステップS642a)。具体的には、球貸し払出処理(球貸し動作)を実行していたか否か確認する。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否か(ステップS623,S624参照)によって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、賞球未払出個数カウンタの値が0になっていれば、未払出個数がない(すなわち、払出が完了した)と判定される。また、球貸し動作を実行している場合には、球貸し未払出個数カウンタの値が0になっていれば、未払出個数がない(すなわち、払出が完了した)と判定される。そして、未払出個数があると判定された場合、すなわち払出が完了していないと判定された場合には、払出制御用CPU371は、払出制御タイマに払出通過監視時間(例えば、250ms)をセットする(ステップS642b)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。一方、ステップS642aにおいて、未払出個数がないと判定された場合、すなわち払出が完了したと判定された場合には、払出制御用CPU371は、払出制御タイマに払出通過監視時間をセットすることなく、払出制御コードの値を2にして(ステップS643)、処理を終了する。このように、この実施の形態では、払出動作が完了した時に、払い出すべき数の遊技球が払い出されたことが既に確認されている場合には、払出通過監視時間が設定されず、すぐに次の払出動作を実行可能な状態に移行されるように構成されている。そのような構成により、払出処理の速度を向上させることができる。なお、この実施の形態では、ステップS642aにおいて、未払出個数がないと判定された場合(払出が完了したと判定された場合)には、払出制御タイマに払出通過監視時間をセットしないように構成されているが、未払出個数があると判定された場合(払出が完了していないと判定された場合)に比べて短い時間の払出通過監視時間(例えば、50ms)を払出制御タイマにセットするようにしてもよい。そのような構成によっても、払出処理の速度を向上させることができる。また、例えば、未払出個数がないと判定された場合(払出が完了したと判定された場合)には、払出制御コードを0に設定して払出モータ停止待ち処理を終了し、払出通過待ち処理を経ずに、払出開始待ち処理に移行させるようにしてもよい。
図31〜図32は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。賞球未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、再払出動作を試みる。再払出動作において払出個数カウントスイッチ301によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。なお、この実施の形態では、1回の賞球払出動作で払い出される遊技球数は最大15個であり、また、賞球払出中に賞球個数コマンドを受信したら賞球未払出個数カウンタの値が増加するので、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、1個の遊技球または球貸し残数(球貸し未払出個数カウンタの値に相当)の再払出動作を試みる。なお、この実施の形態では、1回の球貸し払出動作で払い出される遊技球数は25個(固定値)であり、25個の遊技球が払い出されるように払出モータ289を回転させたのであるから、球貸し未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を確認し、その値が0(または設定されていない状態)になっていればステップS653に移行する(ステップS650)。払出制御タイマの値が0(または設定されていない状態)でなければ、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。なお、ステップS650の処理は、払出モータ停止待ち処理において払出動作が完了した時に、払い出すべき数の遊技球が払い出されたことが既に確認されている場合には、払出通過監視時間が設定されず、すぐに次の払出動作を実行可能な状態に移行されることを考慮した処理である。この場合には、ステップS650からS653に移行するルートを経て払出開始待ち処理に移行される。また、ステップS650の処理は、後述する遊技球払出のリトライ動作が開始されたときのことも考慮した処理である。この場合には、ステップS650からS653に移行するルートを経てリトライ動作が開始される。
払出制御タイマがタイムアウトしていれば(ステップS652)、払出制御用CPU371は、未払出個数があるか否かを判定する(ステップS653)。具体的には、球貸し払出処理(球貸し動作)を実行していたか否か確認する。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否か(ステップS623,S624参照)によって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、賞球未払出個数カウンタの値が0になっていれば、未払出個数がない(すなわち、払出が完了した)と判定される。また、球貸し動作を実行している場合には、球貸し未払出個数カウンタの値が0になっていれば、未払出個数がない(すなわち、払出が完了した)と判定される。未払出個数がないと判定された場合には(例えば、賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、また球貸し未払出個数カウンタの値が0になっている場合には、正常に球貸し払出処理が完了したとして)、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する。
また、ステップS653において未払出個数があると判定された場合(例えば、賞球未払出個数カウンタの値または球貸し未払出個数カウンタの値が0になっていない場合)には、払出制御用CPU371は、エラーフラグ(例えば、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットまたは払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS659)、再払出動作を実行する。なお、エラーフラグがセットされている場合には、再払出動作を実行しない。また、この実施の形態では、例えば、払出個数カウントスイッチ301の部分において球詰まりが発生した場合には、払出スイッチ異常検知エラー1ビットが設定され、遊技球の払出動作中でないにも関わらず払出個数カウントスイッチ301の検出信号がオン状態になった場合には、払出スイッチ異常検知エラー2ビットが設定される。
再払出処理を実行するために、払出制御用CPU371は、払出モータ回転回数バッファに再払出動作個数または球貸し未払出数個数カウンタの値をセットする(ステップS666)。また、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットする。払出モータ回転回数バッファは、払出モータ制御処理(ステップS753)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。なお、ステップS666において、球貸し未払出数個数カウンタの値も取り扱われるのは、球貸し払出処理における再払出処理でもステップS666が用いられるからである。すなわち、払出制御用CPU371は、ステップS666において、賞球払出処理における再払出処理では再払出動作個数をセットし、球貸し払出処理における再払出処理では球貸し未払出数個数カウンタの値をセットする。その後、払出制御コードを1にして(ステップS667)、処理を終了する。
なお、「リトライ動作(あるいは「リトライ」、「リトライ動作処理」)」とは、所定数の遊技球の払い出しを行うための通常の払出処理を実行したのにもかかわらず、実際の払い出し数が少ない場合に実行させる動作であって、通常の払出処理とは別に、未払出の遊技球を払い出すために払出処理を再度実行させるための動作を意味する。
賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図29に示された払出開始待ち処理においてのみである。図30に示された払出モータ停止待ち処理および図31等に示された払出通過待ち処理では、エラービットはチェックされない。なお、払出通過待ち処理におけるステップS659等でもエラービットがチェックされているが、そのチェックは再払出動作を行うか否かを判断するためであって、払出動作(1回の賞球払出または1回の球貸し)を開始するか否か判定するためではない。従って、ステップS626、S633またはステップS634の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(1回の賞球払出または1回の球貸しが終了した時点)まで継続される。なお、ステップS621でチェックされるエラーフラグにおけるエラービットの中には、主基板31からの接続確認信号がオフ状態になったことを示すエラービットが含まれている。よって、接続確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。なお、遊技球の払出処理を切りのよい時点まで継続するのでなく、ステップS626、S633またはステップS634の処理が行われて遊技球の払出処理が開始された後であっても、エラーが発生すると直ちに遊技球の払出処理を停止するようにしてもよい。また、例えば、賞球球貸し制御処理のステップS607において、所定のエラーが発生したときのみ直ちに遊技球の払出処理を停止するようにしてもよい。また、払出通過監視時間が経過した後に未払出個数が少数(例えば、1個)である場合には、払出制御コードを払出開始待ち処理に対応する値0に変更し、次の払出動作のときに追加して対処する(例えば、10個の払出のときに11個分の払出動作にする)ようにしてもよい。例えば、払出通過監視時間が経過した後に未払出個数が所定数未満である場合には、払出制御用マイクロコンピュータ370は、未払出個数をRAMに記憶させ、次に遊技制御用マイクロコンピュータ560から賞球個数コマンドを受信したときに、賞球個数コマンドが示す個数にRAMに記憶させた未払出個数を加えた個数を払い出すための値を払出モータ回転回数バッファにセットする。そのようにすることで、払出処理の速度を更に向上させることができる。
図30〜図32に示すように、この実施の形態では、払出動作が完了した時に、払い出すべき数の遊技球が払い出されたことが既に確認されている場合には、払出通過監視時間が設定されず、すぐに次の払出動作を実行可能な状態に移行されるように構成されているため、払出処理の速度を向上させることができる。なお、この実施の形態では、ステップS642において払出通過幹事時間が払出制御タイマにセットされると、払出制御タイマがタイムアウトするまでの待機期間が設けられる構成になっているが、例えば、ステップS650の前に未払出個数があるか否かを確認し、未払出個数がない場合には、払出制御タイマがタイムアウトしていなくても、ステップS655に移行するようにしてもよい。このようにすることで、待機期間の経過を待つことなく、払い出すべき数の遊技球が確認できた時点で払出開始待ち処理に移行させることができ、払出処理の速度を向上させることができる。
図33は、払出動作終了時の未払出個数に応じた払出開始待ち処理が実行されるタイミングを説明するための図である。図33(A)に示すように、払出動作終了時に未払出個数が0でなければ、払出通過監視時間がセットされ、払出通過監視時間経過後に払出開始待ち処理が開始される。これに対して、図33(B)に示すように、払出動作終了時に未払出個数が0であれば、払出通過監視時間がセットされず、すぐに払出開始待ち処理が開始される。そのため、払出動作を複数回行う払出処理を実行する場合には、払出処理の速度を向上させることができる。また、図33(C)に示すように、払出動作終了時に未払出個数が0であれば、未払出個数が0でない場合(図33(A))に比べて、短い払出通過監視時間をセットするようにしてもよい。この場合にも、払出処理の速度を向上させることができる。
次に、演出制御手段の動作を説明する。図34は、演出制御基板80に搭載されている演出制御手段としての演出制御用マイクロコンピュータ100(具体的には、演出制御用CPU101)が実行するメイン処理を示すフローチャートである。演出制御用CPU101は、電源が投入されると、メイン処理の実行を開始する。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔(例えば、4ms)を決めるためのタイマの初期設定等を行うための初期化処理を行う(ステップS701)。その後、演出制御用CPU101は、タイマ割込フラグの監視(ステップS702)を行うループ処理に移行する。タイマ割込が発生すると、演出制御用CPU101は、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、演出制御用CPU101は、そのフラグをクリアし(ステップS703)、以下の演出制御処理を実行する。
演出制御処理において、演出制御用CPU101は、まず、受信した演出制御コマンドを解析し、受信した演出制御コマンドに応じたフラグをセットする処理等を行う(コマンド解析処理:ステップS704)。
次いで、演出制御用CPU101は、演出制御プロセス処理を行う(ステップS705)。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(演出制御プロセスフラグ)に対応した処理を選択して演出表示装置9の表示制御を実行する。
次いで、演出制御用CPU101は、第4図柄プロセス処理を行う(ステップS706)。第4図柄プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(第4図柄プロセスフラグ)に対応した処理を選択して演出表示装置9の第4図柄表示領域9c,9dにおいて第4図柄の表示制御を実行する。
次いで、大当り図柄決定用乱数などの乱数を生成するためのカウンタのカウント値を更新する乱数更新処理を実行する(ステップS707)。その後、ステップS702に移行する。
図35は、主基板31の遊技制御用マイクロコンピュータ560から受信した演出制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよい。
なお、遊技制御用マイクロコンピュータ560から送信された演出制御コマンドは、演出制御INT信号にもとづく割込処理で受信され、RAMに形成されているバッファ領域に保存されている。コマンド解析処理では、バッファ領域に保存されている演出制御コマンドがどのコマンドであるのか解析する。なお、演出制御INT信号にもとづく割込処理は、4msごとに実行されるタイマ割込処理に優先して実行される。
図36は、コマンド解析処理(ステップS704)の具体例を示すフローチャートである。主基板31から受信された演出制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、演出制御用CPU101は、コマンド受信バッファに格納されているコマンドの内容を確認する。
コマンド解析処理において、演出制御用CPU101は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS611)。格納されているか否かは、コマンド受信個数カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、演出制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS612)。なお、読み出したら読出ポインタの値を+2しておく(ステップS613)。+2するのは2バイト(1コマンド)ずつ読み出すからである。
受信した演出制御コマンドが変動パターンコマンドであれば(ステップS614)、演出制御用CPU101は、受信した変動パターンコマンドを、RAMに形成されている変動パターンコマンド格納領域に格納する(ステップS615)。そして、変動パターンコマンド受信フラグをセットする(ステップS616)。
受信した演出制御コマンドが表示結果指定コマンドであれば(ステップS617)、演出制御用CPU101は、受信した表示結果指定コマンド(表示結果1指定コマンド〜表示結果5指定コマンド)を、RAMに形成されている表示結果指定コマンド格納領域に格納する(ステップS618)。
受信した演出制御コマンドが図柄確定指定コマンドであれば(ステップS619)、演出制御用CPU101は、確定コマンド受信フラグをセットする(ステップS620)。
受信した演出制御コマンドが大当り開始指定コマンド(コマンドA001(H))であれば(ステップS621)、演出制御用CPU101は、大当り開始指定コマンド受信フラグをセットする(ステップS622)。
受信した演出制御コマンドが小当り/突然確変大当り開始指定コマンド(コマンドA002(H))であれば(ステップS623)、演出制御用CPU101は、小当り/突然確変大当り開始指定コマンド受信フラグをセットする(ステップS624)。
受信した演出制御コマンドが発射球検出指定コマンド(コマンドD000(H))であれば(ステップS625)、演出制御用CPU101は、打球発射装置550からの遊技球の発射を検出したことを示す発射球検出フラグをセットする(ステップS626)。
受信した演出制御コマンドがエラー検出指定コマンド(コマンドD100(H))であれば(ステップS627)、演出制御用CPU101は、遊技球に関して何らかのエラーが発生したことを示すエラー画面(例えば、「エラーが発生しています」などの文字列を含む画面)を演出表示装置9に表示する制御を行う(ステップS628)。
なお、この実施の形態では、遊技球に関するエラーを検出した場合にエラー画面を表示することによりエラー報知する場合を示しているが、この実施の形態で示した態様にかぎられない。例えば、所定の警告音をスピーカ27から出力したり所定のパターンで各ランプ・LEDを点灯または点滅させたりすることによってエラー報知してもよい。また、例えば、所定のエラー信号をターミナル基板160を介してホールコンピュータなどに外部出力することによりエラー報知するように構成してもよい。なお、所定のエラー信号を外部出力する場合、遊技制御用マイクロコンピュータ560側の処理として所定のエラー信号を外部出力するようにすればよい。例えば、遊技制御用マイクロコンピュータ560は、発射球数管理処理のステップS514やステップS517でYと判定してエラーと判定したときに、ターミナル基板160を介して所定のエラー信号を出力するようにすればよい。
受信した演出制御コマンドがその他のコマンドであれば、演出制御用CPU101は、受信した演出制御コマンドに応じたフラグをセットする(ステップS629)。そして、ステップS611に移行する。
図37は、図34に示されたメイン処理における演出制御プロセス処理(ステップS705)を示すフローチャートである。演出制御プロセス処理では、演出制御用CPU101は、演出制御プロセスフラグの値に応じてステップS800〜S807のうちのいずれかの処理を行う。各処理において、以下のような処理を実行する。なお、演出制御プロセス処理では、演出表示装置9の表示状態が制御され、演出図柄の可変表示が実現されるが、第1特別図柄の変動に同期した演出図柄の可変表示に関する制御も、第2特別図柄の変動に同期した演出図柄の可変表示に関する制御も、一つの演出制御プロセス処理において実行される。なお、第1特別図柄の変動に同期した演出図柄の可変表示と、第2特別図柄の変動に同期した演出図柄の可変表示とを、別の演出制御プロセス処理により実行するように構成してもよい。また、この場合、いずれの演出制御プロセス処理により演出図柄の変動表示が実行されているかによって、いずれの特別図柄の変動表示が実行されているかを判断するようにしてもよい。
変動パターンコマンド受信待ち処理(ステップS800):遊技制御用マイクロコンピュータ560から変動パターンコマンドを受信しているか否か確認する。具体的には、コマンド解析処理でセットされる変動パターンコマンド受信フラグがセットされているか否か確認する。変動パターンコマンドを受信していれば、演出制御プロセスフラグの値を演出図柄変動開始処理(ステップS801)に対応した値に変更する。
演出図柄変動開始処理(ステップS801):演出図柄の変動が開始されるように制御する。そして、演出制御プロセスフラグの値を演出図柄変動中処理(ステップS802)に対応した値に更新する。
演出図柄変動中処理(ステップS802):変動パターンを構成する各変動状態(変動速度)の切替タイミング等を制御するとともに、変動時間の終了を監視する。そして、変動時間が終了したら、演出制御プロセスフラグの値を演出図柄変動停止処理(ステップS803)に対応した値に更新する。
演出図柄変動停止処理(ステップS803):演出図柄の変動を停止し表示結果(停止図柄)を導出表示する制御を行う。そして、演出制御プロセスフラグの値を大当り表示処理(ステップS804)または変動パターンコマンド受信待ち処理(ステップS800)に対応した値に更新する。
大当り表示処理(ステップS804):変動時間の終了後、演出表示装置9に大当りの発生を報知するための画面を表示する制御を行う。そして、演出制御プロセスフラグの値をラウンド中処理(ステップS805)に対応した値に更新する。
ラウンド中処理(ステップS805):ラウンド中の表示制御を行う。そして、ラウンド終了条件が成立したら、最終ラウンドが終了していなければ、演出制御プロセスフラグの値をラウンド後処理(ステップS806)に対応した値に更新する。最終ラウンドが終了していれば、演出制御プロセスフラグの値を大当り終了処理(ステップS807)に対応した値に更新する。
ラウンド後処理(ステップS806):ラウンド間の表示制御を行う。そして、ラウンド開始条件が成立したら、演出制御プロセスフラグの値をラウンド中処理(ステップS805)に対応した値に更新する。
大当り終了演出処理(ステップS807):演出表示装置9において、大当り遊技状態が終了したことを遊技者に報知する表示制御を行う。そして、演出制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS800)に対応した値に更新する。
図38は、図34に示された演出制御プロセス処理における変動パターンコマンド受信待ち処理(ステップS800)を示すフローチャートである。変動パターンコマンド受信待ち処理において、演出制御用CPU101は、変動パターンコマンド受信フラグがセットされているか否か確認する(ステップS811)。変動パターンコマンド受信フラグがセットされていれば、演出制御用CPU101は、変動パターンコマンド受信フラグをリセットする(ステップS812)。そして、演出制御用CPU101は、演出制御プロセスフラグの値を演出図柄変動開始処理(ステップS801)に対応した値に更新する(ステップS813)。なお、前述したように、この実施の形態では、停電復旧時にも表示結果指定コマンドの送信が行われる(ステップS44参照)のであるが、図38に示すように、この実施の形態では、通常時には、変動パターンコマンドを受信したことにもとづいて演出図柄変動開始処理に移行し演出図柄の変動表示を開始するので、変動パターンコマンドを受信することなく表示結果指定コマンドを受信したのみでは演出図柄の変動表示は開始されない。
図39は、図37に示された演出制御プロセス処理における演出図柄変動開始処理(ステップS801)を示すフローチャートである。演出図柄変動開始処理において、演出制御用CPU101は、まず、変動パターンコマンド格納領域から変動パターンコマンドを読み出す(ステップS8000)。次いで、演出制御用CPU101は、ステップS8000で読み出した変動パターンコマンド、および表示結果指定コマンド格納領域に格納されているデータ(すなわち、受信した表示結果指定コマンド)に応じて演出図柄の表示結果(停止図柄)を決定する(ステップS8001)。すなわち、演出制御用CPU101によってステップS8001の処理が実行されることによって、可変表示パターン決定手段が決定した可変表示パターン(変動パターン)に応じて、識別情報の可変表示の表示結果(演出図柄の停止図柄)を決定する表示結果決定手段が実現される。なお、変動パターンコマンドで擬似連が指定されている場合には、演出制御用CPU101は、ステップS8001において、擬似連中の仮停止図柄としてチャンス目図柄(例えば、「223」や「445」のように、リーチとならないものの大当り図柄と1つ図柄がずれている図柄の組み合わせ)も決定する。なお、演出制御用CPU101は、決定した演出図柄の停止図柄を示すデータを演出図柄表示結果格納領域に格納する。なお、ステップS8001において、演出制御用CPU101は、受信した変動パターンコマンドにもとづいて大当りであるか否かを判定し、変動パターンコマンドのみにもとづいて演出図柄の停止図柄を決定するようにしてもよい。
図40は、演出表示装置9における演出図柄の停止図柄の一例を示す説明図である。図40に示す例では、受信した表示結果指定コマンドが「通常大当り」を示している場合には(受信した表示結果指定コマンドが表示結果2指定コマンドである場合)、演出制御用CPU101は、停止図柄として3図柄が同じ偶数図柄で揃った演出図柄の組合せを決定する。また、受信した表示結果指定コマンドが「確変大当り」を示している場合には(受信した表示結果指定コマンドが表示結果3指定コマンドである場合)、演出制御用CPU101は、停止図柄として3図柄が同じ奇数図柄で揃った演出図柄の組合せを決定する。
また、受信した表示結果指定コマンドが「突然確変大当り」や「小当り」を示している場合には(受信した表示結果指定コマンドが表示結果4指定コマンドまたは表示結果5指定コマンドである場合)、演出制御用CPU101は、停止図柄として「135」などの演出図柄の組合せを決定する。そして、「はずれ」の場合には(受信した表示結果指定コマンドが表示結果1指定コマンドである場合)、上記以外の演出図柄の組み合わせを決定する。ただし、リーチ演出を伴う場合には、左右の2図柄が揃った演出図柄の組み合わせを決定する。また、演出表示装置9に導出表示される3図柄の組合せが演出図柄の「停止図柄」である。
演出制御用CPU101は、例えば、停止図柄を決定するための乱数を抽出し、演出図柄の組合せを示すデータと数値とが対応付けられている停止図柄決定テーブルを用いて、演出図柄の停止図柄を決定する。すなわち、抽出した乱数に一致する数値に対応する演出図柄の組合せを示すデータを選択することによって停止図柄を決定する。
なお、演出図柄についても、大当りを想起させるような停止図柄(左中右が全て同じ図柄で揃った図柄の組み合わせ)を大当り図柄という。また、はずれを想起させるような停止図柄をはずれ図柄という。また、確変状態となることを想起させる図柄(この実施の形態では、奇数図柄)を確変図柄ともいい、確変状態とならないことを想起させる図柄(この実施の形態では、偶数図柄)を非確変図柄ともいう。
次いで、演出制御用CPU101は、演出図柄の変動表示中に演出表示装置9において予告演出を実行するか否かを決定したり、実行する予告演出の種類を決定する予告演出設定処理を実行する(ステップS8002)。
なお、この実施の形態では、ステップS8002の予告演出設定処理において、予告演出として音ステップアップ予告演出の有無および種類を決定する場合を説明する。「音ステップアップ予告演出」とは、打球発射装置550からの遊技球の発射に応じてスピーカ27から音を出力する態様の予告演出であって、予め定められた順番に従って1段階から複数段階までスピーカ27から出力する音の音階を段階的に変化させる予告演出のことをいう。この実施の形態では、特定表示結果(大当り)とする場合は特定表示結果としない場合よりも音ステップアップ予告演出において多い段階まで音階を段階的に変化させる予告演出を実行する割合が高くなる。
なお、ステップS8002の予告演出設定処理において、音ステップアップ予告演出にかぎらず、例えば、ミニキャラ予告演出や群予告演出、モチーフ予告演出、可動物予告演出など様々な予告演出を決定するように構成してもよい。
次いで、演出制御用CPU101は、変動パターンおよび予告演出を実行する場合にはその予告演出に応じたプロセステーブルを選択する(ステップS8003)。そして、選択したプロセステーブルのプロセスデータ1におけるプロセスタイマをスタートさせる(ステップS8004)。
図41は、プロセステーブルの構成例を示す説明図である。プロセステーブルとは、演出制御用CPU101が演出装置の制御を実行する際に参照するプロセスデータが設定されたテーブルである。すなわち、演出制御用CPU101は、プロセステーブルに設定されているプロセスデータに従って演出表示装置9等の演出装置(演出用部品)の制御を行う。プロセステーブルは、プロセスタイマ設定値と表示制御実行データ、ランプ制御実行データおよび音番号データの組み合わせが複数集まったデータで構成されている。表示制御実行データには、演出図柄の可変表示の可変表示時間(変動時間)中の変動態様を構成する各変動の態様を示すデータ等が記載されている。具体的には、演出表示装置9の表示画面の変更に関わるデータが記載されている。また、プロセスタイマ設定値には、その変動の態様での変動時間が設定されている。演出制御用CPU101は、プロセステーブルを参照し、プロセスタイマ設定値に設定されている時間だけ表示制御実行データに設定されている変動の態様で演出図柄を表示させる制御を行う。
図41に示すプロセステーブルは、演出制御基板80におけるROMに格納されている。また、プロセステーブルは、各変動パターンに応じて用意されている。
なお、演出制御用CPU101は、予告演出を実行することに決定されている場合には、ステップS8003において予告演出に対応したプロセステーブルを選択する。
また、リーチ演出を伴う変動パターンについて演出制御を実行する場合に用いられるプロセステーブルには、変動開始から所定時間が経過したときに左図柄を停止表示させ、さらに所定時間が経過すると右図柄を停止表示させることを示すプロセスデータが設定されている。なお、停止表示させる図柄をプロセステーブルに設定するのではなく、決定された停止図柄、擬似連や滑り演出における仮停止図柄に応じて、図柄を表示するための画像を合成して生成するようにしてもよい。
また、演出制御用CPU101は、プロセスデータ1の内容(表示制御実行データ1、ランプ制御実行データ1、音番号データ1)に従って演出装置(演出用部品としての演出表示装置9、演出用部品としての各種ランプおよび演出用部品としてのスピーカ27)の制御を実行する(ステップS8005)。例えば、演出表示装置9において変動パターンに応じた画像を表示させるために、VDP109に指令を出力する。また、各種ランプを点灯/消灯制御を行わせるために、ランプドライバ基板35に対して制御信号(ランプ制御実行データ)を出力する。また、スピーカ27からの音声出力を行わせるために、音声出力基板70に対して制御信号(音番号データ)を出力する。
なお、この実施の形態では、演出制御用CPU101は、変動パターンコマンドに1対1に対応する変動パターンによる演出図柄の可変表示が行われるように制御するが、演出制御用CPU101は、変動パターンコマンドに対応する複数種類の変動パターンから、使用する変動パターンを選択するようにしてもよい。
次いで、演出制御用CPU101は、変動時間タイマに、変動パターンコマンドで特定される変動時間に相当する値を設定する(ステップS8006)。そして、演出制御用CPU101は、演出制御プロセスフラグの値を演出図柄変動中処理(ステップS802)に対応した値にする(ステップS8007)。
図42は、演出図柄変動開始処理における予告演出設定処理(ステップS8002)を示すフローチャートである。予告演出設定処理において、演出制御用CPU101は、まず、今回開始する変動表示が大当りとなるものであるか否かを確認する(ステップS400)。なお、大当りとなるか否かは、具体的には、表示結果指定コマンド格納領域に格納されている表示結果指定コマンドを確認することにより判定できる。大当りであれば、演出制御用CPU101は、音ステップアップ予告演出の有無および種類を決定するためのテーブルとして、大当り用の音ステップアップ予告演出決定テーブルを選択する(ステップS401)。一方、大当りでなければ、演出制御用CPU101は、音ステップアップ予告演出の有無および種類を決定するためのテーブルとして、はずれ用の音ステップアップ予告演出決定テーブルを選択する(ステップS402)。なお、今回開始する変動表示が小当りとなるものである場合には、ステップS401に移行して大当り用の音ステップアップ予告演出決定テーブルを選択してもよいし、ステップS402に移行してはずれ用の音ステップアップ予告演出決定テーブルを選択してもよい。また、例えば、小当り用の音ステップアップ予告演出決定テーブルを設けてもよい。
次いで、演出制御用CPU101は、ステップS401,S402で選択した音ステップアップ予告演出決定テーブルを用いて、乱数にもとづく抽選処理を行い、音ステップアップ予告演出の有無および種類を決定する(ステップS403)。
図43は、音ステップアップ予告演出決定テーブルの具体例を示す説明図である。このうち、図43(A)は、大当り用の音ステップアップ予告演出決定テーブルを示している。また、図43(B)は、はずれ用の音ステップアップ予告演出決定テーブルを示している。図43に示すように、この実施の形態では、音ステップアップ予告演出決定テーブルを用いて音ステップアップ予告演出の有無が決定されるとともに、音ステップアップ予告演出を実行することに決定される場合には、音ステップアップ予告演出の種類として予告演出A、予告演出Bまたは予告演出Cのいずれかが決定される。
図43に示すように、予告演出Aは、1段階目の予告1(遊技球の発射に応じて第1音階の発射音を出力する演出)のみが実行される音ステップアップ予告演出である。また、予告演出Bは、1段階目の予告1の後に2段階目の予告2(遊技球の発射に応じて第1音階とは異なる第2音階の発射音を出力する演出)まで発展する音ステップアップ予告演出である。また、予告演出Cは、1段階目の予告1の後に2段階目の予告2が実行され、さらに3段階目の予告3(遊技球の発射に応じて第1音階および第2音階のいずれとも異なる第3音階の発射音を出力する演出)まで発展する音ステップアップ予告演出である。なお、図43に示す例に限らず、例えば、1段階目の予告1の後に再度1段階目の予告1が行われ、その後に3段階目の予告3まで発展するような順番に発展しない音ステップアップ予告演出が含まれていてもよい。
図43に示すように、この実施の形態では、大当りとなる場合には、はずれとなる場合と比較して、高い割合で音ステップアップ予告演出の実行を決定するように、音ステップアップ予告演出決定テーブルにおいて判定値が割り振られている。また、図43に示すように、この実施の形態では、3段階目の予告3まで発展する予告演出Cが最も大当りに対する期待度(信頼度)が高く、次に2段階目の予告2まで発展する予告演出Bが大当りに対する期待度(信頼度)が高く、1段階目の予告1のみ実行される予告演出Aが最も大当りに対する期待度(信頼度)が低くなるように、音ステップアップ予告演出決定テーブルにおいて判定値が割り振られている。
なお、この実施の形態では、音ステップアップ予告演出はスーパーリーチの演出期間に実行される演出であるので、演出制御用CPU101は、ステップS403において、変動パターンコマンドで指定さている変動パターンがスーパーリーチを伴うものであるか否かを判定し、スーパーリーチを伴わない場合には一律に音ステップアップ予告演出を実行しないことに決定し、スーパーリーチを伴うと判定した場合に、図43に示す音ステップアップ予告演出決定テーブルを用いて音ステップアップ予告演出の有無および種類を決定する。
また、ステップS403において、音ステップアップ予告演出を実行することに決定した場合には、演出制御用CPU101は、例えば、決定した音ステップアップ予告演出の種類に応じて、音ステップアップ予告演出を実行することを示す音ステップアップ予告演出実行フラグをセットする。例えば、予告演出Aを決定した場合には、予告演出Aに応じた音ステップアップ予告演出実行フラグAをセットし、予告演出Bを決定した場合には、予告演出Bに応じた音ステップアップ予告演出実行フラグBをセットし、予告演出Cを決定した場合には、予告演出Cに応じた音ステップアップ予告演出実行フラグCをセットする。
また、この実施の形態において、「大当りに対する期待度(信頼度)」とは、特定の演出態様による可変表示(例えば、音ステップアップ予告演出を伴う変動表示)が実行された場合に大当りが出現する出現率(確率)を示している。例えば、音ステップアップ予告演出を伴う変動表示が実行される場合の大当り期待度は、(大当りと決定されている場合に音ステップアップ予告演出が実行される割合)/(大当りと決定されている場合およびハズレと決定されている場合の両方に音ステップアップ予告演出が実行される割合)を計算することによって求められる。なお、「特定の演出態様」とは、スーパーリーチを伴う場合や音ステップアップ予告演出が実行される場合など、少なくとも大当りに対する期待度が高く設定され、遊技者に大当りに対する期待感を抱かせることができる演出態様のことである。
なお、音ステップアップ予告演出の種類は、この実施の形態で示したものにかぎられない。例えば、1段階目の予告1を実行した後に2段階目の予告2を経由せずに突然3段階目の予告3に発展するような予告演出Dを音ステップアップ予告演出の種類として設けてもよい。そのように構成すれば、予告2の発展タイミングを経過した後も遊技球を発射し続けなければ予告1だけで終わってしまうのか突然予告3に発展して予告演出Dとなるのか分からないので、遊技者に遊技球の発射操作を続けさせる動機を与えることができる。
また、音ステップアップ予告演出の種類を決定するに際して、変動時間を確認し、変動時間内に達成可能な発射球数まで発展する音ステップアップ予告演出の種類を決定するようにし、達成不可能な音ステップアップ予告演出の種類を決定しないようにしてもよい。例えば、一般に遊技球は600ms間隔で発射可能であるので、この実施の形態では、予告演出Cの第3段階の予告3まで発展するようにするためには、後述するように最低でも11個の遊技球を発射可能な6600msの期間がなければ、予告演出Cを決定しても意味がない。そこで、例えば、変動時間(さらに、変動時間中のスーパーリーチ演出期間であることが望ましい)が6600ms以上であるか否かを確認し、6600ms以上である場合にのみ予告演出Cを決定可能に構成し、6600ms未満であれば予告演出Cを決定しないように構成してもよい。
図44および図45は、演出制御プロセス処理における演出図柄変動中処理(ステップS802)を示すフローチャートである。演出図柄変動中処理において、演出制御用CPU101は、まず、プロセスタイマの値を1減算するとともに(ステップS8101)、変動時間タイマの値を1減算する(ステップS8102)。プロセスタイマがタイムアウトしたら(ステップS8103)、プロセスデータの切替を行う。すなわち、プロセステーブルにおける次に設定されているプロセスタイマ設定値をプロセスタイマに設定する(ステップS8104)。また、その次に設定されている表示制御実行データ、ランプ制御実行データおよび音番号データにもとづいて演出装置に対する制御状態を変更する(ステップS8105)。
次いで、演出制御用CPU101は、ステップS8002の予告演出設定処理において音ステップアップ予告演出の実行が決定されているか否かを確認する(ステップS8106)。なお、音ステップアップ予告演出の実行が決定されているか否かは、例えば、いずれかの音ステップアップ予告演出実行フラグがセットされているか否かを確認することにより判定できる。音ステップアップ予告演出の実行が決定されていれば、演出制御用CPU101は、発射球検出フラグがセットされているか否かを確認する(ステップS8107)。発射球検出フラグがセットされていれば(すなわち、打球発射装置550からの遊技球の発射が検出されていれば)、演出制御用CPU101は、発射球検出フラグをリセットする(ステップS8108)とともに、スーパーリーチの演出期間中であるであるか否かを確認する(ステップS8109)。なお、スーパーリーチの演出期間中であるか否かは、具体的には、変動時間タイマの値を確認することにより判定できる。
スーパーリーチの演出期間中であれば、演出制御用CPU101は、スーパーリーチの演出期間中に打球発射装置550から発射された遊技球の数をカウントするためのリーチ中発射数カウンタの値を1加算する(ステップS8110)とともに、加算後のリーチ中発射数カウンタの値が11以上であるか否かを確認する(ステップS8111)。リーチ中発射数カウンタの値が11以上であれば、演出制御用CPU101は、音ステップアップ予告演出の種類として予告演出Cが決定された場合であるか否かを確認する(ステップS8112)。なお、予告演出Cが決定された場合であるか否かは、例えば、音ステップアップ予告演出実行フラグCがセットされているか否かを確認することにより判定できる。予告演出Cが決定された場合であれば、演出制御用CPU101は、第3音階の発射音をスピーカ27から出力させる制御を行う(ステップS8113)。
予告演出Cが決定された場合でなければ、演出制御用CPU101は、音ステップアップ予告演出の種類として予告演出Bが決定された場合であるか否かを確認する(ステップS8114)。なお、予告演出Bが決定された場合であるか否かは、例えば、音ステップアップ予告演出実行フラグBがセットされているか否かを確認することにより判定できる。予告演出Bが決定された場合であれば、演出制御用CPU101は、第2音階の発射音をスピーカ27から出力させる制御を行う(ステップS8115)。一方、予告演出Bが決定された場合でなければ(すなわち、予告演出Aが決定された場合であれば、演出制御用CPU101は、第1音階の発射音をスピーカ27から出力させる制御を行う(ステップS8116)。
ステップS8111でリーチ中発射数カウンタの値が11未満であれば、演出制御用CPU101は、加算後のリーチ中発射数カウンタの値が6以上であるか否かを確認する(ステップS8117)。リーチ中発射数カウンタの値が6以上であれば、演出制御用CPU101は、音ステップアップ予告演出の種類として予告演出Bが決定された場合であるか否かを確認する(ステップS8118)。なお、予告演出Bが決定された場合であるか否かは、例えば、音ステップアップ予告演出実行フラグBがセットされているか否かを確認することにより判定できる。予告演出Bが決定された場合であれば、演出制御用CPU101は、第2音階の発射音をスピーカ27から出力させる制御を行う(ステップS8119)。
一方、ステップS8117でリーチ中発射数カウンタの値が6未満である場合、またはステップS8118で予告演出Bが決定された場合でなければ(すなわち、予告演出Aが決定された場合であれば、演出制御用CPU101は、第1音階の発射音をスピーカ27から出力させる制御を行う(ステップS8120)。
ステップS8106〜S8120の処理が実行されることによって、音ステップアップ予告演出の実行が決定される場合には、スーパーリーチの演出期間中に音ステップアップ予告演出が実行されるとともに、予告演出Cが決定されている場合には、スーパーリーチの演出期間中に発射された遊技球の数が1個〜5個までは遊技球の発射に応じて第1音階の発射音が出力され、6個〜10個までは第2音階の発射音が出力され、11個以上は第3音階の発射音が出力される。また、予告演出Bが決定されている場合には、スーパーリーチの演出期間中に発射された遊技球の数が1個〜5個までは遊技球の発射に応じて第1音階の発射音が出力され、6個以上は第2音階の発射音が出力され、その後、発射された遊技球の数が11個を越えても第2音階の発射音しか出力されない。また、予告演出Aが決定されている場合には、スーパーリーチの演出期間中に発射された遊技球の数にかかわらず遊技球の発射に応じて第1音階の発射音が出力され、その後、発射された遊技球の数が6個を越えても11個を越えても第1音階の発射音しか出力されない。そのような態様で音ステップアップ予告演出が実行されることによって、スピーカ27から出力される発射音が第1音階、第2音階および第3音階と順に変化していくことによって、段階的に大当りに対する期待感を高めていくことができる。
そして、演出制御用CPU101は、変動時間タイマがタイムアウトしていれば(ステップS8121)、演出制御プロセスフラグの値を演出図柄変動停止処理(ステップS803)に応じた値に更新する(ステップS8122)。
図46は、演出制御プロセス処理における演出図柄変動停止処理(ステップS803)を示すフローチャートである。演出図柄変動停止処理において、まず、演出制御用CPU101は、演出図柄の停止図柄を表示していることを示す停止図柄表示フラグがセットされているか否かを確認する(ステップS8301)。停止図柄表示フラグがセットされていれば、ステップS8305に移行する。この実施の形態では、演出図柄の停止図柄として大当り図柄を表示した場合には、ステップS8304で停止図柄表示フラグがセットされる。そして、ファンファーレ演出を実行するときに停止図柄表示フラグがリセットされる。従って、停止図柄表示フラグがセットされているということは、大当り図柄を停止表示したがファンファーレ演出をまだ実行していない段階であるので、ステップS8302の演出図柄の停止図柄を表示する処理を実行することなく、ステップS8305に移行する。
停止図柄表示フラグがセットされていない場合には、演出制御用CPU101は、決定されている停止図柄(はずれ図柄、大当り図柄)を停止表示させる制御を行う(ステップS8302)。
次いで、ステップS8302の処理で大当り図柄および小当り図柄のいずれも表示しなかった場合(すなわち、はずれ図柄を表示した場合)には(ステップS8303のN)、演出制御用CPU101は、ステップS8311に移行する。
ステップS8302の処理で大当り図柄または小当り図柄を停止表示した場合には(ステップS8303のY)、演出制御用CPU101は、停止図柄表示フラグをセットし(ステップS8304)、大当り開始指定コマンドを受信したことを示す大当り開始指定コマンド受信フラグ、または小当り/突然確変大当り開始指定コマンドを受信したことを示す小当り/突然確変大当り開始指定コマンド受信フラグがセットされているか否か確認する(ステップS8305)。大当り開始指定コマンド受信フラグまたは小当り/突然確変大当り開始指定コマンド受信フラグがセットされている場合には、演出制御用CPU101は、停止図柄表示フラグをリセットし(ステップS8306)、カードユニット50で受付けられているプリペイドカードの返却を促す旨を、演出表示装置9に表示させるよう制御する(ステップS8306a)。プリペイドカードの返却を促す旨は、実質的に、プリペイドカードの返却操作を促す旨と近い意味である。例えば、「プリペイドカードの取り忘れや盗難にご注意ください」といった文言を所定時間(例えばえば、2秒以上)表示させる。また、「返却ボタンを操作してください」といった文言であってもよい。
なお、本実施の形態においては、大当り図柄又は小当り図柄が導出表示された場合に、カードの返却を促す旨を報知するように構成されているが、これに限定されず、大当り遊技終了時(例えば、出玉がある場合に限ってもよい。本実施の形態においては、通常大当りまたは確変大当り)や、高ベース状態が終了した時に、プリペイドカードの返却を促す旨が報知されるようにしてもよい。このように、所定条件が成立したときに(特に出玉が発生することによって、プリペイドカードを挿入していることが忘れられてしまうとき)、プリペイドカードの返却を促す報知が実行されるため、カードの取り忘れを防ぐことができる。
次いで、演出制御用CPU101は、ファンファーレ演出に応じたプロセステーブルを選択する(ステップS8307)。なお、演出制御用CPU101は、大当り開始指定コマンド受信フラグまたは小当り/突然確変大当り開始指定コマンド受信フラグがセットされていた場合には、セットされていたフラグをリセットする。
そして、演出制御用CPU101は、プロセスタイマ設定値をプロセスタイマに設定することによってプロセスタイマをスタートさせ(ステップS8308)、プロセスデータ1の内容(表示制御実行データ1、ランプ制御実行データ1、音番号データ1、可動部材制御データ1)に従って演出装置(演出用部品としての演出表示装置9、演出用部品としての各種ランプ、および演出用部品としてのスピーカ27)の制御を実行する(ステップS8309)。その後、演出制御プロセスフラグの値を大当り表示処理(ステップS804)に応じた値に更新する(ステップS8310)。
大当りおよび小当りのいずれともしないことに決定されている場合には(ステップS8303のN)、演出制御用CPU101は、所定のフラグをリセットする(ステップS8311)。例えば、演出制御用CPU101は、第1図柄変動指定コマンド受信フラグや、第2図柄変動指定コマンド受信フラグをリセットする。そして、演出制御用CPU101は、演出制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS800)に応じた値に更新する(ステップS8312)。
以上のように、この実施の形態では、遊技の進行を制御する遊技制御用マイクロコンピュータ560と、球払出装置97によって実現される遊技媒体の払い出しを行う払出手段と、払出手段を駆動することにより払出制御を実行する払出制御用マイクロコンピュータ370と、払出個数カウントスイッチ301を用いて実現される払い出された遊技媒体を検出したときに信号を出力する遊技媒体検出手段とを備え、払出制御用マイクロコンピュータ370は、払い出すべき遊技媒体の数に応じて払出手段を駆動する駆動量を設定し、設定された駆動量分の払出制御が終了したときに、払い出すべき数の遊技媒体が遊技媒体検出手段により検出されていないときに、検出されることを待つための待機期間(例えば、250ms)を設定する一方で、設定された駆動量分の払出制御が終了したときに、払い出すべき数の遊技媒体が遊技媒体検出手段により検出されているときに、待機期間の経過を待つことなく、駆動量の設定が可能な状態に移行させる。そのため、払出処理の速度を向上させることができる。
なお、この実施の形態では、ステップS642において払出通過幹事時間が払出制御タイマにセットされると、払出制御タイマがタイムアウトするまでの待機期間が設けられる構成になっているが、例えば、ステップS650の前に未払出個数があるか否かを確認し、未払出個数がない場合には、払出制御タイマがタイムアウトしていなくても、ステップS655に移行するようにしてもよい。このようにすることで、待機期間の経過を待つことなく、払い出すべき数の遊技球が確認できた時点で払出開始待ち処理に移行させることができ、払出処理の速度を向上させることができる。
また、この実施の形態では、ステップS642において払出通過幹事時間が払出制御タイマにセットされると、払出制御タイマがタイムアウトするまでの待機期間が設けられる構成になっているが、例えば、ステップS650の前に未払出個数があるか否かを確認し、未払出個数がない場合には、払出制御タイマがタイムアウトしていなくても、ステップS655に移行するようにしてもよい。このようにすることで、待機期間の経過を待つことなく、払い出すべき数の遊技球が確認できた時点で払出開始待ち処理に移行させることができ、払出処理の速度を向上させることができる。
また、この実施の形態では、未払出個数がないと判定された場合(払出が完了したと判定された場合)には、払出制御タイマに払出通過監視時間をセットしないように構成されているが、未払出個数があると判定された場合(払出が完了していないと判定された場合)に比べて短い時間の払出通過監視時間(例えば、50ms)を払出制御タイマにセットするようにしてもよい。そのような構成によっても、払出処理の速度を向上させることができる。また、例えば、未払出個数がないと判定された場合(払出が完了したと判定された場合)には、払出制御コードを0に設定して払出モータ停止待ち処理を終了し、払出通過待ち処理を経ずに、払出開始待ち処理に移行させるようにしてもよい。そのような構成によっても、払出処理の速度を向上させることができる。
また、この実施の形態によれば、発射手段(本例では、打球発射装置550)から発射され遊技領域7に到達する前の遊技球を検出する発射媒体検出手段(本例では、発射球検出スイッチ24)と、遊技領域7を通過した遊技球を検出する通過媒体検出手段(本例では、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、アウト球検出スイッチ26a、ファール球検出スイッチ510a)とを備える。また、発射媒体検出手段によって遊技球が検出されなかったにもかかわらず、通過媒体検出手段によって遊技球が検出されたことにもとづいて、エラーを検出する。そして、発射媒体検出手段によって遊技球が検出されたことにもとづいて所定の演出(本例では、音ステップアップ予告演出)を実行する。そのため、遊技球の発射の検出結果を用いてエラーの検出を可能とするとともに、演出効果も高めて遊技に対する興趣を向上させることができる。
また、この実施の形態によれば、遊技機は、記録媒体(本例では、プリペイドカード)に記録された価値にもとづいた遊技媒体の貸出指令を受けて該遊技媒体を遊技に使用可能にする手段を備え、所定条件が成立したこと(例えば、大当り図柄が停止表示されたことや、大当り遊技の終了時、高ベース状態の終了時など)にもとづいて記録媒体の返却操作を促す報知を実行する報知手段を備えるように構成されている。そのため、記録媒体の取り忘れを防ぐことができる。
また、上記の実施の形態では、遊技制御用マイクロコンピュータ560は、演出制御用マイクロコンピュータ100に対して直接コマンドを送信していたが、遊技制御用マイクロコンピュータ560が他の基板(例えば、図5に示す音声出力基板70やランプドライバ基板35など、または音声出力基板70に搭載されている回路による機能とランプドライバ基板35に搭載されている回路による機能とを備えた音/ランプ基板)に演出制御コマンドを送信し、他の基板を経由して演出制御基板80における演出制御用マイクロコンピュータ100に送信されるようにしてもよい。その場合、他の基板においてコマンドが単に通過するようにしてもよいし、音声出力基板70、ランプドライバ基板35、音/ランプ基板にマイクロコンピュータ等の制御手段を搭載し、制御手段がコマンドを受信したことに応じて音声制御やランプ制御に関わる制御を実行し、さらに、受信したコマンドを、そのまま、または例えば簡略化したコマンドに変更して、演出表示装置9を制御する演出制御用マイクロコンピュータ100に送信するようにしてもよい。その場合でも、演出制御用マイクロコンピュータ100は、上記の実施の形態における遊技制御用マイクロコンピュータ560から直接受信した演出制御コマンドに応じて表示制御を行うのと同様に、音声出力基板70、ランプドライバ基板35または音/ランプ基板から受信したコマンドに応じて表示制御を行うことができる。
また、上記の実施の形態においては、変動時間及びリーチ演出の種類や擬似連の有無等の変動態様を示す変動パターンを演出制御基板80に搭載された演出制御用マイクロコンピュータ100に通知するために、変動を開始するときに1つの変動パターンコマンドを送信する例を示したが、2つ乃至それ以上のコマンドにより変動パターンを通知する様にしてもよい。具体的には、2つのコマンドにより通知する場合、遊技制御用マイクロコンピュータ560は、1つ目のコマンドでは擬似連の有無、滑り演出の有無等、リーチとなる以前(リーチとならない場合には所謂第2停止の前)の変動時間や変動態様を示すコマンドを送信し、2つ目のコマンドではリーチの種類や再抽選演出の有無等、リーチとなった以降(リーチとならない場合には所謂第2停止の後)の変動時間や変動態様を示すコマンドを送信する様にしてもよい。この場合、演出制御基板80に搭載された演出制御用マイクロコンピュータ100は2つのコマンドの組合せから導かれる変動時間にもとづいて変動表示における演出制御を行うようにすればよい。尚、遊技制御用マイクロコンピュータ560の方では2つのコマンドのそれぞれにより変動時間を通知し、それぞれのタイミングで実行される具体的な変動態様については演出制御基板80に搭載された演出制御用マイクロコンピュータ100の方で選択を行う様にしてもよい。2つのコマンドを送る場合、同一のタイマ割込内で2つのコマンドを送信する様にしてもよく、1つ目のコマンドを送信した後、所定期間が経過してから(例えば次のタイマ割込において)2つ目のコマンドを送信する様にしてもよい。尚、それぞれのコマンドで示される変動態様はこの例に限定されるわけではなく、送信する順序についても適宜変更可能である。このように2つ乃至それ以上のコマンドにより変動パターンを通知する様にすることで、変動パターンコマンドとして記憶しておかなければならないデータ量を削減することができる。
また、上記の各実施の形態で示した構成は、パチンコ遊技機にかぎらず、様々な形態の遊技機に適用することができる。例えば、上記の各実施の形態で示した構成を封入循環式のパチンコ機に適用するようにしてもよい。封入循環式のパチンコ機は、そのパチンコ機で用いられる所定数(例えば、50個)の遊技玉が封入領域内(例えば、パチンコ機内)に封入されており、このパチンコ機に設けられた遊技領域に遊技球を発射させ、遊技領域を経由した遊技球を回収部(例えば、各入賞口、アウト口、ファール玉戻り口)を介して回収し、回収した遊技玉を再び遊技領域に発射させるために封入領域内において循環させる。また、そのような封入循環式のパチンコ機では、各入賞口への入賞があった場合に、賞球に代えて、カードユニットに挿入されたカードに賞球数に相当するポイントなどを加算する処理が行われる。
また、上記の実施の形態では、遊技機としてパチンコ機を例にしたが、本発明を、メダルが投入されて所定の賭け数が設定され、遊技者による操作レバーの操作に応じて複数種類の図柄を回転させ、遊技者によるストップボタンの操作に応じて図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数のメダルが遊技者に払い出されるスロット機に適用することも可能である。