本発明が適用された遊技機の一例であるスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン1は、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、それぞれ「スイカ」、「リプレイ」、「白ブドウ」、「黒ブドウ」、「チェリー」、「白プラム」、「黒プラム」、「黒7」、「白7」、「BAR」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図3参照)によって回転させることで、各リール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、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作される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(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられている。
前面扉1bの内側には、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、メダル投入部4から投入されたメダルの流路を、筐体1a内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31を有するメダルセレクタ(図示略)、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図3参照)、後述のBB終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、後述のBB終了時に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36bが設けられている。
筐体1a内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図3参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34cからなるホッパーユニット34、電源ボックス100が設けられている。
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ35aが設けられており、導電部材がオーバーフロータンク35内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
電源ボックス100の前面には、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や前述の打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、或いはクレジットを使用して賭数を設定する。クレジットを使用するには1枚BETスイッチ5またはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L4(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された入賞ラインL1、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された入賞ラインL2、リール2Lの上段、リール2Cの中段、リール2Rの上段、すなわちV字型に並んだ図柄に跨って設定された入賞ラインL3、リール2Lの下段、リール2Cの中段、リール2Rの下段、すなわち逆V字型に並んだ図柄に跨って設定された入賞ラインL4、の4種類が入賞ラインとして定められている。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、有効化され入賞ライン上に予め定められた図柄の組合せ(以下、役とも呼ぶ)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。尚、有効化され複数の入賞ライン上にメダルの払出を伴う図柄の組合せが揃った場合には、有効化され入賞ラインに揃った図柄の組合せそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、1ゲームで付与されるメダルの払出枚数には、上限(本実施例では15枚)が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効化され入賞ライン上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
また、本実施例におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転して図柄の変動が開始した後、いずれかのストップスイッチ8L、8C、8Rが操作されたときに、当該ストップスイッチ8L、8C、8Rに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ8L、8C、8Rの操作から対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は190ms(ミリ秒)である。リール2L、2C、2Rは、1分間に80回転し、80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄を変動させるので、190msの間では最大で4コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分の図柄である。
このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から4コマ先までの図柄を下段に表示させることができるため、その結果として当該図柄から6コマ先までの図柄を上段に表示させることができる。すなわち、リール2L、2C、2R各々において、ストップスイッチ8L、8C、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を含めて7コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
図3は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図3に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。また、後述するメイン制御部41からサブ制御部91へのコマンド伝送ラインと、遊技制御基板40から演出制御基板90に対して電源を供給する電源供給ラインと、が一系統のケーブル及びコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板90側の各部が動作可能となり、かつメイン制御部41からのコマンドを受信可能な状態となる。このため、メイン制御部41からコマンドを伝送するコマンド伝送ラインが演出制御基板90に接続されている状態でなければ、演出制御基板90側に電源が供給されず、演出制御基板90側のみが動作してしまうことがない。
また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述した1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、投入メダルセンサ31、ドア開放検出スイッチ25、打止スイッチ36a、自動精算スイッチ36b、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ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には、メイン制御部41、制御用クロック生成回路42、乱数用クロック生成回路43、スイッチ検出回路44、モータ駆動回路45、ソレノイド駆動回路46、LED駆動回路47、電断検出回路48、リセット回路49が搭載されている。
メイン制御部41は、1チップマイクロコンピュータにて構成され、後述するROM506に記憶された制御プログラムを実行して、遊技の進行に関する処理を行うととともに、遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御する。
制御用クロック生成回路42は、メイン制御部41の外部にて、所定周波数の発振信号となる制御用クロックCCLKを生成する。制御用クロック生成回路42により生成された制御用クロックCCLKは、例えば図4(A)に示すようなメイン制御部41の制御用外部クロック端子EXCを介してクロック回路502に供給される。乱数用クロック生成回路43は、メイン制御部41の外部にて、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する。乱数用クロック生成回路43により生成された乱数用クロックRCLKは、例えば図4(A)に示すようなメイン制御部41の乱数用外部クロック端子ERCを介して乱数回路509に供給される。一例として、乱数用クロック生成回路43により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路42により生成される制御用クロックCCLKの発振周波数以下となるようにすれば良い。
スイッチ検出回路44は、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送する。モータ駆動回路45は、メイン制御部41から出力されたモータ駆動信号をリールモータ32L、32C、32Rに伝送する。ソレノイド駆動回路46は、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送する。LED駆動回路は、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送する。電断検出回路48は、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する。リセット回路49は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部41にシステムリセット信号を与える。また、リセット回路49は、ウォッチドッグタイマ49a(図4(B)参照)を内蔵し、ウォッチドッグタイマ49aがタイムアップした場合、すなわちメイン制御部41のCPU505の動作が一定時間停止した場合においてメイン制御部41にユーザリセット信号を与える。
図4(A)は、遊技制御基板40に搭載されたメイン制御部41の構成例を示している。図4(A)に示すメイン制御部41は、1チップマイクロコンピュータであり、外部バスインタフェース501と、クロック回路502と、固有情報記憶回路503と、リセット/割込コントローラ504と、CPU505と、ROM506と、RAM507と、CTC(カウンタ/タイマサーキット)508と、乱数回路509と、PIP(パラレルインプットポート)510と、シリアル通信回路511と、アドレスデコード回路512とを備えて構成される。
図5は、メイン制御部41におけるアドレスマップの一例を示している。図5に示すように、アドレス0000H〜アドレス1FFFHの領域は、ROM506に割り当てられ、ユーザプログラムエリアとプログラム管理エリアとを含んでいる。図6(A)は、ROM506におけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレス2000H〜アドレス20FFHの領域は、メイン制御部41の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図6(B)は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレス7E00H〜アドレス7FFFHの領域は、RAM507に割り当てられたワークエリアであり、I/Oマップやメモリマップに割り付けることができる。アドレスFDD0H〜アドレスFDFBHの領域は、アドレスデコード回路512に割り当てられるXCSデコードエリアである。
プログラム管理エリアは、CPU505がユーザプログラムを実行するために必要な情報を格納する記憶領域である。図6(A)に示すように、プログラム管理エリアには、ヘッダKHDR、機能設定KFCS、第1乱数初期設定KRS1、第2乱数初期設定KRS2、割込初期設定KIIS、セキュリティ時間設定KSESなどが、含まれている。
プログラム管理エリアに記憶されるヘッダKHDRは、メイン制御部41における内部データの読出設定を示す。図7(A)は、ヘッダKHDRにおける設定データと動作との対応関係を例示している。ここで、メイン制御部41では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、メイン制御部41が備えるROM506の記憶データについて、読出動作を許可又は禁止する機能であり、読出禁止に設定された状態では、ROM506の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置からメイン制御部41の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図7(A)に示すように、ヘッダKHDRの設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図7(A)に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクが有効となる設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
プログラム管理エリアに記憶される機能設定KFCSは、メイン制御部41におけるウォッチドッグタイマの動作設定や、各種機能兼用端子の使用設定を示す。図7(B)は、機能設定KFCSにおける設定内容の一例を示している。
機能設定KFCSのビット番号[7−5]は、例えばリセット/割込コントローラ504における割込要因として設定可能なウォッチドッグタイマの動作許可/禁止や、許可した場合の周期を示している。本実施例では、外部のウォッチドッグタイマを用いるため、ウォッチドッグタイマを動作禁止に設定している。機能設定KFCSのビット番号[4]は、メイン制御部41における所定の機能兼用端子(第1兼用端子)を、シリアル通信回路511が使用する第2チャネル送信端子TXBとするか、アドレスデコード回路512が使用するチップセレクト出力端子XCS13とするかを指定するTXB端子設定である。図7(B)に示す例において、機能設定KFCSのビット番号[4]におけるビット値が“0”であれば、第1兼用端子がシリアル通信回路511での第2チャネル送信に使用される第2チャネル送信端子TXBの設定となる。これに対して、そのビット値が“1”であれば、第1兼用端子がアドレスデコード回路512で使用されるチップセレクト出力端子XCS13の設定となる。本実施例では、機能設定KFCSのビット番号[4]を“0”として、第1兼用端子を第2チャネル送信端子TXBに設定することにより、演出制御基板90との間でのシリアル通信を可能にする。
機能設定KFCSのビット番号[3]は、メイン制御部41における所定の機能兼用端子(第2兼用端子)を、シリアル通信回路511が使用する第1チャネル送信端子TXAとするか、アドレスデコード回路512が使用するチップセレクト出力端子XCS12とするかを示すTXA端子設定である。図7(B)に示す例において、機能設定KFCSのビット番号[3]におけるビット値が“0”であれば、第2兼用端子がシリアル通信回路511での第1チャネル送信に使用される第1チャネル送信端子TXAの設定となる。これに対して、そのビット値が“1”であれば、第2兼用端子がアドレスデコード回路512で使用されるチップセレクト出力端子XCS12の設定となる。本実施例では、機能設定KFCSのビット番号[3]を“0”として、第2兼用端子を第1チャネル送信端子TXAに設定しているが、第1チャンネル受信は未使用とされている。
機能設定KFCSのビット番号[2]は、メイン制御部41における所定の機能兼用端子(第3兼用端子)を、シリアル通信回路511が使用する第1チャネル受信端子RXAとするか、PIP510が使用する入力ポートP5とするかを示すRXA端子設定である。図7(B)に示す例において、機能設定KFCSのビット番号[2]におけるビット値が“0”であれば、第3兼用端子がシリアル通信回路511での第1チャネル受信に使用される第1チャネル受信端子RXAの設定となる。これに対して、そのビット値が“1”であれば、第3兼用端子がPIP510で使用される入力ポートP5の設定となる。本実施例では、機能設定KFCSのビット番号[2]を“0”として、第3兼用端子を第1チャネル受信端子RXAに設定しているが、第1チャンネル受信は未使用とされている。
機能設定KFCSのビット番号[1]は、メイン制御部41における所定の機能兼用端子(第4兼用端子)を、CPU505等に接続される外部ノンマスカブル割込端子XNMIとするか、PIP510が使用する入力ポートP4とするかを示すNMI接続設定である。図7(B)に示す例において、機能設定KFCSのビット番号[1]におけるビット値が“0”であれば、第4兼用端子がCPU505等に接続される外部ノンマスカブル割込端子XNMIの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第4兼用端子がPIP510で使用される入力ポートP4の設定となる(CPU非接続)。本実施例では、機能設定KFCSのビット番号[1]を“1”として、第4兼用端子をPIP510で使用される入力ポートP4に設定しているが、入力ポートP4は未使用とされている。
機能設定KFCSのビット番号[0]は、メイン制御部41における所定の機能兼用端子(第5兼用端子)を、CPU505等に接続される外部マスカブル割込端子XINTとするか、PIP510が使用する入力ポートP3とするかを示すXINT接続設定である。図7(B)に示す例において、機能設定KFCSのビット番号[0]におけるビット値が“0”であれば、第5兼用端子がCPU505等に接続される外部マスカブル割込端子XINTの設定となる(CPU接続)。これに対して、そのビット値が“1”であれば、第5兼用端子がPIP510で使用される入力ポートP3の設定となる(CPU非接続)。
プログラム管理エリアに記憶される第1乱数初期設定KRS1及び第2乱数初期設定KRS2は、乱数回路509の初期設定を示す。図8(A)は、第1乱数初期設定KRS1における設定内容の一例を示している。図8(B)は、第2乱数初期設定KRS2における設定内容の一例を示している。
第1乱数初期設定KRS1のビット番号[3]は、乱数回路509を使用するか否かを示す乱数回路使用設定である。図8(A)に示す例において、第1乱数初期設定KRS1のビット番号[3]におけるビット値が“0”であれば、乱数回路509を使用しない設定となる一方(未使用)、“1”であれば、乱数回路509を使用する設定となる(使用)。本実施例では、第1乱数初期設定KRS1のビット番号[3]を“1”として、乱数回路509を使用可能に設定する。
第1乱数初期設定KRS1のビット番号[2]は、乱数回路509における乱数値となる数値データの更新に用いられる乱数更新クロックRGK(図11参照)を、内部システムクロックSCLKとするか、乱数用クロックRCLKの2分周とするかを示す乱数更新クロック設定である。図8(A)に示す例において、第1乱数初期設定KRS1のビット番号[2]におけるビット値が“0”であれば、内部システムクロックSCLKを乱数更新クロックRGKに用いる設定となる一方、“1”であれば、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定となる。本実施例では、第1乱数初期設定KRS1のビット番号[2]を“1”として、乱数用クロックRCLKを2分周して乱数更新クロックRGKに用いる設定とする。
第1乱数初期設定KRS1のビット番号[1−0]は、乱数回路509における乱数更新規則を変更するか否かや、変更する場合における変更方式を示す乱数更新規則設定である。図8(A)に示す例において、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値が“00”であれば、乱数更新規則を変更しない設定となり、“01”であれば、2周目以降にて乱数更新規則をソフトウェアにより変更する設定となり、“10”であれば、2周目以降にて乱数更新規則を自動で変更する設定となる。
第2乱数初期設定KRS2のビット番号[3−2]は、固定のビット値“00”が設定される。尚、図8(B)における「00B」の“B”は2進数表示であることを示す。第2乱数初期設定KRS2のビット番号[1−0]は、乱数回路509における乱数値となる数値データでのスタート値に関する設定を示す。図8(B)に示す例において、第2乱数初期設定KRS2のビット番号[1]におけるビット値が“0”であれば、スタート値が所定のデフォルト値0001Hに設定される一方、“1”であるときには、メイン制御部41毎に付与された固有の識別情報であるIDナンバーに基づく値がスタート値に設定される。また、図8(B)に示す例では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“0”であれば、システムリセット毎にスタート値を変更しない設定となる一方、“1”であるときには、システムリセット毎にスタート値を変更する設定となる。
本実施例では、第2乱数初期設定KRS2のビット番号[1]におけるビット値が“1”に設定され、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”に設定され、システムリセット毎に、IDナンバーに基づく値がスタート値に設定されるようになっている。
尚、スタート値をIDナンバーに基づく値に設定する場合には、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値をスタート値に用いるようにすれば良い。また、スタート値をシステムリセット毎に変更する場合には、例えばメイン制御部41に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時にメイン制御部41が備える所定の内蔵レジスタ(乱数スタート値用レジスタ)に格納する。そして、初期設定時に乱数スタート値用レジスタの格納値をそのまま用いること、或いは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、スタート値がランダムに決定されれば良い。フリーランカウンタは、遊技制御基板40におけるバックアップ箇所と共通のバックアップ電源を用いてバックアップされるものであれば良い。或いは、フリーランカウンタは、RAM507におけるバックアップ領域などに用いられるバックアップ電源とは別個に設けられた電源によりバックアップされても良い。こうして、フリーランカウンタがバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、所定期間はフリーランカウンタにおけるカウント値が保存されることになる。
また、乱数回路509にて乱数値となる数値データを生成するための回路が2系統(第1及び第2チャネル対応)設けられる場合には、図8(A)及び(B)に示す第1乱数初期設定KRS1のビット番号[3−0]と第2乱数初期設定KRS2のビット番号[3−0]とを、第1チャネルにおける初期設定を示すものとして使用する。その一方で、第1乱数初期設定KRS1のビット番号[7−4]や第2乱数初期設定KRS2のビット番号[7−4]を(図8(A)及び(B)では省略)、第2チャネルにおける初期設定を示すものとして使用すれば良い。
プログラム管理エリアに記憶される割込初期設定KIISは、メイン制御部41にて発生するマスカブル割込の取扱いに関する初期設定を示す。図8(C)は、割込初期設定KIISにおける設定内容の一例を示している。
割込初期設定KIISのビット番号[7−4]では、割込ベクタの上位4ビットを設定する。割込初期設定KIISのビット番号[3−0]では、マスカブル割込要因の優先度の組合せを設定する。図8(C)に示す例において、割込初期設定KIISのビット番号[3−0]により「00H」〜「02H」及び「06H」のいずれかが指定されれば、CTC508からのマスカブル割込要因を最優先とする優先度の組合せが設定される。これに対して、「03H」及び「07H」のいずれかが指定されれば、乱数回路509からのマスカブル割込要因を最優先とする優先度の組合せが設定される。また、「04H」及び「05H」のいずれかが指定されれば、シリアル通信回路511からのマスカブル割込要因を最優先とする優先度の組合せが設定される。尚、同一回路からのマスカブル割込要因を最優先とする優先度の組合せでも、指定値が異なる場合には、最優先となるマスカブル割込要因の種類や第2順位以下における優先度の組合せなどが異なっている。
プログラム管理エリアに記憶されるセキュリティ時間設定KSESは、乱数用クロックRCLKの周波数を監視する場合に異常を検知する周波数や、メイン制御部41の動作開始時などに移行するセキュリティモードの時間(セキュリティ時間)に関する設定を示す。ここで、メイン制御部41の動作モードがセキュリティモードであるときには、所定のセキュリティチェック処理が実行されて、ROM506の記憶内容が変更されたか否かが検査される。図9(A)は、セキュリティ時間設定KSESにおける設定内容の一例を示している。
セキュリティ時間設定KSESのビット番号[7−6]は、乱数用クロックRCLKの周波数を監視する場合に異常が検出される周波数を示す乱数用クロック異常検出設定である。図9(B)は、セキュリティ時間設定KSESのビット番号[7−6]における設定内容の一例を示している。セキュリティ時間設定KSESのビット番号[7−6]は、内部システムクロックSCLKの周波数に基づき、乱数用クロックRCLKの周波数が異常と検知される基準値(判定値)を指定する。セキュリティ時間設定KSESのビット番号「5」は、固定のビット値“0”が設定される。
セキュリティ時間設定KSESのビット番号[4−3]は、セキュリティ時間をシステムリセット毎にランダムな時間分延長する場合の時間設定を示す。図9(C)は、セキュリティ時間設定KSESのビット番号[4−3]における設定内容の一例を示している。図9(C)に示す例において、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”であれば、ランダムな時間延長を行わない設定となる。これに対して、そのビット値が“01”であればショートモードの設定となり、“10”であればロングモードの設定となる。ここで、ショートモードやロングモードが指定された場合には、例えばメイン制御部41に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時にメイン制御部41が備える所定の内蔵レジスタ(可変セキュリティ時間用レジスタ)に格納する。そして、初期設定時に可変セキュリティ時間用レジスタの格納値をそのまま用いること、或いは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、セキュリティ時間を延長する際の延長時間がランダムに決定されれば良い。一例として、内部システムクロックSCLKの周波数が6.0MHzである場合には、ショートモードにおいて0〜680μs(マイクロ秒)の範囲で延長時間がランダムに決定され、ロングモードにおいて0〜348,160μsの範囲で延長時間がランダムに決定される。また、他の一例として、内部システムクロックSCLKの周波数が10.0MHzである場合には、ショートモードにおいて0〜408μsの範囲で延長時間がランダムに決定され、ロングモードにおいて0〜208,896μsの範囲で延長時間がランダムに決定される。尚、セキュリティ時間を延長する際の延長時間をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタは、乱数回路509にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタと、同一のカウンタであっても良いし、別個に設けられたカウンタであっても良い。
セキュリティ時間設定KSESのビット番号[2−0]は、セキュリティ時間を固定時間に加えて予め選択可能な複数の延長時間のいずれかとする場合の時間設定を示す。図9(D)は、セキュリティ時間設定KSESのビット番号[2−0]における設定内容の一例を示している。図9(D)に示す例において、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”であれば、固定時間に加える延長時間がなく延長しない設定となる。これに対して、そのビット値が“000”以外の値であれば、内部システムクロックSCLKの周期TSCLKを用いて定められる複数の延長時間のいずれかに設定される。この場合には、指定されたビット値に応じて、異なる延長時間の設定となる。一例として、内部システムクロックSCLKの周波数が6.0MHzである場合に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“001”であれば、固定時間に加えて約699.1ms(ミリ秒)の延長時間が設定される。また、他の一例として、内部システムクロックSCLKの周波数が10.0MHzである場合に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“001”であれば、固定時間に加えて約419.4msの延長時間が設定される。
また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値によりショートモード又はロングモードを設定するとともに、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外とすることにより固定時間に加える延長時間を設定することもできる。この場合には、ビット番号[2−0]におけるビット値に対応した延長時間と、ビット番号[4−3]におけるビット値に基づいてランダムに決定された延長時間との双方が、固定時間に加算されて、メイン制御部41がセキュリティモードとなるセキュリティ時間が決定されることになる。
図4(A)に示すメイン制御部41が備える外部バスインタフェース501は、メイン制御部41を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース501は、メイン制御部41に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであれば良い。この実施の形態において、外部バスインタフェース501には、内部リソースアクセス制御回路501Aが含まれている。
内部リソースアクセス制御回路501Aは、外部バスインタフェース501を介した外部装置からメイン制御部41の内部データに対するアクセスを制御して、例えばROM506に記憶されたゲーム制御用プログラムや固定データといった、内部データの不適切な外部読出を制限するための回路である。ここで、外部バスインタフェース501には、例えばインサーキットエミュレータ(ICE)といった回路解析装置が、外部装置として接続されることがある。
一例として、ROM506のプログラム管理エリアに記憶されたヘッダKHDRの内容に応じて、ROM506における記憶データの読み出しを禁止するか許可するかを切り替えられるようにする。例えば、ヘッダKHDRがバス出力マスク無効データとなっている場合には、外部装置によるROM506の読み出しを可能にして、内部データの外部読出を許可する。これに対して、ヘッダKHDRがバス出力マスク有効データとなっている場合には、例えば外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることなどにより、外部装置からROM506の読み出しを不能にして、内部データの外部読出を禁止する。この場合、外部バスインタフェース501に接続された外部装置から内部データの読み出しが要求されたときには、予め定められた固定値を出力することで、外部装置からは内部データを読み出すことができないようにする。また、ヘッダKHDRがROM読出禁止データとなっている場合には、ROM506自体を読出不能として、ROM506における記憶データの読み出しを防止しても良い。そして、例えば製造段階のROMでは、ヘッダKHDRをROM読出禁止データとすることで、ROM自体を読出不能としておき、開発用ROMとするのであればバス出力マスク無効データをヘッダKHDRに書き込むことで、外部装置による内部データの検証を可能にする。これに対して、量産用ROMとするのであればバス出力マスク有効データをヘッダKHDRに書き込むことで、CPU505などによるメイン制御部41の内部におけるROM506の読み出しは可能とする一方で、外部装置によるROM506の読み出しはできないようにすれば良い。
他の一例として、内部リソースアクセス制御回路501Aは、ROM506における記憶データの全部又は一部といった、メイン制御部41の内部データの読み出しが、外部バスインタフェース501に接続された外部装置から要求されたことを検出する。この読出要求を検出したときに、内部リソースアクセス制御回路501Aは、メイン制御部41の内部データの読み出しを許可するか否かの判定を行う。例えば、ROM506における記憶データの全部又は一部に暗号化処理が施されているものとする。この場合、内部リソースアクセス制御回路501Aは、外部装置からの読出要求がROM506に記憶された暗号化処理プログラムや鍵データ等に対する読出要求であれば、この読出要求を拒否して、メイン制御部41の内部データの読み出しを禁止する。外部バスインタフェース501では、ROM506の記憶データが出力される出力ポートと、内部バスとの間にスイッチ素子を設け、内部リソースアクセス制御回路501Aが内部データの読み出しを禁止した場合には、このスイッチ素子をオフ状態とするように制御すれば良い。このように、内部リソースアクセス制御回路501Aは、外部装置からの読出要求が所定の内部データ(例えばROM506の所定領域)の読み出しを要求するものであるか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。
或いは、内部リソースアクセス制御回路501Aは、内部データの読出要求を検出したときに、所定の認証コードが外部装置から入力されたか否かを判定しても良い。この場合には、例えば内部リソースアクセス制御回路501Aの内部或いはROM506の所定領域に、認証コードとなる所定のコードパターンが予め記憶されていれば良い。そして、外部装置から認証コードが入力されたときには、この認証コードを内部記憶された認証コードと比較して、一致すれば読出要求を受容して、メイン制御部41の内部データの読み出しを許可する。これに対して、外部装置から入力された認証コードが内部記憶された認証コードと一致しない場合には、読出要求を拒否して、メイン制御部41の内部データの読み出しを禁止する。このように、内部リソースアクセス制御回路501Aは、外部装置から入力された認証コードが内部記憶された認証コードと一致するか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。これにより、検査機関などが予め知得した正しい認証コードを用いて、メイン制御部41の内部データを損なうことなく読み出すことができ、内部データの正当性を適切に検査することなどが可能になる。
さらに他の一例として、内部リソースアクセス制御回路501Aに読出禁止フラグを設け、読出禁止フラグがオン状態であれば外部装置によるROM506の読み出しを禁止する。その一方で、読出禁止フラグがオフ状態であるときには、外部装置によるROM506の読み出しが許可される。ここで、読出禁止フラグは、初期状態ではオフ状態であるが、読出禁止フラグを一旦オン状態とした後には、読出禁止フラグをクリアしてオフ状態に復帰させることができないように構成されていれば良い。すなわち、読出禁止フラグはオフ状態からオン状態に不可逆的に変更することが可能とされている。例えば、内部リソースアクセス制御回路501Aには、読出禁止フラグをクリアしてオフ状態とする機能が設けられておらず、どのような命令によっても読出禁止フラグをクリアすることができないように設定されていれば良い。そして、内部リソースアクセス制御回路501Aは、外部装置からROM506における記憶データといったメイン制御部41の内部データの読み出しが要求されたときに、読出禁止フラグがオンであるか否かを判定する。このとき、読出禁止フラグがオンであれば、外部装置からの読出要求を拒否して、メイン制御部41の内部データの読み出しを禁止する。他方、読出禁止フラグがオフであれば、外部装置からの読出要求を受容して、メイン制御部41の内部データの読み出しを許可にする。このような構成であれば、ゲーム制御用のプログラムを作成してROM506に格納する提供者においては、読出禁止フラグがオフとなっている状態でデバッグの終了したプログラムをROM506から外部装置に読み込むことができる。そして、デバッグの作業が終了した後に出荷する際には、読出禁止フラグをオン状態にセットすることにより、それ以後はROM506の外部読出を制限することができ、スロットマシン1の使用者などによるROM506の読出を防止することができる。このように、内部リソースアクセス制御回路501Aは、読出禁止フラグといった内部フラグがオフであるかオンであるかに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。
尚、読出禁止フラグを不可逆に設定するのではなく、オン状態からオフ状態に変更することも可能とする一方で、読出禁止フラグをオン状態からオフ状態に変更して内部データの読み出しが許可されるときには、ROM506の記憶データを消去(例えばフラッシュ消去など)することにより、ROM506の外部読出を制限するようにしても良い。
メイン制御部41が備えるクロック回路502は、例えば制御用外部クロック端子EXCに入力される発振信号を2分周することなどにより、内部システムクロックSCLKを生成する回路である。本実施例では、制御用外部クロック端子EXCに制御用クロック生成回路42が生成した制御用クロックCCLKが入力される。クロック回路502により生成された内部システムクロックSCLKは、例えばCPU505といった、メイン制御部41において遊技の進行を制御する各種回路に供給される。また、内部システムクロックSCLKは、乱数回路509にも供給され、乱数用クロック生成回路43から供給される乱数用クロックRCLKの周波数を監視するために用いられる。さらに、内部システムクロックSCLKは、クロック回路502に接続されたシステムクロック出力端子CLKOから、メイン制御部41の外部へと出力されても良い。尚、内部システムクロックSCLKは、メイン制御部41の外部へは出力されないことが望ましい。このように、内部システムクロックSCLKの外部出力を制限することにより、メイン制御部41の内部回路(CPU505など)の動作周期を外部から特定することが困難になり、乱数値となる数値データをソフトウェアにより更新する場合に、乱数値の更新周期が外部から特定されてしまうことを防止できる。
メイン制御部41が備える固有情報記憶回路503は、例えばメイン制御部41の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路503は、ROMコード、チップ個別ナンバー、IDナンバーといった3種類の固有情報を記憶する。ROM506コードは、ROM506の所定領域における記憶データから生成される4バイトの数値であり、生成方法の異なる4つの数値が準備されれば良い。チップ個別ナンバーは、メイン制御部41の製造時に付与される4バイトの番号であり、メイン制御部41を構成するチップ毎に異なる数値を示している。IDナンバーは、メイン制御部41の製造時に付与される8バイトの番号であり、メイン制御部41を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、IDナンバーはユーザプログラムから読み取ることができないように設定されていれば良い。尚、固有情報記憶回路503は、例えばROM506の所定領域を用いることなどにより、ROM506に含まれるようにしても良い。或いは、固有情報記憶回路503は、例えばCPU505の内蔵レジスタを用いることなどにより、CPU505に含まれるようにしても良い。
メイン制御部41が備えるリセット/割込コントローラ504は、メイン制御部41の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット/割込コントローラ504が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子XSRSTに一定の期間にわたりローレベル信号(システムリセット信号)が入力されたときに発生するリセットである。ユーザリセットは、外部ユーザリセット端子XURSTに一定の期間にわたりローレベルの信号(ユーザリセット信号)が入力されたとき、または内蔵ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したことや、指定エリア外走行禁止(IAT)が発生したことなど、所定の要因により発生するリセットである。尚、本実施例では前述のように内蔵ウォッチドッグタイマを使用せずにリセット回路49に搭載されたウォッチドッグタイマ(WDT)を用いているため、外部ユーザリセット端子XURSTにユーザリセット信号が入力されるか、指定エリア外走行禁止(IAT)が発生することでユーザリセットが発生することとなる。
本実施例では、図4(B)に示すように、ウォッチドッグタイマ49aを内蔵するリセット回路49を遊技制御基板40に搭載している。リセット回路49は、スロットマシン1への供給電源が安定電圧となり一定時間が経過するまでシステムリセット信号をメイン制御部41に対して出力する。また、ウォッチドッグタイマ49aがタイムアウトした場合には、ユーザリセット信号をメイン制御部41に対して出力する。
図4(B)に示すように、遊技制御基板40では、LED駆動回路47からクレジット表示器11へ接続される信号線のうち、クレジット表示器11を構成する複数のセグメントの駆動信号のうち下1桁Bセグメント信号、下1桁Cセグメント信号、上1桁Bセグメント信号、上1桁Cセグメント信号の信号線が分岐し、or回路を介してリセット回路49のウォッチドッグタイマクリア信号端子に接続されている。
本実施例では、メイン制御部41が、クレジット表示器11の下1桁Bセグメント、下1桁Cセグメント、上1桁Bセグメント、上1桁Cセグメントのいずれかのセグメントを必ずダイナミック点灯させる制御を行っており、これらのセグメントをダイナミック点灯させるため、メイン制御部41が正常に動作していれば、これら4つのセグメントのいずれかの駆動信号が定期的に出力されるはずであり、これら4つのセグメントのいずれかの駆動信号が定期的に出力されているか否かを監視することにより、メイン制御部41が正常に動作しているか否かを判定することが可能となる。
そして、これら4つのセグメントの駆動信号をor回路を介して1つにまとめられた信号がリセット回路49のウォッチドッグタイマクリア信号端子に入力され、ウォッチドッグタイマ49aがクリアされるようになっており、上記4つのセグメントの駆動信号の出力が停止して、ウォッチドッグタイマ49aがクリアされず、タイムアップすることで、ユーザリセット信号がメイン制御部41に対して出力されるようになっている。
このように本実施例では、定期的に駆動信号が与えられるLEDのセグメント信号を分岐してウォッチドッグタイマ49aをクリアするようになっており、メイン制御部41のCPU505が個別にウォッチドッグタイマ49aをクリアする処理を行うことなく、メイン制御部41が正常に動作しているか否かを監視することが可能となることから好ましいが、メイン制御部41からリセット回路49のウォッチドッグタイマクリア信号端子に個別のクリア信号を入力することでウォッチドッグタイマ49aをクリアするようにしても良い。
また、本実施例では、メイン制御部41の外部に設けられたリセット回路49にウォッチドッグタイマ49aを搭載する構成であるが、メイン制御部41に内蔵されたウォッチドッグタイマを用いてメイン制御部41の動作を監視するようにしても良い。
リセット/割込コントローラ504が制御する割込には、ノンマスカブル割込NMIとマスカブル割込INTが含まれている。ノンマスカブル割込NMIは、CPU505の割込禁止状態でも無条件に受け付けられる割込であり、外部ノンマスカブル割込端子XNMI(入力ポートP4と兼用)に一定の期間にわたりローレベル信号が入力されたときに発生する割込である。マスカブル割込INTは、CPU505の設定命令により、割込要求の受け付けを許可/禁止できる割込であり、優先順位設定による多重割込の実行が可能である。マスカブル割込INTの要因としては、外部マスカブル割込端子XINT(入力ポートP3と兼用)に一定の期間にわたりローレベル信号が入力されたこと、CTC508に含まれるタイマ回路にてタイムアウトが発生したこと、シリアル通信回路511にてデータ送信による割込要因が発生したこと、乱数回路509にて乱数値となる数値データの取込による割込要因が発生したことなど、複数種類の割込要因が予め定められていれば良い。
リセット/割込コントローラ504は、図6(B)に示すようなメイン制御部41が備える内蔵レジスタのうち、割込マスクレジスタIMR(アドレス2028H)、割込待ちモニタレジスタIRR(アドレス2029H)、割込中モニタレジスタISR(アドレス202AH)、内部情報レジスタCIF(アドレス208CH)などを用いて、割込の制御やリセットの管理を行う。割込マスクレジスタIMRは、互いに異なる複数の要因によるマスカブル割込INTのうち、使用するものと使用しないものとを設定するレジスタである。割込待ちモニタレジスタIRRは、割込初期設定KIISにより設定されたマスカブル割込要因のそれぞれについて、マスカブル割込要求信号の発生状態を確認するレジスタである。割込中モニタレジスタISRは、割込初期設定KIISにより設定されたマスカブル割込要因のそれぞれについて、マスカブル割込要求信号の処理状態を確認するレジスタである。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数用クロックRCLKの周波数異常を記録したりするためのレジスタである。
図10(A)は、内部情報レジスタCIFの構成例を示している。図10(B)は、内部情報レジスタCIFに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4は、乱数用クロックRCLKにおける周波数異常の有無を示す乱数用クロック異常指示である。図10(B)に示す例では、乱数用クロックRCLKの周波数異常が検知されないときに、内部情報データCIF4のビット値が“0”となる一方、周波数異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[2]に格納される内部情報データCIF2は、直前に発生したリセット要因がシステムリセットであるか否かを示すシステムリセット指示である。図10(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データCIF2のビット値が“0”となる一方、システムリセットであるときには(システムリセット発生)、そのビット値が“1”となる。
内部情報レジスタCIFのビット番号[1]に格納される内部情報データCIF1は、直前に発生したリセット要因がウォッチドッグタイマ(WDT)のタイムアウトによるユーザリセットであるか否かを示すWDTタイムアウト指示である。図10(B)に示す例では、直前のリセット要因がウォッチドッグタイマのタイムアウトによるユーザリセットではないときに(タイムアウト未発生)、内部情報データCIF1のビット値が“0”となる一方、ウォッチドッグタイマのタイムアウトによるユーザリセットであるときに(タイムアウト発生)、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[0]に格納される内部情報データCIF0は、直前に発生したリセット要因が指定エリア外走行禁止(IAT)によるユーザリセットであるか否かを示すIAT発生指示である。図10(B)に示す例では、直前のリセット要因が指定エリア外走行の発生によるユーザリセットではないときに(IAT発生なし)、内部情報データCIF0のビット値が“0”となる一方、指定エリア外走行の発生によるユーザリセットであるときに(IAT発生あり)、そのビット値が“1”となる。
メイン制御部41が備えるCPU505は、ROM506から読み出したプログラムを実行することにより、スロットマシン1におけるゲームの進行を制御するための処理などを実行する。このときには、CPU505がROM506から固定データを読み出す固定データ読出動作や、CPU505がRAM507に各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU505がRAM507に一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU505が外部バスインタフェース501やPIP510などを介してメイン制御部41の外部から各種信号の入力を受け付ける受信動作、CPU505が外部バスインタフェース501やシリアル通信回路511などを介してメイン制御部41の外部へと各種信号を出力する送信動作等も行われる。
このように、メイン制御部41では、CPU505がROM506に格納されているプログラムに従って制御を実行するので、以下、メイン制御部41(又はCPU505)が実行する(又は処理を行う)ということは、具体的には、CPU505がプログラムに従って制御を実行することである。このことは、遊技制御基板40以外の他の基板に搭載されているマイクロコンピュータについても同様である。
メイン制御部41が備えるROM506には、ゲーム制御用のユーザプログラムや固定データ等が記憶されている。また、ROM506には、セキュリティチェックプログラム506Aが記憶されている。CPU505は、スロットマシン1の電源投入やシステムリセットの発生に応じてメイン制御部41がセキュリティモードに移行したときに、ROM506に記憶されたセキュリティチェックプログラム506Aを読み出し、ROM506の記憶内容が変更されたか否かを検査するセキュリティチェック処理を実行する。尚、セキュリティチェックプログラム506Aは、ROM506とは異なる内蔵メモリに記憶されても良い。また、セキュリティチェックプログラム506Aは、例えば外部バスインタフェース501を介してメイン制御部41に外付けされた外部メモリの記憶内容を検査するセキュリティチェック処理に対応したものであっても良い。
メイン制御部41が備えるRAM507は、ゲーム制御用のワークエリアを提供する。ここで、RAM507の少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシンへの電力供給が停止しても、所定期間はRAM507の少なくとも一部の内容が保存される。尚、本実施例では、RAM507の全ての領域がバックアップRAMとされており、スロットマシンへの電力供給が停止しても、所定期間はRAM507の全ての内容が保存される。
メイン制御部41が備えるCTC508は、例えば8ビットのプログラマブルタイマを3チャネル(PTC0−PTC2)内蔵して構成され、リアルタイム割込の発生や時間計測を可能とするタイマ回路を含んでいる。各プログラマブルタイマPTC0−PTC2は、内部システムクロックSCLKに基づいて生成されたカウントクロックの信号変化(例えばハイレベルからローレベルへと変化する立ち下がりタイミング)などに応じて、タイマ値が更新されるものであれば良い。また、CTC508は、例えば8ビットのプログラマブルカウンタを4チャネル(PCC0−PCC3)内蔵しても良い。各プログラマブルカウンタPCC0−PCC3は、内部システムクロックSCLKの信号変化、或いは、プログラマブルカウンタPCC0−PCC3のいずれかにおけるタイムアウトの発生などに応じて、カウント値が更新されるものであれば良い。CTC508は、セキュリティ時間を延長する際の延長時間(可変設定時間)をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタや、乱数回路509にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタなどを、含んでも良い。或いは、これらのフリーランカウンタは、例えばRAM507のバックアップ領域といった、CTC508とは異なるメイン制御部41の内部回路に含まれても良い。
メイン制御部41が備える乱数回路509は、例えば16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、遊技制御基板40の側において、後述する内部抽選用の乱数値を示す数値データがカウント可能に制御される。尚、遊技効果を高めるために、これら以外の乱数値が用いられても良い。CPU505は、乱数回路509から抽出した数値データに基づき、乱数回路509とは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工或いは更新することで、内部抽選用の乱数値を示す数値データをカウントするようにしても良い。以下では、内部抽選用の乱数値を示す数値データが、ハードウェアとなる乱数回路509からCPU505により抽出された数値データをソフトウェアにより加工しないものとする。尚、乱数回路509は、メイン制御部41に内蔵されるものであっても良いし、メイン制御部41とは異なる乱数回路チップとして、メイン制御部41に外付けされるものであっても良い。
内部抽選用の乱数値は、複数種類の入賞について発生を許容するか否かを判定するために用いられる値であり、本実施例では、「0」〜「65535」の範囲の値をとる。
図11は、乱数回路509の一構成例を示すブロック図である。乱数回路509は、図11に示すように、周波数監視回路551、クロック用フリップフロップ552、乱数生成回路553、スタート値設定回路554、乱数列変更回路555、乱数列変更設定回路556、ラッチ用フリップフロップ557A、557B、乱数ラッチセレクタ558A、558B、乱数値レジスタ559A、559Bを備えて構成される。尚、乱数値レジスタ559Aと乱数値レジスタ559Bはそれぞれ、図6(B)に示すようなメイン制御部41の内蔵レジスタに含まれる乱数値レジスタR1D(アドレス2038H−2039H)と乱数値レジスタR2D(アドレス203AH−203BH)に対応している。尚、本実施例では、取得する乱数が内部抽選用の乱数値のみであり、ラッチ用フリップフロップ557A、557B、乱数ラッチセレクタ558A、558B、乱数値レジスタ559A、559Bのうちラッチ用フリップフロップ557B、乱数ラッチセレクタ558B、乱数値レジスタ559Bは未使用とされている。
周波数監視回路551は、乱数用クロック生成回路43により生成された乱数用クロックRCLKの周波数を監視して、その異常発生を検知するための回路である。周波数監視回路551は、例えば乱数用外部クロック端子ERCに入力される発振信号を監視して、内部システムクロックSCLKに基づきセキュリティ時間設定KSESのビット番号[7−6]における設定内容(図9(B)参照)に応じた周波数異常を検知したときに、内部情報レジスタCIFのビット番号[4]を“1”にセットする。本実施例では、乱数用外部クロック端子ERCに乱数用クロック生成回路43が生成した乱数用クロックRCLKが入力される。
クロック用フリップフロップ552は、例えばD型フリップフロップなどを用いて構成され、乱数用外部クロック端子ERCからの乱数用クロックRCLKがクロック端子CKに入力される。また、クロック用フリップフロップ552では、逆相出力端子(反転出力端子)QバーがD入力端子に接続されている。そして、正相出力端子(非反転出力端子)Qから乱数更新クロックRGKを出力する一方で、逆相出力端子(反転出力端子)Qバーからラッチ用クロックRC0を出力する。この場合、クロック用フリップフロップ552は、クロック端子CKに入力される乱数用クロックRCLKにおける信号状態が所定の変化をしたときに、正相出力端子(非反転出力端子)Q及び逆相出力端子(反転出力端子)Qバーからの出力信号における信号状態を変化させる。例えば、クロック用フリップフロップ552は、乱数用クロックRCLKの信号状態がローレベルからハイレベルへと変化する立上りのタイミング、或いは、乱数用クロックRCLKの信号状態がハイレベルからローレベルへと変化する立ち下がりのタイミングのうち、いずれか一方のタイミングにて、D入力端子における入力信号を取り込む。このとき、正相出力端子(非反転出力端子)Qからは、D入力端子にて取り込まれた入力信号が反転されることなく出力される一方で、逆相出力端子(反転出力端子)Qバーからは、D入力端子にて取り込まれた入力信号が反転されて出力される。こうして、クロック用フリップフロップ552の正相出力端子(非反転出力端子)Qからは乱数用クロックRCLKにおける発振周波数(例えば20MHz)の1/2となる発振周波数(例えば10MHz)を有する乱数更新クロックRGKが出力される一方、逆相出力端子(反転出力端子)Qバーからは乱数更新クロックRGKの逆相信号(反転信号)、すなわち乱数更新クロックRGKと同一周波数で乱数更新クロックRGKとは位相がπ(=180°)だけ異なるラッチ用クロックRC0が出力される。
クロック用フリップフロップ552から出力された乱数更新クロックRGKは、乱数生成回路553のクロック端子に入力されて、乱数生成回路553におけるカウント値の歩進に用いられる。また、クロック用フリップフロップ552から出力されたラッチ用クロックRC0は、分岐点BR1にてラッチ用クロックRC1とラッチ用クロックRC2とに分岐される。したがって、ラッチ用クロックRC1とラッチ用クロックRC2とは、互いに同一の発振周波数を有し、互いに共通の周期で信号状態が変化することになる。ここで、ラッチ用クロックRC1やラッチ用クロックRC2における信号状態の変化としては、例えばローレベルからハイレベルへと変化する立上りや、ハイレベルからローレベルへと変化する立ち下がりなどがある。ラッチ用クロックRC1は、ラッチ用フリップフロップ557Aのクロック端子CKに入力されて、ゲーム開始時ラッチ信号SL1の生成に用いられる乱数取得用クロックとなる。
乱数用クロックRCLKの発振周波数と、制御用クロック生成回路42によって生成される制御用クロックCCLKの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。一例として、制御用クロックCCLKの発振周波数が11.0MHzである一方で、乱数用クロックRCLKの発振周波数は9.7MHzであれば良い。そのため、乱数更新クロックRGKやラッチ用クロックRC1、RC2はいずれも、CPU505に供給される制御用クロックCCLKとは異なる周期で信号状態が変化する発振信号となる。すなわち、クロック用フリップフロップ552は、乱数用クロック生成回路43によって生成された乱数用クロックRCLKに基づき、カウント値を更新するための乱数更新クロックRGKや、複数の乱数取得用クロックとなるラッチ用クロックRC1、RC2として、制御用クロックCCLKや内部システムクロックSCLK(制御用クロックCCLKを2分周したもの)とは異なる周期で信号状態が変化する発振信号を生成する。
乱数生成回路553は、例えば16ビットのカウンタなどから構成され、クロック用フリップフロップ552から出力される乱数更新クロックRGKなどの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路553は、所定のクロック端子への入力信号である乱数更新クロックRGKにおける立上りエッジに応答して、「0」から「65535」までの範囲内で設定された初期値から「65535」まで1ずつ加算するように数値データをカウントアップして行く。そして、「65535」までカウントアップした後には、「0」から初期値よりも1小さい最終値となる数値まで1ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
スタート値設定回路554は、第2乱数初期設定KRS2のビット番号[1−0]におけるビット値(図8(B)参照)に応じて、乱数生成回路553により生成されるカウント値におけるスタート値を設定する。例えば、スタート値設定回路554は、第2乱数初期設定KRS2のビット番号[1−0]が“00”であればスタート値をデフォルト値である「0000H」に設定し、“10”であればIDナンバーに基づく値に設定し、“01”であればシステムリセット毎に変更される値に設定する。本実施例では、第2乱数初期設定KRS2のビット番号[1−0]が“10”に設定されており、乱数生成回路553により生成されるカウント値におけるスタート値としてIDナンバーに基づく値が設定される。
乱数列変更回路555は、乱数生成回路553により生成された数値データが一巡したときに、数値データの更新順である順列を所定の乱数更新規則に従った順列に変更可能とする回路である。例えば、乱数列変更回路555は、乱数生成回路553から出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する。また、乱数列変更回路555は、例えばビットスクランブル処理に用いるビットスクランブル用キーやビットスクランブルテーブルを変更することなどにより、数値データの更新順である順列の変更を行うことができる。
乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値(図8(A)参照)などに応じて、乱数列変更回路555における数値データの更新順を変更する設定を行うための回路である。例えば、乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“00”であれば2周目以降も乱数更新規則を変更しない設定とする一方、“01”であれば2周目以降はソフトウェアでの変更要求に応じて乱数更新規則を変更し、“10”であれば自動で乱数更新規則を変更する。本実施例では、第1乱数初期設定KRS1のビット番号[1−0]が“10”に設定されており、自動で乱数更新規則が変更される。
乱数列変更設定回路556は、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応してソフトウェアによる乱数更新規則の変更を行う場合に、図6(B)に示すようなメイン制御部41が備える内蔵レジスタのうち、乱数列変更レジスタRDSC(アドレス2034H)を用いて、乱数更新規則の変更を制御する。図12(A)は、乱数列変更レジスタRDSCの構成例を示している。図12(B)は、乱数列変更レジスタRDSCに格納される乱数列変更要求データの各ビットにおける設定内容の一例を示している。乱数列変更レジスタRDSCのビット番号[0]に格納される乱数列変更要求データRDSC0は、乱数更新規則をソフトウェアにより変更する場合に、乱数列の変更要求の有無を示している。図12(B)に示す例では、ソフトウェアにより乱数列の変更要求がないときに、乱数列変更要求データRDSC0のビット値が“0”となる一方、乱数列の変更要求があったときには、そのビット値が“1”となる。
図13は、乱数更新規則をソフトウェアにより変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたときに、乱数列変更要求データRDSC0が“1”であることに応答して、乱数更新規則を変更する。図13に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。この後、CPU505がROM506に格納されたユーザプログラムを実行することによって、所定のタイミングで乱数列変更レジスタRDSCのビット番号[0]に“1”が書き込まれたものとする。
そして、第1乱数初期設定KRS1のビット番号[1−0]が“01”であることに対応して、乱数列変更設定回路556が乱数列変更要求データRDSC0を読み出し、そのビット値が“1”であることに応答して、乱数更新規則を変更するための設定を行う。このとき、乱数列変更設定回路556は、乱数生成回路553から出力されたカウント値順列RCNが所定の最終値に達したことに応じて、例えば予め用意された複数種類の乱数更新規則のいずれかを選択することなどにより、乱数更新規則を変更する。図13に示す動作例では、乱数列変更回路555が乱数生成回路553から出力されたカウント値順列RCNにおける最終値に対応する数値データ「65535」を出力した後、乱数列変更要求データRDSC0に応じて乱数更新規則を変更する。その後、乱数列変更回路555は、変更後の乱数更新規則に従った乱数列RSNとして、「65535→65534→…→0」を出力する。乱数列変更レジスタRDSCは、乱数列変更設定回路556により乱数列変更要求データRDSC0が読み出されたときに初期化される。そのため、再び乱数列変更レジスタRDSCのビット番号[0]にビット値“1”が書き込まれるまでは、乱数列変更回路555から出力される乱数列RSNが、「65535→65534→…→0」となる。
CPU505によって、乱数列変更レジスタRDSCのビット番号[0]に再びビット値“1”が書き込まれると、乱数更新規則が再度変更される。図13に示す動作例では、乱数列変更回路555が乱数列RSNにおける最終値に対応する数値データ「0」を出力したときに、乱数列変更要求データRDSC0としてビット値“1”が書き込まれたことに応じて乱数更新規則を変更する。その後、乱数列変更回路555は、変更後の乱数更新規則に従った乱数列RSNとして、「0→2→…→65534→1→…→65535」を出力する。
図14は、乱数更新規則を自動で変更する場合の動作例を示している。この場合、乱数生成回路553から出力されるカウント値順列RCNが所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更設定回路556が自動的に乱数更新規則を変更する。図14に示す動作例では、始めに乱数列変更回路555から出力される乱数列RSNが、「0→1→…→65535」となっている。
そして、乱数列変更回路555から出力された乱数列RSNが所定の最終値に達したときに、乱数列変更設定回路556は、予め用意された複数種類の更新規則のうちから予め定められた順序に従って更新規則を選択することにより、更新規則を変更するようにしても良い。或いは、乱数列変更設定回路556は、複数種類の更新規則のうちから任意の更新規則を選択することにより、更新規則を変更するようにしても良い。図14に示す動作例では、1回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNが、「65535→65534→…→0」となる。その後、2回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「0→2→…→65534→1→…→65535」となる。図14に示す動作例では、3回目の乱数更新規則の変更により、乱数列変更回路555から出力される乱数列RSNは、「65534→0→…→32768」となる。4回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「16383→49151→…→49150」となる。5回目の乱数更新規則の変更が行われたときには、乱数列変更回路555から出力される乱数列RSNが、「4→3→…→465531」となる。
ラッチ用フリップフロップ557Aは、例えばD型フリップフロップなどを用いて構成される。ラッチ用フリップフロップ557Aでは、D入力端子にPIP510が備える入力ポートP0からの配線が接続され、クロック端子CKにラッチ用クロックRC1を伝送する配線が接続されている。本実施例では、入力ポートP0にスタートスイッチ7からのゲーム開始信号SS1が入力される。ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立上りエッジなどに応答して、ゲーム開始信号SS1を取り込み、ゲーム開始時ラッチ信号SL1として出力する。これにより、ラッチ用フリップフロップ557Aでは、ラッチ用クロックRC1の立上りエッジに同期して、ゲーム開始信号SS1がゲーム開始時ラッチ信号SL1として出力される。
尚、ゲーム開始信号SS1は、スタートスイッチ7から直接伝送されるものに限定されない。一例として、スタートスイッチ7からの出力信号がオン状態となっている時間を計測し、計測した時間が所定の時間(例えば3ms)になったときに、ゲーム開始信号SS1を出力するタイマ回路を設けても良い。
乱数ラッチセレクタ558Aは、ラッチ用フリップフロップ557Aから伝送されるゲーム開始時ラッチ信号SL1と、ソフトウェアによる乱数ラッチ要求信号とを取り込み、いずれかを乱数ラッチ信号LL1として選択的に出力する回路である。乱数ラッチセレクタ558Aは、図6(B)に示すようなメイン制御部41が備える内蔵レジスタのうち、乱数値取込レジスタRDLT(アドレス2032H)を用いて、乱数ラッチ信号LL1の出力を制御する。乱数値取込レジスタRDLTは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、ソフトウェアにより乱数値レジスタ559Aに取り込むために用いられるレジスタである。乱数ラッチ選択レジスタRDLSは、乱数列変更回路555から出力された乱数列RSNにおける数値データを、乱数値レジスタ559Aに、ソフトウェアにより取り込むか、入力ポートP0への信号入力により取り込むかの取込方法を示すレジスタである。
図15(A)は、乱数値取込レジスタRDLTの構成例を示している。図15(B)は、乱数値取込レジスタRDLTに格納される乱数値取込指定データの各ビットにおける設定内容の一例を示している。乱数値取込レジスタRDLTのビット番号[0]に格納される乱数値取込指定データRDLT0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに対する乱数値取込指定の有無を示している。図15(B)に示す例では、ソフトウェアにより乱数値レジスタR1Dに対する乱数値の取込指定がないときに、乱数値取込指定データRDLT0のビット値が“0”となる一方、乱数値の取込指定があったときには、そのビット値が“1”となる。
図16(A)は、乱数ラッチ選択レジスタRDLSの構成例を示している。図16(B)は、乱数ラッチ選択レジスタRDLSに格納される乱数ラッチ選択データの各ビットにおける設定内容の一例を示している。乱数ラッチ選択レジスタRDLSのビット番号[0]に格納される乱数ラッチ選択データRDLS0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aへの取込方法を示している。図16(B)に示す例では、ソフトウェアによる乱数値取込指定データRDLT0の書き込みに応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合に、乱数ラッチ選択データRDLS0のビット値を“0”とする。これに対して、入力ポートP0への信号入力に応じて乱数値となる数値データを乱数値レジスタR1Dに取り込む場合には、乱数ラッチ選択データRDLS0のビット値を“1”とする。本実施例では、乱数ラッチ選択データRDLS0のビット値が“1”とされており、入力ポートP0への信号入力に応じて乱数値となる数値データが乱数値レジスタR1Dに取り込まれる。
乱数値レジスタ559Aは、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として格納するレジスタである。図17(A)及び(B)は、乱数値レジスタR1Dとなる乱数値レジスタ559Aの構成例を示している。尚、図17(A)は、乱数値レジスタR1Dの下位バイトR1D(L)を示し、図17(B)は、乱数値レジスタR1Dの上位バイトR1D(H)を示している。乱数値レジスタ559Aは16ビット(2バイト)のレジスタであり、16ビットの乱数値を格納することができる。
乱数値レジスタ559Aは、乱数ラッチセレクタ558Aから供給される乱数ラッチ信号LL1がオン状態となったことに応答して、乱数列変更回路555から出力された乱数列RSNにおける数値データを乱数値として取り込んで格納する。乱数値レジスタ559Aは、CPU505から供給されるレジスタリード信号RRS1がオン状態となったときに、読出可能(イネーブル)状態となり、格納されている数値データを内部バス等に出力する。これに対して、レジスタリード信号RRS1がオフ状態であるときには、常に同じ値(例えば「65535H」など)を出力して、読出不能(ディセーブル)状態となれば良い。また、乱数値レジスタ559Aは、乱数ラッチ信号LL1がオン状態である場合に、レジスタリード信号RRS1を受信不可能な状態となるようにしても良い。さらに、乱数値レジスタ559Aは、乱数ラッチ信号LL1がオン状態となるより前にレジスタリード信号RRS1がオン状態となっている場合に、乱数ラッチ信号LL1を受信不可能な状態となるようにしても良い。
乱数値レジスタ559Aは、図6(B)に示すようなメイン制御部41が備える内蔵レジスタのうち、乱数ラッチフラグレジスタRDFM(アドレス2033H)と、乱数割込制御レジスタRDIC(アドレス2031H)とを用いて、乱数ラッチ時の動作管理や割込制御を可能にする。乱数ラッチフラグレジスタRDFMは、乱数値レジスタ559Aに対応して、乱数値となる数値データがラッチされたか否かを示す乱数ラッチフラグを格納するレジスタである。乱数割込制御レジスタRDICは、乱数値レジスタ559Aに乱数値となる数値データがラッチされたときに発生する割込の許可/禁止を設定するレジスタである。
図18(A)は、乱数ラッチフラグレジスタRDFMの構成例を示している。図18(B)は、乱数ラッチフラグレジスタRDFMに格納される乱数ラッチフラグデータの各ビットにおける設定内容の一例を示している。乱数ラッチフラグレジスタRDFMのビット番号[0]に格納される乱数ラッチフラグデータRDFM0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図18(B)に示す例では、乱数値レジスタR1Dに数値データが取り込まれていないときに(乱数値取込なし)、乱数ラッチフラグデータRDFM0のビット値が“0”となる一方、数値データが取り込まれたときには(乱数値取込あり)、そのビット値が“1”となる。乱数ラッチフラグデータRDFM0が“1”の状態、すなわち乱数値レジスタR1Dに数値データが取り込まれている状態では、新たな乱数値の取込要求が発生した場合でも、新たな数値データを乱数値レジスタR1Dに取り込まないようになっており、このような状態では、乱数値レジスタR1Dの数値データが読み出されて、乱数ラッチフラグデータRDFM0がクリアされるまで新たな数値データを乱数値レジスタR1Dに取り込むことが不可能となる。
図19(A)は、乱数割込制御レジスタRDICの構成例を示している。図19(B)は、乱数割込制御レジスタRDICに格納される乱数割込制御データの各ビットにおける設定内容の一例を示している。乱数割込制御レジスタRDICのビット番号[0]に格納される乱数割込制御データRDIC0は、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれたときに発生する割込を、許可するか禁止するかの割込制御設定を示している。図19(B)に示す例では、乱数値レジスタR1Dへの取込時における割込を禁止する場合に(割込禁止)、乱数割込制御データRDIC0のビット値を“0”とする一方、この割込を許可する場合には(割込許可)、そのビット値を“1”とする。本実施例では、乱数割込制御データRDIC0のビット値が“0”に設定されており、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれても割込は発生しない。
メイン制御部41が備えるPIP510は、例えば6ビット幅の入力専用ポートであり、専用端子となる入力ポートP0〜入力ポートP2と、機能兼用端子となる入力ポートP3〜入力ポートP5とを含んでいる。入力ポートP3は、CPU505等に接続される外部マスカブル割込端子XINTと兼用される。入力ポートP4は、CPU505等に接続される外部ノンマスカブル割込端子XNMIと兼用される。入力ポートP5は、シリアル通信回路511が使用する第1チャネル受信端子RXAと兼用される。入力ポートP3〜入力ポートP5の使用設定は、プログラム管理エリアに記憶される機能設定KFCSにより指示される。
PIP510は、図6(B)に示すようなメイン制御部41が備える内蔵レジスタのうち、入力ポートレジスタPI(アドレス2090H)などを用いて、入力ポートP0〜入力ポートP5の状態管理等を行う。入力ポートレジスタPIは、入力ポートP0〜入力ポートP5のそれぞれに対応して、外部信号の入力状態を示すビット値が格納されるレジスタである。
図20(A)は、入力ポートレジスタPIの構成例を示している。図20(B)は、入力ポートレジスタPIに格納される入力ポートデータの各ビットにおける設定内容の一例を示している。入力ポートレジスタPIのビット番号[5]に格納される入力ポートデータPI5は、第1チャネル受信端子RXAと兼用される入力ポートP5における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[4]に格納される入力ポートデータPI4は、外部ノンマスカブル割込端子XNMIと兼用される入力ポートP4における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[3]に格納される入力ポートデータPI3は、外部マスカブル割込端子XINTと兼用される入力ポートP3における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[2]に格納される入力ポートデータPI2は、入力ポートP2における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[1]に格納される入力ポートデータPI1は、入力ポートP1における端子状態(オン/オフ)を示している。入力ポートレジスタPIのビット番号[0]に格納される入力ポートデータPI0は、入力ポートP0における端子状態(オン/オフ)を示している。
図4に示すメイン制御部41が備えるアドレスデコード回路512は、メイン制御部41の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部41の内部回路、或いは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU505からのアクセスが可能となる。
メイン制御部41が備えるROM506には、ゲーム制御用のユーザプログラムやセキュリティチェックプログラム506Aの他に、ゲームの進行を制御するために用いられる各種の選択用データ、テーブルデータなどが格納される。例えば、ROM506には、CPU505が各種の判定や決定、設定を行うために用意された複数の判定テーブルや決定テーブル、設定テーブルなどを構成するデータが記憶されている。また、ROM506には、CPU505が遊技制御基板40から各種の制御コマンドとなる制御信号を送信するために用いられる複数のコマンドテーブルを構成するテーブルデータなどが記憶されている。
メイン制御部41が備えるRAM507には、スロットマシン1におけるゲームの進行を制御するために用いられる各種のデータを保持する領域として、遊技制御用データ保持エリア590が設けられている。RAM507としては、例えばDRAMが使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要になる。CPU505には、このリフレッシュ動作を行うためのリフレッシュレジスタが内蔵されている。例えば、リフレッシュレジスタは8ビットからなり、そのうち下位7ビットはCPU505がROM506から命令フェッチするごとに自動的にインクリメントされる。したがって、リフレッシュレジスタにおける格納値の更新は、CPU505における1命令の実行時間ごとに行われることになる。
メイン制御部41は、シリアル通信回路511を介してサブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。
シリアル通信回路511は、図21に示すように、データレジスタ560、送信データレジスタ561、送信用シフトレジスタ562、ステータスレジスタ563を備える。
データレジスタ560は、CPU505が生成し、内部バスを介して転送されたコマンドデータを一時的にバッファするレジスタであり、データレジスタ560にバッファされたコマンドデータは送信データレジスタ561の空き領域に格納される。
送信データレジスタ561は、送信待ちのコマンドデータが格納されるレジスタである。送信データレジスタ561には、複数のコマンドデータを格納可能な領域が設けられており、最大で32バイトのコマンドデータを格納可能とされている。
送信用シフトレジスタ562は、シリアルデータ化されたコマンドデータが格納されるレジスタであり、送信データレジスタ561に格納されているコマンドデータのうち最も早い段階で格納されたコマンドデータからシリアルデータに変換され、送信用シフトレジスタ562に格納される。そして、送信用シフトレジスタ562にコマンドデータが格納されると直ちにサブ制御部91に対して転送されるようになっている。
ステータスレジスタ563は、コマンドデータを送信中か否かを示す送信完了、送信データレジスタ561にコマンドデータが格納されているか否かを示すデータエンプティ等、シリアル通信回路511の送信状態を示すデータが格納されるレジスタである。送信完了の値として“1”が格納されている場合には、コマンドデータの送信を行っていないか、コマンドデータの送信が完了した旨を示し、“0”が格納されている場合には、コマンドデータの送信中、またはコマンドデータの送信待ちである旨を示す。データエンプティの値として“1”が設定されている場合には、送信データレジスタ561に1以上の送信待ちのコマンドデータが格納されている旨を示し、“0”が格納されている場合には、送信データレジスタ561に送信待ちのコマンドデータが格納されていない旨を示す。
ステータスレジスタ563の値は、内部バスを介してCPU505が参照可能であり、CPU505は、ステータスレジスタ563の値を読み出すことにより、シリアル通信回路511の送信状態を確認できるようになっている。
次にシリアル通信回路511の動作状況を図22に基づいて説明する。
まず、送信データレジスタ561の全ての領域が空の状態であり、送信用シフトレジスタ562によるコマンドデータの送信も行われていない場合には、図22(a)に示すように、送信完了、データエンプティの値は、ともに“1”が設定されている。
図22(b)に示すように、CPU505の転送指令によりコマンドデータ1、2が送信データレジスタ561に格納されると、送信完了、データエンプティの値は、ともに“0”に変化する。
次いで、図22(c)(d)に示すように、送信データレジスタ561に格納されたコマンドデータ1、2のうち先に格納されたコマンドデータ1がシリアルデータに変換され、送信用シフトレジスタ562によってサブ制御部91に対して送信され、コマンドデータ1の送信が完了すると、次に格納されたコマンドデータ2がシリアルデータに変換され、送信用シフトレジスタ562によってサブ制御部91に対して送信されるとともに、最後のコマンドデータがシリアルデータに変換され、送信用シフトレジスタ562に格納され、送信データレジスタ561が空になるとデータエンプティの値が“1”に変化し、図22(e)に示すように、送信用シフトレジスタ562に格納されている最後のコマンドデータの送信も完了すると、送信完了の値も“1”に変化し、全てのコマンドデータの送信が完了した状態となる。
メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態が入力ポートから入力される。そしてメイン制御部41は、これら入力ポートから入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
また、メイン制御部41は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、CTC508に含まれるタイマ回路にてタイムアウトが発生したこと、すなわち一定時間間隔(本実施例では、約0.56ms)毎に後述するタイマ割込処理(メイン)を実行する。
また、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
メイン制御部41は、基本処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
演出制御基板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には、サブCPU91a、ROM91b、RAM91c、I/Oポート91dなどを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部91、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92、演出効果LED52、リールLED55の駆動制御を行うLED駆動回路93、スピーカ53、54からの音声出力制御を行う音声出力回路94、電源投入時または電源遮断時にサブCPU91aにリセット信号を与えるリセット回路95、日付情報及び時刻情報を含む時間情報を出力する時計装置97、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブ制御部91に対して出力する電断検出回路98が搭載されており、サブ制御部91は、メイン制御部から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。
また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。
本実施例のスロットマシン1は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する。
これら外部出力信号は、図23に示すように、メイン制御部41のCPU505の制御により遊技制御基板40より出力され、外部出力基板1000、スロットマシン1が設置される遊技店(ホール)の情報提供端子板1010を介してホールコンピュータなどのホール機器に出力されるようになっている。
遊技制御基板40から外部出力基板1000に対しては、賭数の設定に用いられたメダル数を示すメダルIN信号、入賞の発生により遊技者に付与されたメダル数を示すメダルOUT信号、遊技状態が後述するRB中の旨を示すRB中信号、遊技状態が後述するBB中の旨を示すBB中信号、前面扉1bが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット34の異常を示す払出エラー信号がそれぞれ出力される。
尚、本実施例では、チャレンジタイム(リールの滑りコマ数が制限されるものの、全ての小役について入賞が許容される遊技状態)や、チャレンジタイムが高確率となるチャレンジボーナスを搭載していないが、これらの遊技状態を搭載したスロットマシンとの共通化を図るため、遊技制御基板40と外部出力基板1000との間には、上記の信号を出力する信号線に加えて、遊技状態がチャレンジタイム中の旨を示すCT中信号、遊技状態がチャレンジボーナス中の旨を示すCB中信号を出力する信号線が接続されており、さらに将来拡張する可能性のあるエラー出力用の信号線が接続されている。
外部出力基板1000には、リレー回路1001、パラレル・シリアル変換回路1002、出力信号毎の端子が設けられ、情報提供端子板1010の回路と電気的に接続するための接続されるコネクタ1003が設けられている。
遊技制御基板40から出力された信号のうち、メダルIN信号、メダルOUT信号、RB中信号、BB中信号、(CT中信号、CB中信号)は、リレー回路1001を介して、そのままパルス信号として情報提供端子板1010に出力される。
これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号、(予備信号)は、パラレル・シリアル変換回路1002にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して情報提供端子板1010に出力される。
これら外部出力基板1000から出力されたメダルIN信号、メダルOUT信号、RB中信号、BB中信号、(CT中信号、CB中信号)は、情報提供端子板1010を介してホール機器へ出力される。一方、外部出力基板1000から出力されたセキュリティ信号は、情報提供端子板1010にて再度、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号、予備信号に再変換されてホール機器へ出力されることとなる。
外部出力信号は、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を含むが、これらドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、頻繁に出力される信号ではないため、これらの信号に対して個々に外部出力用の端子を設ける必要性は低い。
このため本実施例では、上述のように遊技制御基板40から出力された外部出力信号を、外部出力基板1000を介して、ホール機器に出力するとともに、これら外部出力信号のうちドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を、外部出力基板1000に搭載されたパラレル・シリアル変換回路1002によって、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して外部に出力するようになっており、これらドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を1本の端子から出力することが可能となり、必要以上に多くの端子を設ける必要がなくなる。
また、現時点では使用されていないが、将来的に使用する可能性のある予備信号線を備えた場合でも、予備信号線から出力される信号を含めて1本の端子にて個々の信号を識別可能に出力可能になるとともに、使用されていない予備信号線の端子が、空き端子となってしまうことがない。
尚、本実施例では、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を、外部出力基板1000に搭載されたパラレル・シリアル変換回路1002によって、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して外部に出力するようになっているが、例えば、AND回路などによって、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号のいずれか1つの信号でも出力されている場合に、エラー信号を1本の端子にて外部に出力するようにしても良く、このようにした場合でも、外部の機器でエラーの発生中、ドア開放中、設定変更中のいずれかが発生中であること特定することが可能であり、必要以上に多くの端子を設ける必要がなくなる。また、この場合には、複数の信号をシリアル信号に変換せずとも1本の端子にて外部に出力できるため、製造コストも軽減できる。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM507から読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定6からさらに操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM507に格納され、遊技の進行が可能な状態に移行する。
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をon状態とすれば良い。このような状況で設定キースイッチ37をon状態とすると、設定値表示器24にRAM507から読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をoff状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
本実施例のスロットマシン1においては、メイン制御部41は、タイマ割込処理(メイン)を実行する毎に、電断検出回路48からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、電断処理(メイン)を実行する。電断処理(メイン)では、レジスタを後述するRAM507のスタックに退避し、RAM507にいずれかのビットが1となる破壊診断用データ(本実施例では、5AH)、すなわち0以外の特定のデータを格納するとともに、RAM507の全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM507に格納する処理を行うようになっている。尚、RAMパリティとはRAM507の該当する領域(本実施例では、全ての領域)の各ビットに格納されている値の排他的論理和として算出される値である。このため、RAM507の全ての領域に格納されたデータに基づくRAMパリティが0であれば、RAMパリティ調整用データは0となり、RAM507の全ての領域に格納されたデータに基づくRAMパリティが1であれば、RAMパリティ調整用データは1となる。
そして、メイン制御部41は、システムリセットによるかユーザリセットによるかに関わらず、その起動時においてRAM507の全ての領域に格納されたデータに基づいてRAMパリティを計算するとともに、破壊診断用データの値を確認し、RAMパリティが0であり、かつ破壊診断用データの値も正しいことを条件に、RAM507に記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)や破壊診断用データの値が正しくない場合には、RAM異常と判定し、RAM異常エラーコードをレジスタにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、RAM異常エラー状態は、通常のエラー状態と異なり、リセットスイッチ23やリセット/設定スイッチ38を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されるまで解除されることがない。
尚、本実施例では、RAM507に格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メイン制御部41は、電源投入時においてRAM507のデータが正常であると判定した場合に、RAM507の格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM507に格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。
また、サブ制御部91もタイマ割込処理(サブ)において電断検出回路98からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に電断処理(サブ)を実行する。電断処理(サブ)では、レジスタを後述するRAM91cのスタックに退避し、RAM91cにいずれかのビットが1となる破壊診断用データを格納するとともに、RAM91cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM91cに格納する処理を行うようになっている。
そして、サブ制御部91は、その起動時においてRAM91cの全ての領域に格納されたデータに基づいてRAMパリティを計算し、RAMパリティが0であることを条件に、RAM91cに記憶されているデータに基づいてサブ制御部91の処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)には、RAM異常と判定し、RAM91cを初期化するようになっている。この場合、メイン制御部41と異なり、RAM91cが初期化されるのみで演出の実行が不能化されることはない。
尚、本実施例では、RAM91cに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、サブ制御部91は、電源投入時においてRAM91cのデータが正常であると判定した場合に、RAM91cの格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM91cに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、入力ポートの状態や、演出が途中で中断された場合の途中経過などを全て電断前の状態に復帰させる必要はない。
次に、メイン制御部41のRAM507の初期化について説明する。メイン制御部41のRAM507の格納領域は、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、非初期化領域、未使用領域、スタック領域に区分されている。
重要ワークは、各種表示器やLEDの表示用データ、I/Oの入出力データ、遊技時間の計時カウンタ等、BB終了時に初期化すると不都合があるデータが格納されるワークである。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、BB中のメダル払出総数等、BB終了時に初期化可能なデータが格納されるワークである。特別ワークは、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にRAM507のデータが破壊されているか否かに関わらず必ず値が設定されることとなる。非初期化ワークは、RAM異常エラーや設定変更時にも初期化されないデータが格納されるワークである。非初期化ワークには、さらに内部抽選処理で抽選を行う際に用いる設定値が格納される設定値ワーク、演出制御基板90へ送信されるコマンドが一時的に格納されるコマンドバッファ(コマンドバッファ内のコマンドは次回コマンドが格納されるまで維持されるので、最後に送信されたコマンドが常に格納されることとなる)、外部出力基板1000に対して出力されるメダルIN信号、メダルOUT信号、RB中信号、BB中信号、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号のうち外部出力基板1000から出力されるセキュリティ信号を構成するドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態(on/offの状態)が格納されるセキュリティワークが割り当てられている。未使用領域は、RAM507の格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなる。スタック領域は、メイン制御部41のレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
本実施例においてメイン制御部41は、設定キースイッチ37がonの状態での起動時、RAM異常エラー発生時、BB終了時、設定キースイッチ37がoffの状態での起動時でRAM507のデータが破壊されていないとき、1ゲーム終了時の5つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化を行う。
初期化1は、起動時において設定キースイッチ37がonの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはRAM異常エラー発生時に行う初期化であり、初期化1では、RAM507の格納領域のうち、使用中スタック領域、非初期化領域を除く全ての領域(未使用領域及び未使用スタック領域を含む)が初期化される。初期化2は、BB終了時に行う初期化であり、初期化2では、RAM507の格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化3は、起動時において設定キースイッチ37がoffの状態であり、かつRAM507のデータが破壊されていない場合において行う初期化であり、初期化3では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、RAM507の格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
尚、本実施例では、初期化1を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行うようにしても良い。
このように本実施例では、電源投入時などにRAM異常エラーが発生した場合には、初期化1が実行され、それ以前の制御状態が初期化されることとなるが、この際、非初期化領域に割り当てられたコマンドバッファ、設定値ワーク、セキュリティワークに格納されているデータは初期化されることがなく、保持されるようになっている。そして、この際、コマンドバッファにはRAM異常エラー発生時において最後に送信されたコマンドが、設定値ワークにはRAM異常エラー発生時の設定値が、セキュリティワークには、RAM異常エラー発生時のドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態がそれぞれ格納された状態で保持されるので、これらのデータからRAM異常発生時において何らかのエラーコマンドが送信されているか、設定値の値が変更されていないか、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態がどのような状態であったか、を特定することが可能となり、RAM異常の原因を特定すること、さらには、何らかの不正行為が行われた可能性を特定することができる。
さらに、RAM異常エラーを解消するために、設定値の変更操作を行っても、非初期化領域は初期化されることがなく、意図的に非初期化領域の格納データを初期化することは不可能であるため、不正行為によってRAM異常エラーが生じた場合でもその痕跡としてコマンドバッファ、設定値ワーク、セキュリティワークの格納データを残すことができる。
本実施例のスロットマシン1は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインL1〜L4が有効化される。
本実施例のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM507に設定されている必要がある。
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、RAM507に割り当てられた乱数値格納ワークの値を同じくRAM507に割り当てられた抽選用ワークに設定する。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
乱数値格納ワークは、スタートスイッチ7の操作と同時に乱数値レジスタR1Dにラッチされた数値データが格納される記憶領域であり、乱数値レジスタR1Dに新たな数値データがラッチされる毎に、ラッチされた数値データがその後のタイマ割込処理(メイン)において読み出され、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM507に割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
次に、リール2L、2C、2Rの停止制御について説明する。
メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ROM506に格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ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つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。
次に、メイン制御部41がストップスイッチ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の操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになっている。
本実施例においてメイン制御部41は、リール2L、2C、2Rの回転が開始した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
尚、本実施例では、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
次に、本実施例におけるメイン制御部41が実行する各種制御内容を、図24〜図43に基づいて以下に説明する。
メイン制御部41は、リセット回路49からシステムリセット信号が入力されると、図24のフローチャートに示す起動処理(メイン)を行う。また、ユーザリセット信号が入力された場合には、起動処理(メイン)のSa2のステップから処理を開始する。すなわち電源投入に伴う起動の場合のみセキュリティチェック処理を行うセキュリティモードから開始する一方、ウォッチドッグタイマ49aのタイムアップによる起動の場合には、セキュリティチェック処理を省略してROM506に記憶されたユーザプログラムを実行するユーザモードから開始されることになる。
システムリセット信号の入力に伴う起動処理(メイン)では、まず、CPU505がROM506から読み出したセキュリティチェックプログラム506Aに基づき、図25に示すセキュリティチェック処理を実行する(Sa1)。このとき、メイン制御部41は、セキュリティモードとなり、ROM506に記憶されているゲーム制御用のユーザプログラムは未だ実行されない状態となる。
セキュリティチェック処理では、図25に示すように、まず、セキュリティモードに制御する時間(セキュリティ時間)を決定するための処理を実行する。このとき、CPU505は、ROM506のプログラム管理エリアに記憶されるセキュリティ時間設定KSESのビット番号[2−0]におけるビット値を読み出す(Sa101)。そして、この読出値が“000”であるか否かを判定する(Sa102)。
Sa102にて読出値が“000”と判定された場合には、定常設定時間を既定の固定時間に設定する(Sa103)。ここで、定常設定時間は、セキュリティ時間のうち、システムリセットの発生等に基づくセキュリティチェック処理の実行回数(メイン制御部41がセキュリティモードとなる回数)に関わりなく、一定となる時間成分である。また、固定時間は、セキュリティ時間のうち、メイン制御部41の仕様などに基づいて予め定められた不変時間成分であり、例えばセキュリティ時間として設定可能な最小値となるものであれば良い。
Sa102にて読出値が“000”以外と判定された場合には、その読出値に対応して、固定時間に加えて図9(D)に示す設定内容により選択される延長時間を、定常設定時間に設定する(Sa104)。こうして、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、固定時間に加えて予め選択可能な複数の延長時間のいずれかに設定することができる。
Sa103、Sa104の処理のいずれかを実行した後には、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を読み出す(Sa105)。そして、この読出値が“00”であるか否かを判定する(Sa106)。
Sa106にて読出値が“00”と判定された場合には、定常設定時間をセキュリティ時間に設定する(Sa107)。これに対して、読出値が“00”以外と判定された場合には、その読出値に対応して決定される可変設定時間を、定常設定時間に加算してセキュリティ時間に設定する(Sa108)。ここで、可変設定時間は、セキュリティ時間のうち、セキュリティチェック処理が実行されるごとに変化する時間成分であり、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“01”(ショートモード)であるか“10”(ロングモード)であるかに応じて異なる所定の時間範囲で変化する。例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値がメイン制御部41に内蔵された可変セキュリティ時間用レジスタに格納される場合には、Sa108の処理において、可変セキュリティ時間用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、可変設定時間がシステムリセット毎に所定の時間範囲でランダムに変化するように決定されれば良い。こうして、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、システムリセットの発生等に基づくセキュリティチェック処理が実行されるごとに所定の時間範囲で変化させることができる。
ここで、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値であり、かつ、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値である場合には、Sa104のステップにて設定される延長時間と、Sa108のステップにて設定される可変設定時間との双方が、固定時間に加算されて、セキュリティ時間が決定されることになる。
Sa107、Sa108の処理のいずれかを実行した後には、ROM506の所定領域に記憶されたセキュリティコードを読み出す(Sa109)。ここで、ROM506の所定領域には、記憶内容のデータを所定の演算式によって演算した演算結果のセキュリティコードが予め記憶されている。セキュリティコードの生成方法としては、例えばハッシュ関数を用いてハッシュ値を生成するもの、エラー検出コード(CRCコード)を用いるもの、エラー訂正コード(ECCコード)を用いるもののいずれかといった、予め定められた生成方法を使用すれば良い。また、ROM506のセキュリティコード記憶領域とは異なる所定領域には、セキュリティコードを演算により特定するための演算式が、暗号化して予め記憶されている。
ステップSa109の処理に続いて、暗号化された演算式を復号化して元に戻す(Sa110)。その後、Sa110で復号化した演算式により、ROM506の所定領域における記憶データを演算してセキュリティコードを特定する(Sa111)。このときセキュリティコードを特定するための演算に用いる記憶データは、例えばROM506の記憶データのうち、セキュリティチェックプログラム506Aとは異なるユーザプログラムの全部又は一部に相当するプログラムデータ、あるいは、所定のテーブルデータを構成する固定データの全部又は一部であれば良い。そして、Sa109にて読み出したセキュリティコードと、Sa111にて特定されたセキュリティコードとを比較する(Sa112)。このときには、比較結果においてセキュリティコードが一致したか否かを判定する(Sa113)。
Sa113にてセキュリティコードが一致しない場合には、ROM506に不正な変更が加えられたと判断して、CPU505の動作を停止状態(HALT)へ移行させる。これに対して、Sa113にてセキュリティコードが一致した場合には、プログラム管理エリアに記憶されている第1乱数初期設定KRS1や第2乱数初期設定KRS2を読み出して、図26に示す乱数回路設定処理を実行した後(Sa114)、乱数回路509における動作異常の有無を検査するために図27に示す乱数回路異常検査処理を実行する(Sa115)。
図26に示す乱数回路設定処理では、まず、第1乱数初期設定KRS1のビット番号[3]におけるビット値に基づき、乱数回路509を使用するための設定を行う(Sa201)。本実施例では、第1乱数初期設定KRS1のビット番号[3]におけるビット値が予め“1”とされており、このビット値に対応して乱数回路509を使用する設定が行われる。続いて、第1乱数初期設定KRS1のビット番号[2]におけるビット値に基づき、乱数回路509における乱数更新クロックRGKの設定を行う(Sa202)。本実施例では、第1乱数初期設定KRS1のビット番号[2]におけるビット値が予め“1”とされていることに対応して、乱数用クロック生成回路43で生成された乱数用クロックRCLKを2分周して乱数更新クロックRGKとする設定が行われる。
Sa202での設定を行った後には、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値に基づき、乱数回路509における乱数更新規則の設定を行う(Sa203)。本実施例では、第1乱数初期設定KRS1のビット番号[1−0]におけるビット値として予め“10”が設定されており、乱数列RSNにおける乱数更新規則を2周目以降は自動で変更する設定がなされる。
続いて、第2乱数初期設定KRS2のビット番号[1]におけるビット値に基づき、乱数値となる数値データにおける起動時スタート値を決定する(Sa204)。本実施例では、第2乱数初期設定KRS2のビット番号[1]におけるビット値として予め“1”が設定されており、乱数のスタート値をIDナンバーに基づく値とする設定がなされる。
さらに、第2乱数初期設定KRS2のビット番号[0]におけるビット値に基づき、乱数値となる数値データのスタート値をシステムリセット毎に変更するか否かの設定を行う(Sa205)。本実施例では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“0”とされており、Sa204にて設定した起動時スタート値をそのまま用いて、乱数回路509におけるスタート値としている。Sa205の処理による設定が完了すると、乱数回路509では乱数値の生成動作が開始されることとなる。尚、第2乱数初期設定KRS2のビット番号[0]におけるビット値が予め“1”とされている場合には、乱数のスタート値をシステムリセット毎に変更する設定がなされる。この場合には、例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値がメイン制御部41に内蔵された乱数スタート値用レジスタに格納される場合には、Sa205の処理において、乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数(例えばハッシュ関数)に代入して得られた値を用いることなどにより、乱数のスタート値がシステムリセット毎に所定の数値範囲(例えば乱数生成回路553にて生成されるカウント値順列RCNに含まれる数値データの全部又は一部を含む範囲)でランダムに変化するように決定されれば良い。
尚、乱数回路設定処理による設定は、CPU505の処理が介在することなく、乱数回路509がプログラム管理エリアの記憶データに基づき自律的に行うようにしても良い。この場合、乱数回路509は、メイン制御部41がセキュリティモードとなっているときには初期設定を行わず、乱数値の生成動作が行われないようにしても良い。そして、メイン制御部41にてCPU505がROM506に記憶されたユーザプログラムを読み出してユーザモードが開始されたときに、例えばCPU505から乱数回路509に対して初期設定を指示する制御信号が伝送されたことなどに応答して、乱数回路509が初期設定を行ってから乱数値の生成動作を開始するようにしても良い。また、特に乱数回路509がメイン制御部41に外付けされる場合などには、メイン制御部41がセキュリティモードとなっているときでも、乱数回路509がCPU505における処理とは独立して、プログラム管理エリアの記憶データに基づく初期設定を行ってから、乱数値の生成動作を開始するようにしても良い。
図27に示す乱数回路異常検査処理では、まず乱数用クロック異常判定カウンタをクリアして、そのカウント値である乱数用クロック異常判定カウント値を「0」に初期化する(Sa301)。続いて、内部情報レジスタCIFのビット番号[4]に格納されている内部情報データCIF4を読み出す(Sa302)。そして、Sa302での読出値が“1”であるか否かを判定する。このとき、乱数回路509が備える周波数監視回路551によって、乱数用外部クロック端子ERCからの乱数用クロックRCLKに周波数異常が検知された場合には、内部情報データCIF4としてビット値“1”が書き込まれる。
そこで、Sa303にて読出値が“1”と判定された場合には、乱数用クロック異常判定カウント値を1加算するように更新する(Sa304)。このときには、Sa304での更新後におけるカウント値が所定のクロック異常判定値に達したか否かを判定する(Sa305)。ここで、クロック異常判定値は、周波数監視回路551により乱数用クロックRCLKの周波数異常が連続して検知された場合にクロック異常と判定するために予め定められた数値であれば良い。Sa305にてクロック異常判定値に達していなければ、Sa302の処理に戻り、再び内部情報データCIF4のビット値に基づく判定を行う。
Sa305にてクロック異常判定値に達した場合には、乱数用クロックが正常に機能していないと判断して、CPU505の動作を停止状態(HALT)へ移行させる。
Sa303にて読出値が“0”と判定された場合には、乱数値異常判定カウンタをクリアして、そのカウント値である乱数値異常判定カウント値を「0」に初期化する(Sa306)。尚、Sa303の処理では、Sa302にて読み出した内部情報データCIF4のビット値が複数回(例えば2回など)連続して“0”となったときに、読出値が“0”であると判定しても良い。
Sa306の処理に続いて、乱数値における異常の有無をチェックするために用いるチェック値を、初期値「0000H」に設定する(Sa307)。そして、乱数回路509が備える乱数値レジスタR1Dとなる乱数値レジスタ559Aから、格納されている乱数値となる数値データを読み出す(Sa308)。例えば、Sa308の処理では、乱数ラッチ選択レジスタRDLSのビット番号[0]に格納される乱数ラッチ選択データRDLS0のビット値を“0”として、ソフトウェアによる乱数値の取り込みを指定する。続いて、乱数値取込指定レジスタRDLTのビット番号[0]に格納される乱数値取込指定データRDLT0のビット値を“1”として、乱数値レジスタR1Dへの取り込みを指定する。尚、乱数値取込指定レジスタRDLTのビット番号[0]におけるビット値を“1”とすることは、CPU505から乱数回路509に対して数値データの取り込み(ラッチ)を指示するラッチ信号を出力することに相当する。その後、乱数値レジスタR1Dに供給するレジスタリード信号RRS1をオン状態とすることにより、格納されている乱数値となる数値データを読み出すようにすれば良い。
Sa308にて数値データを読み出した後には、その読出値を乱数検査基準値に設定する(Sa309)。続けて、さらに乱数値レジスタ559Aから乱数値となる数値データを読み出す(Sa310)。尚、Sa310での読出動作は、Sa308での読出動作と同様の手順で行われれば良い。また、Sa308での読出動作と、Sa310での読出動作との間には、乱数回路509で生成される乱数列RSNにおける数値データが変化するために十分な遅延時間を設けると良い。Sa310にて数値データを読み出した後には、乱数検査基準値と、Sa310での読出値との排他的論理和演算を実行する(Sa311)。また、Sa311での演算結果と、チェック値との論理和演算を実行し、演算結果を新たなチェック値とするように更新させる(Sa312)。例えば、チェック値はRAM507の所定領域に記憶しておき、Sa312の処理が実行される毎に、その処理で得られた演算結果を新たなチェック値として保存すれば良い。これにより、乱数値レジスタ559Aから読み出した数値データにおける全ビットの変化が記録され、複数回の読出中に少なくとも1回は値が変化したビットであれば、チェック値において対応するビット値が“1”となる。
そこで、チェック値が「FFFFH」となったか否かを判定し(Sa313)、なっていれば、全ビットについてビット値の変化が認められることから、乱数値が正常に更新されていると判断して、乱数回路異常検査処理を終了する。尚、乱数値が正常に更新されていることを確認できた場合には、乱数ラッチ選択レジスタRDLSのビット番号[0]に格納される乱数ラッチ選択データRDLS0のビット値を“1”として、入力ポートP0への信号入力に応じた乱数値レジスタR1Dへの乱数値取込を、指示するよう設定される。本実施例では、入力ポートP0にスタートスイッチ7からのゲーム開始信号SS1を伝送する配線が接続される。これにより、ゲーム開始信号SS1がオン状態となったときに乱数値レジスタR1Dへの乱数値取込を行うことができる。
Sa313にてチェック値が「FFFFH」以外と判定された場合には、乱数値異常判定カウント値を1加算するように更新する(Sa314)。このときには、Sa314での更新後におけるカウント値が所定の乱数値異常判定値に達したか否かを判定する(Sa315)。ここで、乱数値異常判定値は、乱数回路509が正常動作していれば、乱数値レジスタ559Aから読み出される数値データの全ビットが少なくとも1回は変化するのに十分な判定回数となるように、予め定められた数値であれば良い。Sa315にて乱数値異常判定値に達していなければ、Sa310の処理に戻り、再び乱数回路509から乱数値となる数値データを読み出して異常の有無をチェックするための判定などを行う。
Sa315にて乱数値異常判定値に達した場合には、乱数用クロックが正常に機能していないと判断して、CPU505の動作を停止状態(HALT)へ移行させる。
尚、乱数回路異常検査処理は、CPU505が実行するものに限定されず、CPU505以外のメイン制御部41における内蔵回路により乱数回路異常検査処理が実行されても良い。一例として、乱数回路509が乱数回路異常検査処理を実行する機能を有し、乱数用クロックRCLKの周波数異常が検知されたときや、乱数値の異常が検知されたときに、エラーの発生をCPU505に通知するようにしても良い。また、乱数回路異常検査処理は、起動時に実行されるものに限定されず、例えばメイン制御部41にてタイマ割込みが発生する毎に、乱数回路異常検査処理の一部又は全部が実行されるようにしても良い。
図25に戻り、Sa114の乱数回路設定処理及びSa115の乱数回路異常検査処理の後、Sa107やSa108の処理で設定されたセキュリティ時間が経過したか否かを判定する(Sa116)。このとき、セキュリティ時間が経過していなければ、Sa116の処理を繰り返し実行して、セキュリティ時間が経過するまで待機する。そして、Sa116にてセキュリティ時間が経過したと判定された場合には、セキュリティチェック処理を終了し、CPU505に内蔵されたプログラムカウンタの値をROM506におけるユーザプログラムの先頭アドレス(アドレス0000H)に設定することなどにより、メイン制御部41の動作状態がセキュリティモードからユーザモードへと移行し、ROM506に記憶されたユーザプログラムの実行が開始されることになる。尚、前述のようにユーザリセット信号の入力に伴う起動時には、セキュリティモードを経ずにユーザモードから開始することとなる。
ユーザモードではまず、シリアル通信回路511等の内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sa2)、Iレジスタ及びIYレジスタの値を初期化する(Sa3)。Iレジスタ及びIYレジスタの初期化により、Iレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、IYレジスタには、RAM507の格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
次いで、RAM507へのアクセスを許可し(Sa4)、RAM507の全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算する(Sa5)。ついで、打止スイッチ36a、自動精算スイッチ36bの状態を取得し、メイン制御部41の特定のレジスタに打止機能、自動精算機能の有効/無効を設定した後(Sa6)。後述するポート入力処理において取得した各スイッチの入力データ、前回と今回の入力データが同じ状態を示す各スイッチの確定データ、前回と今回の確定データが異なる状態を示す各スイッチのエッジデータをそれぞれクリアし(Sa7)、さらに停電が検知された旨を示す電断フラグをクリアする(Sa8)。さらに、ドア開放検出スイッチ25の検出状態の監視間隔を計時するドア監視タイマの値、ドア開放検出スイッチ25からの検出信号の入力状態の履歴をクリアし(Sa9)、操作検出コマンド送信要求及びドアコマンド送信要求2をクリアするとともに、ドアコマンド送信要求1を設定する(Sa10)。
次いで、乱数ラッチフラグレジスタの値に基づいて乱数値がラッチされているか否か、すなわち乱数値レジスタ559Aに数値データが取り込まれているか否かを判定し(Sa11)、乱数値がラッチされていなければSa13のステップに進み、Sa11のステップにおいて乱数値がラッチされていれば、乱数値レジスタ559Aから内部抽選用の乱数値を読み出し(Sa12)、Sa13のステップに進む。尚、Sa12のステップにおいて乱数値レジスタ559から内部抽選用の乱数値が読み出されると乱数ラッチフラグレジスタがクリアされ、新たな数値データの取り込みが許可されることとなる。また、Sa12のステップにおいては、内部抽選用の乱数値を読み出すものの、読み出した乱数値を用いる訳ではなく、スタートスイッチ7の操作に応じて新たな乱数値の取り込みを可能とするためにダミーとして読み出すものである。
Sa13のステップでは、Sa5のステップにおいて計算したRAMパリティが0か否かを判定する。正常に電断割込処理(メイン)が行われていれば、RAMパリティが0になるはずであり、Sa13のステップにおいてRAMパリティが0でなければ、RAM507に格納されているデータが正常ではなく、この場合には、RAM507の格納領域のうち、使用中スタック領域、非初期化領域を除く全ての格納領域を初期化する初期化1を実行した後(Sa26)、設定キースイッチ37がonか否かを判定し(Sa27)、設定キースイッチ37がonであれば、設定開始を示す設定コマンドを生成し、コマンドバッファに格納し(Sa23)、コマンドバッファに格納されたコマンドをシリアル通信回路511の送信データレジスタ561に転送するコマンド格納処理を行い(Sa24)、割込を許可して(Sa25)、設定変更処理、すなわち設定変更状態に移行する。
Sa24のコマンド格納処理では、図28(a)に示すように、コマンドバッファに格納されているコマンドデータのうち1バイト目のデータを送信データレジスタ561に転送し(Sx1)、その後、コマンドバッファに格納されているコマンドデータのうち2バイト目のデータを送信データレジスタ561に転送する(Sx2)。そして、送信データレジスタ561に転送されたコマンドデータは、前述のように送信データレジスタ561に転送された順番でシリアルデータ化され、送信用シフトレジスタ562に格納され、サブ制御部91に対して送信されることとなる。
Sa24のステップにおいて設定キースイッチ37がoffであれば、RAM異常を示すエラーコードをレジスタに設定し(Sa28)、RAM異常を示すエラーコマンドを生成してコマンドバッファに格納し(Sa29)、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ561に転送し(Sa30)、割込を許可して(Sa31)、エラー処理、すなわちRAM異常エラー状態に移行する。
Sa13のステップにおいて、RAMパリティが0であれば、更に破壊診断用データが正常か否かを判定する(Sa14)。正常に電断処理(メイン)が行われていれば、破壊診断用データが設定されているはずであり、Sa14のステップにおいて破壊診断用データが正常でない場合(破壊診断用データが電断時に格納される5A(H)以外の場合)にも、RAM507のデータが正常ではないので、Sa26のステップに移行して初期化1を実行し、その後、Sa27のステップにおいて設定キースイッチ37がonであれば、設定開始を示す設定コマンドの生成(Sa23)、コマンド格納処理(Sa24)の後、割込を許可して(Sa25)、設定変更処理に移行する。また、Sa27のステップにおいて設定キースイッチ37がoffであれば、RAM異常を示すエラーコードの設定(Sa28)、RAM異常を示すエラーコマンドの生成(Sa29)、コマンド格納処理(Sa30)の後、割込を許可して(Sa31)、エラー処理に移行する。
Sa14のステップにおいて破壊診断用データが正常であると判定した場合には、RAM507のデータは正常であるので、破壊診断用データをクリアし(Sa15)、RAM507の非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化3を行った後(Sa16)、設定キースイッチ37がonか否かを判定し(Sa17)、設定キースイッチ37がonであれば、Sa22のステップに移行して初期化1を実行し、設定開始を示す設定コマンドの生成(Sa23)、コマンド格納処理(Sa24)の後、割込を許可して(Sa25)、設定変更処理に移行する。
Sa17のステップにおいて設定キースイッチ37がoffであれば、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し(Sa18)、復帰コマンドを生成してコマンドバッファに格納し(Sa19)、コマンド格納処理を行ってコマンドバッファ内の復帰コマンドを送信データレジスタ561に転送し(Sa20)、割込を許可してSa21)、電断前の最後に実行していた処理に戻る。
このように起動処理では、システムリセット時のみセキュリティモードの後、ユーザモードに移行するのに対してユーザリセット時には、セキュリティモードを省き、ユーザモードから開始するようになっている。
システムリセット時のセキュリティモードでは、乱数回路509の設定を行う乱数回路設定処理を行うとともに、乱数回路設定処理において乱数の更新規則の設定や乱数のスタート値の設定などが行われる一方でユーザリセット時には、セキュリティモードは省略され、ユーザモードから開始することとなる。このため、システムリセット時には、乱数の初期値が設定し直されるのに対して、ユーザリセット時には、乱数回路509の設定は行われず、リセット前からの状態のまま乱数となる数値データの更新が継続されることとなる。また、セキュリティモードの間は、割込が許可されることがなく、ユーザモードへ移行した後に割込が許可されるので、システムリセット時においては、割込が許可されるよりも前に、これら乱数回路509の設定が行われることとなる。
また、システムリセットであるかユーザリセットであるかに関わらず、RAM507へのアクセスが許可された後、他の処理を行うことなく、まず、RAM507の全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算し、その後、計算したRAMパリティから格納データが正常か否かの判定を行う前に、RAM507の格納データが正常か否かに関わらず共通して行う必要のある処理として、打止機能、自動精算機能の有効/無効の設定、各スイッチの入力データ、確定データ、エッジデータのクリア、電断フラグのクリア、ドア開放検出スイッチ25の検出状態の監視間隔を計時するドア監視タイマの値、ドア開放検出スイッチ25からの検出信号の入力状態の履歴のクリア、ドアコマンド送信要求2のクリア及びドアコマンド送信要求1の設定、乱数値レジスタ559Aからの乱数値の読み出し、を行い、その後、RAMパリティに基づいてRAM507の格納データが正常か否かの判定を行うようになっている。
図29は、メイン制御部41が実行するエラー処理の制御内容を示すフローチャートである。
エラー処理では、まず、現在の遊技補助表示器12の表示状態をスタックに退避し(Sb1)、レジスタに格納されているエラーコードを遊技補助表示器12に表示し(Sb2)、エラーコードがRAM異常エラーであるか否かを判定し(Sb3)、RAM異常エラーを示すエラーコードである場合には、いずれの処理も行わないループ処理に移行する。
Sb3のステップにおいてRAM異常エラーを示すエラーコードではないと判定された場合には、エラー状態の発生及びその種類を示すエラーコマンドを生成し、コマンドバッファに格納し(Sb4)、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ561に転送する(Sb5)。
次いで、リセット/設定スイッチ38のoffからonの変化が検出されたか否かを判定し(Sb6)、リセット/設定スイッチ38のoffからonの変化が検出されていなければ、更にリセットスイッチ23のoffからonの変化が検出されているか否かを判定し(Sb7)、リセットスイッチ23のoffからonの変化も検出されていなければ、Sb6のステップに戻る。すなわちリセット/設定スイッチ38またはリセットスイッチ23のoffからonの変化が検出されるまで、遊技の進行が不能な状態で待機する。
そして、Sb6のステップにおいてリセット/設定スイッチ38のoffからonの変化が検出された場合、またはSb7のステップにおいてリセットスイッチ23のoffからonの変化が検出された場合には、スイッチの検出状態がoffからonに変化した旨またはonからoffに変化した旨を示すエッジデータ(offからonに変化した場合には立上りエッジと呼び、onからoffに変化した場合には立ち下がりエッジと呼ぶ)をクリアし(Sb8)、レジスタに格納されているエラーコードをクリアし(Sb9)、遊技補助表示器12の表示状態をSb1のステップにおいてスタックに退避した表示状態に復帰させ(Sb10)、エラー状態が解除された旨を示すエラーコマンドを生成してコマンドバッファに格納し(Sb11)、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ561に転送した後(Sb12)、もとの処理に戻る。
このようにエラー処理においては、RAM異常以外によるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されることで、エラー状態を解除してもとの処理に復帰するが、RAM異常によるエラー処理であれば、リセット/設定スイッチ38またはリセットスイッチ23が操作されてもエラー状態が解除され、元の状態に復帰することはない。
図30は、メイン制御部41が実行する設定変更処理の制御内容を示すフローチャートである。
設定変更処理では、まず、RAM507の設定値ワークに格納されている設定値を読み出して、読み出した値を表示値とし(Sc1)、表示値が設定可能な範囲(1〜6)外か否かを判定し(Sc2)、表示値が設定可能な範囲内であればSc4のステップに進み、表示値が設定可能な範囲外であれば、表示値を1に補正し、Sc5のステップに進む。
Sc5のステップでは、設定値表示器24に表示値を表示させた後、リセット/設定スイッチ38とスタートスイッチ7のoffからonの変化の検出待ちの状態となり(Sc5、Sc6)、Sc5のステップにおいてリセット/設定スイッチ38のoffからonの変化が検出されると、エッジデータをクリアし(Sc9)、表示値を1加算し(Sc10)、Sc2のステップに戻る。
また、Sc6のステップにおいてスタートスイッチ7のoffからonの変化が検出された場合には、エッジデータをクリアし(Sc9)、さらに後述の確定データを参照して他のスイッチがonの状態か否かを判定し(Sc10)、いずれかのスイッチがonの状態であれば、Sc5のステップに戻り、いずれのスイッチもonの状態でなければ、設定値表示器24に表示されている値を0に更新し(Sc11)、設定キースイッチ37がoffの状態となるまで待機する(Sc12)。
Sc11のステップにおいて設定キースイッチ37のoffが判定されると、表示値を設定値ワークに格納して(Sc13)、設定の終了及び新たな設定値を示す設定コマンドを生成してコマンドバッファに格納し(Sc14)、コマンド格納処理を行ってコマンドバッファ内の設定コマンドを送信データレジスタ561に転送し(Sc15)、ゲーム処理に移行する。
図31は、メイン制御部41が実行するゲーム処理の制御内容を示すフローチャートである。
ゲーム処理では、BET処理(Sd1)、内部抽選処理(Sd2)、リール回転処理(Sd3)、入賞判定処理(Sd4)、払出処理(Sd5)、ゲーム終了時処理(Sd6)を順に実行し、ゲーム終了時処理が終了すると、再びBET処理に戻る。
Sd1のステップにおけるBET処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。
Sd2のステップにおける内部抽選処理では、Sd1のステップにおけるスタートスイッチ7の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、RAM507に当選フラグが設定される。
Sd3のステップにおけるリール回転処理では、各リール2L、2C、2Rを回転させる処理、遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
Sd4のステップにおける入賞判定処理では、Sd3のステップにおいて全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
Sd5のステップにおける払出処理では、Sd4のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
Sd6のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
また、ゲーム処理では、ゲームの進行制御に応じてコマンドを生成してコマンドバッファに設定し、直後にコマンド格納処理を実行することでコマンドバッファに格納されたコマンドがシリアル通信回路511の送信データレジスタ561に転送され、サブ制御部91に送信されるようになっている。
図32〜図34は、メイン制御部41がSd1のステップにおいて実行するBET処理の制御内容を示すフローチャートである。
BET処理では、まず、RAM507において賭数の値が格納されるBETカウンタの値をクリアし(Se1)、遊技状態に応じた規定数をRAM507に設定し(Se2)、RAM507にリプレイゲームである旨を示すリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定する(Se3)。
Se3のステップにおいて当該ゲームがリプレイゲームであると判定された場合には、賭数が3加算された旨を示すBETコマンドを生成してコマンドバッファに格納し(Se4)、コマンド格納処理を行ってコマンドバッファ内のBETコマンドを送信データレジスタ561に転送し(Se5)、BETカウンタの値を1加算し(Se6)、RAM507に設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否か、すなわちゲームの開始条件となる賭数が設定されているか否かを判定し(Se7)、BETカウンタの値が規定数でなければSe6のステップに戻り、BETカウンタの値が規定数であれば、メダルの投入不可を示す投入不可フラグをRAM507に設定し(Se8)、Se10のステップに進む。
Se3のステップにおいて当該ゲームがリプレイゲームでないと判定されれば、投入待ち前の設定を行い(Se9)、Se10のステップに進む。投入待ち前の設定では、RAM507に設定されている投入不可フラグをクリアし、メダルの投入が可能な状態とする。
Se10のステップでは、レジスタにエラーコードが設定されているか否か、すなわちエラーが検知されたか否かを判定し、エラーコードが設定されていれば、図29に示すエラー処理に移行する。
Se10のステップにおいてエラーコードが設定されていなければ、RAM507に投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定する(Se11)。Se11のステップにおいてメダルの投入が可能な状態であると判定された場合には、流路切替ソレノイド30をonの状態とし、メダルの流路をホッパータンク側の経路としてメダルの投入が可能な状態とし(Se12)、Se14のステップに進み、メダルの投入が可能な状態でないと判定された場合には、流路切替ソレノイド30をoffの状態とし、メダルの流路をメダル払出口9側の経路として新たなメダルの投入を禁止し(Se13)、Se14のステップに進む。
Se14のステップにおいては、設定キースイッチ37がonの状態か否かを判定し、設定キースイッチ37がonであれば、BETカウンタの値が0か否かを判定する(Se15)。そして、Se15のステップにおいてBETカウンタの値が0であれば、設定確認開始を示す設定確認コマンドを生成してコマンドバッファに格納し(Se16)、コマンド格納処理を行ってコマンドバッファ内の設定確認コマンドを送信データレジスタ561に転送し(Se17)、設定確認処理(Se18)、すなわち設定確認状態に移行する。Se18のステップにおける設定確認処理が終了した後は、Se10のステップに戻る。
Se14のステップにおいて設定キースイッチ37がonではない場合またはSe15のステップにおいてBETカウンタの値が0ではない場合には、Se19のステップに進み、投入メダルセンサ31により投入メダルの通過が検出されたか否か、すなわち投入メダルの通過が検出された旨を示す投入メダルフラグの有無を判定する。Se19のステップにおいて投入メダルの通過が検出されていなければ、Se31のステップに進み、投入メダルの通過が検出されていれば、投入メダルフラグをクリアし(Se20)、RAM507に投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定し(Se21)、メダルの投入が可能な状態でなければSe31のステップに進む。
Se21のステップにおいてメダルの投入が可能な状態であれば、RAM507に設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否を判定し(Se22)、BETカウンタの値が規定数でなければ、BETカウンタの値を1加算し(Se23)、賭数が1加算された旨を示すBETコマンドを生成してコマンドバッファに格納し(Se24)、コマンド格納処理を行ってコマンドバッファ内のBETコマンドを送信データレジスタ561に転送し(Se25)、Se9のステップに戻る。
Se22のステップにおいてBETカウンタの値が規定数であれば、RAM507においてクレジットの値が格納されるクレジットカウンタの値を1加算し(Se26)、現在のクレジットカウンタの値を示すクレジットコマンドを生成してコマンドバッファに格納し(Se27)、コマンド格納処理を行ってコマンドバッファ内のクレジットコマンドを送信データレジスタ561に転送し(Se28)、クレジットカウンタの値が上限値である50であるか否かを判定し(Se29)、クレジットカウンタの値が50でなければ、Se9のステップに戻り、クレジットカウンタの値が50であれば投入不可フラグをRAM507に設定し(Se30)、Se9のステップに戻る。
Se31のステップでは、スタートスイッチ7のoffからonの変化が検出されているか否か、すなわちスタートスイッチ7の立上りを示す立上りエッジが設定されているか否かを判定する。
Se31のステップにおいてスタートスイッチ7のoffからonの変化が検出されていないと判定された場合には、Se41のステップに進み、スタートスイッチ7のoffからonの変化が検出されていれば、割込を禁止し(Se32)、エッジデータをクリアし(Se33)、後述する確定データに基づいて他のスイッチがonの状態か否かを判定し(Se34)、いずれかのスイッチがonの状態であれば割込を許可して(Se35)、Se9のステップに戻る。
Se34のステップにおいて他のスイッチがいずれもonの状態でなければさらにRAM507に設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか、すなわちゲームの開始条件となる賭数が設定されているか否かを判定する(Se36)。
Se36のステップにおいてBETカウンタの値が規定数でなければ、割込を許可して(Se35)、Se9のステップに戻り、BETカウンタの値が規定数であれば、乱数値格納ワークの値を内部抽選用の乱数値として抽選用ワークに設定し(Se37)、割込を許可し(Se38)、投入不可フラグをRAM507に設定するとともに、流路切替ソレノイド30をoffの状態とし、メダルの流路をメダル払出口9側の経路として新たなメダルの投入を禁止し(Se39)、ゲーム開始時の設定を行う(Se40)。そして、Se40のステップの後、BET処理を終了して図31のフローチャートに復帰する。
このようにスタートスイッチ7のoffからonへの変化が検出された後、当該スタートスイッチ7の操作が無効とされるか、有効と判断され、乱数値格納ワークの値を抽選用ワークに設定するまでの間、割込が禁止されるようになっており、この間にタイマ割込処理(メイン)が実行され、乱数値格納ワークの値が書き換わってしまうことが防止されるようになっている。
Se41のステップにおいては、1枚BETスイッチ5のoffからonの変化が検出されているか否か、すなわち1枚BETスイッチ5の立上りを示す立上りエッジが設定されているか否かを判定する。Se41のステップにおいて1枚BETスイッチ5のoffからonの変化が検出されていなければ、Se49のステップに進み、1枚BETスイッチ5のoffからonの変化が検出されていればエッジデータをクリアし(Se42)、RAM507に設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否かを判定する(Se43)。Se46のステップにおいてBETカウンタの値が規定数であればSe9のステップに戻り、BETカウンタの値が規定数でなければ、クレジットカウンタの値が0であるか否かを判定し(Se44)、クレジットカウンタの値が0であればSe9のステップに戻る。Se47のステップにおいてクレジットカウンタの値が0でなければ、クレジットカウンタの値を1減算し(Se45)、BETカウンタの値を1加算して(Se46)、賭数が1加算された旨を示すBETコマンドを生成してコマンドバッファに格納し(Se47)、コマンド格納処理を行ってコマンドバッファ内のBETコマンドを送信データレジスタ561に転送し(Se48)、Se9のステップに戻る。
Se49のステップにおいては、MAXBETスイッチ6のoffからonの変化が検出されているか否か、すなわちMAXBETスイッチ6の立上り示す立上りエッジが設定されているか否かを判定する。Se49のステップにおいてMAXBETスイッチ6のoffからonの変化が検出されていなければ、Se58のステップに進み、MAXBETスイッチ6のoffからonの変化が検出されていれば、エッジデータをクリアし(Se50)、RAM507に設定された賭数の規定数を参照し、BETカウンタの値が規定数であるか否かを判定する(Se51)。Se51のステップにおいてBETカウンタの値が規定数であれば、Se55のステップに進み、BETカウンタの値が規定数でなければ、クレジットカウンタの値が0であるか否かを判定し(Se52)、クレジットカウンタの値が0であれば、Se55のステップに進む。Se52のステップにおいてクレジットカウンタの値が0でなければ、クレジットカウンタの値を1減算し(Se53)、BETカウンタの値を1加算して(Se54)、Se51のステップに戻る。Se55のステップでは、BETカウンタが加算されたか否かを判定し、BETカウンタが加算されていなければ、Se9のステップに戻り、BETカウンタが加算されていれば、加算された数分賭数が加算された旨を示すBETコマンドを生成してコマンドバッファに格納し(Se56)、コマンド格納処理を行ってコマンドバッファ内のBETコマンドを送信データレジスタ561に転送し(Se57)、Se9のステップに戻る。
Se58のステップにおいては、精算スイッチ10のoffからonの変化が検出されているか否か、すなわち精算スイッチ10の立上りを示す立上りエッジが設定されているか否かを判定する。Se58のステップにおいて精算スイッチ10のoffからonの変化が検出されていなければ、Se9のステップに戻り、精算スイッチ10のoffからonの変化が検出されていれば、エッジデータをクリアし(Se59)、RAM507にリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定し(Se60)、当該ゲームがリプレイゲームであればSe9のステップに戻る。Se60のステップにおいて当該ゲームがリプレイゲームでなければ、BETカウンタの値が0か否かを判定し(Se61)、BETカウンタの値が0であればSe63のステップに進み、BETカウンタの値が0でなければ、既に設定済み賭数の精算を行う旨を示す賭数精算フラグをRAM507に設定し(Se62)、Se63のステップに進む。Se63のステップにおいては、ホッパーモータ34bを駆動してクレジットカウンタまたはBETカウンタに格納された値分のメダルを払い出す制御、すなわちクレジットとして記憶されているメダルまたは賭数の設定に用いられたメダルを返却する制御が行われる精算処理を行う。そして、Se63のステップにおける精算処理の後、RAM507に設定されている投入不可フラグをクリアして(Se64)、Se9のステップに戻る。
図35及び図36は、メイン制御部41がSd3のステップにおいて実行するリール回転処理の制御内容を示すフローチャートである。
リール回転処理では、まず、フリーズ抽選を実行する(Si1)。フリーズ抽選では、内部抽選の結果等に基づいてフリーズ状態に制御するか否か、フリーズ状態に制御する場合にはその実行時期について決定する。
Si1のステップにおけるフリーズ抽選の後、前のゲームのリール回転開始時点からウェイトタイム(本実施例では、約4.1秒)が経過したか否かを判定し(Si2)、ウェイトタイムが経過していなければ、ウェイトタイムが経過するまで待機する。
そして、Si2のステップにおいてウェイトタイムが経過していれば、ウェイトタイムを新たに設定する(Si3)。
次いで、リールモータの回転開始時の設定を行い、リールの回転を開始させる(Si4)。そして、回転中のリール別に仮想滑りコマテーブルの滑りコマ数を設定する滑りコマ数設定処理を行い(Si5)、停止準備完了時の設定を行う(Si6)。これにより、停止操作を有効化させることが可能な状態となり、その後、タイマ割込処理(メイン)の原点通過時処理において、リールの定速回転が検出された時点で、停止操作が有効となる。
次いで、フリーズ条件が成立しているか否か、すなわちフリーズ抽選にてフリーズ状態に制御する旨が決定され、かつフリーズ状態に制御する時期であるかを判定し(Si7)、フリーズ条件が成立していなければ、Si9のステップに進み、フリーズ条件が成立していれば、フリーズ状態の時間を計時するためにRAM507に割り当てられたフリーズタイマカウンタに規定値を設定し(Si8)、Si9のステップに進む。フリーズタイマカウンタの値は、タイマ割込処理(メイン)が4回実行される毎に1ずつ減算される。
Si9のステップにおいては、フリーズタイマカウンタの値が0か否か、すなわちフリーズ状態に制御されているか否かを判定する。Si9のステップにおいてフリーズタイマカウンタの値が0ではない場合、すなわちフリーズ状態に制御されている場合には、フリーズタイマカウンタの値が0となるまで待機する。
Si9のステップにおいてフリーズタイマカウンタの値が0の場合、すなわちフリーズ状態に制御されていない場合(当初からフリーズ状態に制御されていない場合、またはフリーズ状態が終了した場合)には、いずれかのストップスイッチのoffからonの変化が検出されたか否か、すなわちいずれかのストップスイッチの立上りを示す立上りエッジが設定されているか否かを判定し(Si10)、いずれのストップスイッチのoffからonの変化も検出されていなければ、リール回転エラー(一定期間以上、リールセンサ33によりリール基準位置が検出されない場合に判定されるエラー)が発生したか否かを判定し(Si11)、リール回転エラーが発生していなければ、更に、投入エラー(メダルの投入が許可されている期間以外で、メダルの投入を検出した場合に判定されるエラー)が発生したか否か、及び払出エラー(メダルの払出が許可されている期間以外で、メダルの払出を検出した場合に判定されるエラー)が発生したか否かを判定し(Si12、Si13)、Si11〜Si13のステップにおいていずれのエラーの発生も判定されなければ、Si9のステップに戻る。
また、Si12のステップにおいて投入エラーの発生が判定された場合、またはSi13のステップにおいて払出エラーが判定された場合には、リール回転中の投入・払出エラーを示すエラーコードをレジスタに設定し(Si14)、図29に示すエラー処理に移行する(Si17)。そして、エラーが解除された場合には、再びSi9のステップに戻る。
また、Si11のステップにおいてリール回転エラーの発生が判定された場合には、リール回転エラーを示すエラーコードをレジスタに設定し(Si16)、図29に示すエラー処理に移行する(Si17)。これに伴い、リールの回転も一時的に停止する。そして、エラーが解除された場合には、再びSi4のステップに戻り、リールの回転が再開する。
また、Si10のステップにおいていずれかのストップスイッチのoffからonの変化が検出された場合には、エッジデータをクリアし(Si18)、他のスイッチがonの状態か否かを判定し(Si19)、他のスイッチが1つでもonの状態であればSi10のステップに戻る。
Si19のステップにおいて他のスイッチが全てoffの状態であれば、offからonの変化が検出されたストップスイッチに対応するリールモータにおける、その時点のリール基準位置からのステップ数(停止操作位置となるステップ数)を取得し、停止リールに対応するワークに設定した後(Si20)、リール停止コマンドを生成してコマンドバッファに格納し(Si21)、コマンド格納処理を行ってコマンドバッファ内のBETコマンドを送信データレジスタ561に転送し(Si22)、停止操作に対応するリールの回転が停止するまで待機する(Si23)。
そして、停止操作に対応するリールの回転が停止すると、全てのリールが停止したか否かを判定し(Si24)、全てのリールが停止していなければ、Si5のステップに戻り、全てのリールが停止していれば、リール回転処理を終了して、図31のフローチャートに復帰する。
図37及び図38は、メイン制御部41が一定間隔(0.56msの間隔)で起動処理やゲーム処理に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。尚、タイマ割込処理(メイン)の実行期間中は自動的に他の割込が禁止される。
タイマ割込処理(メイン)においては、まず、使用中のレジスタをスタック領域に退避した後(Sk1)、シリアル通信回路511のステータスレジスタ563の送信完了の値を取得し、取得した値に基づいてRAM507に格納されている送信完了フラグを更新する(Sk2)。詳しくは、ステータスレジスタ563の値が、コマンドデータの送信を行っていないか、コマンドデータの送信が完了した旨を示す1であれば、送信完了フラグの値を1に更新し、ステータスレジスタ563の値が、コマンドの送信中か、コマンドの送信待ちの状態を示す0であれば、送信完了フラグの値を0に更新する。
次いで、停電判定処理を行う(Sk3)。停電判定処理では、電断検出回路48から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
Sk3のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し(Sk4)、電断フラグが設定されていなければ、Sk5に進み、電断フラグが設定されていた場合には、後述する電断処理(メイン)に移行する。
Sk5のステップでは、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。
次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sk6)。Sk6のステップでは、分岐用カウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち分岐用カウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。
次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sk7)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32L、32C、32Rの始動時または定速回転中か否かを確認し、リールモータ32L、32C、32Rの始動時または定速回転中であれば、後述するSk11のモータステップ処理において変更した位相信号データや後述するSk24の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する(Sk8)。
次いで、分岐用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sk9)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sk10)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sk11)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sk12)を順次実行した後、Sk26のステップに進む。
また、Sk9のステップにおいてタイマ割込2の場合には、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sk13)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sk14)、各種時間カウンタを更新する時間カウンタ更新処理(Sk15)、ドア開放検出スイッチ25の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理(Sk16)、ドアコマンドや操作検出コマンドのシリアル通信回路511への転送等を行うコマンド送信処理(Sk17)、外部出力信号を更新する外部出力信号更新処理(Sk18)を順次実行した後、Sk26のステップに進む。
また、Sk7のステップにおいてタイマ割込3またはタイマ割込4であれば、更に、分岐用カウンタ値を参照して3か否か、すなわちタイマ割込4か否かを判定し(Sk19)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているか(停止準備完了コードが設定されているか)を確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する原点通過時処理(Sk20)、スイッチ類の検出状態に変化があったか否かの判定、操作検出コマンドの送信要求等を行うスイッチ入力判定処理(Sk21)、乱数値レジスタR1Dから数値データを読み出して乱数値格納ワークに格納する乱数値読出処理(Sk22)を順次実行した後、Sk26のステップに進む。
また、Sk19のステップにおいてタイマ割込4であれば、ストップスイッチ8L、8C、8Rの検出に伴って停止リールのワークに停止操作位置が格納されたときに、停止リールのワークに格納された停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理(Sk23)、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sk24)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sk25)を順次実行した後、Sk26のステップに進む。
Sk26のステップでは、Sk1においてスタック領域に退避したレジスタを復帰し、割込前の処理に戻る。
このように本実施例では、一定間隔毎に基本処理に割り込んでタイマ割込処理(メイン)を実行するとともに、タイマ割込処理(メイン)を実行する毎に処理カウンタを更新し、処理カウンタ値に応じて定められた処理を行うようになっており、一度のタイマ割込処理(メイン)に要する負荷を分散できるうえに、処理カウンタ値に関わらず、電圧低下信号に基づいて電断の条件が成立しているか否かを判定する停電判定処理を行い、電断の条件が成立していれば、電断処理を行うようになっており、電断が検知された場合には速やかに電断処理を行うことが可能となる。
また、タイマ割込処理(メイン)内で、電断の条件が成立しているか否かの判定を行い、電断の条件が成立していれば、そのまま電断処理に移行することとなり、タイマ割込処理(メイン)の実行中に電断に伴う割込が発生することもないため、タイマ割込処理(メイン)の実行中に電断処理を割り込ませたり、タイマ割込処理(メイン)の終了を待って電断に伴う割込処理を行う必要がないため、電断条件の成立に伴う処理が複雑化してしまうことがない。
図39は、メイン制御部41が前述したタイマ割込処理(メイン)のタイマ割込3内において実行するスイッチ入力判定処理の制御内容を示すフローチャートである。
スイッチ入力判定処理では、ポート入力処理において取得した各スイッチの入力データを更新し(Sk101)、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じであるか否かを判定し(Sk102)、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じでなければ、図38のフローチャートに復帰する。
Sk102のステップにおいて、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じ場合、すなわち2.24msの間同じ検出状態を示している場合には、該当するスイッチの確定データを更新し(Sk103)、Sk104のステップに進む。Sk103のステップでは、今回の確定データを前回の確定データに移動し、前回と今回が同じと判定された入力データが示す検出状態を今回の確定データとして設定する。
Sk104のステップでは、更新後の前回の確定データと今回の確定データとが同じか否かを判定し、全てのスイッチについて前回の確定データと今回の確定データとが同じであれば、エッジデータをクリアし(Sk105)、図38のフローチャートに復帰する。
Sk104のステップにおいていずれか1つのスイッチでも前回の確定データと今回の確定データとが同じでなければ、前回の確定データと今回の確定データとが異なるスイッチについてoffからonに変化したかを判定し(Sk106)、offからonに変化したスイッチがなければSk108のステップに進み、offからonに変化したスイッチがある場合には、該当するスイッチがoffからonに変化した旨を示す立上りエッジを設定した後(Sk107)、Sk108のステップに進む。
Sk108のステップでは、前回の確定データと今回の確定データとが異なるスイッチについてonからoffに変化したかを判定し、onからoffに変化したスイッチがなければ、Sk110に進み、onからoffに変化したスイッチがある場合には、該当するスイッチがonからoffに変化した旨を示す立下りエッジを設定し(Sk109)、Sk110のステップに進む。
Sk110のステップでは、前回の確定データと今回の確定データとが同じスイッチがあるか否かを判定し、前回の確定データと今回の確定データとが同じスイッチがなければ、Sk112のステップに進み、前回の確定データと今回の確定データとが同じスイッチがあれば、該当するスイッチのエッジデータのみをクリアし(Sk111)、Sk112のステップに進む。
Sk112では、操作検出コマンド送信要求を設定し、検出状態が変化したスイッチ(エッジデータが設定されているスイッチ)、当該スイッチがoffからonに変化したか、onからoffに変化したか(立上りエッジか、立下りエッジか)、他のスイッチ(検出状態が変化していないスイッチ)の検出状態(on/off)を示す操作検出コマンドを生成してRAM507に割り当てられた操作検出コマンド格納領域(操作検出コマンドが送信されるまで一時的に操作検出コマンドが格納される領域)に格納する(Sk113)ことで、操作検出コマンドの送信を命令した後、図38のフローチャートに復帰する。
図40は、メイン制御部41が前述したタイマ割込処理(メイン)のタイマ割込3内において実行する乱数値読出処理の制御内容を示すフローチャートである。
乱数値読出処理では、乱数ラッチフラグレジスタの値に基づいて数値データがラッチされているか否か、すなわち乱数値レジスタ559Aに数値データが取り込まれているか否かを判定し(Sk201)、数値データがラッチされていなければ、乱数値読出処理を終了して図38に示すフローチャートに復帰する。
Sk201のステップにおいて数値データがラッチされていれば乱数値レジスタ559Aから数値データを読み出し(Sk202)、乱数値格納ワークに格納されている値を、Sk202において読み出した数値データに更新し(Sk203)、乱数値読出処理を終了して図38に示すフローチャートに復帰する。
尚、Sk202のステップにおいて乱数値レジスタ559から数値データが読み出されると乱数ラッチフラグレジスタがクリアされ、乱数値レジスタ559への新たな数値データの取込が許可されることとなる。
図41は、メイン制御部41が前述したタイマ割込処理(メイン)のタイマ割込2内において実行するドア監視処理の制御内容を示すフローチャートである。
ドア監視処理では、まず、ドア開放検出スイッチ25の入力状態の履歴(ポート入力処理において取得したドア開放検出スイッチ25の正論理化した検出信号の確定状態を約100ms論理和し続けた値)であるドアセンサ履歴を更新する(Sk301)。すなわちドア開放検出スイッチ25の正論理化した検出信号の確定状態とドアセンサ履歴との論理和をとって新たなドアセンサ履歴とする。
次いで、ドア監視タイマの値が0か否か、すなわち前回の監視から約100msが経過したか否かを判定し(Sk302)、ドア監視タイマの値が0でなければ、ドア監視タイマの値を1減算し(Sk303)、ドア監視処理を終了し、図37のフローチャートに復帰する。
Sk302のステップにおいてドア監視タイマの値が0であれば、ドア監視タイマの値として44を設定し(Sk304)、新たに100msの計時を開始する。そしてドアセンサ履歴をレジスタに取得し、RAM507のドアセンサ履歴をクリアした後(Sk305)、レジスタに取得したドアセンサ履歴が示すドア開放検出スイッチ25の検出状態と、RAM507に割り当てられたドアコマンド格納領域(ドアコマンドが送信されるまで一時的にドアコマンドが格納される領域であり、ドア開放検出スイッチ25の検出状態が変化することで新たな検出状態を示すドアコマンドに更新される)に格納されているドアコマンドが示すドア開放検出スイッチ25の検出状態と、を比較し、ドア開放検出スイッチ25の検出状態に変化があるか否かを判定する(Sk306)。
Sk306のステップにおいてドア開放検出スイッチ25の検出状態に変化がなければ、ドアコマンド送信要求1が設定されているか否か、すなわちメイン制御部41の起動またはゲームの終了に伴いドアコマンドの送信が要求されているか否かを判定し(Sk307)、ドアコマンド送信要求1が設定されていなければ、ドア監視処理を終了し、図37のフローチャートに復帰する。
Sk306のステップにおいてドア開放検出スイッチ25の検出状態に変化がある場合、またはSk307のステップにおいてドアコマンド送信要求1が設定されている場合には、ドアコマンド送信要求1をクリアするとともに、ドアコマンド送信要求2を設定し(Sk308)、取得したドアセンサ履歴(変化後のドア開放検出スイッチ25の検出状態)に基づくドアコマンドを生成してドアコマンド格納領域に格納する(Sk309)ことで、変化後のドアコマンドの送信を命令した後、ドア監視処理を終了し、図37のフローチャートに復帰する。
図42は、メイン制御部41が前述したタイマ割込処理(メイン)のタイマ割込2内において実行するコマンド送信処理の制御内容を示すフローチャートである。
コマンド送信処理では、まず、当該コマンド送信処理が行われるタイマ割込処理(メイン)のSk2のステップにおいて更新した送信完了フラグの値が0か否か、すなわち当該タイマ割込処理の開始時点においてシリアル通信回路511がコマンドデータの送信中、或いはコマンドデータの送信待ちの状態か否かを判定し(Sk401)、送信完了フラグの値が0の場合、すなわちシリアル通信回路511がコマンドデータの送信中、或いはコマンドデータの送信待ちの状態であれば、コマンド送信処理を終了し、図37に示すフローチャートに復帰する。
Sk401のステップにおいて送信完了フラグの値が0でなければ、ドアコマンド送信要求2が設定されているか、すなわちドアコマンドの送信が命令されているか否かを判定する(Sk402)。
Sk402のステップにおいてドアコマンド送信要求2が設定されている場合には、ドアコマンド送信要求2をクリアし(Sk403)、ドアコマンド格納領域に設定されているドアコマンドを読み出してコマンドバッファに格納し(Sk404)、コマンド格納処理を行ってコマンドバッファ内のドアコマンドを送信データレジスタ561に転送し(Sk408)、図37に示すフローチャートに復帰する。
Sk402のステップにおいてドアコマンド送信要求2が設定されていない場合には、操作検出コマンド送信要求が設定されているか否か、すなわち操作検出コマンドの送信が命令されているか否かを判定する(Sk405)。
Sk405のステップにおいて操作検出コマンド送信要求が設定されていない場合には、図37に示すフローチャートに復帰し、操作検出コマンド送信要求が設定されている場合には、操作検出コマンド送信要求をクリアし(Sk406)、操作検出コマンド格納領域に設定されている操作検出コマンドを読み出してコマンドバッファに格納し(Sk407)、コマンド格納処理を行ってコマンドバッファ内の操作検出コマンドを送信データレジスタ561に転送し(Sk408)、図37に示すフローチャートに復帰する。
図43は、メイン制御部41が前述したタイマ割込処理(メイン)において電断フラグが設定されていると判定した場合に実行する電断処理(メイン)の制御内容を示すフローチャートである。
電断処理(メイン)においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Sm1)。尚、前述したIレジスタ及びIYレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
次いで、破壊診断用データ(本実施例では、5A(H))をセットして(Sm2)、全ての出力ポートを初期化する(Sm3)。次いでRAM507の全ての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし(Sm4)、RAM507へのアクセスを禁止する(Sm5)。
その後、電圧が低下してCPU505が停止するか、ユーザリセット信号が入力されて再起動するか、の待機状態に移行する。この待機状態では、乱数ラッチフラグレジスタの値に基づいて乱数値がラッチされているか否か、すなわち乱数値レジスタ559Aに数値データが取り込まれているか否かを判定し(Sm6)、乱数値がラッチされていれば、乱数値レジスタ559Aから内部抽選用の乱数値を読み出す(Sm7)ようになっており、これら以外の処理は行われない。Sm7のステップにおいて乱数値レジスタ559から内部抽選用の乱数値が読み出されると乱数ラッチフラグレジスタがクリアされ、新たな数値データの取込が許可されることとなる。また、Sm7のステップにおいては、内部抽選用の乱数値を読み出すものの、読み出した乱数値を用いる訳ではなく、スタートスイッチ7の操作に応じて新たな乱数値の取込を可能とするためにダミーとして読み出すものである。
そしてこの待機状態のまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にメイン制御部41は動作停止する。また、この待機状態において、電圧が低下せずにユーザリセット信号が入力されると前述した起動処理(メイン)がユーザモードから実行され、RAM507の格納データが正常であれば、元の処理に復帰することとなる。
尚、本実施例では、RAM507へのアクセスを禁止した後、乱数値がラッチされているか否かを監視し、乱数値がラッチされている場合にラッチされた乱数値を読み出す処理以外には行わない構成であるが、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)のユーザモードからプログラムをスタートさせる構成としても良い。
本実施例のメイン制御部41は、システムリセットであるかユーザリセットであるかに関わらず、RAM507へのアクセスが許可された後、他の処理を行うことなく、まず、RAM507の全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算し、その後、計算したRAMパリティから格納データが正常か否かの判定を行う前に、RAM507の格納データが正常か否かに関わらず共通して行う必要のある処理を行い、その後、RAMパリティに基づいてRAM507の格納データが正常か否かの判定を行うようになっている。
このため、これらRAM507の格納データが正常か否かに関わらず共通して行う必要のある処理を、RAM507の格納データが正常と判定された場合と異常と判定された場合とで個別に実行する必要がないため、起動時の処理に用いるプログラム容量を削減することができる。
また、メイン制御部41の起動後、RAM507へのアクセスが許可された後、他の処理を行う前にRAMパリティの計算が行われるので、RAM507に対して何らのアクセスも行われる前の状態で算出されたRAMパリティに基づいて格納データが正常か否かの判断が行われるため、データが正常か否かの判定の信頼性を高めることができる。
また、電断処理において、RAM507の未使用領域及び未使用スタック領域を含む全てのデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、格納するとともに、復旧時においてRAM507における未使用領域及び未使用スタック領域を含む全ての領域に格納されているデータに基づいて計算したRAMパリティが0か否かを判定することで、RAM507のデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができるうえに、未使用領域や未使用スタック領域に不正なプログラムやデータが格納された場合でも、これら不正なプログラムやデータが格納されたまま復帰してしまうことを防止できる。
また、RAMパリティを計算した後、計算したRAMパリティから格納データが正常か否かの判定を行う前に、RAM507の格納データが正常か否かに関わらず共通して行う処理として、RAM507に格納されている各スイッチ入力データ、確定データ、エッジデータ、すなわち各スイッチの検出状況を示すデータをクリアするようになっており、メイン制御部41の起動時においてRAM507のデータが正常であり、以前の制御状態に復帰させる場合でも以前の制御状態には復帰させない場合でも、割込が許可された後、速やかにスイッチの検出状態のチェックを開始することが可能となる。
本実施例のスロットマシン1におけるメイン制御部41は、システムリセット時、すなわち電源投入などに伴いシステムリセット信号が入力されたときに、CPU505がROM506などに記憶されているセキュリティチェックプログラム506Aを読み出して実行することにより、セキュリティモードとなる。
このときには、セキュリティチェックプログラム506Aに対応した処理としてセキュリティチェック処理が実行される。ここで、メイン制御部41がセキュリティモードとなるセキュリティ時間は、ROM506のプログラム管理エリアに記憶されているセキュリティ時間設定KSESのビット番号[2−0]やビット番号[4−3]に予め格納されたビット値に応じて、一定の固定時間とは異なる時間成分を含むことができる。
例えば、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値が“000”以外の値であれば、図9(D)に示す設定内容に対応して、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値が“00”以外の値であれば、図9(C)に示すショートモード又はロングモードに対応して、システムリセットや電源投入がなされるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる。
こうして設定されたセキュリティ時間が経過するまでは、ROM506に記憶されているユーザプログラムの実行が開始されない。そして、乱数回路509による乱数値となる数値データの生成動作も、メイン制御部41がセキュリティモード中である期間では、開始されないようにすれば良い。これにより、電源投入等のシステムリセットによる動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
一例として、スロットマシン1の機種毎に、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を異なる値に設定する。この場合には、セキュリティモードの延長時間を、スロットマシン1の機種毎に異ならせることができ、スロットマシン1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することが困難になる。また、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“01”又は“10”に設定することにより、可変設定時間を、システムリセット毎に異ならせることができる。これにより、スロットマシン1の動作開始タイミングから乱数回路509の動作開始タイミングを特定することは著しく困難になる。
図44は、メイン制御部41に内蔵された乱数回路509の動作を説明するためのタイミングチャートである。また、図44(A)では、遊技制御基板40に搭載された制御用クロック生成回路42により生成される制御用クロックCCLKを示している。図44(B)では、乱数用クロック生成回路43により生成される乱数用クロックRCLKを示している。図44(A)及び(B)に示すように、制御用クロックCCLKの発振周波数と、乱数用クロックRCLKの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。
図44(B)に示すように、乱数用クロックRCLKは、タイミングT10,T11,T12,…においてローレベルからハイレベルに立ち上がる。そして、乱数用クロックRCLKは、メイン制御部41の乱数用外部クロック端子ERCに供給され、図11に示す乱数回路509が備えるクロック用フリップフロップ552におけるクロック端子CKに入力される。クロック用フリップフロップ552は、逆相出力端子(反転出力端子)QバーからD入力端子へとフィードバックされるラッチ用クロックRC0を、クロック端子CKに入力される乱数用クロックRCLKの立ち上がりエッジに応答して取り込み(ラッチして)、正相出力端子(非反転出力端子)Qから乱数更新クロックRGKとして出力する。これにより、乱数更新クロックRGKは、図44(C)に示すように、タイミングT10,T12,T14,…において、ローレベルからハイレベルへと立上り、乱数用クロックRCLKの発振周波数の1/2の発振周波数を有する信号となる。例えば、乱数用クロックRCLKの発振周波数が20MHzであれば、乱数更新クロックRGKの発振周波数は10MHzとなる。そして、乱数用クロックRCLKの発振周波数は制御用クロックCCLKの発振周波数の整数倍にも整数分の1にもならないことから、乱数更新クロックRGKの発振周波数は、制御用クロックCCLKの発振周波数とは異なる周波数となる。乱数生成回路553は、例えば乱数更新クロックRGKの立上りエッジに応答して、カウント値順列RCNにおける数値データを更新する。乱数列変更回路555は、乱数列変更設定回路556による乱数更新規則の設定に基づき、乱数生成回路553から出力されたカウント値順列RCNにおける数値データの更新順を変更したものを、乱数列RSNとして出力する。こうして、乱数列RSNにおける数値データは、例えば図44(D)に示すように、乱数更新クロックRGKの立上りエッジなどに応答して更新される。
このように、乱数用クロック生成回路112により生成される乱数用クロックRCLK
の発振周波数と、制御用クロック生成回路42により生成される制御用クロックCCLKの発振周波数とは、互いに異なっており、また、一方の発振周波数が他方の発振周波数の整数倍となることもない。そのため、乱数回路509のクロック用フリップフロップ552により生成される乱数更新クロックRGKやラッチ用クロックRC0の発振周波数は、乱数用クロックRCLKの発振周波数の1/2となるが、制御用クロックCCLKの発振周波数や、制御用クロックCCLKの発振周波数の1/2となる内部システムクロックSCLKの発振周波数とは、異なるものとなる。こうして、制御用クロックCCLKや内部システムクロックSCLKと、乱数更新クロックRGKとに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数生成回路553や乱数列変更回路555により生成される乱数列RSNにおける数値データの更新タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
さらに、制御用クロックCCLKの発振周波数と、乱数更新クロックRGKの発振周波数を比較し、双方の発振周波数が同期するか否かを監視し、双方の発振周波数が同期した場合には、乱数更新クロックPGKの入力状態に異常が発生したと判定し、ゲームの進行を不能化することが好ましく、このようにすることで、乱数値となる数値データの更新動作に異常が発生している状態でゲームの進行制御が行われてしまうことを防止できる。
クロック用フリップフロップ552から出力されるラッチ用クロックRC0は、乱数更新クロックRGKの反転信号となり、その発振周波数は乱数更新クロックRGKの発振周波数と同一で、その位相は乱数更新クロックRGKの位相とπ(=180°)だけ異なる。ラッチ用クロックRC0は、分岐点BR1にてラッチ用クロックRC1とラッチ用クロックRC2とに分岐される。したがって、例えば図44(E)に示すように、各ラッチ用クロックRC0、RC1、RC2はいずれも、共通の周期で信号状態が変化する発振信号となる。ラッチ用クロックRC1は、ラッチ用フリップフロップ557Aのクロック端子CKに入力される。ラッチ用クロックRC2は、ラッチ用フリップフロップ557Bのクロック端子CKに入力される。
こうして、ラッチ用クロックRC0を分岐することにより生成されるラッチ用クロックRC1、RC2の発振周波数は、制御用クロックCCLKや内部システムクロックSCLKの発振周波数とは、異なるものとなる。したがって、制御用クロックCCLKや内部システムクロックSCLKと、ラッチ用クロックRC1、RC2とに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立上りエッジに応答して、スタートスイッチ7から伝送されて入力ポートP0に供給されたゲーム開始信号SS1を取り込み(ラッチして)、ゲーム開始時ラッチ信号SL1として出力端子Qから出力する。そして、乱数ラッチセレクタ558Aにおける取込方法が入力ポートP0への信号入力に指定されていれば、ゲーム開始時ラッチ信号SL1が乱数ラッチ信号LL1として出力される。これにより、例えば図44(F)に示すようなタイミングでオフ状態(ローレベル)とオン状態(ハイレベル)とで信号状態が変化するゲーム開始信号SS1は、ラッチ用クロックRC1が立ち上がるタイミングT11、T13、T15、…にてラッチ用フリップフロップ557Aに取り込まれた後、図44(G)に示すようなタイミングT11、T13で信号状態がオフ状態とオン状態とで変化する乱数ラッチ信号LL1となって、乱数ラッチセレクタ558Aから出力される。
乱数値レジスタR1Dとなる乱数値レジスタ559Aは、乱数列変更回路555から出力される乱数列RSNにおける数値データを、乱数ラッチセレクタ558Aからクロック端子へと入力される乱数ラッチ信号LL1の立上りエッジに応答して取り込み(ラッチして)、記憶データとなる数値データを更新する。
例えば図44(G)に示すように、タイミングT11にて乱数ラッチ信号LL1がオフ状態からオン状態に変化する立上りエッジが生じた場合には、このタイミングT11にて乱数列変更回路555から出力されている乱数列RSNにおける数値データが、図44(H)に示すように、乱数値レジスタR1Dに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタR1Dとなる乱数値レジスタ559Aでは、スタートスイッチ7の操作が検出されたことに基づき、乱数値として用いられる数値データを取得して記憶することができる。
このように、ラッチ用フリップフロップ557Aは、ラッチ用クロックRC1の立上りエッジに応答して、スタートスイッチ7から伝送されて入力ポートP0に供給されたゲーム開始信号SS1を取り込み(ラッチして)、ゲーム開始時ラッチ信号SL1として出力端子Qから出力することとなるが、この際、スタートスイッチ7の操作が有効か否かに関わらず、スタートスイッチ7から伝送されて入力ポートP0に供給されたゲーム開始信号SS1を取り込み(ラッチして)、ゲーム開始時ラッチ信号SL1として出力端子Qから出力し、これに伴い、乱数ラッチセレクタ558Aが、乱数列変更回路555から出力される乱数列RSNにおける数値データをラッチして、乱数値レジスタR1Dとなる乱数値レジスタ559Aの数値データを更新するようになっている。すなわちラッチ用フリップフロップ557Aは、スタートスイッチ7の操作が有効な状態か否かに関わらず、スタートスイッチ7の立上りを検知すれば良いので、ラッチの契機となる信号の検出回路を簡素な構成にできる。
また、図8(B)に示すような第2乱数初期設定KRS2のビット番号[0]におけるビット値を“1”とすれば、例えば乱数回路509にて生成される乱数値となる数値データのスタート値を、システムリセット毎に変更することができる。これにより、例え乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタ559Aから読み出される数値データを特定することは困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
このように本実施例では、セキュリティ時間設定KSESのビット番号[4−3]におけるビット値を“00”以外の値とすることにより、電源投入等に伴うシステムリセットごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる。これにより、電源投入等に伴うシステムリセットによる動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
また、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値を“000”以外の値とすることにより、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる。これにより、電源投入等に伴うシステムリセットによる動作開始タイミングから、乱数回路509の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
また、乱数用クロック生成回路43により生成される乱数用クロックRCLKの発振周波数と、制御用クロック生成回路42により生成される制御用クロックCCLKの発振周波数とは、互いに異なっており、また、一方の発振周波数が他方の発振周波数の整数倍となることもない。そのため、乱数回路509のクロック用フリップフロップ552により生成される乱数更新クロックRGKやラッチ用クロックRC0の発振周波数は、乱数用クロックRCLKの発振周波数の1/2となるが、制御用クロックCCLKの発振周波数や、制御用クロックCCLKの発振周波数の1/2となる内部システムクロックSCLKの発振周波数とは、異なるものとなる。こうして、制御用クロックCCLKや内部システムクロックSCLKと、乱数更新クロックRGKとに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数生成回路553や乱数列変更回路555により生成される乱数列RSNにおける数値データの更新タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。また、ラッチ用クロックRC0を分岐することにより生成されるラッチ用クロックRC1、RC2の発振周波数も、制御用クロックCCLKや内部システムクロックSCLKの発振周波数とは、異なるものとなる。こうして、制御用クロックCCLKや内部システムクロックSCLKと、ラッチ用クロックRC1、RC2とに同期が生じることを防ぎ、CPU505の動作タイミングからは、乱数回路509にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、CPU505の動作タイミングから乱数回路509における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
メイン制御部41に内蔵又は外付けされた乱数回路509では、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”とされたことに対応して、乱数生成回路553から出力されるカウント値順列RCNや乱数列変更回路555から出力される乱数列RSNにおける数値データのスタート値を、システムリセット毎に変更することができる。これにより、例え乱数回路509の動作開始タイミングを特定することができたとしても、乱数回路509が備える乱数値レジスタ559Aから読み出される数値データを特定することは困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
メイン制御部41が備える外部バスインタフェース501では、内部リソースアクセス制御回路501Aにより、例えばROM506の記憶データといった、メイン制御部41の内部データにつき、CPU505等の内部回路以外による外部読出が制限される。これにより、例えばROM506に記憶されているユーザプログラムといった、ゲームを制御するプログラムがメイン制御部41の外部から読み出されて解析などに提供されることを防止できる。そして、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
メイン制御部41に内蔵又は外付けされた乱数回路509では、周波数監視回路551により乱数用クロックRCLKにおける周波数異常が検知されたときに、内部情報レジスタCIFのビット番号[4]に格納される内部情報データCIF4のビット値が“1”に設定される。そして、CPU505では、内部情報データCIF4の読出値が“1”であると連続して判定された回数が、クロック異常判定値に達したと判定されたときに、乱数回路509の動作状態に異常が発生したと判定する。そして乱数回路509の動作状態に異常が発生したと判定された場合には、メイン制御部41の動作が停止することとなる。これにより、乱数用クロックRCLKとして不正信号を入力することによる不正行為を確実に防止することができる。
メイン制御部41に内蔵されたCPU505は、乱数回路509に対するラッチ信号の出力に相当する乱数値取込指定レジスタRDLTへのビット値“1”の書き込みを行い、乱数値レジスタ559Aを複数回読み出す。そして、読み出した数値データの全ビットを監視して、変化しないビットデータの有無に基づき、乱数回路509の動作状態に異常が発生したと判定する。そして乱数回路509の動作状態に異常が発生したと判定された場合には、メイン制御部41の動作が停止することとなる。これにより、乱数回路509の動作状態に異常が発生していることを確実かつ容易に検知して、不正行為を防止することができる。特に、乱数回路509により数値データが正常に更新されないまま、すなわち数値データが固定されたままの状態で内部抽選を行わせることで、常に特別役を当選させるなどの不正を防止できる。
メイン制御部41に内蔵又は外付けされた乱数回路509は、第2乱数初期設定KRS2のビット番号[0]におけるビット値が“1”である場合に、システムリセット毎に乱数値となる数値データのスタート値を変更する。このときには、例えばメイン制御部41に内蔵されたフリーランカウンタのカウント値などを用いて、システムリセット毎に変更されるスタート値を決定すれば良い。これにより、システムリセット等のタイミングにより異なる初期値決定用データを用いて初期値を決定することができ、狙い撃ちなどによる不正行為を防止することができる。
尚、本実施例では、セキュリティモードの延長時間が、セキュリティ時間設定KSESのビット番号[2−0]におけるビット値に対応して、予め選択可能な複数の延長時間のいずれかとなり、この延長時間はシステムリセット毎に変更されないものであったが、例えばROM506に記憶されたユーザプログラムにおける設定などにより、固定時間に加算される延長時間を、システムリセット毎に複数の延長時間のいずれかに決定するようにしても良い。この場合には、延長時間がいずれも、最長の可変設定時間に比べて、長くなるように定義しておく。そして、大まかな延長時間を決定した後、詳細な延長時間を決定すれば良い。これにより、電源投入等に伴うシステムリセット時にセキュリティモードとなるセキュリティ時間を、システムリセット毎に大きく変化させることが可能になり、スロットマシン1の動作開始タイミングから乱数回路509の動作開始タイミングや更新される数値データなどを特定することが、より困難になる。
また、セキュリティモードの延長時間などは、メイン制御部41を構成するチップ毎に付与されるIDナンバーを用いて決定されるようにしても良い。一例として、IDナンバーに所定のスクランブル処理を施す演算や、IDナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値に対応して延長時間を設定しても良い。この場合には、例えばシステムリセット毎に延長時間を決定するために用いる演算式を変更することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしても良い。さらに、例えばIDナンバーを用いて延長時間を決定するための演算式をシステムリセット時に格納したフリーランカウンタのカウント値に対応して決定するといったように、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしても良い。また、乱数回路509にて生成される乱数のスタート値をシステムリセット毎に変更する場合にも、フリーランカウンタのカウント値と、IDナンバーとを組み合わせて使用することなどにより、乱数のスタート値を決定しても良い。
また、システムリセット時には、セキュリティモードから開始し、乱数回路509の設定を行う乱数回路設定処理を行うとともに、乱数回路設定処理において乱数の更新規則の設定や乱数のスタート値の設定などが行われる一方でユーザリセット時には、セキュリティモードは省略され、ユーザモードから開始することとなる。すなわち、システムリセット時には、乱数の初期値が設定し直されるのに対して、ユーザリセット時には、乱数回路509の設定は行われず、リセット前からの状態のまま乱数となる数値データの更新が継続されることとなる。これにより、意図的にユーザリセットを行った場合でもユーザリセットのタイミングから乱数回路509における乱数値となる数値データを特定することは困難となり、狙い撃ちなどによる不正行為をさらに効果的に防止することができる。
また、セキュリティモード内で乱数のスタート値の設定などを含む乱数回路の設定が行われ、数値データの更新が開始され、その後ユーザモードへ移行した後に、タイマ割込処理の実行が許可されるようになっている。すなわちタイマ割込処理の実行が許可される前に乱数のスタート値の設定が行われ、この設定された乱数のスタート値から数値データの更新が開始されるため、タイマ割込処理中に実行されるスイッチ類の判定状況からタイマ割込処理の許可されたタイミングまではある程度特定することはできるものの、乱数回路509の数値データの更新が開始されたタイミングを特定することはできないため、乱数回路509における乱数値となる数値データを特定することは困難となり、狙い撃ちなどによる不正行為をさらに効果的に防止することができる。
本実施例では、メイン制御部41の外部に設けられた乱数用クロック生成回路43により、制御用クロック生成回路42で生成される制御用クロックCCLKの発振周波数とは異なる発振周波数を有する乱数用クロックRCLKを生成して、乱数回路509に供給するものであったが、メイン制御部41のCPU505に供給されるクロック信号と、乱数回路509に供給されるクロック信号とが、共通のクロック生成回路に含まれる1つの発振器により生成された発振信号を用いて、生成されるようにしても良い。この場合には、例えば乱数用クロックRCLKと制御用クロックCCLKをそれぞれ生成するための分周器などを設け、ラッチ用クロックRC0、RC1、RC2と制御用クロックCCLKあるいは内部システムクロックSCLKとの同期が生じにくくなるように、各分周器における分周比などを設定すれば良い。制御用クロック生成回路42と乱数用クロック生成回路43とは、その全部又は一部が、メイン制御部41の内部に設けられても良いし、メイン制御部41の外部に設けられても良い。
本実施例では、乱数回路509が乱数用クロック生成回路43により生成された乱数用クロックRCLKの供給を受け、クロック用フリップフロップ552により、乱数更新クロックRGKとラッチ用クロックRC0とを生成するものであったが、例えば乱数用クロック生成回路43といった、乱数回路509の外部において、乱数更新クロックRGKやラッチ用クロックRC0となる発振信号が生成されるようにしても良い。あるいは、乱数回路509の内部にて、乱数更新クロックRGKを生成するための回路と、ラッチ用クロックRC0を生成するための回路とを、別個に設けるようにしても良い。一例として、クロック用フリップフロップ552と同様のフリップフロップにより乱数更新クロックRGKを生成する一方で、乱数更新クロックRGKの信号状態を反転させる反転回路を設け、その反転回路から出力される信号を、ラッチ用クロックRC0として用いるようにしても良い。
本実施例に適用した乱数回路509では、乱数ラッチフラグデータRDFM0が“1”の状態、すなわち乱数値レジスタR1Dに数値データが取り込まれている状態では、新たな乱数値の取込要求が発生した場合でも、新たな数値データを乱数値レジスタR1Dに取り込まないようになっており、このような状態では、乱数値レジスタR1Dの数値データが読み出されて、乱数ラッチフラグデータRDFM0がクリアされるまで新たな数値データを乱数値レジスタR1Dに取り込むことが不可能となる。
このため、図45に示すように、スタートスイッチ7の操作によりゲーム開始信号SS1が入力されて数値データがラッチされ、乱数値レジスタR1Dに格納された後、この格納された数値データが読み出されて乱数値格納ワークの数値データが更新されるまでは、乱数ラッチフラグデータRDFM0が“1”の状態となることで、格納されている数値データが保持され、その間にゲーム開始信号SS1が入力されても新たな数値データに上書きされてしまうことがないので、静電気などによりゲーム開始信号SS1の信号線にノイズがのっても数値データが変わってしまうことがない。
尚、乱数値レジスタR1Dに数値データが取り込まれている状態において新たな数値データを乱数値レジスタR1Dに取り込まないようにする構成としては、新たな数値データのラッチを禁止する構成であっても良いし、新たな数値データをラッチするものの、乱数値レジスタR1Dへの書き込みを禁止する構成であっても良い。
上記のように、本実施例では、乱数値レジスタR1Dに数値データが取り込まれている状態では、この格納された数値データが読み出されるまで、格納されている数値データを保持する構成を採用しているが、この場合には、スタートスイッチ7の操作がゲームの進行上有効でない期間においてなされた場合でも、ラッチされて乱数値レジスタR1Dに数値データが保持されたままとなり、その後、スタートスイッチ7の操作が有効となってスタートスイッチ7が操作された場合、本来、ゲームを開始させるためにスタートスイッチ7が操作されたタイミングとは異なるタイミングでラッチされた数値データによって内部抽選が行われてしまうという新たな問題が生じることとなる。
これに対して本実施例では、約0.56ms毎に基本処理に割り込んで実行するタイマ割込処理4回に1回(約2.24ms)毎に実行される乱数値読出処理において乱数値レジスタR1Dに数値データがラッチされているか否か、すなわち乱数ラッチフラグが設定されているか否かを確認し、乱数値レジスタR1Dに数値データがラッチされている場合には、乱数値レジスタR1Dの数値データを読み出すようになっている。これにより、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。すなわち一定時間間隔(約2.24ms)毎に、乱数値レジスタR1Dに数値データがラッチされているか否かを確認し、ラッチされていれば乱数値レジスタR1Dの数値データを読み出すことで、乱数値レジスタR1Dに数値データが保持されている状態を解除し、乱数値レジスタR1Dに新たな数値データの取込が可能な状態となる。
このため、図46に示すように、ゲームの開始が許可されていない状態でスタートスイッチ7が操作されて乱数値レジスタR1Dに数値データが格納され、その状態が保持されていても、一定時間(乱数値読出処理の実行間隔である約2.24ms)以内に乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態となるので、ゲームの開始が許可される前のスタートスイッチ7の操作によりラッチされた数値データが乱数値レジスタR1Dに保持されても、ゲームの開始が許可された後にスタートスイッチ7が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
また、乱数値読出処理では、乱数値レジスタR1Dに数値データがラッチされている場合に、数値データを読み出すだけではなく、RAM507の乱数値格納ワークの値を読み出した数値データに更新することにより、乱数値レジスタR1Dに新たな数値データがラッチされる毎に、ラッチされた数値データがその後の乱数値読出処理において読み出され、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
そして、ゲームの開始時に、乱数値レジスタR1Dに格納されている数値データではなく、RAM507の乱数値格納ワークに格納されている数値データを取得して内部抽選を行うので、乱数値レジスタR1Dから数値データが読み出された後に、スタートスイッチの信号線にノイズがのって数値データが変わってしまっても内部抽選に用いる乱数値格納ワークの数値データに影響することがなく、このような場合であってもスタートスイッチ7が操作されたタイミングでラッチした数値データを用いて内部抽選を行うことができる。
また、本実施例では、電断した際に乱数値レジスタR1Dの値は保持されないが、乱数値格納ワークが割り当てられたRAM507は、電断しても格納データが保持されるようになっているため、スタートスイッチ7の操作が検出された後、内部抽選を開始する前の段階で瞬停などにより乱数値レジスタR1Dの値が消失しても乱数値格納ワークの数値データは維持されるため、スタートスイッチ7が操作されたタイミングでラッチされた数値データを内部抽選に用いることができる。
また、本実施例では、スタートスイッチ7の操作が検出された時点で、RAM507の乱数値格納ワークに格納されている数値データを同じくRAM507に割り当てられた抽選用ワークに設定し、その後の内部抽選において抽選用ワークに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようになっており、スタートスイッチ7の操作が検出された時点から内部抽選が終了するまでに乱数値格納ワークに格納されている数値データが更新されても、スタートスイッチ7の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことがないが、スタートスイッチ7の操作が検出された時点でRAM507の乱数値格納ワークに格納されている数値データをCPU505のワークレジスタに設定し、その後の内部抽選においてワークレジスタに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良い。
また、乱数値格納ワークに格納されている数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良いが、この場合には、スタートスイッチ7の操作が検出された時点から内部抽選が終了するまでの期間において、タイマ割込処理(メイン)を禁止することなどにより、乱数値格納ワークに格納されている数値データが新たにラッチされた数値データによって更新されてしまうことがないようにすることで、スタートスイッチ7の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことを防止できる。
また、本実施例では、タイマ割込処理(メイン)4回に1回の割合でスイッチ類の検出信号を入力し、2回連続して検出信号の状態が一致した場合、すなわち約2.24msの期間検出信号の状態が同じ場合に、該当するスイッチ類の検出状態を確定させる。このため、スタートスイッチ7の操作(offからonへの変化)を検知するのに約2.24msかかることとなるが、乱数値読出処理がこの時間よりも短いと、スタートスイッチがoffからonに変化した時点から検知されるまでの間に乱数値格納ワークの数値データが、ノイズなどによって新たにラッチされた数値データに更新されてしまう可能性がある。一方、乱数値読出処理がこの時間よりも長いとスタートスイッチ7の操作のタイミングでラッチした数値データが乱数値格納ワークの数値データに反映されない可能性がある。
これに対して乱数値読出処理もタイマ割込処理(メイン)4回に1回の割合で実行され、乱数値格納ワークの数値データが更新されるのに要する最小時間も同じ約2.24msであり、スタートスイッチ7がoffからonに変化した時点から検知されるまでに乱数値格納ワークの数値データが新たにラッチされた数値データに更新されてしまうことがなく、かつ、スタートスイッチ7の操作のタイミングでラッチした数値データを乱数値格納ワークの数値データに反映させることができる。
尚、本実施例では、ゲームの開始が許可されていない状態でスタートスイッチ7が操作されて乱数値レジスタR1Dに数値データが格納され、その状態が保持されていても、一定時間(乱数値読出処理の実行間隔である約2.24ms)以内に乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態となることで、ゲームの開始が許可される前のスタートスイッチ7の操作によりラッチされた数値データが乱数値レジスタR1Dに保持されても、ゲームの開始が許可された後にスタートスイッチ7が操作されたタイミングで新たにラッチした数値データを取得することが可能となる構成であるが、乱数値レジスタR1Dに数値データが取り込まれることで乱数割込を発生させるとともに、乱数割込の発生に伴い乱数値レジスタR1Dに格納されている数値データを読み出し、乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態とすることで、ゲームの開始が許可される前のスタートスイッチ7の操作によりラッチされた数値データが乱数値レジスタR1Dに保持されても、ゲームの開始が許可された後にスタートスイッチ7が操作されたタイミングで新たにラッチした数値データを取得することが可能となる構成としても良い。
乱数割込を発生させるためには、乱数割込制御データRDIC0のビット値を“1”に設定すれば良く、このような設定とすることにより、乱数値レジスタR1Dとなる乱数値レジスタ559Aに数値データが取り込まれることで、乱数割込が発生するようになる。
そして、メイン制御部41は、乱数割込が発生した際に、基本処理に割り込んで乱数値ラッチ割込処理を実行すれば良い。尚、乱数割込が発生した際に、他の割込処理の実行中であれば、実行中の割込処理の終了を待って乱数値ラッチ割込処理を実行すれば良い。
図47は、メイン制御部41が乱数割込の発生に伴い実行する上述の乱数値ラッチ割込処理の制御内容を示すフローチャートである。尚、乱数値ラッチ割込処理の実行期間中は自動的に他の割込が禁止される。
乱数値ラッチ割込処理では、まず、使用中のレジスタをスタック領域に退避した後(Sk1001)、乱数値レジスタ559Aから数値データを読み出し(Sk1002)、乱数値格納ワークに格納されている値を、Sk1002において読み出した数値データに更新し(Sk1003)、Sk1001においてスタック領域に退避したレジスタを復帰し(Sk1004)、割込前の処理に戻る。
このように、乱数値レジスタR1Dに数値データが取り込まれることで、乱数割込が発生し、これに伴いメイン制御部41は、基本処理に割り込んで乱数値ラッチ割込処理を実行し、乱数値レジスタR1Dの数値データを読み出すようにすることで、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。すなわち乱数値レジスタR1Dに数値データが取り込まれる毎に、乱数値ラッチ割込処理を実行して乱数値レジスタR1Dの数値データを読み出すことで、乱数値レジスタR1Dに数値データが保持されている状態を解除し、乱数値レジスタR1Dに新たな数値データの取込が可能な状態となる。
このため、図48に示すように、ゲームの開始が許可されていない状態でスタートスイッチ7が操作されて乱数値レジスタR1Dに数値データが格納され、その状態が保持されても、数値データがラッチされたことに伴う割込の発生により乱数値レジスタR1Dの数値データが読み出され、新たにラッチされた数値データを格納可能な状態となるので、ゲームの開始が許可される前のスタートスイッチ7の操作によりラッチされた数値データが乱数値レジスタR1Dに保持されても、ゲームの開始が許可された後にスタートスイッチ7が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
また、乱数値ラッチ割込処理では、乱数値レジスタR1Dにラッチされた数値データを読み出すだけではなく、RAM507の乱数値格納ワークの値を読み出した数値データに更新することにより、乱数値レジスタR1Dに新たな数値データがラッチされる毎に、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
そして、ゲームの開始時に、乱数値レジスタR1Dに格納されている数値データではなく、RAM507の乱数値格納ワークに格納されている数値データを取得して内部抽選を行うので、乱数値レジスタR1Dから数値データが読み出された後に、スタートスイッチの信号線にノイズがのって数値データが変わってしまっても内部抽選に用いる乱数値格納ワークの数値データに影響することがなく、このような場合であってもスタートスイッチ7が操作されたタイミングでラッチした数値データを用いて内部抽選を行うことができる。
また、この変形例では、スタートスイッチ7の操作が検出された時点で、RAM507の乱数値格納ワークに格納されている数値データを同じくRAM507に割り当てられた抽選用ワークに設定し、その後の内部抽選において抽選用ワークに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようになっており、スタートスイッチ7の操作が検出された時点から内部抽選が終了するまでに乱数値格納ワークに格納されている数値データが更新されても、スタートスイッチ7の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことがないが、スタートスイッチ7の操作が検出された時点でRAM507の乱数値格納ワークに格納されている数値データをCPU505のワークレジスタに設定し、その後の内部抽選においてワークレジスタに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良い。
また、乱数値格納ワークに格納されている数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良いが、この場合には、スタートスイッチ7の操作が検出された時点から内部抽選が終了するまでの期間において、乱数割込の発生に伴う乱数値割込処理を禁止することなどにより、乱数値格納ワークに格納されている数値データが新たにラッチされた数値データによって更新されてしまうことがないようにすることで、スタートスイッチ7の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことを防止できる。
尚、この変形例では、乱数値ラッチ割込処理において、乱数値レジスタR1Dの数値データを読み出すようになっているが、乱数値ラッチ割込処理では、乱数値レジスタR1Dに数値データがラッチされた旨を示すラッチフラグをRAM507に設定し、BET処理などの基本処理やタイマ割込処理(メイン)などにおいてラッチフラグがRAM507に設定されているか否かを判定し、RAM507にラッチフラグが設定されていると判定した場合に、乱数値レジスタR1Dの数値データを読み出す構成としても良く、このような構成とした場合でも、ゲームの開始が許可されていない状態でスタートスイッチ7が操作されて乱数値レジスタR1Dに数値データが格納され、その状態が保持されたままとなってしまうことがなく、ゲームの開始が許可された後にスタートスイッチ7が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
また、本実施例では、電源投入時においてメイン制御部41の制御状態を電断前の制御状態に復帰させることや瞬停時に一時的にメイン制御部41の動作が停止してもユーザリセット信号の入力により、動作停止前の制御状態に復帰させることが可能とされており、ゲームの開始条件を満たす規定数の賭数が設定されている状態に復帰することもある。
一方で、電断時や瞬停時は電源電圧が不安定な状態であり、このような状況においてはノイズなどによってゲーム開始信号SS1の入力が検出されて数値データがラッチされ、乱数値レジスタR1Dに格納され、そのまま保持されてしまう虞がある。
これに対して、本実施例では、電断処理(メイン)の終了後、乱数値レジスタR1Dに数値データがラッチされているか否か、すなわち乱数ラッチフラグが設定されているか否かを確認し、乱数値レジスタR1Dに数値データがラッチされている場合には、ダミーで乱数値レジスタR1Dの数値データを読み出す処理を、電圧低下によりメイン制御部41の動作が停止するか、ユーザリセット信号の入力により再起動するまでの間、繰り返し行うようになっている。これにより、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。
このため、瞬停などにより電断処理(メイン)が行われた後、ユーザリセット信号の入力により再起動する場合において、その間に、ノイズなどによって乱数値レジスタR1Dに数値データがラッチされてしまった場合でも、すぐに読み出されることにより乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態となるので、瞬停時にノイズなどによってラッチされた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ7が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
尚、本実施例では、電断処理(メイン)の終了後、乱数値レジスタR1Dに数値データがラッチされているか否か、すなわち数値データが乱数値レジスタR1Dに格納されているか否かを確認し、乱数ラッチフラグが設定されている場合にのみ、乱数値レジスタR1Dに格納されている数値データを読み出すようになっているが、電断処理(メイン)の終了後、数値データが乱数値レジスタR1Dに格納されているか否かに関わらず一律に乱数値レジスタR1Dに格納されている数値データを読み出す処理を繰り返し行うようにしても良い。
さらに、本実施例では、メイン制御部41の起動後、電断前またはユーザリセット前の制御状態に復帰するか否かに関わらず、ゲームの進行制御が開始する前に乱数ラッチフラグが設定されているか否か、すなわち数値データが乱数値レジスタR1Dに格納されているか否かを確認し、乱数値レジスタR1Dに数値データが格納されている場合には、乱数値レジスタR1Dに格納されている数値データを読み出し、乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態となるので、起動後、ゲームの進行制御が開始される前の段階でラッチされ乱数値レジスタR1Dに保持されていた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ7が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
尚、本実施例では、メイン制御部41の起動後、ゲームの進行制御が開始する前に、乱数ラッチフラグが設定されているか否か、すなわちラッチされた数値データが乱数値レジスタR1Dに格納されているか否かを確認し、乱数ラッチフラグが設定されている場合にのみ、乱数値レジスタR1Dに格納されている数値データを読み出すようになっているが、一律に乱数値レジスタR1Dに格納されている数値データを読み出すようにしても良い。
また、メイン制御部41の起動後、電断前またはユーザリセット前の制御状態に復帰するか否かに関わらず、乱数ラッチフラグが設定されていれば、乱数値レジスタR1Dに格納されている数値データを読み出すようになっているが、電断前またはユーザリセット前の制御状態に復帰する場合のみ乱数値レジスタR1Dに格納されている数値データを読み出す構成としても良いし、さらには、電断前またはユーザリセット前の制御状態に復帰する場合であり、かつ復帰する制御状態がゲームを開始可能な状態である場合のみ乱数値レジスタR1Dに格納されている数値データを読み出すようにしても良い。
また、本実施例では、電断処理(メイン)においてRAM507へのアクセスを禁止した後、動作停止状態またはユーザリセットを待機する構成であるが、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)のユーザモードからプログラムをスタートさせる構成としても良く、このような構成とした場合には、電圧の回復を判定した際に、乱数ラッチフラグが設定されているか否かを判定し、乱数ラッチフラグが設定されている場合に、乱数値レジスタR1Dに格納されている数値データを読み出した後、起動処理(メイン)のユーザモードからプログラムをスタートさせる構成とすることが好ましく、このようにすることで、瞬停時においてゲームの進行制御が開始される前の段階で確実に乱数値レジスタR1Dに保持されていた数値データを読み出して乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態とすることが可能となり、ゲームの進行制御が開始される前の段階でラッチされ乱数値レジスタR1Dに保持されていた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ7が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
また、本実施例では、メイン制御部41の起動後、ゲームの進行制御が開始する前の段階でも、電処理の終了後、動作停止状態となるかユーザリセットを待機する期間のいずれにおいても乱数値レジスタR1Dに保持されている数値データを読み出して乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態とすることが可能となる構成であるが、いずれか一方のみ乱数値レジスタR1Dに保持されている数値データを読み出して乱数値レジスタR1Dに新たにラッチされた数値データを格納可能な状態とする構成としても良く、このような構成であっても、ゲームを開始可能な状態でスタートスイッチ7が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことを防止できる。
本実施例のメイン制御部41は、ゲームを開始可能な状態でスタートスイッチ7が操作されたか否かをスタートスイッチ7の立上りを示す立上りエッジが設定されているか否かに基づいて判定する。
スタートスイッチ7の立上りエッジは、一定間隔毎に割り込んで実行するタイマ割込処理(メイン)4回に1回毎(約2.24ms毎)に実行するスイッチ入力判定処理において、スタートスイッチ7の検出状態に基づく確定データがoffからonに変化したことを条件に設定される。確定データは、スイッチ入力判定処理毎に前回の検出状態と今回の状態が一致する場合にのみ更新されるデータであることから、スタートスイッチ7の立上りエッジは、スタートスイッチ7の検出状態がoffの状態である場合に、スイッチ入力判定処理において2回連続してスタートスイッチ7のonが検知されることで設定されることとなる。
一方、スイッチ入力判定処理の実行間隔は約2.24msであることから、スタートスイッチ7がonとなってから最低でも約2.24ms以上onが継続して検知されることを条件にスタートスイッチ7の立上りエッジが設定され、スタートスイッチ7の操作が検出されることとなる。
このように本実施例では、図49に示すように、ゲームを開始可能な状態においてスタートスイッチ7のonが一定期間(最低でも約2.24ms)以上継続して検知されたことを条件に、スタートスイッチ7の操作が検出され、ゲームが開始されるようになっており、静電気などのノイズによってスタートスイッチ7のonが誤って検出されたにも関わらず、ゲームが開始してしまうことを防止できる。
尚、本実施例では、ゲームを開始可能な状態においてスタートスイッチ7のonが一定期間(最低でも約2.24ms)以上継続して検知されたことを条件に、スタートスイッチ7の操作が検出され、ゲームが開始されるようになっているが、例えば、1回のスイッチ入力判定処理においてスタートスイッチ7の検出状態を複数回確認し、全てにおいてonが判定されたことを条件に、スタートスイッチの操作が検出され、ゲームが開始されるようにしても良く、このような構成であっても静電気などのノイズによってスタートスイッチ7のonが誤って検出されたにも関わらず、ゲームが開始してしまうことを防止できる。
また、本実施例では、図49に示すように、ゲームを開始可能な状態において、スタートスイッチ7の立上りエッジが検出されている場合に、乱数ラッチフラグが設定されているか否か、すなわちスタートスイッチ7の操作により数値データがラッチされ、乱数値レジスタR1Dに数値データが格納されているか否かを確認し、乱数値レジスタR1Dに数値データが格納されている場合にのみゲームを開始させるようになっている。
このため、乱数値レジスタR1Dに数値データが格納されていない、すなわち内部抽選に用いる乱数値がラッチされていないにも関わらず、ゲームが開始して内部抽選が行われてしまうことがなく、スタートスイッチ7が操作されたタイミングでラッチされた数値データを用いて確実に内部抽選を行うことができる。
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。
本実施例では、メイン制御部41がサブ制御部91に対して、BETコマンド、クレジットコマンド、内部当選コマンド、フリーズコマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1バイトの拡張データとからなり、サブ制御部91は、種類データからコマンドの種類を判別できるようになっている。
BETコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されていない状態において、メダルが投入されるか、1枚BETスイッチ5またはMAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、BETコマンドは、賭数の設定操作がなされたときに送信されるので、BETコマンドを受信することで賭数の設定操作がなされたことを特定可能である。
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ7が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ7が操作されたことを特定可能である。
フリーズコマンドは、後述するフリーズ状態に制御する旨が決定された場合に、フリーズ状態に制御するか否か及びフリーズ状態に制御する場合にはそのタイミングを示すコマンドであり、後述するフリーズ抽選の終了時に送信される。
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール2L、2C、2Rの回転が開始されたときに送信される。
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ8L、8C、8Rが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ8L、8C、8Rが操作されたことを特定可能である。
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
遊技状態コマンドは、次ゲームの遊技状態を特定可能なコマンドであり、ゲームの終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部41の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部41の制御状態が初期化されたことを特定可能である。
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちon(開放状態)/off(閉状態)を示すコマンドであり、電源投入時、1ゲーム終了時(ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点)、ドア開放検出スイッチ25の検出状態が変化(onからoff、offからon)した時に送信される。
操作検出コマンドは、操作スイッチ類(1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)のうち検出状態(on/off)が変化したスイッチ、検出状態がoffからonに変化したのか、onからoffに変化したのか及び他のスイッチの検出状態(on/off)を示すコマンドであり、これら操作スイッチ類のいずれかの検出状態が変化したときに送信される。
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、非初期化領域に割り当てられたコマンドバッファ内のコマンドデータを新たに生成したコマンドデータに更新するとともに、シリアル通信回路511の送信データレジスタ561に転送することで、サブ制御部91に送信される。
一方、ドアコマンドは、タイマ割込処理(メイン)のドア監視処理において生成され、ドアコマンド格納領域に格納される。ドアコマンド格納領域には、電源投入時または1ゲーム終了時にその時点のドア開放検出スイッチ25の検出状態を示すドアコマンドが格納され、ドア開放検出スイッチ25の検出状態が変化した時にその変化後の検出状態を示すドアコマンドが格納される。また、ドアコマンド格納領域に格納されたドアコマンドは、当該ドアコマンドが送信された後もクリアされることがなく、その後、新たに格納されるドアコマンドによって上書きされるようになっている。尚、電源投入時または1ゲーム終了時には、ドアコマンド格納領域に格納されているドアコマンドの送信を要求するドアコマンド送信要求1が設定され、ドアコマンド送信要求1が設定されているか、ドア開放検出スイッチ25の検出状態が変化したときに、ドアコマンド送信要求2が設定されるようになっており、このドアコマンド送信要求2が設定されることによりドアコマンド格納領域に格納されているドアコマンドの送信が命令され、その後実行されるタイマ割込処理(メイン)のコマンド送信処理において、コマンドバッファに格納され、シリアル通信回路511の送信データレジスタ561に転送することで、サブ制御部91に送信される。
また、操作検出コマンドは、タイマ割込処理(メイン)のスイッチ入力判定処理において、いずれかのスイッチの検出状態の変化が検出された場合(いずれかのスイッチのエッジデータが設定された場合)に生成され、操作検出コマンド格納領域に格納されるとともに、操作検出コマンド送信要求が設定されることにより操作検出コマンド格納領域に格納されている操作検出コマンドの送信が命令され、その後実行されるタイマ割込処理(メイン)のコマンド送信処理において、コマンドバッファに格納され、シリアル通信回路511の送信データレジスタ561に転送することで、サブ制御部91に送信される。
前述のようにドアコマンドも操作検出コマンドもともにタイマ割込処理(メイン)のコマンド設定処理においてコマンドバッファに格納され、シリアル通信回路511の送信データレジスタ561に転送することで、サブ制御部91に送信されることとなるが、ドアコマンド送信要求2が設定されている場合、すなわちドアコマンドの送信が要求されている場合には、例え、操作検出コマンドの送信が要求されていても、ドアコマンドの送信を優先するようになっており、ドアコマンド送信要求2が設定されていない場合のみ操作検出コマンドが送信されることとなるため、ドアコマンド送信要求2と操作検出コマンド送信要求の双方が設定されている場合には、当該コマンド送信処理では、ドアコマンドが送信され、次回以降のコマンド送信処理において操作検出コマンドが送信されることとなる。
また、シリアル通信回路511は、図50(a)に示すように、送信データレジスタ561に未送信のコマンドデータが残っているか、或いはコマンドデータの送信中である場合に、ステータスレジスタ563の送信完了の値を0とし、送信データレジスタ561に格納されたコマンドデータの送信が全て完了するとステータスレジスタ563の送信完了の値を1とする。そしてステータスレジスタ563の値は、CPU505によって参照可能とされており、CPU505は、タイマ割込処理(メイン)においてレジスタを待避した後、最初にステータスレジスタ563から送信完了の値を取得し、取得した値に基づいてRAM507の送信完了フラグの値を更新する。
コマンド送信処理では、まずRAM507に格納されている送信完了フラグの値を確認し、図50(b)に示すように、送信完了フラグの値が1の場合、すなわちコマンドデータの送信を行っていないか、コマンドデータの送信が完了している旨を示す場合のみ、ドアコマンドまたは操作検出コマンドの送信データレジスタ561への転送を許可するようになっており、送信完了フラグの値が0の場合、すなわち送信データレジスタ561に未送信のコマンドデータが残っているか、或いはコマンドデータの送信中である旨を示す場合には、ドアコマンド送信要求2が設定されていてもドアコマンドの送信データレジスタ561への転送は禁止され、また、操作検出コマンド送信要求が設定されていても操作検出コマンドの送信データレジスタ561への転送は禁止されるようになっている。
特に、操作検出コマンドは、無効であるか有効であるかに関わらずスイッチの検出状態が変化するとその送信が要求されるため、無制限に送信が要求される可能性があり、これら操作検出コマンドによってゲームの進行制御に伴うコマンドの送信が遅れてしまうこととなるが、上述のようにコマンドデータの送信を行っていないか、コマンドデータの送信が完了している場合のみ操作検出コマンドを送信データレジスタ561へ転送することが許可されるので、操作検出コマンドの送信に伴ってゲームの進行制御に関連する演出が遅れてしまうことを防止できる。
また、本実施例では、ゲームの進行制御に伴う事象を契機とするコマンド(以下、第1のコマンドとする)は、基本処理において生成され、送信データレジスタ561に転送することでシリアル通信回路511によってサブ制御部91に送信されることとなるが、ドアコマンドや操作検出コマンドなど、ゲームの進行とは関係なく生じうる事象を契機とするコマンド(以下、第2のコマンドとする)は、基本処理に定期的に割り込んで実行されるタイマ割込処理(メイン)により生成されるようになっている。また、コマンドが2バイトのデータから構成されているため、これら第2のコマンドを生成した時点で直ちに送信データレジスタ561に転送する構成とすると、場合によっては、基本処理においてゲームの進行制御に伴うコマンドデータ1バイト目を転送した後、2バイト目を転送する前にタイマ割込処理が割り込んで実行され、第1のコマンドのデータの1バイト目と2バイト目の間に、第2のコマンドのデータが入り込んでしまって、サブ制御部91側で正規のコマンドとして受信できなくなってしまう可能性がある。
これに対して本実施例では、前述のようにタイマ割込処理(メイン)の最初にシリアル通信回路511のステータスレジスタ563における送信完了の値を取得し、RAM507の送信完了フラグを更新し、送信完了フラグとして0が設定されている場合、すなわち何らかのコマンドが送信データレジスタ561に残っているか、コマンドの送信中である場合は、第2のコマンドの送信データレジスタ561への転送が禁止されるようになっており、第1のコマンドを構成する複数バイトのコマンドデータの間に、第2のコマンドが入り込んでしまうことがない。
また、本実施例では、タイマ割込処理(メイン)において第2のコマンドの送信データレジスタ561への転送の直前にステータスレジスタ563の送信完了の値を確認するのではなく、タイマ割込処理(メイン)の最初に取得したステータスレジスタ563の送信完了の値を取得して送信完了フラグを更新し、第2のコマンドの送信データレジスタ561への転送の直前に送信完了フラグの値を参照して第2のコマンドの送信データレジスタ561への転送を禁止するか許可するかが判断されるようになっている。
これは、図50(b)に示すように、第1のコマンドを構成する1バイト目のコマンドデータを送信データレジスタ561に転送した後、第1のコマンドを構成する2バイト目のコマンドデータが転送される前の段階でタイマ割込処理(メイン)が実行されると、このタイマ割込処理(メイン)において第2のコマンドの送信データレジスタへの転送の禁止または許可を判断する前に、第1のコマンドを構成する1バイト目のコマンドデータの送信が完了し、ステータスレジスタ563の送信完了の値が1となってしまい、第1のコマンドを構成する2バイト目のコマンドデータが送信されていないのに、未送信の第1のコマンドデータがないものとして第1のコマンドを構成する1バイト目のコマンドデータと2バイト目のコマンドデータの間に、第2のコマンドデータが送信されてしまう可能性があるからであり、本実施例のように、タイマ割込処理(メイン)の最初に取得したステータスレジスタ563の送信完了の値を取得して送信完了フラグを更新し、第2のコマンドの送信データレジスタ561への転送の直前に送信完了フラグの値を参照して第2のコマンドの送信データレジスタ561への転送を禁止するか許可するかを判断することにより、タイマ割込処理(メイン)において第2のコマンドの送信データレジスタへの転送の禁止または許可を判断する前に、第1のコマンドを構成する1バイト目のコマンドデータの送信が完了し、ステータスレジスタ563の送信完了の値が1となってしまっても、確実に第2のコマンドの送信データレジスタへの転送を禁止することが可能となり、第1のコマンドを構成する1バイト目のコマンドデータと2バイト目のコマンドデータの間に、第2のコマンドデータが送信されてしまうことを確実に防止することができる。
尚、本実施例では、タイマ割込処理(メイン)が開始し、レジスタを待避した後、すぐにステータスレジスタ563の送信完了の値を取得する構成であるが、少なくともタイマ割込処理(メイン)の開始後、第2のコマンドの送信データレジスタへの転送を行う前の段階であり、かつタイマ割込処理(メイン)の開始後、シリアル通信回路511が1バイト目のコマンドデータの送信を完了して送信完了の値を更新するのに要する時間が経過する前の段階でステータスレジスタ563の送信完了の値を取得する構成であれば良い。
また、本実施例では、タイマ割込処理(メイン)においてステッピングモータにて構成されるリールモータ32L、32C、32Rの駆動制御が行われるとともに、第1のコマンドを送信データレジスタ561に転送する際にタイマ割込処理(メイン)を禁止するのではなく、タイマ割込処理(メイン)において第2のコマンドの転送を禁止することで、第1のコマンドを構成する複数バイトのコマンドデータの間に、第2のコマンドが入り込んでしまうことを防止しているため、リールモータ32L、32C、32Rの位相の励磁時間が一定となり、リールモータ32L、32C、32Rを安定して駆動させることができる。
尚、本実施例では、ゲームの進行とは関係なく生じうる事象を契機とするコマンドとしてドアコマンド及び操作検出コマンドを適用しているが、ゲームの進行とは関係なく生じうるコマンドであり、タイマ割込処理(メイン)においてその送信が要求されるコマンドであれば良く、遊技機の振動など、突発的に生じうるエラーを検知した旨を示すコマンドを第2のコマンドとして適用しても良い。
また、本実施例では、何らかのコマンドが送信データレジスタ561に残っているか、コマンドの送信中である場合は、第2のコマンドの送信データレジスタ561への転送が一律に禁止される構成であるが、図28(b)に示すように、基本処理においてコマンドデータを送信データレジスタ561に転送するコマンド格納処理において、1バイト目のコマンドデータを転送(Sx1)する前にRAM507に割り当てられたコマンド転送完了フラグ領域の値を0に設定し(Sx0)、2バイト目のコマンドデータの転送(Sx2)を終えた後にコマンド転送完了フラグ領域の値を1に設定する(Sx3)とともに、タイマ割込処理(メイン)のコマンド設定処理において、コマンド転送完了フラグの値として1が設定されている場合のみ、第2のコマンドの送信データレジスタ561への転送を許可し、コマンド転送完了フラグの値として0が設定されている場合には、第2のコマンドの送信データレジスタ561への転送を禁止する構成としても良く、このような構成とすることで、図50(c)に示すように、第1のコマンドを構成する全てのコマンドデータが送信データレジスタ561に転送された後は、最後のコマンドデータ(2バイト目)が未だ送信データレジスタや送信用シフトレジスタ562に残っており、送信が完了していない状態(ステータスレジスタ563の送信完了の値が0の状態)であっても、第2のコマンドの送信データレジスタ561への転送が許可されることとなるため、第1のコマンドを構成する複数バイトのコマンドデータの間に、第2のコマンドを構成するコマンドデータが入り込んでしまうことがないうえに、第2のコマンドの送信が禁止される期間を極力短くすることができる。
メイン制御部41は、約100ms毎にドア開放検出スイッチ25の検出状態を監視する。詳しくは、タイマ割込処理(メイン)のタイマ割込1〜4のいずれでも行う、すなわち0.56ms毎に行うポート入力処理においてドア開放検出スイッチ25からの検出信号を正論理化した入力状態(ドア開放検出スイッチ25on=1、ドア閉塞状態で0)を取得し、タイマ割込処理(メイン)のタイマ割込2で行う、すなわち2.24ms毎に行うドア監視処理において、前述のポート入力処理において取得したドア開放検出スイッチ25の検出信号の確定状態(2回連続同一となった入力状態)を、約100ms(ドア監視処理45回)論理和し続け、その結果を使用してドア開放検出スイッチ25の検出状態を判定する。そして、約100msが経過した時点で算出結果が1の場合、すなわちその間に1回でもドア開放検出スイッチ25のon(開放状態)が検出された場合には、ドア開放検出スイッチ25のonと判定し、算出結果が0の場合、すなわちその間に1回もドア開放検出スイッチ25のon(開放状態)が検出されていない場合には、ドア開放検出スイッチ25のoffと判定する。この判定の結果と、ドアコマンド格納領域に格納されているドアコマンドが示すドア開放検出スイッチ25の検出状態と、が一致すればドア開放検出スイッチ25の検出状態に変化なしと判定し、一致しなければドア開放検出スイッチ25の検出状態が変化したと判定し、ドアコマンド格納領域に格納されているドアコマンドを、変化後の検出状態を示すドアコマンドに更新し、ドアコマンド送信要求2を設定して当該ドアコマンドの送信を命令する。また、メイン制御部41は、ドア開放検出スイッチ25の検出状態が変化したと判定した場合に、ドアコマンドの送信命令に加えて、外部出力基板1000に対するドア開放信号の出力状態も更新する。
また、メイン制御部41は、電源投入時または1ゲーム終了時に、起動処理またはゲーム処理においてドアコマンド送信要求1を設定し、ドアコマンド送信用バッファに格納されているドアコマンドの送信を要求する。一方ドア監視処理においては、ドアコマンド送信要求1が設定されているか否かを判定し、ドアコマンド送信要求1が設定されている場合には、ドアコマンドの送信要求ありと判定し、ドアコマンド送信要求2を設定してドアコマンド格納領域に格納されているドアコマンドの送信を命令する。また、メイン制御部41は、ドアコマンド送信要求1が設定されている場合に、ドアコマンドの送信命令に加えて、外部出力基板1000に対するドア開放信号の出力状態も更新する。
このように外部出力基板1000に対するドア開放信号の出力状態は、ドアコマンドの送信命令にリンクして更新されるようになっている。
本実施例のスロットマシン1は、メイン制御部41がゲームの進行制御を行う操作スイッチとして1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rを備える。また、これら操作スイッチのうちスタートスイッチ7は、設定変更状態において設定値の確定操作にも用いられる。
これらスイッチ類の操作は、ゲームの終了時から次回のゲーム終了時までを構成する全ての制御状態において常にゲームの進行制御に関与するものではなく、制御状態に応じてゲームの進行制御に関与することもあれば関与しないことがある。
ゲーム終了後(設定変更後)からゲーム開始までの制御状態においては、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のいずれの操作もゲームの進行制御に関与しない。
メイン制御部41は、これら操作スイッチを、一定時間間隔毎に割り込んで実行されるタイマ割込処理(メイン)中に実行するスイッチ入力判定処理において検出する。スイッチ入力判定処理では、操作スイッチの検出状態を監視し、いずれかの操作スイッチがoffからonに変化した場合に、該当する操作スイッチがoffからonに変化した旨を示すエッジデータ(立上りエッジ)を設定し、onからoffに変化した場合に、該当する操作スイッチがonからoffに変化した旨を示すエッジデータ(立下りエッジ)を設定する。
そして、メイン制御部41は、ゲーム処理において現段階の制御状態に応じてゲームの進行制御に関与する操作スイッチの立上りエッジが設定されているか否かに基づいて当該操作スイッチの操作がなされたか否かを判定し、当該操作スイッチの操作がなされていると判定した場合には、エッジデータを全てクリアし、当該操作スイッチの操作に応じたゲームの進行制御を実行するとともに、ゲームの進行制御に伴うコマンド(BETコマンド、内部当選コマンド、リール停止コマンドなど)をシリアル通信回路511の送信データレジスタ561に転送し、サブ制御部91に対して送信させる。尚、いずれかの操作スイッチの操作が検出され、エッジデータが設定された場合でも、次回スイッチ入力判定処理までにクリアされなかった場合には、次回スイッチ入力判定処理でクリアされることとなる。
メイン制御部41は、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がonであるか否かを判定し、他の操作スイッチの検出状態がonであると判定した場合、すなわち他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出された場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっている。
これは、ストップスイッチ8L、8C、8Rのうち2つ以上の操作が検出された場合に、いずれかの操作に基づく停止制御を優先すると、他方の停止制御が遅れてしまい、リールの停止態様が不自然になる等の問題が生じ得る虞があるためであり、上記のように他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出されても、対応するリールの停止制御を行わないことで、一方のリールの停止制御によって他方のリールの停止制御が遅れることがないようになっている。
また、メイン制御部41は、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他のストップスイッチに限らず、他の操作スイッチの検出状態がonであるか否かを判定し、他の操作スイッチのいずれかの検出状態がonであると判定した場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっており、操作スイッチの検出状態のうちストップスイッチの検出状態のみを抽出することなく、例えば、onを1とし、offを0とした場合に、操作スイッチ全ての検出状態の総和を算出し、2以上であれば、他の操作スイッチが検出状態と判定するなど、操作スイッチ全ての検出状態を一括して判定することが可能となる。
また、メイン制御部41は、設定変更状態において、未だ設定値が確定していない段階で、設定値を確定させるためのスタートスイッチ7の立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がonであるか否かを判定し、他の操作スイッチのいずれかの検出状態がonであると判定した場合には、設定値を確定させる制御を行わないようになっている。
これは、後述のように設定変更状態においてサブ制御部91側で制御される管理者モードの操作手段として本来であればメイン制御部41がゲームの進行制御に用いる操作スイッチを流用しているためであり、上記のように未だ設定値が確定していない段階で、他の操作スイッチが操作されている状態で設定値を確定させるためのスタートスイッチ7が操作されても設定値の確定制御を行わないことで、管理者モードの操作に伴い、誤ってスタートスイッチ7も同時に操作してしまった場合でも、設定値は確定せず、設定値が未設定の段階が維持されるので、管理者が予期せずに設定値を確定させてしまうことがなく、誤操作によって再度、電源を落として最初から設定変更状態としなければならないといった煩わしさを軽減できるようになっている。
メイン制御部41は、前述したスイッチ入力判定処理においていずれかの操作スイッチの検出状態の変化を判定した場合に、エッジデータを設定するとともに、エッジデータが設定されたスイッチ、立上りエッジであるか、立下りエッジであるか、他のスイッチの検出状態を示す操作検出コマンドを生成し、操作検出コマンド格納領域に格納するとともに、操作検出コマンド送信要求を設定する。
そして、操作検出コマンド送信要求が設定されることで、タイマ割込処理(メイン)におけるコマンド送信処理において、操作検出コマンド格納領域に格納されている操作検出コマンドが読み出され、シリアル通信回路511の送信データレジスタ561に転送し、サブ制御部91に対して送信させる。
このように本実施例では、メイン制御部41が、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rが操作されたことを特定可能な操作検出コマンドをサブ制御部91に対して送信することで、サブ制御部91が、それぞれの制御状態においてゲームの進行制御に関与する操作スイッチであるか否かに関わらず、メイン制御部41により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
また、本実施例では、メイン制御部41が、いずれかの操作スイッチの検出状態(on/off)が変化したときのみ、その旨を示す操作検出コマンドを送信するようになっており、操作検出コマンドの送信を極力減らすことが可能となり、操作検出コマンドの送信に係る制御の負荷を軽減できるうえに、サブ制御部91側でも必要以上に操作検出コマンドを受信せずに済む。
また、いずれかの操作スイッチの検出状態がoffからonに変化した場合だけでなく、onからoffに変化した場合にも、その変化を示す操作検出コマンドが送信されるので、サブ制御部91側で、ゲームの進行制御に関与しない操作スイッチの検出状態をリアルタイムに特定することが可能となるため、ゲームの進行制御に関与しない操作スイッチの操作が開始したタイミングだけでなく、操作が解除されたタイミングや操作が解除されないまま一定時間継続したタイミングに応じて異なる演出を行ったり、演出の開始タイミングや終了タイミングを変化させることも可能となり、ゲームの進行制御に関与しない操作スイッチの操作に応じて多彩な演出を行うことができる。
尚、本実施例では、いずれかの操作スイッチの検出状態offからonに変化した旨またはonからoffに変化した旨を検出し、操作スイッチの検出状態の変化が検出されたときに、変化後の検出状態が特定される操作検出コマンドが送信されるようになっているが、いずれかの操作スイッチの検出状態がoffからonに変化した旨のみを検出し、offからonに変化した旨が検出されたときに、該当する操作スイッチの操作を特定可能な操作検出コマンドを送信するようにしたり、いずれかの操作スイッチの検出状態がonからoffに変化した旨のみを検出し、onからoffに変化した旨が検出されたときに、該当する操作スイッチの操作を特定可能な操作検出コマンドを送信するようにしたりしても良く、このような構成とすることで、操作検出コマンドの送信をさらに減らすことが可能となり、操作検出コマンドの送信に係る制御の負荷を軽減できるうえに、サブ制御部91側で受信する操作検出コマンドも減らすことができる。
また、本実施例では、いずれかの操作スイッチの検出状態(on/off)が変化したときに、当該操作スイッチの検出状態に加えて他の操作スイッチの検出状態も特定可能な操作検出コマンドをサブ制御部91に対して送信するようになっており、このような構成とすることで、操作検出コマンドの送信を極力減らすことが可能となるうえに、サブ制御部91は、操作検出コマンドから検出状態の変化した操作スイッチの検出状態だけでなく、他の操作手段の検出状態も特定できるようになり、サブ制御部91側で、複数のスイッチの同時操作や特定のスイッチのみの操作といった複数の操作スイッチの操作状況を反映した演出を行うことが可能となり、操作スイッチの操作を用いた演出を多様なものにできる。さらに、サブ制御部91が操作検出コマンドを取りこぼした場合であっても、次回送信される操作検出コマンドに基づいて全ての操作スイッチについて最新の検出状態を特定することが可能となり、ゲームの進行制御に関与しない操作スイッチの操作に応じた演出を確実に実行することができる。
尚、本実施例では、いずれかの操作スイッチの検出状態(on/off)が変化したときのみ、その旨を示す操作検出コマンドを送信する構成であるが、メイン制御部41が、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rのいずれかが操作されたか否かに関わらず、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rそれぞれのon/offの状態を特定可能な操作検出コマンドを一定間隔毎に送信する構成としても良く、このような構成であってもサブ制御部91側で、メイン制御部41により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
また、本実施例では、タイマ割込処理(メイン)のスイッチ入力判定処理において操作コマンドの送信要求を設定し、その後のコマンド送信処理において送信データレジスタ561に転送され、サブ制御部91に送信される構成であるが、基本処理においてゲームの進行制御に関与しない操作スイッチが操作されたか否か、すなわちゲームの進行制御に関与しない操作スイッチのエッジデータが設定されているか否かを判定し、ゲームの進行制御に関与しない操作スイッチが操作された場合に、その旨を示す操作検出コマンドを送信データレジスタ561に転送し、サブ制御部91に送信させる構成としても良く、このような構成であっても、サブ制御部91側で、メイン制御部41により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
また、本実施例では、ゲームの進行制御に伴うコマンドは、基本処理において生成されるとともに、送信データレジスタ561に転送され、サブ制御部91に送信される一方で、ゲームの進行制御に関与しない操作スイッチの操作に伴う操作検出コマンドは、タイマ割込処理(メイン)のスイッチ入力判定処理において生成され、その後のタイマ割込処理(メイン)のコマンド送信処理において送信データレジスタ561に転送され、サブ制御部91に送信される構成であるが、基本処理においてゲームの進行制御に関与する操作スイッチの操作が検出されたか否かを判定し、ゲームの進行制御に関与する操作スイッチの操作が検出された場合にゲームを進行させる制御を行うとともに、ゲームの進行制御に伴うコマンドを生成し、コマンドバッファに一時的に格納するとともに、基本処理においてゲームの進行制御に関与しない操作が検出されたか否かも判定し、ゲームの進行制御に関与しない操作スイッチの操作が検出された場合に、ゲームの進行制御に関与しない操作が検出された旨の操作検出コマンドを生成し、ゲームの進行制御に伴うコマンドと同様にコマンドバッファに一時的に格納し、その後のタイマ割込処理(メイン)において送信待ちのコマンドがコマンドバッファに格納されている場合に、送信データレジスタ561に転送し、サブ制御部91に対して送信させる構成としても良く、このような構成とすることで、基本処理の制御状態に関わりなく、コマンドの送信制御を共通化することが可能となる。
また、このような構成を採った場合には、次回タイマ割込処理(メイン)においてコマンドバッファに格納されたコマンドを送信するまでに複数の送信待ちコマンドが格納される可能性がある。そして、複数のコマンドを連続して送信した場合、サブ制御部91側で取りこぼす可能性があるうえに、タイマ割込処理(メイン)の処理時間が長くなってしまい、基本処理が停滞してしまう虞があることから、コマンドバッファに格納されたコマンドが複数ある場合には、タイマ割込処理(メイン)1回につき1つのコマンドのみを送信することが好ましい。しかしながら、タイマ割込処理(メイン)1回につき1つのコマンドのみを送信する構成とすると、コマンドの送信タイミングが遅くなってしまうこととなる。
一方、上記の構成を採った場合、ゲームの進行制御に関与する操作スイッチの操作とゲームの進行制御に関与しない操作スイッチの操作が同時に検出された場合に、ゲームの進行制御に伴うコマンドと、ゲームの進行制御に関与しない操作スイッチの操作に伴う操作検出コマンドと、が同時に生成され、コマンドバッファに格納される可能性がある。この場合、その後のタイマ割込処理(メイン)では、操作検出コマンドよりもゲームの進行制御に伴うコマンドの送信を優先することが好ましく、このようにすることで、ゲームの進行制御に伴うコマンドの送信が遅れてしまうことがなく、ゲームの進行制御に関与しない操作の影響によってゲームの進行制御に関与する操作に応じた演出が遅れてしまうことを防止できる。
メイン制御部41は、電源投入に伴い、起動処理を実行し、起動処理の終了時に割込が許可され、その後、タイマ割込処理(メイン)を一定間隔毎に実行する。そして、メイン制御部41が電断前の状態に復帰可能な場合には、起動処理において割込が許可される前に復帰コマンドがサブ制御部91に対して送信される。また、RAM507の格納データの異常によりメイン制御部41が電断前の状態に復帰不可能な場合には、起動処理において割込が許可される前にRAM異常を示すエラーコマンドがサブ制御部91に対して送信される。また、設定キースイッチ37がonの状態であり、RAM507が初期化され、電断前の状態に復帰しない場合には、起動処理において割込が許可される前に設定開始を示す設定コマンドがサブ制御部91に対して送信される。これら起動処理において送信されるコマンドのうち復帰コマンドからは、メイン制御部41が電断前の状態に復帰する旨が特定され、RAM異常を示すエラーコマンド、設定開始を示す設定コマンドからは、メイン制御部41が電断前の状態には復帰しない旨が特定されることとなる。
そして、前述のように操作検出コマンドは、タイマ割込処理(メイン)において送信されるとともに、起動処理の終了までは割込処理が許可されないので、メイン制御部41の起動後、メイン制御部41が電断前の状態に復帰する旨が特定される復帰コマンドを送信したか、メイン制御部41が電断前の状態に復帰しない旨が特定されるRAM異常を示すエラーコマンド、設定開始を示す設定コマンドを送信した後に、操作検出コマンドの送信が許可されることとなる。
このようにメイン制御部41は、電源投入後、電断前の状態に復帰させないと判定してRAM異常を示すエラーコマンドをサブ制御部91に対して送信するか、電断前の状態に復帰させて復帰コマンドをサブ制御部91に対して送信するまでは操作検出コマンドをサブ制御部91に対して送信しないので、メイン制御部41を復帰させるか否かが確定していない状態にも関わらず、サブ制御部91が操作検出コマンドから特定される操作に応じて演出を実行してしまうことがなく、電源投入時においてメイン制御部41の状態と食い違った演出が実行されてしまうことを防止できる。
また、メイン制御部41は、起動処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始を示す設定コマンドをサブ制御部91に対して送信し、その後、割込を許可することでタイマ割込処理(メイン)を実行してその中のコマンド送信処理にて操作検出コマンドを送信するようになっており、コマンド送信処理において復帰コマンド、RAM異常を示すエラーコマンド、設定開始を示す設定コマンドが既に送信されているか否かを判断することなく、操作検出コマンドよりも先に復帰コマンド、RAM異常を示すエラーコマンド、設定開始を示す設定コマンドを送信することができる。
また、メイン制御部41は、タイマ割込処理(メイン)の最初に電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されている場合のみ電断処理(メイン)を実行するため、以前のタイマ割込処理(メイン)のスイッチ入力判定処理において操作検出コマンド送信要求が設定され、当該操作検出コマンド送信要求に基づく操作検出コマンドが送信されないまま、電断処理(メイン)が実行され、動作が停止してしまうことが生じうるが、メイン制御部41は、その起動時に操作検出コマンド送信要求がクリアされるため、電断前の状態で未送信となった操作検出コマンドが復帰して、復帰後の操作スイッチの検出状態が反映されていない操作検出コマンドが送信されてしまうことはない。このため、電源投入後、操作スイッチがなんら操作されていないにも関わらず、ゲームの進行制御に関与しない操作に応じた演出が実行されてしまうことを防止できる。
次に、メイン制御部41が演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。
サブ制御部91は、メイン制御部41からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
受信用バッファには、最大で16個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
サブ制御部91は、タイマ割込処理(サブ)において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の出力制御を行う。
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLEDの点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部91は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
尚、サブ制御部91は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブ制御部91が、賭数が設定された旨を示すBETコマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブ制御部91が、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブ制御部91は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
サブ制御部91のRAM91cには、操作スイッチの検出状態の変化状況が操作スイッチ毎に格納される検出状態格納領域と、操作スイッチの操作状態が変化した旨を示す操作検出フラグが操作スイッチ毎に格納される操作検出フラグ格納領域と、が割り当てられている。さらに検出状態格納領域には、操作検出コマンドを受信する前(前回)の検出状態と、操作検出コマンドを受信した後(今回)の検出状態と、が割り当てられており、それぞれに操作検出コマンドの受信前後の各操作スイッチの検出状態が格納されるようになっている。
サブ制御部91は、タイマ割込処理(サブ)において受信用バッファに未処理のコマンドが格納されていると判定した場合に、操作検出処理1を行う。操作検出処理1では、未処理のコマンドが操作検出コマンドか否かを判定し、操作検出コマンドであると判定した場合に、検出状態格納領域に格納されている今回の検出状態を前回の検出状態に移動し、操作検出コマンドが示す各操作スイッチの検出状態を今回の検出状態として格納するとともに、前回の検出状態と今回の検出状態とが異なる操作スイッチがある場合に、offからonに変化した場合には、その操作スイッチに対応する操作検出フラグとして立上りフラグを設定し、onからoffに変化した場合には、その操作スイッチに対応する操作検出フラグとして立下りフラグを設定する。
このように本実施例では、メイン制御部41が、いずれかの操作スイッチの検出状態が変化したときに、全ての操作スイッチの検出状態を特定可能な操作検出コマンドを送信するとともに、サブ制御部91は、操作検出コマンドを受信した際に、検出状態格納領域に格納されている操作検出コマンドの受信前後の各操作スイッチの検出状態を更新し、検出状態が異なる操作スイッチがある場合に、その操作スイッチに対応する操作検出フラグを設定するようになっており、サブ制御部91は、操作検出フラグの有無を確認することで、操作スイッチの検出状態が変化した旨に加え、操作検出コマンドの受信前後で各操作スイッチの検出状態がどのように変化したか、すなわちoffからonに変化したのか、onからoffに変化したのか、を判別できるようになっている。
このため、サブ制御部91は、操作スイッチの操作が開始したタイミングだけでなく、その操作が解除されたタイミングに応じて演出を行ったり、演出を変化させることが可能となり、ゲームの進行制御に関与しない操作スイッチの操作態様に応じて多彩な演出を行うことができる。
尚、本実施例では、サブ制御部91が、検出状態格納領域に格納されている操作検出コマンドの受信前後の各操作スイッチの検出状態から、各操作スイッチの検出状態がどのように変化したか否かを判定するようになっているが、本実施例では、メイン制御部41が、いずれかの操作スイッチの検出状態が変化したときに、検出状態が変化したスイッチ及びoffからonへの変化であるか、onからoffへの変化であるか、を特定可能な操作検出コマンドが送信されるので、操作検出コマンド自体から、操作検出コマンドの受信前後の各操作スイッチの検出状態がどのように変化したか否かを判別する構成としても良く、このような構成とすることで、ゲームの進行制御に影響しない操作スイッチの操作に伴うサブ制御部91の制御負荷を軽減することができる。
また、検出状態格納領域には、各操作スイッチの検出状態が格納されており、サブ制御部91は、いずれかの操作検出フラグが設定され、当該操作検出フラグに対応する操作スイッチの検出状態の変化が特定された場合に、検出状態格納領域の他の操作スイッチの検出状態を確認することで、検出状態が変化した操作スイッチだけでなく、他の操作スイッチの検出状態も特定できるようになっている。
このため、複数の操作スイッチが同時に操作されている状態を特定可能となり、例えば、パターン1やパターン3の操作演出のように、複数の操作スイッチが同時に操作されることで演出を行うことが可能となり、複数の操作スイッチの操作の仕方によって多様な演出を行うことができる。
また、サブ制御部91は、パターン1の操作演出のように、左ストップスイッチ、中ストップスイッチの操作スイッチが同時に操作されることで演出を行う場合に、左ストップスイッチが検出されており、かつ右ストップスイッチが検出されていない状態で、中ストップスイッチの操作を検出した場合にはステージ変更演出を行うが、左ストップスイッチ及び右ストップスイッチの双方が検出されている状態で、中ストップスイッチの操作を検出した場合には、上記と同様に左ストップスイッチと中ストップスイッチの操作が同時に検出されていることとなるが、この場合には、ステージ変更演出を行わないようになっている。
すなわち特定の操作スイッチの操作に応じて特定の操作演出を行う際に、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないようになっている。
このため、特定の操作スイッチの操作に基づく特定の操作演出は、特定の操作スイッチが他の操作スイッチと同時に操作された場合や他の操作スイッチが操作されている状態で操作された場合には実行されることがなく、誤った操作によって特定の操作演出が実行されることがないため、特定の操作演出を希望する遊技者に対してのみ特定の操作演出を実行することができる。
また、上記のように特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、例えば、パターン1とパターン3の操作演出のように、各々の演出を実行させるための操作スイッチの一部が重複する場合でも、異なる演出を実行させることが可能となる。すなわちパターン1の操作演出は、左ストップスイッチと中ストップスイッチが同時に操作されることで実行され、パターン2の操作演出は、中ストップスイッチと右ストップスイッチが同時に操作されることで実行されるが、左ストップスイッチと右ストップスイッチが同時に操作されている状態で、中ストップスイッチが操作された際に、左ストップスイッチと中ストップスイッチの同時操作なのか、中ストップスイッチと右ストップスイッチの同時操作なのか、を判別することができなくなってしまい、いずれか一方の同時操作に対してしか演出を割り当てることができなくなってしまうが、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、パターン1とパターン2の操作演出のようなケースであっても、それぞれの同時操作に対して演出を割り当てることが可能となり、複数の操作スイッチの操作の仕方によってさらに多様な演出を行うことができる。
サブ制御部91は、操作検出処理1においていずれかの操作スイッチの検出状態がoffからonに変化した場合、すなわち操作スイッチの操作が開始した場合に、RAM91cに割り当てられた操作時間カウンタのうち該当する操作スイッチの操作時間カウンタの値を初期化する。操作時間カウンタの値は、タイマ割込処理(サブ)が実行される毎に加算されるようになっており、操作時間カウンタの値を参照することで操作スイッチの操作が開始してからの経過時間を判別できる。
また、サブ制御部91は、タイマ割込処理(サブ)が実行される毎に、操作検出処理2を実行する。操作検出処理2では、検出状態格納領域に格納された今回の検出状態がonであるか否かを操作スイッチ毎に判定し、onである場合、すなわち操作スイッチの操作が継続している場合には、該当する操作スイッチの操作時間カウンタの値を参照し、予め定められた時間経過していれば、その旨を示す時間経過フラグを操作スイッチに対応付けて設定する。本実施例では、3秒経過時、5秒経過時、10秒経過時に、それぞれ時間経過フラグとして3秒経過フラグ、5秒経過フラグ、10秒経過フラグを設定する。
このため、サブ制御部91は、時間経過フラグが設定されているか否かを確認することにより操作スイッチが継続して操作された時間が一定時間経過したことを契機に演出を行うことが可能となる。
尚、本実施例では、サブ制御部91が、操作スイッチの検出状態がoffからonに変化した後、当該操作スイッチの検出状態がonからoffに変化せずに経過した時間を計時することで、サブ制御部91側で操作スイッチの連続操作時間を把握することが可能となり、メイン制御部41側で個々のスイッチ毎に連続操作時間を計時するタイマを有することなく、サブ制御部91のプログラムを変更するのみで操作スイッチの連続操作時間を検出することが可能となるが、メイン制御部41側で操作スイッチの操作がoffからonに変化した後、onからoffに変化せずに経過した時間を計時し、この時間が規定時間に到達したときに操作スイッチが規定時間連続して操作された旨を示すコマンドを送信することで、サブ制御部91側で、操作スイッチの操作が継続して操作された旨を特定できるようにしても良い。
また、サブ制御部91は、操作検出処理1においていずれかの操作スイッチの検出状態がoffからonに変化した場合、すなわち操作スイッチの操作が開始した場合に、RAM91cに割り当てられた連続操作カウンタのうち該当する操作スイッチの連続操作カウンタの値を1加算する。連続操作カウンタの値は、他の操作スイッチの検出状態がoffからonに変化した場合または演出開始時などのサブ制御部91からの命令によりクリアされるようになっており、連続操作カウンタの値を参照することである起点から特定の操作スイッチが連続して操作された回数を判別できる。そして、サブ制御部91は、連続操作カウンタの値を確認することにより、ある起点からの操作スイッチの連続操作回数が規定回数に到達したことを契機に演出を行うことが可能となる。
尚、本実施例では、サブ制御部91が、操作スイッチの検出状態がoffからonに変化した回数を計数することで、サブ制御部91側で操作スイッチ連続操作回数を把握することが可能となり、メイン制御部41側で個々のスイッチ毎に連続操作回数を計数するカウンタを有することなく、サブ制御部91のプログラムを変更するのみで操作スイッチの操作回数を検出することが可能となるが、メイン制御部41側で操作スイッチの操作がoffからonに変化した回数を計数し、この回数が規定回数に到達したときに操作スイッチが規定回数操作された旨を示すコマンドを送信することで、サブ制御部91側で、操作スイッチの操作が規定回数操作された旨を特定できるようにしても良い。
図51(a)は、入賞役の種類、入賞役の図柄組合せ、及び入賞役に関連する技術事項について説明するための図であり、図51(b)は、予め定められた特殊出目の図柄組合せ及び特殊出目に関連する技術事項について説明するための図である。また、図52は、メイン制御部41により制御される遊技状態の遷移及び各遊技状態での再遊技役の当選確率を説明するための図である。
本実施例におけるスロットマシンは、図52に示すように、メイン制御部41により、ボーナス終了後に制御される準備モード、準備モードから他の遊技状態に移行しないまま経過したゲーム数が規定ゲーム数(本実施例では10ゲーム)に到達することにより制御される不利RT、準備モード、不利RTあるいは有利RTにおいて特殊出目が入賞ラインに停止するか、有利RTにおいて転落リプレイ入賞することにより制御される通常遊技状態、通常遊技状態において昇格リプレイ入賞することにより制御される有利RT、通常遊技状態においてペナルティリプレイ入賞することにより制御されるペナルティRT、準備モード、不利RT、通常遊技状態、有利RT、ペナルティRTにおいてボーナスが当選することにより制御される内部中RT及びボーナス入賞により制御されるボーナスのうち、いずれかに制御される。有利RTは、後述するように再遊技役の当選率が極めて高確率となる点において、通常遊技状態よりも遊技者にとって有利な状態といえる。また、ペナルティRTは、規定ゲーム数(本実施例では300)ゲーム消化するかあるいはボーナス当選するまで他の遊技状態に制御されずかつ有利RTに直接制御されることがない点において、通常遊技状態よりも遊技者にとって不利な状態といえる。
また、本実施例におけるスロットマシンは、上記のように、メイン制御部41により、遊技状態を準備モード、不利RT、通常遊技状態、有利RT、ペナルティRT、内部中RT、ボーナスに制御可能としつつ、遊技状態が通常遊技状態や有利RTであるときには、サブ制御部91により、内部抽選結果を報知するナビ演出を実行可能な報知期間となるアシストタイム(以下、ATという)に演出状態を制御可能となっている。また、後述するように所定のポイント付与条件が成立することにより、ATに制御される確率に関与するポイントが付与される。
図51(a)を参照して、入賞役のうち特別役には、ビッグボーナス1〜5(以下、各々のビッグボーナスをBBと称する)の5種類のボーナスが含まれる。
BB1は、入賞ラインのいずれかに「黒7−黒7−黒7」の組合せが揃ったときに入賞となる。BB2は、入賞ラインのいずれかに「白7−白7−白7」の組合せが揃ったときに入賞となる。BB3は、入賞ラインのいずれかに「BAR−BAR−BAR」の組合せが揃ったときに入賞となる。BB4は、入賞ラインのいずれかに「黒7−黒7−BAR」の組合せが揃ったときに入賞となる。BB5は、入賞ラインのいずれかに「白7−白7−BAR」の組合せが揃ったときに入賞となる。
BB1〜BB3のいずれかに入賞すると、レギュラーボーナス1(以下、RB1と称する)に毎ゲーム制御されるボーナスに移行される。また、BB4〜BB5のいずれかに入賞すると、レギュラーボーナス2(以下、RB2と称する)に毎ゲーム制御されるボーナスに移行される。
遊技状態がボーナスにある間は、入賞したBBの種類に対応するビッグボーナス中フラグがRAM41cに設定される。また、レギュラーボーナスにある間は、RBの種類に対応するレギュラーボーナス中フラグがRAM41cに設定される。すなわち、ビッグボーナス中フラグがON状態に設定されている間は、ゲームが開始される毎に対応するレギュラーボーナス中フラグがON状態に設定される。
BB1〜BB3のいずれかの入賞に起因して発生したボーナスは、316枚以上メダルが払い出されたことを条件として終了する。BB4またはBB5の入賞に起因して発生したボーナスは、73枚以上メダルが払い出されたことを条件として終了する。
図52に示すように、BB1〜BB5のいずれかに内部当選してから入賞するまでは、内部中RTに遊技状態が制御される。内部中RTでは、リプレイに当選する確率が通常遊技状態であるときよりも高確率(通常遊技状態が約1/7.28に対して内部中RTでは約1/1.72となる。また、図52に示すように、ビッグボーナスが終了した後は、準備モードに遊技状態が制御される。
後述する内部抽選においてBB1〜BB5のうちいずれかに当選していても、ストップ
スイッチ8L、8C、8Rをこれらの役に入賞可能とする適正なタイミングで操作しなければ、これらの役に入賞することはない。BB1〜BB5を構成する図柄(「黒7」、「白7」、「BAR」)は、各々、左リール2L、右リール2R各々において7コマ以内に配置されておらず、中リール2Cにおいて5コマ以内に配置されていないためである。
次に、入賞役のうち小役について説明する。入賞役のうち小役には、ブドウ1〜ブドウ8、小役1〜小役12、スイカ、チェリー1、チェリー2、1枚役1、1枚役2が含まれる。
小役のうちスイカは、入賞ラインのいずれかに「スイカ−スイカ−スイカ」の組合せが揃ったときに入賞となる。スイカが入賞すると3枚メダルが払い出される。スイカは、当選していてもストップスイッチ8L、8C、8Rを適正なタイミングで操作しなければ入賞することはない。スイカを構成する図柄(「スイカ」)は、左リール2Lにおいて7コマ以内に配置されておらず、中リール2Cにおいて5コマ以内に配置されていないためである。
次に、小役のうちチェリー1は、入賞ラインのいずれかに「チェリーリプレイ−リプレイ」の図柄が導出されることにより入賞となり、1枚のメダルが払い出される。小役のうちチェリー2は、リール2Cについて入賞ラインのいずれかに「チェリー」の図柄が導出されることにより入賞となり、1枚のメダルが払い出される。尚、チェリー2が入賞した場合には、入賞ラインL1〜L4のすべてにおいて入賞となるため、4枚のメダルが払出される。
次に、小役のうち1枚役1は、入賞ラインのいずれかに「黒プラム−黒プラム−BAR」の図柄が導出されることにより入賞となり、1枚のメダルが払い出される。尚、本実施例においては、後述するように、スイカ、チェリー1、チェリー2、1枚役1が当選したことを条件として、ポイントが付与される。
小役のうち1枚役2は、入賞ラインのいずれかに「BAR−白7−白7」の図柄が導出されることにより入賞となり、1枚のメダルが払い出される。1枚役2は、後述するようにRB1中のみ当選可能に設定されている。尚、本実施例においては、後述するように、1枚役2が当選したときには、原則として、ポイントが付与されるとともにナビストックが付与される。
次に、ブドウ1〜8について説明する。ブドウ1は、入賞ラインのいずれかに「黒ブドウ−黒ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。ブドウ2は、入賞ラインのいずれかに「黒ブドウ−黒ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。ブドウ3は、入賞ラインのいずれかに「白ブドウ−黒ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。ブドウ4は、入賞ラインのいずれかに「黒ブドウ−白ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。ブドウ5は、入賞ラインのいずれかに「黒ブドウ−白ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。ブドウ6は、入賞ラインのいずれかに「白ブドウ−黒ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。ブドウ7は、入賞ラインのいずれかに「白ブドウ−白ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。ブドウ8は、入賞ラインのいずれかに「白ブドウ−白ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。
ここで、ブドウ1〜8各々を構成する図柄は、左リール2L、右リール2R各々において7コマ以内に配置されておらず、中リール2Cにおいて5コマ以内に配置されていない。このため、後述する内部抽選においてブドウ1〜8のいずれかに当選していても、ストップスイッチ8L、8C、8Rをこれらの役に入賞可能とする適正なタイミングで操作しなければ、当選しているブドウに入賞することはない。
しかしながら、ブドウ1〜ブドウ8は、後述するように、同時に抽選対象役として読み出されて、同時に当選する。また、「黒ブドウ」及び「白ブドウ」のいずれかが、左リール2L、右リール2R各々において7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されている。また、上記のように、ブドウ1〜8は、「黒ブドウ」及び「白ブドウ」から構成され得る8通りすべての組合せである。このため、ブドウ1〜ブドウ8に当選しているときには、原則として、いずれかのブドウを入賞させることができる。
次に、小役1〜12について説明する。小役1は、入賞ラインのいずれかに「リプレイ−黒ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。小役2は、入賞ラインのいずれかに「黒ブドウ−黒ブドウ−リプレイ」の組合せが揃ったときに入賞となる。小役3は、入賞ラインのいずれかに「黒ブドウ−リプレイ−黒ブドウ」の組合せが揃ったときに入賞となる。小役4は、入賞ラインのいずれかに「リプレイ−白ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。小役5は、入賞ラインのいずれかに「白ブドウ−白ブドウ−リプレイ」の組合せが揃ったときに入賞となる。小役6は、入賞ラインのいずれかに「白ブドウ−リプレイ−白ブドウ」の組合せが揃ったときに入賞となる。小役7は、入賞ラインのいずれかに「リプレイ−黒ブドウ−白ブドウ」の組合せが揃ったときに入賞となる。小役8は、入賞ラインのいずれかに「黒ブドウ−白ブドウ−リプレイ」の組合せが揃ったときに入賞となる。小役9は、入賞ラインのいずれかに「黒ブドウ−リプレイ−白ブドウ」の組合せが揃ったときに入賞となる。小役10は、入賞ラインのいずれかに「リプレイ−白ブドウ−黒ブドウ」の組合せが揃ったときに入賞となる。小役11は、入賞ラインのいずれかに「白ブドウ−黒ブドウ−リプレイ」の組合せが揃ったときに入賞となる。小役12は、入賞ラインのいずれかに「白ブドウ−リプレイ−黒ブドウ」の組合せが揃ったときに入賞となる。
ここで、小役1〜12各々を構成する図柄のうち「リプレイ」は、左リール2L、右リール2R各々において7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されているが、「黒ブドウ」及び「白ブドウ」各々は、左リール2L、右リール2R各々において7コマ以内に配置されておらず、中リール2Cにおいて5コマ以内に配置されていない。このため、後述する内部抽選において小役1〜12のいずれかに当選していても、当選している小役の「黒ブドウ」及び「白ブドウ」に対応するストップスイッチ8L、8C、8Rを入賞可能とする適正なタイミングで操作しなければ、当選している小役に入賞することはない。
ブドウ1〜8、及び小役1〜12のうちいずれかが入賞した場合には、9枚のメダルが払い出される。
次に、入賞役のうち再遊技役について説明する。入賞役のうち再遊技役には、通常リプレイ、昇格リプレイ、転落リプレイ1、転落リプレイ2、ペナルティリプレイ1、ペナルティリプレイ2、制御用リプレイが含まれる。再遊技役のいずれかに入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数に対応した枚数分のメダルが払い出されるのと実質的には同じこととなる。
通常リプレイは、入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組合せが揃ったときに入賞となる。通常リプレイを構成する図柄(「リプレイ」)は、左リール2L、右リール2R各々において7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されている。よって、通常リプレイについては、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
昇格リプレイは、入賞ラインのいずれかに「リプレイ−リプレイ−スイカ」の組合せが揃ったときに入賞となる。昇格リプレイを構成する図柄(「リプレイ」、「スイカ」)は、左リール2L、右リール2R各々において7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されている。よって、昇格リプレイについては、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
図52に示すように、通常遊技状態において昇格リプレイに入賞した後は、有利RTに制御される。昇格リプレイは、準備モード、不利RT及びペナルティRTにおける内部抽選においては当選しないように設定されており、通常遊技状態における内部抽選において所定確率で当選するように設定されている。このため、準備モード、不利RT及びペナルティRTにおいては昇格リプレイに入賞しない。その結果、準備モード、不利RT及びペナルティRTから有利RTに制御されないように構成されており、通常遊技状態であるときにのみ昇格リプレイ入賞し、当該通常遊技状態からのみ有利RTに制御されるように構成されている。
尚、準備モードであるときにも、所定確率(極めて低い確率、1%)で昇格リプレイについて抽選して当選し得るようにし、準備モードからも有利RTに制御されるように構成しても良い。ペナルティRTであるときにも、所定確率(極めて低い確率、1%)で昇格リプレイについて抽選して当選し得るようにしても良いが、この場合ペナルティRTにおいて昇格リプレイ入賞しても有利RTに制御させないように制御しても良い。
転落リプレイ1は、入賞ラインのいずれかに「リプレイ−リプレイ−黒ブドウ」の組合せが揃ったときに入賞となる。転落リプレイ2は、入賞ラインのいずれかに「リプレイ−リプレイ−白ブドウ」の組合せが揃ったときに入賞となる。転落リプレイ1及び転落リプレイ2各々を構成する図柄のうち、左リール2Lにおいて7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されているが、右リール2Rの図柄(「黒ブドウ」「白ブドウ」)は、7コマ以内に配置されていない。
しかしながら、後述するように、転落リプレイ1と転落リプレイ2とは、同時に当選するため、ストップスイッチ8Rの操作タイミングに関わらず、転落リプレイ1及び転落リプレイ2のうちいずれかの右リール2Rを構成する図柄を入賞ラインに引き込むことができる。このため、転落リプレイ1及び転落リプレイ2は、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。図52に示すように、有利RTにおいて転落リプレイに入賞した後は、通常遊技状態に制御される。
ペナルティリプレイ1は、入賞ラインのいずれかに「リプレイ−リプレイ−黒プラム」の組合せが揃ったときに入賞となる。ペナルティリプレイ2は、入賞ラインのいずれかに「リプレイ−リプレイ−白プラム」の組合せが揃ったときに入賞となる。ペナルティリプレイ1及びペナルティリプレイ2各々を構成する図柄のうち、左リール2Lにおいて7コマ以内に配置されており、中リール2Cにおいて5コマ以内に配置されているが、右リール2Rの図柄(「黒プラム」「白プラム」)は、7コマ以内に配置されていない。
しかしながら、後述するように、ペナルティリプレイ1とペナルティリプレイ2とは、同時に当選するため、ストップスイッチ8Rの操作タイミングに関わらず、ペナルティリプレイ1及びペナルティリプレイ2のうちいずれかの右リール2Rを構成する図柄を入賞ラインに引き込むことができる。このため、ペナルティリプレイ1及びペナルティリプレイ2は、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。図52に示すように、通常遊技状態においてペナルティリプレイに入賞した後は、ペナルティRTに制御される。
制御用リプレイは、入賞ラインのいずれかに「リプレイ−白7−リプレイ」の組合せが揃ったときに入賞となる。制御用リプレイを構成する図柄のうち、リール2L、2Rの図柄(「リプレイ」)は、各リールにおいて7コマ以内に配置されているが、中リール2Cの図柄(「白7」)は、5コマ以内に配置されていない。このため、内部抽選において制御用リプレイに当選していても、ストップスイッチ8Cを適正なタイミングで操作しなければ、制御用リプレイに入賞しない。しかし、後述するように、制御用リプレイは、昇格リプレイや転落リプレイ、ペナルティリプレイと同時に当選するため、ストップスイッチ8Cの操作タイミングに関わらず、昇格リプレイや転落リプレイ、ペナルティリプレイを構成する図柄を入賞ラインに引き込むことができる。このため、制御用リプレイは、原則として、当選しても入賞させることができないが、同時に当選するリプレイのいずれかを入賞させることができる役といえる。
次に、図51(b)を参照して、特殊出目について説明する。特殊出目は、図51(b)に示すように、「リプレイ−スイカ−黒ブドウ」「リプレイ−スイカ−白ブドウ」「リプレイ−黒プラム−黒ブドウ」「リプレイ−黒プラム−白ブドウ」「リプレイ−白プラム−黒ブドウ」「リプレイ−白プラム−白ブドウ」からなる6種類の組合せである。本実施例において特殊出目を入賞ラインL1〜L4のいずれかに停止させるリール制御は、いずれの遊技状態においても、ブドウ1〜8のいずれかに当選しているときであって、当選しているブドウを取りこぼし、かつ当該ブドウと同時に当選した小役を取りこぼした場合に行われる。その結果、ブドウ1〜8のいずれかに当選しているときであって、当選しているブドウを構成する図柄を入賞ラインL1〜L4のいずれにも停止させることができない場合で、かつ同時当選している小役を構成する図柄を入賞ラインL1〜L4のいずれにも停止させることができない場合に、特殊出目を入賞ラインL1〜L4のいずれかに停止させることができる。
また、本実施例では、後述のように左リール2Lを第1停止操作とすることを条件に、特殊出目を停止させることが可能とされており、ブドウ1〜8のいずれかに当選しているときであって、当該当選しているブドウを構成する図柄を入賞ラインL1〜L4のいずれにも停止させることができない場合で、かつ同時当選している小役を構成する図柄を入賞ラインL1〜L4のいずれにも停止させることができない場合であっても、左リール2L以外を第1停止操作としなければ特殊出目は入賞ライン上に導出されることはない。
図52に示すように、準備モード、不利RTあるいは有利RTにおいて特殊出目が入賞ラインに停止した後は、通常遊技状態に制御される。また、準備モードは、特殊出目が入賞ラインに停止せずに規定ゲーム数経過すると、不利RTに移行する。不利RTは、前述のように特殊出目が入賞ラインに停止して通常遊技状態に制御されるか、ボーナスが当選して内部中RTに制御されるまで継続して制御される。通常遊技状態は、ボーナスに当選するか、昇格リプレイに入賞するか、ペナルティリプレイに入賞するまで継続して制御される。尚、準備モード、不利RTあるいは有利RT以外の遊技状態において特殊出目が入賞ラインに停止されたとしても、通常遊技状態に制御されない。また、通常遊技状態において特殊出目が入賞ラインに停止されたとしても、当該通常遊技状態への制御が維持される。
次に、図53を参照して、遊技状態毎に抽選対象役として読み出される抽選対象役の組合せについて説明する。本実施例では、遊技状態がいずれであるかによって抽選対象役の組合せが異なる。尚、抽選対象役として後述するように、複数の入賞役が同時に読出されて、重複して当選し得る。図53においては、入賞役の間に“+”を表記することにより、内部抽選において同時に抽選対象役として読み出されることを示す。
図53においては、縦の欄に抽選対象役を示し、横の欄に遊技状態を示す。また、遊技状態と抽選対象役とが交差する欄の○印は、当該遊技状態であるときに当該抽選対象役が読み出されることを示し、×印は、当該遊技状態であるときに当該抽選対象役が読み出されないことを示している。また、図53の○印の下に示す数値は、所定の設定値(例えば設定値1)の判定値数を示す。当該判定値数を用いて内部抽選が行われる。尚、判定値数の分母は、内部抽選用の乱数(0〜65535の整数)に対応させて、「65536」に設定されている。このため、例えば、判定値数として「300」が設定されている抽選対象役(図53の通常の「スイカ」)の当選確率は、300/65536となる。
遊技状態が通常遊技状態であるときには、BB1、BB2、BB3、BB4、BB5、BB1+チェリー1+チェリー2+1枚役1、BB2+チェリー1+チェリー2、BB3+チェリー1、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、ブドウ、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、右押しブドウ2、リプGR1、リプGR2が内部抽選の対象となり、内部抽選の対象役として順に読み出される。
尚、リプGR1とは、通常リプレイ+昇格リプレイ+ペナルティリプレイをいい、通常リプレイ、昇格リプレイ及びペナルティリプレイが読み出されて内部抽選が行われることを示す。リプGR2とは、通常リプレイ+昇格リプレイ+ペナルティリプレイ+制御用リプレイをいい、通常リプレイ、昇格リプレイ、ペナルティリプレイ及び制御用リプレイが読み出されて内部抽選が行われることを示す。
また、左押しブドウ1とは、ブドウ+小役2+小役9をいう。左押しブドウ2とは、ブドウ+小役5+小役12をいう。中押しブドウ1とは、ブドウ+小役4+小役8をいう。中押しブドウ2とは、ブドウ+小役7+小役11をいう。右押しブドウ1とは、ブドウ+小役1+小役3をいう。右押しブドウ2とは、ブドウ+小役10+小役6をいう。左、中、右押しブドウ1及び2におけるブドウは、ブドウ1+ブドウ2+ブドウ3+…+ブドウ8をいう。よって、例えば、左押しブドウ1とは、ブドウ1〜8、小役2、及び小役9が読み出されて内部抽選が行われることを示す。
遊技状態が準備モード、不利RTであるときには、BB1、BB2、BB3、BB4、BB5、BB1+チェリー1+チェリー2+1枚役1、BB2+チェリー1+チェリー2、BB3+チェリー1、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、ブドウ、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、右押しブドウ2、通常リプレイが内部抽選の対象となり、内部抽選の対象役として順に読み出される。ただし準備モードの場合と不利RTの場合とで再遊技役の当選確率が異なる。
遊技状態が有利RTであるときには、BB1、BB2、BB3、BB4、BB5、BB1+チェリー1+チェリー2+1枚役1、BB2+チェリー1+チェリー2、BB3+チェリー1、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、ブドウ、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、右押しブドウ2、通常リプレイ、リプGR3、リプGR4が内部抽選の対象となり、内部抽選の対象役として順に読み出される。
尚、リプGR3とは、通常リプレイ+転落リプレイをいい、通常リプレイ及び転落リプレイが読み出されて内部抽選が行われることを示す。リプGR4とは、通常リプレイ+転落リプレイ+制御用リプレイをいい、通常リプレイ、転落リプレイ、及び制御用リプレイが読み出されて内部抽選が行われることを示す。転落リプレイとは、転落リプレイ1+転落リプレイ2をいい、転落リプレイ1及び転落リプレイ2が読み出されて内部抽選が行われることを示す。
遊技状態がペナルティRTであるときには、BB1、BB2、BB3、BB4、BB5、BB1+チェリー1+チェリー2+1枚役1、BB2+チェリー1+チェリー2、BB3+チェリー1、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、ブドウ、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、右押しブドウ2、通常リプレイが内部抽選の対象となり、内部抽選の対象役として順に読み出される。
遊技状態が内部中RTであるときには、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、ブドウ、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、右押しブドウ2、通常リプレイ、リプGR1、リプGR2が内部抽選の対象となり、内部抽選の対象役として順に読み出される。
遊技状態がRB1であるときには、スイカ、チェリー1、チェリー1+チェリー2、チェリー1+チェリー2+1枚役1、1枚役1、1枚役2、全小役が内部抽選の対象となり、内部抽選の対象役として順に読み出される。全小役とは、ブドウ1〜8+小役1〜12+スイカ+チェリー1+チェリー2+1枚役1をいう。また、遊技状態がRB2であるときには、全小役が内部抽選の対象となり、内部抽選の対象役として読み出される。
ボーナスの内部抽選において取得される判定値数は、設定値が大きいほど大きくなっている。これにより、設定値が大きいほど、内部抽選において特別役に当選する確率を高くすることができる。
また、ボーナスは、チェリー1+チェリー2+1枚役1、チェリー1+チェリー2、チェリー1の各役と同時に当選し得る。このうち、特に、チェリー1及びチェリー2を同時当選役ともいう。チェリー1+チェリー2+1枚役1、チェリー1+チェリー2、チェリー1のうち当選したときにボーナスと同時当選している割合は、チェリー1+チェリー2+1枚役1が最も高く、次にチェリー1+チェリー2、チェリー1の順となるように判定値数が設定されている。
次に、図53の再遊技役の判定値数及び特別役の判定値数に着目して、遊技状態毎に再遊技役の当選確率及び特別役の当選確率を比較する。準備モードであるときには、通常リプレイが読み出され、そのときの判定値数として「39000」が設定されている。また、不利RT及びペナルティRTであるときには、通常リプレイが読み出され、そのときの判定値数として「9000」が設定されている。このため、準備モード、不利RT及びペナルティRTにおいては、再遊技役として、通常リプレイのみに入賞可能であり、遊技状態の移行を伴う昇格リプレイやペナルティリプレイ、転落リプレイに入賞しない。その結果、準備モード及び不利RTにおいては、前述した特殊出目が入賞ラインに停止することによってのみ、通常遊技状態に制御されるといえる。また、ペナルティRTにおいては、規定ゲーム数である300ゲーム消化することによってのみ、通常遊技状態に制御されるといえる。
通常遊技状態においては、リプGR1、リプGR2が読み出され、通常リプレイのみならず、昇格リプレイ及びペナルティリプレイにも入賞し得る。
通常遊技状態において、リプGR1が読み出されるときの判定値数として「4500」が、リプGR2が読み出されるときの判定値数として「4500」が設定されている。通常遊技状態において、昇格リプレイに入賞したときには、有利RTに制御され、ペナルティリプレイに入賞したときには、ペナルティRTに制御される。尚、本実施例における通常遊技状態におけるリプレイの判定値数の合計値は、不利RT、ペナルティRTであるときの通常リプレイの判定値数と同じ値となるように設定されている。よって、通常遊技状態においては、不利RT及びペナルティRTと、再遊技役の当選確率が同じになるように設定されている。
一方、有利RTにおいては、通常リプレイに加え、リプGR3、リプGR4が高確率で読み出され、通常リプレイのみならず、転落リプレイにも入賞し得る。
有利RTであるときには、通常リプレイが読み出されるときの判定値数として「8000」が、リプGR1が読み出されるときの判定値数として「16000」が、リプGR2が読み出されるときの判定値数として「16000」が、設定されている。有利RTにおいて、転落リプレイに入賞したときには、通常遊技状態に制御される。
また、内部中RTにおいては、通常リプレイに加え、リプGR1、リプGR2が読み出され、通常リプレイのみならず、昇格リプレイやペナルティリプレイにも入賞し得る。
内部中RTであるときには、通常リプレイが読み出されるときの判定値数として「7600」が、リプGR1が読み出されるときの判定値数として「15200」が、リプGR2が読み出されるときの判定値数として「15200」が、設定されている。内部中RTにおいて、昇格リプレイあるいはペナルティリプレイに入賞したときであっても、遊技状態が移行されず当該内部中RTが維持される。
以上より、準備モード、不利RT、通常遊技状態、有利RT、ペナルティRT及び内部中RT各々における、いずれかのリプレイに当選する確率は、上記割り当てられた判定値数の合計から、以下のようになる。
準備モードであるときのリプレイ当選確率・・39000/65536(約1/1.68)
不利RTであるときのリプレイ当選確率・・9000/65536(約1/7.28)
通常遊技状態であるときのリプレイ当選確率・・9000/65536(約1/7.28)
有利RTであるときのリプレイ当選確率・・40000/65536(約1/1.64)
ペナルティRTであるときのリプレイ当選確率・・9000/65536(約1/7.28)
内部中RTであるときのリプレイ当選確率・・38000/65536(約1/1.72)
これらより、本実施例においては、いずれかのリプレイに当選する確率が、準備モード、有利RT及び内部中RTであるときに、不利RT、ペナルティRT及び通常遊技状態であるときよりも高くなるように設定されている。このため、準備モード、有利RT及び内部中RTは、不利RT、ペナルティRTまたは通常遊技状態であるときよりも、リプレイの当選確率が高く、1ゲームあたりのメダルの払出率が高い点で、遊技者にとって有利な状態であるといえる。また、内部中RTであるときには、有利RT、準備モードであるときよりも後述するようにリール制御においてボーナスよりも優先的に引き込まれるリプレイの当選確率が低くなるように設定されているため、有利RTや準備モードであるときと同じリプレイの当選確率が設定されている場合と比較して、当選しているボーナスを入賞させることができる割合を高めることができる。
次に図52に基づいて遊技状態の遷移について説明する。
ボーナスの終了後、まず、不利RT及び通常遊技状態よりも再遊技役の当選確率が高く1ゲームあたりのメダルの払出率が高い準備モードに移行する。
準備モードでは、特殊出目が入賞ラインに停止することで準備モードよりも再遊技役の当選確率が低く、1ゲームあたりのメダルの払出率が低い通常遊技状態に移行し、特殊出目が入賞ラインに停止しない場合でも、準備モードの開始後、規定ゲーム数(本実施例では10ゲーム)経過すると、準備モードよりも再遊技役の当選確率が低く、1ゲームあたりのメダルの払出率が低い不利RTに移行する。尚、準備モードから有利RTやペナルティRTに移行することはない。
不利RTでは、特殊出目が入賞ラインに停止することで通常遊技状態に移行し、特殊出目が入賞ラインに停止しない場合には、ボーナスが当選する以外、不利RTが維持されるようになっている。尚、準備モード同様に不利RTから有利RTやペナルティRTに移行することはない。
通常遊技状態では、昇格リプレイが入賞することで、通常遊技状態よりも再遊技役の当選確率が高く、1ゲームあたりのメダルの払出率が高い有利RTに移行する。一方で、通常遊技状態においてペナルティリプレイが入賞することで、通常遊技状態と再遊技役の当選確率及び1ゲームあたりのメダルの払出率が同じであるが、直接有利RTに移行させることができないペナルティRTに移行する。
有利RTでは、転落リプレイが入賞するか、特殊出目が入賞ラインに停止することで、再び通常遊技状態に移行することとなり、転落リプレイの入賞、特殊出目の停止、ボーナスの当選以外は、有利RTが維持されるようになっている。
ペナルティRTでは、規定ゲーム数である300ゲーム消化することで、再び通常遊技状態に移行することとなり、それ以外は、ペナルティRTが維持されるようになっている。この状態では、ボーナスが当選して準備モードを経るか、300ゲーム消化するまでは再び有利RTへ移行可能な通常遊技状態に移行することがない。
また、準備モード、不利RT、通常遊技状態、有利RT、ペナルティRTのいずれかでボーナスが当選すると、不利RT及び通常遊技状態よりも再遊技役の当選確率の高い内部中RTに移行する。内部中RTは、当選したボーナスが入賞するまで維持され、当選したボーナスが入賞することでボーナスに移行することとなる。
このように本実施例では、ボーナスの終了後、遊技者にとって有利な有利RTへ直ちに移行することなく、準備モード、不利RT、通常遊技状態といった複数の遊技状態を経なければ有利RTへ移行することがないので、ボーナスの終了後、遊技者にとって有利な有利RTへ移行するまでの興趣を高めることができる。
また、ボーナスの終了後、準備モード及び通常遊技状態を経なければ有利RTへ移行させることができず、有利RTへ移行するのがその分遅くなるものの、ボーナスの終了後に移行する準備モードは、最も滞在する期間の長い通常遊技状態よりも1ゲームあたりのメダルの払出率が高いため、有利RTへ移行するのが遅れることに伴う損失を軽減できる。特に、既にATに制御されることが決まっている状況であれば、通常遊技状態から有利RTへ移行するまでの期間以外に不利な期間を極力減らすことが可能となり、例えば、ATに制御されている状態でボーナスが当選し、当該ボーナスの終了後もATに制御される場合には、有利な状態の連続性が途切れてしまうことを極力低減することができる。
また、通常遊技状態よりも1ゲームあたりのメダルの払出率が高い準備モードは、特殊出目が入賞ラインに停止せず、通常遊技状態へ移行しない場合でも、規定ゲーム数の経過により準備モードよりも相対的にメダルの払出率が低い不利RTへ移行するので、ボーナスの終了後、準備モードが長期間にわたり継続することにより必要以上に有利となってしまうこともない。
また、本実施例では、後述の共通の操作態様にてゲームを行った場合の特殊出目の停止率が、中押しブドウ、右押しブドウの当選確率が11100/65536であり、リール制御により約1/3の確率でブドウを入賞させることができることから、約1/8.86(7400/65536)となる。そして、準備モードから不利RTに移行することとなる規定ゲーム数として、共通の操作態様にてゲームを行った場合の特殊出目の停止率の逆数よりも多い10ゲームが定められている。このため、ボーナスの終了後、不利RTに移行する前に準備モードから通常遊技状態に移行する割合が高くなるので、既にATに制御されることが決まっている状況であれば、通常遊技状態から有利RTへ移行するまでの期間以外に不利な期間をさらに減らすことが可能となり、例えば、ATに制御されている状態でボーナスが当選し、当該ボーナスの終了後もATに制御される場合には、有利な状態の連続性が途切れてしまうことをさらに低減することができる。
本実施例では、複数種類の再遊技役が同時に当選している場合(例えば、リプGR1など)には、図54(a)に示すように、同時当選した再遊技役の種類及び停止操作順に応じて定められた再遊技役を入賞ライン上に最大4コマの引込範囲で揃えて停止させる制御が行われる。図54(a)は、複数のリプレイが同時当選したときのリール制御を説明するための図である。
例えば、通常リプレイと昇格リプレイとペナルティリプレイとを含むリプGR1が当選し、左押しとなる操作態様で操作された場合には、当選したリプレイのうち通常リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、中押しとなる操作態様で操作された場合には、昇格リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、右押しとなる操作態様で操作された場合には、ペナルティリプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行う。
左押しとは、左リール2Lを第1停止させる操作態様をいう。中押しとは、中リール2Cを第1停止させる操作態様をいう。右押しとは、右リール2Rを第1停止させる操作態様をいう。
また、通常リプレイと昇格リプレイとペナルティリプレイと制御用リプレイとを含むリプGR2が当選し、左押しとなる操作態様で操作された場合には、当選したリプレイのうち通常リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、中押しとなる操作態様で操作された場合には、ペナルティリプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、右押しとなる操作態様で操作された場合には、昇格リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行う。
通常リプレイ及び昇格リプレイを構成する図柄は、左リール2L及び右リール2Rにおいて7コマ以内の間隔で配置され、中リール2Cにおいて5コマ以内の間隔で配置されており、かつ入賞ラインとしてL1〜L4が設定されているため、停止操作順に応じて、ストップスイッチ8L〜8Rの停止操作タイミングに関わらず、通常リプレイまたは昇格リプレイが必ず入賞するようにリール制御が行われる。また、ペナルティリプレイ1及びペナルティリプレイ2各々単独では、右リール2Rの図柄(「黒プラム」「白プラム」)が7コマ以内に配置されていないために、ストップスイッチ8Rの操作タイミングによって取りこぼす。しかし、リプGR1やリプGR2に当選したときには、ペナルティリプレイ1とペナルティリプレイ2とが同時に当選する。このため、停止操作順に応じて、ストップスイッチ8L〜8Rの停止操作タイミングに関わらず、通常リプレイ、昇格リプレイ、あるいはペナルティリプレイのうちいずれかが必ず入賞するようにリール制御が行われる。また、転落リプレイ1及び転落リプレイ2各々単独では、右リール2Rの図柄(「黒ブドウ」「白ブドウ」)が7コマ以内に配置されていないために、ストップスイッチ8Rの操作タイミングによって取りこぼす。しかし、リプGR3やリプGR4に当選したときには、転落リプレイ1と転落リプレイ2とが同時に当選する。このため、停止操作順に応じて、ストップスイッチ8L〜8Rの停止操作タイミングに関わらず、通常リプレイあるいは転落リプレイのうちいずれかが必ず入賞するようにリール制御が行われる。
また、リプGR1あるいはリプGR2に当選したときには、いずれに当選したか否かに関わらず、左押しすると、必ず通常リプレイを入賞させるようにリール制御が行われる。このため、リプGR1とリプGR2とで、通常リプレイに入賞させるための共通の操作態様が設定されている。
また、リプGR1に当選したときには、中押しすると昇格リプレイを入賞させ、右押しするとペナルティリプレイを入賞させるようにリール制御が行われる。これに対し、リプGR2に当選したときには、中押しするとペナルティリプレイを入賞させ、右押しすると昇格リプレイを入賞させるようにリール制御が行われる。このように、リプGR1とリプGR2とで、昇格リプレイに入賞させるための操作態様、及びペナルティリプレイ入賞を回避させるための操作態様として、異なる操作態様が設定されている。
このため、通常遊技状態において、左押しの共通の操作態様で操作する限り、昇格リプレイやペナルティリプレイに入賞することが有り得ず、有利RTやペナルティRTに制御されることがない。一方、通常遊技状態において、中押しあるいは右押しすると、リプGR1あるいはリプGR2に当選しているときには、1/2の確率で昇格リプレイに入賞することにより有利RTに制御され、1/2の確率でペナルティリプレイに入賞することによりペナルティRTに制御される。
本実施例では、後述するように、通常遊技状態であって後述するナビ演出が実行されていないときに上記共通の操作態様以外の操作態様で操作されたことを条件として、遊技者にとって不利益となる所定のペナルティが課され、さらに、偶然昇格リプレイに当選しかつ入賞して有利RTに制御されたとしても当該有利RTにおいてATに制御されずナビ演出が実行されないために、意図的に特殊出目の停止及び転落リプレイ入賞を回避することができず当該有利RTを維持させることができないように構成されている。
一方、ペナルティリプレイに入賞してペナルティRTに制御された場合には、ボーナス当選を除き、以後300ゲーム消化するまで、当該ペナルティRTが維持されるために有利RTに制御される可能性がなくなるというペナルティが課される。さらに、昇格リプレイやペナルティリプレイに入賞せずとも、通常遊技状態であってナビ演出が実行されていないときに上記共通の操作態様以外の操作態様で操作されたことを条件として、後述する各種のペナルティが課されるため、遊技者にとって不利益となる。
その結果、通常遊技状態においてナビ演出が実行されていないときには、共通の操作態様以外の操作態様で操作することによる利益よりもペナルティが課されることによる不利益の方が大きくなる。よって、共通の操作態様以外の操作態様で操作するよりも共通の操作態様で操作する方が、遊技者にとっての有利度合いを高くすることができる。
また、通常リプレイと転落リプレイとを含むリプGR3が当選し、左押しとなる操作態様で操作された場合には、当選したリプレイのうち通常リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、中押しまたは右押しとなる操作態様で操作された場合には、転落リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行う。
また、通常リプレイと転落リプレイと制御用リプレイを含むリプGR4が当選し、左押しとなる操作態様で操作された場合には、当選したリプレイのうち転落リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行い、中押しまたは右押しとなる操作態様で操作された場合には、通常リプレイの組合せをいずれかの入賞ラインに揃えて停止させる制御を行う。
転落リプレイ1及び転落リプレイ2各々単独では、右リール2Rの図柄(「黒ブドウ」「白ブドウ」)が7コマ以内に配置されていないために、ストップスイッチ8Rの操作タイミングによって取りこぼす。しかし、転落リプレイ1と転落リプレイ2とが同時に当選するため、停止操作順に応じて、ストップスイッチ8L〜8Rの操作タイミングに関わらず、通常リプレイまたは転落リプレイが必ず入賞するようにリール制御が行われる。
このため、リプGR3に当選したときには、左押しすると通常リプレイを入賞させ、中押しまたは右押しすると転落リプレイを入賞させるようにリール制御が行われる。これに対し、リプGR4に当選したときには、左押しすると通常リプレイを入賞させ、中押しまたは右押しすると転落リプレイを入賞させるようにリール制御が行われる。このように、転落リプレイ入賞を回避させ通常リプレイを入賞させるための操作態様が、リプGR3当選時とリプGR4当選時とで異なるように設定されている。
次に、複数種類の小役が同時に当選している場合(チェリー1+チェリー2、ブドウ1〜8すべてなど)には、払出枚数が多い小役が払出枚数の少ない小役よりも優先的に入賞ラインに引き込むリール制御が行われる。
複数種類の小役が同時に当選している場合として、ブドウ(ブドウ1〜8)、左押しブドウ1、左押しブドウ2、中押しブドウ1、中押しブドウ2、右押しブドウ1、及び右押しブドウ2のいずれかに当選している場合には、図54(b)に示すように、同時当選したブドウ及び小役の種類及び最初に停止操作がなされたリール(第1停止されたリール)が左リール、中リール、右リールのいずれであるか、に応じて、ブドウを入賞ライン上に最大4コマの引込範囲で揃えて停止させる制御が行われる。図54(b)は、ブドウに当選したときのリール制御を説明するための図である。
例えば、小役が同時に当選することなくブドウに当選している場合には、第1停止させたリールの種類、及びストップスイッチ8L、8C、8Rの停止操作タイミングに関わらず、ブドウ1〜8のいずれかが必ず入賞するようにリール制御が行われる。ブドウ1〜8各々を構成する図柄は、左リール2L及び右リール2Rにおいて7コマ以内の間隔で配置され、中リール2Cにおいて5コマ以内の間隔で配置されており、かつ入賞ラインとしてL1〜L4が設定されているため、ストップスイッチ8L、8C、8Rの停止操作タイミングに関わらず、ブドウ1〜8のいずれかが必ず入賞するようにリール制御が行われる。
また、左押しブドウ1が当選し、左リール2Lを第1停止させた場合には、当選したブドウのうちブドウ1〜8のいずれかを入賞ラインに揃えて停止させる制御を行う。
一方、左押しブドウ1が当選し、中リール2Cまたは右リール2Rを第1停止させた場合には、当選した小役2または小役9のうちいずれかを入賞ライン上に揃えて停止させる制御を行う。小役2を構成する図柄は、左リール2L及び中リール2C各々の図柄(「黒ブドウ」)が7コマ以内に配置されていない。また、小役9を構成する図柄は、左リール2L及び右リール2R各々の図柄(「黒ブドウ」、「白ブドウ」)が7コマ以内に配置されていない。よって、ストップスイッチ8L〜8R各々が、当選した小役2または小役9のうちいずれかに応じた適正なタイミングで停止操作されたときには、対応する小役2または9に入賞し得るが、適正なタイミングで停止操作されなかったときには、入賞せず、かつ図51(b)で示した特殊出目も導出されない。
また、左押しブドウ2が当選し、左リール2Lを第1停止させた場合には、当選したブドウのうちブドウ1〜8のいずれかを入賞ラインに揃えて停止させる制御を行う。
一方、左押しブドウ2が当選し、中リール2Cまたは右リール2Rを第1停止させた場合には、当選した小役5または小役12のうちいずれかを入賞ライン上に揃えて停止させる制御を行う。小役5を構成する図柄は、左リール2L及び中リール2C各々の図柄(「白ブドウ」)が7コマ以内に配置されていない。また、小役12を構成する図柄は、左リール2L及び右リール2R各々の図柄(「白ブドウ」、「黒ブドウ」)が7コマ以内に配置されていない。よって、ストップスイッチ8L〜8R各々が、当選した小役5または小役12のうちいずれかに応じた適正なタイミングで停止操作されたときには、対応する小役5または12に入賞し得るが、適正なタイミングで停止操作されなかったときには、入賞せず、かつ図51(b)で示した特殊出目も導出されない。
このように、左押しブドウ1あるいは左押しブドウ2に当選したときにおいては、左リール2Lを第1停止させたときに確実にブドウ1〜8のいずれかを入賞させるようにリール制御が行われ、左リール2L以外を第1停止させたときには、引き込み可能な場合にのみ当選している小役を入賞させ、引き込み不可能な場合にすべて取りこぼし、特殊出目も導出させないようにリール制御が行われる。
また、中押しブドウ1あるいは中押しブドウ2に当選したときにおいては、中リール2Cを第1停止させたときに確実にブドウ1〜8のいずれかを入賞させるようにリール制御が行われ、中リール2C以外を第1停止させたときには、引き込み可能な場合にのみ当選している小役を入賞させ、引き込み不可能な場合にすべて取りこぼす。この際、左リール2Lが第1停止とされたときには、図51(b)で示した特殊出目のいずれかを入賞ラインに導出させるようにリール制御が行われる。
また、右押しブドウ1あるいは右押しブドウ2に当選したときにおいては、右リール2Rを第1停止させたときに確実にブドウ1〜8のいずれかを入賞させるようにリール制御が行われ、右リール2R以外を第1停止させたときには、引き込み可能な場合にのみ当選している小役を入賞させ、引き込み不可能な場合にすべて取りこぼす。この際、左リール2Lが第1停止とされたときには、図51(b)で示した特殊出目のいずれかを入賞ラインに導出させるようにリール制御が行われる。
このように本実施例では、左押しブドウ1あるいは2が当選したか、中押しブドウ1あるいは2が当選したか、右押しブドウ1あるいは2が当選したかによって、ブドウ1〜8を確実に入賞させるための第1停止リールを異ならせることにより、入賞させるための操作態様(入賞用操作態様)操作態様を異ならせることができる。
また、特殊出目は、中押しブドウ1、2あるいは右押しブドウ1、2のいずれかが当選し、左リール2Lを第1停止操作とした場合のみいずれかの入賞ラインに揃えることが可能とされており、左リール2L以外のリールを第1停止操作とした場合には、特殊出目が入賞ライン上に停止することはない。
ここで、有利RTから通常遊技状態に転落する確率について説明する。有利RTから通常遊技状態に転落する契機は、転落リプレイ入賞、及び特殊出目停止が設定されている。転落リプレイ入賞確率は、転落リプレイ当選確率及びリール制御から、4000/65536×1/2=2000/65536となる。また、共通の操作態様(左押し)にて遊技を行った場合の特殊出目停止率は、中押しブドウ、右押しブドウの当選確率が11100/65536であり、リール制御により約1/3の確率でブドウ入賞させることができることから、約7400/65536となる。
よって、有利RTにおいて、演出状態が後述するATでないときに転落リプレイ入賞により通常遊技状態に転落する確率は、9400/65536≒1/6.97となる。
このため、仮にナビ演出が実行されていない通常遊技状態において共通の操作態様以外で操作することにより、偶然昇格リプレイに入賞して有利RTに制御されたとしても、当該有利RTにおいてATに制御されずナビ演出が実行されないため、約7ゲームしか当該有利RTを継続させることができず通常遊技状態に転落する。また、上記のようにナビ演出が実行されていないときに共通の操作態様以外で操作することにより、ペナルティが課される。よって、通常遊技状態中であってナビ演出が実行されていないときには、遊技者に対し、共通の操作態様で操作させることができる。
尚、ブドウに単独当選(ブドウ1〜8に当選した場合をいい、小役と同時当選する場合を除く)して入賞する確率は、当選した場合には操作態様に関わらず必ずいずれかのブドウに入賞するため、2775/65536となる。
次に、チェリー1に当選している場合のリール制御について説明する。チェリー1は、図53で示したように、単独で当選する場合、チェリー2と同時当選する場合、チェリー2+1枚役1と同時当選する場合が生じ、各々、図54(c)に示すようにリール制御が行われる。
まず、チェリー1に単独で当選しているときには、チェリー1を構成する図柄である「チェリーリプレイ−リプレイ」を入賞ラインのいずれかに優先的に引き込むリール制御が行われる。チェリー1を構成する図柄のうち、中リール2C及び右リール2R各々の図柄である「リプレイ」は、5コマあるいは7コマ以内の間隔で配置されているが、左リール2Lの図柄である「チェリー」は、7コマ以内の間隔で配置されていないため、ストップスイッチ8Lの停止操作タイミングに応じて入賞するようにリール制御が行われる。
次に、チェリー1+チェリー2に当選しているときには、左リール2Lの「チェリー」と、中リール2Cの「チェリー」と、を入賞ラインのいずれかに優先的に引き込むリール制御が行われる。尚、中リール2Cの「チェリー」を入賞ライン上に引き込むことができない場合、すなわちチェリー2を取りこぼす場合には、チェリー1を入賞させるリール制御が行われる。これにより、引き込み可能な限り、左リール2Lと中リール2Cとで「チェリー」を入賞ライン上に揃えて停止させることができる。尚、右リール2Rについては、「リプレイ」を入賞ライン上に引き込むリール制御が行われ、「チェリー」については少なくとも入賞ラインに引き込まないようにリール制御が行われる。すなわち、チェリー1+チェリー2に当選しているときには、「チェリー」が、左リール2L及び中リール2Cに揃って停止され得るが、さらに右リール2Rにまで揃って停止されないようにリール制御が行われる。
チェリー1+チェリー2+1枚役1に当選しているときには、左リール2Lの「チェリー」と、中リール2Cの「チェリー」と、右リール2Rの「チェリー」とを入賞ラインのいずれかに優先的に引き込むリール制御が行われる。これにより、引き込み可能な限り、左リール2L、中リール2C、右リール2Rとで「チェリー」を入賞ライン上に揃えて停止させることができる。すなわち、チェリー1+チェリー2+1枚役1に当選しているときには、「チェリー」が、左リール2L、中リール2C、右リール2R各々において揃って停止され得るようにリール制御が行われる。尚、中リール2Cの「チェリー」を入賞ライン上に引き込むことができない場合、すなわちチェリー2を取りこぼす場合には、チェリー1を入賞させるリール制御が行われる。さらに、チェリー1を入賞させることができない場合には、引き込み可能な限り1枚役1を構成する図柄を引き込むリール制御が行われる。
図53で示したように、チェリー1やチェリー2は、ボーナスと同時当選する同時当選役であって、チェリー1+チェリー2+1枚役1が最も高く、次にチェリー1+チェリー2、チェリー1の順となるように判定値数が設定されている。また、チェリー1やチェリー2に当選しているときには、図54(c)で示したリール制御が行われる。このため、「チェリー」の図柄が入賞ライン上に多く出現する程、ボーナス当選していることに対する期待感を向上させることができ、遊技の興趣を向上させることができる。
また、本実施例においては、チェリー1やチェリー2などの同時当選役に当選したことを条件として、サブ制御部91により所定期間(例えば5ゲーム)に亘り、内部当選状況に応じてナビ演出が実行されるとともに、ボーナス当選していることを煽る連続演出が実行されるナビ可能期間に制御される。
本実施例のサブ制御部91は、ポイントを付与・管理するとともに報知するためのポイント関連処理、遊技状態等に応じて演出状態をATに制御するためのAT制御処理、ATへの制御に関し遊技者にとって不利益となるペナルティを課すためのペナルティ設定処理、を行う。
サブ制御部91は、AT制御処理に含まれる第1AT抽選処理を実行することにより、第1AT抽選を行う。第1AT抽選処理では、メイン制御部41からの内部当選コマンドに基づきボーナス当選したと判定されたときに、前回のボーナス終了以降において実際に付与されたポイントの総数に応じた確率にしたがって第1AT抽選が実行される。また、第1AT抽選処理では、メイン制御部41からのコマンドに基づきボーナス終了したと判定されたときに、当該ボーナス中に付与されたポイントの総数に応じた確率にしたがって第1AT抽選が実行される。
図55は、第1AT抽選を実行する契機となる抽選条件を説明するための図である。また、図56及び図57は、それぞれ、第1AT抽選において参照されるテーブルを説明するための図である。
第1AT抽選では、図55に示すように、ボーナス当選したと判定されたときには図56に示すボーナス当選時用テーブルを参照し、ボーナス終了したと判定されたときには図57に示すボーナス終了時用テーブルを参照し、付与されたポイントの総数に応じた確率にしたがってナビストック数が決定される。ボーナス当選したか否かは、例えばメイン制御部41からの内部当選コマンドから特定される。また、ボーナス終了したか否かは、例えばメイン制御部41からの遊技状態コマンドから特定される。
ナビストック数とは、ATに制御可能となる期間を示す。ナビストック数を1消費(減算)することにより、所定回数(例えば50)ゲームを消化する間、ATに制御され、その間ナビ演出が実行可能となる。これより、決定されたナビストック数が多い程、長い期間に亘りATに制御されるため、遊技者にとって有利度合いが高いといえる。本実施例においては、ボーナス当選による第1AT抽選で決定されたナビストック数と、後述するボーナス当選による第2AT抽選で決定されたナビストック数と、ボーナス終了による第1AT抽選で決定されたナビストック数との合計数に応じて、当該ボーナス終了後においてATに制御される。また、前回ボーナスが終了してから非ATにおいて消化したゲーム数が所定ゲーム数に到達したときには、AT抽選の結果に関わらず、次にボーナス入賞するまでATに制御される。
サブ制御部91は、第1AT抽選や第2AT抽選において1以上のナビストック数が決定されたときに、ATである旨及びナビストック数(第1AT抽選や第2AT抽選の合計数)を示すATフラグをRAM91cの所定領域に格納する。サブ制御部91は、RAM91cのATフラグに基づき、ATに制御するか否かを特定するとともに、残りのナビストック数を特定する。
尚、ATである旨を示すATフラグがセットされているときに、ナビストック数が付与されたときには、ATフラグから特定されるストック数に今回付与されたナビストック数を上乗せ加算させても良く、今回付与されたナビストック数に書き換えるものであっても良い。
例えば、ATである旨を示すATフラグがセットされているときに、ボーナス当選により第1AT抽選や第2AT抽選が行われる場合には、当該第1AT抽選や第2AT抽選の結果に応じたATフラグに更新される。尚、第1AT抽選や第2AT抽選の結果に応じたATフラグに更新するとは、例えば、RAM91cの所定領域に格納されているATフラグから特定されるナビストック数に今回の第1AT抽選や第2AT抽選の結果に応じたナビストック数を上乗せ加算したナビストック数を特定するATフラグに書き換えることであっても良く、また、RAM91cの所定領域に格納されているATフラグを今回の第1AT抽選や第2AT抽選の結果に応じたナビストック数を示すATフラグに書き換えることであっても良い。第1AT抽選や第2AT抽選の結果に応じた現在のATフラグが特定可能になる手法であれば、どのようなものであっても良い。
また、ボーナス当選により例えば第1AT抽選が行われてATである旨を示すATフラグがセットされた後において、ナビストック数が付与された場合には、上乗せ加算したナビストック数を特定するATフラグに書き換えられる。
例えば、ボーナス当選により例えば第1AT抽選が行われてATである旨を示すATフラグがセットされた後において、当該ボーナス当選による第2AT抽選や当該ボーナス終了による第1AT抽選が行われてさらに1以上のナビストック数が決定された場合には、RAM91cの所定領域に格納されているATフラグから特定されるナビストック数に、当該ボーナス当選による第2AT抽選や当該ボーナス終了による第1AT抽選の結果に応じたナビストック数を上乗せ加算したナビストック数を特定するATフラグに書き換えられる。
第1AT抽選において、図56に示すボーナス当選時用テーブルが参照された場合について説明する。ボーナス以外において付与された付与ポイントであって、ボーナス当選したときにおける付与ポイントの総数(以下、通常付与ポイント総数ともいう)が「0〜2」であるときには、90%の割合でナビストック数が0に決定され、5%の割合でナビストック数が1に決定され、2%の割合でナビストック数が3に決定され、2%の割合でナビストック数が5に決定され、1%の割合でナビストック数が10に決定されるように、ボーナス当選時の第1AT抽選が行われる。
通常付与ポイント総数が「3〜5」であるときには、50%の割合でナビストック数が0に決定され、30%の割合でナビストック数が1に決定され、15%の割合でナビストック数が3に決定され、3%の割合でナビストック数が5に決定され、2%の割合でナビストック数が10に決定されるように、ボーナス当選時の第1AT抽選が行われる。
通常付与ポイント総数が「6〜9」であるときには、70%の割合でナビストック数が1に決定され、20%の割合でナビストック数が3に決定され、5%の割合でナビストック数が5に決定され、3%の割合でナビストック数が10に決定され、2%の割合でナビストック数が20に決定されるように、ボーナス当選時の第1AT抽選が行われる。
通常付与ポイント総数が「10」であるときには、70%の割合でナビストック数が3に決定され、10%の割合でナビストック数が5に決定され、10%の割合でナビストック数が10に決定され、10%の割合でナビストック数が20に決定されるように、ボーナス当選時の第1AT抽選が行われる。尚、後述するように、通常付与ポイント総数の上限は、「10」に設定されている。
このように、図56のボーナス当選時用テーブルは、通常付与ポイント総数が多い程、高い割合で1以上でかつより多いナビストック数に決定されるように、すなわち遊技者にとって有利となるようにボーナス当選時のAT抽選が行われる。また、通常付与ポイント総数が6以上であるときには必ず1以上のナビストック数に決定される。このため、通常付与ポイント総数が6以上であるときにはボーナス終了後において必ずATに制御される。
よって、通常付与ポイント総数が多い程、高い割合でATに制御され、かつ高い割合でより多いナビストック数に決定されることにより、遊技者にとって有利となるようにAT抽選が行われるといえる。その結果、遊技者が認識するポイントの総数が多い程、ATに制御されること、及びより多いナビストック数を獲得することに対する期待感を抱かせることができ、遊技の興趣を向上させることができる。
次に、第1AT抽選において、図57に示すボーナス終了時用テーブルが参照された場合について説明する。ボーナス中に付与された付与ポイントであって、当該ボーナス終了したときにおける付与ポイントの総数(以下、ボーナス中付与ポイント総数ともいう)が「0〜1」であるときには、95%の割合でナビストック数が0に決定され、3%の割合でナビストック数が1に決定され、2%の割合でナビストック数が3に決定されるように、ボーナス終了時の第1AT抽選が行われる。
ボーナス中付与ポイント総数が「2〜3」であるときには、80%の割合でナビストック数が0に決定され、15%の割合でナビストック数が1に決定され、4%の割合でナビストック数が3に決定され、1%の割合でナビストック数が5に決定されるように、ボーナス終了時の第1AT抽選が行われる。
ボーナス中付与ポイント総数が「4」であるときには、60%の割合でナビストック数が0に決定され、25%の割合でナビストック数が1に決定され、10%の割合でナビストック数が3に決定され、4%の割合でナビストック数が5に決定され、1%の割合でナビストック数が20に決定されるように、ボーナス終了時の第1AT抽選が行われる。
ボーナス中付与ポイント総数が「5」であるときには、70%の割合でナビストック数が3に決定され、10%の割合でナビストック数が5に決定され、10%の割合でナビストック数が10に決定され、10%の割合でナビストック数が20に決定されるように、ボーナス終了時の第1AT抽選が行われる。尚、後述するように、ボーナス中付与ポイント総数の上限は、「5」に設定されている。
このように、図57のボーナス終了時用テーブルにおいても、ボーナス中付与ポイント総数が多い程、高い割合で1以上でかつより多いナビストック数に決定されるように、すなわち遊技者にとって有利となるようにボーナス終了時の第1AT抽選が行われる。また、ボーナス中付与ポイント総数が5であるときには必ず3以上のナビストック数に決定される。このため、ボーナス中付与ポイント総数が5であるときにはボーナス終了後において必ずATに制御される。
よって、ボーナス中付与ポイント総数が多い程、高い割合でATに制御され、かつ高い割合でより多いナビストック数に決定されることにより、遊技者にとって有利となるようにAT抽選が行われるといえる。その結果、遊技者が認識するポイントの総数が多い程、ATに制御されること、及びより多いナビストック数を獲得することに対する期待感を抱かせることができ、遊技の興趣を向上させることができる。また、遊技者が認識するポイントの総数が少ない場合であっても、後述するような報知抽選が行われてポイントが報知されるため、認識したポイントの総数以上のポイントが実際に付与されている可能性があり、ATに制御されること、及びより多いナビストック数を獲得することに対する期待感を持続させることができる。
以上のように、本実施例においては、サブ制御部91によりボーナス当選あるいはボーナス終了したときに行われる第1AT抽選処理により、図56あるいは図57に示すテーブルを参照して、第1AT抽選が行われる。
尚、ペナルティ設定処理においてペナルティが課されているペナルティ期間中にボーナス当選したとき、及び当該ボーナスが終了したときには、第1AT抽選が行われない。すなわち、ボーナスに関連して実行されるはずの第1AT抽選を行わず、ナビストック数を獲得することができないというペナルティが遊技者に課される。
第1AT抽選においてATに制御すると決定される確率に関与するポイントは、サブ制御部91により、演出制御処理に含まれるポイント関連処理が実行されることにより、付与され、管理される。また、サブ制御部91によりポイント関連処理が実行されることにより、ポイントが付与された旨を報知するポイント付与演出が実行される。図58は、サブ制御部91により実行されるポイント関連処理を説明するためのフローチャートである。
まず、S1においては、所定のポイント付与条件が成立しているか否かが判定される。図59(a)は、ボーナス以外であるときに成立し得るポイント付与条件を説明するための図であり、図59(b)は、ボーナス中において成立し得るポイント付与条件を説明するための図である。
まず、図59(a)を参照して、ボーナス以外であるときには、スイカ、チェリー1、及びチェリー2の少なくともいずれかに当選することあるいはチェリー1+チェリー2+1枚役1に当選することを条件として成立する。より具体的には、ボーナス以外の遊技状態である場合にスイカ、チェリー1、及びチェリー2の少なくともいずれかに当選したときには、例えばランダムカウンタから抽出された乱数を用いた所定の抽選で当選することを条件として、ポイント付与条件が成立する。当該所定の抽選で当選する確率は、例えば、遊技状態が通常遊技状態であるときに5%に設定されており、遊技状態が通常遊技状態以外であるときに10%に設定されている。すなわち、スイカ、チェリー1、及びチェリー2の少なくともいずれかに当選したときであっても、遊技状態が通常遊技状態以外であるときの方が通常遊技状態であるときよりも高い割合でポイント付与条件が成立する。よって、ポイント付与条件が成立しやすい点において、通常遊技状態であるときよりも、通常遊技状態以外の例えば準備モードや不利RT、有利RTなどであるときの方が、遊技者にとって有利であるといえる。
尚、ボーナス以外の遊技状態であるときにスイカ、チェリー1、及びチェリー2の少なくともいずれかに当選してポイント付与条件が成立した場合に付与されるポイントについては、後述するように、所定の報知抽選の結果に応じて報知され得る。
また、ボーナス以外の遊技状態である場合にチェリー1+チェリー2+1枚役1に当選したときには、原則として、必ずポイント付与条件が成立する。このため、ボーナス以外の遊技状態である場合にチェリー1+チェリー2+1枚役1に当選してポイント付与条件が成立した場合に付与されるポイントについては、後述するように少なくとも所定数(例えば1)のポイントが付与された旨、報知される。
次に、図59(b)を参照して、ボーナス中においては、いずれかの小役が単独で当選すること、あるいは1枚役2に当選することを条件として成立する。尚、図53で示したように、小役が単独で当選し得るボーナス、1枚役2に当選し得るボーナスは、RB1中のみとなる。
RB1中であるときにいずれかの小役が単独で当選したときには、例えばランダムカウンタから抽出された乱数を用いた所定の抽選で当選することを条件として、ポイント付与条件が成立する。当該所定の抽選で当選する確率は、例えば10%に設定されている。
尚、RB1中にいずれかの小役が単独で当選してポイント付与条件が成立した場合に付与されるポイントについては、後述するように、所定の報知抽選の結果に応じて報知され得る。
また、RB1中であるときに1枚役2に当選したときには、原則として必ずポイント付与条件が成立する。RB1中であるときに1枚役2に当選してポイント付与条件が成立した場合に付与されるポイントについては、後述するように、少なくとも所定数(例えば1)のポイントが付与された旨、報知される。
尚、当選により必ずポイント付与条件が成立する場合には、所定数のポイントが付与された旨を報知されるものに限らず、後述するS2において決定される付与ポイントを正
確に報知するものであっても良い。
図58に戻り、S1において、図59に示した状態に応じたポイント付与条件が成立したと判定されなかったときには、そのままポイント関連処理を終了する。一方、S1においてポイント付与条件が成立していると判定されたときには、S2において、遊技者に付与し得る付与ポイントが設定される。
図60は、S2において付与ポイントを決定するためのテーブルを説明するための図である。ボーナス以外であるときにポイント付与条件が成立したときには、図60のボーナス以外の欄に示されるように、付与ポイントとして、50%の割合で1ポイントに決定され、20%の割合で2ポイントに決定され、20%の割合で3ポイントに決定され、10%の割合で5ポイントに決定される。
ボーナス中であるときにポイント付与条件が成立したときには、図60のボーナス中の欄に示されるように、付与ポイントとして、85%の割合で1ポイントに決定され、10%の割合で2ポイントに決定され、4%の割合で3ポイントに決定され、1%の割合で5ポイントに決定される。
このように、ポイント付与条件がボーナス中に成立したときよりも、ボーナス以外で成立したときの方が、高い割合で、より多いポイントが付与ポイントとして決定される。
尚、ポイント付与条件が成立したときの遊技状態に応じて異なる割合で付与ポイントが決定されるように構成しても良い。より具体的には、ポイント付与条件が成立したときの遊技状態に応じたテーブルを参照して、付与ポイントが決定されるように構成しても良い。これにより、より多いポイントが付与されることに対する期待感を、ポイント付与条件が成立したときの遊技状態によって異ならせることができ、遊技の興趣を向上させることができる。
また、ポイント付与条件が成立する契機となった入賞役の種類に応じて異なる割合で付与ポイントが決定されるように構成しても良い。より具体的には、ポイント付与条件が成立する契機となった入賞役の種類に応じたテーブルを参照して、付与ポイントが決定されるように構成しても良い。これにより、より多いポイントが付与されることに対する期待感を、ポイント付与条件が成立する契機となった入賞役の種類によって異ならせることができ、遊技の興趣を向上させることができる。
図58のS2においては、図60に示すテーブルを参照して付与ポイントを決定し、該決定された付与ポイントを特定するための付与ポイント情報をRAM91cの所定領域に格納する。サブ制御部91は、RAM91cの付与ポイント情報に基づき、今回のポイント付与条件が成立したことに起因する付与ポイントを特定する。
尚、本実施例においては、S1においてポイント付与条件が成立しているか否かを判定し、成立しているときにS2において付与ポイントを決定する例について説明したが、ポイントを付与するか否か及び付与ポイントの決定に関しては、これに限らず、1回の抽選でポイントを付与するか否か及び付与ポイントが決定されるように構成しても良い。例えば、ボーナス以外の遊技状態であり、通常遊技状態中にスイカ当選したときに、ポイント0〜5のうちいずれにするかを決定するように構成しても良い。この場合、ポイント0に決定されたときには、ポイントが付与されないことになる。
S3においては、ポイント付与の契機となった今回のポイント付与条件が、所定数のポイントが付与された旨を必ず報知する条件であったか否かが判定される。すなわち、今回
のポイント付与条件が、図59(a)に示すボーナス以外でかつ高確率状態であるときにチェリー1+チェリー2+1枚役1に当選することにより成立した条件、あるいは図59(b)に示すボーナス中であるときに1枚役2に当選することにより成立した条件のいずれかであるかが判定される。
S3において、ポイント付与条件が所定数のポイントが付与された旨を必ず報知する条件であったと判定されたときには、所定数のポイントが付与された旨を報知するために後述するS8へ移行される。本実施例においては、例えば報知ポイントとしてポイント「1」に決定される。
一方、S3において、ポイント付与条件が所定数のポイントが付与された旨を必ず報知する条件であったと判定されなかったときには、ポイントが付与された旨を報知するか否かの決定及び報知する場合のポイント数の決定を行う報知抽選するためにS4へ移行される。
S4においては、差数対応報知抽選が行われる。差数対応報知抽選とは、実際に付与されたポイントの総数と、報知されたポイントの総数との差数に応じて、今回ポイント付与条件が成立してS2において設定された付与ポイントを報知するか否かの抽選、S2において設定された付与ポイントを正確に報知するか否かの抽選、及びS2において設定された付与ポイントを正確に報知しない場合に何ポイント低いポイントを報知するかの抽選を含む。尚、差数は、S4において、後述する付与ポイント総数(S10で更新)と報知ポイント総数(S9で更新)とから算出される。具体的に、差数は、付与ポイント総数から報知ポイント総数を差し引いた値である。
図61は、差数対応報知抽選を行うためのテーブルを説明するための図である。本実施例における差数対応報知抽選では、まず、図61(a)の差数対応テーブルAを参照して、差数に応じてポイントを報知するか否かの抽選が行われる。
差数が「0」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、30%の割合で報知するに決定され、70%の割合で報知しないに決定される。差数が「1」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、40%の割合で報知するに決定され、60%の割合で報知しないに決定される。
差数が「2」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、50%の割合で報知するに決定され、50%の割合で報知しないに決定される。差数が「3以上」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、70%の割合で報知するに決定され、30%の割合で報知しないに決定される。
このように、図61(a)の差数対応テーブルAは、ポイントが付与された旨を、差数が小さい程、高い割合で報知しないに決定され、差数が大きい程、高い割合で報知するに決定される。これにより、すでに差数が大きいときに、さらに報知されないことにより差数が大きくなり過ぎることを防止することができる。
図61(a)の差数対応テーブルAを参照して、報知するに決定された場合には、さらに図61(b)の差数対応テーブルBを参照して、S2において設定された付与ポイント及び差数に応じて、当該付与ポイントを正確に報知するか否かの抽選及び当該付与ポイントを正確に報知しない場合に何ポイントを報知するか報知する報知ポイントを決定する抽選が行われる。正確に報知しない場合には、付与ポイントよりも遊技者にとって演出状態抽選において有利度合いが低くなるポイント、すなわち付与ポイントよりも少ないポイントから報知ポイントが決定される。
付与ポイントが「1」である場合には、差数に関わらず、報知ポイントとして、100%の割合でポイント「1」に決定される。付与ポイントが「2」である場合で、差数が「0〜2」である場合には、報知ポイントとして、30%の割合でポイント「1」に決定され、70%の割合でポイント「2」に決定される。付与ポイントが「2」である場合で、差数が「3以上」である場合には、報知ポイントとして、20%の割合でポイント「1」に決定され、80%の割合でポイント「2」に決定される。
付与ポイントが「3」である場合で、差数が「0〜2」である場合には、報知ポイントとして、10%の割合でポイント「1」に決定され、20%の割合でポイント「2」に決定され、70%の割合でポイント「3」に決定される。付与ポイントが「3」である場合で、差数が「3以上」である場合には、報知ポイントとして、10%の割合でポイント「2」に決定され、90%の割合でポイント「3」に決定される。
付与ポイントが「5」である場合で、差数が「0〜2」である場合には、報知ポイントとして、10%の割合でポイント「2」に決定され、20%の割合でポイント「3」に決定され、70%の割合でポイント「5」に決定される。付与ポイントが「5」である場合で、差数が「3以上」である場合には、報知ポイントとして、10%の割合でポイント「3」に決定され、90%の割合でポイント「5」に決定される。
このように、図61(b)の差数対応テーブルBは、差数が小さい程、高い割合で付与ポイントよりもより少ないポイントが付与された旨が報知されるように報知するポイントが決定され、差数が大きい程、高い割合で付与ポイントあるいは当該付与ポイントにより近いポイントが付与された旨が報知されるように報知するポイントが決定される。また、付与ポイントが多い程、高い割合で正確に報知される。これにより、すでに差数が大きいときや、付与ポイントが多く差数を生じさせやすい場合に、さらに少ないポイントが報知されてしまうことにより差数が大きくなり過ぎることを防止することができる。
本実施例における差数対応報知抽選では、図61(a)及び(b)のテーブルを用いて報知するか否か、及び報知ポイントを決定する例について説明したが、これに限らず、図61(a)のテーブルのみを用いて差数に応じて報知するか否かのみを決定し、報知すると決定されたときにはS2において設定された付与ポイントを正確に報知するように構成しても良い。また、図61(b)のテーブルのみを用いて差数に応じて報知ポイントを決定するように構成しても良い。
図58に戻り、S5においては、S4の差数対応報知抽選によりポイントが付与された旨を報知すると決定されたか否かが判定される。報知すると決定されたときには、S4において決定されたポイントが付与された旨を報知するために後述するS8へ移行される。一方、S5において報知すると決定されなかったときには、S6へ移行される。
S6においては、総数対応報知抽選が行われる。総数対応報知抽選とは、付与ポイント総数(ボーナス以外においては通常付与ポイント総数、ボーナス中においてはボーナス中付与ポイント総数)に応じて、今回ポイント付与条件が成立してS2において設定された付与ポイントを報知するか否かの抽選、S2において設定された付与ポイントを正確に報知するか否かの抽選、及びS2において設定された付与ポイントを正確に報知しない場合に何ポイント低いポイントを報知するかの抽選を含む。正確に報知しない場合には、後述する演出状態抽選などにおいて実際の付与ポイントよりも遊技者にとって有利度合いが低くなるポイント、すなわち付与ポイントよりも少ないポイントから報知ポイントが決定される。尚、実際に付与されたポイントの総数は、後述する付与ポイント総数から特定される。
図62は、総数対応報知抽選を行うためのテーブルを説明するための図である。本実施例における総数対応報知抽選では、まず、図62(a)の総数対応テーブルAを参照して、実際に付与されたポイントの総数に応じてポイントを報知するか否かの抽選が行われる。
ボーナス中以外において付与されたポイントの総数が「0〜2」であるとき、あるいはボーナス中において付与されたポイントの総数が「0〜1」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、80%の割合で報知するに決定され、20%の割合で報知しないに決定される。
ボーナス中以外において付与されたポイントの総数が「3〜5」であるとき、あるいはボーナス中において付与されたポイントの総数が「2〜3」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、50%の割合で報知するに決定され、50%の割合で報知しないに決定される。
ボーナス中以外において付与されたポイントの総数が「6〜10」であるとき、あるいはボーナス中において付与されたポイントの総数が「4〜5」であるときには、S2において付与ポイントが設定されたことに伴いポイントが付与された旨を、10%の割合で報知するに決定され、90%の割合で報知しないに決定される。
このように、図62(a)の総数対応テーブルAは、ポイントが付与された旨を、付与されたポイントの総数が少ない程、高い割合で報知するに決定され、付与されたポイントの総数が多い程、高い割合で報知しないに決定される。これにより、少ないポイントしか付与されていないときに、高い割合で報知することにより、少ないポイントについては付与されていることを遊技者に認識させ安心させることができる。一方、多いポイントが付与されているときに、高い割合で報知されないことにより、報知ポイントから遊技者が認識しているポイントよりも実際には多いポイントが付与されている可能性を高めることができ、期待感をより持続させることができる。
図62(a)の総数対応テーブルAを参照して、報知するに決定された場合には、さらに図62(b)の総数対応テーブルBを参照して、S2において設定された付与ポイント及びすでに付与されたポイントの総数に応じて、当該付与ポイントを正確に報知するか否かの抽選及び当該付与ポイントを正確に報知しない場合に何ポイントを報知するか報知する報知ポイントを決定する抽選が行われる。
付与ポイントが「1」である場合には、付与されたポイントの総数に関わらず、報知ポイントとして、100%の割合でポイント「1」に決定される。付与ポイントが「2」である場合で、ボーナス中以外におけるポイントの総数が「0〜2」である場合、あるいはボーナス中におけるポイントの総数が「0〜1」である場合には、報知ポイントとして、30%の割合でポイント「1」に決定され、70%の割合でポイント「2」に決定される。
付与ポイントが「2」である場合で、ボーナス中以外におけるポイントの総数が「3〜5」である場合、あるいはボーナス中におけるポイントの総数が「2〜3」である場合には、報知ポイントとして、50%の割合でポイント「1」に決定され、50%の割合でポイント「2」に決定される。
付与ポイントが「2」である場合で、ボーナス中以外におけるポイントの総数が「6〜10」である場合、あるいはボーナス中におけるポイントの総数が「4〜5」である場合には、報知ポイントとして、90%の割合でポイント「1」に決定され、10%の割合でポイント「2」に決定される。
付与ポイントが「3」である場合で、ボーナス中以外におけるポイントの総数が「0〜2」である場合、あるいはボーナス中におけるポイントの総数が「0〜1」である場合には、報知ポイントとして、10%の割合でポイント「1」に決定され、20%の割合でポイント「2」に決定され、70%の割合でポイント「3」に決定される。
付与ポイントが「3」である場合で、ボーナス中以外におけるポイントの総数が「3〜5」である場合、あるいはボーナス中におけるポイントの総数が「2〜3」である場合には、報知ポイントとして、20%の割合でポイント「1」に決定され、30%の割合でポイント「2」に決定され、50%の割合でポイント「3」に決定される。
付与ポイントが「3」である場合で、ボーナス中以外におけるポイントの総数が「6〜10」である場合、あるいはボーナス中におけるポイントの総数が「4〜5」である場合には、報知ポイントとして、50%の割合でポイント「1」に決定され、30%の割合でポイント「2」に決定され、20%の割合でポイント「3」に決定される。
付与ポイントが「5」である場合で、ボーナス中以外におけるポイントの総数が「0〜2」である場合、あるいはボーナス中におけるポイントの総数が「0〜1」である場合には、報知ポイントとして、10%の割合でポイント「3」に決定され、90%の割合でポイント「5」に決定される。
付与ポイントが「5」である場合で、ボーナス中以外におけるポイントの総数が「3〜5」である場合、あるいはボーナス中におけるポイントの総数が「2〜3」である場合には、報知ポイントとして、10%の割合でポイント「1」に決定され、10%の割合でポイント「2」に決定され、30%の割合でポイント「3」に決定され、50%の割合でポイント「5」に決定される。
付与ポイントが「5」である場合で、ボーナス中以外におけるポイントの総数が「6〜10」である場合、あるいはボーナス中におけるポイントの総数が「4〜5」である場合には、報知ポイントとして、30%の割合でポイント「1」に決定され、30%の割合でポイント「2」に決定され、30%の割合でポイント「3」に決定され、10%の割合でポイント「5」に決定される。
このように、図62(b)の総数対応テーブルBは、付与されたポイントの総数が少ない程、高い割合で付与ポイントあるいは付与ポイントにより近いポイントが付与された旨が報知されるように、付与されたポイントの総数が多い程、高い割合で付与ポイントよりもより少ないポイントが付与された旨が報知されるように報知するポイントが決定される。これにより、少ないポイントしか付与されていないときに、高い割合で正確に報知することにより、少ないポイントについては付与されていることを遊技者に認識させ安心させることができる。一方、多いポイントが付与されているときに、高い割合で付与ポイントよりも少ないポイントが報知されることにより、報知ポイントから遊技者が認識しているポイントよりも実際には多いポイントが付与されている可能性を高めることができ、期待感をより持続させることができる。
本実施例における総数対応報知抽選では、図62(a)及び(b)のテーブルを用いて報知するか否か、及び報知ポイントを決定する例について説明したが、これに限らず、図62(a)のテーブルのみを用いて総数に応じて報知するか否かのみを決定し、報知すると決定されたときにはS2において設定された付与ポイントを正確に報知するように構成しても良い。また、図62(b)のテーブルのみを用いて総数に応じて報知ポイントを決定するように構成しても良い。
また、本実施例における報知抽選として、差数対応報知抽選及び総数対応報知抽選を行う例について説明したが、これに限らず、いずれか一方のみを行うように構成しても良い。また、差数対応報知抽選を行った後に総数対応報知抽選を行う例について説明したが、総数対応報知抽選を行った後に差数対応報知抽選を行うように構成しても良い。
また、本実施例における報知抽選では、差数や総数に応じて、報知するか否か、及び報知ポイントを決定する例について説明したが、これに限らず、報知抽選では、差数や総数に関わらず、S2で設定される付与ポイントに応じて、報知するか否か、及び報知ポイントを決定するように構成しても良い。
図58に戻り、S7においては、S6の総数対応報知抽選によりポイントが付与された旨を報知すると決定されたか否かが判定される。報知すると決定されたときには、S6において決定されたポイントが付与された旨を報知するために後述するS8へ移行される。一方、S7において報知すると決定されなかったときには、ポイントが付与された旨を報知するための処理を行うことなく、S10へ移行される。
S8においては、ポイントが付与された旨を報知するポイント付与演出を実行するための報知処理が行われる。報知処理においては、S3においてYESと判定されたときには、ポイント付与演出として、例えばポイント「1」が付与された旨を特定可能な情報を報知(当該ゲーム開始時または終了時において「ポイント1獲得!!」といったメッセージを表示)するための処理が行われる。また、報知処理においては、ポイント付与演出として、S4またはS6において決定されたポイントが付与された旨を特定可能な情報を報知(例えば、ポイント「2」が付与された旨を報知する場合には、当該ゲーム開始時または終了時において「ポイント2獲得!!」といったメッセージを表示)するための処理が行われる。
尚、ポイント付与演出は、上記態様で実行されるものに限らず、付与されたポイント数に応じた態様で実行される演出であれば、どのような態様で実行されるものであっても良い。
S9においては、S8の処理により遊技者に報知されたポイントの総数である報知ポイント総数を特定するための報知ポイント総数情報を更新する。尚、S8において報知されるポイント付与演出としては、報知ポイント総数を特定するための情報(例えば、「獲得ポイント総数5!!」といったメッセージを表示)を報知しても良い。
報知ポイント総数情報は、RAM91cの所定領域に格納されており、S8においてポイントが付与された旨が報知される毎に当該ポイント分加算更新される。尚、当該報知ポイント総数情報は、ボーナス当選すること、あるいは演出状態をATモードに制御する決定がされることによりリセットされる。
S10においては、S2の処理により実際に付与されたポイントの総数である付与ポイント総数を特定するための付与ポイント総数情報を更新する。付与ポイント総数情報は、RAM91cの所定領域に格納されており、S2において付与ポイントが設定され報知抽選などが行われた後に当該付与ポイント分加算更新される。
本実施例における付与ポイント総数情報は、ボーナス当選して演出状態抽選が行われたこと、あるいは演出状態をATに制御する決定がされたことによりリセットされる。尚、付与ポイント総数情報は、ボーナス当選して演出状態抽選が行われたこと、あるいは演出状態をATに制御する決定がされたことによりリセットされるものに限らず、ボーナス当選して演出状態抽選が行われた後、あるいは演出状態をATに制御する決定がされた後においても当該付与ポイント総数のうち所定数のポイント(例えば、2ポイント)を持ち越すようにしても良い。
尚、本実施例においては、付与ポイント総数の上限として、ボーナス中以外においては「10」が、ボーナス中においては「5」が、各々予め設定されている。このため、S2において設定された付与ポイントを、今回のポイント付与条件が成立するまでの付与ポイント総数に加算すると、前述した上限値を超える場合には、付与ポイント総数として上限値が設定される。これに伴い、報知ポイント総数についても、上限として、ボーナス中以外においては「10」が、ボーナス中においては「5」が、各々予め設定されている。このため、S8においては、報知抽選などで決定されたポイントを報知すると、報知ポイント総数との関係から、前述した上限値を超える場合には、上限値になるポイントが付与された旨が報知される。
尚、報知ポイント総数がすでに上限値である場合には、ポイントが付与されなかったときと同様に報知されない。よって、S2において付与ポイントが設定された後において、報知ポイント総数がすでに上限値である場合にはそのままポイント関連処理を終了させ、報知ポイント総数が上限値に満たない場合にのみS3へ移行するように構成しても良い。
以上のように、本実施例においては、ポイント付与条件が成立したときに、差数や実際に付与されているポイントの総数に応じて、報知するか否か及び報知する場合の報知ポイントが決定され、当該決定結果にしたがって報知される。また、報知ポイントは、実際に付与された付与ポイントよりも、遊技者にとって演出状態抽選において有利度合いが低くなるポイントから報知ポイントが決定される。このため、報知ポイントから遊技者が認識するポイントは、実際に付与されたポイントの総数以下となる。その結果、実際に付与されているポイントの総数が報知ポイントから特定されるポイントの総数よりも多いかもしれないと遊技者に期待感を抱かせることができ、報知ポイントから特定されるポイントの総数よりも遊技者にとって演出状態抽選において有利な演出状態に決定されることに対し大きな期待感を抱かせることができる。
尚、ペナルティ設定処理においてペナルティが課されているペナルティ期間中においては、当該ポイント関連処理が実行されない。すなわち、ポイント付与条件が成立したときであってもポイントを獲得することができないというペナルティが遊技者に課される。よって、原則として必ずポイントが付与されるチェリー1+チェリー2+1枚役1に当選したときであっても、ペナルティ期間中においては、ポイントが付与されない。尚、ポイントに関するペナルティとしては、付与ポイント総数情報をリセットするものであっても良い。
次に、第2AT抽選について説明する。本実施例におけるサブ制御部91は、AT制御処理に含まれる第2AT抽選処理を実行することにより、第2AT抽選を行う。第2AT抽選処理では、メイン制御部41からのコマンドに基づき所定の抽選条件が成立したか否かを判定し、成立したときに第2AT抽選が実行される。図63は、第2AT抽選を実行する契機となる抽選条件を説明するための図である。また、図64は、第2AT抽選において参照されるテーブルを説明するための図である。
図63の通常遊技状態の欄に示すように、現在の遊技状態が通常遊技状態であるときには、演出状態がATであるか否かに関わらず、ボーナス当選することにより抽選条件が成立する。当該抽選条件が成立したときには、図64(a)に示すテーブルを参照して第2AT抽選が行われる。尚、サブ制御部91は、例えばメイン制御部41からの遊技状態コマンドに基づき現在の遊技状態を特定し、メイン制御部41からの内部当選コマンドに基づきボーナス当選したことを特定する。
図64(a)に示すテーブルが参照された場合、50%の割合でナビストック数が0に決定され、40%の割合でナビストック数が1に決定され、10%の割合でナビストック数が3に決定され、7%の割合でナビストック数が5に決定され、2%の割合でナビストック数が10に決定され、1%の割合でナビストック数が20に決定されるように、第2AT抽選が行われる。
尚、ボーナス終了後においては、第2AT抽選で決定されたナビストック数だけでなく、前述したボーナス当選による第1AT抽選で決定されたナビストック数とボーナス終了による第1AT抽選で決定されたナビストック数との合計数に応じて、ATに制御される。尚、ナビストック数の合計数については、上限数(例えば、20)を設け、合計数が上限数以上となる場合には上限数が設定されるように構成しても良い。
また、準備モードまたは不利RTであるときには、図63の準備モード・不利RTの欄に示すように、30ゲーム消化するまでの間において5ゲーム消化する毎、あるいはボーナス当選することにより抽選条件が成立する。当該抽選条件が成立したときには、図64(b)に示すテーブルのうち成立した抽選条件に対応するテーブルを参照して第2AT抽選が行われる。
第2AT抽選処理においては、準備モードに制御されてから消化したゲーム数を特定するために、例えば準備モードに制御されてから、メイン制御部41からの遊技状態コマンドを受信する毎に所定のカウンタをカウントアップする処理が行われる。メイン制御部41は、当該カウンタの値から、準備モードに制御されてから消化したゲーム数を特定し、図63に示す抽選条件を満たすゲーム数であるときに、第2AT抽選が実行される。例えば、準備モードに制御されてから5回目のゲームが終了したときに、5ゲーム消化したと判定されて、第2AT抽選が実行される。尚、所定のカウンタの値は、30に達したこと、転落リプレイ入賞したこと、ボーナス当選したことなどによりリセットされる。
準備モードに制御されてから5ゲーム消化したと判定されたときには、図64(b)に示す5G消化時のテーブルを参照して、99%の割合でナビストック数が0に決定され、1%の割合でナビストック数が1に決定されるように、第2AT抽選が行われる。
また、さらに5ゲーム消化して準備モードに制御されてから計10ゲーム消化したと判定されたときには、図64(b)に示す10G消化時のテーブルを参照して、98%の割合でナビストック数が0に決定され、2%の割合でナビストック数が1に決定されるように、第2AT抽選が行われる。
また、さらに5ゲーム消化して準備モードに制御されてから計15ゲーム消化したと判定されたとき(本実施例では、準備モードに制御されてから10ゲーム経過すると不利RTに移行するので不利RTに制御されてから5ゲーム消化したと判定されたときということもできる)には、図64(b)に示す15G消化時のテーブルを参照して、95%の割合でナビストック数が0に決定され、5%の割合でナビストック数が1に決定されるように、第2AT抽選が行われる。
また、さらに5ゲーム消化して準備モードに制御されてから計20ゲーム消化したと判定されたとき(不利RTに制御されてから10ゲーム消化したと判定されたとき)には、図64(b)に示す20G消化時のテーブルを参照して、90%の割合でナビストック数が0に決定され、7%の割合でナビストック数が1に決定され、2%の割合でナビストック数が3に決定され、1%の割合でナビストック数が5に決定されるように、第2AT抽選が行われる。
また、さらに5ゲーム消化して準備モードに制御されてから計25ゲーム消化したと判定されたとき(不利RTに制御されてから15ゲーム消化したと判定されたとき)には、図64(b)に示す25G消化時のテーブルを参照して、70%の割合でナビストック数が0に決定され、20%の割合でナビストック数が1に決定され、5%の割合でナビストック数が3に決定され、3%の割合でナビストック数が5に決定され、2%の割合でナビストック数が10に決定されるように、第2AT抽選が行われる。
また、さらに5ゲーム消化して準備モードに制御されてから計30ゲーム消化したと判定されたとき(不利RTに制御されてから20ゲーム消化したと判定されたとき)には、図64(b)に示す30G消化時のテーブルを参照して、60%の割合でナビストック数が1に決定され、25%の割合でナビストック数が3に決定され、10%の割合でナビストック数が5に決定され、3%の割合でナビストック数が10に決定され、2%の割合でナビストック数が20に決定されるように、第2AT抽選が行われる。尚、図64(b)に示す30G消化時のテーブルが参照されて第2AT抽選が行われた場合には、必ず1以上のナビストック数に決定されるため、必ずATに制御されることになる。
また、準備モードまたは不利RTにおいてボーナス当選したときには、図64(b)に示すボーナス当選時のテーブルを参照して、30%の割合でナビストック数が1に決定され、35%の割合でナビストック数が3に決定され、20%の割合でナビストック数が5に決定され、10%の割合でナビストック数が10に決定され、5%の割合でナビストック数が20に決定されるように、第2AT抽選が行われる。尚、図64(b)に示すボーナス当選時のテーブルが参照されて第2AT抽選が行われた場合には、必ず1以上のナビストック数に決定されるため、必ずATに制御されることになる。
また、有利RTであるときには、図63の有利RTの欄に示すように、ボーナス当選することにより抽選条件が成立する。当該抽選条件が成立したときには、図64(c)に示すテーブルを参照して第2AT抽選が行われる。
図64(c)に示すテーブルが参照された場合、60%の割合でナビストック数が1に決定され、25%の割合でナビストック数が3に決定され、10%の割合でナビストック数が5に決定され、3%の割合でナビストック数が10に決定され、2%の割合でナビストック数が20に決定されるように、第2AT抽選が行われる。
尚、図64(c)に示すテーブルが参照されて第2AT抽選が行われた場合には、必ず1以上のナビストック数に決定されるため、必ずATに制御されることになる。
ここで、遊技状態が、通常遊技状態、準備モード、不利RT及び有利RT各々であるときに実行される第2AT抽選における、遊技者にとっての有利度合いを対比する。遊技者にとっての有利度合いとは、例えば、AT抽選においてナビストック数が1以上に決定される割合すなわちATに制御される割合の高低、AT抽選においてより多いナビストック数に決定される割合の高低などをいう。
まず、ボーナス当選することにより抽選条件が成立した場合、通常遊技状態であるときに実行される第2AT抽選においては、図64(a)に示すテーブルが参照され、準備モード、不利RTあるいは有利RTであるときに実行される第2AT抽選においては、図64(b)に示すテーブルあるいは図64(c)のボーナス当選時に示すテーブルが参照される。このため、準備モード、不利RTあるいは有利RTであるときの方が、通常遊技状態であるときよりも、高い割合でナビストック数が1以上に決定され、かつ高い割合でより多いナビストック数に決定される。すなわち、準備モード、不利RTあるいは有利RTにおいては、通常遊技状態であるときよりも、高い割合でATに制御され、かつ高い割合でより多いナビストック数に決定されることにより、遊技者にとって有利となるようにAT抽選が行われるといえる。その結果、準備モード、不利RTあるいは有利RTであるときには、通常遊技状態であるときよりも、ATに制御されること、及びより多いナビストック数を獲得することに対する期待感を抱かせることができ、遊技の興趣を向上させることができる。特に、準備モード、不利RTにおいて、通常遊技状態であるときよりも高い割合でナビストック数が1以上に決定され、かつ高い割合でより多いナビストック数に決定されることで、ボーナスの終了後、遊技者にとって有利な有利RTへ移行させることが可能な通常遊技状態へ移行させることができない準備モードや不利RTが継続しても有利な条件でナビストック数を獲得することができるので、通常遊技状態へ移行させることができない遊技者の不満を軽減できる。
さらに、準備モード及び不利RTにおいては、ボーナス当選せずとも、30ゲーム消化するまでの間において5ゲーム消化する毎に、図64(b)に示す5G〜30G消化時のテーブルが参照されて第2AT抽選される。このため、準備モード及び不利RTにおいては、少なくとも通常遊技状態であるときよりも、より高い割合でATに制御されることになる。また、準備モード及び不利RTにおいては、前述したように、ボーナス当選することにより、少なくとも通常遊技状態であるときよりも、高い割合でATに制御され、かつ高い割合でより多いナビストック数に決定されることにより、遊技者にとって有利となるようにAT抽選が行われるといえる。その結果、準備モード及び不利RTにおいては、ATに制御されることに対し期待感を抱かせることができ、遊技の興趣を向上させることができる。
また、準備モード及び不利RTにおいては、図64(b)の5G〜30G消化時のテーブルに示すように、消化ゲーム数に比例して、ATに制御される割合、及びより多いナビストック数に決定される割合各々が高くなるように、当選率が設定されている。特に、30ゲーム消化したときには、原則として、必ずナビストックを獲得する。これにより、準備モード及び不利RTにおいては、ブドウを取りこぼさずに特殊出目を入賞ラインに停止させることなく当該準備モード及びそれに続く不利RTが維持されて極力多い回数ゲーム消化することに対する期待感を抱かせることができ、遊技の興趣を向上させることができる。
また、準備モード、不利RTあるいは有利RTにおいて、ボーナス当選することにより実行される第2AT抽選では、準備モード及び不利RTであるときに図64(b)のボーナス当選時のテーブルが参照され、有利RTであるときに図64(c)に示すテーブルが参照される。このため、準備モードあるいは有利RTのいずれでもボーナス当選により当該ボーナス終了後において必ずナビストックを獲得するが、準備モードまたは不利RTであるときの方が、有利RTであるときよりも、高い割合でより多いナビストック数に決定される。すなわち、準備モード及び不利RTにおいては、有利RTであるときよりも、高い割合でより多いナビストック数に決定されることにより、遊技者にとって有利となるようにAT抽選が行われるといえる。その結果、準備モード及び不利RTでボーナス当選すること、すなわち極力早い段階でボーナス当選することに対する期待感を抱かせることができ、遊技の興趣を向上させることができる。
以上のように、本実施例においては、サブ制御部91により行われる第2AT抽選処理により、現在の遊技状態に応じて定められた抽選条件が成立したか否かが判定され、抽選条件が成立したときには図64に示すテーブルのうち対応するテーブルを参照して、第2AT抽選が行われる。
尚、ペナルティ設定処理においてペナルティが課されているペナルティ期間中には、第2AT抽選が行われない。すなわち、ボーナス当選あるいは準備モード及び不利RTで所定ゲーム消化しても第2AT抽選を行わず、ナビストック数を獲得することができないというペナルティが遊技者に課される。また、ペナルティRTであるときには、第2AT抽選が行われない、というペナルティが遊技者に課される。
また、本実施例におけるサブ制御部91は、準備モード、不利RTまたは有利RTであるときに、AT制御処理に含まれるAT管理処理を行うことにより、AT抽選の結果に応じてセットされるATフラグに基づき、ATへの制御を管理する。
具体的に、サブ制御部91は、準備モードまたは不利RTから通常遊技状態への制御が開始されるときにおいて、ATフラグからATである旨が特定されたときには、ATに制御する。すなわち、ボーナス当選前からのナビストックが残っているとき、ボーナス当選あるいはボーナス終了によるAT抽選の結果によりATに制御する決定がされたとき、及び準備モード、不利RTにおける5ゲーム毎のAT抽選の結果によりATに制御する決定がされたときには、準備モードまたは不利RTから通常遊技状態への制御が開始されるときに、ATに制御される。通常遊技状態においては、ナビストック数を消費(減算)することなく、ATに制御されて、ナビ演出が実行可能となる。尚、通常遊技状態においてATに制御されているときに、ペナルティリプレイ入賞してペナルティRTに制御されたときには、当該ATを終了させる処理が行われる。
ATに制御されているときであって、通常遊技状態から有利RTに制御されるときには、ナビストック数を1ポイント消費(減算)することにより、所定回数(例えば50)ゲームを消化する間、ARTに制御する。尚、ナビストック数を1ポイント消費したときには、1減算したナビストック数を示すATフラグに更新される。
また、サブ制御部91は、AT管理処理を行うことにより、ARTであるときには、消化したゲーム数を計数して、所定回数に到達したときに非ARTに制御する。このときに、ATフラグが示すナビストック数が0であれば、ATでない旨を示すATフラグに更新される。
サブ制御部91は、AT管理処理を行うことにより、非ARTであるときに、転落リプレイあるいはブドウに当選したか否かを判定する。そして、転落リプレイあるいはブドウに当選したと判定されたときでさらにATフラグからATである旨が特定されたときには、ナビストック数を1ポイント消費することにより、所定回数ゲームを消化する間再びARTに制御する。これにより、ナビ演出が実行されるため、意図的に当選した転落リプレイ入賞を回避あるいはブドウ入賞させることができる。一方、転落リプレイあるいはブドウに当選したときにおいて、ATフラグからATでない旨が特定されたときには、ARTに制御されず、ナビ演出が実行されない。このため、通常遊技状態に制御される可能性が高まる。
以上のように、有利RTであるときには、ナビストック数を1ポイント消費することにより、所定回数のゲーム消化する間ARTに制御される。また、ARTにおいて所定回数ゲームを消化して一旦非ARTに制御されたときであっても、未だATフラグからATである旨が特定されナビストック数が1以上であることを条件として、転落リプレイあるいはブドウ当選時から所定回数のゲームを消化する間再びARTに制御される。これにより、AT抽選の結果に応じて設定されるナビストック数に応じた期間に亘り、ARTに制御可能となるといえる。また、AT抽選の結果に応じて設定されるナビストック数に応じた回数だけ、ARTに繰り返し制御可能となるといえる。
また、本実施例においては、上記のナビストック数を獲得していないときであっても、前回のボーナス終了時から非ATで消化されたゲーム数が所定の天井ゲーム数(例えば、500ゲーム)に到達したときに、次回ボーナス当選するまでATに制御される。本実施例におけるサブ制御部91は、AT制御処理に含まれる天井ゲーム到達時処理を実行することにより、天井ゲーム数に到達したときにATに制御するための処理を行う。
図65は、天井ゲーム到達時にAT制御するための天井ゲーム到達時処理を説明するためのフローチャートである。天井ゲーム到達時処理は、1ゲームに関連して実行されるものであって、例えば、1ゲームが開始されるとき、あるいは1ゲームが終了するときに実行される。
S21においては、演出状態が非ATであるか否かが判定される。S21において非ATであると判定されたときには、ペナルティ設定処理において設定されるペナルティ期間中であるか否かがS22において判定される。
S22においてペナルティ期間中でないと判定されたときには、S23において前回のボーナスが終了してから非AT中に消化されたゲーム数を特定するための非ATゲーム数カウンタが1加算される。非ATゲーム数カウンタは、RAM91cの所定領域において更新される。
S24においては、S23において加算された非ATゲーム数カウンタの値が、予め定められた天井ゲーム数(例えば500)に到達したか否かが判定される。S24において天井ゲーム数に到達していると判定されたときには、S25においてペナルティRT中であるか否かが判定される。
S25においてペナルティRT中でないと判定されたときには、S26において次回のボーナスが発生するまで演出状態をATに制御するためのAT設定を行う。例えば、ATに制御するための強制ATフラグをRAM91cの所定領域に格納させて強制的にATに制御する。この強制ATフラグは、ボーナス発生時にクリアされる。これにより、非AT中に消化したゲーム数が天井ゲーム数に到達したときに、次回ボーナス発生するまでATに制御することができる。
一方、S22においてペナルティ期間中であると判定されたとき、S24において天井ゲーム数に到達していないと判定されたとき、S25においてペナルティRT中であると判定されたときには、そのまま天井ゲーム到達時処理を終了する。これにより、ペナルティ期間中であるときには、1ゲームに関連して非ATゲーム数カウンタが加算されない。すなわち、ペナルティ期間中であるときには、非AT中に消化されるゲームであっても、天井ゲーム数に到達したか否かを判定するためのゲーム数として加算されない、という遊技者にとって不利益を課すことができる。さらに、ペナルティRT中において、天井ゲーム数に到達したとしても、当該ペナルティRTが終了するまで、ATに制御させない、という遊技者にとって不利益を課すことができる。
S25の処理に換えて、S22において、ペナルティ期間中であるか否か、及びペナルティRT中であるか否かを判定するようにし、ペナルティ期間中あるいはペナルティRT中であると判定されたときには、非ATゲーム数カウンタを加算することなく、当該天井ゲーム到達時処理を終了させても良い。これにより、ペナルティ期間中に加え、ペナルティRT中であるときにも非ATゲーム数カウンタが加算されないというリスクを負わせることができる。
また、本実施例においては、ATに制御されていないときであっても、ボーナスと同時当選し得る同時当選役に当選したときに、所定ゲームの間、ナビ演出を実行可能なナビ可能期間に制御される。本実施例におけるサブ制御部91は、AT制御処理に含まれるナビ可能期間設定処理を実行することにより、同時当選役に当選したときにナビ可能期間に制御するための処理を行う。
図66は、非AT中においてナビ演出を実行させるためのナビ可能期間設定処理を説明するためのフローチャートである。ナビ可能期間設定処理は、1ゲームに関連して実行されるものであって、例えば、1ゲームが開始されるとき、あるいは1ゲームが終了するときに実行される。
S31においては、遊技状態が準備モード、不利RT及びペナルティRT以外であって、かつ演出状態が非AT中であるか否かが判定される。S31において準備モード、不利RT及びペナルティRT以外かつ非AT中であると判定されたときには、今回ゲームの内部抽選において同時当選役(チェリー1、チェリー2)に当選したか否かが判定される。今回ゲームとは、開始されたゲームあるいは終了したゲームをいう。S31において準備モードであるか、不利RTであるか、ペナルティRTであるか、あるいは非AT中でないと判定されたとき、及びS32において同時当選役に当選していないと判定されたときにはそのままナビ可能期間設定処理を終了する。
一方、S32において同時当選役に当選したと判定されたときには、S33において実際にボーナスが同時当選したか否かが判定される。すなわちBB1+チェリー1+チェリー2+1枚役1、BB2+チェリー1+チェリー2、BB3+チェリー1のいずれかに当選したか否かが判定される。尚、S33においては、実際にボーナスが同時当選したか否かを判定するものに限らず、例えば前回ゲーム以前に当選したボーナスが持ち越されている場合も生じえるため、単にボーナス当選しているか否かを判定するものであっても良い。
S33においてYESと判定されたときには、S34において特別ナビ期間が設定され、ナビ可能期間設定処理を終了する。一方、S33においてNOと判定されたときには、S35において通常ナビ期間が設定され、ナビ可能期間設定処理を終了する。
S34において特別ナビ期間が設定されたときには、例えば、次のゲームから特別ナビ期間用の期間(例えば5ゲーム消化する期間)に亘り、ナビ対象役に当選したときに、対応するナビ演出が特別ナビ期間用の確率(例えば90%)に従って実行される。一方、S35において通常ナビ期間が設定されたときには、例えば、次のゲームから通常ナビ期間用の期間(例えば3ゲーム消化する期間)に亘り、ナビ対象役に当選したときに、対応するナビ演出が通常ナビ期間用の確率(例えば50%)に従って実行される。
尚、特別ナビ期間用の期間は、本実施例では通常ナビ期間用の期間よりも長く設定されている例について説明するが、これに限らず、通常ナビ期間用の期間と同じであっても良く、また通常ナビ期間用の期間よりも短く設定されているものであっても良い。
また、特別ナビ期間中においてナビ対象役に当選したときにナビ演出を実行する特別ナビ期間用の確率は、本実施例では、通常ナビ期間中においてナビ対象役に当選したときにナビ演出を実行する通常ナビ期間用の確率よりも高く設定されている例について説明するが、これに限らず、通常ナビ期間用の確率と同じであっても良く、また通常ナビ期間用の確率よりも低く設定されているものであっても良い。
また、特別ナビ期間及び通常ナビ期間は、本実施例では次のゲームから起算される例について説明するが、これに限らず、所定ゲーム数消化した後から起算するものであっても良く、また、ナビ対象役に当選したゲームから起算するものであっても良い。
また、本実施例においては、S33においてボーナス当選していると判定されたときに特別ナビ期間を設定し、ボーナス当選していないと判定されたときに通常ナビ期間を設定する例について説明するが、これに限らず、ボーナス当選しているか否かに応じて異なる割合でナビ可能期間を設定するものであっても良い。例えば、ボーナス当選しているときには、ボーナス当選していないときよりも高い割合で特別ナビ期間を設定するものであっても良い。また、ボーナス当選していないときには、ボーナス当選しているときよりも高い割合で通常ナビ期間を設定するものであっても良い。
また、本実施例におけるサブ制御部91は、ゲームが開始されたときに、遊技演出実行処理に含まれるナビ演出実行処理を行うことにより、当該ゲームの内部当選の結果に応じたナビ演出が実行される。内部当選の結果は、メイン制御部41からの内部当選コマンドから特定される。
図67は、演出状態に応じてナビ演出を実行するためのナビ演出実行処理を説明するためのフローチャートである。
S41においては、演出状態がAT中であるか否かが判定される。S41においてAT中であると判定されたときには、S42において遊技状態に応じたナビ対象役に当選したか否かが判定される。遊技状態に応じたナビ対象役とは、通常遊技状態であるときには昇格リプレイ及びペナルティリプレイをいい、有利RTであるときにはブドウ+小役、及び転落リプレイをいう。
S42において遊技状態に応じたナビ対象役に当選したと判定されなかったときには、ナビ演出を実行することなく、そのままナビ演出実行処理を終了する。一方、S42において遊技状態に応じたナビ対象役に当選していると判定されたときには、S43において、当該当選したナビ対象役に対応するナビ演出を実行しナビ演出実行処理を終了する。
昇格リプレイ及びペナルティリプレイに当選したときのナビ演出としては、当選状況に応じて昇格リプレイを入賞させるための押し順が報知される。例えば、リプGR1に当選したときのナビ演出としては、「中押し!」といったメッセージが、液晶表示器51に表示される。また、リプGR2に当選したときのナビ演出としては、「右押し!」といったメッセージが、液晶表示器51に表示される。
また、ブドウ+小役に当選したときのナビ演出としては、ブドウ1〜8のいずれかを確実に入賞させるための押し順が報知される。例えば、左押しブドウ1に当選したときには、左リールを第1停止させることにより有利となる図柄組合せとしてブドウ1〜8のいずれかを確実に入賞させることができるため、左リールを第1停止させるための「左押し!」といったメッセージが、液晶表示器51に表示される。また、中押しブドウ1に当選したときには、中リールを第1停止させることにより有利となる図柄組合せとしてブドウ1〜8のいずれかを確実に入賞させることができるため、中リールを第1停止させるための「中押し!」といったメッセージが、液晶表示器51に表示される。
転落リプレイに当選したときのナビ演出としては、当選状況に応じて転落リプレイ入賞を回避させるための押し順が報知される。例えば、リプGR3に当選したときのナビ演出としては、左押しさせるための「左押し!」といったメッセージが、液晶表示器51に表示される。また、リプGR4に当選したときのナビ演出としては、逆押しか中押しさせるための「右押し!」あるいは「中押し!」といったメッセージが、液晶表示器51に表示される。
以上のように、本実施例におけるナビ演出は、遊技者にとって有利となる操作態様を想起させるメッセージが、ナビ対象役の種類に関わらず同じ態様で報知される。このため、遊技者は、当選したナビ対象役の種類を意識せずに遊技者にとって有利となる操作態様で操作することができる。
尚、ナビ演出の態様は、このような態様に限らず、遊技者が当選状況に応じて区別可能な態様であればどのようなものであっても良い。また、ナビ演出は、液晶表示器51に表示するものに限らず、演出効果LED52、スピーカ53、54、リールLED55等を用いて実行するものであっても良い。
一方、S41において、AT中でないと判定されたときには、S44において図66のS34またはS35において設定されるナビ可能期間中であるか否かが判定される。S44においてナビ可能期間中であると判定されなかったときには、そのままナビ演出実行処理を終了する。一方、S44においてナビ可能期間中であると判定されたときには、S45において、上記した遊技状態に応じたナビ対象役に当選したか否かが判定される。
ナビ可能期間におけるナビ対象役として、通常遊技状態であるときには昇格リプレイ及びペナルティリプレイ、ブドウ+小役が定められており、有利RTであるときには、転落リプレイ、ブドウ+小役が定められており、ペナルティRTであるときにはブドウ+小役が定められている。
また、内部中RTにおいてナビ可能期間では、昇格リプレイ及びペナルティリプレイが当選したときには、最初の1回だけ昇格リプレイを入賞させるためのナビ演出を実行し、その後においては通常リプレイを入賞させるためのナビ演出が実行される。これにより、ナビ可能期間であるときには、ボーナスに当選しているか否かに関わらず、1回だけ昇格リプレイを入賞させるためのナビ演出が実行され、それ以外は通常リプレイやブドウ+小役を入賞させるためのナビ演出が実行されるため、ナビ演出の種類及び停止出目からボーナス当選しているか否かを判断し難くすることができる。
S45において遊技状態に応じたナビ対象役に当選したと判定されたときには、S46においてナビ可能期間が特別ナビ期間であるか通常ナビ期間であるかに応じて定められている確率に従ってナビ演出を実行するか否かを決定して、実行すると決定されたときに当該当選したナビ対象役に対応するナビ演出を実行し、ナビ演出実行処理を終了する。
一方、S45において遊技状態に応じたナビ対象役に当選していないと判定されたときには、S47において通常リプレイに単独当選(他のリプレイと同時当選する場合を除く)またはブドウに単独当選(ブドウ1〜8に当選した場合をいい、小役と同時当選する場合を除く)に当選したか否かが判定される。S47において通常リプレイに単独当選またはブドウに単独当選していないと判定されたときにはそのままナビ演出実行処理を終了する。S47において通常リプレイに単独当選またはブドウに単独当選したと判定されたときには、S48へ移行し、特別ナビ演出を実行する。
特別ナビ演出とは、例えば、操作態様に関わらず一の図柄組合せが停止される入賞役に当選したときに実行されるナビ演出をいう。特別ナビ演出としては、昇格リプレイに当選したときのナビ演出と同じ態様のナビ演出が実行される。例えば、リプGR1に当選したときのナビ演出としての「中押し!」といったメッセージを表示するか、リプGR2に当選したときのナビ演出としての「右押し!」といったメッセージを表示するかを乱数などを用いてランダムに選択し、該選択したメッセージを特別ナビ演出として実行する。これにより、昇格リプレイ当選時と同じナビ演出が実行され、当該ナビ演出どおり停止操作したにも関わらず、操作態様に関わらず同じ図柄組合せが停止されるため、ナビ可能期間中であることを遊技者に認識させることができ、ボーナス当選しているか否かに対する緊張感を抱かせることができる。
以上、本実施例におけるサブ制御部91は、メイン制御部41からのコマンドに基づき、AT制御処理を行うことにより、ATに制御されているとき及びナビ可能期間であるときにはナビ演出を実行する。
また、本実施例におけるサブ制御部91は、ペナルティ設定処理を行うことにより、ナビ演出が実行されていないときに、推奨する押し順で操作されなかったことを条件として、ペナルティを課す処理を行う。
図68は、ペナルティ設定処理を説明するためのフローチャートである。ペナルティ設定処理は、本実施例では1ゲームが終了したときに実行される例について説明するが、受け付けた操作態様が共通の操作態様であるか否かを特定できるタイミングで実行されるものであれば良く、例えば、第2停止されたときに実行されるものであっても良い。
S51においては、終了したゲームにおいてナビ演出が実行されたか否かが判定される。S51においてナビ演出が実行されたと判定されたときには、ペナルティを課すことなく、そのままペナルティ設定処理を終了する。よって、AT中やナビ可能期間中のナビ演出が実行されたときには、ペナルティが課されないため、遊技者は安心して遊技を進めることができる。
一方、終了したゲームにおいてナビ演出が実行されていないと判定されたときには、S52において、共通の操作態様以外の操作態様である、変則押しがされたか否かが判定される。ここで変則押しとは、前述した中押しまたは右押しをいう。
S52において変則押しされていないと判定されたときには、ペナルティを課すことなく、そのままペナルティ設定処理を終了する。このため、ナビ演出が実行されていないときであっても、共通の操作態様で操作する限り、ペナルティが課されることがない。
一方、S52において変則押しされたと判定されたときには、S53においてペナルティ抽選処理が行われる。ペナルティ抽選処理では、遊技者に課すペナルティの度合いを、乱数などを用いてランダムに決定するための処理をいう。本実施例におけるペナルティ抽選処理では、高ペナルティ及び低ペナルティのうちいずれかに決定される。ペナルティ抽選処理において、高ペナルティに決定されたときには、S54においてペナルティゲーム数に100加算され、低ペナルティに決定されたときには、S55においてペナルティゲーム数に50加算される。ペナルティゲーム数とは、ペナルティが課されるゲーム数であってペナルティ期間の長さを示す。ペナルティゲーム数は、RAM91cの所定領域に格納され、1ゲーム消化する毎に1減算される。ペナルティゲーム数は、当該ゲーム数消化するか、あるいはボーナス当選によりリセットされる。
S56においては、変則押しされたことに伴い共通の操作態様で操作させるために、警告表示が行われる。警告表示としては、例えば、「ペナルティ100ゲーム」といったペナルティが課された旨が報知されるとともに、「左押ししましょう!」といった共通の操作態様での操作を推奨する旨が報知される。
また、本実施例におけるサブ制御部91は、遊技状態演出実行処理を行うことにより、現在の遊技状態や演出状態に関連する遊技状態演出を、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の電気部品を用いて実行する。
遊技状態演出としては、例えば、通常遊技状態であるとき、及び準備モード、不利RTあるいは有利RTであって非AT中であるときには、通常演出(例えば、液晶表示器51に「通常中!」といったメッセージを表示など)が行われる。また、準備モード、不利RTあるいは有利RTであってAT中であるときには、特別演出(例えば、液晶表示器51に「AT中!」といったメッセージを表示など)が行われる。
また、ナビ可能期間であるときには、前述したようにボーナスよりも優先して引き込み制御が行われるリプレイに入賞する確率が高まる。すなわち、ナビ可能期間であってボーナスに当選しているときには、内部中RTに制御されるため、リプレイの当選確率が向上する。また、ナビ可能期間中であってボーナスに当選していないときには、通常遊技状態において昇格リプレイ当選時にナビ演出が実行されて昇格リプレイに入賞する確率が高まり、その結果リプレイの当選確率が向上した有利RTに制御されやすくなる。また、ナビ可能期間であるときには、前述したようにボーナスよりも優先して引き込み制御が行われる小役などに当選したときにもナビ演出が行われるため、ブドウの入賞確率が向上する。よって、仮にボーナス当選していても、ナビ可能期間においては、当選しているボーナスを入賞させることが困難となる。
本実施例においては、上記のようにボーナスを入賞させることが困難となるナビ可能期間を利用して、当該ナビ可能期間に制御されている間に亘り、ボーナス当選していることを煽るための演出が行われる。すなわち、ナビ可能期間であるときには、遊技状態演出として、ボーナスに当選しているか否かに関わる情報を報知する連続演出が行われる。連続演出は、ナビ可能期間にわたり一連の物語を展開する演出を行った後に、物語の結末としてボーナス当選の有無及び種類を報知するボーナス当選報知を行う演出である。これにより、ナビ可能期間においては仮にボーナス当選していても上記の理由により当該ボーナス入賞させることが困難であるため、確実にナビ可能期間に亘って、ボーナス当選しているかもしれないことを煽ることができ、遊技の興趣を向上させることができる。
このように本実施例では、通常遊技状態であるときに、共通の操作態様で操作する限り、有利RTに制御されることがないけれどもペナルティRTにも制御されることがなく、当該通常遊技状態が継続される。一方、通常遊技状態であるときに、共通の操作態様と異なる操作態様で操作すると、昇格リプレイに入賞して有利RTに制御される可能性もあるが、ペナルティリプレイに入賞してペナルティRTに制御されてしまう可能性もある。また、昇格リプレイを入賞させるための操作態様がペナルティリプレイを入賞させるための操作態様のいずれかと同一である。このため、ナビ演出が実行されていないときには、意図的に昇格リプレイを入賞させるための操作態様で操作することができない。このため、通常遊技状態であってナビ演出が実行されていないときには、共通の操作態様以外の操作態様で操作すると、ペナルティRTに制御されるかもしれないというリスクを負うことになる。その結果、通常遊技状態であってナビ演出が実行されていないときには、遊技者に共通の操作態様以外の操作態様で操作させないようにすることができ、実質的に当該通常遊技状態を継続させることができる。このため、昇格リプレイに入賞したにも関わらず有利RTに制御されないといった不信感を遊技者に抱かせることを防止することができる。
また、通常遊技状態においてナビ演出が行われていないときに、変則押しで操作すると、リプGR1またはリプGR2に当選しているときに50%の確率でペナルティRTに制御され、ボーナス当選するか300ゲーム消化するまで当該ペナルティRTが継続され、その間有利RTに制御されずかつ天井ゲームに到達したとしてもATに制御されない。一方、残りの50%の確率で偶然昇格リプレイを入賞させることができて有利RTに制御されたとしても、当該有利RTにおいてナビ演出が実行されない。このため、小役を含む入賞役に当選した場合に、意図的に転落リプレイ入賞や特殊出目停止を回避させる操作態様で操作することができないため、約7ゲームしか当該有利RTを継続させることができず通常遊技状態に転落してしまう。このように、通常遊技状態においてナビ演出が実行されていないときには、共通の操作態様以外の操作態様で操作することによる利益よりもペナルティRTに制御され得るというペナルティが課されることによる不利益の方が大きくなる。よって、共通の操作態様以外の操作態様で操作するよりも共通の操作態様で操作する方が、遊技者にとっての有利度合いを高くすることができる。その結果、通常遊技状態においてナビ演出が実行されているときにしか、共通の操作態様以外の操作態様で操作させないようにすることができる。
これにより、通常遊技状態においてナビ演出が実行されているときにしか有利RTに制御させないようにすることができ、当該有利RTの有利性を維持することができる。その結果、ナビ演出が実行されること、及び有利RTに制御されることにより遊技の興趣を向上させることができる。
尚、AT中であるときには、昇格リプレイに当選したときにナビ演出が実行されるため、意図的にペナルティリプレイ入賞を回避しつつ昇格リプレイを入賞させるための操作態様で操作して有利RTに制御することができ、その場合にペナルティが課されることもない。また、有利RTにおいてもATが継続されるため、小役を含む入賞役に当選した場合にナビ演出が報知されるため、意図的に転落リプレイ入賞及び特殊出目停止を回避させる操作態様で操作して当該有利RTを維持することができる。
また、本実施例では、ナビ演出が実行されていないときに共通の操作態様以外の操作態様(中押しあるいは右押し)で操作されると上記のペナルティRTだけでなく、ペナルティ期間に制御される。ペナルティ期間中においては、第1AT抽選条件や第2AT抽選条件が成立したときであっても、AT抽選が行われずナビストックが付与されない。このため、通常遊技状態かつ非AT中において、変則押しで操作することをより一層効果的に抑止することができる。
また、本実施例では、有利RTに制御されたとしてもその前の通常遊技状態においてナビ演出が行われているときにしか、当該有利RTにおいてナビ演出が実行されない。このため、通常遊技状態においてナビ演出が行われていないときに、有利RTに制御されたとしても転落リプレイが入賞する可能性が高まり通常遊技状態に制御され易くなるため、当該有利RTに長く制御されてしまう不都合の発生を防止しつつ、通常遊技状態においてナビ演出が実行されていないときに共通の操作態様以外の操作態様で操作することにより遊技者に生じるリスクを高めることができる。
また、本実施例では、一旦ペナルティRTに制御されると、当該ペナルティRTが終了して通常遊技状態に制御されない限り、有利RTに制御されることがないため、さらにペナルティRTに制御されるリスクを高めることができる。
また、ナビ演出が実行されないゲームにおいて変則押しで操作されたときには、図68のS56で示すように警告表示が行われるため、変則押しで操作されることを抑止することができる。
また、図52で示したように、有利RTに制御されるまでの過程に、準備モードまたは不利RTにおいてブドウ取りこぼし時に導出される特殊出目が入賞ラインに停止されることにより通常遊技状態に制御されることが含まれる。このため、有利RTに制御されることの困難性が高まるため、有利RTの価値及び有利性をより一層高めることができる。また、特殊出目は、ペナルティが課されることのない共通の操作態様で停止操作がなされたことを条件に入賞ライン上に停止させることが可能であり、準備モードまたは不利RTにおいて通常遊技状態へ移行させる特殊出目を入賞ラインに停止させるための操作態様が、ペナルティが課されることのない共通の操作態様と同じであるため、準備モード及び不利RTと通常遊技状態においてATに制御されていない場合と、で操作態様を使い分ける必要がなく、遊技者に対して混乱を与えてしまうことがない。
また、本実施例では、特殊出目が、ペナルティが課されることのない共通の操作態様で停止操作がなされたことを条件に入賞ライン上に停止させることが可能な構成であり、共通の操作態様以外の操作態様にて停止操作がなされても特殊出目が入賞ライン上に停止することはなく、共通の操作態様での停止操作を徹底させることができ、誤って共通の操作態様以外の操作態様にて停止操作がなされてペナルティが課されてしまうことを防止できる。さらにボーナス以外の遊技状態においてナビ演出が行われているゲーム以外では、常に共通の操作態様以外の操作態様にて停止操作がなされることでペナルティが課される構成とすることで、さらに共通の操作態様での停止操作を徹底させることができる。
尚、少なくとも共通の操作態様で停止操作がなされることで特殊出目を入賞ライン上に停止させることが可能な構成であれば、共通の操作態様以外の操作態様で停止操作がなされた際にも特殊出目を入賞ライン上に停止させる構成としても良く、この場合でも、準備モードまたは不利RTにおいて通常遊技状態へ移行させる特殊出目を入賞ラインに停止させるための操作態様が、ペナルティが課されることのない共通の操作態様と同じであることに変わりはなく、準備モード及び不利RTと通常遊技状態においてATに制御されていない場合と、で操作態様を使い分ける必要がなく、遊技者に対して混乱を与えてしまうことがない。
また、ボーナス終了時にナビストックが付与されており、その後ATに制御されることが決定されている場合であっても、準備モード及び不利RTにおいては、ATに制御されないようになっている。このため、ボーナスの終了後は、通常遊技状態に移行するまでATに制御されることがなく、ボーナスによる有利性とATによる有利性とが連続して提供されることがなく、極端に射幸性が高まってしまうことを防止できる。
また、本実施例のようにナビ演出の対象となるブドウ+小役の当選時に当選した小役を取りこぼすことで特殊出目が入賞ラインに停止することで、準備モードまたは不利RTから通常遊技状態に移行する構成においては、準備モード及び不利RTにおいてATに制御されないことにより、必要以上に通常遊技状態への移行が遅れてしまうことも防止できる。
また、ATには、図55〜図57で示した第1AT抽選や、図63及び図64で示した第2AT抽選などのAT抽選において、1以上のナビストックに決定されることにより制御される。
また、AT抽選のうち第1AT抽選は、図55で示したように、ボーナス当選時及びボーナス終了時に行われる。ボーナス当選時に行われる第1AT抽選では、ボーナス以外において付与された付与ポイント総数に応じて、当該付与ポイント総数が多い程、高い割合で1以上でかつより多いナビストック数に決定されるように定められた当選率にしたがって抽選される。また、ボーナス終了時に行われる第1AT抽選では、ボーナス中に付与された付与ポイント総数に応じて、当該付与ポイント総数が多い程、高い割合で1以上でかつより多いナビストック数に決定されるように定められた当選率にしたがって抽選される。よって、より高い割合で1以上でかつより多いナビストック数に決定されるように定められた当選率にしたがって第1AT抽選が行われるように、遊技者はより多くのポイントが付与されることに期待感を抱かせることができる。
また、本実施例では、図58に示すポイント関連処理において、ポイント付与条件が成立してポイントが付与されたことを条件として、S8においてポイントが付与された旨を報知するポイント付与演出を行うための報知処理が行われる。この報知処理では、図58のS3〜S6の処理結果に基づき、図58のS2で設定された付与ポイントを正確に報知するポイント付与演出か、あるいは図58のS2で設定された付与ポイントよりも少ないポイントを報知するポイント付与演出が実行される。また、図58に示すポイント関連処理では、ポイント付与条件が成立してポイントが付与された場合であっても、図58のS4またはS6の報知抽選において報知しないに決定されたときには、ポイント付与演出が実行されず、ポイントが付与された旨が全く報知されない。このため、実行されたポイント付与演出から特定されるポイント総数よりも多いポイントが実際には付与されているかもしれないといった期待感を遊技者に抱かせることができる。
その結果、より高い割合で1以上でかつより多いナビストック数に決定されるように定められた当選率にしたがって第1AT抽選が行われること、及びATに制御されることに対し、ポイント付与演出から特定されるポイント総数よりも大きな期待感を抱かせることができる。また、ポイント付与演出から特定されるポイント総数が比較的少ないときであっても、当該ポイント総数よりも多いポイントが実際には付与されているかもしれないため、より高い割合で1以上でかつより多いナビストック数に決定されるように定められた当選率にしたがって第1AT抽選が行われること、及びATに制御されることに対する期待感を持続させることができる。
また、図58に示すポイント関連処理においては、ポイント付与条件が成立してポイントが付与されたことを条件として、図58のS2で設定された付与ポイントに対するポイント付与演出が行われる。このため、前述した期待感をポイント付与演出が実行される毎に段階的に高めることができる。また、付与されたポイント総数を遊技者が予想するために、実行されたポイント付与演出から特定されるポイントを遊技者自身が累積加算して記憶するといった面白みを付加することができる。
また、ポイント関連処理のS4における差数対応報知抽選では、図61(a)及び(b)で示すテーブルが参照され、報知するか否か及び付与ポイントを正確に報知するか否かを、すでに実行されたポイント付与演出から特定される報知ポイント総数と実際に付与されている付与ポイント総数との差数に応じた確率で決定される。さらに、差数対応報知抽選では、差数が小さいときよりも差数が大きいときの方が、高い割合で報知するに決定されるとともに、高い割合で付与ポイントあるいは当該付与ポイントにより近いポイントが付与された旨が報知されるように報知ポイントが決定される。これにより、差数が大きくなり過ぎてしまうこと、及びポイント付与演出から特定されるポイントの信頼性が低くなり過ぎてしまうことを防止することができる。
また、ポイント関連処理のS6における総数対応報知抽選では、図62(a)及び(b)で示すテーブルが参照され、報知するか否か及び付与ポイントを正確に報知するか否かを、実際に付与されている付与ポイント総数に応じた確率で決定される。さらに、総数対応報知抽選では、付与ポイント総数が多いときよりも付与ポイント総数が少ないときの方が、高い割合で報知するに決定されるとともに、高い割合で付与ポイントあるいは当該付与ポイントにより近いポイントが付与された旨が報知されるように報知ポイントが決定される。一方、付与ポイント総数が少ないとき程、遊技者はポイントが報知されたか否かに対する注目度合いが高い。よって、ポイント付与演出に対する遊技者の注目度合いが高い段階においては、付与されたポイントに相当する期待感及び安心感を高い割合で遊技者に抱かせることができる。
また、本実施例では、通常遊技状態において昇格リプレイを含むリプGR1またはリプGR2に当選し、昇格リプレイを入賞させるための操作態様で操作されたときには、昇格リプレイが入賞して、リプレイの当選確率が高まる有利RTに制御される。これに対し、有利RTにおいて転落リプレイを含むリプGR3またはリプGR4、あるいは小役を含む左押しブドウ1などのうちいずれかに当選し、転落リプレイを入賞させる手順あるいは特殊出目を停止させる手順で操作されたときには、転落リプレイ入賞あるいは特殊出目停止により通常遊技状態に制御される。
また、ボーナスに当選することにより、通常遊技状態と同様にリプGR1またはリプGR2に当選し得る遊技状態であって、かつ有利RTと同様にボーナスよりも優先して入賞ライン上に引き込まれ入賞するリプレイの当選確率が高まる内部中RTに制御される。
さらに、同時当選役に当選することにより図66のS34あるいはS35において制御されるナビ可能期間においては、所定の確率に従ってナビ演出が実行される。このため、ナビ可能期間においては、リプGR1またはリプGR2に当選したときに意図的に昇格リプレイを入賞させることができ、有利RTに制御させることができる。また、昇格リプレイを入賞させる際には、変則押しで操作する必要があるが、ナビ可能期間においては変則押ししたとしてもペナルティが課されるといった不利益も生じない。その結果、ナビ可能期間においては、実際にボーナスに当選することにより制御される内部中RTとリプレイの当選確率が同様に高くなる有利RTに制御しやすくすることができるとともに、連続演出が実行されるため、効果的にボーナスに当選していることに対する期待感を抱かせることができる。
また、ナビ可能期間において有利RTに制御されたとしても、前述したように、転落リプレイを含むリプGR3またはリプGR4、あるいは小役を含む左押しブドウ1などのうちいずれかに当選したときに、意図的に転落リプレイ入賞を回避あるいは特殊出目停止を回避することができないため、有利RTを維持させることができない。これにより、ボーナスに当選していないにも関わらず、ナビ可能期間が終了した後いつまでも有利RTが維持されてしまうことによって、ボーナス当選していることに対する期待感を抱かせてしまうといった不都合の発生を防止することができる。
また、本実施例では、ナビ可能期間において有利RTに制御された後においても、ナビ演出が実行される。これにより、ナビ可能期間であるときには、当該有利RTを維持させることが可能となるため、当該ナビ可能期間に亘り期待感を遊技者に抱かせることができる。
また、本実施例では、通常リプレイ単独当選時には、操作態様に関わらず、通常リプレイの図柄組合せが入賞ライン上に停止される。また、ブドウ単独当選時には、操作態様に関わらず、ブドウ1〜8のいずれかであって同じ9枚払出を伴う図柄組合せが入賞ライン上に停止される。これより、通常リプレイ及びブドウは、操作態様に関わらず、機能が同じ図柄組合せを停止させる入賞役といえる。ナビ可能期間においては、図67のS47及びS48で示したように、機能が同じ図柄組合せを停止させる通常リプレイ単独当選時やブドウ単独当選時にも昇格リプレイ当選時のナビ演出と同じ態様で特別ナビ演出が実行される。このため、ナビ演出から特定される操作態様で操作したにも関わらず、昇格リプレイに入賞せずに通常リプレイやブドウに入賞することにより、ナビ可能期間であることを遊技者に認識させることができ、ボーナスに当選していることに対する緊張感を与えることができる。
また、本実施例では、図66のS33〜S35で示したように、同時当選役に当選したときに、実際にボーナス当選しているか否かに応じて異なるナビ可能期間が設定され、図67のS46で示したように、設定されたナビ可能期間に応じた確率に従ってナビ演出が実行される。これにより、ナビ可能期間においてナビ演出が実行される頻度から、ボーナスに当選している可能性を推測することができ、遊技の興趣を向上させることができる。
また、本実施例では、通常遊技状態から有利RTへ移行する機会となるリプGR1、2、有利RTから通常遊技状態へ移行する機会となるリプGR3、4は、各々、リプレイのみの入賞役であって、当選するリプレイの組合せが異なるように設定されている。このため、リプGR1〜リプGR4の当選確率を遊技状態毎に調整することができるため、有利RTあるいは通常遊技状態に制御される確率の設計を行いやすくすることができる。
本発明は、上記の実施例に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施例の変形態様について説明する。
前述した実施例においては、リプGR1及びリプGR2に昇格リプレイ及びペナルティリプレイが含まれるように、昇格リプレイを含む当選対象役の組合せと転落リプレイを含む当選対象役の組合せとが同一の組合せとなるように、当選対象役の組合せが定められている例について説明した。しかし、昇格リプレイを含む当選対象役の組合せにペナルティリプレイが含まないようにしても良く、また、ペナルティリプレイを含む当選対象役の組合せに昇格リプレイが含まれないようにしても良い。
昇格リプレイを含む当選対象役の組合せとして、例えば、通常リプレイ+昇格リプレイの当選対象役の組合せと、通常リプレイ+昇格リプレイ+制御用リプレイの当選対象役の組合せとが定められているものであっても良い。また、ペナルティリプレイを含む当選対象役の組合せとして、例えば、通常リプレイ+ペナルティリプレイの当選対象役の組合せと、通常リプレイ+ペナルティリプレイ+制御用リプレイの当選対象役の組合せとが定められているものであっても良い。この場合におけるリール制御としては、次のものであっても良い。例えば、昇格リプレイあるいはペナルティリプレイを含む当選対象役の組合せのいずれに当選したかに関わらず、左押しで操作されたときには通常リプレイを入賞させる。
また、通常リプレイ+昇格リプレイの当選対象役の組合せに当選したときに、中押しで昇格リプレイを入賞させ、右押しで通常リプレイを入賞させる。また、通常リプレイ+昇格リプレイ+制御用リプレイの当選対象役の組合せに当選したときに、中押しで通常リプレイを入賞させ、右押しで昇格リプレイを入賞させる。
また、通常リプレイ+ペナルティリプレイの当選対象役の組合せに当選したときに、中押しでペナルティリプレイを入賞させ、右押しで通常リプレイを入賞させる。また、通常リプレイ+ペナルティリプレイ+制御用リプレイの当選対象役の組合せに当選したときに、中押しで通常リプレイを入賞させ、右押しで転落リプレイを入賞させる。
これにより、左押しの共通の操作態様で操作する限り、通常リプレイに入賞させ通常遊技状態である場合は当該通常遊技状態を維持させることができ、当選している組合せに応じて、昇格リプレイを入賞させるための操作態様、及びペナルティリプレイを入賞させるための操作態様を異ならせることができ、かつ昇格リプレイを入賞させるための操作態様がペナルティリプレイを入賞させるための操作態様のいずれかと同一態様であるため、ナビ演出が実行されていないときにペナルティRTに制御されるリスクを負わせることができる。
前述した実施例における準備モードでは、昇格リプレイやペナルティリプレイを含むリプGR1及びリプGR2が抽選対象役として読み出されず当選しない例について説明したが、これに限らず、昇格リプレイやペナルティリプレイを含むリプGR1及びリプGR2が抽選対象役として読み出されて、所定確率で当選し、入賞し得るように構成しても良い。このように構成した場合、例えば、準備モードにおいて、昇格リプレイに入賞したときには有利RTに制御するようにしても良く、ペナルティリプレイに入賞したときにはペナルティRTに制御するようにしても良い。この場合において、準備モードにおいて、共通の操作態様以外で操作されたときには、ペナルティRTに制御されるリスクを負わせるとともに、図68のS53〜S56と同様の処理を行い、ペナルティが課されるようにしても良い。
前述した実施例においてナビ可能期間に制御される契機となる同時当選役として、チェリー1やチェリー2などの小役を例に説明した。しかし、ナビ可能期間に制御される契機となる同時当選役は、これに限らず、例えば、再遊技役であっても良い。
また、前述した実施例では、同時当選役に当選したことによってはリプレイの確率が向上したRTに制御されない例について説明したが、これに限らず、同時当選役に当選したことによってボーナス当選していないときにはリプレイの確率が向上した演出用のRTに所定期間(例えば5ゲーム)制御するように構成しても良い。また、当該演出用のRTに制御されている所定期間に亘り、前述した連続演出を実行し、ボーナス当選していることに対する期待感を煽るようにしても良い。
尚、当該演出用のRTが終了した後は、通常遊技状態に制御される。一方、有利RTであるときにも、同時当選役に当選し得る。このため、有利RTにおいて同時当選役に当選すると、特殊出目が入賞ライン停止されずとも、当該演出用のRTを介して通常遊技状態に制御されるという不都合が生じる。このため、上記のように構成する場合には、有利RTにおいて、同時当選役がボーナスと100%同時にのみ当選するように、必ず同時当選役がボーナスと同時に抽選対象役として読み出されるように構成しても良い。これにより、有利RT中における同時当選役にプレミア的な価値を付加することができ、遊技の興趣を向上させることができる。
また、同様に、ペナルティRTであるときにも、同時当選役に当選し得る。このため、ペナルティRTにおいて同時当選役に当選すると、ボーナス当選せずかつ所定ゲーム数消化せずとも、当該演出用のRTを介して通常遊技状態に制御されるという不都合が生じる。このため、上記のように構成する場合には、ペナルティRTにおいて、同時当選役がボーナスと100%同時にのみ当選するように、必ず同時当選役がボーナスと同時に抽選対象役として読み出されるように構成しても良い。これにより、ペナルティRT中における同時当選役にプレミア的な価値を付加することができ、遊技の興趣を向上させることができる。
前述した実施例においてナビ可能期間に制御される契機となる同時当選役として、BB1がチェリー1+チェリー2+1枚役1と同時当選し、BB2がチェリー1+チェリー2と同時当選し、BB3がチェリー1と同時当選する例について説明したが、同時当選するボーナスと同時当選役との組合せについてはこれに限らず、例えば、BB1〜BB5が、各々、チェリー1+チェリー2+1枚役1と同時当選する場合、BB2がチェリー1+チェリー2と同時当選する場合、BB3がチェリー1と同時当選する場合が生じ得るような組合せが設定されているものであっても良い。
前述した実施例においては、ナビ演出が実行されていないときに共通の操作態様以外の変則押しで操作されたことを条件として、ペナルティRTに制御されるリスクを負わせるというペナルティに加えて、ペナルティ期間に制御し、一定期間に亘り各種のペナルティを課す例について説明した。しかし、共通の操作態様以外の変則押しで操作されたときに課すペナルティとしては、ペナルティRTに制御されるリスクを負わせるというペナルティだけであっても良く、ATに制御されるか否かにおいて遊技者にとって不利益となる各種のペナルティについては課さないものであっても良い。
また、ペナルティRTに制御されるリスクを負わせるというペナルティに加えて、ATに制御されるか否かにおいて遊技者にとって不利益となる各種のペナルティを課す場合において、当該各種のペナルティのその他の例として、例えば、AT抽選条件が成立したときに遊技者にとって有利度合いが低いAT抽選を行わせるものであっても良い。例えば、AT抽選条件が成立したときに、前回AT抽選されてから後に変則押しされた回数に応じて、当該回数が多い程、ナビストックを獲得する確率やより多いナビストック数を獲得する確率が低くなるようにAT抽選を行うものであっても良い。また、変則押しされる毎に、第1AT抽選に用いられる付与ポイントを所定数減算するものであっても良い。
また、ペナルティ期間においては、図65のS22で示したように非ATゲーム数カウンタを加算させないというペナルティの他に、ポイント付与条件が成立してもポイントを付与しないペナルティや、AT抽選条件が成立してもAT抽選を行わないペナルティを課す例について説明したが、これらのうちいずれか一のペナルティのみを課すものであっても良い。例えば、ペナルティ期間においては、非ATゲーム数カウンタを加算させないというペナルティのみを課すものであっても良い。また、ペナルティ期間に制御される毎に、どの種類のペナルティを課すかをランダムに抽選し、当選したペナルティを課すようにしても良い。
また、ペナルティ期間は、ゲームを所定回数消化することにより終了する例について説明した。しかし、ペナルティ期間は、ゲームを所定回数消化することにより終了するものに限らず、AT抽選条件が所定回数(例えば1回)成立することにより終了するものであっても良い。例えば、ペナルティ期間において、AT抽選条件が成立したとしても当該AT抽選条件に応じたAT抽選を行わないことにより、当該ペナルティ期間を終了させても良い。
前述した実施例においては、図66のS33〜S35で示したように、ボーナスが当選しているか否かに応じて、制御される期間やナビ演出実行確率が異なるナビ可能期間に制御する例について説明したが、これに限らず、同時当選役の種類に応じて、制御される期間やナビ演出実行確率が異なるナビ可能期間に制御するように構成しても良い。例えば、ボーナスと同時当選確率が最も高いチェリー1+チェリー2+1枚役1に当選したときには、他の同時当選役に当選したときよりも、高い割合で特別ナビ期間が設定されるように構成しても良い。これにより、ボーナス当選していることに対する期待感と連動したナビ可能期間に制御することができる。
前述した実施例においては、BB1〜BB3であるときにRB1に制御し、BB4または5であるときにRB2に制御する例について説明したが、BBの種類に関わらず、同じRBに制御するように構成しても良い。例えば、BBの種類に関わらずRB1に制御するように構成しても良い。この場合、BBに制御されると、必ずポイントが付与され得るボーナスに制御されるため、遊技の興趣を向上させることができる。
前述した実施例においては、図58のS4やS6における報知抽選において、S2で設定された付与ポイントよりも遊技者にとって有利度合いが低い、すなわち付与ポイント以下のポイントが報知ポイントとして決定される例について説明した。しかし、図58のS4やS6における報知抽選において決定される報知ポイントは、報知後においても報知ポイント総数が実際に付与されている付与ポイント総数以上とならないポイントから決定されるものであれば、S2で設定された付与ポイントよりも遊技者にとって有利度合いが高い、すなわち付与ポイントより多いポイントが報知ポイントとして決定されるように構成しても良い。
図69は、報知抽選において用いられるテーブルの一例であって、差数対応報知抽選において付与ポイントより多いポイントが報知ポイントとして決定され得るテーブルを説明するための図である。
この変形例における差数対応報知抽選でも、図69(a)の差数対応テーブルAを参照して、差数に応じてポイントを報知するか否かの抽選が行われる。図69(a)の差数対応テーブルAは、図61(a)のテーブルと同じであるため説明を省略する。
図69(a)の差数対応テーブルAを参照して、報知するに決定された場合には、さらに図69(b)の差数対応テーブルBを参照して、S2において設定された付与ポイント及び差数に応じて、報知ポイントを決定する抽選が行われる。
付与ポイントが「1」である場合で、差数が「0〜1」である場合には、報知ポイントとして、100%の割合で今回の報知ポイントを報知した後の報知ポイント総数と今回付与された付与ポイントが加算された付与ポイント総数との差数である報知後差数が「0」となるポイントに決定される。具体的に、報知ポイントは、(差数−報知後差数+付与ポイント)となる。この場合において、差数が「1」であるとすると、報知ポイントは、(1−0+1)=ポイント「2」に決定される。このように、付与ポイントよりも多いポイントが報知される。
付与ポイントが「1」である場合で、差数が「2〜3」である場合には、報知後差数が、15%の割合で「0」に決定され、25%の割合で「1」に決定され、60%の割合で「2」に決定される。
付与ポイントが「1」である場合で、差数が「4」である場合には、報知後差数が、10%の割合で「1」に決定され、20%の割合で「2」に決定され、30%の割合で「3」に決定され、40%の割合で「4」に決定される。
以下、同様に、付与ポイント及び差数から特定される振分率にしたがって、報知後差数が決定され、(差数−報知後差数+付与ポイント)を算出することにより報知ポイントが決定される。
例えば、付与ポイントが「3」であり、差数が「3」である場合で、報知後差数として「1」が決定されたときには、報知ポイントとして、(3−1+3)=ポイント「5」に決定される。
以上のように、付与ポイントより多いポイントが報知ポイントとして決定され得るテーブルを用いて報知抽選した場合には、例えば差数が大きくなり過ぎたときであっても、付与ポイントよりも遊技者にとっての有利度合いが高いポイントを報知ポイントとして報知することにより、差数を小さくすることができる。このため、報知ポイント総数の信頼性を向上させやすくすることができる。
前述した実施例における総数対応報知抽選では、図58のS10で更新される付与ポイント総数に応じて抽選を行う例について説明した。しかし、総数対応報知抽選は、図58のS9で更新される報知ポイント総数に応じて抽選を行うように構成しても良い。この場合における総数対応報知抽選では、図62(a)及び(b)で示すテーブルが参照され、報知するか否か及び付与ポイントを正確に報知するか否かを、それまでに報知された報知ポイント総数に応じた確率で決定される。さらに、この場合における総数対応報知抽選では、報知ポイント総数が多いときよりも報知ポイント総数が少ないときの方が、高い割合で報知するに決定されるとともに、高い割合で付与ポイントあるいは当該付与ポイントにより近いポイントが付与された旨が報知されるように報知ポイントが決定される。一方、報知ポイント総数が少ないとき程、遊技者はポイントが報知されたか否かに対する注目度合いが高い。よって、ポイント付与演出に対する遊技者の注目度合いが高い段階においては、付与されたポイントに相当する期待感及び安心感を高い割合で遊技者に抱かせることができる。
前述した実施例におけるポイント関連処理において、S10において更新される付与ポイント総数が上限である場合であっても、S9において更新される報知ポイント総数が上限でない場合には、S3以降の処理が実行されるように構成しても良い。これにより、付与ポイント総数が上限となった後であっても、報知ポイント総数が上限に達していないときには、付与ポイント総数が上限となる前と同じ制御が行われる。その結果、付与ポイント総数が上限となった後にポイント付与演出が実行されないといった不都合の発生を防止することができる。尚、報知ポイント総数が上限となった場合には、ポイント関連処理を実行しないように構成しても良い。これにより、無駄な処理が行われることを防止することができる。
前述した実施例における有利RTを終了させる契機となる入賞役として再遊技役である転落リプレイが設定されている例について説明した。しかし、有利RTを終了させる契機となる入賞役は、再遊技役に限らず、所定の小役、入賞により次の1ゲームをボーナスに制御するシングルボーナスなどであっても良い。
ナビストック数が残存している状態でボーナス当選したときにおける当該ナビストック数について、クリア(例えば「0」)する処理を行うものであっても良く、当該ボーナス終了後まで持ち越す処理を行うものであっても良く、所定数減算する処理を行うものであっても良く、所定数上乗せ加算する処理を行うものであっても良く、また当該ボーナス当選毎にいずれの処理を行うかを決定し、該決定された処理を行うものであっても良い。これにより、ナビストック数が残存している状態においてボーナス当選したときのバリエーションが増加し、遊技の興趣を向上させることができる。
前述した実施例においては、付与ポイント数が減算されない例について説明したが、所定の減算条件(例えば、特定の入賞役に当選)したことを条件として、付与ポイント数から所定数減算するように構成しても良い。この場合、減算されたポイント数として、実際に減算されたポイント数を報知するか、実際に減算されたポイント数よりも多いポイント数を報知するように構成しても良い。実際に減算されたポイント数を報知するか、実際に減算されたポイント数よりも多いポイント数を報知するかについては、付与ポイント、差数、付与ポイント数、報知ポイント数のうち少なくともいずれかに応じて異なる確率で決定するように構成しても良い。このように構成した場合には、ポイントが付与された後も、ポイントが減算されることに対する緊張感を抱かせることができ、遊技の興趣を向上させることができる。
上記の実施例では、賭数の設定や入賞に伴う遊技用価値の付与に用いる遊技媒体としてメダルを適用したスロットマシンを例として説明した。しかしながら、本発明を具現化するスロットマシンは、パチンコ遊技機で用いられている遊技球を遊技媒体として適用したスロットマシン(いわゆるパロット)であっても良い。遊技球を遊技媒体として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、上記の実施例で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。
また、上記の実施例では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを用いているが、本発明はこれに限定されるものではなく、遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンであっても良い。
さらに、流路切替ソレノイド30や投入メダルセンサ31など、メダルの投入機構に加えて、遊技球の取込を行う球取込装置、球取込装置により取り込まれた遊技球を検出する取込球検出スイッチを設けるとともに、ホッパーモータ34bや払出センサ34cなど、メダルの払出機構に加えて、遊技球の払出を行う球払出装置、球払出装置により払い出された遊技球を検出する払出球検出スイッチを設け、メダル及び遊技球の双方を用いて賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球が払い出されるスロットマシンに適用しても良い。
前述した実施例においては、付与ポイントが、各種抽選に用いられる例について説明した。しかし、付与ポイントは、演出状態に関わらず、ナビ演出を実行するために用いられるものであっても良い。ナビ演出は、ポイントに応じた回数だけ実行するようにしても良く(ポイント1に対してナビ演出1回実行)、ポイントに応じたゲーム数消化する間に転落リプレイなどに当選したときにナビ演出を実行するようにしても良く(ポイント1に対して3ゲームに亘りナビ演出実行可能)、また、付与ポイントの量に応じた割合にしたがって転落リプレイなどに当選する毎にナビ演出を実行するか否かの抽選を行い当選したときにナビ演出を実行する(付与ポイント総数が多い程、高い割合でナビ演出抽選に用いる確率として高い確率を決定する)ようにしても良い。
前述した実施例においては、図54(a)で示したように、昇格リプレイの入賞操作態様及びペナルティリプレイの回避操作態様が、各々、停止操作の押し順である例について説明したが、これに限らず、停止操作タイミングが含まれるものであっても良い。例えば、ペナルティリプレイとしてペナルティリプレイ1(白7−リプレイ−リプレイ)、ペナルティリプレイ2(黒7−リプレイ−リプレイ)、ペナルティリプレイ3(BAR−リプレイ−リプレイ)が設けられており、内部抽選においてペナルティリプレイ以外のリプレイと、転落リプレイ1〜3の各々とが同時に当選し得るように構成されている場合には、同時当選しているペナルティリプレイを構成する左図柄を入賞ライン上に停止させないようなタイミングで停止操作する操作態様がペナルティリプレイの回避操作態様となる。また、昇格リプレイの入賞操作態様及びペナルティリプレイの回避操作態様は、押し順だけのものや、停止操作タイミングだけのものに限らず、押し順+停止操作タイミングとなるものであっても良い。
前述した実施例においては、ブドウ当選時における取りこぼし出目である特殊出目が入賞ラインに導出されることにより、準備モードあるいは有利RTから通常遊技状態に転落する例について説明したが、準備モードあるいは有利RTから通常遊技状態への移行契機はこれに限るものではない。例えば、特定の小役(例えばスイカ)に入賞することであっても良い。
前述した実施例においては、昇格リプレイ入賞することにより、通常遊技状態から有利RTに昇格する例について説明したが、通常遊技状態から有利RTへの昇格契機はこれに限らず、例えば、同時当選役取りこぼし時の図柄組合せであっても良い。チェリー1+チェリー2に当選時においてチェリー入賞を回避したときにのみ発生する所定のはずれ図柄の組合せが導出することであっても良い。
前述した実施例においては、RT中、ATモードにおいて特定期間として50ゲーム消化することにより、1のナビストックに対するATモードを終了させる例について説明した。しかし、特定期間としては、予め定められた回数分ゲーム消化する期間に限らず、複数種類の回数から乱数などを用いてランダムに抽選で決定された回数分ゲームを消化する期間、転落リプレイに当選してナビ演出が実行された回数が所定回数に到達するまでの期間、特定の入賞役(例えばチェリー1など)に当選した回数が所定回数に到達するまでの期間などであっても良い。
前述した実施例においては、通常遊技状態において、共通の操作態様以外の操作態様で操作すると、リプGR1あるいはリプGR2に当選しているときには、1/2の確率で昇格リプレイに入賞し1/2の確率でペナルティリプレイに入賞する、すなわちペナルティリプレイに入賞する確率が昇格リプレイに入賞する確率と同じである例について説明した。しかし、共通の操作態様以外の操作態様で操作したときには、昇格リプレイに入賞する確率よりもペナルティリプレイに入賞する確率の方が高くなるように構成しても良い。
前述した実施例のように、通常リプレイ、昇格リプレイ、及びペナルティリプレイが同時に当選するように当選対象役の組合せが構成されている場合には、共通の操作態様以外の操作態様で操作したときに、ペナルティリプレイを入賞させる操作態様となる割合の方が、昇格リプレイを入賞させる操作態様となる割合よりも高くなるようにリール制御が行われるように構成しても良く、共通の操作態様以外の操作態様で操作したときには、昇格リプレイに入賞する確率よりもペナルティリプレイに入賞する確率の方が高くなり、ペナルティRTに制御されやすくなりリスクが生じる可能性を高めることができる。
前述した実施例においては、スタートスイッチ7の検出信号が入力されたタイミングで内部抽選を行う構成であるが、遊技に関連する抽選を行うための処理を所定の信号が入力されたタイミングで行うものであれば良く、必ずしも所定の信号が入力されたタイミングで遊技に関連する抽選を行う構成でなくても良い。例えば、所定の信号が入力されたタイミングで数値データを乱数回路がラッチするとともに、該所定の信号が入力されたタイミングで、乱数回路がラッチした数値データを取得し、乱数値を格納する乱数値ワークに一時的に格納し、その後乱数値ワークに格納されている数値データを読み出して遊技に関連する抽選を行う構成であれば、乱数値回路からラッチされた数値データを取得し、乱数値ワークに格納する処理が、遊技に関連する抽選を行うための処理に該当するものであり、所定の信号が入力されたタイミングで当該数値データを用いた遊技に関連する抽選を行う必要はない。
尚、今回開示された実施例は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。