以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。また、実施形態中では、本発明に係る遊技媒体を遊技球として説明するが、これに限定するものではなく、例えばコイン等を遊技媒体としてもよい。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
遊技領域7の中央付近には、それぞれが識別情報としての特別図柄を可変表示する複数の可変表示部を含む可変表示装置(画像表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。また、可変表示装置9には、始動入賞口14に入った有効入賞球数即ち始動記憶数を表示する4つの特別図柄始動記憶表示エリア(始動記憶表示エリア)18が設けられている。有効始動入賞がある毎に、表示色が変化する(例えば青色表示から赤色表示に変化)始動記憶表示エリアを1増やす。そして、可変表示装置9の可変表示が開始される毎に、表示色が変化している始動記憶数表示エリアを1減らす(即ち表示色をもとに戻す)。この例では、図柄表示エリアと始動記憶表示エリアとが区分けされて設けられているので、可変表示中も始動記憶数が表示された状態にすることができる。なお、始動記憶表示エリアを図柄表示エリアの一部に設けるようにしてもよい。また、可変表示中は始動記憶数の表示を中断するようにしてもよい。また、この例では、始動記憶表示エリアが可変表示装置9に設けられているが、始動記憶数を表示する表示器(特別図柄始動記憶表示器)を可変表示装置9とは別個に設けてもよい。
可変表示装置9の下方には、始動入賞口14としての可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域:特別領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。
ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に右側のランプが点灯すれば当たりとなる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32に入った入賞球数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。各入賞口29,30,33,39は、遊技媒体を受け入れて入賞を許容する領域として遊技盤6に設けられる入賞領域を構成している。なお、始動入賞口14や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28b及び右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28b及び右枠ランプ28c及び装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球LED51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れLED52が設けられている。上記のように、この実施の形態のパチンコ遊技機1には、発光体としてのランプやLEDが各所に設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、カードユニットという。)50も示されている。
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、及びカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。即ち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、開閉板20の開放中に遊技球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。即ち、確変状態という遊技者にとってさらに有利な状態となる。
遊技球がゲート32に入賞すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められると共に、可変入賞球装置15の開放時間と開放回数が高められる。即ち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
次に、パチンコ遊技機1の裏面の構造について図3及び図4を参照して説明する。図3は、遊技機を裏面から見た背面図である。図4は、各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
図3に示すように、遊技機裏面側では、可変表示装置9を制御する演出制御マイクロコンピュータが搭載された演出制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。なお、演出制御マイクロコンピュータは、遊技盤6に設けられている可変表示装置9と普通図柄表示器10とを表示制御する。
さらに、DC30V、DC21V、DC12V及びDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1の各電気部品制御基板(主基板31、演出制御基板80、払出制御基板37)や遊技機に設けられている各電気部品への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチ914と、主基板31に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチ921とが設けられている。さらに、露出部分における電源スイッチ914の内側(基板内部側)には、交換可能なヒューズが設けられている。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子及び球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)34が設置されている。
貯留タンク38に貯留された遊技球は誘導レール39を通り、図4に示されるように、カーブ樋186を経て払出ケース40Aで覆われた球払出装置97に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
入賞に基づく景品としての遊技球や球貸し要求に基づく遊技球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると、遊技球は、余剰球通路46を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が貯留状態検出手段としての満タンスイッチ48を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止すると共に打球発射装置の駆動も停止する。
図4に示すように、球払出装置の側方には、カーブ樋186から遊技機下部の排出口192に至る球抜き通路191が形成されている。球抜き通路191の上部には球抜きレバー193が設けられ、球抜きレバー193が遊技店員等によって操作されると、誘導レール39から球抜き通路191への遊技球通路が形成され、貯留タンク38内に貯留されている遊技球は、排出口192から遊技機外に排出される。
図5は、払出ケース40Aで覆われた球払出装置97を示す正面図(図5(A))及び断面図(図5(B))である。図4に示すように、球払出装置97は、球切れスイッチ187と球払出装置97との間に設置されている通路体184の下部に固定されている。通路体184は、カーブ樋186によって流下方向が左右方向に変換された2列の遊技球を流下させる球通路188a,188bを有する。球通路188a,188bの上流側には、球切れスイッチ187が設置されている。なお、実際には、それぞれの球通路188a,188bに球切れスイッチが設置されている。球切れスイッチ187は、球通路188a,188b内の遊技球の有無を検出するものであって、球切れスイッチ187が遊技球を検出しなくなると球払出装置97における払出モータ(図5において図示せず)の回転を停止して遊技球の払出が不動化される。
また、球切れスイッチ187は、球通路188a,188bに27〜28個の遊技球が存在することを検出できるような位置に係止片によって係止されている。
球払出装置97において、ステッピングモータによる払出モータ(図示せず)が例えばカムを回転させることによって、賞球または球貸し要求に基づく遊技球(貸球)を1個ずつ払い出す。また、球払出装置97の下方には、例えば近接スイッチによる払出カウントスイッチ301が設けられている。球払出装置97から1個の遊技球が落下する毎に、払出カウントスイッチ301がオンする。即ち、払出カウントスイッチ301は、球払出装置97から実際に払い出された遊技球を検出する。従って、払出制御マイクロコンピュータは、払出カウントスイッチ301の検出信号によって、実際に払い出された遊技球の数を計数することができる。
図6は、球払出装置97の構成例を示す分解斜視図である。この例では、払出ケース40Aとしての3つのケース140,141,142の内部に球払出装置97が形成されている。ケース140,141の上部には、球切れスイッチ187の下部の球通路188a,188bと連通する穴170,171が設けられ、遊技球は、穴170,171から球払出装置97に流入する。
球払出装置97は駆動源となる払出モータ(例えばステッピングモータ)289を含む。払出モータ289の回転力は、払出モータ289の回転軸に嵌合しているギア290に伝えられ、さらに、ギア290と噛み合うギア291に伝えられる。ギア291の中心軸には、球載置部を有するカム292が嵌合している。穴170,171から流入した遊技球は、カム292の球載置部によって、カム292の下方の球通路293に1個ずつ落下させられる。
また、球払出装置97において、発光素子(LED)と受光素子とによる払出モータ位置センサ295が設けられている。払出モータ位置センサ295は、払出モータ289の回転位置を検出するためのセンサであり、遊技球が詰まったこと、即ちいわゆる球噛みを検出するために用いられる。
なお、この実施の形態では、球払出装置97は、賞球払出と球貸しとを共に行うように構成されているが、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。別個に設けられている場合には、賞球払出を行う球払出装置と球貸しを行う球払出装置とで払出手段が構成される。さらに、例えば、カムまたはスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97(モータによってカムを回転させる構成)以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
図7は、主基板31における回路構成の一例を示すブロック図である。なお、図7には、払出制御基板37、ランプ制御基板35、音制御基板70、タッチセンサ基板91及び演出制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、及びクリアスイッチ921からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21及び大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
なお、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a等のスイッチは、センサと称されているものでもよい。即ち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。入賞検出を行う始動口スイッチ14a、カウントスイッチ23、及び入賞口スイッチ29a,30a,33a,39aの各スイッチは、入賞検出手段でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ32aのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞になり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段になる。さらに、この実施の形態では、V入賞領域に入賞した遊技球はV入賞スイッチ22で検出されると共にカウントスイッチ23でも検出されるが、V入賞スイッチ22のみで検出されるようにしてもよい。V入賞領域に入賞した遊技球がV入賞スイッチ22のみで検出される場合には、大入賞口に入賞した遊技球数は、V入賞スイッチ22による検出数とカウントスイッチ23による検出数との和になる。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56及びI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。即ち、CPU56は、1チップマイクロコンピュータである。1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54及びI/Oポート部57は外付けであっても内蔵されていてもよい。なお、CPU56はROM54に格納されているプログラムに従って制御を実行するので、以下、CPU56が実行する(または、処理を行う)ということは、具体的には、CPU56がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているCPUについても同様である。
また、RAM(CPU内蔵RAMであってもよい。)55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされているバックアップRAMである。即ち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技状態即ち遊技制御マイクロコンピュータの制御状態に応じたデータと未払出賞球数を示すデータは、バックアップRAMに保存される。なお、遊技制御マイクロコンピュータの制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータに基づいて、制御状態を停電等の発生前に復旧させるために必要なデータである。
遊技球を打撃して発射する打球発射装置は払出制御基板37上の回路によって制御される発射モータ94を含み、発射モータ94が回転することによって遊技球を遊技領域7に向けて発射する。発射モータ94を駆動するための駆動信号は、タッチセンサ基板91を介して発射モータ94に伝達される。そして、遊技者が操作ノブ(打球ハンドル)5に触れていることはタッチセンサで検出され、タッチセンサからの信号がタッチセンサ基板91に搭載されているタッチセンサ回路(遊技者が操作ノブ5に触れているか否かを検出するための検出回路等を含む回路)を介して払出制御基板37に伝達される。払出制御基板37上の回路は、タッチセンサ回路からの信号がオフ状態を示している場合には、発射モータ94の駆動を停止する。なお、操作ノブ5には、弾発力を調節するものであり、発射モータ94の駆動を停止させるための単発発射スイッチ、及び遊技者が接触する部分であるタッチリングが組み付けられている。タッチセンサ基板91は、遊技機において、タッチリングと払出制御基板37との間に配置され、かつ、タッチリングの近傍に配置されている。具体的には、タッチリングとタッチセンサ基板91との間の配線長は、タッチセンサ基板91と払出制御基板37との間の配線長よりも短い。
図8は、払出制御基板37及び球払出装置97などの払出に関連する構成要素を示すブロック図である。図8に示すように、払出制御基板37には、払出制御用CPU371が搭載されている。この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。また、RAMは、主基板31におけるRAM55とは異なり、電源バックアップされていない。払出制御用CPU371、RAM、払出制御用プログラムを格納したROM(図示せず)及びI/Oポート等は、払出制御マイクロコンピュータを構成する。
満タンスイッチ48及び払出カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。また、球切れスイッチ187及び払出モータ位置センサ295からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372eに入力される。払出制御基板37の払出制御用CPU371は、球切れスイッチ187からの検出信号が球切れ状態を示していたり、満タンスイッチ48からの検出信号が満タン状態を示していると、球払出処理を停止する。さらに、満タンスイッチ48からの検出信号が満タン状態を示していると、打球発射装置からの球発射を停止させる。
入賞があると、主基板31の出力回路67から、払出指令信号として、賞球の払出要求を行うための賞球REQ信号(賞球リクエスト信号)及び払い出すべき賞球個数を示す払出個数信号が出力される。払出個数信号は、4ビットのデータ(2進4桁のデータ)によって構成され、4本の信号線によって出力される。払出個数信号は、入力回路373Aを介してI/Oポート372eに入力される。払出制御用CPU371は、I/Oポート372eを介して賞球REQ信号及び払出個数信号が入力すると、払出個数信号が示す個数の遊技球を払い出すために球払出装置97を駆動する制御を行う。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す電源確認信号(接続確認信号)も出力される。また、賞球REQ信号及び払出個数信号は、払出数を指定する払出指令信号に相当する。
また、払出制御マイクロコンピュータが払出指令信号を受け付けたときには主基板31に対して指令受付信号を送信する。指令受付信号は、払出制御基板37の出力ポート372b及び出力回路373Bを介して主基板31に送信される。そして、主基板31において、入力回路68及びI/Oポート57を介してCPU56に入力される。さらに、払出制御マイクロコンピュータが賞球の払出処理を実行しているときには、払出制御マイクロコンピュータは、出力ポート372b及び出力回路373Bを介して払出処理中であることを示す払出BUSY信号(賞球払出中信号)を送信する。なお、この実施の形態では、払出BUSY信号がオン状態になることによって、指令受付信号が送信されたことになる。
払出制御用CPU371は、出力ポート372bを介して、賞球払出数を示す賞球情報信号及び貸球数を示す球貸し個数信号をターミナル基板160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図7では記載省略されている。また、ターミナル基板160(枠用外部端子基板)には、ドア開放情報スイッチ161A,161Bが接続されている。
また、払出制御用CPU371は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51及び球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。また、払出制御用CPU371から賞球LED51に送信される点灯指示の信号は、後述する賞球カウント信号を払出制御用CPU371が主基板31のCPU56に出力した後、これを受けたCPU56が払出制御用CPU371に点灯指示のコマンドを送信することで、払出制御用CPU371から送信される。
さらに、払出制御基板37からの払出モータ289への駆動信号は、出力ポート372a及び中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側に、ドライバ回路(モータ駆動回路)が設置されているが、図7では記載省略されている。また、払出制御基板37からの発射モータ94への駆動信号は、出力ポート372a及びタッチセンサ基板91を介して発射モータ94に伝えられる。
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ151、連結台方向表示器153、カード投入表示ランプ154及びカード挿入口155が設けられている(図1参照)。インタフェース基板(中継基板)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信号)等の信号は、図8に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、電源が投入されると、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態によってカードユニット50の接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸球を遊技者に払い出す。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でないことを条件に、遊技制御マイクロコンピュータから払出指令信号を受けると賞球払出制御を実行する。なお、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
カードユニット50に対する電源基板910からの電力供給は、払出制御基板37及びインタフェース基板66を介して行われる。この例では、インタフェース基板66内に配されているカードユニット50に対するAC24Vの電源供給ラインに、カードユニット50を保護するためのヒューズが設けられ、カードユニット50に所定電圧以上の電圧が供給されることが防止される。
なお、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている普通図柄始動記憶表示器41及び装飾ランプ25の表示制御を行うと共に、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28cの表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよく、この実施の形態及び他の実施の形態で用いられているLEDも他の種類の発光体でもよい。即ち、ランプやLEDは発光体の一例である。また、特別図柄を可変表示する可変表示装置9及び普通図柄を可変表示する普通図柄表示器10の表示制御は、演出制御基板80に搭載されている演出制御マイクロコンピュータによって行われる。
図7に示すように、この実施の形態では、制御状態に応じて主基板31から演出制御基板80に対して演出制御コマンドが送信される。そして、演出制御基板80から、ランプ制御基板35に対してランプ制御コマンドが送信されると共に、音制御基板70に対して音制御コマンドが送信される。
図9は、演出制御用マイクロコンピュータ等が搭載された演出制御基板80内の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,1)570,572及び出力バッファ回路620,62Aと共に示すブロック図である。出力ポート(出力ポート1)572からは8ビットのデータが出力され、出力ポート(出力ポート0)570からは1ビットのストローブ信号(INT信号)が出力される。なお、この実施の形態では、可変表示装置9はLCDで実現されているが、可変表示装置9は、CRT、ドットマトリクス表示器、7セグメント表示器など他の表示装置によって実現されていてもよい。
演出制御用CPU(以下の説明において「演出制御用マイクロコンピュータ」という意味で用いることもある)101は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107及び入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して演出制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、演出制御用CPU101がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと演出制御用CPU101との間に、I/Oポートが設けられる。
そして、演出制御用CPU101は、受信した演出制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、演出制御コマンドに応じた指令をVDP(ビデオディスプレイプロセッサ)103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号及び同期信号をLCD82に出力する。
なお、図9には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、及び使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
入力バッファ回路105A,105Bは、主基板31から演出制御基板80へ向かう方向にのみ信号を通過させることができる。従って、演出制御基板80側から主基板31側に信号が伝わる余地はない。即ち、入力バッファ回路105A,105Bは、入力ポート共に不可逆性情報入力手段を構成する。演出制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、演出制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
なお、図示はしないが、演出制御基板80には、試験信号出力用の配線パターンやスルーホールが設けられている。演出制御基板80は、遊技機の試験に用いられる場合には、試験用端子を備える試験端子基板がボードトゥボードで接続される。
図10は、演出制御基板80及び発光体制御用マイクロコンピュータ等が搭載されたランプ制御基板35における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域7の外側に設けられている点枠ランプ28a、左枠ランプ28b、右枠ランプ28cと遊技盤に設けられている装飾ランプ25の点灯/消灯とを示す第2のコマンドとしてのランプ制御コマンドが演出制御基板80からランプ制御基板35に出力される。また、普通図柄始動記憶表示器41の点灯個数を示すランプ制御コマンドも演出制御基板80からランプ制御基板35に出力される。
図10に示すように、ランプ制御に関するランプ制御コマンドは、演出制御用CPU101におけるI/Oポート部の出力ポートから出力される。出力ポートは、8ビットのデータと、1ビットのSTB信号とを出力する。ランプ制御基板35において、演出制御基板80からの制御コマンドは、ランプ制御用CPU(以下の説明において「発光体制御用マイクロコンピュータ」という意味で用いることもある)351におけるI/Oポート部の入力ポートを介してランプ制御用CPU351に入力する。なお、ランプ制御用CPU351がI/Oポートを内蔵していない場合には、ランプ制御用CPU351の前段にI/Oポートが設けられる。
ランプ制御基板35において、ランプ制御用CPU351は、演出制御用CPU101に対してACK(Acknowledge)信号を出力する。ACK信号は、ランプ制御用CPU351におけるI/Oポート部の出力ポートから出力される。なお、ACK信号は、演出制御用CPU101から入力したコマンドデータの受信完了を示す信号、言い換えれば確認応答用の信号であり、後述するように音制御用CPU701からも同様に、演出制御用CPU101から入力したコマンドデータの受信完了に伴って出力される。
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に対して出力ポート358から点灯/消灯信号を出力する。出力ポート358から出力された点灯/消灯信号は、I/Oエクスパンダ(複数のI/Oポートを備えた出力ポートIC)359aを介して天枠ランプ28a、左枠ランプ28b及び右枠ランプ28cに出力され、I/Oエクスパンダ359bを介して装飾ランプ25に出力される。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。また、ランプ制御用CPU351は、受信したランプ制御コマンドに応じて、普通図柄始動記憶表示器41に対して出力ポート358から点灯/消灯信号を出力する。出力ポート358から出力された点灯/消灯信号は、I/Oエクスパンダ359bを介して普通図柄始動記憶表示器41に出力される。
なお、図10に示すランプ制御基板35に搭載された回路一部(例えばI/Oエクスパンダ359a)が別個の基板に搭載される構成とされていてもよい。
図11は、演出制御基板80における音声制御コマンドの信号送信部分及び音制御用マイクロコンピュータ等が搭載された音声制御基板70の構成例を示すブロック図である。この実施の形態では、遊技進行に応じて、遊技領域7の外側に設けられているスピーカ27の音声出力を指示するための音声制御コマンドが、演出制御基板80から音声制御基板70に出力される。
音制御基板70において、音制御用CPU(以下の説明において「音制御用マイクロコンピュータ」という意味で用いることもある)701は、演出制御用CPU101に対してACK信号を出力する。ACK信号は、音制御用CPU701におけるI/Oポート部の出力ポートから出力される。
図11に示すように、音声制御コマンドは、演出制御用CPU101におけるI/Oポート部の出力ポートから出力される。出力ポートは、8ビットのデータと、1ビットのSTB信号とを出力する。音制御基板70において、演出制御基板80からの制御コマンドは、音制御用CPU701におけるI/Oポート部の入力ポートを介して音制御用CPU701に入力する。なお、音制御用CPU701がI/Oポートを内蔵していない場合には、音制御用CPU701の前段にI/Oポートが設けられる。
そして、例えばデジタルシグナルプロセッサによる音声合成回路702は、音声制御用CPU701の指示に応じた音声や効果音を発生し音量切替回路703に出力する。音量切替回路703は、音声制御用CPU701の出力レベルを、設定されている音量(例えば、遊技機に設けられているボリューム切替スイッチの操作状態に応じた音量)に応じたレベルにして音量増幅回路704に出力する。音量増幅回路704は、増幅した音声信号をスピーカ27に出力する。
なお、図11に示す音制御基板70に搭載されている回路の一部(例えば音量切替回路703と音量増幅回路704)が別個の基板に搭載される構成とされていてもよい。
図12は、演出制御基板80からランプ制御基板35や音制御基板70に送信される第2のコマンド(ランプ制御コマンド、音制御コマンド)の送信形態を示すタイミング図である。
演出制御基板80における演出制御マイクロコンピュータ(演出制御用CPU101)は、第2のコマンドを送信するときに、図12に示すように、コマンドデータ(MODEデータまたはEXTデータ)をI/Oポートに設定し、STB信号をオン(ローレベル)にする。第2のコマンドを受信する受信側の基板(ランプ制御基板35、音制御基板70)における演出制御マイクロコンピュータ(ランプ制御用CPU351、音制御用CPU701)は、STB信号がオン状態になったことを検出すると、I/Oポートを介してコマンドデータを入力すると共に、受信完了を伝えるためにACK信号をオン(ローレベル)にする。
演出制御用CPU101は、ACK信号がオン状態になったことを確認したら、STB信号をオフにする。受信側の演出制御マイクロコンピュータ(ランプ制御用CPU351、音制御用CPU701)は、STB信号がオフ状態になったことを確認したら、ACK信号をオフにする。以上のようにして、1バイトのコマンドデータの送受信が実現される。なお、2バイト構成の第2のコマンドの2バイト目も、1バイト目と同様に送受信される。
この実施の形態では、図12に示すような形態で第2のコマンドが送受信されるが、図12に示された形態は一例であって、演出制御用CPU101からコマンドデータがランプ制御用CPU351や音制御用CPU701に向けて送信され、ランプ制御用CPU351や音制御用CPU701がコマンドデータを受信したことを示す応答としての情報を演出制御用CPU101に対して送信するのであれば、即ち双方向通信によってコマンドデータを送受信するのであれば、いかなる形態で第2のコマンドが送受信されてもよい。例えば、ACK信号に代えて受信完了を示すコマンドを演出制御用CPU101に送信するようにしてもよい。また、この実施の形態では、後述するようにコマンドデータは2バイト構成であるが、1バイト構成でも3バイト以上の構成でもよいし、パラレル送受信(この例では8ビットパラレル)に限らず、シリアル送受信によってもよい。
また、双方向通信に限らず、演出制御基板80からランプ制御基板35や音制御基板70への方向にのみデータまたは信号を送信可能であるように構成してもよい。さらに、上述した主基板31と演出制御基板80との間で行われている通信方法と同じ方法によって、演出制御基板80とランプ制御基板35や音制御基板70との間でデータや信号をやりとりするようにしてもよい。このように構成すれば、データや信号の通信に関する制御プログラムの基本部分等を共通にすることができ、データや信号の通信に関する制御プログラムを大幅な変更を加えることなく各基板で流用することができる。
次に、電源基板910の構成を図13のブロック図を参照して説明する。電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。なお、電源スイッチ914は、遊技機において、電源基板910の外に設けられていてもよい。電源スイッチ914が閉状態(オン状態)では、交流電源(AC24V)がトランス911の入力側(一次側)に印加される。トランス911は、交流電源(AC24V)と電源基板910の内部とを電気的に絶縁するためのものであるが、その出力電圧もAC24Vである。また、トランス911の入力側には、過電圧保護回路としてのバリスタ918が設置されている。
電源基板910は、電気部品制御基板(主基板31、払出制御基板37及び演出制御基板80)と独立して設置され、遊技機内の各基板及び機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、VLP(DC+24V)、VDD(DC+12V)及びVCC(DC+5V)を生成する。また、バックアップ電源(VBB)即ちバックアップRAMに記憶内容を保持させるための記憶保持手段となるコンデンサ916は、DC+5V(VCC)即ち各基板上のIC等を駆動する電源のラインから充電される。また、+5Vラインとバックアップ+5V(VBB)ラインとの間に、逆流防止用のダイオード917が挿入される。なお、VSLは、整流平滑回路915において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。また、VLPは、ランプ点灯用の電圧であって、整流回路912において、整流素子でAC24Vを整流することによって生成される。
電源電圧生成手段としてのDC−DCコンバータ913は、1つまたは複数のレギュレータIC(図13では2つのレギュレータIC924A,924Bを示す。)を有し、VSLに基づいてVDD及びVCCを生成する。レギュレータIC(スイッチングレギュレータ)924A,924Bの入力側には、比較的大容量のコンデンサ923A,923Bが接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、VSL、VDD、VCC等の直流電圧は、比較的緩やかに低下する。そして、主基板31との接続ケーブルが接続されるコネクタ922Aには、VSL、VDD、VCCの電源電圧が供給される。払出制御基板37との接続ケーブルが接続されるコネクタ922Bには、VSL、VDD、VCC、AC24Vの電源電圧が供給される。演出制御基板80との接続ケーブルが接続されるコネクタ922Cには、VDD、VCCの電源電圧が供給される。ランプ制御基板35との接続ケーブルが接続されるコネクタ922Dには、VSL、VLP、VDD、VCCの電源電圧が供給される。音制御基板70との接続ケーブルが接続されるコネクタ922Eには、VDD、VCCの電源電圧が供給される。
また、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号(CS)が出力され、コネクタ922A,922Bを介して主基板31及び払出制御基板37に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、クリアスイッチ921は、押しボタン構造以外の他の構成であってもよい。また、クリアスイッチ921は、遊技機において、電源基板910以外に設けられていてもよい。
さらに、電源基板910には、電気部品制御基板に搭載されているマイクロコンピュータに対するリセット信号を作成すると共に、電源断信号を出力する電源監視回路920と、電源監視回路920からのリセット信号を増幅してコネクタ922A〜922Eに出力すると共に、電源断信号を増幅してコネクタ922A,922Bに出力する出力ドライバ回路925が搭載されている。即ち、電源監視回路920からのリセット信号についても、電源電圧と同様に、演出制御基板80を介すことなく、ランプ制御基板35及び音制御基板70の各入力ポート(図示しない)に入力されるようになっている。
電源監視回路920は電源断信号を出力する電源監視手段とリセット信号を生成するリセット信号生成手段とを実現する回路である。電源監視回路920は、遊技機において用いられる所定電圧(例えば+24V)が所定値(例えば+5V)以下になった期間が、あらかじめ決められている時間(例えば56ms)以上継続すると電源断信号を出力する。具体的には、電源断信号をオン状態(ローレベル)にする。また、電源監視回路920は、例えば、VCCが+4.5V以下になると、リセット信号をローレベルにすることが可能な状態になる。
電源監視回路920は、遊技機に対する電力供給が停止する際には、電源断信号を出力(ローレベルにする)してから所定期間が経過したことを条件にリセット信号をローレベルにする。所定期間は、主基板31、払出制御基板37、演出制御基板80、ランプ制御基板35及び音制御基板70に搭載されているマイクロコンピュータが、後述する電源断処理を実行するのに十分な時間である。また、遊技機に対する電力供給が開始され、VCCが例えば+4.5Vを越えるとリセット信号をハイレベルにするのであるが、その場合に、電源断信号が出力されなくなってから(ハイレベルにしてから)所定期間が経過したことを条件にリセット信号をハイレベルにする。従って、リセット信号がハイレベルになったことに応じて各電気部品制御基板(主基板31を含む)に搭載されているマイクロコンピュータがプログラムに従って制御操作を開始するときに、電源断信号は必ずオフ状態になっている。
図14は、演出制御基板80に設けられたウォッチドッグ回路69の一構成例を示すブロック図である。演出制御用CPU101は、演出制御プログラムに従って動作するが、演出制御プログラム中に定期的に出力ポート579のうちのあるビット(リセット信号出力用のビット)からローレベルの1パルスを出力するルーチン(後述する図63のタイマ割込処理におけるステップSE712)が含まれている。以下、出力ポート579のそのビットをパルス出力ポートという。この実施の形態では、ウォッチドッグ回路69は、カウンタをカウントアップして所定値に達すると、即ちタイムアップすると出力をハイレベルにするタイマ回路691と、タイマ回路691の出力がハイレベルになると、所定の長さのローレベルパルスを発生する1ショットパルス発生回路692とを含む。
パルス出力ポートからのパルスはタイマ回路691にリセット信号として入力される。リセット信号が入力されると、タイマ回路691のカウント値は初期値に戻される。よって、タイマ回路691がタイムアップするまでの時間よりも短い周期で定期的にパルス出力ポートからパルスが出力されていれば、1ショットパルス発生回路692からローレベルパルスは発生しない。しかし、パルス出力ポートからのパルスが途切れるとタイマ回路691がタイムアップし、その結果、1ショットパルス発生回路692からローレベルパルスが発生する。なお、タイマ回路691は、CPU101が実行する後述の初期化処理(ステップSE701)で初期化される。
1ショットパルス発生回路692の出力はNAND回路693に入力される。NAND回路693には電源基板910の電源監視回路920からのリセット信号も入力される。NAND回路693は、いずれか一方の入力がローレベルであれば出力をローレベルにする。そして、NAND回路693の出力はCPU101のリセット端子に接続されている。従って、リセット信号が発生したとき、及び、1ショットパルス発生回路692からローレベルパルスが発生したときに、CPU101はリセットされる。
図15及び図16は、遊技制御マイクロコンピュータにおける出力ポートの割り当ての例を示す説明図である。図15に示すように、出力ポート0は払出制御基板37に送信される払出制御信号及び電源確認信号、演出制御基板80に送信される演出制御コマンドについての演出制御INT信号(ストローブ信号)の出力ポートである。また、演出制御基板80に送信される演出制御コマンドの8ビットのデータは出力ポート1から出力される。演出制御INT信号は、演出制御コマンドの8ビットのデータを取り込むことを演出制御マイクロコンピュータに指令するための信号である。
また、出力ポート2から、大入賞口の開閉板2を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21A及び可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号が出力される。そして、出力ポート3から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号即ち制御に関わる情報の出力データが出力される。
図17は、遊技制御マイクロコンピュータにおけるにおける入力ポートのビット割り当ての例を示す説明図である。図17に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ33a、24a,29a,30a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22、ゲートスイッチ32aの検出信号が入力される。また、入力ポート1のビット0〜2には、それぞれ、電源監視回路920からの電源断信号、払出制御基板37からの払出BUSY信号、電源基板910からのクリアスイッチ信号、払出制御基板37からの賞球カウント信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路58において論理反転されている。
次に遊技機の動作について説明する。図18は、主基板31における遊技制御マイクロコンピュータ(CPU56及びROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)及びPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
この実施の形態で用いられるCPU56は、I/Oポート(PIO)及びタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定すると共に、プログラムカウンタの内容をスタックにセーブする。
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。即ち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS11〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始する(例えば電源スイッチ914をオンする)ことによって、容易に初期化処理を実行させることができる。即ち、RAMクリア等を行うことができる。
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていたことを確認した場合には、CPU56はバックアップありと判定する。そのような保護処理が行われていないことを確認した場合には、CPU56は初期化処理を実行する。
バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。例えば、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
バックアップありと判定したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアすると共に、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理(ステップS10〜S15の処理)を実行する。
チェック結果が正常であれば、CPU56は、遊技制御マイクロコンピュータの内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS81)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS82)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS81及びS82の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)や未払出賞球数を示すデータが設定されている部分である。
また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS83)、その内容に従ってサブ基板(払出制御基板37及び演出制御基板80)に、電力供給が復旧した旨を示す制御コマンドが送信されるように制御する(ステップS84)。そして、ステップS15に移行する。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAMの全領域を初期化せず、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。例えば、大当り判定用乱数を生成するためのカウンタのカウント値のデータをそのままにした場合には、不正な手段によって初期化処理が実行される状態になったとしても、大当り判定用乱数を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを狙うことは困難である。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。ステップS11及びS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。
また、CPU56は、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド等がある。
そして、ステップS15において、CPU56は、例えば2ms毎に定期的にタイマ割込がかかるようにCPU56に内蔵されているCTCのレジスタの設定を行なう。即ち、初期値として例えば2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、2ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)及び初期値用乱数更新処理(ステップS18)が繰り返し実行される。CPU56は、表示用乱数更新処理及び初期値用乱数更新処理が実行されるときには割込禁止状態にして(ステップS16)、表示用乱数更新処理及び初期値用乱数更新処理の実行が終了すると割込許可状態にする(ステップS19)。なお、表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
なお、表示用乱数更新処理及び初期値用乱数更新処理が実行されるときに割込禁止状態にされるのは、表示用乱数更新処理及び初期値用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。即ち、ステップS17,S18の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数や初期値用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17,S18の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
タイマ割込が発生すると、CPU56は、図19に示すステップS20〜S33の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断検出処理を実行する(ステップS20)。次いで、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23及び入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS22)。CPU56は、さらに、表示用乱数及び初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS23,S24)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、特別図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
また、CPU56は、入賞口スイッチ29a,30a,33a,39aの検出信号に基づく賞球個数の設定などを行う賞球処理を実行する(ステップS30)。具体的には、入賞口スイッチ29a,30a,33a,39aがオンしたことに基づく入賞検出に応じて、払出制御基板37に賞球個数を示す払出個数信号等の払出制御信号を出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出個数信号等の払出制御信号に応じて球払出装置97を駆動する。
そして、CPU56は、始動入賞記憶数の増減をチェックする記憶処理を実行する(ステップS31)。また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS32)。また、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられ、CPU56は、そのRAM領域の内容を出力ポートに出力する(ステップS33:出力処理)。なお、出力ポートバッファの内容は、ステップS25〜S30,S31の処理で更新される。その後、割込許可状態に設定し(ステップS34)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は定期的(例えば2ms毎)に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
図20及び図21は、ステップS20の電源断検出処理の一例を示すフローチャートである。電源断検出処理において、CPU56は、まず、電源断信号が出力されているか否か(オン状態になっているか否か)確認する(ステップS450)。オン状態であれば、ステップS452以降の電力供給停止時処理即ち電力の供給停止のための準備処理を実行する。つまり、遊技の進行を制御する状態から遊技状態を保存させるための電力供給停止時処理を実行する状態に移行する。
電力供給停止時処理において、CPU56は、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS452)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS453〜S461)。即ち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS453)、チェックサム算出開始アドレスをポインタにセットする(ステップS454)。また、チェックサム算出回数をセットする(ステップS455)。
次いで、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS456)。演算結果をチェックサムデータエリアにストアすると共に(ステップS457)、ポインタの値を1増やし(ステップS458)、チェックサム算出回数の値を1減算する(ステップS459)。そして、ステップS456〜S459の処理を、チェックサム算出回数の値が0になるまで繰り返す(ステップS460)。
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS461)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS462)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS471)。以後、内蔵RAM55のアクセスができなくなる。
さらに、CPU56は、ROM54に格納されているポートクリア設定テーブルの先頭アドレスをポインタにセットする(ステップS472)。ポートクリア設定テーブルにおいて、先頭アドレスには処理数(クリアすべき出力ポートの数)が設定され、次いで、出力ポートのアドレス及び出力値データ(クリアデータ:出力ポートの各ビットのオフ状態の値)が、処理数分の出力ポートについて順次設定されている。
CPU56は、ポインタが指すアドレスのデータ(即ち処理数)をロードする(ステップS473)。また、ポインタの値を1増やし(ステップS474)、ポインタが指すアドレスのデータ(即ち出力ポートのアドレス)をロードする(ステップS475)。さらに、ポインタの値を1増やし(ステップS476)、ポインタが指すアドレスのデータ(即ち出力値データ)をロードする(ステップS477)。そして、出力値データを出力ポートに出力する(ステップS478)。その後、処理数を1減らし(ステップS479)、処理数が0でなければステップS474に戻る。処理数が0であれば、即ち、クリアすべき出力ポートを全てクリアしたら、タイマ割込を停止し(ステップS481)、ループ処理に入る。
ループ処理では、電源断信号がオフ状態になったか否かを監視する(ステップS482)。電源断信号がオフ状態になった場合には復帰アドレスとして、電源投入時実行アドレス(ステップS1のアドレス)を設定してリターン命令を実行する(ステップS483)。
以上の処理によって、電力供給が停止する場合には、ステップS452〜S481の電力供給停止時処理が実行されて、電力供給停止時処理が実行されたことを示すデータ(バックアップあり指定値及びチェックサム)がバックアップRAMへストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされ、かつ、遊技制御処理を実行するためのタイマ割込が禁止状態に設定される。
この実施の形態では、RAM55の全領域がバックアップ電源によって電源バックアップ(遊技機への電力供給が停止しても所定期間はRAM55の内容が保存されこと)されている。従って、ステップS452〜S479の処理によって、バックアップあり指定値と共に、電源断信号が出力されたときのRAM55の内容に基づくチェックサムもRAM55に保存される。遊技機への電力供給が停止した後、所定期間内に電力供給が復旧したら、遊技制御マイクロコンピュータは、上述したステップS81〜S84の処理によって、RAM55に保存されているデータ(電力供給が停止した直前の遊技制御マイクロコンピュータによる制御状態である遊技状態を示すデータ(例えば、プロセスフラグの状態、大当り中フラグの状態、確変フラグの状態、出力ポートの出力状態等)を含む)に従って、遊技状態を、電力供給が停止した直前の状態に戻すことができる。なお、電力供給停止の期間が所定期間を越えたらバックアップあり指定値とチェックサムとが正規の値とは異なるはずであるから、その場合には、ステップS10〜S14の初期化処理が実行される。即ち、電力供給停止時処理(電力の供給停止のための準備処理)によって、遊技状態を電力供給が停止した直前の状態に戻すためのデータが確実に変動データ記憶手段(この例ではRAM55の全領域)に保存される。なお、RAM55の全領域が電源バックアップされるのではなく、遊技状態を電力供給が停止した直前の状態に戻すためのデータを記憶する領域のみが電源バックアップされるようにしてもよい。
また、電源断信号がオフ状態になった場合には、ステップS1に戻る。その場合、電力供給停止時処理が実行されたことを示すデータが設定されているので、ステップS81〜S84の遊技状態復旧処理が実行される。よって、電力供給停止時処理を実行した後に電源監視手段からの検出信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、遊技制御処理が停止してしまうようなことはなく、自動的に、遊技制御処理が続行される。
なお、払出制御基板37に対して送信される電源確認信号は、出力ポートをクリアする処理によってオフ状態に設定される。また、ステップ82及びS12の作業領域の設定では、電源確認信号に対応した出力ポートバッファの内容が、電源確認信号のオン状態に対応した値に設定される。そして、ステップS33の出力処理が実行されると、出力ポートバッファの内容が出力ポートに出力されるので、払出制御基板37への電源確認信号がオン状態になる。従って、電源確認信号は、主基板31の立ち上がり時に出力される(オン状態になる)ことになる。なお、電源瞬断等から復帰した場合も、電源確認信号が出力される。
次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図22に示すように、スイッチタイマは検出信号の数nだけ設けられている。また、RAM55において、各スイッチタイマのアドレスは、入力ポートのビット配列順と同じ順序で並んでいる。
図23は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS101)。次いで、処理数として「8」を設定し(ステップS102)、入賞口スイッチ33aのためのスイッチタイマのアドレスをポインタにセットする(ステップS103)。そして、スイッチチェック処理サブルーチンをコールする(ステップS104)。
図24は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS121)。また、クリアデータ(00)をセットする(ステップS122)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードすると共に(ステップS123)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS124)。比較値には入力ポート0のデータが設定されている。なお、タイマ割込処理において、最初にスイッチチェック処理が実行される場合、前記ステップS103でスイッチタイマのアドレスがポインタにセットされた入賞口スイッチ33aの検出信号がキャリーフラグに設定される。
キャリーフラグの値が「1」であれば(ステップS125)、即ち入賞口スイッチ33aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS127)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS128,S129)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。即ち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
キャリーフラグの値が「0」であれば、即ち入賞口スイッチ33aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS126)。即ち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算すると共に(ステップS130)、処理数を1減算する(ステップS131)。処理数が0になっていなければステップS122に戻る。そして、ステップS122〜S132の処理が繰り返される。
ステップS122〜S132の処理は、処理数分即ち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
次に、主基板31と払出制御基板37との間で送受される払出制御信号について説明する。図25は、遊技制御マイクロコンピュータから払出制御マイクロコンピュータに対して出力される制御信号及び遊技制御マイクロコンピュータに払出制御マイクロコンピュータから入力される払出制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で複数種類の制御信号がやりとりされる。図25に示すように、電源確認信号は、主基板31の立ち上がり時に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、上述したように、電源確認信号は、電源断検出時にオフ状態にされ、払出制御基板37に対して主基板31で電源断検出がなされたことを通知するための信号としても用いられる。
賞球REQ信号は、賞球の払出要求時にローレベル(出力状態=オン状態)になり、払出要求の終了時にハイレベル(停止状態=オフ状態)になる信号(即ち賞球払出要求のトリガ信号)である。また、賞球REQ信号は、賞球の払い出しを強制的に停止させるときにハイレベル(停止状態)になり、賞球払出の強制停止指示を行う強制停止信号としても用いられる。払出個数信号は、払出要求を行う遊技球の個数(1〜15個)を指定するために出力される信号である。
払出BUSY信号(賞球払出中信号)は、主基板31が払出制御基板37での動作状態を確認するために用いられる信号である。賞球カウント信号は、払出カウントスイッチ301によって検出された賞球の払出を主基板31に通知するために用いられる信号である。なお、各制御信号は、出力状態またはオン状態と停止状態またはオフ状態とが識別可能に構成されていればよく、上記の論理の正負が逆であってもよい。
なお、払出制御マイクロコンピュータは、払出BUSY信号の出力状態を切り替えることによって、1つの信号線で、賞球払出が完了したことを示す払出完了信号と賞球払出中であることを示す払出処理中信号とを区別して出力する。また、遊技制御マイクロコンピュータは、電源確認信号の信号線の態様を異ならせることによって、遊技制御マイクロコンピュータが立ち上がったことを示す信号と電源断検出がなされたことを示す信号とを区別して出力する。さらに、賞球REQ信号の信号線の態様を異ならせることによって、払出要求があることを示す信号と払出完了信号を受け付けたことを示す信号とを区別して出力する。このように、1本の信号線における態様を異ならせることによって複数の信号を出力する。
図26は、図25に示す各制御信号の送受信に用いられる信号線等を示すブロック図である。図26に示すように、電源確認信号、賞球REQ信号、及び払出個数信号は、CPU56によって出力回路67を介して出力され、入力回路373Aを介して払出制御用CPU371に入力される。また、払出BUSY信号及び賞球カウント信号は、払出制御用CPU371によって出力回路373Bを介して出力され、入力回路68を介してCPU56に入力される。電源確認信号、賞球REQ信号、払出BUSY信号、及び賞球カウント信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。払出個数信号は、1個〜15個を指定するので、4ビットのデータで構成され4本の信号線によって送信される。
図27は、ステップS30の賞球処理の一例を示すフローチャートである。賞球処理において、COU56は、賞球個数加算処理(ステップS201)と賞球制御処理(ステップS202)とを実行する。
賞球個数加算処理では、図28に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「6」)が設定され、その後に、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチタイマ(図22参照)の下位アドレスと賞球数とが対で順次設定されている。
図29は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、CPU56は、賞球個数テーブルの先頭アドレスをポインタにセットする(ステップS211)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS212)。次に、スイッチタイマの上位アドレス(8ビット)をチェックポインタにセットする(ステップS213)。なお、全てのスイッチタイマの上位アドレスは同じである。
そして、ポインタの値を1増やし(ステップS214)、チェックポインタにセットされているデータとポインタが指すアドレスのデータ(スイッチタイマの下位アドレス)とに基づいてスイッチタイマのアドレスを得て、そのアドレスからスイッチタイマの値をロードする(ステップS215)。なお、最初にロードされる値は、入賞口スイッチ33aに対応したスイッチタイマの値である(図28参照)。また、ここで、ポインタの値を+1しておく(ステップS216)。
次に、CPU56は、ロードしたスイッチタイマの値とオン判定値(例えば「2」)とを比較し(ステップS217)、一致していればステップS218に移行し、一致していなければステップS222に移行する。スイッチタイマの値は、ステップS21のスイッチ処理でスイッチがオンしていることが確認されたら+1されている。スイッチ処理は2ms毎に起動されるので、結局、スイッチが4ms継続してオンしていたら、スイッチタイマの値が「2」になる。即ち、オン判定値が「2」である場合には、スイッチが4ms継続してオンしていたら、スイッチタイマの値がオン判定値に一致する。
ステップS218では、ポインタが指すアドレスのデータ(この場合には賞球数)をロードし、ロードした値を賞球加算値に設定する。また、賞球加算値を、16ビットのRAM領域である総賞球数格納バッファの内容に加算する(ステップS219)。なお、総賞球数格納バッファは、バックアップRAMに形成されている。加算の結果、桁上げが発生した場合には、総賞球数格納バッファの内容を65535(=FFFF(H))に設定する(ステップS220,221)。
ステップS222では処理数を1減らし、処理数が0であれば処理を終了し、処理数が0でなければステップS214に戻る(ステップS223)。
図30は、ステップS201の賞球制御処理を示すフローチャートである。賞球制御処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS231〜S234のいずれかの処理を実行する。
図31は、賞球プロセスコードの値が0の場合に実行される賞球待ち処理1(ステップS231)を示すフローチャートである。CPU56は、賞球待ち処理1において、払出BUSY信号がオン状態になっているか否か確認する(ステップS241)。この段階では払出BUSY信号はオン状態になっていないはずであるから、払出BUSY信号がオン状態になっている場合には、異常状態コードを出力して処理を終了する。なお、異常状態コードはRAM55に形成される内部フラグである。
払出BUSY信号がオフ状態であれば、賞球REQ信号をオフ状態にすると共に払出個数信号の出力を0クリアする(ステップS243,S244)。なお、ステップS243の処理は、ステップS234の賞球処理3の実行が完了して前回の払出処理が完了した後に賞球REQ信号をオフ状態にするための処理である。また、賞球タイマが0であるか否か確認する(ステップS245)。賞球タイマが0でなければ、賞球タイマの値を1減らして(ステップS246)、処理を終了する。賞球タイマは賞球処理において必要となる時間を計測するためのタイマであるが、この段階で賞球タイマの値が0でないということは、前回の払出処理が完了した後、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間)が終了していないことを意味する。
賞球タイマの値が0であれば、CPU56は、総賞球数格納バッファの内容を確認する(ステップS247)。その値が0であれば処理を終了し、0でなければ、賞球プロセスコードの値を1にした後(ステップS248)、処理を終了する。
図32は、賞球プロセスコードの値が1の場合に実行される賞球送信処理(ステップS232)を示すフローチャートである。CPU56は、賞球送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値(この例では「15」)よりも小さいか否か確認する(ステップS251)。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する(ステップS252)。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する(ステップS253)。
その後、賞球個数バッファに設定された数の払出数を指定する払出個数信号を出力し(ステップS254)、賞球REQをオン状態にし(ステップS255)、賞球プロセスコードの値を2にして(ステップS256)、処理を終了する。
この実施の形態では、賞球コマンド最大値は「15」である。従って、最大で「15」の払出数を指定する払出個数信号が払出制御基板37に送信される。
図33は、賞球プロセスコードの値が2の場合に実行される賞球待ち処理2(ステップS233)を示すフローチャートである。CPU56は、賞球待ち処理2において、賞球REQがオン状態になったことに応じて払出制御マイクロコンピュータが出力する(オン状態にする)払出BUSY信号がオン状態になったか否か確認する(ステップS261)。オン状態にならないときには、賞球タイマにBUSY開始判定時間値をセットする(ステップS262)。BUSY開始判定時間値は、遊技制御マイクロコンピュータが、その値が示す時間だけ払出BUSY信号のオン状態が継続したら、確かに払出BUSY信号が出力された(オンした)と確認するための値である。
従って、CPU56は、払出BUSY信号がオン状態になったら賞球タイマの値を確認し(ステップS263)、その値が0でなければ賞球タイマの値を1減らして(ステップS264)、処理を終了する。賞球タイマの値が0になったら、確かに払出BUSY信号がオンしたとして、総賞球数格納バッファの内容から、賞球個数バッファの内容(払出制御マイクロコンピュータに指令した賞球払出個数)を減算する(ステップS265)。そして、賞球プロセスコードの値を3にして(ステップS266)、処理を終了する。
図34は、賞球プロセスコードの値が3の場合に実行される賞球待ち処理3(ステップS234)を示すフローチャートである。CPU56は、賞球待ち処理4において、払出BUSY信号がオフ状態になったか否か確認する(ステップS271)。オフ状態にならないときには、賞球タイマにBUSY終了判定時間値をセットする(ステップS272)。BUSY終了判定時間値は、遊技制御マイクロコンピュータが、その値が示す時間だけ払出BUSY信号のオフ状態が継続したら、確かに払出BUSY信号が出力されなくなった(オフした)と確認するための値である。
従って、CPU56は、払出BUSY信号がオフ状態になったら賞球タイマの値を確認し(ステップS273)、その値が0でなければ賞球タイマの値を1減らして(ステップS274)、処理を終了する。賞球タイマの値が0になったら、確かに払出BUSY信号がオフしたとして、賞球REQ待ち時間を賞球タイマにセットする(ステップS275)。そして、賞球プロセスコードの値を0にして(ステップS276)、処理を終了する。上述したように、賞球REQ待ち時間は、次に賞球REQ信号をオン状態にするまでの待ち時間(連続して賞球払出が実行される場合に、複数の賞球REQ信号のオン期間の間に間隔を設けるための時間)である。
以上の処理によって、遊技制御マイクロコンピュータは、払出条件の成立に基づいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。総賞球数格納バッファは、遊技機への電力供給が停止した場合に変動データ保存手段としてのバックアップ電源により記憶内容を少なくとも所定期間保存する景品遊技媒体数記憶手段に相当する。また、遊技制御マイクロコンピュータは、総賞球数格納バッファに記憶されている賞球数に基づいて払出制御マイクロコンピュータに対して所定数の賞球の払出数を指定する払出指令信号を送信する。ここで、所定数は、総賞球数格納バッファに記憶されている賞球数が15個以上であれば15であり、15個未満であれば、総賞球数格納バッファに記憶されている賞球数である。そして、所定の条件が成立すると総賞球数格納バッファに記憶されている賞球数から払出指令信号で指定した払出数を減算する減算処理を行う。
この実施の形態では、減算処理を実行するための所定の条件は、払出制御マイクロコンピュータから指令受付信号を受信したとき、具体的には、払出BUSY信号がオンしたときである。なお、払出BUSY信号がオンしたときには、払出制御マイクロコンピュータは、払出指令信号で指令された個数の賞球払出をまだ行っていない。賞球払出が完了したときに総賞球数格納バッファの減算処理を行うように構成すると、賞球払出中に不正に遊技機の電力供給を停止させた後に電力供給を復旧させるような不正行為によって、不正に多数の賞球払出が行われてしまう。例えば、払出指令信号で15個の賞球払出が指令された場合に、10個の賞球払出がなされた時点で、不正に遊技機の電力供給を停止させた後に電力供給を復旧させると、総賞球数格納バッファの内容はなんら減算されていないので、実際には10個の賞球払出はなされているにも関わらず、その10個の賞球払出はなされていないものとして、賞球制御を続行してしまう。
しかし、この実施の形態では、払出BUSY信号がオンしたときに、即ち、払出制御マイクロコンピュータが払出指令信号を受け付けて指令受付信号を送信したときに総賞球数格納バッファの減算処理が実行されるので、上記の不正行為を防止することができる。
なお、この実施の形態では、払出条件の成立に基づいて払い出される景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段として、総数そのものを記憶する総賞球数格納バッファが例示されたが、景品遊技媒体の総数を特定可能に記憶する景品遊技媒体数記憶手段は、各入賞領域への入賞数を記憶したり、賞球数が同じである入賞領域毎の入賞数(例えば6個の賞球数に対応した入賞口14、10個の賞球数に対応した入賞口33,39,29,30、15個の賞球数に対応した大入賞口への入賞数であって、未だ賞球払出が終了していない入賞数)を記憶するものであってもよい。
図35は、払出制御信号の出力の状態の例を示すタイミング図である。ここでは、入賞を検出するスイッチ(例えば、入賞口スイッチ33a,39a,29a,30a、始動口スイッチ14a、カウントスイッチ23)で、6個の入賞が検出されたあと15個の入賞が検出された場合について説明する。上述したように、入賞が検出されると、賞球個数加算処理において、総賞球数格納バッファに入賞に応じた賞球数が加算される。
図35に示すように、6個の入賞が検出されると、CPU56は、総賞球数格納バッファの内容が0でなくなったことに基づいて、賞球REQ信号を出力状態(オン状態:ローレベル)にすると共に、6個を示す払出個数信号を出力状態にする(ステップS254,S255参照)。払出制御用CPU371は、賞球REQ信号を受信すると、賞球の払出処理中であることを示す払出BUSY信号をオン状態とすると共に、払出モータ289を駆動して払出個数信号が示す6個の賞球の払出処理を実行する。6個分の賞球の払出処理を終了すると、払出制御用CPU371は、払出BUSY信号をオフ状態にする。払出BUSY信号のオン状態からオフ状態への変化は、払出完了信号がオンしたことも示す。CPU56は、払出完了信号に基づいて6個分の賞球が払い出されたことを確認すると、賞球REQ信号を停止状態(オフ状態:ハイレベル)にすると共に、払出個数信号の出力を停止状態にする(ステップS271,S243,S244参照)。
6個の入賞に基づく払出処理を終了すると、CPU56は、総賞球数格納バッファの内容が0でないことに基づいて、賞球REQ信号を出力状態にすると共に、15個を示す払出個数信号を出力状態にする。払出制御用CPU371は、賞球REQ信号を受信すると、賞球の払出処理中であることを示す払出BUSY信号をオン状態とすると共に、払出モータ289を駆動して払出個数信号が示す15個の賞球の払出処理を実行する。15個分の賞球の払出処理を終了すると、払出制御用CPU371は、払出BUSY信号をオフ状態にする。CPU56は、払出完了信号に基づいて15個分の賞球が払い出されたことを確認すると、賞球REQ信号を停止状態にすると共に、払出個数信号の出力を停止状態にする。なお、CPU56は、払出カウントスイッチ301による賞球の検出信号が払出制御基板37(払出制御マイクロコンピュータ)に入力されることに伴って払出制御基板37から出力される賞球カウント信号を入力することで、賞球の払出を管理するようになっている。
この実施の形態では、図35に示すように、後に発生した15個の入賞に基づく払出処理は、6個の入賞に基づく払出処理が終了するまで待たされる。即ち、連続して複数の入賞が発生した場合には、CPU56は、先の入賞に基づく賞球の払い出しが払出完了信号によって確認されるまで、後の入賞に基づく賞球の払出要求の送出を待つ。換言すれば、遊技制御マイクロコンピュータにおける払出指令信号送信手段は、景品遊技媒体数記憶数減算手段による減算処理の後に景品遊技媒体数記憶手段(この例では総賞球数格納バッファ)に未払出の景品遊技媒体数が記憶されていたときには、払出指令信号で指定した払出数の景品遊技媒体の払出処理が終了した後に次の払出指令信号を出力する。
次に、払出制御マイクロコンピュータ(払出制御用CPU371及びROM,RAM等の周辺回路)の動作を説明する。図36は、払出制御マイクロコンピュータにおける出力ポートの割り当ての例を示す説明図である。図36に示すように、出力ポート0は、ステッピングモータによる発射モータ94に供給される各相の信号と、ステッピングモータによる払出モータ289に供給される各相の信号とを出力するための出力ポートである。また、出力ポート1は、球切れLED52、賞球LED51、払出BUSY信号、及び賞球カウント信号と、遊技機外部に出力される賞球情報、球貸し情報及び遊技機エラー信号を出力するための出力ポートである。
出力ポート2は、7セグメントLEDによるエラー表示LED374の各セグメント出力の出力ポートである。出力ポート3は、カードユニット50へのEXS信号及びPRDY信号を出力するための出力ポートである。
図37は、払出制御マイクロコンピュータにおける入力ポートのビット割り当ての例を示す説明図である。図37に示すように、入力ポート0のビット0〜3には、4ビットの払出個数信号が入力され、ビット4〜7には、それぞれ、電源監視回路920からの電源確認信号(電源断信号)、主基板31からの賞球REQ信号、球切れスイッチ187の検出信号、払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット0〜4には、それぞれ、払出カウントスイッチ301の検出信号、エラー解除スイッチ375からの操作信号、単発発射スイッチからの信号、タッチセンサからのタッチセンサ信号、満タンスイッチ48の検出信号が入力される。入力ポート1のビット5〜7には、それぞれ、カードユニット50からのVL信号、BRDY信号、BRQ信号が入力される。また、入力ポート2のビット0,1には、それぞれ電源基板910からのリセット信号、クリアスイッチ信号が入力される。
図38は、遊技機の払出制御マイクロコンピュータとカードユニット50との間の通信を説明するためのタイミング図である。払出制御マイクロコンピュータは、遊技機への電力供給が開始され、払出動作が可能なときにはPRDY信号をオン状態にする。カードユニット50は、電力供給が開始されると、接続信号としてのVL信号をオン状態にする。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット50は、払出制御マイクロコンピュータにBRDY信号を出力する。即ち、BRDY信号をオン状態にする。この時点から所定の遅延時間が経過すると、カードユニット50は、払出制御マイクロコンピュータにBRQ信号を出力する。即ち、BRQ信号をオン状態にする。
そして、払出制御マイクロコンピュータは、カードユニット50に対するEXS信号をオン状態にし、カードユニット50からのBRQ信号の立ち下がり(オフ)を検出すると、払出モータ289を駆動し、所定個(例えば25個)の貸球を遊技者に払い出す。そして、払出が完了したら、払出制御マイクロコンピュータは、カードユニット50に対するEXS信号を立ち下げる。即ちEXS信号をオフ状態にする。なお、貸球の払い出しに伴って、払出制御マイクロコンピュータには、払出カウントスイッチ301から貸球の検出信号が入力されるが、このような貸球の払い出し時には、前述した賞球の払い出し時とは異なり、払出制御マイクロコンピュータから主基板31のCPU56に貸球の払出を示すカウント信号(図38中には、便宜的に賞球カウント信号と記載)は出力されないようになっている。
次に、払出制御マイクロコンピュータの動作について説明する。図39は、払出制御マイクロコンピュータが実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。即ち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTC及びPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理及びステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定及び割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出制御処理が実行される。
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップに基づく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
CTCのチャネル3(CH3)のカウントアップに基づく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。具体的には、CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。例えば、CH3のレジスタ値はシステムクロックの1/256周期で減算される。分周したクロックに基づいて減算が行われるので、レジスタの初期値は大きくならない。
次いで、払出制御用CPU371は、通常の初期化処理を実行する(ステップS711〜ステップS713)。初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。また、RAM領域のフラグやカウンタなどに初期値を設定する。そして、定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。即ち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。その後、ループ処理に入る。
上記のように、この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、タイマ割込処理において払出制御処理(ステップS750〜S760)が実行される。
払出制御処理において、払出制御用CPU371は、まず、発射モータ94に対する励磁パターンの出力処理(発射モータφ1〜φ4のパターンの出力ポート0への出力)を行う(ステップS750)。なお、ステップS752の発射モータ制御処理において、励磁パターンがRAM領域である励磁パターンバッファに格納され、ステップS750では、払出制御用CPU371は、励磁パターンバッファの内容を出力ポート0の下位4ビットに出力する処理を行う。
次に、払出制御用CPU371は、スイッチ処理を実行する(ステップS751)。スイッチ処理は、遊技制御マイクロコンピュータにおけるスイッチ処理と同様の処理であり、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。
次に、払出制御用CPU371は、発射モータ制御処理を実行する(ステップS752)。発射モータ制御処理では、発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、発射モータ94を不能動化すべきときには、発射モータ94を回転させない発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理が行われる。そして、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。
次いで、払出制御用CPU371は、主基板31の遊技制御マイクロコンピュータと通信を行う主制御通信処理を実行する(ステップS755)。さらに、カードユニット50からの球貸し要求に応じて貸球を払い出す制御を行い、また、主基板からの払出個数信号が示す個数の賞球を払い出す制御を行う払出制御処理を実行する(ステップS756)。
そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うと共に、賞球LED51及び球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。なお、払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行う。
また、遊技制御マイクロコンピュータの場合と同様に、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられ、払出制御用CPU371は、出力ポートバッファの内容を出力ポートに出力する。(ステップS760:出力処理)。ただし、出力ポート0の下位4ビット(発射モータφ1〜φ4)については、ステップS750で実行されているので、出力処理においては、出力ポート0の下位4ビットについての出力を行わない。出力ポートバッファは、払出モータ制御処理(ステップS753)、プリペイドカード制御処理(ステップS754)、主制御通信処理(ステップS755)、情報出力処理(ステップS758)及び表示制御処理(ステップS759)で更新される。
図41は、ステップS752の発射モータ制御処理を示すフローチャートである。発射モータ制御処理において、払出制御用CPU371は、カードユニット50からのVL信号がオフ状態である場合(プリペイドカード未接続)、主基板31からの電源確認信号がオフ状態である場合(主基板未接続)、または満タンスイッチ48がオン状態である場合(下皿満タン)には、ステップS518に移行する(ステップS511,S512,S513)。プリペイドカード未接続でなく、主基板未接続でなく、下皿満タンでもない場合にはステップS514に移行する。ステップS514では、払出制御用CPU371は、タッチセンサ信号がオン状態になっているか否か確認する。オン状態になっていればステップS515に移行し、オン状態になっていなければステップS518に移行する。
以上のように、払出制御マイクロコンピュータは、遊技制御マイクロコンピュータが制御可能状態になったことを電源確認信号により検知する遊技制御可能状態検知手段(ステップS512を実行する部分)を含み、さらに、遊技制御マイクロコンピュータが制御可能状態になったことを遊技制御可能状態検出手段が検知したことを条件として、発射モータ94を動作可能状態(発射制御を可能な状態)にする発射制御手段(ステップS512の結果に応じてステップS515〜S517の処理を実行する部分)を含む。即ち、払出制御マイクロコンピュータは、遊技機に対して電力供給が開始された後、電源確認信号がオン状態になったことを条件に、実質的な制御を開始する。
ステップS515では、払出制御用CPU371は、発射モータ励磁パターンカウンタを+1する。そして、ROMに格納されている発射モータ励磁パターンテーブルから、励磁パターンカウンタの値に応じたデータを読み出す(ステップS516)。さらに、読み出したデータを、発射モータ励磁パターンバッファにセットする(ステップS517)。上述したように、発射モータ励磁パターンバッファの内容は、ステップS750において出力ポートに出力される。なお、発射モータ励磁パターンテーブルには、発射モータ94を回転させるための各ステップの励磁パターン(発射モータφ1〜φ4)のデータが順次設定されている。
ステップS518では、未回転データ(発射モータ94を回転させないための励磁パターン)を発射モータ励磁パターンバッファにセットする。
以上のように、主基板未接続エラーの通信エラーが発生すると発射モータ94が不能動化されるので、通信エラーが発生しているにも関わらず遊技が進行してしまうことはない。なお、この実施の形態では、主基板未接続エラーの通信エラーが発生した場合に、発射モータ94が不能動化され遊技球の遊技領域7への発射ができない状態になるが、不正なタイミングで賞球REQ信号がオンまたはオフした賞球REQ信号エラーが発生した場合にも、発射モータ94を不能動化するようにしてもよい。
図42は、ステップS753の払出モータ制御処理を示すフローチャートである。払出モータ制御処理において、払出制御用CPU371は、払出モータ制御コードの値に応じて、ステップS521〜S526のいずれかの処理を実行する。
払出モータ制御コードの値が0の場合に実行される払出モータ通常処理(ステップS521)では、払出制御用CPU371は、ポインタを、ROMに格納されているテーブルの先頭アドレスにセットする。払出モータ通常処理設定テーブルには、球払出時の払出モータ289を回転させるための各ステップの励磁パターン(払出モータφ1〜φ4)のデータが順次設定されている払出モータ励磁パターンテーブルが格納されている。
払出モータ制御コードの値が1の場合に実行される払出モータ起動準備処理(ステップS522)では、払出制御用CPU371は、出力ポート0の出力状態に対応した出力ポートバッファのビット4〜7に励磁パターンの初期値を設定する等の処理を行う。
払出モータ制御コードの値が2の場合に実行される払出モータスローアップ処理(ステップS523)では、払出制御用CPU371は、払出モータ289を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポートバッファのビット4〜7に設定する。読み出しに際して、ポインタが指すアドレスの払出モータ励磁パターンテーブルの内容を読み出すと共に、ポインタの値を+1する。
払出モータ制御コードの値が3の場合に実行される払出モータ定速処理(ステップS524)では、払出制御用CPU371は、定期的に払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポートバッファのビット4〜7に設定する。
払出モータ制御コードの値が4の場合に実行される払出モータブレーキ処理(ステップS525)では、払出制御用CPU371は、払出モータ289を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポートバッファのビット4〜7に設定する。
払出モータ制御コードの値が5の場合に実行される球噛み時払出モータブレーキ処理(ステップS526)では、払出制御用CPU371は、球噛みを解除するための回転の場合に、払出モータ289を滑らかに停止させるために、球噛みを解除するための払出モータ289の回転の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポートバッファのビット4〜7に設定する。
図43は、ステップS755の主制御通信処理を示すフローチャートである。主制御通信処理において、払出制御用CPU371は、先ず、貸球払出動作中であるか否か、言い換えれば後述する球貸し動作中フラグがセットされているか否かを判定する(ステップS530A)。貸球払出動作中でないと判定すると、次に、払出カウントスイッチ301がオンしたか否か、言い換えれば球払出装置97から賞球が払い出されたか否かを判定する(ステップS530B)。そして、払出カウントスイッチ301がオンしたときには、賞球カウント信号を主基板31(遊技制御マイクロコンピュータ)に出力する(ステップS530C)。その後、払出制御用CPU371は、主制御通信制御コードの値に応じて、ステップS531〜S533のいずれかの処理を実行する。なお、ステップS530Aで貸球払出動作中であると判定した場合、及びステップS530Bで払出カウントスイッチ301がオフであると判定した場合には、そのまま主制御通信制御コードの値に応じたステップS531〜S533のいずれかの処理を実行する。
図44は、主制御通信制御コードの値が0の場合に実行される主制御通信通常処理(ステップS531)を示すフローチャートである。主制御通信通常処理において、払出制御用CPU371は、エラービットがオンしている場合には、以降の処理を実行せずに処理を終了する(ステップS541)。エラービットとは、各種のエラーが発生したことが検出されたときにセットされるエラーフラグにおけるビットである。ステップS541では、エラーフラグ中のビットが1つでもセットされていたら、エラービットがセットされていると判断する。
また、払出制御用CPU371は、BRDY信号がオン状態であれば、以降の処理を実行せずに処理を終了する(ステップS542)。BRDY信号がオン状態であるということは、カードユニット50から球貸し要求が発生していることを意味する。即ち、球貸し要求が発生しているときには、主基板31の遊技制御マイクロコンピュータとの通信(賞球払出に関する通信)が進行しない。さらに、貸球払出動作中である場合即ち後述する球貸し動作中フラグがセットされている場合にも、以降の処理を実行せずに処理を終了する(ステップS543)。従って、貸球払出動作中である場合にも、主基板31の遊技制御マイクロコンピュータとの通信(賞球払出に関する通信)が進行しない。また、主基板31からの電源確認信号がオフ状態である場合には、以降の処理を実行せずに処理を終了する(ステップS544)。
ステップS541〜S543の条件が成立せず、電源確認信号がオン状態である場合には、払出制御用CPU371は、賞球REQ信号がオン状態になっているか否か確認する(ステップS545)。オン状態になっている場合には、払出個数信号が示す賞球数を未払出個数カウンタにセットし(ステップS546)、払出BUSY信号をオン状態にするための処理を行う(ステップS547)。具体的には、出力ポート1の出力状態に対応した出力ポートバッファにおける払出BUSY信号に対応したビットをオン状態に設定する。そして、主制御通信制御コードの値を1にして(ステップS548)、処理を終了する。なお、未払出個数カウンタは、揮発性(電源バックアップされない)のRAM領域に形成されている。
図45は、主制御通信制御コードの値が1の場合に実行される主制御通信中処理(ステップS532)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、賞球REQ信号がオフ状態になっていたら(ステップS550)、エラーフラグのうち賞球REQ信号エラービットをセットする(ステップS551)。この段階で、直ちに賞球REQ信号がオフ状態になってしまうのはおかしいからである。
次いで、払出制御用CPU371は、払出BUSY信号をオフ状態にするための処理を行う。具体的には、賞球動作中フラグがリセットされていれば(ステップS553)、出力ポート1の出力状態に対応した出力ポートバッファにおける払出BUSY信号に対応したビットをオフ状態に設定する(ステップS554)。なお、賞球動作中フラグは、払出制御処理(ステップS756)において、賞球払出が完了したらリセットされる。また、主制御通信制御タイマに賞球REQ信号オフ監視時間をセットする(ステップS555)。主制御通信制御タイマは、主基板31の遊技制御マイクロコンピュータとの通信に関わる時間の監視等に使用されるタイマであるが、この段階では、賞球REQ信号がオフするのを監視するための賞球REQ信号オフ監視時間がセットされる。そして、主制御通信制御コードの値を2にして(ステップS556)、処理を終了する。
図46は、主制御通信制御コードの値が2の場合に実行される主制御通信終了処理(ステップS533)を示すフローチャートである。主制御通信中処理において、払出制御用CPU371は、賞球REQ信号がオフ状態になったか否かを確認する(ステップS561)。オフ状態になったらステップS565に移行する。オフ状態になっていない場合には、主制御通信制御タイマの値を−1する(ステップS562)。そして、主制御通信制御タイマの値が0になっていたら(ステップS563)、賞球REQ信号がオフしなかったとして、エラーフラグのうち賞球REQ信号エラービットをセットし(ステップS564)、ステップS565に移行する。
ステップS565では、主制御通信制御コードの値を0にして(ステップS565)、処理を終了する。
図47は、ステップS756の払出制御処理を示すフローチャートである。払出制御処理において、払出制御用CPU371は、払出カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601:Y)、未払出個数カウンタの値を1減らす(ステップS602)。その後、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
図48は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、エラービットがセットされていたら、以降の処理を実行しない(ステップS621)。エラーフラグにおけるエラービットには、主基板未接続エラーのビットが含まれている。また、主基板未接続エラーは主基板31からの電源確認信号がオフ状態であるときにセットされる。即ち、払出制御マイクロコンピュータは、遊技機に対して電力供給が開始された後、電源確認信号がオン状態になったことを条件に、実質的な制御を開始する。
また、BRDY信号がオン状態でなければ、ステップS631以降の賞球払出のための処理を実行する。BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号がオン状態になっていたら球貸し動作中フラグをセットする(ステップS623,S624)。そして、未払出個数カウンタに「25」をセットし(ステップS625)、払出モータ回転回数バッファに未払出個数カウンタに「25」をセットする(ステップS626)。
払出モータ回転回数バッファは、払出モータ制御処理(ステップS753)において参照される。即ち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
その後、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS634)、払出制御コードの値を1にして(ステップS635)、処理を終了する。
ステップS631では、払出制御用CPU371は、未払出個数カウンタの値が0であるか否かを確認する(ステップS631)。0であれば処理を終了する。未払出個数カウンタには、主制御通信通常処理におけるステップS546において、即ち、主基板31の遊技制御マイクロコンピュータから賞球REQ信号を受けたときに、0でない値(払出個数信号が示す数)がセットされている。従って、未払出個数カウンタの値が0でない場合には、賞球動作中フラグをセットし(ステップS632)、払出モータ回転回数バッファに未払出個数カウンタの値をセットする(ステップS633)。そして、ステップS634に移行する。
図49は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図50は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値を確認し、その値が0になっていなければ、即ち払出制御タイマがタイムアウトしていなければ処理を終了する。
払出制御タイマがタイムアウトしていれば、未払出個数カウンタの値を確認する(ステップS653)。払出動作が正常に実行されれば、払出制御タイマがタイムアウトする前に、払出モータ289によって払い出された遊技球は全て払出カウントスイッチ301を通過し、ステップS601,S602の処理によって未払出個数カウンタの値は0になっている。未払出個数カウンタの値が正の値を示している場合には、実際に払い出された遊技球が払出予定数よりも少ない(払出不足)ことを意味する。また、未払出個数カウンタの値が負の値を示している場合には、実際に払い出された遊技球が払出予定数よりも多い(払出過多)ことを意味する。
払出制御用CPU371は、未払出個数カウンタの値が正の値になっていない場合(払出不足でない場合)には、払出処理中であることを示す内部状態を、そうでない状態に変更する。具体的には、球貸し動作を実行中であったときには、即ち、球貸し動作中フラグがセットされている場合には、球貸し動作中フラグをリセットする(ステップS654,S655)。また、賞球動作を実行中であったときには、即ち、賞球動作中フラグがセットされている場合には、賞球動作中フラグをリセットする(ステップS654,S656)。その後、再払出動作カウンタをクリアし(ステップS667)、払出制御コードの値を0にして(ステップS658)、処理を終了する。なお、払出動作が正常に実行された場合にはステップS657の処理は不要であるが、後述する補正払出処理が実行された後にはステップS657の処理が必要になる。また、この実施の形態では、払出過多の場合にも払出処理が正常に終了したとみなすが、払出過多の場合には、エラーが生じたとしてその旨を報知するようにしてもよい。
ステップS653で未払出個数カウンタの値が正の値になっていることを確認すると、払出制御用CPU371は、ステップS661〜ステップS666の補正払出処理のための制御を行う。ここでは、払出予定数分の遊技球が払い出されるまで、最大2回の再払出動作を行う。2回の再払出動作を行っても払出予定数分の遊技球が払い出されない場合には、エラービットをセットする。
払出制御用CPU371は、ステップS661において、再払出動作カウンタの値が2になっているか否か確認する。2になっていなければ、払出モータ回転回数バッファに未払出個数カウンタの値をセットし(ステップS662)、払出モータ制御コードに払出モータ起動準備処理に応じた値(「1」)をセットする(ステップS663)。また、再払出動作カウンタの値を+1し(ステップS664)、払出制御コードの値を1にして(ステップS665)、処理を終了する。なお、ステップS662,S663,S665の処理は、払出モータ回転回数バッファにセットされる値が異なるものの、払出開始待ち処理におけるステップS633〜S635の処理と同じである。
ステップS661において、再払出動作カウンタの値が2になっていることを確認したら、払出制御用CPU371は、エラーフラグのうち、払出カウントスイッチ未通過エラービット(払出ケースエラービット)をセットして(ステップS666)、処理を終了する。
従って、この実施の形態では、払出制御マイクロコンピュータにおける景品遊技媒体払出制御手段は、払出検出手段としての払出カウントスイッチ301からの検出信号に基づいて、揮発性記憶手段(この例では未払出個数カウンタ)に記憶された払出数に満たない景品遊技媒体の払い出しが行われたことを検出したときに、あらかじめ決められた所定回(この例では2回)を限度として、払出手段に不足分の景品遊技媒体の払い出しを行わせる。なお、この実施の形態では、不足分の景品遊技媒体を払い出すためのリトライ動作を2回行っても払出不足が解消されない場合には、払出ケースエラービットをセットしてエラー発生中状態になるが(ステップS666)、払出不足を初めて検知したときに払出ケースエラービットをセットしてもよい。
払出制御処理において、エラービットがチェックされるのは、図48に示された払出開始待ち処理においてのみである。図49に示された払出モータ停止待ち処理及び図50に示された払出通過待ち処理では、エラービットはチェックされない。従って、ステップS623またはステップS633の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。そして、ステップS623またはステップS633で設定された個数の貸球または賞球の払出が完了した後、ステップS621のチェックにより、以後の、遊技球の払出が実行されなくなる。即ち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(例えば25個または15個(払出個数信号で指定される最大払出数)の払出が終了した時点)で停止される。なお、エラーフラグにおけるエラービットの中には、主基板31からの電源確認信号がオフ状態になったことを示すエラービットが含まれている。よって、電源確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。
払出制御マイクロコンピュータでは、遊技制御マイクロコンピュータとは異なり、RAMが電源バックアップされていない。電源バックアップされている場合には、例えば停電が発生しても、停電から復旧したときに、電源バックアップされているRAMに記憶されている未払出個数カウンタの値に基づいて未払出の遊技球を払い出すことができる。しかし、RAMが電源バックアップされていない場合には、停電等が発生すると未払出の遊技球を示す情報がなくなってしまうので、遊技者に不利益がもたらされてしまう。従って、エラーが発生しても、可能な限り多くの遊技球を払い出しておくことによって、遊技者にできるだけ不利益を与えないようにすることができる。
図51は、払出モータ制御処理(ステップS753)において実行される球噛み検出処理を説明するためのタイミング図である。払出モータ制御処理における払出モータ定速処理(ステップS524)では、払出制御用CPU371は、払出モータ位置センサ295の検出信号を監視している。払出モータ位置センサ295の検出信号は、例えば、カム292が1回転する毎に2回オン状態になる。カム292が1回転する毎に検出信号が2回出力されるようにするために、カム292において、払出モータ位置センサ295における発光部からの光を受ける部分における2箇所(軸に対して対称な位置)に反射体が設けられている。そして、払出モータ位置センサ295における受光部の出力を検出信号とする。
従って、払出制御用CPU371は、払出モータ289に対して1/2回転以上のステップ数の励磁パターンを与えたにもかかわらず、払出モータ位置センサ295の検出信号がオン状態にならない場合には、実際には、カム292の部分にごみなどの異物が付着して遊技球が詰まった(球噛みが生じた)こと等に起因して払出モータ289が回転せず、その結果、カム292が回転していないと判断することができる。
この実施の形態では、払出モータ289は、16ステップ分の励磁パターンを受けると1回転する。そして、例えば、図51に示すように、払出制御用CPU371は、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。そして、5回連続して同一状態(払出モータ位置センサ295の検出信号がオフ状態が5回連続、またはオン状態が5回連続)であったら、球噛みが生じたとして、払出モータ制御処理において球噛み解除処理を実行する。
払出制御用CPU371は、球噛み解除処理において、図52に示すように、払出モータ289を高速回転させる処理と低速回転させる処理とを所定回(例えば9回)繰り返す。そして、払出モータ289に対して8ステップ分の励磁パターンを与える毎に払出モータ位置センサ295の検出信号を確認して、払出モータ289が回転しているか否か判定する。検出信号によって払出モータ289の回転が復旧したと判断される場合には、球噛み解除処理を終了して、通常の球払出処理に戻る。
高速回転させる処理と低速回転させる処理とを所定回実行しても払出モータ位置センサ295の検出信号に変化が生じなかった場合には、エラーフラグのうち、球噛みエラービット(払出ケースエラービット)をセットする。なお、払出ケースエラービットがセットされている場合には、払出制御用CPU371は、払出モータ289を駆動しない。また、払出ケースエラービットがリセットされると(図54におけるステップS677参照)、払出制御用CPU371は、払出モータ289を駆動できる状態に戻る。
このように、払出制御マイクロコンピュータは、払出手段の動作状態を監視する駆動状態監視手段と、駆動状態監視手段が払出手段の動作不良を検出したときに払出手段の駆動を停止させる駆動停止手段とを含む。
次に、エラー処理について説明する。図53は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。図53に示すように、主基板31からの電源確認信号がオフ状態になった場合には、払出制御用CPU371は、主基板未接続エラーとして、エラー表示用LED374に「1」を表示する制御を行う。払出カウントスイッチ301の断線または払出カウントスイッチ301の部分において球詰まりが発生した場合には、払出スイッチ異常検知エラー1として、エラー表示用LED374に「2」を表示する制御を行う。なお、払出カウントスイッチ301の断線または払出カウントスイッチ301の部分において球詰まりが発生したことは、払出カウントスイッチ301の検出信号がオフ状態にならなかったことによって判定される。
遊技球の払出動作中でないにも関わらず払出カウントスイッチ301の検出信号がオン状態になった場合には、払出スイッチ異常検知エラー2として、エラー表示用LED374に「3」を表示する制御を行う。払出モータ289の回転異常または遊技球が払い出されたにも関わらず払出カウントスイッチ301の検出信号がオン状態にならない場合には、払出ケースエラーとして、エラー表示用LED374に「4」を表示する制御を行う。不正なタイミングで賞球REQ信号がオン状態になった場合、または不正なタイミングで賞球REQ信号がオフ状態になった場合には、賞球REQ信号エラーとして、エラー表示用LED374に「5」を表示する制御を行う。
また、下皿満タン状態即ち満タンスイッチ48がオン状態になった場合には、満タンエラーとして、エラー表示用LED374に「6」を表示する制御を行う。補給球の不足状態即ち球切れスイッチ187がオン状態になった場合には、球切れエラーとして、エラー表示用LED374に「7」を表示する制御を行う。
さらに、カードユニット50からのVL信号がオフ状態になった場合には、プリペイドカードユニット未接続エラーとして、エラー表示用LED374に「8」を表示する制御を行う。不正なタイミングでカードユニット50と通信がなされた場合には、プリペイドカードユニット通信エラーとして、エラー表示用LED374に「9」を表示する制御を行う。なお、プリペイドカードユニット通信エラーは、プリペイドカードユニット制御処理(ステップS754)において検出される。
以上のエラーのうち、払出スイッチ異常検知エラー2、払出ケースエラーまたは賞球REQ信号エラーが発生した後、エラー解除スイッチ375が操作されエラー解除スイッチ375から操作信号が出力されたら(オン状態になったら)、払出制御マイクロコンピュータは、エラーが発生する前の状態に復帰する。
図54は、ステップS757のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2、払出ケースエラー及び賞球REQ信号エラーのみ(3つのうちのいずれかのビットのみ、もしくは3つのうちの2ビットのみ、またはそれら3ビットのみ)であるか否か確認する(ステップS671)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS672)。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS673)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS674)。エラー復帰前タイマの値が0であれば、即ち、エラー復帰前タイマがセットされていなければ、ステップS678に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS675)、エラー復帰前タイマの値が0になったら(ステップS676)、エラーフラグのうちの、払出スイッチ異常検知エラー2、払出ケースエラー及び賞球REQ信号エラーのビットをリセットする(ステップS677)。なお、ステップS677の処理が実行される前に、払出スイッチ異常検知エラー2、払出ケースエラー及び賞球REQ信号エラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。
そして、払出制御用CPU371は、払出スイッチ異常検知エラー2、払出ケースエラー及び賞球REQ信号エラーのビットがリセットされる前において、払出ケースエラーのビットがセットされていたか否か確認する(ステップS677A)。なお、払出ケースエラーのビットは、払出不足が検知された後に2回の再払出動作が行われたにも関わらず払出不足が解消されない場合(未払出個数カウンタの値が払出不足を示す値の場合)にセットされる(図50のステップS653,S661,S666参照)。
払出ケースエラーのビットがセットされていた場合には、未払出個数カウンタの値を確認する(ステップS677B)。払出制御用CPU371は、未払出個数カウンタの値が0でない場合には、再び、最大2回の再払出動作を実行するための準備を行う。即ち、ステップS662,S663と同様の処理を行う(ステップS677C)。即ち、払出モータ回転回数バッファに未払出個数カウンタの値をセットし、払出モータ制御コードに払出モータ起動準備処理に応じた値(「1」)をセットする。そして、再払出動作カウンタに1回目のリトライ動作の実行を示す1をセットし(ステップS677D)、払出制御コードとして1を設定する(ステップS677E)。なお、ステップS677Bで未払出個数カウンタの値を確認するのは、エラー状態中に遊技球が払出カウントスイッチ301を通過する場合も考えられることを考慮しているからである(エラー状態においても実行される図47のステップS601,S602参照)。
ステップS677C〜677Eの処理によって、払出モータ289が、未払出個数カウンタの値に応じた分だけ回転し、払出制御タイマの値が0になったときに(最後に払い出されたはずの遊技球が払出カウントスイッチ301を通過した後に)、まだ払出不足が解消されていなければ、再度、再払出動作が実行される。そして、2回の再払出動作が実行されても払出不足が解消されない場合には、再び、エラー状態になる。
エラー処理によって、エラー解除スイッチ375が操作されたことに基づいてエラー状態(図48のステップS621に示すように、ステップS622以降の処理が行われない払出禁止状態である)が解除されるので、速やかに払出禁止状態を解除して払出処理を能動化させることができる。
ただし、払出不足のエラーが発生した場合には、エラー解除スイッチ375が操作されたときに、再度、最大2回の再払出動作が実行される。
以上のように、払出制御マイクロコンピュータは、球払出装置97が遊技球の払い出しを行ったにもかかわらず払い出された遊技球数が払出予定数(未払出個数カウンタに最初にセットされた値)に満たなかったことを検出したときに、不足分の遊技球を払い出すためのリトライ動作をあらかじめ決められた所定回(この例では2回)を限度として球払出装置97に実行させる補正払出制御を行った後、払い出された遊技媒体数が未だ払出予定数に満たないことが検出されたときには(図50のステップS653,S654参照)、払い出しに関わる制御状態をエラー状態に移行させ、エラー状態においてエラー解除スイッチ375からエラー解除信号が出力されたことを条件に再度補正払出制御を行わせる補正払出制御再起動処理を実行する。
エラー解除スイッチ375が操作されたことによってハードウェア的にリセットがかかるように構成されている場合には、エラー解除スイッチ375が操作されたことによって未払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御マイクロコンピュータが、エラー解除スイッチ375が操作されたことによって再払出動作を再び行うように構成されているので、確実に払出処理が実行され、遊技者に不利益を与えないようにすることができる。
また、図47に示された払出制御処理において、ステップS601,S602の処理が実行された結果、未払出個数カウンタの値が0になった(払出不足が解消された)ときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ375が操作されたとき(具体的は、操作後エラー復帰時間が経過したとき)である(ステップS672,S677)。即ち、遊技球が払出カウントスイッチ301を通過したこと等に基づいて自動的に払出ケースエラー(払出不足エラー)の状態が解除されるということはなく、人為的な操作を経ないと払出ケースエラーは解除されない。従って、遊技店員等は、確実に払出不足が発生したことを認識することができる。また、エラー解除スイッチ375が操作されたときに、球払出装置97の動作不良による駆動停止状態が発生していれば、その駆動停止状態を解除するように構成されていてもよい。このように構成されている場合、人為的な操作を経ないと球払出装置97の駆動停止状態が解除されないので、遊技店員等は、球払出装置97の駆動停止状態を確実に認識することができると共に、人為的な操作によって駆動停止状態が解除されるまで確実に遊技球の払い出しを停止することができる。
さらに、エラー状態における再払出動作の実行中でも、ステップS601,S02の処理は実行されている。即ち、払い出しに関わるエラーが生じているときでも、遊技球が払出カウントスイッチ301を通過すれば、未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。即ち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
なお、この実施の形態では、賞球払出時でも貸球払出時でも、払出予定数のうち未だ払い出されていない未払出数データを未払出個数カウンタによって管理しているが、賞球払出時と貸球払出時とで、未払出数データを管理するカウンタを分けてもよい。未払出数データを管理するカウンタを分けた場合には、ステップS601,S02の処理において、賞球払出時には賞球払出用のカウンタの値が減算され、貸球払出時には貸球払出用のカウンタの値が減算される。即ち、払出制御マイクロコンピュータにおいて、払出検出手段の検出出力に基づいて景品未払出数データを減算する減算処理を行う景品未払出数減算手段と、払出検出手段の検出出力に基づいて貸し未払出数データを減算する減算処理を行う貸し未払出数減算手段とが別個に実現される。また、賞球払出時でも貸球払出時でもないときには、景品未払出数減算手段の方が減算処理を実行することが好ましい。
ステップS678では、払出制御用CPU371は、満タンスイッチ48の検出信号を確認する。満タンスイッチ48の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの満タンエラービットをセットする(ステップS679)。満タンスイッチ48の検出信号がオフ状態であれば、満タンエラービットをリセットする(ステップS680)。
また、払出制御用CPU371は、球切れスイッチ187の検出信号を確認する(ステップS681)。球切れスイッチ187の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの球切れエラービットをセットする(ステップS682)。球切れスイッチ187の検出信号がオフ状態であれば、球切れエラービットをリセットする(ステップS683)。なお、球切れエラービットをセットされているときには、ステップS759の表示制御処理において、出力ポートバッファにおける球切れLED52に対応したビットを点灯状態に対応した値にする。
さらに、払出制御用CPU371は、主基板31からの電源確認信号の状態を確認し(ステップS685)、電源確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS686)。また、電源確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS687)。
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「240」)を越えていたら(ステップS688)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS689)。また、払出カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間以下であれば、払出スイッチ異常検知エラー1のビットをリセットする(ステップS690)。なお、各スイッチタイマの値は、ステップS751のスイッチ処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出カウントスイッチ301がオン状態になっていることを意味し、払出カウントスイッチ301の断線または払出カウントスイッチ301の部分で遊技球が詰まっていると判断される。
また、払出制御用CPU371は、払出カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「2」)になった場合に、球貸し動作中フラグ及び賞球動作中フラグが共にリセット状態であれば(ステップS692:N)、払出動作中でないのに払出カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS693)。また、球貸し動作中フラグまたは賞球動作中フラグがセットされていれば(ステップS692:Y)、払出スイッチ異常検知エラー2のビットをリセットする(ステップS694)。
さらに、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS695)、VL信号が入力されていなければ(オフ状態であれば)、エラーフラグのうちプリペイドカードユニット未接続エラービットをセットする(ステップS696)。また、VL信号が入力されていれば(オン状態であれば)、プリペイドカードユニット未接続エラービットをリセットする(ステップS697)。
なお、ステップS759の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。この実施の形態では、主基板31に搭載された遊技制御マイクロコンピュータと払出制御基板37に搭載された払出制御マイクロコンピュータとが賞球払出に関して双方向通信を行うのであるが、通信エラーをエラー表示用LED374によって報知することができる。なお、通信エラーとして、主基板31からの電源確認信号がオフしたことによる主基板未接続エラーと、不正なタイミングで賞球REQ信号がオンまたはオフした賞球REQ信号エラー(ステップS561〜S564及びステップS550,S551参照)とがあるが、主基板未接続エラーの通信エラーが発生した場合には、発射モータ94が不能動化される。即ち、遊技球の遊技領域7への発射ができない状態になる。従って、主基板未接続エラーの通信エラーが発生しているにも関わらず遊技が進行してしまうことはない。
また、通信エラーは、払出制御マイクロコンピュータの側で検出されるので、遊技制御マイクロコンピュータと払出制御マイクロコンピュータとが賞球払出に関して双方向通信を行うようにしても、遊技制御マイクロコンピュータの負担を増すことなく通信エラーを検出できる。
なお、この実施の形態では、主基板未接続エラーは電源確認信号がオン状態になると自動的に解消されるが(ステップS685,S687参照)、さらにエラー解除スイッチ375の操作を条件にエラー状態が解消されるようにしてもよい。
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラー及びプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される(図53参照)。従って、遊技制御マイクロコンピュータと払出制御マイクロコンピュータとの間の通信エラーが容易に特定される。
なお、この実施の形態では、払い出しに関わるエラーが発生したことを、遊技機裏面に設置されている払出制御基板37に搭載されているエラー表示LED374によって報知するようにしたが、遊技機裏面の他の箇所(例えば球払出装置97等が集中配置された払出ユニット)に報知手段を搭載してもよい。さらに、遊技機の表側に設置されている表示器(例えば賞球LED51)によって報知するようにしてもよい。払出制御用CPU371は、表示制御処理において、賞球REQ信号がオン状態であるときに、賞球LED51を点灯するための制御を行い、賞球REQ信号がオフ状態になったら、賞球LED51を消灯するための制御を行うのであるが、払い出しに関わるエラーが発生した場合には、例えば、賞球LED51を点滅させることによって、払い出しに関わるエラーが発生したことを報知する。遊技機の表側に設置されている表示器によってエラー報知すれば、遊技店員等がより容易にエラーの発生を認識できる。また、エラー表示LED374による報知と遊技機の表側に設置されている表示器による報知とを併用してもよい。
図56(A)は、払出ケースエラー(払出不足エラー)の発生の様子を示すタイミング図であり、図56(B)は、エラー解除スイッチ375の操作時の様子を示すタイミング図である。
図56(A)に示すように、所定個の遊技球を払い出すために払出モータ289を回転させ、回転停止後、最後に払い出されたはずの遊技球が払出カウントスイッチ301を通過した後に(この例では402.087ms後に)、未払出の遊技球があるか否かが確認され(ステップS653の判定に相当)、未払出の遊技球があれば、再払出動作が実行される。図56(A)には、2回の再払出動作が実行された例が示されている。そして、2回の再払出動作が実行された場合に、払出ケースエラーと判定され(ステップS661の判定に相当)、ステップS758の表示制御処理によってエラー表示LED374に「4」が表示される(図53参照)。
また、図56(B)に示すように、エラー解除スイッチ375が操作されると、エラー解除時間の経過後に、再び、再払出動作が開始される。なお、図56(B)に示すように、再び再払出動作が開始されるときに、エラー表示LED374における「4」の表示が消去される。即ち、補正払出制御が行われているときには払出不足のエラーを示す報知は行われていない。
図57は、図40に示されたタイマ割込処理における情報出力処理(ステップS758)の賞球個数信号としての賞球情報(賞球信号)の出力に関わる部分を示すフローチャートである。賞球信号は、払出制御基板37からターミナル基板160を介して遊技機外部に出力される。
情報出力処理において、払出制御用CPU371は、信号出力タイマの値が0であるか否か確認する(ステップS801)。信号出力タイマは、1パルスの賞球信号のオン期間を設定するためのタイマである。即ち、信号出力タイマの値が0でないということは、賞球信号が出力されている状態にあることを示している。信号出力タイマの値が0でない場合には、信号出力タイマの値を減算し(ステップS811)、信号出力タイマの値が0になったときには(ステップS812)、賞球信号をオフ状態にする(ステップS813)。
信号出力タイマの値が0である場合には、球貸し動作中フラグがセットされているか否か確認する(ステップS802)。球貸し動作中フラグがセットされていない場合には、払出カウントスイッチ301がオンすれば(遊技球が通過すれば)、賞球払出個数カウンタの値を+1する(ステップS803,S804)。賞球払出個数カウンタは、RAMに形成されているカウンタである。
そして、賞球払出個数カウンタの値が10になったときには(ステップS805)、賞球払出個数カウンタの値をクリアし、賞球信号をオン状態にして(ステップS807)、信号出力タイマに、賞球信号のオン期間値を設定する(ステップS808)。以上の処理によって、賞球としての遊技球が10個払い出される毎に、1つの賞球信号が出力される。このように、払出制御マイクロコンピュータは、払出カウントスイッチ301の検出信号に基づいて所定数(この例では10個)の賞球としての遊技球が払い出されたことを検出すると、その個数を示す賞球信号を遊技機の外部に出力する。なお、この実施の形態では、所定数は10個であるが、所定数として他の数を用いてもよい。また、所定数は複数種類あってもよい。例えば、遊技制御マイクロコンピュータから10個の賞球払出が指示され10個の遊技球の払出が完了すると第1の賞球信号を出力し、遊技制御マイクロコンピュータから15個の賞球払出が指示され15個の遊技球の払出が完了すると第2の賞球信号を出力するような場合には、所定数は10及び15である。
情報出力処理において、エラービットのチェックは実行されない。従って、遊技球の払い出しに関わるエラー状態であっても、払出カウントスイッチ301によって、賞球としての10個の遊技球が検出される毎に賞球信号が出力される。よって、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を遊技機の外部においても正確に管理することができる。また、エラー解除スイッチ375が操作されたことによってハードウェア的にリセットがかかるように構成されている場合には、エラー解除スイッチ375が操作されたことによって賞球払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御マイクロコンピュータが、エラー解除スイッチ375が操作されたことによってエラーの解除が可能になるように構成され、エラーが解除されるときに賞球払出個数カウンタはクリアされないので、実際に払い出された遊技球が正確に賞球信号に反映される。さらに、払い出しに関わるエラー状態中でも、実際に払い出された遊技球数を遊技機の外部において把握できるので、払い出しに関わるエラーを発生させて不正に遊技球を払い出させるような不正行為が行われても、容易にそのことが検知される。
また、賞球払出個数カウンタは、球貸し動作中フラグがセットされていない状態で払出カウントスイッチ301が遊技球を検出したときに+1される。従って、賞球動作中フラグがセットされているとき(賞球払出中)だけでなく、賞球動作中フラグ及び球貸し動作中フラグがセットされていないとき(賞球払出も球貸しも行われていないとき)にも、払出カウントスイッチ301が遊技球を検出すれば+1される。つまり、賞球払出中でもなく球貸し中でもないときに払出カウントスイッチ301が遊技球を検出した場合には、賞球払出によって遊技球が払い出されたとみなし、遊技機外部(例えばホールコンピュータ)に出力される賞球信号に反映される。このように、実際に払い出された遊技球は、必ず、遊技機外部に出力される信号に反映されるので、例えば遊技店における払出数の集計結果に必ず反映される。なお、賞球払出中でもなく球貸し中でもないときに払出カウントスイッチ301が遊技球を検出した場合には、貸球要求に基づいて遊技球が払い出されたとみなしてもよい。
次に、遊技制御マイクロコンピュータから演出制御マイクロコンピュータに対する制御コマンドの送出方式について説明する。図示はしないが、この実施の形態では、第1のコマンドとして用いられる演出制御コマンドは、演出制御信号D0〜D7の8本の信号線で主基板31から演出制御基板80に送信される。また、主基板31と演出制御基板80との間には、ストローブ信号を送信するための演出制御INT信号の1本の信号線も配線されている。
遊技制御マイクロコンピュータから他の電気部品制御基板(サブ基板:この実施の形態では演出制御基板80及び払出制御基板37)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図58(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
図58(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(遊技制御処理のステップS30)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、演出制御基板80に演出制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、演出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(遊技制御処理のステップS27)において、INTデータに「02(H)」を設定する。
図59は、主基板31から他の電気部品制御基板に送出される第1のコマンドとして用いられる制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板へのコマンドとなる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図59に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。また、図59では演出制御基板80に送出される演出制御コマンドを例示するが、払出制御基板37に送出される払出制御コマンドも同一構成である。さらに、図59では、第1のコマンドとして用いられる制御コマンドのコマンド形態を示したが、第2のコマンドとして用いられる制御コマンドのコマンド形態も同一構成とされる。
図60に示すように、制御コマンドは、8ビットの制御信号CD0〜CD7(コマンドデータ)とINT信号(取込信号)とで構成される。払出制御基板37及び演出制御基板80に搭載されている払出制御マイクロコンピュータ及び演出制御マイクロコンピュータは、INT信号が立ち上がったことを検知して、割込処理によって1バイトのデータの取り込み処理を開始する。
なお、制御コマンドは、電気部品制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、例えば制御信号の1バイト目及び2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
各電気部品制御基板への制御コマンドを、対応する出力ポートに出力する際に、INT信号を出力する出力ポートのビット0〜1のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポートにおけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータに基づいて、容易にINT信号の出力を行うことができる。
図61は、主基板31から演出制御基板80に対して送出される演出制御コマンドの内容の一例を示す説明図である。図61に示す例において、コマンド8000(H)〜8026(H)は、特別図柄を可変表示する可変表示装置9における特別図柄の変動パターン、即ち可変表示装置9における表示結果導出動作に関わる演出内容を示す演出制御コマンドである。なお、変動パターンを指定するコマンド(変動パターンコマンド)は変動開始指示も兼ねている。また、コマンド8000(H)〜8012(H)は低確率中において用いられ、コマンド8013(H)〜8025(H)は高確率中において用いられる。そして、コマンド8026(H)は、短縮表示パターンを指定するコマンドである。
コマンド86XX(H)、87XX(H)及び88XX(H)は、特別図柄の左中右の停止図柄を指定する演出制御コマンドである。また、コマンド8F00(H)は、特別図柄の可変表示の停止を指示する演出制御コマンド(確定コマンド)である。
コマンド9XXX(H)は、特別図柄の変動及び大当り遊技に関わらない可変表示装置9の表示状態に関する演出制御コマンドである。コマンド9000(H)は、電源投入時に送出される特別図柄電源投入時指定コマンドである。演出制御マイクロコンピュータは、特別図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までの間に送出される演出制御コマンドである。そして、コマンドBXXX(H)は、普通図柄の変動パターンなどに関する演出制御コマンドである。コマンドB300(H)は、電源投入時に送出される普通図柄電源投入時指定コマンドである。演出制御マイクロコンピュータは、普通図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。
コマンドC0XX(H)は、可変表示装置9における始動入賞記憶数を表示する表示エリアにおいて、表示色を変化させる始動記憶表示エリア18の個数を示す演出制御コマンドである。例えば、演出制御マイクロコンピュータは、コマンドC0XX(H)を受信すると、各始動記憶表示エリア18のうち「XX(H)」で指定される個数の始動記憶表示エリア18の表示色を変化させる。即ち、コマンドD5XX(H)は、保留個数という情報を報知するために設けられている表示エリアの制御を指示するコマンドである。なお、表示色を変化させる始動記憶表示エリア18の個数に関するコマンドが、表示色を変化させるエリアの個数の増減を示すように構成されていてもよい。
演出制御基板80の演出制御マイクロコンピュータは、主基板31の遊技制御マイクロコンピュータから上述した演出制御コマンドを受信すると図61に示された内容に応じて可変表示装置9及び普通図柄表示器10の表示状態を変更する。また、詳細は後述するが、演出制御基板80の演出制御マイクロコンピュータは、所定の演出制御コマンドを受信すると、所定のタイミングでランプ制御コマンドや音制御コマンドを出力する。
なお、ランプ制御のみに関する情報を示すコマンドが用いられる場合にも、そのコマンドは演出制御コマンドとして演出制御基板80に送信され、その演出制御コマンドと同一の内容を示すランプ制御コマンドが演出制御基板80からランプ制御基板35に送信される。そして、ランプ制御コマンドに基づいて、ランプ制御基板35においてランプ発光制御が実行される。また、音制御のみに関する情報を示すコマンドが用いられる場合にも、そのコマンドは演出制御コマンドとして演出制御基板80に送信され、その演出制御コマンドと同一の内容を示す音制御コマンドが演出制御基板80から音制御基板70に送信される。そして、音制御コマンドに基づいて、音制御基板70において音声出力制御が実行される。
次に、演出制御基板80に搭載されている演出制御マイクロコンピュータの動作について説明する。図62は、演出制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定等を行うための初期化処理が行われる(ステップSE701)。その後、この実施の形態では、演出制御用CPU101は、タイマ割込フラグの監視(ステップSE702)を行うループ処理に移行する。なお、このループ処理で後述するカウンタ更新処理(ステップSE705)を行うようにしてもよい。この実施の形態では、VDP103からのINT信号が入力したことによって演出制御用CPU101にタイマ割込が発生する。この例では、VDP103は、33msタイマを備えており、33ms毎にINT信号を出力するように設定されているため、演出制御の起動間隔は33ms毎になっている。
図63に示すように、VDP103からのINT信号の入力によってタイマ割込(例えば33ms毎)が発生すると、演出制御用CPU101は、タイマ割込フラグをセットした後(ステップSE711)、ステップSE712〜S714のウォッチドッグ処理を行う。ウォッチドッグ処理において、出力ポート579(図14参照)のパルス出力ポートがローレベルになるように出力ポート579の該当ビットを「0」にする(ステップSE712)。そして、30μs間のディレイタイムをおいた後(ステップSE713)、出力ポート579のパルス出力ポートがハイレベルになるように出力ポート579の該当ビットを「1」にする(ステップSE714)。
図63に示されたタイマ割込処理は演出制御用CPU101の内部タイマ割込によって定期的に起動されるので、ウォッチドッグ処理(ステップSE712〜SE714)も定期的に実行される。従って、演出制御用CPU101が正常動作している限り、出力ポート579のパルス出力ポートから定期的に30μsのローレベルパルスが出力される。なお、30μsというパルス幅は単なる例である。
そして、メイン処理において、タイマ割込フラグがセットされていたら、演出制御用CPU101は、そのフラグをクリアし(ステップSE702,SE703)、主基板31から受信した演出制御コマンドを解析する処理であるコマンド解析処理(ステップSE704)、乱数を生成するためのカウンタのカウント値を更新するカウンタ更新処理(ステップSE705)、演出制御プロセス処理(ステップSE706)、及びコマンド送信処理(ステップSE707)を実行する。本例では、VDP103が、演出制御用CPU101からの指示に従って、LCD82に画像を表示するための画像データ(画像フレーム)を順次生成し、R,G,B信号及び同期信号を出力することで画像フレームを順次更新する制御を行うことで、可変表示装置9での動画表示がなされる。この実施の形態では、毎秒30フレームずつ画像フレームが用いられるものとする。よって、VDP103は、例えば可変表示演出のための動画表示を行う場合、33ms毎に実行される演出制御プロセス処理での演出制御用CPU101の指示に従って、33ms毎に画像フレームを1回更新する制御を行う。
図64は、主基板31から受信した演出制御コマンドを格納するための受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。
図65は、図62に示されたメイン処理における演出制御プロセス処理(ステップSE706)を示すフローチャートである。演出制御プロセス処理では、演出制御プロセスフラグの値に応じてステップSE800〜SE806のうちのいずれかの処理が行われる。各処理において、以下のような処理が実行される。
変動パターンコマンド受信待ち処理(ステップSE800):コマンド受信割込処理によって、変動時間を特定可能な演出制御コマンド(変動パターンコマンド)を受信したか否か確認する。具体的には、変動パターンコマンドが受信されたことを示すフラグ(変動パターン受信フラグ)がセットされたか否か確認する。変動パターン受信フラグは、コマンド解析処理(ステップSE704)によって、変動パターン指定の演出制御コマンドが受信されたことが確認された場合にセットされる。
予告選択処理(ステップSE801):予告決定用乱数1を用いて、予告演出(背景予告)を行うか否かと、行う場合の予告演出の種類を決定する。
全図柄変動開始処理(ステップSE802):左右中図柄の変動が開始されるように制御する。
図柄変動中処理(ステップSE803):変動パターンを構成する各変動状態(変動速度)の切替タイミングを制御すると共に、変動時間の終了を監視する。また、左右図柄の停止制御を行う。
全図柄停止待ち設定処理(ステップSE804):変動時間の終了時に、全図柄停止を指示する演出制御コマンド(特別図柄停止の演出制御コマンド)を受信していたら、図柄の変動を停止し停止図柄(確定図柄)を表示する制御を行う。
大当り表示処理(ステップSE805):変動時間の終了後、確変大当り表示または通常大当り表示の制御を行う。
大当たり遊技中処理(ステップSE806):大当たり遊技中の制御を行う。例えば、大入賞口開放前表示や大入賞口開放時表示の演出制御コマンドを受信したら、ラウンド数の表示制御等を行う。
この実施の形態では、可変表示装置9において、背景(図柄表示エリア以外の部分)に現れるキャラクタ等の表示による予告演出を行うことが可能である。また、可変表示装置9において、例えば、背景を振動表示したり背景画像を変化させることによる予告演出も用いられる。この実施の形態では、そのような予告演出を役物予告と呼ぶ。また、背景に現れるキャラクタ等の表示による予告演出を背景予告と呼ぶ。役物予告は、可変表示装置9における図柄の可変表示パターン(変動パターン)に対応して定められている。即ち、特定の変動パターンによる可変表示が実行されるときに、特定の役物予告が行われる。変動パターンは遊技制御マイクロコンピュータによって決定されるので、役物予告を行うか否かといずれの種類の役物予告を行うのかとは、遊技制御マイクロコンピュータによって決定される。そして、背景予告を行うか否かと、背景予告の種類とは、演出制御マイクロコンピュータによって決定される。なお、この実施の形態では、可変表示装置9において、背景に現れるキャラクタ等の表示による4種類(背景予告1〜4)の予告演出を行うことが可能である。以下、単に「予告」と表現する場合には、背景予告を意味する。なお、このような背景予告によってリーチ及び大当りの予告を行うようになっている。
図66は、この実施の形態で用いられる図柄の各変動パターンと、予告演出(背景予告)との関係の一例を示す説明図である。具体的には、各変動パターン毎の予告演出の振り分け方を示す。図66に示すそれぞれの振り分け関係を予告選択テーブルと呼ぶことがある。即ち、予告選択テーブルは、各変動パターンに対応して設けられている。図66に示すように、高確率時の通常変動役物予告X1(変動パターン番号20)、高確率時の通常変動役物予告Y1(変動パターン番号21)、高確率時通常変動(変動パターン番号38)及び短縮表示(変動パターン番号39)の場合には、背景予告がなされない。また、例えば、変動パターン番号9の「ロング役物予告Y1当り再」では、39/43の割合で予告1の背景予告(背景予告1)が実行され、4/43の割合で予告2の背景予告(背景予告2)が実行されることが示されている。
予告演出の振り分けは、予告決定用乱数1を用いて行われる。例えば、変動パターン番号9の「ロング役物予告Y1当り再」の予告選択テーブルには、予告1に対応した39種類の数値が設定され、予告2に対応した4種類の数値が設定されている。そして、演出制御手段は、抽出した予告決定用乱数1の値が、予告1に対応した39種類の数値のうちのいずれかに一致したら予告1の態様の背景予告を実行し、予告2に対応した4種類の数値のうちのいずれかに一致したら予告2の態様の背景予告を実行することに決定する。なお、変動パターン番号8の変動パターンについてだけでなく、全ての変動パターンについての予告選択テーブルに、選択されうる予告種類に対応した数値が設定されている。また、各変動パターンについて、選択されうる予告種類に対応した数値の個数の和は43である。
図67は、図65に示された演出制御プロセス処理における予告選択処理(ステップSE801)を示すフローチャートである。予告選択処理において、演出制御用CPU101は、まず、予告演出(背景予告)を行わない変動パターンが指定されているか否か確認する(ステップSE811)。予告演出を行わない変動パターンが指定されている場合にはステップSE821に移行する。
ステップSE811において予告演出を行う可能性のある変動パターンが指定されていると判断した場合には、演出制御用CPU101は、予告乱数カウンタ1のカウント値を読み出し、読み出した値を予告決定用乱数値1とする(ステップSE812)。さらに、受信した変動パターン指定の演出制御コマンドに対応した予告選択テーブルを選択する(ステップSE813)。
そして、予告選択テーブルと予告決定用乱数1とを比較し、予告演出の種類を決定し(ステップSE814)、予告を行うことに決定した場合には(ステップSE815)、予告開始時間決定タイマをスタートする(ステップSE816)。また、実行する予告の種類(具体的には、特別図柄のスクロールや移動表示等)に応じたランプ制御コマンドや音制御コマンドをコマンド送信バッファに設定し(ステップSE817)、書込ポインタを+1する(ステップSE818)。その後、プロセスフラグの値を全図柄変動開始処理に応じた値に更新する(ステップSE821)。なお、設定されるランプ制御コマンドや音制御コマンドは、E000(H)〜E003(H)のいずれかである(図71参照)。
この実施の形態では、演出制御マイクロコンピュータは、主基板31から変動パターン指定の演出制御コマンドを受信すると、独自に、予告演出(背景予告)を行うか否かと、予告の種類とを決定し、予告演出を行うことに決定した場合には、予告演出の種類を示すランプ制御コマンドや音制御コマンドをランプ制御基板35や音制御基板70に送信する。ランプ制御基板35における発光体制御手段は、予告演出の種類を示すランプ制御コマンドの受信に応じて、ランプ・LEDによる演出を行う。また、音制御基板70における音制御手段は、予告演出の種類を示す音制御コマンドの受信に応じて、音出力による演出を行う。従って、演出制御マイクロコンピュータが独自に予告種類を決定する場合でも、発光体制御手段や音制御手段は、演出制御マイクロコンピュータが可変表示装置9を用いて実行される予告演出と同期した演出を容易に行うことができる。
また、予告演出の種類を示すランプ制御コマンドや音制御コマンドは、後述するコマンド送信処理でランプ制御基板35や音制御基板70に送信される。従って、演出制御基板80に搭載された演出制御マイクロコンピュータに含まれる独自演出決定手段が演出内容を独自に決定した場合には、決定した演出内容を特定可能なランプ制御コマンドや音制御コマンドが、ランプ制御基板35や音制御基板70に送信されることになる。
次に、再変動演出について説明する。この実施の形態では、再変動演出において、可変表示装置9における表示領域の背景(図柄表示エリア以外の部分)にキャラクタ等を出現させる演出を行うことが可能である。再変動演出を行うか否かは、可変表示装置9における図柄の可変表示パターン(変動パターン)に対応して定められている。即ち、特定の変動パターンによる可変表示が実行されるときに、再変動演出が実行される。再変動演出が実行される特定の変動パターンで可変表示を実行するときに、再変動演出の種類を演出制御マイクロコンピュータが決定する。変動パターンは遊技制御マイクロコンピュータによって決定されるので、再変動演出を行うか否かは、遊技制御マイクロコンピュータによって決定される。そして、再変動演出の種類は、演出制御マイクロコンピュータによって決定される。なお、この実施の形態では、可変表示装置9において、背景に現れるキャラクタ等の表示による2種類(再変動1〜2)の再変動演出を行うことが可能である。
図68は、この実施の形態で用いられる図柄の各変動パターンと、再変動演出との関係の一例を示す説明図である。具体的には、各変動パターン毎の再変動演出の振り分け方を示す。図68に示すそれぞれの振り分け関係を再変動選択テーブルと呼ぶことがある。即ち、再変動選択テーブルは、再変動演出を実行する各変動パターンに対応して設けられている。図68に示すように、ロング役物予告Y1当り再(変動パターン番号9)などの10種類の変動パターンにおいて再変動演出が実行され、他の29種類の変動パターンにおいては再変動演出がなされない。また、例えば、変動パターン番号11の「リーチA当り再」では、25/30の割合で再変動1の再変動演出が実行され、5/30の割合で再変動2の再変動演出が実行されることが示されている。
再変動演出の振り分けは、再変動演出決定用乱数1を用いて行われる。例えば、変動パターン番号15の「リーチA高速戻り当り再」の再変動選択テーブルには、再変動1に対応した20種類の数値が設定され、再変動2に対応した10種類の数値が設定されている。そして、演出制御手段は、抽出した再変動演出決定用乱数1の値が、再変動1に対応した20種類の数値のうちのいずれかに一致したら再変動1の態様の再変動演出を実行し、再変動2に対応した10種類の数値のうちのいずれかに一致したら再変動2の態様の再変動演出を実行することに決定する。なお、変動パターン番号15の変動パターンについてだけでなく、全ての変動パターンについての再変動選択テーブルに、選択されうる再変動種類に対応した数値が設定されている。また、各変動パターンについて、選択されうる再変動種類に対応した数値の個数の和は30である。
図69は、演出制御プロセス処理における全図柄変動開始処理(ステップSE802)を示すフローチャートである。全図柄変動開始処理において、演出制御用CPU101は、まず、変動時間タイマをスタートする(ステップSE840)。次いで、特別図柄の変動を開始し(ステップSE841)、再変動演出選択処理を実行して(ステップSE842)、演出制御プロセスフラグの値を図柄変動中処理に対応した値にする(ステップSE843)。
図70は、再変動演出選択処理(ステップSE842)を示すフローチャートである。再変動演出選択処理において、演出制御用CPU101は、まず、再変動演出を行わない変動パターンが指定されているか否か確認する(ステップSE842a)。再変動演出を行わない変動パターンが指定されている場合には、再変動演出選択処理を終了する。
ステップSE842aにおいて再変動演出を行う変動パターンが指定されていると判断した場合には、演出制御用CPU101は、再変動乱数カウンタ1のカウント値を読み出し、読み出した値を再変動演出決定用乱数値1とする(ステップSE842b)。さらに、受信した変動パターン指定の演出制御コマンドに対応した再変動選択テーブルを選択する(ステップSE842c)。
そして、再変動選択テーブルと再変動演出定用乱数値1とを比較し、再変動演出の種類を決定すると共に(ステップSE842d)、仮停止図柄を決定する(ステップSE842e)。仮停止図柄は、例えばあらかじめ設けられている仮停止図柄選択テーブルと再変動演出決定用乱数値1とを比較することによって決定される。仮停止図柄選択テーブルは、再変動演出決定用乱数値1が取り得る値が各仮停止図柄に対応してそれぞれ振分されたテーブルである。例えば、仮停止図柄となり得る10種類の図柄にそれぞれ3個の値が振り分けられるようにしてもよく、非確変を示す図柄に対して比較的多くの値が振り分けられるなどの異なる確率で仮停止図柄が選択されるようにしてもよい。次いで、演出制御用CPU101は、再変動演出開始時間決定タイマをスタートする(ステップSE842f)。また、実行する再変動演出の種類に応じたランプ制御コマンドや音制御コマンドをコマンド送信バッファに設定し(ステップSE842g)、書込ポインタを+1する(ステップSE842h)。なお、設定されるランプ制御コマンドや音制御コマンドは、F00X(H)またはF01X(H)である(図71、図72参照)。
この実施の形態では、演出制御マイクロコンピュータは、主基板31から再変動を実行する変動パターン指定の演出制御コマンドを受信すると、独自に、再変動演出の種類と仮停止図柄とを決定し、再変動演出の種類及び仮停止図柄を示すランプ制御コマンドや音制御コマンドをランプ制御基板35や音制御基板70に送信する。ランプ制御基板35における発光体制御手段は、再変動演出の種類を示すランプ制御コマンドの受信に応じて、ランプ・LEDによる演出を行う。また、音制御基板70における音制御手段は、再変動演出の種類を示す音制御コマンドの受信に応じて、音出力による演出を行う。従って、演出制御マイクロコンピュータが独自に再変動演出の種類を決定する場合でも、発光体制御手段や音制御手段は、演出制御マイクロコンピュータが可変表示装置9を用いて実行される再変動演出と同期した演出を容易に行うことができる。
また、再変動演出の種類を示すランプ制御コマンドや音制御コマンドは、後述するコマンド送信処理でランプ制御基板35や音制御基板70に送信される。従って、演出制御基板80に搭載された演出制御マイクロコンピュータに含まれる独自演出決定手段が演出内容を独自に決定した場合には、決定した演出内容を特定可能なランプ制御コマンドや音制御コマンドが、ランプ制御基板35や音制御基板70に送信されることになる。
図71は、演出制御基板80からランプ制御基板35に送出されるランプ制御コマンドの内容例を示す説明図である。ランプ制御コマンドもMODEとEXTの2バイト構成である。図71に示す例において、コマンド80XX(H)(X=4ビットの任意の値)は、可変表示装置9における特別図柄の変動パターン即ち可変表示装置9における表示結果導出動作に関わる演出内容に対応したランプ・LED(演出用のランプやLED等の発光手段)表示制御パターンを指定する変動中指定のランプ制御コマンドである。
コマンド9XXX(H)は、特別図柄の変動時や大当り遊技に関わらないランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンド9400(H)は、客待ちデモンストレーション時のランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までのランプ・LED表示制御パターンを指示するランプ制御コマンドである。発光体制御手段は、演出制御基板80から上述したランプ制御コマンドを受信すると図71に示された内容に応じてランプ・LEDの表示状態を変更する。
コマンド「EXXX(H)」及びコマンド「FXXX(H)」は、演出制御マイクロコンピュータが、遊技制御マイクロコンピュータからの演出制御コマンドの受信に関連して、独自に発生したランプ制御コマンドである。コマンド「E000(H)」は、可変表示装置9において背景予告1が実行されるときに送信されるランプ制御コマンドである。コマンド「E001(H)」は、可変表示装置9において背景予告2が実行されるときに送信されるランプ制御コマンドである。コマンド「E002(H)」は、可変表示装置9において背景予告3が実行されるときに送信されるランプ制御コマンドである。コマンド「E003(H)」は、可変表示装置9において背景予告4が実行されるときに送信されるランプ制御コマンドである。ランプ制御手段は、コマンド「E0XX(H)」を受信すると、「XX(H)」で指定される種類の背景予告に応じたランプ・LED点灯制御を行う。「XX(H)」では、各ビット(複数ビットを含む)に対応して、例えば、出現するキャラクタの種類、キャラクタの出現タイミング、背景の指定などの各種の情報が示される。なお、各ビットデータがそれぞれ1の情報を示すようにしても、2以上のビットデータの組み合わせによって1の情報を示すようにしてもよい。また、MODEデータを構成する各ビットデータによっても各種の情報が示されるようにしてもよい。
コマンド「F01X(H)」は、可変表示装置9において再変動1が実行されるときに送信されるランプ制御コマンドである。コマンド「F02X(H)」は、可変表示装置9において再変動2が実行されるときに送信されるランプ制御コマンドである。なお、上記のコマンドの「X」が示す値によって、再変動演出における仮停止図柄を指示する。ランプ制御手段は、コマンド「F0XX(H)」を受信すると、「XX(H)」で指定される種類の再変動演出及び仮停止図柄に応じたランプ・LED点灯制御を行う。「XX(H)」では、各ビット(複数ビットを含む)に対応して、仮停止図柄の他、例えば、出現するキャラクタの種類、キャラクタの出現タイミング、背景の指定などの各種の情報が示される。
演出制御基板80における演出制御マイクロコンピュータは、コマンド「DXXX(H)」、コマンド「EXXX(H)」、及びコマンド「FXXX(H)」を除き、主基板31から図61に示されたMODEデータとEXTデータとを有する演出制御コマンドを受信すると、受信したMODEデータ及びEXTデータを、そのままランプ制御コマンドとしてランプ制御基板35に送信する。ただし、遊技制御マイクロコンピュータからの演出制御コマンドのうち、発光体制御手段が制御する発光体に関わらないものは、ランプ制御コマンドとして送信されない。即ち、演出制御マイクロコンピュータは、遊技制御マイクロコンピュータから演出制御コマンドを受信した場合に、発光体による制御に用いられる可能性のある場合(発光体による制御やフラグのセットなどのために実際に利用されるか否かは問わない)にのみ、遊技制御マイクロコンピュータから受信した演出制御コマンドに対応したランプ制御コマンドを送信する。
図72は、演出制御基板80から音制御基板70に送出される音制御コマンドの内容例を示す説明図である。音制御コマンドもMODEとEXTの2バイト構成である。図72に示す例において、コマンド80XX(H)(X=4ビットの任意の値)は、可変表示装置9における特別図柄の変動パターン即ち可変表示装置9における表示結果導出動作に関わる演出内容に対応したスピーカ27からの音発生パターンを指定する変動中指定の音制御コマンドである。
コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までの音発生パターンを指示する音制御コマンドである。音制御手段は、演出制御基板80から上述した音制御コマンドを受信すると図72に示された内容に応じてスピーカ27の音出力状態を変更する。
コマンド「EXXX(H)」及びコマンド「FXXX(H)」は、演出制御マイクロコンピュータが、遊技制御マイクロコンピュータからの演出制御コマンドの受信に関連して、独自に発生した音制御コマンドである。コマンド「E000(H)」は、可変表示装置9において背景予告1が実行されるときに送信される音制御コマンドである。コマンド「E001(H)」は、可変表示装置9において背景予告2が実行されるときに送信される音制御コマンドである。コマンド「E002(H)」は、可変表示装置9において背景予告3が実行されるときに送信される音制御コマンドである。コマンド「E003(H)」は、可変表示装置9において背景予告4が実行されるときに送信される音制御コマンドである。音制御手段は、コマンド「E0XX(H)」を受信すると、「XX(H)」で指定される種類の背景予告に応じた音発生制御を行う。
コマンド「F01X(H)」は、可変表示装置9において再変動1が実行されるときに送信される音制御コマンドである。コマンド「F02X(H)」は、可変表示装置9において再変動2が実行されるときに送信される音制御コマンドである。なお、上記のコマンドの「X」が示す値によって、再変動演出における仮停止図柄を指示する。音制御手段は、コマンド「F0XX(H)」を受信すると、「XX(H)」で指定される種類の再変動演出及び仮停止図柄に応じた音発生制御を行う。
演出制御基板80における演出制御マイクロコンピュータは、コマンド「DXXX(H)」、コマンド「EXXX(H)」、及びコマンド「FXXX(H)」を除き、主基板31から図61に示されたMODEデータとEXTデータとを有する演出制御コマンドを受信すると、受信したMODEデータ及びEXTデータを、そのまま音制御コマンドとして音制御基板70に送信する。ただし、遊技制御マイクロコンピュータからの演出制御コマンドのうち、音制御手段が制御するスピーカ27に関わらないものは、音制御コマンドとして送信されない。即ち、演出制御マイクロコンピュータは、遊技制御マイクロコンピュータから演出制御コマンドを受信した場合に、音出力手段(スピーカ27)による制御に用いられる可能性のある場合(音出力手段による制御やフラグのセットなどのために実際に利用されるか否かは問わない)にのみ、遊技制御マイクロコンピュータから受信した演出制御コマンドに対応した音制御コマンドを送信する。
なお、この実施の形態では、コマンド「DXXX(H)」、コマンド「EXXX(H)」、及びコマンド「FXXX(H)」として、常に発光体制御手段及び音制御手段の両方に送信するものが例示されているが、発光体制御手段または音制御手段のいずれか一方にのみ送信されるものがあってもよい。
以下、ランプ制御コマンドや音制御コマンドの送信について説明する。図73は、図62に示されたメイン処理におけるコマンド送信処理(ステップSE707)を示すフローチャートである。コマンド送信処理において、演出制御用CPU101は、まず、コマンド送信バッファに未送信のランプ制御コマンドや音制御コマンド(具体的は2バイトのコマンドデータ)が格納されているか否か確認する(ステップSE771)。未送信のランプ制御コマンドや音制御コマンドが格納されているか否かは、書込ポインタと読出ポインタとにとって確認できる。双方が一致している場合には、未送信の制御コマンドが格納されていないことになる。未送信の制御コマンドが格納されていない場合には処理を終了する。
未送信の制御コマンドが格納されている場合には、コマンド送信バッファのうちの読出ポインタが指す領域から制御コマンドを読み出し(ステップSE772)、出力データとして、読み出した制御コマンドの1バイト目をセットする(ステップSE773)。また、出力先として制御コマンドのコマンドデータを出力するための出力ポート(図10、図11に示されたI/Oポートに含まれている)のアドレスをセットする(ステップSE774)。
図74は、コマンド送信ルーチン(ステップSE775)の一構成例を示すフローチャートである。コマンド送信ルーチンにおいて、演出制御用CPU101は、出力先として指定されている出力ポートに、出力データを設定する(ステップSE651)。そして、STB信号をオンする(ステップSE652)。
次いで、ACK信号がオン状態になるのを監視するための監視回数カウンタにMをセットする(ステップSE653)。Mの値は、発光体制御手段や音制御手段がSTB信号に応答してACK信号をオンするまでの処理時間に余裕を持たせた値に相当する。そして、監視回数カウンタの値を減算しつつACK信号の状態を確認する(ステップSE654,SE655)。
ACK信号がオン状態になる前に監視回数カウンタの値が0になったら(ステップSE656)、戻りコードとして「異常」を示す値をセットして(ステップSE657)、処理を終了する。なお、戻りコードは、あらかじめ決められているレジスタにセットされる。
監視回数カウンタの値が0になる前にACK信号がオン状態になったら、STB信号をオフする(ステップSE661)。そして、ACK信号がオフ状態になるのを監視するための監視回数カウンタにM(ステップSE653で用いられる値と異なっていてもよい)をセットする(ステップSE662)。次いで、監視回数カウンタの値をデクリメントしつつACK信号の状態を確認する(ステップSE634,SE664)。ACK信号がオフ状態になる前に監視回数カウンタの値が0になったら(ステップSE665)、戻りコードとして「異常」を示す値をセットして(ステップSE666)、処理を終了する。監視回数カウンタの値が0になる前にACK信号がオフ状態になったら、戻りコードとして「正常」を示す値をセットして(ステップSE667)、処理を終了する。
以上のようなコマンド送信ルーチンによって、ランプ制御コマンドまたは音制御コマンドのコマンドデータのうちの1バイト分の送信が完了する。
演出制御用CPU101は、コマンド送信ルーチンが終了すると、受信コマンドの2バイト目をランプ制御基板35や音制御基板70に送信するために、ステップSE778以降の処理を行う。なお、コマンド送信ルーチンが正常終了でなければ(戻りコードが「異常」であれば)、例えば、「異常」を示す表示を可変表示装置9において行って動作を中断したりする。
ステップSE778において、演出制御用CPU101は、出力データとして、制御コマンドの2バイト目をセットする。また、出力先として制御コマンドのコマンドデータを出力するための出力ポートのアドレスをセットする(ステップSE779)。そして、コマンド送信ルーチンをコールする(ステップSE780)。コマンド送信ルーチンが終了すると、読出ポインタを+1して(ステップSE783)、ステップSE771に戻る。なお、コマンド送信ルーチンが正常終了でなければ(戻りコードが「異常」であれば)、例えば、「異常」を示す表示を可変表示装置9において行って動作を中断したりする。
以上のようなコマンド送信ルーチンによって、ランプ制御コマンドや音制御コマンドのコマンドデータの送信が完了する。
次に、演出制御基板80からのコマンドに基づいて制御を行う各制御基板35,70の動作について説明する。図75は、ランプ制御基板35に搭載されている発光体制御手段を構成するランプ制御用CPU351が実行するメイン処理を示すフローチャートである。ランプ制御用CPU351は、メイン処理において、まず、レジスタ、ワークエリアを含むRAM及び出力ポート等を初期化する初期化処理を実行する(ステップSE440)。次いで、演出制御基板80からのランプ制御コマンドを受信する処理であるコマンド受信処理(ステップSE441)、及び受信したランプ制御コマンドを解析する処理を行う(ステップSE442:コマンド解析処理)。
その後、ランプ制御用CPU351は、タイマ割込フラグの監視(ステップSE443)を行うループ処理に移行する。そして、図76に示すように、タイマ割込が発生すると、ランプ制御用CPU351は、タイマ割込フラグをセットする(ステップSE451)。メイン処理において、タイマ割込フラグがセットされていたら、ランプ制御用CPU351は、そのフラグをクリアすると共に(ステップSE444)、ランププロセス更新処理(ステップSE445)を行う。
この実施の形態では、遊技の進行に応じて点滅制御されるランプ・LEDの点灯パターンは、図81(A)に示すようなランプデータに応じて制御される。ランプデータは、ROMに格納され、制御パターンの種類毎に用意されている(図71に示された特別図柄の変動時のランプ点灯パターンを指定するランプ制御コマンド及び演出状況に応じて演出制御マイクロコンピュータから送出されるその他の遊技演出に関するランプ制御コマンド毎に用意される。従って、予告演出を行う場合におけるそれぞれの予告種類毎に用意されていると共に、再変動演出の種類毎にも用意されている)。
ランププロセス更新処理(ステップSE445)では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、ランプデータにおける次のアドレスに設定されているデータに応じてランプ・LEDを消灯または点灯させることに決定されると共に、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには点灯/消灯の切替がなされたときであるから、ランプ・LEDを点灯または消灯のための信号が該当する出力ポートに出力される。
図77は、コマンド受信割込処理を示すフローチャートである。演出制御基板80からのランプ制御コマンドが出力されたことを示すSTB信号は、ランプ制御用CPU351の割込端子に入力する(図10参照)。STB信号が例えばローレベルに変化すると、ランプ制御用CPU351に割り込みがかかり、コマンド受信割込処理が実行される。コマンド受信割込処理では、ランプ制御用CPU351はコマンド受信割り込みフラグをセットする(ステップSE452)。
図78は、図75に示されたメイン処理におけるコマンド受信処理を示すフローチャートである。コマンド受信処理において、ランプ制御用CPU351は、コマンド受信フラグがセットされているか否か確認する(ステップSE471)。セットされていなければ処理を終了する。コマンド受信フラグがセットされている場合には、コマンド受信フラグをリセットし(ステップSE471)、入力ポートを介してSTB信号が確かにオン状態であるか否か確認する(ステップSE473)。STB信号がオン状態でなければ処理を終了する。
STB信号がオン状態であれば、入力ポートを介してランプ制御コマンド(具体的には2バイトのコマンドデータのうちの1バイト)を入力し、RAMに形成されているコマンド受信バッファに格納する(ステップSE474)。そして、ACK信号をオン状態にする(ステップSE475)。次いで、STB信号がオフ状態になったら(ステップSE476)、ACK信号をオフ状態にする(ステップSE477)。なお、ステップSE476の処理を行うときに、所定時間経過してもSTB信号がオフ状態にならなかったら、所定のランプやLEDによって報知するように構成してもよい。
以上のような処理によって、ランプ制御コマンドが受信され、受信されたランプ制御コマンドがコマンド受信バッファに格納される。なお、この実施の形態では、ランプ制御コマンドは2バイト構成であるから、実際には、2回STB信号に基づく割込が発生して、ステップSE472〜SE477の処理が2回実行されると、1つのランプ制御コマンドがコマンド受信バッファに格納されたことになる。なお、コマンド受信バッファは、例えば、演出制御基板80に搭載されている演出制御マイクロコンピュータが有するコマンド受信バッファと同様に構成されている(図64参照)。また、この実施の形態では、コマンド受信割込処理ではコマンド受信フラグのセットのみがなされ、受信処理は割込処理外のコマンド受信処理で行われたが、コマンド受信割込において、コマンド受信処理も行うように構成してもよい。
コマンド受信バッファに格納されたランプ制御コマンドは、メイン処理におけるコマンド解析処理(ステップSE442)において解析され、解析結果に応じてランププロセス更新処理(ステップSE445)が実行される。
図79は、音制御基板70に搭載されている音制御手段を構成する音制御用CPU701が実行するメイン処理を示すフローチャートである。音制御用CPU701は、メイン処理において、まず、レジスタ、ワークエリアを含むRAM及び出力ポート等を初期化する初期化処理を実行する(ステップSE480)。次いで、演出制御基板80からの音制御コマンドを受信する処理であるコマンド受信処理(ステップSE481)、及び受信した音制御コマンドを解析する処理を行う(ステップSE482:コマンド解析処理)。コマンド受信処理やコマンド解析処理では、上述した発光体制御手段における処理と同一の処理が実行されるため、ここでは詳細な説明は省略する。
その後、音制御用CPU701は、タイマ割込フラグの監視(ステップSE483)を行うループ処理に移行する。そして、図80に示すように、タイマ割込が発生すると、音制御用CPU351は、タイマ割込フラグをセットする(ステップSE486)。メイン処理において、タイマ割込フラグがセットされていたら、音制御用CPU701は、そのフラグをクリアすると共に(ステップSE484)、音プロセス更新処理(ステップSE485)を行う。
遊技の進行に応じて制御されるスピーカ27からの音出力パターンは、図81(B)に示すような音データに応じて制御される。音データは、ROMに格納され、制御パターンの種類毎に用意されている(図72に示された特別図柄の変動時の音発生パターンを指定する音制御コマンド及び演出状況に応じて演出制御マイクロコンピュータから送出されるその他の演出に関する音制御コマンド毎に用意される。従って、予告演出を行う場合におけるそれぞれの予告種類毎に用意されていると共に、再変動演出の種類毎にも用意されている)。
音プロセス更新処理(ステップSE485)では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、音声データにおける次のアドレスに設定されているデータに応じて出力音声に変更することが決定されると共に、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには出力音声の切替がなされたときであるから、音声合成回路702にデータを出力するための出力ポート(図11参照)を介して、音声合成回路702に、新たな出力音声に対応したデータが出力される。
なお、遊技制御マイクロコンピュータは、払出指令信号の送信に関連して(具体的には払出指令信号の送信に応じた払出BUSY信号のオン)未払出景品遊技媒体数の減算処理(図33のステップS261,S263,S265参照)を行うので、停電等によって不測の電力供給停止が生じても遊技者に与えられる不利益を最小限に止めることができると共に、不正行為を効果的に防止できる。つまり、未払出景品遊技媒体数が設定されている総賞球数格納バッファは遊技制御マイクロコンピュータにおいてバックアップRAMに形成されているので、遊技機への電力供給が停止しても所定期間(バックアップ電源の持続時間)内ではその内容が保存され、電力供給が復旧したときに、保存されている総賞球数格納バッファの内容に基づいて、遊技制御マイクロコンピュータは、賞球処理を再開することができる。即ち、保存されていた総賞球数格納バッファの内容が0でなければ払出制御マイクロコンピュータに対して払出指令信号を出力することができる。
例えば、未払出景品遊技媒体数の減算処理を、払出完了信号の受信に基づいて実行すると、払出制御マイクロコンピュータが払出指令信号に基づいて賞球払出を開始後払出完了信号を送信する前に、不正に電力供給停止状態にした後電力供給を復旧させる状態を作成したり、遊技制御マイクロコンピュータを不正に一旦リセットするような行為がなされた場合には、減算処理がなされていない未払出景品遊技媒体数に基づいて二重に賞球払出を実行してしまう。しかし、払出完了信号の受信に基づいて未払出景品遊技媒体数の減算処理を実行すれば、そのような不正行為がなされても二重に賞球払出を実行してしまうことはない。
さらに、上記の実施の形態では、払出カウントスイッチ301の出力は払出制御基板37のみに入力されている。従って、払出カウントスイッチ301の出力を主基板31と払出制御基板37との双方に供給する場合に比べて、回路構成が簡略化されコストを低減することができる。
また、上記の実施の形態では、払出制御マイクロコンピュータが、賞球REQ信号に基づく払出処理の実行中であることを示す制御信号(払出BUSY信号)を遊技制御マイクロコンピュータに対して出力するように構成されているので、払出処理の実行中であることを遊技制御マイクロコンピュータに認識させることができる。
また、払出制御マイクロコンピュータが、払出個数信号が示す個数の賞球の払出処理が終了したことを示す制御信号としての払出完了信号を遊技制御マイクロコンピュータに対して出力しているので、具体的には払出BUSY信号をオフ状態にしているので、払出制御マイクロコンピュータの払出処理が終了したことを遊技制御マイクロコンピュータが認識することができる。
また、遊技制御マイクロコンピュータは、電源監視回路920からの電源断信号の入力に応じて、電源断が発生したことを示す供給停止検出信号としての制御信号(電源確認信号)を出力することができ、電源断が発生したことを払出制御マイクロコンピュータに認識させることができる。なお、具体的には、電源確認信号をオフ状態にすることによって供給停止検出信号が出力された状態になる。
また、遊技制御マイクロコンピュータは、電力供給開始時に、払出制御マイクロコンピュータに対して、遊技機への電力供給が開始したことを示す制御信号(電源確認信号)を出力するように構成されているので、電力供給が開始して遊技制御マイクロコンピュータの制御動作が開始したことを払出制御マイクロコンピュータに認識させることができる。
なお、上記の実施の形態では、払出制御基板37に設けられているRAMは電源バックアップされていないが、主基板31の場合と同様にRAMの一部または全部が電源バックアップされていてもよい。
また、上記の実施の形態では、賞球REQ信号によって払出要求を行い、払出個数信号によって払出数が指定されたが、払出個数信号によって払出要求及び払出数の指定を行うように構成してもよい。その場合、払出制御マイクロコンピュータは、払出個数信号が出力されているときは、同時に払出要求がなされていると判定すればよい。そのような構成によれば、賞球REQ信号を用いる必要はない。
また、上記の実施の形態では、賞球の払出処理中に払出BUSY信号が出力されたが、貸球の払出処理中にも払出BUSY信号を出力するようにしてもよい。そのように構成すれば、遊技制御マイクロコンピュータが球貸し処理中であることを認識することができる。従って、遊技制御マイクロコンピュータは、払出BUSY信号のオン状態に基づいて、球貸し処理が所定期間以上継続して実行されていると認識したような場合に、エラーが発生したと判定することができる。
また、上記の実施の形態では、払出制御マイクロコンピュータは、払出モータ289が払出予定数分回転したことを検出したら賞球払出の終了と決定したが、払出モータ位置センサによる検出回数が払出予定数に達したら賞球払出の終了と決定してもよい。即ち、払出制御マイクロコンピュータは、払出手段の動作量(この例では、払出モータ289の回転量または払出モータ位置センサによる検出回数)を検出することによって払い出しが完了したか否かを判定するように構成されていてもよい。
さらに、上記の実施の形態では、払出制御マイクロコンピュータは、払出カウントスイッチ301の検出信号に基づいて払出が完了したか否かを確認したが、払出モータ位置センサの出力信号に基づいて払出が完了したか否かを確認するようにしてもよい。
また、払出制御マイクロコンピュータが、払出手段の駆動部(例えば払出モータ289、カム等)の動作量を検出し、その検出に基づいて払い出しに関わる異常(払出ユニットエラー)が発生したか否かを判定するように構成されていてもよい。そのように構成すれば、払い出しに関わる異常を確実に検出することができる。
また、上記の実施の形態では、球払出装置97は球貸しも賞球払出も実行可能な構成であったが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。
また、上述した実施の形態では、球切れ状態や下皿満タン状態である場合などに払出禁止状態にしたが、他の払い出しを行うことが好ましくない場合や払い出しを行うことができない場合にも払出禁止状態に設定してもよい。例えば、ガラス扉枠2が開状態となってドア開放スイッチ161A,161Bから検出信号が出力されているときなどにも払出禁止状態に設定されるようにしてもよい。
また、上述した各実施の形態では、記録媒体処理装置(カードユニット50)で使用される記録媒体が磁気カード(プリペイドカード)であったが、磁気カードに限られず、非接触型あるいは接触型のICカードであってもよい。また、記録媒体処理装置が識別符号に基づいて記録情報を特定できる構成とされている場合には、記録媒体は、記録情報を特定可能な識別符号などの情報を少なくとも記録媒体処理装置が読み取り可能に記録できるようなものであってもよい。さらに、記録媒体は、例えばバーコードなどの所定の情報記録シンボル等が読み取り可能にプリントされたものであってもよい。また、記録媒体の形状は、カード状のものに限られず、例えば円盤形状や球状、あるいはチップ形状など、どのような形状とされていてもよい。
また、遊技制御基板(マイクロコンピュータ)により制御される遊技の進行とは、実施形態中に記載したような電源断検出処理、スイッチ処理、賞球処理等の制御処理のことである。また、実施形態中では、払出検出手段を払出カウントスイッチ301で構成することにより、遊技媒体の払い出しを直接的に検出する構成としているが、これに限らず、間接的に遊技媒体を検出する(例えば、スプロケットの動作を検出することで遊技媒体の払い出しを間接的に検出する等)ようにしてもよい。また、明細書中でいうコマンドとは、コンピュータに特定の機能の実行を指示する信号のことである。
また、実施形態中では、パチンコ遊技機の構成として、始動球検出器の入賞球の検出に伴って可変表示装置での識別情報の変動を開始し、該識別情報が所定の表示結果となると特定遊技状態が発生して可変入賞球装置を開放するパチンコ遊技機(これを俗に第1種という)を例示しているが、特にこれに限定するものではなく、始動球検出器の入賞球の検出に伴って可変入賞球装置を開放し、該可変入賞球装置内の特定領域への打球の入賞により特定遊技状態を発生するパチンコ遊技機(これを俗に第2種という)や、始動球検出器の入賞球の検出に伴って可変表示装置での識別情報の変動を開始し、該識別情報が所定の表示結果となると権利発生状態となり、この状態で特定領域に打球が入賞すると特定遊技状態が発生するパチンコ遊技機(これを俗に第3種という)であってもよく、さらにはスロットマシンやコインゲーム等の遊技機であってもよい。