本発明が適用されたスロットマシンの実施例について図面を用いて説明すると、本実施例のスロットマシン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、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施例では後述するRT0〜4の規定数として3、RBの規定数として2が定められている)を設定する際に操作される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側に流下したメダルを検出する投入メダルセンサ31a〜c、投入メダルセンサ31a〜cの上流側で異物の挿入を検出する投入口センサ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の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、後述するRT0〜4における規定数の賭数として3枚が定められ、後述するRBにおける規定数の賭数として2枚が定められており、これら遊技状態に応じた規定数の賭数が設定されると入賞ラインLNが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
また、本実施例では、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組合せ(例えば、ベル−ベル−ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。
本実施例では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4の4種類が無効ラインLMとして定められている。
また、本実施例では、入賞役として、入賞ライン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ゲームが終了し、入賞ラインLN上に予め定められた図柄の組合せ(以下、役ともいう)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLN上に、遊技状態の移行を伴う図柄の組合せが各リール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の構成を示すブロック図である。図4に示すように、スロットマシン1には、遊技制御基板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、投入メダルセンサ31a〜c、ドア開放検出スイッチ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には、遊技の進行に関する処理を行うととともに遊技制御基板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から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔(約2ms)毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。
また、演出制御基板90には、電池を脱着自在に係止して保持可能な電池ホルダ90aが設けられており、当該電池ホルダ90aにバックアップ電池90bが保持されている。バックアップ電池90bの電力は、サブ制御部91のRAM91c及び時計装置97のバックアップ電源として供給されるようになっており、バックアップ電池90bにより電力が供給されている間は、RAM91cに記憶されているデータが保持されるとともに、時計装置97による日時情報の管理が行われるようになっている。
また、演出制御基板90は、それぞれ基板ケースに収容された状態でスロットマシン1の内部に設置さており、演出制御基板90が不正に接触されることがないようになっている。図6(a)に示すように、基板ケース99には、演出制御基板90を当該基板ケース99内に収容した状態で、演出制御基板90に配置さられた電池ホルダ90aの位置と対応する位置に、電池ホルダ90aに向けて突出する突出部99aが設けられている。突出部99aは、演出制御基板90が基板ケース99内に収容された状態で、当該突出部99aの先端部99bと、電池ホルダ90aに保持されているバックアップ電池90bの上面と、が接触するように形成されており、先端部99bがバックアップ電池90bに接触することで、バックアップ電池90bが移動することが規制され、スロットマシン1に加えられた振動の影響等によりバックアップ電池90bが電池ホルダ90aから脱離することが防止されるようになっている。
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選、ART抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定値6からさらに操作されたときは、設定値1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
尚、設定キースイッチ37がon状態で電源投入された場合に、ドア開放検出スイッチ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は、遊技状態(RT0〜RT4、RB)に応じて設定可能な賭数の規定数(本実施例では、RT0〜4においては3、RBにおいては2)が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。
そして、本実施例では、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
以下、本実施例の内部抽選について説明する。内部抽選は、メイン制御部41が、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、スタートスイッチ7の検出時)に決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、乱数回路508bにより生成され、乱数回路508bの乱数値レジスタに格納されている値をRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態(RT0〜4、RB)に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
次に、リール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が開放中の旨を示すドア開放信号、後述する設定変更状態または設定確認状態に移行している旨を示す設定中信号、メダルセレクタ29の異常を示す投入エラー信号、ホッパーユニット34の異常を示す払出エラー信号をそれぞれ出力する。
外部出力基板1000には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。遊技制御基板40から出力された信号のうち、メダルIN信号、メダルOUT信号、RB中信号、BB中信号、AT信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。これに対してドア開放信号、設定中信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。
本実施例では、メイン制御部41は、サブ制御部91に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、ART状態コマンド、内部当選コマンド、リール加速情報コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞枚数コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認開始コマンド、設定確認終了コマンド、ドアコマンド、操作検出コマンド、精算開始コマンド、精算終了コマンド、エラー開始コマンド、エラー解除コマンドを含む複数種類のコマンドを送信する。これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1〜5バイトの拡張データとからなり、サブ制御部91は、種類データからコマンドの種類を判別できるようになっている。
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、MAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
遊技状態コマンドは、当該ゲームの遊技状態(RT0〜4、RB)を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。
ART状態コマンドは、ART抽選の結果、AT中か否か、ART中か否か、後述する規定ゲーム数に到達するまでの残りゲーム数、前兆期間の残りゲーム数、ARTの残りゲーム数を特定可能なコマンドであり、ゲームが開始したときであって、遊技状態コマンドの後に送信される。
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときであって、遊技状態コマンドの後に送信される。内部当選コマンドは、第1の内部当選コマンドと、第2の内部当選コマンドと、を含み、内部抽選においてナビ報知の対象となる報知対象役が当選した場合に、ナビ報知が行われる状態(AT中、または非AT中でナビ報知が行われる場合)であれば、当選した報知対象役の種類も遊技者にとって有利な停止順も特定可能な第1の内部当選コマンドが送信され、ナビ報知が行われない状態(非AT中でナビ報知が行われない場合)であれば、当選した報知対象役の種類は特定可能であるが遊技者にとって有利な停止順は特定不能な第2の内部当選コマンドが送信される。
遊技状態コマンド、内部当選コマンドは、スタートスイッチ7が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ7が操作されてゲームが開始したことを特定可能である。
停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。
滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。
停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。
停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。
遊技終了コマンドは、遊技が終了された旨を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。
入賞枚数コマンドは、入賞ラインLNに揃った図柄の組合せ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。
遊技終了コマンド、入賞枚数コマンドは、いずれも遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、1ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞によるメダルの払出が終了したときに送信される。
精算開始コマンドは、クレジットまたは賭数に用いられたメダルの精算処理の開始を示すコマンドであり、精算処理を開始する際に送信され、精算終了コマンドは、精算処理の終了を示すコマンドであり、精算処理の終了時に送信される。
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに終了推定時間(本実施例では60秒)経過して待機状態に移行するとき、精算終了コマンドが送信された後に送信される。
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
エラー開始コマンドは、エラー処理の開始及びエラーの種類を示すコマンドであり、エラー処理を開始する際に送信され、エラー解除コマンドは、エラー処理の終了を示すコマンドであり、リセット操作がなされてエラー状態が解除されたときに送信される。
復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部41の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部41の制御状態が初期化されたことを特定可能である。
設定確認開始コマンドは、設定確認状態の開始を示すコマンドであり、設定確認状態に移行する際に送信され、設定確認終了コマンドは、設定確認状態の終了を示すコマンドであり、設定確認状態の終了時に送信される。
ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちon(開放状態)/off(閉状態)を示すコマンドであり、電源投入時、1ゲーム終了時(ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点)、ドア開放検出スイッチ25の検出状態が変化(onからoff、offからon)した時に送信される。
操作検出コマンドは、操作スイッチ類(MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)の検出状態(on/off)を示すコマンドであり、一定時間毎に送信される。
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、メイン処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。
一方、ドアコマンドは、タイマ割込処理(メイン)のドア監視処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。
また、操作検出コマンドは、タイマ割込処理(メイン)のコマンド送信処理が10回実行される毎に、スイッチの検出状態に基づいて生成されるとともに、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は、内部抽選にてRB(レギュラーボーナス)が当選し、RBが入賞することで遊技者にとって有利なRB(レギュラーボーナス)に制御する。RBは、通常よりも小役の当選確率が高まることで遊技者にとって有利となる遊技状態であり、いずれかの小役が規定回数入賞するか、規定ゲーム消化したことを条件として終了する。
また、メイン制御部41は、内部抽選にてBB(ビッグボーナス)が当選し、BBが入賞することで遊技者にとって有利なBB(ビッグボーナス)に制御する。BBは、口述のRBに毎ゲーム制御される遊技状態であり、規定枚数以上メダルが払い出されたことを条件として終了する。
また、メイン制御部41は、内部抽選結果に応じて遊技者にとって有利となる停止順を遊技補助表示器12の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム(以下、ATという)に制御可能である。さらにメイン制御部41は、ATの制御により通常よりも再遊技役の当選確率が高まるRTに制御可能であり、ATとRTの双方に制御されるARTに制御可能である。ARTは、ARTに制御するか否かを決定するART抽選に当選することで、所定ゲーム数にわたり制御される。また、メイン制御部41は、ART中に当該ARTの残りゲーム数を上乗せするか否かを決定する上乗せ抽選を行い、上乗せ抽選に当選すると、当選したゲーム数がARTの残りゲーム数に加算される。尚、AT中やART中にBBやRBが当選した場合には、ATやARTは中断し、BBやRBの終了後、再開されるようになっている。
メイン制御部41は、ATに制御している場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ報知を実行するとともに、サブ制御部91に対して前述の第1の内部当選コマンドを送信することで、液晶表示器51等を用いたナビ演出を実行させる。また、本実施例においてメイン制御部41は、ATに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
図7は、メイン制御部41が用いるメモリ領域のアドレスマップである。図7に示すように、メイン制御部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)と、を含む。
図8は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。
図8(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のアドレスから開始する構成でも同様の効果が得られるものである。
図8(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命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。
また、メイン制御部41にプログラム/データ領域に格納されたデータを読み出す命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタに読み出したデータを格納する。
ROM41bに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ROM41bの遊技プログラム領域のうち先頭アドレスが特定値(例えば00H)となる領域に格納されている。一方、ROM41bのベクタテーブル領域には、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部41は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
尚、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命令に比較して少ないデータ量にて非遊技データを呼び出すことが可能となり、これらの非遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
また、これらの場合でも特殊なLD命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。
また、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、データの格納アドレスが特定可能となる特殊なLD命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なLD命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
メイン制御部41は、システムリセット信号の入力によるシステムリセット、WDT506bによるWDTリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはFFFFH(未使用のベクタテーブル領域に設定される値)であるか、を判定し、ベクタテーブル領域に設定された値がプログラムの設定される領域外を示す値でもなく、FFFFHでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
遊技プログラムは、図9に示すように、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む。
遊技専用プログラムは、例えば、遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理、外部出力1処理、初期設定処理、電断処理、エラー処理を含む。遊技開始待ち処理は、1ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ7が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール制御処理は、リールの回転を開始させ、ストップスイッチ8L、8C、8Rが操作されることでリールを停止させるための処理であり、遊技終了時設定処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力1処理は、外部出力信号のうちメダルIN信号、メダルOUT信号、RB中信号、BB中信号、AT信号の出力制御を行うための処理であり、初期設定処理は、電源投入時においてゲームを可能な状態とするための処理(バックアップ異常確認、レジスタ初期化等)であり、電断処理は、電断発生時に、その後電断前の状態に復帰できるようにするための処理であり、エラー処理は、各種の異常(メダルの投入異常、メダルセレクタ29内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、RAM異常、設定値異常、ホッパータンク34aの空、オーバーフロータンク35の満タン検知等)が検知された場合に遊技を不能化するための処理である。また、特に図示しないが、遊技プログラムは、前述のATに関連する処理(ATに係る抽選やナビ報知に係る制御等)も含む。
遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ31a〜cによるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ34cによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。
遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、LED表示処理は、指定された値をLEDに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。
特に、遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件(乱数異常、RAM異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作)が成立するまで遊技の進行を不能化するエラー処理を含む。
非遊技プログラムは、図9に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。
非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力2処理、投入メダルエラー判定処理、払出メダルエラー判定処理、停電判定処理、通常時コマンド送信処理、電断時コマンド送信処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ26によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉1bの開放を検知するための処理であり、外部出力2処理は、外部出力信号のうちセキュリティ信号(ドア開放信号、設定中信号、投入エラー信号、払出エラー信号)の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ31a〜cの検出状況に基づいて投入メダルの逆流検知、メダルセレクタ29内のメダル詰り検知、メダルセレクタ29内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ34cの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、停電判定処理は、電断検出回路48からの電圧低下信号が検出されているか否かを判定するための処理であり、通常時コマンド送信処理は、遊技専用プログラム及び非遊技専用プログラムのコマンド設定処理によりコマンドキューに設定されているコマンドのうち最初に設定された一のコマンドをサブ制御部91に対して送信するための処理であり、電断時コマンド送信処理は、コマンドキューに設定されている全てのコマンドをサブ制御部91に対して送信するための処理である。
非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。
非遊技プログラムは、遊技の進行に係わらない検知手段(投入口センサ26、満タンセンサ35a、ドア開放検出スイッチ25)の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。
また、非遊技プログラムは、複数の制御状態(遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理)のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段(例えば、投入メダルセンサ31a〜c、払出センサ34c)が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理(例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理)を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。
尚、遊技プログラムに含まれる処理のうち、外部出力1処理、遊技開始待ち処理においてメダルの投入数を計数する処理、流路切替ソレノイド30を切り替える処理、遊技終了時設定処理においてメダルの払出数を計数する処理、ホッパータンク34aが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ATに関連する処理、内部当選コマンドの送信処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。
本実施例においてメイン制御部41のCPU41aは、図10に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
図10に示すように、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領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。
また、本実施例では、遊技プログラムと非遊技プログラムとを実行可能であり、遊技プログラムが用いるデータを退避する遊技スタック領域と、非遊技プログラムが用いるデータを退避する非遊技スタック領域と、が別個に設けられたRAM41cを備えており、メイン制御部41は、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を別個に設けられたスタック領域にそれぞれ退避させるので、スタック領域の管理が容易となる。特に、タイマ割込の発生により退避される遊技プログラムが用いるデータと、タイマ割込処理(メイン)の実行中に行われる非遊技プログラムが用いるデータと、が混在して一のスタック領域に格納されるようなことがないので、スタックの管理が煩雑となってしまうことがない。
次に、メイン制御部41が遊技の進行制御等に用いる時間間隔を計測するためのタイマカウンタについて、図11〜図13に基づいて説明する。
メイン制御部41は、計時開始条件が成立したときに、RAM41cの遊技RAM領域に割り当てられたタイマカウンタのタイマ値として計時時間に応じた初期値を設定するとともに、タイマ割込処理(メイン)において定期的にタイマ値を減算し、タイマ値が0となることで計時時間が経過したことを特定するようになっている。
詳しくは、メイン制御部41は、メイン処理において計時開始条件が成立したときに、当該条件に応じたタイマカウンタが割り当てられた領域に計時時間に応じたタイマ値の初期値を設定する。設定されたタイマ値は、タイマ割込処理(メイン)の時間カウンタ更新処理において、約2.24ms毎に0となるまで1ずつ減算される。
そして、メイン処理では、図11に示すように、該当するタイマカウンタのアドレスを取得し(Sj1)、取得した値を読み出し(Sj2)、読み出した値が0でないか否かを判定し(Sj3)、読み出した値が0であると判定した場合に、計時時間が経過したことを特定する。
本実施例において用いるタイマカウンタは、図12に示すように、初期値が1バイト以下の1バイトタイマA、1バイトタイマB、1バイトタイマC、初期値が1バイトを超え、2バイト以下の2バイトタイマA、2バイトタイマB、2バイトタイマC、2バイトタイマDを含む。
1バイトタイマは、1バイト以内のタイマ値にて計測可能な比較的短い期間を計測するためのタイマであり、例えば、外部出力信号の出力期間を計測する外部出力信号タイマ、LEDの出力更新期間を計測するLED更新タイマ、停止操作の検出後、再度の停止操作が有効化されるまでの期間を計測する停止無効タイマ、リール停止後、メダルの払出が開始するまでの期間を計測する払出待ちタイマ、投入メダルセンサ31a〜cのonが検出されてからの期間を計測する投入検出タイマ、投入口センサ26のonが検出されてからの期間を計測する投入口検出タイマ、払出センサ34cのonが検出されてからの期間を計測する払出検出タイマ、リール回転開始後、停止操作が有効となるまでの期間を計測する始動時タイマなどがある。このうち停止無効タイマ、払出待ちタイマ、始動時タイマは、これらのタイマによる計測期間が1遊技の終了するタイミングを跨ぐことはないが、外部出力信号タイマ、LED更新タイマ、投入検出タイマ、投入口検出タイマ、払出検出タイマは、これらのタイマによる計測時間が1遊技の終了するタイミングを跨ぐことがある。
2バイトタイマは、1バイト以内のタイマ値では計測できない比較的長い期間を計測するためのタイマであり、例えば、1遊技に必要な規定時間(約4.1秒)を計測する1遊技時間タイマ、外部出力信号のうちセキュリティ信号の最低出力期間を計測するセキュリティ信号タイマ、遊技終了からの期間を計測する待機時間タイマ、ホッパーモータ34bの駆動後、払出センサ34cが検出されない期間を計測するホッパーエンプティタイマなどがある。このうち待機時間タイマ、ホッパーエンプティタイマは、これらのタイマによる計測期間が1遊技の終了するタイミングを跨ぐことはないが、1遊技時間タイマ、セキュリティ信号タイマは、これらのタイマによる計測時間が1遊技の終了するタイミングを跨ぐことがある。
このようにタイマカウンタは、1遊技の終了するタイミング、すなわち遊技の進行に応じてRAM41cの一部が初期化されるタイミング(1遊技の終了時または特定の遊技状態の終了時においてRAM41cの一部が初期化されるタイミング)を跨ぐ計測期間を計測するタイマカウンタと、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタと、を含むが、いずれのタイマカウンタも遊技の進行に応じたタイミングでは初期化されることのない特別ワークに割り当てられている。
これらタイマカウンタのうち1バイトタイマA〜Cは、RAM41cの連続する3バイトの領域(804CH〜804EH)に1バイトずつ割り当てられており、2バイトタイマA〜Dは、RAM41cの連続する8バイトの領域(804FH〜8055h)に2バイトずつ割り当てられている。さらに、1バイトタイマA〜C、2バイトタイマA〜DもRAM41cの連続する領域に割り当てられている。以下では、1バイトタイマA〜Cが割り当てられた領域を1バイトタイマ群と呼び、2バイトタイマA〜Dが割り当てられた領域を2バイトタイマ群と呼ぶ。すなわち1バイトタイマ群及び2バイトタイマ群はいずれも、所定の規則で連続するアドレスが割り当てられた領域に設定されている。尚、所定の規則で連続するアドレスが割り当てられる領域とは、例えば、開始アドレス及び開始アドレスからN(Nは自然数)ずつ加算されるアドレスが割り当てられる領域である。
図13は、時間カウンタ更新処理の制御内容を示すフローチャートである。
時間カウンタ更新処理では、まず、1バイト用処理回数として、更新すべき1バイトのタイマカウンタの数(本実施例では3)をセットし(Sk1)、1バイトタイマ群の先頭アドレス(804CH)にポインタをセットする(Sk2)。
次いで、指定アドレス(ポインタが示すアドレス)に格納された1バイトの値が0でなければ指定アドレスの1バイトの値を1減算し(Sk3)、Sk1のステップで設定した処理回数を1減算し(Sk4)、減算後の処理回数が0か否かを判定する(Sk5)。
Sk5のステップで減算後の処理回数が0でない場合、すなわち全ての1バイトタイマの更新が終了していない場合には、ポインタを1加算し(Sk6)、Sk3のステップに戻る。これにより、未処理の1バイトタイマのアドレスにポインタが移動し、指定アドレスの1バイトの値が0でなければ減算される。
Sk5のステップで減算後の処理回数が0の場合、すなわち全ての1バイトタイマの更新が終了した場合には、2バイト用処理回数として、更新すべき2バイトのタイマカウンタの数(本実施例では4)をセットし(Sk7)、ポインタを1加算する(Sk8)。これにより、2バイトカウンタ群の先頭アドレス(804FH)にポインタが移動する。
次いで、指定アドレス(ポインタが示すアドレス)及び次のアドレスからなる領域に格納された2バイトの値が0でなければ指定アドレス及び次のアドレスの2バイトの値を1減算し(Sk9)、Sk7のステップで設定した処理回数を1減算し(Sk10)、減算後の処理回数が0か否かを判定する(Sk11)。
Sk11のステップで減算後の処理回数が0でない場合、すなわち全ての2バイトタイマの更新が終了していない場合には、ポインタを2加算し(Sk12)、Sk9のステップに戻る。これにより、未処理の2バイトタイマのアドレスにポインタが移動し、指定アドレス及び次のアドレスの2バイトの値が0でなければ減算される。
Sk11のステップで減算後の処理回数が0の場合、すなわち全ての2バイトタイマの更新が終了した場合には、処理を終了する。
このように本実施例では、RAM41cに割り当てられたタイマカウンタの値を定期的に更新し、特定の値(0)となることで時間の経過を特定するようになっている。従来は、複数種類の時間間隔を計測する場合に、計時を要する複数種類の処理内で、タイマ値の設定及び更新を行っており、複数種類のタイマ値を更新するためのプログラムをそれぞれの処理内に設ける必要があるため、プログラム容量が増大する要因となっていた。また、複数種類のタイマカウンタは、それぞれが用いられる処理毎のデータ群として割り当てられているため、一の処理においてまとめて更新するためには、それぞれの関連性のないアドレスの値を読み出す必要があった。
これに対して本実施例では、複数種類のタイマカウンタ値が格納される領域がRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定されるとともに、指定アドレスに格納されたタイマ値を更新する処理を、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新するので、複数種類のアドレスをそれぞれ指定して当該アドレスの値を更新する処理を個々の処理で行う場合よりもプログラム容量を削減することができる。
尚、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成であれば良く、例えば、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良いし、基準アドレスに対して処理数に応じた値(例えば、1バイトカウンタであれば、処理数1の場合に+1、処理数2の場合に+2、処理数3の場合に+3…)を加算または減算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。
また、本実施例では、1バイトタイマA〜C、2バイトタイマA〜Dの7種類のタイマカウンタの値を備える構成であるが、少なくとも2種類以上のタイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより2種類以上のタイマ値を更新する構成であれば、上記のようにプログラム容量を削減することができる。
また、1バイトタイマまたは2バイトタイマの一方のみ、タイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。
また、メイン制御部41が備える一部のタイマカウンタのみ、タイマ値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。
また、本実施例では、計測する期間の種類毎に別個のタイマカウンタを備える構成であるが、例えば、計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成としても良い。
また、本実施例では、メイン制御部41が実行する処理として、遊技の進行状況に関わらず予め定められた処理を定期的に行うタイマ割込処理(メイン)と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、を含み、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、タイマ割込処理(メイン)において複数種類のタイマ値を更新するようになっており、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。
尚、本実施例では、メイン処理に定期的に割り込んでタイマ割込処理(メイン)を実行する構成であるが、定期的に行うタイマ割込処理内で、遊技の進行状況に関わらず予め定められた処理を行う定期処理と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、の双方を行う構成としても良く、このような構成においても、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、定期処理において複数種類のタイマ値を更新する構成とすることで、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。
また、本実施例では、時間カウンタ更新処理において、指定アドレスの値が0でないことを条件に当該アドレスの値を更新するようになっており、タイマ値が異常な値に更新されてしまうことを防止できる。
また、本実施例では、時間カウンタ更新処理において、更新するタイマカウンタの数と同数の処理数を設定し、設定した処理数分、タイマ値を更新する処理を繰り返し実行する構成であるため、更新するタイマカウンタの数の管理が容易になるとともに、例えば、更新間隔が異なる複数種類のタイマカウンタを備える場合などに、設定する処理数に応じて更新するタイマ値の種類を任意に設定することができる。
尚、処理数、すなわち更新するタイマカウンタの数は、プログラムに設定されていても良いし、テーブルに設定された値を読み出して設定するようにしても良い。
また、最初に処理数を設定することなく、最後に更新するタイマカウンタを予め設定するとともに、当該タイマカウンタのアドレスに到達するまでタイマ値を更新する処理を繰り返し実行する構成としたり、最後に更新するタイマカウンタの次のアドレスに特定のエンド値(例えば、FFh)を格納し、指定アドレスから読み出された値が特定のエンド値となるまでタイマ値を更新する処理を繰り返し実行する構成としても良い。
また、本実施例では、1バイトのタイマカウンタと、2バイトのタイマカウンタと、を備え、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、を別個に備えるため、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、を共通化する場合よりもプログラムの容量やRAM41cにおいてタイマ値が占有する容量を削減することができる。
尚、本実施例では、2バイトのタイマカウンタを備えることで1バイトを超える初期値に対応する相対的に長い時間を計測する構成であるが、例えば、更新間隔が異なるタイマカウンタ、例えば、タイマ割込処理(メイン)4回に1回更新する第1のタイマカウンタと、14回に1回更新する第2のタイマカウンタと、を備えることにより、2バイトのカウンタを設けることなく、相対的に長い時間間隔を計測する構成としても良く、このようにすることで、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、それぞれ設ける必要がなくなるため、タイマ値の更新に係るプログラム容量を削減できる。
また、本実施例では、複数種類のタイマカウンタがRAM41cにおいて遊技の進行に応じて初期化されることのない特別ワークに割り当てられており、遊技の進行に応じて初期化されることがないため、遊技の進行状況に関わらず、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐ期間の時間を計測することができる。
特に、本実施例では、計測期間が1遊技の終了するタイミング、すなわち遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタだけでなく、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタについても他のタイマカウンタとともに特別ワークに割り当てられた領域に格納されているため、タイマカウンタの管理が容易になるとともに、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタを、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタに変更する等、後の設計変更等によりタイマカウンタの用途を容易に変更することができる。また、上記のように計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成であれば、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのある計測期間と、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのない計測期間と、を一のタイマカウンタにて計測することが可能となる。
次に、メイン制御部41が、遊技の進行を妨げることのない異常(例えば、リール回転中にメダルの投入や払出が検出されたことによる異常、払出処理中にメダルの投入が検出されたことによる異常)を検知した場合に、セキュリティ信号を出力する際の制御について、図14に基づいて説明する。
リール回転処理中及び払出処理中の投入エラーは、例えば、メダル投入口4から異物を挿入された場合や、メダルの流路に異物が存在した場合や、リール回転処理中及び払出処理中にも関わらず、メダル投入口4から投入されたメダルがホッパータンク34a側に流下した場合などに検出される。また、リール回転処理中の払出エラーは、払出タイミングではない場合にメダルが払い出された場合などに検出される。
図14(a)において、スタート操作、リール回転開始、第1停止、第2停止、第3停止、払出は遊技進行中の各タイミングを示す。具体的には、スタート操作は、スタートスイッチ7の操作を検出したタイミングを示す。リール回転開始は、リール2L、2C、2Rが回転を開始したタイミングを示す。第1停止は、全てのリール2L、2C、2Rが未だ回転中の状態で最初に行われる停止操作を検出したタイミングを示す。第2停止は、リール2L、2C、2Rのうちいずれか1つのリールの回転が既に停止し、2つのリールが回転中の状態、すなわち、2番目に行われる停止操作を検出したタイミングを示す。第3停止は、2つのリールの回転が既に停止し、1つのリールが回転中の状態、すなわち、3番目に行われる停止操作を検出したタイミングを示す。払出は、メダルの払出処理を行っているタイミングを示す。
異常検出は、遊技の進行を妨げることのない異常を検出したタイミングを示す。メダル払出検出は、払い出されたメダルを払出センサ34cにより検出したタイミングを示す。メダルOUT信号は、1パルス出力することにより1枚のメダルが払い出された旨を示す信号である。セキュリティ信号は、遊技の進行を妨げることのない異常が発生したことを示す信号(例えば、投入エラー信号や払出エラー信号)の出力状況を示す。
図14(a)は、リール回転処理中に遊技の進行を妨げることのない異常を検出し、かつ、メダルの払出のある入賞が発生した場合におけるメダル払出検出、メダルOUT信号、セキュリティ信号の出力タイミングを示した図である。本実施例では、図示するように、リール回転処理中に遊技の進行を妨げることのない異常を検出した場合、異常を検出した直後にセキュリティ信号を出力するのではなく、払出処理を終了した後、かつ、メダルOUT信号の出力が完了する前にセキュリティ信号を出力する。これにより、リール回転処理中に異常が発生した状況で払い出されたメダルを認識することができる。すなわち、異常が発生した状況で付与された遊技価値を認識することができる。
また、従来知られているように、遊技中に異常検出したときに、遊技終了後に異常報知する場合、遊技に関する処理を終了した後に異常信号の出力を行うと、「遊技中の異常」と「遊技終了直後の異常」の区別がつかない。しかしながら、本実施例では、遊技を開始してから遊技媒体の付与を終了するまでの期間内の所定のタイミングで異常を検出した場合、遊技媒体の付与が終了した後、メダルOUT信号の出力を完了する前にセキュリティ信号の出力を開始する。これにより、例えば、遊技店のホールコンピュータなどが、収集ユニットによって収集されたメダルOUT信号とセキュリティ信号の出力タイミングを解析し、メダルOUT信号の出力が完了する前にセキュリティ信号が出力されていたことを検出することで、「遊技直後の異常」ではなく、「遊技中の異常」であることを区別することができる。
尚、図14(a)では、払出処理の終了後にメダルOUT信号が出力されるようになっていたが、例えば、図14(b)に示すように、メダル払出が検出されるごとにメダルOUT信号が出力されるようにしても良い。そしてこのような場合でも、メダルOUT信号の出力を完了する前にセキュリティ信号の出力を開始するようになっていれば、例えば、最後のメダル払出の検出に対応するメダルOUT信号の出力を検出したタイミングでセキュリティ信号の出力を開始するようにすれば良い。
次に、メイン制御部41のRAM41cの初期化について、図15に基づいて説明する。
本実施例のメイン制御部41は、上述のように初期化2を実行することで、特定の遊技状態すなわちRB、BBの終了時にRAM41cの使用可能領域のうち一般ワーク、未使用スタック領域及び未使用領域を初期化し、初期化3を実行することで、1ゲームの終了時に、使用可能領域のうちの未使用スタック領域及び未使用領域を初期化する。
また、メイン制御部41のRAM41cには、一般ワークとして、RBの制御が行われるときに使用されるRB使用領域と、BBの制御が行われるときに使用されるBB使用領域とを含む領域が割り当てられているとともに、RB終了時、BB終了時には初期化されることのない特別ワークに、ATの制御が行われるときに使用されるAT使用領域が配置されている。
メイン制御部41のRAM41cにおいて、RB使用領域には、RBに制御されるに際して遊技者の利益に関するデータ、例えば、RBの残りゲーム数及びRB中の入賞回数に関するデータが記憶され、BB使用領域には、BBに制御されるに際して遊技者の利益に関するデータ、例えば、BB中に払い出されたメダルの総数に関するデータが記憶され、AT使用領域には、ATに制御されるに際して遊技者の利益に関するデータ、例えば、ARTの残りゲーム数及びARTのゲーム数の上乗せに関するデータが記憶される。
図15に示すように、メイン制御部41は、1ゲームの終了時において、通常時すなわちRBやBB、ATに制御されていないときは、上述の初期化3を実行して、RAM41cの使用可能領域内の未使用スタック領域である遊技スタック領域(未使用)と非遊技スタック領域(未使用)、及び使用可能領域内の未使用領域である遊技RAM領域と非遊技RAM領域との間の未使用領域3を一括して初期化するとともに、RB使用領域、BB使用領域、AT使用領域を領域毎に初期化する。また、1ゲームの終了時において、ATに制御されているときは、初期化3を実行するとともに、RB使用領域及びBB使用領域を領域毎に初期化する一方で、AT使用領域は初期化しない。また、1ゲームの終了時において、AT中またはART中に特別役が当選してATまたはARTが中断されたうえでRBに制御されているときは、初期化3を実行するとともに、BB使用領域を初期化する一方で、RB使用領域及びAT使用領域は初期化しない。また、1ゲームの終了時において、ATに制御されていない状態で特別役が当選してRBに制御されているときは、初期化3を実行するとともに、BB使用領域及びAT使用領域を領域毎に初期化する一方で、RB使用領域は初期化しない。また、1ゲームの終了時において、AT中またはART中に特別役が当選してATまたはARTが中断されたうえでBBに制御されているときは、初期化3を実行する一方で、RB使用領域、BB使用領域、AT使用領域は初期化しない。また、1ゲームの終了時において、ATに制御されていない状態で特別役が当選してBBに制御されているときは、初期化3を実行するとともに、AT使用領域を初期化する一方で、RB使用領域およびAT使用領域は初期化しない。
また、ATの終了時、すなわちゲームの終了時に残りのARTゲーム数が0であるときは、上述の初期化2を実行して、遊技スタック領域(未使用)、非遊技スタック領域(未使用)、未使用領域3、及び一般ワークであるRB使用領域、BB使用領域を一括して初期化するとともに、AT使用領域を個別に初期化する。
また、AT中またはART中に特別役が当選してATまたはARTが中断されたうえで、RBまたはBBに制御された場合は、RBまたはBBの終了時に、上述の初期化2を実行して、遊技スタック領域(未使用)、非遊技スタック領域(未使用)、未使用領域3、及びRB使用領域、BB使用領域を一括して初期化する一方で、AT使用領域は初期化しない。また、ATに制御されていない状態で特別役が当選して、RBまたはBBに制御された場合は、RBまたはBBの終了時に、初期化2を実行するとともに、AT使用領域を個別に初期化する。
このように、本実施例では、メイン制御部41は、遊技状態として第1の状態(通常の遊技状態)と、第2の状態(AT)に制御可能であり、メイン制御部41のRAM41cには、第1の状態(通常の遊技状態)のときには用いられず、第2の状態(AT)のときに用いられる特定領域としてATのときに用いられるAT使用領域を含む構成である。
このような構成においては、第2の状態(AT)の終了時には、当該第2の状態(AT)において用いられるデータが不要となるため、当該データが記憶されている特定領域が一度初期化されるが、第2の状態(AT)において用いられるデータが正常に初期化されず残ってしまった場合に、不具合の原因となる虞がある。
これに対して、本実施例のメイン制御部41は、第1の状態(通常の遊技状態)のときの1ゲームの終了時に、RAM41cの記憶領域のうち、当該第1の状態(通常の遊技状態)のときには用いられず、第2の状態(AT)のときに用いられる特定領域、すなわちATのときに用いられるAT使用領域を初期化するので、第2の状態(AT)が終了されたことで第1の状態(通常の遊技状態)に移行されたにも関わらず特定領域にデータが残ってしまった場合でも、第1の状態(通常の遊技状態)においてそのデータによって不具合が生じることを防止できる。
尚、本実施例のメイン制御部41は、1ゲームの終了時に、第1の状態において特定領域であるAT使用領域を初期化する構成であるが、特定領域を初期化するタイミングは、1ゲームの終了時に限らず、1ゲーム毎に少なくとも1回初期化するものであれば、ゲーム期間中のどの契機で初期化するものであっても良いし、1ゲームの終了後から次ゲームが開始されるまでの期間中に行われるものであっても良い。
また、第2の状態(AT)のときに用いられる特定領域に格納されるデータとして、ARTの残りゲーム数に関するデータ等の遊技者の利益に関するデータが記憶されており、メイン制御部41は、第1の状態(通常の遊技状態)のときに、1ゲームの終了時に、RAM41cのうち特定領域を初期化するので、特定領域の遊技者の利益に関するデータが残ってしまった場合でも、第1の状態においてそのデータによって不具合が生じて遊技者の利益に関して誤認を与えてしまうことを防止できる。
また、本実施例のメイン制御部41は、第1の状態(通常の遊技状態)及び第2の状態(AT)とは別に、第3の状態(RB、BB)に制御可能であり、RAM41cは、第2の状態(AT)のときには用いられず、第3の状態(RB、BB)のときに用いられる特別領域としてRB使用領域、BB使用領域を含んでおり、メイン制御部41は、第2の状態(AT)に制御しているときに、1ゲームの終了時に、特別領域を初期化するので、特別領域にデータが残ってしまった場合でも、第2の状態(AT)においてそのデータによって不具合が生じることを防止できる。
また、第3の状態(RB、BB)のときに用いられる特別領域に格納されるデータとして、RBの残りゲーム数及びRB中の入賞回数に関するデータ、BB中に払い出されたメダルの総数に関するデータ等の遊技者の利益に関するデータが記憶されており、メイン制御部41は、第2の状態(AT)のときに、1ゲームの終了時に、RAM41cのうち特別領域を初期化するので、特別領域の遊技者の利益に関するデータが残ってしまった場合でも、第2の状態(AT)においてそのデータによって不具合が生じて遊技者の利益に関して誤認を与えてしまうことを防止できる。
また、本実施例のメイン制御部41は、第3の状態(RB、BB)に制御しているときに、1ゲーム終了時に、特定領域を初期化するので、特定領域にデータが残ってしまった場合でも、第3の状態(RB、BB)においてそのデータによって不具合が生じることを防止できる。
尚、メイン制御部41は、第2の状態(AT)において当該第2の状態を中断して第3の状態(RB、BB)に制御することが可能であり、この場合には、第3の状態(RB、BB)に制御しているときに、1ゲームの終了時に、特定領域を初期化することなく維持するので、第3の状態(RB、BB)の終了後、中断していた第2の状態(AT)を再開させることができる。
また、本実施例のメイン制御部41は、第1の状態(通常の遊技状態)に制御しているときに、1ゲームの終了時に、RAM41cのうち特定領域であるAT使用領域及び特別領域であるRB使用領域及びBB使用領域の双方を初期化するので、特定領域及び特別領域にデータが残ってしまった場合でも、第1の状態(通常の遊技状態)においてそのデータによって不具合が生じることを防止できる。
また、本実施例のメイン制御部41は、第2の状態(AT)の終了時に特定領域を初期化するので、第2の状態(AT)の終了後の制御状態において特定領域のデータによって不具合が生じることを防止できる。
また、本実施例のメイン制御部41は、第3の状態(RB、BB)の終了時に特別領域を初期化するので、第3の状態(RB、BB)の終了後の制御状態において特別領域のデータによって不具合が生じることを防止できる。
尚、本実施例では、メイン制御部41が、第1の状態(通常の遊技状態)、第2の状態(AT)、第3の状態(RB、BB)に制御可能な構成であるが、少なくとも第1の状態及び第2の状態に制御可能な構成であれば良い。また、本実施例では、第2の状態としてATを適用しているが、第2の状態としてRB、BBを適用しても良く、この場合には、特定領域として、RB使用領域、BB使用領域を適用すれば良い。
次いで、サブ制御部91のRAM91cの初期化について、図16に基づいて説明する。
本実施例のサブ制御部91のRAM91cには、RBの制御が行われるときに使用されるRB使用領域と、BBの制御が行われるときに使用されるBB使用領域と、ATの制御が行われるときに使用されるAT使用領域と、が配置されており、AT使用領域には、ART中に当該ARTの残りゲーム数を加算するか否かを決定する上乗せ抽選にて決定されたARTのゲーム数の上乗せに関する情報が記憶される上乗せ領域が含まれる。
サブ制御部91のRAM91cにおいて、RB使用領域には、RBに制御されるに際して遊技者の利益に関するデータ、例えば、RBの残りゲーム数及びRB中の入賞回数に関するデータが記憶され、BB使用領域には、BBに制御されるに際して遊技者の利益に関するデータ、例えば、BB中に払い出されたメダルの総数に関するデータが記憶され、AT使用領域には、ATに制御されるに際して遊技者の利益に関するデータ、例えば、ARTの残りゲーム数、遊技者にとって有利な操作態様に関するデータが記憶され、上乗せ領域には、ATに制御されるに際して遊技者の利益に関するデータのうちARTのゲームの上乗せ数に関するデータが記憶される。
図16に示すように、サブ制御部91は、1ゲームの終了時において、メイン制御部41が通常の遊技状態のときは、RB使用領域、BB使用領域、ART使用領域(上乗せ領域を含む)を領域毎に初期化する。また、1ゲームの終了時において、ATにメイン制御部41が制御されているときは、RB使用領域、BB使用領域、AT使用領域のうちの上乗せ領域を領域毎に初期化する一方で、上乗せ領域を除くAT使用領域は初期化しない。また、1ゲームの終了時において、AT中またはART中に特別役が当選してATまたはARTが中断されたうえでメイン制御部41がRBに制御されているときは、BB使用領域を初期化する一方で、RB使用領域及びAT使用領域は初期化しない。また、1ゲームの終了時において、ATに制御されていない状態で特別役が当選してメイン制御部41がRBに制御されているときは、BB使用領域、AT使用領域を初期化する一方で、RB使用領域は初期化しない。また、1ゲームの終了時において、AT中またはART中に特別役が当選してATまたはARTが中断されたうえでメイン制御部41がBBに制御されているときは、RB使用領域及びBB使用領域、ART使用領域は初期化しない。また、1ゲームの終了時において、ATに制御されていない状態で特別役が当選してメイン制御部41がBBに制御されているときは、AT使用領域を初期化する一方で、RB使用領域及びBB使用領域は初期化しない。
また、メイン制御部41でのATの終了時、すなわち残りのARTゲーム数が0となったゲームの終了時には、RB使用領域、BB使用領域、ART使用領域を初期化する。
また、AT中またはART中に特別役が当選してARTが中断されたうえで、メイン制御部41がRBまたはBBに制御された場合は、RBまたはBBの終了時に、RB使用領域、BB使用領域を初期化する一方で、AT使用領域は初期化しない。また、ATに制御されていない状態で特別役が当選して、メイン制御部41がRBまたはBBに制御された場合は、RBまたはBBの終了時に、RB使用領域、BB使用領域、AT使用領域を初期化する。
このように、本実施例では、メイン制御部41は、遊技状態として第1の状態(通常の遊技状態)と、第2の状態(AT)に制御可能であるのに対して、サブ制御部91は、メイン制御部41の状態に応じてRAM91cに記憶されたデータに基づいて演出出力の制御等を実行可能な構成であって、サブ制御部91のRAM91cには、メイン制御部41が第1の状態(通常の遊技状態)のときには用いられず、第2の状態(AT)のときに用いられる特定領域として、ATのときに用いられるAT使用領域を含む構成である。
このような構成においては、第2の状態(AT)の終了時には、当該第2の状態(AT)において用いられるデータが不要となるため、当該データが記憶されている特定領域が一度初期化されるが、第2の状態(AT)において用いられるデータが正常に初期化されず残ってしまった場合に、不具合の原因となる虞がある。
これに対して、本実施例のサブ制御部91は、メイン制御部41が第1の状態(AT)のときの1ゲームの終了時に、RAM91cの記憶領域のうちの特定領域、すなわちAT使用領域を初期化するので、メイン制御部41において第2の状態(AT)が終了されたにも関わらず特定領域にデータが残ってしまった場合でも、第1の状態(通常の遊技状態)においてそのデータによって不具合が生じることを防止できる。
尚、本実施例のサブ制御部91は、1ゲームの終了時に、第1の状態において特定領域であるAT使用領域を初期化する構成であるが、特定領域を初期化するタイミングは、1ゲームの終了時に限らず、1ゲーム毎に少なくとも1回初期化するものであれば、ゲーム期間中のどの契機で初期化するものであっても良いし、1ゲームの終了後から次ゲームが開始されるまでの期間中に行われるものであっても良い。
また、第2の状態(AT)のときに用いられる特定領域に格納されるデータとして、ARTの残りゲーム数に関するデータ等の遊技者の利益に関するデータが記憶されており、サブ制御部91は、第1の状態(通常の遊技状態)のときに、1ゲームの終了時に、RAM91cのうち特定領域を初期化するので、特定領域の遊技者の利益に関するデータが残ってしまった場合でも、第1の状態においてそのデータによって不具合が生じて遊技者の利益に関して誤認を与えてしまうことを防止できる。
また、本実施例のメイン制御部41は、第1の状態(通常の遊技状態)及び第2の状態(AT)とは別に、第3の状態(RB、BB)に制御可能であるのに対して、サブ制御部91のRAM91cは、第2の状態(AT)のときには用いられず、第3の状態(RB、BB)のときに用いられる特別領域としてRB使用領域、BB使用領域を含んでおり、サブ制御部91は、メイン制御部41が第2の状態(AT)に制御しているときの1ゲームの終了時に、特別領域を初期化するので、特別領域にデータが残ってしまった場合でも、第2の状態(AT)においてそのデータによって不具合が生じることを防止できる。
また、第3の状態(RB、BB)のときに用いられる特別領域に格納されるデータとして、RBの残りゲーム数及びRB中の入賞回数に関するデータ、BB中に払い出されたメダルの総数に関するデータ等の遊技者の利益に関するデータが記憶されており、サブ制御部91は、第2の状態(AT)のときに、1ゲームの終了時に、RAM91cのうち特別領域を初期化するので、特別領域の遊技者の利益に関するデータが残ってしまった場合でも、第2の状態(AT)においてそのデータによって不具合が生じて遊技者の利益に関して誤認を与えてしまうことを防止できる。
また、本実施例のサブ制御部91は、メイン制御部41が第3の状態(RB、BB)に制御しているときに、1ゲーム終了時に、特定領域を初期化するので、特定領域にデータが残ってしまった場合でも、第3の状態(RB、BB)においてそのデータによって不具合が生じることを防止できる。
尚、メイン制御部41は、第2の状態(AT)において当該第2の状態を中断して第3の状態(RB、BB)に制御することが可能であり、この場合においてサブ制御部91は、メイン制御部41が第3の状態(RB、BB)に制御しているときに、1ゲームの終了時に、特定領域を初期化することなく維持するので、第3の状態(RB、BB)の終了後、中断していた第2の状態(AT)を再開させることができる。
また、本実施例のサブ制御部91は、メイン制御部41が第1の状態(通常の遊技状態)に制御しているときに、1ゲームの終了時に、RAM41cのうち特定領域であるAT使用領域及び特別領域であるRB使用領域及びBB使用領域の双方を初期化するので、特定領域及び特別領域にデータが残ってしまった場合でも、第1の状態(通常の遊技状態)においてそのデータによって不具合が生じることを防止できる。
また、本実施例のサブ制御部91は、第2の状態(AT)の終了時に特定領域を初期化するので、第2の状態(AT)の終了後の制御状態において特定領域のデータによって不具合が生じることを防止できる。
また、本実施例のサブ制御部91は、第3の状態(RB、BB)の終了時に特別領域を初期化するので、第3の状態(RB、BB)の終了後の制御状態において特別領域のデータによって不具合が生じることを防止できる。
尚、本実施例では、メイン制御部41が、第1の状態(通常の遊技状態)、第2の状態(AT)、第3の状態(RB、BB)に制御可能な構成であるが、少なくとも第1の状態及び第2の状態に制御可能な構成であれば良い。また、本実施例では、第2の状態としてATを適用しているが、第2の状態としてRB、BBを適用しても良く、この場合には、特定領域として、RB使用領域、BB使用領域を適用すれば良い。
次に、メイン制御部41がARTの制御を実行しているときに、サブ制御部91が実行するART中演出について、図17〜図18に基づいて説明する。
メイン制御部41は、所定の抽選対象役が当選したときに、ARTに制御するか否かを決定するART抽選を行い、当該ART抽選に当選した場合に、ATの制御を行ってARTに移行させたるとともに、ARTの制御を行っているときに、ARTの制御を行っていることを特定可能なART状態コマンドをサブ制御部91に対して送信する。これに対して、サブ制御部91は、ART状態コマンドに基づいてメイン制御部41側でARTの制御が行われていることが特定されるときに、液晶表示器51等を用いてARTに制御されている旨を特定可能なART中演出を実行させる。
また、サブ制御部91のRAM91cには、ARTの制御が開始された後に行われたゲーム数を計数するART消化ゲーム数カウンタ、ARTに制御される残りのゲーム数を計数するART残りゲーム数カウンタ、ARTの制御が開始された後におけるメダルの純増枚数(払出されたメダル枚数から賭数の設定に用いられたメダル枚数を差し引いたメダル枚数の積算数)を計数する純増枚数カウンタ、ARTの制御が所定のゲーム数(本実施例では、32ゲーム)以内に連続して行われた回数を計数する連続回数カウンタ、有利状態(本実施例では、ART、BB、RB)の制御が終了した後に行われたゲーム数を計数する有利状態後ゲーム数カウンタが設定されている。
図17(a)に示すように、サブ制御部91は、遊技状態コマンドに基づいてメイン制御部41側においてBBにもRBにも当選しておらず、BBにもRBにも制御されていないことが特定され、かつART状態コマンドに基づいてメイン制御部41側においてART抽選に当選しておらず、ARTに制御されていないことが特定される場合には、液晶表示器51等を用いて通常状態の演出を実行する。この場合、RAM41cにおけるART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、純増枚数カウンタ、ART連続回数カウンタは、いずれも初期値(0)に設定し、有利状態後ゲーム数カウンタは、ゲームが開始される毎に1加算する。そして、ART状態コマンドに基づいて次ゲームからARTに制御されることが特定されることで、液晶表示器51等を用いてARTが開始される旨を報知するART開始報知を実行するとともに、当該ART状態コマンドに基づいて特定されるARTに制御されることが決定されたゲーム数をART残りゲーム数カウンタに設定して、連続回数カウンタに1加算する。そして、ARTに制御されるゲームが開始されることで、ART中演出を開始させる。
図17(b)に示すように、サブ制御部91は、スタート操作が行われてARTに制御されるゲームが開始されることで、ART中演出を開始させて、有利状態後ゲーム数カウンタを0に初期化し、ゲームの開始時に、RAM91cのART消化ゲーム数カウンタを1加算し、ART残りゲーム数カウンタを1減算し、純増枚数カウンタから賭数の設定に用いられたメダル数(本実施例では、賭数の規定数である3枚)を減算する。そして、全てのリール2L、2C、2Rが停止されてゲームの終了時に入賞枚数コマンドを受信することで、当該入賞枚数コマンドに基づいて特定されるメダルの払出枚数を純増枚数カウンタに加算する。
ART中演出では、ARTに制御されていることに伴いメイン制御部41側で実行されるナビ報知に対応するリール2L、2C、2Rの停止順等を、液晶表示器51等を用いて報知するとともに(図示略)、ART残りゲーム数カウンタに基づいてARTの残りゲーム数(図中の「残りG 99」)を液晶表示器51に表示させる。また、純増枚数カウンタに基づいてART中に遊技者が得たメダルの純増枚数(図中の「純増枚数 0」)、連続回数カウンタに基づいてARTの連続回数(図中の「連続回数 1」)を、それぞれ液晶表示器51に表示させる。
サブ制御部91は、メイン制御部41側でARTの制御が開始された後は、ART残りゲーム数カウンタに基づいてARTの残りゲーム数が0となるまでの期間においては、ゲームの開始時に、ART消化ゲーム数カウンタを1加算し、ART残りゲーム数カウンタを1減算し、純増枚数カウンタから賭数の設定に用いられたメダル数を減算し、ゲームの終了時に、入賞枚数コマンドに基づいて特定されるメダルの払出枚数を純増カウンタに加算し、有利状態後ゲーム数カウンタを初期化する制御を繰り返し行う。
そして、図17(c)に示すように、ART残りゲーム数が0となり、メイン制御部41側においてARTの制御が終了されることが特定されるときには、当該ARTに制御されている期間に遊技者が獲得したメダルの純増枚数(図中の「純増枚数 223」)、ARTに制御されたゲーム数(図中の「ゲーム数 100」)、ARTに制御された回数(図中の「連続回数 1」)を、それぞれ純増枚数カウンタ、ART消化ゲーム数カウンタ、連続回数カウンタに基づいて特定して、液晶表示器51に表示させて報知するART終了時報知を実行する。
図17(d)に示すように、ART終了時報知を実行した後は、通常状態の演出を実行する。また、スタート操作が行われてゲームが開始される毎に、有利状態後ゲーム数カウンタを1加算し、ゲームが終了されるときに、当該有利状態後ゲーム数カウンタの値が所定数(本実施例では、32ゲーム)に到達しているときには、RAM91cに保持されているART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタを初期化する。その後は、図17(a)〜(d)の制御を繰り返し実行する。また、当該有利状態後ゲーム数カウンタの値が所定数(本実施例では、32ゲーム)に到達するまでは、ゲームが開始される毎に、純増枚数カウンタから賭数の設定に用いられたメダル数を減算し、ゲームの終了時に、入賞枚数コマンドに基づいて特定されるメダルの払出枚数を純増カウンタに加算する。
尚、当該ART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタの初期化は、RAM91cにおけるカウンタごとの領域を個々に初期化するものであっても良いし、ART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタを含むRAM91cの領域を一括して初期化するものであっても良い。
一方、有利状態後ゲーム数カウンタの値が所定数に到達していると判定されるまでに、メイン制御部41側においてARTの制御が開始されたことが特定された場合は、ART開始報知を実行するとともに、ART状態コマンドに基づいて特定されるARTのゲーム数をART残りゲーム数カウンタに設定して、連続回数カウンタに1加算し、ARTに制御されるゲームが開始されることで、ART中演出を再開させる。
そして、図17(e)に示すように、有利状態後ゲーム数カウンタの値が所定数に到達する前に、ARTの制御が開始され、ARTのゲームが開始された場合には、ART中演出を開始して、リール2L、2C、2Rの停止順、ARTの残りゲーム数、純増枚数、連続回数を液晶表示器51に表示させる。また、ゲームの開始時に、ART消化ゲーム数カウンタを1加算し、ART残りゲーム数カウンタを1減算し、純増枚数カウンタから賭数の設定に用いられたメダル数を減算する。そして、全てのリール2L、2C、2Rが停止されてゲームの終了時に入賞枚数コマンドを受信することで、当該入賞枚数コマンドに基づいて特定されるメダルの払出枚数を純増枚数カウンタに加算する。この場合、ART消化ゲーム数カウンタ、連続回数カウンタでは、有利状態後ゲーム数カウンタの値が所定数に到達する前に、ARTの制御が開始されたことで、前回のARTの制御が終了されたときの値が初期化されることなく引き継がれる状態で、今回のARTの制御が開始された後のART消化ゲーム数、連続回数の計数が行われることとなる。また、純増枚数カウンタでは、ARTの制御が終了された後も、有利状態後ゲーム数カウンタの値が所定数に到達するまで、純増枚数の計数が継続して行われるようになっており、有利状態後ゲーム数カウンタの値が所定数に到達する前に、ARTの制御が開始されたことで、前回のARTが終了した後から今回のARTの制御が開始されるまでの期間を含めた、前回のARTの制御が開始されたときから今回のARTの制御が開始されるまでの期間において計数された純増枚数が引き継がれる状態で、今回のARTの制御が開始された後の純増枚数の計数が行われることとなる。
そして、図17(f)に示すように、メイン制御部41側においてARTの制御が終了されることが特定されるときには、ART終了時報知を実行する。その後は、上述の場合と同様に、有利状態後ゲーム数カウンタによりゲーム数の計数を行い、ARTの制御が終了されてから所定ゲーム数が経過するまでに、ARTの制御が開始される場合には、図17(d)〜(f)において説明した制御を繰り返し行う一方、ARTの制御が終了されてから所定ゲーム数が経過するまでに、ARTの制御が開始されない場合には、図17(a)〜(f)において説明した制御を繰り返し行う。
本実施例のサブ制御部91は、上述のようにゲーム開始時に、賭数の設定に用いられたメダル枚数(本実施例では、規定数である3枚)を純増枚数カウンタから減算するときには、純増枚数カウンタの値が、賭数の設定に用いられたメダル枚数よりも大きいか否かを判定し、純増枚数カウンタの値が賭数の設定に用いられたメダル枚数よりも大きいと判定した場合は、純増枚数カウンタの値から賭数の設定に用いられたメダル枚数を減算し、純増枚数カウンタの値が賭数の設定に用いられたメダル枚数よりも大きくないと判定した場合は、純増枚数カウンタの値を0に設定する。一方で、ゲームの終了時に、払出枚数を純増枚数カウンタに加算するときには、入賞枚数コマンドに基づいて特定される払出枚数を純増枚数カウンタに単に加算する。これにより、図18(a)に示すように、例えば、ARTに制御がされた後の数ゲームの間等の純増枚数が少ない時期に、払出しのないゲームが続いて、実際の増減枚数が0を下回る期間では、純増枚数カウンタの値は0となり、その後、払出があったときに払出枚数が0から加算されることとなる。また、図18(b)に示すように、ARTが終了された後の所定ゲーム数までの期間においてARTの制御が開始されることがない場合であって、払出しのないゲームが続いて実際の増減枚数が0を下回る期間では、純増枚数カウンタの値は0となる。そして、ARTの制御が開始されることで、払出があったときに払出枚数が0から積算されることとなる。
このように、サブ制御部91は、純増枚数カウンタの値が賭数の設定に用いられたメダル枚数を減算することとなるが、0を下回る場合は、純増枚数カウンタの値を0の設定することで、純増枚数カウンタの値を0以上の範囲に制御することで、ART中演出において純増枚数カウンタの値に基づいて純増枚数を0以上の範囲で液晶表示器51に表示するようになっている。
本実施例のメイン制御部41は、内部抽選においてRB、BBが当選した場合には、RB、BBが当選したことを特定可能な内部当選コマンドをサブ制御部91に対して送信し、その後、当選したRB、BBの制御を実行することが可能である。これに対して、サブ制御部91は、内部当選コマンドに基づいてメイン制御部41側でRB、BBの制御が行われていることが特定されるときに、液晶表示器51等を用いてBR、BBに制御されている旨を特定可能なボーナス中演出を実行させる。
ボーナス中演出では、後述するボーナスゲーム数カウンタに基づいて特定されるボーナスゲーム数、枚数カウンタに基づいて特定される純増枚数を、液晶表示器51に表示させる。
サブ制御部91のRAM91cには、RB、BBの制御が開始された後に行われたゲーム数を計数するボーナスゲーム数カウンタが設定されており、メイン制御部41でRB、BBの制御が行われていることが特定されるゲーム毎に、ボーナスゲーム数カウンタを1加算し、RB、BBの制御が終了されるときに、ボーナスゲーム数カウンタに0を設定して初期化する。また、RB、BBの制御が行われているときに、ARTに制御されているときと同様に、内部当選コマンド、入賞枚数コマンドに基づいて純増枚数カウンタを更新して純増枚数を計数する。
このように、本実施例では、メイン制御部41は、遊技者にとって有利な有利状態として、ART、RB、BBに制御することが可能であり、サブ制御部91は、有利状態に関する有利状態情報として、ART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ、有利状態後ゲーム数カウンタ、ボーナスゲーム数カウンタを含む情報をRAM91cに記憶させることが可能であり、サブ制御部91は、メイン制御部41側において有利状態としてARTの制御が行われているときには、有利状態情報のうちART消化ゲーム数、ART残りゲーム数、純増枚数、連続回数を液晶表示器51に表示させ、メイン制御部41側において有利状態としてRB、BBの制御が行われているときには、有利状態情報のうちボーナスゲーム数、純増枚数を液晶表示器51に表示させるようになっている。
また、サブ制御部91は、有利状態としてARTが終了された後、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立するまでは、有利状態情報のうちART消化ゲーム数カウンタ、連続回数カウンタを保持し、有利状態が再開された場合は、保持されているART消化ゲーム数カウンタの値、連続回数カウンタの値、すなわち有利状態が終了したときの各カウンタの値を引き継いで、その後のART消化ゲーム数、連続回数を計数するようになっている。
また、有利状態情報のうち純増枚数カウンタについては、サブ制御部91は、有利状態(ART、RB、BB)が終了された後、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立するまでは、純増枚数カウンタに対して、ゲーム毎に賭数の設定に用いられたメダル枚数を減算し、払出枚数を加算することで純増枚数の計数を継続し、特定条件が成立するまでに有利状態(ART、RB、BB)が再開された場合は、前回の有利状態が終了後も継続して計数していた純増枚数カウンタの値を引き継いで、その後の純増枚数を計数するようになっている。
尚、本実施例では、サブ制御部91は、前回のARTが終了した後から今回のARTの制御が開始されるまでの期間にも純増枚数の計数を継続する構成であるが、前回のARTが終了した後から今回のARTの制御が開始されるまでの期間においては、純増枚数を計数しない構成であっても良く、このような構成では、前回のARTが終了した後に、有利状態後ゲーム数カウンタの値が所定数に到達する前に、ARTの制御が開始されることで、前回のARTの制御が終了されたときの純増枚数が引き継がれた状態で、その後の純増枚数の計数が行われることとなる。
また、サブ制御部91は、有利状態情報のうちボーナスゲーム数を計数するボーナスゲーム数カウンタについては、有利状態としてRB、BBが終了された後には、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立しているか否かに関わらず、ボーナスゲーム数カウンタをゲーム毎に初期化する。一方で、有利状態情報のうち純増枚数を計数する純増枚数カウンタについては、有利状態としてRB、BBが終了された後には、ARTが終了された場合と同様に、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立するまでは、純増枚数を計数する処理を継続し、特定条件が成立するまでに有利状態(ART、RB、BB)が再開された場合は、前回の有利状態が終了された後も継続して計数していた純増枚数カウンタの値を引き継いで、その後の純増枚数を計数するようになっている。
次に、サブ制御部91が実行する起動処理(サブ)について、図19に基づいて説明する。
図19に示すように、サブ制御部91は、リセット回路95からシステムリセット信号が入力されると起動処理(サブ)を行う。
起動処理(サブ)では、まず、内蔵デバイスや周辺IC、割込モード、スタックポインタ等を初期化した後(Sa1)、RAM91cへのアクセスを許可する(Sa2)。次いで、復帰コマンドをメイン制御部41から受信したか否かを判定する(Sa3)。復帰コマンドを受信していない場合には、設定変更中コマンドをメイン制御部41から受信したか否かを判定する(Sa4)。そして、設定変更中コマンドを受信した場合には、設定変更中コマンドを受信したことを示す設定変更中フラグをRAM91cの所定領域に格納する(Sa5)。
Sa3のステップにおいて復帰コマンドを受信せず、Sa4のステップにおいて設定変更中コマンドを受信しなかった場合は、エラーコマンドをメイン制御部41から受信したか否かを判定し(Sa18)、エラーコマンドを受信した場合は、RAM91cを初期化した後(Sa21)、エラー処理を実行する(Sa22)。
一方、Sa3のステップにおいて復帰コマンドを受信した場合、及びSa4のステップにおいて設定変更中コマンドを受信した場合には、RAM91cにバックアップデータがあるか否かを判定する(Sa6)。RAM91cにバックアップデータがあるか否かは、サブ制御部91が電断時に実行する電断処理(サブ)において、RAM91cに設定されるバックアップフラグがあるか否かによって確認する。
Sa6のステップにおいてバックアップが設定されていると判定した場合は、RAMのデータは正常であるので、バックアップフラグをクリアする(Sa7)。その後、上述の有利状態情報(ART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、ボーナスゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ)を含むRAM91cの所定の記憶領域のRAMパリティを計算して(Sa8)、計算したRAMパリティが0か否かを判定する(Sa9)。尚、本実施例では、サブ制御部91は、スロットマシン1への電力供給が停止されることで、電断検出回路98の出力に基づいて電源電圧の低下が検出されたときに実行する電断処理において、有利状態情報(ART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、ボーナスゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ)を含むRAM91cの所定の記憶領域のRAMパリティが0となるように、診断用のデータをRAM91cの所定領域に記憶させるようになっている。
Sa9のステップにおいて、RAMパリティが0であると判定した場合は、RAM91cの所定領域に設定変更中フラグが設定されているか否かを判定し(Sa10)、設定変更中フラグが設定されていないと判定した場合は、RAM91cに保持されている電断前のデータに基づいて電断前にメイン制御部41側において有利状態(本実施例では、ART、BB、RB)に制御されていたか否かを判定する(Sa11)。
そして、Sa11のステップにおいて、電断前に有利状態に制御されていなかったと判定した場合は、時計装置97が出力する日付情報及び時刻情報を含む日時情報を取得し(Sa12)、取得した日時情報から日付情報を抽出して、当該日付情報とRAM41cの所定領域に記憶されている基準日時情報から抽出した基準日付情報とを比較して、当該日付情報に基づく日付が基準日付情報に基づく日付より後であるか否かを判定する(Sa13)。Sa13のステップにおいて日付情報に基づく日付が基準日付情報に基づく日付より後ではないと判定した場合は、Sa12のステップで取得した日時情報から時刻情報を抽出して、当該日付情報とRAM41cの所定領域に記憶されている基準日時情報から抽出した基準時刻情報とを比較して、基準時刻情報に基づく時間から所定の時間(本実施例では、14時間)が経過しているか否かを判定する(Sa14)。尚、本実施例の基準時間は、スロットマシン1の工場出荷時に予めROM91bの所定領域に設定されているが、スロットマシン1の工場出荷後、遊技店で店員等により設定できるようにしても良い。
そして、Sa13のステップにおいて日付情報に基づく日付が基準日付情報に基づく日付より後であると判定した場合、Sa13のステップにおいて日付情報に基づく日付が基準日付情報に基づく日付より後でないと判定したが、Sa14のステップにおいて基準時刻情報に基づく時間から所定の基準時間(本実施例では、14時間)が経過していると判定した場合は、有利状態情報(本実施例では、ART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ)が記憶されている領域を含むRAM91cの記憶領域を初期化する(Sa15)。その後、Sa12のステップにおいて取得した日時情報を基準日時情報としてRAM91cの所定領域に設定する(Sa16)。一方、Sa14のステップにおいて基準時刻情報に基づく時間から所定の時間(本実施例では、14時間)が経過していないと判定した場合、有利状態情報が記憶されている領域を初期化することなく、Sa12のステップにおいて取得した日時情報を基準日時情報としてRAM91cの所定領域に設定する(Sa16)。
また、Sa11のステップにおいて、電断前に有利状態に制御されていたと判定した場合は、時計装置97が出力する日時情報を取得し(Sa20)、Sa20のステップにおいて取得した日時情報を基準日時情報としてRAM91cの所定領域に設定する(Sa16)。
また、Sa6のステップにおいて、バックアップがないと判定した場合、Sa9のステップにおいてRAMパリティが0でないと判定した場合、Sa10のステップにおいて、設定変更中フラグが設定されていると判定した場合、Sa18のステップにおいて、エラーコマンドを受信していないと判定した場合は、有利状態情報が記憶されている領域を含む全てのRAM91cの初期化を実行した後(Sa19)、時計装置97が出力する日時情報を取得して(Sa20)、Sa20のステップにおいて取得した日時情報を基準日時情報としてRAM91cの所定領域に設定する(Sa16)。
Sa16のステップにおいてRAM91cに基準日時情報を設定した後は、復帰処理を実行する(Sa17)。復帰処理を実行した後は、タイマ割込処理(サブ)において、受信したコマンドに基づいてメイン制御部41の制御状態等に応じて演出の制御を行うこととなる。
以上の処理によって、スロットマシン1への電力供給が開始されたときに、サブ制御部91では、起動処理(サブ)が実行され、設定変更中コマンドに基づいてメイン制御部41において設定値の変更操作が行われたことが特定される場合は、RAM91cの全ての領域を初期化するので、特定条件が成立しているか否かにかかわらず、RAM91cの記憶領域のうち有利状態情報が記憶されている領域、すなわちART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタが記憶されている領域を含む領域を初期化するようになっている。一方、起動処理(サブ)においてメイン制御部41において設定値の変更操作が行われたことが特定されない場合には、RAM91cの記憶領域のうち有利状態情報を含む領域が初期化されることなくが維持されることとなるが、電断前の状態が有利状態でなかった場合であり、時計装置97により特定される日付情報が、前の起動処理において設定された基準日時より後である場合、または時計装置97により特定される時刻情報が予め定められた基準時間より後である場合に、スロットマシン1への電力供給が停止された後、電力供給が翌日以降に再開される場合であると判断して、RAM91cにおいて有利状態情報が記憶されている領域、すなわちART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタが記憶されている領域を含む領域を初期化するようになっている。
図20(a)、(b)に示すように、メイン制御部41によるARTの制御が終了されることで、サブ制御部91によるART中演出は、ART終了報知が実行されて終了され、通常状態の演出に移行されることとなる。このとき、サブ制御部91は、ART中演出の終了時のART消化ゲーム数カウンタ、連続回数カウンタについては、各カウンタが記憶されているRAM91cの所定領域を初期化することなく保持するとともに、純増枚数カウンタについては、その後も計数する処理を継続する。そして、図20(c)に示すように、ARTの制御が終了されてから所定数のゲーム(本実施例では、32ゲーム)が行われる前に、スロットマシン1への電力供給が停止された後、翌日以降に電力供給が再開された場合には、起動処理(サブ)において有利状態情報が記憶されているRAM91cの所定領域が初期化されることで、図20(d)に示すように、電力供給が再開された後、最初にARTに制御される場合は、電力供給が停止される前のART消化ゲーム数カウンタの値、純増枚数カウンタの値、連続回数カウンタの値が引き継がれることなく、初期値(0)から計数が行われて、ART中演出が行われる。
また、図示しないが、ARTの制御が終了されてから所定数のゲーム(本実施例では、32ゲーム)が行われる前に、スロットマシン1への電力供給が停止された後、翌日以降に電力供給が再開された場合には、起動処理(サブ)において有利状態情報が初期化されることで、その後にRB、BBに制御されるときのボーナス中演出において、電力供給が停止される前の有利状態情報である純増枚数カウンタの値が引き継がれることがない。
また、図示しないが、RB、BBの制御が終了されてから所定数のゲーム(本実施例では、32ゲーム)が行われる前に、スロットマシン1への電力供給が停止された後、翌日以降に電力供給が再開された場合には、起動処理(サブ)においてRAM91cの記憶領域のうち有利状態情報が記憶されている領域が初期化されることで、その後にRB、BBに制御されるときのボーナス中演出において、電力供給が停止される前の有利状態情報である純増枚数カウンタの値が引き継がれることがなく、またARTに制御されるときのART中演出において、電力供給が停止される前の有利状態情報であるART消化ゲーム数カウンタの値、純増枚数カウンタの値、連続回数カウンタの値が引き継がれることがない。
また、例えば、図21(a)に示すように、メイン制御部41によりARTやRB、BBの制御が行われているとき、すなわち有利状態に制御されているときに、スロットマシン1への電力供給が停止された後、設定変更の操作が行われることなく、電力供給が再開された場合には、翌日以降に電力供給が再開された場合であるか否かにかかわらず、電力供給が停止される前の有利状態情報が初期化されることがないので、電力供給が停止さえる前の有利状態情報が引き継がれて、ART中演出やボーナス中演出が行われる。
本実施例のメイン制御部41は、遊技者にとって有利な有利状態(BB、RB、ART)に制御することが可能であり、サブ制御部91は、スロットマシン1への電力供給が停止されて電断された場合にも記憶内容を保持可能なRAM91cを備え、有利状態に関する有利状態情報(純増枚数、ART残りゲーム数、ARTの連続回数等)をRAM91cに記憶させて、ゲームが行われる毎にRAM91cに記憶されている有利状態情報を更新し、メイン制御部41側において有利状態の制御が行われているときに、有利状態情報を液晶表示器51に表示させる可能であるとともに、有利状態が終了された後、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立するまでは、有利状態情報のうちART消化ゲーム数カウンタの値、純増枚数カウンタの値、連続回数カウンタの値を初期化することがなく、有利状態が再開された場合は、RAM91に保持されている有利状態情報(ART消化ゲーム数カウンタの値、純増枚数カウンタの値、連続回数カウンタの値)を引き継いで更新して、有利状態情報に含まれるART消化ゲーム数カウンタの値、純増枚数カウンタの値、連続回数カウンタの値を液晶表示器51に表示させる構成であるとともに、サブ制御部91は、設定変更中コマンドに基づいてメイン制御部41において設定値の変更操作が行われたことが特定される場合は、特定条件が成立しているか否かにかかわらず、ART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタを含む有利状態情報を初期化する構成である。
このような構成においては、有利状態の終了後、特定条件が成立するまでの一定期間内にスロットマシン1への電力供給が停止されて電断し、その後、電力供給が再開されて復帰する場合に、設定値の変更がされていなければ、RAM91cに記憶されている電断前の状態の有利状態情報が維持されるため、その後、すぐに有利状態に制御された場合には、電断前の状態から有利状態情報が引き継がれて、液晶表示器51で表示される一方で、設定値が変更されていれば、電断前の有利状態情報が初期化されるため、その後、すぐに有利状態に制御された場合に、電断前の状態から有利状態情報が引き継がれずに、有利状態情報が初期値から表示されることとなるため、有利状態の終了後、一定期間内に閉店した場合に、次の日の開店時において、すぐに有利状態に制御された場合に、前日の有利状態情報が引き継がれているか否かによって、設定値が変更されたか否かが、遊技者に判別されてしまう虞がある。
これに対して、本実施例のサブ制御部91は、有利状態(本実施例では、BB、RB、ART)の終了後、特定条件(本実施例では、有利状態に制御されることなく32ゲームが終了されること)が成立するまでは有利状態情報のうちART消化ゲーム数、純増枚数、連続回数を引き継ぐとともに、有利状態の終了後、特定条件が成立する前に設定値が変更された場合には、有利状態情報のうち少なくともART消化ゲーム数、純増枚数、連続回数が記憶されている領域を含むRAM91cの記憶領域を初期化することで、有利状態情報を引き継ぐことがない構成であって、有利状態の終了後、特定条件が成立する前に電力供給が停止された後、少なくとも翌営業日以降に電力供給が再開される場合には、特定条件が成立する前であっても、有利状態情報のうちART消化ゲーム数、純増枚数、連続回数が記憶されている領域を含むRAM91cの記憶領域を初期化するので、有利状態に制御されていないときに電力供給が停止され、復帰した後、電断前の有利状態の終了から特定条件が成立するまでの間に再度有利状態に制御された場合にも、その有利状態において有利状態に関する情報を引き継ぐことがないので、有利状態の終了後、特定条件が成立する前に閉店した場合に、次の日の開店までに有利度が変更された場合でも変更されていない場合でも、次の日の開店時において、すぐに有利状態に制御された場合に、前日の有利状態の所定数値が引き継がれることがないため、このような場合に有利状態の所定数値が引き継がれているか否かによって有利度が変更されたか否かを遊技者に判別されてしまうことを防止できる。
また、本実施例のサブ制御部91は、スロットマシン1への電力供給が停止された後、電力供給が開始されたときに起動処理(サブ)を実行し、RAM91cに保持されている情報に基づいて、電力供給が停止されたときにメイン制御部41側で有利状態に制御されていたか否かを判定し、有利状態に制御されていないと判定した場合は、RAM91cに保持されている情報に基づいて、スロットマシン1への電力供給が停止された営業日の少なくとも翌日以降に電力供給が開始されたか否かを判定し、少なくとも翌日以降に電力供給が再開されたと判定した場合に、有利状態情報のうちART消化ゲーム数、純増枚数、連続回数が記憶されている領域を含むRAM91cの記憶領域を初期化するので、営業時間中に停電した場合などには、電断前の有利状態情報を引き継ぐことが可能となる。
尚、本実施例のサブ制御部91は、バックアップ電源を備えたRAM91cに有利状態に関する有利状態情報を記憶させ、起動処理(サブ)において、電力供給が停止されたときにメイン制御部41側で有利状態に制御されてないと判定し、電力供給が停止された営業日の翌日以降に電力供給が開始されたと判定した場合に、RAM91cのうちART消化ゲーム数、純増枚数、連続回数を含む有利状態情報が記憶されている領域を初期化する構成であるが、スロットマシン1への電力供給が停止された営業日の翌日以降に電力供給が開始される際に、有利状態に制御されていない場合にはRAM91cの有利状態情報が初期化されている構成であれば良い。
例えば、サブ制御部91は、有利状態に制御されているときに電力供給が停止された後、電力供給が再開される場合には、RAM91cを初期化することなく有利状態情報を保持し、有利状態に制御されていないときに電力供給が停止された後、電力供給が再開される場合には、翌営業日以降か否かに関わらずRAM41cのうち有利状態情報が記憶された領域を初期化する構成としても良く、このような構成では、電力供給停止前に有利状態に制御されていなかった場合に、一律にRAM41cの有利状態情報を初期化すれば良いので、有利状態情報の初期化に係るプログラムの容量を削減できる。
また、サブ制御部91は、電断検出回路98の出力に基づいて電源電圧の低下が検出されたときに実行する電断処理において、有利状態に制御されているときに電力供給が停止されたか否かを判定し、有利状態に制御されているときに電力供給が停止されたと判定した場合には、RAM91cを初期化することなく有利状態情報を保持し、有利状態に制御されていないときに電力供給が停止されたと判定した場合には、RAM41cのうち有利状態情報が記憶された領域を初期化する構成としても良く、このような構成であっても、電力供給停止時に有利状態に制御されていなかった場合に、一律にRAM41cの有利状態情報を初期化すれば良いので、有利状態情報の初期化に係るプログラムの容量を削減できる。
また、本実施例では、遊技者にとって有利な有利状態として、メイン制御部41によりART、RB、BBのいずれかに制御されている状態を適用しているが、有利状態は、ART、RB、BBのいずれかに制御されている状態に限られず、遊技用価値が付与される期待値が高い状態、入賞が発生する確率が高い状態、入賞の発生が許容される確率が高い状態、遊技者にとって有利な操作態様が報知される状態、遊技者にとって有利な特典が付与される可能性が高い状態であっても良い。
また、本実施例のサブ制御部91は、起動処理(サブ)において、電断前に有利状態に制御されておらず、かつ、少なくとも翌日以降に電力供給が再開されたと判定した場合に、RAM91cのうち有利状態情報のうちART消化ゲーム数、純増枚数、連続回数を含む記憶領域を初期化する構成であって、有利状態情報(ART消化ゲーム数カウンタ、ART残りゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ)の全てを初期化する構成、すなわち一の手段が、有利状態情報の全てを初期化する構成であるが、複数の手段が、有利状態情報をそれぞれの分担に応じて初期化する構成、例えば、有利状態情報の一部をメイン制御部41が管理し、残りをサブ制御部91が管理する構成において、それぞれが管理する有利状態情報を、メイン制御部41、サブ制御部91が各々初期化する構成等であっても良く、起動処理(サブ)において有利状態情報の少なくとも一部を初期化し、その後の処理において、有利状態情報の残りの部分を初期化する構成であっても良い。
また、本実施例のサブ制御部91は、起動処理(サブ)において、時計装置97より現在の日付情報及び時刻情報を含む日時情報を取得可能な構成であって、日時電力供給が停止されたときに有利状態に制御されていたと判定した場合に、前回の起動処理(サブ)において設定した基準日時情報から特定される基準日付情報、すなわち前回の電力供給開始時の日付と、今回の起動処理(サブ)において取得した日時情報に基づいて特定される日付、すなわち今回の電力供給開始時の日付とを比較して、今回の日付が前回の日付より後か否か、すなわち翌営業日か否かを判定する第1の日跨条件判定を行い、今回の日付が前回の日付より後でなかった場合は、基準日時情報から特定される基準時刻情報、すなわち前回の電力供給開始時の時刻と、今回取得した日時情報に基づいて特定される時間、すなわち今回の電力供給開始時の時刻とを比較して、所定の時間が経過しているか否か、すなわち翌営業日か否かを判定する第2の日跨条件判定を行い、電力供給停止前に有利状態に制御されていなかった場合であり、第1の日跨条件判定手段または第2の日跨条件判定により翌営業日であると判定されたときに、RAM91cの有利状態情報を初期化するので、電力供給が開始したときに翌営業日である可能性が高いときのみ有利状態情報を初期化することができる。
尚、本実施例では、サブ制御部91は、起動処理(サブ)において時計装置97より現在の日付情報及び時刻情報を含む日時情報を取得して、基準日時情報としてRAM91cに設定し、当該基準日時情報を次回の起動処理(サブ)において参照することで、前回の起動時の日時情報と、今回の起動時の日時情報に基づいて、翌営業日か否かを判定する構成であるが、サブ制御部91は、電断検出回路98の出力に基づいて電源電圧の低下が検出されたときに実行する電断処理において、時計装置97により取得した日時情報を基準日時情報としてRAM91cに設定し、当該電断処理において設定された基準日時情報と、起動処理(サブ)において取得した日時情報に基づいて翌営業日か否かを判定する構成であっても良いし、電力供給が行われている期間において所定のタイミング(例えば、1時間毎等)に時計装置97により日時情報を取得して基準日時情報を随時設定する構成であっても良い。このような構成であっても、起動処理(サブ)において翌営業日であるか否かを判定することができる。
また、本実施例では、サブ制御部91は、前回の起動処理(サブ)において取得されてRAM91cに設定されている基準日時情報の時刻情報に対して、今回の起動処理(サブ)において時計装置97より取得した日時情報の時刻情報に基づいて14時間以上が経過していれば、翌営業日以降であると判定する構成であるが、翌営業日であると判定する際の、基準日時情報の時刻情報に対する経過時間は、営業日を跨いでる可能性が高い時間に設定されていれば良い。
また、本実施例では、サブ制御部91は、前回の起動処理(サブ)において取得されてRAM91cに設定されている基準日時情報の時刻情報に対して、今回の起動処理(サブ)において時計装置97より取得した日時情報の時刻情報に基づいて翌営業日以降であるか否かを判定する構成、すなわちスロットマシン1の起動時の日時情報に基づいて翌営業日以降であるか否かを判定する構成であるが、スロットマシン1への電力供給が停止されたことが検出されたときに時計装置97により取得した日時情報に基づいて、翌営業日以降であるか否かを判定する構成、すなわちスロットマシン1の停止時の日時情報に基づいて翌営業日以降であるか否かを判定する構成であっても良く、スロットマシン1の起動時の日時情報及びスロットマシン1の停止時の日時情報の双方に基づいて翌営業日以降であるか否かを判定する構成、例えば、起動時の日時情報と停止時の日時情報から電断していた時間を算出し、電断していた時間が所定時間以上である場合に翌営業日以降であると判断する構成としても良い。
尚、本実施例のサブ制御部91は、少なくとも翌日以降に電力供給が再開される場合には、RAM91cの記憶領域のうち有利状態情報が記憶されている領域を含む領域が初期化される構成であるが、少なくとも翌日以降に電力供給が再開される場合に初期化されるRAM91cの記憶領域には、少なくとも有利状態において更新される数値であって、特定条件が成立する前に次の有利状態に制御された場合において引き継ぐことが可能な数値(本実施例では、有利状態情報のうちART中演出、ボーナス中演出において液晶表示器51に表示される情報であるART消化ゲーム数カウンタ、純増枚数カウンタ、連続回数カウンタ)が記憶されている領域が含まれていれば良く、RAM91cの記憶領域の全ての領域を初期化する構成であっても良いし、RAM91cの記憶領域のうち有利状態情報を含む領域を初期化する構成であっても良いし、RAM91cに記憶されている有利状態情報のうち少なくとも前述した次の有利状態に制御された場合において引き継ぐことが可能な数値が記憶されている領域を初期化する構成であっても良い。
また、本実施例のサブ制御部91は、遊技者により獲得されたメダルの純増枚数を計数する純増枚数カウンタをRAM91cの所定領域に備えており、メイン制御部41側において有利状態(ART、RB、BB)に制御されているときに、純増枚数カウンタの値に基づいて液晶表示器51に純増枚数を表示させることが可能であり、賭数の設定に用いたメダル枚数を純増枚数カウンタから減算する際に、純増枚数カウンタの値が所定の閾値(本実施例では、0)を下回る場合には、純増枚数カウンタの値を初期値(本実施例では、0)に設定するので、純増枚数カウンタが所定の閾値を下回ることがなく、所定の閾値を下回ったままの純増枚数の表示が液晶表示器51で継続されてしまうことを防止できる。
また、本実施例のサブ制御部91は、スロットマシン1への電力供給が停止された後も、バックアップ電源及びバックアップ電池90bにより電力供給がされることで、記憶しているデータを保持可能なRAM91cを備えており、RAM91cの所定領域に有利状態情報を記憶させることで、スロットマシン1への電力供給が停止したときに有利状態に制御されているか否かに関わらず、有利状態情報をRAM91cに保持させ、スロットマシン1への電力供給が開始したときに行う起動処理(サブ)において、電力供給が停止されたときに有利状態に制御されていなかったと判定したときに、有利状態情報を初期化するので、スロットマシン1への電力供給が停止するときに、有利状態に制御されているか否かに関わらず、一律に有利状態情報が保持されるため、電力供給停止時の処理負荷を軽減できる。
また、本実施例のメイン制御部41は、サブ制御部91に対して各種コマンドを送信可能であり、サブ制御部91は、メイン制御部41から受信した各種コマンドに基づいて演出の制御を行うことが可能な構成であって、サブ制御部91は、有利状態に関するコマンド(内部当選コマンド、ART状態コマンド、入賞枚数コマンド)に基づいて、有利状態に制御されているゲーム数、有利状態に制御される残りのゲーム数、有利状態に制御されているときに遊技者が獲得したメダルの純増枚数、有利状態に制御された連続回数等の有利状態情報を更新し、また、有利状態に関するコマンド(内部当選コマンド、ART状態コマンド)に基づいて、有利状態の制御が終了されてから所定のゲーム数(本実施例では、32ゲーム)が行われたことが特定されるときに、有利状態情報を初期化するので、有利状態情報の管理がメイン制御部41から送信されたコマンドに基づいて行われるので、メイン制御部41側で有利状態情報を管理するためのプログラム容量を削減することができる。
尚、本実施例では、サブ制御部91は、メイン制御部41から受信し有利状態に関するコマンドに基づいて有利状態情報を更新し、初期化する構成、すなわちサブ制御部91が有利状態情報を管理する構成であるが、メイン制御部41が有利状態情報を管理する構成であっても良い。メイン制御部41が有利状態情報を管理する構成では、メイン制御部41は、サブ制御部91に対して有利状態情報を特定可能なコマンドを送信する構成とすることで、サブ制御部91側が制御する演出装置にて有利状態情報を表示させることができる。
また、本実施例のサブ制御部91は、スロットマシン1への電力供給が停止しても、日時情報を出力する時計装置及びRAM91cの双方にバックアップ電力を供給するバックアップ電池90bを備え、演出制御基板90に配置された電池ホルダ90aにバックアップ電池90bが保持され、演出制御基板90が基板ケース99内に収容された状態で、基板ケース99に設けられた突出部99aが電池ホルダ90aに保持されているバックアップ電池90bの側面に接触してバックアップ電池90bの移動を規制するようになっており、振動などによりバックアップ電池90bが電池ホルダ90aから外れてRAM91cに記憶されている有利状態情報が失われてしまうことや計時装置から正常な日時情報が出力されなくなってしまうことを防止できる。
尚、本実施例では、演出制御基板90を収容する基板ケースには、演出制御基板90の電池ホルダ90aに保持されたバックアップ電池90bに接触して当該バックアップ電池90bの移動を規制する突出部99aを設ける構成であるが、突出部99aは、バックアップ電池90bが電池ホルダ90aから脱離してしまうような移動を制限可能なものであれば良く、本実施例のようにバックアップ電池90bの側面に常に接触して当該バックアップ電池90bの移動を規制する構成ことで、バックアップ電池90bが電池ホルダ90aから脱離することを防止するもの、バックアップ電池90bが正常に電池ホルダ90aに保持されているときには、接触ない一方で、所定量以上移動されることで接触して、それ以上の移動を規制する規制部を基版ケースに設けることで、バックアップ電池90bが電池ホルダ90aから脱離することを防止するものであっても良い。
また、本実施例では、演出制御基板90が基板ケース99内に収容された状態で、バックアップ電池90bに接触する突出部99aを基板ケース99に設けることで、バックアップ電池90bが電池ホルダ90aから脱離することが防止する構成であるが、電池ホルダ90aに保持されたバックアップ電池90bの移動を突出部99a以外の手段で規制する構成であっても良く、例えば、図6(b)に示すように、バックアップ電池90bが電池ホルダ90aから脱離不能に電池ホルダ90aを囲むカバー体92cを設けることで、バックアップ電池90bが電池ホルダ90aから離脱するような移動を規制する構成であっても良い。このような構成にあっては、当該カバー体92cにバックアップ電池90bの側面に接触可能な突起部を設けることで、当該突起部によりバックアップ電池90bの移動を規制して、電池ホルダ90aから脱離することを防止するものであっても良い。
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
前記実施例では、遊技機としてのスロットマシンを適用しているが、遊技機は、スロットマシン1に限らず、遊技球を用いるパチンコ遊技機等、スロットマシン以外の遊技機に適用しても良い。