JP2004008709A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2004008709A JP2004008709A JP2002170625A JP2002170625A JP2004008709A JP 2004008709 A JP2004008709 A JP 2004008709A JP 2002170625 A JP2002170625 A JP 2002170625A JP 2002170625 A JP2002170625 A JP 2002170625A JP 2004008709 A JP2004008709 A JP 2004008709A
- Authority
- JP
- Japan
- Prior art keywords
- command
- power supply
- value
- predetermined
- specific game
- 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.)
- Granted
Links
Images
Landscapes
- Pinball Game Machines (AREA)
- Slot Machines And Peripheral Devices (AREA)
Abstract
【解決手段】入賞確認処理において、CPUは、始動口スイッチがオンしたことを判定すると、初回周期未完了フラグがセットされているか否か確認する。初回周期未完了フラグがセットされていれば、CPUは、不正行為にもとづく始動入賞であると判断し、不正行為があったことの報知を指示するために、不正報知指定のコマンド送信テーブルをセットし、コマンド作成処理を実行する。そして、不正報知指定コマンドを受信した演出制御基板にて不正報知が実行される。よって、大当り判定用乱数の最初の更新周期が完了する前に始動入賞があった場合に不正報知が行われる。従って、不正行為をより確実に発見することができる。
【選択図】 図13
Description
【発明の属する技術分野】
本発明は、遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能なパチンコ遊技機やスロットマシン等の遊技機に関する。
【0002】
【従来の技術】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】
遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。また、入賞等の所定の条件成立に応じて所定量の遊技球やコインが付与されたり得点が加算されたりする場合に、それらを価値または有価価値と呼ぶことにする。
【0004】
パチンコ遊技機では、特別図柄(識別情報)を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば15ラウンド)に固定されている。なお、各開放について開放時間(例えば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】
上記のような不正行為がなされた場合には、初期化処理が実行されるので、初期化処理が実行されていることを報知することで、不正行為が行われた可能性があることを遊技店員に知らせることは可能である。しかし、初期化処理が実行されていることを報知しても、不正行為にもとづいて初期化処理が実行されているとは限らないため、不正行為が行われたのかを特定することが困難であった。
【0014】
そこで、本発明は、停電等の不測の電力供給の停止が生じたときに必要なデータを割込処理によって電源バックアップされたバックアップRAMに保存するように構成されている場合に、不正に割込信号やリセット信号を送り込むような不正行為をより確実に発見することができる遊技機を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明による遊技機は、遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態(例えば大当り遊技状態)に制御可能な遊技機であって、遊技に関わる制御を行う制御手段(例えばCPU56を含む遊技制御手段、演出制御用CPU301を含む演出制御手段)が搭載された制御基板(例えば主基板31、演出制御基板300)と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段(例えば電源バックアップされているRAM55)と、所定電位(例えば30V)の電源の出力電圧を監視し検出条件が成立したとき(例えば22Vまで低下したとき)に検出信号(例えば電源断信号)を出力する電源監視手段(例えば電源監視用IC902)とを備え、制御手段は、特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新(例えばステップS23a)する数値更新手段(例えば、大当り判定用乱数カウンタ)と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段(例えば、ステップS23dを実行する手段)と、所定の始動入賞(例えば有効始動入賞)があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段(例えば、ステップS47を実行する手段)と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段(例えば、ステップS57を実行する手段)と、電源監視手段からの検出信号を入力するための信号入力部(例えばマスク不能割込端子)と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理(例えば図22に示す処理)を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立(例えばステップS7a〜ステップS7cにて課される条件)にもとづいて、制御状態を初期化する初期化処理(例えばステップS9〜ステップS15)または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理(例えば図8に示す遊技状態復旧処理)のいずれか一方を実行する機能とを有し、初期化処理を実行した後に、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちに始動入賞があったとき(例えばステップS42のY)には、遊技機に設けられる報知手段(例えば可変表示装置9、スピーカ27、ランプ・LEDなどの発光体)にて不正報知を行うための不正報知処理(例えばステップS43、ステップS44)を実行することを特徴とする。
【0016】
また、本発明による遊技機は、遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、遊技に関わる制御を行う制御手段が搭載された制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段とを備え、制御手段は、特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、所定の始動入賞があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段と、電源監視手段からの検出信号を入力するための信号入力部と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、初期化処理を実行した後、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちに特定遊技状態となることが決定されたとき(例えばステップS66のY)には、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理(例えばステップS67、ステップS68)を実行することを特徴とする。
【0017】
また、本発明の遊技機によれば、遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、遊技に関わる制御を行う制御手段が搭載された制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段とを備え、制御手段は、特定遊技状態とするか否かを決定するときに抽出する特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、所定の始動入賞があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段と、電源監視手段からの検出信号を入力するための信号入力部と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、初期化処理を実行した後、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちは、特定遊技状態決定用数値の抽出を禁止(例えば、図13に示すように、初回周期未完了フラグがセットされている場合にはステップS46に処理が移行しないようにする)し、特定遊技状態決定用数値の抽出を禁止しているときに、始動入賞があった場合には、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理(例えば図13に示すステップS43、ステップS44)を実行するように構成されていてもよい。
【0018】
制御手段は、遊技の進行を制御する遊技制御手段(例えばCPU56を含む遊技制御手段)であり、遊技制御手段からのコマンドにもとづいて報知手段を制御する演出制御手段(例えば演出制御用CPU301を含む演出制御手段)を備え、報知手段は、画面表示を実行する表示装置(例えば可変表示装置9)、点灯表示を実行する発光装置(例えば装飾ランプ25などの発光体、あるいは発光体の明滅表示を実行するための装置)、音出力を実行する音出力装置(例えばスピーカ27)のうちの少なくとも1つを含み、遊技制御手段は、不正報知処理にて、不正報知を行うことを示す不正報知指定コマンド(例えばコマンドA000(H))を演出制御手段に送信し、演出制御手段は、不正報知指定コマンドの受信に応じて、報知手段を用いて不正報知を実行する(例えばステップS706〜ステップS713)ように構成されていてもよい。
【0019】
遊技制御手段が、不正報知処理にて、不正報知指定コマンドとして、特定遊技状態の発生に関連して送出されるコマンド(例えばコマンドA000(H))を演出制御手段に送信し、演出制御手段は、特定遊技状態の発生に関連して送出されるコマンドを受信したときに、特定遊技状態の発生に関連した制御を指定(例えば大当り遊技中の演出内容を指定)するコマンドであるか、不正報知の実行を指定するコマンドであるかを判定するコマンド判定手段(例えばステップS694)を備え、コマンド判定手段によって受信したコマンドが不正報知の実行を指定するコマンドであると判定(例えばステップS694のY)したことにもとづいて、報知手段を用いた不正報知を実行するように構成されていてもよい。
【0020】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例である第1種パチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。
【0021】
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
【0022】
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
【0023】
遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別可変表示部)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。また、可変表示装置9には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つの特別図柄始動記憶表示エリア(始動記憶表示エリア)18が設けられている。有効始動入賞がある毎に、表示色を変化させる(例えば青色表示から赤色表示に変化させる)始動記憶表示エリアを1増やす。そして、可変表示装置9の可変表示が開始される毎に、表示色が変化している始動記憶数表示エリアを1減らす(すなわち表示色をもとに戻す)。この例では、図柄表示エリアと始動記憶表示エリアとが区分けされて設けられているので、可変表示中も始動記憶数が表示された状態とすることができる。なお、始動記憶表示エリアを図柄表示エリアの一部に設けるようにしてもよく、この場合には、可変表示中は始動記憶数の表示を中断するようにすればよい。また、この例では、始動記憶表示エリアを可変表示装置9に設けるようにしているが、始動記憶数を表示する表示器(特別図柄始動記憶表示器)を可変表示装置9とは別個に設けるようにしてもよい。
【0024】
可変表示装置9の下方には、始動入賞口14としての可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0025】
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。
【0026】
ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄始動記憶が上限に達していなければ、所定の乱数値が抽出される。そして、普通図柄表示器10において表示状態が変化する可変表示を開始できる状態であれば、普通図柄表示器10の表示の可変表示が開始される。普通図柄表示器10において表示状態が変化する可変表示を開始できる状態でなければ、普通図柄始動記憶の値が1増やされる。普通図柄表示器10の近傍には、普通図柄始動記憶数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。なお、特別図柄と普通図柄とを一つの可変表示装置で可変表示するように構成することもできる。その場合には、特別可変表示部と普通可変表示部とは1つの可変表示装置で実現される。
【0027】
この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、可変表示は所定時間(例えば29秒)継続する。そして、可変表示の終了時に左側のランプが点灯すれば当りとなる。当りとするか否かは、ゲート32に遊技球が入賞したときに抽出された乱数の値が所定の当り判定値と一致したか否かによって決定される。普通図柄表示器10における可変表示の表示結果が当りである場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になって遊技球が入賞しやすい状態になる。すなわち、可変入賞球装置15の状態は、普通図柄の停止図柄が当り図柄である場合に、遊技者にとって不利な状態から有利な状態に変化する。
【0028】
さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数とのうちの一方または双方が高められ、遊技者にとってさらに有利になる。また、確変状態等の所定の状態では、普通図柄表示器10における可変表示期間(変動時間)が短縮されることによって、遊技者にとってさらに有利になるようにしてもよい。
【0029】
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33,39への入賞は、それぞれ入賞口スイッチ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も示されている。
【0031】
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カードユニット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】
図3は、主基板31における回路構成の一例を示すブロック図である。なお、図3には、払出制御基板37、演出制御基板300および発射制御基板91も示されている。演出制御基板300には、表示演出に関する制御を実行する表示制御部80と、音演出に関する制御を実行する音制御部70と、発光体の点灯/消灯による演出を実行するランプ制御部35とが備えられている。
【0036】
主基板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とが搭載されている。
【0037】
なお、図3には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。スイッチと称されているものがセンサと称されているもの等でもよいこと、すなわち、スイッチが遊技媒体検出手段の一例であることは、他の実施の形態でも同様である。
【0038】
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
【0039】
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
【0040】
また、RAM(CPU内蔵RAMであってもよい。)55の一部または全部が、電源基板910において作成されるバックアップ電源によってバックアップされているバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の一部または全部の内容は保存される。
【0041】
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
【0042】
この実施の形態では、演出制御基板300に搭載されている演出制御手段が、遊技盤に設けられている普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。なお、各ランプはLEDその他の種類の発光体でもよく、この実施の形態および他の実施の形態で用いられているLEDも他の種類の発光体でもよい。すなわち、ランプやLEDは発光体の一例である。また、演出制御基板300に搭載されている演出制御手段は、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御も行う。
【0043】
図3に示すように、この実施の形態では、制御状態に応じて主基板31から演出制御基板300に対して演出制御コマンドが送信される。そして、図柄制御基板80は、受信した演出制御コマンドに応じて表示、音、発光体の制御を実行する。
【0044】
図4は、演出制御用マイクロコンピュータ等が搭載された演出制御基板300内における表示制御部80の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,2)570,572および出力バッファ回路620,62Aとともに示すブロック図である。図4には、表示制御部80だけでなく音制御部70やランプ制御部35と共通に用いられる構成として、演出制御用CPU301、ROM302、RAM304、およびコマンドを取り込むための回路構成が示されている。
【0045】
出力ポート(出力ポート2)572からは8ビットのデータが出力され、出力ポート570からは1ビットのストローブ信号(INT信号)が出力される。なお、この実施の形態では、可変表示装置9はLCDで実現されているが、可変表示装置9は、CRT、ドットマトリクス表示器、7セグメント表示器など他の表示装置によって実現されていてもよい。
【0046】
演出制御用CPU301は、制御データROM302に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して演出制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、演出制御用CPU301がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと演出制御用CPU301との間に、I/Oポートが設けられる。
【0047】
そして、演出制御用CPU301は、受信した演出制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、演出制御コマンドに応じた指令をVDP(ビデオディスプレイプロセッサ)81に与える。VDP81は、キャラクタROM85から必要なデータを読み出す。VDP81は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号および同期信号をLCD82に出力する。
【0048】
なお、図4には、VDP81をリセットするためのリセット回路83、VDP81に動作クロックを与えるための発振回路84、および使用頻度の高い画像データを格納するキャラクタROM85も示されている。キャラクタROM85に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
【0049】
入力バッファ回路105A,105Bは、主基板31から演出制御基板300へ向かう方向にのみ信号を通過させることができる。従って、演出制御基板300側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。演出制御基板300内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
【0050】
高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、演出制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
【0051】
図5は、電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、演出制御基板300および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源すなわち記憶保持手段となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。なお、VSLは、整流回路912において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。
【0052】
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC924(図5では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC924の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0053】
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図5には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0054】
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0055】
また、電源基板910には、電源監視回路(電源監視手段)としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0056】
電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
【0057】
+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電力供給回復待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0058】
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【0059】
なお、図5に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【0060】
図6は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図6に示すように、電源基板910の電源監視回路からの電源断信号がバッファ回路900を介して、CPU56のマスク不能割込端子(XNMI端子)に接続されている。従って、CPU56は、マスク不能割込(NMI)処理によって遊技機への電力供給の停止の発生を確認することができる。また、電源断信号は、判定回路950にも入力されている。バッファ回路900から出力される信号は電源監視回路910からの検出信号と実質的に変わらないので(増幅を受けたのみ)、以下、バッファ回路900から出力される信号を検出信号またはNMI信号と呼ぶことがある。また、判定回路950は、システムリセット判定手段の一例である。なお、CPU56は、XNMI端子の入力信号がローレベルになると、立ち下がりエッジで割込を受け付ける。
【0061】
図6には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源基板910の電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
【0062】
図6に示すように、リセット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は、確実に動作を開始する。
【0063】
そして、例えば、電源基板910の電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。なお、電源監視回路とシステムリセット回路65とが監視する電源の電圧は異なっていてもよい。
【0064】
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電力供給が停止しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電等の発生時の遊技状態に復旧させることができる。
【0065】
なお、図6に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベルがリセットレベル)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
【0066】
また、リセット信号は判定回路950にも入力されている。判定回路950は、NMI信号とリセット信号を入力し、CPU56の入力ポートに対して判定信号を出力する回路である。
【0067】
なお、この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。
【0068】
次に遊技機の動作について説明する。図7は、主基板31における遊技制御手段(CPU56およびROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0069】
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0070】
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
【0071】
この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0072】
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0073】
割込モード1:割込が受け付けられると、常に0038(H)番地に飛ぶモードである。
【0074】
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0075】
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0076】
次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7a)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS9〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始することによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0077】
クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS7b)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
【0078】
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。例えば、バックアップフラグ領域に「55(H)」が設定されていればバックアップあり(オン状態)を意味し、「55(H)」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0079】
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS7c)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
【0080】
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS7cでは、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【0081】
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS8)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0082】
このように、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認することによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0083】
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS9)。また、所定の作業領域(例えば、判定用乱数カウンタ、表示用乱数カウンタ、初期値用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグ、初回周期未完了フラグなど、制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う(ステップS10)。次いで、CPU56は、初回周期未完了フラグをセットしておく(ステップS11)。初回周期未完了フラグは、電力供給が開始され初期化処理が実行された場合に、大当り判定用乱数の更新周期の最初の1回を完了しているか否かを示すフラグである。初回周期未完了フラグがセットされていれば大当り判定用乱数の更新周期の1回目が未だ完了していないことを意味し、初回周期未完了フラグがリセットされている場合には大当り判定用乱数の更新周期の1回目が既に完了して2回目以降の更新周期に入っていることを意味する。
【0084】
次いで、CPU56は、例えば情報出力回路64を介して、ホールコンピュータなどの外部装置に向けて初期化信号を出力する(ステップS12)。初期化信号は、起動時に初期化処理を実行したことを遊技店員等に報知するための信号である。従って、ホールコンピュータなどの外部装置は、初期化信号を受信すると、音・ランプ・表示などによって初期化処理が実行されたことを報知する処理を行う。また、球払出装置97からの払出が可能であることを指示する払出許可状態指定コマンド(以下、払出可能状態指定コマンドという。)を払出制御基板37に対して送信する処理を行う(ステップS13)。
【0085】
また、各サブ基板(払出制御基板37、演出制御基板300)を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンドや賞球ランプ51および球切れランプ52の消灯を指示するコマンド等がある。なお、本例では、ステップS12にて払出可能状態指定コマンドが送信されるため、ステップS13では払出制御基板37に対する制御コマンドは送信されない。
【0086】
初期化処理では、払出制御基板37に対して常に払出可能状態指定コマンドが送信される。仮に、遊技機の状態が球払出装置97からの払出が可能でない状態であったとしても、直後に実行される遊技制御処理において、その旨が検出され、払出が可能でない状態であることを指示する払出禁止状態指定コマンド(以下、払出停止状態指定コマンドという。)が送信されるので問題はない。
【0087】
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0088】
以上のように、この実施の形態では、CPU56がクリアスイッチ921がオンであることを検出した場合には、バックアップRAMにデータが保存されているか否かに関わらず初期化処理(ステップS9〜S15)が実行されるので、遊技店の側で強制的に遊技制御手段を初期化することができる。すなわち、ソフトウェア的に遊技制御手段の初期化が実現される。また、クリアスイッチ921がオンでなくても、バックアップフラグとチェックサム等のチェックデータとを用いてソフトウェア的に遊技制御手段の初期化を行うことができるので、電力供給が復旧したときに、誤った遊技状態が復元されてしまうことが防止される。
【0089】
また、クリアスイッチ921がオンであることを検出しない場合に、バックアップRAMにデータが正しく保存されていないことを確認したら、CPU56は、初期化処理(ステップS9〜S15)を実行する。従って、CPU56は、初期化操作手段に対する操作がなされなくても、所定の初期化条件が成立した場合には(この例では、ステップS7bまたはステップS7cで「N」、あるいは後述するステップS81で「Y」)、変動データ記憶手段の記憶内容を初期化する。
【0090】
初期化処理の実行(ステップS9〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
【0091】
なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【0092】
図8は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS80)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている)に退避している。よって、ステップS80では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0093】
次いで、CPU56は、スタックオーバフローとなっているか否か確認する(ステップS81)。本例では、RAM55に設けられたスタック領域に、所定のデータ量を超えるデータが格納された状態となっているか否か確認する。本例では、CPU56は、復旧されたスタックポインタの値が、所定のデータ量を超えた場合にデータが格納されるアドレスのいずれかを指す値であった場合に、スタックオーバフローであると判定する。スタックオーバフローであれば、CPU56は、遊技状態復旧処理を中止して、スタックポインタにスタックポインタ指定アドレスを設定したあと(ステップS81a:上述したステップS3と同様の処理)、上述した初期化処理(ステップS9〜ステップS15)を実行する。
【0094】
スタックオーバフローでなければ、CPU56は、払出停止状態であったか否か確認する(ステップS82)。払出停止状態であったか否かは、電源バックアップされているRAMエリアに保存されている所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど)における払出状態データとしての払出停止フラグによって確認される。払出停止状態であった場合には、払出制御基板37に搭載されている払出制御手段に対して、払出の停止を指示する払出制御コマンド(払出停止状態指定コマンド)を送信する(ステップS83)。払出停止状態でなかった場合には、払出制御手段に対して払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)を送信する(ステップS84)。
【0095】
補給球の不足や余剰球受皿4の満タンについて払出制御手段は認識できないので、遊技制御手段から通知しないと、停電等からの復旧時に、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうおそれがある。しかし、この実施の形態では、遊技状態復旧処理において、払出の停止を指示する払出制御コマンドまたは払出が可能であること指示する払出制御コマンドが送信されるので、払出制御手段が、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうことはない。
【0096】
なお、ここでは、遊技媒体の払い出しが可能であるか否かを判定する払出状態判定手段(遊技制御手段の一部)が払出可能でないことを検出したら、原因の如何に関わらず、1種類の払出停止状態指定コマンドが送信されるようにしたが、原因別のコマンド(この例では、補給球の不足を示すコマンドと下皿満タンを示すコマンド)に分けて送信してもよい。さらに、遊技球の払出が可能でない場合に、遊技の継続を禁止するために遊技球の発射を禁止することを指示するコマンドを払出制御基板37に対して送信してもよい。払出制御基板37に搭載された払出制御手段は、遊技球の発射を禁止することを指示するコマンドを受信したら、打球発射装置の駆動を停止する。また、遊技球の払出が可能でない場合に、遊技制御手段が発射制御手段に対して、直接、遊技球の発射を禁止することを指示する信号を与えてもよい。また、払出制御手段は、払出停止状態指定コマンドを受信した場合に、打球発射装置の駆動を停止するようにしてもよい。
【0097】
次いで、CPU56は、電力供給が停止したときに可変表示装置9において特別図柄変動中であったか否か確認する(ステップS85)。電力供給が停止したときに特別図柄変動中であったか否かは、例えば電源バックアップされているRAMエリアに格納されている特別図柄プロセスフラグの値等によって確認することができる。特別図柄変動中であった場合には、演出制御基板300に搭載されている演出制御手段に対して、特別図柄停電復旧コマンドおよび左右中の図柄を指定する演出制御コマンドを送信する(ステップS86,S87)。ここで、演出制御コマンドで指定される左右中の図柄は、電力供給が停止したときに行われていた特別図柄変動で停止表示されるはずであった図柄である。
【0098】
演出制御手段は、特別図柄停電復旧コマンドを受信すると、所定の報知処理を行う。例えば、可変表示装置9に停電が生じた旨の表示を行う。電源バックアップされていた各種情報にもとづいて、遊技状態が電力供給停止前の状態に戻るのであるが、その後、特別図柄の変動期間が終了すると、遊技制御手段は演出制御手段に対して確定コマンドを送信する。演出制御手段は、確定コマンドを受信したことにもとづいて、次の特別図柄の変動を行える状態になる。
【0099】
特別図柄変動中でなかった場合には、CPU56は、演出制御手段に対して、左右中の図柄を指定する演出制御コマンド、確定コマンドおよび客待ちデモコマンドを送信する処理を行う(ステップS88〜S90)。演出制御コマンドで指定される左右中の図柄は、電力供給が停止したときに可変表示装置9において表示されていた図柄である。
【0100】
演出制御手段は、確定コマンドを受信すると、左右中の図柄を指定する演出制御コマンドで指定された特別図柄を可変表示装置9に表示させる制御を行う。また、客待ちデモコマンドを受信すると、可変表示装置9の背景等の表示状態を待機状態の表示状態にする制御を行う。
【0101】
その後、CPU56は、バックアップフラグをクリアする(ステップS91)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタに設定する(ステップS92)。すなわち、レジスタ復元処理を行う。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS93,S94)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS95)。
【0102】
そして、RET命令が実行されるのであるが、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS95の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、スタック領域に退避されていたアドレスにもとづいて復旧制御が実行されている。
【0103】
タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図9に示すステップS21〜S32の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0104】
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0105】
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行い(ステップS24)、さらに、初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS25)。
【0106】
図10は、各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:大当りを発生させるか否か決定する(大当り判定用:大当り決定用)
(2)ランダム2−1〜2−3:特別図柄の左右中のはずれ図柄決定用(特別図柄左右中)
(3)ランダム3:大当りを発生させる特別図柄の組合せを決定する(大当り図柄決定用)
(4)ランダム4:特別図柄の変動パターンを決定する(変動パターン決定用)
(5)ランダム5:普通図柄にもとづく当りを発生させるか否か決定する(普通図柄当り判定用)
(6)ランダム6:ランダム1の初期値を決定する(ランダム1初期値決定用)
(7)ランダム7:ランダム5の初期値を決定する(ランダム5初期値決定用)
【0107】
なお、図9に示された遊技制御処理におけるステップS23では、CPU56は、(1)の大当り判定用乱数、(3)の大当り図柄決定用乱数、および(5)の普通図柄当り判定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数または初期値用乱数である。なお、遊技効果を高めるために、上記(1)〜(7)の乱数以外の普通図柄に関する乱数等も用いられている。上記の各乱数は、例えば、互いに同期しないように構成される。
【0108】
なお、この実施の形態では、大当り判定用乱数(大当り決定用乱数)を生成するためのカウンタは、初期化処理(図7に示すステップS10)において初期値(例えば「0」)が設定され、カウントアップが行われて乱数値が1周すると、(5)の初期値決定用乱数の値にもとづいて新たな初期値(本例では0〜630のいずれか)が設定される。そして、新たな初期値からカウントアップが行われて乱数値が1周(例えば、新たな初期値が250であれば、250から630までカウントアップされたあと、0に戻ってさらに249までカウントアップされると、乱数値が1周したことになる)すると、再度(5)の初期値決定用乱数の値にもとづいて新たな初期値が設定される。従って、CPU56は、大当り判定用乱数を生成するためのカウンタのカウント値がいくつになったときに乱数値が1周したかを認識することができる構成とされる。具体的には、例えば、少なくとも最後に設定した初期値をRAM55に記憶する構成とされる。
【0109】
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0110】
次いで、CPU56は、演出制御コマンド等を送信する処理を行う(コマンド制御処理:ステップS28)。なお、コマンド制御処理は、特別図柄プロセス処理や普通図柄プロセス処理において実行されるように構成してもよい。
【0111】
次いで、CPU56は、特別図柄に関する演出コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS28)。また、普通図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS29)。
【0112】
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
【0113】
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS31)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
【0114】
そして、CPU56は、始動口スイッチ14a、入賞口スイッチ29a,30a,33a,39aおよびカウントスイッチ23の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。具体的には、始動口スイッチ14a、入賞口スイッチ29a,30a,33a,39aおよびカウントスイッチ23がオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。その後、レジスタの内容を復帰させ(ステップS33)、割込許可状態に設定する(ステップS34)。
【0115】
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
【0116】
図11は、ステップS23の判定用乱数更新処理における大当り判定用乱数の更新処理の一例を示すフローチャートである。なお、図11では、大当り判定用乱数以外の判定用乱数の更新処理については示されていない。大当り判定用乱数更新処理において、CPU56は、大当り判定用乱数カウンタ(大当り決定用乱数発生カウンタ)を1加算したあと(ステップS23a)、大当り判定用乱数カウンタが示す大当り判定用乱数の値と、初期値格納エリアに格納されている初期値とが一致しているか否か確認する(ステップS23b)。初期値格納エリアは、大当り判定用乱数についての現在の更新周期における初期値が格納される記憶領域であり、RAM55に設けられている。初期値格納エリアには、初期化処理のステップS10にて大当り判定用乱数の最初の更新周期における初期値として「0」が格納され、その後は、後述するように更新周期を終える毎に所定の初期値決定用乱数の抽出値に更新される。
【0117】
ステップS23bにて大当り判定用乱数カウンタが示す大当り判定用乱数の値と、初期値格納エリアに格納されている初期値とが一致していれば、大当り判定用乱数カウンタの今回の更新周期が終了したことになるので、CPU56は、ランダム6の初期値決定用乱数を抽出し(ステップS23c)、大当り判定用乱数カウンタの値を初期値決定用乱数の抽出値に更新するとともに(ステップS23d)、初期値格納エリアの格納値を初期値決定用乱数の抽出値に更新する(ステップS23e)。
【0118】
そして、CPU56は、初回周期未完了フラグがセットされているか否か確認する(ステップS23f)。初回周期未完了フラグがセットされているということは、上記のステップS23b〜ステップS23dにて、電力供給が開始して初期化処理が実行されたあとの最初の更新周期が完了したことを確認し、大当り判定用乱数カウンタに、大当り判定用乱数の2回目の更新周期についての初期値を設定したことを意味する。従って、初回周期未完了フラグがセットされていれば、CPU56は、初回周期未完了フラグをリセットする(ステップS23g)。
【0119】
図12は、CPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図12に示す特別図柄プロセス処理は、図9のフローチャートにおけるステップS26の具体的な処理である。CPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)および入賞確認処理(ステップS311)を行った後に、内部状態に応じて、ステップS301〜S307のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
【0120】
入賞確認処理(ステップS311):始動入賞口14に打球入賞して始動口スイッチ14aがオンするのを待つ。始動口スイッチ14aがオンすると、始動入賞記憶数が満タンでなければ、始動入賞記憶数を+1するとともに、大当り決定用乱数等の各乱数を抽出し、大当りとするかはずれとするかなどの判定を行う。なお、この例では、始動口スイッチ14aがオンしたときに、初回周期未完了フラグがセットされていれば、不正報知指定の演出制御コマンドが送信される。
【0121】
停止図柄設定処理(ステップS301):特別図柄の可変表示を開始できる状態になるのを待つ。特別図柄の可変表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、特別図柄の停止図柄および図柄の変動パターンを決定する。処理を終えると、内部状態(プロセスフラグ)をステップS302に移行するように更新する。
【0122】
特別図柄変動開始処理(ステップS302):可変表示装置9において特別図柄が変動開始されるように制御する。このとき、演出制御基板300に対して、最終停止図柄と変動態様を指令する情報とが送信される。処理を終えると、内部状態(プロセスフラグ)をステップS303に移行するように更新する。
【0123】
特別図柄停止待ち処理(ステップS303):所定時間(ステップS310の変動短縮タイマで示された時間)が経過すると、可変表示装置9において表示される全図柄が停止される。そして、停止図柄が大当り図柄である場合には、内部状態(プロセスフラグ)をステップS304に移行するように更新する。そうでない場合には、内部状態をステップS301に移行するように更新する。
【0124】
大入賞口開放開始処理(ステップS304):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当りフラグ(大当り中であることを示すフラグ)のセットを行う。処理を終えると、内部状態(プロセスフラグ)をステップS305に移行するように更新する。
【0125】
大入賞口開放中処理(ステップS305):大入賞口ラウンド表示の演出制御コマンドデータを演出制御基板300に送出する制御や大入賞口の閉成条件の成立を確認する処理等を行う。最終的な大入賞口の閉成条件が成立したら、内部状態をステップS306に移行するように更新する。
【0126】
特定領域有効時間処理(ステップS306):V入賞スイッチ22の通過の有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS304に移行するように更新する。また、所定の有効時間内に大当り遊技状態継続条件が成立しなかった場合、または、全てのラウンドを終えた場合には、内部状態をステップS307に移行するように更新する。
【0127】
大当り終了処理(ステップS307):大当り遊技状態が終了したことを遊技者に報知するための表示を行う。その表示が終了したら、内部状態をステップS301に移行するように更新する。
【0128】
図13は入賞確認処理(ステップS311)を示すフローチャートである。打球が遊技盤6に設けられている始動入賞口14に入賞すると、始動口スイッチ14aがオンする。入賞確認処理において、CPU56は、スイッチ回路58を介して始動口スイッチ14aがオンしたことを判定すると(ステップS41)、初回周期未完了フラグがセットされているか否か確認する(ステップS42)。初回周期未完了フラグがセットされていれば、CPU56は、不正行為にもとづく始動入賞であると判断し、不正行為があったことの報知を指示するために、不正報知指定のコマンド送信テーブルをセットし(ステップS43)、サブルーチンであるコマンド作成処理を実行する(ステップS44)。なお、コマンド送信テーブルをセットするとは、コマンド送信テーブルのアドレスを指定する処理(アドレスを所定のレジスタ等に設定する処理)である。そして、コマンド作成処理を実行することによって演出制御コマンド等が演出制御基板80等に送信される。この実施の形態では、演出制御手段に送信されうる各演出制御コマンドはROM54のコマンド送信テーブルに格納されている。なお、本例では、不正報知指定コマンドとして、大当り開始時演出コマンド(図19参照)が用いられる。
【0129】
初回周期未完了フラグがセットされていなければ、CPU56は、始動入賞記憶数が最大値である4に達しているかどうか確認する(ステップS45)。始動入賞記憶数が4に達していなければ、始動入賞記憶数を1増やし(ステップS46)、大当り判定用乱数等の各乱数の値を抽出し、それらを始動入賞記憶数の値に対応した保存領域(特別図柄判定用バッファ)に格納する(ステップS47)。なお、乱数を抽出するとは、乱数を生成させるためのカウンタからカウント値を読み出して、読み出したカウント値を乱数値とすることである。ステップS47では、図10に示されたランダム1〜ランダム4が抽出される。
【0130】
次いで、CPU56は、始動入賞記憶指定のコマンド送信テーブルをセットし(ステップS48)、サブルーチンであるコマンド作成処理を実行する(ステップS49)。
【0131】
図14は、後述する大当り判定処理(ステップS57参照)で用いられる大当り判定テーブルの一例を示す説明図である。図14に示すように、この実施の形態では、低確率時(非確変時)では大当り判定値は「53」、「317」であり、高確率時(確変時)では大当り判定値は「7」、「53」、「131」、「199」、「241」、「283」、「307」、「317」、「541」、「597」である。なお、図14に示す大当り判定値の数および値は一例であり、他の数設定されていてもよく、他の値であってもよい。
【0132】
図15は、停止図柄設定処理(ステップS301)を示すフローチャートである。停止図柄設定処理において、CPU56は、特別図柄の変動を開始することができる状態(特別図柄プロセスフラグの値がステップS301を示す値となっている場合)には(ステップS51)、始動入賞記憶数の値を確認する(ステップS52)。なお、特別図柄プロセスフラグの値がステップS301を示す値となっている場合とは、可変表示装置9において図柄の変動がなされておらず、かつ、大当り遊技中でもない場合である。
【0133】
始動入賞記憶数が0でなければ、始動入賞記憶数=1に対応する保存領域に格納されている各乱数値を読み出すとともに(ステップS53)、始動入賞記憶数の値を1減らし、かつ、各保存領域の内容をシフトする(ステップS54)。すなわち、始動入賞記憶数=n(n=2,3,4)に対応する保存領域に格納されている各乱数値を、始動入賞記憶数=n−1に対応する保存領域に格納する。
【0134】
次いで、CPU56は、減算後の始動入賞記憶数指定のコマンド送信テーブルをセットし(ステップS55)、コマンド作成処理を実行する(ステップS56)。さらに、大当り判定処理を実行する(ステップS57)。ここでは、大当り判定処理において、ステップS53で保存領域から読み出したランダム1の値にもとづいて大当りとするか否かの判定が行われる。ステップS57で実行される大当り判定処理では、確変中であるか否かが確認され、その確認結果に応じた大当り判定値とステップS53で保存領域から読み出したランダム1の値とが一致している場合には大当りとすることに決定され、一致していない場合にははずれとすることが決定される。
【0135】
大当りとすることに決定した場合には(ステップS57)、CPU56は、ステップS53で保存領域から読み出したランダム3の値にもとづいて大当り図柄を決定する(ステップS58)。また、変動パターン決定用乱数(ランダム4)の値にもとづいて大当り時の特別図柄の変動パターンを決定する(ステップS59)。
【0136】
大当りとしないことに決定した場合には(ステップS57)、CPU56は、ステップS53で保存領域から読み出したランダム2の値にもとづいて左中右のはずれ図柄を決定する(ステップS60)。次いで、決定したはずれ図柄にもとづいて、リーチとするか否か決定する(ステップS61)。すなわち、はずれ図柄として決定された左右図柄が同図柄であった場合には、リーチとすることに決定する。さらに、リーチとすることに決定した場合には、変動パターン決定用乱数(ランダム4)の値にもとづいてリーチ時の特別図柄の変動パターンを決定する(ステップS62)。
【0137】
大当りとせずリーチにもしないことに決定した場合には、CPU56は、確変中か否かを確認する(ステップS63)。この確認は、確変中であるか否かを示す確変フラグの状態によって確認される。確変中あれば、変動パターンをはずれ時短縮変動パターンとすることに決定する(ステップS64)。確変状態でなければ、特別図柄の変動パターンを、リーチにもならないはずれ時の通常変動パターンとすることに決定する(ステップS65)。なお、はずれ時短縮変動パターンは、特別図柄の変動時間が例えば1.0秒という通常変動パターンよりも変動期間が短い変動パターンである。また、この実施の形態では、はずれ時短縮変動パターンではないはずれ時の変動パターンは1種類のみであるものとしているので、ステップS65にてランダム4の値にもとづく抽選を行わなくてもよい。
【0138】
以上のようにして、始動入賞があったときに図柄変動の表示態様を大当りとするか、リーチ態様とするか、はずれとするかが判定される。また、特別図柄の変動開始が可能となったときに演出に用いる変動パターンおよび特別図柄の停止図柄が決定される。そして、遊技制御手段は、特別図柄変動開始処理(ステップS302)にて、決定結果にもとづく制御コマンド(変動パターンを特定可能な制御コマンドや停止図柄を特定可能な制御コマンド)を、演出制御手段に送信する処理を行う。
【0139】
次に、遊技制御手段から演出制御手段に対する制御コマンドの送出方式について説明する。図示はしないが、この実施の形態では、演出制御コマンドは、演出制御信号D0〜D7の8本の信号線で主基板31から演出制御基板300に送信される。また、主基板31と演出制御基板300との間には、ストローブ信号を送信するための演出制御INT信号の1本の信号線も配線されている。
【0140】
遊技制御手段から他の電気部品制御基板(サブ基板:この実施の形態では演出制御基板300および払出制御基板37)に制御コマンドを出力しようとするときに、コマンド送信テーブルの先頭アドレスの設定が行われる。図16(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
【0141】
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。例えば、コマンドデータ2のビット7(ワークエリア参照ビット)が0であれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。この実施の形態では、ワークエリア参照ビットが1であれば、EXTデータとして、送信バッファの内容を使用することを示す。なお、ワークエリア参照ビットが1であれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示すように構成することもできる。
【0142】
図16(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理(遊技制御処理のステップS32)において、INTデータに「01(H)」を設定する。また、INTデータにおけるビット1は、演出制御基板300に演出制御コマンドを送出すべきか否かを示す。ビット1が「1」であるならば、演出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば特別図柄コマンド制御処理(遊技制御処理のステップS28)において、INTデータに「02(H)」を設定する。
【0143】
図17は、主基板31から他の電気部品制御基板に送出される第1のコマンドとして用いられる制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。このように、電気部品制御基板へのコマンドとなる制御コマンドは、複数のデータで構成され、先頭ビットによってそれぞれを区別可能な態様になっている。なお、図17に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい。また、図17では演出制御基板300に送出される演出制御コマンドを例示するが、払出制御基板37に送出される払出制御コマンドも同一構成である。さらに、図17では、第1のコマンドとして用いられる制御コマンドのコマンド形態を示したが、第2のコマンドとして用いられる制御コマンドのコマンド形態も同一構成とされる。
【0144】
図18に示すように、制御コマンドは、8ビットの制御信号CD0〜CD7(コマンドデータ)とINT信号(取込信号)とで構成される。払出制御基板37および演出制御基板300に搭載されている払出制御手段および演出制御手段は、INT信号が立ち上がったことを検知して、割込処理によって1バイトのデータの取り込み処理を開始する。
【0145】
なお、制御コマンドは、電気部品制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、例えば制御信号の1バイト目および2バイト目のそれぞれに応じてINT信号が1回だけパルス状(矩形波状)に出力されることである。
【0146】
各電気部品制御基板への制御コマンドを、対応する出力ポートに出力する際に、INT信号を出力する出力ポートのビット0〜1のうちのいずれかのビットが所定期間「1」(ハイレベル)になるのであるが、INTデータにおけるビット配列と出力ポートにおけるビット配列とは対応している。従って、各電気部品制御基板に制御コマンドを送出する際に、INTデータにもとづいて、容易にINT信号の出力を行うことができる。
【0147】
図19は、主基板31から演出制御基板300に対して送出される演出制御コマンドの内容の一例を示す説明図である。図19に示す例において、コマンド8000(H)〜800E(H)は、特別図柄を可変表示する可変表示装置9における特別図柄の変動パターン(演出パターン)、すなわち可変表示装置9における表示結果導出動作に関わる演出内容を示す演出制御コマンドである。また、コマンド8000(H)〜800E(H)は、表示結果導出動作に関連したスピーカ27からの音出力パターンや、表示結果導出動作に関連した発光体の明滅パターンを示す演出制御コマンドでもある。なお、演出パターンを指定するコマンド(変動パターンコマンド、演出パターンコマンド)は演出開始指示も兼ねている。
【0148】
コマンド86XX(H)は、特別図柄の停止図柄を指定する演出制御コマンドである。また、コマンド8F00(H)は、特別図柄の可変表示の停止を指示する演出制御コマンド(確定コマンド)である。
【0149】
コマンド9XXX(H)は、特別図柄の変動および大当り遊技に関わらない可変表示装置9の表示状態、スピーカ27の音出力状態および発光体の明滅状態に関する演出制御コマンドである。コマンド9000(H)は、電源投入時に送出される特別図柄電源投入時指定コマンドである。演出制御手段は、特別図柄電源投入時指定コマンドを受信すると、初期表示を行う制御を開始する。
【0150】
コマンドAXXX(H)は、大当り遊技開始から大当り遊技終了までの間に送出される演出制御コマンドである。コマンドA000(H)は、大当り遊技開始時の表示、音、発光体による演出を指定するための演出制御コマンドである。コマンドA000(H)は、この例では、不正報知を指定するための不正報知指定コマンドとしても使用される。すなわち、遊技制御手段が不正行為を検知したときに遊技制御手段から送信される不正報知指定の演出制御コマンドでもある。演出制御手段は、不正報知指定の演出制御コマンドを受信すると、不正報知の態様としてあらかじめ決められた態様で、可変表示装置9に表示を行い、ランプ・LEDを点灯制御し、スピーカ27から音出力する制御を行う。例えば、可変表示装置9に「不正な処理が実行されました」と表示し、全てのランプ・LEDを所定の周期で点滅させ、不正報知音としてあらかじめ定められている音を出力する。なお、発光体による不正報知を行う際に、不正報知用の発光手段を特に設け、その発光手段を点灯させるようにしてもよい。
【0151】
そして、コマンドBXXX(H)は、普通図柄の変動パターンなどに関する演出制御コマンドである。コマンドB300(H)は、電源投入時に送出される普通図柄電源投入時指定コマンドである。演出制御手段は、普通図柄電源投入時指定コマンドを受信すると、初期表示などの演出を行う制御を開始する。
【0152】
コマンドC0XX(H)は、可変表示装置9における始動入賞記憶数を表示する表示エリアにおいて、表示色を変化させる始動記憶表示エリア18の個数を示す演出制御コマンドである。例えば、演出制御手段は、コマンドC0XX(H)を受信すると、各始動記憶表示エリア18のうち「XX(H)」で指定される個数の始動記憶表示エリア18の表示色を変化させる。すなわち、コマンドC0XX(H)は、保留個数という情報を報知するために設けられている表示エリアの制御を指示するコマンドである。なお、表示色を変化させる始動記憶表示エリア18の個数に関するコマンドが、表示色を変化させるエリアの個数の増減を示すように構成されていてもよい。
【0153】
演出制御基板300の演出制御手段は、主基板31の遊技制御手段から上述した演出制御コマンドを受信すると、図19に示された内容に応じて、可変表示装置9および普通図柄表示器10の表示状態を変更し、スピーカ27からの音発生状態を変更し、発光体の明滅状態を変更する。
【0154】
図19に示すように、この実施の形態では、ランプ制御のみに関する情報も、演出制御コマンドとして演出制御基板300に送信される。コマンドE1XX(H)は、普通図柄始動記憶表示器41の点灯個数を示す演出制御コマンドである。演出制御手段は、ランプ制御のみに関する情報を示す演出制御コマンドを受信すると、普通図柄始動記憶表示器41における「XX(H)」で指定される個数の表示器を点灯状態とする。すなわち、コマンドE1XX(H)は、普通図柄の保留個数という情報を報知するために設けられている発光体の制御を指示するコマンドである。なお、普通図柄始動記憶表示器41の点灯個数に関するコマンドが点灯個数の増減を示すように構成されていてもよい。
【0155】
コマンドE200(H)およびE201(H)は、賞球ランプ51の表示状態に関する演出制御コマンドである。演出制御手段は、「E200(H)」の演出制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がない場合としてあらかじめ定められた表示状態とし、「E201(H)」の演出制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がある場合としてあらかじめ定められた表示状態とする。すなわち、コマンドE200およびE201(H)は、未賞球の遊技球があることを遊技者等に報知するために設けられている発光体を制御することを示すコマンドである。
【0156】
コマンドE300(H)およびE301(H)は、球切れランプ52の表示状態に関する演出制御コマンドである。演出制御手段は、「E300(H)」の演出制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「E301(H)」の演出制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドE300(H)およびE301(H)は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
【0157】
なお、音制御のみに関する情報を示すコマンドが用いられる場合にも、そのコマンドは演出制御コマンドとして演出制御基板300に送信される。そして、演出制御コマンドにもとづいて、演出制御基板300において音声出力制御が実行される。
【0158】
図20は、コマンド作成処理の処理例を示すフローチャートである。コマンド作成処理は、コマンド出力処理とINT信号出力処理とを含む処理である。コマンド作成処理は、遊技制御処理では、ステップS25の特別図柄プロセス処理、ステップS27の特別図柄コマンド制御処理、ステップS28の普通図柄コマンド制御処理において、制御コマンドを作成する際にコールされる。
【0159】
コマンド作成処理において、CPU56は、まず、コマンド送信テーブルのアドレスをスタック等に退避する(ステップS331)。そして、ポインタが指していたコマンド送信テーブルのINTデータを引数1にロードする(ステップS332)。引数1は、後述するコマンド送信処理に対する入力情報になる。また、コマンド送信テーブルを指すアドレスを+1する(ステップS333)。従って、コマンド送信テーブルを指すアドレスは、コマンドデータ1のアドレスに一致する。
【0160】
次いで、CPU56は、コマンドデータ1を読み出して引数2に設定する(ステップS334)。引数2も、後述するコマンド送信処理に対する入力情報になる。そして、コマンド送信処理ルーチンをコールする(ステップS335)。
【0161】
図21は、コマンド送信処理ルーチンを示すフローチャートである。コマンド送信処理ルーチンにおいて、CPU56は、まず、引数1に設定されているデータすなわちINTデータを、比較値として決められているワークエリアに設定する(ステップS351)。次いで、送信回数=2を、処理数として決められているワークエリアに設定する(ステップS352)。そして、ポート1のアドレスをIOアドレスにセットする(ステップS353)。この実施の形態では、ポート1のアドレスは払出制御コマンドデータを出力するための出力ポートのアドレスであり、ポート2のアドレスが、演出制御コマンドデータを出力するための出力ポートのアドレスであるとする。
【0162】
次に、CPU56は、比較値を1ビット右にシフトする(ステップS354)。シフト処理の結果、キャリービットが1になったか否か確認する(ステップS355)。キャリービットが1になったということは、INTデータにおける最も右側のビットが「1」であったことを意味する。この実施の形態では4回のシフト処理が行われるのであるが、例えば、演出制御コマンドを送出すべきことが指定されているときには、2回目のシフト処理でキャリービットが1になる。
【0163】
キャリービットが1になった場合には、引数2に設定されているデータ、この場合にはコマンドデータ1(すなわちMODEデータ)を、IOアドレスとして設定されているアドレスに出力する(ステップS356)。2回目のシフト処理が行われたときにはIOアドレスにポート2のアドレスが設定されているので、そのときに、演出制御コマンドのMODEデータがポート2に出力される。
【0164】
次いで、CPU56は、IOアドレスを1加算するとともに(ステップS357)、処理数を1減算する(ステップS358)。そして、CPU56は、処理数の値を確認し(ステップS359)、値が0になっていなければ、ステップS354に戻る。ステップS354で再度シフト処理が行われる。
【0165】
2回目のシフト処理ではINTデータにおけるビット1の値が押し出され、ビット1の値に応じてキャリーフラグが「1」または「0」になる。従って、演出制御コマンドを送出すべきことが指定されているか否かのチェックが行われる。このように、それぞれのシフト処理が行われるときに、IOアドレスには、シフト処理によってチェックされるコマンド(払出制御コマンド、演出制御コマンド)に対応したIOアドレスが設定されている。
【0166】
よって、キャリーフラグが「1」になったときには、対応する出力ポート(ポート1〜ポート2)に制御コマンドが送出される。すなわち、1つの共通モジュールで、各サブ基板の制御手段に対する制御コマンドの送出処理を行うことができる。
【0167】
また、このように、シフト処理のみによってどの各サブ基板の制御手段に対して制御コマンドを出力すべきかが判定されるので、いずれの制御手段に対して制御コマンドを出力すべきか判定する処理が簡略化されている。従って、コマンド送信モジュールを複数のモジュールで共通に使用することが容易になっている。
【0168】
次に、CPU56は、シフト処理開始前のINTデータが格納されている引数1の内容を読み出し(ステップS360)、読み出したデータをポート0に出力する(ステップS361)。この実施の形態では、ポート0のアドレスは、各制御信号についてのINT信号を出力するためのポートであり、ポート0のビット0〜1が、それぞれ、払出制御コマンドのためのINT信号、演出制御コマンドのためのINT信号を出力するためのポートである。INTデータでは、ステップS351〜S359の処理で出力された制御コマンド(払出制御コマンド、演出制御コマンド)に応じたINT信号の出力ビットに対応したビットが「1」になっている。従って、ポート1〜ポート2のいずれかに出力された制御コマンド(払出制御コマンド、演出制御コマンド)に対応したINT信号がオフ状態(ローレベル)になる。
【0169】
次いで、CPU56は、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS363,S364)。ウェイトカウンタの値が0になると、クリアデータ(00)を設定して(ステップS365)、そのデータをポート0に出力する(ステップS366)。よって、INT信号はオフ状態になる。そして、ウェイトカウンタに所定値を設定し(ステップS362)、その値が0になるまで1ずつ減算する(ステップS368,S369)。
【0170】
以上のようにして、制御コマンドの1バイト目のMODEデータが送出される。そこで、CPU56は、図20に示すステップS336で、コマンド送信テーブルを指す値を1加算する。従って、3バイト目のコマンドデータ2の領域が指定される。CPU56は、指し示されたコマンドデータ2の内容を引数2にロードする(ステップS337)。また、コマンドデータ2のビット7(ワークエリア参照ビット)の値が「0」であるか否か確認する(ステップS339)。0でなければ、コマンド拡張データアドレステーブルの先頭アドレスをポインタにセットし(ステップS339)、そのポインタにコマンドデータ2のビット6〜ビット0の値を加算してアドレスを算出する(ステップS340)。そして、そのアドレスが指すエリアのデータを引数2にロードする(ステップS341)。
【0171】
コマンド拡張データアドレステーブルには、各サブ基板の制御手段に送出されうるEXTデータが順次設定されている。よって、以上の処理によって、ワークエリア参照ビットの値が「1」であれば、コマンドデータ2の内容に応じたコマンド拡張データアドレステーブル内のEXTデータが引数2にロードされ、ワークエリア参照ビットの値が「0」であれば、コマンドデータ2の内容がそのまま引数2にロードされる。なお、コマンド拡張データアドレステーブルからEXTデータが読み出される場合でも、そのデータのビット7は「0」である。
【0172】
次に、CPU56は、コマンド送信処理ルーチンをコールする(ステップS342)。従って、MODEデータの送出の場合と同様のタイミングでEXTデータが送出される。その後、CPU56は、コマンド送信テーブルのアドレスを復旧し(ステップS343)、コマンド送信テーブルを指す読出ポインタの値を更新する(ステップS344)。そして、さらに送出すべきコマンドがあれば(ステップS345)、ステップS331に戻る。
【0173】
以上のようにして、2バイト構成の制御コマンド(払出制御コマンド、演出制御コマンド)が、対応する各サブ基板の制御手段に送信される。各サブ基板の制御手段ではINT信号のレベル変化を検出すると制御コマンドの取り込み処理を開始するのであるが、いずれの制御手段についても、取り込み処理が完了する前に遊技制御手段からの新たな信号が信号線に出力されることはない。すなわち、演出制御手段等の各制御手段において、確実なコマンド受信処理が行われる。なお、INT信号の極性を図18に示された場合と逆にしてもよい。
【0174】
図22、図23は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。CPU56のXNMI端子にハイレベルからローレベルへの変化が生じてマスク不能割込が発生すると、CPU56に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラムのアドレス(具体的には実行完了後の次のアドレス)を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。なお、この実施の形態では、XNMI端子にハイレベルからローレベルへの変化が生ずると割込が生ずるが、他の態様のレベル変化に応じて割込が発生するマイクロコンピュータを用いても、以下のような制御を実行することができる。
【0175】
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)をバックアップRAM領域のスタック領域に退避させる(ステップS451)。また、割込フラグをパリティフラグにコピーする(ステップS452)。パリティフラグはバックアップRAM領域に形成されている。割込フラグは、割込許可状態であるのか割込禁止状態であるのかを示すフラグであって、CPU56が内蔵する制御レジスタ中にある。割込フラグのオン状態が割込禁止状態であることを示す。上述したように、パリティフラグは遊技状態復旧処理で参照される。そして、遊技状態復旧処理において、パリティフラグがオン状態であれば、割込許可状態には設定されない。
【0176】
また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域のスタック領域に退避させる(ステップS454〜S458)。なお、ステップS451〜S458の処理は、電源監視手段の検出信号に応じて制御状態を復旧させるために必要なデータを変動データ記憶手段に保存させるためのデータ退避処理に相当する。
【0177】
次いで、CPU56は、バックアップあり指定値(この例では「55(H)」)をバックアップフラグにストアする(ステップS481)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS482〜S491)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS482)、チェックサム算出開始アドレスをポインタにセットする(ステップS483)。また、チェックサム算出回数をセットする(ステップS484)。
【0178】
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS485)。演算結果をチェックサムデータエリアにストアするとともに(ステップS486)、ポインタの値を1増やし(ステップS487)、チェックサム算出回数の値を1減算する(ステップS488)。ステップS485〜S488の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS489)。
【0179】
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS490)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS491)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS492)。以後、内蔵RAM55のアクセスができなくなる。
【0180】
さらに、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS493)、処理数(この例では「7」)を別のレジスタにセットする(ステップS494)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS495)。IOポインタとして、さらに別のレジスタが用いられる。
【0181】
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS496)、IOポインタの値を1増やし(ステップS497)、処理数の値を1減算する(ステップS498)。ステップS496〜S498の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポート0〜6にクリアデータが設定される。この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0182】
そして、入力ポートに入力されている判定回路950からの判定信号を確認し判定信号がオン状態(例えばハイレベル)であれば(ステップS171)、不正報知指定コマンドを送信するための処理を行う(ステップS172)。
【0183】
なお、この段階では、RAMアクセス禁止状態に設定されているので、演出制御コマンドを送信するための処理では、CPU56は、例えば、レジスタに所定のデータ(演出制御コマンドを構成する2バイトのコマンドデータのうちの1バイト)をセットし、レジスタの値を直接出力ポートに出力する。また、INT信号のオン期間(図18参照)を作成するために、例えば、レジスタに所定値をセットし、0になるまで減算する処理を繰り返すことによって、その期間を作成する。そして、そのような処理を、不正報知指定コマンドを構成するMODEデータとEXTデータについて実行する。
【0184】
その後、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0185】
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0186】
図24は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLの電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
【0187】
電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御基板37に搭載されている払出制御用CPUのNMI端子に入力される。CPU56および払出制御用CPUは、NMI処理によって、所定の電力供給停止時処理を実行する。
【0188】
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPUがシステムリセット状態になる。なお、CPU56および払出制御用CPUは、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0189】
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPUがシステムリセット状態とされている。
【0190】
以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図24に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
【0191】
なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともIC駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。
【0192】
次に、遊技制御手段以外の電気部品制御手段の例として、演出制御用CPU301を含む演出制御手段について説明する。図25は、演出制御用CPU301が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるための2msタイマの初期設定等を行うための初期化処理が行われる(ステップS701)。その後、この実施の形態では、演出制御用CPU301は、タイマ割込フラグの監視(ステップS703)の確認を行うループ処理に移行する。なお、ループ内では所定の乱数を発生するためのカウンタを更新する処理も行われる(ステップS702)。そして、タイマ割込が発生すると、演出制御用CPU301は、タイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、演出制御用CPU301は、そのフラグをクリアし(ステップS704)、以下の演出制御処理を実行する。
【0193】
なお、この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、演出制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な演出制御処理はメイン処理において実行されるが、タイマ割込処理で演出制御処理を実行してもよい。
【0194】
演出制御処理において、演出制御用CPU301は、まず、受信した演出制御コマンドを解析する(コマンド解析処理:ステップS705)。次いで、不正報知指定コマンドを受信しているか否か確認する(ステップS706)。具体的には、不正報知指定コマンドに対応するコマンド受信フラグがセットされているか否か確認する。不正報知指定コマンドを受信していれば、不正行為がなされていることを報知するための不正報知を開始する(ステップS707)。この例では、不正報知として、可変表示装置9に、例えば「不正な処理が実行されました!」などの文字や図形などによって構成される不正報知画面を表示する。不正報知画面は、不正行為がなされたことを報知するための画面であり、不正報知画面を示すデータは、例えばキャラクタROM85に格納されている。また、演出制御用CPU301は、不正報知中フラグをオンするとともに(ステップS708)、不正報知期間タイマを設定する(ステップS709)。不正報知中フラグは、不正報知の実行中であるか否かを確認するためのフラグであり、演出制御基板300が備えるRAM304に保存されている。不正報知期間タイマは、不正報知の実行期間を計測するためのタイマである。不正報知の実行期間は、報知を確実とするために比較的長い期間(例えば5分)が設定される。
【0195】
次いで、演出制御用CPU301は、不正報知中フラグがオン状態であるか否か確認する(ステップS710)。不正報知中フラグがオン状態であれば、不正報知期間タイマがタイムアウトしているか否か確認し(ステップS711)、タイムアウトしていれば、不正報知中フラグをオフするとともに(ステップS712)、可変表示装置9での不正報知画面の表示を終了する(ステップS713)。
【0196】
さらに、演出制御用CPU301は、演出制御プロセス処理を行う(ステップS714)。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。その後、ステップS702に戻る。
【0197】
次に、主基板31からの演出制御コマンド受信処理について説明する。図26は、主基板31から受信した演出制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。
【0198】
図27は、割込処理による演出制御コマンド受信処理を示すフローチャートである。主基板31からの演出制御用のINT信号は演出制御用CPU301の割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、演出制御用CPU301において割込がかかる。そして、図27に示す演出制御コマンドの受信処理が開始される。
【0199】
演出制御コマンドの受信処理において、演出制御用CPU301は、まず、各レジスタをスタックに退避する(ステップS670)。なお、割込が発生すると演出制御用CPU301は自動的に割込禁止状態に設定するが、自動的に割込禁止状態にならないCPUを用いている場合には、ステップS670の処理の実行前に割込禁止命令(DI命令)を発行することが好ましい。次いで、演出制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS671)。そして、2バイト構成の演出制御コマンドのうちの1バイト目であるか否か確認する(ステップS672)。
【0200】
1バイト目であるか否かは、受信したコマンドの先頭ビットが「1」であるか否かによって確認される。先頭ビットが「1」であるのは、2バイト構成である演出制御コマンドのうちのMODEデータ(1バイト目)のはずである(図17参照)。そこで、演出制御用CPU301は、先頭ビットが「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファ領域におけるコマンド受信個数カウンタが示す受信コマンドバッファに格納する(ステップS673)。
【0201】
演出制御コマンドのうちの1バイト目でなければ、1バイト目を既に受信したか否か確認する(ステップS674)。既に受信したか否かは、受信バッファ(受信コマンドバッファ)に有効なデータが設定されているか否かによって確認される。
【0202】
1バイト目を既に受信している場合には、受信した1バイトのうちの先頭ビットが「0」であるか否か確認する。そして、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを、受信バッファ領域におけるコマンド受信個数カウンタ+1が示す受信コマンドバッファに格納する(ステップS675)。先頭ビットが「0」であるのは、2バイト構成である演出制御コマンドのうちのEXTデータ(2バイト目)のはずである(図17参照)。なお、ステップS674における確認結果が1バイト目を既に受信したである場合には、2バイト目として受信したデータのうちの先頭ビットが「0」でなければ処理を終了する。
【0203】
ステップS675において、2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタに2を加算する(ステップS676)。そして、コマンド受信カウンタが12以上であるか否か確認し(ステップS677)、12以上であればコマンド受信個数カウンタをクリアする(ステップS678)。その後、退避されていたレジスタを復帰し(ステップS679)、割込許可に設定する(ステップS680)。
【0204】
演出制御コマンドは2バイト構成であって、1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。よって、上述したように、適正なデータを受信したのか否かを容易に判定することができる。なお、このことは、払出制御コマンド、ランプ制御コマンドおよび音制御コマンドについても同様である。
【0205】
図28は、コマンド解析処理(ステップS705)の具体例を示すフローチャートである。主基板31から受信された演出制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、受信コマンドバッファに格納されているコマンドの内容が確認される。
【0206】
コマンド解析処理において、演出制御用CPU301は、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS681)。格納されているか否かは、コマンド受信カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、演出制御用CPU301は、不正報知中フラグがオン状態であるか確認する(ステップS682)。不正報知中フラグがオン状態であれば、コマンド受信バッファに格納されている受信コマンドをクリアする(ステップS683)。すなわち、演出制御用CPU301は、不正報知の実行中には、受信コマンドにもとづく処理を実行しない。なお、受信コマンドをクリアしたら読出ポインタの値を+1しておく。また、不正報知中フラグがオフ状態であれば、演出制御用CPU301は、コマンド受信バッファから受信コマンドを読み出す(ステップS684)。なお、読み出したら読出ポインタの値を+1しておく。
【0207】
読み出した受信コマンドが左図柄指定コマンドであれば(ステップS685)、そのコマンドのEXTデータを左停止図柄格納エリアに格納し(ステップS686)、対応する有効フラグをセットする(ステップS687)。なお、左図柄指定コマンドであるか否かは、2バイトの演出制御コマンドのうちの1バイト目(MODEデータ)によって直ちに認識できる。同様に、読み出した受信コマンドが中図柄指定コマンドであれば、そのコマンドのEXTデータを中停止図柄格納エリアに格納し、対応する有効フラグをセットする。さらに、読み出した受信コマンドが右図柄指定コマンドであれば、そのコマンドのEXTデータを右停止図柄格納エリアに格納し、対応する有効フラグをセットする。なお、左中右停止図柄格納エリアは、演出制御基板300が備える例えばRAM304に設けられている。
【0208】
読み出した受信コマンドが変動パターンコマンドであれば(ステップS688)、演出制御用CPU301は、初回変動パターンコマンド未受信フラグがオンしているか否か確認する(ステップS689)。初回変動パターンコマンド未受信フラグは、演出制御基板300が備える例えばRAM304に格納されており、遊技機への電力供給が開始され初期化処理が実行されたあとに、変動パターンコマンドを少なくとも1回受信したか否かを示すフラグである。初回変動パターンコマンド未受信フラグは、初期化処理(ステップS701)にてオン状態に設定される。演出制御用CPU301は、初回変動パターンコマンド未受信フラグがオン状態であればオフ状態とし(ステップS690)、読み出したコマンドのEXTデータを変動パターン格納エリアに格納し(ステップS691)、変動パターン受信フラグをセットする(ステップS692)。なお、変動パターン格納エリアは、図柄制御基板300が備える例えばRAM304に設けられている。上記のように、変動パターンコマンドを最初に受信したときにオフ状態とされるので、初回変動パターンコマンド未受信フラグがオフ状態とされていれば変動パターンコマンドを少なくとも1回受信していることになる。
【0209】
読み出した受信コマンドがコマンドA000(H)であれば(ステップS693)、初回変動パターンコマンド未受信フラグがオン状態であるか否か確認する(ステップS694)。オン状態であれば、演出制御用CPU301は、受信したコマンドA000(H)が不正報知指定のコマンドとして送信されたものであると判断し、不正報知指定コマンドを受信したことを示す不正報知受信フラグをセットする(ステップS695)。オフ状態であれば、演出制御用CPU301は、受信したコマンドA000(H)が大当り開始時演出コマンドとして送信されたものであると判断し、大当り開始時演出コマンドを受信したことを示す大当り開始受信フラグをセットする(ステップS696)。このように、本例では、遊技機への電力供給が開始されたあと、最初の変動パターンコマンドを受信する前にコマンドA000(H)を受信した場合には、不正報知指定コマンドを受信したものと判断し、少なくとも1回変動パターンコマンドを受信したあとにコマンドA000(H)を受信した場合には、大当り開始時演出コマンドを受信したものと判断するようにしている。なお、遊技機への電力供給が開始されたあとの所定期間が経過する前にA000(H)を受信した場合に不正報知指定コマンドを受信したものとするなど、他の方法によって確認するようにしてもよい。
【0210】
そして、ステップS684にて読み出した受信コマンドがその他の演出制御コマンドである場合には、受信コマンドに対応するフラグをセットする(ステップS697)。
【0211】
図29は、始動入賞の発生時期と不正報知を実行するか否かの判定結果との関係を示す説明図である。遊技機への電力供給が再開し、初期化処理が実行される場合には、図29に示すように、初期化処理のステップS10にて大当り判定用乱数カウンタに初期値「0」が設定され、その後、1回目の更新周期が開始される。この1回目の更新周期では、大当り判定用乱数は、初期値「0」から2ms毎に1ずつ順次加算されていくので、大当り判定値と同一の値となったときに不正に始動入賞信号を送り込むことが容易となり、不正に大当りを発生させることができてしまう。1回目の更新周期が完了し、ステップS23dにて新たな初期値が設定され、2回目の更新周期が開始されたあとは、ステップS23dにて設定される初期値を知ることが困難なため、不正行為により大当りを発生させることは困難なものとなる。本例では、1回目の更新周期が完了する前に始動入賞があった場合には、その始動入賞が不正行為によるものであると判断し、不正報知指定コマンドが主基板31から演出制御基板300に向けて送信され、演出制御基板300にて不正報知がなされる構成とされている。
【0212】
以上に説明したように、上記の各実施の形態では、図30に示すように、遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、遊技に関わる制御を行う制御手段201が搭載された制御基板200と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段202と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段203とを備える。制御手段201は、特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段201aと、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段201bと、所定の始動入賞があったことにもとづいて、数値更新手段201aから特定遊技状態決定用数値を抽出する数値抽出手段201cと、数値抽出手段201cにより抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段201dと、電源監視手段からの検出信号を入力するための信号入力部201eと、信号入力部201eへの信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段202に退避させるデータ退避処理(ステップS211)を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理(ステップS212)または変動データ記憶手段202の記憶内容にもとづいて制御状態を復旧する復旧処理(ステップS213)のいずれか一方を実行する機能とを有する。そして、初期化処理(ステップS212)を実行した後に、初期値設定手段201bが特定遊技状態決定用数値の初期値を1回も設定しないうちに始動入賞があったときには、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理(ステップS214)を実行することを特徴とする。
【0213】
以上説明したように、電力供給が再開され初期化処理が実行された場合に、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞があったときには、演出制御基板300にて不正報知を行う構成としたので、初期化処理を実行させたあとに始動入賞信号を送り込むような不正行為が行われても、そのような不正行為をより確実に発見することができる。つまり、大当り判定用乱数の最初の1回の更新周期を終える前に始動入賞があった場合に不正行為であると判定するので、遊技制御手段に初期化処理を実行させて大当り判定用乱数の最初の更新周期を終えるまでの期間を狙って始動入賞させるといった、不正行為がなされている可能性が高い場合にのみ不正報知を行うことができ、不正報知の信頼性が向上するため、遊技店員が迅速に対応をとることが可能となる。よって、不正行為者が報知に気付いて直ちに離席したような場合でも、再度の不正行為を実行しづらくすることができる。
【0214】
遊技機への電力供給が再開された場合、遊技球を発射できる状態となったあとに遊技球を発射し、その発射した遊技球が始動入賞口に入賞し、始動口スイッチ14aで検出されるまでにはある程度の期間を要する。このため、初期化処理が実行され、大当り判定用乱数の1回目の更新周期を終える前に始動入賞が発生することは考えにくい。それにもかかわらず、始動入賞が発生したということは、スタックオーバーフローを発生させたり遊技制御手段にリセット信号を入力させるなどの不正行為によってシステムリセットされ、大当り判定用乱数の1回目の更新周期に、大当り判定用乱数が大当り判定値と同じ値となるときを狙って不正に始動入賞信号を入力させた可能性が高い。従って、大当り判定用乱数の1回目の更新周期に始動入賞が発生した場合には、不正行為(例えば、RAMをクリアさせて初期状態とし、大当り判定用乱数の初回の更新周期に、大当り判定用乱数の値が大当り判定値と同じ値になるときを狙って始動入賞信号を入力させる行為)が行われたものと判断することができる。よって、不正報知を行うことで、不正行為を行った者を早期に発見することができる。本例では、大当りが発生したか否かは無関係に、大当りを不正に発生させようとした場合に不正報知行うようにしている。よって、不正行為者が不正により大当りを発生させる前に、そのような行為を発見することができる。
【0215】
また、上述したように、遊技制御手段(CPU56)が、不正報知を行うことを示す不正報知指定コマンドを演出制御手段(演出制御用CPU301)に送信し、演出制御手段が不正報知のための処理を実行するように構成したので、遊技制御手段における不正報知を行うための処理負担が軽減される。また、遊技制御手段と演出制御手段とで不正報知を行うための処理が分散されるので、遊技制御手段の制御プログラムや回路構成が簡略化される。よって、特定遊技状態とするか否かの決定に用いられる制御プログラムに不正があったとしてもそのような不正を容易に発見することができるとともに、検査のための処理数(検査対象項目数)が少なくて済むので不正を発見するための検査を容易に行うことができるようになる。さらに、回路構成が簡略化されるので、回路構成に不正を加えても、そのような不正を容易に発見することができる。
【0216】
また、上述したように、不正報知を所定期間(不正報知期間タイマに設定される期間であって、例えば5分などのあらかじめ定められた期間)継続的に実行する構成としたので、不正行為の発見を容易とすることができる。
【0217】
また、上述したように、演出制御手段が、不正報知の実行中に新たにコマンドを受信した場合でも、新たに受信したコマンドにもとづく制御を実行しない構成としたので、不正報知を優先的に行うことができ、たとえ不正にコマンドが送信されたとしても、そのコマンドにもとづく処理が実行されず不正報知が継続されるので、不正に送信されたコマンドにもとづいて報知が停止されてしまうことを防止することができる。
【0218】
また、上述したように、不正報知の指定を行う不正報知指定コマンドとして、大当り開始時演出コマンドを用いる構成としたので、不正報知を妨害するような不正行為が行われても、その不正行為を容易に発見することができる。すなわち、不正報知指定コマンドを不正にマスクして、不正報知指定コマンドによる指定を不正に不能とした場合には、大当り開始時演出コマンドも同時にマスクされたことになるので、大当り遊技が開始されたときに大当り開始時表示がなされないことになる。このように、不正報知指定コマンドを不正にマスクした場合には、通常の遊技に影響を及ぼすことになる。従って、不正報知指定コマンドによる指定を不正に不能としたことを容易に発見することができる。
【0219】
なお、不正報知の指定を行う不正報知指定コマンドとして、他の既存のコマンドを用いる構成としてもよい。その場合にも、不正報知指定コマンドを不正にマスクした場合には、通常の遊技に影響を及ぼすことになるので、不正行為を容易に発見することができる。この場合、不正報知指定コマンドとして、大当り遊技に関するコマンド(例えば、大入賞口開放時演出コマンド、大入賞口開放時演出コマンド、大当り終了演出コマンドなど)などの比較的目立つ演出を指定するコマンドを用いるようにすれば、不正行為をより容易に発見することができる。
【0220】
また、不正報知の指定を行う不正報知指定コマンドとして、他の既存のコマンドとは異なる専用のコマンドを用いる構成としてもよい。このように構成すれば、不正報知指定コマンドを受信した場合に、演出制御手段が、共通に用いられている他のコマンドとして送信されたのであるか不正報知の指定を行うコマンドとして送信されてきたのかを確認することなく、不正報知の指定を行うコマンドであることを直ちに把握することができるようになる。
【0221】
なお、上述した実施の形態では、電力供給が再開され初期化処理が実行された場合、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞があったときに、演出制御基板300にて不正報知を行う構成としていたが、大当り判定用乱数の更新周期の最初の1回を終える前に大当りとすることが決定されたときに、演出制御基板300にて不正報知を行うようにしてもよい。この場合、例えば、入賞確認処理(図13参照)にてステップS42〜ステップS44を行うことなく、図31に示すように、停止図柄設定処理(図15参照)にて、ステップS57で大当りとすることが決定された場合に、初回周期未完了フラグがセットされているか否かを確認し(ステップS66)、セットされていれば不正報知指定のコマンド送信テーブルをセットして(ステップS67)、コマンド作成処理を実行するようにすればよい(ステップS68)。このように構成すれば、電力供給が再開され初期化処理が実行された場合には、大当り判定用乱数の更新周期の最初の1回を終える前に大当りとすることが決定されたときに、演出制御基板300にて不正報知を行うようにすることができる。
【0222】
図32は、上記の他の実施の形態における大当りとすることの判定がなされた時期と不正報知を実行するか否かの判定結果との関係を示す説明図である。遊技機への電力供給が再開し、初期化処理が実行される場合には、図32に示すように、初期化処理のステップS10にて大当り判定用乱数カウンタに初期値「0」が設定され、その後、1回目の更新周期が開始される。この1回目の更新周期では、大当り判定用乱数は、初期値「0」から2ms毎に1ずつ順次加算されていくので、大当り判定値と同一の値となったときに不正に始動入賞信号を送り込むことが容易となり、不正に大当りを発生させることができてしまう。1回目の更新周期が完了し、ステップS23dにて新たな初期値が設定され、2回目の更新周期が開始されたあとは、ステップS23dにて設定される初期値を知ることが困難なため、不正行為により大当りを発生させることは困難なものとなる。上記の例では、1回目の更新周期が完了する前に大当りとする旨の判定がなされた場合には、その大当りが不正行為によるものであると判断し、不正報知指定コマンドが主基板31から演出制御基板300に向けて送信され、演出制御基板300にて不正報知がなされる構成とされている。
【0223】
上記のように、電力供給が再開され初期化処理が実行された場合、大当り判定用乱数の更新周期の最初の1回を終える前に大当りとすることが決定されたときに、演出制御基板300にて不正報知を行うように構成されている場合には、初期化処理を実行させたあとに始動入賞信号を送り込み、大当りを不正に発生させるような不正行為が行われても、そのような不正行為をより確実に発見することができる。つまり、大当り判定用乱数の最初の1回の更新周期を終える前に大当りとすることが決定された場合に不正行為であると判定するので、遊技制御手段に初期化処理を実行させて大当り判定用乱数の最初の更新周期を終えるまでの期間を狙って始動入賞させ、大当りとすることに決定させるといった、不正行為がなされている可能性が極めて高い場合にのみ不正報知を行うことができ、不正報知の信頼性がさらに向上するため、遊技店員が迅速に対応をとることが可能となる。よって、不正行為者が報知に気付いて直ちに離席したような場合でも、再度の不正行為を実行しづらくすることができる。
【0224】
遊技機への電力供給が再開された場合、遊技球を発射できる状態となったあとに遊技球を発射し、その発射した遊技球が始動入賞口に入賞し、始動口スイッチ14aで検出され、大当り判定がなされるまでにはある程度の期間を要する。このため、初期化処理が実行され、大当り判定用乱数の1回目の更新周期を終える前に大当りとすることが決定されることは考えにくい。それにもかかわらず、大当りとすることが決定されたということは、スタックオーバーフローを発生させたり遊技制御手段にリセット信号を入力させるなどの不正行為によってシステムリセットされ、大当り判定用乱数の1回目の更新周期に、大当り判定用乱数が大当り判定値と同じ値となるときを狙って不正に始動入賞信号を入力させる不正行為によって大当りとすることが決定された可能性が高い。従って、大当り判定用乱数の1回目の更新周期に大当りとすることが決定された場合には、不正行為(例えば、RAMをクリアさせて初期状態とし、大当り判定用乱数の初回の更新周期に、大当り判定用乱数の値が大当り判定値と同じ値になるときを狙って始動入賞信号を入力させ、不正に大当りとすることに決定させる行為)が行われたものと判断することができる。よって、不正報知を行うことで、不正行為を行った者を早期に発見することができる。本例では、大当りを不正に発生させようとしただけでなく、実際に大当りを発生させるような判定がなされた場合に不正報知行うようにしている。よって、不正行為がなされた可能性が極めて高い場合にのみ不正報知を行うことができ、不正報知の信頼性をさらに向上させることができるのである。
【0225】
また、上述した実施の形態では、電力供給が再開され初期化処理が実行された場合、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞があったときに、演出制御基板300にて不正報知を行う構成としていたが、大当り判定用乱数の更新周期の最初の1回が完了する前は、たとえ始動入賞の発生を無視するようにしてもよい。この場合、例えば図33に示すように、入賞確認処理の最初に、初回周期未完了フラグがセットされているか否かを確認し(ステップS42a)、セットされていない場合にのみ始動入賞口への入賞があったか否かを確認(ステップS41a)するようにすればよい。また、初回周期未完了フラグがセットされていた場合には、そのまま処理を終了するようにすればよい。このように構成すれば、電力供給が再開され初期化処理が実行された場合には、大当り判定用乱数の更新周期の最初の1回を終える前になされた不正な始動入賞信号にもとづいて、遊技制御に関する処理が実行されないようにすることができる。
【0226】
図34は、上記の他の実施の形態における始動入賞の発生時期と始動入賞を受け付けるか否かの判定結果との関係を示す説明図である。遊技機への電力供給が再開し、初期化処理が実行される場合には、図34に示すように、初期化処理のステップS10にて大当り判定用乱数カウンタに初期値「0」が設定され、その後、1回目の更新周期が開始される。この1回目の更新周期では、大当り判定用乱数は、初期値「0」から2ms毎に1ずつ順次加算されていくので、大当り判定値と同一の値となったときに不正に始動入賞信号を送り込むことが容易となり、不正に大当りを発生させることができてしまう。1回目の更新周期が完了し、ステップS23dにて新たな初期値が設定され、2回目の更新周期が開始されたあとは、ステップS23dにて設定される初期値を知ることが困難なため、不正行為により大当りを発生させることは困難なものとなる。上記の例では、1回目の更新周期が完了する前に始動入賞が不正に送り込まれても、始動入賞が受け付けられず、始動入賞にもとづく大当り判定などの処理が実行されない構成とされている。
【0227】
上記のように、電力供給が再開され初期化処理が実行された場合、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞が発生しても、そのような始動入賞を受け付けないように構成されている場合には、不正行為によって発生した始動入賞にもとづく制御を実行しないようにすることができる。すなわち、遊技制御手段に初期化処理を実行させ、大当りとなるタイミングを狙って始動入賞を発生させるといった不正行為が行われた場合に、そのような不正行為にもとづく特定遊技状態とするか否かの判定が行われないようにすることができ、不正行為によって大当りが発生されてしまうことを防止することができる。
【0228】
なお、上記の他の実施の形態では、電力供給が再開され初期化処理が実行された場合、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞が発生しても、そのような始動入賞を受け付けないように構成されていたが、その始動入賞を、大当り判定用乱数の更新周期の最初の1回が完了したあとに受け付けるようにしてもよい。この場合、例えば、大当り判定用乱数の更新周期の最初の1回を終える前に始動入賞が発生した場合、始動入賞が発生したことを記憶しておき、大当り判定用乱数の更新周期の最初の1回が完了して2回目以降の更新周期に入ったあとに、記憶していた始動入賞にもとづいて大当り判定用乱数などの各乱数を抽出して大当りとするか否かなどの判定を行うようにすればよい。
【0229】
また、上述した各実施の形態では、可変表示装置9、スピーカ27および発光体を用いて不正報知を行い、不正行為があった可能性があることを報知する構成としていたが、可変表示装置9、スピーカ27および発光体のうち、いずれか1つ、あるいは任意の組み合わせて不正報知を行うようにしてもよい。また、可変表示装置9以外の表示手段(例えば、不正報知用の専用の表示装置)を用いて報知を行う構成としてもよい。
【0230】
また、上記の各実施の形態では、遊技制御手段(CPU56)が、電力供給停止時処理中であることを示すコマンドを出力し、演出制御手段(演出制御用CPU301)が電力供給停止時処理の実行を示す報知を行う構成としていたが、そのように電力供給停止時処理の実行を示す報知を行う場合には、遊技機への電力供給が停止されるまで報知を継続して行うことが望ましい。スタックオーバーフローを発生させたり、リセット信号をCPU56に不正に入力させたりする不正行為が行われた場合には、主基板31が初期化された場合であっても電力が継続して供給されるので、サブ基板300では電力供給停止時処理の実行を示す報知を継続して行うことができる。従って、不正行為を容易に発見することができるようになる。
【0231】
また、上記の実施の形態では、電源断信号(NMI信号)がマスク不能割込端子に入力されたが、マスク可能割込端子に入力するようにしてもよく、入力ポートに入力するようにしてもよい。入力ポートに入力される場合には、遊技制御手段は、ポートチェックの結果電源断信号がオン状態であれば、上述したマスク不能割込処理に相当する処理を実行する。
【0232】
なお、上記の実施の形態では、電源監視手段は電源基板910に搭載されていたが、主基板31以外の他の基板や、遊技機における他の箇所に設定されていてもよい。また、システムリセット回路65などのシステムリセットを実行させるための回路は主基板31に搭載されていたが、電源基板910等の他の基板に搭載されていてもよい。
【0233】
また、上述した実施の形態では、大当り判定用乱数を生成するためのカウンタは、初期化処理(図7に示すステップS10)において0に初期化され、乱数値が1周すると初期値用乱数の値にもとづいて新たな初期値(0〜630のいずれか:図10参照)が設定される。よって、初期化後の1周目においては、上述したように、大当り判定用乱数を生成するためのカウンタのカウント値があらかじめ決められた大当り判定値に一致するタイミングを容易に把握できてしまう。従って、大当り判定用乱数の更新が、初期化処理後の1周目であるときには、たとえ始動入賞があったとしても、例えば上述したステップS47にて大当り判定用乱数を抽出しないで他のはずれ値を用いるようにしたり、ステップS57にて常にはずれと判断するなどのようにして、大当り判定用乱数にもとづく抽選を行わないように構成してもよい。このように構成すれば、大当り判定用乱数の初期値を特定できなくなるので、大当り判定用乱数の更新が初期化後の1周目であるときであっても、不正行為によって大当り判定値を狙われてしまうことを防止することができる。
【0234】
また、上記の実施の形態では、判定用乱数や初期値決定用乱数を生成するためのカウンタは、初期化処理(図7に示すステップS10)において0に初期化されたが、初期化処理においてカウンタの値を0に初期化しないようにしてもよい。そのようにすれば、初期化処理が実行されても各カウンタの初期値がばらつくので、不正行為によって大当り判定値を狙われてしまうことを防止することができる。
【0235】
例えば、システムリセット回路65に相当する回路(リセット回路とする。)が、主基板31ではなく電源源基板910等の主基板31の外部の基板に設けられ、そのリセット回路からシステムリセット信号を主基板31に入力しているような構成では、基板間で、上述したような不正行為がなされる可能性がある。すなわち、基板間のケーブルに、主基板31に対して不正にシステムリセット信号を入力させるような不正回路が接続されて不正行為がなされる可能性がある。主基板31のCPU56に対して不正にシステムリセット信号が入力された場合には、遊技機に対して電力供給が開始された場合と同様に制御状態が初期状態に戻る。すなわち、CPU56は、図7に示されたメイン処理を最初から実行する状態になる。この場合、電力供給停止時処理は実行されていないので、遊技状態復旧処理(図7におけるステップS8)は実行されず、CPU56は初期化処理を実行する。
【0236】
初期化処理において、判定用乱数を生成するためのカウンタのカウント値を0に初期化すると、不正にシステムリセット信号を入力させた時点から、大当り判定用乱数(ランダム1)を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが容易になってしまう。そして、不正行為者は、そのタイミングで始動入賞が生じたような不正信号を主基板31に送り込むことによって、不正に大当りを生じさせてしまう。
【0237】
しかし、初期化処理において、判定用乱数を生成するためのカウンタのカウント値を0に初期化しないようにしておくか、判定用乱数の更新が1周目である場合には大当り抽選を行わないようにしておけば、そのような不正行為を防止することができる。そして、電力供給停止時処理が実行された後、電力供給が復旧して遊技状態復旧処理が実行される場合には、遊技状態復旧処理において、CPU56は、バックアップRAMに保存されているカウント値からカウンタの歩進を再開する。
【0238】
あるいは、初期化処理において、初期値決定用乱数を生成するためのカウンタのカウント値を0に初期化しないようにしておくか、判定用乱数の更新が1周目である場合には大当り抽選を行わないようにしておけば、不正にシステムリセット信号が入力されたことによって制御状態が初期状態に戻っても、すぐに1周目の更新を終え、判定用乱数を生成するためのカウンタのカウント値は、初期値決定用乱数を生成するためのカウンタのカウント値によって更新されるようになるので、ランダム1を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが困難になる。そして、電力供給停止時処理が実行された後、電力供給が復旧して遊技状態復旧処理が実行される場合には、遊技状態復旧処理において、CPU56は、バックアップRAMに保存されているカウント値から、初期値決定用乱数を生成するためのカウンタの歩進を再開する。
【0239】
また、判定用乱数を生成するためのカウンタおよび初期値決定用乱数を生成するためのカウンタとは別に、無限カウンタ(例えば、タイマ割込処理で常に更新される)を設け、初期化処理において、無限カウンタのカウント値を、初期値としてランダム1を生成するためのカウンタに設定するようにしてもよい。そのようにしても、ランダム1を生成するためのカウンタのカウント値が大当り判定値に一致するタイミングを予測することが困難になる。なお、無限カウンタは例えば2バイトで構成されるが、初期化処理において、例えば無限カウンタの下位8ビットの値が、ランダム1を生成するためのカウンタに設定される。この無限カウンタは、例えば、EEPROMなどの読み書き可能で電力供給が停止しても記憶内容を保持可能な記憶媒体に保存される。なお、無限カウンタは、遊技機に供給される各電源とは別の独自のバックアップ電源を有するRAMに保存されるようにしてもよい。
【0240】
上記のように、大当り判定用乱数の初期値にばらつきをもたせたり、大当り判定用乱数の更新が1周目であるときには大当り抽選を行わないようにした場合には、上述したスタックオーバーフローを発生させる不正行為や、リセット信号を強制的に入力させる不正行為の他、例えば遊技機に供給される制御電源(5V)やバックアップ電源を切ることによってRAMクリアする不正行為が行われた場合であっても、そのような不正行為によって大当りが発生してしまうことを防止することができる。
【0241】
なお、上述した各実施の形態によれば、遊技機に供給される制御電源(5V)やバックアップ電源を切ることによってRAMクリアする不正行為が行われた場合であっても、不正報知が行われるので、そのような不正行為を容易に発見することができる。
【0242】
なお、上述した各実施の形態によれば、演出制御用CPU301の制御によって不正報知を行う構成としていたが、CPU56が表示器などを制御して不正報知を行う構成としてもよい。
【0243】
なお、上述した各実施の形態において、スタックするデータがRAM55に設けられたスタック領域の記憶容量を超えてしまった場合には、作業領域のデータ領域にまでスタックデータが溢れてきてしまい(オーバーフロー)プログラムが暴走することが考えられる。つまり、プログラム上のある命令(オペコード)により指定されたデータの格納先のアドレスが正規のアドレスではなく溢れたデータにより書き換えられた誤ったデータによりアドレス(例えばFFFF(H))が指定されてしまい、CPU56が異常と判断し、電力供給の停止や再開がされない場合であっても、プログラムが先頭アドレスから開始される。よって、この場合には、NMI処理(電力供給停止時処理)にて実行されるはずのバックアップフラグのセットやチェックサムデータのセットがなされていないので、ステップS7b,S7cの処理によって初期化処理が実行されることになる。また、スタックオーバーフローが発生した場合には、オペコードにより指定されたデータの格納先アドレスを指定するスタックポインタのデータ自体がスタック領域外のアドレスを示すデータとなるため、上記と同様に処理されることになる。
【0244】
また、上述した実施の形態では、演出制御用CPU301は、不正報知の実行期間中は受信コマンドを廃棄して、そのコマンドにもとづく制御を実行しない構成としていたが、不正報知の実行期間中に受信したコマンドを記憶保持しておき、不正報知の終了後に記憶保持しているコマンドにもとづく制御を実行する構成としてもよい。
【0245】
また、上述した実施の形態では、初期化処理後に大当り判定用乱数の1周期の更新を終える前に、始動入賞があった場合や大当りとすることに決定された場合に、不正報知を行う構成としていたが、初期化処理後に大当り判定用乱数の所定回数の更新周期を終える前に、始動入賞があった場合や大当りとすることに決定された場合に不正報知を行う構成としてもよい。初期化処理後の最初の始動入賞や、初期化処理後の最初の大当り判定は、初期化処理を終えたあと、ある程度の期間を経過したあとでなければ実行されない。従って、初期化処理後の大当り判定用乱数の所定回数の更新周期を終える前の所定期間内に始動入賞が発生した場合には、不正行為が行われている可能性が高い。上記の構成とすれば、そのような場合にも不正報知を実行し、不正行為を早期に発見することができるようになる。
【0246】
なお、上述した実施の形態では、バックアップRAMに電力を供給するバックアップ電源が電源基板910において作成される構成としていたが、バックアップ電源は、主基板31において作成されるようにしてもよい。また、演出制御基板300などの他の電気部品制御基板が電源バックアップ可能な構成とされている場合に、その電気部品制御基板においてバックアップ電源を作成する構成としてもよい。
【0247】
なお、上述した実施の形態において、「特定遊技状態」とは、所定の遊技価値が付与された遊技者にとって有利な状態を意味する。具体的には、「特定遊技状態」は、例えば、例えば可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態(大当り遊技状態)、遊技者にとって有利な状態となるための権利が発生した状態、景品遊技媒体払出の条件が成立しやすくなる状態、遊技者に対して得点を付与するための条件が成立しやすくなる状態などの、所定の遊技価値が付与された状態である。
【0248】
なお、上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示装置9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
【0249】
【発明の効果】
以上のように、請求項1記載の発明では、制御手段が、特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、所定の始動入賞があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段と、電源監視手段からの検出信号を入力するための信号入力部と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、初期化処理を実行した後、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちに始動入賞があったときには、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行することを特徴とするので、制御手段に初期化処理を実行させる不正行為が行われた場合に、そのような不正行為をより確実に発見することができるという効果がある。つまり、特定遊技状態決定用数値の1周期の更新を終える前に始動入賞があった場合に不正行為であると判定するので、制御手段に初期化処理を実行させて特定遊技状態決定用数値の1周期の更新を終えるまでの期間を狙って始動入賞させる不正行為がなされている可能性が高い場合にのみ不正報知処理を実行することができ、不正報知の信頼性が向上するため、遊技店員が迅速に対応をとることが可能となる。
【0250】
また、上述したように、請求項2の発明では、制御手段が、特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、所定の始動入賞があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段と、電源監視手段からの検出信号を入力するための信号入力部と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、初期化処理を実行した後、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちに特定遊技状態となることが決定されたときには、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行することを特徴とするので、制御手段に初期化処理を実行させる不正行為が行われた場合に、そのような不正行為をより確実に発見することができるという効果がある。つまり、特定遊技状態決定用数値の1周期の更新を終える前に特定遊技状態とすることが決定された場合に不正行為であると判定するので、制御手段に初期化処理を実行させて特定遊技状態となるタイミングを狙って始動入賞させる不正行為がなされている可能性が極めて高い場合にのみ不正報知処理を実行することができ、不正報知の信頼性が向上するため、遊技店員が迅速に対応をとることが可能となる。
【0251】
また、上述したように、請求項3の発明では、制御手段が、特定遊技状態とするか否かを決定するときに抽出する特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、所定の始動入賞があったことにもとづいて、数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、数値抽出手段により抽出された特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、特定遊技状態とするか否かを決定する特定遊技状態決定手段と、電源監視手段からの検出信号を入力するための信号入力部と、信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを変動データ記憶手段に退避させるデータ退避処理を実行する機能と、電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、初期化処理を実行した後、初期値設定手段が特定遊技状態決定用数値の初期値を1回も設定しないうちは、特定遊技状態決定用数値の抽出を禁止し、特定遊技状態決定用数値の抽出を禁止しているときに、始動入賞があった場合には、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行することを特徴とするので、制御手段に初期化処理を実行させる不正行為が行われた場合に、そのような不正行為にもとづく特定遊技状態とするか否かの判定が行われないようにすることができ、不正行為によって特定遊技状態とされることを防止することができる。また、制御手段に初期化処理を実行させて特定遊技状態決定用数値の1周期の更新を終えるまでの期間を狙って始動入賞させる不正行為が行われた場合に、そのような不正行為をより確実に発見することができる。
【0252】
請求項4記載の発明では、遊技制御手段が、不正報知処理にて、不正報知を行うことを示す不正報知指定コマンドを演出制御手段に送信し、演出制御手段が、不正報知指定コマンドの受信に応じて、報知手段を用いて不正報知を実行するように構成されているので、制御手段における不正報知を行うための処理負担が軽減される。また、遊技制御手段と演出制御手段とで不正報知を行うための処理が分散されるので、遊技制御手段の制御プログラムや回路構成が簡略化される。よって、特定遊技状態とするか否かの決定に用いられる制御プログラムに不正があったとしてもそのような不正を容易に発見することができるとともに、検査のための処理数が少なくて済むので不正を発見するための検査を容易に行うことができるようになる。さらに、回路構成が簡略化されるので、回路構成に不正を加えても、そのような不正を容易に発見することができる。
【0253】
請求項5記載の発明では、遊技制御手段が、不正報知処理にて、不正報知指定コマンドとして、特定遊技状態の発生に関連して送出されるコマンドを演出制御手段に送信し、演出制御手段が、特定遊技状態の発生に関連して送出されるコマンドを受信したときに、特定遊技状態の発生に関連した制御を指定するコマンドであるか、不正報知の実行を指定するコマンドであるかを判定するコマンド判定手段を備え、コマンド判定手段によって受信したコマンドが不正報知の実行を指定するコマンドであると判定したことにもとづいて、報知手段を用いた不正報知を実行するように構成されているので、報知を行うことを示すコマンドを無効化する不正行為が行われた場合、特定遊技状態の制御に支障を来すこととなり不正行為を容易に発見することができる。
【図面の簡単な説明】
【図1】パチンコ遊技機を正面からみた正面図である。
【図2】ガラス扉枠を取り外した状態での遊技盤の前面を示す正面図である。
【図3】遊技制御基板(主基板)の回路構成例を示すブロック図である。
【図4】演出制御基板における表示制御部の回路構成例を示すブロック図である。
【図5】電源基板の回路構成例を示すブロック図である。
【図6】電源監視および電源バックアップのためのCPU周りの一構成例を示すブロック図である。
【図7】主基板におけるCPUが実行するメイン処理を示すフローチャートである。
【図8】遊技状態復旧処理を示すフローチャートである。
【図9】2msタイマ割込処理を示すフローチャートである。
【図10】各乱数の一例を示す説明図である。
【図11】大当り判定用乱数更新処理を示すフローチャートである。
【図12】特別図柄プロセス処理を示すフローチャートである。
【図13】入賞確認処理を示すフローチャートである。
【図14】大当り判定テーブルの一例を示す説明図である。
【図15】停止図柄設定処理を示すフローチャートである。
【図16】コマンド送信テーブル等の一構成例を示す説明図である。
【図17】制御コマンドのコマンド形態の一例を示す説明図である。
【図18】制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。
【図19】演出制御コマンドの内容の一例を示す説明図である。
【図20】コマンド作成処理の処理例を示すフローチャートである。
【図21】コマンド送信処理ルーチンを示すフローチャートである。
【図22】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図23】マスク不能割込処理(電力供給停止時処理)を示すフローチャートである。
【図24】遊技機への電力供給停止時の電源低下やNMI信号の様子を示すタイミング図である。
【図25】演出制御用CPUが実行するメイン処理を示すフローチャートである。
【図26】コマンド受信バッファの構成を示す説明図である。
【図27】コマンド受信割込処理を示すフローチャートである。
【図28】コマンド解析処理を示すフローチャートである。
【図29】始動入賞の発生時期と不正報知をするか否かの判定結果との関係を示す説明図である。
【図30】本発明の概要を示す概念図である。
【図31】停止図柄設定処理の他の例を示すフローチャートである。
【図32】大当りとすることの判定がなされた時期と不正報知をするか否かの判定結果との関係を示す説明図である。
【図33】入賞確認処理の他の例を示すフローチャートである。
【図34】始動入賞の発生時期と始動入賞を受け付け否かの判定結果との関係を示す説明図である。
【符号の説明】
1 パチンコ遊技機
31 主基板
53 基本回路
55 RAM(変動データ記憶手段)
56 CPU
300 演出制御基板
902 電源監視用IC(電源監視手段)
910 電源基板
Claims (5)
- 遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、
遊技に関わる制御を行う制御手段が搭載された制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段とを備え、
前記制御手段は、
特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、
前記特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、
所定の始動入賞があったことにもとづいて、前記数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、
前記数値抽出手段により抽出された前記特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、前記特定遊技状態とするか否かを決定する特定遊技状態決定手段と、
前記電源監視手段からの検出信号を入力するための信号入力部と、
前記信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを前記変動データ記憶手段に退避させるデータ退避処理を実行する機能と、
電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または前記変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、
前記初期化処理を実行した後に、前記初期値設定手段が前記特定遊技状態決定用数値の初期値を1回も設定しないうちに始動入賞があったときには、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行する
ことを特徴とする遊技機。 - 遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、
遊技に関わる制御を行う制御手段が搭載された制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段とを備え、
前記制御手段は、
特定遊技状態とするか否かを決定するための特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、
前記特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、
所定の始動入賞があったことにもとづいて、前記数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、
前記数値抽出手段により抽出された前記特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、前記特定遊技状態とするか否かを決定する特定遊技状態決定手段と、
前記電源監視手段からの検出信号を入力するための信号入力部と、
前記信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを前記変動データ記憶手段に退避させるデータ退避処理を実行する機能と、
電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または前記変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、
前記初期化処理を実行した後、前記初期値設定手段が前記特定遊技状態決定用数値の初期値を1回も設定しないうちに特定遊技状態となることが決定されたときには、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行する
ことを特徴とする遊技機。 - 遊技者が所定の遊技を行い、始動入賞にもとづく遊技の結果、所定条件が成立したときに遊技者に有利な特定遊技状態に制御可能な遊技機であって、
遊技に関わる制御を行う制御手段が搭載された制御基板と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、所定電位の電源の出力電圧を監視し検出条件が成立したときに検出信号を出力する電源監視手段とを備え、
前記制御手段は、
特定遊技状態とするか否かを決定するときに抽出する特定遊技状態決定用数値を所定の数値範囲内で更新する数値更新手段と、
前記特定遊技状態決定用数値が所定回数更新される毎に、当該特定遊技状態決定用数値に所定の数値範囲内の数値のいずれかを初期値として設定する初期値設定手段と、
所定の始動入賞があったことにもとづいて、前記数値更新手段から特定遊技状態決定用数値を抽出する数値抽出手段と、
前記数値抽出手段により抽出された前記特定遊技状態決定用数値があらかじめ定められた特定遊技状態判定値に合致しているか否かにもとづいて、前記特定遊技状態とするか否かを決定する特定遊技状態決定手段と、
前記電源監視手段からの検出信号を入力するための信号入力部と、
前記信号入力部への信号入力にもとづいて、制御状態の復旧に必要なデータを前記変動データ記憶手段に退避させるデータ退避処理を実行する機能と、
電力供給が停止したあと電力供給が再開されたときに、所定条件の成立にもとづいて、制御状態を初期化する初期化処理または前記変動データ記憶手段の記憶内容にもとづいて制御状態を復旧する復旧処理のいずれか一方を実行する機能とを有し、
前記初期化処理を実行した後、前記初期値設定手段が前記特定遊技状態決定用数値の初期値を1回も設定しないうちは、前記特定遊技状態決定用数値の抽出を禁止し、
特定遊技状態決定用数値の抽出を禁止しているときに、始動入賞があった場合には、遊技機に設けられる報知手段にて不正報知を行うための不正報知処理を実行する
ことを特徴とする遊技機。 - 制御手段は、遊技の進行を制御する遊技制御手段であり、
前記遊技制御手段からのコマンドにもとづいて報知手段を制御する演出制御手段を備え、
前記報知手段は、画面表示を実行する表示装置、点灯表示を実行する発光装置、音出力を実行する音出力装置のうちの少なくとも1つを含み、
前記遊技制御手段は、不正報知処理にて、不正報知を行うことを示す不正報知指定コマンドを前記演出制御手段に送信し、
前記演出制御手段は、前記不正報知指定コマンドの受信に応じて、前記報知手段を用いて不正報知を実行する
請求項1から請求項3のうちいずれかに記載の遊技機。 - 遊技制御手段は、不正報知処理にて、不正報知指定コマンドとして、特定遊技状態の発生に関連して送出されるコマンドを演出制御手段に送信し、
前記演出制御手段は、
特定遊技状態の発生に関連して送出されるコマンドを受信したときに、特定遊技状態の発生に関連した制御を指定するコマンドであるか、不正報知の実行を指定するコマンドであるかを判定するコマンド判定手段を備え、
前記コマンド判定手段によって受信したコマンドが不正報知の実行を指定するコマンドであると判定したことにもとづいて、報知手段を用いた不正報知を実行する
請求項4記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170625A JP4372394B2 (ja) | 2002-06-11 | 2002-06-11 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170625A JP4372394B2 (ja) | 2002-06-11 | 2002-06-11 | 遊技機 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004008709A true JP2004008709A (ja) | 2004-01-15 |
JP2004008709A5 JP2004008709A5 (ja) | 2008-07-10 |
JP4372394B2 JP4372394B2 (ja) | 2009-11-25 |
Family
ID=30436828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002170625A Expired - Fee Related JP4372394B2 (ja) | 2002-06-11 | 2002-06-11 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4372394B2 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005348878A (ja) * | 2004-06-09 | 2005-12-22 | Takeya Co Ltd | 遊技機 |
JP2006223550A (ja) * | 2005-02-17 | 2006-08-31 | Sankyo Kk | スロットマシン |
JP2006223545A (ja) * | 2005-02-17 | 2006-08-31 | Sankyo Kk | スロットマシン |
JP2006238969A (ja) * | 2005-02-28 | 2006-09-14 | Sanyo Product Co Ltd | 遊技機 |
JP2007125258A (ja) * | 2005-11-04 | 2007-05-24 | Daikoku Denki Co Ltd | パチンコ遊技機 |
JP2007244799A (ja) * | 2006-03-20 | 2007-09-27 | Daiichi Shokai Co Ltd | パチンコ機 |
JP2008061707A (ja) * | 2006-09-05 | 2008-03-21 | Fujishoji Co Ltd | 遊技機 |
JP2008279062A (ja) * | 2007-05-10 | 2008-11-20 | Sankyo Co Ltd | 遊技機 |
JP2011056297A (ja) * | 2010-12-21 | 2011-03-24 | Fujishoji Co Ltd | 遊技機 |
JP2011224269A (ja) * | 2010-04-22 | 2011-11-10 | Kyoraku Sangyo Kk | 遊技機 |
JP2011224270A (ja) * | 2010-04-22 | 2011-11-10 | Kyoraku Sangyo Kk | 遊技機 |
JP2011240154A (ja) * | 2011-08-01 | 2011-12-01 | Sankyo Co Ltd | 遊技機 |
JP2012223654A (ja) * | 2012-08-24 | 2012-11-15 | Sankyo Co Ltd | 遊技機 |
JP2018075093A (ja) * | 2016-11-07 | 2018-05-17 | サミー株式会社 | 遊技機 |
-
2002
- 2002-06-11 JP JP2002170625A patent/JP4372394B2/ja not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005348878A (ja) * | 2004-06-09 | 2005-12-22 | Takeya Co Ltd | 遊技機 |
JP2006223550A (ja) * | 2005-02-17 | 2006-08-31 | Sankyo Kk | スロットマシン |
JP2006223545A (ja) * | 2005-02-17 | 2006-08-31 | Sankyo Kk | スロットマシン |
JP4655679B2 (ja) * | 2005-02-28 | 2011-03-23 | 株式会社三洋物産 | 遊技機 |
JP2006238969A (ja) * | 2005-02-28 | 2006-09-14 | Sanyo Product Co Ltd | 遊技機 |
JP2007125258A (ja) * | 2005-11-04 | 2007-05-24 | Daikoku Denki Co Ltd | パチンコ遊技機 |
JP2007244799A (ja) * | 2006-03-20 | 2007-09-27 | Daiichi Shokai Co Ltd | パチンコ機 |
JP2008061707A (ja) * | 2006-09-05 | 2008-03-21 | Fujishoji Co Ltd | 遊技機 |
JP4712649B2 (ja) * | 2006-09-05 | 2011-06-29 | 株式会社藤商事 | 遊技機 |
JP2008279062A (ja) * | 2007-05-10 | 2008-11-20 | Sankyo Co Ltd | 遊技機 |
JP2011224269A (ja) * | 2010-04-22 | 2011-11-10 | Kyoraku Sangyo Kk | 遊技機 |
JP2011224270A (ja) * | 2010-04-22 | 2011-11-10 | Kyoraku Sangyo Kk | 遊技機 |
JP2011056297A (ja) * | 2010-12-21 | 2011-03-24 | Fujishoji Co Ltd | 遊技機 |
JP2011240154A (ja) * | 2011-08-01 | 2011-12-01 | Sankyo Co Ltd | 遊技機 |
JP2012223654A (ja) * | 2012-08-24 | 2012-11-15 | Sankyo Co Ltd | 遊技機 |
JP2018075093A (ja) * | 2016-11-07 | 2018-05-17 | サミー株式会社 | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
JP4372394B2 (ja) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3768419B2 (ja) | 遊技機 | |
JP4242098B2 (ja) | 遊技機 | |
JP4255642B2 (ja) | 遊技機 | |
JP2003205083A (ja) | 遊技機 | |
JP4794779B2 (ja) | 遊技機 | |
JP2003199931A (ja) | 遊技機 | |
JP2003225430A (ja) | 遊技機 | |
JP4372394B2 (ja) | 遊技機 | |
JP2009207705A (ja) | 遊技機 | |
JP2003340046A (ja) | 遊技機 | |
JP2002045477A (ja) | 遊技機 | |
JP2004008585A (ja) | 遊技機 | |
JP2004097577A (ja) | 遊技機 | |
JP5095057B2 (ja) | 遊技機 | |
JP5090558B2 (ja) | 遊技機 | |
JP4031018B2 (ja) | 遊技機 | |
JP2003220214A (ja) | 遊技機 | |
JP2003325909A (ja) | 遊技機 | |
JP4252241B2 (ja) | 遊技機 | |
JP5095056B2 (ja) | 遊技機 | |
JP4850974B2 (ja) | 遊技機 | |
JP4658177B2 (ja) | 遊技機 | |
JP2003093717A (ja) | 遊技機 | |
JP4219587B2 (ja) | 遊技機 | |
JP2002045547A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050523 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051205 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090728 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090825 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090902 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130911 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |