以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
(スロットマシン100の機械的構成)
図1および図2の外観図に示すように、遊技機としてのスロットマシン100は、前面が開口した筐体102と、筐体102の前面一端に回動可能に上下に並んで配置される前面上扉104および前面下扉106とが設けられている。前面上扉104の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓108が設けられており、筐体102内の図柄表示窓108に対応する位置には、3つのリール110(左リール110a、中リール110b、右リール110c)が、それぞれ独立して回動可能に設けられている。左リール110a、中リール110b、右リール110cの外周面には、図3(a)の図柄配列に示すように、20に等分された各領域に複数種類の図柄がそれぞれ配列されており、遊技者は、図柄表示窓108を通じて、上段、中段、下段に位置する、左リール110a、中リール110b、右リール110cそれぞれの3つの連続する合計9個の図柄を視認することができる。
前面下扉106の上部には操作部設置台112が形成され、操作部設置台112には、メダル投入部114、ベットスイッチ116、スタートスイッチ118、ストップスイッチ120、演出スイッチ122等が設けられている。メダル投入部114は、メダル投入口114aを通じて遊技価値としてのメダルの投入を受け付ける。ベットスイッチ116は、スロットマシン100の内部に電気的に貯留(以下、単にクレジットという)されているメダルのうち、1遊技で必要とされる規定数のメダルを投入(ベット)する。
スタートスイッチ118は、例えば傾倒操作を検出可能なレバーで構成され、遊技者による遊技の開始操作を検出する。ストップスイッチ120(ストップスイッチ120a、ストップスイッチ120b、ストップスイッチ120c)は、左リール110a、中リール110b、右リール110cそれぞれに対応して設けられており、遊技者の停止操作を検出する。なお、ストップスイッチ120の停止操作が可能な状態で、遊技者が、ストップスイッチ120a、ストップスイッチ120b、ストップスイッチ120cのいずれかを最初に停止操作することを第1停止といい、第1停止の後、停止操作されていない2つのストップスイッチ120のいずれかを停止操作することを第2停止といい、第2停止の後、最後に残ったストップスイッチ120を停止操作することを第3停止という。演出スイッチ122は、例えば、押圧スイッチと、その周囲に回転自在に配されたジョグダイヤルスイッチとから構成され、遊技者の押圧操作や回転操作を検出する。
前面上扉104の上部略中央には、演出に伴う様々な画像を表示する液晶表示部124が設けられている。また、前面上扉104の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ126が設けられる。また、前面上扉104の裏面における液晶表示部124の左右位置や前面下扉106の裏面における左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ128が設けられている。
操作部設置台112には、メインクレジット表示部130およびメイン払出表示部132が設けられている。また、図柄表示窓108と操作部設置台112との間には、サブクレジット表示部134およびサブ払出表示部136が設けられている。これらメインクレジット表示部130およびサブクレジット表示部134にはクレジットされているメダルの枚数(クレジット枚数)が表示され、メイン払出表示部132およびサブ払出表示部136にはメダルの払出枚数が表示される。
筐体102内におけるリール110の下方には、メダル排出口140aからメダルを払い出すためのメダル払出装置(メダルホッパー)142が設けられている。また、前面下扉106の前面下部には、メダル排出口140aから払い出されたメダルを貯留するための受け皿部140が設けられている。また、筐体102内には、電源スイッチ144が設けられている。電源スイッチ144は、スロットマシン100を管理する管理者が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。
また、筐体102内には、後述する主制御基板200に、図示しない設定キーおよび設定変更スイッチ(これらを合わせて設定値設定手段という)が設けられている。スロットマシン100では、設定キーに所定の鍵(操作キー)が挿入されてオフの位置からオンの位置へ回転された状態で電源スイッチ144を介して電源が投入されると設定変更モードに移行し、設定値の変更(単に設定変更ともいう)が可能な状態となる。設定値は、遊技者の有利度合(機械割)を段階的に示したものであり、例えば、1~6の6段階で表され、一般に、設定値の数値が大きいほど遊技全体として有利度合が高い(期待獲得枚数が高い)ように設定されている。そして、設定変更が可能な状態において設定変更スイッチが押下される度に設定値が1ずつ加算され、例えば、6段階の設定値のうちのいずれかの設定値に変更され、スタートスイッチ118が操作されると、設定値が確定し、設定キーを元の位置(OFFの位置)に戻すことで設定変更モードが終了して遊技が可能となる。なお、設定変更は、電源スイッチ144が操作されて電源の投入状態となってから一定期間のみ可能となっている。
スロットマシン100では、遊技が開始可能となり、規定数のメダルがベットされると、有効ラインAが有効化するとともに、スタートスイッチ118に対する操作が有効となる。ここで、ベットは、ベットスイッチ116の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部114を通じてメダルを投入する場合と、詳しくは後述するリプレイ役が有効ラインA上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。また、有効ラインAは、当選役の入賞を判定するためのラインであり、本実施形態では1本である。有効ラインAは、図3(b)に示すように、図柄表示窓108に臨む9つの図柄(3リール×上中下の3段)のうち、左リール110aの上段、中リール110bの中段、右リール110cの下段に停止する図柄に対応する位置を結んだラインに設定されている。無効ラインは、有効ラインA上に表示された図柄組み合わせのみでは当選役を把握しにくい場合に、当選役の把握を容易にする他の図柄組み合わせを表示する、当選役の入賞判定には用いられない有効ラインA以外のラインであり、本実施形態では、図3(b)に示す4つの無効ラインB1、B2、B3、Cを想定している。
そして、遊技者によりスタートスイッチ118が操作されると、遊技が開始され、左リール110a、中リール110b、右リール110cが回転制御されるとともに、当選種別抽選等が実行される。その後、ストップスイッチ120a、120b、120cの操作に応じて、対応する左リール110a、中リール110b、右リール110cをそれぞれ停止させる。そして、当選種別抽選の抽選結果および有効ラインAに表示された図柄の組み合わせによって、メダルの払い出しを受け得る当選役が入賞した場合にはメダルの払い出しが実行され、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合には左リール110a、中リール110b、右リール110cが全て停止したことをもって、遊技が終了する。
なお、本実施形態において、上記1遊技は、メダル投入部114を通じたメダルの投入、ベットスイッチ116の操作を通じたクレジットされているメダルの投入、または、リプレイ役が有効ラインA上に表示されたことに基づくメダルの自動投入のいずれかが行われてから、遊技者によるスタートスイッチ118の操作に応じて、左リール110a、中リール110b、右リール110cが回転制御されるとともに当選種別抽選が実行され、当選種別抽選の抽選結果および遊技者による複数のストップスイッチ120a、120b、120cの操作に応じて、操作されたストップスイッチ120a、120b、120cに対応する左リール110a、中リール110b、右リール110cがそれぞれ停止制御され、メダルの払い出しを受け得る当選役が入賞した場合、そのメダルの払い出しが実行されるまでの遊技をいう。また、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合、左リール110a、中リール110b、右リール110cが全て停止したことをもって1遊技が終了する。ただし、1遊技の開始を、上記のメダルの投入、または、リプレイ役の当選の代わりに、遊技者によるスタートスイッチ118の操作と読み替えてもよい。また、かかる1遊技が繰り返される数を遊技数とする。また、このような、当選種別抽選が実行され1度の払い出しを受け得る1遊技を、後述する疑似遊技(擬似遊技)と区別するため、基本遊技という場合もある。ここで、基本遊技が単独で行われる場合であっても、基本遊技が疑似遊技と組合せて行われる場合であっても、基本遊技の消化をもって1遊技消化とする。したがって、疑似遊技の消化は、スロットマシン100内の遊技数の計数に影響しない。ただし、ホールコンピュータ(図示せず)が管理する遊技数については、仕様により、疑似遊技を遊技数として計数してもよいし、計数しないとしてもよい。
図4は、スロットマシン100の概略的な電気的構成を示したブロック図である。図4に示すように、スロットマシン100は、遊技の進行を制御する主制御基板200(主制御部)と、遊技の進行に応じた演出を制御する副制御基板202(副制御部)とを含む制御基板が設けられている。また、主制御基板200と副制御基板202との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板200から副制御基板202への一方向のみに制限される。
(主制御基板200)
主制御基板200は、中央処理装置であるメインCPU200a、プログラム等が格納されたメインROM200b、ワークエリアとして機能するメインRAM200c等を含む半導体集積回路を有し、スロットマシン100全体を統括的に制御する。なお、メインRAM200cは、電源が切断された場合においても、設定変更が行われてRAMクリアが実行されない限り、データが消去されることなく保持される。
また、主制御基板200は、メインCPU200aが、メインROM200bに格納されたプログラムに基づきメインRAM200cと協働することで機能する、初期化手段300、ベット手段302、当選種別抽選手段304、リール制御手段306、判定手段308、払出制御手段310、遊技状態制御手段312、演出状態制御手段314、コマンド送信手段316等の機能部を有する。
主制御基板200では、メダル投入口114aへのメダルの投入を検出する投入メダル検出部414b、ベットスイッチ116、スタートスイッチ118およびストップスイッチ120a、120b、120cから各種の検出信号を受信しており、受信した検出信号に基づいて、メインCPU200aが種々の処理を実行する。
初期化手段300は、主制御基板200における初期化処理を実行する。ベット手段302は、遊技に使用するためのメダルをベットする。当選種別抽選手段304は、スタートスイッチ118の操作に基づき、詳しくは後述するように、当選役の当否、より詳しくは、当選役が含まれる当選種別の当否を決定する当選種別抽選を行う。
リール制御手段306は、スタートスイッチ118の操作に応じて、左リール110a、中リール110b、右リール110cを回転制御し、回転している左リール110a、中リール110b、右リール110cにそれぞれ対応したストップスイッチ120a、120b、120cの操作に応じて、対応する左リール110a、中リール110b、右リール110cを停止制御する。また、リール制御手段306は、スタートスイッチ118の操作に応じて、前回の遊技においてストップスイッチ120a、120b、120cの操作を有効化してから、当選種別抽選の抽選結果を表示するために遊技者によるストップスイッチ120a、120b、120cの操作を有効化するまで(前回の遊技におけるストップスイッチ120a、120b、120cの操作完了により無効化されている)の時間を規定の時間より延長し、その間、リール110a、110b、110cを多彩な態様で回転制御するリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることで実現できる。また、本実施形態においては、リール演出として、基本遊技におけるスタートスイッチ118の操作に応じ、基本遊技を中断して、リール110a、110b、110cを回転制御し、ストップスイッチ120a、120b、120cの操作に応じてリール110a、110b、110cを停止制御(仮停止制御)する、基本遊技に似せた疑似遊技を行う場合がある。なお、疑似遊技は、再度のスタートスイッチ118の操作、または、仮停止制御から所定時間が経過したことを条件に終了し、基本遊技におけるリール110a、110b、110cの回転制御が再開する。また、疑似遊技の一例として、ストップスイッチ120a、120b、120cの操作に応じて、各リール110a、110b、110cにおける所定の図柄(例えば、ボーナス役を構成する図柄)を、自動的に仮停止制御することもできる。かかる疑似遊技では、基本遊技と類似の回転制御および停止態様あるいは異なる回転制御および停止態様で演出を実行することができるので、遊技の興趣を高めることができる。なお、仮停止は、一見停止しているように見えるが、リール110a、110b、110cのステッピングモータ152の位相信号を500msec以内で変化させ続けることで、完全停止していない状態を示し、仮停止制御は、リール110a、110b、110cを仮停止させる制御を示す。ただし、特に区別する場合を除き、一方向に回転することなく、その位置を維持しているという意味で停止も仮停止も単に停止として扱い、また、スタートスイッチ118の操作に応じて、左リール110a、中リール110b、右リール110cを回転制御し、回転している左リール110a、中リール110b、右リール110cにそれぞれ対応したストップスイッチ120a、120b、120cの操作に応じて、対応する左リール110a、中リール110b、右リール110cを停止させる意味で、停止制御も仮停止制御も単に停止制御として扱う。
また、主制御基板200には、リール駆動制御部150が接続されている。このリール駆動制御部150は、スタートスイッチ118の操作信号に応じ、リール制御手段306から送信される、左リール110a、中リール110b、右リール110cの回転開始信号に基づいて、ステッピングモータ152を駆動する。また、リール駆動制御部150は、ストップスイッチ120の操作信号に応じ、リール制御手段306から送信される、左リール110a、中リール110b、右リール110cそれぞれの停止信号および回転位置検出回路154の検出信号に基づいて、ステッピングモータ152の駆動を停止する。
判定手段308は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたか否か判定する。ここで、当選役に対応する図柄組み合わせが有効ラインA上に表示されることを単に入賞という場合がある。払出制御手段310は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたこと(入賞したこと)に基づいて、当該当選役に対応する数(価値量)だけメダルを払い出す。また、主制御基板200には、メダル払出装置142が接続されており、払出制御手段310は、メダルの払出枚数を計数しながらメダルを排出する。
遊技状態制御手段312は、当選種別抽選の結果や判定手段308の判定結果を参照し、複数種類の遊技状態のいずれかに遊技状態を移行させる。また、演出状態制御手段314は、当選種別抽選の結果、判定手段308の判定結果、遊技状態の遷移情報を参照し、複数種類の演出状態のいずれかに演出状態を移行させる。
コマンド送信手段316は、ベット手段302、当選種別抽選手段304、リール制御手段306、判定手段308、払出制御手段310、遊技状態制御手段312、演出状態制御手段314等の動作に伴う、遊技に関するコマンドを順次決定し、決定したコマンドを副制御基板202に順次送信する。
また、主制御基板200には、乱数発生器(乱数生成手段)200dが設けられる。乱数発生器200dは、所定数を更新範囲として計数値を循環させて更新し、遊技での抽選に用いられる乱数値を生成する。なお、乱数発生器200dでは、更新周期毎に、循環させる計数値の初期値が更新される。主制御基板200では、所定の時点において乱数発生器200dから計数値を抽出することで乱数値を得る。主制御基板200の乱数発生器200dによって生成される乱数値(以下、当選種別抽選乱数という)は、遊技者に付与する遊技利益、例えば、当選種別抽選手段304が当選種別を決定するために用いられる。
(副制御基板202)
また、副制御基板202は、主制御基板200と同様に、中央処理装置であるサブCPU202a、プログラム等が格納されたサブROM202b、ワークエリアとして機能するサブRAM202c等を含む各種半導体集積回路を有し、主制御基板200からのコマンドに基づき、特に演出を制御する。また、サブRAM202cにもメインRAM200c同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板202にも、主制御基板200同様、乱数発生器(乱数生成手段)202dが設けられており、乱数発生器202dによって生成される乱数値(以下、演出抽選乱数という)は、主に演出の態様を決定するために用いられる。
また、副制御基板202では、サブCPU202aが、サブROM202bに格納されたプログラムに基づき、サブRAM202cと協働することで機能する、初期化決定手段330、コマンド受信手段332、演出制御手段334等の機能部を有する。
初期化決定手段330は、副制御基板202における初期化処理を実行する。コマンド受信手段332は、主制御基板200等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段334は、演出スイッチ122から検出信号を受信するとともに、受信されたコマンドに基づいて液晶表示部124、スピーカ128、演出用ランプ126の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段334は、液晶表示部124に表示される画像データや、演出用ランプ126、サブクレジット表示部134、サブ払出表示部136等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ128から出力すべき音声を構成する音声データを決定する。そして、演出制御手段334は、決定した遊技の演出を実行する。なお、演出には、補助演出も含まれる。補助演出は、当選種別抽選において、正解役と不正解役とが重複した選択当選種別に当選したときに、その正解役の入賞条件となるストップスイッチ120a、120b、120cの正解操作態様を報知する演出である。かかる補助演出により、遊技者は、正解役に対応する図柄組み合わせを、遊技者が有効ラインA上に容易に表示させることができる。かかる補助演出を実行する演出状態をAT(アシストタイム)演出状態という。また、AT演出状態とリプレイ役の当選確率が高いRT(リプレイタイム)遊技状態が並行して進行される所謂ART遊技状態を用いることもある。
なお、以下では、液晶表示部124、演出用ランプ126、スピーカ128、サブクレジット表示部134、サブ払出表示部136といった、副制御基板202を含む、主制御基板200以外の基板で管理される報知手段を他報知手段という場合がある。これに対し、メインクレジット表示部130、メイン払出表示部132といった、主制御基板200で管理される報知手段を主報知手段(指示モニタ)という場合がある。また、補助演出を実行可能な主報知手段および他報知手段を合わせて補助演出実行手段という場合もある。演出状態制御手段314は、AT演出状態において、補助演出を補助演出実行手段に実行させる。
(主制御基板200で用いられるテーブル)
図5は、当選役を説明するための説明図であり、図6および図7は、当選種別抽選テーブルを説明するための説明図である。
スロットマシン100においては、詳しくは後述するように、複数種類の遊技状態および演出状態が設けられており、遊技の進行に応じて遊技状態および演出状態が移行される。そして、主制御基板200では、遊技状態制御手段312により管理、制御される遊技状態に対応する複数の当選種別抽選テーブル等がメインROM200bに格納されている。当選種別抽選手段304は、メインRAM200cに記憶された現在の設定値(遊技利益を得る容易性を段階的に示したもの)と現在の遊技状態に応じて、対応する当選種別抽選テーブルをメインROM200bから抽出し、抽出した当選種別抽選テーブルに基づき、スタートスイッチ118の操作信号に応じて取得された当選種別抽選乱数が当選種別抽選テーブル内のいずれの当選種別に対応するか判定する。
ここで、当選種別抽選テーブルで抽出される当選種別を構成する当選役には、リプレイ役、小役、ボーナス役が含まれる。リプレイ役は、リプレイ役に対応する図柄組み合わせが有効ラインA上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度遊技を実行できる役である。小役は、その小役に対応する図柄組み合わせが有効ラインA上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインA上に表示されることにより、遊技状態制御手段312により管理される遊技状態をボーナス遊技状態(後述するRBB作動中遊技状態)に移行させることができる役である。
本実施形態における当選役は、図5に示すように、ボーナス役として、当選役「RBB」が設けられている。また、リプレイ役として、当選役「リプレイ1」~「リプレイ7」が設けられている。また、小役として、当選役「小役1」~「小役45」が設けられている。図5では、左リール110a、中リール110b、右リール110cそれぞれに、各当選役を構成する1または複数の図柄が対応付けられている。なお、以下では、当選役「小役1」~「小役17」を当選役「15枚役」、当選役「小役18」を当選役「14枚役」、当選役「小役19」、「小役20」を当選役「3枚役」、当選役「小役21」~「小役45」を当選役「1枚役」と略す場合がある。
ここで、本実施形態においては、遊技者によってストップスイッチ120が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、当該図柄が有効ラインA上に停止するように停止制御がなされる。また、ストップスイッチ120が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が、有効ラインA上にはないが、リール110の回転方向と反対の方向の図柄4コマ分に相当する範囲(引込範囲)内に存在している場合には、リール制御手段306によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、入賞可能な当選役に対応する図柄がリール110中に複数あり、いずれもリール110の引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインA上に引き込むか決定され、当該優先された図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ120が押圧操作されたときに、入賞可能な当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、その図柄を有効ラインA上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。また、後述するように、当選種別に含まれる当選役に操作態様(操作順や操作タイミング)が入賞条件として設定されている場合、リール制御手段306は、遊技者の操作態様に応じて当選役に対応する図柄組み合わせを有効ラインA上に表示可能に停止制御する。
そして、例えば、当選役「リプレイ1」、当選役「小役17」に対応する図柄組み合わせを構成する図柄は、各リール110において、上記の停止制御によって、必ず有効ラインA上に表示可能なように配列されている。このような当選役をPB=1と表す場合がある。一方、例えば、当選役「リプレイ2」、当選役「小役1」~「小役16」、当選役「RBB」に対応する図柄組み合わせを構成する図柄は、各リール110において、上記の停止制御によって、必ずしも有効ラインA上に表示可能なように配列されていないので、所謂とりこぼしが発生する場合がある。このような当選役をPB≠1と表す場合がある。
図6および図7に示すように、当選種別抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選種別が異なったり、不当選(ハズレ)の有無が異なったりする。図6および図7では、各遊技状態(非内部遊技状態(非内部)、RBB内部中遊技状態(RBB内部中)、RBB作動中遊技状態(RBB作動中))毎に割り当てられた当選領域(当選種別)を「◎」や「○」で表しているが、実際には、複数の遊技状態それぞれに対応する当選種別抽選テーブルがメインROM200bに記憶されている。なお、「◎」は有利区間に移行させる抽選を行うことが可能な有利区間抽選可当選種別であることを示し、「○」は有利区間に移行させる抽選を行うことが不可な有利区間抽選不可当選種別であることを示している。
当選種別抽選テーブルでは、区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数(当選範囲値)と当選種別が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選種別抽選乱数の総数(65536)となる。したがって、当選種別それぞれが決定される確率は、当選領域に対応付けられた置数を当選種別抽選乱数の総数で除算した値となる。当選種別抽選手段304は、その時点の遊技状態に基づいて、当該当選種別抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選種別抽選乱数から減算して、減算後の値が0未満となると、その時点の当選領域に対応付けられた当選種別を当選種別抽選の抽選結果としている。また、当選領域1以上の全ての当選領域の置数を当選種別抽選乱数から減算して、減算後の値が0以上となっていれば、当選領域0の当選種別「ハズレ」が当選種別抽選の抽選結果となる。
ここで、当選種別「RBB」を構成する当選役「RBB」について補足する。所定の第1種特別役物RBは、規定数ごとの入賞に係る図柄の組み合わせの数を増加させ、または規定数ごとの入賞に係る条件装置が作動する確率を上昇させる役物で、あらかじめ定められた場合に作動し、12回を超えない回数の遊技の結果が得られるまで作動を継続することができるものをいう。ここで、条件装置は、その作動が入賞、再遊技、役物または役物連続作動装置の作動に係る図柄の組み合わせが表示されるために必要な条件とされている装置で、当選種別抽選(遊技機内で行われる電子計算機によるくじ)に当選した場合に作動するもの、すなわち、当選フラグを意味する。そして、当選種別「RBB」を構成する第1種特別役物に係る役物連続作動装置(当選役「RBB」)は、第1種特別役物RBを連続して作動させることができる装置であり、特定の図柄の組み合わせが表示された場合に作動し、あらかじめ定められた場合に作動を終了するものをいう。
図6および図7の当選種別抽選テーブルによれば、例えば当選領域0には、当選種別「ハズレ」が対応付けられており、かかる当選種別に当選すると、図5に示したいずれの当選役に対応する図柄組み合わせも有効ラインA上に表示されることはなく、メダルの払い出し等が行われることはない。
また、当選領域1には、当選役「小役1」~「小役45」が重複して含まれる(当選する)当選種別「小役ALL」が対応付けられており、当選領域2には、当選役「小役19」、「小役20」が重複して含まれる当選種別「3枚ALL」が対応付けられており、当選領域3には、当選役「小役21」~「小役45」が重複して含まれる当選種別「1枚ALL」が対応付けられている。
また、当選領域4~7には、当選役「リプレイ1」~「リプレイ7」が重複して含まれる当選種別「リプレイ1」~「リプレイ4」が対応付けられている。なお、以下では、当選領域4~7の4つの当選種別を単に当選種別「リプレイ」と略す場合がある。
また、当選領域8~31には、払出枚数が15枚となる正解役(当選役「小役1」~「小役16」)のいずれかと、払出枚数が1枚の不正解役(当選役「小役21」~「小役40」)のいずれかとが重複して含まれる選択当選種別(当選種別「打順ベルA青1」~「打順ベルA青4」、「打順ベルA赤1」~「打順ベルA赤4」、「打順ベルB青1」~「打順ベルB青4」、「打順ベルB赤1」~「打順ベルB赤4」、「打順ベルA1」~「打順ベルA4」、「打順ベルB1」~「打順ベルB4」)がそれぞれ対応付けられている。なお、以下では、当選領域8~31の24つの当選種別を単に当選種別「打順ベル」と略す場合がある。
また、当選領域32~41には、払出枚数が14枚となる当選役「小役18」と、払出枚数が15枚となる当選役「小役17」と、払出枚数が1枚となる当選役「小役21」、「小役22」、「小役27」、「小役28」、「小役35」、「小役36」、「小役43」のいずれかとが重複して含まれる当選種別「打順チャンス1」~「打順チャンス10」がそれぞれ対応付けられている。なお、以下では、当選領域32~41の10の当選種別を単に当選種別「打順チャンス」と略す場合がある。
また、当選領域42、43には、払出枚数が3枚となる当選役「小役20」と、払出枚数が1枚となる当選役「小役25」、「小役26」、「小役27」、「小役28」のいずれかとが重複して含まれる当選種別「共通3枚1」、「共通3枚2」がそれぞれ対応付けられている。なお、以下では、当選領域42、43の2つの当選種別を単に当選種別「共通3枚」と略す場合がある。
また、当選領域44には、当選役「RBB」と、当選役「小役21」、「小役23」、「小役24」、「小役45」とが重複して含まれる当選種別「共通1枚」が対応付けられている。また、当選領域45には、当選役「RBB」と、当選役「小役43」とが重複して含まれる当選種別「スイカ」が対応付けられている。また、当選領域46には、当選役「RBB」と、当選役「小役44」とが重複して含まれる当選種別「チャンス目A」が対応付けられている。また、当選領域47には、当選役「RBB」と、当選役「小役19」とが重複して含まれる当選種別「チャンス目B」が対応付けられている。なお、以下では、当選領域46、47の2つの当選種別を単に当選種別「チャンス目」と略す場合がある。
また、当選領域48には、当選役「RBB」と、当選役「小役41」とが重複して含まれる当選種別「弱チェリー」が対応付けられている。また、当選領域49には、当選役「RBB」と、当選役「小役42」とが重複して含まれる当選種別「強チェリー」が対応付けられている。また、当選領域50には、当選役「RBB」が単独で含まれる当選種別「RBB」が対応付けられている。なお、RBB内部中遊技状態において当選領域44~49に当選した場合には、小役のみが当選することになる。
そして、複数の当選役が重複して含まれる当選種別に当選した場合には、いずれの当選役に対応する図柄組み合わせを有効ラインA上に優先的に表示させるかについての入賞条件、例えば、ストップスイッチ120a、120b、120cが操作される順番、および、ストップスイッチ120a、120b、120cの操作タイミング(リール110の操作位置)が設定されている。
以下の説明において、左リール110a、中リール110b、右リール110cの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順1」とし、左リール110a、右リール110c、中リール110bの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順2」とし、中リール110b、左リール110a、右リール110cの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順3」とし、中リール110b、右リール110c、左リール110aの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順4」とし、右リール110c、左リール110a、中リール110bの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順5」とし、右リール110c、中リール110b、左リール110aの順にリールを停止させるストップスイッチ120a、120b、120cの操作を「打順6」とする。
また、「打順3」において、中リール110bに配列された図柄番号1~10の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120bが操作されることを「打順3青(図中は青)」、中リール110bに配列された図柄番号0、11~19の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120bが操作されることを「打順3赤(図中は赤)」とする。同様に、「打順4」において、中リール110bに配列された図柄番号1~10の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120bが操作されることを「打順4青」、中リール110bに配列された図柄番号0、11~19の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120bが操作されることを「打順4赤」とする。また、「打順5」、「打順6」において、右リール110cに配列された図柄番号1~10の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120cが操作されることをそれぞれ「打順5青」、「打順6青」、右リール110cに配列された図柄番号0、11~19の図柄が有効ラインA上に位置しているタイミングでストップスイッチ120cが操作されることをそれぞれ「打順5赤」、「打順6赤」とする。
例えば、後述するRBB内部中遊技状態において、当選領域8の当選種別「打順ベルA青1」に当選し、正解操作態様(打順3青)による操作が行われた場合、払出枚数が15枚の正解役である当選役「小役1」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされる。また、打順1、打順2による操作が行われた場合、払出枚数1枚の不正解役である当選役「1枚役」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされ、打順3赤、打順4(打順4青、打順4赤)による操作が行われた場合、払出枚数1枚の不正解役である当選役「1枚役」に対応する図柄組み合わせが有効ラインA上に優先的に1/2の確率で表示されるように停止制御がなされ、打順5、6による操作が行われた場合、払出枚数1枚の不正解役である当選役「1枚役」に対応する図柄組み合わせが有効ラインA上に優先的に1/4の確率で表示されるように停止制御がなされる。
なお、当選領域8~23の各当選種別の当選確率(置数)は等しくなるように設定されている。また、当選領域24~31の各当選種別の当選確率(置数)は等しくなるように設定されている。遊技者は、通常、いずれの当選種別に当選しているのかを知ることができないため、上記のような当選領域8~31を設けることにより、正解役を入賞させにくくしている。また、上記のように、不正解役が優先的に表示される操作態様でストップスイッチ120a、120b、120cが操作されても、必ずしも不正解役に対応する図柄組み合わせを有効ラインA上に表示させられるとは限らないので、その操作態様によっては、とりこぼしが発生することがある(PB≠1)。
なお、上述したいずれかの当選種別に当選すると、それぞれの当選種別に対応する内部当選フラグが成立(ON)するとともに、この内部当選フラグの成立状況に応じて、各リール110の停止制御がなされることとなる。このとき、小役が含まれる当選種別に当選したものの、これら当選役に対応する図柄組み合わせを、その遊技内で有効ラインA上に表示させることができなかった場合には、当該遊技の終了後に内部当選フラグがオフされる。つまり、小役の当選の権利は小役が含まれる当選種別に当選した遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。これに対して、当選役「RBB」が含まれる当選種別に当選した場合には、RBB内部当選フラグが成立(ON)するとともに、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されるまで、RBB内部当選フラグが遊技を跨いで持ち越される。なお、リプレイ役が含まれる当選種別に対応する内部当選フラグが成立した場合には、その当選種別に含まれるリプレイ役のうちのいずれかのリプレイ役に対応する図柄組み合わせが必ず有効ラインA上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがオフされる。
(遊技状態の遷移)
ここで、図8を用い、遊技状態の遷移について説明する。ここでは、非内部遊技状態、RBB内部中遊技状態、RBB作動中遊技状態といった複数の遊技状態が準備されている。各遊技状態は、後述するように、ボーナス役の当選、入賞(作動)、終了に応じて遷移させる。
非内部遊技状態は、複数の遊技状態における初期状態に相当する遊技状態である。かかる非内部遊技状態では、リプレイ役の当選確率が約1/7.3に設定されている。また、非内部遊技状態では、当選役「RBB」が所定の確率(例えば約1/10)で決定されている。
遊技状態制御手段312は、当選役「RBB」の当選に応じて遊技状態を遷移させる。例えば、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されると、遊技状態制御手段312は、遊技状態をRBB作動中遊技状態に移行させる(1)。
RBB作動中遊技状態では、リプレイ役の当選確率が0に設定されている。なお、かかるRBB作動中遊技状態では、当選可能な当選種別として、当選領域1に当選種別「小役ALL」が、当選領域2に当選種別「3枚ALL」、当選領域3に当選種別「1枚ALL」が設定されている。当選種別「小役ALL」に当選すると、当選役「小役1」~「小役45」のいずれかに対応する図柄組み合わせが有効ラインA上に表示され、当選種別「3枚ALL」に当選すると、当選役「小役19」、「小役20」のいずれかに対応する図柄組み合わせが有効ラインA上に表示され、当選種別「1枚ALL」に当選すると、当選役「小役21」~「小役45」のいずれかに対応する図柄組み合わせが有効ラインA上に表示されるように停止制御される。ここでは、かかる小役の構成によりRBB作動中遊技状態での単位遊技当たりの期待獲得枚数を低くしている。
RBB作動中遊技状態の終了条件が成立すると、すなわち、獲得枚数が所定枚数に到達すると、遊技状態制御手段312は、遊技状態を非内部遊技状態に移行させる(2)。
一方、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、遊技状態制御手段312は、遊技状態をRBB内部中遊技状態に移行させる(3)。
RBB内部中遊技状態では、リプレイ役の当選確率が約1/5.9に設定されている。また、RBB内部中遊技状態では当選種別「ハズレ」に当選することはない。換言すれば、当選役「RBB」の当選遊技で当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、その後は、当選役「RBB」より小役やリプレイ役の方が優先して有効ラインA上に停止制御されるので、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができない。したがって、一旦、遊技状態がRBB内部中遊技状態に移行すると、その後、遊技状態が遷移することなく、RBB内部中遊技状態が維持されることとなる。ここでは、かかるRBB内部中遊技状態を維持しつつ、そのRBB内部中遊技状態においてAT演出状態を実現する。
ここでは、RBB内部中遊技状態において、複数種類の正解役が互いに重複せずに当選するため、正解役を入賞させることができる機会を多くすることができ、その結果、例えば、RBB内部中遊技状態におけるAT演出状態において補助演出が行われることで、メダルを獲得しやすくできる。一方、RBB作動中遊技状態では、複数種類の正解役が重複して当選するため、正解役を入賞させることができる機会が少ないので、他の遊技状態におけるAT演出状態よりも正解役を入賞させることができる機会が減り、遊技者が所有するメダルを増やしにくくしている。したがって、RBB内部中遊技状態よりも入賞に係る当選役の当選確率が高いというRBB作動中遊技状態の機能を備えつつ、メダルの獲得性能の面ではRBB作動中遊技状態がRBB内部中遊技状態に劣るという仕様(アクセルRBB)を実現することができる。
(演出状態の遷移)
図9は、演出状態の遷移を説明するための説明図である。以下、主制御基板200において演出状態制御手段314により遷移される演出状態について詳述する。なお、以下では、遊技状態がRBB内部中遊技状態である場合について説明する。
ここで、メダルの獲得性能が高い遊技状態が偏っているか否かを統括的かつ画一的に判定すべく、指示機能に係る性能を有する遊技区間、すなわち、補助演出(指示機能)を実行する遊技区間等を含む、遊技者にとって有利な遊技区間を有利区間として定義する。なお、有利区間は、主制御基板200で補助演出の作動に係る抽選等を行った結果、補助演出が作動した場合には、主制御基板200において指示の内容が識別できるよう、例えば、主報知手段に表示したときに限り、指示の内容を示す情報を、副制御基板202等の周辺基板に送信してもよい遊技区間である。また、有利区間と異なり、補助演出(指示機能)を実行することができない遊技区間を非有利区間とする。したがって、複数の演出状態は、遊技区間である有利区間および非有利区間のいずれかに属することとなる。本実施形態では、ほぼ全ての演出状態が有利区間に属し、一部の演出状態(ここでは非有利待機演出状態の1遊技目)で非有利区間を実現している。
なお、有利区間において、補助演出がないと正解役を取りこぼしてしまう当選態様のうち、正解役の配当が最大(ここでは、15枚)となる選択当選種別において、正解役の入賞を補助する補助演出(最大払出枚数を獲得できる補助演出)を行う場合、例えば、区間表示器160を点灯させることによって、その旨を報知しなければならない。
また、非有利区間においては、当選種別の当選確率を設定値毎に異ならせることは可能であるが、同一の当選種別において補助演出を伴う演出状態(AT演出状態)への移行を決定する確率は設定値毎に異ならせてはならない。一方、有利区間においては、当選種別の当選確率、および、同一の当選種別における補助演出を伴う演出状態(AT演出状態)への移行(または追加)を決定する確率のいずれも設定値毎に異ならせることは可能である。
したがって、演出状態制御手段314は、演出状態の移行の管理に加え、非有利区間と有利区間との移行も管理することとなる。また、有利区間は、このような管理に拘わらず、以下の終了条件が成立することで強制的に終了する。例えば、有利区間において計数される値が所定値に達したこと(例えば、滞在遊技数が1500遊技に達したり、純増枚数が2400枚を超えたこと)に基づいて強制的に終了する。いずれの場合においても、演出状態制御手段314は、有利区間から非有利区間に移行することで、有利区間で更新された情報(指示機能に係る性能に影響を及ぼす全ての変数)を全てリセットする。
(非AT演出状態、AT演出状態)
非AT演出状態においては、AT演出状態より、補助演出の実行頻度が極めて低く、補助演出がほぼ行われないので、獲得できるメダルの枚数が制限される。ここでは、非AT演出状態として通常演出状態、CZ演出状態(チャンスゾーン演出状態)、特化ゾーン演出状態、有利待機演出状態、非有利待機演出状態、引戻演出状態といった6つの演出状態が設けられている。
AT演出状態においては、選択当選種別の当選時において補助演出実行手段に補助演出を実行させることで、メダルの消費を抑えつつ、多くのメダルを獲得することが可能となる。したがって、遊技者は、AT演出状態に移行することで、非AT演出状態と比べ、遊技を有利に進行することができる。ここでは、AT演出状態として、OP演出状態(オープニング演出状態)、通常AT演出状態、継続演出状態、特別特化ゾーン演出状態といった4つの演出状態が設けられている。以下、各演出状態について個々に説明する。
(各演出状態)
通常演出状態は、複数の演出状態のうち、初期状態に相当する演出状態である。演出状態制御手段314は、通常演出状態においてCZ抽選を行う。CZ抽選は、CZ演出状態への移行を決定する抽選であり、演出状態制御手段314は、詳しくは後述するように、当選種別抽選により決定された当選種別ごとに異なる確率でCZ抽選を行う。そして、通常演出状態においてCZ抽選に当選した場合、演出状態制御手段314は、演出状態をCZ演出状態に移行させる(1)。
CZ演出状態では、演出状態制御手段314は、AT抽選を行う。AT抽選は、AT演出状態(通常AT演出状態)への移行を決定する抽選であり、演出状態制御手段314は、当選種別抽選により決定された当選種別ごとに異なる確率でAT抽選を行う。そして、CZ演出状態においてAT抽選に当選した場合、演出状態制御手段314は、演出状態をAT演出状態であるOP演出状態に移行させる(2)。なお、CZ演出状態は、補助演出が実行される通常AT演出状態への移行が決定されることがあるため、通常演出状態よりも有利な演出状態と言える。
一方、演出状態制御手段314は、CZ演出状態において所定の終了条件(例えば、AT抽選に当選することなく所定の遊技数を経過すること)が成立すると、演出状態を通常演出状態に移行させる(3)。
また、OP演出状態または特別特化ゾーン演出状態に移行することなく通常演出状態またはCZ演出状態で所定の天井条件(例えば、通常演出状態、CZ演出状態および引戻演出状態(これらをまとめて第1状態とする)をそれら以外の演出状態に移行することなく連続して天井遊技数経過)が成立すると(所謂、天井到達)、演出状態制御手段314は、演出状態をOP演出状態へ移行させる(2)、(4)。
OP演出状態では、所定の終了条件(例えば、正解当選種別に5回当選し、5回の補助演出が実行されること)が成立するまで、補助演出が実行される。そして、OP演出状態において、所定の終了条件が成立すると、演出状態制御手段314は、演出状態を特化ゾーン演出状態に移行させる(5)。特化ゾーン演出状態では、後に移行される通常AT演出状態において獲得可能な差枚数(純増枚数)を抽選により決定する。特化ゾーン演出状態は、例えば15遊技継続し、15遊技が経過すると、演出状態制御手段314は、演出状態を通常AT演出状態に移行させる(6)。
通常AT演出状態(第2状態)では、所定の終了条件(例えば、特化ゾーンで決定された差枚数のメダルを獲得すること)が成立するまで、補助演出が実行される。すなわち、通常AT演出状態は、差枚数管理型のAT演出状態である。そして、通常AT演出状態において、所定の終了条件が成立すると、演出状態制御手段314は、演出状態を一点鎖線で示した待機演出状態に移行させる(7)、(8)。
待機演出状態は、有利区間である有利待機演出状態と、非有利区間である非有利待機演出状態とが設けられている。詳しい説明は後述するが、通常AT演出状態の最終遊技において、演出状態制御手段314は、通常AT演出状態に再度移行させる(継続させるか)か否かの継続抽選を行う。そして、継続抽選に当選した場合、演出状態制御手段314は、有利区間を継続させ、演出状態を、一旦、有利待機演出状態に移行させる(7)。また、演出状態制御手段314は、継続抽選に非当選であっても、特定条件が成立しているときに有利継続抽選を行い、有利継続抽選に当選した場合、有利区間を継続させ、演出状態を有利待機演出状態に移行させる(7)。一方、継続抽選に非当選で、かつ、特定条件が成立していないか、特定条件が成立していても有利継続抽選に非当選であると、演出状態制御手段314は、有利区間を一旦、非有利区間に移行させるとともに、演出状態を非有利待機演出状態に移行させる(8)。
待機演出状態は、有利待機演出状態であっても非有利待機演出状態であっても2遊技継続する。継続抽選に当選して有利待機演出状態に移行された場合、演出状態制御手段314は、2遊技が経過すると、演出状態を継続演出状態に移行させる(9)。
また、継続抽選に非当選で、かつ、有利継続抽選に当選して有利待機演出状態に移行された場合、演出状態制御手段314は、2遊技それぞれにおいて継続抽選を行う。そして、演出状態制御手段314は、2遊技が経過すると、継続抽選に当選しても当選していなくても、演出状態を継続演出状態に移行させる(9)。
一方、非有利待機演出状態に移行された場合、最初の1遊技目に、演出状態制御手段314は、有利区間へ移行させるか否かを決定する有利区間移行抽選を行う。なお、本実施形態の有利区間移行抽選は、必ず当選する。したがって、演出状態制御手段314は、非有利待機演出状態の1遊技目が終了するときに遊技区間を有利区間に移行させる。また、非有利待機演出状態に移行された場合、演出状態制御手段314は、2遊技それぞれにおいて継続抽選を行う。そして、演出状態制御手段314は、2遊技が経過すると、継続抽選に当選しても当選していなくても、演出状態を継続演出状態に移行させる(10)。
継続演出状態は、所定の終了条件(例えば、10遊技の経過)が成立するまで継続し、その間、演出制御手段334によって継続抽選の抽選結果が報知される。そして、継続抽選に当選していれば、演出状態制御手段314は、再度、特化ゾーン演出状態に移行させる(11)。一方、継続抽選に当選していなければ、演出状態制御手段314は、演出状態を引戻演出状態に移行させる(12)。なお、継続演出状態では、継続抽選に当選していないときに、通常AT演出状態への移行を抽選により決定する所謂書換抽選が行われるようにしてもよい。
引戻演出状態は、所定の終了条件(例えば、30遊技の経過)が成立するまで継続し、その間、演出状態制御手段314は、通常AT演出状態の引戻抽選を行う。そして、引戻抽選に当選すると、演出状態制御手段314は、演出状態を特化ゾーン演出状態に移行させる(13)。一方、引戻抽選に当選せずに終了条件が成立すると、演出状態制御手段314は、演出状態を通常演出状態に移行させる(14)。
ところで、破線で示した、通常演出状態、CZ演出状態および引戻演出状態においては、当選種別抽選によって所定の当選種別(例えば当選種別「リプレイ3」、「リプレイ4」)が当選したときに、演出状態制御手段314は、詳しくは後述するロック3のリール演出(フリーズ演出)の実行可否を抽選により決定する。そして、ロック3のリール演出の実行が決定された場合、リール制御手段306によってロック3のリール演出が実行されるとともに、演出状態制御手段314は、次遊技に演出状態を特別特化ゾーン演出状態に移行させる(15)。
特別特化ゾーン演出状態は、特化ゾーン演出状態よりも遊技者に有利な状態となっている。具体的には、特別特化ゾーン演出状態では、特化ゾーン演出状態と同様に、後に移行される通常AT演出状態において獲得可能な差枚数(純増枚数)を抽選により決定することになるが、決定される差枚数が特化ゾーン演出状態よりも大きな値に決定されやすくなっている。例えば、特別特化ゾーン演出状態では、1回の有利区間において獲得可能な最大純増枚数である2400枚が合計で決定される。なお、特別特化ゾーン演出状態には、ロック3のリール演出の実行が決定された場合以外にも、詳しくは後述する特定条件が成立した場合に移行されることがある。
そして、特別特化ゾーン演出状態が終了すると、演出状態制御手段314は、演出状態を通常AT演出状態に移行させる(16)。
以下、主制御基板200、副制御基板202における具体的処理をフローチャートに基づいて説明する。
(主制御基板200のCPU初期化処理)
図10は、主制御基板200におけるCPU初期化処理を説明するフローチャートである。電源基板より電源が供給されると、メインCPU200aにシステムリセットが発生し、メインCPU200aは、以下のCPU初期化処理(S100)を行う。
(ステップS100-1)
メインCPU200aは、電源投入に応じて、初期設定処理として、メインROM200bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
(ステップS100-3)
メインCPU200aは、タイマカウンタにウェイト処理時間を設定する。
(ステップS100-5)
メインCPU200aは、電源断予告信号を検出しているかを判定する。なお、主制御基板200には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100-3に処理を移し、電源断予告信号を検出していない場合には、ステップS100-7に処理を移す。
(ステップS100-7)
メインCPU200aは、上記ステップS100-3で設定したウェイト処理時間が経過したか否かを判定する。その結果、ウェイト処理時間が経過したと判定した場合にはステップS100-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100-5に処理を移す。
(ステップS100-9)
メインCPU200aは、メインRAM200cへのアクセスを許可するために必要な処理を実行する。
(ステップS100-11)
メインCPU200aは、チェックサム確認処理を実行する。ここでは、メインCPU200aは、チェックサムを算出し、算出したチェックサムが、電源断時に保存されたチェックサムと一致しない(異常である)か、ならびに、バックアップが異常であるかを判定する。そして、メインCPU200aは、バックアップおよびチェックサムのいずれか一方または双方が異常であると判定した場合、バックアップ異常フラグをオンにし、バックアップおよびチェックサムの双方が異常でないと判定した場合、バックアップ異常フラグをオフにする。
(ステップS100-13)
メインCPU200aは、バックアップ異常フラグがオンであるかを判定する。その結果、バックアップ異常フラグがオンであると判定した場合にはステップS110に処理を移し、バックアップ異常フラグがオンでないと判定した場合にはステップS120に処理を移す。
(ステップS110)
メインCPU200aは、コールドスタート処理を実行する。なお、このコールドスタート処理については後述する。
(ステップS120)
メインCPU200aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
(ステップS130)
メインCPU200aは、電源断直前の状態に戻す状態復帰処理を実行する。なお、この状態復帰処理については後述する。
図11は、主制御基板200におけるコールドスタート処理(S110)を説明するフローチャートである。
(ステップS110-1)
メインCPU200aは、メインRAM200cにおける使用領域をクリアするとともに、使用領域の異常を検出する使用領域RAMチェック処理を実行する。
(ステップS110-3)
メインCPU200aは、メインRAM200cにおける別領域(使用外領域)をクリアするとともに、別領域の異常を検出する別領域RAMチェック処理を実行する。なお、別領域RAMチェック処理において別領域に異常が検出された場合、メインCPU200aは、RAMリードライトエラーフラグをオンにする。
(ステップS110-5)
メインCPU200aは、メインRAM200cの異常を示すエラーコード「EA」をセットする。
(ステップS110-7)
メインCPU200aは、上記ステップS110-1において異常が検出されたかを判定する。その結果、上記ステップS110-1において異常が検出されたと判定した場合にはステップS112に処理を移し、上記ステップS110-1において異常が検出されていないと判定された場合にはステップS110-9に処理を移す。
(ステップS110-9)
メインCPU200aは、上記ステップS110-3において異常が検出されたときにオンになるRAMリードライトエラーフラグを取得する。
(ステップS110-11)
メインCPU200aは、RAMリードライトエラーフラグがオンであるかを判定する。その結果、RAMリードライトエラーフラグがオンであると判定した場合にはステップS112に処理を移し、RAMリードライトエラーフラグがオンでないと判定された場合にはステップS120に処理を移す。
(ステップS120)
メインCPU200aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
(ステップS110-13)
メインCPU200aは、バックアップエラーであることを示すエラーコード「E7」をセットする。
(ステップS112)
メインCPU200aは、エラーにより遊技の進行を停止させるためのエラー停止処理を実行する。なお、このエラー停止処理については後述する。
図12は、主制御基板200におけるエラー停止処理(S112)を説明するフローチャートである。
(ステップS112-1)
メインCPU200aは、スタックポインタのアドレスとして、初期スタックポインタ値をセットする。
(ステップS112-3)
メインCPU200aは、エラー表示および警告音設定を行うエラー設定処理を実行する。
(ステップS112-5)
メインCPU200aは、外部信号1~3に対応するビットの出力イメージをオフにする外部信号1~3出力ビットオフをセットする。
(ステップS112-7)
メインCPU200aは、上記ステップS112-5でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(ステップS112-9)
メインCPU200aは、永久ループに移行する。これにより、遊技の進行が停止することになる。
図13は、主制御基板200における設定値切り替え処理(S120)を説明するフローチャートである。
(ステップS120-1)
メインCPU200aは、入力ポート1の信号を取得し、取得した入力ポート1の信号に基づいて、設定値切り替え条件が成立していないかを判定する。その結果、設定値切り替え条件が成立していないと判定した場合には当該設定値切り替え処理を終了し、設定値切り替え条件が成立していると判定した場合にはステップS120-3に処理を移す。ここで、入力ポート1の信号には、前面上扉104および前面下扉106が開放されているか否かを示す信号、および、設定キーがオンにされているか否かを示す信号が含まれる。そして、ここでは、前面上扉104および前面下扉106が開放されていることを示す信号、ならびに、設定キーがオンにされていることを示す信号を取得した場合に、設定値切り替え条件が成立していると判定している。
(ステップS120-3)
メインCPU200aは、メインRAM200cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
(ステップS120-5)
メインCPU200aは、設定値切り替え時データテーブルのテーブルデータをメインRAM200cに転送するテーブル内容セット処理を実行する。
(ステップS120-7)
メインCPU200aは、設定値の変更を開始することを示す設定変更開始コマンドを送信バッファにセットする。
(ステップS120-9)
メインCPU200aは、入力ポートの信号の立ち下がりエッジ(オンエッジ)を検出するエッジチェック処理を実行する。
(ステップS120-11)
メインCPU200aは、現在の設定値を示す設定値データを取得する。
(ステップS120-13)
メインCPU200aは、上記ステップS120-9において設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS120-17に処理を移し、設定変更スイッチのオンエッジを検出したと判定した場合にはステップS120-15に処理を移す。
(ステップS120-15)
メインCPU200aは、設定値データを1インクリメントする。
(ステップS120-17)
メインCPU200aは、設定値データが、設定値として設定可能な範囲(1~6)内であるかを判定する。その結果、設定値データが範囲内であると判定した場合にはステップS120-21に処理を移し、設定値データが範囲内でないと判定した場合にはステップS120-19に処理を移す。
(ステップS120-19)
メインCPU200aは、設定値データを0にセットする。
(ステップS120-21)
メインCPU200aは、上記ステップS120-15または上記ステップS120-19でインクリメントまたはセットされた値に設定値データを更新する。
(ステップS120-23)
メインCPU200aは、設定値をメインクレジット表示部130に表示する表示データ変換処理を実行する。
(ステップS120-25)
メインCPU200aは、設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS120-31に処理を移し、設定変更スイッチのオンエッジを検出していると判定した場合にはステップS120-27に処理を移す。
(ステップS120-27)
メインCPU200aは、設定変更スイッチがオンであるかを判定する。その結果、設定変更スイッチがオンであると判定した場合にはステップS120-27に処理を移し、設定変更スイッチがオンでないと判定した場合にはステップS120-29に処理を移す。
(ステップS120-29)
メインCPU200aは、設定変更スイッチ間隔タイマをセットする。
(ステップS120-31)
メインCPU200aは、設定変更スイッチ間隔タイマが0になるまで待つタイマウェイト処理を実行する。
(ステップS120-33)
メインCPU200aは、スタートスイッチ118のオンエッジを検出していないかを判定する。その結果、スタートスイッチ118のオンエッジを検出していないと判定した場合にはステップS120-9に処理を移し、スタートスイッチ118のオンエッジを検出していると判定した場合にはステップS120-35に処理を移す。
(ステップS120-35)
メインCPU200aは、設定キーがオフであるかを判定する。その結果、設定キーがオフであると判定した場合にはステップS120-35に処理を移し、設定キーがオフでないと判定した場合にはステップS120-37に処理を移す。
(ステップS120-37)
メインCPU200aは、設定キーがオンであるかを判定する。その結果、設定キーがオンであると判定した場合にはステップS120-37に処理を移し、設定キーがオンでないと判定した場合にはステップS122に処理を移す。
(ステップS122)
メインCPU200aは、初期化スタートを開始する初期化スタート処理を実行する。なお、この初期化スタート処理については後述する。
図14は、主制御基板200における初期化スタート処理(S122)を説明するフローチャートである。
(ステップS122-1)
メインCPU200aは、設定値の変更が終了したことを示す設定変更終了コマンドを送信バッファにセットする。
(ステップS122-3)
メインCPU200aは、設定値の変更が終了したときの状態を示す設定変更状態コマンドを送信バッファにセットする。
(ステップS122-5)
メインCPU200aは、初期化スタート時ウェイトタイマをセットする。
(ステップS122-7)
メインCPU200aは、初期化スタート時ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
(ステップS122-9)
メインCPU200aは、メインRAM200cのうちの別領域をクリアする設定変更時RAMクリア処理を実行する。
(ステップS122-11)
メインCPU200aは、メインRAM200cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
(ステップS122-13)
メインCPU200aは、現在の遊技状態を示す遊技状態コマンドを送信バッファにセットする。
(ステップS200)
メインCPU200aは、遊技を開始するための遊技開始処理を実行する。なお、この遊技開始処理については後述する。
図15は、主制御基板200における状態復帰処理(S130)を説明するフローチャートである。
(ステップS130-1)
メインCPU200aは、スタックポインタを復帰させる。
(ステップS130-3)
メインCPU200aは、メインRAM200cのうちの未使用領域をクリアする未使用領域クリア処理を実行する。
(ステップS130-5)
メインCPU200aは、スタックポインタ保存バッファをクリアする。
(ステップS130-7)
メインCPU200aは、電源断復帰後フラグを設定(オン)する。
(ステップS130-9)
メインCPU200aは、入力ポートのイメージを更新するポート入力処理を実行する。
(ステップS130-11)
メインCPU200aは、上記ステップS130-9で更新された入力ポートのイメージに基づいて、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
(ステップS130-13)
メインCPU200aは、上記ステップS130-11で抽出した操作対象ビットを、前回状態の操作対象ビットとしてセットする。
(ステップS130-15)
メインCPU200aは、リール110a、110b、110cのモータフェーズを取得する。ここで、リール110a、110b、110cの状態として、モータフェーズが設定されている。モータフェーズは、リール110a、110b、110cの動作状態、すなわち、加速中、定常回転中、停止中、待機中を示す。具体的に、モータフェーズに割り当てられた1バイト(記憶単位)の変数が、そのステッピングモータ152の動作状態に応じて、加速中=3、定常回転中=2、停止中=1、待機中=0といった値に変化する。
(ステップS130-17)
メインCPU200aは、上記ステップS130-15で取得したモータフェーズに基づいて、リール110a、110b、110cのいずれもが定常回転中および加速中でないかを判定する。その結果、リール110a、110b、110cのいずれもが定常回転中および加速中でないと判定した場合にはステップS130-21に処理を移し、リール110a、110b、110cのいずれかが定常回転中または加速中であると判定した場合にはステップS130-19に処理を移す。
(ステップS130-19)
メインCPU200aは、リール110a、110b、110cのエラー検出時の設定を行う回転エラー処理を実行する。
(ステップS130-21)
メインCPU200aは、退避していたレジスタ群を復帰させる。
(ステップS130-23)
メインCPU200aは、割込みを許可し、当該状態復帰処理を終了する。これにより、メインCPU200aは、電源断直前の状態に復帰する。
図16は、主制御基板200における遊技開始処理(S200)を説明するフローチャートである。
(ステップS200-1)
メインCPU200aは、再遊技であるか否かを示す再遊技状態識別信号を出力するための再遊技状態識別信号出力設定処理を実行する。
(ステップS200-3)
メインCPU200aは、メダルの投入枚数(ベット枚数)を表示する投入枚数表示器に対応するビットをオフ(消灯)するための投入枚数表示器出力ビットオフをセットする。
(ステップS200-5)
メインCPU200aは、上記ステップS200-3でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(ステップS200-7)
メインCPU200aは、遊技開始ウェイトタイマをセットする。
(ステップS200-9)
メインCPU200aは、遊技開始ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
(ステップS200-11)
メインCPU200aは、メインRAM200cにおける使用領域のうち、1遊技毎にクリアすべき領域をクリアする1遊技RAMクリア処理を実行する。
(ステップS200-13)
メインCPU200aは、ボーナス信号を設定するボーナス信号設定処理を実行する。
(ステップS200-15)
メインCPU200aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
(ステップS210)
メインCPU200aは、メダルの投入を受け付ける遊技メダル投入処理を実行する。なお、この遊技メダル投入処理については後述する。
図17は、主制御基板200における遊技メダル投入処理(S210)を説明するフローチャートである。
(ステップS210-1)
メインCPU200aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(ステップS210-3)
メインCPU200aは、入力ポートの信号の立ち下がりエッジ(オンエッジ)を検出するエッジチェック処理を実行する。
(ステップS210-5)
メインCPU200aは、前面上扉104または前面下扉106が開放されているときに1が立つドア開放エラー検出フラグを取得する。
(ステップS210-7)
メインCPU200aは、上記ステップS210-5で取得したドア開放エラー検出フラグに基づき、前面上扉104および前面下扉106が閉鎖されているかを判定する。その結果、前面上扉104および前面下扉106が閉鎖されていると判定した場合にはステップS210-17に処理を移し、前面上扉104または前面下扉106の少なくとも一方が閉鎖されていないと判定した場合にはステップS210-9に処理を移す。
(ステップS210-9)
メインCPU200aは、前面上扉104または前面下扉106の少なくとも一方が開放されていることを示すエラーコード「E8」をセットする。
(ステップS210-11)
メインCPU200aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
(ステップS210-13)
メインCPU200aは、設定値を確認する設定値確認処理を実行する。
(ステップS210-15)
メインCPU200aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
(ステップS210-17)
メインCPU200aは、貯留(クレジット)されているメダルを払い戻すためのクレジットスイッチ(不図示)が押下されている場合に、貯留されているメダルを払い戻すクレジットボタンチェック処理を実行する。
(ステップS210-19)
メインCPU200aは、メダルをベットする遊技メダル投入ボタン関連処理を実行する。ここでは、ベットスイッチ116が押下された場合に、貯留(クレジット)されているメダルを規定数までベットするとともに、ベットした枚数分だけ貯留枚数を減算する。また、メダル投入口114aを通じてメダルが投入された場合、規定数までメダルをベットし、規定数よりも多くメダルが投入された場合、その分だけ貯留枚数に加算する。
(ステップS210-21)
メインCPU200aは、投入枚数が規定数であるかを確認する遊技メダル取得処理を実行する。
(ステップS210-23)
メインCPU200aは、上記ステップS210-21の確認結果に基づき、投入枚数が規定数でないかを判定する。その結果、投入枚数が規定数でないと判定した場合にはステップS210-1に処理を移し、投入枚数が規定数であると判定した場合にはステップS210-25に処理を移す。
(ステップS210-25)
メインCPU200aは、スタートスイッチ118の操作が有効になったか否かを示すスタート表示器(不図示)をオン(点灯)するためのスタート表示器出力ビットをセットする。
(ステップS210-27)
メインCPU200aは、スタートスイッチ118の立ち下がりエッジ(押下)を検出していなかを判定する。その結果、スタートスイッチ118の立ち下がりエッジを検出していないと判定した場合にはステップS210-1に処理を移し、スタートスイッチ118の立ち下がりエッジを検出していると判定した場合にはステップS210-29に処理を移す。
(ステップS210-29)
メインCPU200aは、メイン払出表示部132の表示をクリアするためにメイン払出表示部バッファをクリアする。
(ステップS210-31)
メインCPU200aは、再遊技状態識別信号をクリアする再遊技状態識別信号クリア処理を実行する。
(ステップS210-33)
メインCPU200aは、スタート表示器をオフ(消灯)するためのブロッカー閉塞前処理を実行する。
(ステップS210-35)
メインCPU200aは、スタートスイッチ118が押下されたことを示すレバー押下コマンドを送信バッファにセットする。
(ステップS220)
メインCPU200aは、当選種別抽選を行う内部抽選処理を実行する。なお、この内部抽選処理については後述する。
図18は、主制御基板200における内部抽選処理(S220)を説明するフローチャートである。
(ステップS220-1)
メインCPU200aは、設定値データを取得する。
(ステップS220-3)
メインCPU200aは、設定値異常エラーを示すエラーコード「EC」をセットする。
(ステップS220-5)
メインCPU200aは、上記ステップS220-1で取得した設定値データが異常であるかを判定する。その結果、設定値データが異常であると判定した場合にはステップS112に処理を移し、設定値データが異常でないと判定した場合にはステップS220-7に処理を移す。
(ステップS220-7)
メインCPU200aは、乱数発生器200dによって更新された当選種別抽選乱数を取得する。
(ステップS220-9)
メインCPU200aは、遊技状態に係るオフセット値を取得する状態オフセット取得処理を実行する。
(ステップS220-11)
メインCPU200aは、内部抽選エリア定義テーブル(当選種別抽選テーブル)のアドレスをセットする。
(ステップS220-13)
メインCPU200aは、上記ステップS220-11でセットしたアドレスに対して、上記ステップS220-9で取得したオフセット値を加算したアドレスに示される値を当選領域の初期値としてセットする。ここでは、現在の遊技状態の当選種別抽選テーブルにおける最初の当選領域が初期値としてセットされることになる。
(ステップS220-15)
メインCPU200aは、その当選領域の当選範囲を示す数値である抽選データを取得するとともに、当選領域を1ずらす抽選データ取得処理を実行する。
(ステップS220-17)
メインCPU200aは、当選種別抽選を行わないかを判定する。その結果、当選種別抽選を行わないと判定した場合にはステップS220-21に処理を移し、当選種別抽選を行うと判定した場合にはステップS220-19に処理を移す。
(ステップS220-19)
メインCPU200aは、乱数値から抽選データを減算する。
(ステップS220-21)
メインCPU200aは、上記ステップS220-19の減算結果が負であるか、すなわち、当選種別抽選によって、その当選領域に当選しているかを判定する。その結果、当選種別抽選に当選していると判定した場合にはステップS230に処理を移し、当選種別抽選に当選していないと判定した場合にはステップS220-23に処理を移す。
(ステップS220-23)
メインCPU200aは、当選種別抽選が終了でないかを判定する。その結果、当選種別抽選が終了でないと判定した場合にはステップS220-15に処理を移し、当選種別抽選が終了であると判定した場合にはステップS220-25に処理を移す。
(ステップS220-25)
メインCPU200aは、トリガー役種別をクリアする。
(ステップS230)
メインCPU200aは、当選領域および遊技状態に基づいて、図柄コードを設定する図柄コード設定処理を実行する。なお、この図柄コード設定処理については後述する。
図19は、主制御基板200における図柄コード設定処理(S230)を説明するフローチャートである。
(ステップS230-1)
メインCPU200aは、上記ステップS220で当選した当選領域を取得し、取得した当選領域にボーナス役が含まれる場合には遊技状態を内部中遊技状態に設定する遊技状態設定処理を実行する。
(ステップS230-3)
メインCPU200aは、上記ステップS230-1で取得した当選領域を停止制御番号として設定する。
(ステップS230-5)
メインCPU200aは、上記ステップS230-1で取得した当選領域に基づいて、当選種別を決定(設定)する。なお、決定された当選種別によって、メインCPU200aは、疑似遊技実行フラグをオンにすることがある。なお、疑似遊技実行フラグは、オンのときには疑似遊技を実行することを示し、オフのときには疑似遊技を実行しないことを示す。
(ステップS230-7)
メインCPU200aは、上記ステップS230-3で設定した停止制御番号に基づいて、表示可能な図柄、および、引き込み対象の図柄を示す図柄コードを設定する図柄コード初期設定処理を実行する。
(ステップS230-9)
メインCPU200aは、表示図柄ビットを設定する表示図柄ビット初期値設定処理を実行する。
(ステップS231)
メインCPU200aは、実行フラグの設定、演出状態に関する各種処理、補助演出に関する処理等を行う実行フラグ設定処理を実行する。なお、この実行フラグ設定処理については後述する。
(ステップS230-13)
メインCPU200aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする。
(ステップS230-15)
メインCPU200aは、当選種別を示す当選情報コマンドを送信バッファにセットする。
(ステップS230-17)
メインCPU200aは、1遊技間タイマを確認する。
(ステップS230-19)
メインCPU200aは、リール110a、110b、110cが回転前であることを示す回胴回転前コマンドを送信バッファにセットする。
(ステップS230-21)
メインCPU200aは、ステッピングモータ152の励磁解放を待つ励磁解放待ち処理を実行する。
(ステップS236)
メインCPU200aは、疑似遊技を実行する回胴演出処理を実行する。具体的に、ストップスイッチ120a、120b、120cの操作に応じて、各リール110a、110b、110cにおける所定の図柄(例えば、ボーナス役を構成する図柄)を、自動的に仮停止制御し、全てのリール110a、110b、110cが仮停止したら、もしくは、仮停止終了後にランダム遅延処理を通じて回転開始したら、疑似遊技実行フラグをオフする。
(ステップS230-23)
メインCPU200aは、1遊技間タイマが0でないかを判定する。その結果、1遊技間タイマが0でないと判定した場合にはステップS230-23に処理を移し、1遊技間タイマが0であると判定した場合にはステップS230-25に処理を移す。
(ステップS230-25)
メインCPU200aは、リール110a、110b、110cの回転を開始させるための回胴開始処理を実行する。ここでは、リール110a、110b、110cのモータフェーズを加速中に設定して各リールの回転を開始させたり、1遊技間タイマを4.1秒に相当する値にセットしたりする。
(ステップS230-27)
メインCPU200aは、リール110a、110b、110cの回転が開始したことを示す回胴開始コマンドを送信バッファにセットする。
(ステップS240)
メインCPU200aは、リール110a、110b、110cの回転中の処理である回胴回転中処理を実行する。なお、この回胴回転中処理については後述する。
図20は、主制御基板200における実行フラグ設定処理(S231)を説明するフローチャートである。
(ステップS231-1)
メインCPU200aは、次回ATフラグに基づいて演出状態を更新する(移行させる)AT状態更新処理を実行する。なお、次回ATフラグは、次遊技において設定する演出状態を示すものであり、下記の処理で設定されることになる。
(ステップS232~ステップS235)
メインCPU200aは、演出状態、遊技区間ごとのモジュールを実行する状態別モジュール実行処理を実行し、当該実行フラグ設定処理を終了する。なお、状態別モジュール実行処理では、移行されている演出状態、遊技区間に対応するモジュール(処理)がメインROM200bから読み出されて実行される。以下では、本実施形態の特徴に関係するモジュールについて詳細に説明し、本実施形態の特徴と無関係のモジュールについては説明を省略する。
図21は、状態別モジュール実行処理で実行される非有利区間処理(S232)を説明するフローチャートである。非有利区間処理は、遊技区間が非有利区間であるときに実行される。
(ステップS232-1)
メインCPU200aは、有利区間抽選を行う。
(ステップS232-3)
メインCPU200aは、上記ステップS232-1において有利区間抽選に当選したかを判定する。その結果、有利区間抽選に当選したと判定した場合にはステップS232-5に処理を移し、有利区間抽選に当選していないと判定した場合には当該非有利区間処理を終了する。
(ステップS232-5)
メインCPU200aは、有利区間であることを示す有利区間フラグをオンにし、当該非有利区間処理を終了する。これにより、後述するステップS280-7の有利区間更新処理において、有利区間に移行される。
図22は、状態別モジュール実行処理で実行される通常演出状態処理(S233)を説明するフローチャートである。通常演出状態処理は、演出状態が通常演出状態であるときに実行される。
(ステップS233-1)
メインCPU200aは、継続遊技数をカウントするための継続遊技数カウンタを1インクリメントする。なお、継続遊技数カウンタは、下記のCZ演出状態処理、および、引戻演出状態であるときに実行される不図示の引戻演出状態処理でも、1遊技毎に1インクリメントされる。また、継続遊技数カウンタは、OP演出状態または特別特化ゾーン演出状態に移行される際にリセットされる。
(ステップS233-3)
メインCPU200aは、所定の当選種別の当選時に、リール演出の実行可否を抽選により決定するリール演出抽選処理を実行する。
(ステップS233-5)
メインCPU200aは、継続遊技数カウンタの値が天井遊技数以上であるかを判定する。その結果、継続遊技数カウンタの値が天井遊技数以上であると判定した場合にはステップS233-7に処理を移し、継続遊技数カウンタの値が天井遊技数以上でないと判定した場合にはステップS233-9に処理を移す。
(ステップS233-7)
メインCPU200aは、次回ATフラグを特別特化ゾーン演出状態に対応する値に設定し、ステップS233-15に処理を移す。
(ステップS233-9)
メインCPU200aは、当選種別抽選により決定された当選種別に基づきCZ抽選を行う。
(ステップS233-11)
メインCPU200aは、上記ステップS233-9においてCZ抽選に当選したかを判定する。その結果、CZ抽選に当選したと判定した場合にはステップS233-13に処理を移し、CZ抽選に当選していないと判定した場合にはステップS233-15に処理を移す。
(ステップS233-13)
メインCPU200aは、次回ATフラグをCZ演出状態に対応する値に設定する。
(ステップS233-15)
メインCPU200aは、上記ステップS233-3においてリール演出の実行が決定されたかを判定する。その結果、リール演出に当選していたと判定した場合にはステップS233-17に処理を移し、リール演出に当選していないと判定した場合には当該通常演出状態処理を終了する。
(ステップS233-17)
メインCPU200aは、上記ステップS233-3において決定されたリール演出を実行し、当該通常演出状態処理を終了する。
図23は、状態別モジュール実行処理で実行されるCZ演出状態処理(S234)を説明するフローチャートである。CZ演出状態処理は、演出状態がCZ演出状態処理であるときに実行される。なお、CZ演出状態処理における各処理のうち、通常演出状態処理と同一の処理に同一の符号を付し、その説明は省略する。
(ステップS234-1)
メインCPU200aは、当選種別抽選により決定された当選種別に基づきAT抽選を行う。
(ステップS234-3)
メインCPU200aは、上記ステップS234-1においてAT抽選に当選したかを判定する。その結果、AT抽選に当選したと判定した場合にはステップS234-5に処理を移し、AT抽選に当選していないと判定した場合にはステップS234-7に処理を移す。
(ステップS234-5)
メインCPU200aは、次回ATフラグをOP演出状態に対応する値に設定し、ステップS233-15に処理を移す。
(ステップS234-7)
メインCPU200aは、CZ演出状態の最終遊技であるかを判定する。その結果、CZ演出状態の最終遊技であると判定した場合にはステップS234-9に処理を移し、CZ演出状態の最終遊技でないと判定した場合にはステップS233-15に処理を移す。
(ステップS234-9)
メインCPU200aは、次回ATフラグを通常演出状態に対応する値に設定する。
図24は、状態別モジュール実行処理で実行される非有利待機演出状態処理および有利待機演出状態処理(S235)を説明するフローチャートである。非有利演出状態処理および有利待機演出状態処理は、演出状態が非有利演出状態または有利待機演出状態であるときに実行される。
(ステップS235-1)
メインCPU200aは、継続フラグがオンであるかを判定する。なお、継続フラグは、通常AT演出状態への移行(継続)が決定されている場合にオンとなる。その結果、継続フラグがオンしていると判定した場合にはステップS235-9に処理を移し、継続フラグがオンしていないと判定した場合にはステップS235-3に処理を移す。
(ステップS235-3)
メインCPU200aは継続抽選テーブル(不図示)を参照して継続抽選を行う。
(ステップS235-5)
メインCPU200aは、継続抽選に当選したかを判定する。その結果、継続抽選に当選したと判定した場合にはステップS235-7に処理を移し、継続抽選に当選していないと判定した場合にはステップS235-9に処理を移す。
(ステップS235-7)
メインCPU200aは、継続フラグをオンにする。
(ステップS235-9)
メインCPU200aは、非有利待機演出状態の最終遊技(2遊技目)であるかを判定する。その結果、最終遊技であると判定した場合にはステップS235-11に処理を移し、最終遊技でないと判定した場合には当該非有利待機演出状態処理を終了する。
(ステップS235-11)
メインCPU200aは、次回ATフラグを継続演出状態に対応する値に設定し、当該非有利待機演出状態処理または有利待機演出状態を終了する。
図25は、主制御基板200における回胴回転中処理(S240)を説明するフローチャートである。
(ステップS240-1)
メインCPU200aは、ストップスイッチ120a、120b、120cの表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。ここで、停止表示器出力ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ120a、120b、120cの発光色に対応付けられており、青色=1、赤色=0で表される。
(ステップS240-3)
メインCPU200aは、上記ステップS240-1でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(ステップS240-5)
メインCPU200aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(ステップS240-7)
メインCPU200aは、インデックスフラグを参照し、回転しているリール110a、110b、110cのインデックスを取得する。なお、インデックスフラグは、リール110a、110b、110cが定常回転速度に到達した後にしか立たないので、換言すれば、インデックスフラグが立っているということは、リール110a、110b、110cが定常回転速度に到達していることも示すこととなる。
(ステップS240-9)
メインCPU200aは、リール110a、110b、110c全てのインデックスフラグを検出済みでないかを判定する。その結果、全てのインデックスフラグを検出済みでないと判定した場合にはステップS240-1に処理を移し、全てのインデックスフラグを検出済みであると判定した場合にはステップS240-11に処理を移す。
(ステップS240-11)
メインCPU200aは、停止または停止開始しているリール110a、110b、110cを示す停止回胴ビットを取得する。ここで、停止回胴ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのリール110a、110b、110cのいずれかに対応付けられており、定常状態=1、加速状態、減速状態または停止状態=0で表される。
(ステップS240-13)
メインCPU200aは、上記ステップS240-11で取得した停止回胴ビットを回胴回転中フラグとして保存する。
(ステップS240-15)
メインCPU200aは、ストップスイッチ120a、120b、120cの表示器(不図示)に対応するビットをオン(消灯)するために停止表示器出力ビットオン(出力イメージ)をセットする。
(ステップS240-17)
メインCPU200aは、入力ポート0のイメージを取得し、取得したイメージから、操作対象ビットを抽出する操作対象ビット抽出処理を実行する。ここで、操作対象ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ120a、120b、120cのいずれかに対応付けられており、操作されている=1、操作されていない=0で表される。
(ステップS240-19)
メインCPU200aは、上記ステップS240-13で取得した回胴回転中フラグと、上記ステップS240-17で抽出した操作対象ビットとの論理積を演算する。ここで、リール110が回転中であり、かつ、そのリールに対応するストップスイッチ120が操作されていれば、すなわち、操作したストップスイッチ120が有効に回転しているリール110に対応していれば、論理積は1となる。
(ステップS240-21)
メインCPU200aは、上記ステップS240-19で演算した論理積が0である、すなわち、回転しているリール110に対応したストップスイッチ120が操作されていないかを判定する。その結果、回転しているリール110に対応したストップスイッチ120が操作されていないと判定した場合にはステップS240-3に処理を移し、回転しているリール110に対応したストップスイッチ120が操作されていると判定した場合にはステップS240-23に処理を移す。
(ステップS240-23)
メインCPU200aは、停止表示器出力ビットが含まれる出力イメージを取得し、取得した出力イメージと、上記ステップS240-19で演算した論理積との論理積を演算する。ここでは、操作されたストップスイッチ120が、赤色点灯中である場合に論理積のビットが0となり、青色点灯中である場合に論理積のビットが1となる。
(ステップS240-25)
メインCPU200aは、上記ステップS240-23で演算した論理積が0であるか、すなわち、操作されたストップスイッチ120が赤色点灯中であるかを判定する。その結果、操作されたストップスイッチ120が赤色点灯中であると判定した場合にはステップS240-1に処理を移し、操作されたストップスイッチ120が赤色点灯中でないと判定した場合にはステップS240-27に処理を移す。
(ステップS240-27)
メインCPU200aは、操作されたストップスイッチ120が有効でないかを判定する。その結果、操作されたストップスイッチ120が有効でないと判定した場合にはステップS240-1に処理を移し、操作されたストップスイッチ120が有効であると判定した場合にはステップS240-29に処理を移す。なお、ここでは、操作されたストップスイッチ120が1つであるか否かを判定している。そして、操作されたストップスイッチ120が1つであると判定した場合にはステップS240-29に処理を移し、操作されたストップスイッチ120が1つでない、すなわち、2つ以上であると判定した場合にはステップS240-1に処理を移す。
(ステップS240-29)
メインCPU200aは、操作されたストップスイッチ120に対応するリール110を停止させるための各種パラメータを取得する停止制御回胴設定処理を実行する。
(ステップS240-31)
メインCPU200aは、割込みを禁止する。
(ステップS240-33)
メインCPU200aは、有効ラインA上に位置する図柄の図柄番号を押下基準位置として導出する押下基準位置取得処理を実行する。
(ステップS240-35)
メインCPU200aは、リール110の滑りコマ数を決定する滑りコマ数取得処理を実行する。
(ステップS250)
メインCPU200aは、操作されたストップスイッチ120に対応するリール110を停止させる回胴停止処理を実行する。なお、この回胴停止処理については後述する。
図26は、主制御基板200における回胴停止処理(S250)を説明するフローチャートである。
(ステップS250-1)
メインCPU200aは、上記ステップS240-35で導出した押下基準位置を取得する。
(ステップS250-3)
メインCPU200aは、上記ステップS250-1で取得した押下基準位置に対して、上記ステップS240-37で決定した滑りコマ数を補正することにより、停止要求番号を算定する。
(ステップS250-5)
メインCPU200aは、停止要求フラグを設定する(1にする)。停止要求フラグは、並行して動作するプログラムに対し、対象となるリール110の停止処理を要求するためのフラグであり、停止要求フラグを1とすることで、停止要求番号に対応する図柄を有効ラインA上に停止することが可能となる。かかる停止要求フラグおよび上記の停止要求番号は、並行して動作するプログラムにより読み出され、リール110の停止処理が行われる。なお、停止処理が完了すると、そのプログラムによって、停止要求フラグは0(OFF)にリセットされる。
(ステップS250-7)
メインCPU200aは、割込みを許可する。
(ステップS250-9)
メインCPU200aは、リール110の停止順序を示す停止情報コマンドを送信バッファにセットする。
(ステップS250-11)
メインCPU200aは、ストップスイッチ120の表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。
(ステップS250-13)
メインCPU200aは、上記ステップS250-11でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(ステップS250-15)
メインCPU200aは、表示図柄ビットを設定する表示図柄ビット設定処理を実行する。
(ステップS250-17)
メインCPU200aは、次のリール110を停止させるための次回胴設定前処理を実行する。
(ステップS250-19)
メインCPU200aは、全てのリール110の停止処理が終了済みでないかを判定する。その結果、全てのリール110の停止処理が終了済みでないと判定した場合にはステップS240に処理を移し、全てのリール110の停止処理が終了済みであると判定した場合にはステップS250-21に処理を移す。
(ステップS250-21)
メインCPU200aは、いずれかのリール110について停止要求フラグがオンである、すなわち、全てのリール110が停止済みでないかを判定する。その結果、全てのリール110が停止済みでないと判定した場合にはステップS250-21に処理を移し、全てのリール110が停止済みであると判定した場合にはステップS250-23に処理を移す。
(ステップS250-23)
メインCPU200aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(ステップS250-25)
メインCPU200aは、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
(ステップS250-27)
メインCPU200aは、上記ステップS250-25で取得した操作対象ビットに基づいて、ストップスイッチ120が押下されているかを判定する。その結果、ストップスイッチ120が押下されていると判定した場合にはステップS250-23に処理を移し、ストップスイッチ120が押下されていないと判定した場合にはステップS260に処理を移す。
(ステップS260)
メインCPU200aは、入賞した当選役を判定する表示判定処理を実行する。なお、この表示判定処理については後述する。
図27は、主制御基板200における表示判定処理(S260)を説明するフローチャートである。
(ステップS260-1)
メインCPU200aは、メイン払出表示部132のバッファをクリアする。
(ステップS260-3)
メインCPU200aは、有効ラインA上に表示された図柄組み合わせと、有効ラインA上に表示許可された図柄組み合わせとが一致するか否かによって、表示判定異常が発生しているかを判定する表示判定異常検出処理を実行する。
(ステップS260-5)
メインCPU200aは、表示判定異常(エラー)であることを示すエラーコード「EE」をセットする。
(ステップS260-7)
メインCPU200aは、上記ステップS260-3の判定結果に基づき、表示判定異常であるかを判定する。その結果、表示判定異常であると判定した場合にはステップS112に処理を移し、表示判定異常でないと判定した場合にはステップS260-9に処理を移す。
(ステップS260-9)
メインCPU200aは、有効ラインA上に停止(表示)された図柄組み合わせに基づいて、入賞した当選役を決定する表示図柄識別生成処理を実行する。
(ステップS260-11)
メインCPU200aは、払出枚数の初期値として0をセットする。
(ステップS260-13)
メインCPU200aは、小役が入賞したかを判定する。その結果、小役が入賞したと判定した場合にはステップS260-15に処理を移し、小役が入賞していないと判定した場合にはステップS260-35に処理を移す。
(ステップS260-15)
メインCPU200aは、小役が入賞したことを示す入賞フラグをオンにする。
(ステップS260-17)
メインCPU200aは、入賞した小役に応じた払出枚数を設定する払出枚数設定処理を実行する。
(ステップS260-19)
メインCPU200aは、有利区間でないかを判定する。その結果、有利区間でないと判定した場合にはステップS270に処理を移し、有利区間であると判定した場合にはステップS260-21に処理を移す。
(ステップS260-21)
メインCPU200aは、有利区間中の純増枚数をカウントする有利区間MYカウンタの値を取得する。
(ステップS260-23)
メインCPU200aは、上記ステップS260-23で取得した有利区間MYカウンタの値に払出枚数を加算する。
(ステップS260-25)
メインCPU200aは、当該遊技の投入枚数を取得する。
(ステップS260-27)
メインCPU200aは、上記ステップS260-23で加算した値から投入枚数を減算する。
(ステップS260-29)
メインCPU200aは、上記ステップS260-27の減算結果が負でないかを判定する。その結果、減算結果が負でないと判定した場合にはステップS260-33に処理を移し、減算結果が負であると判定した場合にはステップS260-31に処理を移す。
(ステップS260-31)
メインCPU200aは、有利区間MYカウンタの値をクリアする(0にする)。
(ステップS260-33)
メインCPU200aは、上記ステップS260-27で減算した値、または、上記ステップS260-31でクリアした値に、有利区間MYカウンタの値を更新する。
(ステップS260-35)
メインCPU200aは、リプレイ役が入賞していなかを判定する。その結果、リプレイ役が入賞していないと判定した場合にはステップS270に処理を移し、リプレイ役が入賞していると判定した場合にはステップS260-37に処理を移す。
(ステップS260-37)
メインCPU200aは、払出枚数に投入枚数をセットする。
(ステップS260-39)
メインCPU200aは、再遊技作動中フラグをオンにする。
(ステップS260-41)
メインCPU200aは、自動投入枚数をセットする。
(ステップS270)
メインCPU200aは、メダルを払い出す払出処理を実行する。なお、この払出処理については後述する。
図28は、主制御基板200における払出処理(S270)を説明するフローチャートである。
(ステップS270-1)
メインCPU200aは、再遊技作動中フラグを取得する。
(ステップS270-3)
メインCPU200aは、メダルの払い出しが開始されたことを示す払出開始コマンドを送信バッファにセットする。
(ステップS270-5)
メインCPU200aは、上記ステップS270-1で取得した再遊技作動中フラグに基づいて、リプレイ役が入賞したかを判定する。その結果、リプレイ役が入賞したと判定した場合にはステップS270-41に処理を移し、リプレイ役が入賞していないと判定した場合にはステップS270-7に処理を移す。
(ステップS270-7)
メインCPU200aは、メイン払出表示部132に0を表示するためのメイン表示器表示処理を実行する。
(ステップS270-9)
メインCPU200aは、払い出しがない(払出枚数が0枚)を判定する。その結果、払い出しがないと判定した場合にはステップS270-35に処理を移し、払い出しがあると判定した場合にはステップS270-11に処理を移す。
(ステップS270-11)
メインCPU200aは、貯留枚数が50枚以上であるかを判定する。その結果、貯留枚数が50枚以上であると判定した場合にはステップS270-13に処理を移し、貯留枚数が50枚以上でないと判定した場合にはステップS270-15に処理を移す。
(ステップS270-13)
メインCPU200aは、メダル払出装置142からメダルを1枚払い出させるメダル払出装置制御処理を実行し、ステップS270-23に処理を移す。
(ステップS270-15)
メインCPU200aは、払出開始間隔タイマをセットする。
(ステップS270-17)
メインCPU200aは、払出開始タイマが0でない、すなわち、初回払出時であるかを判定する。その結果、初回払出時であると判定した場合にはステップS270-21に処理を移し、初回払出時でないと判定した場合にはステップS270-19に処理を移す。
(ステップS270-19)
メインCPU200aは、払出開始間隔タイマが0になるまで待つタイマウェイト処理を実行する。
(ステップS270-21)
メインCPU200aは、貯留枚数を1インクリメントする。
(ステップS270-23)
メインCPU200aは、1枚のメダルが払い出されたことを示す払出実行コマンドを送信バッファにセットする。
(ステップS270-25)
メインCPU200aは、既に払い出された払出枚数をメイン払出表示部132に表示するためのメイン表示器表示前処理を実行する。
(ステップS270-27)
メインCPU200aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS270-31に処理を移し、ボーナス遊技状態であると判定した場合にはステップS270-29に処理を移す。
(ステップS270-29)
メインCPU200aは、ボーナス遊技状態において払い出されたメダルの枚数であるボーナス作動中獲得枚数を1インクリメントする。
(ステップS270-31)
メインCPU200aは、払出枚数のメダルの払い出しが終了していないかを判定する。その結果、払い出しが終了していないと判定した場合にはステップS270-11に処理を移し、払い出しが終了していると判定した場合にはステップS270-33に処理を移す。
(ステップS270-33)
メインCPU200aは、メダルの払い出しを終了するための払出終了処理を実行する。
(ステップS270-35)
メインCPU200aは、オーバーエラーが検出されていないかを判定する。その結果、オーバーエラーが検出されていないと判定した場合にはステップS270-41に処理を移し、オーバーエラーが検出されていると判定した場合にはステップS270-37に処理を移す。
(ステップS270-37)
メインCPU200aは、オーバーエラーを示すエラーコード「E5」をセットする。
(ステップS270-39)
メインCPU200aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
(ステップS270-41)
メインCPU200aは、メダルの払い出しが終了したことを示す払出終了コマンドを送信バッファにセットする。
(ステップS280)
メインCPU200aは、遊技状態の移行、有利区間を管理する処理等を行う遊技移行処理を実行する。なお、この遊技移行処理については後述する。
図29は、主制御基板200における遊技移行処理(S280)を説明するフローチャートである。
(ステップS280-1)
メインCPU200aは、再遊技作動中フラグを取得し、取得した再遊技作動中フラグに基づいて、次遊技が再遊技であることを示すリプレイ表示器(不図示)に対応するビットをオンまたはオフするために停止表示器出力ビットオフ(出力イメージ)をセットし、セットした出力イメージの出力ビットを更新するリプレイ表示器制御処理を実行する。
(ステップS280-3)
メインCPU200aは、ボーナス役が入賞した場合に、ボーナス遊技状態を制御するための各種パラメータを設定する役物作動図柄表示処理を実行する。
(ステップS281)
メインCPU200aは、演出状態、区間状態ごとのモジュールを実行する状態別モジュール実行処理を実行する。なお、状態別モジュール実行処理では、移行されている演出状態に対応するモジュール(処理)がメインROM200bから読み出されて実行される。以下では、本実施形態の特徴に関係するモジュールについて詳細に説明し、本実施形態の特徴と無関係のモジュールについては説明を省略する。
(ステップS280-5)
メインCPU200aは、ボーナス遊技状態において、ボーナス作動中獲得枚数が所定枚数に到達した場合に、遊技状態を非内部遊技状態に移行させるボーナス作動終了処理を実行する。
(ステップS280-7)
メインCPU200aは、有利区間を管理する有利区間更新処理を実行する。
(ステップS280-9)
メインCPU200aは、次遊技がAT演出状態でないかを判定する。その結果、次遊技がAT演出状態でないと判定した場合にはステップS280-15に処理を移し、次遊技がAT演出状態であると判定した場合にはステップS280-11に処理を移す。
(ステップS280-11)
メインCPU200aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS280-15に処理を移し、ボーナス遊技状態であると判定した場合にはステップS280-13に処理を移す。
(ステップS280-13)
メインCPU200aは、区間表示器160を点灯させるための有利ランプフラグをオンにセットする。
(ステップS280-15)
メインCPU200aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする演出コマンド設定処理を実行する。
(ステップS280-17)
メインCPU200aは、1遊技が終了したことを示す遊技終了コマンドを送信バッファにセットする。
(ステップS280-19)
メインCPU200aは、外部信号を出力するための端子板信号出力処理を実行する。
(ステップS280-21)
メインCPU200aは、上記ステップS280-7において有利区間を終了させるときに設定される演出用ウェイトタイマが0でないかを判定する。その結果、演出用ウェイトタイマが0でないと判定した場合にはステップS280-21に処理を移し、演出用ウェイトタイマが0であると判定した場合にはステップS280-23に処理を移す。
(ステップS280-23)
メインCPU200aは、遊技状態を示す遊技状態コマンドを送信バッファにセットする。
(ステップS280-25)
メインCPU200aは、次遊技の開始を示す遊技開始コマンドを送信バッファにセットし、ステップS200に処理を移す。
図30は、状態別モジュール実行処理で実行される通常AT演出状態処理(S281)を説明するフローチャートである。通常AT演出状態処理は、演出状態が通常AT演出状態であるときに実行される。
(ステップS281-1)
メインCPU200aは、通常AT演出状態における純増枚数に基づいて、通常AT演出状態の最終遊技であるかを判定する。その結果、通常AT演出状態の最終遊技であると判定した場合にはステップS281-3に処理を移し、通常AT演出状態の最終遊技でないと判定した場合には当該通常AT演出状態処理を終了する。
(ステップS281-3)
メインCPU200aは、継続抽選テーブル(不図示)を参照して継続抽選を行う。
(ステップS281-5)
メインCPU200aは、継続抽選に当選したかを判定する。その結果、継続抽選に当選したと判定した場合にはステップS281-7に処理を移し、継続抽選に当選していないと判定した場合にはステップS281-9に処理を移す。
(ステップS281-7)
メインCPU200aは、継続フラグをオンにし、ステップS281-17に処理を移す。
(ステップS281-9)
メインCPU200aは、有利区間MYカウンタの値が400未満であるかを判定する。その結果、有利区間MYカウンタの値が400未満であると判定した場合にはステップS281-11に処理を移し、有利区間MYカウンタの値が400未満でないと判定した場合にはステップS281-15に処理を移す。
(ステップS281-11)
メインCPU200aは、有利継続抽選テーブル(不図示)を参照して有利継続抽選を行う。
(ステップS281-13)
メインCPU200aは、有利継続抽選に当選したかを判定する。その結果、有利継続抽選に当選したと判定した場合にはステップS281-17に処理を移し、有利継続抽選に当選していないと判定した場合にはステップS281-15に処理を移す。
(ステップS281-15)
メインCPU200aは、次回ATフラグを非有利待機演出状態に対応する値に設定するとともに、上記ステップS280-7において遊技区間を非有利区間に設定するためのフラグを設定し、当該通常AT演出状態処理を終了する。
(ステップS281-17)
メインCPU200aは、次回ATフラグを有利待機演出状態に対応する値に設定し、当該通常AT演出状態処理を終了する。
ステップS200からステップS280までの一連の処理を通じて1遊技が実行される。以後は、ステップS200からステップS280までを繰り返すこととなる。
次に、主制御基板200における電源断時退避処理およびタイマ割込み処理について説明する。
(主制御基板200の電源断時退避処理)
図31は、主制御基板200における電源断時退避処理を説明するフローチャートである。メインCPU200aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、割り込んで電源断時退避処理を実行する。
(ステップS300-1)
電源断予告信号が入力されると、メインCPU200aは、レジスタを退避する。
(ステップS300-3)
メインCPU200aは、電源断予告信号をチェックする。
(ステップS300-5)
メインCPU200aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-7に処理を移す。
(ステップS300-7)
メインCPU200aは、レジスタを復帰させる。
(ステップS300-9)
メインCPU200aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
(ステップS300-11)
メインCPU200aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
(ステップS300-13)
メインCPU200aは、別領域についての電源断時の退避処理を実行する。
(ステップS300-15)
メインCPU200aは、メインRAM200cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
(ステップS300-17)
メインCPU200aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
(ステップS300-19)
メインCPU200aは、上記ステップS300-17でセットしたループカウンタの値を1減算する。
(ステップS300-21)
メインCPU200aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS300-19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS1000)に移行する。
なお、実際に電源断が生じた場合には、ステップS300-19~ステップS300-21をループしている間にスロットマシン100の稼働が停止する。
(主制御基板200のタイマ割込み処理)
図32は、主制御基板200におけるタイマ割込み処理を説明するフローチャートである。主制御基板200には、所定の周期(同時回し参考例では1.49ミリ秒、以下「1.49ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、割り込んで、以下のタイマ割込み処理が実行される。
(ステップS400-1)
メインCPU200aは、レジスタを退避する。
(ステップS400-3)
メインCPU200aは、割込みフラグをクリアする。
(ステップS400-5)
メインCPU200aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(ステップS400-7)
メインCPU200aは、セットされた出力イメージを出力ポートに出力し、メインクレジット表示部130、メイン払出表示部132、投入枚数表示器、スタート表示器、ストップスイッチ120a、120b、120cの表示器、リプレイ表示器、区間表示器160を点灯制御するダイナミックポート出力処理を実行する。
(ステップS400-9)
メインCPU200aは、タイマ割込み処理用フェーズを更新する。なお、タイマ割込み処理用フェーズは、0~3のいずれかであり、ここでは、タイマ割込み処理用フェーズが0、1、2の場合には1加算され、タイマ割込み処理用フェーズが3の場合には0に変更される。
(ステップS400-11)
メインCPU200aは、送信バッファに格納されたコマンドを副制御基板202に送信するためのサブコマンド送信処理を行う。
(ステップS400-13)
メインCPU200aは、ステッピングモータ152を制御するステッピングモータ制御処理を実行する。
(ステップS400-15)
メインCPU200aは、メダル払出装置142へ出力する出力イメージを出力する出力ポートイメージ出力処理を実行する。
(ステップS400-17)
メインCPU200aは、各種乱数値を更新する乱数更新処理を実行する。
(ステップS400-19)
メインCPU200aは、エラーに対応する外部信号(外部信号4、5)を外部に出力するためにエラーを検出する不正監視処理を実行する。
(ステップS400-21)
メインCPU200aは、上記ステップS400-9で更新したタイマ割込み処理用フェーズに対応するモジュール(サブルーチン)を実行する。ここで、タイマ割込み処理用フェーズは0~3のいずれかに設定されており、タイマ割込み処理用フェーズ0~3それぞれに対応するモジュールが1つずつ設けられているため(合計4つ)、1つのモジュールは、タイマ割込み処理の4回に1回(5.96ms毎に)実行されることになる。例えば、各種タイマを減算する時間監視処理を実行するモジュールが1つのタイマ割込み処理用フェーズに対応付けられている。
(ステップS400-23)
メインCPU200aは、試験信号を外部に出力する試験信号出力処理を実行する。
(ステップS400-25)
メインCPU200aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(ステップS400-27)
メインCPU200aは、レジスタを復帰する。
(ステップS400-29)
メインCPU200aは、割込みを許可し、当該タイマ割込み処理を終了する。
<乱数発生器200d>
上述したように、主制御基板200のメインCPU200aは、乱数発生器200dから乱数値を取得し、その乱数値に基づいて様々な抽選を実行する。例えば、メインCPU200aにおける当選種別抽選手段304は、図18のステップS220-7において、乱数発生器200dから当選種別抽選のための乱数値を取得する。
乱数発生器200dは、システムクロック(外部入力を2分周したクロック)で動作し、上述したように、所定数を更新範囲として計数値を循環させて更新し、遊技での抽選に用いられる乱数値を生成する。なお、乱数発生器200dでは、更新範囲を時間に換算した更新周期毎に、循環させる計数値の初期値(更新範囲に属する値)が更新される。具体的に、乱数発生器200dは、更新周期毎に、シード値に基づいて所定の演算を行い、更新範囲に属する計数値の初期値を更新する。
メインCPU200aは、所定の時点において乱数発生器200dから計数値を抽出することで乱数値を得る。なお、乱数発生器200dは、乱数値の最大値を設定可能な乱数発生器である、例えば、16ビットの最大値を設定可能な最大値設定乱数発生器が3チャンネル準備されている。ここで、16ビットの最大値設定乱数発生器は、例えば、乱数値更新周期を32~47クロックの範囲で選択でき、最大値の更新範囲を256~65535の範囲で設定できる。
なお、乱数値の数が足りない場合、乱数発生器200dから取得した乱数値に、プログラム内において所定の演算を行うことで他の乱数値を生成することも可能である。
ここで、図32に示したタイマ割込み処理S400における乱数更新処理S400-17について説明する。かかる乱数更新処理S400-17において、メインCPU200aは、3チャンネル分の16ビットの乱数値を更新する。具体的に、メインRAM200cには、16ビット(2バイト)の乱数格納バッファが3つ設けられている。メインCPU200aは、乱数発生器200dの所定の1チャンネルから16ビットの乱数値を取得し、取得した16ビットの乱数値と、それに対応する16ビットの乱数格納バッファの値とを加算して、加算結果を、その乱数格納バッファに上書きする。このような処理を3チャンネル分繰り返す。こうして、16ビットの乱数値が3つ分更新される。
そして、メインCPU200aは、16ビットの3つの乱数格納バッファからそれぞれ乱数値を抽出する。このとき、メインCPU200aは、抽出した乱数値を16ビットの乱数値として利用してもよいし、上位8ビットと下位8ビットに区分し、8ビットの乱数値2つとして利用してもよい。例えば、16ビットの乱数値として利用する場合、メインCPU200aは、3チャンネルの乱数格納バッファのいずれであるかを特定するポインタ(乱数取得用ポインタ)を0~2まで1ずつインクリメントし、乱数取得用ポインタが示す乱数格納バッファに保持された16ビットの乱数値を取得する。また、8ビットの乱数値として利用する場合、8ビットの乱数値が3チャンネル分で合計6つとなるので、メインCPU200aは、乱数取得用ポインタを0から5まで1ずつインクリメントし、乱数取得用ポインタが示す乱数格納バッファに保持された8ビットの乱数値を取得する。
このように、メインCPU200aでは、所定の抽選に必要な分だけ、1回のタイマ割込み処理S400内で、乱数格納バッファから乱数値を取り出す。ただし、公平性の観点から、1度取り出した乱数値は再び利用しないようにする。ここで、8ビットの乱数値が6つまでなら乱数格納バッファから乱数値を取り出せばよいが、8ビットの乱数値が7つ以上必要となると、乱数値を再取得するか、次のタイマ割込み処理S400まで待たなければならない。
例えば、抽選の回数が決まっており、その回数が6回以内であれば、8ビットの乱数値が6つあれば足りるので、乱数値の再取得を要さない。しかし、ループ抽選、例えば、スタートスイッチ118の操作に応じ、所定の当選確率で当選し続ける限り、不当選となるまで繰り返し抽選を行う場合、必要な乱数値の数が定まらない。そうすると、ループ抽選の数や、ループ抽選での当選確率によっては、8ビットの乱数値が一度に7つ以上必要となる場合がある。
ただし、一度、乱数発生器200dから乱数値を抽出した直後に乱数値を抽出すると、均等な確率で乱数値を取得できない。したがって、公平性を担保する目的から、一度、乱数発生器200dから16ビットの乱数値を3チャンネル分抽出すると、次に、同一のチャンネルから乱数値を抽出するためには、乱数発生器200dに、少なくとも、乱数値が取り得る最大値(更新範囲)の分だけ計数させ(計数値を更新周期分循環させ)、少なくとも1回は、更新範囲に属する計数値の初期値を更新する必要がある。例えば、16ビットで最大値1023を計数する乱数値であれば、メインCPU200aは、前回乱数値を取得した後、少なくとも、1024/12000000=8.53μsecだけ待ってから乱数値を取得しなければならない。そこで、メインCPU200aは、乱数発生器200dから、一度、乱数値を取得した後、再度、乱数値の取得が必要となると、その間に、プログラムを単純にループさせて処理待ちを行う。具体的に、メインCPU200aは、1サイクルを費やすコマンド「NOP」や、何らメモリやレジスタに影響を及ぼさない他のダミーコマンドを、コマンド「DJNZ」等のジャンプコマンドを用いて所定回数ループさせる更新時間待ち処理を行い、その合計サイクルを乱数値が取り得る最大値分の計数時間以上の時間とする。そして、所定の待ち時間が経過すると、メインCPU200aは、乱数発生器200dから、再度、乱数値を取得する。
しかし、このような待ち時間のため、単に、プログラムをループさせるコマンド「NOP」やコマンド「DJNZ」を別途記述すると、容量が限られているメインROM200bの使用領域の一部を占有してしまい、他の処理に容量を割けなくなってしまう。また、かかる待ち時間は、他の処理の進行を止めて行われるので、プログラムに割り当てられた処理時間の一部を無駄に費やしてしまい、他の処理に時間を割けなくなってしまう。そこで、本実施形態では、乱数発生器200dから乱数値を取得する場合に、乱数発生器200dにおいて計数値を更新周期分循環させる時間に相当する時間以上の時間を、乱数値の取得に関する特定処理で消費することを、別途新たにプログラムを記述することなく実現する。ここで、乱数値の取得に関する特定処理とは、乱数値を取得するための準備処理、および、取得した乱数値に基づいて実行される抽選処理等を含む。
図33は、乱数取得処理および特定処理のタイミングを説明するためのタイミングチャートである。ここで、メインCPU200aは、図33(a)に示したように、乱数発生器200dから16ビットの乱数値を取得する乱数取得処理500aを行う。また、メインCPU200aは、図33(a)に示したように、乱数取得処理500aを実行する前に、乱数値の取得に関する特定処理502を実行する。なお、特定処理502と乱数取得処理500aとの間で他の処理を実行することは可能であるが、乱数値の取得は行わない。
ここでは、乱数取得処理500aを実行する前に乱数値の取得に関する特定処理502を実行する。また、特定処理502を実行する時間(所定時間)は、乱数発生器200dで循環させる計数値の初期値(更新範囲に属する値)が更新される更新周期以上の時間を要するように構成する。したがって、図33(a)に示すように、仮に、特定処理502の前に他の乱数取得処理500bが実行されていたとしても(前回の乱数取得タイミングに拘わらず)、前回の乱数取得処理500bと今回の乱数取得処理500aとの間に特定処理502が実行されるので、図33(a)において両矢印で示したように、前回の乱数取得処理500bから今回の乱数取得処理500aまでの時間は、特定処理502を実行する時間以上、ひいては、計数値を更新周期分循環させる時間以上となり、少なくとも1回は、更新範囲に属する計数値の初期値が更新される(初期値の更新を跨ぐことになる)。こうして、メインCPU200aは、乱数値を正常に取得しつつ、公平性を保つことが可能となる。なお、ここでは、既に、特定処理502を実行する時間が更新周期以上となっているので、乱数取得処理500bと特定処理502との間に他の処理が含まれていたとしても、計数値を更新周期分循環させる時間は確保される。また、単にプログラムをループさせる更新時間待ち処理の代わりに、乱数値の取得に関する特定処理502を記述しているため、更新時間待ちするための不要な記述によりメインROM200bの使用領域の一部を占有することもない。
また、メインCPU200aは、図33(b)に示したように、乱数発生器200dから16ビットの乱数値を取得する乱数取得処理500aを行った後に、乱数値の取得に関する特定処理502を実行するとしてもよい。ここでも、乱数取得処理500aと特定処理502との間で他の処理を実行可能であるが、乱数値の取得は行わない。
ここでは、乱数取得処理500aを実行した後に乱数値の取得に関する特定処理502を実行する。また、図33(a)同様、特定処理502を実行する時間は、乱数発生器200dで循環させる計数値の初期値(更新範囲に属する値)が更新される更新周期以上の時間を要するように構成する。したがって、図33(b)に示すように、仮に、特定処理502の後に他の乱数取得処理500bが実行されたとしても(次回の乱数取得タイミングに拘わらず)、今回の乱数取得処理500aと次回の乱数取得処理500bとの間に特定処理502が実行されるので、図33(b)において両矢印で示したように、今回の乱数取得処理500aから次回の乱数取得処理500bまでの時間は、特定処理502を実行する時間以上、ひいては、計数値を更新周期分循環させる時間以上となり、少なくとも1回は、更新範囲に属する計数値の初期値が更新される(初期値の更新を跨ぐことになる)。こうして、メインCPU200aは、次回の乱数取得処理500bにおいて、乱数値を正常に取得しつつ、公平性を保つことが可能となる。なお、ここでは、既に、特定処理502を実行する時間が更新周期以上となっているので、特定処理502と乱数取得処理500bとの間に他の処理が含まれていたとしても、計数値を更新周期分循環させる時間は確保される。また、単にプログラムをループさせる更新時間待ち処理の代わりに、乱数値の取得に関する特定処理502を記述しているため、更新時間待ちするための不要な記述によりメインROM200bの使用領域の一部を占有することもない。
なお、抽選契機の到来等、所定条件の成立時に、乱数取得処理500aから乱数値を取得する乱数取得処理を実行するメインCPU200aを、乱数取得手段と呼び、乱数取得処理が実行された後、または、乱数取得処理が実行される前に、乱数値の取得に関する特定処理502を実行するメインCPU200aを、特定処理実行手段と呼ぶ場合がある。
以下、乱数取得処理500aの前に特定処理502を行う例として、汎用抽選処理を挙げて説明する。メインCPU200aは、メインROM200bからプログラムを読み出し、読み出したプログラムを遂行する。ここで、メインCPU200aは、サブルーチンとしてCOM_PREモジュールを呼び出し、COM_PREモジュールに続いて、RAD_CHKモジュール、COM_LOTモジュールを遂行する。こうして、汎用抽選処理が実行される。
なお、ここでは、メインCPU200aとして、Z80系CPUをベースとするエルイーテック(LETech)社が販売するマイクロプロセッサを用いている。メインCPU200aは、プログラムを遂行するために、8ビットのレジスタ(Q、U、A、F、B、C、D、E、H、L)と、16ビットのレジスタ(IX、IY、SP)を有している。かかるレジスタには、表レジスタと、裏レジスタとがある。メインCPU200aは、Fレジスタにおけるレジスタバンク指定レジスタRBの示すレジスタバンクの表レジスタのみにアクセスでき、裏レジスタにはアクセスできない。Uレジスタは、遊技機用拡張仕様の8ビット専用レジスタである。Aレジスタは、演算処理やデータ転送に使う8ビットのアキュムレータである。Fレジスタは、各種演算結果を保持する8ビットのフラグレジスタである。なお、Fレジスタは、AレジスタとペアレジスタAFを構成する。また、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタは、8ビットの汎用レジスタであり、それぞれ予め組み合わせが定められている16ビットのペアレジスタBC、DE、HLを構成する。IXレジスタ、IYレジスタは、インデックスアドレッシング用16ビット専用レジスタである。SP(スタックポインタ)レジスタは、16ビットであり、スタックポインタとなるアドレスを格納する。
図34は、COM_PREモジュール、RAD_CHKモジュール、COM_LOTモジュールの具体的な処理を示したフローチャートである。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
メインCPU200aは、図34(a)のように、サブルーチンとしてCOM_PREモジュールを呼び出すと、スタックポインタ値をDEレジスタに一旦復帰させ(S1)、即座にDEレジスタの内容をスタック領域に退避させる(S2)。こうして、スタック領域の状態を維持しつつ、スタックポインタの値、すなわち、サブルーチンを呼び出した元のルーチンの戻りアドレス(今回の戻りアドレス)をDEレジスタに保持することができる。そして、メインCPU200aは、汎用抽選オフセット選択テーブルのアドレス(比較すべき戻りアドレスの初期値)をHLレジスタに設定し(S3)、RAD_CHKモジュールに移動する(S4)。
メインCPU200aは、図34(b)のように、RAD_CHKモジュールにおいて、今回の戻りアドレスとHLレジスタの値(比較すべき戻りアドレス)とを比較する(S5)。メインCPU200aは、抽選オフセットを取得するためにHLレジスタを2だけインクリメントし(S6)、HLレジスタで示されたアドレスに格納された抽選オフセットを取得する(S7)。そして、メインCPU200aは、次に比較すべき戻りアドレスを設定するためにHLレジスタを1だけインクリメントする(S8)。ここで、メインCPU200aは、ステップS5で比較した結果に基づき、今回の戻りアドレスがHLレジスタの値と一致しているか否か判定し(S9)、一致していなければ(S9におけるNO)、ステップS5に戻って、今回の戻りアドレスとHLレジスタの値とが一致するまで比較処理を繰り返す。また、今回の戻りアドレスがHLレジスタの値と一致していれば(S9におけるYES)、メインCPU200aは、COM_LOTモジュールに移動する(S10)。
図35は、汎用抽選オフセット選択テーブルの記述を示した説明図である。かかる汎用抽選オフセット選択テーブルには、2バイトの比較すべき戻りアドレスと、1バイトの抽選オフセットとの組合せが連続して複数繰り返し記述されている。例えば、今回の戻りアドレスが、図35の42行目に示された「@ADT_OFS_LOP2」と等しかったとする。メインCPU200aは、まず、ステップS1でDEレジスタに保持させた今回の戻りアドレスと、図35の2行目に示された「@ADT_ERR_RCV」とを比較する(S5)。ここでは、今回の戻りアドレス(「@ADT_OFS_LOP2」に相当)と、図35の2行目に示された「@ADT_ERR_RCV」とが異なるので、Fレジスタのゼロフラグには「NZ(ゼロではない)」が保持される。続いて、メインCPU200aは、HLレジスタを2だけインクリメントし(S6)、HLレジスタで示されたアドレスに格納された抽選オフセット、ここでは、図35の3行目に示された変数「T_ERR_RCV」で示される値を取得し(S7)、次に比較すべき戻りアドレスを設定するためにHLレジスタを1だけインクリメントする(S8)。メインCPU200aは、今回の戻りアドレスがHLレジスタの値と一致しているか否か判定するが(S9)、ステップS5で比較した結果は「NZ」なので、今回の戻りアドレスはHLレジスタの値と一致していないとして、ステップS5からの処理を繰り返す。ここでは、HLレジスタの値が図35の42行目を示すまで、ステップS5からの処理を繰り返したとする。
ステップS5~S9の処理を20回繰り返した後、メインCPU200aは、ステップS1でDEレジスタに保持させた今回の戻りアドレスと、図35の42行目に示された「@ADT_OFS_LOP2」とを比較する(S5)。ここでは、今回の戻りアドレスと、図35の42行目に示された「@ADT_OFS_LOP2」とが一致する。そうすると、Fレジスタのゼロフラグには「Z(ゼロである)」が保持される。続いて、メインCPU200aは、HLレジスタを2だけインクリメントし(S6)、HLレジスタで示されたアドレスに格納された抽選オフセット、ここでは、図35の43行目に示された「T_OFS_LOP」を取得し(S7)、次に比較すべき戻りアドレスを設定するためにHLレジスタを1だけインクリメントする(S8)。メインCPU200aは、今回の戻りアドレスがHLレジスタの値と一致しているか否か判定し(S9)、ステップS5で比較した結果は「Z」なので、今回の戻りアドレスがHLレジスタの値と一致しているとして、COM_LOTモジュールに移動する(S10)。
ここでは、今回の戻りアドレスがHLレジスタの値と一致するまで、ステップS5~ステップS9の処理が繰り返される。したがって、ステップS5~ステップS9の処理に必要な時間と、繰り返し回数とを乗じただけ時間が費やされることとなる。
ただし、図35に示した汎用抽選オフセット選択テーブルにおいて、今回の戻りアドレスと比較すべき戻りアドレスとが短期間で一致してしまうと、つまり、比較を繰り返す回数が少ないと、計数値を更新周期分循環させる時間を確保できない(更新周期以上とならない)おそれが生じる。そこで、所定の機会でループ抽選等を行う場合、再度、乱数値の取得が必要となり得るプログラムのアドレス(戻りアドレス)は、汎用抽選オフセット選択テーブルの比較的後方、かつ、計数値を更新周期分循環させる時間を確保できる位置に配する。一方、再度の乱数値の取得を必要としないプログラムのアドレス(戻りアドレス)は、汎用抽選オフセット選択テーブルの比較的前方に配してもよい。なお、ステップS5~ステップS9の処理が45ステート、その他の固定的な処理が81ステートを要するとした場合に、上記のように、1024ステートを確保するためには、ステップS5~ステップS9の処理を、少なくとも21回繰り返さなければならない。したがって、図35のように、乱数値の取得が必要となるプログラムに対する比較すべき戻りアドレスを42行目以降に配することで、メインCPU200aは、計数値を更新周期分循環させる時間を確保しつつ、乱数値を正常に取得して、公平性を保つことが可能となる。
続いて、メインCPU200aは、図34(c)のように、COM_LOTモジュールにおいて、乱数取得処理を行う(S11)。汎用抽選処理テーブルのアドレス(汎用抽選処理テーブルの先頭アドレス)をHLレジスタに設定し(S12)、ステップS7で取得した抽選オフセットをHLレジスタに加算する(S13)。そして、メインCPU200aは、HLレジスタに示されたアドレスに格納された抽選判定値を取得し(S14)、ステップS11で取得した乱数値と抽選判定値とを比較する判定値確認処理を行う(S15)。こうして、メインCPU200aは、抽選結果を把握することができる。メインCPU200aは、更なる抽選が必要であるか、すなわち、更なる乱数値の取得が必要であるか判定し(S16)、必要なければ(S16におけるNO)、当該COM_LOTモジュールを終了し、必要であれば(S16におけるYES)、RAD_CHKモジュールからの処理を繰り返す(S17)。
かかる汎用抽選処理では、ステップS11で乱数取得処理を行う前に、特定処理502としてRAD_CHKモジュールを実行し、計数値を更新周期分循環させる時間以上の時間を費やしている。したがって、前回の乱数取得タイミングに拘わらず、特定処理によって計数値を更新周期分循環させる時間以上の時間が費やされるので、少なくとも1回は、更新範囲に属する計数値の初期値が更新されることとなる。したがって、メインCPU200aは、乱数値を正常に取得しつつ、公平性を保つことが可能となる。また、単にプログラムをループさせる更新時間待ち処理の代わりに、乱数値の取得に関する特定処理502を記述しているため、更新時間待ちするための不要な記述によりメインROM200bの使用領域の一部を占有することもない。
なお、ここでは、図33(a)で示したように、乱数取得処理(S11)を実行する前に乱数値の取得に関する特定処理(RAD_CHKモジュール)を実行する例を挙げて説明したが、かかる場合に限らず、図33(b)で示したように、乱数取得処理500aを実行した後に乱数値の取得に関する特定処理502を実行することで、特定処理502において乱数値に関する処理を有効に実行しつつ、乱数発生器200dにおいて計数値を更新周期分循環させる時間を確保することができる。
また、ここでは、図35に示した汎用抽選オフセット選択テーブルにおいて、2バイトの比較すべき戻りアドレスに基づいて1バイトの抽選オフセットを抽出する例を挙げて説明したが、かかる場合に限らず、2バイトの比較すべき戻りアドレスに基づいて2バイトの汎用抽選処理テーブルのアドレスを直接抽出してもよい。この場合、図35に対応するテーブル(ここでは、汎用抽選アドレス選択テーブルという)には、2バイトの比較すべき戻りアドレスと、2バイトの汎用抽選処理テーブルのアドレスとの組合せが連続して複数繰り返し記述されている。例えば、今回の戻りアドレスが、テーブルの所定の行に示された「@ADT_OFS_LOP2」と等しかったとする。メインCPU200aは、今回の戻りアドレスと、所定の行に示された「@ADT_OFS_LOP2」とが一致すると、HLレジスタで示されたアドレスに格納された汎用抽選処理テーブルのアドレスを取得し、COM_LOTモジュールに移動する。これは、図34におけるステップS7で2バイトの汎用抽選処理テーブルのアドレスを取得し、ステップS8で次に比較すべき戻りアドレスを設定するためにHLレジスタを2だけインクリメントし、ステップS12、13で、汎用抽選処理テーブルのアドレスをHLレジスタに設定することで実現される。
<当選種別の管理>
当選種別抽選手段304が当選種別抽選を行い、リール制御手段306が、回転しているリール110に対応するストップスイッチ120の操作に応じ、操作されたストップスイッチ120に対応するリール110をそれぞれ停止制御すると、判定手段308は、当選役の入賞判定を行う。
例えば、判定手段308は、リール110が第3停止すると、有効ラインA上に表示された図柄組合せを判定する。図柄組み合わせには、複数の図柄組み合わせそれぞれを特定可能な識別子である表示識別子が割り当てられている。表示識別子は、例えば、所定の当選役を示す1または複数の図柄組み合わせに対し、2バイト(16ビット)の数値が対応付けられる。表示識別子に対応付けられた数値は、例えば、いずれかの1ビットのみが1Bであり、他のビットが0Bとなっている。そして、当該表示識別子において1Bとなっているビットについて、所定の条件下で、他の表示識別子では0Bとなっている。すなわち、所定のビットに関しては当該表示識別子のみが1Bとなっている。判定手段308は、有効ラインA上に表示された図柄組合せを抽出し、その図柄組合せに割り当てられた表示識別子を特定する。
そして、判定手段308は、所定の当選役、例えば、当選役「小役1」に割り当てられた識別子である当選役識別子と、特定した表示識別子とを比較する。判定手段308が、当選役「小役1」に割り当てられた当選役識別子が表示識別子と一致すると判定すると、払出制御手段310は、当選役「小役1」が入賞したとして、当選役「小役1」に対応する15枚のメダルを払い出す。
また、判定手段308は、リール110が第3停止すると、有効ラインA上に表示された図柄組合せを判定し、その表示された図柄組み合わせに基づいて、例えば、AT抽選等、何らかの処理を実行する場合がある。例えば、判定手段308は、当選種別「打順チャンス」を構成する当選役「小役17」、「小役21」、「小役22」のいずれかに対応する図柄組み合わせが有効ラインA上に表示されると、AT抽選を行う。このとき、判定手段308は、所定の当選種別、例えば、当選種別「打順チャンス」を構成する複数の当選役「小役17」、「小役21」、「小役22」それぞれに割り当てられた当選役識別子と、表示識別子と比較する。判定手段308は、当選種別「打順チャンス」を構成する当選役のうち、例えば、当選役「小役22」に割り当てられた当選役識別子が表示識別子と一致すると判定すると、当選種別「打順チャンス」に当選し、それを構成する当選役が入賞したとして、当選種別「打順チャンス」に対応する当選確率でAT抽選を行う。
しかし、当選種別に複数の当選役が重複して含まれる場合、判定手段308は、その複数の当選役に割り当てられた当選役識別子それぞれと表示識別子とを比較し、一致した当選役識別子がいずれの当選種別に含まれる当選役に対応するか判定しなければならなかった。ここでは、当選種別「打順チャンス1」を例に挙げ、遊技者の操作態様に応じて入賞する当選役を説明し、その後、当選種別に複数の当選役が重複して含まれる場合に生じ得る問題を詳述する。
(当選種別「打順チャンス」)
上述したように、本実施形態のスロットマシン100では、選択当選種別として、当選種別「打順ベル」を採用し、AT演出状態では補助演出を行うことで、通常演出状態に比べAT演出状態における単位遊技当たりの期待獲得枚数を相対的に高めることができる。具体的に、非AT演出状態において当選種別「打順ベル」に当選しても、補助演出がほぼ行われないので、遊技者は、ストップスイッチ120を、打順(例えば打順1または打順2)を決めて操作することとなり、単位遊技当たりの期待獲得枚数は1枚となる。一方、AT演出状態において当選種別「打順ベル」に当選すると、補助演出が実行されるので、遊技者は、正解操作態様によって操作することができ、単位遊技当たりの期待獲得枚数は15枚となる。このように、演出状態をAT演出状態に滞在させることで、遊技者は、メダルの消費を抑えつつ、短時間に多くの遊技利益を得ることが可能となるので、遊技意欲を向上することができる。
しかし、AT演出状態における単位遊技当たりの期待獲得枚数を高めるため、上記のように、非AT演出状態での単位遊技当たりの期待獲得枚数が相対的に低くなるように設定すると、非AT演出状態に滞在し続けることで、遊技者の投資額が徒に大きくなってしまう。一方、AT演出状態における単位遊技当たりの期待獲得枚数を高めつつ、非AT演出状態での単位遊技当たりの期待獲得枚数の低下を抑えようとすると、AT演出状態への移行確率を低く設定したり、抽選を行わない期間を設けざるを得ない。そうすると、AT演出状態への移行頻度が下がり、遊技者が倦怠感を覚える結果を招きかねない。
ここでは、当選種別「打順チャンス」を設けることで、AT演出状態への移行確率を低く設定したり、抽選を行わない期間を設けることなく、非AT演出状態での単位遊技当たりの期待獲得枚数を相対的に低くすることで、遊技者の遊技意欲を維持しつつ、非AT演出状態とAT演出状態との期待獲得枚数の差を大きくする。
図36は、当選種別「打順チャンス1」の入賞態様を説明するための説明図である。当選種別「打順チャンス1」は、図36の上側に示されるように、払出枚数が15枚となる当選役「小役17」と、払出枚数が14枚となる当選役「小役18」と、払出枚数が1枚の当選役「小役21」、「小役22」とが重複して含まれる選択当選種別である。なお、本実施形態において、当選種別「打順チャンス1」に当選した場合、非AT演出状態かAT演出状態かによって正解操作態様(正解役)が異なる。例えば、非AT演出状態では、正解操作態様としての変則操作(打順3~6)により期待獲得枚数を下げ、AT演出状態では、正解操作態様としての左第1操作(打順1、2)により期待獲得枚数を上げることが可能となる。なお、図6および図7の当選種別テーブルを参照して理解できるように、変則操作により、中リール110bまたは右リール110cのいずれかを第1停止する操作を行った場合、1/10の確率で当選役「小役17」を入賞させ、9/10の確率で当選役「小役21」または当選役「小役22」を入賞させる。したがって、変則操作を行った場合、期待獲得枚数は2.4枚((15枚×1+1枚×9)/10)となる。図36では、当選種別「打順チャンス1」が当選し、15枚の払い出しを受け得る当選役「小役17」を入賞可能な変則操作として打順6が決定された場合において、打順1、打順3、打順6それぞれを操作した場合の停止制御を説明する。
ここでは、メダルの払出枚数に基づいて停止可能な小役の優先度を設定する場合、有効ラインA上に表示されている図柄組み合わせに対応する小役の払出枚数が多いほど優先度が高くなるように設定され、また、有効ラインA上に表示可能な図柄組み合わせの種類に基づいて停止可能な小役の優先度を設定する場合、有効ラインA上に表示可能となる当選役の図柄組み合わせの種類が多いほど優先度が高くなるように設定される。
図36に示すように、当選種別「打順チャンス1」に当選し、打順1に従って左リール110aを最初に停止するようにストップスイッチ120aが操作されると、引き込み対象となる図柄「スイカ」、「ベルA」のうち、有効ラインA上に表示可能となる当選役の図柄組合せの種類が最も多くなる当選役「小役18」、「小役21」、「小役22」を構成する図柄「ベルA」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120aの操作に応じて、図柄「ベルA」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「ベルA」は、左リール110aにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。このように、左リール110aの有効ラインA上に図柄「ベルA」が停止することで、当選種別「打順チャンス1」に含まれる当選役「小役17」が入賞する可能性がなくなる。続いて、中リール110bを2番目に停止するようにストップスイッチ120bが操作されると、引き込み対象となる「リプレイ」、「青7」、「ブランクA」、「ブランクB」、「赤7」のうち、メダルの払出枚数が14枚と最も多くなる当選役「小役18」を構成する図柄「リプレイ」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120bの操作に応じて、図柄「リプレイ」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「リプレイ」は、中リール110bにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。続いて、右リール110cを3番目に停止するようにストップスイッチ120cが操作されると、引き込み対象となる図柄「リプレイ」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120cの操作に応じて、図柄「リプレイ」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「リプレイ」は、右リール110cにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。こうして、当選役「小役18」の入賞が確定する。ここでは、打順1、2による操作を行うことで、当選役「小役18」をPB=1で入賞させることが可能となり、遊技者は、14枚のメダルの払い出しを受けることができる。
次に、図36に示すように、当選種別「打順チャンス1」に当選し、打順3に従って中リール110bを最初に停止するようにストップスイッチ120bが操作されると、引き込み対象となる「リプレイ」、「青7」、「ブランクA」、「ブランクB」、「赤7」のうち、有効ラインA上に表示可能となる当選役の図柄組合せの種類が最も多くなる当選役「小役21」、「小役22」を構成する図柄「青7」、「ブランクA」、「ブランクB」、「赤7」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120bの操作に応じて、例えば、図柄「赤7」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「青7」、「ブランクA」、「ブランクB」、「赤7」は、いずれかが必ず停止可能な点において、中リール110bにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。このように、中リール110bの有効ラインA上に図柄「赤7」が停止することで、当選種別「打順チャンス1」に含まれる当選役「小役17」、「小役18」、「小役21」が入賞する可能性がなくなる。続いて、左リール110aを2番目に停止するようにストップスイッチ120aが操作されると、引き込み対象となる当選役「小役22」を構成する図柄「ベルA」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120aの操作に応じて、図柄「ベルA」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「ベルA」は、左リール110aにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。続いて、右リール110cを3番目に停止するようにストップスイッチ120cが操作されると、引き込み対象となる当選役「小役22」を構成する図柄「BAR」または図柄「ブランクB」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120cの操作に応じて、例えば、図柄「BAR」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「BAR」、「ブランクB」は、いずれかが必ず停止可能な点において、右リール110cにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。こうして、当選役「小役22」の入賞が確定する。ここでは、打順3による操作を行うことで、当選役「小役21」または当選役「小役22」をPB=1で入賞させることが可能となり、遊技者は、1枚のメダルの払い出しを受けることができる。
また、ここでは、当選役「小役21」、「小役22」をPB=1で確実に入賞させることで、遊技者に、当選した当選種別が、当選種別「打順チャンス1」であることを明示することができ、当選種別「打順チャンス1」に基づく遊技利益を期待させることができる。
次に、図36に示すように、当選種別「打順チャンス1」に当選し、打順6に従って右リール110cを最初に停止するようにストップスイッチ120cが操作されると、引き込み対象となる図柄「リプレイ」、「BAR」、「ブランクB」のうち、メダルの払出枚数が15枚と最も多くなる当選役「小役17」を構成する図柄「リプレイ」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120cの操作に応じて、図柄「リプレイ」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「リプレイ」は、右リール110cにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。このように、右リール110cの有効ラインA上に図柄「リプレイ」が停止することで、当選種別「打順チャンス1」に含まれる当選役「小役21」、「小役22」が入賞する可能性がなくなる。続いて、中リール110bを2番目に停止するようにストップスイッチ120bが操作されると、引き込み対象となる当選役「小役17」、「小役18」を構成する図柄「リプレイ」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120bの操作に応じて、図柄「リプレイ」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「リプレイ」は、中リール110bにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。続いて、左リール110aを3番目に停止するようにストップスイッチ120aが操作されると、引き込み対象となる図柄「スイカ」、「ベルA」のうち、メダルの払出枚数が15枚と最も多くなる当選役「小役17」を構成する図柄「スイカ」が優先的に表示されるように設定される。そして、リール制御手段306は、ストップスイッチ120aの操作に応じて、図柄「スイカ」が有効ラインA上に優先的に表示されるように停止制御する。なお、図柄「スイカ」は、左リール110aにおいてPB=1なので、停止制御によって必ず有効ラインA上に表示することができる。こうして、当選役「小役17」の入賞が確定する。ここでは、打順6による操作を行うことで、当選役「小役17」をPB=1で入賞させることが可能となり、遊技者は、15枚のメダルの払い出しを受けることができる。
上述したように、当選種別「打順チャンス1」に当選した場合、非AT演出状態かAT演出状態かによって正解操作態様(正解役)を異ならせている。非AT演出状態においては、正解操作態様(変則操作)で操作すると期待獲得枚数2.4枚しか払い出しがないが、不正解操作態様(左第1操作)で操作すると14枚の払い出しを受けることができる。
このように、AT演出状態での単位遊技当たりの期待獲得枚数に対し、非AT演出状態において、遊技者が無作為に操作した場合には単位遊技当たりの期待獲得枚数がそれなりに高くなる(投資額を抑えられる)ところ、敢えて、期待獲得枚数が少ない変則操作をさせる補助演出を行い、単位遊技当たりの期待獲得枚数を相対的に低くする遊技性を採用することで、非AT演出状態とAT演出状態との期待獲得枚数の差を大きくし、遊技者の遊技意欲を向上することが可能となる。
しかし、非AT演出状態において補助演出に従うと期待獲得枚数が少なく、補助演出を無視して異なる操作を行うと期待獲得枚数が多くなるとすると、意図的に補助演出に従わない遊技者が出現するおそれがある。そこで、当選種別「打順チャンス1」の当選においては、AT演出状態(CZ演出状態)の抽選を行い、その遊技を所謂天井の消化遊技とする(もしくは天井の到達遊技数を短縮する)とした上で、補助演出に従わない場合、それらを制限する仕様とする。すなわち、非AT演出状態において当選種別「打順チャンス1」に当選した場合に、遊技者が補助演出に従って正解操作態様により操作すると、期待獲得枚数こそ少ないものの、AT演出状態の抽選が行われ、また、その遊技を所謂天井の消化遊技とする(もしくは天井の到達遊技数を短縮する)ことができる。一方で、非AT演出状態において当選種別「打順チャンス1」に当選した場合に、遊技者が補助演出に従わず、不正解操作態様により操作すると、期待獲得枚数こそ多いが、AT演出状態の抽選を受けることができず、また、その遊技を所謂天井の消化遊技とする(もしくは天井の到達遊技数を短縮する)ことができない(天井の到達遊技数が延長される)。換言すれば、遊技者に補助演出を無視させないため、正解操作態様で操作することで、不正解操作態様で操作するより結果として有利になる遊技利益、例えば、AT演出状態の抽選等を付与することとする。このような遊技性を採用しているので、非AT演出状態において当選種別「打順チャンス1」に当選した場合は、期待獲得枚数が少ない操作態様を正解操作態様とし、期待獲得枚数が多い操作態様を不正解操作態様とすることができる。
かかる構成により、AT演出状態での単位遊技当たりの期待獲得枚数に対し、非AT演出状態での単位遊技当たりの期待獲得枚数を、補助演出を通じて相対的に低くでき、遊技者の遊技意欲を維持しつつ、非AT演出状態とAT演出状態との期待獲得枚数の差を大きくすることが可能となる。
なお、非AT演出状態において当選種別「打順チャンス1」に当選した場合に、期待獲得枚数が少ない操作態様が正解操作態様となり、期待獲得枚数が多い操作態様が不正解操作態様となる例を挙げて説明したが、AT演出状態において当選種別「打順チャンス1」に当選した場合は、AT演出状態の抽選の制限はなく、期待獲得枚数が多い操作態様が正解操作態様となり、期待獲得枚数が少ない操作態様が不正解操作態様となる。しかし、正解操作態様では15枚より少ない14枚の払い出しを受け得る当選役「小役18」を入賞させる仕様なので、補助演出を実行できない。したがって、AT演出状態において当選種別「打順チャンス1」に当選した場合、補助演出を実行せず、遊技者は、補助演出が実行されていないことを把握し、正解操作態様(左第1操作)によって操作して14枚の払い出しを受ける。
ここで、判定手段308は、リール110が第3停止し、AT抽選の対象となる当選役に対応する図柄組み合わせが有効ラインA上に表示されると、AT抽選の対象となる当選役が入賞したことに基づいてAT抽選を行うとする。このとき、判定手段308は、AT抽選の対象となる当選役それぞれに割り当てられた当選役識別子と、表示識別子とを比較する。しかし、当選種別に複数の当選役が重複して含まれる場合、その複数の当選役に割り当てられた当選役識別子それぞれと表示識別子とを比較しなければならない。以下、その動作を詳述する。
図37は、表示識別子の判定処理を示したフローチャートである。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。ここでは、判定手段308が、非AT演出状態において、有効ラインA上に表示された図柄組合せに応じてAT抽選を行う例を挙げて説明する。
なお、非AT演出状態において、AT抽選の対象となる当選役は、図6における当選種別「打順ベル」の左第1操作時において入賞可能な当選役「小役21」~「小役24」、図7における当選種別「打順チャンス」の変則操作時において入賞可能な当選役「小役17」、「小役21」、「小役22」、および、図7における当選種別「共通3枚」の左第1操作時において入賞可能な当選役「小役20」であるとする。換言すると、当選役「小役17」、「小役20」~「小役24」に対応する図柄組合せが入賞した場合に判定手段308はAT抽選を行う。各当選役の表示識別子は以下のように表される。当選役「小役17」に対応する図柄「スイカ」、図柄「リプレイ」、図柄「リプレイ」の図柄組み合わせの表示識別子は2バイトの「0000000100000000B」で表され、当選役「小役20」に対応する、図柄「ベルA」、図柄「BAR」、図柄「スイカ」の図柄組み合わせ、または、図柄「ベルA」、図柄「チェリー」、図柄「スイカ」の図柄組み合わせの表示識別子は2バイトの「0000100000000000B」で表され、当選役「小役21」に対応する、図柄「ベルA」、図柄「青7」、図柄「BAR」の図柄組み合わせ、図柄「ベルA」、図柄「青7」、図柄「ブランクB」の図柄組み合わせ、図柄「ベルA」、図柄「ブランクA」、図柄「BAR」の図柄組み合わせ、図柄「ベルA」、図柄「ブランクA」、図柄「ブランクB」の図柄組み合わせ、図柄「ベルA」、図柄「ブランクB」、図柄「BAR」の図柄組み合わせ、または、図柄「ベルA」、図柄「ブランクB」、図柄「ブランクB」の図柄組み合わせは2バイトの「0001000000000000B」で表され、当選役「小役22」に対応する、図柄「ベルA」、図柄「赤7」、図柄「BAR」の図柄組み合わせ、または、図柄「ベルA」、図柄「赤7」、図柄「ブランクB」の図柄組み合わせの表示識別子は2バイトの「0010000000000000B」で表され、当選役「小役23」に対応する、図柄「ベルA」、図柄「チェリー」、図柄「青7」の図柄組み合わせ、図柄「ベルA」、図柄「チェリー」、図柄「赤7」の図柄組み合わせ、図柄「ベルA」、図柄「チェリー」、図柄「チェリー」の図柄組み合わせ、図柄「ベルA」、図柄「チェリー」、図柄「ブランクA」の図柄組み合わせ、図柄「ベルA」、図柄「スイカ」、図柄「青7」の図柄組み合わせ、図柄「ベルA」、図柄「スイカ」、図柄「赤7」の図柄組み合わせ、図柄「ベルA」、図柄「スイカ」、図柄「チェリー」の図柄組み合わせ、または、図柄「ベルA」、図柄「スイカ」、図柄「ブランクA」の図柄組み合わせの表示識別子は2バイトの「0100000000000000B」で表され、当選役「小役24」に対応する、図柄「ベルA」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせ、図柄「ベルA」、図柄「リプレイ」、図柄「ブランクB」の図柄組み合わせ、図柄「チェリー」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせ、または、図柄「チェリー」、図柄「リプレイ」、図柄「ブランクB」の図柄組み合わせの表示識別子は2バイトの「1000000000000000B」で表される。
判定手段308は、まず、リール110が第3停止すると、有効ラインA上に表示された図柄組合せに対応する表示識別子を取得する(S1)。ここでは、リール制御手段306が有効ラインA上に、図柄「ベルA」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせを表示したとする。かかる図柄「ベルA」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせの表示識別子は上記のように「1000000000000000B」で表される。したがって、判定手段308は、ステップS1において表示識別子「1000000000000000B」を取得する。
続いて、判定手段308は、AT抽選の対象となる当選役「小役17」に割り当てられた当選役識別子「0000000100000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S2)。その結果、当選役識別子と表示識別子とが一致していれば(S2におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S2におけるNO)、ステップS3に処理を移行する。ここでは、当選役識別子と表示識別子とが一致していないので、ステップS3に移行することとなる。
続いて、判定手段308は、AT抽選の対象となる当選役「小役20」に割り当てられた当選役識別子「0000100000000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S3)。その結果、当選役識別子と表示識別子とが一致していれば(S3におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S3におけるNO)、ステップS4に処理を移行する。ここでは、当選役識別子と表示識別子とが一致していないので、ステップS4に移行することとなる。
続いて、判定手段308は、AT抽選の対象となる当選役「小役21」に割り当てられた当選役識別子「0001000000000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S4)。その結果、当選役識別子と表示識別子とが一致していれば(S4におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S4におけるNO)、ステップS5に処理を移行する。ここでは、当選役識別子と表示識別子とが一致していないので、ステップS5に移行することとなる。
続いて、判定手段308は、AT抽選の対象となる当選役「小役22」に割り当てられた当選役識別子「0010000000000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S5)。その結果、当選役識別子と表示識別子とが一致していれば(S5におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S5におけるNO)、ステップS6に処理を移行する。ここでは、当選役識別子と表示識別子とが一致していないので、ステップS6に移行することとなる。
続いて、判定手段308は、AT抽選の対象となる当選役「小役23」に割り当てられた当選役識別子「0100000000000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S6)。その結果、当選役識別子と表示識別子とが一致していれば(S6におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S6におけるNO)、ステップS7に処理を移行する。ここでは、当選役識別子と表示識別子とが一致していないので、ステップS7に移行することとなる。
続いて、判定手段308は、AT抽選の対象となる当選役「小役24」に割り当てられた当選役識別子「1000000000000000B」と、ステップS1で取得した表示識別子「1000000000000000B」と比較する(S7)。その結果、当選役識別子と表示識別子とが一致していれば(S7におけるYES)、ステップS8に処理を移行し、当選役識別子と表示識別子とが一致していなければ(S7におけるNO)、当該プログラムを呼び出した元のプログラムに戻る。ここでは、当選役識別子と表示識別子とが一致しているので、ステップS8に移行することとなる。そして、判定手段308は、AT抽選の対象となる当選役が入賞したとしてAT抽選を行う(S8)。
ここで、判定手段308は、AT抽選の対象となる当選役「小役17」、「小役20」~「小役24」それぞれに割り当てられた当選役識別子全てに対し、個々に表示識別子と比較しているので、その分、処理負荷が増加し、さらに、その処理を実行するプログラムが、容量が限られているメインROM200bの使用領域の一部を占有してしまい、他の処理に容量を割けなくなってしまう。また、表示識別子の選択や当選役識別子の配置によっては、表示識別子と一致する当選役識別子を特定するまでに時間を要してしまうおそれがある。例えば、有効ラインA上に表示された図柄組み合わせに割り当てられた表示識別子が、当選役「小役17」に割り当てられた当選役識別子と一致していれば、直ぐに、AT抽選を実行できるが、上記のように、有効ラインA上に表示された図柄組み合わせに割り当てられた表示識別子が、当選役「小役24」に割り当てられた当選役識別子と一致している場合、ステップS2~S7の判定を経由した上でAT抽選を実行することとなり、時間を要す。
そこで、本実施形態では、当選役単位より大きい集合体単位で識別子を割り当てる。このように、複数の表示識別子を特定可能な識別子を集合識別子という。判定手段308は集合識別子に基づいて、表示識別子との一致を判定する。
例えば、AT抽選の対象となる当選役群に集合識別子「1111100100000000B」を割り当てる。かかる集合識別子「1111100100000000B」は、AT抽選の対象となる当選役「小役17」、「小役20」~「小役24」それぞれに割り当てられた当選役識別子の論理和をとったものである。具体的に、当選役「小役17」に割り当てられた当選役識別子「0000000100000000B」と、当選役「小役20」に割り当てられた当選役識別子「0000100000000000B」と、当選役「小役21」に割り当てられた当選役識別子「0001000000000000B」と、当選役「小役22」に割り当てられた当選役識別子「0010000000000000B」と、当選役「小役23」に割り当てられた当選役識別子「0100000000000000B」と、当選役「小役24」に割り当てられた当選役識別子「1000000000000000B」との論理和をとることで、集合識別子「1111100100000000B」が導出される。
図38は、表示識別子の判定処理を示したフローチャートである。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
判定手段308は、まず、リール110が第3停止すると、有効ラインA上に表示された表示識別子を取得する(S1)。ここでは、リール制御手段306が有効ラインA上に、図柄「ベルA」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせを表示したとする。かかる図柄「ベルA」、図柄「リプレイ」、図柄「BAR」の図柄組み合わせの表示識別子は上記のように「1000000000000000B」で表される。したがって、判定手段308は、ステップS1において表示識別子「1000000000000000B」を取得する。
続いて、判定手段308は、AT抽選の対象となる当選役群に割り当てられた集合識別子「1111100100000000B」と、ステップS1で取得した表示識別子「1000000000000000B」との論理積をとる(S2)。表示識別子「1000000000000000B」と集合識別子「1111100100000000B」との論理積は「1000000000000000B」となる。
次に、判定手段308は、論理積の結果が0であるか否か判定する(S3)。その結果、論理積の結果が0であれば(S3におけるYES)、当該プログラムを呼び出した元のプログラムに戻り、論理積の結果が0でなければ、すなわち、表示識別子のビット0、3、4、5、6、7のいずれかが1Bであれば(S3におけるNO)、ステップS4に処理を移行する。ここでは、論理積の結果「1000000000000000B」が0ではないので、ステップS4に移行することとなる。そして、判定手段308は、AT抽選の対象となる当選役が入賞したとしてAT抽選を行う(S4)。
かかる構成により、例えば、複数の当選役それぞれに割り当てられた当選役識別子全てを一度に判定することができるので、処理負荷およびプログラムの占有領域を削減することが可能となる。また、複数の当選役それぞれに割り当てられた当選役識別子全てに対し、個々に表示識別子と比較する場合に比べ、時間を要することがなく、また、費やすステート時間が等しいので、プログラムを安定して設定することができる。
なお、ここでは、集合識別子によって、AT抽選の対象となる当選役それぞれに対応する表示識別子を一度に特定する例を挙げて説明したが、かかる場合に限らず、その集合(群)の概念は様々な表示識別子の区分の仕方に及ぶ。例えば、当選種別毎に割り当てたり、複数の当選種別を集合させた、当選種別「リプレイ」、当選種別「打順ベル」、当選種別「打順チャンス」、当選種別「共通3枚」、当選種別「チャンス目」といった当選種別の集合体それぞれに集合識別子を割り当てたり、リプレイ役、小役、ボーナス役、ハズレといった当選役の種別それぞれに集合識別子を割り当てたり、選択当選種別における正解役、失敗役といった区分で集合識別子を割り当てることができる。
また、判定手段308が集合識別子を用いて、所定の遊技利益を付与するか否かを決定する例として、通常AT演出状態への移行可否(AT抽選)を挙げて説明したが、かかる場合に限らず、図9を用いて説明した、例えば、CZ演出状態への移行可否等、様々な遊技利益の付与決定を対象とすることができる。
また、ここでは、判定手段308が、2バイトの表示識別子と、2バイトの集合識別子とを比較する例を挙げて説明したが、かかる場合に限らず、上述した実施形態のように、対象となる複数の当選役識別子における1Bとなるビットが、上位1バイトか下位1バイトのいずれか一方に偏って存在していることが予め把握されている場合、もしくは、意図的にいずれか一方にのみ存在している場合、2バイトの表示識別子と1バイトの集合識別子とを比較してもよい。例えば、上述した実施形態のように、対象となる複数の当選役識別子「0000000100000000B」、「0000100000000000B」、「0001000000000000B」、「0010000000000000B」、「0100000000000000B」、「1000000000000000B」における1Bとなるビットが上位1バイトに集約されている場合、判定手段308は、有効ラインA上に表示された表示識別子「1000000000000000B」を取得し(S1)、AT抽選の対象となる当選役群に割り当てられた1バイトの集合識別子「11111001B」と、ステップS1で取得した2バイトの表示識別子「1000000000000000B」の上位1バイト(「10000000B」)との論理積をとり(S2)、論理積の結果「10000000B」が0ではないことで(S3におけるNO)、AT抽選の対象となる当選役が入賞したとしてAT抽選を行うとしてもよい。
この場合、ステップS1~S3は、以下のコマンドで実現可能である。例えば、コマンド「LD A,(HL)」を用い、HLレジスタで示されるアドレスの値(ここでは表示識別子「1000000000000000B」の上位1バイト「10000000B」)をAレジスタに読み出すことで表示識別子を取得し(S1)、コマンド「RAND Z,A,11111001B」を用い、Aレジスタの値(「10000000B」)と、数値「11111001B」との論理積をとり(S2)、その結果が0であれば、当該プログラムを呼び出した元のプログラムに処理を戻し、0でなければ、次の処理に移行する(S3)。
また、ここでは、当選種別「打順チャンス」が当選した場合に、入賞した当選役(例えば、当選役「小役17」、「小役21」、「小役22」)を判定するため、判定手段308が、リール110の第3停止時に、表示識別子と集合識別子とを比較する例を挙げて説明したが、かかる場合に限らず、当選した当選種別や当選役を判定する場合、当選時に、表示識別子と集合識別子とを比較してもよいことは言うまでもない。なお、当選種別「打順チャンス」に限らず、例えば、当選種別「リプレイ」、当選種別「打順ベル」、当選種別「共通3枚」、当選種別「チャンス目」等の当選種別が当選したことを判定する場合も、その当選種別に集合識別子を割り当て、判定手段308が、当選時に判定することができる。
また、ここでは、判定手段308が、1の有効ラインA上に表示された図柄組み合わせを、集合識別子を通じて判定する例を挙げて説明したが、かかる場合に限らず、複数の有効ラインが設定されている場合に、その複数の有効ラインのうちの特定の有効ライン上に表示された図柄組み合わせを、集合識別子を通じて判定するとしてもよいし、複数の有効ラインのいずれかの有効ライン上に表示された図柄組み合わせを、集合識別子を通じて判定するとしてもよいし、複数の有効ラインの全てに表示された図柄組み合わせそれぞれを、集合識別子を通じて判定するとしてもよい。このように、判定対象とする有効ラインを個々に設定することで、所謂、目押し等の成功可否を判定する等、様々な遊技性を取り入れることが可能となる。
また、ここでは、表示識別子が、1Bが配されたビットの位置によって、複数の図柄組み合わせそれぞれを一意に特定する例を挙げて説明したが、かかる場合に限らず、所定の当選種別の範囲内で表示識別子が複数の図柄組み合わせそれぞれを特定しさえすれば足りる。例えば、当選種別「打順チャンス」、当選種別「リプレイ」、当選種別「打順ベル」、当選種別「共通3枚」、当選種別「チャンス目」といった遊技利益が類似する当選種別の集合体間で、同一の表示識別子が存在する場合がある。この場合であっても、当選種別の集合体の中では、表示識別子が複数の図柄組み合わせそれぞれを一意に特定する。例えば、当選役識別子「0000000100000000B」が、当選役「小役17」のみならず、当選役「小役1」、当選役「小役33」にも割り当てられ、当選役識別子「0001000000000000B」が、当選役「小役21」のみならず、当選役「小役5」、当選役「小役37」にも割り当てられ、当選役識別子「0010000000000000B」が、当選役「小役22」のみならず、当選役「小役6」、当選役「小役38」にも割り当てられているとする。しかし、当選役「小役17」、「小役21」、「小役22」は当選種別「打順チャンス」の当選時にしか入賞せず、当選役「小役1」、「小役5」、「小役6」は、当選種別「打順ベルA青1」~「打順ベルA青4」、「打順ベルA赤1」~「打順ベルA赤4」、「打順ベルB青1」~「打順ベルB青4」、「打順ベルB赤1」~「打順ベルB赤4」の当選時にしか入賞せず、当選役「小役33」、「小役37」、「小役38」は、「打順ベルA1」~「打順ベルA4」、「打順ベルB1」~「打順ベルB4」の当選時にしか入賞しない。したがって、判定手段308は、当選した当選種別がいずれの集合体(例えば、当選種別「打順チャンス」)に属するか、および、表示識別子によって、複数の図柄組み合わせそれぞれを一意に特定することとなる。このように、当選種別の集合体と表示識別子との組み合わせで、複数の図柄組み合わせそれぞれを一意に特定する構成により、例えば2バイトで、16通りより多い表示識別子や当選役識別子を管理することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことはいうまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
また、上述した実施形態では、リール110が3リール(リール110a、110b、110c)であり、これに対応して、ストップスイッチ120が3つ(ストップスイッチ120a、120b、120c)の場合を挙げて説明したが、かかる場合に限らず、リール110が2つ、もしくは4つ以上であり、これに対応して、ストップスイッチ120が2つ、もしくは4つ以上となる場合にも上記の実施形態を適用できる。
また、上述した実施形態では、主制御基板200と副制御基板202とが、遊技を進行するための機能部を分担するように配したが、主制御基板200の機能部を副制御基板202に配しても、副制御基板202の機能部を主制御基板200に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。
また、上記した実施形態では、遊技価値としてのメダルを用いて遊技を行うようにしたが、遊技価値は電気的な情報であってもよい(所謂メダルレスであってもよい)。この場合、当選役が入賞したときに、当選役に対応する価値量を遊技者に電気的な情報で付与すればよい。
また、上述した主制御基板200および副制御基板202が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。