以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例である第1種パチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別可変表示部)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9の下方には、始動入賞口14としての可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。また、可変表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つのLEDによる特別図柄始動記憶表示器(以下、始動記憶表示器という。)18が設けられている。有効始動入賞がある毎に、始動記憶表示器18は点灯するLEDを1増やす。そして、可変表示装置9の可変表示が開始される毎に、点灯するLEDを1減らす。
ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄始動記憶が上限に達していなければ、所定の乱数値が抽出される。そして、普通図柄表示器10において表示状態が変化する可変表示を開始できる状態であれば、普通図柄表示器10の表示の可変表示が開始される。普通図柄表示器10において表示状態が変化する可変表示を開始できる状態でなければ、普通図柄始動記憶の値が1増やされる。普通図柄表示器10の近傍には、普通図柄始動記憶数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。なお、特別図柄と普通図柄とを一つの可変表示装置で可変表示するように構成することもできる。その場合には、特別可変表示部と普通可変表示部とは1つの可変表示装置で実現される。
この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、可変表示は所定時間(例えば29秒)継続する。そして、可変表示の終了時に左側のランプが点灯すれば当りとなる。当りとするか否かは、ゲート32に遊技球が入賞したときに抽出された乱数の値が所定の当り判定値と一致したか否かによって決定される。普通図柄表示器10における可変表示の表示結果が当りである場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になって遊技球が入賞しやすい状態になる。すなわち、可変入賞球装置15の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態に変化する。
さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数とのうちの一方または双方が高められ、遊技者にとってさらに有利になる。また、確変状態等の所定の状態では、普通図柄表示器10における可変表示期間(変動時間)が短縮されることによって、遊技者にとってさらに有利になるようにしてもよい。
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。また、スピーカ27が設けられている部分には、遊技状態が確変状態であるときに点灯する確変報知ランプ(図1の各スピーカ27をそれぞれ囲む左右の略三角形状をなしている部分を点灯させるランプ)が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット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における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
次に、パチンコ遊技機1の裏面の構造について図3を参照して説明する。図3は、遊技機を裏面から見た背面図である。
図3に示すように、遊技機裏面側では、可変表示装置9を制御する図柄制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。さらに、遊技盤6に設けられている各種装飾LED、始動記憶表示器18および普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52を点灯制御するランプ制御手段が搭載されたランプ制御基板35、スピーカ27からの音発生を制御する音制御手段が搭載された音制御基板70も設けられている。また、また、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910や発射制御基板91が設けられている。
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤34が設置されている。
さらに、各基板(主基板31や払出制御基板37等)に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能な変動データ記憶手段すなわちバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチ921が搭載されたスイッチ基板190が設けられている。スイッチ基板190には、クリアスイッチ921と、主基板31等の他の基板と接続されるコネクタ922が設けられている。
貯留タンク38に貯留された遊技球は誘導レールを通り、賞球ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レールにおける上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になり、さらに遊技球が払い出されると、遊技球は余剰球受皿4に導かれる。さらに遊技球が払い出されると、満タンスイッチ48(図3において図示せず)がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板37、ランプ制御基板35、音制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301Aおよびクリアスイッチ921からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
なお、図4には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。スイッチと称されているものがセンサと称されているもの等でもよいこと、すなわち、スイッチが遊技媒体検出手段の一例であることは、他の実施の形態でも同様である。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
また、RAM(CPU内蔵RAMであってもよい。)55の一部または全部が、電源基板910において作成されるバックアップ電源よってバックアップされているバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の一部または全部の内容は保存される。
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよく、この実施の形態および他の実施の形態で用いられているLEDも他の種類の発光体でもよい。すなわち、ランプやLEDは発光体の一例である。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
図5は、図柄制御基板80内の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,2)570,572および出力バッファ回路620,62Aとともに示すブロック図である。出力ポート(出力ポート2)572からは8ビットのデータが出力され、出力ポート570からは1ビットのストローブ信号(INT信号)が出力される。
表示制御用CPU101は、制御データ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に出力する。
なお、図5には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、および使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
入力バッファ回路105A,105Bは、主基板31から図柄制御基板80へ向かう方向にのみ信号を通過させることができる。従って、図柄制御基板80側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。図柄制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、表示制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
図6は、主基板31およびランプ制御基板35における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域7の外側に設けられている点枠ランプ28a、左枠ランプ28b、右枠ランプ28cと遊技盤に設けられている装飾ランプ25の点灯/消灯と、賞球ランプ51および球切れランプ52の点灯/消灯とを示すランプ制御コマンドが主基板31からランプ制御基板35に出力される。また、始動記憶表示器18および普通図柄始動記憶表示器41の点灯個数を示すランプ制御コマンドも主基板31からランプ制御基板35に出力される。
図6に示すように、ランプ制御に関するランプ制御コマンドは、基本回路53におけるI/Oポート部57の出力ポート(出力ポート0,3)570,573から出力される。出力ポート(出力ポート3)573は8ビットのデータを出力し、出力ポート570は1ビットのINT信号を出力する。ランプ制御基板35において、主基板31からの制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。なお、ランプ制御用CPU351がI/Oポートを内蔵していない場合には、入力バッファ回路355A,355Bとランプ制御用CPU351との間に、I/Oポートが設けられる。
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に対して点灯/消灯信号を出力する。点灯/消灯信号は、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に出力される。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
主基板31において、CPU56は、RAM55の記憶内容に未払出の賞球残数があるときに賞球ランプ51の点灯を指示する制御コマンドを出力し、遊技盤裏面の払出球通路の上流に設置されている球切れスイッチ187(図3参照)が遊技球を検出しなくなると球切れランプ52の点灯を指示する制御コマンドを出力する。ランプ制御基板35において、各制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。ランプ制御用CPU351は、それらの制御コマンドに応じて、賞球ランプ51および球切れランプ52を点灯/消灯する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
さらに、ランプ制御用CPU351は、制御コマンドに応じて始動記憶表示器18および普通図柄始動記憶表示器41に対して点灯/消灯信号を出力する。
入力バッファ回路355A,355Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路355A,355Bは、主基板31からランプ制御基板35へ向かう方向にのみ信号を通過させることができる。従って、ランプ制御基板35側から主基板31側に信号が伝わる余地はない。たとえ、ランプ制御基板35内の回路に不正改造が加えられても、不正改造によって出力される信号がメイン基板31側に伝わることはない。なお、入力バッファ回路355A,355Bの入力側にノイズフィルタを設けてもよい。
また、主基板31において、出力ポート570,573の外側にバッファ回路620,63Aが設けられている。バッファ回路620,63Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、ランプ制御基板35から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,63Aの出力側にノイズフィルタを設けてもよい。
図7は、電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、図柄制御基板80、音制御基板70、ランプ制御基板35および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源すなわち記憶保持手段となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。なお、VSLは、整流回路912において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC922(図7では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC922の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図7には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
また、電源基板910には、電源監視回路としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電力供給回復待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
なお、図7に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
図8は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図8に示すように、電源基板910の電源監視回路(電源監視手段;第1の電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。従って、CPU56は、マスク不能割込(NMI)処理によって遊技機への電力供給の停止の発生を確認することができる。
図8には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
図8に示すように、リセットIC651からのリセット信号は、NAND回路947に入力されるとともに、反転回路(NOT回路)944を介してカウンタIC941のクリア端子に入力される。カウンタIC941は、クリア端子への入力がローレベルになると、発振器943からのクロック信号をカウントする。そして、カウンタIC941のQ5出力がNOT回路945,946を介してNAND回路947に入力される。また、カウンタIC941のQ6出力は、フリップフロップ(FF)942のクロック端子に入力される。フリップフロップ942のD入力はハイレベルに固定され、Q出力は論理和回路(OR回路)949に入力される。OR回路949の他方の入力には、NAND回路947の出力がNOT回路948を介して導入される。そして、OR回路949の出力がCPU56のリセット端子に接続されている。このような構成によれば、電源投入時に、CPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、CPU56は、確実に動作を開始する。
そして、例えば、電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
なお、電源監視回路とシステムリセット回路65とが監視する電源の電圧は異なっていてもよい。また、システムリセット回路65は、第2の電源監視手段に相当する。
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
なお、図8に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。PIOは、PB0〜PB3の4ビットおよびPA0〜PA7の1バイトのポートを有する。PB0〜PB3およびPA0〜PA7のポートは、入力/出力いずれにも設定できる。
次に遊技機の動作について説明する。図9は、主基板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は、入力ポートを介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS11〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始することによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図10に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS10)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
このように、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認することによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
また、バックアップフラグの状態によって「バックアップあり」が確認されなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、バックアップデータが存在しないのにもかかわらず遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能となる。
さらに、チェックデータを用いたチェック結果が正常でなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、電力供給停止時とは異なる内容となってしまっているバックアップデータにもとづいて遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能となる。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、普通図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う(ステップS12)。
次いで、CPU56は、初期化時コマンド送信テーブルに従って、サブ基板(払出制御基板37、ランプ制御基板35、音制御基板70、表示制御基板80)を初期化するための初期化コマンドを送信する(ステップS13)。初期化時コマンド送信テーブルには、図11に示すように、賞球ランプ51および球切れランプ52等の消灯を指示するコマンド(ランプ制御基板35に対して)や、可変表示装置9に表示される初期図柄を示すコマンド(表示制御基板80に対して)等の初期化コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。本例では、CPU56は、初期化時コマンド送信テーブルに各初期化コマンドを設定する際に、必要な場合にはステップS12にて初期値が設定されたワークエリア(作業領域)を参照する。
この例では、図11に示すように、初期化コマンドには、始動記憶表示器18を消灯させるための始動入賞記憶数ランプ指定コマンド(E100(H))、普通図柄始動記憶表示器41を消灯させるためのゲート通過記憶数ランプ指定コマンド(E000(H))、賞球ランプ51を消灯させるための賞球残なしランプ指定コマンド(E200(H))、球切れランプ52を消灯させるための球あり中ランプ指定コマンド(E300(H))、確変報知ランプを消灯させるための確率状態ランプ指定コマンド(B002(H))、可変表示装置9に電源投入時の画面を表示させるための特別図柄電源投入時指定コマンド(8F00(H):初期表示態様コマンド)、普通図柄表示器10に電源投入時に実行される表示を行わせるための普通図柄電源投入時指定コマンド(8F01(H):初期表示態様コマンド)、および球払出装置97からの払出が可能であることを指示する払出許可状態指定コマンド(0101(H))がある。なお、図11に示す初期化時コマンド送信テーブルは、初期化コマンドが設定された状態の後述するコマンド送信テーブルである。また、コマンドの具体的な送出形態については後述する。
また、CPU56は、ROM54に格納されている特別図柄の初期画面を示すデータを、RAM55に設けられている左中右図柄バッファに格納する(ステップS14)。さらに、CPU56は、ROM54に格納されている普通図柄の初期表示内容を示すデータについても、RAM55に設けられている普通図柄バッファに格納しておく。なお、左中右図柄バッファおよび普通図柄バッファの記憶内容にもとづく制御コマンドの送信は行わない。
左中右図柄バッファおよび普通図柄バッファに初期画面や初期表示内容のデータを格納しておくのは、特別図柄や普通図柄の可変表示が開始される前に再度電力供給が停止したあと、再び電力供給が開始して状態復旧する場合に、ROM54に格納されているデータと同じデータにもとづいて初期画面を指定する制御コマンドが送信されるようにするためである。
例えば、特別図柄について言えば、状態復旧する際には、後述するステップS84にて左中右図柄バッファの格納データにもとづいて図柄指定コマンドが送出される。この例では、上記のように、電力供給再開時に左中右図柄バッファにROM54に格納されている初期図柄のデータが記憶されたあと、特別図柄の可変表示が開始される前(左中右図柄バッファの記憶内容が書き換えられる前)に再度電力供給が停止し、その後に電力供給が再開して状態復旧がなされる場合には、図柄指定コマンドが送出するための参照される左中右図柄バッファにはROM54に格納されている初期図柄のデータが記憶された状態となっている。従って、上記のような状態復旧がなされる場合には、後述するステップS84にて、ROM54に格納されている初期図柄のデータが記憶されている左中右図柄バッファの格納データにもとづいて図柄指定コマンドが送出される。よって、ROM54に格納されているデータにもとづいて初期画面を指定する制御コマンドが送出された場合と同様の結果となる。
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
図12は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS81)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている作業領域におけるスタックポインタ退避バッファ)に退避している。よって、ステップS81では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
次いで、CPU56は、バックアップRAMエリアに格納されていたデータ、およびバックアップ時コマンド送信テーブルに従って、各サブ基板の制御状態を復旧させるための復旧コマンドを送信する(ステップS82)。バックアップ時コマンド送信テーブルには、図13に示すように、賞球ランプ51および球切れランプ52等の状態復旧を指示するコマンド(ランプ制御基板35に対して)や、可変表示装置9の制御状態を復旧させるためのコマンド(表示制御基板80に対して)等の復旧コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。
この例では、図13に示すように、ステップS82で送信される復旧コマンドには、始動記憶表示器18の状態を復旧させるための始動入賞記憶数ランプ指定コマンド(E1XX(H):XX=始動入賞記憶数)、普通図柄始動記憶表示器41の状態を復旧させるためのゲート通過記憶数ランプ指定コマンド(E0XX(H):XX=ゲート通過記憶数)、賞球ランプ51の状態を復旧させるための賞球ランプコマンド(賞球残なしランプ指定コマンド(E200(H))または賞球残ありランプ指定コマンド(E201(H)))、球切れランプ52の状態を復旧させるための球切れランプコマンド(球あり中ランプ指定コマンド(E300(H))または球切れ中ランプ指定コマンド(E301(H)))、確変報知ランプの状態を復旧させるための確率状態ランプコマンド(高確率状態ランプ指定コマンド(B001(H))または低確率状態ランプ指定コマンド(B002(H)))、可変表示装置9の制御状態(ここでは、確変中か否かについての制御状態を意味する)を復旧させるための特別図柄復旧指定コマンド(B6XX(H):XX=確変状態か否か)、可変表示装置9の制御状態(ここでは、高確率状態か否かについての制御状態を意味する)を復旧させるための普通図柄復旧指定コマンド(B7XX(H))、普通図柄表示器10に電源投入時に実行される表示を行わせるための普通図柄電源投入時指定コマンド(8F01(H))、球払出装置97からの払出が可能であるか否かを指示する払出可否状態指定コマンド(01XX(H):XX=01(払出が可能)、XX=00(払出禁止))がある。なお、図13に示すバックアップ時コマンド送信テーブルは、復旧コマンドが設定された状態の後述するコマンド送信テーブルである。
始動入賞記憶数、ゲート通過記憶数、賞球ランプ51や球切れランプ52の状態、確変状態であったか否か、および払出停止状態であったか否かは、電源バックアップされているRAMエリアに保存されている所定の作業領域(例えば、始動入賞記憶数バッファ、ゲート通過記憶数バッファ、確変フラグ、賞球中フラグ、球切れフラグ、払出停止フラグなど)のデータによって確認される。
また、CPU56は、電源バックアップされているRAMエリアに格納されている特別図柄プロセスフラグの値等にもとづいて、特別図柄バックアップ時コマンド送信テーブルのいずれかを選択する(ステップS83)。特別図柄バックアップ時コマンド送信テーブルは、例えば図14に示すように、待機時バックアップコマンド送信テーブルと、変動時バックアップコマンド送信テーブルと、大入賞口開放前バックアップコマンド送信テーブルと、大入賞口開放中バックアップコマンド送信テーブルと、大当り終了時バックアップコマンド送信テーブルとがある。
待機時バックアップコマンド送信テーブルは、電力供給が停止したときに特別図柄変動待ち処理等(ステップS300〜ステップS304:図28参照)の実行中であった場合に選択される。変動時バックアップコマンド送信テーブルは、電力供給が停止したときに全図柄停止待ち処理の実行中(ステップS305:図28参照)であった場合に選択される。大入賞口開放前バックアップコマンド送信テーブルは、電力供給が停止したときに大入賞口開放開始処理(ステップS306:図28参照)の実行中であった場合に選択される。大入賞口開放中バックアップコマンド送信テーブルは、電力供給が停止したときに大入賞口開放中処理等(ステップS307〜ステップS308:図28参照)が実行されていた場合に選択される。大当り終了時バックアップコマンド送信テーブルは、電力供給が停止したときに大当りの終了処理(ステップS309:図28参照)の実行中であった場合に選択される。上記の演出状態は、電源バックアップされているRAMエリアに格納されている特別図柄プロセスフラグの値等によって確認される。
特別図柄バックアップ時コマンド送信テーブルを選択すると、CPU56は、選択した特別図柄バックアップ時コマンド送信テーブルに従って復旧コマンドを送信する(ステップS84)。
待機時バックアップコマンド送信テーブルには、図15に示すように、復旧コマンドとして、左中右の特別図柄を指定するコマンド(識別情報態様指定コマンド)、特別図柄確定コマンド、および客待ちデモ表示指定コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左中右の図柄は、左中右図柄バッファの格納情報にもとづいて特定され、ここでは電力供給が停止する前の最後の特別図柄変動で停止表示された図柄となる。電力供給が停止したときに可変表示装置9において変動パターンコマンド受信待ち中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。なお、図15に示す待機時バックアップコマンド送信テーブルは、復旧コマンドが設定された状態の後述するコマンド送信テーブルである。
表示制御手段は、確定コマンドを受信すると、左中右の図柄を指定する表示制御コマンドで指定された特別図柄を可変表示装置9に表示させる制御を行う。また、客待ちデモコマンドを受信すると、可変表示装置9の背景等の表示状態を待機状態の表示状態にする制御を行う。
また、変動時バックアップコマンド送信テーブルには、図16に示すように、復旧コマンドとして、左中右の特別図柄を指定するコマンド(識別情報態様指定コマンド)、および特別図柄停電復旧表示コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左中右の図柄は、電力供給が停止したときに行われていた特別図柄変動で停止表示されるはずであった図柄である。電力供給が停止したときに可変表示装置9において特別図柄変動中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。
表示制御手段は、特別図柄停電復旧表示コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9に停電が生じた旨の表示を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、特別図柄の変動期間が終了すると、遊技制御手段は表示制御手段に対して確定コマンドを送信する。表示制御手段は、確定コマンドを受信したことにもとづいて、次の特別図柄の変動を行える状態になる。
また、大入賞口開放前バックアップコマンド送信テーブルには、図17に示すように、復旧コマンドとして、左中右の特別図柄を指定するコマンド(識別情報態様指定コマンド)、特別図柄確定コマンド、および大入賞口開放前表示コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左中右の図柄は、電力供給が停止する前の最後の特別図柄変動で停止表示された大当り図柄である。従って、電力供給が停止したときに大入賞口開放前処理中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。
表示制御手段は、大入賞口開放前表示コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9にこれから実行されるラウンド遊技のラウンド数の表示を行う。
また、大入賞口開放中バックアップコマンド送信テーブルには、図18に示すように、復旧コマンドとして、左中右の特別図柄を指定するコマンド(識別情報態様指定コマンド)、特別図柄確定コマンド、大入賞口開放時表示コマンド、およびカウント表示コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左中右の図柄は、電力供給が停止する前の最後の特別図柄変動で停止表示された大当り図柄である。従って、電力供給が停止したときに大入賞口開放処理中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。
表示制御手段は、大入賞口開放時表示コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9に実行中のラウンド遊技のラウンド数の表示を行う。また、表示制御手段は、カウント表示コマンドを受信すると、ラウンド遊技におけるカウントスイッチ23でのカウント数の表示を行う。
さらに、大当り終了時バックアップコマンド送信テーブルには、図19に示すように、復旧コマンドとして、左中右の特別図柄を指定するコマンド(識別情報態様指定コマンド)、特別図柄確定コマンド、および大当り終了表示コマンド(特定大当り終了表示コマンドまたは非特定大当り終了表示コマンド)を送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左中右の図柄は、電力供給が停止する前の最後の特別図柄変動で停止表示された大当り図柄である。従って、電力供給が停止したときに大当の終了に関する処理中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。
表示制御手段は、大当り終了表示コマンドを受信すると、所定の報知処理を行う。例えば、大当り遊技状態が終了したことを示す表示を行う。また、表示制御手段は、大当り終了後の遊技状態が確変状態に制御される場合には、可変表示装置9の背景色を変更する制御を行う。
なお、この例では、電力供給が開始され上述したステップS14の保存処理が実行されたあと、特別図柄の可変表示が開始される前(左中右図柄バッファの内容が書き換えられる前)に電力供給停止状態となり、その後に電力供給が再開した場合には、ステップS84にて送信される表示制御コマンドで指定される左中右の図柄は、ROM54に格納されているデータにもとづく初期画面となる。
すなわち、ステップS84では左中右図柄バッファの格納データにもとづいて図柄指定コマンドが送出されるが、上述したステップS14の保存処理が実行されたあと、特別図柄の可変表示が開始される前(左中右図柄バッファの記憶内容が書き換えられる前)に電力供給が停止し、その後に電力供給が再開して状態復旧がなされる場合には、図柄指定コマンドが送出するために参照される左中右図柄バッファにはROM54に格納されている初期図柄のデータが記憶された状態となっている(左中右図柄バッファの格納データはバックアップされ、左中右図柄バッファの格納状態はすでに復旧されている)。従って、上記のような電力供給再開時に状態復旧がなされる場合には、ステップS84にて、ROM54に格納されている初期図柄のデータが記憶されている左中右図柄バッファの格納データにもとづいて図柄指定コマンドが送出される。よって、ROM54に格納されているデータにもとづいて初期画面を指定する制御コマンドが送出された場合と同様の結果となる。
なお、上記のように、ステップS14の保存処理が実行されたあと、特別図柄の可変表示が開始される前に電力供給停止状態となり、その後に電力供給が再開されて状態復旧がなされる場合に、ステップS84にて、ROM54に格納されているデータにもとづいて可変表示装置9に表示させる左中右図柄を指定する制御コマンドを送出するようにしてもよい。この場合、例えば、電力供給が開始したとき(例えば、ステップS14の保存処理が実行されたときであってもよい)にセットされ、特別図柄の可変表示が開始されたとき(より具体的には、左中右図柄バッファの記憶内容が書き換えられたとき)にリセットされる復旧状態フラグを設ける構成とし、ステップS84にて、復旧状態フラグがセットされていればROM54に格納されているデータにもとづいて初期画面を指定する制御コマンドを送出し、復旧状態フラグがセットされていなければ左中右図柄バッファに格納されているデータにもとづいて可変表示装置9に表示させる左中右図柄を指定する制御コマンドを送出する構成とすればよい。
また、CPU56は、電源バックアップされているRAMエリアに格納されている普通図柄プロセスフラグの値等にもとづいて、普通図柄バックアップ時コマンド送信テーブルを選択する(ステップS85)。普通図柄バックアップ時コマンド送信テーブルは、例えば図20に示すように、普通図柄変動時バックアップコマンド送信テーブルと、普通図柄停止時バックアップコマンド送信テーブルとがある。
普通図柄変動時バックアップコマンド送信テーブルは、電力供給が停止したときに普通図柄表示器10において普通図柄が変動中であった場合に選択される。普通図柄停止時バックアップコマンド送信テーブルは、電力供給が停止したときに普通図柄表示器10において普通図柄の変動が行なわれていなかった場合に選択される。普通図柄の変動中であったか否かは、電源バックアップされているRAMエリアに格納されている普通図柄プロセスフラグの値等によって確認される。
普通図柄バックアップ時コマンド送信テーブルを選択すると、CPU56は、選択した普通図柄バックアップ時コマンド送信テーブルに従って復旧コマンドを送信する(ステップS86)。
普通図柄変動時バックアップコマンド送信テーブルには、図21に示すように、復旧コマンドとして、左右の普通図柄を指定するコマンド、および普通図柄停電復旧表示コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左右の図柄の状態(点灯状態、あるいは消灯状態)は、電力供給が停止したときに行われていた普通図柄変動のあとの停止時に点灯/消灯状態とされるはずであった状態である。従って、電力供給が停止したときに普通図柄表示器10において普通図柄変動中であった場合には、上記の表示制御コマンドが表示制御基板80に送信される。なお、図21に示す普通図柄変動時バックアップコマンド送信テーブルは、復旧コマンドが設定された状態の後述するコマンド送信テーブルである。
表示制御手段は、普通図柄停電復旧表示コマンドを受信すると、所定の報知処理を行う。例えば、普通図柄表示器10に停電が生じた旨の表示(例えば、左右の領域を点滅させる表示)を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、普通図柄の変動期間が終了すると、遊技制御手段は表示制御手段に対して普通図柄停止コマンドを送信する。表示制御手段は、普通図柄停止コマンドを受信したことにもとづいて、次の普通図柄の変動を行える状態になる。
また、普通図柄停止時バックアップコマンド送信テーブルには、図22に示すように、復旧コマンドとして、左右の普通図柄を指定するコマンド、および普通図柄停止コマンドを送信するためのINTデータ、コマンドデータ1およびコマンドデータ2が設定されている。ここで、表示制御コマンドで指定される左右の図柄は、電力供給が停止する前の最後の普通図柄変動で停止表示された図柄である。従って、電力供給が停止したときに普通図柄表示器10において図柄変動が行なわれていなかった場合には、上記の表示制御コマンドが表示制御基板80に送信される。なお、図22に示す普通図柄停止時バックアップコマンド送信テーブルは、復旧コマンドが設定された状態の後述するコマンド送信テーブルである。
表示制御手段は、普通図柄停止コマンドを受信すると、左右の図柄を指定する表示制御コマンドで指定された点灯/消灯状態で普通図柄を普通図柄表示器10に表示させる制御を行う。
なお、この例では、電力供給が開始され上述したステップS14の保存処理とともに実行される普通図柄の初期表示図柄の保存処理が実行されたあと、普通図柄の可変表示が開始される前(普通図柄バッファの内容が書き換えられる前)に電力供給停止状態となり、その後に電力供給が再開した場合には、ステップS86にて送信される表示制御コマンドで指定される左右の普通図柄は、ROM54に格納されているデータにもとづく初期画面となる。
その後、CPU56は、バックアップフラグをクリアする(ステップS91)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。よって、制御状態の復旧後に不必要な情報が残存しないようにすることができる。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタ(IXレジスタ、HLレジスタ、DEレジスタ、BCレジスタ)に設定する(ステップS92)。すなわち、レジスタ復元処理を行う。なお、各レジスタが復元させる毎に、スタックポインタの値が減らされる。すなわち、スタックポインタの値が、スタック領域の1つ前のアドレスを指すように更新される。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS93,S94)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS95)。
そして、RET命令が実行される。RET命令が実行されるときには、CPU56は、スタックポインタが指す領域に格納されているデータをプログラムカウンタに設定することによってプログラムのリターン動作を実現する。ただし、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、ステップS92でレジスタの復元処理が終了した後では、スタック領域を指すスタックポインタは、NMIによる電力供給停止時処理が開始されたときに実行されていたプログラムのアドレスが退避している領域を指している。すなわち、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS95の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて復旧制御が実行されている。
次に、タイマ割込処理について説明する。タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図23に示すステップS21〜S32の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ24a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24,S25)。
図24は、各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:大当りを発生させるか否か決定する(大当り判定用=特別図柄決定用)
(2)ランダム2−1〜2−3:左中右のはずれ図柄決定用
(3)ランダム3:大当り時の図柄の組合せを決定する(大当り図柄決定用=特別図柄判定用)
(4)ランダム4:リーチ時の変動パターンを決定する(変動パターン決定用)
なお、遊技効果を高めるために、上記(1)〜(4)の乱数以外の乱数(例えば、初期値決定用乱数)も用いられている。また、例えば各乱数に定期的に初期値(例えば各乱数毎にそれぞれ定められている初期値)を設定するなどして、上記(1)〜(4)の乱数が互いに同期しないように構成されていることが望ましい。
ステップS23では、CPU56は、(1)の大当り判定用乱数および(3)の大当り図柄判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数である。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS28)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS29)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS31)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
そして、CPU56は、入賞口スイッチ29a,30a,33a,39aの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。具体的には、入賞口スイッチ29a,30a,33a,39aの何れかがオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。次いで、CPU56は、始動入賞記憶数を確認し、前回確認したときと比べて現在の始動入賞記憶数が変化していた場合に、始動記憶表示器18の該当する保留ランプを点灯/消灯させることを指定するランプ制御コマンドをコマンド送信テーブルに設定する記憶処理を実行する(ステップS33)。なお、普通図柄始動記憶表示器41の保留ランプの点灯/消灯を指定する場合にも、始動記憶表示器18の保留ランプの点灯/消灯を指定する際に用いられるモジュールと共通のモジュールが使用される。その後、レジスタの内容を復帰させ(ステップS34)、割込許可状態に設定する(ステップS35)。
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
図25は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。マスク不能割込が発生すると、CPU56に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラムのアドレス(具体的には実行完了後の次のアドレス)を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタックポインタが指すスタック領域に退避する(ステップS51)。このとき、スタックポインタの値が、スタック領域の次のアドレスを指すように更新される。また、割込フラグをパリティフラグにコピーする(ステップS52)。パリティフラグはバックアップRAM領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、CPU56が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理で参照される。そして、遊技状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。
また、BCレジスタ、DEレジスタ、HLレジスタおよびIXレジスタをスタックポインタが指すスタック領域に退避する(ステップS54〜57)。この段階で、スタック領域には、マスク不能割込発生時に実行されていたプログラムのアドレス、BCレジスタ、DEレジスタ、HLレジスタおよびIXレジスタの各値が順に格納されたことになる。なお、各レジスタが退避される毎に、スタックポインタの値が、スタック領域の次のアドレスを指すように更新される。また、スタックポインタの値を作業領域における所定の領域(スタックポインタ退避バッファ)に退避する(ステップS58)。
次に、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS60〜S67)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS60)、チェックサム算出開始アドレスをポインタにセットする(ステップS61)。また、チェックサム算出回数をセットする(ステップS62)。
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS63)。演算結果をチェックサムデータエリアにストアするとともに(ステップS64)、ポインタの値を1増やし(ステップS65)、チェックサム算出回数の値を1減算する(ステップS66)。ステップS63〜S66の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS67)。
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS68)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS69)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS70)。以後、内蔵RAM55のアクセスができなくなる。従って、電圧低下に伴ってプログラムの暴走が生じても、RAMの記憶内容が破壊されるようなことはない。
そして、RAMアクセスレジスタにアクセス禁止値を設定すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
図26は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLの電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御用CPU371のNMI端子に入力される。CPU56および払出制御用CPU371は、NMI処理によって、所定の電力供給停止時処理を実行する。
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPU371がシステムリセット状態になる。なお、CPU56および払出制御用CPU371は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPU371がシステムリセット状態とされている。
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図26に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともIC駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。
その場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧(スイッチ電圧)が+12Vであることから、+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
図27は、この実施の形態で用いられる左中右図柄の一例を示す説明図である。図27に示すように、この実施の形態では、左中右図柄として表示される各図柄は、左中右で同一の10図柄である。図柄番号0の図柄が表示されると、次に、図柄番号9の図柄が表示される。そして、左中右図柄が、例えば、「1」、「3」、「5」、「7」または「9」で揃って停止すると高確率状態となる。すなわち、それらが確変図柄となる。
図28は、CPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図28に示す特別図柄プロセス処理は、図23のフローチャートにおけるステップS26の具体的な処理である。CPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)を行った後に、内部状態に応じて、ステップS300〜S309のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
特別図柄変動待ち処理(ステップS300):始動入賞口14に打球入賞して始動口スイッチ14aがオンするのを待つ。始動口スイッチ14aがオンすると、始動入賞記憶数が満タンでなければ、始動入賞記憶数を+1するとともに大当り決定用乱数等を抽出する。
特別図柄判定処理(ステップS301):特別図柄の可変表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、抽出されている大当り決定用乱数の値に応じて大当りとするかはずれとするか決定する。
停止図柄設定処理(ステップS302):左中右図柄の停止図柄を決定する。
リーチ動作設定処理(ステップS303):左中右の停止図柄の組み合わせにもとづいてリーチ動作するか否か決定するとともに、リーチとすることに決定した場合には、変動パターン決定用乱数の値に応じてリーチ時の変動期間を決定する。
全図柄変動開始処理(ステップS304):可変表示装置9において全図柄が変動開始されるように制御する。このとき、図柄制御基板80に対して、左中右最終停止図柄と変動態様を指令する情報とが送信される。処理を終えると、内部状態(プロセスフラグ)をステップS305に移行するように更新する。
全図柄停止待ち処理(ステップS305):所定時間(ステップS310の変動短縮タイマで示された時間)が経過すると、可変表示装置9において表示される全図柄が停止される。そして、停止図柄が大当り図柄の組み合わせである場合には、内部状態(プロセスフラグ)をステップS306に移行するように更新する。そうでない場合には、内部状態をステップS300に移行するように更新する。
大入賞口開放開始処理(ステップS306):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当りフラグ(大当り中であることを示すフラグ)のセットを行う。処理を終えると、内部状態(プロセスフラグ)をステップS307に移行するように更新する。
大入賞口開放中処理(ステップS307):大入賞口ラウンド表示の表示制御コマンドデータを図柄制御基板80に送出する制御や大入賞口の閉成条件の成立を確認する処理等を行う。最終的な大入賞口の閉成条件が成立したら、内部状態をステップS308に移行するように更新する。
特定領域有効時間処理(ステップS308):V入賞スイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS306に移行するように更新する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、内部状態をステップS309に移行するように更新する。
大当り終了処理(ステップS309):大当り遊技状態が終了したことを遊技者に報知するための表示を行う。その表示が終了したら、内部状態をステップS300に移行するように更新する。
図29は打球が始動入賞口14に入賞したことを判定する処理を示すフローチャートである。打球が遊技盤6に設けられている始動入賞口14に入賞すると、始動口スイッチ14aがオンする。例えば、特別図柄プロセス処理のステップS300の特別図柄変動待ち処理において、図29に示すように、CPU56は、スイッチ回路58を介して始動口スイッチ14aがオンしたことを判定すると(ステップS41)、始動入賞記憶数が最大値である4に達しているかどうか確認する(ステップS42)。始動入賞記憶数が4に達していなければ、始動入賞記憶数を1増やし(ステップS43)、大当り判定用乱数等の各乱数の値を抽出する。そして、それらを始動入賞記憶数の値に対応した乱数値格納エリアに格納する(ステップS44)。なお、始動入賞記憶数が4に達している場合には、始動入賞記憶数を増やす処理を行わない。すなわち、この実施の形態では、最大4個の始動入賞口14に入賞した打球数が記憶可能である。さらに、本例では、表示図柄の可変表示が開始できる状態(表示図柄の可変表示処理が実行されていない状態)でなければ(ステップS45のN)、ステップS43にて加算されたあとの始動入賞記憶数を保留数記憶エリアに記憶するとともに(ステップS46)、始動記憶表示器18の該当する保留ランプを点灯させるためのランプ制御コマンドの送信設定を行う(ステップS47)。なお、保留数記憶エリアは、例えばRAM55の所定の領域に設けられている。
CPU56は、ステップS26の特別図柄プロセス処理において、図30に示すように始動入賞記憶数の値を確認する(ステップS51)。始動入賞記憶数が0でなければ、始動入賞記憶数=1に対応する乱数値格納エリアに格納されている値を読み出すとともに(ステップS52)、始動入賞記憶数の値を1減らし、かつ、各乱数値格納エリアの値をシフトする(ステップS53)。すなわち、始動入賞記憶数=n(n=2,3,4)に対応する乱数値格納エリアに格納されている各値を、始動入賞記憶数=n−1に対応する乱数値格納エリアに格納する。次いで、CPU56は、保留数記憶エリアに保存されている始動入賞記憶数と、ステップS53にて減算された現在の始動入賞記憶数とを比較し、値が異なっている場合(現在の始動入賞記憶数の方が1小さい場合)には始動記憶表示器18の該当する保留ランプを消灯させるためのランプ制御コマンドの送信設定を行うとともに、現在の始動入賞記憶数を保留数記憶エリアに記憶する処理を行う(ステップS53a)。このように、表示図柄の可変表示が開始できる状態であれば始動記憶表示器18の保留ランプを点灯する処理を実行せず、保留数記憶エリアの記憶値を用いて始動記憶表示器18の保留ランプを消灯するか否か決定する構成としているので、始動検出がなされたあとすぐにその始動検出にもとづく表示図柄の可変表示がなされる場合には、当該始動検出によって始動記憶表示器18の保留ランプを点灯/消灯する処理が実行されないので、始動記憶表示器18の保留ランプが一瞬だけ点灯することを防止することができる。なお、上述した図29および図30の処理は、1つの共通したモジュール(この場合、ステップS45にて「Y」と判断された場合にステップS51の処理に移行する構成とすればよい。)にて実行されることが望ましい。
そして、CPU56は、ステップS52で読み出した値、すなわち抽出されている大当り判定用乱数の値にもとづいて当たり/はずれを決定する(ステップS54)。ここでは、大当り判定用乱数は0〜299の範囲の値をとることにする。図31に示すように、低確率時には例えばその値が「3」である場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。高確率時には例えばその値が「3」,「7」,「79」,「103」,「107」のいずれかである場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。
大当りと判定されたときには、大当り図柄決定用乱数(ランダム3)を抽出しその値に従って大当り図柄を決定する(ステップS55)。この実施の形態では、抽出されたランダム3の値に応じた大当り図柄テーブルに設定されている図柄番号の各図柄が、大当り図柄として決定される。大当り図柄テーブルには、複数種類の大当り図柄の組み合わせのそれぞれに対応した左中右の図柄番号が設定されている。また、ステップS52で読み出した値、すなわち抽出されている変動パターン決定用乱数(ランダム4)の値にもとづいて図柄の変動パターンを決定する(ステップS56)。
はずれと判定された場合には、CPU56は、大当りとしない場合の停止図柄の決定を行う。この実施の形態では、ステップS52で読み出した値、すなわち抽出されているランダム2−1の値に従って左図柄を決定する(ステップS57)。また、ランダム2−2の値に従って中図柄を決定する(ステップS58)。そして、ランダム2−3の値に従って右図柄を決定する(ステップS59)。ここで、決定された中図柄が左右図柄と一致した場合には、中図柄に対応した乱数の値に1加算した値に対応する図柄を中図柄の停止図柄として、大当り図柄と一致しないようにする。
さらに、CPU56は、左右図柄が同じになった場合には、すなわちリーチが成立することに決定された場合には、ステップS52で読み出した値、すなわち抽出されている変動パターン決定用乱数(ランダム4)の値にもとづいて図柄の変動パターンを決定する(ステップS60)。
なお、高確率状態である場合に、はずれ時の変動パターンとして変動時間が短縮されたものを使用するようにしてもよい。このようにすれば、時間あたりの変動回数を多くすることができ、遊技者に対して大当りとなる機会を多く与えることができるようになる。
以上のようにして、始動入賞にもとづく図柄変動の表示態様が大当りとするか、リーチ態様とするか、はずれとするか決定され、それぞれの停止図柄の組合せが決定される。
なお、図30に示された処理は、図28に示された特別図柄プロセス処理におけるステップS301〜S303の処理をまとめて示した場合の処理に相当する。
次に、主基板31から図柄制御基板80に対する表示制御コマンドの送出について説明する。図32は、主基板31から図柄制御基板80に送信される表示制御コマンドの信号線を示す説明図である。図32に示すように、この実施の形態では、表示制御コマンドは、表示制御信号D0〜D7の8本の信号線で主基板31から図柄制御基板80に送信される。また、主基板31と図柄制御基板80との間には、ストローブ信号を送信するための表示制御INT信号の信号線も配線されている。
遊技制御手段から他の電気部品制御基板(サブ基板)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図33(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データが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
図33(B)は、INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(タイマ割込処理のステップS32)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、表示出制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(タイマ割込処理のステップS28)において、INTデータに「02(H)」を設定する。
INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
この実施の形態では、払出制御コマンドについて、図33(C)に示すように、リングバッファおよび送信バッファが用意されている。そして、賞球処理において、賞球払出条件が成立すると、成立した条件に応じた賞球個数が順次リングバッファに設定される。また、賞球個数に関する払出制御コマンド送出する際に、リングバッファから1個のデータが送信バッファに転送される。なお、図33(C)に示す例では、リングバッファには、12個分の払出制御コマンドに相当するデータが格納可能になっている。すなわち、12個のバッファがある。なお、リングバッファにおけるバッファの数は、賞球を発生させる入賞口の数に対応した数であればよい。同時入賞が発生した場合でも、それぞれの入賞にもとづく払出制御コマンドのデータの格納が可能だからである。
図34は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板へのコマンドとなる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図34に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。
図35は、図柄制御基板80に対する制御コマンドを構成する8ビットの制御信号とINT信号(ストローブ信号)との関係を示すタイミング図である。図35に示すように、MODEまたはEXTのデータが出力ポートに出力されてから、所定期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をオン状態にする。また、そこから所定期間が経過するとINT信号をオフ状態にする。
なお、ここでは、表示制御コマンドについて説明したが、他のサブ基板に送出される各制御コマンドも、図34および図35に示された形態と同一である。
図36は、表示制御基板80に送出される表示制御コマンドの内容の一例を示す説明図である。図36に示す例において、コマンド8000(H)〜80XX(H)(X=4ビットの任意の値)は、特別図柄を可変表示する可変表示装置9における特別図柄の変動パターンを指定する表示制御コマンドである。なお、変動パターンを指定するコマンドは変動開始指示も兼ねている。
コマンド8F00(H)および8F01(H)は、電源投入時に送出される特別図柄電源投入時指定コマンド(初期表示態様コマンドの一例)および普通図柄電源投入時指定コマンド(初期表示態様コマンドの一例)である。初期表示態様コマンドは、電源供給開始時に可変表示装置9に表示させる識別情報の態様(初期表示態様)を指示するとともに、その初期表示態様の表示を指示するためのコマンドである。具体的には、初期表示態様コマンドは、例えば、初期表示態様を示すデータはキャラクタROM86の所定の領域に保存されていること、およびキャラクタROM86の所定の領域から初期表示態様を示すデータを読み出して可変表示装置9に表示させることを指示するコマンドである。なお、初期表示態様コマンドは、例えば、初期表示態様は「7」、「8」、「9」の特別図柄であること、およびその初期表示態様を可変表示装置9に表示させることを指示するコマンドであるとされていてもよい。なお、普通図柄電源投入時指定コマンドは、表示制御手段が普通図柄変動制御を行う場合に用いられ、普通図柄表示器10がランプ制御手段で制御される場合には、表示制御基板80には送出されない。表示制御手段は、特別図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。
コマンド91XX(H)、92XX(H)および93XX(H)は、特別図柄の左中右の停止図柄を指定する表示制御コマンドである。また、コマンドA000(H)は、特別図柄の可変表示の停止を指示する表示制御コマンド(確定コマンド)である。
コマンドBXXX(H)は、大当り遊技開始から大当り遊技終了までの間に送出される表示制御コマンドである。コマンドB1XX(H)は、大当り遊技中における大入賞口の開放回数(ラウンド数)の表示を指定するための表示制御コマンドである。コマンドB200(H)は、大当り遊技が開始されるときに、大当り遊技の開始を示す表示を指定するための表示制御コマンドである。コマンドB2XX(H)(XX=01以上)は、大当り遊技中における、大入賞口の開放前の表示(例えば、これから実行されるラウンドが何ラウンド目であるかを報知する表示)を指定するための表示制御コマンドである。また、コマンドB3XX(H)は、図示はしないが、大当り遊技中の各ラウンド遊技でのカウントスイッチ23によるカウント数の表示を指定するための表示制御コマンド(カウント表示コマンド)である。コマンドB400(H)は、大当り遊技中において、所定のタイミングで所定の回数(例えば各ラウンド間に大当り図柄が表示されるようなタイミングで、ラウンド数−1回)送出されるコマンドであり、大当り図柄の表示を指定する表示制御コマンド(大当り図柄表示コマンド)である。コマンドB500(H)は、非特定大当り(非確変大当り)が終了したことを示す表示を指定するための表示制御コマンドである。コマンドB501(H)は、特定大当り(確変大当り)が終了したことを示す表示を指定するための表示制御コマンドである。コマンドB6XX(H)は、図示はしないが、特別図柄復旧表示を指定するための表示制御コマンド(特別図柄復旧指定コマンド)である。コマンドB7XX(H)は、図示はしないが、普通図柄復旧表示を指定するための表示制御コマンド(普通図柄復旧指定コマンド)である。また、コマンドCXXX(H)は、特別図柄の変動および大当り遊技に関わらない可変表示装置9の表示状態に関する表示制御コマンドである。そして、コマンドD000(H)〜D400(H)は、普通図柄の変動パターンに関する表示制御コマンドである。
図柄制御基板80の表示制御手段は、主基板31の遊技制御手段から上述した表示制御コマンドを受信すると図36に示された内容に応じて可変表示装置9および普通図柄表示器10の表示状態を変更する。
図37は、遊技の制御を行う主基板31からランプ制御基板35に送出されるランプ制御コマンドの内容の一例を示す説明図である。ランプ制御コマンドもMODEとEXTの2バイト構成である。図37に示す例において、コマンド80XX(X=4ビットの任意の値)は、可変表示装置9における特別図柄の変動パターンに対応したランプ・LED表示制御パターンを指定するランプ制御コマンドである。また、図示はしないが、コマンドA0XX(H)は、特別図柄の可変表示の停止時のランプ・LED表示制御パターンを指示するランプ制御コマンドであり、コマンドBXXX(H)は、大当り遊技開始から大当り遊技終了までの間のランプ・LED表示制御パターンを指示するランプ制御コマンドである。そして、コマンド9001(H)は、客待ちデモンストレーション時のランプ・LED表示制御パターンを指示するランプ制御コマンドである。
なお、コマンド8XXX(H)、9XXX(H),AXXX(H)、BXXX(H)およびCXXX(H)は、遊技進行状況に応じて遊技制御手段から送出されるランプ制御コマンドである。ランプ制御手段は、主基板31の遊技制御手段から上述したランプ制御コマンドを受信すると図37に示された内容に応じてランプ・LEDの表示状態を変更する。なお、コマンド8XXX(H)、9XXX(H),AXXX(H)、BXXX(H)およびCXXX(H)は、表示制御コマンドや音声制御コマンドと例えば共通の制御状態において共通に用いられる。
コマンドE1XX(H)は、始動記憶表示器18の点灯個数を示すランプ制御コマンドである。例えば、ランプ制御手段は、始動記憶表示器18における「XX(H)」で指定される個数の表示器を点灯状態とする。また、コマンドE0XX(H)は、普通図柄始動記憶表示器41の点灯個数を示すランプ制御コマンドである。例えば、ランプ制御手段は、普通図柄始動記憶表示器41における「XX(H)」で指定される個数の表示器を点灯状態とする。すなわち、それらのコマンドは、保留個数という情報を報知するために設けられている発光体の制御を指示するコマンドである。なお、始動記憶表示器18および普通図柄始動記憶表示器41の点灯個数に関するコマンドが点灯個数の増減を示すように構成されていてもよい。
コマンドE200(H)およびE201(H)は、賞球ランプ51の表示状態に関するランプ制御コマンドであり、コマンドE300(H)およびE301(H)は、球切れランプ52の表示状態に関するランプ制御コマンドである。ランプ制御手段は、主基板31の遊技制御手段から「E201(H)」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がある場合としてあらかじめ定められた表示状態とし、「E200(H)」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がない場合としてあらかじめ定められた表示状態とする。また、主基板31の遊技制御手段から「E300(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「E301(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドE200およびE201(H)は、未賞球の遊技球があることを遊技者等に報知するために設けられている発光体を制御することを示すコマンドであり、コマンドE300(H)およびE301(H)は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
図38は、コマンドセット処理の処理例を示すフローチャートである。コマンドセット処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンドセット処理において、CPU56は、まず、コマンド送信テーブルのアドレスをスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
そこで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
図39は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、払出制御信号を出力するためのポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは、払出制御信号を出力するための出力ポートのアドレスである。また、ポート2〜4のアドレスが、表示制御信号、ランプ制御信号、音声制御信号を出力するための出力ポートのアドレスである。
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、払出制御コマンドを送出すべきことが指定されているときには、最初のシフト処理でキャリービットが1になる。
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。最初のシフト処理が行われたときにはIOアドレスにポート1のアドレスが設定されているので、そのときに、払出制御コマンドのMODEデータがポート1に出力される。
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート1を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート2のアドレスが設定される。ポート2は、表示制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされる制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したIOアドレスが設定されている。
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各電気部品制御手段に対する制御コマンドの送出処理を行うことができる。
また、このように、シフト処理のみによってどの電気部品制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの電気部品制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したINT信号がハイレベルになる。
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。この処理は、図20のタイミング図に示されたINT信号(制御信号INT)のオン期間を設定するための処理である。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はローレベルになる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。この処理は、図35のタイミング図に示された1つ目のINT信号の立ち下がりからEXTデータ出力開始までの期間を設定するための処理である。ただし、ここで設定される実際の期間は、ステップS367〜S369で作成される時間に、その後の処理時間(この時点でMODEデータが出力されている場合にはEXTデータを出力するまでに要する制御にかかる時間)が加算された期間となる。このように、INT信号の立ち下がりからEXTデータ出力開始までの期間が設定されることによって、連続してコマンドが送出される場合であっても、一のコマンドの出力完了後、次にコマンドの送出が開始されるまでに所定期間がおかれることになり、コマンドを受信する電気部品制御手段の側で、容易に連続するコマンドの区切りを識別することができ、各コマンドは確実に受信される。
従って、ステップS367でウェイトカウンタに設定される値は、1つ目のINT信号の立ち下がりからEXTデータ出力開始までの期間が、制御コマンド受信対象となる全ての電気部品制御手段(サブ基板に搭載されているCPU等)が確実にコマンド受信処理を行うのに十分な期間になるような値である。また、ウェイトカウンタに設定される値は、その期間が、ステップS351〜S359の処理に要する時間よりも長くなるような値である。
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図38に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、送信バッファの内容を引数2にロードする(ステップS341)。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する。そして、そのアドレスが指すエリアのデータを引数2にロードする。
送信バッファには賞球個数を特定可能なデータが設定されているので、引数2にそのデータが設定される。なお、ワークエリア参照ビットの値が「1」であるときに拡張データを使用するように構成されている場合には、コマンド拡張データアドレステーブルには、電気部品制御手段に送出されうるEXTデータが順次設定される。よって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされる。
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)が、対応する電気部品制御手段に送信される。電気部品制御手段ではINT信号の立ち上がりを検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの電気部品制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、各電気部品制御手段において、確実なコマンド受信処理が行われる。なお、各電気部品制御手段は、INT信号の立ち下がりで制御コマンドの取り込み処理を開始してもよい。また、INT信号の極性を図20に示された場合と逆にしてもよい。
また、この実施の形態では、賞球処理において、賞球払出条件が成立すると賞球個数を特定可能なデータが、同時に複数のデータを格納可能なリングバッファに格納され、賞球個数を指定する払出制御コマンドを送出する際に、読出ポインタが指しているリングバッファの領域のデータが送信バッファに転送される。従って、同時に複数の賞球払出条件の成立があっても、それらの条件成立にもとづく賞球個数を特定可能なデータがリングバッファに保存されるので、各条件成立にもとづくコマンド出力処理は問題なく実行される。
さらに、この実施の形態では、1回の賞球処理内で払出停止状態指定コマンドまたは払出可能状態指定コマンドと賞球個数を示すコマンドとの双方を送出することができる。すなわち、2ms毎に起動される1回の制御期間内において、複数のコマンドを送出することができる。また、この実施の形態では、各制御手段への制御コマンド(表示制御コマンド、ランプ制御コマンド、音制御コマンド、払出制御コマンド)毎に、それぞれ複数のリングバッファが用意されているので、例えば、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドのリングバッファに制御コマンドを特定可能なデータが設定されている場合には、1回のコマンド制御処理で複数の表示制御コマンド、ランプ制御コマンドおよび音制御コマンドを送出するように構成することも可能である。すなわち、同時に(遊技制御処理すなわち2msタイマ割込処理の起動周期での意味)、複数の制御コマンドを送出することができる。遊技演出の進行上、それらの制御コマンドの送出タイミングは同時に発生するので、このように構成されているのは便利である。ただし、払出制御コマンドは、遊技演出の進行とは無関係に発生するので、一般には、表示制御コマンド、ランプ制御コマンドおよび音制御コマンドと同時に送出されることはない。
次に、遊技制御手段以外の電気部品制御手段の例として、表示制御手段について説明する。
図40は、表示制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また表示制御の起動間隔を決めるための33msタイマの初期設定等を行うための初期化処理が行われる(ステップS701)。その後、この実施の形態では、表示制御用CPU101は、タイマ割込フラグの監視(ステップS702)の確認を行うループ処理に移行する。なお、ループ内では所定の乱数を発生するためのカウンタを更新する処理も行われる(ステップS710)。そして、図41に示すように、タイマ割込が発生すると、表示制御用CPU101は、タイマ割込フラグをセットする(ステップS711)。メイン処理において、タイマ割込フラグがセットされていたら、表示制御用CPU101は、そのフラグをクリアし(ステップS703)、以下の可変表示制御処理を実行する。
なお、この実施の形態では、タイマ割込は33ms毎にかかるとする。すなわち、可変表示制御処理は、33ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な可変表示制御処理はメイン処理において実行されるが、タイマ割込処理で可変表示制御処理を実行してもよい。
可変表示制御処理において、表示制御用CPU101は、まず、受信した表示制御コマンドを解析する(コマンド解析実行処理:ステップS705)。次いで表示制御用CPU101は、表示制御プロセス処理を行う(ステップS708)。表示制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。その後、ステップS710に戻る。なお、表示制御プロセス処理には、特別図柄プロセス処理と、普通図柄プロセス処理とを含む。特別図柄プロセス処理と、普通図柄プロセス処理とは、それぞれ別個のプロセスフラグに従ってプロセスが選択され、処理がそれぞれ独立して行なわれる。
次に、主基板31からの表示制御コマンド受信処理について説明する。図42は、主基板31から受信した表示制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の表示制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。音声制御手段や、ランプ制御手段においても同様に、リングバッファ形式でないバッファ形式としてもよい。この場合、表示制御手段、音声制御手段、ランプ制御手段は、変動パターンなどの格納領域に格納される最新のコマンドにもとづき制御される。これにより、主基板31からの指示に迅速に対応することができる。
図43は、割込処理による表示制御コマンド受信処理を示すフローチャートである。主基板31からの表示制御用のINT信号は表示制御用CPU101の割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、表示制御用CPU101において割込がかかる。そして、図43に示す表示制御コマンドの受信処理が開始される。
表示制御コマンドの受信処理において、表示制御用CPU101は、まず、各レジスタをスタックに退避する(ステップS670)。なお、割込が発生すると表示制御用CPU101は自動的に割込禁止状態に設定するが、自動的に割込禁止状態にならないCPUを用いている場合には、ステップS670の処理の実行前に割込禁止命令(DI命令)を発行することが好ましい。次いで、表示制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS671)。そして、2バイト構成の表示制御コマンドのうちの1バイト目であるか否か確認する(ステップS672)。
1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である表示制御コマンドのうちのMODEデータ(1バイト目)のはずである(図34参照)。そこで、表示制御用CPU101は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す受信コマンドバッファに格納する(ステップS673)。
表示制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS674)。既に受信したか否かは、受信バッファ(受信コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す受信コマンドバッファに格納する(ステップS675)。先頭ビットが「0」であるのは、2バイト構成である表示制御コマンドのうちのEXTデータ(2バイト目)のはずである(図34参照)。なお、ステップS674における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
ステップS675において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS676)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS677)、12以上であればコマンド受信個数カウンタをクリアする(ステップS678)。その後、退避されていたレジスタを復帰し(ステップS679)、割込許可に設定する(ステップS680)。
表示制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。なお、このことは、払出制御コマンド、ランプ制御コマンドおよび音声制御コマンドについても同様である。
図44は、コマンド解析処理(ステップS705)の具体例を示すフローチャートである。主基板31から受信された表示制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、受信コマンドバッファに格納されているコマンドの内容が確認される。
コマンド解析処理において、表示制御用CPU101は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS681)。格納されているか否かは、コマンド受信カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、表示制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS682)。なお、読み出したら読出ポインタの値を+1しておく。
読み出した受信コマンドが左図柄指定コマンドであれば(ステップS683)、そのコマンドのEXTデータを今回格納エリアの左停止図柄格納エリア(左図柄バッファ)に格納し(ステップS684)、対応する有効フラグをセットする(ステップS685)。なお、左図柄指定コマンドであるか否かは、2バイトの表示制御コマンドのうちの1バイト目(MODEデータ)によって直ちに認識できる。
読み出した受信コマンドが中図柄指定コマンドであれば(ステップS686)、そのコマンドのEXTデータを今回格納エリアの中停止図柄格納エリア(中図柄バッファ)に格納し(ステップS687)、対応する有効フラグをセットする(ステップS688)。読み出した受信コマンドが右図柄指定コマンドであれば(ステップS689)、そのコマンドのEXTデータを今回格納エリアの右停止図柄格納エリア(右図柄バッファ)に格納し(ステップS690)、対応する有効フラグをセットする(ステップS691)。なお、左中右停止図柄格納エリア(左中右図柄バッファ)は、表示制御基板80が備える例えばRAMに設けられている。
読み出した受信コマンドが変動パターンコマンドであれば(ステップS692)、表示制御用CPU101は、そのコマンドのEXTデータを変動パターン格納エリアに格納し(ステップS693)、変動パターン受信フラグをセットする(ステップS694)。なお、変動パターン格納エリアは、表示制御基板80が備える例えばRAMに設けられている。
読み出した受信コマンドがその他の表示制御コマンドである場合には、受信コマンドに対応するフラグをセットする(ステップS695)。
図45は、変動パターンコマンドのEXTデータと変動内容(変動パターンテーブル)の関係を示す説明図である。図45に示すように、変動パターンコマンドのEXTデータと変動内容とが対応付けられているため、変動パターンコマンドのEXTデータにもとづいて一の変動内容が特定される。
図46は、変動パターンテーブルの内容の例を示す説明図である。変動パターンテーブルは、表示制御基板80が有するROMに設定されている。図46に示すように、各変動パターンテーブルは、変動パターンコマンドのEXTデータに対応して設けらている。また、各変動パターンテーブルは、複数の変動ブロックによって構成され、各変動状態(変動速度やその速度での変動期間等)が設定されている。
図47は、図40に示されたメイン処理における表示制御プロセス処理(ステップS708)を示すフローチャートである。表示制御プロセス処理では、表示制御プロセスフラグの値に応じてステップS800〜S805のうちのいずれかの処理が行われる。各処理において、以下のような処理が実行される。
表示制御コマンド受信待ち処理(ステップS800):コマンド受信割込処理によって、変動時間を特定可能な表示制御コマンド(変動パターンコマンド)を受信したか否か確認する。具体的には、変動パターンコマンドが受信されたことを示すフラグがセットされたか否か確認する。そのようなフラグは、受信コマンドバッファに格納された受信コマンドが、変動パターンコマンドである場合にセットされる。この例では、電源供給が開始されたあとの初期設定にて、表示制御プロセスフラグの値が表示制御コマンド受信待ち処理に対応した値に設定される。従って、可変表示装置9の表示状態を復旧させるための表示制御もステップS800の処理に含まれる。
変動パターンテーブル設定処理(ステップS801):受信した変動パターンコマンドに応じた変動パターンテーブルをセットする処理を行う。
全図柄変動開始処理(ステップS802):左中右図柄の変動が開始されるように制御する。
図柄変動中処理(ステップS803):変動パターンを構成する各変動状態(変動速度や背景、キャラクタ)の切替タイミングを制御するとともに、変動時間の終了を監視する。また、左右図柄の停止制御を行う。
全図柄停止待ち設定処理(ステップS804):変動時間の終了時に、全図柄停止を指示する表示制御コマンド(確定コマンド)を受信していたら、図柄の変動を停止し停止図柄(確定図柄)を表示する制御を行う。
大当り表示処理(ステップS805):変動時間の終了後、確変大当り表示または通常大当り表示の制御を行う。
図48および図49は、表示制御コマンド受信待ち処理(ステップS800)を示すフローチャートである。表示制御コマンド受信待ち処理において、表示制御用CPU101は、まず、特別図柄電源投入時指定コマンドを受信したか否か確認する(ステップS811)。特別図柄電源投入時指定コマンドを受信していれば、表示制御基板80が備えるROMに格納されている初期画面データを読み出して左中右図柄バッファに記憶させたあと、その左中右図柄バッファに記憶されている識別情報を示すデータにもとづいて可変表示装置9に初期画面を表示させる(ステップS812)。従って、可変表示装置9に初期画面が表示される前に、主基板31の左中右図柄バッファの記憶内容と、表示制御基板80における左中右図柄バッファの記憶内容とが共通の内容とされることになる。初期画面には、この例では、予め定められた組み合わせの特別図柄が表示される。なお、特別図柄電源投入時指定コマンドは、上述した初期化時コマンド送信テーブル(図11参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したときに制御状態を初期化する場合に送信される表示制御コマンドである。
なお、上述したステップS811や、後述するステップS813、ステップS815、ステップS816、ステップS819、ステップS821、ステップS824、およびステップS828における表示制御コマンドを受信したか否かの確認は、該当するコマンドが受信されたことを示すフラグの状態を確認することが行なわれる。例えば特別図柄電源投入時指定コマンドについて言えば、特別図柄電源投入時指定コマンドが受信されたことを示すフラグがセットされたか否かを確認することで行なわれる。そのようなフラグは、受信コマンドバッファに格納された受信コマンドが、特別図柄電源投入時指定コマンドである場合にセットされる。そして、フラグがセットされていることにもとづく処理が実行される前あるいは後に、そのフラグがリセットされる。
特別図柄電源投入時指定コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、特別図柄確定コマンドを受信したか否か確認する(ステップS813)。特別図柄確定コマンドを受信していれば、電力供給が開始されたあとに受信した図柄指定コマンドに応じて格納されている左中右図柄バッファの格納データを読み出して、可変表示装置9に特別図柄を表示させる(ステップS814)。なお、ここで受信が確認される特別図柄確定コマンドは、上述した待機時バックアップコマンド送信テーブル(図15参照)、大入賞口開放前バックアップコマンド送信テーブル(図17参照)、大入賞口開放中バックアップコマンド送信テーブル(図18参照)、または大当り終了時バックアップコマンド送信テーブル(図19参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。
特別図柄確定コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、客待ちデモ表示指定コマンドを受信したか否か確認する(ステップS815)。客待ちデモ表示指定コマンドを受信していれば、後述するステップS827の処理を行う。なお、客待ちデモ表示指定コマンドは、上述した待機時バックアップコマンド送信テーブル(図15参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。
客待ちデモ表示指定コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、特別図柄停電復旧表示コマンドを受信したか否か確認する(ステップS816)。特別図柄停電復旧表示コマンドを受信していれば、表示制御基板80が備えるROMに格納されているデータにもとづいて、可変表示装置9に特別図柄停電復旧表示画面を表示させる(ステップS817)。なお、特別図柄停電復旧表示コマンドは、上述した変動時バックアップコマンド送信テーブル(図16参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。特別図柄停電復旧表示画面を表示させると、表示制御プロセスフラグの値を図柄変動中処理(ステップS803)に対応した値に変更する(ステップS818)。
特別図柄停電復旧表示コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、大入賞口開放前表示コマンドを受信したか否か確認する(ステップS819)。大入賞口開放前表示コマンドを受信していれば、表示制御基板80が備えるROMに格納されているデータにもとづいて、可変表示装置9に大入賞口開放前表示画面を表示させる(ステップS820)。なお、大入賞口開放前表示コマンドは、上述した大入賞口開放前バックアップコマンド送信テーブル(図17参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。大入賞口開放前表示画面を表示させると、表示制御プロセスフラグの値を大当り表示処理(ステップS805)に対応した値に変更する(ステップS823)。
大入賞口開放前表示コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、大入賞口開放時表示コマンドを受信したか否か確認する(ステップS821)。大入賞口開放時表示コマンドを受信していれば、表示制御基板80が備えるROMに格納されているデータにもとづいて、可変表示装置9に大入賞口開放時表示画面を表示させる(ステップS822)。なお、大入賞口開放時表示コマンドは、上述した大入賞口開放中バックアップコマンド送信テーブル(図18参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。大入賞口開放時表示画面を表示させると、表示制御プロセスフラグの値を大当り表示処理(ステップS805)に対応した値に変更する(ステップS823)。
大入賞口開放時表示コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、大当り終了コマンドを受信したか否か確認する(ステップS824)。大当り終了コマンドを受信していれば、表示制御基板80が備えるROMに格納されているデータにもとづいて、可変表示装置9に大当り終了表示画面を表示させる(ステップS825)。なお、大当り終了コマンドは、上述した大当り終了時バックアップコマンド送信テーブル(図19参照)に設定されて送信される表示制御コマンドであり、電力供給が開始したあとに制御状態を復旧させる場合に送信される表示制御コマンドである。
大当り終了コマンドの受信を示すフラグがセットされていなければ、表示制御用CPU101は、コマンド無受信タイマがタイムアウトしたか否か確認する(ステップS826)。コマンド無受信タイマは、所定期間以上主基板31から図柄の変動を示す表示制御コマンドを受信しなかったときにタイムアウトとする。タイムアウトした場合には、表示制御用CPU101は、可変表示装置9にデモンストレーション画面を表示する制御を行う(ステップS827)。なお、主基板31が、図柄の変動を示す表示制御コマンドを送信していない期間を計測し、計測期間が所定期間以上となった場合に、デモンストレーション画面の表示を指示する表示制御コマンドを送信するようにしてもよい。このように構成すれば、可変表示装置9でのデモンストレーション表示の際に、遊技演出装置29等による演出を行うことができるようになる。また、主基板31が、デモンストレーション演出を行うことを指示するコマンドをランプ制御基板35や音制御基板70にも送信するようにすれば、発光体や音声によるデモンストレーション演出を行うことも可能となる。
コマンド無受信タイマがタイムアウトしていなければ、表示制御用CPU101は、変動パターンを特定可能な表示制御コマンドを受信したか否か確認する(ステップS828)。この実施の形態では、変動パターンを特定可能な表示制御コマンドは、図36に示された変動パターン指定コマンド(変動パターン指定#1〜変動パターン指定XX−1)のいずれかである。変動パターンを特定可能な表示制御コマンドを受信した場合には、表示制御プロセスフラグの値を変動パターンテーブル設定処理(ステップS801)に対応した値に変更する(ステップS829)。
特別図柄を変動させるときに、主基板31から表示制御基板80に最初に送信される表示制御コマンドは、変動パターンを示すコマンドと左中右図柄の停止図柄を指定するコマンドである。それらは、確定コマンドバッファに格納されている。
図50は、変動パターンテーブル設定処理(ステップS801)を示すフローチャートである。変動パターンテーブル設定処理において、表示制御用CPU101は、受信した変動パターンコマンドのEXTデータの値にもとづいて、変動パターンテーブルを特定し、その変動パターンテーブルを使用する変動パターンテーブルとして設定する(ステップS831)。そして、表示制御用CPU101は、表示制御プロセスフラグの値を全図柄変動開始処理(ステップS802)に対応した値に変更する(ステップS832)。
ここで、変動パターンコマンドおよび左中右図柄の停止図柄を指定するコマンドの送出形態について説明する。変動パターンコマンドおよび左中右図柄の停止図柄を指定するコマンドは、上述した表示制御コマンド制御処理において送信される。これらのコマンドが送出される際には、例えば図51に示すように、CPU56によって、コマンド送信個数カウンタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2が設定される。まず、上記3つのデータによって構成される1つ目のコマンドデータ(コマンド送信テーブル+0に設定されている変動パターンを指定するためのコマンドデータ)が送信される。次いで、次の2msの間(この実施の形態では、CPU56の内蔵CTCが繰り返しタイマ割込を発生する繰り返し周期が2msに設定されるため)に実行される表示制御コマンド制御処理において、次のコマンドデータ(コマンド送信テーブル+1に設定されている特別図柄左停止図柄を指定するためのコマンドデータ)が送信される。そして、このような処理が繰返されて、特別図柄コマンド送信ポインタが終了コードを指し示すと、特別図柄コマンド送信ポインタにて有効にコマンド送信テーブルが指定されるまでコマンドデータが送信されない状態となる。このようにして送信されたコマンドデータは、上述したコマンド受信処理によって受信され、受信コマンドバッファに格納される。なお、図51に示すコマンドを示す各値は一例であり、特別図柄左中右図柄を示す81(H)、82(H)、83(H)は、それぞれ、例えば「1」、「2」、「3」を可変表示装置9に表示させるためのコマンドである。
図52は、表示制御プロセス処理における全図柄変動開始処理(ステップS802)を示すフローチャートである。全図柄変動開始処理において、表示制御用CPU101は、まず、変動時間タイマをスタートする(ステップS840)。次いで、特別図柄の変動を開始し(ステップS841)、表示制御プロセスフラグの値を図柄変動中処理に対応した値にする(ステップS842)。
図53は、図柄変動中処理(ステップS803)を示すフローチャートである。図柄変動中処理において、表示制御用CPU101は、ステップS821で設定した変動パターンテーブルに示された内容に従って可変表示装置9に変動表示を行う(ステップS851)。具体的には、表示制御用CPU101は、設定されている変動パターンテーブルに従って、可変表示装置9における表示が行われるようにVDP103を制御する。
次いで、表示制御用CPU101は、変動時間タイマがタイムアウトしたか否か確認する(ステップS852)。変動時間タイマがタイムアウトした場合には、表示制御プロセスフラグの値を全図柄停止待ち処理(ステップS804)に対応した値に変更する(ステップS853)。
図54は、全図柄停止待ち処理(ステップS804)を示すフローチャートである。全図柄停止待ち処理において、表示制御用CPU101は、全図柄停止を指示する表示制御コマンドを受信しているか否か確認する(ステップS871)。全図柄停止を指示する表示制御コマンドを受信していれば、記憶されている停止図柄で図柄を停止させる制御を行う(ステップS872)。そして、次の表示制御コマンドの受信までの時間を監視するために、コマンド無受信タイマをスタートさせる(ステップS873)。
全図柄停止を指定する表示制御コマンドを受信していない場合には、監視タイマがタイムアウトしているかどうか確認する(ステップS875)。タイムアウトした場合には、何らかの異常が発生したと判断して、可変表示装置9にエラー画面を表示する制御を行う(ステップS876)。
ステップS873の処理を行ったら、ステップS872にて大当り図柄を表示した場合には、表示制御用CPU101は、表示制御プロセスフラグの値を大当り表示処理(ステップS805)に対応した値に設定する(ステップS874)。なお、ステップS872にて大当り図柄を表示しない場合(はずれ図柄を表示した場合)には、表示制御用CPU101は、表示制御プロセスフラグの値を表示制御コマンド受信待ち処理(ステップS800)に対応した値に設定する。
図55は、大当り表示処理(ステップS805)を示すフローチャートである。大当り表示処理において、表示制御用CPU101は、確変大当りか否か判定する(ステップS881)。表示制御用CPU101は、例えば、確定図柄にもとづいて確変大当りか否かを判定することができる。確変大当りであれば、表示制御用CPU101は、例えば、「確変大当り」を可変表示装置9に表示させる表示制御を行う(ステップS882)。具体的には、「確変大当り」の表示指示をVDP103に通知する。すると、VDP103は、指示された表示の画像データを作成する。また、画像データを背景画像と合成する。確変大当りでなければ、表示制御用CPU101は、例えば、「大当り」を可変表示装置9に表示させる表示制御を行う(ステップS883)。
その後、大当り表示処理では、主基板31から送信される大当り遊技状態における表示制御コマンドにもとづいて可変表示装置9の表示制御を行う。例えば、ラウンド数の表示や、ラウンド遊技においてカウントスイッチ23で検出された遊技球数を示すカウント数の表示等が行われる。そして、主基板31から大当り遊技の終了を示す表示制御コマンドを受信すると(ステップS884)、表示制御プロセスフラグの値を表示制御コマンド受信待ち(ステップS800)に対応した値に設定する(ステップS885)。
上記のように、ここでは、表示制御プロセス処理(ステップS708)における特別図柄プロセス処理について説明し、普通図柄プロセス処理については説明しなかったが、普通図柄プロセス処理では、例えば特別図柄プロセス処理とは別個の表示制御プロセスフラグの値に応じて、上述した特別図柄プロセス処理と同様に処理が行われる。例えば、普通図柄の可変表示制御実行されていない表示制御コマンドの受信待ち処理において、普通図柄電源投入時指定コマンドを受信した場合には、表示制御用CPU101は、ROM54から初期画面データを読み出して、その初期画面データにもとづいて普通図柄表示器10に初期表示態様を表示する。このように、普通図柄プロセス処理では、特別図柄プロセス処理と同様にして普通図柄の表示制御が実行される。
なお、本例では、可変表示装置9の制御内容を指定する表示制御コマンドと、普通図柄表示器10の制御内容を指定する表示制御コマンドとを別個にしているが、同一の表示制御コマンドによって可変表示装置9および普通図柄表示器10の制御内容を指定するようにしてもよい。この場合、例えば、表示制御用CPU101は、普通図柄電源投入時指定コマンド(特別図柄電源投入時指定コマンドと普通図柄電源投入時指定コマンドの機能を有する表示制御コマンドの例)の受信に応じて、可変表示装置9および普通図柄表示器10に対して、それぞれ初期表示態様で特別図柄および普通図柄を表示する制御を行うようにすればよい。
次に表示制御手段以外の演出制御手段の動作について説明する。まず、演出制御手段の一例であるランプ制御基板35に搭載されたランプ制御用CPU351を含む発光体制御手段としてのランプ制御手段の動作を説明する。
図56は、ランプ制御用CPU351が実行するメイン処理を示すフローチャートである。ランプ制御用CPU351は、メイン処理において、まず、レジスタ、ワークエリアを含むRAMおよび出力ポート等を初期化する初期化処理を実行する(ステップS441)。次いで、主基板31からランプ制御コマンドを受信したか否かの確認を行う(ステップS442:コマンド確認処理)。また、受信したランプ制御コマンドの内容に応じて乱数を更新する処理を行う(ステップS443)。
次いで、受信したランプ制御コマンドに応じて、使用するランプデータを変更する等の処理であるコマンド実行処理を行う(ステップS444)。なお、主基板31からのランプ制御コマンドは、INT信号の入力に応じて起動される割込処理で取り込まれ、RAMに形成されている入力バッファに格納される。
その後、この実施の形態では、ランプ制御用CPU351は、タイマ割込フラグの監視(ステップS445)を行うループ処理に移行する。そして、図57に示すように、タイマ割込が発生すると、ランプ制御用CPU351は、タイマ割込フラグをセットする(ステップS449)。メイン処理において、タイマ割込フラグがセットされていたら、ランプ制御用CPU351は、そのフラグをクリアするとともに(ステップS446)、ランププロセス更新処理およびポート出力処理を行う(ステップS447,S448)。
この実施の形態では、遊技の進行に応じて点滅制御されるランプ・LEDの点灯パターンは、ROMに格納されているランプデータに応じて制御される。ランプデータは、制御パターンの種類毎に用意されている(図37に示された変動パターン指定の種類を示す制御コマンドおよび遊技進行状況に応じて遊技制御手段から送出されるその他の遊技演出に関する制御コマンド毎に用意されている)。ランプデータには、ランプ・LEDを点灯または消灯することを示すデータ、および点灯または消灯の期間(プロセスタイマ値)を示すデータが設定されている。すなわち、制御用データ領域には、発光体の点灯パターンを示すデータが格納されている。
ランププロセス更新処理では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、ランプデータにおける次のアドレスに設定されているデータに応じてランプ・LEDを消灯または点灯させることに決定されるとともに、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには点灯/消灯の切替がなされたときであるから、ポート出力処理において、ランプ・LEDを点灯または消灯のためのデータが該当する出力ポートに出力される。
また、この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、ランププロセス更新処理およびポート出力処理は、2ms毎に起動される。
ここで、ランプ制御基板35に搭載されたROMのアドレスマップについて説明する。ROM領域には制御用データ領域と制御プログラム領域とがある。制御用データ領域には、レジスタ、RAMおよび出力ポート等の初期化に際して用いられる初期化データテーブルや、始動記憶表示器18などの点灯/消灯制御に際して用いられる記憶表示LED表示テーブルや、後述するランプデータなどが格納されている。また、制御プログラム領域には、メイン処理プログラムや、初期化処理、コマンド認識処理、コマンド実行処理の各プログラムが格納され、また、特定ランプ・LED処理、ランププロセス更新処理、ポート出力処理、コマンド受信割込処理、タイマ割込処理のプログラムが格納されている。
図58は、制御用データ領域に格納されているランプデータの内容の一例を示す説明図である。この実施の形態では、ランプ・LEDの点灯のパターンを示すデータが制御用データ領域におけるランプデータに格納されている。ランプデータに格納されているランプ・LEDの点灯のパターンには、図58に示すようなランプ・LEDの点灯のパターンが、変動パターンコマンド(80XX(H))に対応して定められている。すなわち、この例では、ランプデータに格納されているランプ・LEDの点灯のパターンが、表示制御基板80において実行される表示の変動態様に同期してランプ・LEDの点灯がなされるように設定されている。そして、メイン処理におけるランププロセス更新処理(ステップS447)において、ランプデータを参照してランプ・LEDの点灯/消灯が制御される。従って、主基板31からの変動パターンコマンドに応じて選択されるランプ・LEDの点灯のパターンによって制御を行うと、表示制御基板80における表示と同期してランプ・LEDの点灯/消灯が制御されるようになる。
図59は、ランプ制御用CPU351が実行するコマンド実行処理の一例を示すフローチャートである。コマンド実行処理において、ランプ制御用CPU351は、始動入賞記憶数ランプ指定コマンドを受信したか否か確認する(ステップS444a)。始動入賞記憶数ランプ指定コマンドを受信していれば、始動記憶表示器18が備えるランプを、受信したコマンドによって指定された始動入賞記憶数に応じて点灯あるいは消灯させる(ステップS444b)。
例えば、上述した初期化時コマンド送信テーブル(図11参照)に従って送信された始動入賞記憶数ランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、始動記憶表示器18が備える全てのランプを消灯する制御を行う。また、例えば、上述したバックアップ時コマンド送信テーブル(図13参照)に従って送信された始動入賞記憶数ランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、受信した始動入賞記憶数ランプ指定コマンドの内容に応じて始動記憶表示器18が備えるランプを点灯/消灯する制御を行う。
次いで、ランプ制御用CPU351は、ゲート通過記憶数ランプ指定コマンドを受信したか否か確認する(ステップS444c)。ゲート通過記憶数ランプ指定コマンドを受信していれば、普通図柄始動記憶表示器41が備えるランプを、受信したコマンドによって指定されたゲート通過記憶数に応じて点灯あるいは消灯させる(ステップS444d)。
例えば、上述した初期化時コマンド送信テーブル(図11参照)に従って送信されたゲート通過記憶数ランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、普通図柄始動記憶表示器41が備える全てのランプを消灯する制御を行う。また、例えば、上述したバックアップ時コマンド送信テーブル(図13参照)に従って送信されたゲート通過記憶数ランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、受信したゲート通過記憶数ランプ指定コマンドの内容に応じて普通図柄始動記憶表示器41が備えるランプを点灯/消灯する制御を行う。
また、ランプ制御用CPU351は、賞球ランプコマンドを受信したか否か確認する(ステップS444e)。賞球ランプコマンドを受信していれば、受信したコマンドの内容に応じて賞球ランプ51を点灯あるいは消灯させる(ステップS444f)。この例では、ランプ制御用CPU351は、受信した賞球ランプコマンドが賞球残なしランプ指定コマンドであった場合には賞球ランプ51を消灯させ、受信した賞球ランプコマンドが賞球残ありランプ指定コマンドであった場合には賞球ランプ51を点灯させる。
例えば、上述した初期化時コマンド送信テーブル(図11参照)に従って送信された賞球残なしランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、賞球ランプ51を消灯する制御を行う。また、例えば、上述したバックアップ時コマンド送信テーブル(図13参照)に従って送信された賞球ランプコマンドを受信した場合には、ランプ制御用CPU351は、受信した賞球ランプコマンドの内容に応じて賞球ランプ51を点灯/消灯する制御を行う。
また、ランプ制御用CPU351は、球切れランプコマンドを受信したか否か確認する(ステップS444g)。球切れランプコマンドを受信していれば、受信したコマンドの内容に応じて球切れランプ52を点灯あるいは消灯させる(ステップS444h)。この例では、ランプ制御用CPU351は、受信した球切れランプコマンドが球あり中ランプ指定コマンドであった場合には球切れランプ52を消灯させ、受信した球切れランプコマンドが球なし中ランプ指定コマンドであった場合には球切れランプ52を点灯させる。
例えば、上述した初期化時コマンド送信テーブル(図11参照)に従って送信された球あり中ランプ指定コマンドを受信した場合には、ランプ制御用CPU351は、球切れランプ52を消灯する制御を行う。また、例えば、上述したバックアップ時コマンド送信テーブル(図13参照)に従って送信された球切れランプコマンドを受信した場合には、ランプ制御用CPU351は、受信した球切れランプコマンドの内容に応じて球切れランプ52を点灯/消灯する制御を行う。
さらに、ランプ制御用CPU351は、確率状態ランプコマンドを受信したか否か確認する(ステップS444h)。確率状態ランプコマンドを受信していれば、受信したコマンドの内容に応じて確変報知ランプを点灯あるいは消灯させる(ステップS444j)。この例では、ランプ制御用CPU351は、受信した確率状態ランプコマンドが低確率状態ランプ指定コマンドであった場合には確変報知ランプを消灯させ、受信した確率状態ランプコマンドが高確率状態ランプ指定コマンドであった場合には確変報知ランプを点灯させる。
例えば、上述した初期化時コマンド送信テーブル(図11参照)に従って送信された確率状態ランプコマンドを受信した場合には、ランプ制御用CPU351は、確変報知ランプを消灯する制御を行う。また、例えば、上述したバックアップ時コマンド送信テーブル(図13参照)に従って送信された確率状態ランプコマンドを受信した場合には、ランプ制御用CPU351は、受信した確率状態ランプコマンドの内容に応じて確変報知ランプを点灯/消灯する制御を行う。
以上説明したように、遊技制御手段(CPU56)が、電力供給の開始に関連して、表示制御手段(表示制御用CPU101)に対し、電力供給開始時における可変表示装置の表示態様を指示する起動時表示態様指定手段(CPU56)を含み、起動時表示態様指定手段が、変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧起動した場合には、変動データ記憶手段の記憶内容により特定される復旧制御状態に応じたコマンド(例えば、図13、図15〜図19、図21、図22に示された制御コマンド)を送信するとともに、変動データ記憶手段の記憶内容にもとづかず初期状態より制御を開始する初期起動した場合には、あらかじめ定められた電力供給開始時の可変表示装置における識別情報の表示態様である初期表示態様とその表示を指示する初期表示態様コマンド(例えば、特別図柄電源投入時画面表示コマンド)を単一のコマンド(「コマンドデータ1、およびコマンドデータ2による組み合わせで構成される1つのコマンド」を意味する)にて送信し、表示制御手段が、初期表示態様コマンドの受信に応じて、識別情報をあらかじめ定められた初期表示態様にて表示する制御を実行する構成としたので、簡単な制御によって電力供給開始時の初期表示動作を行うことが可能となり、電力供給開始時の初期表示動作の迅速化および安定化を図ることができるようになる。
また、上述したように、初期表示態様を示すデータが不揮発性の表示データ記憶手段(表示制御基板80に搭載されているROM86)に記憶され、初期表示態様コマンドの受信に応じて識別情報を初期表示態様にて表示する制御を実行する際に、不揮発性の表示データ記憶手段から読み出されて用いられる構成としたので、不揮発性の表示データ記憶手段に記憶されている予め定められたデータにもとづいて初期表示態様を表示することが可能となる。また、初期表示態様である左中右図柄を指定する必要がないので、初期表示態様コマンドのデータ量が大きくなってしまうことを防止することができ、遊技制御手段の制御負担を軽減させることができる。
また、上述したように、遊技制御手段が初期起動した場合には、制御の開始に関連して、不揮発性の表示データ記憶手段(ROM54)に記憶されている初期表示態様を示すデータを表示態様記憶領域(左中右図柄バッファ)に記憶させるように構成されているので、可変表示装置に表示される初期表示態様を遊技制御手段で把握しておくことができる。
また、上述したように、初期起動したあと、可変表示装置において最初の識別情報の可変表示が実行されるまでに電力供給が停止した場合には、復旧起動する場合において、起動時表示態様指定手段が、前回初期起動した際の制御の開始に関連して表示態様記憶領域に記憶した初期表示態様を示すデータにもとづいて、識別情報の表示態様を指定するコマンドを送信するように構成されているので、初期起動後に電力供給が停止しなければ本来表示されていた初期表示態様を可変表示装置に表示させることが可能となる。
また、上述したように、遊技制御手段が、所定期間の経過毎に発生するタイマ割込に応じて、表示制御手段に対し遊技の進行状態に応じたコマンドを送信し得る遊技制御処理を実行し、起動時表示態様指定手段により、電力供給開始時における可変表示装置の表示態様が指定されるまで(初期化時には図9に示すステップS13の処理、復旧時には図12に示すステップS86の処理を終えるまで)は、タイマ割込による遊技制御処理の実行を制限するように構成されているので、電力供給開始時における可変表示装置の表示態様が指定されるまでは表示制御に用いられるコマンドは送信されず、起動時のコマンドの送信処理を円滑に実行することができ、起動時の表示態様についての制御を確実に実行することができる。
なお、この例では、電源供給が開始されたときに割込禁止に設定され(図9に示したステップS1)、遊技状態復旧処理において割込許可状態に復旧する場合にはステップS94(図12参照)にて割込許可状態とされ、初期化処理が行なわれる場合にはタイマ割込の設定が行なわれたあとに実行されるループ処理(図9に示したステップS19)にて割込許可状態とされる。なお、初期化処理が行なわれる場合に、タイマ割込の設定を行ったあと(図9に示したステップS15のあと)に割込許可状態とするようにしてもよい。また、遊技状態復旧処理において割込許可状態に復旧しない場合には、遊技状態が復旧したあとの処理(例えば、図9に示したステップS19、図23に示したステップS35)で割込許可状態とされる。遊技状態復旧処理においてタイマ割込による遊技制御処理の実行中に復旧する場合であっても、遊技制御処理が再開される前に遊技状態復旧処理での図9に示した各処理は完了している。上記のように、本例では、少なくとも電力供給開始時における可変表示装置の表示態様が指定されるまで(初期化時には図9に示すステップS13の処理、復旧時には図12に示すステップS86の処理を終えるまで)は、割込禁止状態とされているため、タイマ割込による遊技制御処理の実行が制限される。
また、上述したように、起動時表示態様指定手段が、復旧時コマンド送信テーブル(図13、図15〜図19、図21、図22に示されたバックアップ時コマンド送信テーブル)に応じて、電力供給開始時における可変表示装置の表示態様を指定するためのコマンドを送信するように構成されているので、起動時の表示態様を指定するためのコマンドの送信に関わる制御負担が軽減される。
また、上述したように、復旧制御状態(遊技状態復旧処理において、バックアップRAMの記憶内容にもとづいて復旧される制御状態)が、可変表示装置における識別情報の可変表示の実行中であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、復旧される可変表示の表示結果である識別情報の態様を指定するとともに、制御状態の復旧を行うことを示す復旧画面の表示を指定する復旧表示コマンド(特別図柄停電復旧表示コマンド)を送信するように構成されているので、可変表示装置における識別情報の可変表示の実行中の制御状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図16参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
本例では、表示制御手段は、遊技制御手段からの変動パターンコマンドにもとづいて、可変表示を所定期間実行する構成とされている。遊技制御手段は、可変表示の実行中の可変表示装置9の表示態様を把握することができず、復旧制御状態が可変表示装置における識別情報の可変表示の実行中であった場合には、復旧する制御状態として可変表示中の表示態様を指定することはできないため、制御状態の復旧を行うことを示す復旧画面(例えば、「ただいま、制御状態を復旧しております。」などの復旧中であることを示す画面)の表示態様を指定する制御を行う。従って、本例では、復旧制御状態が可変表示装置における識別情報の可変表示の実行中であった場合には、表示制御手段は、電源供給開始時に、特別図柄停電復旧表示コマンドの受信に応じて復旧画面を所定期間(可変表示が実行される残存期間)可変表示装置9に表示したあと、受信した図柄指定コマンドにもとづいて確定図柄を表示させる制御を行う。
なお、表示制御手段が、可変表示を実行する際に、遊技制御手段からのコマンドの受信に応じて表示態様を変更し、コマンドを受信するまではその表示を維持する構成とされていてもよい。この場合、復旧制御状態が可変表示装置における識別情報の可変表示の実行中であった場合には、電源供給開始時に、電力供給が停止する前に送信したコマンドを遊技制御手段が再度送信する構成として、可変表示装置9の表示態様を電力供給が停止したときの表示態様に復旧させる制御を行うようにすればよい。
また、上述したように、復旧制御状態が、可変表示装置における識別情報の可変表示の実行の待機状態であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、前回の可変表示の表示結果である識別情報の態様を指定するとともに、待機状態であることを示す待機状態の表示を指定する待機画面表示コマンド(客待ち出も表示指定コマンド)を送信するように構成されているので、可変表示装置における識別情報の可変表示の実行の待機状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図15参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
また、上述したように、復旧制御状態が、特定遊技状態に関する遊技状態であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、当該特定遊技状態発生の条件となった可変表示の表示結果である識別情報の態様を指定するとともに、特定遊技状態の進行状態に応じた遊技状態を示す指定を行う(例えば、大入賞口開放前表示コマンド、大入賞口開放時表示コマンド、大当り終了コマンドを送信することで指定を行う)ように構成されているので、特定遊技状態に関する遊技状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図17〜図19参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
また、上述したように、復旧制御状態が、特定遊技状態におけるラウンド遊技中(大当り遊技状態におけるラウンド遊技の実行中)であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、当該特定遊技状態発生の条件となった可変表示の表示結果である識別情報の態様を指定するとともに、ラウンド中画面の表示を指定するコマンド(大入賞口開放時表示コマンド)を送信するように構成されているので、特定遊技状態におけるラウンド遊技中の遊技状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図18参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
なお、復旧制御状態が特定遊技状態におけるラウンド遊技中であった場合には、電力供給開始時に、遊技制御手段がV入賞(V入賞スイッチ22による遊技球の検出)があったか否かを示すコマンドを送信する構成とし、復旧した可変表示装置9の表示画面にV入賞の有無(ラウンド継続権が得られたか否か)を表示する構成としてもよい。
また、上述したように、復旧制御状態が、特定遊技状態におけるラウンドインターバル中であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、当該特定遊技状態発生の条件となった可変表示の表示結果である識別情報の態様を指定するとともに、ラウンドインターバル画面の表示を指定するコマンド(大入賞口開放前表示コマンド)を送信するように構成されているので、特定遊技状態におけるラウンドインターバル中の遊技状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図17参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
また、上述したように、復旧制御状態が、特定遊技状態の終了時であった場合には、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)により、当該特定遊技状態発生の条件となった可変表示の表示結果である識別情報の態様を指定するとともに、特定遊技状態の終了を示す画面の表示を指定するコマンド(大当り終了コマンド)を送信するように構成されているので、特定遊技状態の終了時の遊技状態に復旧させる場合に、復旧時の可変表示装置の表示態様を指定することができる。また、これらのコマンドは復旧時コマンド送信テーブル(図19参照)に応じて送信される構成とされており、送信する制御信号が復旧させる制御状態に応じて予め定められているので、制御状態を復旧させるための制御信号の送信に関わる制御負担が軽減される。
また、上述したように、復旧制御状態がいかなる制御状態であっても、識別情報の表示態様を指定する識別情報態様指定コマンド(図柄指定コマンド)を送信するように構成されているので、可変表示装置に表示させる表示態様を遊技制御手段と表示制御手段とで常に同期させておくことができる。
また、上述したように、電力供給が開始された場合に初期化処理を行う場合には、初期化時コマンド送信テーブルに従って、ランプやLEDなどで構成される発光体により制御状態を報知する報知用電気部品(例えば、始動記憶表示器18、普通図柄始動記憶表示器41、賞球ランプ51、球切れランプ52など)の状態を初期化するための初期化コマンド(起動時報知態様コマンド:図11参照)を送信する構成としたので、簡単な制御によって電力供給開始時の報知用電気部品の初期化を行うことが可能となるとともに、遊技機の状態を誤って報知してしまうことを防止することができる。従って、電力供給開始時の初期動作の迅速化および安定化を図ることができるようになる。
また、上述したように、電力供給が開始されたあとに状態復旧処理を行う場合には、バックアップ時コマンド送信テーブルに従って、ランプやLEDなどで構成される発光体により制御状態を報知する報知用電気部品(例えば、始動記憶表示器18、普通図柄始動記憶表示器41、賞球ランプ51、球切れランプ52など)の状態を復旧させるための復旧コマンド(起動時報知態様コマンド:図13参照)を送信する構成としたので、簡単な制御によって電力供給開始時の報知用電気部品の状態復旧を行うことが可能となるとともに、遊技機の状態を誤って報知してしまうことを防止することができる。従って、電力供給開始時の初期動作の迅速化および安定化を図ることができるようになる。
また、上述したように、ランプやLEDなどで構成される発光体により制御状態を報知する報知用電気部品(例えば、始動記憶表示器18、普通図柄始動記憶表示器41、賞球ランプ51、球切れランプ52など)の状態を初期化する場合と復旧させる場合とで、異なるコマンド送信テーブルを用いる構成としているので、誤った制御状態を報知してしまうことを防止することができる。
また、上述したように、起動時に送信される初期化コマンドや復旧コマンドは、通常の制御で用いられる制御コマンドと共通のものであるので、本例のように初期化あるいは復旧させたい制御状態に応じたコマンド送信テーブルを用いて初期動作を行う構成としても、コマンド数が増加することはない。従って、本例のように起動時に初期化コマンドや復旧コマンドを送信する構成とした場合に、主基板31が備えるRAM54の容量を増加させてしまうことを回避することができる。
また、上述したように、復旧起動した場合には、遊技制御手段が、復旧コマンド(起動時報知態様コマンド:図13参照)により、変動データ記憶手段の記憶内容にもとづいて復旧する遊技機の制御状態に応じた報知用電気部品の報知態様を指定する構成としているので、復旧の際の遊技機の内部状態(制御状態)に応じた報知態様を指定することができ、遊技機の内部状態と報知用電気部品による報知状態とを適合させることができるので、誤った報知がなされることを防止することができる。例えば、球切れの発生時や解除時などの内部状態が変更したときのみ制御コマンドが送信される構成の遊技機において、復旧したあと内部状態の変更があるまで(例えば球切れ状態で復旧した場合には、球切れ状態が解除されるまで)報知用電気部品による報知状態が点灯状態あるいは消灯状態のまま維持されてしまうことが防止される。
また、上述したように、電力供給が開始され状態復旧処理を行う場合には、遊技者に付与すべき未払出の賞球があるか否かを示す復旧コマンド(賞球ランプコマンド)を送信する構成とし、賞球ランプ51の状態を復旧させる構成としたので、遊技者の利益を保護することが可能となる。
また、上述したように、電力供給が開始され状態復旧処理を行う場合には、遊技者に付与するための遊技媒体が遊技機に所定量以上貯留されているか否かを示す復旧コマンド(球切れランプコマンド)を送信する構成とし、球切れランプ52の状態を復旧させる構成としたので、遊技者の利益を保護することが可能となる。
さらに、上述したように、可変表示装置9での可変表示の表示結果として表示される識別情報が記憶される左中右図柄バッファに、起動時に送信される初期化コマンドにもとづいて特定される初期表示態様を示すデータを格納する構成としたので、表示制御手段における制御の効率化を図ることができる。具体的には、初期表示態様を表示する処理と識別情報を表示するための通常の処理とを共通のプログラムに従って行うことができるようになる。また、既存の左中右図柄バッファを利用しているので、初期表示態様を示すデータを格納する新たなバッファを用意する必要がなく、表示制御基板80が備えるRAMの容量の軽減を図ることができる。
なお、上述した実施の形態において、「単一のコマンド」とは、コマンド受信側の各電気部品制御基板に対して制御指令を行う1つのコマンドを意味する。上述した実施の形態では、MODEデータとEXTデータの組み合わせによって「単一のコマンド」が構成されている。なお、MODEデータとEXTデータのいずれか一方で制御指令を行う構成とし、その1方のデータで「単一のコマンド」が構成されるようにしてもよい。なお、「単一のコマンド」は、制御指令を行う1つのコマンドとして認められるものであれば、どのようなバイト構成とされていてもよい。
なお、上述した実施の形態では、表示制御手段が、初期態様表示コマンド(例えば、特別図柄電源投入時画面表示コマンド)の受信に応じて、キャラクタROM86に格納されている初期表示態様を示すデータを読み出して、初期表示態様を可変表示装置9に表示する構成としていたが、キャラクタROM86に格納されている初期表示態様を示すデータを用いない、あるいはキャラクタROM86に初期表示態様を示すデータが格納されない構成としてもよい。この場合、初期態様表示コマンドに初期表示態様を特定するためのデータ(例えば、初期表示態様を示すデータ)を含む構成とし、表示制御手段が、受信した初期態様表示コマンドによって導き出される初期表示態様を可変表示装置9に表示するようにすればよい。
また、上述した実施の形態では、表示制御手段が、初期態様表示コマンド(例えば、特別図柄電源投入時画面表示コマンド)の受信に応じて、キャラクタROM86に格納されている初期表示態様を示すデータを読み出して、初期表示態様を可変表示装置9に表示する構成としていたが、表示制御手段が、キャラクタROM86に格納されているデータにもとづいて導き出した初期表示態様を可変表示装置9に表示する処理を実行する構成としてもよい。この場合、例えば、キャラクタROM86に格納されている複数のデータを演算し、その演算結果に従って初期表示態様を導き出すようにすればよい。
また、上述した実施の形態では、電力供給開始時に、コマンド送信テーブル(図11、図13、図15〜図19、図21、図22参照)を用いて送信するコマンドを決定する構成としていたが、ソフトウェアにもとづく処理に従って送信するコマンドを決定する構成としてもよい。
また、上述した実施の形態では、電力供給が開始されて状態復旧処理を行う場合に、特別遊技状態(例えば、確変状態、時短状態)であるか否かを示すコマンド(例えば、確変状態が否かを指定する特別図柄復旧指定コマンド、時短状態であるか否かを指定する普通図柄復旧指定コマンド:図13参照)を送信する構成とし、そのコマンドの受信に応じて表示制御手段が可変表示装置9の背景色を変更する例について述べたが、例えば、遊技機に制御状態が特別遊技状態であるか否かを報知するための遊技状態ランプを設ける構成とし、特別遊技状態であるか否かを示すコマンドの受信に応じてランプ制御手段が遊技状態ランプを点灯/消灯させる構成としてもよい。
また、上述した実施の形態では、報知用電気部品としてランプやLEDなどの発光体を用いる構成としたが、報知用電気部品は、スピーカなどの音声出力手段や表示器などの表示手段であってもよい。また、上述した実施の形態における「報知態様」は、発光体の点灯/消灯によるものに限らず、発光体の点灯態様(例えば、点滅、点滅タイミング、点灯や点滅するランプの色)、ブザーや警告音による音声出力態様(音の種類、音の出力タイミング、音の大きさ)、表示器としての可変表示装置9の背景色など、様々な報知の状態や様子を含む。
なお、上述した実施の形態において、「特定遊技状態」とは、所定の遊技価値が付与された遊技者にとって有利な状態を意味する。具体的には、「特定遊技状態」は、例えば、例えば可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態(大当り遊技状態)、遊技者にとって有利な状態となるための権利が発生した状態、景品遊技媒体払出の条件が成立しやすくなる状態などの、所定の遊技価値が付与された状態である。
また、上述した実施の形態において、「特別遊技状態」とは、大当りとなりやすい遊技者に有利な状態を意味する。具体的には、「特別遊技状態」は、例えば、特別図柄が大当り図柄で揃う確率が高確率状態とされる確変状態、単位時間あたりの普通図柄の変動回数が高められる時短状態、可変入賞球装置15の開成期間や開成回数が高められる開放延長状態などの大当りとなる確率が高められている高確率状態である。なお、時短状態は、可変入賞球装置15の開放回数が高められていることから単位時間あたりの入賞回数が増加し、単位時間あたりの特別図柄の可変表示回数が高められるので、大当りとなる確率が高められている状態といえる。また、同様に、開放延長状態は、可変入賞球装置15の開成期間や開成回数が高められていることから単位時間あたりの入賞回数が増加し、単位時間あたりの特別図柄の可変表示回数が高められるので、大当りとなる確率が高められている状態といえる。
さらに、上記の各実施の形態のパチンコ遊技機1は、始動入賞にもとづいて可変表示装置9に可変表示される特別図柄の停止図柄が所定の図柄の組合せになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組合せになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても本発明を適用できる。
また、上記の実施の形態では、以下のような遊技機も開示されている。
(1)表示制御手段が、可変表示装置を制御する際に用いられるデータが格納された不揮発性の表示データ記憶手段(例えば、キャラクタROM86)を備え、初期表示態様を示すデータは、表示データ記憶手段に記憶され、初期表示態様を示すデータを用いて初期表示態様コマンドの受信に応じて識別情報を初期表示態様にて表示する遊技機。
そのような構成によれば、初期表示態様コマンドのデータ量が大きくなってしまうことを防止することができ、遊技制御手段の制御負担を軽減させることができる。
(2)遊技制御手段から指定された識別情報の可変表示の表示結果として表示する識別情報の態様を記憶する識別情報態様記憶領域(例えば、表示制御基板80が備える左中右図柄バッファ)を含み、表示制御手段が、電力供給開始時に、初期表示態様を示すデータを表示データ記憶手段(例えば、キャラクタROM86)から読み出して、識別情報態様記憶領域に記憶させるとともに、初期表示態様コマンドの受信に応じて識別情報を初期表示態様にて表示する制御を実行する際に、識別情報態様記憶領域に記憶されたデータにもとづいて識別情報を表示させるように構成されている遊技機。
そのような構成によれば、初期表示態様を表示する処理と識別情報を表示するための通常の処理とを共通に行うことができるようになるとともに、識別情報態様記憶領域を利用しているので記憶領域の容量の軽減を図ることもできる。
(3)遊技制御手段が、所定期間の経過毎に発生するタイマ割込に関連して、表示制御手段および電気部品制御手段に対し遊技の進行状態に応じたコマンドを送信し得る遊技制御処理を実行し、起動時表示態様指定手段により、電力供給開始時における可変表示装置の表示態様が指定されるとともに、起動時報知態様指定手段により、電力供給開始時における報知用電気部品の報知態様が指定されるまでは(例えば、ステップS14の処理を終えるまで、あるいはステップS86の処理を終えるまで)、タイマ割込による遊技制御処理の実行を制限するように構成されている遊技機。
そのような構成によれば、電源供給開始時の初期動作の安定化を図ることができるようになる。
(4)電力供給開始時に復旧起動した場合には、起動時報知態様指定手段が、電気部品制御手段に対し、変動データ記憶手段の記憶内容にもとづいて復旧する遊技機の制御状態に応じて、起動時報知態様コマンド(例えば、図13に示す制御コマンド)により、報知用電気部品の報知態様を指定するように構成されている遊技機。
そのような構成によれば、変動データ記憶手段の記憶内容と報知用電気部品の報知状態を適合させることができ、遊技機の状態を誤って報知してしまうことを防止することができる。
(5)電力供給開始時に初期起動した場合には、起動時報知態様指定手段が、電気部品制御手段に対し、起動時報知態様コマンド(例えば、図11に示す制御コマンド)により、初期状態における報知用電気部品の所定の報知態様である初期報知態様を指定するように構成されている遊技機。
そのような構成によれば、初期起動した場合に初期報知態様で報知させることができ、遊技機の状態を誤って報知してしまうことを防止することができる。
(6)遊技機の状態に関するデータを記憶する遊技状態データ記憶領域(例えば、RAM55)を備え、起動時報知態様指定手段は、遊技状態データ記憶領域の記憶内容にもとづいて、電気部品制御手段に対し、起動時報知態様コマンドを送信するように構成されている遊技機。
そのような構成によれば、遊技状態データ記憶領域の記憶内容と報知態様とを適合させることができ、遊技機の状態を誤って報知してしまうことを防止することができる。
(7)遊技制御手段は、電気部品制御手段に対し、遊技の進行に応じた遊技機の状態に応じて報知用電気部品の報知態様を指定する通常時報知態様指定コマンド(遊技の進行の制御などのために遊技機において通常用いられている制御コマンド)を送信し、起動時報知態様指定コマンドを、通常時報知態様指定コマンドと共通のコマンドとして用いた遊技機。すなわち、既存の制御コマンドを起動時報知態様指定コマンドとして用いる遊技機。
そのような構成によれば、コマンドの数が増加してしまうことを回避することができる。
(8)可変表示装置に表示結果として表示される識別情報が特定の表示態様となったことを条件に遊技者にとって有利な特定遊技状態に制御可能となるとともに、表示結果として表示される識別情報が特別の表示態様となったことを条件に特定遊技状態が発生しやすい特別遊技状態(例えば、確変状態)に制御可能となる遊技機であって、報知用電気部品は、特別遊技状態であるか否かを報知するために用いられる特別遊技状態報知電気部品(例えば、確変報知ランプ)を含むように構成されている遊技機。
そのような構成によれば、特別遊技状態であるか否かを認識させることができ、遊技者の利益を保護することができる。
(9)報知用電気部品に、遊技者に付与すべき遊技結果価値(例えば、賞球)があるか否かを報知するために用いられる遊技結果価値残量報知電気部品(例えば、賞球ランプ51)を含むように構成されている遊技機。
そのような構成によれば、付与すべき遊技結果価値があるか否かを認識させることができ、遊技者の利益を保護することができる。
(10)報知用電気部品に、遊技者に付与するための遊技媒体が遊技機内に貯留されているか否かを報知するために用いられる貯留遊技媒体報知電気部品(例えば、球切れランプ52)を含むように構成されている遊技機。
そのような構成によれば、遊技媒体が貯留されているか否かを認識させることができ、遊技者の利益を保護することができる。
(11)表示制御手段が、複数の可変表示装置(例えば、可変表示装置9と普通図柄表示器10)をそれぞれ制御することが可能であり、起動時表示態様指定手段が、復旧コマンドおよび初期表示態様コマンドを、複数の可変表示装置それぞれの表示態様を指定するためにそれぞれ別個に送信する(例えば、可変表示装置9に初期表示態様を指定するために特別図柄電源投入時指定コマンドを送信し、普通図柄表示器10に初期表示態様を指定するために普通図柄電源投入時指定コマンドを送信する)ように構成されている遊技機。
そのような構成によれば、複数の可変表示装置の制御を混同することなく正確に行うことができる。