JP3768419B2 - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP3768419B2 JP3768419B2 JP2001252038A JP2001252038A JP3768419B2 JP 3768419 B2 JP3768419 B2 JP 3768419B2 JP 2001252038 A JP2001252038 A JP 2001252038A JP 2001252038 A JP2001252038 A JP 2001252038A JP 3768419 B2 JP3768419 B2 JP 3768419B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- power supply
- game
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、遊技者が所定の遊技を行い、所定条件の成立に応じて遊技者に所定の遊技価値を付与可能なパチンコ遊技機やスロットマシン等の遊技機に関する。
【0002】
【従来の技術】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示装置が設けられ、可変表示装置の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】
特別図柄を表示する可変表示装置の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることである。
【0004】
大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】
そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、景品としての遊技球を払い出す払出機構を制御する払出制御手段に送信される。なお、以下、遊技制御手段およびその他の制御手段を、それぞれ電気部品制御手段と呼ぶことがある。また、電気部品とは、遊技機に設けられている部品(機構部品や回路等)であって、電気的に動作するものである。
【0006】
【発明が解決しようとする課題】
遊技機には、遊技制御手段を初めとする種々の電気部品制御手段が搭載されているが、一般に、各電気部品制御手段はマイクロコンピュータで構成される。すなわち、ROM等にプログラムが格納され、制御上一時的に発生するデータや制御進行に伴って変化するデータがRAMに格納される。すると、遊技機に停電等による電源断状態が発生すると、RAM内のデータは失われてしまう。よって、停電等からの復旧時には、最初の状態(例えば、遊技店においてその日最初に遊技機に電源投入されたときの状態)に戻さざるを得ないので、遊技者に不利益がもたらされる可能性がある。例えば、大当り遊技中において電源断が発生し遊技機が最初の状態に戻ってしまうのでは、遊技者は大当りの発生にもとづく利益を享受することができなくなってしまう。
【0007】
そのような事態を回避するには、停電等の不測の電力供給の停止が生じたときに、遊技制御手段において、必要なデータを電源バックアップされたバックアップRAMに保存し、電源が復旧したときに保存されていたデータを復元して遊技状態を復元し遊技を再開させればよい。一般に、バックアップRAMが設けられている場合には、電力供給が停止することを検出する検出回路が設けられ、検出回路からの信号(電源断信号と呼ぶことにする。)を割込信号としてマイクロコンピュータの割込端子に入力し、マイクロコンピュータは、割込によって電力供給の停止を検知して必要なデータをバックアップRAMに保存する処理を実行する。バックアップRAMに保存される必要なデータには遊技状態を復元するための情報が含まれるのであるから、プログラムカウンタの値やレジスタの値等がスタック領域に保存されるのが一般的である。バックアップRAMに必要なデータを保存するための処理は、電力供給の停止に伴う電源電圧の低下時に、電源電圧がマイクロコンピュータが動作可能な電圧にある間に実行され、バックアップRAMに必要なデータを保存するための処理の実行が完了した後、電源電圧は、マイクロコンピュータが動作し得ない電圧にまで低下した後に0になる。
【0008】
上記のように構成された遊技機において、電力供給が停止する場合に、電源電圧の値が不安定になるので、電源断信号が連続的に発生するおそれがある。電源断信号が連続的に発生すると、マイクロコンピュータに対して連続的に割込が発生するので、必要なデータをバックアップRAMに保存する処理が確実になされなくなってしまう。そのために、電源断信号が連続的に発生することを防止するための手段(具体的には回路等)が検出回路の側に設けられていることもある。
【0009】
しかし、電力供給の停止が生ずる訳ではないにも関わらず、検出回路の側からマイクロコンピュータの割込端子に至る信号線において電源断信号が連続的に入力されると、スタック領域のサイズには限界があるにもかかわらず、繰り返し割込処理が実行されることによってスタック領域へのデータ保存が繰り返され、遂にはスタックオーバーフローが生じてしまう。その結果、スタックオーバーフローに起因してRAM領域の内容が破壊されてしまうことによりプログラム暴走が生じたことにもとづいて、ウォッチドッグタイマのタイムアップが生じてマイクロコンピュータにリセットがかかり、RAM領域の内容が初期化される。
【0010】
また、電力供給の停止が生ずる訳ではないにも関わらず、検出回路の側からマイクロコンピュータのリセット端子に至る信号線においてリセット信号が入力されると、強制的にマイクロコンピュータにリセットがかかり、RAM領域の内容が初期化される。
【0011】
上述した大当りを発生させるか否かは、一般に、所定のタイミング(例えば始動入賞の発生時すなわち始動入賞信号の入力時)において、RAM領域に形成された乱数発生用カウンタのカウント値があらかじめ決められた大当り判定値に一致するか否かによって決定される。上述したように、電源断信号が連続的に入力されたりリセット信号が入力されたりすると、システムリセットがかかり、初期化処理にてRAMの内容が初期化されるので、大当りを発生させるか否かを決定するための乱数発生用カウンタのカウント値も初期化される(0に戻される。)。すると、カウント値が0から歩進を開始するので、カウント値があらかじめ決められた大当り判定値に一致するタイミングを容易に把握できてしまう。
【0012】
つまり、不正基板等の不正手段を遊技機に搭載し、不正手段からマイクロコンピュータに対して電源断信号(割込信号)を連続的に入力させたりリセット信号を入力させたりするとともに、乱数発生用カウンタのカウント値が大当り判定値に一致するようなタイミングで、マイクロコンピュータが搭載されている遊技制御基板に対して不正に始動入賞信号を送り込むことによって、不正に大当りを生じさせることが可能になってしまう。
【0013】
そこで、本発明は、停電等の不測の電力供給の停止が生じたときに必要なデータを割込処理によって電源バックアップされたバックアップRAMに保存するように構成されている場合に、不正に割込信号やリセット信号を送り込むような不正行為が行われても、そのような不正行為を容易に発見することができる遊技機を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明による遊技機は、遊技者が所定の遊技を行い、特定の条件が成立したときに遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、遊技の進行を制御する遊技制御マイクロコンピュータ(例えばCPU56を含む遊技制御手段)が搭載された制御基板と、遊技制御マイクロコンピュータからのコマンドにもとづいて遊技機に設けられる報知手段を制御する電気部品制御マイクロコンピュータ(例えば表示制御用CPU101を含む表示制御手段、ランプ制御用CPU351を含むランプ制御手段、音制御用CPU701を含む音制御手段)が搭載された電気部品制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段(例えば電源バックアップされたRAM55)と、所定電位の電源の出力電圧を監視し出力電圧が所定値に低下したことを検出したときに検出信号(例えば電源断信号)を出力する電源監視手段(例えば電源監視用IC902)とを備え、遊技制御マイクロコンピュータは、特定遊技状態の判定に用いられる判定用数値を更新する判定用数値更新手段を含み、判定用数値は変動データ記憶手段に記憶され、遊技制御マイクロコンピュータは、電源監視手段からの検出信号を入力するための信号入力部(例えばマスク不能割込端子)を備え、信号入力部に検出信号が入力されると、割込を発生させ、割込処理にて制御状態の復旧に必要なデータを変動データ記憶手段におけるスタック領域に退避させ、退避させたデータの格納先のアドレスを変動データ記憶手段に格納するデータ退避処理(例えば図38に示す処理)を実行するデータ退避処理実行手段と、電力供給が開始されたときに入力されるリセット信号に応じてプログラムを先頭から開始させ、所定条件の成立(例えばステップS7a〜ステップS7cにて課される条件)にもとづいて、判定用数値を含む変動データ記憶手段の記憶内容を初期化する初期化処理(例えばステップS9〜ステップS15)または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理(例えば図20に示す遊技状態復旧処理)のいずれか一方を実行する電力供給開始時処理手段とを含み、遊技制御マイクロコンピュータは、スタック領域に退避されたデータがスタック領域のアドレスを超えたときに、遊技機への電力供給の停止や再開がされなくてもプログラムを先頭から開始させ、所定条件の成立として、スタック領域に退避されたデータがスタック領域のアドレスを超えたときに初期化処理を実行し、初期化処理を実行するときには、遊技機に設けられる報知手段(例えば可変表示装置9、スピーカ27、ランプ・LEDなどの発光体)にて報知を行うことを示すコマンド(例えば初期化報知コマンド)を電気部品制御マイクロコンピュータに送信する報知処理(例えばステップS14)を実行し、電気部品制御マイクロコンピュータは、報知を行うことを示すコマンドの受信に応じて、報知手段に所定期間継続的に報知を実行させ、報知の実行期間中に新たにコマンドを受信したときには、新たに受信したコマンドを破棄する(例えばステップS682、ステップS683)ことを特徴とする。
【0017】
遊技制御マイクロコンピュータが、報知処理にて、報知を行うことを示すコマンドとして、特定遊技状態の開始から終了までの間に送出されるコマンド(例えば大当り開始時表示コマンド)を電気部品制御マイクロコンピュータに送出するように構成されていてもよい。
【0018】
遊技制御マイクロコンピュータは、電力供給開始時処理手段が初期化処理を実行するときには、遊技機外部に初期化処理の実行を示す信号を出力する初期化信号出力処理(例えば、ステップS11)を実行するように構成されていてもよい。
【0021】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。
【0022】
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
【0023】
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
【0024】
遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別可変表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9の下方には、始動入賞口14が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0025】
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。また、可変表示装置9の上部には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つのLEDによる特別図柄始動記憶表示器(以下、始動記憶表示器という。)18が設けられている。有効始動入賞がある毎に、始動記憶表示器18は点灯するLEDを1増やす。そして、可変表示装置9の可変表示が開始される毎に、点灯するLEDを1減らす。
【0026】
ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄始動記憶が上限に達していなければ、所定の乱数値が抽出される。そして、普通図柄表示器10において表示状態が変化する可変表示を開始できる状態であれば、普通図柄表示器10の表示の可変表示が開始される。普通図柄表示器10において表示状態が変化する可変表示を開始できる状態でなければ、普通図柄始動記憶の値が1増やされる。普通図柄表示器10の近傍には、普通図柄始動記憶数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。
【0027】
この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、可変表示は所定時間(例えば29秒)継続する。そして、可変表示の終了時に左側のランプが点灯すれば当りとなる。当りとするか否かは、ゲート32に遊技球が入賞したときに抽出された乱数の値が所定の当り判定値と一致したか否かによって決定される。普通図柄表示器10における可変表示の表示結果が当りである場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になって遊技球が入賞しやすい状態になる。すなわち、可変入賞球装置15の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態に変化する。
【0028】
さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数とのうちの一方または双方が高められ、遊技者にとってさらに有利になる。また、確変状態等の所定の状態では、普通図柄表示器10における可変表示期間(変動時間)が短縮されることによって、遊技者にとってさらに有利になるようにしてもよい。
【0029】
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
【0030】
そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。なお、プリペイドカードとしての磁気カードに限らず、ICカード等の他の記録媒体を用いることもできる。記録媒体の形状についても、名刺大の薄型のカード形状に限らず、ICコインなど種々の形状のものを使用することができる。
【0031】
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
【0032】
打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
【0033】
可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示態様)であると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
【0034】
停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
【0035】
次に、パチンコ遊技機1の裏面の構造について図3および図4を参照して説明する。図3は、遊技機を裏面から見た背面図である。図4は、各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【0036】
図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が設けられている。
【0037】
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤34が設置されている。
【0038】
さらに、各基板(主基板31や払出制御基板37等)に含まれる変動データ記憶手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための初期化操作手段としてのクリアスイッチ921が搭載されたスイッチ基板190が設けられている。スイッチ基板190には、クリアスイッチ921と、主基板31等の他の基板と接続されるコネクタ922が設けられている。
【0039】
貯留タンク38に貯留された遊技球は誘導レール39を通り、図4に示されるように、カーブ樋186を経て賞球ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【0040】
なお、球切れスイッチ187は、球払出装置に至る払出球通路に27〜28個程度の遊技球が存在することを検出できるような位置に係止されている。すなわち、球切れスイッチ187は、賞球の一単位の最大払出量(この実施の形態では15個)および球貸しの一単位の最大払出量(この実施の形態では100円:25個)以上が確保されていることが確認できるような位置に設置されている。
【0041】
球払出装置から払い出された遊技球は、連絡口45を通ってパチンコ遊技機1の前面に設けられている打球供給皿3に誘導される。連絡口45の側方には、パチンコ遊技機1の前面に設けられている余剰球受皿4に連通する余剰球通路46が形成されている。
【0042】
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると、遊技球は、余剰球通路46を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が貯留状態検出手段としての満タンスイッチ48を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
【0043】
図4に示すように、球払出装置の側方には、カーブ樋186から遊技機下部の排出口192に至る球抜き通路191が形成されている。球抜き通路191の上部には球抜きレバー193が設けられ、球抜きレバー193が遊技店員等によって操作されると、誘導レール39から球抜き通路191への遊技球通路が形成され、貯留タンク38内に貯留されている遊技球は、排出口192から遊技機外に排出される。
【0044】
図5は、球払出装置97の構成例を示す分解斜視図である。この例では、賞球ケース40Aとしての3つのケース140,141,142の内部に球払出装置97が形成されている。ケース140,141の上部には、球切れスイッチ187の下部の球通路と連通する穴170,171が設けられ、遊技球は、穴170,171から球払出装置97に流入する。
【0045】
球払出装置97は駆動源となる払出モータ(例えばステッピングモータ)289を含む。払出モータ289の回転力は、払出モータ289の回転軸に嵌合しているギア290に伝えられ、さらに、ギア290と噛み合うギア291に伝えられる。ギア291の中心軸には、凹部を有するスプロケット292が嵌合している。穴170,171から流入した遊技球は、スプロケット292の凹部によって、スプロケット292の下方の球通路293に1個ずつ落下させられる。
【0046】
球通路293には遊技球の流下路を切り替えるための振分部材311が設けられている。振分部材311はソレノイド310によって駆動され、賞球払出時には、球通路293における一方の流下路を遊技球が流下するように倒れ、球貸し時には球通路293における他方の流下路を遊技球が流下するように倒れる。なお、払出モータ289およびソレノイド310は、払出制御基板37に搭載されている払出制御用CPUによって制御される。また、払出制御用CPUは、主基板31に搭載されている遊技制御用のCPUからの指令に応じて払出モータ289およびソレノイド310を制御する。
【0047】
賞球払出時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する払出検出手段としての賞球センサ(賞球カウントスイッチ)301Aが設けられ、球貸し時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する球貸しセンサ(球貸しカウントスイッチ)301Bが設けられている。賞球カウントスイッチ301Aの検出信号と球貸しカウントスイッチ301Bの検出信号は払出制御基板37の払出制御用CPUに入力される。払出制御用CPUは、それらの検出信号にもとづいて、実際に払い出された遊技球の個数を計数する。
【0048】
なお、ギア291の周辺部には、払出モータ位置センサ296を形成する複数の突起部295が形成されている。突起部295は、ギア291の回転すなわち払出モータ289の回転に伴って発光体(図示せず)からの光を、払出モータ位置センサの受光部(図示せず)に対して透過させたり遮蔽したりする。払出制御用CPUは、受光部からの検出信号によって払出モータ289の位置を認識することができる。
【0049】
また、この実施の形態では、払出手段としての球払出装置97は球貸しも賞球払出も実行可能な構成であるが、球貸しを行う機構と賞球払出を行う機構とが独立していても本発明を適用することができる。球貸しを行う機構と賞球払出を行う機構とが独立している場合には、賞球払出と球貸しとを同時実行可能なので、遊技球の相対的な払出速度を速くすることができる。また、遊技球の流下路を切り替えるための振分部材311およびソレノイド310は不要である。さらに、払出手段として、例えば、モータが正転すると賞球払出が行われモータが逆転すると球貸しが行われるような構造のものなど、他の構造のものを用いることもできる。
【0050】
図6は、遊技盤6に設置されているスイッチ基板190の部分を示す正面図である。図6に示すように、スイッチ基板190には、主基板31等の他の基板に、ケーブルを介してクリアスイッチ921の出力を接続するためのコネクタ922が搭載されている。
【0051】
図7は、スイッチ基板190に搭載されたクリアスイッチ921の構成の一例を示す構成図である。図7(A)には、押しボタン構造のクリアスイッチ921が示されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号(操作信号)が出力され、コネクタ922を介して主基板31および払出制御基板37等に出力される。すなわち、クリアスイッチ921から主基板31および払出制御基板37等に出力される操作信号がオン状態になる。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。なお、この実施の形態では、クリアスイッチ信号は少なくとも主基板31および払出制御基板37に出力されるので、コネクタ922として、主基板31へのクリアスイッチ信号を出力するためのコネクタと、払出制御基板37へのクリアスイッチ信号を出力するためのコネクタとを別個に設けてもよい。
【0052】
図7(B)は、クリアスイッチ921の他の構成例を示す構成図である。図7(B)に示すクリアスイッチ921は、「OFF」、「ON」および「クリア」の選択切り換えを行うための切換操作部921aを有する。切換操作部921aによって、「OFF」が選択されているときは何らの信号も発生しない。「ON」が選択されているときはハイレベルの信号を出力する。なお、クリアスイッチ921が、遊技機1に対する電源供給のオン/オフ切換のためのスイッチも兼ねていてもよい。その場合、「OFF」が選択されると、遊技機1に対する電源供給が停止された状態(遊技機の電源がオフの状態)になる。「ON」または「クリア」が選択されると、遊技機1に対して電源供給が行われる状態(遊技機の電源がオンの状態)になる。また、「クリア」が選択されているときに、ローレベルのクリアスイッチ信号が出力される。
【0053】
なお、この実施の形態では、クリアスイッチ921が搭載されたスイッチ基板190が他の基板(遊技制御基板等)とは別個に設けられているが、他の基板にクリアスイッチ921を搭載してもよい。例えば、電源基板910に搭載してもよい。クリアスイッチ921が電源基板910に搭載されている場合には、遊技盤6の入れ替え等の場合に入れ替え後の遊技盤6に対して電源基板910をそのまま使用しても、入れ替え後の遊技盤6において、そのままで遊技状態復旧処理等を実行することができる。すなわち、電源基板910の使い回しを行うことができる。
【0054】
また、クリアスイッチ921は、遊技盤6の側に設置されていてもよいが、遊技枠側に設置されていてもよい。
【0055】
図8は、主基板31における回路構成の一例を示すブロック図である。なお、図8には、払出制御基板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とが搭載されている。
【0056】
なお、図8には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。スイッチと称されているものがセンサと称されているもの等でもよいこと、すなわち、スイッチが遊技媒体検出手段の一例であることは、他の実施の形態でも同様である。
【0057】
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
【0058】
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
【0059】
また、RAM(CPU内蔵RAMであってもよい。)55の少なくとも一部が、電源基板910において作成されるバックアップ電源よってバックアップされているバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の少なくとも一部の内容は保存される。ただし、この実施の形態では、RAMの全てがバックアップ電源によってバックアップされている。
【0060】
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
【0061】
この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよく、この実施の形態および他の実施の形態で用いられているLEDも他の種類の発光体でもよい。すなわち、ランプやLEDは発光体の一例である。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
【0062】
図9は、図柄制御基板80内の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,2)570,572および出力バッファ回路620,62Aとともに示すブロック図である。出力ポート(出力ポート2)572からは8ビットのデータが出力され、出力ポート570からは1ビットのストローブ信号(INT信号)が出力される。
【0063】
表示制御用CPU101は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して表示制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、表示制御用CPU101がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと表示制御用CPU101との間に、I/Oポートが設けられる。
【0064】
そして、表示制御用CPU101は、受信した表示制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、表示制御コマンドに応じた指令をVDP103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号および同期信号をLCD82に出力する。
【0065】
なお、図9には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、および使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
【0066】
入力バッファ回路105A,105Bは、主基板31から表示制御基板80へ向かう方向にのみ信号を通過させることができる。従って、表示制御基板80側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートとともに不可逆性情報入力手段を構成する。表示制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
【0067】
高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、表示制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
【0068】
図10は、主基板31およびランプ制御基板35における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域7の外側に設けられている天枠ランプ28a、左右枠ランプ28b,28cと遊技盤に設けられている装飾ランプ25、始動記憶表示器18および普通図柄始動記憶表示器41の点灯/消灯と、賞球ランプ51および球切れランプ52の点灯/消灯とを示すランプ制御コマンドが主基板31からランプ制御基板35に出力される。
【0069】
図10に示すように、ランプ制御に関するランプ制御コマンドは、基本回路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ポートが設けられる。
【0070】
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左右枠ランプ28b,28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左右枠ランプ28b,28c、装飾ランプ25に対して点灯/消灯信号を出力する。点灯/消灯信号は、天枠ランプ28a、左右枠ランプ28b,28c、装飾ランプ25に出力される。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
【0071】
主基板31において、CPU56は、RAM55の記憶内容に未払出の賞球残数があるときに賞球ランプ51の点灯を指示する制御コマンドを出力し、前述した遊技盤裏面の払出球通路の上流に設置されている球切れスイッチ187(図3参照)が遊技球を検出しなくなると球切れランプ52の点灯を指示する制御コマンドを出力する。ランプ制御基板35において、各制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。ランプ制御用CPU351は、それらの制御コマンドに応じて、賞球ランプ51および球切れランプ52を点灯/消灯する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
【0072】
入力バッファ回路355A,355Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路355A,355Bは、主基板31からランプ制御基板35へ向かう方向にのみ信号を通過させることができる。従って、ランプ制御基板35側から主基板31側に信号が伝わる余地はない。たとえ、ランプ制御基板35内の回路に不正改造が加えられても、不正改造によって出力される信号がメイン基板31側に伝わることはない。なお、入力バッファ回路355A,355Bの入力側にノイズフィルタを設けてもよい。
【0073】
また、主基板31において、出力ポート570,573の外側にバッファ回路620,63Aが設けられている。バッファ回路620,63Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、ランプ制御基板70から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,63Aの出力側にノイズフィルタを設けてもよい。
【0074】
図11は、主基板31における音制御コマンドの信号送信部分および音制御基板70の構成例を示すブロック図である。この実施の形態では、遊技進行に応じて、遊技領域7の外側に設けられているスピーカ27の音出力を指示するための音制御コマンドが、主基板31から音制御基板70に出力される。
【0075】
図11に示すように、音制御コマンドは、基本回路53におけるI/Oポート部57の出力ポート(出力ポート0,4)570,574から出力される。出力ポート(出力ポート4)574からは8ビットのデータが出力され、出力ポート570からは1ビットのINT信号が出力される。音制御基板70において、主基板31からの各信号は、入力バッファ回路705A,705Bを介して音制御用CPU701に入力する。なお、音制御用CPU701がI/Oポートを内蔵していない場合には、入力バッファ回路705A,705Bと音制御用CPU701との間に、I/Oポートが設けられる。
【0076】
そして、例えばディジタルシグナルプロセッサによる音声合成回路702は、音制御用CPU701の指示に応じた音声や効果音を発生し音量切替回路703に出力する。音量切替回路703は、音制御用CPU701の出力レベルを、設定されている音量に応じたレベルにして音量増幅回路704に出力する。音量増幅回路704は、増幅した音信号をスピーカ27に出力する。
【0077】
入力バッファ回路705A,705Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路705A,705Bは、主基板31から音制御基板70へ向かう方向にのみ信号を通過させることができる。よって、音制御基板70側から主基板31側に信号が伝わる余地はない。従って、音制御基板70内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。なお、入力バッファ回路705A,705Bの入力側にノイズフィルタを設けてもよい。
【0078】
また、主基板31において、出力ポート570,574の外側にバッファ回路620,67Aが設けられている。バッファ回路620,67Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、音制御基板70から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,67Aの出力側にノイズフィルタを設けてもよい。
【0079】
図12は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図12に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート部57に入力される。また、球切れスイッチ187からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力される。
【0080】
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出を停止すべき状態であることを指示する払出制御コマンドを送出する。払出を停止すべき状態であることを指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
【0081】
さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【0082】
入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート570は1ビットのINT信号を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
【0083】
また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
【0084】
払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
【0085】
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して、球貸しカウントスイッチ301B、および払出モータ289の回転位置を検出するための払出モータ位置センサ296からの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号は、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。また、クリアスイッチ921の出力も、入力ポート372bに入力される。
【0086】
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
【0087】
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。
【0088】
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
【0089】
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
【0090】
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
【0091】
この実施の形態では、電源基板910から払出制御基板37に対して電源断信号も入力される。電源断信号は、払出制御用CPU371のマスク不能割込(NMI)端子に入力される。さらに、払出制御基板37に存在するRAM(CPU内蔵RAMであってもよい。)の少なくとも一部は、電源基板910において作成されるバックアップ電源によって、バックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAMの少なくとも一部の内容は保存される。ただし、この実施の形態では、RAMは全てバックアップ電源によってバックアップされている。
【0092】
なお、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
【0093】
図13は、電源基板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は、ソレノイド駆動電源となる。
【0094】
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC924(図13では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC924の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0095】
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図13には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0096】
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0097】
また、電源基板910には、電源監視回路(電源監視手段)としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0098】
電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
【0099】
+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電力供給回復待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0100】
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【0101】
なお、図13に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【0102】
図14は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図14に示すように、電源基板910の電源監視回路からの電源断信号がバッファ回路900を介して、CPU56のマスク不能割込端子(XNMI端子)に接続されている。従って、CPU56は、マスク不能割込(NMI)処理によって遊技機への電力供給の停止の発生を確認することができる。また、電源断信号は、判定回路950にも入力されている。バッファ回路900から出力される信号は電源監視回路910からの検出信号と実質的に変わらないので(増幅を受けたのみ)、以下、バッファ回路900から出力される信号を検出信号またはNMI信号と呼ぶことがある。また、判定回路950は、システムリセット判定手段の一例である。なお、CPU56は、XNMI端子の入力信号がローレベルになると、立ち下がりエッジで割込を受け付ける。
【0103】
図14には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源基板910の電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【0104】
図14に示すように、リセット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は、確実に動作を開始する。
【0105】
そして、例えば、電源基板910の電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。なお、電源監視回路とシステムリセット回路65とが監視する電源の電圧は異なっていてもよい。
【0106】
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【0107】
なお、図14に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベルがリセットレベル)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
【0108】
また、リセット信号は判定回路950にも入力されている。判定回路950は、NMI信号とリセット信号を入力し、CPU56の入力ポートに対して判定信号を出力する回路であるが、詳細については後述する。
【0109】
なお、この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。
【0110】
図15および図16は、この実施の形態における出力ポートの割り当てを示す説明図である。図15に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのINT信号の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータ(払出制御信号CD0〜CD7)は出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータ(表示制御信号CD0〜CD7)は出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータ(ランプ制御信号CD0〜CD7)は出力ポート3から出力される。そして、図16に示すように、音制御基板70に送出される音制御コマンドの8ビットのデータ(音制御信号CD0〜CD7)は出力ポート4から出力される。
【0111】
また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板20を開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
【0112】
図15および図16に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。
【0113】
従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0114】
図17は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図17に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ33a,39a,29a,30a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22、ゲートスイッチ32aの検出信号が入力される。また、入力ポート1のビット0〜4には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号およびクリアスイッチ921の検出信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路58において論理反転されている。このように、クリアスイッチ921の検出信号すなわち初期化操作手段の操作入力は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート(8ビット構成の入力部)と同一の入力ポートにおけるビット(入力ポート回路)に入力されている。
【0115】
次に遊技機の動作について説明する。図18は、主基板31における遊技制御手段(CPU56およびROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0116】
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0117】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
【0118】
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0119】
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0120】
割込モード1:割込が受け付けられると、常に0038(H)番地に飛ぶモードである。
【0121】
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0122】
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0123】
次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7a)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS9〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである(図15参照)。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始することによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0124】
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS7b)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
【0125】
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図19に示すように、バックアップフラグ領域に「55(H)」が設定されていればバックアップあり(オン状態)を意味し、「55(H)」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0126】
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS7c)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
【0127】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS7cでは、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【0128】
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS8)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0129】
このように、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認することによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0130】
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS9)。また、所定の作業領域(例えば、判定用乱数カウンタ、表示用乱数カウンタ、初期値用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う(ステップS10)。
【0131】
次いで、CPU56は、例えば情報出力回路64を介して、ホールコンピュータなどの外部装置に向けて初期化信号を出力する(ステップS11)。初期化信号は、起動時に初期化処理を実行したことを遊技店員等に報知するための信号である。従って、ホールコンピュータなどの外部装置は、初期化信号を受信すると、音・ランプ・表示などによって初期化処理が実行されたことを報知する処理を行う。また、球払出装置97からの払出が可能であることを指示する払出許可状態指定コマンド(以下、払出可能状態指定コマンドという。)を払出制御基板37に対して送信する処理を行う(ステップS12)。
【0132】
また、各サブ基板(払出制御基板37、ランプ制御基板35、音制御基板70、図柄制御基板80)を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する(ステップS13)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド(図柄制御基板80に対して)や賞球ランプ51および球切れランプ52の消灯を指示するコマンド(ランプ制御基板35に対して)等がある。なお、本例では、ステップS12にて払出可能状態指定コマンドが送信されるため、ステップS13では払出制御基板37に対する制御コマンドは送信されない。さらに、CPU56は、初期化処理の実行の報知を指定する初期化報知コマンドを図柄制御基板80に対して送信する処理を行う(ステップS14)。本例では、初期化報知コマンドとして、大当り開始時表示コマンド(図29参照)が用いられる。なお、初期化処理の実行の報知をランプ制御基板35や音制御基板70にて実行する場合には、ステップS14にて、ランプ制御基板35や音制御基板70に対して送信する。この場合、ランプ制御基板35に送信する初期化報知コマンドとして、例えば大当り開始時ランプ指定コマンド(図30参照)が用いられる。また、音制御基板70に送信する初期化報知コマンドとして、例えば大当り開始時音指定コマンド(図31参照)が用いられる。
【0133】
初期化処理では、払出制御基板37に対して常に払出可能状態指定コマンドが送信される。仮に、遊技機の状態が球払出装置97からの払出が可能でない状態であったとしても、直後に実行される遊技制御処理において、その旨が検出され、払出が可能でない状態であることを指示する払出禁止状態指定コマンド(以下、払出停止状態指定コマンドという。)が送信されるので問題はない。
【0134】
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0135】
以上のように、この実施の形態では、CPU56がクリアスイッチ921がオンであることを検出した場合には、バックアップRAMにデータが保存されているか否かに関わらず初期化処理(ステップS9〜S15)が実行されるので、遊技店の側で強制的に遊技制御手段を初期化することができる。すなわち、ソフトウェア的に遊技制御手段の初期化が実現される。また、クリアスイッチ921がオンでなくても、バックアップフラグとチェックサム等のチェックデータとを用いてソフトウェア的に遊技制御手段の初期化を行うことができるので、電力供給が復旧したときに、誤った遊技状態が復元されてしまうことが防止される。
【0136】
また、クリアスイッチ921がオンであることを検出しない場合に、バックアップRAMにデータが正しく保存されていないことを確認したら、CPU56は、初期化処理(ステップS9〜S15)を実行する。従って、CPU56は、初期化操作手段に対する操作がなされなくても、所定の初期化条件が成立した場合には(この例では、ステップS7bまたはS7cで「N」、あるいは後述するステップS81で「Y」)、変動データ記憶手段の記憶内容を初期化する。
【0137】
初期化処理の実行(ステップS9〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
【0138】
なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【0139】
図20は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS80)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている)に退避している。よって、ステップS80では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0140】
次いで、CPU56は、スタックオーバフローとなっているか否か確認する(ステップS81)。本例では、RAM55に設けられたスタック領域に、所定のデータ量を超えるデータが格納された状態となっているか否か確認する。本例では、CPU56は、復旧されたスタックポインタの値が、所定のデータ量を超えた場合にデータが格納されるアドレスのいずれかを指す値であった場合に、スタックオーバフローであると判定する。スタックオーバフローであれば、CPU56は、遊技状態復旧処理を中止して、スタックポインタにスタックポインタ指定アドレスを設定したあと(ステップS81a:上述したステップS3と同様の処理)、上述した初期化処理(ステップS9〜ステップS15)を実行する。
【0141】
スタックオーバフローでなければ、CPU56は、払出停止状態であったか否か確認する(ステップS82)。払出停止状態であったか否かは、電源バックアップされているRAMエリアに保存されている所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど)における払出状態データとしての払出停止フラグによって確認される。払出停止状態であった場合には、払出制御基板37に搭載されている払出制御手段に対して、払出の停止を指示する払出制御コマンド(払出停止状態指定コマンド)を送信する(ステップS83)。払出停止状態でなかった場合には、払出制御手段に対して払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)を送信する(ステップS84)。
【0142】
補給球の不足や余剰球受皿4の満タンについて払出制御手段は認識できないので、遊技制御手段から通知しないと、停電等からの復旧時に、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうおそれがある。しかし、この実施の形態では、遊技状態復旧処理において、払出の停止を指示する払出制御コマンドまたは払出が可能であること指示する払出制御コマンドが送信されるので、払出制御手段が、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうことはない。
【0143】
なお、ここでは、遊技媒体の払い出しが可能であるか否かを判定する払出状態判定手段(遊技制御手段の一部)が払出可能でないことを検出したら、原因の如何に関わらず、1種類の払出停止状態指定コマンドが送信されるようにしたが、原因別のコマンド(この例では、補給球の不足を示すコマンドと下皿満タンを示すコマンド)に分けて送信してもよい。さらに、遊技球の払出が可能でない場合に、遊技の継続を禁止するために遊技球の発射を禁止することを指示するコマンドを払出制御基板37に対して送信してもよい。払出制御基板37に搭載された払出制御手段は、遊技球の発射を禁止することを指示するコマンドを受信したら、打球発射装置の駆動を停止する。また、遊技球の払出が可能でない場合に、遊技制御手段が発射制御手段に対して、直接、遊技球の発射を禁止することを指示する信号を与えてもよい。また、払出制御手段は、払出停止状態指定コマンドを受信した場合に、打球発射装置の駆動を停止するようにしてもよい。
【0144】
次いで、CPU56は、電力供給が停止したときに可変表示装置9において特別図柄変動中であったか否か確認する(ステップS85)。電力供給が停止したときに特別図柄変動中であったか否かは、例えば電源バックアップされているRAMエリアに格納されている特別図柄プロセスフラグの値等によって確認することができる。特別図柄変動中であった場合には、図柄制御基板80に搭載されている表示制御手段に対して、特別図柄停電復旧コマンドおよび左右中の図柄を指定する表示制御コマンドを送信する(ステップS86,S87)。ここで、表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに行われていた特別図柄変動で停止表示されるはずであった図柄である。
【0145】
表示制御手段は、特別図柄停電復旧コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9に停電が生じた旨の表示を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、特別図柄の変動期間が終了すると、遊技制御手段は表示制御手段に対して確定コマンドを送信する。表示制御手段は、確定コマンドを受信したことにもとづいて、次の特別図柄の変動を行える状態になる。
【0146】
特別図柄変動中でなかった場合には、CPU56は、表示制御手段に対して、左右中の図柄を指定する表示制御コマンド、確定コマンドおよび客待ちデモコマンドを送信する処理を行う(ステップS88〜S90)。表示制御コマンドで指定される左右中の図柄は、電力供給が停止したときに可変表示装置9において表示されていた図柄である。
【0147】
表示制御手段は、確定コマンドを受信すると、左右中の図柄を指定する表示制御コマンドで指定された特別図柄を可変表示装置9に表示させる制御を行う。また、客待ちデモコマンドを受信すると、可変表示装置9の背景等の表示状態を待機状態の表示状態にする制御を行う。
【0148】
その後、CPU56は、バックアップフラグをクリアする(ステップS91)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタに設定する(ステップS92)。すなわち、レジスタ復元処理を行う。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS93,S94)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS95)。
【0149】
そして、RET命令が実行されるのであるが、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS95の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて復旧制御が実行されている。
【0150】
タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図21に示すステップS21〜S32の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0151】
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0152】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行い(ステップS24)、さらに、初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS25)。
【0153】
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0154】
次いで、CPU56は、表示制御コマンド等を送信する処理を行う(コマンド制御処理:ステップS28)。なお、コマンド制御処理は、特別図柄プロセス処理や普通図柄プロセス処理において実行されるように構成してもよい。
【0155】
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
【0156】
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS31)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
【0157】
そして、CPU56は、始動口スイッチ14a、入賞口スイッチ29a,30a,33a,39aおよびカウントスイッチ23の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。具体的には、始動口スイッチ14a、入賞口スイッチ29a,30a,33a,39aおよびカウントスイッチ23がオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。その後、レジスタの内容を復帰させ(ステップS33)、割込許可状態に設定する(ステップS34)。
【0158】
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
【0159】
図22は、CPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図22に示す特別図柄プロセス処理は、図21のフローチャートにおけるステップS26の具体的な処理である。CPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)および始動口スイッチ通過確認処理(ステップS311)を行った後に、内部状態(この例では特別図柄プロセスフラグ)に応じて、ステップS300〜S309のうちのいずれかの処理を行う。
【0160】
変動短縮タイマ減算処理は、始動記憶(始動口スイッチ14aがオンしたことの記憶)の記憶可能最大数に対応した個数設けられている変動短縮タイマを減算する処理である。そして、後述する特別図柄大当り判定処理(ステップS301)において、例えば、変動短縮タイマの値が0になっていて、かつ、低確率状態(通常状態)では始動記憶数が始動記憶の最大値、確変状態では始動記憶数が「2」以上であれば、図柄の変動パターンとして変動時間が短縮されたパターンを用いることに決定される。また、始動口スイッチ通過確認処理は、始動口スイッチ14aがオンしたときに所定の各乱数値を取得して記憶する処理である。
【0161】
ステップS300〜S309において、以下のような処理が行われる。
【0162】
特別図柄通常処理(ステップS300):始動記憶数を確認し、始動記憶数が0でなければ、ステップS301に移行するように特別図柄プロセスフラグの値を変更する。
【0163】
特別図柄大当り判定処理(ステップS301):始動入賞があったときに記憶された各種乱数を格納するバッファ等の内容をシフトする。シフトの結果、押し出されたバッファの内容にもとづいて大当りとするか否かを決定する。なお、バッファは、始動入賞の記憶可能最大数だけ用意されている。また、シフトによって押し出されたバッファの内容は、最も前に生じた始動入賞に応じた内容である。そして、大当りとすることに決定した場合には、大当りフラグをセットする。その後、ステップS302に移行するように特別図柄プロセスフラグの値を変更する。
【0164】
停止図柄設定処理(ステップS302):特別図柄の可変表示の表示結果である左右中図柄の停止図柄を決定する。そして、ステップS303に移行するように特別図柄プロセスフラグの値を変更する。
【0165】
変動パターン設定処理(ステップS303):特別図柄の可変表示のパターンすなわち可変表示パターン(変動パターン)を決定する。そして、決定された変動パターンおよび停止図柄等を通知するための表示制御コマンドを図柄制御基板80等に対して出力するための処理を行う。その後、ステップS304に移行するように特別図柄プロセスフラグの値を変更する。
【0166】
特別図柄変動処理(ステップS304):変動パターンに応じて決められている変動時間が経過したか否か確認する。経過していれば、ステップS305に移行するように特別図柄プロセスフラグの値を変更する。
【0167】
特別図柄図柄停止処理(ステップS305):一定時間(例えば1.000秒)が経過した後、大当りとすることに決定されている場合には、ステップS306に移行するように特別図柄プロセスフラグの値を変更する。そうでなければ、ステップS300に移行するように特別図柄プロセスフラグの値を変更する。
【0168】
大入賞口開放前処理(ステップS306):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド54を駆動して大入賞口を開放する。そして、ステップS307に移行するように特別図柄プロセスフラグの値を変更する。
【0169】
大入賞口開放中処理(ステップS307):大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、ステップS308に移行するように特別図柄プロセスフラグの値を変更する。
【0170】
特定領域有効時間処理(ステップS308):V入賞スイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、ステップS307に移行するように特別図柄プロセスフラグの値を変更する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、ステップS309に移行するように特別図柄プロセスフラグの値を変更する。
【0171】
大当り終了処理(ステップS309):大当り遊技状態が終了したことを遊技者に報知するための表示をランプ制御手段等に行わせる制御を行う。そして、ステップS300に移行するように特別図柄プロセスフラグの値を変更する。
【0172】
図23は、始動口スイッチ通過確認処理(ステップS311)を示すフローチャートである。打球が遊技盤に設けられている始動入賞口14に入賞すると、始動口スイッチ14aがオンする。CPU56は、スイッチ回路58を介して始動口スイッチ14aがオンしたことを判定すると(ステップS41)、始動記憶数が上限値(この例では4)に達しているかどうか確認する(ステップS42)。始動記憶数が上限値に達していなければ、始動記憶数を1増やし(ステップS43)、大当り判定用乱数等の各乱数の値を抽出する。そして、それらを始動記憶数の値に対応した乱数値格納エリアに格納する(ステップS44)。
【0173】
また、始動記憶数指定コマンドの送出要求のための制御を行う(ステップS45)。始動記憶数指定コマンドとは、ランプ制御基板35に搭載されているランプ制御手段に対して送信される、新たな始動記憶数を通知するためのランプ制御コマンドであり、具体的には、後述するコマンド送信テーブルを指定する処理が行われる。なお、始動記憶数が上限値に達している場合には、始動記憶数を増やす処理を行わない。
【0174】
CPU56は、ステップS25の特別図柄プロセス処理において、図24に示すように始動記憶数の値を確認する(ステップS51)。始動記憶数が0でなければ、始動記憶;1(1番目の始動記憶)に対応する乱数値格納エリアに格納されている値を読み出すとともに(ステップS52)、始動記憶数の値を1減らし、かつ、各乱数値格納エリアの値をシフトする(ステップS53)。すなわち、始動記憶;n(n=2,・・・,4)に対応する乱数値格納エリアに格納されている各値を、始動記憶:n−1に対応する乱数値格納エリアに格納する。なお、そのときの始動記憶数に対応した乱数値格納エリアの内容をクリアする。例えば、始動記憶数が4であった場合には、始動記憶;4に対応した特別図柄乱数値格納エリアの内容をクリアする。
【0175】
また、始動記憶数が1減らされたので、新たな始動記憶数をランプ制御手段に通知するために、始動記憶数指定コマンドの送出要求のための処理を行う(ステップS65)。
【0176】
そして、CPU56は、ステップS52で読み出した値、すなわち抽出されている大当り判定用乱数(特別図柄判定用乱数)の値にもとづいて当り/はずれを決定する(ステップS54)。ここでは、大当り判定用乱数は0〜316の範囲の値をとることにする。そして、図25に示すように、通常状態では、例えばその値が「3」である場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。また、高確率状態(確変状態)では、例えばその値が「3」,「7」,「79」,「103」,「107」のいずれかである場合に「大当り」と決定し、それ以外の値である場合には「はずれ」と決定する。
【0177】
図26は、各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:大当りを発生させるか否か決定する(大当り判定用)
(2)ランダム2−1〜2−3:特別図柄の左右中のはずれ図柄決定用(特別図柄左右中)
(3)ランダム3:大当りを発生させる特別図柄の組合せを決定する(大当り図柄決定用)
(4)ランダム4:特別図柄の変動パターンを決定する(変動パターン決定用)
(5)ランダム5:普通図柄にもとづく当りを発生させるか否か決定する(普通図柄当り判定用)
(6)ランダム6:ランダム1の初期値を決定する(ランダム1初期値決定用)
(7)ランダム7:ランダム5の初期値を決定する(ランダム5初期値決定用)
【0178】
なお、図21に示された遊技制御処理におけるステップS23では、CPU56は、(1)の大当り判定用乱数、(3)の大当り図柄決定用乱数、および(5)の普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数または初期値用乱数である。なお、遊技効果を高めるために、上記(1)〜(7)の乱数以外の普通図柄に関する乱数等も用いられている。
【0179】
また、各乱数を発生するためのカウンタおよび各初期値決定用乱数を発生するためのカウンタの値は、図18に示されたメイン処理におけるステップS9で初期化(値を0にする)されている。
【0180】
図24に示すステップS54において、大当りと判定されたときには、大当り図柄用乱数(ランダム3)の値に従って大当り図柄を決定する(ステップS55)。この実施の形態では、ランダム3の値に応じた大当り図柄テーブルに設定されている図柄番号の各図柄が、大当り図柄として決定される。大当り図柄テーブルには、複数種類の大当り図柄の組み合わせのそれぞれに対応した左右中の図柄番号が設定されている。また、変動パターン決定用乱数(ランダム4)を抽出し、ランダム4の値にもとづいて特別図柄の変動パターンを決定する(ステップS56)。
【0181】
はずれと判定された場合には、CPU56は、大当りとしない場合の停止図柄の決定を行う。この実施の形態では、ステップS52で読み出した値、すなわち抽出されているランダム2−1の値に従って左図柄を決定する(ステップS57)。また、ランダム2−2の値に従って中図柄を決定する(ステップS58)。そして、ランダム2−3の値に従って右図柄を決定する(ステップS59)。ここで、決定された中図柄が左右図柄と一致した場合には、中図柄に対応した乱数の値に1加算した値に対応する図柄を中図柄の停止図柄として、大当り図柄と一致しないようにする。
【0182】
さらに、CPU56は、リーチすることに決定されたか否か(左右の停止図柄が揃っているか否か)を確認し(ステップS60)、リーチすることに決定されている場合には、変動パターン決定用乱数(ランダム4)の値を抽出し、ランダム4にもとづいて図柄の変動パターンを決定する(ステップS61)。
【0183】
リーチすることに決定されていない場合には、確変状態か否かを確認する(ステップS62)。確変状態であれば変動パターンをはずれ時短縮変動パターンとすることに決定する(ステップS63)。確変状態でなければ変動パターンをはずれ時の通常変動パターンとすることに決定する(ステップS64)。なお、はずれ時短縮変動パターンは、左右中の図柄の変動時間が例えば4.0秒という通常変動パターンよりも変動期間が短い変動パターンである。
【0184】
以上のようにして、始動入賞にもとづく図柄の変動態様を、リーチ態様とするか、はずれ態様とするか決定され、それぞれの停止図柄の組合せが決定される。すなわち、特別図柄の変動態様として、リーチ演出を行うのか行わないのかが決定されるとともに停止図柄の組合せが決定される。
【0185】
なお、図24に示された処理は、図22に示された特別図柄プロセス処理におけるステップS301〜S303の処理をまとめて示した場合の処理に相当する。また、この実施の形態では、左右中図柄の停止図柄が揃った場合に大当りが発生する。左右図柄のみが揃った場合にリーチとなる。
【0186】
次に、遊技制御手段から各電気部品制御基板に送信されるコマンドについて説明する。図27は、主基板31から、ランプ制御基板35、払出制御基板37、音制御基板70および図柄制御基板80に送信される制御コマンド(ランプ制御コマンド、音制御コマンド、表示制御コマンドおよび払出制御コマンド)のコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドのコマンドデータは2バイト構成であり、1バイト目はMODE(コマンドの種類)を表し、2バイト目はEXT(具体的指示内容)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、ランプ制御基板35、払出制御基板37、音制御基板70および図柄制御基板80に送信される制御コマンドは、複数のコマンドデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図27に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。
【0187】
図28に示すように、制御コマンドは、8ビットの制御信号CD0〜CD7(コマンドデータ)とINT信号(取込信号)とで構成される。ランプ制御基板35、払出制御基板37、音制御基板70および図柄制御基板80に搭載されているランプ制御手段、払出制御手段、音制御手段および表示制御手段は、INT信号が立ち上がったことを検知して、割込処理によって1バイトのデータの取り込み処理を開始する。
【0188】
図29は、図柄制御基板80に送出される表示制御コマンドの内容の一例を示す説明図である。表示制御コマンドはMODEとEXTの2バイト構成である。図21に示す例において、コマンド8000(H)〜8031(H)は、特別図柄の変動パターンを指定する表示制御コマンドである。なお、変動パターンを指定するコマンド(変動パターン指定コマンド)は変動開始指示も兼ねている。
【0189】
コマンド88XX(H)(X=4ビットの任意の値)は、普通図柄の変動パターンに関する表示制御コマンドである。コマンド89XX(H)は、普通図柄の停止図柄を指定する表示制御コマンドである。コマンド8AXX(H)(X=4ビットの任意の値)は、普通図柄の可変表示の停止を指示する表示制御コマンドである。
【0190】
コマンド91XX(H)、92XX(H)および93XX(H)は、特別図柄の左中右の停止図柄を指定する表示制御コマンドである。また、コマンドA0XX(H)は、特別図柄の可変表示の停止を指示する表示制御コマンドである。コマンドBXXX(H)は、大当り遊技開始から大当り遊技終了までの間に送出される表示制御コマンドである。
【0191】
コマンドC000(H)は、特別図柄の変動および大当り遊技に関わらない表示状態に関する表示制御コマンドである。
【0192】
図柄制御基板80の表示制御手段は、主基板31の遊技制御手段から上述した表示制御コマンドを受信すると図29に示された内容に応じて可変表示部装置9における表示領域150の表示状態を変更する制御を行う。
【0193】
図30は、主基板31からランプ制御基板35に送出されるランプ制御コマンドの内容の一例を示す説明図である。ランプ制御コマンドもMODEとEXTの2バイト構成である。図30に示す例において、コマンド8000(H)〜8031(H)は、特別図柄の変動パターンに対応したランプ・LED(遊技機に設けられている各発光体)の制御パターンを指定するランプ制御コマンドである。また、コマンドA0XX(H)(X=4ビットの任意の値)は、特別図柄の可変表示の停止時のランプ・LEDの制御パターンを指示するランプ制御コマンドである。コマンドBXXX(H)は、大当り遊技開始から大当り遊技終了までの間のランプ・LEDの制御パターンを指示するランプ制御コマンドである。そして、コマンドC000は、客待ちデモンストレーション時のランプ・LEDの制御パターンを指示するランプ制御コマンドである。
【0194】
なお、コマンド8XXX(H)、AXXX(H)、BXXX(H)およびCXXX(H)は、遊技進行状況に応じて遊技制御手段から送出されるランプ制御コマンド、すなわち遊技状態を報知することを指示するランプ制御コマンドである。ランプ制御手段は、主基板31の遊技制御手段から上述したランプ制御コマンドを受信すると図30に示された内容に応じてランプ・LEDの表示状態(点灯、消灯および点滅)を変更する。
【0195】
この実施の形態では、ランプ制御手段は、遊技状態を報知することを指示するランプ制御コマンドを受信すると、装飾ランプ25、天枠ランプ28aおよび左右枠ランプ28b,28cのうちの一部または全部を用いて、遊技状態を報知するための点灯/消灯制御を行う。なお、装飾ランプ25、天枠ランプ28aおよび左右枠ランプ28b,28cは、それぞれ、複数の発光体の集まりで構成されていてもよく、その場合、装飾ランプ25、天枠ランプ28aおよび左右枠ランプ28b,28cのうちの一部を用いて遊技状態を報知するということは、例えば、装飾ランプ25を構成する複数の発光体のうちの一部を用いてもよいということも意味する。
【0196】
コマンドE0XX(H)は、始動記憶数(特別図柄始動記憶数)を示すランプ制御コマンドである。ランプ制御手段は、「XX(H)」で指定される数を遊技者が認識できるように始動記憶表示器18に特別図柄始動記憶数に関する情報を表示する。また、コマンドE1XX(H)は、普通図柄始動記憶数を示すランプ制御コマンドである。ランプ制御手段は、「XX(H)」で指定される数を遊技者が認識できるように普通図柄始動記憶表示器41に普通図柄始動記憶数に関する情報を表示する。
【0197】
コマンドE200(H)およびE201(H)は、賞球ランプ51の表示状態に関するランプ制御コマンドであり、コマンドE300(H)およびE301(H)は、球切れランプ52の表示状態に関するランプ制御コマンドである。ランプ制御手段は、主基板31の遊技制御手段から「E201(H)」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がある場合としてあらかじめ定められた表示状態とし、「E200(H)」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がない場合としてあらかじめ定められた表示状態とする。
【0198】
また、主基板31の遊技制御手段から「E300(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「E301(H)」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドE200(H)およびE201(H)は、未賞球の遊技球があることを遊技者等に報知するために設けられている発光体を制御することを示すコマンドであり、コマンドE300(H)およびE301(H)は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
【0199】
コマンド「E500(H)」は、遊技制御手段が不正行為を検知したときに遊技制御手段から送信される不正報知ランプ指定のランプ制御コマンドである。ランプ制御手段は、不正報知ランプ指定のランプ制御コマンドを受信すると、不正報知の態様としてあらかじめ決められた態様でランプ・LEDを点灯制御する。例えば、全てのランプ・LEDを所定の周期で点滅させる。あるいは、不正報知用の発光手段を特に設け、その発光手段を点灯させるようにしてもよい。
【0200】
図31は、音制御基板70に送出される音制御コマンドの内容の一例を示す説明図である。音制御コマンドもMODEとEXTの2バイト構成である。図31に示す例において、コマンド8XXX(H)(X=4ビットの任意の値)は、特別図柄の変動期間における音発生パターンを指定する音制御コマンドである。なお、コマンド8000(H)〜8031(H)は、特別図柄の変動パターンに対応した音発生パターンを指定する音制御コマンドである。コマンドBXXX(H)(X=4ビットの任意の値)は、大当り遊技開始から大当り遊技終了までの間における音発生パターンを指定する音制御コマンドである。その他のコマンドは、特別図柄の変動および大当り遊技に関わらない音制御コマンドである。音制御基板70の音制御手段は、主基板31の遊技制御手段から上述した音制御コマンドを受信すると図31に示された内容に応じて音出力状態を変更する。
【0201】
コマンド「E500(H)」は、遊技制御手段が不正行為を検知したときに遊技制御手段から送信される不正報知音指定の音制御コマンドである。音制御手段は、不正報知音指定の音制御コマンドを受信すると、不正報知の態様としてあらかじめ決められた態様でスピーカ27から音出力する制御を行う。
【0202】
主基板31の遊技制御手段から各サブ基板(ランプ制御基板35、払出制御基板37、音制御基板70、図柄制御基板80)に制御コマンドを出力しようとするときに、コマンド送信テーブルの設定が行われる。あるいは、ROM54に形成されているコマンド送信テーブルのアドレス指定が行われる。図32は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目には後述するINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0203】
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブル(ROM54に形成される。)のアドレスを指定するためのデータ(バッファ指定データ)が設定されるようにしてもよい。この実施の形態では、図33(A)に示すように、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。なお、そのようなEXTデータはビット7が0であるデータである。また、図33(B)に示すように、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示す。なお、図33(B)に示す例では、ビット4〜ビット0が使用されているので、32種類のバッファを指定することが可能である。また、32種類のバッファには、例えば特別図柄変動パターンバッファ、特別図柄左図柄バッファ、特別図柄中図柄バッファ、特別図柄右図柄バッファなどが含まれる。
【0204】
図34はINTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(遊技制御処理のステップS32)において、INTデータに「01(H)」を設定する。
【0205】
また、INTデータにおけるビット1は、図柄制御基板80に表示制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、表示制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄プロセス処理や普通図柄プロセス処理(遊技制御処理のステップS26やS27)において、INTデータに「02(H)」を設定する。
【0206】
INTデータのビット2,3は、それぞれ、ランプ制御コマンド、音制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべきタイミングになったら、特別図柄プロセス処理等で、ポインタ(例えば、特別図柄コマンド送信ポインタ)が指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
【0207】
この実施の形態では、各制御コマンドについて、それぞれ複数のコマンド送信テーブルが用意され、使用すべきコマンド送信テーブルはコマンド送信前に設定される。あるいは、ROM54に形成されているコマンド送信テーブルのアドレス指定が行われる。また、複数のコマンド送信テーブルを1つのテーブルに設定してもよい。例えば、図35に示すように、複数の表示制御コマンドを格納することが可能な複数のコマンド送信テーブルを含む1個のテーブルが用意されている。CPU56は、例えば、コマンド制御処理において、ポインタが差しているコマンド送信テーブルから、INTデータ、コマンドデータ1およびコマンドデータ2を読み出し、表示制御コマンドを送信する。そして、ポインタを更新する。その後、ポインタが指定するコマンド送信テーブルが終了コードを示すまで、表示制御コマンドの送信処理を繰り返す。なお、各制御コマンドについて用意されるテーブルの一部(例えば、払出制御基板37に対する払出個数指定コマンドが設定されるテーブル)を、リングバッファ形式に構成するようにしてもよい。
【0208】
図36は、図21に示す遊技制御処理におけるコマンド制御処理の処理例を示すフローチャートである。コマンド制御処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンド制御処理において、CPU56は、まず、コマンド送信テーブルのアドレスをスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。なお、表示制御コマンドは例えば図32に示されたコマンド送信テーブルに設定されている。
【0209】
次いで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0210】
図37は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=4を、処理数として決められているワークエリアに設定する(ステップS352)。そして、ポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは払出制御コマンドデータを出力するための出力ポートのアドレスであり、ポート2〜4のアドレスが、表示制御コマンドデータ、ランプ制御コマンドデータ、音制御コマンドデータを出力するための出力ポートのアドレスであるとする。
【0211】
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、表示制御コマンドを送出すべきことが指定されているときには、2回目のシフト処理でキャリービットが1になる。
【0212】
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。2回目のシフト処理が行われたときにはIOアドレスにポート2のアドレスが設定されているので、そのときに、表示制御コマンドのMODEデータがポート2に出力される。
【0213】
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。加算前にポート2を示していた場合には、IOアドレスに対する加算処理によって、IOアドレスにはポート3のアドレスが設定される。ポート3は、ランプ制御コマンドを出力するためのポートである。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0214】
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、表示制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。同様に、3回目および4回目のシフト処理によって、ランプ制御コマンドおよび音制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされるコマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したIOアドレスが設定されている。
【0215】
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート4)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各サブ基板の制御手段に対する制御コマンドの送出処理を行うことができる。
【0216】
また、このように、シフト処理のみによってどの各サブ基板の制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。
【0217】
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜4が、それぞれ、払出制御INT信号、表示制御INT信号、ランプ制御INT信号、音制御INT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート4のいずれかに出力された制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)に対応したINT信号がオフ状態(ローレベル)になる。
【0218】
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はオフ状態になる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。
【0219】
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図36に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし(ステップS339)、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する(ステップS340)。そして、そのアドレスが指すエリアのデータを引数2にロードする(ステップS341)。
【0220】
コマンド拡張データアドレステーブルには、各サブ基板の制御手段に送出されうるEXTデータが順次設定されている。よって、以上の処理によって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされ、ワークエリア参照ビットの値が「0」であれば、コマンドデータ2の内容がそのまま引数2にロードされる。なお、コマンド拡張データアドレステーブルからEXTデータが読み出される場合でも、そのデータのビット7は「0」である。
【0221】
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。その後、CPU56は、コマンド送信テーブルのアドレスを復帰し(ステップS343)、コマンド送信テーブルを指す読出ポインタの値を更新する(ステップS344)。そして、さらに送出すべきコマンドがあれば(ステップS345)、ステップS331に戻る。
【0222】
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、表示制御コマンド、ランプ制御コマンド、音制御コマンド)が、対応する各サブ基板の制御手段に送信される。各サブ基板の制御手段ではINT信号のレベル変化を検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、表示制御手段等の各制御手段において、確実なコマンド受信処理が行われる。なお、INT信号の極性を図28に示された場合と逆にしてもよい。
【0223】
図38〜図40は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。CPU56のXNMI端子にハイレベルからローレベルへの変化が生じてマスク不能割込が発生すると、CPU56に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラムのアドレス(具体的には実行完了後の次のアドレス)を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。なお、この実施の形態では、XNMI端子にハイレベルからローレベルへの変化が生ずると割込が生ずるが、他の態様のレベル変化に応じて割込が発生するマイクロコンピュータを用いても、以下のような制御を実行することができる。
【0224】
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)をバックアップRAM領域のスタック領域に退避させる(ステップS451)。また、割込フラグをパリティフラグにコピーする(ステップS452)。パリティフラグはバックアップRAM領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、CPU56が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理で参照される。そして、遊技状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。
【0225】
また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域のスタック領域に退避させる(ステップS454〜S458)。なお、ステップS451〜S458の処理は、電源監視手段の検出信号に応じて制御状態を復旧させるために必要なデータを変動データ記憶手段に保存させるためのデータ退避処理に相当する。
【0226】
次いで、この実施の形態では、所定期間(入力監視時間の間)、賞球カウントスイッチ301Aの検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら総賞球数バッファの内容を1減らす。総賞球数バッファとは、RAM55における未払出賞球個数を記憶する領域であり、入賞に応じて払出制御基板37に対して賞球個数を示す払出制御コマンドを送信すると加算され、賞球カウントスイッチ301Aの検出信号にもとづいて減算されるデータが設定されている。
【0227】
なお、この実施の形態では、入力監視時間を計測するために、入力監視時間計測用カウンタが用いられる。入力監視時間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S461から始まってS461に戻るループ)が1回実行される毎に−1され、その値が0になると、入力監視時間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ入力監視時間に相当する。
【0228】
入力監視時間を計測するために、CPU56の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(入力監視時間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、入力監視時間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。
【0229】
また、入力監視時間は、遊技球が、球払出装置97から落下した時点から、賞球カウントスイッチ301Aに到達するまでの時間以上に設定される。球払出装置97から賞球カウントスイッチ301Aまでの距離をLとすると、その間の落下時間tは、t=√(2L/g)(g:重力加速度)になるので、入力監視時間は、それ以上に設定される。なお、図5に例示した球払出装置97を用いる場合には、Lは、スプロケット292の凹部から遊技球が落下する位置から賞球カウントスイッチ301Aの位置までの距離に相当する。以上のように、入力監視時間は、払出手段から遊技媒体が払い出されてから払出検出手段で検出されるまでの時間以上の時間に設定される
【0230】
少なくとも、スイッチ検出処理が実行される入力監視時間では、賞球カウントスイッチ301Aが遊技球を検出できる状態でなければならない。従って、図13に示されたように、電源基板910におけるコンバータIC924の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301Aが動作可能になる。その期間が、上記の入力監視処理が完了するまでの時間以上になるように、コンデンサの容量が決定される。
【0231】
なお、入力ポートおよびCPU56も、コンバータIC924で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
【0232】
ステップS461において、2ms計測用カウンタに2msの時間に相当する初期値nが設定される。そして、2ms計測用カウンタの値が0になるまで(ステップS462)、2ms計測用カウンタの値が−1される(ステップS463)。
【0233】
2ms計測用カウンタの値が0になると、賞球カウントスイッチ301Aの検出信号の入力チェックが行われる。具体的には、入力ポート1に入力されているデータを入力する(ステップS464)。次いで、クリアデータ(00)をセットする(ステップS465)。また、ポート入力データ、この場合には入力ポート1からの入力データを「比較値」として設定する(ステップS466)。さらに、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS467)。
【0234】
そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS468)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS469)。比較値には入力ポート1のデータ設定されている。そして、この場合には、賞球カウントスイッチ301Aの検出信号がキャリーフラグに押し出される。
【0235】
キャリーフラグの値が「1」であれば(ステップS470)、すなわち賞球カウントスイッチ301Aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS471)。キャリーフラグの値が「0」であれば、すなわち賞球カウントスイッチ301Aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS472)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0236】
そして、スイッチタイマの値が2になったときに(ステップS473)、総賞球数格納バッファの格納値を1減算するとともに(ステップS474)、賞球情報カウンタの値を+1する(ステップS475)。そして、賞球情報カウンタの値が10以上であれば(ステップS476)、賞球情報出力カウンタの値を+1するとともに(ステップS477)、賞球情報カウンタの値を−10する(ステップS478)。
【0237】
次いで、入力監視時間計測用カウンタの値を−1し(ステップS479)、その値が0になっていなければステップS461に戻る。
【0238】
以上の処理によって、入力監視時間内に賞球カウントスイッチ301Aがオンしたら、総賞球数格納バッファの値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総賞球数格納バッファが−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、上記のスイッチ検出処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、2ms毎に賞球カウントスイッチ301Aの検出出力のチェックが行われ、2回連続してオン検出した場合に、賞球カウントスイッチ301Aが確実にオンしたと見なされる。従って、誤ってスイッチオン検出がなされてしまうことは防止される。また、スイッチ検出処理において、遊技機外部への賞球情報出力のための賞球情報出力回数カウンタの演算も行われるので、外部に出力される賞球情報と実際の払出賞球数とが食い違ってしまうようなこともない。
【0239】
ここでは、電力供給停止時処理において入力監視時間(球払出装置97から落下した時点から、賞球カウントスイッチ301Aに到達するまでの時間以上の所定時間)だけ入力監視処理を実行したが、さらに、長時間にわたって入力監視処理を実行してもよい。例えば、電力供給が完全に停止するまで入力監視処理を継続してもよい。
【0240】
なお、払出制御基板37に搭載されている払出制御手段も、電源断信号に応じて電力供給停止時処理を実行する。そして、電力供給停止時処理において早い段階で(少なくとも遊技制御手段における電力供給停止時処理おいて入力監視処理が開始される前の段階で)、払出モータ289の駆動を停止させている。
【0241】
また、この実施の形態では、賞球カウントスイッチ301Aのみのスイッチ検出処理が行われたが、始動入賞口のスイッチや大入賞口に関連するV入賞スイッチ22やカウントスイッチについても同様のスイッチ検出処理を行ってもよい。また、他の入賞についても同様のスイッチ検出処理を行ってもよい。そのようなオンチェックも行う場合には、入賞口に遊技球が入賞した直後に停電が発生したような場合でも、その入賞が確実に検出され、保存される遊技状態に反映される。
【0242】
入力監視時間が経過すると(ステップS480)、すなわち、入力監視時間計測用カウンタの値が0になると、バックアップあり指定値(この例では「55(H)」)をバックアップフラグにストアする(ステップS481)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS482〜S491)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS482)、チェックサム算出開始アドレスをポインタにセットする(ステップS483)。また、チェックサム算出回数をセットする(ステップS484)。
【0243】
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS485)。演算結果をチェックサムデータエリアにストアするとともに(ステップS486)、ポインタの値を1増やし(ステップS487)、チェックサム算出回数の値を1減算する(ステップS488)。ステップS485〜S488の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS489)。
【0244】
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS490)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS491)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS492)。以後、内蔵RAM55のアクセスができなくなる。
【0245】
さらに、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS493)、処理数(この例では「7」)を別のレジスタにセットする(ステップS494)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS495)。IOポインタとして、さらに別のレジスタが用いられる。
【0246】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS496)、IOポインタの値を1増やし(ステップS497)、処理数の値を1減算する(ステップS498)。ステップS496〜S498の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポート0〜6(図15および図16参照)にクリアデータが設定される。図15および図16に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0247】
そして、入力ポートに入力されている判定回路950からの判定信号を確認し判定信号がオン状態(例えばハイレベル)であれば(ステップS171)、不正報知コマンド(ランプ制御コマンドあるいは音制御コマンド、または双方)を送信するための処理を行う(ステップS172)。
【0248】
なお、この段階では、RAMアクセス禁止状態に設定されているので、ランプ制御コマンドや音制御コマンドを送信するための処理では、CPU56は、例えば、レジスタに所定のデータ(ランプ制御コマンドや音制御コマンドを構成する2バイトのコマンドデータのうちの1バイト)をセットし、レジスタの値を直接出力ポートに出力する。また、INT信号のオン期間(図28参照)を作成するために、例えば、レジスタに所定値をセットし、0になるまで減算する処理を繰り返すことによって、その期間を作成する。そして、そのような処理を、不正報知コマンドを構成するMODEデータとEXTデータについて実行する。
【0249】
その後、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0250】
この実施の形態では、遊技状態を保存するための処理(この例では、チェックサムの生成およびRAMアクセス防止)が実行された後、各出力ポートは直ちにオフ状態になる。なお、この実施の形態では、遊技制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、遊技状態を保存するための処理に相当する。
【0251】
遊技状態を保存するための処理が実行された後、直ちに各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。図38〜図40に示す処理が実行されるときには、遊技機に対する電源供給が停止するので、電気部品に印加される電圧が低下していく。そして、印加電圧が駆動可能電圧を下回った時点で電気部品の駆動は停止する。従って、遊技機に対する電力供給停止時には、短時間の遅れはあるものの電気部品の駆動は停止する。
【0252】
ところが、この実施の形態のような出力ポートに対するクリア処理を行わないと、遊技状態が保存された後、電力供給が停止するのを遊技制御手段が待っている間に可変入賞球装置15にさらに入賞してしまうこともある。そのような場合、電力供給再開時には保存されている遊技状態が復帰されるので保存時の始動入賞記憶数が始動記憶表示器18に表示される。すると、遊技者から見ると、始動入賞の保留記憶値が少なくなってしまっているように見え、トラブルが発生しかねない。しかし、この実施の形態では、そのようなトラブルが生ずる可能がなくなる。
【0253】
また、遊技状態が保存された後に、可変入賞球装置としての大入賞口への入賞が発生する場合もあり得る。そのような場合、遊技者が認識している入賞個数と、電力供給復帰時に、保存されていた遊技状態にもとづいて表示部に表示される入賞個数とが食い違ってトラブルが生ずる可能性もある。しかし、この実施の形態では、そのようなトラブルが生ずる可能がなくなる。
【0254】
また、この実施の形態では、電源断信号に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。
【0255】
なお、出力ポートのクリア処理を、スイッチ検出処理の実行前(ステップS460の前)に行ってもよい。電力供給停止時処理の実行中では、CPU56やスイッチ類はコンデンサの充電電力等で駆動されることになる。出力ポートのクリア処理をスイッチ検出処理の実行前に行った場合には、大入賞口や可変入賞装置等がソレノイド等の電気部品で駆動されるように構成されていても、それらが駆動されることはなく、コンデンサの充電電力等を電力供給停止時処理のために効果的に使用することができる。
【0256】
ただし、電源が断することが検出された後にV入賞スイッチ22を検出する場合には、ソレノイド21(大入賞口をV入賞スイッチに誘導するための部材を動作させるもの)の出力ポートについては、スイッチ検出処理の実行後にクリアする。そのようにすれば、継続権発生の条件であるV入賞をしていない状態で停電が発生した場合、停電発生直前に大入賞口に入った遊技球をV入賞スイッチ22の側に誘導することができる。従って、不当な継続権の消滅を防止することができる。この場合、電源が保持される期間は、大入賞口に入賞した遊技球がV入賞スイッチ22に到達するまでの時間以上の期間である。なお、ラッチ式のソレノイドを用いた場合には、出力ポートのクリア処理は不要である。
【0257】
また、出力ポートのクリアによって大入賞口が閉じた場合でも、大入賞口内に遊技球があることも考えられるので、電源断信号に応じて実行されるスイッチ検出処理において、カウントスイッチ23の検出も行うことが望ましい。上記の出力ポートのクリア処理をスイッチ検出処理前に行ってもよいこと、および、上記の例外的な処理については、第1種パチンコ遊技機においてのみならず、第2種パチンコ遊技機や第3種パチンコ遊技機についても同様である。
【0258】
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0259】
図41は、この実施の形態におけるRAM領域のアドレスマップを示す説明図である。図41に示すように、RAM領域の先頭はバックアップフラグの領域に割り当てられている。そして、最後部にチェックサムバッファの領域が割り当てられている。なお、バックアップフラグからチェックサムバッファまでの領域が作業領域に相当し、チェックサムバッファ以降の領域にスタック領域が設定されている。また、この実施の形態では、RAM領域の全てが電源バックアップされている。
【0260】
図42は、チェックサム作成方法の一例を説明するための説明図である。ただし、図42に示す例では、簡単のために、バックアップRAM領域のデータのサイズを3バイトとする。電源電圧低下にもとづく電力供給停止時処理において、図42に示すように、チェックサムデータとして初期データ(この例では00(H))が設定される。次に、「00(H)」と「F0(H)」の排他的論理和がとられ、その結果と「16(H)」の排他的論理和がとられる。さらに、その結果と「DF(H)」の排他的論理和がとられる。そして、その結果(この例では「39(H)」)を論理反転して得られた値(この例では「C6(H)」)がチェックサムバッファに設定される。
【0261】
なお、図42では、説明を容易にするために、論理反転前のデータ「39(H)」がチェックサムバッファに格納されている様子が示されている。なお、初期データとしての00(H)はステップS460で設定されるチェックサムデータに対するクリアデータに応じた値であるが、実際には、00(H)との排他的論理和は演算前と後とで値が変わらないので、00(H)との排他的論理和演算を行わなくてもよい。
【0262】
この実施の形態では、チェックサムバッファは、バックアップRAM領域(変動データ記憶手段)の最後のアドレスに格納されている。従って、例えば、チェックサム作成方法のプログラムに誤りがないかどうか確認する際に、容易にその確認を行うことができる。RAM領域の最終アドレスの値が正しいか否か確認すればよいからである。また、この実施の形態では、チェックサム算出開始アドレスはバックアップフラグが設定されるアドレスであり、チェックサム算出最終アドレスは賞球制御用フラグ・バッファのうちの最後のアドレスである(図41参照)。従って、賞球制御用フラグ・バッファの後、すなわち、バックアップRAM領域の最後のアドレスをチェックサムバッファの領域にすれば、RAM領域において無駄が生ずることはない。
【0263】
なお、確認のしやすさやRAM領域の無駄防止を考慮すると、バックアップRAM領域の最初のアドレスをチェックサムバッファの領域にしてもよい。
【0264】
また、遊技機への電力供給開始時にはパリティチェックOKか否かの判断が行われるが(図18におけるステップS9)、その判断では、電力供給停止時処理におけるパリティデータの作成処理(ステップS482〜S491)と同様の処理が行われ、処理結果すなわち演算結果がチェックサムバッファの内容と一致したらパリティチェックOKと判定される。
【0265】
なお、ここでは、バックアップRAM領域の最後または最初のアドレスをチェックサムバッファの領域にしたが、バックアップRAM領域の中途の領域にチェックサムバッファの領域を割り当ててもよい。また、この実施の形態では、作業領域のデータにもとづいてチェックサムが生成されているが、スタック領域のデータも含めてチェックサムを生成するようにしてもよい。
【0266】
さらに、この実施の形態では、電力供給開始時に、電力供給停止時処理における処理と同じ処理によってチェックサムを生成し、生成されたチェックサムとバックアップRAMに保存されていたチェックサムとを比較したが、他の方法を用いてもよい。例えば、バックアップRAMに保存されていたチェックサムを初期値として、電力供給停止時処理において演算対象となった各データについて演算を行い、演算結果が所定値(例えば00(H))と一致したらパリティチェックOKと判定するようにしてもよい。また、パリティチェックのためのチェックデータはチェックサムに限られず、バックアップRAMの内容が正当に保存されているかを判定できるものであれば、他のチェックデータを用いてもよい。
【0267】
図43は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLの電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
【0268】
電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御用CPU371のNMI端子に入力される。CPU56および払出制御用CPU371は、NMI処理によって、所定の電力供給停止時処理を実行する。
【0269】
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPU371がシステムリセット状態になる。なお、CPU56および払出制御用CPU371は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0270】
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPU371がシステムリセット状態とされている。
【0271】
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図43に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
【0272】
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともIC駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。
【0273】
その場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧(スイッチ電圧)が+12Vであることから、+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
止する。
【0274】
次に、遊技制御手段以外の電気部品制御手段の例として、表示制御用CPU101を含む表示制御手段について説明する。図44は、表示制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また表示制御の起動間隔を決めるための2msタイマの初期設定等を行うための初期化処理が行われる(ステップS701)。その後、この実施の形態では、表示制御用CPU101は、タイマ割込フラグの監視(ステップS703)の確認を行うループ処理に移行する。なお、ループ内では所定の乱数を発生するためのカウンタを更新する処理も行われる(ステップS702)。そして、図45に示すように、タイマ割込が発生すると、表示制御用CPU101は、タイマ割込フラグをセットする(ステップS715)。メイン処理において、タイマ割込フラグがセットされていたら、表示制御用CPU101は、そのフラグをクリアし(ステップS704)、以下の可変表示制御処理を実行する。
【0275】
なお、この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、可変表示制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な可変表示制御処理はメイン処理において実行されるが、タイマ割込処理で可変表示制御処理を実行してもよい。
【0276】
可変表示制御処理において、表示制御用CPU101は、まず、受信した表示制御コマンドを解析する(コマンド解析実行処理:ステップS705)。次いで、初期化報知コマンドを受信しているか否か確認する(ステップS706)。具体的には、初期化報知コマンドに対応するコマンド受信フラグがセットされているか否か確認する。初期化報知コマンドを受信していれば、初期化処理の実行を報知するための初期化報知を開始する(ステップS707)。この例では、初期化報知として、可変表示装置9に、例えば「初期化処理実行中!」などの文字や図形などによって構成される初期化報知画面を表示する。初期化報知画面は、初期化処理の実行を報知するための画面であり、初期化報知画面を示すデータは、例えばキャラクタROM86に格納されている。また、表示制御用CPU101は、初期化報知中フラグをオンするとともに(ステップS708)、初期化報知期間タイマを設定する(ステップS709)。初期化報知中フラグは、初期化報知の実行中であるか否かを確認するためのフラグであり、表示制御基板80が備えるRAMに保存されている。初期化報知期間タイマは、初期化報知の実行期間を計測するためのタイマである。初期化報知の実行期間は、報知を確実とするために比較的長い期間(例えば5分)が設定される。
【0277】
次いで、表示制御用CPU101は、初期化報知中フラグがオン状態であるか否か確認する(ステップS710)。初期化報知中フラグがオン状態であれば、初期化報知期間タイマがタイムアウトしているか否か確認し(ステップS711)、タイムアウトしていれば、初期化報知中フラグをオフするとともに(ステップS712)、可変表示装置9での初期化報知画面の表示を終了する(ステップS713)。
【0278】
さらに、表示制御用CPU101は、表示制御プロセス処理を行う(ステップS714)。表示制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。その後、ステップS702に戻る。
【0279】
次に、主基板31からの表示制御コマンド受信処理について説明する。図46は、主基板31から受信した表示制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の表示制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。音声制御手段や、ランプ制御手段においても同様に、リングバッファ形式でないバッファ形式としてもよい。この場合、表示制御手段、音声制御手段、ランプ制御手段は、変動パターンなどの格納領域に格納される最新のコマンドにもとづき制御される。これにより、主基板31からの指示に迅速に対応することができる。
【0280】
図47は、割込処理による表示制御コマンド受信処理を示すフローチャートである。主基板31からの表示制御用のINT信号は表示制御用CPU101の割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、表示制御用CPU101において割込がかかる。そして、図47に示す表示制御コマンドの受信処理が開始される。
【0281】
表示制御コマンドの受信処理において、表示制御用CPU101は、まず、各レジスタをスタックに退避する(ステップS670)。なお、割込が発生すると表示制御用CPU101は自動的に割込禁止状態に設定するが、自動的に割込禁止状態にならないCPUを用いている場合には、ステップS670の処理の実行前に割込禁止命令(DI命令)を発行することが好ましい。次いで、表示制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS671)。そして、2バイト構成の表示制御コマンドのうちの1バイト目であるか否か確認する(ステップS672)。
【0282】
1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である表示制御コマンドのうちのMODEデータ(1バイト目)のはずである(図27参照)。そこで、表示制御用CPU101は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す受信コマンドバッファに格納する(ステップS673)。
【0283】
表示制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS674)。既に受信したか否かは、受信バッファ(受信コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0284】
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す受信コマンドバッファに格納する(ステップS675)。先頭ビットが「0」であるのは、2バイト構成である表示制御コマンドのうちのEXTデータ(2バイト目)のはずである(図27参照)。なお、ステップS674における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
【0285】
ステップS675において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS676)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS677)、12以上であればコマンド受信個数カウンタをクリアする(ステップS678)。その後、退避されていたレジスタを復帰し(ステップS679)、割込許可に設定する(ステップS680)。
【0286】
表示制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。なお、このことは、払出制御コマンド、ランプ制御コマンドおよび音制御コマンドについても同様である。
【0287】
図48は、コマンド解析処理(ステップS705)の具体例を示すフローチャートである。主基板31から受信された表示制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、受信コマンドバッファに格納されているコマンドの内容が確認される。
【0288】
コマンド解析処理において、表示制御用CPU101は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS681)。格納されているか否かは、コマンド受信カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、表示制御用CPU101は、初期化処理中フラグがオン状態であるか確認する(ステップS682)。初期化処理中フラグがオン状態であれば、コマンド受信バッファに格納されている受信コマンドをクリアする(ステップS683)。すなわち、表示制御用CPU101は、初期化報知の実行中には、受信コマンドにもとづく処理を実行しない。なお、受信コマンドをクリアしたら読出ポインタの値を+1しておく。また、初期化処理中フラグがオフ状態であれば、表示制御用CPU101は、コマンド受信バッファから受信コマンドを読み出す(ステップS684)。なお、読み出したら読出ポインタの値を+1しておく。
【0289】
読み出した受信コマンドが左図柄指定コマンドであれば(ステップS685)、そのコマンドのEXTデータを左停止図柄格納エリアに格納し(ステップS686)、対応する有効フラグをセットする(ステップS687)。なお、左図柄指定コマンドであるか否かは、2バイトの表示制御コマンドのうちの1バイト目(MODEデータ)によって直ちに認識できる。
【0290】
読み出した受信コマンドが中図柄指定コマンドであれば(ステップS688)、表示制御用CPU101は、そのコマンドのEXTデータを中停止図柄格納エリアに格納し(ステップS689)、対応する有効フラグをセットする(ステップS690)。読み出した受信コマンドが右図柄指定コマンドであれば(ステップS691)、そのコマンドのEXTデータを右停止図柄格納エリアに格納し(ステップS692)、対応する有効フラグをセットする(ステップS693)。なお、左中右停止図柄格納エリアは、表示制御基板80が備える例えばRAMに設けられている。
【0291】
読み出した受信コマンドが変動パターンコマンドであれば(ステップS694)、表示制御用CPU101は、そのコマンドのEXTデータを変動パターン格納エリアに格納し(ステップS695)、変動パターン受信フラグをセットする(ステップS696)。なお、変動パターン格納エリアは、表示制御基板80が備える例えばRAMに設けられている。
【0292】
読み出した受信コマンドが初期化報知コマンドであれば(ステップS697)、表示制御用CPU101は、初期化報知受信フラグをセットする(ステップS698)。なお、本例では、初期化報知コマンドとして、大当り開始時表示コマンドを用いているため、受信コマンドが初期化報知コマンドとして送信されてきたコマンドであるか否かを確認する必要がある。この場合、例えば、遊技機への電力供給が開始されたあとであって、変動パターンコマンドを受信する前に、大当り開始時表示コマンドを受信した場合には、初期化報知コマンドを受信したものと判定するようにすればよい。なお、遊技機への電力供給が開始されたあとの所定期間が経過する前に大当り開始時表示コマンドを受信した場合に初期化報知コマンドを受信したものとするなど、他の方法によって確認するようにしてもよい。
【0293】
そして、ステップS684にて読み出した受信コマンドがその他の表示制御コマンドである場合には、受信コマンドに対応するフラグをセットする(ステップS699)。
【0294】
以上説明したように、初期化処理を実行する場合には、可変表示装置9にて初期化報知を行う構成としたので、遊技制御手段に不正に信号を送り込むような不正行為が行われても、そのような不正行為を容易に発見することができるとともに、不正行為者が報知に気付いて直ちに離席したような場合でも、再度の不正行為を実行しづらくするという効果がある。初期化処理は、遊技店の営業中において、停電からの復旧時でもない限り実行されることは考えにくい。それにもかかわらず、初期化処理が実行されているということは、スタックオーバーフローを発生させたり遊技制御手段にリセット信号を入力させるなどの不正行為によってシステムリセットされた可能性が高い。従って、停電復旧時でも遊技店員による初期化操作がなされたわけでもないのに、遊技店の営業時間中に初期化報知がなされている場合には、不正行為(RAMをクリアさせて初期状態とするなどの行為)が行われたものと判断することができ、その後の不正行為(大当りを発生させるなどの行為)を未然に防ぐことができる。
【0295】
また、上述したように、遊技制御手段(CPU56)が、初期化報知を行うことを示す初期化報知コマンドを表示制御手段(表示制御用CPU101)に送信し、表示制御手段が初期化報知のための処理を実行するように構成したので、遊技制御手段における初期化報知を行うための処理負担が軽減される。
【0296】
また、上述したように、初期化報知を所定期間(初期化報知期間タイマに設定される期間であって、例えば5分などのあらかじめ定められた期間)継続的に実行する構成としたので、不正行為の発見を容易とすることができる。
【0297】
また、上述したように、表示制御手段が、初期化報知の実行中に新たにコマンドを受信した場合でも、新たに受信したコマンドにもとづく制御を実行しない構成としたので、初期化報知を優先的に行うことができ、たとえ不正にコマンドが送信されたとしても、そのコマンドにもとづく処理が実行されず初期化報知が継続されるので、不正に送信されたコマンドにもとづいて報知が停止されてしまうことを防止することができる。
【0298】
また、上述したように、初期化報知の指定を行う初期化報知コマンドとして、大当り開始時表示コマンドを用いる構成としたので、初期化報知を妨害するような不正行為が行われても、その不正行為を容易に発見することができる。すなわち、初期化報知コマンドを不正にマスクして、初期化報知コマンドによる指定を不正に不能とした場合には、大当り開始時表示コマンドも同時にマスクされたことになるので、大当り遊技が開始されたときに大当り開始時表示がなされないことになる。このように、初期化報知コマンドを不正にマスクした場合には、通常の遊技に影響を及ぼすことになる。従って、初期化報知コマンドによる指定を不正に不能としたことを容易に発見することができる。
【0299】
なお、初期化報知の指定を行う初期化報知コマンドとして、他の既存のコマンドを用いる構成としてもよい。その場合にも、初期化報知コマンドを不正にマスクした場合には、通常の遊技に影響を及ぼすことになるので、不正行為を容易に発見することができる。この場合、初期化報知コマンドとして、大当り遊技に関するコマンド(例えば、大入賞口開放時表示コマンド、大入賞口開放時表示コマンド、大当り終了表示コマンドなど)などの比較的目立つ演出を指定するコマンドを用いるようにすれば、不正行為をより容易に発見することができる。
【0300】
また、初期化報知の指定を行う初期化報知コマンドとして、他の既存のコマンドとは異なる専用のコマンドを用いる構成としてもよい。このように構成すれば、初期化報知コマンドを受信した場合に、表示制御手段が、共通に用いられている他のコマンドとして送信されたのであるか初期化報知の指定を行うコマンドとして送信されてきたのかを確認することなく、初期化報知の指定を行うコマンドであることを直ちに把握することができるようになる。
【0301】
また、上述したように、遊技制御手段(CPU56)が、初期化処理中であることを示す初期化信号を遊技機外部に出力する構成としたので、遊技店側などにおいて初期化処理中であることを認識可能とすることができる。よって、実際には電力供給が停止していないにも関わらず初期化処理中であることを示す信号が遊技機から出力された場合には不正行為がなされたと判断することができ、不正行為者が不正行為を行った遊技機から離れた場所にて容易に不正行為を発見することができるようになる。
【0302】
なお、遊技制御手段(CPU56)が、電力供給停止時処理中であることを示す信号を遊技機外部に出力するようにしてもよい。例えば、情報出力信号としてホールコンピュータ等に出力する。電力供給停止時処理中であることを示す信号をホールコンピュータ等に出力するようにした場合には、遊技店側で電力供給停止時処理中であることが認識可能になる。よって、実際には電力供給が停止していないにも関わらず電力供給停止時処理中であることを示す信号が遊技機から出力された場合には不正行為がなされたと判断することができる。
【0303】
このように、遊技店側で遊技機が初期化処理中または電力供給停止時処理中であることを認識可能に構成した場合には、遊技店側において、不正行為が発覚していることを不正行為者が気付かないうちに、不正行為を行っている者を特定することができる。
【0304】
なお、上述した実施の形態では、可変表示装置9にて初期化報知を行うことによって初期化処理の実行を報知する構成としていたが、可変表示装置9以外の表示手段(例えば、初期化報知用の専用の表示装置)によって報知する構成としてもよい。また、初期化報知を、例えばランプや音などによって報知する構成としてもよい。
【0305】
次に、初期化報知をランプやLEDなどの発光体によって報知する構成について説明する。ここでは、電気部品制御手段の一例であり、ランプ制御基板35に搭載されたランプ制御用CPU351を含む発光体制御手段としてのランプ制御手段の動作を説明する。
【0306】
図49は、ランプ制御用CPU351が実行するメイン処理を示すフローチャートである。ランプ制御用CPU351は、メイン処理において、まず、レジスタ、ワークエリアを含むRAMおよび出力ポート等を初期化する初期化処理を実行する(ステップS441)。その後、この実施の形態では、ランプ制御用CPU351は、タイマ割込フラグの監視(ステップS443)の確認を行うループ処理に移行する。なお、ループ内では所定の乱数を発生するためのカウンタを更新する処理も行われる(ステップS442)。そして、図50に示すように、タイマ割込が発生すると、ランプ制御用CPU351は、タイマ割込フラグをセットする(ステップS457)。メイン処理において、タイマ割込フラグがセットされていたら、ランプ制御用CPU351は、そのフラグをクリアし(ステップS444)、以下のランプ制御処理を実行する。
【0307】
なお、この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、ランプ制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的なランプ制御処理はメイン処理において実行されるが、タイマ割込処理でランプ制御処理を実行してもよい。
【0308】
ランプ制御処理において、ランプ制御用CPU351は、まず、主基板31からランプ制御コマンドを受信したか否かの確認を行う(ステップS445:コマンド認識処理)。次いで、初期化報知コマンドを受信しているか否か確認する(ステップS446)。具体的には、初期化報知コマンドに対応するコマンド受信フラグがセットされているか否か確認する。ここでは、初期化報知コマンドとして、例えば大当り開始時ランプ指定コマンド(図30参照)が用いられる。初期化報知コマンドを受信していれば、初期化処理の実行を報知するための初期化報知を開始する(ステップS447)。この例では、初期化報知として、ランプ制御基板35が制御する発光体を点灯させたり点滅させたりする処理を行う。また、ランプ制御用CPU351は、初期化報知中フラグをオンするとともに(ステップS448)、初期化報知期間タイマを設定する(ステップS449)。初期化報知中フラグは、初期化報知の実行中であるか否かを確認するためのフラグであり、ランプ制御基板35が備えるRAMに保存されている。初期化報知期間タイマは、初期化報知の実行期間を計測するためのタイマである。初期化報知の実行期間は、報知を確実とするために比較的長い期間(例えば5分)が設定される。
【0309】
次いで、ランプ制御用CPU351は、初期化報知中フラグがオン状態であるか否か確認する(ステップS450)。初期化報知中フラグがオン状態であれば、初期化報知期間タイマがタイムアウトしているか否か確認し(ステップS451)、タイムアウトしていれば、初期化報知中フラグをオフするとともに(ステップS452)、発光体を用いた初期化報知の実行を終了する(ステップS453)。
【0310】
さらに、ランプ制御用CPU351は、受信したランプ制御コマンドに応じて、使用するランプデータを変更する等の処理であるコマンド実行処理を行う(ステップS454)。なお、主基板31からのランプ制御コマンドは、INT信号の入力に応じて起動される割込処理で取り込まれ、RAMに形成されている入力バッファに格納される。その後、この実施の形態では、ランプ制御用CPU351は、ランププロセス更新処理およびポート出力処理を行う(ステップS455,S456)。その後、ステップS442に戻る。
【0311】
この実施の形態では、遊技の進行に応じて点滅制御されるランプ・LEDの点灯パターンは、ROMに格納されているランプデータに応じて制御される。ランプデータは、制御パターンの種類毎に用意されている(特別図柄の変動中のランプ・LEDによる演出パターンを指定する制御コマンドおよび遊技進行状況に応じて遊技制御手段から送出されるその他の遊技演出に関する制御コマンド毎に用意されている)。ランプデータには、ランプ・LEDを点灯または消灯することを示すデータ、および点灯または消灯の期間(プロセスタイマ値)を示すデータが設定されている。すなわち、制御用データ領域には、発光体の点灯パターンを示すデータが格納されている。
【0312】
ランププロセス更新処理では、タイマ状態保存領域に保存されている演出タイマの値にもとづいて、プロセスタイマがタイムアウトしたか否かを判定する。具体的には、タイマ状態保存領域に保存されている演出タイマの値に、ランプ・LEDを消灯または点灯させることが設定されているデータに応じたプロセスタイマ値を、そのデータにもとづく演出を開始するときに加算し、プロセス終了判定値を算出してRAMの所定の領域に保存しておく。なお、演出タイマはタイマ割込処理にて更新されていき、メイン処理の繰り返し処理が実行される毎にタイマ状態設定処理にて最新の演出タイマの値がタイマ状態保存領域にコピーされる。そして、タイマ状態保存領域に保存されている演出タイマの値と、算出されているプロセス終了判定値とが一致するか否かを確認して、一致している場合にはプロセスタイマがタイムアウトしたものと判定する。プロセスタイマがタイムアウトしたと判定された場合には、ランプデータにおける次のアドレスに設定されているデータに応じてランプ・LEDを消灯または点灯させることに決定されるとともに、その決定結果に応じたプロセスタイマ値を、タイマ状態保存領域に保存されている演出タイマの値に加算して新たなプロセス終了判定値が算出されて保存される。新たなプロセス終了判定値が設定されたときには点灯/消灯の切替がなされたときであるから、ポート出力処理において、ランプ・LEDを点灯または消灯のためのデータが該当する出力ポートに出力される。
【0313】
以上のように、初期化処理を実行する場合に、発光体を用いて初期化報知を行う構成とした場合についても、可変表示装置9で報知する場合と同様に、遊技制御手段に不正に信号を送り込むような不正行為が行われても、そのような不正行為を容易に発見することができるとともに、不正行為者が報知に気付いて直ちに離席したような場合でも、再度の不正行為を実行しづらくするという効果がある。また、不正行為(RAMをクリアさせて初期状態とするなどの行為)が行われたことを容易に発見することができるので、その後の不正行為(大当りを発生させるなどの行為)を未然に防ぐことができる。
【0314】
次に、初期化報知をスピーカなどの音声出力装置によって報知する構成について説明する。ここでは、電気部品制御手段の一例であり、音制御基板70に搭載された音制御用CPU701を含む音声制御手段(音制御手段)の動作を説明する。
【0315】
図51は、音制御用CPU701が実行するメイン処理を示すフローチャートである。音制御用CPU701は、メイン処理において、まず、レジスタ、ワークエリアを含むRAMおよび出力ポート等を初期化する初期化処理を実行する(ステップS471)。その後、この実施の形態では、音制御用CPU701は、タイマ割込フラグの監視(ステップS473)の確認を行うループ処理に移行する。なお、ループ内では所定の乱数を発生するためのカウンタを更新する処理も行われる(ステップS472)。そして、図52に示すように、タイマ割込が発生すると、音制御用CPU701は、タイマ割込フラグをセットする(ステップS487)。メイン処理において、タイマ割込フラグがセットされていたら、音制御用CPU701は、そのフラグをクリアし(ステップS474)、以下の音制御処理を実行する。
【0316】
なお、この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、音制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な音制御処理はメイン処理において実行されるが、タイマ割込処理で音制御処理を実行してもよい。
【0317】
音制御処理において、音制御用CPU701は、まず、主基板31から音制御コマンドを受信したか否かの確認を行う(ステップS475:コマンド認識処理)。次いで、初期化報知コマンドを受信しているか否か確認する(ステップS476)。具体的には、初期化報知コマンドに対応するコマンド受信フラグがセットされているか否か確認する。ここでは、初期化報知コマンドとして、例えば大当り開始時音指定コマンド(図31参照)が用いられる。初期化報知コマンドを受信していれば、初期化処理の実行を報知するための初期化報知を開始する(ステップS477)。この例では、初期化報知として、音制御基板70が制御するスピーカ27を用いて所定の音出力処理を行う。また、音制御用CPU701は、初期化報知中フラグをオンするとともに(ステップS478)、初期化報知期間タイマを設定する(ステップS479)。初期化報知中フラグは、初期化報知の実行中であるか否かを確認するためのフラグであり、音制御基板70が備えるRAMに保存されている。初期化報知期間タイマは、初期化報知の実行期間を計測するためのタイマである。初期化報知の実行期間は、報知を確実とするために比較的長い期間(例えば5分)が設定される。
【0318】
次いで、音制御用CPU701は、初期化報知中フラグがオン状態であるか否か確認する(ステップS480)。初期化報知中フラグがオン状態であれば、初期化報知期間タイマがタイムアウトしているか否か確認し(ステップS481)、タイムアウトしていれば、初期化報知中フラグをオフするとともに(ステップS482)、音出力手段(スピーカ27)を用いた初期化報知の実行を終了する(ステップS483)。
【0319】
さらに、音制御用CPU701は、受信した音制御コマンドに応じて、使用する音声データを変更する等の処理であるコマンド実行処理を行う(ステップS484)。なお、主基板31からの音制御コマンドは、INT信号の入力に応じて起動される割込処理で取り込まれ、RAMに形成されている入力バッファに格納される。その後、この実施の形態では、音制御用CPU701は、音声プロセス更新処理およびポート出力処理を行う(ステップS485,S486)。その後、ステップS472に戻る。
【0320】
この実施の形態では、遊技の進行に応じてスピーカ27から出力される音声パターンは、ROMに格納されている音声データに応じて制御される。音声データは、制御パターンの種類毎に用意されている(特別図柄の変動中の音声出力手段による演出パターンを指定する制御コマンドおよび遊技進行状況に応じて遊技制御手段から送出されるその他の遊技演出に関する制御コマンド毎に用意されている)。
【0321】
また、音声合成回路702は、転送リクエスト信号(SIRQ)、シリアルクロック信号(SICK)、シリアルデータ信号(SI)および転送終了信号(SRDY)によって制御される。音声合成回路702は、SIRQがローレベルになると、SICKに同期してSIを1ビットずつ取り込み、SRDYがローレベルになるとそれまでに受信した各SIからなるデータを1つの音声再生用データと解釈する。
【0322】
各音声データには、音声合成回路702に出力されるシリアルデータ信号に応じたデータ、およびそのデータに応じて発生される音声の継続期間(プロセスタイマ値)を示すデータが設定されている。すなわち、制御用データには、音発生手段(この例ではスピーカ27)からの出力パターンを示すデータが格納されている。
【0323】
音声プロセス更新処理では、プロセスタイマ値に応じた値が初期設定されたタイマの値の減算処理が行われ、そのタイマがタイムアウトすると、音声データにおける次のアドレスに設定されているデータに応じて出力音声に変更することが決定されるとともに、その決定結果に応じたプロセスタイマ値がタイマに設定される。また、プロセスタイマ値がタイマに設定されたときには出力音声の切替がなされたときであるから、ポート出力処理(ステップS486)において、音声合成回路702にデータを出力するための出力ポートを介して、音声合成回路702に、新たな出力音声に対応したデータが出力される。
【0324】
音声プロセス更新処理では、タイマ状態保存領域に保存されている演出タイマの値にもとづいて、プロセスタイマがタイムアウトしたか否かを判定する。具体的には、タイマ状態保存領域に保存されている演出タイマの値に、スピーカ27に音声出力させることが設定されているデータに応じたプロセスタイマ値を、そのデータにもとづく演出を開始するときに加算し、プロセス終了判定値を算出してRAMの所定の領域に保存しておく。なお、演出タイマはタイマ割込処理にて更新されていき、メイン処理の繰り返し処理が実行される毎にタイマ状態設定処理にて最新の演出タイマの値がタイマ状態保存領域にコピーされる。そして、タイマ状態保存領域に保存されている演出タイマの値と、算出されているプロセス終了判定値とが一致するか否かを確認して、一致している場合にはプロセスタイマがタイムアウトしたものと判定する。プロセスタイマがタイムアウトしたと判定された場合には、音声データにおける次のアドレスに設定されているデータに応じて音声出力を行うことに決定されるとともに、その決定結果に応じたプロセスタイマ値を、タイマ状態保存領域に保存されている演出タイマの値に加算して新たなプロセス終了判定値が算出されて保存される。新たなプロセス終了判定値が設定されたときには出力音声の切替がなされたときであるから、ポート出力処理(ステップS486)において、音声合成回路702にデータを出力するための出力ポートを介して、音声合成回路702に、新たな出力音声に対応したデータが出力される。
【0325】
具体的には、音声制御用CPU701は、ポート出力処理において、SIRQをオン(ローレベル)にして、ROM(音声コマンドデータ領域)から読み出したデータ(音声コマンド)をSICKに同期してSIとして出力し、出力が完了したらSRDYをローレベルにする。音声合成回路702は、SIによってデータを受信すると、受信したデータに応じた音声を発生する。
【0326】
以上のように、初期化処理を実行する場合に、音出力手段を用いて初期化報知を行う構成とした場合についても、可変表示装置9で報知する場合と同様に、遊技制御手段に不正に信号を送り込むような不正行為が行われても、そのような不正行為を容易に発見することができるとともに、不正行為者が報知に気付いて直ちに離席したような場合でも、再度の不正行為を実行しづらくするという効果がある。また、不正行為(RAMをクリアさせて初期状態とするなどの行為)が行われたことを容易に発見することができるので、その後の不正行為(大当りを発生させるなどの行為)を未然に防ぐことができる。
【0327】
なお、上記の他の実施の形態では、発光体を用いて初期化報知を行う場合と、音出力手段を用いて初期化報知を行う場合の構成とを簡単に説明したが、説明を省略した部分についても、上述したした可変表示装置9にて初期化報知を報知する場合と同様に構成することができ、可変表示装置9を用いて初期化報知を行う場合と同様の効果を得ることができる。
【0328】
また、上記の各実施の形態では、遊技制御手段(CPU56)が、電力供給停止時処理中であることを示すコマンドを出力し、表示制御手段(表示制御用CPU101)が電力供給停止時処理の実行を示す報知を行う構成としていたが、他のサブ基板35,70にて電力供給停止時処理の実行を示す報知を行う構成としてもよい。なお、電力供給停止時処理の実行を示す報知を行う場合には、遊技機への電力供給が停止されるまで報知を継続して行うことが望ましい。スタックオーバーフローを発生させたり、リセット信号をCPU56に不正に入力させたりする不正行為が行われた場合には、主基板31が初期化された場合であっても電力が継続して供給されるので、サブ基板35,70,80では電力供給停止時処理の実行を示す報知を継続して行うことができる。従って、不正行為を容易に発見することができるようになる。
【0329】
また、上記の実施の形態では、電源断信号(NMI信号)がマスク不能割込端子に入力されたが、マスク可能割込端子に入力するようにしてもよく、入力ポートに入力するようにしてもよい。入力ポートに入力される場合には、遊技制御手段は、ポートチェックの結果電源断信号がオン状態であれば、上述したマスク不能割込処理に相当する処理を実行する。
【0330】
なお、上記の実施の形態では、電源監視手段は電源基板910に搭載されていたが、主基板31以外の他の基板や、遊技機における他の箇所に設定されていてもよい。また、システムリセット手段は主基板31に搭載されていたが、電源基板910等の他の基板に搭載されていてもよい。
【0331】
また、上述した実施の形態では、大当り判定用乱数を生成するためのカウンタは、初期化処理(図18に示すステップS9)において0に初期化され、乱数値が1周すると初期値用乱数の値にもとづいて新たな初期値(0〜316のいずれか:図26参照)が設定される。よって、初期化後の1周目においては、上述したように、大当り判定用乱数を生成するためのカウンタのカウント値があらかじめ決められた大当り判定値に一致するタイミングを容易に把握できてしまう。従って、大当り判定用乱数の更新が、初期化処理後の1周目であるときには、たとえ始動入賞があったとしても、例えば上述したステップS44にて大当り判定用乱数を抽出しないで他のはずれ値を用いるようにしたり、ステップS54にて常にはずれと判断するなどのようにして、大当り判定用乱数にもとづく抽選を行わないように構成してもよい。このように構成すれば、大当り判定用乱数の初期値を特定できなくなるので、大当り判定用乱数の更新が初期化後の1周目であるときであっても、不正行為によって大当り判定値を狙われてしまうことを防止することができる。
【0332】
また、上記の実施の形態では、判定用乱数や初期値決定用乱数を生成するためのカウンタは、初期化処理(図18に示すステップS9)において0に初期化されたが、初期化処理においてカウンタの値を0に初期化しないようにしてもよい。そのようにすれば、初期化処理が実行されても各カウンタの初期値がばらつくので、不正行為によって大当り判定値を狙われてしまうことを防止することができる。
【0333】
例えば、システムリセット回路65に相当する回路(リセット回路とする。)が、主基板31ではなく電源源基板910等の主基板31の外部の基板に設けられ、そのリセット回路からシステムリセット信号を主基板31に入力しているような構成では、基板間で、上述したような不正行為がなされる可能性がある。すなわち、基板間のケーブルに、主基板31に対して不正にシステムリセット信号を入力させるような不正回路が接続されて不正行為がなされる可能性がある。主基板31のCPU56に対して不正にシステムリセット信号が入力された場合には、遊技機に対して電力供給が開始された場合と同様に制御状態が初期状態に戻る。すなわち、CPU56は、図18に示されたメイン処理を最初から実行する状態になる。この場合、電力供給停止時処理は実行されていないので、遊技状態復旧処理(図18におけるステップS8)は実行されず、CPU56は初期化処理を実行する。
【0334】
初期化処理において、判定用乱数を生成するためのカウンタのカウント値を0に初期化すると、不正にシステムリセット信号を入力させた時点から、大当り判定用乱数(ランダム1)を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが容易になってしまう。そして、不正行為者は、そのタイミングで始動入賞が生じたような不正信号を主基板31に送り込むことによって、不正に大当りを生じさせてしまう。
【0335】
しかし、初期化処理において、判定用乱数を生成するためのカウンタのカウント値を0に初期化しないようにしておくか、判定用乱数の更新が1周目である場合には大当り抽選を行わないようにしておけば、そのような不正行為を防止することができる。そして、電力供給停止時処理が実行された後、電力供給が復旧して遊技状態復旧処理が実行される場合には、遊技状態復旧処理において、CPU56は、バックアップRAMに保存されているカウント値からカウンタの歩進を再開する。
【0336】
あるいは、初期化処理において、初期値決定用乱数を生成するためのカウンタのカウント値を0に初期化しないようにしておくか、判定用乱数の更新が1周目である場合には大当り抽選を行わないようにしておけば、不正にシステムリセット信号が入力されたことによって制御状態が初期状態に戻っても、すぐに1周目の更新を終え、判定用乱数を生成するためのカウンタのカウント値は、初期値決定用乱数を生成するためのカウンタのカウント値によって更新されるようになるので、ランダム1を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが困難になる。そして、電力供給停止時処理が実行された後、電力供給が復旧して遊技状態復旧処理が実行される場合には、遊技状態復旧処理において、CPU56は、バックアップRAMに保存されているカウント値から、初期値決定用乱数を生成するためのカウンタの歩進を再開する。
【0337】
また、判定用乱数を生成するためのカウンタおよび初期値決定用乱数を生成するためのカウンタとは別に、無限カウンタ(例えば、タイマ割込処理で常に更新される)を設け、初期化処理において、無限カウンタのカウント値を、初期値としてランダム1を生成するためのカウンタに設定するようにしてもよい。そのようにしても、ランダム1を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが困難になる。なお、無限カウンタは例えば2バイトで構成されるが、初期化処理において、例えば無限カウンタの下位8ビットの値が、ランダム1を生成するためのカウンタに設定される。この無限カウンタは、例えば、EEPROMなどの読み書き可能で電力供給が停止しても記憶内容を保持可能な記憶媒体に保存される。なお、無限カウンタは、遊技機に供給される各電源とは別の独自のバックアップ電源を有するRAMに保存されるようにしてもよい。
【0338】
上記のように、大当り判定用乱数の初期値にばらつきをもたせたり、大当り判定用乱数の更新が1周目であるときには大当り抽選を行わないようにした場合には、上述したスタックオーバーフローを発生させる不正行為や、リセット信号を強制的に入力させる不正行為の他、例えば遊技機に供給される制御電源(5V)やバックアップ電源を切ることによってRAMクリアする不正行為が行われた場合であっても、そのような不正行為によって大当りが発生してしまうことを防止することができる。
【0339】
なお、上述した各実施の形態によれば、遊技機に供給される制御電源(5V)やバックアップ電源を切ることによってRAMクリアする不正行為が行われた場合であっても、初期化報知が行われるので、そのような不正行為を容易に発見することができる。
【0340】
なお、上述した各実施の形態によれば、表示制御用CPU101、ランプ制御用CPU351、あるいは音制御用CPU701の制御によって初期化報知を行う構成としていたが、CPU56が表示器などを制御して初期化報知を行う構成としてもよい。
【0341】
なお、上述した各実施の形態において、スタックするデータがRAM55に設けられたスタック領域の記憶容量を超えてしまった場合には、作業領域のデータ領域にまでスタックデータが溢れてきてしまい(オーバーフロー)プログラムが暴走することが考えられる。つまり、プログラム上のある命令(オペコード)により指定されたデータの格納先のアドレスが正規のアドレスではなく溢れたデータにより書き換えられた誤ったデータによりアドレス(例えばFFFF(H))が指定されてしまい、CPU56が異常と判断し、電力供給の停止や再開がされない場合であっても、プログラムが先頭アドレスから開始される。よって、この場合には、NMI処理(電力供給停止時処理)にて実行されるはずのバックアップフラグのセットやチェックサムデータのセットがなされていないので、ステップS7b,S7cの処理によって初期化処理が実行されることになる。また、スタックオーバーフローが発生した場合には、オペコードにより指定されたデータの格納先アドレスを指定するスタックポインタのデータ自体がスタック領域外のアドレスを示すデータとなるため、上記と同様に処理されることになる。
【0342】
また、上述した実施の形態では、表示制御用CPU101、ランプ制御用CPU351、あるいは音制御用CPU701は、初期化報知の実行期間中は受信コマンドを廃棄して、そのコマンドにもとづく制御を実行しない構成としていたが、初期化報知の実行期間中に受信したコマンドを記憶保持しておき、初期化報知の終了後に記憶保持しているコマンドにもとづく制御を実行する構成としてもよい。
【0343】
なお、上述した実施の形態では、バックアップRAMに電力を供給するバックアップ電源が電源基板910において作成される構成としていたが、バックアップ電源は、主基板31において作成されるようにしてもよい。また、他の電気部品制御基板35,70,80が電源バックアップ可能な構成とされている場合に、その電気部品制御基板35,70,80においてバックアップ電源を作成する構成としてもよい。
【0344】
なお、上述した実施の形態において、「特定遊技状態」とは、所定の遊技価値が付与された遊技者にとって有利な状態を意味する。具体的には、「特定遊技状態」は、例えば、例えば可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態(大当り遊技状態)、遊技者にとって有利な状態となるための権利が発生した状態、景品遊技媒体払出の条件が成立しやすくなる状態、遊技者に対して得点を付与するための条件が成立しやすくなる状態などの、所定の遊技価値が付与された状態である。
【0345】
また、上述した実施の形態において、「特定の条件」とは、遊技機の制御状態を特定遊技状態とするための条件を意味する。従って、特定の条件が成立すると、遊技機の制御状態が特定遊技状態となる。具体的には、特定の条件」とは、例えば、「複数種類の識別情報(例えば、図柄、絵柄、数値など)を可変表示(例えば、スクロール表示、コマ送り表示、切替え表示など)可能な可変表示装置(例えば、液晶表示装置、ドットマトリクス表示器、セグメント表示器、ドラム式の表示器など)を備える構成とされ、可変表示装置における識別情報の表示結果が特定の表示結果(例えば、全てが同一の識別情報となる表示結果。具体的には、例えば左中右の識別情報が全て「1」となる表示結果。)となった場合に成立する条件とされる。また、例えば、「特定の条件」とは、遊技領域における特定の領域に設けられた球検出手段(例えば、フォトセンサ、近接スイッチなど)により遊技球が検出された場合に成立する条件としてもよい。
【0346】
なお、上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示装置9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0347】
【発明の効果】
以上のように、請求項1または請求項2記載の発明では、遊技機を、遊技制御マイクロコンピュータが、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行し、電力供給が開始されたときに入力されるリセット信号に応じてプログラムを先頭から開始させ、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行し、初期化処理を実行するときには、遊技機に設けられる報知手段にて報知を行うための報知処理を実行する構成としたので、制御手段に初期化処理を実行させる不正行為が行われても、そのような不正行為を容易に発見することができる効果がある。
また、変動データ記憶手段が判定用数値を記憶し、初期化処理を実行するときに判定用数値を初期化する構成とされているので、不安定なデータにもとづく処理が実行され、不具合が生じることを防止することができる。
さらに、データ退避処理実行手段が、データ退避処理にて制御状態の復旧に必要なデータをスタック領域に退避させ、退避させたデータの格納先のアドレスを変動データ記憶手段に格納する処理を行い、スタック領域に退避されたデータがスタック領域のアドレスを超えたときには、初期化処理を実行するように構成されているので、不安定なデータにもとづく処理が実行され、不具合が生じることを防止することができる。
また、遊技制御マイクロコンピュータが、報知処理にて、報知を行うことを示すコマンドを電気部品制御マイクロコンピュータに送信するように構成されているので、遊技制御マイクロコンピュータにおける報知を行うための処理負担が軽減される。
また、請求項1に記載された発明では、電気部品制御マイクロコンピュータが、報知手段に所定期間継続的に報知を実行させ、報知の実行期間中に新たにコマンドを受信したときには、新たに受信したコマンドを破棄する構成とされているので、報知を優先的に行うことができ、不正にコマンドが送信されることによって報知が停止されてしまうことを防止することができる。
【0350】
請求項3記載の発明では、特定の条件が成立した場合に遊技者にとって有利な特定遊技状態に制御可能であり、遊技制御マイクロコンピュータが、報知処理にて、報知を行うことを示すコマンドとして、特定遊技状態の開始から終了までの間に送出されるコマンドを電気部品制御マイクロコンピュータに送出するように構成されているので、報知を行うことを示すコマンドを無効化する不正行為が行われた場合、特定遊技状態の制御に支障を来すこととなり不正行為を容易に発見することができる。
【0351】
請求項4記載の発明では、遊技制御マイクロコンピュータが、初期化処理を実行するときには、遊技機外部に初期化処理の実行を示す信号を出力する初期化信号出力処理を実行するように構成されているので、遊技機から離れた場所で容易に不正行為を発見することができるようになる。
【図面の簡単な説明】
【図1】 パチンコ遊技機を正面からみた正面図である。
【図2】 ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図3】 遊技機を裏面から見た背面図である。
【図4】 各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【図5】 球払出装置の構成例を示す分解斜視図である。
【図6】 遊技盤に設置されているスイッチ基板の部分を示す正面図である。
【図7】 クリアスイッチの構成の一例を示す構成図である。
【図8】 遊技制御基板(主基板)の回路構成例を示すブロック図である。
【図9】 図柄制御基板の回路構成例を示すブロック図である。
【図10】 ランプ制御基板内の回路構成を示すブロック図である。
【図11】 音制御基板内の回路構成を示すブロック図である。
【図12】 払出制御基板の回路構成例を示すブロック図である。
【図13】 電源基板の回路構成例を示すブロック図である。
【図14】 電源監視および電源バックアップのためのCPU周りの一構成例を示すブロック図である。
【図15】 出力ポートのビット割り当ての一例を示す説明図である。
【図16】 出力ポートのビット割り当ての一例を示す説明図である。
【図17】 入力ポートのビット割り当ての一例を示す説明図である。
【図18】 主基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図19】 バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。
【図20】 遊技状態復旧処理を示すフローチャートである。
【図21】 2msタイマ割込処理を示すフローチャートである。
【図22】 特別図柄プロセス処理を示すフローチャートである。
【図23】 始動口スイッチ通過確認処理を示すフローチャートである。
【図24】 可変表示の停止図柄を決定する処理およびリーチ種類を決定する処理を示すフローチャートである。
【図25】 大当りとするか否かを決定する処理を示すフローチャートである。
【図26】 乱数の一例を示す説明図である。
【図27】 制御コマンドのコマンド形態の一例を示す説明図である。
【図28】 制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。
【図29】 表示制御コマンドの内容の一例を示す説明図である。
【図30】 ランプ制御コマンドの内容の一例を示す説明図である。
【図31】 音制御コマンドの内容の一例を示す説明図である。
【図32】 コマンド送信テーブルの一構成例を示す説明図である。
【図33】 コマンドデータ2の一構成例および他の構成例を示す説明図である。
【図34】 INTデータの一構成例を示す説明図である。
【図35】 コマンド送信テーブルの一構成例を示す説明図である。
【図36】 コマンド制御処理を示すフローチャートである。
【図37】 コマンド送信処理ルーチンを示すフローチャートである。
【図38】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図39】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図40】 マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図41】 RAMのアドレスマップを示す説明図である。
【図42】 チェックサム作成方法の一例を説明するための説明図である。
【図43】 遊技機への電力供給停止時の電源低下やNMI信号の様子を示すタイミング図である。
【図44】 表示制御用CPUが実行するメイン処理を示すフローチャートである。
【図45】 表示制御用CPUが実行するタイマ割込処理を示すフローチャートである。
【図46】 コマンド受信バッファの構成を示す説明図である。
【図47】 コマンド受信割込処理を示すフローチャートである。
【図48】 コマンド解析処理を示すフローチャートである。
【図49】 ランプ制御用CPUが実行するメイン処理を示すフローチャートである。
【図50】 ランプ制御用CPUが実行するタイマ割込処理を示すフローチャートである。
【図51】 音制御用CPUが実行するメイン処理を示すフローチャートである。
【図52】 音制御用CPUが実行するタイマ割込処理を示すフローチャートである。
【符号の説明】
1 パチンコ遊技機
31 主基板
35 ランプ制御基板
53 基本回路
55 RAM(変動データ記憶手段)
56 CPU
70 音制御基板
80 図柄制御基板
902 電源監視用IC(電源監視手段)
910 電源基板
916 コンデンサ(バックアップ電源)
950 判定回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko gaming machine or a slot machine in which a player plays a predetermined game and can give a predetermined game value to the player when a predetermined condition is established.
[0002]
[Prior art]
As a gaming machine, a game medium such as a game ball is launched into a game area by a launching device, and when a game medium wins a prize area such as a prize opening provided in the game area, a predetermined number of prize balls are paid out to the player. There is something to be done. Further, a variable display device capable of changing the display state is provided, and is configured to give a predetermined game value to the player when the display result of the variable display device becomes a predetermined specific display mode There is.
[0003]
That the display result of the variable display device that displays the special symbol is a combination of a predetermined display mode is usually referred to as “big hit”. Note that the game value is the right that the state of the variable winning ball device provided in the gaming area of the gaming machine is advantageous for a player who is likely to win a ball, or the advantageous state for a player. It is to generate.
[0004]
When the big hit occurs, for example, the big winning opening is opened a predetermined number of times, and the game shifts to a big hit gaming state where the hit ball is easy to win. And in each open period, if there is a prize for a predetermined number (for example, 10) of the big prize opening, the big prize opening is closed. And the number of times the special winning opening is opened is fixed to a predetermined number (for example, 16 rounds). An opening time (for example, 29.5 seconds) is determined for each opening, and even if the number of winnings does not reach a predetermined number, the big winning opening is closed when the opening time elapses. If a predetermined condition (for example, winning in the V zone provided in the big prize opening) is not established at the time when the big prize opening is closed, the big hit gaming state is ended.
[0005]
When a game ball wins a winning opening provided on the game board, a predetermined number of prize balls are paid out. Since the progress of the game is controlled by the game control means mounted on the main board, the number of prize balls based on the winning is determined by the game control means, and the payout control means for controlling the payout mechanism for paying out the game balls as prizes. Sent to. Hereinafter, the game control means and the other control means may be referred to as electrical component control means, respectively. An electrical component is a component (such as a mechanism component or a circuit) provided in a gaming machine and operates electrically.
[0006]
[Problems to be solved by the invention]
Various electrical component control means including game control means are mounted on the gaming machine, but each electrical component control means is generally constituted by a microcomputer. That is, a program is stored in a ROM or the like, and data temporarily generated for control or data that changes as control proceeds is stored in the RAM. Then, when the power-off state due to a power failure or the like occurs in the gaming machine, the data in the RAM is lost. Therefore, when recovering from a power outage or the like, the player must return to the initial state (for example, the state when the game machine was first turned on at the game store for the first time in the day), which may cause a disadvantage to the player. There is. For example, if a power failure occurs during a big hit game and the gaming machine returns to the initial state, the player cannot enjoy the profit based on the occurrence of the big hit.
[0007]
In order to avoid such a situation, when an unexpected power supply stop such as a power failure occurs, the game control means stores necessary data in a backup RAM backed up and when the power is restored. The stored data may be restored to restore the gaming state and resume the game. In general, when a backup RAM is provided, a detection circuit that detects that power supply is stopped is provided, and a signal from the detection circuit (referred to as a power-off signal) is used as an interrupt signal. Input to the interrupt terminal of the computer, the microcomputer detects the stop of the power supply by the interrupt and executes a process of storing necessary data in the backup RAM. Since necessary data stored in the backup RAM includes information for restoring the gaming state, the value of the program counter, the value of the register, and the like are generally stored in the stack area. The processing for storing the data necessary for the backup RAM is executed while the power supply voltage is at a voltage at which the microcomputer can operate when the power supply voltage decreases due to the stop of the power supply. After the execution of the process for saving is completed, the power supply voltage becomes 0 after being lowered to a voltage at which the microcomputer cannot operate.
[0008]
In the gaming machine configured as described above, when the power supply is stopped, the value of the power supply voltage becomes unstable, and thus there is a possibility that the power-off signal is continuously generated. When the power-off signal is continuously generated, interrupts are continuously generated in the microcomputer, so that the processing for storing necessary data in the backup RAM cannot be surely performed. Therefore, means (specifically, a circuit or the like) for preventing the power-off signal from being continuously generated may be provided on the detection circuit side.
[0009]
However, even if the power supply is not stopped, if the power-off signal is continuously input from the detection circuit side to the interrupt terminal of the microcomputer, the size of the stack area is reduced. Despite the limitations, the repeated interruption process repeatedly saves data in the stack area and eventually causes a stack overflow. As a result, the contents of the RAM area are destroyed due to the stack overflow, and the program runaway occurs, so that the watchdog timer times out and the microcomputer is reset, and the contents of the RAM area Is initialized.
[0010]
Even if the power supply is not stopped, if a reset signal is input in the signal line from the detection circuit side to the reset terminal of the microcomputer, the microcomputer is forcibly reset, and the RAM The contents of the area are initialized.
[0011]
Whether or not to generate the above-mentioned big hit is generally determined in advance at a predetermined timing (for example, when a start prize is generated, that is, when a start prize signal is input), the count value of a random number generation counter formed in the RAM area is determined in advance. It is determined by whether or not it matches the jackpot determination value. As described above, if the power-off signal is continuously input or the reset signal is input, the system is reset and the contents of the RAM are initialized by the initialization process. The count value of the random number generation counter for determining is also initialized (returned to 0). Then, since the count value starts incrementing from 0, the timing at which the count value matches a predetermined jackpot determination value can be easily grasped.
[0012]
In other words, fraudulent means such as fraudulent boards are mounted on a gaming machine, and a power-off signal (interrupt signal) is continuously input to the microcomputer from the fraudulent means or a reset signal is input, and a random number is generated. By illegally sending a start winning signal to the game control board on which the microcomputer is mounted at a timing at which the count value of the counter coincides with the jackpot determination value, it is possible to cause a jackpot illegally. End up.
[0013]
Therefore, when the present invention is configured to store necessary data in a backup RAM backed up by an interrupt process when an unexpected power supply stop such as a power failure occurs, an illegal interrupt is generated. It is an object of the present invention to provide a gaming machine that can easily find such an illegal act even if an illegal act of sending a signal or a reset signal is performed.
[0014]
[Means for Solving the Problems]
The gaming machine according to the present invention is a gaming machine that can be controlled to a specific gaming state that is advantageous for the player when the player plays a predetermined game and a specific condition is satisfied, and controls the progress of the game. A control board on which a microcomputer (for example, a game control means including a CPU 56) is mounted;Electric component control microcomputer (for example, display control means including a display control CPU 101, lamp control means including a lamp control CPU 351, sound control, etc.) for controlling a notification means provided in the gaming machine based on a command from the game control microcomputer An electrical component control board on which sound control means including a
[0017]
The game control microcomputer is in the notification process,As a command to show notification,Specific gaming stateBetween start and endCommand to be sent (for example, display command at the start of jackpot)TheYou may be comprised so that it may send to an electric component control microcomputer.
[0018]
Game control microcomputerIsWhen the power supply start processing meansExecute initialization processWhenMay be configured to execute an initialization signal output process (for example, step S11) that outputs a signal indicating the execution of the initialization process to the outside of the gaming machine.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First, the overall configuration of a pachinko gaming machine that is an example of a gaming machine will be described. FIG. 1 is a front view of a pachinko gaming machine as seen from the front, and FIG. 2 is a front view showing the front of the game board.
[0022]
The
[0023]
As shown in FIG. 1, the
[0024]
Near the center of the
[0025]
An open /
[0026]
When a game ball wins the
[0027]
In this embodiment, the left and right lamps (designs can be visually recognized when lit) are alternately lit to perform variable display, and the variable display continues for a predetermined time (for example, 29 seconds). If the left lamp is turned on at the end of the variable display, it is a win. Whether or not to win is determined by whether or not the value of the random number extracted when the game ball wins the
[0028]
Further, in the probability variation state, the probability that the stop symbol in the
[0029]
The
[0030]
In this example, a
[0031]
The
[0032]
The game balls launched from the hit ball launching device enter the
[0033]
The variable display of the special symbol on the
[0034]
When the combination of special symbols in the
[0035]
Next, the structure of the back surface of the
[0036]
As shown in FIG. 3, on the back side of the gaming machine, a game control board (main board) 31 on which a variable
[0037]
On the back side of the gaming machine, a
[0038]
Further, it is for clearing the backup data stored in the fluctuation data storage means (for example, the backup RAM capable of holding the contents even when the power supply is stopped) included in each board (
[0039]
The game balls stored in the
[0040]
The ball break
[0041]
The game ball paid out from the ball payout device is guided to the hitting
[0042]
A large number of game balls as prizes based on winning prizes and game balls based on ball lending requests are paid out and the hitting
[0043]
As shown in FIG. 4, a
[0044]
FIG. 5 is an exploded perspective view showing a configuration example of the
[0045]
The
[0046]
The
[0047]
A prize ball sensor (prize ball count switch) 301A as a payout detection means for detecting a game ball paid out by the ball payout device is provided below the flow path selected at the time of paying out the winning ball, and is selected at the time of lending the ball. A ball lending sensor (ball lending count switch) 301B for detecting a game ball dispensed by the ball dispensing device is provided below the downflow path. The detection signal of the winning
[0048]
A plurality of
[0049]
In this embodiment, the
[0050]
FIG. 6 is a front view showing a part of the switch board 190 installed in the
[0051]
FIG. 7 is a configuration diagram showing an example of the configuration of the
[0052]
FIG. 7B is a configuration diagram illustrating another configuration example of the
[0053]
In this embodiment, the switch board 190 on which the
[0054]
Also, the
[0055]
FIG. 8 is a block diagram illustrating an example of a circuit configuration in the
[0056]
Although not shown in FIG. 8, the count switch short circuit signal is also transmitted to the
[0057]
Further, according to the data given from the
[0058]
The
[0059]
Further, at least a part of the RAM 55 (may be a CPU built-in RAM) 55 is a backup RAM that is backed up by a backup power source created in the
[0060]
A ball hitting device for hitting and launching a game ball is driven by a
[0061]
In this embodiment, the lamp control means mounted on the
[0062]
FIG. 9 shows the circuit configuration in the
[0063]
The display control CPU 101 operates in accordance with a program stored in the control data ROM 102. When an INT signal is input from the
[0064]
Then, the display control CPU 101 performs display control of the screen displayed on the
[0065]
FIG. 9 also shows a reset circuit 83 for resetting the VDP 103, an
[0066]
The
[0067]
For example, a three-terminal capacitor or a ferrite bead is used as the noise filter 107 that cuts off the high-frequency signal. However, even if noise is added between the substrates due to the presence of the noise filter 107, the influence is eliminated. . A noise filter may also be provided on the output side of the
[0068]
FIG. 10 is a block diagram showing signal transmission / reception portions in the
[0069]
As shown in FIG. 10, the lamp control command related to the lamp control is output from the output ports (
[0070]
On the
[0071]
In the
[0072]
As the
[0073]
In the
[0074]
FIG. 11 is a block diagram showing a configuration example of the sound control command signal transmitting portion of the
[0075]
As shown in FIG. 11, the sound control command is output from the output ports (
[0076]
Then, for example, a voice synthesis circuit 702 using a digital signal processor generates voice and sound effects according to instructions from the
[0077]
As the
[0078]
In the
[0079]
FIG. 12 is a block diagram showing components related to payout, such as components of the
[0080]
The
[0081]
Further, the detection signal from the prize
[0082]
When there is a winning, a payout control command indicating the number of winning balls is input to the
[0083]
In the
[0084]
The payout control CPU 371 outputs a ball lending number signal indicating the number of lending balls to the
[0085]
Further, detection signals from the ball lending
[0086]
The
[0087]
A ball lending switch signal and a return switch signal are given from the
[0088]
When the power of the
[0089]
Then, the payout control CPU 371 of the
[0090]
As described above, all signals from the
[0091]
In this embodiment, a power-off signal is also input from the
[0092]
In this embodiment, the case where the
[0093]
FIG. 13 is a block diagram illustrating a configuration example of the
[0094]
The transformer 911 converts AC voltage from the AC power source into 24V. The AC 24V voltage is output to the connector 915. The rectifier circuit 912 also generates a DC voltage of +30 V from AC 24 V and outputs it to the DC-DC converter 913 and the connector 915. The DC-DC converter 913 has one or a plurality of converter ICs 924 (only one is shown in FIG. 13), generates + 21V, + 12V, and + 5V based on VSL and outputs them to the connector 915. A relatively large capacitor 923 is connected to the input side of the converter IC 924. Accordingly, when the power supply to the gaming machine from the outside is stopped, the DC voltage such as + 30V, + 12V, + 5V, etc., decreases relatively slowly. The connector 915 is connected to, for example, a relay board, and power of a voltage necessary for each electric component control board and the mechanism component is supplied from the relay board.
[0095]
However, each connector reaching each electric component control board may be provided on the
[0096]
The + 5V line from the DC-DC converter 913 branches to form a backup + 5V line. A large-
[0097]
The
[0098]
The predetermined value for the power monitoring IC 902 to detect the stop of power supply is lower than the normal voltage, but is a voltage that allows the CPU on each electrical component control board to operate for a while. Further, the power monitoring IC 902 is configured to monitor a voltage that is higher than a voltage for driving a circuit element such as a CPU (+5 V in this example) and immediately after being converted from AC to DC. Therefore, the monitoring range can be expanded for the voltage required by the CPU. Therefore, more precise monitoring can be performed. Furthermore, when VSL (+ 30V) is used as the monitoring voltage, the voltage supplied to the various switches of the gaming machine is + 12V, so that it can be expected to prevent erroneous switch-on detection at the time of instantaneous power interruption. That is, when the voltage of the + 30V power supply is monitored, it is possible to detect a decrease in the level before + 12V created after the creation of + 30V starts to drop.
[0099]
When the voltage of the + 12V power supply decreases, the switch output starts to turn on. However, if the power supply voltage is monitored by monitoring the + 30V power supply voltage that drops earlier than + 12V, and the power supply is stopped, the power is output before the switch output turns on. It is possible to enter a supply recovery waiting state and not detect the switch output.
[0100]
Further, since the power monitoring IC 902 is mounted on the
[0101]
In the configuration shown in FIG. 13, the detection signal (power cut-off signal) of the power monitoring IC 902 is supplied to each electric component control board (for example, the
[0102]
FIG. 14 is a block diagram illustrating a configuration example around the
[0103]
FIG. 14 also shows a
[0104]
As shown in FIG. 14, the reset signal from the reset IC 651 is input to the
[0105]
For example, the detection voltage of the power supply monitoring circuit of the power supply substrate 910 (voltage that outputs a power-off signal) is set to + 22V, and the detection voltage for setting the reset signal to low level is set to + 9V. In such a configuration, since the power supply monitoring circuit and the system reset
[0106]
While power is not supplied from the + 5V power source that is the driving power source of the
[0107]
In the configuration shown in FIG. 14, the reset terminal (low level is the reset level) is given to the reset terminal of the
[0108]
The reset signal is also input to the
[0109]
The
[0110]
FIG. 15 and FIG. 16 are explanatory diagrams showing assignment of output ports in this embodiment. As shown in FIG. 15, the
[0111]
Further, various information output signals from the
[0112]
As shown in FIGS. 15 and 16, each INT signal (payout control signal INT, display control signal INT, lamp) output to the
[0113]
Therefore, when outputting the INT signal, the possibility that the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the ramp control signals CD0 to CD7, and the sound control signals CD0 to CD7 are erroneously changed is reduced. Further, when outputting the payout control signals CD0 to CD7, the display control signals CD0 to CD7, the ramp control signals CD0 to CD7, or the sound control signals CD0 to CD7, the possibility of erroneously changing the INT signal is reduced. As a result, a command for each electric component control board is more reliably sent from the game control means of the
[0114]
FIG. 17 is an explanatory diagram showing bit assignment of input ports in this embodiment. As shown in FIG. 17, the detection of the winning
[0115]
Next, the operation of the gaming machine will be described. FIG. 18 is a flowchart showing main processing executed by game control means (
[0116]
In the initial setting process, the
[0117]
The
[0118]
The
[0119]
Interrupt mode 0: The built-in device that has issued the interrupt request sends an RST instruction (1 byte) or a CALL instruction (3 bytes) onto the internal data bus of the CPU. Therefore, the
[0120]
Interrupt mode 1: When an interrupt is accepted, the mode always jumps to address 0038 (H).
[0121]
Interrupt mode 2: A mode in which the address synthesized from the value (1 byte) of the specific register (I register) of the
[0122]
Therefore, when the interrupt
[0123]
Next, the
[0124]
If the
[0125]
In this embodiment, whether or not there is backup data in the backup RAM area is confirmed by the state of the backup flag set in the backup RAM area in the power supply stop process. In this example, as shown in FIG. 19, if “55 (H)” is set in the backup flag area, it means that there is a backup (ON state), and a value other than “55 (H)” is set. Means no backup (off state).
[0126]
After confirming that there is a backup, the
[0127]
In the power supply stop process, a checksum is calculated by the same process as described above, and the checksum is stored in the backup RAM area. In step S7c, the calculated checksum is compared with the stored checksum. When the power supply is stopped after an unexpected power failure or the like, the data in the backup RAM area should be saved, so the check result (comparison result) is normal (matched). That the check result is not normal means that the data in the backup RAM area is different from the data when the power supply is stopped. In such a case, since the internal state cannot be returned to the state when the power supply is stopped, an initialization process that is executed when the power is turned on is not performed when the power supply is stopped.
[0128]
If the check result is normal, the
[0129]
In this way, it is possible to accurately return the gaming state to the state when the power supply is stopped by checking whether the data in the backup RAM area is stored using the backup flag and check data such as a checksum. it can. That is, the certainty of the state restoration process based on the data in the backup RAM area is improved. In this embodiment, it is confirmed whether or not the data in the backup RAM area is stored by using both the backup flag and the check data, but only one of them may be used. That is, either the backup flag or the check data may be used as an opportunity for executing the state recovery process.
[0130]
In the initialization process, the
[0131]
Next, the
[0132]
Also, a process of transmitting an initialization command for initializing each sub board (dispensing
[0133]
In the initialization process, a payout enable state designation command is always transmitted to the
[0134]
Then, a CTC register set in the
[0135]
As described above, in this embodiment, when the
[0136]
Further, when it is not detected that the
[0137]
When the execution of the initialization process (steps S9 to S15) is completed, the display random number update process (step S17) and the initial value random number update process (step S18) are repeatedly executed in the main process. When the display random number update process and the initial value random number update process are executed, the interrupt disabled state is set (step S16). When the display random number update process and the initial value random number update process are finished, the interrupt enabled state is set. (Step S19). The display random number is a random number for determining a symbol displayed on the
[0138]
Note that when the display random number update process is executed, the interrupt is prohibited. The display random number update process is also executed in the timer interrupt process described later, and thus conflicts with the process in the timer interrupt process. This is to avoid that. That is, if the timer interrupt is generated during the process of step S17 and the counter value for generating the display random number is updated during the timer interrupt process, the continuity of the count value is impaired. There is a case. However, such an inconvenience does not occur if the interrupt is prohibited during the process of step S17.
[0139]
FIG. 20 is a flowchart illustrating an example of the game state recovery process. In the game state restoration process, the
[0140]
Next, the
[0141]
If it is not a stack overflow, the
[0142]
Since the payout control means cannot recognize the shortage of the supply balls or the full tank of the surplus
[0143]
Here, when the payout state determination means (a part of the game control means) for determining whether or not the game medium can be paid out detects that the payout is not possible, one type of the game medium is determined regardless of the cause. The payout stop state designation command is transmitted. However, the command may be transmitted separately for each cause (in this example, a command indicating a shortage of supply balls and a command indicating a lower pan full). Further, when the game ball cannot be paid out, a command instructing to prohibit the release of the game ball may be transmitted to the
[0144]
Next, the
[0145]
When receiving the special symbol power failure recovery command, the display control means performs a predetermined notification process. For example, the
[0146]
If the special symbol is not changing, the
[0147]
When the display control means receives the confirmation command, the display control means controls the
[0148]
Thereafter, the
[0149]
Then, the RET instruction is executed, but the return destination here is not the part that called the gaming state recovery process. This is because, in step S81, the stack pointer is restored, and the return address stored in the stack area pointed to by the restored stack pointer is the address where the NMI occurred when the power supply was last stopped in the program. Therefore, in response to the RET instruction subsequent to step S95, the process returns to the address where the NMI occurred when the power supply was stopped. That is, the recovery control is executed based on the address saved in the stack area.
[0150]
When the timer interrupt occurs, the
[0151]
Next, various abnormality diagnosis processes are performed by the self-diagnosis function provided in the
[0152]
Next, a process of updating the count value of each counter for generating each determination random number such as a big hit determination random number used for game control is performed (step S23). The
[0153]
Further, the
[0154]
Next, the
[0155]
Further, the
[0156]
Further, the
[0157]
Then, the
[0158]
With the above control, in this embodiment, the game control process is started every 2 ms. In this embodiment, the game control process is executed by the timer interrupt process. However, in the timer interrupt process, for example, only a flag indicating that an interrupt has occurred is set, and the game control process is performed by the main process. May be executed.
[0159]
FIG. 22 is a flowchart illustrating an example of a special symbol process processing program executed by the
[0160]
The variation shortening timer subtraction process is a process of subtracting the number of variation shortening timers corresponding to the maximum number that can be stored in the start memory (the memory that the
[0161]
In steps S300 to S309, the following processing is performed.
[0162]
Special symbol normal processing (step S300): The starting memory number is confirmed. If the starting memory number is not 0, the value of the special symbol process flag is changed so as to proceed to step S301.
[0163]
Special symbol jackpot determination process (step S301): The contents of a buffer or the like for storing various random numbers stored when a start win is received are shifted. As a result of the shift, it is determined whether or not to make a big hit based on the contents of the pushed-out buffer. Note that the maximum number of buffers that can be stored for start winnings is prepared. Further, the content of the buffer pushed out by the shift is the content corresponding to the start winning that occurred most recently. If it is decided to win, the big hit flag is set. Thereafter, the value of the special symbol process flag is changed so as to proceed to step S302.
[0164]
Stop symbol setting process (step S302): The stop symbol of the left and right middle symbols, which is the display result of the variable symbol variable display, is determined. Then, the value of the special symbol process flag is changed so as to proceed to step S303.
[0165]
Fluctuation pattern setting process (step S303): A special symbol variable display pattern, that is, a variable display pattern (variation pattern) is determined. Then, a process for outputting a display control command for notifying the determined variation pattern and stop symbol to the
[0166]
Special symbol variation processing (step S304): It is confirmed whether or not the variation time determined according to the variation pattern has elapsed. If it has elapsed, the value of the special symbol process flag is changed so as to proceed to step S305.
[0167]
Special symbol stop process (step S305): When a predetermined time (for example, 1.000 seconds) has passed and it has been decided to win, the value of the special symbol process flag is shifted to step S306. To change. Otherwise, the value of the special symbol process flag is changed so as to proceed to step S300.
[0168]
Preliminary winning opening opening process (step S306): Control for opening the large winning opening is started. Specifically, the counter and flag are initialized, and the
[0169]
Processing for opening a special winning opening (step S307): A process for confirming the closing condition of the special winning opening is performed. If the closing condition for the big prize opening is satisfied, the value of the special symbol process flag is changed so as to proceed to step S308.
[0170]
Specific area valid time process (step S308): The presence / absence of passing of the
[0171]
Big hit end processing (step S309): Control is performed to cause the lamp control means or the like to display to notify the player that the big hit gaming state has ended. Then, the value of the special symbol process flag is changed so as to proceed to step S300.
[0172]
FIG. 23 is a flowchart showing the start port switch passage confirmation process (step S311). When the hit ball wins the
[0173]
Also, control for sending a start memory number designation command is performed (step S45). The start memory number designation command is a lamp control command for notifying a new start memory number transmitted to the lamp control means mounted on the
[0174]
In the special symbol process of step S25, the
[0175]
Further, since the starting memory number is decremented by 1, processing for sending a starting memory number designation command is performed in order to notify the lamp control means of the new starting memory number (step S65).
[0176]
Then, the
[0177]
FIG. 26 is an explanatory diagram showing each random number. Each random number is used as follows.
(1) Random 1: Decide whether or not to generate a big hit (for big hit judgment)
(2) Random 2-1 to 2-3: For determining the off-right symbol in the left and right of the special symbol (special symbol right and left)
(3) Random 3: Determines the combination of special symbols that generate a big hit (for determining big hit symbols)
(4) Random 4: Determine the variation pattern of the special symbol (for variation pattern determination)
(5) Random 5: Determines whether or not to generate a hit based on a normal symbol (for normal symbol hit determination)
(6) Random 6: Determine the initial value of random 1 (for determining the random 1 initial value)
(7) Random 7: Determine the initial value of random 5 (for determining the random 5 initial value)
[0178]
In step S23 in the game control process shown in FIG. 21, the
[0179]
Further, the counter value for generating each random number and the counter value for generating each initial value determining random number are initialized (set the value to 0) in step S9 in the main process shown in FIG. Yes.
[0180]
In step S54 shown in FIG. 24, when it is determined that the jackpot is a jackpot symbol is determined according to the value of the jackpot symbol random number (random 3) (step S55). In this embodiment, each symbol of the symbol number set in the jackpot symbol table corresponding to the value of random 3 is determined as a jackpot symbol. In the jackpot symbol table, left and right symbol numbers corresponding to combinations of a plurality of types of jackpot symbols are set. Further, the random number for determining the variation pattern (random 4) is extracted, and the variation pattern of the special symbol is determined based on the random 4 value (step S56).
[0181]
When it is determined that there is a loss, the
[0182]
Further, the
[0183]
If it is not decided to reach, it is confirmed whether or not it is in the probability variation state (step S62). If it is in the probability variation state, the variation pattern is determined to be the off-time variation variation pattern (step S63). If it is not the probability variation state, it is determined that the variation pattern is the normal variation pattern at the time of deviation (step S64). In addition, the fluctuation pattern shortened at the time of detachment is a fluctuation pattern in which the fluctuation period is shorter than the normal fluctuation pattern in which the fluctuation time of the left and right symbols is 4.0 seconds, for example.
[0184]
As described above, it is determined whether the pattern variation mode based on the start winning is the reach mode or the off mode, and the combination of the respective stop symbols is determined. That is, as a variation pattern of the special symbol, it is determined whether or not the reach effect is performed, and the combination of the stop symbols is determined.
[0185]
The process shown in FIG. 24 corresponds to the process in the case where the processes of steps S301 to S303 in the special symbol process shown in FIG. 22 are collectively shown. In this embodiment, a big hit occurs when the left and right middle symbols are aligned. Reach when only left and right symbols are available.
[0186]
Next, a command transmitted from the game control means to each electric component control board will be described. 27 shows control commands (lamp control command, sound control command, display control command, and payout control command) transmitted from the
[0187]
As shown in FIG. 28, the control command includes 8-bit control signals CD0 to CD7 (command data) and an INT signal (capture signal). The lamp control means, payout control means, sound control means, and display control means mounted on the
[0188]
FIG. 29 is an explanatory diagram showing an example of the contents of a display control command sent to the
[0189]
The command 88XX (H) (X = any value of 4 bits) is a display control command related to a normal symbol variation pattern. The command 89XX (H) is a display control command for designating a normal symbol stop symbol. Command 8AXX (H) (X = any value of 4 bits) is a display control command for instructing stop of variable symbol normal display.
[0190]
Commands 91XX (H), 92XX (H), and 93XX (H) are display control commands for designating a left middle right stop symbol of a special symbol. Command A0XX (H) is a display control command for instructing stop of variable symbol special display. The command BXXX (H) is a display control command that is sent from the start of the big hit game to the end of the big hit game.
[0191]
The command C000 (H) is a display control command related to a display state that is not related to special symbol fluctuations and jackpot games.
[0192]
When the display control means of the
[0193]
FIG. 30 is an explanatory diagram showing an example of the contents of a lamp control command sent from the
[0194]
Note that the commands 8XXX (H), AXXX (H), BXXX (H), and CXXX (H) are instructions to notify the ramp control command sent from the game control means according to the game progress status, that is, the game state. This is the lamp control command to be performed. When the lamp control means receives the above-described lamp control command from the game control means of the
[0195]
In this embodiment, when the lamp control means receives a lamp control command instructing to notify the gaming state, a part or all of the
[0196]
Command E0XX (H) is a lamp control command indicating the starting memory number (special symbol starting memory number). The lamp control means displays information related to the special symbol start memory number on the
[0197]
Commands E200 (H) and E201 (H) are lamp control commands related to the display state of the
[0198]
When the lamp control command “E300 (H)” is received from the game control means of the
[0199]
The command “E500 (H)” is a lamp control command designated by the fraud notification lamp transmitted from the game control means when the game control means detects an illegal act. When receiving the lamp control command designated by the fraud notification lamp, the lamp control means controls the lighting of the lamp / LED in a manner predetermined as the manner of fraud notification. For example, all the lamps / LEDs are blinked at a predetermined cycle. Alternatively, a light emitting means for fraud notification may be provided, and the light emitting means may be turned on.
[0200]
FIG. 31 is an explanatory diagram showing an example of the contents of a sound control command sent to the
[0201]
The command “E500 (H)” is a sound control command for designating a fraud notification sound transmitted from the game control means when the game control means detects an illegal act. When the sound control means receives the sound control command for specifying the unauthorized notification sound, the sound control means performs control to output the sound from the
[0202]
When a control command is to be output from the game control means of the
[0203]
Although the EXT data itself may be set in the area of the
[0204]
FIG. 34 is an explanatory diagram showing a configuration example of INT data.
[0205]
[0206]
[0207]
In this embodiment, a plurality of command transmission tables are prepared for each control command, and the command transmission table to be used is set before command transmission. Alternatively, addressing of a command transmission table formed in the
[0208]
FIG. 36 is a flowchart showing a processing example of command control processing in the game control processing shown in FIG. The command control process is a process including a command output process and an INT signal output process. In the command control process, the
[0209]
Next, the
[0210]
FIG. 37 is a flowchart showing a command transmission processing routine. In the command transmission processing routine, the
[0211]
Next, the
[0212]
When the carry bit becomes 1, the data set in the
[0213]
Next, the
[0214]
In the second shift process, the value of
[0215]
Therefore, when the carry flag becomes “1”, a control command is sent to the corresponding output port (
[0216]
In addition, as described above, since it is determined to which control means of each sub-board should the control command be output only by the shift process, the process for determining which control means should be output of the control command is simplified. It has become.
[0217]
Next, the
[0218]
Next, the
[0219]
As described above, the MODE data of the first byte of the control command is transmitted. Therefore, the
[0220]
In the command extension data address table, EXT data that can be sent to the control means of each sub-board is sequentially set. Therefore, if the value of the work area reference bit is “1” by the above processing, the EXT data in the command extended data address table corresponding to the contents of the
[0221]
Next, the
[0222]
As described above, the control command (payout control command, display control command, lamp control command, sound control command) having a 2-byte structure is transmitted to the control means of each corresponding sub-board. When the control means of each sub-board detects a change in the level of the INT signal, the control command capturing process is started. For any control means, a new signal from the game control means is received before the capturing process is completed. It is not output to the signal line. That is, reliable command reception processing is performed in each control means such as a display control means. Note that the polarity of the INT signal may be reversed from that shown in FIG.
[0223]
38 to 40 are flowcharts showing a processing example of a non-maskable interrupt process (power supply stop process) executed in response to the power-off signal from the
[0224]
In the power supply stop process, the
[0225]
Also, the BC register, DE register, HL register, IX register, and stack pointer are saved in the stack area of the backup RAM area (steps S454 to S458). Note that the processing in steps S451 to S458 corresponds to data saving processing for saving the data necessary for restoring the control state in the fluctuation data storage means in accordance with the detection signal of the power supply monitoring means.
[0226]
Next, in this embodiment, the detection signal of the prize
[0227]
In this embodiment, an input monitoring time measuring counter is used to measure the input monitoring time. The value of the counter for measuring the input monitoring time is decremented by 1 every time a switch detection processing loop (a loop starting from S461 and returning to S461) described below is executed once from the initial value m. It is assumed that the input monitoring time is over. In the detection processing loop, although there is an exception, almost constant processing is performed, and therefore, m times the time required for one round of the loop corresponds to the input monitoring time.
[0228]
In order to measure the input monitoring time, a built-in timer of the
[0229]
Also, the input monitoring time is set to be equal to or longer than the time from when the game ball falls from the
[0230]
At least during the input monitoring time when the switch detection process is executed, the prize
[0231]
Since the input port and the
[0232]
In step S461, an initial value n corresponding to a time of 2 ms is set in the 2 ms measurement counter. Then, until the value of the 2 ms measurement counter becomes 0 (step S462), the value of the 2 ms measurement counter is decremented by 1 (step S463).
[0233]
When the value of the 2 ms measurement counter becomes 0, the input of the detection signal of the prize
[0234]
Then, the switch timer indicated by the pointer (the address of the switch timer is set) is loaded (step S468), and the comparison value is shifted to the right (from the upper bit to the lower bit) (step S469). Data of the
[0235]
If the value of the carry flag is “1” (step S470), that is, if the detection signal of the prize
[0236]
When the value of the switch timer becomes 2 (step S473), 1 is subtracted from the value stored in the total prize ball number storage buffer (step S474), and the value of the prize ball information counter is incremented by 1 (step S475). . If the value of the prize ball information counter is 10 or more (step S476), the value of the prize ball information output counter is incremented by 1 (step S477) and the value of the prize ball information counter is incremented by -10 (step S478).
[0237]
Next, the value of the input monitoring time measurement counter is decremented by -1 (step S479). If the value is not 0, the process returns to step S461.
[0238]
If the prize
[0239]
Here, the input monitoring process is executed only for the input monitoring time (predetermined time more than the time from when the ball is dropped from the
[0240]
The payout control means mounted on the
[0241]
Further, in this embodiment, the switch detection process of only the prize
[0242]
When the input monitoring time elapses (step S480), that is, when the value of the input monitoring time measurement counter becomes 0, the backup specified value ("55 (H)" in this example) is stored in the backup flag (step S481). ). The backup flag is formed in the backup RAM area. Next, parity data is created (steps S482 to S491). That is, first, the clear data (00) is set in the checksum data area (step S482), and the checksum calculation start address is set in the pointer (step S483). Also, the number of checksum calculations is set (step S484).
[0243]
Then, an exclusive OR between the contents of the checksum data area and the contents of the RAM area pointed to by the pointer is calculated (step S485). The calculation result is stored in the checksum data area (step S486), the pointer value is incremented by 1 (step S487), and the checksum calculation count value is decremented by 1 (step S488). The processing of steps S485 to S488 is repeated until the value of the checksum calculation count becomes 0 (step S489).
[0244]
When the value of the checksum calculation count becomes 0, the
[0245]
Further, the
[0246]
Then, clear data is set at the address pointed to by the IO pointer (step S496), the value of the IO pointer is incremented by 1 (step S497), and the value of the processing number is decremented by 1 (step S498). The processes in steps S496 to S498 are repeated until the value of the number of processes becomes zero. As a result, clear data is set in all the
[0247]
If the determination signal from the
[0248]
At this stage, since the RAM access prohibited state is set, in the process for transmitting the lamp control command and the sound control command, the
[0249]
Thereafter, the
[0250]
In this embodiment, after the processing for saving the gaming state (in this example, checksum generation and RAM access prevention) is executed, each output port is immediately turned off. In this embodiment, the RAM area in which data used in the game control process is stored is all backed up. Therefore, the checksum generation process indicating whether or not the contents are correctly stored and the RAM access prevention process for preventing the contents from being rewritten correspond to the process for storing the gaming state.
[0251]
Since each output port is turned off immediately after the processing for saving the gaming state is executed, it is reliably prevented that a situation that does not match the saved gaming state occurs. When the processes shown in FIGS. 38 to 40 are executed, the power supply to the gaming machine is stopped, so that the voltage applied to the electrical component is lowered. When the applied voltage falls below the drivable voltage, the driving of the electrical component is stopped. Therefore, when the power supply to the gaming machine is stopped, the driving of the electrical components is stopped although there is a short delay.
[0252]
However, if the clear process for the output port as in this embodiment is not performed, the variable winning
[0253]
In addition, after the game state is stored, there may be a case where a winning in a big winning opening as a variable winning ball apparatus occurs. In such a case, there is a possibility that a trouble may occur due to a difference between the number of winnings recognized by the player and the number of winnings displayed on the display unit based on the stored gaming state when power supply is restored. However, in this embodiment, there is no possibility of such a trouble occurring.
[0254]
Further, in this embodiment, the register saving process is performed at the beginning of the process activated in response to the power-off signal, but when the register is not used in the switch detection process, after executing the switch detection process, That is, the register saving process can be performed before the backup flag setting and the checksum calculation process. In this case, the register saving process, the backup flag setting process, the checksum calculation process, and the output port off setting process can be regarded as a power supply stop process. Further, even when several registers are used in the switch detection process, the register storage process can be performed before the backup flag setting process and the checksum calculation process for the unused registers.
[0255]
The output port clear process may be performed before the switch detection process is executed (before step S460). During execution of the power supply stop process, the
[0256]
However, in the case where the
[0257]
In addition, even when the big prize opening is closed by clearing the output port, there is a possibility that there is a game ball in the big prize opening. Therefore, in the switch detection process executed in response to the power-off signal, the
[0258]
In this embodiment, the power supply stop process is executed according to the NMI. However, the power supply stop signal is connected to the maskable terminal of the
[0259]
FIG. 41 is an explanatory diagram showing an address map of the RAM area in this embodiment. As shown in FIG. 41, the head of the RAM area is assigned to the backup flag area. A checksum buffer area is allocated at the end. An area from the backup flag to the checksum buffer corresponds to a work area, and a stack area is set in an area after the checksum buffer. In this embodiment, the entire RAM area is backed up.
[0260]
FIG. 42 is an explanatory diagram for explaining an example of a checksum creation method. However, in the example shown in FIG. 42, the size of the data in the backup RAM area is 3 bytes for simplicity. In the power supply stop process based on the power supply voltage drop, as shown in FIG. 42, initial data (00 (H) in this example) is set as the checksum data. Next, an exclusive OR of “00 (H)” and “F0 (H)” is taken, and an exclusive OR of “16 (H)” is taken with the result. Further, an exclusive OR of the result and “DF (H)” is taken. Then, a value (“C6 (H)” in this example) obtained by logically inverting the result (“39 (H)” in this example) is set in the checksum buffer.
[0261]
FIG. 42 shows a state where the data “39 (H)” before the logic inversion is stored in the checksum buffer for easy explanation. Note that 00 (H) as the initial data is a value corresponding to the clear data for the checksum data set in step S460, but in actuality, exclusive OR with 00 (H) is before and after the operation. And the value does not change, it is not necessary to perform an exclusive OR operation with 00 (H).
[0262]
In this embodiment, the checksum buffer is stored at the last address of the backup RAM area (variable data storage means). Therefore, for example, when checking whether there is an error in the program of the checksum creation method, it is possible to easily check it. This is because it is sufficient to confirm whether or not the value of the final address in the RAM area is correct. In this embodiment, the checksum calculation start address is an address where a backup flag is set, and the checksum calculation final address is the last address in the prize ball control flag buffer (see FIG. 41). . Therefore, if the last address in the backup RAM area is used as the checksum buffer area after the prize ball control flag buffer, there is no waste in the RAM area.
[0263]
In consideration of ease of confirmation and prevention of waste of the RAM area, the first address of the backup RAM area may be used as the checksum buffer area.
[0264]
Further, at the start of power supply to the gaming machine, it is determined whether or not the parity check is OK (step S9 in FIG. 18). In this determination, parity data creation processing (steps S482 to S491) in the power supply stop processing is performed. ) Is performed, and if the processing result, that is, the operation result matches the contents of the checksum buffer, it is determined that the parity check is OK.
[0265]
Although the last or first address of the backup RAM area is used as the checksum buffer area here, the checksum buffer area may be allocated to an intermediate area of the backup RAM area. In this embodiment, the checksum is generated based on the work area data. However, the checksum may be generated including the stack area data.
[0266]
Further, in this embodiment, at the start of power supply, a checksum is generated by the same process as the process at the time of power supply stop, and the generated checksum is compared with the checksum stored in the backup RAM. Other methods may be used. For example, using the checksum stored in the backup RAM as an initial value, the calculation is performed for each data that is a calculation target in the power supply stop process, and if the calculation result matches a predetermined value (for example, 00 (H)), the parity is You may make it determine with check OK. The check data for the parity check is not limited to the checksum, and other check data may be used as long as it can be determined whether the contents of the backup RAM are properly stored.
[0267]
FIG. 43 is a timing chart showing a state of a power supply voltage drop or an NMI signal (= power supply cut-off signal: power supply stop signal) when power supply to the gaming machine is stopped. When the power supply to the gaming machine is stopped, the voltage value of VSL, which is the highest DC power supply voltage, gradually decreases. In this example, when the voltage drops to +22 V, a power cut-off signal is output from the power monitoring IC 902 mounted on the power board 910 (becomes a low level).
[0268]
The power-off signal is introduced into the electrical component control board (in this embodiment, the
[0269]
When the voltage value of VSL further decreases to a predetermined value (+9 V in this example), the output of the system reset circuit mounted on the
[0270]
When the voltage value of VSL is further decreased to be lower than a voltage capable of generating Vcc (+5 V for driving various circuits), each circuit cannot be operated on each substrate. However, at least the
[0271]
As described above, in this embodiment, the power supply monitoring circuit monitors the voltage of the highest power supply VSL among the DC voltages used in the gaming machine, and the voltage drops when the voltage of the power supply falls below a predetermined value. Generates a signal (power failure detection signal). As shown in FIG. 43, at the timing when the power-off signal is output, the IC drive voltage is still a voltage value that can sufficiently drive various circuit elements. Therefore, an operation time is ensured for the
[0272]
In this case, the power supply monitoring circuit monitors the voltage of the highest power supply VSL among the DC voltages used in the gaming machine, but the timing for generating the power-off signal is the electrical component control that operates with the IC drive voltage. The monitoring target voltage may not be the highest voltage of the power source VSL as long as the operation time for the means to perform the predetermined power supply stop process is ensured. That is, if at least a voltage higher than the IC drive voltage is monitored, the power-off signal can be generated at such a timing that the operation time for the electrical component control means to perform the predetermined power supply stop process is ensured. .
[0273]
In this case, as described above, the monitoring target voltage is preferably a voltage that can be expected to prevent erroneous switch-on detection when power supply is stopped. That is, since the voltage (switch voltage) supplied to the various switches of the gaming machine is + 12V, it is preferable that the voltage drop can be detected before the + 12V power supply voltage starts to drop. Therefore, it is preferable to monitor a voltage higher than at least the switch voltage.
Stop.
[0274]
Next, display control means including the display control CPU 101 will be described as an example of electrical component control means other than game control means. FIG. 44 is a flowchart showing main processing executed by the display control CPU 101. In the main process, an initialization process is first performed for clearing the RAM area, setting various initial values, and initializing a 2 ms timer for determining the display control activation interval (step S701). Thereafter, in this embodiment, the display control CPU 101 shifts to a loop process for monitoring the timer interrupt flag (step S703). In the loop, a process for updating a counter for generating a predetermined random number is also performed (step S702). Then, as shown in FIG. 45, when a timer interrupt occurs, the display control CPU 101 sets a timer interrupt flag (step S715). If the timer interrupt flag is set in the main process, the display control CPU 101 clears the flag (step S704) and executes the following variable display control process.
[0275]
In this embodiment, it is assumed that the timer interrupt takes every 2 ms. That is, the variable display control process is started every 2 ms. In this embodiment, only the flag is set in the timer interrupt process, and the specific variable display control process is executed in the main process. However, the variable display control process may be executed in the timer interrupt process. .
[0276]
In the variable display control process, the display control CPU 101 first analyzes the received display control command (command analysis execution process: step S705). Next, it is confirmed whether or not an initialization notification command has been received (step S706). Specifically, it is confirmed whether or not a command reception flag corresponding to the initialization notification command is set. If the initialization notification command has been received, the initialization notification for notifying the execution of the initialization process is started (step S707). In this example, as the initialization notification, the
[0277]
Next, the display control CPU 101 checks whether or not the initialization notification flag is on (step S710). If the initialization notification flag is on, it is checked whether or not the initialization notification period timer has timed out (step S711). If it has timed out, the initialization notification flag is turned off (step S712). Then, the display of the initialization notification screen on the
[0278]
Further, the display control CPU 101 performs display control process processing (step S714). In the display control process process, a process corresponding to the current control state is selected and executed from among the processes corresponding to the control state. Thereafter, the process returns to step S702.
[0279]
Next, display control command reception processing from the
[0280]
FIG. 47 is a flowchart showing display control command reception processing by interrupt processing. An INT signal for display control from the
[0281]
In the display control command reception process, the display control CPU 101 first saves each register to the stack (step S670). When an interrupt occurs, the display control CPU 101 automatically sets the interrupt prohibited state. However, if a CPU that does not automatically enter the interrupt prohibited state is used, before executing the process of step S670. It is preferable to issue an interrupt prohibition instruction (DI instruction). Next, data is read from an input port assigned to input of display control command data (step S671). And it is confirmed whether it is the 1st byte of the display control command of 2 bytes composition (Step S672).
[0282]
Whether or not it is the first byte is confirmed by whether or not the first bit of the received command is “1”. The first bit is “1”, which should be MODE data (first byte) in the display control command having a 2-byte configuration (see FIG. 27). Therefore, if the first bit is “1”, the display control CPU 101 stores the received command in the reception command buffer indicated by the command reception number counter in the reception buffer area, assuming that the first valid byte has been received (step S1). S673).
[0283]
If it is not the first byte of the display control command, it is confirmed whether or not the first byte has already been received (step S674). Whether or not it has already been received is confirmed by whether or not valid data is set in the reception buffer (reception command buffer).
[0284]
If the first byte has already been received, it is confirmed whether or not the first bit of the received 1 byte is “0”. If the first bit is “0”, it is determined that a valid second byte has been received, and the received command is stored in the reception command buffer indicated by the command reception number counter + 1 in the reception buffer area (step S675). The first bit of “0” is supposed to be EXT data (second byte) in the display control command having a 2-byte configuration (see FIG. 27). If the confirmation result in step S674 indicates that the first byte has already been received, the process ends unless the first bit of the data received as the second byte is “0”.
[0285]
In step S675, when the command data of the second byte is stored, 2 is added to the command reception number counter (step S676). Then, it is confirmed whether or not the command reception counter is 12 or more (step S677), and if it is 12 or more, the command reception number counter is cleared (step S678). Thereafter, the saved register is restored (step S679), and interrupt permission is set (step S680).
[0286]
The display control command has a two-byte configuration, and the first byte (MODE) and the second byte (EXT) are configured to be immediately distinguishable on the receiving side. In other words, the reception side can immediately detect whether the data as MODE or the data as EXT has been received by the first bit. Therefore, as described above, it can be easily determined whether or not appropriate data has been received. This also applies to the payout control command, the lamp control command, and the sound control command.
[0287]
FIG. 48 is a flowchart illustrating a specific example of command analysis processing (step S705). The display control command received from the
[0288]
In the command analysis process, the display control CPU 101 first checks whether or not a reception command is stored in the command reception buffer (step S681). Whether it is stored or not is determined by comparing the value of the command reception counter with the read pointer. The case where both match is the case where the received command is not stored. When the reception command is stored in the command reception buffer, the display control CPU 101 confirms whether or not the initialization processing flag is on (step S682). If the initialization processing flag is on, the reception command stored in the command reception buffer is cleared (step S683). In other words, the display control CPU 101 does not execute processing based on the received command while the initialization notification is being executed. When the received command is cleared, the value of the read pointer is incremented by one. If the initialization processing flag is off, the display control CPU 101 reads the received command from the command reception buffer (step S684). When read, the value of the read pointer is incremented by one.
[0289]
If the received received command is a left symbol designation command (step S685), the EXT data of the command is stored in the left stop symbol storage area (step S686), and the corresponding valid flag is set (step S687). Whether or not it is a left symbol designation command can be immediately recognized by the first byte (MODE data) of the 2-byte display control command.
[0290]
If the received received command is a middle symbol designation command (step S688), the display control CPU 101 stores the EXT data of the command in the middle stop symbol storage area (step S689) and sets the corresponding valid flag (step S689). Step S690). If the received received command is a right symbol designation command (step S691), the EXT data of the command is stored in the right stop symbol storage area (step S692), and the corresponding valid flag is set (step S693). The left middle right stop symbol storage area is provided in, for example, a RAM provided in the
[0291]
If the received reception command is a variation pattern command (step S694), the display control CPU 101 stores the EXT data of the command in the variation pattern storage area (step S695) and sets the variation pattern reception flag (step S696). ). The variation pattern storage area is provided in, for example, a RAM provided in the
[0292]
If the read reception command is an initialization notification command (step S697), the display control CPU 101 sets an initialization notification reception flag (step S698). In this example, since the jackpot start display command is used as the initialization notification command, it is necessary to check whether or not the received command is a command transmitted as the initialization notification command. In this case, for example, after the start of power supply to the gaming machine and before receiving the variation pattern command, if the big hit start display command is received, the initialization notification command is received. It may be determined. It should be noted that other methods may be used such as confirmation that an initialization notification command has been received when a jackpot start display command is received before a predetermined period of time has elapsed after power supply to the gaming machine has started. It may be.
[0293]
If the received command read in step S684 is another display control command, a flag corresponding to the received command is set (step S699).
[0294]
As described above, when the initialization process is executed, the
[0295]
Further, as described above, the game control means (CPU 56) transmits an initialization notification command indicating that the initialization notification is performed to the display control means (display control CPU 101), and the display control means is for the initialization notification. Since the above processing is executed, the processing load for performing the initialization notification in the game control means is reduced.
[0296]
In addition, as described above, the initialization notification is continuously executed for a predetermined period (a period set in the initialization notification period timer, for example, a predetermined period such as 5 minutes). Discovery of actions can be facilitated.
[0297]
In addition, as described above, even when the display control unit receives a new command during the execution of the initialization notification, the display control unit is configured not to execute the control based on the newly received command. Even if a command is transmitted illegally, the process based on the command is not executed and the initialization notification is continued, so that the notification is stopped based on the command transmitted illegally. This can be prevented.
[0298]
In addition, as described above, since the configuration is made using the jackpot start display command as the initialization notification command for specifying the initialization notification, even if an illegal act that interferes with the initialization notification is performed, Acts can be easily discovered. That is, if the initialization notification command is illegally masked and the specification by the initialization notification command is illegally disabled, the jackpot start display command is also masked at the same time, so the jackpot game is started. Sometimes the big hit start will not be displayed. As described above, when the initialization notification command is illegally masked, the normal game is affected. Therefore, it can be easily found that the designation by the initialization notification command is illegally disabled.
[0299]
Note that another existing command may be used as an initialization notification command for specifying initialization notification. Even in this case, if the initialization notification command is illegally masked, it will affect the normal game, so that illegal acts can be easily detected. In this case, as an initialization notification command, a command that designates a relatively conspicuous effect such as a command related to a jackpot game (for example, a display command when the big winning opening is opened, a display command when the big winning opening is opened, a big winning end display command, etc.) is used. By doing so, cheating can be detected more easily.
[0300]
In addition, a dedicated command different from other existing commands may be used as the initialization notification command for specifying initialization notification. With this configuration, when the initialization notification command is received, the display control means has been transmitted as a command for designating initialization notification as to whether it has been transmitted as another commonly used command. It is possible to immediately recognize that the command is for specifying the initialization notification without confirming whether the command has been received.
[0301]
In addition, as described above, the game control means (CPU 56) is configured to output an initialization signal indicating that initialization processing is being performed to the outside of the gaming machine, so that the game store side or the like is performing initialization processing. Can be recognized. Therefore, if a signal indicating that the initialization process is being performed despite the fact that the power supply has not actually stopped is output from the gaming machine, it can be determined that fraud has occurred, Will be able to easily find fraud at a place away from the gaming machine where the cheating was done.
[0302]
Note that the game control means (CPU 56) may output a signal indicating that power supply stop processing is being performed to the outside of the gaming machine. For example, the information output signal is output to a hall computer or the like. When a signal indicating that processing is being performed when power supply is stopped is output to the hall computer or the like, it is possible for the amusement shop to recognize that processing when power supply is stopped. Therefore, when a signal indicating that the power supply stop process is being performed is output from the gaming machine even though the power supply has not actually stopped, it can be determined that an illegal act has been performed.
[0303]
In this way, if the amusement store is configured so that it can recognize that the gaming machine is in the initialization process or in the process of stopping power supply, the amusement store will illegally detect that an illegal act has been detected. It is possible to identify a person who is cheating without the agent being aware.
[0304]
In the above-described embodiment, the
[0305]
Next, a configuration in which initialization notification is notified by a light emitter such as a lamp or LED will be described. Here, the operation of the lamp control means, which is an example of the electrical component control means, and serves as the light emitter control means including the lamp control CPU 351 mounted on the
[0306]
FIG. 49 is a flowchart showing main processing executed by the lamp control CPU 351. In the main process, the lamp control CPU 351 first executes an initialization process for initializing a register, a RAM including a work area, an output port, and the like (step S441). Thereafter, in this embodiment, the lamp control CPU 351 proceeds to a loop process for checking the timer interrupt flag (step S443). In the loop, a process for updating a counter for generating a predetermined random number is also performed (step S442). As shown in FIG. 50, when a timer interrupt occurs, the lamp control CPU 351 sets a timer interrupt flag (step S457). If the timer interrupt flag is set in the main process, the lamp control CPU 351 clears the flag (step S444) and executes the following lamp control process.
[0307]
In this embodiment, it is assumed that the timer interrupt takes every 2 ms. That is, the lamp control process is started every 2 ms. In this embodiment, only the flag is set in the timer interrupt process, and the specific lamp control process is executed in the main process, but the lamp control process may be executed in the timer interrupt process.
[0308]
In the lamp control process, the lamp control CPU 351 first checks whether a lamp control command has been received from the main board 31 (step S445: command recognition process). Next, it is confirmed whether or not an initialization notification command has been received (step S446). Specifically, it is confirmed whether or not a command reception flag corresponding to the initialization notification command is set. Here, for example, a big hit start lamp designation command (see FIG. 30) is used as the initialization notification command. If the initialization notification command has been received, the initialization notification for notifying the execution of the initialization process is started (step S447). In this example, as initialization notification, a process of turning on or blinking the light emitter controlled by the
[0309]
Next, the lamp control CPU 351 confirms whether or not the initialization notification flag is on (step S450). If the initialization notification flag is on, it is checked whether the initialization notification period timer has timed out (step S451), and if it has timed out, the initialization notification flag is turned off (step S452). Then, the execution of the initialization notification using the light emitter is terminated (step S453).
[0310]
Further, the lamp control CPU 351 performs a command execution process such as a process of changing lamp data to be used in accordance with the received lamp control command (step S454). The lamp control command from the
[0311]
In this embodiment, the lighting pattern of the lamp / LED that is controlled to blink according to the progress of the game is controlled according to the lamp data stored in the ROM. The ramp data is prepared for each type of control pattern (control commands for designating an effect pattern with lamps and LEDs during the change of special symbols and other game effects sent from the game control means according to the game progress status. Prepared for each control command). In the lamp data, data indicating that the lamp / LED is turned on or off and data indicating a lighting or extinguishing period (process timer value) are set. That is, data indicating the lighting pattern of the light emitter is stored in the control data area.
[0312]
In the lamp process update process, it is determined whether or not the process timer has timed out based on the value of the effect timer stored in the timer state storage area. Specifically, the process timer value corresponding to the data set to turn off or turn on the lamp / LED is added to the value of the effect timer stored in the timer state storage area, and the effect based on the data is started. The process end determination value is calculated and stored in a predetermined area of the RAM. The effect timer is updated by the timer interrupt process, and each time the main process is repeated, the latest effect timer value is copied to the timer state storage area by the timer state setting process. Then, it is checked whether or not the value of the production timer stored in the timer state storage area matches the calculated process end judgment value. If they match, the process timer has timed out Is determined. If it is determined that the process timer has timed out, it is decided to turn off or turn on the lamp / LED according to the data set at the next address in the lamp data, and the process according to the decision result A new process end determination value is calculated and stored by adding the timer value to the value of the production timer stored in the timer state storage area. When a new process end determination value is set, it is a time of switching on / off, so that data for turning on / off the lamp / LED is output to the corresponding output port in the port output processing.
[0313]
As described above, in the case where the initialization process is executed and the configuration in which the initialization notification is performed using the light emitter, the signal is illegally transmitted to the game control means as in the case of the notification by the
[0314]
Next, a configuration in which initialization notification is notified by an audio output device such as a speaker will be described. Here, an operation of a sound control means (sound control means) that is an example of an electrical component control means and includes a
[0315]
FIG. 51 is a flowchart showing main processing executed by the
[0316]
In this embodiment, it is assumed that the timer interrupt takes every 2 ms. That is, the sound control process is started every 2 ms. In this embodiment, only the flag is set in the timer interrupt process, and the specific sound control process is executed in the main process, but the sound control process may be executed in the timer interrupt process.
[0317]
In the sound control process, the
[0318]
Next, the
[0319]
Furthermore, the
[0320]
In this embodiment, the sound pattern output from the
[0321]
The voice synthesis circuit 702 is controlled by a transfer request signal (SIRQ), a serial clock signal (SICK), a serial data signal (SI), and a transfer end signal (SRDY). When the SIRQ becomes low level, the voice synthesis circuit 702 takes in SI one bit at a time in synchronization with SICK, and when SRDY becomes low level, interprets the data composed of each SI received so far as one voice reproduction data. To do.
[0322]
In each audio data, data corresponding to the serial data signal output to the audio synthesis circuit 702 and data indicating the duration (process timer value) of the audio generated according to the data are set. That is, the control data stores data indicating the output pattern from the sound generating means (the
[0323]
In the audio process update process, the value of the timer corresponding to the process timer value is initially subtracted, and when the timer times out, it is output according to the data set at the next address in the audio data It is determined to change to voice, and a process timer value corresponding to the determination result is set in the timer. In addition, since the output voice is switched when the process timer value is set in the timer, in the port output process (step S486), via the output port for outputting data to the voice synthesis circuit 702, Data corresponding to the new output voice is output to the voice synthesis circuit 702.
[0324]
In the audio process update process, it is determined whether or not the process timer has timed out based on the value of the effect timer stored in the timer state storage area. Specifically, when starting the production based on the process timer value corresponding to the data set to be output to the
[0325]
Specifically, in the port output process, the
[0326]
As described above, when the initialization process is executed, the case where the initialization notification is performed using the sound output unit is also illegally transmitted to the game control unit in the same manner as in the case of the notification by the
[0327]
In the other embodiments described above, the case where the initialization notification is performed using the illuminant and the configuration where the initialization notification is performed using the sound output unit are briefly described, but the description is omitted. The part can also be configured in the same manner as when the initialization notification is notified by the
[0328]
In each of the above embodiments, the game control means (CPU 56) outputs a command indicating that the power supply stop process is in progress, and the display control means (display control CPU 101) performs the power supply stop process. Although it has been configured to perform notification indicating execution, it may be configured to perform notification indicating execution of power supply stop processing on the other sub-boards 35 and 70. Note that in the case where notification indicating the execution of the power supply stop process is performed, it is desirable to continue the notification until the power supply to the gaming machine is stopped. If an illegal act of causing a stack overflow or illegally inputting a reset signal to the
[0329]
In the above embodiment, the power-off signal (NMI signal) is input to the non-maskable interrupt terminal, but may be input to the maskable interrupt terminal or input to the input port. Also good. When input to the input port, the game control means executes processing corresponding to the non-maskable interrupt processing described above if the power-off signal is on as a result of the port check.
[0330]
In the above-described embodiment, the power supply monitoring unit is mounted on the
[0331]
Further, in the above-described embodiment, the counter for generating the jackpot determination random number is initialized to 0 in the initialization process (step S9 shown in FIG. 18). A new initial value (any of 0 to 316: see FIG. 26) is set based on the value. Therefore, in the first round after the initialization, as described above, it is possible to easily grasp the timing at which the count value of the counter for generating the jackpot determination random number matches the predetermined jackpot determination value. Accordingly, when the big hit determination random number is updated in the first round after the initialization process, even if there is a start winning, for example, in step S44 described above, the big hit determination random number is not extracted and other outliers are extracted. The lottery based on the big hit determination random number may not be performed, for example, by using the system or by determining that it is always out of place in step S54. With this configuration, the initial value of the jackpot determination random number cannot be specified. Therefore, even if the update of the big hit determination random number is the first round after the initialization, the target of the jackpot determination value is targeted by fraud. It can be prevented from being broken.
[0332]
In the above embodiment, the counter for generating the determination random number and the initial value determining random number is initialized to 0 in the initialization process (step S9 shown in FIG. 18). The counter value may not be initialized to 0. By doing so, even if the initialization process is executed, the initial value of each counter varies, so that it is possible to prevent the jackpot determination value from being targeted by fraud.
[0333]
For example, a circuit corresponding to the system reset circuit 65 (referred to as a reset circuit) is provided not on the
[0334]
In the initialization process, when the count value of the counter for generating the determination random number is initialized to 0, the counter for generating the big hit determination random number (random 1) from the time when the system reset signal is illegally input This makes it easy to predict the timing at which the count value matches the jackpot determination value. The fraudulent person illegally generates a big hit by sending an illegal signal that causes a start prize at that timing to the
[0335]
However, in the initialization process, the count value of the counter for generating the determination random number is not initialized to 0, or when the determination random number is updated in the first round, the big hit lottery is not performed. By doing so, such illegal acts can be prevented. Then, after the power supply stop process is executed, when the power supply is restored and the game state recovery process is executed, in the game state recovery process, the
[0336]
Alternatively, in the initialization process, the count value of the counter for generating the initial value determination random number is not initialized to 0, or the big hit lottery is performed when the determination random number is updated in the first round. If it is not performed, even if the control state returns to the initial state due to an illegal input of the system reset signal, the update of the first cycle is immediately completed and the counter for generating the determination random number is counted. Since the value is updated by the count value of the counter for generating the initial value determination random number, it is possible to predict the timing when the count value of the counter for generating random 1 matches the jackpot determination value. It becomes difficult. Then, after the power supply stop process is executed, when the power supply is restored and the game state recovery process is executed, in the game state recovery process, the
[0337]
In addition to a counter for generating a random number for determination and a counter for generating a random number for determining an initial value, an infinite counter (for example, constantly updated by a timer interrupt process) is provided. The count value of the infinite counter may be set to a counter for generating random 1 as an initial value. Even in such a case, it is difficult to predict the timing when the count value of the counter for generating random 1 matches the jackpot determination value. The infinite counter is composed of, for example, 2 bytes. In the initialization process, for example, the value of the lower 8 bits of the infinite counter is set in the counter for generating random 1. The infinite counter is stored in a storage medium such as an EEPROM that can read and write and can retain the stored contents even when power supply is stopped. The infinite counter may be stored in a RAM having a unique backup power source different from each power source supplied to the gaming machine.
[0338]
As described above, when the initial value of the big hit determination random number is varied, or when the big hit determination random number is updated in the first round, the big hit lottery is not performed, the above-described stack overflow occurs. In addition to cheating or forcing input of a reset signal, for example, even when cheating is performed to clear the RAM by turning off the control power (5V) or backup power supplied to the gaming machine. Thus, it is possible to prevent a big hit from being generated by such an illegal act.
[0339]
In addition, according to each embodiment mentioned above, even if it is a case where the fraudulent act which clears RAM is performed by turning off the control power supply (5V) and backup power supply which are supplied to a game machine, initialization notification is performed. Such fraudulent activity can be easily detected.
[0340]
According to each of the above-described embodiments, the initialization notification is performed under the control of the display control CPU 101, the lamp control CPU 351, or the
[0341]
In each of the embodiments described above, if the data to be stacked exceeds the storage capacity of the stack area provided in the
[0342]
Further, in the above-described embodiment, the display control CPU 101, the lamp control CPU 351, or the
[0343]
In the above-described embodiment, the backup power supply for supplying power to the backup RAM is created on the
[0344]
In the embodiment described above, the “specific game state” means a state that is advantageous for a player who is given a predetermined game value. Specifically, the “specific game state” is, for example, a right for a variable winning ball apparatus to be in a state advantageous to a player who easily hits a ball (a big hit gaming state) or a state advantageous to a player. A state in which a predetermined game value has been given, such as a state in which a condition has occurred, a condition in which a prize game medium payout condition is easily established, or a condition in which a score is awarded to a player is easily established. .
[0345]
In the embodiment described above, the “specific condition” means a condition for setting the control state of the gaming machine to the specific gaming state. Therefore, when a specific condition is satisfied, the control state of the gaming machine becomes the specific game state. Specifically, the “specific condition” is, for example, “variable that can variably display (for example, scroll display, frame advance display, switching display, etc.) of a plurality of types of identification information (for example, symbols, patterns, numerical values, etc.). The display device (for example, a liquid crystal display device, a dot matrix display device, a segment display device, a drum display device, etc.) is configured, and the display result of the identification information in the variable display device is a specific display result (for example, all Display result that is the same identification information, specifically, for example, a display result in which all the left, middle, and right identification information is “1”). Further, for example, the “specific condition” may be a condition that is satisfied when a game ball is detected by a ball detection means (for example, a photo sensor, a proximity switch, etc.) provided in a specific area in the game area. .
[0346]
Note that the
[0347]
【The invention's effect】
As described above, claim 1Or claim 2In the described invention, the game control microcomputer executes a data saving process in which the game control microcomputer saves data necessary for recovery of the control state in the variable data storage means based on the signal input to the signal input unit. Based on the reset signal input when the supply is started, the program is started from the beginning, and based on the establishment of a predetermined condition, the control state is initialized, or the stored contents of the fluctuation data storage means When executing any one of the recovery processing to restore the control state and executing the initialization processing, the notification means for performing notification by the notification means provided in the gaming machine is executed. Even if an illegal act for executing the initialization process is performed, such an illegal act can be easily found.
Further, since the variation data storage means stores the numerical value for determination and initializes the numerical value for determination when executing the initialization process, the process based on unstable data is executed and a problem occurs. This can be prevented.
Further, the data saving process execution means saves the data necessary for restoring the control state in the data saving process to the stack area, and stores the storage address of the saved data in the fluctuation data storage means, When the data saved in the stack area exceeds the address of the stack area, the initialization process is executed. Therefore, the process based on unstable data is executed to prevent problems. Can do.
In addition, since the game control microcomputer is configured to transmit a command indicating notification to the electrical component control microcomputer in the notification process, there is a processing burden for performing notification in the game control microcomputer. It is reduced.
According to the first aspect of the present invention, when the electric component control microcomputer causes the notifying means to continuously execute the notification for a predetermined period and a new command is received during the notification execution period, it is newly received. Since the configuration is such that the command is discarded, the notification can be performed with priority, and the notification can be prevented from being stopped due to the unauthorized transmission of the command.
[0350]
Claim3In the described invention, it is possible to control to a specific gaming state advantageous to the player when a specific condition is established, and the game control microcomputer performs a notification process,As a command to show notification,Specific gaming stateBetween start and endThe command to be sentTheSince it is configured to send to the electronic component control microcomputer, if an illegal act that invalidates the command indicating notification is performed, it will interfere with the control of the specific gaming state and Can be easily discovered.
[0351]
Claim4In the described invention, when the game control microcomputer executes the initialization process, the game control microcomputer is configured to execute an initialization signal output process for outputting a signal indicating the execution of the initialization process outside the gaming machine. It becomes possible to easily find fraud at a place away from the gaming machine.
[Brief description of the drawings]
FIG. 1 is a front view of a pachinko gaming machine as viewed from the front.
FIG. 2 is a front view showing the front surface of the game board with the glass door frame removed.
FIG. 3 is a rear view of the gaming machine as seen from the back side.
FIG. 4 is a rear view of the mechanism plate to which various members are attached as viewed from the back side of the gaming machine.
FIG. 5 is an exploded perspective view showing a configuration example of a ball dispensing device.
FIG. 6 is a front view showing a part of a switch board installed in the game board.
FIG. 7 is a configuration diagram illustrating an example of a configuration of a clear switch.
FIG. 8 is a block diagram showing a circuit configuration example of a game control board (main board).
FIG. 9 is a block diagram showing a circuit configuration example of a symbol control board.
FIG. 10 is a block diagram showing a circuit configuration in a lamp control board.
FIG. 11 is a block diagram showing a circuit configuration in a sound control board.
FIG. 12 is a block diagram showing a circuit configuration example of a payout control board.
FIG. 13 is a block diagram illustrating a circuit configuration example of a power supply substrate.
FIG. 14 is a block diagram illustrating an example of a configuration around a CPU for power monitoring and power backup.
FIG. 15 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 16 is an explanatory diagram illustrating an example of bit assignment of an output port.
FIG. 17 is an explanatory diagram illustrating an example of bit assignment of an input port.
FIG. 18 is a flowchart showing main processing executed by the CPU on the main board.
FIG. 19 is an explanatory diagram showing an example of a relationship between a backup flag and whether or not to execute a game state recovery process.
FIG. 20 is a flowchart showing gaming state recovery processing.
FIG. 21 is a flowchart showing a 2 ms timer interrupt process.
FIG. 22 is a flowchart showing a special symbol process.
FIG. 23 is a flowchart showing start-port switch passage confirmation processing;
FIG. 24 is a flowchart showing a process for determining a variable display stop symbol and a process for determining a reach type.
FIG. 25 is a flowchart showing a process for determining whether or not to make a big hit.
FIG. 26 is an explanatory diagram showing an example of a random number.
FIG. 27 is an explanatory diagram showing an example of a command form of a control command.
FIG. 28 is a timing chart showing the relationship between an 8-bit control signal and an INT signal that constitute a control command.
FIG. 29 is an explanatory diagram showing an example of the content of a display control command.
FIG. 30 is an explanatory diagram showing an example of the content of a lamp control command.
FIG. 31 is an explanatory diagram showing an example of the contents of a sound control command.
FIG. 32 is an explanatory diagram of a configuration example of a command transmission table.
FIG. 33 is an explanatory diagram showing one configuration example and another configuration example of
FIG. 34 is an explanatory diagram showing a configuration example of INT data.
FIG. 35 is an explanatory diagram of a configuration example of a command transmission table.
FIG. 36 is a flowchart showing command control processing;
FIG. 37 is a flowchart showing a command transmission processing routine.
FIG. 38 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 39 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 40 is a flowchart showing a non-maskable interrupt process (power supply stop process).
FIG. 41 is an explanatory diagram showing a RAM address map;
FIG. 42 is an explanatory diagram for explaining an example of a checksum creation method;
FIG. 43 is a timing chart showing a power supply drop and an NMI signal when power supply to a gaming machine is stopped.
FIG. 44 is a flowchart showing a main process executed by the display control CPU.
FIG. 45 is a flowchart showing a timer interrupt process executed by the display control CPU.
FIG. 46 is an explanatory diagram showing a configuration of a command reception buffer.
FIG. 47 is a flowchart showing command reception interrupt processing;
FIG. 48 is a flowchart showing command analysis processing;
FIG. 49 is a flowchart showing a main process executed by a lamp control CPU.
FIG. 50 is a flowchart showing a timer interrupt process executed by a lamp control CPU.
FIG. 51 is a flowchart showing main processing executed by the sound control CPU;
FIG. 52 is a flowchart showing a timer interrupt process executed by the sound control CPU.
[Explanation of symbols]
1 Pachinko machine
31 Main board
35 Lamp control board
53 Basic circuit
55 RAM (variable data storage means)
56 CPU
70 sound control board
80 design control board
902 IC for power monitoring (power monitoring means)
910 Power supply board
916 capacitor (backup power supply)
950 judgment circuit
Claims (5)
遊技の進行を制御する遊技制御マイクロコンピュータが搭載された制御基板と、
前記遊技制御マイクロコンピュータからのコマンドにもとづいて遊技機に設けられる報知手段を制御する電気部品制御マイクロコンピュータが搭載された電気部品制御基板と、
遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、
所定電位の電源の出力電圧を監視し、該出力電圧が所定値に低下したことを検出したときに検出信号を出力する電源監視手段とを備え、
前記遊技制御マイクロコンピュータは、前記特定遊技状態の判定に用いられる判定用数値を更新する判定用数値更新手段を含み、前記判定用数値は前記変動データ記憶手段に記憶され、
前記遊技制御マイクロコンピュータは、
前記電源監視手段からの検出信号を入力するための信号入力部を備え、
前記信号入力部に前記検出信号が入力されると、割込を発生させ、割込処理にて制御状態の復旧に必要なデータを前記変動データ記憶手段におけるスタック領域に退避させ、退避させたデータの格納先のアドレスを前記変動データ記憶手段に格納するデータ退避処理を実行するデータ退避処理実行手段と、
電力供給が開始されたときに入力されるリセット信号に応じてプログラムを先頭から開始させ、所定条件の成立にもとづいて、前記判定用数値を含む前記変動データ記憶手段の記憶内容を初期化する初期化処理または前記変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する電力供給開始時処理手段とを含み、
前記遊技制御マイクロコンピュータは、
前記スタック領域に退避されたデータが当該スタック領域のアドレスを超えたときに、遊技機への電力供給の停止や再開がされなくてもプログラムを先頭から開始させ、
前記所定条件の成立として、前記スタック領域に退避されたデータが当該スタック領域のアドレスを超えたときに前記初期化処理を実行し、
前記初期化処理を実行するときには、前記報知手段にて報知を行うことを示すコマンドを前記電気部品制御マイクロコンピュータに送信する報知処理を実行し、
前記電気部品制御マイクロコンピュータは、
前記報知を行うことを示すコマンドの受信に応じて、前記報知手段に所定期間継続的に報知を実行させ、
報知の実行期間中に新たにコマンドを受信したときには、新たに受信したコマンドを破棄する
ことを特徴とする遊技機。A gaming machine in which a player plays a predetermined game and can be controlled to a specific gaming state advantageous to the player when a specific condition is satisfied,
A control board on which a game control microcomputer for controlling the progress of the game is mounted;
An electrical component control board on which an electrical component control microcomputer for controlling a notification means provided in the gaming machine based on a command from the game control microcomputer is mounted;
Fluctuating data storage means capable of holding stored contents for a predetermined period even when power supply to the gaming machine is stopped,
Power supply monitoring means for monitoring the output voltage of a power supply of a predetermined potential and outputting a detection signal when it is detected that the output voltage has dropped to a predetermined value;
The game control microcomputer includes a determination numerical value update means for updating a determination numerical value used for determination of the specific gaming state, and the determination numerical value is stored in the variation data storage means,
The game control microcomputer is:
A signal input unit for inputting a detection signal from the power supply monitoring unit;
When the detection signal is input to the signal input unit, an interrupt is generated, and data necessary for restoring the control state by the interrupt process is saved in the stack area in the variable data storage unit, and the saved data Data evacuation processing execution means for executing data evacuation processing for storing the address of the storage destination in the fluctuation data storage means;
An initial stage for initializing the stored contents of the variation data storage means including the numerical value for determination based on establishment of a predetermined condition based on the establishment of a predetermined condition in accordance with a reset signal input when power supply is started Power supply start time processing means for executing one of recovery processing or recovery processing for restoring the control state based on the stored contents of the fluctuation data storage means,
The game control microcomputer is:
When the data saved in the stack area exceeds the address of the stack area, the program is started from the top even if the power supply to the gaming machine is not stopped or restarted,
As the establishment of the predetermined condition, the initialization process is executed when the data saved in the stack area exceeds the address of the stack area,
When performing the initialization process performs a notification process to send a command indicating that the performing the notification by the notification means to the electrical component control microcomputer,
The electric component control microcomputer is:
In response to receiving a command indicating performing the notification, the notification unit continuously performs notification for a predetermined period,
A gaming machine characterized in that when a new command is received during the notification execution period, the newly received command is discarded .
遊技の進行を制御する遊技制御マイクロコンピュータが搭載された制御基板と、A control board on which a game control microcomputer for controlling the progress of the game is mounted;
前記遊技制御マイクロコンピュータからのコマンドにもとづいて遊技機に設けられる電気部品を制御する電気部品制御マイクロコンピュータが搭載された電気部品制御基板と、An electrical component control board on which an electrical component control microcomputer for controlling electrical components provided in the gaming machine based on a command from the game control microcomputer is mounted;
遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、Fluctuating data storage means capable of holding stored contents for a predetermined period even when power supply to the gaming machine is stopped,
所定電位の電源の出力電圧を監視し、該出力電圧が所定値に低下したことを検出したときに検出信号を出力する電源監視手段とを備え、Power supply monitoring means for monitoring the output voltage of a power supply of a predetermined potential and outputting a detection signal when it is detected that the output voltage has dropped to a predetermined value;
前記電気部品は報知手段を含み、The electrical component includes a notification means,
前記遊技制御マイクロコンピュータは、前記特定遊技状態の判定に用いられる判定用数値を更新する判定用数値更新手段を含み、前記判定用数値は前記変動データ記憶手段に記憶され、The game control microcomputer includes a determination numerical value update means for updating a determination numerical value used for determination of the specific gaming state, and the determination numerical value is stored in the variation data storage means,
前記遊技制御マイクロコンピュータは、The game control microcomputer is:
前記電源監視手段からの検出信号を入力するための信号入力部を備え、A signal input unit for inputting a detection signal from the power supply monitoring unit;
前記信号入力部に前記検出信号が入力されると、割込を発生させ、割込処理にて制御状態の復旧に必要なデータを前記変動データ記憶手段におけるスタック領域に退避させ、退避させたデータの格納先のアドレスを前記変動データ記憶手段に格納するデータ退避処理を実行するデータ退避処理実行手段と、When the detection signal is input to the signal input unit, an interrupt is generated, and the data necessary for restoring the control state by the interrupt process is saved in the stack area in the variable data storage means, and the saved data A data evacuation process executing means for executing a data evacuation process for storing the storage destination address in the fluctuation data storage means;
電力供給が開始されたときに入力されるリセット信号に応じてプログラムを先頭から開始させ、所定条件の成立にもとづいて、前記判定用数値を含む前記変動データ記憶手段の記憶内容を初期化する初期化処理または前記変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する電力供給開始時処理手段とを含み、Initializing the program to start from the beginning in response to a reset signal input when power supply is started and initializing the stored contents of the variable data storage means including the determination numerical value based on the establishment of a predetermined condition Power supply start time processing means for executing one of recovery processing or recovery processing for restoring the control state based on the stored contents of the fluctuation data storage means,
前記遊技制御マイクロコンピュータは、The game control microcomputer is:
前記スタック領域に退避されたデータが当該スタック領域のアドレスを超えたときに、遊技機への電力供給の停止や再開がされなくてもプログラムを先頭から開始させ、When the data saved in the stack area exceeds the address of the stack area, even if the power supply to the gaming machine is not stopped or restarted, the program is started from the top,
前記所定条件の成立として、前記スタック領域に退避されたデータが当該スタック領域のアドレスを超えたときに前記初期化処理を実行し、As the establishment of the predetermined condition, the initialization process is executed when the data saved in the stack area exceeds the address of the stack area,
前記初期化処理を実行するときには、前記報知手段にて報知を行うことを示すコマンドを前記電気部品制御マイクロコンピュータに送信する報知処理を実行し、When executing the initialization process, execute a notification process of transmitting a command to the electrical component control microcomputer indicating that notification is performed by the notification unit,
前記電気部品制御マイクロコンピュータは、The electric component control microcomputer is:
前記報知を行うことを示すコマンドの受信に応じて、前記報知手段に所定期間継続的に報知を実行させ、In response to receiving a command indicating performing the notification, the notification unit continuously performs notification for a predetermined period,
報知の実行期間中に新たに電気部品を制御するためのコマンドを受信したときには、新たに受信した該コマンドを記憶し、When a command for newly controlling an electrical component is received during the notification execution period, the newly received command is stored,
報知を終了したときに、記憶されているコマンドにもとづいて前記電気部品の制御を実行するWhen the notification is finished, control of the electrical component is executed based on the stored command.
ことを特徴とする遊技機。A gaming machine characterized by that.
請求項1または請求項2記載の遊技機。Game control microcomputer at notifying process, a command indicating that perform notification, according to claim 1 or claim send commands sent between the start and end of a specific game state to the electrical component control microcomputer 2. The gaming machine according to 2 .
請求項1から請求項3のうちのいずれかに記載の遊技機。The game control microcomputer executes an initialization signal output process for outputting a signal indicating the execution of the initialization process to the outside of the gaming machine when the power supply start time processing means executes the initialization process. The gaming machine according to any one of the three .
判定用数値に設定される初期値として用いられる初期値用数値を更新する初期値用数値更新手段を含み、
判定用数値更新手段は、定期的に開始される遊技制御処理で前記判定用数値を更新し、
前記初期値用数値更新手段は、前記遊技制御処理で前記初期用数値を更新するとともに、前記遊技制御処理が終了した後、次に前記遊技制御処理が開始されるまでの間に前記初期値用数値を繰り返し更新し、
前記遊技制御マイクロコンピュータは、
判定用数値を抽出して抽出値をあらかじめ決められた判定値と比較することによって特定遊技状態に制御するか否か決定し、
前記判定用数値があらかじめ決められている数値範囲内で一巡すると前記判定用数値に前記初期値用数値を設定し、
前記判定用数値を初期化処理で初期化した後、初めて前記判定用数値に前記初期値用数値を設定したら、前記判定用数値の抽出を許容する
請求項1から請求項4のうちのいずれかに記載の遊技機。 The game control microcomputer
Including initial value numerical value updating means for updating an initial value numerical value used as an initial value set as a determination numerical value;
The determination numerical value updating means updates the determination numerical value in a game control process started periodically,
The initial value numerical value updating means updates the initial numerical value in the game control process, and after the game control process ends, until the game control process is started next. Update the number repeatedly,
The game control microcomputer is:
It is determined whether to control to a specific gaming state by extracting a numerical value for determination and comparing the extracted value with a predetermined determination value,
When the numerical value for determination makes a round within a predetermined numerical range, the numerical value for initial value is set to the numerical value for determination,
If the initial value is set to the determination value for the first time after the determination value is initialized by the initialization process, the determination value is allowed to be extracted.
The gaming machine according to any one of claims 1 to 4 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001252038A JP3768419B2 (en) | 2001-08-22 | 2001-08-22 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001252038A JP3768419B2 (en) | 2001-08-22 | 2001-08-22 | Game machine |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003062277A JP2003062277A (en) | 2003-03-04 |
JP2003062277A5 JP2003062277A5 (en) | 2005-06-30 |
JP3768419B2 true JP3768419B2 (en) | 2006-04-19 |
Family
ID=19080582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001252038A Expired - Lifetime JP3768419B2 (en) | 2001-08-22 | 2001-08-22 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3768419B2 (en) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008178723A (en) * | 2001-05-09 | 2008-08-07 | Daiman:Kk | Game machine |
JP4259821B2 (en) * | 2002-07-31 | 2009-04-30 | 株式会社サンセイアールアンドディ | Game machine |
JP4429646B2 (en) * | 2003-07-08 | 2010-03-10 | 株式会社ニューギン | Game machine |
JP4655679B2 (en) * | 2005-02-28 | 2011-03-23 | 株式会社三洋物産 | Game machine |
JP4757737B2 (en) * | 2006-08-15 | 2011-08-24 | 株式会社三共 | Game machine |
JP4757738B2 (en) * | 2006-08-18 | 2011-08-24 | 株式会社三共 | Game machine |
JP4757739B2 (en) * | 2006-08-18 | 2011-08-24 | 株式会社三共 | Game machine |
JP5063961B2 (en) * | 2006-08-23 | 2012-10-31 | 株式会社三共 | Game machine |
JP5047563B2 (en) * | 2006-08-29 | 2012-10-10 | 株式会社三共 | Game machine |
JP4464377B2 (en) * | 2006-09-01 | 2010-05-19 | 株式会社サンセイアールアンドディ | Game machine |
JP5042566B2 (en) * | 2006-09-01 | 2012-10-03 | 株式会社三共 | Game machine |
JP4712650B2 (en) * | 2006-09-05 | 2011-06-29 | 株式会社藤商事 | Game machine |
JP4767837B2 (en) * | 2006-12-27 | 2011-09-07 | 株式会社三共 | Game machine |
JP5026099B2 (en) * | 2007-02-05 | 2012-09-12 | 株式会社三共 | Game machine |
JP4782089B2 (en) * | 2007-09-21 | 2011-09-28 | 株式会社三共 | Game machine |
JP5590279B2 (en) * | 2008-03-31 | 2014-09-17 | 株式会社三洋物産 | Game machine |
JP5590278B2 (en) * | 2008-03-31 | 2014-09-17 | 株式会社三洋物産 | Game machine |
JP5590280B2 (en) * | 2008-04-11 | 2014-09-17 | 株式会社三洋物産 | Game machine |
JP4904411B2 (en) * | 2010-04-16 | 2012-03-28 | 株式会社藤商事 | Game machine |
JP5335832B2 (en) * | 2011-02-10 | 2013-11-06 | 株式会社三共 | Game machine |
JP2011212485A (en) * | 2011-08-01 | 2011-10-27 | Sankyo Co Ltd | Game machine |
JP2011212486A (en) * | 2011-08-01 | 2011-10-27 | Sankyo Co Ltd | Game machine |
JP5662368B2 (en) * | 2012-03-29 | 2015-01-28 | 株式会社三共 | Game machine |
JP5667114B2 (en) * | 2012-03-29 | 2015-02-12 | 株式会社三共 | Game machine |
JP5770785B2 (en) * | 2013-06-14 | 2015-08-26 | 株式会社三共 | Game machine |
JP5711305B2 (en) * | 2013-06-14 | 2015-04-30 | 株式会社三共 | Game machine |
JP5711304B2 (en) * | 2013-06-14 | 2015-04-30 | 株式会社三共 | Game machine |
JP5770784B2 (en) * | 2013-06-14 | 2015-08-26 | 株式会社三共 | Game machine |
JP5711307B2 (en) * | 2013-06-14 | 2015-04-30 | 株式会社三共 | Game machine |
JP5711306B2 (en) * | 2013-06-14 | 2015-04-30 | 株式会社三共 | Game machine |
-
2001
- 2001-08-22 JP JP2001252038A patent/JP3768419B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003062277A (en) | 2003-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3768419B2 (en) | Game machine | |
JP4794779B2 (en) | Game machine | |
JP3660309B2 (en) | Game machine | |
JP4255642B2 (en) | Game machine | |
JP2004081465A (en) | Game machine | |
JP4338833B2 (en) | Game machine | |
JP3865976B2 (en) | Game machine | |
JP3686037B2 (en) | Game machine | |
JP2004008709A (en) | Game machine | |
JP3755637B2 (en) | Game machine | |
JP4850974B2 (en) | Game machine | |
JP4658177B2 (en) | Game machine | |
JP2001178890A (en) | Game machine | |
JP2003325909A (en) | Game machine | |
JP2003033544A (en) | Game machine | |
JP5095056B2 (en) | Game machine | |
JP4795476B2 (en) | Game machine | |
JP3647778B2 (en) | Game machine | |
JP3546163B2 (en) | Gaming machine | |
JP3907929B2 (en) | Game machine | |
JP4347379B2 (en) | Game machine | |
JP4338832B2 (en) | Game machine | |
JP2001037963A (en) | Game machine | |
JP4652458B2 (en) | Game machine | |
JP2003024606A (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041019 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20041019 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20050127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050411 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051202 |
|
TRDD | Decision of grant or rejection written | ||
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060123 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3768419 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |