本発明の実施例を以下に説明する。
本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン1は、前面が開口する筐体(図示略)と、この筺体の側端に回動自在に枢支された前面扉と、から構成されている。
本実施例のスロットマシン1の筐体内部には、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リールともいう)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉に設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、図2に示すように、それぞれ「赤7(図中黒7)」、「青7(図中網掛7)」、「BAR」、「リプレイ」、「スイカ」、「チェリー」、「ベル」、「スター(星)」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図3参照)によって回転させることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示されるとともに、各リール2L、2C、2Rの回転を停止させることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
また、前面扉には、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いてメダル1枚分の賭数を設定する際に操作される1枚BETスイッチ5、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数(本実施例では後述の通常遊技状態においては3、後述のレギュラーボーナスにおいては1)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8Rが設けられている。
また、前面扉には、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、後述するビッグボーナス中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器13が設けられている。
また、前面扉には、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられている。
また、MAXBETスイッチ6の内部には、1枚BETスイッチ5及びMAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられている。
前面扉の上部には、液晶表示器51が設けられており、後述するリールの停止操作を促す促進報知や、ゲームに関連する各種演出が実行されるようになっている。また、液晶表示器51の左右側には、演出用の可動部材としての左右一対の演出用扉60が、それぞれ図示しないスライドレールを介して左右方向にスライド移動自在に設けられており、前面扉の内側に、左右一対の演出用扉60それぞれに対応して設けられた演出用扉モータ56,57(図3参照)にて駆動されることにより、中央の液晶表示器51の表示領域の前方が開閉されるようになっている(図22参照)。尚、本実施例においては、この演出用扉60及び液晶表示器51の双方を用いた各種演出が実施されるようになっており、この演出の一例として、例えばゲームが開始されたときに、後述する内部抽選により当選した可能性がある入賞役を報知する予告演出として振動演出が実施されるようになっている。尚、振動演出の詳細は後述する。
また、前面扉の内側には、所定のキー操作により後述するRAM異常エラーを除くエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、メダル投入部4から投入されたメダルの流路を、筐体内部に設けられた後述のホッパータンク(図示略)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク側に流下したメダルを検出する投入メダルセンサ31が設けられている。
筐体内部には、前述したリール2L、2C、2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33からなるリールユニット(図示略)、メダル投入部4から投入されたメダルを貯留するホッパータンク(図示略)、ホッパータンクに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34、ホッパーモータ34の駆動により払い出されたメダルを検出する払出センサ35、電源ボックス(図示略)が設けられている。
電源ボックスの前面には、後述のビッグボーナス終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36、起動時に設定変更モードに切り替えるための設定キースイッチ37、通常時においてはRAM異常エラーを除くエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更モードにおいては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をON/OFFする際に操作される電源スイッチ39が設けられている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには1枚BETスイッチ5、またはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L5(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、本実施例では、規定数の賭数として後述する通常遊技状態においては3枚が定められており、後述するレギュラーボーナス中においては、1枚が定められている。尚、遊技状態に対応する規定数を超えてメダルが投入された場合には、その分はクレジットに加算される。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、有効化されたいずれかの入賞ラインL1〜L5上に予め定められた図柄の組み合わせ(以下、役とも呼ぶ)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。尚、有効化された複数の入賞ライン上にメダルの払出を伴う図柄の組み合わせが揃った場合には、有効化された入賞ラインに揃った図柄の組み合わせそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、1ゲームで付与されるメダルの払出枚数には、上限(本実施例では、15枚)が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効化されたいずれかの入賞ラインL1〜L5上に、遊技状態の移行を伴う図柄の組み合わせが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
また、本実施例におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転し、各可変表示部における図柄の変動が開始した後、ゲームが開始してから経過した時間に関わらず、いずれかのストップスイッチ8L、8C、8Rが操作されるまで、当該ストップスイッチ8L、8C、8Rに対応する可変表示部における図柄の変動が継続して行われるようになっている。
また、ゲームが開始してから、ストップスイッチ8L、8C、8Rが有効に操作されずに経過した時間が第1の報知待ち時間(本実施例では60秒)に到達したときに、ストップスイッチ8L、8C、8Rによるリール2L、2C、2Rの停止操作を促す促進報知としての報知画面(図22参照)が液晶表示器51に表示される。尚、該促進報知の実行中に、いずれかのストップスイッチ8L、8C、8Rが有効に操作されたときには、実行中の促進報知が終了されるようになっている。
また、いずれかのリール2L、2C、2Rの回転が停止して可変表示部における図柄の変動が停止して表示結果が導出された後、未だ回転が停止されていないリール2L、2C、2Rがある場合、すなわち、表示結果が導出されていない可変表示部がある場合において、最後にストップスイッチ8L、8C、8Rが有効に操作されてから、ストップスイッチ8L、8C、8Rが有効に操作されずに経過した時間が前記第1の報知待ち時間(60秒)に到達したときにも、前記促進報知が実行される。
尚、いずれかのリール2L、2C、2Rの回転が停止して可変表示部における図柄の変動が停止して表示結果が導出された後、未だ回転が停止されていないリール2L、2C、2Rがある場合において、当該ゲームにおいて既に促進報知が実行されている場合には、最後にストップスイッチ8L、8C、8Rが有効に操作されてから、ストップスイッチ8L、8C、8Rが有効に操作されずに経過した時間が第2の報知待ち時間(本実施例では30秒)に到達したときに前記促進報知が実行される。尚、促進報知の詳細に関しては後述することとする。
図3は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図3に示すように、遊技制御基板40、演出制御基板90、表示制御基板190、電源基板100が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、表示制御基板190によって液晶表示器51の表示制御が行われ、電源基板100によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板100には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び遊技制御基板40を介して接続された演出制御基板90及び該演出制御基板90に接続された表示制御基板190に供給されるようになっている。また、電源基板100には、前述したホッパーモータ34、払出センサ35、打止スイッチ36、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述した1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、投入メダルセンサ31、リールセンサ33が接続されているとともに、電源基板100を介して前述した払出センサ35、打止スイッチ36、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、ペイアウト表示器13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板100を介して前述したホッパーモータ34が接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
遊技制御基板40には、CPU41a、ROM41b、RAM41c、I/Oポート41dを備えたマイクロコンピュータからなり、遊技の制御を行うメイン制御部41、所定範囲(本実施例では0〜16383)の乱数を発生させる乱数発生回路42、乱数発生回路から乱数を取得するサンプリング回路43、遊技制御基板40に直接または電源基板100を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路44、リールモータ32L、32C、32Rの駆動制御を行うモータ駆動回路45、流路切替ソレノイド30の駆動制御を行うソレノイド駆動回路46、遊技制御基板40に接続された各種表示器やLEDの駆動制御を行うLED駆動回路47、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48、電源投入時またはCPU41aからの初期化命令が入力されないときにCPU41aにリセット信号を与えるリセット回路49、その他各種デバイス、回路が搭載されている。
CPU41aは、計時機能、タイマ割込などの割込機能(割込禁止機能を含む)を備え、ROM41bに記憶されたプログラム(後述)を実行して、遊技の進行に関する処理を行うととともに、遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御する。ROM41bは、CPU41aが実行するプログラムや各種テーブル等の固定的なデータを記憶する。RAM41cは、CPU41aがプログラムを実行する際のワーク領域等として使用される。I/Oポート41dは、メイン制御部41が備える信号入出力端子を介して接続された各回路との間で制御信号を入出力する。
メイン制御部41は、信号入力端子DATAを備えており、遊技制御基板40に接続された各種スイッチ類の検出状態がこれら信号入力端子DATAを介して入力ポートに入力される。これら信号入力端子DATAの入力状態は、CPU41aにより監視されており、CPU41aは、信号入力端子DATAの入力状態、すなわち各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
また、CPU41aは、前述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、割込1〜4の4種類の割込を実行可能であり、各割込毎にカウンタモード(信号入力端子DATAとは別個に設けられたトリガー端子CLK/TRGからの信号入力に応じて外部割込を発生させる割込モード)とタイマモード(CPU41aのクロック入力数に応じて内部割込を発生させる割込モード)のいずれかを選択して設定できるようになっている。
本実施例では、割込1〜4のうち、割込2がカウンタモードに設定され、割込3がタイマモードに設定され、割込1、4は未使用とされている。トリガー端子CLK/TRGは、前述した電断検出回路48と接続されており、CPU41aは電断検出回路48から出力された電圧低下信号の入力に応じて割込2を発生させて後述する電断割込処理を実行する。また、CPU41aは、クロック入力数が一定数に到達する毎、すなわち一定時間間隔(本実施例では、約0.56ms)毎に割込3を発生させて後述するタイマ割込処理(メイン)を実行する。また、割込1、4は、未使用に設定されているが、ノイズ等によって割込1、4が発生することがあり得る。このため、CPU41aは、割込1、4が発生した場合に、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
また、CPU41aは、割込1〜4のいずれかの割込の発生に基づく割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、割込2、3、1、4の順番で優先して実行する割込が設定されている。すなわち割込2とその他の割込が同時に発生した場合には、割込2を優先して実行し、割込3と割込1または4が同時に発生した場合には、割込3を優先して実行するようになっている。
また、CPU41aは、割込1〜4のいずれかの割込の発生に基づく割込処理の開始時に、レジスタに格納されている使用中のデータをRAM41cに設けられた後述のスタック領域に一時的に退避させるとともに、当該割込処理の終了時にスタック領域に退避させたデータをレジスタに復帰させるようになっている。
RAM41cには、DRAM(Dynamic RAM)が使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要となる。CPU41aには、このリフレッシュ動作を行うためのリフレッシュレジスタ41R(図31参照)が設けられている。リフレッシュレジスタ41Rは、8ビットからなり、そのうちの下位7ビットが、CPU41aがROM41bから命令をフェッチする度に自動的にインクリメントされるもので、その値の更新は、1命令の実行時間毎に行われる。
また、メイン制御部41には、停電時においてもバックアップ電源が供給されており、バックアップ電源が供給されている間は、CPU41aによりリフレッシュ動作が行われてRAM41cに記憶されているデータが保持されるようになっている。
乱数発生回路42は、後述するように所定数のパルスを発生する度にカウントアップして値を更新するカウンタによって構成され、サンプリング回路43は、乱数発生回路42がカウントしている数値を取得する。乱数発生回路42は、乱数の種類毎にカウントする数値の範囲が定められており、本実施例では、その範囲として0〜16383が定められている。CPU41aは、その処理に応じてサンプリング回路43に指示を送ることで、乱数発生回路42が示している数値を乱数として取得する(以下、この機能をハードウェア乱数機能という)。後述する内部抽選用の乱数は、ハードウェア乱数機能により抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工して使用するが、その詳細については詳しく説明する。また、CPU41aは、前述のタイマ割込処理(メイン)により、特定のレジスタの数値を更新し、こうして更新された数値を乱数として取得する機能も有する(以下、この機能をソフトウェア乱数機能という)。
CPU41aは、I/Oポート41dを介して演出制御基板90に、各種のコマンドを送信する。遊技制御基板40から演出制御基板90へ送信されるコマンドは一方向のみで送られ、演出制御基板90から遊技制御基板40へ向けてコマンドが送られることはない。遊技制御基板40から演出制御基板90へ送信されるコマンドの伝送ラインは、ストローブ(INT)信号ライン、データ伝送ライン、グラウンドラインから構成されているとともに、演出中継基板80を介して接続されており、遊技制御基板40と演出制御基板90とが直接接続されない構成とされている。
演出制御基板90には、演出効果LED52、スピーカ53、54、リールLED55、演出用扉モータ56,57等の電気部品が接続されており、これら電気部品は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。
演出制御基板90には、メイン制御部41と同様にCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部91、演出効果LED52及びリールLED55の駆動制御を行うランプ駆動回路93、スピーカ53、54からの音声出力制御を行う音声出力回路94、電源投入時またはCPU91aからの初期化命令が入力されないときにCPU91aにリセット信号を与えるリセット回路95、演出用扉モータ56,57の駆動制御を行うモータ駆動回路96、その他の回路等、が搭載されており、CPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。また、液晶表示器51による表示画像の表示を指示するコマンドを、I/Oポート91dを介して表示制御基板190に送信する。演出制御基板90から表示制御基板190へ送信されるコマンドは一方向のみで送られ、表示制御基板190から演出制御基板90へ向けてコマンドが送られることはない。
CPU91aは、メイン制御部41のCPU41aと同様に、タイマ割込などの割込機能(割込禁止機能を含む)を備える。サブ制御部91の割込端子(図示略)は、コマンド伝送ラインのうち、メイン制御部41がコマンドを送信する際に出力するストローブ(INT)信号線に接続されており、CPU91aは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部41からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、CPU91aは、クロック入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、CPU91aにおいても未使用の割込が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
また、CPU91aは、CPU41aとは異なり、ストローブ信号(INT)の入力に基づいて割込が発生した場合には、他の割込に基づく割込処理の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、他の割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、CPU91aによりリフレッシュ動作が行われてRAM91cに記憶されているデータが保持されるようになっている。
表示制御基板190には、スロットマシン1の前面扉に配置された液晶表示器51(図1参照)が接続されており、該液晶表示器51は、表示制御基板190に搭載された後述の表示制御部191による制御に基づいて駆動されるようになっている。
表示制御基板190には、メイン制御部41と同様にCPU191a、ROM191b、RAM191c、I/Oポート191dを備えたマイクロコンピュータにて構成され、演出制御基板90から送信されるコマンドに応じて、液晶表示器51の表示制御を行う表示制御部191、液晶表示器51の駆動制御を行う液晶駆動回路92、その他の回路等が搭載されており、CPU191aは、演出制御基板90から送信されるコマンドを受けて、液晶表示器51の表示制御を行う。
また、表示制御部191にも、停電時においてバックアップ電源が供給されるようになっており、バックアップ電源が供給されている間は、CPU191aによりリフレッシュ動作が行われてRAM191cに記憶されているデータが保持されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものであり、後述する内部抽選の当選確率は、設定値に応じて定まるものとなる。以下、設定値の変更操作について説明する。
設定値を変更するためには、設定キースイッチ37をON状態としてからスロットマシン1の電源をONする必要がある。設定キースイッチ37をON状態として電源をONすると、設定値表示器24に設定値の初期値として1が表示され、リセット/設定スイッチ38の操作による設定値の変更操作が可能な設定変更モードに移行する。設定変更モードにおいて、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された設定値が1ずつ更新されていく(設定6から更に操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると設定値が確定し、確定した設定値がメイン制御部41のRAM41cに格納される。そして、設定キースイッチ37がOFFされると、遊技の進行が可能な状態に移行する。
本実施例のスロットマシン1においては、メイン制御部41のCPU41aが電圧低下信号を検出した際に、電断割込処理を実行する。電断割込処理では、レジスタを後述するRAM41cのスタックに退避し、メイン制御部41のRAM41cにいずれかのビットが1となる破壊診断用データ(本実施例では、5AH)、すなわち0以外の特定のデータを格納するとともに、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM41cに格納する処理を行うようになっている。尚、RAMパリティとはRAM41cの該当する領域(本実施例では、全ての領域)の各ビットに格納されている値の排他的論理和として算出される値である。このため、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0であれば、RAMパリティ調整用データは0となり、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが1であれば、RAMパリティ調整用データは1となる。
そして、CPU41aは、その起動時においてRAM41cの全ての領域に格納されたデータに基づいてRAMパリティを計算するとともに、破壊診断用データの値を確認し、RAMパリティが0であり、かつ破壊診断用データの値も正しいことを条件に、RAM41cに記憶されているデータに基づいてCPU41aの処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)や破壊診断用データの値が正しくない場合には、RAM異常と判定し、RAM異常エラーコードをレジスタにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、RAM異常エラー状態は、他のエラー状態と異なり、リセットスイッチ23やリセット/設定スイッチ38を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
また、CPU41aは、後述する内部抽選処理において内部抽選に用いる設定値が適正な値であるか否かを判定する設定値判定処理を実行する。
設定値判定処理では、内部抽選に用いる設定値が適正な範囲の値(1〜6)か否かを判定する設定値判定処理1、内部抽選に用いる設定値と、設定変更時に設定された設定値と、が一致するか否かを判定する設定値判定処理2、今回のゲームの内部抽選に用いる設定値と、前回のゲームの内部抽選に用いた設定値と、が一致するか否かを判定する設定値判定処理3、を1ゲーム毎にそれぞれ実行する。
そして、設定値判定処理1において、内部抽選に用いる設定値が適正な範囲の値でない場合、または設定値判定処理2において、内部抽選に用いる設定値と、設定変更時に設定された設定値と、が一致しない場合、または設定値判定処理3において、今回のゲームの内部抽選に用いる設定値と、前回のゲームの内部抽選に用いた設定値と、が一致しない場合にも、RAM異常と判定し、RAM異常エラーコードをセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、前述のようにRAM異常エラー状態は、他のエラー状態と異なり、リセットスイッチ23やリセット/設定スイッチ38を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
本実施例のスロットマシン1は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。本実施例では、後に説明するが、遊技状態として、レギュラーボーナス、通常遊技状態があり、このうちレギュラーボーナスに対応する賭数の規定数として1が定められており、通常遊技状態に対応する賭数の規定数として3が定められている。このため、遊技状態がレギュラーボーナスにあるときには、賭数として1が設定されるとゲームを開始させることが可能となり、遊技状態が通常遊技状態にあるときには、賭数として3が設定されるとゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインL1〜L5が有効化されるようになっており、遊技状態に応じた規定数が1であれば、賭数として1が設定された時点で全ての入賞ラインL1〜L5が有効化され、遊技状態に応じた規定数が3であれば、賭数として3が設定された時点で全ての入賞ラインL1〜L5が有効化されることとなる。
本実施例のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ)上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役と、がある。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組み合わせが揃うまで有効とされ、許容された役の組み合わせが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組み合わせを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
図4(a)は、遊技状態別当選役テーブルを示す図である。遊技状態別当選役テーブルは、メイン制御部41のROM41bに予め格納され、内部抽選において当選と判定される役を判断するために用いられるものであるが、遊技状態別当選役テーブルの登録内容は、遊技状態に応じて定められた役を示すものとなる。このスロットマシン1における役としては、特別役としてレギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)が、小役としてJAC、チェリー、1枚(1)、1枚(2)、ベルが、再遊技役としてリプレイが定められている。
レギュラーボーナスの遊技状態では、小役であるJAC、チェリー、1枚(1)、1枚(2)及びベルが、入賞となる役として定められており、レギュラーボーナスにおける内部抽選で抽選の対象とされる。通常遊技状態では、特別役であるレギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)、小役であるチェリー、1枚(1)、1枚(2)及びベル、再遊技役であるリプレイが入賞となる役として定められており、通常遊技状態における内部抽選で抽選の対象とされる。
尚、本実施例では、レギュラーボーナスの遊技状態において、チェリー、1枚(1)、1枚(2)及びベルに加えてJACが入賞となる小役として定められているが、レギュラーボーナスの遊技状態においても、通常遊技状態と同様に、チェリー、1枚(1)、1枚(2)及びベルのみを入賞となる小役として定めるようにしても良い。
JACは、レギュラーボーナスにおいて入賞ラインのいずれかに「ベル−ベル−スイカ」の組み合わせが揃ったときに入賞となり、15枚のメダルが払い出されるが、レギュラーボーナス以外の遊技状態では、この組み合わせが揃ったとしてもJAC入賞とならない。チェリーは、いずれの遊技状態においても左リールについて入賞ラインのいずれかに「チェリー」の図柄が導出されたときに入賞となり、通常遊技状態においては2枚、レギュラーボーナスにおいては15枚のメダルが払い出される。尚、「チェリー」の図柄が左リールの上段または下段に停止した場合には、入賞ラインL2、L4または入賞ラインL3、L5の2本の入賞ラインにチェリーの組み合わせが揃うこととなり、2本の入賞ライン上でチェリーに入賞したこととなり、通常遊技状態においては4枚が払い出される。レギュラーボーナスにおいては合計枚数が30枚となるが、上限である15枚を超えるため、この場合には15枚が払い出される。1枚(1)は、いずれの遊技状態においても入賞ラインのいずれかに「青7−赤7−スイカ」の組み合わせが揃ったときに入賞となり、通常遊技状態においては1枚、レギュラーボーナスにおいては15枚のメダルが払い出される。1枚(2)は、いずれの遊技状態においても入賞ラインのいずれかに「赤7−青7−スイカ」の組み合わせが揃ったときに入賞となり、通常遊技状態においては1枚、レギュラーボーナスにおいては15枚のメダルが払い出される。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となり、通常遊技状態においては8枚、レギュラーボーナスにおいては15枚のメダルが払い出される。これらの小役が入賞したときのメダルの払い出しについては後述する。
リプレイは、通常遊技状態において入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組み合わせが揃ったときに入賞となるが、レギュラーボーナスでは、この組み合わせが揃ったとしてもリプレイ入賞とならない。リプレイ入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数(レギュラーボーナスではリプレイ入賞しないので必ず3)に対応した3枚のメダルが払い出されるのと実質的には同じこととなる。
レギュラーボーナスは、通常遊技状態において入賞ラインのいずれかに「赤7−赤7−BAR」の組み合わせが揃ったときに入賞となる。レギュラーボーナス入賞すると、遊技状態が通常遊技状態からレギュラーボーナスに移行する。レギュラーボーナスは、12ゲームを消化したとき、または8ゲーム入賞(役の種類は、いずれでも可)したとき、のいずれか早いほうで終了する。遊技状態がレギュラーボーナスにある間は、レギュラーボーナス中フラグがRAM41cに設定される。
ビッグボーナスは、通常遊技状態において入賞ラインのいずれかに「赤7−赤7−赤7」の組み合わせ、または「青7−青7−青7」の組み合わせが揃ったときに入賞となる。ビッグボーナス入賞すると、遊技状態がビッグボーナスに移行する。ビッグボーナスに移行すると、ビッグボーナスへの移行と同時にレギュラーボーナスに移行し、レギュラーボーナスが終了した際に、ビッグボーナスが終了していなければ、再度レギュラーボーナスに移行し、ビッグボーナスが終了するまで繰り返しレギュラーボーナスに制御される。すなわちビッグボーナス中は、常にレギュラーボーナスに制御されることとなる。そして、ビッグボーナスは、当該ビッグボーナス中において遊技者に払い出したメダルの総数が466枚に達したときに終了する。この際、レギュラーボーナスの終了条件が成立しているか否かに関わらずレギュラーボーナスも終了する。遊技状態がビッグボーナスにある間は、ビッグボーナス中フラグがRAM41cに設定される。
尚、「赤7−赤7−赤7」によるビッグボーナス及び「青7−青7−青7」によるビッグボーナスを区別する必要がある場合には、それぞれビッグボーナス(1)、ビッグボーナス(2)と呼ぶものとする。また、前述したレギュラーボーナス、ビッグボーナス(1)及びビッグボーナス(2)をまとめて、単に「ボーナス」と呼ぶ場合があるものとする。
以下、内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するかどうかを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)、決定するものである。内部抽選では、まず、内部抽選用の乱数(0〜16383の整数)が取得される。そして、遊技状態に応じて定められた各役について、取得した内部抽選用の乱数と、遊技者が設定した賭数と、設定値に応じて定められた各役の判定値数に応じて行われる。
遊技状態に応じた役の参照は、図4(a)に示した遊技状態別役テーブルに応じて行われる。遊技状態がレギュラーボーナス(ビッグボーナス中に提供された場合を含む)にあるときには、JAC、チェリー、1枚(1)、1枚(2)、ベルが内部抽選の対象役として順に読み出され、遊技状態が通常遊技状態にあるときには、レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)、チェリー、1枚(1)、1枚(2)、ベル、リプレイが内部抽選の対象役として順に読み出される。もっとも、前回以前のゲームでレギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)の当選フラグが設定され、当該フラグに基づく入賞が発生しないで持ち越されているときには、レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)は、内部抽選の対象役となることはない。
内部抽選では、内部抽選の対象役について定められた判定値数を、内部抽選用の乱数に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。当選と判定されると、当該役の当選フラグがメイン制御部41のRAM41cに設定される。判定値数は、メイン制御部41のROMに予め格納された役別テーブルに登録されている判定値数の格納アドレスに従って読み出されるものとなる。
図4(b)は、役別テーブルの例を示す図である。判定値数は、その値が256以上のものとなるものもあり、1バイト分では記憶できないので、判定値数毎に2バイト分の記憶領域を用いて登録されるものとなる。
各役の判定値数は、遊技者が設定する賭数(BET)に対応して登録されている。同一の役であっても、賭数に応じて当選確率が異なっている場合があるからである。また、各役の賭数に応じた判定値数は、設定値に関わらずに共通になっているものと、設定値に応じて異なっているものとがある。判定値数が設定値に関わらずに共通である場合には、共通フラグが設定される(値が「1」とされる)。
役別テーブルには、図4(b)に示すように、レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)、JAC、チェリー、1枚(1)、1枚(2)、ベル、リプレイの判定値数の格納アドレスが登録されている。
レギュラーボーナスは、通常遊技状態において内部抽選の対象となる役であり、通常遊技状態での賭数3に対応する判定値数の格納アドレスとが登録されている。レギュラーボーナスについては、共通フラグが0となっており、設定値に応じて個別に判定値数の格納アドレスが登録されている。
ビッグボーナス(1)、ビッグボーナス(2)は、通常遊技状態において内部抽選の対象となる役であり、通常遊技状態での賭数3に対応する判定値数の格納アドレスとが登録されている。ビッグボーナス(1)、ビッグボーナス(2)については、共通フラグが0となっており、設定値に応じて個別に判定値数の格納アドレスが登録されている。
JACは、レギュラーボーナスでのみ内部抽選の対象となる役であり、レギュラーボーナスでの賭数1に対応する判定値数の格納アドレスが登録されている。この役の共通フラグは1であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。
チェリー、1枚(1)、1枚(2)及びベルは、レギュラーボーナス及び通常遊技状態のいずれの遊技状態においても内部抽選の対象となる役であり、レギュラーボーナスでの賭数1に対応する判定値数の格納アドレスと、通常遊技状態での賭数3に対応する判定値数の格納アドレスと、が登録されている。チェリー、1枚(1)、1枚(2)については、共通フラグが1となっており、それぞれの賭数に対応して設定値に関わらず共通の判定値数の格納アドレスが登録されている。ベルについては、共通フラグが0となっており、それぞれの賭数に対応して設定値に応じて個別に判定値数の格納アドレスが登録されている。
リプレイは、通常遊技状態において内部抽選の対象となる役であり、通常遊技状態での賭数3に対応する判定値数の格納アドレスが登録されている。この役の共通フラグは1であり、それぞれの賭数に対応して設定値に関わらず共通の判定値数の格納アドレスが登録されている。
また、役別テーブルには、各役に入賞したときに払い出されるメダルの払出枚数も登録されている。もっとも、入賞したときにメダルの払い出し対象となる役は、小役であるJAC、チェリー、1枚(1)、1枚(2)及びベルだけである。チェリー、1枚(1)、1枚(2)及びベルは、賭数が1のとき(レギュラーボーナス)でも3のとき(通常遊技状態)でも入賞が発生可能であるが、これらの役については、賭数が1であるとき、すなわち遊技状態がレギュラーボーナスにあるときには、賭数が3であるとき、すなわち遊技状態が通常遊技状態にあるときよりも多いメダルが払い出されるものとなる。また、左リールの上段または下段に「チェリー」が停止した場合には、前述のように2本の入賞ラインにチェリーの組み合わせが揃ったこととなるため、それぞれの払出枚数の合計枚数が払い出されることとなる。本実施例では、通常遊技状態においてチェリーの払出枚数が2枚であるため、4枚のメダルが払い出される。レギュラーボーナスでは、チェリーの払出枚数が15枚であるが、合計枚数が上限である15枚を超えるため、この場合には15枚のメダルが払い出される。
レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)の入賞は、遊技状態の移行を伴うものであり、メダルの払い出し対象とはならない。リプレイでは、メダルの払い出しを伴わないが、次のゲーム(必ず通常遊技状態)で賭数の設定に用いメダルの投入が不要となるので実質的には3枚の払い出しと変わらない。
図5は、役別テーブルに登録されたアドレスに基づいて取得される判定値数の記憶領域を示す図である。この判定値数の記憶領域は、開発用の機種ではメイン制御部41のRAM41cに、量産機種ではメイン制御部41のROM41bに割り当てられたアドレス領域に設けられている。
例えばアドレスADD+36、ADD+74は、それぞれ内部抽選の対象役がJAC、リプレイであるときに賭数及び設定値に関わらずに参照されるアドレスであり、賭数及び設定値に関わらずに、それぞれ27、2245が判定値数として取得される。
アドレスADDは、賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がレギュラーボーナスであって設定値が1のときに参照されるアドレスであり、このときには、ここに格納された値である31が判定値数として取得される。アドレスADD+2、ADD+4、ADD+6、ADD+8、ADD+10は、それぞれ賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がレギュラーボーナスであって設定値が2〜6のときに参照されるアドレスである。レギュラーボーナスについては、賭数が3のときに設定値に応じて個別に判定値数が記憶されているが、同一の判定値数が記憶されているので、いずれの設定値においてもレギュラーボーナスの当選確率は同じとなっている。
アドレスADD+12、ADD+14、ADD+16、ADD+18、ADD+20、ADD+22は、それぞれ賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がビッグボーナス(1)であって設定値が1〜6のときに参照されるアドレスである。アドレスADD+24、ADD+26、ADD+28、ADD+30、ADD+32、ADD+34は、それぞれ賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がビッグボーナス(2)であって設定値が1〜6のときに参照されるアドレスである。ビッグボーナス(1)、ビッグボーナス(2)については、賭数が3のときに参照される判定値数が、設定値に応じて個別に記憶され、しかも異なる判定値数が記憶されているので、設定値に応じて当選確率が異なることとなる。
アドレスADD+38は、賭数が1のとき、すなわちレギュラーボーナスにおいて内部抽選の対象役がチェリーであるときに設定値に関わらずに参照されるアドレスである。アドレスADD+40は、賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がチェリーであるときに設定値に関わらず参照されるアドレスである。チェリーについての判定値数は、賭数に応じて登録されているが、同じ値が登録されているので、レギュラーボーナスであるか、通常遊技状態であるかに関わらずチェリーの当選確率は同じとなる。1枚(1)についても、アドレスADD+42、ADD+44に同様にして判定値数が登録されており、1枚(2)についても、アドレスADD+46、ADD+48に同様にして判定値数が登録されている。
アドレスADD+50、ADD+52、ADD+54、ADD+56、ADD+58、ADD+60は、それぞれ賭数が1のとき、すなわちレギュラーボーナスにおいて内部抽選の対象役がベルであって設定値が1〜6のときに参照されるアドレスである。アドレスADD+50とADD+52、ADD+54とADD+56、ADD+58とADD+60には、それぞれ同一の値が登録されているので、レギュラーボーナス時においては、設定値1と設定値2、設定値3と設定値4、設定値5と設定値6とで、ベルの当選確率が同一となる。
アドレスADD+62、ADD+64、ADD+66、ADD+68、ADD+70、ADD+72は、それぞれ賭数が3のとき、すなわち通常遊技状態において内部抽選の対象役がベルであって設定値が1〜6のときに参照されるアドレスである。アドレスADD+62、ADD+64、ADD+66、ADD+68、ADD+70、ADD+72には、互いに異なる値が登録されているので、通常遊技状態においては、設定値に応じてベルの当選確率が異なることとなる。
図6及び図7は、内部抽選用の乱数の値及び各役の判定値数と、当選役との関係の例を示す図である。図6では通常遊技状態にあるときの、図7では小役ゲームにあるときの例を示している。図6及び図7のいずれも、設定値が6の場合の例を示しており、またレギュラーボーナス、ビッグボーナスのいずれの当選フラグも設定されてない場合の例を示している。
例えば、図6に示すように、通常遊技状態では、内部抽選の対象役となる役は、レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)、チェリー、1枚(1)、1枚(2)、ベル、リプレイであり、設定値6においては、それぞれの判定値数は、31、20、40、96、163、163、2082、2245となる。最初に内部抽選の対象役となるレギュラーボーナスは、判定値数の31を加算することで加算結果がオーバーフローすることとなる16353〜16383が内部抽選用の乱数として取得されたときに当選となる。
次に内部抽選の対象役となるビッグボーナス(1)は、レギュラーボーナスの判定値数31とビッグボーナス(1)の判定値数20とを合計した51を加算することで加算結果がオーバーフローすることとなる16333〜16352が内部抽選用の乱数として取得されたときに当選となる。同様に、ビッグボーナス(2)は、16293〜16332が内部抽選用の乱数として取得されたときに、チェリーは、16197〜16292が内部抽選用の乱数として取得されたときに、1枚(1)は、16034〜16196が内部抽選用の乱数として取得されたときに、1枚(2)は、15871〜16033が内部抽選用の乱数として取得されたときに、ベルは、13789〜15870が内部抽選用の乱数として取得されたときに、リプレイは、11544〜13788が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。
これらの判定値数に基づいて算出される各役のおおよその当選確率は、レギュラーボーナス(1)、ビッグボーナス(1)、ビッグボーナス(2)、チェリー、1枚(1)、1枚(2)、ベル、リプレイのそれぞれについて、1/528.5、1/819.2、1/409.6、1/170.1、1/100.5、1/100.5、1/7.9、1/7.3となる。尚、0〜11543が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
また、図7に示すように、レギュラーボーナスでは、JAC、チェリー、1枚(1)、1枚(2)、ベルが内部抽選の対象役となり、それぞれの判定値数が27、96、163、163、15919であるので、16357〜16383、16261〜16356、16098〜16260、15935〜16907、16〜15934が内部抽選用の乱数として取得されたときに、当選と判定される。また、それぞれの役のおおよその当選確率は、1/606.8、1/170.1、1/100.5、1/100.5、1/1.03となる。尚、0〜15が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
次に、内部抽選用の乱数の取得について、図8を参照して詳しく説明する。内部抽選用の乱数は、ハードウェア乱数機能により乱数発生回路42から乱数を抽出し、これをCPU41aがソフトウェアによって加工することによって取得されるものとなる。尚、乱数発生回路42から抽出した、或いはこれを加工した乱数の最下位ビットを第0ビット、最上位ビットを第15ビットと呼ぶものとする。
図8(a)は、乱数発生回路42の構成を詳細に示すブロック図である。図示するように、乱数発生回路42は、パルス発生回路42aと、下位カウンタ42bと、上位カウンタ42cとから構成されている。下位カウンタ42b及び上位カウンタ42cは、いずれも8ビット(1バイト)のカウンタであり、下位カウンタ42bが第0ビット〜第7ビット、上位カウンタ42cが第8ビット〜第15ビットの合計で16ビットのデータ信号を出力する。
パルス発生回路42aは、CPU41aの動作クロックの周波数よりも高く、その整数倍とはならない周波数(互いに素とすることが好ましい)でパルス信号を出力する。パルス発生回路42aの出力するパルス信号が下位カウンタ42bにクロック入力される。
下位カウンタ42bは、パルス発生回路42aからパルス信号が入力される度に第0ビットのデータ信号をHレベルとLレベルとで交互に反転させる。正論理を適用するものとすると、Hレベルの論理値が1でLレベルの論理値が0に対応する。負論理の場合は、論理値が1の場合をLレベル、論理値が0の場合をHレベルと読み替えれば良い。第0ビットのデータ信号のレベルがHレベルからLレベルに反転するとき、すなわち第0ビットのデータ信号の論理値が1から0に変化する度に第1ビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。
同様に、第m−1ビットのデータ信号のレベルがHレベルからLレベルに反転するとき、すなわち第m−1ビットのデータ信号の論理値が1から0に変化する度に第mビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。また、第7ビットのデータ信号のレベルがHレベルからすなわち第7ビットのデータ信号の論理値が1から0に変化する度に桁上げ信号を出力する。下位カウンタ42bの出力する桁上げ信号が上位カウンタ42cにクロック入力される。
上位カウンタ42cは、下位カウンタ42bから桁上げ信号が入力される度に第8ビットのデータ信号をHレベルとLレベルとで交互に反転させる。第9ビットのデータ信号のレベルがHレベルからLレベルに反転する度に第9ビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。同様に、第m−1ビットのデータ信号のレベルがHレベルからLレベルに反転する度に第mビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。
下位カウンタ42bのデータ信号を下位8ビットとし、上位カウンタ42cのデータ信号を上位8ビットとした16ビットのデータ信号の論理値は、パルス発生回路42aがパルス信号を出力する度に、0(0000H)→1(0001H)→2(0002H)→…→65535(FFFFH)と値が更新毎に連続するように更新され、最大値の65535(FFFFH)の次は初期値の0(0000H)へと値が循環して、乱数発生回路42から出力されるものとなる。
サンプリング回路43は、ラッチ回路から構成され、CPU41aからのサンプリング指令(スタートスイッチ7の操作時)に基づいて、乱数発生回路42からそのときに出力されている16ビットのデータ信号をラッチし、ラッチしたデータ信号を出力する。CPU41aは、I/Oポート41dを介してサンプリング回路43から入力されたデータ信号に対応した数値データを、乱数発生回路42が発生する乱数として抽出するものとなる。尚、以下では、乱数発生回路42から出力されるデータ信号は、その論理値に応じた乱数として説明するものとする。
図8(b)は、乱数発生回路42から抽出した乱数をCPU41aがソフトウェアにより内部抽選用の乱数に加工するまでの説明図である。乱数発生回路42から抽出された乱数は、CPU41aが有する16ビットの汎用レジスタ41GRに格納されるものとなる。
乱数発生回路42から抽出された乱数が汎用レジスタ41GRに格納されると、CPU41aは、演算用のレジスタを用いて、汎用レジスタ41GRの下位バイト(下位カウンタ42bから抽出した値)と、上位バイトの値(上位カウンタ42cから抽出した値)とを入れ替える。
次に、CPU41aは、抽出された乱数に対して上位バイトと下位バイトとが入れ替えられた乱数の値を、8080Hと論理和演算をする。CPU41aの処理ワークは1バイトなので、実際には上位バイトと下位バイトとについて順次論理和演算を行うものとなる。この論理和演算によって第15ビットと第7ビットは常に1となる。更に、CPU41aは、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。
CPU41aは、このときに汎用レジスタ41GRに格納されている値を、内部抽選用の乱数とし、これに各役の判定値数を順次加算していくものとなる。内部抽選用の乱数の第15ビットと第14ビットは常に1となるので、内部抽選用の乱数は、14ビット(16384)の大きさを有する乱数ということになり、実質的に0〜16383の値をとるものとなる。
尚、乱数発生回路42からの乱数の抽出から加工を終了するまでの間は、CPU41aに対する割り込みが禁止される。CPU41aに対して割り込みが発生することによって、当該割り込み処理ルーチンで汎用レジスタ41GRの内容が書き換えられてしまうのを防ぐためである。
次に、リール2L、2C、2Rの停止制御について説明する。
CPU41aは、リールの回転が開始したとき及び、リールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの引込コマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
テーブルインデックスには、図9に示すように、各遊技状態について内部抽選による当選フラグの設定状態(以下、内部当選状態と呼ぶ)別に、テーブル作成用データが格納された領域の先頭アドレスが格納されている。
具体的には、通常遊技状態においては、チェリー、1枚(1)、1枚(2)、ベル、リプレイ、ビッグボーナス(1)(+ハズレ)、ビッグボーナス(1)+チェリー、ビッグボーナス(1)+1枚(1)、ビッグボーナス(1)+1枚(2)、ビッグボーナス(1)+ベル、ビッグボーナス(1)+リプレイ、ビッグボーナス(2)(+ハズレ)、ビッグボーナス(2)+チェリー、ビッグボーナス(2)+1枚(1)、ビッグボーナス(2)+1枚(2)、ビッグボーナス(2)+ベル、ビッグボーナス(2)+リプレイ、レギュラーボーナス(+ハズレ)、レギュラーボーナス+チェリー、レギュラーボーナス+1枚(1)、レギュラーボーナス+1枚(2)、レギュラーボーナス+ベル、レギュラーボーナス+リプレイ、ハズレのそれぞれについて、テーブル作成用データが格納された領域の先頭アドレスが格納され、レギュラーボーナスについては、チェリー、1枚(1)、1枚(2)、ベル、JAC、ハズレのそれぞれについて、テーブル作成用データが格納された領域の先頭アドレスが格納されている。尚、遊技状態が異なったり、役の当選状況が異なったりする場合でも、同一の制御が適用される場合(例えば、通常遊技状態におけるチェリー当選時と、レギュラーボーナスにおけるチェリー当選時と、で同一の制御を適用する場合や、ビッグボーナス(1)+リプレイ当選時と、ビッグボーナス(2)+リプレイ当選時と、レギュラーボーナス+リプレイ当選時と、で同一の制御を適用する場合など)においては、テーブル作成用データが格納された領域の先頭アドレスとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
テーブル作成用データは、停止操作位置に応じた引込コマ数を示す引込コマ数データと、リールの停止状況に応じて参照すべき引込コマ数データのアドレスと、からなる。
リールの停止状況に応じて参照される引込コマ数データは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき引込コマ数データのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき引込コマ数データのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な引込コマ数データを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の引込コマ数データが適用される場合においては、引込コマ数データのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の引込コマ数データが参照されることとなる。
引込コマ数データは、停止操作が行われたタイミング別の引込コマ数を特定可能なデータである。本実施例では、リールモータ32L、32C、32Rに、168ステップ(0〜167)の周期で1周するステッピングモータを用いている。すなわちリールモータ32L、32C、32Rを168ステップ駆動させることでリール2L、2C、2Rが1周することとなる。そして、特に図示はしないが、リール1周に対して8ステップ(1図柄が移動するステップ数)毎に分割した21の領域(コマ)が定められており、これらの領域には、リール基準位置から1〜21の領域番号が割り当てられている。一方、1リールに配列された図柄数も21であり、各リールの図柄に対して、リール基準位置から1〜21の図柄番号が割り当てられているので、1番図柄から21番図柄に対して、それぞれ1〜21の領域番号が順に割り当てられていることとなる。そして、引込コマ数データには、領域番号別の引込コマ数が所定のルールで圧縮して格納されており、引込コマ数データを展開することによって領域番号別の引込コマ数を取得できるようになっている。
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、各領域番号に対応する領域が停止基準位置(例えば透視窓3の下段図柄の領域)に位置するタイミング(リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング)でストップスイッチ8L、8C、8Rの操作が検出された場合の引込コマ数がそれぞれ設定されたテーブルである。
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの遊技状態及び内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。そして取得した先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの引込コマ数データのアドレスを取得し、取得したアドレスに格納されている各リールの引込コマ数データを展開して全てのリールについて停止制御テーブルを作成する。
また、いずれか1つのリールが停止したとき、またはいずれか2つのリールが停止したときには、リール回転開始時に取得した先頭アドレス、すなわちそのゲームの遊技状態及び内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの引込コマ数データのアドレスを取得し、取得したアドレスに格納されている各リールの引込コマ数データを展開して未停止のリールについて停止制御テーブルを作成する。
次に、CPU41aがストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する引込コマ数を取得する。そして、取得した引込コマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した引込コマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域(停止操作ポイント)から引込コマ数分先の停止位置となる領域番号に対応する領域(停止ポイント)が停止基準位置(例えば透視窓3の下段図柄の領域)に停止することとなる。
また、本実施例のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するテーブル作成用データの格納領域の先頭アドレスとして1つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況(及び停止済みのリールの停止位置)に対応する引込コマ数データの格納領域のアドレスとして1つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、及びリールの停止状況(及び停止済みのリールの停止位置)に対応する引込コマ数データが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、及びリールの停止状況(及び停止済みのリールの停止位置)に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況(及び停止済みのリールの停止位置)の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
また、本実施例では、引込コマ数として0〜4の値が定められており、停止操作を検出してから最大4コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。
また、テーブルインデックスには、いずれかの役に当選している場合に対応して、当選役を4コマの範囲で最大限に引き込み、当選していない役が揃わないように引き込む引込コマ数が定められたテーブル作成用データのアドレスが格納され、ハズレに当選している場合に対応して、いずれの役も揃わないように引き込む引込コマ数が定められたテーブル作成用データのアドレスが格納されている。このため、いずれかの役に当選している場合には、当選役を4コマの範囲で最大限引き込み、当選していない役が揃わないように引き込む引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる一方、ハズレに当選している場合には、いずれの役も揃わない引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる。これにより、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、最大4コマの引込範囲でハズシて停止させる制御が行われることとなる。
また、テーブルインデックスには、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合(ビッグボーナス(1)+チェリー、ビッグボーナス(1)+ベルなど)に対応して、当選した特別役を4コマの範囲で最大限に引き込むように引込コマ数が定められているとともに、当選した特別役を最大4コマの範囲で引き込めない停止操作位置については、当選した小役を4コマの範囲で最大限に引き込むように引込コマ数が定められたテーブル作成用データのアドレスが格納され、リールの停止制御が行われる。これにより、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している特別役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している特別役の図柄を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している小役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、4コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞させることが可能となる。
また、テーブルインデックスには、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合(ビッグボーナス(1)+リプレイなど)に対応して、再遊技役を4コマの範囲で最大限に引き込むように引込コマ数が定められたテーブル作成用データのアドレスが格納され、リールの停止制御が行われる。これにより、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、後に説明するように、再遊技役を構成する図柄である「リプレイ」は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。
ここで、図2に示すように、「ベル」、「リプレイ」図柄については、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができる。つまり、ベル、リプレイ、JACの当選フラグがそれぞれ設定されているときには、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず当該役を入賞させることができる。
更に、リプレイの当選フラグが設定されているときに、左リールが未だ回転している状態では、中リール及び右リールの停止制御テーブルとして、必ず「リプレイ」図柄を4コマの引込範囲で入賞ラインL2またはL5上に引き込む停止制御テーブルが作成されるとともに、中リールまたは右リールの少なくとも一方の入賞ラインL2またはL5上に「リプレイ」図柄が停止した状態では、左リールの停止制御テーブルとして、5番の「リプレイ」図柄、すなわち当該図柄を入賞ラインL2またはL5上に停止させると「チェリー」も入賞ラインL1上に停止してしまう「リプレイ」図柄を除く「リプレイ」図柄を4コマの引込範囲で入賞ラインL2またはL5上に引き込む停止制御テーブルが作成され、中リールや右リールを左リールよりも先に停止させた場合には、入賞ラインL2またはL5上に「リプレイ」図柄を引き込み、その後左リールを停止させた際にも、必ず入賞ラインL2またはL5上に5番以外の「リプレイ」図柄を引き込む制御が行われるので、例えば、中リール及び右リールの入賞ラインL2またはL5上に5番の「リプレイ」図柄が停止することによって、リプレイとチェリーが同時に入賞してしまうことがない。また、左リールでは、2番の「リプレイ」図柄と7番の「リプレイ」図柄とが4コマ以内で配置されているため、5番の「リプレイ」図柄を避ける制御を行った場合でも、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ずリプレイを入賞させることができる。
また、ベルの当選フラグが設定されているときに、左リールが未だ回転している状態では、中リール及び右リールの停止制御テーブルとして、必ず「ベル」図柄を4コマの引込範囲で入賞ラインL1上に引き込む停止制御テーブルが作成されるとともに、中リールまたは右リールの少なくとも一方の入賞ラインL1上に「ベル」図柄が停止した状態では、左リールの停止制御テーブルとして、「ベル」図柄を4コマの引込範囲で入賞ラインL1上に引き込む停止制御テーブルが作成され、中リールや右リールを左リールよりも先に停止させた場合には、入賞ラインL1上に「ベル」図柄を引き込み、その後左リールを停止させた際にも、必ず入賞ラインL1上に「ベル」図柄を引き込む制御が行われる。また、左リールでは、「ベル」図柄と「チェリー」図柄が連続して配置されていない。このため、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ずベルを入賞させることができるうえに、ベルとチェリーが同時に入賞してしまうこともない。
また、JACの当選フラグが設定されているときに、左リールが未だ回転している状態では、中リールの停止制御テーブルとして、必ず「ベル」図柄を4コマの引込範囲で入賞ラインL1上に引き込む停止制御テーブルが作成され、右リールの停止制御テーブルとして、必ず「スイカ」図柄を4コマの引込範囲で入賞ラインL1上に引き込む停止制御テーブルが作成されるとともに、中リールの入賞ラインL1上に「ベル」図柄が停止した状態、または右リールの入賞ラインL1上に「スイカ」図柄が停止した状態では、左リールの停止制御テーブルとして、「ベル」図柄を4コマの引込範囲で入賞ラインL1上に引き込む停止制御テーブルが作成され、中リールを左リールよりも先に停止させた場合には、入賞ラインL1上に「ベル」図柄を引き込み、右リールを左リールよりも先に停止させた場合には、入賞ラインL1上に「スイカ」図柄を引き込み、その後左リールを停止させた際にも、必ず入賞ラインL1上に「ベル」図柄を引き込む制御が行われる。また、左リールでは、「ベル」図柄と「チェリー」図柄が連続して配置されていない。このため、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ずJACを入賞させることができるうえに、JACとチェリーが同時に入賞してしまうこともない。
また、リール回転開始時には、内部当選状態に対応する上述の停止制御テーブルが左リールの停止制御テーブルとして作成されるようになっており、中リールまたは右リールのいずれか1つのリールが停止している場合、または中リール及び右リールの双方が停止している場合においても、当選しているボーナスの組み合わせを構成する図柄が入賞ライン上に揃っている場合や、当選していない役が入賞してしまう可能性がある場合を除いて、内部当選状態に対応する停止制御テーブルが左リールの停止制御テーブルとして作成されるようになっている。
次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域は、重要ワーク、一般ワーク、特別ワーク、設定値ワーク1〜3、非保存ワーク、未使用領域、スタック領域に区分されている。
重要ワークは、各種表示器やLEDの表示用データ、I/Oポート41dの入出力データ、遊技時間の計時カウンタ等、ビッグボーナス終了時に初期化すると不都合があるデータが格納されるワークである。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、ビッグボーナス中のメダル払出総数等、ビッグボーナス終了時に初期化可能なデータが格納されるワークである。特別ワークは、演出制御基板90へコマンドを送信するためのデータ、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。設定値ワーク1は、内部抽選処理で抽選を行う際に用いる設定値が格納されるワークであり、設定開始前(設定変更モードへの移行前)の初期化において0が格納された後、1に補正され、設定終了時(設定変更モードへの終了時)に新たに設定された設定値が格納されることとなる。設定値ワーク2は、内部抽選処理で抽選を行う際に設定値ワーク1から読み出された設定値が、設定終了時に格納された設定値と一致するか否かを判定する際に用いる設定値が格納されるワークであり、設定終了時(設定変更モードへの終了時)に新たに設定された設定値が格納されることとなる。設定値ワーク3は、内部抽選処理で抽選を行う際に設定値ワーク1から読み出された設定値が、前のゲームの内部抽選処理で抽選を行う際に用いた設定値と一致するか否かを判定する際に用いる設定値、すなわち前のゲームの設定値が格納されるワークであり、設定終了時(設定変更モードへの終了時)に新たに設定された設定値が格納されるとともに、1ゲーム毎に内部抽選処理で抽選を行う際に設定値ワーク1から読み出された値に更新されることとなる。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にRAM41cのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。未使用領域は、RAM41cの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなる。スタック領域は、CPU41aのレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
本実施例においてメイン制御部41のCPU41aは、設定開始前(設定変更モードへの移行前)、ビッグボーナス終了時、起動時にRAM41cのデータが破壊されていないとき、1ゲーム終了時の4つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化を行う。
初期化1は、起動時において設定キースイッチ37がONの状態であり、設定変更モードへ移行する場合において、その前に行う初期化であり、初期化1では、RAM41cの格納領域のうち、使用中スタック領域を除く全ての領域(未使用領域及び未使用スタック領域を含む)が初期化される。初期化2は、ビッグボーナス終了時に行う初期化であり、初期化2では、RAM41cの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化3は、起動時において設定キースイッチ37がOFFの状態であり、かつRAM41cのデータが破壊されていない場合において行う初期化であり、初期化3では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、RAM41cの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
次に、メイン制御部41のCPU41aが演出制御基板90に対して送信するコマンドについて説明する。
本実施例では、メイン制御部41のCPU41aが演出制御基板90に対して、BETコマンド、内部当選コマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定開始コマンド、初期化コマンドを含む複数種類のコマンドを送信する。
BETコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、メダル投入時、1枚BETスイッチ5またはMAXBETスイッチ6が操作されて賭数が設定されたときに送信される。
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール2L、2C、2Rの回転が開始されたときに送信される。
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号等を特定可能なコマンドであり、各リールの停止制御が行われる毎に送信される。
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
遊技状態コマンドは、次ゲームの遊技状態(通常遊技状態であるか、ビッグボーナス中であるか、レギュラーボーナス中であるか、等)を特定可能なコマンドであり、ゲームの終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するときに送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ビッグボーナス終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除を示すコマンドであり、エラーが判定され、エラー状態に制御された時点で打止状態の発生を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
設定開始コマンドは、設定変更モードの開始を示すコマンドであり、設定開始時、すなわち設定変更モードに移行した時点で送信される。
初期化コマンドは、遊技状態が初期化された旨を示すコマンドであり、設定終了時、すなわち設定変更モードの終了時に送信される。
これら各コマンドは、後述する起動処理及びゲーム処理において生成され、RAM41cの特別ワークに設けられたコマンドキューに一時格納され、前述したタイマ割込処理(メイン)において送信される。
次に、メイン制御部41のCPU41aが演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。
サブ制御部91のCPU91aは、メイン制御部41のCPU41aが送信したコマンドを受信した際に、ROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55、演出用扉モータ56,57等の各種演出装置の制御を行う。
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLED55の点灯態様、演出用扉モータ56,57の駆動態様等、これら演出装置の制御パターンが登録されており、CPU91aは、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
尚、CPU91aは、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに取得したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、CPU91aは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっている。
本実施例では、演出パターンの一つとして、後述する振動演出パターン1及び振動演出パターン2が登録されており、CPU91aは内部当選コマンドを受信した際に、これら振動演出パターン1または振動演出パターン2を、演出テーブルに登録されている選択率に応じて、当該ゲームにおいて実行する演出パターンとして設定する。
また、リール回転開始コマンドまたはリール停止コマンドを受信してから計時を開始し、該計時を開始してから所定時間が経過した時点で促進報知の報知パターン1または報知パターン2のいずれかを所定の選択率(図23参照)に応じて、実行する報知パターンとして設定する。
また、制御パターンテーブルには、特定のコマンド(入賞の発生を示す入賞判定コマンド、払出開始コマンド、払出終了、ビッグボーナス終了を示す遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定開始コマンド、初期化コマンド等)を受信した際に参照される特定の制御パターンが格納されており、CPU91aは、これら特定のコマンドを受信した場合には、当該ゲームにおいて設定されている演出パターンに関わらず、当該コマンドに対応する特定の制御パターンを参照し、当該制御パターンに基づいて演出装置の制御を行う。
入賞の発生を示す入賞判定コマンドを受信した場合には、入賞の種類に応じた入賞時演出を実行するための入賞時演出パターンが制御パターンとして参照される。
払出開始コマンドを受信した場合には、払出効果音を出力するための払出パターンが制御パターンとして参照される。また、払出効果音の出力中に払出終了コマンドを受信すると、払出効果音の出力を停止する。尚、払出開始コマンドを受信した場合には、他のコマンドと異なり、実行中の演出を中止して受信したコマンドに対応する演出を実行するのではなく、実行中の演出は継続したまま、払出効果音の出力の出力が行われるようになっている。すなわち他の演出と払出に伴う演出が並行して実行されることとなる。
ビッグボーナス終了を示す遊技状態コマンドを受信した場合には、ビッグボーナスの終了を示すエンディング演出を実行するためのエンディングパターンが制御パターンとして参照される。
待機コマンドを受信した場合には、待機演出を実行するための待機パターンが制御パターンとして参照される。
打止状態の発生を示す打止コマンド受信した場合には、打止状態である旨を報知するための打止報知パターンが制御パターンとして参照される。また、打止状態の解除を示す打止コマンドを受信した場合には、前述した待機パターンが制御パターンとして参照される。すなわち打止状態が解除されると待機演出が実行されることとなる。
エラー状態の発生を示すエラーコマンド受信した場合には、エラー状態である旨及びその種類を報知するためのエラー報知パターンが制御パターンとして参照される。また、エラー状態の解除を示すエラーコマンドを受信した場合には、エラー発生時に実行していた制御パターンが参照される。すなわちエラー発生時の演出が最初から実行されることとなる。
設定開始コマンドを受信した場合には、設定変更中である旨を報知するための設定中報知パターンが参照される。また、初期化コマンドを受信した場合には、前述した待機パターンが制御パターンとして参照される。すなわち初期化コマンドを受信すると待機演出が実行されることとなる。
サブ制御部91のCPU91aは、定期的に実行するタイマ割込処理(サブ)を実行する毎に、RAM91cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM91cに格納する処理を行うようになっている。
そして、CPU91aは、その起動時においてRAM91cの全ての領域に格納されたデータに基づいてRAMパリティを計算し、RAMパリティが0であることを条件に、RAM91cに記憶されているデータに基づいて電断前の演出状態に復帰させるようになっている。具体的には、最後に実行していた制御パターンを参照し、当該制御パターンに基づく制御を実行する。これにより電断前に実行していた制御パターンに基づく演出が最初から実行されることとなる。
次に、本実施例におけるメイン制御部41のCPU41aが実行する各種制御内容を、図10〜図20に基づいて以下に説明する。
CPU41aは、リセット回路49からリセット信号が入力されると、図10のフローチャートに示す起動処理を行う。尚、リセット信号は、電源投入時及びメイン制御部41の動作が停滞した場合に出力される信号であるので、起動処理は、電源投入に伴うCPU41aの起動時及びCPU41aの不具合に伴う再起動時に行われる処理である。
起動処理では、まず、内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sa1)、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否か、すなわち電圧が安定しているか否かを判定し(Sa2)、電圧低下信号が入力されている場合には、電圧低下信号が入力されているか否かの判定以外は、いずれの処理も行わないループ処理に移行する。
Sa2のステップにおいて電圧低下信号が入力されていないと判定した場合には、Iレジスタ及びIYレジスタの値を初期化する(Sa3)とともに、打止スイッチ36の状態を取得し、CPU41aの特定のレジスタに打止機能の有効/無効を設定する(Sa4)。Iレジスタ及びIYレジスタの初期化により、Iレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、IYレジスタには、RAM41cの格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
次いで、RAM41cへのアクセスを許可し(Sa5)、設定キースイッチ37がONの状態か否かを判定する(Sa6)。Sa6のステップにおいて設定キースイッチ37がONの状態でなければ、RAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算し(Sa7)、RAMパリティが0か否かを判定する(Sa8)。正常に電断割込処理が行われていれば、RAMパリティが0になるはずであり、Sa8のステップにおいてRAMパリティが0でなければ、RAM41cに格納されているデータが正常ではないので、RAM異常を示すエラーコードをレジスタに設定し(Sa10)、図11に示すエラー処理に移行する。
また、Sa8のステップにおいてRAMパリティが0であれば、更に破壊診断用データが正常か否かを判定する(Sa9)。正常に電断割込処理が行われていれば、破壊診断用データが設定されているはずであり、Sa9のステップにおいて破壊診断用データが正常でない場合(破壊診断用データが電断時に格納される5A(H)以外の場合)にも、RAM41cのデータが正常ではないので、RAM異常を示すエラーコードをレジスタに設定し(Sa10)、図11に示すエラー処理に移行する。
エラー処理では、図11に示すように、現在の遊技補助表示器12の表示状態をスタックに退避し(Sb1)、レジスタに格納されているエラーコードを遊技補助表示器12に表示する(Sb2)。
次いで、レジスタに格納されているエラーコードを確認し、当該エラーコードがRAM異常エラーを示すエラーコードであるか否かを判定し(Sb3)、RAM異常エラーを示すエラーコードを示すエラーコードである場合には、RAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1を行った後(Sb4)、いずれの処理も行わないループ処理に移行する。
また、Sb3のステップにおいて、RAM異常以外を示すエラーコードではないと判定された場合には、リセット/設定スイッチ38の操作が検出されているか否かを判定し(Sb5)、リセット/設定スイッチ38の操作が検出されていなければ、更にリセットスイッチ23の操作が検出されているか否かを判定し(Sb6)、リセットスイッチ23の操作も検出されていなければ、Sb4のステップに戻る。すなわちリセット/設定スイッチ38またはリセットスイッチ23の操作が検出されるまで、遊技の進行が不能な状態で待機する。
そして、Sb5のステップにおいてリセット/設定スイッチ38の操作が検出された場合、またはSb6のステップにおいてリセットスイッチ23の操作が検出された場合には、レジスタに格納されているエラーコードをクリアし(Sb7)、遊技補助表示器12の表示状態をSb1のステップにおいてスタックに退避した表示状態に復帰させて(Sb8)、もとの処理に戻る。
このようにエラー処理においては、RAM異常エラー以外によるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されることで、エラー状態を解除してもとの処理に復帰するが、RAM異常エラーによるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されてもエラー状態が解除されることはない。
図10に戻り、Sa9のステップにおいて破壊診断用データが正常であると判定した場合には、RAM41cのデータは正常であるので、RAM41cの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化3を行った後(Sa11)、破壊診断用データをクリアする(Sa12)。次いで、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し(Sa13)、割込を許可して(Sa14)、電断前の最後に実行していた処理に戻る。
また、Sa6のステップにおいて設定キースイッチ37がONの状態であれば、RAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1を実行した後(Sa15)、設定値ワークに格納されている値(この時点では0)を1に補正する(Sa16)。次いで、割込を許可して(Sa17)、図12に示す設定変更処理、すなわち設定変更モードに移行し(Sa18)、設定変更処理の終了後、ゲーム処理に移行する。
設定変更処理では、図12に示すように、RAM41cの設定値ワーク1に格納されている設定値(設定変更処理に移行する前に設定値ワーク1の値は1に補正されているので、ここでは1である)を読み出す(Sc1)。
その後、リセット/設定スイッチ38とスタートスイッチ7の操作の検出待ちの状態となり(Sc2、Sc3)、Sc2のステップにおいてリセット/設定スイッチ38の操作が検出されると、Sc1のステップにおいて読み出した設定値に1を加算し(Sc4)、加算後の設定値が7であるか否か、すなわち設定可能な範囲を超えたか否かを判定し(Sc5)、加算後の設定値が7でなければ、再びSc2、Sc3のステップにおけるリセット/設定スイッチ38とスタートスイッチ7の操作の検出待ちの状態に戻り、Sc5のステップにおいて加算後の設定値が7であれば設定値を1に補正した後(Sc6)、再びSc2、Sc3のステップにおけるリセット/設定スイッチ38とスタートスイッチ7の操作の検出待ちの状態に戻る。
また、Sc3のステップにおいてスタートスイッチ7の操作が検出されると、その時点で選択されている変更後の設定値をRAM41cの設定値ワーク1〜3の全てに格納して、設定値を確定した後(Sc7)、設定キースイッチ37がOFFの状態となるまで待機する(Sc8)。そして、Sc8のステップにおいて設定キースイッチ37のOFFが判定されると、図10のフローチャートに復帰し、ゲーム処理に移行することとなる。
このように起動処理においては、設定キースイッチ37がONの状態ではない場合に、RAMパリティが0であるか否か、破壊診断用データが正常であるか否かを判定することでRAM41cに記憶されているデータが正常か否かを判定し、RAM41cのデータが正常でなければ、異常エラー処理に移行する。RAM異常エラーによるエラー処理では、RAM異常エラーを示すエラーコードを遊技補助表示器12に表示させた後、いずれの処理も行わないループ処理に移行するので、ゲームの進行が不能化される。そして、RAM41cのデータが正常でなければ、割込が許可されることがないので、一度RAM異常エラーによるエラー処理に移行すると、設定キースイッチ37がONの状態で起動し、割込が許可されるまでは、電断しても電断割込処理は行われない。すなわち電断割込処理において新たにRAMパリティが0となるようにRAM調整用データが計算されて格納されることはなく、破壊診断用データが新たに設定されることもないので、CPU41aが再起動しても設定キースイッチ37がONの状態で起動した場合を除き、CPU41aを再起動させてもゲームを再開させることができないようになっている。
そして、RAM異常エラーによるエラー処理に一度移行すると、設定キースイッチ37がONの状態で起動し、RAM41cの使用中スタック領域を除く全ての領域が初期化された後、設定変更処理が行われ、リセット/設定スイッチ38の操作により新たに設定値が選択・設定されるまで、ゲームの進行が不能な状態となる。すなわちRAM異常エラーによるエラー処理に移行した状態では、リセット/設定スイッチ38の操作により新たに設定値が選択・設定されたことを条件に、ゲームの進行が不能な状態が解除され、ゲームを再開させることが可能となる。
図13は、CPU41aが実行するゲーム処理の制御内容を示すフローチャートである。
ゲーム処理では、BET処理(Sd1)、内部抽選処理(Sd2)、リール回転処理(Sd3)、入賞判定処理(Sd4)、払出処理(Sd5)、ゲーム終了時処理(Sd6)を順に実行し、ゲーム終了時処理が終了すると、再びBET処理に戻る。
Sd1のステップにおけるBET処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点で賭数を確定する処理を実行する。
Sd2のステップにおける内部抽選処理では、Sd1のステップにおけるスタートスイッチ7の検出によるゲームスタートと同時に内部抽選用の乱数を抽出し、抽出した乱数の値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、RAM41cに当選フラグが設定される。
Sd3のステップにおけるリール回転処理では、各リール2L、2C、2Rを回転させる処理、遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
Sd4のステップにおける入賞判定処理では、Sd3のステップにおいて全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
Sd5のステップにおける払出処理では、Sd4のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
Sd6のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
図14は、CPU41aがSd2のステップにおいて実行する内部抽選処理の制御内容を示すフローチャートである。
内部抽選処理では、乱数取得処理を行う(Se1)。この乱数取得処理においては、乱数発生回路42が発生する乱数に基づいて、内部抽選用の乱数の値が取得されることとなる。
乱数取得処理では、図15に示すように、まず、割込を禁止する(Se21)。次に、サンプリング回路43にサンプリング指令を出力し、乱数発生回路42が発生している乱数をラッチさせ、ラッチさせた乱数の値をI/Oポート41dから入力して、これを抽出する。乱数発生回路42から抽出された乱数の値は、汎用レジスタ41Gに格納される(Se22)。
次に、汎用レジスタ41Gに格納された乱数の下位バイトの値と上位バイトの値を、円算用レジスタを用いて互いに入れ替える(Se23)。次に、汎用レジスタ41Gに格納された乱数の値を8080hと論理和演算する(Se24)。更に上位バイト(第15〜第8ビット)を1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。このときに汎用レジスタ41Gに格納された値が内部抽選用の乱数として取得される(Se25)。そして、Se21のステップで禁止した割込を許可してから(Se26)、乱数取得処理を終了して、図14のフローチャートに復帰する。
図14に戻り、Se1のステップにおける乱数取得処理の後、RAM41cの設定値ワーク1〜3に格納されている設定値をそれぞれを読み出し、抽選に用いる設定値、すなわち設定値ワーク1に格納されている設定値が適正か否かを判定する設定値判定処理を行う。
尚、設定値判定処理では、今回のゲームの内部抽選に用いる設定値が、適正な範囲の値であるか否か、今回のゲームの内部抽選に用いる設定値と前回の設定変更時に設定された設定値とが一致するか否か、今回のゲームの内部抽選に用いる設定値と前回のゲームの内部抽選に用いた設定値とが一致するか否か、をそれぞれ判定することにより、今回のゲームの内部抽選に用いる設定値が適正な値であるか否かを判定し、少なくともいずれか1つの判定において設定値が適正な値ではないと判定された場合には、前述したRAM異常エラーを示すレジスタに格納してエラー処理に移行し、起動時にRAM41cのデータが正常ではないと判定された場合と同様に、RAM異常エラーによるエラー状態となり、ゲームの進行が不能化されるようになっている。
図14に戻り、Se2のステップにおける設定値判定処理において設定値が適正であれば、設定値ワーク3に格納されている値、すなわち前回のゲームにおいて抽選に用いた設定値を、設定値1に格納されている値、すなわち今回のゲームにおいて抽選に用いる設定値に更新する(Se3)。
次いで、現在の遊技状態に対応して、図4(a)の遊技状態別役テーブルに内部抽選の対象として登録されている役を順番に読み出す(Se4)。ここで読み出した役の種類がレギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)であるかどうかを判定する(Se5)。Se5のステップにおいて読み出した役の種類がレギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)である場合には、前回以前のゲームでRAM41cに読み出した役の種類がレギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)の当選フラグが既に設定され、当該当選フラグに基づいて入賞することなく持ち越されているかどうかを判定する(Se6)。読み出した役の種類が読み出した役の種類がレギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)でもなければ、そのままSe7のステップに進む。
Se6のステップにおいてレギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)の当選フラグが既に設定されていれば、Se4のステップに戻り、更に遊技状態別役テーブルに次に登録されている役を読み出すものとなる(レギュラーボーナス、ビッグボーナス(1)、ビッグボーナス(2)は、遊技状態別役テーブルにおいて最初に登録されており、これで抽選処理が終了となることはないので)。読み出した役の種類がレギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)であっても、レギュラーボーナス、ビッグボーナス(1)またはビッグボーナス(2)のいずれの当選フラグも設定されていなければ、Se7のステップに進む。
Se7のステップでは、更にSd1のステップで設定されたBET数(賭数)を読み出し、Se4のステップにおいて読み出した役とBET数に対応する役について、図4(b)の役別テーブルに共通フラグの設定状況を取得する。この結果、読み出した役、BET数について共通フラグが設定されているかどうかを判定する(Se8)。
共通フラグが設定されていれば、読み出した役、BET数について図4(b)の役別テーブルに登録されているアドレスに格納されている判定値数を取得する(Se9)。そして、Se11のステップに進む。共通フラグが設定されていなければ、読み出した役、BET数について設定値に対応して役別テーブルに登録されているアドレスに格納されている判定値数を取得する(Se10)。そして、Se11のステップに進む。
Se11のステップでは、Se9またはSe10のステップにおいて取得した判定値数を内部抽選用の乱数の値に加算し、加算の結果を新たな内部抽選用の乱数の値とする。ここで、判定値数を内部抽選用の乱数の値に加算したときにオーバーフローが生じたかどうかを判定する(Se12)。Se12のステップにおいてオーバーフローが生じた場合には、当該役の当選フラグをRAM41cに設定する(Se13)。そして、内部抽選処理を終了して、図13のフローチャートに復帰する。
Se12のステップにおいてオーバーフローが生じていない場合には、当該ゲームの遊技状態について内部抽選の対象として定められた役のうちで未だ処理対象としていない役があるかどうかを判定する(Se14)。未だ処理対象としていない役があれば、Se4の処理に戻り、遊技状態別役テーブルに登録されている次の役を処理対象として処理を継続する。処理対象としていない役がなければ、内部抽選処理を終了して、図13のフローチャートに復帰する。
図16は、CPU41aがSd3のステップにおいて実行するリール回転処理の制御内容を示すフローチャートである。
リール回転処理では、まず、前のゲームのリール回転開始時点からウェイトタイム(本実施例では、約4.1秒)が経過したか否かを判定し(Sf1)、ウェイトタイムが経過していなければ、ウェイトタイムが経過するまで待機する。
そして、Sf1のステップにおいてウェイトタイムが経過していれば、ウェイトタイムを新たに設定する(Sf2)。
次いで、リールモータの回転開始時の設定を行い、リールの回転を開始させる(Sf3)。そして、テーブルインデックスを参照して、テーブル作成用データを特定し、特定したテーブル作成用データに基づいて、当該ゲームの遊技状態、役の当選状況、他のリールの停止状況に対応する停止制御テーブルを、回転中のリール別に作成し(Sf4)、停止準備完了時の設定を行う(Sf5)。これにより、停止操作を有効化させることが可能な状態となり、その後、後述するタイマ割込処理(メイン)の原点通過時処理において、リールの定速回転が検出された時点で、停止操作が有効となる。
次いで、ストップスイッチ8L、8C、8Rのいずれかのストップスイッチの操作が検出されたか否かを判定し(Sf6)、いずれのストップスイッチの操作も検出されていなければ、リール回転エラー(一定期間以上、リールセンサ33によりリール基準位置が検出されない場合に判定されるエラー)が発生したか否かを判定し(Sf7)、リール回転エラーが発生していなければ、更に、投入エラー(メダルの投入が許可されている期間以外で、メダルの投入が検出した場合に判定されるエラー)が発生したか否か、及び払出エラー(メダルの払出が許可されている期間以外で、メダルの払出が検出した場合に判定されるエラー)が発生したか否かを判定し(Sf8、Sf9)、Sf7〜Sf9のステップにおいていずれのエラーの発生も判定されなければ、Sf6のステップに戻る。
また、Sf8のステップにおいて投入エラーの発生が判定された場合、またはSf9のステップにおいて払出エラーが判定された場合には、リール回転中の投入・払出エラーを示すエラーコードをレジスタに設定し(Sf10)、図11に示すエラー処理に移行する(Sf11)。そして、エラーが解除された場合には、再びSf6のステップに戻る。
また、Sf7のステップにおいてリール回転エラーの発生が判定された場合には、リール回転エラーを示すエラーコードをレジスタに設定し(Sf12)、図11に示すエラー処理に移行する(Sf13)。これに伴い、リールの回転も一時的に停止する。そして、エラーが解除された場合には、再びSf3のステップに戻り、リールの回転が再開する。
また、Sf6のステップにおいていずれかのストップスイッチの操作が検出された場合には、ストップスイッチに対応するリールモータにおける、その時点のリール基準位置からのステップ数(停止操作位置となるステップ数)を取得し、停止リールに対応するワークに設定した後(Sf14)、停止操作に対応するリールの回転が停止するまで待機する(Sf15)。
そして、停止操作に対応するリールの回転が停止すると、当該リールに対応するストップスイッチの操作の検出を無効化した後、全てのリールが停止したか否かを判定し(Sf16)、全てのリールが停止していなければ、Sf4のステップに戻り、全てのリールが停止していれば、リール回転処理を終了して、図13のフローチャートに復帰する。
以上のようにリール回転処理では、リール2L、2C、2Rの回転が開始した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
図17及び図18は、CPU41aが割込3の発生に応じて、すなわち0.56msの間隔で起動処理やゲーム処理に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。
タイマ割込処理(メイン)においては、まず、割込を禁止する(Sg1)。すなわち、タイマ割込処理(メイン)の実行中に他の割込処理が実行されることを禁止する。そして、使用中のレジスタをスタック領域に退避する(Sg2)。
次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sg3)。Sg3のステップでは、分岐用カウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち分岐用カウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。
次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sg4)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32L、32C、32Rの始動時または定速回転中か否かを確認し、リールモータ32L、32C、32Rの始動時または定速回転中であれば、後述するSg8のモータステップ処理において変更した位相信号データや後述するSg23の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する(Sg5)。
次いで、分起用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sg6)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sg7)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sg8)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sg9)を順次実行した後、Sg2においてスタック領域に退避したレジスタを復帰し(Sg20)、Sg1のステップにおいて禁止した割込を許可して(Sg21)、割込前の処理に戻る。
また、Sg6のステップにおいてタイマ割込2の場合には、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sg10)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sg11)、各種ソフトウェア乱数を更新する乱数更新処理(Sg12)、各種時間カウンタを更新する時間カウンタ更新処理(Sg13)、コマンドキューに格納されたコマンドを演出制御基板90に対して送信するコマンド送信処理(Sg14)、外部出力信号を更新する外部出力信号更新処理(Sg15)を順次実行した後、Sg2においてスタック領域に退避したレジスタを復帰し(Sg20)、Sg1のステップにおいて禁止した割込を許可して(Sg21)、割込前の処理に戻る。
また、Sg4のステップにおいてタイマ割込3またはタイマ割込4であれば、更に、分起用カウンタ値を参照して3か否か、すなわちタイマ割込4か否かを判定し(Sg16)、タイマ割込4でなければ、すなわちタイマ割込3であれば、入力ポートから各種スイッチ類の検出データを入力するポート入力処理(Sg17)、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているかを確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する処理を行う原点通過時処理(Sg18)、各種スイッチ類の検出信号に基づいてこれら各種スイッチが検出条件を満たしているか否かを判定するスイッチ入力判定処理(Sg19)を順次実行した後、Sg2においてスタック領域に退避したレジスタを復帰し(Sg20)、Sg1のステップにおいて禁止した割込を許可して(Sg21)、割込前の処理に戻る。
また、Sg16のステップにおいてタイマ割込4であれば、ストップスイッチ8L、8C、8Rの検出が判定されたときに、停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理(Sg22)、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sg23)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sg24)を順次実行した後、Sg2においてスタック領域に退避したレジスタを復帰し(Sg20)、Sg1のステップにおいて禁止した割込を許可して(Sg21)、割込前の処理に戻る。
図19は、CPU41aが前述したタイマ割込処理(メイン)のタイマ割込4内において実行する停止スイッチ処理の制御内容を示すフローチャートである。
停止スイッチ処理では、まず、左、中、右の順番で全てのリールについて、停止操作が検出されたか否かを判定し(Sh1、Sh2)、全てのリールについて停止操作が検出されていなければ、停止スイッチ処理を終了し、図18のフローチャートに復帰する。
また、Sh1のステップにおいて、いずれかのリールの停止操作が検出されている場合には、当該リールに対応する停止制御テーブルを参照し、停止リールに対応するワークに設定されている停止操作位置のステップ数を含む領域番号から、停止位置となる領域番号を特定し(Sh3)、現在のリール基準位置からのステップ数から、Sh3のステップにおいて特定した停止位置までに要するステップ数を算出し、算出したステップ数を設定した後(Sh4)、停止スイッチ処理を終了し、図18のフローチャートに復帰する。
図20は、CPU41aが割込2の発生に応じて、すなわち電断検出回路48からの電圧低下信号が入力されたときに起動処理やゲーム処理に割り込んで実行する電断割込処理の制御内容を示すフローチャートである。
電断割込処理においては、まず、割込を禁止する(Si1)。すなわち電断割込処理の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する(Si2)。尚、前述したIレジスタ及びIYレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
次いで、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否かを判定する(Si3)。この際、電圧低下信号が入力されていなければ、Si2においてスタック領域に退避したレジスタを復帰し(Si4)、Si1のステップにおいて禁止した割込を許可して(Si5)、割込前の処理に戻る。
また、Si3のステップにおいて電圧低下信号が入力されていれば、破壊診断用データ(本実施例では、5A(H))をセットして(Si6)、全ての出力ポートを初期化する(Si7)。次いでRAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし(Si8)、RAM41cへのアクセスを禁止する(Si9)。
そして、電圧低下信号が入力されているか否かの判定(Si10、尚、Si10は、Si3と同様の処理である)を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にCPU41aは動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理が実行され、RAMパリティが0となり、かつ破壊診断用データが正常であれば、元の処理に復帰することとなる。
尚、本実施例では、RAM41cへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理へ移行するようになっているが、ループ処理において何らの処理も行わず、ループ処理が行われている間に、電圧が回復し、リセット回路49からリセット信号が入力されたことに基づいて、起動処理へ移行するようにしても良い。
次に、演出制御基板90に搭載されたサブ制御部91のCPU91aが実行する振動演出処理について、図21に基づいて説明する。
サブ制御部91のCPU91aは、前述したように、遊技制御基板40から送信される各種コマンドに基づいて、遊技状態に応じた各種の演出処理を実行する。具体的には、各種の遊技状態に応じて、発光手段としての演出効果LED52やリールLED55等の発光制御、音出力手段としてのスピーカ53、54から出力させる効果音等の出力制御、演出用扉60を駆動する演出用扉モータ57,58の駆動制御等を行う。
また、本実施例においては、各種演出や後述する促進報知の実行時等において、液晶表示器51の表示領域に所定の表示画面を表示したり、表示中の表示画面を切替またはクリアする旨を示す表示コマンドを表示制御基板190に送信する処理を行うようになっており、表示制御部191のCPU191aは、演出制御基板90から送信される各表示コマンドに基づいて、液晶表示器51の表示制御を行う。
ここで、CPU91aが行う演出処理の一例である振動演出処理について説明する。本実施例におけるCPU91aは、遊技制御基板40から送信された内部当選コマンドを取得したときに、当該ゲームにおいて実行する演出パターンとして振動演出パターン1が設定されている場合、または遊技制御基板40から送信されたリール停止コマンドを取得したときに、当該ゲームにおいて実行する演出パターンとして振動演出パターン2が設定されている場合において、サブ制御部91に設けられた演出用カウンタ(図示略)のカウンタ値として駆動停止時間(本実施例では60秒)に相当する値をセットしてカウンタ値の減算(計時)を開始する。また、演出用扉モータ57,58を駆動して演出用扉60を振動させる制御及びスピーカ53、54から振動音を出力させる制御を行うとともに、液晶表示器51の表示画面に表示されている画像の振動表示を開始させる旨を示す振動表示開始コマンドを表示制御基板190に送信する処理を行う。尚、表示制御基板190の表示制御部191は、受信した振動表示開始コマンドから特定される振動演出パターンに基づく振動表示画面を液晶表示器51に表示する制御を行う。
また、振動演出パターン1または振動演出パターン2に基づく振動演出の実行中に、遊技制御基板40から送信されたリール停止コマンドを取得した場合において、全てのリール2L、2C、2Rの回転が停止されたとき、すなわち全てのリールに対応する停止コマンドを取得したとき(第3リールの停止操作がなされたとき)に、演出用扉モータ57,58の駆動を停止して、演出用扉60の振動を停止させる制御及びスピーカ53、54からの振動音の出力を停止させる制御を行うとともに、液晶表示器51の表示画面に表示されている画像の振動表示を終了させた後、内部抽選により当選した当選フラグに対応する入賞役を表示(報知)させる旨を示す振動表示終了コマンド1を表示制御基板190に送信し、演出用カウンタのカウンタ値をクリアする処理を行う。尚、表示制御基板190の表示制御部191は、受信した振動表示終了コマンド1に基づいて、振動表示を終了した後、内部抽選により当選した当選フラグに対応する入賞役を示す画像(本実施例では図柄)を表示させる。
また、振動演出パターン1または振動演出パターン2に基づく振動演出の実行中に、前記演出用カウンタの減算(計時)を開始してからカウンタ値が0となったとき、すなわち演出用扉モータ57,58の駆動を開始してから、全てのリール2L、2C、2Rの回転が停止されることなく、前記駆動停止時間である60秒が経過したときに、演出用扉モータ57,58の駆動を強制的に停止して、演出用扉60の振動を停止させる制御及びスピーカ53、54からの振動音の出力を停止させる制御を行うとともに、液晶表示器51の表示画面に表示されている画像の振動表示を終了して停止表示させる旨を示す振動表示終了コマンド2を表示制御基板190に送信する処理を行う。尚、表示制御基板190の表示制御部191は、受信した振動表示終了コマンド2に基いて、振動表示を終了して停止表示させる。
このように、本実施例では、ゲームが開始されたことを契機に、液晶表示器51の表示画面に表示した画像及び左右の演出用扉60を振動させるとともに、スピーカ53,54から振動音を出音する振動演出パターン1と、第1リールの停止操作がなされたことを契機に、液晶表示器51の表示画面に表示した画像及び左右の演出用扉60を振動させるとともに、スピーカ53,54から振動音を出音する振動演出パターン2と、が振動演出パターンとして登録されている。つまり、これら振動演出パターン1,2は、開始契機が異なるだけで、演出態様(振動パターン、表示画像、振動音等)は同一とされている。
また、振動演出パターン1及び振動演出パターン2に基づく振動演出は、振動開始から60秒が経過するまでに第3リールの停止操作がなされたときには、画像及び演出用扉60の振動を停止して表示画面に内部抽選結果を表示して終了するとともに(図21(c)参照)、振動開始からリールの停止操作が行われないまま60秒が経過したときには、画像及び演出用扉60の振動を停止して表示画面に内部抽選結果を表示しないで終了する(図21(e)参照)。
また、本実施例における演出用扉60の振動は、ステッピングモータからなる演出用扉モータ57,58の駆動軸(図示略)を、所定のステップ数の範囲内において正逆回転させて演出用扉60を左右方向に往復移動させることで行われるようになっている。具体的には、図21(b)中実線で示される位置が演出用扉60の停止基準位置であり、該停止基準位置よりも内側の2点鎖線で示される位置が最大変移位置となっており、これら停止基準位置と最大変移位置との間で往復移動することで、演出用扉60を振動させている。
また、サブ制御部91のCPU91aは、振動演出パターン1及び振動演出パターン2に基づく振動演出を開始してから停止するまでの間、演出用扉60の振動、すなわち演出用扉モータ56,57の正逆駆動(振動)を連続的に行っている。つまり、演出用扉60の振動を開始してから停止するまでの間、演出用扉モータ56,57の駆動制御を継続的に行っている。
尚、本実施例では、演出用扉60を左右方向に往復移動させることで振動させるようになっているが、演出用扉モータ57,58とは別個の駆動モータ等により、左右方向の往復移動に加えて上下方向の往復移動を行わせ、上下・左右方向に振動させるようにしてもよい。また、特に図示はしないが、演出用扉60の駆動機構としてはラックギヤとピニオンギヤとが用いられているが、演出用扉60を移動(振動)可能な機構であれば種々の駆動機構を適用可能である。さらに、駆動手段としてモータを適用しているが、可動部材を可動自在とするものであれば、例えば電磁ソレノイド等を適用してもよい。
ここで、上記振動演出の態様を、図21に基づいて簡単に説明する。まず、通常時において、液晶表示器51の表示画面には通常画面(3機の飛行機が表示)が表示されているとともに(図21(a)参照)、左右の演出用扉60は、それぞれ液晶表示器51の表示領域の左右側方の停止基準位置に停止している。この通常状態でスタートスイッチ7が操作されてゲームが開始された場合において、当該ゲームにおける演出パターンとして振動演出パターン1が選択された場合には、リール2L、2C、2Rの回転が開始されたとき、また、振動演出パターン2が選択された場合には、全てのリール2L、2C、2Rの回転が開始された状態で、いずれか1つのリールに対応する停止操作が有効に検出されたとき、すなわち第1リールの停止操作が有効に検出されたときに、スピーカ53、54から振動音が出力され、液晶表示器51の表示画面に「!?」のマーク(画像)が表示され、これが左右に振動する表示が開始されるとともに、左右の演出用扉60が、それぞれ左右方向に所定の振幅にて反復移動を繰り返す振動が開始される(図21(b)参照)。
次いで、演出用扉モータ57,58の駆動を開始してから、前記駆動停止時間である60秒が経過する前に、全てのリール2L、2C、2Rの回転が停止された場合、すなわち第3リールの停止操作が有効に検出された場合には、スピーカ53、54からの振動音の出力が終了するとともに、液晶表示器51の表示画面に表示されているマークの振動表示が終了し、内部抽選により当選した当選フラグに対応する入賞役を示す画像(本実施例では図柄)に切り替わり、さらに演出用扉60が左右の停止基準位置に位置するまで駆動を継続した後、該停止基準位置に位置したときに演出用扉モータ57,58の駆動が停止して、演出用扉60の振動が停止される。つまりこの場合、予告演出としての振動演出は途中で中断されることなく、最終結果(内部抽選結果)の報知を行って終了する。
また、演出用扉モータ57,58の駆動を開始してから、全てのリール2L、2C、2Rの回転が停止されることなく、すなわち第3リールの停止操作が有効に検出されることなく前記駆動停止時間である60秒が経過した場合には、スピーカ53、54からの振動音の出力が終了するとともに、液晶表示器51の表示画面に表示されているマークの振動表示が終了して停止表示され、さらに演出用扉60が左右の停止基準位置に位置するまで駆動を継続した後、該停止基準位置に位置したときに演出用扉モータ57,58の駆動が停止して、演出用扉60の振動が停止される。つまりこの場合、予告演出としての振動演出は最終結果(内部抽選結果)の報知が行われる前の途中段階で中断して強制的に終了する。
このように本実施例における振動演出は、スピーカ53,54からの振動音の出力と、液晶表示器51によるマーク(画像)の表示と、演出用扉60の振動(駆動)と、により行われるものであり、これらはゲームの開始とほぼ同時または第1リールの停止操作が有効に検出されたときに開始される。そして、該振動演出を開始してから60秒が経過するまでの間に全てのリール2L、2C、2Rの回転を停止する停止操作がなされた場合、すなわちゲームが滞りなく進行された場合には、演出が途中で中断されることなく終了する。また、振動演出を開始してから、つまり演出用扉モータ57,58の駆動を開始してから全てのリール2L、2C、2Rの回転を停止する停止操作が有効に検出されることなく60秒が経過した場合、すなわちゲームの進行が中断された状態が60秒継続した場合には、ゲームの進行が中断されているものとして、演出が途中段階で強制的に終了する。
一般的に、遊技者が賭数を設定してスタートスイッチ7を操作したことに基づいて、全てのリール2L、2C、2Rの回転が開始、すなわちゲームが開始されてから、ストップスイッチ8L、8C、8Rの停止操作を行って全てのリール2L、2C、2Rの回転が停止して、可変表示部に表示結果が導出される(1ゲームが終了する)までに要する時間は、長くても約20秒ぐらいである。従って、上述のように振動演出を開始してから60秒が経過してもゲームが終了していない場合は、例えば遊技者がゲーム中に下皿から箱にメダルを移し変える作業を行う、あるいは離席するなどの要因により、ゲームの進行が長時間にわたり中断していると考えられる。このようにゲームの進行が長時間にわたり中断すると、スロットマシン1の稼働率が低下してしまうばかりか、特に振動演出が実行されている場合には、演出用扉モータ57,58の駆動が継続的に行われたままとなるので負荷がかかるばかりか、無駄な電力を消費する。さらに、演出用扉60の駆動が継続的に行われることで、演出用扉60自体を含む駆動機構の部材の劣化が早まる虞がある。さらには、画像の振動表示や振動音の出力等も行っていることから、周囲の遊技者が不快になる虞があるため、振動演出中であっても強制的に終了するものである。
次に、演出制御基板90に搭載されたサブ制御部91のCPU91aが実行する促進報知処理について、図22及び図23に基づいて説明する。
CPU91aは、各リール2L、2C、2Rの回転が開始してから、ストップスイッチ8L、8C、8Rが有効に操作されない状態が所定時間継続すると、図22(a)、(b)に示されるように、液晶表示器51の表示画面上に、各リール2L、2C、2Rの停止操作を促す促進報知として、「リールを停止して下さい」という文字メッセージを表示させる制御を行う。
本実施例における促進報知の報知パターン(報知態様)としては、例えば所定の演出画像が表示されている液晶表示器51の表示画面の下部領域に、白色の背景枠内に前記メッセージが黒文字にて表示される報知パターン1(図22(a)参照)と、黒色の背景枠内に前記メッセージが白文字にて表示される報知パターン2(図22(b)参照)と、の2種類の報知パターンが、当該ゲームにおける特別役(ビッグボーナス(1)、(2)フラグ、レギュラーボーナスフラグ)の当選状況に応じて、各ゲーム毎に行われる報知パターン抽選により設定されるようになっている。
前記報知パターン抽選は、遊技制御基板40から送信される内部当選コマンドを取得したときに行われ、該報知パターン抽選にて当選した報知パターンは、当該ゲームにおいて促進報知を実行する際に適用する報知パターンとして設定される。尚、本実施例においては、当該ゲームがボーナス中のゲームである場合には、前記報知パターン抽選を行わずに報知パターン1を設定するようになっている。
これら各報知パターンの当選確率は、図23の報知パターン振分テーブルに示すように、ボーナスフラグの内部当選状況に応じて異なっており、報知パターン1は、ボーナスフラグの当選時、すなわち前述した内部抽選によりビッグボーナス(1)、(2)、レギュラーボーナスの内部当選フラグが設定されている状態において50%の確率で当選するとともに、ボーナスフラグの非当選時において95%の確率で当選する。また、報知パターン2は、ボーナス当選時において50%の確率で当選するとともに、ボーナス非当選時において5%の確率で当選するようになっている。
つまり、本実施例においては、態様が異なる2種類の報知パターン1、2が予め登録されており、ボーナス当選時においては、ボーナス非当選時(5%)よりも高い確率(50%)で報知パターン2が選択されるようになっているため、促進報知が実行された際には、報知パターン1に基づく報知画面が表示されたときよりも、報知パターン2に基づく報知画面が表示されたときの方が、遊技者はビッグボーナス(1)、(2)、レギュラーボーナスの内部当選フラグのいずれかが内部当選していることを期待できることになる。
また、CPU91aは、スタートスイッチ7が検出されてゲームが開始したとき、つまり、リール2L、2C、2Rの回転が開始されたときから第1の報知待ち時間(予め定めた報知待ち時間)である60秒が経過するまでの間に、いずれのストップスイッチ8L、8C、8Rの有効な操作が検出されなかったときに、前述した促進報知を実行する。本実施例においては、遊技制御基板40から送信されたリール回転開始コマンドを取得したときに、サブ制御部91に前記演出用カウンタとは別個に設けられた報知用カウンタ(図示略)のカウンタ値として第1の値(本実施例では60秒)をセットしてカウンタ値の減算(計時)を開始し、カウンタ値が0となった時点で、セットされている報知パターンを特定可能な表示開始コマンドを表示制御基板190に対して表示制御部191に対して送信する。表示制御部191は、受信した表示開始コマンドから特定される報知パターンに基づく報知画面を液晶表示器51に表示する制御を行う。
また、前記タイマカウントの減算を開始してからカウンタ値が0になるまでに遊技制御基板40から停止コマンドを取得したときには、有効な停止操作が検出されたものとして、報知用カウンタのカウンタ値をクリアし、促進報知が行われていた場合には、報知パターンに基づく報知画面の表示をクリア(終了)させる旨を示す表示終了コマンドを表示制御基板190に対して送信する。表示制御部191は、受信した表示終了コマンドから特定される表示終了の指示に基づき、表示中の報知画面をクリア(終了)する制御を行い、これにより促進報知が終了する。
尚、停止コマンドを取得した時点で全てのリール2L、2C、2Rの回転が停止していれば、当該ゲームが終了するが、停止コマンドの取得後においてもいずれかのリール2L、2C、2Rが回転中である場合には、最後の有効な停止操作が検出されたとき、つまり最後に停止コマンドを取得した時点から、再度報知待ち時間の計測を開始する。
具体的には、最後に停止コマンドを取得した時点において、当該ゲームにおいて未だ促進報知が実行されていない場合には、報知用カウンタのカウンタ値として第1の値(本実施例では60秒)をセットする。また、当該ゲームにおいて既に促進報知が1回以上実行されている場合には、報知用カウンタのカウンタ値として、前記第1の値よりも小さい第2の値(本実施例では30秒)をセットし、報知用カウンタのカウンタ値の減算を開始する。
ここで、最後に停止コマンドを取得した時点において、当該ゲームにおいて既に促進報知が1回以上実行されている場合に、報知用カウンタのカウンタ値として前記第1の値よりも小さい第2の値(本実施例では30秒)をセットするのは、当該ゲームにおいて1回以上促進報知が実行されているにも関わらず、当該ゲームにおいて再度ストップスイッチ8L、8C、8Rによる有効な停止操作が行われない状態が続いたときには、促進報知を最初よりも早めに実行することで、稼働率の低下を回避するためである。
また、CPU91aは、報知用カウンタにおけるカウンタ値の減算後、カウンタ値が0となった時点で、その時にセットされている報知パターンを特定可能な表示開始コマンドを表示制御基板190に対して送信して促進報知を開始するが、例えばカウンタ値が0となったときに、報知パターン1よりもボーナスフラグの内部当選に対する期待度が高い報知パターン2がセットされている場合において、その時点で停止しているリール2L、2C、2Rに対応する可変表示部に表示されている表示結果が、完全ハズレ目、すなわち内部抽選処理においていずれの内部当選フラグも設定されていないときに表示されうる表示結果であるときには、報知パターン1を特定可能な表示開始コマンドを表示制御基板190に対して送信するようになっており、これにより、その時点で導出されている表示結果が明らかに完全ハズレ目であるにも関わらず、ボーナスに対する期待度の高い報知パターン2に基づく報知画面を表示しても、遊技者のボーナスに対する期待度を高めることはできないため、無意味な報知の実行を回避できる。
なお、本実施例においては、前記振動停止時間や報知待ち時間の計測をカウンタ値の減算にて行っているが、カウンタ値の加算により計測するようにしてもよく、特に報知待ち時間の場合、カウンタ値が第1の値に到達したとき、または前記第1の値よりも小さい第2の値に到達したときに、表示制御基板190に対して表示開始コマンドを送信するようにすればよい。
また、CPU91aは、報知用カウンタにおけるカウンタ値の減算後、カウンタ値が0となった時点で、そのゲームがボーナス中のゲームであるか否かを判定し、ボーナス中である場合には、報知パターン2がセットされていても、報知パターン1を特定可能な表示開始コマンド(報知パターン1コマンド)を表示制御基板190に対して送信するようになっている。つまり、ボーナス中においては、ボーナスに対する期待度の高い報知パターン2に基づく報知画面を表示しても、遊技者のボーナスに対する期待度を高めることはできないため、無意味な報知の実行を回避できる。
尚、本実施例におけるボーナス中においては、ボーナスの開始から終了までの間、ボーナス固有の演出が継続して行われるようになっており、通常遊技状態とは異なり、各リール2L、2C、2Rの回転中においても、光や音による演出が継続して行われるようになっている。従って、ボーナス中のゲームにおいて、遊技者がリール2L、2C、2Rを回転させたまま離席した場合等にあっては、演出が継続して行われることになり、特に何らかの効果音が出力された状態が継続することになると、周囲の遊技者が不快になる虞がある。
そこで、CPU91aは、報知用カウンタにおけるカウンタ値の減算後、カウンタ値が0となった時点で、そのゲームがボーナス中のゲームであるか否かを判定し、ボーナス中である場合には、前述したように報知パターン1を特定可能な表示開始コマンドを表示制御基板190に対して送信するとともに、スピーカ53、54から出力されるボリュームを、周囲の遊技者が著しく不快に感じることがないボリュームまで下げるための処理を実行する。
尚、本実施例においては、スピーカ53、54から出力されるボリュームを下げるための処理を行うが、光による演出は周囲の遊技者にとって、効果音ほど迷惑にならないため、演出効果LED52やリールLED55の発光態様は維持し、例えば輝度を下げるための処理等は行わないようになっている。このように、光による演出態様を維持することにより光による演出が延々と行われていれば、遊技者の店員等は促進報知画面を見ることなく、光によって遊技者が不在であることを判別することができる。
また、本実施例では、前記振動演出の実行に用いられる演出用カウンタにセットされる駆動停止時間を示すカウント値と、前記促進報知の実行に用いられる報知用カウンタにセットされるカウンタ値(第1の値)と、がともに60秒とされており、演出用カウンタに駆動停止時間を示すカウント値をセットする契機となる内部当選コマンドと、報知用カウンタに報知時間を示すカウント値(第1の値)をセットする契機となるリール回転開始コマンドと、を取得するタイミングの時間差は僅かであるため、ゲームが開始されてから、リールの停止操作がなされない状態が60秒継続したときに、前述したように内部抽選コマンドの受信を契機に実行される振動演出パターン1に基づく振動演出が終了するのとほぼ同時に、リール回転開始コマンドの受信を契機に実行される報知パターン1または報知パターン2に基づく促進報知が開始されることになる。
次に、演出制御基板90に搭載されたサブ制御部91のCPU91aが実行する各種制御内容を、図24〜図29のフローチャートに基づいて以下に説明する。
CPU91aは、サブ制御部91にリセット回路95からリセット信号が入力されると、図24に示す起動処理(サブ)を行う。
起動処理(サブ)では、内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sj1)、RAM91cへのアクセスを許可する(Sj2)。そして、RAM91cの全ての格納領域のRAMパリティを計算し(Sj3)、RAMパリティが0か否かを判定する(Sj4)。
RAM91cのデータが正常であれば、RAMパリティが0になるはずであり、Sj4のステップにおいてRAMパリティが0であれば、RAM91cに格納されているデータが正常であるので、Sj5のステップに進み、電断前の演出状態を復帰させる。Sj5のステップでは、設定された制御パターンに従って、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED等の各種演出装置の制御を行う演出制御処理を実行し(Sj9)、割込を許可して(Sj10)、ループ処理に移行する。
また、Sj4のステップにおいてRAMパリティが0でなければ、RAM91cに格納されているデータが正常ではないので、RAM91cを初期化した後(Sj7)、待機パターンを制御パターンとして設定した後(Sj8)、設定された制御パターンに従って、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED等の各種演出装置の制御を行う演出制御処理を実行し(Sj9)、割込を許可して(Sj10)、ループ処理に移行する。
図25は、CPU91aが内部クロックのカウントに基づいて1.12msの間隔で実行するタイマ割込処理(サブ)の制御内容を示すフローチャートである。
タイマ割込処理(サブ)においては、まず、バッファにコマンドが格納されているか否かを判定する(Sk1)。バッファにコマンドが格納されていなければ、Sk6の処理に進み、バッファにコマンドが格納されていれば、バッファからコマンドを取得し(Sk2)、Sk3のステップに進む。
Sk3のステップでは、受信したコマンドが内部当選コマンドの場合に、ROM91bに格納されている演出テーブルを参照し、内部当選コマンドが示す内部抽選の結果に応じた選択率にて演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定する演出パターン選択処理を実行し、Sk4のステップに進む。
Sk4のステップでは、受信したコマンドに応じた処理を行うとともに、ROM91bに格納されている制御パターンテーブルを参照し、RAM91cに設定されている演出パターン及び受信したコマンドに対応して登録されている制御パターンを読み出してRAM91cに設定する制御パターン設定処理を実行し、Sk5のステップに進む。
Sk5のステップでは、Sk4のステップにおいて設定された制御パターンに従って、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の制御を行う演出制御処理を実行し、Sk6のステップに進む。
Sk6のステップでは、Sk3のステップにおいて当該ゲームの演出パターンとして振動演出パターン1または振動演出パターン2が設定されている場合に、受信したコマンドに応じて、前述した振動演出を行う振動演出処理を実行し、Sk7の処理に進む。
Sk7のステップでは、受信したコマンドに応じて、前述した促進報知を行う促進報知処理を実行し、Sk8の処理に進む。
Sk8のステップでは、RAM91cの乱数カウンタ等や、前述した演出用カウンタや報知用カウンタを含む各種カウンタの値を更新する処理を行った後、Sk9のステップに進み、起動時にRAM91cにバックアップされているデータの内容が正常であるか否かを確認できるように、RAM91cの全ての格納領域の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし、タイマ割込処理(サブ)を終了する。
すなわちCPU91aは、メイン制御部41のCPU41aのように電断検出時にRAMパリティ調整用データをセットするのではなく、定期的に実行されるタイマ割込処理(サブ)毎に、RAMパリティ調整用データをセットし、いつ電断しても、復旧時にRAM91cにバックアップされているデータの内容が正常であるか否かを判定できるようになっている。
図26は、CPU91aがタイマ割込処理(サブ)のSk6のステップにおいて実行する振動演出処理の制御内容を示すフローチャートである。
振動演出処理では、まず、後述する振動演出実行中フラグの有無に基づいて、振動演出が実行されているか否かを判定し(Sn1)、振動演出が実行中でなければ、新たに取得したコマンドが内部当選コマンドであるか否かを判定する(Sn2)。そして、新たに取得したコマンドが内部当選コマンドであれば、前述したSk3のステップにおいて振動演出パターン1が当該ゲームにおける演出パターンとして設定されているか否かを判定し(Sn3)、設定されていなければ、すなわち振動演出パターン1以外の演出パターンが設定されていれば、そのまま図25に示すフローチャートに復帰する。Sn3のステップにおいて振動演出パターンが当該ゲームにおける演出パターンとして設定されていれば、演出用扉モータ60の駆動及びスピーカ53,54からの振動音の出力を開始させる(Sn4)。次いで、演出用タイマカウンタに、振動停止時間である60秒を示す値をセットするとともに(Sn5)、振動表示開始コマンドを表示制御基板190に送信した後(Sn6)、振動演出実行中である旨を示す振動演出実行中フラグをセットして(Sn7)、図25に示すフローチャートに復帰する。
Sn2のステップにおいて、新たに取得したコマンドが内部当選コマンドでなければ、新たに取得したコマンドがリール停止コマンドであるか否かを判定し(Sn8)、リール停止コマンドであると判定した場合には、第1リールが停止したか否かを判定し(Sn9)、第1リールが停止したと判定した場合には、振動演出パターンが当該ゲームにおける演出パターンとして設定されているか否かを判定し(Sn10)、振動演出パターン2が当該ゲームにおける演出パターンとして設定されていれば、演出用扉モータ60の駆動及びスピーカ53,54からの振動音の出力を開始させる(Sn11)。次いで、演出用タイマカウンタに、振動停止時間である60秒をセットするとともに(Sn12)、振動表示開始コマンドを表示制御基板190に送信した後(Sn13)、振動演出実行中である旨を示す振動演出実行中フラグをセットして(Sn14)、図25に示すフローチャートに復帰する。
尚、Sn6のステップまたはSn13のステップにおいて演出制御基板90から送信された振動表示開始コマンドを受信した表示制御基板190の表示制御部191は、受信した振動表示開始コマンドに基いて、マーク(画像)の振動表示(図21(b)参照)を開始させる。
また、Sn8のステップにおいて、新たに取得したコマンドがリール停止コマンドでないと判定した場合、Sn9のステップにおいて、第1リールが停止したのではない、すなわち第2リールまたは第3リールが停止したと判定した場合、Sn10のステップにおいて、振動演出パターン2が当該ゲームにおける演出パターンとして設定されていない、すなわち振動演出パターン2以外の演出パターンが設定されていると判定した場合には、図25に示すフローチャートに復帰する。
Sn1のステップにおいて、振動演出が実行中であると判定した場合には、演出用扉モータ56,57の駆動を停止させるための後述する停止フラグ1または停止フラグ2が設定されているか否かを判定し(Sn15)、停止フラグ1または停止フラグ2が設定されていないと判定した場合には、演出用カウンタのカウント値が0であるか否か、すなわちSn5のステップまたはSn12のステップにてカウント値の減算を開始(演出用扉モータ56,57の駆動を開始)してから、駆動停止時間である60秒が経過したか否か(遊技者による停止操作が行われずゲームが進行されていない状態が60秒継続したか否か)を判定する(Sn16)。
Sn16のステップにおいて、演出用カウンタのカウント値が0ではないと判定した場合、すなわち演出用扉モータ56,57の駆動を開始してから駆動停止時間である60秒が経過していない場合には、リール停止コマンドを新たに取得したか否かを判定し(Sn17)、リール停止コマンドを新たに取得した場合には、全てのリールの変動が停止したか否か、すなわちリール停止コマンドを3回受信したか否かを判定する(Sn18)。
Sn18のステップにおいて、全てのリールの変動が停止した、すなわちリール停止コマンドを3回受信したと判定した場合には、振動演出を最後まで実行して終了させる旨を示す、演出用扉モータ56,57の停止フラグ1をセットして(Sn19)、図25に示すフローチャートに復帰する。尚、Sn17のステップにおいて、リール停止コマンドを新たに取得していない場合、及びSn18のステップにおいて、全てのリールの変動が停止していない場合には、図25に示すフローチャートに復帰する。
また、Sn16のステップにおいて、演出用カウンタのカウント値が0である場合、すなわち演出用扉モータ56,57の駆動を開始してから、リールの停止操作が有効に検出されることなく駆動停止時間である60秒が経過した場合には、振動演出を途中で中断して終了させる旨を示す、演出用扉モータ56,57の停止フラグ2をセットして(Sn20)、図25に示すフローチャートに復帰する。
Sn15のステップにおいて、演出用扉モータ56,57の停止フラグ1または停止フラグ2が設定されていると判定した場合には、その時点で演出用扉60が、前述した液晶表示器51の左右側方に位置する停止基準位置に位置しているか否かを判定し(Sn21)、停止基準位置に位置していない場合には、図25に示すフローチャートに復帰する。すなわち停止基準位置に位置するまで演出用扉60の駆動を継続する。
Sn21のステップにおいて、演出用扉60が停止基準位置に位置していると判定した場合には、演出用扉モータ56,57の駆動及びスピーカ53,54からの振動音の出力を停止して、振動演出を終了させた後(Sn22)、その時点で設定されている停止フラグは停止フラグ1であるか否かを判定し(Sn23)、停止フラグ1が設定されていると判定した場合、すなわち振動表示を終了して内部抽選結果を表示する場合には、その旨を示す振動表示終了コマンド1を表示制御基板190に送信した後(Sn24)、振動演出実行中フラグ及び演出用扉モータ56,57の停止フラグ1をクリアして、図25に示すフローチャートに復帰する。
尚、Sn24のステップにおいて演出制御基板90から送信された振動表示終了コマンド1を受信した表示制御基板190の表示制御部191は、受信した振動表示終了コマンド1に基いて、マークの振動表示を終了させた後、内部抽選により当選した当選フラグに対応する入賞役(図柄)を表示(報知)させる。
また、Sn23のステップにおいて、停止フラグ1が設定されていないと判定した場合、すなわち振動表示を終了したまま振動演出を途中で中断して強制的に終了させる旨を示す停止フラグ2が設定されている場合には、その旨を示す振動表示終了コマンド2を表示制御基板190に送信し(Sn25)、振動演出実行中フラグ及び演出用扉モータ56,57の停止フラグ1をクリアして、図25に示すフローチャートに復帰する。
尚、Sn25のステップにおいて演出制御基板90から送信された振動表示終了コマンド2を受信した表示制御基板190の表示制御部191は、受信した振動表示終了コマンド2に基いて、マークの振動表示を終了させて停止表示させる。
このように、演出用扉モータ56,57の駆動を開始してから、駆動停止時間である60秒以内に全てのリールの変動が停止した場合、すなわち遊技者により全てのリールの停止操作が滞りなく行われた場合には、振動演出を最後まで行った後に終了するため、液晶表示器51の表示画面に内部抽選結果を示す画面(図21(c)参照)が表示されることになる。一方、演出用扉モータ56,57の駆動を開始してから、遊技者により全てのリールの停止操作が行われないうちに、駆動停止時間である60秒が経過してしまった場合、すなわち遊技者による全てのリールの停止操作が60秒以内に行われなかった場合には、振動演出を途中で中断して終了し、液晶表示器51の表示画面には、振動演出時のマークがそのまま停止表示(図21(e)参照)されることになる。
図27〜図29は、CPU91aがタイマ割込処理(サブ)のSk7のステップにおいて実行する促進報知処理の制御内容を示すフローチャートである。
促進報知処理では、まず、後述するリール変動中フラグの設定状況に基づいて、少なくとも1つのリール2L、2C、2Rが回転中であるか否かを判定する(Sm1)。そして、いずれのリール2L、2C、2Rも回転していなければ、すなわちゲームが開始されていなければ、内部当選コマンドを新たに取得したか否かを判定する(Sm2)。そして、内部当選コマンドを新たに取得したと判定した場合には、取得している遊技状態コマンドから当該ゲームがボーナス中であるか否かを判定する(Sm3)。そして、ボーナス中ではない場合には、図23に示す報知パターン振分テーブルに基づいて、当該ゲームにおいて実施しうる促進報知の報知パターンを決定するための報知パターン抽選を実行し(Sm4)、該抽選にて当選した報知パターンを当該ゲームにおいて実施しうる促進報知の報知パターンとしてセットし(Sm5)、図25に示すフローチャートに復帰する。また、Sm3のステップにおいてボーナス中であると判定した場合には、前記報知パターン抽選を行うことなく、当該ゲームにおいて実行し得る報知パターンとして報知パターン1をセットし(Sm6)、図25に示すフローチャートに復帰する。
Sm2のステップにおいて、取得したコマンドが内部当選コマンドではないと判定した場合には、新たに取得したコマンドがリール回転開始コマンドであるか否かを判定し(Sm7)、新たに取得したコマンドがリール回転開始コマンドであれば、報知用カウンタのカウンタ値として第1の値(=60秒)をセットした後(Sm8)、リール変動中フラグをセットして(Sm9)、図25に示すフローチャートに復帰する。
Sm1のステップにおいて、少なくとも1つのリール2L、2C、2Rが回転中であれば、後述する報知中フラグの設定状況に基づいて、促進報知が実行中であるか否かを判定し(Sm10)、促進報知の実行中でなければ、報知用カウンタのカウンタ値が0であるか否かを判定し(Sm19)、カウンタ値が0である場合には、リール2L、2C、2Rの回転が開始してから60秒が経過したか、あるいは最後にストップスイッチ8L、8C、8Rが有効に操作されてから60秒または30秒が経過したとして、当該ゲームがボーナス中のゲームであるか否かを判定する(Sm27)。
Sm10のステップにおいて、促進報知が実行中であれば、図28に示すSm11のステップに進み、新たに取得したコマンドが停止コマンドであるか否かを判定する(Sm11)。そして、新たに取得したコマンドが停止コマンドであれば、セットされている報知中フラグをクリアし(Sm12)、促進報知の終了、すなわち報知画面表示の終了を特定可能な表示終了コマンドを表示制御基板190に対して送信した後(Sm13)、その時点で全てのリール2L、2C、2Rの回転が停止したか否かを判定する(Sm14)。そして、全てのリール2L、2C、2Rの回転が停止してなければ、当該ゲームにおいて促進報知が実行された旨を示す報知済みフラグをセットし(Sm15)、報知用カウンタのカウンタ値として第1の値(=60秒)をセットした後(Sm16)、図25に示すフローチャートに復帰する。
また、Sm14のステップにおいて、全てのリール2L、2C、2Rの回転が停止していれば、リール変動中フラグをクリアし(Sm17)、報知済みフラグがセットされている場合にはこれをクリアした後(Sm18)、図25に示すフローチャートに復帰する。
また、Sm19のステップにおいて、報知用カウンタのカウンタ値が0ではなければ、図29に示すSm20のステップに進み、新たに取得したコマンドが停止コマンドであるかを判定し(Sm20)、新たに取得したコマンドが停止コマンドであれば、その時点で全てのリール2L、2C、2Rの回転が停止したか否かを判定する(Sm21)。そして、全てのリール2L、2C、2Rの回転が停止してなければ、報知済みフラグがセットされているか否かを判定し(Sm22)、報知済みフラグがセットされていれば、報知用カウンタのカウンタ値として第2の値(=30秒)をセットした後(Sm23)、図25に示すフローチャートに復帰する。また、報知済みフラグがセットされていなければ、報知用カウンタのカウンタ値として第1の値(=60秒)をセットした後(Sm24)、図25に示すフローチャートに復帰する。
また、Sm21のステップにおいて、全てのリール2L、2C、2Rの回転が停止していれば、リール変動中フラグをクリアし(Sm25)、報知済みフラグがセットされている場合にはこれをクリアした後(Sm26)、図25に示すフローチャートに復帰する。
次いで、Sm27のステップにおいて、当該ゲームがボーナス中のゲームでなければ、報知パターンとして報知パターン1がセットされているか否かを判定する(Sm31)。そして、報知パターン1がセットされていれば、報知中フラグをセットし(Sm32)、報知パターン1を特定可能な表示開始コマンド(報知パターン1コマンド)を、表示制御基板190に対して送信した後(Sm33)、図25に示すフローチャートに復帰する。
また、Sm31のステップにおいて、報知パターンとして報知パターン1がセットされていれば、その時点で既に停止しているリール2L、2C、2Rがあるか否かを判定する(Sm34)。そして、停止しているリール2L、2C、2Rがあれば、停止しているリール2L、2C、2Rにおける可変表示部に表示されている図柄の組み合せが、完全ハズレ目であるか否かを判定し(Sm35)、完全ハズレ目であればSm32のステップに進み、報知中フラグをセットし(Sm32)、報知パターン1を特定可能な表示開始コマンドを、表示制御基板190に対して送信した後(Sm33)、図25に示すフローチャートに復帰する。つまり、完全ハズレ目が表示結果として導出表示されている場合には、その時点でセットされているボーナスの期待度が高い報知パターン2をセットせずに、報知パターン1に基づく促進報知を実行するようにすることで、無意味な報知が行われることを回避できる。
また、Sm34のステップにおいて、その時点で既に停止しているリール2L、2C、2Rがない場合、及びSm35のステップにおいて、完全ハズレ目でない場合には、報知中フラグをセットし(Sm36)、報知パターン2を特定可能な表示開始コマンド(報知パターン2コマンド)を、表示制御基板190に対して送信した後(Sm37)、図25に示すフローチャートに復帰する。
以上説明したように、本発明の実施例としてのスロットマシン1にあっては、可動部材としての演出用扉60は、振動演出パターン1,2に基づく振動演出(振動制御)が開始されてから、所定時間である60秒が経過する前に、全てのリール2L、2C、2Rの有効な停止操作が検出されたとき、すなわち全てのリール2L、2C、2Rの回転が停止して表示結果が導出されたときにサブ制御部91により駆動が停止されるとともに、演出用扉60の振動演出(駆動)が開始されてから、全てのリール2L、2C、2Rの有効な導出操作が検出されないまま、すなわちゲームの進行が中断したまま所定時間である60秒が経過したときには、サブ制御部91により演出途中でも強制的に駆動が停止されるようになっていることで、演出用扉60の駆動音、例えば演出用扉60が反復移動を繰り返す際に発生する部材同士の摩擦音等が継続的に出音されて周囲の遊技者に迷惑をかけることが防止されるとともに、演出用扉60を含む駆動機構(図示しないラックギヤやピニオンギヤ等)の部材の劣化や、演出用扉モータ56,57にかかる負荷が効果的に軽減される。
尚、本実施例では、演出用扉60の振動演出(駆動制御)が開始されてから、全てのリール2L、2C、2Rの有効な導出操作が検出されないまま、すなわちゲームの進行が中断したまま所定時間である60秒が経過したときには、サブ制御部91により演出途中でも強制的に駆動が停止されるようになっていたが、駆動を完全に停止しないまでも、例えば演出用扉60の駆動スピード(振動)を所定レベルまで減速(演出用モータ56,57の回転速度を減速)したり、あるいは演出用扉60の駆動量(振幅やストローク量)を小さくする(駆動制御は継続する)ようにしてもよい。さらに、駆動停止時間の経過に基づき演出用扉60の駆動を停止(減速、駆動量減)させる際に、駆動速度や駆動量を段階的に小さくするようにしてもよい。
また、本実施例では、演出用扉60の駆動を停止させる際において、前述した振動演出処理におけるSn21のステップにて演出用扉60が停止基準位置に位置しているか否かを判定し、停止基準位置に位置していないと判定した場合には、常に一定の停止基準位置まで駆動を継続した後に停止する、つまり停止基準位置に位置するまで駆動制御を継続するようになっていることで、次ゲーム以降のゲームにおいて演出用扉60の駆動を開始する際の制御が容易になるとともに、次回の駆動が開始するまで、演出用扉60が基準位置以外の箇所で停止したまま(例えば演出用扉60が液晶表示器51の表示領域を半分閉じたまま)ゲームが進行されて遊技者に違和感を与えることがない。
尚、本実施例では、サブ制御部91のCPU91aは、振動演出パターン1及び振動演出パターン2に基づく振動演出を開始してから停止するまでの間、演出用扉60の振動、すなわち演出用扉モータ56,57の正逆駆動(振動)を連続的に行っている。つまり本発明にあっては、演出用扉60の振動を開始してから停止するまでの間、演出用扉モータ56,57の駆動制御を継続的に行うものであれば、本実施例のように演出用扉60の振動(演出用扉モータ56,57の駆動)を連続的に行うもののみならず、該振動(駆動)を断続的に行う(例えば駆動と停止を繰り返し行う)ものであってもよい。つまり、演出用扉60の可動が見た目上断続的に行われるものであっても、該演出用扉60の駆動制御が連続して行われていればよい。
また、本実施例では、振動演出に基づく演出用扉60の駆動を開始してから、リールの停止操作が有効に検出されないまま、駆動停止時間である60秒が経過した時点で該駆動が停止されるようになっていたが、演出用カウンタにセットする駆動停止時間は60秒に限定されるものではなく、種々に変更可能である。
また、振動演出パターンに基づく振動演出の開始に伴い、スピーカ53,54から出力される振動音(効果音)も、演出用扉60の駆動の停止に伴い消音するようになっているため、振動効果音が継続的に出音されて周囲の遊技者に迷惑をかけることが防止される。
尚、スピーカ53,54から出力される振動音の音量を下げるとは、少なくともボリュームを現時点のボリュームよりも下げることであり、本実施例では、出音を停止(消音)、つまりボリューム0まで下げるようになっていたが、出音は継続したままボリュームを0以上、現時点のボリューム以下の所定値まで下げるようにしてもよい。また、本実施例では、演出用扉60の駆動の停止とともに振動音を消音していたが、駆動の停止に基づいて、ボリュームを時間の経過とともに段階的に下げるようにしてもよい。
また、本実施例では、遊技者によるリールの停止操作に関わらず、演出用扉60の駆動を開始したときから60秒が経過した時点で駆動を停止するようになっているため、例えば遊技者が不在となることなく、目押し等をするためにゲームを極めて遅いペースで進行した場合でも、第3リールの停止操作を行う前に60秒が経過した時点で駆動が停止されてしまうが、例えば駆動停止時間の計時を開始した後、第1リールまたは第2リールの停止操作がなされたときに、駆動停止時間を改めてリセットし、該リールの停止操作が有効に検出されたときから改めて計時を再開するようにしてもよい。
また、本実施例では、振動演出に基づく演出用扉60の駆動は、遊技制御基板40から送信された内部当選コマンドを演出制御基板90のサブ制御部91が取得したときか、ゲーム開始後、遊技制御基板40から送信された最初のリール停止コマンド、すなわち第1リールの停止に伴って遊技制御基板40から送信されたリール停止コマンドを演出制御基板90のサブ制御部91が取得したときのいずれかに行われるようになっていたが、振動演出の開始の契機、すなわち演出用扉60の駆動開始条件は、例えば第2リールの停止操作がなされたときであってもよいし、あるいはゲームが開始されたとき、すなわち図柄の変動表示が開始した時(リール2L、2C、2Rの回転が開始(サブ制御部91がリール回転開始コマンドを取得したとき))、全てのリール2L、2C、2Rに対応するストップスイッチ8L、8C、8Rの導出操作の検出が有効な状態とされた時(リール2L、2C、2Rの回転が定速回転となったとき)であってもよいし、賭数の設定操作がなされたとき(メダルが投入されたときあるいは1枚BETスイッチ5またはMAXBETスイッチ6が操作されたとき(サブ制御部91がBETコマンドを取得したとき))であってもよい。
また、本実施例における振動演出は、全てのリール2L、2C、2Rの有効な停止操作が検出されたとき、すなわち第3リールの有効な停止操作が検出されたときに終了するようになっているが、第1リールまたは第2リールの有効な停止操作が検出されたときに終了するようにしてもよい。
また、本実施例における振動演出は、ゲームの開始に応じて開始される振動演出パターン1または第1リールの有効な停止操作の検出に応じて開始される振動演出パターン2からなる、開始契機の異なる2種類のパターンのうちからいずれかが所定の割合で選択されるようになっていたが、2種類以上の振動演出パターンを予め登録しておき、これら複数のうちから1のパターンを所定の割合で選択するようにしてもよい。
さらに、振動演出パターン1及び振動演出パターン2は、開始契機が異なるだけで演出態様、例えば演出用扉60の振動パターン(振動態様)等はそれぞれ同一(左右の往復移動)の演出パターンであったが、例えば振動パターンが異なる複数種類の振動演出パターンを予め登録しておき、これら複数のうちから1のパターンを所定の割合で選択するようにしてもよい。
また、演出用扉60の振動パターンは、左右に往復移動するものに限定されるものではなく、例えば上下・左右に往復移動するものや、前後に往復移動するものであってもよい。
また、本実施例では、演出用扉60の駆動パターンの一例として振動パターン(比較的小刻みな往復移動)が適用されていたが、左右の演出用扉60それぞれが、例えば停止基準位置と、液晶表示器51の表示領域を閉塞する閉塞位置と、の間を左右方向または上下方向に往復移動するスライドパターン(振動パターンよりも振幅が大きい往復移動)を駆動パターンの一例として適用してもよいし、あるいは、演出用扉60を、本実施例のような引き戸ではなく、一側辺を中心に回動自在に設け(観音開きタイプ)、駆動パターンの一例として回動パターン等を適用してもよい。
また、本実施例では、可動部材(役物)の一例として、液晶表示器51の表示領域を開閉可能な演出用扉60を適用していたが、スロットマシン1の所定箇所に可動自在に設けられ、モータ等の所定の駆動源により駆動するものであれば、種々の可動部材が適用可能である。
また、本実施例では、演出用扉60を駆動する演出の一例として、内部抽選により当選した可能性がある当選フラグを報知する予告演出である振動演出を適用していたが、このような振動演出は前記予告演出のみに適用されるものではなく、例えば、単に遊技者によるリール2L、2C、2Rの回転操作に応じて駆動し、該リールの停止操作に応じて駆動停止する演出等も適用可能である。
また、前記実施例において、振動演出パターン1,2に基づく振動演出が開始されてから60秒が経過するまでにリールの停止操作が有効に検出されず、演出用扉60の振動を途中で強制的に停止(中断)して終了したときに、少なくとも2つのリールが回転中である場合において、例えばその後、第1リールまたは第2リールの停止操作が有効に検出された時点、すなわちゲームの進行が再開されたときに、中断していた演出用扉60の振動を含む振動演出を再開させるようにしてもよい。
また、本実施例では、演出用扉60の振動はリールの停止操作が有効に検出されたことに基づいて停止されるようになっていたが、例えばビッグボーナス中における複数ゲーム間にわたり、演出用扉60を振動させる演出を行うようにした場合において、遊技者のゲーム進行操作、すなわちリールの停止操作やゲームを開始させるためのスタートスイッチ操作等が有効に検出されない状態が所定時間継続した場合等において、該振動中の演出用扉60を停止するようにしてもよい。
また、本実施例では、ゲームが開始してから、すなわちリール2L、2C、2Rの回転が開始したときからストップスイッチ8L、8C、8Rが有効に操作されない状態が第1の報知待ち時間である60秒続いた場合や、いずれかのリール2L、2C、2Rの回転が停止し、該停止したリール2L、2C、2Rに対応する可変表示部に表示結果が導出された後、未だ表示結果が導出されていない可変表示部がある場合には、最後にストップスイッチ8L、8C、8Rが有効に操作されてからストップスイッチ8L、8C、8Rが有効に操作されない状態が第1の報知待ち時間である60秒または第2の報知待ち時間である30秒続いたときに、ストップスイッチ8L、8C、8Rによるリール2L、2C、2Rの停止操作を促す報知画面(図22参照)が表示されることにより促進報知が実行されることで、該促進報知が実行されているか否かにより、遊技者が長期にわたり不在なのか、少しの間不在なのかを判別しやすくなる。少なくとも液晶表示器51の表示画面上に前記報知画面が表示されていれば、遊技者が離席してから30秒または60秒以上が経過していることがわかる。
つまり、本実施例では、ゲームが開始してから、すなわちリール2L、2C、2Rの回転が開始したときからストップスイッチ8L、8C、8Rが有効に操作されない状態が第1の報知待ち時間である60秒続いたときにおいて、ゲームの開始とともに前記振動演出が実行されている場合には、前記60秒が経過した時点で、実行中の振動演出が強制的に終了するのとほぼ同時に、前記促進報知が行われるようになっているため、演出用扉60の振動の終了及び促進報知画面の表示の双方により、ゲームの進行が中断されている状態であることを、遊技者や周囲の店員等に効果的に報知することができる。
また、促進報知の実行中にストップスイッチ8L、8C、8Rが有効に操作されたときには、未だ回転中のリール2L、2C、2Rがある場合でも実行中の促進報知が終了するため、いずれかのリール2L、2C、2Rの停止操作が行われたにも関わらず促進報知が延々と実行されることを回避できる。
尚、本実施例においては、報知用カウンタによるカウンタ値の減算(計時)は、リール2L、2C、2Rの回転が開始されたことを特定可能なリール回転開始コマンドをCPU91aが取得した時点から開始されていたが、例えばスタートレバー7の操作が検出された時点、つまり内部当選コマンドを取得した時点や、ストップスイッチ8L、8C、8Rの操作が有効となった時点から計時してもよい。
また、本実施例においては、促進報知の報知パターン(報知態様)として予め複数種類(本実施例では2種類)の報知パターン(報知パターン1、2)が登録されており、当該ゲームにおいてボーナスフラグが設定されている場合には、ボーナスフラグが設定されていない場合よりも高い確率で報知パターン2が選択され、該報知パターン2に基づく報知画面が表示されるようになっているため、促進報知の報知画面として報知パターン2に基づく報知画面が選択されたとき、遊技者は報知パターン1に基づく報知画面が表示されたときよりも、ボーナスフラグが設定されていることを期待できるため、促進報知の実行により、遊技の興趣を効果的に高めることができる。
尚、報知パターン抽選時においては、ボーナスフラグの当選時において、第2の報知態様としての報知パターン2が50%の確率で選択されるようになっていたが、ボーナスフラグが当選しているときに、ボーナスフラグが当選していないときよりも高い確率で報知パターン2が選択されればよく、例えばボーナスフラグの当選時に100%の確率で報知パターン2を選択してもよい。
また、前記実施例においては、遊技の制御を行う遊技制御基板40とは別個に設けられた演出制御基板90におけるサブ制御部91のCPU91aが促進報知の実行を決定する促進報知処理を実行するようになっているため、遊技制御手段としてのCPU41aの制御負荷が効果的に軽減される。また、促進報知に基づく報知画面の表示制御を、促進報知の実行を決定するCPU91aが設けられた演出制御基板90とは別個に設けられた表示制御基板190における表示制御部191のCPU191aが行うようになっているため、遊技状態に応じた光や音による演出を行う第1のサブ制御手段としてのサブ制御部91のCPU91aの制御負荷を効果的に軽減できる。
また、前記実施例におけるCPU91aは、少なくともストップスイッチ8L、8C、8Rが有効に行われるまで継続して行う演出の制御を実行している状態、つまりボーナス中におけるボーナス固有の演出の制御を実行している状態において、促進報知の実行を開始すべく表示開始コマンドを表示制御基板190に対して送信した後、発光手段としての遊技効果LED52やリールLED55の発光制御状態を維持したまま、音出力手段としてのスピーカ53、54から出力するボリュームを下げる処理を行うため、前記ボーナス固有の演出の実行中に遊技者が不在となっても、促進報知の実行とともにボリュームが下がることで、周囲の遊技者に迷惑がかかることが防止される。また、光による演出が継続することで、遊技者が不在であることを光によって判別することが可能となる。
また、いずれかのリール2L、2C、2Rの回転が停止し、該停止したリール2L、2C、2Rに対応する可変表示部に表示結果が導出された後、未だ表示結果が導出されていない可変表示部がある場合において、当該ゲームにおいて既に促進報知が実行されていた場合には、最後にストップスイッチ8L、8C、8Rが有効に操作されてから、つまりストップスイッチ8L、8C、8Rの検出が有効な状態とされてから該ストップスイッチ8L、8C、8Rが有効に操作されない状態が、第1の報知待ち時間である60秒よりも短い第2の報知待ち時間である30秒続いたときに促進報知が実行されるため、促進報知が実行された後、当該ゲームにおいて再度ストップスイッチ8L、8C、8Rが有効に操作されない状態が続いたときには、促進報知が最初よりも早めに実行されるため、スロットマシン1の稼働率の低下をより効果的に防止できる。
また、当該ゲームにおいて最初に実行された促進報知が、ゲームが開始してからストップスイッチ8L、8C、8Rが有効に操作されない状態が60秒続いたときに行われたものだけでなく、最後にストップスイッチ8L、8C、8Rが有効に操作されてからストップスイッチ8L、8C、8Rが有効に操作されない状態が60秒続いたときに実行されるものであっても、促進報知が1度でも実行された場合には、その後当該ゲームにおいて最後にストップスイッチ8L、8C、8Rが操作されてからストップスイッチ8L、8C、8Rが操作されずに経過した時間が、実行済みの促進報知のために計測された報知待ち時間である60秒よりも短い報知待ち時間である30秒に到達したときに促進報知が開始されるため、スロットマシン1の稼働率の低下をより効果的に防止できる。
また、本実施例では、遊技者がストップスイッチ8L、8C、8Rを操作すれば、入賞役の当選状況と停止操作のタイミングとに応じて停止すべき図柄が選択されて、リールに表示結果が導出される。つまり、入賞役の当選状況だけではなく、ストップスイッチ8L、8C、8Rの操作という遊技者の技術介入によって入賞が発生することとなるので、偶然性の要素だけで入賞が発生するのを防止して射倖性の抑制の担保が図られることとなる。また、遊技者によってストップスイッチ8L、8C、8Rが操作されないまま経過した時間に関わらず、ストップスイッチ8L、8C、8Rの操作が有効に検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が有効に検出されたことを条件に、対応するリールに表示結果が導出されることとなるので、遊技者によってストップスイッチ8L、8C、8Rが操作されずに時間が経過したという偶然性の要素だけで表示結果が導出されることはなく、射倖性の抑制の担保を図ることができる。
また、前記実施例における促進報知の報知パターン1、2は、それぞれ報知画面に「リールを停止して下さい」という文字を表示し、その文字色や背景色が異なるパターンであったが、報知態様は上記パターンに限定されるものではなく、メッセージ内容や表示態様は種々に変更可能である。
また、報知パターン抽選においては、表示される文字の文字色や背景色が異なる2種類の報知パターンが、ボーナスフラグの当選状況に応じて異なる確率で選択されるようになっていたが、例えば2種類以上の報知パターンのうちから選択するようにしてもよい。
また、本実施例における報知パターン1、2は、ストップスイッチ8L、8C、8Rの停止操作を促す文字を表示するものであり、ボーナスフラグの当選状況に応じていずれかが選択されるようになっていたが、このような促進報知の実行とともに、例えば前述した内部抽選処理において内部当選した内部当選フラグに対応する役を所定の確率で報知するようにしてもよい。
具体的には、例えばCPU91aは、遊技制御基板40から内部当選コマンドを取得したときに、取得した内部当選コマンドから内部当選役を判別するようにし、内部当選している当選役を、停止操作を促しつつ報知するようにすればよい。例えば、ベルの内部当選フラグが内部当選している場合には、図30(a)に示されるように、「ベル(図柄)を揃えて停止して下さい」という表示画面を表示し、また、ビッグボーナス(1)の内部当選フラグが内部当選している場合には、図30(b)に示されるように、「赤7(図柄)を揃えて停止して下さい」という表示画面を表示すれば、リール2L、2C、2Rの停止操作を促すとともに、内部抽選によりベルの内部当選フラグやビッグボーナス(1)の内部当選フラグが内部当選していることが遊技者に報知(告知)される。
尚、このような内部当選役は必ずしも上記のように100%の確率で告知しなくてもよく、内部当選時における所定の確率(例えば50%)で報知するようにしてもよいし、あるいは内部当選していない役を報知するようにしてもよく、例えばビッグボーナス(1)の内部当選フラグが設定されている状態において、内部当選していない入賞役(例えばベル等)を所定の確率で報知することで、ベルの内部当選が予告されたにも関わらず、当該ゲームにおいてベルの組み合わせが揃わずに、当該ゲーム以降のゲームにおいてビッグボーナス図柄の組み合わせが揃うことになる。従って、遊技者は予告された入賞役が外れてビッグボーナスが内部当選していることを期待するようになり、特別役以外の小役が予告された場合においても、ボーナスに対する期待感が高まるため、遊技の興趣が向上する。
また、このように内部当選した可能性がある旨の報知は、所定の当選役(例えば特別役)のみであってもよいし、あるいは全ての入賞役について報知されるようにしてもよい。
また、本実施例においては、1ゲームにおいて1回促進報知が実行された後において、ストップスイッチ8L、8C、8Rによる停止操作がなされない状態が続いたときに、最初の促進報知を実行するまでの報知待ち時間(60秒)よりも短い報知待ち時間(30秒)が経過した時点で促進報知が実行されるようになっていたが、報知待ち時間を全て同一としてもよい。
また、本実施例においては、報知待ち時間を計測するための計時手段が1つの報知用タイマカウンタにて構成し、リール回転開始コマンドを取得したときに第1の値(=60秒)を設定してタイマカウント(計時)を開始するとともに、該タイマカウントの開始後においてリール停止コマンドを取得したときに、実行中のタイマカウントを終了(リセット)して第2の値(=30秒)を設定してタイマカウントを開始するようになっていたが、リール回転開始コマンドを取得したことに基づく計時と、リール停止コマンドを取得したことに基づく計時とをそれぞれ別個のカウンタにて計時するようにしてもよい。
また、例えば各ゲームにおける促進報知の実行履歴を記憶しておき、所定期間(例えば5分間や50ゲーム間)内において促進報知が所定回以上実行された場合に、促進報知を実行するまでの報知待ち時間を、通常の報知待ち時間よりも短くするようにしてもよい。さらにこの場合、促進報知の実行履歴に応じて、報知待ち時間を段階的に短縮していくようにしてもよい。
さらに、前述したような促進報知の実行を開始(報知画面の表示を開始)してから経過した時間を計時するようにし、例えば所定時間が経過する毎(例えば1分が経過する毎)に、報知態様を変化させたり、あるいは報知画面の表示による報知のみならず、「リールを停止して下さい」等の音声メッセージをスピーカ53、54等から出力するようにしてもよい。
また、本実施例における促進報知は、液晶表示器51の表示画面上にリール2L、2C、2Rの停止操作を促す文字メッセージを含む報知画面を表示することにより行われていたが、液晶表示器51以外の画像表示装置に報知画面を表示してもよいし、メッセージ内容は、前述したような「リールを停止して下さい」というメッセージだけでなく、リール2L、2C、2Rの停止操作を促すものであれば、例えば「図柄を停止して下さい」や「ストップスイッチを操作して下さい」等、種々のメッセージに変更可能であるとともに、あるいは、リールの停止操作を促す画像や動画を表示するものでもよい。
さらに、促進報知を行う報知手段としては、前述した液晶表示器51等の画像表示装置に限定されるものではなく、例えばスピーカ53、54から前述したような「リールを停止して下さい」等の音声の出力や、所定の警告音等の出力が可能な音出力手段であってもよい。あるいは、例えばリールLED55等を所定の発光態様にて発光させること(例えば点灯態様や発光色の変更)により報知する発光手段等であってもよい。
また、本実施例では、サブ制御部91のCPU91aは、前述した促進報知処理において、促進報知が実行されていない場合にタイマカウンタのカウンタ値が0となり、促進報知の実行を決定すべく報知中フラグをセットした後、促進報知の実行を指示する演出制御情報としての報知パターン1コマンドまたは報知パターン2コマンドを表示制御基板190に送信し、また、促進報知の実行中において停止コマンドを受信したときに、促進報知の終了を指示する演出制御情報としての報知終了コマンドを表示制御基板190に送信するようになっていたが、このように促進報知の実行や終了を指示する演出制御情報としてのコマンドは、それぞれ別個のコマンドとしなくてもよく、例えばCPU91aが、促進報知の実行時や促進報知の終了時においてそれぞれ同一の促進報知コマンドを送信するようにし、表示制御部191のCPU191aが、促進報知を実行していない状態で前記促進報知コマンドを取得したときには促進報知を実行し、促進報知の実行中に前記促進報知コマンドを取得したときには実行中の促進報知を終了させるようにしてもよい。
また、促進報知の終了を指示する演出制御情報としての報知終了コマンドは、リール停止操作が行われたときに演出制御基板90から送信される他の演出コマンド、例えば遊技状態に応じた演出(例えば内部当選の可能性を示す予告演出等)の実行を指示する演出コマンド等と兼用してもよく、この場合、CPU191aは、促進報知の実行中においてリールの停止操作に応じて演出制御基板90から送信される演出コマンドを取得したときに、実行中の促進報知を終了させればよい。
尚、本実施例では、複数(本実施例では3つ)の可変表示部(可変表示領域)それぞれに対して、各可変表示部における表示結果を導出させる導出操作手段としてのストップスイッチ8L、8C、8Rが1対1対応で設けられていたが、本発明にあっては、必ずしも各可変表示領域それぞれに対応する個別のストップスイッチ8L、8C、8Rが配置されているものに限定されるものではなく、2以上の所定数の可変表示領域に対して前記所定数未満しかストップスイッチ(導出操作手段)が配置されていないものであってもよく、例えば3つの可変表示領域に対して1つのストップスイッチのみ配置され、該ストップスイッチを前記所定回数操作することにより全て(3つ)の可変表示領域の表示結果が導出されるようなものであってもよい。
また、本実施例では、報知用カウンタと演出用カウンタとを別個に設け、それぞれ別々に計時を行っていたため、振動演出の終了と促進報知の開始との間に僅かな時間差が生じていたが、例えば振動演出パターン1に基づく振動演出における計時と、報知パターン1に基づく促進報知における計時とを同一の契機、例えばサブ制御部91がリール回転開始コマンドを取得したときから行うようにすれば、1つのカウンタによる計時に基づいて振動演出(駆動制御)を停止するとともに、促進報知を開始できる。
また、本実施例のスロットマシン1では、停止操作位置(リール基準位置からのステップ数に対して割り当てられた領域)に対して停止位置(表示結果)が一意的に定められた複数の停止制御テーブルのうち、全てのリールが回転中においては、各遊技状態のそれぞれについての内部当選状態に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるとともに、いずれかのリールが既に停止している場合においては、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっており、遊技状態、内部当選状態、リールの停止状況(及び停止済みのリールの停止位置(表示結果))の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなるので、従来のように一の内部当選状態に対して複数の停止制御テーブルからいずれか1つの停止制御テーブルを内部抽選とは異なる抽選(例えばリール制御の振分抽選など)などにより更に選択する必要がなく、リールを停止させる際の制御が複雑化することがない。
また、本実施例では、リールの回転開始時に、全てのリールについて、各遊技状態のそれぞれについての内部当選状態に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるとともに、その後リールが停止する毎に、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置、すなわちいずれか1つのリールが停止した状態では停止済みのリールの停止位置、いずれか2つのリールが停止した状態では停止済みの2つのリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっているが、例えば、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき(2つのリールが停止したとき)には、新たに停止制御テーブルを選択せず、全てのリールが回転している状態でいずれか1つのリールが停止したときに選択された停止制御テーブルに従って残りのリールの停止制御を行うようにしても良い。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき(2つのリールが停止したとき)に、各遊技状態のそれぞれについての内部当選状態、最初に停止したリールの停止位置または最後に停止したリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、本実施例では、いずれかのリールが既に停止している場合において、各遊技状態のそれぞれについての内部当選状態、リールの停止状況及び停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御が行われるようになっているが、いずれかのリールが既に停止している場合において、各遊技状態のそれぞれについての内部当選状態、リールの停止状況及び停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御が行われるようにしても良く、このようにすることで、遊技状態及び内部当選状態が同一であり、かつ停止済みのリールの停止位置(停止図柄)が同一の場合であっても、停止済みのリールの停止操作位置が異なる場合には、異なる停止制御テーブルが適用されることがあるため、リールの表示結果をより多彩なものにできる。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき(2つのリールが停止したとき)には、新たに停止制御テーブルを選択せず、全てのリールが回転している状態でいずれか1つのリールが停止したときに選択された停止制御テーブルに従って残りのリールの停止制御を行うようにしても良い。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき(2つのリールが停止したとき)に、各遊技状態のそれぞれについての内部当選状態、最初に停止したリールまたは最後に停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、本実施例では、いずれか2つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっているが、例えば、いずれか2つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールのうちのいずれか1つのリールの停止位置、停止したリールのうちの残りのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、いずれか2つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、いずれか2つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、いずれか1つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、いずれか2つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールのうちのいずれか1つのリールの停止位置、停止したリールのうちの残りのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
また、これらの場合には、1/2図柄が変動する範囲の領域、すなわち1図柄が変動する範囲未満の単位で停止済みのリールの停止操作位置を判定し、その停止操作位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御を行うこと、すなわちある図柄が基準位置に位置するステップ数から1図柄が変動する範囲以内の異なるステップ数に対して異なる停止制御テーブルを選択可能とすることが好ましく、このようにすれば、停止済みのリールの停止位置が同一であり、停止操作が行われたタイミングが1図柄が変動する範囲以内であっても、他のリールに適用される停止制御テーブルを変化させることができるので、各リールの表示結果をより一層多様化することができる。
また、本実施例では、複数の連続するステップ数の範囲(本実施例では1図柄が変動する4ステップずつ)毎に引込コマ数(当該範囲で停止操作が検出された場合の停止位置)が一意的に定められた停止制御テーブルを用いてリールの停止制御を行っているので、停止制御テーブルを作成するためのテーブル作成用データの容量を大幅に軽減できる。
尚、本実施例では、1図柄が変動する範囲の領域の単位毎に、引込コマ数を一意的に定めた停止制御テーブルを用いているが、例えば、1/2図柄が変動する範囲の領域、すなわち1図柄が変動する範囲未満の単位毎に、引込コマ数(停止位置)を一意的に定めた停止制御テーブルを用いてリールの停止制御を行うようにしても良い。すなわちある図柄が基準位置に位置するステップ数から1図柄が変動する範囲以内の異なるステップ数に対して異なる停止位置が定められた停止制御テーブルを用いてリールの停止制御を行うようにしても良く、このようにすることで、1図柄が変動する範囲以内であっても、停止操作のタイミングが異なることで導出される表示結果を変化させることができるので、停止操作のタイミングに応じてより多彩な態様でリールの表示結果を導出させることができる。
また、本実施例では、遊技者がストップスイッチ8L、8C、8Rを操作すれば、内部当選状態と停止操作のタイミングとに応じて停止すべき図柄が選択されて、リールに表示結果が導出される。つまり、内部当選状態だけではなく、ストップスイッチ8L、8C、8Rの操作という遊技者の技術介入によって入賞が発生することとなるので、偶然性の要素だけで入賞が発生するのを防止して射倖性の抑制の担保が図られることとなる。また、遊技者によってストップスイッチ8L、8C、8Rが操作されないまま経過した時間に関わらず、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果が導出されることとなるので、遊技者によってストップスイッチ8L、8C、8Rが操作されずに時間が経過したという偶然性の要素だけで表示結果が導出されることはなく、射倖性の抑制の担保を図ることができる。
また、本実施例のスロットマシン1では、入賞となる役の種類として、メダルの払い出しを伴う小役、次のゲームでの賭数にメダルを消費しないで済む再遊技役、遊技状態の移行を伴う特別役が定められている。特別役は、遊技状態の移行を伴うものであって、そのときの遊技状態に依存するので基本的な役とは言えない。スロットマシンの遊技性は、単にゲームを行うだけではなく、ゲームの結果により遊技者がメダルを獲得していくことにあるので、入賞によってメダルの払い出しを伴う小役が最も基本的な役であるということができる。ここで、小役の種類としては、JAC、チェリー、1枚(1)、1枚(2)、ベルがあるが、レギュラーボーナスにおいて僅かな確率で当選するJACの他は、いずれの遊技状態においても入賞となる役の種類として定められている。このように基本となる小役を、いずれの遊技状態に制御されているときであっても入賞となる役として定めることで、遊技性が遊技者にとって分かり易いものとなる。
レギュラーボーナスの遊技状態では、小役(特にベル)に高い確率で当選し、非常に多くのメダルを獲得できるようになるので、これに対する遊技者の期待感は高い。このレギュラーボーナスは、ビッグボーナス中に移行するだけではなく、通常遊技状態においてレギュラーボーナス入賞したときにも移行される。このため、通常遊技状態にあるときであっても、レギュラーボーナスに対する期待感を遊技者に与えることができるので、遊技の興趣を向上させることができる。更に、レギュラーボーナスにおいては、通常遊技状態においても定められているチェリー、1枚(1)、1枚(2)、ベルに加えて、JACも小役として定められている。これにより、レギュラーボーナスにおける遊技者の期待感を更に高めさせて、遊技の興趣を向上させることができる。また、レギュラーボーナスにおいてチェリー、1枚(1)、1枚(2)、ベルの小役に加えて入賞と判定されるJACの表示態様は、「ベル−ベル−スイカ」の組み合わせにより構成され、他の役の表示態様として使用されていないものである。このため、リール2L、2C、2Rの表示結果として導出された表示態様と入賞となる役との関係が明確になり、遊技者にとっては遊技性が分かりやすいものとなる。
また、リール2L、2C、2Rの回転は、ストップスイッチ8L、8C、8Rの操作が検出されてから最大4コマ引き込んで停止されることとなり、停止すべき図柄は5図柄の範囲から選ぶことができる。ここで、「ベル」、「リプレイ」の図柄は、左、中、右リールのいずれについても必ず4図柄以内の間隔で配置されているとともに、「スイカ」の図柄は、右リールについて必ず4図柄以内の間隔で配置されているので、これらの図柄によって構成されるベル、リプレイ、JACは、当選しているときには取りこぼしが生じない。特にレギュラーボーナス中のベルは、非常に高い確率で当選することとなるが、これの取りこぼしが生じ得ないので、レギュラーボーナスでは遊技者が実質的には目押しをしなくても済むようになり、簡単に遊技を進められるようになる。
上記したように遊技状態毎に内部抽選の対象となる役の種類は、遊技状態別当選役テーブルに登録されているが、各役の当選確率を定める判定値数は、役別テーブルから参照されるアドレスに格納されている。役別テーブルには、各役の入賞が発生したときの払出枚数も登録されている。
役別テーブルにおいて、メダルの払出枚数は賭数に応じて登録されており、チェリー、1枚(1)、1枚(2)、ベルの入賞が発生したときには、賭数に応じてメダルの払出枚数が設定される。ここで、レギュラーボーナスにおける賭数は1で固定されているが、通常遊技状態における賭数は3で固定されている。これにより、賭数に応じてメダルの払出枚数を取得するだけでも、遊技状態に応じて適切な数のメダルを払い出すことができる。また、払出枚数を設定する際に遊技状態を判断する必要がないので、入賞判定処理における処理ステップが簡素化される。しかも、レギュラーボーナスに対応した賭数1の方が、賭数3のときよりも入賞時における払出枚数が多いので、レギュラーボーナスにおける遊技者の期待感を更に高めさせて、遊技の興趣を向上させることができる。
役別テーブルにおいて、いずれの遊技状態においても入賞となる役として定められたチェリー、1枚(1)、1枚(2)、ベルについては、賭数毎に判定値数の格納先アドレスが登録されており、賭数に従って判定値数が取得されることとなる。ここで、レギュラーボーナスにおける賭数は1で固定されているが、レギュラーボーナス以外の遊技状態における賭数は3で固定されている。これにより、賭数に応じて判定値数を取得するだけでも、遊技状態に応じた当選確率でチェリー、1枚(1)、1枚(2)、ベルの内部抽選を行うことができる。また、判定値数を取得する際に遊技状態を判断する必要がないので、内部抽選における処理ステップが簡素化される。しかも、レギュラーボーナスに対応した賭数1の方が、賭数3のときよりもベルの当選確率が高いので、レギュラーボーナスにおける遊技者の期待感を更に高めさせて、遊技の興趣を向上させることができる。
また、役別テーブルに登録されている各役の判定値数の格納先のアドレスは、設定値に応じて異なっている場合もあるが、設定値に関わらずに当選確率を同一とするものとした役については、設定値に関わらずに判定値数が共通化して格納されるものとなる。このように判定値数を共通化して格納することで、そのために必要な記憶容量が少なくて済むようになる。もっとも、役別テーブルにおいて、内部抽選の対象役と設定されている賭数とが同じで設定値に応じて参照される判定値数を格納したアドレスが異なっていても、異なるアドレスにおいて格納されている判定値数が同じである場合がある。
一般に開発段階においては、少なくとも一部の役について設定値に応じて判定値数を調整しながら(すなわち、内部抽選の当選確率を調整しながら)、シミュレーションを行っていくものとしている。当初の判定値数として、設定値に応じて異なる判定値数を登録しておいたが、シミュレーションにより調整を行った結果として、設定値が異なる場合の判定値数が同一になる場合もある。当初の判定値数として、設定値に応じて同一の判定値数を登録しておいたが、シミュレーションの結果により当初から登録してあった判定値数がそのまま用いられる場合もある(シミュレーションの結果により当初とは異なる判定値数すなわち、設定値に応じて異なる判定値数となる場合もある)。そして、それぞれの場合におけるシミュレーションで適切な結果の得られた判定値数を、量産用の機種に設定する判定値数として選ぶものとしている。
ここで、シミュレーションにより調整された判定値数が結果として設定値に関わらずに同じになったとしても、その開発段階でのアドレス割り当てと同じアドレスの割り当てで判定値数をROM41bに記憶して、そのまま量産用の機種とすることができる。このため、量産用の機種において判定値数の格納方法を開発用の機種から変更する必要がなく、最初の設計段階から量産用の機種に移行するまでの開発を容易に行うことができるようになる。
また、役別テーブルに登録されている各役の判定値数の格納先のアドレスは、賭数(1または3)に応じて異なっているが、例えば、異なるアドレスにおいて格納されている判定値数が同じであっても良い。
開発用の機種においては、賭数に応じても判定値データを微妙に調整しながらシミュレーションを行っていくのが通常である(当初の判定値数を異なるものとしておく場合と、同じものとしておく場合とがあり得る)。ここで、シミュレーションにより調整された判定値数が結果として賭数に関わらずに同じになったとしても、その開発段階でのアドレス割り当てと同じアドレスの割り当てで判定値数をROM41bに記憶して、そのまま量産用の機種とすることができる。このため、量産用の機種において判定値数の格納方法を開発用の機種から変更する必要がなく、最初の設計段階から量産用の機種に移行するまでの開発を容易に行うことができるようになる。
また、内部抽選は、取得した内部抽選用の乱数に、役別テーブルから参照された各役の判定値数を加算していき、その加算の結果がオーバーフローしたか否かによって、それぞれの役の当選の有無を判定するものとしている。このため、各役の判定値数をそのまま用いて内部抽選を行うことができる。尚、実際の当選判定を行う前に当選判定用テーブルを生成する場合にはループ処理が2回必要になるが、この実施の形態によれば、抽選処理におけるループ処理が1回で済むようになり、抽選処理全体での処理効率が高いものとなる。
また、本実施例において乱数取得処理によって取得される内部抽選用の乱数は、サンプリング回路43により乱数発生回路42から抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工してから使用するものとしている。乱数発生回路42は、パルス発生回路42aのパルス信号の周波数で高速に更新して乱数を発生しているが、ソフトウェアにより加工した後の内部抽選用の乱数では、その加工によって更新の周期性が失われるものとなる。
これに対して、内部抽選では各役に対応した判定値数を内部抽選用の乱数の値に順次加算していくことにより行うため、図6及び図7に示したように各役を当選とする内部抽選用の乱数の値は、固まってしまうこととなる。これに対して、ソフトウェアによる加工で内部抽選用の乱数の周期性を失わせ、その値をバラつかせることによって、遊技者による狙い打ちを可能な限り防ぐことができる。
しかも、乱数発生回路42のカウンタ42b、42cの値を更新させるためにパルス発生回路42aが発生するパルス信号の周波数は、CPU41aの動作クロックの周波数よりも高く、整数倍ともなっていない。このため、乱数発生回路42が発生する乱数の更新が、CPU41aが行う処理と同期しにくくなる。しかも、パルス発生回路42aのパルス信号の周波数の方を高くすることで、乱数発生回路42が発生する乱数の更新速度を非常に速いものとすることができる。
一方、ソフトウェアによる乱数の加工は、サンプリング回路43により乱数発生回路42から抽出した乱数の上位バイトと下位バイトとを入れ替えるだけで良い。従って、16ビットという比較的大きな乱数であっても、周期性を失わせるために必要な加工の処理に要する負荷がそれほど大きくならず、容易に取得することができる。このように大きな乱数が取得できることで、内部抽選における確率設定を細かく行うことができるようになる。
また、本実施例のスロットマシン1では、設定値ワーク1から読み出した値が1〜6の範囲か否か、すなわち内部抽選に用いる設定値が適正な範囲の値か否かを判定する設定値判定処理1を1ゲーム毎に実行し、設定値ワーク1から読み出した値が1〜6の範囲の値でなければ、RAM異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例において設定値ワーク1に格納される値、すなわち設定変更処理により選択可能な設定値の範囲は1〜6の値であるので、設定値ワーク1に格納されている値が1〜6の範囲の値でなければゲームの進行が不能化されることとなる。
そして、一度RAM異常エラーによるエラー状態に制御されると、設定変更モードに移行させて、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわちデータ化けなどにより、設定値が適正でない場合には、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値(一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である)に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
また、本実施例のスロットマシン1では、設定値ワーク1から読み出した値と、設定値ワーク2から読み出した値と、が一致するか否か、すなわち内部抽選に用いる設定値と、設定変更時に設定された設定値と、が一致するか否かを判定する設定値判定処理2を1ゲーム毎に実行し、設定値ワーク1から読み出した値と、設定値ワーク2から読み出した値と、が一致しない場合にも、RAM異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例では、設定変更時に設定値ワーク1と設定値ワーク2のそれぞれに変更後の設定値が格納されるようになっており、通常は設定値1に格納されている値と設定値2に格納されている値とが一致するはずであり、これらの値が一致しなければ、設定値が不正に書き換えられた可能性があり、この場合にもゲームの進行が不能化されることとなる。
また、設定値ワーク1から読み出した値と、設定値ワーク3から読み出した値と、が一致するか否か、すなわち今回のゲームの内部抽選に用いる設定値と、前回のゲームの内部抽選に用いた設定値と、が一致するか否かを判定する設定値判定処理3を1ゲーム毎に実行し、設定値ワーク1から読み出した値と、設定値ワーク3から読み出した値と、が一致しない場合にも、RAM異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例では、内部抽選に用いた設定値を設定値ワーク3に格納するようになっており、通常は設定値1に格納されている値(今回のゲームの内部抽選で用いる設定値)と設定値3に格納されている値(前回のゲームの内部抽選で用いた設定値)とが一致するはずであり、これらの値が一致しなければ、設定値が不正に書き換えられた可能性があり、この場合にもゲームの進行が不能化されることとなる。
そして、一度RAM異常エラーによるエラー状態に制御されると、設定変更モードに移行させて、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち不正に設定値が書き換えられた可能性がある場合においてゲームを再開するためには、通常のエラー状態を解除するためのリセット操作よりも手間のかかる設定変更操作を行う必要があるので、かかる不正行為を効果的に防止することができる。
また、不正に設定値が書き換えられた可能性がある場合には、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値(一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である)に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
尚、本実施例では、内部抽選に用いる設定値、すなわち内部抽選の当選確率を定めた設定値として1〜6の範囲の6段階の値を適用しているが、設定値はこれに限られるものではなく、少なくとも複数段階の設定値を選択して設定できるものであれば良く、例えば、高/低の2段階を選択可能な設定値や、1〜3の範囲の3段階の設定値を選択可能な設定値などを適用しても良い。更に、RAM41cの設定値ワーク1〜3には、これら設定値を示す値として1〜6の値そのものを格納しているが、設定値を特定可能な値が格納されるものであれば良く、例えば、1〜6の設定値に対応して0〜5(実際の設定値から1を減算した値)を設定値ワーク1〜3に格納するようにしても良い。
また、本実施例のスロットマシン1では、メイン制御部41のRAM41cにおける未使用領域が1ゲーム毎に初期化されるので、RAM41cの未使用領域を利用して不正プログラムを格納させても、当該不正プログラムが常駐してしまうことを防止できる。
また、本実施例では、RAM41cにおける未使用領域に加えてスタック領域における未使用スタック領域も1ゲーム毎に初期化されるので、RAM41cにおいてその時点で使用されていない全ての領域が1ゲーム毎に初期化されることとなり、例え、RAM41cの未使用領域を利用せずに未使用スタック領域を利用して不正プログラムを格納させようとしても、当該不正プログラムが常駐してしまう余地を無くすことができるので、不正プログラムが常駐してしまうことを一層確実に防止できるとともに、例えば、未使用スタック領域に不正なデータ(不正プログラムが指定するアドレス等)を加え、データの復帰時にマイクロコンピュータを誤作動させることでレジスタを不正なものに書き換えてしまうことにより、本来のプログラムとは異なる動作を行わせてしまうような不正も防止できる。更に、未使用スタック領域に不正なデータが格納されることによって、本来であれば退避したデータを格納できるはずの領域が圧迫され、スタック領域がオーバーフローしてしまい、メイン制御部41を構成するマイクロコンピュータが暴走してしまう等の不具合も防止できる。
尚、本実施例では、RAM41cの未使用領域及び未使用スタック領域を1ゲーム毎に初期化しているが、少なくともRAM41cの未使用領域または未使用スタック領域のいずれか一方の領域を1ゲーム毎に初期化するものであれば良い。
また、本実施例では、ゲーム終了時にRAM41cの未使用領域及び未使用スタック領域を初期化する初期化4を毎ゲーム実行することで、RAM41cの未使用領域や未使用スタック領域を1ゲーム毎に初期化しているが、少なくとも1ゲーム毎に1回以上RAM41cの未使用領域及び/または未使用スタック領域が初期化されるものであれば、RAM41cの未使用領域及び/または未使用スタック領域の初期化を行うタイミングは、1ゲーム中のどのタイミングであっても良く、例えば、ゲーム開始時や1ゲーム毎に必ず実行される処理の実行時にRAM41cの未使用領域及び/または未使用スタック領域の初期化を行うものであっても良い。
また、設定開始前(設定変更モードへの移行前)、ビッグボーナス終了時、起動時にRAM41cのデータが破壊されていないとき、1ゲーム終了時の4つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化1〜4を行うとともに、これら4種類の初期化条件のうちどの条件が成立した場合でも、必ずRAM41cにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、不正プログラムが常駐してしまうことを一層確実に防止できる。
特に、起動時においてRAM41cのデータが破壊されていないときに、必ずRAM41cにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、RAM41cにの未使用領域や未使用スタック領域を利用して不正プログラムや不正データが格納された場合にも、当該不正プログラムや不正データが格納されたままメイン制御部41の制御状態がRAM41cのデータに基づいて復帰してしまうことを防止できる。
また、電断割込処理において、いずれかのビットが1となる破壊診断用データをRAM41cの所定アドレスに格納した後、RAM41cの未使用領域及び未使用スタック領域を含む全てのデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、格納するとともに、復旧時においてRAM41cにおける未使用領域及び未使用スタック領域を含む全ての領域に格納されているデータに基づいて計算したRAMパリティが0か否か、及び破壊診断用データが格納されているか否か、を判定し、RAMパリティが0でなかった場合、またはRAMパリティが0であっても破壊診断用データが正常に格納されていない場合には、RAM異常エラーによるエラー状態となり、設定キースイッチ37をONの状態で電源投入し、RAM41cの使用中スタック領域を除く全ての領域を初期化する初期化1が行われるまで、ゲームの進行が不可能となるので、起動時にRAM41cの未使用領域及び/または未使用スタック領域に不正プログラムが格納された場合でも、当該不正プログラムを発見して初期化することができる。
更に、RAM41cに格納されているデータが正常ではないと判定され、RAM異常エラー状態となると、RAM41cの使用中スタック領域を除く全ての領域を初期化する初期化1が行われるようになっており、RAM41cに格納されているデータが正常ではないと判定されたときにも、その後、設定キースイッチ37がONの状態で電源投入されたときにも、RAM41cの使用中スタック領域を除く全ての領域を初期化する初期化1が行われるので、RAM41cに格納されている可能性がある不正プログラムを確実に除去することができる。
また、本実施例では、RAM41cに記憶されているデータに異常が生じた場合には、RAM異常エラーによるエラー状態に制御され、ゲームの進行が不能化されるとともに、一度RAM異常エラーによるエラー状態に制御されると、設定変更モードに移行し、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、RAM41cに記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値(一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である)に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
また、RAM41cに記憶されたデータに異常が生じるのは、停電時やCPU41aが暴走する等、制御に不具合が生じて制御を続行できないときがほとんどである。このため本実施例では、これらの状態から復旧してCPU41aが起動するときにおいてのみデータが正常か否かの判定を行うようになっているので、RAM41cに記憶されたデータが正常か否かの判定をデータに異常が生じている可能性が高い状況においてのみ行うことができる。すなわちデータに異常が生じている可能性の低い状況では、当該判定を行わずに済み、CPU41aの負荷を軽減させることができる。
また、本実施例では、電断割込処理においてRAM41cの全てのデータに基づくRAMパリティ、すなわち排他的論理和演算した結果が0となるようにRAMパリティ調整用データを計算し、格納するとともに、復旧時においてRAM41cにおける全ての領域に格納されているデータに基づいて計算したRAMパリティが0か否かを判定することで、RAM41cのデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができる。
また、本実施例では、電断割込処理において、いずれかのビットが1となる破壊診断用データ(本実施例では、5AH)、すなわち0以外の特定のデータをRAM41cの所定のアドレスに格納した後、この破壊診断用データを含むRAM41cの全てのデータに基づくRAMパリティが0となる調整用データを格納し、起動時においてRAMパリティが0か否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、RAMパリティが0であり、かつ破壊診断用データも正常に格納されていることを条件に、RAM41cのデータが正常であると判定し、RAM41cに格納されているデータに基づいて制御状態を復帰させるようになっている。これにより、全ての領域に00Hが格納されている場合、すなわちRAM41cのデータが正常でなくても、RAM41cのデータが0クリアされてしまった場合には、起動時のRAMパリティの判定により正常であると判定されてしまうが、RAM41cのデータが0クリアされてしまった場合には、破壊診断用データが格納されるべき領域も0となり、RAM41cのデータが正常ではないと判定され、誤ってRAM41cのデータが正常であると判定されてしまうことを防止できるので、起動時においてRAM41cのデータが正しい内容であるか否かの判定精度を一層高めることができる。
また、CPU41aは、起動時においてRAMパリティが0であり、かつ破壊診断用データも正常に格納されていると判定し、RAM41cのデータが正常であると判定すると、RAM41cに格納されている破壊診断用データをクリアするようになっているので、起動後もRAM41cに破壊診断用データが格納されたままの状態となることで、次回起動時においてRAM41cのデータが正常ではないにも関わらず、破壊診断用データが格納されているために正常であると誤って判定してしまうことを防止できる。
また、本実施例では、RAM41cのデータに異常が生じて、ゲームの進行が不能化された場合には、ゲームの進行が不能化された状態を解除する条件となる設定値の変更操作が有効となる設定変更モード(設定変更処理)へ移行することに伴って、RAM41cの使用中スタック領域を除く全ての領域が初期化されるので、RAM41cのデータに異常が生じたことに伴うデータの初期化及び設定値の選択・設定に伴うデータの初期化を1度で行うことができ、無駄な処理を省くことができる。更に、CPU41aの起動時には、RAM41cのデータが正常か否かを判定する前に、設定キースイッチ37がONの状態であるか否かを判定し、その時点で設定キースイッチ37がONの状態であると判定した場合には、RAM41cのデータが正常か否かの判定は行わず、設定変更モードに移行し、新たに設定値が選択・設定されることとなり、この場合にも無駄な処理を省くことができる。
尚、本実施例では、設定変更処理に移行する前に、RAM41cの使用中スタック領域を除く全ての領域を初期化する初期化1を行っているが、設定変更処理に移行することに伴って初期化1が行われれば良く、例えば、設定変更処理の終了後に行っても良いし、設定変更処理において設定値が確定した時点で行っても良い。尚、この場合には、確定した設定値が変更されてしまうと不都合が生じるので、初期化1においては、RAM41cの使用中スタック領域及び設定値ワークを除く全ての領域が初期化されることとなる。
また、本実施例では、一度RAM異常エラーによるエラー状態に制御されると、設定変更処理が行われるまで、ゲームが不能動化されるようになっているが、RAM異常エラーによるエラー状態となったときに、RAM41cの使用中スタック領域を除く全ての領域を初期化する初期化1を行うとともに、設定値を初期値(例えば、設定値1)に設定し、この状態でリセット操作がなされることで、ゲームを再開できるようにしても良い。
また、本実施例では、CPU41aが演出制御基板90に対して遊技の進行に応じたコマンドを送信し、演出制御基板90に搭載されたサブ制御部91は、遊技制御基板40から送信されたコマンドに基づいて演出の制御を行うようになっており、CPU41aは、コマンドを送信するのみで演出の制御を行う必要がないので、CPU41aの処理負荷を軽減できるうえに、演出を多彩なものにできる。
また、遊技制御基板40から演出制御基板90にコマンドが送信されるコマンド伝送ラインが、遊技制御基板40と演出制御基板90との間で演出中継基板80を介して接続されており、遊技制御基板40に演出制御基板90が直接接続される構成ではないので、コマンド伝送ラインからCPU41aに対して外部から不正な信号が入力され、遊技の制御に影響を与えられてしまうことを防止できる。
また、本実施例では、トリガー端子CLK/TRGに電圧低下信号が入力されることで、CPU41aが実行中の処理に割り込んで電断割込処理を実行するようになっているが、電断割込処理では、破壊診断用データを設定する処理やRAMパリティ調整用データを計算して設定する処理等、復旧時にRAM41cのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行う前に、信号入力端子DATAに電圧低下信号が入力されているか否かを判定を行い、信号入力端子DATAにも電圧低下信号が入力されていれば、復旧時にRAM41cのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行うのに対して、信号入力端子DATAに電圧低下信号が入力されていなければ、もとの処理に復帰するようになっている。
すなわち、メイン制御部41には、電圧低下信号が2系統の入力部に入力され、CPU41aは、一方の入力部に電圧低下信号が入力されて電断割込処理を実行しても、復旧時にRAM41cのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等が実行される前に再度他方の入力部に電圧低下信号が入力されているか否かを判定し、他方の入力部にも電圧低下信号が入力されていて初めてこれらの処理が実行されるようになっており、電断を誤って検出した際に、誤って復旧時にRAM41cのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等の処理が行われてしまうことが防止できるので、電断を誤って検出することに伴い、必要以上に長い間CPU41aの制御が中断されたり、必要以上に負荷がかかってしまうことを防止できる。
また、電断割込処理及びタイマ割込処理(メイン)の実行中においては、他の割込が禁止されるようになっており、例えば、タイマ割込処理(メイン)の実行中に電圧低下信号が入力された場合でも2重に割込が生じることがなく、CPU41aの処理負荷が増大してしまったりデータの整合性がとれなくなってしまうことを防止できる。特に、コマンドの送信中に電圧低下信号が入力されても、割込が生じて当該コマンドの送信が阻害されることがなく、CPU41aの駆動が停止する前に正常に送信を完了させることができる。
また、電断割込処理の割込タイミングとタイマ割込処理(メイン)の割込タイミングとが同時となった場合、すなわち割込2と割込3が同時に発生した場合には、割込2を優先し、電断割込処理を実行するとともに、タイマ割込処理(メイン)の実行中に割込2が発生した場合には、当該タイマ割込処理(メイン)の終了を待って電断割込処理を実行するようになっており、多重割込を防止しつつも極力早い段階で電断割込処理が行われるので、CPU41aの駆動が停止する前に電断割込処理を確実に行うことができる。
また、CPU41aは、割込1〜4の4種類の割込を実行可能であり、このうち未使用に設定されている割込1、4が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。このため、未使用の割込1、4が発生したときでも、すぐに割込前の処理に復帰することとなるので、ノイズ等によって未使用の割込が発生してもCPU41aが暴走してしまうといった不具合を防止できる。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
例えば、前記実施例では、リールの回転が開始したとき及び、リールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成しているが、各遊技状態のそれぞれについての内部当選状態、及びリールの停止状況(及び停止済みの停止位置)別の停止制御テーブルを予めROM41bに登録しておき、テーブルインデックスに基づいて、遊技状態のそれぞれについての内部当選状態、及びリールの停止状況に応じて必要な停止制御テーブルを特定可能とし、リールの回転が開始したとき及び、リールが停止し、かつ未だ回転中のリールが残っているときに、テーブルインデックスを参照して、回転中のリール別に停止制御テーブルを設定するようにしても良い。
また、前記実施例では、リール1周に対して8ステップ毎(1図柄毎)に分割した21の領域(コマ)が定められており、停止制御テーブルとして、それぞれの領域(領域番号)に対応して、引込コマ数(停止位置)が一意的に定められた停止制御テーブル、すなわち1図柄が変動する範囲の領域に対応して停止位置が一意的に定められた停止制御テーブルを用いてリールの停止制御を行っているが、例えば、1図柄未満の領域毎、例えば1ステップ、すなわちリールモータを駆動する際の最小単位毎に、引込ステップ数や引込コマ数(停止位置)を一意的に定めた停止制御テーブルを用いてリールの停止制御を行っても良く、このようにすることで、リールモータのステップ数単位で停止位置を変化させることが可能となり、停止操作位置に対する停止位置を更に多様化することができる。
また、前記実施例では、停止操作位置に対する引込コマ数を一意的に定めた複数の停止制御テーブルのうち、各遊技状態のそれぞれの内部当選状態、リールの停止状況(及び停止済みの停止位置)に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行っているが、停止操作位置に対する停止位置を一意的に定めた複数の停止位置特定テーブルを停止制御テーブルの替わりに用いて、停止操作が検出された際に、停止位置特定テーブルを参照し、停止操作位置に対応して一意的に特定される停止位置でリールを停止させる制御を行うようにしても良い。
また、停止位置に対する停止優先度を定めることにより、停止操作位置(リール基準位置からのステップ数)に対して停止位置を一意的に定めた複数の停止優先テーブルを停止制御テーブルの替わりに用いて、停止操作が検出された際に、停止優先テーブルを参照し、停止操作位置から引込可能範囲(最大5コマ)内にある全ての停止位置の停止優先度を比較し、最も停止優先度の高い停止位置でリールを停止させる制御を行うようにしても良い。
また、各遊技状態のそれぞれの内部当選状態、リールの停止状況(及び停止済みのリールの停止位置または停止済みのリールの停止操作位置)に対して一意的に定められた引込コマ数を選択し、停止操作が行われた際に、選択された引込コマ数の範囲内に対象となる停止位置が位置する場合には、当該停止位置を引き込んで停止させる引込制御を行い、停止が禁止された停止位置を停止させないように他の停止位置を引き込んで停止させる蹴飛ばし制御(いわゆるコントロール方式の制御)を行うようにしても良い。このように引込制御及び蹴飛ばし制御を行うことで、停止操作位置(リール基準位置からのステップ数)に対して停止位置が一意的に決まるので、引込制御及び蹴飛ばし制御により表示結果を導出させる制御は、停止操作位置に対して停止位置を一意的に特定する制御パターンといえる。
また、各遊技状態のそれぞれの内部当選状態、リールの停止状況(及び停止済みのリールの停止位置または停止済みのリールの停止操作位置)に対して一意的に定められた制御パターンを選択し、その制御パターンに従ってリールの停止制御を行うものであれば、停止制御テーブルによるリールの停止制御、停止優先テーブルによるリールの停止制御、引込制御及び蹴飛ばし制御によるリールの停止制御を併用して行うものであっても良く、例えば、最初に停止したリールのみ停止制御テーブルを用いてリールの停止制御を行い、他のリールについては、引込制御及び蹴飛ばし制御によりリールの停止制御を行うようにしても良い。
また、前記実施例では、各遊技状態のそれぞれの内部当選状態、及びリールの停止状況(及び停止済みのリールの停止操作位置)に対して一意的に定められた制御パターンを選択し、その制御パターンに従ってリールの停止制御を行っているが、少なくとも各遊技状態のそれぞれの内部当選状態に対して一意的に定められた制御パターンを選択し、その選択した制御パターンに従ってリールの停止制御を行うものであれば良い。
また、前記実施例では、内部抽選に用いる判定値数が記憶されるRAM41cの判定値数記憶領域は、2バイトの領域を用いて、それぞれの場合における判定値数を記憶するものとしていた。もっとも、一般的なスロットマシンでは、特別役の判定値数は、いずれの遊技状況においても255を超えるものが設定されることはあまりない。このように255を超える判定値数を設定する必要がないものについては、1バイトの領域だけを用いて、判定値数を記憶するものとしても良い。
また、前記実施例では、判定値数が設定値に関わらず共通のものについて、その一部を設定値1〜6の全体に共通して記憶しているが、判定値数が設定値に関わらず共通のものについても、設定値1〜6のそれぞれに対して個別に記憶することもできる。また、判定値数が設定値に関わらず共通のものは、その全てを設定値1〜6の全体に共通して記憶することもできる。
また、前記実施例では、判定値数が、設定値1〜6の全体に共通して記憶されているか、設定値1〜6のそれぞれに対して個別に記憶されているかであった。もっとも、設定値1〜6の全体に共通して判定値数が記憶されない(設定値についての共通フラグが設定されない)ものとして、例えば、設定値1〜3については判定値数が共通、設定値4〜6については判定値数が共通のものとすることもできる。賭数についての判定値数についても同様で、例えば賭数1と2については共通、賭数3では個別とすることもできる。
また、前記実施例では、同一の設定値における同一の役について賭数に応じて参照される判定値数が賭数(1または3)のそれぞれに対して異なるアドレスに格納されていた。すなわち同一の設定値における同一の役について賭数に応じて参照される判定値数が同じであっても個別に記憶されていたが、賭数に関わらず当選確率を同一とするものとした役について、判定値数の格納先のアドレスを共通化したり、設定値及び賭数に関わらず当選確率を同一とするものとした役について、判定値数の格納先のアドレスを共通化するようにしても良く、このように判定値数を共通化して格納することで、そのために必要な記憶容量が少なくて済むようになる。
また、前記実施例では、設定値等に応じて取得した判定値数を内部抽選用の乱数の値に順次加算していたが、取得した判定値数を取得した内部抽選用の乱数の値から順次減算して、減算の結果を新たな内部抽選用の乱数の値とするものとしても良い。判定値数を内部抽選用の乱数の値から減算するときには、減算の結果にオーバーフロー(ここでは、減算結果がマイナスとなること)が生じたかどうかを判定するものとすることができる。
また、前記実施例では、内部抽選において、取得した内部抽選用の乱数の値に遊技状況に応じた各役の判定値数を順次加算していき、加算結果がオーバーフローしたときに当該役を当選と判定するものとしていた。これに対して、遊技状況に応じた各役の判定値数に応じて、各役を当選と判定する判定値を定めた当選判定用テーブルをゲーム毎に作成し、取得した内部抽選用の乱数の値を各役の判定値と比較することで、内部抽選を行うものとしても良い。また、各役を当選と判定する判定値を定めた当選判定用テーブルを予めROM41bに格納しておき、取得した内部抽選用の乱数の値を各役の判定値と比較することで、内部抽選を行うものとしても良い。
また、前記実施例では、通常遊技状態において、賭数として3を設定することのみによりゲームを開始させることができた。これに対して、通常遊技状態においても、賭数として1を設定してゲームを開始させることをできるようにしたり、更には賭数として2を設定してゲームを開始させることをできるようにしても良い。これにより、通常遊技状態で賭数として1または2が設定されていたときには、賭数として3が設定されたときよりも内部抽選における小役の当選確率を低下させるともに、小役に入賞したときの払い出しメダル枚数を増加させることができる。例えば、通常遊技状態で賭数として3が設定されたときには、ベルの当選確率を1/4.82、払出枚数を7枚とするが、賭数として1または2が設定されたときには、ベルの当選確率を1/4.82よりも低くし、払出枚数を7枚よりも多くしても良い。更に賭数として1が設定されたときと2が設定されたときとで、ベルの当選確率及び払出枚数を変えても良い。
また、前記実施例では、1回の内部抽選において特別役と小役または再遊技役とが同時に当選することがない構成であったが、1回の内部抽選において特別役と小役または再遊技役とが同時に当選するようにしても良い。
例えば、小役及び再遊技役の格納先アドレスが登録された小役及び再遊技役用の役別テーブルと、特別役の判定値数の格納先アドレスが登録された特別役用の役別テーブルと、を設け、内部抽選において、同一の内部抽選用の乱数について、小役及び再遊技役用の役別テーブルを参照する小役及び再遊技役の抽選と、特別役用の役別テーブルを参照する特別役の抽選と、を別個に行うとともに、小役及び再遊技役用の役別テーブルに登録されているアドレス領域に格納された判定値数及び特別役用の役別テーブルに登録されているアドレス領域に格納された判定値数から、小役、再遊技役、特別役がそれぞれ単独で当選する判定値の範囲と、小役または再遊技役と特別役とが重複して当選する判定値の範囲と、が特定できるようにすることにより、小役または再遊技役と特別役とが同時に当選し得る構成としても良く、このような構成とした場合には、ゲームの結果として小役または再遊技役の入賞が発生した場合でも、小役や再遊技役よりも有利度の高い特別役の発生が許容されていることが否定されないので、このような状況においても特別役の発生に対する遊技者の期待感を持続させることができる。
また、この場合には、特別役の成立後、すなわち特別役の当選フラグが持ち越されている状態においては、小役及び再遊技役の抽選のみを行うことにより、複数の特別役が重複して当選してしまうことがない。更に、特別役の成立前後において、小役及び再遊技役の抽選を共通化できるので、通常遊技状態における内部抽選を簡素化することができるとともに、特別役の成立後、持ち越されている状態においては、小役及び再遊技役の抽選のみを行えば良いので、特別役の当選が持ち越されている状態での内部抽選の処理効率も高くなる。一方、特別役の成立後も、小役及び再遊技役の抽選、及び特別役の抽選の双方を行い、特別役の抽選により特別役が当選した場合に、当該当選を無効に扱うようにしても良く、この場合でも、複数の特別役が重複して当選してしまうことがない。
また、上記の構成においては、特別役の成立後、すなわち特別役の当選フラグが持ち越されている状態において、特別役が単独で当選する判定値の範囲の値が内部抽選用の乱数として取得された場合にハズレと判定され、小役及び特別役が重複して当選する判定値の範囲の値が内部抽選用の乱数として取得された場合に、小役のみの当選が判定されることで、複数の特別役が当選してしまうことがないようになっているが、小役及び特別役が重複して当選する判定値の範囲の値が内部抽選用の乱数として取得された場合にもハズレと判定するようにしても良く、この場合でも、複数の特別役が重複して当選してしまうことがない。また、特別役の成立後は、特別役が単独で当選する判定値の範囲や小役及び特別役が重複して当選する判定値の範囲を特定可能なデータが登録されていない役別テーブル、すなわち再遊技役が当選する判定値の範囲を特定可能なデータと小役が当選する判定値の範囲を特定可能なデータのみが登録された役別テーブルによって内部抽選処理を行うようにしても良く、この場合でも、複数の特別役が重複して当選してしまうことがない。
また、小役及び再遊技役用の役別テーブルに登録されているアドレス領域に格納された判定値数及び特別役用の役別テーブルに登録されているアドレス領域に格納された判定値数から、小役及び再遊技役が単独で当選する判定値の範囲、小役または再遊技役と特別役とが重複して当選する判定値の範囲のみが特定できるようにしても良く、このような構成によれば、ゲームの結果として小役または再遊技役が入賞した場合でも、特別役に当選していることが否定されないので、このような状況においても特別役の入賞に対する遊技者の期待感を持続させることができる。
また、役別テーブルに、特別役のみに対応する判定値数の格納先のアドレス、特別役と小役または再遊技役との双方に対応する判定値数の格納先のアドレス、小役または再遊技役のみに対応する判定値数の格納先アドレスをそれぞれ登録しておき、内部抽選において、取得した内部抽選用の乱数に、役別テーブルから参照された各役の判定値数を加算していき、特別役のみに対応する判定値数との加算結果がオーバーフローした場合には、特別役のみの当選を判定し、特別役と小役または再遊技役との双方に対応する判定値数との加算結果がオーバーフローした場合には、特別役と小役または再遊技役との双方の当選を判定し、小役または再遊技役のみに対応する判定値数との加算結果がオーバーフローした場合には、小役または再遊技役のみの当選を判定するようにすることで、特別役と小役または再遊技役とが同時に当選し得る構成としても良く、このような構成とした場合でも、ゲームの結果として一般役が入賞が発生した場合でも、小役や再遊技役よりも有利度の高い特別役の発生が許容されていることが否定されないので、このような状況においても特別役の発生に対する遊技者の期待感を持続させることができる。
また、この場合には、役または役の組み合わせの種類に関わらず、同じループ処理を用いて当選したか否かの判定を行えるので、上述のように役の種類に応じて個別の判定を行う場合よりも、抽選処理を実行するための処理プログラムの容量を更に削減することができる。
また、上記の構成においては、特別役の成立後、すなわち特別役の当選フラグが持ち越されている状態において、特別役が単独で当選する判定値の範囲の値が内部抽選用の乱数として取得された場合にハズレと判定し、小役または再遊技役と特別役とが重複して当選する判定値の範囲の値が内部抽選用の乱数として取得された場合に、小役または再遊技役のみの当選が判定されることで、複数の特別役が当選してしまうことがない。また、特別役の成立後において、小役または再遊技役と特別役とが重複して当選する判定値の範囲の値が内部抽選用の乱数として取得された場合にもハズレと判定するようにしても良く、この場合でも、複数の特別役が重複して当選してしまうことがない。また、特別役の成立後は、特別役が単独で当選する判定値の範囲や小役または再遊技役と特別役とが重複して当選する判定値の範囲を特定可能なデータが登録されていない役別テーブル、すなわち再遊技役が当選する判定値の範囲を特定可能なデータと小役が当選する判定値の範囲を特定可能なデータのみが登録された役別テーブルによって内部抽選処理を行うようにしても良く、この場合でも、複数の特別役が重複して当選してしまうことがない。
また、役別テーブルに登録されているアドレス領域に格納された判定値数から、再遊技役または小役が単独で当選する判定値の範囲、小役または再遊技役と特別役とが重複して当選する判定値の範囲のみが特定できるようにしても良く、このような構成によれば、ゲームの結果として小役が入賞した場合でも、特別役に当選していることが否定されないので、このような状況においても特別役の入賞に対する遊技者の期待感を持続させることができる。
また、小役または再遊技役と特別役とが同時に当選しうる場合には、例えば、ビッグボーナスと1枚(1)、ビッグボーナスと1枚(2)、ビッグボーナスとチェリー、ビッグボーナスとベルなど、ボーナスと複数種類の小役または再遊技役とが重複して当選できるようにしても良い。このようにすることで、内部抽選により例えばビッグボーナスと1枚(1)またはビッグボーナスと1枚(2)が同時に当選した場合において、1枚(1)、1枚(2)及びビッグボーナスを取りこぼしたときには、前述したようにチャンス目が導出されるので、ビッグボーナスに対する期待感が高まるとともに、1枚(1)または1枚(2)が入賞したときには、チャンス目は導出されないが、ビッグボーナスが同時当選していることを期待できるようになるため、1枚(1)または1枚(2)を入賞させてしまった場合でも、ビッグボーナスに対する期待感を持続させることができる。
更に、この場合には、ビッグボーナスとベルが重複して当選する判定値の範囲よりも、ビッグボーナスとチェリーが重複して当選する判定値の範囲の方が大きくなるように設定し、ビッグボーナスとベルが同時に当選する確率よりも、ビッグボーナスとチェリーが同時に当選する確率の方が高くなるようにしても良く、このようにすれば、ベルが入賞したときよりもチェリーが入賞したときの方が、ビッグボーナスと同時に当選している可能性が高くなるので、小役や再遊技役が入賞したときに、その種類によって特別役の当選に対する期待感に変化を持たせることができるため、興趣を高めることができる。また、ビッグボーナスとチェリー及びビッグボーナスとベルが重複して当選する判定値の範囲よりも、ビッグボーナスと1枚(1)または1枚(2)が重複して当選する判定値の範囲の方が大きくなるように設定し、ビッグボーナスとチェリーまたはベルが同時に当選する確率よりも、ビッグボーナスと1枚(1)または1枚(2)が同時に当選する確率の方が高くなるようにしても良く、このようにすれば、チェリーやベルが入賞したときよりも1枚(1)または1枚(2)が入賞したときの方が、ビッグボーナスと同時に当選している可能性が高くなるので、1枚(1)または1枚(2)が入賞したときに特別役の当選に対する期待感に変化を持たせることができるため、興趣を高めることができる。
前記実施例では、乱数発生回路42から抽出した乱数の上位バイト全体を下位バイトで置換し、下位バイト全体を上位バイトで置換するという入れ替えを行っていた。これに対して、乱数発生回路42から抽出した乱数のビットのうちの特定のビットのデータを他のビットのデータ(但し、マスクされる第7、第15ビット以外)で置換するだけであっても良い。また、乱数発生回路42から抽出した乱数の値を、そのまま内部抽選用の乱数として取得するものとしても良い。更に、上記の実施の形態とは異なる方法により内部抽選用の乱数に加工するものとしても良い。
図31は、乱数発生回路42から抽出した乱数をCPU41aがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第1の変形例の説明図である。この第1の変形例でも、乱数発生回路42から抽出された乱数は、CPU41aが有する16ビットの汎用レジスタ41GRに格納されるものとなる。
乱数発生回路42から抽出された乱数が汎用レジスタ41GRに格納されると、CPU41aは、更に内部のリフレッシュレジスタ(Rレジスタ)41Rの値を加工用の乱数として抽出する。CPU41aは、汎用レジスタ41GRの上位バイトの値(上位カウンタ42cから抽出した値)にRレジスタ41Rから抽出した加工用の乱数を加算する。汎用レジスタ41GRの下位バイトの値(下位カウンタ42bから抽出した値)は、そのままにしておく。
次に、CPU41aは、汎用レジスタ41GRの値、すなわち上位バイトに加工用の乱数を加算した値を、8080hと論理和演算をする。更に、CPU41aは、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。CPU41aは、このときに汎用レジスタ41GRに格納されている値を内部抽選用の乱数とし、これに判定値数を順次加算していくものとなる。
図32は、乱数発生回路42から抽出した乱数をCPU41aがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第2の変形例の説明図である。この例でも、乱数発生回路42から抽出された乱数は、CPU41aが有する16ビットの汎用レジスタ41GRに格納されるものとなる。
乱数発生回路42から抽出された乱数が汎用レジスタ41GRに格納されると、CPU41aは、更に内部のRレジスタ41Rの値を加工用の乱数として抽出する。CPU41aは、汎用レジスタ41GRの上位バイトの値(上位カウンタ42cから抽出した値)にRレジスタ41Rから抽出した加工用の乱数を加算する。また、汎用レジスタ41GRの下位バイトの値(下位カウンタ42bから抽出した値)にもRレジスタ41Rから抽出した加工用の乱数を加算する。
次に、CPU41aは、汎用レジスタ41GRの値、すなわち上位バイト及び下位バイトにそれぞれ加工用の乱数を加算した値を、8080hと論理和演算をする。更に、CPU41aは、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。CPU41aは、このときに汎用レジスタ41GRに格納されている値を内部抽選用の乱数とし、これに判定値数を順次加算していくものとなる。
以上説明した第1、第2の変形例では、Rレジスタ41Rの値を加工用の乱数として抽出し、これを乱数発生回路42から抽出した乱数の上位バイト(第2変形例では、更に下位バイト)に加算して、乱数の加工を行うものとしている。ここで適用した乱数の加工には、少なくとも加工用の乱数を上位バイトに加算する処理を含んでいる。これにより、内部抽選用の乱数のバラツキを大きくすることができ、遊技者による狙い打ちを可能な限り防ぐことができる。
また、加工用の乱数をRレジスタ41Rから抽出するものとしたことで、加工用の乱数を生成する手段として特別な構成が必要ない。しかも、Rレジスタ41Rの値は、CPU41aの命令フェッチ毎に更新されるもので、その更新間隔は一定しないので、ランダム性の高い乱数を加工用の乱数として抽出することができる。そして、加工用の乱数のランダム性が高いことから、これを用いて生成される内部抽選用の乱数のランダム性も高くなる。
尚、上記第1、第2の変形例において、乱数発生回路42から抽出した乱数の上位バイト(及び下位バイト)にRレジスタ41Rから抽出した値を加算していたが、Rレジスタ41R以外でハードウェアまたはソフトウェアにより周期的に更新される値を加算しても良い。また、Rレジスタ41Rから抽出した値(或いは、Rレジスタに代わるものの値)を加算するのではなく、減算や、論理和、論理積などの論理演算を行っても良い。
また、前記実施例で示した上位バイトと下位バイトとの入れ替えのようなビットの置換を、第1、第2の変形例に併用するものとしても良い。上記第1、第2の変形例においても、乱数発生回路42からの乱数の抽出から加工を終了するまでの間は、HLレジスタの内容が書き換えられてしまうのを防ぐため、CPU41aに対する割り込みが禁止されるものとなる。
また、第2の変形例においては、乱数発生回路42から抽出した乱数の上位バイトと下位バイトにそれぞれ加算する加工用の乱数を、Rレジスタ41Rから異なるタイミングで別々に抽出しても良い。上位バイトに加算する加工用の乱数を更新する手段と、下位バイトに加算する加工用の乱数を更新する手段とを別々に用意し、それぞれから上位バイト用、下位バイト用の加工用の乱数を抽出する手段を設けるものとしても良い。この場合において、上位バイト用の加工用の乱数を更新する手段と下位バイト用の加工用の乱数を更新する手段の一方をRレジスタによって構成するものとすることができる。
また、前記実施例では、乱数発生回路42が発生する乱数、すなわちハードウェア乱数機能により抽出した乱数をソフトウェアにより加工する場合に本発明を適用した場合について説明した。しかしながら、上記したソフトウェアによる乱数の加工は、ソフトウェアにより周期的に更新される乱数に適用しても良い。例えば、メイン制御部41を構成するマイクロコンピュータとは別の第2のマイクロコンピュータにおいてタイマ割り込みなどにより周期的に更新される乱数を、CPU41aが第2のマイクロコンピュータに指示を送って抽出させ、I/Oポート41dを介してCPU41aに入力して、汎用レジスタ41GRに格納するものとすることができる。第2のマイクロコンピュータの機能は、メイン制御部41を構成するマイクロコンピュータに含まれていても良い。この場合にも、加工後に取得される乱数の値をバラつかせることができるようになり、遊技者による狙い打ちの防止の効果を図ることができる。
また、上記では、抽出した乱数も加工後の乱数もCPU41aが備える汎用レジスタ41GRに格納し、内部抽選では、この汎用レジスタ41GRに格納された値に、各役の判定値数を順次加算していく構成としているが、加工後の乱数、すなわち取得した乱数をRAM41cに格納し、RAM41cに格納された値に、各役の判定値数を順次加算していく構成としても良い。
また、前記実施例では、電断割込処理においてRAM41cのRAMパリティが0となるようにRAMパリティ調整用データを格納し、復旧時においてRAM41cのRAMパリティが0か否かを判定することで、RAM41cのデータが正常か否かを判定しているが、もちろん電断割込処理においてRAM41cのRAMパリティが1となるようにRAMパリティ調整用データを格納し、復旧時においてRAM41cのRAMパリティが1か否かを判定することで、RAM41cのデータが正常か否かを判定するようにしても良い。更には、電断割込処理においてRAM41cの全ての領域のチェックサム(該当する領域に格納されているデータの排他的論理和)を計算し、特定の領域に格納するとともに、復旧時において、RAM41cのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算し、その結果が00(H)であればRAM41cのデータが正常であると判定し、00(H)でなければRAM41cのデータが異常であると判定するようにしても良い。
これは、電断割込処理において正常にチェックサムが格納されていれば、復旧時において特定の領域を除く領域のチェックサムと特定の領域に格納されているデータ(電断時に計算したチェックサム)が同じ値をとるはずであり、特定の領域を除く領域のチェックサムと特定の領域に格納されているデータが一致するのであれば、双方のデータの排他的論理和を計算するとその結果が00(H)となるので、RAM41cのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算した結果が00(H)であれば、RAM41cのデータが正常であると判定できるためである。
尚、この場合にも、電断割込処理において、チェックサムを計算する前にいずれかのビットが1となる破壊診断用データ(例えば5A(H))を所定のアドレスに格納し、復旧時においては、チェックサムが00(H)か否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、チェックサムが00(H)であり、かつ破壊診断用データも正常であることを条件に、RAM41cのデータが正常であると判定することが好ましい。RAM41cのデータが正常でなくても、全ての領域に00(H)が格納されている場合には、起動時のチェックサムの判定により正常であると判定されてしまうが、停電時にいずれかのビットが1となる破壊診断用データを格納した後、チェックサムを計算し、特定の領域に格納しておくとともに、起動時にチェックサムの判定に加えて破壊診断用データのチェックも行うことで、例え、起動時において全ての領域が0クリアされてしまい、チェックサムが00(H)となり正常と判定された場合にも、破壊診断用データが停電時に格納された値と一致しなくなり、異常と判定されるため、RAM41cに格納されているデータの異常の判定精度を高めることができる。
また、上記では、電断割込処理においてRAM41cのRAMパリティまたはチェックサムを計算し、RAM41cに格納するとともに、復旧時においてRAM41cの全ての領域に基づいて計算したRAMパリティが0であるか否か、またはRAM41cの全ての領域に基づいて計算したチェックサムが00(H)であるか否か、に基づいてRAM41cのデータが正常か否かを判定しているが、電断割込処理においてRAM41cのRAMパリティまたはチェックサムを計算し、特定の領域に格納するとともに、復旧時においてRAM41cの特定の領域を除くRAMパリティまたはチェックサムを計算し、特定の領域に格納されているRAMパリティまたはチェックサムとの比較結果が一致するか否かによってRAM41cのデータが正常か否かを判定するようにしても良い。尚、この場合にも上記と同様に、RAMパリティやチェックサムを計算する前にいずれかのビットが1となる破壊診断用データを所定のアドレスに格納し、復旧時においては、RAMパリティやチェックサムが一致するか否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、RAMパリティやチェックサムが一致し、かつ破壊診断用データも正常であることを条件に、RAM41cのデータが正常であると判定することが好ましい。
また、前記実施例では、電断割込処理において破壊診断用データとして、5A(H)をRAM41cに格納しているが、0以外のデータを格納し、起動時に確認できるものであれば良い。
また、前記実施例では、CPU41aの起動時において、RAM41cのRAMパリティを計算し、その結果が0であるか否かを判定し、RAMパリティが0であることを条件に破壊診断用データが正常に格納されているか否かの判定を行っているが、まず、破壊診断用データが正常に格納されているか否かを判定し、破壊診断用データが正常に格納されていることを条件に、RAM41cのRAMパリティを計算し、その結果が0であるか否かを判定するようにしても良く、このようにすれば、破壊診断用データが正常に格納されていない場合には、RAMパリティを計算せずに、RAM41cのデータが異常である旨を判定することができる。
また、前記実施例では、メイン制御部41とは別個に設けられたリセット回路49からのリセット信号に基づいてメイン制御部41が起動するようになっているが、リセット回路をメイン制御部41を構成するマイクロコンピュータが搭載していても良い。
また、前記実施例では、メイン制御部41を構成するマイクロコンピュータにRAM41cが搭載されているが、マイクロコンピュータの外部に当該マイクロコンピュータのワークとして用いるRAMを搭載したものであっても良い。
また、前記実施例では、電断検出回路48が、スロットマシン1に用いられる直流電圧を監視し、当該直流電圧が一定の電圧以下となったときに電断を検出しているが、例えば、当該直流電圧が一定の電圧以下となった期間が一定期間継続したときに電断を検出するようにしても良い。また、スロットマシン1に供給される交流電圧を監視し、交流電圧の波形の乱れを検出したとき、またはその期間が一定期間継続したときに電断を検出するようにしても良い。
また、前記実施例では、電断検出回路48が、遊技制御基板40に搭載されているが、その他の場所に搭載されていても良く、例えば、電源基板100や電源基板100から遊技制御基板40への電源の供給ラインが経由する中継基板等に搭載されていても良い。
また、前記実施例では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを用いているが、本発明はこれに限定されるものではなく、遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンであっても良い。
更に、図33に示すように、流路切替ソレノイド30や投入メダルセンサ31など、メダルの投入機構に加えて、遊技球の取込を行う球取込装置30’、球取込装置30’により取り込まれた遊技球を検出する取込球検出スイッチ31’を設けるとともに、ホッパーモータ34や払出センサ35など、メダルの払出機構に加えて、遊技球の払出を行う球払出装置34’、球払出装置34’により払い出された遊技球を検出する払出球検出スイッチ35’を設け、メダル及び遊技球の双方を用いて賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球が払い出されるスロットマシンに適用しても良い。
前記実施例における各要素は、本発明に対して以下のように対応している。
本発明の請求項1に記載のスロットマシンは、
各々が識別可能な複数種類の図柄を変動表示可能な複数の可変表示領域(左リール、中リール、右リール)を有し、各可変表示領域に表示結果をそれぞれ導出表示させることが可能な可変表示装置(リール2L、2C、2R)を備え、
1ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、前記複数の可変表示領域の全てに表示結果が導出表示されることにより1ゲームが終了し、該可変表示領域の表示結果の組み合わせに応じて入賞が発生可能とされたスロットマシン(1)であって、
所定の設定操作手段(リセット/設定スイッチ36)の操作に基づいて、入賞の発生を許容する旨を決定する割合(当選確率)が異なる複数種類の設定値のうちから、いずれかの設定値を選択し、該選択した設定値を設定する設定値設定手段(CPU41aによる設定変更処理)と、
前記設定値設定手段により設定された設定値を示す設定値データを含む遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶するデータ記憶手段(RAM41c)と、
前記スロットマシンへの電源供給が遮断しても前記データ記憶手段(RAM41c)に記憶されている前記遊技の制御を行うためのデータを保持する保持手段(バックアップ電源)と、
前記スロットマシンへの電源投入時に、前記遊技の制御を行うためのデータのうちの前記設定値データが適正か否かの判定を個別に行わず、前記保持手段により保持されている前記遊技の制御を行うためのデータが電源遮断前のデータと一致するか否かの判定を行う記憶データ判定手段(CPU41aによるRAMパリティの判定及び破壊診断用データの判定)と、
前記記憶データ判定手段により前記保持手段により保持されている前記遊技の制御を行うためのデータが電源遮断前のデータと一致しないと判定されたときに、ゲームの進行を不能化する第1の不能化手段(電源投入時のRAM異常エラー処理)と、
ゲームの開始操作がなされる毎に、前記データ記憶手段(RAM41c)から前記設定値データを読み出し、該読み出した設定値データが示す設定値が、前記設定値設定手段により設定可能な設定値の範囲(1〜6の範囲)内である場合に前記読み出した設定値データが適正であると判定し、前記設定可能な設定値の範囲内でない場合に前記読み出した設定値データが適正ではないと判定する設定値データ判定手段と、
前記設定値データ判定手段により前記読み出した設定値データが適正であると判定したときに、該読み出した設定値データが示す設定値に応じた割合で当該ゲームにおいて入賞の発生を許容するか否かを決定する事前決定手段(CPU41aによる内部抽選処理)と、
前記設定値データ判定手段により前記読み出した設定値データが適正ではないと判定されたときに、ゲームの進行を不能化する第2の不能化手段(設定値異常によるRAM異常エラー処理)と、
前記第1の不能化手段により前記ゲームの進行が不能化された状態においても前記第2の不能化手段により前記ゲームの進行が不能化された状態においても、前記設定操作手段の操作に基づいて前記設定値設定手段により前記設定値が新たに設定されたこと(設定変更処理により新たに設定値が選択・設定されたこと)を条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段(CPU41aによるゲーム制御処理への移行)と、
遊技者の操作に応じて前記可変表示領域に表示結果を導出させることを指示する導出操作手段(ストップスイッチ8L、8C、8R)と、
前記図柄の変動表示中の可変表示領域に対応する前記導出操作手段による導出操作の検出を有効化する導出操作有効化手段(CPU41aにより回転中のリールの停止操作を有効化する処理)と、
前記図柄の変動表示が開始されてから、前記導出操作が有効に検出されるまで、該導出操作に対応する可変表示領域における変動表示を継続させる変動制御手段(CPU41aによるリール回転処理)と、
前記導出操作が有効に検出されたときに、該導出操作に対応する可変表示領域に表示結果を導出させる制御を行う導出制御手段{CPU41aによるリール回転処理(停止スイッチ処理)}と、
前記スロットマシンに可動自在に設けられた可動部材(演出用扉60)と、
前記可動部材の駆動制御を行う駆動制御手段(サブ制御部91)と、
を備え、
前記駆動制御手段は、
所定の駆動開始条件が成立したこと(遊技制御基板40から送信された内部当選コマンドまたは(第1)リール停止コマンドを取得したこと)に基づいて、前記可動部材の駆動制御(振動制御(振動演出))を開始する駆動開始制御手段(サブ制御部91による振動演出処理におけるSn4,Sn11)と、
前記可動部材の駆動制御の実行中に前記導出操作が有効に検出されたことに基づいて、該可動部材の駆動制御を停止する第1の駆動停止制御手段(サブ制御部91による振動演出処理におけるSn19,Sn22)と、
前記所定の駆動開始条件が成立したことに基づいて計時を開始する駆動用計時開始手段(サブ制御部91による駆動用カウンタのカウンタ値の減算)と、
前記駆動用計時開始手段が計時を開始してから、前記可動部材の駆動制御が前記第1の駆動停止制御手段により停止されずに経過した時間が所定時間(駆動停止時間=60秒)に到達したことに基づいて、該可動部材の駆動制御を停止する第2の駆動停止制御手段(サブ制御部91による振動演出処理におけるSn20,Sn22)と、
を含み、
前記第2の駆動停止制御手段(サブ制御部91による振動演出処理におけるSn20,Sn22)は、前記可動部材(演出用扉60)の駆動制御を停止する際において該可動部材が所定の基準位置(停止基準位置)に位置してないときに、該所定の基準位置に位置するまで駆動制御を継続した後、該駆動制御を停止する(Sn21、Sn20)、
ことを特徴としている。
本発明の請求項2に記載のスロットマシンは、請求項1に記載のスロットマシンであって、
前記図柄の変動表示中の可変表示領域に対応する導出操作を促す促進報知{液晶表示器51による報知画面の表示(図22参照)}を実行する導出操作促進報知手段(サブ制御部91による促進報知処理)を備え、
前記導出操作促進報知手段は、
前記ゲームが開始されたことに基づいて計時を開始する第1の報知用計時開始手段(サブ制御部91がリール回転コマンドを受信したときにタイマカウンタに第1の値を設定する処理)と、
前記ゲームが開始された後、前記導出操作が有効に検出されたことに基づいて計時を開始する第2の報知用計時開始手段(サブ制御部91がリール停止コマンドを受信したときにタイマカウンタに第1の値または第2の値を設定する処理)と、
前記第1の報知用計時開始手段または前記第2の報知用計時開始手段が計時を開始してから前記導出操作が有効に検出されずに経過した時間が所定の報知待ち時間に到達したときに、前記促進報知を開始する促進報知開始手段(報知用タイマカウンタの値が0になったときに報知パターン1、2コマンドを送信する処理)と、
前記促進報知の実行中に、前記導出操作が有効に検出されたときに、該実行中の促進報知を終了する促進報知終了手段(促進報知の実行中にリール停止コマンドを受信したときに、報知終了コマンドを送信する処理)と、
を含む、
ことを特徴としている。
本発明の請求項3に記載のスロットマシンは、請求項2に記載のスロットマシンであって、
遊技の制御を行うとともに、遊技状態に応じた遊技制御情報(コマンド)を出力するメイン制御手段(遊技制御基板40におけるメイン制御部41のCPU41a)と、
前記メイン制御手段と接続され、該メイン制御手段から出力される遊技制御情報に基づいて、前記スロットマシンに設けられた演出手段(液晶表示器51)による演出(促進報知を含む)の実行の決定を行うとともに、該演出の実行を決定したときに、該演出の実行を指示する演出制御情報{表示開始コマンド(報知パターン1、2コマンド)、表示終了コマンド}を出力する第1のサブ制御手段(演出制御基板90におけるサブ制御部91のCPU91a)と、
前記第1のサブ制御手段に接続され、該第1のサブ制御手段から出力される演出制御情報に基づいて、前記演出手段の制御を行う第2のサブ制御手段(表示制御基板190における表示制御部191のCPU191a)と、
を備え、
前記メイン制御手段は、前記導出操作有効化手段(CPU41aにより回転中のリールの停止操作を有効化する処理)、前記変動制御手段(CPU41aによるリール回転処理)及び前記導出制御手段{CPU41aによるリール回転処理(停止制御処理)}を含み、
前記ゲームが開始されたことに応じてゲームが開始された旨を示す遊技制御情報(リール回転開始コマンド)を前記第1のサブ制御手段に出力するとともに、
前記導出操作が有効に検出されたことに応じて該導出操作が有効に検出された旨を示す遊技制御情報(リール停止コマンド)を前記第1のサブ制御手段に出力し、
前記第1のサブ制御手段は、前記第1の計時開始手段(CPU91aがリール回転コマンドを受信したときにタイマカウンタに第1の値を設定する処理)、前記第2の計時開始手段(CPU91aが停止コマンドを受信したときにタイマカウンタに第1の値または第2の値を設定する処理)、前記促進報知開始手段及び前記促進報知終了手段を含み、
前記促進報知開始手段は、前記ゲームが開始された旨を示す遊技制御情報を受信したことで前記第1の計時開始手段が計時を開始してから、前記導出操作が有効に検出された旨を示す遊技制御情報を受信しないまま経過した時間が前記所定の報知待ち時間に到達したとき(リール回転コマンドを受信したときに設定された報知用カウンタのカウント値が0になったとき)、または前記導出操作が有効に検出された旨を示す遊技制御情報を受信したことで前記第2の計時開始手段が計時を開始してから、前記導出操作が有効に検出された旨を示す遊技制御情報を受信しないまま経過した時間が前記所定の報知待ち時間に到達したとき(リール停止コマンドを受信したときに設定された報知用カウンタのカウント値が0になったとき)に、前記促進報知としての促進演出の実行を指示する演出制御情報(報知パターン1、2コマンド)を前記第2のサブ制御手段に出力し、
前記促進報知終了手段は、前記促進報知開始手段が前記促進演出の実行を指示する演出制御情報を前記第2のサブ制御手段に出力した後、前記導出操作が有効に検出された旨を示す遊技制御情報(リール停止コマンド)を受信したときに、前記促進演出の終了を指示する演出制御情報(報知終了コマンド)を前記第2のサブ制御手段に出力し、
前記第2のサブ制御手段は、
前記促進演出の実行を指示する演出制御情報を受信したとき、前記演出手段による前記促進演出を実行する制御(報知画面を表示させる制御)を行い、
前記促進演出の終了を指示する演出制御情報を受信したとき、実行中の促進演出を終了する制御(報知画面の表示を終了させる制御)を行う、
ことを特徴としている。
本発明の請求項4に記載のスロットマシンは、請求項1〜3のいずれかに記載のスロットマシンであって、
前記スロットマシンに設けられた音出力手段(スピーカ53,54)により遊技状態に応じた演出の制御を行う演出制御手段(演出制御基板90におけるサブ制御部91のCPU91a)を備え、
前記演出制御手段は、少なくとも前記導出操作(リールの停止操作)が有効に検出されるまで継続して行う演出(振動演出)の制御を実行している状態において、前記駆動用計時開始手段(サブ制御部91による駆動用カウンタのカウンタ値の減算)が計時を開始してから前記導出操作が有効に検出されずに経過した時間が前記所定時間(駆動停止時間=60秒)に到達したときに、前記音出力手段から出力する音量を下げる(振動音の出力停止)制御を行う、
ことを特徴としている。
本発明の手段1に記載のスロットマシンは、請求項1〜4のいずれかに記載のスロットマシンであって、
前記複数の可変表示領域(左リール、中リール、右リール)は、各々が識別可能な複数種類の図柄が配置された表示帯をステッピングモータ(リールモータ32L、32C、32R)の駆動により回動させることで変動表示可能であり、
前記複数の可変表示領域の表示結果が導出される前に入賞の発生を許容するか否かを決定する事前決定手段(メイン制御部41による内部抽選処理)を備え、
前記導出制御手段{CPU41aによるリール回転処理(停止スイッチ処理)}は、
前記複数の可変表示領域のうちいずれの可変表示領域にも未だ表示結果が導出されていない状況において、未だ表示結果が導出されていない可変表示領域について、該可変表示領域に対応する導出操作手段が操作された時点の前記ステッピングモータのステップ数(1図柄分のステップ数毎に割り当てられた領域番号)に対して導出される表示結果(停止位置)を一意的に特定する複数の制御パターンから、前記事前決定手段の決定結果(内部当選状態)に対応する制御パターンを一意的に選択する制御パターン選択手段(リール回転開始時に全てのリールに対応するデータ作成用テーブルを選択し、選択したデータ作成用テーブルから全てのリールに対応する停止制御テーブルを作成する処理)を含み、
未だ表示結果が導出されていない可変表示領域に対応する導出操作手段が操作されたときに、前記制御パターン選択手段により該可変表示領域について選択された制御パターンが該導出操作手段が操作された時点の前記ステップ数に対して一意的に特定する表示結果を当該可変表示領域の表示結果として導出させる制御(停止制御テーブルを参照して停止操作位置に対応する停止位置でリールを停止させる制御)を行う、
ことを特徴としている。
本発明の手段2に記載のスロットマシンは、請求項1〜4のいずれかに記載のスロットマシンであって、
前記複数の可変表示領域(左リール、中リール、右リール)は、各々が識別可能な複数種類の図柄が配置された表示帯をステッピングモータ(リールモータ32L、32C、32R)の駆動により回動させることで変動表示可能であり、
前記複数の可変表示領域の表示結果が導出される前に入賞の発生を許容するか否かを決定する事前決定手段(メイン制御部41による内部抽選処理)を備え、
前記導出制御手段{CPU41aによるリール回転処理(停止スイッチ処理)}は、
前記複数の可変表示領域のうちいずれか1つの可変表示領域に既に表示結果が導出されており、他の可変表示領域に未だ表示結果が導出されていない状況において、未だ表示結果が導出されていない可変表示領域について、該可変表示領域に対応する導出操作手段が操作された時点の前記ステッピングモータのステップ数(1図柄分のステップ数毎に割り当てられた領域番号)に対して導出される表示結果を一意的に特定する複数の制御パターンから、前記事前決定手段の決定結果(内部当選状態)及び既に表示結果が導出された可変表示領域の表示結果(停止済みのリールの停止位置)の組み合わせに対応する制御パターンを一意的に選択する制御パターン選択手段(いずれか1つのリールが停止したときに他のリールに対応するデータ作成用テーブルを選択し、選択したデータ作成用テーブルから変動中のリールに対応する停止制御テーブルを作成する処理)を含み、
未だ表示結果が導出されていない可変表示領域に対応する導出操作手段が操作されたときに、前記制御パターン選択手段により該可変表示領域について選択された制御パターンが該導出操作手段が操作された時点の前記ステップ数から一意的に特定する表示結果を当該可変表示領域の表示結果として導出させる制御(停止制御テーブルを参照して停止操作位置に対応する停止位置でリールを停止させる制御)を行う、
ことを特徴としている。