本発明が適用されたスロットマシンの実施例1について図面を用いて説明すると、本実施例のスロットマシン1は、図1に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
リール2L、2C、2Rの外周部には、図3に示すように、それぞれ「赤7」、「青7」、「白7」、「BAR」、「スイカ」、「チェリーa」、「チェリーb」、「ベル」、「リプレイa」、「リプレイb」、「プラム」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bの略中央に設けられた透視窓3において各々上中下三段に表示される。
各リール2L、2C、2Rは、各々対応して設けられたリールモータ32L、32C、32R(図4参照)によって回転されることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示される一方で、各リール2L、2C、2Rの回転が停止されることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。
前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図1参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51b及び透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。
前面扉1bには、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いられる演出用スイッチ56が遊技者により操作可能にそれぞれ設けられている。
尚、本実施例では、回転を開始した3つのリール2L、2C、2Rのうち、最初に停止するリールを第1停止リールと称し、また、その停止を第1停止と称する。同様に、2番目に停止するリールを第2停止リールと称し、また、その停止を第2停止と称し、3番目に停止するリールを第3停止リールと称し、また、その停止を第3停止あるいは最終停止と称する。
また、前面扉1bには、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード、後述のナビ報知によるリールの停止順を識別可能な情報等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、リプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられており、演出用スイッチ56の内部には、演出用スイッチ56の操作が有効である旨を点灯により報知する演出用LED56a(図4参照)が設けられている。
前面扉1bの内側には、図2に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、所定の契機に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、所定の契機に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1aの内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31、投入メダルセンサ31の上流側で異物の挿入を検出する投入口センサ26を有するメダルセレクタ29、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。
筐体1aの内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R(図4参照)、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000(図4参照)、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b(図4参照)、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34c(図4参照)からなるホッパーユニット34、電源ボックス100が設けられている。
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ35a(図4参照)が設けられている。
電源ボックス100の前面には、図2に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。
尚、電源ボックス100は、筐体1aの内部に設けられており、さらに前面扉1bは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス100の前面に設けられた設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ23も同様である。特に、設定キースイッチ37は、キー操作により前面扉1bを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ37の操作を行うキーを所持する店員のみ操作が可能とされている。
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
また、本実施例では、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組合せ(例えば、ベル‐ベル‐ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。
本実施例では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4の4種類が無効ラインLMとして定められている。
また、本実施例では、入賞役として、入賞ラインLNに役として定められた所定の図柄の組合せ(例えば、「ベル‐スイカ‐チェリーb」)が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインLM1〜LM4のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ(例えば、「スイカ‐スイカ‐スイカ」)が揃うことにより、無効ラインLM1〜LM4のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインLNに揃ったときに無効ラインLM1〜LM4のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ライン上に予め定められた図柄の組合せ(以下、役ともいう)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ライン上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
尚、本実施例では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
また、本実施例では、3つのリールを用いた構成を例示しているが、リールを1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良く、2以上のリールを用いた構成においては、2以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
また、本実施例におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転して図柄の変動が開始した後、いずれかのストップスイッチ8L、8C、8Rが操作されたときに、当該ストップスイッチ8L、8C、8Rに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ8L、8C、8Rの操作から対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は190ms(ミリ秒)である。
リール2L、2C、2Rは、1分間に80回転し、80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄を変動させるので、190msの間では最大で4コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分の図柄である。
このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から4コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
以下では、特に区別する必要がない場合にはリール2L、2C、2Rを単にリールという場合がある。また、リール2Lを左リール、リール2Cを中リール、リール2Rを右リールという場合がある。また、ストップスイッチ8L、8C、8Rの操作によりリール2L、2C、2Rを停止させる操作を停止操作という場合がある。
図4は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び演出制御基板90に供給されるようになっている。また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
遊技制御基板40には、前述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板101を介して前述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
また、遊技制御基板40が筐体1aの内部の所定位置に取り付けられた状態において、遊技制御基板40の正面側(遊技者側)の下部には7セグメント表示器で構成される遊技機情報表示器50が配置されている。遊技機情報表示器50は、遊技制御基板40が基板ケース120aに封入されている状態で、当該基板ケース120aの外部から表示内容を視認可能となっており、後述するメイン制御部41により集計され、遊技機情報表示器50に表示されるスロットマシン1における有利区間割合等の情報を、店員等が認識できるようになっている。
遊技制御基板40には、遊技の進行に関する処理を行うとともに遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部41と、所定周波数の発振信号となる制御用クロックCCLKを生成する制御用クロック生成回路42と、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する乱数用クロック生成回路43と、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送するスイッチ検出回路44と、メイン制御部41から出力されたモータ駆動信号(ステッピングモータの位相信号)をリールモータ32L、32C、32Rに伝送するモータ駆動回路45と、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送するソレノイド駆動回路46と、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送するLED駆動回路47と、スロットマシン1に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48と、電源投入時または電源遮断時等の電力供給が不安定な状態においてメイン制御部41にシステムリセット信号を与えるリセット回路49と、が搭載されている。
図5は、遊技制御基板40に搭載されたメイン制御部41の構成例を示している。メイン制御部41は、1チップマイクロコンピュータであり、外部バスインターフェイス501と、クロック回路502と、照合用ブロック503と、固有情報記憶回路504と、演算回路505と、リセット/割込コントローラ506と、CPU(Central Processing Unit)41aと、ROM(Read Only Memory)41bと、RAM(Random Access Memory)41cと、フリーランカウンタ回路507と、乱数回路508a、508bと、タイマ回路509と、割込コントローラ510と、パラレル入力ポート511と、シリアル通信回路512と、パラレル出力ポート513と、アドレスデコード回路514と、を備えて構成される。
リセット/割込コントローラ506は、メイン制御部41の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット/割込コントローラ506は、指定エリア外走行禁止(IAT)回路506aとウォッチドッグタイマ(WDT)506bとを備える。IAT回路506aは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとIAT発生信号を出力する機能を備える。また、ウォッチドッグタイマ506bは、設定期間ごとにタイムアウト信号を発生させる機能を備える。
外部バスインターフェイス501は、メイン制御部41を構成するチップの外部バスと内部バスとのインターフェイス機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインターフェイスである。クロック回路502は、制御用クロックCCLKを2分周することなどにより、内部システムクロックSCLKを生成する回路である。照合用ブロック503は、外部の照合機と接続し、チップの照合を行う機能を備える。固有情報記憶回路504は、メイン制御部41の内部情報となる複数種類の固有情報を記憶する回路である。演算回路505は、乗算及び除算を行う回路である。
CPU41aは、ROM41bから読み出した制御コードに基づいてユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を実行することにより、スロットマシン1における遊技制御を実行する制御用CPUである。こうした遊技制御が実行されるときには、CPU41aがROM41bから固定データを読み出す固定データ読出動作や、CPU41aがRAM41cに各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU41aがRAM41cに一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU41aが外部バスインターフェイス501やパラレル入力ポート511、シリアル通信回路512などを介してメイン制御部41の外部から各種信号の入力を受け付ける受信動作、CPU41aが外部バスインターフェイス501やシリアル通信回路512、パラレル出力ポート513などを介してメイン制御部41の外部へと各種信号を出力する送信動作等も行われる。
ROM41bには、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。RAM41cは、ゲーム制御用のワークエリア等を提供する。ここで、RAM41cの少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシン1への電力供給が停止しても、所定期間はRAM41cの少なくとも一部の内容が保存される。
フリーランカウンタ回路507として、8ビットのフリーランカウンタを搭載している。乱数回路508a、508bは、8ビット乱数や16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路508a、508bのうち16ビット乱数回路508bが生成するハードウェア乱数は、後述する内部抽選用の乱数として用いられる。タイマ回路509は、16ビットプログラマブルタイマであり、設定されたタイマ値を制御用クロックCCLKの入力に基づいてダウンカウントし、0000Hに達したときに割込コントローラへの割込要求信号を出力する。本実施例では、タイマ回路509を用いて定期的な割込要求や時間計測を行うことが可能である。
割込コントローラ510は、割込端子からの外部割込要求や、内蔵の周辺回路(例えば、シリアル通信回路512、乱数回路508a、508b、タイマ回路509)からの割込要求を制御する回路である。パラレル入力ポート511は、8ビット幅の入力専用ポートを内蔵する。また、図4に示すメイン制御部41が備えるパラレル出力ポート513は、11ビット幅の出力専用ポートを内蔵する。シリアル通信回路512は、外部に対する入出力において非同期シリアル通信を行う回路である。
アドレスデコード回路514は、メイン制御部41の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部41の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU41aからのアクセスが可能となる。
メイン制御部41は、例えば、ROM41bの記憶領域のうちプログラム等が格納されていない領域へのアクセスがあったとき、RAM41cの記憶領域のうちアクセス禁止が設定された領域へのアクセスがあったとき、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるようになっており、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
また、メイン制御部41は、内部または外部によるリセットが発生することで起動することとなるが、この際、ROM41bに割り当てられ、割込処理の先頭アドレスが設定されるベクタテーブルに設定された値が、未使用を示す値であるか、プログラム等が実際に格納された領域を示す値であるか、を判定し、いずれの値でもない場合には起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
メイン制御部41は、パラレル出力ポート513を介してサブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート513を介してサブ制御部91に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路512を介してサブ制御部91に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
また、メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態がパラレル入力ポート511から入力される。そしてメイン制御部41は、これらパラレル入力ポート511から入力される各種スイッチ類の検出状態に応じて段階的に移行するメイン処理を実行する。また、メイン制御部41は、割込の発生によりメイン処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路509にてタイムアウトが発生したこと、すなわち一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。また、メイン制御部41は、割込処理の実行中に他の割込を自動的に禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、割込処理が終了した時点で割込禁止が自動的に解除され、その時点で新たな割込が発生することとなる。尚、割込処理の実行中に他の割込を自動的に禁止するように設定され、割込処理が終了した時点で割込禁止が自動的に解除されるのではなく、割込処理の開始時にプログラムによって他の割込を禁止し、割込処理の終了時にプログラムによって割込禁止を解除するようにしても良い。
メイン制御部41は、メイン処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
演出制御基板90には、演出用スイッチ56が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。また、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。尚、本実施例では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90または他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部91及び出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
演出制御基板90は、サブCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部91と、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92と、演出効果LED52と、リールLED55の駆動制御を行うLED駆動回路93と、スピーカ53、54からの音声出力制御を行う音声出力回路94と、電源投入時またはサブCPU91aからの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95と、演出制御基板90に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路96と、日付情報及び時刻情報を含む時間情報を出力する時計装置97と、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98と、その他の回路等、が搭載されている。
サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、ROM91bに記憶されている演出制御用のプログラム等に従って演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔(約2ms)毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定値6からさらに操作されたときは、設定値1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。また、メイン制御部41は、設定変更状態に移行することに伴いRAM41cを初期化することとなるため、設定値を変更する操作は、メイン制御部41の制御状態を初期化する操作としても機能することとなる。
尚、設定キースイッチ37がon状態で電源投入された場合に、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉1bが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がoffとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をon状態とすれば良い。このような状況で設定キースイッチ37をon状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をoff状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37がon状態となったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉1bが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がoffとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。
本実施例のスロットマシン1においては、メイン制御部41は、タイマ割込処理(メイン)を実行する毎に、電断検出回路48からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、次回復帰時にRAM41cのデータが正常か否かを判定するためのデータを設定する電断処理(メイン)を実行する。
そして、メイン制御部41は、その起動時においてRAM41cのデータが正常であることを条件に、RAM41cに記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させるが、RAM41cデータが正常でない場合には、RAM異常と判定し、RAM異常エラーコードをレジスタにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
エラー状態は、リセット操作(リセット/設定スイッチ38またはリセットスイッチ23の操作)により解除される通常エラー状態と、前述した設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない特殊エラー状態と、を含み、RAM異常エラー状態は、特殊エラー状態であり、一度RAM異常エラー状態に制御されると、設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない。
また、サブ制御部91もタイマ割込処理(サブ)において電断検出回路98からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にRAM91cのデータが正常か否かを判定するためのデータを設定する電断処理(サブ)を実行する。
そして、サブ制御部91は、その起動時においてRAM91cのデータが正常であることを条件に、RAM91cに記憶されているデータに基づいてサブ制御部91の処理状態を電断前の状態に復帰させるが、RAM91cのデータが正常でない場合には、RAM異常と判定し、RAM91cを初期化するようになっている。この場合、メイン制御部41と異なり、RAM91cが初期化されるのみで演出の実行が不能化されることはない。
また、サブ制御部91は、その起動時においてRAM91cのデータが正常であると判断された場合でも、メイン制御部41から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部41の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、RAM91cを初期化するようになっている。この場合も、RAM91cが初期化されるのみで演出の実行が不能化されることはない。
次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域のうちの使用可能領域は、遊技RAM領域、未使用領域4、非遊技RAM領域に区分されている。さらに遊技RAM領域は、特別ワーク、重要ワーク、一般ワーク、未使用領域3、遊技スタック領域に区分されている。特別ワークは、設定値が変更されても初期化されないデータが格納されるワークであり、ソフトウェア乱数、設定値、遊技状態を示すデータ等が格納される。重要ワークは、特定の遊技状態(RB、BB)の終了時に初期化すると不都合のあるデータが格納されるワークであり、LEDの表示用データ、入力ポート、出力ポートの入出力データ、遊技時間の計時カウンタ等が格納される。一般ワークは、特定の遊技状態の終了時に初期化可能なデータが格納されるワークであり、停止図柄、メダルの払出枚数等が格納される。未使用領域3は、いずれのプログラムでも使用されないワークである。遊技スタック領域は、後述する遊技プログラムの実行中にメイン制御部41のレジスタから退避したデータが格納される領域である。
本実施例においてメイン制御部41は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているとき、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、設定変更状態が終了されたとき、特定の遊技状態(RB、BB)の終了時、1ゲームの終了時、の5つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる5種類の初期化を行う。
初期化0は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているときに行う初期化であり、初期化0では、使用可能領域全ての領域が初期化される。初期化1は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないときに行う初期化であり、初期化1では、遊技RAM領域の特別ワーク以外の領域、非遊技RAM領域の全ての領域が初期化される。初期化2は、設定キースイッチ37がONの状態での起動で設定変更状態が終了された後に行う初期化であり、初期化2では、遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域が初期化される。初期化3は、特定の遊技状態の終了時に行う初期化であり、初期化3では、遊技RAM領域のうち一般ワーク、未使用領域3及び遊技スタック領域(未使用)が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、遊技RAM領域の未使用領域3及び遊技スタック領域(未使用)が初期化される。尚、設定値や遊技状態を示すデータの格納領域は、特別ワークに割り当てられており、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、すなわちRAM41cのデータが正常で設定変更される場合には、設定値や遊技状態を示すデータが保持されることとなる。また、後述のタイマカウンタの格納領域は、重要ワークに割り当てられており、ゲームの終了時や特定の遊技状態の終了時には初期化されることなく保持されることとなる。
また、本実施例のメイン制御部41は、上述の初期化実行する際には、初期化対象のRAMアドレスとして開始アドレスと終了アドレスが指定されることで、指定された開始アドレスから1バイト分のデータを0で上書きした後、当該1バイトのデータの論理和を計算し、計算結果が0であれば、次のアドレスに移動する処理を、指定された終了アドレスに達するまで繰り返し行うことで、指定されたアドレスの範囲のRAM領域を初期化する。
本実施例におけるメイン制御部41は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部41が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止/許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部41は、割込が禁止された状態で起動することとなる。その後、後述のHWパラメータを参照して各種機能を設定した後、プログラム/データ領域に格納されたプログラムに従って、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理を開始する。
メイン制御部41は、初期設定処理において、まず、割込を禁止に設定した後、起動時に設定キースイッチ37がONの状態であるか否かを判定し、起動時に設定キースイッチ37がONの状態であると判定された場合に、設定変更処理に移行し、設定変更処理の開始時にRAM41cの初期化を行う。この際、RAM41cのデータが正常であれば、特別ワークを保持してそれ以外の領域を初期化することで、設定変更後も変更前の制御状態(設定値や遊技状態等)の一部を保持することができる一方で、RAM41cのデータが正常でない場合には、特別ワークを含む使用可能領域の全ての領域を初期化することで、RAM41cのデータに異常を確実に解消することができるようになっている。
RAM41cを初期化した後、割込を許可に設定し、リセット/設定スイッチ38が操作れる毎に設定値を1〜6の範囲で1ずつ更新し、スタートスイッチ7のONが検出された後、設定キースイッチ37のONが検出されたときの設定値をRAM41cに格納して、設定変更処理を終了させる。
このように、メイン制御部41は、割込マスタ許可フラグの初期値が割込の禁止を示す値であり、割込が禁止された状態で起動し、起動後の初期設定処理においても、まず、割込を禁止に設定したうえで、その後の初期設定処理を実行するようになっているので、意図しない割込が発生することを防止できる。
また、メイン制御部41は、設定変更処理の終了後、遊技単位毎にゲームの進行に応じて段階的に処理を行うメイン処理を実行する。また、メイン処理では、遊技単位毎にRAM41cの初期化を行うとともに、設定変更処理の終了時にもRAM41cの初期化を行う。そして、設定変更処理の終了後、メイン処理においてRAM41cの初期化を行う処理の前の段階からメイン処理を開始するようになっており、設定変更処理の終了後のRAM41cの初期化と、遊技単位毎のRAM41cの初期化と、を共通の処理にて行うことが可能となる。
本実施例のスロットマシン1は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。
そして、本実施例では、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
次に、本実施例の内部抽選について説明する。内部抽選は、メイン制御部41が、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、スタートスイッチ7の検出時)に決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、乱数回路508bにより生成され、乱数回路508bの乱数値レジスタに格納されている値をRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。
そして、内部抽選の結果を示す当選番号をRAM41cに設定する。当選番号は、内部当選フラグの設定、ナビ報知、コマンド作成、リール2L、2C、2Rの停止制御等に用いられる。
また、いずれかの役の当選が判定された場合には、当選番号に基づいて当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、特別役格納ワーク及び一般役格納ワークをクリアする。
また、内部抽選では、後述するATに制御されていない状態においてATに制御するか否かが決定されるとともに、ATに制御されている状態において当該ATの残りゲーム数を上乗せするか否かが決定される。内部抽選でATが当選した場合には、その後ATに制御され、ATの残りゲーム数の上乗せが当選した場合には、当選したゲーム数がATの残りゲーム数に加算されることとなる。
次に、リール2L、2C、2Rの停止制御について説明する。メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、当選番号及びROM41bに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
本実施例では、滑りコマ数として0〜4の値が定められており、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大4コマの引込範囲で揃えずに停止させる制御が行われることとなる。特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。
本実施例においてメイン制御部41は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間(本実施例では4.1秒)以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技のためのリールの回転を開始させる。一方、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点でリールの回転を開始させる。
本実施例においてメイン制御部41は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する制御を行う。これら外部出力信号は、外部出力基板1000、スロットマシン1が設置される遊技店(ホール)の情報提供端子板を介してホールコンピュータなどのホール機器に出力されるようになっている。
メイン制御部41は、賭数の設定に用いられたメダル数を示すメダルIN信号、入賞の発生により遊技者に付与されたメダル数を示すメダルOUT信号、遊技状態がRB(レギュラーボーナス)中の旨を示すRB中信号、遊技状態がBB(ビッグボーナス)中の旨を示すBB中信号、後述するATの開始を示すAT信号、前面扉1bが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット34の異常を示す払出エラー信号をそれぞれ出力する。
外部出力基板1000には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。遊技制御基板40から出力された信号のうち、メダルIN信号、メダルOUT信号、RB中信号、BB中信号、AT信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。
本実施例では、メイン制御部41は、サブ制御部91に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、AT状態コマンド、内部当選コマンド、押し順コマンド、リール加速情報コマンド、加速完了コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンドを含む複数種類のコマンドを送信する。これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1バイトの拡張データとからなり、サブ制御部91は、種類データからコマンドの種類を判別できるようになっている。
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、MAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
遊技状態コマンドは、当該ゲームの遊技状態を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。
AT状態コマンドは、後述するAT中か否か、ATの残りゲーム数等を特定可能なコマンドであり、ゲームが開始したときであって、遊技状態コマンドの後に送信される。
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときであって、AT状態コマンドの後に送信される。内部当選コマンドは、特別役が当選しているか否かを特定可能な第1の内部当選コマンドと、一般役が当選しているか否かを特定可能な第2の内部当選コマンドと、を含み、第1の内部当選コマンドが送信された後に、第2の内部当選コマンドが送信される。
押し順コマンドは、停止順を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始されたときであって、内部当選コマンドが送信された後、及び各リールの停止操作に伴う停止制御が行われる毎に、停止コマンドが送信された後に送信される。尚、後述のナビ報知が実行されるゲームにおいては、ゲーム開始時から遊技者にとって有利な停止順を特定可能な押し順コマンドが送信され、後述のナビ報知が実行されないゲームにおいては、有利な停止順が確定するまでは遊技者にとって有利な停止順を特定不能な押し順コマンドが送信され、有利な停止順が確定したときから遊技者にとって有利な停止順を特定可能な押し順コマンドが送信される。
遊技状態コマンド、AT状態コマンド、内部当選コマンドは、スタートスイッチ7が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ7が操作されてゲームが開始したことを特定可能である。
リール加速情報コマンドは、遊技の進行に伴いリールの回転が開始する旨を特定可能なコマンドであり、遊技の進行に伴いリールの回転を開始するときに送信する。
加速完了コマンドは、遊技の開始に伴うリールの加速が完了した旨を特定可能なコマンドであり、遊技が開始された際にリール2L、2C、2Rの回転が開始させた後、最初に全てのリール2L、2C、2Rが定速回転となったときに送信される。
停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。
滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。
停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。
停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。
遊技終了コマンドは、遊技が終了された旨を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。
入賞判定コマンドは、入賞の有無、入賞ラインLNに揃った図柄の組合せ、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。
遊技終了コマンド、入賞判定コマンドは、いずれも遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、1ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに終了推定時間(本実施例では60秒)経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部41の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部41の制御状態が初期化されたことを特定可能である。
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちon(開放状態)/off(閉状態)を示すコマンドであり、電源投入時、1ゲーム終了時(ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点)、及びドア開放検出スイッチ25の検出状態が変化(onからoff、offからon)した時に送信される。
これらコマンドは、メイン処理またはタイマ割込処理(メイン)において生成され、RAM41cに設けられたコマンドキューに一時格納され、タイマ割込処理(メイン)のコマンド送信処理おいて送信される。
次に、メイン制御部41が演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。サブ制御部91は、メイン制御部41からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
サブ制御部91は、タイマ割込処理(サブ)において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の出力制御を行う。制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLED55の点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部91は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
尚、サブ制御部91は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブ制御部91は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
本実施例におけるスロットマシン1では、メイン制御部41により、内部抽選結果に応じて遊技者にとって有利となる停止順を遊技補助表示器12の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム(以下、ATという)に制御可能となっている。
メイン制御部41は、ATに制御している場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ報知を実行して、当選したナビ報知役の当選番号に基づいて遊技者にとって有利となる停止順を報知するとともに、当該当選番号に基づいて遊技者にとって有利となる停止順を特定可能な押し順コマンドをサブ制御部91に対して送信することで、液晶表示器51等を用いたナビ演出を実行させる。また、本実施例においてメイン制御部41は、ATに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
図6は、メイン制御部41が用いるメモリ領域のアドレスマップである。図6に示すように、メイン制御部41が用いるメモリ領域は、ROM41bに割り当てられたメモリ領域(0000H〜7FFFH)と、RAM41cに割り当てられたメモリ領域(F000H〜FFFFH)と、を含む。
ROM41bのメモリ領域は、プログラム及び固定データが格納されるプログラム/データ領域(0000H〜26FFH)と、プログラムのタイトル、バージョン等の任意のデータを設定可能なROMコメント領域(2700H〜277FH)と、後述するCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが設定されるベクタテーブル領域(2780H〜27A7H)と、メイン制御部41の内部機能をハードウェア的に設定するためのパラメータが設定されるHWパラメータ領域(27A8H〜27FFH)と、アクセスが禁止される未使用領域(2800H〜7FFFH)を含む。
ROM41bにおけるHWパラメータ領域に設定されるパラメータは、プログラム/データ領域で使用するROM領域の最終アドレス(HPRGEND)、アクセス禁止するRAM領域の開始アドレス(HRAMSTAT)及び最終アドレス(HRAMEND)を含む。
RAM41cのメモリ領域は、ワークとして使用可能な使用可能領域(F000H〜F400H)と、メイン制御部41に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域(F4B0H〜F6FFH)と、アクセスが禁止される未使用領域(F401H〜F4AFH、F700H〜FFFFH)と、を含む。
図7は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。
図7(a)に示すように、ROM41bにおけるプログラム/データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域1と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域2と、を含む。
尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。
遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちROM41bの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも16バイト以上の未使用領域1が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも16バイト以上の未使用領域1を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。
尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域1を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
また、ROM41bのプログラム/データ領域の未使用領域1、2には、全ての領域に0値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
尚、ROM41bのプログラム/データ領域の未使用領域1、2における全ての領域に1が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当たられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレス(0H)から開始するようになっており、ROM41bのプログラム/データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレスから開始するだけでなく、16進数表記した場合に下位1桁の値が同じ0のアドレス(0H)から開始するので、アドレスを2進数表記した場合だけでなく、16進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。
尚、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを2進数表記したか、16進数表記したか、に関わらず、下位N(Nは1以上の自然数)桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、例えば、下位N(Nは1以上の自然数)桁の値が同じ1のアドレスから開始する構成でも同様の効果が得られるものである。
図7(b)に示すように、RAM41cの使用可能領域は、遊技プログラムがワークとして用いる遊技RAM領域と、非遊技プログラムがワークとして用いる非遊技RAM領域と、未使用領域4と、を含んでおり、遊技RAM領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域3と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技RAM領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。尚、本実施例では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。
未使用領域3は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技RAM領域に対して余剰となった領域である。
また、未使用領域4は、遊技プログラム及び非遊技プログラムのいずれも使用しない16バイト以上の領域である。遊技RAM領域と、非遊技RAM領域とが、未使用領域4を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技RAM領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技RAM領域と、を記憶領域の違いに応じて容易に特定することができる。
以下では、遊技プログラム領域、遊技データ領域及び遊技RAM領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技RAM領域をまとめて非遊技領域と称す場合がある。また、未使用領域1及び未使用領域2、未使用領域3及び未使用領域4をまとめて未使用領域と称す場合がある。
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、RAM41cの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
また、上記では、プログラム/データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム/データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、IAT回路506aがIAT発生信号を出力することで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
また、上記では、プログラム/データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム/データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。
メイン制御部41が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンと、を含む。
また、メイン制御部41にプログラム/データ領域に格納されたプログラムを実行させる命令として、CALL命令を含む。
CALL命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部41は、CALL命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちCALL命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
また、CALL命令は、通常のCALL命令と、特殊なCALL命令であるCALLV命令と、を含む。通常のCALL命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、CALLV命令は、下位アドレスのみを指定することで、ROM41bのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。
RST命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のCALL命令やCALLV命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部41は、RST命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちRST命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。
ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部41は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、CALL命令やRST命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。
ROM41bに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ROM41bの遊技プログラム領域のうち先頭アドレスが特定値(例えば00H)となる領域に格納されている。一方、ROM41bのベクタテーブル領域には、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部41は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
本実施例では、CALLV命令により用いられるROM41bのベクタテーブル領域、及びRST命令により用いられるROM41bの特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、CALLV命令及びRST命令では通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能であるため、遊技プログラムにおいてCALLV命令やRST命令を用いることで、当該遊技プログラムのデータ容量を削減することができるようになっている。また、ROM41bのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、非遊技プログラムの先頭が格納されないようになっており、CALLV命令及びRST命令により非遊技プログラムが呼び出されるようになってしまい、遊技プログラムのデータ容量の削減を阻害することがないようになっている。
尚、ROM41bに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ROM41bの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、CALLV命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。
また、CALLV命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なCALL命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なCALL命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、ROM41bに格納された遊技データのうち特に使用頻度の高い遊技データを、ROM41bの遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、特殊なLD命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となる遊技データを呼び出すときに、特殊なLD命令を用いて下位アドレスのみ指定することで、これらの遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて遊技データを呼び出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、ROM41bに格納された非遊技データのうち特に使用頻度の高い非遊技データを、ROM41bの非遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、特殊なLD命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となる非遊技データを呼び出すときに、特殊なLD命令を用いて下位アドレスのみ指定することで、これらの非遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて非遊技データを呼び出すことが可能となり、これらの非遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
メイン制御部41は、システムリセット信号の入力によるシステムリセット、WDT506bによるWDTリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはFFFFH(未使用のベクタテーブル領域に設定される値)であるか、を判定し、ベクタテーブル領域に設定された値がプログラムの設定される領域外を示す値でもなく、FFFFHでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
メイン制御部41にプログラム/データ領域に格納されたデータを読み出す命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタに読み出したデータを格納する。
また、LD命令は、通常のLD命令と、特殊なLD命令であるLDQ命令と、を含む。通常のLD命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりROM41bまたはRAM41cの特定領域に格納されているデータを読み出す命令であるのに対して、LDQ命令は、下位アドレスのみを指定することで、前述のRAM41cの内部機能レジスタ領域における特別なレジスタ(Qレジスタ)に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してROM41bまたはRAM41cの特定領域に格納されているデータを読み出して指定されたレジスタに読み出したデータを格納する命令であり、通常のLD命令に比較して少ないデータ量で所定のデータを所定のレジスタに格納することが可能となる。
メインルーチンまたはサブルーチンにおいてROM41b、RAM41cの特定領域に格納されているデータを読み出す場合に、特殊なLD命令であるLDQ命令を用いることで、特定領域を示す全てのアドレス(上位部分および下位部分)を指定するのではなく、アドレスの下位部分のみを指定して特定領域のデータを読み出すことが可能である。LDQ命令を用いることで、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にてデータを読み出すことが可能となり、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、RAM41cの遊技RAM領域に格納された遊技データのうち特に使用頻度の高い遊技データを、遊技RAM領域のうち先頭アドレスが特定値となる領域に格納するとともに、当該特定値を特別なレジスタ(Qレジスタ)に遊技データの上位アドレスとして設定し、当該遊技データをメイン制御部41が読み出すときに、LDQ命令を用いて下位アドレスのみ指定することで、遊技データを読み出す構成とした場合に、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて遊技データを読み出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、メイン制御部41は、特別なレジスタ(Qレジスタ)に設定する値を、メインルーチンまたはサブルーチンにおいて変更することが可能であり、後述するように起動時において行う初期設定処理での内蔵レジスタの設定において、特別なレジスタ(Qレジスタ)に、特に遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値を設定するようになっている。また、遊技プログラムから非遊技プログラムを呼び出す際には、特別なレジスタ(Qレジスタ)に設定する値を退避し、遊技プログラムに復帰した際に、特別なレジスタ(Qレジスタ)に設定する値を退避していた値に再び設定するようになっている。これらにより、遊技プログラムが実行されているときには、遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値が特別なレジスタ(Qレジスタ)に設定されるようになっており、遊技プログラムは、LDQ命令を用いて使用頻度の高い遊技データを読み出すことができるようになっている。
尚、特殊なLD命令としてLDQ命令で読み出す際に用いる上位アドレスを、特別なレジスタ(例えば、Qレジスタ)以外の所定の記憶領域、例えば、ベクタテーブル領域に設定する構成としても良く、ベクタテーブル領域などの所定の記憶領域に格納された値を用いてアドレスの一部が特定され、アドレスの残りの部分をプログラムにより指定することで、データの格納アドレスが特定可能となる特殊なLD命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、例えば、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なLD命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、本実施例では、Qレジスタに特定値として、特定プログラムにおいて用いられる値と同一の値を記憶させる構成であるが、特定プログラムにおいて用いられる値と異なる値を記憶させる構成としても良い。例えば、非特プログラムが呼び出される際に、Qレジスタに特定値として特定プログラムにおいて用いられる値と異なる値であって、非遊技プログラムにおける使用頻度の高いデータの記憶されている記憶領域の先頭アドレスの値を記憶させ、非特定プログラムにおいてデータを呼び出す際にLDQ命令を用いることで、非特定プログラムのデータ容量を削減することができる。
遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
遊技プログラムは、図8に示すように、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む。
遊技専用プログラムは、例えば、遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理、外部出力1処理、初期設定処理、電断処理、エラー処理を含む。遊技開始待ち処理は、1ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ7が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール制御処理は、リールの回転を開始させ、ストップスイッチ8L、8C、8Rが操作されることでリールを停止させるための処理であり、遊技終了時設定処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力1処理は、外部出力信号のうちメダルIN信号、メダルOUT信号、RB中信号、BB中信号、RT中信号の出力制御を行うための処理であり、初期設定処理は、電源投入時においてゲームを可能な状態とするための処理(バックアップ異常確認、レジスタ初期化等)であり、電断処理は、電断発生時に、その後電断前の状態に復帰できるようにするための処理であり、エラー処理は、各種の異常(メダルの投入異常、メダルセレクタ29内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、RAM異常、設定値異常、ホッパータンク34aの空、オーバーフロータンク35の満タン検知等)が検知された場合に遊技を不能化するための処理である。また、特に図示しないが、遊技プログラムは、前述のATに関連する処理(ATに係る抽選やナビ報知に係る制御等)も含む。
遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ31によるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ34cによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。
遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、LED表示処理は、指定された値をLEDに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。
特に、遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件(乱数異常、RAM異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作)が成立するまで遊技の進行を不能化するエラー処理を含む。
遊技プログラムでは、前述のCALL命令やLD命令について、特殊なCALL命令であるCALLV命令、RST命令、特殊なLD命令であるLDQ命令を含むいずれの命令も使用されることがあり、特殊なCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことも、特殊なLD命令を用いてROM41b、RAM41cにおける特定の遊技データ、非遊技データを読み出すことも可能になっている。
非遊技プログラムは、図8に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。
非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力2処理、投入メダルエラー判定処理、払出メダルエラー判定処理、停電判定処理、通常時コマンド送信処理、電断時コマンド送信処理、遊技機情報表示処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ26によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉1bの開放を検知するための処理であり、外部出力2処理は、外部出力信号のうちセキュリティ信号(ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号)の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ31の検出状況に基づいて投入メダルの逆流検知、メダルセレクタ29内のメダル詰り検知、メダルセレクタ29内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ34cの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、停電判定処理は、電断検出回路48からの電圧低下信号が検出されているか否かを判定するための処理であり、通常時コマンド送信処理は、遊技専用プログラム及び非遊技専用プログラムのコマンド設定処理によりコマンドキューに設定されているコマンドのうち最初に設定された一のコマンドをサブ制御部91に対して送信するための処理であり、電断時コマンド送信処理は、コマンドキューに設定されている全てのコマンドをサブ制御部91に対して送信するための処理であり、遊技機情報表示処理は、後述の有利区間割合等のスロットマシン1に関する情報を集計して計算し、当該計算結果に基づく情報を、遊技制御基板40に搭載された遊技機情報表示器50に表示させる処理である。
非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。
非遊技プログラムは、遊技の進行に係わらない検知手段(投入口センサ26、満タンセンサ35a、ドア開放検出スイッチ25)の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。
また、非遊技プログラムは、複数の制御状態(遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理)のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段(例えば、投入メダルセンサ31、払出センサ34c)が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理(例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理)を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。
非遊技プログラムでは、前述のCALL命令について、通常のCALL命令が使用される一方、特殊なCALL命令であるCALLV命令が使用されないようになっており、通常のCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことがある一方で、特殊なCALL命令を用いてサブルーチンを呼び出すことがなく、非遊技プログラムによりROM41bにおける遊技プログラム領域にアクセスされてしまうことがないようになっている。
また、非遊技プログラムでは、前述のLD命令について、通常のLD命令が使用される一方、特殊なLD命令であるLDQ命令が使用されないようになっており、通常のLD命令を用いてアドレスを特定して所定のデータを読み出すことがある一方で、特殊なLD命令を用いてサブルーチンやデータを読み出すことがないようになっている。
尚、遊技プログラムに含まれる処理のうち、外部出力1処理、遊技開始待ち処理においてメダルの投入数を計数する処理、流路切替ソレノイド30を切り替える処理、遊技終了時設定処理においてメダルの払出数を計数する処理、ホッパータンク34aが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ATに関連する処理、内部当選コマンドの送信処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。
このように、本実施例では、特殊なCALL命令であるCALLV命令やRST命令により用いられるROM41bのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、これらの特殊なCALL命令を用いることで遊技プログラムを呼び出すことが可能になっている。このように特殊なCALL命令により遊技プログラムのみを呼び出すことが可能な場合には、非遊技プログラムにより特殊なCALL命令が用いられることで、非遊技プログラムにより遊技プログラムが呼び出されてしまい、意図しない遊技の進行が行われたり、意図しない遊技プログラムにより遊技データが書き換えられてしまう虞がある。これに対して、非遊技プログラムにより特殊なCALL命令によらず通常CALL命令によりプログラムを呼び出すことで、ベクタテーブル領域及び特定アドレスの領域を用いないことにより、意図せず遊技プログラムが呼び出されて遊技の進行が行われることを防止できるようになっている。
また、本実施例では、特殊なLD命令であるLDQ命令は、特別なレジスタ(Qレジスタ)に記憶されている特定値を用いて遊技RAM領域を特定して、所定の遊技データを読み出すことが可能になっているが、特殊なLD命令により遊技データを読み出す際に、特別なレジスタ(Qレジスタ)の特定値が破損している場合には、遊技RAM領域を正常に特定することができず、意図しないデータが読み出されてしまう虞がある。これに対して、非遊技プログラムにより特殊なLD命令であるLDQ命令によらず通常のLD命令によりデータを読み出すことで、遊技プログラムから非遊技プログラムに切り替わったときに特定値が破損した場合でも、非遊技プログラムから遊技RAM領域を特定してデータが読み出されるので、意図しないデータが読み出されることを防止できるようになっている。
本実施例においてメイン制御部41のCPU41aは、図9に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
図9に示すように、CPU41aは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技RAM領域をワークとして使用し、遊技RAM領域の内容を参照及び更新することが可能である。また、CPU41aは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技RAM領域をワークとして使用し、非遊技RAM領域の内容を参照及び更新することが可能である。
また、CPU41aは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技RAM領域を更新することはないが、非遊技RAM領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技RAM領域を更新することはないが、遊技RAM領域を参照することは可能である。
また、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされている。また、非遊技RAM領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技RAM領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技RAM領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてROM41bに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
また、本実施例では、遊技プログラムを実行する際に、非遊技RAM領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技RAM領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技RAM領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技RAM領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
また、本実施例では、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされているので、遊技プログラムが非遊技RAM領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。
本実施例のメイン制御部41は、図10(a)に示すように、メイン処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能であり、図10(b)に示すように、タイマ割込処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能である。
図10(a)に示すように、遊技プログラムに基づくメイン処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、呼出共通処理1を実行する。呼出共通処理1は、遊技プログラムに含まれる処理であり、呼出共通処理1では、前述の特別なレジスタ(Qレジスタ)を含む遊技プログラムにより用いるレジスタを遊技スタック領域に退避させるとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、割込マスタ許可フラグの値を割込禁止を示す値に設定することでタイマ割込を禁止に設定し、その後、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。
これに対して、呼び出された非遊技プログラムに基づいて、非遊技プログラムのスタックポインタ(非SP、非遊技スタック領域の現在の位置を示すアドレス)を設定して、非遊技プログラムの処理を実行した後、呼び出し元の遊技プログラム、すなわち呼出共通処理1に復帰する。
呼出共通処理1に復帰した後には、呼出共通処理1は、割込マスタ許可フラグの値を割込許可を示す値に設定することでタイマ割込の禁止を解除し、遊技スタック領域及びSP退避領域に退避させていたデータに基づいて、前述の特別なレジスタ(Qレジスタ)を含む遊技プログラムにより用いるレジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。
このように、本実施例では、遊技プログラムが非遊技プログラムを呼び出す際に、呼出共通処理1により、割込を禁止に設定し、当該非遊技プログラムから遊技プログラムに復帰する際に、割込の禁止を解除するので、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。
また、メイン処理における遊技プログラムでは、呼出共通処理1を実行することで、非遊技プログラムを呼び出す際に、特別なレジスタ(Qレジスタ)を含むレジスタを退避させ、非遊技プログラムが終了されて、遊技プログラムに復帰した際に、特別なレジスタ(Qレジスタ)を含むレジスタを復帰させるので、LDQ命令を用いる際には、起動時において行う特別なレジスタ(Qレジスタ)に設定された特定値に基づいて遊技データの格納されている領域のアドレスを特定してデータを読み出すことができる。
尚、非遊技プログラムが、遊技プログラムに基づくメイン処理から呼び出された場合に、当該非遊技プログラムが、最初に割込を禁止に設定したうえで、各種処理を実行し、当該非遊技プログラムの最後に割込の禁止を解除する構成としても良く、このような構成とすることで、本実施例と同様に、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。また、非遊技プログラムにより割込の禁止及び解除の設定が行われるため、遊技プログラムの呼出共通処理1において割込の禁止の設定及び解除する必要がなくなり、遊技プログラムの容量を削減することができる。
図10(b)に示すように、遊技プログラムに基づくタイマ割込処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、呼出共通処理2を実行する。呼出共通処理2では、前述の特別なレジスタ(Qレジスタ)を含む遊技プログラムのレジスタを遊技スタック領域に退避させるとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。
これに対して、呼び出された非遊技プログラムは、非遊技プログラムのスタックポインタを設定し、非遊技プログラムの処理を実行した後、呼び出し元の呼出共通処理2に復帰する。
呼出共通処理2に復帰した後には、呼出共通処理2は、遊技スタック領域及びSP退避領域に退避させていたデータに基づいて、前述の特別なレジスタ(Qレジスタ)を含む遊技プログラムにより用いるレジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。
このように、呼出共通処理2では、呼出共通処理1と異なり、タイマ割込を禁止に設定及び解除しないが、上述のようにメイン制御部41では、タイマ割込処理の実行中に他の割込処理が実行されることが禁止されているので、非遊技プログラムが実行されている期間にわたり割込を禁止できる。
また、タイマ割込み処理における遊技プログラムでは、呼出共通処理2を実行することで、非遊技プログラムを呼び出す際に、特別なレジスタ(Qレジスタ)を含むレジスタを退避させ、非遊技プログラムが終了されて、遊技プログラムに復帰した際に、特別なレジスタ(Qレジスタ)を含むレジスタを復帰させるので、LDQ命令を用いる際には、起動時において行う特別なレジスタ(Qレジスタ)に設定された特定値に基づいて遊技データの格納されている領域のアドレスを特定してデータを読み出すことができる。
本実施例では、遊技プログラムが、呼出共通処理1及び呼出共通処理2を実行することで、非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を退避させて保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。
尚、呼出共通処理1及び呼出共通処理2を実行することなく、遊技プログラムにおいて遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。
また、非遊技プログラムが呼び出された場合に、当該非遊技プログラムが、最初に遊技プログラムのスタックポインタ及びレジスタを退避させ、当該非遊技プログラムの最後に遊技プログラムのスタックポインタ及びレジスタを復帰させる構成としても良く、このような構成とすることで、本実施例と同様に、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができるとともに、遊技プログラムの容量を削減することができる。
次に、本実施例におけるメイン制御部41が実行する各種制御内容を、図11〜図18に基づいて以下に説明する。
まず、メイン制御部41が起動時に実行する初期設定処理について説明する。メイン制御部41は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部41が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止/許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部41は、割込が禁止された状態で起動することとなる。その後、メイン制御部41は、HWパラメータを参照して各種機能を設定した後、プログラム/データ領域に格納されたプログラムに従って初期設定処理を行う。尚、本実施例において初期設定処理は、遊技プログラムに含まれる。
図11に示すように、初期設定処理では、まず、割込マスタ許可フラグの値を割込禁止を示す値に設定することで割込を禁止する(Sa1)。前述のようにメイン制御部41は、割込禁止の状態で起動することとなるが、Sa1では、再度、割込を禁止する。次いで、初期化データをセットし(Sa2)、パラレル出力ポート513を含む各出力ポートを初期化する(Sa3)。次いで、内蔵レジスタの設定を行う(Sa4)。Sa4のステップにおいては、前述の特別なレジスタ(Qレジスタ)を含む内蔵レジスタに所定の値を設定し、特に特別なレジスタ(Qレジスタ)については、遊技プログラムによる使用頻度の高い遊技データの先頭のアドレスを示す特定値を設定する。
次いで、電源電圧が正常か否かを判定する(Sa5)。電源電圧が正常でない場合には正常になるまで判定を繰り返す。電源電圧が正常である場合には割込ベクタの上位アドレスをセットする(Sa6)。そして、RAM41cへのアクセスを許可し(Sa7)、スタックポインタを初期化する(Sa8)。
次いで、RAM41cの使用可能領域のうち遊技RAM領域(遊技スタック領域、未使用領域3を含む、F000H〜F1FFHの領域)のRAMパリティを計算する(Sa9)。そして、計算したRAMパリティが0か否かを判定する(Sa10)。後述のように前回の電源遮断時に正常に電断処理(メイン)が行われていれば、RAMパリティが0になるはずであるので、Sd10のステップにおいてRAMパリティが0でなければ、RAM41cの遊技RAM領域に格納されているデータが正常ではなく、この場合にはSa13ステップに進み、破壊診断用データをクリアする(Sa13)。一方、RAMパリティが0になる場合には、更に遊技RAM領域に格納されている破壊診断用データを取得し(Sa11)、取得した破壊診断用データが正しいか否かを判定し(Sa12)、破壊診断用データをクリアする(Sa13)。
次いで、設定キースイッチ37がON状態か否かを判定する(Sa14)。設定キースイッチ37がON状態の場合には、タイマ割込の設定を行う(Sa19)。具体的には、所定時間毎に定期的にタイマ割込が実行されるようにメイン制御部41に内蔵されているタイマ回路509のレジスタの設定を行う。本実施例では約0.56msに相当する値が所定のレジスタ(時間定数レジスタ)に設定されることで、約0.56ms毎に定期的にタイマ割込が発生することとなる。また、タイマ回路509ではレジスタの設定が行われることにより、タイマが初期化され、初期値から計時を開始することになる。Sa19のステップにおけるタイマ割込の設定が終了すると設定変更処理に移行する。
一方、設定キースイッチ37がOFF状態の場合には、RAM41cの記憶内容が破壊されているか否かを判定する(Sa15)。Sa15のステップでは、後述するRAM異常フラグが設定されているか否か、Sa10、Sa12の判定に基づきRAM41cの記憶内容が破壊されているか否かを判定する。RAM41cの記憶内容が破壊されていない場合には、復帰コマンドをサブ制御部91に送信する(Sa16)。尚、RAM41cの記憶内容が破壊されていない場合とは、RAM異常フラグがセットされておらず、かつSa10のステップにおいてRAMパリティが0であると判定され、さらにSa12のステップにおいて破壊診断用データが正しいと判定された場合である。
Sa16のステップの後、RAM41cの遊技RAM領域に記憶されているデータに基づいて全てのレジスタを復帰させ(Sa17)、Sa19のステップと同様のタイマ割込の設定を行う(Sa18)。そして、後述のタイマ割込処理(メイン)のSd24の処理に移行する。これにより電断前のRAM41cの遊技RAM領域及び非遊技RAM領域の状態、電断前に実行していた処理に復帰することとなる。
また、Sa15のステップにおいてRAM41cの記憶内容が破壊されている場合には、RAM41cの記憶内容が正常でないことを示すRAM異常フラグをRAM41cにセットし(Sa20)、エラー処理に移行する。エラー処理では、遊技の進行が不能化される。また、RAM異常フラグが設定されて移行したエラー状態では、設定キースイッチ37をON状態にして電源スイッチ39をONにすることによって、設定変更処理に移行させることにより解除することができる。一方、設定キースイッチ37をON状態にせずに電源スイッチ39をONにした場合には、RAM異常フラグが設定されたままであり、Sa15のステップにおいてRAMが破壊されていると判定されることで、再びエラー状態となる。
次に、メイン制御部41が実行する設定変更処理について説明する。尚、本実施例において設定変更処理は、遊技プログラムに含まれる。
図12に示すように、メイン制御部41は、まず、RAM41cの開始アドレス、すなわち使用可能領域の開始アドレス(F000H)をレジスタにセットする(Sb1)。次いで、図11に示したSa15のステップと同様にRAM41cの記憶内容が破壊されているか否かを判定する(Sb2)。RAM41cの内容が破壊されていない場合、すなわちRAM内容が異常でない場合には、設定変更開始時の初期化対象RAMの先頭アドレス(使用可能領域のうち重要ワークが記憶されている領域の最終アドレスの次のアドレス)をレジスタにセットする(Sb3)。すなわちSb1で設定したアドレスを変更する。RAM41cの内容が破壊されている場合、すなわちRAM内容が異常である場合には、Sb4のステップに進む。
次いで、初期化対象RAMの最終アドレスとして遊技スタック領域(使用中)の最終アドレス(F1FFH)を指定し(Sb4)、遊技領域初期化処理を実行して、Sb1またはSb3のステップで指定したアドレスから初期化対象RAMの最終アドレスまでの領域を初期化する(Sb5)。Sb1のステップでは、使用可能領域の開始アドレス(F000H)がセットされるため、RAM内容が異常である場合には、Sb5のステップにおいて、RAM41cの遊技RAM領域の全ての領域が初期化されることとなる。一方、Sb3のステップでは、設定変更開始時の初期化対象RAMの先頭アドレスとして、使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレスがセットされるため、RAM内容が異常でない場合には、Sb5のステップにおいて、RAM41cの遊技RAM領域のうち特別ワーク以外の領域が初期化されることとなる。
その後、後述する非遊技領域初期化処理を実行して、未使用領域4の先頭アドレスから非遊技スタック領域(使用中)の最終アドレスまでの領域、すなわち未使用領域4及び非遊技RAM領域を初期化する(Sb6)。
次いで、設定変更状態の開始を示す設定コマンド(開始)をサブ制御部91に送信し(Sb7)、割込を許可する(Sb8)。
次いで、リセット/設定スイッチ38がOFFからONに変化したか否かを判定する(Sb9)。リセット/設定スイッチ38がOFFからONに変化した場合にはレジスタの設定値を更新(1〜5の場合は1加算し、6の場合は1に更新)する(Sb10)。リセット/設定スイッチ38が変化しなかった場合には、スタートスイッチ7がOFFからONに変化したか否かを判定する(Sb11)。スタートスイッチ7が変化しなかった場合には、Sb7のステップに戻る。一方、スタートスイッチ7がOFFからONに変化した場合には設定キースイッチ37がOFF状態か否かを判定する(Sb12)。設定キースイッチ37がOFF状態でない場合には、設定キースイッチ37がOFF状態になるまで待機する。設定キースイッチ37がOFF状態である場合には、レジスタにセットされている設定値のデータをRAM41cの特別ワークに格納する(Sb13)。
次いで、設定変更状態の終了を示す設定コマンド(終了)をサブ制御部91に送信する(Sb14)。そして、設定変更終了時の初期化対象RAMの先頭アドレス(使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレス)をレジスタにセットし(Sb14)、メイン処理に移行する。
次に、メイン制御部41が実行する遊技領域初期化処理について説明する。尚、本実施例において遊技領域初期化処理は、遊技プログラムに含まれる。
図13に示すように、メイン制御部41は、レジスタに設定されている初期化対象RAMの先頭アドレス及び終了アドレスを取得する(Sf1)。そして、初期化対象RAMの終了アドレス値から先頭アドレス値を減算して、初期化対象RAMの容量を算出し(Sf2)、算出した初期化対象RAMの容量をレジスタに設定する(Sf3)。また、初期化対象RAMの先頭アドレス値を指定アドレスとして設定して(Sf4)、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアする(Sf5)。その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、Sf5のステップに戻り、再度、1バイトのデータを0で上書きしてクリアする。そして、Sf6のステップにおいて計算結果が0であると判定された場合は、指定アドレスを、当該指定アドレスとして現在設定されているアドレスの次のアドレスに更新し(Sf7)、レジスタを1減算して(Sf8)、レジスタが0か否かを判定する(Sf9)。
Sf9のステップで、レジスタが0でないと判定した場合は、Sf5のステップに戻り、Sf5〜Sf9のステップの処理をレジスタが0となるまで繰り返し行う。また、Sf9のステップで、レジスタが0であると判定した場合は、遊技領域初期化処理を終了して、呼び出し元のプログラムに戻る。
このように、本実施例の遊技領域初期化処理では、初期化対象RAMの先頭アドレスと終了アドレスとが指定されることにより、初期化対象RAMの容量を算出し、初期化対象RAMの先頭アドレスから、初期化対象RAMの容量分の領域を順次クリアすることで、遊技RAM領域のうち指定された初期化対象RAMの領域を初期化する。
尚、本実施例の遊技領域初期化処理では、初期化対象RAMの先頭アドレス及び終了アドレスを指定することで、当該先頭アドレス及び終了アドレスに基づいて初期化対象RAMの容量を算出するとともに当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、初期化対象RAMの容量分の回数繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成であるが、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。
次に、メイン制御部41が実行する非遊技領域初期化処理について説明する。尚、本実施例において非遊技領域初期化処理は、非遊技プログラムに含まれる。
図14に示すように、メイン制御部41は、初期化対象RAMの先頭アドレスとして未使用領域4の先頭アドレスを設定する(Sg1)。そして、RAM41cの使用可能領域の最終アドレス値から初期化対象RAMの先頭アドレス値(未使用領域4の先頭アドレス値)を減算して、初期化対象RAMの容量を算出し(Sg2)、算出した初期化対象RAMの容量をレジスタに設定する(Sg3)。また、初期化対象RAMの先頭アドレス値(未使用領域4の先頭アドレス値)を指定アドレスとして設定して(Sg4)、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアする(Sg5)。その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、Sg5のステップに戻り、再度、1バイトのデータを0で上書きしてクリアする。そして、Sg6のステップにおいて計算結果が0であると判定された場合は、指定アドレスを、当該指定アドレスとして現在設定されているアドレスの次のアドレスに更新し(Sg7)、レジスタを1減算して(Sg8)、レジスタが0か否かを判定する(Sg9)。
Sg9のステップで、レジスタが0でないと判定した場合は、Sg5のステップに戻り、Sg5〜Sg9のステップの処理をレジスタが0となるまで繰り返し行う。また、Sg9のステップで、レジスタが0であると判定した場合は、非遊技領域初期化処理を終了して、呼び出し元のプログラムに戻る。
このように、本実施例の非遊技領域初期化処理では、初期化対象RAMの容量分のRAM領域を初期化対象RAMの先頭アドレス(未使用領域4の先頭アドレス)から順次クリアすることで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域、すなわち、未使用領域4及び非遊技RAM領域を初期化する。
尚、本実施例の非遊技領域初期化処理では、初期化対象RAMの先頭アドレスを指定することで、当該先頭アドレスに基づいて初期化対象RAMの容量を算出するとともに当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理が、初期化対象RAMの容量分の回数繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成であるが、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。
また、本実施例の非遊技領域初期化処理では、初期化対象RAMの先頭アドレスとして未使用領域4の先頭アドレスを設定することで、未使用領域4と非遊技RAM領域の全ての領域を初期化する構成であるが、非遊技領域初期化処理は、非遊技RAM領域の少なくとも一部の領域が初期化されるものであれば良く、非遊技RAM領域の一部の領域を初期化するものでも、非遊技RAM領域の一部の領域及び未使用領域4を初期化するものでも良い。
また、本実施例では、遊技領域初期化処理及び非遊技領域初期化処理において、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアし、その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、再度、1バイトのデータを0で上書きしてクリアする処理を行うことで、該当するアドレスのデータをクリアする構成であるが、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアするのみの構成でも良い。
次に、メイン制御部41が実行するメイン処理について説明する。尚、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。尚、本実施例においてメイン処理は、遊技プログラムに含まれる。
図15に示すように、メイン制御部41は、まず、割込を禁止する(Sc1)。次いで、初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)をセットする(Sc2)。
次いで、遊技領域初期化処理を実行して、指定されたアドレスで示されるRAM41cの領域をクリアする(Sc3)。この際、設定変更処理の後にメイン処理が開始された場合には、設定変更処理が終了される際に、初期化対象RAMの先頭アドレスとして、使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレスが設定され、当該メイン処理のSc2において、初期化対象RAMの最終アドレスとして、遊技スタック領域(未使用)の最終アドレスが設定されるため、遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域(重要ワーク、一般ワーク、未使用領域3、スタック領域(未使用))が初期化されることとなる。また、特定の遊技状態ではない遊技の終了時には、後述するSc10のステップにおいて遊技終了時の初期化対象RAMの先頭アドレス(未使用領域3の先頭アドレス)が設定され、Sc2のステップにおいて、初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)が設定されるため、使用可能領域のうち未使用領域3及び遊技スタック領域(未使用)が初期化されることとなる。また、特定の遊技状態の終了時であり、かつ遊技の終了時には、後述するSc11のステップにおいて特定の遊技状態の終了時の初期化対象RAMの先頭アドレス(遊技RAM領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレス)が設定され、Sc2のステップでは、特定の遊技状態の終了時の初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)が設定されるため、遊技RAM領域のうち一般ワーク、未使用領域3、遊技スタック領域(未使用)が初期化されることとなる。
Sc3のステップにおけるRAMの初期化の後、割込を許可し(Sc4)、遊技開始待ち処理を実行する(Sc5)。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。
次いで、内部抽選処理を実行する(Sc6)。内部抽選処理では、Sc5のステップにおけるスタートスイッチ7の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか(すなわち、表示結果の導出を許容するか否か)どうかを決定する処理を行う。
次いで、リール制御処理を実行する(Sc7)。リール制御処理では、スタートスイッチ7の操作に応答して各リール2L、2C、2Rを回転させる処理、Sd2のステップにおける内部抽選の結果及び遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
次いで、遊技終了時設定処理を実行する(Sc8)。遊技終了時設定処理では、Sc7の処理において全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。
遊技終了時設定処理が終了すると、特定の遊技状態の終了時か否かを判定し(Sc9)、特定の遊技状態の終了時でない場合には、遊技終了時の初期化対象RAMの先頭アドレスをセットして(Sc10)、Sc1のステップに戻る。また、特定の遊技状態の終了時である場合には、特定の遊技状態の終了時の初期化対象RAMの先頭アドレスをセットして(Sc11)、Sc1のステップに戻る。
また、メイン処理では、ゲームの進行に応じてコマンドを生成してコマンドキューに設定するコマンド格納処理を実行し、設定されたコマンドは、その後のタイマ割込処理(メイン)において実行される通常時コマンド送信処理によりサブ制御部91に対して送信されるようになっている。
図16及び図17は、メイン制御部41が一定間隔(約0.56msの間隔)でメイン処理(主にメイン処理)に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。尚、タイマ割込処理(メイン)とは、タイマ回路509のカウントに応じて発生する割込により実行される処理であり、タイマ割込処理(メイン)のプログラムが格納されたアドレスは、ベクタテーブルのタイマ割込に対応する値として設定されている。そして、タイマ割込が発生すると当該アドレスからの処理が実行される。また、タイマ割込処理(メイン)の実行期間中は自動的に他の割込が禁止される。尚、本実施例においてタイマ割込処理(メイン)は、遊技プログラムに含まれる。
図16に示すように、タイマ割込処理(メイン)においては、まず、使用中のレジスタを遊技スタック領域に退避する(Sd1)。
次いで、停電判定処理を行う(Sd2)。停電判定処理では、電断検出回路48から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
Sd2のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し(Sd3)、電断フラグが設定されていなければ、Sd4に進み、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。一方、Sd3のステップにおいて、電断フラグが設定されていた場合には、電断時コマンド送信処理を実行することで、コマンドキューに設定されている未送信のコマンドのすべてをサブ制御部91に送信した後(Sd25)、電断処理(メイン)に移行する。
次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sd5)。Sd5のステップでは、分岐用カウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち分岐用カウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。
次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sd6)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32C、32C、32Rの位相信号データを出力するモータ位相信号出力処理を実行する(Sd7)。
次いで、分岐用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sd8)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sd9)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sd10)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sd11)を順次実行した後、Sd24のステップに進む。
また、Sd8のステップにおいてタイマ割込2であると判定した場合には、コマンドキューに設定された各種コマンドをサブ制御部91に送信する通常時コマンド送信処理(Sd12)、ドア開放検出スイッチ25の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理(Sd13)、外部出力信号を更新する外部出力信号更新処理(Sd14)、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sd15)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sd16)、各種時間カウンタを更新する時間カウンタ更新処理(Sd17)を順次実行した後、Sd24のステップに進む。
また、Sd6のステップにおいてタイマ割込3またはタイマ割込4であると判定した場合は、更に、分岐用カウンタ値が3か否か、すなわちタイマ割込4か否かを判定し(Sd18)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックする原点通過時処理(Sd19)、スイッチ類の検出状態に変化があったか否かの判定等を行うスイッチ入力判定処理(Sd20)を順次実行した後、Sd24のステップに進む。
また、Sd18のステップにおいてタイマ割込4であると判定した場合は、ストップスイッチ8L、8C、8Rの検出に伴って停止位置を決定する停止スイッチ処理(Sd21)、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sd22)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sd23)を順次実行した後、Sd24のステップに進む。
Sd24のステップでは、Sd1において遊技スタック領域に退避したレジスタを復帰させて、割込前の処理に戻る。
本実施例では、タイマ割込処理(メイン)は、遊技プログラムに含まれる一方、停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア開放監視処理は、非遊技プログラムに含まれており、上述したように、メイン制御部41は、タイマ割込処理(メイン)において割込禁止を設定し、遊技プログラムのスタックポインタ及びレジスタを退避させたうえで、これらの非遊技プログラムを呼び出すようになっている。また、これらの非遊技プログラムからタイマ割込処理(メイン)に復帰した際には、遊技プログラムのスタックポインタ及びレジスタを当該非遊技プログラムの呼び出し前の状態に復帰させたうえで、その後の処理を実行するようになっている。尚、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているので、非遊技プログラムから復帰した後も割込禁止の状態で、その後の処理を実行する。
また、タイマ割込処理(メイン)において実行する非遊技プログラムである停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア開放監視処理は、これら非遊技プログラムの前に実行する必要のある処理(例えば、タイマ割込の分岐前に実行する必要のあるポート入力処理、モータ位相信号出力処理)を除く処理、すなわち非遊技プログラムよりも先に行っても後に行っても制御上影響のない処理よりも前に実行するようになっている。
次に、メイン制御部41が実行する電断処理について説明する。
図18は、メイン制御部41が前述したタイマ割込処理(メイン)において電断フラグが設定されていると判定した場合に、電断時コマンド送信処理の後に実行する電断処理(メイン)の制御内容を示すフローチャートである。尚、本実施例において電断処理は、遊技プログラムに含まれる。
電断処理(メイン)では、メイン制御部41は、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Se1)。
次いで、コマンドを出力するパラレル出力ポート513を含む全ての出力ポートを初期化する(Se2)。これにより電断時コマンド送信処理により最後に出力されたコマンドに対応する出力ポートの出力状態が初期化される。そして、破壊診断用データを遊技RAM領域にセットする(Se2)。破壊診断用データは、5A(H)、すなわちいずれかのビットに1を含む値である。次いで、遊技RAM領域の全ての領域(未使用領域3を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算して遊技RAM領域にセットし、遊技スタック領域の全ての領域(未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中))の排他的論理和が0になるようにRAMパリティ調整用データを計算して遊技RAM領域にセットし(Se4)、RAM41cへのアクセスを禁止する(Se5)。その後、電圧が低下してメイン制御部41のCPU41aが停止して待機状態に移行する。そして、この待機状態のまま電圧が低下することで、メイン制御部41は、内部的に動作停止状態になり、電断の際に確実に動作停止する。
尚、本実施例では、電断処理において対象となる領域の演算結果が特定値(本実施例では0)となるように調整用データを対象となる領域に設定し、起動処理において対象となる領域の演算結果が特定値となるか否かによってRAM41cのデータが正常か否かを判定しているが、電断処理において対象となる領域の演算結果と、起動処理において対象となる領域の演算結果と、が一致するか否かによってRAM41cのデータが正常か否かを判定する構成としても良い。また、演算方法は、排他的論理和に限らず、他の演算方法(例えば、総和)を用いても良い。
また、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定するようになっており、未使用領域3に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域3に不正なプログラムが記憶されることを防止できる。
尚、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定する構成であるが、未使用領域3を含む遊技RAM領域のRAMパリティ調整用データを計算して遊技RAM領域にセットするとともに、非遊技RAM領域のRAMパリティ調整用データを計算して非遊技RAM領域にセットし、起動処理において未使用領域3を含む遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ、及び非遊技RAM領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定する構成としても良い。このような構成においては、遊技RAM領域または非遊技RAM領域に不正なプログラムが記憶された場合には、RAM異常と判定されるため、遊技RAM領域または非遊技RAM領域のいずれにおいても不正なプログラムが記憶されることを防止できる。
このように本実施例では、メイン制御部41は、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理の開始時にもプログラムにて割込の禁止を行うようになっており、何らかの原因で割込が禁止されない状態でメイン制御部41が起動した場合でも意図しない割込が発生してしまうことを防止できる。
また、メイン制御部41は、その起動後に、タイマ回路509におけるタイマ割込の設定の後、割込を許可するようになっており、タイマ割込が正常に動作しない状態で割込が発生してしまうことを防止できる。また、タイマ回路509ではタイマ割込の設定が行われることにより、タイマが初期化され、初期値から計時を開始するようになっており、起動後、初回の割込が発生するまでの時間と、2回目以降の割込が発生するまでの時間と、がずれてしまうようなことがなく、一定の時間間隔でタイマ割込を発生させることができる。また、メイン制御部41は、初期設定処理においてタイマ回路509の設定をプログラムにて初期値に更新するようになっており、起動時に、何らかの原因でタイマ回路509の設定が書き換わっていた場合であっても、意図しない割込が発生してしまうことを防止できる。
また、メイン制御部41は、その起動時に設定キースイッチ37がONの状態であれば設定変更処理に移行し、設定変更処理の開始時にRAM41cの初期化を行う。この際、RAM41cのデータが正常であれば、特別ワークを保持してそれ以外の使用可能領域、すなわち特別ワークを除く遊技RAM領域、未使用領域3、非遊技RAM領域を初期化することで、設定変更後も変更前の制御状態(設定値や遊技状態等)の一部を保持することができる一方で、RAM41cのデータが正常でない場合には、使用可能領域の全ての領域を初期化することで、RAM41cのデータに異常を確実に解消することができる。
また、メイン制御部41は、RAM異常が判定された場合にRAM異常フラグが設定されるので、RAM異常エラーの発生後に電断されて、再度電源投入がされた場合に、RAMパリティが0であり、破壊診断用データが正常と判定された場合でも、RAM異常フラグに基づいてRAM41cのデータが破壊されているか否かを判定することが可能となる。
また、メイン制御部41は、設定変更処理の終了後、遊技単位毎にゲームの進行に応じて段階的に処理を行うメイン処理を実行する。また、メイン処理では、遊技単位毎にRAM41cの初期化を行うとともに、設定変更処理の終了時にもRAM41cの初期化を行う。そして、設定変更処理の終了後、メイン処理においてRAM41cの初期化を行う処理の前の段階からメイン処理を開始するようになっており、設定変更処理の終了後のRAM41cの初期化と、遊技単位毎のRAM41cの初期化と、を共通の処理にて行うことが可能となる。
また、メイン制御部41は、RAM41cの初期化を行う場合に、初期化が終了するまで割込を禁止するようになっており、RAM41cの初期化の実行中にタイマ割込処理(メイン)が発生することにより、初期化した内容が変更されたり、タイマ割込処理(メイン)で行われる処理が正常に行われなくなってしまうことを防止できる。
また、メイン制御部41は、メイン処理において外部出力信号の出力状態を更新し、更新された出力状態に基づいて、その後のタイマ割込処理(メイン)にて外部出力信号の出力状態を変更するとともに、外部出力信号の出力状態を更新する場合に、更新が終了するまで割込を禁止するようになっており、外部出力信号の出力状態が完了する前にタイマ割込処理(メイン)が発生することにより、意図しないデータを示す外部出力信号が出力されてしまうことを防止できる。
本実施例のメイン制御部41は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理(メイン)を実行することが可能であって、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能である。
このような構成では、メイン制御部41では、非遊技プログラムを実行中にタイマ割込処理(メイン)が実行されることにより誤作動が生じる虞がある。
これに対して、本実施例のメイン制御部41は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理(メイン)を実行することが可能であって、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能な構成において、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定した後に、当該非遊技プログラムを呼び出す一方で、タイマ割込処理(メイン)から非遊技プログラムを呼び出すとき、すなわち、さらに割込が生じる可能性が低い状況において非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出すので、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止しつつ、割込の禁止に係るプログラム容量を削減することができる。
本実施例のメイン制御部41が実行するタイマ割込処理(メイン)は、遊技プログラムによる処理、例えば、LEDダイナミック表示処理や制御信号等出力処理等と、非遊技プログラムによる処理、例えば、通常時コマンド送信処理や、電断時コマンド送信処理等の処理と、を含む複数の処理により構成されており、該タイマ割込処理(メイン)を構成する複数の処理のうち、所定の遊技プログラムによる処理、特に、これら非遊技プログラムの先に実行しても後に実行しても問題のない処理よりも前に、非遊技プログラムを呼び出すので、すなわち、タイマ割込処理(メイン)を構成する複数の処理のうち極力早い段階で非遊技プログラムを呼び出すので、例えば、何らかの原因によりタイマ割込処理(メイン)が終了しないまま、次回タイマ割込が発生して二重に割込が生じてしまった場合でも、非遊技プログラムの実行中に他の割込が実行されてしまうことを防止できる。
本実施例のメイン制御部41は、遊技プログラムと非遊技プログラムとを実行可能であり、遊技プログラムが用いるデータを退避する遊技スタック領域と、非遊技プログラムが用いるデータを退避する非遊技スタック領域と、が別個に設けられたRAM41cを備えており、メイン制御部41は、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を別個に設けられたスタック領域にそれぞれ退避させるので、スタック領域の管理が容易となる。特に、タイマ割込の発生により退避される遊技プログラムが用いるデータと、タイマ割込処理(メイン)の実行中に行われる非遊技プログラムが用いるデータと、が混在して一のスタック領域に格納されるようなことがないので、スタックの管理が煩雑となってしまうことがない。
本実施例のメイン制御部41は、非遊技プログラムを実行する際に、遊技プログラムで用いているレジスタ値を遊技スタック領域に退避した後、非遊技プログラムを呼び出して、当該非遊技プログラムにおける処理を実行し、非遊技プログラムにおける処理が終了したときに、退避させたレジスタ値を復帰させるので、非遊技プログラムを実行するのに伴い遊技プログラムが用いていたレジスタの値が変更されてしまうことを防止できる。
また、遊技プログラムに基づく処理から非遊技プログラムを呼び出す際に、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる呼出共通処理1または呼出共通処理2を呼び出すようになっており、メイン処理において非遊技プログラムを実行するためのプログラムを共通化することで、プログラム容量を削減できる。
尚、本実施例では、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、呼出共通処理1を実行する一方、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、呼出共通処理1とは異なる呼出共通処理2を実行することで、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる構成であるが、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、共通の呼出共通処理を実行する構成であっても良い。
尚、本実施例のメイン制御部41は、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能な構成であり、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定して、当該非遊技プログラムを呼び出す一方で、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出す構成であるが、メイン制御部41は、メイン処理から非遊技プログラムを呼び出すときにも、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止する構成としても良い。
詳しくは、メイン制御部41は、メイン処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、本実施例と同様に、呼出共通処理1を実行する一方で、タイマ割込処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、図20に示すように、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスをレジスタに設定し、呼出共通処理3を実行する。呼出共通処理3は、呼出共通処理1と同様に、遊技プログラムに含まれる処理であり、呼出共通処理3では、遊技プログラムのレジスタを遊技RAM領域に退避するとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、割込マスタ許可フラグの値を割込禁止を示す値に設定することでタイマ割込を禁止に設定し、その後、レジスタに設定されているアドレスの非遊技プログラムを呼び出す。
これに対して、呼び出された非遊技プログラムは、非遊技プログラムのスタックポインタ(非SP、非遊技スタック領域の現在の位置を示すアドレス)を設定して、非遊技プログラムの処理を実行した後、呼び出し元の遊技プログラムすなわち呼出共通処理3に復帰する。呼出共通処理3に復帰した後には、呼出共通処理3は、呼出共通処理2と同様に、遊技RAM領域に退避させていたデータに基づいて、レジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。すなわち、呼出共通処理3では、非遊技プログラムの処理が終了した後に、割込マスタ許可フラグの値を設定することなく、該非遊技プログラムの終了後も割込の禁止を維持する。
このような構成では、メイン制御部41は、メイン処理から非遊技プログラムを呼び出すときだけでなく、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止するので、本実施例と同様に、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。
特に、タイマ割込処理(メイン)を実行するときに、割込禁止が設定され、タイマ割込処理(メイン)の終了時に割込禁止が解除されることで、タイマ割込処理(メイン)の実行中に他の処理の割込が禁止されることとなるが、この場合でも、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止するので、何らかの原因により割込禁止設定が解除されてしまった場合でも、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。
また、前述のようにタイマ割込処理(メイン)を実行するときに、割込禁止が設定され、タイマ割込処理(メイン)の終了時に割込禁止が解除されることで、タイマ割込処理(メイン)の実行中に他の処理の割込が禁止される構成であるが、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止する場合には、非遊技プログラムの呼び出し時に設定した他の処理の割込の禁止の設定を、該非遊技プログラムの終了後も維持することで、タイマ割込処理(メイン)の実行中にも関わらず、非遊技プログラムの実行により割込の禁止が解除されてしまうことを防止できる。
次に、メイン制御部41のRAM41cの初期化について、図19に基づいて説明する。
本実施例のメイン制御部41は、設定変更処理の開始時において、RAM41cの記憶内容が破壊されていると判定した場合に、遊技RAM領域、未使用領域4、非遊技RAM領域を初期化する、すなわち使用可能領域の全ての領域を初期化する初期化0を行う。
また、設定変更処理の開始時において、RAM41cの記憶内容が破壊されていないと判定した場合に、遊技RAM領域のうち特別ワークを除く領域、未使用領域4、非遊技RAM領域を初期化する、すなわち使用可能領域のうち特別ワーク以外の領域を初期化する初期化1を行う。
また、設定変更処理の終了時において、遊技RAM領域のうち重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化する、すなわち遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域を初期化する初期化2を行う。
また、特定の遊技状態の終了時であり、かつ1ゲーム終了時に、遊技RAM領域のうち一般ワーク、未使用領域3及び遊技スタック領域(未使用)を初期化する初期化3を行う。
また、特定の遊技状態の終了時でない1ゲーム終了時に、遊技RAM領域のうち未使用領域3、遊技スタック領域(未使用)を初期化する初期化4を行う。
このように、本実施例のメイン制御部41は、所定条件が成立したときに初期化0〜4を行い、所定条件として第1の条件が成立したときに、RAM41cの使用可能領域のうちの遊技プログラムが用いるデータが記憶されている遊技RAM領域の少なくとも一部を初期化し、所定条件として第2の条件が成立したときに、遊技RAM領域の少なくとも一部と、RAM41cの使用可能領域のうちの非遊技プログラムが用いる非遊技RAM領域の少なくとも一部を初期化する。
具体的には、図19に示すように、第1の条件として、1ゲームの終了時には、使用可能領域のうち遊技RAM領域の一部である、未使用領域3及び遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。また、第1条件として、特定の遊技状態の終了時には、使用可能領域のうち遊技RAM領域の一部である一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。また、第1条件として、設定変更状態が終了した後には、使用可能領域のうち遊技RAM領域の一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。
一方、第2の条件として、設定変更状態を開始したときに、RAMに異常がない場合には、使用可能領域のうち遊技RAM領域の一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)、遊技スタック領域(使用)を初期化するとともに、非遊技RAM領域の全ての領域を初期化する。また、設定変更状態を開始したときに、RAMに異常がある場合には、使用可能領域のうち遊技RAM領域の全ての領域を初期化するとともに、遊技RAM領域の全ての領域を初期化する。
本実施例のメイン制御部41は、遊技の進行に係わる遊技プログラムと、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行可能であり、遊技プログラム及び非遊技プログラムを記憶するROM41dを備えている。
このような構成では、一のROM41dにおいて遊技プログラムと、非遊技プログラムと、が混在していると、どのプログラムが遊技の進行に係わるプログラムであるかの判別が困難である。
これに対して、本実施例では、ROM41dは、遊技プログラムが記憶される遊技プログラム領域と、非遊技プログラムが記憶される非遊技プログラム領域と、を含んでおり、遊技プログラム領域と、非遊技プログラム領域と、がそれぞれ別個に割り当てられているため、遊技プログラムと、非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
また、本実施例のメイン制御部41は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技RAM領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技RAM領域と、を含むRAM41cを備えており、RAM41cにおいて遊技RAM領域と、非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を記憶領域の違いに応じて容易に特定することができるとともに、メイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の少なくとも一部を初期化し、第2の初期化条件が成立したときに、遊技RAM領域の少なくとも一部を初期化するとともに、非遊技RAM領域の少なくとも一部を初期化するため、RAM41cに記憶されている遊技プログラムが用いるデータと非遊技プログラムが用いるデータのうち状況に応じて適切なデータを初期化することができる。
本実施例のメイン制御部41は、第1の初期化条件として、1ゲームが終了した時には、遊技RAM領域のうちの一部である未使用領域3及び遊技スタック領域(未使用)を初期化し、第1の初期化条件として、特別な遊技状態(BB)が終了した時で、かつ1ゲームが終了した時には、遊技RAM領域のうちの一部である一般ワーク、未使用領域3及び遊技スタック領域(未使用)を初期化し、第1の初期化条件として、設定変更が終了し、メイン処理が開始されたときには、遊技RAM領域のうちの一部である重要ワーク、一般ワークの領域、未使用領域3及び遊技スタック領域(未使用)を初期化するので、状況に応じて適切なデータを初期化することができる。
また、本実施例のメイン制御部41は、第2の初期化条件として、設定変更開始時でRAMに異常がないときには、遊技RAM領域のうち一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中)を初期化するとともに、非遊技RAM領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域(未使用)及び非遊技スタック領域(使用中)、すなわち非遊技RAM領域の全ての領域を初期化し、第2の初期化条件として、設定変更開始時でRAMに異常があるときには、遊技RAM領域のうち、特別ワーク、重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中)、すなわち遊技RAM領域の全ての領域を初期化するとともに、非遊技RAM領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域(未使用)及び非遊技スタック領域(使用中)、すなわち非遊技RAM領域の全ての領域を初期化するため、RAM41cに記憶されている遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、のうち状況に応じて適切なデータを初期化することができる。
尚、本実施例のメイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の一部の領域を初期化する構成であるが、メイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の少なくとも一部の領域を初期化するものであれば良く、遊技RAM領域の全ての領域を初期化するものでも良い。
また、本実施例のメイン制御部41は、第2の初期化条件が成立したときに、遊技RAM領域の一部を初期化するとともに、非遊技RAM領域の全ての領域を初期化する構成であるが、メイン制御部41は、第2の初期化条件が成立したときに遊技RAM領域の少なくとも一部の領域を初期化するとともに、非遊技RAM領域の少なくとも一部の領域を初期化するものであれば良く、遊技RAM領域の全ての領域を初期化するものでも良いし、非遊技RAM領域の全ての領域を初期化するものでも良いし、非遊技RAM領域の少なくとも一部の領域を初期化するものでも良いし、遊技RAM領域及び非遊技RAM領域の双方の全ての領域を初期化するものでも良い。
本実施例のメイン制御部41は、遊技RAM領域を初期化するプログラムと、非遊技RAM領域を初期化するプログラムと、を別個のプログラムとして構成しているので、遊技プログラムが非遊技RAM領域の初期化をせずに済むため、遊技プログラムの容量を削減できる。また、第1の初期化条件が成立したときにも、第2の初期化条件が成立したときにも、遊技RAM領域を初期化するプログラムを共用できる。さらに遊技RAM領域を初期化するプログラムを遊技プログラムとして備え、非遊技RAM領域を初期化するプログラムを非遊技プログラムとして備えるので、遊技プログラムが非遊技RAM領域を初期化したり、非遊技プログラムが遊技RAM領域を初期化したりすることがなく、遊技プログラムが非遊技プログラムに影響を与えること、非遊技プログラムが遊技プログラムに影響を与えることを防止できる。
本実施例のメイン制御部41は、第1の初期化条件として、メイン処理において遊技終了時処理設定を行った後に、特定の遊技状態の終了時でないと判定されたとき、すなわち1ゲームが終了した時に遊技終了時の初期化対象RAMの先頭アドレスを設定し、遊技領域初期化処理を実行することで、遊技RAM領域のうち所定の領域を初期化するので、遊技単位毎に遊技の進行に係る不要な遊技RAM領域の一部の領域を初期化することができる。
本実施例のメイン制御部41は、設定キースイッチ37がONの状態で起動され、設定変更処理を開始したとき、すなわち設定変更操作が行われたことに基づいて第2の初期化条件が成立したときに、遊技領域初期化処理を実行して遊技RAM領域のうち所定の領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技RAM領域のうち所定の領域を初期化するようになっており、遊技店員の設定変更操作(初期化操作)に基づいて遊技RAM領域と非遊技RAM領域の双方を初期化することができる。
本実施例のRAM41cの遊技RAM領域は、遊技プログラムに基づく制御を行う際にも非遊技プログラムに基づく制御を行う際にも用いられることのない未使用領域3を含み、第1の初期化条件の成立時にも、第2の初期化条件の成立時にも、未使用領域3を初期化するので、未使用領域3に不正なデータが記憶されることを防止できる。
尚、本実施例では、第1の初期化条件の成立時にも第2の初期化条件の成立時にも未使用領域3を初期化する構成であるが、少なくとも第1の初期化条件の成立時、第2の初期化条件の成立時のいずれか一方の条件の成立時に未使用領域3を初期化する構成であれば、未使用領域3に不正なデータが記憶されることを防止できる。また、第1の初期化条件が複数の条件を含む構成であれば、そのうち少なくとも一の条件の成立時に未使用領域3を初期化する構成であれば、未使用領域3に不正なデータが記憶されることを防止できる。第2の初期化条件が複数の条件を含む構成であっても同様である。
本実施例のメイン制御部41は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技RAM領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技RAM領域と、を含むRAM41cを備えており、当該RAM41cは、バックアップ電源によりスロットマシン1への電力供給が停止されてもRAM41cに記憶されたデータを所定期間保持可能な構成であって、メイン制御部41は、スロットマシン1への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているRAM41cに記憶されているデータに基づいてRAMの記憶内容が正常か否かを判定し、正常と判定された場合に、RAM41cに記憶されているデータ基づいて制御を再開する。
このような構成において、スロットマシン1への電力供給が開始したときに、RAM41cの遊技RAM領域と非遊技RAM領域の双方の領域に記憶されたデータに基づいて、RAMの記憶内容が正常か否かを判定する際に、RAM41cに記憶されているデータ基づいて制御を再開する際の負荷が過大となる。
これに対して、本実施例のメイン制御部41は、スロットマシン1への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているRAM41cのうち遊技RAM領域のRAMパリティ、遊技RAM領域に記憶されている破壊診断用データに基づいてRAMの記憶内容が正常か否かを判定し、正常と判定された場合に、遊技RAM領域に記憶されているデータ及び非遊技RAM領域に記憶されているデータに基づいて制御を再開始するようになっており、非遊技RAM領域に記憶されており、遊技の進行に支障のない非遊技用のデータが正常か否かの判定を省くことで、遊技の進行が正常に行えることを担保しつつ、制御を再開する際の負荷を軽減することができる。
本実施例のRAM41cの遊技RAM領域は、遊技プログラムに基づく制御を行う際にも、非遊技プログラムに基づく制御を行う際にも、用いられることのない未使用領域3を含んでおり、メイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、未使用領域3を含む遊技RAM領域のRAMパリティを算出し、算出されたRAMパリティに基づいて遊技RAM領域の記憶内容が正常か否かを判定するので、未使用領域3に不正なデータが記憶されることを防止できる。
本実施例のメイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、RAM41cの記憶内容が破壊されているか否かを判定し、RAM41cの記憶内容が破壊されていると判定した場合に、RAM異常フラグを設定してエラー処理に制御し、その後、自動的に復帰することがなくエラー状態を維持する一方、設定キースイッチ36がONの状態で、スロットマシン1への電力供給が開始されたときに、設定変更処理に制御し、遊技領域初期化処理を実行して遊技RAM領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技RAM領域を初期化する、すなわちエラー状態が解除されることに伴い遊技RAM領域と非遊技RAM領域の双方を初期化するので、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
本実施例のメイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理において、RAM41cの記憶内容が破壊されていると判定した場合に、RAM異常フラグを設定してエラー処理に制御し、その後、設定キースイッチ36がONの状態で、スロットマシン1への電力供給が開始され、設定変更処理が実行されることで、エラー状態が解除されることに伴い遊技RAM領域と非遊技RAM領域の双方を初期化する構成であるが、メイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理において、RAM41cの記憶内容が破壊されていると判定した場合に、遊技RAM領域と非遊技RAM領域の双方を初期化し、エラー処理に制御するものであっても良い。このような構成では、エラー処理に制御する際に、遊技RAM領域と非遊技RAM領域の双方を初期化するので、本実施例と同様に、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。また、RAM41cの記憶内容が破壊されている判定されたとき、その後設定変更処理が実行されるときの双方で、遊技RAM領域と非遊技RAM領域の双方を初期化する構成でも良く、このような構成であっても、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
本実施例のメイン制御部41は、スロットマシン1への電力供給が停止され、電断検出回路48により電源電圧の低下が検出されたときに電断処理を実行し、電断処理において、RAM41cへのアクセスを禁止することで、遊技RAM領域及び非遊技RAM領域の双方へのアクセスを禁止するので、次回起動時にデータが破壊されているか否かの判定対象外となる非遊技RAM領域を利用して不正なデータが記憶されることを防止できる。
従来の遊技機であるスロットマシン1では、プログラムが記憶されるプログラム記憶手段と、当該プログラム記憶手段に記憶されたプログラムに基づいて制御を行う制御手段と、を備え、制御手段は、プログラム記憶手段において遊技の進行に係る遊技プログラムが記憶される特定領域にアクセスして遊技プログラムを呼び出す特定命令を実行可能な構成のものがある。
このような構成では、特定命令を用いることで遊技プログラムが記憶される特定領域にアクセスすることとなるため、遊技の進行に係わらない非遊技プログラムにより特定命令が用いられることで、不用意に特定領域にアクセスされてしまう虞がある。
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有する記憶手段であるROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行う制御手段であるメイン制御部41と、を備え、ROM41bは、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、メイン制御部41は、特定命令として、プログラムにおいて指定された指定値及びベクタテーブル領域に予め記憶されている所定値からなるアドレスにより特定される遊技プログラム領域に記憶されている遊技プログラムを呼び出す特殊なCALL命令であるCALLV命令、RST命令を実行可能な構成であって、遊技プログラムで用いられる特定命令(CALLV命令、RST命令)について非遊技プログラムでは用いられないので、非遊技プログラムから不用意に遊技プログラム領域にアクセスされてしまうことを防止できる。また、非遊技プログラムにより特定命令を用いて遊技プログラムが呼び出されることがないので、非遊技プログラムにより呼び出された遊技プログラムにより意図せず遊技の進行や遊技に関する処理が行われることを防止できる。
また、本実施例のスロットマシン1は、プログラムを記憶可能な記憶領域を有する記憶手段であるROM41bと、データを書込及び読込可能な記憶領域を有する記憶手段であるRAM41cと、ROM41bに記憶されたプログラムに基づいて制御を行う制御手段であるメイン制御部41と、を備え、ROM41bは、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、RAM41cは、遊技プログラムによるデータの書込が許容される一方で、非遊技プログラムによるデータの書込が許容されない遊技RAM領域を含み、メイン制御部41は、特定命令として、プログラムにおいて指定された指定値及びQレジスタに予め記憶されている特定値からなるアドレスにより特定され領域であって、遊技プログラムが一時的にデータを記憶する遊技RAM領域に記憶されているデータを読み出す特殊なLD命令であるLDQ命令を実行可能な構成であって、遊技プログラムで用いられる特定命令(LDQ命令)について非遊技プログラムでは用いられないので、特定プログラムから非特定プログラムに切り替わったときに特定値が破損した場合でも、意図しないデータが読み出されることを防止できる。
尚、本実施例では、遊技プログラムによる使用頻度の高い遊技RAM領域を特定可能な特定値をQレジスタに設定することで、特殊なLD命令であるLDQ命令によりRAM41cの遊技RAM領域の所定データを読み出すことが可能な構成であるが、ROM41bにおける遊技プログラム領域の所定領域を特定可能な値を特定値としてQレジスタに設定することで、LDQ命令によりROM41bにおける所定データを読み出すことが可能な構成としても良く、このような構成でも、本実施例と同様の効果を奏する。
従来の遊技機であるスロットマシンでは、所定のプログラムに基づいて制御命令を実行して遊技の制御を行うマイクロコンピュータと、遊技に関するデータを記憶する記憶手段と、特定値を格納する格納手段(Qレジスタ)と、を備え、記憶手段に記憶されているデータをマイクロコンピュータに読み出させる際に、制御命令として、予め格納手段に格納されている特定値を用いて記憶手段の特定領域を特定してデータを読み出すことが可能な特殊な読出命令(LDQコマンド)を用いることにより、通常の読出命令(LDコマンド)によりデータを読み出す場合に比較して少ないプログラム容量で、特定領域のデータを読み出すことができる構成のものがある。
このような構成では、特殊な読出命令(LDQコマンド)において用いられる特定値が格納されている格納手段において特定値に異常が生じている場合に、特殊な読出命令が実行されると、データが記憶されている特定領域を正常に特定できず、意図しないデータの読み出しが行われてしまう虞がある。
これに対して、本実施例のスロットマシン1は、データを書込及び読込可能な記憶領域を有する記憶手段としてRAM41cと、プログラムに基づいて制御命令を実行して制御を行う制御手段としてメイン制御部41と、特定値が記憶される特定値領域としてQレジスタと、を備え、RAM41cには、遊技プログラムによるデータの書込が許容される一方で、非遊技プログラムによるデータの書込が許容されない遊技RAM領域を含み、メイン制御部41が実行可能な制御命令は、プログラムにおいて指定されたアドレスにより特定される記憶領域に記憶されているデータを読み出す通常読出命令であるLD命令と、プログラムにおいて指定された指定値及びQレジスタに予め記憶されている特定値からなるアドレスにより特定される記憶領域に記憶されているデータを読み出す特定読出命令であるLDQ命令と、を含み、遊技プログラムではLDQ命令を用いて遊技RAM領域からデータを読み出し、非遊技プログラムではLD命令を用いて遊技RAM領域からデータを読み出すので、非遊技プログラムでは、遊技RAM領域からデータを読み出す際に、LDQ命令を用いずに、Qレジスタに予め記憶されている特定値によらずに遊技RAM領域を特定するLD命令を用いてデータを読み出すことにより、遊技プログラムから非遊技プログラムに切り替わったときに特定値が破損した場合でも、非遊技プログラムから遊技RAM領域を特定してデータが読み出されるので、意図しないデータが読み出されることを防止できる。
尚、本実施例では、遊技プログラムで用いられる特殊なLD命令であるLDQ命令について非遊技プログラムでは用いられず、通常のLD命令が用いられる構成であるが、遊技プログラムにおいても非遊技プログラムにおいても、LDQ命令を用いる構成でも良く、このような構成として、遊技プログラムではLDQ命令を用いて遊技RAM領域からデータを読み出し、非遊技プログラムでは、Qレジスタの特定値を退避し、同じ値の特定値を入力した後、LDQ命令を用いて遊技RAM領域からデータを読み出す構成とすることで、遊技プログラムから非遊技プログラムに切り替わったときに特定値が破損した場合でも、再設定された特定値により遊技RAM領域を特定してデータが読み出されるので、意図しないデータが読み出されることを防止できる。
本実施例のスロットマシン1は、データが書込及び読込可能に記憶領域を有する記憶手段としてRAM41cを備え、RAM41cは、特定プログラムとして遊技プログラムによるデータが記憶され、該遊技プログラムによるデータの書込が許容される一方で、非特定プログラムとして非遊技プログラムによるデータの書込が許容されない特定データ領域として遊技RAM領域と、を含む構成であり、特定プログラムは、遊技の進行に係わる遊技プログラムであり、非特定プログラムは、遊技の進行に係わらない非遊技プログラムであるので、遊技プログラムにより遊技RAM領域に遊技の進行に係わる遊技データを書き込むことができる一方で、非遊技プログラムにより遊技の進行に係わらない非遊技データが書き込まれることがないので、遊技プログラムにより非遊技データが読み出されて、意図しない遊技の進行が行われることを防止できる。
本実施例のスロットマシン1では、メイン処理及びタイマ割込み処理(メイン)において実行される特定プログラムである遊技プログラムから非特定プログラムである非遊技プログラムを呼び出して実行することが可能であり、遊技プログラムから非遊技プログラムを呼び出して非遊技プログラムを開始するときに、呼出共通処理1または呼出共通処理2を行って、Qレジスタの値を退避する処理を行うので、非遊技プログラムを終了して遊技プログラムに復帰する際に、退避させていた値をQレジスタに再び記憶させることができ、遊技プログラムにおいてQレジスタを用いるLDQ命令を用いてデータを読み出す際に、Qレジスタの値が意図しない値になることを防止できる。
図21〜図23は、メイン制御部41による内部抽選における抽選対象役について、抽選対象となる遊技状態、設定差及びAT抽選の有無、及びナビ対象となるか否かについて説明するための図である。また、図24は、メイン制御部41により制御される遊技状態(RT1〜4、内部中、RB(BB1中のRB、BB2中のRB、RB入賞のRBを含む))の遷移を説明するための図であり、図25は、遊技状態の概要を示す図である。
次に、図21〜図23を参照して、内部抽選において遊技状態毎に抽選対象役(ATを含む)として読み出される抽選対象役の組合せについて説明する。
本実施例では、内部抽選の対象となる抽選対象役として、再遊技役に関する抽選対象役(図21参照)、小役及び特別役に関する抽選対象役であって、ATの制御に関連するもの(図22参照)、小役及び特別役に関する抽選対象役であって、ATの制御に関連しないもの(図23参照)が予め定められており、各抽選対象役には、遊技状態に応じて判定値数が設定されている。尚、判定値数の分母は、内部抽選用の乱数(0〜65535の整数)に対応させて、「65536」に設定されている。このため、例えば、判定値数として「300」が設定されている抽選対象役の当選確率は、300/65536となる。また、各抽選対象役について、遊技状態に応じて抽選対象とされる場合には、4以上の判定値数が予め設定されており(図21〜図23では、「○」で示す)、「1/16384」(4/65536)以上の確率で当選する一方で、遊技状態に応じて抽選対象とされない場合には、判定値数として0が設定されており(図21〜図23では、「‐」で示す)、当該抽選対象役が当選しないようになっている。
また、各抽選対象役は、予め定められた入賞役が含まれており、内部抽選にて一の抽選対象役が当選することで、当該抽選対象役に含まれる入賞役の入賞が許容されることとなり、入賞が許容された入賞役を構成する図柄の組合せがリール2L、2C、2Rの入賞ラインLN上に揃って停止されることで入賞が発生する。そして、入賞ラインLN上に停止した図柄の組合せの入賞役に応じて、当該入賞役が再遊技役である場合には、再遊技が付与され、当該入賞役が小役である場合には、当該入賞役に応じて予め定められたメダルの枚数が払い出され、当該入賞役が特別役である場合には、特別状態に制御されることとなる。
また、内部抽選にて抽選対象となる一部の抽選対象役は、ATを含んでおり、当該内部抽選が行われるゲームの開始時に、ATに制御されていない状態においてATを含む抽選対象役が当選することで、ATに制御する旨が決定されることとなる。また、当該内部抽選が行われるゲームの開始時に、ATに制御されている状態においてATを含む抽選対象役が当選することで、当該ATの残りゲーム数を上乗せする旨が決定され、当選したATを含む抽選対象役の種類に応じて予め定められた上乗せゲーム数がATの残りゲーム数に上乗せされることとなる。尚、本実施例では、一部の抽選対象役は、ATを含んでおり、ATを含む抽選対象役が当選することで、AT、上乗せゲームが当選する構成であるが、ATを含む抽選対象役が当選することで、ATに制御するか否かを決定するAT抽選、上乗せゲームを付与するか否かを決定する上乗せ抽選を行うことのみが決定され、内部抽選にてATを含む抽選対象役が当選したことを契機としてAT抽選、上乗せ抽選を行い、当該抽選にて当選することで、AT、上乗せゲームが当選し得る構成、すなわちAT、上乗せゲームを付与するか否かを決定する際に、内部抽選の結果が所定の結果となったことを契機として2段階目の抽選を行う構成であっても良い。また、メイン制御部41は、AT、上乗せゲームを付与するか否かを決定する際に、ATについては、内部抽選の結果のみに基づいて決定し、上乗せゲーム数については、内部抽選の結果が所定の結果となったことを契機として2段階目の抽選を行って決定する構成であっても良い。また、メイン制御部41は、AT、上乗せゲームを付与するか否かを決定する際に、ATについては、内部抽選の結果が所定の結果となったことを契機として2段階目の抽選を行って決定し、上乗せゲーム数については、内部抽選の結果のみに基づいて決定する構成であっても良い。また、メイン制御部41は、AT、上乗せゲームを付与するか否かを決定する際に、3段階以上の抽選を行う構成であっても良い。
また、抽選対象役のうち特別役に関する抽選対象役については、遊技状態が、特別役が持ち越されていない通常遊技状態か、特別役が持ち越されている持越中(内部中)か、特別状態であるRB(BB1、2中のRB含む)かによって内部抽選の対象となる抽選対象役またはその判定値数(当選確率)の少なくとも一方が異なり、小役に関する抽選対象役については、遊技状態が、通常遊技状態か、持越中(内部中)か、BB1中のRB(BB1)か、BB2中のRB(BB2)か、RB入賞によるRB(図中RB)かによって内部抽選の対象となる抽選対象役またはその判定値数(当選確率)の少なくとも一方が異なり、再遊技役に関する抽選対象役については、遊技状態がRT1であるか、RT2であるか、RT3であるか、RT4であるかによって内部抽選の対象となる抽選対象役またはその判定値数(当選確率)の少なくとも一方が異なる。
図21に示すように、再遊技に関する抽選対象役として、通常再遊技、RT2移行再遊技1、RT2移行再遊技2、RT2移行再遊技3、RT2移行再遊技4、RT2移行再遊技5、RT2移行再遊技6、RT3移行再遊技、RT1移行再遊技1、RT1移行再遊技2、RT1移行再遊技3、RT1移行再遊技4、RT1移行再遊技5、RT1移行再遊技6、有利状態移行再遊技1、有利状態移行再遊技1+AT、有利状態移行再遊技2、有利状態移行再遊技2+ATが含まれる。これらの各抽選対象役には、一または複数の再遊技役が入賞役として含まれており、内部抽選にて再遊技に関する抽選対象役が当選することで、いずれかの再遊技役が必ず入賞して、リプレイゲーム(再遊技)が付与される。
RT0において、再遊技に関する抽選対象役のうち通常再遊技については、4以上の判定値数が設定されており、その他の再遊技に関する抽選対象役については、0の判定値数が設定されている。また、RT1において、通常再遊技、RT2移行再遊技1〜6、有利状態移行再遊技1+AT、有利状態移行再遊技2+ATについては、4以上の判定値数が設定されており、その他の再遊技に関する抽選対象役については、0の判定値数が設定されている。また、RT2において、通常再遊技、RT3移行再遊技、RT1移行再遊技1〜6、有利状態移行再遊技1+AT、有利状態移行再遊技2+ATについては、4以上の判定値数が設定されており、その他の再遊技に関する抽選対象役については、0の判定値数が設定されている。また、RT3において、通常再遊技、RT1移行再遊技1〜6、有利状態移行再遊技1+AT、有利状態移行再遊技2+ATについては、4以上の判定値数が設定されており、その他の再遊技に関する抽選対象役については、0の判定値数が設定されている。また、内部中において、通常再遊技については、4以上の判定値数が設定されており、有利状態移行再遊技1+AT、有利状態移行再遊技2+ATについては、無効とされており、内部抽選において読み出されないようになっており、その他の再遊技に関する抽選対象役については、0の判定値数が設定されている。また、RBにおいて、これらの再遊技に関する抽選対象役については、0の判定値数が設定されている。
本実施例では、4以上の判定値数が設定されている抽選対象役については、当該判定値数が設定されている遊技状態において内部抽選にて当選し得ることとなり、実質的な抽選対象となるが、0の判定値数が設定されている抽選対象役については、当該判定値数が設定されている遊技状態において内部抽選にて当選することがなく、実質的な抽選対象とならない。例えば、有利状態移行再遊技1+AT及び有利状態移行再遊技2+ATは、いずれの遊技状態でも4以上の判定値数が設定されているので、いずれの遊技状態においても実質的な抽選対象となる一方で、有利状態移行再遊技1及び有利状態移行再遊技2は、いずれの遊技状態においても0の判定値数が設定されているので、いずれの遊技状態においても実質的な抽選対象とならない。
また、図21に示すように、再遊技に関する抽選対象役については、設定差が設けられておらず、スロットマシン1の設定値(1〜6)によらず同様の確率で内部抽選にて当選する。
また、再遊技に関する抽選対象役のうち有利状態移行再遊技1+AT及び有利状態移行再遊技2+ATは、AT抽選の対象となっており、ATに制御されていない状態で当該抽選対象役が当選したときには、ATに当選したこととなり、ATに制御されている状態で当該抽選対象役が当選したときには、ATの残りゲーム数の上乗せが当選したこととなる。一方、他の再遊技に関する抽選対象役が当選したときには、ATが当選しなかったこと(非当選)となる。
また、再遊技に関する抽選対象役のうちRT2移行再遊技1〜6、RT1移行再遊技1〜6は、ナビ対象となっており、ATに制御されている状態で、これらの抽選対象役が当選したときには、ナビ報知が行われる。
図22に示すように、小役及び特別役に関する抽選対象役であって、ATの制御に関連する抽選対象役として、チェリー、チェリー+AT、スイカ、スイカ+AT、押し順ベル1、押し順ベル2、押し順ベル3、押し順ベル4、押し順ベル5、押し順ベル6、SB、RB+チェリー、RB+チェリー+AT、RB+スイカ、RB+スイカ+AT、BB1+チェリー、BB1+チェリー+AT、BB1+スイカ、BB1+スイカ+AT、BB2+チェリー、BB2+チェリー+AT、BB2+スイカ、BB2+スイカ+ATが含まれる。これらの各抽選対象役には、一または複数の小役、特別役が入賞役として含まれており、内部抽選にて小役及び特別役に関する抽選対象役が当選した場合には、入賞役として小役が入賞したときには、当該小役に応じたメダルの枚数が払出され、入賞役として特別役が入賞したときには、当該特別役に応じた特別状態に制御され、いずれの入賞役も入賞しなかったときには、はずれとなる。
RT0〜3及び内部中において、小役及び特別役に関する抽選対象役のうちチェリー+AT、スイカ+AT、押し順ベル1、押し順ベル2、押し順ベル3、押し順ベル4、押し順ベル5、押し順ベル6、SB、RB+チェリー+AT、RB+スイカ+AT、BB1+チェリー+AT、BB1+スイカ+AT、BB2+チェリー+AT、BB2+スイカ+ATについては、4以上の判定値数が設定されており、小役及び特別役に関する抽選対象役のうち、チェリー、スイカ、RB+チェリー、RB+スイカ、BB1+チェリー、BB1+スイカ、BB2+チェリー、BB2+スイカについては、0の判定値数が設定されている。また、RBにおいて、小役及び特別役に関する抽選対象役のうちチェリー、スイカ、押し順ベル1、押し順ベル2、押し順ベル3、押し順ベル4、押し順ベル5、押し順ベル6については、4以上の判定値数が設定されており、小役及び特別役に関する抽選対象役のうち、チェリー+AT、スイカ+AT、RB+チェリー、RB+チェリー+AT、RB+スイカ、RB+スイカ+AT、BB1+チェリー、BB1+チェリー+AT、BB1+スイカ、BB1+スイカ+AT、BB2+チェリー、BB2+チェリー+AT、BB2+スイカ、BB2+スイカ+ATについては、0の判定値数が設定されている。
尚、本実施例では、RBにおいて、ATを含む抽選対象役(小役+AT、特別役+小役+AT、特別役+AT)の判定値数を0と設定することで、RB中(BB1中、BB2中、RB中)において後述のAT、ATの上乗せゲーム数が当選することがない構成としているが、RB中においても、ATを含む抽選対象役の判定値数を4以上に設定して、AT、ATの上乗せゲーム数が当選し得る構成としても良く、このような構成として、例えば、スロットマシン1の設定値(1〜6)に応じて内部抽選にて当選する確率に差が設けられていない特別役の当選を契機に制御されるRB中において、ATを含む抽選対象役の判定値数を4以上として、AT、ATの上乗せゲーム数が当選し得る構成としても良いし、スロットマシン1の設定値(1〜6)に応じて内部抽選にて当選する確率に差が設けられている特別役の当選を契機に制御されるRB中において、ATを含む抽選対象役の判定値数を4以上として、AT、ATの上乗せゲーム数が当選し得る構成としても良い。
また、図22に示すように、小役及び特別役に関する抽選対象役であって、ATの制御に関連する抽選対象役については、いずれの抽選対象役も設定差が設けられておらず、スロットマシン1の設定値(1〜6)によらず同様の確率で内部抽選にて当選する。
また、小役及び特別役に関する抽選対象役のうちチェリー+AT、スイカ+AT、RB+チェリー+AT、RB+スイカ+AT、BB1+チェリー+AT、BB1+スイカ+AT、BB2+チェリー+AT、BB2+スイカ+ATは、AT抽選の対象となっており、ATに制御されていない状態で当該抽選対象役が当選したときには、ATに当選したこととなり、ATに制御されている状態で当該抽選対象役が当選したときには、ATの残りゲーム数の上乗せが当選したこととなる。一方、他の小役及び特別役に関する抽選対象役であって、ATの制御に関連する抽選対象役が当選したときには、ATが当選しなかったこと(非当選)となる。
また、小役及び特別役に関する抽選対象役のうち押し順ベル1〜6は、ナビ対象となっており、ATに制御されている状態で、これらの抽選対象役が当選したときには、ナビ報知が行われる。一方、他の小役及び特別役に関する抽選対象役であって、ATの制御に関連する抽選対象役が当選したときには、ATに制御されているか否かに関わらず、ナビ報知は行われない。
尚、内部中やRB(RB、BB1中のRB、BB2中のRB含む)では、特別役、特別役+AT、特別役+一般役は内部抽選の対象とならない。
図23に示すように、小役及び特別役に関する抽選対象役であって、ATの制御に関連しない抽選対象役として、ベル、RB、BB1、BB1+特別再遊技、BB2、BB2+特別再遊技が含まれる。これらの各抽選対象役には、一または複数の小役、特別役、再遊技役が入賞役として含まれており、内部抽選にて小役及び特別役に関する抽選対象役が当選した場合に、入賞役として小役が入賞したときには、当該小役に応じたメダルの枚数が払出され、入賞役として特別役が入賞したときには、当該特別役に応じた特別状態に制御され、入賞役として特別再遊技が入賞したときには、リプレイゲーム(再遊技)が付与され、いずれの入賞役も入賞しなかったときには、はずれとなる。
RT0〜3、内部中において、小役及び特別役に関する抽選対象役のうちベル、RB、BB1、BB1+特別再遊技、BB2、BB2+特別再遊技については、4以上の判定値数が設定されている。また、RBにおいて、ベルについては、4以上の判定値数が設定されており、RB、BB1、BB1+特別再遊技、BB2、BB2+特別再遊技については、判定値数が0に設定されている。
また、図23に示すように、小役及び特別役に関する抽選対象役であって、ATの制御に関連しない抽選対象役については、いずれの抽選対象役も設定差が設けられており、スロットマシン1の設定値(1〜6)に応じて異なる確率で内部抽選にて当選する。
また、小役及び特別役に関する抽選対象役のうちベル、RB、BB1、BB1+特別再遊技、BB2、BB2+特別再遊技は、いずれもAT抽選の対象となっておらず、これらの抽選対象役が当選したときには、AT、上乗せゲーム数は、はずれとなる。
また、小役及び特別役に関する抽選対象役のうちベル、RB、BB1、BB1+特別再遊技、BB2、BB2+特別再遊技は、いずれもナビ対象となっておらず、これらの抽選対象役が当選したときには、ATに制御されているか否かに関わらず、ナビ報知は行われない。
次に、メイン制御部41が制御する遊技状態の遷移、及び遊技状態の概要について、図24、図25に基づいて説明する。
本実施例では、メイン制御部41が制御する遊技状態には、通常遊技状態としてRT0、RT1、RT2、RT3、特別役(RB、BB1、BB2)が持ち越されている内部中、特別状態としてボーナス(RB、BB1中のRB、BB2中のRB)が含まれ、いずれか一の遊技状態に制御される。
RT0は、ボーナス(BB1〜3、RB)の終了時に移行する。そして、RT0は、RT2に移行してからのゲーム数に関わらず、所定の特定図柄が入賞ラインLN上に停止すること、またはSBが入賞することによりRT1に移行するか、特別役の当選により内部中に移行することで終了する。1ゲームあたりのメダルの払出率はナビ報知に従った停止順で停止操作が行われたか否かに関わらず100%未満となる。
RT1は、RT0において、所定の特定図柄が入賞ラインLN上に停止すること、またはSBが入賞すること、RT2、RT3において、所定の特定図柄が入賞ラインLN上に停止すること、またはRT1移行再遊技、SBが入賞することにより移行する。そして、RT1は、RT1に移行してからのゲーム数に関わらず、RT2移行再遊技が入賞することによりRT2に移行するか、特別役の当選により内部中に移行することで終了する。1ゲームあたりのメダルの払出率はナビ報知に従った停止順で停止操作が行われたか否かに関わらず100%未満となる。
RT2は、RT1においてRT2移行再遊技が入賞することにより移行する。そして、RT2は、RT2に移行してからのゲーム数に関わらず、所定の特定図柄が入賞ラインLN上に停止することによりRT1に移行するか、RT3移行再遊技が入賞することによりRT3に移行するか、特別役が当選して内部中に移行することで終了する。1ゲームあたりのメダルの払出率は、少なくともナビ報知に従った停止順で停止操作が行われることで100%を超える。
RT3は、RT2においてRT3移行再遊技が入賞することにより移行する。そして、RT3は、RT3に移行してからのゲーム数に関わらず、所定の特定図柄が入賞ラインLN上に停止すること、またはRT1移行再遊技、SBが入賞することによりRT1に移行するか、特別役が当選して内部中に移行することで終了する。1ゲームあたりのメダルの払出率は、少なくともナビ報知に従った停止順で停止操作が行われることで100%を超える。
内部中は、RT0〜3において特別役(RB、BB1、BB2)の当選により移行する。そして、内部中は、内部中に移行してからのゲーム数に関わらず、内部中に移行する契機となった特別役が入賞してボーナス(RB、BB1中のRB、BB2中のRB)に移行することで終了する。1ゲームあたりのメダルの払出率は、ナビ報知に従った停止順で停止操作が行われたか否かに関わらず100%未満となる。
RB(RB)は、内部中においてRBの入賞により移行する。そして、RBは、12ゲームが消化されるか、6回入賞されることで終了する。また、RBにおいては、特別役及び再遊技役が内部抽選の対象外となり、小役の当選確率は、RT0〜3よりも高く高確率(約1/1.0)であり、1ゲームあたりのメダルの払出率は100%を超える。
BB1、BB2(RB)は、内部中においてBB1、BB2の入賞により移行する。そして、BB1、BB2は、BB1、BB2に移行してからのゲーム数に関わらず、BB1、BB2中に払い出されたメダルの総数が規定数(本実施例では、316枚)を超えることで終了する。また、BB1、BB2においては、常時上述のRBに制御され、BB1、BB2中のRBにおいては、特別役及び再遊技役が内部抽選の対象外とされることから、小役の当選確率は、RT0〜3よりも高く高確率(約1/1.0)であり、1ゲームあたりのメダルの払出率は100%を超える。
RT0〜3、内部中、ボーナス(RB、BB1、BB2)のうち、ボーナス(RB、BB1、BB2)が1ゲームあたりのメダルの払出率がもっとも高く、最も有利な遊技状態である。また、RT0〜3のうちRT2、3は、再遊技役の当選確率が高確率となり、1ゲームあたりのメダルの払出率がRT0、1に比較して高い点において、RT0、1よりも遊技者にとって有利な状態といえる。また、RT2、3、内部中のうちRT2、3は、1ゲームあたりのメダルの払出率が内部中に比較して高い点において、内部中よりも遊技者にとって有利な状態といえる。
次に、内部抽選の抽選対象役の種類及び停止順に応じてリールの入賞ラインLN上に停止する図柄の組合せについて、図26及び図27を用いて説明する。
図26に示すように、本実施例では、内部抽選にて抽選対象役としてRT2移行再遊技1〜6が当選している場合には、その種類及び停止順に応じて停止する図柄の組合せが異なる。RT2移行再遊技1〜6には、入賞役として少なくともRT2移行再遊技役と通常再遊技役が含まれており、RT2移行再遊技役は、入賞することでリプレイゲームが付与される再遊技役を含むとともに遊技状態がRT2に移行される移行役であり、通常再遊技役は、入賞することでリプレイゲームが付与されるのみの再遊技役を含む。
例えば、RT2移行再遊技1が当選したときに、左中右の停止順(第1停止として左リール、第2停止として中リール、第3停止として右リールを停止させる停止順)により停止操作が行われる場合には、RT2移行再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する一方で、左中右の停止順以外の停止順で停止操作が行われる場合には、通常再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する。また、RT2移行再遊技2〜6が当選したときにも、RT2移行再遊技1が当選したときと同様に、RT2移行再遊技2〜6の種類に応じて予め定められた所定の停止順で停止操作が行われる場合には、RT2移行再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する一方で、所定の停止順以外の停止順で停止操作が行われる場合には、通常再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する。
これにより、RT1においてRT2移行再遊技1〜6の当選時には、その種類に応じた停止順で操作されることでRT2移行再遊技役が入賞するが、その種類が分からなければ意図的にその種類に応じた停止順を選択することはできず、停止順が一致すれば、RT2移行再遊技役を入賞させることによりRT2へ移行させることができるものの、停止順が一致しなければ通常再遊技役が入賞してRT1が維持されることとなる。
また、図26に示すように、本実施例では、内部抽選にて抽選対象役としてRT1移行再遊技1〜6が当選している場合には、その種類及び停止順に応じて停止する図柄の組合せが異なる。RT1移行再遊技1〜6には、入賞役として少なくともRT1移行再遊技役と通常再遊技役が含まれており、RT1移行再遊技役は、入賞することでリプレイゲームが付与される再遊技役であるとともに遊技状態がRT1に移行される移行役であり、通常再遊技役は、入賞することでリプレイゲームが付与されるのみの再遊技役である。
RT1移行再遊技1〜6が当選したときには、RT1移行再遊技1〜6の種類に応じて予め定められた所定の停止順で停止操作が行われる場合には、通常再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する一方で、所定の停止順以外の停止順で停止操作が行われる場合には、RT1移行再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する。
これにより、RT2、RT3においてRT1移行再遊技1〜6の当選時には、その種類に応じた停止順で操作されることで通常再遊技役が入賞するが、その種類が分からなければ意図的にその種類に応じた停止順を選択することはできず、停止順が一致すれば、通常再遊技役を入賞させることによりRT1へ移行されることを回避することができるものの、停止順が一致しなければRT1移行再遊技役が入賞してRT1に移行されることとなる。
また、図26に示すように、本実施例では、内部抽選にて抽選対象役としてRT3移行再遊技が当選している場合には、その種類及び停止順に応じて停止する図柄の組合せが異なることは無い。RT3移行再遊技には、入賞役として少なくともRT3移行再遊技役が含まれており、RT3移行再遊技役は、入賞することでリプレイゲームが付与される再遊技役であるとともに遊技状態がRT3に移行される移行役である。
RT3移行再遊技が当選したときには、停止順に関わらず、RT3移行再遊技役を構成する図柄の組合せが入賞ラインLN上に停止する。これにより、RT2においてRT3移行再遊技の当選時には、停止順に関わらず、RT3移行再遊技役が入賞し、当該RT3移行再遊技が入賞することにより、RT3へ移行されることとなる。
また、図26に示すように、本実施例では、内部抽選にて抽選対象役として有利状態移行再遊技1、2が当選している場合にも、その種類及び停止順に応じて停止する図柄の組合せが異なることは無い。有利状態移行再遊技1には、入賞役として少なくとも有利状態移行再遊技役1が含まれており、有利状態移行再遊技役1は、入賞することでリプレイゲームが付与される再遊技役であるとともに有利状態(ATの制御が行われる状態)に移行される移行役である。また、有利状態移行再遊技2には、入賞役として少なくとも有利状態移行再遊技役2が含まれており、有利状態移行再遊技役2は、入賞することでリプレイゲームが付与される再遊技役であるとともに有利状態(ATの制御が行われる状態)に移行される移行役である。
有利状態移行再遊技1、2が当選したときには、停止順に関わらず、当選している有利状態移行再遊技役1、2を構成する図柄の組合せが入賞ラインLN上に停止する。これにより、RT1〜3において有利状態移行再遊技1、2の当選時には、停止順に関わらず、有利状態移行再遊技役が入賞し、当該有利状態移行再遊技役が入賞することにより、有利状態へ移行されることとなる。
図27に示すように、本実施例では、内部抽選にて抽選対象役として押し順ベル1〜6が当選している場合には、その種類及び停止順に応じて停止する図柄の組合せが異なる。押し順ベル1〜6には、入賞役として少なくともベルと特殊小役が含まれており、ベルは、入賞することで所定の枚数のメダルの払出が行われる小役である。また、特殊小役は、入賞することで、ベルの入賞時よりも少ない所定の枚数のメダルの払出が行われる小役である。
例えば、押し順ベル1が当選したときに、左中右の停止順(第1停止として左リール、第2停止として中リール、第3停止として右リールを停止させる停止順)により停止操作が行われる場合には、ベルを構成する図柄の組合せが入賞ラインLN上に停止する一方で、左中右の停止順以外の停止順で停止操作が行われる場合には、特殊小役を構成する図柄の組合せまたはメダルの付与を伴わない特定図柄の組合せが入賞ラインLN上に停止する。また、押し順ベル2〜6が当選したときにも、押し順ベル1が当選したときと同様に、押し順ベル2〜6の種類に応じて予め定められた所定の停止順で停止操作が行われる場合には、ベルを構成する図柄の組合せが入賞ラインLN上に停止する一方で、所定の停止順以外の停止順で停止操作が行われる場合には、特殊小役を構成する図柄の組合せまたはメダルの付与を伴わない特定図柄の組合せが入賞ラインLN上に停止する。
このため、押し順ベル1〜6の当選時には、押し順ベル1〜6の種類に応じた停止順で操作されたか否かによって払い出されるメダル数の期待値を変えることができる。また、特にRT2やRT3では、停止順が一致しない場合に特定図柄が停止することから、停止順が一致しなければ一定の割合でRT1へ移行してしまうこととなる。
また、図27に示すように、本実施例では、内部抽選にて抽選対象役としてSBが当選している場合には、停止順に関わらず、SB入賞を構成する特定図柄が優先して入賞ラインLNに停止する。このため、RT0〜3において、SB当選時には、特定図柄を停止可能なタイミングで停止操作が行われることで、SB入賞を構成する特定図柄が停止してRT1へ移行してしまうこととなる。
また、図27に示すように、本実施例では、内部抽選にて抽選対象役としてRB1+チェリー、BB1+チェリー、BB2+チェリーが当選している場合には、停止順に関わらず、チェリーの構成図柄が優先して入賞ラインLNに停止する。また、内部抽選にて抽選対象役としてRB1+スイカ、BB1+スイカ、BB2+スイカが当選している場合には、停止順に関わらず、スイカの構成図柄が優先して入賞ラインLNに停止する。これにより、これらの特別役+小役の当選時には、小役の構成図柄を停止可能なタイミングで停止操作が行われることで、小役の構成図柄が停止して、当選している特別役は次ゲーム以降に持ち越されることとなり、小役の構成図柄を停止不可能なタイミングかつ当選している特別役の構成図柄を停止可能なタイミングで停止操作が行われることで、当選している特別役の構成図柄が停止して、ボーナスへ移行されることとなる。
また、図27に示すように、本実施例では、内部抽選にて抽選対象役としてBB1+特別再遊技、BB2+特別再遊技が当選している場合には、停止順に関わらず、特別再遊技の構成図柄が優先して入賞ラインLNに停止する。これにより、これらの特別役+特別再遊技の当選時には、特別再遊技の構成図柄が停止して、当選している特別役は次ゲーム以降に持ち越されることとなる。
本実施例におけるスロットマシンでは、遊技状態がRT1、2、3であるときに、メイン制御部41により、内部抽選結果に応じて遊技者にとって有利となる停止順を報知するナビ報知を実行可能な報知期間となるアシストタイム(以下、ATという)に制御可能となっている。
メイン制御部41は、ATに制御している場合には、遊技状態に応じた報知対象役に当選することにより、ナビ報知を実行するとともに、サブ制御部91に対して第1の内部当選コマンド、第2の内部当選コマンド、押し順コマンドを送信することで、サブ制御部91によるナビ演出を実行させる。遊技状態に応じた報知対象役とは、RT1であるときにはRT2移行再遊技1〜6、押し順ベル1〜6であり、RT2であるときにはRT1移行再遊技1〜6、押し順ベル1〜6である。また、本実施例においてメイン制御部41は、ATにしていない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。本実施例のナビ報知は、遊技補助表示器12の点灯態様を変化させることにより遊技者にとって有利な停止順を識別可能に報知する。
本実施例のナビ演出は、ナビ報知により報知された遊技者にとって有利な停止順を、液晶表示器51からのナビ画像の表示と、スピーカ53、54からのナビ音声の出力とによって報知する。例えば、左中右の停止順を報知する場合には、「123」(左リールが第1停止、中リールが第2停止、右リールが第3停止であることを示す)といったストップスイッチ8L、8C、8Rの停止順を示す停止順画像を表示する。また、ナビ音声として、例えば、「左中右!」(左リールが第1停止、中リールが第2停止、右リールが第3停止であることを示す)といったストップスイッチの停止順を示す音声を出力する。また、左リールを第1停止とする停止順を報知する場合には、「1‐‐」(左リールが第1停止であることを示す)といったストップスイッチ8L、8C、8Rの停止順を示す停止順画像を表示する。また、ナビ音声としては、例えば、「左!」(左リールが第1停止であることを示す)(左リールが第1停止であることを示す)といったストップスイッチの停止順を示す音声を出力する。尚、ナビ演出の態様は、このような態様に限らず、遊技者が当選状況に応じて区別可能な態様であればどのようなものであっても良い。また、ナビ演出は、液晶表示器51、スピーカ53、54を用いたものに限らず、演出効果LED52、リールLED55等を用いて実行するものであっても良い。
ナビ報知及びナビ演出では、RT1においてRT2移行再遊技1〜6のいずれかが当選したときには、RT2移行再遊技が入賞する停止順を識別可能に報知する。また、RT1において押し順ベル1〜6のいずれかが当選したときには、ベルが入賞する停止順を識別可能に報知する。また、RT2においてもRT3においてRT1移行再遊技1〜6のいずれかが当選したときには、通常再遊技が入賞する停止順を識別可能に報知する。また、RT2においてもRT3においても押し順ベル1〜6が当選したときには、ベルが入賞する停止順を識別可能に報知する。また、SBが当選したときには、SBが当選した旨を識別可能に報知する。
このように、ナビ報知及びナビ演出では、遊技者にとって有利となる停止順が識別可能に報知される。このため、遊技者は、ナビ演出に従った停止順で停止操作を行うことにより、意図的に、RT1においてRT2移行再遊技を入賞させてRT2へ移行させること、ベルを入賞させることができ、RT2、3において通常再遊技を入賞させてRT1移行再遊技の入賞を回避すること、ベルを入賞させること、特定図柄の停止を回避することができ、SBの入賞を回避することができる。
本実施例においてメイン制御部41は、内部抽選でATに制御するか否かを決定する。そして、メイン制御部41は、内部抽選でATに当選した場合には、前兆期間を経てATに制御する。ATの制御を開始した後、RT2へ移行するまでの状態を準備状態とも呼ぶ。メイン制御部41は、準備状態において、対象役の当選時にナビ報知を実行する。この際、RT1においては、RT2移行再遊技1〜6の当選時にナビ報知の対象となり、RT2移行再遊技1〜6の当選時にRT2移行再遊技を入賞させる停止順がナビ報知により報知されるので、報知された停止順に従って停止操作を行うことによりRT2移行再遊技を入賞させてRT1からRT2に移行させることが可能となる。また、準備状態に移行後は、押し順ベル1〜6の当選時に中段ベルを入賞させる停止順が報知されるので、報知された停止順に従って停止操作を行うことにより、確実にメダルを獲得することが可能となる。
メイン制御部41は、RT1においてRT2移行再遊技が入賞してRT2に移行することで準備状態を終了する。これに伴いメイン制御部41は、所定ゲーム数を、RAM91cに割り当てられたATの残りゲーム数として設定し、ATの残りゲーム数の計数を開始する。RT1に移行した後も、押し順ベル1〜6の当選時にベルを入賞させる停止順が報知されるので、報知された停止順に従って停止操作を行うことにより、確実にメダルを獲得することが可能となるとともに、特定図柄の停止を回避し、RT1へ移行してしまうことを回避できる。また、RT2に移行した後は、RT1移行再遊技1〜6の当選時に通常再遊技を入賞させる停止順が報知されるので、報知された停止順に従って停止操作を行うことにより、RT1移行再遊技の入賞を回避しつつ、RT3移行役が当選するまで待機し、RT3移行役を入賞させてRT3へ移行させることができる。RT1へ移行してしまうことを回避でき、また、SBの当選時にSBが当選した旨が報知されるので、SBの入賞を回避し、RT1へ移行してしまうことを回避できる。
また、ATの開始後、1ゲーム消化する毎に残りゲーム数が1減算されるとともに、残りゲーム数が0となった場合には、ATの制御を終了する。これに伴いナビ報知が実行されなくなるので、押し順ベル1〜6の当選時に特定図柄の停止を回避すること、RT1移行再遊技1〜6の当選時にRT1移行再遊技の入賞を回避することが不可能となり、特定図柄の停止またはRT1移行再遊技の入賞によりRT1に移行することで一連のATの制御が終了することとなる。また、ATの開始後、残りゲーム数が0となる前に内部抽選にてATの残りゲーム数の上乗せが当選した場合には、当選したゲーム数をATの残りゲーム数に加算する。
また、ATの開始後、残りゲーム数が0となる前に特別役が当選した場合にはRT1の終了によりATを中断し、これに伴いATのゲーム数の計数も中断する。AT中に特別役が当選し、ATが中断した場合には、その後、当選した特別役の入賞を経て対応するボーナスに制御し、当該ボーナス終了後に移行するRT0において特定図柄が停止してRT1に移行した時点でATの制御を再開し、これに伴い準備状態を経てRT2に再度移行することでATの残りゲーム数の計数を再開する。
また、メイン制御部41は、AT中の押し順ベル1〜6の当選時に、ベルが入賞する停止順をナビ報知により報知するようになっており、報知された停止順を無視して停止操作を行った場合には、ベルが入賞してRT2、3が維持される場合もあるが、特定図柄が停止してRT1へ移行してしまう場合もある。また、RT1移行再遊技1〜6の当選時に、報知された停止順を無視して停止操作を行った場合には、RT1移行再遊技が入賞してRT1へ移行してしまうこととなる。AT中に、RT2、3からRT1に移行した場合にはATは継続し、1ゲーム消化する毎にATの残りゲーム数を1減算させつつ、準備状態と同様に、RT1におけるRT2移行再遊技11〜6の当選時にRT1移行再遊技を入賞させる停止順をナビ報知により報知し、報知された停止順に従って停止操作が行われることによりRT1移行再遊技を入賞させてRT1からRT2に移行させることが可能である。
本実施例では、前述のように遊技制御基板40に遊技機情報表示器50が搭載されており、遊技機の射幸性を判断するのに必要な情報が表示されるようになっている。図28に示すように、遊技制御基板40は、透明な樹脂を成形した基板ケース120aに収容された状態で筐体1aに取り付けられており、遊技機情報表示器50は、遊技制御基板40が基板ケース120aに収容され、筐体1aに取り付けられた状態で、基板ケース120aを介してその表示内容を視認できるようになっている。
このため、前面扉1bを開放した状態において基板ケース120aを介して遊技機情報表示器50の表示内容が視認できるようになっている。また、筐体1aの内部では、遊技機情報表示器50の表示内容の視認性が妨げられないようになっている。詳しくは、遊技機情報表示器50の表示側の位置に、スロットマシン1に設けられたリール等の部品全般、他の基板等が設けられることがなく、遊技機情報表示器50の表示側の位置を、スロットマシン1に設けられた電子部品同士を接続する配線が通過しないようになっている。また、遊技機情報表示器50を搭載した遊技制御基板40を収納する基板ケース120aにおいて、封印シールや開封者を記入するための記入部、スロットマシン1や遊技制御基板40の管理情報や管理履歴等の情報が表示されるラベル、当該ラベルが貼着される貼着部、当該情報が印字、刻印される表示部、放熱穴、放熱用のファン等の部品などが遊技機情報表示器50の表示側の位置を避けて設けられている。
また、基板ケース120aは、遊技制御基板40を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。封止する方法としては、封止片をワンウェイネジで封止したり、ケースの一部を溶着したり、剥がした後が残る封印シールを貼着したりする方法などがある。これにより、遊技機情報表示器50と遊技制御基板40とを接続する接続線を断線させて、基板ケース120aに封入された遊技制御基板40に搭載されている遊技機情報表示器50が正しく表示内容を表示することができないようにしたり、遊技機情報表示器50の表示面にシール等を貼着して視認性を阻害するような不正が行われることを防止できる。
メイン制御部41は、図29に示すように、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を遊技機情報表示器50に表示させる制御を行う。
過去6000ゲーム間の有利区間割合とは、過去6000ゲーム間においてATに関連する有利区間に制御されたゲーム数の割合である。ATに関連する有利区間とは、AT非当選の状態においてATに当選したときから、当選したATに伴うATの制御が全て終了し、非ATに移行するまでの期間である。総累計ゲーム数に対する有利区間割合は、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからの累計ゲーム数である総累計ゲーム数に対してATに関連する有利区間に制御されたゲーム数の割合である。過去6000ゲーム間の連役払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたBB中に払い出されたメダル数の累計である連役払出枚数の比率である。過去6000ゲーム間の役物払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたBB中及びRB中に払い出されたメダル数の累計である役物払出枚数の比率である。過去6000ゲーム間の有利区間払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたATに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。総累計払出数に対する連役払出比率とは、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからのメダルの払出枚数の累計である総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたBB中に払い出されたメダル数の累計である連役払出枚数の比率である。総累計払出数に対する役物払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたBB中及びRB中に払い出されたメダル数の累計である役物払出枚数の比率である。総累計払出数に対する有利区間払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたATに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。
尚、本実施例では、ボーナスとして、RBと、RBが連続して作動するBBのみを搭載する構成であるが、全ての種類の小役の入賞が許容されるが、一部のリールについて引込が制限されるCT、CTが連続して作動するCBを搭載する構成であっても良く、CTを搭載する場合には、CT中に払い出されたメダル数は、役物払出比率に反映され、CBを搭載する場合には、CB中に払い出されたメダル数は、連役払出比率に反映されることとなる。
メイン制御部41は、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を、図29に示す表示順にて所定期間(本実施例では、30秒間)毎に切り替えて遊技機情報表示器50に表示させる。
この際、遊技機情報表示器50には、上位2桁に現在表示中の表示内容を示す略記(例えば、表示順1の過去6000ゲーム間の有利区間比率が表示されている場合には、「1A」)が表示される。現在表示中の表示内容を示す略記は、表示される2桁のうち最下位の桁の表示内容が数字以外の文字(本実施例では、「A」「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桁のうち最上位の桁の表示内容が数字以外の文字(例えば、「A1」)となるようにして、遊技機情報表示器50における下2桁に当該略記を表示させるとともに、遊技機情報表示器50における上2桁に現在表示すべきデータ(例えば、過去6000ゲーム間の有利区間比率)を表示させる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
また、遊技機情報表示器50における下2桁、上2桁のいずれに略記と現在表示すべきデータとを表示させるかにかかわらず、略記を表示する2桁と、現在表示すべきデータを表示する2桁の色彩を異ならせる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
また、本実施例のメイン制御部41は、有利区間割合、連役払出比率、役物払出比率、有利区間払出比率、連役払出比率、役物払出比率、有利区間払出比率を、図29に示す表示順にて所定期間毎に切り替えて表示させる際に、これらの表示が一巡し終えるまでの一の期間内においては、ゲームが進行されて、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させる。詳しくは、これらの表示が一巡し終えるまでの一の期間内において、ゲームが進行されて、これらの値が新たな値に更新され得る場合には、新たな値を演算してRAM41cの所定領域に記憶させるが、遊技機情報表示器50に表示内容を表示させるための出力バッファに当該新たな値を設定することなく、元の値を設定することで、遊技機情報表示器50における表示を元の値を用いて一巡させ、一巡の表示が終了したときから、新たな値を出力バッファに設定することで、その後、新たな値で表示を行うようにしても良いし、これらの表示が一巡し終えるまでの一の期間内において、これらの値が新たな値に更新され得る場合には、新たな値を求めるための演算を行うことを制限して、遊技機情報表示器50における表示を一巡させ、一巡の表示が終了した際に、新たな値を求めるための演算を行い、その後、当該新たな値を用いて遊技機情報表示器50における表示を行うようにしても良い。このようにすることで、遊技機情報表示器50における表示内容が一巡するまでの期間において、異なる時期に演算された有利区間割合等の表示内容が混在してしまうことを防止できる。
また、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合が規定割合(例えば、70%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて有利区間割合を表示する。また、メイン制御部41は、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率が規定割合(例えば、60%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて連役払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の役物払出比率、総累計払出数に対する役物払出比率が規定割合(例えば、70%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて役物払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する有利区間払出比率が規定割合(例えば、80%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて有利区間払出比率を表示する。
このように有利区間割合、連役払出比率、役物払出比率、有利区間払出比率が規定割合を超えると、通常と異なる表示態様にて表示されるようになっており、射幸性が高い状態に制御されている可能性があることを警告できるようになっている。
また、メイン制御部41は、6000ゲームに到達していない状態には、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、集計が6000ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
尚、メイン制御部41は、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示し、6000ゲームに到達した以降の状態では、遊技機情報表示器50の下位2桁に表示すべき割合、比率を表示する、すなわち6000ゲームに到達した以降の状態では、遊技機情報表示器50の下位2桁の表示態様を、6000ゲーム以降の表示態様とは異なる表示態様とする構成とすることが好ましく、このような構成とすることで、6000ゲームに到達していない状態では、遊技機情報表示器50の上位2桁の表示(例えば、「1A」)により特定される有利区間割合等の集計が6000ゲームに到達していないことが認識でき、表示されている割合、比率に偏りが生じている可能性が認識できる。また、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示する構成とすることで、6000ゲームに到達していない状態では、常に遊技機情報表示器50の下2桁にデータが表示されることとなり、例えば、下2桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
また、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合(総払出枚数より役物払出枚数、連役払出枚数、有利区間払出枚数が多い場合、格納された値がある一定のデータ形式(01繰り返しなど)である場合等)には、異常と判定されたデータ及び当該データに関連するデータを初期化し、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知するようになっており、これらのデータの算出が正常に行われていないことを認識できるようになっている。
尚、異常と判定されたデータ及び当該データに関連するデータを初期化する際には、例えば、過去6000ゲーム間に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これら全てに関するデータを初期化するようにしても良いし、一部のデータのみを初期化するようにしても良い。総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これらの全てに関するデータを初期化するようにしても良いし、一部データのみを初期化するようにしても良い。また、過去6000ゲーム間に対するデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化したり、逆に、総累計ゲーム数に対するデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化するようにしても良い。
また、過去6000ゲーム間及び総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合には、その旨を報知し、その後、所定の操作(例えば、スタートスイッチ7、ストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類が所定の手順で操作されること)されることで、当該データに関する初期化を行うようにしても良い。
また、異常が判定された旨の報知では、上述のように、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知しても良いし、異常が判定された際に、その旨を特定可能なコマンドをサブ制御部91に対して送信し、サブ制御部91側において液晶表示器51等により異常が判定された旨を報知させるようにしても良い。
また、メイン制御部41は、データの収集を開始してから6000ゲームに到達するまでの期間、すなわち過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率等を算出するためのデータが不十分な期間において、遊技機情報表示器50の表示内容が、データの収集を開始してから6000ゲーム以降の表示態様とは異なる態様で表示されるようになっており、表示内容を算出するためのデータが不十分な期間であることを認識できるようになっている。
尚、本実施例では、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、所定期間毎に切り替えて表示されるようになっているが、前面扉1bの開放状態が検出されている場合のみ表示されるようにしたり、所定の操作スイッチ(例えばリセット/設定スイッチ38)の操作が検出されている場合のみ表示されるようにしたり、ゲーム中でないときに表示されるようにしたり、設定変更状態や設定確認中に表示されるようにしたり、電源投入後から所定期間のみ表示されるようにしたりしても良い。また、所定期間毎に自動で切り替わるのではなく、所定の操作がされる毎に表示内容が切り替わるようにしても良い。
また、本実施例では、遊技機情報表示器50の表示内容を算出するために用いるデータ異常が判定されたことや表示内容を算出するためのデータが不十分な期間であることが遊技機情報表示器50を用いて報知される構成であるが、その旨を特定可能なコマンドをサブ制御部91に送信し、サブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。
また、本実施例では、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、遊技機情報表示器50に表示される構成であるが、これらの表示に加えて設定変更によってRAM41cが初期化されたこと、スロットマシン1に設けられた配線(バックアップ電源の配線等)の断線検出があったときなどに、その旨が認識可能となる内容が遊技機情報表示器50に表示されるようにしても良い。
特に、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされた場合、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたりしたこと(例えば、AT中のRT2、RT3において、故意にRT1移行再遊技やSBを入賞させたり、特定図柄を停止させてRT1に移行させる操作が行われる場合、すなわち故意に遊技者にとって相対的に有利な遊技状態から不利な遊技状態に移行された場合等)を検出した場合、及び、遊技機情報表示器50が断線等が生じたことにより正常に接続されていない可能性を検出した場合には、その旨を特定可能に報知する。このようにすることで、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを認識することができる。
また、後述するように総累計データのオーバーフローを回避する処理において、当該総累計データ等を初期化した場合には、その旨を特定可能に、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合とは異なる態様で、報知することが好ましく、このようにすることで、オーバーフローを回避する処理より総累計データが初期化されたこととを、有利区間割合等として正しい情報が表示されないようにするための不正な操作による初期化とは、別に認識させることができる。
尚、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合には、その旨を検出して当該検出の履歴をメイン制御部41側で記録し、当該検出時には報知することなく、その後、所定の操作(例えば、スタートスイッチ7やストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類を所定の手順で操作すること、遊技制御基板40に検査用端末等の所定の外部機器を接続すること等)が行われることで、これらの履歴を、メイン制御部41側に設けられた表示器(例えば、遊技機情報表示器50等)やサブ制御部91側に設けられた表示器(例えば、液晶表示器51等)、スロットマシン1の外部の表示器等により確認できるようにしても良い。
また、設定変更がされたこと、断線検出がされたこと、遊技機情報表示器50の接続不良が発生して有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されない可能性があること、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があること、をサブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。また、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたこと、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることが検出されたことの履歴をサブ制御部91側で記録し、所定の操作でこれらの履歴を確認できるようにしても良い。
次に、メイン制御部41が、これらの情報を表示するためのデータの集計、計算方法について説明する。
メイン制御部41は、上述の有利区間割合等のスロットマシン1に関する情報を集計して計算し、当該計算結果に基づく情報を、遊技制御基板40に搭載された遊技機情報表示器50に表示させる処理として遊技機情報表示処理を実行することが可能である。遊技機情報表示処理を行うためのプログラムは、前述の非遊技プログラムに含まれており、遊技機情報表示処理を実行する際にメイン制御部41が用いる各種データは、ROM41bの非遊技データ領域に記憶されている。また、メイン制御部41は、当該遊技機情報表示処理を実行する際に、RAM41cの非遊技RAM領域をワークとして使用するようになっている。尚、メイン制御部41が遊技機情報表示処理を実行する際に使用する当該非遊技RAM領域は、バックアップ電源によりバックアップされており、スロットマシン1への電力供給が停止しても、バックアップ電源により電力が供給される限り当該非遊技RAM領域の記憶内容が保存されるようになっている。また、メイン制御部41は、上述のように設定値を変更する操作が行われることで、RAM41cの遊技RAM領域に記憶されているデータは初期化されることとなるが、遊技機情報表示処理を実行する際に使用する当該非遊技RAM領域は、設定値を変更する操作が行われる際や他の遊技RAM領域について初期化条件が成立した際にも、初期化対象とされないようになっており、特に、上述の有利区間割合等のスロットマシン1に関する情報を集計し、計算し、表示させるためのデータが初期化されることがないようになっている。
前述のように非遊技プログラムは、遊技プログラムにおいて用いられる特殊なCALL命令であるCALLV命令、RST命令、特殊なLD命令であるLDQ命令を用いないようになっており、非遊技プログラムに含まれる遊技機情報表示処理のプログラムにおいても、特殊なCALL命令及び特殊なLD命令が用いられることがないようになっている。遊技機情報表示処理において特殊なCALL命令が用いられないことで、不用意に遊技プログラム領域や遊技RAM領域にアクセスされてしまうことを防止できる。また、特殊なLD命令が用いられないことで、意図しないデータを呼び出してしまい、前述の有利区間割合等のスロットマシン1に関する情報の集計や計算に、予期しない影響を与えてしまうことを防止できる。
図30に示すように、メイン制御部41のRAM41cにおける非遊技RAM領域の所定領域には、スロットマシン1において行われたゲーム回数を計数可能なゲーム回数カウンタ、1ゲーム毎に1加算され、特定期間(本実施例では、6000ゲーム)が経過する毎に初期化される第1のゲーム数カウンタ、1ゲーム毎に1加算され、特定期間(本実施例では、6000ゲーム)を所定数(本実施例では、15)で分割した所定期間(本実施例では、400ゲーム)が経過する毎に初期化される第2のゲーム数カウンタ、1ゲーム毎に1加算されるが初期化されることがない第3のゲーム数カウンタが設けられている。また、1セット分のデータを計数可能な第1〜第5のデータ計数バッファ、1セットで2バイトのデータを格納可能なバッファが15セット設けられている第1〜第5のリングバッファが設定されている。
メイン制御部41は、第1〜第5のデータ計数バッファ及び第1〜第5のリングバッファを用いて、特定期間(本実施例では、6000ゲーム)において付与されたメダルの総枚数である総払出枚数、特定期間(本実施例では、6000ゲーム)においてBBまたはRBに制御されている期間に付与されたメダルの枚数である役物払出枚数、特定期間(本実施例では、6000ゲーム)においてBBに制御されている期間に付与されたメダルの枚数である連役払出枚数、特定期間(本実施例では、6000ゲーム)においてATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)において付与されたメダルの枚数である有利区間払出枚数、特定期間(本実施例では、6000ゲーム)においてATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)のゲーム数である遊技区間ゲーム回数を計数することが可能である。
具体的には、メイン制御部41は、小役の入賞に伴いメダルの払い出しが行われた場合には、第1のデータ計数バッファに、払い出されたメダルの枚数を加算し、BBまたはRBに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第2のデータ計数バッファに加算し、BBに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第3のデータ計数バッファに加算し、ATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第4のデータ計数バッファに加算し、ATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)においてゲームが行われた際に、第5のデータ計数バッファに1ゲームを加算する。尚、本実施例では、メイン制御部41は、小役入賞の発生が判定されたタイミングで、第1〜第4のデータ計数バッファにメダル数を加算する構成であるが、第1〜第4のデータ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング(クレジットの加算または実際のメダルの払出の検出)でも良い。
そして、第2のゲーム数カウンタに基づいて、所定期間が経過したことが特定される毎に、第1〜第5のリングバッファの所定のセットのバッファ(前回更新されたセット+1セット目のバッファ、初回または前回更新されたセットが15セット目の場合は1セット目のバッファ)を初期化し、第1〜第5のデータ計数カウンタ値を、第1〜第5のリングバッファの所定のセットのバッファに加算するとともに、第1〜第5のデータ計数バッファ値を、RAM41cの非遊技RAM領域に設けられた3バイトの集計データ領域A’〜D’、F’にそれぞれ加算する。また、RAM41cの非遊技RAM領域に設けられた3バイトの集計データ領域a’〜d’、f’を初期化し、第1〜第5のリングバッファの1セット目から15セット目までの全てのセットのバッファのデータを、対応する集計データ領域a’〜d’、f’に順次加算する。その後、第1〜第5のデータバッファを初期化する。また、集計データ領域E’を第3のゲーム数カウンタの値に更新する。
これらの処理を行うことにより、所定期間毎に、第1〜第5のリングバッファの所定のセットのバッファのデータ、集計データ領域a’〜d’、f’、A’〜F’がそれぞれ最新の情報に更新されることとなる。
また、メイン制御部41は、所定期間が経過したことが特定される毎に、集計データ領域a’〜d’、A’〜D’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域a’、A’に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していないデータについては、当該集計データ領域a’、A’のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域a、Aに設定する。一方、3バイトに達しているデータについて所定の16ビット分のデータを抽出する抽出処理を行い、抽出されたデータを対応する二次演算データ領域a、Aに設定する。図31(a)に示すように、抽出処理では、集計データ領域のデータを参照して、最上位の位を特定し、当該最上の位を示す最上位データをRAM41cの非遊技RAM領域の所定領域に設定する。そして、当該最上位の位以下の16ビットのデータを抽出する。
また、当該集計データ領域のうちb’〜d’については、集計データ領域b’〜d’のデータにそれぞれ100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域b”〜d”にそれぞれ設定する。その後、集計データ領域aについて抽出処理が行われたか否かを参照し、集計データ領域aについて抽出処理が行われていない場合には、当該集計データ領域b”〜d”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域b〜dに設定する。一方、集計データ領域aについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域aの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域b〜dに設定する。
また、当該集計データ領域のうちB’〜D’については、集計データ領域B’〜D’のデータにそれぞれ100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域B”〜D”にそれぞれ設定する。その後、集計データ領域Aについて抽出処理が行われたか否かを参照し、集計データ領域Aについて抽出処理が行われていない場合には、当該集計データ領域B”〜D”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域B〜Dに設定する。一方、集計データ領域Aについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Aの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域B〜Dに設定する。
そして、メイン制御部41は、二次演算データ領域bのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における総払出枚数の割合を算出し、二次演算データ領域cのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における役物出枚数の割合を算出し、二次演算データ領域cのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における連役出枚数の割合を算出し、二次演算データ領域dのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における有利区間払出枚数の割合を算出する。
また、二次演算データ領域Bのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の総払出枚数の割合を算出し、二次演算データ領域Bのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の役物出枚数の割合を算出し、二次演算データ領域Cのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の連役出枚数の割合を算出し、二次演算データ領域Dのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の有利区間払出枚数の割合を算出する。
また、メイン制御部41は、所定期間が経過したことが特定される毎に、集計データ領域f’、E’、F’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域E’に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していない場合には、当該集計データ領域E’のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域Eに設定する。一方、3バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域Eに設定する。
また、当該集計データ領域f’については、集計データ領域f’のデータに100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域f”に設定する。その後、集計データ領域f”に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していない場合には、当該集計データ領域f”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域fに設定する。一方、3バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域fに設定する。
また、集計データ領域fについて抽出処理が行われたか否かを参照し、集計データ領域fについて抽出処理が行われていない場合には、所定期間のゲーム数である6000をRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域gに設定する。一方、集計データ領域fについて抽出処理が行われている場合には、所定期間のゲーム数である6000について抽出処理を行い、集計データ領域fの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域gに設定する。
また、当該集計データ領域F’については、集計データ領域F’のデータに100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域F”に設定する。その後、集計データ領域Eについて抽出処理が行われたか否かを参照し、集計データ領域Eについて抽出処理が行われていない場合には、当該集計データ領域F”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域Fに設定する。一方、集計データ領域Eについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Eの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域Fに設定する。
そして、メイン制御部41は、二次演算データ領域Fのデータを、二次演算データ領域Eのデータで除算することで、スロットマシン1における総累計のゲーム数における有利区間ゲーム回数の割合を算出し、二次演算データ領域fのデータを、二次演算データ領域gで除算することで、所定期間における有利区間ゲーム回数の割合を算出する。
メイン制御部41は、所定時間毎に、二次演算データ領域の該当領域を参照して、所定期間の総払出枚数の割合、総累計の総払出枚数の割合、所定期間の連役払出枚数の割合、所定期間の役物払出枚数の割合、所定期間の有利区間払出枚数の割合、総累計の連役払出枚数の割合、総累計の役物払出枚数の割合、総累計の有利区間払出枚数の割合を特定して、遊技機情報表示器50の出力バッファに設定することで、遊技機情報表示器50に表示させる。
メイン制御部41は、所定期間が経過したときに、第1〜第5リングバッファのデータに基づいて二次演算データを算出する、すなわち所定期間が経過する毎に、二次演算データを更新するので、所定期間が経過するまでは前回算出された二次演算データが維持され、当該二次演算データに基づいて、遊技機情報表示器50に総払出枚数等を表示させるので、前回の所定期間が経過した後、次の所定期間が経過するまでは、前回の所定期間が経過したときの、総払出枚数等が遊技機情報表示器50に表示されることとなる。
尚、所定時間毎に、上述の総払出枚数等に加えて、所定期間の有利区間ゲーム回数、累計の有利区間ゲーム回数を特定して、遊技機情報表示器50の出力バッファに設定することで、遊技機情報表示器50に表示させる構成としても良い。
また、本実施例では、3バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが3バイト以上の数値に達し得る場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去する。
詳しくは、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化する。この際、規定数に達した総累計データに関連するデータは、演算に用いられる全てのデータ(本実施例では、総支払枚数、役物払出枚数、連役払出枚数、ゲーム回数、有利区間ゲーム回数の集計データの全て)を初期化するようにしても良いし、相対的に関連性の高い一部データ(例えば、総累計データとして総払出枚数の集計データA’が規定数に達した場合には、連役払出比率、役物払出比率、有利区間払出比率の演算の際に集計データA’とともに用いられる連役払出枚数の集計データB’比率、役物払出枚数の集計データC’、有利区間払出枚数の集計データD’、総累計データとしてゲーム数の集計データE’が規定数に達した場合には、有利区間割合(F/E)の演算の際に集計データE’とともに用いられる有利区間ゲーム回数の集計データF’)を初期化するようにしても良い。
尚、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを、所定の比率で減少させる(例えば、総累計データを現在の値を0.5倍する等)ことで、総累計データのオーバーフローを回避するようにしても良く、この際に、規定数に達した総累計データ及び当該総累計データに関連するデータの全てのデータを所定の比率で減少させるようにしても良いし、規定数に達した総累計データ及び当該総累計データと相対的に関連性の高い一部データを所定の比率で減少させるようにしても良い。
また、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化または減少等する場合において、総累計データの規定数は、総累計データの最大値(RAM41cの各集計データ領域(3バイト)に格納可能な値の最大値)であっても良いし、総累計データの最大値よりも小さな所定の値(3バイト内で切りの良い値、例えば、「16000000(10進数)」等)であっても良い。
また、本実施例では、3バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが3バイト以上の数値に達し得る場合には、オーバーフローを回避する処理として、一度関連するデータを消去する構成であるが、関連するデータを消去せずに、計数を停止する構成であっても良い。
また、これら遊技機情報表示器50に表示されるデータは、1ゲーム毎に実施するようにしても良いし、入賞が発生したゲームだけ実施するようにしても良い。
遊技機に用いられるマイクロコンピュータは小数点以下の演算を行うことができないため、本実施例では、以下の第1の演算方法を用いて演算を行っている。第1の演算方法においては、まず、分子の値を100倍する。そしてこの100倍した値を分母の値で除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、被除数を100倍することにより、小数点以下2桁までの演算結果を求められるようにしている。ここで、小数点以下3桁までの演算結果を求める場合1000倍すれば良い。
尚、小数点以下の演算を行うことができないマイクロコンピュータが行う演算方法としては、以下の第2の演算方法を用いても良い。第2の演算方法では、まず、分母の値を100で除算する。そしてこの100で除算した値で分子の値を除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、除数を100で除算することにより、小数点以下2桁までの演算結果を求められるようにしている。ここで、小数点以下3桁までの演算結果を求める場合1000で除算すれば良い。
また、遊技機に用いられるマイクロコンピュータは最大2バイトの値同士の演算しか行うことができない。従って、本実施例では、演算を容易にするために、下位ビットを必要に応じて切り捨てるようになっている。このような演算方法を用いることで遊技機で用いられるマイクロコンピュータでの演算が容易になる一方で誤差が生じる。ただし、算出するための期間が長くなることにより誤差は縮小され、本来の数値に近似することとなる。このため、本実施例では、演算の対象となる値が2バイト以下の場合には、下位ビットを切り捨てることなく、そのままの値を用いて演算を行い、演算の対象となる値が2バイトを超える場合に、下位ビットを切り捨てた値を用いて演算を行うようになっている。
従来のスロットマシンでは、予め定められた設計値に基づいて遊技者にとって有利な状態に制御されるようになっている。
しかしながら、このような従来の方法では、遊技店に設置された後は、予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することが困難であった。
これに対して本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、遊技機情報表示器50に表示されるので、スロットマシン1が市場に出荷された後も予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することができる。
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において有利期間(有利区間)に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器50に表示されるので、市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
尚、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において有利区間に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器50に表示される構成であるが、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)においてBB、RB等のボーナスに制御されたゲーム数の割合が算出され、遊技機情報表示器50に表示される構成としても良く、このような構成でも市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)の連役払出比率、役物払出比率、有利区間払出比率を算出する際に、これらの元となるデータが所定条件を満たすか否かに応じて異なる算出方法により連役払出比率、役物払出比率、有利区間払出比率を算出するので、これらの元となるデータに合わせて最適な算出方法を選択することができる。例えば、特定期間における払出総数、特定期間の有利区間における払出総数が、2バイト以内であれば、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、特定期間における払出総数、特定期間の有利区間における払出総数が、2バイトを超える場合であれば、算出の元となるデータを2バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、誤差の少ない最適な算出方法にて連役払出比率、役物払出比率、有利区間払出比率を算出することができる。
尚、本実施例では、第1の期間(過去6000ゲーム間)において付与されたメダルの総数に占める第1の期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率、第2の期間(工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める第2の期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、それぞれ遊技機情報表示器50に表示されるとともに、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、共通の算出方法により連役払出比率、役物払出比率、有利区間払出比率が算出される構成であるが、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法と、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法とが異なる構成としても良い。例えば、上記の例では、連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、分子を100倍して結果が%となるようにしているが、分母を1/100倍して結果が%となるようにすると、第1の期間における総払出枚数は、2バイト以内に収めることができる。このような構成においては、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを2バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、用いるデータの容量に応じて最適な方法で連役払出比率、役物払出比率、有利区間払出比率を算出することができるようになる。
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)の連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いるデータが、特定期間における総払出枚数、特定期間における有利区間の総払出枚数とは別個に記憶されるので、特定期間の連役払出比率、役物払出比率、有利区間払出比率を簡単な手順で算出することができる。
また、本実施例では、特定ゲーム数(6000ゲーム)の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、特定ゲーム数を所定数(15)で分割した所定ゲーム数(400ゲーム)の期間の総払出枚数、所定ゲーム数の期間の役物払出枚数、所定ゲーム数の期間の連役払出枚数、所定ゲーム数の期間の有利区間払出枚数をそれぞれ記憶する15セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数をそれぞれ合算することで、特定ゲーム数の期間における総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数を算出し、特定ゲーム数(6000ゲーム)の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するようになっており、直近の特定ゲーム数における連役払出比率、役物払出比率、有利区間払出比率を容易に算出することができる。
また、本実施例では、特定ゲーム数(6000ゲーム)の期間における有利区間割合を算出するにあたり、特定ゲーム数を所定数(15)で分割した所定ゲーム数(400ゲーム)の期間の有利区間のゲーム数をそれぞれ記憶する15セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された有利区間のゲーム数を合算することで、特定ゲーム数の期間における有利区間のゲーム数を算出し、特定ゲーム数(6000ゲーム)の期間における有利区間のゲーム数を算出するようになっており、直近の特定ゲーム数における有利区間のゲーム数を容易に算出することができる。
また、本実施例では、遊技制御基板40は、透明な樹脂を成形した基板ケース120aに収容された状態で筐体1aに取り付けられており、遊技機情報表示器50は、遊技制御基板40が基板ケース120aに収容され、筐体1aに取り付けられた状態で、基板ケース120aを介してその表示内容を視認できるようなっている。また、基板ケース120aは、遊技制御基板40を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。このため、遊技機情報表示器50に不正な細工がされることを防止できる。
また、本実施例では、RAM41cに遊技の進行に応じたデータが記憶される遊技RAM領域と、遊技機情報表示器50に役払出比率、役物払出比率、有利区間払出比率等を表示するために用いられるデータが記憶される非遊技RAM領域と、を備え、設定変更状態への移行等によりRAM41cの初期化条件が成立した場合に、遊技RAM領域のデータは初期化される一方、非遊技RAM領域のデータは初期化されないので、初期化条件が成立した場合でも、それ以前のデータを加味して役払出比率、役物払出比率、有利区間払出比率等を算出して表示することができる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、遊技機情報表示器50は、遊技制御基板40が基板ケース120aに封入されている状態で、当該基板ケース120aの外部から表示内容を視認可能となっているとともに、遊技制御基板40に封入された基板ケース120aは、筐体1aの内部に配置されるようになっており、筐体1aの内部は、遊技機情報表示器50の視認性を妨げないように構成されているため、スロットマシン1の前面扉1bを開放するだけで遊技機情報表示器50の表示を確認することが可能であり、遊技機情報表示器50の表示に基づいて、設計値に基づいて有利な状態に制御されているか否かを容易に確認することができる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたり、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたり、遊技機情報表示器50に接続不良が生じたりしたこと、すなわち有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを検出するようになっており、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が遊技機情報表示器50により適正に表示されなくなる可能性のある事象が発生したことが検知されるので、これらの情報が適正に表示されないようにする不正を防止できる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが3バイト以上の数値に達する場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去することで、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが上限値を超えることが回避されるため、連役払出比率等を算出する際に用いる総支払枚数等のデータが上限値を超えてしまう状況に至っても、連役払出比率、役物払出比率、有利区間払出比率を算出して、これらの情報を遊技機情報表示器50に表示させることができる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、遊技機情報表示器50において連役払出比率、役物払出比率、有利区間払出比率等の情報を、所定の表示順にて周期的(本実施例では、30秒毎)に切り替えて表示するようになっており、これら連役払出比率等の表示が一巡し終えるまでの一の期間内においては、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させるので、遊技機情報表示器50において連役払出比率等の多くの情報を効率良く表示することができるとともに、一の周期で表示される複数種類の情報として同時期に更新された情報が表示されるので、一の周期中に異なる時期の情報が混在してしまうことを防止できる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、これらのデータの少なくともいずれかに異常と判定された場合には、異常と判定されたデータ及び当該データに関連するデータを初期化し、異常が検知された旨の表示(例えば、「FFFF」)を遊技機情報表示器50にさせて、その旨を報知するようになっているので、有利区間割合等を算出するのに必要なデータが初期化されたことで、これらのデータの算出が正常に行われておらず、有利区間割合等が正常な値ではない可能性を認識させることができる。
尚、メイン制御部41は、RAM41cの異常が検出された場合には、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが記憶される非遊技RAM領域を初期化する構成としても良く、このような構成とすることで、これらのデータのうち異常が生じているデータを特定せずに、簡素な処理で、これらのデータを新たに算出させることができる。
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、ゲームの進行に応じて小役入賞の発生が判定されたタイミング、すなわち、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了するのを待つことなく、データ計数バッファにメダル数を加算するので、小役の入賞に伴う払い出しが完了するのを待つことなく連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
尚、本実施例では、メイン制御部41は、ゲームの進行に応じて小役入賞の発生が判定されたタイミングで、データ計数バッファにメダル数を加算する構成であるが、データ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング(クレジットの加算または実際のメダルの払出の検出)とする構成であっても良く、このような構成とすることで、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了してから、連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
以上、本発明の実施例1及び変形例を図面により説明してきたが、本発明はこれらの実施例1及び変形例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
前記実施例1及び変形例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例1で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
前記実施例では、遊技機としてのスロットマシンを適用しているが、遊技機は、スロットマシン1に限らず、遊技球を用いるパチンコ遊技機等、スロットマシン以外の遊技機において、本発明の構成を適用しても良い。