本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン1は、図2に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、図3に示すように、それぞれ「黒7」、「網7(図中網掛け7)」、「白7」、「BAR」、「リプレイ」、「プラム」、「スイカ」、「チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bのリールパネル1c略中央に設けられた透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図4参照)によって回転させることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示されるとともに、各リール2L、2C、2Rの回転を停止させることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。
前面扉1bにおける各リール2L、2C、2Rに対応する位置には、リール2L、2C、2Rを前面側から透視可能とする横長長方形状の透視窓3が設けられており、該透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。
前面扉1bには、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施例ではいずれの遊技状態においても3)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いるための演出用スイッチ56が遊技者により操作可能にそれぞれ設けられている。
尚、本実施例では、回転を開始した3つのリール2L、2C、2Rのうち、最初に停止するリールを第1停止リールと称し、また、その停止を第1停止と称する。同様に、2番目に停止するリールを第2停止リールと称し、また、その停止を第2停止と称し、3番目に停止するリールを第3停止リールと称し、また、その停止を第3停止あるいは最終停止と称する。
また、前面扉1bには、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられている。
また、前面扉1bにおけるストップスイッチ8L、8C、8Rの下方には、スロットマシン1のタイトルや後述する配当表1などが印刷された下部パネルが設けられている。
前面扉1bの内側には、図2に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23(図4参照)、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、後述のBB終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、後述のBB終了時に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1a内部に設けられた後述のホッパータンク34a側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30(図4参照)、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31(図4参照)を有するメダルセレクタ29、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。
筐体1a内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R(図4参照)、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000(図4参照)、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b(図4参照)、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34c(図4参照)からなるホッパーユニット34、電源ボックス100が設けられている。
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ35a(図4参照)が設けられており、導電部材がオーバーフロータンク35内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
電源ボックス100の前面には、図2に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、規定数の賭数として遊技状態に関わらず3枚が定められて規定数の賭数が設定されると入賞ラインLNが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組み合わせが入賞図柄の組み合わせであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
また、本実施例では、入賞ラインLNに入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組み合わせによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組み合わせが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組み合わせ(例えば、ベル−ベル−ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするものである。本実施例では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4の4種類が無効ラインLMとして定められている。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ラインLN上に予め定められた図柄の組み合わせ(以下、役とも呼ぶ)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLN上に、遊技状態の移行を伴う図柄の組み合わせが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
尚、本実施例では、3つのリールを用いた構成を例示しているが、リールが1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良く、2以上のリールを用いた構成においては、2以上の全てのリールに導出された表示結果の組み合わせに基づいて入賞を判定する構成とすれば良い。
また、本実施例におけるスロットマシン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コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
図4は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。また、後述するメイン制御部41からサブ制御部91へのコマンド伝送ラインと、遊技制御基板40から演出制御基板90に対して電源を供給する電源供給ラインと、が一系統のケーブル及びコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板90側の各部が動作可能となり、かつメイン制御部41からのコマンドを受信可能な状態となる。このため、メイン制御部41からコマンドを伝送するコマンド伝送ラインが演出制御基板90に接続されている状態でなければ、演出制御基板90側に電源が供給されず、演出制御基板90側のみが動作してしまうことがない。尚、演出制御基板に対して電源を供給する電源供給ラインが遊技制御基板40を介さず、電源基板101から演出制御基板90に直接接続され、電源基板101から演出制御基板90に対して直接電源が供給される構成としても良い。
また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、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チップマイクロコンピュータにて構成され、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM41b、ワークメモリとして使用されるRAM41c、プログラムに従って制御動作を行うCPU41aが内蔵されており、遊技の進行に関する処理を行うととともに、遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御する。
メイン制御部41には、さらに、ハードウェア乱数(ハードウェア回路が発生する乱数)を発生する乱数回路508a,508bが内蔵されている。
また、メイン制御部41においてCPU41aがROM41bに格納されているプログラムに従って制御を実行するので、以下、メイン制御部41(またはCPU41a)が実行する(または、処理を行う)ということは、具体的には、CPU41aがプログラムに従って制御を実行することである。このことは、後述するサブ制御部91についても同様である。ただし、後述するように、スロットマシン1への電源投入時やシステムリセット発生時には、メイン制御部41は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定、レジスタの設定などを行うのであるが、この設定動作については、メイン制御部41は、プログラムによらず、ハードウェア的に実行する。
また、RAM41cは、その一部または全部がバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、スロットマシン1に対する電力供給が停止しても、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM41cの一部または全部の内容は保存される。そして、停電等が生じた後に復旧した場合に、そのデータに基づいて、制御状態を停電等の発生前に復旧させることが可能となる。尚、本実施例では、RAM41cの全部が、電源バックアップされるようになっている。
制御用クロック生成回路42は、メイン制御部41の外部にて、所定周波数の発振信号となる制御用クロックCCLKを生成する。制御用クロック生成回路42により生成された制御用クロックCCLKは、例えば、後述する図5に示すようなメイン制御部41の制御用外部クロック端子を介してクロック回路502に供給される。乱数用クロック生成回路43は、メイン制御部41の外部にて、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する。乱数用クロック生成回路43により生成された乱数用クロックRCLKは、例えば、後述する図5に示すようなメイン制御部41の乱数用外部クロック端子(RCK端子)を介して乱数回路508a,508bに供給される。一例として、乱数用クロック生成回路43により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路42により生成される制御用クロックCCLKの発振周波数以下となるようにすれば良い。あるいは、乱数用クロック生成回路43により生成される乱数用クロックRCLKの発振周波数は、制御用クロック生成回路42により生成される制御用クロックCCLKの発振周波数よりも高周波となるようにしても良い。
尚、本実施例では、乱数用クロック生成回路43から専用の乱数用クロックRCLKを乱数回路508a,508bに入力する場合を示しているが、そのような態様に限られない。例えば、専用のクロックを用いるのではなく、制御用クロック生成回路42からの制御用クロックCCLKをメイン制御部41内部で乱数回路508a,508bに入力させるように構成しても良い。この場合、例えば、制御用クロックCCLKを分周した信号を用いて乱数回路508a,508b内蔵の乱数カウンタ(後述する乱数生成回路525a,525b)を更新させるようにしても良い。また、この場合、乱数用クロック生成回路43は遊技制御基板40上に設けなくても良い。
スイッチ検出回路44は、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送する。モータ駆動回路45は、メイン制御部41から出力されたモータ駆動信号をリールモータ32L、32C、32Rに伝送する。ソレノイド駆動回路46は、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送する。LED駆動回路は、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送する。電断検出回路48は、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する。リセット回路49は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部41にシステムリセット信号を与える。
図5は、遊技制御基板40に搭載されたメイン制御部41の構成例を示している。図5に示すメイン制御部41は、図5に示すメイン制御部41は、1チップマイクロコンピュータであり、外部バスインタフェース501と、クロック回路502と、照合用ブロック503と、固有情報記憶回路504と、演算回路505と、リセット/割込みコントローラ506と、CPU(Central Processing Unit)56と、ROM(Read Only Memory)54と、RAM(Random Access Memory)55と、フリーランカウンタ回路507と、乱数回路508a,508bと、タイマ回路509と、割り込みコントローラ510と、パラレル入力ポート511と、シリアル通信回路512と、パラレル出力ポート513と、アドレスデコード回路514とを備えて構成される。
また、メイン制御部41が搭載する乱数回路には、8ビット乱数を発生させる8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとがある。尚、図5に示す例では、8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとが1つずつ図示されているが、メイン制御部41は、8ビット乱数回路508aと、16ビット乱数を発生させる16ビット乱数回路508bとを、それぞれ4回路(4チャネル)ずつ搭載している。尚、本実施例では、8ビット乱数回路508aの4つのチャネルをそれぞれRS0〜RS3と表現する場合があり、16ビット乱数回路508bの4つのチャネルをそれぞれRL0〜RL3と表現する場合がある。
また、リセット/割り込みコントローラ506は、指定エリア外走行禁止(IAT)回路506aとウオッチドッグタイマ(WDT)506bとを備える。IAT回路506aは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとIAT発生信号を出力する機能を備える。また、ウオッチドッグタイマ506bは、設定期間ごとにタイムアウト信号を発生させる機能を備える。
図6は、メイン制御部41におけるアドレスマップの一例を示している。図6に示すように、アドレス0000H〜アドレス2FFFHの領域は、メイン制御部41のROM41bに割り当てられ、プログラムコード/データエリア(ユーザプログラムやデータを格納するエリア)とプログラム管理エリアとを含んでいる。図7は、ROM41bにおけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレスF000H〜アドレスF3FFHの領域は、メイン制御部41のRAM41cに割り当てられている。アドレスFE00H〜アドレスFEBFHの領域は、メイン制御部41の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図8〜図10は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレスFED0H〜アドレスFEFDHの領域は、アドレスデコード回路514に割り当てられるXCS,XCSEデコードエリアである。
プログラム管理エリアは、メイン制御部41がシステムリセット時に内部リセット動作の設定や乱数回路508a,508bの設定など各種設定を行うために必要な情報を格納する記憶領域である。図7に示すように、プログラム管理エリアには、ヘッダ(KHDR)、プログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)、プログラムコードエンドアドレス2(KPCE2)、リセット設定(KRES)、16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)、16ビット乱数初期設定3(KRL3)、8ビット乱数初期設定1(KRS1)、8ビット乱数初期設定2(KRS2)、セキュリティ時間設定(KSES)、乱数クロック監視設定(KRCS)などが、含まれている。また、図8〜図10に示すように、内蔵レジスタエリアには、内部情報レジスタ(CIF)や、乱数回路508a,508bで用いる各種レジスタなどが、含まれている。
プログラム管理エリアに記憶されるヘッダ(KHDR)は、プログラム管理エリアのスタートを示す8バイトのコード列の設定、及びメイン制御部41における内部データの読出設定を示す。図11は、ヘッダ(KHDR)における設定データと動作との対応関係を例示している。ここで、メイン制御部41では、ROM読出防止機能と、バス出力マスク機能とを設定可能である。ROM読出防止機能は、メイン制御部41が備えるROM41bの記憶データについて、読出動作を許可または禁止する機能であり、読出禁止に設定された状態では、ROM41bの記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース501に接続された外部装置からメイン制御部41の内部データに対する読出要求があった場合に、外部バスインタフェース501におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図11に示すように、プログラム管理エリアのスタートを示す8バイトのコード列として設定する設定データに対応して、ROM読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図11に示す設定データのうち、ROM読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ROM読出が禁止されるとともに、バス出力マスクが有効となる設定データ(全て「00H」)は、ROM読出禁止データともいう。ROM読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス(KPCE)は、ユーザプログラムの0000Hから続くプログラムコードエリアの最終アドレスの設定を示す。図12(A)は、プログラムコードエンドアドレス(KPCE)における設定内容の一例を示している。
尚、本実施例では、アドレス0000H〜アドレス2FBFHまでのプログラムコード/データエリア内に2つのプログラムコードエリアを設定可能である。具体的には、1つ目のプログラムコードエリアは、アドレス0000Hからプログラムコードエンドアドレス(KPCE)で設定されるアドレスまでのエリアとして設定可能であり、2つ目のプログラムコードエリアは、プログラムコードスタートアドレス2(KPCS2)で設定されるアドレスからプログラムコードエンドアドレス2(KPCE2)で設定されるアドレスまでのエリアとして設定可能である。以下、1つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード1ともいい、2つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード2ともいう。
図12(A)に示すように、プログラムコードエンドアドレス(KPCE)のアドレス2FD3Hには、プログラムコード1の最終アドレスの下位アドレスが設定される。また、アドレス2FD4Hには、プログラムコード1の最終アドレスの上位アドレスが設定される。
プログラム管理エリアに記憶されるプログラムコードスタートアドレス2(KPCS2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの先頭アドレスの設定を示す。図12(B)は、プログラムコードスタートアドレス2(KPCS2)における設定内容の一例を示している。
図12(B)に示すように、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5Hには、プログラムコード2の先頭アドレスの下位アドレスが設定される。また、アドレス2FD6Hには、プログラムコード2の先頭アドレスの上位アドレスが設定される。尚、プログラムコードエリアを2つに分けない場合には、プログラムコードスタートアドレス2(KPCS2)のアドレス2FD5H及びアドレス2FD6Hにそれぞれ0000Hを設定するようにすれば良い。
プログラム管理エリアに記憶されるプログラムコードエンドアドレス2(KPCE2)は、ユーザプログラムが2つのブロックに分かれた場合の2つ目のプログラムコードエリアの最終アドレスの設定を示す。図12(C)は、プログラムコードエンドアドレス2(KPCE2)における設定内容の一例を示している。
図12(C)に示すように、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7Hには、プログラムコード2の最終アドレスの下位アドレスが設定される。また、アドレス2FD8Hには、プログラムコード2の最終アドレスの上位アドレスが設定される。尚、プログラムコードエリアを2つに分けない場合には、プログラムコードエンドアドレス2(KPCE2)のアドレス2FD7H及びアドレス2FD8Hにそれぞれ0000Hを設定するようにすれば良い。
尚、図12に示すプログラムコードエンドアドレス(KPCE)、プログラムコードスタートアドレス2(KPCS2)及びプログラムコードエンドアドレス2(KPCE2)の設定内容は、IAT回路506aによってユーザプログラムが指定エリア内で正しく実行されているか否かを監視する際に参照される。すなわち、IAT回路506aは、0000Hからプログラムコードエンドアドレス(KPCE)で示されるアドレス、またはプログラムコードスタートアドレス2(KPCS2)で示されるアドレスからプログラムコードエンドアドレス2(KPCE2)で示されるアドレスまでの指定範囲でユーザプログラムが実行されているか否かを判定し、その指定範囲外でユーザプログラムが実行されていることを検出したことに基づいてIAT信号を出力する。
プログラム管理エリアに記憶されるリセット設定(KRES)は、内部リセット動作やウオッチドッグタイマ(WDT)506bの動作許可/禁止の設定を示す。図13は、リセット設定(KRES)における設定内容の一例を示している。
リセット設定(KRES)のビット[7]は、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力したことや、IATが発生したこと(IAT回路506aからのIAT信号を入力したとき)により内部リセットが発生したときの動作の設定を示している。図13に示す例において、リセット設定(KRES)のビット[7]におけるビット値が“0”であれば、タイムアウト信号やIAT信号を入力したときにユーザリセットが発生する。これに対して、リセット設定(KRES)のビット[7]におけるビット値が“1”であれば、タイムアウト信号やIAT信号を入力したときにシステムリセットが発生する。
リセット設定(KRES)のビット[6]は、ウオッチドッグタイマ(WDT)506bの起動方法の設定を示している。図13に示す例において、リセット設定(KRES)のビット[6]におけるビット値が“0”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にウオッチドッグタイマ(WDT)506bが起動され時間計測が開始される。これに対して、リセット設定(KRES)のビット[6]におけるビット値が“1”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)によりウオッチドッグタイマ(WDT)506bが起動され時間計測が開始される。
リセット設定(KRES)のビット[5−4]は、ウオッチドッグタイマ(WDT)506bの基準クロック信号の設定を示している。図13に示す例では、リセット設定(KRES)のビット[5−4]に“00”が設定された場合には、基準クロック信号として215×TSCLKが選択される。また、リセット設定(KRES)のビット[5−4]に“01”が設定された場合には、基準クロック信号として219×TSCLKが選択される。また、リセット設定(KRES)のビット[5−4]に“10”が設定された場合には、基準クロック信号として222×TSCLKが選択される。また、リセット設定(KRES)のビット[5−4]に“11”が設定された場合には、基準クロック信号として225×TSCLKが選択される。尚、SCLKとは、メイン制御部41の内部システムクロックを示しており、TSCLKは、1/SCLKを示している。
リセット設定(KRES)のビット[3−0]は、ウオッチドッグタイマ(WDT)506bのタイムアウト時間の設定を示している。具体的には、ウオッチドッグタイマ(WDT)506bのタイムアウト時間は、リセット設定(KRES)のビット[5−4]で選択した基準クロックに、リセット設定(KRES)のビット[3−0]で設定した設定値を乗算した値となる。例えば、リセット設定(KRES)のビット[3−0]に“1000”を設定(すなわち、値「8」を設定)した場合、リセット設定(KRES)のビット[5−4]に“00”を設定した場合には、タイムアウト時間は215×TSCLK×8となり、リセット設定(KRES)のビット[5−4]に“01”を設定した場合には、タイムアウト時間は219×TSCLK×8となり、リセット設定(KRES)のビット[5−4]に“10”を設定した場合には、タイムアウト時間は222×TSCLK×8となり、リセット設定(KRES)のビット[5−4]に“11”を設定した場合には、タイムアウト時間は225×TSCLK×8となる。また、リセット設定(KRES)のビット[3−0]に“1111”を設定(すなわち、値「15」を設定)した場合、リセット設定(KRES)のビット[5−4]に“00”を設定した場合には、タイムアウト時間は215×TSCLK×15となり、リセット設定(KRES)のビット[5−4]に“01”を設定した場合には、タイムアウト時間は219×TSCLK×15となり、リセット設定(KRES)のビット[5−4]に“10”を設定した場合には、タイムアウト時間は222×TSCLK×15となり、リセット設定(KRES)のビット[5−4]に“11”を設定した場合には、タイムアウト時間は225×TSCLK×15となる。尚、図13には、内部システムクロックが10.0MHzと12.0MHzである場合のタイムアウト時間の値の具体例もそれぞれ示されている。
尚、ウオッチドッグタイマ(WDT)506bを使用しないように設定する場合、図13に示すように、リセット設定(KRES)のビット[3−0]に“0000”を設定するようにすれば良い。ただし、リセット設定(KRES)のビット[3−0]に“0000”がセットされてウオッチドッグタイマ(WDT)506bが使用禁止状態に設定された場合であっても、リセット設定(KRES)のビット[7]の値を設定することにより、システムリセットするかユーザリセットとするかの設定を行うことは可能である。
プログラム管理エリアに記憶される16ビット乱数初期設定1(KRL1)、16ビット乱数初期設定2(KRL2)及び16ビット乱数初期設定3(KRL3)は、16ビット乱数回路508bの設定を示す。図14は、16ビット乱数初期設定1(KRL1)のにおける設定内容の一例を示している。また、図15は、16ビット乱数初期設定2(KRL2)のにおける設定内容の一例を示している。さらに、図16は、16ビット乱数初期設定3(KRL3)のにおける設定内容の一例を示している。
まず、図14を用いて、16ビット乱数初期設定1(KRL1)における設定内容を説明する。16ビット乱数初期設定1(KRL1)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの起動方法の設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「7」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル1の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定1(KRL1)のビット「7」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル1の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「6」は、チャネル1の16ビット乱数回路508bの更新クロックの設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「6」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定1(KRL1)のビット「6」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
尚、本実施例では、既に説明した乱数用クロック生成回路43により生成された乱数用クロックRCLKを乱数用外部クロック端子(RCK端子)を介して入力し、その乱数用クロックRCLKを2分周した信号を更新クロックとして用いるものとする。尚、このことは、他のチャネルの16ビット乱数回路508bや8ビット乱数回路508aについても同様である。
16ビット乱数初期設定1(KRL1)のビット「5−4」は、チャネル1の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が“00”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が“01”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が“10”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定1(KRL1)のビット「5−4」におけるビット値が“11”であれば、チャネル1の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
16ビット乱数初期設定1(KRL1)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの起動方法の設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「3」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル0の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定1(KRL1)のビット「3」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル0の16ビット乱数回路508bが起動される。
16ビット乱数初期設定1(KRL1)のビット「2」は、チャネル0の16ビット乱数回路508bの更新クロックの設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「2」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定1(KRL1)のビット「2」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定1(KRL1)のビット「1−0」は、チャネル0の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図14に示す例において、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が“00”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が“01”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が“10”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定1(KRL1)のビット「1−0」におけるビット値が“11”であれば、チャネル0の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図15を用いて、16ビット乱数初期設定2(KRL2)における設定内容を説明する。16ビット乱数初期設定2(KRL2)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの起動方法の設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「7」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル3の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定2(KRL2)のビット「7」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル3の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「6」は、チャネル3の16ビット乱数回路508bの更新クロックの設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「6」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定2(KRL2)のビット「6」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「5−4」は、チャネル3の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「5−4」におけるビット値が“00”であれば、チャネル3の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定2(KRL2)のビット「5−4」におけるビット値が“01”であれば、チャネル3の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定2(KRL2)のビット「5−4」におけるビット値が“10”であれば、チャネル3の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定2(KRL2)のビット「5−4」におけるビット値が“11”であれば、チャネル3の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
16ビット乱数初期設定2(KRL2)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル2の16ビット乱数回路508bの起動方法の設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「3」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル2の16ビット乱数回路508bが起動される。これに対して、16ビット乱数初期設定2(KRL2)のビット「3」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル2の16ビット乱数回路508bが起動される。
16ビット乱数初期設定2(KRL2)のビット「2」は、チャネル2の16ビット乱数回路508bの更新クロックの設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「2」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、16ビット乱数初期設定2(KRL2)のビット「2」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
16ビット乱数初期設定2(KRL2)のビット「1−0」は、チャネル2の16ビット乱数回路508bが更新する乱数列を変更するか否かの設定を示している。図15に示す例において、16ビット乱数初期設定2(KRL2)のビット「1−0」におけるビット値が“00”であれば、チャネル2の16ビット乱数回路508bが更新する乱数列は変更されない。また、16ビット乱数初期設定2(KRL2)のビット「1−0」におけるビット値が“01”であれば、チャネル2の16ビット乱数回路508bが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、16ビット乱数初期設定2(KRL2)のビット「1−0」におけるビット値が“10”であれば、チャネル2の16ビット乱数回路508bが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、16ビット乱数初期設定2(KRL2)のビット「1−0」におけるビット値が“11”であれば、チャネル2の16ビット乱数回路508bが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図16を用いて、16ビット乱数初期設定3(KRL3)のにおける設定内容を説明する。16ビット乱数初期設定3(KRL3)のビット「7」は、4チャネルの16ビット乱数回路508bのうち、チャネル3の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「7」におけるビット値が“0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「7」におけるビット値が“1”であれば、乱数更新の1周目のスタート値としてメイン制御部41のIDナンバーをもとにした値が用いられる。メイン制御部41のIDナンバーはチップごとに異なることから、スタート値としてIDナンバーをもとにした値を用いることにより、乱数の更新タイミングを予測しにくくすることができ、乱数の更新タイミングを狙って不正に大当りを発生させるような行為を防止することができる。尚、IDナンバーをもとにした値として、IDナンバーそのものを用いても良いし、IDナンバーに所定の演算(例えば、所定値を加算したり減算したりした値)を用いても良い。
16ビット乱数初期設定3(KRL3)のビット「6」は、チャネル3の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が“0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が“1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「5」は、4チャネルの16ビット乱数回路508bのうち、チャネル2の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「5」におけるビット値が“0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「5」におけるビット値が“1”であれば、乱数更新の1周目のスタート値としてメイン制御部41のIDナンバーをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「4」は、チャネル2の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「4」におけるビット値が“0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「6」におけるビット値が“1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「3」は、4チャネルの16ビット乱数回路508bのうち、チャネル1の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「3」におけるビット値が“0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「3」におけるビット値が“1”であれば、乱数更新の1周目のスタート値としてメイン制御部41のIDナンバーをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「2」は、チャネル1の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「2」におけるビット値が“0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「2」におけるビット値が“1”であれば、システムリセットごとにスタート値を変更する。
16ビット乱数初期設定3(KRL3)のビット「1」は、4チャネルの16ビット乱数回路508bのうち、チャネル0の16ビット乱数回路508bの1周目からのスタート値の設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「1」におけるビット値が“0”であれば、乱数更新の1周目のスタート値として0001Hが用いられる。これに対して、16ビット乱数初期設定3(KRL3)のビット「1」におけるビット値が“1”であれば、乱数更新の1周目のスタート値としてメイン制御部41のIDナンバーをもとにした値が用いられる。
16ビット乱数初期設定3(KRL3)のビット「0」は、チャネル0の16ビット乱数回路508bのスタート値をシステムリセットごとに変更するか否かの設定を示している。図16に示す例において、16ビット乱数初期設定3(KRL3)のビット「0」におけるビット値が“0”であれば、システムリセット時にスタート値の変更は行わない。これに対して、16ビット乱数初期設定3(KRL3)のビット「0」におけるビット値が“1”であれば、システムリセットごとにスタート値を変更する。
プログラム管理エリアに記憶される8ビット乱数初期設定1(KRS1)及び8ビット乱数初期設定2(KRS2)は、8ビット乱数回路508aの設定を示す。図17は、8ビット乱数初期設定1(KRS1)のにおける設定内容の一例を示している。また、図18は、8ビット乱数初期設定2(KRS2)のにおける設定内容の一例を示している。
まず、図17を用いて、8ビット乱数初期設定1(KRS1)における設定内容を説明する。8ビット乱数初期設定1(KRS1)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル1の8ビット乱数回路508aの起動方法の設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「7」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル1の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定1(KRS1)のビット「7」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル1の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「6」は、チャネル1の8ビット乱数回路508aの更新クロックの設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「6」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定1(KRS1)のビット「6」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「5−4」は、チャネル1の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「5−4」におけるビット値が“00”であれば、チャネル1の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定1(KRS1)のビット「5−4」におけるビット値が“01”であれば、チャネル1の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、8ビット乱数初期設定1(KRS1)のビット「5−4」におけるビット値が“10”であれば、チャネル1の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定1(KRS1)のビット「5−4」におけるビット値が“11”であれば、チャネル1の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
8ビット乱数初期設定1(KRS1)のビット「3」は、4チャネルの8ビット乱数回路508aのうち、チャネル0の8ビット乱数回路508aの起動方法の設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「3」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル0の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定1(KRS1)のビット「3」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル0の8ビット乱数回路508aが起動される。
8ビット乱数初期設定1(KRS1)のビット「2」は、チャネル0の8ビット乱数回路508aの更新クロックの設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「2」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定1(KRS1)のビット「2」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定1(KRS1)のビット「1−0」は、チャネル0の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図17に示す例において、8ビット乱数初期設定1(KRS1)のビット「1−0」におけるビット値が“00”であれば、チャネル0の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定1(KRS1)のビット「1−0」におけるビット値が“01”であれば、チャネル0の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、8ビット乱数初期設定1(KRS1)のビット「1−0」におけるビット値が“10”であれば、チャネル0の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定1(KRS1)のビット「1−0」におけるビット値が“11”であれば、チャネル0の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
次に、図18を用いて、8ビット乱数初期設定2(KRS2)における設定内容を説明する。8ビット乱数初期設定2(KRS2)のビット「7」は、4チャネルの8ビット乱数回路508aのうち、チャネル3の8ビット乱数回路508aの起動方法の設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「7」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル3の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定2(KRS2)のビット「7」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル3の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「6」は、チャネル3の8ビット乱数回路508aの更新クロックの設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「6」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定2(KRS2)のビット「6」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「5−4」は、チャネル3の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「5−4」におけるビット値が“00”であれば、チャネル3の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定2(KRS2)のビット「5−4」におけるビット値が“01”であれば、チャネル3の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、8ビット乱数初期設定2(KRS2)のビット「5−4」におけるビット値が“10”であれば、チャネル3の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定2(KRS2)のビット「5−4」におけるビット値が“11”であれば、チャネル3の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
8ビット乱数初期設定2(KRS2)のビット「3」は、4チャネルの8ビット乱数回路508aのうち、チャネル2の8ビット乱数回路508aの起動方法の設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「3」におけるビット値が“0”であれば、ユーザモードに移行した後、ソフトウェア(ユーザプログラム)により乱数の最大値設定が行われたことにより、チャネル2の8ビット乱数回路508aが起動される。これに対して、8ビット乱数初期設定2(KRS2)のビット「3」におけるビット値が“1”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル2の8ビット乱数回路508aが起動される。
8ビット乱数初期設定2(KRS2)のビット「2」は、チャネル2の8ビット乱数回路508aの更新クロックの設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「2」におけるビット値が“0”であれば、メイン制御部41の内部システムクロックを更新クロックとして用いる。これに対して、8ビット乱数初期設定2(KRS2)のビット「2」におけるビット値が“1”であれば、メイン制御部41の外部から入力された外部クロック信号を2分周した信号を更新クロックとして用いる。
8ビット乱数初期設定2(KRS2)のビット「1−0」は、チャネル2の8ビット乱数回路508aが更新する乱数列を変更するか否かの設定を示している。図18に示す例において、8ビット乱数初期設定2(KRS2)のビット「1−0」におけるビット値が“00”であれば、チャネル2の8ビット乱数回路508aが更新する乱数列は変更されない。また、8ビット乱数初期設定2(KRS2)のビット「1−0」におけるビット値が“01”であれば、チャネル2の8ビット乱数回路508aが更新する乱数列をソフトウェア(ユーザプログラム)により変更できる。また、8ビット乱数初期設定2(KRS2)のビット「1−0」におけるビット値が“10”であれば、チャネル2の8ビット乱数回路508aが更新する乱数列が2周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、8ビット乱数初期設定2(KRS2)のビット「1−0」におけるビット値が“11”であれば、チャネル2の8ビット乱数回路508aが更新する乱数列が1周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
尚、8ビット乱数回路508aに関しては、16ビット乱数回路508bとは異なり、図16に示したようなスタート値の設定を行う機能はない。
プログラム管理エリアに記憶されるセキュリティ時間設定(KSES)は、セキュリティモードを延長する時間の設定を示す。図19は、セキュリティ時間設定(KSES)における設定内容の一例を示している。
セキュリティ時間設定(KSES)のビット[7−6]は、セキュリティモード時間をランダムに延長する時間の設定を示している。図19に示す例では、セキュリティ時間設定(KSES)のビット[7−6]に“01”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ショートモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜0.816msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜0.51msの範囲の時間がランダムに延長される。また、セキュリティ時間設定(KSES)のビット[7−6]に“10”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ミドルモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜26.112msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜16.32msの範囲の時間がランダムに延長される。また、セキュリティ時間設定(KSES)のビット[7−6]に“11”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ロングモードが設定され、具体的には、内部システムクロックが10.0MHzである場合には0〜835.584msの範囲の時間がランダムに延長され、内部システムクロックが12.0MHzである場合には0〜522.24msの範囲の時間がランダムに延長される。
尚、セキュリティモード時間のランダム延長を行わないように設定する場合、図19に示すように、セキュリティ時間設定(KSES)のビット[7−6]に“00”を設定するようにすれば良い。
セキュリティ時間設定(KSES)のビット[5]は、セキュリティモード時間を固定延長する時間の基準クロック信号の設定を示している。図19に示す例では、セキュリティ時間設定(KSES)のビット[5]に“0”が設定された場合には、基準クロック信号として222×TSCLKが選択される。また、セキュリティ時間設定(KSES)のビット[5]に“1”が設定された場合には、基準クロック信号として224×TSCLKが選択される。
セキュリティ時間設定(KSES)のビット[4−0]は、セキュリティモード時間を固定で延長する時間の設定を示している。具体的には、セキュリティモード時間の固定延長時間は、セキュリティ時間設定(KSES)のビット[5]で選択した基準クロックに、セキュリティ時間設定(KSES)のビット[4−0]で設定した設定値を乗算した値となる。例えば、セキュリティ時間設定(KSES)のビット[4−0]に“00001”を設定(すなわち、値「1」を設定)した場合、セキュリティ時間設定(KSES)のビット[5]に“0”を設定した場合には、固定延長時間は222×TSCLK×1となり、セキュリティ時間設定(KSES)のビット[5]に“1”を設定した場合には、固定延長時間は224×TSCLK×1となる。また、セキュリティ時間設定(KSES)のビット[4−0]に“01000”を設定(すなわち、値「8」を設定)した場合、セキュリティ時間設定(KSES)のビット[5]に“0”を設定した場合には、固定延長時間は222×TSCLK×8となり、セキュリティ時間設定(KSES)のビット[5]に“1”を設定した場合には、固定延長時間は224×TSCLK×8となる。また、セキュリティ時間設定(KSES)のビット[4−0]に“10000”を設定(すなわち、値「16」を設定)した場合、セキュリティ時間設定(KSES)のビット[5]に“0”を設定した場合には、固定延長時間は222×TSCLK×16となり、セキュリティ時間設定(KSES)のビット[5]に“1”を設定した場合には、固定延長時間は224×TSCLK×16となる。また、セキュリティ時間設定(KSES)のビット[4−0]に“11111”を設定(すなわち、値「31」を設定)した場合、セキュリティ時間設定(KSES)のビット[5]に“0”を設定した場合には、固定延長時間は222×TSCLK×31となり、セキュリティ時間設定(KSES)のビット[5]に“1”を設定した場合には、固定延長時間は224×TSCLK×31となる。尚、図19には、内部システムクロックが10.0MHzと12.0MHzである場合の固定延長時間の値の具体例もそれぞれ示されている。
尚、セキュリティモード時間の固定延長を行わないように設定する場合、図19に示すように、セキュリティ時間設定(KSES)のビット[4−0]に“00000”を設定するようにすれば良い。
図19に示すように、セキュリティモード時間は、セキュリティ時間設定(KSES)のビット[7−6]の設定によるランダム延長と、セキュリティ時間設定(KSES)のビット[5−0]の設定による固定延長との2種類の方法で延長設定が可能である。そして、これら2種類の方法で設定された時間の加算時間が最終的なセキュリティモード時間の延長時間となる。
プログラム管理エリアに記憶される乱数クロック監視設定(KRCS)は、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号の監視周波数の設定を示す。図20は、乱数クロック監視設定(KRCS)における設定内容の一例を示している。
乱数クロック監視設定(KRCS)のビット[7−2]は、固定ビット(すなわち、特に設定に使用しないビット)であり、全ビット必ず“0”を設定するものとする。
乱数クロック監視設定(KRCS)のビット[1−0]は、乱数を更新するためのクロックとして、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号を選択した場合に、その入力クロックの周波数異常の検出対象とする周波数の設定を示している。図20に示す例では、乱数クロック監視設定(KRCS)のビット[1−0]に“00”が設定された場合には、監視周波数としてSCLK(内部システムクロック)の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に“01”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/2の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に“10”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/22の周波数未満を設定する。また、乱数クロック監視設定(KRCS)のビット[1−0]に“11”が設定された場合には、監視周波数としてSCLK(内部システムクロック)/23の周波数未満を設定する。
尚、乱数用外部クロック端子(RCK端子)から入力された外部クロック信号の監視周波数の異常を検出した場合には、後述する内部情報レジスタ(CIF)のビット3に“1”がセットされる。
尚、本実施例では、メイン制御部41は、8ビット乱数回路508aと16ビット乱数回路508bとのうち、16ビット乱数回路508bの動作異常(外部クロック周波数異常)を検出する機能を備えている。具体的には、メイン制御部41は、乱数更新用クロックとして乱数用外部クロック端子(RCK端子)から入力された外部クロック信号が選択されている場合に、乱数クロック監視設定(KRCS)で設定されている監視周波数に基づいて、外部クロック信号の周波数が低下したか否かを検出し、外部クロック信号の周波数が低下(外部クロック周波数異常)を検出した場合には、後述する内部情報レジスタ(CIF)のビット3に“1”をセットする。
また、メイン制御部41は、16ビット乱数回路508bの乱数の更新状態を監視する機能を備え、更新状態に異常を検出すると(例えば、乱数値が同じ値のまま更新されなくなったり、通常は乱数値が1つずつカウントアップされていくのに乱数値のカウント値がいきなり2以上の値増加した状態を検出したりすると)、内部情報レジスタ(CIF)のビット7〜4のうちの対応するビットに“1”をセットする。
尚、本実施例では、乱数クロック監視設定(KRCS)を用いて設定を行うことによって、16ビット乱数回路508bの動作異常の検出に関して、監視対象の外部クロック信号の監視周波数を設定する場合を示しているが、外部クロック周波数異常の検出自体を行うか否かを設定可能に構成したり、更新異常の検出自体を行うか否かを設定可能に構成したりしても良い。この場合、外部クロック周波数異常の検出自体を行うか否かの設定と、更新異常の検出自体を行うか否かの設定とをそれぞれ独立して行えるように構成しても良いし、両方の設定を一括して有効とするか無効とするかのみ行えるように構成しても良い。
尚、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かを設定可能とするためには、例えば、乱数回路自体を起動するか否かを設定するようにし、乱数回路を起動しないように設定した場合には、事実上、外部クロック周波数異常の検出や更新異常の検出を行えないので、外部クロック周波数異常の検出や更新異常の検出を行わないように設定したといえる。このように、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かの設定は、乱数回路自体を起動するか否かを設定することによって実現することも含む概念である。
また、本実施例では、乱数用クロック生成回路43から専用の乱数用クロックRCLKを乱数回路508a,508bに外部入力する場合を示しているが、例えば、制御用クロック生成回路42からの制御用クロックCCLKを外部入力する場合など専用の乱数用クロックRCLK以外のクロックを外部入力する場合であっても、外部クロック周波数異常の検出や更新異常の検出を行うことが可能である。尚、乱数回路の更新異常の検出に関しては、乱数用クロック生成回路43から専用の乱数用クロックRCLK用いて乱数更新する場合と、制御用クロック生成回路42からの制御用クロックCCLKなど他のクロックを用いて乱数更新する場合とのいずれか一方の場合のみ設定可能に構成しても良い。
また、本実施例では、外部クロック周波数の異常の検出を行い、メイン制御部41の内部システムクロックSCLKの周波数については特に異常の検出を行っていないが、それは次のような理由による。すなわち、乱数更新に内部システムクロックSCLKを用いる場合には、内部システムクロックSCLKに異常が発生しているような状況では、CPU41a自体の動作が停止している筈であるので、CPU41aが動作しているのに乱数の更新だけが停止しているような事態が生じる場合がなく、何らかの問題が生じるおそれがない。これに対して、乱数更新に外部クロック信号を用いる場合には、CPU41aが動作しているのに乱数の更新だけが停止しているような事態が生じる可能性があり弊害が生じるおそれがあるためである。
図5に示すメイン制御部41が備える外部バスインタフェース501は、メイン制御部41を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース501は、メイン制御部41に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであれば良い。
メイン制御部41が備えるクロック回路502は、例えば制御用外部クロック端子EXに入力される発振信号を2分周することなどにより、内部システムクロックSCLKを生成する回路である。尚、生成された内部システムクロックは、外部出力端子(CLKO端子)から外部に出力される。
メイン制御部41が備える照合用ブロック503は、外部の照合機と接続し、チップの照合を行う機能を備える。
メイン制御部41が備える固有情報記憶回路504は、例えばメイン制御部41の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路504は、ROMコード、チップ個別ナンバー、IDナンバーといった3種類の固有情報を記憶する。ROM41bコードは、ROM41bの所定領域における記憶データから生成される4バイトの数値であり、生成方法の異なる4つの数値が準備されれば良い。チップ個別ナンバーは、メイン制御部41の製造時に付与される4バイトの番号であり、メイン制御部41を構成するチップ毎に異なる数値を示している。IDナンバーは、メイン制御部41の製造時に付与される8バイトの番号であり、メイン制御部41を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、IDナンバーはユーザプログラムから読み取ることができないように設定されていれば良い。尚、固有情報記憶回路504は、例えばROM41bの所定領域を用いることなどにより、ROM41bに含まれるようにしても良い。あるいは、固有情報記憶回路504は、例えばCPU41aの内蔵レジスタを用いることなどにより、CPU41aに含まれるようにしても良い。
メイン制御部41が備える演算回路505は、乗算及び除算を行う回路である。
メイン制御部41が備えるリセット/割込みコントローラ506は、メイン制御部41の内部や外部にて発生する各種リセット、割込み要求を制御するためのものである。リセット/割込みコントローラ506が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子XSRSTに一定の期間にわたりローレベル信号が入力されたときに発生するリセットである。尚、本実施例では、リセット設定(KRES)の設定により、ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したときや、指定エリア外走行禁止(IAT)が発生したときにも、システムリセットが発生することがある。ユーザリセットは、ウォッチドッグタイマ(WDT)のタイムアウト信号が発生したことや、指定エリア外走行禁止(IAT)が発生したことなど、所定の要因により発生するリセットである。
リセット/割込みコントローラ506が制御する割込みには、ノンマスカブル割込みNMIとマスカブル割込みINTが含まれている。ノンマスカブル割込みNMIは、CPU41aの割込み禁止状態でも無条件に受け付けられる割込みであり、外部ノンマスカブル割込み端子XNMI(入力ポートPI6と兼用)に一定の期間にわたりローレベル信号が入力されたときに発生する割込みである。マスカブル割込みINTは、CPU41aの設定命令により、割込み要求の受け付けを許可/禁止できる割込みであり、優先順位設定による多重割込みの実行が可能である。マスカブル割込みINTの要因としては、外部マスカブル割込み端子XINT(入力ポートPI5と兼用)に一定の期間にわたりローレベル信号が入力されたこと、タイマ回路509にてタイムアウトが発生したこと、シリアル通信回路512にてデータ受信またはデータ送信による割込み要因が発生したこと、乱数回路508a,508bにて乱数値となる数値データの取込による割込み要因が発生したことなど、複数種類の割込み要因があらかじめ定められていれば良い。
リセット/割込みコントローラ506は、図8〜図10に示すようなメイン制御部41が備える内蔵レジスタのうち、内部情報レジスタCIF(アドレスFE25H)などを用いて、割込みの制御やリセットの管理を行う。内部情報レジスタCIFは、直前に発生したリセット要因を管理したり、乱数更新状態、乱数更新クロックを外部クロックとした場合の入力周波数の状態を読み取るためのレジスタである。
図21(A)は、内部情報レジスタCIFの構成例を示している。図21(B)は、内部情報レジスタCIFに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタCIFのビット番号[7]に格納される内部情報データRL3ERは、チャネル3の16ビット乱数回路508bが更新する16ビット乱数RL3の更新状態の異常を示す。図21(B)に示す例では、16ビット乱数RL3の更新異常が検知されないときに、内部情報データRL3ERのビット値が“0”となる一方、16ビット乱数RL3の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[6]に格納される内部情報データRL2ERは、チャネル2の16ビット乱数回路508bが更新する16ビット乱数RL2の更新状態の異常を示す。図21(B)に示す例では、16ビット乱数RL2の更新異常が検知されないときに、内部情報データRL2ERのビット値が“0”となる一方、16ビット乱数RL2の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[5]に格納される内部情報データRL1ERは、チャネル1の16ビット乱数回路508bが更新する16ビット乱数RL1の更新状態の異常を示す。図21(B)に示す例では、16ビット乱数RL1の更新異常が検知されないときに、内部情報データRL1ERのビット値が“0”となる一方、16ビット乱数RL1の更新異常が検知されたときには、そのビット値が“1”となる。内部情報レジスタCIFのビット番号[4]に格納される内部情報データRL0ERは、チャネル0の16ビット乱数回路508bが更新する16ビット乱数RL0の更新状態の異常を示す。図21(B)に示す例では、16ビット乱数RL0の更新異常が検知されないときに、内部情報データRL0ERのビット値が“0”となる一方、16ビット乱数RL0の更新異常が検知されたときには、そのビット値が“1”となる。尚、内部情報レジスタCIFのビット番号[7−4」は、初期値として“0”が設定されている。
内部情報レジスタCIFのビット番号[3]に格納される内部情報データRCERは、乱数更新用クロックとして乱数用外部クロック端子(RCK端子)から入力された外部クロック信号が選択されている場合に、その外部クロック信号の周波数異常を示す。図21(B)に示す例では、外部クロック信号の周波数異常が検知されないときに、内部情報データRCERのビット値が“0”となる一方、外部クロック信号の周波数異常が検知されたときには、そのビット値が“1”となる。尚、内部情報レジスタCIFのビット番号[3」は、初期値として“0“が設定されている。
内部情報レジスタCIFのビット番号[2]に格納される内部情報データSRSFは、直前に発生したリセット要因がシステムリセットであることを示す。図21(B)に示す例では、直前のリセット要因がシステムリセットではないときに(システムリセット未発生)、内部情報データSRSFのビット値が“0“となる一方、システムリセットであるときには(システムリセット発生)、そのビット値が“1“となる。尚、内部情報レジスタCIFのビット番号[2」は、初期値として”1”が設定されている。
内部情報レジスタCIFのビット番号[1]に格納される内部情報データWDTFは、直前に発生したリセット要因がウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したことによるユーザリセットであることを示す。図21(B)に示す例では、直前のリセット要因がタイムアウト信号によるユーザリセットではないときに(タイムアウト信号によるユーザリセット未発生)、内部情報データWDTFのビット値が“0”となる一方、タイムアウト信号によるユーザリセットであるときには(タイムアウト信号によるユーザリセット発生)、そのビット値が“1”となる。尚、内部情報レジスタCIFのビット番号[1」は、初期値として“0”が設定されている。
内部情報レジスタCIFのビット番号[0]に格納される内部情報データIATFは、直前に発生したリセット要因がIAT回路506aからのIAT発生信号を入力したことによるユーザリセットであることを示す。図21(B)に示す例では、直前のリセット要因がIAT発生信号によるユーザリセットではないときに(IAT発生信号によるユーザリセット未発生)、内部情報データIATFのビット値が“0”となる一方、IAT発生信号によるユーザリセットであるときには(IAT発生信号によるユーザリセット発生)、そのビット値が“1”となる。尚、内部情報レジスタCIFのビット番号[0」は、初期値として“0”が設定されている。
メイン制御部41が備えるCPU41aは、ROM41bから読み出した制御コードに基づいてユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を実行することにより、スロットマシン1における遊技制御を実行する制御用CPUである。こうした遊技制御が実行されるときには、CPU41aがROM41bから固定データを読み出す固定データ読出動作や、CPU41aがRAM41cに各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU41aがRAM41cに一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU41aが外部バスインタフェース501やパラレル入力ポート511、シリアル通信回路512などを介してメイン制御部41の外部から各種信号の入力を受け付ける受信動作、CPU41aが外部バスインタフェース501やシリアル通信回路512、パラレル出力ポート513などを介してメイン制御部41の外部へと各種信号を出力する送信動作等も行われる。
メイン制御部41が備えるROM41bには、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。
メイン制御部41が備えるRAM41cは、ゲーム制御用のワークエリアを提供する。ここで、RAM41cの少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシン1への電力供給が停止しても、所定期間はRAM41cの少なくとも一部の内容が保存される。
また、メイン制御部41は、フリーランカウンタ回路507として、8ビットのフリーランカウンタを4チャネル搭載している。
メイン制御部41が備える乱数回路508a,508bは、8ビット乱数や16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路508a,508bのうち16ビット乱数回路508bが生成するハードウェア乱数は、後述する内部抽選用の乱数、後述するフリーズ抽選用の乱数、後述する成功回数抽選用の乱数として用いられる。尚、CPU41aは、乱数回路508a,508bから抽出した数値データに基づき、乱数回路508a,508bとは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工あるいは更新することで、遊技に用いられる乱数値の全部または一部を示す数値データをカウントするようにしても良い。あるいは、CPU41aは、乱数回路508a,508bを用いることなく、ソフトウェアによって大当り判定用乱数などの乱数値を示す数値データの一部をカウント(更新)するようにしても良い。一例として、ハードウェアとなる乱数回路508a,508bからCPU41aにより抽出された数値データを、ソフトウェアにより加工することで、内部抽選用乱数を示す数値データが更新され、それ以外の乱数値(例えば、後述するフリーズ抽選用の乱数や後述する成功回数抽選用の乱数等)を示す数値データは、CPU41aがランダムカウンタなどを用いてソフトウェアにより更新すれば良い。
図22は、8ビット乱数回路508aの一構成例を示すブロック図である。また、図23は、16ビット乱数回路508bの一構成例を示すブロック図である。8ビット乱数回路508a及び16ビット乱数回路508bは、図22及び図23に示すように、乱数列変更選択回路523a,523b、乱数生成回路525a,525b、乱数列変更回路526a,526b、及び最大値比較回路527a,527bを備えて構成される。また、16ビット乱数回路508bは、図23に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数スタート値選択回路535を備える。さらに、16ビット乱数回路508bは、図23に示すように、8ビット乱数回路508aが備える構成要素に加えて、乱数生成回路525bが更新監視回路537を含む。
また、図23に示す例では、16ビット乱数回路508bの回路部分の構成のみを示し、乱数列変更レジスタ522及び最大値設定レジスタ524b以外の16ビット乱数回路508bが用いる各レジスタについては記載を省略している。尚、具体的には、16ビット乱数回路508bは、図22に示すRSハードラッチ選択レジスタ528a,528bに代えて図8に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ(RL3LS)を用い、図22に示すRS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dに代えて図9及び図10に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)を用い、図22に示すRSハードラッチフラグレジスタ530に代えて図9に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)を用い、図22に示すRS割り込み制御レジスタ531に代えて図8に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)を用い、図22に示すRS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dに代えて図9に示すRL0ソフトラッチ乱数値レジスタ(RL0SV)〜RL3ソフトラッチ乱数値レジスタ(RL3SV)を用いる。また、16ビット乱数回路508bは、乱数値ソフトラッチレジスタ532及び乱数ソフトラッチフラグレジスタ534については、8ビット乱数回路508aと兼用で同じレジスタを用いる。
また、8ビット乱数回路508aは、既に説明したプログラム管理エリアに設けられた8ビット乱数初期設定521a(図7に示す8ビット乱数初期設定1(KRS1)及び8ビット乱数初期設定2(KRS2))の設定内容に従って動作する。
また、16ビット乱数回路508bは、既に説明したプログラム管理エリアに設けられた16ビット乱数初期設定521b(図7に示す16ビット乱数初期設定1(KRL1)〜16ビット乱数初期設定2(KRL2))の設定内容に従って動作する。また、16ビット乱数回路508bは、8ビット乱数回路508aの機能に加えて、乱数スタート値選択回路535が16ビット乱数初期設定536(図7に示す16ビット乱数初期設定3(KRL3))の設定内容に従って動作することにより、1周目の乱数値のスタート値を変更する機能を備えている(図16参照)。
また、16ビット乱数回路508bは、乱数生成回路525bが更新監視回路537を含んでおり、8ビット乱数回路508aの機能に加えて、更新監視回路537が動作することにより外部クロック周波数異常及び更新異常を検出する機能を備えている(図20参照)。尚、本実施例では、1つの更新監視回路537により外部クロック周波数異常及び更新異常の両方を検出する場合を示しているが、外部クロック周波数異常を検出する監視回路と更新異常を検出する監視回路とを別々に備えても良い。
尚、8ビット乱数回路508aも更新監視回路を備えるように構成し、8ビット乱数回路508aの外部クロック周波数異常及び更新異常を検出可能に構成するようにしても良い。
また、乱数列変更レジスタ522は、図8に示すようなメイン制御部41の内蔵レジスタに含まれる乱数列変更レジスタRDSCに対応している。尚、乱数列変更レジスタRDSCとして、8ビット乱数回路508a及び16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、最大値設定レジスタ524a,524bは、図8に示すようなメイン制御部41の内蔵レジスタに含まれるRS0最大値設定レジスタ(RS0MX)〜RS3最大値設定レジスタ(RS3MX)に対応している(16ビット乱数回路508bの場合は、RL0最大値設定レジスタ(RL0MX)〜RL3最大値設定レジスタ(RL3MX)に対応している)。
また、ハードラッチ選択レジスタ528aは、図8に示すようなメイン制御部41の内蔵レジスタに含まれるRSハードラッチ選択レジスタ0(RSLS0)に対応している。また、ハードラッチ選択レジスタ528bは、図8に示すようなメイン制御部41の内蔵レジスタに含まれるRSハードラッチ選択レジスタ1(RSLS1)に対応している。尚、16ビット乱数回路508bの場合は、図8に示すRL0ハードラッチ選択レジスタ0(RL0LS0)〜RL3ハードラッチ選択レジスタ3(RL3LS)に対応している。
また、RS0ハードラッチ乱数値レジスタ529a〜RS3ハードラッチ乱数値レジスタ529dは、図10に示すようなメイン制御部41の内蔵レジスタに含まれるRS0ハードラッチ乱数値レジスタ(RS0HV)〜RS3ハードラッチ乱数値レジスタ(RS3HV)に対応している。尚、16ビット乱数回路508bの場合は、図9に示すRL0ハードラッチ乱数値レジスタ0(RL0HV0)〜RL1ハードラッチ乱数値レジスタ1(RL1HV1)及び図10に示すRL2ハードラッチ乱数値レジスタ0(RL2HV0)〜RL3ハードラッチ乱数値レジスタ1(RL3HV1)に対応している。
また、RSハードラッチフラグレジスタ530は、図9に示すRSハードラッチフラグレジスタ(RSHF)に対応している。尚、16ビット乱数回路508bの場合は、図9に示すRLハードラッチフラグレジスタ0(RLHF0)〜RLハードラッチフラグレジスタ1(RLHF1)に対応している。
また、RS割り込み制御レジスタ531は、図8に示すRS割り込み制御レジスタ(RSIC)に対応している。尚、16ビット乱数回路508bの場合は、図8に示すRL割り込み制御レジスタ0(RLIC0)〜RL割り込み制御レジスタ1(RLIC1)に対応している。
また、乱数ソフトラッチレジスタ532は、図8に示す乱数ソフトラッチレジスタ(RDSL)に対応している。尚、ソフトラッチレジスタRDSLとして、8ビット乱数回路508a及び16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
また、RS0ソフトラッチ乱数値レジスタ533a〜RS3ソフトラッチ乱数値レジスタ533dは、は、図9に示すRS0ソフトラッチ乱数値レジスタ(RS0SV)〜RS3ソフトラッチ乱数値レジスタ(RS3SV)に対応している。尚、16ビット乱数回路508bの場合は、図9に示すRL0ソフトラッチ乱数値(RL0SV)〜RL3ソフトラッチ乱数値(RL3SV)に対応している。
また、乱数ソフトラッチフラグレジスタ534は、図8に示す乱数ソフトラッチフラグレジスタ(RDSF)に対応している。尚、乱数ソフトラッチフラグレジスタRDSFとして、8ビット乱数回路508a及び16ビット乱数回路508bの各チャネルで共通のレジスタが用いられる。
乱数列変更選択回路523a,523bは、図17や図18に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図14や図15に示す16ビット乱数初期設定1(KRL1)や16ビット乱数初期設定2(KRL2)の設定内容に従って)、乱数列の変更方法として、「変更しない」、「ソフトウェアで変更」、「2周目から自動で変更」または「1周目から自動で変更」のうちのいずれかを選択する。そして、「ソフトウェアで変更」、「2周目から自動で変更」または「1周目から自動で変更」のいずれかに選択した場合には、その選択方法に従って乱数列変更回路526a,526bに乱数列を変更させる。また、「変更しない」を選択した場合には乱数列を変更させる制御を行わない。
乱数列変更回路526a,526bは、乱数生成回路525a,525bにより生成された数値データの順列を、乱数列変更選択回路523a,523bの指示に従って変更可能とする回路である。例えば、乱数列変更回路526a,526bは、「ソフトウェアで変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列をソフトウェア(ユーザプログラム)により変更する。また、例えば、乱数列変更回路526a,526bは、「2周目から自動で変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列を2周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。また、例えば、乱数列変更回路526a,526bは、「1周目から自動で変更」が指示された場合には、乱数生成回路525a,525bが更新する乱数列を1周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。
乱数生成回路525a,525bは、例えば8ビットのカウンタ(16ビット乱数回路508bの場合は16ビットのカウンタ)などから構成され、乱数更新クロック信号などの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路525a,525bは、乱数更新クロック信号における立ち下がりエッジに応答して、「0」から「255」までの範囲内で設定された初期値から「255」まで1ずつ加算するように数値データをカウントアップして行く(16ビット乱数回路508bの場合には、「0」から「65535」までの範囲内で設定された初期値から「65535」まで1ずつ加算するように数値データをカウントアップして行く)。そして、「255」までカウントアップした後には、「0」から初期値よりも1小さい最終値となる数値まで1ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
最大値比較回路527a,527bは、図17や図18に示す8ビット乱数初期設定1(KRS1)や8ビット乱数初期設定2(KRS2)の設定内容に従って(16ビット乱数回路508bの場合には、図14や図15に示す16ビット乱数初期設定1(KRL1)や16ビット乱数初期設定2(KRL2)の設定内容に従って)、乱数生成回路525a,525bが生成する乱数値の最大値を設定する。
図24(A)は、RL0ハードラッチ選択レジスタ0(RL0LS0)の構成例を示している。図24(B)は、RL0ハードラッチ選択レジスタ0(RL0LS0)に格納されるデータの各ビットにおける設定内容の一例を示している。RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[7]に格納されるデータRL01RFは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図24(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL01RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRL01RFは、初期値として“0”が設定されている。
尚、本実施例では、プログラム管理エリアや内蔵レジスタのレジスタに関して、具体的には、プログラム管理エリアなどの対応するビットを“0”または“1”のいずれかの値としておくことにより、その対応するビットの値が読み込まれて、読み込まれた“0”または“1”の値がメイン制御部41の制御レジスタにハードウェア的に書き込まれることにより各種の設定が行われる。例えば、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット7については、そのビット7から読み込まれた値が“0”であれば、メイン制御部41の制御レジスタにハードウェア的に“0”が書き込まれることによりRL0ハードラッチ乱数値レジスタ1(RL0HV1)から値を読み込まないと次の値をラッチしないように設定され、そのビット7から読み込まれた値が“1”であれば、メイン制御部41の制御レジスタにハードウェア的に“1”が書き込まれることによりRL0ハードラッチ乱数値レジスタ1(RL0HV1)から値を読み込まなくても次の値をラッチするように設定される。このことは、他のプログラム管理エリアの各設定項目や内蔵レジスタの各レジスタの各ビットに関しても同様である。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に格納されるデータRL01LS0〜RL01LS2は、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図24(B)に示す例では、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[6−4]に“110”や“111”が設定された場合には、その設定は無効である。また、データRL01LS0〜RL01LS2は、初期値として“000”が設定されている。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[3]に格納されるデータRL00RFは、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図24(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL00RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRL00RFは、初期値として“0”が設定されている。
RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に格納されるデータRL00LS0〜RL00LS2は、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図24(B)に示す例では、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット番号[2−0]に“110”や“111”が設定された場合には、その設定は無効である。また、データRL00LS0〜RL00LS2は、初期値として“000”が設定されている。
図25(A)は、RL0ハードラッチ選択レジスタ1(RL0LS1)の構成例を示している。図25(B)は、RL0ハードラッチ選択レジスタ1(RL0LS1)に格納されるデータの各ビットにおける設定内容の一例を示している。RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[7]に格納されるデータRL03RFは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL03RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRL03RFは、初期値として“0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に格納されるデータRL03LS0〜RL03LS2は、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図25(B)に示す例では、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[6−4]に“110”や“111”が設定された場合には、その設定は無効である。また、データRL03LS0〜RL03LS2は、初期値として“000”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[3]に格納されるデータRL02RFは、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、外部端子入力により、16ビット乱数RL0の値を取り込む際の条件の設定を示している。図25(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRL02RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRL02RFは、初期値として“0”が設定されている。
RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に格納されるデータRL02LS0〜RL02LS2は、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、どの外部端子入力により、16ビット乱数RL0の値を取り込むかの設定を示している。図25(B)に示す例では、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット番号[2−0]に“110”や“111”が設定された場合には、その設定は無効である。また、データRL02LS0〜RL02LS2は、初期値として“000”が設定されている。
図26(A)は、RLnハードラッチ選択レジスタ(RLnLS)の構成例を示している。図26(B)は、RLnハードラッチ選択レジスタ(RLnLS)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図26において、nは0〜3の値をとる。RLnハードラッチ選択レジスタ(RLnLS)のビット番号[7]に格納されるデータRLn1RFは、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、外部端子入力により、16ビット乱数RLnの値を取り込む際の条件の設定を示している。図26(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn1RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRLn1RFは、初期値として“0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に格納されるデータRLn1LS0〜RLn1LS2は、RLnハードラッチ乱数値レジスタ1(RLnHV1)に、どの外部端子入力により、16ビット乱数RLnの値を取り込むかの設定を示している。図26(B)に示す例では、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[6−4]に“110”や“111”が設定された場合には、その設定は無効である。また、データRLn1LS0〜RLn1LS2は、初期値として“000”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[3]に格納されるデータRLn0RFは、RLnハードラッチ乱数値レジスタ0(RLnHV0)に、外部端子入力により、16ビット乱数RLnの値を取り込む際の条件の設定を示している。図26(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRLn0RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRLn0RFは、初期値として“0”が設定されている。
RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に格納されるデータRLn0LS0〜RLn0LS2は、RLnハードラッチ乱数値レジスタ0(RLnHV0)に、どの外部端子入力により、16ビット乱数RLnの値を取り込むかの設定を示している。図26(B)に示す例では、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RLnハードラッチ選択レジスタ(RLnLS)のビット番号[2−0]に“110”や“111”が設定された場合には、その設定は無効である。また、データRLn0LS0〜RLn0LS2は、初期値として“000”が設定されている。
図27(A)は、RSハードラッチ選択レジスタ0(RSLS0)の構成例を示している。図27(B)は、RSハードラッチ選択レジスタ0(RSLS0)に格納されるデータの各ビットにおける設定内容の一例を示している。RSハードラッチ選択レジスタ0(RSLS0)のビット番号[7]に格納されるデータRS1RFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、外部端子入力により、8ビット乱数RS1の値を取り込む際の条件の設定を示している。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS1RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRS1RFは、初期値として“0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に格納されるデータRS1LS0〜RS1LS2は、RS1ハードラッチ乱数値レジスタ(RS1HV)に、どの外部端子入力により、8ビット乱数RS1の値を取り込むかの設定を示している。図27(B)に示す例では、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[6−4]に“110”や“111”が設定された場合には、その設定は無効である。また、データRS1LS0〜RS1LS2は、初期値として“000”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[3]に格納されるデータRS0RFは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、外部端子入力により、8ビット乱数RS0の値を取り込む際の条件の設定を示している。図27(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS0RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRS0RFは、初期値として“0”が設定されている。
RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に格納されるデータRS0LS0〜RS0LS2は、RS0ハードラッチ乱数値レジスタ(RS0HV)に、どの外部端子入力により、8ビット乱数RS0の値を取り込むかの設定を示している。図27(B)に示す例では、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RSハードラッチ選択レジスタ0(RSLS0)のビット番号[2−0]に“110”や“111”が設定された場合には、その設定は無効である。また、データRS0LS0〜RS0LS2は、初期値として“000”が設定されている。
図28(A)は、RSハードラッチ選択レジスタ1(RSLS1)の構成例を示している。図28(B)は、RSハードラッチ選択レジスタ1(RSLS1)に格納されるデータの各ビットにおける設定内容の一例を示している。RSハードラッチ選択レジスタ1(RSLS1)のビット番号[7]に格納されるデータRS3RFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、外部端子入力により、8ビット乱数RS3の値を取り込む際の条件の設定を示している。図28(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS3RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRS3RFは、初期値として“0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[6−4]に格納されるデータRS3LS0〜RS3LS2は、RS3ハードラッチ乱数値レジスタ(RS3HV)に、どの外部端子入力により、8ビット乱数RS3の値を取り込むかの設定を示している。図28(B)に示す例では、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[6−4]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RSハードラッチ選択レジスタ0(RSLS1)のビット番号[6−4]に“110”や“111”が設定された場合には、その設定は無効である。また、データRS3LS0〜RS3LS2は、初期値として“000”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[3]に格納されるデータRS2RFは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、外部端子入力により、8ビット乱数RS2の値を取り込む際の条件の設定を示している。図28(B)に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データRS2RFのビット値が“0”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“1”となる。尚、データRS2RFは、初期値として“0”が設定されている。
RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に格納されるデータRS2LS0〜RS2LS2は、RS2ハードラッチ乱数値レジスタ(RS2HV)に、どの外部端子入力により、8ビット乱数RS2の値を取り込むかの設定を示している。図28(B)に示す例では、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に“000”が設定された場合にはPI0端子が選択され、“001”が設定された場合にはPI1端子が選択され、“010”が設定された場合にはPI2端子が選択され、“011”が設定された場合にはPI3端子が選択され、“100”が設定された場合にはPI4端子が選択され、“101”が設定された場合にはPI5/XINT端子が選択される。尚、RSハードラッチ選択レジスタ1(RSLS1)のビット番号[2−0]に“110”や“111”が設定された場合には、その設定は無効である。また、データRS2LS0〜RS2LS2は、初期値として“000”が設定されている。
図29(A)は、RL割り込み制御レジスタ0(RLIC0)の構成例を示している。図29(B)は、RL割り込み制御レジスタ0(RLIC0)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RL割り込み制御レジスタ0(RLIC0)のビット[7−6]のビット値は必ず“0”とされる。
RL割り込み制御レジスタ0(RLIC0)のビット番号[5]に格納されるデータRL11IEは、RL1ハードラッチ乱数値レジスタ1(RL1HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL11IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL11IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[4]に格納されるデータRL10IEは、RL1ハードラッチ乱数値レジスタ0(RL1HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL10IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL10IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[3]に格納されるデータRL03IEは、RL0ハードラッチ乱数値レジスタ3(RL0HV3)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL03IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL03IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[2]に格納されるデータRL02IEは、RL0ハードラッチ乱数値レジスタ2(RL0HV2)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL02IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL02IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に格納されるデータRL01IEは、RL0ハードラッチ乱数値レジスタ1(RL0HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL01IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL01IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ0(RLIC0)のビット番号[1]に格納されるデータRL00IEは、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図29(B)に示す例では、割り込み禁止に設定した場合には、データRL00IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL00IEは、初期値として“0”が設定されている。
図30(A)は、RL割り込み制御レジスタ1(RLIC1)の構成例を示している。図30(B)は、RL割り込み制御レジスタ1(RLIC1)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RL割り込み制御レジスタ1(RLIC1)のビット[7−6]及びビット[3−2]のビット値は必ず“0”とされる。
RL割り込み制御レジスタ1(RLIC1)のビット番号[5]に格納されるデータRL31IEは、RL3ハードラッチ乱数値レジスタ1(RL3HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL31IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL31IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[4]に格納されるデータRL30IEは、RL3ハードラッチ乱数値レジスタ0(RL3HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL30IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL30IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[1]に格納されるデータRL21IEは、RL2ハードラッチ乱数値レジスタ1(RL2HV1)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL21IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL21IEは、初期値として“0”が設定されている。
RL割り込み制御レジスタ1(RLIC1)のビット番号[0]に格納されるデータRL20IEは、RL2ハードラッチ乱数値レジスタ0(RL2HV0)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図30(B)に示す例では、割り込み禁止に設定した場合には、データRL20IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRL20IEは、初期値として“0”が設定されている。
図31(A)は、RS割り込み制御レジスタ(RSIC)の構成例を示している。図31(B)は、RS割り込み制御レジスタ(RSIC)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RS割り込み制御レジスタ(RSIC)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RS割り込み制御レジスタ(RSIC)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示している。
RS割り込み制御レジスタ(RSIC)のビット番号[3]に格納されるデータRS3IEは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図31(B)に示す例では、割り込み禁止に設定した場合には、データRS3IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRS3IEは、初期値として“0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[2]に格納されるデータRS2IEは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図31(B)に示す例では、割り込み禁止に設定した場合には、データRS2IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRS2IEは、初期値として“0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[1]に格納されるデータRS1IEは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図31(B)に示す例では、割り込み禁止に設定した場合には、データRS1IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRS1IEは、初期値として“0”が設定されている。
RS割り込み制御レジスタ(RSIC)のビット番号[0]に格納されるデータRS0IEは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを要因とする割り込みの禁止/許可の設定を示している。図31(B)に示す例では、割り込み禁止に設定した場合には、データRS0IEのビット値が“0”となる一方、割り込み許可に設定した場合には、そのビット値が“1”となる。尚、データRS0IEは、初期値として“0”が設定されている。
図32(A)は、RLn最大値設定レジスタ(RLnMX)の構成例を示している。図32(B)は、RLn最大値設定レジスタ(RLnMX)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図32において、nは0〜3の値をとる。図32(B)に示すように、RLn最大値設定レジスタ(RLnMX)のビット番号[15−0]に格納されるデータRLnMX15〜RLnMX0は、16ビット乱数RLnの最大値が設定される。
図33(A)は、RSn最大値設定レジスタ(RSnMX)の構成例を示している。図33(B)は、RSn最大値設定レジスタ(RSnMX)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図33において、nは0〜3の値をとる。図33(B)に示すように、RSn最大値設定レジスタ(RSnMX)のビット番号[7−0]に格納されるデータRSnMX7〜RSnMX0は、8ビット乱数RSnの最大値が設定される。
図34(A)は、乱数列変更レジスタ(RDSC)の構成例を示している。図34(B)は、乱数列変更レジスタ(RDSC)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数列変更レジスタ(RDSC)のビット番号[7]に格納されるデータRS3SCは、8ビット乱数RS3の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRS3SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS3SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[6]に格納されるデータRS2SCは、8ビット乱数RS2の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRS2SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS2SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[5]に格納されるデータRS1SCは、8ビット乱数RS1の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRS1SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS1SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[4]に格納されるデータRS0SCは、8ビット乱数RS0の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRS0SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS0SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[3]に格納されるデータRL3SCは、16ビット乱数RL3の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRL3SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL3SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[2]に格納されるデータRL2SCは、16ビット乱数RL2の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRL2SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL2SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[1]に格納されるデータRL1SCは、16ビット乱数RL1の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRL1SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL1SCは、初期値として“0”が設定されている。
乱数列変更レジスタ(RDSC)のビット番号[0]に格納されるデータRL0SCは、16ビット乱数RL0の乱数列変更要求ビットを示している。図34(B)に示す例では、乱数列を変更しないに設定した場合には、データRL0SCのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL0SCは、初期値として“0”が設定されている。
図35(A)は、乱数ソフトラッチレジスタ(RDSL)の構成例を示している。図35(B)は、乱数ソフトラッチレジスタ(RDSL)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチレジスタ(RDSL)のビット番号[7]に格納されるデータRS3SLは、8ビット乱数RS3の乱数値を、RS3ソフトラッチ乱数値レジスタ(RS3SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS3SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS3SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[6]に格納されるデータRS2SLは、8ビット乱数RS2の乱数値を、RS2ソフトラッチ乱数値レジスタ(RS2SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS2SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS2SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[5]に格納されるデータRS1SLは、8ビット乱数RS1の乱数値を、RS1ソフトラッチ乱数値レジスタ(RS1SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS1SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS1SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[4]に格納されるデータRS0SLは、8ビット乱数RS0の乱数値を、RS0ソフトラッチ乱数値レジスタ(RS0SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRS0SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRS0SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[3]に格納されるデータRL3SLは、16ビット乱数RL3の乱数値を、RL3ソフトラッチ乱数値レジスタ(RL3SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL3SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL3SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[2]に格納されるデータRL2SLは、16ビット乱数RL2の乱数値を、RL2ソフトラッチ乱数値レジスタ(RL2SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL2SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL2SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[1]に格納されるデータRL1SLは、16ビット乱数RL1の乱数値を、RL1ソフトラッチ乱数値レジスタ(RL1SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL1SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL1SLは、初期値として“0”が設定されている。
乱数ソフトラッチレジスタ(RDSL)のビット番号[0]に格納されるデータRL0SLは、16ビット乱数RL0の乱数値を、RL0ソフトラッチ乱数値レジスタ(RL0SV)に取り込むためのビットを示している。図35(B)に示す例では、乱数値を取り込まないに設定した場合には、データRL0SLのビット値が“0”となる一方、乱数列を変更するに設定した場合には、そのビット値が“1”となる。尚、データRL0SLは、初期値として“0”が設定されている。
図36(A)は、乱数ソフトラッチフラグレジスタ(RDSF)の構成例を示している。図36(B)は、乱数ソフトラッチフラグレジスタ(RDSF)に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[7]に格納されるデータRS3SFは、RS3ソフトラッチ乱数値レジスタ(RS3SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRS3SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS3SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[6]に格納されるデータRS2SFは、RS2ソフトラッチ乱数値レジスタ(RS2SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRS2SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS2SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[5]に格納されるデータRS1SFは、RS1ソフトラッチ乱数値レジスタ(RS1SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRS1SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS1SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[4]に格納されるデータRS0SFは、RS0ソフトラッチ乱数値レジスタ(RS0SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRS0SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS0SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[3]に格納されるデータRL3SFは、RL3ソフトラッチ乱数値レジスタ(RL3SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRL3SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL3SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[2]に格納されるデータRL2SFは、RL2ソフトラッチ乱数値レジスタ(RL2SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRL2SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL2SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[1]に格納されるデータRL1SFは、RL1ソフトラッチ乱数値レジスタ(RL1SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRL1SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL1SFは、初期値として“0”が設定されている。
乱数ソフトラッチフラグレジスタ(RDSF)のビット番号[0]に格納されるデータRL0SFは、RL0ソフトラッチ乱数値レジスタ(RL0SV)に、乱数値が取り込まれたことを示している。図36(B)に示す例では、乱数値が取り込まれていない場合には、データRL0SFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL0SFは、初期値として“0”が設定されている。
図37(A)は、RLnソフトラッチ乱数値レジスタ(RLnSV)の構成例を示している。図37(B)は、RLnソフトラッチ乱数値レジスタ(RLnSV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図37において、nは0〜3の値をとる。図37(B)に示すように、RLnソフトラッチ乱数値レジスタ(RLnSV)のビット番号[15−0]に格納されるデータRLnSV15〜RLnSV0は、乱数ソフトラッチレジスタ(RDSL)により取り込まれた16ビット乱数RLnの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに“1”がセットされる。
図38(A)は、RSnソフトラッチ乱数値レジスタ(RSnSV)の構成例を示している。図38(B)は、RSnソフトラッチ乱数値レジスタ(RSnSV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図38において、nは0〜3の値をとる。図38(B)に示すように、RSnソフトラッチ乱数値レジスタ(RSnSV)のビット番号[7−0]に格納されるデータRSnSV7〜RSnSV0は、乱数ソフトラッチレジスタ(RDSL)により取り込まれた8ビット乱数RSnの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ(RDSF)の該当するビットに“1”がセットされる。
図39(A)は、RLハードラッチフラグレジスタ0(RLHF0)の構成例を示している。図39(B)は、RLハードラッチフラグレジスタ0(RLHF0)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RLハードラッチフラグレジスタ0(RLHF0)のビット[7−6]のビット値は必ず“0”とされる。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[5]に格納されるデータRL11HFは、RL1ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL11HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL11HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[4]に格納されるデータRL10HFは、RL1ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL10HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL10HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[3]に格納されるデータRL03HFは、RL0ハードラッチ乱数値レジスタ3に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL03HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL03HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[2]に格納されるデータRL02HFは、RL0ハードラッチ乱数値レジスタ2に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL02HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL02HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[1]に格納されるデータRL01HFは、RL0ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL01HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL01HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ0(RLHF0)のビット番号[0]に格納されるデータRL00HFは、RL0ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図39(B)に示す例では、乱数値が取り込まれていない場合には、データRL00HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL00HFは、初期値として“0”が設定されている。
図40(A)は、RLハードラッチフラグレジスタ1(RLHF1)の構成例を示している。図40(B)は、RLハードラッチフラグレジスタ1(RLHF1)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RLハードラッチフラグレジスタ1(RLHF1)のビット[7−6]及びビット[3−2]のビット値は必ず“0”とされる。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[5]に格納されるデータRL31HFは、RL3ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL31HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL31HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[4]に格納されるデータRL30HFは、RL3ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL30HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL30HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に格納されるデータRL21HFは、RL2ハードラッチ乱数値レジスタ1に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL21HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL21HFは、初期値として“0”が設定されている。
RLハードラッチフラグレジスタ1(RLHF1)のビット番号[1]に格納されるデータRL20HFは、RL2ハードラッチ乱数値レジスタ0に、乱数値が取り込まれたことを示している。図40(B)に示す例では、乱数値が取り込まれていない場合には、データRL20HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRL20HFは、初期値として“0”が設定されている。
図41(A)は、RSハードラッチフラグレジスタ(RSHF)の構成例を示している。図41(B)は、RSハードラッチフラグレジスタ(RSHF)に格納されるデータの各ビットにおける設定内容の一例を示している。尚、RSハードラッチフラグレジスタ(RSHF)は、8ビット乱数回路508aとフリーランカウンタ回路507とで兼用で用いられるレジスタであり、RSハードラッチフラグレジスタ(RSHF)のビット[7−4]は、フリーランカウンタ507が用いるハードラッチレジスタ(FRC0ハードラッチレジスタ(FR0HV)〜FRC3ハードラッチレジスタ(FR3HV))に関する設定を示している。
RSハードラッチフラグレジスタ(RSHF)のビット番号[3]に格納されるデータRS3HFは、RS3ハードラッチ乱数値レジスタ(RS3HV)に、乱数値が取り込まれたことを示している。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRS3HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS3HFは、初期値として“0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[2]に格納されるデータRS2HFは、RS2ハードラッチ乱数値レジスタ(RS2HV)に、乱数値が取り込まれたことを示している。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRS2HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS2HFは、初期値として“0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[1]に格納されるデータRS1HFは、RS1ハードラッチ乱数値レジスタ(RS1HV)に、乱数値が取り込まれたことを示している。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRS1HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS1HFは、初期値として“0”が設定されている。
RSハードラッチフラグレジスタ(RSHF)のビット番号[0]に格納されるデータRS0HFは、RS0ハードラッチ乱数値レジスタ(RS0HV)に、乱数値が取り込まれたことを示している。図41(B)に示す例では、乱数値が取り込まれていない場合には、データRS0HFのビット値が“0”となる一方、乱数値を取り込み済みである場合には、そのビット値が“1”となる。尚、データRS0HFは、初期値として“0”が設定されている。
図42(A)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)の構成例を示している。図42(B)は、RL0ハードラッチ乱数値レジスタm(RL0mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図42において、mは0〜3の値をとる。図42(B)に示すように、RL0ハードラッチ乱数値レジスタm(RL0mHV)のビット番号[15−0]に格納されるデータRL0mHV15〜RL0mHV0は、外部端子入力により取り込まれた16ビット乱数RL0の値が格納される。尚、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに“1”がセットされる。
図43(A)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)の構成例を示している。図43(B)は、RL1ハードラッチ乱数値レジスタm(RL1mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図43において、mは0〜3の値をとる。図43(B)に示すように、RL1ハードラッチ乱数値レジスタm(RL1mHV)のビット番号[15−0]に格納されるデータRL1mHV15〜RL1mHV0は、外部端子入力により取り込まれた16ビット乱数RL1の値が格納される。尚、乱数値が取り込まれると、RLハードラッチフラグレジスタ0(RLHF0)の該当するビットに“1”がセットされる。
図44(A)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)の構成例を示している。図44(B)は、RL2ハードラッチ乱数値レジスタm(RL2mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図44において、mは0〜3の値をとる。図44(B)に示すように、RL2ハードラッチ乱数値レジスタm(RL2mHV)のビット番号[15−0]に格納されるデータRL2mHV15〜RL2mHV0は、外部端子入力により取り込まれた16ビット乱数RL2の値が格納される。尚、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに“1”がセットされる。
図45(A)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)の構成例を示している。図45(B)は、RL3ハードラッチ乱数値レジスタm(RL3mHV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図45において、mは0〜3の値をとる。図45(B)に示すように、RL3ハードラッチ乱数値レジスタm(RL3mHV)のビット番号[15−0]に格納されるデータRL3mHV15〜RL3mHV0は、外部端子入力により取り込まれた16ビット乱数RL3の値が格納される。尚、乱数値が取り込まれると、RLハードラッチフラグレジスタ1(RLHF1)の該当するビットに“1”がセットされる。
図46(A)は、RSnハードラッチ乱数値レジスタ(RSnHV)の構成例を示している。図46(B)は、RSnハードラッチ乱数値レジスタ(RSnHV)に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図46において、nは0〜3の値をとる。図46(B)に示すように、RSnハードラッチ乱数値レジスタ(RLnHV)のビット番号[70]に格納されるデータRSnHV7〜RSnHV0は、外部端子入力により取り込まれた8ビット乱数RSnの値が格納される。尚、乱数値が取り込まれると、RSハードラッチフラグレジスタ(RSHF)の該当するビットに“1”がセットされる。
図5に示すメイン制御部41が備えるタイマ回路509は、8ビットプログラマブルタイマであり、メイン制御部41は、タイマ回路509として、8ビットのカウンタを3チャネル備える。本実施例では、タイマ回路509を用いてユーザプログラムによる設定により、リアルタイム割り込み要求や時間計測を行うことが可能である。
図5に示すメイン制御部41が備える割り込みコントローラ510は、PI5/XINT端子からの外部割り込み要求や、内蔵の周辺回路(例えば、シリアル通信回路512、乱数回路508a,508b、タイマ回路509)からの割り込み要求を制御する回路である。
図5に示すメイン制御部41が備えるパラレル入力ポート511は、8ビット幅の入力専用ポート(PIP)を内蔵する。また、図5に示すメイン制御部41が備えるパラレル出力ポート513は、11ビット幅の出力専用ポート(POP)を内蔵する。
図5に示すメイン制御部41が備えるシリアル通信回路512は、外部に対する入出力において非同期シリアル通信を行う回路である。尚、メイン制御部41は、シリアル通信回路512として、送受信両用の1チャネルの回路と、送信用のみの3チャネルの回路とを備える。
図5に示すメイン制御部41が備えるアドレスデコード回路514は、メイン制御部41の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部41の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU41aからのアクセスが可能となる。
本実施例においてメイン制御部41は、パラレル出力ポート513を介してサブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート513を介してサブ制御部91に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路512を介してサブ制御部91に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
また、メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態がパラレル入力ポート511から入力される。そしてメイン制御部41は、これらパラレル入力ポート511から入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
また、メイン制御部41は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路509にてタイムアウトが発生したこと、すなわち一定時間間隔(本実施例では、約0.56ms)毎に後述するタイマ割込処理(メイン)を実行する。
また、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
メイン制御部41は、基本処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
演出制御基板90には、演出用スイッチ56が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。
演出制御基板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からの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95、演出制御基板90に接続された演出用スイッチ56から入力された検出信号を検出するスイッチ検出回路96、日付情報及び時刻情報を含む時間情報を出力する時計装置97、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98、その他の回路等、が搭載されており、サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。
また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定6からさらに操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をon状態とすれば良い。このような状況で設定キースイッチ37をon状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をoff状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
本実施例のスロットマシン1においては、メイン制御部41は、タイマ割込処理(メイン)を実行する毎に、電断検出回路48からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、電断処理(メイン)を実行する。電断処理(メイン)では、レジスタを後述するRAM41cのスタックに退避し、RAM41cにいずれかのビットが1となる破壊診断用データ(本実施例では、5AH)、すなわち0以外の特定のデータを格納するとともに、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM41cに格納する処理を行うようになっている。尚、RAMパリティとはRAM41cの該当する領域(本実施例では、全ての領域)の各ビットに格納されている値の排他的論理和として算出される値である。このため、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0であれば、RAMパリティ調整用データは0となり、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが1であれば、RAMパリティ調整用データは1となる。
そして、メイン制御部41は、システムリセットによるかユーザリセットによるかに関わらず、その起動時においてRAM41cの全ての領域に格納されたデータに基づいてRAMパリティを計算するとともに、破壊診断用データの値を確認し、RAMパリティが0であり、かつ破壊診断用データの値も正しいことを条件に、RAM41cに記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)や破壊診断用データの値が正しくない場合には、RAM異常と判定し、RAM異常エラーコードをレジスタにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、RAM異常エラー状態は、通常のエラー状態と異なり、リセットスイッチ23やリセット/設定スイッチ38を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されるまで解除されることがない。
尚、本実施例では、RAM41cに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メイン制御部41は、電源投入時においてRAM41cのデータが正常であると判定した場合に、RAM41cの格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM41cに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。
次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域は、重要ワーク、非保存ワーク、一般ワーク、特別ワーク、未使用領域、スタック領域に区分されている。
重要ワークは、各種表示器やLEDの表示用データ、I/Oの入出力データ、遊技時間の計時カウンタ等、初期化すると不都合があるデータが格納されるワークである。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にRAM41cのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、BB中のメダル払出総数等、BB終了時に初期化可能なデータが格納されるワークである。特別ワークは、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。未使用領域は、RAM41cの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなる。スタック領域は、メイン制御部41のレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか1つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
本実施例においてメイン制御部41は、設定キースイッチ37がonの状態での起動時、RAM異常エラー発生時、BB終了時、設定キースイッチ37がoffの状態での起動時でRAM41cのデータが破壊されていないとき、1ゲーム終了時の5つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化を行う。
初期化1は、起動時において設定キースイッチ37がonの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはRAM異常エラー発生時に行う初期化であり、初期化1では、RAM41cの格納領域のうち、重要ワーク及び使用中スタック領域を除く全ての領域(未使用領域及び未使用スタック領域を含む)、すなわち非保存ワークから未使用スタック領域までの領域が初期化される。初期化2は、BB終了時に行う初期化であり、初期化2では、RAM41cの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域、すなわち一般ワークから未使用スタック領域までの領域が初期化される。初期化3は、起動時において設定キースイッチ37がoffの状態であり、かつRAM41cのデータが破壊されていない場合において行う初期化であり、初期化3では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、RAM41cの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
尚、本実施例では、初期化1を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行うようにしても良い。
本実施例のスロットマシン1は、前述のように遊技状態(RT0〜5、RB、BB(RB))に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。
本実施例のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ)上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。役は、同一図柄の組み合わせであっても良いし、異なる図柄を含む組み合わせであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組み合わせが揃うまで有効とされ、許容された役の組み合わせが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組み合わせを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、乱数回路508bのチャネルRL0により生成され、RL0ハードラッチ乱数値レジスタ0(RL0HV0)に格納されている値をRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態及びRTの種類、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
尚、既に、図24で説明したように、RL0ハードラッチ選択レジスタ0(RL0LS0)のビット2−0の設定内容によりいずれかの端子からの信号(ラッチ信号)に基づいて、乱数回路508bのチャネルRL0のRL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、スタートスイッチ7が操作されたタイミングで乱数回路508bのチャネルRL0におけるRL0ハードラッチ乱数値レジスタ0(RL0HV0)に乱数値をラッチできるように構成されている。
内部抽選では、内部抽選の対象となる役、現在の遊技状態、現在のRTの種別及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組み合わせにも当選しなかった場合には、一般役格納ワークのみクリアする。
尚、本実施例の内部抽選では、抽選対象役の判定値数を内部抽選用の乱数値に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される構成であるが、抽選対象役の判定値数を内部抽選用の乱数値から順次減算し、減算の結果がオーバーフローしたときに、当該役に当選したものと判定される構成としても良い。
また、本実施例では、抽選対象役毎に当選と判定される判定値の数である判定値数を定めておくとともに、抽選対象役毎に判定値数を乱数値に順次加算(減算)し、オーバーフローした場合に、判定値数に対応する役の当選を判定する構成であるが、抽選対象役毎に当選と判定される乱数値の範囲を定めておくとともに、乱数値が属する範囲に対応する役の当選を判定する構成としても良い。
次に、リール2L、2C、2Rの停止制御について説明する。
メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bAに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
テーブルインデックスには、内部抽選による当選フラグの設定状態(以下、内部当選状態と呼ぶ)別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ32L、32C、32Rに、336ステップ(0〜335)の周期で1周するステッピングモータを用いている。すなわちリールモータ32L、32C、32Rを336ステップ駆動させることでリール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は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間(本実施例では4.1秒)以上であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していれば、その時点で当該ゲームにおけるリールの回転を開始させる。
一方、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間未満であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していなければ、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間に到達するまで待機し、所定の規制時間に到達した時点で当該ゲームにおけるリールの回転を開始させる。
すなわちメイン制御部41は、前のゲームにおけるリールの回転開始から所定の規制時間が経過していない場合には、この所定の規制時間が経過するまでゲームの進行を規制することで、1ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制するようになっている。
尚、本実施例では、前のゲームにおけるリールの回転開始から所定の規制時間が経過していない場合には、この所定の規制時間が経過するまでゲームの進行を規制することで、1ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成であるが、少なくとも1ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成であれば良く、1ゲームにおけるリールの回転開始以外の一のタイミング(例えば、ゲーム終了時など)からゲーム時間の計時を開始し、次のゲームにおける同じ一のタイミングまでに所定の規制時間が経過していれば遊技を進行可能とする一方、次のゲームにおける同じ一のタイミングまでに所定の規制時間が経過していなければ遊技を進行させず所定の規制時間が経過するまで待機し、所定の規制時間が経過した時点で遊技を進行可能とすることで、1ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成としても良い。
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。
本実施例では、メイン制御部41がサブ制御部91に対して、投入枚数コマンド、クレジットコマンド、内部当選コマンド、フリーズコマンド、準備出目停止コマンド、予告出目停止コマンド、結果出目停止コマンド、変動再開コマンド、リール遅延コマンド、リール回転開始コマンド、リール停止コマンド、入賞番号コマンド、払出開始コマンド、払出終了コマンド、復帰コマンド、遊技状態コマンド、RT情報コマンド、待機コマンド、打止コマンド、エラーコマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1バイトの拡張データとからなり、サブ制御部91は、種類データからコマンドの種類を判別できるようになっている。
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、MAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ7が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ7が操作されたことを特定可能である。
フリーズコマンドは、当該ゲームにおいて後述するフリーズ状態に制御するか否か、フリーズ状態に制御する場合にはその時期を特定可能なコマンドであり、内部当選コマンドの後に送信される。
準備出目停止コマンドは、フリーズ状態において後述の準備出目が停止した旨及びその後のスタートスイッチ7の操作によって後述の成功出目が停止するか、後述の失敗出目が停止するか、を特定可能なコマンドであり、フリーズ状態において準備出目が停止した時点で送信される。
予告出目停止コマンドは、後述する予告出目が停止した旨を特定可能なコマンドであり、フリーズ状態において成功出目が導出された後、予告出目が導出された時点で送信される。
結果出目停止コマンドは、成功出目または失敗出目が導出された旨を特定可能なコマンドであり、フリーズ状態において準備出目が停止した状態でスタートスイッチ7の操作が検出されることで成功出目または失敗出目が導出されたか、一定時間が経過して成功出目または失敗出目が導出された時点で送信される。
変動再開コマンドは、成功出目が導出された後、準備出目に向けて変動が開始した旨を特定可能なコマンドであり、成功出目の導出後(予告出目が導出された場合にはその後)、準備出目に向けて変動を開始させた時点で送信される。
リール遅延コマンドは、後述のフリーズ状態において実行されるリール演出後、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能なコマンドであり、より詳しくは、各リールの遅延時間を特定可能な後述の左、中、右リール用タイマ値が格納され、サブ制御部91側で、リールの加速時間などを加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能なコマンドであり、リール演出後、最初に回転を開始する左リールの回転開始前に送信される。
リール回転開始コマンドは、後述のフリーズ状態に制御されないゲームにおいてリールの回転の開始を通知するコマンドであり、リール2L、2C、2Rの回転が開始されたときに送信される。
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ8L、8C、8Rが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ8L、8C、8Rが操作されたことを特定可能である。
入賞番号コマンドは、入賞ラインLNに揃った図柄の組み合わせ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。
遊技状態コマンドは、現在の遊技状態(BB中、RB中、再遊技)を特定可能なコマンドであり、電断復帰時またはゲームの終了時に送信される。
RT情報コマンドは、次ゲームの遊技状態(RT0〜5のいずれか)を特定可能なコマンドであり、ゲームの終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部41の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部41の制御状態が初期化されたことを特定可能である。
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちon(開放状態)/off(閉状態)を示すコマンドであり、電源投入時、1ゲーム終了時(ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点)、ドア開放検出スイッチ25の検出状態が変化(onからoff、offからon)した時に送信される。
操作検出コマンドは、操作スイッチ類(MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)の検出状態(on/off)を示すコマンドであり、定期的に送信される。
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、前述したタイマ割込処理(メイン)のコマンド送信処理おいて送信される。
一方、ドアコマンドは、タイマ割込処理(メイン)のドア監視処理において生成され、ドアコマンド格納領域に格納される。ドアコマンド格納領域には、電源投入時または1ゲーム終了時にその時点のドア開放検出スイッチ25の検出状態を示すドアコマンドが格納され、ドア開放検出スイッチ25の検出状態が変化した時にその変化後の検出状態を示すドアコマンドが格納される。また、ドアコマンド格納領域に格納されたドアコマンドは、当該ドアコマンドが送信された後もクリアされることがなく、その後、新たに格納されるドアコマンドによって上書きされるようになっている。尚、電源投入時または1ゲーム終了時には、ドアコマンド格納領域に格納されているドアコマンドの送信を要求するドアコマンド送信要求1が設定され、ドアコマンド送信要求1が設定されているか、ドア開放検出スイッチ25の検出状態が変化したときに、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。
また、操作検出コマンドは、タイマ割込処理(メイン)のスイッチ入力判定処理においてに生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。
次に、メイン制御部41が演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。
サブ制御部91は、メイン制御部41からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
受信用バッファには、最大で16個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
サブ制御部91は、タイマ割込処理(サブ)において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の出力制御を行う。
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLEDの点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部91は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
尚、サブ制御部91は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブ制御部91が、賭数が設定された旨を示す投入枚数コマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブ制御部91が、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブ制御部91は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
次に、メイン制御部41の動作について説明する。まず、本実施例では、既に説明したように、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときに、ユーザリセットを発生させるかシステムリセットを発生させるかを可能である(図13参照)。図47は、リセット設定(KRES)での設定内容によるリセット動作の違いを説明するための説明図である。
まず、図47(A)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにシステムリセットを発生させるように設定した場合について説明する。この場合、図47(A)に示すように、スロットマシン1に対して電源が投入され電力供給が開始されると、メイン制御部41は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定などメイン制御部41の各種設定をハードウェア的に行う(ステップS1001)。具体的には、プログラム管理エリアの図13に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図14〜図18に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。尚、図47(A)に示す例では、メイン制御部41は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてシステムリセットを設定する。また、プログラム管理エリアの設定内容は予めスロットマシン1の製作時に製造メーカー(ユーザ)によって設定されているものとする。
メイン制御部41の各種設定を完了すると、メイン制御部41は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1002)。ステップS1002で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップS1003に移行し、認証コードが正しくなければ、CPU41aを停止する。尚、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図19に示すセキュリティ時間設定(KSES)の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図19に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1001の設定が行われることによりセキュリティモード時間が設定される。尚、認証コードは、予めスロットマシン1の製作時の内蔵ROM41bへの書き込み時にスロットマシン1の製造メーカー(ユーザ)によってユーザプログラムとともに書き込まれているものとする。
そして、セキュリティチェックを終了すると、メイン制御部41は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図49の起動処理(メイン)や図50に示すゲーム処理等の実行を開始する。
次いで、ユーザプログラムが実行されているときに、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したものとする。図47(A)に示す例では、ステップS1001で内部リセット動作の設定としてシステムリセットが設定されていることから、タイムアウト信号やIAT信号の発生に基づいてシステムリセットが発生する。
そして、ステップS1001と同様に、メイン制御部41は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定などメイン制御部41の各種設定をハードウェア的に行う(ステップS1005)。また、メイン制御部41の各種設定を完了すると、ステップS1002と同様に、メイン制御部41は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1006)。
そして、セキュリティチェックを終了すると、ステップS1003と同様に、メイン制御部41は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図49の起動処理(メイン)の実行を再び開始する。
以降、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1004〜S1007の動作が実行される。尚、図47(A)において、ステップS1001,S1002の具体的な処理内容とステップS1005,S1006の具体的な処理内容とは同じである。
次に、図47(B)を用いてウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したときにユーザリセットを発生させるように設定した場合について説明する。この場合、図47(B)に示すように、スロットマシン1に対して電源が投入され電力供給が開始されると、メイン制御部41は、CPUコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路508a,508bの設定などメイン制御部41の各種設定をハードウェア的に行う(ステップS1011)。具体的には、プログラム管理エリアの図13に示すリセット設定(KRES)の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図14〜図18に示す16ビット乱数初期設定1(KRL1)〜8ビット乱数初期設定2(KRS2)の設定内容に従って乱数回路508a,508bの設定を行ったりする。尚、図47(B)に示す例では、メイン制御部41は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてユーザリセットを設定する。また、プログラム管理エリアの設定内容は予めスロットマシン1の製作時に製造メーカー(ユーザ)によって設定されているものとする。
メイン制御部41の各種設定を完了すると、メイン制御部41は、セキュリティモードに移行し、セキュリティチェックを実行する(ステップS1012)。ステップS1012で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップS1013に移行し、認証コードが正しくなければ、CPU41aを停止する。尚、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図19に示すセキュリティ時間設定(KSES)の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図19に示すセキュリティ時間設定(KSES)の設定内容に従ってステップS1011の設定が行われることによりセキュリティモード時間が設定される。尚、認証コードは、予めスロットマシン1の製作時の内蔵ROM41bへの書き込み時に製造メーカー(ユーザ)によってユーザプログラムとともに書き込まれているものとする。
そして、セキュリティチェックを終了すると、メイン制御部41は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図49の起動処理(メイン)の実行を開始する。
次いで、ユーザプログラムが実行されているときに、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生したものとする。図47(B)に示す例では、ステップS1011で内部リセット動作の設定としてユーザリセットが設定されていることから、タイムアウト信号やIAT信号の発生に基づいてユーザリセットが発生する。
ユーザリセットが発生した場合には、ステップS1011のメイン制御部41の各種設定やステップS1012のセキュリティチェックは実行されず、メイン制御部41の内部回路のうち、CPUコア、タイマ回路509、フリーランカウンタ回路507、演算回路505、パラレル入力ポート511、パラレル出力ポート513、シリアル通信回路512、及び割り込みコントローラ510などを初期化する。そして、そのままユーザプログラムの先頭のアドレスに戻り、ユーザプログラムの実行が先頭のアドレスから再び開始される(ステップS1015)。具体的には、後述する図49の起動処理(メイン)の実行を再び開始する。
以降、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号やIAT回路506aからのIAT信号が発生するごとに、ステップS1014〜S1015の動作が実行される。
また、本実施例では、メイン制御部41は、ユーザプログラムの実行中に内蔵RAM領域に格納されているデータを読み出す場合、そのデータが格納されている内蔵RAM領域の上位及び下位全てのアドレスを指定するのではなく、アドレスの下位のみを指定してデータを読み出すことが可能である。図48は、内蔵RAM領域に格納されているデータの読み出し方の例を示す説明図である。本実施例では、ユーザプログラムで参照されるデータは、内蔵RAM領域のうちのF000H〜F0FFH領域に格納されるものとし、データ格納領域のアドレスの上位が必ずF0Hとなるものとする。また、メイン制御部41は、データ格納領域の上位アドレスを固定値として格納しておくための専用のレジスタ(Qレジスタ)を備え、Qレジスタには固定値F0Hが設定されるものとする。
図48に示す例では、内蔵RAM領域のアドレスF020Hに格納されているデータを読み出す場合が示されている。この場合、Qレジスタを用いてデータを読み出すためのコマンドLDQを用いて、下位アドレス20Hのみを指定して、データの読み出し動作を行う(具体的には、LDQ A,(20H)を実行する)。すると、CPU41aは、データ格納領域の上位アドレスをQレジスタに設定されている固定値からF0Hと特定するとともに、LDQ命令で指定された下位アドレス20Hを特定し、上位及び下位を合わせたデータ格納領域のアドレスがF020Hであると特定する。そして、CPU41aは、特定したF020Hに対応するデータ格納領域に格納されているデータaを読み出し、レジスタAに格納する。
尚、Qレジスタの値は、システムリセット時にハードウェア的に初期化されて初期値F0Hに自動設定されるものとする。例えば、スロットマシン1に対して電源が投入され電力供給が開始されたときに、Qレジスタの下位4ビットは0に初期化されるとともに、上位4ビットは反転回路で反転されて全て値1となることによって、Qレジスタの初期値としてF0Hが自動設定される。尚、後述するように、本実施例では、ユーザプログラムの実行が開始されたときにも、ユーザプログラムによりQレジスタに初期値F0Hを設定する処理が実行される。
また、Qレジスタの初期値設定は、スロットマシン1に対して電源が投入され電力供給が開始されたときに行うハードウェア的な自動設定のみでも良いし、ユーザプログラムの開始時に実行されるユーザプログラムによる設定のみでも良い。
次に、メイン制御部41がシステムチェックを実行した後、ユーザモードに移行した後にユーザプログラムに従って実行する処理を説明する。ユーザモードに移行すると、メイン制御部41は、起動処理(メイン)の実行を開始する。
図49は、メイン制御部41が実行する起動処理(メイン)の制御内容を示すフローチャートである。
起動処理(メイン)では、まず割込を禁止に設定し(Sa1)、パラレル出力ポート513、内蔵レジスタを初期化する(Sa2、Sa3)。次いで電断検出回路48からの電圧低下信号が検出されているか否か、すなわち電圧が不安定な状態か否かを判定し(Sa4)、電圧低下信号が検出されている場合には、電圧低下信号が検出されなくなるまで待機する。
Sa4のステップにおいて電圧低下信号が検出されない場合には、割込発生時に実行するプログラムのアドレスをIレジスタに設定し(Sa5)、RAM41cへのアクセスを許可し(Sa6)、スタックポインタを設定し(Sa7)、Qレジスタに初期値F0Hを設定する(Sa8)。すなわちRAM41cへのアクセスを許可したタイミングでQレジスタに初期値F0Hが設定される。
次いで、RAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)のRAMパリティを計算し(Sa9)、RAMパリティが0か否かを判定する(Sa10)。正常に電断割込処理(メイン)が行われていれば、RAMパリティが0になるはずであり、Sa7のステップにおいてRAMパリティが0でなければ、RAM41cに格納されているデータが正常ではなく、この場合には、Sa14のステップに進む。
一方、Sa10のステップにおいてRAMパリティが0であれば、更に破壊診断用データが正常か否かを判定する(Sa11)。正常に電断割込処理(メイン)が行われていれば、破壊診断用データが設定されているはずであり、Sa11のステップにおいて破壊診断用データが正常でない場合(破壊診断用データが電断時に格納される5A(H)以外の場合)にも、RAM41cのデータが正常ではないので、Sa14のステップに進む。
Sa11のステップにおいて破壊診断用データが正常であると判定した場合には、RAM41cのデータは正常であるので、破壊診断用データをクリアし(Sa12)、RAM41cのデータが正常である旨を示すRAM正常フラグをRAM41cに設定し(Sa13)、Sa14のステップに進む。
Sa14のステップでは、設定キースイッチ37がonか否かを判定し、設定キースイッチ37がonであれば、RAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1を実行した後(Sa15)、割込を許可し(Sa16)、設定開始を示す設定コマンドをコマンドキューに設定する(Sa17)。Sa17のステップにおいて設定された設定コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に対して送信される。
Sa17のステップの後、設定値を変更可能な設定変更状態に制御される設定変更処理に移行し(Sa18)、新たに設定値が設定されることにより設定変更処理が終了した後、設定終了を示す設定コマンドをコマンドキューに設定し(Sa19)、ゲーム処理に移行する。Sa19のステップにおいて設定された設定コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に対して送信される。
Sa14のステップにおいて設定キースイッチ37がoffであれば、RAM正常フラグの設定の有無に基づいてRAM41cのデータが正常か否かを判定し(Sa20)、RAM41cのデータが正常でないと判定された場合には、Sa15と同様の初期化1を実行してRAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化し(Sa21)、割込を許可する(Sa22)。そして、RAM異常を示すエラーコードを設定し(Sa23)、RAM異常を示すエラーコマンドをコマンドキューに設定し(Sa24)、エラー処理、すなわちRAM異常エラー状態に移行する。Sa24のステップにおいて設定されたエラーコマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に対して送信される。また、RAM異常エラーは、通常のエラーと異なり、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
Sa20のステップにおいてRAM41cのデータが正常であると判定された場合には、RAM41cの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化3を行った後(Sa25)、スタックポインタを電断前の状態に復帰し(Sa26)、復帰コマンドをコマンドキューに設定する(Sa27)。Sa27のステップにおいて設定された復帰コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に対して送信される。次いで、パラレル入力ポート511に入力された各種スイッチ類等の検出信号の入力状態が格納される入力バッファを初期化し(Sa28)、パラレル出力ポート513の出力状態を電断前の状態に復帰し(Sa29)、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し(Sa30)、割込を許可して(Sa31)、電断前の最後に実行していた処理に戻る。
図50は、メイン制御部41が実行するゲーム処理の制御内容を示すフローチャートである。
ゲーム処理では、BET処理(Sd1)、内部抽選処理(Sd2)、リール回転処理(Sd3)、入賞判定処理(Sd4)、払出処理(Sd5)、ゲーム終了時処理(Sd6)を順に実行し、ゲーム終了時処理が終了すると、再びBET処理に戻る。
Sd1のステップにおけるBET処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。
Sd2のステップにおける内部抽選処理では、Sd1のステップにおけるスタートスイッチ7の検出時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、RAM41cに当選フラグが設定される。
Sd3のステップにおけるリール回転処理では、各リール2L、2C、2Rを回転させる処理、遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
Sd4のステップにおける入賞判定処理では、Sd3のステップにおいて全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
Sd5のステップにおける払出処理では、Sd4のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
Sd6のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
また、ゲーム処理では、ゲームの進行制御に応じてコマンドをコマンドキューに設定することで、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に送信されるようになっている。
図51は、メイン制御部41がSd1のステップにおいて実行するBET処理においてゲームを開始可能な状態でスタートスイッチ7の操作、すなわちスタートスイッチ7のoffからonへの変化が検出されたときに実行する乱数取得処理の制御内容を示すフローチャートである。
乱数取得処理ではまず、割込を禁止に設定する(Se1)、これによりゲームを開始可能な状態でスタートスイッチ7が操作されたにも関わらず、当該スタートスイッチ7の検出信号の入力に伴いラッチされた乱数値が取得されずに電断処理(メイン)が実行されることで、電断復帰時に乱数値が取得されていないにも関わらず、ゲームが開始してしまうことを防止する。
次いで、他のスイッチがonの状態か否かを判定し(Se2)、いずれかのスイッチがonの状態であれば割込を許可して(Se4)、BET処理におけるスタートスイッチ7の操作の検出待ちの状態に戻る。
Se2のステップにおいて他のスイッチがいずれもonの状態でなければさらにRAM41cに設定された賭数の規定数を参照し、RAM41cに割り当てられたBETカウンタの値が規定数であるか、すなわちゲームの開始条件となる賭数が設定されているか否かを判定する(Se3)。
Se3のステップにおいてBETカウンタの値が規定数でなければ、割込を許可して(Se4)、BET処理におけるスタートスイッチ7の操作の検出待ちの状態に戻る。
Se3のステップにおいてBETカウンタの値が規定数であれば、乱数異常が検出されているか否かを判定する(Se5)。
メイン制御部41は、乱数回路508bの動作異常(外部クロック周波数異常及び更新異常)を検出する機能を備えており、外部クロック周波数異常が検出された場合には、内部情報レジスタ(CIF)のビット3に“1”がセットされ、更新状態の異常が検出された場合には、内部情報レジスタ(CIF)のビット7〜4のうちの対応するビットに“1”がセットされるようになっている。このため、Se5のステップでは、内部情報レジスタ(CIF)ビット3、ビット7〜4の値のいずれかに“1”がセットされているか否かにより乱数異常が検出されているか否かを判定すれば良い。
Se5のステップにおいて乱数異常が検出されている場合には、乱数異常を示すエラーコードをレジスタに設定し(Se6)、乱数異常を示すエラーコマンドをコマンドキューに設定した後(Se7)、割込を許可して(Se8)、エラー処理に移行する。Se7のステップにおいて設定されたエラーコマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理にてサブ制御部91に対して送信される。また、乱数異常エラーは、RAM異常エラーと同様、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
Se5のステップにおいて乱数異常が検出されていない場合には、乱数回路508bのRL0ハードラッチ乱数値レジスタ0(RL0HV0)に格納されている値、すなわちスタートスイッチ7が操作されたタイミングでラッチされた乱数値をRAM41cに割り当てられた抽選用ワークに設定し(Se9)、割込を許可し(Se10)、ゲーム開始時の設定を行う(Se11)。そして、Se11のステップの後、BET処理を終了して図50のフローチャートに復帰する。すなわちSd2のステップにおける内部抽選処理に移行する。
図52は、メイン制御部41がSd2のステップにおいて実行する内部抽選処理の制御内容を示すフローチャートである。
内部抽選処理では、まず抽選用ワークに設定された乱数値をレジスタに設定し(Sf1)、現在の遊技状態、RTに応じた最初の抽選対象役を設定する(Sf2)。
次いで、設定された抽選対象役の現在の遊技状態、RT、設定値に対応する判定値数を取得し(Sf3)、取得した判定値数をレジスタに設定されている値に加算し(Sf4)、加算後の値がオーバーフローしたか否か、すなわち乱数値の総数(65536)を超えたか否かを判定する(Sf5)。
Sf5のステップにおいて加算後の値がオーバーフローしている場合には、対応する役、すなわち現在設定されている抽選対象役の当選フラグを内部当選フラグ格納ワークに設定し(Sf6)、内部抽選処理を終了し、図50に示すゲーム処理に復帰し、リール回転処理に移行する。
Sf5のステップにおいて加算後の値がオーバーフローしていない場合には、現在の遊技状態、RTに応じた全ての抽選対象役の判定が終了したか否かを判定し(Sf7)、全ての抽選対象役の判定が終了していない場合には次の抽選対象役を設定し、Sf3のステップに戻る。
Sf7のステップにおいて全ての抽選対象役の判定が終了している場合には、内部抽選処理を終了し、図50に示すゲーム処理に復帰し、リール回転処理に移行する。
図53は、メイン制御部がタイマ割込処理(メイン)において電断を検出したことに応じて実行する電断処理(メイン)の制御内容を示すフローチャートである。
電断処理(メイン)においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Sm1)。尚、前述したIレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
次いで、破壊診断用データ(本実施例では、5A(H))をセットして(Sm2)、パラレル出力ポート513を初期化する(Sm3)。次いでRAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算してRAM41cにセットし(Sm4)、RAM41cへのアクセスを禁止し(Sm5)、ループ処理に入る。
ループ処理では、電圧低下信号の出力状況を監視した状態で待機する(Sm6)。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。
以上の処理によって、電力供給が停止する場合には、電断処理(メイン)が実行され、破壊診断用データ及びRAMパリティ調整用データがバックアップRAMへストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされる。
尚、本実施例では、電源処理(メイン)においてチェックデータ(破壊診断用データ及びRAMパリティ調整用データ)の生成や出力ポートクリアなどの処理を終了した後、繰り返し電圧低下信号の入力を確認する電源断待ちループに移行するが、このような電圧低下信号の入力を確認する構成とはしないようにしても良い。この場合、例えば、ウオッチドッグタイマ(WTD)506bをユーザプログラムによって起動できるように設定した上で、電源断待ちループに入るときにウオッチドッグタイマ(WTD)506bを起動させるようにし、スロットマシン1が完全に電源断状態とならず電源の電圧値が完全に落ちきらないときにはウオッチドッグタイマ(WTD)506bからのタイムアウト信号によるリセットが発生するようにしても良い。
また、本実施例では、スロットマシン1への電源投入時に電源断信号が入力されているか否かを確認し、入力されていれば無限ループに移行し、その無限ループにおいて電圧低下信号の入力を確認し、その入力がなくなるまで無限ループを継続する構成であるが、このような構成において、上記と同様の態様で無限ループに入るときにウオッチドッグタイマ(WTD)506bを起動させ、同様の処理を行うように構成しても良い。
尚、ウオッチドッグタイマ(WTD)506bを起動させるように設定している場合には(ただし、上記のように電源断待ちループでのみウオッチドッグタイマ(WTD)506bを起動させるものを除く)、正常にCPU41aが動作しているときにはタイムアウトしないように、ウオッチドッグタイマ(WTD)506bをクリアする信号を出力するようにプログラムされる。具体的には、内蔵レジスタエリアに設けられているWDTクリアレジスタ(図示せず)にクリアするための値を書き込むようにプログラムされる。
本実施例では、RAM41cがバックアップ電源によって電源バックアップ(スロットマシン1への電力供給が停止しても所定期間はRAM41cの内容が保存されこと)されている。本実施例では、電断処理(メイン)において破壊診断用データも電圧低下信号が出力されたときのRAM41cの内容に基づくRAMパリティ調整用データもRAM41cのバックアップ領域に保存される。スロットマシン1への電力供給が停止した後、所定期間内に電力供給が復旧したら、メイン制御部41は、起動処理(メイン)によって、RAM41cに保存されているデータに従って、その制御状態を、電力供給が停止した直前の状態に戻すことができる。尚、電力供給停止の期間が所定期間を越えたらRAMパリティが0とならないか、RAMパリティが0となっても破壊診断用データが破損していることから、その場合には、RAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1が実行される。
このように、電断処理(メイン)(電力の供給停止のための準備処理)によって、メイン制御部41の遊技に関する制御状態を電力供給が停止した直前の状態に戻すためのデータが確実にRAM41cに保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、メイン制御部41の遊技に関する制御状態を電力供給が停止した直前の状態に戻すことができる。
また、電断処理(メイン)後、電圧低下信号がオフ状態になった場合には、ユーザモードの最初のステップ(起動処理(メイン))に戻る。その場合、電断処理(メイン)が正常に実行されているので、起動処理(メイン)によって制御状態の復旧処理が実行される。よって、電断処理(メイン)を実行した後に電圧低下信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、ゲームの進行に関する処理が停止してしまうようなことはなく、自動的に、ゲームの進行に関する処理が続行される。
尚、本実施例では、所定の処理(ゲーム処理、タイマ割込処理(メイン))の実行中に所定事象が発生(IAT回路506aからIAT信号を入力、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力)したときにRAM41c(バックアップRAM)の記憶内容を初期化する。具体的には、ゲーム処理、タイマ割込処理(メイン)の実行中に、IAT回路506aからIAT信号や、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したときには、電断処理(メイン)が実行されることなく、システムリセットまたはユーザリセット(図47のステップS1004,S1014参照)が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップS1007でユーザモードに移行されて図49に示す起動処理(メイン)の実行が再び開始され、ユーザリセットが発生した後にはステップS1015でユーザプログラムの先頭に戻り図49に示す起動処理(メイン)の実行が再び開始されるのであるが、RAM調整用データ及び破壊診断用データのいずれもセットされていないことから、起動処理(メイン)でRAM異常と判定されてRAM41cの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化1が実行されることになる。
尚、「所定の処理」とは、スロットマシン1への電源投入時の起動処理(メイン)において設定変更処理や復旧処理が実行された後、遊技可能となった状態で実行されている処理であり、上記に説明したように、具体的には、ゲーム処理、タイマ割込処理(メイン)が該当する。ただし、電源電圧低下により電断処理(メイン)が実行されているときは所定の処理からは除かれる。
また、本実施例では、電断処理(メイン)を実行した後に所定事象が発生(IAT回路506aからIAT信号を入力、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力)したときに、RAM41c(バックアップRAM)の記憶内容に基づいて制御状態を電断前の状態に復旧させる復旧処理を実行する。具体的には、電圧低下信号を入力したことに基づいて電断処理(メイン)を実行してループ処理を実行しているときに、ちょうどIAT回路506aからIAT信号や、ウオッチドッグタイマ(WDT)506bからタイムアウト信号を入力したときには(ただし、IAT回路506aからIAT信号した場合には、何らかの原因で指定エリア外のプログラムを実行している状態となってしまった場合であるので、より正確には、電断処理(メイン)のループ処理に一度移行した後にIAT回路506aからIAT信号した場合に相当する)、IAT信号やタイムアウト信号を入力したことに基づいてシステムリセットまたはユーザリセット(図47のステップS1004,S1014参照)が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップS1007でユーザモードに移行されて起動処理(メイン)の実行が再び開始され、ユーザリセットが発生した後にはステップS1015でユーザプログラムの先頭に戻り起動処理(メイン)の実行が再び開始されるのであるが、RAM調整用データ及び破壊診断用データの両方がセットされていることから、起動処理(メイン)でRAM41cが正常であると判定されて復旧処理が実行されることになる。
以上説明したように、本実施例では、所定事象が発生(本実施例では、IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)したことに基づいて第1リセット(システムリセット)を発生させるか第2リセット(ユーザリセット)を発生させるかを設定可能である(図13に示すリセット設定(KRES)のビット7参照)。そして、第1リセットの発生後にはセキュリティチェックを実行する一方、第2リセットの発生後にはセキュリティチェックを実行しない。そのため、スロットマシン1や遊技店の状況などに応じて所定事象が発生したときに行うリセットの種類を最適なものに設定できるので、メイン制御部41に関するセキュリティ性を向上させることができる。
尚、本実施例では、所定事象の発生として、IAT506aからのIAT信号を入力した場合と、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号を入力した場合とを示しているが、本実施例で示したものに限らず、メイン制御部41をリセットすべき何らかのエラーなどの状況が発生したことに基づいて、所定事象が発生したとしてリセットするものであっても良い。
また、本実施例では、所定事象の発生には、ウオッチドッグタイマ(WDT)506bのタイムアウトが含まれ、ウオッチドッグタイマ(WDT)506bを起動させるか否かを設定可能である(図13に示すリセット設定(KRES)のビット3−0に“0000”を設定する)。そして、ウオッチドッグタイマ(WDT)506bを起動させないと設定した場合であっても、所定事象が発生したことに基づいて第1リセットを発生させるか第2リセットを発生させるかを設定可能である。具体的には、図13に示すリセット設定(KRES)において、ビット3−0に“0000”を設定していても、ビット7の設定を行うことによってリセットの種類を設定可能である。そのため、ウオッチドッグタイマ(WDT)506bの設定にかかわらず、所定事象が発生したことに基づいて発生させるリセットの種類の設定を共通化することができる。
また、本実施例では、所定事象の発生には、指定された領域以外の領域に格納されたプログラムを実行する指定領域外実行(指定エリア外走行禁止(IAT)が含まれる。そして、メイン制御部41は、所定の処理として所定時間毎に発生するタイマ割込処に応じて実行されるタイマ割込処理(メイン)の実行中に指定領域外実行が発生(IAT回路506aからIAT信号を入力)した場合に、RAM41c(バックアップRAM)の記憶内容を初期化する(RAM異常に伴う初期化1)。そのため、意図しないプログラムが実行された場合のセキュリティ性を向上させることができる。
また、本実施例では、第1リセットを発生させると設定したときに、所定事象が発生して第1リセットを発生させた後、所定事象が発生したことに基づいて第1リセットを発生させるか第2リセットを発生させるかを再度設定する。具体的には、図47(A)に示すように、システムリセットが発生したときに、ステップS1005が実行されて、メイン制御部41の各種設定がハードウェア的に再度実行されることにより、システムリセットとするかユーザリセットとするかが再度設定される。そのため、異常な状態から正常な状態に確実に復旧させることができる。
尚、本実施例では、具体的には、所定事象が発生(IAT506aからのIAT信号の入力、ウオッチドッグタイマ(WDT)506bからのタイムアウト信号の入力)してシステムリセットが発生した後に、内部リセットの設定を再度設定する場合(図47(A)のステップS1005参照)を示しているが、ユーザリセットが発生した場合にもステップS1005と同様の処理を実行して内部リセットの設定を再度設定するようにしても良い。
また、本実施例では、16ビット乱数回路508bの数値保持手段(ハードラッチ乱数値レジスタやソフトラッチ乱数値レジスタ)が保持する数値データを更新するための乱数用クロック信号(外部クロック信号)の周波数の異常の発生と、数値保持手段が保持する数値データの更新状態とを監視可能な乱数回路監視手段(更新監視回路537)を備える。そのため、乱数用クロック信号の周波数の異常の発生を監視するとともに数値データの更新状態も監視できる。また、メイン制御部41は、スロットマシン1への電源投入時にステップS1001,S1011を実行して乱数回路508a,508bに関する設定をハードウェア的に行い、その後に、ユーザプログラムの実行中に乱数を抽出する処理を実行する。すなわち、本実施例では、乱数回路から数値データ(乱数値)を抽出するタイミングよりも前に、乱数回路の監視に関する設定が行われるように構成されているので、スロットマシン1が搭載する乱数回路(16ビット乱数回路508b)に関するセキュリティ性を向上させることができる。また、このようにセキュリティ性の高い乱数回路により生成された乱数を用いて内部抽選、すなわち入賞の発生を許容するか否かが決定されるので、遊技の公平性を高めることができる。
また、本実施例では、メイン制御部41が搭載する制御用CPU(CPU41a)は、第1情報(データ格納領域の上位アドレス)と第2情報(データ格納領域の下位アドレス)とに基づいて、読み出し対象のデータが格納された領域に対応するアドレスを特定し、特定したアドレスに対応する領域から読み出し対象のデータを読み出す。この場合、読み出し対象のデータを読み出すときに、格納手段(Qレジスタ)に格納された特定値(固定値として格納されている「F0H」)に基づいて第1情報を特定するとともに、制御命令で指定された第2情報(図48に示す例では、LDQコマンド(プログラムされている命令の1つ)で指定された「20H」)を特定する。そのため、格納手段(Qレジスタ)を用いることにより、データ格納領域のアドレスのうちの固定部分(上位アドレス)を毎回コマンドで指定する必要がなくなるので、データを読み出すために処理命令を行う際の無駄(アドレスの共通部分を指定するプログラムの無駄)を削減することができる。
また、本実施例では、制御用CPU(CPU41a)は、スロットマシン1への電力供給が開始された後、RAM41cへのアクセスが許可されるタイミングで、RAM41cに設けられた作業領域に対応するアドレスの一部を示す値(F0H)を特定値として格納手段(Qレジスタ)に格納する。そのため、RAM41cへのアクセスが許可されるタイミングで格納手段に特定値が格納されることによって、それ以降にRAM41cに設けられた作業領域に対応するアドレスを指定するためのプログラムの無駄を削減することができる。
尚、本実施例では、特定値の格納の仕方として、(1)RAM41cへのアクセスを許可するタイミングで特定値を格納手段に格納する処理と、(2)常に格納手段に特定値が格納されている状態としている構成との両方を備える場合を示している。具体的には、本実施例では、ユーザプログラムの実行が開始され起動処理(メイン)が開始されたときに、ユーザプログラムによりQレジスタに初期値F0Hを設定する処理が実行されるとともに、システムリセット時にハードウェア的に初期化されてQレジスタn値が初期値F0Hに自動設定されるものとする。例えば、スロットマシン1に対して電源が投入され電力供給が開始されたときに、Qレジスタの下位4ビットは0に初期化されるとともに、上位4ビットは反転回路で反転されて全て値1となることによって、Qレジスタの初期値としてF0Hが自動設定される。ただし、Qレジスタの初期値設定は、ユーザプログラムの開始時に実行されるユーザプログラムによる設定のみでも良いし、スロットマシン1に対して電源が投入され電力供給が開始されたときに行うハードウェア的な自動設定のみでも良い。
尚、本実施例において、スロットマシン1が搭載するメイン制御部41において制御命令として使用可能なコマンドには、所定のルールに従ってあるレジスタのデータと他の2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行可能なRLDコマンドやRRDコマンド(ともにプログラムされている命令の1つである)がある。例えば、RLDコマンドを用いてレジスタAのデータと2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行した場合、レジスタAの上位4ビットのデータはそのままで、レジスタAの下位4ビットのデータを2バイトのレジスタで指定されたアドレスの下位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットを2バイトのレジスタで指定されたアドレスの上位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットをレジスタAの下位4ビットに移すことが可能である。そして、この場合に、例えば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとして書き込み不能な領域のデータ(例えば、ROMエリアのデータ)を指定すれば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータをそのままにして、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットをレジスタAの下位4ビットに反映させる動作のみを実行させることもできる。
また、例えば、RRDコマンドを用いてレジスタAのデータと2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとの入れ替えを実行した場合、レジスタAの上位4ビットのデータはそのままで、レジスタAの下位4ビットのデータを2バイトのレジスタで指定されたアドレスの上位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの上位4ビットを2バイトのレジスタで指定されたアドレスの下位4ビットに移し、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットをレジスタAの下位4ビットに移すことが可能である。そして、この場合に、例えば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータとして書き込み不能な領域のデータ(例えば、ROMエリアのデータ)を指定すれば、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータのデータをそのままにして、2バイトのレジスタで指定されたアドレスに格納(記憶)されたデータの下位4ビットをレジスタAの下位4ビットに反映させる動作のみを実行させることもできる。
本実施例のスロットマシン1においては、いずれかの入賞ライン上に役図柄が揃うと、入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、ビッグボーナス、レギュラーボーナスへの移行を伴う特別役と、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役とがある。
尚、ビッグボーナスをBBと示し、レギュラーボーナスをRBと示す場合がある。また、ビッグボーナス、レギュラーボーナスを単にボーナスという場合もある。遊技状態に応じて定められた各役の入賞が発生するためには、内部抽選に当選して、当該役の入賞を許容する旨の当選フラグがRAM41cに設定されている必要がある。
図54〜図57は、入賞役の種類、入賞役の図柄組み合わせ、及び入賞役に関連する技術事項について説明するための図である。また、図58は、メイン制御部41により制御される遊技状態の遷移を説明するための図であり、図59は、遊技状態及びRTの概要を示す図である。
本実施例におけるスロットマシンは、図58に示すように、RT0〜5、RB、BB(RB)のいずれかに制御される。
図54を参照して、入賞役のうち特別役には、ビッグボーナス1〜4(以下、各々のビッグボーナスをBBと称する)、レギュラーボーナス1、2(以下、各々のレギュラーボーナスをRBと称する)の6種類のボーナスが含まれる。
BB1は、入賞ラインに「網7−網7−網7」の組み合わせが揃ったときに入賞となる。BB2は、入賞ラインに「白7−白7−白7」の組み合わせが揃ったときに入賞となる。
BB1、BB2のいずれかに入賞すると、BB中レギュラーボーナス(以下、BBRBと称する)に毎ゲーム制御されるビッグボーナスに移行される。
BB1、BB2のいずれかの入賞に起因して発生したビッグボーナスは、316枚以上メダルが払い出されたことを条件として終了する。
RB1は、入賞ラインに「網7−網7−黒7」の組み合わせが揃ったときに入賞となる。RB2は、入賞ラインに「白7−白7−黒7」の組み合わせが揃ったときに入賞となる。
RB1、RB2のいずれかに入賞すると、レギュラーボーナス(以下、RBと称する)に移行される。
RB1、RB2のいずれかの入賞に起因して発生したレギュラーボーナスは、いずれかの役が6回入賞するか、12ゲーム消化したことを条件として終了する。
図58に示すように、BB1、RB2のいずれかに内部当選してから入賞するまでは、RT4に制御され、BB2、RB1のいずれかに内部当選してから入賞するまでは、RT5に制御される。また、図58に示すように、ビッグボーナスまたはレギュラーボーナス(まとめてボーナスと呼ぶ)が終了した後は、RT3に制御される。
前述した内部抽選においてBB1、BB2、RB1、RB2のうちいずれかに当選していても、ストップスイッチ8L、8C、8Rをこれらの役に入賞可能とする適正なタイミングで操作しなければ、これらの役に入賞することはない。BB1、BB2、RB1、RB2を構成する図柄(左リール及び中リールの「黒7」、「白7」、右リールの「黒7」、「白7」、「網7」)は、各々、左リール2L、中リール2C、右リール2R各々において5コマ以内に配置されていないためである。
次に、図55を参照して、入賞役のうち小役について説明する。入賞役のうち小役には、中段ベル、右下がりベル、上段ベル1〜8、下段チェリー、1枚役、右上がりベルが含まれる。
中段ベルは、入賞ラインLNに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となり、8枚のメダルが払い出される。
ここで、図3を参照すると、ベルは、左リール2L、中リール2C、右リール2R各々において5コマ以内に配置されている。このため、後述する内部抽選において中段ベルに当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
右下がりベルは、入賞ラインLNに「リプレイ−ベル−リプレイ」、「リプレイ−ベル−プラム」、「プラム−ベル−リプレイ」、「プラム−ベル−プラム」のいずれかの組み合わせが揃ったときに入賞となり、8枚のメダルが払い出される。
ここで、図3を参照すると、左リール2Lのリプレイ及びプラムは、ベルの1つ下の位置に配置されており、右リール2Rのリプレイ及びプラムは、ベルの1つ上の位置に配置されているので、「リプレイ−ベル−リプレイ」、「リプレイ−ベル−プラム」、「プラム−ベル−リプレイ」、「プラム−ベル−プラム」のいずれかの組み合わせが揃うと、「ベル−ベル−ベル」の組み合わせが右下がり、すなわち無効ラインLM3に揃うこととなる。
また、プラム、リプレイのいずれか一方は、左リール2L、右リール2R各々において5コマ以内に配置されており、ベルは、中リール2Cにおいて5コマ以内に配置されている。このため、後述する内部抽選において右下がりベルに当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
次に、上段ベル1〜8について説明する。上段ベル1は、入賞ラインLNに「リプレイ−オレンジ−オレンジ」の組み合わせが揃ったときに入賞となる。上段ベル2は、入賞ラインLNに「リプレイ−オレンジ−BAR」の組み合わせが揃ったときに入賞となる。上段ベル3は、入賞ラインLNに「リプレイ−BAR−オレンジ」の組み合わせが揃ったときに入賞となる。上段ベル4は、入賞ラインLNに「リプレイ−BAR−BAR」の組み合わせが揃ったときに入賞となる。上段ベル5は、入賞ラインLNに「プラム−オレンジ−オレンジ」の組み合わせが揃ったときに入賞となる。上段ベル6は、入賞ラインLNに「プラム−オレンジ−BAR」の組み合わせが揃ったときに入賞となる。上段ベル7は、入賞ラインLNに「プラム−BAR−オレンジ」の組み合わせが揃ったときに入賞となる。上段ベル8は、入賞ラインLNに「プラム−BAR−BAR」の組み合わせが揃ったときに入賞となる。
ここで、図3を参照すると、左リール2Lのリプレイ及びプラム、中リールのBAR及びオレンジ、右リール2RのBAR及びオレンジは、ベルの1つ下の位置に配置されているので、「リプレイ−オレンジ−オレンジ」、「リプレイ−オレンジ−BAR」、「リプレイ−BAR−オレンジ」、「リプレイ−BAR−BAR」、「プラム−オレンジ−オレンジ」、「プラム−オレンジ−BAR」、「プラム−BAR−オレンジ」、「プラム−BAR−BAR」のいずれかの組み合わせが揃うと、「ベル−ベル−ベル」の組み合わせが上段、すなわち無効ラインLM1に揃うこととなる。
また、左リール2Lにおいて、リプレイ及びプラムは、5コマ以内に配置されておらず、中リール2C、右リール2Rの各々について、オレンジ及びBARは、5コマ以内に配置されていない。このため、後述する内部抽選において上段ベル1〜8のいずれかに当選していても、当選している上段ベルの構成図柄に対応するストップスイッチ8L、8C、8Rを適正なタイミングで操作しなければ、当選している上段ベルに入賞することはない。
下段チェリーは、入賞ラインLNに「BAR−オレンジ−ANY(ANYはいずれの図柄でも可)」、「BAR−BAR−ANY」、「BAR−ベル−ANY」の組み合わせが揃ったときに入賞となる。下段チェリーが入賞すると2枚メダルが払い出される。
ここで、図3を参照すると、左リール2LのBARは、チェリーの1つ上の位置に配置されているので、「BAR−オレンジ−ANY(ANYはいずれの図柄でも可)」、「BAR−BAR−ANY」、「BAR−ベル−ANY」のいずれかの組み合わせが揃うと、左リールの「チェリー」が下段に停止することとなり、「チェリー−ANY−ANY」の組み合わせが下段及び右上がり、すなわち無効ラインLM2及びLM4に揃うこととなる。
また、中リール2Cにおいてオレンジ、BAR、ベルのいずれかは、5コマ以内に配置されているが、左リール2Lにおいて、BARは、5コマ以内に配置されていない。このため、後述する内部抽選において下段チェリーに当選していても、左リール2Lに対応するストップスイッチ8Lを適正なタイミングで操作しなければ、下段チェリーに入賞することはない。
1枚役は、入賞ラインLNに「黒7−チェリー−網7」の組み合わせが揃ったときに入賞となる。1枚役が入賞すると1枚メダルが払い出される。
ここで、図3を参照すると、左リール2Lの黒7、中リールのチェリー、右リールの網7は、5コマ以内に配置されていない。このため、後述する内部抽選において1枚役に当選していても、左リール2L、中リール2C、右リール2Rに対応するストップスイッチ8L、8C、8Rを適正なタイミングで操作しなければ、1枚役に入賞することはない。
右上がりベルは、入賞ラインLNに「黒7−ベル−オレンジ」、「白7−ベル−オレンジ」、「スイカ−ベル−オレンジ」、「黒7−ベル−BAR」、「白7−ベル−BAR」、「スイカ−ベル−BAR」のいずれかの組み合わせが揃ったときに入賞となり、10枚のメダルが払い出される。
ここで、図3を参照すると、左リール2Lの黒7、白7、スイカは、ベルの1つ上の位置に配置されており、右リール2Rのオレンジ、BARは、ベルの1つ下の位置に配置されているので「黒7−ベル−オレンジ」、「白7−ベル−オレンジ」、「スイカ−ベル−オレンジ」、「黒7−ベル−BAR」、「白7−ベル−BAR」、「スイカ−ベル−BAR」のいずれかの組み合わせが揃うと、「ベル−ベル−ベル」の組み合わせが右上がり、すなわち無効ラインLM4に揃うこととなる。
また、左リール2Lにおいて黒7、白7、スイカの1つは、5コマ以内に配置されており、中リール2Cにおいてベルは、5コマ以内に配置されており、右リール2Rにおいてオレンジ、BARの1つは、5コマ以内に配置されている。このため、後述する内部抽選において右上がりベルに当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
次に、図56を参照して、入賞役のうち再遊技役について説明する。入賞役のうち再遊技役には、通常リプレイ、下段リプレイ、転落リプレイ、昇格リプレイ1、2、特殊リプレイ、7揃いリプレイ、7不揃いリプレイが含まれる。
通常リプレイは、入賞ラインLNに「リプレイ−リプレイ−リプレイ」、「リプレイ−リプレイ−プラム」、「プラム−リプレイ−リプレイ」、「プラム−リプレイ−プラム」の組み合わせが揃ったときに入賞となる。リプレイ、プラムは、左リール2L、中リール2C、右リール2R各々において5コマ以内に配置されている。よって、通常リプレイについては、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
下段リプレイは、入賞ラインLNに「ベル−オレンジ−オレンジ」、「ベル−オレンジ−チェリー」、「ベル−オレンジ−スイカ」、「ベル−オレンジ−黒7」、「ベル−オレンジ−網7」、「ベル−オレンジ−白7」、「ベル−BAR−オレンジ」、「ベル−BAR−チェリー」、「ベル−BAR−スイカ」、「ベル−BAR−黒7」、「ベル−BAR−網7」、「ベル−BAR−白7」の組み合わせが揃ったときに入賞となる。
ここで、図3を参照すると、左リール2Lのベルは、リプレイまたはプラムの1つ上の位置に配置されており、中リール2Cのオレンジ、BARは、リプレイの1つ上の位置に配置されているので「ベル−オレンジ−オレンジ」、「ベル−オレンジ−チェリー」、「ベル−オレンジ−スイカ」、「ベル−オレンジ−黒7」、「ベル−オレンジ−網7」、「ベル−オレンジ−白7」、「ベル−BAR−オレンジ」、「ベル−BAR−チェリー」、「ベル−BAR−スイカ」、「ベル−BAR−黒7」、「ベル−BAR−網7」、「ベル−BAR−白7」のいずれかの組み合わせが揃うと、「リプレイ−リプレイ−スイカ/リプレイ/プラム/チェリー/網7/白7」、「リプレイ−プラム−リプレイ−リプレイ−スイカ/リプレイ/プラム/チェリー/網7/白7」、「プラム−リプレイ−リプレイ−リプレイ−スイカ/リプレイ/プラム/チェリー/網7/白7」、「プラム−プラム−リプレイ−リプレイ−スイカ/リプレイ/プラム/チェリー/網7/白7」の組み合わせが下段、すなわち無効ラインLM2に揃うこととなる。
また、左リール2Lにおいてベルは、5コマ以内に配置されており、中リールにおいてオレンジ、BARは、5コマ以内に配置されており、右リール2Rにおいてオレンジ、チェリー、スイカ、黒7、網7、白7の1つは、5コマ以内に配置されている。このため、後述する内部抽選において下段リプレイに当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
転落リプレイは、入賞ラインLNに「ベル−リプレイ−ベル」の組み合わせが揃ったときに入賞となる。
ここで、図3を参照すると、左リール2Lのベルは、リプレイまたはプラムの1つ上の位置に配置されており、右リール2Rのベルは、リプレイの1つ下の位置に配置されているので「ベル−リプレイ−ベル」の組み合わせが揃うと、「リプレイ−リプレイ−リプレイ」、「リプレイ−リプレイ−プラム」、「プラム−リプレイ−リプレイ」、「プラム−リプレイ−プラム」の組み合わせが右上がり、すなわち無効ラインLM4に揃うこととなる。
また、左リール2Lにおいてベルは、5コマ以内に配置されており、中リールにおいてリプレイは、5コマ以内に配置されており、右リール2Rにおいてベルは、5コマ以内に配置されている。このため、後述する内部抽選において転落リプレイに当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
図58に示すように、RT0において転落リプレイに入賞した後は、RT1に制御される。
昇格リプレイ1は、入賞ラインLNに「リプレイ−リプレイ−ベル」、「プラム−リプレイ−ベル」の組み合わせが揃ったときに入賞となる。左リール2Lにおいてリプレイ、プラムの1つは、5コマ以内に配置されており、中リール2Cにおいてリプレイは、5コマ以内に配置されており、右リール2Rにおいてベルは、5コマ以内に配置されている。よって、昇格リプレイ1については、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
昇格リプレイ2は、入賞ラインLNに「ベル−オレンジ−リプレイ」、「ベル−オレンジ−プラム」、「ベル−BAR−リプレイ」、「ベル−BAR−プラム」のいずれかの組み合わせが揃ったときに入賞となる。
ここで、図3を参照すると、左リール2Lのベルは、リプレイまたはプラムの1つ上の位置に配置されており、中リール2Cのオレンジ、BARは、リプレイの1つ上の位置に配置されており、右リール2Rのリプレイ、プラムは、ベルの1つ上の位置に配置されているので「ベル−オレンジ−リプレイ」、「ベル−オレンジ−プラム」、「ベル−BAR−リプレイ」、「ベル−BAR−プラム」の組み合わせが揃うと、「リプレイ−リプレイ−ベル」、「プラム−リプレイ−ベル」の組み合わせが下段、すなわち無効ラインLM2に揃うこととなる。
また、左リール2Lにおいてベルは、5コマ以内に配置されており、中リールにおいてオレンジ、BARは、5コマ以内に配置されており、右リール2Rにおいてリプレイ、プラムは、5コマ以内に配置されている。このため、後述する内部抽選において昇格リプレイ2に当選しているときには、原則として、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
図58に示すように、RT1において昇格リプレイ(昇格リプレイ1または昇格リプレイ2)に入賞した後は、RT0に制御される。後述するように、昇格リプレイは、RT2、RT3における内部抽選においては単独で当選しないように設定されている。また、RT2、RT3における内部抽選において特別役と昇格リプレイが同時に当選した場合には、その時点でRT4またはRT5に制御される。このため、RT2、RT3においては昇格リプレイに入賞しない。その結果、RT2、RT3からRT0に制御されないように構成されており、RT1であるときにのみ昇格リプレイ入賞し、当該RT1からのみRT0に制御されるように構成されている。
特殊リプレイは、入賞ラインLNに「ベル−リプレイ−リプレイ」、「ベル−リプレイ−プラム」の組み合わせが揃ったときに入賞となる。左リール2Lにおいてベルは、5コマ以内に配置されており、中リール2Cにおいてリプレイは、5コマ以内に配置されており、右リール2Rにおいてリプレイ、プラムの1つは、5コマ以内に配置されている。よって、特殊リプレイについては、原則として、当選していれば、ストップスイッチ8L〜8Rの操作タイミングに関わらず入賞させることができる役といえる。
図58に示すように、RT0において特殊リプレイに入賞した後は、RT2に制御される。後述するように、特殊リプレイは、RT1、RT3における内部抽選においては単独で当選しないように設定されている。また、RT1、RT3における内部抽選において特別役と特殊リプレイが同時に当選した場合には、その時点でRT4またはRT5に制御される。このため、RT1、RT3においては特殊リプレイに入賞しない。その結果、RT1、RT3からRT2に制御されないように構成されており、RT0であるときにのみ特殊リプレイ入賞し、当該RT0からのみRT2に制御されるように構成されている。
7揃いリプレイは、入賞ラインLNに「黒7−黒7−黒7」の組み合わせが揃ったときに入賞となる。また、7不揃いリプレイは、入賞ラインLNに「黒7−黒7−リプレイ」、「黒7−黒7−プラム」、「黒7−リプレイ−黒7」、「リプレイ−黒7−黒7」、「プラム−黒7−黒7」、「黒7−リプレイ−リプレイ」、「黒7−リプレイ−プラム」、「リプレイ−黒7−リプレイ」、「リプレイ−黒7−プラム」、「プラム−黒7−リプレイ」、「プラム−黒7−プラム」、「リプレイ−リプレイ−黒7」、「プラム−リプレイ−黒7」の組み合わせが揃ったときに入賞となる。
全てのリールにおいてリプレイ、プラムの1つは、5コマ以内に配置されているが、全てのリールにおいて「黒7」は、5コマを超えて配置されている。このため、後述する内部抽選において7揃いリプレイまたは7不揃いリプレイに当選していても、少なくともいずれか1つのリールに対応するストップスイッチが適正なタイミングで操作されなければ原則として7揃いリプレイ、7不揃いリプレイが入賞することはないが、後述のように7揃いリプレイは、7不揃いリプレイ及び通常リプレイと同時に当選し、7不揃いリプレイは通常リプレイと同時に当選するため、7揃いリプレイ、7不揃いリプレイ及び通常リプレイが同時に当選している場合には、ストップスイッチ8L〜8Rの操作タイミングに関わらず7揃いリプレイ、7不揃いリプレイ及び通常リプレイのいずれかが必ず入賞し、7不揃いリプレイ及び通常リプレイが同時に当選している場合には、ストップスイッチ8L〜8Rの操作タイミングに関わらず7不揃いリプレイ及び通常リプレイのいずれかが必ず入賞することとなる。
次に、図57を参照して、移行出目について説明する。移行出目は、図57に示すように、「リプレイ−オレンジ−ベル」、「リプレイ−BAR−ベル」、「プラム−オレンジ−ベル」、「プラム−BAR−ベル」、「リプレイ−ベル−オレンジ」、「リプレイ−ベル−BAR」、「プラム−ベル−オレンジ」、「プラム−ベル−BAR」、「黒7−オレンジ−オレンジ」、「黒7−オレンジ−BAR」、「黒7−BAR−オレンジ」、「黒7−BAR−BAR」、「白7−オレンジ−オレンジ」、「白7−オレンジ−BAR」、「白7−BAR−オレンジ」、「白7−BAR−BAR」、「スイカ−オレンジ−オレンジ」、「スイカ−オレンジ−BAR」、「スイカ−BAR−オレンジ」、「スイカ−BAR−BAR」からなる20種類の組み合わせである。本実施例では、後述する左ベル1〜4、中ベル1〜4、右ベル1〜4が当選し、中段ベルの入賞条件となるリール以外を第1停止とし、かつ当選している上段ベルを取りこぼした場合に、上記の移行出目が入賞ラインLNに揃う。
図58に示すように、RT0、RT2、RT3において移行出目が入賞ラインLNに揃った後は、RT1に制御される。尚、RT1において移行出目が入賞ラインLNに揃った場合には、RT1が維持されることとなる。
次に、図60〜図63を参照して、遊技状態毎に抽選対象役として読み出される抽選対象役の組み合わせについて説明する。本実施例では、遊技状態が、RT0〜3であるか、RT4であるか、RT5であるか、BB(RB)であるか、RBであるか、によって内部抽選の対象となる役及びその当選確率が異なる。さらに遊技状態がRT0〜3であれば、RT0〜3の種類によって、内部抽選の対象となる再遊技役及びその当選確率の少なくとも一方が異なる。尚、抽選対象役として後述するように、複数の入賞役が同時に読出されて、重複して当選し得る。図60〜図63においては、入賞役の間に“+”を表記することにより、内部抽選において同時に抽選対象役として読み出されることを示す。
図60〜図62においては、縦の欄に抽選対象役を示し、横の欄に遊技状態を示す。また、遊技状態と抽選対象役とが交差する欄の○印は、当該遊技状態であるときに当該抽選対象役が読み出されることを示し、×印は、当該遊技状態であるときに当該抽選対象役が読み出されないことを示している。
また、○印の下に示す数値は、所定の設定値(例えば設定値1)の判定値数を示す。当該判定値数を用いて内部抽選が行われる。尚、判定値数の分母は、内部抽選用の乱数(0〜65535の整数)に対応させて、「65536」に設定されている。このため、例えば、判定値数として「300」が設定されている抽選対象役の当選確率は、300/65536となる。
また、図60は、遊技状態毎に抽選対象役として読み出される特別役の組み合わせを示し、図61は、遊技状態毎に抽選対象役として読み出される小役の組み合わせを示し、図62は、遊技状態毎に抽選対象役として読み出される再遊技役の組み合わせを示している。また、図63は、図60〜図62に示す同時当選役を構成する役の組み合わせを示している。
RT0であるときには、BB1、BB1+弱チェリー、BB1+強チェリー、BB1+通常リプレイ、BB1+転落リプレイ、BB1+昇格リプレイ、BB1+特殊リプレイ、BB2、BB2+弱チェリー、BB2+強チェリー、BB2+通常リプレイ、BB2+転落リプレイ、BB2+昇格リプレイ、BB2+特殊リプレイ、RB1、RB1+弱チェリー、RB1+強チェリー、RB2、RB2+弱チェリー、RB2+強チェリー、ベル、左ベル1、左ベル2、左ベル3、左ベル4、中ベル1、中ベル2、中ベル3、中ベル4、右ベル1、右ベル2、右ベル3、右ベル4、弱チェリー、強チェリー、リプレイGR11、リプレイGR12、リプレイGR13、リプレイGR14、リプレイGR15が内部抽選の対象役となる。
RT1であるときには、BB1、BB1+弱チェリー、BB1+強チェリー、BB1+通常リプレイ、BB1+転落リプレイ、BB1+昇格リプレイ、BB1+特殊リプレイ、BB2、BB2+弱チェリー、BB2+強チェリー、BB2+通常リプレイ、BB2+転落リプレイ、BB2+昇格リプレイ、BB2+特殊リプレイ、RB1、RB1+弱チェリー、RB1+強チェリー、RB2、RB2+弱チェリー、RB2+強チェリー、ベル、左ベル1、左ベル2、左ベル3、左ベル4、中ベル1、中ベル2、中ベル3、中ベル4、右ベル1、右ベル2、右ベル3、右ベル4、弱チェリー、強チェリー、通常リプレイ、リプレイGR1、リプレイGR2、リプレイGR3、リプレイGR4、リプレイGR5、リプレイGR6が内部抽選の対象役となる。
RT2であるときには、BB1、BB1+弱チェリー、BB1+強チェリー、BB1+通常リプレイ、BB1+転落リプレイ、BB1+昇格リプレイ、BB1+特殊リプレイ、BB2、BB2+弱チェリー、BB2+強チェリー、BB2+通常リプレイ、BB2+転落リプレイ、BB2+昇格リプレイ、BB2+特殊リプレイ、RB1、RB1+弱チェリー、RB1+強チェリー、左ベル2、左ベル3、左ベル4、中ベル1、中ベル2、中ベル3、中ベル4、右ベル1、右ベル2、右ベル3、右ベル4、弱チェリー、強チェリー、通常リプレイ、リプレイGR21、リプレイGR22が内部抽選の対象役となる。
RT3であるときには、BB1、BB1+弱チェリー、BB1+強チェリー、BB1+通常リプレイ、BB1+転落リプレイ、BB1+昇格リプレイ、BB1+特殊リプレイ、BB2、BB2+弱チェリー、BB2+強チェリー、BB2+通常リプレイ、BB2+転落リプレイ、BB2+昇格リプレイ、BB2+特殊リプレイ、RB1、RB1+弱チェリー、RB1+強チェリー、RB2、RB2+弱チェリー、RB2+強チェリー、ベル、左ベル1、左ベル2、左ベル3、左ベル4、中ベル1、中ベル2、中ベル3、中ベル4、右ベル1、右ベル2、右ベル3、右ベル4、弱チェリー、強チェリー、通常リプレイが内部抽選の対象役となる。
RT4、RT5であるときには、ベル、左ベル1、左ベル2、左ベル3、左ベル4、中ベル1、中ベル2、中ベル3、中ベル4、右ベル1、右ベル2、右ベル3、右ベル4、弱チェリー、強チェリー、通常リプレイ、下段リプレイ、転落リプレイ、昇格リプレイ、特殊リプレイが内部抽選の対象役となる。
BB(RB)、RBであるときには、ベル、弱チェリー、強チェリー、右上がりベルが内部抽選の対象役となる。
尚、図63に示すように、弱チェリーとは、下段チェリー単独であり、強チェリーとは、下段チェリー+1枚役である。弱チェリー当選時、強チェリー当選は、ともに「BAR」の引込範囲内となるタイミングで左、中リールの停止操作が行われた場合に、「BAR−BAR−ANY」の組み合わせを導出可能に制御されることとなるが、弱チェリー当選時は、「BAR」の引込範囲内となるタイミングで左、中、右リールの停止操作が行われた場合に、「BAR−BAR−BAR」の組み合わせが揃わないように制御されるのに対して、強チェリー当選時は、「BAR」の引込範囲となるタイミングで左、中、右リールの停止操作が行われた場合に、「BAR−BAR−BAR」の組み合わせが揃うように制御される。
このため、左、中、右リールにそれぞれ「BAR」を狙って停止操作を行った場合において、左リール2Lの下段にチェリーが停止した際に、中段に「BAR−BAR−BAR」の組み合わせが揃うか否かにより強チェリーであるか弱チェリーであるか、を認識できる。
以下では、左リールの下段に「チェリー」が停止し、かつ中断に「BAR−BAR−BAR」の組み合わせが揃う停止態様を強チェリー目と呼び、左リールの下段に「チェリー」が停止し、かつ中断に「BAR−BAR−BAR」の組み合わせが揃わない停止態様を弱チェリー目と呼ぶ。
尚、強チェリーの当選時であっても、左リールのみ「BAR」が引込範囲となるタイミングで停止操作がされ、右リールにおいて「BAR」が引込範囲となるタイミングで停止操作がなされなければ、弱チェリー当選時と同様の出目、すなわち弱チェリー出目が導出されることとなる。
また、本実施例では、弱チェリー、強チェリーともに特別役と同時当選し得るとともに、弱チェリーが単独で当選する確率及び弱チェリーが特別役と同時に当選する確率の合算値に占める後者の確率よりも、強チェリーが単独で当選する確率及び強チェリーが特別役と同時に当選する確率の合算値に占める後者の確率の方が高く定められているので、弱チェリー目が停止したときよりも強チェリー目が停止したときの方が、特別役の当選が期待できるようになっている。
ベルとは、中段ベル+右下がりベルである。左ベル1とは、右下がりベル+上段ベル5+上段ベル8であり、左ベル2とは、右下がりベル+上段ベル6+上段ベル7であり、左ベル3とは、右下がりベル+上段ベル2+上段ベル3であり、左ベル4とは、右下がりベル+上段ベル2+上段ベル4である。左ベル1〜4を単に左ベルとも呼ぶ。中ベル1とは、中段ベル+上段ベル2+上段ベル5であり、中ベル2とは、中段ベル+上段ベル1+上段ベル6であり、中ベル3とは、中段ベル+上段ベル4+上段ベル7であり、中ベル4とは、中段ベル+上段ベル3+上段ベル8である。中ベル1〜4を単に中ベルとも呼ぶ。右ベル1とは、中段ベル+上段ベル3+上段ベル5であり、右ベル2とは、中段ベル+上段ベル1+上段ベル7であり、右ベル3とは、中段ベル+上段ベル4+上段ベル6であり、右ベル4とは、中段ベル+上段ベル2+上段ベル8である。右ベル1〜4を単に右ベルとも呼ぶ。また、これら左ベル1〜4、中ベル1〜4、右ベル1〜4を単に押し順ベルとも呼ぶ。
昇格リプレイとは、昇格リプレイ1+昇格リプレイ2である。
リプレイGR1とは、通常リプレイ+昇格リプレイ1であり、リプレイGR2とは、通常リプレイ+昇格リプレイ1+昇格リプレイ2であり、リプレイGR3とは、通常リプレイ+昇格リプレイ1+下段リプレイであり、リプレイGR4とは、通常リプレイ+昇格リプレイ1+昇格リプレイ2+下段リプレイであり、リプレイGR5とは、通常リプレイ+昇格リプレイ2であり、リプレイGR6とは、通常リプレイ+昇格リプレイ2+下段リプレイである。
リプレイGR11とは、転落リプレイ+特殊リプレイであり、リプレイGR12とは、転落リプレイ+特殊リプレイ+通常リプレイであり、リプレイGR13とは、転落リプレイ+特殊リプレイ+下段リプレイであり、リプレイGR14とは、転落リプレイ+特殊リプレイ+通常リプレイ+下段リプレイであり、リプレイGR15とは、転落リプレイ+特殊リプレイ+昇格リプレイ1である。
リプレイGR21とは、7揃いリプレイ+7不揃いリプレイ+通常リプレイであり、リプレイGR22とは、7不揃いリプレイ+通常リプレイである。
また、RT0〜3などにおいて、BB1、BB2、RB1、RB2のいずれかと同時当選し得る弱チェリー、強チェリー、通常リプレイ、転落リプレイ、昇格リプレイの判定値数は、RT4、RT5においては、各々、ボーナスと別個に読み出される、弱チェリー、強チェリー、通常リプレイ、転落リプレイ、昇格リプレイに加算されているため、弱チェリー、強チェリー、通常リプレイ、転落リプレイ、昇格リプレイ各々の当選確率が一定となるように担保されている。
このように、遊技状態がRT0〜3であるか、RT4、5であるか、BB(RB)であるか、RBであるか、によって内部抽選の対象役が異なるとともに、BB(RB)やRBでは、小役の当選確率がRT0〜5よりも高く定められた抽選テーブルを用いて内部抽選が行われる。
また、遊技状態がRT4、5である場合には、RT4であるか、RT5であるか、によって内部抽選の対象役は変わらないが、RT4であるか、RT5であるか、によって対象となる再遊技役の当選確率が異なる抽選テーブルを用いて内部抽選が行われる。
また、遊技状態がRT0〜3である場合には、RT0〜3のいずれかであるかによって、内部抽選の対象となる再遊技役が異なるとともに、RT0〜3のいずれかであるかによって、対象となる再遊技役及びその当選確率が異なる抽選テーブルを用いて内部抽選が行われる。
本実施例では、複数種類の再遊技役が同時に当選している場合には、図64に示すように、同時当選した再遊技役の種類及び停止操作順に応じて定められた再遊技役を入賞ライン上に最大4コマの引込範囲で揃えて停止させる制御が行われる。図64は、複数のリプレイが同時当選したときのリール制御を説明するための図である。
リプレイGR1(通常リプレイ+昇格リプレイ1)が当選し、左中右の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ1の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左中右以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR2(通常リプレイ+昇格リプレイ1+昇格リプレイ2)が当選し、左右中の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ1の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左右中以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR3(通常リプレイ+昇格リプレイ1+下段リプレイ)が当選し、中左右の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ1の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中左右以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR4(通常リプレイ+昇格リプレイ1+昇格リプレイ2+下段リプレイ)が当選し、中右左の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ1の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中右左以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR5(通常リプレイ+昇格リプレイ2)が当選し、右左中の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ2の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、右左中以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR6(通常リプレイ+昇格リプレイ2+下段リプレイ)が当選し、右中左の順番で停止操作がなされた場合には、当選した再遊技役のうち昇格リプレイ2の組み合わせを入賞ラインLNに揃えて停止させる制御を行い、右中左以外の順番で停止操作がなされた場合には、通常リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
図3に示すように、昇格リプレイ1、昇格リプレイ2及び通常リプレイを構成する図柄は、左リール2L、中リール2C、右リール2Rの全てにおいて5コマ以内に配置されているため、停止操作順に応じて、ストップスイッチ8L〜8Rの停止操作タイミングに関わらず、昇格リプレイ1、昇格リプレイ2または通常リプレイが必ず入賞するようにリール制御が行われる。
このように、リプレイGR1〜6とで、昇格リプレイ1、2に入賞させるための操作態様として異なる操作態様が設定されている。
このため、リプレイGR1〜6が内部抽選の対象となるRT1において、リプレイGR1〜6のいずれかが当選していれば1/6の確率で昇格リプレイが入賞することとなり、RT0に移行することとなる。
リプレイGR11(転落リプレイ+特殊リプレイ)が当選し、左中右の順番で停止操作がなされた場合には、当選した再遊技役のうち特殊リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左中右以外の順番で停止操作がなされた場合には、転落リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR12(転落リプレイ+特殊リプレイ+通常リプレイ)が当選し、左右中の順番で停止操作がなされた場合には、当選した再遊技役のうち特殊リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左右中以外の順番で停止操作がなされた場合には、転落リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR13(転落リプレイ+特殊リプレイ+下段リプレイ)が当選し、中左右の順番で停止操作がなされた場合には、当選した再遊技役のうち特殊リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中左右以外の順番で停止操作がなされた場合には、転落リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR14(転落リプレイ+特殊リプレイ+通常リプレイ+下段リプレイ)が当選し、中右左の順番で停止操作がなされた場合には、当選した再遊技役のうち特殊リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中右左以外の順番で停止操作がなされた場合には、転落リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
リプレイGR15(転落リプレイ+特殊リプレイ+昇格リプレイ1)が当選し、右押し、すなわち右リール2Rを第1停止させる操作態様で停止操作がなされた場合には、当選した再遊技役のうち特殊リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押し、すなわち左リール2Lを第1停止させる操作態様または中押し、すなわち中リール2Cを第1停止させる操作態様で停止操作がなされた場合には、転落リプレイの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
図3に示すように、特殊リプレイ及び転落リプレイを構成する図柄は、左リール2L、中リール2C、右リール2Rの全てにおいて5コマ以内に配置されているため、停止操作順に応じて、ストップスイッチ8L〜8Rの停止操作タイミングに関わらず、特殊リプレイまたは転落リプレイが必ず入賞するようにリール制御が行われる。
このように、リプレイGR11〜15とで、特殊リプレイに入賞させ、かつ転落リプレイを回避するため操作態様として異なる操作態様が設定されている。
このため、リプレイGR11〜15が内部抽選の対象となるRT0において、リプレイGR11〜15のいずれかが当選していれば1/5の確率で特殊リプレイが入賞してRT2に移行することとなる一方で、4/5の確率で転落リプレイが入賞してRT1に移行することとなる。
また、特に図示しないが、リプレイGR21(7揃いリプレイ+7不揃いリプレイ+通常リプレイ)が当選している場合には、「黒7」の引込範囲で停止操作がされた場合には、「黒7」を入賞ラインLNに停止させ、「黒7」の引込範囲外で停止操作がされた場合には、「リプレイ」または「プラム」を入賞ラインLNに停止させる制御を行う。
このように、リプレイGR21の当選時には、7揃いリプレイの組み合わせを入賞ラインLNに優先して停止させる制御を行い、7揃いリプレイの組み合わせを揃えることができない場合に、7不揃いリプレイの組み合わせを優先して停止させる制御を行い、7不揃いリプレイの組み合わせも揃えることができない場合に、通常リプレイの組み合わせを停止させる制御を行う。
また、リプレイGR22(7不揃いリプレイ+通常リプレイ)が当選している場合には、第2停止操作までは、「黒7」の引込範囲で停止操作がされた場合に、「黒7」を入賞ラインLNに停止させ、「黒7」の引込範囲外で停止操作がされた場合には、「リプレイ」または「プラム」を入賞ラインLNに停止させる制御を行い、第3停止操作では、第2停止操作までに停止したいずれのリールにも入賞ラインLNに「黒7」が停止している場合には、停止操作のタイミングに関わらず「リプレイ」または「プラム」を入賞ラインLNに停止させ、第2停止操作までに入賞ラインLNに「リプレイ」または「プラム」が停止している場合には、「黒7」の引込範囲で停止操作がされた場合に、「黒7」を入賞ラインLNに停止させ、「黒7」の引込範囲外で停止操作がされた場合には、「リプレイ」または「プラム」を入賞ラインLNに停止させる制御を行う。
このように、リプレイGR22の当選時には、7不揃いリプレイの組み合わせを入賞ラインLNに優先して停止させる制御を行い、7不揃いリプレイの組み合わせも揃えることができない場合に、通常リプレイの組み合わせを停止させる制御を行う。このため、リプレイGR22の当選時には、7揃いリプレイが入賞することはないが、7を狙って操作を行うことで、第2停止操作までは7がテンパイするものの、第3停止操作では、必ず「リプレイ」または「プラム」が停止することとなる。
次に、複数種類の小役が同時に当選している場合には、図65に示すように、同時当選した小役の種類及び停止操作順に応じて定められた小役を入賞ライン上に最大4コマの引込範囲で揃えて停止させる制御が行われる。図65は、複数の小役が同時当選したときのリール制御を説明するための図である。
左ベル1(右下がりベル+上段ベル6+上段ベル7)が当選し、左押しで停止操作を行った場合には、当選した小役のうち右下がりベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中押しまたは右押しで停止操作がなされた場合には、上段ベル6、上段ベル7または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
左ベル2(右下がりベル+上段ベル5+上段ベル8)が当選し、左押しで停止操作を行った場合には、当選した小役のうち右下がりベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中押しまたは右押しで停止操作がなされた場合には、上段ベル5、上段ベル6または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
左ベル3(右下がりベル+上段ベル2+上段ベル3)が当選し、左押しで停止操作を行った場合には、当選した小役のうち右下がりベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中押しまたは右押しで停止操作がなされた場合には、上段ベル2、上段ベル3または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
左ベル4(右下がりベル+上段ベル2+上段ベル4)が当選し、左押しで停止操作を行った場合には、当選した小役のうち右下がりベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、中押しまたは右押しで停止操作がなされた場合には、上段ベル2、上段ベル4または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
図3に示すように、右下がりベルの構成図柄は、全てのリールにおいて5コマ以内に配置されており、左ベル1〜4が当選した場合に、左押しにて停止操作を行った場合には、停止操作のタイミングに関わらず、必ず右下がりベルを入賞ラインLNに揃える制御が行われる一方で、上段ベル1〜8を構成する図柄は、全てのリールにおいて5コマ以上の間隔で配置されている箇所があるため、左ベル1〜4が当選した場合でも、中押しまたは右押しにて停止操作を行った場合には、当選した上段ベル1〜8の構成図柄の引込範囲となる適切なタイミングで停止操作を行わなければ、当選した上段ベルを入賞ラインLNに揃えることはできず、その場合には、移行出目が入賞ラインLNに揃うように制御される。
中ベル1(中段ベル+上段ベル2+上段ベル5)が当選し、中押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは右押しで停止操作がなされた場合には、上段ベル2、上段ベル5または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
中ベル2(中段ベル+上段ベル1+上段ベル6)が当選し、中押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは右押しで停止操作がなされた場合には、上段ベル1、上段ベル6または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
中ベル3(中段ベル+上段ベル4+上段ベル7)が当選し、中押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは右押しで停止操作がなされた場合には、上段ベル4、上段ベル7または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
中ベル4(中段ベル+上段ベル3+上段ベル8)が当選し、中押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは右押しで停止操作がなされた場合には、上段ベル3、上段ベル8または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
図3に示すように、中段ベルの構成図柄は、全てのリールにおいて5コマ以内の間隔で配置されており、中ベル1〜4が当選した場合に、中押しにて停止操作を行った場合には、停止操作のタイミングに関わらず、必ず中段ベルを入賞ラインLNに揃える制御が行われる一方で、上段ベル1〜8を構成する図柄は、全てのリールにおいて5コマ以上の間隔で配置されている箇所があるため、中ベル1〜4が当選した場合でも、左押しまたは右押しにて停止操作を行った場合には、当選した上段ベル1〜8の構成図柄の引込範囲となる適切なタイミングで停止操作を行わなければ、当選した上段ベルを入賞ラインLNに揃えることはできず、その場合には、移行出目が入賞ラインLNに揃うように制御される。
右ベル1(中段ベル+上段ベル3+上段ベル5)が当選し、右押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは中押しで停止操作がなされた場合には、上段ベル3、上段ベル5または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
右ベル2(中段ベル+上段ベル1+上段ベル7)が当選し、右押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは中押しで停止操作がなされた場合には、上段ベル1、上段ベル7または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
右ベル3(中段ベル+上段ベル4+上段ベル6)が当選し、右押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは中押しで停止操作がなされた場合には、上段ベル4、上段ベル6または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
右ベル4(中段ベル+上段ベル2+上段ベル8)が当選し、右押しで停止操作を行った場合には、当選した小役のうち中段ベルの組み合わせを入賞ラインLNに揃えて停止させる制御を行い、左押しまたは中押しで停止操作がなされた場合には、上段ベル2、上段ベル8または移行出目のいずれかの組み合わせを入賞ラインLNに揃えて停止させる制御を行う。
図3に示すように、中段ベルの構成図柄は、全てのリールにおいて5コマ以内に配置されており、右ベル1〜4が当選した場合に、右押しにて停止操作を行った場合には、停止操作のタイミングに関わらず、必ず中段ベルを入賞ラインLNに揃える制御が行われる一方で、上段ベル1〜8を構成する図柄は、全てのリールにおいて5コマ以上の間隔で配置されている箇所があるため、右ベル1〜4が当選した場合でも、左押しまたは中押しにて停止操作を行った場合には、当選した上段ベル1〜8の構成図柄の引込範囲となる適切なタイミングで停止操作を行わなければ、当選した上段ベルを入賞ラインLNに揃えることはできず、その場合には、移行出目が入賞ラインLNに揃うように制御される。
このように本実施例では、左ベル、中ベル、右ベル、すなわち押し順ベルのいずれかが当選した場合には、当選役の種類に応じた特定の操作態様で停止操作を行うことで、右下がりベルまたは中段ベルが必ず入賞する一方で、当選役の種類に応じた特定の操作態様以外の操作態様で停止操作を行うことで、1/4で上段ベルが揃うが、3/4で上段ベルが揃わず移行出目が揃うこともある。
このため、押し順ベルの当選時には、当選役の種類に応じた特定の操作態様で操作されたか否かによって払い出されるメダル数の期待値を変えることができる。すなわち押し順ベルのいずれかが当選しても、その種類が分からなければ意図的に特定の操作態様を選択することはできないことから、1/3の割合で右下がりベルまたは中段ベルを確実に入賞させることにより確実にメダルを獲得できるものの、2/3の割合ではさらに1/4でしか上段ベルを入賞させることができず、確実にメダルを獲得することができない。
また、特に図示しないが、ベル(中段ベル+右下がりベル)が当選した場合には、リールの停止順及び操作のタイミングに関わらず、入賞ラインLNに「ベル−ベル−ベル」の組み合わせが揃うように制御される。
本実施例では、図58及び図59に示すように、RT0〜5、RB、BB(RB)のいずれかに制御される。
RT0は、RT1において昇格リプレイが入賞したとき(リプレイGR1〜6のいずれかが当選し、昇格リプレイが入賞する順番で停止操作がなされたとき)、RT1、RT2が規定ゲーム数の消化により終了したときに移行する。そして、RT0は、RT0に移行してからのゲーム数に関わらず、転落リプレイの入賞または移行出目の停止によりRT1に移行するか、特殊リプレイの入賞によりRT2に移行するか、特別役が当選してRT4またはRT5に移行することで終了する。
RT0における特別役の当選確率は通常(約1/239)、再遊技役の当選確率は高確率(約1/1.4)、小役の当選確率は通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1以上となる。また、RT0では、特別役と同時に当選する場合を除いて、再遊技役のうちリプレイGR11〜15のみが内部抽選の対象となる。
RT1は、RT0、RT2、RT3において移行出目が停止するか、RT0において転落リプレイが入賞したときに移行する。そして、RT1は、昇格リプレイが入賞することでRT0に移行するか、特別役が当選してRT4またはRT5に移行することで終了する。
RT1における特別役の当選確率はRT0と同じく通常(約1/239)、再遊技役の当選確率はRT0よりも低く通常(約1/7.3)、小役の当選確率はRT0と同じく通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1未満となる。また、RT1では、再遊技役のうち通常リプレイ、リプレイGR1〜6のみが内部抽選の対象となる。
RT2は、RT0において特殊リプレイが入賞したときに移行する。そして、RT2は、移行出目が停止してRT1に移行するか、特別役が当選してRT4またはRT5に移行することで終了する。
RT2における特別役の当選確率はRT0と同じく通常(約1/239)、再遊技役の当選確率はRT0とほとんど変わらず高確率(約1/1.4)、小役の当選確率はRT0と同じく通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1以上となる。また、RT2では、特別役と同時に当選する場合を除いて、再遊技役のうち通常リプレイのみが内部抽選の対象となる。
RT3は、BB(RB)、RBの終了時に移行する。そして、RT3は、RT3に移行してからのゲーム数に関わらず、移行出目が停止してRT1に移行するか、特別役が当選してRT4またはRT5に移行することで終了する。
RT3における特別役の当選確率は通常(約1/239)、再遊技役の当選確率はRT0よりも低く通常(約1/7.3)、小役の当選確率はRT0と同じく通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1未満となる。また、RT3では、特別役と同時に当選する場合を除いて、再遊技役のうち通常リプレイのみが内部抽選の対象となる。
RT4は、RT0〜3において特別役のうちBB1、BB3、RB2が当選したときに移行する。そして、RT4は、RT4に移行してからのゲーム数に関わらず、RT4に移行する契機となった特別役が入賞してBB(RB)またはRBに移行することで終了する。
RT4においては、特別役が内部抽選の対象外となり、再遊技役の当選確率はRT0、RT2よりは低いが、RT1、RT3よりも高く高確率(約1/2.5)、小役の当選確率は通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1未満となる。また、RT4では、再遊技役のうち通常リプレイ及び下段リプレイのみが内部抽選の対象となる。
RT5は、RT0〜3において特別役のうちBB2、BB4、RB1が当選したときに移行する。そして、RT5は、RT5に移行してからのゲーム数に関わらず、RT5に移行する契機となった特別役が入賞してBB(RB)またはRBに移行することで終了する。
RT5においては、特別役が内部抽選の対象外となり、再遊技役の当選確率はRT0、RT2よりは低いが、RT1、RT3、RT4よりも高く高確率(約1/2.0)、小役の当選確率は通常(約1/3.5、ただし入賞確率は約1/6.1)であり、1ゲームあたりのメダルの払出率は1未満となる。また、RT5では、再遊技役のうち通常リプレイ及び下段リプレイのみが内部抽選の対象となる。
RBは、RT5、RT5においてRB1またはRB2が入賞したときに移行する。そして、RBは、6ゲーム消化するか、6回入賞することで終了する。
RBにおいては、特別役及び再遊技役が内部抽選の対象外となり、小役の当選確率は、RT0〜5よりも高く高確率(約1/1.01)であり、1ゲームあたりのメダルの払出率は1以上となる。
BB(RB)は、RT4、5においてBBが入賞したときに移行する。そして、BB(RB)は、BB(RB)に移行してからのゲーム数に関わらず、BB(RB)に払い出されたメダルの総数が規定数を超えることで終了する。
BB(RB)においては、特別役及び再遊技役が内部抽選の対象外となり、小役の当選確率は、RT0〜5よりも高く高確率(約1/1.00)であり、1ゲームあたりのメダルの払出率は1以上となる。
RT4、5、RB、BB(RB)のうち、RB及びBB(RB)が1ゲームあたりのメダルの払出率がもっとも高く、最も有利な遊技状態である。
また、RT0〜3のうちRT0、2は、再遊技役の当選確率が高確率となり、1ゲームあたりのメダルの払出率がRT1、3に比較して高い点において、RT1、3よりも遊技者にとって有利な状態といえる。
また、本実施例におけるスロットマシンは、遊技状態がRT0〜3であるときに、サブ制御部91により、内部抽選結果を報知するナビ演出を実行可能な報知期間となるアシストタイム(以下、ATという)に演出状態を制御可能となっている。
ここで本実施例の遊技状態の移行状況について説明すると、図58に示すように、RBまたはBB(RB)が終了すると、RT3に移行する。
RT3では、移行出目が停止することで、RT1に移行し、特別役が当選することで、当選した特別役の種類に応じてRT4またはRT5に移行する。
RT3において左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、かつ小役を入賞させることができなかった場合に移行出目が停止することとなるため、RBまたはBB(RB)の終了後に移行したRT3において左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、かつ小役を入賞させることができなかった場合に、RT1に移行することとなる。
RT1では、昇格リプレイが入賞することでRT0に移行し、特別役が当選することで、当選した特別役の種類に応じてRT4またはRT5に移行する。
RT1においてリプレイGR1〜6が当選し、停止順が正解することで昇格リプレイが入賞することとなるため、RT1では、リプレイGR1〜6が当選し、停止順に正解することでRT0へ移行することとなる。
RT0では、転落リプレイが入賞するか、移行出目が停止することでRT1に移行し、特殊リプレイが入賞することでRT2へ移行し、特別役が当選することで、当選した特別役の種類に応じてRT4またはRT5に移行する。
RT0においてリプレイGR11〜15が当選し、停止順が正解することで特殊リプレイが入賞し、不正解であると転落リプレイが入賞する。また、RT0において左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、かつ小役を入賞させることができなかった場合に移行出目が停止する。このため、RT0では、リプレイGR11〜15が当選し、停止順が正解することでRT2へ移行し、リプレイGR11〜15が当選し、停止順が不正解となるか、左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、小役を入賞させることができなかった場合にRT1へ移行することとなる。
RT2では、特別役が当選することで、当選した特別役の種類に応じてRT4またはRT5に移行する。
RT2において左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、かつ小役を入賞させることができなかった場合に移行出目が停止する。このため、RT2では、左ベル1〜4、中ベル1〜4、右ベル1〜4のいずれかが当選し、小役を入賞させることができなかった場合にRT1へ移行することとなる。
RT4、5では、当該内部中へ移行する契機となった特別役が入賞することでRBまたはBB(RB)に移行する。
サブ制御部91は、後述のATに制御されている場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ演出を実行する。遊技状態に応じたナビ対象役とは、RT1であるときにはリプレイGR1〜6であり、RT0であるときにはリプレイGR11〜15である。また、RT0〜2のいずれにおいても、押し順ベルが共通のナビ対象役である。
本実施例のナビ演出は、液晶表示器51からのナビ画像の表示と、スピーカ53、54からのナビ音声の出力とによって行われる。ナビ画像として、例えば、リプレイGR1や左ベルに当選したときには、「123」(リール2Lが第1停止、リール2Cが第2停止、リール2Rが第3停止であることを示す)や「132」(リール2Lが第1停止、リール2Cが第3停止、リール2Rが第2停止であることを示す)といったストップスイッチ8L、8C、8Rの押下順序を示す押下順序画像と、スロットマシン1のモチーフに合わせたキャラクター画像とを表示する。また、ナビ音声として、例えば、「左中右!」(リール2Lが第1停止、リール2Cが第2停止、リール2Rが第3停止であることを示す)や「左右中!」(リール2Lが第1停止、リール2Cが第3停止、リール2Rが第2停止であることを示す)といったストップスイッチの押下順序を示す音声を出力する。尚、ナビ音声は、遊技者が最初あるいは次に押下すべきストップスイッチのみが出力される。したがって、全リールの回転中であれば、例えば最初に「左!」と出力され、リール2Lを停止させると次に「中!」と出力され、リール2L及びリール2Cを停止させると次に「右!」といった音声が出力される。他のリプレイGR2〜36や押し順ベルに関しても、リプレイGRに応じたナビ画像が液晶表示器51から表示されるとともにナビ音声がスピーカ53、54から出力される。
リプレイGR1〜6に当選したときのナビ演出としては、当選状況に応じて昇格リプレイを入賞させるための押し順(図64参照)が報知される。
リプレイGR11〜15に当選したときのナビ演出としては、当選状況に応じて特殊リプレイを入賞させるための押し順(図64参照)が報知される。
また、押し順ベルのいずれかに当選したときのナビ演出としては、右下がりベルまたは中段ベルを確実に入賞させるための押し順(図65参照)が報知される。
以上のように、本実施例におけるナビ演出は、遊技者にとって有利となる操作態様を想起させるメッセージが、ナビ対象役の種類に関わらず同じ態様で報知される。このため、遊技者は、当選したナビ対象役の種類を意識せずに遊技者にとって有利となる操作態様で操作することができる。
そして、ナビ演出が実行されることにより、意図的に当選した昇格リプレイ入賞、特殊リプレイ入賞、ベル入賞を入賞させること、転落リプレイの入賞を回避させることができる。
尚、ナビ演出の態様は、このような態様に限らず、遊技者が当選状況に応じて区別可能な態様であればどのようなものであっても良い。また、ナビ演出は、液晶表示器51に表示するものに限らず、演出効果LED52、スピーカ53、54、リールLED55等を用いて実行するものであっても良い。
また本実施例では、押し順ベルに当選した場合には第1停止させるストップスイッチのみが正解(すなわち、3択)すれば入賞するが、押し順リプレイはストップスイッチの押下順序について正解(すなわち、6択)させなければ入賞しないため、押し順ベルが当選した場合の第2リール及び第3リールに関するストップスイッチの押下順序についても押下順序抽選によって決定している。よって、あたかも6択の押下順序に正解しなければ押し順ベルが入賞しないかのようなナビ演出は行われるものの、押し順ベルに当選した場合には3択の押下順序に正解すれば押し順ベルは入賞するので、ナビ演出で報知された通りの押下順序にしたがわなくても第1停止のみ正解すれば押し順ベルは入賞する。そして、このように、ナビ対象役の全てにおいて6択とすることによってゲームの内容に統一性を持たせることができ、ゲームの内容を遊技者が理解しやすくできる。尚、押し順ベルは3択のうちの1択が正解すれば入賞するため、6択とする抽選を行わなくても良い。
本実施例においてサブ制御部91は、BB(RB)またはRBにおいて対象役(本実施例では、ベル、弱チェリー、強チェリー)が当選した場合にART(RT2でATに制御される状態)に制御するか否かを決定するナビストック抽選を行う。対象役の当選時のナビストック抽選では、0を含むナビストック数を決定することにより、ナビストック数を付与するか否か及び付与する場合にはその個数が決定される。
尚、ナビストック数が残っているときに、ナビストック数を新たに獲得したときには、残っているナビストック数に今回獲得したナビストック数を上乗せ加算させる。
ナビストックとは、RT1であればRT2へ移行させるための権利であり、かつRT2移行後、所定ゲーム数(本実施例では初期ゲーム数である50ゲームと後述する上乗せ抽選にて当選したゲーム数とを合算したゲーム数)にわたりARTに制御される権利の数を示す。RT2へ移行後、ナビストック数を1消費(減算)することにより、所定ゲーム数の間、ARTに制御され、その間後述のナビ演出が実行される。このため、決定されたナビストック数が多い程、遊技者にとって有利度合いが高いといえる。
サブ制御部91は、図66に示すように、ナビストック抽選において1以上のナビストックが決定されたときに、ナビストック数をRAM91cの所定領域に格納する。サブ制御部91は、RAM91cのナビストックの有無に基づき、ATに制御するか否かを特定する。そして、1以上のナビストックが残っている場合には、ART確定報知を経てARTの当選が報知された後にATに制御する。
サブ制御部91は、ATの制御を開始すると、対象役の当選時にナビ演出が実行される。この際、RT1においては、リプレイGR1〜6の当選時にナビ演出の対象となり、リプレイGR1〜6の当選時に昇格リプレイを入賞させる押し順がナビ演出により報知されるので、報知された押し順に従って停止操作を行うことによりRT1からRT0に移行させることが可能となる。また、ATの制御開始後は、RT0〜2のどの遊技状態であっても押し順ベルの当選時にはベルを入賞させる押し順が報知されるので、報知された押し順に従って停止操作を行うことにより、確実にメダルを獲得することも可能となる。
RT1において昇格リプレイが入賞し、RT0に移行した後は、リプレイGR11〜15の当選時にナビ演出の対象となり、リプレイGR11〜15の当選時に特殊リプレイを入賞させる押し順がナビ演出により報知されるので、報知された押し順に従って停止操作を行うことによりRT0からRT2に移行させることが可能となる。また、前述のように押し順ベルの当選時にはベルを入賞させる押し順が報知されるので、報知された押し順に従って停止操作を行うことにより、確実にメダルを獲得することも可能となるとともに、移行出目を回避し、RT1へ移行してしまうことを回避できる。
RT0において特殊リプレイが入賞し、RT2に移行することで、ARTの制御が開始することとなり、ART開始演出が既に行われている場合を除き特殊リプレイの入賞した次ゲームのスタート操作を契機にARTの開始を示すART開始演出を実行し、RAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定してARTの残りゲーム数の計数を開始する。この際、ART中に特別役の当選により中断し、ボーナス終了に伴う再開の場合を除いてナビストックを1消費(減算)する。
ART開始後は、押し順ベルの当選時にベルを入賞させる押し順が報知されるので、報知された押し順に従って停止操作を行うことにより、確実にメダルを獲得することも可能となるとともに、移行出目を回避し、RT1へ移行してしまうことを回避できる。
また、ART中においては、リプレイGR21の当選、BB1またはBB2の当選及びこれら当選に伴う後述のフリーズ状態において成功出目(黒7−黒7−黒7の組み合わせが入賞ラインLNに停止する出目)が停止することを契機としてゲーム数を上乗せする。この際、上乗せするゲーム数を複数定められた異なるゲーム数からいずれかのゲーム数を決定し、決定したゲーム数をRAM91cの残りゲーム数に加算する。
また、ARTの開始後、1ゲーム消化する毎に残りゲーム数が1減算されるとともに、残りゲーム数が0となる前に特別役が当選した場合には、特別役の当選が確定した旨を示すボーナス確定報知を行う。特別役の当選と同時にRT2は終了し、ARTが中断し、これに伴いARTのゲーム数の計数も中断することとなる。その後、当選した特別役の入賞を経て対応するボーナスに制御され、当該ボーナス終了後に移行するRT3において32ゲームが経過する前に移行出目が停止してRT1に移行するか、ボーナス終了後32ゲーム経過した時点でART確定報知を行い、ATの制御を再開し、これに伴いRT2に再度移行することでART開始演出を行ってARTを再開し、ARTの残りゲーム数の計数も再開する。この場合は、前述のようにナビストックは消費(減算)されないようになっている。尚、RT3においてART確定報知が行われた場合には、その後、押し順ベルが当選し、かつ取りこぼして移行出目が停止してRT1に移行するまではナビ演出が行われないようになっている。
また、ARTの開始後、残りゲーム数が0となった場合には、残っているナビストック数が0でなければ、ARTを潜伏させるか否かを決定する潜伏抽選を行い、潜伏させない旨が決定された場合には、当該ゲームの終了時にARTの終了を示すART終了演出を実行した後、次ゲームの賭数設定操作を契機にART開始演出を行ってARTを再開し、ナビストックを1消費(減算)してRAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定し、ARTの残りゲーム数の計数を開始する。
また、潜伏抽選において潜伏させる旨が決定された場合には、最大32ゲームの潜伏ゲーム数を決定し、当該ゲームの終了時にARTの終了を示すART終了演出を実行した後、ATの制御を終了させる。
この状態では、ナビ演出が実行されないので、押し順ベルの当選時に移行出目を回避することは不可能であり、移行出目が停止することでRT1に移行することとなるが、移行出目が停止するまではRT2が維持されることとなり、潜伏ゲーム数が経過するまでに移行出目が停止しなければ、次ゲームの賭数設定操作を契機にART開始演出を行ってARTを再開し、ナビストックを1消費(減算)してRAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定し、ARTの残りゲーム数の計数を開始する。
また、潜伏抽選において潜伏させる旨が決定され、ATの制御が終了した後、潜伏ゲーム数が経過する前に移行出目が停止し、RT1に移行した場合には、潜伏ゲーム数の経過後、ATの制御を再開し、これに伴いRT2に再度移行することでART開始演出を行ってARTを再開し、ナビストックを1消費(減算)してRAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定し、ARTの残りゲーム数の計数を開始する。
また、ARTの開始後、残りゲーム数が0となり、残っているナビストック数が0であればART終了演出を実行し、ATの制御を終了する。これに伴いナビ演出が実行されなくなるので、押し順ベルの当選時に移行出目を回避することが不可能となり、移行出目が停止することでRT1に移行することで一連のAT及びARTの制御が終了することとなる。
また、ART確定報知後、ART開始演出が行われる前の段階で、RT1においてリプレイGR1〜6の当選時にナビ演出が実行されたにも関わらず、ナビ演出により報知された押し順以外の押し順で停止操作を行った結果、昇格リプレイが入賞しなかった場合、RT0においてリプレイGR11〜15の当選時にナビ演出が実行されたにも関わらず、ナビ演出により報知された押し順以外の押し順で停止操作を行った結果、特殊リプレイが入賞せず転落リプレイが入賞してRT1に移行した場合、RT0において押し順ベルの当選時にナビ演出が実行されたにも関わらず、ナビ演出により報知された押し順以外の押し順で停止操作を行った結果、移行出目が停止してRT1に移行した場合には、RT2に移行しない状態でARTの制御が開始することとなり、ART開始演出が既に行われている場合を除き次ゲームのスタート操作を契機にART開始演出を実行し、RAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定してARTの残りゲーム数の計数を開始する。この際、ART中に特別役の当選により中断し、ボーナス終了に伴う再開の場合を除いてナビストックを1消費(減算)する。RT2に移行しない状態でのART中は、RT2に移行するまでの間、リプレイGR1〜6、リプレイGR11〜15、押し順ベルの当選時にナビ演出が実行されるようになっており、RT1においてリプレイGR1〜6が当選した場合に、ナビ演出に従って停止操作を行うことにより、RT0へ移行させることが可能となり、さらにRT0においてリプレイGR11〜15が当選した場合に、ナビ演出に従って停止操作を行うことにより、RT2へ移行させることが可能となる。
尚、RT2に移行後のART中であって、押し順ベルの当選時にナビ演出が実行されたにも関わらず、ナビ演出により報知された押し順以外の押し順で停止操作を行った結果、移行出目が停止してRT1に移行した場合にも、上記と同様RT2に移行しない状態でのARTに制御されることとなるが、この場合には、既にART開始演出が行われているため、改めてART開始演出が行われることはない。
また、RT2に移行しない状態でのARTでも、1ゲーム消化する毎に残りゲーム数が1減算されるとともに、残りゲーム数が0となる前に特別役が当選した場合には、特別役の当選が確定した旨を示すボーナス確定報知を行う。特別役の当選と同時にRT1は終了し、ARTが中断し、これに伴いARTのゲーム数の計数も中断することとなる。その後、当選した特別役の入賞を経て対応するボーナスに制御され、当該ボーナス終了後に移行するRT3において32ゲームが経過する前に移行出目が停止してRT1に移行するか、ボーナス終了後32ゲーム経過した時点でART確定報知を行い、ATの制御を再開し、これに伴いRT2に再度移行することでART開始演出を行ってARTを再開し、ARTの残りゲーム数の計数も再開する。この場合は、前述のようにナビストックは消費(減算)されないようになっている。尚、RT3においてART確定報知が行われた場合には、その後、押し順ベルが当選し、かつ取りこぼして移行出目が停止してRT1に移行するまではナビ演出が行われないようになっている。
また、RT2に移行しない状態でのARTの開始後、残りゲーム数が0となった場合には、残っているナビストック数が0でなければ、ARTを潜伏させるか否かを決定する潜伏抽選を行い、潜伏させない旨が決定された場合には、当該ゲームの終了時にARTの終了を示すART終了演出を実行した後、次ゲームの賭数設定操作を契機にART開始演出を行ってARTの制御をRT2に移行しないままで再開し、ナビストックを1消費(減算)してRAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定し、ARTの残りゲーム数の計数を開始する。
また、潜伏抽選において潜伏させる旨が決定された場合には、最大32ゲームの潜伏ゲーム数を決定し、当該ゲームの終了時にARTの終了を示すART終了演出を実行した後、ATの制御を終了させる。
そして潜伏ゲーム数の経過後、ATの制御を再開し、これに伴いRT2に移行することでART開始演出を行ってARTを再開し、ナビストックを1消費(減算)してRAM91cにARTの残りゲーム数の初期値(本実施例では50ゲーム)を設定し、ARTの残りゲーム数の計数を開始する。
また、RT2に移行しない状態でのARTの開始後、残りゲーム数が0となり、残っているナビストック数が0であればART終了演出を実行し、ATの制御を終了することで一連のAT及びARTの制御が終了することとなる。
このように本実施例では、特別役の入賞に伴い移行するBBとは別に、サブ制御部91がナビストックに基づいて遊技者にとって有利なARTに制御するようになっている。ARTは、BBに比較すると1ゲームあたりのメダルの増加期待値(1ゲームあたりの平均増加数から1ゲームあたりの平均減少数を減算した値)は低く設定されているものの、全体に対して滞在する割合(所定ゲーム数(例えば10000ゲーム)においてARTに制御されるゲーム数の割合)が高く設定されている。
また、本実施例では最も滞在する割合の高いRT1においてARTの確定報知が行われた後、直ちに遊技者にとって有利なRT2へ移行するのではなく、その後、RT1においてリプレイGR1〜6が当選し、昇格リプレイが入賞してRT0に移行し、さらにRT0においてリプレイGR11〜15が当選し、特殊リプレイが入賞することで初めてRT2へ移行し、この時点でARTの制御が開始し、ARTの残りゲーム数の計数を開始するようになっている。
また、ART確定報知が行われてATの制御が開始した後、RT2へ移行するまでの段階でのRT1においてリプレイGR1〜6が当選し、ナビ演出が実行され、このナビ演出に従うことで昇格リプレイを入賞させてRT0に移行させることが可能であるにも関わらず、昇格リプレイが入賞せずRT0に移行しなかった場合、RT0においてリプレイGR11〜15が当選し、ナビ演出が実行され、このナビ演出に従うことで特殊リプレイを入賞させてRT2に移行させることが可能であるにも関わらず、特殊リプレイが入賞せずRT2に移行しなかった場合、RT0において押し順ベルが当選し、ナビ演出が実行され、このナビ演出に従うことで移行出目の停止を回避させることが可能であるにも関わらず、移行出目を停止させてRT1へ移行させた場合には、RT2へ移行せずともARTの制御を開始し、RT2へ移行した場合のARTに比較してメダルの払出率が低い状態のままARTの残りゲーム数の計数を開始するようになっている。
また、ARTの制御の開始後、特別役が当選した場合には、その時点でRT2が終了することとなり、これに伴いARTの制御も中断するようになっている。そして、ボーナス終了後は、ARTを再開する場合には、ART確定報知が行われてATの制御が開始するものの、この場合も直ちに遊技者にとって有利なRT2へ移行するのではなく、RT3に滞在していれば移行出目が停止してRT1に移行し、RT1に滞在していれば、リプレイGR1〜6が当選し、昇格リプレイが入賞してRT0に移行し、さらにRT0においてリプレイGR11〜15が当選し、特殊リプレイが入賞することでRT2へ移行し、この時点でARTの制御が開始し、ARTの残りゲーム数の計数を開始するようになっている。
また、ARTの制御の終了後、ナビストックが残っている場合には、潜伏抽選を行い、潜伏抽選にて潜伏させない旨が決定された場合には、直ちにARTの制御を再開させる一方で、潜伏抽選にて潜伏させる旨が決定された場合には、直ちにARTの制御を再開させるのではなく、一度ATの制御を終了し、潜伏ゲーム数の経過後、ART確定報知を行い、この際、RT2が維持されていればARTの制御を再開することとなるが、RT1に移行している場合には、リプレイGR1〜6が当選し、昇格リプレイが入賞してRT0に移行し、さらにRT0においてリプレイGR11〜15が当選し、特殊リプレイが入賞することで初めてRT2へ移行し、この時点でARTの制御を再開させるようになっている。
このように本実施例では、RT1においてART確定報知が行われた後、ナビ演出に従って停止操作を行うことによりRT0を経て再遊技役の当選確率が高く、かつRT1に転落し難いRT2へ移行することとなり、ナビ演出に従って停止操作を行っている限りはRT2へ移行した時点でART開始演出を行い、ARTのゲーム数の計数もその時点から開始することとなるが、AT確定報知の後、ナビ演出が実行されたにも関わらずナビ演出を無視して停止操作を行った結果、RT0へ移行させることができなかった場合、RT0に移行後、RT1へ転落した場合、すなわちRT2への移行条件が成立しているにも関わらず、RT2への移行条件を成立させなかった場合には、その時点でART開始演出を行い、ARTの制御を開始し、RT2へ移行せずともARTの残りゲーム数の計数を開始するようになっており、ナビ演出に従わなければ結果として遊技者にとって不利となるので、RT2への移行条件が成立した場合に、ナビ演出に従って停止操作を行うことを促すことができる。
本実施例においてサブ制御部91は、ART中においてリプレイGR21が当選した場合、BB1またはBB2が当選した場合に、前述のように複数のゲーム数からいずれかのゲーム数を決定し、決定したゲーム数をARTの残りゲーム数に対して上乗せする。
サブ制御部91は、リプレイGR21が当選したゲームにおいてそのゲームの開始と同時に、図67(a)に示すように、液晶表示器51に「7(黒7)を狙え!!」と表示し、「黒7」を狙った停止操作を促す。この際、遊技者が「黒7」を狙って停止操作を行うことで、図67(b)に示すように、入賞ラインLNに「黒7−黒7−黒7」の組み合わせが停止するとともに、「やった〜!+XX(図中では+50)」と液晶表示器51に表示され、上乗せされたゲーム数が報知される。尚、遊技者が「黒7」の引込範囲外で停止操作を行った結果、図67(c)に示すように、入賞ラインLNに「黒7−黒7−黒7」の組み合わせが停止しなかった場合でも、「やった〜!+XX(図中では+50)」と液晶表示器51に表示され、リプレイGR21が当選したことによって上乗せされたゲーム数が報知される。
また、BB1が当選したゲーム(または持越中のゲーム)においてそのゲームの開始と同時に、液晶表示器51に「7(網7)を狙え!!」と表示し、「網7」を狙った停止操作を促す。この際、遊技者が「網7」を狙って停止操作を行うことで、入賞ラインLNに「網7−網7−網7」の組み合わせが停止するとともに、「やった〜!+XX」と液晶表示器51に表示され、上乗せされたゲーム数が報知される。同様に、BB2が当選したゲーム(または持越中のゲーム)においてそのゲームの開始と同時に、液晶表示器51に「7(白7)を狙え!!」と表示し、「白7」を狙った停止操作を促す。この際、遊技者が「白7」を狙って停止操作を行うことで、入賞ラインLNに「白7−白7−白7」の組み合わせが停止するとともに、「やった〜!+XX」と液晶表示器51に表示され、上乗せされたゲーム数が報知される。
また、サブ制御部91は、ART中においてリプレイGR21、BB1またはBB2が当選した場合だけでなく、リプレイGR22が当選した場合、すなわち「黒7」を狙って停止操作を行うことで第2停止操作までは「黒7」がテンパイするが、最終的に入賞ラインLNに「黒7−黒7−黒7」の組み合わせが停止しない場合にも、リプレイGR21が当選した場合と同様に、そのゲームの開始と同時に、図67(a)に示すように、液晶表示器51に「7(黒7)を狙え!!」と表示し、「黒7」を狙った停止操作を促すが、この場合には、遊技者が「黒7」を狙って停止操作を行っても、図67(d)に示すように、最終的に入賞ラインLNに「黒7−黒7−黒7」の組み合わせは停止せず、液晶表示器51に「残念…」と表示され、ゲーム数の上乗せがなかった旨が報知される。
一方、メイン制御部41は、図69に示すように、リプレイGR21、BB1またはBB2の当選時に、ゲームを進行させるための操作が有効化されるタイミングを遅延させることにより、所定期間にわたりゲームを進行させるための操作が無効化されるフリーズ状態に制御するか否かを決定するフリーズ抽選を行うとともに、フリーズ抽選の結果等が特定されるフリーズコマンドをサブ制御部91に送信する。
本実施例では、乱数回路508bのチャネルRL1により生成された乱数値を用いてフリーズ抽選の結果が判定される。
尚、既に、図24で説明したように、RL0ハードラッチ選択レジスタ1(RL0LS1)のビット6−4の設定内容によりいずれかの端子からの信号(ラッチ信号)に基づいて、乱数回路508bのチャネルRL1のRL0ハードラッチ乱数値レジスタ1(RL0HV1)に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、スタートスイッチ7が操作されたタイミングで乱数回路508bのチャネルRL1におけるRL0ハードラッチ乱数値レジスタ1(RL0HV1)に乱数値をラッチできるように構成されているが、操作手段からの検出信号によるタイミングで乱数回路508bのチャネルRL1により生成された乱数値がラッチされるものに限らず、所定のタイミングで乱数回路508bのチャネルRL1に対応する乱数ソフトラッチレジスタ(RDSL)のビット1(RL1SL)に“1”をセットすることでプログラムにて乱数回路508bのチャネルRL1におけるRL1ソフトラッチ乱数値レジスタ(RL1SV)に乱数値をラッチさせてフリーズ抽選の結果判定に用いるようにしても良い。
そしてメイン制御部41は、フリーズ抽選に当選した場合、すなわちフリーズ状態に制御する旨を決定した場合に、当該ゲームの終了時または次ゲームの開始操作と同時にフリーズ状態の制御を開始する。
リプレイGR21の当選を契機としてゲームの終了時にフリーズ状態に制御する場合には、いずれかの再遊技役が入賞し、その後所定期間にわたり再遊技役の入賞に伴う賭数の自動設定及び次ゲームの開始操作が有効化されるタイミングを遅延させることにより、ゲーム終了後、所定期間にわたりゲームの進行を遅延させる。
また、リプレイGR21の当選を契機として次ゲームの開始時にフリーズ状態に制御する場合には、次ゲームにおいてゲームの開始操作がされたときに、所定期間にわたりリールの停止操作が有効化されるタイミングを遅延させることにより、ゲーム開始後、所定期間にわたりゲームの進行を遅延させる。
また、BB1またはBB2の当選を契機としてゲームの終了時にフリーズ状態に制御する場合には、当選したBB1またはBB2が入賞し、その後所定期間にわたり賭数の設定操作(メダルの投入またはMAXBETスイッチ6の操作による賭数の設定操作)が有効化されるタイミングを遅延させることにより、ゲーム終了後、所定期間にわたりゲームの進行を遅延させる。
一方、サブ制御部91は、フリーズ状態の制御が開始されるタイミングで、図67(e)に示すように、「フリーズ開始!やった〜!」というメッセージを液晶表示器51に表示させ、フリーズ状態が開始した旨を報知する。
また、フリーズ抽選に当選しなかった場合、すなわちフリーズ状態に制御しない旨を決定した場合には、フリーズ状態には制御されず、サブ制御部91は、次ゲームが開始したタイミングで、図67(f)に示すように、「残念…」というメッセージを液晶表示器51に表示させ、フリーズ状態には制御されない旨を報知する。
メイン制御部41は、フリーズ状態においてリール2L、2C、2Rを用いたリール演出を実行する。
リール演出では、まず、フリーズ状態に制御されるゲームの開始操作がされたときに当該フリーズ状態において成功出目(「黒7−黒7−黒7」の組み合わせが入賞ラインLNに揃う停止態様)が停止する回数である成功回数を0〜10の範囲で決定する成功回数抽選を行い、決定された成功回数をRAM41cに設定する。
本実施例では、乱数回路508bのチャネルRL2により生成された乱数値を用いて成功回数抽選の成功回数が判定される。
尚、既に、図25で説明したように、RL0ハードラッチ選択レジスタ2(RL0LS2)のビット2−0の設定内容によりいずれかの端子からの信号(ラッチ信号)に基づいて、乱数回路508bのチャネルRL2のRL0ハードラッチ乱数値レジスタ2(RL0HV2)に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、フリーズ状態に制御されるゲームの開始操作がされたタイミングで乱数回路508bのチャネルRL2におけるRL0ハードラッチ乱数値レジスタ2(RL0HV2)に乱数値をラッチできるように構成されている。また、本実施例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、スタートスイッチ7が操作されたタイミングで乱数回路508bのチャネルRL2におけるRL0ハードラッチ乱数値レジスタ1(RL0HV2)に乱数値をラッチできるように構成されているが、操作手段からの検出信号によるタイミングで乱数回路508bのチャネルRL2により生成された乱数値がラッチされるものに限らず、所定のタイミングで乱数回路508bのチャネルRL2に対応する乱数ソフトラッチレジスタ(RDSL)のビット2(RL2SL)に“1”をセットすることでプログラムにて乱数回路508bのチャネルRL2におけるRL2ソフトラッチ乱数値レジスタ(RL2SV)に乱数値をラッチさせて成功回数抽選の結果判定に用いるようにしても良い。
成功回数抽選の後、図67(e)に示すように、リール2L、2C、2Rを回転させて基準位置を検出した後、検出した基準位置に基づいて、図68(a)に示すように、各リールの「黒7」が上段よりも上の位置(以後、枠上と呼ぶ)となる準備出目とし、リール2L、2C、2Rを上下に微動させた状態で待機する。この際、準備出目停止コマンドが送信され、サブ制御部91は、液晶表示器51に「レバーを叩いて!」というメッセージが表示され、スタートスイッチ7の操作を促す。尚、本実施例では、リール演出の開始時に基準位置を検出し、この基準位置に基づいてリールの位置を制御する構成であるが、前回のゲーム終了時の停止位置を保持し、この停止位置に基づいてリールの位置を制御する構成としても良い。
上記の準備出目の待機状態で、スタートスイッチ7の操作が検出されるか、一定時間経過することで、RAM41cに設定されている成功回数が1以上の場合には、図68(b)に示すように、枠上の「黒7」を入賞ラインLNの位置まで移動させて成功出目を導出させる。この際、成功出目が導出された旨の結果出目停止コマンドが送信され、サブ制御部91は、複数のゲーム数からいずれかのゲーム数を決定し、決定したゲーム数に基づいて「やった〜!+XX(図中では+20)」と液晶表示器51に表示し、成功出目の導出に伴いARTのゲーム数が上乗せされた旨及びそのゲーム数を報知する。
次いで、メイン制御部41は、RAM41cに設定されている成功回数から1を減算し、さらに次回も成功する可能性が高い旨を示唆する予告出目(左、右リールの「黒7」が上段に位置し、中リールの「黒7」が下段に位置する停止態様)を導出させるか否かを決定する成功予告抽選を行う。
本実施例では、乱数回路508bのチャネルRL3により生成された乱数値を用いて成功予告抽選の結果が判定される。
尚、既に、図25で説明したように、RL0ハードラッチ選択レジスタ2(RL0LS2)のビット6−4の設定内容によりいずれかの端子からの信号(ラッチ信号)に基づいて、乱数回路508bのチャネルRL3のRL0ハードラッチ乱数値レジスタ3(RL0HV3)に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、準備出目の待機状態においてスタートスイッチ7が操作されたタイミングで乱数回路508bのチャネルRL3におけるRL0ハードラッチ乱数値レジスタ3(RL0HV3)に乱数値をラッチできるように構成されている。また、準備出目の待機状態においてスタートスイッチ7が操作されずとも、一定時間経過することでプログラムにて乱数回路508bのチャネルRL3に対応する乱数ソフトラッチレジスタ(RDSL)のビット3(RL3SL)に“1”をセットすることで乱数回路508bのチャネルRL3におけるRL3ソフトラッチ乱数値レジスタ(RL3SV)に乱数値をラッチできるように構成されている。
そして、成功予告抽選に当選した場合、すなわち予告出目を導出させると決定した場合には、図68(c)に示すように、予告出目を導出させる。この際、予告出目停止コマンドが送信され、サブ制御部91は、「次回チャンスだ!」というメッセージを液晶表示器51に表示させることで、次回も成功する可能性が高い旨を報知する。
そして、メイン制御部41は、予告出目の導出後、図68(d)に示すように、準備出目に向けてリール2L、2C、2Rを回転させる。この際、変動再開コマンドが送信され、サブ制御部91は、「もう1回!」というメッセージを液晶表示器51に表示させて、リール演出が継続する旨を報知する。
次いで、メイン制御部41は、再び、図68(a)に示すように、各リールを準備出目とし、リール2L、2C、2Rを上下に微動させた状態で待機する。
また、成功予告抽選に当選しなかった場合、すなわち予告出目を導出させないと決定した場合には、予告出目は導出させず、図68(d)に示すように、準備出目に向けてリール2L、2C、2Rを回転させる。
成功予告抽選では、成功回数が1以上の場合に成功回数が0の場合よりも高い確率で予告出目の導出を決定するとともに、成功回数が多いほど高い確率で予告出目の導出を決定するようになっており、成功出目が導出された後、さらに予告出目が導出されることで、予告出目が導出されない場合に比較して次回も成功出目が導出される可能性が高い旨が示唆されるとともに、予告出目が導出されないばあいに比較して多くの成功回数が残っている可能性が示唆されることとなる。
そしてメイン制御部41は、準備出目→スタートスイッチ7操作または一定時間経過→成功出目→成功回数減算→成功予告抽選→(予告出目→)準備出目という制御をRAM41cに設定されている成功回数が0となるまで繰り返す。そして、成功回数が0となり、準備出目の待機状態で、スタートスイッチ7が操作されるか、一定時間が経過した場合には、図68(e)に示すように、失敗出目(入賞ラインLNに「黒7−黒7−黒7」の組み合わせが停止しない停止態様)を導出させる。この際、失敗出目が導出された旨の結果出目停止コマンドが送信され、サブ制御部91は、「残念…」というメッセージを液晶表示器51に表示させて失敗出目が導出され、上乗せがされなかった旨を報知した後、図68(f)に示すように、当該リール演出にて成功出目が導出された結果、上乗せされたARTの合計ゲーム数(リプレイGR21が当選したことに伴って上乗せされたゲーム数を含む)を液晶表示器51に表示する。
そして、失敗出目が導出されたことに伴ってフリーズ状態も終了し、リプレイGR21当選に伴うゲーム終了時のフリーズ状態であれば、リールの回転を停止させ、再遊技入賞に伴う賭数の自動設定後、次ゲームの開始操作が有効となり、BB1またはBB2当選に伴うゲーム終了時のフリーズ状態であれば、リールの回転を停止させ、賭数の設定操作が有効となり、リプレイGR21当選に伴う次ゲームの開始時のフリーズ状態であれば、一旦全てのリールを停止させた後、リールの回転を開始し、定速回転となることで、停止操作が有効となる。
このように本実施例では、ART中にリプレイGR21、BB1またはBB2が当選したことを契機としてフリーズ状態に制御された場合に、このフリーズ状態に制御されている期間においてリール演出を行い、リール演出にて成功出目が導出される毎に、ARTのゲーム数が上乗せされるようになっている。
また、準備出目の待機状態となる前の段階で、その後、成功出目が導出される可能性が高い旨が示唆される予告出目を導出させることが可能とされており、予告出目が導出されることで、その後、成功出目が導出されること、すなわちARTのゲーム数が上乗せされることへの期待感を効果的に高めることができる。
尚、本実施例では、リール演出にて成功出目が導出される毎にARTのゲーム数が上乗せされる構成であるが、成功出目が導出される毎にナビストック数が上乗せされる構成としても良い。さらには、リール演出にて成功出目が導出されることで、特別役が当選している旨、またはその可能性が示唆される構成としても良い。
また、本実施例では、一度成功出目が導出された後、成功予告抽選を行い、当選した場合に予告出目を導出させて次回成功出目が導出される可能性が高い旨が示唆される構成であるが、初回、準備出目での待機状態となる前にも成功予告抽選を行い、当選した場合に予告出目を導出させて次回成功出目が導出される可能性が高い旨が示唆される構成としても良い。
また、本実施例では、成功出目が導出された後、予告出目が導出される構成であるが、少なくとも成功出目が導出される前のタイミングであれば良く、準備出目の待機状態の後、成功出目または失敗出目が導出される前のタイミングで予告出目が導出される構成としても良い。
また、本実施例では、フリーズ状態に制御されている期間においてリール演出が実行されるとともに、フリーズ抽選の結果に応じてフリーズ状態に制御され、成功回数抽選により決定された成功回数、成功予告抽選の結果に応じてリール演出が実行されるようになっている。そして、これらフリーズ抽選、成功回数抽選、成功予告抽選にメイン制御部41が搭載する乱数回路508bが生成した乱数を利用しているが、乱数回路508bは、それぞれ別個の乱数を生成するチャネルRL0〜RL3の4回路を備えており、フリーズ抽選、成功回数抽選、成功予告抽選では、乱数回路508bが生成する乱数のうち内部抽選に用いるチャネルRL0にて生成される乱数とは別のチャネルRL1〜RL3にて生成される乱数が用いられるので、内部抽選が用いる乱数と、リール演出に関するフリーズ抽選、成功回数抽選、成功予告抽選が用いる乱数と、が同期してしまうことを防止できる。
また、本実施例では、リール演出にて成功出目が導出される毎に、ARTのゲーム数が上乗せされることとなるが、成功回数抽選に当選した回数に応じて成功出目が導出されることから、成功回数抽選は、遊技者にとっての有利度を決定する抽選としても機能する。そして、この成功回数抽選にメイン制御部41が搭載する乱数回路508bが生成した乱数を利用しているが、乱数回路508bは、それぞれ別個の乱数を生成するチャネルRL0〜RL3の4回路を備えており、成功回数抽選では、乱数回路508bが生成する乱数のうち内部抽選に用いるチャネルRL0にて生成される乱数とは別のチャネルRL2にて生成される乱数が用いられるので、内部抽選が用いる乱数と、遊技者にとっての有利度を決定する成功回数抽選が用いる乱数と、が同期してしまうことを防止できる。
尚、本実施例では、16ビット乱数回路508bの異なるチャネル(チャネル0とチャネル1とチャネル2とチャネル3)からそれぞれ乱数値を抽出することにより、内部抽選を行う場合と、フリーズ抽選を行う場合と、成功回数抽選を行う場合と、成功予告抽選を行う場合と、で乱数を抽出する乱数値を異ならせる場合を示したが、本実施例で示した態様に限られない。例えば、16ビット乱数回路508bの同じチャネルであっても、その同じチャネルで用いる異なるハードラッチ乱数値レジスタから(例えば、同じチャネル0のRL0ハードラッチ乱数値レジスタ0(RL0HV0)とRL0ハードラッチ乱数値レジスタ1(RL0HV1)とから)乱数値を抽出することにより、抽出する乱数値レジスタを異ならせても良い。
また、本実施例では、フリーズ抽選、成功回数抽選、成功予告抽選が用いる乱数として、16ビット乱数回路508bが生成した乱数を利用しているが8ビット乱数回路508aが生成した乱数を利用しても良い。
また、本実施例では、フリーズ抽選、成功回数抽選、成功予告抽選が用いる乱数として、乱数回路508bが生成した乱数を利用しているが、これらの抽選に用いる乱数の全部または一部にプログラムによって更新されるソフト乱数を用いても良い。
また、本実施例では、遊技者にとっての有利度を決定する構成としてARTのゲーム数を決定する構成、すなわち遊技者に対して付与される特典の有利度を決定する構成が適用されているが、遊技者にとって有利な特典が付与されるか否かを決定する構成でも良い。
また、遊技者にとって有利な特典としてARTのゲーム数を適用しているが、遊技者にとって有利な遊技状態(ART、ボーナス等)へ移行させることが可能となる権利(有利な遊技状態を発生するか否かを決定する抽選に当選すること(ナビストックの当選)、有利な遊技状態へ移行する入賞が許容されること(特別役の当選)など)、遊技者にとって有利な表示結果を導出させるための操作態様が報知される権利、遊技用価値が付与される期待値が高い遊技状態に制御される権利、現在の遊技状態が遊技者にとって有利な遊技状態か否かが報知される権利など、遊技者にとって直接的な有利な特典であっても良いし、遊技者にとって直接的に有利ではないが、例えば、インターネット上で特典を得るための条件となる等、遊技者にとって間接的に有利な特典であっても良い。
次に、リール演出における成功出目及び失敗出目の決定方法の変形例について説明する。尚、本変形例では、リール演出自体の制御は、共通の構成を含むものであり、ここでは主に相違する構成について説明する。
上記の例では、リール演出を開始するにあたり、当該リール演出において成功出目が導出される回数である成功回数を予め決定していたが、本変形例では、図70に示すように、メイン制御部41は、フリーズ状態に制御されるゲームの開始操作がされたときに、次回準備出目での待機状態でスタートスイッチ7が操作されるか、一定時間が経過した際に成功出目が導出されるか否かを決定する成功抽選を行う。そしてその後、準備出目での待機状態でスタートスイッチ7が操作されるか、一定時間が経過した場合に、直前の成功抽選の結果に基づいて成功出目または失敗出目を導出させる。
そして、待機状態でスタートスイッチが操作されるか、一定時間が経過したときに、成功出目が導出される場合には、さらに成功抽選を行い、次回成功出目を導出させるか否かを決定し、成功予告抽選を行い、当選した場合には予告出目を導出させた後、準備出目での待機状態とし、一方で、成功予告抽選に当選しなかった場合には、予告出目を導出させずに準備出目での待機状態とする。
本変形例では、乱数回路508bのチャネルRL2により生成された乱数値を用いて成功抽選の結果が判定される。
尚、既に、図25で説明したように、RL0ハードラッチ選択レジスタ2(RL0LS2)のビット2−0の設定内容によりいずれかの端子からの信号(ラッチ信号)に基づいて、乱数回路508bのチャネルRL2のRL0ハードラッチ乱数値レジスタ2(RL0HV2)に乱数値をラッチさせるかが設定されている。また、本変形例では、その設定された端子には、スタートスイッチ7からの検出信号がラッチ信号として入力されるようになっており、フリーズ状態に制御されるゲームの開始操作がされたタイミング、または準備出目の待機状態においてスタートスイッチ7が操作されたタイミングで乱数回路508bのチャネルRL2におけるRL0ハードラッチ乱数値レジスタ2(RL0HV2)に乱数値をラッチできるように構成されている。また、準備出目の待機状態においてスタートスイッチ7が操作されずとも、一定時間経過することでプログラムにて乱数回路508bのチャネルRL2に対応する乱数ソフトラッチレジスタ(RDSL)のビット2(RL2SL)に“1”をセットすることで乱数回路508bのチャネルRL2におけるRL2ソフトラッチ乱数値レジスタ(RL2SV)に乱数値をラッチできるように構成されている。
本変形例では、上記実施例と同様に乱数回路508bのチャネルRL3により生成された乱数値を用いて成功予告抽選の結果が判定される。
この準備出目の待機状態では、初回と同様にスタートスイッチ7が操作されるか、一定時間が経過した場合に、直前の成功抽選の結果に基づいて成功出目または失敗出目を導出させる。
そしてメイン制御部41は、準備出目→スタートスイッチ7操作または一定時間経過→成功出目→成功抽選→成功予告抽選→(予告出目→)準備出目という制御を、成功抽選にて失敗出目が決定されるまで繰り返す。そして成功抽選にて失敗出目が決定された後、準備出目の待機状態で、スタートスイッチ7が操作されるか、一定時間が経過した場合には、失敗出目を導出させる。これに伴いフリーズ状態も終了し、一旦全てのリールを停止させた後、リールの回転を開始し、定速回転となることで、停止操作が有効となる。
本変形例では、成功予告抽選にて、成功抽選にて成功出目が決定されている場合に、失敗出目が決定されている場合に比較して予告出目の導出が決定される確率を高くすることで、予告出目が導出されることにより次回準備出目の後、成功出目が導出される可能性が高い旨が示唆されることとなる。また、一のリール演出に用いる成功抽選の確率として異なる複数の確率を適用する構成としても良く、このような構成において成功抽選の確率として高い確率が適用されている場合ほど、成功予告抽選で予告出目の導出が当選する確率を高く設定することで、予告出目が導出されることにより成功抽選の確率が優遇されている可能性を示唆することも可能である。
また、本変形例では、リール演出にて成功出目が導出される毎にARTのゲーム数が上乗せされる構成であるが、成功出目が導出される毎にナビストック数が上乗せされる構成としても良い。さらには、リール演出にて成功出目が導出されることで、特別役が当選している旨、またはその可能性が示唆される構成としても良い。
また、本変形例では、一度成功出目が導出された後、成功予告抽選を行い、当選した場合に予告出目を導出させて次回成功出目が導出される可能性が高い旨が示唆される構成であるが、初回、準備出目での待機状態となる前にも成功予告抽選を行い、当選した場合に予告出目を導出させて次回成功出目が導出される可能性が高い旨が示唆される構成としても良い。
また、本変形例では、リール演出にて成功出目が導出される毎に、ARTのゲーム数が上乗せされることとなるが、成功抽選の結果に応じて成功出目が導出されることから、成功抽選は、遊技者にとっての有利度を決定する抽選としても機能する。そして、この成功抽選にメイン制御部41が搭載する乱数回路508bが生成した乱数を利用しているが、乱数回路508bは、それぞれ別個の乱数を生成するチャネルRL0〜RL3の4回路を備えており、フリーズ抽選、成功抽選、成功予告抽選では、乱数回路508bが生成する乱数のうち内部抽選に用いるチャネルRL0にて生成される乱数とは別のチャネルRL1〜3にて生成される乱数が用いられるので、内部抽選が用いる乱数と、リール演出に関するフリーズ抽選、成功抽選、成功予告抽選が用いる乱数と、が同期してしまうことを防止できる。
尚、本変形例では、フリーズ抽選、成功抽選、成功予告抽選が用いる乱数として、乱数回路508bが生成した乱数を利用しているが、成功抽選に用いる乱数にプログラムによって更新されるソフト乱数を用いても良い。
また、本変形例では、16ビット乱数回路508bの異なるチャネル(チャネル0とチャネル1とチャネル2とチャネル3)からそれぞれ乱数値を抽出することにより、内部抽選を行う場合と、フリーズ抽選を行う場合と、成功抽選を行う場合と、成功予告抽選を行う場合と、で乱数を抽出する乱数値を異ならせる場合を示したが、本実施例で示した態様に限られない。例えば、16ビット乱数回路508bの同じチャネルであっても、その同じチャネルで用いる異なるハードラッチ乱数値レジスタから(例えば、同じチャネル0のRL0ハードラッチ乱数値レジスタ0(RL0HV0)とRL0ハードラッチ乱数値レジスタ1(RL0HV1)とから)乱数値を抽出することにより、抽出する乱数値レジスタを異ならせても良い。
また、本変形例では、フリーズ抽選、成功抽選、成功予告抽選が用いる乱数として、16ビット乱数回路508bが生成した乱数を利用しているが8ビット乱数回路508aが生成した乱数を利用しても良い。
また、本変形例では、フリーズ抽選、成功抽選、成功予告抽選が用いる乱数として、乱数回路508bが生成した乱数を利用しているが、フリーズ抽選、成功抽選、成功予告抽選に用いる乱数としてプログラムによって更新されるソフト乱数を用いても良い。
次に、メイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリールの加速処理について説明する。尚、この加速処理は、ゲーム開始時にリール演出が実行された場合だけでなく、前のゲーム終了時にリール演出が実行された場合にも実行されるものである。
図71は、メイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリール演出後加速処理の制御内容を示すフローチャートである。
リール演出後加速処理では、まず、全てのリールが停止しているか否かを判定し(S1)、全てのリールが停止するまで待機する。
S1のステップにおいて全てのリールが停止していると判定された後、左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)をそれぞれ抽出する(S2)。図72に示すように、左遅延用乱数値(Lr)は、タイマ割込処理(メイン)が実行される毎に0〜996(総数997)の範囲で1ずつ加算更新される左遅延用乱数カウンタから抽出され、中遅延用乱数値(Cr)は、タイマ割込処理(メイン)が実行される毎に0〜997(総数998)の範囲で1ずつ加算更新される中遅延用乱数カウンタから抽出され、右遅延用乱数値(Rr)は、タイマ割込処理(メイン)が実行される毎に0〜998(総数999)の範囲で1ずつ加算更新される左遅延用乱数カウンタから抽出される。
次いで、S2のステップにおいて抽出された左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)に基づいて左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)をそれぞれ算出し、RAM41cに設定する(S3)。
詳しくは、図73に示すように、左リール用タイマ値(Lt)は、左遅延用乱数値(Lr)を21で除して余った値であり、中リール用タイマ値(Ct)は、中遅延用乱数値(Cr)を21で除して余った値であり、右リール用タイマ値(Rt)は、右遅延用乱数値(Rr)を21で除して余った値であり、いずれも0〜20の値となる。
次いで、S3のステップにおいて設定された左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)を特定可能なリール遅延コマンドをコマンドキューに設定する(S4)。コマンドキューに設定されたリール遅延コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理においてサブ制御部91に送信される。これに伴いサブ制御部91は、リールの加速時間などを加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。
次いで、左リールの回転開始の設定を行い、左リールの回転を開始した後(S5)、左リールの加速が完了したか否か、すなわち左リールが定速回転となったか否かを判定する(S6)。
ここで、リールが定速回転となったか否かの判断方法について説明する。メイン制御部41がリールを回転開始するにあたり、リールモータのステップ幅が異なる複数の制御状態を段階的に切り替えることによりリールを加速する制御行い、最終的に定速回転時のステップ幅の制御状態に到達後、このステップ幅を維持する制御を行うこととなる。この際、メイン制御部41は、各段階の制御状態を示す制御フラグがRAM41cに設定され、当該制御フラグを参照することで、制御状態を切り替える。そして、リールが定速回転となったか否かは、定速回転時のステップ幅の制御状態を示す制御フラグが設定されているか否かにより判定し、当該制御フラグが設定されている場合にリールが定速回転となったと判定することとなる。
尚、リールが定速回転となったか否かの判断方法はこれに限らず、例えば、リールの基準位置が検出されてから次回基準位置が検出されるまでの時間を計測し、この計測した時間が規定回数以上、定速回転時の時間と一致することで、リールが定速回転となったと判定する構成、すなわち物理的にリールの速度を検出し、定速回転となったか否かを判定する構成としても良い。
S6のステップにおいて左リールの加速が完了したと判定された後、RAM41cに割り当てられた遅延用タイマカウンタにS3のステップにおいて設定された左リール用タイマ値に60を乗算した値を設定し(S7)、遅延用タイマカウンタ値が0となるまで待機する(S8)。
S8のステップにおいて遅延用カウンタ値が0となると、中リールの回転開始の設定を行い、中リールの回転を開始した後(S9)、中リールの加速が完了したか否か、すなわち中リールが定速回転となったか否かを判定する(S10)。
遅延用タイマカウンタ値は、約0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎に1ずつ減算されることとなるため、(左リール用タイマ値×60×0.56)msの時間が計時されることとなる。また、前述のように左リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、左リールの加速完了後、0〜リール1周するまでのタイミングで中リールの回転が開始することとなる。
S10のステップにおいて中リールの加速が完了したと判定された後、遅延用タイマカウンタにS3のステップにおいて設定された中リール用タイマ値に60を乗算した値を設定し(S11)、遅延用タイマカウンタ値が0となるまで待機する(S12)。
S12のステップにおいて遅延用カウンタ値が0となると、右リールの回転開始の設定を行い、右リールの回転を開始した後(S13)、右リールの加速が完了したか否か、すなわち右リールが定速回転となったか否かを判定する(S14)。
前述のように遅延用タイマカウンタ値は、約0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎に1ずつ減算されることとなり、(中リール用タイマ値×60×0.56)msの時間が計時されることとなり、中リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、中リールの加速完了後、0〜リール1周するまでのタイミングで右リールの回転が開始することとなる。
S14のステップにおいて右リールの加速が完了したと判定された後、遅延用タイマカウンタにS3のステップにおいて設定された右リール用タイマ値に60を乗算した値を設定し(S15)、遅延用タイマカウンタ値が0となるまで待機する(S16)。
S16のステップにおいて遅延用カウンタ値が0となると、停止操作の有効化を設定し、これに伴い各リールの停止操作が有効化され(S17)、リール演出後加速処理を終了する。
前述のように遅延用タイマカウンタ値は、約0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎に1ずつ減算されることとなり、(右リール用タイマ値×60×0.56)msの時間が計時されることとなり、右リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、右リールの加速完了後、0〜リール1周するまでのタイミングでリールの停止操作が有効となる。
フリーズ状態に制御されることに伴うリール演出の実行後、上記のリール演出後加速処理を実行することで、図75に示すように、全てのリールが停止している状態から左リールの回転を開始し、定速回転となった時点から0〜リール1周するまでの範囲で変動する左リール遅延時間(左リール用タイマ値×60×0.56ms)が経過した時点で、中リールの回転を開始し、定速回転となった時点から0〜リール1周するまでの範囲で変動する中リール遅延時間(中リール用タイマ値×60×0.56ms)が経過した時点で、右リールの回転を開始し、定速回転となった時点から0〜リール1周するまでの範囲で変動する右リール遅延時間(右リール用タイマ値×60×0.56ms)が経過した時点で各リールの停止操作が有効となる。
このように本実施例では、ゲームの進行を遅延させているフリーズ状態において、3つのリール同士の相対的な位置関係が特定位置関係、すなわち「黒7−黒7−黒7」の組み合わせが一直線上に並ぶ位置関係となるように制御するリール演出制御が行われるため、フリーズ状態におけるリールの変動態様にてインパクトある演出を行うことができる。
尚、本実施例では、複数の可変表示領域を構成する表示帯同士の相対的な位置関係が特定位置関係となるように前記複数の可変表示領域の変動制御を行う特殊変動制御として、回転する3つのリールにおいて同一図柄の組み合わせが一直線上に揃うようにリールを停止させるリール演出制御を適用しているが、このような演出に限るものではなく、単に3つのリールにおいて同一図柄の組み合わせが一直線上に並んだ状態で同期回転させるだけの演出を適用しても良い。また、同一図柄の組み合わせが一直線上に揃うものだけでなく、異なる図柄の組み合わせであるが、透視窓に表示されている図柄を用いて遊技者が特定の役の当選やナビストックの当選などを示唆することが可能な表示態様(例えば、リーチ目やチャンス目など)を停止させたり、その状態で同期回転させる演出を適用しても良い。
また、上記のように3つのリール同士の相対的な位置関係が特定位置関係、例えば「黒7−黒7−黒7」の並びとなるリール演出制御を行った後、そのままの位置関係でリールの停止操作を有効とすると、遊技者が適当に連続してストップスイッチ8L、8C、8Rの操作を行った場合、最初に停止操作を行ったタイミングが偶然、「黒7」の引込範囲であれば、他のリールの停止操作のタイミングも「黒7」の引込範囲となる可能性が高くなり、リール演出制御を行わなかった場合、すなわち3つのリール同士の相対的な位置関係が特定位置関係ではない場合に、遊技者が適当に連続してストップスイッチ8L、8C、8Rの操作を行った場合に比較して、「黒7−黒7−黒7」が揃う可能性が高まってしまうこととなる。このように、リール演出制御を行うことにより、リール同士の相対的な位置関係と、リールの停止操作との間に一定の規則性が生まれることによってリールの停止操作の技術介入の度合いが変化してしまう虞がある。
これに対して、本実施例では、リール演出の後、複数のリール全てが一旦停止し、その後一のリールが回転を開始した後、次のリールが回転を開始するまでの時間がランダムに変化することで、リール演出の後、停止操作が有効化される前に、3つのリールの相対的な位置関係がランダムに変化するようになっており、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、このようなリール演出を行わなかった場合であっても、その後、停止操作が有効となった後、リールの停止操作の難易度が変化することがない。すなわち、リール演出を行った場合でも、リール演出を行わなかった場合には生じることのない一定の規則性が生まれることがなく、リール演出を行うことによって遊技者による技術介入により表示結果を導出させるというスロットマシンの遊技性が損なわれてしまうことがない。
また、最初に回転を開始する左リールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信するようになっている。また、リールの加速時間は一定であるので、リール遅延コマンドを受信したサブ制御部91は、そのタイミングに対してリールの加速時間を加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。このため、メイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
尚、本実施例では、リール演出の後、全てのリールを一旦停止させた後、リールの回転を開始させるタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成であるが、リール演出の後、全てのリールを定速回転の速度よりも遅い第1の速度とした後、リールの速度を定速回転に向けて加速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としたり、リール演出の後、全てのリールを定速回転の速度よりも速い第2の速度とした後、リールの速度を定速回転に向けて減速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としても良い。
また、本実施例では、最後に回転が開始する右リールの加速完了後、右リールに対する遅延時間が経過した後に、停止操作が有効となる構成であるが、最後に回転が開始する右リールの加速完了後、すぐに停止操作を有効とした場合でも、3つのリールの相対的位置関係はランダムな位置関係となるので、この時点で停止操作を有効化する構成としても良い。
また、本実施例では、左リール、中リール、右リールの順番で回転を開始する構成であるが、予め定められた他の順番でリールの回転を開始する構成としても良いし、リール回転開始順が変化する構成でも良い。
また、本実施例では、リール演出の後、最初に回転を開始するリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であるが、少なくとも最初に回転を開始するリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であれば、上記と同様の効果が得られるものであり、例えば、ゲームの開始操作がされ、ゲームが開始したタイミング、すなわちフリーズ状態に制御される前のタイミングで全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成とした場合でも、上記と同様にメイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
また、本実施例では、各リールの遅延時間が、リールが0〜1周する時間の範囲でランダムに変動するようになっており、相対的な位置関係を最大限ずらすことが可能であり、かつ必要以上にリールの遅延時間が長くなってしまうことを防止できる。
また、本実施例では、一のリールの加速が完了した後、次のリールの回転を開始するまでに遅延時間を設定しているため、各リールに対して遅延時間を計時するためのカウンタをRAM41cに割り当てる必要がなく、全てのリールに対して共通の遅延用タイマカウンタを割り当てるのみで各リールに対する遅延時間を計時することが可能となる。特に、本実施例のよう0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎にカウンタ値を減算することで計時する構成においては、最大でリールが1周する時間の遅延時間を設定する場合に、リール用タイマ値の最大値(20)×60=1260を格納可能な11ビットの領域、実質的には2バイトの領域が必要であり、各リール毎に設けると、実質的には6バイトの領域が必要となるが、本実施例のように、左、中、右リール用タイマ値の領域としてそれぞれ1バイトずつ割り当てたとしても、共通の遅延用タイマカウンタの領域と合わせて4バイトの領域で済むこととなる。
尚、本実施例はこれに限らず、各リール毎に遅延用タイマカウンタが割り当てられる構成であっても良い。
また、本実施例では、1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数である60とリール用タイマ値を乗算した値を遅延用タイマカウンタに設定し、タイマ割込処理(メイン)が実行される毎に遅延用タイマカウンタ値を1ずつ減算することで遅延時間を計時するようになっているので、遅延時間の計時についてタイマ割込処理(メイン)の実行回数毎に異なる処理を行う必要がなく、遅延時間の計時に関してタイマ割込処理(メイン)の回数に対して分岐を設けることなく、処理を共通化することができる。
尚、1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数/N(Nは自然数、かつ1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数を割り切れる値)とリール用タイマ値を乗算した値を遅延用タイマカウンタに設定し、タイマ割込処理(メイン)がN回実行される毎に遅延用タイマカウンタ値を1ずつ減算することで遅延時間を計時する構成としても良く、このような構成とすることで、タイマ割込処理(メイン)を実行する毎に遅延用タイマカウンタの更新を行う必要が無く、計時に係るタイマ割込処理(メイン)の負荷を軽減できるとともに、遅延用タイマカウンタに割り当てるRAM41cの容量も削減することができる。
さらにタイマ割込処理(メイン)がM(1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数)回実行される毎に遅延用タイマカウンタ値を1ずつ減算することで遅延時間を計時する構成としても良く、このような構成とすることで、タイマ割込処理(メイン)を実行する毎に遅延用タイマカウンタの更新を行う必要が無く、計時に係るタイマ割込処理(メイン)の負荷を軽減できるとともに、遅延用タイマカウンタに割り当てるRAM41cの容量をさらに削減することができる。
また、本実施例では、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値を設定するための左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)が、それぞれ更新範囲の異なる左遅延用乱数カウンタ、中遅延用乱数カウンタ、右遅延用乱数カウンタを用いて抽出しているので、それぞれのリールについて更新範囲が同じ周期の乱数カウンタを用いた場合に比較して、各リールに対応する遅延時間をよりばらつかせることができる。これにより、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、停止操作が有効化された際にリール演出後の位置関係に規則性が出てしまうことを極力回避できる。
また、これらの乱数カウンタとして、ともにタイマ割込処理(メイン)が行われる毎に更新されるソフト乱数カウンタを用いているが、それぞれの更新範囲の総数が、互いに素の関係となる乱数カウンタを用いているため、それぞれの乱数カウンタ同士の更新周期が、それぞれの乱数カウンタの更新範囲の総数の最小公倍数となるまで同期することがなく、同じ周期の乱数カウンタを用いた場合に比較して、リール演出が行われる毎に、停止操作が有効化された際の各リール同士の位置関係に偏りが生じること、すなわちリール演出後の位置関係が同じ位置関係となりやすくなることを防止できる。これにより、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、停止操作が有効化された際にリール演出後の位置関係に規則性が出てしまうことをより確実に回避できる。
また、それぞれの乱数カウンタの総数である997、998、999が同期することとなる最小公倍数は、994010994であり、本実施例では、それぞれの乱数がタイマ割込処理(メイン)毎に更新され、その間隔が0.56msであり、1秒間に約1786回更新されるので、一度同期した後に次回3つの乱数が同期するのは、約154.6時間後であり、遊技店の営業時間は、通常13時間程度なので、1日の間に同じ乱数の組み合わせが抽出されて左、中、右リールタイマ値が算出されることがない。
すなわち一度同期した後に次回3つの乱数カウンタの値が同期するのに、一般的な遊技店の営業時間よりも長い時間を要する構成であり、同じ遊技者が同じ日に遊技を行い、2回以上リール演出が行われた場合であっても、リール演出後の位置関係が同じ位置関係となることがないようになっている。また、リール演出を行うにあたり、左、中、右リールタイマ値を設定する際に、前回の同じ乱数の組み合わせが抽出されること自体がごく希な現象であるため、一度同期した後に次回3つの乱数が同期するのに1ゲームを超える時間を要するもの、すなわち1ゲームの間に2回以上3つの乱数が同期することのない構成であれば、リール演出が行われる毎に、停止操作が有効化された際の各リール同士の位置関係に偏りが生じること、すなわちリール演出後の位置関係が同じ位置関係となりやすくなることを防止できる。これにより、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、停止操作が有効化された際にリール演出後の位置関係に規則性が出てしまうことをさらに確実に回避できる。
尚、本実施例では、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値を設定するための左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)が、それぞれ更新範囲の異なる左遅延用乱数カウンタ、中遅延用乱数カウンタ、右遅延用乱数カウンタを用いて抽出する構成であるが、少なくとも更新範囲または更新規則が異なる乱数カウンタを用いる構成であれば上記と同様に、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、停止操作が有効化された際にリール演出後の位置関係に規則性が出てしまうことを極力回避できる。
以下に、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値として、更新規則の異なる乱数カウンタの値を用いた例を図74に基づいて説明する。
この例では、RAM41cに今回の左リール用タイマ値LT、前回の左リール用タイマ値bLT、今回の中リール用タイマ値CT、前回の中リール用タイマ値bCT、今回の右リール用タイマ値RT、前回の右リール用タイマ値bRTがそれぞれ割り当てられている。そして、タイマ割込処理(メイン)が実行される毎に、図74に示す演算がされ、上記の値がそれぞれ更新されるようになっている。
詳しくは、まず、LTの値を、bLTの値に13(予め定められた素数であれば良い)を加算し、加算後の値を21で除して余った値に更新する。次いで、CTの値を、bCTの値にLTの値を加算し、加算後の値を21で除して余った値に更新する。次いで、RTの値を、bRTの値にCTの値を加算し、加算後の値を21で除して余った値に更新する。
そして、メイン制御部41は、リール演出後加速処理を行うにあたり、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値を抽出し、これら抽出した値をそれぞれ遅延させる時点で遅延用タイマカウンタに設定する。
この例においては、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値が、それぞれ更新規則の異なる乱数カウンタを用いて抽出されるので、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、停止操作が有効化された際にリール演出後の位置関係に規則性が出てしまうことを極力回避できる。
また、乱数カウンタの値が0〜20となり、そのまま左リール用タイマ値、中リール用タイマ値、右リール用タイマ値として用いることが可能となるので、値の算出または加工に係る負荷を軽減できる。
尚、本実施例では、プログラムにより更新される乱数カウンタの値を用いることで左リール用タイマ値、中リール用タイマ値、右リール用タイマ値をランダムな値とする構成であるが、乱数回路508aまたは乱数回路508bが生成する乱数値を用いることで左リール用タイマ値、中リール用タイマ値、右リール用タイマ値をランダムな値とする構成としても良い。
次に、メイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリールの加速処理の変形例1について説明する。尚、ここでは、主に上記実施例と異なる点を中心に説明する。
図76は、本変形例1においてメイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリール演出後加速処理の制御内容を示すフローチャートである。
リール演出後加速処理では、まず、全てのリールが停止しているか否かを判定し(S101)、全てのリールが停止するまで待機する。
S101のステップにおいて全てのリールが停止していると判定された後、左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)をそれぞれ抽出する(S102)。
次いで、S102のステップにおいて抽出された左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)に基づいて左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)をそれぞれ算出し、RAM41cに設定する(S103)。
次いで、S103のステップにおいて設定された左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)を特定可能なリール遅延コマンドをコマンドキューに設定する(S104)。コマンドキューに設定されたリール遅延コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理においてサブ制御部91に送信される。これに伴いサブ制御部91は、リールの加速時間などを加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。
次いで、RAM41cに割り当てられた遅延用タイマカウンタにS103のステップにおいて設定された左リール用タイマ値に60を乗算した値にさらに240を加算した値を設定し(S105)、左リールの回転開始の設定を行い、左リールの回転を開始した後(S106)、遅延用タイマカウンタ値が0となるまで待機する(S107)。
ここで、左リール用タイマ値に60を乗算した値に加算される240は、リールの回転開始後、定速回転となるまで、すなわち加速が完了されるまでに実行されるタイマ割込処理(メイン)の実行回数であり、S107のステップでは、リールの加速時間と左リール用タイマ値に基づく遅延時間を合わせた時間が経過するまで待機することとなる。
S107のステップにおいて遅延用カウンタ値が0となると、遅延用タイマカウンタにS103のステップにおいて設定された中リール用タイマ値に60を乗算した値にさらに240を加算した値を設定し(S108)、中リールの回転開始の設定を行い、中リールの回転を開始した後(S109)、遅延用タイマカウンタ値が0となるまで待機する(S110)。すなわちリールの加速時間と中リール用タイマ値に基づく遅延時間を合わせた時間が経過するまで待機することとなる。
S110のステップにおいて遅延用カウンタ値が0となると、遅延用タイマカウンタにS103のステップにおいて設定された右リール用タイマ値に60を乗算した値にさらに240を加算した値を設定し(S111)、右リールの回転開始の設定を行い、右リールの回転を開始した後(S112)、遅延用タイマカウンタ値が0となるまで待機する(S113)。すなわちリールの加速時間と右リール用タイマ値に基づく遅延時間を合わせた時間が経過するまで待機することとなる。
S113のステップにおいて遅延用カウンタ値が0となると、停止操作の有効化を設定し、これに伴い各リールの停止操作が有効化され(S114)、リール演出後加速処理を終了する。
本変形例1では、フリーズ状態に制御されることに伴うリール演出の実行後、上記のリール演出後加速処理を実行することで、図77に示すように、全てのリールが停止している状態から左リールの回転を開始し、左リールの回転が開始した時点から左リールが定速回転となるまでの加速時間と0〜リール1周するまでの範囲で変動する左リール遅延時間(左リール用タイマ値×60×0.56ms)とを合算した時間が経過した時点で、中リールの回転を開始し、中リールの回転が開始した時点から中リールが定速回転となるまでの加速時間と定速回転となった時点から0〜リール1周するまでの範囲で変動する中リール遅延時間(中リール用タイマ値×60×0.56ms)とを合算した時間が経過した時点で、右リールの回転を開始し、右リールの回転が開始した時点から右リールが定速回転となるまでの加速時間と定速回転となった時点から0〜リール1周するまでの範囲で変動する右リール遅延時間(右リール用タイマ値×60×0.56ms)とを合算した時間が経過した時点で各リールの停止操作が有効となる。
このように本変形例1では、リール演出の後、複数のリール全てが一旦停止し、その後一のリールが回転を開始した後、次のリールが回転を開始するまでの時間がランダムに変化することで、リール演出の後、停止操作が有効化される前に、3つのリールの相対的な位置関係がランダムに変化するようになっており、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、このようなリール演出を行わなかった場合であっても、その後、停止操作が有効となった後、リールの停止操作の難易度が変化することがない。すなわち、リール演出を行った場合でも、リール演出を行わなかった場合には生じることのない一定の規則性が生まれることがなく、リール演出を行うことによって遊技者による技術介入により表示結果を導出させるというスロットマシンの遊技性が損なわれてしまうことがない。
また、最初に回転を開始する左リールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信するようになっている。また、リールの加速時間は一定であるので、リール遅延コマンドを受信したサブ制御部91は、そのタイミングに対してリールの加速時間を加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。このため、メイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
尚、本変形例1では、リール演出の後、全てのリールを一旦停止させた後、リールの回転を開始させるタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成であるが、リール演出の後、全てのリールを定速回転の速度よりも遅い第1の速度とした後、リールの速度を定速回転に向けて加速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としたり、リール演出の後、全てのリールを定速回転の速度よりも速い第2の速度とした後、リールの速度を定速回転に向けて減速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としても良い。
また、本変形例1では、最後に回転が開始する右リールの回転が開始した後、右リールの加速時間と右リールに対する遅延時間の合算値が経過した後に、停止操作が有効となる構成であるが、最後に回転が開始する右リールの加速時間経過後、すぐに停止操作を有効とした場合でも、3つのリールの相対的位置関係はランダムな位置関係となるので、この時点で停止操作を有効化する構成としても良い。
また、本変形例1では、左リール、中リール、右リールの順番で回転を開始する構成であるが、予め定められた他の順番でリールの回転を開始する構成としても良いし、リール回転開始順が変化する構成でも良い。
また、本変形例1では、リール演出の後、最初に回転を開始するリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であるが、少なくとも最初に回転を開始するリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であれば、上記と同様の効果が得られるものであり、例えば、ゲームの開始操作がされ、ゲームが開始したタイミング、すなわちフリーズ状態に制御される前のタイミングで全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成とした場合でも、上記と同様にメイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
また、本変形例1では、各リールの遅延時間が、リールが0〜1周する時間の範囲でランダムに変動するようになっており、相対的な位置関係を最大限ずらすことが可能であり、かつ必要以上にリールの遅延時間が長くなってしまうことを防止できる。
また、本変形例1では、一のリールに対する加速時間と遅延時間の計時が完了した後、次のリールに対する加速時間と遅延時間を設定しているため、各リールに対して加速時間と遅延時間を計時するためのカウンタをRAM41cに割り当てる必要がなく、全てのリールに対して共通の遅延用タイマカウンタを割り当てるのみで各リールに対する加速時間と遅延時間を計時することが可能となる。特に、本実施例のよう0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎にカウンタ値を減算することで計時する構成においては、最大でリールが1周する時間の遅延時間にさらに加速時間を合算した時間を設定する場合に、リール用タイマ値の最大値(20)×60+240=1500を格納可能な11ビットの領域、実質的には2バイトの領域が必要であり、各リール毎に設けると、実質的には6バイトの領域が必要となるが、本実施例のように、左、中、右リール用タイマ値の領域としてそれぞれ1バイトずつ割り当てたとしても、共通の遅延用タイマカウンタの領域と合わせて4バイトの領域で済むこととなる。
尚、本変形例1はこれに限らず、各リール毎に遅延用タイマカウンタが割り当てられる構成であっても良い。
次に、メイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリールの加速処理の変形例2について説明する。尚、ここでは、主に上記実施例と異なる点を中心に説明する。
図78は、本変形例2においてメイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリール演出後加速処理の制御内容を示すフローチャートである。
リール演出後加速処理では、まず、全てのリールが停止しているか否かを判定し(S201)、全てのリールが停止するまで待機する。
S201のステップにおいて全てのリールが停止していると判定された後、左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)をそれぞれ抽出する(S202)。
次いで、S202のステップにおいて抽出された左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)に基づいて左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)をそれぞれ算出し、RAM41cに設定する(S203)。
次いで、S203のステップにおいて設定された左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)を特定可能なリール遅延コマンドをコマンドキューに設定する(S204)。コマンドキューに設定されたリール遅延コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理においてサブ制御部91に送信される。これに伴いサブ制御部91は、リールの加速時間などを加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。
次いで、RAM41cに割り当てられた遅延用タイマカウンタにS103のステップにおいて設定された左リール用タイマ値に60を乗算した値を設定し(S205)、遅延用タイマカウンタ値が0となるまで待機する(S206)。
S206のステップでは、左リール用タイマ値に基づく遅延時間が経過するまで待機することとなる。
S206のステップにおいて遅延用カウンタ値が0となると、左リールの回転開始の設定を行い、左リールの回転を開始した後(S207)、遅延用タイマカウンタにS203のステップにおいて設定された中リール用タイマ値に60を乗算した値を設定し(S208)、遅延用タイマカウンタ値が0となるまで待機する(S209)。すなわち中リール用タイマ値に基づく遅延時間が経過するまで待機することとなる。
S209のステップにおいて遅延用カウンタ値が0となると、中リールの回転開始の設定を行い、中リールの回転を開始した後(S210)、遅延用タイマカウンタにS203のステップにおいて設定された右リール用タイマ値に60を乗算した値を設定し(S211)、遅延用タイマカウンタ値が0となるまで待機する(S212)。すなわち右リール用タイマ値に基づく遅延時間が経過するまで待機することとなる。
S212のステップにおいて遅延用カウンタ値が0となると、右リールの回転開始の設定を行い、右リールの回転を開始した後(S213)、右リールが定速回転となるまで、すなわち右リールの加速が完了するまで待機し(S214)、右リールの加速が完了した後、停止操作の有効化を設定し、これに伴い各リールの停止操作が有効化され(S215)、リール演出後加速処理を終了する。
本変形例2では、フリーズ状態に制御されることに伴うリール演出の実行後、上記のリール演出後加速処理を実行することで、図79に示すように、全てのリールの停止後、0〜リール1周するまでの範囲で変動する左リール遅延時間(左リール用タイマ値×60×0.56ms)が経過した時点で、左リールの回転を開始し、左リールの回転が開始した時点から0〜リール1周するまでの範囲で変動する中リール遅延時間(中リール用タイマ値×60×0.56ms)が経過した時点で、中リールの回転を開始し、中リールの回転が開始した時点から0〜リール1周するまでの範囲で変動する右リール遅延時間(右リール用タイマ値×60×0.56ms)が経過した後、右リールが定速回転となった時点で各リールの停止操作が有効となる。
このように本変形例2では、リール演出の後、複数のリール全てが一旦停止し、その後一のリールが回転を開始した後、次のリールが回転を開始するまでの時間がランダムに変化することで、リール演出の後、停止操作が有効化される前に、3つのリールの相対的な位置関係がランダムに変化するようになっており、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、このようなリール演出を行わなかった場合であっても、その後、停止操作が有効となった後、リールの停止操作の難易度が変化することがない。すなわち、リール演出を行った場合でも、リール演出を行わなかった場合には生じることのない一定の規則性が生まれることがなく、リール演出を行うことによって遊技者による技術介入により表示結果を導出させるというスロットマシンの遊技性が損なわれてしまうことがない。
また、最初に回転を開始する左リールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信するようになっている。また、リールの加速時間は一定であるので、リール遅延コマンドを受信したサブ制御部91は、そのタイミングに対してリールの加速時間を加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。このため、メイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
尚、本変形例2では、リール演出の後、全てのリールを一旦停止させた後、リールの回転を開始させるタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成であるが、リール演出の後、全てのリールを定速回転の速度よりも遅い第1の速度とした後、リールの速度を定速回転に向けて加速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としたり、リール演出の後、全てのリールを定速回転の速度よりも速い第2の速度とした後、リールの速度を定速回転に向けて減速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としても良い。
また、本変形例2では、最初に回転が開始する左リールの回転が開始する前に遅延時間を設定し、遅延時間が経過した後に左リールが回転を開始する構成であるが、最初に回転を開始するリールの回転開始前に遅延時間を設けない構成とした場合でも、3つのリールの相対的位置関係はランダムな位置関係となるので、最初に回転を開始するリールの回転開始前に遅延時間を設けず直ちに回転を開始する構成としても良い。
また、本変形例2では、左リール、中リール、右リールの順番で回転を開始する構成であるが、予め定められた他の順番でリールの回転を開始する構成としても良いし、リール回転開始順が変化する構成でも良い。
また、本変形例2では、リール演出の後、最初に回転を開始するリールの回転を開始するよりも前の段階詳しくは、左リールの遅延時間の計時前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であるが、少なくとも最初に回転を開始するリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であれば、上記と同様の効果が得られるものであり、例えば、ゲームの開始操作がされ、ゲームが開始したタイミング、すなわちフリーズ状態に制御される前のタイミングで全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成とした場合でも、上記と同様にメイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
また、本変形例2では、各リールの遅延時間が、リールが0〜1周する時間の範囲でランダムに変動するようになっており、相対的な位置関係を最大限ずらすことが可能であり、かつ必要以上にリールの遅延時間が長くなってしまうことを防止できる。
また、本変形例2では、一のリールに対する遅延時間の計時が完了した後、次のリールに対する遅延時間を設定しているため、各リールに対して遅延時間を計時するためのカウンタをRAM41cに割り当てる必要がなく、全てのリールに対して共通の遅延用タイマカウンタを割り当てるのみで各リールに対する遅延時間を計時することが可能となる。特に、本実施例のよう0.56ms毎に実行されるタイマ割込処理(メイン)が実行される毎にカウンタ値を減算することで計時する構成においては、最大でリールが1周する時間の遅延時間を設定する場合に、リール用タイマ値の最大値(20)×60=1260を格納可能な11ビットの領域、実質的には2バイトの領域が必要であり、各リール毎に設けると、実質的には6バイトの領域が必要となるが、本実施例のように、左、中、右リール用タイマ値の領域としてそれぞれ1バイトずつ割り当てたとしても、共通の遅延用タイマカウンタの領域と合わせて4バイトの領域で済むこととなる。
尚、本変形例2はこれに限らず、各リール毎に遅延用タイマカウンタが割り当てられる構成であっても良い。
次に、メイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリールの加速処理の変形例3について説明する。尚、ここでは、主に上記実施例と異なる点を中心に説明する。
図80は、本変形例3においてメイン制御部41がフリーズ状態に制御されることに伴うリール演出の実行後に実行するリール演出後加速処理の制御内容を示すフローチャートである。
リール演出後加速処理では、まず、全てのリールが停止しているか否かを判定し(S301)、全てのリールが停止するまで待機する。
S301のステップにおいて全てのリールが停止していると判定された後、左遅延用乱数値(Lr)、中遅延用乱数値(Cr)、右遅延用乱数値(Rr)をそれぞれ抽出する(S302)。
次いで、S302のステップにおいて抽出された左遅延用乱数値(Lr)に基づいて左リール用タイマ値(Lt)を算出し、RAM41cに割り当てられた左遅延用タイマカウンタに設定し(S303)、S302のステップにおいて抽出された中遅延用乱数値(Cr)に基づいて中リール用タイマ値(Ct)を算出し、RAM41cに割り当てられた中遅延用タイマカウンタに設定し(S304)、S302のステップにおいて抽出された右遅延用乱数値(Rr)に基づいて右リール用タイマ値(Rt)を算出し、RAM41cに割り当てられた右遅延用タイマカウンタに設定する(S305)。
次いで、S303、S304、S305のステップにおいてそれぞれ設定された左リール用タイマ値(Lt)、中リール用タイマ値(Ct)、右リール用タイマ値(Rt)を特定可能なリール遅延コマンドをコマンドキューに設定する(S304)。コマンドキューに設定されたリール遅延コマンドは、その後のタイマ割込処理(メイン)のコマンド送信処理においてサブ制御部91に送信される。これに伴いサブ制御部91は、リールの加速時間などを加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。
次いで、左リールが回転開始しているか否かを判定し(S307)、左リールが回転開始していればS310のステップに進む。一方、左リールが回転開始していない場合には、左遅延用タイマカウンタの値が0か否かを判定する(S308)。
S308のステップにおいて左遅延用タイマカウンタの値が0でなければS310のステップに進む。一方、左遅延用タイマカウンタの値が0であれば、左リールの回転開始の設定を行い、左リールの回転を開始した後(S309)、S310のステップに進む。
ここで、左遅延用タイマカウンタ値、中遅延用タイマカウンタ、右遅延用タイマカウンタは、それぞれ約0.56ms毎に実行されるタイマ割込処理(メイン)が60回実行される毎に1ずつ減算されることとなるため、左遅延用タイマカウンタにより(左リール用タイマ値×0.56×60)msの時間が計時されることとなる。また、前述のように左リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、リール演出後に全てのリールが一旦停止した後、0〜リール1周するまでの範囲でランダムに変化するタイミングで左リールの回転が開始することとなる。
S310のステップでは、中リールが回転開始しているか否かを判定し、中リールが回転開始していればS313のステップに進む。一方、中リールが回転開始していない場合には、中遅延用タイマカウンタの値が0か否かを判定する(S311)。
S311のステップにおいて中遅延用タイマカウンタの値が0でなければS313のステップに進む。一方、中遅延用タイマカウンタの値が0であれば、中リールの回転開始の設定を行い、中リールの回転を開始した後(S312)、S313のステップに進む。
ここで、前述のように左遅延用タイマカウンタ値、中遅延用タイマカウンタ、右遅延用タイマカウンタは、それぞれ約0.56ms毎に実行されるタイマ割込処理(メイン)が60回実行される毎に1ずつ減算されることとなるため、中遅延用タイマカウンタにより(左リール用タイマ値×0.56×60)msの時間が計時されることとなる。また、前述のように中リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、リール演出後に全てのリールが一旦停止した後、0〜リール1周するまでの範囲でランダムに変化するタイミングで中リールの回転が開始することとなる。
S313のステップでは、右リールが回転開始しているか否かを判定し、右リールが回転開始していればS316のステップに進む。一方、右リールが回転開始していない場合には、右遅延用タイマカウンタの値が0か否かを判定する(S314)。
S314のステップにおいて右遅延用タイマカウンタの値が0でなければS316のステップに進む。一方、右遅延用タイマカウンタの値が0であれば、右リールの回転開始の設定を行い、右リールの回転を開始した後(S315)、S316のステップに進む。
ここで、前述のように左遅延用タイマカウンタ値、中遅延用タイマカウンタ、右遅延用タイマカウンタは、それぞれ約0.56ms毎に実行されるタイマ割込処理(メイン)が60回実行される毎に1ずつ減算されることとなるため、右遅延用タイマカウンタにより(右リール用タイマ値×0.56×60)msの時間が計時されることとなる。また、前述のように右リール用タイマ値は0〜20の範囲の値であり、リールが1図柄移動するのに本実施例では、約33.6ms要することとなるので、リール演出後に全てのリールが一旦停止した後、0〜リール1周するまでの範囲でランダムに変化するタイミングで右リールの回転が開始することとなる。
S316のステップでは、全てのリールが回転開始しているか否かを判定し、いずれか1つのリールでも回転開始していないリールがあればS307のステップに戻り、全てのリールが回転開始していればS317のステップに進み、全てのリールの加速が完了するまで待機する。
S317のステップにおいて全てのリールの加速が完了すると、停止操作の有効化を設定し、これに伴い各リールの停止操作が有効化され(S318)、リール演出後加速処理を終了する。
本変形例3では、フリーズ状態に制御されることに伴うリール演出の実行後、上記のリール演出後加速処理を実行することで、図81に示すように、全てのリールの停止後、0〜リール1周するまでの範囲で変動する左リール遅延時間(左リール用タイマ値×0.56×60ms)が経過した時点で、左リールの回転を開始し、全てのリールの停止後、0〜リール1周するまでの範囲で変動する中リール遅延時間(中リール用タイマ値×0.56×60ms)が経過した時点で、中リールの回転を開始し、全てのリールの停止後、0〜リール1周するまでの範囲で変動する右リール遅延時間(右リール用タイマ値×0.56×60ms)が経過した後、中リールの回転を開始し、全てのリールが定速回転となった時点で各リールの停止操作が有効となる。
このように本変形例3では、リール演出の後、複数のリール全てが一旦停止し、それぞれのリールが回転するまでの時間が、それぞれのリール毎にランダムに変化することで、リール演出の後、停止操作が有効化される前に、3つのリールの相対的な位置関係がランダムに変化するようになっており、特定の図柄が一直線上に並ぶ位置関係とするリール演出を行った場合であっても、このようなリール演出を行わなかった場合であっても、その後、停止操作が有効となった後、リールの停止操作の難易度が変化することがない。すなわち、リール演出を行った場合でも、リール演出を行わなかった場合には生じることのない一定の規則性が生まれることがなく、リール演出を行うことによって遊技者による技術介入により表示結果を導出させるというスロットマシンの遊技性が損なわれてしまうことがない。
また、いずれかのリールの回転を開始するよりも前の段階で、全てのリールに対するそれぞれランダムに変動するリールタイマ値を決定し、決定したリールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信するようになっている。また、リールの加速時間は一定であるので、リール遅延コマンドを受信したサブ制御部91は、そのタイミングに対してリールの加速時間を加味することで各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定可能となる。このため、メイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
尚、本変形例3では、リール演出の後、全てのリールを一旦停止させた後、リールの回転を開始させるタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成であるが、リール演出の後、全てのリールを定速回転の速度よりも遅い第1の速度とした後、リールの速度を定速回転に向けて加速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としたり、リール演出の後、全てのリールを定速回転の速度よりも速い第2の速度とした後、リールの速度を定速回転に向けて減速するタイミングをずらすことでリール同士の相対的な位置関係をランダムとする構成としても良い。
また、本変形例3では、リール演出の後、最初に回転を開始するリールの回転を開始するよりも前の段階で、それぞれランダムに変化する左リールタイマ値、中リールタイマ値、右リールタイマ値を決定し、決定した左リールタイマ値、中リールタイマ値、右リールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であるが、少なくとも最初に回転を開始するリールの回転を開始するよりも前の段階で、それぞれランダムに変化する左リールタイマ値、中リールタイマ値、右リールタイマ値を決定し、決定した左リールタイマ値、中リールタイマ値、右リールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成であれば、上記と同様の効果が得られるものであり、例えば、ゲームの開始操作がされ、ゲームが開始したタイミング、すなわちフリーズ状態に制御される前のタイミングでそれぞれランダムに変化する左リールタイマ値、中リールタイマ値、右リールタイマ値を決定し、決定した左リールタイマ値、中リールタイマ値、右リールタイマ値を特定可能なリール遅延コマンドをサブ制御部91に送信する構成とした場合でも、上記と同様にメイン制御部41が、各リールの回転開始毎または加速完了毎にその旨のコマンドを送信することなく、サブ制御部91は、各リールが回転を開始するタイミング、定速回転となるタイミング及び停止操作が有効となるタイミングを特定して、これら特定したタイミングに合わせた演出等の制御を行うことが可能となる。
また、本変形例3では、各リールの遅延時間が、リールが0〜1周する時間の範囲でランダムに変動するようになっており、相対的な位置関係を最大限ずらすことが可能であり、かつ必要以上にリールの遅延時間が長くなってしまうことを防止できる。
また、本変形例3では、タイマ割込処理(メイン)がM(1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数)回実行される毎に左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタを1ずつ減算することで遅延時間を計時するようになっているので、タイマ割込処理(メイン)を実行する毎に左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタの更新を行う必要が無く、計時に係るタイマ割込処理(メイン)の負荷を軽減できるとともに、左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタに割り当てるRAM41cの容量も削減することができる。
尚、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値それぞれに1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数/N(Nは自然数、かつ1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数を割り切れる値)を乗算した値を左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタに設定し、タイマ割込処理(メイン)がN回実行される毎に左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタを1ずつ減算することでそれぞれの遅延時間を計時する構成としても良く、このような構成とした場合でも、タイマ割込処理(メイン)を実行する毎に左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタの更新を行う必要が無く、計時に係るタイマ割込処理(メイン)の負荷を軽減できるとともに、左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタに割り当てるRAM41cの容量も削減することができる。
また、左リール用タイマ値、中リール用タイマ値、右リール用タイマ値それぞれに1図柄が移動する間に実行されるタイマ割込処理(メイン)が実行される回数を乗算した値を左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタに設定し、タイマ割込処理(メイン)が実行される毎に左遅延用タイマカウンタ、中遅延用タイマカウンタ、右遅延用タイマカウンタを1ずつ減算することで遅延時間を計時する構成としても良く、このような構成とすることで、遅延時間の計時についてタイマ割込処理(メイン)の実行回数毎に異なる処理を行う必要がなく、遅延時間の計時に関してタイマ割込処理(メイン)の回数に対して分岐を設けることなく、処理を共通化することができる。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例1で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
前記実施例では、可変表示装置として外周に複数種の図柄が配列されたリールを回転させることにより図柄が透視窓3に連続的に変化しつつ表示される構成であるが、リールに替えて外周に複数種の図柄が配列されたベルトを移動させることにより図柄が透視窓3に連続的に変化しつつ表示される可変表示装置を適用しても良い。さらに液晶表示器などの画像表示装置に、図柄画像などの識別情報を所定の順番で周期的に移動させる画像を表示させることで表示画面上に識別情報が連続的に変化しつつ表示される可変表示装置を適用しても良い。