本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン1は、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、図3に示すように、それぞれ「黒7」、「網7(図中網掛け7)」、「白7」、「BAR」、「リプレイ」、「スイカ」、「黒チェリー」、「白チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図4参照)によって回転させることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示されるとともに、各リール2L、2C、2Rの回転を停止させることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。
前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図1参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で、透過性を有するノーマリーホワイトタイプの液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51b及び透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。また、表示領域51aの透過領域51bを除く領域の裏面には、背後から表示領域51aを照射するバックライト(図示略)が設けられているとともに、さらにその裏面には、内部を隠蔽する隠蔽部材(図示略)が設けられている。
前面扉1bには、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いてメダル1枚分の賭数を設定する際に操作される1枚BETスイッチ5、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施例では遊技状態がRB(BB)の場合には2、通常遊技状態では3)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、が遊技者により操作可能にそれぞれ設けられている。
また、前面扉1bには、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、後述するBB中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器13が設けられている。
また、前面扉1bには、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられている。
MAXBETスイッチ6の内部には、1枚BETスイッチ5及びMAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられている。
前面扉1bの内側には、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、メダル投入部4から投入されたメダルの流路を、筐体1a内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31を有するメダルセレクタ(図示略)、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。
筐体1a内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34cからなるホッパーユニット34、電源ボックス100が設けられている。
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ35aが設けられており、導電部材がオーバーフロータンク35内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
電源ボックス100の前面には、後述のBB終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、後述のBB終了時に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をON/OFFする際に操作される電源スイッチ39が設けられている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには1枚BETスイッチ5またはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L5(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、規定数の賭数として遊技状態がRB(BB)では2枚、通常遊技状態では3枚が定められている。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、各リール2L、2C、2Rの中段に並んだ図柄に跨って設定された入賞ラインL1、各リール2L、2C、2Rの上段に並んだ図柄に跨って設定された入賞ラインL2、各リール2L、2C、2Rの下段に並んだ図柄に跨って設定された入賞ラインL3、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された入賞ラインL4、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された入賞ラインL5の5種類が入賞ラインとして定められている。
ゲームが開始可能な状態でスタートスイッチ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の表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
図4は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。
また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、打止スイッチ36a、自動精算スイッチ36b、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述した1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、打止スイッチ36a、自動精算スイッチ36b、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、ペイアウト表示器13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板101を介して前述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
遊技制御基板40には、メインCPU41a、ROM41b、RAM41c、I/Oポート41dを備えたマイクロコンピュータからなり、遊技の制御を行うメイン制御部41、所定範囲(本実施例では0〜65535)の乱数を発生させる乱数発生回路42、乱数発生回路から乱数を取得するサンプリング回路43、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路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は、信号入力端子を備えており、遊技制御基板40に接続された各種スイッチ類の検出状態がこれら信号入力端子を介して入力ポートに入力される。これら信号入力端子の入力状態は、メインCPU41aにより監視されており、メインCPU41aは、信号入力端子の入力状態、すなわち各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
また、メインCPU41aは、前述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、割込1〜4の4種類の割込を実行可能であり、各割込毎にカウンタモード(信号入力端子とは別個に設けられたトリガー端子からの信号入力に応じて外部割込を発生させる割込モード)とタイマモード(メインCPU41aのクロック入力数に応じて内部割込を発生させる割込モード)のいずれかを選択して設定できるようになっている。
本実施例では、割込1〜4のうち、割込2がカウンタモードに設定され、割込3がタイマモードに設定され、割込1、4は未使用とされている。トリガー端子は、前述した電断検出回路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に設けられた後述のスタック領域に一時的に退避させるとともに、当該割込処理の終了時にスタック領域に退避させたデータをレジスタに復帰させるようになっている。
また、メイン制御部41には、停電時においてもバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM41cに記憶されているデータが保持されるようになっている。
メインCPU41aは、基本処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メインCPU41aは、前述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっており、電断検出回路48から出力された電圧低下信号の入力に応じて電断割込処理(メイン)を実行し、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
メインCPU41aは、I/Oポート41dを介して演出制御基板90に、各種のコマンドを送信する。遊技制御基板40から演出制御基板90へ送信されるコマンドは一方向のみで送られ、演出制御基板90から遊技制御基板40へ向けてコマンドが送られることはない。遊技制御基板40から演出制御基板90へ送信されるコマンドの伝送ラインは、ストローブ(INT)信号ライン、データ伝送ライン、グラウンドラインから構成されているとともに、演出中継基板80を介して接続されており、遊技制御基板40と演出制御基板90とが直接接続されない構成とされている。
演出制御基板90には、スロットマシン1の前面扉1bに配置された液晶表示器51(図1参照)、演出効果LED52、スピーカ53、54、前述したリールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。。
尚、本実施例では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90または他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部91及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
また、本実施例では、演出装置として液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
演出制御基板90には、メイン制御部41と同様にサブCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部91、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92、演出効果LED52、リールLED55の駆動制御を行うLED駆動回路93、スピーカ53、54からの音声出力制御を行う音声出力回路94、電源投入時またはサブCPU91aからの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95、日付情報及び時刻情報を含む時間情報を出力する時計装置97、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98、その他の回路等、が搭載されており、サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
サブCPU91aは、メインCPU41aと同様に、割込機能(割込禁止機能を含む)を備える。サブ制御部91の割込端子の1つは、コマンド伝送ラインのうち、メイン制御部41がコマンドを送信する際に出力するストローブ(INT)信号線に接続されており、サブCPU91aは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部41からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブCPU91aは、クロック入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91の割込端子の1つは、電断検出回路98と接続されており、サブCPU91aは、電断検出回路98から出力された電圧低下信号の入力に応じて電断割込処理(サブ)を実行する。また、サブCPU91aにおいても未使用の割込が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
また、サブCPU91aは、メインCPU41aとは異なり、ストローブ信号(INT)の入力に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。尚、電断割込処理(サブ)の実行中には、コマンド受信割込処理も禁止されるが、電断割込処理(サブ)の契機となる割込が同時に発生した場合にはコマンド受信割込処理を優先して実行する
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をON状態としてからスロットマシン1の電源をONする必要がある。設定キースイッチ37をON状態として電源をONすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定6からさらに操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がOFFされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
尚、設定値が確定する前の段階でスタートスイッチ7が操作されることにより、設定値が確定することとなるが、この際、スタートスイッチ7以外の操作スイッチが操作されていない場合にのみスタートスイッチ7の操作が有効とされ、スタートスイッチ7以外の操作スイッチが操作されている状態でスタートスイッチ7が操作されても設定値は確定しないようになっている。
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をON状態とすれば良い。このような状況で設定キースイッチ37をON状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をOFF状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
本実施例のスロットマシン1においては、メインCPU41aが電断検出回路48からの電圧低下信号を検出した際に、電断割込処理(メイン)を実行する。電断割込処理(メイン)では、レジスタを後述するRAM41cのスタックに退避し、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を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されるまで解除されることがない。
尚、本実施例では、RAM41cに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メインCPU41aは、電源投入時においてRAM41cのデータが正常であると判定した場合に、RAM41cの格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM41cに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。
また、サブCPU91aも電断検出回路98からの電圧低下信号を検出した際に、電断割込処理(サブ)を実行する。電断割込処理(サブ)では、レジスタを後述するRAM91cのスタックに退避し、RAM91cにいずれかのビットが1となる破壊診断用データを格納するとともに、RAM91cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM91cに格納する処理を行うようになっている。
そして、サブCPU91aは、その起動時においてRAM91cの全ての領域に格納されたデータに基づいてRAMパリティを計算し、RAMパリティが0であることを条件に、RAM91cに記憶されているデータに基づいてサブCPU91aの処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)には、RAM異常と判定し、RAM91cを初期化するようになっている。この場合、メインサブCPU91aと異なり、RAM91cが初期化されるのみで演出の実行が不能化されることはない。
尚、本実施例では、RAM91cに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、サブCPU91aは、電源投入時においてRAM91cのデータが正常であると判定した場合に、RAM91cの格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM91cに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、入力ポートの状態や、演出が途中で中断された場合の途中経過などを全て電断前の状態に復帰させる必要はない。例えば、BB中か、通常遊技状態か、などの遊技状態を示すデータのみをバックアップするとともに、遊技状態に対応する演出(BB中であればBB中演出、通常遊技状態であれば通常演出)以外の特定の演出(小役告知など)の実行中に電断が発生した場合に、次回電源投入時において電断時に実行されていた特定の演出を再開するのではなく、電源投入時においてバックアップされている遊技状態に対応する演出を最初から実行するようにしても良い。
次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域は、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、未使用領域、スタック領域に区分されている。
重要ワークは、各種表示器やLEDの表示用データ、I/Oポート41dの入出力データ、遊技時間の計時カウンタ等、BB終了時に初期化すると不都合があるデータが格納されるワークである。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、BB中のメダル払出総数等、BB終了時に初期化可能なデータが格納されるワークである。特別ワークは、演出制御基板90へコマンドを送信するためのデータ、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。設定値ワークは、内部抽選処理で抽選を行う際に用いる設定値が格納されるワークである。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にRAM41cのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。未使用領域は、RAM41cの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなる。スタック領域は、メインCPU41aのレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
本実施例においてメインCPU41aは、設定キースイッチ37がONの状態での起動時、RAM異常エラー発生時、BB終了時、設定キースイッチ37がOFFの状態での起動時においてRAM41cのデータが破壊されていないとき、1ゲーム終了時の5つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化を行う。
初期化1は、起動時において設定キースイッチ37がONの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはRAM異常エラー発生時に行う初期化であり、初期化1では、RAM41cの格納領域のうち、使用中スタック領域を除く全ての領域(未使用領域及び未使用スタック領域を含む)が初期化される。初期化2は、BB終了時に行う初期化であり、初期化2では、RAM41cの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化3は、起動時において設定キースイッチ37がOFFの状態であり、かつRAM41cのデータが破壊されていない場合において行う初期化であり、初期化3では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、RAM41cの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
尚、本実施例では、初期化1を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行うようにしても良い。この場合、設定値ワークを初期化してしまうと確定した設定値が失われてしまうこととなるので、設定変更状態終了時の初期化では、設定値ワークの初期化は行われない。
本実施例のスロットマシン1は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。本実施例では、後に説明するが、遊技状態として、レギュラーボーナス(以下ではRBと称す)(ビッグボーナス(以下ではBBと称す))、通常遊技状態があり、このうちRB(BB)では賭数の規定数として2が定められており、通常遊技状態では賭数の規定数として3が定められている。このため、遊技状態がRB(BB)であれば、賭数として2が設定されるとゲームを開始させることが可能となり、通常遊技状態であれば、賭数として3が設定されるとゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインL1〜L5が有効化されるようになっており、RB(BB)では賭数として2が定められた時点で全ての入賞ラインL1〜L5が有効化されることなり、通常遊技状態では賭数として3が設定された時点で全ての入賞ラインL1〜L5が有効化されることとなる。
本実施例のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
このスロットマシン1における役としては、図5に示すように、特別役としてビッグボーナス(以下ではビッグボーナスをBBとする)、レギュラーボーナス(以下ではレギュラーボーナスをRBとする)が、小役として1枚、スイカ、チェリー、ベルが、再遊技役としてリプレイが定められている。
チェリーは、いずれの遊技状態においても右リールについて入賞ラインのいずれかに「白チェリー」の図柄が導出されたときに入賞となり、いずれの遊技状態においても1枚のメダルが払い出される。尚、「白チェリー」の図柄が右リールの上段または下段に停止した場合には、入賞ラインL2、L5または入賞ラインL3、L4の2本の入賞ラインにチェリーの組合せが揃うこととなり、2本の入賞ライン上でチェリーに入賞したこととなるので、2枚のメダルが払い出されることとなる。
スイカは、いずれの遊技状態においても入賞ラインのいずれかに「スイカ−スイカ−スイカ」の組合せまたは「スイカ−スイカ−BAR」の組合せが揃ったときに入賞となり、RB(BB)では15枚のメダルが払い出され、通常遊技状態では12枚のメダルが払い出される。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組合せが揃ったときに入賞となり、RB(BB)では15枚のメダルが払い出され、通常遊技状態では10枚のメダルが払い出される。
リプレイは、通常遊技状態において入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組合せ、「BAR−リプレイ−リプレイ」の組合せ、または「黒7−リプレイ−リプレイ」の組合せのうちいずれかの組合せが揃ったときに入賞となる。リプレイが入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数に対応した3枚のメダルが払い出されるのと実質的には同じこととなる。
RBは、通常遊技状態において入賞ラインのいずれかに「網7−網7−黒7」の組合せが揃ったときに入賞となり、遊技状態がRBに移行する。RBは、小役、特にベルの当選確率が高まることによって他の遊技状態よりも遊技者にとって有利となる遊技状態であり、RBが開始した後、12ゲームを消化したとき、または8ゲーム入賞(役の種類は、いずれでも可)したとき、のいずれか早いほうで終了する。
BBは、通常遊技状態において入賞ラインのいずれかに「黒7−黒7−黒7」の組合せ、「網7−網7−網7」の組合せまたは「白7−白7−白7」の組合せが揃ったときに入賞となる。
BBが入賞すると、遊技状態がBBに移行するとともに同時にRBに移行し、RBが終了した際に、BBが終了していなければ、再度RBに移行し、BBが終了するまで繰り返しRBに制御される。すなわちBB中は、常にRBに制御されることとなる。そして、BBは、当該BB中において遊技者に払い出したメダルの総数が465枚を超えたときに終了する。BBの終了時には、RBの終了条件が成立しているか否かに関わらずRBも終了する。
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)決定するものである。内部抽選では、まず、内部抽選用の乱数(0〜65535の整数)が取得される。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、取得した内部抽選用の乱数と、遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
本実施例では、図5に示すように、遊技状態が、通常遊技状態であるか、RB(BB)であるか、によって内部抽選の対象となる役が異なる。さらに遊技状態が通常遊技状態においては、特別役の持越中であるか否かによっても内部抽選の対象となる役が異なる。
遊技状態が通常遊技状態であり、いずれの特別役も持ち越されていない状態では、BB、RB、リプレイ、スイカ、チェリー、ベルが内部抽選の対象役として順に読み出される。
遊技状態が通常遊技状態であり、いずれかの特別役が持ち越されている状態では、リプレイ、スイカ、チェリー、ベルが内部抽選の対象役として順に読み出される。
遊技状態がRBでは、スイカ、チェリー、ベルが内部抽選の対象役として順に読み出される。
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
次に、リール2L、2C、2Rの停止制御について説明する。
メインCPU41aは、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
テーブルインデックスには、内部抽選による当選フラグの設定状態(以下、内部当選状態と呼ぶ)別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ32L、32C、32Rに、168ステップ(0〜167)の周期で1周するステッピングモータを用いている。すなわちリールモータ32L、32C、32Rを168ステップ駆動させることでリール2L、2C、2Rが1周することとなる。そして、リール1周に対して16ステップ(1図柄が移動するステップ数)毎に分割した21の領域(コマ)が定められており、これらの領域には、リール基準位置から0〜20の領域番号が割り当てられている。一方、1リールに配列された図柄数も21であり、各リールの図柄に対して、リール基準位置から0〜20の図柄番号が割り当てられているので、0番図柄から20番図柄に対して、それぞれ0〜20の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置(本実施例では、透視窓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コマの範囲で最大限に引き込むように滑りコマ数が定められているとともに、当選した小役を入賞ラインに最大4コマの範囲で引き込めない停止操作位置については、当選した特別役を入賞ラインに4コマの範囲で最大限に引き込むように滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになっている。
尚、本実施例では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合や新たに特別役と小役が同時に当選した場合など、特別役と小役が同時に当選している場合には、当選した特別役よりも当選した小役が優先され、小役が引き込めない場合のみ、特別役を入賞ライン上に揃える制御を行っているが、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになっている。
本実施例においてメインCPU41aは、リール2L、2C、2Rの回転が開始した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
尚、本実施例では、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
次に、メインCPU41aが演出制御基板90に対して送信するコマンドについて説明する。
本実施例では、メインCPU41aが演出制御基板90に対して、BETコマンド、クレジットコマンド、内部当選コマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定開始コマンド、確認開始コマンド、確認終了コマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1バイトの拡張データとからなり、サブCPU91aは、種類データからコマンドの種類を判別できるようになっている。
BETコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されていない状態において、メダルが投入されるか、1枚BETスイッチ5またはMAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、BETコマンドは、賭数の設定操作がなされたときに送信されるので、BETコマンドを受信することで賭数の設定操作がなされたことを特定可能である。
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ7が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ7が操作されたことを特定可能である。
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール2L、2C、2Rの回転が開始されたときに送信される。
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ8L、8C、8Rが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ8L、8C、8Rが操作されたことを特定可能である。
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
遊技状態コマンドは、次ゲームの遊技状態を特定可能なコマンドであり、設定変更状態の終了時及びゲームの終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
復帰コマンドは、メインCPU41が電断前の制御状態に復帰した旨を示すコマンドであり、メインCPU41aの起動時において電断前の制御状態に復帰した際に送信される。
設定開始コマンドは、設定変更状態の開始を示すコマンドであり、設定変更状態に移行する際に送信される。また、設定変更状態への移行に伴ってメインCPU41の制御状態が初期化されるため、設定開始コマンドによりメインCPU41の制御状態が初期化されたことを特定可能である。
確認開始コマンドは、設定確認状態の開始を示すコマンドであり、設定確認状態に移行する際に送信される。確認終了コマンドは、設定確認状態の終了を示すコマンドであり、設定確認状態の終了時に送信される。
操作検出コマンドは、操作スイッチ類(1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)の検出状態(ON/OFF)を示すコマンドであり、一定間隔毎に送信される。
これらコマンドのうち設定開始コマンド、RAM異常を示すエラーコマンド、復帰コマンドは、起動処理において割込が許可される前の段階で生成され、RAM41cの特別ワークに割り当てられた特定コマンド送信用バッファに格納され、直ちに送信される。
設定開始コマンド、RAM異常を示すエラーコマンド、復帰コマンド、操作検出コマンド以外のコマンドは、ゲーム処理においてゲームの進行状況に応じて生成され、RAM41cの特別ワークに設けられた通常コマンド送信用バッファに一時格納され、タイマ割込処理(メイン)において送信される。
通常コマンド送信用バッファには、最大で16個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。また、各コマンドを格納する領域には、各格納領域毎にアドレス(0〜15)が割り当てられている。更に、コマンド送信用バッファには、次に送信すべきコマンドが格納されている領域のアドレスを示す送信ポインタと次にコマンドを格納すべき領域のアドレスを示す格納ポインタが設定されている。送信ポインタは、通常コマンド送信用バッファに格納された未送信のコマンドが送信される毎に1加算され(オーバーフローした場合はクリアして0とする)、格納ポインタは、コマンドを格納する際に1加算される(オーバーフローした場合はクリアして0とする)ようになっており、未送信のコマンドが全て送信されたとき及び未送信のコマンドで通常コマンド送信用バッファの全ての領域が満タンとなったときに送信ポインタが示すアドレスと格納ポインタのアドレスとが同一の番号となる。尚、未送信のコマンドが格納されている場合には、未送信フラグがセットされるため、送信ポインタが示すアドレスと格納ポインタのアドレスとが同一の番号の場合に、未送信フラグがセットされていれば、通常コマンド送信用バッファが未送信のコマンドで満タンである旨が示され、未送信フラグがセットされていなければ未送信のコマンドが空である旨が示されるようになっている。
メインCPU41aは、0.56msの間隔で割込3を発生させるとともに、割込3の発生によりタイマ割込処理(メイン)を実行するので、タイマ割込処理(メイン)は0.56ms毎に実行されることとなる。また、タイマ割込処理(メイン)では、タイマ割込1〜4が繰り返し行われるようになっており、これらタイマ割込1〜4に固有な処理が2.24msの間隔で行われることとなる。そして、通常コマンド送信用バッファに格納されたコマンドの送信を行うコマンド送信処理は、タイマ割込2で実行されるので、コマンド送信処理も2.24msの間隔で実行されることとなる。
一方、サブ制御部91のサブCPU91aでは、後述する受信用バッファにバッファしたコマンドを1.12msの間隔で実行するタイマ割込処理(サブ)において取得する。このため、メインCPU41aがタイマ割込処理(メイン)を実行する毎、すなわち0.56msの間隔でコマンドの送信処理を行った場合には、サブ制御部91側でコマンドを正常に受信できない可能性がある。
しかしながら、本実施例では、前述のようにメインCPU41aがタイマ割込処理(メイン)4回につき1回の割合、すなわち2.24msの間隔でコマンド送信処理を実行するとともに1回のコマンド送信処理では、通常コマンド送信用バッファに格納されたコマンドのうちの1つのみ送信することで、複数のコマンドが連続して送信される場合でも、最低2.24msの間隔をあけて送信されることとなり、サブ制御部91側でこれら連続して送信されるコマンドを確実に取得することができる。
本実施例では、ゲーム処理においてコマンドが生成され、通常コマンド送信用バッファに格納される。タイマ割込2内のコマンド送信処理においてコマンド送信用バッファに格納された未送信のコマンドが検知されると、通常コマンド送信用バッファに格納された未送信のコマンドが送信される。
また、通常コマンド送信用バッファには、複数のコマンドを格納可能な領域が設けられており、通常コマンド送信用バッファに格納された未送信のコマンドの送信を待たずに、新たに生成したコマンドを通常コマンド送信用バッファの空き領域に格納することが可能とされている。すなわち通常コマンド送信用バッファには複数のコマンドを蓄積できるようになっている。
また、ゲーム処理において通常コマンド送信用バッファにコマンドを格納する際に、これらコマンドをその生成順に格納するとともに、コマンド送信処理では通常コマンド送信用バッファに生成・格納された順番でコマンドを送信するようになっている。すなわち通常コマンド送信用バッファに格納されたコマンドは、生成・格納された順番で送信されるようになっている。
操作検出コマンドは、コマンド送信処理が5回実行される毎に生成され、前述の特定コマンド送信用バッファに格納され、直ちに送信される。また、通常コマンド送信用バッファに未送信のコマンドが格納されている状態で操作検出コマンドの送信時期に到達した場合には、操作検出コマンドの送信を優先し、通常コマンド送信用バッファに格納されている未送信のコマンドは、次回のコマンド送信処理において送信されるようになっており、1度のコマンド送信処理において複数のコマンドが送信されることがないようになっている。
次に、メインCPU41aが演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。
サブCPU91aは、メインCPU41aからのコマンドの送信を示すストローブ信号を入力した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
受信用バッファには、最大で128個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
サブCPU91aは、タイマ割込処理(サブ)において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の出力制御を行う。
尚、本実施例では、サブCPU91aがタイマ割込処理(サブ)を行う時間間隔(1.12ms)が、メインCPU41aがコマンドを送信する時間間隔(2.24ms)よりも短い間隔であるため、通常のゲームに伴う動作が行われていれば、メインCPU41aから連続してコマンドが送信される場合であっても受信用バッファに格納された未処理のコマンドは、次のコマンドを受信するまでにタイマ割込処理(サブ)によって読み出されることとなり、受信用バッファに未処理のコマンドが複数蓄積されることはなく、メインCPU41aから送信されたコマンドを受信すると、その後最初に行われるタイマ割込処理(サブ)によって受信したコマンドは読み出され、コマンドに対応する処理が行われる。
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLEDの点灯態様等、これら演出装置の制御パターンが登録されており、サブCPU91aは、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
尚、サブCPU91aは、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブCPU91aが、賭数が設定された旨を示すBETコマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブCPU91aが、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブCPU91aは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
次に、本実施例におけるメイン制御部41のメインCPU41aが実行する各種制御内容を、図6〜図19に基づいて以下に説明する。
メインCPU41aは、リセット回路49からリセット信号が入力されると、図6のフローチャートに示す起動処理(メイン)を行う。尚、リセット信号は、電源投入時及びメイン制御部41の動作が停滞した場合に出力される信号であるので、起動処理(メイン)は、電源投入に伴うメインCPU41aの起動時及びメインCPU41aの不具合に伴う再起動時に行われる処理である。
起動処理(メイン)では、まず、内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sa1)、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否か、すなわち電圧が安定しているか否かを判定し(Sa2)、電圧低下信号が入力されている場合には、電圧低下信号が入力されているか否かの判定以外は、いずれの処理も行わないループ処理に移行する。
Sa2のステップにおいて電圧低下信号が入力されていないと判定した場合には、Iレジスタ及びIYレジスタの値を初期化する(Sa3)。Iレジスタ及びIYレジスタの初期化により、Iレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、IYレジスタには、RAM41cの格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
次いで、RAM41cへのアクセスを許可し(Sa4)、RAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算し(Sa5)、打止スイッチ36、自動精算スイッチ29の状態を取得し、メインCPU41aの特定のレジスタに打止機能、自動精算機能の有効/無効を設定する(Sa6)。
次いで、Sa5のステップにおいて計算したRAMパリティが0か否かを判定する(Sa7)。正常に電断割込処理(メイン)が行われていれば、RAMパリティが0になるはずであり、Sa7のステップにおいてRAMパリティが0でなければ、RAM41cに格納されているデータが正常ではなく、この場合には、RAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1を実行した後(Sa20)、設定キースイッチ37がONか否か、すなわちRAM41cの初期化操作がなされているか否かを判定し(Sa21)、設定キースイッチ37がONであれば、設定開始コマンドを特定コマンド送信用バッファに設定し、サブCPU91aに対して送信する(Sa16)。次いで、0〜3の範囲で更新される乱数(詳しくは、内部抽選用乱数の下位2ビット)を取得し(Sa17)、取得した乱数値に1を加算して、操作検出コマンドの送信間隔を計るための送信カウンタに設定した後(Sa18)、割込を許可して(Sa19)、設定変更処理、すなわち設定変更状態に移行する。
Sa21のステップにおいて設定キースイッチ37がOFFであれば、RAM異常を示すエラーコードをレジスタに設定し(Sa22)、RAM異常を示すエラーコマンドを特定コマンド送信用バッファに設定し、サブCPU91aに対して送信し(Sa23)、割込を許可して(Sa24)、エラー処理、すなわちRAM異常エラー状態に移行する。
Sa7のステップにおいて、RAMパリティが0であれば、更に破壊診断用データが正常か否かを判定する(Sa8)。正常に電断割込処理(メイン)が行われていれば、破壊診断用データが設定されているはずであり、Sa8のステップにおいて破壊診断用データが正常でない場合(破壊診断用データが電断時に格納される5A(H)以外の場合)にも、RAM41cのデータが正常ではないので、Sa20のステップに移行して初期化1を実行し、その後、Sa21のステップにおいて設定キースイッチ37がONであれば、設定開始コマンドの送信(Sa16)、乱数の取得(Sa17)、送信カウンタの設定(Sa18)の後、割込を許可して(Sa19)、設定変更処理に移行し、設定キースイッチ37がOFFであれば、RAM異常を示すエラーコードの設定(Sa22)、RAM異常を示すエラーコマンドの送信(Sa23)の後、割込を許可して(Sa24)、エラー処理に移行する。
Sa8のステップにおいて破壊診断用データが正常であると判定した場合には、RAM41cのデータは正常であるので、破壊診断用データをクリアし(Sa9)、RAM41cの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化3を行った後(Sa10)、設定キースイッチ37がONか否かを判定し(Sa11)、設定キースイッチ37がONであれば、Sa15のステップに移行して初期化1を実行し、設定開始コマンドの送信(Sa16)、乱数の取得(Sa17)、送信カウンタの設定(Sa18)の後、割込を許可して(Sa19)、設定変更処理に移行する。
Sa11のステップにおいて設定キースイッチ37がOFFであれば、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し(Sa12)、復帰コマンドを特定コマンド送信用バッファに設定し、サブCPU91aに対して送信し(Sa13)、割込を許可して(Sa14)、電断前の最後に実行していた処理に戻る。
図7は、メインCPU41aが実行するエラー処理の制御内容を示すフローチャートである。
エラー処理では、まず、現在の遊技補助表示器12の表示状態をスタックに退避し(Sb1)、レジスタに格納されているエラーコードを遊技補助表示器12に表示し(Sb2)、エラーコードがRAM異常エラーを示すエラーコードであるか否かを判定し(Sb3)、RAM異常エラーを示すエラーコードである場合には、いずれの処理も行わないループ処理に移行する。
Sb3のステップにおいてRAM異常エラーを示すエラーコードではないと判定された場合には、エラー状態の発生及びその種類を示すエラーコマンドを通常コマンド送信用バッファに設定する(Sb4)。Sb4のステップで設定されたエラーコマンドは、その後のタイマ割込処理(メイン)にてサブCPU91aに対して送信される。
次いで、リセット/設定スイッチ38の操作が検出されているか否かを判定し(Sb5)、リセット/設定スイッチ38の操作が検出されていなければ、更にリセットスイッチ23の操作が検出されているか否かを判定し(Sb6)、リセットスイッチ23の操作も検出されていなければ、Sb5のステップに戻る。すなわちリセット/設定スイッチ38またはリセットスイッチ23の操作が検出されるまで、遊技の進行が不能な状態で待機する。
そして、Sb5のステップにおいてリセット/設定スイッチ38の操作が検出された場合、またはSb6のステップにおいてリセットスイッチ23の操作が検出された場合には、レジスタに格納されているエラーコードをクリアし(Sb7)、遊技補助表示器12の表示状態をSb1のステップにおいてスタックに退避した表示状態に復帰させ(Sb8)、エラー状態が解除された旨を示すエラーコマンドを通常コマンド用送信バッファに設定して(Sb9)、もとの処理に戻る。Sb9で設定されたエラーコマンドは、その後のタイマ割込処理(メイン)にてサブCPU91aに対して送信される。
このようにエラー処理においては、RAM異常エラー以外によるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されることで、エラー状態を解除してもとの処理に復帰するが、RAM異常エラーによるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されてもエラー状態が解除され、元の状態に復帰することはない。
図8は、メインCPU41aが実行する設定変更処理の制御内容を示すフローチャートである。
設定変更処理では、まず、RAM41cの設定値ワークに格納されている設定値を読み出して、読み出した値を表示値とし(Sc1)、表示値が設定可能な範囲(1〜6)外か否かを判定し(Sc2)、表示値が設定可能な範囲内であればSc4のステップに進み、表示値が設定可能な範囲外であれば、表示値を1に補正し、Sc5のステップに進む。
Sc5のステップでは、設定値表示器24に表示値を表示させた後、リセット/設定スイッチ38とスタートスイッチ7の操作の検出待ちの状態となり(Sc5、Sc6)、Sc5のステップにおいてリセット/設定スイッチ38のonが検出されると、操作スイッチの立上りまたは立下りを示すエッジデータをクリアし(Sc9)、表示値を1加算し(Sc10)、Sc2のステップに戻る。
また、Sc6のステップにおいてスタートスイッチ7のonが検出されると、他の操作スイッチのonが検出されているか否かを判定し(Sc7)、他のスイッチのonも検出されている場合には、エッジデータをクリアし(Sc8)、Sc5のステップに戻る。
Sc7のステップにおいて他のスイッチのonが検出されていない場合には、エッジデータをクリアし(Sc11)、設定値表示器24に表示されている値を0に更新し(Sc12)、設定キースイッチ37がOFFの状態となるまで待機する(Sc13)。
Sc13のステップにおいて設定キースイッチ37のOFFが判定されると、表示値を設定値ワークに格納して(Sc14)、遊技状態コマンドを生成し、コマンド送信用バッファに設定し(Sc15)、ゲーム処理に移行する。Sc15のステップにおいて設定された遊技状態コマンドは、その後のタイマ割込処理(メイン)にてサブCPU91aに対して送信される。
図9は、メイン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のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
また、ゲーム処理では、ゲームの進行制御に応じてコマンドを生成し、通常コマンド送信用バッファに設定することで、その後のタイマ割込処理(メイン)においてサブCPU91aに対して設定されたコマンドが送信されるようになっている。
図10〜図12は、メインCPU41aがSd1のステップにおいて実行するBET処理の制御内容を示すフローチャートである。
BET処理では、まず、RAM41cにおいて賭数の値が格納されるBETカウンタの値をクリアし(Se1)、遊技状態に応じた規定数(本実施例では遊技状態に関わらず3)をRAM41cに設定し(Se2)、RAM41cにリプレイゲームである旨を示すリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定する(Se3)。
Se3のステップにおいて当該ゲームがリプレイゲームであると判定された場合には、賭数が3加算された旨を示すBETコマンドを通常コマンド用送信バッファに設定し(Se4)、BETカウンタの値を1加算し(Se5)、RAM41cに設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否を判定し(Se6)、BETカウンタの値が規定数でなければSe5のステップに戻り、BETカウンタの値が規定数であれば、メダルの投入不可を示す投入不可フラグをRAM41cに設定し(Se7)、Se11のステップに進む。Se4のステップで設定されたBETコマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
Se3のステップにおいて当該ゲームがリプレイゲームでないと判定されれば、投入待ち前の設定を行い(Se8)、Se9のステップに進む。投入待ち前の設定では、RAM41cに設定されている投入不可フラグをクリアし、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、精算スイッチ10の検出を有効化、すなわちゲームの進行制御に関与する状態とする。
Se9のステップでは、レジスタにエラーコードが設定されているか否か、すなわちエラーが検知されたか否かを判定し、エラーコードが設定されていれば、図7に示すエラー処理に移行する。
Se9のステップにおいてエラーコードが設定されていなければ、RAM41cに投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定する(Se10)。Se10のステップにおいてメダルの投入が可能な状態であると判定された場合には、流路切替ソレノイド30をonの状態とし、メダルの流路をホッパータンク側の経路としてメダルの投入が可能な状態とし(Se11)、Se13のステップに進み、メダルの投入が可能な状態でないと判定された場合には、流路切替ソレノイド30をoffの状態とし、メダルの流路をメダル払出口9側の経路として新たなメダルの投入を禁止し(Se12)、Se13のステップに進む。
Se13のステップにおいては、設定キースイッチ37がonの状態か否かを判定し、設定キースイッチ37がonであれば、BETカウンタの値が0か否かを判定する(Se14)。そして、Se14のステップにおいてBETカウンタの値が0であれば、確認開始コマンドを通常コマンド送信用バッファに設定し(Se15)、設定確認処理(Se16)、すなわち設定確認状態に移行する。Se15のステップで設定された確認開始コマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。また、Se16のステップにおける設定確認処理が終了した後は、Se9のステップに戻る。
Se13のステップにおいて設定キースイッチ37がonではない場合またはSe14のステップにおいてBETカウンタの値が0ではない場合には、Se17のステップに進み、投入メダルセンサ31により投入メダルの通過が検出されたか否か、すなわち投入メダルの通過が検出された旨を示す投入メダルフラグの有無を判定する。Se17のステップにおいて投入メダルの通過が検出されていなければ、Se27のステップに進み、投入メダルの通過が検出されていれば、投入メダルフラグをクリアし(Se18)、RAM41cに投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定し(Se19)、メダルの投入が可能な状態でなければSe27のステップに進む。
Se19のステップにおいてメダルの投入が可能な状態であれば、RAM41cに設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否を判定し(Se20)、BETカウンタの値が規定数でなければ、賭数が1加算された旨を示すBETコマンドを通常コマンド送信用バッファに設定し(Se21)、BETカウンタの値を1加算し(Se22)、Se9のステップに戻る。Se21のステップで設定されたBETコマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
Se20のステップにおいてBETカウンタの値が規定数であれば、現在のクレジットカウンタの値を示すクレジットコマンドを通常コマンド送信用バッファに設定し(Se23)、RAM41cにおいてクレジットの値が格納されるクレジットカウンタの値を1加算し(Se24)、クレジットカウンタの値が上限値である50であるか否かを判定し(Se25)、クレジットカウンタの値が50でなければ、Se9のステップに戻り、クレジットカウンタの値が50であれば投入不可フラグをRAM41cに設定し(Se26)、Se9のステップに戻る。Se23のステップで設定されたクレジットコマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
Se27のステップでは、スタートスイッチ7の操作が検出されているか否か、すなわちスタートスイッチ7の立上りを示すエッジデータ(立上りエッジ)が設定されているか否かを判定する。Se27のステップにおいてスタートスイッチ7の操作が検出されていなければSe32のステップに進み、スタートスイッチ7の操作が検出されていれば、エッジデータをクリアし(Se28)、RAM41cに設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否かを判定する(Se29)。
Se29のステップにおいてBETカウンタの値が規定数でなければ、Se9のステップに戻り、BETカウンタの値が規定数であれば、投入不可フラグをRAM41cに設定するとともに、流路切替ソレノイド30をoffの状態とし、メダルの流路をメダル払出口9側の経路として新たなメダルの投入を禁止し(Se30)、ゲーム開始時の設定を行う(Se31)。そして、Se31のステップの後、BET処理を終了して図9のフローチャートに復帰する。
Se32のステップにおいては、1枚BETスイッチ5の操作が検出されているか否か、すなわち1枚BETスイッチ5の立上りを示すエッジデータ(立上りエッジ)が設定されているか否かを判定する。Se32のステップにおいて1枚BETスイッチ5の操作が検出されていなければ、Se39のステップに進み、1枚BETスイッチ5の操作が検出されていれば、エッジデータをクリアし(Se33)、RAM41cに設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否かを判定する(Se34)。Se34のステップにおいてBETカウンタの値が規定数であればSe9のステップに戻り、BETカウンタの値が規定数でなければ、クレジットカウンタの値が0であるか否かを判定し(Se35)、クレジットカウンタの値が0であればSe9のステップに戻る。Se35のステップにおいてクレジットカウンタの値が0でなければ、賭数が1加算された旨を示すBETコマンドを通常コマンド送信用バッファに設定し(Se36)、クレジットカウンタの値を1減算し(Se37)、BETカウンタの値を1加算して(Se38)、Se9のステップに戻る。Se36のステップで設定されたBETコマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
Se39のステップにおいては、MAXBETスイッチ6の操作が検出されているか否か、すなわちMAXBETスイッチ6の立上り示すエッジデータ(立上りエッジ)が設定されているか否かを判定する。Se39のステップにおいてMAXBETスイッチ6の操作が検出されていなければ、Se47のステップに進み、MAXBETスイッチ6の操作が検出されていれば、エッジデータをクリアし(Se40)、RAM41cに設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否かを判定する(Se41)。Se41のステップにおいてBETカウンタの値が規定数であれば、Se45のステップに進み、BETカウンタの値が規定数でなければ、クレジットカウンタの値が0であるか否かを判定し(Se42)、クレジットカウンタの値が0であれば、Se45のステップに進む。Se42のステップにおいてクレジットカウンタの値が0でなければ、クレジットカウンタの値を1減算し(Se43)、BETカウンタの値を1加算して(Se44)、Se41のステップに戻る。Se45のステップでは、BETカウンタが加算されたか否かを判定し、BETカウンタが加算されていなければ、Se9のステップに戻り、BETカウンタが加算されていれば、加算された数分賭数が加算された旨を示すBETコマンドを通常コマンド送信用バッファに設定し(Se46)、Se9のステップに戻る。Se46のステップで設定されたBETコマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
Se47のステップにおいては、精算スイッチ10の操作が検出されているか否か、すなわち精算スイッチ10の立上りを示すエッジデータ(立上りエッジ)が設定されているか否かを判定する。Se47のステップにおいて精算スイッチ10の操作が検出されていなければ、Se9のステップに戻り、精算スイッチ10の操作が検出されていれば、エッジデータをクリアし(Se48)、RAM41cにリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定し(Se49)、当該ゲームがリプレイゲームであればSe9のステップに戻る。Se49のステップにおいて当該ゲームがリプレイゲームでなければ、BETカウンタの値が0か否かを判定し(Se50)、BETカウンタの値が0であればSe52のステップに進み、BETカウンタの値が0でなければ、既に設定済み賭数の精算を行う旨を示す賭数精算フラグをRAM41cに設定し(Se51)、Se52のステップに進む。Se52のステップにおいては、ホッパーモータ34を駆動してクレジットカウンタまたはBETカウンタに格納された値分のメダルを払い出す制御、すなわちクレジットとして記憶されているメダルまたは賭数の設定に用いられたメダルを返却する制御が行われる精算処理を行う。そして、Se52のステップにおける精算処理の後、RAM41cに設定されている投入不可フラグをクリアして(Se53)、Se9のステップに戻る。
図13は、メインCPU41aがSe16のステップにおいて実行する設定確認処理の制御内容を示すフローチャートである。
設定確認処理では、まず、ペイアウト表示器13の表示値を待避し(Sf1)、RAM41cの設定値ワークから現在設定されている設定値を取得し(Sf2)、取得した設定値をペイアウト表示器13に表示する(Sf3)。
その後、設定キースイッチ37がoffになるまで待機し(Sf4)、Sf4のステップにおいて設定キースイッチ37がoffになると、Sf1のステップにおいて待避していたペイアウト表示器13の表示値を復帰させた後(Sf5)、確認終了コマンドを通常コマンド送信用バッファに設定し(Sf6)、設定確認処理を終了して図10に示すフローチャートに復帰する。Sf6のステップで設定された確認終了コマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
図14は、メインCPU41aがSd3のステップにおいて実行するリール回転処理の制御内容を示すフローチャートである。
リール回転処理では、まず、前のゲームのリール回転開始時点からウェイトタイム(本実施例では、約4.1秒)が経過したか否かを判定し(Si1)、ウェイトタイムが経過していなければ、ウェイトタイムが経過するまで待機する。
そして、Si1のステップにおいてウェイトタイムが経過していれば、ウェイトタイムを新たに設定する(Si2)。
次いで、リールモータの回転開始時の設定を行い、リールの回転を開始させる(Si3)。そして、回転中のリール別に各停止操作位置毎の滑りコマ数を設定する滑りコマ数設定処理を行い(Si4)、停止準備完了時の設定を行う(Si5)。これにより、停止操作を有効化させることが可能な状態となり、その後、タイマ割込処理(メイン)の原点通過時処理において、リールの定速回転が検出された時点で、停止操作が有効となる。
次いで、いずれかのストップスイッチの操作が検出されたか否か、すなわちいずれかのストップスイッチの立上りを示すエッジデータ(立上りエッジ)が設定されているか否かを判定し(Si6)、いずれのストップスイッチの操作も検出されていなければ、リール回転エラー(一定期間以上、リールセンサ33によりリール基準位置が検出されない場合に判定されるエラー)が発生したか否かを判定し(Si7)、リール回転エラーが発生していなければ、更に、投入エラー(メダルの投入が許可されている期間以外で、メダルの投入を検出した場合に判定されるエラー)が発生したか否か、及び払出エラー(メダルの払出が許可されている期間以外で、メダルの払出を検出した場合に判定されるエラー)が発生したか否かを判定し(Si8、Si9)、Si7〜Si9のステップにおいていずれのエラーの発生も判定されなければ、Si6のステップに戻る。
また、Si8のステップにおいて投入エラーの発生が判定された場合、またはSi9のステップにおいて払出エラーが判定された場合には、リール回転中の投入・払出エラーを示すエラーコードをレジスタに設定し(Si10)、Si6のステップに戻る。尚、ここでエラーコードが設定されると、次ゲームのBET処理においてエラー処理に移行することとなる。
また、Si7のステップにおいてリール回転エラーの発生が判定された場合には、リール回転エラーを示すエラーコードをレジスタに設定し(Si11)、全てのリールを停止させて(Si12)、図9に示すエラー処理に移行する(Si13)。そして、エラーが解除された場合には、再びSi3のステップに戻り、リールの回転が再開する。
また、Si6のステップにおいていずれかのストップスイッチの操作が検出された場合には、他のスイッチのonが検出されているか否かを判定し(Si14)、他のスイッチのonも検出されている場合には、エッジデータをクリアし(Si15)、Si6のステップに戻る。
Si14のステップにおいて他のスイッチのonが検出されていなければ、エッジデータをクリアし(Si16)、操作が検出されたストップスイッチに対応するリールモータにおける、その時点のリール基準位置からのステップ数(停止操作位置となるステップ数)を取得し、停止リールに対応するワークに設定した後(Si17)、リール停止コマンドを生成し、通常コマンド送信用バッファに設定し(Si18)、停止操作に対応するリールの回転が停止するまで待機する(Si19)。Si18のステップにおいて設定されたリール停止コマンドは、その後のタイマ割込処理(メイン)でサブCPU91aに対して送信される。
そして、停止操作に対応するリールの回転が停止すると、全てのリールが停止したか否かを判定し(Si20)、全てのリールが停止していなければ、Si4のステップに戻り、全てのリールが停止していれば、リール回転処理を終了して、図9のフローチャートに復帰する。
図15及び図16は、メインCPU41aが割込3の発生に応じて、すなわち0.56msの間隔で起動処理やゲーム処理に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。
タイマ割込処理(メイン)においては、まず、割込を禁止する(Sk1)。すなわち、タイマ割込処理(メイン)の実行中に他の割込処理が実行されることを禁止する。そして、使用中のレジスタをスタック領域に退避した後(Sk2)、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う(Sk3)。
次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sk4)。Sk4のステップでは、分岐用カウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち分岐用カウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。
次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sk5)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32L、32C、32Rの始動時または定速回転中か否かを確認し、リールモータ32L、32C、32Rの始動時または定速回転中であれば、後述するSk9のモータステップ処理において変更した位相信号データや後述するSk25の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する(Sk6)。
次いで、分岐用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sk7)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sk8)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sk9)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sk10)を順次実行した後、Sk2においてスタック領域に退避したレジスタを復帰し(Sk20)、Sk1のステップにおいて禁止した割込を許可して(Sk21)、割込前の処理に戻る。
また、Sk7のステップにおいてタイマ割込2の場合には、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sk11)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sk12)、各種ソフトウェア乱数を更新する乱数更新処理(Sk13)、各種時間カウンタを更新する時間カウンタ更新処理(Sk14)、通常コマンド送信用バッファに格納されているコマンドまたは操作検出コマンドをサブCPU91aに対して送信するコマンド送信処理(Sk15)、外部出力信号を更新する外部出力信号更新処理(Sk16)を順次実行した後、Sk2においてスタック領域に退避したレジスタを復帰し(Sk20)、Sk1のステップにおいて禁止した割込を許可して(Sk21)、割込前の処理に戻る。
また、Sk5のステップにおいてタイマ割込3またはタイマ割込4であれば、更に、分岐用カウンタ値を参照して3か否か、すなわちタイマ割込4か否かを判定し(Sk17)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているか(停止準備完了コードが設定されているか)を確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する原点通過時処理(Sk18)、スイッチ類の検出状態に変化があったか否かを判定するスイッチ入力判定処理(Sk19)を順次実行した後、Sk2においてスタック領域に退避したレジスタを復帰し(Sk20)、Sk1のステップにおいて禁止した割込を許可して(Sk21)、割込前の処理に戻る。
また、Sk17のステップにおいてタイマ割込4であれば、ストップスイッチ8L、8C、8Rの検出に伴って停止リールのワークに停止操作位置が格納されたときに、停止リールのワークに格納された停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理(Sk22)、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sk23)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sk24)を順次実行した後、Sk2においてスタック領域に退避したレジスタを復帰し(Sk20)、Sk1のステップにおいて禁止した割込を許可して(Sk21)、割込前の処理に戻る。
図17は、メインCPU41aが前述したタイマ割込処理(メイン)のタイマ割込3内において実行するスイッチ入力判定処理の制御内容を示すフローチャートである。
スイッチ入力判定処理では、ポート入力処理において取得した各スイッチの入力データを更新し(Sk101)、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じであるか否かを判定し(Sk102)、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じでなければ、図16のフローチャートに復帰する。
Sk102のステップにおいて、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じであれば、該当するスイッチの確定データを更新し(Sk103)、Sk104のステップに進む。Sk103のステップでは、今回の確定データを前回の確定データに移動し、前回と今回が同じと判定された入力データが示す検出状態を今回の確定データとして設定する。
Sk104のステップでは、更新後の前回の確定データと今回の確定データとが同じか否かを判定し、前回の確定データと今回の確定データとが同じであれば、図16のフローチャートに復帰する。
Sk104のステップにおいて前回の確定データと今回の確定データとが同じでなければ、該当するスイッチがOFFからONに変化したかを判定し(Sk105)、スイッチがOFFからONに変化した場合には、OFFからONに変化した旨を示す立上りエッジを設定し(Sk106)、図16のフローチャートに復帰する。
Sk105のステップにおいてONからOFFに変化した場合には、ONからOFFに変化した旨を示す立下りエッジデータを設定し(Sk107)、図16のフローチャートに復帰する。
図18は、メインCPU41aが前述したタイマ割込処理(メイン)のタイマ割込2内において実行するコマンド送信処理の制御内容を示すフローチャートである。
コマンド送信処理では、まず、操作検出コマンドの送信時期か否かを判定するためにRAM41cに割り当てられた送信カウンタの値を1減算し(Sk191)、送信カウンタの値が0か否かを判定する(Sk192)。
Sk192のステップにおいて送信カウンタの値が0ではない場合には、Sk197のステップに進み、送信カウンタの値が0の場合、すなわち操作検出コマンドの送信時期であれば、送信カウンタに5を設定し(Sk193)、各スイッチの確定データを取得し、各スイッチの検出状態(on/off)をそれぞれ特定可能な操作検出コマンドを作成し(Sk194)、作成した操作検出コマンドを特定コマンド送信用バッファに設定する(Sk195)。そして、特定コマンド送信用バッファのアドレスを設定し(Sk196)、Sk199のステップに進む。
Sk197のステップでは、通常コマンド送信用バッファに未送信のコマンドがあるか否かを判定し(Sk198)、未送信のコマンドがなければ、コマンド送信処理を終了し、図15に示すフローチャートに復帰する。
Sk198のステップにおいて通常コマンド送信用バッファに未送信のコマンドがあれば、通常コマンド送信用バッファの送信ポインタが示すアドレスを設定し(Sk198)、Sk199のステップに進む。
Sk199のステップでは、Sk196またはSk198ステップにおいて設定されたアドレスに格納されているコマンドを読み出し、サブCPU91aに対して送信し、コマンド送信処理を終了して、図15に示すフローチャートに復帰する。
図19は、メインCPU41aが割込2の発生に応じて、すなわち電断検出回路48からの電圧低下信号が入力されたときに起動処理やゲーム処理に割り込んで実行する電断割込処理(メイン)の制御内容を示すフローチャートである。
電断割込処理(メイン)においては、まず、割込を禁止する(Sm1)。すなわち電断割込処理(メイン)の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する(Sm2)。尚、前述したIレジスタ及びIYレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
次いで、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否かを判定する(Sm3)。この際、電圧低下信号が入力されていなければ、Sm2においてスタック領域に退避したレジスタを復帰し(Sm4)、Sk1のステップにおいて禁止した割込を許可して(Sm5)、割込前の処理に戻る。
また、Sk3のステップにおいて電圧低下信号が入力されていれば、破壊診断用データ(本実施例では、5A(H))をセットして(Sm6)、全ての出力ポートを初期化する(Sm7)。次いでRAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし(Sm8)、RAM41cへのアクセスを禁止する(Sm9)。
そして、電圧低下信号が入力されているか否かの判定(Sm10、尚、Sm10は、Sm3と同様の処理である)を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にメインCPU41aは動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理(メイン)が実行され、RAMパリティが0となり、かつ破壊診断用データが正常であれば、元の処理に復帰することとなる。
尚、本実施例では、RAM41cへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)へ移行するようになっているが、ループ処理において何らの処理も行わず、ループ処理が行われている間に、電圧が回復し、リセット回路49からリセット信号が入力されたことに基づいて、起動処理(メイン)へ移行するようにしても良い。
次に、サブ制御部91のサブCPU91aが実行する各種制御内容を、図20〜図26のフローチャートに基づいて以下に説明する。
サブCPU91aは、サブ制御部91にリセット回路95からリセット信号が入力されると、図20に示す起動処理(サブ)を行う。
起動処理(サブ)では、内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sr1)、RAM91cへのアクセスを許可する(Sr2)。そして、RAM91cの全ての格納領域のRAMパリティを計算し(Sr3)、RAMパリティが0か否かを判定する(Sr4)。
RAM91cのデータが正常であれば、RAMパリティが0になるはずであり、Sr4のステップにおいてRAMパリティが0であれば、RAM91cに格納されているデータが正常であるので、Sr5のステップに進み、電断前の制御状態を復帰させる。Sr5のステップでは、制御パターン格納領域に設定されている制御パターンではなく、復旧中パターンAに応じて演出装置の出力制御を行った後、Sr9のステップに進む。
Sr4のステップにおいてRAMパリティが0でなければ、RAM91cに格納されているデータが正常ではないので、RAM91cを初期化した後(Sr6)、制御パターン格納領域にパターン0を設定し(Sr7)、制御パターン格納領域に設定されているパターン0ではなく、復旧中パターンBに応じて演出装置の出力制御を行った後、Sr9のステップに進む。
Sr9のステップでは、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかの受信待ちである旨を示す復旧待ちフラグをRAM91cに設定し、割込を許可する(Sr10)。
その後、タイマ割込処理(サブ)において復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかの受信が判定され、復旧待ちフラグがクリアされるか、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれも受信せずに復旧待ち時間が経過するまで待機し(Sr11、Sr12)、Sr11のステップにおいて復旧待ちフラグが設定されていないと判定された場合、すなわち復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信した場合には、ループ処理に移行する。
また、Sr12のステップにおいて復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれも受信せずに復旧待ち時間が経過したと判定した場合には、遊技制御基板40と正常に接続されていない旨を報知する接続エラー報知状態に移行する。
次に、サブCPU91aが1.12msの間隔で定期的に実行するタイマ割込処理(サブ)を、図21のフローチャートに基づいて以下に説明する。
図20に示すように、タイマ割込処理(サブ)においては、まず、電断割込を禁止し(Ss1)、受信用バッファにコマンドが格納されているか否か、すなわちメインCPU41aからコマンドを受信しているか否かを判定する(Ss2)。Ss2のステップにおいて受信用バッファにコマンドが格納されていなければ、復旧待ちフラグが設定されているか否かを判定し(Ss3)、復旧待ちフラグが設定されていなければ、Ss43のステップに進み、復旧待ちフラグが設定されていれば、Ss47のステップに進む。
Ss2のステップにおいて受信用バッファにコマンドが格納されていれば、受信用バッファからコマンドを取得し(Ss4)、復旧待ちフラグが設定されているか否かを判定し(Ss5)、復旧待ちフラグが設定されていなければ、Ss19のステップに進む。
Ss5のステップにおいて復旧待ちフラグが設定されていれば、取得したコマンドが復帰コマンドか否かを判定し(Ss6)、復帰コマンドでなければSs9のステップに進み、復帰コマンドであれば、復旧待ちフラグをクリアして(Ss7)、後述する検出状態格納領域と後述する操作検出フラグ、時間経過フラグ、連続操作カウンタ、操作時間カウンタからなる検出履歴とを初期化し(Ss8)、Ss40のステップに進む。
Ss9のステップでは、取得したコマンドが設定開始コマンドか否かを判定し、設定開始コマンドでなければSs14のステップに進み、設定開始コマンドであれば、復旧待ちフラグをクリアして(Ss10)、RAM91cを初期化し(Ss11)、管理者モードに制御されている旨を示す管理者モードをRAM91cに設定し(Ss12)、制御パターン格納領域に後述する管理者モード画面の表示などが行われる管理者用パターンを設定し(Ss13)、Ss40のステップに進む。
Ss14のステップでは、取得したコマンドがRAM異常エラーを示すエラーコマンドか否かを判定し、RAM異常エラーを示すエラーコマンドでなければ、受信用バッファに格納されているコマンドのうち今回取得したコマンドをクリアし(Ss18)、Ss47のステップに進む。
Ss14のステップにおいて取得したコマンドがRAM異常エラーを示すエラーコマンドであれば、復旧待ちフラグをクリアして(Ss15)、RAM91cを初期化し(Ss16)、制御パターン格納領域にエラーパターンを設定し(Ss17)、Ss40のステップに進む。
Ss19のステップでは、取得したコマンドが遊技状態コマンドか否かを判定し、遊技状態コマンドでなければSs24のステップに進み、遊技状態コマンドであれば、遊技状態コマンドから特定される次ゲームの遊技状態をRAM91cに設定し(Ss20)、管理者モードが設定されているか否かを判定する(Ss21)。
Ss21のステップにおいて管理者モードが設定されていなければSs40のステップに進み、管理者モードが設定されていれば、制御パターン格納領域にパターン0を設定し(Ss22)、管理者モードをクリアして(Ss23)、Ss40のステップに進む。
Ss24のステップでは、取得したコマンドが確認開始コマンドか否かを判定し、確認開始コマンドでなければSs28のステップに進み、確認開始コマンドであれば、制御パターン格納領域に設定されている制御パターンを待避し(Ss25)、RAM91cに管理者モードを設定し(Ss26)、制御パターン格納領域に管理者用パターンを設定し(Ss27)、Ss40のステップに進む。
Ss28のステップでは、取得したコマンドがエラーの発生を示すエラーコマンドか否かを判定し、エラーの発生を示すエラーコマンドでなければSs31のステップに進み、エラーの発生を示すエラーコマンドであれば、制御パターン格納領域に設定されている制御パターンを待避し(Ss29)、制御パターン格納領域にエラーパターンを設定し(Ss30)、Ss40のステップに進む。
Ss31のステップでは、取得したコマンドがエラーの解除を示すエラーコマンドか否かを判定し、エラーの解除を示すエラーコマンドであればSs34のステップに進み、エラーの解除を示すエラーコマンドでなければ、取得したコマンドが確認終了コマンドか否かを判定する(Ss32)。Ss32のステップにおいて取得したコマンドが確認終了コマンドでなければSs35のステップに進み、確認終了コマンドであれば、管理者モードをクリアし(Ss33)、Ss34のステップに進む。Ss34のステップでは、待避していた制御パターンを制御パターン格納領域に復帰させ、Ss40のステップに進む。
Ss35のステップでは、取得したコマンドが内部当選コマンドか否かを判定し、内部当選コマンドでなければSs37のステップに進み、内部当選コマンドであれば、ROM91bに格納されている演出テーブルを参照し、内部当選コマンドが示す内部抽選の結果に応じた選択率にて演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定する演出パターン選択処理を実行し(Ss36)、Ss39のステップに進む。
Ss37のステップでは、取得したコマンドが操作検出コマンドか否かを判定し、操作検出コマンドでなければSs39のステップに進み、操作検出コマンドであれば、操作スイッチの検出状態を更新する操作検出処理1を実行し(Ss38)、Ss42のステップに進む。
Ss39のステップでは、ROM91bに格納されている制御パターンテーブルを参照し、RAM91cに設定されている演出パターン及び取得したコマンドに対応して登録されている制御パターンを読み出して制御パターン格納領域の制御パターンを更新する制御パターン更新処理を実行し、Ss40のステップに進む。
Ss40のステップでは、制御パターン格納領域に設定されている制御パターンと演出装置の出力状態とが一致するか否かを判定し、制御パターン格納領域に設定されている制御パターンと演出装置の出力状態が一致する場合には、Ss42のステップに進み、一致しない場合には、制御パターン格納領域に設定されている制御パターンに応じて演出装置の出力制御を行い(Ss41)、Ss42のステップに進む。
Ss42のステップでは、受信用バッファに格納されているコマンドのうち今回取得したコマンドをクリアし、Ss43のステップに進む。Ss43のステップでは、操作スイッチが一定時間継続して操作されたか否かを監視する操作検出処理2を実行し、Ss44のステップに進む。
Ss44のステップでは、管理者モードが設定されているか否かを判定し、管理者モードが設定されていなければ、操作スイッチの検出状態などに応じて操作演出を行う操作演出処理を実行し(Ss45)、Ss47のステップに進む。Ss44のステップにおいて管理者モードが設定されていれば、操作スイッチの検出状態などに応じて管理情報へのアクセス制御を行う管理者モード処理を実行し(Ss46)、Ss47のステップに進む。
Ss47のステップでは、各種カウンタの値を更新する処理を行った後、Ss1のステップにおいて禁止した電断割込を許可して(Ss48)、タイマ割込処理(サブ)を終了する。
図24は、サブCPU91aが前述したタイマ割込処理(サブ)において実行する操作検出処理1の制御内容を示すフローチャートである。
操作検出処理1では、操作スイッチの検出状態の変化状況(前回の検出状態と今回の検出状態)が操作スイッチ毎に格納される検出状態格納領域における各操作スイッチの検出状態を操作検出コマンドが示す検出状態に合わせて更新する(Ss201)。
次いで、更新された検出状態格納領域を参照し、いずれかの操作スイッチの検出状態がOFFからONに変化したか否かを判定し(Ss202)、OFFからONに変化した操作スイッチがなければSs206のステップに進み、OFFからONに変化した操作スイッチがあれば、操作スイッチの操作状態が変化した旨を示す操作検出フラグ(立上りまたは立下り)が操作スイッチ毎に格納される操作検出フラグ格納領域に、OFFからONに変化した操作スイッチに対応して立上りフラグを設定し(Ss203)、連続して操作された回数を各操作スイッチ毎に計数する連続操作カウンタを更新する(Ss204)。詳しくは、今回OFFからONに変化した操作スイッチ以外に対応するカウンタの値をクリアし、今回OFFからONに変化した操作スイッチに対応するカウンタの値を1回加算する。
次いで、各操作スイッチが継続して操作されている時間を計時するための操作時間カウンタのうちOFFからONに変化した操作スイッチに対応するカウンタの値を初期化(0とする)し(Ss205)、Ss206のステップに進む。
Ss206のステップでは、更新された検出状態格納領域を参照し、いずれかの操作スイッチの検出状態がONからOFFに変化したか否かを判定し、ONからOFFに変化した操作スイッチがなければ、図22のフローチャートに復帰し、ONからOFFに変化した操作スイッチがあれば、操作検出フラグ格納領域に、ONからOFFに変化した操作スイッチに対応して立下りフラグを設定し(Ss207)、図22のフローチャートに復帰する。
図25は、サブCPU91aが前述したタイマ割込処理(サブ)において実行する操作検出処理2の制御内容を示すフローチャートである。
操作検出処理2では、検出状態格納領域を参照し、今回の状態がONの操作スイッチがあるか否かを判定し(Ss301)、今回の状態がONの操作スイッチがなければ、図23に示すフローチャートに復帰する。
Ss301のステップにおいて今回の状態がONの操作スイッチがあれば、今回の状態がONの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがONとなってから10秒経過したか否かを判定し(Ss302)、10秒経過していなければ、Ss304のステップに進み、10秒経過していれば10秒経過フラグを設定し(Ss303)、Ss304のステップに進む。
Ss304のステップでは、今回の状態がONの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがONとなってから5秒経過したか否かを判定し、5秒経過していなければ、Ss306のステップに進み、5秒経過していれば5秒経過フラグを設定し(Ss305)、Ss306のステップに進む。
Ss306のステップでは、今回の状態がONの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがONとなってから3秒経過したか否かを判定し、3秒経過していなければ、図22に示すフローチャートに復帰し、3秒経過していれば3秒経過フラグを設定し(Ss307)、図22に示すフローチャートに復帰する。
図26は、サブCPU91aが電断検出回路98からの電圧低下信号が入力されたときに実行する電断割込処理(サブ)の制御内容を示すフローチャートである。
電断割込処理(サブ)においては、まず、割込を禁止する(St1)。すなわち電断割込処理(サブ)の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する(St2)。
次いで、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否かを判定する(St3)。この際、電圧低下信号が入力されていなければ、St2においてスタック領域に退避したレジスタを復帰し(St4)、St1のステップにおいて禁止した割込を許可して(St5)、割込前の処理に戻る。
また、St3のステップにおいて電圧低下信号が入力されていれば、全ての出力ポートを初期化する(St6)。次いでRAM91cの全ての格納領域の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし(St7)、RAM91cへのアクセスを禁止する(St8)。
そして、電圧低下信号が入力されているか否かの判定(St9、尚、St9は、St3と同様の処理である)を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にサブCPU91aは動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理(サブ)が実行され、RAMパリティが0となれば、元の処理に復帰することとなる。
尚、本実施例では、RAM41cへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(サブ)へ移行するようになっているが、ループ処理において何らの処理も行わず、ループ処理が行われている間に、電圧が回復し、リセット回路95からリセット信号が入力されたことに基づいて、起動処理(サブ)へ移行するようにしても良い。
本実施例のスロットマシン1は、メインCPU41aがゲームの進行制御を行う操作スイッチとして1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rを備える。また、これら操作スイッチのうちスタートスイッチ7は、設定変更状態において設定値の確定操作にも用いられる。
これらスイッチ類の操作は、ゲームの終了時から次回のゲーム終了時までを構成する全ての制御状態において常にゲームの進行制御に関与するものではなく、制御状態に応じてゲームの進行制御に関与することもあれば関与しないことがある。
図27に示すように、ゲーム終了後(設定変更後)からゲーム開始までの制御状態においては、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7の操作がゲームの進行制御に関与し、ストップスイッチ8L、8C、8Rの操作はゲームの進行制御に関与しない。さらにゲーム終了後(設定変更後)からゲーム開始までの制御状態であっても、賭数が規定数に到達していない状態、すなわち賭数をさらに加算できる状態であり、かつゲームの開始条件が成立していない状態では、1枚BETスイッチ5、MAXBETスイッチ6の操作がゲームの進行制御に関与するが、スタートスイッチ7の操作はゲームの進行制御に関与せず、一方で、賭数が規定数に到達している状態、すなわち賭数を加算できない状態であり、かつゲームの開始条件が成立している状態では、スタートスイッチ7の操作がゲームの進行制御に関与するが、1枚BETスイッチ5、MAXBETスイッチ6の操作はゲームの進行制御に関与しない。
また、ゲーム開始後からゲーム終了までの制御状態では、ストップスイッチ8L、8C、8Rの操作がゲームの進行制御に関与し、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7の操作はゲームの進行制御に関与しない。さらにゲーム開始後からゲーム終了までの制御状態であっても、全リールが回転中であれば、ストップスイッチ8L、8C、8Rの全ての操作がゲームの進行制御に関与するが、いずれかのリールが停止している状態であれば、ストップスイッチ8L、8C、8Rのうち回転中のリールに対応するストップスイッチのみがゲームの進行制御に関与し、停止済みのリールに対応するストップスイッチはゲームの進行制御に関与しない。
尚、本発明における制御状態とは、ゲーム終了後(設定変更後)からゲーム開始までの制御状態、ゲーム開始後からゲーム終了までの制御状態に限らず、ゲーム終了後(設定変更後)からゲーム開始までの制御状態のうち賭数が規定数に到達していない状態、すなわち賭数をさらに加算できる状態であり、かつゲームの開始条件が成立していない制御状態、賭数が規定数に到達している状態、すなわち賭数を加算できない状態であり、かつゲームの開始条件が成立している制御状態、ゲーム開始後からゲーム終了までの制御状態のうち全リールが回転中の制御状態、左リールのみが停止している制御状態、中リールのみが停止している制御状態、右リールのみが停止している制御状態、左、中リールが停止している制御状態、左、右リールが停止している制御状態、右、中リールが停止している制御状態、ウェイト期間の状態、メダルの払出期間の状態のそれぞれについても該当する。さらに、ゲーム終了後(設定変更後)からゲーム開始までの制御状態において1枚BETスイッチ5やMAXBETスイッチ6の操作がゲームの進行制御に関与しない状態であっても、規定数の賭数が既に設定されているために1枚BETスイッチ5やMAXBETスイッチ6の操作がゲームの進行制御に関与しない制御状態と、規定数の賭数が未だ設定されてはいないが、クレジットが残存していないために1枚BETスイッチ5やMAXBETスイッチ6の操作がゲームの進行制御に関与しない制御状態とは、異なる制御状態といえる。
また、設定変更状態では、スタートスイッチ7の操作が設定値の変更制御に関与し、1枚BETスイッチ5、MAXBETスイッチ6、ストップスイッチ8L、8C、8Rの操作はゲームの進行制御に関与しない。さらに設定変更状態であっても、設定値が確定する前であればスタートスイッチ7の操作が設定値の変更制御に関与するが、設定値が確定した後は、いずれの操作スイッチも設定値の変更制御に関与しない。また、設定確認状態では、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rのいずれの操作もゲームの進行制御に関与しない。
メインCPU41aは、これら操作スイッチを、一定時間間隔毎に割り込んで実行されるタイマ割込処理(メイン)中に実行するスイッチ入力判定処理において検出する。スイッチ入力判定処理では、操作スイッチの検出状態を監視し、いずれかの操作スイッチがOFFからONに変化した場合に、該当する操作スイッチがOFFからONに変化した旨を示すエッジデータ(立上りエッジ)を設定し、ONからOFFに変化した場合に、該当する操作スイッチがONからOFFに変化した旨を示すエッジデータ(立下りエッジ)を設定する。
そして、メインCPU41aは、ゲーム処理において現段階の制御状態に応じてゲームの進行制御に関与する操作スイッチの立上りエッジが設定されているか否かに基づいて当該操作スイッチの操作がなされたか否かを判定し、当該操作スイッチの操作がなされていると判定した場合には、エッジデータを全てクリアし、当該操作スイッチの操作に応じたゲームの進行制御を実行するとともに、ゲームの進行制御に伴うコマンド(BETコマンド、内部当選コマンド、リール停止コマンドなど)を通常コマンド送信用バッファに設定する。
メインCPU41a、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がONであるか否かを判定し、他の操作スイッチの検出状態がONであると判定した場合、すなわち他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出された場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっている。
これは、ストップスイッチ8L、8C、8Rのうち2つ以上の操作が検出された場合に、いずれかの操作に基づく停止制御を優先すると、他方の停止制御が遅れてしまい、リールの停止態様が不自然になる等の問題が生じ得る虞があるためであり、上記のように他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出されても、対応するリールの停止制御を行わないことで、一方のリールの停止制御によって他方のリールの停止制御が遅れることがないようになっている。
また、メインCPU41aは、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他のストップスイッチに限らず、他の操作スイッチの検出状態がONであるか否かを判定し、他の操作スイッチのいずれかの検出状態がONであると判定した場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっており、操作スイッチの検出状態のうちストップスイッチの検出状態のみを抽出することなく、例えば、ONを1とし、OFFを0とした場合に、操作スイッチ全ての検出状態の総和を算出し、2以上であれば、他の操作スイッチが検出状態と判定するなど、操作スイッチ全ての検出状態を一括して判定することが可能となる。
また、メインCPU41aは、設定変更状態において、未だ設定値が確定していない段階で、設定値を確定させるためのスタートスイッチ7の立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がONであるか否かを判定し、他の操作スイッチのいずれかの検出状態がONであると判定した場合には、設定値を確定させる制御を行わないようになっている。
これは、後述のように設定変更状態においてサブCPU91a側で制御される管理者モードの操作手段として本来であればメインCPU41aがゲームの進行制御に用いる操作スイッチを流用しているためであり、上記のように未だ設定値が確定していない段階で、他の操作スイッチが操作されている状態で設定値を確定させるためのスタートスイッチ7が操作されても設定値の確定制御を行わないことで、管理者モードの操作に伴い、誤ってスタートスイッチ7も同時に操作してしまった場合でも、設定値は確定せず、設定値が未設定の段階が維持されるので、管理者が予期せずに設定値を確定させてしまうことがなく、誤操作によって再度、電源を落として最初から設定変更状態としなければならないといった煩わしさを軽減できるようになっている。
メインCPU41aは、タイマ割込処理(メイン)中にサブCPU91aに対してコマンドを送信するコマンド送信処理を実行する。コマンド送信処理では、通常コマンド送信用バッファにコマンドが格納されているか否か、すなわちゲームの進行制御に伴うコマンドが格納されているか否かを判定し、通常コマンド送信用バッファにコマンドが格納されていると判定した場合には、通常コマンド送信用バッファに格納されているゲームの進行制御に伴うコマンドをサブCPU91aに対して送信する。
また、コマンド送信処理では、操作検出コマンドの送信時期か否かを判定し、操作検出コマンドの送信時期であれば、操作スイッチの検出状態が変化したか否かに関わらず、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rの検出状態を示す確定データを取得し、取得した確定データに基づいて、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8RそれぞれのON/OFFの状態を特定可能な操作検出コマンドを作成して特定コマンド送信用バッファに設定し、直ちにサブCPU91aに対して送信する。操作検出コマンドの送信時期か否かは、RAM41cに割り当てられた送信カウンタの値を参照して判断する。送信カウンタは、コマンド送信処理が実行される毎に1ずつ減算され、その値が0となった際に操作検出コマンドの送信時期であることが特定され、送信カウンタには新たに初期値(本実施例では5)が設定される。このため、本実施例では、コマンド送信処理が5回実行される毎に1回、その時点の確定データに基づいて操作検出コマンドがサブCPU91aに対して送信されるようになっている。
前述のように、コマンド送信処理は、タイマ割込処理(メイン)が4回実行される毎に1回実行されるので、操作検出コマンドはタイマ割込処理(メイン)が20回実行される毎に1回送信され、タイマ割込処理(メイン)の実行間隔は、約0.56msであるので、メインCPU41aは、約11.2ms毎に1回、サブCPU91aに対して送信することとなる。
尚、本実施例では、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rの確定データを取得して操作検出コマンドを作成しているが、ポート入力処理において検知された1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rの入力データを取得して操作検出コマンドを作成しても良い。
このように本実施例では、メインCPU41aが、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rが操作されたことを特定可能な操作検出コマンドをサブCPU91aに対して送信することで、サブCPU91aが、それぞれの制御状態においてゲームの進行制御に関与する操作スイッチであるか否かに関わらず、メインCPU41aにより検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
また、メインCPU41aは、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rのいずれかが操作されたか否かに関わらず、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8RそれぞれのON/OFFの状態を特定可能な操作検出コマンドを定期的に送信することで、サブCPU91aは、これら操作スイッチのON/OFFの状態を定期的に特定できるようになっており、サブCPU91aが操作検出コマンドを取りこぼした場合であっても、次回送信される操作検出コマンドに基づいて全ての操作スイッチについて最新の検出状態を特定することが可能となり、ゲームの進行制御に関与しない操作スイッチの操作に応じた演出を確実に実行することができる。
また、操作検出コマンドから、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R全ての検出状態を特定することが可能であるため、サブCPU91a側で、複数のスイッチの同時操作や特定のスイッチのみの操作といった複数の操作スイッチの操作状況を反映した演出を行うことが可能となり、操作スイッチの操作を用いた演出を多様なものにできる。
また、操作検出コマンドは、メインCPU41aが一定間隔毎に実行するタイマ割込処理(メイン)が実行される毎に送信されるのではなく、タイマ割込処理(メイン)が予め定められた回数(本実施例では20回)実行される毎に送信されるので、操作検出コマンドの送信によってメインCPU41aの負荷が極端に増大してしまうことを防止できる。
尚、本実施例では、メインCPU41aが、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rのいずれかが操作されたか否かに関わらず、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8RそれぞれのON/OFFの状態を特定可能な操作検出コマンドを一定間隔毎に送信する構成であるが、いずれかの操作スイッチの検出状態(ON/OFF)が変化したときのみ、その旨を示す操作検出コマンドを送信するようにしても良く、このような構成とすることで、操作検出コマンドの送信を極力減らすことが可能となり、操作検出コマンドの送信に係る制御の負荷を軽減できるうえに、サブCPU91a側でも必要以上に操作検出コマンドを受信せずに済む。
また、いずれかの操作スイッチの検出状態(ON/OFF)が変化したときに、当該操作スイッチの検出状態に加えて他の操作スイッチの検出状態も特定可能な操作検出コマンドをサブCPU91aに対して送信する構成としても良く、このような構成とすることで、操作検出コマンドの送信を極力減らすことが可能となるうえに、サブCPU91aは、操作検出コマンドから検出状態の変化した操作スイッチの検出状態だけでなく、他の操作手段の検出状態も特定できるようになり、サブCPU91a側で複数の操作手段の操作状況を反映した演出を行うことが可能となり、操作スイッチの操作を用いた演出を多様なものにできる。
また、メインCPU41aは、コマンド送信処理において操作検出コマンドを送信する場合、通常コマンド送信用バッファに未送信のコマンドが残っていても通常コマンド送信用バッファのコマンドを送信せず、通常コマンド送信用バッファに設定されている未送信のコマンドは、次回のコマンド送信処理において送信するようになっている。すなわち通常コマンド送信用バッファに未送信のコマンドが設定されている状態で操作検出コマンドの送信時期となった場合には、操作検出コマンドの送信を優先する。
通常コマンド送信用バッファのコマンドは、あるコマンド送信処理において送信されなかった場合でも、次回のコマンド送信処理で送信されるため、演出のタイミングが大幅に遅れてしまうことがないが、操作検出コマンドはコマンド送信処理が5回実行される毎に送信されるため、操作検出コマンドの送信時期となったコマンド送信処理で操作検出コマンドが送信されなかった場合には、前回の操作スイッチの検出状態との違いが特定されるまでの間隔が本来の操作検出コマンドの送信間隔よりも長くなることで、演出のタイミングが大幅に遅れてしまう可能性があるが、本実施例では、前述のように通常コマンド送信用バッファの未送信コマンドよりも操作検出コマンドの送信が優先されるので、ゲームの進行制御に関与しない操作スイッチの操作に伴う演出の遅れを極力抑えることができるとともに、メインCPU41aからサブCPU91aに対してコマンドが連続して送信される場合でも、必ずコマンド送信処理が実行された後、次回コマンド送信処理が実行されるまでの間隔を空けてコマンドが1つずつ送信されるので、サブCPU91aが確実にコマンドを受信することが可能となる。
また、ゲームの進行制御に伴うコマンドはゲーム処理において一時的に通常コマンド送信用バッファに設定され、その後のコマンド送信処理において送信されるのに対して、操作検出コマンドは、通常コマンド送信用バッファには設定されず、それとは異なる特定コマンド送信用バッファに設定されて送信されるようになっており、ゲームの進行制御に基づいて不定期に送信されるコマンドの送信タイミングと、一定間隔毎に送信される操作検出コマンドの送信タイミングと、が重複してもこれらコマンドの送信制御が複雑とならない。特に、本実施例のように、ゲームの進行制御に基づいて不定期に送信されるコマンドの送信タイミングと、一定間隔毎に送信される操作検出コマンドの送信タイミングと、が重複した場合において、いずれか一方のコマンドを優先させるにあたり、いずれか一方のコマンド送信用バッファのアドレスを指定する制御を行うのみで、一方のコマンドの送信を優先させることが可能となる。さらに、通常コマンド送信用バッファのように、複数のコマンドを格納可能であり、さらに最も最初に格納されたコマンドを送信する構成(いわゆるキュー)を採っているにも関わらず、後から格納された格納された操作検出コマンドを優先させようとすると、送信順位の入替などを行う必要があり、送信制御が著しく複雑となってしまうこととなるが、操作検出コマンドを通常コマンド送信用バッファに格納せずに送信する構成とすることでこのような問題は生じることがない。
尚、本実施例では、コマンド送信処理において通常コマンド送信用バッファの未送信コマンドよりも操作検出コマンドの送信を優先する構成であるが、コマンド送信処理において操作検出コマンドの送信時期か否かを判定する前に通常コマンド送信用バッファに未送信のコマンドが設定されているか否かを判定し、通常コマンド送信用バッファに未送信のコマンドが残っている場合には、通常コマンドの送信用バッファに設定されているコマンドを送信し、同じコマンド送信処理において操作検出コマンドを送信しない構成、すなわち操作検出コマンドよりも通常コマンド送信用バッファの未送信のコマンドの送信を優先する構成としても良く、このようにすることで、ゲームの進行制御に応じた演出が、操作スイッチの検出状態が変化したか否かに関わらず送信される操作検出コマンド、すなわち演出が実行されるか否かが不確定な状態を示すコマンドの送信によって遅れてしまうことを防止できる。
また、操作検出コマンドの送信時期において、通常コマンド送信用バッファに未送信のコマンドが設定されている場合に、同じコマンド送信処理において双方のコマンドを送信する構成としても良く、このような構成とした場合には、ゲームの進行制御に応じた演出及びゲームの進行制御に関与しない操作スイッチの操作に伴う演出の双方について演出のタイミングが遅れてしまうことを防止できる。
また、メインCPU41aは、図28に示すように、リセット信号がOFFとなって起動した際に、起動処理を実行し、起動処理の終了時に割込が許可され、その後、タイマ割込処理(メイン)を一定間隔毎に実行する。そして、メインCPU41aが電断前の状態に復帰可能な場合には、図28(a)に示すように、起動処理において割込が許可される前に復帰コマンドをサブCPU91aに対して送信する。また、RAM41cの格納データの異常によりメインCPU41aが電断前の状態に復帰不可能な場合には、起動処理において割込が許可される前にRAM異常を示すエラーコマンドをサブCPU91aに対して送信する。また、設定キースイッチ37がONの状態であり、RAM41cが初期化され、電断前の状態に復帰しない場合には、図28(b)に示すように、起動処理において割込が許可される前に設定開始コマンドをサブCPU91aに対して送信する。これら起動処理において送信されるコマンドのうち復帰コマンドからは、メインCPU41aが電断前の状態に復帰する旨が特定され、RAM異常を示すエラーコマンド、設定開始コマンドからは、メインCPU41aが電断前の状態には復帰しない旨が特定されることとなる。
そして、前述のように操作検出コマンドは、タイマ割込処理(メイン)において送信されるとともに、起動処理の終了までは割込処理が許可されないので、メインCPU41aの起動後、メインCPU41aが電断前の状態に復帰する旨が特定される復帰コマンドを送信したか、メインCPU41aが電断前の状態に復帰しない旨が特定されるRAM異常を示すエラーコマンド、設定開始コマンドを送信した後に、操作検出コマンドの送信が許可されることとなる。
このようにメインCPU41aは、電源投入後、電断前の状態に復帰させないと判定してRAM異常を示すエラーコマンドをサブCPU91aに対して送信するか、電断前の状態に復帰させて復帰コマンドをサブCPU91aに対して送信するまでは操作検出コマンドをサブCPU91aに対して送信しないので、メインCPU41aを復帰させるか否かが確定していない状態にも関わらず、サブCPU91aが操作検出コマンドから特定される操作に応じて演出を実行してしまうことがなく、電源投入時においてメインCPU41aの状態と食い違った演出が実行されてしまうことを防止できる。
また、メインCPU41aは、起動処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドをサブCPU91aに対して送信し、その後、割込を許可することでタイマ割込処理(メイン)を実行してその中のコマンド送信処理にて操作検出コマンドを送信するようになっており、コマンド送信処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドが既に送信されているか否かを判断することなく、操作検出コマンドよりも先にコマンド送信処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドを送信することができる。
尚、本実施例では、起動処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドをサブCPU91aに対して送信し、コマンド送信処理において操作検出コマンドを送信する構成であるが、起動処理では、復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドのいずれかを特定コマンド送信用バッファに設定し、割込が許可された後、コマンド送信処理において、まずRAM異常を示すエラーコマンド、設定開始コマンドのいずれかが特定コマンド送信用バッファに設定されているか否かを判定し、RAM異常を示すエラーコマンド、設定開始コマンドのいずれかが設定されている場合には、最優先でサブCPU91aに対して送信し、RAM異常を示すエラーコマンド、設定開始コマンドのいずれも設定されていないことを条件に、操作検出コマンドを送信する構成としても良く、このような構成であっても操作検出コマンドよりも先に復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドを送信することができる。
また、起動処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドのいずれかを通常コマンド送信用バッファに設定し、コマンド送信処理において、復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドのいずれかが送信されるまでは、操作検出コマンドの送信を禁止し、復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドのいずれかが送信されたことを条件に操作検出コマンドの送信を許可し、その後のコマンド送信処理から操作検出コマンドを送信する構成としても良く、このような構成であっても操作検出コマンドよりも先に復帰コマンド、RAM異常を示すエラーコマンド、設定開始コマンドを送信することができる。
また、メインCPU41aは、タイマ割込処理(メイン)中は、割込が禁止され、その間に電圧低下信号が入力されても、タイマ割込処理(メイン)が終了するまでは、電断割込処理(メイン)を実行することはなく、タイマ割込処理(メイン)の終了を待って電断割込処理(メイン)を実行する。
また、通常コマンド送信用バッファには、複数のコマンドが格納可能であり、通常コマンド送信用バッファに未送信のコマンドが格納されている状態でも電断割込処理(メイン)が実行され、停電状態となり、その後の起動時において電断前の状態に復帰する場合には、通常コマンド送信用バッファに未送信のコマンドが残っている状態で復帰することとなる。
一方、操作検出コマンドは、コマンド送信処理において操作検出コマンドの送信時期である場合に、操作検出コマンドが作成され、そのコマンド送信処理内で送信されてしまう。そして、コマンド送信処理は、タイマ割込処理(メイン)において実行されるので、電断時に未送信の操作検出コマンドが残ることはなく、起動時において電断前の状態に復帰する場合でも、未送信の操作検出コマンドが残った状態で復帰することはない。
このように本実施例では、メインCPU41aの起動時において電断前の状態に復帰する場合に、電断前に未送信のコマンドが通常コマンド送信用バッファに格納されている場合には、これら通常コマンド送信用バッファに格納されている未送信のコマンドも復帰することとなるが、電断前の状態で操作検出コマンドが未送信となることはなく、電断前の状態で未送信となった操作検出コマンドが復帰して、復帰後の操作スイッチの検出状態が反映されていない操作検出コマンドが送信されてしまうことはない。このため、電源投入後、操作スイッチがなんら操作されていないにも関わらず、ゲームの進行制御に関与しない操作に応じた演出が実行されてしまうことを防止できる。
また、本実施例では、前述のように操作検出コマンドは、ゲームの進行制御に応じたコマンドが設定される通常コマンド送信用バッファには格納されずに送信されるので、電断前にゲームの進行制御に応じたコマンドのみ復帰させ、操作検出コマンドは復帰させない構成とするにあたり、制御が複雑化してしまうことを防止できる。
尚、本実施例では、操作検出コマンドは、コマンド送信処理において操作検出コマンドの送信時期である場合に、操作検出コマンドが作成され、そのコマンド送信処理内で送信されるとともに、タイマ割込処理(メイン)の実行中は、電断割込処理が禁止されることにより、電断前の状態で操作検出コマンドが未送信となることはなく、電断前の状態で未送信となった操作検出コマンドが復帰しない構成であるが、起動時において未送信の操作検出コマンドが残っている場合に、未送信の操作検出コマンドをクリアすることで、電断前の状態で未送信となった操作検出コマンドが復帰しない構成としても良い。この場合には、ゲームの進行制御に応じたコマンドと、操作検出コマンドと、が異なるコマンド送信用バッファに格納される構成とすることで、操作検出コマンドが格納されているコマンド送信用バッファのデータのみをクリアすることで、操作検出コマンドをクリアすることが可能となり、通常コマンド送信用バッファに格納されているコマンドの送信順などを変更する必要もない。
本実施例では、タイマ割込処理(メイン)においてコマンド送信処理が5回実行される毎、すなわちコマンド送信処理は、タイマ割込処理(メイン)4回毎に実行するタイマ割込2において実行されるので、タイマ割込処理(メイン)20回毎に操作検出コマンドが送信されるようになっている。このため、操作検出コマンドの送信回数と操作検出コマンドの送信間隔とから、メインCPU41aが起動したタイミング(リセット信号がOFFとなったタイミング)や割込許可がなされたタイミングを特定することが可能となり、メインCPU41aが備える乱数カウンタを、起動時に初期化し、その後のタイマ割込処理(メイン)毎に更新する場合や、起動時に初期化した後、一定間隔(クロック信号の入力など)で更新する場合に、メインCPU41aが起動したタイミングや割込許可がなされたタイミングが特定されてしまうと、現在の乱数カウンタの値を特定し、特定した乱数カウンタの値を用いて不正がなされる可能性があり、乱数カウンタの値がゲームに関わる場合には、著しく不公正な結果を導く虞がある。
これに対して本実施例では、メインCPU41aは、起動時において電断前の状態に復帰する場合には、電断前の送信カウンタの値も復帰させて、電断前の送信カウンタの値からコマンド送信処理の回数を計数し、送信カウンタの値が0となったとき、すなわち電断前にコマンド送信処理を実行してから実行したコマンド送信処理が5回に到達したときに起動後、最初の操作検出コマンドを送信し、その後は、コマンド送信処理5回毎に操作検出コマンドを送信することとなり、図28(a)に示すように、メインCPU41aの起動後、割込が許可された後に、最初に操作検出コマンドが送信されるまでに実行されるコマンド送信処理の回数が一定とならず、メインCPU41aの起動時から最初の操作検出コマンドが送信されるまでに要する時間(t1)が一定とならないので、操作検出コマンドの送信回数と操作検出コマンドの送信間隔とから、メインCPU41aが起動したタイミング(リセット信号がOFFとなったタイミング)や割込許可がなされたタイミングを特定することが困難となり、これらメインCPU41aが起動したタイミングや割込許可がなされたタイミングが特定されることに伴う不正を防止できる。
また、メインCPU41aは、起動時においてRAM41cを初期化する場合に、電断前の送信カウンタの値も初期化されてしまうこととなるが、この場合には、0〜3の範囲からいずれかの値をランダムに選択し、選択した値に1を加算した値を送信カウンタに設定し、その値からコマンド送信処理の回数を計数し、送信カウンタの値が0となったとき、すなわち起動時に1〜4からランダムに選択された回数のコマンド送信処理を実行したときに、起動後、最初の操作検出コマンドを送信し、その後は、コマンド送信処理5回毎に操作検出コマンドを送信することとなり、この場合であっても、図28(b)に示すように、メインCPU41aの起動後、割込が許可された後に、最初に操作検出コマンドが送信されるまでに実行されるコマンド送信処理の回数が一定とならず、メインCPU41aの起動時から最初の操作検出コマンドが送信されるまでに要する時間(t1’)が一定とならないので、操作検出コマンドの送信回数と操作検出コマンドの送信間隔とから、メインCPU41aが起動したタイミング(リセット信号がOFFとなったタイミング)や割込許可がなされたタイミングを特定することが困難となり、これらメインCPU41aが起動したタイミングや割込許可がなされたタイミングが特定されることに伴う不正を防止できる。
尚、本実施例では、メインCPU41aの起動時に、電断前の状態に復帰する場合には、電断前の送信カウンタの値から操作検出コマンドの送信時期を計数し、RAM41cを初期化する場合には、送信カウンタの値をランダムに選択し、操作検出コマンドの送信時期を計数することで、メインCPU41aの起動時から最初の操作検出コマンドが送信されるまでに要する時間が一定とならない構成としているが、いずれの場合においても、送信カウンタの値をランダムに選択し、操作検出コマンドの送信時期を計数することで、メインCPU41aの起動時から最初の操作検出コマンドが送信されるまでに要する時間が一定とならない構成としても良い。
また、メインCPU41aの起動毎に、送信カウンタの初期値として異なる値を設定すること、例えば、起動毎に2と4を交互に設定したり、起動毎に送信カウンタの初期値を1、2、3、4、5の順番で設定するなど、予め定められたルールに従って送信カウンタの初期値を設定することにより、メインCPU41aの起動時から最初の操作検出コマンドが送信されるまでに要する時間が一定とならない構成としても良い。
サブ制御部91のRAM91cには、操作スイッチの検出状態の変化状況が操作スイッチ毎に格納される検出状態格納領域と、操作スイッチの操作状態が変化した旨を示す操作検出フラグが操作スイッチ毎に格納される操作検出フラグ格納領域と、が割り当てられている。さらに検出状態格納領域には、操作検出コマンドを受信する前(前回)の検出状態と、操作検出コマンドを受信した後(今回)の検出状態と、が割り当てられており、それぞれに操作検出コマンドの受信前後の各操作スイッチの検出状態が格納されるようになっている。
サブCPU91aは、タイマ割込処理(サブ)において受信用バッファに未処理のコマンドが格納されていると判定した場合に、操作検出処理1を行う。操作検出処理1では、未処理のコマンドが操作検出コマンドか否かを判定し、操作検出コマンドであると判定した場合に、検出状態格納領域に格納されている今回の検出状態を前回の検出状態に移動し、操作検出コマンドが示す各操作スイッチの検出状態を今回の検出状態として格納するとともに、前回の検出状態と今回の検出状態とが異なる操作スイッチがある場合に、OFFからONに変化した場合には、その操作スイッチに対応する操作検出フラグとして立上りフラグを設定し、ONからOFFに変化した場合には、その操作スイッチに対応する操作検出フラグとして立下りフラグを設定する。
このように本実施例では、メインCPU41aが、操作スイッチの検出状態が変化したか否かに関わらず、定期的に全ての操作スイッチの検出状態を特定可能な操作検出コマンドを送信するとともに、サブCPU91aは、操作検出コマンドを受信した際に、検出状態格納領域に格納されている操作検出コマンドの受信前後の各操作スイッチの検出状態を更新し、検出状態が異なる操作スイッチがある場合に、その操作スイッチに対応する操作検出フラグを設定するようになっており、サブCPU91aは、操作検出フラグの有無を確認することで、操作スイッチの検出状態が変化した旨に加え、操作検出コマンドの受信前後で各操作スイッチの検出状態がどのように変化したか、すなわちOFFからONに変化したのか、ONからOFFに変化したのか、を判別できるようになっている。
このため、サブCPU91aは、操作スイッチの操作が開始したタイミングだけでなく、その操作が解除されたタイミングに応じて演出を行ったり、演出を変化させることが可能となり、ゲームの進行制御に関与しない操作スイッチの操作態様に応じて多彩な演出を行うことができる。
尚、本実施例では、サブCPU91aが、操作スイッチの検出状態の変化に加えて操作検出コマンドの受信前後の各操作スイッチの検出状態がどのように変化したか否かを判別できるようになっているが、サブCPU91aが、操作スイッチが操作されたこと、すなわちOFFからONに変化したことのみを判別できる構成としても良く、このような構成とすることで、ゲームの進行制御に影響しない操作スイッチの操作に伴うサブCPU91aの制御負荷を軽減することができる。
また、検出状態格納領域には、各操作スイッチの検出状態が格納されており、サブCPU91aは、いずれかの操作検出フラグが設定され、当該操作検出フラグに対応する操作スイッチの検出状態の変化が特定された場合に、検出状態格納領域の他の操作スイッチの検出状態を確認することで、検出状態が変化した操作スイッチだけでなく、他の操作スイッチの検出状態も特定できるようになっている。
このため、複数の操作スイッチが同時に操作されている状態を特定可能となり、例えば、パターン1やパターン3の操作演出のように、複数の操作スイッチが同時に操作されることで演出を行うことが可能となり、複数の操作スイッチの操作の仕方によって多様な演出を行うことができる。
また、サブCPU91aは、パターン1の操作演出のように、左ストップスイッチ、中ストップスイッチの操作スイッチが同時に操作されることで演出を行う場合に、左ストップスイッチが検出されており、かつ右ストップスイッチが検出されていない状態で、中ストップスイッチの操作を検出した場合にはステージ変更演出を行うが、左ストップスイッチ及び右ストップスイッチの双方が検出されている状態で、中ストップスイッチの操作を検出した場合には、上記と同様に左ストップスイッチと中ストップスイッチの操作が同時に検出されていることとなるが、この場合には、ステージ変更演出を行わないようになっている。
すなわち特定の操作スイッチの操作に応じて特定の操作演出を行う際に、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないようになっている。
このため、特定の操作スイッチの操作に基づく特定の操作演出は、特定の操作スイッチが他の操作スイッチと同時に操作された場合や他の操作スイッチが操作されている状態で操作された場合には実行されることがなく、誤った操作によって特定の操作演出が実行されることがないため、特定の操作演出を希望する遊技者に対してのみ特定の操作演出を実行することができる。
また、上記のように特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、例えば、パターン1とパターン3の操作演出のように、各々の演出を実行させるための操作スイッチの一部が重複する場合でも、異なる演出を実行させることが可能となる。すなわちパターン1の操作演出は、左ストップスイッチと中ストップスイッチが同時に操作されることで実行され、パターン2の操作演出は、中ストップスイッチと右ストップスイッチが同時に操作されることで実行されるが、左ストップスイッチと右ストップスイッチが同時に操作されている状態で、中ストップスイッチが操作された際に、左ストップスイッチと中ストップスイッチの同時操作なのか、中ストップスイッチと右ストップスイッチの同時操作なのか、を判別することができなくなってしまい、いずれか一方の同時操作に対してしか演出を割り当てることができなくなってしまうが、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、パターン1とパターン2の操作演出のようなケースであっても、それぞれの同時操作に対して演出を割り当てることが可能となり、複数の操作スイッチの操作の仕方によってさらに多様な演出を行うことができる。
サブCPU91aは、操作検出処理1においていずれかの操作スイッチの検出状態がOFFからONに変化した場合、すなわち操作スイッチの操作が開始した場合に、RAM91cに割り当てられた操作時間カウンタのうち該当する操作スイッチの操作時間カウンタの値を初期化する。操作時間カウンタの値は、タイマ割込処理(サブ)が実行される毎に加算されるようになっており、操作時間カウンタの値を参照することで操作スイッチの操作が開始してからの経過時間を判別できる。
また、サブCPU91aは、タイマ割込処理(サブ)が実行される毎に、操作検出処理2を実行する。操作検出処理2では、検出状態格納領域に格納された今回の検出状態がONであるか否かを操作スイッチ毎に判定し、ONである場合、すなわち操作スイッチの操作が継続している場合には、該当する操作スイッチの操作時間カウンタの値を参照し、予め定められた時間経過していれば、その旨を示す時間経過フラグを操作スイッチに対応付けて設定する。本実施例では、3秒経過時、5秒経過時、10秒経過時に、それぞれ時間経過フラグとして3秒経過フラグ、5秒経過フラグ、10秒経過フラグを設定する。
このため、サブCPU91aは、時間経過フラグが設定されているか否かを確認することにより操作スイッチが継続して操作された時間が一定時間経過したことを契機に演出を行うことが可能となる。
尚、本実施例では、サブCPU91aが、操作スイッチの検出状態がOFFからONに変化した後、当該操作スイッチの検出状態がONからOFFに変化せずに経過した時間を計時することで、サブCPU91a側で操作スイッチの連続操作時間を把握することが可能となり、メインCPU41a側で個々のスイッチ毎に連続操作時間を計時するタイマを有することなく、サブCPU91aのプログラムを変更するのみで操作スイッチの連続操作時間を検出することが可能となるが、メインCPU41a側で操作スイッチの操作がOFFからONに変化した後、ONからOFFに変化せずに経過した時間を計時し、この時間が規定時間に到達したときに操作スイッチが規定時間連続して操作された旨を示すコマンドを送信することで、サブCPU91a側で、操作スイッチの操作が継続して操作された旨を特定できるようにしても良い。
また、サブCPU91aは、操作検出処理1においていずれかの操作スイッチの検出状態がOFFからONに変化した場合、すなわち操作スイッチの操作が開始した場合に、RAM91cに割り当てられた連続操作カウンタのうち該当する操作スイッチの連続操作カウンタの値を1加算する。連続操作カウンタの値は、他の操作スイッチの検出状態がOFFからONに変化した場合または演出開始時などのサブCPU91aからの命令によりクリアされるようになっており、連続操作カウンタの値を参照することである起点から特定の操作スイッチが連続して操作された回数を判別できる。そして、サブCPU91aは、連続操作カウンタの値を確認することにより、ある起点からの操作スイッチの連続操作回数が規定回数に到達したことを契機に演出を行うことが可能となる。
尚、本実施例では、サブCPU91aが、操作スイッチの検出状態がOFFからONに変化した回数を計数することで、サブCPU91a側で操作スイッチ連続操作回数を把握することが可能となり、メインCPU41a側で個々のスイッチ毎に連続操作回数を計数するカウンタを有することなく、サブCPU91aのプログラムを変更するのみで操作スイッチの操作回数を検出することが可能となるが、メインCPU41a側で操作スイッチの操作がOFFからONに変化した回数を計数し、この回数が規定回数に到達したときに操作スイッチが規定回数操作された旨を示すコマンドを送信することで、サブCPU91a側で、操作スイッチの操作が規定回数操作された旨を特定できるようにしても良い。
サブ制御部91のRAM91cには、制御パターンが設定される制御パターン格納領域が割り当てられており、サブCPU91aは、メイン制御部41からコマンドを受信した際に、当該コマンドに応じた制御パターンを制御パターン格納領域に設定するとともに、制御パターン格納領域に設定されている制御パターンを参照して演出装置の出力状態を制御する。
例えば、図29(a)に示すように、サブCPU91aがゲームの進行制御に応じたコマンドaを受信すると、コマンドaに対応するパターンaを制御パターン格納領域に設定し、これとほぼ同時に演出装置をパターンaに基づく出力状態に制御する。これにより液晶表示器51にはパターンaに基づく画像が表示され、スピーカ53、54からパターンaに基づく効果音が出力され、演出効果LED52、リールLED55がパターンaに基づく点灯態様となる。その後、ゲームの進行制御に応じたコマンドbを受信すると、制御パターン格納領域の制御パターンをコマンドbに対応するパターンbに更新し、制御パターン格納領域の制御パターンが変更されると、これとほぼ同時に演出装置を変更後のパターンbに基づく出力状態に制御する。これにより液晶表示器51に表示されているパターンaに基づく画像がパターンbに基づく画像に更新され、スピーカ53、54からパターンbに基づく効果音が出力され、演出効果LED52、リールLED55がパターンbに基づく点灯態様となる。また、図29(b)に示すように、対応する制御パターンがコマンドaと同じコマンドcを受信すると、制御パターン格納領域の制御パターンをコマンドcに対応するパターンaに更新するが、制御パターン格納領域の制御パターン自体は変化せず、この場合には、演出装置の出力状態を切り替えることなく、そのままの状態を維持するようになっている。
また、サブCPU91aは、電源投入時においてメインCPU41aよりも先に起動するとともに、その起動時に、RAM91cのデータが正常であれば、図30に示すように、メインCPU41aの起動時に必ず送信される復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信せずとも、サブCPU91aの制御状態を電断前の制御状態に復帰させるが、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信するまでは、制御パターン格納領域に設定されている制御パターンに応じた出力制御は行わず、復旧処理中である旨を報知する復旧中パターンAに応じた出力制御を行う。これにより液晶表示器51には復旧処理中を示す復旧中画像が表示され、演出効果LED52は消灯状態となる。尚、スピーカ53、54からの効果音の出力はなく、リールLED55も消灯状態となる。その後、復帰コマンドを受信した場合には、制御パターン格納領域に設定されている制御パターンに応じた出力制御を行い、この時点で演出装置の出力状態が復旧中パターンAから制御パターン格納領域に設定されている制御パターンに応じた出力状態に切り替わる。これにより液晶表示器51に表示されている復旧中画像が制御パターン格納領域に設定されている制御パターンに基づく画像に更新され、スピーカ53、54から制御パターン格納領域に設定されている制御パターンに基づく効果音が出力され、演出効果LED52、リールLED55が制御パターン格納領域に設定されている制御パターンに基づく点灯態様となる。
また、復帰コマンドを受信した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化するようになっており、これら電断前に受信した操作検出フラグに基づく操作スイッチの検出状態や操作履歴は、復帰コマンドを受信しても復帰させない。
また、サブCPU91aは、その起動時に、RAM91cのデータが正常でなければ、図31に示すように、メインCPU41aの起動時に必ず送信される復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信せずとも、RAM91cを初期化し、制御パターン格納領域に初期化後に対応するパターン0(通常画面の表示など)を設定するが、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信するまでは、制御パターン格納領域に設定されているパターン0に応じた出力制御は行わず、復旧処理中である旨を報知する復旧中パターンBに応じた出力制御を行う。これにより液晶表示器51には復旧中パターンAと同じ復旧中画像が表示されるが、演出効果LED52は復旧中パターンAと異なり点滅状態となる。尚、復旧中パターンAと同様にスピーカ53、54からの効果音の出力はなく、リールLED55も消灯状態となる。その後、復帰コマンドを受信した場合には、制御パターン格納領域に設定されているパターン0に応じた出力制御を行い、この時点で演出装置の出力状態が復旧中パターンBから制御パターン格納領域に設定されているパターン0に応じた出力状態に切り替わる。これにより液晶表示器51に表示されている復旧中画像が制御パターン0に基づく通常画面に更新され、スピーカ53、54からの効果音の出力はなく、演出効果LED52、リールLED55が消灯した状態となる。
また、RAM91cのデータが正常でない場合には、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信するまでの出力状態として、RAM91cのデータが正常の場合の復旧中パターンAとは、その出力態様の異なる復旧中パターンBに応じた出力制御を行うようになっている。本実施例では、復旧中パターンA、Bともに液晶表示器51に復旧中画像が表示され、スピーカ53、54からの効果音の出力はなく、リールLED55が消灯された状態となるが、復旧中パターンAでは、演出効果LEDが消灯状態となるのに対して、復旧中パターンBでは、演出効果LEDが点滅状態となる。
また、RAM91cの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
また、サブCPU91aは、その起動時に、RAM91cのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、設定開始コマンドを受信した場合には、図32に示すように、RAM91cを初期化し、制御パターン格納領域に後述する管理情報へアクセス可能とする管理者用パターンを設定し、制御パターン格納領域の制御パターンが管理者用パターンに変更されると、これとほぼ同時に演出装置を管理者用パターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンAから設管理者用パターンに基づく出力状態に切り替える。これにより液晶表示器51に表示されている復旧中画像が管理者モード画面に更新され、スピーカ53、54から警告音が出力され、演出効果LED52、リールLED55が点滅状態となる。
また、RAM91cの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
また、RAM91cのデータ正常ではなく、RAM91cを初期化した後、設定開始コマンドを受信した場合には、制御パターン格納領域に設定されているパターン0を管理者用パターンに更新し、制御パターン格納領域のパターン0が管理者用パターンに変更されると、これとほぼ同時に演出装置を管理者用パターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンBから管理者用パターンに基づく出力状態に切り替える。
また、RAM91cの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
また、サブCPU91aは、その起動時に、RAM91cのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、RAM異常を示すエラーコマンドを受信した場合には、図33に示すように、RAM91cを初期化し、制御パターン格納領域にエラーパターンを設定し、制御パターン格納領域がエラーパターンに変更されると、これとほぼ同時に演出装置をエラーパターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンAからエラーパターンに基づく出力状態に切り替える。これにより液晶表示器51に表示されている復旧中画像がエラー報知画像に更新され、スピーカ53、54から警告音が出力され、演出効果LED52、リールLED55が点滅状態となる。
また、RAM91cの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
また、RAM91cのデータ正常ではなく、RAM91cを初期化した後、RAM異常を示すエラーコマンドを受信した場合には、制御パターン格納領域に設定されているパターン0をエラーパターンに更新し、制御パターン格納領域のパターン0がエラーパターンに変更されると、これとほぼ同時に演出装置をエラーパターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンBからエラーパターンに基づく出力状態に切り替える。
また、RAM91cの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
また、サブCPU91aは、その起動時に、RAM91cのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、図34に示すように、制御パターン格納領域に設定されている電断前の制御パターンを待避し、遊技制御基板40との接続エラーを報知する接続エラーパターンに更新し、制御パターン格納領域の電断前の制御パターンが接続エラーパターンに変更されると、これとほぼ同時に演出装置を接続エラー報知の出力状態に制御し、演出装置の出力状態を復旧中パターンAから接続エラー報知の出力状態に切り替える。これにより液晶表示器51に表示されている復旧中画像が接続エラー報知画面に更新され、スピーカ53、54から警告音が出力され、演出効果LED52、リールLED55が点滅状態となる。
また、復帰待ち時間が経過した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化する。
尚、本実施例では、接続エラー状態へ移行してもRAM91cはクリアされず、さらに制御パターン格納領域に設定されている電断前の制御パターンも待避されるようになっており、接続エラー状態へ移行後、一度電源を落として再投入し、サブCPU91aを再起動させた際にRAM91cのデータが正常であれば、その後メインCPU41aから復帰コマンドを受信した際に、RAM91cに保持されているデータに基づいてサブCPU91aの制御状態及び演出装置の出力状態が復帰するようになっている。尚、復帰待ち時間が経過した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴は、初期化されているため、復帰することはない。
また、RAM91cのデータ正常ではなく、RAM91cを初期化した後、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、制御パターン格納領域に設定されているパターン0を接続エラーパターンに更新し、制御パターン格納領域のパターン0が接続エラーパターンに変更されると、これとほぼ同時に演出装置を接続エラー報知の出力状態に制御し、演出装置の出力状態を復旧中パターンBから接続エラー報知の出力状態に切り替える。
このようにサブCPU91aは、その起動時にRAM91cのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メインCPU41aから復帰コマンドを受信するまでは、演出装置による出力状態は復帰させず、復帰コマンドを受信した時点で出力状態も復帰させるようになっており、メインCPU41aが電断前の状態に復帰しない状態で、演出装置による出力状態のみが復帰してしまうことがなく、電源投入時におけるメインCPU41a側の制御状態と演出装置による出力状態とを整合させることができる。
また、サブCPU91aは、その起動時にRAM91cのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メインCPU41aからRAM異常を示すエラーコマンドまたは設定開始コマンドを受信した場合、すなわちメインCPU41a側が電断前の状態に復帰しない場合には、RAM91cを初期化するようになっており、電源投入時において、サブCPU91a側のみが復帰可能な場合でも、メインCPU41aとサブCPU91aとの制御状態とを整合させることができる。
また、サブCPU91aは、起動時にRAM91cのデータが正常か否かを判定し、正常でない場合には、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドの受信を待たずに、RAM91cを初期化し、制御パターン格納領域にパターン0を設定し、その後、復帰コマンドを受信した際に、パターン0に応じた出力状態にて演出装置の出力制御を行うようになっており、サブCPU91aがRAM91cのデータに基づいて電断前の制御状態に復帰できない場合でも、メインCPU41aから復帰コマンドを受信した際に、演出装置の出力が停止してしまうことがなく、初期化された制御パターンに応じて演出装置の出力制御を開始することができる。
また、サブCPU91aは、その起動後、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信するまでの状態において、復旧処理中を示す復旧中パターンに応じて演出装置の出力制御を行うようになっており、電源投入後、制御パターン格納領域に設定されている制御パターンに応じた演出装置の出力が開始する前の状態でも、サブCPU91aが現在どのような状態にあるか、を外部から容易に確認することができる。
特に、本実施例では、サブCPU91aが電断前の制御状態に復帰した状態で、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかの受信を待機している場合には、復旧中パターンAに応じて演出装置の出力制御が行われるのに対して、サブCPU91aがRAM91cを初期化した状態で、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれかの受信を待機している場合には、復旧中パターンAとは出力態様の異なる復旧中パターンBに応じて演出装置の出力制御が行われるようになっており、復旧中パターンの出力状態にある演出装置の出力態様から、サブCPU91aが電断前の制御状態に復帰したのか、RAM91cが初期化されたのか、を外部から確認することができる。
また、サブCPU91aは、その起動後、復帰コマンド、RAM異常を示すエラーコマンドまたは設定開始コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、接続エラー報知が実行されるようになっており、遊技制御基板40との接続不良である旨を特定できるようになっている。
また、接続エラー報知が実行されてもRAM91cは初期化されず、再度、電源投入した際に、メインCPU41aから復帰コマンドを受信することで、元の制御状態に復帰させることができるようになっている。
また、サブCPU91aは、その起動時にRAM91cのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メインCPU41aから復帰情報を受信して演出装置の出力状態も復帰させる際に、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化し、これら電断前に受信した操作検出フラグに基づく操作スイッチの検出状態や操作履歴を復帰させないようになっており、電源投入後、操作スイッチが操作されていないにも関わらず、ゲームの進行制御に関与しない操作スイッチの操作に応じた演出が実行されてしまうことを防止できる。このため、後述の連続操作演出のように演出条件を満たす介入操作によって演出結果が報知されない演出は、電源投入後であっても、演出条件を満たす介入操作が行われた場合にしか演出結果が報知されることはないので、遊技者の介入操作に伴う演出の価値を高めることができるとともに、演出条件が電断を跨って判定されることがないため、演出条件を満たす操作が分かりやすいものとなる。
また、サブCPU91aは、その起動時にRAM91cのデータが正常であり、制御状態を電断前の制御状態に復帰させる場合において、メインCPU41aから復帰コマンドを受信したとき、すなわちメインCPU41aの制御状態も復帰し、演出装置の出力状態も含めサブCPU91a側の状態を電断前に復帰することが確定した段階で操作スイッチの検出状態や操作履歴を初期化するようになっており、メインCPU41a側が電断前の状態に復帰せず、RAM91cのデータが全て初期化されるにも関わらず、無駄に操作スイッチの検出状態や操作履歴のみの初期化が行われてしまうことがないうえに、演出装置の出力状態を含め全ての状態が復帰する前に操作スイッチの検出状態や操作履歴が初期化されるので、これら操作スイッチの検出状態や操作履歴が初期化されないまま演出が開始してしまうことを確実に防止できる。
また、サブCPU91aは、起動時において操作スイッチの検出状態や操作履歴を初期化するようになっており、電断時においては、操作スイッチの検出状態や操作履歴を含め、RAM91cに格納されている全てデータを保持しておく構成であるため、電断時の処理においてバックアップするデータを選別する必要がなく、電断時の処理を速やかに終了させることができる。
尚、本実施例では、サブCPU91aは、その起動時にRAM91cのデータが正常であり、制御状態を電断前の制御状態に復帰させる場合において、メインCPU41aから復帰コマンドを受信したときに操作スイッチの検出状態や操作履歴を初期化する構成であるが、起動時においてRAM91cのデータが正常である場合に、復帰コマンドの受信を待たず、一律に操作スイッチの検出状態や操作履歴を初期化する構成としても良く、このような構成とした場合には、演出装置の出力状態が復帰するか否かに関わらず、その前の段階で確実に操作スイッチの検出状態や操作履歴が初期化されるので、これら操作スイッチの検出状態や操作履歴が初期化されないまま演出が開始してしまうことを確実に防止できる。また、復帰コマンドの受信を待たず、一律に操作スイッチの検出状態や操作履歴を初期化する構成を採る場合には、メインCPU41aが電断前の制御状態に復帰する際に、復帰コマンドを送信しない構成としても良い。
また、本実施例では、電断時にRAM91cに格納されている全てのデータをバックアップし、メインCPU91aが起動時に操作スイッチの検出状態や操作履歴を初期化することで、電断前の操作スイッチの検出状態や操作履歴が復帰しないようにしているが、電断時に、操作スイッチの検出状態や操作履歴をバックアップしないことにより、電断前の操作スイッチの検出状態や操作履歴を復帰させない構成としても良い。
本実施例においてサブCPU91aは、メインCPU41aの制御状態に応じてゲームの進行制御に関与しない操作スイッチの操作、すなわち操作検出コマンドから特定される操作スイッチの検出状態に応じて操作演出を実行する。
図35は、操作演出の一例を示すものである。図35に示すパターン1は、液晶表示器51の背景や出現するキャラクタなどの種類が異なる複数種類の演出ステージからいずれかのステージを変更するためのステージ変更演出を実行するためのパターンであり、ゲーム終了後(設定変更後)からゲーム開始までの制御状態において、ストップスイッチ8L、8C、8Rのうち左、中のストップスイッチ8L、8Cが同時に操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ストップスイッチ8L、8Cの検出状態のいずれかがOFFの状態で、ストップスイッチ8L、8Cの検出状態がともにON、ストップスイッチ8Rの検出状態がOFFに変化した場合に実行される。
パターン2は、ステージ変更演出において、各ストップスイッチに対応して提示された演出パターンを選択して決定するパターンであり、ゲーム終了後(設定変更後)からゲーム開始までの制御状態であり、かつステージ変更演出が実行されている状態においていずれかのストップスイッチが操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、いずれかのストップスイッチの検出状態がOFFの状態で、当該ストップスイッチの検出状態がON、他のストップスイッチの検出状態がOFFに変化した場合に実行される。
パターン3は、ゲームの履歴や演出情報などの台情報閲覧演出を実行するパターンであり、ゲーム終了後(設定変更後)からゲーム開始までの制御状態において、ストップスイッチ8L、8C、8Rのうち中、右のストップスイッチ8C、8Rが同時に操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ストップスイッチ8C、8Rの検出状態のいずれかがOFFの状態で、ストップスイッチ8C、8Rの検出状態がともにON、ストップスイッチ8Lの検出状態がOFFに変化した場合に実行される。
パターン4は、効果音を出力するパターンであり、ゲーム終了後(設定変更後)からゲーム開始までの制御状態であり、かつステージ変更演出が実行されていない状態においていずれかのストップスイッチが操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、いずれかのストップスイッチの検出状態がOFFの状態で、当該ストップスイッチの検出状態がON、他のストップスイッチに変化した場合に1/100の確率で実行される。
パターン5は、特別役に当選した可能性を示唆するとともに、最終的に特別役に当選しているか否かを報知する特別役当選示唆演出を実行するパターンであり、ゲーム開始後からゲーム終了までの制御状態においてMAXBETスイッチ6の連続操作を指示する演出を行った後、MAXBETスイッチ6が10回連続操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、MAXBETスイッチ6の検出状態がON、OFFを交互に10回繰り返して変化したときに実行される。
パターン6は、パターン5と同様に特別役当選示唆演出を実行するパターンであり、ゲーム開始後からゲーム終了までの制御状態においてMAXBETスイッチ6の長押しを指示する演出を行った後、MAXBETスイッチ6が3秒間継続して操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、MAXBETスイッチ6の検出状態がOFFの状態で、MAXBETスイッチ6の検出状態がONに変化した後、OFFに変化せずに3秒間経過したときに実行される。
尚、図35に示す操作演出は、ゲームの進行制御に関与しない操作がなされた際に実行される演出の一例であり、他の演出を適用しても良い。
次に、前述した操作演出のうちパターン5の特別役当選示唆演出(以下連続操作演出とする)について説明する。
連続操作演出は、ゲーム開始に伴う内部当選コマンドの受信時に実行する演出パターン選択処理において該当する演出パターンが選択されたときに実行される。
演出パターン選択処理では、内部当選コマンドから特別役が当選している旨が特定される場合に、特別役が当選していない旨が特定される場合よりも高い比率にて連続操作演出の演出パターンを選択するようになっており、連続操作演出が実行されるだけでも特別役の当選に対する期待感を高めることができる。
連続操作演出では、まず、ゲームの開始と同時にMAXBETスイッチ6を5秒以内に10回操作する旨を指示する指示演出を開始する。そして、指示演出が開始した後、ゲームが終了するまで(全てのリールが停止するまで)の間にMAXBETスイッチ6が操作されなければ、ゲームの終了時点で指示演出は終了する。この場合には、特別役に当選しているか否かが指示演出に続けて告知されることはない。
その後、新たなゲームが開始された(内部当選コマンドを受信した)時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。特別役の当選の告知は、これらの特別役に入賞するまで継続される(以下に示すような他の条件で行われた告知も同じ)。
前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。但し、新たに開始されたゲームで特別役に当選していれば、改めて新たな連続操作演出の指示演出は開始され得る。
一方、ゲームが終了するまでに遊技者により最初にMAXBETスイッチ6が操作されると、RAM91cに割り当てられた制限時間計時用タイマの計時が開始される。この制限時間計時用タイマの計時する時間が5秒になるまでに、MAXBETスイッチ6が10回(計時を開始させたときの操作を回数に含む)まで操作されず、且つ全てのリールが停止した場合には、MAXBETスイッチ6が全く操作されなかった場合と同様にゲームの終了時点で指示演出が終了する。
この場合も、特別役の当選の有無が指示演出に続けて告知されることはなく、新たなゲームが開始された時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。
また、MAXBETスイッチ6の最初の操作により計時開始されたタイマの計時する時間が5秒になるまでに全てのリールが停止しなかったが、制限時間計時用タイマの計時する時間が5秒になるまでにMAXBETスイッチ6が10回まで操作されることもなかった場合には、制限時間計時用タイマの計時する時間が5秒になった時点で指示演出が終了する。この場合には、特別役に当選しているか否かに関わらず、指示演出に続けて、特別役の何れにも当選していないこと(ハズレ)が告知される。このハズレの告知は、全てのリールが停止したことによりゲームが終了すると、終了する。
その後、新たなゲームが開始された時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。
また、MAXBETスイッチ6の最初の操作により計時開始されたタイマの計時する時間が5秒になるまでに全てのリールが停止することなくMAXBETスイッチ6が10回操作された場合には、MAXBETスイッチ6の操作回数が10回になった時点で指示演出が終了する。この場合には、特別役に当選していれば、指示演出に続けて特別役の当選が告知され、何れにも当選していなければ、指示演出に続けてハズレが告知される。
以下、連続操作演出を具体例に基づいて説明する。図36(a)〜(d)は、遊技の進行と連続操作演出の実行態様との関係を示すタイミングチャートである。
図36(a)の例では、遊技者によるスタートスイッチ7の操作によりゲーム1が開始されたときに、特別役に当選したものとする。このような状況で連続操作演出を実行する場合には、当該ゲームが開始されたタイミングから指示演出が開始される。
次に、ゲーム1が終了するまで(すなわち、全てのリールが停止するまで)の任意のタイミングで遊技者がMAXBETスイッチ6を最初に操作すると、制限時間計時用タイマによる計時が開始される。遊技者がMAXBETスイッチ6の操作を繰り返して行い、全てのリールが停止する前に、また、制限時間計時用タイマにより計時している時間が5秒に到達するよりも前に、MAXBETスイッチ6の操作回数が最初の操作を含めて10回に達したものとする。
すると、この時点で指示演出が終了し、終了した指示演出に続けてゲーム1のうちに特別役に当選していることが告知されるものとなる。なお、このボーナス当選の告知は、ゲーム2が開始しても、当選した特別役に入賞するまで継続される。
図36(b)の例では、遊技者によるスタートレバー11の操作によりゲーム1が開始されたときに、いずれの特別役にも当選していないものとする。このような状況で連続操作演出を実行する場合にも、当該ゲームが開始されたタイミングから指示演出が開始される。
次に、ゲーム1が終了するまで(すなわち、全てのリールが停止するまで)の任意のタイミングで遊技者がMAXBETスイッチ6を最初に操作すると、制限時間計時用タイマによる計時が開始される。遊技者がMAXBETスイッチ6の操作を繰り返して行い、全てのリールが停止する前に、また、制限時間計時用タイマにより計時している時間が5秒に到達するよりも前に、MAXBETスイッチ6の操作回数が最初の操作を含めて10回に達したものとする。
すると、この時点で指示演出が終了し、終了した指示演出に続けてゲーム1のうちに特別役に当選していないことが告知されるものとなる。このハズレ告知は、ゲーム1が終了した時点で終了させられるが、ゲーム1においていずれの特別役にも当選していないので、次のゲーム2が開始されたときに何らの報知も行われない。
図36(c)の例では、図36(a)の例と同様に、特別役に当選した場合に連続操作演出を実行するものであるが、制限時間掲示用タイマにより計時している時間が5秒に到達するまでに全てのリールが停止することもなかったが、制限時間掲示用タイマにより計時している時間が5秒に到達した時点でMAXBETスイッチ6の操作回数が最初の操作を含めて10回未満しか行われなかったものとする。
この場合、制限時間掲示用タイマにより計時している時間が5秒に到達した時点で指示演出が終了し、終了した指示演出に続けてゲーム1のうちに特別役に当選していないことが告知される。このハズレ告知は、ゲーム1が終了した時点で終了させられるが、ゲーム1において特別役に当選しているので、次のゲーム2が開始された時点で特別役に当選していることが告知されるものとなる。なお、この特別役の当選の告知は、ゲーム2が開始しても、当選した特別役に入賞するまで継続される。
図36(d)の例では、図36(b)の例と同様に、特別役に当選していない場合に連続操作演出を実行するものであるが、制限時間計時用タイマにより計時している時間が5秒に到達するまでに全てのリールが停止することもなかったが、制限時間計時用タイマにより計時している時間が5秒に到達した時点でMAXBETスイッチ6の操作回数が最初の操作を含めて10回未満しか行われなかったものとする。
この場合、制限時間計時用タイマにより計時している時間が5秒に到達した時点で指示演出が終了し、終了した指示演出に続けてゲーム1のうちに特別役に当選していないことが告知される。このハズレ告知は、ゲーム1が終了した時点で終了させられるが、ゲーム1において特別役の何れにも当選していないので、次のゲーム2が開始されたときに何らの報知も行われない。
このように本実施例では、特別役の当選している可能性を示唆する連続操作演出がゲーム開始同時に開始されるものとなっている。この連続操作演出は、指示演出の後に、特別役に当選しているか否かを告知するものである。
連続操作演出において特別役に当選しているか否かを告知することに対して、遊技者は、指示演出が行われている間にMAXBETスイッチ6を操作することによって介入することが可能となっている。この連続操作演出(指示演出)に対して遊技者がMAXBETスイッチ6を操作して介入し、その最初の操作から5秒以内に合わせて10回のMAXBETスイッチ6の操作を行うと、指示演出の終了と同時に特別役の当選の有無が遊技者に告知されるものとなっている。
ここで、指示演出に続けて特別役の当選の有無が遊技者に告知されることとなる10回のMAXBETスイッチ6が操作されたかどうかを判断する計時の起算点は、最初にMAXBETスイッチ6が操作されたときからとなっている。連続操作演出(指示演出)が開始された後の自由なタイミングで、すなわち自由度の高い介入操作で連続操作演出に遊技者が介入することができるので、連続操作演出に遊技者が介入しやすくなり、結果として遊技の興趣を向上させることができる。
また、遊技者がMAXBETスイッチ6を最初に操作して連続操作演出の介入への意思表示を行っても、指示演出に続けてそのまま特別役の当選の有無が遊技者に告知されるようにするには、さらに5秒以内で10回(最初の操作を除くと9回)もMAXBETスイッチ6を繰り返して操作しなければならない。このように遊技者が連続操作演出の介入を開始してからも、その介入操作を続けることが必要になるので、演出への介入感が高まり、さらに遊技の興趣を向上させることができる。
また、連続操作演出が行われたときにおいて当該ゲーム中で指示演出に続けて特別役の当選の有無が告知されるのは、最初のMAXBETスイッチ6の操作から5秒以内で合計10回のMAXBETスイッチ6の操作があったことが条件となっている。もっとも、10回目のMAXBETスイッチ6の操作があれば、その時点で、最初のMAXBETスイッチ6の操作から5秒の経過を待たずに特別役の当選の有無が告知されるものとなる。
これにより、特別役の当選が指示演出に続けて実行される条件の成立タイミングと、特別役の当選の有無の告知タイミングとがリンクするものとなるので、特別役の当選の有無が告知されたときに、これが遊技者にとって分かり易いものとなる。しかも、遊技者の操作(10回目のMAXBETスイッチ6の操作)とリンクしたタイミングで特別役の当選の有無が告知されることとなるので、連続操作演出に対する遊技者の介入感をさらに高めさせることができ、さらに遊技の興趣を向上させることができる。
また、連続操作演出が行われたときであっても、遊技者がMAXBETスイッチ6を操作しない限り、何れにしても当該ゲーム中で指示演出に続けて特別役の当選の有無が告知されることはない。一般的な遊技者であれば、特別役に当選しているかどうかをなるべく早く知りたいものであるので、これによってMAXBETスイッチ6の操作により連続操作演出に介入させることを遊技者に促すことができるものとなる。
一方、特別役に当選していて連続操作演出が行われたときに遊技者がMAXBETスイッチ6を全く操作しなかったり、MAXBETスイッチ6を10回操作する前にゲームが終了したり、最初の操作から5秒以内でMAXBETスイッチ6を10回操作することができなかったりした場合でも、次のゲームが開始されたときに特別役の当選が遊技者に告知されるものとなる。
このため、連続操作演出の指示演出が行われている間にMAXBETスイッチ6を操作しなかったばかりに、或いは操作しても適切な操作ができなかったばかりに、遊技者が知りたいはずの情報(つまり、特別役に当選しているか否かという情報)を遊技者が何時までも知り得ず、遊技者の不利益が大きくなりすぎてしまうことがない。
ところで、本実施例では、リール2L、2C、2Lの回転は、遊技者が停止操作することによって停止されるものとなっているが、遊技者が停止操作をしなければいつまでも回転し続けることとなるが、ゲームの開始と同時に指示演出が開始されても、遊技者がMAXBETスイッチ6を操作しない限り特別役の当選を告知すべきかどうかの判断を行う必要がない。このため、リール2L、2C、2Lが回転している状態で放置されているときの制御負荷を増大させずに済むものとなる。
さらに、指示演出が実行されている場合において、MAXBETスイッチ6が操作された後にリール2L、2C、2Rの全部または一部が回転を継続しているまま放置されてしまうという場合も考えられる。もっとも、当該ゲーム中で指示演出に続けて特別役の当選またはハズレの告知を行うかどうかの判断は、最初のMAXBETスイッチ6の操作から5秒間の間だけ行えば良い。このため、制御負荷が大きくなりすぎることはない。
また、本実施例では、サブCPU91aが、メインCPU41aから送信される操作検出コマンドにより特定される操作スイッチのON/OFFの状態に基づいてMAXBETスイッチ6の検出状態を特定し、上述の連続操作演出を実行するようになっている。
一方、連続操作演出では、MAXBETスイッチ6の最初の操作から5秒以内にMAXBETスイッチ6を最初の操作を含めて10回操作しなければ特別役の当選が告知されないため、サブCPU91aが操作検出コマンドを取りこぼした場合、それが反映されないと、遊技者がMAXBETスイッチ6を5秒以内に連続して10回操作したにも関わらず、特別役の当選が告知されなくなってしまう可能性があるが、本実施例では、前述のようにメインCPU41aが1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rのいずれかが操作されたか否かに関わらず、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8RそれぞれのON/OFFの状態を特定可能な操作検出コマンドを定期的に送信することで、サブCPU91aは、これら操作スイッチのON/OFFの状態を定期的に特定できるようになっており、操作検出コマンドを取りこぼしても次回送信された操作制御情報から最新の検出状態を取得して告知の条件を満たすか否かが判定されるので、遊技者が告知の条件を満たす操作を行ったにも関わらず、操作検出コマンドの取りこぼしによって特別役の当選が告知されなくなってしまうことを防止できる。
尚、本実施例では、連続操作演出が行われた場合において、最初のMAXBETスイッチ6の操作から5秒以内にMAXBETスイッチ6が合計で10回操作されていないと、指示演出の終了とともにハズレ告知がされるものとなっていたが、このような場合には何も告知せずに指示演出だけを終了させるものとしても良い。そして、特別役に当選していた場合には、次のゲームでBET操作がなされた場合やスタート操作がなされたときに特別役の当選を告知しても良い。
また、連続操作演出が行われた場合において、最初のMAXBETスイッチ6の操作から5秒以内に合計で10回MAXBETスイッチ6が操作されたことを条件として、当該ゲーム中に指示演出に続けて特別役の当選の有無が遊技者に告知されるものとなっていたが、この5秒という時間の条件、或いは10回という操作の条件の何れか一方または両方は、例えば、連続操作演出が実行される度に行われる抽選などにより可変されるものとしても良い。
例えば、2秒4回、3秒6回という条件から何れかを選ぶものや3秒3回、3秒6回という条件から何れかを選ぶものであっても良い。これらの場合、指示演出に続けて特別役の当選の有無が告知されることとなるタイミングに変化が生じたり、そのために必要な操作の難易度に変化が生じたりするので、連続操作演出への介入に対する面白みをさらに増すことができるものとなる。
また、連続操作演出は、ゲームの開始時から開始されるものとなっていたが、これ以外の条件及びタイミングで開始されるものとしても良い。例えば、全てのリールが停止したタイミングから連続操作演出を開始させるものとしても良い。
このようにゲームが終了してから開始される連続操作演出では、指示演出が実行されているときにおいて、ストップスイッチ8L、8C、8Rがゲームの進行制御に関与しないこととなるので、ストップスイッチ8L、8C、8RをMAXBETスイッチ6の代わりに適用することができる。
また、本実施例では、指示演出が実行されている場合においてゲームの進行制御に関与しないMAXBETスイッチ6が最初に操作されたことを連続操作演出への介入を開始する意思表示となる操作として制限時間掲示用タイマによる計時を開始するものとし、また、そのMAXBETスイッチ6の操作を介入の意思表示の後に連続操作演出に介入する操作としていた。
これに対して、制限時間掲示用タイマによる計時を開始させる介入の意思表示となる操作の方は、遊技の進行制御に関与する操作であっても良い。例えば、全リール回転中におけるストップスイッチの操作(第1停止操作)はゲームの進行制御に関与するが、制限時間掲示用タイマによる計時を開始させる介入の意思表示となる操作として適用することもできる。
また、本実施例では、最初の操作を含めて5秒以内にMAXBETスイッチ6が10回操作されることを、指示演出に続けて連続操作演出が行われたゲームのうちに特別役の当選の有無を告知するかどうかの条件としていたが、指示演出に続けて特別役の当選の有無を告知するかどうかの操作の条件は、これに限るものではなく、例えば、MAXBETスイッチ6が所定時間(3秒以下)継続して(断続して)操作されたこととしても良い。また、最初のMAXBETスイッチ6の操作から3秒を経過するまでの間になされた2回目以降のMAXBETスイッチ6の操作が所定時間継続したこととしても良い。
或いは、連続操作演出への介入を開始する意思表示(最初のMAXBETスイッチ6の操作)の後に連続操作演出に介入する操作を複数の操作手段の操作とする場合には、該複数の操作手段が所定のパターンで操作されたこととしても良い。例えば、連続操作演出への介入を開始する意思表示の後に連続操作演出に介入するための操作手段として1枚BETボタン14とMAXBETスイッチ6の2つを適用し、これらが交互に20回(各々のボタンの操作が10回)だけ最初のMAXBETスイッチ6の操作から5秒以内に行われたときに、指示演出に続けて特別役の当選の有無を告知するものとしても良い。
また、本実施例では、連続操作演出への介入を開始する意思表示となる操作と、その意思表示の後に連続操作演出に介入する操作とは、何れもMAXBETスイッチ6の操作としていたが、両者の操作は、異なる操作手段の操作であっても良い。例えば、1枚BETボタン14の操作を連続操作演出への介入を開始する意思表示となる操作として計時を開始するが、MAXBETスイッチ6の操作をその意思表示の後に連続操作演出に介入する操作として、計時開始から所定時間以内にMAXBETスイッチ6が所定回数操作されたかどうかを判定するものとしても良い。
また、本実施例では、特別役に当選して連続操作演出が行われた場合において、MAXBETスイッチ6を操作したものの5秒以内に10回の操作ができなくて指示演出に続けてハズレが告知された場合、若しくは、MAXBETスイッチ6が操作されないまま、或いはMAXBETスイッチ6の操作から5秒経過または10回の操作がある前にゲームが終了して指示演出だけが終了させられた場合、次のゲームの開始時点(すなわち、スタート操作時点)において、特別役の当選が告知されるものとなっていたが、このような場合における特別役の当選の告知のタイミングは、これに限るものではなく、例えば、次のゲームの終了時(第3停止ボタンが操作されたとき)、第1停止時、第2停止時としても良い。さらには、次のゲームを開始するための賭数の設定操作が行われたときとしても良い。
また、本実施例では、連続操作演出によって特別役に当選したか否かが告知されるようになっているが、遊技者の介入操作によって遊技者にとって有利な情報を報知する演出であれば良く、例えば、遊技者の介入操作によって遊技者にとって有利な操作手順を報知する報知状態に当選したか否かを報知するものや、遊技者の介入操作によって設定値を推測させる情報を報知するものとしても良い。
次に、前述した操作演出のうち台情報閲覧演出について説明する。
サブ制御部91のRAM91cには、既に行われた遊技に関する遊技履歴データを記憶可能な遊技履歴データ記憶領域が割り当てられているとともに、これら遊技履歴データは、メインCPU41aから送信されたコマンドに基づいて逐次最新のデータに更新されるようになっている。一方、サブ制御部91のROM91bには、当該スロットマシン1にて実施される演出を紹介する演出紹介データが記憶されている。
そして、遊技者は、前述のようにゲーム終了後(設定変更後)からゲーム開始までの制御状態において、ストップスイッチ8L、8C、8Rのうち中、右のストップスイッチ8C、8Rを同時に操作することにより、閲覧メニュー画面を表示させて、さらにストップスイッチ8L、8C、8Rを操作してメニューを選択することにより、RAM91cの遊技履歴データ記憶領域に記憶されている遊技履歴データ(後述する設定変更の履歴を除く)に基づく遊技履歴情報やROM91bに記憶されている演出紹介データを閲覧することが可能とされている。
遊技履歴データ記憶領域は、ボーナス間ゲーム数カウンタ、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、RBカウンタ、BBカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブル、日付別履歴テーブル、設定値変更テーブルから構成される。
ボーナス間ゲーム数カウンタは、前回のボーナス終了時からのゲーム数を計数するカウンタであり、ボーナス中以外の状態で遊技状態コマンドを受信する毎に1加算され、BBやRBから通常遊技状態への移行を示す遊技状態コマンドを受信した際にクリアされる。
ボーナス間ゲーム数テーブルは、ボーナス間ゲーム数を各ボーナス毎に当該ボーナスの種類(BB、RB)とともに格納するテーブルであり、通常遊技状態からBBまたはRBへの移行を示す遊技状態コマンドを受信した際に、ボーナスの種類を格納するとともに、ボーナス間ゲーム数カウンタの値を取得してボーナス間ゲーム数として格納する。
総ゲーム数カウンタは、本日の総ゲーム数を計数するカウンタであり、ボーナス中以外の状態で遊技状態コマンドを受信する毎に1加算される。
RBカウンタは、本日のRB回数を計数するカウンタであり、通常遊技状態からRBへの移行を示す遊技状態コマンドを受信した際に1加算される。
BBカウンタは、本日のBB回数を計数するカウンタであり、通常遊技状態からBBへの移行を示す遊技状態コマンドを受信した際に1加算される。
投入枚数カウンタは、ゲームに使用されたパチンコ球数、すなわち賭数の設定に用いるために取り込まれた球数を計数するカウンタであり、内部当選コマンドを受信した際に、現在の遊技状態に応じてゲームの開始に必要なメダル数が加算される。
払出枚数カウンタは、小役入賞時に払い出されたメダル数を計数するカウンタであり、小役の入賞を示す入賞判定コマンドを受信した際に、当該コマンドにより特定される払出枚数が加算される。
時間別差枚数テーブルは、所定間隔毎の差枚数(払出枚数カウンタの値−投入枚数カウンタの値)を格納するテーブルであり、所定間隔毎(例えば5分毎)に、払出枚数カウンタの値と投入枚数カウンタの値を取得し、差枚数を算出して格納する。
日付別履歴テーブルは、過去3日分のボーナス間ゲーム数テーブル、総ゲーム数カウンタ、RBカウンタ、BBカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを格納するテーブルである。サブCPU91aは、起動処理(サブ)において、時計装置97から日付情報を取得し、取得した日付情報をRAM91cの日付記憶領域に記憶する。そして、起動処理において新たに取得した日付情報がRAM91cの日付記憶領域記憶されていた日付情報と一致するか否かを判定し、一致していない、すなわち日付が更新されたと判定したときには、その時点で2日前の領域に格納されているデータを3日前の領域に格納し、1日前の領域に格納されているデータを2日前の領域に格納し、本日の領域に格納されているデータを1日前の領域に格納するとともに、本日のデータが格納される領域に格納されているデータをクリア(初期化)する。つまり、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、RBカウンタ、BBカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを1日前のデータとして格納する処理が行われる。
また、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、RBカウンタ、BBカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを日付別履歴テーブルに格納することに伴って、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、RBカウンタ、BBカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルはクリアされる。
設定値変更テーブルは、過去5回分の設定値の変更履歴を格納するテーブルであり、管理者モードが設定されている状態で遊技状態コマンドを受信した際に、時計装置97から取得した時間情報(日付及び時間)に対応付けて遊技状態コマンドが示す設定値を格納する。尚、この際、最も古い変更履歴はクリアされる。
ここで、遊技履歴情報や演出紹介データの閲覧状況及びその際のサブCPU91aの制御状況を図37に基づいて説明する。
本実施例では、ゲーム終了後(設定変更後)からゲーム開始までの制御状態において、ストップスイッチ8L、8C、8Rのうち中、右のストップスイッチ8C、8Rが同時に操作されると、液晶表示器51に図37(a)に示す閲覧メニュー画面を表示させる。
閲覧メニュー画面には、現在選択されているメニューの説明領域と、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」「戻る」からなるメニュー領域と、が設けられており、ストップスイッチ8L、8Cの操作に応じてメニュー領域の選択枠を移動させるとともに、この移動に伴って説明領域の表示内容も現在選択されているメニュー領域の説明に更新される。尚、閲覧メニュー画面には、RAM91cに設定されている閲覧有効フラグの設定状況に応じたメニュー領域のみが表示されるようになっており、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」のうち、閲覧有効フラグが設定されていない項目のメニュー領域は表示されないようになっている。閲覧有効フラグは、後述するオプション画面にて閲覧を有効とする設定がなされた項目についてのみ設定されるようになっており、後述するオプション画面にて閲覧を有効とする設定がなされていない項目については、遊技者の操作によって閲覧ができないようになっている。
閲覧メニュー画面で「ボーナス間情報」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図37(b)に示すボーナス間情報画面を表示させる。ボーナス間情報画面には、「本日」「1日前」「2日前」「3日前」「戻る」からなるメニュー領域と、ボーナス毎にボーナスの種類及びボーナス間ゲーム数が表示されるボーナス間情報表示領域と、が設けられている。そして、閲覧メニュー画面からボーナス間情報画面を表示させる際には、本日のボーナス間ゲーム数テーブルに登録されているデータに基づいてボーナス間情報表示領域に、本日のボーナスの種類及びボーナス間ゲーム数がボーナス毎に表示される。また、ボーナス間情報画面において「1日前」「2日前」「3日前」のいずれかが選択された状態で、ストップスイッチ8Rを操作すると、日付別履歴データテーブルに格納されているデータに基づいて、選択された日のボーナスの種類及びボーナス間ゲーム数がボーナス毎にボーナス間情報表示領域に表示される。また、ボーナス間情報画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、閲覧メニュー画面に戻る。
閲覧メニュー画面で「演出紹介」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図37(c)に示す演出紹介画面を表示させる。ボーナス間情報画面には、各演出に対応するメニュー領域と、「戻る」に対応するメニュー領域と、が設けられている。そして、演出紹介画面において各演出に対応するメニュー領域のいずれかが選択された状態で、ストップスイッチ8Rを操作すると、ROM91bに格納されている演出紹介データから該当するデータが抽出されて表示される。また、演出紹介画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、閲覧メニュー画面に戻る。
閲覧メニュー画面で「ボーナス確率」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図37(d)に示すボーナス確率画面を表示させる。ボーナス確率画面には、「本日」「1日前」「2日前」「3日前」「戻る」からなるメニュー領域と、ボーナスの種類別に確率が表示されるボーナス確率表示領域と、が設けられている。そして、閲覧メニュー画面からボーナス確率画面を表示させる際には、本日の総ゲーム数カウンタ、RBカウンタ及びBBカウンタの値に基づき本日のBBの確率及びRBの確率が算出されてボーナス確率表示領域に表示される。また、ボーナス確率画面において「1日前」「2日前」「3日前」のいずれかが選択された状態で、決定スイッチ57を検出すると、日付別履歴データテーブルに格納されているデータに基づき、選択された日のBBの確率及びRBの確率が算出されてボーナス確率表示領域に表示される。また、ボーナス確率画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、閲覧メニュー画面に戻る。
閲覧メニュー画面で「スランプグラフ」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図37(e)に示すスランプグラフ画面を表示させる。スランプグラフ画面には、「本日」「1日前」「2日前」「3日前」「戻る」からなるメニュー領域と、時系列的に差球の状況を示すスランプグラフが表示されるグラフ表示領域と、が設けられている。そして、閲覧メニュー画面からスランプグラフ画面を表示させる際には、本日の時間別差枚数テーブルに基づき本日のスランプグラフが生成されてグラフ表示領域に表示される。また、スランプグラフ画面において「1日前」「2日前」「3日前」のいずれかが選択された状態で、ストップスイッチ8Rを操作すると、日付別履歴データテーブルに格納されているデータに基づき、選択された日のスランプグラフが生成されてグラフ表示領域に表示される。また、スランプグラフ画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、閲覧メニュー画面に戻る。
以上のように、遊技者はゲーム終了後(設定変更後)からゲーム開始までの制御状態において、ストップスイッチ8L、8C、8Rのうち中、右のストップスイッチ8C、8Rが同時に操作することにより、閲覧メニュー画面を表示させ、さらにストップスイッチ8L、8C、8Rの操作を行うことにより、RAM91cの遊技履歴データ記憶領域に記憶されている遊技履歴データ(後述する設定変更の履歴を除く)に基づく遊技履歴情報やROM91bに記憶されている演出紹介データを閲覧することが可能となる。
本実施例においてメインCPU41aは、図38に示すように、設定キースイッチ37がONの状態で起動すると、設定開始コマンドをサブCPU91aに送信し、設定変更状態の開始を通知するとともに、設定値を変更可能な設定変更状態に移行することとなる。設定変更状態では、スタートスイッチ7が操作されるまでは、任意に設定値を選択することが可能となるが、スタートスイッチ7が操作されると、その時点で選択されている設定値が確定し、以後設定値を変更できない設定確定状態となり、この状態で設定キースイッチ37がOFFの状態とすることで設定変更状態は終了し、サブCPU91aに対して遊技状態コマンドを送信して設定変更状態の終了を通知する。
一方、サブCPU91aは、設定開始コマンドにより設定変更状態の開始が通知されることで、前述した遊技履歴データをクリアしたり、遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うこと、すなわち遊技店が管理するサブCPU91a側の管理情報にアクセス可能な管理者モードに制御する。そしてこの管理者モードは、遊技状態コマンドにより設定変更状態の終了が通知されることで終了することとなる。
尚、設定変更状態において設定値が確定してもメインCPU41aからサブCPU91aに対して何らの通知もされず、サブCPU91aは、メインCPU41a側で設定値が確定した後も、遊技状態コマンドによって設定変更状態の終了が通知されるまでは、継続して管理者モードに制御されるようになっており、設定変更状態において設定値が確定した後も、電源を再投入して設定値の確定前の状態にわざわざ戻すことなく、管理情報へのアクセスが可能となる。
また、メインCPU41aは、図39に示すように、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37がONの状態となると、確認開始コマンドをサブCPU91aに送信し、設定確認状態の開始を通知するとともに、設定値を確認可能な設定確認状態に移行することとなる。設定確認状態は、設定キースイッチ37がOFFの状態とすることで設定確認状態は終了し、サブCPU91aに対して確認終了コマンドを送信して設定確認状態の終了を通知する。
そして、サブCPU91aは、確認開始コマンドにより設定確認状態の開始が通知された場合にも、設定開始コマンドを受信した場合と同様に、遊技店が管理するサブCPU91a側の管理情報にアクセス可能な管理者モードに制御する。そしてこの管理者モードは、確認終了コマンドにより設定確認状態の終了が通知されることで終了することとなる。
設定キースイッチ37は、キーを挿入し、回転させることでON/OFFを変更することが可能なスイッチであるが、通常キーは、店員が所持するものであり、遊技者が任意に設定キースイッチ37を操作することはできない。すなわち遊技者が任意に操作することのできない設定キースイッチ37を操作した場合のみ遊技店が管理するサブCPU91a側の管理情報にアクセス可能な管理者モードに制御されることとなる。
このように本実施例では、メインCPU41aが設定変更状態に制御された場合だけでなく、設定確認状態に制御された場合にも管理者モードに制御されるようになっており、設定変更状態に移行させることなく、管理情報へのアクセスが可能となっている。特に、本実施例のように電源を再投入しないと設定変更状態に移行しない場合でも、管理情報へアクセスするだけのために電源を落とす必要がなくなる。さらに、本実施例のように、設定変更状態への移行に伴ってRAM41cが初期化されてしまう場合でも、RAM41cの格納データを維持したままで管理情報へのアクセスが可能となる。
尚、本実施例では、メインCPU91aから設定開始コマンドまたは確認開始コマンドを受信した場合に、そのまま管理者モードに制御されるようになっているが、設定開始コマンドまたは確認開始コマンドを受信した後、例えば、MAXBETスイッチ6を一定時間以上操作するなど、一定の操作がなされた場合にのみ管理者モードに制御する構成としても良く、このようにすることで設定変更または設定確認が目的で管理情報にアクセスする必要がないにも関わらず、管理者モードに制御されてしまうことを防止できる。
また、メインCPU41aは、設定変更状態に移行する前に割込を許可するようになっており、設定変更状態に制御されている間も定期的に操作検出コマンドを送信するため、サブCPU91aは、設定変更状態に制御されている間も、設定値の変更制御に関与しない操作スイッチの検出状態を逐次特定できるようになっている。
また、設定確認状態においても割込は許可されており、設定変更状態と同様に設定確認状態に制御されている間も定期的に操作検出コマンドを送信するため、サブCPU91aは、設定確認状態に制御されている間も、設定値の確認制御に関与しない操作スイッチの検出状態を逐次特定できるようになっている。
また、前述のようにサブCPU91aは、メインCPU41aが設定変更状態または設定確認状態に制御されている期間において管理情報にアクセス可能な管理者モードに制御することとなるので、その間に送信された操作検出コマンドから特定される操作スイッチの操作を利用して管理者モード期間中の操作を行うことが可能とされており、演出制御基板90側に管理情報にアクセスするための操作手段を別途備えることなく、本来であれば、遊技制御基板40側でゲームの進行制御に用いられる操作スイッチを活用して管理情報へのアクセス操作を行うことができる。
次に、サブCPU91a側の管理情報にアクセスする際の操作状況及びその際のサブCPU91aの制御状況を図40に基づいて説明する。
まず、サブCPU91aは、設定開始コマンドまたは確認開始コマンドを受信したときに管理者モードに制御する。これに伴い、図40に示す管理者モード画面が液晶表示器51に表示されるようになっており、この管理者モード画面において、遊技履歴データのクリアや遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うことが可能とされている。
また、管理者モードでは、遊技状態コマンドまたは確認終了コマンドを受信したときに、終了するとともに、管理者モード画面に表示された所定のメニュー領域(後述する「戻る」のメニュー領域)をストップスイッチ8L、8Cにより選択した状態でストップスイッチ8Rを操作した場合にも終了するようになっている。尚、この場合には、設定変更中または設定確認中である旨が引き続き報知されることとなる。
管理者モード画面には、現在選択されているメニューの説明領域と、「履歴データクリア」「オプション」「設定変更履歴」「戻る」からなるメニュー領域と、が設けられており、ストップスイッチ8L、8Cの操作に応じて、メニュー領域の選択枠を移動させるとともに、この移動に伴って説明領域の表示内容も現在選択されているメニュー領域の説明に更新される。
図40(a)に示すように、管理者モード画面で「履歴データクリア」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図41(a)に示す履歴データクリア画面を表示させる。履歴データクリア画面には、現在選択されているメニューの説明領域と、「はい」「いいえ」からなるメニュー領域と、が設けられている。そして、履歴データクリア画面において「はい」が選択された状態で、ストップスイッチ8Rを操作すると、RAM91cの遊技履歴データ記憶領域に記憶されている遊技履歴データのうち、設定変更履歴を除く全てのデータがクリアされた後、図41(b)に示すように履歴データのクリアが完了した旨を示すメッセージが表示され、管理者モード画面に戻る。尚、履歴データクリア画面において「いいえ」が選択された状態で、決ストップスイッチ8Rを操作すると、遊技履歴データはクリアされずに管理者モード画面に戻る。
図40(b)に示すように、管理者モード画面で「オプション」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図42(a)に示すオプション画面を表示させる。オプション画面には、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」「戻る」からなるメニュー領域が設けられている。そして、オプション画面において「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」のいずれかが選択された状態で、ストップスイッチ8Rを操作すると、対応する閲覧可能設定欄の表示が切り替わる。具体的には、閲覧を有効とする旨を示す「ON」が表示されている状態では閲覧を有効としない旨を示す「OFF」に切り替わり、「OFF」が表示されている状態では「ON」に切り替わる。そして、オプション画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、閲覧可能設定欄に「ON」が表示されている項目の閲覧有効フラグを設定する一方、「OFF」が表示されている項目の閲覧有効フラグをクリアした後、管理者モード画面に戻る。
図40(c)に示すように、管理者モード画面で「設定変更履歴」のメニュー領域が選択された状態で、ストップスイッチ8Rを操作すると、図42(b)に示す設定変更履歴画面を表示させる。設定変更履歴画面には、過去5回分の設定変更履歴、すなわちRAM91cに格納されている設定変更履歴が表示される設定変更履歴表示領域と、「戻る」に対応するメニュー領域と、が設けられている。そして、設定変更履歴画面において「戻る」が選択された状態で、ストップスイッチ8Rを操作すると、管理者モード画面に戻る。
図40(d)に示すように、管理者モード画面で「戻る」のメニュー領域が選択された状態でストップスイッチ8Rを操作すると、管理者用モードを終了して、設定変更中または設定確認中の報知画面が表示される。
以上のように、メインCPU41aが設定変更状態または設定確認状態に制御される場合に、管理者モード画面が表示され、当該画面においてストップスイッチ8L、8C、8Rを操作することにより、遊技履歴データのクリア、遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うことが可能となる。
尚、本実施例では、遊技履歴データをクリアしても設定変更履歴のデータはクリアされないようになっているので、例えば、不正に設定変更がなされた場合でも、その証拠を確実に残しておくことができるが、遊技履歴データのクリアとともに設定変更履歴データについてもクリアされるようにしても良いし、遊技履歴データと、設定変更履歴データと、を別個の操作によりクリアできるようにしても良い。
また、本実施例では、管理情報の一例としての設定変更履歴が記憶され、遊技店設定用モードにおいて該設定変更履歴を確認できるようになっているが、例えばスロットマシン1の前面扉の開放履歴(前面扉の開放に基づく開放時刻や開放回数情報)やエラーの発生履歴(エラーの発生時刻や発生したエラーの種類、エラーの発生回数)等を記憶し、管理者モードにおいてこれら前面扉の開放履歴やエラーの発生履歴を確認できるようにしても良い。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
例えば、前記実施例では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを用いているが、本発明はこれに限定されるものではなく、遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンであっても良い。
更に、流路切替ソレノイド30や投入メダルセンサ31など、メダルの投入機構に加えて、遊技球の取込を行う球取込装置、球取込装置により取り込まれた遊技球を検出する取込球検出スイッチを設けるとともに、ホッパーモータ34bや払出センサ34cなど、メダルの払出機構に加えて、遊技球の払出を行う球払出装置、球払出装置により払い出された遊技球を検出する払出球検出スイッチを設け、メダル及び遊技球の双方を用いて賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球が払い出されるスロットマシンに適用しても良い。