[実施の形態1]
以下、本発明の第1の実施の形態を、図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機1の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図である。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板(図示せず)と、それらに取り付けられる種々の部品(後述する遊技盤6を除く)とを含む構造体である。
ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4や、打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。また、ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には、打ち込まれた遊技球が流下可能な遊技領域7が形成されている。
遊技領域7の中央付近には、液晶表示装置(LCD)で構成された演出表示装置9が設けられている。演出表示装置9の表示画面には、第1特別図柄または第2特別図柄の可変表示に同期した演出図柄の可変表示を行う演出図柄表示領域がある。よって、演出表示装置9は、演出図柄の可変表示を行う可変表示装置に相当する。演出図柄表示領域には、例えば「左」、「中」、「右」の3つの装飾用(演出用)の演出図柄を可変表示する図柄表示エリアがある。図柄表示エリアには「左」、「中」、「右」の各図柄表示エリアがあるが、図柄表示エリアの位置は、演出表示装置9の表示画面において固定的でなくてもよいし、図柄表示エリアの3つ領域が離れてもよい。演出表示装置9は、演出制御基板に搭載されている演出制御用マイクロコンピュータによって制御される。演出制御用マイクロコンピュータが、第1特別図柄表示器8aで第1特別図柄の可変表示が実行されているときに、その可変表示に伴って演出表示装置9で演出表示を実行させ、第2特別図柄表示器8bで第2特別図柄の可変表示が実行されているときに、その可変表示に伴って演出表示装置9で演出表示を実行させるので、遊技の進行状況を把握しやすくすることができる。
また、演出表示装置9において、最終停止図柄(例えば左右中図柄のうち中図柄)となる図柄以外の図柄が、所定時間継続して、大当り図柄(例えば左中右の図柄が同じ図柄で揃った図柄の組み合わせ)と一致している状態で停止、揺動、拡大縮小もしくは変形している状態、または、複数の図柄が同一図柄で同期して変動したり、表示図柄の位置が入れ替わっていたりして、最終結果が表示される前で大当り発生の可能性が継続している状態(以下、これらの状態をリーチ状態という。)において行われる演出をリーチ演出という。また、リーチ状態やその様子をリーチ態様という。さらに、リーチ演出を含む可変表示をリーチ可変表示という。そして、演出表示装置9に変動表示される図柄の表示結果が大当り図柄でない場合には「はずれ」となり、変動表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
演出表示装置9の表示画面の右上方部には、演出図柄と後述する特別図柄および普通図柄とに次ぐ第4図柄を表示する第4図柄表示領域9c,9dが設けられている。この実施の形態では、後述する第1特別図柄の変動表示に同期して第1特別図柄用の第4図柄の変動表示が行われる第1特別図柄用の第4図柄表示領域9cと、第2特別図柄の変動表示に同期して第2特別図柄用の第4図柄の変動表示が行われる第2特別図柄用の第4図柄表示領域9dとが設けられている。
なお、第1特別図柄用の第4図柄と第2特別図柄用の第4図柄とを、第4図柄と総称することがあり、第1特別図柄用の第4図柄表示領域9cと第2特別図柄用の第4図柄表示領域9dを、第4図柄表示領域と総称することがある。
第4図柄の変動(可変表示)は、第4図柄表示領域9c,9dを所定の表示色(例えば、青色)で一定の時間間隔で点灯と消灯とを繰り返す状態を継続することによって実現される。第1特別図柄表示器8aにおける第1特別図柄の可変表示と、第1特別図柄用の第4図柄表示領域9cにおける第1特別図柄用の第4図柄の可変表示とは同期している。第2特別図柄表示器8bにおける第2特別図柄の可変表示と、第2特別図柄用の第4図柄表示領域9dにおける第2特別図柄用の第4図柄の可変表示とは同期している。同期とは、可変表示の開始時点および終了時点が同じであって、可変表示の期間が同じであることをいう。また、第1特別図柄表示器8aにおいて大当り図柄が停止表示されるときには、第1特別図柄用の第4図柄表示領域9cにおいて大当りを想起させる表示色(例えば、赤色)で点灯されたままになる。第2特別図柄表示器8bにおいて大当り図柄が停止表示されるときには、第2特別図柄用の第4図柄表示領域9dにおいて大当りを想起させる表示色(例えば、赤色)で点灯されたままになる。
遊技領域7には、演出表示装置9の天辺からみて左側の左遊技領域7A(第1遊技領域)と、右側の右遊技領域7B(第2遊技領域)とがある。第1遊技領域である左遊技領域7Aと、第2遊技領域である右遊技領域7Bは、例えば遊技領域7内における演出表示装置9の端面や釘の配列PLなどにより区分けされていればよい。
左遊技領域7Aには、後述する第1始動入賞口13が設けられており、右遊技領域7Bには、後述する通過ゲート32,可変入賞球装置15が形成する第2始動入賞口14,及び特別可変入賞球装置20が形成する大入賞口が設けられている。これにより、左遊技領域7Aへと誘導された遊技球は、右遊技領域7Bに設けられた通過ゲート32を通過したり、可変入賞球装置15が形成する第2始動入賞口14を通過(進入)したり、特別可変入賞球装置20が形成する大入賞口を通過(進入)したりすることが不可能または困難である。また右遊技領域7Bへと誘導された遊技球は、左遊技領域7Aに設けられた第1始動入賞口13を通過(進入)することが不可能または困難である。
遊技盤6における下部の左側には、識別情報としての第1特別図柄を可変表示する第1特別図柄表示器(第1可変表示部)8aが設けられている。この実施の形態では、第1特別図柄表示器8aは、0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。すなわち、第1特別図柄表示器8aは、0〜9の数字(または、記号)を可変表示するように構成されている。同じく遊技盤6における下部の左側には、識別情報としての第2特別図柄を可変表示する第2特別図柄表示器(第2可変表示部)8bが設けられている。第2特別図柄表示器8bは、0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。すなわち、第2特別図柄表示器8bは、0〜9の数字(または、記号)を可変表示するように構成されている。
小型の表示器は、例えば方形状に形成されている。また、この実施の形態では、第1特別図柄の種類と第2特別図柄の種類とは同じ(例えば、ともに0〜9の数字)であるが、種類が異なっていてもよい。また、第1特別図柄表示器8aおよび第2特別図柄表示器8bは、それぞれ、例えば、00〜99の数字(または、2桁の記号)を可変表示するように構成されていてもよい。
以下、第1特別図柄と第2特別図柄とを特別図柄と総称することがあり、第1特別図柄表示器8aと第2特別図柄表示器8bとを特別図柄表示器(可変表示部)と総称することがある。
なお、この実施の形態では、2つの特別図柄表示器8a,8bを備える場合を示しているが、遊技機は、特別図柄表示器を1つのみ備えるものであってもよい。
第1特別図柄または第2特別図柄の可変表示は、可変表示の実行条件である第1始動条件または第2始動条件が成立(例えば、遊技球が第1始動入賞口13または第2始動入賞口14を通過(入賞を含む)したこと)した後、可変表示の開始条件(例えば、保留記憶数が0でない場合であって、第1特別図柄および第2特別図柄の可変表示が実行されていない状態であり、かつ、大当り遊技が実行されていない状態)が成立したことにもとづいて開始され、可変表示時間(変動時間)が経過すると表示結果(停止図柄)を導出表示する。なお、遊技球が通過するとは、入賞口やゲートなどのあらかじめ入賞領域として定められている領域を遊技球が通過したことであり、入賞口に遊技球が入った(入賞した)ことを含む概念である。また、表示結果を導出表示するとは、図柄(識別情報の例)を最終的に停止表示させることである。
左遊技領域7Aにおいて、演出表示装置9の下方には、第1始動入賞口13を有する入賞装置が設けられている。第1始動入賞口13に入賞した遊技球は、遊技盤6の背面に導かれ、第1始動口スイッチ13a(図3)によって検出される。
また右遊技領域7Bにおいて、第1始動入賞口(第1始動口)13を有する入賞装置の右側には、遊技球が入賞可能な第2始動入賞口14を有する可変入賞球装置15が設けられている。可変入賞球装置15は、羽根を開閉可能に構成され、羽根が開放しているときに遊技球が入賞し易い状態(開状態)となり、羽根が開放していないとき(閉じているとき)に遊技球が入賞し難い状態(閉状態)となる。第2始動入賞口(第2始動口)14に入賞した遊技球は、遊技盤6の背面に導かれ、例えば近接スイッチの第2始動口スイッチ14a(図3)によって検出されるとともに、例えばフォトセンサの入賞確認スイッチ14b(図3)によって検出される。なお、この実施の形態では、第2始動口スイッチ14aによって遊技球が検出されたことにもとづいて、第2特別図柄の変動表示が開始され、賞球払出が実行される。また、後述するように、第2始動口スイッチ14aによる検出結果に加えて入賞確認スイッチ14bの検出結果にもとづいて異常入賞の発生の有無が判定され、異常入賞の発生を検出したことにもとづいてセキュリティ信号が外部出力される。また、可変入賞球装置15は、ソレノイド16(図3)によって開状態とされる。
なお、第1始動入賞口13および第2始動入賞口14のそれぞれについて、始動口スイッチ(例えば、近接スイッチ)を設けるとともに入賞確認スイッチ(例えば、フォトセンサ)を設けるようにしてもよい。そして、第1始動入賞口および第2始動入賞口のそれぞれについて、この実施の形態と同様に、始動口スイッチによって遊技球が検出されたことにもとづいて、特別図柄の変動表示が開始され、賞球払出が実行されるようにしてもよい。また、第1始動入賞口および第2始動入賞口のそれぞれについて、この実施の形態と同様に、始動口スイッチによる検出結果に加えて入賞確認スイッチの検出結果にもとづいて異常入賞の発生の有無が判定され、異常入賞の発生を検出したことにもとづいてセキュリティ信号が外部出力されるようにしてもよい。
また、この実施の形態では、可変入賞球装置15が開状態になることによって、遊技球が第2始動入賞口14に入賞可能になり(始動入賞し易くなり)、遊技者にとって有利な状態になる。可変入賞球装置15が開状態になっている状態では、第2始動入賞口14に遊技球が入賞しやすい。また、可変入賞球装置15が閉状態になっている状態では、遊技球は第2始動入賞口14に入賞しない。なお、可変入賞球装置15が閉状態になっている状態において、入賞はしづらいものの、入賞することは可能である(すなわち、遊技球が入賞しにくい)ように構成されていてもよい。
以下、第1始動入賞口13と第2始動入賞口14とを総称して始動入賞口または始動口ということがある。
なお、この実施の形態では、図1に示すように、第2始動入賞口14に対してのみ開閉動作を行う可変入賞球装置15が設けられているが、第1始動入賞口13および第2始動入賞口14のいずれについても開閉動作を行う可変入賞球装置が設けられている構成であってもよい。
遊技盤6の下方左側には、第1始動入賞口13に入った有効入賞球数すなわち第1保留記憶数(保留記憶を、始動記憶または始動入賞記憶ともいう。)を表示する4つの表示器からなる第1特別図柄保留記憶表示器18aが設けられている。第1特別図柄保留記憶表示器18aは、有効始動入賞がある毎に、点灯する表示器の数を1増やす。そして、第1特別図柄表示器8aでの可変表示が開始される毎に、点灯する表示器の数を1減らす。
遊技盤6の下方右側には、第2始動入賞口14に入った有効入賞球数すなわち第2保留記憶数を表示する4つの表示器からなる第2特別図柄保留記憶表示器18bが設けられている。第2特別図柄保留記憶表示器18bは、有効始動入賞がある毎に、点灯する表示器の数を1増やす。そして、第2特別図柄表示器8bでの可変表示が開始される毎に、点灯する表示器の数を1減らす。
また、演出表示装置9の表示画面の下部には、第1保留記憶数を表示する第1保留記憶表示部18cと、第2保留記憶数を表示する第2保留記憶表示部18dとが設けられている。なお、第1保留記憶数と第2保留記憶数との合計である合計数(合算保留記憶数)を表示する領域(合算保留記憶表示部)が設けられるようにしてもよい。そのように、合計数を表示する合算保留記憶表示部が設けられているようにすれば、可変表示の開始条件が成立していない実行条件の成立数の合計を把握しやすくすることができる。
演出表示装置9は、第1特別図柄表示器8aによる第1特別図柄の可変表示時間中、および第2特別図柄表示器8bによる第2特別図柄の可変表示時間中に、装飾用(演出用)の図柄としての演出図柄の可変表示を行う。第1特別図柄表示器8aにおける第1特別図柄の可変表示と、演出表示装置9における演出図柄の可変表示とは同期している。また、第2特別図柄表示器8bにおける第2特別図柄の可変表示と、演出表示装置9における演出図柄の可変表示とは同期している。また、第1特別図柄表示器8aにおいて大当り図柄が停止表示されるときと、第2特別図柄表示器8bにおいて大当り図柄が停止表示されるときには、演出表示装置9において大当りを想起させるような演出図柄の組み合わせが停止表示される。
また右遊技領域7Bにおいて、可変入賞球装置15の下方には、特別可変入賞球装置20が設けられている。特別可変入賞球装置20は開閉板を備え、第1特別図柄表示器8aに特定表示結果(大当り図柄)が導出表示されたときと、第2特別図柄表示器8bに特定表示結果(大当り図柄)が導出表示されたときに生起する特定遊技状態(大当り遊技状態)においてソレノイド21(図3)によって開閉板が開放状態に制御されることによって、入賞領域となる大入賞口が開放状態になる。大入賞口に入賞した遊技球はカウントスイッチ23(図3)で検出される。
なお、この実施の形態では、第2始動入賞口14にのみ、第2始動口スイッチ14aに加えて入賞確認スイッチ14bを設ける場合を示しているが、大入賞口にも、カウントスイッチ23に加えて入賞確認スイッチを備えるようにしてもよい。この場合、例えば、第2始動入賞口14と同様に、カウントスイッチ13を近接スイッチを用いて構成し、入賞確認スイッチをフォトセンサを用いて構成するようにすればよい(なお、逆に、カウントスイッチ13をフォトセンサを用いて構成し、入賞確認スイッチを近接スイッチを用いて構成してもよいし、近接スイッチやフォトセンサに代えてマイクロスイッチなどの機械式のスイッチを用いてもよい)。また、遊技制御用マイクロコンピュータは、大入賞口への遊技球の入賞にもとづく賞球払出処理については、カウントスイッチ23の検出結果にのみもとづいて賞球の払い出しを行うようにすればよい(ステップS32参照)。一方で、遊技制御用マイクロコンピュータは、大入賞口への異常入賞を行う場合には、カウントスイッチ23の検出結果と入賞確認スイッチの検出結果との両方に基づいて判定を行うようにすればよい。この場合、例えば、遊技制御用マイクロコンピュータは、後述するスイッチ正常/異常チェック処理と同様の処理に従って、カウントスイッチ23の検出数と入賞確認スイッチの検出数との差が所定値(例えば、10)以上となったことにもとづいて、大入賞口への異常入賞が発生したと判定するようにすればよい(ステップS121〜S127参照)。
遊技領域6には、遊技球の入賞にもとづいてあらかじめ決められている所定数の景品遊技球の払出を行うための入賞口(普通入賞口)29,30も設けられている。入賞口29,30に入賞した遊技球は、入賞口スイッチ29a,30aで検出される。
遊技盤6の下方左側には、普通図柄表示器10が設けられている。普通図柄表示器10は、普通図柄と呼ばれる複数種類の識別情報を可変表示する。
遊技球が第2遊技領域7Bに設けられるゲート32を通過しゲートスイッチ32a(図3)で検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左向き矢印と右向き矢印が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に、左向き矢印が点灯すれば当りとなり、右向き矢印が点灯すれば外れとなる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。すなわち、可変入賞球装置15の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態(第2始動入賞口14に遊技球が入賞可能な状態)に変化する。普通図柄表示器10の近傍には、ゲート32を通過した入賞球数を表示する4つのLEDによる表示部を有する普通図柄保留記憶表示器41が設けられている。ゲート32への遊技球の通過がある毎に、すなわちゲートスイッチ32aによって遊技球が検出される毎に、普通図柄保留記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。さらに、通常状態に比べて大当りとすることに決定される確率が高い状態である確変状態(通常状態と比較して、特別図柄の変動表示結果として大当りと判定される確率が高められた状態)では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。また、確変状態ではないが図柄の変動時間が短縮されている時短状態(特別図柄の可変表示時間が短縮される遊技状態)でも、可変入賞球装置15の開放時間と開放回数が高められる。
遊技盤6の遊技領域7の左右周辺には、遊技中に点滅表示される装飾LED25が設けられ、下部には、入賞しなかった打球が取り込まれるアウト口26がある。また、遊技領域7の外側の左右上部には、所定の音声出力として効果音や音声を発声する2つのスピーカ27が設けられている。遊技領域7の外周には、前面枠に設けられた枠LED28が設けられている。
打球供給皿3を構成する部材においては、遊技者により操作可能な操作手段としての操作ボタン120が設けられている。操作ボタン120には、遊技者が押圧操作をすることが可能な押しボタンスイッチが設けられている。なお、操作ボタン120は、遊技者による押圧操作が可能な押しボタンスイッチが設けられているだけでなく、遊技者による回転操作が可能なダイヤルも設けられている。遊技者は、ダイヤルを回転操作することによって、所定の選択(例えば演出の選択)を行うことができる。
遊技機には、遊技者が打球操作ハンドル5を操作することに応じて駆動モータを駆動し、駆動モータの回転力を利用して遊技球を遊技領域7に発射する打球発射装置(図示せず)が設けられている。打球発射装置から発射された遊技球は、遊技領域7を囲むように円形状に形成された打球レールを通って遊技領域7に入り、その後、左遊技領域7Aまたは右遊技領域7Bのいずれか一方を下りてくる。
遊技球が左遊技領域7Aを下りて第1始動入賞口13に入り第1始動口スイッチ13aで検出されると、第1特別図柄の可変表示を開始できる状態であれば(例えば、特別図柄の可変表示が終了し、第1の開始条件が成立したこと)、第1特別図柄表示器8aにおいて第1特別図柄の可変表示(変動)が開始されるとともに、演出表示装置9において演出図柄の可変表示が開始される。すなわち、第1特別図柄および演出図柄の可変表示は、第1始動入賞口13への入賞に対応する。第1特別図柄の可変表示を開始できる状態でなければ、第1保留記憶数が上限値に達していないことを条件として、第1保留記憶数を1増やす。
遊技球が右遊技領域7Bを下りて第2始動入賞口14に入り第2始動口スイッチ14aで検出されると、第2特別図柄の可変表示を開始できる状態であれば(例えば、特別図柄の可変表示が終了し、第2の開始条件が成立したこと)、第2特別図柄表示器8bにおいて第2特別図柄の可変表示(変動)が開始されるとともに、演出表示装置9において演出図柄の可変表示が開始される。すなわち、第2特別図柄および演出図柄の可変表示は、第2始動入賞口14への入賞に対応する。第2特別図柄の可変表示を開始できる状態でなければ、第2保留記憶数が上限値に達していないことを条件として、第2保留記憶数を1増やす。
この実施の形態では、確変大当りとなった場合には、遊技状態を高確率状態に移行するとともに、遊技球が始動入賞しやすくなる(すなわち、特別図柄表示器8a,8bや演出表示装置9における可変表示の実行条件が成立しやすくなる)ように制御された遊技状態である高ベース状態に移行する。また、遊技状態が時短状態に移行されたときも、高ベース状態に移行する。高ベース状態である場合には、例えば、高ベース状態でない場合と比較して、可変入賞球装置15が開状態となる頻度が高められたり、可変入賞球装置15が開状態となる時間が延長されたりして、始動入賞しやすくなる。
なお、可変入賞球装置15が開状態となる時間を延長する(開放延長状態ともいう)のでなく、普通図柄表示器10における停止図柄が当り図柄になる確率が高められる普通図柄確変状態に移行することによって、高ベース状態に移行してもよい。普通図柄表示器10における停止図柄が所定の図柄(当り図柄)となると、可変入賞球装置15が所定回数、所定時間だけ開状態になる。この場合、普通図柄確変状態に移行制御することによって、普通図柄表示器10における停止図柄が当り図柄になる確率が高められ、可変入賞球装置15が開状態となる頻度が高まる。従って、普通図柄確変状態に移行すれば、可変入賞球装置15の開放時間と開放回数が高められ、始動入賞しやすい状態(高ベース状態)となる。すなわち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態(始動入賞しやすい状態)に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
また、普通図柄表示器10における普通図柄の変動時間(可変表示期間)が短縮される普通図柄時短状態に移行することによって、高ベース状態に移行してもよい。普通図柄時短状態では、普通図柄の変動時間が短縮されるので、普通図柄の変動が開始される頻度が高くなり、結果として普通図柄が当りとなる頻度が高くなる。従って、普通図柄が当たりとなる頻度が高くなることによって、可変入賞球装置15が開状態となる頻度が高くなり、始動入賞しやすい状態(高ベース状態)となる。
また、特別図柄や演出図柄の変動時間(可変表示期間)が短縮される時短状態に移行することによって、特別図柄や演出図柄の変動時間が短縮されるので、特別図柄や演出図柄の変動が開始される頻度が高くなり(換言すれば、保留記憶の消化が速くなる。)、無効な始動入賞が生じてしまう事態を低減することができる。従って、有効な始動入賞が発生しやすくなり、結果として、大当り遊技が行われる可能性が高まる。
さらに、上記に示した全ての状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)に移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。また、上記に示した各状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)のうちのいずれか複数の状態に移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。また、上記に示した各状態(開放延長状態、普通図柄確変状態、普通図柄時短状態および特別図柄時短状態)のうちのいずれか1つの状態にのみ移行させることによって、始動入賞しやすくなる(高ベース状態に移行する)ようにしてもよい。
第1特別図柄表示器8aや第2特別図柄表示器8bによる特図ゲームでは、特別図柄の可変表示を開始させた後、所定時間(特図変動時間)が経過すると、特別図柄の可変表示結果となる確定特別図柄を停止表示(導出表示)する。このとき、確定特別図柄として特定の特別図柄(大当り図柄)が停止表示されれば、特定表示結果としての「大当り」となり、大当り図柄とは異なる所定の特別図柄(小当り図柄)が停止表示されれば、所定表示結果としての「小当り」となり、大当り図柄や小当り図柄以外の特別図柄が停止表示されれば「ハズレ」となる。特図ゲームでの可変表示結果が「大当り」になった後には、特定遊技状態としての大当り遊技状態に制御される。また、特図ゲームでの可変表示結果が「小当り」になった後には、大当り遊技状態とは異なる小当り遊技状態に制御される。この実施の形態におけるパチンコ遊技機1では、一例として、「1」、「3」、「7」を示す数字を大当り図柄とし、「5」を示す数字を小当り図柄とし、「−」を示す記号をハズレ図柄としている。なお、第1特別図柄表示器8aによる特図ゲームにおける大当り図柄や小当り図柄、ハズレ図柄といった各図柄は、第2特別図柄表示器8bによる特図ゲームにおける各図柄とは異なる特別図柄となるようにしてもよいし、双方の特図ゲームにおいて共通の特別図柄が大当り図柄や小当り図柄、ハズレ図柄となるようにしてもよい。なお、大当り図柄や小当り図柄は、遊技者が認識不可能あるいは認識困難とするために、数字を示す特別図柄とせずに予め定められた記号(例えば「コ」など)にしてもよい。
この実施の形態では、大当り図柄となる「1」、「3」、「7」の数字を示す特別図柄のうち、「3」、「7」の数字を示す特別図柄を15ラウンド大当り図柄とし、「1」の数字を示す特別図柄を2ラウンド大当り図柄とする。特図ゲームにおける確定特別図柄として15ラウンド大当り図柄が停止表示された後に制御される多ラウンド特定遊技状態としての大当り遊技状態(15ラウンド大当り状態)では、特別可変入賞球装置20の大入賞口扉が、第1期間となる所定期間(例えば29秒間)あるいは所定個数(例えば10個)の入賞球が発生するまでの期間にて大入賞口を開放状態とすることにより、特別可変入賞球装置20を遊技者にとって有利な第1状態に変化させるラウンドが実行される。こうしてラウンド中に大入賞口を開放状態とした大入賞口扉は、遊技盤2の表面を落下する遊技球を受け止め、その後に大入賞口を閉鎖状態とすることにより、特別可変入賞球装置20を遊技者にとって不利な第2状態に変化させて、1回のラウンドを終了させる。
15ラウンド大当り状態では、大入賞口の開放サイクルであるラウンドの実行回数が、第1ラウンド数(例えば「15」)となる。ラウンドの実行回数が「15」となる15ラウンド大当り状態における遊技は、15回開放遊技とも称される。このような15ラウンド大当り状態では、大入賞口に遊技球が入賞するたびに15個の出玉が得られる。なお、15ラウンド大当り状態は、第1特定遊技状態ともいう。特別可変入賞球装置20が第1状態であるときには、大入賞口に遊技球が進入可能となり、特別可変入賞球装置20が第2状態であるときには、大入賞口に遊技球が進入不可能または進入困難となればよい。
特図ゲームにおける確定特別図柄として2ラウンド大当り図柄が停止表示された後に制御される少ラウンド特定遊技状態としての大当り遊技状態(2ラウンド大当り状態)では、各ラウンドで特別可変入賞球装置20を遊技者にとって有利な第1状態に変化させる期間(開閉板により大入賞口を開放状態とする期間)が、15ラウンド大当り状態における第1期間よりも短い第2期間(例えば0.5秒間)となる。また、2ラウンド大当り状態では、ラウンドの実行回数が、15ラウンド大当り状態における第1ラウンド数よりも少ない第2ラウンド数(例えば「2」)となる。なお、2ラウンド大当り状態では、ラウンドの実行回数が第2ラウンド数となるように制御されればよく、それ以外の制御は15ラウンド大当り状態と同様に行われるようにしてもよい。ラウンドの実行回数が「2」となる2ラウンド大当り状態における遊技は、2回開放遊技とも称される。なお、2ラウンド大当り状態では、各ラウンドで特別可変入賞球装置20とは別個に設けられた所定の入賞球装置において、大入賞口となる所定の入賞口を閉鎖状態から開放状態とすることなどにより、遊技者にとって不利な第2状態から遊技者にとって有利な第1状態に変化させ、所定期間(第1期間または第2期間)が経過した後に第2状態へと戻すようにしてもよい。
2ラウンド大当り状態では、大入賞口に遊技球が入賞すれば15個の出玉が得られるが、大入賞口の開放期間が第2期間(1秒間)であって、非常に短い。そのため、2ラウンド大当り状態は実質的には出玉が得られない大当り遊技状態である。なお、2ラウンド大当り状態は、第2特定遊技状態ともいう。また、少ラウンド特定遊技状態としての大当り遊技状態は、多ラウンド特定遊技状態としての大当り遊技状態に比べて、ラウンドの実行回数が少ないものに限定されず、例えばラウンドの実行回数は少ラウンド特定遊技状態と多ラウンド特定遊技状態とで同一である一方で、少ラウンド特定遊技状態では大入賞口を開放状態とする上限期間(例えば2秒間)が多ラウンド特定遊技状態での上限期間(例えば29秒間)に比べて短くなるものであってもよい。すなわち、少ラウンド特定遊技状態としての大当り遊技状態は、各ラウンドで大入賞口を開放状態に変化させる期間が多ラウンド特定遊技状態における第1期間よりも短い第2期間となることと、ラウンドの実行回数が多ラウンド特定遊技状態における第1ラウンド数よりも少ない第2ラウンド数となることのうち、少なくともいずれか一方となるものであればよい。
15ラウンド大当り図柄となる「3」、「7」の数字を示す特別図柄のうち、「3」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づき15ラウンド大当り状態が終了した後には、通常状態(低確低ベース状態)に比べて特図ゲームにおける特別図柄の変動時間(特図変動時間)が短縮される時短制御(時間短縮制御)が行われる。こうした時短制御が行われる一方で、後述する確変制御(確率変動制御)が行われない遊技状態は、特別遊技状態の1つであり、時短状態(あるいは低確高ベース状態)という。通常状態とは、大当り遊技状態等の特定遊技状態や確変状態及び時短状態とは異なる遊技状態としての通常遊技状態であり、パチンコ遊技機1の初期設定状態(例えばシステムリセットが行われた場合のように、電源投入後に初期化処理を実行した状態)と同一の制御が行われる。時短状態における時短制御は、所定回数(例えば100回)の特図ゲームが実行されることと、可変表示結果が「大当り」となることのうち、いずれかの条件が先に成立したときに、終了すればよい。こうした「3」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に時短状態に制御される15ラウンド大当り図柄は、15ラウンド通常大当り図柄(「15ラウンド非確変大当り図柄」ともいう)と称される。また、15ラウンド非確変大当り図柄が停止表示されて可変表示結果が「大当り」となることは、「15ラウンド通常大当り」(「15ラウンド非確変大当り」ともいう)と称される。
15ラウンド大当り図柄となる「3」、「7」の数字を示す特別図柄のうち、「7」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づき15ラウンド大当り状態が終了した後には、時短制御とともに、継続して確変制御(確率変動制御)が行われる。こうした時短制御とともに確変制御が行われる遊技状態は、特別遊技状態の1つであり、時短付確変状態(あるいは高確高ベース状態)という。確変制御が行われることにより、各特図ゲームや飾り図柄の可変表示において、可変表示結果が「大当り」となって更に大当り遊技状態に制御される確率が、通常状態や時短状態よりも高くなるように向上する。確変制御は、特図ゲームの実行回数にかかわりなく、次に可変表示結果が「大当り」となるまで継続してもよい。あるいは、確変制御は、時短制御と同様に、所定回数(例えば100回)の特図ゲームが実行されることと、可変表示結果が「大当り」となることのうち、いずれかの条件が先に成立したときに、終了してもよい。こうした「7」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に高確高ベース状態といった確変状態に制御される15ラウンド大当り図柄は、15ラウンド確変大当り図柄と称される。また、15ラウンド確変大当り図柄が停止表示されて可変表示結果が「大当り」となることは、「15ラウンド確変大当り」と称される。
2ラウンド大当り図柄となる「1」の数字を示す特別図柄が特図ゲームにおける確定特別図柄として停止表示されたことに基づき2ラウンド大当り状態が終了した後には、継続して確変制御が行われる。なお、2ラウンド大当り状態の終了後に時短制御が行われるか否かは、その2ラウンド大当り状態となる以前に時短制御が行われていたか否かによって決定されればよい。すなわち、時短制御が行われていないときに実行された特図ゲームにおいて「1」の数字を示す確定特別図柄が停止表示されたことに基づく2ラウンド大当り状態が終了した後には、確変制御が行われる一方で時短制御が行われない時短なし確変状態(高確低ベース状態)に制御される。時短状態や時短付確変状態において時短制御が行われているときに実行された特図ゲームにおいて「1」の数字を示す確定特別図柄が停止表示されたことに基づく2ラウンド大当り状態が終了した後には、時短制御とともに確変制御が行われる時短付確変状態(高確高ベース状態)に制御される。こうした「1」の数字を示す特別図柄のように、特図ゲームにおける確定特別図柄として停止表示されたことに基づく大当り遊技状態が終了した後に確変制御が行われる2ラウンド大当り図柄は、2ラウンド確変大当り図柄(「突確大当り図柄」ともいう)と称される。2ラウンド確変大当り図柄が停止表示されて可変表示結果が「大当り」となることは、「2ラウンド確変大当り」(「突確」や「突然確変大当り」などともいう)と称される。なお、時短制御が行われているときの「突確」を、特に「時短中突確」ともいい、時短制御が行われていないときの「突確」を、特に「時短外突確」ともいう。
低確低ベース状態と低確高ベース状態は、まとめて「低確状態」ともいう。高確高ベース状態と高確高ベース状態は、まとめて「高確状態」ともいう。低確低ベース状態と高確低ベース状態は、まとめて「低ベース状態」ともいう。低確高ベース状態と高確高ベース状態は、まとめて「高ベース状態」ともいう。
時短制御が行われるときには、普通図柄表示器20による普図ゲームにおける普通図柄の変動時間(普図変動時間)を通常状態のときよりも短くする制御や、各回の普図ゲームで普通図柄の可変表示結果が「普図当り」となる確率を通常状態のときよりも向上させる制御、可変表示結果が「普図当り」となったことに基づく可変入賞球装置15における可動翼片の傾動制御を行う傾動制御時間を通常状態のときよりも長くする制御、その傾動回数を通常状態のときよりも増加させる制御といった、第2始動入賞口に遊技球が進入しやすくして第2始動条件が成立する可能性を高めることで遊技者にとって有利となる制御が行われる。なお、これらの制御のいずれか1つが行われるようにしてもよいし、複数の制御が組み合わせられて行われるようにしてもよい。このように、時短制御とともに、第2始動入賞口に遊技球が進入しやすくして遊技者にとって有利となる制御は、高開放制御(あるいは有利開放制御)ともいう。高開放制御が行われることにより、第2始動入賞口は、高開放制御が行われていないときよりも拡大開放状態となる頻度が高められる。これにより、第2特別図柄表示器8bによる第2特図を用いた特図ゲームを実行するための第2始動条件が成立しやすくなり、特図ゲームが頻繁に実行可能となることで、次に可変表示結果が「大当り」となるまでの時間が短縮される。したがって、時短状態や時短付確変状態では、通常状態に比べて大当り遊技状態となりやすくなる。高開放制御が実行可能となる期間は、高開放制御期間ともいい、この期間は、時短制御が行われる期間と同一であればよい。
図1に示すパチンコ遊技機1の遊技領域では、第2遊技領域となる右遊技領域7Bに可変入賞球装置15と通過ゲート32とが設けられている。したがって、時短制御とともに高開放制御が行われているときには、右遊技領域7Bに向けて遊技球を発射すれば、可変入賞球装置15に形成された第2始動入賞口14を遊技球が通過(進入)しやすい。また、時短制御が行われていることから、速やかに特図ゲームを消化して、可変表示結果が「大当り」となるまでの時間を短縮することができる。このように、時短制御とともに高開放制御が行われる時短制御中には、遊技領域内における遊技球の最適な発射位置(発射目標位置)が右遊技領域7Bとなる。
特図ゲームにおける確定特別図柄として小当り図柄が停止表示された後には、大当り遊技状態とは異なる小当り遊技状態に制御される。この小当り遊技状態では、2ラウンド大当り状態と同様に特別可変入賞球装置20を第2状態から第1状態とした後に第2状態へと戻す可変入賞動作が行われる。すなわち、小当り遊技状態では、例えば特別可変入賞球装置20が備える大入賞口扉により大入賞口を第2期間にわたり開放状態とする動作が、第2回数に達するまで繰り返し実行される。なお、小当り遊技状態では、2ラウンド大当り状態と同様に、大入賞口を開放状態とする期間が第2期間となることと、大入賞口を開放状態とする動作の実行回数が第2回数となることのうち、少なくともいずれか一方が行われるように制御されればよい。小当り遊技状態が終了した後には、遊技状態の変更が行われず、可変表示結果が「小当り」となる以前の遊技状態に継続して制御されることになる。すなわち、小当り遊技状態への制御が開始される直前の大当り確率は、小当り遊技状態への制御中も、小当り遊技状態への制御が終了した後も変更されることなく維持(継続)される。また、小当り遊技状態への制御が開始される直前に時短制御が行われているときには、小当り遊技状態への制御中も、小当り遊技状態への制御が終了した後も変更されることなく時短制御が行われる。可変入賞動作により大入賞口を開放状態とする回数が「2」である小当り遊技状態における遊技は、2ラウンド大当り状態における遊技と同様に、2回開放遊技とも称される。なお、2ラウンド大当り状態における各ラウンドで特別可変入賞球装置20とは別個に設けられた入賞球装置を第1状態に変化させる場合には、小当り遊技状態でも、2ラウンド大当り状態と同様の態様で、その入賞球装置を第1状態に変化させるようにすればよい。
15ラウンド大当り状態では、各回のラウンドにおいて大入賞口を開放状態とする上限時間が長いことや、ラウンドの実行回数が多いことなどにより、遊技球が大入賞口を通過(進入)しやすい。これに対して、2ラウンド大当り状態や小当り遊技状態では、各回のラウンドまたは可変入賞動作において大入賞口を開放状態とする上限時間が短いことや、ラウンドまたは可変入賞動作の実行回数が少ないことなどにより、遊技球が大入賞口を通過(進入)しにくい。このように、大当り遊技状態のうちには、15ラウンド大当り状態のように、大入賞口を遊技球が通過(進入)しやすい第1変化態様で開放状態(第1状態)と閉鎖状態(第2状態)とに制御可能な第1特定遊技状態と、2ラウンド大当り状態のように、大入賞口を遊技球が通過(進入)しにくい第2変化態様で開放状態(第1状態)と閉鎖状態(第2状態)とに制御可能な第2特定遊技状態とが含まれている。なお、第1特定遊技状態は、すべてのラウンドで大入賞口の変化態様が第1変化態様となるものに限定されず、少なくとも1回のラウンドにおける大入賞口の変化態様が第1変化態様となるものであればよい。すなわち、第1特定遊技状態は、大入賞口の変化態様が第1変化態様を含むものであればよい。その一方で、第2特定遊技状態は、大入賞口の変化態様が第2変化態様のみとなるものであればよい。
小当り遊技状態は、その終了後に以前の遊技状態を継続させる点で大当り遊技状態とは異なる特殊遊技状態である。小当り遊技状態における大入賞口の変化態様は、大当り遊技状態に含まれる第2特定遊技状態としての2ラウンド大当り状態と同様に、第2変化態様のみとなる。
図1に示すパチンコ遊技機1の遊技領域では、第2遊技領域となる右遊技領域7Bに特別可変入賞球装置20が設けられている。したがって、大当り遊技状態や小当り遊技状態に制御されて大入賞口が開放状態(第1状態)と閉鎖状態(第2状態)とに変化するときには、右遊技領域7Bに向けて遊技球を発射すれば、大入賞口を遊技球が通過(進入)することにより、景品として多数の賞球が得られる可能性がある。このように、大当り遊技状態や小当り遊技状態にて大入賞口が開放状態(第1状態)と閉鎖状態(第2状態)とに変化するときには、遊技領域内における遊技球の最適な発射位置(発射目標位置)が右遊技領域7Bとなる。ただし、2ラウンド大当り状態や小当り遊技状態では、大入賞口が開放状態(第1状態)となる開放回数が少ないことや開放時間が短いことなどにより、15ラウンド大当り状態における大入賞口の変化態様(第1変化態様)に比べて、遊技球が大入賞口を通過(進入)しにくい変化態様(第2変化態様)となる。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。図2は、遊技機を裏面から見た背面図である。図2に示すように、パチンコ遊技機1裏面側では、演出表示装置9を制御する演出制御用マイクロコンピュータ100が搭載された演出制御基板80を含む変動表示制御ユニット、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31、音声出力基板70、ランプドライバ基板35、および球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37等の各種基板が設置されている。なお、遊技制御基板31は基板収納ケース200に収納されている。
さらに、パチンコ遊技機1裏面側には、DC30V、DC21V、DC12VおよびDC5V等の各種電源電圧を作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910には、パチンコ遊技機1における遊技制御基板31および各電気部品制御基板(演出制御基板80および払出制御基板37)やパチンコ遊技機1に設けられている各電気部品(電力が供給されることによって動作する部品)への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチ、遊技制御基板31の遊技制御用マイクロコンピュータ560のRAM55をクリアするためのクリアスイッチが設けられている。さらに、電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
なお、この実施の形態では、主基板31は遊技盤側に設けられ、払出制御基板37は遊技枠側に設けられている。このような構成であっても、後述するように、主基板31と払出制御基板37との間の通信をシリアル通信で行うことによって、遊技盤を交換する際の配線の取り回しを容易にしている。
なお、各制御基板には、制御用マイクロコンピュータを含む制御手段が搭載されている。制御手段は、遊技制御手段等からのコマンドとしての指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、演出表示装置9、ランプやLEDなどの発光体、スピーカ27等)を制御する。以下、主基板31を制御基板に含めて説明を行うことがある。その場合には、制御基板に搭載される制御手段は、遊技制御手段と、遊技制御手段等からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。なお、球払出装置97は、遊技球を誘導する通路とステッピングモータ等により駆動されるスプロケット等によって誘導された遊技球を上皿や下皿に払い出すための装置であって、払い出された賞球や貸し球をカウントする払出個数カウントスイッチ等もユニットの一部として構成されている。なお、この実施の形態では、払出検出手段は、払出個数カウントスイッチ301によって実現され、球払出装置97から実際に賞球や貸し球が払い出されたことを検出する機能を備える。この場合、払出個数カウントスイッチ301は、賞球や貸し球の払い出しを1球検出するごとに検出信号を出力する。
パチンコ遊技機1裏面において、上方には、各種情報をパチンコ遊技機1の外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、例えば、大当り遊技状態の発生を示す大当り情報等の情報出力信号(図36に示す図柄確定回数1信号、始動口信号、大当り1信号、大当り2信号、大当り3信号、時短信号、入賞信号、セキュリティ信号、高確中信号、賞球情報)を外部出力するための情報出力端子が設けられている。
貯留タンク38に貯留された遊技球は誘導レール(図示せず)を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置97に至る。球払出装置97の上方には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置97の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レールにおける上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構からパチンコ遊技機1に対して遊技球の補給が行なわれる。
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払出されて打球供給皿3が満杯になると、遊技球は、余剰球誘導通路を経て余剰球受皿4に導かれる。さらに遊技球が払出されると、感知レバー(図示せず)が貯留状態検出手段としての満タンスイッチを押圧して、貯留状態検出手段としての満タンスイッチがオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
図3は、主基板(遊技制御基板)31における回路構成の一例を示すブロック図である。なお、図3には、払出制御基板37および演出制御基板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は、第1始動口スイッチ13aや第2始動口スイッチ14aへの始動入賞が生じたときに乱数回路503から数値データをランダムRとして読み出し、特別図柄および演出図柄の変動開始時にランダムRにもとづいて特定の表示結果としての大当り表示結果にするか否か、すなわち、大当りとするか否かを決定する。そして、大当りとすると決定したときに、遊技状態を遊技者にとって有利な特定遊技状態としての大当り遊技状態に移行させる。
また、遊技制御用マイクロコンピュータ560には、払出制御基板37(の払出制御用マイクロコンピュータ370)とシリアル通信で信号を入出力(送受信)するためのシリアル通信回路505が内蔵されている。なお、払出制御用マイクロコンピュータ370にも、遊技制御用マイクロコンピュータ560とシリアル通信で信号を入出力するためのシリアル通信回路が内蔵されている(払出制御用マイクロコンピュータ370に内蔵されたシリアル通信回路については、図4参照)。
また、RAM55は、その一部または全部が電源基板において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態すなわち遊技制御手段の制御状態に応じたデータ(特別図柄プロセスフラグや、保留記憶数をカウントするための保留記憶数カウンタの値など)と未払出賞球数を示すデータ(具体的には、後述する賞球コマンド出力カウンタの値)は、バックアップRAMに保存される。また、この実施の形態では、後述する入賞情報記憶タイマの値もバックアップRAMに保存される。遊技制御手段の制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、遊技を再開させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを遊技の進行状態を示すデータと定義する。なお、この実施の形態では、RAM55の全部が、電源バックアップされているとする。
遊技制御用マイクロコンピュータ560のリセット端子には、電源基板からのリセット信号が入力される。電源基板には、遊技制御用マイクロコンピュータ560等に供給されるリセット信号を生成するリセット回路が搭載されている。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ560等は動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ560等は動作停止状態になる。従って、リセット信号がハイレベルである期間は、遊技制御用マイクロコンピュータ560等の動作を許容する許容信号が出力されていることになり、リセット信号がローレベルである期間は、遊技制御用マイクロコンピュータ560等の動作を停止させる動作停止信号が出力されていることになる。なお、リセット回路をそれぞれの電気部品制御基板(電気部品を制御するためのマイクロコンピュータが搭載されている基板)に搭載してもよい。
さらに、遊技制御用マイクロコンピュータ560の入力ポートには、電源基板からの電源電圧が所定値以下に低下したことを示す電源断信号が入力される。すなわち、電源基板には、遊技機において使用される所定電圧(例えば、DC30VやDC5Vなど)の電圧値を監視して、電圧値があらかじめ定められた所定値にまで低下すると(電源電圧の低下を検出すると)、その旨を示す電源断信号を出力する電源監視回路が搭載されている。なお、電源監視回路を電源基板に搭載するのではなく、バックアップ電源によって電源バックアップされる基板(例えば、主基板31)に搭載するようにしてもよい。また、遊技制御用マイクロコンピュータ560の入力ポートには、RAMの内容をクリアすることを指示するためのクリアスイッチが操作されたことを示すクリア信号(図示せず)が入力される。
また、ゲートスイッチ32a、第1始動口スイッチ13a、第2始動口スイッチ14a、入賞確認スイッチ14b、カウントスイッチ23、および各入賞口スイッチ29a,30aからの検出信号を基本回路53に与える入力ドライバ回路58も主基板31に搭載され、可変入賞球装置15を開閉するソレノイド16、および特別可変入賞球装置を開閉するソレノイド21を基本回路53からの指令に従って駆動する出力回路59も主基板31に搭載され、電源投入時に遊技制御用マイクロコンピュータ560をリセットするためのシステムリセット回路(図示せず)や、大当り遊技状態の発生を示す大当り情報等の情報出力信号を、ターミナル基板160を介して、ホールコンピュータ等の外部装置に対して出力する情報出力回路64も主基板31に搭載されている。
この実施の形態では、演出制御基板80に搭載されている演出制御手段(演出制御用マイクロコンピュータで構成される。)が、中継基板77を介して遊技制御用マイクロコンピュータ560からの演出制御コマンドを受信し、演出図柄を可変表示する演出表示装置9の表示制御を行う。
図4は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図4に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータ370が搭載されている。この実施の形態では、払出制御用マイクロコンピュータ370は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。払出制御用マイクロコンピュータ370、RAM(図示せず)、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御手段を構成する。すなわち、払出制御手段は、払出制御用CPU371、RAMおよびROMを有する払出制御用マイクロコンピュータ370と、I/Oポートとで実現される。また、I/Oポートは、払出制御用マイクロコンピュータ370に内蔵されていてもよい。なお、遊技制御用マイクロコンピュータ560と異なり、払出制御用マイクロコンピュータ370が内蔵するRAMは、バックアップ電源による電源バックアップを受けていない。そのため、遊技機に対する電力供給が停止してしまうと、払出制御用マイクロコンピュータ370が内蔵するRAMの記憶内容は失われることになる。
なお、払出制御用マイクロコンピュータ370は、所定の払出条件が成立したことにもとづいて遊技球を払い出す制御を行う。なお、所定の払出条件は、遊技領域に設けられた入賞領域(普通入賞口29,30、大入賞口、第1始動入賞口13、第2始動入賞口14)に遊技球が入賞したことや、貸し球要求がなされたことによって成立する。また、例えば、パロット機やスロットマシンなどの遊技機に適用する場合には、所定の払出条件は、遊技球やメダルの返却要求がなされたことによっても成立する。さらに、例えば、パロット機やスロットマシンなどの遊技機に適用する場合には、所定の払出条件は、図柄の停止図柄が所定の入賞図柄となったことによっても成立する。
球切れスイッチ187、満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。なお、この実施の形態では、払出個数カウントスイッチ301からの検出信号は、払出制御用マイクロコンピュータ370に入力されたあと、I/Oポート372aおよび出力回路373Bを介して主基板31に出力される。
また、払出モータ位置センサ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が満タン信号を出力している間であっても、発射モータ94への発射モータ信号の出力を停止せず、打球発射装置からの球発射を停止させないように構成してもよい。
払出制御用マイクロコンピュータ370には、遊技制御用マイクロコンピュータ560とシリアル通信で信号を入出力(送受信)するためのシリアル通信回路380が内蔵されている。この実施の形態では、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とは、シリアル通信回路505,380を介して、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続確認を行うために、一定の間隔(例えば1秒)で払出制御コマンド(接続確認コマンド、接続OKコマンド)をやり取り(送受信)している。例えば、遊技制御用マイクロコンピュータ560は、シリアル通信回路505を介して、一定の間隔で接続確認を行うための接続確認コマンドを送信し、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560からの接続確認コマンドを受信した場合、その旨を通知する接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する。また、例えば、入賞が発生した場合には、遊技制御用マイクロコンピュータ560は、払い出すべき賞球個数を示すデータを賞球個数コマンドの下位4ビットに設定し、当該設定がなされた賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。そして、払出制御用マイクロコンピュータ370は、賞球個数を受け付けたことを示す賞球個数受付コマンドを遊技制御用マイクロコンピュータ560に送信する。さらに、払出制御用マイクロコンピュータ370は、賞球払出動作が終了すると、賞球終了を示す賞球終了コマンドを遊技制御用マイクロコンピュータ560に送信する。なお、払出制御用マイクロコンピュータ370は、賞球払出動作を終了するまでの間、一定の間隔で賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する。また、所定のエラー(球貸し、満タン、球切れなどのエラー)が発生した場合には、エラーの内容を示すデータを、接続OKコマンドや賞球準備中コマンドの下位4ビットを異ならせることにより設定し、当該設定がなされた接続OKコマンドや賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する。
また、払出制御用マイクロコンピュータ370は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
さらに、払出制御用マイクロコンピュータ370からの払出モータ289への駆動信号は、出力ポート372aおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側に、ドライバ回路(モータ駆動回路)が設置されているが、図4では記載省略されている。
遊技機に隣接して設置されているカードユニット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信号)等の信号は、図4に示すように、インタフェース基板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は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
図5は、中継基板77、演出制御基板80、ランプドライバ基板35および音声出力基板70の回路構成例を示すブロック図である。なお、図5に示す例では、ランプドライバ基板35および音声出力基板70には、マイクロコンピュータは搭載されていないが、マイクロコンピュータを搭載してもよい。また、ランプドライバ基板35および音声出力基板70を設けずに、演出制御に関して演出制御基板80のみを設けてもよい。
演出制御基板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は、読み出した画像データにもとづいて表示制御を実行する。
さらに、演出制御用CPU101は、出力ポート105を介してランプドライバ基板35に対してLEDを駆動する信号を出力する。また、演出制御用CPU101は、出力ポート104を介して音声出力基板70に対して音番号データを出力する。
ランプドライバ基板35において、LEDを駆動する信号は、入力ドライバ351を介してLEDドライバ352に入力される。LEDドライバ352は、LEDを駆動する信号にもとづいて枠LED28などの枠側に設けられている発光体に電流を供給する。また、遊技盤側に設けられている装飾LED25に電流を供給する。
音声出力基板70において、音番号データは、入力ドライバ702を介して音声合成用IC703に入力される。音声合成用IC703は、音番号データに応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。音声データROM704には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば演出図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
図6は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図6に示すように、出力ポート0からは、払出制御基板37に送信される払出制御信号(本例では、接続信号)が出力される。また、大入賞口を開閉する可変入賞球装置20を開閉するためのソレノイド(大入賞口扉ソレノイド)21、および可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号も、出力ポート0から出力される。また、出力ポート0から、ターミナル基板160を介して外部装置(例えば、ホールコンピュータ)に対して出力される信号のうち高確中信号も出力される。
なお、図6に示された「論理」(例えば1がオン状態)と逆の論理(例えば0がオン状態)を用いてもよいが、特に、接続信号については、主基板31と払出制御基板37との間の信号線において断線が生じた場合やケーブル外れの場合(ケーブル未接続を含む)等に、払出制御用マイクロコンピュータ370では必ずオフ状態と検知されるように「論理」が定められる。具体的には、一般に、断線やケーブル外れが生ずると信号の受信側ではハイレベルが検知されるので、主基板31と払出制御基板37との間の信号線でのハイレベルが、遊技制御手段における出力ポートにおいてオフ状態になるように「論理」が定められる。従って、必要であれば、主基板31において出力ポートの外側に、信号を論理反転させる出力バッファ回路が設置される。
そして、出力ポート1から、ターミナル基板160を介して、外部装置(例えば、ホールコンピュータ)に対して、各種情報出力用信号すなわち制御に関わる情報(例えば、図柄確定回数1信号、始動口信号、大当り1信号、大当り2信号、大当り3信号、時短信号、入賞信号、セキュリティ信号)の出力データが出力される。ただし、既に説明したように、外部出力される信号のうち高確中信号については、出力ポート0から出力される。なお、この実施の形態では、後述する賞球情報(賞球払出を10個検出するごとに出力される信号)も、ターミナル基板160を介して外部装置に出力される。この場合、払出制御基板37側において、賞球払出が検出され、賞球情報が主基板31に入力される。そして、主基板31に入力された賞球情報は、遊技制御用マイクロコンピュータ560を経由することなく、主基板31上をそのまま経由してターミナル基板160を介して外部出力される。なお、主基板31に入力された賞球情報は、遊技制御用マイクロコンピュータ560を一旦経由してから、ターミナル基板160を介して外部出力されるようにしてもよい。
なお、ターミナル基板160を介して外部出力される信号は、この実施の形態で示したものに限られない。例えば、遊技枠が開放状態であることを示すドア開放信号や、後述する賞球信号1(賞球払出を1個検出するごとに出力される信号)、遊技機エラー状態信号(遊技機がエラー状態(本例では、球切れエラー状態または満タンエラー状態)であることを示す信号)も、ターミナル基板160を介して外部装置に出力されるようにしてもよい。この場合、払出制御基板37側において、遊技枠が開放状態であることや、賞球払出、遊技機のエラー状態も検出され、ドア開放信号や賞球信号1、遊技機エラー状態信号が主基板31に入力される。そして、主基板31に入力されたドア開放信号や賞球信号1、遊技機エラー状態信号は、遊技制御用マイクロコンピュータ560を経由することなく、主基板31上をそのまま経由してターミナル基板160を介して外部出力される。なお、この場合も、主基板31に入力されたドア開放信号や賞球信号1、遊技機エラー状態信号は、遊技制御用マイクロコンピュータ560を一旦経由してから、ターミナル基板160を介して外部出力されるようにしてもよい。
また、例えば、特別図柄の変動回数を通知するための図柄確定回数信号として図柄確定回数1信号に加えて図柄確定回数2信号も、ターミナル基板160を介して外部出力するようにしてもよい。この場合、例えば、第1特別図柄の変動回数のみを通知するための信号として図柄確定回数2信号を外部出力するようにし、第1特別図柄および第2特別図柄の両方の変動回数を通知するための信号として図柄確定回数1信号を外部出力するように構成すればよい。そのように構成すれば、ホールコンピュータなどの外部装置側において、第1特別図柄のみの変動回数に加えて、第1特別図柄および第2特別図柄合計の変動回数や、第2特別図柄のみの変動回数も把握することができる。
図7は、遊技制御手段における入力ポートのビット割り当ての例を示す説明図である。図7に示すように、入力ポート0のビット0,2〜4には、それぞれ、カウントスイッチ23の検出信号、入賞口スイッチ29a,30aの検出信号、入賞確認スイッチ14bの検出信号が入力される。また、入力ポート1のビット4〜7には、それぞれ、電波センサ信号、磁石センサ信号、ドア開放信号、賞球情報が入力される。また、入力ポート2のビット0〜4には、それぞれ、第1始動口スイッチ13aの検出信号、第2始動口スイッチ14aの検出信号、ゲートスイッチ32aの検出信号、電源基板910からのクリアスイッチの検出信号および電源断信号が入力される。
図8は、ターミナル基板160の内部構成を示す回路図である。図8に示すターミナル基板160において、左側上段のコネクタCN−1,CN−2は、主基板31からの信号を伝達するケーブルを接続するためのコネクタであり、左側下段のコネクタCN−3は、払出制御基板37からの信号を、主基板31を経由して伝達するケーブルを接続するためのコネクタである。また、右側のコネクタCN1〜CN10は、ホールコンピュータなど外部装置に対して信号を伝達するケーブルを接続するためのコネクタである。また、ターミナル基板160には、ドライバ回路としての半導体リレー(PhotoMOSリレー)PC1〜PC10が搭載されている。
主基板31からのケーブルがコネクタCN−1,CN−2に接続されることにより、主基板31(遊技制御用マイクロコンピュータ560)から各種信号がターミナル基板160に入力される。具体的には、コネクタCN−1の端子「2」に図柄確定回数1信号が入力され、コネクタCN−1の端子「3」に始動口信号が入力され、コネクタCN−1の端子「4」に大当り1信号が入力され、コネクタCN−1の端子「5」に大当り2信号が入力され、コネクタCN−1の端子「6」に大当り3信号が入力され、コネクタCN−1の端子「7」に時短信号が入力され、コネクタCN−1の端子「8」に入賞信号が入力され、コネクタCN−1の端子「9」にセキュリティ信号が入力され、コネクタCN−2の端子「9」に高確中信号が入力される。
また、払出制御基板37からのケーブルが主基板31を経由してコネクタCN−3に接続されることにより、払出制御基板37(払出制御用マイクロコンピュータ370)からの信号がターミナル基板160に入力される。具体的には、コネクタCN−3の端子「9」に賞球情報が入力される。
図8に示すように、ターミナル基板160では、コネクタCN−1、コネクタCN−2およびコネクタCN−3の端子「1」に基準電位の信号線が接続され、その信号線が分岐して、各々の半導体リレーPC1〜PC10の入力端子「1」に接続されている。また、コネクタCN−1の端子「2」〜「9」、コネクタCN−2のコネクタ「9」、およびコネクタCN−3のコネクタ「9」に接続された信号線は、それぞれ、1KΩの抵抗R1〜R10を介して半導体リレーPC1〜PC10の入力端子「2」に接続されている。また、半導体リレーPC1〜PC10の出力端子「4」に接続された信号線は、それぞれ、コネクタCN1〜CN10の端子「1」に接続されている。また、半導体リレーPC1〜PC10の出力端子「3」に接続された信号線は、それぞれ、コネクタCN1〜CN10の端子「2」に接続されている。
半導体リレーPC1〜PC10では、入力端子に信号電流が流れると、入力側の発光素子(LED)が発光する。発光された光は、LEDと対向に設けられた光電素子(太陽電池)に透明シリコンを通って照射される。光を受けた光電素子は、光の量に応じて電圧に交換し、この電圧は制御回路を通って出力部のMOSFETゲートを充電する。光電素子より供給されるMOSFETゲート電圧が設定電圧値に達すると、MOSFETが導通状態になり、負荷をオンさせる。入力端子の信号電流が切れると、発光素子(LED)の発光が止まる。LEDの発光が止まると、光電素子の電圧が下がり、光電素子から供給される電圧が下がると制御回路により、MOSFETのゲート負荷を急速に放電させる。この制御回路によりMOSFETが非導通状態になり、負荷をオフさせる。
以上のような半導体リレーPC1〜PC10の動作により、入力側のコネクタCN−1、コネクタCN−2およびコネクタCN−3から入力された信号が出力側のコネクタCN1〜CN10に伝達され、ホールコンピュータなど外部装置に対して出力される。具体的には、コネクタCN1から図柄確定回数1信号が出力され、コネクタCN2から始動口信号が出力され、コネクタCN3から大当り1信号が出力され、コネクタCN4から大当り2信号が出力され、コネクタCN5から大当り3信号が出力され、コネクタCN6から時短信号が出力され、コネクタCN7から入賞信号が出力され、コネクタCN8からセキュリティ信号が出力され、コネクタCN9から高確中信号が出力され、コネクタCN10から賞球情報が出力される。なお、ターミナル基板160における各外部出力信号に対するコネクタの割り当ては、この実施の形態で示したものにかぎられない。例えば、セキュリティ信号については、ターミナル基板160に設けられた一番端のコネクタ(例えば、コネクタCN10)から出力されるようにしてもよい。
なお、コネクタCN7から出力される入賞信号は、所定数分(この実施の形態では、10個分)の賞球を払い出すための所定の払出条件が成立したこと(第1始動入賞口13、第2始動入賞口14、大入賞口、普通入賞口29,30への入賞が発生したこと。賞球の払出までは行われていない。)を示す信号である。入賞信号を確認することによって、払い出される賞球数の予定数を、ホールコンピュータなどの外部装置側で認識できるようにすることができる。
また、コネクタCN10から出力される賞球情報は、特定数(この実施の形態では、10個)の賞球が払い出されたこと(球払出装置97が駆動されて実際に賞球が払い出されたこと)を示す信号である。賞球情報を確認することによって、実際に払い出された賞球数を、ホールコンピュータなどの外部装置側で認識できるようにすることができる。また、入賞信号で示される賞球の予定数と賞球情報で示される払出済みの賞球数とを確認することによって、賞球払出が正常に行われたか否かや賞球過不足数を、ホールコンピュータなどの外部装置側で認識できるようにすることができる。
また、コネクタCN8から出力されるセキュリティ信号は、遊技機のセキュリティ状態を示す信号である。具体的には、後述するように、第2始動口スイッチ14aの検出結果と入賞確認スイッチ14bの検出結果とにもとづいて、第2始動入賞口14への異常入賞が発生したと判定された場合に、セキュリティ信号が所定期間(例えば、4分間)ホールコンピュータなどの外部装置に出力される。そのように構成することによって、電波などを用いて第2始動入賞口14への入賞数が実際の入賞数よりも多くなるように認識させるような不正行為が行われたことを、ホールコンピュータなどの外部装置側で認識できるようにすることができる。
また、この実施の形態では、遊技機への電源投入が行われて初期化処理が実行された場合にも、セキュリティ信号が所定期間(例えば、30秒間)ホールコンピュータなどの外部装置に出力される。そのように構成することによって、不自然なタイミングで(例えば、遊技店の開店時に全ての遊技機の電源リセット作業を終えた後であるにもかかわらず)初期化処理が実行されたことを認識可能とすることによって、不正に遊技機を電源リセットさせて電源リセットのタイミングで大当りを狙うような不正行為が行われた可能性を、ホールコンピュータなどの外部装置側で認識できるようにすることができる。
なお、この実施の形態では、上記のように、異常入賞が検出された場合と、初期化処理(例えば、遊技機への電源投入時に、クリアスイッチによる操作が行われたことにもとづいてRAM55の記憶内容をクリアするなどの処理)が実行された場合とで、共通のセキュリティ信号をターミナル基板160の共通のコネクタCN8から外部出力している。これは、初期化処理が実行されるのは、通常、遊技店の開店時に遊技機の電源リセット作業を行う場合のみであることから、1日のうち1回程度しか出力されない信号のためにターミナル基板160上に専用のコネクタや半導体リレーを設けることは効率的ではなく無駄が多い。そこで、この実施の形態では、異常入賞が検出された場合と、初期化処理が実行された場合とで、共通のコネクタCN8からセキュリティ信号を出力するように構成することによって、外部出力用の信号線や回路素子の無駄を低減している。すなわち、ホールコンピュータなどの外部装置に情報を出力するための機構の部品数の増加や配線作業の複雑化を防ぐことができる。
なお、セキュリティ信号として共通のコネクタから外部出力される信号は、この実施の形態で示したものにかぎられない。例えば、第2始動入賞口14への異常入賞にかぎらず、第1始動入賞口13や、大入賞口、普通入賞口29,30への異常入賞を検出して、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成してもよい。この場合、例えば、第1始動入賞口13や、大入賞口、普通入賞口29,30についても、第2始動入賞口14と同様に、遊技球の入賞を検出するためのスイッチとして検出方式の異なる2種類のスイッチ(近接スイッチとフォトセンサ)を設けるようにし、第2始動入賞口14と同様の判定方法に従って、異常入賞の有無を判定するようにすればよい。
また、例えば、遊技機に設けられた磁石センサで異常磁気を検出した場合や、遊技機に設けられた電波センサで異常電波を検出した場合に、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成してもよい。また、例えば、遊技機に設けられた各種スイッチの異常を検出した場合(例えば、入力値が閾値を超えたと判定したことにより、短絡などの発生を検出した場合)に、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成してもよい。
上記のように、大入賞口への異常入賞や異常磁気エラー、異常電波エラーについてもターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成すれば、1本の信号線さえ接続すればホールコンピュータなど外部装置でエラー検出を行えるようにすることができ、エラー検出に関する作業負担を軽減することができる。
なお、大入賞口への異常入賞を検出する場合には、カウントスイッチ23による検出数と入賞確認スイッチによる検出数とが所定値(例えば、10)以上となったことにもとづいて判定する場合に加えて、特別図柄プロセスフラグの値が大当り遊技中であることを示す値となっていない場合(例えば、特別図柄プロセスフラグの値が5以上となっていない場合。図30参照)にカウントスイッチ23により遊技球を検出した場合にも、大入賞口への異常入賞が発生したと判定するようにしてもよい。また、このように、カウントスイッチ23および入賞確認スイッチの検出結果にもとづいて大入賞口への異常入賞が発生したと判定した場合や、特別図柄プロセスフラグの値にもとづいて大入賞口への異常入賞が発生したと判定した場合にも、スイッチ正常/異常チェック処理におけるステップS128と同様に、セキュリティ信号情報タイマに所定時間(例えば、4分)をセットすることにより、セキュリティ信号を外部出力するようにすればよい。
また、例えば、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーを検出した場合にも、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成してもよい。この場合、例えば、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370から後述する接続OKコマンドや賞球個数受付コマンドを受信できなかったことにもとづいて通信エラーが発生したと判定し、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力してもよい。また、例えば、遊技制御用マイクロコンピュータ560は、シリアル通信回路505のステータスレジスタ(図示せず)のいずれかのエラービットの値がセットされていることにもとづいて通信エラーが発生したと判定し、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力してもよい。
なお、セキュリティ信号用の信号線およびコネクタCN8とは別に、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラー専用の信号線およびコネクタをターミナル基板160に設けてもよい。そして、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーを検出した場合には、セキュリティ信号とは別の信号として、ターミナル基板160を経由してホールコンピュータなどの外部装置に出力するようにしてもよい。
また、セキュリティ信号出力用の信号線とは別に、初期化処理実行の検出や、第1始動入賞口13への異常入賞の検出、第2始動入賞口14への異常入賞の検出、大入賞口への異常入賞の検出、異常磁気エラーの検出、異常電波エラーの検出、通信エラーの検出について、それぞれ別々の信号線を設けるようにし、ターミナル基板160から、セキュリティ信号とともに、それぞれのエラーに対応した外部出力信号も、ホールコンピュータなどの外部装置に出力するようにしてもよい。そのように構成すれば、セキュリティ信号を確認することによって何らかのエラーが発生していることを認識できるとともに、さらにエラーの種類ごとに出力される信号を確認することによって遊技店側でエラーの種類を確認することができる。従って、遊技店側からエラーの種類の確認まで要求されているような場合には、セキュリティ信号とは別にエラー種類ごとの外部出力信号を設けることによって、より遊技店のニーズに応えた外部出力を行えるようにすることができる。一方で、何らかのエラーが発生していることの確認のみを要求しているような遊技店の場合には、外部出力される信号のうち、セキュリティ信号のみをホールコンピュータなどの外部装置に接続して確認するようにすればよい。
上記のように、半導体リレーPC1〜PC10をターミナル基板160に設けたことにより、外部から遊技機内部への信号入力を防止することができ、その結果、不正行為を確実に防止することができる。なお、上記の例では、ターミナル基板160に半導体リレーPC1〜PC10を設けていたが、半導体リレーPC1〜PC10ではなく、機械式のリレー等の他のリレー素子であってもよい。
次に遊技機の動作について説明する。図9は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ560へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ560のCPU56が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ560のCPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、マスク可能割込の割込モードを設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。なお、ステップS2では、遊技制御用マイクロコンピュータ560の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
次いで、CPU56は、払出制御用マイクロコンピュータ370に対して、接続信号の出力を開始する(ステップS4)。なお、CPU56は、ステップS4で接続信号の出力を開始すると、遊技機の電源供給が停止したり、何らかの通信エラーが生じて出力不能とならないかぎり、払出制御用マイクロコンピュータ370に対して接続信号を継続して出力する。
次いで、内蔵デバイスレジスタの設定(初期化)を行う(ステップS5)。ステップS5の処理によって、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の設定(初期化)がなされる。
この実施の形態で用いられる遊技制御用マイクロコンピュータ560は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)504も内蔵している。
次いで、CPU56は、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は、バックアップ電源されたRAM55が記憶するデータを用いて遊技を再開するためのホットスタート処理を行う(ステップS91)。また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS92)、ステップS15に移行する。なお、ステップS92で設定された後、後述するステップS15aのシリアル通信回路設定処理が行われてからバックアップコマンドが送信されることになる。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAM55の全領域を初期化せず、所定のデータをそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次業領域に設定する(ステップS12)。
ステップS11およびS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。また、後述する各外部出力信号を出力するために用いる各タイマ(始動口情報記憶タイマや、入賞情報記憶タイマ、セキュリティ信号情報タイマなど)にも初期値(クリアデータ)が設定される。
また、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、演出表示装置9に表示される初期図柄を示すコマンドや払出制御基板37への初期化コマンド等を使用することができる。なお、ステップS13で設定された後、後述するステップS15aのシリアル通信回路設定処理が行われてから初期化コマンドが送信されることになる。
また、CPU56は、セキュリティ信号情報タイマに所定時間(本例では、30秒)をセットする(ステップS14a)。セキュリティ信号情報タイマは、ターミナル基板160から出力するセキュリティ信号のオン時間を計測するためのタイマである。この実施の形態では、ステップS14aでセキュリティ信号情報タイマに所定時間がセットされたことにもとづいて、後述する情報出力処理(S31参照)が実行されることによって、遊技機の電源投入時に初期化処理が実行されたときに、セキュリティ信号が所定時間(本例では、30秒)外部出力される。
また、CPU56は、乱数回路503を初期設定する乱数回路設定処理を実行する(ステップS15)。この場合、CPU56は、あらかじめROM54に格納されている乱数回路設定プログラムに従って処理を実行することによって、乱数回路503にランダムRの値を更新させるための設定を行う。
また、CPU56は、シリアル通信回路505を初期設定するシリアル通信回路設定処理を実行する(ステップS15a)。この場合、CPU56は、シリアル通信回路設定プログラムに従ってROM54の所定領域に格納されているデータをシリアル通信回路505に設定することによって、シリアル通信回路505に払出制御用マイクロコンピュータとシリアル通信させるための設定を行う。
シリアル通信回路505を初期設定すると、CPU56は、シリアル通信回路505の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS15b)。この場合、CPU56は、割込優先順位設定プログラム557に従って処理を実行することによって、割込処理の優先順位を初期設定する。
例えば、CPU56は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。この実施の形態では、CPU56は、割込処理優先順位テーブルに従って、シリアル通信回路505において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。この場合、例えば、CPU56は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
なお、この実施の形態では、タイマ割込とシリアル通信回路505からの割り込み要求とが同時に発生した場合、CPU56は、タイマ割込による割込処理を優先して行う。
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された割込処理を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
なお、ステップS15〜S15bだけでなく、乱数回路503やシリアル通信回路505の設定処理の一部は、ステップS5の処理においても実行される。例えば、ステップS5において、内蔵デバイスレジスタとして、シリアル通信回路505のボーレートレジスタや通信設定レジスタ、割込制御レジスタ、ステータスレジスタに、初期値を設定する処理が実行される。
また、メイン処理の初期化処理において、後述する賞球不足エラーや賞球過剰エラーを検出するために用いられる賞球個数カウンタに初期値として「250」が設定される処理も実行される。なお、賞球個数カウンタに初期値を設定する処理を、例えば、ステップS91のホットスタート処理やステップS12の作業領域に各初期値を順次設定する処理において実行してもよく、ステップS15〜S17の処理に移行するまでの間に実行していればよい。
そして、CPU56は、所定時間(例えば4ms)ごとに定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているCTCのレジスタの設定を行なうタイマ割込設定処理を実行する(ステップS16)。すなわち、初期値として例えば4msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、4msごとに定期的にタイマ割込がかかるとする。
タイマ割込の設定が完了すると、CPU56は、まず、割込禁止状態にして(ステップS17)、初期値用乱数更新処理(ステップS18a)と表示用乱数更新処理(ステップS18b)を実行して、再び割込許可状態にする(ステップS19)。すなわち、CPU56は、初期値用乱数更新処理および表示用乱数更新処理が実行されるときには割込禁止状態にして、初期値用乱数更新処理および表示用乱数更新処理の実行が終了すると割込許可状態にする。
なお、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りの種類を決定するための判定用乱数(例えば、大当りを発生させる特別図柄を決定するための大当り図柄決定用乱数や、遊技状態を確変状態に移行させるかを決定するための確変決定用乱数、普通図柄にもとづく当りを発生させるか否かを決定するための普通図柄当たり判定用乱数)を発生するためのカウンタ(判定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている演出表示装置9、可変入賞球装置15、球払出装置97等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、判定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
また、表示用乱数とは、第1特別図柄表示器8aや第2特別図柄表示器8bの表示を決定するための乱数である。この実施の形態では、表示用乱数として、特別図柄の変動パターンを決定するための変動パターン決定用乱数や、大当りを発生させない場合にリーチとするか否かを決定するためのリーチ判定用乱数が用いられる。また、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。
また、表示用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理および初期値用乱数更新処理が後述するタイマ割込処理でも実行される(すなわち、タイマ割込処理のステップS26,S27でも同じ処理が実行される)ことから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS18a,S18bの処理中にタイマ割込が発生してタイマ割込処理中で初期値用乱数や表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS18a,S18bの処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
ステップS19で割込許可状態に設定されると、次にステップS17の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路505からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路505から割り込み要求が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、各割込処理(通信エラー割込処理や、受信時割込処理、送信完了割込処理)を実行する。また、本実施の形態では、ステップS17からステップS19までのループ処理の前にステップS15bを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、割込処理の優先順位を設定または変更する処理が行われる。
次に、ステップS91のホットスタート処理について説明する。図10は、ホットスタート処理の処理例を示すフローチャートである。ホットスタート処理において、CPU56は、まず、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS9101)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS9102)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データ(例えば、後述する賞球プロセスコードや賞球プロセスタイマ、枠状態表示バッファ、前回枠状態表示バッファ)が設定されている。ステップS9101およびS9102の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
また、CPU56は、遊技状態が高確率状態(確変状態)に制御されていることを示す高確中信号を、ターミナル基板160を介して外部出力することを許可する旨の高確中出力許可フラグをセットする(ステップS9103)。なお、無条件に高確中出力許可フラグをセットするのではなく、まず、高確率状態(確変状態)であるか否かを確認し(具体的には、バックアップRAMに記憶されている確変フラグがオン状態であるか否かを確認し)、高確率状態(確変状態)であることを条件に高確中出力許可フラグをセットするようにしてもよい。そのように、電力供給開始時に、無条件に高確中出力許可フラグをセットしてもよいし、高確率状態(確変状態)であることを条件に高確中出力フラグをセットしてもよい。
また、CPU56は、後述する入賞信号の出力時間を計測するための入賞情報記憶タイマをクリアする(ステップS9104)。すなわち、この実施の形態では、入賞情報記憶タイマの値は、電源バックアップされたRAM55に記憶され、電力供給が停止しても所定時間は保持されるのであるが、ステップS9104の処理が実行されることによって停電復旧時にクリアされる。このように、この実施の形態では、共通のホットスタート処理において、高確中出力許可フラグの設定処理と入賞情報記憶タイマのクリア処理とが実行可能に構成されており、処理ルーチンの共通化によって、遊技制御用マイクロコンピュータ560の制御負担を軽減している。
なお、例えば、バックアップ時設定テーブルにおいて、高確中出力許可フラグをオン状態に設定する値(例えば、論理値「1」)や、入賞情報記憶タイマをクリアするための値(例えば、クリアデータ「0」)も設定するようにし、ステップS9102が実行されることによって、高確中出力許可フラグをオンにするとともに入賞情報記憶タイマをクリアするようにしてもよい。この場合、例えば、バックアップ時設定テーブルにもとづいて、作業領域中の高確中出力許可フラグの値をオン状態に設定したり(例えば、論理値「1」を書き込んだり)、作業領域中の入賞情報記憶タイマの値にクリアデータを書き込んだりするようにすればよい。そのようにすれば、1つのデータテーブル(バックアップ時設定テーブル)を用いて、高確中出力許可フラグの設定処理と入賞情報記憶タイマのクリア処理とを共通化することができ、遊技制御用マイクロコンピュータ560の制御負担をさらに軽減することができる。
次に、タイマ割込処理について説明する。図11は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップS17〜S19のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理を実行する。タイマ割込処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS20)。そして、CPU56は、スイッチ回路58を介して、ゲートスイッチ32a、第1始動口スイッチ13a、第2始動口スイッチ14a、入賞確認スイッチ14b、カウントスイッチ23および入賞口スイッチ29a,30a等のスイッチの検出信号を入力し、各スイッチの入力を検出する(スイッチ処理:ステップS21)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。
次に、CPU56は、第1特別図柄表示器8a、第2特別図柄表示器8b、普通図柄表示器10、第1特別図柄保留記憶表示器18a、第2特別図柄保留記憶表示器18b、普通図柄保留記憶表示器41の表示制御を行う表示制御処理を実行する(ステップS22)。第1特別図柄表示器8a、第2特別図柄表示器8b、および普通図柄表示器10については、ステップS36,S37で設定される出力バッファの内容に応じて各表示器に対して駆動信号を出力する制御を実行する。
次いで、CPU56は、磁石センサから検出信号を入力したことにもとづいて磁石センサエラー報知を行う磁石センサエラー報知処理を実行する(ステップS24)。
次いで、CPU56は、遊技制御に用いられる普通図柄当り判定用乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(判定用乱数更新処理:ステップS25)。また、CPU56は、初期値用乱数を発生するためのカウンタのカウント値を更新する処理を行う(初期値用乱数更新処理:ステップS26)。さらに、CPU56は、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(表示用乱数更新処理:ステップS27)。
次いで、CPU56は、特別図柄プロセス処理を行う(ステップS28)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS29)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、特別図柄の変動に同期する演出図柄に関する演出制御コマンドを演出制御用マイクロコンピュータ100に送出する処理を行う(演出図柄コマンド制御処理:ステップS30)。なお、演出図柄の変動が特別図柄の変動に同期するとは、変動時間(可変表示期間)が同じであることを意味する。
次いで、CPU56は、例えばホール管理用コンピュータに供給される図柄確定回数1信号、始動口信号、大当り1〜3信号、時短信号、入賞信号、セキュリティ信号、高確中信号などのデータを出力する情報出力処理を行う(ステップS31)。
次いで、CPU56は、シリアル通信回路505を介して、払出制御用マイクロコンピュータ370と信号を送受信(入出力)する処理を実行するとともに、入賞が発生した場合には入賞口スイッチ29a,30a等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。なお、この実施の形態では、入賞口スイッチ29a,30a等がオンしたことにもとづく入賞検出に応じて、賞球個数コマンドの下位4ビットを異ならせることにより賞球個数を示すデータを賞球個数コマンドに設定し、当該設定した賞球個数コマンドをシリアル通信回路505を介して払出制御用マイクロコンピュータ370に出力する。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、賞球個数を示すデータが設定された賞球個数コマンドの受信に応じて球払出装置97を駆動する。
また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS33)。また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポート0のRAM領域における接続信号に関する内容およびソレノイドに関する内容を出力ポートに出力する(ステップS34:出力処理)。そして、CPU56は、保留記憶数の増減をチェックする記憶処理を実行する(ステップS35)。
また、CPU56は、特別図柄プロセスフラグの値に応じて特別図柄の演出表示を行うための特別図柄表示制御データを特別図柄表示制御データ設定用の出力バッファに設定する特別図柄表示制御処理を行う(ステップS36)。さらに、CPU56は、普通図柄プロセスフラグの値に応じて普通図柄の演出表示を行うための普通図柄表示制御データを普通図柄表示制御データ設定用の出力バッファに設定する普通図柄表示制御処理を行う(ステップS37)。
次いで、CPU56は、各状態表示灯の表示を行うための状態表示制御データを状態表示制御データ設定用の出力バッファに設定する状態表示灯表示処理を行う(ステップS38)。この場合、遊技状態が時短状態である場合には、時短状態であることを示す状態表示灯の表示を行うための状態表示制御データを出力バッファに設定する。なお、遊技状態が高確率状態(例えば、確変状態)にも制御される場合には、高確率状態であることを示す状態表示灯の表示を行うための状態表示制御データを出力バッファに設定するようにしてもよい。
次いで、CPU56は、遊技機のエラー状態などを表示させるために遊技機のエラー状態などを示す情報が設定された枠状態表示コマンドを演出制御用マイクロコンピュータ100に対して送信する枠状態出力処理を実行する(ステップS39)。
その後、割込許可状態に設定し(ステップS40)、処理を終了する。
次に、メイン処理における賞球処理(ステップS32)を説明する。まず、主基板31と払出制御基板37との間で送受信される払出制御信号(接続信号、賞球情報)および払出制御コマンドについて説明する。
図12は、遊技制御手段から払出制御手段に対して出力される制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で制御信号として接続信号および賞球情報が送受信される。図12に示すように、接続信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続信号)である。また、接続信号は、賞球払出が可能な状態であることを示す。なお、接続信号は、遊技制御用マイクロコンピュータ560のI/Oポート57および出力回路67Aを介して出力され、払出制御用マイクロコンピュータ370の入力回路373AおよびI/Oポート372eを介して払出制御用マイクロコンピュータ370に入力される。接続信号は、1ビットのデータであり、1本の信号線によって送信される。なお、接続信号は、電源投入時に実行されるステップS4の処理によって出力ポート0の接続信号に対応するビットに初期値が設定されることによって出力可能な状態となる(具体的にはステップS34の処理によって出力されるが、ステップS4のタイミングで出力されるようにしてもよい)。また、賞球情報は、払出制御基板37側において賞球の払出を10個検出するごとに、主基板31に対して、10個の賞球払出を検出したことを通知するための情報である。なお、賞球情報は、払出制御用マイクロコンピュータ370のI/Oポート372aおよび出力回路373Bを介して出力され、遊技制御用マイクロコンピュータ560の入力回路67BおよびI/Oポート57を介して遊技制御用マイクロコンピュータ560に入力される。賞球情報は、1ビットのデータであり、1本の信号線によって送信される。
払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560と同様に、シリアル通信回路380を内蔵する。また、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505と、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380との間で、各種払出制御コマンドが送受信される。なお、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380の構成及び機能は、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505の構成及び機能と同様である。
図13は、遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37とのマイクロコンピュータの間で各種払出制御コマンドが送受信される。
上述したように、払出制御コマンドは、8ビットのデータ(2進8桁のデータ)によって構成され、設定された8ビットのデータの内容によって所定の内容を示す制御コマンドとして出力される。
接続確認コマンドは、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続状態が正常であるか否かを確認するために一定間隔(1s)毎に遊技制御用マイクロコンピュータ560から送信される制御コマンドである。接続確認コマンドのデータの内容は「A0(H)」すなわち「10100000」とされている。
接続OKコマンドは、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続状態が正常であることを通知するための制御コマンドであって、払出制御用マイクロコンピュータ370が接続確認コマンドの受信に応じて応答信号として送信する制御コマンドである。接続OKコマンドのデータの内容は「8x(H)」すなわち「1000xxxx」とされている。ここで、接続OKコマンドの2バイト目の「xxxx」については、図14に示すように、賞球エラー(入賞にもとづく賞球払出動作や球貸し要求にもとづく球貸払出動作が正常に行えない状態になった異常状態:具体的には、後述する主制御未接続エラーや、払出スイッチ異常検知エラー1、払出スイッチ異常検知エラー2、払出ケースエラー、主制御通信エラー)が発生した場合には、1ビット目(ビット0)の「x」に「1」が設定される。また、満タンエラーが発生した場合には、2ビット目(ビット1)の「x」に「1」が設定される。また、球切れエラーが発生した場合には、3ビット目(ビット2)の「x」に「1」が設定される。また、後述する賞球や貸し球の払出数の個数異常の累積値が所定値(例えば、2000個)に達した場合の払出個数異常エラーが発生した場合には、4ビット目(ビット3)の「x」に「1」が設定される。このようにして、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の接続確認を行っている最中に、払出制御用マイクロコンピュータ370における所定のエラーの発生を遊技制御用マイクロコンピュータ560に通知することができる。なお、図14に示す例では、接続OKコマンドに、制御状態として払い出しに関するエラー(賞球エラーや、満タンエラー、球切れエラー、払出個数異常エラー)を示す値を設定する場合を示したが、エラー以外の制御状態を接続OKコマンドに設定するようにしてもよい。例えば、払出制御用マイクロコンピュータ370は、賞球払出動作中である旨や貸し球払出動作中である旨を示す値を制御状態として接続OKコマンドにセットして、遊技制御用マイクロコンピュータ560に送信するようにしてもよい。
賞球個数コマンドは、払出要求を行う遊技球の個数(0〜15個)を通知するための制御コマンドであって、遊技制御用マイクロコンピュータ560が入賞の発生にもとづいて送信する制御コマンドである。賞球個数コマンドのデータの内容は「5x(H)」すなわち「0101xxxx」とされている。この実施の形態では、第1始動口スイッチ13aや第2始動口スイッチ14aで遊技球が検出されると3個の賞球払出を行い、入賞口スイッチ29a,30aのいずれかで遊技球が検出されると10個の賞球払出を行い、カウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。よって、第1始動口スイッチ13aや第2始動口スイッチ14aで遊技球が検出された場合、賞球数3個を通知するための賞球個数コマンド「01010011」が送信され、入賞口スイッチ29a,30aのいずれかで遊技球が検出された場合、賞球数10個を通知するための賞球個数コマンド「01011010」が送信され、カウントスイッチ23で遊技球が検出された場合、賞球数15個を通知するための賞球個数コマンド「01011111」が送信される。
賞球個数受付コマンドは、賞球個数コマンドで指定された賞球個数を受け付けたことを通知するための制御コマンドであって、払出制御用マイクロコンピュータ370が賞球個数コマンドの受信に応じて応答信号として送信する制御コマンドである。賞球個数受付コマンドのデータの内容は「70(H)」すなわち、「01110000」とされている。
賞球終了コマンドは、賞球動作(賞球払出動作)が終了したことを示す制御コマンドであって、払出制御用マイクロコンピュータ370が賞球動作の終了にもとづいて送信する制御コマンドである。賞球終了コマンドのデータの内容は「50(H)」すなわち「01010000」とされている。
賞球準備中コマンドは、賞球動作に時間がかかっている場合や、貸し球動作中であったり所定のエラーが発生したりして賞球動作が終了していないことを通知する制御コマンドである。賞球準備中コマンドのデータの内容は「4x(H)」すなわち「0100xxxx」とされている。ここで、賞球準備中コマンドの2バイト目の「xxxx」については、図14に示すように、賞球エラーが発生した場合には、1ビット目(ビット0)の「x」に「1」が設定される。また、満タンエラーが発生した場合には、2ビット目(ビット1)の「x」に「1」が設定される。また、球切れエラーが発生した場合には、3ビット目(ビット2)の「x」に「1」が設定される。また、後述する賞球や貸し球の払出数の個数異常の累積値が所定値(例えば、2000個)に達した場合の払出個数異常エラーが発生した場合には、4ビット目(ビット3)の「x」に「1」が設定される。このようにして、払出制御用マイクロコンピュータ370から、賞球動作に時間がかかっている場合や、貸し球動作中であったり賞球動作の実行中に所定のエラーが発生したりして賞球動作が終了していないことを遊技制御用マイクロコンピュータ560に通知することができるとともに、エラーの内容も遊技制御用マイクロコンピュータ560に通知することができる。賞球準備中コマンドは、接続OKコマンドと同様に、下位4ビットの内容をエラー状態に応じて異ならせる(所定ビットを異ならせる)ことによって所定のエラーが発生したことを通知している。なお、賞球準備中コマンドは、エラーが発生して賞球動作が実行できない状態のみならず、貸し球払出動作中であるために賞球の払出動作を直ちに開始できない状態や、賞球動作の実行中の状態(賞球個数コマンドで指定された賞球個数の払出動作を完了していない状態)においても出力されるコマンド(信号)である。なお、図14に示す例では、賞球準備中コマンドに、制御状態として払い出しに関するエラー(賞球エラーや、満タンエラー、球切れエラー、払出個数異常エラー)を示す値を設定する場合を示したが、エラー以外の制御状態を接続OKコマンドに設定するようにしてもよい。例えば、払出制御用マイクロコンピュータ370は、賞球払出動作中である旨や貸し球払出動作中である旨を示す値を制御状態として賞球準備中コマンドにセットして、遊技制御用マイクロコンピュータ560に送信するようにしてもよい。
なお、この実施の形態では、接続確認信号は払出制御コマンドのうちの接続確認コマンドによって実現され、応答信号は接続OKコマンドによって実現され、払出数信号は賞球個数コマンドによって実現され、受付信号は賞球個数受付コマンドによって実現され、払出終了信号は賞球終了コマンドによって実現され、払出中信号は賞球準備中コマンドによって実現される。
図15は、図12に示す制御信号および図13に示す制御コマンドの送受信に用いられる信号線等を示すブロック図である。図15に示すように、接続信号は、遊技制御用マイクロコンピュータ560によって出力回路67Aを介して出力され、入力回路373Aを介して払出制御用マイクロコンピュータ370に入力される。また、賞球情報は、払出制御用マイクロコンピュータ370によって出力回路373Bを介して出力され、入力回路67Bを介して遊技制御用マイクロコンピュータ560に入力される。なお、後述する賞球信号1や遊技機エラー状態信号も、払出制御用マイクロコンピュータ370によって出力回路373Bを介して出力され、入力回路67Bを介して遊技制御用マイクロコンピュータ560に入力されるようにしてもよい。また、ドア開放信号も、払出制御用マイクロコンピュータ370によって出力回路373Bを介して出力され、入力回路67Bを介して遊技制御用マイクロコンピュータ560に入力されるようにしてもよい。
また、制御コマンドのうちの接続確認コマンドおよび賞球個数コマンドは、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505から出力され、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380に入力される。制御コマンドのうちの接続OKコマンド、賞球個数受付コマンド、賞球終了コマンドおよび賞球準備中コマンドは、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380から出力され、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505に入力される。なお、図15では、シリアル通信を行うための信号線として2本の信号線(遊技制御用マイクロコンピュータ560から払出制御用マイクロコンピュータ370側にコマンドを送信するための信号線と払出制御用マイクロコンピュータ370から遊技制御用マイクロコンピュータ560側にコマンドを送信するための信号線)を示しているが、実際は1本の信号線で払出制御コマンドを送受信する。なお、遊技制御用マイクロコンピュータ560から払出制御用マイクロコンピュータ370側にコマンドを送信するための信号線と、払出制御用マイクロコンピュータ370から遊技制御用マイクロコンピュータ560側にコマンドを送信するための信号線とを、別々の信号線として構成するようにしてもよい。
次に、賞球処理(ステップS32)について説明する。図16は、ステップS32の賞球処理の一例を示すフローチャートである。賞球処理において、遊技制御用マイクロコンピュータ560(具体的には、CPU56)は、賞球コマンド出力カウンタ加算処理(ステップS501)、賞球制御処理(ステップS502)および賞球カウンタ減算処理(ステップS503)を実行する。
賞球コマンド出力カウンタ加算処理では、図17に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「5」)が設定され、その後に、スイッチオンバッファの下位アドレスと、賞球コマンド出力カウンタの下位アドレスと、スイッチ入力ビット指定値と、賞球数を指定する賞球個数データとが、順次設定されている。賞球コマンド出力カウンタとは、入賞口への入賞数をカウントするカウンタであり、例えば、ROM54に設定される。また、遊技制御用マイクロコンピュータ560は、賞球数(0〜15個)毎に、対応する賞球コマンド出力カウンタを備える。この実施の形態では、遊技制御用マイクロコンピュータ560は、賞球数「15」に対応する賞球コマンド出力カウンタ1と、賞球数「10」に対応する賞球コマンド出力カウンタ2,3(2つの普通入賞口29,30に対応)と、賞球数「3」に対応する賞球コマンド出力カウンタ4,5とを備える。なお、各賞球コマンド出力カウンタは、後述するように、賞球コマンド出力カウンタ加算処理でカウントアップされる。CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ1が0でなければ、賞球数(15個)を指定する賞球個数データにもとづいて賞球個数(15個)を示すデータを賞球個数コマンドの下位4ビットに設定し、当該設定された賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。また、CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ1の値が0であり、賞球コマンド出力カウンタ2,3の値が0でなければ、賞球数(10個)を指定する賞球個数データにもとづいて賞球個数(10個)を示すデータを賞球個数コマンドの下位4ビットに設定し、当該設定された賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。また、CPU56は、賞球個数テーブルに設定されている賞球コマンド出力カウンタ1および賞球コマンド出力カウンタ2,3の値が0であり、賞球コマンド出力カウンタ4,5の値が0でなければ、賞球数(3個)を指定する賞球個数データにもとづいて賞球個数(3個)を示すデータを賞球個数コマンドの下位4ビットに設定し、当該設定された賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。また、図17において、スイッチオンバッファ1は入力ポート0に対応しており、スイッチオンバッファ2は入力ポート2に対応している。
図18および図19は、ステップS501の賞球コマンド出力カウンタ加算処理を示すフローチャートである。賞球コマンド出力カウンタ加算処理において、遊技制御用マイクロコンピュータ560(具体的には、CPU56)は、賞球個数テーブルの先頭アドレスをポインタにセットする(ステップS5101)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS5102)。
次いで、CPU56は、ポインタの値を1増やし(ステップS5103)、ポインタが指すスイッチオンバッファの下位アドレスをポインタバッファの下位バイトにロードし(ステップS5104)、ポインタバッファの指すスイッチオンバッファをレジスタにロードする(ステップS5105)。次いで、CPU56は、ポインタの値を1増やし(ステップS5106)、ポインタが指す賞球コマンド出力カウンタの下位アドレスをポインタバッファの下位バイトにロードする(ステップS5107)。次いで、CPU56は、ポインタの値を1増やし(ステップS5108)、レジスタにロードしたスイッチオンバッファの内容と、ポインタが指すスイッチ入賞ビット指定値との論理積をとる(ステップS5109)。そして、CPU56は、ポインタの値を1増やす(ステップS5110)。なお、ステップS5110でポインタの値が1加算されたことによって、ポインタの値は、賞球個数テーブル中の賞球個数データが格納されているアドレスを示している状態となる。
次いで、CPU56は、ステップS5109における演算結果が0であれば(ステップS5111のY)、すなわち、検査対象のスイッチの検出信号がオン状態でなければ、処理数を1減らし(ステップS5128)、処理数が0であれば処理を終了し、処理数が0でなければステップS5103に戻る(ステップS5129)。
ステップS5109における演算結果が0でなければ(ステップS5111のN)、すなわち、検査対象のスイッチの検出信号がオン状態であれば、CPU56は、ポインタバッファの値とポインタの値とを交換する処理を行う(ステップS5112)。この場合、ポインタの値はステップS5110の処理が実行されることによって賞球個数テーブル中の賞球個数データが格納されているアドレスを示している状態となっており、ポインタバッファの値はステップS5107の処理が実行されることによって賞球コマンド出力カウンタの下位アドレスがロードされた状態となっていた筈であるから、ステップS5112の交換処理が実行されることによって、ポインタバッファの値は賞球個数テーブル中の賞球個数データが格納されているアドレスを示している状態となり、ポインタの値は賞球コマンド出力カウンタの下位アドレスを示している状態となることになる。
次いで、CPU56は、ポインタが指す賞球コマンド出力カウンタの値を1加算する(ステップS5113)。ただし、CPU56は、加算の結果、賞球コマンド出力カウンタの値に桁上げが発生した場合には、賞球コマンド出力カウンタの値を1減算し元に戻す(ステップS5114,S5115)。そして、ステップS5116の処理に移行する。なお、ステップS5113〜S5115において、CPU56は、まず、賞球コマンド出力カウンタの値をレジスタにロードして、レジスタの値を1加算し、加算後のレジスタの値に桁上げが発生していないことを確認してから、加算後の値を賞球コマンド出力カウンタにストアするようにしてもよい。そのようにすれば、賞球コマンド出力カウンタの値を加算した後に再び減算する無駄を防止することができる。
次いで、CPU56は、いずれかの入賞口(始動入賞口13,14、大入賞口、普通入賞口29,30)への入賞を検出したことにもとづく賞球予定数の累積値をカウントするための入賞カウンタの下位アドレスをポインタの下位バイトにロードする(ステップS5116)。次いで、CPU56は、ポインタバッファの指す賞球個数データをロードする(ステップS5117)。次いで、CPU56は、ポインタの指す入賞カウンタの値を読み出し、読み出した値をステップS5117でロードした賞球個数データで示される賞球個数に加算する(ステップS5118)。ステップS5118の演算が実行されることによって、新たに発生した入賞分の賞球個数を加算した賞球予定数の累積値が求められることになる。そして、CPU56は、ポインタの値を1減算する(ステップS5119)。
なお、この実施の形態では、ROM54において、入賞カウンタが設定されている領域の1つ前のアドレスの領域に入賞情報記憶カウンタが設定されている。入賞情報記憶カウンタとは、入賞信号の出力可能数をカウントするためのカウンタであり、例えば、入賞情報記憶カウンタの値が1となっていれば後述する情報出力処理において入賞信号が1回出力され、入賞情報記憶カウンタの値が2となっていれば後述する情報出力処理において入賞信号が2回出力される制御が行われる。この実施の形態では、ステップS5119でポインタの値が1減算されることによって、ポインタの値が賞球情報出力カウンタの下位アドレスを示している状態となる。
次いで、CPU56は、ステップS5118で演算した賞球予定数の累積値が所定の入賞出力判定値(本例では、10)以上となっているか否かを確認する(ステップS5120)。賞球予定数の累積値が所定の入賞出力判定値(本例では、10)以上となっていれば、CPU56は、ステップS5118で演算した賞球予定数の累積値から所定の入賞出力判定値に相当する値(本例では、10)を減算する(ステップS5121)。そして、CPU56は、ポインタの指す入賞情報記憶カウンタの値を1加算する(ステップS5122)。ただし、CPU56は、加算の結果、入賞情報記憶カウンタの値に桁上げが発生した場合には、入賞情報記憶カウンタの値を1減算し元に戻す(ステップS5123,S5124)。そして、ステップS5120の処理に戻る。なお、ステップS5122〜S5124において、CPU56は、まず、入賞情報記憶カウンタの値をレジスタにロードして、レジスタの値を1加算し、加算後のレジスタの値に桁上げが発生していないことを確認してから、加算後の値を入賞情報記憶カウンタにストアするようにしてもよい。そのようにすれば、入賞情報記憶カウンタの値を加算した後に再び減算する無駄を防止することができる。
一方、ステップS5118で演算した賞球予定数の累積値が所定の入賞出力判定値(本例では、10)以上となっていなければ(すなわち、9未満であれば)、ステップS5125に移行する。
ステップS5120〜S5124の処理が実行されることによって、この実施の形態では、所定数分の払出条件が成立するごとに(賞球10個分の入賞が発生するごとに)、入賞情報記憶カウンタの値が1ずつ加算され、後述する情報出力処理によって入賞信号が外部出力されることになる。
なお、ステップS5118で演算された賞球予定数の累積値が20以上となる場合もある。例えば、入賞カウンタのカウント値が9となっていた場合に、大入賞口への入賞が発生して新たに15個の賞球が発生した場合には、ステップS5118において賞球予定数の累積値として24と求められることになる。この場合、ステップS5120でYと判定されてステップS5122で入賞情報記憶カウンタの値が1加算された後(この場合、ステップS5121の処理で賞球予定数の累積値は10減算されて14となる)、もう一度ステップS5120でYと判定されてステップS5122で入賞情報記憶カウンタの値が1加算され、1回の賞球コマンド出力カウンタ加算処理が実行される間に入賞情報記憶カウンタの値が2加算されることになる。
なお、この実施の形態では、賞球処理中の賞球コマンド出力カウンタ加算処理において、ステップS5120〜S5124の処理が実行されることによって、賞球予定数の累積値が10以上となっているか否かを判定し、入賞情報記憶カウンタの加算処理を行って入賞信号を出力するように制御する場合を示しているが、入賞信号の出力処理の仕方は、この実施の形態で示したものにかぎられない。例えば、賞球コマンド出力カウンタ加算処理では、入賞カウンタの加算処理のみを行うようにし、ステップS31の情報出力処理において、入賞カウンタの値が10以上であるか否かを判定して、10以上であれば入賞信号を出力するように制御してもよい。この場合、上記と同様に、入賞カウンタの値が20以上であれば、情報出力処理において、入賞カウンタの値が10以上であるか否かの判定処理を繰り返し実行し、入賞情報記憶カウンタの値を2加算するようにして、入賞信号を2回出力可能に処理してもよい。
また、この実施の形態では、ステップS5118で演算した賞球予定数の累積値が10未満となるまでステップS5120〜S5124の処理を繰り返し実行する場合を示しているが、例えば、ステップS5119を実行した後に、まず、ステップS5118で演算した賞球予定数の累積値が20以上となっているか否かを確認するようにしてもよい。そして、20以上となっていれば、ステップS5118で演算した賞球予定数の累積値から20を減算するとともに入賞情報記憶カウンタの値を2加算し、ステップS5123,S5124と同様の処理を実行した後に、ステップS5125に移行するようにしてもよい。また、この場合、ステップS5118で演算した賞球予定数の累積値が20以上でなければ、次に、ステップS5118で演算した賞球予定数の累積値が10以上であるか否かを確認し、10以上となっていれば、ステップS5121,S5122と同様の処理を実行して、ステップS5118で演算した賞球予定数の累積値から10を減算するとともに入賞情報記憶カウンタの値を1加算し、さらにステップS5123,S5124と同様の処理を実行した後に、ステップS5125に移行するようにすればよい。
また、例えば、この実施の形態では、入賞情報記憶カウンタの更新処理を行った後に、後述する情報出力処理で入賞情報記憶カウンタの値にもとづいて入賞信号を外部出力する場合を示しているが、入賞情報記憶カウンタを用いずに、ステップS5120で累積値が10以上であると判断した場合には直ちに賞球コマンド出力カウンタ加算処理内で入賞信号の外部出力処理を行うように構成してもよい。この場合、この実施の形態では、ステップS5118の演算の結果累積値が10以上20未満となり入賞信号を1回出力する必要が生じる場合と、ステップS5118の演算の結果累積値が20以上となり(この実施の形態では、30以上となることはない)入賞信号を2回出力する必要が生じる場合との2つのケースがある。そのため、例えば、入賞信号を出力するためのテーブルとして、入賞信号を1回出力するためのテーブル(1回分の入賞信号のオン時間およびオフ時間が設定されたテーブル)と、入賞信号を連続して2回出力するためのテーブル(2回分の入賞信号のオン時間およびオフ時間が設定されたテーブル)とを用意しておくようにしてもよい。そして、演算した累積値が10以上20未満であれば、入賞信号を1回出力するためのテーブルを用いて、賞球コマンド出力カウンタ加算処理内において入賞信号を1回外部出力する制御を行い、演算した累積値が20以上であれば、入賞信号を2回出力するためのテーブルを用いて、賞球コマンド出力カウンタ加算処理内において入賞信号を連続して2回外部出力する制御を行うようにしてもよい。
なお、ステップS5118で演算した累積値が20を超えている場合には、上記のように、入賞信号を2回出力するためのテーブルを用いて賞球コマンド出力カウンタ加算処理内において入賞信号を連続して2回外部出力してもよし、賞球コマンド出力カウンタ加算処理において、計算結果が10未満となるまで繰り返しステップS5120の判定処理を行って入賞信号の外部出力を連続して2回行うようにしてもよい。また、例えば、1タイマ割込内で実行される賞球コマンド出力カウンタ加算処理では入賞信号を1回のみ出力するようにし、次のタイマ割込で賞球コマンド出力カウンタ加算処理を実行するときに累積値が10以上であることにもとづいて次の入賞信号を外部出力するようにしてもよい。
次いで、ステップS5125では、CPU56は、ポインタの値を1加算する(従って、ポインタの値は入賞カウンタの下位アドレスを示している状態に戻る)。次いで、CPU56は、ポインタの指す入賞カウンタに、賞球予定数の累積値の演算結果をストアする(ステップS5126)。この場合、ステップS5120で1度もYと判定されることなくステップS5125以降の処理に移行した場合には、ステップS5118で求められた賞球予定数の累積値がそのまま入賞カウンタにストアされることになる。また、ステップS5120でYと判定されステップS5121以降の処理が実行されている場合には、ステップS5121で減算後の賞球予定数の累積値が入賞カウンタにストアされることになる。なお、ステップS5120の判定処理やステップS5121の減算処理が実行される結果、ステップS5126では、必ず10未満の値が入賞カウンタにストアされることになる。
次いで、CPU56は、ポインタバッファの値とポインタの値とを交換する処理を行う(ステップS5127)。この場合、ステップS5112の処理が実行されることによってポインタバッファには賞球個数テーブル中の賞球個数データが格納されているアドレスが退避されているので、ステップS5127の処理が実行されることによって、ポインタの値は、再び賞球個数テーブル中の賞球個数データが格納されているアドレスを示している状態に戻されることになる。
そして、CPU56は、処理数を1減らし(ステップS5128)、処理数が0であれば処理を終了し、処理数が0でなければステップS5103に戻る(ステップS5129)。
図20は、ステップS502の賞球制御処理を示すフローチャートである。賞球制御処理では、遊技制御用マイクロコンピュータ560(具体的には、CPU56)は、賞球プロセスコードの値に応じて、ステップS521〜S525のいずれかの処理を実行する。
図21は、賞球プロセスコードの値が0の場合に実行される賞球送信処理1(ステップS521)を示すフローチャートである。CPU56は、賞球送信処理1において、接続確認コマンドを払出制御用マイクロコンピュータに送信する制御を行う(ステップS5211)。具体的には、CPU56は、シリアル通信回路505の送信データレジスタに接続確認コマンドを出力する処理を行う。そして、CPU56は、賞球プロセスコードに賞球接続確認処理を示す値「1」をセットし(ステップS5212)、賞球プロセスタイマに接続確認時間2(例えば10秒)をセットする(ステップS5213)。なお、ステップS5213でセットされた接続確認時間2にもとづいて、接続確認コマンドを送信した後、10秒を経過しても接続OKコマンドを受信できなかった場合には、以後、接続確認コマンドを送信する間隔を10秒に広げるように制御される。具体的には、ステップS5213でセットされた賞球プロセスタイマは、後述するステップS5227,S5229の処理で計測され、接続OKコマンドを受信することなく10秒が経過してタイムアウトしステップS5227でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS5228,S5211参照)。
なお、賞球プロセスタイマには、遊技制御用マイクロコンピュータ560で実行されるタイマ割込処理における割込周期も考慮した値(例えば、割込周期の整数倍)がセットされる。このことは、遊技制御用マイクロコンピュータ560や、払出制御用マイクロコンピュータ370、演出制御用マイクロコンピュータ100で用いられる他のタイマ(例えば、主制御通信制御タイマや、払出制御タイマ、再払出待ちタイマ、賞球情報出力タイマ、賞球信号1出力タイマ)についても同様である。
図22は、賞球プロセスコードの値が1の場合に実行される賞球接続確認処理(ステップS522)を示すフローチャートである。CPU56は、賞球接続確認処理において、まず、シリアル通信回路505の受信データレジスタにデータがあるか否かを確認する(ステップS5221)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタの値を確認するようにすればよい。受信データレジスタにデータがなければ(すなわち、コマンドを受信していなければ)、ステップS5227に移行する。
受信データレジスタにデータがあれば(すなわち、コマンドを受信していれば)、CPU56は、シリアル通信回路505のエラーが発生しているか否かを確認する(ステップS5222)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタにいずれかのエラービットの値がセットされているか否かを確認するようにすればよい。エラーが発生していれば、ステップS5227に移行する。
シリアル通信回路505のエラーも発生していなければ、CPU56は、シリアル通信回路505の受信データレジスタからコマンドを読み出し、受信したコマンドが接続OKコマンドであるか否かを確認する(ステップS5223)。接続OKコマンドでなければ、ステップS5227に移行する。
接続OKコマンドを受信していれば、CPU56は、接続OKコマンドの下位4ビットに設定されているエラー情報(図14参照)を枠状態表示バッファに格納する(ステップS5224)。
次いで、CPU56は、賞球プロセスコードに賞球送信処理2を示す値「2」をセットし(ステップS5225)、賞球プロセスタイマに接続確認時間1(例えば1秒)をセットする(ステップS5226)。なお、ステップS5226でセットされた接続確認時間1にもとづいて、接続OKコマンドの受信後に1秒経過するごとに次の接続確認コマンドを繰り返し送信する制御が行われる。具体的には、ステップS5226でセットされた賞球プロセスタイマは、後述するステップS52313,S52315の処理で計測され、賞球個数コマンドを送信することなく1秒が経過してタイムアウトしステップS52313でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS52314,S5211参照)。
ステップS5227では、CPU56は、賞球プロセスタイマがタイムアウトしたか否かを確認する。賞球プロセスタイマがタイムアウトしていれば(すなわち、接続確認コマンドを送信した後、10秒を経過しても接続OKコマンドを受信できなかった場合)、CPU56は、賞球プロセスコードに賞球送信処理1を示す値「0」をセットし(ステップS5228)、処理を終了する。賞球プロセスタイマがタイムアウトしていなければ、CPU56は、賞球プロセスタイマの値を1減算する(ステップS5229)。
図23は、賞球プロセスコードの値が2の場合に実行される賞球送信処理2(ステップS523)を示すフローチャートである。CPU56は、賞球送信処理2において、賞球コマンド出力カウンタ1〜5の中にカウント値が0でないものがあるか否かを確認する(ステップS52301)。カウント値が0でないものがなければ、ステップS52313に移行する。
賞球コマンド出力カウンタ1〜5の中にカウント値が0でないものがある場合には(すなわち、カウント値が1以上のものがある場合には)、CPU56は、枠状態表示バッファの内容をロードし、枠状態表示バッファの内容が0であるか否かを確認する(ステップS52302)。枠状態表示バッファの内容が0でなければ、そのまま処理を終了する。そのように制御することによって、エラー情報が設定された接続OKコマンドを受信し、払出制御用マイクロコンピュータ370側で払出停止状態に制御されている場合には、ステップS52303以降の処理に移行しないようし、賞球個数コマンドの送信を保留するように制御する。なお、ステップS52302の処理を実行せずに、賞球コマンド出力カウンタ1〜5中にカウント値が0でないものがあれば、そのままステップS52303に移行して賞球個数コマンドの出力が行われるようにしてもよい。
枠状態表示バッファの内容が0であれば(すなわち、払出に関するエラーが発生していなければ)、払出制御用CPU371は、そのカウント値が0でない賞球コマンド出力カウンタに対応する賞球個数を個数バッファにセットする(ステップS52303)。具体的には、ステップS52301において、CPU56は、まず、賞球コマンド出力カウンタ1のカウント値が0であるか否かを確認する。そして、賞球コマンド出力カウンタ1のカウント値が1以上であった場合には、ステップS52303において、CPU56は、個数バッファに賞球個数15個をセットする。また、ステップS52301において、CPU56は、賞球コマンド出力カウンタ1のカウント値が0であった場合には、賞球コマンド出力カウンタ2,3のカウント値が0であるか否かを確認する。そして、賞球コマンド出力カウンタ2,3のカウント値が1以上であった場合には、ステップS52303において、CPU56は、個数バッファに賞球個数10個をセットする。さらに、ステップS52301において、CPU56は、賞球コマンド出力カウンタ2,3のカウント値も0であった場合には、賞球コマンド出力カウンタ4,5のカウント値が0であるか否かを確認する。そして、賞球コマンド出力カウンタ4,5のカウント値が1以上であった場合には、ステップS52303において、CPU56は、個数バッファに賞球個数3個をセットする。
また、CPU56は、そのカウント値が0でない賞球コマンド出力カウンタに対応する賞球個数を賞球個数コマンドにセットする(ステップS52304)とともに、賞球個数をセットした賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する制御を行う(ステップS52305)。具体的には、CPU56は、シリアル通信回路505の送信データレジスタに、賞球個数をセットした賞球個数コマンドを出力する処理を行う。
なお、ステップS52301,S52305の処理が実行されることによって、この実施の形態では、接続確認コマンドの送信タイミングにかかわりなく、賞球コマンド出力カウンタの中にカウント値が0でないものがあれば(すなわち、賞球個数記憶があり、所定の払出条件が成立していれば)、賞球個数コマンドが払出制御用マイクロコンピュータ370に送信される。
そして、CPU56は、賞球プロセスコードに賞球受領確認処理を示す値「3」をセットし(ステップS52306)、賞球プロセスタイマに接続確認時間2(例えば10秒)をセットする(ステップS52307)。なお、ステップS52307でセットされた接続確認時間2にもとづいて、賞球個数コマンドを送信した後、10秒以内に賞球個数受付コマンドや賞球準備中コマンドを受信したか否かが確認される。具体的には、ステップS52307でセットされた賞球プロセスタイマは、後述するステップS52409,S52411の処理で計測され、賞球個数受付コマンドや賞球準備中コマンドを受信することなく10秒が経過してタイムアウトしステップS52409でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS52410,S5211参照)。
なお、ステップS52306の処理が実行されることによってステップS52305で賞球個数コマンドが送信されると、接続確認コマンドの送信処理を含む賞球送信処理1に戻ることなく、賞球受領確認処理に移行される。従って、この実施の形態では、賞球個数コマンドを送信するまでは所定時間(例えば1秒)ごとに繰り返し接続確認コマンドを送信する処理が実行されているのであるが、賞球個数コマンドを送信したことにもとづいて接続確認コマンドを送信する制御が停止される(より具体的には、賞球個数コマンドを送信した後、後述する賞球個数受付コマンドを受信したことにより賞球終了確認処理に移行する(ステップS52403〜S52405参照)ことによって、または賞球準備中コマンドを受信したことにより賞球受領確認処理を繰り返す(ステップS52406〜S52408参照)ことによって、賞球送信処理1に戻ることなく、接続確認コマンドを送信する制御が停止される。この場合、払出制御用マイクロコンピュータ370側から何も払出制御コマンドが返信されないという異常状態が発生しない限り、賞球個数コマンドを送信した後、賞球払出動作を終了して賞球終了コマンドを受信するまで、遊技制御用マイクロコンピュータ560から接続確認コマンドが送信されることはない。
次いで、CPU56は、ステップS52303でセットした個数バッファの値を賞球個数カウンタに加算し(ステップS52308)、加算後のカウント値が所定の賞球不足判定値(例えば501)以上であるか否かを確認する(ステップS52309)。この実施の形態において、賞球個数カウンタは、遊技制御用マイクロコンピュータ560側で未払い出しの賞球数を把握するために用いられるカウンタであり、賞球個数コマンドを送信する際に賞球個数コマンドで指定される賞球個数が加算され、賞球払出を10球検出するごとに払出制御用マイクロコンピュータ370から出力される賞球情報にもとづいて10ずつ減算される。また、前述したように、賞球個数カウンタには、メイン処理の初期設定処理において初期値として「250」がセットされている。そして、賞球個数カウンタのカウント値が所定の賞球不足判定値(例えば501)以上に達する場合には、未払い出しの賞球数が異常に多すぎるのであるから、賞球不足の事態が生じていると判定することができる。また、賞球個数カウンタのカウント値が所定の賞球過剰判定値(例えば0)未満となった場合には、本来払い出されるべき数を超えて異常に多くの遊技球が払い出されているのであるから、賞球過剰の事態が生じていると判定することができる。
なお、この実施の形態では、賞球個数コマンドを送信(ステップS52305参照)した直後に、賞球個数カウンタの加算処理(ステップS52308参照)する場合を示しているが、賞球個数コマンドが送信されるタイミングで加算するものであれば、例えば、まず賞球個数カウンタの加算処理を実行してから、その直後に賞球個数コマンドを送信するようにしてもよい。
また、賞球不足と判定される場合には、払出制御用マイクロコンピュータ370側に何らかの障害が生じて払出動作を正常に行えない場合の他、賞球情報を出力する信号線が断線している場合も考えられる。また、逆に、賞球過剰と判定される場合には、払出制御用マイクロコンピュータ370側に何らかの障害が生じて払出動作が必要以上に行われている場合の他、賞球個数コマンドを送信するコマンド線に何らかの不正が施されて不正に賞球個数コマンドが払出制御用マイクロコンピュータ370に入力されている場合も考えられる。
賞球個数カウンタのカウント値が所定の賞球不足判定値(例えば501)以上であった場合には、CPU56は、賞球不足や賞球過剰が発生していることを示す賞球エラーフラグが既にセットされているか否かを確認する(ステップS52310)。既に賞球エラーフラグがセットされていれば、そのまま処理を終了する。賞球エラーフラグがセットされていなければ、CPU56は、賞球エラーフラグをセットする(ステップS52311)とともに、賞球不足エラーコマンドを演出制御用マイクロコンピュータ100に送信する制御を行う(ステップS52312)。具体的には、CPU56は、賞球不足エラーコマンド送信テーブルのアドレスをポインタにセットする処理を行う。そして、ステップS52312で賞球不足エラーコマンド送信テーブルのアドレスがポインタにセットされたことにもとづいて、その後、ステップS30の演出図柄コマンド制御処理が実行されることによって、賞球不足エラーコマンドが演出制御用マイクロコンピュータ100に送信される。なお、賞球エラーフラグは、一度セットされると、遊技機への電力供給が停止された後、遊技機へ電源が再投入されるまで、クリアされずに維持される。また、この実施の形態では、遊技制御用マイクロコンピュータ560と演出制御用マイクロコンピュータ100との間の通信に関しては、遊技制御用マイクロコンピュータ560から演出制御用マイクロコンピュータ100に対してコマンドが送信されるのみで、その逆はない。
なお、この実施の形態では、賞球不足エラーコマンドや、後述する賞球過剰エラーコマンドを受信したことにもとづいて、演出制御用マイクロコンピュータ100によって賞球不足や賞球過剰のエラー報知が行われるのであるが(ステップS623〜S626参照)、賞球不足や賞球過剰のエラー報知は、報知開始から所定期間を経過したときに復旧するようにしてもよい。また、例えば、賞球個数カウンタの値が所定の賞球不足判定値(例えば501)や所定の賞球過剰判定値(例えば0)の範囲内に復帰したときに、賞球不足や賞球過剰のエラー報知から復旧するようにしてもよい。
なお、この実施の形態では、ステップS52308において、賞球個数コマンドを送信したタイミングで賞球個数カウンタに賞球個数を加算する場合を示したが、賞球個数カウンタのカウントアップの仕方は、この実施の形態で示したものにかぎらず、例えば、逆に賞球個数を減算するようにしてもよい。この場合、例えば、後述するステップS5311の処理において、賞球情報を入力したことにもとづいて賞球個数カウンタの値に逆に10加算するようにすればよい。そして、ステップS52309の処理では賞球個数カウンタの値が0未満であれば賞球不足エラーと判定するようにし、後述するステップS5312の処理では賞球個数カウンタの値が501以上であれば賞球過剰エラーと判定するようにすればよい。
ステップS52313では、CPU56は、賞球プロセスタイマがタイムアウトしたか否かを確認する。賞球プロセスタイマがタイムアウトしていれば(すなわち、接続OKコマンドを受信した後、1秒を経過するまでに、賞球個数の記憶もなく、新たな入賞も発生しなかった場合)、CPU56は、賞球プロセスコードに賞球送信処理1を示す値「0」をセットし(ステップS52314)、処理を終了する。賞球プロセスタイマがタイムアウトしていなければ、CPU56は、賞球プロセスタイマの値を1減算する(ステップS52315)。
図24は、賞球プロセスコードの値が3の場合に実行される賞球受領確認処理(ステップS524)を示すフローチャートである。CPU56は、賞球受領確認処理において、まず、シリアル通信回路505の受信データレジスタにデータがあるか否かを確認する(ステップS52401)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタの値を確認するようにすればよい。受信データレジスタにデータがなければ(すなわち、コマンドを受信していなければ)、ステップS52409に移行する。
受信データレジスタにデータがあれば(すなわち、コマンドを受信していれば)、CPU56は、シリアル通信回路505のエラーが発生しているか否かを確認する(ステップS52402)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタにいずれかのエラービットの値がセットされているか否かを確認するようにすればよい。エラーが発生していれば、ステップS52409に移行する。
シリアル通信回路505のエラーも発生していなければ、CPU56は、シリアル通信回路505の受信データレジスタからコマンドを読み出し、受信したコマンドが賞球個数受付コマンドであるか否かを確認する(ステップS52403)。賞球個数受付コマンドを受信していれば、CPU56は、送信した賞球個数コマンドで設定した賞球個数に対応する賞球コマンド出力カウンタの値を1減算する(ステップS52404)。また、CPU56は、賞球プロセスコードに賞球終了確認処理を示す値「4」をセットし(ステップS52405)、ステップS52408に移行する。
受信したコマンドが賞球個数受付コマンドでなければ、CPU56は、受信したコマンドが賞球準備中コマンドであるか否かを確認する(ステップS52406)。賞球準備中コマンドでもなければ、ステップS52409に移行する。
賞球準備中コマンドを受信していれば、CPU56は、賞球準備中コマンドの下位4ビットに設定されているエラー情報(図14参照)を枠状態表示バッファに格納する(ステップS52407)。そして、CPU56は、賞球プロセスタイマに接続確認時間2(例えば10秒)をセットする(ステップS52408)。なお、ステップS52408でセットされた接続確認時間2にもとづいて、賞球準備中コマンドを受信した後、10秒を経過しても賞球個数受付コマンドも次の賞球準備中コマンドも受信できなかった場合には、接続確認コマンドを送信する制御に戻る。具体的には、ステップS52408でセットされた賞球プロセスタイマは、後述するステップS52409,S52411の処理で計測され、賞球個数受付コマンドや次の賞球準備中コマンドを受信することなく10秒が経過してタイムアウトしステップS52409でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS52410,S5211参照)。
ステップS52409では、CPU56は、賞球プロセスタイマがタイムアウトしたか否かを確認する。賞球プロセスタイマがタイムアウトしていれば(すなわち、賞球個数コマンドを送信した後、10秒を経過しても賞球個数受付コマンドや賞球準備中コマンドを受信できなかった場合)、CPU56は、賞球プロセスコードに賞球送信処理1を示す値「0」をセットし(ステップS52410)、処理を終了する。賞球プロセスタイマがタイムアウトしていなければ、CPU56は、賞球プロセスタイマの値を1減算する(ステップS52411)。
図25は、賞球プロセスコードの値が4の場合に実行される賞球終了確認処理(ステップS525)を示すフローチャートである。CPU56は、賞球終了確認処理において、まず、シリアル通信回路505の受信データレジスタにデータがあるか否かを確認する(ステップS52501)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタの値を確認するようにすればよい。受信データレジスタにデータがなければ(すなわち、コマンドを受信していなければ)、ステップS52509に移行する。
受信データレジスタにデータがあれば(すなわち、コマンドを受信していれば)、CPU56は、シリアル通信回路505のエラーが発生しているか否かを確認する(ステップS52502)。具体的には、CPU56は、シリアル通信回路505のステータスレジスタにいずれかのエラービットの値がセットされているか否かを確認するようにすればよい。エラーが発生していれば、ステップS52509に移行する。
シリアル通信回路505のエラーも発生していなければ、CPU56は、シリアル通信回路505の受信データレジスタからコマンドを読み出し、受信したコマンドが賞球終了コマンドであるか否かを確認する(ステップS52503)。賞球終了コマンドを受信していれば、CPU56は、賞球プロセスコードに賞球送信処理2を示す値「2」をセットし(ステップS52504)、賞球プロセスタイマに接続確認時間1(例えば1秒)をセットする(ステップS52505)。なお、ステップS52505でセットされた接続確認時間1にもとづいて、賞球終了コマンドを受信した後、1秒を経過しても始動入賞が発生しなかった場合には、接続確認コマンドを送信する制御に戻る。具体的には、ステップS52505でセットされた賞球プロセスタイマは、ステップS52313,S52315の処理で計測され、新たな始動入賞が発生せず賞球個数コマンドを送信することなく1秒が経過してタイムアウトしステップS52313でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS52314,S5211参照)。
なお、ステップS52504の処理が実行されることによって、賞球終了コマンドを受信した場合にはまず賞球送信処理2に移行されるので、賞球個数の記憶が溜まっている場合には直ちに次の賞球個数コマンドが送信されるように制御される。一方で、賞球送信処理2に移行された後、賞球個数の記憶もなく、ステップS52505でセットされた接続確認時間1(例えば1秒)が経過するまでの間に新たな入賞も発生しなかった場合には、さらに賞球送信処理1に移行され、接続確認コマンドを繰り返し送信する処理が再開される。
受信したコマンドが賞球終了コマンドでなければ、CPU56は、受信したコマンドが賞球準備中コマンドであるか否かを確認する(ステップS52506)。賞球準備中コマンドでもなければ、ステップS52509に移行する。
賞球準備中コマンドを受信していれば、CPU56は、賞球準備中コマンドの下位4ビットに設定されているエラー情報(図14参照)を枠状態表示バッファに格納する(ステップS52507)。そして、CPU56は、賞球プロセスタイマに接続確認時間2(例えば10秒)をセットする(ステップS52508)。なお、ステップS52508でセットされた接続確認時間2にもとづいて、賞球準備中コマンドを受信した後、10秒を経過しても賞球終了コマンドも次の賞球準備中コマンドも受信できなかった場合には、接続確認コマンドを送信する制御に戻る。具体的には、ステップS52508でセットされた賞球プロセスタイマは、後述するステップS52509,S52511の処理で計測され、賞球終了コマンドや次の賞球準備中コマンドを受信することなく10秒が経過してタイムアウトしステップS52509でYと判定されると、賞球送信処理1に戻り次の接続確認コマンドが送信される(ステップS52510,S5211参照)。
ステップS52509では、CPU56は、賞球プロセスタイマがタイムアウトしたか否かを確認する。賞球プロセスタイマがタイムアウトしていれば(すなわち、賞球個数受付コマンドや賞球準備中コマンドを受信した後、10秒を経過しても賞球終了コマンドや賞球準備中コマンドを受信できなかった場合)、CPU56は、賞球プロセスコードに賞球送信処理1を示す値「0」をセットし(ステップS52510)、処理を終了する。賞球プロセスタイマがタイムアウトしていなければ、CPU56は、賞球プロセスタイマの値を1減算する(ステップS52511)。
図26は、ステップS503の賞球カウンタ減算処理を示すフローチャートである。CPU56は、賞球カウンタ減算処理において、まず、賞球情報入力無効タイマがタイムアウトしたか否かを確認する(ステップS5301)。なお、賞球情報入力無効タイマは、賞球情報の入力を確認した後、次の賞球情報の入力を確認するまでの間にインターバル期間を設けるために計測されるタイマである。タイムアウトしていなければ、CPU56は、賞球情報入力無効タイマの値を1減算して(ステップS5302)、処理を終了する。
賞球情報入力無効タイマがタイムアウトしていれば、CPU56は、入力ポート0の内容を入力し(ステップS5303)、賞球情報のビットがオン状態であるか否かを確認する(ステップS5304)。賞球情報のビットがオン状態であれば、ステップS5305に移行する。
ステップS5305では、CPU56は、処理数として所定の賞球情報確認回数(例えば8)をセットする(ステップS5305)。そして、CPU56は、賞球情報を入力しているか否かを確認し、賞球情報の入力を確認できれば賞球情報オンカウンタの値を1加算する処理を、処理数(本例では8)を終了するまで繰り返し実行する(ステップS5306〜S5308)。
次いで、CPU56は、賞球情報オンカウンタの値が6以上であるか否かを確認する(ステップS5309)。賞球情報オンカウンタの値が6以上であれば、CPU56は、賞球情報入力無効タイマに所定時間(例えば0.8秒)をセットする(ステップS5310)とともに、賞球個数カウンタの値を10減算する(ステップS5311)。
以上の処理が実行されることによって、この実施の形態では、賞球情報の入力を8回の確認処理中6回以上確認したことを条件として賞球情報を入力したと判定し、10個の賞球払出が行われたものとして賞球個数カウンタの値を10減算している。そのような処理によって、この実施の形態では、誤って賞球情報を入力したと判定する事態を低減し、遊技制御用マイクロコンピュータ560側で未払い出しの賞球数を適切に把握できなくなる事態を防止している。
次いで、CPU56は、減算後のカウント値が所定の賞球過剰判定値(例えば0)未満であるか否かを確認する(ステップS5312)。賞球個数カウンタのカウント値が所定の賞球過剰判定値(例えば0)未満であった場合には、CPU56は、賞球エラーフラグが既にセットされているか否かを確認する(ステップS5313)。既に賞球エラーフラグがセットされていれば、そのまま処理を終了する。賞球エラーフラグがセットされていなければ、CPU56は、賞球エラーフラグをセットする(ステップS5314)とともに、賞球過剰エラーコマンドを演出制御用マイクロコンピュータ100に送信する制御を行う(ステップS5315)。具体的には、CPU56は、賞球過剰エラーコマンド送信テーブルのアドレスをポインタにセットする処理を行う。そして、ステップS5315で賞球過剰エラーコマンド送信テーブルのアドレスがポインタにセットされたことにもとづいて、その後、ステップS30の演出図柄コマンド制御処理が実行されることによって、賞球過剰エラーコマンドが演出制御用マイクロコンピュータ100に送信される。
次に、枠状態出力処理(ステップS39)について説明する。図27は、ステップS39の枠状態出力処理の一例を示すフローチャートである。CPU56は、枠状態出力処理において、まず、枠状態表示バッファの内容をロードする(ステップS391)。次いで、CPU56は、入力ポート0の内容を入力する(ステップS392)とともに、入力した入力ポート0の内容を所定のドア開放信号確認用のマスク値(具体的には、01000000)と論理積をとる(ステップS393)。さらに、CPU56は、論理積をとった演算結果と、ステップS391でロードした枠状態表示バッファの内容との論理積をとる(ステップS394)。以上の処理が実行されることによって、枠状態表示バッファの内容にさらにドア開放信号の入力状態が付加された演算結果が得られる。
次いで、CPU56は、演算結果と前回枠状態表示バッファの内容とを比較する(ステップS395)。なお、前回枠状態表示バッファには、前回のタイマ割込によって枠状態出力処理が実行されたときに算出されたステップS394の演算結果が格納されている。演算結果が前回枠状態表示バッファの内容と異なる場合には(ステップS396のY)、CPU56は、前回枠状態表示バッファにステップS394で算出した演算結果を格納して前回枠状態表示バッファを更新する(ステップS397)とともに、ステップS394で算出した演算結果をそのまま枠状態表示コマンドに設定して、枠状態表示コマンドを演出制御用マイクロコンピュータ100に送信する制御を行う(ステップS398)。具体的には、CPU56は、枠状態表示コマンド送信テーブルのアドレスをポインタにセットする処理を行う。そして、ステップS398で枠状態表示コマンド送信テーブルのアドレスがポインタにセットされたことにもとづいて、その後、ステップS30の演出図柄コマンド制御処理が実行されることによって、枠状態表示コマンドが演出制御用マイクロコンピュータ100に送信される。
以上の処理が実行されることによって、払出制御用マイクロコンピュータ560から接続OKコマンドや賞球準備中コマンドで設定されたエラー情報(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラー)の内容やドア開放信号の入力状態が枠状態表示コマンドに設定されて、演出制御用マイクロコンピュータ100に送信される。
図28は、不正行為の一例を説明するための説明図である。図28(A)には、遊技球を検出可能な検出手段の一例である近接スイッチが示されている。なお、図28(A)には、近接スイッチがカウントスイッチ23として用いられている例が示されている。カウントスイッチ23の一方の端子には、電源基板910から+12V電源電圧が供給されている。カウントスイッチ23の他方の端子の電圧レベルである検出信号は、主基板31に入力される。主基板31において、検出信号は、入力ドライバ回路から遊技制御用マイクロコンピュータの入力ポートに入力される。また、カウントスイッチ23の出力側には、一端が接地されている抵抗RとコンデンサCが接続されている。
近接スイッチであるカウントスイッチ23に設けられている穴を金属の遊技球が通過するとコイルLに逆起電力が生じ、コイルLの等価的な抵抗値が極めて大きくなる。従って、カウントスイッチ23の出力は、0Vに近いローレベルになる。すなわち、検出信号は、ローレベルである。カウントスイッチ23に設けられている穴を金属の遊技球が通過していない場合には、カウントスイッチ23の出力は、+12VがコイルLと抵抗Rの抵抗値で分圧された値であり、ハイレベルであるとみなされるしきい値レベルを越える。すなわち、検出信号は、ハイレベルである。なお、検出信号のレベルは、入力ドライバ回路58で論理反転される。
遊技制御用マイクロコンピュータは、入力ドライバ回路58からの検出信号がハイレベルである場合に、遊技球がスイッチを通過したと判定することができる。
なお、この実施の形態では、カウントスイッチ23の他、入賞口スイッチ29a,30a、第1始動口スイッチ13aおよび第2始動口スイッチ14aとして、近接スイッチが用いられている。なお、この実施の形態では、入賞口スイッチ29a,30aの出力はカウントスイッチ23と同様に入力ドライバ回路58で論理反転されるが、第1始動口スイッチ13aおよび第2始動口スイッチ14aの出力は論理反転されずにそのまま遊技制御用マイクロコンピュータ560に入力される。
図28(B)は、不正行為の具体例を示す説明図である。図28(B)に示す例では、カウントスイッチ23に設けられている穴を金属製の球体で塞ぎ(一例として、通常の遊技球よりも径が大きい球体を用いる。)、その状態で、電波発信機50から球体に向けて電波を発射する。
カウントスイッチ23に設けられている穴が金属製の球体で塞がれると、カウントスイッチ23は検出信号を出力する。具体的には、図28(C)の上段に示すように、カウントスイッチ23は検出信号をローレベルにする。
その状態で、球体に向けて、カウントスイッチ23の検出信号をオンオフさせるような電波が発射されると、図28(C)の下段に示すように、遊技制御用マイクロコンピュータ560に入力される検出信号は、オンとオフとを繰り返す。すると、遊技制御用マイクロコンピュータ560は、検出信号が多数回オンしたと見なし、多数回の遊技球の入賞があったと誤判断して、結局、多数の景品として遊技球が払い出されてしまう。
この実施の形態では、後述するように、検出信号が図28(C)の下段に示すような状態になった場合に、不正行為がなされている可能性があると判定され、所定の報知が行われる。なお、後述するように、遊技制御用マイクロコンピュータ560は、4ms毎にスイッチの検出信号を確認し、検出信号のレベルがLレベル(ローレベル)であって直前(4ms前に)に確認した検出信号のレベルがHレベル(ハイレベル)である場合にスイッチがオンした(遊技球を検出した)と判定するが、電波発信機50が図20(C)の下段に示すような検出信号の周期と同周期の電波を出力しているとすると、その周期の電波を発生するためのクロック周波数と遊技制御用マイクロコンピュータ560の駆動周波数とが一致または整数倍の関係にない限り、遊技制御用マイクロコンピュータ560が、図20(C)の下段に示すような状態の検出信号にもとづいてスイッチがオンしたと判定する機会が生ずる。電波発信機50のクロック周波数と遊技制御用マイクロコンピュータ560の駆動周波数とがたまたま一致していたり整数倍の関係にあったりするときでも、図20(C)の下段に示すような検出信号の周期(信号の立ち下がりから次の立ち下がりまでの時間)が、4msまたは4msの整数分の1でない限り、図20(C)の下段に示すような状態の検出信号にもとづいてスイッチがオンしたと判定する機会が生ずる。
図29(a)は、遊技制御用マイクロコンピュータ560が送信する演出制御コマンドの内容の一例を示す説明図である。図29(a)に示す例において、コマンド80XX(H)は、特別図柄の可変表示に対応して演出表示装置9において可変表示される演出図柄の変動パターンを指定する演出制御コマンド(変動パターンコマンド)である(それぞれ変動パターンXXに対応)。なお、「(H)」は16進数であることを示す。また、変動パターンを指定する演出制御コマンドは、変動開始を指定するためのコマンドでもある。従って、演出制御用マイクロコンピュータ100は、コマンド80XX(H)を受信すると、演出表示装置9において演出図柄の可変表示を開始するように制御する。
コマンド8CXX(H)は、大当りとするか否か、および大当り種別を示す演出制御コマンドである。演出制御用マイクロコンピュータ100は、コマンド8CXX(H)の受信に応じて演出図柄の表示結果を決定するので、コマンド8CXX(H)を表示結果指定コマンドという。
コマンド8F00(H)は、演出図柄の可変表示(変動)を終了して表示結果(停止図柄)を導出表示することを示す演出制御コマンド(図柄確定指定コマンド)である。
コマンドA001(H)は、ファンファーレ画面を表示すること、すなわち大当り遊技の開始を指定する演出制御コマンド(大当り開始指定コマンドともいう。)である。コマンドA002(H)は、小当りまたは突然確変大当りのファンファーレ画面を表示すること、すなわち小当り遊技の開始または突然確変大当りにもとづく大当り遊技の開始を指定する演出制御コマンド(小当り/突然確変大当り開始指定コマンドともいう。)である。
コマンドA1XX(H)は、XXで示す回数目(ラウンド)の大入賞口開放中の表示を示す演出制御コマンド(大入賞口開放中指定コマンド)である。A2XX(H)は、XXで示す回数目(ラウンド)の大入賞口閉鎖を示す演出制御コマンド(大入賞口開放後指定コマンド)である。
コマンドA301(H)は、大当り終了画面を表示すること、すなわち大当り遊技の終了を指定する演出制御コマンド(大当り終了指定コマンド)である。コマンドA302(H)は、小当り終了画面(突然確変大当り終了画面と兼用)を表示すること、すなわち小当り遊技の終了または突然確変大当りにもとづく大当り遊技の終了を指定する演出制御コマンド(小当り/突然確変大当り終了指定コマンドともいう。)である。
なお、この実施の形態では、演出制御を行うために図29(a)に示された演出制御コマンド以外の演出制御コマンドも使用されるが、図29(a)には、主要な演出制御コマンドが示されている。
また、コマンドD0XX(H)は、所定の通過領域を通過する遊技球を検出するための入力ポート0(図7参照)の入力状態を示す入力ポート状態1指定コマンドである。後述するように、入力ポート0に割り当てられたスイッチからの検出信号の状態が変化した場合に、2バイト目に入力ポート0の入力データが設定された入力ポート状態1指定コマンドが送信される。また、コマンドD1XX(H)は、所定の通過領域を通過する遊技球を検出するための入力ポート2(図7参照)の入力状態を示す入力ポート状態2指定コマンドである。後述するように、入力ポート2に割り当てられたスイッチからの検出信号の状態が変化した場合に、2バイト目に入力ポート2の入力データが設定された入力ポート状態2指定コマンドが送信される。
図29(b)は、遊技制御用マイクロコンピュータ560のROMに記憶される特図表示結果決定テーブルの構成例を示している。この実施の形態では、特図表示結果決定テーブルとして、第1特図表示結果決定テーブルと、第2特図表示結果決定テーブルとが、予め用意されている。第1特図表示結果決定テーブルは、第1特別図柄表示器8aによる第1特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果決定用の乱数値MR1に基づいて決定するために参照されるテーブルである。第2特図表示結果決定テーブルは、第2特別図柄表示器8bによる第2特図を用いた特図ゲームにおいて可変表示結果となる確定特別図柄が導出表示される以前に、その可変表示結果を「大当り」として大当り遊技状態に制御するか否かや、可変表示結果を「小当り」として小当り遊技状態に制御するか否かを、特図表示結果決定用の乱数値MR1に基づいて決定するために参照されるテーブルである。
第1特図表示結果決定テーブルでは、パチンコ遊技機1における遊技状態が通常状態または時短状態(低確状態)であるか、確変状態(時短付と時短なしの双方を含む高確状態)であるかに応じて、特図表示結果決定用の乱数値MR1と比較される数値(決定値)が、「大当り」や「小当り」、「ハズレ」の特図表示結果に割り当てられている。第2特図表示結果決定テーブルでは、遊技状態が通常状態または時短状態(低確状態)であるか、確変状態(高確状態)であるかに応じて、特図表示結果決定用の乱数値MR1と比較される数値(決定値)が、「大当り」や「ハズレ」の特図表示結果に割り当てられている。
第1特図表示結果決定テーブルや第2特図表示結果決定テーブルにおいて、特図表示結果決定用の乱数値MR1と比較される決定値を示すテーブルデータは、特図表示結果を「大当り」として大当り遊技状態に制御するか否かの決定結果に割り当てられる決定用データとなっている。第1特図表示結果決定テーブルと第2特図表示結果決定テーブルのそれぞれでは、遊技状態が確変状態(高確状態)であるときに、通常状態または時短状態(低確状態)であるときよりも多くの決定値が、「大当り」の特図表示結果に割り当てられている。これにより、パチンコ遊技機1において確変制御が行われる確変状態(高確状態)では、通常状態または時短状態(低確状態)であるときに比べて、特図表示結果を「大当り」として大当り遊技状態に制御すると決定される確率が高くなる。すなわち、第1特図表示結果決定テーブルと第2特図表示結果決定テーブルのそれぞれでは、パチンコ遊技機1における遊技状態が確変状態であるときに、通常状態や時短状態であるときに比べて大当り遊技状態に制御すると決定される確率が高くなるように、決定用データが大当り遊技状態に制御するか否かの決定結果に割り当てられている。
第1特図表示結果決定テーブルの設定例では、所定範囲の決定値(「30000」〜「30350」の範囲の値)が「小当り」の特図表示結果に割り当てられている。その一方で、第2特図表示結果決定テーブルの設定例では、「小当り」の特図表示結果に決定値が割り当てられていない。このような設定により、第1特別図柄表示器8aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて可変表示結果の判定を行う場合と、第2特別図柄表示器8bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて可変表示結果の判定を行う場合とで、特図表示結果を「小当り」として小当り遊技状態に制御すると決定される割合を、異ならせることができる。特に、第2特図を用いた特図ゲームでは特図表示結果を「小当り」として小当り遊技状態に制御すると決定されることがないので、例えば時短状態(低確高ベース状態)や時短付確変状態(高確高ベース状態)といった、可変入賞球装置15が形成する第2始動入賞口14に遊技球が進入しやすい遊技状態において、賞球を得ることが困難な小当り遊技状態の頻発を回避して、遊技の間延びによる遊技興趣の低下を防止できる。
なお、第2特図表示結果決定テーブルにおいても、第1特図表示結果決定テーブルにおける設定とは異なる所定範囲の決定値が、「小当り」の特図表示結果に割り当てられるようにしてもよい。例えば、第2特図表示結果決定テーブルでは、第1特図表示結果決定テーブルに比べて少ない決定値が、「小当り」の特図表示結果に割り当てられてもよい。こうして、時短状態や時短付確変状態といった高ベース状態であるときには、通常状態や時短なし確変状態といった低ベース状態であるときよりも、小当り遊技状態に制御すると決定される割合が低くなるようにしてもよい。あるいは、第1開始条件と第2開始条件のいずれが成立したかにかかわらず、共通の特図表示結果決定テーブルを参照して、特図表示結果の決定を行うようにしてもよい。
図29(c)は、遊技制御用マイクロコンピュータ560のROMに記憶される大当り種別決定テーブルの構成例を示している。大当り種別決定テーブルは、特図表示結果を「大当り」として大当り遊技状態に制御すると決定されたときに、大当り種別決定用の乱数値MR2に基づき、大当り種別を複数種類のいずれかに決定するために参照されるテーブルである。大当り種別決定テーブルでは、特図ゲームにおいて可変表示(変動)が行われた特別図柄が第1特図(第1特別図柄表示器8aによる特図ゲーム)であるか第2特図(第2特別図柄表示器8bによる特図ゲーム)であるかに応じて、大当り種別決定用の乱数値MR2と比較される数値(決定値)が、「非確変」や「確変」、「突確」といった複数種類の大当り種別に割り当てられている。
大当り種別決定テーブルの設定例では、変動特図が第1特図であるか第2特図であるかに応じて、「突確」の大当り種別に対する決定値の割当てが異なっている。すなわち、変動特図が第1特図である場合には、所定範囲の決定値(「82」〜「99」の範囲の値)が「突確」の大当り種別に割り当てられる一方で、変動特図が第2特図である場合には、「突確」の大当り種別に対して決定値が割り当てられていない。このような設定により、第1特別図柄表示器8aによる第1特図を用いた特図ゲームを開始するための第1開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合と、第2特別図柄表示器8bによる第2特図を用いた特図ゲームを開始するための第2開始条件が成立したことに基づいて大当り種別を複数種類のいずれかに決定する場合とで、大当り種別を「突確」に決定する割合を、異ならせることができる。特に、第2特図を用いた特図ゲームでは大当り種別を「突確」として2ラウンド大当り状態に制御すると決定されることがないので、例えば時短状態(低確状態や時短付確変状態といった、可変入賞球装置15が形成する第2始動入賞口に遊技球が進入しやすい遊技状態において、賞球を得ることが困難な2ラウンド大当り状態の頻発を回避して、遊技の間延びによる遊技興趣の低下を防止できる。
なお、変動特図が第2特図である場合にも、変動特図が第1特図である場合とは異なる所定範囲の決定値が、「突確」の大当り種別に割り当てられるようにしてもよい。例えば、変動特図が第2特図である場合には、変動特図が第1特図である場合に比べて少ない決定値が、「突確」の大当り種別に割り当てられてもよい。こうして、時短状態や時短付確変状態といった高ベース状態であるときには、通常状態や時短なし確変状態といった低ベース状態であるときよりも、「突確」の大当り種別に決定される割合が低くなるようにしてもよい。あるいは、変動特図が第1特図であるか第2特図であるかにかかわらず、共通のテーブルデータを参照して、大当り種別の決定を行うようにしてもよい。
また大当り種別決定テーブルでは、変動特図が第1特図であるか第2特図であるかに応じて、大当り図柄が表示されてから特別可変入賞球装置20が開放状態となるまでに行われる所定演出である大当り開始時演出(ファンファーレ演出)の時間である大当り開始時演出待ち時間が設定されている。この例では、第1特図の大当り(非確変,確変,または突然確変)については、大当り開始時演出待ち時間として、比較的長い10秒が設定されている。これは、第1特図の大当りは左打ち中に発生した大当りなので、特別可変入賞球装置20を狙うためには右打ちに切り替える必要があるため、長時間としているのである。一方、第2特図の大当り(非確変,または確変)については、大当り開始時演出待ち時間として、比較的短い5秒が設定されている。これは、第2特図の大当りは右打ち中に発生した大当りなので、特別可変入賞球装置20を狙うために右打ちに切り替える必要がなく、大当りを早く消化させる(遊技の間延びを防ぐ)ために、短時間としているのである。ただし、大当り開始時演出待ち時間の長短や秒数はこれに限らず、任意に設定変更可能である。
図30は、主基板31に搭載される遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行する特別図柄プロセス処理(ステップS26)のプログラムの一例を示すフローチャートである。上述したように、特別図柄プロセス処理では第1特別図柄表示器8aまたは第2特別図柄表示器8bおよび大入賞口を制御するための処理が実行される。特別図柄プロセス処理において、CPU56は、第1始動入賞口13に遊技球が入賞したことを検出するための第1始動口スイッチ13a、または第2始動入賞口14に遊技球が入賞したことを検出するための第2始動口スイッチ14aがオンしていたら、すなわち、第1始動入賞口13への始動入賞または第2始動入賞口14への始動入賞が発生していたら、始動口スイッチ通過処理を実行する(ステップS311,S312)。そして、ステップS300〜S310のうちのいずれかの処理を行う。第1始動入賞口スイッチ13aまたは第2始動口スイッチ14aがオンしていなければ、内部状態に応じて、ステップS300〜S310のうちのいずれかの処理を行う。
ステップS300〜S310の処理は、以下のような処理である。
特別図柄通常処理(ステップS300):特別図柄プロセスフラグの値が0であるときに実行される。遊技制御用マイクロコンピュータ560は、特別図柄の可変表示が開始できる状態になると、保留記憶数バッファに記憶される数値データの記憶数(合算保留記憶数)を確認する。保留記憶数バッファに記憶される数値データの記憶数は合算保留記憶数カウンタのカウント値により確認できる。また、合算保留記憶数カウンタのカウント値が0でなければ、遊技制御用マイクロコンピュータ560は、大当り判定処理を実行し、第1特別図柄または第2特別図柄の可変表示の表示結果を大当りとするか否かを決定する。この場合、確変状態であるか否か(具体的には、確変フラグがセットされているか否か)を確認し、確変状態であれば、確変時大当り判定テーブルを用いて、大当り判定用乱数(ランダムR)を用いた抽選処理を行い、大当りとするか否かを決定する。一方、確変状態でなければ、通常時大当り判定テーブルを用いて、大当り判定用乱数(ランダムR)を用いた抽選処理を行い、大当りとするか否かを決定する。また、大当りとする場合には大当りフラグをセットする。また、大当りとする場合には、遊技制御用マイクロコンピュータ560は、大当り種別判定処理を実行し、第1特別図柄の変動表示を実行する場合であれば、第1特別図柄用の大当り種別判定テーブルを用いて、大当り種別判定用の乱数を用いた抽選処理を行い、第2特別図柄の変動表示を実行する場合であれば、第2特別図柄用の大当り種別判定テーブルを用いて、大当り種別判定用の乱数を用いた抽選処理を行い、大当り種別をいずれとするかを決定する。一方、大当りとしない場合には、遊技制御用マイクロコンピュータ560は、小当り判定処理を実行し、第1特別図柄の変動表示を実行する場合であれば、第1特別図柄用の小当り判定テーブルを用いて、大当り判定用乱数(ランダムR)を用いた抽選処理を行い、第2特別図柄の変動表示を実行する場合であれば、第2特別図柄用の小当り判定テーブルを用いて、大当り判定用乱数(ランダムR)を用いた抽選処理を行い、小当りとするか否かを決定する。そして、内部状態(特別図柄プロセスフラグ)をステップS301に応じた値(この例では1)に更新する。なお、大当りフラグは、大当り遊技が終了するときにリセットされる。
変動パターン設定処理(ステップS301):特別図柄プロセスフラグの値が1であるときに実行される。また、変動パターンを決定し、その変動パターンにおける変動時間(可変表示時間:可変表示を開始してから表示結果を導出表示(停止表示)するまでの時間)を特別図柄の可変表示の変動時間とすることに決定する。また、特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態(特別図柄プロセスフラグ)をステップS302に対応した値(この例では2)に更新する。
表示結果指定コマンド送信処理(ステップS302):特別図柄プロセスフラグの値が2であるときに実行される。演出制御用マイクロコンピュータ100に、表示結果指定コマンドを送信する制御を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS303に対応した値(この例では3)に更新する。
特別図柄変動中処理(ステップS303):特別図柄プロセスフラグの値が3であるときに実行される。変動パターン設定処理で選択された変動パターンの変動時間が経過(ステップS301でセットされる変動時間タイマがタイムアウトすなわち変動時間タイマの値が0になる)すると、演出制御用マイクロコンピュータ100に、図柄確定指定コマンドを送信する制御を行い、内部状態(特別図柄プロセスフラグ)をステップS304に対応した値(この例では4)に更新する。なお、演出制御用マイクロコンピュータ100は、遊技制御用マイクロコンピュータ560が送信する図柄確定指定コマンドを受信すると演出表示装置9において第4図柄が停止されるように制御する。
特別図柄停止処理(ステップS304):特別図柄プロセスフラグの値が4であるときに実行される。大当りフラグがセットされている場合に、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。また、小当りフラグがセットされている場合には、内部状態(特別図柄プロセスフラグ)をステップS308に対応した値(この例では8)に更新する。大当りフラグおよび小当りフラグのいずれもセットされていない場合には、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。なお、この実施の形態では、特別図柄プロセスフラグの値が4となったことにもとづいて、ステップS36の特別図柄表示制御処理において特別図柄の停止図柄を停止表示するための特別図柄表示制御データが特別図柄表示制御データ設定用の出力バッファに設定され、ステップS22の表示制御処理において出力バッファの設定内容に応じて実際に特別図柄の停止図柄が停止表示される。
大入賞口開放前処理(ステップS305):特別図柄プロセスフラグの値が5であるときに実行される。大入賞口開放前処理では、大入賞口を開放する制御を行う。具体的には、カウンタ(例えば、大入賞口に入った遊技球数をカウントするカウンタ)などを初期化するとともに、ソレノイド21を駆動して大入賞口を開放状態にする。また、タイマによって大入賞口開放中処理の実行時間を設定し、内部状態(特別図柄プロセスフラグ)をステップS306に対応した値(この例では6)に更新する。なお、大入賞口開放前処理は各ラウンド毎に実行されるが、第1ラウンドを開始する場合には、大入賞口開放前処理は大当り遊技を開始する処理でもある。
大入賞口開放中処理(ステップS306):特別図柄プロセスフラグの値が6であるときに実行される。大当り遊技状態中のラウンド表示の演出制御コマンドを演出制御用マイクロコンピュータ100に送信する制御や大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。また、全てのラウンドを終えた場合には、内部状態(特別図柄プロセスフラグ)をステップS307に対応した値(この例では7)に更新する。
大当り終了処理(ステップS307):特別図柄プロセスフラグの値が7であるときに実行される。大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御用マイクロコンピュータ100に行わせるための制御を行う。また、遊技状態を示すフラグ(例えば、確変フラグや時短フラグ)をセットする処理を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。
小当り開放前処理(ステップS308):特別図柄プロセスフラグの値が8であるときに実行される。小当り開放前処理では、大入賞口を開放する制御を行う。具体的には、カウンタ(例えば、大入賞口に入った遊技球数をカウントするカウンタ)などを初期化するとともに、ソレノイド21を駆動して大入賞口を開放状態にする。また、タイマによって大入賞口開放中処理の実行時間を設定し、内部状態(特別図柄プロセスフラグ)をステップS309に対応した値(この例では9)に更新する。なお、小当り開放前処理は小当り遊技中の大入賞口の開放毎に実行されるが、小当り遊技中の最初の開放を開始する場合には、小当り開放前処理は小当り遊技を開始する処理でもある。
小当り開放中処理(ステップS309):特別図柄プロセスフラグの値が9であるときに実行される。大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立し、かつ、まだ大入賞口の開放回数が残っている場合には、内部状態(特別図柄プロセスフラグ)をステップS308に対応した値(この例では8)に更新する。また、全てのラウンドを終えた場合には、内部状態(特別図柄プロセスフラグ)をステップS310に対応した値(この例では10(10進数))に更新する。
小当り終了処理(ステップS310):特別図柄プロセスフラグの値が10であるときに実行される。小当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御用マイクロコンピュータ100に行わせるための制御を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。
図31は、特別図柄プロセス処理における特別図柄停止処理(ステップS304)を示すフローチャートである。特別図柄停止処理において、CPU56は、大当りフラグがセットされているか否かを確認する(ステップS130)。大当りフラグがセットされている場合には、CPU56は、セットされていれば、確変状態であることを示す確変フラグ、および時短状態であることを示す時短フラグをリセットする(ステップS135)。なお、セットされていれば、時短回数カウンタもリセットする。また、CPU56は、セットされていれば、高確中出力許可フラグをリセットする(ステップS136)。
次いで、CPU56は、演出制御用マイクロコンピュータ100に大当り開始指定コマンドを送信する制御を行う(ステップS137)。具体的には、大当りの種別が通常大当りや確変大当りである場合には、大当り開始指定コマンドを送信する。大当りの種別が突然確変大当りである場合には小当り/突然確変大当り開始指定コマンドを送信する。なお、大当りの種別が通常大当り、確変大当りまたは突然確変大当りのいずれであるかは、ステップS300の特別図柄通常処理で決定されたRAM55に記憶されている大当り種別を示すデータ(大当り種別バッファに記憶されているデータ)にもとづいて判定される。そして前記図29で説明したように、これら大当り開始指定コマンドや小当り/突然確変大当り開始指定コマンドでは、大当り開始時演出待ち時間として、第1特図の大当りについては10秒,第2特図の大当りについては5秒が示される。なお秒数を示すのではなく、いずれの特図の大当りであるかを示すものでも良い。
また、CPU56は、大入賞口開放前タイマに大当り表示時間(大当りが発生したことを、例えば演出表示装置9において報知する時間)に相当する値を設定する(ステップS138)。なお、大入賞口開放前タイマは、大当り遊技や小当り遊技中に大入賞口を開放するまでの時間を計測するためのタイマである。具体的には、大当り遊技の開始時には、ステップS138において、変動表示を停止してから第1ラウンドが開始されるまでに要する時間(演出制御用マイクロコンピュータ100側で変動表示を停止し大当り図柄を停止表示してから第1ラウンドが開始されるまでのファンファーレ演出を行う時間であり、前記図29で説明した大当り開始時演出待ち時間に相当)が大入賞口開放前タイマに設定される。ここで大当り開始時演出待ち時間としては、前記図29で説明したように、第1特図の大当りについては10秒,第2特図の大当りについては5秒が設定される。また、第1ラウンド以降については、各ラウンド間のインターバル時間(演出制御用マイクロコンピュータ100側でラウンド間のインターバル演出を行う時間に装置)が大入賞口開放前タイマに設定される。
また、CPU56は、開放回数カウンタ(大当り遊技中や小当り遊技中の大入賞口の開放回数をカウントするためのカウンタ)に開放回数をセットする(ステップS139)。この実施の形態では、大当り種別が非確変または確変(すなわち15ラウンド大当り)ならば、開放回数カウンタには15回がセットされ、大当り種別が突然確変(すなわち2ラウンド大当り)ならば、開放回数カウンタには2回がセットされる。そして、特別図柄プロセスフラグの値を大入賞口開放前処理(ステップS305)に対応した値に更新する(ステップS140)。
また、ステップS130で大当りフラグがセットされていなければ、CPU56は、時短状態における特別図柄の変動回数をカウントするための時短回数カウンタの値が0となっているか否かを確認する(ステップS141)。時短回数カウンタの値が0でなければ(この場合、通常大当りとなったことにもとづいて時短状態に制御されるとともに時短回数カウンタがセットされている場合である)、CPU56は、時短回数カウンタの値を−1する(ステップS142)。そして、CPU56は、減算後の時短回数カウンタの値が0になった場合には(ステップS143)、時短フラグをリセットする(ステップS144)。
次いで、CPU56は、小当りフラグがセットされているか否かを確認する(ステップS145)。小当りフラグがセットされていれば、CPU56は、演出制御用マイクロコンピュータ100に小当り/突然確変大当り開始指定コマンドを送信する(ステップS146)。また、大入賞口開放前タイマに小当り表示時間(小当りが発生したことを、例えば、演出表示装置9において報知する時間)に相当する値を設定する(ステップS147)。なお、小当りとなる場合には、小当り遊技の開始時に、ステップS147において、変動表示を停止してから小当り遊技が開始されるまでに要する時間が大入賞口開放前タイマに設定される。また、小当り遊技中においては、大入賞口の各開放間のインターバル時間が大入賞口開放前タイマに設定される。
また、CPU56は、開放回数カウンタに開放回数をセットする(ステップS148)。なお、この実施の形態では、ステップS148において、開放回数カウンタに15回がセットされる。なお、ステップS139で大当り種別に応じて異なる回数がセットされる場合、例えば、突然確変大当りである場合に開放回数カウンタに2回がセットされる場合には、ステップS148でも開放回数カウンタに2回をセットするようにしてもよい。そして、特別図柄プロセスフラグの値を小当り開始前処理(ステップS308)に対応した値に更新する(ステップS149)。
小当りフラグもセットされていなければ(ステップS145のN)、CPU56は、特別図柄プロセスフラグの値を特別図柄通常処理(ステップS300)に対応した値に更新する(ステップS150)。
次に、タイマ割込処理におけるスイッチ処理(ステップS21)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図32は、スイッチ処理で使用されるRAM55に形成される各2バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば4ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0,2の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。なお、図32に示す前回ポートバッファ、ポートバッファ、およびスイッチオンバッファは、入力ポート0,2ごとに用意される。例えば、この実施の形態では、2つのスイッチオンバッファ1,2が用意されており、入力ポート0のスイッチの状態が前回ポートバッファ1、ポートバッファ1、およびスイッチオンバッファ1に設定され、入力ポート2のスイッチの状態が前回ポートバッファ2、ポートバッファ2、およびスイッチオンバッファ2に設定される。
図33および図34は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0(図7参照)に入力されているデータを入力し(ステップS2101)、入力したデータをポートバッファ1にセットする(ステップS2102)。
次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS2103)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS2104,S2105)。
ウェイトカウンタの値が0になると、再度、入力ポート0のデータを入力し(ステップS2106)、入力したデータとポートバッファ1にセットされているデータとの間で、ビット毎に論理積をとる(ステップS2107)。そして、論理積の演算結果を、ポートバッファ1にセットする(ステップS2108)。ステップS2103〜S2108の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS2104,S2105の処理時間)]の時間間隔をおいて入力ポート0から入力した2回の入力データのうち、2回とも「1」になっているビットのみが、ポートバッファ1において「1」になる。つまり、所定期間としての[ウェイトカウンタの初期値×(ステップS2104,S2105の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファ1における対応するビットが「1」になる。
さらに、CPU56は、前回ポートバッファ1にセットされているデータとポートバッファ1にセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS2109)。排他的論理和の演算結果において、前回(例えば4ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。
いずれかのスイッチに対応したビットが「1」になった場合(スイッチからの検出信号の状態が変化した場合)には(ステップS2110のY)、CPU56は、演出制御用マイクロコンピュータ100に入力ポート状態1指定コマンドを送信する制御を行う(ステップS2111)。
なお、ステップS2111では、CPU56は、カウントスイッチ23および入賞口スイッチ29a,30aからの検出信号に対応するビットが「1」になった場合に入力ポート状態1指定コマンドを送信し、入賞確認スイッチ14bからの検出信号に対応するビットが「1」になった場合には、入力ポート状態1指定コマンドを送信しないようにしてもよい。入賞確認スイッチ14bからの検出信号に対応するビットが「1」になった場合に入力ポート状態1指定コマンドを送信しないように構成する場合には、ステップS2110とステップS2111の処理との間に、排他的論理和の演算結果と「0D(H)」(図7に示す入力ポート0のビット4をマスクするデータ)との論理積が0になったときにはステップS2111の処理を実行しないステップを挿入すればよい。この実施の形態では、演出制御用マイクロコンピュータ100は、異常判定処理(図74、図75、図78、図79、図81、図82参照)において入力ポート0のカウントスイッチ23、および入賞口スイッチ29a,30aからの検出信号に対応するビットしか判定しないので、入賞確認スイッチ14bからの検出信号に対応するビットのデータが「1」,「0」のいずれであっても異常判定処理には影響を与えない。また、この実施の形態のように入賞確認スイッチ14bからの検出信号に対応するビットが「1」になった場合にも入力ポート状態1指定コマンドを送信する場合に、異常判定処理において入賞確認スイッチ14bからの検出信号に対応するビットも判定対象にして始動入賞口14に対する遊技球の異常通過の検出に用いるようにしてもよい。例えば、第2始動口スイッチ14aまたは入賞確認スイッチ14bのいずれかのオンを検出したことにもとづいて異常通過を検出し、異常報知を行うようにしてもよい。
また、CPU56は、ステップS2111の処理で、入力ポート0の入力データに対応するポートバッファ1のデータを2バイト目に設定した入力ポート状態1指定コマンドを送信する制御を行う。すなわち、CPU56は、入力ポート0の入力データを一括してコマンドとして出力する。
また、演出制御用マイクロコンピュータ100に演出制御コマンドを送信する際に、CPU56は、演出制御コマンドの種類に応じたコマンド送信テーブル(あらかじめROM54にコマンド毎に設定されている)のアドレスをポインタにセットする。そして、演出図柄コマンド制御処理(ステップS30)において演出制御コマンドが送信される。なお、入力ポート0の入力データのように固定的でないデータを送信する場合には、例えば、ROM54におけるコマンド送信テーブルの1バイト目にMODEデータ(図29(a)参照)が設定され、2バイト目にRAM55の所定領域のアドレスが設定される。そして、CPU56は、RAM55の所定領域に入力ポート0の入力データをセットした後、入力ポート状態1指定コマンドに対応するコマンド送信テーブルのアドレスをポインタにセットする。コマンド送信テーブルにRAM領域のアドレスが記憶されていて、該当するアドレスのデータを2バイト目にセットしてもよい。
CPU56は、さらに、排他的論理和の演算結果と、ポートバッファ1にセットされているデータとの間で、ビット毎に論理積をとる(ステップS2112)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが「1」として残る。
そして、CPU56は、ステップS2112における論理積の演算結果をスイッチオンバッファ1にセットし(ステップS2113)、ステップS2108における演算結果がセットされているポートバッファ1の内容を前回ポートバッファ1にセットする(ステップS2114)。
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば4ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファ1において「1」になっている。
次いで、CPU56は、入力ポート2(図7参照)に入力されているデータを入力し(ステップS2115)、入力したデータをポートバッファ2にセットする(ステップS2116)。
次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS2117)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS2118,S2119)。
ウェイトカウンタの値が0になると、再度、入力ポート2のデータを入力し(ステップS2120)、入力したデータとポートバッファ2にセットされているデータとの間で、ビット毎に論理和をとる(ステップS2121)。この実施の形態では、入力ポート2の入力のうちビット0〜2から入力される第1始動口スイッチ13a、第2始動口スイッチ14aおよびゲートスイッチ32aの検出信号は負論理で入力されるので、ステップS2121の論理和の演算が行われた結果、ほぼ[ウェイトカウンタの初期値×(ステップS2118,S2119の処理時間)]の時間間隔をおいて入力ポート2のビット0〜2から入力した2回の入力データのうち、2回とも「0」になっているビットのみが「0」となる。
次いで、CPU56は、論理和の演算結果をビット毎に反転する(ステップS2122)。次いで、CPU56は、反転後の演算結果と所定のスイッチ2入力判定マスク値「07(H)」との論理積をとる(ステップS2123)。ステップS2122,S2123の処理が実行されることによって、第1始動口スイッチ13a、第2始動口スイッチ14aおよびゲートスイッチ32aの入力のうちオン状態が検出されたビットのみが「1」となる(なお、他のクリアスイッチや電源断信号の入力ビットはマスク処理によって「0」になる)。そして、CPU56は、マスク処理後の演算結果を、ポートバッファ2にセットする(ステップS2124)。
ステップS2117〜S2124の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS2118,S2119の処理時間)]の時間間隔を置いて入力ポート2から入力した2回の入力データのビット0〜2うち、2回とも「0」になっているビットのみが、ポートバッファ2において「1」になる。つまり、入力ポート2から入力される検出信号のうち、ビット0〜2から入力される第1始動口スイッチ13a、第2始動口スイッチ14aおよびゲートスイッチ32aの検出信号については、所定期間としての[ウェイトカウンタの初期値×(ステップS2118,S2119の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファ2における対応するビットが「1」になる。
さらに、CPU56は、前回ポートバッファ2にセットされているデータとポートバッファ2にセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS2125)。排他的論理和の演算結果において、前回(例えば4ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。
いずれかのスイッチに対応したビットが「1」になった場合(スイッチからの検出信号の状態が変化した場合)には(ステップS2126のY)、CPU56は、演出制御用マイクロコンピュータ100に入力ポート状態2指定コマンドを送信する制御を行う(ステップS2127)。
なお、ステップS2127では、CPU56は、第1始動口スイッチ13aおよび第2始動口スイッチ14aからの検出信号に対応するビットが「1」(論理反転後の値)になった場合に入力ポート状態2指定コマンドを送信し、ゲートスイッチ32aからの検出信号に対応するビットが「0」(論理反転後の値)になった場合には、入力ポート状態2指定コマンドを送信しないようにしてもよい。ゲートスイッチ32aからの検出信号に対応するビットが「1」になった場合に入力ポート状態2指定コマンドを送信しないように構成する場合には、ステップS2126とステップS2127の処理との間に、排他的論理和の演算結果と「03(H)」(図7に示す入力ポート2のビット2をマスクするデータ)との論理積が0になったときにはステップS2127の処理を実行しないステップを挿入すればよい。この実施の形態では、演出制御用マイクロコンピュータ100は、異常判定処理(図74、図75、図78、図79、図81、図82参照)において入力ポート2の第1始動口スイッチ13aおよび第2始動口スイッチ14aからの検出信号に対応するビットしか判定しないので、ゲートスイッチ32aからの検出信号に対応するビットのデータが「1」,「0」のいずれであっても異常判定処理には影響を与えない。また、この実施の形態のようにゲートスイッチ32aからの検出信号に対応するビットが「1」(論理反転後の値)になった場合にも入力ポート状態2指定コマンドを送信する場合に、異常判定処理においてゲートスイッチ32aからの検出信号に対応するビットも判定対象にしてゲート32に対する遊技球の異常通過も検出するようにし、異常通過を検出した場合に異常報知を行うようにしてもよい。
また、CPU56は、ステップS2127の処理で、入力ポート2の入力データに対応するポートバッファ2のデータを2バイト目に設定した入力ポート状態2指定コマンドを送信する制御を行う。すなわち、CPU56は、入力ポート2の入力データを一括してコマンドとして出力する。
また、演出制御用マイクロコンピュータ100に演出制御コマンドを送信する際に、CPU56は、演出制御コマンドの種類に応じたコマンド送信テーブル(あらかじめROM54にコマンド毎に設定されている)のアドレスをポインタにセットする。そして、演出図柄コマンド制御処理(ステップS30)において演出制御コマンドが送信される。なお、入力ポート2の入力データのように固定的でないデータを送信する場合には、例えば、ROM54におけるコマンド送信テーブルの1バイト目にMODEデータ(図29(a)参照)が設定され、2バイト目にRAM55の所定領域のアドレスが設定される。そして、CPU56は、RAM55の所定領域に入力ポート2の入力データをセットした後、入力ポート状態2指定コマンドに対応するコマンド送信テーブルのアドレスをポインタにセットする。コマンド送信テーブルにRAM領域のアドレスが記憶されていて、該当するアドレスのデータを2バイト目にセットしてもよい。
CPU56は、さらに、排他的論理和の演算結果と、ポートバッファ2にセットされているデータとの間で、ビット毎に論理積をとる(ステップS2128)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが負論理の場合には「0」として残り正論理の場合には「1」として残る。
そして、CPU56は、ステップS2128における論理積の演算結果をスイッチオンバッファ2にセットし(ステップS2129)、ステップS2124における演算結果がセットされているポートバッファ2の内容を前回ポートバッファ2にセットする(ステップS2130)。
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば4ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファ2において「1」になっている。
さらに、遊技制御用マイクロコンピュータ560(具体的には、CPU56)は、スイッチ正常/異常チェック処理を行う(ステップS2131)。
図35は、スイッチ正常/異常チェック処理を示すフローチャートである。図35に示すスイッチ正常/異常チェック処理において、CPU56は、入力ポート2に対応するスイッチオンバッファ2の内容を読み出す(ステップS121)。そして、入力ポート2に対応するスイッチオンバッファ2における第2始動口スイッチ14aに対応するビット1の値が1であるか否か確認する(ステップS122)。すなわち、第2始動入賞口14内の上部に設けられた第2始動口スイッチ14a(近接スイッチ)がオン(遊技球を検出)したか否か確認する。
入力ポート2に対応するスイッチオンバッファ2における第2始動口スイッチ14aに対応するビット1の値が1である場合(すなわち、第2始動口スイッチ14aがオン状態である場合)には、RAM55に形成されているスイッチ用カウンタの値を1増やす(ステップS123)。
また、CPU56は、入力ポート0に対応するスイッチオンバッファ1の内容を読み出す(ステップS124)。そして、CPU56は、入力ポート0に対応するスイッチオンバッファ1における入賞確認スイッチ14bに対応するビット4の値が1であるか否か確認する(ステップS125)。すなわち、第2始動入賞口14内の下部に設けられた入賞確認スイッチ14b(フォトセンサ)がオン(遊技球を検出)したか否か確認する。
入力ポート0に対応するスイッチオンバッファ1における入賞確認スイッチ14bに対応するビット4の値が1である場合(すなわち、入賞確認スイッチ14bがオン状態である場合)には、RAM55に形成されているスイッチ用カウンタの値を1減らす(ステップS126)。
そして、CPU56は、スイッチ用カウンタの値が所定値以上になっているか否か確認する(ステップステップS127)。スイッチ用カウンタの値が所定値以上になっている場合には、CPU56は、第2始動入賞口14への異常入賞が発生したと判定し、セキュリティ信号情報タイマに所定時間(本例では、4分)をセットする(ステップS128)。なお、この実施の形態では、CPU56は、スイッチ用カウンタの値が所定値として10以上となったことにもとづいて、セキュリティ信号情報タイマに所定時間(本例では、4分)をセットするものとする。この実施の形態では、ステップS128でセキュリティ信号情報タイマに所定時間がセットされたことにもとづいて、情報出力処理(S31参照)が実行されることによって、第2始動入賞口14の異常入賞が検出されたときに、セキュリティ信号が所定時間(本例では、4分)外部出力される。
なお、ステップS127の処理において、CPU56は、例えば、スイッチ用カウンタの値が10以上となったことにもとづいて、第2始動入賞口14への異常入賞が発生したと判定することに加えて、逆にスイッチ用カウンタの値が−10以下となったことにもとづいても、第2始動入賞口14への異常入賞が発生したと判定するようにしてもよい。この場合、スイッチ用カウンタの値がマイナス値となっていることを認識できないように構成されている場合には、例えば、スイッチ用カウンタの値のデフォルト値として10をセットするようにしておき、スイッチ用カウンタの値が0または20以上となったことにもとづいて、第2始動入賞口14への異常入賞が発生したと判定するようにしてもよい。
なお、この実施の形態では、既にセキュリティ信号情報タイマに値が設定されセキュリティ信号を外部出力中であっても、新たに異常入賞を検出した場合には、再度ステップS128の処理が実行されて、セキュリティ信号情報タイマに所定時間(本例では、4分)が上書きされる。従って、セキュリティ信号の外部出力中に新たな異常入賞を検出した場合には、実質的にセキュリティ信号の外部出力期間が延長され、その新たに異常入賞を検出した時点から更に所定時間(本例では、4分)セキュリティ信号の出力が継続されることになる。
なお、この実施の形態では、1つのスイッチ用カウンタのみを用いて第2始動入賞口14への異常入賞を検出する場合を示したが、第2始動口スイッチ14aの検出回数と入賞確認スイッチ14bの検出回数とで異なるスイッチ用カウンタを用いてもよい。この場合、例えば、第2始動口スイッチ14aのオン状態を検出するごとに第1スイッチ用カウンタの値を1加算するようにするとともに、入賞確認スイッチ14bのオン状態を検出するごとに第2スイッチ用カウンタの値を1加算するようにすればよい。そして、ステップS127では、第1スイッチ用カウンタの値と第2スイッチ用カウンタの値との差が所定値(例えば、10)以上であると判定したことにもとづいて、第2始動入賞口14への異常入賞が発生したと判定し、ステップS128の処理を実行してセキュリティ信号を外部出力するようにすればよい。
また、第2始動入賞口14への異常入賞が発生したことを検出した場合には、ステップS128の処理を実行してセキュリティ信号を外部出力するとともに、所定のエラー報知コマンドを演出制御用マイクロコンピュータ100に送信するようにして、演出制御用マイクロコンピュータ100側において演出表示装置9に所定のエラー画面を表示させるなどによりエラー報知を行えるようにすることが望ましい。
また、例えば、第2始動入賞口14への異常入賞に加えて、第1始動入賞口13への異常入賞や、大入賞口への異常入賞、異常磁気エラー、異常電波エラー、通信エラーを検出した場合にもセキュリティ信号を出力するように構成する場合には、それぞれエラーの種類ごとに異なるエラー報知コマンドを演出制御用マイクロコンピュータ100に送信するようにしてもよい。そして、演出制御用マイクロコンピュータ100側において、演出表示装置9に、エラーの種類ごとにそれぞれ異なるエラー画面を表示させるなどによりエラー報知を行えるようにしてもよい。
なお、上記のように構成する場合、遊技機への電力供給が停止した後に電力供給が再開したときには、電力供給の停止前にエラー報知中であった場合には、電源供給の再開時に所定のエラー報知コマンドを演出制御用マイクロコンピュータ100に対して再度送信するようにするようにしてもよい。すなわち、演出制御用マイクロコンピュータ100側ではRAMなどの記憶内容がバックアップ電源によってバックアップされていないので、停電が発生してしまうと、そのままでは、それまで実行していたエラー報知などの演出を実行できないのであるが、停電復旧時に所定のエラー報知コマンドを再度送信するように構成することによって、停電復旧時にエラー報知を再開できるようにすることができる。また、遊技制御用マイクロコンピュータ560は、セキュリティ信号情報タイマの値もバックアップRAMにバックアップしておくようにし、電力供給の停止前にセキュリティ信号の出力中であった場合には、停電復旧時にバックアップされていたセキュリティ信号情報タイマの値にもとづいてセキュリティ信号の出力を再開できるようにしてもよい。それらの構成を備えることによって、故意に遊技機への電源断を発生させることによって、エラー報知を消したりセキュリティ信号の出力を停止させたりするような不正行為を防止することができる。
図36は、ターミナル基板160に出力される各種信号を示すブロック図である。図36に示すように、この実施の形態では、主基板31に搭載されている遊技制御用マイクロコンピュータ560からターミナル基板160に対して、図柄確定回数1信号、始動口信号、大当り1信号、大当り2信号、大当り3信号、時短信号、入賞信号、セキュリティ信号、および高確中信号が、遊技制御用マイクロコンピュータ560側の情報出力処理(ステップS31参照)によって出力される。また、この実施の形態では、払出制御基板37に搭載されている払出制御用マイクロコンピュータ370から、主基板31を経由して、ターミナル基板160に対して、賞球情報が、払出制御用マイクロコンピュータ370側の情報出力処理(ステップS759参照)によって出力される。
図柄確定回数1信号は、第1特別図柄および第2特別図柄の変動回数を通知するための信号である。始動口信号は、第1始動入賞口13および第2始動入賞口14への入賞個数を通知するための信号である。大当り1信号は、大当り遊技中(特別可変入賞球装置の動作中)であることを通知するための信号である。大当り2信号は、大当り遊技中(特別可変入賞球装置の動作中)で、または特別図柄の変動時間短縮機能が作動中(時短状態中)であることを通知するための信号である。大当り3信号は、15ラウンドの大当り遊技中であることを通知するための信号である。時短信号は、特別図柄の変動時間短縮機能が作動中(時短状態中)であることを通知するための信号である。
また、入賞信号は、既に説明したように、所定数分(この実施の形態では、10個分)の賞球を払い出すための所定の払出条件が成立したこと(第1始動入賞口13、第2始動入賞口14、大入賞口、普通入賞口29,30への入賞が発生したこと。賞球の払出までは行われていない。)を示す信号である。
また、セキュリティ信号は、遊技機のセキュリティ状態を示す信号である。具体的には、第2始動口スイッチ14aの検出結果と入賞確認スイッチ14bの検出結果とにもとづいて、第2始動入賞口14への異常入賞が発生したと判定された場合に、セキュリティ信号が所定期間(例えば、4分間)ホールコンピュータなどの外部装置に出力される。また、遊技機への電源投入が行われて初期化処理が実行された場合にも、セキュリティ信号が所定期間(例えば、30秒間)ホールコンピュータなどの外部装置に出力される。
なお、セキュリティ信号として外部出力される信号は、この実施の形態で示したものにかぎられない。例えば、第2始動入賞口14への異常入賞にかぎらず、第1始動入賞口13や、大入賞口、普通入賞口29,30への異常入賞を検出して、セキュリティ信号として外部出力可能なように構成してもよい。また、例えば、遊技機に設けられた磁石センサで異常磁気を検出した場合や、遊技機に設けられた電波センサで異常電波を検出した場合に、セキュリティ信号として外部出力可能なように構成してもよい。また、例えば、遊技機に設けられた各種スイッチの異常を検出した場合(例えば、入力値が閾値を超えたと判定したことにより、短絡などの発生を検出した場合)に、セキュリティ信号として外部出力可能なように構成してもよい。そのように、大入賞口への異常入賞や異常磁気エラー、異常電波エラーについてもターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成すれば、1本の信号線さえ接続すればホールコンピュータなど外部装置でエラー検出を行えるようにすることができ、エラー検出に関する作業負担を軽減することができる。
また、例えば、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーを検出した場合にも、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力可能なように構成してもよい。この場合、例えば、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370から後述する接続OKコマンドや賞球個数受付コマンドを受信できなかったことにもとづいて通信エラーが発生したと判定し、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力してもよい。また、例えば、遊技制御用マイクロコンピュータ560は、シリアル通信回路505のステータスレジスタのいずれかのエラービットの値がセットされていることにもとづいて通信エラーが発生したと判定し、ターミナル基板160の共通のコネクタCN8からセキュリティ信号として外部出力してもよい。
なお、セキュリティ信号用の信号線およびコネクタCN8とは別に、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラー専用の信号線およびコネクタをターミナル基板160に設けてもよい。そして、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーを検出した場合には、セキュリティ信号とは別の信号として、ターミナル基板160を経由してホールコンピュータなどの外部装置に出力するようにしてもよい。
高確中信号は、遊技状態が高確率状態(確変状態)に制御されていることを示す信号である。この実施の形態では、高確中信号は、停電復旧してから所定条件が成立するまで(具体的には、最初の大当りが発生するまで)、ターミナル基板160を介して外部出力される。
また、賞球情報は、既に説明したように、賞球払出を特定数(本例では10個)検出するごとに出力される信号である。なお、この実施の形態では、所定数分(この実施の形態では、10個分)の賞球を払い出すための所定の払出条件が成立したこと(第1始動入賞口13、第2始動入賞口14、大入賞口、普通入賞口29,30への入賞が発生したこと)にもとづいて入賞信号が外部出力され、入賞信号にもとづいてホール側で賞球数の把握を行うことができる。そのため、賞球情報については、外部出力しないように構成してもよい。
図37〜図40は、ステップS31の情報出力処理を示すフローチャートである。なお、図37〜図40に示す処理のうち、ステップS1002〜S1020が始動口信号を出力するための処理であり、ステップS1021〜S1023が入賞信号を出力するための処理であり、ステップS1031〜S1036が図柄確定回数1信号を出力するための処理であり、ステップS1050〜S1068が大当り1信号、大当り2信号、大当り3信号および時短信号を出力するための処理である。また、ステップS1069〜S1074がセキュリティ信号を出力するための処理であり、ステップS1075〜S1077が高確中信号を出力するための処理である。
情報出力処理において、CPU56は、まず、始動口情報設定テーブルのアドレスをポインタにセットし(ステップS1002)、ポインタの指す処理数をロードする(ステップS1003)。始動口情報設定テーブルには、処理数(=2)と2つの始動口スイッチ入力ビット(第1始動口スイッチ入力ビット判定値(01(H)))と第2始動口スイッチ入力ビット判定値(02(H)))とが設定されている。なお、第1始動口スイッチ入力ビット判定値とは、第1始動入賞口13への始動入賞の有無を判定するための判定値であり、第2始動口スイッチ入力ビット判定値とは、第2始動入賞口14への始動入賞の有無を判定するための判定値である。ステップS1003では、ポインタが始動口情報設定テーブルの処理数のアドレスを指しているので、始動口情報設定テーブルにおける処理数(=2)のデータがロードされることになる。
次いで、CPU56は、スイッチオンバッファの内容をレジスタにロードし(ステップS1004)、スイッチオンバッファをスイッチ入力データにセットする(ステップS1005)。そして、ポインタを1加算し(ステップS1006)、ポインタの指す始動口スイッチ入力ビットをレジスタにロードし(ステップS1007)、始動口スイッチ入力ビットとスイッチ入力データの論理積をとる(ステップS1008)。この場合、処理数が1である場合には第1始動口スイッチ入力ビットをロードしてスイッチ入力データの論理積をとることになり、処理数が2である場合には第2始動口スイッチ入力ビットをロードしてスイッチ入力データの論理積をとることになる。処理数が1であって第1始動口スイッチ13aがオンしているときは、論理積の演算結果は01(H)になる。また、処理数が2であって第2始動口スイッチ14aがオンしているときは、論理積の演算結果は02(H)になる。第1始動口スイッチ13a、第2始動口スイッチ14aがオンしていないときは、論理積の演算結果は、00(H)になる。
論理積の演算結果が0の場合には(ステップS1009のY)、ステップS1015の処理に移行する。論理積の演算結果が0でない場合には(ステップS1009のN)、第1始動入賞口13または第2始動入賞口14への入賞が生じたと判定し、始動口情報記憶カウンタをレジスタにロードする(ステップS1010)。始動口情報記憶カウンタは、始動口信号の残り出力回数(つまり、始動口信号の未出力の始動入賞の残り入賞個数)をカウントするカウンタである。次いで、CPU56は、始動口情報記憶カウンタを1加算する(ステップS1011)。そして、演算結果(加算した結果)が0でないかどうかを確認する(ステップS1012)。演算結果が0のときは(ステップS1012のN)、演算結果を1減算する(ステップS1013)。そして、演算結果を始動口情報記憶カウンタにストアする(ステップS1014)。
なお、この実施の形態では、第2始動入賞口14への入賞に関して、第2始動入賞口14内の上流側の第2始動口スイッチ14aのオン状態のみを検出したことにもとづいて、ステップS1010以降の処理を実行して始動口信号を出力する場合を示しているが、上流側の第2始動口スイッチ14aと下流側の入賞確認スイッチ14bとの両方のオン状態を検出したことにもとづいて、始動口信号を出力するように構成してもよい。また、同様に、第1始動入賞口13にも下流側の入賞確認スイッチを設けるように構成する場合には、第1始動入賞口13への入賞に関しても、上流側の第1始動口スイッチ13aと下流側の入賞確認スイッチとの両方のオン状態を検出したことにもとづいて、始動口信号を出力するように構成してもよい。
次に、CPU56は、処理数を1減算し(ステップS1015)、処理数が0でないかどうかを判定する(ステップS1016)。処理数が0でないときは(ステップS1016のY)、ステップS1004の処理に移行する。なお、この実施の形態では、遊技機は第1始動入賞口13および第2始動入賞口14を備えていることから、処理数の初期値として2が設定され、ステップS1004〜S1016の処理が2回実行されることになる。
ステップS1016で処理数が0であると判定されると(ステップS1016のN)、CPU56は、初期値(00(H))をRAM55に形成されている情報バッファにセットする(ステップS1017)。次いで、CPU56は、RAM55に形成されている情報出力バッファの始動口出力ビット位置(図6に示す例では出力ポート1のビット1)をセットする(ステップS1018)。そして、CPU56は、始動口情報記憶タイマのアドレスをポインタにセットし(ステップS1019)、入賞タイマセット処理を実行する(ステップS1020)。
次いで、CPU56は、情報出力バッファの入賞出力ビット位置(図6に示す例では出力ポート1のビット6)をセットする(ステップS1021)。そして、CPU56は、入賞情報記憶タイマのアドレスをポインタにセットし(ステップS1022)、入賞タイマセット処理を実行する(ステップS1023)。
なお、この実施の形態では、始動口信号を外部出力する場合と入賞信号を外部出力する場合とで共通のサブルーチン(入賞タイマセット処理)が実行されることによって、情報バッファの始動口出力ビット位置がセットされて始動口信号が出力され、情報バッファの入賞出力ビット位置がセットされて入賞信号が出力される。なお、入賞タイマセット処理の具体的な処理内容については後述する(図41参照)。
次に、CPU56は、図柄確定回数1情報タイマをレジスタにロードし(ステップS1031)、図柄確定回数1情報タイマの状態をフラグレジスタに反映させて(ステップS1032)、図柄確定回数1情報タイマがタイムアウトしているかどうかを判定する(ステップS1033)。この実施の形態では、特別図柄変動中処理(ステップS303参照)において、変動時間がタイムアウトすると、特別図柄の変動を停止するときに、図柄確定回数1情報タイマに図柄確定回数出力時間(本例では0.500秒)がセットされ、その図柄確定回数出力時間が経過していないときは、図柄確定回数1情報タイマがタイムアウトしていないと判定され、図柄確定回数出力時間が経過したとき(図柄確定回数1情報タイマの値が0のとき)に、図柄確定回数1情報タイマがタイムアウトしたと判定される。
図柄確定回数1情報タイマがタイムアウトしていなければ(ステップS1033のN)、図柄確定回数1情報タイマを1減算し(ステップS1034)、演算結果を図柄確定回数1情報タイマにストアする(ステップS1035)。そして、情報バッファの図柄確定回数1出力ビット位置(図6に示す例では出力ポート1のビット0)をセットする(ステップS1036)。情報バッファの図柄確定回数1出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、図柄確定回数1信号が出力ポート1から出力される(オン状態となる)。なお、図柄確定回数1情報タイマがタイムアウトすれば(ステップS1033のY)、ステップS1036の処理が実行されない結果、図柄確定回数1信号はオフ状態となる。
以上に示したステップS1031〜S1036の処理によって、第1特別図柄および第2特別図柄の変動が停止(停止図柄が確定)する度に、図柄確定回数1信号が図柄確定回数出力時間(例えば500ms)オン状態となる。
次に、CPU56は、特別図柄プロセスフラグをロードし(ステップS1050)、特別図柄プロセスフラグの値と大入賞口開放前処理指定値(「5」)を比較し(ステップS1051)、特別図柄プロセスフラグの値が5未満であるかどうかを判定する(ステップS1052)。特別図柄プロセスフラグの値が5未満であるときは(ステップS1052のY)、ステップS1058の処理に移行する。特別図柄プロセスフラグの値が5以上であるときは(ステップS1052のN)、さらに特別図柄プロセスフラグの値と小当り開放前処理指定値(「8」)を比較し(ステップS1053)、特別図柄プロセスフラグの値が8以上であるかどうかを判定する(ステップS1054)。特別図柄プロセスフラグの値が8以上であるときは(ステップS1054のY)、ステップS1058の処理に移行する。特別図柄プロセスフラグの値が8未満であるときは(ステップS1054のN)、情報バッファの大当り1出力ビット位置をセットする(ステップS1055)。また、情報バッファの大当り2出力ビット位置をセットする(ステップS1056)。情報バッファの大当り1出力ビット位置および大当り2出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、大当り1信号および大当り2信号が出力ポート1から出力される(オン状態となる)。
また、CPU56は、時短状態であるか否かを確認する時短チェック処理を実行し(ステップS1058)、時短状態であるか否かを判定する(ステップS1059)。具体的には、CPU56は、時短状態に移行するときにセットされる時短フラグがセットされているか否かを確認することによって、時短状態であるか否かを判定する。時短状態であるときは(ステップS1059のY)、情報バッファの時短出力ビット位置をセットする(ステップS1060)。時短出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、時短信号が出力ポート1から出力される(オン状態となる)。また、情報バッファの大当り2出力ビット位置をセットする(ステップS1061)。大当り2出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、大当り2信号が出力ポート1から出力される(オン状態となる)。
また、CPU56は、特別図柄プロセスフラグをロードし(ステップS1062)、特別図柄プロセスフラグの値と大入賞口開放前処理指定値(「5」)を比較し(ステップS1063)、特別図柄プロセスフラグの値が5未満であるかどうかを判定する(ステップS1064)。特別図柄プロセスフラグの値が5未満であるときは(ステップS1064のY)、ステップS1069の処理に移行する。特別図柄プロセスフラグの値が5以上であるときは(ステップS1064のN)、さらに特別図柄プロセスフラグの値と小当り開放前処理指定値(「8」)を比較し(ステップS1065)、特別図柄プロセスフラグの値が8以上であるかどうかを判定する(ステップS1066)。特別図柄プロセスフラグの値が8以上であるときは(ステップS1066のY)、ステップS1069の処理に移行する。特別図柄プロセスフラグの値が8未満であるときは(ステップS1066のN)、特別図柄通常処理で大当り種別判定結果にもとづいて設定される大当り種別バッファの内容をロードし、通常大当りまたは確変大当りであるか否かを確認する(ステップS1067)。なお、通常大当りまたは確変大当りであるか否かは、例えば、特別図柄通常処理において設定された大当り種別バッファの内容を確認することによって判定できる。例えば、大当り種別バッファには、特別図柄通常処理で決定された大当り種別の内容や大当り判定結果を示す内容が格納されており、例えば、「01」が通常大当り、「02」が確変大当り、「03」が突然確変大当りとされている。そして、大当り種別バッファの内容が「01」または「02」であれば、通常大当りまたは確変大当りであると判断される。この場合、情報バッファの大当り3出力ビット位置をセットする(ステップS1068)。大当り3出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、大当り3信号が出力ポート1から出力される(オン状態となる)。
以上に示したステップS1050〜S1068の処理によって、大当りの種別や遊技状態に応じた大当り1信号、大当り2信号、大当り3信号および時短信号が出力される(オン状態になる)。
次いで、CPU56は、セキュリティ信号情報タイマをロードし(ステップS1069)、セキュリティ信号情報タイマの状態をフラグレジスタに反映させて(ステップS1070)、セキュリティ信号情報タイマがタイムアウトしているかどうかを判定する(ステップS1071)。この実施の形態では、第2始動口スイッチ14aと入賞確認スイッチ14bとの検出差が所定値(本例では10)以上に達したと判定され、始動入賞口への異常入賞が発生したと判定された場合には、セキュリティ信号情報タイマに所定時間(本例では4分)がセットされ(スイッチ正常/異常チェック処理におけるステップS127,S128参照)、その所定時間が経過していないときは、セキュリティ信号情報タイマがタイムアウトしていないと判定され、その所定時間が経過したとき(セキュリティ信号情報タイマの値が0のとき)に、セキュリティ信号情報タイマがタイムアウトしたと判定される。
また、この実施の形態では、遊技機への電力供給が開始されて初期化処理が実行されたときにも、セキュリティ信号情報タイマに所定時間(本例では30秒)がセットされ(メイン処理におけるステップS14a参照)、その所定時間が経過していないときは、セキュリティ信号情報タイマがタイムアウトしていないと判定され、その所定時間が経過したとき(セキュリティ信号情報タイマの値が0のとき)に、セキュリティ信号情報タイマがタイムアウトしたと判定される。
セキュリティ信号情報タイマがタイムアウトしていなければ(ステップS1071のN)、セキュリティ信号情報タイマを1減算し(ステップS1072)、演算結果をセキュリティ信号情報タイマにストアする(ステップS1073)。そして、情報バッファのセキュリティ信号出力ビット位置(図6に示す例では出力ポート1のビット7)をセットする(ステップS1074)。情報バッファのセキュリティ信号出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、セキュリティ信号が出力ポート1から出力される(オン状態となる)。なお、セキュリティ信号情報タイマがタイムアウトすれば(ステップS1071のY)、ステップS1074の処理が実行されない結果、セキュリティ信号はオフ状態となる。
以上に示したステップS1069〜S1074の処理によって、第2始動入賞口14への異常入賞が検出されてから4分が経過するまで、または遊技機への電力供給開始時に初期化処理が実行されてから30秒が経過するまで、ターミナル基板160の共通のコネクタCN8を用いてセキュリティ信号が出力される。なお、セキュリティ信号の出力中更に新たな異常入賞を検出した場合には、最後に異常入賞を検出してから4分間が経過するまでセキュリティ信号の出力が継続される。
次いで、CPU56は、高確中出力許可フラグがセットされているか否かを確認する(ステップS1075)。なお、高確中出力許可フラグは、遊技機への電力供給開始時にホットスタート処理が実行されたときにセットされる(ステップS9103参照)。高確中出力許可フラグがセットされていれば、CPU56は、確変フラグがセットされているか否かを確認する(ステップS1076)。確変フラグがセットされていれば、CPU56は、情報バッファの高確中信号出力ビット位置(図6に示す例では出力ポート0のビット7)をセットする(ステップS1077)。情報バッファの高確中信号出力ビット位置がセットされると、その後のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート0に出力することによって、高確中信号が出力ポート0から出力される(オン状態となる)。なお、この実施の形態では、停電復旧した後、最初の大当りが発生すれば、高確中出力許可フラグがリセットされ(ステップS136参照)、その結果、高確中信号はオフ状態となる。
なお、この実施の形態では、最初の大当りが発生したときに高確中出力許可フラグをリセットする場合を示しているが、高確中出力許可フラグがリセットされるタイミングは、この実施の形態で示したものにかぎられない。例えば、小当りが発生した場合にも高確中出力許可フラグをリセットするように構成してもよい。また、例えば、確変状態に制御された後に変動表示を所定回数実行したことにもとづいて確変状態を終了するように構成されている場合には、その所定回数の変動表示を終了して確変状態を終了するときに高確中出力許可フラグをリセットするように構成してもよい。
以上に示したステップS1075〜S1077の処理によって、停電復旧した後、確変フラグがセットされていれば、所定条件が成立するまで(本例では、最初の大当りが発生するまで)、高確中信号が出力される(オン状態になる)。すなわち、この実施の形態では、既に説明したように、遊技機への電源供給が停止しても所定期間はバックアップRAMに確変フラグが保持されている。そのため、停電発生前に確変状態に制御されていた場合には、バックアップRAMに確変フラグが保持されている筈であるから、停電復旧時に高確中信号の出力が開始され、最初の大当りが発生するまで高確中信号の出力が継続される。
なお、この実施の形態では、最初の大当りが発生したときに、高確中出力許可フラグがリセットされる(ステップS136参照)のであるから、以降、高確中信号の出力は行われなくなる。従って、この実施の形態では、所定条件が成立すれば(本例では、最初の大当りが発生すれば)、高確中信号の出力が禁止されることになる。
なお、この実施の形態では、メイン処理の停電復旧処理の実行時に高確中出力許可フラグをセットする処理のみを行い、ステップS31の情報出力処理において確変フラグがセットされているか否かを確認して高確中信号を出力するように処理を行う場合を示したが、高確中信号出力の処理方法は、この実施の形態で示したものにかぎられない。例えば、メイン処理の停電復旧処理において確変フラグがセットされているか否かを確認し、セットされていれば、情報バッファの高確中信号出力ビット位置をセットしたり、高確中信号出力用のタイマをセットしたりするなどの処理を行って、高確中信号を出力するようにしてもよい。そして、このように停電復旧処理において確変フラグを確認して高確中信号の出力を開始するように構成する場合であっても、最初の大当りが発生したときなど所定条件が成立したときに高確中信号の出力を停止する制御を行って、以降、高確中信号の出力を行わないように制御するように構成されていればよい。
なお、この実施の形態では、タイマ割込ごとに図37〜図40に示す情報出力処理において対応する信号の出力ビット位置をセットして(ステップS1036,S1055,S1056,S1060,S1061,S1068,S1074,S1077参照)、ステップS1102,S1103を実行して出力ポート0,1から外部出力する処理例を示しているが、各信号の出力状態に関しては、対応する出力ビットの値が前回の設定と変化しないかぎり変化しない。例えば、対応する出力ビットの値が「1」にセットされていれば、セットされている間、信号は出力が継続されることになる。
図41は、情報出力処理のステップS1020,S1023で実行される入賞タイマセット処理を示すフローチャートである。入賞タイマセット処理において、CPU56は、まず、ポインタの指す情報記憶タイマをロードし(ステップS2001)、ロードした情報記憶タイマの状態をフラグレジスタに反映させて(ステップS2002)、信号が出力中であるか否かを判定する(ステップS2003)。この場合、情報出力処理のステップS1020で入賞タイマセット処理が実行される場合には、始動口情報記憶タイマをロードしてその状態をフラグレジスタに反映し、始動口信号が出力中であるか否かを判定することになる。また、情報出力処理のステップS1023で入賞タイマセット処理が実行される場合には、入賞情報記憶タイマをロードしてその状態をフラグレジスタに反映し、入賞信号が出力中であるか否かを判定することになる。
始動口情報記憶タイマは、始動口信号のオン時間およびオフ時間(例えば、オン時間100msとオフ時間100ms)を計測するためのタイマである。始動口情報記憶タイマの値が0でなければ始動口信号が出力中であると判定され、始動口情報記憶タイマの値が0であれば始動口信号が出力中でないと判定される。また、入賞情報記憶タイマは、入賞信号のオン時間およびオフ時間(例えば、オン時間100msとオフ時間100ms)を計測するためのタイマである。入賞情報記憶タイマの値が0でなければ入賞信号が出力中であると判定され、入賞情報記憶タイマの値が0であれば入賞信号が出力中でないと判定される。
信号(始動口信号または入賞信号)が出力中であれば(ステップS2003のY)、ステップS2012の処理に移行する。信号(始動口信号または入賞信号)が出力中でなければ(ステップS2003のN)、CPU56は、ポインタの値を1加算する(ステップS2004)。なお、この実施の形態では、ROM54において、始動口情報記憶タイマが設定されている領域の次の領域に始動口情報記憶カウンタがセットされ、入賞情報記憶タイマが設定されている領域の次の領域に入賞情報記憶カウンタがセットされている。従って、ステップS2004の処理が実行されることによって、ポインタの値は、始動口情報記憶カウンタまたは入賞情報記憶カウンタのアドレスを示している状態となる。
次いで、CPU56は、ポインタの指す情報記憶カウンタ(始動口情報記憶カウンタまたは入賞情報記憶カウンタ)をロードし(ステップS2005)、ロードした情報記憶カウンタ(始動口情報記憶カウンタまたは入賞情報記憶カウンタ)の状態をフラグレジスタに反映させて(ステップS2006)、信号(始動口信号または入賞信号)の出力回数の残数があるかどうかを判定する(ステップS2007)。
なお、第1始動口スイッチ13a、第2始動口スイッチ14aがオンしたときは(ステップS1009のN)、始動口情報記憶カウンタが加算される(第1始動口スイッチ13aまたは第2始動口スイッチ14aのいずれか一方がオンしていれば1加算され、両方ともオンしていれば2加算される。ステップS1011参照。)ので、始動口信号の出力回数の残数があると判定されることになる。また、いずれかの入賞口(第1始動入賞口13、第2始動入賞口14、大入賞口、普通入賞口29,30)への入賞が発生した場合には、賞球予定数が10個累積するごとに入賞情報記憶カウンタが加算される(ステップS5122参照)ので、入賞信号の出力回数の残数があると判定されることになる。
信号(始動口信号または入賞信号)の出力回数の残数がなければ(ステップS2007のY)、入賞タイマセット処理を終了する。信号(始動口信号または入賞信号)の出力回数の残数があれば(ステップS2007のN)、CPU56は、ポインタの指す上方記憶カウンタ(始動口情報記憶カウンタまたは入賞情報記憶カウンタ)を1減算し(ステップS2008)、演算結果(1減算した結果)を情報記憶カウンタ(始動口情報記憶カウンタまたは入賞情報記憶カウンタ)にストアする(ステップS2009)。そして、入賞情報動作時間(50)をレジスタにセットする(ステップS2010)。なお、入賞情報動作時間(50)は、4msのタイマ割込みが50回実行される時間、すなわち、0.200秒(200ms)の時間となっている。なお、この実施の形態では、始動口信号を出力する場合と入賞信号を出力する場合とで、入賞情報動作時間として同じ値を設定する場合を示しているが、異なる値を設定するようにしてもよい。
次いで、CPU56は、ポインタの値を1減算する(ステップS2011)。ステップS2011の処理が実行されることによって、ポインタの値は、再び始動口情報記憶タイマまたは入賞情報記憶タイマのアドレスを示している状態に戻ることになる。そして、ステップS2012に移行する。
次に、CPU56は、ステップS2010で入賞情報動作時間がセットされていなければポインタの指す情報記憶タイマ(始動口情報記憶タイマまたは入賞情報記憶タイマ)を1減算し、ステップS2010で入賞情報動作時間がセットされていれば入賞情報動作時間を1減算する(ステップS2012)。そして、演算結果(1減算した結果)をポインタの指す情報記憶タイマ(始動口情報記憶タイマまたは入賞情報記憶タイマ)にストアする(ステップS2013)。
CPU56は、演算結果と入賞情報オン時間(25)を比較し(ステップS2014)、演算結果が入賞情報オン時間よりも短い時間であるかどうかを判定する(ステップS2015)。なお、入賞情報オン時間(25)は、4msのタイマ割込みが25回実行される時間、すなわち、0.100秒(100ms)の時間となっている。
演算結果が入賞情報オン時間よりも短い時間でない場合、つまり、演算結果(始動口情報記憶タイマまたは入賞情報記憶タイマの残り時間)が入賞情報オン時間(100ms)よりも長い時間である場合は(ステップS2015のN)、CPU56は、情報バッファをロードし(ステップS2016)、ロードした情報バッファの値と情報出力バッファの値との論理和を求める(ステップS2017)。そして、CPU56は、ステップS2017の演算結果を情報バッファにストアする(ステップS2018)。
なお、ステップS2016〜S2018の処理が実行されることによって、情報出力処理のステップS1020で入賞タイマセット処理が実行される場合には、ステップS1018で始動口出力ビットがセットされた情報出力バッファの値との論理和が求められることによって、情報バッファの始動口出力ビット位置(図6に示す例では出力ポート1のビット1)がセットされることになる。そして、情報バッファの始動口出力ビット位置がセットされると、その後の情報出力処理のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、始動口信号が出力ポート1から出力されることになる。
また、ステップS2016〜S2018の処理が実行されることによって、情報出力処理のステップS1023で入賞タイマセット処理が実行される場合には、ステップS1011で入賞出力ビットがセットされた情報出力バッファの値との論理和が求められることによって、情報バッファの入賞出力ビット位置(図6に示す例では出力ポート1のビット6)がセットされることになる。そして、情報バッファの入賞出力ビット位置がセットされると、その後の情報出力処理のステップS1102で情報バッファを出力値にセットし、ステップS1103で出力値を出力ポート1に出力することによって、入賞信号が出力ポート1から出力されることになる。
情報出力処理のステップS1002〜S1020および図41に示す入賞タイマセット処理によって、第1始動入賞口13への入賞(第1始動口スイッチ13aのオン)、第2始動入賞口14への入賞(第2始動口スイッチ14aのオン)が発生すると、始動口信号が出力される。すなわち、始動口信号が100ms間オン状態となった後、100ms間オフ状態になる。この始動口信号がホールコンピュータに入力されることによって、第1始動入賞口13および第2始動入賞口14への入賞個数を認識させることができる。
始動口信号は、100ms間オン状態となった後、100ms間オフ状態になるので、短時間に連続して始動入賞が発生した場合であっても、100ms間のオフ状態の後に次の始動口信号が出力される。すなわち、始動口信号は少なくとも100msの間隔をあけて出力される。
このように、始動口信号は少なくとも100msの間隔をあけて出力されるので、ホールコンピュータは、始動入賞数の総数を確実に把握することができる。
また、情報出力処理のステップS1021〜S1023および図41に示す入賞タイマセット処理によって、いずれかの入賞口(第1始動入賞口13、第2始動入賞口14、大入賞口、普通入賞口29,30)への入賞が発生し、賞球予定数が10個累積するごとに、入賞信号が出力される。すなわち、入賞信号が100ms間オン状態となった後、100ms間オフ状態になる。この入賞信号がホールコンピュータに入力されることによって、賞球予定数を認識させることができる。
入賞信号は、100ms間オン状態となった後、100ms間オフ状態になるので、短時間に連続して始動入賞が発生した場合であっても、100ms間のオフ状態の後に次の入賞信号が出力される。すなわち、入賞信号は少なくとも100msの間隔をあけて出力される。
このように、入賞信号は少なくとも100msの間隔をあけて出力されるので、ホールコンピュータは、賞球予定数の総数を確実に把握することができる。
なお、この実施の形態では、入賞信号を外部出力する場合に、まずステップS2012の処理を実行して入賞情報記憶タイマの値を減算してから、ステップS2018,S1102,S1103を実行して入賞信号を外部出力する場合を示したが、入賞情報記憶タイマの減算処理と入賞信号の外部出力処理との処理順は、この実施の形態で示したものにかぎられない。例えば、まず、ステップS2018,S1102,S1103と同様の処理を実行して入賞信号の外部出力処理を実行してから、ステップS2012と同様の処理を行い入賞情報記憶タイマの値を減算するようにしてもよい。
次に、高確中信号の出力タイミングについて説明する。図42は、高確中信号の出力タイミングを示す説明図である。この実施の形態では、遊技機への電力供給開始時にホットスタート処理が実行されると(ステップS91参照)、高確中出力許可フラグがセットされたことにもとづいて(ステップS9103参照)、情報出力処理(ステップS31参照)でステップS1075〜S1103の処理が実行されて、図42に示すように、ターミナル基板160のコネクタCN9から、ホールコンピュータなどの外部装置に対して高確中信号の出力が開始される。
その後、遊技制御処理が実行可能となり、遊技者によって遊技が行われると、図42に示すように、第1始動入賞口13や第2始動入賞口14への始動入賞に応じて変動表示が実行される。この場合、変動表示が実行されても、その変動表示結果が「はずれ」であれば、高確中出力許可フラグが維持されていることにもとづいて、情報出力処理(ステップS31参照)でステップS1075〜S1103の処理によって、高確中信号の出力が継続される。
そして、変動表示の結果、最初の大当りが発生すると、その変動表示の終了時に高確中出力許可フラグがリセットされる(ステップS136参照)。以降、情報出力処理(ステップS31参照)のステップS1075でNと判定されることによりステップS1076,S1077の処理は実行されなくなり、図42に示すように、高確中信号の出力が停止される。
次に、セキュリティ信号の出力タイミングについて説明する。図43は、セキュリティ信号の出力タイミングを示す説明図である。この実施の形態では、遊技機への電力供給開始時に初期化処理が実行されると(ステップS10〜S14参照)、セキュリティ信号情報タイマに所定時間(本例では、30秒)がセットされたことにもとづいて(ステップS14a参照)、情報出力処理(ステップS31参照)でステップS1069〜S1074,S1102,S1103の処理が実行されて、図43(A)に示すように、ターミナル基板160のコネクタCN8から、ホールコンピュータなどの外部装置に対してセキュリティ信号が出力される。また、遊技機への電源供給が開始された後に、始動口スイッチ14aの検出数と入賞確認スイッチ14bの検出数との検出誤差が所定値(本例では、10)以上となったことにもとづいて、第2始動入賞口14への異常入賞が発生したと判定されたときにも(ステップS121〜S127参照)、セキュリティ信号情報タイマに所定時間(本例では、4分)がセットされたことにもとづいて(ステップS128参照)、情報出力処理(ステップS31参照)でステップS1069〜S1074,S1102,S1103の処理が実行されて、図43(A)に示すように、ターミナル基板160のコネクタCN8から、ホールコンピュータなどの外部装置に対してセキュリティ信号が出力される。このように、この実施の形態では、遊技機への電源供給開始時に初期化処理が実行されたときと、第2始動入賞口14への異常入賞を検出したときとで、ターミナル基板160の共通のコネクタCN8からセキュリティ信号が外部出力される。
また、この実施の形態では、セキュリティ信号の外部出力中である場合に、新たに第2始動入賞口14への異常入賞を検出した場合には、実質的にセキュリティ信号の出力期間が延長され、最後に第2始動入賞口14への異常入賞を検出した時点から所定時間(本例では、4分)が経過するまで、セキュリティ信号の出力が継続される。例えば、遊技機への電源供給開始時に初期化処理が実行されたことにもとづいてセキュリティ信号の出力を開始した場合には、図43(A)に示すように、原則として30秒を経過するまでセキュリティ信号の出力が継続される筈である。しかし、図43(B)に示すように、その30秒を経過する前であっても、第2始動口スイッチ14aの検出数と入賞確認スイッチ14bの検出数との検出誤差が所定値(本例では、10)以上となって第2始動入賞口14への異常入賞が発生したと判定される可能性がある。この場合、異常入賞の発生が検出されたことにもとづいてセキュリティ信号情報タイマに所定時間(本例では、4分)が上書きで書き込まれることになり(ステップS128参照)、情報出力処理(ステップS31参照)でステップS1069〜S1074,S1102,S1103の処理が実行されて、図43(B)に示すように、そのままセキュリティ信号の出力が継続される。ただし、セキュリティ信号情報タイマの値が4分に上書きされたのであるから、この場合、図43(B)に示すように、その始動入賞口14への異常入賞を検出した時点から4分が経過するまでセキュリティ信号の出力が継続されることになり、実質的にセキュリティ信号の出力が延長されることになる。
また、例えば、第2始動入賞口14への異常入賞を検出したことにもとづいてセキュリティ信号の出力を開始した場合には、図43(A)に示すように、原則として4分を経過するまでセキュリティ信号の出力が継続される筈である。しかし、図43(C)に示すように、その4分を経過する前であっても、第2始動口スイッチ14aの検出数と入賞確認スイッチ14bの検出数との検出誤差が所定値(本例では、10)以上となって、新たに第2始動入賞口14への異常入賞が発生したと判定される可能性がある。この場合、新たに異常入賞の発生が検出されたことにもとづいてセキュリティ信号情報タイマに所定時間(本例では、4分)が上書きで書き込まれることになり(ステップS128参照)、情報出力処理(ステップS31参照)でステップS1069〜S1074,S1102,S1103の処理が実行されて、図43(C)に示すように、そのままセキュリティ信号の出力が継続される。ただし、セキュリティ信号情報タイマの値が4分に上書きされたのであるから、この場合、図43(C)に示すように、その新たに第2始動入賞口14への異常入賞を検出した時点から4分が経過するまでセキュリティ信号の出力が継続されることになり、実質的にセキュリティ信号の出力が延長されることになる。
なお、既にセキュリティ信号の出力中であるときに第2始動入賞口14への異常入賞を検出した場合に、出力中のセキュリティ信号の出力を終了してから、改めて次のセキュリティ信号の出力を開始するように構成することも考えられるが、この実施の形態では、図43(B)および図43(C)に示すように、出力中のセキュリティ信号の出力時間をそのまま延長することによって、セキュリティ信号の出力処理にかかる処理負担を軽減するとともに、セキュリティ信号の出力処理用のプログラム容量を低減している。すなわち、出力中のセキュリティ信号の出力を終了してから、改めて次のセキュリティ信号の出力を開始するように構成する場合には、セキュリティ信号の出力を終了した後、次のセキュリティ信号の出力を開始するまでのインターバル時間を計測する処理などが必要となり、処理負担が増加するとともにプログラム容量も増加してしまう。これに対して、この実施の形態では、セキュリティ信号情報タイマの値をそのまま上書きするので、セキュリティ信号情報タイマの値をセットする処理のみを行えば(ステップS14a,S128参照)、セキュリティ信号の出力を行うことができ、処理負担の増加やプログラム容量の増加を防止することができる。
なお、この実施の形態では、遊技機への電力供給開始時に初期化処理が実行された場合には30秒間に亘ってセキュリティ信号を出力し、第2始動入賞口14への異常入賞を検出した場合には4分間に亘ってセキュリティ信号を出力する場合を示したが、セキュリティ信号の出力時間は、この実施の形態で示したものにかぎられない。すなわち、初期化処理が実行された場合であるか第2始動入賞口14への異常入賞を検出した場合であるかを認識可能に、初期化処理が実行された場合と第2始動入賞口14への異常入賞が検出された場合とで異なる出力時間に亘ってセキュリティ信号を出力するものであればよい。
なお、この実施の形態において、第2始動入賞口14への異常入賞を検出した場合のセキュリティ信号の出力期間を4分間としたのは、第2始動入賞口14への異常入賞の場合には、できるかぎり長い時間に亘ってセキュリティ信号を出力すべく、設定可能な略最大時間としたものである。すなわち、この実施の形態では、遊技制御用マイクロコンピュータ560は、セキュリティ信号情報タイマの値として2バイトの値を設定可能であるので、セキュリティ信号情報タイマには最大値として「FFFF(H)=65535」を設定可能である。そこで、この実施の形態では、セキュリティ信号情報タイマに、ほぼ最大値に近い「60000」をセットするようにし、タイマ割込の周期が4msであることから、4ms×60000=4分間に亘ってセキュリティ信号を出力するようにしたものである。
次に、払出制御手段(払出制御用マイクロコンピュータ370)の動作を説明する。図44は、払出制御手段における出力ポートの割り当ての例を示す説明図である。図44に示すように、出力ポート0からは、ステッピングモータによる払出モータ289に供給される各相の信号が出力される。また、出力ポート0からは、カードユニット50に対してPRDY信号やEXS信号が出力されるとともに、遊技機がエラー状態(本例では、球切れエラー状態または満タンエラー状態)であることを示す遊技機エラー状態信号や、賞球払出を検出したことを示す賞球信号1も出力される。また、出力ポート1からは、7セグメントLEDによるエラー表示LED374の各セグメント出力信号が出力される。また、出力ポート1からは、賞球払出を10球検出したことを示す賞球情報も出力される。
図45は、払出制御手段における入力ポートのビット割り当ての例を示す説明図である。図45に示すように、入力ポート0のビット0〜2には、それぞれ、カードユニット50からのVL信号、BRDY信号、およびBRQ信号が入力される。また、入力ポート0のビット4には、主基板31からの接続信号が入力される。また、入力ポート0のビット5〜7には、それぞれ、満タンスイッチ48の検出信号、球切れスイッチ187の検出信号、および払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット0,1には、それぞれ、エラー解除スイッチ375からの操作信号、および払出個数カウントスイッチ301の検出信号が入力される。
次に、払出制御手段の動作について説明する。図46は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用マイクロコンピュータ370の払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。
次いで、払出制御用CPU371は、内蔵デバイスレジスタの設定を行う(ステップS704)。ステップS704の内蔵デバイスレジスタの設定の処理では、払出制御用CPU371は、CTCの設定を行う。また、この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。そのため、払出制御用CPU371は、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定を行う。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば1ms毎に発生させたい場合は、初期値として1msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
また、ステップS704において、払出制御用CPU371は、シリアル通信回路380の割り込み要求に応じて実行する割込処理の優先順位を初期設定する。この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行う優先順位の初期設定処理(ステップS15b参照)と同様の処理に従って、割込処理の優先順位を初期設定する。
また、ステップS704において、払出制御用CPU371は、シリアル通信回路380の設定を行う。この場合、払出制御用CPU371は、受信回路のボーレートの設定、受信モード(8ビットまたは9ビットのデータフォーマットのいずれにするか)の設定、パリティ設定(パリティの有無や、偶数パリティまたは奇数パリティの設定)を行う。また、受信回路の各制御レジスタを初期化するとともに、各ステータスレジスタを初期化する。また、払出制御用CPU371は、送信回路のボーレートの設定、送信モード(8ビットまたは9ビットのデータフォーマットのいずれにするか)の設定、パリティ設定(パリティの有無や、偶数パリティまたは奇数パリティの設定)を行う。また、送信回路の各制御レジスタを初期化する。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
また、この実施の形態では、払出制御用マイクロコンピュータ370でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。
次いで、払出制御用CPU371は、RAMをアクセス可能状態に設定し(ステップS705)、RAMクリア処理を行う(ステップS706)。また、RAM領域のフラグやカウンタなどに初期値を設定する(ステップS707)。なお、ステップS707の処理には、未払出個数カウンタ初期値を未払出個数カウンタにセットする処理が含まれる。また、ステップS707の処理では、払出制御用CPU371は、払出個数異常エラーや満タンエラー、球切れエラーの検出状態を示すエラーフラグをクリアする処理も行う。なお、この実施の形態では、払出個数異常エラーと判定されてエラーフラグの払出個数異常エラー指定ビットがセットされた場合には、電源リセットがされるまで払出個数異常エラー指定ビットがクリアされず払出個数異常エラーから復旧しないのであるが、具体的には、電源投入時にステップS707の処理が実行されることによって、エラーフラグの払出個数異常エラー指定ビットがクリアされ、払出個数異常エラーから復旧する。
また、払出制御用CPU371は、シリアル通信回路380を初期設定するシリアル通信回路設定処理を実行する(ステップS708)。この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行うシリアル通信回路設定処理(ステップS15a参照)と同様の処理に従って、シリアル通信回路380に遊技制御用マイクロコンピュータ560とシリアル通信させるための設定を行う。また、前述したように、シリアル通信回路380の初期設定の一部は、ステップS704の内蔵デバイスレジスタの設定処理において実行される。なお、シリアル通信回路380の全ての設定処理をステップS708のシリアル通信回路設定処理で行うようにしてもよい。
そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS709)。その後、タイマ割込の発生を監視するループ処理に入る。
上記のように、この実施の形態では、払出制御用マイクロコンピュータ370の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用マイクロコンピュータ370の払出制御用CPU371は、タイマ割込処理を実行する。
図47は、払出制御手段が実行するタイマ割込処理の例を示すフローチャートである。タイマ割込処理にて、払出制御用マイクロコンピュータ370の払出制御用CPU371は、以下の処理を実行する。まず、払出制御用CPU371は、スイッチチェック処理を行う(ステップS751)。スイッチチェック処理では、払出制御用CPU371は、入力ポート1の入力にもとづいて、払出個数カウントスイッチ301およびエラー解除スイッチ375のオン/オフ状態を確認する処理を行う。次いで、払出制御用CPU371は、入力判定処理を行う(ステップS752)。入力判定処理は、入力ポート0のビット0〜7(図45参照)の状態を検出して検出結果をRAMの所定の1バイト(センサ入力状態フラグと呼ぶ。)に反映する処理である。なお、払出制御用CPU371は、入力ポート0のビット0〜7の状態にもとづいて制御を行う場合には、直接入力ポートの状態をチェックするのではなく、センサ入力状態フラグの状態をチェックする。
次いで、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS753)。次いで、払出制御用CPU371は、主基板31の遊技制御手段と通信を行う主制御通信処理を実行する(ステップS754)。
次いで、払出制御用CPU371は、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板31からの賞球個数コマンドが示す個数の賞球を払い出す制御を行う払出制御処理を実行する(ステップS755)。なお、この実施の形態では、大当り遊技状態となり、大当り遊技中の大入賞口への入賞にもとづく賞球払出を行う場合には、少なくとも、大当り遊技を終了してから所定時間(本例では、大当り遊技の最終ラウンドを終了してから30秒。エンディング演出を終了してからは20秒。)以内に賞球払出が完了するものとする。
次に、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS756)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
次いで、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。次いで、払出制御用CPU371は、カードユニット50のエラー制御を行うプリペイドカードユニットエラー制御処理を実行する(ステップS758)。次いで、払出制御用CPU371は、主基板31に対して賞球情報を出力したり、賞球信号1や遊技機エラー状態信号を外部出力するための情報出力処理を実行する(ステップS759)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行う表示制御処理を実行する(ステップS760)。
本実施の形態では、後述するエラー処理において各種エラー(例えば、払出個数異常エラーや、満タンエラー、球切れエラー、プリペイドカードユニット未接続エラー)が検出されると、検出されたエラーに対応するエラービットがセットされる。そして、ステップS760の表示制御処理において、エラービットがセットされていることにもとづいて、払出制御用CPU371は、エラー表示LED374に所定の表示を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ)が設けられているのであるが、払出制御用CPU371は、出力ポート0バッファおよび出力ポート1バッファの内容を出力ポートに出力する(ステップS761:出力処理)。出力ポート0バッファおよび出力ポート1バッファは、払出モータ制御処理(ステップS756)、プリペイドカード制御処理(ステップS753)、主制御通信処理(ステップS754)、情報出力処理(ステップS759)および表示制御処理(ステップS760)で更新される。
図48は、ステップS754の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用マイクロコンピュータ370(具体的には、払出制御用CPU371)は、主制御コマンド受信処理(ステップS740)を実行する。そして、払出制御用CPU371は、主制御通信制御コードの値に応じて、ステップS741〜S744のいずれかの処理を実行する。
図49は、主制御通信処理におけるステップS740の主制御コマンド受信処理を示すフローチャートである。払出制御用CPU371は、主制御コマンド受信処理において、まず、接続信号を入力しているか否かを確認する(ステップS74001)。接続信号を入力していなければ、払出制御用CPU101は、シリアル通信回路380の送信回路および受信回路の初期化を行う(ステップS74002)。このように、接続信号を受信できない場合にシリアル通信回路380の送信回路および受信回路を初期化することによって、主基板31との接続状態が異常な状態下であるにもかかわらずコマンドを送信データレジスタや受信データレジスタに格納してしまう事態を防止することができる。次いで、払出制御用CPU371は、主制御通信制御コードの値をロードし(ステップS74003)、主制御通信制御コードの値が主制御接続確認処理を示す値「0」となっているか否かを確認する(ステップS74004)。
この実施の形態では、主制御通信処理において、遊技機への電源供給が開始されてから遊技制御用マイクロコンピュータ560からの接続信号の入力が開始され、最初の接続確認コマンドの受信を確認できるまでステップS741の主制御接続確認処理が実行される。そして、接続確認コマンドの受信を確認できると、ステップS742以降の処理に移行し、各種払出制御コマンドの送受信の処理が実行される。また、以降、遊技制御用マイクロコンピュータ560との間の通信状態が正常に維持されていれば、ステップS742〜S744のいずれかの処理が実行され、ステップS741の主制御接続確認処理は原則として遊技機への電源投入時にのみ実行されることになる。ステップS74004において、主制御通信制御コードの値が主制御接続確認処理以外の値を示しているということは、ステップS742以降の処理に移行した後に、何らかの通信エラーが生じて接続信号を入力不能となった場合である。そのため、払出制御用CPU371は、ステップS74004で主制御通信制御コードの値が主制御接続確認処理以外の値を示している場合には、エラーフラグの主制御通信エラー指定ビット(遊技制御用マイクロコンピュータ560との間の通信状態に異常が生じたことを示すビット)をセットする(ステップS74005)。なお、エラーフラグは、各種賞球エラーがセットされるフラグであり、払出制御用マイクロコンピュータ370が備えるRAMに形成されている。そして、払出制御用CPU371は、主制御通信制御コードに主制御接続確認処理を示す値「0」をセットする(ステップS74006)。なお、ステップS74004で主制御通信制御コードの値が主制御接続確認処理を示す値「0」となっていれば、そのままステップS74006に移行する。
なお、ステップS741の主制御確認処理は、遊技機への電源投入時以降であっても例外的に実行される場合がある。具体的には、上記したように、ステップS74001で接続信号を入力していないと判定した後、ステップS74004で主制御接続確認処理の実行中でなければ、遊技機への電源投入後に接続信号が切断されてしまった可能性があると判断して主制御接続確認処理に戻り(ステップS74006参照)、再び遊技制御用マイクロコンピュータ560との接続状態を確認する(具体的には、接続確認コマンドを受信できることを確認。ステップS7412参照。)。また、後述する主制御通信通常処理において、接続OKコマンドを送信してから所定期間(本例では1050ms)を経過しても、遊技制御用マイクロコンピュータ560から接続確認コマンドも賞球個数コマンドも受信していない場合には、何らかの通信異常が生じたものとして主制御接続確認処理に戻り(ステップS74202,S74203参照)、再び遊技制御用マイクロコンピュータ560との接続状態を確認する(具体的には、接続確認コマンドを受信できることを確認。ステップS7412参照。)。
接続信号を入力していれば、払出制御用CPU371は、シリアル通信回路380のステータスレジスタに受信エラーフラグがセットされているか否かを確認する(ステップS74007)。例えば、払出制御用CPU371は、シリアル通信回路380のステータスレジスタにパリティエラーや、フレーイングエラー、ノイズエラー、オーバーランエラー、アイドルラインエラーを示すフラグがセットされていれば、シリアル通信回路380の受信エラー状態であると判定する。
受信エラーフラグがセットされていれば、払出制御用CPU371は、シリアル通信回路380の受信回路を初期化する(ステップS74008)。このように、受信エラー状態である場合にシリアル通信回路380の受信回路を初期化することによって、何らかの受信異常が生じているにもかかわらず受信コマンドを受信データレジスタに格納してしまう事態を防止することができる。そして、払出制御用CPU371は、エラーフラグの主制御通信エラー指定ビットをセットする(ステップS74009)。
受信エラーフラグもセットされていなければ、払出制御用CPU371は、受信バッファの内容をロードし(ステップS74010)、接続確認コマンドを受信しているか否かを確認する(ステップS74011)。具体的には、払出制御用CPU371は、ロードした受信バッファの内容が「A0(H)」であるか否か(図13参照)を確認する。接続確認コマンドを受信していれば、払出制御用CPU371は、ステップS74014に移行する。
接続確認コマンドを受信していなければ、払出制御用CPU371は、賞球個数コマンドを受信しているか否かを確認する。この実施の形態では、図13に示すように、接続個数コマンドの内容は、少なくとも「51(H)」以上、「60(H)」未満の値となる筈である。従って、払出制御用CPU371は、まず、ロードした受信バッファの内容が賞球個数コマンド最小値「51(H)」以上であるか否かを確認する(ステップS74012)。次いで、賞球個数コマンド最小判定値「51(H)」以上であれば、払出制御用CPU371は、ロードした受信バッファの内容が賞球個数コマンド最大判定値「60(H)」未満であるか否かを確認する(ステップS74013)。賞球個数コマンド最大判定値「60(H)」未満であれば、払出制御用CPU371は、賞球個数コマンドを受信していると判定し、ステップS74014に移行する。
そして、ステップS74014では、払出制御用CPU371は、受信バッファの内容(接続確認コマンド、賞球個数コマンド)を主制御通信受信バッファに格納する。なお、主制御通信受信バッファは、1バイトで構成され、1度に1つの受信コマンドのみを格納することができる。このように構成しても、この実施の形態では、払出制御用マイクロコンピュータ370におけるタイマ割込の周期(本例では1ms)は、遊技制御用マイクロコンピュータ560におけるタイマ割込の周期(本例では4ms)より短いので、1回のタイマ割込内で複数の払出制御コマンドが受信される事態が生じることはなく、不都合は生じない。また、万一、遊技機への電源投入後、誤処理などにより、最初の接続確認コマンドを受信する前に賞球個数コマンドを受信してしまった場合であっても、その後、接続確認コマンドを受信すれば主制御通信受信バッファに上書きで格納されるので、後述する主制御接続確認処理(ステップS741)で接続確認コマンドを全く確認できず主制御通信通常処理に移行できなくなる事態が生じることを防止することができる。
図50は、主制御通信制御コードの値が0の場合に実行される主制御接続確認処理(ステップS741)を示すフローチャートである。主制御接続確認処理において、払出制御用CPU371は、主制御通信受信バッファの内容をロードし(ステップS7411)、接続確認コマンドを受信しているか否かを確認する(ステップS7412)。接続確認コマンドを受信していれば、払出制御用CPU371は、接続OKコマンドをセットし(ステップS7413)、主制御送信コマンド変換処理を実行する(ステップS7414)。なお、ステップS7414の主制御送信コマンド変換処理では、接続OKコマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS7415)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに接続OKコマンドを出力する処理を行う。
なお、払出制御用CPU371は、ステップS7415で接続OKコマンドを送信すると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信通常処理を示す値「1」をセットする(ステップS7416)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1050ms)をセットする(ステップS7417)。
図51および図52は、主制御通信制御コードの値が1の場合に実行される主制御通信通常処理(ステップS742)を示すフローチャートである。主制御通信通常処理において、払出制御用CPU371は、主制御通信制御タイマの値を1減算し(ステップS74201)、主制御通信制御タイマがタイムアウトしたか否かを確認する(ステップS74202)。
この実施の形態では、前述したように、払出制御用マイクロコンピュータ370から接続OKコマンドを受信して1秒経過するごとに、遊技制御用マイクロコンピュータ560から次の接続確認コマンドが送信される。従って、ステップS74202において主制御通信制御タイマがタイムアウトしたということは、接続OKコマンドの送信後1秒を遙かに超えて1050ms(ステップS7417,S74209参照)を経過しても次の接続確認コマンドを受信できなかった場合である。そのため、払出制御用CPU371は、主制御通信制御コードに主制御接続確認処理を示す値「0」をセットして(ステップS74203)、主制御接続確認処理に戻り通信状態の回復を待つように制御する。
なお、払出制御用CPU371は、ステップS74202で主制御通信制御タイマがタイムアウトしていれば、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
主制御通信制御タイマがタイムアウトしていなければ、払出制御用CPU371は、主制御通信受信バッファに受信コマンドが格納されているか否かを確認する(ステップS74204)。主制御通信受信バッファに受信コマンドが格納されていれば、払出制御用CPU371は、受信したコマンドが接続確認コマンドであるか否かを確認する(ステップS74205)。接続確認コマンドを受信していれば、払出制御用CPU371は、接続OKコマンドをセットし(ステップS74206)、主制御送信コマンド変換処理を実行する(ステップS74207)。なお、ステップS74207の主制御送信コマンド変換処理では、接続OKコマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74208)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに接続OKコマンドを出力する処理を行う。
なお、払出制御用CPU371は、ステップS74208で接続OKコマンドを送信すると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1050ms)をセットする(ステップS74209)。
ステップS74205で受信したコマンドが接続確認コマンドでなければ、賞球個数コマンドを受信していることになる。この場合、払出制御用CPU371は、エラーフラグの値が0であるか否かを確認する(ステップS74210)。エラーフラグの値が0でなければ(すなわち、エラー状態であり、いずれかのエラービットがセットされていれば)、ステップS74219に移行する。エラーフラグの値が0であれば(すなわち、エラー状態となっておらず、いずれのエラービットもセットされていなければ)、払出制御用CPU371は、BRDY信号を入力しているか否かを確認する(ステップS74211)。BRDY信号を入力していれば、ステップS74219に移行する。
BRDY信号も入力していなければ、払出制御用CPU371は、払出制御状態を示す払出制御状態フラグをロードし(ステップS74212)、賞球払出動作中または球貸し払出動作中であるか否かを確認する(ステップS74213)。具体的には、払出制御用CPU371は、払出制御状態フラグに賞球払出動作中指定ビット(賞球払出動作中であることを示すビット)または球貸し払出動作中指定ビット(球貸し払出動作中であることを示すビット)がセットされているか否かを確認する。賞球払出動作中または球貸し払出動作中であれば、ステップS74219に移行する。なお、この実施の形態では、賞球払出動作を終了して賞球終了コマンドを受信してから次の賞球個数コマンドが送信されるので、通信エラーなどの異常が発生していないかぎり、ステップS74213において賞球払出動作中であると判定されることはない。
賞球払出動作中でも球貸し払出動作中でもなければ、受信した賞球個数コマンドにもとづく賞球払出動作を直ちに開始できる場合である。この場合、払出制御用CPU371は、主制御通信受信バッファの下位4ビット(すなわち、賞球個数コマンドにセットされた賞球個数)を未払出個数カウンタにセットする(ステップS74214)。なお、未払出個数カウンタは、賞球や貸し球の未払出数をカウントするためのカウンタである。
次いで、払出制御用CPU371は、賞球個数受付コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74215)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球個数受付コマンドを出力する処理を行う。
なお、払出制御用CPU371は、ステップS74215で賞球個数受付コマンドを送信すると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信終了処理を示す値「3」をセットする(ステップS74216)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1秒)をセットする(ステップS74218)。なお、ステップS74218でセットされた値にもとづいて、賞球個数受付コマンドを送信した後、1秒経過後に賞球払出動作を完了していなければ賞球準備中コマンドが送信されることになる。
ステップS74219では、払出制御用CPU371は、主制御通信受信バッファの下位4ビット(すなわち、賞球個数コマンドのセットされた賞球個数)を主制御通信賞球個数バッファに格納する。すなわち、この場合、何らかのエラー状態が発生していたり、賞球払出動作中や球貸し払出動作中、球貸し準備中の場合であるので、受信した賞球個数コマンドにもとづく賞球払出動作を直ちに開始することはできない。そのため、払出制御用CPU371は、賞球個数受付コマンドの返信を保留するとともに、賞球個数コマンドにセットされた賞球個数を主制御通信賞球個数バッファに一旦退避する。
次いで、払出制御用CPU371は、賞球準備中コマンドをセットし(ステップS74220)、主制御送信コマンド変換処理を実行する(ステップS74221)。なお、ステップS74221の主制御送信コマンド変換処理では、賞球準備中コマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74222)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球準備中コマンドを出力する処理を行う。
なお、払出制御用CPU371は、ステップS74222で賞球準備中コマンドを送信すると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信中処理を示す値「2」をセットする(ステップS74223)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1秒)をセットする(ステップS74224)。なお、ステップS74224でセットされた値にもとづいて、賞球準備中コマンドを送信した後、1秒経過後にまだ賞球払出動作を開始できる状態になっていなければ次の賞球準備中コマンドが送信されることになる。
図53および図54は、主制御通信制御コードの値が2の場合に実行される主制御通信中処理(ステップS743)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、まず、主制御通信受信バッファに受信コマンドが格納されているか否かを確認する(ステップS74301)。主制御通信受信バッファに受信コマンドが格納されていれば、払出制御用CPU371は、受信したコマンドが接続確認コマンドであるか否かを確認する(ステップS74302)。接続確認コマンドでなければ、ステップS74306に移行する。接続確認コマンドを受信していれば、払出制御用CPU371は、接続OKコマンドをセットし(ステップS74303)、主制御送信コマンド変換処理を実行する(ステップS74304)。なお、ステップS74304の主制御送信コマンド変換処理では、接続OKコマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74305)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに接続OKコマンドを出力する処理を行う。そして、ステップS74306に移行する。
ステップS74306では、払出制御用CPU371は、エラーフラグに主制御通信エラー指定ビットをセットする。すなわち、主制御通信中処理は、賞球個数コマンドを受信した後、受信した賞球個数コマンドにもとづく賞球払出動作を開始可能な状態となるまでに実行される処理であり、賞球個数受付コマンドの返信が保留されて、遊技制御用マイクロコンピュータ560は賞球個数受付コマンドの受信待ち状態となっているのであるから、この間に遊技制御用マイクロコンピュータ560から新たに払出制御コマンドを受信することはない筈である。それにもかかわらず、新たなコマンドを受信したということは通信状態に何らかの異常が生じたと判断することができるのであるから、払出制御用CPU371は、主制御通信エラー指定ビットをセットする処理を行う。
なお、払出制御用CPU371は、ステップS74306で主制御通信エラー指定ビットをセットすると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信通常処理を示す値「1」をセットする(ステップS74307)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1050ms)をセットする(ステップS74308)。
主制御通信受信バッファに受信コマンドがなければ、払出制御用CPU371は、主制御通信制御タイマの値を1減算し(ステップS74309)、主制御通信制御タイマがタイムアウトしたか否かを確認する(ステップS74310)。
主制御通信制御タイマがタイムアウトしていれば(ステップS74310のY)、賞球準備中コマンドを前回送信してから1秒以上経過したことを意味する。この場合、払出制御用CPU371は、次の賞球準備中コマンドを送信するために、賞球準備中コマンドをセットし(ステップS74311)、主制御送信コマンド変換処理を実行する(ステップS74312)。なお、ステップS74312の主制御送信コマンド変換処理では、賞球準備中コマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74313)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球準備中コマンドを出力する処理を行う。
そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1秒)をセットする(ステップS74314)。なお、ステップS74314でセットされた値にもとづいて、賞球準備中コマンドを送信した後、さらに1秒経過後にまだ賞球払出動作を開始できる状態になっていなければ次の賞球準備中コマンドが送信されることになる。
主制御通信制御タイマがタイムアウトしていなければ、払出制御用CPU371は、エラーフラグの値が0であるか否かを確認する(ステップS74315)。エラーフラグの値が0でなければ(すなわち、エラー状態であり、いずれかのエラービットがセットされていれば)、まだ賞球払出動作を開始できないので、そのまま処理を終了する。エラーフラグの値が0であれば(すなわち、エラー状態となっておらず、いずれのエラービットもセットされていなければ)、払出制御用CPU371は、BRDY信号を入力しているか否かを確認する(ステップS74316)。BRDY信号を入力していれば、まだ賞球払出動作を開始できないので、そのまま処理を終了する。
BRDY信号も入力していなければ、払出制御用CPU371は、払出制御状態を示す払出制御状態フラグをロードし(ステップS74317)、賞球払出動作中または球貸し払出動作中であるか否かを確認する(ステップS74318)。具体的には、払出制御用CPU371は、払出制御状態フラグに賞球払出動作中指定ビット(賞球払出動作中であることを示すビット)または球貸し払出動作中指定ビット(球貸し払出動作中であることを示すビット)がセットされているか否かを確認する。賞球払出動作中または球貸し払出動作中であれば、まだ賞球払出動作を開始できないので、そのまま処理を終了する。なお、この実施の形態では、賞球払出動作を終了して賞球終了コマンドを受信してから次の賞球個数コマンドが送信されるので、通信エラーなどの異常が発生していないかぎり、ステップS74318において賞球払出動作中であると判定されることはない。
賞球払出動作中でも球貸し払出動作中でもなければ、受信した賞球個数コマンドにもとづく賞球払出動作を開始可能な状態となったことを意味する。この場合、払出制御用CPU371は、主制御通信賞球個数バッファの下位4ビット(すなわち、一時退避した賞球個数)を未払出個数カウンタにセットする(ステップS74319)。
なお、この実施の形態では、既に述べたように、賞球個数コマンドを受信したときに直ちに賞球払出動作を開始できない場合に、賞球個数コマンドで特定される賞球個数を直ちに未払出個数カウンタにセットするのではなく、主制御通信賞球個数バッファに一旦退避するのであるが、このように制御するのは、例えば、貸し球払出動作中に未払出個数カウンタに賞球個数が上乗せされて賞球個数を正確に管理できなくなる事態を防止するなど、払出制御に関する処理に不都合が生じないようにするためである。
次いで、払出制御用CPU371は、賞球個数受付コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74320)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球個数受付コマンドを出力する処理を行う。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信終了処理を示す値「3」をセットする(ステップS74321)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1秒)をセットする(ステップS74322)。なお、ステップS74322でセットされた値にもとづいて、賞球個数受付コマンドを送信した後、1秒経過後に賞球払出動作を完了していなければ賞球準備中コマンドが送信されることになる。
図55は、主制御通信制御コードの値が3の場合に実行される主制御通信終了処理(ステップS744)を示すフローチャートである。主制御通信終了処理において、払出制御用CPU371は、まず、主制御通信受信バッファに受信コマンドが格納されているか否かを確認する(ステップS74401)。主制御通信受信バッファに受信コマンドが格納されていれば、払出制御用CPU371は、受信したコマンドが接続確認コマンドであるか否かを確認する(ステップS74402)。接続確認コマンドでなければ、ステップS74406に移行する。接続確認コマンドを受信していれば、払出制御用CPU371は、接続OKコマンドをセットし(ステップS74403)、主制御送信コマンド変換処理を実行する(ステップS74404)。なお、ステップS74404の主制御送信コマンド変換処理では、接続OKコマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74405)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに接続OKコマンドを出力する処理を行う。そして、ステップS74406に移行する。
ステップS74406では、払出制御用CPU371は、エラーフラグに主制御通信エラー指定ビットをセットする。すなわち、主制御通信終了処理は、賞球個数コマンドを受信して賞球払出動作を開始した後、受信した賞球個数コマンドにもとづく賞球払出動作を終了するまで実行する処理であり、技制御用マイクロコンピュータ560は賞球終了コマンドの受信待ち状態となっているのであるから、この間に遊技制御用マイクロコンピュータ560から新たに払出制御コマンドを受信することはない筈である。それにもかかわらず、新たなコマンドを受信したということは通信状態に何らかの異常が生じたと判断することができるのであるから、払出制御用CPU371は、主制御通信エラー指定ビットをセットする処理を行う。
なお、払出制御用CPU371は、ステップS74406で主制御通信エラー指定ビットをセットすると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信通常処理を示す値「1」をセットする(ステップS74407)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1050ms)をセットする(ステップS74408)。
主制御通信受信バッファに受信コマンドがなければ、払出制御用CPU371は、主制御通信制御タイマの値を1減算し(ステップS74409)、主制御通信制御タイマがタイムアウトしたか否かを確認する(ステップS74410)。
主制御通信制御タイマがタイムアウトしていれば(ステップS74410のY)、賞球個数受付コマンドや賞球準備中コマンドを前回送信してから1秒以上経過したことを意味する。この場合、払出制御用CPU371は、次の賞球準備中コマンドを送信するために、賞球準備中コマンドをセットし(ステップS74411)、主制御送信コマンド変換処理を実行する(ステップS74412)。なお、ステップS74412の主制御送信コマンド変換処理では、賞球準備中コマンドの下位4ビットに制御状態(払出個数異常エラーや、球切れエラー、満タンエラー、賞球エラーなどのエラー状態)をセットする処理が行われる。そして、払出制御用CPU371は、変換後の賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74413)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球準備中コマンドを出力する処理を行う。
そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1秒)をセットする(ステップS74414)。なお、ステップS74414でセットされた値にもとづいて、賞球準備中コマンドを送信した後、さらに1秒経過後にまだ賞球払出動作が終了していなければ次の賞球準備中コマンドが送信されることになる。
主制御通信制御タイマがタイムアウトしていなければ、払出制御用CPU371は、払出制御状態フラグをロードし(ステップS74415)、賞球払出動作中であるか否かを確認する(ステップS74416)。具体的には、払出制御用CPU371は、払出制御状態フラグに賞球払出動作中指定ビットがセットされているか否かを確認する。賞球払出動作中であれば、受信した賞球個数コマンドにもとづく賞球払出動作をまだ終了していないことを意味するので、払出制御用CPU371は、そのまま処理を終了する。賞球払出動作中でなければ、受信した賞球個数コマンドにもとづく賞球払出動作を終了したことを意味する。そのため、払出制御用CPU371は、賞球終了コマンドを遊技制御用マイクロコンピュータ560に送信する制御を行う(ステップS74417)。具体的には、払出制御用CPU371は、シリアル通信回路380の送信レジスタに賞球終了コマンドを出力する処理を行う。
なお、払出制御用CPU371は、ステップS74417で賞球終了コマンドを送信すると、主制御通信受信バッファをクリアする。そのようにすることによって、その後の処理で受信コマンドを誤って認識して誤った処理を実行してしまう事態を防止することができる。
次いで、払出制御用CPU371は、主制御通信制御コードに主制御通信通常処理を示す値「1」をセットする(ステップS74418)。そして、払出制御用CPU371は、主制御通信制御タイマに所定値(本例では1050ms)をセットする(ステップS74419)。
図56は、ステップS7414,S74207,S74221,S74304,S74312,S74404,S74412で実行される主制御送信コマンド変換処理を示すフローチャートである。主制御送信コマンド変換処理において、払出制御用CPU371は、まず、エラーフラグをロードし、払出個数異常エラー指定ビットがセットされているか否かを確認する(ステップS731)。払出個数異常エラー指定ビットがセットされていれば、払出制御用CPU371は、変換バッファの主制御通信用払出個数異常エラー出力ビット(具体的にはビット3)をセットする(ステップS732)。
次いで、払出制御用CPU371は、球切れエラー指定ビットがセットされているか否かを確認する(ステップS733)。球切れエラー指定ビットがセットされていれば、払出制御用CPU371は、変換バッファの主制御通信用球切れ出力ビット(具体的にはビット2)をセットする(ステップS734)。
次いで、払出制御用CPU371は、満タンエラー指定ビットがセットされているか否かを確認する(ステップS735)。満タンエラー指定ビットがセットされていれば、払出制御用CPU371は、変換バッファの主制御通信用満タン出力ビット(具体的にはビット1)をセットする(ステップS736)。
次いで、払出制御用CPU371は、その他の賞球エラー指定ビットがセットされているか否かを確認する(ステップS737)。具体的には、払出制御用CPU371は、エラーフラグに、主制御通信エラー指定ビットや、主制御未接続エラー指定ビット、払出スイッチ異常検知エラー1指定ビット、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビットがセットされているか否かを確認する。その他の賞球エラー指定ビットがセットされていれば、払出制御用CPU371は、変換バッファの主制御通信用球切れ出力ビット(具体的にはビット0)をセットする(ステップS738)。
そして、払出制御用CPU371は、送信するためにセットされている払出制御コマンド(接続OKコマンドまたは賞球準備中コマンド)に変換バッファの内容をセットする(ステップS739)。
図57は、ステップS755の払出制御処理を示すフローチャートである。払出制御処理において、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態となったことを確認したら(ステップS7501)、未払出個数カウンタの値が0となっているか否かを確認する(ステップS7502)。未払出個数カウンタの値が0となっていた場合には、払出制御用CPU371は、異常な払出の累積数をカウントするための払出個数異常カウンタの値を1加算する(ステップS7503)。すなわち、ステップS7502でYであるということは、未払出個数カウンタに払い出すべき未払い出し数がセットされていないのであるから、遊技球の払い出しが行われない筈であるにもかかわらず、払出動作が行われ払出個数カウントスイッチ301で遊技球の払い出しが検出された場合である。そのため、何らかの不正行為により払出動作が行われた可能性があるので、払出制御用CPU101は、払出個数異常カウンタの値を累積的に1加算する。
なお、払出個数異常カウンタは、賞球や貸し球の払い出すべき数の未払出の遊技球を超えた払出過多数と払い出すべき数の未払出の遊技球に満たなかった払出不足数とを累積的にカウントするためのカウンタである。後述するように、この実施の形態では、払出個数異常カウンタの値が所定の払出個数異常エラー判定値(本例では2000)以上となると、払出個数異常エラーが発生したと判定して、払出停止状態に制御する処理が行われる。なお、ステップS7503の処理は、払出個数異常カウンタに払出過多数を累積的にカウントする処理に相当する。
なお、この実施の形態では、賞球であるか貸し球であるかを区別することなく、払出過多数と払出不足数とを払出個数異常カウンタに累積的にカウントするのであるが、賞球と貸し球のうちのいずれか一方のみを対象として、払出過多数と払出不足数とを払出個数異常カウンタに累積的にカウントするようにしてもよい。また、例えば、賞球と貸し球について、それぞれ別々のカウンタを用いて払出過多数と払出不足数とを累積的にカウントするようにしてもよい。この場合、いずれか一方のカウンタの値が所定の閾値に達したときに払出個数異常エラーと判定するようにしてもよく、両カウンタの合計値が所定の閾値に達したときに払出個数異常エラーと判定するようにしてもよい。
また、この実施の形態では、ステップS7503において払出過多を検出したときに払出個数異常カウンタの値を1加算する場合を示したが、払出個数異常カウンタの値のカウントアップの仕方は、この実施の形態で示したものにかぎられない。例えば、逆に、払出個数異常カウンタの値から払出過多数を減算するとともに、払出不足数を払出個数異常カウンタの値に加算するようにしてもよい。この場合、払出制御用CPU371は、例えば、電源投入時の初期設定処理において払出個数異常カウンタに初期値として「2000」をセットするとともに、ステップS7503において、払出個数異常カウンタの値を1減算するようにし、後述するステップS75320,S75325,S75335において払出個数異常カウンタの値に払出不足数に相当する値を加算するようにすればよい。そして、例えば、後述するステップS7504,S75321,S7725の処理では、払出個数異常カウンタの値が2000以下となっていることにおとづいて、払出個数異常エラーが発生したと判定するようにしてもよい。
次いで、払出制御用CPU371は、加算後の払出個数異常カウンタの値が所定の払出個数異常エラー判定値(例えば2000)以上となったか否かを確認する(ステップS7504)。所定の払出個数異常エラー判定値(例えば2000)以上となっていれば、払出制御用CPU371は、払出個数異常エラーが発生したと判断し、払出個数異常エラーが発生したことを示す払出個数異常エラーフラグをセットする(ステップS7505)。すなわち、この実施の形態では、払出制御用マイクロコンピュータ370側で異常な払出の検出数を累積的に管理し、その累積値が所定の払出個数異常エラー判定値(例えば2000)以上となれば、何らかの不正行為により払出動作が行われている可能性が極めて高いと判断して、払出個数異常エラー(払い出された遊技球数が異常である旨のエラー)が発生したと判定される。なお、誤動作などにより遊技球が過剰に払い出されたり払出不足が生じたりすることも少なからずあるので、払出数の異常を検出したときに直ちに払出個数異常エラーと判定してしまったのでは、払出個数異常エラーと判定される頻度が必要以上に高くなり却って遊技に支障を生じてしまう。そこで、この実施の形態では、異常な払出の検出数を累積的に管理し、その累積値が所定の払出個数異常エラー判定値(例えば2000)以上となったことを条件として払出個数異常エラーと判定するようにすることによって、必要以上に払出個数異常エラーと判定されることを防止している。
なお、この実施の形態では、払出個数異常エラーと判定されて払出個数異常エラーフラグが一度セットされると、電源リセットされるまで払出個数異常エラーフラグはクリアされず払出個数異常エラーから復旧しないので、払出個数異常エラーフラグがセットされると、以降、ステップS7504,S7505の処理や後述するS75321,S75322、S7725,S7726の処理は実行しないようにしてもよい。そのようにすれば、払出個数異常エラーと一度判定してしまった後の無駄な処理を防止し処理負担を軽減することができる。
また、この実施の形態では、所定の払出個数異常エラー判定値として、一般に、遊技店で用いられる遊技球の収納箱(いわゆるドル箱)に収納可能な遊技球の数に相当する「2000」を用いる場合を示しているが、所定の払出個数異常エラー判定値として他の値(例えば、1000や3000)を用いてもよい。
なお、この実施の形態では、図57に示す払出制御処理は、賞球払出動作を実行するときと貸し球払出動作を実行するときとで共通に実行される処理であり、未払出個数カウンタは、賞球による未払出の遊技球数をカウントするときと貸し球による未払出の遊技球数をカウントするときとで共通に用いられるカウンタである。そして、払出個数の異常を検出した場合には、賞球による払出と貸し球による払出とを区別することなく払出個数異常カウンタの値がカウントアップされ、払出個数異常エラーが発生したか否かの判定が行われる。
未払出個数カウンタの値が0でなければ、払出制御用CPU371は、未払出個数カウンタの値を1減算し(ステップS7506)、払出制御状態のフラグに払出球検知指定ビット(遊技球の払い出しを検出したことを示すビット)をセットする(ステップS7507)。なお、払出球検知指定ビットは、払出個数カウントスイッチ301がオンしたときにセットされるビットであり、払出動作中に払出個数カウントスイッチ301が少なくとも1個の遊技球を検出したことを示すビットである。
その後、払出制御用CPU371は、払出制御コードの値に応じてステップS7511〜S7513のいずれかの処理を実行する。
図58は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS7511)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、まず、エラーフラグの値が0であるか否かを確認する(ステップS75101)。そして、エラービット(エラーフラグにおける全てのエラービットのうちの1つ以上)がセットされていたら、払出制御用CPU371は、以降の処理を実行しないように制御する。なお、この実施の形態では、ステップS75101の処理が実行されることによって、払出個数異常エラーと判定されてエラービットの払出個数異常エラー指定ビットがセットされていることにもとづいて、ステップS75102以降の処理に移行しないように制御され、払出停止状態に制御される。
エラーフラグの値が0であれば、払出制御用CPU371は、BRDY信号を入力しているか否かを確認する(ステップS75102)。BRDY信号を入力していれば、払出制御用CPU371は、払出制御状態フラグをロードし(ステップS75103)、球貸し要求中であるか否かを確認する(ステップS75104)。具体的には、払出制御用CPU371は、払出制御状態フラグに球貸し要求中指定ビット(球貸し要求中であることを示すビット)がセットされているか否かを確認する。なお、払出制御用CPU371は、BRQ信号を入力しているか否かを確認することによって、球貸し要求中であるか否かを判定するようにしてもよい。球貸し要求中であれば(すなわち、球貸し払出動作を開始する場合)、払出制御用CPU371は、払出制御状態フラグの球貸し要求中指定ビットをリセットする(ステップS75105)とともに、払出制御状態フラグの球貸し払出動作中指定ビットをセットする(ステップS75016)。次いで、払出制御用CPU371は、未払出個数カウンタに所定の球貸し個数(本例では25)をセットする(ステップS75107)とともに、払出モータ回転回数バッファに所定の球貸し個数(本例では25)をセットする(ステップS75108)。そして、ステップS75113に移行する。
なお、払出モータ回転回数バッファは、払出モータ制御処理(ステップS756)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
BRDY信号を入力していなければ、払出制御用CPU371は、未払出個数カウンタの値が0であるか否かを確認する(ステップS75109)。未払出個数カウンタの値が0でなければ(すなわち、賞球払出動作を開始する場合)、払出制御用CPU371は、払出モータ回転回数バッファに未払出個数カウンタの値をセットする(ステップS75110)。すなわち、この場合、未払出個数カウンタには、受信した賞球個数コマンドで指定された賞球個数がセットされている筈であるから(ステップS74214,S74319参照)、賞球払出動作を開始するために、賞球個数を払出モータ回転回数バッファにセットする処理を行う。次いで、払出制御用CPU371は、払出制御状態フラグをロードし(ステップS75111)、払出制御状態フラグに賞球払出動作中指定ビットをセットする(ステップS75112)。そして、ステップS75113に移行する。
ステップS75113では、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動処理に応じて値をセットする。これにより、ステップS756の払出モータ制御処理において、払出モータ289を起動する払出モータ起動処理が実行され、貸し球払出動作または賞球払出動作が開始される。そして、払出制御用CPU371は、払出制御コードに払出モータ停止待ち処理を示す値「1」をセットし(ステップS75114)、処理を終了する。
図59は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS7512)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、まず、払出制御状態フラグをロードし(ステップS7521)、払出動作が終了したか否かを確認する(ステップS7522)。具体的には、払出制御用CPU371は、払出制御状態フラグに払出動作終了指定ビット(払出動作を終了したことを示すビット)がセットされているか否かを確認する。なお、払出動作終了指定ビットは、図47に示すステップS756の払出モータ制御処理における払出モータブレーキ処理や払出モータ球噛み解除処理においてセットされる。
なお、払出モータ制御処理では、払出制御用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は、払出制御状態フラグの払出動作終了指定ビットをリセットする(ステップS7523)とともに、後述する払出通過監視時間などをセットするために用いる払出モータ停止待ち処理設定テーブル2をセットする(ステップS7524)。
次いで、払出制御用CPU371は、払出制御状態フラグに払出球数検査済み指定ビットがセットされているか否かを確認する(ステップS7525)。払出球数検査済み指定ビットは、払出モータ289による払出動作終了時(正常動作の終了時)に払出個数カウントスイッチ301による検出の判定を行ったことを示すビットである。払出球数検査済み指定ビットがセットされていれば、ステップS7527に移行する。払出球数検査済み指定ビットがセットされていなければ、払出制御用CPU371は、払出モータ停止待ち処理設定テーブルをセットする(ステップS7526)。すなわち、払出制御用CPU371は、ステップS7524でセットしたテーブルを払出モータ停止待ち処理設定テーブルに差し替える。そして、ステップS7527に移行する。
ステップS7527では、払出制御用CPU371は、払出制御コードに払出通過待ち処理を示す値「2」をセットする。そして、払出制御用CPU371は、ステップS7524,S7526でセットしたテーブルにもとづいて、払出制御タイマに払出通過監視時間をセットする(ステップS7527)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。この実施の形態では、ステップS7525で払出球数検査済みビットがセットされていた場合には、ステップS7524でセットした払出モータ停止待ち処理設定テーブル2にもとづいて、払出通過監視時間として1秒をセットする。また、ステップS7525で払出球数検査済みビットがセットされていなかった場合には、ステップS7526で差し替えた払出モータ停止待ち処理設定テーブルにもとづいて、払出通過監視時間として0.6秒をセットする。
図60〜図62は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS7513)を示すフローチャートである。払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を確認し(ステップS75301)、その値が0になっていれば、ステップS75304に移行する。払出制御タイマの値が0でなければ、払出制御タイマの値を−1する(ステップS75302)。そして、払出制御タイマの値が0になっていなければ(ステップS75303)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。
払出制御タイマがタイムアウトしていれば、払出制御用CPU371は、エラーフラグをロードし、払出個数異常エラー指定ビット、払出スイッチ異常検知エラー1指定ビット、または払出スイッチ異常検知エラー2指定ビットがセットされているか否かを確認する(ステップS75304)。払出個数異常エラー指定ビット、払出スイッチ異常検知エラー1指定ビット、または払出スイッチ異常検知エラー2指定ビットのいずれかがセットされていれば、払出動作をこれ以上継続できないと判断して、ステップS75306に移行する。払出個数異常エラー指定ビット、払出スイッチ異常検知エラー1指定ビット、および払出スイッチ異常検知エラー2指定ビットのいずれもセットされていなければ、払出制御用CPU371は、未払出個数カウンタの値が0となっているか否かを確認する(ステップS75305)。未払出個数カウンタの値が0となっていれば、払出制御用CPU371は、正常に払出動作が終了したとして、払出制御状態フラグをロードし(ステップS75306)、払出制御状態フラグの球貸し要求中指定ビットおよび払出動作終了指定ビット以外のビットをリセットする(ステップS75307)。そして、払出制御用CPU371は、払出制御コードに払出開始待ち処理を示す値「0」をセットし(ステップS75308)、処理を終了する。
未払出個数カウンタの値が0となっていなければ、払出制御用CPU371は、エラーフラグをロードし、球切れエラー指定ビットまたは満タンエラー指定ビットがセットされているか否かを確認する(ステップS75309)。球切れエラー指定ビットまたは満タンエラー指定ビットがセットされていれば、そのまま処理を終了する。球切れエラー指定ビットおよび満タンエラー指定ビットのいずれもセットされていなければ、払出制御用CPU371は、エラーフラグに払出ケースエラー指定ビットがセットされているか否かを確認する(ステップS75310)。払出ケースエラー指定ビットがセットされていれば、払出制御用CPU371は、払出制御状態フラグをロードして(ステップS75311)、払出制御状態フラグに払出球数検査済み指定ビットをセットする(ステップS75312)。また、払出制御用CPU371は、払出制御状態フラグの再払出動作中1指定ビット(1回目の再払出動作の実行を示すビット)と再払出動作中2指定ビット(2回目の再払出動作の実行を示すビット)をリセットし(ステップS75313)、処理を終了する。
なお、払出球数検査済み指定ビットは、払出モータ289による払出動作終了時(正常動作の終了時)に払出個数カウントスイッチ301による検出の判定を行ったことを示すビットである。なお、払出動作を終了したにもかかわらず、未払出個数カウンタの値が2以上残っている場合には、払出個数異常カウンタにその残数が加算される。また、払出動作終了時の払出個数カウントスイッチ301による検出の判定は、払出動作を1回実行するごとに1回のみ実行され、払出モータ球噛み処理や払出モータ球噛み解除処理を実行して球噛み動作を終了するときには実行しない(具体的には、球噛み状態では払出ケースエラー指定ビットがセットされるので、ステップS75312であらかじめ払出球数検査済み指定ビットがセットされることによって、球噛み動作を終了しても払出個数カウントスイッチ301による検出の判定を行わない)ように制御される。なお、払出球数検査済み指定ビットは、払出モータ制御処理内における払出モータ定速処理で満タン状態となったときにもセットされる。
ステップS75310で払出ケースエラー指定ビットもセットされていなければ、払出制御用CPU371は、払出制御状態フラグをロードし(ステップS75314)、ステップS75315以降の再払出処理を実行するための処理を行う。
再払出処理を実行するために、払出制御用CPU371は、まず、払出制御状態フラグの再払出動作中2指定ビットがセットされているか否かを確認する(ステップS75315)。セットされていなければ、払出制御用CPU371は、払出制御状態フラグの再払出動作中1指定ビットがセットされているか否かを確認する(ステップS75316)。再払出動作中1指定ビットもセットされていなければ、払出制御用CPU371は、初回の再払出動作を実行するために、払出制御状態フラグに再払出動作中1指定ビットをセットする(ステップS75317)。
次いで、払出制御用CPU371は、払出制御状態フラグに払出球数検査済み指定ビットがセットされているか否かを確認する(ステップS75318)。払出球数検査済み指定ビットがセットされていれば、ステップS75326に移行する。払出球数検査済み指定ビットがセットされていなければ、払出制御用CPU371は、未払出個数カウンタの値が2以上であるか否かを確認する(ステップS75319)。未払出個数カウンタの値が2以上でなければ、ステップS75326に移行する。未払出個数カウンタの値が2以上であれば、払出制御用CPU371は、払出個数異常カウンタに未払個数カウンタの値を加算する(ステップS75320)。なお、ステップS75320の処理は、払出個数異常カウンタに払出不足数を累積的にカウントする処理に相当する。次いで、払出制御用CPU371は、加算後の払出個数異常カウンタの値が所定の払出個数異常エラー判定値(例えば2000)以上となったか否かを確認する(ステップS75321)。所定の払出個数異常エラー判定値(例えば2000)以上となっていれば、払出制御用CPU371は、払出個数異常エラーが発生したと判断し、払出個数異常エラーが発生したことを示す払出個数異常エラーフラグをセットする(ステップS75322)。
なお、この実施の形態では、ステップS75319の処理により、払出動作を終了したにもかかわらず、未払出個数カウンタの値が所定基準数(本例では2)以上残っていることを条件として、払出個数異常カウンタに未払出個数カウンタの値を加算する。すなわち、誤動作などにより、払出動作を終了したにもかかわらず、未払出個数カウンタの値がごく少数(本例では1)残った状態となることも少なからずあるので、払出動作を終了したときに未払出個数カウンタの値が1つでも残っているときに直ちに払出個数異常カウンタに累積カウントとしてしまったのでは、払出個数異常エラーと判定される頻度が必要以上に高くなり却って遊技に支障を生じてしまう。そこで、この実施の形態では、少し余裕をもたせて未払出個数カウンタの値が2以上残っていることを条件として、払出個数異常カウンタに累積カウントすることとし、必要以上に払出個数異常エラーと判定されることを防止している。なお、ステップS75319の処理では、払出不足数が所定基準数(本例では2)以上であることを条件に払出個数異常カウンタを累積的にカウントアップする場合を示しているが、払出過多数についても所定基準数(本例では2)以上であることを条件に払出個数異常カウンタを累積的にカウントアップするようにしてもよい。この場合、例えば、図57に示すステップS7502でYと判定した回数が累積して2回以上に達したことを条件にステップS7503で払出過多数分のカウント値を払出個数異常カウンタを累積的にカウントアップするようにすればよい。また、ステップS75319,S75320の処理において、未払出個数カウンタの値が所定基準数(本例では2)以上残っているか否かにかかわらず、必ず払出個数異常カウンタに未払出個数カウンタの値をそのまま加算するようにしてもよい。
ステップS75316で再払出動作中1指定ビットがセットされていれば、払出制御用CPU371は、払出制御状態フラグに払出球検知指定ビットがセットされているか否かを確認する(ステップS75323)。払出球検知指定ビットがセットされていれば、払出制御用CPU371は、ステップS75326に移行する。払出球検知指定ビットがセットされていなければ、払出制御用CPU371は、2回目の再払出動作を実行するために、払出制御状態フラグに再払出動作中2指定ビットをセットする(ステップS75324)とともに、払出個数異常カウンタの値を1加算する(ステップS75325)。なお、ステップS75325の処理は、払出個数異常カウンタに払出不足数を累積的にカウントする処理に相当する。そして、ステップS75326に移行する。なお、ステップS75325の処理を実行することによって、1回目の再払出動作を実行したにもかかわらず、再払出動作が正常に行われなかった場合に、払出個数異常カウンタの値が1カウントアップされる。また、正常に払出が完了した場合でも、誤カウントなどにより未払出個数カウンタの値が0になっていいないこともある。そこで、ステップS75323の処理が実行されることによって、払出球検知指定ビットがセットされていれば、すなわち払出個数カウントスイッチ301が払出動作中に少なくとも1個の遊技球の払出を検出していれば、正常に払出が完了している可能性があるので、払出個数異常カウンタの累積カウントを行うことなく、そのままステップS75326に移行する。
ステップS75326では、払出制御用CPU371は、初回の再払出動作を実行するために、再払出動作個数として1をセットする。次いで、払出制御用CPU371は、払出モータ回転回数バッファに再払出動作個数(本例では1)をセットする(ステップS75327)。次いで、払出制御用CPU371は、払出制御状態フラグをロードし(ステップS75328)、払出制御状態フラグの払出球検知指定ビットをリセットする(ステップ75329)。
次いで、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動処理に応じて値をセットする(ステップS75330)。これにより、ステップS756の払出モータ制御処理において、払出モータ289を起動する払出モータ起動処理が実行され、再払出動作が開始される。そして、払出制御用CPU371は、払出制御コードに払出モータ停止待ち処理を示す値「1」をセットし(ステップS75331)、処理を終了する。
ステップS75315で再払出動作中2指定ビットがセットされていれば、払出制御用CPU371は、払出制御状態フラグの再払出動作中2指定ビットをリセットする(ステップS75332)。次いで、払出制御用CPU371は、払出制御状態フラグの払出球検知指定ビットがセットされているか否かを確認する(ステップS75333)。払出球検知指定ビットがセットされていれば、ステップS75326に移行する。払出球検知指定ビットがセットされていなければ、払出制御用CPU371は、払出制御状態フラグの再払出動作中2指定ビットをリセットする(ステップS75334)とともに、払出個数異常カウンタの値を1加算する(ステップS75335)。なお、ステップS75335の処理は、払出個数異常カウンタに払出不足数を累積的にカウントする処理に相当する。また、ステップS75335の処理を実行することによって、2回目の再払出動作を実行しても、再払出動作が正常に行われなかった場合に、払出個数異常カウンタの値が1カウントアップされる。また、正常に払出が完了した場合でも、誤カウントなどにより未払出個数カウンタの値が0になっていいないこともある。そこで、ステップS75333の処理が実行されることによって、払出球検知指定ビットがセットされていれば、すなわち払出個数カウントスイッチ301が払出動作中に少なくとも1個の遊技球の払出を検出していれば、正常に払出が完了している可能性があるので、払出個数異常カウンタの累積カウントを行うことなく、そのままステップS75326に移行する。
次いで、払出制御用CPU371は、エラーフラグをロードして、エラーフラグに払出ケースエラー指定ビットをセットする(ステップS75336)。そして、払出制御用CPU371は、再払出待ちタイマに所定時間(例えば2分)をセットし(ステップS75337)、処理を終了する。なお、ステップS57337でセットされた再払出待ちタイマは、後述するエラー処理で計測され(ステップS7710参照)、再払出タイマがタイムアウトしたことにもとづいて、エラーフラグの払出ケースエラー指定ビットがリセットされる(ステップS7711,S7712参照)。そのような処理が実行されることによって、この実施の形態では、払出ケースエラーが検出された後、2分経過したことにもとづいてエラー状態が自動復旧される。
次に、エラー処理について説明する。図63および図64は、ステップS757のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、まず、エラーフラグをロードし、エラーフラグの払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、主制御通信エラー指定ビット、および払出個数異常エラー指定ビット以外のエラービットをリセットする(ステップS7701)。次いで、払出制御用CPU371は、エラーフラグの値が0となっているか否かを確認する(ステップS7702)。エラーフラグの値が0となっていれば、ステップS7710に移行する。エラーフラグの値が0でなければ(すなわち、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、主制御通信エラー指定ビット、または払出個数異常エラー指定ビットがセットされていれば)、払出制御用CPU371は、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS7703)。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS7709)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS7704)。エラー復帰前タイマの値が0であれば、すなわち、エラー復帰前タイマがセットされていなければ、ステップS7710に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS7705)、エラー復帰前タイマの値が0になったら(ステップS7706)、エラーフラグのうちの、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、および主制御通信エラー指定ビットをリセットする(ステップS7707)とともに、セットされていれば再払出待ちタイマをリセットする(ステップS7708)。そして、ステップS7710に移行する。また、エラー復帰前タイマがタイムアウトしていなければ、ステップS7713に移行する。
なお、ステップS7707の処理が実行されるときに、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、および主制御通信エラー指定ビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2、払出ケースエラー、および主制御通信エラーのビットをセットする原因になったエラーが発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
ステップS7710では、払出制御用CPU371は、セットされていれば、再払出待ちタイマの値を1減算し、減算後の再払出待ちタイマがタイムアウトしているか否かを確認する(ステップS7711)。再払出待ちタイマがタイムアウトしていれば、払出制御用CPU371は、エラーフラグの払出ケースエラー指定ビットをリセットする(ステップS7712)。そして、ステップS7713に移行する。
以上のように、この実施の形態では、ステップS7707,S7712の処理が実行されることによって、払出ケースエラーが検出されて払出検出エラー指定ビットがセットされた場合には、エラー解除スイッチ375が押下されたこと(正確には、さらにエラー復帰前時間を経過したこと)を条件にエラー解除される場合と、払出ケースエラーの検出後に所定時間(本例では2分)を経過したことを条件にエラーが自動解除される場合とがある。なお、この実施の形態では、払出個数異常エラーに関しては、一度検出されると、遊技機への電源供給をリセットしないかぎり解除されない。
ステップS7707,S7712の処理が実行されて払出ケースエラー指定ビットがリセットされた場合には、払出制御コードが「2」(図60〜図62に示す払出通過待ち処理の実行に対応)であるときには、遊技球払出のリトライ動作が開始される。つまり、次にステップS755の払出制御処理が実行されるときにステップS7513の払出通過待ち処理が実行されると、再び、再払出処理が行われる。例えば、賞球払出処理が行われていた場合には、未払出個数カウンタの値が0でないときには、ステップS75305からステップS75309,S75310に移行し、ステップS75310において払出ケースエラー指定ビットがリセット状態であることが確認されるので、ステップS75314以降の再払出処理を開始するための処理が再度実行され、再払出処理が実行される。
以上のように、払出制御手段は、球払出装置97が遊技球の払い出しを行ったにもかかわらず払出個数カウントスイッチ301が1個も遊技球を検出しなかったときには遊技球を払い出すためのリトライ動作をあらかじめ決められた所定回(例えば2回)を限度として球払出装置97に実行させる補正払出制御を行った後、払出個数カウントスイッチ301が1個も遊技球を検出しなかったことが検出されたときには(図60〜図62のステップS75314以降を参照)、払い出しに関わる制御状態をエラー状態に移行させ、エラー状態においてエラー解除スイッチ375からエラー解除信号が出力されたこと、または払出ケースエラーを検出してから所定時間(本例では2分)を経過したことを条件に再度補正払出制御を行わせる補正払出制御再起動処理を実行する。
さらに、エラー状態における再払出処理の実行中(具体的には払出ケースエラーをセットする前の再払出処理中およびエラー解除スイッチ375押下後の再払出処理中)でも、図57に示すステップS7501,S7502,S7506処理は実行されている。すなわち、払い出しに関わるエラーが生じているときでも、遊技球が払出個数カウントスイッチ301を通過すれば、未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。すなわち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
また、図60〜図62に示された払出通過待ち処理において、再払出処理が実行された結果、遊技球が払い出されたことが確認されたときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ375が操作されたとき(具体的は、操作後エラー復帰時間が経過したとき)、または払出ケースエラーを検出してから所定時間(本例では2分)を経過したときである(ステップS7707,S7712)。すなわち、払出ケースエラーを検出してから所定時間(本例では2分)を経過するまでは、遊技球が払出個数カウントスイッチ301を通過したこと等にもとづいて自動的に払出ケースエラー(払出不足エラー)の状態が解除されるということはなく、人為的な操作を経ないと払出ケースエラーは解除されない。従って、遊技店員等は、確実に払出不足が発生したことを認識することができる。ただし、この実施の形態では、少なくとも、払出ケースエラーが発生してからある程度長い時間(本例では2分)が経過すれば払出ケースエラーを自動解除するように構成することによって、払出ケースエラーが必要以上に長時間継続することを防止している。
なお、エラー解除スイッチ375が操作されたことによってハードウェア的にリセット(払出制御用CPU371に対するリセット)がかかるように遊技機を構成する場合もあるが、そのように遊技機を構成した場合には、エラー解除スイッチ375が操作されたことによって例えば未払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御手段が、エラー解除スイッチ375が操作されたことによって再払出動作を再び行うように構成されているので、確実に払出処理が実行され、遊技者に不利益を与えないようにすることができる。
ステップS7713では、払出制御用CPU371は、満タンスイッチ48の検出信号を確認する。満タンスイッチ48の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの満タンエラー指定ビットをセットする(ステップS7714)。
また、払出制御用CPU371は、球切れスイッチ187の検出信号を確認する(ステップS7715)。球切れスイッチ187の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの球切れエラー指定ビットをセットする(ステップS7716)。
さらに、払出制御用CPU371は、主基板31からの接続信号の状態を確認し(ステップS7717)、接続信号が出力されていなければ(オフ状態であれば)、主基板未接続エラー指定ビットをセットする(ステップS7718)。
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出個数カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「250」)を越えていたら(ステップS7719)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS7720)。なお、各スイッチタイマの値は、ステップS752の入力判定処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出個数カウントスイッチ301がオン状態になっていることを意味し、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分で遊技球が詰まっていると判断される。
また、払出制御用CPU371は、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「4」)になった場合には(ステップS7721)、払出制御状態フラグをロードし(ステップS7722)、賞球払出動作中または球貸し払出動作中であるか否かを確認する(ステップS7723)。具体的には、払出制御用CPU371は、払出制御状態フラグに賞球払出動作中指定ビットまたは球貸し払出動作中指定ビットがセットされているか否かを確認する。賞球払出動作中指定ビットおよび球貸し払出動作中指定ビットがともにリセット状態であれば、払出制御用CPU371は、払出動作中でないのに払出個数カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS7724)。
また、払出制御用CPU371は、払出個数異常カウンタの値が所定の払出個数異常エラー判定値(例えば2000)以上となっているか否かを確認する(ステップS7725)。所定の払出個数異常エラー判定値(例えば2000)以上となっていれば、払出制御用CPU371は、払出個数異常エラーが発生したと判断し、払出個数異常エラーフラグをセットする(ステップS7726)。
次いで、払出制御用CPU371は、プリペイドカードユニット50のエラー状態を設定するためのプリペイドカードユニット用エラーフラグをリセットする(ステップS7727)。また、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS7728)、VL信号が入力されていなければ(オフ状態であれば)、プリペイドカードユニット用エラーフラグのうちプリペイドカードユニット未接続エラー指定ビットをセットする(ステップS7729)。
なお、ステップS760の表示制御処理では、エラーフラグおよびプリペイドカードユニット用エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。従って、通信エラーをエラー表示用LED374によって報知することができる。また、通信エラーは、払出制御手段の側で検出されるので、遊技制御手段の負担を増すことなく通信エラーを検出できる。
また、この実施の形態では、主基板未接続エラーは接続信号がオン状態になると自動的に解消されるが(ステップS7701,S7717,S7718参照)、さらにエラー解除スイッチ375が操作されたという条件を加えて、エラー状態が解消されるようにしてもよい。
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラーおよびプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される。従って、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーが容易に特定される。
また、この実施の形態では、エラー処理において、まず、エラーフラグのうち、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、主制御通信エラー指定ビット、および払出個数異常エラー指定ビット以外のビットを一旦リセット(ステップS7701参照)してから、エラー処理を実行するごとに満タンエラーや球切れエラー、主制御未接続エラーとなっているか否かを確認している。そして、払出スイッチ異常検知エラー2指定ビット、払出ケースエラー指定ビット、および主制御通信エラー指定ビットについては、エラー解除スイッチ375が操作されたことを条件にリセットしている。しかし、払出個数異常エラーについては、一度セットされれば解除されることはない。従って、この実施の形態では、払出個数異常エラーとなった場合には、電源リセットが行われたこと条件として払出個数異常エラーが解除されることになる。
図65および図66は、ステップS759の情報出力処理を示すフローチャートである。情報出力処理において、払出制御用CPU371は、まず、払出制御状態フラグをロードし(ステップS7901)、球貸し払出動作中であるか否かを確認する(ステップS7902)。具体的には、払出制御用CPU371は、払出制御状態フラグの球貸し払出動作中指定ビットがセットされているか否かを確認する。球貸し払出動作中であれば、ステップS7909に移行する。球貸し払出動作中でなければ、払出制御用CPU371は、払出個数カウントスイッチ301がオン状態であるか否かを確認する(ステップS7903)。払出個数カウントスイッチ301がオン状態であれば(この場合、賞球による払い出しを検出したことになる)、払出制御用CPU371は、賞球信号1出力回数カウンタの値を1加算する(ステップS7904)とともに、賞球払出個数カウンタの値を1加算する(ステップS7905)。なお、賞球信号1出力回数カウンタは、賞球信号1を出力する条件が成立した回数をカウントするためのカウンタである。また、賞球払出個数カウンタは、賞球払出により払い出された遊技球の数をカウントするためのカウンタである。
次いで、払出制御用CPU371は、加算後の賞球払出個数カウンタの値が所定の賞球情報出力判定値(本例では10)以上となっているか否かを確認する(ステップS7906)。所定の賞球情報出力判定値(本例では10)以上となっていれば、払出制御用CPU371は、賞球払出個数カウンタをリセットする(ステップS7907)とともに、賞球情報出力回数カウンタの値を1加算する(ステップS7908)。なお、賞球情報出力回数カウンタは、賞球情報を出力する条件が成立した回数をカウントするためのカウンタである。
次いで、払出制御用CPU371は、セットされていれば賞球情報出力タイマを1減算し(ステップS7909)、減算後の賞球情報出力タイマがタイムアウトしているか否かを確認する(ステップS7910)。なお、賞球情報出力タイマは、賞球情報の出力継続時間を計測するためのタイマである。タイムアウトしていなければ、ステップS7914に移行する。タイムアウトしていれば、払出制御用CPU371は、賞球情報出力回数カウンタの値が0となっているか否かを確認する(ステップS7911)。賞球情報出力回数カウンタの値が0であれば、ステップS7915に移行する。賞球情報出力回数カウンタの値が0でなければ(すなわち、賞球情報の出力条件の成立数がまだ残っていれば)、払出制御用CPU371は、賞球情報出力回数カウンタの値を1減算する(ステップS7912)。次いで、払出制御用CPU371は、次の賞球情報の出力を開始するために、賞球情報出力タイマをセットする(ステップS7913)。そして、払出制御用CPU371は、賞球情報を遊技制御用マイクロコンピュータ560に出力する制御を行う(ステップS7914)。具体的には、払出制御用CPU371は、出力ポート1の賞球情報出力ビット(ビット7。図44参照。)に出力データをセットする処理を行う。
次いで、払出制御用CPU371は、セットされていれば賞球信号1出力タイマを1減算し(ステップS7915)、減算後の賞球信号1出力タイマがタイムアウトしているか否かを確認する(ステップS7916)。なお、賞球信号1出力タイマは、賞球信号1の出力継続時間を計測するためのタイマである。タイムアウトしていなければ、ステップS7920に移行する。タイムアウトしていれば、払出制御用CPU371は、賞球信号1出力回数カウンタの値が0となっているか否かを確認する(ステップS7917)。賞球信号1出力回数カウンタの値が0であれば、ステップS7921に移行する。賞球信号1出力回数カウンタの値が0でなければ(すなわち、賞球信号1の出力条件の成立数がまだ残っていれば)、払出制御用CPU371は、賞球信号1出力回数カウンタの値を1減算する(ステップS7918)。次いで、払出制御用CPU371は、次の賞球信号1の出力を開始するために、賞球信号1出力タイマをセットする(ステップS7919)。そして、払出制御用CPU371は、賞球信号1を外部出力する制御を行う(ステップS7920)。具体的には、払出制御用CPU371は、出力ポート0の賞球信号1出力ビット(ビット0。図44参照。)に出力データをセットする処理を行う。なお、この実施の形態では、賞球信号1は、払出制御基板31から直接ターミナル基板160に入力されて外部出力されるのではなく、主基板31を一旦経由してからターミナル基板160に入力されて外部出力される。
次いで、払出制御用CPU371は、出力ポート0の遊技機エラー状態信号出力ビット(ビット1。図44参照。)に出力データをセットする処理を行い(ステップS7921)、エラーフラグをロードする(ステップS7922)。エラーフラグに球切れエラー指定ビットまたは満タンエラー指定ビットのいずれかがセットされていれば(ステップS7923,S7924のY)、出力ポート0の遊技機エラー状態信号出力ビットがセットされたままの状態で処理を終了する。この場合、ステップS7921で出力ポート0の遊技機エラー状態信号出力ビットがセットされたことにもとづいて、遊技機エラー状態信号が外部出力されることになる。なお、この実施の形態では、遊技機エラー状態信号は、払出制御基板31から直接ターミナル基板160に入力されて外部出力されるのではなく、主基板31を一旦経由してからターミナル基板160に入力されて外部出力される。一方、エラーフラグに球切れエラー指定ビットおよび満タンエラー指定ビットのいずれもセットされていなければ、払出制御用CPU371は、出力ポート0の遊技機エラー状態信号出力ビットをクリアし(ステップS7925)、処理を終了する。
以上の処理が実行されることによって、この実施の形態では、払出制御手段側で賞球払出を1球検出するごとに賞球信号1が外部出力される。また、払出制御手段側で賞球払出を10球検出するごとに遊技制御手段側に対して賞球情報が出力される。さらに、払出制御手段側で球切れエラーまたは満タンエラーを検出すると遊技機エラー状態信号が外部出力される。
次に、演出制御手段の動作を説明する。図67は、演出制御基板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)。
次いで、ステップS704〜S707の演出制御処理を実行すると、演出制御用CPU101は、入賞口スイッチの検出信号の状態の異常を検出するための異常判定処理を実行する(ステップS708)。その後、ステップS702に移行する。
図68は、主基板31の遊技制御用マイクロコンピュータ560から受信した演出制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよい。
なお、遊技制御用マイクロコンピュータ560から送信された演出制御コマンドは、演出制御INT信号にもとづく割込処理で受信され、RAMに形成されているバッファ領域に保存されている。コマンド解析処理では、バッファ領域に保存されている演出制御コマンドがどのコマンド(図29(a)参照)であるのか解析する。
図69および図70は、コマンド解析処理(ステップS704)の具体例を示すフローチャートである。主基板31から受信された演出制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、演出制御用CPU101は、コマンド受信バッファに格納されているコマンドの内容を確認する。
コマンド解析処理において、演出制御用CPU101は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS611)。格納されているか否かは、コマンド受信個数カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、演出制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS612)。なお、読み出したら読出ポインタの値を+2しておく(ステップS613)。+2するのは2バイト(1コマンド)ずつ読み出すからである。
受信した演出制御コマンドが枠状態表示コマンドであれば(ステップS614)、演出制御用CPU101は、枠状態表示コマンドの下位4ビットのうちの賞球エラービット(ビット0。図14参照。)がセットされているか否かを確認する(ステップS615)。セットされていれば、演出制御用CPU101は、演出表示装置9の表示画面に所定の賞球エラー報知情報を重畳表示する制御を行う(ステップS616)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「賞球エラーが発生しました」などの文字列を表示させる制御を行う。
また、演出制御用CPU101は、枠状態表示コマンドの下位4ビットのうちの満タンエラービット(ビット1。図14参照。)がセットされているか否かを確認する(ステップS617)。セットされていれば、演出制御用CPU101は、演出表示装置9の表示画面に所定の満タンエラー報知情報を重畳表示する制御を行う(ステップS618)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「満タンエラーが発生しました」などの文字列を表示させる制御を行う。
また、演出制御用CPU101は、枠状態表示コマンドの下位4ビットのうちの球切れエラービット(ビット2。図14参照。)がセットされているか否かを確認する(ステップS619)。セットされていれば、演出制御用CPU101は、演出表示装置9の表示画面に所定の球切れエラー報知情報を重畳表示する制御を行う(ステップS620)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「球切れエラーが発生しました」などの文字列を表示させる制御を行う。
また、演出制御用CPU101は、枠状態表示コマンドの下位4ビットのうちの払出個数異常エラービット(ビット3。図14参照。)がセットされているか否かを確認する(ステップS621)。セットされていれば、演出制御用CPU101は、演出表示装置9の表示画面に所定の払出個数異常エラー報知情報を重畳表示する制御を行う(ステップS622)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「払出個数異常エラーが発生しました」などの文字列を表示させる制御を行う。
受信した演出制御コマンドが賞球不足エラーコマンドであれば(ステップS623)、演出制御用CPU101は、演出表示装置9の表示画面に所定の賞球不足エラー報知情報を重畳表示する制御を行う(ステップS624)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「賞球不足エラーが発生しました」などの文字列を表示させる制御を行う。
受信した演出制御コマンドが賞球過剰エラーコマンドであれば(ステップS625)、演出制御用CPU101は、演出表示装置9の表示画面に所定の賞球過剰エラー報知情報を重畳表示する制御を行う(ステップS626)。例えば、演出制御用CPU101は、演出表示装置9の表示画面に「賞球過剰エラーが発生しました」などの文字列を表示させる制御を行う。
なお、各エラー表示を単に重畳表示させるのではなく、不正の重要度の観点から順位付けを行って優先順位が高いエラーを優先して報知するようにしてもよい。例えば、払出個数異常エラーを最も高い優先順位で優先的に報知するようにしてもよく、エラー状態が変化した場合に新たに発生したエラーを優先して報知するようにしてもよい。
また、この実施の形態では、演出表示装置9の表示画面に所定のエラー表示を行うことによって各エラー報知を行う場合を示しているが(ステップS616,S618,S620,S622,S624,S626参照)、エラー報知の仕方は、この実施の形態で示したものにかぎられない。例えば、スピーカ27を用いて所定の警告音を出力することによってエラー報知してもよく、装飾LED25や枠LED28を所定の点灯/点滅パターンで点灯または点滅表示させることによってエラー報知してもよい。また、これら演出表示装置9の表示画面への表示、スピーカ27を用いた音出力、または装飾LED25や枠LED28を用いた点灯/点滅表示のいずれか2つまたは全てを組み合わせて用いて、エラー報知を行ってもよい。
受信した演出制御コマンドが入力ポート状態1指定コマンド(図29(a)参照)であれば(ステップS627)、演出制御用CPU101は、入力ポート状態1指定コマンドを、RAMに形成されている入力ポート状態1指定コマンド格納領域に格納する(ステップS628)。そして、入力ポート状態1指定コマンド受信フラグをセットする(ステップS629)。
受信した演出制御コマンドが入力ポート状態2指定コマンド(図29(a)参照)であれば(ステップS630)、演出制御用CPU101は、入力ポート状態2指定コマンドを、RAMに形成されている入力ポート状態2指定コマンド格納領域に格納する(ステップS631)。そして、入力ポート状態2指定コマンド受信フラグをセットする(ステップS632)。
受信した演出制御コマンドがその他のコマンドであれば、演出制御用CPU101は、受信した演出制御コマンドに応じたフラグをセットする(ステップS633)。そして、ステップS611に移行する。なお、例えば、変動パターンコマンドや表示結果指定コマンドを受信した場合には、演出制御用CPU101は、受信した変動パターンコマンドや表示結果指定コマンドをRAMに形成された所定の格納領域に格納する処理も行う。
図71は、図67に示されたメイン処理における演出制御プロセス処理(ステップS705)を示すフローチャートである。演出制御プロセス処理では、演出制御用CPU101は、演出制御プロセスフラグの値に応じてステップS800〜S807のうちのいずれかの処理を行う。各処理において、以下のような処理を実行する。なお、演出制御プロセス処理では、演出表示装置9の表示状態が制御され、演出図柄の可変表示が実現されるが、第1特別図柄の変動に同期した演出図柄の可変表示に関する制御も、第2特別図柄の変動に同期した演出図柄の可変表示に関する制御も、一つの演出制御プロセス処理において実行される。なお、第1特別図柄の変動に同期した演出図柄の可変表示と、第2特別図柄の変動に同期した演出図柄の可変表示とを、別の演出制御プロセス処理により実行するように構成してもよい。また、この場合、いずれの演出制御プロセス処理により演出図柄の変動表示が実行されているかによって、いずれの特別図柄の変動表示が実行されているかを判断するようにしてもよい。
変動パターンコマンド受信待ち処理(ステップS800):遊技制御用マイクロコンピュータ560から変動パターンコマンドを受信しているか否か確認する。具体的には、コマンド解析処理でセットされる変動パターンコマンド受信フラグがセットされているか否か確認する。変動パターンコマンドを受信していれば、演出制御プロセスフラグの値を演出図柄変動開始処理(ステップS801)に対応した値に変更する。
演出図柄変動開始処理(ステップS801):演出図柄の変動が開始されるように制御する。そして、演出制御プロセスフラグの値を演出図柄変動中処理(ステップS802)に対応した値に更新する。
演出図柄変動中処理(ステップS802):変動パターンを構成する各変動状態(変動速度)の切替タイミング等を制御するとともに、変動時間の終了を監視する。そして、変動時間が終了したら、演出制御プロセスフラグの値を演出図柄変動停止処理(ステップS803)に対応した値に更新する。
演出図柄変動停止処理(ステップS803):演出図柄の変動を停止し表示結果(停止図柄)を導出表示する制御を行う。そして、演出制御プロセスフラグの値を大当り表示処理(ステップS804)または変動パターンコマンド受信待ち処理(ステップS800)に対応した値に更新する。
大当り表示処理(ステップS804):大当りである場合には、変動時間の終了後、演出表示装置9に大当りの発生を報知するための画面を表示する制御を行う。また、小当りである場合には、変動時間の終了後、演出表示装置9に小当りの発生を報知するための画面を表示する制御を行う。例えば、大当りの開始を指定するファンファーレ指定コマンドを受信したら、設定された大当り開始時演出待ち時間(第1特図の大当りならば10秒,第2特図の大当りならば5秒)分の大当り開始時演出(ファンファーレ演出)を実行する。つまり、大当りとなる表示結果が表示されてから特別可変入賞球装置20が開放されるまでに行う所定演出として、第1始動入賞口13への入賞に基づいて大当りとすると決定した場合(第1特図の大当り)と、第2始動入賞口14への入賞に基づいて大当りとすると決定した場合とで、時間が異なる大当り開始時演出を行う。これにより、左打ちで第1始動入賞口13に入賞したことに基づいて大当りとなるときには、特別可変入賞球装置20を狙うために右打ちに切り替える時間が必要であるので、比較的長時間の大当り開始時演出を行い、右打ちで第2始動入賞口14に入賞したことに基づいて大当りとなるときには、特別可変入賞球装置20を狙うために右打ちに切り替える時間は不要であり、大当りを早く消化させるために、比較的短時間の大当り開始時演出を行うので、該大当り開始時演出を適切に実行できて、遊技の興趣を向上できる。そして、演出制御プロセスフラグの値をラウンド中処理(ステップS805)に対応した値に更新する。
ラウンド中処理(ステップS805):ラウンド中の表示制御を行う。例えば、大入賞口が開放中であることを示す大入賞口開放中表示コマンドを受信したら、ラウンド数の表示制御等を行う。
ラウンド後処理(ステップS806):ラウンド間の表示制御を行う。例えば、大入賞口が開放後(閉鎖中)であることを示す大入賞口開放後表示コマンドを受信したら、インターバル表示を行う。
大当り終了演出処理(ステップS807):演出表示装置9において、大当り遊技状態が終了したことを遊技者に報知する表示制御を行う。例えば、大当りの終了を指定するエンディング指定コマンドを受信したら、エンディング演出を実行する。そして、演出制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS800)に対応した値に更新する。
次に、演出制御用マイクロコンピュータ100が実行する入賞異常の処理を説明する。図72は、入賞異常の検出方法の一例を示す説明図である。図72に示す例では、入賞口スイッチ(第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30a)のそれぞれについて、検出信号のオン状態が1秒を越えて継続したら入賞異常が生じたと判定する。なお、1秒の時間は一例であり、異常検出のための時間は1秒に限られない。また、入賞異常とは、入賞口スイッチの検出信号の状態の異常である。
図73は、演出制御用マイクロコンピュータ100が入賞異常の検出に関して使用するタイマの一例を示す説明図である。図73に示すように、入賞異常の検出に関して使用するタイマとして、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマがある。なお、各タイマはRAMに形成されている。
図74および図75は、ステップS708の異常判定処理を示すフローチャートである。異常判定処理において、演出制御用CPU101は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が0以外の値(動作中であることに相当)であるか否か確認する(ステップS1711)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS1712)。なお、入賞異常の検出方法の他の例(図76〜図79参照)のようにタイマ動作中フラグを用い、タイマが動作中であるか否かをタイマ動作中フラグによって確認するようにしてもよい。
また、演出制御用CPU101は、いずれかのタイマの値が250(1秒に相当)を越えたか否か確認する(ステップS1713)。250を越えたタイマがあれば、演出表示装置9に、「入賞異常が生じた旨」の表示を行う(ステップS1714)。また、音声出力基板70に、異常報知音に相当する音番号データを出力する(ステップS1715)。
ステップS1714,S1715の処理によって、演出表示装置9において異常報知の表示がなされるとともに、スピーカ27が異常報知音が出力される。なお、ステップS1714,S1715の処理において、いずれのスイッチに入賞異常が生じたのかを区別可能な表示および音出力を行ってもよい。
また、演出制御用CPU101は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS1716)。入力ポート状態1指定コマンド受信フラグがセットされていない場合には処理終了する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS1717)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS1718)。
ステップS1718では、演出制御用CPU101は、ステップS1721の処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」であるビットがあれば、そのビットに対応するタイマ(入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、またはカウントスイッチ23に対応するタイマ)に「1」をセットする(ステップS1720)。そして、ステップS1721に移行する。
また、入力ポート0の状態を示すデータ(カウントスイッチ23、入賞口スイッチ29a,30aの状態を示すデータ)において「1」になったビットがない場合には、「0」になったビットに対応するタイマの値を0に初期化する(ステップS1719)。そして、ステップS1721に移行する。なお、遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビットが変化した場合に、入力ポート状態1指定コマンドを送信するので、「1」に変化したビットがないということは、「0」に変化したビットが存在することを意味する。
そして、演出制御用CPU101は、入力ポート状態1指定コマンド格納領域のデータを前回値としてRAMに保存する(ステップS1721)。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するので、ステップS1718,S1719の処理によって、オン状態に変化したスイッチに対応するタイマが動作中になる。そして、動作中になったタイマに対応するビットの値が「0」にならない限りタイマの値は歩進するので(ステップS1711,S1712の処理により)、タイマの値が250を越えたということは、スイッチの検出信号の状態が1秒を越えて継続したオン状態であったことを意味する。
また、演出制御用CPU101は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS1722)。入力ポート状態2指定コマンド受信フラグがセットされていない場合には処理終了する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS1723)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」であるか否か確認する(ステップS1724)。
ステップS1724では、演出制御用CPU101は、ステップS1727の処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」であるビットがあれば、そのビットに対応するタイマ(第1始動口スイッチ13aに対応するタイマ、第2始動口スイッチ14aに対応するタイマ)に「1」をセットする(ステップS1726)。そして、ステップS1727に移行する。
また、入力ポート2の状態を示すデータ(第1始動口スイッチ13a、第2始動口スイッチ14aの状態を示すデータ)において「1」になったビットがない場合には、「0」になったビットに対応するタイマの値を0に初期化する(ステップS1725)。そして、ステップS1727に移行する。なお、遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビットが変化した場合に、入力ポート状態2指定コマンドを送信するので、「1」に変化したビットがないということは、「0」に変化したビットが存在することを意味する。
そして、演出制御用CPU101は、入力ポート状態2指定コマンド格納領域のデータを前回値としてRAMに保存する(ステップS1727)。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するので、ステップS1724,S1725の処理によって、オン状態に変化したスイッチに対応するタイマが動作中になる。そして、動作中になったタイマに対応するビットの値が「0」にならない限りタイマの値は歩進するので(ステップS1711,S1712の処理により)、タイマの値が250を越えたということは、スイッチの検出信号の状態が1秒を越えて継続したオン状態であったことを意味する。
また、演出制御用CPU101が、ステップS1713,S1714,S1715の処理を実行することによって、図72に示されたような異常判定を行うことができる。
図76は、入賞異常の検出方法の他の例を示す説明図である。図76に示す例では、入賞口スイッチ(第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30a)のそれぞれについて、所定時間内(図76に示す例では、0.5秒)に検出信号の状態が所定回以上(図76に示す例では、10回を越えた)オンになった(具体的には、オンからオフに変化した)場合に、入賞異常が生じたと判定する。なお、0.5秒は一例であり、異常検出のための所定時間は0.5秒に限られない。また、10回を越えたことも一例である。
図77は、演出制御用マイクロコンピュータ100が入賞異常の検出に関して使用するタイマ、フラグおよびカウンタの一例を示す説明図である。図77に示すように、入賞異常の検出に関して使用するタイマとして、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマがある。また、入賞異常の検出に関して使用するフラグとして、第2始動口スイッチ14aに対応するタイマ動作中フラグ、第1始動口スイッチ13aに対応するタイマ動作中フラグ、入賞口スイッチ30aに対応するタイマ動作中フラグ、入賞口スイッチ29aに対応するタイマ動作中フラグ、カウントスイッチ23に対応するタイマ動作中フラグがある。また、入賞異常の検出に関して使用するカウンタとして、第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ、入賞口スイッチ30aに対応するカウンタ、入賞口スイッチ29aに対応するカウンタ、カウントスイッチ23に対応するカウンタがある。なお、各カウンタはRAMに形成されている。
図78および図79は、図76に例示されたような異常検出を行う場合のステップS708の異常判定処理を示すフローチャートである。異常判定処理において、演出制御用CPU101は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が動作中(タイマ動作中フラグがオン状態)であるか否か確認する(ステップS1711)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS1712)。
また、演出制御用CPU101は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS1716)。入力ポート状態1指定コマンド受信フラグがセットされていない場合にはステップS1735に移行する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS1717)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS1731)。
ステップS1731では、演出制御用CPU101は、ステップS1739の処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」に変化したビットがあれば、そのビットに対応するカウンタ(入賞口スイッチ30aに対応するカウンタ、入賞口スイッチ29aに対応するカウンタ、またはカウントスイッチ23に対応するカウンタ)の値を+1する(ステップS1732)。また、「1」に変化したビットに対応するタイマが動作中でなければ(ステップS1733)、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS1734)。
また、演出制御用CPU101は、いずれかのタイマ(入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、またはカウントスイッチ23に対応するタイマ)の値が125(0.5秒に相当)を越えたか否か確認する(ステップS1735)。125を越えたタイマがなければ、ステップS1739に移行する。125を越えたタイマがあれば、そのタイマに対応するカウンタの値を確認する(ステップS1736)。カウンタの値が10を越えていれば、演出表示装置9に、「入賞異常が生じた旨」の表示を行う(ステップS1740)。また、音声出力基板70に、異常報知音に相当する音番号データを出力する(ステップS1741)。
演出制御用CPU101は、値が10以下のカウンタがあれば、そのカウンタの値を0にクリアする(ステップS1737)。また、対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS1738)。
そして、入力ポート状態1指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS1739)。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するが、ステップS1731の処理で「1」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS1732の処理は、スイッチの検出信号がオフ状態からオン状態に変化した回数を計数する処理になる。
また、ステップS1735,S1736の処理で0.5秒が経過した場合にカウンタの値をチェックすることは、0.5秒間のスイッチの検出信号がオン状態に変化した回数を確認することに相当する。すなわち、図76に示されたような異常判定が実行されることになる。
また、演出制御用CPU101は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS1742)。入力ポート状態2指定コマンド受信フラグがセットされていない場合にはステップS1748に移行する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS1743)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」に変化したか否か確認する(ステップS1744)。
ステップS1744では、演出制御用CPU101は、ステップS1752の処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」に変化したビットがあれば、そのビットに対応するカウンタ(第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ)の値を+1する(ステップS1745)。また、「1」に変化したビットに対応するタイマが動作中でなければ(ステップS1746)、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS1747)。
また、演出制御用CPU101は、いずれかのタイマ(第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ)の値が125(0.5秒に相当)を越えたか否か確認する(ステップS1748)。125を越えたタイマがなければ、ステップS1752に移行する。125を越えたタイマがあれば、そのタイマに対応するカウンタの値を確認する(ステップS1749)。カウンタの値が10を越えていれば、演出表示装置9に、「入賞異常が生じた旨」の表示を行う(ステップS1753)。また、音声出力基板70に、異常報知音に相当する音番号データを出力する(ステップS1754)。
演出制御用CPU101は、値が10以下のカウンタがあれば、そのカウンタの値を0にクリアする(ステップS1750)。また、対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS1751)。
そして、入力ポート状態2指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS1752)。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するが、ステップS1744の処理で「1」に変化したビットがあったということは、入力ポート2の当該ビットの論理反転後の状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS1745の処理は、スイッチの検出信号がオフ状態からオン状態に変化した回数を計数する処理になる。
また、ステップS1748,S1749の処理で0.5秒が経過した場合にカウンタの値をチェックすることは、0.5秒間のスイッチの検出信号がオン状態に変化した回数を確認することに相当する。すなわち、図76に示されたような異常判定が実行されることになる。
図28(B)に例示されたような不正行為が行われると、スイッチの検出信号の状態は図28(C)の下段に例示されたような状態になる可能性があるが、図78および図79に示された処理によって、図28(C)の下段に示されたような信号状態が生ずると、異常が検出される(図76参照)。すなわち、図78および図79に示された処理は、図28に例示されたような不正行為を検知できる処理である。
図80は、入賞異常の検出方法のさらに他の例を示す説明図である。図80に示す例では、正常に遊技球が入賞口スイッチを通過する場合には、入賞口スイッチ(第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30a)の検出信号が、少なくとも50ミリ秒(50ms)間、オン状態を継続するような近接スイッチが用いられている場合を想定する。
図80に示すように、遊技球がスイッチの通過時に、本来、例えば50ms以上オン状態が継続するはずであるのに対して、検出信号がオン状態になっている時間(例えば、50ms)の中途で強制的にオフ状態にされた場合には、実際には、1個の遊技球がスイッチによって検出されているにもかかわらず、複数回スイッチがオンしたと判定されてしまう。そこで、演出制御用マイクロコンピュータ100は、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドにもとづいて、各々のスイッチの検出信号がオン状態に変化したらオフ状態になるまでの時間を計測し、計測した時間が例えば50msよりも短い場合に、異常が生じた(例えば、不正行為を受けた。)と判定することが好ましい。なお、50msは一例であり、使用するスイッチの特性等に応じて変わりうる。
また、連続して遊技球がスイッチを通過する場合でもスイッチが1個目の遊技球の通過完了を検出(検出信号がオフになったときに相当)してから2個目の遊技球の検出開始を検出する(検出信号がオンになったときに相当)までの間に少なくとも所定時間(例えば、32ms)がある。そこで、検出信号のオフ期間(オン状態からオフ状態に変化した時点から、再びオン状態になるまでの期間)が所定期間(すなわち、この例における32ms)よりも短い場合には、異常が生じた(例えば、不正行為を受けた。)と判定する。この例では、オフ期間が32ms以下である場合に、異常が生じたと判定する。なお、32msは一例であり、異常検出のための所定期間は32m秒に限られない。
また、この例では、図77に示された例と同様に、入賞異常の検出に関して、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマを使用する。また、入賞異常の検出に関して使用するフラグとして、第2始動口スイッチ14aに対応するタイマ動作中フラグ、第1始動口スイッチ13aに対応するタイマ動作中フラグ、入賞口スイッチ30aに対応するタイマ動作中フラグ、入賞口スイッチ29aに対応するタイマ動作中フラグ、カウントスイッチ23に対応するタイマ動作中フラグを使用する。ただし、カウンタは使用されない。
図81および図82は、図80に例示されたような異常検出(検出信号のオフ期間が所定期間(例えば、32ms)以下である場合に異常が生じたと判定)を行う場合のステップS708の異常判定処理を示すフローチャートである。異常判定処理において、演出制御用CPU101は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が動作中(タイマ動作中フラグがオン状態)であるか否か確認する(ステップS1711)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS1712)。
また、演出制御用CPU101は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS1716)。入力ポート状態1指定コマンド受信フラグがセットされていない場合には処理を終了する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS1717)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「0」に変化したか否か確認する(ステップS1761)。
ステップS1761の処理では、演出制御用CPU101は、ステップS1766の処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「0」に変化したビットがあれば、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS1762)。
また、演出制御用CPU101は、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS1763)。「1」に変化したビットがなければ、ステップS1766に移行する。
ステップS1763の処理では、演出制御用CPU101は、ステップS1766の処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」に変化したビットがある場合には、そのビットに対応するタイマの値を確認する(ステップS1764)。ステップS1764では、演出制御用CPU101は、タイマの値が8以下(32ms以下に相当)であるか否か確認する。タイマの値が8を越えている場合には、そのビットに対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS1765)。また、入力ポート状態1指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS1766)。
タイマの値が8以下である場合には、演出制御用CPU101は、演出表示装置9に、「入賞異常が生じた旨」の表示を行う(ステップS1767)。また、音声出力基板70に、異常報知音に相当する音番号データを出力する(ステップS1768)。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するが、ステップS1761の処理で「0」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「1」から「0」に変化した(スイッチの検出信号がオン状態からオフ状態に変化したことに相当)ことを意味する。よって、ステップS1762の処理は、スイッチの検出信号がオン状態からオフ状態に変化した場合に、タイマを起動する処理に相当する。
また、ステップS1763の処理で「1」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS1763の処理は、スイッチの検出信号がオフ状態からオン状態に変化したか否か判定する処理になる。そして、ステップS1764の処理でタイマの値をチェックすることは、検出信号がオフ状態で合った期間が32ms以下であったか否か判定することに相当する。すなわち、図80に示されたような異常判定が実行されることになる。
また、演出制御用CPU101は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS1742)。入力ポート状態2指定コマンド受信フラグがセットされていない場合には処理を終了する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS1743)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1いずれか1つ以上が「0」に変化したか否か確認する(ステップS1771)。
ステップS1771の処理では、演出制御用CPU101は、ステップS1776の処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「0」に変化したビットがあれば、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS1772)。
また、演出制御用CPU101は、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」に変化したか否か確認する(ステップS1773)。「1」に変化したビットがなければ、ステップS1776に移行する。
ステップS1773の処理では、演出制御用CPU101は、ステップS1776の処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」に変化したビットがある場合には、そのビットに対応するタイマの値を確認する(ステップS1774)。ステップS1774では、演出制御用CPU101は、タイマの値が8以下(32ms以下に相当)であるか否か確認する。タイマの値が8を越えている場合には、そのビットに対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS1775)。また、入力ポート状態2指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS1776)。
タイマの値が8以下である場合には、演出制御用CPU101は、演出表示装置9に、「入賞異常が生じた旨」の表示を行う(ステップS1777)。また、音声出力基板70に、異常報知音に相当する音番号データを出力する(ステップS1778)。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するが、ステップS1771の処理で「0」に変化したビットがあったということは、入力ポート2の当該ビットの論理反転後の状態が「1」から「0」に変化した(スイッチの検出信号がオン状態からオフ状態に変化したことに相当)ことを意味する。よって、ステップS1772の処理は、スイッチの検出信号がオン状態からオフ状態に変化した場合に、タイマを起動する処理に相当する。
また、ステップS1773の処理で「1」に変化したビットがあったということは、入力ポート2の当該ビットの論理反転後の状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS1773の処理は、スイッチの検出信号がオフ状態からオン状態に変化したか否か判定する処理になる。そして、ステップS1774の処理でタイマの値をチェックすることは、検出信号がオフ状態で合った期間が32ms以下であったか否か判定することに相当する。すなわち、図80に示されたような異常判定が実行されることになる。
図28(B)に例示されたような不正行為が行われると、スイッチの検出信号の状態は図28(C)の下段に例示されたような状態になる可能性があるが、図81および図82に示された処理によって、図28(C)の下段に示されたような信号状態が生じ場合に検出信号がオフ状態である期間が所定期間(この例では、32ms)以下であれば、異常として検出される(図80参照)。すなわち、図81および図82に示された処理は、図28に例示されたような不正行為を検知可能な処理である。
なお、演出制御用CPU101は、ステップS708の異常判定処理において、図74および図75に示された処理と、図78および図79に示された処理と、図81および図82に示された処理とのいずれかを実行してもよいが、各処理のうちの2つ以上を実行するようにしてもよい。
また、この実施の形態では、演出制御用CPU101は、入賞異常が生じたと判定したときに、演出表示装置9に「入賞異常が生じた旨」の表示を行うとともに音声出力基板70に異常報知音を出力させるための音番号データを出力したが、さらに、遊技機に設けられている発光体(LED等)によって異常報知を行ってもよい。なお、演出表示装置9の表示、異常報知音の出力、発光体による報知のいずれか1つまたは2つを使用してもよい。
また、異常報知の終了時期は任意であるが、例えば、演出制御用CPU101が入賞異常と判定しなくなるまで、入賞異常が生じたと判定したときからあらかじめ決められている所定時間が経過するまで、または電力供給が停止するまで、異常報知を継続することが考えられる。
また、この実施の形態では、演出制御用CPU101は、タイマの値を加算し、タイマの値が所定値(図74に示された例では250,図78および図79に示された例では125)になった場合に、入賞異常が生じたと判定するか(図74におけるステップS1713,S1714参照)、またはカウンタの値が所定値以上であることを条件に入賞異常が生じたと判定したり(図78および図79におけるステップS1735,S1736,S1740,S1748,S1749,S1750参照)、タイマの値が所定値以下(図81および図82に示された例では8以下)であった場合に、入賞異常が生じたと判定するようにしたが(図81および図82におけるステップS1764,S1767,S1774,S1777参照)、タイマの値を減算するようにしてもよい。
例えば、演出制御用CPU101aは、図74におけるステップS1720の処理でタイマに250をセットしてステップS1712の処理でタイマの値を1減算したり、図78および図79におけるステップS1738,S1751の処理でタイマに125を初期設定しステップS1712の処理でタイマの値を1減算したり、図81および図82におけるステップS1765,S1775の処理でタイマに8を初期設定しステップS1712の処理でタイマの値を1減算したりする。その場合には、演出制御用CPU101は、図74におけるステップS1713の処理、および図78および図79におけるステップS1735,S1748の処理で、タイマの値が0になったか否か確認する。また、図81および図82におけるステップS1764,S1774の処理で、タイマの値が0または負値であるか否か確認する。
また、この実施の形態では、遊技制御用マイクロコンピュータ560は、いずれかの入賞口スイッチからの検出信号の状態が変化したときにのみ入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信したが、検出信号の状態が変化する/しないに関わらず、遊技制御処理の開始周期(この実施の形態では、4ms)毎に、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信するようにしてもよい。
遊技制御処理の開始周期毎に入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する場合には、遊技制御用マイクロコンピュータ560は、スイッチ処理(図33および図34参照)において、ステップS2109,S2125の演算結果に関わらず、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する制御を行う。
また、演出制御用CPU101は、図74および図75に示すステップS1718,S1724の処理で入力ポート0,2の状態を示すデータにおいて「1」に変化したビットがないことを確認した場合には、RAMに格納される前回値と入力ポート状態1指定コマンドまたは入力ポート状態2指定コマンドのデータとを比較することによって、入力ポート0,2の状態を示すデータにおいて「0」に変化したビットがあるか否か確認し、「0」に変化したビットがあることを確認した場合にステップS1719,S1725の処理を実行する。入力ポート0,2の状態を示すデータにおいて「0」に変化したビットがあるか否か確認するのは、図74および図75に示された処理では、遊技制御用マイクロコンピュータ560が入力ポート0,2のいずれかのビットが変化した場合に、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信することが前提であったのに対して、検出信号の状態が変化する/しないに関わらず遊技制御処理の開始周期毎に入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する場合には入力ポート0,2の状態を示すデータにおいて「1」に変化したビットも「0」に変化したビットも存在しないことがあるからである。
なお、検出信号の状態が変化する/しないに関わらず遊技制御処理の開始周期毎に入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する場合でも、図78,79に示された処理および図81,82に示された処理については、演出制御用CPU101は、同様の処理を実行すればよい。
以上に説明したように、この実施の形態によれば、所定の払出条件が成立したときに(第1始動入賞口13や、第2始動入賞口14、大入賞口、普通入賞口29,30への入賞があったときに)、所定数分(本例では、10個分)の遊技球を払い出すための所定の払出条件が成立したことを示す払出条件成立信号(入賞信号)を外部出力する。そのため、払出条件成立信号(入賞信号)を外部出力することによって、大当り遊技状態中の払出数を正確に把握することができる。
また、この実施の形態によれば、遊技制御手段が出力したコマンドにもとづいて、遊技機に設けられている電気部品(演出表示装置9や球払出装置97)を制御する電気部品制御手段(演出制御手段や払出制御手段)が、遊技制御手段からのコマンドにもとづいて、入賞を検出するスイッチからの検出信号の入力が継続している期間(図72参照)または検出信号の入力頻度が所定の閾値を越えた(図76参照)場合に異常が生じたと判定するので、遊技制御手段の処理負担を増大させることなく、入賞を検出するスイッチに対する不正行為を確実に検知することができる。
また、遊技制御手段は、検出信号の入力状態が変化したときにのみ検出信号の入力状態を示すコマンドを出力するので、コマンドの出力周期によって遊技制御手段の制御周期を把握することにもとづく不正行為も防止することができる。すなわち、例えば、遊技制御手段の制御周期毎に常にコマンドを出力するように構成した場合には、遊技制御手段と電気部品制御手段との間のコマンドを監視することによって遊技制御手段の制御周期を把握可能になるが、検出信号の入力状態が変化したときにのみ検出信号の入力状態を示すコマンドを出力するように構成することによって、コマンドにもとづく遊技制御手段の制御周期の把握が困難になる。
また、この実施の形態によれば、所定の払出条件が成立したことにもとづいて、成立したその所定の払出条件に応じた賞球個数を用いて所定の演算(本例では、賞球個数の加算)を行って累積値(入賞カウンタの値)を更新し(ステップS5118参照)、更新された累積値が所定数に達したことにもとづいて、払出条件成立信号を外部出力する。そして、払出条件成立信号の外部出力にともなって、所定数を用いて所定の演算とは逆方向の演算(本例では、10減算)を行って累積値を更新する(ステップS5121参照)。そのため、制御負担を増加させることなく、所定の払出条件が成立したときの遊技状況(例えば、賞球予定数)を外部で正確に把握することができる。
なお、一般に、遊技機では、大当り遊技状態を終了した後、少なくとも所定期間(例えば、大当り遊技の最終ラウンドを終了してから30秒。エンディング演出を終了してからは20秒。)を経過するまでに、その大当り遊技状態中に成立した特定払出条件(大入賞口への入賞)にもとづく払出制御を終了するように構成されていることが多い。このような場合、大当り遊技状態を終了した後、所定期間を経過する前に大当り図柄が導出表示されたことにもとづいて、払出制御の終了前であっても、次の大当り遊技状態に制御可能である。このように、前回の大当り遊技に対する払出制御が終了する前に次の大当りが発生可能に構成された遊技機であっても、この実施の形態では、所定数分の遊技球を払い出すための所定の払出条件が成立したことを示す払出条件成立信号(入賞信号)を外部出力するので、大当り遊技状態中の払出数を正確に把握することができる。
例えば、ホールコンピュータなどの外部装置側で賞球数を認識可能とするために、実際に遊技球が払い出されたことを示す信号(例えば、この実施の形態で示した賞球情報)のみを外部出力するように構成することも考えられる。しかし、上記のように、前回の大当り遊技に対する払出制御が終了する前に次の大当りが発生可能に構成された遊技機である場合には、賞球情報を外部出力するのみでは、今回の大当り遊技中の入賞に対して行われた賞球であるか、前回の大当り遊技中の入賞に対して行われた賞球であるかを把握できない場合が生じ、ホールコンピュータなどの外部装置側で賞球数を正確に認識できない事態が生じてしまう。そこで、この実施の形態では、所定の払出条件が成立した段階(入賞が発生した段階)で入賞信号を外部出力することによって、信号を外部出力したときには既に次の大当りが発生してしまっているような事態を防止することができ、ホールコンピュータなどの外部装置側で賞球数を正確に認識できなくなる事態を防止している。
なお、例えば、特開2006−296570号公報に記載された遊技機を用いれば、所定の払出条件が成立したことにもとづいて、所定数分の遊技球を払い出すための所定の払出条件が成立したことを示す信号を外部出力することができる。しかし、特開2006−296570号公報に記載された遊技機では、正常時に所定数分(10個分)の払出条件が成立したことにもとづいて第1賞球情報を外部出力する一方で、賞球払出エラー発生時には所定数分(10個分)の払出条件が成立したことにもとづいて第2賞球情報を外部出力しており、正常時と賞球払出エラー発生時とで異なる種類の信号を外部出力している。また、特開2006−296570号公報に記載された遊技機では、賞球払出エラー発生時に賞球払出動作が停止した場合に第2賞球情報を外部出力しているにすぎず、前回の大当り遊技に対する払出制御が終了する前に次の大当りが発生した場合には、賞球数に関する情報を外部出力できるとはかぎらない。これに対して、この実施の形態では、前回の大当り遊技に対する払出制御が終了する前に次の大当りが発生可能に構成された遊技機である場合を想定し、所定の払出条件が成立した段階(入賞が発生した段階)で入賞信号を外部出力することによって、ホールコンピュータなどの外部装置側で賞球数を正確に認識できるようにしている。
また、特開2006−296570号公報に記載された遊技機では、所定の払出条件として賞球数の異なる複数種類の払出条件が存在する場合を想定していない。これに対して、この実施の形態では、成立したその所定の払出条件に応じた賞球個数を累積し、累積値が所定数に達したことにもとづいて入賞信号を外部出力するので、賞球個数が3個や10個、15個などと異なる複数種類の払出条件が存在する場合であっても、所定数分(例えば、10個)の遊技球を払い出すための所定の払出条件が成立したか否かの判定処理が複雑になることを防止することができ、払出条件成立信号(入賞信号)を外部出力するための制御負担が増加してしまうことを防止することができる。
なお、この実施の形態では、正確には、ステップS31の情報出力処理で入賞信号が出力される直前に実行された賞球コマンド出力カウンタ加算処理において、累積値(入賞カウンタの値)が10減算される(入賞信号の出力の前に累積値の更新が行われる)場合を示しているが、累積値の更新の仕方は、この実施の形態で示したものにかぎられない。例えば、入賞信号の外部出力にともなって更新するものであれば、入賞信号を出力した後に累積値の更新を行うように構成してもよい。
また、この実施の形態では、所定の払出条件の成立に応じて所定の演算として入賞カウンタの値に賞球個数を加算し(ステップS5118参照)、払出条件成立信号の外部出力にともなって逆方向の演算として入賞カウンタの値を10減算する場合を示したが(ステップS5121参照)、入賞カウンタの更新の仕方は、この実施の形態で示したものにかぎられない。例えば、所定の払出条件の成立に応じて所定の演算として入賞カウンタの値から賞球個数を減算し、払出条件成立信号の外部出力にともなって逆方向の演算として入賞カウンタの値に10加算するように構成してもよい。
なお、この実施の形態では、遊技制御用マイクロコンピュータ560側で累積値の更新を行って入賞信号を外部出力する場合を示したが、払出制御用マイクロコンピュータ370側で賞球個数コマンドの受信にもとづいて累積値を更新し入賞信号を外部出力するように構成してもよい。この場合、例えば、払出制御用マイクロコンピュータ370は、受信した賞球個数コマンドで示される賞球個数にもとづいて、賞球予定数の累積値を更新し、累積値が10以上となるごとに、入賞信号を外部出力するようにしてもよい。なお、このように構成する場合、遊技制御用マイクロコンピュータ560は、前回送信した賞球個数コマンドで指定した賞球数の払い出しが完了する前であっても、新たに払出条件が成立(いずれかの入賞口への入賞が発生)したタイミングで次の賞球個数コマンドを送信するように構成とともに、払出制御基板37をバックアップ電源でバックアップするようにし、停電が発生しても、所定時間は払出制御用マイクロコンピュータ370側で更新する累積値などを保持できるようにすることが望ましい。そのように構成すれば、いずれかの入賞口への入賞が発生したタイミングで入賞信号を外部出力できるとともに、遊技機への電力供給が遮断された場合であっても、遊技者に不利な状態が発生することを防止することができる。また、払出制御用マイクロコンピュータ370は、入賞信号を直接ターミナル基板160を介して外部出力するようにしてもよく、遊技制御基板(主基板)31を一旦経由して外部出力するようにしてもよい。
また、払出制御用マイクロコンピュータ370側で入賞信号を外部出力するように構成する場合、例えば、入賞信号を出力するための処理と賞球情報を出力するための処理とを共通ルーチン化して構成するようにしてもよい。この場合、例えば、この実施の形態で示した入賞タイマセット処理(図41参照)と同様の構成により、払出制御用マイクロコンピュータ370側で実行する情報出力処理(ステップS759参照)において、入賞信号を出力するための処理と賞球情報を出力するための処理とを共通ルーチン化すればよい。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、遊技機への電源投入時に初期化処理が実行されたこと、および所定のエラー(本例では、第2始動入賞口14への異常入賞)が発生していると判定されたことを含む所定の信号出力条件が成立したことにもとづいて、遊技機の外部にセキュリティ信号を出力する。この場合、遊技制御用マイクロコンピュータ560は、初期化処理が実行されたときと所定のエラーが発生していると判定されたときとで、遊技機に設けられた共通の出力端子(ターミナル基板の共通のコネクタCN8)からセキュリティ信号を出力する。そのため、初期化処理が実行されたことにもとづいてセキュリティ信号を出力することによって、不正に初期化処理(RAMのクリアなど)を行わせて大当りを狙う不正行為が行われている可能性を外部のホールコンピュータなどで認識可能とすることができ、遊技機への電源投入時に行われる不正行為を防止することができる。また、初期化処理が実行されたときと所定のエラーが発生していると判定されたときとで共通の出力端子にセキュリティ信号を出力するので、外部出力用の信号線の無駄を低減することができる。従って、遊技機への電源投入時に行われる不正行為を防止しつつ、外部出力用の信号線の無駄を低減することができる。
また、この実施の形態によれば、また、セキュリティ信号を出力しているときに新たに所定の信号出力条件が成立(本例では、新たに第2始動入賞口14への異常入賞を検出)した場合には、セキュリティ信号を出力する出力時間を延長する。そのため、新たに所定の信号出力条件が成立したときに、新たなセキュリティ信号を出力するのではなく、出力中のセキュリティ信号の出力時間を延長することによって、セキュリティ信号の出力にかかる制御負担を軽減することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、第2始動口スイッチ14a(近接スイッチ)から入力した検出信号と入賞確認スイッチ14b(フォトセンサ)から入力した検出信号とにもとづいて、第2始動口スイッチ14aにて検出された遊技球数と入賞確認スイッチ14bにて検出された遊技球数との差が所定の閾値を超えた(本例では、10以上となった)と判定すると、所定のエラーとして、第2始動入賞口14への異常入賞が発生したと判定する。なお、この実施の形態では、第2始動口スイッチ14aと入賞確認スイッチ14bとを互いに異なる検出方式のセンサ(本例では、近接スイッチとフォトセンサ)により構成している。そのため、遊技球を検出するスイッチに対する不正行為をより確実に検知して、確実な不正行為対策を講ずることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、第2始動口スイッチ14aから検出信号を入力したことのみにもとづいて、特別図柄の変動表示を実行するとともに賞球払出処理を実行する。また、入賞確認スイッチ14bから入力した検出信号は、第2始動入賞口14への異常入賞が発生したか否かの判定のみに用いられる。そのため、特別図柄の変動表示および賞球払出処理については、一方のスイッチにおける検出結果にもとづいて処理を行うので、不正行為対策の強化に伴う処理負担の増加を防止することができる。
また、この実施の形態において、遊技制御用マイクロコンピュータ560は、第2始動口スイッチ14aにて検出された遊技球数と入賞確認スイッチ14bにて検出された遊技球数との差が、所定の閾値として、第2始動入賞口14内が球詰まり状態となったときの第2始動口スイッチ14aにおける遊技球の検出数と入賞確認スイッチ14bにおける遊技球の検出数との差分(例えば、3個)よりも多い値(例えば、10)を超えたか否かを判定するように構成してもよい。そのように構成すれば、第2始動入賞口14内が球詰まり状態となってしまった場合に、誤って第2始動入賞口14への異常入賞が発生したと判定することを防止することができる。従って、不正行為対策の強化に伴う誤判定を防止することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、遊技機への電源投入時に初期化処理が実行されたときと所定のエラー(本例では、第2始動入賞口14への異常入賞)が発生していると判定されたときとで、異なる時間にわたってセキュリティ信号を出力する。具体的には、この実施の形態では、遊技機への電源投入時に初期化処理が実行された場合には30秒間に亘ってセキュリティ信号が外部出力され、第2始動入賞口14への異常入賞が検出された場合には4分間にわたってセキュリティ信号が外部出力される。そのため、セキュリティ信号の出力時間を判定することによって、ホールコンピュータなどの外部装置において、初期化処理が行われた場合であるか所定のエラーが発生している場合であるかを判別することが可能となる。
また、この実施の形態によれば、停電復旧したときに、バックアップRAMに高確率状態中情報(確変フラグ)が記憶されていることにもとづいて、高確率状態中信号(高確中信号)をターミナル基板160を介して外部出力する。この場合、停電復旧してから所定条件が成立するまで(本例では、最初の大当りが発生するまで)高確中信号の出力を継続し、所定条件が成立すると高確中信号の出力を禁止する。そのため、ホール側で高確中信号の出力の有無を一括して確認することを可能とし、遊技機の初期化が行われたか否かを1台1台確認する手間を省くことが可能となる。従って、高確率状態であることを報知しないように構成した遊技機において、遊技機の初期化を行う場合の作業負担を軽減することができる。
また、この実施の形態によれば、第1始動入賞口13および第2始動入賞口14に始動入賞したことにもとづいて入賞領域通過信号(始動口信号)を外部出力する。また、この実施の形態によれば、入賞領域通過信号を外部出力するために用いる信号出力ルーチンと共通の信号出力ルーチン(情報出力処理中のステップS1020,S1023の入賞タイマセット処理)を用いて払出条件成立信号(入賞信号)を外部出力する。そのため、入賞領域通過信号と払出条件成立信号とを共通の信号出力ルーチンを用いて外部出力することができ、信号を外部出力するためのプログラム容量の削減を図ることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、所定の払出条件が成立したことにもとづいて、賞球個数を特定可能な払出数信号(賞球個数コマンド)を払出制御用マイクロコンピュータ370に出力し、その払出数信号を出力するための処理(賞球処理(ステップS32参照)中の賞球コマンド出力カウンタ加算処理(ステップS501参照))において累積値を更新する処理を実行する。そのため、払出数信号を出力するための処理と累積値を更新する処理とを共通化することができ、制御負担を軽減することができる。例えば、図18および図19に示すように、賞球コマンド出力カウンタ加算処理において、賞球個数コマンドを出力するために用いる賞球コマンド出力カウンタの更新の処理と、入賞信号の出力に用いる入賞カウンタの更新の処理とを、1つのポインタを兼用して用いて実行することができ、遊技制御用マイクロコンピュータ560の処理負担の軽減を図ることができる。
また、この実施の形態によれば、入賞信号に加えて、さらに、実際に払出手段(球払出装置97)によって特定数(本例では、10個)の遊技球が払い出されたことを示す払出済信号(賞球情報)を外部出力する。そのため、所定の払出条件が成立したことにもとづく賞球予定数と実際に払い出された遊技球数との差分も外部で把握することが可能となり、払出状況の異常の有無の判定も外部で行うことを可能とすることができる。
なお、この実施の形態では、入賞信号の出力の判定に用いる所定数と賞球情報の出力の判定に用いる特定数とがともに10個である場合を説明したが、入賞信号や賞球情報の出力の判定に用いる所定数や特定数は、この実施の形態で示したものにかぎられない。例えば、所定数として15個分の遊技球を払い出すための所定の払出条件が成立したことにもとづいて入賞信号を出力し、特定数として15個分の遊技球が払い出されたことにもとづいて賞球情報を出力してもよい。また、例えば、所定数と特定数とは同じ数である必要はなく、所定数として15個分の遊技球を払い出すための所定の払出条件が成立したことにもとづいて入賞信号を出力し、特定数として20個分の遊技球が払い出されたことにもとづいて賞球情報を出力するなど、様々な態様が考えられる。
また、この実施の形態によれば、払出条件成立信号(入賞信号)を外部出力するときに、信号出力期間計測タイマ(入賞情報記憶タイマ)を用いて払出条件成立信号の出力を開始してから特定期間(本例では、100ms)が経過したか否かを判定し、特定期間を経過したと判定するまで払出条件成立信号の出力を継続する。また、信号出力期間計測タイマの値は電源バックアップされたRAM55に記憶され、電力供給が開始されたときに、バックアップRAMに記憶する信号出力期間計測タイマの値をクリアする(ステップS9104参照)。そのため、払出条件成立信号の出力中に電力供給が中断したことにより、払出条件成立信号の1回の出力が2回の出力と誤って外部で認識されてしまうことを防止することができる。
また、この実施の形態によれば、電力供給が開始されたときに、バックアップRAMに高確率状態中情報(確変フラグ)が記憶されていることにもとづいて、高確率状態中信号(高確中信号)を外部出力することを許可する信号出力許可情報(高確中出力許可フラグ)を設定し(図10に示すホットスタート処理のステップS9103参照)、信号出力許可情報が設定されていることにもとづいて、高確率状態中信号を外部出力する。また、信号出力許可情報設定手段が信号出力許可情報を設定するための処理(図10に示すホットスタート処理)において、バックアップRAMが記憶する信号出力期間計測タイマの値をクリアする(図10に示すホットスタート処理のステップS9104参照)。そのため、信号出力許可情報を設定するための処理と信号出力期間計測タイマの値をクリアするための処理とを共通化することができ、制御負担を軽減することができる。
すなわち、この実施の形態では、入賞情報記憶タイマの値が記憶されるRAM55は電源バックアップされているので、そのままでは、入賞信号の出力中に停電が発生した場合には、停電により入賞信号の出力が一旦途切れた後、電力復旧後にバックアップされている入賞情報記憶タイマの値にもとづいて入賞信号の出力が再開されてしまう。そのため、実際には入賞信号の1回の出力が途中で中断再開しただけであるにもかかわらず、ホールコンピュータなどの外部装置側から見ると、恰も入賞信号が2回出力されたと誤って認識されてしまう事態が生じてしまう。そこで、この実施の形態では、入賞信号の出力中に停電が発生した場合には、電力復旧時に入賞情報記憶タイマの値を強制的にクリアすることによって入賞信号の出力が再開されないようにし、入賞信号の1回の出力が2回の出力と誤って外部で認識されてしまうことを防止している。
また、この実施の形態によれば、払出条件成立信号(入賞信号)を含む外部出力信号(図柄確定回数1信号や、始動口信号、大当り1信号、大当り2信号、大当り3信号、時短信号、セキュリティ信号、高確中信号、賞球情報)を外部装置(例えば、ホールコンピュータ)に出力するための1の外部出力基板(ターミナル基板160)と、遊技制御用マイクロコンピュータ560が搭載された遊技制御基板(主基板)31とを備える。そして、外部出力基板は、遊技制御基板31から外部出力信号が入力され、その入力された外部出力信号を外部装置に出力する。そのため、外部出力基板への外部出力信号用の配線の取り回しを容易化することができる。
なお、この実施の形態では、払出制御用マイクロコンピュータ370からの確認コマンド(接続OKコマンド)を受信していることを条件に、遊技制御用マイクロコンピュータ560が賞球個数コマンドを送信するように構成する場合を説明したが、払出制御用マイクロコンピュータ370が備えるRAMも電源バックアップするようにし、払出制御用マイクロコンピュータ370からの確認コマンドを待たずに賞球個数コマンドを送信可能に構成してもよい。そのように構成された遊技機においても、この実施の形態と同様の構成に従って、所定数分(本例では、10個分)の遊技球を払い出すための所定の払出条件が成立したことを示す払出条件成立信号(入賞信号)を外部出力するように構成すれば、同様に、制御負担を増加させることなく、所定の払出条件が成立したときの遊技状況(例えば、賞球予定数)を外部で正確に把握できるようにすることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とは、シリアル通信で制御コマンドを送受信する。また、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370との通信接続状態を確認するための接続確認コマンドを、所定期間(本例では1秒)が経過する毎に払出制御用マイクロコンピュータ370に送信する。また、払出制御用マイクロコンピュータ370は、接続確認コマンドを受信したことにもとづいて接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する。この場合、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560が制御状態(本例では、賞球エラー、満タンエラー、球切れエラー、および払出個数異常エラー)を認識可能な態様で接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する。そのような構成により、シリアル通信方式を用いることにより、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との配線の取り回しの容易化を図ることができる。また、払出制御用マイクロコンピュータ370が接続確認コマンドの受信にもとづいて定期的に出力する接続OKコマンドに制御状態を乗せることにより、制御状態信号(制御状態が付加された応答信号)を送信することができる。そのため、制御状態信号の出力タイミングを考慮することなく制御状態信号の取りこぼし等の発生を防止することができ、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信を確実に行うことができる。なお、この実施の形態では、接続確認コマンドを送信する周期(間隔)を1秒としていたが、0.5秒等としてもよい。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、払出制御の実行を終了したときに、賞球プロセスタイマに所定期間(本例では1秒)を再設定して賞球プロセスタイマによる計測制御を開始する(ステップS52505参照)。そして、遊技制御用マイクロコンピュータ560は、賞球個数が記憶されていなければ(具体的には、ステップS52301で賞球コマンド出力カウンタの中にカウント値が1以上のものがなければ)、再設定した賞球プロセスタイマがタイムアウトしたことにもとづいて、新たな接続確認コマンドを払出制御用マイクロコンピュータ370に送信する。そのため、払出制御の実行の終了後に新たな接続確認コマンドを送信するまでの間にインターバル期間を設けることができ、払出制御の実行の終了時における処理が集中して新たな接続確認コマンドの取りこぼし等が発生することを防止することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、接続確認コマンドの送信タイミングにかかわらず、入賞を検出したことにもとづいて、賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。また、払出制御用マイクロコンピュータ370は、賞球個数コマンドを受信したことにもとづいて賞球個数受付コマンドを送信するとともに、払出制御の実行の実行中に賞球準備中コマンドを、所定の払出中信号出力期間(本例では1秒)毎に遊技制御用マイクロコンピュータ560に送信する。この場合、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560が制御状態(本例では、賞球エラー、満タンエラー、球切れエラー、および払出個数異常エラー)を認識可能な態様で賞球準備中コマンドを遊技制御用マイクロコンピュータ560に送信する。また、遊技制御用マイクロコンピュータ560は、賞球個数受付コマンドを受信したことにもとづいて、接続確認コマンドの送信を停止する。そのため、払出制御の実行中は無駄に接続確認コマンドの送信制御を行わないようにすることによって、遊技制御用マイクロコンピュータ560の制御負担を軽減することができる。また、払出制御の実行中であっても、賞球準備中コマンドに制御状態を乗せることにより制御状態信号を出力することができるため、遊技制御用マイクロコンピュータ560側で制御状態を認識することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、賞球終了コマンドを受信した後、賞球個数が記憶されていれば(具体的には、ステップS52301で賞球コマンド出力カウンタの中にカウント値が1以上のものがあれば)、接続確認コマンドの送信にかかわらず、直ちに新たな賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。そのため、払出制御の実行処理の迅速化を図ることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ60は、受信した接続OKコマンドで示される制御状態にもとづいて、所定のエラー(本例では、賞球エラー、満タンエラー、球切れエラー、および払出個数異常エラー)が発生しているか否かを判定する。そして、遊技制御用マイクロコンピュータ60は、所定のエラーが発生していないと判定したことを条件として、賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。そのため、エラー状態となっていて正常に払出制御を行えない場合に賞球個数コマンドを送信してしまう不都合を防止することができる。特に、この実施の形態では、払出制御用マイクロコンピュータ370が備えるRAMはバックアップ電源によりバックアップされていないので、払出制御に異常が生じているときに賞球個数コマンドを送信してしまうと、電源リセットなどにより賞球個数の記憶が消滅し、遊技者に大きな不利益を与えてしまう可能性がある。そこで、この実施の形態では、払出制御に異常が生じている場合には、バックアップ電源でバックアップされている遊技制御用マイクロコンピュータ560側で賞球個数の記憶を保持したまま賞球個数コマンドの送信を保留するように制御することによって、そのような不利益が生じることを防止することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、接続確認コマンドを送信した後、接続OKコマンドを受信できなかった場合には、接続確認コマンドを送信する時間間隔を長くし、特定期間(本例では10秒)が経過する毎に接続確認コマンドを送信する制御に切り替える。そのため、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信状態が不安定な状態では、接続確認コマンドを送信するまでのインターバル期間を長くすることによって、接続確認コマンドの送信処理を無駄に実行する頻度を低減し、無駄な処理負担を軽減することができる。
また、この実施の形態によれば、払出制御用マイクロコンピュータ370は、所定のエラー(本例では、賞球エラー、満タンエラー、球切れエラー、および払出個数異常エラー)が発生したときに、遊技制御用マイクロコンピュータ560が所定のエラーを認識可能な情報を、接続OKコマンドの特定ビットを異ならせることにより設定し、当該設定がなされた接続OKコマンドを遊技制御用マイクロコンピュータ560に送信する。また、遊技制御用マイクロコンピュータ560は、受信した接続OKコマンドに設定された所定のエラーを認識可能な情報をそのまま設定した枠状態表示コマンドを演出制御用マイクロコンピュータ100に送信する。そして、演出制御用マイクロコンピュータ100は、枠状態表示コマンドを受信したことにもとづいて、演出装置(本例では、演出表示装置9)を制御して所定のエラーが発生したことを報知する制御を行う。そのため、演出装置を用いて所定のエラーが発生したことを報知することができるとともに、遊技制御用マイクロコンピュータ560の処理負担を軽減することができる。
また、この実施の形態によれば、払出制御用マイクロコンピュータ370は、賞球や貸し球の払い出すべき数の未払出の遊技球を超えた払出過多数と払い出すべき数の未払出の遊技球に満たなかった払出不足数とを払出個数異常カウンタを用いて累積的にカウントする。そして、払出個数異常カウンタの値が所定の払出個数異常エラー判定値(本例では2000)以上となると、払出制御の実行を停止させて払出停止状態に制御する。そのため、各々の払出制御について判断するのではなく、累積的にカウントアップされた払出個数異常カウンタの値にもとづいて異常な状況下で実行された払出制御を総合的に判断して払出制御の実行を停止させることができる。従って、不正に遊技球を払い出させる行為をより的確に防止することを可能とすることができる。
また、この実施の形態によれば、払出制御用マイクロコンピュータ370は、所定基準数(本例では2)以上の払出不足数が発生したときに払出個数異常カウンタの値をカウントアップする。そのため、必要以上に払出制御の実行を停止させてしまう不都合を防止することができる。すなわち、遊技機の稼働状態ではごく少数(本例では1個)の払出不足数が生じることが少なからずあるのであるから、所定基準数(本例では2)以上の払出不足数が発生したことを条件としてカウントアップを行うことによって、必要以上に払出制御の実行を停止させてしまうことを防止している。
また、この実施の形態によれば、払出制御用マイクロコンピュータ370は、払出不足数が発生したときに球払出装置97を駆動制御して遊技球を1つだけ払い出させる再払出制御を実行する。そして、再払出制御を実行しても遊技球の払い出しを検出しなかった場合には払出個数異常カウンタの値をカウントアップする。そのため、払出不足数が少ない場合でも適切に払出個数異常カウンタのカウント値に反映させて払出制御の実行の停止を行うことができ、不正に遊技球を払い出させる行為を防止する不正対策をより強化することができる。
また、この実施の形態によれば、払出個数異常エラーが検出されて払出停止状態に制御されたときに、遊技機の電源リセットが行われたことを条件として払出停止状態を解除する。そのため、払出停止状態を解除するためには遊技店員が異常状態を確認した上で解除操作を行わなければならないので、不正に払出停止状態を解除されて異常な状態のまま遊技を継続されてしまうことを防止することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560が備えるRAM55は、遊技機への電力供給が停止してもバックアップ電源により記憶内容を所定期間保持可能である。また、遊技制御用マイクロコンピュータ560は、払出停止状態に制御されているときには、入賞が生じても賞球個数コマンドの送信を禁止する。そのため、不正行為によらない遊技機側に起因する異常により払出停止状態となったにもかかわらずRAM55記憶された賞球個数(具体的には、賞球コマンド出力カウンタの値)がクリアされてしまう事態を防止することができ、遊技者に対して不利益が生じることを防止することができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、賞球個数コマンドを送信するタイミングで賞球個数カウンタに賞球個数を加算し、賞球情報を受信したことにもとづいて賞球個数カウンタの値を10減算する。そして、賞球個数カウンタの値が所定の賞球不足判定値(本例では501)以上となったことにもとづいて賞球不足エラーと判定し、賞球個数カウンタの値が所定の賞球過剰判定値(本例では0)未満となったことにもとづいて賞球過剰エラーと判定する。そのため、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との双方で異常状態を検出することができる。従って、不正に遊技球を払い出させる行為を防止する不正対策をより強固なものとすることができる。
また、この実施の形態によれば、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370との通信の接続状態を示す接続信号を出力ポート57を介して払出制御用マイクロコンピュータ370に送信するように構成されているので、払出制御用マイクロコンピュータ370側でどのタイミングにおいても通信の接続状態を確認することができるため、通信の接続状態が異常状態であるときに賞球の払い出しが行われることを確実に防止することができる。
なお、上記の実施の形態では、遊技制御用マイクロコンピュータ560が、通常時は接続OKコマンドの受信後1秒経過後に接続確認コマンドを送信し、通信エラーが発生しているときは(例えば、接続OKコマンドを受信できないときには)、接続確認コマンドの送信後10秒経過後に接続確認コマンドを送信するように構成し、1秒や10秒の期間をタイマ(ソフトウェアで構成されたカウンタ)で計測するように構成していたが、内部クロックによってハードウェアとして更新されるカウンタが所定値になったとき(1秒や10秒)発生する内部割込で接続確認コマンドを送信するようにしてもよい。その場合、接続OKコマンドの受信によってカウンタをクリアするようにするか、所定値となって内部割込を発生させたらカウンタがクリアされるものであればよい。
[実施の形態2]
次に、第2の実施の形態を説明する。第1の実施の形態では、演出制御手段が入賞口スイッチの異常検出処理を行ったが、第2の実施の形態では、払出制御手段が入賞口スイッチの異常検出処理を行う。
図83は、第2の実施の形態における遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。図83に示すように、第2の実施の形態では、第1の実施の形態における制御コマンド(図13参照)に対して、続く8ビットのデータが入力ポート0の入力ポート状態指定のデータであることを示す入力ポート状態1指定コマンド(「30(H)」)と、続く8ビットのデータが入力ポート2の入力ポート状態指定のデータであることを示す入力ポート状態2指定コマンド(「31(H)」)とが追加されている。
第2の実施の形態では、遊技制御用マイクロコンピュータ560は、図33に示すステップS2111の処理において、演出制御コマンドを送信する制御に代えて、入力ポート状態1指定コマンドと入力ポート0の状態を示すデータ(入力ポート0の入力ポート状態指定のデータ)をシリアル通信回路505を介して払出制御用マイクロコンピュータ370に送信する制御を行う。すなわち、シリアル通信回路505のデータレジスタに入力ポート状態1指定コマンドを設定し、ステータスレジスタのビット6(TC)が「1」になると(「入力ポート状態1指定コマンド」の送信完了を意味する。)、入力ポート0の入力ポート状態指定のデータをシリアル通信回路505のデータレジスタに設定する。
また、第2の実施の形態では、遊技制御用マイクロコンピュータ560は、図34に示すステップS2127の処理において、演出制御コマンドを送信する制御に代えて、入力ポート状態2指定コマンドと入力ポート2の状態を示すデータ(入力ポート2の入力ポート状態指定のデータ)をシリアル通信回路505を介して払出制御用マイクロコンピュータ370に送信する制御を行う。すなわち、シリアル通信回路505のデータレジスタに入力ポート状態2指定コマンドを設定し、ステータスレジスタのビット6(TC)が「1」になると(「入力ポート状態2指定コマンド」の送信完了を意味する。)、入力ポート2の入力ポート状態指定のデータをシリアル通信回路505のデータレジスタに設定する。
なお、入力ポート状態1指定コマンド(「30(H)」)や入力ポート状態2指定コマンド(「31(H)」)に続く8ビットのデータで入力ポート0,2の入力ポート状態指定のデータを送信するのではなく、入力ポート0,2の入力ポート状態指定のデータを、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドの下位4ビットに設定するようにしてもよい。その場合には、遊技制御用マイクロコンピュータ560が、例えば入力ポート0(図7参照)のビット3,2,0の値を入力ポート状態1指定コマンドのビット3,2,0に設定したり、入力ポート2(図7参照)のビット1,0の値を入力ポート状態2指定コマンドのビット1,0に設定したりする。
また、入力ポート状態1指定コマンド(「30(H)」)や入力ポート状態2指定コマンド(「31(H)」)を使用せず、既存のコマンドを利用して入力ポート0,2の状態を示すデータを送信するようにしてもよい。例えば、接続確認コマンド(図83参照)の下位4ビットに設定する。
図84は、第2の実施の形態における払出制御用マイクロコンピュータ370の払出制御用CPUが実行するタイマ割込処理を示すフローチャートである。図47に示す第1の実施の形態におけるタイマ割込処理に対して、第2の実施の形態では、ステップS762の異常判定処理が追加されている。
なお、第2の実施の形態では、演出制御用マイクロコンピュータ100は、図67に示されたステップS708の処理を実行しないが、ステップS708の処理を実行してもよい。
第2の実施の形態では、払出制御用マイクロコンピュータ370は、例えば、図48に示す主制御コマンド受信処理で、第1の実施の形態で示した処理に加えて、シリアル通信回路380において入力ポート状態1指定コマンドが受信されたことを確認した後、続いてシリアル通信回路380において受信されたデータを、RAMにおける入力ポート状態1指定コマンド格納領域に格納する処理も実行する。また、シリアル通信回路380において入力ポート状態2指定コマンドが受信されたことを確認した後、続いてシリアル通信回路380において受信されたデータを、RAMにおける入力ポート状態2指定コマンド格納領域に格納する処理も実行する。
図85および図86は、図72に示されたような異常判定を実行する場合のステップS762の異常判定処理の一例を示すフローチャートである。払出制御用マイクロコンピュータ370は、図73に示すように、入賞異常の検出に関して使用するタイマとして、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマを使用する。なお、各タイマはRAMに形成されている。
払出制御用CPU371は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が0以外の値(動作中であることに相当)であるか否か確認する(ステップS911)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS912)。なお、入賞異常の検出方法の他の例(図87、図88、図89、図90参照)のようにタイマ動作中フラグを用い、タイマが動作中であるか否かをタイマ動作中フラグによって確認するようにしてもよい。
また、払出制御用CPU371は、いずれかのタイマの値が1000(1秒に相当)を越えたか否か確認する(ステップS913)。1000を越えたタイマがあれば、ターミナル基板160に入賞異常を示す信号を出力する(ステップS914)。その信号は、遊技機外部のホールコンピュータ等に出力される。
なお、ステップS914の処理において、いずれのスイッチに入賞異常が生じたのかを区別可能な信号を出力するようにしてもよい。
また、払出制御用CPU371は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS916A)。入力ポート状態1指定コマンド受信フラグがセットされていない場合には処理終了する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS917A)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS918A)。
ステップS918Aでは、払出制御用CPU371は、ステップS921Aの処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」になったビットがあれば、そのビットに対応するタイマ(入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、またはカウントスイッチ23に対応するタイマ)に「1」をセットする(ステップS920A)。そして、ステップS921Aに移行する。
また、入力ポート0の状態を示すデータにおいて「1」になったビットがない場合には、「0」になったビットに対応するタイマの値を0に初期化する(ステップS919A)。そして、ステップS921Aに移行する。なお、遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビットが変化した場合に、入力ポート状態1指定コマンドを送信するので、「1」に変化したビットがないということは、「0」に変化したビットが存在することを意味する。
そして、払出制御用CPU371は、入力ポート状態1指定コマンド格納領域のデータを前回値としてRAMに保存する(ステップS921A)。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するので、ステップS918A,S919Aの処理によって、オン状態に変化したスイッチに対応するタイマが動作中になる。そして、動作中になったタイマに対応するビットの値が「0」にならない限りタイマの値は歩進するので(ステップS911,S912の処理により)、タイマの値が1000を越えたということは、スイッチの検出信号の状態が1秒を越えて継続したオン状態であったことを意味する。
また、払出制御用CPU371は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS916B)。入力ポート状態2指定コマンド受信フラグがセットされていない場合には処理終了する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS917B)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」に変化したか否か確認する(ステップS918B)。
ステップS918Bでは、払出制御用CPU371は、ステップS921Bの処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」になったビットがあれば、そのビットに対応するタイマ(第1始動口スイッチ13aに対応するタイマ、第2始動口スイッチ14aに対応するタイマ)に「1」をセットする(ステップS920B)。そして、ステップS921Bに移行する。
また、入力ポート2の状態を示すデータにおいて「1」になったビットがない場合には、「0」になったビットに対応するタイマの値を0に初期化する(ステップS919B)。そして、ステップS921Bに移行する。なお、遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビットが変化した場合に、入力ポート状態2指定コマンドを送信するので、「1」に変化したビットがないということは、「0」に変化したビットが存在することを意味する。
そして、払出制御用CPU371は、入力ポート状態2指定コマンド格納領域のデータを前回値としてRAMに保存する(ステップS921B)。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するので、ステップS918B,S919Bの処理によって、オン状態に変化したスイッチに対応するタイマが動作中になる。そして、動作中になったタイマに対応するビットの値が「0」にならない限りタイマの値は歩進するので(ステップS911,S912の処理により)、タイマの値が1000を越えたということは、スイッチの検出信号の状態が1秒を越えて継続したオン状態であったことを意味する。
また、払出制御用CPU371が、ステップS913,S914の処理を実行することによって、図72に示されたような異常判定を行うことができる。
なお、図85および図86に示すステップS911〜S921Bの処理(ステップS914を除く。)は、図74よび図75に示されたステップS1711〜S1727の処理(ステップS1714,S1715を除く。)と同じである。ただし、演出制御手段では4ms毎にタイマ割込がかかるのに対して、払出制御手段では1ms毎にタイマ割込がかかるので、ステップS913における判定のための値は、ステップS1713における判定のための値とは異なる。
図87および図88は、ステップS762の異常判定処理の他の例を示すフローチャートである。この例では、払出制御用マイクロコンピュータ370は、図76に示されたような異常判定を実行する。
また、払出制御用マイクロコンピュータ370は、図77に示すように、入賞異常の検出に関して使用するタイマとして、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマを使用する。また、入賞異常の検出に関して使用するフラグとして、第2始動口スイッチ14aに対応するタイマ動作中フラグ、第1始動口スイッチ13aに対応するタイマ動作中フラグ、入賞口スイッチ30aに対応するタイマ動作中フラグ、入賞口スイッチ29aに対応するタイマ動作中フラグ、カウントスイッチ23に対応するタイマ動作中フラグを使用する。また、入賞異常の検出に関して使用するカウンタとして、第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ、入賞口スイッチ30aに対応するカウンタ、入賞口スイッチ29aに対応するカウンタ、カウントスイッチ23に対応するカウンタを使用する。なお、各カウンタはRAMに形成されている。
異常判定処理において、払出制御用CPU371は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が動作中(タイマ動作中フラグがオン状態)であるか否か確認する(ステップS911)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS912)。
また、払出制御用CPU371は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS916A)。入力ポート状態1指定コマンド受信フラグがセットされていない場合にはステップS935Aに移行する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS917A)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS931A)。
ステップS931Aでは、払出制御用CPU371は、ステップS939Aの処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」に変化したビットがあれば、そのビットに対応するカウンタ(入賞口スイッチ30aに対応するカウンタ、入賞口スイッチ29aに対応するカウンタ、またはカウントスイッチ23に対応するカウンタ)の値を+1する(ステップS932A)。また、「1」に変化したビットに対応するタイマが動作中でなければ(ステップS933A)、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS934A)。
また、払出制御用CPU371は、いずれかのタイマ(入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、またはカウントスイッチ23に対応するタイマ)の値が500(0.5秒に相当)を越えたか否か確認する(ステップS935A)。500を越えたタイマがなければ、ステップS939Aに移行する。500を越えたタイマがあれば、そのタイマに対応するカウンタの値を確認する(ステップS936A)。カウンタの値が10を越えていれば、ターミナル基板160に入賞異常を示す信号を出力する(ステップS940A)。その信号は、遊技機外部のホールコンピュータ等に出力される。
払出制御用CPU371は、値が10以下のカウンタがあれば、そのカウンタの値を0にクリアする(ステップS937A)。また、対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS938A)。
そして、入力ポート状態1指定コマンド格納領域のデータを、前回値としてRAMに格納する(ステップS939A)。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するが、ステップS931Aの処理で「1」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS932Aの処理は、スイッチの検出信号がオフ状態からオン状態に変化した回数を計数する処理になる。
また、ステップS935A,S936Aの処理で0.5秒が経過した場合にカウンタの値をチェックすることは、0.5秒間のスイッチの検出信号がオン状態に変化した回数を確認することに相当する。すなわち、図76に示されたような異常判定が実行されることになる。
また、払出制御用CPU371は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS916B)。入力ポート状態2指定コマンド受信フラグがセットされていない場合にはステップS935Bに移行する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS917B)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」に変化したか否か確認する(ステップS931B)。
ステップS931Bでは、払出制御用CPU371は、ステップS939Bの処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」に変化したビットがあれば、そのビットに対応するカウンタ(第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ)の値を+1する(ステップS932B)。また、「1」に変化したビットに対応するタイマが動作中でなければ(ステップS933B)、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS934B)。
また、払出制御用CPU371は、いずれかのタイマ(第2始動口スイッチ14aに対応するカウンタ、第1始動口スイッチ13aに対応するカウンタ)の値が500(0.5秒に相当)を越えたか否か確認する(ステップS935B)。500を越えたタイマがなければ、ステップS939Bに移行する。500を越えたタイマがあれば、そのタイマに対応するカウンタの値を確認する(ステップS936B)。カウンタの値が10を越えていれば、ターミナル基板160に入賞異常を示す信号を出力する(ステップS940B)。その信号は、遊技機外部のホールコンピュータ等に出力される。
払出制御用CPU371は、値が10以下のカウンタがあれば、そのカウンタの値を0にクリアする(ステップS937B)。また、対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS938B)。
そして、入力ポート状態2指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS939B)。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するが、ステップS931Bの処理で「1」に変化したビットがあったということは、入力ポート2の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS932Bの処理は、スイッチの検出信号がオフ状態からオン状態に変化した回数を計数する処理になる。
また、ステップS935B,S936Bの処理で0.5秒が経過した場合にカウンタの値をチェックすることは、0.5秒間のスイッチの検出信号がオン状態に変化した回数を確認することに相当する。すなわち、図76に示されたような異常判定が実行されることになる。
図28(B)に例示されたような不正行為が行われると、スイッチの検出信号の状態は図28(C)の下段に例示されたような状態になる可能性があるが、図87および図88に示された処理によって、図28(C)の下段に示されたような信号状態が生ずると、異常が検出される(図76参照)。すなわち、図87および図88に示された処理は、図28に例示されたような不正行為を検知できる処理である。
なお、図87および図88に示すステップS911〜S939B(ステップS940Aを除く)の処理は、図78および図79に示されたステップS1711〜S1752(ステップS1740,S1741を除く)の処理と同じである。ただし、演出制御手段では4ms毎にタイマ割込がかかるのに対して、払出制御手段では1ms毎にタイマ割込がかかるので、ステップS935A,S935Bにおける判定のための値は、ステップS1735,S1748における判定のための値とは異なる。
図89および図90は、ステップS762の異常判定処理のさらに他の例を示すフローチャートである。この例では、払出制御用マイクロコンピュータ370は、図80に示されたような異常判定(検出信号のオフ期間が所定期間(例えば、32ms)以下である場合に異常が生じたと判定)を実行する。
また、払出制御用マイクロコンピュータ370は、図87および図88に示された例と同様に、入賞異常の検出に関して、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマ、カウントスイッチ23に対応するタイマを使用する。また、入賞異常の検出に関して使用するフラグとして、第2始動口スイッチ14aに対応するタイマ動作中フラグ、第1始動口スイッチ13aに対応するタイマ動作中フラグ、入賞口スイッチ30aに対応するタイマ動作中フラグ、入賞口スイッチ29aに対応するタイマ動作中フラグ、カウントスイッチ23に対応するタイマ動作中フラグを使用する。ただし、カウンタは使用されない。
異常判定処理において、払出制御用CPU371は、第2始動口スイッチ14aに対応するタイマ、第1始動口スイッチ13aに対応するタイマ、入賞口スイッチ30aに対応するタイマ、入賞口スイッチ29aに対応するタイマおよびカウントスイッチ23に対応するタイマのうちのいずれかのタイマの値が動作中(タイマ動作中フラグがオン状態)であるか否か確認する(ステップS911)。動作中のタイマがあれば、そのタイマの値を+1する(ステップS912)。
また、払出制御用CPU371は、入力ポート状態1指定コマンドを受信したことを示す入力ポート状態1指定コマンド受信フラグがセットされているか否か確認する(ステップS916A)。入力ポート状態1指定コマンド受信フラグがセットされていない場合には処理を終了する。入力ポート状態1指定コマンド受信フラグがセットされている場合には、入力ポート状態1指定コマンド受信フラグをリセットし(ステップS917A)、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0(遊技制御手段における入力ポート0)の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「0」に変化したか否か確認する(ステップS951A)。
ステップS951Aの処理では、払出制御用CPU371は、ステップS956Aの処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「0」に変化したビットがあれば、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS952A)。
また、払出制御用CPU371は、入力ポート状態1指定コマンド格納領域に格納されている入力ポート状態1指定コマンドのデータである入力ポート0の状態を示すデータにおいて、ビット0,2,3のいずれか1つ以上が「1」に変化したか否か確認する(ステップS953A)。「1」に変化したビットがなければ、ステップS956Aに移行する。
ステップS953Aの処理では、払出制御用CPU371は、ステップS956Aの処理でRAMに格納される前回値と、入力ポート状態1指定コマンドのデータとを比較する。
「1」に変化したビットがある場合には、そのビットに対応するタイマの値を確認する(ステップS954A)。ステップS954Aでは、払出制御用CPU371は、タイマの値が32以下(32ms以下に相当)であるか否か確認する。タイマの値が32を越えている場合には、そのビットに対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS955A)。また、入力ポート状態1指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS956A)。
タイマの値が32以下である場合には、払出制御用CPU371は、ターミナル基板160に入賞異常を示す信号を出力する(ステップS960A)。その信号は、遊技機外部のホールコンピュータ等に出力される。
遊技制御用マイクロコンピュータ560は、入力ポート0のいずれかのビット(図7に示す入力ポート0のビット0,2,3のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート0の各ビットの状態を設定した入力ポート状態1指定コマンドを出力するが、ステップS951Aの処理で「0」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「1」から「0」に変化した(スイッチの検出信号がオン状態からオフ状態に変化したことに相当)ことを意味する。よって、ステップS952Aの処理は、スイッチの検出信号がオン状態からオフ状態に変化した場合に、タイマを起動する処理に相当する。
また、ステップS953Aの処理で「1」に変化したビットがあったということは、入力ポート0の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS953Aの処理は、スイッチの検出信号がオフ状態からオン状態に変化したか否か判定する処理になる。そして、ステップS954Aの処理でタイマの値をチェックすることは、検出信号がオフ状態で合った期間が32ms以下であったか否か判定することに相当する。すなわち、図80に示されたような異常判定が実行されることになる。
また、払出制御用CPU371は、入力ポート状態2指定コマンドを受信したことを示す入力ポート状態2指定コマンド受信フラグがセットされているか否か確認する(ステップS916B)。入力ポート状態2指定コマンド受信フラグがセットされていない場合には処理を終了する。入力ポート状態2指定コマンド受信フラグがセットされている場合には、入力ポート状態2指定コマンド受信フラグをリセットし(ステップS917B)、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2(遊技制御手段における入力ポート2)の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「0」に変化したか否か確認する(ステップS951B)。
ステップS951Bの処理では、払出制御用CPU371は、ステップS956Bの処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「0」に変化したビットがあれば、そのビットに対応するタイマ動作中フラグをセットする(オン状態にする)(ステップS952B)。
また、払出制御用CPU371は、入力ポート状態2指定コマンド格納領域に格納されている入力ポート状態2指定コマンドのデータである入力ポート2の状態を示すデータにおいて、ビット0,1のいずれか1つ以上が「1」に変化したか否か確認する(ステップS953B)。「1」に変化したビットがなければ、ステップS956Bに移行する。
ステップS953Bの処理では、払出制御用CPU371は、ステップS956Bの処理でRAMに格納される前回値と、入力ポート状態2指定コマンドのデータとを比較する。
「1」に変化したビットがある場合には、そのビットに対応するタイマの値を確認する(ステップS954B)。ステップS954Bでは、払出制御用CPU371は、タイマの値が32以下(32ms以下に相当)であるか否か確認する。タイマの値が32を越えている場合には、そのビットに対応するタイマ動作中フラグをリセットする(オフ状態にする)とともに、対応するタイマの値を0に初期化する(ステップS955B)。また、入力ポート状態2指定コマン格納領域のデータを、前回値としてRAMに格納する(ステップS956B)。
タイマの値が32以下である場合には、払出制御用CPU371は、ターミナル基板160に入賞異常を示す信号を出力する(ステップS960B)。その信号は、遊技機外部のホールコンピュータ等に出力される。
遊技制御用マイクロコンピュータ560は、入力ポート2のいずれかのビット(図7に示す入力ポート2のビット0,1のいずれか)の値が変化した場合(スイッチの検出信号の状態が変化した場合に相当)に、入力ポート2の各ビットの状態を設定した入力ポート状態2指定コマンドを出力するが、ステップS951Bの処理で「0」に変化したビットがあったということは、入力ポート2の当該ビットの状態が「1」から「0」に変化した(スイッチの検出信号がオン状態からオフ状態に変化したことに相当)ことを意味する。よって、ステップS952Bの処理は、スイッチの検出信号がオン状態からオフ状態に変化した場合に、タイマを起動する処理に相当する。
また、ステップS953Bの処理で「1」に変化したビットがあったということは、入力ポート2の当該ビットの状態が「0」から「1」に変化した(スイッチの検出信号がオフ状態からオン状態に変化したことに相当)ことを意味する。よって、ステップS953Bの処理は、スイッチの検出信号がオフ状態からオン状態に変化したか否か判定する処理になる。そして、ステップS954Bの処理でタイマの値をチェックすることは、検出信号がオフ状態で合った期間が32ms以下であったか否か判定することに相当する。すなわち、図80に示されたような異常判定が実行されることになる。
図28(B)に例示されたような不正行為が行われると、スイッチの検出信号の状態は図28(C)の下段に例示されたような状態になる可能性があるが、図89および図90に示された処理によって、図28(C)の下段に示されたような信号状態が生じ場合に検出信号がオフ状態である期間が所定期間(この例では、32ms)以下であれば、異常として検出される(図80参照)。すなわち、図89および図90に示された処理は、図28に例示されたような不正行為を検知可能な処理である。
なお、図89および図90に示すステップS911〜S956B(ステップS960Aを除く)の処理は、図81および図82に示されたステップS1711〜S1776(ステップS1767,S1768を除く)の処理と同じである。ただし、演出制御手段では4ms毎にタイマ割込がかかるのに対して、払出制御手段では1ms毎にタイマ割込がかかるので、ステップS954A,S954Bにおける判定のための値は、ステップS1764,1774における判定のための値とは異なる。
また、払出制御用CPU370は、ステップS762の異常判定処理において、図85および図86に示された処理と、図87および図88に示された処理と、図89および図90に示された処理とのいずれかを実行してもよいが、各処理のうちの2つ以上を実行するようにしてもよい。
また、この実施の形態では、払出制御用CPU371は、タイマの値を加算し、タイマの値が所定値(図85および図86に示された例では1000,図87および図88に示された例では500)になった場合に、入賞異常が生じたと判定するか(図85および図86におけるステップS913,S914参照)、またはカウンタの値が所定値以上であることを条件に入賞異常が生じたと判定したり(図87および図88におけるステップS935A,S936A,S940A,S935B,S936B,S940B参照)、タイマの値が所定値以下(図89および図90に示された例では32以下)であった場合に、入賞異常が生じたと判定するようにしたが(図89および図90におけるステップS954A,S960A,S954B,S960B参照)、タイマの値を減算するようにしてもよい。
例えば、払出制御用CPU371は、図85および図86におけるステップS920A,S920Bの処理でタイマに1000をセットしてステップS912の処理でタイマの値を1減算したり、図87および図88におけるステップS938A,S938Bの処理でタイマに500を初期設定しステップS912の処理でタイマの値を1減算したり、図89および図90におけるステップS955A,S955Bの処理でタイマに32を初期設定しステップS912の処理でタイマの値を1減算したりする。その場合には、払出制御用CPU371は、図85,86におけるステップS913の処理、および図87,88におけるステップS935A,S935Bの処理で、タイマの値が0になったか否か確認する。また、図89,88におけるステップS954A,S954Bの処理で、タイマの値が0または負値であるか否か確認する。
また、この実施の形態では、遊技制御用マイクロコンピュータ560は、いずれかの入賞口スイッチからの検出信号の状態が変化したときにのみ入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信したが、検出信号の状態が変化する/しないに関わらず、遊技制御処理の開始周期(この実施の形態では、4ms)毎に、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信するようにしてもよい。
遊技制御処理の開始周期毎に入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する場合には、遊技制御用マイクロコンピュータ560は、スイッチ処理(図33および図34参照)において、ステップS2109,S2125の演算結果に関わらず、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する制御を行う。
また、払出制御用CPU371は、図85および図86に示すステップS918A,S918Bの処理で入力ポート0,2の状態を示すデータにおいて「1」に変化したビットがないことを確認した場合には、RAMに格納される前回値と入力ポート状態1指定コマンドまたは入力ポート状態2指定コマンドのデータとを比較することによって、入力ポート0,2の状態を示すデータにおいて「0」に変化したビットがあるか否か確認し、「0」に変化したビットがあることを確認した場合にステップS919A,S919Bの処理を実行する。入力ポート0,2の状態を示すデータにおいて「0」に変化したビットがあるか否か確認するのは、図85および図86に示された処理では、遊技制御用マイクロコンピュータ560が入力ポート0,2のいずれかのビットが変化した場合に、入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信することが前提であったのに対して、検出信号の状態が変化する/しないに関わらず遊技制御処理の開始周期毎に入力ポート状態1指定コマンドや入力ポート状態2指定コマンドを送信する場合には入力ポート0,2の状態を示すデータにおいて「1」に変化したビットも「0」に変化したビットも存在しないことがあるからである。
なお、検出信号の状態が変化する/しないに関わらず遊技制御処理の開始周期毎に入力ポート状態指定コマンドを送信する場合でも、図87,88に示された処理および図89,90に示された処理については、払出制御用CPU371は、同様の処理を実行すればよい。
また、図85〜図90に示す処理では、払出制御用CPU370は、入賞異常が生じたと判定した場合に、ターミナル基板160に入賞異常を示す信号を出力したが、入賞異常を示す信号を主基板31に送信するようにしてもよい。
入賞異常を示す信号を主基板31に送信する場合には、一例として、図13および図14に示された接続OKコマンドと賞球準備中コマンドにおいて、ビット4に、入賞異常を示す信号を割り当てる。すなわち、ビット4が「1」である場合に、入賞異常が生じたことが示される。なお、接続OKコマンドにのみ入賞異常を示す信号を割り当ててもよい。
また、払出制御用CPU370は、入賞異常が生じたと判定した場合に(ステップS913,S936A,S936B,S954A,S954Bで「Y」の場合)、ターミナル基板160に入賞異常を示す信号を出力することに代えて、RAMの所定領域に、入賞異常が生じたことが示すデータをセットする。
そして、払出制御用CPU370は、図50、図51、図52、図53、図55に示されたステップS7414、ステップS74207、ステップS74221、ステップS74304、ステップS74312、ステップS74404、ステップS74412の主制御送信コマンド変換処理において、RAMの所定領域に入賞異常が生じたことが示すデータをセットされている場合には、接続OKコマンドのビット4を「1」にする処理も行う。
遊技制御用マイクロコンピュータ560におけるCPU56は、図22に示されたステップS5223の処理で接続OKコマンドが受信されたことが確認された場合に、ステップS5224の処理で、接続OKコマンドのビット4を確認し、ビット4が「1」である場合に、ターミナル基板160に入賞異常を示す信号を出力する処理も行う。また、図24に示されたステップS52406の処理および図25に示されたステップS52506の処理で賞球準備中コマンドが受信されたことが確認された場合に、ステップS52407およびステップS52507の処理で、賞球準備中コマンドのビット4を確認し、ビット4が「1」である場合に、ターミナル基板160に入賞異常を示す信号を出力する処理も行う。
また、ターミナル基板160に入賞異常を示す信号を出力したり入賞異常を示す信号を主基板31に送信したときに、払出制御用マイクロコンピュータ370は、賞球払出処理(賞球払出処理に加えて球貸し処理についても)を実行しない状態に移行したり、エラー表示用LED374にエラー信号を出力して所定のエラーコードを表示したりしてもよい。また、払出処理を実行しない状態への移行とエラーコードの表示とをともに実行してもよい。また、払出制御用マイクロコンピュータ370が払出処理を実行しない状態への移行とエラーコードの表示とのうちの少なくとも一方を実行するとともに、または、それらを実行せずとも、遊技制御用マイクロコンピュータ560が、上述したように接続OKコマンドや賞球準備中コマンドによって払出制御用マイクロコンピュータ370から入賞異常を示す信号を受信したときに、演出制御用マイクロコンピュータ100に入賞異常を示すコマンドを送信してもよい。演出制御用マイクロコンピュータ100は、入賞異常を示すコマンドを受信した場合に、例えば、演出表示装置9において異常報知を行う。
以上のように、第2の実施の形態では、払出制御用マイクロコンピュータ370によって入賞異常が生じたか否かが判定され、入賞異常が生じたと判定されたときに、払出制御用マイクロコンピュータ370から直接、または遊技制御用マイクロコンピュータ560を介して、入賞異常を示す信号が遊技機外部に出力される。よって、遊技機の外部(例えば、ホールコンピュータ)において、入賞異常が生じたことが確認される。
なお、第2の実施の形態では、払出制御用マイクロコンピュータ370から入賞異常を示す信号が直接遊技機外部に出力されない場合には、遊技制御用マイクロコンピュータ560を介して入賞異常を示す信号が遊技機外部に出力されるが、主基板31を経由するが遊技制御用マイクロコンピュータ560を介さないようにして、入賞異常を示す信号が遊技機外部に出力するようにしてもよい。その場合には、払出制御用マイクロコンピュータ370は、1本の信号線で入賞異常を示す信号を主基板31に対して出力する。そして、その信号線により入力を、主基板31の内部において、ターミナル基板160に至るコネクタへの配線に接続する。
なお、第1の実施の形態および第2の実施の形態によれば、遊技制御用マイクロコンピュータ560は、複数のスイッチの各々からの検出信号を1つの入力ポートを介して入力し、入力ポートの入力データを一括してコマンドとして出力する。例えば、カウントスイッチ23および入賞スイッチ29a,30aの検出信号に関しては入力ポート0から一括して入力して入力ポート状態1指定コマンドを送信し、第1始動口スイッチ13aおよび第2始動口スイッチ14aの検出信号に関しては入力ポート2から一括して入力して入力ポート状態2指定コマンドを送信する。そのため、遊技制御用マイクロコンピュータ560は、異常判定処理を行う電気部品制御手段(本例では、演出制御用マイクロコンピュータ100または払出制御用マイクロコンピュータ370)に対してスイッチの検出信号を一括して伝達することができるので、複数のスイッチを異常検出の対象にする場合であっても遊技制御用マイクロコンピュータ560の処理負担は増大しない。
なお、上記の第1の実施の形態および第2の実施の形態では、カウントスイッチ23および入賞口スイッチ29a,30aの検出信号に関しては正論理として入力ポート0から入力し、第1始動口スイッチ13aおよび第2始動口スイッチ14aの検出信号に関しては負論理として入力ポート2から入力する場合を示したが、各スイッチからの検出信号の入力態様は、上記の各実施の形態で示したものにかぎられない。例えば、カウントスイッチ23および入賞口スイッチ29a,30aの検出信号を入力ドライバ回路58で論理反転しないようにし、そのまま負論理の信号として入力するようにしてもよいし(この場合、スイッチ処理においてステップS2121〜S2123と同様の処理を行って論理反転すればよい)、逆に、第1始動口スイッチ13aおよび第2始動口スイッチ14aの検出信号を入力ドライバ回路58で論理反転するようにし、正論理の信号として入力するようにしてもよい。
また、例えば、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての検出信号の論理を同じにし、全て同じ入力ポートから一括して入力するようにしてもよい。例えば、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての検出信号を入力ドライバ回路58で論理反転して、正論理の信号として入力ポート0から一括して入力して、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての状態を一括して含む入力ポート状態指定コマンドを送信するようにしてもよい。そのように構成すれば、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての検出信号を一括して伝達することができるので、遊技制御用マイクロコンピュータ560の処理負担をより低減することができる。
なお、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての検出信号を全て同じ入力ポートから一括して入力して、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての状態を一括して含む入力ポート状態指定コマンドを送信するように構成する場合、必ずしも、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての検出信号の論理を同じにしなくてもよい。すなわち、正論理および負論理が混在した形態で第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aの全ての状態を一括して含む入力ポート状態指定コマンドを送信するようにしてもよい。この場合、例えば、演出制御用マイクロコンピュータ100または払出制御用マイクロコンピュータ370側で、入力ポート状態指定コマンドを受信したことにもとづいて、ビットごとに正論理であるか負論理であるかに応じて第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30aそれぞれについてオン状態を検出したか否かを判定するようにすればよい。
また、第1の実施の形態および第2の実施の形態において、図76〜図79や図87,88に示すように、検出信号の入力回数を検出し、所定期間(本例では、0.5秒間)において検出した入力回数が所定回数(本例では、10個)を超えた場合に異常が生じたと判定するように構成すれば、スイッチの検出信号を不正にオンオフさせるような不正行為を検知することができるので、不正行為をより確実に検知することができる。
上記の各実施の形態では、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30aとして近接スイッチが用いられたが、フォトセンサを用いてもよい。図91(A)は、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30aとして使用可能な反射型のフォトセンサを示す説明図である。図91(A)に示すフォトセンサは、発光する発光ダイオード(LED)341と、受光して電流を出力するフォトトランジスタ342とで構成されている。発光ダイオード341およびフォトトランジスタ342の近傍を遊技球が通過すると、遊技球が反射した発光ダイオード341からの光をフォトトランジスタ342が受光して出力側に電流を流す。出力側は主基板31に接続され、主基板31において、フォトセンサの検出信号は、入力ドライバ回路から遊技制御用マイクロコンピュータの入力ポートに入力される。フォトセンサの出力側(具体的には、フォトトランジスタ342の出力側)に電流が流れると、入力ドライバ回路は、ハイレベルの検出信号を遊技制御用マイクロコンピュータに出力する。
図91(B)は、第1始動口スイッチ13a、第2始動口スイッチ14a、カウントスイッチ23、および各入賞口スイッチ29a,30aとして使用可能な透過型のフォトセンサを示す説明図である。図91(B)に示すフォトセンサは、発光素子(LED341)と受光素子(フォトトランジスタ342)とを入賞球経路を挟むように対向させて設置し、遊技球が発光素子からの光を遮ることによって受光素子が光を検出しなくなることによって、発光素子と受光素子との間を通過した遊技球を検出する透過型のフォトセンサを用いてもよい。透過型のフォトセンサを用いる場合に、図91(B)における下段に示すように、発光素子の光軸(図91(B)において黒丸で例示されている。)が、遊技球経路(入賞球経路)を通過する遊技球の中央部からずれるように、発光素子および受光素子を設置することが好ましい。光軸が遊技球の中央部に相当するように設置する場合に比べて、連続して通過する2つの遊技球の間隔が相対的に広い部分(図91(B)における「空隙」の部分)において遊技球を検知することができ、2つの遊技球を別個に検出しやすいからである。同様の理由で、図91(A)に例示した反射型のフォトセンサを用いる場合にも、発光素子からの光の反射点が遊技球の中央部からずれるように、発光素子および受光素子を設置することが好ましい。
なお、上記の各実施の形態では、第2始動入賞口14に関して近接スイッチとフォトセンサとを併用し、第2始動口スイッチ14aを近接スイッチを用いて構成し、入賞確認スイッチ14bをフォトセンサを用いて構成している。図92は、近接スイッチとフォトセンサの併用例を示す説明図である。なお、図92には、第2始動入賞口14に適用された例が示されている。上記の各実施の形態では、図92(A)に示すように、第2始動入賞口14において、第2始動口スイッチ(近接スイッチ)14aと入賞確認スイッチ(フォトセンサ)14bとを含む。第2始動入賞口14において、遊技球が先に近接スイッチ14aを通過し、その後、フォトセンサ14bを通過するように、近接スイッチ14aおよびフォトセンサ14bが配置されている。
図92(A)に示すように、スイッチにおいて上部(遊技球の流路の上流側)に電磁式の近接スイッチが設けられ、下部(遊技球の流路の下流側)に光学式のフォトセンサが設けられているので、遊技球を検出するスイッチが電波による不正行為を受けた場合に不正行為を確実に検知することができる。また、図92(B)に示すように、上部にフォトセンサを設け、下部に近接スイッチを設けてもよい。そのように構成した場合には、遊技球を検出するスイッチが光による不正行為を受けた場合に、不正行為を確実に検知することができる。
また、スイッチは、近接スイッチ14aとフォトセンサ14bとが1つのパッケージに収納されたスイッチモジュール(センサユニット)として形成されていることが好ましい。
また、上記の各実施の形態では、第2始動入賞口14に関して近接スイッチとフォトセンサとを併用する場合を示したが、大入賞口や普通入賞口29,30に関しても、図92と同様の構成に従って、近接スイッチとフォトセンサとを併用して用いて構成してもよい。
なお、上記の実施の形態において本発明による遊技機としてパチンコ機を適用した場合について説明したが、本発明による遊技機としてパロット機やスロットマシンを適用することも可能である。パロット機では、取り込まれた遊技球数に応じて所定の賭け数を設定し、操作レバーを操作することにより複数種類の図柄を回転させ、ストップボタンを操作して図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数の賞球が遊技者に払い出される。また、スロットマシンでは、メダルを投入して所定の賭け数を設定し、操作レバーを操作することにより複数種類の図柄を回転させ、ストップボタンを操作して図柄を停止させたときに停止図柄の組合せが特定の図柄の組み合わせになると、所定数のメダルが遊技者に払い出される。
上記に示したようなパロット機やスロットマシンでは1ゲーム終了するごとに払い出しを完了してから次のゲームが開始されるように構成されるのが一般的である。そこで、例えば、パロット機やスロットマシンを、払い出しを完了する前に次のゲームを開始可能に構成し、上記の実施の形態で示した構成を適用するようにすればよい。例えば、上記の実施の形態で示した構成をパロット機に適用して、パロット機における遊技球の返却予定数を累積的にカウンタにカウントアップし、累積値が10以上となったら入賞信号を外部出力するように構成してもよい。また、例えば、上記の実施の形態で示した構成をスロットマシンに適用して、スロットマシンにおけるホッパータンクからのメダルの払出予定数を累積的にカウンタにカウントアップし、累積値が10以上となったら入賞信号を外部出力するように構成してもよい。
ここで遊技機として、特開2007−151970号公報に示すように、複数の種別の特定遊技状態を有するものが知られている。具体的には、特定遊技状態の種別として、第1特定遊技状態(例えば多量の遊技媒体を獲得できる15ラウンド大当り)と、該第1特定遊技状態よりも不利な第2特定遊技状態(例えばほとんど遊技媒体を獲得できない2ラウンド大当り)の、いずれかを発生する。
この特開2007−151970号公報の遊技機で、特定遊技状態中に右打ちをするように特定遊技状態中発射領域報知を行う場合において、該特定遊技状態の種別によらずに同一の報知を行うと、不都合が生ずる。具体的には、特定遊技状態の種別が多量の遊技媒体を獲得できる15ラウンド大当りの場合には、右打ち報知を積極的に行う意義がある一方、特定遊技状態の種別がほとんど遊技媒体を獲得できない2ラウンド大当りの場合には、右打ち報知を積極的に行うと却って遊技者が損をしてしまう可能性がある。
そこで本発明の遊技機は、
前記特定遊技状態中に、前記第2領域(右遊技領域7B)へ向けて遊技媒体を発射するように遊技者に対して報知する特定遊技状態中発射領域報知を行う報知手段(演出制御用マイクロコンピュータ100と、演出表示装置9,装飾LED25,スピーカ27,枠LED28の一部または全部)をさらに備え、
該報知手段は、前記事前決定手段により決定した特定遊技状態の種別に応じて、報知態様が異なる前記特定遊技状態中発射領域報知を行う(15ラウンド大当りならば、遊技球を右遊技領域7Bに発射すべきことが遊技者に対して明確に報知される第1右打ち指示報知を行い、2ラウンド大当りならば、第1右打ち指示報知のような明確な報知ではなく、遊技者が認識不可能または認識困難な第2右打ち指示報知を行う)ように構成しても良い。
これによれば、特定遊技状態の種別に応じて、報知態様が異なる特定遊技状態中発射領域報知を行うので、該特定遊技状態中発射領域報知を適切に実行できて、遊技の興趣を向上できる。
また本発明の遊技機において、
前記事前決定手段は、前記特定遊技状態の種別として、第1特定遊技状態(非確変,または確変の15ラウンド大当り)と、該第1特定遊技状態よりも不利な第2特定遊技状態(突然確変の2ラウンド大当り)の、いずれかを決定し、
前記報知手段は、該事前決定手段により第1特定遊技状態の発生を決定したことに応じて、第1報知態様(第1右打ち指示報知)で前記特定遊技状態中発射領域報知を行い、該事前決定手段により第2特定遊技状態の発生を決定したことに応じて、第2報知態様(第2右打ち指示報知)で特定遊技状態中発射領域報知を行うように構成しても良い。
これによれば、特定遊技状態の種別が、第1特定遊技状態であれば第1報知態様で特定遊技状態中発射領域報知を行い、該第1特定遊技状態よりも不利な第2特定遊技状態であれば第2報知態様で特定遊技状態中発射領域報知を行うので、特定遊技状態の種別に応じて適切な特定遊技状態中発射領域報知を実行できて、遊技の興趣を向上できる。
また本発明の遊技機において、
前記報知手段は、前記第1報知態様(第1右打ち指示報知)として、所定回数の前記特定遊技状態中発射領域報知を行った後に、該特定遊技状態中発射領域報知を第2報知態様(第2右打ち指示報知)に変化させるように構成しても良い。
これによれば、第1報知態様として、所定回数の特定遊技状態中発射領域報知を行った後に、該特定遊技状態中発射領域報知を第2報知態様に変化させるので、遊技者に煩わしさを感じさせず、遊技の興趣を向上できる。
即ち、多量の遊技媒体を獲得できる15ラウンド大当りの場合には、右打ち報知を積極的に行う意義があるが、それが大当り終了まで継続されると煩わしいため、途中で第1右打ち指示報知から第2右打ち指示報知に変化させることにより、遊技者に煩わしさを感じさせず、遊技の興趣を向上しているのである。ここで「第1右打ち指示報知を所定回数行った後に第2右打ち指示報知を行う」の例としては、1ラウンド目では第1右打ち指示報知を行って2ラウンド目で第2右打ち指示報知を行うものや、特別可変入賞球装207に所定個数の遊技媒体が入賞したこと等も含まれる。
また本発明の遊技機において、
前記報知手段は、所定条件の成立(時短遊技状態の終了)に基づいて、前記第1領域へ向けて遊技媒体を発射するように遊技者に対して報知する事後発射領域報知(左打ち指示報知)を行い、前記事前決定手段により決定した特定遊技状態の種別に応じて、報知態様が異なる前記事後発射領域報知(遊技球を左遊技領域7Aに発射すべきことが遊技者に対して明確に報知される第1左打ち指示報知、または、第1左打ち指示報知のような明確な報知ではなく、遊技者が認識不可能若しくは認識困難な第2左打ち指示報知)を行うように構成しても良い。
これによれば、特定遊技状態の種別によって変動入賞装置の開放パターンが異なるため、遊技者の打ち方も異なる可能性が高いところ、特定遊技状態の種別に応じて、報知態様が異なる事後発射領域報知を行うので、遊技者の一方に対して適切な事後発射領域報知を実行できて、遊技の興趣を向上できる。
さらに本発明の遊技機において、
前記特定遊技状態が終了した後、前記可変表示が実行されることに基づいて、可変開始制御情報(変動開始コマンド)を送信する可変開始制御情報送信手段(遊技制御用マイクロコンピュータ560)と、
前記特定遊技状態が終了した後、前記可変表示が実行されないまま所定期間(例えば20秒)が経過したことに基づいて、非可変制御情報(客待ちデモ指定コマンド)を送信する非可変制御情報送信手段(遊技制御用マイクロコンピュータ560)と、をさらに備え、
前記報知手段は、前記特定遊技状態が終了した後、前記可変開始制御情報を受信せずに前記非可変制御情報を受信したときにも、前記事後発射領域報知を行うように構成しても良い。
これによれば、特定遊技状態の終了後、例えば第2領域(右遊技領域7B)に遊技媒体を打ち続けると、第1領域(左遊技領域7A)にある第1始動入賞装置13に遊技媒体が入賞しにくくなり可変表示が実行されないため、報知手段は、可変開始制御情報の受信に基づく事後発射領域報知の実行が困難となるが、可変表示が実行されなくても所定期間が経過することにより、非可変制御情報の受信に基づく事後発射領域報知が可能となるため、遊技者が第2領域に遊技媒体を無駄に打ち続けてしまうことを回避できる。