本発明が適用されたスロットマシンの実施例について図面を用いて説明する。本実施例のスロットマシン1は、図1に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。スロットマシン1の内部には、互いに識別可能な複数種類の図柄が所定の順序で、それぞれ同数ずつ配列されたリール2L、2C、2R(以下、左リール、中リール、右リールと呼ぶことがある)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が、スロットマシン1の正面の略中央に設けられた透視窓3において各々上中下三段に表示されて遊技者側から見えるように配置されている。また、図2に示すように、各リールには、各々が識別可能な複数種類の図柄(「赤7」、「白7」、「リプレイa」、「リプレイb」、「ベルa」、「ベルb」、「ベルc」、「スイカ」、「チェリー」、「プラム」)が所定の順序で配列されている。
尚、本実施例では、3つのリールを用いた構成を例示しているが、リールを1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良い。また、本実施例では、リール2L、2C、2Rにより図柄を可変表示させる可変表示部を構成しているが、可変表示部は、リール以外であっても良く、例えば、外周面に複数の図柄が配置されたベルトを移動させることで図柄を変動表示させることが可能な構成でも良い。また、本実施例では、物理的なリールにて可変表示部を構成しているが、液晶表示器などの画像表示装置にて可変表示部を構成しても良い。
スロットマシン1の正面には、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数(本実施例では、通常遊技状態:3、特別遊技状態(RB):2)の賭数のうち最大の賭数を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8Rが遊技者により操作可能にそれぞれ設けられている。
スロットマシン1の正面には、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコードや、ストップスイッチ8L、8C、8Rの操作態様に対応するナビ番号等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、遊技区間が有利区間に制御されている旨を点灯により報知する区間表示LED19、リプレイゲーム中である旨を点灯により報知するリプレイ中LED20、が設けられた遊技用表示部13が設けられている。
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールを停止させる操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられている。
また、スロットマシン1の正面には、画像を表示可能な液晶表示器51が設けられている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)に表示領域が配置されるように設けられている。液晶表示器51の背面側の各リール2L、2C、2Rは、液晶表示器51の表示領域のうち透視窓3に対応する透過領域及び透視窓3を介して遊技者側から視認可能である。
スロットマシン1の前面扉1bの内側には、所定キー操作によりスロットマシン1の外部からのエラー状態を解除するためのリセット操作を検出するリセットスイッチ23、設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、前面扉1bの開放状態を検出するドア開放検出スイッチ25、メダル投入部4から投入されたメダルの流路を、スロットマシン1の内部に設けられた後述のホッパータンク側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入されてホッパータンク側に流下したメダルを検出する投入メダルセンサ31a~31cを有するメダルセレクタ29が設けられている。
また、スロットマシン1の内部には、メイン制御部41からの制御信号に応じて前述のリール2L、2C、2Rを回転させたり停止させたりするためのリールユニット34、メイン制御部41からの制御信号に応じてメダルをメダル払出口9より払い出すためのホッパーユニット35が設けられている。
また、スロットマシン1の内部には、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。
スロットマシン1の内部には、遊技制御基板40が筐体1aの内部の所定位置に取り付けられた状態において、遊技制御基板40の正面側(遊技者側)の下部には4桁の7セグメント表示器で構成される遊技機情報表示器50が配置されている(図示略)。遊技機情報表示器50は、遊技制御基板40が基板ケースに封入されている状態で、当該基板ケースの外部から表示内容を視認可能となっており、メイン制御部41により集計されて遊技機情報表示器50に表示されるスロットマシン1における遊技の履歴に基づく遊技機情報を、店員等が認識できるようになっている。
図3に示すように、スロットマシン1には、遊技制御基板40、演出制御基板90が設けられており、遊技制御基板40によって遊技(ゲーム)の制御が行われ、演出制御基板90によって遊技状態に応じた演出の制御が行われる。
遊技制御基板40には、前述のMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、投入メダルセンサ31a~31c、リールユニット34のリールセンサ(図示略)、ホッパーユニット35の払出センサ及び満タンセンサ(図示略)、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類等の検出信号が入力されるようになっている。
また、遊技制御基板40には、前述のクレジット表示器11、遊技補助表示器12、1~3BETLED14~16、スタート有効LED18、区間表示LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールユニット34、ホッパーユニット35が接続されており、これら電気部品と、遊技制御基板40に搭載された遊技機情報表示器50は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
また、遊技制御基板40には、遊技の制御を行うメイン制御部41が搭載されている。メイン制御部41は、演算を行うためのCPU41a、プログラム等が記憶されるROM41b、ワークデータが一時的に記憶されるRAM41cを備え、ROM41bに記憶されたプログラムに従って各種の制御を行う。
メイン制御部41は、CPU41aが演算を行うために用いられる複数のレジスタを備える。当該複数のレジスタには、アキュムレータレジスタ(Aレジスタ)、フラグレジスタ(Fレジスタ)、汎用レジスタ(BCレジスタ、DEレジスタ、HLレジスタ)、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタ、送信レジスタなどのレジスタが含まれる。また、これらのレジスタのうちアキュムレータレジスタ、フラグレジスタ、汎用レジスタには、それぞれ対になるように構成された表レジスタ及び裏レジスタが含まれる(以下、表レジスタ及び裏レジスタを単にレジスタと呼ぶ場合がある)。CPU41aは、プログラムに含まれる演算命令や読出命令等の各種の命令を実行することにより、所定のレジスタの値を更新することや、所定のレジスタの値(アドレス)により指定されるRAM41cの記憶領域に記憶した値(データ)を更新することが可能である。
また、メイン制御部41が備えるレジスタのうちフラグレジスタは、その状態が、CPU41aにより実行された命令による演算結果を示すように変化するように構成されており、フラグレジスタの状態の変化を利用して、先の命令による演算結果に応じた処理をCPU41aに行わせることができるようになっている。
また、フラグレジスタは、複数のビット(本実施例では、8ビット)で構成されており、複数のビットには、CPU41aの処理の負担を減らすために、CPU41aが実行する演算命令の演算結果に応じて状態が変化可能に構成された第1ビット(以下、ゼロフラグと呼ぶ場合がある。)や第2ビット(以下、キャリーフラグと呼ぶ場合がある)などが含まれる。
また、メイン制御部41は、外部に設けられた試験装置とシリアル通信を行うことが可能なシリアル通信回路41dを備えている。
また、メイン制御部41は、サブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。
演出制御基板90には、前述の液晶表示器51、音声を出力可能なスピーカ、演出に用いられ遊技者側から視認可能な演出用LED57等の演出装置が接続されており、これら演出装置の出力状態は、演出制御基板90に搭載されたサブ制御部91により制御可能となっている。サブ制御部91は、メイン制御部41から送信されるコマンドを受けて、演出を行うための各種の制御等を行うようになっている。
メイン制御部41は、制御状態に応じた処理を段階的に行う基本処理(メイン処理)を実行するとともに、一定時間間隔(本実施例では、約0.56ms)毎に基本処理に割り込んでタイマ割込処理を実行する。タイマ割込処理では、各種スイッチ類やセンサ類の検出状態、時間経過を更新するとともに、基本処理では、制御状態に応じた条件を満たすまで、現在の制御状態に応じた処理を繰り返しループし、タイマ割込処理において更新された各種スイッチ類やセンサ類の検出状態、時間経過に基づき制御状態に応じた条件を満たすことで、次の制御状態に移行させるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わる構成である。詳しくは、内部抽選やAT抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1~6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をON状態としてからスロットマシン1の電源スイッチ39をONにする必要がある。設定キースイッチ37をON状態として電源をONにすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定値6からさらに操作されたときは、設定値1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がOFFにされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
尚、設定キースイッチ37、リセット/設定スイッチ38は、スロットマシン1の内部に設けられ、所定のキー操作により開放可能な前面扉1bを開放しない限り操作不可能とされており、スロットマシン1が設置される遊技店の店員のうち所定のキーを所持する店員のみが操作可能となる。特に、設定キースイッチ37は、さらにキー操作を要することから、遊技店の店員の中でも、設定キースイッチ37の操作を行うためのキーを所持する店員のみが操作可能とされている。また、リセットスイッチ23は、前面扉1bを開放する必要はないが、所定のキーを用いたキー操作を必要とするため、所定のキーを所持する店員のみが操作可能となる。また、リセット/設定スイッチ38は、通常時においてはエラー状態を解除するためのリセットスイッチとしても機能するようになっている。
本実施例のスロットマシン1においては、メイン制御部41は、タイマ割込処理において定期的に電圧低下が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下が検出されていると判定した場合に、次回復帰時にRAM41cのデータが正常か否かを判定するためのデータを設定する電断処理(メイン)を実行する。
そして、メイン制御部41は、その起動時においてRAM41cのデータが正常であることを条件に、RAM41cに記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させることが可能とされている。一方、起動時にRAM41cのデータが正常でない場合には、RAM異常と判定し、RAM異常を示すエラーフラグをRAM41cに設定するとともに、RAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。RAM異常エラー状態は、設定変更状態に移行し、新たに設定値が設定されることで解除され、遊技の進行が可能となる。
本実施例のスロットマシン1においては、メイン制御部41は、遊技の進行に応じて異常を検出した場合に、検出した異常の種類を示すエラーフラグをRAM41cに設定するとともに、一般エラー状態に制御し、遊技の進行を不能化させるようになっている。一般エラー状態は、リセットスイッチ23またはリセット/設定スイッチ38によるリセット操作により解除され、遊技の進行が可能となる。尚、以下では、RAM異常エラー状態と、一般エラー状態と、を区別する必要がない場合に、単にエラー状態と呼ぶ。
本実施例のスロットマシン1においてゲームを行う場合には、先ず、メダルをメダル投入部4から投入するか、あるいはMAXBETスイッチ6を操作してクレジットを使用して賭数を設定する。遊技状態に応じて定められた規定数の賭数が設定されると、予め定められた入賞ラインLN(図1参照、本実施例では、リール2L、2C、2Rの中段、すなわち中段に水平方向に並んだ図柄に跨がって設定されている)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。また、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
また、本実施例では、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1~6を設定している。無効ラインLM1~6は、これら無効ラインLM1~6に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインLNに入賞を構成する図柄の組合せが揃った際に、無効ラインLM1~6のいずれかに入賞を示唆する示唆図柄の組合せ(例えば、ベルa-ベルa-ベルa)が揃う構成とすることで、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。本実施例では、図1に示すように、リール2L、2C、2Rの上段、すなわち上段に水平方向に並んだ図柄に跨がって設定された無効ラインLM1、リール2L、2C、2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4、リール2Lの上段、リール2Cの中段、リール2Rの上段、すなわち小V字状に並んだ図柄に跨って設定された無効ラインLM5、リール2Lの下段、リール2Cの中段、リール2Rの下段、すなわち小山状に並んだ図柄に跨って設定された無効ラインLM6の6種類が無効ラインとして定められている。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転され、各リール2L、2C、2Rの図柄が連続的に変動される。リール2L、2C、2Rが回転されている状態で、いずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rに対して停止制御が行われ、当該リールの回転が停止され、当該リールの図柄が透視窓3に表示結果として導出表示される。
停止制御では、各ストップスイッチについて操作が行われたときから最大停止遅延時間(本実施例では、190ms(ミリ秒))以内に、操作に対応するリール2L、2C、2Rの回転を停止させる制御が行われ、最大停止遅延時間(190ms)が経過するまでの間では、最大で4コマ分の図柄を引き込むことができることとなる。つまり、停止制御では、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分(引込範囲)の図柄から一の図柄を選択して、リール2L、2C、2Rに導出させることが可能である。
これにより、停止制御では、各リール2L、2C、2Rについて対応するストップスイッチ8L、8C、8Rが操作されることで回転を停止させる際に、後述する内部抽選にて当選している入賞役を構成する図柄が、ストップスイッチが操作されたときの図柄から4コマ先までの引込範囲内にある場合には、当該図柄を入賞ラインLN上に引き込んで、ストップスイッチが操作されたリールの回転を停止させる一方で、内部抽選にて当選している入賞役を構成する図柄が、当該引込範囲内にない場合には、内部抽選にて当選していない入賞役を構成する図柄が、入賞ラインLN上に停止しないように、いずれの入賞役も構成しない図柄を入賞ラインLN上に引き込んで、ストップスイッチが操作されたリールの回転を停止させるように制御することが可能である。
また、停止制御では、遊技状態の移行を伴う特別役(本実施例では、BB1、BB2)の当選が持ち越されている場合に、内部抽選にてメダルの付与を伴う小役が当選して、特別役と小役が同時に当選している状況であるときには、当選している小役の構成図柄を前述の引込範囲内で優先して入賞ラインLNに引き込むように制御し、当選している小役の構成図柄を入賞ラインLNに引き込むことができないときに、当選している特別役の構成図柄を入賞ラインLNに引き込むように制御する。このため、特別役と小役が同時当選しているゲームにおいて、当選している特別役を入賞させることが困難になっている。
また、停止制御では、特別役(本実施例では、BB1、BB2)の当選が持ち越されている場合に、内部抽選にて再遊技の付与を伴う再遊技役が当選して、特別役と再遊技役が同時に当選している状況であるときには、当選している再遊技役の構成図柄を優先して入賞ラインLNに引き込むようになっている。各リール2L、2C、2Rにおいて再遊技役を構成する図柄は、所定の引込範囲内に配置されており、再遊技役の当選時には必ず再遊技役の構成図柄が入賞ラインLNに引き込まれることとなる。このため、特別役と再遊技役が同時に当選しているゲームでは、当選している特別役を入賞させることができないようになっている。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、予め定められた入賞役の図柄の組合せが各リール2L、2C、2Rに表示結果として入賞ラインLN上に停止して入賞が発生した場合に、入賞に応じた制御が行われる。小役が入賞した場合には、その種類に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、再遊技役が入賞した場合には、メダルを投入せずに遊技を行うことが可能な再遊技が付与されるようになっている。また、特別役が入賞した場合には、遊技状態が特別遊技状態に移行されるようになっている。
尚、本実施例では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
本実施例のスロットマシン1において、入賞となる役(以下、入賞役と呼ぶ)の種類は、遊技状態に応じて定められ、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次ゲームが開始可能となる再遊技が付与される再遊技役と、特別遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、内部抽選に当選して、当該役の当選フラグが設定されている必要がある。内部抽選は、メイン制御部41が、前述の各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、規定数の賭数が設定された状態でスタートスイッチ7の操作が検出された時)に、乱数を用いて決定するものである。
尚、各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次ゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次ゲームへ持ち越されるようになっている。
また、内部抽選では、予め定められた所定の操作態様(例えば、押し順、操作タイミング)で停止操作が行われる場合に他の操作態様で停止操作が行われた場合よりも有利となる小役、再遊技役(以下、ナビ対象役と呼ぶ場合がある。)が当選し得るようになっている。ナビ対象役には、例えば、予め定められた所定の操作態様で停止操作が行われる場合に他の操作態様で停止操作が行われる場合に停止する停止態様よりも有利な停止態様となる役や、予め定められた所定の操作態様で停止操作が行われる場合に他の操作態様で停止操作が行われる場合よりも有利な停止態様が停止する割合が高い役等を含む。また、有利な停止態様とは、メダルの付与を伴う停止態様だけでなく、有利な遊技状態への移行を伴う停止態様、不利な遊技状態への移行が回避される停止態様なども含む。
メイン制御部41は、内部抽選結果に応じて遊技者にとって有利となるストップスイッチ8L、8C、8Rの操作態様を特定可能なナビ番号を遊技補助表示器12の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム(AT)状態に制御可能である。メイン制御部41は、AT状態に制御される権利が遊技者に対して付与されることで、AT状態の制御を開始する。そして、AT状態に制御している場合には、ナビ対象役に当選することにより、ナビ報知を実行して、遊技者にとって有利となるストップスイッチ8L、8C、8Rの操作態様(例えば、押し順、操作タイミング等)を遊技補助表示器12を用いて報知するとともに、遊技者にとって有利となる操作態様を特定可能なコマンドをサブ制御部91に対して送信することで、当該操作態様を液晶表示器51等を用いて報知するナビ演出を実行させる。ナビ報知及びナビ演出により報知される操作態様にて、ストップスイッチ8L、8C、8Rを操作することで、内部抽選にて当選したナビ対象役を確実に入賞させることができるようになっている。
尚、本実施例では、メイン制御部41は、メダルの払出枚数やエラーコード、ナビ情報を表示させることが可能な遊技補助表示器12を備え、ナビ報知の制御において遊技補助表示器12を用いてナビ情報を報知する構成であるが、ナビ情報のみを表示させることが可能な専用の表示器を備え、ナビ報知の制御において当該専用の表示器を用いてナビ情報を報知する構成でも良い。
また、本実施例では、遊技制御基板40が、インターフェイス基板を介して試験装置と接続可能とされており、メイン制御部41は、スロットマシン1における遊技の結果に関連して発生する試験信号を試験装置に対して出力するとともに、試験装置から遊技制御基板40に対して遊技者による操作に対応する試験用信号が入力されるようになっており、遊技制御基板40と試験装置を接続することにより自動的にシミュレーション試験を行うことが可能とされている。また、メイン制御部41は、試験信号として、推奨する操作態様を示す操作信号を試験信号として試験装置に出力可能とされており、試験装置は、各ゲームにおいて推奨する操作態様を特定し、特定した操作態様での操作を示す試験用信号を遊技制御基板40に対して出力し、シミュレーション試験を行うことが可能である。
[遊技状態について]
メイン制御部41は、図4に示すように、遊技状態として通常遊技状態、特別遊技状態のいずれかに制御することが可能である。通常遊技状態は、BB1、BB2のいずれの当選も持ち越されていない通常遊技状態(非内部中)と、BB1、BB2のいずれかの当選が持ち越されている通常遊技状態(内部中)と、を含む。
通常遊技状態(非内部中)は、通常遊技状態においてBB1、BB2のいずれも当選していない状態である。スロットマシン1の工場出荷時の状態や、設定変更状態へ移行させることにより設定値が新たに設定されることでメイン制御部41のRAM41cが初期化された状態において制御される遊技状態である。また、特別遊技状態が終了された場合にも通常遊技状態(非内部中)に制御される。そして、通常遊技状態(非内部中)は、内部抽選にてBB1、BB2のいずれかが当選するまで継続し、内部抽選にてBB1、BB2のいずれかが当選したゲームにおいて当選したBB1またはBB2が入賞せずに通常遊技状態(内部中)に移行するか、内部抽選にてBB1、BB2のいずれかが当選したゲームにおいて当選したBB1またはBB2が入賞して特別遊技状態に移行することで終了する。
通常遊技状態(内部中)は、通常遊技状態においてBB1、BB2のいずれかが持ち越されている状態である。本実施例では、特別役と小役が同時に当選している場合には、小役を優先して揃える制御を行い、特別役と再遊技役が同時に当選している場合には、再遊技役を必ず揃える制御を行うことで、通常遊技状態(内部中)において小役が当選している場合にも、再遊技役が当選している場合にも、当選したBB1またはBB2が入賞しないようになっている。そして、通常遊技状態(内部中)では、必ずいずれかの小役またはいずれかの再遊技役が当選するので、通常遊技状態(内部中)に一度移行すると当選したBB1またはBB2が入賞せず、通常遊技状態(内部中)への移行後は、設定変更状態へ移行させることにより設定値が新たに設定されることでメイン制御部41のRAM41cが初期化されるまで、当該通常遊技状態(内部中)が維持されるようになっている。
特別遊技状態は、通常遊技状態(非内部中)においてBB1、BB2のいずれかが当選したゲームにおいて当選したBB1またはBB2が入賞することで移行し、特別遊技状態における全期間に亘ってRB(通常遊技状態よりも小役の当選確率が高まる遊技状態)に制御される遊技状態であり、所定の終了条件が成立(本実施例では、特別遊技状態におけるメダルの総払出枚数が50枚を超えること)するまで継続し、所定の終了条件が成立して通常遊技状態(非内部中)に移行することで終了する。
このように本実施例では、遊技の大半において通常遊技状態(内部中)に制御されることとなるので、通常遊技状態(内部中)に制御されていることを前提とし、設定値(本実施例では、1~6)に応じたメダルの払出率が設計されている。
[内部抽選の対象役について]
図5に示すように、本実施例において、通常遊技状態(非内部中)においては、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚、BB1、BB2、BB1+3枚、BB2+3枚が内部抽選の対象となる。通常遊技状態(非内部中)において、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚、BB1、BB2、BB1+3枚、BB2+3枚の当選確率は、それぞれ約1/9.9、約1/65、約1/16384、約1/137、約1/101、約1/524、約1/655、約1/49、約1/49、約1/49、約1/1.37、約1/3449、約1/32768、約1/32768、約1/29、約1/29に設定されており、不当選(はずれ)の確率は0となる。
また、通常遊技状態(内部中)においては、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚が内部抽選の対象となる。通常遊技状態(内部中)において、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚の当選確率は、それぞれ約1/9.9、約1/65、約1/8192、約1/137、約1/101、約1/524、約1/655、約1/49、約1/49、約1/49、約1/1.37、約1/14.5に設定されており、不当選(はずれ)の確率は0となる。
また、特別遊技状態(RB)においては、複合小役A、複合小役Bが内部抽選の対象となる。特別遊技状態(RB)において、複合小役A、複合小役Bの当選確率は、それぞれ約1/33、約1/1.2に設定されており、不当選(はずれ)の確率は、約1/7.3となる。
通常リプレイAの当選時には、停止操作順、停止操作タイミングに関わらず、必ず通常リプレイAが入賞する。通常リプレイBの当選時には、停止操作順、停止操作タイミングに関わらず、必ず通常リプレイBが入賞する。通常リプレイCの当選時には、停止操作順、停止操作タイミングに関わらず、必ず通常リプレイCが入賞する。
弱チャンスリプレイAの当選時には、停止操作順、停止操作タイミングに関わらず、必ず弱チャンスリプレイAが入賞する。弱チャンスリプレイBの当選時には、停止操作順、停止操作タイミングに関わらず、必ず弱チャンスリプレイBが入賞する。強チャンスリプレイAの当選時には、停止操作順、停止操作タイミングに関わらず、必ず強チャンスリプレイAが入賞する。強チャンスリプレイBの当選時には、停止操作順、停止操作タイミングに関わらず、必ず強チャンスリプレイBが入賞する。
通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイBの入賞時には、再遊技が付与される。
特定小役A+1枚は、特定小役Aと1枚が当選する役であり、特定小役A+1枚の当選時には、特定小役Aの構成図柄の引込範囲となる停止操作タイミングで左リールの停止操作が行われた場合に、停止操作順に関わらず、15枚のメダルの払出を伴う特定小役Aが入賞する一方、特定小役Aの構成図柄の引込範囲外となる停止操作タイミングで左リールの停止操作が行われた場合に、停止操作順に関わらず、1枚のメダルの払出を伴う1枚が入賞する。
特定小役B+1枚は、特定小役Bと1枚が当選する役であり、特定小役B+1枚の当選時には、特定小役Bの構成図柄の引込範囲となる停止操作タイミングで左リールの停止操作が行われた場合に、停止操作順に関わらず、15枚のメダルの払出を伴う特定小役Bが入賞する一方、特定小役Bの構成図柄の引込範囲外となる停止操作タイミングで左リールの停止操作が行われた場合に、停止操作順に関わらず、1枚のメダルの払出を伴う1枚が入賞する。
特定小役A+1枚、特定小役B+1枚の当選時には、後述のようにいずれも左リールの停止操作タイミングが白7エリアとなる操作態様で操作された場合に15枚の払出を伴う特定小役Aまたは特定小役Bを入賞させることが可能となるが、特定小役A+1枚、特定小役B+1枚の当選時に、ナビ報知が行われない場合には、特定小役Aまたは特定小役Bを入賞させないことでATに関連する抽選が行われるようになっており、特定小役A+1枚、特定小役B+1枚の当選時に、ナビ報知が行われない場合には、左リールの停止操作タイミングが赤7エリアとなる操作態様、すなわち特定小役Aも特定小役Bも入賞しない操作態様で停止操作を行うことで、左リールの停止操作タイミングが白7エリアとなる操作態様、すなわち特定小役Aまたは特定小役Bが入賞する操作態様で停止操作を行った場合よりも遊技者にとって有利となる。一方、特定小役A+1枚、特定小役B+1枚の当選時に、ナビ報知が行われる場合には、左リールの停止操作タイミングが白7エリアとなる操作態様、すなわち特定小役Aまたは特定小役Bが入賞する操作態様で停止操作を行うことで、左リールの停止操作タイミングが赤7エリアとなる操作態様、すなわち特定小役Aも特定小役Bも入賞しない操作態様で停止操作を行った場合よりも遊技者にとって有利となる。
1枚の当選時には、停止操作順、停止操作タイミングに関わらず、必ず1枚のメダルの払出を伴う1枚が入賞する。前述のように特定小役A+1枚が当選し、特定小役Aの構成図柄の引込範囲外となる停止操作タイミングで左リールの停止操作が行われた場合や、特定小役B+1枚が当選し、特定小役Bの構成図柄の引込範囲外となる停止操作タイミングで左リールの停止操作が行われた場合にも、停止操作順に関わらず、1枚が入賞することとなるため、特定小役Aの構成図柄の引込範囲外となる停止操作タイミング、特定小役Bの構成図柄の引込範囲外となる停止操作タイミングで左リールの停止操作を行った結果として1枚が入賞した場合には、特定小役A+1枚、特定小役B+1枚が当選しているのか、1枚が当選しているのか、が判別できないようになっている。
ナビ小役は、複数の小役(本実施例では、主小役と副小役)が当選する役であり、それぞれのナビ小役に対応する停止操作順かつそれぞれのナビ小役に対応する停止操作タイミングで最初に停止するリール(第1停止リール)の停止操作が行われた場合に、15枚のメダルの払出を伴う主小役が入賞する一方、対応する停止操作順以外の停止操作順で停止操作が行われた場合、または対応する停止操作タイミング以外の停止操作タイミングで第1停止リールの停止操作が行われた場合に、停止操作タイミングに応じて1枚のメダルの払出を伴う副小役が入賞するか、いずれの役も入賞しないハズレとなる。すなわち、停止操作順及び第1停止リールの停止操作タイミングが異なることにより付与されるメダル数の期待値が変化するとともに、当選したナビ小役に対応する停止操作順及び停止操作タイミングがナビ報知によって報知されることにより付与されるメダル数の期待値が変化する。
3枚の当選時には、停止操作順、停止操作タイミングに関わらず、必ず3枚のメダルの払出を伴う3枚が入賞する。
BB1の当選時には、全てのリールにおいてBB1の構成図柄(本実施例では、「白7-リプレイb-ベルb」の組合せ)の引込範囲となる停止操作タイミングで停止操作が行われた場合に、BB1が入賞し、遊技状態が特別遊技状態に移行する一方、いずれかのリールにおいてBB1の構成図柄の引込範囲外となる停止操作タイミングで停止操作が行われた場合に、いずれの役も入賞しないハズレとなり、BB1の当選が次ゲーム以降に持ち越されることにより、通常遊技状態(内部中)に移行する。
BB2の当選時には、全てのリールにおいてBB2の構成図柄(本実施例では、「白7-プラム-リプレイb」の組合せ)の引込範囲となる停止操作タイミングで停止操作が行われた場合に、BB2が入賞し、遊技状態が特別遊技状態に移行する一方、いずれかのリールにおいてBB2の構成図柄の引込範囲外となる停止操作タイミングで停止操作が行われた場合に、いずれの役も入賞しないハズレとなり、BB2の当選が次ゲーム以降に持ち越されることにより、通常遊技状態(内部中)に移行する。
また、BB1の左リールの構成図柄である「白7」の引込範囲は、図柄番号0~4の領域であり、中リールの構成図柄である「リプレイb」の引込範囲は、図柄番号0~7、18~19の領域であり、右リールの構成図柄である「ベルb」の引込範囲は、図柄番号0~5、16~19の領域である。一方、BB2の左リールの構成図柄である「白7」の引込範囲は、図柄番号0~4の領域であり、中リールの構成図柄である「プラム」の引込範囲は、図柄番号4~8、14~18の領域であり、右リールの構成図柄である「リプレイb」の引込範囲は、図柄番号0~3、14~18の領域である。このため、BB1の左リールの引込範囲外となる領域と、BB2の左リールの引込範囲外となる領域と、は図柄番号5~17の範囲で重複し、BB1の中リールの引込範囲外となる領域と、BB2の中リールの引込範囲外となる領域と、は図柄番号9~13の範囲で重複し、BB1の右リールの引込範囲外となる領域と、BB2の右リールの引込範囲外となる領域と、は図柄番号6~13の範囲で重複する。
BB1+3枚は、BB1と3枚が当選する役であり、BB1+3枚の当選時には、停止操作順、停止操作タイミングに関わらず、必ず3枚のメダルの払出を伴う3枚が入賞し、BB1の当選が次ゲーム以降に持ち越されることにより、通常遊技状態(内部中)に移行する。
BB2+3枚は、BB2と3枚が当選する役であり、BB2+3枚の当選時には、停止操作順、停止操作タイミングに関わらず、必ず3枚のメダルの払出を伴う3枚が入賞し、BB2の当選が次ゲーム以降に持ち越されることにより、通常遊技状態(内部中)に移行する。
複合小役Aは、ナビ小役を構成する全ての主小役と特定小役Aと特定小役Bが当選する役であり、複合小役Aの当選時には、停止操作順、停止操作タイミングに関わらず、必ず15枚のメダルの払出を伴う特定の主小役が入賞する。
複合小役Bは、ナビ小役を構成する全ての副小役と1枚と3枚が当選する役であり、複合小役Bの当選時には、停止操作順、停止操作タイミングに関わらず、必ず1枚のメダルの払出を伴う1枚が入賞する。
内部抽選の抽選対象(不当選を含む)には、不当選、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚、BB1、BB2、BB1+3枚、BB2+3枚には、それぞれ当選番号(一般役)及び当選番号(特別役)が割り当てられており、内部抽選の抽選結果に対応する当選番号(一般役)及び当選番号(特別役)がRAM41cの当選番号設定領域に設定されるようになっている。
詳しくは、当選番号(一般役)は、いずれの一般役も当選しなかった不当選、一般役を含まない特別役であるBB1、BB2に対して、いずれも0が割り当てられており、一般役である通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚、複合小役A、複合小役Bに対して、順番に1~37が割り当てられており、一般役である3枚を含むBB1+3枚、BB2+3枚に対して、3枚と同じ35が割り当てられている。
また、当選番号(特別役)は、いずれの特別役も当選していない不当選、通常リプレイA、通常リプレイB、通常リプレイC、弱チャンスリプレイA、弱チャンスリプレイB、強チャンスリプレイA、強チャンスリプレイB、特定小役A+1枚、特定小役B+1枚、1枚、ナビ小役、3枚に対して、いずれも0が割り当てられており、特別役であるBB1、BB2には、順番に1、2が割り当てられており、特別役であるBB1またはBB2を含むBB1+3枚、BB2+3枚には、BB1またはBB2と同じく順番に1、2が割り当てられている。
尚、RAM41cの当選番号設定領域に設定された当選番号(一般役)は、当選番号(一般役)が設定されたゲームにおいてのみ保持され、当該ゲームの終了に伴ってクリアされる。
また、RAM41cの当選番号設定領域に設定された0以外の当選番号(特別役)は、当選番号(特別役)に対応する特別役が入賞するまで維持され、当該特別役が入賞したゲームの終了に伴ってクリアされる。すなわち一度BB1またはBB2が当選し、0以外の当選番号(特別役)が当選番号設定領域に設定されると、当選した当選番号(特別役)の組合せを揃えることができなかった場合にも、その当選番号(特別役)はクリアされずに、次ゲームへ持ち越されるようになっている。尚、当選番号(特別役)は、設定変更状態に移行することでもクリアされる。
また、内部抽選の抽選対象(不当選を含む)には、それぞれ対応する0~4の有利区間移行用フラグ、0~3の抽選用フラグ1、0~3の抽選用フラグ2、0~4の抽選用フラグ3が割り当てられており、内部抽選の結果(当選番号(一般役))に応じた有利区間移行用フラグ、抽選用フラグ1~3がRAM41cに設定されるようになっている。有利区間移行用フラグは、有利区間へ移行させるか否かの判定等を行う際に参照される。また、抽選用フラグ1~3は、AT状態に関連する抽選を行うか否かの判定、AT状態に関連する抽選を行う際に参照される。
有利区間移行用フラグは、有利区間移行役以外の抽選対象に対して0が割り当てられ、有利区間移行役については、例えば、複数種類の押し順役、当選確率が近い複数の抽選対象等、有利区間移行時に行われる抽選を行う際に区別する必要のない共通の属性を有する抽選対象に対して共通の値が割り当てられている。このため、メイン制御部41は、有利区間に移行させるか否かを判定する際に、個々の当選番号(一般役)から有利区間移行役であるか否かを個々に特定する必要がなく、有利区間移行用フラグが0か否かによって有利区間移行役か否かを特定することができる。また、有利区間移行時に行われる抽選に際して当選番号(一般役)に応じた確率を特定する場合に、個々の当選番号(一般役)から確率を特定するのではなく、有利区間移行用フラグの値から当選番号(一般役)に応じた確率を特定するようになっており、個々の当選番号(一般役)毎に確率を定める必要がなく、当選番号(一般役)の種類数よりも少ない有利区間移行用フラグ毎に確率を定めることで、抽選対象の属性に応じた確率を特定することができる。
抽選用フラグは、AT状態に関連する抽選の対象外となる抽選対象に対して0が割り当てられ、ATの付与に関連する抽選の対象となる抽選対象については、例えば、複数種類のナビ小役等、AT状態に関連する抽選を行う際に区別する必要のない共通の属性を有する抽選対象に対して共通の値が割り当てられている。このため、メイン制御部41は、AT状態に関連する抽選を行う際に、個々の当選番号(一般役)から当該抽選を行うか否かを個々に特定する必要がなく、抽選用フラグが0か否かによってAT状態に関連する抽選を行うか否かを特定することができる。また、AT状態に関連する抽選に際して当選番号(一般役)に応じた確率を特定する場合に、個々の当選番号(一般役)から確率を特定するのではなく、抽選用フラグの値から当選番号(一般役)に応じた確率を特定するようになっており、個々の当選番号(一般役)毎に確率を定める必要がなく、当選番号(一般役)の種類数よりも少ない抽選用フラグ毎に確率を定めることで、抽選対象の属性に応じた確率を特定することができる。また、抽選用フラグは、AT状態に関連する抽選の対象外となる抽選対象、AT状態に関連する抽選を行う際に区別する必要のない共通の属性を有する抽選対象が異なる抽選用フラグ1~3からなり、AT状態に関連する抽選の種類に応じて抽選用フラグ1~3のいずれかを用いることにより、AT状態に関連する抽選の種類に応じてAT状態に関連する抽選の対象外となる抽選対象を異なるものとすることができ、AT状態に関連する抽選を行う際に区別する必要のない共通の属性を有する抽選対象毎の確率を異なる確率とすることができる。
[ナビ小役、特定小役、複合小役について]
通常遊技状態(非内部中・内部中)において内部抽選の対象となるナビ小役、特定小役、特別遊技状態(RB)において内部抽選の対象となる複合小役について説明する。
本実施例では、図2に示すように、リール2L、2C、2Rに配置されている図柄には、リール基準位置(ステップ数がリセットされる位置)から順番に0~19の図柄番号が割り当てられているとともに、リール2L、2C、2Rそれぞれに赤7エリア、白7エリアが割り当てられている。左リールにおいて赤7エリアは、図柄番号6~15の領域であり、白7エリアは、図柄番号0~5、16~19の領域である。中リールにおいて赤7エリアは、図柄番号7~16の領域であり、白7エリアは、図柄番号0~6、17~19の領域である。右リールにおいて赤7エリアは、図柄番号6~15の領域であり、白7エリアは、図柄番号0~5、16~19の領域である。いずれのリールにおいても赤7エリアは、「赤7」図柄の引込範囲及び「赤7」図柄が透視窓3に位置する範囲を含む領域であり、「赤7」図柄が通過するタイミングを目安とすることで、赤7エリアでの停止操作が可能となる領域である。また、いずれのリールにおいても白7エリアは、「白7」図柄の引込範囲及び「白7」図柄が透視窓3に位置する範囲を含む領域であり、「白7」図柄が通過するタイミングを目安とすることで、白7エリアでの停止操作が可能となる領域である。また、いずれのリールにおいても赤7エリア、白7エリアの範囲は、連続する10図柄の範囲であり、それぞれリール1周の1/2の範囲となる。
尚、以下では、最初に停止させるリールを第1停止リール、2番目に停止させるリールを第2停止リール、3番目に停止させるリールを第3停止リールと呼ぶことがある。
図6に示すように、ナビ小役には、赤左中ベルA、赤左中ベルB、赤左右ベルA、赤左右ベルB、赤中左ベルA、赤中左ベルB、赤中右ベルA、赤中右ベルB、赤右左ベルA、赤右左ベルB、赤右中ベルA、赤右中ベルB、白左中ベルA、白左中ベルB、白左右ベルA、白左右ベルB、白中左ベルA、白中左ベルB、白中右ベルA、白中右ベルB、白右左ベルA、白右左ベルB、白右中ベルA、白右中ベルBが含まれる。
赤左中ベルAは、15枚のメダルの払出を伴う主小役として上段ベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤左中ベルAの当選時に、対応する操作態様(左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、上段ベルAの組合せが入賞ラインLNに導出され、上段ベルAが入賞する。この際、無効ラインLM1にベルa~cのいずれかが揃う。また、赤左中ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤左中ベルBは、15枚のメダルの払出を伴う主小役として上段ベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。赤左中ベルBの当選時に、対応する操作態様(左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、上段ベルBの組合せが入賞ラインLNに導出され、上段ベルBが入賞する。上段ベルBの入賞時には無効ラインLM1にベルa~cのいずれかが揃う。また、赤左中ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤左右ベルAは、15枚のメダルの払出を伴う主小役として右下がりベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤左右ベルAの当選時に、対応する操作態様(左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、右下がりベルAの組合せが入賞ラインLNに導出され、右下がりベルAが入賞する。右下がりベルAの入賞時には無効ラインLM3にベルa~cのいずれかが揃う。また、赤左右ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤左右ベルBは、15枚のメダルの払出を伴う主小役として小VベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤左右ベルBの当選時に、対応する操作態様(左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、小VベルAの組合せが入賞ラインLNに導出され、小VベルAが入賞する。小VベルAの入賞時には無効ラインLM5にベルa~cのいずれかが揃う。また、赤左右ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤中左ベルAは、15枚のメダルの払出を伴う主小役として中段ベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤中左ベルAの当選時に、対応する操作態様(中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、中段ベルAの組合せが入賞ラインLNに導出され、中段ベルAが入賞する。中段ベルAの入賞時には入賞ラインLNにベルa~cのいずれかが揃う。また、赤中左ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤中左ベルBは、15枚のメダルの払出を伴う主小役として小山ベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤中左ベルBの当選時に、対応する操作態様(中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、小山ベルAの組合せが入賞ラインLNに導出され、小山ベルAが入賞する。小山ベルAの入賞時には無効ラインLM6にベルa~cのいずれかが揃う。また、赤中左ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤中右ベルAは、15枚のメダルの払出を伴う主小役として右上がりベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤中右ベルAの当選時に、対応する操作態様(中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、右上がりベルAの組合せが入賞ラインLNに導出され、右上がりベルAが入賞する。右上がりベルAの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、赤中右ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤中右ベルBは、15枚のメダルの払出を伴う主小役として右上がりベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。赤中右ベルBの当選時に、対応する操作態様(中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、右上がりベルBの組合せが入賞ラインLNに導出され、右上がりベルBが入賞する。右上がりベルBの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、赤中右ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤右左ベルAは、15枚のメダルの払出を伴う主小役として右上がりベルCが1枚のメダルの払出を伴う副小役とともに当選する役である。赤右左ベルAの当選時に、対応する操作態様(右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、右上がりベルCの組合せが入賞ラインLNに導出され、右上がりベルCが入賞する。右上がりベルCの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、赤右左ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤右左ベルBは、15枚のメダルの払出を伴う主小役として小山ベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。赤右左ベルBの当選時に、対応する操作態様(右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、小山ベルBの組合せが入賞ラインLNに導出され、小山ベルBが入賞する。小山ベルBの入賞時には無効ラインLM6にベルa~cのいずれかが揃う。また、赤右左ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤右中ベルAは、15枚のメダルの払出を伴う主小役として中段ベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。赤右中ベルAの当選時に、対応する操作態様(右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、中段ベルBの組合せが入賞ラインLNに導出され、中段ベルBが入賞する。中段ベルBの入賞時には入賞ラインLNにベルa~cのいずれかが揃う。また、赤右中ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
赤右中ベルBは、15枚のメダルの払出を伴う主小役として下段ベルAが1枚のメダルの払出を伴う副小役とともに当選する役である。赤右中ベルBの当選時に、対応する操作態様(右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様)で操作された場合には、下段ベルAの組合せが入賞ラインLNに導出され、下段ベルAが入賞する。下段ベルAの入賞時には無効ラインLM2にベルa~cのいずれかが揃う。また、赤右中ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白左中ベルAは、15枚のメダルの払出を伴う主小役として上段ベルCが1枚のメダルの払出を伴う副小役とともに当選する役である。白左中ベルAの当選時に、対応する操作態様(左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、上段ベルCの組合せが入賞ラインLNに導出され、上段ベルCが入賞する。上段ベルCの入賞時には無効ラインLM1にベルa~cのいずれかが揃う。また、白左中ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白左中ベルBは、15枚のメダルの払出を伴う主小役として上段ベルDが1枚のメダルの払出を伴う副小役とともに当選する役である。白左中ベルBの当選時に、対応する操作態様(左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、上段ベルDの組合せが入賞ラインLNに導出され、上段ベルDが入賞する。上段ベルDの入賞時には無効ラインLM1にベルa~cのいずれかが揃う。また、白左中ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白左右ベルAは、15枚のメダルの払出を伴う主小役として右下がりベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。白左右ベルAの当選時に、対応する操作態様(左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、右下がりベルBの組合せが入賞ラインLNに導出され、右下がりベルBが入賞する。右下がりベルBの入賞時には無効ラインLM3にベルa~cのいずれかが揃う。また、白左右ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白左右ベルBは、15枚のメダルの払出を伴う主小役として小VベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。白左右ベルBの当選時に、対応する操作態様(左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、小VベルBの組合せが入賞ラインLNに導出され、小VベルBが入賞する。小VベルBの入賞時には無効ラインLM5にベルa~cのいずれかが揃う。また、白左右ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白中左ベルAは、15枚のメダルの払出を伴う主小役として中段ベルCが1枚のメダルの払出を伴う副小役とともに当選する役である。白中左ベルAの当選時に、対応する操作態様(中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、中段ベルCの組合せが入賞ラインLNに導出され、中段ベルCが入賞する。中段ベルCの入賞時には入賞ラインLNにベルa~cのいずれかが揃う。また、白中左ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白中左ベルBは、15枚のメダルの払出を伴う主小役として小山ベルCが1枚のメダルの払出を伴う副小役とともに当選する役である。白中左ベルBの当選時に、対応する操作態様(中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、小山ベルCの組合せが入賞ラインLNに導出され、小山ベルCが入賞する。小山ベルCの入賞時には無効ラインLM6にベルa~cのいずれかが揃う。また、白中左ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白中右ベルAは、15枚のメダルの払出を伴う主小役として右上がりベルDが1枚のメダルの払出を伴う副小役とともに当選する役である。白中右ベルAの当選時に、対応する操作態様(中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、右上がりベルDの組合せが入賞ラインLNに導出され、右上がりベルDが入賞する。右上がりベルDの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、白中右ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白中右ベルBは、15枚のメダルの払出を伴う主小役として右上がりベルEが1枚のメダルの払出を伴う副小役とともに当選する役である。白中右ベルBの当選時に、対応する操作態様(中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、右上がりベルEの組合せが入賞ラインLNに導出され、右上がりベルEが入賞する。右上がりベルEの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、白中右ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白右左ベルAは、15枚のメダルの払出を伴う主小役として右上がりベルFが1枚のメダルの払出を伴う副小役とともに当選する役である。白右左ベルAの当選時に、対応する操作態様(右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、右上がりベルFの組合せが入賞ラインLNに導出され、右上がりベルFが入賞する。右上がりベルFの入賞時には無効ラインLM4にベルa~cのいずれかが揃う。また、白右左ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白右左ベルBは、15枚のメダルの払出を伴う主小役として小山ベルDが1枚のメダルの払出を伴う副小役とともに当選する役である。白右左ベルBの当選時に、対応する操作態様(右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、小山ベルDの組合せが入賞ラインLNに導出され、小山ベルDが入賞する。小山ベルDの入賞時には無効ラインLM6にベルa~cのいずれかが揃う。また、白右左ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白右中ベルAは、15枚のメダルの払出を伴う主小役として中段ベルDが1枚のメダルの払出を伴う副小役とともに当選する役である。白右中ベルAの当選時に、対応する操作態様(右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、中段ベルDの組合せが入賞ラインLNに導出され、中段ベルDが入賞する。中段ベルDの入賞時には入賞ラインLNにベルa~cのいずれかが揃う。また、白右中ベルAの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
白右中ベルBは、15枚のメダルの払出を伴う主小役として下段ベルBが1枚のメダルの払出を伴う副小役とともに当選する役である。白右中ベルBの当選時に、対応する操作態様(右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様)で操作された場合には、下段ベルBの組合せが入賞ラインLNに導出され、下段ベルBが入賞する。下段ベルBの入賞時には無効ラインLM2にベルa~cのいずれかが揃う。また、白右中ベルBの当選時に、対応する操作態様以外の操作態様で操作された場合には、停止操作タイミングに応じて副小役の図柄組合せが入賞ラインLNに導出され、副小役が入賞するか、いずれの役も構成しない図柄組合せが入賞ラインLNに導出され、いずれの役も入賞しないハズレとなる。
尚、ナビ小役を構成する主小役のうち中段ベルA~Dは、いずれも入賞ラインLNにベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち上段ベルA~Dは、いずれも無効ラインLM1にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち、下段ベルA、Bは、いずれも無効ラインLM2にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち、右下がりベルA、Bは、いずれも無効ラインLM3にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち右上がりベルA~Fは、いずれも無効ラインLM4にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち小VベルA、Bは、いずれも無効ラインLM5にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。また、ナビ小役を構成する主小役のうち小山ベルA~Dは、いずれも無効ラインLM6にベルa~cのいずれかが揃うが、入賞ラインLNに揃う図柄組合せが異なる。
特定小役A+1枚は、15枚のメダルの払出を伴う特定小役Aと1枚のメダルの払出を伴う1枚とともに当選する役である。特定小役A+1枚の当選時に、左リールの停止操作タイミングが白7エリアとなる操作態様で操作された場合には、停止操作順に関わらず、特定小役Aの図柄組合せが入賞ラインLNに導出され、特定小役Aが入賞する。特定小役A+1枚の当選時に、左リールの停止操作タイミングが赤7エリアとなる操作態様で操作された場合に、停止操作順に関わらず、1枚の図柄組合せが入賞ラインLNに導出され、1枚が入賞する。
特定小役B+1枚は、15枚のメダルの払出を伴う特定小役Bと1枚のメダルの払出を伴う1枚とともに当選する役である。特定小役B+1枚の当選時に、左リールの停止操作タイミングが白7エリアとなる操作態様で操作された場合には、停止操作順に関わらず、特定小役Bの図柄組合せが入賞ラインLNに導出され、特定小役Bが入賞する。特定小役B+1枚の当選時に、左リールの停止操作タイミングが赤7エリアとなる操作態様で操作された場合に、停止操作順に関わらず、1枚の図柄組合せが入賞ラインLNに導出され、1枚が入賞する。
特定小役A、Bは、いずれも左リールの停止操作タイミングが白7エリアとなる操作態様で操作された場合に、停止操作順に関わらず入賞し、15枚のメダルの払出を伴う小役であるが、入賞ラインLNに揃う図柄組合せが異なる。また、前述のように、左リールにおいて赤7エリア、白7エリアの範囲は、連続する10図柄の範囲であり、左リール1周の1/2の範囲となることから、特定小役A+1枚、特定小役B+1枚の当選時には、複数の操作態様のうち1/2の操作態様では、特定小役A、Bが入賞し、1/2の操作態様では、1枚が入賞する。
複合小役1は、ナビ小役を構成する全ての主小役、すなわち上段ベルA~D、中段ベルA~D、下段ベルA、B、右下がりベルA、B、右上がりベルA~F、小山ベルA~D、小VベルA、Bと、特定小役A、Bが同時当選する役である。複合小役1の当選時には、停止操作順、停止操作タイミングに関わらず、必ず15枚のメダルの払出を伴う中段ベルA~Dのいずれかの図柄組合せが入賞ラインLNに導出され、中段ベルA~Dのいずれかが入賞する。
複合小役2は、ナビ小役を構成する全ての副小役と1枚と3枚が当選する役である。複合小役2の当選時には、停止操作順、停止操作タイミングに関わらず、必ず1枚のメダルの払出を伴う1枚の図柄組合せが入賞ラインLNに導出され、1枚が入賞する。
[ナビ小役、特定小役、複合小役に関連する制御について]
メイン制御部41は、内部抽選の後、内部抽選の結果を特定可能な内部当選コマンドをサブ制御部91に対して送信し、サブ制御部91は、内部当選コマンドから特定される内部抽選の結果に応じて演出内容を決定し、決定した演出内容に従って演出を実行する。
メイン制御部41は、図6に示すように、内部抽選においてナビ小役が当選した場合に、ナビ報知を行う場合にも、ナビ報知を行わない場合にも、ナビ小役の種類、対応する操作態様に関わらず、全てのナビ小役に共通の当選番号(一般役)11を示す内部当選コマンド、すなわちナビ小役が当選したことは特定可能となるが、対応する操作態様が特定不能な内部当選コマンドをサブ制御部91に対して送信する。
また、メイン制御部41は、内部抽選においてナビ小役が当選した場合に、ナビ報知を行わない場合には、RAM41cのナビ番号設定領域にナビ報知を行わない旨を示す「0」を設定し、ナビ報知を行う場合には、RAM41cのナビ番号設定領域に、当選したナビ小役に対応する操作態様に応じた「1」~「12」のナビ番号を設定し、ナビ番号設定領域に設定されたナビ番号を遊技補助表示器12に表示させることで、当選したナビ小役に対応する操作態様での停止操作を促すナビ報知を行う。尚、内部抽選においてナビ報知の対象とならない役が当選した場合には、RAM41cのナビ番号設定領域にナビ報知を行わない旨を示す「0」が設定される。
詳しくは、図6に示すように、赤左中ベルA、赤左中ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「1」が設定され、図7に示すように、ナビ番号として設定された「1」を遊技補助表示器12に表示させることで、左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様(左赤領域・中・右停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、赤左右ベルA、赤左右ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「2」が設定され、図7に示すように、ナビ番号として設定された「2」を遊技補助表示器12に表示させることで、左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様(左赤領域・右・中停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、赤中左ベルA、赤中左ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「3」が設定され、図7に示すように、ナビ番号として設定された「3」を遊技補助表示器12に表示させることで、中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様(中赤領域・左・右停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、赤中右ベルA、赤中右ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「4」が設定され、図7に示すように、ナビ番号として設定された「4」を遊技補助表示器12に表示させることで、中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが赤7エリアとなる操作態様(中赤領域・右・左停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、赤右左ベルA、赤右左ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「5」が設定され、図7に示すように、ナビ番号として設定された「5」を遊技補助表示器12に表示させることで、右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様(右赤領域・左・中停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、赤右中ベルA、赤右中ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「6」が設定され、図7に示すように、ナビ番号として設定された「6」を遊技補助表示器12に表示させることで、右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが赤7エリアとなる操作態様(右赤領域・中・左停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白左中ベルA、白左中ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「7」が設定され、図7に示すように、ナビ番号として設定された「7」を遊技補助表示器12に表示させることで、左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様(左白領域・中・右停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白左右ベルA、白左右ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「8」が設定され、図7に示すように、ナビ番号として設定された「8」を遊技補助表示器12に表示させることで、左リール、右リール、中リールの停止操作順、かつ左リールの停止操作タイミングが白7エリアとなる操作態様(左白領域・右・中停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白中左ベルA、白中左ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「9」が設定され、図7に示すように、ナビ番号として設定された「9」を遊技補助表示器12に表示させることで、中リール、左リール、右リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様(中白領域・左・右停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白中右ベルA、白中右ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「10」が設定され、図7に示すように、ナビ番号として設定された「10」を遊技補助表示器12に表示させることで、中リール、右リール、左リールの停止操作順、かつ中リールの停止操作タイミングが白7エリアとなる操作態様(中白領域・右・左停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白右左ベルA、白右左ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「11」が設定され、図7に示すように、ナビ番号として設定された「11」を遊技補助表示器12に表示させることで、右リール、左リール、中リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様(右白領域・左・中停止)での停止操作を促すナビ報知を行う。
また、図6に示すように、白右中ベルA、白右中ベルBのいずれが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「12」が設定され、図7に示すように、ナビ番号として設定された「12」を遊技補助表示器12に表示させることで、右リール、中リール、左リールの停止操作順、かつ右リールの停止操作タイミングが白7エリアとなる操作態様(右白領域・中・左停止)での停止操作を促すナビ報知を行う。
このように、ナビ小役の種類が異なっても同じ操作態様が対応するナビ小役が当選した場合には、共通のナビ報知を行う。
また、メイン制御部41は、ナビ小役の当選時にナビ報知を行わない場合には、内部当選コマンドを送信した後、ナビ小役に対応する操作態様が特定されないナビ番号「0」を特定可能なナビコマンドを送信する一方で、図6に示すように、赤左中ベルA、赤左中ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が左赤領域・中・右停止であることを示すナビ番号「1」を特定可能なナビコマンドをサブ制御部91に対して送信し、赤左右ベルA、赤左右ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が左赤領域・右・中停止であることを示すナビ番号「2」を特定可能なナビコマンドをサブ制御部91に対して送信し、赤中左ベルA、赤中左ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が中赤領域・左・右停止であることを示すナビ番号「3」を特定可能なナビコマンドをサブ制御部91に対して送信し、赤中右ベルA、赤中右ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が中赤領域・右・左停止であることを示すナビ番号「4」を特定可能なナビコマンドをサブ制御部91に対して送信し、赤右左ベルA、赤右左ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が右赤領域・左・中停止であることを示すナビ番号「5」を特定可能なナビコマンドをサブ制御部91に対して送信し、赤右中ベルA、赤右中ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が右赤領域・中・左停止であることを示すナビ番号「6」を特定可能なナビコマンドをサブ制御部91に対して送信し、白左中ベルA、白左中ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が左白領域・中・右停止であることを示すナビ番号「7」を特定可能なナビコマンドをサブ制御部91に対して送信し、白左右ベルA、白左右ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が左白領域・右・中停止であることを示すナビ番号「8」を特定可能なナビコマンドをサブ制御部91に対して送信し、白中左ベルA、白中左ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が中白領域・左・右停止であることを示すナビ番号「9」を特定可能なナビコマンドをサブ制御部91に対して送信し、白中右ベルA、白中右ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が中白領域・右・左停止であることを示すナビ番号「10」を特定可能なナビコマンドをサブ制御部91に対して送信し、白右左ベルA、白右左ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が右白領域・左・中停止であることを示すナビ番号「11」を特定可能なナビコマンドをサブ制御部91に対して送信し、白右中ベルA、白右中ベルBのいずれが当選してナビ報知を行う場合には、対応する操作態様が右白領域・中・左停止であることを示すナビ番号「12」を特定可能なナビコマンドをサブ制御部91に対して送信する。
このように、ナビ小役の種類が異なっても同じ停止操作順が対応するナビ小役が当選した場合には、共通のナビコマンドをサブ制御部91に対して送信する。
メイン制御部41は、図6に示すように、内部抽選において特定小役A+1枚、特定小役B+1枚、1枚が当選した場合に、ナビ報知を行う場合にも、ナビ報知を行わない場合にも、特定小役A+1枚、特定小役B+1枚、1枚のいずれが当選した場合でも、共通の当選番号(一般役)8を示す内部当選コマンド、すなわち特定小役A+1枚、特定小役B+1枚、1枚のいずれかが当選したことは特定可能となるが、いずれが当選したかが特定不能な内部当選コマンドをサブ制御部91に対して送信する。
また、メイン制御部41は、内部抽選において特定小役A+1枚、特定小役B+1枚が当選した場合に、ナビ報知を行わない場合には、RAM41cのナビ番号設定領域にナビ報知を行わない旨を示す「0」を設定し、ナビ報知を行う場合には、RAM41cのナビ番号設定領域に、特定小役A+1枚、特定小役B+1枚に対応する操作態様に応じた「13」のナビ番号を設定し、ナビ番号設定領域に設定されたナビ番号を遊技補助表示器12に表示させることで、特定小役A+1枚、特定小役B+1枚に対応する操作態様での停止操作を促すナビ報知を行う。尚、内部抽選においてナビ報知の対象とならない1枚が当選した場合には、他のナビ報知の対象とならない役と同様にRAM41cのナビ番号設定領域にナビ報知を行わない旨を示す「0」が設定される。
詳しくは、図6に示すように、特定小役A+1枚、特定小役B+1枚のいずれかが当選してナビ報知を行う場合には、RAM41cのナビ番号設定領域にナビ番号として「13」が設定され、図7に示すように、ナビ番号として設定された「13」を遊技補助表示器12に表示させることで、左リールの停止操作タイミングが白7エリアとなる操作態様(左白領域)での停止操作を促すナビ報知を行う。
このように、特定小役A+1枚、特定小役B+1枚のいずれが当選した場合でも、特定小役A、Bが入賞する操作態様は共通であり、特定小役A+1枚が当選してナビ報知を行う場合にも、特定小役B+1枚が当選してナビ報知を行う場合にも、共通のナビ報知を行う。
メイン制御部41は、特定小役A+1枚、特定小役B+1枚のいずれかの当選時にナビ報知を行わない場合には、内部当選コマンドを送信した後、いずれが当選したかが特定されないナビ番号「0」を特定可能なナビコマンドを送信する一方で、図6に示すように、特定小役A+1枚、特定小役B+1枚のいずれが当選してナビ報知を行う場合には、左リールの停止操作タイミングが白7エリアとなる操作態様(左白領域)での停止操作であることを示すナビ番号「13」を特定可能なナビコマンドをサブ制御部91に対して送信する。
尚、メイン制御部41は、1枚の当選時にはナビ報知が行われることがないため、1枚の当選時には、内部当選コマンドを送信した後、いずれが当選したかが特定されないナビ番号「0」を特定可能なナビコマンドを送信する。
このように、特定小役A+1枚、特定小役B+1枚のいずれが当選した場合でも、特定小役A、Bが入賞する操作態様は共通であり、特定小役A+1枚が当選してナビ報知を行う場合にも、特定小役B+1枚が当選してナビ報知を行う場合にも、共通のナビコマンドをサブ制御部91に対して送信する。
尚、メイン制御部41は、内部抽選においてナビ報知の対象とならない役が当選した場合には、内部当選コマンドを送信した後、内部抽選においてナビ報知の対象とならない役の当選時にナビ番号設定領域に設定されるナビ番号「0」を特定可能なナビコマンドを送信する。
サブ制御部91は、ナビ小役の当選を示す内部当選コマンドを受信した場合に、内部当選コマンドからナビ小役のいずれかが当選したことを特定することは可能であるが、ナビ小役に対応する操作態様は特定できないため、メイン制御部41側でナビ報知が行われず、内部当選コマンドの後に受信したナビコマンドから対応する操作態様が特定されない場合には、ナビ小役の当選、かつナビ報知が行われない場合の制御、例えば、ナビ小役の当選、かつナビ報知がない場合に対応する演出群(例えば、ナビ小役の当選を示唆する演出等)からいずれかの演出内容を決定し、決定した演出内容にて演出を実行する。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「1」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「赤7-2-3」の画像を表示させることで、左赤領域・中・右停止の操作態様での停止操作を促すナビ演出を行う。この際、赤左中ベルAが当選している場合でも、赤左中ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて左赤領域・中・右停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「2」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「赤7-3-2」の画像を表示させることで、左赤領域・右・中停止の操作態様での停止操作を促すナビ演出を行う。この際、赤左右ベルAが当選している場合でも、赤左右ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて左赤領域・右・中停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「3」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「2-赤7-3」の画像を表示させることで、中赤領域・左・右停止の操作態様での停止操作を促すナビ演出を行う。この際、赤中左ベルAが当選している場合でも、赤中左ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて中赤領域・左・右停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「4」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「3-赤7-2」の画像を表示させることで、中赤領域・右・左停止の操作態様での停止操作を促すナビ演出を行う。この際、赤中右ベルAが当選している場合でも、赤中右ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて中赤領域・右・左停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「5」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「2-3-赤7」の画像を表示させることで、右赤領域・左・中停止の操作態様での停止操作を促すナビ演出を行う。この際、赤右左ベルAが当選している場合でも、赤右左ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて右赤領域・左・中停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「6」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「3-2-赤7」の画像を表示させることで、右赤領域・中・左停止の操作態様での停止操作を促すナビ演出を行う。この際、赤右中ベルAが当選している場合でも、赤右中ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて右赤領域・中・左停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「7」を示すナビコマンド受信した場合には、図7に示すように、液晶表示器51に「白7-2-3」の画像を表示させることで、左白領域・中・右停止の操作態様での停止操作を促すナビ演出を行う。この際、白左中ベルAが当選している場合でも、白左中ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて左白領域・中・右停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「8」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「白7-3-2」の画像を表示させることで、左白領域・右・中停止の操作態様での停止操作を促すナビ演出を行う。この際、白左右ベルAが当選している場合でも、白左右ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて左白領域・右・中停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「9」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「2-白7-3」の画像を表示させることで、中白領域・左・右停止の操作態様での停止操作を促すナビ演出を行う。この際、白中左ベルAが当選している場合でも、白中左ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて中白領域・左・右停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「10」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「3-白7-2」の画像を表示させることで、中白領域・右・左停止の操作態様での停止操作を促すナビ演出を行う。この際、白中右ベルAが当選している場合でも、白中右ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて中白領域・右・左停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「11」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「2-3-白7」の画像を表示させることで、右白領域・左・中停止の操作態様での停止操作を促すナビ演出を行う。この際、白右左ベルAが当選している場合でも、白右左ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて右白領域・左・中停止の操作態様での停止操作を促すナビ演出を行う。
また、サブ制御部91は、ナビ小役の当選が特定される内部当選コマンドを受信した後、ナビ番号「12」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「3-2-白7」の画像を表示させることで、右白領域・中・左停止の操作態様での停止操作を促すナビ演出を行う。この際、白右中ベルAが当選している場合でも、白右中ベルBが当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて右白領域・中・左停止の操作態様での停止操作を促すナビ演出を行う。
サブ制御部91は、特定小役A+1枚、特定小役B+1枚、1枚の当選を示す内部当選コマンドを受信した場合に、メイン制御部41側でナビ報知が行われず、内部当選コマンドの後に受信したナビコマンドから対応する操作態様が特定されない場合には、特定小役A+1枚、特定小役B+1枚、1枚のいずれかの当選、かつナビ報知が行われない場合の制御、例えば、特定小役A+1枚、特定小役B+1枚、1枚の当選、かつナビ報知がない場合に対応する演出群(例えば、特定小役A+1枚、特定小役B+1枚、1枚の当選を示唆する演出等)からいずれかの演出内容を決定し、決定した演出内容にて演出を実行する。
また、サブ制御部91は、特定小役A+1枚、特定小役B+1枚の当選を示す内部当選コマンドを受信した後、ナビ番号「13」を示すナビコマンドを受信した場合には、図7に示すように、液晶表示器51に「白7-2-3」の画像を表示させることで、左白領域停止の操作態様での停止操作を促すナビ演出を行う。この際、特定小役A+1枚が当選している場合でも、特定小役B+1枚が当選している場合でも、共通の内部当選コマンド、共通のナビコマンドが送信されるため、サブ制御部91は、共通の制御にて左白領域停止の操作態様での停止操作を促すナビ演出を行う。尚、左白領域停止の操作態様での停止操作は、左白領域・中・右停止の操作態様に含まれるため、白左中ベルAが当選している場合や白左中ベルBが当選している場合と共通のナビ演出を行う。
尚、本実施例では、ナビ小役のうち白左中ベルA、白左中ベルB、白左右ベルA、白左右ベルBが当選している場合に行われるナビ報知と、特定小役A+1枚、特定小役B+1枚が当選している場合に行われるナビ報知と、が異なる態様であるが、特定小役A+1枚、特定小役B+1枚の当選時において特定小役A、Bを入賞させる操作態様は、白左中ベルA、白左中ベルBに対応する左白領域・中・右停止の操作態様、または白左右ベルA、白左右ベルBに対応する左白領域・右・中停止の操作態様に含まれるため、特定小役A+1枚、特定小役B+1枚が当選している場合に、白左中ベルA、白左中ベルBが当選している場合に行われるナビ報知または白左右ベルA、白左右ベルBが当選している場合に行われるナビ報知と共通の態様のナビ報知を行う構成としても良い。
また、本実施例では、ナビ小役のうち白左中ベルA、白左中ベルB、白左右ベルA、白左右ベルBが当選している場合に送信されるナビコマンドと、特定小役A+1枚、特定小役B+1枚が当選している場合に送信されるナビコマンドと、が異なる構成であるが、特定小役A+1枚、特定小役B+1枚が当選している場合に、白左中ベルA、白左中ベルBが当選している場合、または白左右ベルA、白左右ベルBが当選している場合と共通の操作態様が特定されるナビコマンドを送信する構成としても良い。
[ナビ小役、特定小役、複合小役を構成する小役の当選確率について]
本実施例では、図8に示すように、通常遊技状態(非内部中・内部中)において、上段ベルAが当選する赤左中ベルAの当選確率、上段ベルBが当選する赤左中ベルBの当選確率、右下がりベルAが当選する赤左右ベルAの当選確率、小VベルAが当選する赤左右ベルBの当選確率、中段ベルAが当選する赤中左ベルAの当選確率、小山ベルAが当選する赤中左ベルBの当選確率、右上がりベルAが当選する赤中右ベルAの当選確率、右上がりベルBが当選する赤中右ベルBの当選確率、右上がりベルCが当選する赤右左ベルAの当選確率、小山ベルBが当選する赤右左ベルBの当選確率、中段ベルBが当選する赤右中ベルAの当選確率、下段ベルAが当選する赤右中ベルBの当選確率、上段ベルCが当選する白左中ベルAの当選確率、上段ベルDが当選する白左中ベルBの当選確率、右下がりベルBが当選する白左右ベルAの当選確率、小VベルBが当選する白左右ベルBの当選確率、中段ベルCが当選する白中左ベルAの当選確率、小山ベルCが当選する白中左ベルBの当選確率、右上がりベルDが当選する白中右ベルAの当選確率、右上がりベルEが当選する白中右ベルBの当選確率、右上がりベルFが当選する白右左ベルAの当選確率、小山ベルDが当選する白右左ベルBの当選確率、中段ベルDが当選する白右中ベルAの当選確率、下段ベルBが当選する白右中ベルBの当選確率は、いずれも2000/65536であり、特定小役Aが当選する特定小役A+1枚の当選確率、特定小役Bが当選する特定小役B+1枚の当選確率は、いずれも1345/65536である。
また、特別遊技状態(RB)において、全ての主小役、すなわち上段ベルA~D、中段ベルA~D、下段ベルA、B、右下がりベルA、B、右上がりベルA~F、小山ベルA~D、小VベルA、Bと、特定小役A、Bと、が当選する複合小役1の当選確率は、2001/65536であり、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率(2000/65536)よりも高く設定されている。
加えて、通常遊技状態(非内部中・内部中)において主小役のいずれかが当選する確率(48000/65536)よりも、特別遊技状態(RB)における主小役の当選確率(2001/65536)の方が低く設定されている。すなわち通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率は、特別遊技状態(RB)における主小役の当選確率よりも低く設定されているが、通常遊技状態(非内部中・内部中)においていずれかの主小役が当選する確率よりも、特別遊技状態(RB)において主小役が当選する確率が低く設定されている。
このことから、例えば同じ操作態様に対応するナビ小役において当選する主小役が1種類の場合であると、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率が高くなり、それ以上に特別遊技状態(RB)における主小役の当選確率を高く設定すると、特別遊技状態(RB)における主小役の当選確率が相対的に高くなってしまうこととなるが、本実施例では、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率よりも、特別遊技状態(RB)における主小役の当選確率を高く設定する構成において、同じ操作態様に対応するナビ小役において当選する主小役をそれぞれ複数種類(本実施例では2種類)とすることで、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率が下がるため、その分特別遊技状態(RB)における主小役の当選確率を下げることが可能となる。
また、通常遊技状態(非内部中・内部中)において特定小役A、Bが当選する確率は、それぞれ1345/65536であり、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率(2000/65536)よりも低く設定されている。このため、左リールの停止操作タイミングが白7エリアとなる操作態様で操作すれば確実に15枚のメダルを獲得できる特定小役A、Bの当選確率が過度に高まってしまうことがない。
また、特別遊技状態(RB)において全ての主小役と、特定小役A、Bと、が当選する複合小役1の当選確率は、2001/65536であり、通常遊技状態(非内部中・内部中)における主小役それぞれの当選確率(2000/65536)よりも高く、通常遊技状態(非内部中・内部中)における特定小役A、Bそれぞれの当選確率(1345/65536)よりも高く設定されている。
加えて、通常遊技状態(非内部中・内部中)において主小役、特定小役A、Bのいずれかが当選する確率(50690/65536)よりも、特別遊技状態(RB)における主小役の当選確率(2001/65536)、特別遊技状態(RB)における特定小役A、Bの当選確率(2001/65536)の方が低く設定されている。すなわち通常遊技状態(非内部中・内部中)における主小役、特定小役A、Bそれぞれの当選確率は、特別遊技状態(RB)における主小役、特定小役A、Bが当選する確率よりも低く設定されているが、通常遊技状態(非内部中・内部中)においていずれかの主小役、特定小役A、Bが当選する確率よりも、特別遊技状態(RB)において主小役、特定小役A、Bが当選する確率が低く設定されている。
また、特定小役が1種類の場合であると、通常遊技状態(非内部中・内部中)における特定小役の当選確率が高くなり、それ以上に特別遊技状態(RB)における特定小役や主小役の当選確率を高く設定すると、特別遊技状態(RB)における特定小役や主小役の当選確率が相対的に高くなってしまうこととなるが、本実施例では、通常遊技状態(非内部中・内部中)における特定小役の当選確率よりも、特別遊技状態(RB)における特定小役及び主小役の当選確率を高く設定する構成において、特定小役を複数種類(本実施例では2種類)とすることで、通常遊技状態(非内部中・内部中)において特定小役A、Bの個々の当選確率が下がるため、その分特別遊技状態(RB)における特定小役A、Bや主小役の当選確率を下げることが可能となる。
[遊技区間について]
メイン制御部41は、遊技区間として通常区間及び有利区間のいずれかに制御することが可能である。
通常区間は、ナビ報知が行われることのない遊技区間であり、有利区間が終了された後、次ゲームが開始されることで開始される。その後、通常区間は、特別遊技状態以外の遊技状態に制御されているゲームにおいて内部抽選にて有利区間移行役が当選したゲームにおいて終了される。通常区間では、区間表示LED19は、常に消灯状態に制御される。
有利区間は、ナビ報知が行われることのある遊技区間であり、ナビ報知が実行され得ることで通常区間に比較して遊技者にとって有利な遊技区間である。有利区間は、通常区間のゲームにおいて特別遊技状態以外の遊技状態に制御されているゲームにおいて内部抽選にて有利区間移行役が当選することで有利区間に移行させる旨が決定され、次ゲームから開始される。その後、有利区間の終了条件(後述の終了条件1~3)が成立することで終了される。メイン制御部41は、有利区間の開始時に区間表示LED19を点灯させることで、有利区間中である旨を認識させることが可能となる。その後、メイン制御部41は、有利区間が終了するときに区間表示LED19を消灯し、区間表示を終了するようになっている。
尚、本実施例では、メイン制御部41が、有利区間が開始するゲームの開始時に区間表示LED19を点灯することで、有利区間に制御されている旨の報知を開始する構成であるが、有利区間の開始後、最初にナビ報知が行われることでメダルの払出率(払出枚数/賭数)が100%を超え得るゲームの開始時に、区間表示LED19を点灯することで、有利区間に制御されている旨の報知を開始する構成としても良い。
メイン制御部41は、有利区間において内部抽選にてナビ対象役が当選したときに、ナビ報知の制御(遊技補助表示器12にナビ番号を表示させる制御、ナビ番号を特定可能なナビコマンドを送信する制御等)を行って、遊技者にとって有利となるストップスイッチ8L、8C、8Rの操作態様を報知することが可能であり、有利区間は、通常区間に比較して遊技者にとって有利な遊技区間となる。
また、メイン制御部41は、有利区間において、ナビ報知が行われない通常状態、ナビ報知が行われないがAT状態への移行確率が高まるCZ(チャンスゾーン)状態、ナビ報知が行われるAT状態等を含む遊技者にとっての有利度が異なる複数種類の有利区間状態に制御することが可能である。
有利区間の終了条件には、有利区間におけるゲーム数(有利区間ゲーム数)が上限ゲーム数として定められた第1規定数(本実施例では、1500ゲーム)に到達することで成立する終了条件1、有利区間においてメダルの増減枚数が減少傾向から増加傾向に変化してからのメダルの純増枚数が上限枚数として定められた第2規定数(本実施例では、2400)を超えることで成立する終了条件2、予め定められた任意条件(本実施例では、AT状態の終了条件が成立すること)が成立することで成立する終了条件3が含まれ、終了条件1~3のうち少なくとも一の条件が成立することで有利区間は終了される。
尚、本実施例では、遊技区間が通常区間に制御されているときに、予め定められた有利区間移行役が当選することで、遊技区間を有利区間へ移行させる構成であるが、遊技区間が通常区間に制御されているときに、内部抽選にて有利区間移行抽選対象役が当選することで、有利区間移行抽選を行い、当該有利区間移行抽選にて当選することで、遊技区間を有利区間へ移行させる構成でも良い。
[メイン処理について]
メイン制御部41が行うメイン処理の制御内容について、図9に基づいて説明する。尚、メイン処理は、一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期がゲームの一単位に相当している。
図9に示すように、メイン制御部41は、まず、遊技開始待ち処理(Sa1)を行って、前の1遊技の制御の終了後から次の1ゲームを開始させるまでの処理を行う。遊技開始待ち処理では、メダルの投入等に応じて賭数を設定する処理を行い、規定数の賭数が設定された状態でスタートスイッチ7の操作が検出されることで、次の1ゲームを開始させる処理を行う。
次いで、ゲームが開始すると、入賞の発生を許容するか否かを決定(内部抽選)するための内部抽選処理(Sa2)を行う。内部抽選処理では、スロットマシン1において予め設定された設定値(1~6)やスタートスイッチ7の検出によるゲームの開始と同時に取得された内部抽選用の乱数値に基づいて、入賞の発生を許容するか否か(すなわち、表示結果の導出を許容するか否か)を決定する内部抽選を行う。そして、内部抽選での当選結果が特定可能となるように当選した役に対応する当選番号(一般役)をRAM41cの当選番号設定領域に記憶させる。また、特別役が当選した場合には、当選した特別役に対応する当選番号(特別役)をRAM41cの当選番号設定領域に記憶させる。
次いで、当選番号(一般役)を有利区間移行用フラグに変換する有利区間移行用フラグ生成処理(Sa3)、当選番号(一般役)を抽選用フラグに変換する抽選用フラグ生成処理(Sa4)を行う。有利区間移行用フラグ生成処理では、有利区間移行用フラグ変換テーブルを用いて当選番号(一般役)に対応する有利区間移行用フラグの値を取得し、RAM41cの所定領域に記憶させる。また、抽選用フラグ生成処理では、抽選用フラグ変換テーブルを用いて当選番号(一般役)に対応する抽選用フラグ1~3の値を取得し、RAM41cの所定領域にそれぞれ記憶させる。
次いで、遊技を開始したタイミングにおいて遊技区間に関連する処理及びナビ報知に関連する処理を行う遊技開始時出玉制御処理(Sa5)を行う。遊技区間に関連する処理では、通常区間において有利区間移行役が当選した場合に有利区間に移行させる処理を行い、ナビ報知に関連する処理では、ナビ番号を設定する処理、有利区間状態の管理に関連する処理を行う。ナビ番号を設定する処理では、ナビ報知の対象となる役が当選し、ナビ報知を行う場合には、報知する操作態様に応じて「1」~「13」のナビ番号をRAM41cのナビ番号設定領域に設定し、ナビ報知の対象となる役が当選し、ナビ報知を行わない場合、ナビ報知の対象とならない役が当選した場合には、「0」をRAM41cのナビ番号設定領域に設定する。
次いで、割込禁止に設定し(Sa6)、操作信号設定処理を行う(Sa7)。操作信号設定処理では、推奨する停止操作態様を特定可能な操作信号を試験装置に対して送信するための処理を行う。
次いで、操作信号設定処理の後、割込許可に設定し(Sa8)、遊技開始時コマンド送信処理(Sa9)を行って、1ゲームが開始された旨を特定可能であり、1ゲームの開始時点における各種の制御状態を特定可能な複数のコマンドを含む制御状態コマンド群をコマンドキューに設定して、サブ制御部91に対して順次送信させる。
次いで、遊技開始時コマンド送信処理の後、所定期間にわたり遊技の進行を遅延させるフリーズ状態に関する制御を行うフリーズ処理(Sa10)を行う。フリーズ処理では、スタートスイッチ7が操作されてゲームが開始されるときにフリーズ状態に制御する旨が決定されているか否かを判定し、フリーズ状態に制御する旨が決定されていると判定した場合には、遊技の進行を所定期間にわたり遅延させる。また、フリーズ状態においてリールを変動させるリール演出を行う場合には、リール演出の種類に応じた変動態様でリールを変動させる処理を行う。
次いで、フリーズ処理が終了した後、割込禁止に設定し(Sa11)、予め定められたリールの回転開始時の設定を行う遊技開始時設定処理(Sa12)を行う。遊技開始時設定処理では、遊技の開始に伴うリールの回転開始処理を行い、定速回転に向けてリールの回転を開始させる。
次いで、遊技開始時設定処理の後、割込許可に設定し(Sa13)、所定の出力ポートから呼出ランプやホールコンピュータ、試験装置等の外部機器に対して回転開始時の外部出力信号(ゲームに使用されたメダル数を示すメダルIN信号等)を出力する回転開始時外部信号処理(Sa14)を行う。
次いで、回転開始時外部信号処理の後、リールの停止制御を行うリール停止処理(Sa15)を行う。リール停止処理では、ナビ報知を行う場合には、遊技補助表示器12に、ナビ番号設定領域に設定されたナビ番号を表示させることで操作態様を報知させる。また、回転中の全てのリールが定速回転で回転されている場合には、回転中のリールの停止操作の受付を有効化し、遊技者によるリールの停止操作が行われるまで待機する。そして、停止操作が有効化されているリールについて有効な停止操作が検出されることで、有効な停止操作が行われたリールについてリールを停止させるリール停止制御を行う。このようなリール停止制御を、回転中のリールについて繰り返し行って、全てのリールの回転を停止させることで、リール停止処理を終了させる。
次いで、リール停止処理の後、入賞検索処理(Sa16)を行う。入賞検索処理では、リール2L、2C、2Rに停止している図柄組合せに基づいて入賞図柄組合せを検索し、入賞の有無を示す入賞フラグや当該入賞に伴って付与されるメダルの払出枚数をRAM41cの所定領域に設定する。
次いで、割込禁止に設定し(Sa17)、遊技機情報表示器50に表示される遊技機情報を算出する際に用いられる遊技履歴を計算する遊技機情報計算処理(Sa18)を行う。
次いで、遊技機情報計算処理の後、割込許可に設定し(Sa19)、特別遊技状態終了チェック処理(Sa20)を行う。特別遊技状態終了チェック処理では、特別遊技状態に制御されている場合に、終了条件が成立したか否かを判定する。次いで、遊技状態設定処理(Sa21)を行う。遊技状態設定処理では、入賞検索処理により設定された入賞データや特別遊技状態終了チェック処理の結果に基づいて、次ゲームの遊技状態を設定する。
次いで、遊技を終了したタイミングにおいて有利区間に関連する処理及びナビ報知に関連する処理を行う遊技終了時出玉制御処理(Sa22)を行う。有利区間に関連する処理では、有利区間において有利区間の終了条件が成立しているか否かを判定し、有利区間の終了条件が成立した場合に有利区間終了フラグを設定する処理を行い、ナビ報知に関連する処理では、有利区間状態の管理に関連する処理を行う。
次いで、遊技終了時コマンド送信処理(Sa23)を行って、1ゲームの終了時点における各種の制御状態を特定可能な複数のコマンドを含む制御状態コマンド群をコマンドキューに設定して、サブ制御部91に対して順次送信させる。
次いで、遊技終了時コマンド送信処理の後、入賞検索処理(Sa16)によりRAM41cの所定領域に設定した払出枚数に基づいて、当該ゲームの結果として発生した入賞に応じた枚数のメダルを付与する払出処理を行う(Sa24)。払出処理では、発生した入賞に応じて、入賞毎に予め定められた所定枚数のメダルを遊技者に対して付与して、付与するメダル枚数分をクレジットに加算し、クレジットが上限数(本実施例では、50)に達した場合には、クレジットに加算されなかった分のメダルをメダル払出口9から払い出す。
次いで、払出処理の後、所定の出力ポートから呼出ランプやホールコンピュータ、試験装置等の外部機器に対して遊技終了時の外部出力信号(付与されたメダル数を示すメダルOUT信号等)を出力する遊技終了時外部信号処理(Sa25)を行う。
次いで、遊技終了時設定処理を行う(Sa26)。遊技終了時設定処理では、再遊技役の図柄組合せがリール2L、2C、2Rに停止しているか否かを判定し、再遊技役の図柄組合せが停止している場合には、次ゲームにおいて再遊技を行うための賭数を設定する処理や、再遊技中フラグをRAM41cの所定領域に設定する処理、リプレイ中LED20をON状態(点灯状態)に制御する処理等を行う。
次いで、有利区間終了処理を行う(Sa27)。有利区間終了処理では、有利区間を終了させる旨を示す有利区間終了フラグがRAM41cの所定領域に設定されているか否かを判定し、有利区間終了フラグが設定されていると判定した場合には、RAM41cの記憶領域のうち有利区間の制御に関連するデータが記憶されている有利区間関連領域を初期化して有利区間を終了させる有利区間データ初期化処理を行う。有利区間データ初期化処理では、有利区間中を示す有利区間中フラグ、ナビ番号設定領域に設定されたナビ番号が初期化されるとともに、有利区間中である旨を試験装置等の外部機器に対して出力させるための有利区間中信号バッファがOFFとなる。
次いで、有利区間終了処理の後、有利区間中信号制御処理(Sa28)を行う。有利区間中信号制御処理では、RAM41cに有利区間中フラグが設定されている場合に、RAM41cの有利区間中信号バッファをONとする制御を行う。
次いで、有利区間中信号制御処理の後、有利区間報知終了処理(Sa29)を行う。有利区間報知終了処理では、RAM41cの有利区間中信号バッファがOFFか否かを判定し、有利区間中信号バッファがOFFであると判定した場合に、区間表示LED19を消灯状態に制御する。
次いで、有利区間報知終了処理の後、遊技終了時初期化設定処理(Sa30)を行う。遊技終了時初期化設定処理では、Sa32の初期化処理において、当該ゲームにおいて初期化するRAM41cの領域を設定する。特別遊技状態の終了時以外では、毎ゲーム終了時に初期化される領域のサイズを設定し、特別遊技状態の終了時では、特別遊技状態終了時に初期化される領域のサイズを設定する。
次いで、割込禁止に設定し(Sa31)、初期化処理(Sa32)を行う。初期化処理では、RAM41cに割り当てられた遊技RAM領域の初期化終了アドレスから、遊技終了時初期化設定処理において設定したサイズ分の領域を初期化することで、特別遊技状態の終了時以外であれば、毎ゲーム終了時に初期化される領域が初期化され、特別遊技状態の終了時であれば、特別遊技状態の終了時に初期化される領域が初期化される。そして、初期化処理の後、割込許可に設定し(Sa33)、Sa1の処理に戻る。
その後、Sa1~Sa33の処理を繰り返し行う。メイン処理が一巡することで、一単位の遊技の制御に関する処理が終了することとなり、一単位のゲーム毎にメイン処理が繰り返し実行されることとなる。
[遊技RAM領域の初期化について]
次に、遊技RAM領域の初期化について、図10に基づいて説明する。
図10(a)に示すように、RAM41cは、ROM41bに格納されているゲームの進行に係わる遊技プログラムのワークとして使用される遊技RAM領域が、F000(H)(16進数)からF1BB(H)にかけて連続する領域に割り当てられており、スロットマシン1への電力供給が停止しても、バックアップ電源により所定期間は記憶内容が保持されるようになっている。
遊技RAM領域は、全初期化対象領域、設定開始時対象領域、有利区間終了時対象領域、設定終了時対象領域、特別遊技状態終了時対象領域、毎ゲーム終了時対象領域を含む。また、毎ゲーム終了時対象領域は、毎ゲーム終了時対象領域(通常1)、毎ゲーム終了時対象領域(AT関連)、毎ゲーム終了時対象領域(通常2)を含む。これらの領域は、F000(H)からF1BB(H)にかけて、全初期化対象領域、設定開始時対象領域、有利区間終了時対象領域、設定終了時対象領域、特別遊技状態終了時対象領域、毎ゲーム終了時対象領域(通常1)、毎ゲーム終了時対象領域(AT関連)、毎ゲーム終了時対象領域(通常2)順に割り当てられている。
全初期化対象領域は、設定値等、RAM異常が発生した場合以外では初期化されないデータが格納される領域である。設定開始時対象領域は、各種スイッチやセンサの入力バッファやLED等の出力バッファ等、設定変更状態の開始時に初期化する必要のあるデータが格納される領域である。有利区間終了時対象領域は、有利区間に関連する情報のうち有利区間の終了時に初期化する必要のあるデータ(例えば、有利区間中フラグ、有利区間中信号バッファ、有利区間状態を示すデータ等)が格納される領域である。設定終了時対象領域は、クレジットカウンタ、遊技補助表示器12の出力バッファ、リールの回転制御に関連するデータ等、設定変更状態の終了時に初期化する必要のあるデータが格納される領域である。特別遊技状態終了時対象領域は、遊技状態を示す遊技状態フラグ、特別遊技状態に関連する情報等、特別遊技状態の終了時に初期化する必要のあるデータが格納される領域である。毎ゲーム終了時対象領域は、内部抽選の結果(当選番号(一般役))、抽選用フラグ、メダルの投入枚数、メダルの払出枚数等、毎ゲーム初期化する必要のあるデータが格納される領域である。毎ゲーム終了時対象領域のうち、特に毎ゲーム終了時対象領域(AT関連)は、有利区間に関連する情報のうち毎ゲーム初期化する必要のあるデータ(例えば、ナビ番号等)が格納される領域である。
尚、以下では、全初期化対象領域をA領域、設定開始時対象領域をB領域、有利区間終了時対象領域をC領域、設定終了時対象領域をD領域、特別遊技状態終了時対象領域をE領域、毎ゲーム終了時対象領域(通常1)をF領域、毎ゲーム終了時対象領域(AT関連)をG領域、毎ゲーム終了時対象領域(通常2)をH領域と呼ぶことがある。
図10(b)に示すように、メイン制御部41は、スロットマシン1の起動時等において、RAM41cに異常があると判定した場合には、全初期化アドレス(F000(H))(図10(a)参照)から初期化終了アドレス(F1BB(H))(図10(a)参照)までの領域(A~H領域)を一括して初期化し、0を設定する。
また、メイン制御部41は、設定変更状態に移行する前に、設定開始時アドレス(図10(a)参照)から初期化終了アドレス(F1BB(H))までの領域(B~H領域)を一括し、0を設定する。
また、メイン制御部41は、設定変更状態の終了時に、設定終了時アドレス(図10(a)参照)から初期化終了アドレス(F1BB(H))までの領域(D~H領域)を一括して初期化し、0を設定する。
また、メイン制御部41は、特別遊技状態の終了時に、特別遊技状態終了時アドレス(図10(a)参照)から初期化終了アドレス(F1BB(H))までの領域(E~H領域)を一括して初期化し、0を設定する。
また、メイン制御部41は、有利区間の終了時に、有利区間終了時アドレス1(図10(a)参照)から設定終了時アドレスまでの領域(D領域)及び有利区間終了時アドレス2(図10(a)参照)~毎ゲーム終了時アドレス2(図10(a)参照)までの領域(G領域)をそれぞれ初期化し、0を設定する。
また、メイン制御部41は、毎ゲームの終了時に、毎ゲーム終了時アドレス1(図10(a)参照)から初期化終了アドレス(図10(a)参照)までの領域(F~G領域)を一括して初期化し、0を設定する。
[操作信号設定処理について]
次に、メイン制御部41がメイン処理において行う操作信号設定処理の制御内容について、図11~図19に基づいて説明する。尚、本説明において、末尾が(H)である数値は16進数表記であり、それ以外の数値は特に断らない限り10進数表記である。
図11~図13に示すように、操作信号設定処理では、まず、全レジスタを、スタックに退避させた後(Sb1)、シリアル通信回路設定を行い(Sb2)、シリアル通信回路41dを起動させる。
次いで、シリアル通信回路41dの送信レジスタを初期化し(Sb3)、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し、Aレジスタに設定する(Sb4)。そして、Aレジスタに設定されたナビ番号が0であるか否かを判定し(Sb5)、ナビ番号が0でない場合、すなわちナビ番号が1以上であり、ナビ報知が行われる場合には、Sb14に進む。Sb5からSb14に進む場合(ナビ報知が行われる場合)には、Aレジスタに設定されているナビ番号が、推奨する操作態様を特定するための図柄停止パターン番号となる。
また、Sb5においてナビ番号が0であると判定された場合、すなわちナビ報知が行われない場合には、RAM41cの当選番号設定領域に設定されている当選番号(一般役)を取得し、Aレジスタに設定する(Sb6)。
そして、Aレジスタの値同士の論理和を算出した後、Aレジスタに0を設定する(Sb7、Sb8)。Aレジスタに設定された当選番号(一般役)が1以上の場合、すなわちいずれかの一般役が当選している場合には、Sb7の演算結果が1となるため、ゼロフラグがOFFとなる。一方、Aレジスタに設定された当選番号(一般役)が0の場合、すなわちいずれかの一般役も当選していない場合には、Sb7の演算結果が0となるため、ゼロフラグがONとなる。Sb9では、Sb7の演算の結果、ゼロフラグがONとなっているか否かを判定し、ゼロフラグがOFFである場合、すなわち内部抽選においていずれかの一般役が当選しておりナビ報知が行われない場合には、Sb14に進む。Sb9からSb14に進む場合、すなわちいずれかの一般役が当選しておりナビ報知が行われない場合には、Aレジスタに設定されている0が図柄停止パターン番号となる。
また、Sb9においてゼロフラグがONであると判定された場合、すなわち内部抽選においていずれの一般役も当選しなかった場合には、ROM41bの所定領域に設けられた図柄停止パターン設定テーブル(図14参照)の先頭アドレス(XX59(H))をポインタとしてHLレジスタに設定し(Sb10)、RAM41cの当選番号設定領域に設定されている当選番号(特別役)を取得し、Aレジスタに当選番号(特別役)を設定する(Sb11)。図柄停止パターン設定テーブルは、当選番号(特別役)に対応する図柄停止パターン番号が設定されたテーブルであり、先頭アドレス(XX59(H))から1バイト毎に、当選番号(特別役)の降順(本実施例では0~2)に図柄停止パターン番号(本実施例では0、14、15)が設定されている。
そして、Aレジスタに設定された値をHLレジスタの値(ポインタ)に加算してポインタを更新し(Sb12)、更新されたポインタが示すアドレスの領域に格納されている図柄停止パターン番号を取得してAレジスタに設定し(Sb13)、Sb14に進む。
Sb14においては、ROM41bの所定領域に設けられた停止順データテーブル(図15参照)の先頭アドレス(XX5C(H))をポインタとしてHLレジスタに設定する。停止順データテーブルは、図柄停止パターン番号に対する各リールの推奨される停止順を示す停止順データが設定されたテーブルであり、先頭アドレス(XX5C(H))から3バイト毎に、図柄停止パターン番号に対応する停止順データが、図柄停止パターン番号の降順(本実施例では0から15)に格納されている。停止順データは、3バイトのデータであり、1バイト目に第1停止リールに対応するリール番号、2バイト目に第2停止リールに対応するリール番号、3バイト目に第3停止リールに対応するリール番号が格納されている。リール番号とは、各リールを示す番号であり、本実施例では1が左リール、2が中リール、3が右リールに該当する。
Sb15~Sb17においては、Aレジスタに設定した図柄停止パターン番号の3倍値を算出する。これは、図柄停止パターン番号に対応する停止順データを特定する際にポインタを3バイトずつ更新する必要があるためである。その後、AFレジスタの値(Aレジスタに格納されている図柄停止パターン番号の3倍値)をスタックに退避させる(Sb18)。
次いで、Aレジスタに格納されている図柄停止パターン番号の3倍値をHLレジスタに加算してポインタを更新する(Sb19)。そして、RAM41cに割り当てられた操作信号格納領域のうち停止順データ格納領域(図18参照)の先頭アドレス(YY00(H))をポインタとしてDEレジスタに設定し(Sb20)、3リール分の処理回数としてBCレジスタに3を設定する(Sb21)。停止順データ格納領域は、先頭アドレス(YY00(H))から1バイト毎に、第1停止リールのリール番号、第2停止リールのリール番号、第3停止リールのリール番号が格納される領域(YY00(H)~YY02(H))である。
Sb22では、HLレジスタに設定された停止順データテーブルのアドレスを示すポインタ、DEレジスタに設定された停止順データ格納領域のアドレスを示すポインタ、BCレジスタに設定された処理回数に基づいて、停止順データテーブルから第1停止リール、第2停止リール、第3停止リールそれぞれに対応するリール番号を取得し、停止順データ格納領域に第1停止リール、第2停止リール、第3停止リールそれぞれに対応するリール番号を格納する処理を行う。詳しくは、まず、HLレジスタに設定されたポインタが示す停止順データテーブルのアドレスに格納されているリール番号をDEレジスタに設定されたポインタが示す停止順データ格納領域のアドレスの領域に格納する。次に、DEレジスタに1加算して停止順データ格納領域のポインタを次のリールに対応するアドレスに更新し、HLレジスタに1加算して停止順データテーブルのポインタを次のリールに対応するアドレスに更新する。そして、BCレジスタから処理回数を1減算する。これを1セットとし、BCレジスタの処理回数が0となるまで繰り返し、合計3セット実行することで、1セット目の処理で第1停止リールに対応するリール番号を停止順データ格納領域のYY00(H)に格納し、2セット目の処理で第2停止リールに対応するリール番号を停止順データ格納領域のYY01(H)に格納し、3セット目の処理で第3停止リールに対応するリール番号を停止順データ格納領域のYY02(H)に格納する。
Sb22の後、スタックに退避させていたAFレジスタの値を復帰させることで、Aレジスタに図柄停止パターン番号の3倍値を設定した後(Sb23)、ROM41bの所定領域に設けられた停止実行図柄番号テーブル(図16参照)の先頭アドレス(XX8C(H))をポインタとしてHLレジスタに設定する(Sb24)。停止実行図柄番号テーブルは、図柄停止パターン番号に対応する第1停止リール~第3停止リールの停止実行位置を示す停止実行図柄番号データが格納されたテーブルであり、先頭アドレス(XX8C(H))から3バイト毎に、図柄停止パターン番号に対応する停止実行図柄番号データが、図柄停止パターン番号の降順(本実施例では0から15)に格納されている。停止実行図柄番号データは、3バイトのデータであり、1バイト目に第1停止リールに対応する停止実行図柄番号、2バイト目に第2停止リールに対応する停止実行図柄番号、3バイト目に第3停止リールに対応する停止実行図柄番号が格納されている。停止実行図柄番号とは、各リールにおける停止実行位置を含む図柄番号であり、本実施例では、2、12、FF(H)のいずれかが割り当てられている。尚、FF(H)は、停止実行位置が特定されていない、いずれの位置で操作しても良いことを示す停止実行図柄番号である。
そして、Aレジスタに格納されている図柄停止パターン番号の3倍値をHLレジスタに加算してポインタを更新する(Sb25)。その後、RAM41cに割り当てられた操作信号格納領域のうち停止実行図柄番号格納領域(図18参照)の先頭アドレス(YY03(H))をポインタとしてDEレジスタに設定し(Sb26)、3リール分の処理回数としてBCレジスタに3を設定する(Sb27)。停止実行図柄番号格納領域は、先頭アドレス(YY03(H))から1バイト毎に、第1停止リールの停止実行図柄番号、第2停止リールの停止実行図柄番号、第3停止リールの停止実行図柄番号が格納される領域(YY03(H)~YY05(H))である。
Sb28では、HLレジスタに設定された停止実行図柄番号テーブルのアドレスを示すポインタ、DEレジスタに設定された停止実行図柄番号格納領域のアドレスを示すポインタ、BCレジスタに設定された処理回数に基づいて、停止実行図柄番号テーブルから第1停止リール、第2停止リール、第3停止リールそれぞれに対応する停止実行図柄番号を取得し、停止実行図柄番号格納領域に第1停止リール、第2停止リール、第3停止リールそれぞれに対応する停止実行図柄番号を格納する処理を行う。詳しくは、まず、HLレジスタに設定されたポインタが示す停止実行図柄番号テーブルのアドレスに格納されている停止実行図柄番号をDEレジスタに設定されたポインタが示す停止実行図柄番号格納領域のアドレスの領域に格納する。次に、DEレジスタに1加算して停止実行図柄番号格納領域のポインタを次のリールに対応するアドレスに更新し、HLレジスタに1加算して停止実行図柄番号テーブルのポインタを次のリールに対応するアドレスに更新する。そして、BCレジスタから処理回数を1減算する。これを1セットとし、BCレジスタの処理回数が0となるまで繰り返し、合計3セット実行することで、1セット目の処理で第1停止リールに対応する停止実行図柄番号を停止実行図柄番号格納領域のYY03(H)に格納し、2セット目の処理で第2停止リールに対応する停止実行図柄番号を停止実行図柄番号格納領域のYY04(H)に格納し、3セット目の処理で第3停止リールに対応する停止実行図柄番号を停止実行図柄番号格納領域のYY05(H)に格納する。
また、Sb28の処理が終了することで、DEレジスタには、RAM41cに割り当てられた操作信号格納領域のうち停止実行位置データ格納領域(図18参照)の先頭アドレス(YY06(H))が設定された状態となる。これは、操作信号格納領域において停止実行図柄番号格納領域と停止実行位置データ格納領域とが連続して配置されており、3セット目の処理でDEレジスタに1加算することで、停止実行位置データ格納領域の先頭アドレス(YY06(H))に更新されるためである。停止実行位置データ格納領域は、先頭アドレス(YY06(H))から2バイト毎に、第1停止リールの停止実行位置データ、第2停止リールの停止実行位置データ、第3停止リールの停止実行位置データが格納される領域(YY06(H)~YY0B(H))である。停止実行位置データは、停止実行図柄番号が示す位置をリール基準位置からのステップ数に変換した2バイトのデータである。
次いで、操作信号格納領域のうち停止実行図柄番号格納領域(図18参照)の先頭アドレス(YY03(H))をポインタとしてHLレジスタに設定し(Sb29)、3リール分の処理回数としてBレジスタに3を設定する(Sb30)。
Sb31においてBCレジスタの処理回数をスタックに退避した後、HLレジスタに設定されたポインタが示す停止実行図柄番号格納領域のアドレスに格納されている停止実行図柄番号をBレジスタに設定し(Sb32)、Bレジスタに格納されている停止実行図柄番号に1加算して加算回数をセットする(Sb33)。Sb33においてはBレジスタに格納されている停止実行図柄番号がFF(H)であった場合に、Bレジスタに1加算することでオーバーフローが発生し、その値が0となる。次いで、Sb33においてBレジスタに1加算した結果、演算結果が0であるか否かを判定し、0でなかった場合、すなわち停止実行図柄番号がFF(H)以外の場合には、Sb36に進む。また、Bレジスタの値が0の場合、すなわち停止実行図柄番号がFF(H)であった場合には、1リールの総図柄数である基準図柄数(本実施例では20)に1加算した値(本実施例では21)を、加算回数としてBレジスタに設定し(Sb35)、Sb36に進む。
次いで、HLレジスタに停止実行図柄番号格納領域のポインタとして設定されたアドレスをスタックに退避し(Sb36)、DEレジスタに停止実行位置データ格納領域のポインタとして設定されたアドレスをスタックに退避させる(Sb37)。
そして、DEレジスタに0を設定し(Sb38)、ROM41bの所定領域に設けられた停止実行位置データテーブル(図17参照)の先頭アドレス(XXBC(H))をポインタとしてHLレジスタに設定する(Sb39)。停止実行位置データテーブルは、停止実行位置データを算出するためのテーブルであり、先頭アドレス(XXBC(H))から2バイト毎に、加算回数(本実施例では1~21)に対応する加算値(本実施例では5、15、16、17、700)が格納されている。
Sb40~Sb44では、HLレジスタに設定されたポインタが示す停止実行位置データテーブルのアドレス、DEレジスタの値、Bレジスタの加算回数に基づいて、停止実行位置データを算出する。詳しくは、まず、HLレジスタに設定されたポインタが示す停止実行位置データテーブルのアドレスから加算値を特定し、DEレジスタに加算する(Sb40)。次に、HLレジスタに2を加算して停止実行位置データテーブルのポインタを次の加算値が格納されたアドレスに更新する(Sb41、Sb42)。そして、Bレジスタの加算回数を1減算し、演算結果が0であるか否かを判定する(Sb43、Sb44)。Sb44において、Bレジスタの加算回数が0でなかった場合には、Sb40~Sb44をBレジスタの加算回数が0になるまで繰り返し実行することで、加算回数に対応する加算値がDEレジスタに加算されるようになっており、Bレジスタの加算回数が0となった場合に、DEレジスタの値が停止実行位置データとなる。
例えば、図17に示すように、停止実行図柄番号が2であった場合には、加算回数は3回となり、1回目に対応する加算値5がDEレジスタに加算され、2回目に対応する加算値15がDEレジスタに加算され、3回目に対応する加算値17がDEレジスタに加算されるので、停止実行位置データは37となる。また、停止実行図柄番号が12であった場合には、加算回数は13となり、1回目~13回目に対応する加算値を順次DEレジスタに加算することで、停止実行位置データは205となる。また、停止実行図柄番号がFF(H)であった場合には、加算回数は21となり、1回目~21回目に対応する加算値を順次DEレジスタに加算することで、停止実行位置データは1023となり、停止実行図柄番号と同じく、いずれの位置で操作しても良いことを示すFF(H)となる。Sb40~Sb44の後、HLレジスタの値とDEレジスタの値を交換し、DEレジスタに格納されている停止実行位置データをHLレジスタに移動する(Sb45)。そして、スタックに退避していた停止実行位置データ格納領域のポインタをDEレジスタに復帰させ(Sb46)、HLレジスタの停止実位置データを、DEレジスタに設定されたポインタが示す停止実行位置データ格納領域のアドレスの領域に格納する(Sb47)。
次いで、DEレジスタに2加算して停止実行位置データ格納領域のポインタを次のリールに対応するアドレスに更新する(Sb48、Sb49)。そして、スタックに退避させていた停止実行図柄番号格納領域のポインタをHLレジスタに復帰させるとともに(Sb50)、スタックに退避させていた処理回数をBCレジスタに復帰させる(Sb51)。
次いで、HLレジスタに1加算して停止実行図柄番号格納領域のポインタを次のリールに対応するアドレスに更新する(Sb52)。そして、Bレジスタの処理回数から1減算し(Sb53)、演算結果が0であるか否かを判定し(Sb54)、0でなかった場合にはSb31に戻り、Bレジスタの値が0になるまで、すなわち3リール分の停止実行位置データを格納する処理が完了するまで、Sb31~Sb54の処理を繰り返し実行する。
これにより、1周目のSb31~Sb54の処理で、第1停止リールに対応する停止実行位置データが算出され、停止実行位置データ格納領域の第1停止リールに対応する領域(YY06(H)~YY07(H))に格納され、2周目のSb31~Sb54の処理で、第2停止リールに対応する停止実行位置データが算出され、停止実行位置データ格納領域の第2停止リールに対応する領域(YY08(H)~YY09(H))に格納され、3周目のSb31~Sb54の処理で、第3停止リールに対応する停止実行位置データが算出され、停止実行位置データ格納領域の第3停止リールに対応する領域(YY0A(H)~YY0B(H))に格納される。
そして、3リール分の停止実行位置データを格納する処理が完了し、Sb54においてBレジスタの値が0であると判定された場合には、操作信号の出力開始を示す00(H)をシリアル通信回路41dの送信レジスタに転送した後(Sb55)、停止順データ格納領域から第1停止リール、第2停止リール、第3停止リールのリール番号を取得し、第1停止リールのリール番号(D1)、第2停止リールのリール番号(D2)、第3停止リールのリール番号(D3)の順番でシリアル通信回路41dの送信レジスタに転送する(Sb56~Sb58)。
次いで、停止実行位置データ格納領域から第1停止リール、第2停止リール、第3停止リールの停止実行位置データを取得し、第1停止リールの停止実行位置データ(D4)、第2停止リールの停止実行位置データ(D5)、第3停止リールの停止実行位置データ(D6)の順番でシリアル通信回路41dの送信レジスタに転送する(Sb59~Sb61)。
最後に、操作信号の出力終了を示す00(H)をシリアル通信回路41dの送信レジスタに転送した後(Sb62)、Sb1でスタックに退避したレジスタを復帰させ(Sb63)、メイン処理に復帰させる。
図11~図13で説明したように、操作信号設定処理では、当該ゲームにおいてナビ番号設定領域に設定されたナビ番号が0か否かによりナビ報知が行われるか否かを判定し、ナビ番号が1以上の場合、すなわちナビ報知が行われる場合には、ナビ番号を図柄停止パターン番号として設定する。一方、ナビ番号が0の場合、すなわちナビ報知が行われない場合には、当選番号(一般役)及び当選番号(特別役)、すなわち内部抽選の結果に応じて図柄停止パターン番号を設定する。
そして、図柄停止パターン番号に対応する停止順を示す停止順データを特定する処理と、図柄停止パターン番号に対応する第1停止リール~第3停止リールの停止実行図柄を示す停止実行図柄番号データを特定する処理と、別個に行うことで、ナビ番号または内部抽選の結果に応じて推奨する停止順及び第1停止リール~第3停止リールの停止実行図柄番号を特定するとともに、停止実行図柄番号データから特定される第1停止リール~第3停止リールの停止実行図柄番号を、停止実行図柄番号が示す位置に対応するリール基準位置からのステップ数を示す停止実行位置データに変換する処理を行う。
そして、ナビ番号、内部抽選の結果に応じて特定された停止順データ、停止実行図柄番号(停止実行位置データ)に基づき、操作信号の開始を示す00(H)、第1停止リール(D1)、第2停止リール(D2)、第3停止リール(D3)、第1停止リールの停止実行位置データ(D4)、第2停止リールの停止実行位置データ(D5)、第3停止リールの停止実行位置データ(D6)、操作信号の終了を示す00(H)の順番でシリアル通信回路41dの送信レジスタに転送することで、図19に示すように、シリアル通信回路41dにより、一定時間間隔(t)毎に、00(H)、D1、D2、D3、D4、D5、D6、00(H)の順番で、操作信号を試験装置に出力させることが可能であり、試験装置側で当該ゲームにおいて推奨する停止順及び停止操作のタイミングが特定可能となる。
このように操作信号設定処理では、ナビ番号設定領域に設定されたナビ番号または内部抽選の結果に応じて図柄停止パターン番号が設定されるとともに、図柄停止パターン番号に対応する停止順を示す停止順データを特定する処理と、図柄停止パターン番号に対応する第1停止リール~第3停止リールの停止実行図柄を示す停止実行図柄番号データを特定する処理と、別個に行い、推奨する停止順及び第1停止リール~第3停止リールの停止実行図柄番号を特定可能な操作信号を作成するので、図柄停止パターン番号を用いて一度の処理で停止順データ及び停止実行図柄番号データの双方を特定するものに比べ、図柄停止パターン番号に対応する停止順データ及び停止実行図柄番号データの管理が容易となり、停止順のみが報知される構成、停止実行位置のみが報知される構成、停止順及び停止実行位置の双方が報知される構成のいずれであっても、操作信号を作成するプログラムの利用が容易となる。
詳しくは、図柄停止パターン番号を用いて一度の処理で対応する停止順データ及び停止実行図柄番号データの双方を特定する場合には、図柄停止パターン番号に対応する停止順データと停止実行図柄番号データとを組み合わせた大きいサイズのデータを一体的に管理する必要があることから、その管理が煩雑となる。これに対して、図柄停止パターン番号に対応する停止順を示す停止順データを特定する処理と、図柄停止パターン番号に対応する第1停止リール~第3停止リールの停止実行図柄を示す停止実行図柄番号データを特定する処理と、別個に行うことで、図柄停止パターン番号に対応する停止順データと、停止実行図柄番号データと、を別個に管理することが可能となるため、その管理が容易となる。
また、停止順のみが報知される構成、停止実行位置のみが報知される構成、停止順及び停止実行位置の双方が報知される構成のいずれにおいても共通のプログラムを利用して操作信号を作成する場合に、図柄停止パターン番号に対応する停止順データと停止実行図柄番号データとを組み合わせたデータから、停止順データ及び停止実行図柄番号データをそれぞれ特定して設定する必要があるが、図柄停止パターン番号に対応する停止順データと、停止実行図柄番号データと、が別個に管理されることで、図柄停止パターン番号に対応する停止順データ、停止実行図柄番号データを容易に特定することが可能となるため、停止順のみが報知される構成、停止実行位置のみが報知される構成、停止順及び停止実行位置の双方が報知される構成のいずれにおいても、操作信号を作成する共通のプログラムの利用が容易となる。
[図柄停止パターン番号の設定について]
次に、図柄停止パターン番号を設定する処理について説明する。図柄停止パターン番号は、操作信号設定処理において推奨する操作態様を特定するための数値である。
メイン制御部41は、RAM41cのナビ番号設定領域に設定されたナビ番号が1以上の場合、すなわちナビ報知が行われる場合には、ナビ番号を図柄停止パターン番号として設定する。ナビ番号は、ナビ報知により報知される操作態様毎に割り当てられた1~13の連続する値である。
また、メイン制御部41は、RAM41cのナビ番号設定領域に設定されたナビ番号が0の場合、すなわちナビ報知が行われない場合には、内部抽選の結果に応じた図柄停止パターン番号を設定する。この際、当選番号(一般役)が1以上の場合、すなわちいずれかの一般役が当選している場合には、図柄停止パターン番号として0を設定する。一方、当選番号(一般役)が0の場合、すなわちいずれの一般役も当選していない場合には、図柄停止パターンテーブルを用いて当選番号(特別役)に応じて図柄停止パターン番号を特定し、特定した図柄停止パターン番号を設定する。図14に示すように、図柄停止パターン設定テーブルには、当選番号(特別役)に対応する図柄停止パターン番号が設定されており、当選番号(特別役):0に対応して0、当選番号(特別役):1に対応して14、当選番号(特別役):2に対応して15が設定されている。このため、当選番号(特別役)が0の場合、すなわちいずれの特別役も当選していない場合には、図柄停止パターン番号として0が設定され、当選番号(特別役)が1の場合、すなわちBB1が当選している場合には、図柄停止パターン番号として14が設定され、当選番号(特別役)が2の場合、すなわちBB2が当選している場合には、図柄停止パターン番号として15が設定される。
これにより、ナビ報知の有無、内部抽選の結果に応じて0~15の連続する値のうちいずれかの値が図柄停止パターン番号として設定されることとなる。
[停止順データを特定する処理について]
次に、停止順データを特定する処理について説明する。
メイン制御部41は、図柄停止パターン番号に基づいて停止順データテーブルから停止順データを特定する処理を行う。図15に示すように、停止順データテーブルには、図柄停止パターン番号に対応する停止順データが設定されている。停止順データは、第1位停止リールに対応するリール番号、第2停止リールに対応するリール番号、第3停止リールに対応するリール番号からなる。リール番号は、1が左リールに対応し、2が中リールに対応し、3が右リールに対応する。
停止順データテーブルには、図柄停止パターン番号毎に対応する停止順データが連続するアドレス領域に格納されており、メイン制御部41は、図柄停止パターン番号を用いて、停止順データテーブル内のアドレスを示すポインタを移動させることで、ポインタが示すアドレスに格納された停止順データを、当該図柄停止パターン番号に対応する停止順データとして特定できるようになっている。
停止順データテーブルには、図15に示すように、図柄停止パターン番号0、1、7、13~15に対応して第1停止リール:1(左)、第2停止リール:2(中)、第3停止リール:3(右)が設定され、図柄停止パターン番号2、8に対応して第1停止リール:1(左)、第2停止リール:3(右)、第3停止リール:2(中)が設定され、図柄停止パターン番号3、9に対応して第1停止リール:2(中)、第2停止リール:1(左)、第3停止リール:3(右)が設定され、図柄停止パターン番号4、10に対応して第1停止リール:2(中)、第2停止リール:3(右)、第3停止リール:1(左)が設定され、図柄停止パターン番号5、11に対応して第1停止リール:3(右)、第2停止リール:1(左)、第3停止リール:2(中)が設定され、図柄停止パターン番号6、12に対応して第1停止リール:3(右)、第2停止リール:2(中)、第3停止リール:1(左)が設定されており、図柄停止パターン番号1~13が設定されている場合、すなわちナビ報知が行われる場合には、ナビ報知により報知される停止順を示す停止順データが特定され、図柄停止パターン番号0が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選しているか、一般役も特別役も当選していない場合、図柄停止パターン番号14が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選せず、BB1が当選している場合、図柄停止パターン番号15が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選せず、BB2が当選している場合には、第1停止リール:1(左)、第2停止リール:2(中)、第3停止リール:3(右)を示す停止順データが特定されるようになっている。
また、停止順データテーブルでは、図柄停止パターン番号0、1、7、13~15に対応する停止順データのように、複数種類の図柄停止パターン番号に対して共通する停止順データが対応する場合でも、図柄停止パターン番号毎に別個に停止順データが記憶されるようになっており、停止順データテーブルのポインタを、図柄停止パターン番号に応じて移動させるのみで、図柄停止パターン番号に対応する停止順データを特定することが可能となる。また、共通する停止順データが対応する複数種類の図柄停止パターン番号のうち一部の図柄停止パターン番号に対応する停止順データを他の停止順を示す停止順データに変更することも容易となる。
[停止実行図柄番号データを特定する処理について]
次に、停止実行図柄番号データを特定する処理について説明する。
メイン制御部41は、図柄停止パターン番号に基づいて停止実行図柄番号テーブルから停止実行図柄番号データを特定する処理を行う。図16に示すように、停止実行図柄番号テーブルには、図柄停止パターン番号に対応する停止実行図柄番号データが設定されている。停止実行図柄番号データは、第1位停止リールに対応する停止実行図柄番号、第2停止リールに対応する停止実行図柄番号、第3停止リールに対応する停止実行図柄番号からなる。停止実行図柄番号は、図柄番号に対応する0~19の値、いずれの位置で操作しても良いことを示すFF(H)のいずれかの値である。
停止実行図柄番号テーブルには、図柄停止パターン番号毎に対応する停止実行図柄番号データが連続するアドレス領域に格納されており、メイン制御部41は、図柄停止パターン番号を用いて、停止実行図柄番号テーブル内のアドレスを示すポインタを移動させることで、ポインタが示すアドレスに格納された停止実行図柄番号データを、当該図柄停止パターン番号に対応する停止実行図柄番号データとして特定できるようになっている。
停止実行図柄番号テーブルには、図16に示すように、図柄停止パターン番号0、14、15に対応して第1停止リール:12、第2停止リール:12、第3停止リール:12が設定され、図柄停止パターン番号1~6に対応して第1停止リール:12、第2停止リール:FF(H)、第3停止リール:FF(H)が設定され、図柄停止パターン番号7~13に対応して第1停止リール:2、第2停止リール:FF(H)、第3停止リール:FF(H)が設定されており、図柄停止パターン番号1~6が設定されている場合、すなわちナビ報知が行われるとともに、ナビ報知により第1停止リールの操作タイミングとして赤7エリアが報知される場合には、第1停止リールの停止実行図柄番号として赤7エリアに含まれる12番図柄を示す12、第2停止リール、第3停止リールの停止実行図柄番号としてFF(H)を示す停止実行図柄番号データが特定され、図柄停止パターン番号7~13が設定されている場合、すなわちナビ報知が行われるとともに、ナビ報知により第1停止リールの操作タイミングとして白7エリアが報知される場合には、第1停止リールの停止実行図柄番号として白7エリアに含まれる2番図柄を示す2、第2停止リール、第3停止リールの停止実行図柄番号としてFF(H)を示す停止実行図柄番号データが特定され、図柄停止パターン番号0が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選しているか、一般役も特別役も当選していない場合、図柄停止パターン番号14が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選せず、BB1が当選している場合、図柄停止パターン番号15が設定されている場合、すなわちナビ報知が行われず、かつ一般役が当選せず、BB2が当選している場合には、第1停止リール、第2停止リール、第3停止リールのいずれも停止実行図柄番号として12番図柄を示す12を示す停止実行図柄番号データが特定されるようになっている。
停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号0、14、15に対応する停止実行図柄番号データ、図柄停止パターン番号1~6に対応する停止実行図柄番号データ、図柄停止パターン番号7~13に対応する停止実行図柄番号データのように、複数種類の図柄停止パターン番号に対して共通する停止実行図柄番号データが対応する場合でも、図柄停止パターン番号毎に別個に停止実行図柄番号データが記憶されるようになっており、停止実行図柄番号テーブルのポインタを、図柄停止パターン番号に応じて移動させるのみで、図柄停止パターン番号に対応する停止実行図柄番号データを特定することが可能となる。また、共通する停止実行図柄番号データが対応する複数種類の図柄停止パターン番号のうち一部の図柄停止パターン番号に対応する停止実行図柄番号データを他の停止実行図柄を示す停止実行図柄番号データに変更することも容易となる。
また、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号1~6に対応する停止実行図柄番号データ、図柄停止パターン番号7~13に対応する停止実行図柄番号データのように、第1停止リール~第3停止リールまでのいずれのリールについても停止実行図柄番号が共通する操作態様となる停止実行図柄番号データが連続するアドレス領域に記憶されており、第1停止リール~第3停止リールまでのいずれのリールについても停止実行図柄番号が共通する操作態様となる停止実行図柄番号データがまとまった範囲で特定可能となるため、プログラム作成段階において、図柄停止パターン番号に対応する停止実行図柄番号データの管理が容易となる。
本実施例では、ナビ小役のうち赤左中ベルA、赤左中ベルBが当選した場合には、左リール、中リール、右リールの停止操作順、かつ左リールの停止操作タイミングが赤7エリアとなる操作態様で操作された場合に、15枚の払出を伴う主小役が入賞する。そして、赤左中ベルA、赤左中ベルBが当選し、ナビ報知が行われる場合には、ナビ番号として1が設定され、図柄停止パターン番号としてナビ番号と同じ1が設定されるようになっており、停止順データテーブルでは、図15に示すように、図柄停止パターン番号:1に対応する停止順データとして、第1停止リール:1(左)、第2停止リール:2(中)、第3停止リール:3(右)が設定されており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:1に対応する停止実行図柄番号データとして、第1停止リール:12、第2停止リール:FF(H)、第3停止リール:FF(H)が設定されており、主小役を入賞させることが可能な停止順データ及び停止実行図柄番号データが特定されるようになっている。
一方、赤左中ベルA、赤左中ベルBを含むいずれかのナビ小役が当選し、ナビ報知が行われない場合には、ナビ番号として0が設定され、図柄停止パターン番号として0、14、15のいずれかが設定されるようになっており、停止順データテーブルでは、図15に示すように、図柄停止パターン番号:0、14、15に対応する停止順データとして、いずれも第1停止リール:1(左)、第2停止リール:2(中)、第3停止リール:3(右)が設定されており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:0、14、15に対応する停止実行図柄番号データとして、いずれも第1停止リール:12、第2停止リール:12、第3停止リール:12が設定されており、いずれかのナビ小役が当選し、ナビ報知が行われない場合には、赤左中ベルA、赤左中ベルB当選時に主小役を入賞させる停止順データが特定され、かつ赤左中ベルA、赤左中ベルB当選時に主小役を入賞させるために赤7エリアで停止操作を行う必要のある左リール(第1停止リール)について、赤7エリアに含まれる図柄番号12が特定される停止実行図柄番号データが特定されるようになっている。
このため、いずれかのナビ小役が当選し、ナビ報知が行われない場合であっても、赤左中ベルA、赤左中ベルBが当選した場合には、試験装置側で操作信号から有利な操作態様を特定させることが可能となる。
本実施例では、いずれかのナビ小役が当選し、ナビ報知が行われない場合には、ナビ番号として0が設定され、図柄停止パターン番号として0、14、15のいずれかが設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:0、14、15に対応する停止実行図柄番号データとして、いずれも第1停止リール、第2停止リール、第3停止リールの停止実行図柄番号として同一の図柄番号を示す12が設定されており、いずれかのナビ小役が当選し、ナビ報知が行われない場合には、第1停止リール、第2停止リール、第3停止リールの停止実行図柄番号として同一の図柄番号が特定される停止実行図柄番号データが特定されるようになっている。
このように、いずれかのナビ小役が当選し、ナビ報知が行われない場合に操作信号から特定される停止実行図柄番号がいずれのリールについても同一となるため、プログラム作成段階において、ナビ報知が行われない場合の停止実行図柄番号の管理が容易となる。
本実施例では、対応する第1停止リールの停止操作タイミングが赤7エリアとなるナビ小役が当選し、ナビ報知が行われる場合には、第1停止リールを赤7エリアのタイミングで停止操作した場合に、15枚の払出を伴う主小役を入賞させることができるため、第1停止リールを白7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となる。また、対応する第1停止リールの停止操作タイミングが赤7エリアとなるナビ小役が当選し、ナビ報知が行われる場合には、ナビ番号として1~6が設定され、図柄停止パターン番号としてナビ番号と同じ1~6が設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:1~6に対応する停止実行図柄番号データにおける第1停止リールの停止実行図柄番号として、赤7エリアに含まれる図柄(左リール:図柄番号6~15、中リール:図柄番号7~16、右リール:図柄番号6~15)のうち、白7エリアとの境界から1図柄以上離れた図柄の図柄番号12が設定されている。
また、本実施例では、対応する第1停止リールの停止操作タイミングが白7エリアとなるナビ小役が当選し、ナビ報知が行われる場合には、第1停止リールを白7エリアのタイミングで停止操作した場合に、15枚の払出を伴う主小役を入賞させることができるため、第1停止リールを赤7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となる。また、対応する第1停止リールの停止操作タイミングが白7エリアとなるナビ小役が当選し、ナビ報知が行われる場合には、ナビ番号として7~12が設定され、図柄停止パターン番号としてナビ番号と同じ7~12が設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:7~12に対応する停止実行図柄番号データにおける第1停止リールの停止実行図柄番号として、白7エリアに含まれる図柄(左リール:図柄番号0~5、16~19、中リール:図柄番号0~6、17~19、右リール:図柄番号0~5、16~19)のうち、赤7エリアとの境界から1図柄以上離れた図柄の図柄番号2が設定されている。
また、本実施例では、特定小役Aまたは特定小役Bが当選し、ナビ報知が行われる場合には、左リールを白7エリアのタイミングで停止操作した場合に、15枚の払出を伴う特定小役Aまたは特定小役Bを入賞させることができるため、左リールを赤7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となる。また、特定小役Aまたは特定小役Bが当選し、ナビ報知が行われる場合には、ナビ番号として13が設定され、図柄停止パターン番号としてナビ番号と同じ13が設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:13に対応する停止実行図柄番号データにおいて第1停止リール(左リール)の停止実行図柄番号として、白7エリアに含まれる図柄(左リール:図柄番号0~5、16~19)のうち、赤7エリアとの境界から1図柄以上離れた図柄の図柄番号2が設定されている。
また、本実施例では、BB1またはBB2が単独で当選し、当選したBB1またはBB2が入賞してしまうと、特別遊技状態に制御され、その間、ATに関連する抽選が行われなくなってしまうこととなるため、BB1もBB2も引込範囲外となるタイミングで停止操作した場合に、BB1またはBB2の引込範囲となるタイミングで停止操作した場合よりも遊技者にとって有利となる。また、特定小役Aまたは特定小役Bが当選し、ナビ報知が行われない場合には、特定小役Aまたは特定小役Bを入賞させないことでATに関連する抽選を受けることが可能となるため、左リールを特定小役Aも特定小役Bも入賞しない赤7エリアのタイミングで停止操作した場合に、左リールを白7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となる。このため、ナビ報知が行われず、内部抽選の結果も特定できない状況においては、左リールについては、赤7エリアかつBB1もBB2も引込範囲外となる図柄番号5~17のタイミング、中リールについては、BB1もBB2も引込範囲外となる図柄番号9~13のタイミング、右リールについては、BB1もBB2も引込範囲外となる図柄番号6~13のタイミングで停止操作を行うことで、他のタイミングで停止操作を行った場合よりも遊技者にとって有利となる。また、ナビ報知が行われない場合には、ナビ番号として0が設定され、図柄停止パターン番号として0、14、15のいずれかが設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:0、14、15に対応する停止実行図柄番号データにおいて第1停止リール(左リール)の停止実行図柄番号として、赤7エリアかつBB1もBB2も引込範囲外となる図柄(図柄番号5~17)のうち、赤7エリア、BB1またはBB2の引込範囲との境界から1図柄以上離れた図柄の図柄番号12が設定され、第2停止リール(中リール)の停止実行図柄番号として、BB1もBB2も引込範囲外となる図柄(図柄番号9~13)のうち、BB1またはBB2の引込範囲との境界から1図柄以上離れた図柄の図柄番号12が設定され、第2停止リール(中リール)の停止実行図柄番号として、BB1もBB2も引込範囲外となる図柄(図柄番号6~13)のうち、BB1またはBB2の引込範囲との境界から1図柄以上離れた図柄の図柄番号12が設定されている。
このように本実施例では、所定範囲内で停止操作を行った場合に、所定範囲外で停止操作を行った場合よりも遊技者にとって有利となるリールについて、所定範囲のうち所定範囲外との境界から1図柄以上離れた図柄の図柄番号が停止実行位置図柄として設定された停止実行図柄番号データが特定されるようになっており、所定範囲内の停止実行図柄のうち所定範囲外との境界から1図柄以上離れた停止実行図柄でのタイミングを特定可能な操作信号が出力されるので、試験装置側で操作信号の検出や操作信号の検出に伴い、停止操作をスロットマシン1に対して要求する操作信号の出力が遅延した場合でも、所定範囲内のタイミングで操作信号を出力することが可能となる。
尚、本実施例では、ナビ報知が行われない場合に、BB1もBB2も引込範囲外となるタイミングで停止操作した場合に、BB1またはBB2の引込範囲となるタイミングで停止操作した場合よりも遊技者にとって有利となり、左リールを特定小役Aも特定小役Bも入賞しない赤7エリアのタイミングで停止操作した場合に、左リールを白7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となる構成であるが、例えば、特定のリールについて特定の範囲で停止操作を行うことにより入賞可能な小役を備え、特定のリールについて特定の範囲で停止操作を行うことにより、特定のリールについて特定の範囲外で停止操作を行った場合よりも遊技者にとって有利となる構成としても良く、このような構成において、ナビ報知が行われない場合に、特定のリールについて特定の範囲に含まれる停止実行図柄が設定された停止実行図柄データが特定されるようにしても良い。また、このような構成においては、特定のリールについて特定の範囲外との境界から1図柄以上離れた図柄の図柄番号が停止実行図柄として設定された停止実行図柄番号データが特定されるようにすることで、特定の範囲内の停止実行図柄のうち特定の範囲外との境界から1図柄以上離れた停止実行図柄でのタイミングを特定可能な操作信号が出力されるので、試験装置側で操作信号の検出や、操作信号の検出に伴い停止操作をスロットマシン1に対して要求する操作信号の出力が遅延した場合でも、特定の範囲内のタイミングで操作信号を出力することが可能となる。
本実施例では、左リールを第1停止リールとする停止順で、第1停止リールの停止操作タイミングが赤7エリアとなるナビ小役が当選し、ナビ報知が行われる場合には、左リールを赤7エリアのタイミングで停止操作した場合に、15枚の払出を伴う主小役を入賞させることができるため、左リールを白7エリアのタイミングで停止操作した場合よりも遊技者にとって有利となり、ナビ報知が行われず、内部抽選の結果も特定できない状況においては、左リールについては、赤7エリアかつBB1もBB2も引込範囲外となる図柄番号5~17のタイミングで停止操作を行うことで、他のタイミングで停止操作を行った場合よりも遊技者にとって有利となり、どちらの状況についても左リールにおいて有利となる操作タイミングが重複する範囲を有している。このような場合には、いずれの状況においても有利となる操作タイミングが重複する範囲において共通する図柄番号12が停止実行図柄番号として特定されるようになっており、停止実行図柄番号の種類を増やさずに済むため、停止実行図柄番号の管理が容易となる。
本実施例では、BB1またはBB2が当選し、当選したBB1またはBB2が入賞してしまうと、特別遊技状態に制御され、その間、ATに関連する抽選が行われなくなってしまうこととなるため、BB1もBB2も引込範囲外となるタイミングで停止操作した場合に、BB1またはBB2の引込範囲となるタイミングで停止操作した場合よりも遊技者にとって有利となる。また、本実施例では、BB1またはBB2が持ち越された後、BB1またはBB2が入賞することはないが、BB1またはBB2が持ち越された後、いずれの一般役も当選しない場合等、BB1またはBB2が入賞し得る構成においては、BB1またはBB2が持ち越された後、BB1またはBB2が入賞し得るゲームにおいては、BB1もBB2も引込範囲外となるタイミングで停止操作した場合に、BB1またはBB2の引込範囲となるタイミングで停止操作した場合よりも遊技者にとって有利となる。そして、本実施例では、BB1が当選しており、ナビ報知が行われない場合には、図柄停止パターン番号として14が設定され、BB2が当選しており、ナビ報知が行われない場合には、図柄停止パターン番号として15が設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:14、15に対応して、いずれのリールについてもBB1もBB2も引込範囲外となる図柄番号を示す停止実行図柄番号が設定された停止実行図柄番号データが設定されており、BB1またはBB2が当選しており、ナビ報知が行われない場合には、第1停止リール、第2停止リール、第3停止リールの停止実行図柄番号としてBB1もBB2も引込範囲外となる図柄番号が特定される停止実行図柄番号データが特定されるようになっている。
一方、BB1もBB2も当選せず、ナビ報知が行われない場合には、図柄停止パターン番号として0が設定されるようになっており、停止実行図柄番号テーブルでは、図16に示すように、図柄停止パターン番号:0に対応して、いずれのリールについても図柄停止パターン番号:14、15と同一の図柄番号、すなわちBB1もBB2も引込範囲外となる図柄番号を示す停止実行図柄番号が設定された停止実行図柄番号データが設定されており、BB1もBB2も当選せず、ナビ報知が行われない場合には、BB1もBB2も引込範囲外となるタイミングで停止操作したか、BB1またはBB2の引込範囲となるタイミングで停止操作したか、によって遊技者にとっての有利度は変わらないが、BB1またはBB2が当選しており、ナビ報知が行われない場合と同じく、第1停止リール、第2停止リール、第3停止リールの停止実行図柄番号としてBB1もBB2も引込範囲外となる図柄番号が特定される停止実行図柄番号データが特定されるようになっている。
このように、BB1またはBB2が当選しており、ナビ報知が行われない場合にも、BB1もBB2も当選せず、ナビ報知が行われない場合にも、全てのリールについてBB1もBB2も引込範囲外となる図柄番号を示す停止実行図柄番号が設定された同一の停止実行図柄番号データが特定され、BB1またはBB2が当選しているか否かによって、停止実行図柄番号の異なる停止実行図柄番号データを準備する必要がないため、プログラム作成段階において、停止実行図柄番号データの管理が容易となる。
また、本実施例では、BB1またはBB2が当選しており、ナビ報知が行われない場合にも、BB1もBB2も当選せず、ナビ報知が行われない場合にも、いずれのリールについても同一の図柄番号を示す停止実行図柄番号が設定された停止実行図柄番号データが特定されることとなるが、停止実行図柄番号テーブルでは、図16に示すように、BB1またはBB2が当選しており、ナビ報知が行われない場合に設定される図柄停止パターン番号:14、15に対応する停止実行図柄番号データと、BB1もBB2も当選せず、ナビ報知が行われない場合に設定される図柄停止パターン番号:0に対応する停止実行図柄番号データと、が別個に記憶されているので、特別役が当選しており、ナビ報知が行われない場合と、特別役が当選せず、ナビ報知が行われない場合と、でいずれかのリールについて異なる停止実行図柄番号が特定される操作信号を出力する別の機種と停止実行図柄番号データを特定するプログラムを共用できる。
また、本実施例では、BB1、BB2からなる複数種類の特別役を備え、いずれのリールについてもBB1の引込範囲外となる領域と、BB2の引込範囲外となる領域と、が重複する領域を含む。そして、停止実行図柄番号テーブルでは、図16に示すように、BB1が当選しており、ナビ報知が行われない場合に設定される図柄停止パターン番号:14に対応する停止実行図柄番号データにおいても、BB2が当選しており、ナビ報知が行われない場合に設定される図柄停止パターン番号:15に対応する停止実行図柄番号データにおいても、いずれのリールについてもBB1の引込範囲外となる領域と、BB2の引込範囲外となる領域と、が重複する領域に含まれる同一の停止実行図柄番号が特定されるようになっており、BB1またはBB2が当選しており、ナビ報知が行われない場合に、当選している特別役の種類がいずれであっても、同一の停止実行図柄番号が特定される操作信号となるので、複数種類の特別役を備えていても操作信号を作成するための停止実行図柄番号の管理が容易となる。
また、本実施例では、BB1が当選しており、ナビ報知が行われない場合にも、BB2が当選しており、ナビ報知が行われない場合にも、いずれのリールについても同一の図柄番号を示す停止実行図柄番号が設定された停止実行図柄番号データが特定されることとなるが、停止実行図柄番号テーブルでは、図16に示すように、BB1が当選しており、ナビ報知が行われない場合に設定される図柄停止パターン番号:14に対応する停止実行図柄番号データと、BB1が当選しており、ナビ報知が行われない場合に設定される図柄停止パターン番号:15に対応する停止実行図柄番号データと、が別個に記憶されているので、BB1が当選しており、ナビ報知が行われない場合と、BB2が当選しており、ナビ報知が行われない場合と、でいずれかのリールについて異なる停止実行図柄番号が特定される操作信号を出力する別の機種と停止実行図柄番号データを特定するプログラムを共用できる。
[停止実行位置データへの変換について]
次に、停止実行図柄番号データから停止実行位置データへの変換について説明する。
本実施例のスロットマシン1では、各リールを駆動するリールモータとして、336ステップ(0~335)の周期で1周するステッピングモータが用いられる。すなわちリールモータを336ステップ駆動させることでリールが1周することとなる。そして、リール1周に対して16ステップまたは17ステップ(1図柄が移動するステップ数)毎に分割した20の領域(コマ)が定められており、これらの領域毎に、各リールの図柄が配置されていることから、リール基準位置(0ステップ)からのステップ数により図柄番号を特定することも、図柄番号からリール基準位置(0ステップ)からのステップ数を特定することも可能であり、リール基準位置(0ステップ)からのステップ数によっても図柄番号によってもリールの位置を特定することが可能である。
また、メイン制御部41は、停止実行図柄番号データから特定される各リールの停止実行図柄番号が示す位置を、停止実行位置データテーブルを用いてリール基準位置からのステップ数を示す停止実行位置データに変換する処理を行う。図17に示すように、停止実行位置データテーブルには、加算回数(本実施例では1~21)に対応する加算値が格納されている。加算回数1回に対応する加算値は5、加算回数2回に対応する加算値は15、加算回数3回から20回に対応する加算値は16または17、加算回数21回に対応する加算値は700となっている。
そして、メイン制御部41は、停止実行図柄番号+1回とする加算回数にわたり、加算回数に対応する加算値を順次加算することで、当該停止実行図柄番号の停止実行位置データを算出する。
図17に示すように、停止実行図柄番号が0の場合には、加算回数は1回となり、1回目に対応する加算値5が加算されるので、停止実行図柄番号0の領域(リール基準位置から0~16ステップ)に含まれる5が停止実行位置データとして算出される。また、停止実行図柄番号が1の場合には、加算回数は2回となり、1回目に対応する加算値5が加算され、2回目に対応する加算値15が加算されるので、停止実行図柄番号1の領域(リール基準位置から17~32ステップ)に含まれる20が停止実行位置データとして算出される。また、停止実行図柄番号が2の場合には、加算回数は3回となり、1回目に対応する加算値5が加算され、2回目に対応する加算値15が加算され、3回目に対応する加算値17が加算されるので、停止実行図柄番号2の領域(リール基準位置から33~49ステップ)に含まれる37が停止実行位置データとして算出される。以後、停止実行図柄番号が3~19の場合には、加算回数は4~20回となり、1図柄の領域分の16ステップまたは17ステップが4回目~20回目に対応する加算値として順次加算されるため、停止実行図柄番号の領域に含まれるステップ数が停止実行位置データとして算出される。また、停止実行図柄番号がFF(H)の場合には、加算回数は基準図柄数(20)+1回(本実施例では21回)となり、21回目に700が加算されることで1023となり、停止実行図柄番号と同じく、いずれの位置で操作しても良いことを示すFF(H)となる。
そして、メイン制御部41は、停止実行図柄番号データから特定される各リールの停止実行図柄番号が示す位置を、リール基準位置からのステップ数を示す停止実行位置データに変換して停止実行位置を示す操作信号として試験装置に出力するようになっている。
このように本実施例では、停止実行位置としてリール基準位置からのステップ数を特定可能な停止実行位置データが操作信号として出力されるため、試験装置側で、1リールの図柄数が異なる機種の停止実行位置を特定する場合でも共通のプログラムで停止実行位置を特定することが可能となる。
また、図柄停止パターン番号に対応する停止実行位置データを作成する場合に、リール基準位置からのステップ数を直接特定して停止実行位置データを作成するのではなく、まず、図柄停止パターン番号に対応する各リールの停止実行図柄番号を示す停止実行図柄番号データを特定し、特定した停止実行図柄番号データにおいて各リールの停止実行図柄番号が示す停止実行位置をリール基準位置からのステップ数に変換することで、停止実行位置データを作成するようになっており、プログラムの作成段階において、図柄単位の停止実行図柄番号から停止実行位置を把握できるため、停止実行位置の管理が容易となる。
また、停止実行位置図柄から変換される停止実行位置データは、停止実行位置図柄の境界となるステップ数ではなく、停止実行位置図柄の境界から4~6ステップ先のステップ数となるため、試験装置側で操作信号の検出や操作信号の検出に伴い、停止操作をスロットマシン1に対して要求する操作信号の出力タイミングが若干ずれた場合でも、停止実行位置図柄が通過するタイミングで確実に操作信号を出力することが可能となる。
また、停止実行図柄番号に応じた加算回数となるまで、加算回数に対応する加算値を加算することで当該停止実行図柄番号に対応するリール基準位置からのステップ数を算出することで停止実行位置データを特定するようになっており、停止実行図柄番号毎に停止実行位置データを記憶するよりも必要なデータ量が少なく済む。
また、停止実行図柄番号が異なっても共通のプログラムで停止実行図柄番号に対応する停止実行位置データが算出されるため、停止実行図柄番号毎に異なる停止実行位置データを準備する必要がなく、停止実行図柄番号が変更されてもそのままのプログラムで対応することができる。
[リール停止処理について]
次に、メイン制御部41がメイン処理において行うリール停止処理の制御内容について、図20に基づいて説明する。
リール停止処理では、まず、停止制御テーブル設定処理を実行し(Sc1)、全てのリールについて、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルをRAM41cに設定する。これにより、タイマ割込処理による各リールの加速制御中に、各リールの停止制御テーブルが設定されることとなる。
停止制御テーブル設定処理を実行した後は、タイマ割込待ち処理を実行する(Sc2)。タイマ割込待ち処理では、タイマ割込を許可に設定して、タイマ割込処理が1回行われるまで待機する。
タイマ割込待ち処理が終了した後は、リールの回転異常が発生しているか否かを判定する回転異常判定処理を実行する(Sc3)。回転異常判定処理では、タイマ割込処理において更新され、リール基準位置からのステップ数を計数するリールステップ数カウンタ(各リールについて、そのタイマ割込時点でのリール基準位置からのステップ数を計数するカウンタであり、タイマ割込処理により更新される。本実施例では、0~400ステップを計数可能であり、リールが1周するために要する336ステップよりも大きな値に設定されている。)の値や当該処理において回転異常フラグが設定されているか否か等に基づいて、回転制御中のリールについて回転に関する異常が生じているか否かを判定する。そして、停止操作が済んでいない回転制御中のリールのうち、リール基準位置が検出されることなく回転開始または前回リール基準位置が検出されてからのリールステップ数が所定ステップ数を超えたリールがある場合、リールセンサによりリール基準位置が検出されたときに、リールステップ数カウンタの値が、リールが1周するために要するステップ数に達していない場合等に、リール回転の異常(以下、回転エラーという)が発生していると判定して、異常が生じていると判定した場合には、当該異常が生じているリールを特定可能な回転異常フラグをRAM41cに設定する。
回転異常判定処理が終了した後は、リールの回転異常が検出されたか否かを判定し(Sc4)、回転異常が検出されたと判定した場合には、回転制御中のリールの停止操作を無効に設定し(Sc5)、エラー処理を実行する(Sc6)。エラー処理では、回転制御中の全てのリールの回転を停止させて、当該エラー処理により回転を停止させたリールを特定可能なように、RAM41cに設けられたエラーフラグ設定領域に回転エラーフラグを設定するとともに、ゲームを進行させないように不能化するエラー状態に制御して待機する。その後、リセット操作により当該エラー状態が解除されることで、エラー処理を終了して、エラー処理が実行される際に回転制御中であったリールについてリール再加速処理を実行して(Sc7)、リールモータの励磁パターンを一旦クリアしてリール始動時のパターンを新たに設定してリールモータを励磁させることで、回転制御を再度初めから行って、定速回転まで再度加速させる。
Sc4のステップにおいて、回転異常が検出されないと判定した場合には、割込禁止に設定し(Sc8)、タイマ割込処理により更新されてRAM41cの所定領域に設定されているリール速度状態フラグを取得して(Sc9)、当該リール速度状態フラグに基づいて、回転制御中のリールの回転状態が定速状態であるか否かをリール毎に特定し、回転制御中の全てのリールが定速回転で回転されているか否かを判定する(Sc10)。そして、Sc10のステップにおいて、少なくともいずれか1つのリールが定速回転で回転しておらず、回転制御中の全てのリールが定速回転で回転されている状況でないと判定した場合には、Sc2のステップに戻り、Sc2~Sc10のステップを繰り返し実行して、回転制御中の全てのリールが定速回転で回転されている状況となるまで待機する。尚、リール速度状態フラグは、タイマ割込処理において更新され、タイマ割込処理が行われた時点での、回転制御中の各リールモータが定速状態で回転しているか否かを特定可能な情報である。
一方、Sc10のステップにおいて、停止操作がされていない回転制御中の全てのリールが定速回転で回転されていると判定した場合には、回転制御を行っている全てのリールについて停止操作の受付を有効とし、RAM41cにおける有効LEDの出力バッファのうち、回転制御を行っている全てのリールに対応する停止有効LEDの出力バッファを点灯状態に設定する(Sc11)。停止有効LEDの出力バッファが点灯状態に設定されることで、その後のタイマ割込処理により停止有効LEDを点灯させる処理が行われる。
そして、Sc11のステップにおいて停止操作の受付を有効に設定した後、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し(Sc12)、取得したナビ番号が0であるか否かを判定し(Sc13)、ナビ番号が0である場合には、Sc15に進み、ナビ番号が0でない場合、すなわちナビ番号が1以上の場合には、ナビ番号を遊技補助表示器12で表示させるための表示データに変換して、RAM41cにおける遊技補助表示器12の出力バッファに設定し(Sc14)、Sc15に進む。遊技補助表示器12の出力バッファに表示データが設定されることで、その後のタイマ割込処理により遊技補助表示器12に表示データに基づく表示内容を表示させる処理が行われる。
Sc15では、回転制御中のリールについて有効な停止操作が検出されたか否かを判定する。Sc15では、連続する所定回数(本実施例では、2回)のタイマ割込処理においてストップスイッチのポート入力データが同じ状態である場合にRAM41cの所定領域に設定され、今回と前回の入力データが同じ状態であることを示す確定データの履歴を参照して、回転制御中のストップスイッチのうち確定データがoffの状態からon状態に変化したものがあり、かつ停止有効LEDの出力バッファが点灯状態に設定されている場合に、いずれの条件も満たすストップスイッチについて、有効な停止操作が検出されたと判定する。
Sc15において、有効な停止操作が検出されていないと判定した場合には、Sc2のステップに戻り、Sc2~Sc15のステップを繰り返し実行して、有効な停止操作が検出されるまで待機する。
一方、Sc15において有効な停止操作が検出された場合には、Sc8のステップにより設定された割込禁止の状態で、停止操作関連処理1を実行した後(Sc16)、割込許可に設定し(Sc17)、停止操作関連処理2を実行する(Sc18)。停止操作関連処理1では、停止操作が行われたストップスイッチに対応する停止有効LEDの出力バッファを消灯状態に設定する処理等を行う。その後、タイマ割込処理が行われることで停止有効LEDは消灯する。
そして、Sc18の停止操作関連処理2を終了した後は、リール回転停止処理を実行し(Sc19)、Sc15のステップにおいて検出された有効な停止操作に対応するリールを停止させるための設定を行う。その後、停止操作が行われていない未停止リールがあるか否かを判定し(Sc20)、未停止リールがあると判定した場合には、Sc2のステップに戻り、停止していない残りのリールについてSc2~Sc20のステップの制御を実行する。
一方、Sc20において未停止リールがないと判定した場合、すなわち第3停止リールの停止操作に基づくリール回転停止処理が完了している場合には、ナビ番号に対応する表示データが設定されているか否かに関わらず、遊技補助表示器12の出力バッファを初期化する(Sc21)。遊技補助表示器12にナビ番号が表示されていた場合には、その後、タイマ割込処理が行われることで非表示となる。
Sc21において遊技補助表示器12の出力バッファを初期化した後、タイマ割込待ち処理を行い(Sc22)、全リールが停止したか否かを判定し(Sc23)、全リールが停止したと判定した場合には、さらに第3停止リールのストップスイッチが操作中か否かを判定し、Sc23において全リールが停止したと判定され、Sc24において第3停止リールのストップスイッチが操作中でないと判定されるまで、Sc22からSc24の処理を繰り返し行い、全リールが停止し、かつ第3停止リールのストップスイッチの操作が解除されることで、リール停止処理を終了させてメイン処理に復帰する。
このようにリール停止処理では、回転制御中の全てのリールが定速回転で回転されているか否かを判定し、回転制御中の全てのリールが定速回転で回転されていると判定した場合に、停止操作が検出されたか否かを判定する処理を繰り返すようになっており、回転制御中の全てのリールが定速回転で回転されている状態において停止操作されることよりリールが停止することを担保することができる。
また、回転制御中の全てのリールが定速回転で回転されているか否かを判定し、回転制御中の全てのリールが定速回転で回転されていると判定した場合に、RAM41cに設定されているナビ番号を取得し、取得したナビ番号が1以上であれば、ナビ番号を表示させるための表示データを遊技補助表示器12の出力バッファに設定する処理を繰り返し実行するようになっている。これにより、1以上のナビ番号が設定されている場合には、回転制御中の全てのリールが定速回転で回転されていると判定されることで、ナビ番号を表示させるための表示データが遊技補助表示器12の出力バッファに設定され、遊技補助表示器12にナビ番号が表示される。また、ナビ番号を表示させるための表示データが遊技補助表示器12の出力バッファに設定された後も、回転制御中の全てのリールが定速回転で回転されていると判定される毎に、ナビ番号を表示させるための表示データが遊技補助表示器12の出力バッファに繰り返し設定されるようになっており、その後、全てのリールの停止操作が完了し、遊技補助表示器12の出力バッファが初期化されるまで、継続してナビ番号が遊技補助表示器12に表示されるようになっている。このため、回転制御中の全てのリールが定速回転で回転されている状態、すなわち停止操作が有効な状態において確実にナビ報知が行われることを担保することができる。
また、リール停止処理中において、ナビ番号が表示されている状態で電力供給が停止し、その後電力供給が再開して電力供給停止前の状態に復帰する場合には、遊技補助表示器12の出力バッファは初期化され、遊技補助表示器12が非表示となるが、その後、リールの回転が再開し、再度回転制御中の全てのリールが定速回転で回転されていると判定されることで、再びナビ番号を表示させるための表示データが遊技補助表示器12の出力バッファに設定され、遊技補助表示器12にナビ番号が表示されるようになっており、電力供給からの復帰時に、遊技補助表示器が非表示となっても、回転制御中の全てのリールが定速回転で回転されている状態、すなわち停止操作が有効な状態となることで、ナビ報知を再開させることができる。
[遊技機情報計算処理について]
次に、メイン制御部41がメイン処理において行う遊技機情報計算処理の制御内容について、図21~図26に基づいて説明する。
図21に示すように、遊技機情報計算処理では、まず、全レジスタの値をスタックに退避させる(Sd1)。そして、各状態カウント処理(Sd2)を実行した後、Sd1において退避させていたレジスタの値を復帰させた後(Sd3)、遊技機情報計算処理を終了させてメイン処理に復帰する。
[各状態カウント処理について]
次に、メイン制御部41が遊技機情報計算処理において行う各状態カウント処理の制御内容について、図22に基づいて説明する。
各状態カウント処理では、まず、総累計ゲーム数または総累計払出枚数が上限に到達したか否かを判定する(Se1)。総累計ゲーム数は、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからの累計ゲーム数であって、3バイトの記憶領域に格納されており、最大16777215ゲームまで計数可能である。また、総累計払出枚数は、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからの累計払出枚数であって、3バイトの記憶領域に格納されており、最大16777215枚まで計数可能である。そして、Se1では、後述する総累計カウント停止フラグがRAM41cに設定されている場合に、総累計ゲーム数または総累計払出枚数が上限に到達していると判定される。
Se1において総累計ゲーム数または総累計払出枚数が上限に到達したと判定した場合には、Se21のステップに進む。Se1において総累計ゲーム数または総累計払出枚数が上限に到達していないと判定した場合には、1を加算値としてDEレジスタにセットし(Se2)、RAM41cにおいて総累計ゲーム数が格納される領域の先頭アドレスをHLレジスタにセットし(Se3)、DEレジスタにセットされた加算値をHLレジスタにセットしたアドレスに格納された3バイトの数値に加算する3バイトデータ加算・格納処理を行い(Se4)、総累計ゲーム数を更新する。
そして、加算した結果、総累計ゲーム数が上限に到達し、オーバーフローが発生したか否かを判定する(Se5)。3バイトデータ加算・格納処理では、加算後の結果がオーバーフローした場合には後述するキャリーフラグがONに設定され、オーバーフローしない場合にはキャリーフラグがOFFに設定されるため、Se5では、キャリーフラグがONであるか否かによりオーバーフローが発生したか否かが判定される。
Se5においてオーバーフローが発生していない場合には、Se7のステップへ進み、オーバーフローが発生している場合、すなわち総累計ゲーム数が上限に到達した場合には、総累計カウント停止フラグをRAM41cに設定し(Se6)、Se7のステップへ進む。
Se7からのステップでは、総累計ゲーム数が0~5999ゲームの範囲にあるか、6000~174999ゲームの範囲にあるか、175000ゲーム以上の範囲にあるかを判定する(Se7~Se19)。判定の結果に応じて、それぞれの範囲にあることを示す値を点灯識別セグとして設定する(Se7、Se18、Se19)。設定された点灯識別セグは、RAM41cに割り当てられた表示モニタ消化遊技判定領域に格納される。そして、役物比率更新処理(Se21)、連続役物比率更新処理(Se22)、指示込役物比率更新処理(Se23)を順次実行した後に、遊技機情報計算処理に復帰する。
[役物比率更新処理について]
次に、メイン制御部41が各状態カウント処理において行う役物比率更新処理の制御内容について、図23に基づいて説明する。
図23に示すように、役物比率更新処理では、まず遊技回数判定用のゲーム回数を計数するための判定用ゲーム数カウンタを1加算する(Sf1)。
次いで、累計バッファ1~3の総払出カウンタに、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算する(Sf2~Sf6)。
ここで、累計バッファ1には3バイトの総払出カウンタ、3バイトの役物払出カウンタ、3バイトの連続役物払出カウンタ、3バイトの指示込役物払出カウンタが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達するとそれぞれのカウンタを初期値である0に更新し、次のゲームは初期値から計数を開始する。
累計バッファ2も累計バッファ1と同様に3バイトの総払出カウンタ、3バイトの役物払出カウンタ、3バイトの連続役物払出カウンタ、3バイトの指示込役物払出カウンタが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達するとそれぞれのカウンタを初期値である0に更新し、次のゲームは初期値から計数を開始する。但し、計数を開始するゲームは累計バッファ1と2000ゲームずれている。
累計バッファ3も累計バッファ1、累計バッファ2と同様に3バイトの総払出カウンタ、3バイトの役物払出カウンタ、3バイトの連続役物払出カウンタ、3バイトの指示込役物払出カウンタが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達するとそれぞれのカウンタを初期値である0に更新し、次のゲームは初期値から計数を開始する。但し、計数を開始するゲームが累計バッファ1と4000ゲーム、累計バッファ2と2000ゲームずれている。
また、累計バッファ1~3は、総払出カウンタ、役物払出カウンタ、連続役物払出カウンタ、指示込役物払出カウンタ毎にRAM41cに格納されている。詳しくは、総払出カウンタは、累計バッファ1の総払出カウンタ、累計バッファ2の総払出カウンタ、累計バッファ3の総払出カウンタの順に連続するアドレス領域に格納されており、役物払出カウンタは、累計バッファ1の役物払出カウンタ、累計バッファ2の役物払出カウンタ、累計バッファ3の役物払出カウンタの順に連続するアドレス領域に格納されており、連続役物払出カウンタは、累計バッファ1の連続役物払出カウンタ、累計バッファ2の連続役物払出カウンタ、累計バッファ3の連続役物払出カウンタの順に連続するアドレス領域に格納されており、指示込役物払出カウンタは、累計バッファ1の指示込役物払出カウンタ、累計バッファ2の指示込役物払出カウンタ、累計バッファ3の指示込役物払出カウンタの順に連続するアドレス領域に格納されている。
このため、累計バッファ1における総払出カウンタ、役物払出カウンタ、連続役物払出カウンタ、指示込役物払出カウンタのうち更新対象となるカウンタの先頭アドレスを設定することで、設定されたアドレスから累計バッファ1のカウンタ値を特定可能となり、設定されたアドレス+3のアドレスから累計バッファ2のカウンタ値を特定可能となり、設定されたアドレス+6のアドレスから累計バッファ3のカウンタ値を特定可能となる。
図23に戻り、累計バッファ1~3の総払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sf2~Sf6)では、まず、累計バッファ1の総払出カウンタの先頭アドレス(入賞払出加算用アドレス(先頭))をHLレジスタにセットし(Sf2)、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算値としてBレジスタにセットする(Sf3)。
次いで、Bレジスタにセットされた加算値をHLレジスタにセットしたアドレスに格納された3バイトの数値に加算する3バイトデータ1バイト加算処理を行うことで、累計バッファ1の総払出カウンタに今回のゲームにおける払出枚数を加算する。また、3バイトデータ1バイト加算処理では、HLレジスタにセットしたアドレスが次のカウンタのアドレスを示す数値(アドレス+3)に更新されるようになっており、Sf4の3バイトデータ1バイト加算処理が終了することで、累計バッファ2の総払出カウンタの先頭アドレスがHLレジスタにセットされた状態となる。
次いで、3バイトデータ1バイト加算処理を行い(Sf5)、累計バッファ2の総払出カウンタに今回のゲームにおける払出枚数を加算する。そして、Sf5の3バイトデータ1バイト加算処理が終了することで、累計バッファ3の総払出カウンタの先頭アドレスがHLレジスタにセットされた状態となる。
次いで、3バイトデータ1バイト加算処理を行い(Sf6)、累計バッファ3の総払出カウンタに今回のゲームにおける払出枚数を加算する。
累計バッファ1~3の総払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sf2~Sf6)の後、総累計ゲーム数または総累計払出枚数が上限に到達したか否かを判定する(Sf7)。Sf7では、前述した総累計カウント停止フラグがRAM41cに設定されている場合に、総累計ゲーム数または総累計払出枚数が上限に到達していると判定される。
Sf7において総累計ゲーム数または総累計払出枚数が上限に到達したと判定した場合には、Sf13のステップに進む。Sf7において総累計ゲーム数または総累計払出枚数が上限に到達していないと判定した場合には、今回のゲームにおける払出枚数を加算値としてDEレジスタにセットし(Sf8)、RAM41cにおいて総累計払出枚数が格納される領域の先頭アドレスをHLレジスタにセットし(Sf9)、前述の3バイトデータ加算・格納処理を行い(Sf10)、総累計払出枚数に今回のゲームにおける払出枚数を加算する。
そして、加算した結果、総累計払出枚数が上限に到達し、オーバーフローが発生したか否かを判定する(Sf11)。Sf11では、キャリーフラグがONであるか否かによりオーバーフローが発生したか否かが判定される。Sf11においてオーバーフローが発生していない場合には、Sf13のステップへ進み、オーバーフローが発生している場合、すなわち総累計払出枚数が上限に到達した場合には、総累計カウント停止フラグをRAM41cに設定し(Sf12)、Sf13のステップへ進む。尚、総累計カウント停止フラグは、総累計ゲーム数が上限値に到達したときと同じフラグである。
Sf13では、遊技状態が役物遊技中か否かを判定する。本実施例では、役物遊技としてRBしか含まれないことから、RBに制御されている遊技であるか否かを判定する。Sf13において役物遊技中でないと判定した場合には、Sf23に進む。Sf13において役物遊技中であると判定した場合には、累計バッファ1~3の役物払出カウンタに、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算する(Sf14~Sf18)。
累計バッファ1~3の役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sf14~Sf18)では、累計バッファ1の役物払出カウンタの先頭アドレス(役物払出加算用アドレス(先頭))をHLレジスタにセットし(Sf14)、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算値としてBレジスタにセットする(Sf15)。その後、3バイトデータ1バイト加算処理を3回行うことで、累計バッファ1~3の役物払出カウンタに、今回のゲームにおける払出枚数を加算する(Sf16~Sf18)。
累計バッファ1~3の役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sf14~Sf18)の後、総累計ゲーム数または総累計払出枚数が上限に到達したか否かを判定する(Sf19)。Sf19では、前述した総累計カウント停止フラグがRAM41cに設定されている場合に、総累計ゲーム数または総累計払出枚数が上限に到達していると判定される。
Sf19において総累計ゲーム数または総累計払出枚数が上限に到達したと判定した場合には、Sf23のステップに進む。Sf19において総累計ゲーム数または総累計払出枚数が上限に到達していないと判定した場合には、今回のゲームにおける払出枚数を加算値としてDEレジスタにセットし(Sf20)、RAM41cにおいて総累計役物払出枚数が格納される領域の先頭アドレスをHLレジスタにセットし(Sf21)、前述の3バイトデータ加算・格納処理を行い(Sf22)、総累計役物払出枚数に今回のゲームにおける払出枚数を加算する。
次いで、総累計役物払出枚数の先頭アドレスをHLレジスタにセットし(Sf23)、総累計払出枚数の先頭アドレスをDEレジスタにセットし(Sf24)、DEレジスタにセットしたアドレスに格納された数値(除数)に対するHLレジスタにセットしたアドレスに格納された数値(被除数)の百分率を算出する3バイトデータ割り算処理を行うことにより、総累計払出枚数に対する総累計役物払出枚数の比率である総累計役物払出比率を算出する(Sf25)。そして算出された総累計役物払出比率をRAM41cに格納する(Sf26)。
次いで、判定用ゲーム数カウンタを参照して、当該ゲームが更新ゲーム数か否かを判定する(Sf27~Sf30)。判定用ゲーム数カウンタは1~6000ゲームの間で循環して計数されるカウンタであり、計数を開始してからのゲーム数が2000ゲーム、4000ゲーム、6000ゲームに到達したかを判定するために用いられるカウンタである。上記判定は、判定用カウンタを2000で除算して余りが生じたか否かにより判定され、余りが生じていた場合には、当該ゲームが更新ゲーム数でないとして各状態カウント処理に復帰する。
また、判定用カウンタを2000で除算して余りが生じなかった場合には、除算結果の商より当該ゲームが2000ゲーム、4000ゲーム、6000ゲームのいずれの更新ゲームかを特定する(Sf31)。そして、累計バッファ1~3のうち、特定された更新ゲームに対応する累計バッファの総払出カウンタの値を読み出してRAM41cの6000回算出用バッファの6000ゲーム累計払出枚数に格納するとともに読み出し元の総払出カウンタを初期値である0に更新する(Sf32~Sf34)。同様に特定された更新ゲームに対応する累計バッファの役物払出カウンタの値を読み出してRAM41cの6000回算出用バッファの6000ゲーム累計役物払出枚数に格納するとともに読み出し元の役物払出カウンタを初期値である0に更新する(Sf35~Sf37)。
次いで、6000回算出用バッファの6000ゲーム累計役物払出枚数の先頭アドレス(役物払出(6000累計)アドレス)をHLレジスタにセットし(Sf38)、6000回算出用バッファの6000ゲーム累計払出枚数の先頭アドレス(入賞払出(6000累計)アドレス)をDEレジスタにセットし(Sf39)、前述の3バイトデータ割り算処理を行うことにより、6000ゲーム累計払出枚数に対する6000ゲーム累計役物払出枚数の比率である役物払出比率(6000G)を算出する(Sf40)。そして算出された役物払出比率(6000G)をRAM41cに格納する(Sf41)。その後、各状態カウント処理に復帰する。
[各バッファの更新状況について]
図24を参照して、遊技機情報計算処理による累計バッファ1~3及び6000回算出用バッファ、総累計払出枚数と総累計役物払出枚数が格納される総累計算出用バッファの更新状況を説明する。累計バッファ1~3、6000回算出用バッファ及び総累計算出用バッファの記憶内容はRAM41cに格納されているため、工場出荷時または何らかの原因でRAM41cのデータに異常が生じて初期化されない限りは保持されている。
各バッファ値が初期化された状態から累計バッファ1と総累計算出用バッファでの計数が開始される。2000ゲームが経過すると累計バッファ2での計数が開始される。累計バッファ1は計数を継続している。続いて2000ゲームが経過すると累計バッファ3での計数が開始される。累計バッファ1と累計バッファ2は計数を継続している。
さらに2000ゲームが経過すると累計バッファ1での計数期間が6000ゲームに達する。ここで累計バッファ1の計数内容が6000回算出用バッファに格納される。そして累計バッファ1の計数内容は初期化され初期値(0)から計数を開始する。
次の2000ゲームが経過すると累積バッファ2での計数期間が6000ゲームに達する。ここで累積バッファ2の計数内容が6000回算出用バッファに格納される。そして累積バッファ2の計数内容は初期化され初期値(0)から計数を開始する。
このように累計バッファ1~3に計数された6000ゲーム間の計数結果が2000ゲーム毎に6000回算出用バッファに格納されていく。尚、この間、総累計算出用バッファの計数結果は初期化されることなく累積して計数が行われている。
[連続役物比率更新処理について]
次に、メイン制御部41が各状態カウント処理において行う連続役物比率更新処理の制御内容について、図25に基づいて説明する。
連続役物比率更新処理では、まず、遊技状態が連続役物遊技中か否かを判定する(Sg1)。本実施例では、連続役物遊技としてRBしか含まれないことから、RBに制御されている遊技であるか否かを判定する。Sg1において連続役物遊技中でないと判定した場合には、Sg11に進む。Sg1において連続役物遊技中であると判定した場合には、累計バッファ1~3の連続役物払出カウンタに、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算する(Sg2~Sg6)。
累計バッファ1~3の連続役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sg2~Sg6)では、累計バッファ1の連続役物払出カウンタの先頭アドレス(連続役物払出加算用アドレス(先頭))をHLレジスタにセットし(Sg2)、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算値としてBレジスタにセットする(Sg3)。その後、3バイトデータ1バイト加算処理を3回行うことで、累計バッファ1~3の連続役物払出カウンタに、今回のゲームにおける払出枚数を加算する(Sg4~Sg6)。
累計バッファ1~3の連続役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sg2~Sg6)の後、総累計ゲーム数または総累計払出枚数が上限に到達したか否かを判定する(Sg7)。Sg7では、前述した総累計カウント停止フラグがRAM41cに設定されている場合に、総累計ゲーム数または総累計払出枚数が上限に到達していると判定される。
Sg7において総累計ゲーム数または総累計払出枚数が上限に到達したと判定した場合には、Sg11のステップに進む。Sg7において総累計ゲーム数または総累計払出枚数が上限に到達していないと判定した場合には、今回のゲームにおける払出枚数を加算値としてDEレジスタにセットし(Sg8)、RAM41cにおいて総累計連続役物払出枚数が格納される領域の先頭アドレスをHLレジスタにセットし(Sg9)、前述の3バイトデータ加算・格納処理を行い(Sg10)、総累計連続役物払出枚数に今回のゲームにおける払出枚数を加算する。
次いで、総累計連続役物払出枚数の先頭アドレスをHLレジスタにセットし(Sg11)、総累計払出枚数の先頭アドレスをDEレジスタにセットし(Sg12)、前述の3バイトデータ割り算処理を行うことにより、総累計払出枚数に対する総累計連続役物払出枚数の比率である総累計連続役物払出比率を算出する(Sg13)。そして算出された総累計連続役物払出比率をRAM41cに格納する(Sg14)。
次いで、役物比率更新処理と同様に、判定用ゲーム数カウンタを参照して、当該ゲームが更新ゲーム数か否かを判定する(Sg15~Sg18)。
そして、当該ゲームが更新ゲーム数である場合には、累計バッファ1~3のうち、特定された更新ゲームに対応する累計バッファの連続役物払出カウンタの値を読み出してRAM41cの6000回算出用バッファの6000ゲーム累計連続役物払出枚数に格納するとともに読み出し元の連続役物払出カウンタを初期値である0に更新する(Sg19~Sg21)。
次いで、6000回算出用バッファの6000ゲーム累計連続役物払出枚数の先頭アドレス(連続役物払出(6000累計)アドレス)をHLレジスタにセットし(Sg22)、6000回算出用バッファの6000ゲーム累計払出枚数の先頭アドレス(入賞払出(6000累計)アドレス)をDEレジスタにセットし(Sg23)、前述の3バイトデータ割り算処理を行うことにより、6000ゲーム累計払出枚数に対する6000ゲーム累計連続役物払出枚数の比率である連続役物払出比率(6000G)を算出する(Sg24)。そして算出された連続役物払出比率(6000G)をRAM41cに格納する(Sg25)。その後、各状態カウント処理に復帰する。
[指示込役物比率更新処理について]
次に、メイン制御部41が各状態カウント処理において行う指示込役物比率更新処理の制御内容について、図26に基づいて説明する。
指示込役物比率更新処理では、まず、遊技状態がRB中であるか否かを判定する(Sh1)。Sh1においてRB中であると判定した場合には、Sh13に進む。Sh1においてRB中でないと判定した場合には、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し(Sh2)、取得したナビ番号が0であるか否かを判定し(Sh3)、ナビ番号が0である場合、すなわちナビ報知が行われない場合には、Sh13に進む。
Sh3においてナビ番号が0でない場合、すなわちナビ番号が1以上であり、ナビ報知が行われる場合には、累計バッファ1~3の指示込役物払出カウンタに、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算する(Sh4~Sh8)。
累計バッファ1~3の指示込役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sh4~Sh8)では、累計バッファ1の指示込役物払出カウンタの先頭アドレス(指示込役物払出加算用アドレス(先頭))をHLレジスタにセットし(Sh4)、メイン処理における入賞検索処理(Sa16)によりRAM41cの所定領域に設定された今回のゲームにおける払出枚数を加算値としてBレジスタにセットする(Sh5)。その後、3バイトデータ1バイト加算処理を3回行うことで、累計バッファ1~3の指示込役物払出カウンタに、今回のゲームにおける払出枚数を加算する(Sh6~Sh8)。
累計バッファ1~3の指示込役物払出カウンタに、今回のゲームにおける払出枚数を加算する処理(Sh4~Sh8)の後、総累計ゲーム数または総累計払出枚数が上限に到達したか否かを判定する(Sh9)。Sh9では、前述した総累計カウント停止フラグがRAM41cに設定されている場合に、総累計ゲーム数または総累計払出枚数が上限に到達していると判定される。
Sh9において総累計ゲーム数または総累計払出枚数が上限に到達したと判定した場合には、Sh13に進む。Sh9において総累計ゲーム数または総累計払出枚数が上限に到達していないと判定した場合には、今回のゲームにおける払出枚数を加算値としてDEレジスタにセットし(Sh10)、RAM41cにおいて総累計指示込役物払出枚数が格納される領域の先頭アドレスをHLレジスタにセットし(Sh11)、前述の3バイトデータ加算・格納処理を行い(Sh12)、総累計指示込役物払出枚数に今回のゲームにおける払出枚数を加算する。
次いで、総累計指示込役物払出枚数の先頭アドレスをHLレジスタにセットし(Sh13)、総累計払出枚数の先頭アドレスをDEレジスタにセットし(Sh14)、前述の3バイトデータ割り算処理を行うことにより、総累計払出枚数に対する総累計指示込役物払出枚数の比率である総累計指示込役物払出比率を算出する(Sh15)。そして算出された総累計指示込役物払出比率をRAM41cに格納する(Sh16)。
次いで、役物比率更新処理と同様に、判定用ゲーム数カウンタを参照して、当該ゲームが更新ゲーム数か否かを判定する(Sh17~Sh20)。
そして、当該ゲームが更新ゲーム数である場合には、累計バッファ1~3のうち、特定された更新ゲームに対応する累計バッファの指示込役物払出カウンタの値を読み出してRAM41cの6000回算出用バッファの6000ゲーム累計指示込役物払出枚数に格納するとともに読み出し元の指示込役物払出カウンタを初期値である0に更新する(Sh21~Sh23)。
次いで、6000回算出用バッファの6000ゲーム累計指示込役物払出枚数の先頭アドレス(指示込役物払出(6000累計)アドレス)をHLレジスタにセットし(Sh24)、6000回算出用バッファの6000ゲーム累計払出枚数の先頭アドレス(入賞払出(6000累計)アドレス)をDEレジスタにセットし(Sh25)、前述の3バイトデータ割り算処理を行うことにより、6000ゲーム累計払出枚数に対する6000ゲーム累計指示込役物払出枚数の比率である指示込役物払出比率(6000G)を算出する(Sh26)。そして算出された指示込役物払出比率(6000G)をRAM41cに格納する(Sh27)。その後、各状態カウント処理に復帰する。
このように指示込役物比率更新処理では、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し、ナビ番号が1以上である場合に、ナビ報知が行われるゲームであると判定し、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新するとともに、更新された累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数に基づいて、総累計指示込役物払出比率及び指示込役物払出比率(6000G)が算出されるようになっている。
また、本実施例では、ナビ番号として1~13が設定されるものであるが、14以上の値が設定されている場合でも、ナビ報知が行われるゲームであると判定し、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新するとともに、更新された累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数に基づいて、総累計指示込役物払出比率及び指示込役物払出比率(6000G)が算出されるようになっている。
[遊技機情報表示器について]
次に、遊技機情報表示器50の表示態様について、図27に基づいて説明する。
遊技制御基板40が筐体1aの内部の所定位置に取り付けられた状態において、遊技制御基板40の正面側(遊技者側)の下部には7セグメント表示器で構成される遊技機情報表示器50が配置されている。遊技機情報表示器50は、遊技制御基板40が基板ケースに封入されている状態で、当該基板ケースの外部から表示内容を視認可能となっており、メイン制御部41により集計され、遊技機情報表示器50に表示されるスロットマシン1における前述した役物払出比率等の情報を、店員等が認識できるようになっている。
メイン制御部41は、図27に示すように、過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率を遊技機情報表示器50に表示させる制御を行う。過去6000ゲーム間の役物払出比率、総累計払出枚数に対する役物払出比率は、それぞれ前述した役物払出比率更新処理において算出された役物払出比率(6000G)、総累計役物払出比率であり、過去6000ゲーム間の連続役物払出比率、総累計払出枚数に対する連続役物払出比率は、それぞれ前述した連続役物払出比率更新処理において算出された連続役物払出比率(6000G)、総累計連続役物払出比率であり、過去6000ゲーム間の指示込役物払出比率、総累計払出枚数に対する指示込役物払出比率は、それぞれ前述した指示込役物払出比率更新処理において算出された指示込役物払出比率(6000G)、総累計指示込役物払出比率である。
尚、遊技機情報表示器50に表示される情報として、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合等が含まれていても良い。過去6000ゲーム間の有利区間割合とは、過去6000ゲームのうち有利区間に制御されたゲーム数の割合である。総累計ゲーム数に対する有利区間割合は、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからの累計ゲーム数である総累計ゲーム数のうち有利区間に制御されたゲーム数の割合である。
また、本実施例では、ボーナスとして、RBが常時作動する特別遊技状態のみを搭載する構成であるが、RBが単独で作動しても良く、全ての種類の小役の入賞が許容されるが、一部のリールについて引込が制限されるCT、CTが連続して作動するCBを搭載する構成であっても良く、CTを搭載する場合には、CT中に払い出されたメダル数は、役物払出比率及び指示込払出枚数に反映され、CBを搭載する場合には、CB中に払い出されたメダル数は、連続役物払出比率に反映されることとなる。
メイン制御部41は、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率を、図27に示す表示順にて所定期間(本実施例では、30秒間)毎に切り替えて遊技機情報表示器50に表示させる。
この際、遊技機情報表示器50には、上位2桁に現在表示中の表示内容を示す略記(例えば、表示順1の過去6000ゲーム間の連続役物払出比率が表示されている場合には、「1C」)が表示される。現在表示中の表示内容を示す略記は、表示される2桁のうち最下位の桁の表示内容が数字以外の文字(本実施例では、「C」「F」の英字)となっており、遊技機情報表示器50において、略記及び割合、比率が表示されているときに、略記の数字部分が、割合、比率と隣り合うことがないようになっている。これにより、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
また、遊技機情報表示器50には、下2桁に前述の略記に対応する現在表示すべき割合、比率(以下、表示すべきデータと呼ぶ場合がある)が表示され、いずれのデータについても%で表示されるようになっている。遊技機情報表示器50の下2桁に表示されるデータとして、0~99を表示可能であり、本実施例では、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示するようになっている。例えば、表示すべきデータが1桁の場合には、遊技機情報表示器50の下2桁のうち上位の桁に「0」を表示する一方で、下位の桁に表示すべきデータの値を表示する(例えば、5%を表示する場合には、遊技機情報表示器50の下2桁に「05」を表示する)。また、表示すべきデータが2桁の場合には、遊技機情報表示器50の下2桁に表示すべきデータを表示する(例えば、15%を表示する場合には、遊技機情報表示器50の下2桁に「15」を表示する)。このように、遊技機情報表示器50に表示すべきデータが、1桁であるか2桁であるかに関わらず、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示することで、割合、比率の表示内容が誤認されてしまうことを防止できる。また、1桁であるか2桁であるかに関わらず、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示することで、常に遊技機情報表示器50の下2桁にいずれかのデータが表示されることとなり、例えば、下2桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
尚、現在表示中の表示内容を示す略記を、表示される2桁のうち最上位の桁の表示内容が数字以外の文字(例えば、「C1」)となるようにして、遊技機情報表示器50における下2桁に当該略記を表示させるとともに、遊技機情報表示器50における上2桁に現在表示すべきデータ(例えば、過去6000ゲーム間の連続役物払出比率であれば、「60C1」)を表示させる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
また、遊技機情報表示器50における下2桁、上2桁のいずれに略記と現在表示すべきデータとを表示させるかに関わらず、略記を表示する2桁と、現在表示すべきデータを表示する2桁の色彩を異ならせる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
また、本実施例のメイン制御部41は、図27に示す表示順にて表示内容を所定期間毎に切り替えて表示させる際に、各表示が一巡し終えるまでの一の期間内においては、ゲームが進行されて、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させる。詳しくは、これらの表示が一巡し終えるまでの一の期間内において、ゲームが進行されて、これらの値が新たな値に更新され得る場合には、新たな値を演算してRAM41cに記憶させるが、遊技機情報表示器50に表示内容を表示させるための出力バッファに当該新たな値を設定することなく、元の値を設定することで、遊技機情報表示器50における表示を出力バッファに設定された元の値を用いて一巡させ、一巡の表示が終了したときから、新たな値を出力バッファに設定することで、その後、新たな値で表示を行うようにしても良いし、これらの表示が一巡し終えるまでの一の期間内において、これらの値が新たな値に更新され得る場合には、新たな値を求めるための演算を行うことを制限して、遊技機情報表示器50における表示を一巡させ、一巡の表示が終了した際に、新たな値を求めるための演算を行い、その後、当該新たな値を用いて遊技機情報表示器50における表示を行うようにしても良い。このようにすることで、遊技機情報表示器50における表示内容が一巡するまでの期間において、異なる時期に演算された値が混在してしまうことを防止できる。
また、メイン制御部41は、過去6000ゲーム間の連続役物払出比率、総累計払出枚数に対する連続役物払出比率が規定割合(例えば、60%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて連続役物払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の役物払出比率、総累計払出枚数に対する役物払出比率が規定割合(例えば、70%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて役物払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の指示込役物払出比率、総累計払出枚数に対する指示込役物払出比率が規定割合(例えば、80%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて指示込役物払出比率を表示する。
このように連続役物払出比率、役物払出比率、指示込役物払出比率が規定割合を超えると、通常と異なる表示態様にて表示されるようになっており、射幸性が高い状態に制御されている可能性があることを警告できるようになっている。
また、メイン制御部41は、過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が6000ゲームに到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、集計が6000ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
また、メイン制御部41は、総累計払出枚数に対する連続役物払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が概ねスロットマシンの設計値に連続役物払出比率が収束する規定ゲーム数(例えば、175000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、連続役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
また、メイン制御部41は、総累計払出枚数に対する役物払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が概ねスロットマシンの設計値に役物払出比率が収束する規定ゲーム数(例えば、175000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
また、メイン制御部41は、総累計払出枚数に対する指示込役物払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が概ねスロットマシンの設計値に指示込役物払出比率が収束する規定ゲーム数(例えば、175000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、指示込役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
尚、メイン制御部41は、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示し、6000ゲームに到達した以降の状態では、遊技機情報表示器50の下位2桁に表示すべき割合、比率を表示する、すなわち6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁の表示態様を、6000ゲーム以降の表示態様とは異なる表示態様とする構成とすることが好ましく、このような構成とすることで、6000ゲームに到達していない状態では、遊技機情報表示器50の上位2桁の表示(例えば、「1C」)により特定される連続役物払出比率等の集計が6000ゲームに到達していないことが認識でき、表示されている割合、比率に偏りが生じている可能性が認識できる。また、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示する構成とすることで、6000ゲームに到達していない状態では、常に遊技機情報表示器50の下2桁にデータが表示されることとなり、例えば、下2桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
また、メイン制御部41は、過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合(総累計払出枚数より総累計役物払出枚数、総累計連続役物払出枚数、総累計指示込役物払出枚数が多い場合、格納された値がある一定のデータ形式(01繰り返しなど)である場合等)には、異常と判定されたデータ及び当該データに関連するデータを初期化し、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知するようになっており、これらのデータの算出が正常に行われていないことを認識できるようになっている。
尚、異常と判定されたデータ及び当該データに関連するデータを初期化する際には、例えば、過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これら全てに関するデータを初期化するようにしても良いし、一部のデータのみを初期化するようにしても良い。総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これらの全てに関するデータを初期化するようにしても良いし、一部データのみを初期化するようにしても良い。また、過去6000ゲーム間におけるデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化したり、逆に、総累計ゲーム数に対するデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化するようにしても良い。
また、過去6000ゲーム間及び総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合には、その旨を報知し、その後、所定の操作(例えば、スタートスイッチ7、ストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類が所定の手順で操作されること)されることで、当該データに関する初期化を行うようにしても良い。
また、異常が判定された旨の報知では、前述のように、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知しても良いし、異常が判定された際に、その旨を特定可能なコマンドをサブ制御部91に対して送信し、サブ制御部91側において液晶表示器51等により異常が判定された旨を報知させるようにしても良い。
また、メイン制御部41は、データの集計を開始してから6000ゲームに到達するまでの期間、すなわち過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率等を算出するためのデータが不十分な期間において、遊技機情報表示器50の表示内容が、データの集計を開始してから6000ゲーム以降の表示態様とは異なる態様で表示されるようになっており、表示内容を算出するためのデータが不十分な期間であることを認識できるようになっている。
尚、本実施例では、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率が、所定期間毎に切り替えて表示されるようになっているが、前面扉1bの開放状態が検出されている場合のみ表示されるようにしたり、所定の操作スイッチ(例えばリセット/設定スイッチ38)の操作が検出されている場合のみ表示されるようにしたり、ゲーム中でないときに表示されるようにしたり、設定変更状態や設定確認中に表示されるようにしたり、電源投入後から所定期間のみ表示されるようにしたりしても良い。また、所定期間毎に自動で切り替わるのではなく、所定の操作がされる毎に表示内容が切り替わるようにしても良い。
また、本実施例では、遊技機情報表示器50の表示内容を算出するために用いるデータ異常が判定されたことや表示内容を算出するためのデータが不十分な期間であることが遊技機情報表示器50を用いて報知される構成であるが、その旨を特定可能なコマンドをサブ制御部91に送信し、サブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。
また、本実施例では、過去6000ゲーム間の連続役物払出比率、役物払出比率、指示込役物払出比率、総累計払出枚数に対する連続役物払出比率、役物払出比率、指示込役物払出比率が、遊技機情報表示器50に表示される構成であるが、これらの表示に加えて設定変更によってRAM41cが初期化されたこと、スロットマシン1に設けられた配線(バックアップ電源の配線等)の断線検出があったときなどに、その旨が認識可能となる内容が遊技機情報表示器50に表示されるようにしても良い。
特に、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされた場合、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたりしたこと、すなわち故意に遊技者にとって相対的に有利な遊技状態から不利な遊技状態に移行された場合、及び遊技機情報表示器50が断線等が生じたことにより正常に接続されていない可能性を検出した場合等には、その旨を特定可能に報知する。このようにすることで、役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されないように不正に操作された可能性があることを認識することができる。
また、総累計ゲーム数や総累計払出枚数等のオーバーフローを回避するために、当該総累計データ等を初期化する構成においては、その旨を特定可能に、前述した役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合とは異なる態様で、報知することが好ましく、このようにすることで、オーバーフローを回避する処理より総累計ゲーム数や総累計払出枚数等が初期化されたことを、役物払出比率等として正しい情報が表示されないようにするための不正な操作による初期化とは、別に認識させることができる。
尚、前述のように役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合には、その旨を検出して当該検出の履歴をメイン制御部41側で記録し、当該検出時には報知することなく、その後、所定の操作(例えば、スタートスイッチ7やストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類を所定の手順で操作すること、遊技制御基板40に検査用端末等の所定の外部機器を接続すること等)が行われることで、これらの履歴を、メイン制御部41側に設けられた表示器(例えば、遊技機情報表示器50等)やサブ制御部91側に設けられた表示器(例えば、液晶表示器51等)、スロットマシン1の外部の表示器等により確認できるようにしても良い。
また、設定変更がされたこと、断線検出がされたこと、遊技機情報表示器50の接続不良が発生して役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されない可能性があること、前述のように役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されないように不正に操作された可能性があること、をサブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。また、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたりして、役物払出比率、連続役物払出比率、指示込役物払出比率等として正しい情報が表示されないように不正に操作された可能性があることが検出されたことの履歴をサブ制御部91側で記録し、所定の操作でこれらの履歴を確認できるようにしても良い。
尚、各比率表示は、遊技機情報表示器50ばかりでなく、クレジット表示器11と遊技補助表示器12に表示される構成であっても良く、クレジット表示器11と遊技補助表示器12は、遊技の進行に応じた情報が表示される表示器であり、比率表示を常時表示させることができないため、遊技が行われていない状況下で遊技店の店員などにより所定の操作が行われたことにより比率表示を表示させ、クレジット表示器11と遊技補助表示器12とに比率表示を表示させた状態で、前面扉1bの閉鎖、スロットマシン1へのメダルの投入、エラーの発生、設定キースイッチ37の操作、精算スイッチ10の操作、スロットマシン1への電力供給の停止のいずれかが検出されると、比率表示を表示させる前に表示されていた元の表示内容へ切り替えて比率表示を終了させることが好ましい。
[遊技補助表示器について]
次に、遊技補助表示器12の構成及び表示態様について、図28、図29に基づいて説明する。
図28(a)に示すように、遊技補助表示器12は、第1セグメントA、第2セグメントB、第3セグメントC、第4セグメントD、第5セグメントE、第6セグメントF、第7セグメントG、第8セグメントDPをそれぞれ点灯/消灯可能な2つの表示器12L、12Rからなり、メイン制御部41は、表示器12L、12Rそれぞれに対して表示データを設定することで、第1~第8セグメントA~DPを点灯または消灯させることにより種々の情報を表示可能な表示器である。
図28(b)に示すように、表示データは、8ビットのデータから構成されており、表示データのうち7ビット目の値は第1セグメントA、6ビット目の値は第2セグメントB、5ビット目の値は第3セグメントC、4ビット目の値は第4セグメントD、3ビット目の値は第5セグメントE、2ビット目の値は第6セグメントF、1ビット目の値は第7セグメントG、0ビット目の値は第8セグメントDPにそれぞれ対応している。セグメントは、対応するビットの値が0の場合に非点灯状態に制御され、対応するビットの値が1の場合に点灯状態に制御されるようになっている。
図28(c)に示すように、メイン制御部41は、遊技補助表示器12の各表示器12L、12Rに表示値を表示させる場合に、まず表示値を表示器12L、12R毎に表示データに変換し、表示データを対応する表示器12L、12Rの出力バッファにセットし、その後のタイマ割込処理におけるポート出力処理により表示データに基づく点灯/消灯信号を出力ポートから各表示器12L、12Rに出力し、各表示器12L、12Rそれぞれの第1~第8セグメントA~DPを点灯状態または非点灯状態とすることで、遊技補助表示器12の各表示器12L、12Rに表示値を表示させる。例えば、表示器12Lに表示値として「1」を表示させる場合には、表示値である「1」を表示データである「01100000」に変換し、「01100000」を表示器12Lの出力バッファにセットし、タイマ割込処理におけるポート出力処理により表示器12Lの第1~第8セグメントA~DPに対応する点灯/消灯信号を出力ポートから表示器12Lに出力することで、表示データにおいて「1」が設定された6、5ビット目に対応する表示器12Lの第2、第3セグメントB、Cが点灯状態となり、表示データにおいて「0」が設定された7ビット目、4~0ビット目に対応する表示器12Lの第1セグメントA、第4~第8セグメントD~DPが非点灯状態となり、表示器12Lに「1」が表示されることとなる。
このように、メイン制御部41は、各表示器12L、12Rの複数のセグメントを点灯状態または非点灯状態に制御することで、表示値として所定の数字(「0」~「9」)や記号(例えば、「-」「.」等)、英字(例えば、「E」等)を1桁または2桁で表示させることにより、種々の情報を表示させることが可能である。具体的には、図29に示すように、メダルの払出枚数(0~15)、操作態様を示すナビ報知(1~13)、発生しているエラーの種類を特定可能なエラーコード(E1~E8)、設定変更状態であることを特定可能な設定コード(--)を表示させることが可能である。
[遊技補助表示器の表示状況について]
次に、遊技補助表示器12の表示状況について、図30~図36に基づいて説明する。
図30に示すように、メイン制御部41は、メダルがメダル投入部4に投入されるか、MAXBETスイッチ6の操作により賭数が設定されると、RAM41cの表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とする。
図30(a)に示すように、メイン制御部41は、スタートスイッチ7が操作され、ナビ報知を行わない場合には、全リールが停止するまで非表示状態を継続し、全リールが停止し、かつ第3停止操作がOFFとなることで、小役が入賞し、メダルの付与を伴う場合には、小役の入賞により付与される払出枚数をRAM41cから取得し、取得した払出枚数を表示器12L、12Rの毎の表示データに変換し、表示器12L、12Rの出力バッファにセットすることで、遊技補助表示器12に払出枚数(1~15)を表示させる。
その後、メイン制御部41は、ゲームの終了後も次のゲームの賭数が設定されるまで払出枚数の表示を継続させ、次のゲームの賭数が設定されると、前述したように表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とすることで、前回のゲームにおける払出枚数の表示を終了させる。尚、全リールが停止し、小役が入賞せず、メダルの付与を伴わない場合には、遊技補助表示器12の非表示状態を継続する。
また、図30(b)に示すように、メイン制御部41は、スタートスイッチ7が操作され、ナビ報知を行う場合には、スタートスイッチ7が操作されたときに、RAM41cのナビ番号設定領域に内部抽選にて当選したナビ対象役に応じた操作態様を示すナビ番号をRAM41cのナビ番号設定領域に設定し、リールの回転が開始した後、リールが定速回転となり停止操作が有効化されたタイミングでRAM41cのナビ番号設定領域からナビ番号を取得し、取得したナビ番号を表示器12L、12R毎の表示データに変換し、表示器12L、12Rの出力バッファにセットすることで、遊技補助表示器12に操作態様を示すナビ番号(1~13)を表示させる。また、メイン制御部41は、リールが定速回転となり停止操作が有効化され、表示器12L、12Rの出力バッファにナビ番号に対応する表示データがセットされ、遊技補助表示器12に操作態様を示すナビ番号が表示された後も、リールの定速回転が検出される毎に、RAM41cのナビ番号設定領域からナビ番号を取得し、取得したナビ番号を表示器12L、12R毎の表示データに変換し、表示器12L、12Rの出力バッファに繰り返しセットする。この際、ナビ表示に対応する操作態様以外の操作態様で停止操作がされた場合でも、表示器12L、12R毎の表示データは初期化されず、ナビ表示に対応する操作態様で停止操作がされたか否かに関わらず、第3停止リールの停止操作(OFFからONへの変化)が検出されるまで、継続してナビ番号が遊技補助表示器12に表示される。
その後、第3停止リールの停止操作(OFFからONへの変化)が検出されたタイミングで、表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とすることで、ナビ表示を終了させる。一方、RAM41cのナビ番号格納領域に格納されているナビ番号については初期化されずに維持されるようになっており、メイン制御部41は、全リールが停止し、かつ第3停止リールの停止操作がOFFとなることで、メダルの払出処理が行われる前に、前述した遊技機情報計算処理を行う。この際、メイン制御部41は、RAM41cのナビ番号格納領域に設定されているナビ番号を取得し、ナビ番号が1以上の場合には、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新し、総累計指示込役物払出比率や指示込役物払出比率(6000G)を算出する。
さらに、全リールが停止し、かつ第3停止リールの停止操作がOFFとなることで、小役が入賞し、メダルの付与を伴う場合には、前述した遊技機情報計算処理を行った後に、小役の入賞により付与される払出枚数をRAM41cから取得し、取得した払出枚数を表示器12L、12R毎の表示データに変換し、表示器12L、12Rの出力バッファにセットすることで、遊技補助表示器12に払出枚数(1~15)を表示させる。
その後、メイン制御部41は、1ゲーム終了時に行う初期化処理により、RAM41cのナビ番号設定領域を初期化して0を設定するが、表示器12L、12Rの出力バッファについては初期化せず、これらの出力バッファにセットされている表示データに基づいて、ゲームの終了後も次のゲームの賭数が設定されるまで払出枚数の表示を継続させる。そして、次のゲームの賭数が設定されると、前述したように表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とすることで、前回のゲームにおける払出枚数の表示を終了させる。尚、全リールが停止し、小役が入賞せず、メダルの付与を伴わない場合には、遊技補助表示器12の非表示状態を継続する。
図31に示すように、メイン制御部41は、異常の発生を検知すると、RAM41cのエラーフラグ設定領域に、検知された異常のエラー種別に対応するエラーフラグを設定し、遊技の進行が不能なエラー状態に制御するとともに、エラー種別を示すエラーコードを表示器12L、12R毎の表示データに変換し、表示器12L、12Rの出力バッファにセットすることで、遊技補助表示器12にエラーコード(E1~E8)を表示させる。その後、リセットスイッチ23やリセット/設定スイッチ38によるリセット操作がされた場合には、エラーフラグをクリアすることでエラー状態を解除し、遊技の進行が可能な状態にするとともに、表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とすることで、エラーコードの表示を終了させる。
図32に示すように、メイン制御部41は、小役が入賞した後、遊技補助表示器12に払出枚数(1~15)の表示を継続させている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出すると、RAM41cにおける前述のエラーフラグ設定領域とは異なる遊技状態フラグ設定領域に設定変更中を示す遊技状態フラグを設定し、設定変更状態へ移行させるとともに、設定変更状態であることを特定可能な設定コードを表示器12L、12R毎の表示データに変換し、表示器12L、12Rの出力バッファにセットすることで、遊技補助表示器12に設定コード(--)を表示させる。その後、メイン制御部41は、設定値が確定され、設定キースイッチ37のOFF状態を検出すると、RAM41cの遊技状態フラグ設定領域に設定されている設定変更中を示す遊技状態フラグを初期化し、通常遊技状態(非内部中)を示す遊技状態フラグに変更することで設定変更状態を終了させ、通常遊技状態(非内部中)に移行させるとともに、表示器12L、12Rの出力バッファを初期化することで、遊技補助表示器12を非表示状態とする。
メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合には、表示器12Lの出力バッファに設定されている表示データに基づいて、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていたか否かを判定し、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていないと判定した場合には、表示器12L、12Rの出力バッファを初期化することで、遊技補助表示器12を非表示状態とする一方、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていたと判定した場合には、表示器12L、12Rの出力バッファを維持することで、電力供給前に表示されていたエラーコードまたは設定コードを遊技補助表示器12に表示させる。
これにより、図33に示すように、メイン制御部41は、ゲームの終了後、遊技補助表示器12に払出枚数(1~15)の表示を継続させている状態、すなわち遊技の結果を示す情報が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前のゲームの終了後の状態に復帰させる場合には、表示器12L、12Rの出力バッファを初期化することで、遊技補助表示器12を非表示状態とする。
また、図34に示すように、メイン制御部41は、ナビ報知の実行中であり、遊技補助表示器12に操作態様を示すナビ番号(1~13)が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前のナビ報知の実行中の状態に復帰させる場合には、表示器12L、12Rの出力バッファを初期化することで、遊技補助表示器12を非表示状態とする。この場合にメイン制御部41は、リールの回転が再開した後、リールが定速回転となり停止操作が有効化されたタイミングで、操作態様を示すナビ番号を表示データに変換して再度表示器12L、12Rの出力バッファに設定することで、遊技補助表示器12に操作態様を示すナビ番号(1~13)を表示させる。
また、図35に示すように、メイン制御部41は、エラー状態であり、遊技補助表示器12にエラーコード(E1~E8)が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前のエラー状態に復帰させる場合には、表示器12L、12Rの出力バッファを維持することで、電力供給前に表示されていたエラーコードを遊技補助表示器12に表示させる。
また、図36に示すように、メイン制御部41は、設定変更状態であり、遊技補助表示器12に設定コード(--)が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の設定変更状態に復帰させる場合には、表示器12L、12Rの出力バッファを維持することで、電力供給前に表示されていた設定コードを遊技補助表示器12に表示させる。
このようにメイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合に、電力供給が停止したときに遊技補助表示器12に払出枚数、すなわち遊技の結果に応じた表示が継続していた場合には、電力供給が再開されたときに遊技補助表示器12を非表示状態とする。これにより、遊技補助表示器12に払出枚数の表示が継続された状態で電力供給が停止した場合に、その後、電力供給が開始して設定変更状態に移行して設定値が設定された場合であっても、電力供給が開始して設定変更状態に移行せず、電力供給が停止する前の制御状態に復帰した場合であっても、いずれも遊技補助表示器12が非表示状態となることで、設定値が変更されたか否かが推測できないようになっている。この際、遊技補助表示器12に電力供給が停止する前の払出枚数が表示されており、電力供給が再開した後、払出枚数が非表示となっても、払出枚数は電力供給が停止する前のゲームの結果であり、電力供給が再開した後のゲームに影響することはない。
一方、メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合に、電力供給が停止したときに遊技の進行が不能なエラー状態や設定変更状態であり、遊技補助表示器12にエラー状態を示すエラーコードや設定変更状態を示す設定コードが表示されていた場合には、電力供給が再開されたときに遊技補助表示器12に、電力供給が停止される前に表示されていたエラーコードや設定コードを表示させることで、電力供給が再開したときに遊技の進行ができない状態であることを特定できるようになっている。
[遊技補助表示器の初期化判定について]
前述のように、メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合に、表示器12Lの出力バッファに設定されている表示データに基づいて、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていたか否かを判定し、その判定結果に基づいて、表示器12L、12Rの出力バッファを初期化し、遊技補助表示器12を非表示状態とするか、表示器12L、12Rの出力バッファを維持し、遊技補助表示器12の表示状態を維持するかを決定する。
遊技補助表示器12に表示される払出枚数は1~15の値であり、遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGは表示されている値が1~15のいずれの値であっても非点灯状態となる。また、遊技補助表示器12に表示される操作態様を示すナビ番号は1~13の値であり、この場合においても遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGは表示されている値が1~13のいずれの値であっても非点灯状態となる。一方、遊技補助表示器12に表示されるエラーコードはE1~E8であり、遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGは表示されている値がE1~E8のいずれの値であっても点灯状態となる。また、遊技補助表示器12に表示される設定コードは--であり、この場合においても遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGは点灯状態となる。このため、遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGが点灯状態であるか、非点灯状態であるか、によって、遊技補助表示器12にエラーコードまたは設定コードが表示されている状態であるか、遊技補助表示器12にエラーコードまたは設定コードが表示されていない状態(遊技補助表示器12に払出枚数が表示されている状態、操作態様を示すナビ番号が表示されている状態または非表示状態)であるか、を特定可能となる。
そして、メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合に、遊技補助表示器12のうち10の位の値に対応する表示器12Lの第7セグメントGが非点灯状態であるか、点灯状態であるか、を判定することで、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていたか否かを判定するようになっている。
具体的には、図37(a)に示すように、メイン制御部41は、遊技補助表示器12のうち、10の位の値に対応する表示器12Lの出力バッファにセットされている表示データを取得し(Sm1)、取得した表示器12Lの表示データと02(H)とでAND演算を行い(Sm2)、演算結果が0であるか否かを判定し(Sm3)、演算結果が0であると判定した場合には、表示器12L、12Rの出力バッファを初期化し(Sm4)、遊技補助表示器12を非表示状態とする一方、Sm3において演算結果が0でないと判定した場合には、表示器12L、12Rの出力バッファを維持し、遊技補助表示器12を電力供給が停止する前の表示状態に復帰させる。
このように、Sm1において取得した表示器12Lの表示データと02(H)をAND演算する(Sm2)ことで、02(H)は、第7セグメントGに対応する1ビット目の値が1でそれ以外のセグメントに対応するビットの値が0となる00000010(2進数)であることから、Sm1で取得した表示器12Lの表示データが00000000(2進数)であった場合、すなわち第7セグメントGの点灯状態/非点灯状態を示す1ビット目の値が非点灯状態を示す0であった場合には、Sm2の演算結果が00000000(2進数)となり、表示器12Lの第7セグメントGが非点灯状態であることが特定され、前述のように遊技補助表示器12にエラーコードまたは設定コードが表示されていない状態(遊技補助表示器12に払出枚数が表示されている状態、操作態様を示すナビ番号が表示されている状態または非表示状態)であることが特定されるため、この場合には、表示器12L、12Rの出力バッファが初期化され、電力供給が停止する前の表示状態に関わらず、遊技補助表示器12が非表示状態となる。
一方、Sm1で取得した表示器12Lの表示データが00000010(2進数)であった場合、すなわち第7セグメントGの点灯状態/非点灯状態を示す1ビット目の値が点灯状態を示す1であった場合には、Sm2の演算結果が00000010(2進数)となり、00000000(2進数)とならないことから、表示器12Lの第7セグメントGが点灯状態であることが特定され、前述のように遊技補助表示器12にエラーコードまたは設定コードが表示されている状態であることが特定されるため、この場合には、表示器12L、12Rの出力バッファが維持され、遊技補助表示器12が電力供給が停止する前の表示状態、すなわちエラーコードまたは設定コードが表示されている状態に復帰することとなる。
また、電力供給が停止する前に遊技補助表示器12にエラーコードまたは設定コードが表示されていたか否かを判定する方法として、遊技補助表示器12にエラーコードが表示されるエラー状態であるか、遊技補助表示器12に設定コードが表示される設定変更状態であるか、をそれぞれ判定する方法も採りうる。この方法を採る場合に、本実施例では、エラー状態であるか否かを示すエラーフラグと、設定変更状態であるか否かを示す遊技状態フラグと、が異なる記憶領域に記憶されているため、エラーフラグ、遊技状態フラグをそれぞれ取得し、それぞれ判定する必要がある。
具体的には、図37(b)に示すように、メイン制御部41は、遊技状態フラグを取得し(Sn1)、取得した遊技状態フラグから設定変更状態であるか否かを判定し(Sn2)、設定変更状態でないと判定した場合には、エラーフラグを取得し(Sn3)、取得したエラーフラグからエラー状態であるか否かを判定し(Sn4)、エラー状態でないと判定した場合には、表示器12L、12Rの出力バッファを初期化し(Sn5)、遊技補助表示器12を非表示状態とする一方、Sn2において設定変更状態であると判定した場合、Sn4においてエラー状態であると判定した場合には、表示器12L、12Rの出力バッファを維持し、遊技補助表示器12を電力供給が停止する前の表示状態に復帰させる。
このように、エラー状態であるか、設定変更状態であるか、をそれぞれ判定する方法においては、Sn1~Sn5の5行程を必要とし、2つの分岐を必要とするのに対し、図37(a)に示すように、表示器12Lの第7セグメントGが点灯状態であるか否かを判定する方法では、Sm1~Sm4の4行程で済み、分岐も1つで済むこととなり、エラー状態であるか、設定変更状態であるか、をそれぞれ判定する方法よりもプログラム容量が少なくて済む。
[有利区間終了時の制御について]
次に、有利区間終了時の制御について、図38に基づいて説明する。
図38に示すように、メイン制御部41は、メイン処理における有利区間終了処理において、有利区間終了フラグが設定されていると判定すると、有利区間状態がいずれの状態であっても、RAM41cの有利区間終了時対象領域及び毎ゲーム終了時対象領域(AT関連)を初期化する。
これにより、有利区間終了時対象領域に記憶されている有利区間中フラグ、有利区間中信号バッファ、有利区間状態を示すデータ、毎ゲーム終了時対象領域(AT関連)に記憶されているナビ番号等、有利区間に関連する全ての情報が初期化され、遊技区間が通常区間に移行する。
尚、有利区間のうち有利区間終了時以外のゲームでは、有利区間終了処理よりも後に行われる1ゲーム終了時の初期化において毎ゲーム終了時対象領域(AT関連)が初期化され、ナビ番号設定領域に設定されているナビ番号が初期化されるのに対して、有利区間終了時のゲームでは、有利区間終了処理により毎ゲーム終了時対象領域(AT関連)が初期化され、ナビ番号設定領域に設定されているナビ番号が初期化されることとなるが、遊技補助表示器12におけるナビ番号の表示は、前述したように、第3停止リールの停止操作がOFFからONに変化することで非表示となり、さらに、ナビ番号を用いて指示込役物払出枚数の更新や指示込役物払出比率の算出等を行う遊技機情報計算処理は、有利区間終了処理よりも先に行われるため、これらの処理に影響することはない。
そして、メイン制御部41は、有利区間終了処理の後、遊技区間報知終了処理において、RAM41cの有利区間中信号バッファがOFFであると判定することで、区間表示LED19を消灯状態に制御する。
このように有利区間の終了時には、有利区間終了時対象領域に記憶されている有利区間中フラグ、有利区間信号バッファ、有利区間状態を示すデータ、毎ゲーム終了時対象領域(AT関連)に記憶されているナビ番号等、有利区間に関連する全ての情報が初期化された後、区間表示LED19が消灯状態となり、有利区間である旨の報知が終了するので、有利区間である旨の報知が終了しているにも関わらず、有利区間に制御されている状況が生じることがない。
特に、ナビ番号が記憶されるナビ番号設定領域が、区間表示LED19が消灯状態となる前に初期化されるので、有利区間である旨の報知が終了しているにも関わらず、ナビ報知が行われてしまうことを防止できる。
また、RAM41cには、有利区間に関連する情報が記憶される領域として、1ゲーム毎に初期化されない有利区間終了時対象領域と、1ゲーム毎に初期化される毎ゲーム終了時対象領域(AT関連)と、を含み、有利区間終了時には、1ゲームの終了を待たず、毎ゲーム終了時対象領域(AT関連)も初期化されるので、有利区間が終了したにも関わらず、有利区間に関連する情報が残ってしまうことを防止できる。
また、メイン制御部41は、有利区間において複数の有利区間状態に制御可能であるが、有利区間の終了時に制御されている有利区間状態に関わらず、有利区間終了時対象領域及び毎ゲーム終了時対象領域(AT関連)の全ての領域を初期化するようになっており、有利区間の終了時にいずれの有利区間状態に制御されている場合であっても、有利区間に関連する情報を全て初期化することができる。
[メイン制御部の構成について]
本実施例のメイン制御部41は、CPU41a、ROM41b、RAM41cを備えるマイクロコンピュータであり、プログラムに基づいて動作する。プログラムは、メイン制御部41の基本動作を行うシステムプログラムと、ユーザー(開発者)が作成したユーザープログラムと、を含む。ユーザープログラムは、ROM41bに格納されており、メイン制御部41は、起動後、起動時の基本動作が完了することでユーザープログラムに基づく処理を開始する。
また、メイン制御部41は、演算に用いられる値が格納されるレジスタとして、Aレジスタ、BCレジスタ、DEレジスタ、HLレジスタを備え、Aレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、指定したRAM41cのアドレス領域に格納された値を用いて最大2バイトの演算を行うことが可能である。
また、メイン制御部41は、演算結果に応じたフラグが格納されるFレジスタを備える。Fレジスタに格納されるフラグは、演算結果が0の場合に1(ON)が設定され、0以外であれば0(OFF)が設定されるゼロフラグ、演算結果が桁溢れ(オーバーフロー)した場合に1(ON)が設定され、桁溢れしない場合に0(OFF)が設定されるキャリーフラグを含む。
また、メイン制御部41は、割込発生時にジャンプするアドレス(割込ベクタ)の上位アドレスが格納されるIレジスタを備え、割込発生時には、Iレジスタに格納された上位アドレスと割込の種類に応じて割込ベクタテーブルに記憶されている下位アドレスとからなるアドレスにジャンプさせる。
また、メイン制御部41は、後述するLDQ命令等、特殊命令においてアドレスを指定する際の上位アドレスが格納されるQレジスタを備え、特殊命令において下位アドレスのみを指定することでQレジスタに格納された上位アドレスと指定した下位アドレスからなるアドレスを指定できるようになっている。
また、メイン制御部41は、メイン制御部41を構成するデバイスの設定値が格納される内蔵デバイスレジスタを備え、内蔵デバイスレジスタに設定値に応じてこれらデバイスの設定を行うことが可能とされている。
また、メイン制御部41は、起動時においてシステムプログラムにより、Aレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、Fレジスタ、Iレジスタを初期化した後、ユーザープログラムに基づく処理を開始する。このため、Aレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、Fレジスタ、Iレジスタに00(H)または0000(H)が格納された状態でユーザープログラムが開始することとなる。
また、メイン制御部41は、データバスを介してメイン制御部41と接続されたデバイス(複数のLEDからなるセグメント表示器、LED、ソレノイド、モータ等の電気部品、これら電気部品の駆動回路、他のマイクロコンピュータ)等に対して信号(電気部品の駆動信号、駆動命令信号、コマンド等)を出力する出力ポートを備える。出力ポートは、それぞれ8ビットのパラレル信号を出力可能な出力ポート0~7と、3ビットのパラレル信号を出力可能な出力ポート8と、を含む。出力ポート0~7は、出力ポートを指定して後述するOUT命令を行うことで、指定された出力ポートからAレジスタまたはHLレジスタに設定されたデータに基づく8ビットまたは16ビットのパラレル信号が出力される。また、出力ポート8は、内蔵デバイスレジスタのうち出力ポート8レジスタを指定して後述するLD命令により1バイトのデータを転送することで、転送されたデータに基づく3ビットのパラレル信号が出力ポート8から出力される。
[3バイトデータ割り算処理について]
次に、メイン制御部41が役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理において最大3バイトの除数及び被除数を用いて100分率を算出する際に実行する3バイトデータ割り算処理について説明する。
メイン制御部41は、被除数が格納されたRAM41cの領域の先頭アドレスをHLレジスタに格納し、除数が格納されたRAM41cの領域の先頭アドレスをDEレジスタに格納した後、3バイトデータ割り算処理を実行することで、それぞれのアドレスから特定される被除数及び除数を用いて被除数/除数×100の値がAレジスタに格納される。被除数及び除数は最大3バイトの値であり、RAM41cの連続する3バイトの領域に格納されており、連続する3バイトの領域のうち先頭アドレスの領域に1バイト目の値が格納され、先頭アドレス+1の領域に2バイト目の値が格納され、先頭アドレス+2の領域に3バイト目の値が格納されている。このため、被除数または除数が格納された領域の先頭アドレスを指定し、2バイトのデータを指定することで1~2バイト目の値を特定し、先頭アドレス+2のアドレスを指定し、1バイトのデータを指定することで3バイト目の値を特定することが可能とされている。
また、メイン制御部41は、各状態カウント処理、役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理が実行される遊技機情報計算処理の実行中、割込禁止に設定しており、3バイトデータ割り算処理及び3バイトデータ割り算処理に用いられる除数及び被除数を更新する処理の実行中も割込が禁止されるようになっている。
図39及び図40は、メイン制御部41が実行する3バイトデータ割り算処理の制御内容を示すフローチャートである。
3バイトデータ割り算処理では、まず、除数の先頭アドレスが格納されているDEレジスタの値をスタックに退避し(Si1)、DEレジスタの値をクリアし(Si2)、BCレジスタの値をクリアする(Si3)。
次いで、Aレジスタに100を格納し(Si4)、DEレジスタの値に、HLレジスタに格納されているアドレス(被除数の先頭アドレス)で指定するRAM41cの領域から取得した被除数の1~2バイト目の値を加算する(Si5)。
次いで、加算結果がオーバーフローなし(キャリーフラグOFF)か否かを判定し(Si6)、加算結果がオーバーフローした場合(キャリーフラグON)、すなわち被除数の1~2バイト目の加算結果が桁上がりした場合にはSi7のステップに進み、Cレジスタの値を1加算し、加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち被除数の1~2バイト目の加算結果が桁上がりしない場合にはSi8のステップにジャンプする。Si6のステップでは、キャリーフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、加算結果がオーバーフローなし(キャリーフラグOFF)の場合にSi8のステップにジャンプさせる。
次いで、Si8のステップでは、Aレジスタの値を1減算し、減算結果が0でない(ゼロフラグOFF)か否かを判定し(Si9)、減算結果が0の場合(ゼロフラグON)には、Si10のステップに進み、減算結果が0でない場合(ゼロフラグOFF)には、Si5のステップにジャンプする。Si9のステップでは、ゼロフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、減算結果が0でない場合(ゼロフラグOFF)にSi5のステップにジャンプさせる。
Si4においてAレジスタに100が格納され、Si5~Si7において被除数の1~2バイト目がDEレジスタの値に加算される毎にAレジスタの値が1減算されるため、Si4~Si9において被除数の1~2バイト目の値が100倍されることとなる。また、桁上がりする毎にCレジスタの値が1加算されるので、桁上がり分はCレジスタに反映されることとなる。
Si4~Si9により被除数の1~2バイト目の値を100倍した後、HLレジスタに格納されているアドレス(被除数の先頭アドレス)に1加算する処理を2回行い(Si10、Si11)、HLレジスタに格納されているアドレスを、被除数の先頭アドレス+2(被除数の3バイト目のアドレス)とする。
次いで、Aレジスタに100を格納し(Si12)、Cレジスタの値に、HLレジスタに格納されているアドレス(被除数の先頭アドレス+2)で指定するRAM41cの領域から取得した被除数の3バイト目の値を加算する(Si13)。
次いで、加算結果がオーバーフローなし(キャリーフラグOFF)か否かを判定し(Si14)、加算結果がオーバーフローした場合(キャリーフラグON)、すなわち被除数の3バイト目の加算結果が桁上がりした場合にはSi15のステップに進み、Bレジスタの値を1加算し、加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち3バイト目の加算結果が桁上がりしない場合にはSi16のステップにジャンプする。Si14のステップでは、キャリーフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、加算結果がオーバーフローなし(キャリーフラグOFF)の場合にSi16のステップにジャンプさせる。
次いで、Si16のステップでは、Aレジスタの値を1減算し、減算結果が0でない(ゼロフラグOFF)か否かを判定し(Si17)、減算結果が0の場合(ゼロフラグON)には、Si18のステップに進み、減算結果が0でない場合(ゼロフラグOFF)には、Si13のステップにジャンプする。Si17のステップでは、ゼロフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、減算結果が0でない場合(ゼロフラグOFF)にSi13のステップにジャンプさせる。
Si12においてAレジスタに100が格納され、Si13~Si15において被除数の3バイト目がCレジスタの値に加算される毎にAレジスタの値が1減算されるため、Si13~Si17において被除数の3バイト目の値が100倍されることとなる。また、桁上がりする毎にBレジスタの値が1加算されるので、桁上がり分はBレジスタに反映されることとなる。これにより、Si4~Si17において被除数が100倍され、DEレジスタに被除数の100倍値の1~2バイト目の値が格納され、BCレジスタに被除数の100倍値の3~4バイト目の値が格納されることとなる。
Si4~Si17により被除数を100倍した後、スタックに退避させていた除数の先頭アドレスをHLレジスタに復帰させる(Si18)。次いで、Aレジスタの値同士を排他的論理和することでAレジスタの値をクリアし(Si19)、HLレジスタに格納されているアドレス(除数の先頭アドレス)に1加算する処理を2回行い(Si20、Si21)、HLレジスタに格納されているアドレスを、除数の先頭アドレス+2(除数の3バイト目のアドレス)とする。
次いで、Cレジスタの値、すなわち被除数の100倍値の3バイト目の値から、HLレジスタに格納されているアドレス(除数の先頭アドレス+2)で指定するRAM41cの領域から取得した除数の3バイト目の値を減算する(Si22)。
次いで、減算結果がオーバーフローなし(キャリーフラグOFF)か否かを判定し(Si23)、減算結果がオーバーフローした場合(キャリーフラグON)、すなわち被除数の100倍値の3バイト目の減算結果が桁下がりした場合にはSi24のステップに進み、Bレジスタの値が0か否かを判定し、減算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち被除数の100倍値の3バイト目の減算結果が桁下がりしていない場合にはSi26のステップにジャンプする。Si23のステップでは、キャリーフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、減算結果がオーバーフローなし(キャリーフラグOFF)の場合にSi26のステップにジャンプさせる。
Si24においてBレジスタの値が0でない場合、すなわちBレジスタに格納された被除数の100倍値の4バイト目の値を桁下がりさせることで被除数の100倍値の3バイト目の値から除数の3バイト目の値を減算できる場合には、Si25のステップに進み、Bレジスタの値を1減算し、Si24においてBレジスタの値が0の場合、すなわちBレジスタに格納された被除数の100倍値の4バイト目の値を桁下がりさせることができず被除数の100倍値の3バイト目の値から除数の3バイト目の値を減算できない場合には、Si35のステップにジャンプする。Si24のステップでは、指定したレジスタの値が0の場合に指定したステップにジャンプさせるジャンプ命令を実行することで、Bレジスタの値が0の場合にSi35へジャンプさせる。
次いで、HLレジスタに格納されているアドレス(除数の先頭アドレス+2)を1減算する処理を2回行い(Si26、Si27)、HLレジスタに格納されているアドレスを、除数の先頭アドレスとする。
次いで、DEレジスタの値、すなわち被除数の100倍値の1~2バイト目の値から、HLレジスタに格納されているアドレス(除数の先頭アドレス)で指定するRAM41cの領域から取得した除数の1~2バイト目の値を減算する(Si28)。
次いで、減算結果がオーバーフローなし(キャリーフラグOFF)か否かを判定し(Si29)、減算結果がオーバーフローした場合(キャリーフラグON)、すなわち被除数の100倍値の1~2バイト目の減算結果が桁下がりした場合にはSi30のステップに進み、BCレジスタの値が0か否かを判定し、減算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち被除数の100倍値の1~2バイト目の減算結果が桁下がりしていない場合にはSi32のステップにジャンプする。Si29のステップでは、キャリーフラグがOFFの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、減算結果がオーバーフローなし(キャリーフラグOFF)の場合にSi32のステップにジャンプさせる。
Si30においてBCレジスタの値が0でない場合、すなわちBCレジスタに格納された被除数の100倍値の3~4バイト目の値を桁下がりさせることで被除数の100倍値の1~2バイト目の値から除数の1~2バイト目の値を減算できる場合には、Si31のステップに進み、BCレジスタの値を1減算し、Si30においてBCレジスタの値が0の場合、すなわちBCレジスタに格納された被除数の100倍値の3~4バイト目の値を桁下がりさせることができず被除数の100倍値の1~2バイト目の値から除数の1~2バイト目の値を減算できない場合には、Si35のステップにジャンプする。Si30のステップでは、指定したレジスタの値が0の場合に指定したステップにジャンプさせるジャンプ命令を実行することで、BCレジスタの値が0の場合にSi35へジャンプさせる。
Si32でAレジスタの値を1加算した後、演算結果が0(ゼロフラグON)か否かを判定し(Si33)、演算結果が0でない場合(ゼロフラグOFF)には、Si34のステップに進み、Si20のステップへジャンプする。一方、Si33において演算結果が0(ゼロフラグON)の場合、すなわちSi32の加算によりAレジスタの値がオーバーフローすることで、FF(H)から00(H)となった場合には、Si35のステップにジャンプする。Si33のステップでは、ゼロフラグがONの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、Aレジスタの値がSi32の加算により0となった場合にSi35へジャンプさせる。
Si19においてAレジスタがクリアされて0となり、Si20~Si34において除数を減算した結果が0を下回り、次回除数で減算できなくなるまで被除数の100倍値から除数を繰り返し減算する処理を行い、除数が減算される毎にAレジスタの値が1加算されるため、Aレジスタには、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数、すなわち除数に対する被除数の100分率が格納されることとなる。
また、除数を減算した結果が0を下回らずにAレジスタの値がオーバーフローして0となり、ゼロフラグが設定された場合、すなわち被除数の100倍値から除数を減算した回数が256回に到達した場合には、Si20~Si34において被除数の100倍値から除数を減算する処理が終了することとなる。
Si20~Si34における被除数の100倍値から除数を減算する処理が終了した後、Aレジスタの値と100を比較する(Si35)。この際、Aレジスタの値が100未満であればキャリーフラグON、ゼロフラグOFFとなり、Aレジスタの値が100であればキャリーフラグOFF、ゼロフラグONとなり、Aレジスタの値が100を超える場合にはキャリーフラグOFF、ゼロフラグOFFとなる。Si35の比較においてAレジスタの値が100以上(キャリーフラグOFF)であれば、Aレジスタに99を格納し(Si37)、リターン命令により呼出元の処理に復帰する。一方、Si35の比較においてAレジスタの値が100未満であれば、リターン命令にジャンプし、呼出元の処理に復帰する。これにより、Aレジスタに格納されている値が100以上の場合には、99に補正されることとなる。
このように3バイト割り算処理では、まず被除数を100倍した後、除数を減算した結果が0を下回るまで被除数の100倍値から除数を繰り返し減算する処理を行い、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数を除数に対する被除数の100分率として算出するようになっている。
また、通常であれば、被除数が除数よりも大きくなることはなく、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数が100を超えて、被除数の100倍値から除数を減算する処理が行われることはないが、除数が0の場合やデータが破壊された結果、除数が極端に小さい値となってしまった場合など、被除数の100倍値から除数が減算された回数が100を超えているにも関わらず、除数を減算した結果が0を下回らない状況が生じ得るため、このような場合には、被除数の100倍値から除数を減算した回数が100を超える特定値(256)に到達した場合に、異常と判断して被除数の100倍値から除数を減算する処理を終了させるようになっており、被除数の100倍値から除数を減算する処理が終了しなくなってしまうことが防止されるようになっている。
また、被除数の100倍値から除数を減算した回数を計数して100を超える特定値に到達したか否かを判断するのではなく、被除数の100倍値から除数を減算した回数が格納されるAレジスタの値が、256回減算することでオーバーフローするとともに、Aレジスタの値が演算の結果、オーバーフローした場合にゼロフラグがONとなることを利用し、減算の結果、Aレジスタがオーバーフローした際に設定されるONとなるゼロフラグがONとなったか否かを判定するのみで、100を超える特定値(256)に到達したことを判断するようになっている。このため、被除数の100倍値から除数を減算する毎に特定値を初期値とする数値を減算し、当該数値が0となることで減算回数が特定値となったことを判断するものや、減算回数と特定値を比較し、比較結果が一致することで減算回数が特定値となったことを判断するものに比較してプログラム容量を減らすことができる。尚、Aレジスタの値が演算の結果、オーバーフローした場合にキャリーフラグがONとなることを利用し、減算の結果、Aレジスタがオーバーフローした際にONとなるキャリーフラグがONとなったか否かを判定することで、100を超える特定値(256)に到達したことを判断するようにしても良い。
また、被除数の100倍値から除数を減算した後、ゼロフラグがONである場合に、指定したプログラムへジャンプさせるジャンプ命令により、被除数の100倍値から除数を減算した回数が100を超える特定値(256)に到達した場合に、異常と判断して被除数の100倍値から除数を減算する処理を終了させるようになっており、一のジャンプ命令によりゼロフラグがONであるか否かの判定及び異常に伴うプログラムへの移動が可能となる。
また、3バイトデータ割り算処理を実行する前に、被除数が格納されたRAM41cの領域の先頭アドレスがHLレジスタに格納され、除数が格納されたRAM41cの領域の先頭アドレスがDEレジスタに格納され、3バイトデータ割り算処理では、HLレジスタに格納されたアドレスから被除数を特定し、DEレジスタに格納されたアドレスから除数を特定することとなるが、3バイト割り算処理では、被除数を100倍する処理を行う前に、DEレジスタに格納された除数の格納アドレスをスタックに退避し、除数の格納アドレスが格納されたDEレジスタを被除数を100倍する処理に用いるとともに、被除数を100倍する処理の後、スタックに退避した除数のアドレスを復帰させることで、除数を取得し、被除数の100倍値から除数を減算する処理を行うようになっており、除数を特定するアドレスを保護しつつ、除数を特定するアドレスが格納されたレジスタを用いて被除数の100倍値を算出することができる。
また、メイン制御部41は、最大2バイトの演算が可能であるが、被除数及び除数は3バイトとなり得る値であるため、被除数を100倍する処理及び被除数の100倍値から除数を減算する処理においては、1~2バイト目の演算と、3バイト目の演算と、を別に行うようになっており、除数や被除数の100倍値が演算可能な2バイトを超えた場合でも除数に対する被除数の百分率を算出することができる。
また、除数に対する被除数の百分率は、遊技機情報表示器50のうち2桁の表示器で表示されることとなるが、被除数の100倍値から除数が減算された回数が100以上の場合には、99に補正されるようになっており、被除数の100倍値から除数が減算された回数から算出される除数に対する被除数の百分率の値が100以上である場合に、2桁の表示器で表示される場合であっても表示可能な最大値である99で表示されるため、除数に対する被除数の百分率が99%以上の大きい値であることを認識させることができる。
また、3バイトデータ割り算処理及び3バイトデータ割り算処理に用いられる除数及び被除数を更新する処理の実行中は割込が禁止されるようになっており、除数及び被除数が更新される期間及び除数に対する被除数の百分率が算出される期間において割込処理が実行されることで、除数、被除数、除数に対する被除数の百分率を算出する際の数値が破壊され、意図しない数値となってしまうことを防止できる。
[3バイトデータ割り算処理の変形例について]
次に、3バイトデータ割り算処理の変形例について説明する。
本実施例の3バイトデータ割り算処理では、まず被除数を100倍した後、除数を減算した結果が0を下回るまで被除数の100倍値から除数を繰り返し減算する処理を行い、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数を除数に対する被除数の100分率として算出するのに対し、変形例の3バイトデータ割り算処理では、まず被除数を200倍した後、除数を減算した結果が0を下回るまで被除数の200倍値から除数を繰り返し減算する処理を行い、除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数を1/2倍した値を除数に対する被除数の100分率として算出するようになっている。
図41及び図42は、3バイトデータ割り算処理の変形例の制御内容を示すフローチャートである。尚、ここでは、図39及び図40に示す3バイトデータ割り算処理と異なる点のみ説明する。
3バイト割り算処理の変形例では、Si4においてAレジスタに200が格納され、Si5~Si7において被除数の1~2バイト目がDEレジスタの値に加算される毎にAレジスタの値が1減算されるため、Si4~Si9において被除数の1~2バイト目の値が200倍されることとなる。また、Si12においてAレジスタに200が格納され、Si13~Si15において被除数の3バイト目がCレジスタの値に加算される毎にAレジスタの値が1減算されるため、Si13~Si17において被除数の3バイト目の値が200倍されることとなる。これにより、Si4~Si17において被除数が200倍され、DEレジスタに被除数の200倍値の1~2バイト目の値が格納され、BCレジスタに被除数の200倍値の3~4バイト目の値が格納されることとなる。
また、3バイト割り算処理の変形例では、Si19においてAレジスタがクリアされて0となり、Si20~Si34において除数を減算した結果が0を下回り、次回除数で減算できなくなるまで被除数の200倍値から除数を繰り返し減算する処理を行い、除数が減算される毎にAレジスタの値が1加算されるため、Aレジスタには、除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数が格納される。また、Si20~Si34における被除数の200倍値から除数を減算する処理が終了した後、Si34.5のステップにジャンプするようになっており、Si34.5において、Aレジスタの値を1ビット右シフトすることで、Aレジスタの値、すなわち除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数を1/2倍することで、Aレジスタに除数に対する被除数の100分率が格納されることとなる。
また、除数を減算した結果が0を下回らずにAレジスタの値がオーバーフローして0となり、ゼロフラグが設定された場合、すなわち被除数の200倍値から除数を減算した回数が256回に到達した場合には、Si20~Si34において被除数の200倍値から除数を減算する処理が終了することとなる。
このように3バイト割り算処理の変形例では、まず被除数を200倍した後、除数を減算した結果が0を下回るまで被除数の200倍値から除数を繰り返し減算する処理を行い、除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数を1/2倍した値を除数に対する被除数の100分率として算出するようになっている。これにより、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数を除数に対する被除数の100分率として算出するよりも正確な比率を算出することができる。
また、通常であれば、被除数が除数よりも大きくなることはなく、除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数が200を超えて、被除数の200倍値から除数を減算する処理が行われることはないが、除数が0の場合やデータが破壊された結果、除数が極端に小さい値となってしまった場合など、被除数の200倍値から除数が減算された回数が200を超えているにも関わらず、除数を減算した結果が0を下回らない状況が生じ得るため、このような場合には、被除数の200倍値から除数を減算した回数が200を超える特定値(256)に到達した場合に、異常と判断して被除数の200倍値から除数を減算する処理を終了させるようになっており、被除数の200倍値から除数を減算する処理が終了しなくなってしまうことが防止されるようになっている。
また、被除数の200倍値から除数を減算した回数を計数して200を超える特定値に到達したか否かを判断するのではなく、被除数の200倍値から除数を減算した回数が格納されるAレジスタの値が、256回減算することでオーバーフローするとともに、Aレジスタの値が演算の結果、オーバーフローした場合にゼロフラグがONとなることを利用し、減算の結果、Aレジスタがオーバーフローした際に設定されるONとなるゼロフラグがONとなったか否かを判定するのみで、200を超える特定値(256)に到達したことを判断するようになっている。このため、被除数の200倍値から除数を減算する毎に特定値を初期値とする数値を減算し、当該数値が0となることで減算回数が特定値となったことを判断するものや、減算回数と特定値を比較し、比較結果が一致することで減算回数が特定値となったことを判断するものに比較してプログラム容量を減らすことができる。尚、Aレジスタの値が演算の結果、オーバーフローした場合にキャリーフラグがONとなることを利用し、減算の結果、Aレジスタがオーバーフローした際にONとなるキャリーフラグのONとなったか否かを判定することで、200を超える特定値(256)に到達したことを判断するようにしても良い。
また、被除数の200倍値から除数を減算した後、ゼロフラグがONである場合に、指定したプログラムへジャンプさせるジャンプ命令により、被除数の200倍値から除数を減算した回数が200を超える特定値(256)に到達した場合に、異常と判断して被除数の200倍値から除数を減算する処理を終了させるようになっており、一のジャンプ命令によりゼロフラグがONであるか否かの判定及び異常に伴うプログラムへの移動が可能となる。
また、3バイトデータ割り算処理を実行する前に、被除数が格納されたRAM41cの領域の先頭アドレスがHLレジスタに格納され、除数が格納されたRAM41cの領域の先頭アドレスがDEレジスタに格納され、3バイトデータ割り算処理では、HLレジスタに格納されたアドレスから被除数を特定し、DEレジスタに格納されたアドレスから除数を特定することとなるが、3バイト割り算処理では、被除数を200倍する処理を行う前に、DEレジスタに格納された除数の格納アドレスをスタックに退避し、除数の格納アドレスが格納されたDEレジスタを被除数を200倍する処理に用いるとともに、被除数を200倍する処理の後、スタックに退避した除数のアドレスを復帰させることで、除数を取得し、被除数の200倍値から除数を減算する処理を行うようになっており、除数を特定するアドレスを保護しつつ、除数を特定するアドレスが格納されたレジスタを用いて被除数の200倍値を算出することができる。
また、メイン制御部41は、最大2バイトの演算が可能であるが、被除数及び除数は3バイトとなり得る値であるため、被除数を200倍する処理及び被除数の200倍値から除数を減算する処理においては、1~2バイト目の演算と、3バイト目の演算と、を別に行うようになっており、除数や被除数の200倍値が演算可能な2バイトを超えた場合でも除数に対する被除数の百分率を算出することができる。
また、除数に対する被除数の百分率は、遊技機情報表示器50のうち2桁の表示器で表示されることとなるが、被除数の200倍値から除数が減算された回数を1/2倍した値が100以上の場合には、99に補正されるようになっており、被除数の200倍値から除数が減算された回数から算出される除数に対する被除数の百分率の値が100以上である場合に、2桁の表示器で表示される場合であっても表示可能な最大値である99で表示されるため、除数に対する被除数の百分率が99%以上の大きい値であることを認識させることができる。
[3バイトデータ加算・格納処理について]
次に、メイン制御部41が各状態カウント処理、役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理において、役物払出比率、連続役物払出比率、指示込役物払出比率の算出に用いる3バイトのデータを加算する場合に実行可能であり、特に、遊技回数(総累計)や総累計払出枚数等、加算後のデータがオーバーフローする可能性のある場合に実行する3バイトデータ加算・格納処理について説明する。
メイン制御部41は、加算対象データが格納されたRAM41cの領域の先頭アドレスをHLレジスタに格納し、加算値をDEレジスタに格納した後、3バイトデータ加算・格納処理を実行することで、HLレジスタに格納されたアドレスから特定される加算対象データにDEレジスタに格納された加算値が加算されるとともに、加算結果がオーバーフローした場合には、加算対象データが加算値を加算する前の値に戻され、キャリーフラグがONとなることで、加算対象データを加算することでオーバーフローすることが特定されるようになっている。加算対象データは最大3バイトの値であり、RAM41cの連続する3バイトの領域に格納されており、連続する3バイトの領域のうち先頭アドレスの領域に1バイト目の値が格納され、先頭アドレス+1の領域に2バイト目の値が格納され、先頭アドレス+2の領域に3バイト目の値が格納されている。このため、加算対象アドレスが格納された領域の先頭アドレスを指定し、2バイトのデータを指定することで1~2バイト目の値を特定し、先頭アドレス+2のアドレスを指定し、1バイトのデータを指定することで3バイト目の値を特定することが可能とされている。
また、メイン制御部41は、各状態カウント処理、役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理が実行される遊技機情報計算処理の実行中、割込禁止に設定しており、3バイトデータ加算・格納処理の実行中も割込が禁止されるようになっている。
図43は、メイン制御部41が実行する3バイトデータ加算・格納処理の制御内容を示すフローチャートである。
3バイトデータ加算・格納処理では、まず、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域から取得した加算対象データの1~2バイト目の値を取得し、BCレジスタに格納する(Sj1)。
次いで、DEレジスタに格納された加算値を、BCレジスタに格納された加算対象データの1~2バイト目の値に加算し(Sj2)、BCレジスタの値を、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域に格納することで、RAM41cに格納されている加算対象データの1~2バイト目の値を加算値が加算されたデータに更新する(Sj3)。
次いで、Sj2における加算対象データの1~2バイト目の加算結果がオーバーフロー(キャリーフラグON)したか否かを判定し(Sj4)、加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりしない場合には、リターン命令により呼出元の処理に復帰する。Sj4のステップでは、キャリーフラグがOFFの場合に呼出元の処理に復帰させるリターン命令を実行することで、加算結果がオーバーフローなし(キャリーフラグOFF)の場合に呼出元の処理に復帰させる。
また、Sj4において加算結果がオーバーフローした場合(キャリーフラグON)、すなわち加算対象データの1~2バイト目の加算結果が桁上がりする場合には、Sj5のステップに進み、キャリーフラグを反転させてクリアし、キャリーフラグをOFFとする。
次いで、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)に1加算する処理を2回行い(Sj6、Sj7)、HLレジスタに格納されているアドレスを、加算対象データの先頭アドレス+2(加算対象データの3バイト目のアドレス)とする。
次いで、HLレジスタに格納されているアドレス(加算対象データの3バイト目のアドレス)で指定するRAM41cの領域の値、すなわち加算対象データの3バイト目の値に1を加算し(Sj8)、1~2バイト目の加算による桁上がりを反映させる。
次いで、Sj8における加算対象データの3バイト目の加算結果がオーバーフローなし(ゼロフラグOFF)か否かを判定し(Sj9)、加算結果がオーバーフローなし(ゼロフラグOFF)の場合、すなわち加算対象データの3バイト目の加算結果が桁上がりしない場合には、リターン命令により呼出元の処理に復帰する。Sj9のステップでは、ゼロフラグがOFFの場合に呼出元の処理に復帰させるリターン命令を実行することで、加算結果がオーバーフローなし(ゼロフラグOFF)の場合に呼出元の処理に復帰させる。
また、Sj9において加算結果がオーバーフローした場合(ゼロフラグON)、すなわち加算対象データの3バイト目の加算結果が桁上がりするため、これ以上の更新が不可能な場合には、Sj10のステップに進み、HLレジスタに格納されているアドレス(加算対象データの3バイト目のアドレス)で指定するRAM41cの領域の値、すなわち加算対象データの3バイト目の値を1減算し(Sj10)、1~2バイト目の加算による桁上がりが反映される前の値とする。
次いで、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス+2)から1減算する処理を2回行い(Sj11、Sj12)、HLレジスタに格納されているアドレスを、加算対象データの先頭アドレス(加算対象データの1~2バイト目のアドレス)とする。
次いで、DEレジスタに格納された加算値を、BCレジスタに格納された加算対象データの1~2バイト目の値から減算する(Sj13)。BCレジスタには、Sj2において加算対象データの1~2バイト目の値にDEレジスタの加算値が加算された値がクリアされずに保持されているため、BCレジスタに格納された値からDEレジスタに格納された加算値を減算することで、加算前の加算対象データの1~2バイト目の値となる。また、Sj13の減算結果は、必ずオーバーフローすることとなるため、キャリーフラグがONとなる。
次いで、BCレジスタの値を、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域に格納することで、RAM41cに格納されている加算対象データの1~2バイト目の値を加算値が加算される前のデータに戻す(Sj14)。
次いで、リターン命令を実行することで、呼出元の処理に復帰させる。
このように3バイトデータ加算・格納処理では、HLレジスタに格納されたアドレスから特定される加算対象データにDEレジスタに格納された加算値が加算されるとともに、加算結果がオーバーフローした場合には、加算対象データが加算値を加算する前の値に戻されるようになっており、意図しないデータを用いて役物払出比率、連続役物払出比率、指示込役物払出比率が算出されてしまうことを防止できる。特に、3バイトのデータがオーバーフローした結果、比率を算出する際の除数よりも被除数が大きくなってしまうことで、不正確な比率が算出されてしまうことを防止できる。
また、加算結果がオーバーフローした場合には、3バイトデータ加算・格納処理の終了時にキャリーフラグがONとなることで、以後、加算対象データを加算することでオーバーフローする可能性が高い状況であることが特定されるようになっており、その後、該当するデータの加算を制限することで、無駄な処理を行わずに済む。
また、メイン制御部41は、最大2バイトの演算が可能であるが、加算対象データは3バイトとなり得る値であるため、加算対象データに加算値を加算する処理では、加算対象データの1~2バイト目の加算を行った後、1~2バイト目の加算結果がオーバーフローした場合に、加算対象データの3バイト目の加算を行うようになっており、加算対象データが演算可能な2バイトを超える場合でも、加算対象データの加算を行うことができる。
また、加算対象データの1~2バイト目の加算を行った後、加算結果がオーバーフローした場合には、キャリーフラグがONとなってオーバーフローしたことを特定可能となり、その後、キャリーフラグをクリアしてOFFとした後に、加算対象データの3バイト目の加算を行うようになっており、加算対象データの1~2バイト目の加算結果がオーバーフローした場合にONとなる特定フラグをクリアした後、加算対象データの3バイト目の加算が行われるため、加算対象データの3バイト目の加算結果がオーバーフローしたか否かを特定フラグによって正確に判定することができる。
また、加算対象データの1~2バイト目の加算を行った後、1~2バイト目の加算に用いたBCレジスタの値がクリアされずに保持されたまま、加算対象データの3バイト目の加算を行い、3バイト目の加算結果がオーバーフローした場合には、BCレジスタの値を用いて加算対象データの1~2バイト目の値を加算前の値に戻すようになっており、加算対象データを加算前の値に戻すにあたって、数値を読み出す必要がないため、プログラムを簡素化することができる。
また、3バイトデータ加算・格納処理の実行中は割込が禁止されるようになっており、加算対象データが更新される期間において割込処理が実行されることで加算対象データが破壊され、意図しない数値を用いて比率が算出されてしまうことを防止できる。
[3バイトデータ1バイト加算処理について]
次に、メイン制御部41が役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理において3バイトのデータを加算する場合に実行可能であり、特に、入賞払出(6000累計)、役物払出(6000累計)、連続役物払出(6000累計)、指示込役物払出(6000累計)等、加算後のデータがオーバーフローする可能性のない場合に実行する3バイトデータ1バイト加算処理について説明する。
メイン制御部41は、加算対象データが格納されたRAM41cの領域の先頭アドレスをHLレジスタに格納し、加算値をBレジスタに格納した後、3バイトデータ1バイト加算処理を実行することで、HLレジスタに格納されたアドレスから特定される加算対象データにBレジスタに格納された加算値が加算されるようになっている。加算対象データは最大3バイトの値であり、RAM41cの連続する3バイトの領域に格納されており、連続する3バイトの領域のうち先頭アドレスの領域に1バイト目の値が格納され、先頭アドレス+1の領域に2バイト目の値が格納され、先頭アドレス+2の領域に3バイト目の値が格納されている。このため、加算対象アドレスが格納された領域の先頭アドレスを指定し、2バイトのデータを指定することで1~2バイト目の値を特定し、先頭アドレス+2のアドレスを指定し、1バイトのデータを指定することで3バイト目の値を特定することが可能とされている。
また、メイン制御部41は、各状態カウント処理、役物比率更新処理、連続役物比率更新処理、指示込役物比率更新処理が実行される遊技機情報計算処理の実行中、割込禁止に設定しており、3バイトデータ1バイト加算処理の実行中も割込が禁止されるようになっている。
図44(a)は、メイン制御部41が実行する3バイトデータ1バイト加算処理の制御内容を示すフローチャートである。
3バイトデータ1バイト加算処理では、まず、Cレジスタに桁上がり時に用いられる1を格納し(Sk1)、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域から取得した加算対象データの1~2バイト目の値を取得し、DEレジスタに格納する(Sk2)。
次いで、AレジスタにBレジスタに格納された加算値を格納し(Sk3)、Aレジスタに格納された加算値を、DEレジスタに格納された加算対象データの1~2バイト目の値に加算し(Sk4)、DEレジスタの値を、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域に格納することで、RAM41cに格納されている加算対象データの1~2バイト目の値を加算値が加算されたデータに更新する(Sk5)。
次いで、Sk4における加算対象データの1~2バイト目の加算結果がオーバーフロー(キャリーフラグON)したか否かを判定し(Sk6)、加算結果がオーバーフロー(キャリーフラグON)した場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりする場合には、Sk8のステップにジャンプし、加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりしない場合には、Sk7のステップに進み、Cレジスタに0を格納した後、Sk8のステップに進む。Sk6のステップでは、キャリーフラグがONの場合に指定したステップにジャンプさせるジャンプ命令を実行することで、加算結果がオーバーフロー(キャリーフラグON)した場合にSk8のステップにジャンプさせる。
Sk8では、キャリーフラグをクリアしてOFFとする。次いで、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)に1加算する処理を2回行い(Sk9、Sk10)、HLレジスタに格納されているアドレスを、加算対象データの先頭アドレス+2(加算対象データの3バイト目のアドレス)とする。
次いで、HLレジスタに格納されているアドレス(加算対象データの3バイト目のアドレス)で指定するRAM41cの領域の値、すなわち加算対象データの3バイト目の値を取得し、Cレジスタの値に加算し(Sk11)、加算後のCレジスタの値を、HLレジスタに格納されているアドレス(加算対象データの3バイト目のアドレス)で指定するRAM41cの領域に格納することで、RAM41cに格納されている加算対象データの3バイト目の値をCレジスタの値に更新する(Sk12)。この際、Sk6において加算結果がオーバーフロー(キャリーフラグON)した場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりする場合には、Cレジスタに1が格納されているため、加算対象データの3バイト目の値に、1~2バイト目の加算による桁上がりが反映される。一方、Sk6において加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりしない場合には、Cレジスタに0が格納されているため、加算対象データの3バイト目の値は変化しない。
次いで、HLレジスタの値を1加算し(Sk13)、次の加算対象データの先頭アドレスとし、リターン命令により、呼出元の処理に復帰させる。
このように3バイトデータ1バイト加算処理では、HLレジスタに格納されたアドレスから特定される加算対象データにBレジスタに格納された加算値が加算されるようになっている。
また、加算対象データの1~2バイト目の値が桁上がりするか否かに関わらず、Cレジスタに1を設定した後、加算対象データの1~2バイト目の値が桁上がりしない場合には、Cレジスタに0を設定することで、Cレジスタの値を1から0に変更し、その後、加算対象データの1~2バイト目の値が桁上がりするか否かに関わらず、Cレジスタの値を加算対象データの3バイト目の値に加算する処理を行うことで、加算対象データの1~2バイト目の値が桁上がりする場合には、加算対象データの3バイト目の値が1加算され、桁上がりが反映される一方、加算対象データの1~2バイト目の値が桁上がりしない場合には、加算対象データの3バイト目の値が変化しないようになっており、加算対象データの1~2バイト目の値が桁上がりする場合にも、加算対象データの1~2バイト目の値が桁上がりしない場合にも、Cレジスタに1を設定するとともに、Cレジスタに設定された値を加算対象データの3バイト目の値に加算する共通の処理を行うことで、加算対象データの1~2バイト目の値が桁上がりする場合には、加算対象データの3バイト目の値に1を加算することができ、加算対象データの1~2バイト目の値が桁上がりしない場合には、加算対象データの3バイト目の値を更新しないようにできる。
このため、3バイトデータ1バイト加算処理を実行する場合に、加算対象データの1~2バイト目の値が桁上がりしない場合には、図44(b)に示すように、Sk1、Sk2、Sk3、Sk4、Sk5、Sk6、Sk7、Sk8、Sk9、Sk10、Sk11、Sk12、Sk13のステップが実行され、加算対象データの1~2バイト目の値が桁上がりする場合には、図44(c)に示すように、Sk1、Sk2、Sk3、Sk4、Sk5、Sk6、Sk8、Sk9、Sk10、Sk11、Sk12、Sk13のステップが実行されることとなり、加算対象データの1~2バイト目の値が桁上がりするのを待つことなく、3バイトデータ1バイト加算処理を構成する全てのステップが実行されるようになっている。
また、3バイトデータ1バイト加算処理の実行中は割込が禁止されるようになっており、加算対象データが更新される期間において割込処理が実行されることで加算対象データが破壊され、意図しない数値となってしまうことを防止できる。
また、加算対象データの1~2バイト目の加算を行った後、加算結果がオーバーフローした場合には、キャリーフラグがONとなってオーバーフローしたことを特定可能となり、その後、キャリーフラグをクリアしてOFFとした後に、加算対象データの3バイト目の加算を行うようになっており、加算対象データの1~2バイト目の加算結果がオーバーフローした場合にONとなる特定フラグをクリアした後、加算対象データの3バイト目の加算が行われるため、演算結果がオーバーフローする毎にキャリーフラグによって正確に判定することができる。
[従来の3バイトデータ加算処理について]
図45(a)は、従来の3バイトデータ加算処理の制御内容を示すフローチャートである。尚、従来の3バイトデータ加算処理では、加算対象データが格納されたRAM41cの領域の先頭アドレスをHLレジスタに格納し、加算値をDEレジスタに格納するものとする。
従来の3バイトデータ加算処理では、まず、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域から取得した加算対象データの1~2バイト目の値を取得し、BCレジスタに格納する(Sk001)。
次いで、DEレジスタに格納された加算値を、BCレジスタに格納された加算対象データの1~2バイト目の値に加算し(Sk002)、BCレジスタの値を、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)で指定するRAM41cの領域に格納することで、RAM41cに格納されている加算対象データの1~2バイト目の値を加算値が加算されたデータに更新する(Sk003)。
次いで、Sk002における加算対象データの1~2バイト目の加算結果がオーバーフロー(キャリーフラグON)したか否かを判定し(Sk004)、加算結果がオーバーフローなし(キャリーフラグOFF)の場合、すなわち加算対象データの1~2バイト目の加算結果が桁上がりしない場合には、Sk010のステップにジャンプし、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)に1加算する処理を3回行い(Sk010、Sk011、Sk012)、次の加算対象データの先頭アドレスとし、リターン命令により、呼出元の処理に復帰させる。
Sk002において加算結果がオーバーフローした場合(キャリーフラグON)、すなわち加算対象データの1~2バイト目の加算結果が桁上がりする場合には、Sk005のステップに進み、キャリーフラグをクリアし、キャリーフラグをOFFとする。
次いで、HLレジスタに格納されているアドレス(加算対象データの先頭アドレス)に1加算する処理を2回行い(Sk006、Sk007)、HLレジスタに格納されているアドレスを、加算対象データの先頭アドレス+2(加算対象データの3バイト目のアドレス)とする。
次いで、HLレジスタに格納されているアドレス(加算対象データの3バイト目のアドレス)で指定するRAM41cの領域の値、すなわち加算対象データの3バイト目の値に1を加算し(Sk008)、1~2バイト目の加算による桁上がりを反映させる。
次いで、Sk009に進み、Sk012へジャンプし、HLレジスタの値を1加算し、次の加算対象データの先頭アドレスとし、リターン命令により、呼出元の処理に復帰させる。
このように従来の3バイトデータ加算処理では、加算対象データの1~2バイト目の加算結果が桁上がりする場合には、3バイト目の値を加算する処理を行う一方、加算対象データの1~2バイト目の加算結果が桁上がりしない場合には、3バイト目の値を加算する処理を行わないようになっている。
このため、従来の3バイトデータ加算処理を実行する場合に、加算対象データの1~2バイト目の値が桁上がりしない場合には、図45(b)に示すように、Sk001、Sk002、Sk003、Sk004、Sk010、Sk011、Sk012のステップが実行され、加算対象データの1~2バイト目の値が桁上がりする場合には、図45(c)に示すように、Sk001、Sk002、Sk003、Sk004、Sk005、Sk006、Sk007、Sk008、Sk009、Sk012のステップが実行されることとなり、加算対象データの1~2バイト目の値が桁上がりするまで、すなわち0から更新が開始された加算対象データが00FFFF(H)から010000(H)に変化するまで、Sk005、Sk006、Sk007、Sk008、Sk009のステップが実行されることがない。
[プログラムの確認について]
スロットマシンやパチンコ遊技機のような遊技機では、未使用のプログラムが含まれていると、当該プログラムを用いて不正な動作を行わせる等の不正行為が行われる可能性があることから、ROM41bに格納された全てのプログラムが実行されることが求められ、ROM41bに格納された全てのプログラムが実行されることを確認するための試験を行う必要がある。ROM41bに格納されたプログラムは、当該プログラムが格納された領域のアドレスによって特定可能であり、全てのプログラムが実行されていることを確認するための試験では、プログラムを実行させて、当該プログラムの格納領域のアドレス毎に、各アドレスの格納領域(アドレス領域)に記憶されたプログラムが実行されたか否かをチェックすることで、ROM41bに格納された全てのプログラムが実行されていることを確認するようになっている。
全てのプログラムが実行されていることを確認するための試験を行うにあたり、従来の3バイトデータ加算処理のように、加算対象データの1~2バイト目の加算結果が桁上がりする場合には、3バイト目の値を加算する処理を行う一方、加算対象データの1~2バイト目の加算結果が桁上がりせず、3バイト目の値を加算する処理を行わない場合には、加算対象データの1~2バイト目の値が桁上がりするまで、すなわち0から更新が開始された加算対象データが00FFFF(H)から010000(H)に変化するまで、一部のアドレス領域に格納されたプログラム(Sk005~Sk009のプログラム)が実行されないことから、加算対象データが00FFFF(H)から010000(H)に変化するまで3バイトデータ加算処理を構成する全てのプログラムが実行されたことを確認することができず、試験の完了までに多くの時間を要することとなる。
これに対し、本実施例の3バイトデータ1バイト加算処理では、加算対象データの1~2バイト目の値が桁上がりする場合にも、加算対象データの1~2バイト目の値が桁上がりしない場合にも、Cレジスタに1を設定するとともに、Cレジスタに設定された値を加算対象データの3バイト目の値に加算する共通のプログラム(Sk8~Sk12のプログラム)を実行することで、加算対象データの1~2バイト目の値が桁上がりする場合には、加算対象データの3バイト目の値に1を加算する一方、加算対象データの1~2バイト目の値が桁上がりしない場合には、加算対象データの3バイト目の値を更新しないようにできるため、0から更新が開始された加算対象データが00FFFF(H)から010000(H)に変化するのを待たずに、Cレジスタに設定された値を加算対象データの3バイト目の値に加算するプログラムが行われることで、Sk8~Sk12のプログラムが記憶されたアドレス領域を含む3バイトデータ加算処理のプログラムが記憶されたアドレス領域の全てのプログラムが実行されたことを確認することができ、試験の完了までに要する時間を大幅に短縮することができる。
[ユーザープログラムで実行可能な命令について]
本実施例のメイン制御部41がユーザープログラムで実行可能な命令は、出力ポート0~7から信号を出力させるOUT命令、指定したレジスタをクリアして0を格納させるクリア命令、RAM41cの指定したアドレスの領域、指定したレジスタにデータを転送するLD命令、指定したアドレスへジャンプさせるジャンプ命令を含む。
OUT命令は、図46に示すように、出力ポート0~7のうち選択した1つの出力ポートから1バイトのパラレル信号を出力させる1バイトOUT命令(OUT (mn),A)と、出力ポート0~7のうち選択した2つの出力ポートから2バイトのパラレル信号を出力させる2バイトOUT命令(OUT (mn),HL)と、を含む。
1バイトOUT命令(OUT (mn),A)では、mnに出力ポート0~7のうち1つの出力ポートのアドレスを指定することで、指定した出力ポートから、Aレジスタに設定された1バイトのデータ(各信号に対応するビットのOFF/ON(0:OFF、1:ON)が設定されたデータ)に基づく8ビットのパラレル信号を出力させることができる。
2バイトOUT命令(OUT (mn),HL)では、mnに出力ポート0~7のうち連続する2つの出力ポートのうちの先頭の出力ポートのアドレスを指定することで、指定した2つの出力ポートから、HLレジスタに設定された2バイトのデータ(各信号に対応するビットのOFF/ON(0:OFF、1:ON)が設定されたデータ)に基づく16ビットのパラレル信号を出力させることができる。
クリア命令は、指定したレジスタに00(H)または0000(H)を格納することでクリアするCLR命令(CLR HL)と、Aレジスタ同士を排他的論理和演算(XOR)して00(H)とすることでAレジスタをクリアするXOR命令(XOR A)と、を含む。
LD命令は、アドレスまたはレジスタを指定して、指定アドレス領域または指定レジスタにデータを転送するLD命令と、下位アドレスを指定することで、Qレジスタに設定された上位アドレスと指定した下位アドレス(k)からなる指定アドレス領域にデータを転送するLDQ命令と、特定のレジスタに設定されたアドレス領域に対して、指定したレジスタのデータを転送するとともに、特定のレジスタに設定されたアドレスを2バイト移動させて次のアドレスに更新するLDIN命令と、を含む。
また、LD命令は、図46に示すように、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令(LDQ (k),n、LD I,n等)と、指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令(LDQ (k),A、LD I,A等)と、を含む。第2LD命令は、転送するデータをプログラムに含まないため、第1LD命令よりもプログラム容量が小さいサイズとなっている。
ジャンプ命令は、指定アドレスへジャンプさせるJR命令と、Bレジスタに格納された値を減算し、減算結果が0となった場合に、指定アドレスへジャンプさせるDJNZ命令と、を含む。
[出力ポートの初期化について]
メイン制御部41は、ユーザープログラムを開始し、後述する起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する処理を行う。
図47は、メイン制御部41がメイン処理において、例えば、遊技補助表示器12等を構成する表示器12Lや12R等の表示器を消灯させる際に、複数の出力ポートを初期化する処理のフローチャートである。
この場合に、メイン制御部41は、まず、XOR命令(XOR A)によりAレジスタをクリアして00(H)とする(Sp11)。
次に、1バイトOUT命令(OUT (OUTPORT05),A)(OUTPORT05:出力ポート5のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート5を初期化し、出力ポート5から出力される信号を全てOFF(00(H))とする(Sp12)。
次に、1バイトOUT命令(OUT (OUTPORT04),A)(OUTPORT04:出力ポート4のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート4を初期化し、出力ポート4から出力される信号を全てOFF(00(H))とする(Sp13)。
図48は、メイン制御部41が電断処理において複数の出力ポートを初期化する処理のフローチャートである。
この場合に、メイン制御部41は、まず、XOR命令(XOR A)によりAレジスタをクリアして00(H)とし(Sp21)、1バイトOUT命令(OUT (OUTPORT03),A)(OUTPORT03:出力ポート3のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート3を初期化し、出力ポート3から出力される信号を全てOFF(00(H))とする(Sp22)。
次に、CLR命令(CLR HL)によりHLレジスタをクリアしてHLレジスタの値を0000(H)とし(Sp23)、2バイトOUT命令(OUT (OUTPORT00),HL)(OUTPORT00:出力ポート0のアドレス)によりHLレジスタに設定されたデータに基づいて出力ポート0、1を初期化し、出力ポート0、1から出力される信号を全てOFF(0000(H))とする(Sp24)。
次に、1バイトOUT命令(OUT (OUTPORT02),A)(OUTPORT02:出力ポート2のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート2を初期化し、出力ポート2から出力される信号を全てOFF(00(H))とする(Sp25)。
次に、1バイトOUT命令(OUT (OUTPORT04),A)(OUTPORT04:出力ポート4のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート4を初期化し、出力ポート4から出力される信号を全てOFF(00(H))とする(Sp26)。
次に、2バイトOUT命令(OUT (OUTPORT05),HL)(OUTPORT05:出力ポート5のアドレス)によりHLレジスタに設定されたデータに基づいて出力ポート5、6を初期化し、出力ポート5、6から出力される信号を全てOFF(0000(H))とする(Sp27)。
次に、1バイトOUT命令(OUT (OUTPORT07),A)(OUTPORT07:出力ポート7のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート7を初期化し、出力ポート7から出力される信号を全てOFF(00(H))とする(Sp28)。
このようにメイン制御部41が、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化することができる。
また、メイン処理や電断処理において複数の出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化することで、メイン処理や電断処理において複数の出力ポートを初期化する際の命令数を減らすことができる。
また、メイン処理や電断処理において連続する2つの出力ポートを初期化する場合には、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化することができる。
また、メイン処理や電断処理において複数組の連続する2つの出力ポートを初期化する場合には、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化し、その後、HLレジスタをクリアするCLR命令を含むHLレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した別の出力ポートを含む連続する2つの出力ポートを初期化することで、メイン処理や電断処理において複数組の連続する2つの出力ポートを初期化する際の命令数を減らすことができる。
[起動処理について]
メイン制御部41は、起動後、起動時の基本動作においてAレジスタ、BCレジスタ、DEレジスタ、HLレジスタ、Fレジスタ、Iレジスタを初期化した後、ユーザープログラムに基づく処理を開始する。メイン制御部41が行うユーザープログラムでは、最初に起動処理を行う。以下では、起動処理の実施形態1~4について説明する。
[実施形態1の起動処理について]
図49に示すように、実施形態1の起動処理において、メイン制御部41は、まず、割込禁止を設定する(Sq1)。次に、XOR命令(XOR A)によりAレジスタをクリアしてAレジスタの値を00(H)とし(Sq2)、CLR命令(CLR HL)によりHLレジスタをクリアしてHLレジスタの値を0000(H)とする(Sq3)。
次に、1バイトOUT命令(OUT (OUTPORT00),A)(OUTPORT00:出力ポート0のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート0を初期化し、出力ポート0から出力される信号を全てOFF(00(H))とする(Sq4)。
次に、2バイトOUT命令(OUT (OUTPORT03),HL)(OUTPORT03:出力ポート3のアドレス)によりHLレジスタに設定されたデータに基づいて出力ポート3、4を初期化し、出力ポート3、4から出力される信号を全てOFF(0000(H))とする(Sq5)。
次に、2バイトOUT命令(OUT (OUTPORT01),HL)(OUTPORT01:出力ポート1のアドレス)によりHLレジスタに設定されたデータに基づいて出力ポート1、2を初期化し、出力ポート1、2から出力される信号を全てOFF(0000(H))とする(Sq6)。
次に、2バイトOUT命令(OUT (OUTPORT05),HL)(OUTPORT05:出力ポート5のアドレス)によりHLレジスタに設定されたデータに基づいて出力ポート5、6を初期化し、出力ポート5、6から出力される信号を全てOFF(0000(H))とする(Sq7)。
次に、1バイトOUT命令(OUT (OUTPORT07),A)(OUTPORT07:出力ポート7のアドレス)によりAレジスタに設定されたデータに基づいて出力ポート7を初期化し、出力ポート7から出力される信号を全てOFF(00(H))とする(Sq8)。
次に、LD命令(LD I,A)によりAレジスタに設定されたデータをIレジスタに転送することでIレジスタを初期化し、00(H)を設定する(Sq9)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。Iレジスタは、割込発生時にジャンプするアドレスの上位アドレスが格納されるレジスタであり、起動処理においてのみ初期化されて00(H)が設定され、その後、電断するまでその値が維持されることとなる。
次に、LD命令(LD HL,(D_SET_TBL))により内蔵デバイスレジスタ設定テーブルの先頭アドレス(D_SET_TBL)をポインタとしてHLレジスタにセットする(Sq10)。内蔵デバイスレジスタ設定テーブルは、内蔵デバイスレジスタの種類毎に設定データと格納先の下位アドレスが設定されたテーブルである。
次に、LD命令(LD D,(HIGH_SET))により内蔵デバイスレジスタの上位アドレス(HIGH_SET)をDレジスタにセットし(Sq11)、LD命令(LD B,(E_SET))により内蔵デバイスレジスタの設定回数(E_SET)をBレジスタにセットする(Sq12)。
次に、LDIN命令(LDIN AE,(HL))により、HLレジスタに設定された内蔵デバイスレジスタテーブルのポインタが示すアドレスに格納された内蔵デバイスレジスタの設定データをAレジスタに転送し、下位アドレスをEレジスタに転送するとともに、HLレジスタに格納された値に2加算し、内蔵デバイスレジスタテーブルのポインタが示すアドレスを次のアドレスに移動させる(Sq13)。これにより、Aレジスタに設定データが設定され、DEレジスタに格納先アドレスが設定される。
次に、LD命令(LD (DE),A)によりAレジスタに設定された設定データをDEレジスタが示す格納先アドレスに格納する(Sq14)。
次に、DJNZ命令によりBレジスタの設定回数を1減算し、Bレジスタの設定回数が0か否かを判定し(Sq15)、Bレジスタの設定回数が0でなければ、Sq13にジャンプし、Bレジスタの設定回数が0となるまでSq13~Sq15の処理を繰り返し行うことで、内蔵デバイスレジスタの設定データがそれぞれ設定されることとなる。また、Sq15においてBレジスタの設定回数が0であれば、起動処理の他の処理に進む。
このように実施形態1の起動処理では、メイン制御部41と接続されたセグメント表示器、LED、ソレノイド、モータ等の電気部品に対して信号を出力する出力ポートが初期化されるようになっており、起動時の不安定な状況で電気部品が駆動してしまうことがない。
また、実施形態1の起動処理において出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されるため、本来であれば、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに1バイトOUT命令を行った場合でも、出力ポートは初期化されるはずであり、Aレジスタに格納されているデータを00(H)とするXOR命令を行う必要はないが、この場合でも、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化するようになっている。このため、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポートが初期化されることを担保することができる。
また、実施形態1の起動処理において複数の出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令等を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化することで、ユーザープログラムの開始に伴い複数の出力ポートを初期化する際の命令数を減らすことができる。
また、実施形態1の起動処理において連続する2つの出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、HLレジスタに0000(H)が格納されるため、本来であれば、HLレジスタに格納されているデータを0000(H)とするCLR命令等を実行せずに2バイトOUT命令を行った場合でも、連続する2つの出力ポートは初期化されるはずであり、HLレジスタに格納されているデータを0000(H)とするCLR命令等を行う必要はないが、この場合でも、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化するようになっている。このため、瞬停などでHLレジスタに0000(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポートが初期化されることを担保することができる。
また、実施形態1の起動処理において複数組の連続する2つの出力ポートを初期化する場合には、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化し、その後、HLレジスタをクリアするCLR命令等を含むHLレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した別の出力ポートを含む連続する2つの出力ポートを初期化することで、ユーザープログラムの開始に伴い複数組の連続する2つの出力ポートを初期化する際の命令数を減らすことができる。
尚、実施形態1の起動処理では、出力ポート0~7の全ての出力ポートが初期化される構成であるが、起動処理において出力ポート0~7のうち一部の出力ポートが初期化される構成としても良い。
また、実施形態1の起動処理では、Iレジスタを初期化して00(H)を設定することとなるが、この際、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いてIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、実施形態1の起動処理において、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりIレジスタを初期化して00(H)を設定する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されるため、本来であれば、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずにIレジスタを指定して第2LD命令を行った場合でも、Iレジスタは初期化されるはずであり、Aレジスタに格納されているデータを00(H)とするXOR命令等を行う必要はないが、この場合でも、XOR命令によりAレジスタをクリアして00(H)とした後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化するようになっている。このため、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴いIレジスタが初期化されることを担保することができる。
また、実施形態1の起動処理では、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
また、実施形態1の起動処理においてIレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。また、XOR命令によりAレジスタをクリアして00(H)とした後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタが初期化されることが担保されるため、Iレジスタが初期化されないまま、電断まで維持されてしまうことも防止できる。
尚、実施形態1の起動処理では、XOR命令によりAレジスタをクリアして00(H)とした後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化する構成であるが、LD命令によりROM41bにIレジスタの初期値として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とした後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化する構成としても良く、このような構成とすることで、Iレジスタに設定される初期値をROM41bに記憶されたデータによって管理することができる。
また、実施形態1の起動処理では、起動処理においてIレジスタを初期化して00(H)とする構成であるが、Iレジスタ以外に特定のアドレスに記憶されたデータや特定のレジスタに記憶されたデータを初期化して00(H)とする構成としても良く、このような構成においても、プログラム容量の小さい第2LD命令を用いてデータを初期化することで、プログラム容量を少なくできるとともに、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりデータを初期化して00(H)を設定する場合には、XOR命令等によりAレジスタを00(H)とした後、特定のアドレスまたは特定のレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて特定のアドレスまたは特定のレジスタに記憶されたデータを初期化することで、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴いこれらのデータが初期化されることを担保することができる。
[実施形態2の起動処理について]
図50に示すように、実施形態2の起動処理において、メイン制御部41は、まず、割込禁止を設定する(Sq1)。次に、1バイトOUT命令(OUT (OUTPORT00),A)(OUTPORT00:出力ポート0のアドレス)によりAレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された00(H))に基づいて出力ポート0を初期化し、出力ポート0から出力される信号を全てOFF(00(H))とする(Sq4)。
次に、2バイトOUT命令(OUT (OUTPORT03),HL)(OUTPORT03:出力ポート3のアドレス)によりHLレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された0000(H))に基づいて出力ポート3、4を初期化し、出力ポート3、4から出力される信号を全てOFF(0000(H))とする(Sq5)。
次に、2バイトOUT命令(OUT (OUTPORT01),HL)(OUTPORT01:出力ポート1のアドレス)によりHLレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された0000(H))に基づいて出力ポート1、2を初期化し、出力ポート1、2から出力される信号を全てOFF(0000(H))とする(Sq6)。
次に、2バイトOUT命令(OUT (OUTPORT05),HL)(OUTPORT05:出力ポート5のアドレス)によりHLレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された0000(H))に基づいて出力ポート5、6を初期化し、出力ポート5、6から出力される信号を全てOFF(0000(H))とする(Sq7)。
次に、1バイトOUT命令(OUT (OUTPORT07),A)(OUTPORT07:出力ポート7のアドレス)によりAレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された00(H))に基づいて出力ポート7を初期化し、出力ポート7から出力される信号を全てOFF(00(H))とする(Sq8)。
次に、LD命令(LD I,A)によりAレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された00(H))をIレジスタに転送することでIレジスタを初期化し、00(H)を設定する(Sq9)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。Iレジスタは、割込発生時にジャンプするアドレスの上位アドレスが格納されるレジスタであり、起動処理においてのみ初期化されて00(H)が設定され、その後、電断するまでその値が維持されることとなる。
以後の処理は、実施形態1の起動処理と同じであるため省略する。
このように実施形態2の起動処理において出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されることから、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートを初期化する際の命令数を減らすことができる。
また、実施形態2の起動処理において複数の出力ポートを初期化する場合には、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令等を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化することで、ユーザープログラムの開始に伴い複数の出力ポートを初期化する際の命令数を減らすことができる。
また、実施形態2の起動処理において連続する2つの出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、HLレジスタに0000(H)が格納されることから、ユーザープログラムの開始後、HLレジスタに格納されているデータを変更する命令を実行する前に、HLレジスタに格納されているデータをクリアするCLR命令等を実行せずに、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートを初期化する際の命令数を減らすことができる。
また、実施形態2の起動処理において複数組の連続する2つの出力ポートを初期化する場合には、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化し、その後、HLレジスタをクリアするCLR命令等を含むHLレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した別の出力ポートを含む連続する2つの出力ポートを初期化することで、ユーザープログラムの開始に伴い複数組の連続する2つの出力ポートを初期化する際の命令数を減らすことができる。
尚、実施形態2の起動処理では、出力ポート0~7の全ての出力ポートが初期化される構成であるが、起動処理において出力ポート0~7のうち一部の出力ポートが初期化される構成としても良い。
また、実施形態2の起動処理では、Iレジスタを初期化して00(H)を設定することとなるが、この際、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いてIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、実施形態2の起動処理において、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりIレジスタを初期化して00(H)を設定する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されることから、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化するようになっている。このため、ユーザープログラムの開始に伴いIレジスタを初期化する際の命令数を減らすことができる。
また、実施形態2の起動処理では、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
また、実施形態2の起動処理においてIレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。また、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタを初期化する際の命令数が減り、さらにプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。
尚、実施形態2の起動処理では、起動処理においてIレジスタを初期化して00(H)とする構成であるが、Iレジスタ以外に特定のアドレスに記憶されたデータや特定のレジスタに記憶されたデータを初期化して00(H)とする構成としても良く、このような構成においても、プログラム容量の小さい第2LD命令を用いてデータを初期化することで、プログラム容量を少なくできるとともに、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりデータを初期化して00(H)を設定する場合には、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、特定のアドレスまたは特定のレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて特定のアドレスまたは特定のレジスタに記憶されたデータを初期化することで、ユーザープログラムの開始に伴いこれらのデータを初期化する際の命令数を減らすことができる。
[実施形態3の起動処理について]
図51に示すように、実施形態3の起動処理において、メイン制御部41は、まず、割込禁止を設定する(Sr1)。次に、LD命令(LD SP,STKINI)によりスタックポインタの初期値(STKINI)をSPレジスタに転送することでスタックポインタに初期値をセットする(Sr2)。
次に、LD命令(LD A,OUTINI)により、ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とする(Sr3)。
次に、LD命令(LD Q,0FEH)により内蔵デバイスレジスタの上位アドレス(FE(H))をQレジスタに転送してQレジスタに内蔵デバイスレジスタの上位アドレスをセットする(Sr4)。
次に、LDQ命令(LDQ (POP8),A)により、内蔵デバイスレジスタのうち出力ポート8レジスタの下位アドレス(POP8)を指定し、Aレジスタに設定されたデータ(ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H))を、Qレジスタに設定された上位アドレス及び指定した下位アドレスからなるアドレス領域に転送することで出力ポート8レジスタを初期化し、00(H)を設定する(Sr5)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。出力ポート8レジスタは、他の基板(例えば、演出制御基板90等)に対して出力される接続確認信号のON/OFFが格納されるレジスタであり、起動処理において初期化されることで接続確認信号のONを示す00(H)が設定され、その後の処理の状況に応じてONを示す00(H)またはOFFを示す01(H)が設定されることとなる。
次に、LD命令(LD A,INT)により、ROM41bに割込ベクタの上位アドレス(INT)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とする(Sr6)。
次に、LD命令(LD I,A)によりAレジスタに設定されたデータ(ROM41bに割込ベクタの上位アドレス(INT)として定義された00(H))をIレジスタに転送することでIレジスタを初期化し、00(H)を設定する(Sr7)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。Iレジスタは、割込発生時にジャンプするアドレスの上位アドレスが格納されるレジスタであり、起動処理においてのみ初期化されて00(H)が設定され、その後、電断するまでその値が維持されることとなる。
次に、LD命令(LD HL,(D_SET_TBL))により内蔵デバイスレジスタ設定テーブルの先頭アドレス(D_SET_TBL)をポインタとしてHLレジスタにセットする(Sr8)。内蔵デバイスレジスタ設定テーブルは、内蔵デバイスレジスタの種類毎に設定データと格納先の下位アドレスが設定されたテーブルである。
次に、LD命令(LD B,(E_SET))により内蔵デバイスレジスタの設定回数(E_SET)をBレジスタにセットする(Sr9)。
次に、LDIN命令(LDIN AE,(HL))により、HLレジスタに設定された内蔵デバイスレジスタテーブルのポインタが示すアドレスに格納された内蔵デバイスレジスタの設定データをAレジスタに転送し、下位アドレスをEレジスタに転送するとともに、HLレジスタに格納された値に2加算し、内蔵デバイスレジスタテーブルのポインタが示すアドレスを次のアドレスに移動させる(Sr10)。これにより、Aレジスタに設定データが設定され、Eレジスタに格納先アドレスの下位アドレスが設定される。
次に、LDQ命令(LDQ (E),A)によりAレジスタに設定された設定データをQレジスタに格納された上位アドレスとEレジスタに指定した下位アドレスとからなる格納先アドレスに格納する(Sr11)。
次に、DJNZ命令によりBレジスタの設定回数を1減算し、Bレジスタの設定回数が0か否かを判定し(Sr12)、Bレジスタの設定回数が0でなければ、Sr10にジャンプし、Bレジスタの設定回数が0となるまでSr10~Sr12の処理を繰り返し行うことで、内蔵デバイスレジスタの設定データがそれぞれ設定されることとなる。また、Sr12においてBレジスタの設定回数が0であれば、起動処理の他の処理に進む。
このように実施形態3の起動処理では、出力ポート8レジスタやIレジスタを初期化して00(H)を設定することとなるが、この際、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いて出力ポートレジスタやIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、実施形態3の起動処理において、Aレジスタに設定された1バイトのデータを転送する第2LD命令により出力ポート8レジスタやIレジスタを初期化して00(H)を設定する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されるため、本来であれば、Aレジスタに00(H)を設定するLD命令等を実行せずに出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行った場合でも、出力ポート8レジスタやIレジスタは初期化されるはずであり、Aレジスタに00(H)を設定するLD命令等を行う必要はないが、この場合でも、LD命令によりAレジスタに00(H)を設定した後、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化するようになっている。このため、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポート8レジスタやIレジスタが初期化されることを担保することができる。
また、実施形態3の起動処理では、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
また、実施形態3の起動処理においてIレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。また、LD命令によりAレジスタに00(H)を設定した後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタが初期化されることが担保されるため、Iレジスタが初期化されないまま、電断まで維持されてしまうことも防止できる。
また、実施形態3の起動処理では、LD命令により、ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H)のデータ、またはROM41bに割込ベクタの上位アドレス(INT)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とした後、出力ポート8レジスタのアドレスまたはIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化するようになっており、出力ポート8レジスタやIレジスタに設定される初期値をROM41bに定義されたデータによって管理することが可能となり、必要に応じて出力ポート8レジスタやIレジスタの初期値を容易に変更することができる。
また、実施形態3の起動処理では、出力ポート8レジスタを初期化する場合には、LD命令により、ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とした後、出力ポート8レジスタのアドレスを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタを初期化し、Iレジスタを初期化する場合には、LD命令により、ROM41bに割込ベクタの上位アドレス(INT)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とした後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化するようになっており、出力ポート8レジスタに設定される初期値と、Iレジスタに設定される初期値と、をROM41bに定義された別個のデータによって管理することが可能となり、必要に応じて出力ポート8レジスタの初期値、Iレジスタの初期値をそれぞれ別個に変更することができる。
尚、実施形態3の起動処理では、起動処理において出力ポート8レジスタ及びIレジスタを初期化して00(H)とする構成であるが、起動処理において出力ポート8レジスタまたはIレジスタの一方を初期化する構成としても良い。また、出力ポート8レジスタやIレジスタ以外に特定のアドレスに記憶されたデータや特定のレジスタに記憶されたデータを初期化して00(H)とする構成としても良く、このような構成においても、プログラム容量の小さい第2LD命令を用いてデータを初期化することで、プログラム容量を少なくできるとともに、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりデータを初期化して00(H)を設定する場合には、LD命令等によりAレジスタに00(H)を設定した後、特定のアドレスまたは特定のレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて特定のアドレスまたは特定のレジスタに記憶されたデータを初期化することで、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴いこれらのデータが初期化されることを担保することができる。
また、実施形態3の起動処理では、LD命令によりAレジスタに00(H)を設定した後、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化する構成であるが、XOR命令によりAレジスタに格納されているデータを00(H)とした後、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化する構成でも良く、このような構成とすることでプログラム容量を減らすことができる。
また、実施形態3の起動処理においては、出力ポート0~7の初期化を行わない構成であるが、実施形態3の起動処理においてSr2の処理の前、またはSr7の処理の後に、実施形態1の起動処理におけるSq2~Sq8の処理、すなわちAレジスタを00(H)とする命令を実行した後、出力ポートを指定して1バイトOUT命令を行う処理、及びHLレジスタを0000(H)とする命令を実行した後、2つの出力ポートを指定して2バイトOUT命令を行う処理を行い、出力ポート0~7を初期化する構成としても良い。また、実施形態3の起動処理においてSr7の処理の後に、出力ポート0~7の初期化を行う場合には、既にAレジスタに00(H)が格納されていることから、実施形態1の起動処理におけるSq3~Sq8の処理、すなわちAレジスタを00(H)とする命令を実行せずに、出力ポートを指定して1バイトOUT命令を行う処理、及びHLレジスタを0000(H)とする命令を実行した後、2つの出力ポートを指定して2バイトOUT命令を行う処理を行い、出力ポート0~7を初期化する構成としても良い。
また、実施形態3の起動処理においてSr2の処理の前に、実施形態2の起動処理におけるSq4~Sq8の処理、すなわちAレジスタを00(H)とする命令を実行せずに、出力ポートを指定して1バイトOUT命令を行う処理、及びHLレジスタを0000(H)とする命令を実行せずに、2つの出力ポートを指定して2バイトOUT命令を行う処理を行い、出力ポート0~7を初期化する構成としても良い。
また、実施形態3の起動処理において出力ポートの初期化を行う場合には、出力ポート0~7のうち一部の出力ポートが初期化される構成としても良い。
[実施形態4の起動処理について]
図52に示すように、実施形態4の起動処理において、メイン制御部41は、まず、割込禁止を設定する(Sr1)。次に、LD命令(LD SP,STKINI)によりスタックポインタの初期値(STKINI)をSPレジスタに転送することでスタックポインタに初期値をセットする(Sr2)。
次に、LD命令(LD Q,0FEH)により内蔵デバイスレジスタの上位アドレス(FE(H))をQレジスタに転送してQレジスタに内蔵デバイスレジスタの上位アドレスをセットする(Sr4)。
次に、LDQ命令(LDQ (POP8),A)により、内蔵デバイスレジスタのうち出力ポート8レジスタの下位アドレス(POP8)を指定し、Aレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された00(H))を、Qレジスタに設定された上位アドレス及び指定した下位アドレスからなるアドレス領域に転送することで出力ポート8レジスタを初期化し、00(H)を設定する(Sr5)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。出力ポート8レジスタは、他の基板(例えば、演出制御基板90等)に対して出力される接続確認信号のON/OFFが格納されるレジスタであり、起動処理において初期化されることで接続確認信号のONを示す00(H)が設定され、その後の処理の状況に応じてONを示す00(H)またはOFFを示す01(H)が設定されることとなる。
次に、LD命令(LD I,A)によりAレジスタに設定されたデータ(ユーザープログラムが開始される前に格納された00(H))をIレジスタに転送することでIレジスタを初期化し、00(H)を設定する(Sr7)。この際、指定アドレスまたは指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令を用いる。Iレジスタは、割込発生時にジャンプするアドレスの上位アドレスが格納されるレジスタであり、起動処理においてのみ初期化されて00(H)が設定され、その後、電断するまでその値が維持されることとなる。
以後の処理は、実施形態3の起動処理におけるSr8~Sr12の処理と同じであるため省略する。
このように実施形態4の起動処理では、出力ポート8レジスタやIレジスタを初期化して00(H)を設定することとなるが、この際、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いて出力ポートレジスタやIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、実施形態4の起動処理において、Aレジスタに設定された1バイトのデータを転送する第2LD命令により出力ポート8レジスタやIレジスタを初期化して00(H)を設定する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されることから、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートレジスタやIレジスタを初期化する際の命令数を減らすことができる。
また、実施形態4の起動処理では、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
また、実施形態4の起動処理においてIレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。また、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタを初期化する際の命令数が減り、さらにプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタの初期化処理を好適に行うことができる。
尚、実施形態4の起動処理では、起動処理において出力ポート8レジスタ及びIレジスタを初期化して00(H)とする構成であるが、起動処理において出力ポート8レジスタまたはIレジスタの一方を初期化する構成としても良い。また、出力ポート8レジスタやIレジスタ以外に特定のアドレスに記憶されたデータや特定のレジスタに記憶されたデータを初期化して00(H)とする構成としても良く、このような構成においても、プログラム容量の小さい第2LD命令を用いてデータを初期化することで、プログラム容量を少なくできるとともに、Aレジスタに設定された1バイトのデータを転送する第2LD命令によりデータを初期化して00(H)を設定する場合には、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、特定のアドレスまたは特定のレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて特定のアドレスまたは特定のレジスタに記憶されたデータを初期化することで、ユーザープログラムの開始に伴いこれらのデータを初期化する際の命令数を減らすことができる。
また、実施形態4の起動処理においては、出力ポート0~7の初期化を行わない構成であるが、実施形態4の起動処理においてSr7の処理の後に、実施形態1の起動処理におけるSq2~Sq8の処理、すなわちAレジスタを00(H)とする命令を実行した後、出力ポートを指定して1バイトOUT命令を行う処理、及びHLレジスタを0000(H)とする命令を実行した後、2つの出力ポートを指定して2バイトOUT命令を行う処理を行い、出力ポート0~7を初期化する構成としても良い。
また、実施形態4の起動処理においてSr2の処理の前、またはSr7の処理の後に、実施形態2の起動処理におけるSq4~Sq8の処理、すなわちAレジスタを00(H)とする命令を実行せずに、出力ポートを指定して1バイトOUT命令を行う処理、及びHLレジスタを0000(H)とする命令を実行せずに、2つの出力ポートを指定して2バイトOUT命令を行う処理を行い、出力ポート0~7を初期化する構成としても良く、このような構成においては、Aレジスタを00(H)とする命令を実行せずに、出力ポートを指定して1バイトOUT命令を行う処理と、Aレジスタに00(H)を設定するLD命令等を実行せずに、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行う処理と、の間にAレジスタに格納されているデータを変更する命令を実行しないので、ユーザープログラムの開始に伴い出力ポート0~7の初期化及び出力ポート8レジスタ、Iレジスタの初期化を行う際の命令数を減らすことができる。
また、実施形態4の起動処理において出力ポートの初期化を行う場合には、出力ポート0~7のうち一部の出力ポートが初期化される構成としても良い。
[作用効果1]
本実施例では、メイン制御部41は、3バイトデータ割り算処理において、被除数を100倍した後、除数を減算した結果が0を下回るまで被除数の100倍値から除数を繰り返し減算する処理を行うとともに、除数が減算される毎にAレジスタの値を1加算することで、除数を減算した結果が0を下回るまで被除数の100倍値から除数が減算された回数を計数し、除数に対する被除数の100分率として算出する。また、100を超える特定値となったときに特定フラグが設定されるAレジスタに、被除数の100倍値から除数が減算された回数を格納し、被除数の100倍値から除数を減算した回数が100を超える特定値に到達して特定フラグが設定された場合には、異常と判断して被除数の100倍値から除数を減算する処理を終了させる構成である。
このような構成とすることで、除数に対する被除数の百分率を算出する際に、被除数の100倍値を算出し、除数を下回るまで被除数の100倍値から除数を減算し、その減算回数を除数に対する被除数の百分率として算出することができる。このような構成において、例えば、除数が0の場合など、減算回数が百分率として採りうる100を超えても被除数の100倍値から除数を減算した結果が0を下回らないことが起こり得るが、この場合には、減算回数が100を超える特定値となり、特定フラグが設定されることで、異常と判断して被除数の100倍値から除数を減算する処理を終了させる処理が行われることで、被除数の100倍値から除数を減算した結果が0を下回らない場合でも除数の減算を終了させることができる。
また、格納された数値が特定値となったときに特定フラグが設定されるAレジスタに減算回数が格納されることで、特定フラグが設定されているか否かを判定するのみで減算回数が特定値となったことを判断することができるので、被除数の100倍値から除数を減算する毎に特定値を初期値とする数値を減算し、当該数値が0となることで減算回数が特定値となったことを判断するものや、減算回数と特定値を比較し、比較結果が一致することで減算回数が特定値となったことを判断するものに比較してプログラム容量を減らすことができる。
本実施例では、3バイトデータ割り算処理において、被除数を100倍する処理を行う前に、DEレジスタに格納されている除数の格納アドレスをスタックに退避させる構成である。このような構成とすることで、除数を特定するアドレスを保護しつつ、除数を特定するアドレスが格納されたDEレジスタを用いて被除数の100倍値を算出することができる。
本実施例では、メイン制御部41は、最大2バイトの演算が可能であるが、被除数及び除数は3バイトとなり得る値であるため、被除数を100倍する処理及び被除数の100倍値から除数を減算する処理においては、1~2バイト目の演算と、3バイト目の演算と、を別に行う構成である。このような構成とすることで、除数や被除数の100倍値が演算可能なサイズである2バイトを超えた場合でも除数に対する被除数の百分率を算出することができる。
本実施例では、3バイトデータ割り算処理において被除数の100倍値から除数を減算した回数が100を超える特定値に到達して特定フラグが設定された場合に行われる異常処理が、被除数の100倍値から除数を減算した後、特定フラグが設定された場合に、指定したプログラムへジャンプさせるジャンプ命令により、被除数の100倍値から除数を減算する処理を終了させる構成である。このような構成とすることで、一のジャンプ命令により特定フラグが設定されているか否かの判定及び異常処理に伴う指定したプログラムへの移動が可能となる。
本実施例における3バイトデータ割り算処理の変形例では、被除数を200倍した後、除数を減算した結果が0を下回るまで被除数の200倍値から除数を繰り返し減算する処理を行うとともに、除数が減算される毎にAレジスタの値を1加算することで、除数を減算した結果が0を下回るまで被除数の200倍値から除数が減算された回数を計数し、計数した回数を1/2倍した値を除数に対する被除数の100分率として算出する。また、200を超える特定値となったときに特定フラグが設定されるAレジスタに、被除数の200倍値から除数が減算された回数を格納し、被除数の200倍値から除数を減算した回数が200を超える特定値に到達して特定フラグが設定された場合には、異常と判断して被除数の200倍値から除数を減算する処理を終了させる構成である。
このような構成とすることで、除数に対する被除数の百分率を算出する際に、被除数の200倍値を算出し、除数を下回るまで被除数の200倍値から除数を減算し、その減算回数を1/2倍した値を除数に対する被除数の百分率として算出することができる。このような構成において、例えば、除数が0の場合など、減算回数を1/2倍した値が百分率として採りうる100を超えても被除数の200倍値から除数を減算した結果が0を下回らないことが起こり得るが、この場合には、減算回数が200を超える特定値となり特定フラグが設定されることで、異常と判断して被除数の200倍値から除数を減算する処理を終了させる処理が行われることで、被除数の200倍値から除数を減算した結果が0を下回らない場合でも除数の減算を終了させることができる。
また、格納された数値が特定値となったときに特定フラグが設定されるAレジスタに減算回数が格納されるので、特定フラグが設定されているか否かを判定するのみで減算回数が特定値となったことを判断することができるので、被除数の200倍値から除数を減算する毎に特定値を初期値とする数値を減算し、当該数値が0となることで減算回数が特定値となったことを判断するものや、減算回数と特定値を比較し、比較結果が一致することで減算回数が特定値となったことを判断するものに比較してプログラム容量を減らすことができる。
本実施例における3バイトデータ割り算処理の変形例では、被除数の200倍値を算出する前に、DEレジスタに格納されている除数の格納アドレスをスタックに退避させる構成である。このような構成とすることで、除数を特定するアドレスを保護しつつ、除数を特定するアドレスが格納されたDEレジスタを用いて被除数の200倍値を算出することができる。
本実施例における3バイトデータ割り算処理の変形例では、メイン制御部41は、最大2バイトの演算が可能であるが、被除数及び除数は3バイトとなり得る値であるため、被除数を200倍する処理及び被除数の200倍値から除数を減算する処理においては、1~2バイト目の演算と、3バイト目の演算と、を別に行う構成である。このような構成とすることで、除数や被除数の200倍値が演算可能なサイズである2バイトを超えた場合でも除数に対する被除数の百分率を算出することができる。
本実施例における3バイトデータ割り算処理の変形例では、3バイトデータ割り算処理において被除数の200倍値から除数を減算した回数が200を超える特定値に到達して特定フラグが設定された場合に行われる異常処理が、被除数の200倍値から除数を減算し、Aレジスタの値に1加算することで、特定フラグが設定された場合に、指定したプログラムへジャンプさせるジャンプ命令により、被除数の200倍値から除数を減算する処理を終了させる構成である。このような構成とすることで、一のジャンプ命令により特定フラグが設定されているか否かの判定及び異常処理に伴う指定したプログラムへの移動が可能となる。
本実施例では、特定値は、メイン制御部41が備えるAレジスタがオーバーフローする256である。このような構成とすることで、Aレジスタに格納された減算回数がオーバーフローすることで特定フラグとしてのゼロフラグまたはキャリーフラグがONとなり、減算回数が特定値に到達したことを特定することができる。
本実施例では、メイン制御部41が備えるAレジスタに格納されている減算回数から算出される除数に対する被除数の百分率が100以上の場合に99に補正する構成である。このような構成とすることで、Aレジスタに格納されている減算回数から算出される除数に対する被除数の百分率が100以上の場合に、2桁の数字で表示される場合であっても表示可能な最大値である99で表示されるため、除数に対する被除数の百分率が99%以上の大きい値であることを認識させることができる。
本実施例では、メイン制御部41は、段階的に処理を行うメイン処理と、定期的に実行中の処理に割り込むタイマ割込処理を実行可能であり、メイン処理において除数及び被除数を更新するとともに、メイン処理において3バイトデータ割り算処理を行い、除数に対する被除数の100分率を算出する。そして、除数及び被除数が更新される期間及び除数に対する被除数の百分率が算出される期間においては割込禁止に設定され、タイマ割込処理の実行が禁止される構成である。このような構成とすることで、除数及び被除数が更新される期間及び除数に対する被除数の百分率が算出される期間においてタイマ割込処理が実行されることで、除数、被除数、除数に対する被除数の百分率を算出する際の数値が破壊され、意図しない数値となってしまうことを防止できる。
[作用効果2]
本実施例では、メイン制御部41は、役物払出比率、連続役物払出比率、指示込役物払出比率の算出に用いる加算対象データを更新する3バイトデータ加算・格納処理を実行可能である。そして、3バイトデータ加算・格納処理では、加算対象データを更新した後、オーバーフローが発生し、加算対象データの更新により異常値となる特定条件が成立した場合に、加算対象データを更新前の値に戻すとともに、以後の加算対象データの更新を制限するための制限情報としてキャリーフラグをONとする構成である。このような構成とすることで、加算対象データを更新した後、オーバーフローが発生し、加算対象データの更新により異常値となる特定条件が成立した場合には、制限情報としてキャリーフラグをONとすることで、以後の加算対象データの更新が制限されるとともに、この場合には、加算対象データが更新前の値に戻されるため、意図しない加算対象データのままで所定比率が算出されてしまうことを防止できる。
尚、本実施例では、加算対象データを加算更新した後、オーバーフローが発生することで、加算対象データの更新により異常値となる特定条件が成立する構成であるが、対象データを減算更新した後、オーバーフローが発生することで、対象データの更新により異常値となる特定条件が成立する構成など、対象データの更新により異常値となる特定条件が成立した場合に、対象データを更新前の値に戻すとともに、以後の対象データの更新を制限するための制限情報を設定する構成であれば良い。また、制限情報としてキャリーフラグを用いる構成であるが、ゼロフラグ等、他のFレジスタの値、RAM41cに設定される制限フラグを用いる構成でも良い。
本実施例では、加算対象データは、3バイトの値になり得る値であり、メイン制御部41は、一度に最大2バイトの演算が可能であり、3バイトデータ加算・格納処理において加算対象データを更新する場合に、まず加算対象データの1~2バイト目の加算を行った後、加算対象データの3バイト目の加算を行う構成である。このような構成とすることで、一度に演算可能な2バイトを加算対象データが超える場合でも加算対象データを更新することができる。
本実施例では、メイン制御部41は、演算結果がオーバーフローした場合に特定フラグとしてのキャリーフラグをONとし、3バイトデータ加算・格納処理において加算対象データの1~2バイト目の加算を行った結果、オーバーフローが発生した場合に、キャリーフラグをOFFにした後、加算対象データの3バイト目の加算を行う構成である。このような構成とすることで、加算対象データの1~2バイト目の加算を行った結果、オーバーフローが発生した場合にキャリーフラグをOFFにした後、加算対象データの3バイト目の加算が行われるため、加算対象データの3バイト目の加算の結果がオーバーフローしたか否かをキャリーフラグによって正確に判定することができる。
本実施例では、メイン制御部41は、3バイトデータ加算・格納処理において加算対象データの1~2バイト目の加算を行った後、1~2バイト目の加算に用いたBCレジスタの値をクリアせずに保持したまま、加算対象データの3バイト目の加算を行い、3バイト目の加算結果がオーバーフローした場合には、BCレジスタの値を用いて加算対象データの1~2バイト目の値を加算前の値に戻す構成である。このような構成とすることで、加算対象データを更新前の値に戻すにあたって、新たに数値を読み出す必要がないため、プログラムを簡素化することができる。
本実施例では、メイン制御部41は、段階的に処理を行うメイン処理と、定期的に実行中の処理に割り込むタイマ割込処理を実行可能であり、メイン処理において3バイトデータ加算・格納処理を行うとともに、3バイトデータ加算・格納処理により加算対象データが更新される期間においては割込禁止に設定され、タイマ割込処理の実行が禁止される構成である。このような構成とすることで、加算対象データが更新される期間において割込処理が実行されることで、加算対象データが破壊され、意図しない数値を用いて所定比率が算出されてしまうことを防止できる。
[作用効果3]
本実施例では、メイン制御部41は、特定結果であるか否かを判定し、特定結果であると判定された場合にも、特定結果でないと判定された場合にも、Cレジスタに設定された値を用いることで特定データを更新可能な特定プログラムを含む3バイトデータ1バイト加算処理を実行可能であり、3バイトデータ1バイト加算処理では、特定結果であると判定された場合には、特定データが更新される値がCレジスタに設定された状態で特定プログラムを実行し、特定結果でないと判定された場合には、特定データが更新されない値がCレジスタに設定された状態で特定プログラムを実行する構成である。このような構成とすることで、特定結果であると判定された場合に特定データを更新し、特定結果でないと判定された場合に特定データを更新しないが、特定結果であると判定された場合と、特定結果でないと判定された場合のいずれでも、Cレジスタに設定された値を用いて特定データを更新可能な特定プログラムを実行するとともに、特定結果であると判定された場合には、特定データが更新される値がCレジスタに設定された状態で特定プログラムを実行し、特定結果でないと判定された場合、特定データが更新されない値がCレジスタに設定された状態で特定プログラムを実行するので、特定結果でないと判定された場合でも、特定結果であると判定されるまで待つことなく特定アドレスに記憶された特定プログラムが行われることを確認することができる。
本実施例では、特定データが更新される値がCレジスタに設定した後、特定結果であるか否かを判定し、特定結果でないと判定された場合に、Cレジスタの値を特定データが更新されない値に変更する構成である。このような構成とすることで、特定結果であるか否かに関わらず、特定データが更新される値をCレジスタに設定するプログラムが実行されるので、特定結果でないと判定された場合でも、特定結果であると判定されるまで待つことなく特定データが更新される値をCレジスタに設定するプログラムが行われることを確認することができる。
尚、本実施例では、特定データが更新される値がCレジスタに設定した後、特定結果であるか否かを判定し、特定結果でないと判定された場合に、Cレジスタの値を特定データが更新されない値に変更する構成であるが、特定結果であるか否かを判定し、特定結果であると判定された場合に、特定データが更新される値をCレジスタに設定し、特定結果でないと判定された場合に、特定データが更新されない値をCレジスタに設定する構成としても良く、このような構成においても、特定結果であると判定された場合には、特定データが更新される値がCレジスタに設定された状態で特定プログラムを実行し、特定結果でないと判定された場合、特定データが更新されない値がCレジスタに設定された状態で特定プログラムを実行するので、特定結果でないと判定された場合でも、特定結果であると判定されるまで待つことなく特定アドレスに記憶された特定プログラムが行われることを確認することができる。
本実施例では、特定プログラムは、加算対象データの3バイト目の値を別の数値に更新するプログラムであり、Cレジスタには、加算対象データの3バイト目の更新に用いられる加算値が設定される構成である。このような構成とすることで、特定結果であると判定された場合に加算対象データの3バイト目の値を更新することができる。
本実施例では、特定プログラムは、加算対象データの3バイト目の値に加算値を加算することで別の値に更新するプログラムであり、特定結果であると判定された場合にはCレジスタに加算値が設定され、特定結果でないと判定された場合にはCレジスタに0が設定され、特定プログラムにおいてCレジスタに設定された値を加算対象データの3バイト目の値に加算する構成である。このような構成とすることで、特定結果であると判定された場合にも、特定結果でないと判定された場合にも、共通の特定プログラムを行うことで、特定結果であると判定された場合には加算対象データの3バイト目の値に加算値を加算することができ、特定結果ないと判定された場合には加算対象データの3バイト目の値を更新しないようにできる。
尚、本実施例では、特定プログラムは、加算対象データの3バイト目の値に加算値を加算することで別の値に更新するプログラムであり、特定結果であると判定された場合にはCレジスタに加算値が設定され、特定結果でないと判定された場合にはCレジスタに0が設定され、特定プログラムにおいてCレジスタに設定された値を加算対象データの3バイト目の値に加算する構成であるが、特定プログラムが、対象データから減算値を減算することで別の値に更新するプログラムであり、特定結果であると判定された場合にはCレジスタに減算値が設定され、特定結果でないと判定された場合にはCレジスタに0が設定され、特定プログラムにおいてCレジスタに設定された値を対象データから減算する構成としても良い。
また、特定プログラムが、対象領域に特定の制御状態を示す特定値を設定するプログラムであり、特定結果であると判定された場合にはCレジスタに特定値が設定され、特定結果でないと判定された場合にはCレジスタに現在の制御状態を示す所定値(現在、対象領域に設定されている値)が設定され、特定処理においてCレジスタに設定された値を対象領域に設定する構成としても良い。
また、本実施例では、特定結果が、1~2バイト目の演算結果がオーバーフローすることであるが、演算結果が特定値となること、ゲームの結果が特定の結果となること、抽選結果が特定の結果となること等でも良い。
本実施例では、メイン制御部41は、段階的に処理を行うメイン処理と、定期的に実行中の処理に割り込むタイマ割込処理を実行可能であり、メイン処理において3バイトデータ1バイト加算処理を行うとともに、3バイトデータ1バイト加算処理により特定プログラムが実行される期間においては割込禁止に設定され、タイマ割込処理の実行が禁止される構成である。このような構成とすることで、特定データを更新するプログラムが行われる期間において割込処理が実行されることで、特定データが破壊され、意図しない数値となってしまうことを防止できる。
本実施例では、加算対象データの1~2バイト目の加算を行った後、オーバーフローが発生した場合には、キャリーフラグをONとし、キャリーフラグによりオーバーフローの発生が判定された場合には、キャリーフラグをOFFにした後、加算対象データの3バイト目の加算が行われる構成である。このような構成とすることで、オーバーフローが発生した場合にONとなるキャリーフラグをクリアした後、特定プログラムとしての加算対象データの3バイト目の加算が実行されるので、オーバーフローが発生する毎にキャリーフラグによって正確に判定することができる。
[作用効果4]
本実施例では、メイン制御部41は、ナビ報知の対象となる役が当選し、ナビ報知を行う場合には、報知する操作態様に応じて「1」~「13」のナビ番号をRAM41cのナビ番号設定領域に設定し、ナビ報知の対象となる役が当選し、ナビ報知を行わない場合、ナビ報知の対象とならない役が当選した場合には、「0」をRAM41cのナビ番号設定領域に設定する。そして、メイン制御部41は、指示込役物比率更新処理において、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し、ナビ番号が0である場合に、ナビ報知が行われるゲームでないと判定し、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新せず、ナビ番号が1~13である場合に、ナビ報知が行われるゲームであると判定し、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を加算して更新する構成である。
このような構成とすることで、ナビ報知が行われたゲームにおけるメダルの払出枚数を累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数に加算して更新する構成において、RAM41cのナビ番号設定領域に設定された数値が0であるか、1~13であるか、を判定するのみで、ナビ報知が行われたゲームか否か、すなわち当該ゲームにおいて付与されるメダルを累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数に加算して更新するか否かを判断することができる。
本実施例では、メイン制御部41は、ナビ番号として1~13が設定されるものであるが、14以上の値が設定されている場合でも、指示込役物比率更新処理において、ナビ報知が行われるゲームであると判定し、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新するとともに、ナビ報知が行われたか否かに関わらず付与されたメダルの払出枚数に対するナビ報知が行われたゲームにおけるメダルの払出枚数の比率(指示込役物払出比率、指示込役物払出比率(6000G))を算出する構成である。
このような構成とすることで、ナビ報知が行われた場合に設定される1~13の範囲を超えた14以上の値がRAM41cのナビ番号設定領域に設定された場合、すなわちナビ報知が行われたか否かが特定できない場合には、ナビ報知が行われたものとして当該ゲームにおいて付与されるメダルが累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数として計数されるため、不正プログラムや誤作動によってナビ報知が行われたか否かが分からない状況となっても、ナビ報知が行われたか否かに関わらず付与されたメダルの払出枚数に対するナビ報知が行われたゲームにおけるメダルの払出枚数の比率(指示込役物払出比率、指示込役物払出比率(6000G))が低下することがなく、当該比率から適度な射幸性が担保されているか否かを特定することができる。
本実施例では、メイン制御部41は、操作信号設定処理において、推奨する停止操作態様を特定可能な操作信号を試験装置に対して送信するための処理を行う。また、メイン制御部41は、操作信号設定処理において、RAM41cのナビ番号設定領域に設定されているナビ番号を取得し、ナビ番号が1以上であり、ナビ報知が行われる場合には、ナビ番号に対応する停止操作態様を特定可能な操作信号を出力するための処理を行い、ナビ番号が0であり、ナビ報知が行われない場合には、当選番号(一般役)のみ、または当選番号(一般役)及び当選番号(特別役)に対応する停止操作態様を特定可能な操作信号を出力するための処理を行う構成である。このような構成とすることで、RAM41cのナビ番号設定領域に設定されたナビ番号を参照し、RAM41cのナビ番号設定領域に1~13が設定されている場合には、RAM41cのナビ番号設定領域に設定されたナビ番号を利用してナビ報知に対応する操作態様を特定可能な操作信号を出力することができる。
本実施例では、メイン制御部41は、遊技補助表示器12の出力バッファに設定された表示データに基づく点灯/消灯信号を出力し、遊技補助表示器12に種々の情報を表示可能であり、小役が入賞し、メダルの付与を伴う場合には、遊技補助表示器12に払出枚数(1~15)を表示させることが可能となっている。
また、メイン制御部41は、ナビ報知を行う場合には、スタートスイッチ7が操作されたときにRAM41cのナビ番号設定領域に設定したナビ番号を表示データに変換し、遊技補助表示器12の出力バッファにセットすることで、遊技補助表示器12にナビ番号を表示させ、第3停止リールの停止操作(OFFからONへの変化)が検出されたタイミングで、遊技補助表示器12の出力バッファを初期化し、遊技補助表示器12を非表示状態とする。その後、払出枚数の表示を行う場合には、全リールが停止し、かつ第3停止リールの停止操作がOFFとなることで、小役の入賞により付与される払出枚数を表示データに変換し、遊技補助表示器12の出力バッファにセットすることで、遊技補助表示器12に払出枚数を表示させる。
そして、遊技補助表示器12の出力バッファにセットされたナビ番号の表示データは、払出枚数の表示データが遊技補助表示器12の出力バッファにセットされる前に初期化される一方で、RAM41cのナビ番号設定領域に設定したナビ番号は、初期化されずに維持される構成である。
このような構成とすることで、ナビ報知が行われたゲームであるか否かを判断するために、第3停止リールの停止操作(OFFからONへの変化)が検出されたタイミング以降もRAM41cのナビ番号設定領域に設定したナビ番号は維持されるが、RAM41cのナビ番号設定領域に設定したナビ番号に基づいて設定されたナビ番号の表示データは、払出枚数の表示データが遊技補助表示器12の出力バッファにセットされる前に初期化され、払出枚数の表示が開始される前に、遊技補助表示器12に表示されたナビ表示が消去されるため、ナビ表示と払出枚数の表示が混同してしまうことを防止できる。
尚、本実施例では、小役の入賞に伴い付与された払出枚数が、ナビ報知によりナビ番号が表示されるのと共通の遊技補助表示器12に表示される構成であるが、払出枚数がナビ番号が表示される遊技補助表示器12とは異なる表示器に表示される構成としても良く、このような構成であっても、払出枚数が表示される前に、遊技補助表示器12の出力バッファを初期化し、遊技補助表示器12を非表示状態とすることで、払出枚数の表示が開始される前に、遊技補助表示器12に表示されたナビ表示が消去されるため、ナビ表示と払出枚数の表示が混同してしまうことを防止できる。
本実施例では、RAM41cのナビ番号設定領域は、RAM41cの1ゲームの終了時に初期化される毎ゲーム終了時対象領域に含まれる構成である。このような構成とすることで、1ゲーム終了時の初期化によりRAM41cの1ゲーム毎に初期化される他の領域と併せてナビ番号設定領域も初期化され、ナビ番号設定領域に設定されたナビ番号も初期化されるので、ナビ番号設定領域に設定されたナビ番号を効率良く初期化することができる。
本実施例では、メイン制御部41は、有利区間において区間表示LED19を点灯させることで、有利区間である旨を報知することが可能であり、有利区間の終了時には、ナビ番号が記憶されるナビ番号設定領域が、区間表示LED19が消灯状態となる前に初期化される構成である。このような構成とすることで、RAM41cのナビ番号設定領域は、有利区間が終了する場合に、区間表示LED19が消灯状態となる前に初期化されるので、区間表示LED19が消灯状態となったにも関わらず、ナビ報知が行われてしまうことを防止できる。
本実施例では、メイン制御部41は、RAM41cのナビ番号格納領域に設定されているナビ番号を取得し、ナビ番号が1以上の場合には、全リールが停止し、かつ第3停止リールの停止操作がONからOFFとなることで、メダルの払出処理が行われる前に、指示込役物比率更新処理より、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新する構成である。このような構成とすることで、メダルの払出処理の状況によって累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数の更新が滞ることがない。
本実施例では、RAM41cのナビ番号格納領域に設定されているナビ番号は、ナビ表示に対応する操作態様で停止操作がされた場合でも、ナビ表示に対応する操作態様以外の操作態様で停止操作がされた場合でも、当該ゲームの終了時まで初期化されない構成である。このような構成とすることで、ナビ表示に対応する操作態様でストップスイッチが操作されたか否かに関わらず、メダルが付与された場合には、累計バッファ1~3の指示込役物払出カウンタ、総累計指示込役物払出枚数を更新することができる。
本実施例では、メイン制御部41は、RAM41cに有利区間中フラグが設定されている場合に、RAM41cの有利区間中信号バッファをONとする制御を行うことが可能であり、有利区間において区間表示LED19を点灯させることで、有利区間である旨を報知することが可能である。また、区間表示LED19は、RAM41cの有利区間中信号バッファがONであると判定されることで点灯され、有利区間が終了する場合に、有利区間終了処理において有利区間中信号バッファがOFFとなった後、遊技区間報知終了処理においてRAM41cの有利区間中信号バッファがOFFであると判定されることで、消灯状態に制御される構成である。このような構成とすることで、区間表示LED19が消灯状態となり、有利区間である旨の報知が終了しているにも関わらず、有利区間に制御されている状況が生じることがない。
本実施例では、払出枚数の表示は、ゲームの終了後も次のゲームの賭数が設定されるまで継続される構成である。このような構成とすることで、1ゲームが終了した後も、払出枚数の表示を確認することができる。
本実施例では、メイン制御部41は、有利区間の終了時に、RAM41cの有利区間に関連する情報が記憶される領域を初期化するとともに、RAM41cの有利区間に関連する情報が記憶される領域は、1ゲーム毎に初期化されない有利区間終了時対象領域と、1ゲーム毎に初期化される毎ゲーム終了時対象領域(AT関連)と、を含む構成である。このような構成とすることで、有利区間終了時には、1ゲームの終了を待たずに、1ゲーム終了時に初期化される毎ゲーム終了時対象領域(AT関連)に記憶された有利区間に関連する情報も初期化されるので、有利区間が終了したにも関わらず、有利区間に関連する情報が残ってしまうことを防止できる。
本実施例では、メイン制御部41は、有利区間において複数の有利区間状態に制御可能であるが、有利区間の終了時に制御されている有利区間状態に関わらず、RAM41cの有利区間終了時対象領域及び毎ゲーム終了時対象領域(AT関連)の全ての領域を初期化する構成である。このような構成とすることで、有利区間の終了時に制御されている有利区間状態に関わらず、有利区間に関する情報を全て初期化することができる。
[作用効果5]
本実施例では、メイン制御部41は、リール停止処理により、回転制御中の全てのリールが定速回転で回転されているか否かを判定し、回転制御中の全てのリールが定速回転で回転されていると判定した場合に、回転制御を行っている全てのリールについて停止操作の受付を有効に設定し、有効な停止操作を検出するとリール回転停止処理を実行し、対応するリールを停止させることができる。
また、メイン制御部41は、遊技補助表示器12の出力バッファに表示データが設定された後、当該表示データが消去されるまで、当該表示データに基づく表示内容をタイマ割込処理により遊技補助表示器12に表示させる制御を実行可能である。そして、リール停止処理により、回転制御中の全てのリールが定速回転で回転されていると判定される毎に、RAM41cのナビ番号設定領域からナビ番号を取得し、取得したナビ番号を表示データに変換し、遊技補助表示器12の出力バッファに繰り返しセットする構成である。
このような構成とすることで、遊技補助表示器12の出力バッファに表示データが設定された後、当該表示データが消去されるまで当該表示データに基づく表示内容が遊技補助表示器12に表示されることとなるが、ナビ対象役を導出させるためのナビ番号を遊技補助表示器12に表示させる場合には、リールの回転制御中において、回転制御中の全てのリールが、停止操作が有効となる定速回転で回転されていることを条件に、ナビ対象役を停止させるナビ番号の表示データを遊技補助表示器12の出力バッファに設定する処理を繰り返し実行可能であるため、停止操作が有効な状態において確実にナビ番号が報知されることを担保することができる。
尚、本実施例では、回転制御中の全てのリールが定速回転で回転されていると判定される毎に、RAM41cのナビ番号設定領域からナビ番号を取得し、取得したナビ番号に基づく表示データを遊技補助表示器12の出力バッファに繰り返しセットする構成であるが、回転制御中の全てのリールが定速回転で回転されていると判定された回数がn(n≧2)回に到達する毎に、RAM41cのナビ番号設定領域からナビ番号を取得し、取得したナビ番号に基づく表示データを遊技補助表示器12の出力バッファに繰り返しセットする構成としても良い。
本実施例では、メイン制御部41は、リール停止処理により、リールの回転制御中において、回転制御中の全てのリールが定速回転で回転されているか否かを判定し、回転制御中の全てのリールが定速回転で回転されていると判定した場合に、停止操作が検出されたか否かを判定する処理を繰り返す構成である。このような構成とすることで、リールの回転制御中において、回転制御中の全てのリールが停止操作が有効となる定速回転で回転されていることを条件に、停止操作が検出されたか否かを判定する操作判定処理を繰り返し実行するため、回転制御中の全てのリールが定速回転で回転されている状態においてストップスイッチが操作されることによりリールが停止することを担保することができる。
本実施例では、メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出すると、設定変更状態へ移行させ、遊技者にとっての有利度が異なる1~6の設定値からいずれかの設定値を選択して設定することが可能であり、設定変更状態の開始及び終了に伴って、遊技補助表示器12の出力バッファを初期化することで、遊技補助表示器12を非表示状態とするようになっている。
また、メイン制御部41は、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前の制御状態に復帰させる場合には、遊技補助表示器12にエラーコードまたは設定コード以外の表示(ナビ番号または払出枚数)が表示されている場合に、遊技補助表示器12の出力バッファを初期化することで、遊技補助表示器12を非表示状態とするようになっている。
また、メイン制御部41は、ナビ報知の実行中であり、遊技補助表示器12に操作態様を示すナビ番号(1~13)が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前のナビ報知の実行中の状態に復帰させる場合には、遊技補助表示器12の出力バッファを初期化することで、遊技補助表示器12を非表示状態とする。この場合にメイン制御部41は、リール停止処理により、リールの回転が再開した後、リールが定速回転となり停止操作が有効化されたタイミングで、操作態様を示すナビ番号を表示データに変換して再度遊技補助表示器12の出力バッファに設定することで、遊技補助表示器12に操作態様を示すナビ番号(1~13)を表示させることが可能な構成である。
このような構成とすることで、払出枚数の表示データが設定されていた状態で電力供給が停止し、電力供給が開始されたときに設定値が設定された場合にも、設定値が設定されなかった場合にも、払出枚数の表示データが消去されて遊技補助表示器12が非表示となるので、閉店時に遊技補助表示器12に払出枚数の表示データに基づく表示がされていた状態で電力供給が停止した場合でも、翌日の開店時に遊技補助表示器12に払出枚数の表示データに基づく表示が行われているか否かによって設定値が設定されたか否かが特定されてしまうことを防止できる。また、遊技補助表示器12に操作態様を示すナビ番号(1~13)が表示されている状態で、電力供給が停止された後、電力供給が再開されたときに設定キースイッチ37のON状態を検出せず、電力供給が停止する前のナビ報知の実行中の状態に復帰させる場合に、遊技補助表示器12は非表示となるが、リールの回転が再開した後、リールが定速回転となり停止操作が有効化されることを条件に、操作表示データが遊技補助表示器12の出力バッファに設定されるため、電力供給が再開した後、リールが定速回転となり停止操作が有効化されたタイミングで、遊技補助表示器12に操作態様を示すナビ番号(1~13)の表示を再開させることができる。
[作用効果6]
本実施例では、メイン制御部41は、ナビ報知の対象となるナビ対象役が当選し、ナビ報知を行う場合には、報知する操作態様に応じたナビ番号をRAM41cのナビ番号設定領域に設定する。また、メイン制御部41は、操作信号設定処理において、当該ゲームにおいて推奨する停止順及び停止実行位置を特定可能な操作信号を試験装置に対して送信する。そして、操作信号設定処理では、当該ゲームにおいてナビ番号設定領域に設定されたナビ番号が1以上の場合、すなわちナビ報知が行われる場合に、ナビ番号を図柄停止パターン番号として設定し、図柄停止パターン番号に対応する停止順を示す停止順データを特定する処理と、図柄停止パターン番号に対応する第1停止リール~第3停止リールの停止実行図柄を示す停止実行図柄番号データを特定する処理と、別個に行い、推奨する停止順及び第1停止リール~第3停止リールの停止実行位置を特定可能な操作信号を作成する構成である。
このような構成とすることで、ナビ番号設定領域に設定されたナビ番号を用いて停止順データを特定する処理と、ナビ番号設定領域に設定されたナビ番号を用いて停止実行図柄番号データを特定する処理と、別個に実行し、推奨する停止順及び第1停止リール~第3停止リールの停止実行位置を特定可能な操作信号を作成するため、ナビ番号設定領域に設定されたナビ番号を用いて一度の処理で停止順データ及び停止実行図柄番号データの双方を特定するものに比べ、図柄停止パターン番号に対応する停止順データ及び停止実行図柄番号データの管理が容易となり、停止順のみが報知される構成、停止実行位置のみが報知される構成、停止順及び停止実行位置の双方が報知される構成のいずれであっても、操作信号を作成するプログラムの利用が容易となる。
本実施例では、メイン制御部41は、ナビ報知の対象となるナビ対象役が当選し、ナビ報知を行う場合には、報知する操作態様に応じたナビ番号をRAM41cのナビ番号設定領域に設定する。また、メイン制御部41は、操作信号設定処理において、当該ゲームにおいて推奨する停止順及び停止操作のタイミングを特定可能な操作信号を試験装置に対して送信する。
そして、操作信号設定処理では、当該ゲームにおいてナビ番号設定領域に設定されたナビ番号が1以上の場合、すなわちナビ報知が行われる場合に、ナビ番号を図柄停止パターン番号として設定し、まず、図柄停止パターン番号に対応する各リールの停止実行図柄番号を特定し、特定した各リールの停止実行図柄番号を当該停止実行図柄番号に対応するリール基準位置からのステップ数を示す停止実行位置データに変換し、第1停止リール~第3停止リールそれぞれの停止実行位置データを特定可能な操作信号を作成する構成である。
このような構成とすることで、第1停止リール~第3停止リールの停止実行図柄に対応するリール基準位置からのステップ数を示す停止実行位置データを特定可能な操作信号が出力されるため、試験装置側で、1リールの図柄数が異なる機種の停止実行位置を特定する場合でも共通のプログラムで停止実行位置を特定することが可能となる。
また、RAM41cのナビ番号設定領域に設定されたナビ番号を用いて停止実行位置を特定する場合に、停止実行位置としてリール基準位置からのステップ数を直接特定するのではなく、まず、ナビ番号設定領域に設定されたナビ番号を用いて各リールの停止実行図柄番号を特定し、特定した各リールの停止実行図柄番号を当該停止実行図柄番号に対応するリール基準位置からのステップ数を示す停止実行位置データに変換することで、第1停止リール~第3停止リールの停止実行位置としてリール基準位置からのステップ数を特定するようになっており、プログラムの作成段階において、図柄単位の停止実行図柄番号から停止実行位置を把握できるため、停止実行位置の管理が容易となる。
本実施例では、RAM41cのナビ番号設定領域には、ナビ報知の対象となるナビ対象役が当選し、ナビ報知を行う場合に、ナビ報知により報知される操作態様毎に割り当てられた1~13の連続するナビ番号のいずれかが設定される構成である。このような構成とすることで、ナビ報知により報知される操作態様毎に割り当てられたナビ番号が1~13の連続する数値であるため、ナビ番号設定領域に設定されたナビ番号を用いて操作態様を特定する際の処理が容易となる。
本実施例では、RAM41cのナビ番号設定領域には、一般役も特別役も当選していない場合またはナビ対象役以外のいずれかの一般役が当選した場合、いずれかのナビ対象役が当選し、ナビ報知が行われない場合に0が設定され、操作信号設定処理は、ナビ番号設定領域に0が設定されている場合に、当選番号(一般役)及び当選番号(特別役)、すなわち内部抽選の結果に応じた図柄停止パターン番号を設定し、当該図柄停止パターン番号に基づいて操作信号を作成する構成である。このような構成とすることで、ナビ報知が行われない場合には、内部抽選の結果に応じた操作態様を特定可能な操作信号を作成することができる。
本実施例では、ナビ番号(図柄停止パターン番号)に対応する停止順を示す停止順データが記憶された停止順データテーブルを備え、停止順データテーブルには、ナビ番号(図柄停止パターン番号):1、7に対応する停止順データのように、複数種類のナビ番号(図柄停止パターン番号)に対して共通する停止順データが対応する場合でも、ナビ番号(図柄停止パターン番号)毎に別個に停止順データが記憶されている構成である。このような構成とすることで、停止順データテーブルには、ナビ番号(図柄停止パターン番号)に対応する停止順が共通であっても、ナビ番号(図柄停止パターン番号)毎に、対応する停止順データが記憶されているため、ナビ番号(図柄停止パターン番号)を用いて各リールの停止順を特定する際のプログラムが複雑とならない。
本実施例では、ナビ番号(図柄停止パターン番号)に対応する第1停止リール~第3停止リールの停止実行図柄番号を特定可能な停止実行図柄番号テーブルを備え、停止実行図柄番号テーブルには、ナビ番号(図柄停止パターン番号):1~6に対応する停止実行図柄番号データのように、複数種類のナビ番号(図柄停止パターン番号)に対して共通する停止実行図柄番号データが対応する場合でも、ナビ番号(図柄停止パターン番号)毎に別個に停止実行図柄番号データが記憶されている構成である。このような構成とすることで、停止実行図柄番号テーブルには、ナビ番号(図柄停止パターン番号)に対応する停止実行図柄番号データが共通であっても、ナビ番号(図柄停止パターン番号)毎に、対応する停止実行図柄番号データが記憶されているため、ナビ番号(図柄停止パターン番号)を用いて第1停止リール~第3停止リールの停止実行位置を特定する際のプログラムが複雑とならない。
また、本実施例では、停止実行図柄番号テーブルには、ナビ番号(図柄停止パターン番号)1~6に対応する停止実行図柄番号データのように、第1停止リール~第3停止リールのいずれのリールについても停止実行図柄番号が共通する停止実行図柄番号データが連続するアドレス領域に記憶されている構成である。このような構成とすることで、停止実行図柄番号テーブルにおいて、共通する停止実行図柄番号データが連続するアドレス領域に記憶されるので、プログラムの作成段階において、ナビ番号(図柄停止パターン番号)毎に対応する停止実行図柄番号データの管理が容易となる。
本実施例では、ナビ対象役のうち赤左中ベルA、赤左中ベルBが当選した場合に、左リール、中リール、右リールの停止順、かつ左リールの停止実行位置が赤7エリアとなる操作態様で操作された場合に、左リールの停止実行位置が白7エリアとなる操作態様で操作された場合よりも遊技者にとって有利となり、操作態様設定処理では、赤左中ベルA、赤左中ベルBが当選し、ナビ報知が行われる場合には、左リール、中リール、右リールの停止順を示す停止順データ及び左リールの停止実行位置が赤7エリアとなる停止実行図柄番号データを特定可能な操作信号を作成し、いずれかのナビ対象役が当選し、ナビ報知が行われない場合に、左リール、中リール、右リールの停止順を示す停止順データ及び左リールの停止実行位置が赤7エリアとなる停止実行図柄番号データを特定可能な操作信号を作成する構成である。このような構成とすることで、ナビ報知が行われない場合であっても、赤左中ベルA、赤左中ベルBが当選した場合には、試験装置側に操作信号から有利な操作態様を特定させることが可能となる。
本実施例では、操作信号設定処理は、いずれかのナビ対象役が当選し、ナビ報知が行われない場合に、第1停止リール、第2停止リール、第3停止リールの停止実行図柄番号として同一の図柄番号が設定された停止実行図柄番号データを特定可能な操作信号を作成する構成である。このような構成とすることで、いずれかのナビ対象役が当選し、ナビ報知が行われない場合に、操作信号から特定される停止実行位置がいずれのリールについても同一となるため、プログラムの作成段階において、ナビ報知が行われない場合の停止実行位置の管理が容易となる。
本実施例では、操作信号設定処理は、所定範囲内で停止操作を行った場合に、所定範囲外で停止操作を行った場合よりも遊技者にとって有利となるリールについて、所定範囲のうち所定範囲外との境界から1図柄以上離れた図柄の図柄番号が停止実行位置図柄として設定された停止実行図柄番号データを特定可能な操作信号を作成する構成である。このような構成とすることで、所定範囲のうち所定範囲外との境界から1図柄以上離れた図柄の図柄番号が停止実行位置図柄として設定された停止実行図柄番号データを特定可能な操作信号が出力されるので、試験装置側で操作信号の検出や、操作信号の検出に伴う停止操作をスロットマシン1に対して要求する操作信号の出力が遅延した場合でも、所定範囲内のタイミングでスロットマシン1に対して操作信号を出力させることが可能となる。
本実施例では、操作信号設定処理は、特別役が当選せず、ナビ報知が行われない場合にも、特別役が当選しており、ナビ報知が行われない場合にも、いずれのリールについても同一の図柄番号を示す停止実行図柄番号が設定された停止実行図柄番号データを特定可能な操作信号を作成する構成である。このような構成とすることで、特別役が当選せず、ナビ報知が行われない場合にも、特別役が当選しており、ナビ報知が行われない場合にも、全てのリールについて特別役の引込範囲外となる図柄番号を示す停止実行図柄番号が設定された同一の停止実行図柄番号データを特定可能な操作信号を作成するので、プログラムの作成段階において停止実行位置の管理が容易となる。
本実施例では、第1停止リール~第3停止リールの停止実行図柄番号を特定可能な停止実行図柄番号テーブルを備え、特別役が当選せず、ナビ報知が行われない場合に対応する停止実行図柄番号データと、特別役が当選しており、ナビ報知が行われない場合に対応する停止実行図柄番号データと、が別個に記憶されている構成である。このような構成とすることで、停止実行図柄番号テーブルには、特別役が当選せず、ナビ報知が行われない場合に対応する停止実行図柄番号データと、特別役が当選しており、ナビ報知が行われない場合に対応する停止実行図柄番号データと、が別個に記憶されているため、特別役が当選せず、ナビ報知が行われない場合と、特別役が当選しており、ナビ報知が行われない場合と、で異なる停止実行位置を特定可能な操作信号を出力する機種とプログラムを共用できる。
本実施例では、特別役は、図柄組合せが異なるBB1、BB2を含み、停止実行位置は、BB1もBB2も引込範囲外となる領域を含み、操作信号設定処理は、BB1が当選しており、ナビ報知が行われない場合にも、BB2が当選しており、ナビ報知が行われない場合にも、いずれのリールについてもBB1もBB2も引込範囲外となる領域に含まれる共通の停止実行図柄番号を特定可能な操作信号を作成する構成である。このような構成とすることで、BB1が当選しており、ナビ報知が行われない場合にも、BB2が当選しており、ナビ報知が行われない場合にも、いずれのリールについてもBB1もBB2も引込範囲外となる領域に含まれる共通の停止実行図柄番号を特定可能な操作信号が作成されるので、複数種類の特別役を備えていても操作信号を作成するための停止実行位置の管理が容易となる。
[作用効果7]
本実施例では、メイン制御部41は、ユーザープログラムを実行可能であり、データバスを介してメイン制御部41と接続されたデバイス等に対して信号(電気部品の駆動信号、駆動命令信号、コマンド等)を出力する出力ポートを備えている。また、ユーザープログラムで実行可能な命令は、指定した出力ポートから、Aレジスタに設定された1バイトのデータに基づく8ビットのパラレル信号を出力させることが可能な1バイトOUT命令を含む。また、Aレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで00(H)が格納される。
また、メイン制御部41は、ユーザープログラムの開始後、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(00(H))とする。
一方、本実施例における実施形態2の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において出力ポートを初期化する場合には、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(00(H))とする構成である。
このような構成とすることで、ユーザープログラムの開始後、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行う必要があるが、ユーザープログラムの開始に伴う起動処理において出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されることから、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートを初期化する際の命令数を減らすことができる。
本実施例における実施形態2の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において複数の出力ポートを初期化する場合には、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令等を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行い、Aレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化する構成である。このような構成とすることで、ユーザープログラムの開始に伴い複数の出力ポートを初期化する際の命令数を減らすことができる。
本実施例では、メイン制御部41は、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において複数の出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化する構成である。このような構成とすることで、メイン処理や電断処理において複数の出力ポートを初期化する際の命令数を減らすことができる。
本実施例においてユーザープログラムで実行可能な命令は、指定した出力ポートから、HLレジスタに設定された2バイトのデータに基づく16ビットのパラレル信号を出力させることが可能な2バイトOUT命令を含む。また、HLレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで0000(H)が格納される。
そして、本実施例における実施形態2の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において連続する2つの出力ポートを初期化する場合には、HLレジスタに格納されているデータを変更する命令を実行する前に、HLレジスタに格納されているデータを0000(H)とするCLR命令等を実行せずに、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(0000(H))とする構成である。
このような構成とすることで、ユーザープログラムの開始に伴う起動処理において連続する2つの出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、HLレジスタに0000(H)が格納されることから、ユーザープログラムの開始後、HLレジスタに格納されているデータを変更する命令を実行する前に、HLレジスタに格納されているデータをクリアするCLR命令等を実行せずに、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートを初期化する際の命令数を減らすことができる。
本実施例における実施形態2の起動処理では、メイン制御部41は、出力ポートからメイン制御部41と接続されたセグメント表示器、LED、ソレノイド、モータ等の電気部品に対して信号を出力する構成である。このような構成とすることで、ユーザープログラムの開始に伴う起動処理において出力ポートが初期化されることで、起動時の不安定な状況で電気部品が駆動してしまうことがない。
[作用効果8]
本実施例では、メイン制御部41は、ユーザープログラムを実行可能であり、ユーザープログラムで実行可能な命令は、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令と、指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令と、を含む。第2LD命令は、転送するデータをプログラムに含まないため、転送するデータをプログラムに含む第1LD命令よりもプログラム容量が小さいサイズとなっている。また、Aレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで00(H)が格納される。
そして、本実施例における実施形態4の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理で出力ポート8レジスタやIレジスタを初期化する場合に、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化して00(H)を設定する構成である。
このような構成とすることで、ユーザープログラムの開始に伴う起動処理で出力ポート8レジスタやIレジスタを初期化して00(H)を設定する場合に、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いて出力ポートレジスタやIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されることから、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化するようになっている。このため、ユーザープログラムの開始に伴い出力ポートレジスタやIレジスタを初期化する際の命令数を減らすことができる。
本実施例における実施形態4の起動処理では、Iレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化されて00(H)が設定される構成である。このような構成とすることで、Iレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合には、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるとともに、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタを初期化する際の命令数が減り、さらにプログラム容量を少なくできるため、起動処理においてのみ行われるIレジスタに00(H)を設定する処理を好適に行うことができる。
本実施例における実施形態4の起動処理では、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合に、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化する構成である。このような構成とすることで、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合には、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるとともに、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに00(H)を設定するLD命令等を実行せずに、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、Iレジスタを初期化する際の命令数が減り、さらにプログラム容量を少なくできる。
本実施例における実施形態4の起動処理では、Iレジスタは、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納される構成である。このような構成とすることで、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
本実施例における実施形態4の起動処理においては、Aレジスタを00(H)とする命令を実行せずに、出力ポートを指定して1バイトOUT命令を行う処理を行い、出力ポートを初期化する構成としても良い。
このような構成とすることで、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、Aレジスタに格納されているデータを00(H)とする命令を実行することなく1バイトOUT命令を実行することで、ユーザープログラムの開始に伴い出力ポートを初期化する際の命令数を減らすことができる。
また、本実施例における実施形態4の起動処理において出力ポートを初期化する構成では、ユーザープログラムの開始に伴い最初に行われる起動処理において出力ポートを初期化する場合には、ユーザープログラムの開始後、Aレジスタに格納されているデータを変更する命令を実行する前に、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化するとともに、出力ポートを指定して1バイトOUT命令を行う処理と、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行う処理と、の間にAレジスタに格納されているデータを変更する命令を実行しない構成としても良い。
このような構成とすることで、出力ポートを指定して1バイトOUT命令を行う処理と、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行う処理と、の間にAレジスタに格納されているデータを変更する命令を実行しないので、ユーザープログラムの開始に伴い出力ポートの初期化及び出力ポート8レジスタ、Iレジスタの初期化を行う際の命令数を減らすことができる。
[作用効果9]
本実施例では、メイン制御部41は、ユーザープログラムを実行可能であり、データバスを介してメイン制御部41と接続されたデバイス等に対して信号(電気部品の駆動信号、駆動命令信号、コマンド等)を出力する出力ポートを備えている。また、ユーザープログラムで実行可能な命令は、指定した出力ポートから、Aレジスタに設定された1バイトのデータに基づく8ビットのパラレル信号を出力させることが可能な1バイトOUT命令を含む。また、Aレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで00(H)が格納される。
また、メイン制御部41は、ユーザープログラムの開始後、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(00(H))とする。
そして、本実施例における実施形態1の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において出力ポートを初期化する場合には、ユーザープログラムの開始後、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(00(H))とする構成である。
このような構成とすることで、ユーザープログラムの開始後、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行う必要がある。
一方、ユーザープログラムの開始に伴う起動処理において出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されるため、本来であれば、Aレジスタに格納されているデータを00(H)とするXOR命令等を実行せずに1バイトOUT命令を行った場合でも、出力ポートは初期化されるはずであり、Aレジスタに格納されているデータを00(H)とするXOR命令を行う必要はないが、この場合でも、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化するようになっている。このため、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポートが初期化されることを担保することができる。
本実施例における実施形態1の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において複数の出力ポートを初期化する場合には、ユーザープログラムの開始後、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令等を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行い、Aレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化する構成である。このような構成とすることで、ユーザープログラムの開始に伴い複数の出力ポートを初期化する際の命令数を減らすことができる。
本実施例では、メイン制御部41は、起動処理の後に行う遊技を進行させるためのメイン処理や電断が検出された際に行う電断処理において複数の出力ポートを初期化する場合には、XOR命令によりAレジスタをクリアして00(H)とした後、出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した出力ポートを初期化し、その後、AレジスタをクリアするXOR命令を含むAレジスタの値を変更する処理を行うことなく、別の出力ポートを指定して1バイトOUT命令を行うことによりAレジスタに設定されたデータに基づいて指定した別の出力ポートを初期化する構成である。このような構成とすることで、メイン処理や電断処理において複数の出力ポートを初期化する際の命令数を減らすことができる。
本実施例においてユーザープログラムで実行可能な命令は、指定した出力ポートから、HLレジスタに設定された2バイトのデータに基づく16ビットのパラレル信号を出力させることが可能な2バイトOUT命令を含む。また、HLレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで0000(H)が格納される。
そして、本実施例における実施形態1の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理において連続する2つの出力ポートを初期化する場合には、ユーザープログラムの開始後、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化し、初期化された出力ポートから出力される信号を全てOFF(0000(H))とする構成である。
このような構成とすることで、ユーザープログラムの開始に伴う起動処理において連続する2つの出力ポートを初期化する場合には、メイン制御部41が起動してユーザープログラムが開始される前に、HLレジスタに0000(H)が格納されるため、本来であれば、HLレジスタに格納されているデータを0000(H)とするCLR命令等を実行せずに2バイトOUT命令を行った場合でも、連続する2つの出力ポートは初期化されるはずであり、HLレジスタに格納されているデータを0000(H)とするCLR命令等を行う必要はないが、この場合でも、CLR命令によりHLレジスタをクリアして0000(H)とした後、先頭の出力ポートを指定して2バイトOUT命令を行うことによりHLレジスタに設定されたデータに基づいて指定した出力ポートを含む連続する2つの出力ポートを初期化するようになっている。このため、瞬停などでHLレジスタに0000(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポートが初期化されることを担保することができる。
本実施例における実施形態1の起動処理では、メイン制御部41は、出力ポートからメイン制御部41と接続されたセグメント表示器、LED、ソレノイド、モータ等の電気部品に対して信号を出力する構成である。このような構成とすることで、ユーザープログラムの開始に伴う起動処理において出力ポートが初期化されることで、起動時の不安定な状況で電気部品が駆動してしまうことがない。
[作用効果10]
本実施例では、メイン制御部41は、ユーザープログラムを実行可能であり、ユーザープログラムで実行可能な命令は、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令と、指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令と、を含む。第2LD命令は、転送するデータをプログラムに含まないため、転送するデータをプログラムに含む第1LD命令よりもプログラム容量が小さいサイズとなっている。また、Aレジスタは、起動時においてシステムプログラムにより、ユーザープログラムが開始される前に初期化されることで00(H)が格納される。
そして、本実施例における実施形態3の起動処理では、メイン制御部41は、ユーザープログラムの開始に伴う起動処理で出力ポート8レジスタやIレジスタを初期化する場合に、ユーザープログラムの開始後、LD命令によりAレジスタに00(H)を設定した後、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化して00(H)を設定する構成である。
このような構成とすることで、ユーザープログラムの開始に伴う起動処理で出力ポート8レジスタやIレジスタを初期化して00(H)を設定する場合に、指定アドレスの領域または指定レジスタに対して、任意の1バイトのデータ(n)を転送する第1LD命令及び指定アドレス領域または指定レジスタに対して、Aレジスタに設定された1バイトのデータを転送する第2LD命令のうち、プログラム容量の小さい第2LD命令を用いて出力ポートレジスタやIレジスタを初期化するようになっており、プログラム容量を少なくできる。
また、メイン制御部41が起動してユーザープログラムが開始される前に、Aレジスタに00(H)が格納されるため、本来であれば、Aレジスタに00(H)を設定するLD命令等を実行せずに出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行った場合でも、出力ポート8レジスタやIレジスタは初期化されるはずであり、Aレジスタに00(H)を設定するLD命令等を行う必要はないが、この場合でも、LD命令によりAレジスタに00(H)を設定した後、出力ポート8レジスタのアドレスやIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化するようになっている。このため、瞬停などでAレジスタに00(H)以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴い出力ポート8レジスタやIレジスタが初期化されることを担保することができる。
本実施例における実施形態3の起動処理では、Iレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化されて00(H)が設定される構成である。このような構成とすることで、Iレジスタは、ユーザープログラムの開始に伴い最初に行われる起動処理においてのみ初期化され、以後、電断するまでその値が維持されるものであり、他の処理と共通化することが困難となるが、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合には、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるとともに、ユーザープログラムの開始後、LD命令によりAレジスタに00(H)を設定した後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、瞬停などでAレジスタに0以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴いIレジスタが初期化されることを担保することができるため、起動処理においてのみ行われるIレジスタに00(H)を設定する処理を好適に行うことができる。
本実施例における実施形態3の起動処理では、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合に、ユーザープログラムの開始後、LD命令によりAレジスタに00(H)を設定した後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタを初期化する構成である。このような構成とすることで、ユーザープログラムの開始に伴い最初に行われる起動処理においてIレジスタを初期化する場合には、第1LD命令よりもプログラム容量の小さい第2LD命令を用いてIレジスタを初期化することで、Iレジスタの初期化に伴うプログラム容量を少なくできるとともに、ユーザープログラムの開始後、LD命令によりAレジスタに00(H)を設定した後、Iレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいてIレジスタが初期化されることで、瞬停などでAレジスタに0以外のデータが格納されたままの状態が維持されている場合であっても、ユーザープログラムの開始に伴いIレジスタが初期化されることを担保することができる。
本実施例における実施形態3の起動処理では、Iレジスタは、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納される構成である。このような構成とすることで、メイン制御部41が起動してユーザープログラムが開始される前に、Iレジスタに00(H)が格納されることとなるが、ユーザープログラムの開始に伴う起動処理においてもIレジスタが初期化されるので、Iレジスタが初期化されることを担保することができる。
本実施例における実施形態3の起動処理では、メイン制御部41は、LD命令により、ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H)のデータ、またはROM41bに割込ベクタの上位アドレス(INT)として定義された00(H)のデータをAレジスタに格納することで、Aレジスタの値を00(H)とした後、出力ポート8レジスタのアドレスまたはIレジスタを指定して第2LD命令を行うことによりAレジスタに設定されたデータに基づいて出力ポート8レジスタやIレジスタを初期化する構成である。このような構成とすることで、出力ポート8レジスタやIレジスタに設定される初期値をROM41bに定義されたデータによって管理することができる。
本実施例における実施形態3の起動処理では、出力ポート8レジスタを初期化する場合には、LD命令により、ROM41bに出力ポート8レジスタの初期値(OUTINI)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とし、Iレジスタを初期化する場合には、LD命令により、ROM41bに割込ベクタの上位アドレス(INT)として定義された00(H)のデータをAレジスタに格納することでAレジスタの値を00(H)とする構成である。このような構成とすることで、出力ポート8レジスタに設定される初期値と、Iレジスタに設定される初期値と、をROM41bに定義された個別のデータによって管理することができる。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。
また、前記実施例及び変形例では、本発明を遊技機の一例であるスロットマシン1に適用する例を示したが、本発明はこれに限定されるものではなく、遊技領域に遊技球を発射することにより遊技を行うパチンコ遊技機、さらには、スロットマシンやパチンコ遊技機以外の一般ゲーム機等、所定の遊技を行う遊技機であれば適用可能である。