以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本発明の実施形態の理解を容易にするため、まず、遊技者が遊技可能なスロットマシン(遊技機)の機械的構成および電気的構成を簡単に説明し、その後、スロットマシンの各基板における具体的な処理(役構成や遊技状態の遷移)および本実施形態で特徴的な処理を説明し、これらを実現するためのフローチャートを詳述する。
(スロットマシン100の機械的構成)
図1および図2の外観図に示すように、スロットマシン100は、略矩形状の箱体である筐体102と、筐体102の前面開口部に対して開閉可能に取り付けられた前面上扉104と、前面上扉104の下方に位置し、前面上扉104同様、筐体102の前面開口部に対して開閉可能に取り付けられた前面下扉106と、前面下扉106の下部に位置し、メダル排出口108aから払い出されたメダルを貯留するための受け皿部108とを備えている。
前面下扉106の上部には操作部設置台122が形成され、操作部設置台122には、メダル投入部124、ベットスイッチ126、スタートスイッチ128、ストップスイッチ130等が配設されている。
操作部設置台122の右側に位置するメダル投入部124は、メダル投入口(投入口)124aを通じて遊技媒体としてのメダルの投入を受け付け、前面下扉106の背面に設けられたメダルセレクタ(図示せず)にメダルを送る。メダルセレクタには、メダルの投入が可能な投入期間外に投入されたメダルや規格外のメダルをメダル排出口108aに導くブロッカー(図示せず)と、投入期間内に投入された規格内のメダルの通過を検出する投入メダル検出部124bとが設けられている。ここで、メダル排出口108aに導かれたメダルは受け皿部108に排出される。遊技者により、1遊技を開始するために必要なメダルのベット枚数である複数の規定枚数のうち、最大規定枚数(例えば3枚)を超えてメダルが投入されると、その最大規定枚数を超えた分のメダルが、所定の上限枚数(例えば50枚)を上限としてスロットマシン100の内部(メインRAM200c)に電気的に貯留(以下、単にクレジットという)される。
ベットスイッチ126は、クレジットされているメダルのうち最大規定枚数のメダルをベットする、押圧式のボタンスイッチである。最大規定枚数以上のメダルがクレジットされている状態で、ベットスイッチ126を押圧すると、最大規定枚数のメダルがベットされるとともに、貯留枚数が最大規定枚数分だけ減枚される。なお、最大規定枚数未満のメダルがクレジットされている状態で、ベットスイッチ126を押圧すると、貯留枚数のメダルの全てがベットされるとともに、貯留枚数が0枚に減枚される。
操作部設置台122の左側に位置するスタートスイッチ128は、傾倒操作を検出可能なレバーで構成され、遊技者による1遊技の開始操作を検出する。また、スタートスイッチ128は、押圧操作を検出可能なボタンスイッチによって構成することも可能である。
前面上扉104の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓136が設けられ、筐体102内の図柄表示窓136に対応した位置には、リールユニット134が設けられている。リールユニット134には、図3(a)のリールの図柄配列に示すように、20等分された各領域に複数種類の図柄がそれぞれ配列された3つのリール134a、134b、134cが、それぞれ独立して回動可能に設けられ、遊技者は、図柄表示窓136を通じて、リール134a、134b、134cを視認することができる。リールユニット134は、スタートスイッチ128の操作を契機として、リール134a、134b、134cの回転を開始する。
操作部設置台122の中央に位置するストップスイッチ130は、リール134a、134b、134cそれぞれに対応して設けられた、遊技者の押圧操作を検出可能なボタンスイッチであり、リール134a、134b、134cそれぞれを停止させようとする遊技者の停止操作を検出する。なお、ストップスイッチ130に係る3つのボタンスイッチを、その位置に応じて左から順にストップスイッチ130a、130b、130cとする。
このように、ストップスイッチ130a、130b、130cを通じた停止操作により、リール134a、134b、134cがそれぞれ停止する。ここでは、その停止態様を遊技者が把握できるように、図3(b)のように、有効ラインが設けられている。有効ラインは1本であり、具体的に、図柄表示窓136に臨む9個の図柄(3リール×上中下の3段)のうち、リール134a、134b、134cの中段に停止する図柄に対応する位置を結んだラインを当選役の入賞を判定するための有効ラインAとして設定している。
前面上扉104の上部略中央には、演出に伴う様々な映像を表示する液晶表示部(画像表示部)138が設けられている。また、前面上扉104の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ142が設けられる。
また、図2に示すように、前面上扉104の裏面における液晶表示部138の左右位置や前面下扉106の裏面における内面左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ140が設けられている。さらに、筐体102内におけるリールユニット134の下方には、メダル排出口108aからメダルを払い出すためのメダル払出装置(メダルホッパー)264が設けられている。メダル払出装置264は、メダルを貯留するメダル貯留部264aと、メダル貯留部264aに貯留されたメダルをメダル排出口108aから排出するための払出制御部264bと、メダル排出口108aから排出されるメダルを検出する払出メダル検出部264cとを備えている。
また、図1や図2では図示していないが、各リール134a、134b、134cの内側には、それぞれに施された図柄のうち、図柄表示窓136に対応する各リール134a、134b、134cの上段、中段、下段の図柄を背面から個々に独立して照射するリールバックライト144(図4参照)が設けられている。また、図柄表示窓136の裏面上部にもリール134a、134b、134c全ての正面を直接照射するリール上方ライト146が設けられている。
また、図1に示すように、操作部設置台122において、図柄表示窓136とストップスイッチ130との間に設けられた段部122aの略水平面には、メインクレジット表示部152およびメイン払出表示部154が設けられている。また、図柄表示窓136と操作部設置台122との間には、サブクレジット表示部156およびサブ払出表示部158が設けられている。これらメインクレジット表示部152およびサブクレジット表示部156には内部的に記憶された貯留枚数が表示され、メイン払出表示部154およびサブ払出表示部158にはメダルの払出枚数が表示される。なお、サブクレジット表示部156およびサブ払出表示部158には、演出に伴う様々な数値を表示することもできる。
また、筐体102内の任意の位置には、電源スイッチ148が設けられている。電源スイッチ148は、ロッカースイッチ等、押圧操作を検出可能なスイッチで構成され、当該スロットマシン100を管理する管理者側が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。
(スロットマシン100の電気的構成)
図4は、スロットマシン100の概略的な電気的構成を示したブロック図である。図4に示すように、スロットマシン100は、主として、制御基板によって制御されている。ここでは、制御基板の一例として、制御基板の機能を分担した、主制御基板200と、副制御基板202とを挙げて説明する。例えば、遊技の進行に関わるプログラムのうち、遊技に供する当選役の抽選やその入賞といったような、特に重要な処理を主制御基板200で実行し、それ以外の例えば演出に関する処理を副制御基板202で実行している。また、図4に示したように、主制御基板200と副制御基板202との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板200から副制御基板202への一方向のみに制限される。ただし、このような制限がなければ、電気的に双方向通信も技術的に可能である。
(主制御基板200)
主制御基板200は、中央処理装置であるメインCPU200a、プログラム等が格納されたメインROM200b、ワークエリアとして機能するメインRAM(RWM)200c等を含む各種半導体集積回路を有し、スロットマシン100全体を統括的に制御する。ただし、メインRAM200cには不図示のバックアップ電源が接続されており、電源が切断された場合においても、設定変更が行われてメインRAM200cの初期化処理を実行しない限り、データが消去されることなく保持される。
また、主制御基板200は、メインCPU200aが、メインROM200bに格納されたプログラムに基づきメインRAM200cと協働することで機能する、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316等の機能部を有する。
初期化手段300は、主制御基板200における初期化処理を実行する。ベット手段302は、遊技に使用するためのメダルをベットする。ここで、ベットは、ベットスイッチ126の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部124を通じてメダルを投入する場合と、リプレイ役が有効ラインA上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。当選役抽選手段304は、メダルのベットおよびスタートスイッチ128の操作に基づき、小役、リプレイ役、および、ボーナス役を含む複数種類の当選役、ならびに、不当選のうちいずれかを当選役抽選により決定する。
リール制御手段306は、スタートスイッチ128の操作に応じて、複数のリール134a、134b、134cを回転制御し、回転しているリール134a、134b、134cにそれぞれ対応した複数のストップスイッチ130a、130b、130cの操作に応じ、操作されたストップスイッチ130a、130b、130cに対応するリール134a、134b、134cをそれぞれ停止制御する。また、リール制御手段306は、スタートスイッチ128の操作に応じて、前回の遊技においてストップスイッチ130の操作を有効化してから、当選役抽選の抽選結果を表示するために遊技者によるストップスイッチ130の操作を有効化するまで(前回の遊技におけるストップスイッチ130の操作完了により無効化されている)の時間を規定の時間(ウェイト時間、例えば、4.1秒)より延長し、その間、リール134a、134b、134cを多彩な態様で回転制御するリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることでも実現できる。
判定手段308は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されたか否か判定する。ここで、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されることを単に入賞という場合がある。払出制御手段310は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されたこと(入賞したこと)に基づいて、当該当選役に対応する数だけメダルを払い出す。状態移行手段312は、ボーナス役の当選や入賞に基づいて遊技状態を遷移させる。
コマンド決定手段314は、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312等の動作に伴う、遊技に関するコマンドを順次決定する。コマンド送信手段316は、コマンド決定手段314が決定したコマンドを副制御基板202に順次送信する。
主制御基板200では、投入メダル検出部124b、ベットスイッチ126、スタートスイッチ128およびストップスイッチ130から各種の検出信号を受信しており、受信した検出信号に基づいて、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308が上述した種々の処理を実行する。また、主制御基板200には、メインクレジット表示部152およびメイン払出表示部154が接続されており、払出制御手段310が両表示部152、154に対してメダルの貯留枚数や払出枚数の表示を制御する。
また、主制御基板200には、リール駆動制御部258が接続されている。このリール駆動制御部258は、スタートスイッチ128の操作信号に応じ、リール制御手段306から送信される各リール134a、134b、134cの回転開始信号に基づいて、ステッピングモータ262を駆動するとともに、ストップスイッチ130の操作信号に応じ、リール制御手段306から送信される、リール134a、134b、134cそれぞれの停止信号および回転位置検出回路260の検出信号に基づいて、ステッピングモータ262の駆動を停止する。
また、主制御基板200には、メダル払出装置264が接続されている。主制御基板200には払出メダル検出部264cの検出信号が入力されるようになっており、払出制御手段310は、その検出信号に応じてメダルの払出枚数を計数しながら払出制御部264bからのメダルの排出を制御する。
また、主制御基板200には、乱数発生器200dが設けられる。乱数発生器200dは、計数値を順次インクリメントし、所定の総数(例えば65536)内でループさせ(0〜65535)、所定の時点における計数値を抽出することで乱数を生成(取得)する。主制御基板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は、当選役コマンドに基づいて液晶表示部138、スピーカ140、演出用ランプ142の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段334は、液晶表示部138に表示される画像データや、演出用ランプ142、リールバックライト144、リール上方ライト146、サブクレジット表示部156、サブ払出表示部158等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ140から出力すべき音声を構成する音声データを決定する。そして、演出制御手段334は、決定した遊技の演出を実行する。
演出は、上述したリール演出のような主制御基板200によって実行される演出と、副制御基板202によって実行される演出がある。副制御基板202によって実行される演出は、遊技の進行に伴い、液晶表示部138、スピーカ140、演出用ランプ142、リールバックライト144、リール上方ライト146、サブクレジット表示部156、サブ払出表示部158等を通じて提供される視覚的および聴覚的な表現手段であり、当該遊技にストーリー性を与えたり、当選役抽選の結果をよりダイナミックな画像で示唆したりすることができる。このような演出では、例えば、ボーナス遊技の当選を示唆する演出を複数遊技に亘って行い、遊技者の期待感を高めることができる。また、たとえ、いずれの当選役にも当選していなかったとしても、恰も当選しているかのような演出を通じて遊技者に高配当の期待感を持たせ、遊技者を飽きさせないようにすることが可能となる。上記の主制御基板200および副制御基板202を連動させることで、様々な遊技性を構築することができる。以下、主となる遊技態様を詳述する。
(主制御基板200で用いられるテーブル)
スロットマシン100においては、複数の遊技状態が設けられており、遊技の進行に応じて遊技状態が遷移する。そして、主制御基板200では、状態移行手段312により管理される遊技状態に対応する複数の当選役抽選テーブル等がメインROM200bに格納されている。当選役抽選手段304は、メインRAM200cに記憶された現在の遊技状態(後述するボーナス役の成立有無に基づく遊技状態等)に応じて、対応する当選役抽選テーブルをメインROM200bから抽出し、抽出した当選役抽選テーブルと現在の設定値に基づき、スタートスイッチ128の操作信号に応じて取得された当選役抽選乱数が当選役抽選テーブル内のいずれの当選役または不当選に対応するか判定する。ここで、設定値は、遊技利益を得る容易性を段階的に示したものであり、その設定値の数値が高いほど、遊技利益を得易い。なお、設定値は、一般的に、ホール側管理者により少なくとも遊技開始時には決定されており、遊技者が、遊技中に設定値を取得および変更することはできないようになっている。
ここで、当選役抽選テーブルで抽出される当選役には、リプレイ役、小役、ボーナス役がある。このような当選役に対応する図柄組み合わせが、有効ラインA上に揃った状態を表示または入賞といい、当選役に当選し、その当選役に対応する図柄組み合わせが表示されるまでの状態を内部当選状態とする。当選役のうちのリプレイ役は、そのリプレイ役に対応する図柄組み合わせが有効ラインA上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度1遊技を実行できる役であり、小役は、その小役に対応する図柄組み合わせが有効ラインA上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインA上に表示されることにより、状態移行手段312により管理される遊技状態をボーナス遊技状態に移行させることができる当選役である。以下に、当選役および遊技者に付与される遊技利益について説明する。
図5は、当選役を説明するための説明図であり、図6は、遊技状態の遷移を説明するための説明図である。
また、本実施形態においては、当選役として、図5に示すように、当選役「リプレイ」、「ベル」、「ビッグボーナス(以下「BB」という)」が設けられている。このうち、当選役「リプレイ」が上記リプレイ役に相当し、当選役「ベル」が上記小役に相当し、当選役「BB」が上記ボーナス役に相当する。
(リプレイ役)
当選役抽選の結果、当選役「リプレイ」に当選すると、図5に示した当選役「リプレイ」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「リプレイ」が有効ラインA上に表示可能となり、当選役「リプレイ」に対応する図柄組み合わせが有効ラインA上に表示されると、上記したように、遊技者によるベットを行わずして再度1遊技(再遊技)を実行できる。
ここで、本実施形態においては、遊技者によってストップスイッチ130が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、当該図柄が有効ラインA上に停止するように停止制御がなされる。また、ストップスイッチ130が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が、有効ラインA上にはないが、各リール134a、134b、134cの回転方向と反対の方向の図柄4コマ分に相当する範囲(引込範囲)内に存在している場合には、リール制御手段306によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、当選役に対応する図柄が各リール134a、134b、134c中に複数あり、いずれも各リール134a、134b、134cの引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインA上に引き込むか決定され、当該優先された図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ130が押圧操作されたときに、当選した当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、その図柄を有効ラインA上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。
そして、各リール134a、134b、134cにおいては、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄が、上記の停止制御によって、必ず有効ラインA上に表示可能なように配列されている(図3および図5参照)。具体的に、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄同士は、各リール134a、134b、134c内で最大図柄4コマ分しか離隔していないので、停止制御によって必ず有効ラインA上に表示することができる。このように、当選役「リプレイ」に当選すると、これら当選役「リプレイ」に対応する図柄組み合わせが、必ず、有効ラインA上に表示されることとなる。このようにして、当選役「リプレイ」に対応する図柄組み合わせが有効ラインA上に表示された場合には、メダルを投入することなく次の1遊技を開始することが可能となる。
(小役)
また、当選役抽選の結果、当選役「ベル」に当選した場合には、当選役「ベル」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「ベルA」が有効ラインA上に表示可能となり、当選役「ベル」に対応する図柄組み合わせが有効ラインA上に表示された場合には、当選役に対応した枚数(ここでは9枚)のメダルが遊技者に払い出される。ここで、当選役「ベル」に対応する図柄組み合わせを構成する図柄「ベルA」同士は、各リール134a、134b、134c内で最大図柄4つ分しか離隔していないので(図3および図5参照)、当選役「リプレイ」同様、上記の停止制御によって、必ず有効ラインA上に表示することができる。
(ボーナス役)
また、当選役抽選の結果、当選役「BB」に当選すると、図5に示した当選役「BB」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「赤7」が有効ラインA上に表示可能となり、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されると、遊技状態がボーナス遊技状態に設定され、次の1遊技(以下、単に次遊技という)以降、メダルが所定枚数(例えば、297枚)払い出されるまで、ボーナス遊技状態にて遊技を実行することが可能となる。なお、各リール134a、134b、134cにおいては、それぞれ図柄「赤7」が、上記の停止制御によっても、有効ラインA上に表示されない場合があるように配列されている(図3および図5参照)。そのため、当選役「BB」に当選したとしても、遊技者は、当選役「BB」に対応する図柄組み合わせを必ずしも有効ラインA上に表示させられるとは限らない。
なお、上述したいずれかの当選役に当選すると、それぞれの当選役に対応する内部当選フラグが成立(ON)するとともに、この内部当選フラグの成立状況に応じて、リール134a、134b、134cそれぞれの停止制御がなされることとなる。このとき、小役に当選したものの、その小役に対応する図柄組み合わせを、その1遊技内で有効ラインA上に表示させることができなかった場合には、当該1遊技の終了後に内部当選フラグがOFFされる。つまり、小役の当選の権利は小役に当選した1遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。また、リプレイ役である当選役「リプレイ」に対応する内部当選フラグが成立した場合には、当選役「リプレイ」に対応する図柄組み合わせが必ず有効ラインA上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがOFFされる。これらに対して、当選役「BB」に当選した場合には、BB内部当選フラグが成立(ON)するとともに、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されるまで、BB内部当選フラグが遊技を跨いで持ち越される。
(遊技状態の遷移)
ここで、BB内部当選フラグについて、遊技状態の遷移と合わせて具体的に説明する。BB内部当選フラグが成立すると、BB内部当選フラグの成立状況に応じて、図6の(1)に示すように、主制御基板200で管理している遊技状態が、ボーナス役である当選役「BB」に当選していないボーナス非成立遊技状態から、ボーナス遊技状態の準備状態に相当するボーナス成立遊技状態となり、ボーナス成立遊技状態に基づいてリール134a、134b、134cそれぞれの停止制御がなされる。このとき、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させることができなかった場合には、そのままBB内部当選フラグが次遊技に持ち越され(ボーナス成立遊技状態が維持され)、次回以降の遊技においても当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させることが可能となる。そして、遊技者が、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させると、図6の(2)に示すように、遊技状態がボーナス成立遊技状態からボーナス遊技状態に移行する。また、ボーナス遊技状態において、所定枚数(例えば、297枚)を超えるメダルが払い出されると、図6の(3)に示すように、遊技状態が、ボーナス遊技状態からボーナス非成立遊技状態に移行する。ただし、図6の(4)に破線の矢印で示すように、ボーナス非成立遊技状態における当選役「BB」が成立した遊技で、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させた場合、ボーナス成立遊技状態を経由せず、直接、ボーナス遊技状態に移行する。
(当選役抽選テーブル)
図7は、当選役抽選乱数を判定する場合に用いられる当選役抽選テーブルを示す図である。当選役抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選役が異なったりする。図7は、各遊技状態(ボーナス非成立遊技状態、ボーナス成立遊技状態、ボーナス遊技状態)毎に割り当てられた当選領域(当選役)を「○」で表している。したがって、「○」が記載されていない当選領域は、その遊技状態に割り当てられていないことを示す。区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数(当選範囲値)と当選役が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選役抽選乱数の総数(65536)となる。したがって、当選役それぞれが決定される確率は、当選領域に対応付けられた置数を当選役抽選乱数の総数で除算した値となる。当選役抽選手段304は、その時点の遊技状態に基づいて、当該当選役抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選役抽選乱数から減算して、その減算値が0未満となると、その時点の当選領域に対応付けられた当選役を抽選結果としている。当該抽選の手順は、他の抽選においても適用できる。
また、各遊技状態によって抽選の対象となる当選役が異なっている。例えば、図7において、ボーナス非成立遊技状態と、ボーナス成立遊技状態とを比較すると、前者は当選役「BB」の抽選を行っているのに対し、後者では当選役「BB」の抽選を行っていない。これは、後者では、既に当選役「BB」に当選しているので重ねて当選役「BB」を当選させることができないからである。また、後者では、前者に比べ、当選役「リプレイ」の当選確率を高く設定している。また、図7のボーナス遊技状態によれば、重ねて当選役「BB」の抽選を行わないとともに、当選役「リプレイ」の抽選も行われない。また、当選役「ベル」が高確率で当選するように設定されているので、ボーナス非成立遊技状態やボーナス成立遊技状態と比べて、1遊技で獲得できる枚数の平均値を示す期待獲得枚数が高くなっている。なお、当選役抽選テーブルの当選領域0には、「不当選」が対応付けられており、当選役抽選によって「不当選」が決定すると、図5に示したいずれの当選役に対応する図柄組み合わせも有効ラインA上に表示されることなく、メダルの払い出し等が行われることはない。ただし、ボーナス成立遊技状態(BB内部当選フラグがON)において、当選役抽選によって「不当選」が決定すると、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示可能となる。
以下、主制御基板200における具体的処理をフローチャートに基づいて説明する。
(主制御基板200のメイン処理)
図8は、主制御基板200のメイン処理を示したフローチャートである。ここでは、まず、主制御基板200のメイン処理に沿って、初期化後の1遊技の概略を説明する。また、詳細な説明は省略するが、各処理が遂行される際、各処理において用いられるスイッチ(ベットスイッチ126、スタートスイッチ128、ストップスイッチ130a、130b、130c)は、処理の開始時に有効化され、処理の終了時に無効化される。
(ステップS100)
電源スイッチ148を介してスロットマシン100の電源が投入され、通電状態になると、初期化手段300は、遊技開始に備え初期化処理を実行する。初期化手段300は、電源が投入されている間、随時バックアップデータを生成し、そのバックアップデータをメインRAM200cに保持している。したがって、不意の電断が生じたとしても、この初期化処理において、保持されたバックアップデータを用い電断前の状態に復帰させることができる。例えば、リール134a、134b、134cの回転中に不意の電断が起きたとしても、復帰動作後に再度各リール134a、134b、134cが回転している状態から開始される。したがって、初期化処理では、基本的に、メインRAM200cの初期化(RAMクリア)は行われない。
(ステップS200)
また、コマンド決定手段314は、ベット枚数に変更があった場合に、変更されたベット枚数および貯留枚数を示す投入コマンドを生成し、コマンド送信手段316は、生成された投入コマンドを副制御基板202に送信する。
(ステップS300)
次に、当選役抽選手段304は、スタートスイッチ128に対する遊技開始操作を有効化し、スタートスイッチ128の操作待ち状態に移行する。ここで、当選役抽選手段304は、遊技者によるスタートスイッチ128の操作に応じて、主制御基板200の乱数発生器200dによって更新された当選役抽選乱数から、スタートスイッチ128が操作された時点における1の当選役抽選乱数を取得する。そして、当選役抽選手段304は、図7に示した当選役抽選テーブル、および、現在設定されている遊技状態に基づいて、取得した当選役抽選乱数が、いずれの当選領域に対応するか判定し、判定された当選領域の当選役または不当選を抽選結果として決定する。また、コマンド決定手段314は、スタートスイッチ128の操作に応じて抽選結果が決定された後、当選役抽選の抽選結果(当選役または不当選)や遊技状態に関する情報等を含む当選役コマンドを生成し、コマンド送信手段316は、生成された当選役コマンドを副制御基板202に送信する。また、状態移行手段312は、ボーナス非成立遊技状態において当選役「BB」に当選したことに基づき遊技状態をボーナス非成立遊技状態からボーナス成立遊技状態へ移行させる。
(ステップS400)
スタートスイッチ128が操作されると、リール制御手段306は、ステッピングモータ262を駆動してリール134a、134b、134cを回転させる。このリール回転処理においては、前回の1遊技におけるリール134a、134b、134cの回転開始時点から所定の時間(例えば4.1秒)が経過すると(ウェイト)、当該遊技におけるリール134a、134b、134cの回転を開始する。そして、リール制御手段306は、リール134a、134b、134cの全てが定常回転となったところで、ストップスイッチ130a、130b、130cを有効化し、遊技者によるストップスイッチ130a、130b、130cの操作を受け付けると、その操作に対応するリール134a、134b、134cのいずれかを停止制御する。また、コマンド決定手段314は、ストップスイッチ130a、130b、130cのいずれかの操作がなされると、操作がなされたストップスイッチ130a、130b、130cの情報を示す停止コマンド(第1停止コマンド、第2停止コマンド、第3停止コマンド)を操作の度に生成し、コマンド送信手段316は、生成された停止コマンドを順次、副制御基板202に送信する。かかるリール回転処理S400については、その処理例を後程詳述する。
(ステップS500)
次に、判定手段308は、図3(b)に示した有効ラインA上に表示された図柄組み合わせが予め定められたどの組み合わせに相当するかを判定し、その図柄組み合わせに応じて遊技状態の変更やリプレイに際して要求される種々の処理を実行する。また、コマンド決定手段314は、有効ラインA上に表示された図柄組み合わせや、有効ラインA上に小役に対応する図柄組み合わせが表示された場合におけるメダルの払出枚数等を含む入賞コマンドを生成し、コマンド送信手段316は、生成された入賞コマンドを副制御基板202に送信する。また、状態移行手段312は、ボーナス成立遊技状態において当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されたことに基づき、遊技状態をボーナス成立遊技状態からボーナス遊技状態へ移行させる。
(ステップS600)
続いて、払出制御手段310は、ステップS500における判定結果に基づき、例えば、有効ラインA上に小役に対応する図柄組み合わせが表示されると、当該小役に対応するメダルの払出処理を実行し、有効ラインA上にリプレイ役に対応する図柄組み合わせが表示されると、自動的に次遊技のベットを行うための処理を実行する。また、状態移行手段312は、ボーナス遊技状態においてメダルの所定枚数の払い出しが実行されると、遊技状態をボーナス遊技状態からボーナス非成立遊技状態へ移行させる。このように、払出制御手段310は、有効ラインA上に表示された図柄組み合わせに対応して種々の処理を遂行し、当該1遊技を終了する。また、コマンド決定手段314は、メダルの払出処理がなされた場合、払出処理がなされたことを示す払出コマンドを生成し、コマンド送信手段316は、生成された払出コマンドを副制御基板202に送信する。
ステップS200からステップS600までの一連の処理を通じて1遊技が実行される。以後は、ステップS200からステップS600までのメインループを繰り返すこととなる。
(リール回転処理S400)
ここでは、リール回転処理S400の処理例として、リール制御手段306が、3つのリール134a、134b、134cの回転を制御する(待機、加速、定常回転、停止)プログラムを挙げる。リール回転処理S400はサブルーチンとして機能する。したがって、リール回転処理S400を実行する前に各レジスタの値が退避され、実行された後に、その値がレジスタに復帰される。ここでは、仮に、3つのリール134a、134b、134c全てに関し、ステッピングモータ262のステップ数を1だけ進めて、リール134a、134b、134cの状態を更新する例を挙げて説明する。
ここで、リール134a、134b、134cの状態は、モータフェーズ、ステップ数、現在出現図柄番号(図柄番号)の3つのパラメータで表される。このうち、モータフェーズは、リール134a、134b、134cの動作状態、すなわち、待機中、加速中、定常回転中、停止中を示し、その動作状態毎にリール134a、134b、134cの回転処理が対応付けられている。ここで、待機中はスタートスイッチ128の操作待ち状態を示し、加速中はリール134a、134b、134cの回転を加速させる状態を示し、定常回転中はリール134a、134b、134cの回転を、定常回転を示す所定の速度(80rpm/min未満)に維持させる状態を示し、停止中はリール134a、134b、134cを停止させる状態を示す。なお、ここでは、待機中、加速中、定常回転中、停止中といった動作を挙げているが、さらに、リール134a、134b、134cの回転を減速させる状態を示す減速中が含まれていてもよい。以下、モータフェーズについて具体的に説明する。
図9は、モータフェーズの変化態様を説明するための説明図である。ここでは、説明の便宜上、左リール134a、中リール134b、右リール134cの順にリール134a、134b、134cを停止させるストップスイッチ130a、130b、130cの打順、所謂、順押しの打順で操作された場合を説明するが、操作可能な全通り(ここでは6通り)のいずれの打順にも適用できることは言うまでもない。
各リール134a、134b、134cのモータフェーズは初期状態の待機中となっている。待機中において、図9(a)のように、遊技者によってスタートスイッチ128が操作されると、モータフェーズは待機中から加速中に切り換わり、リール制御手段306は、左リール134a、中リール134b、右リール134cに対応するステッピングモータ262を1−2相励磁し、左リール134a、中リール134b、右リール134cの回転を開始する。
そして、左リール134a、中リール134b、右リール134cそれぞれの回転速度が上昇し、例えば167msec後に、図9(b)のように、所定の速度(80rpm/min未満)に到達すると、モータフェーズは加速中から定常回転中に切り換わり、リール制御手段306は、1−2相励磁を継続して、その所定の速度を維持する。続いて、リール制御手段306は、図9(c)において、左リール134a、中リール134b、右リール134cそれぞれの位置を特定するインデックスを全て検出すると、ストップスイッチ130a、130b、130cの操作を有効化する。
かかるストップスイッチ130a、130b、130cの操作の有効化に応じ、遊技者が、図9(d)のように、ストップスイッチ130aを操作すると、リール制御手段306は、全てのストップスイッチ130a、130b、130cの操作を無効化する。そして、リール制御手段306は、操作時において引込範囲内に存在している図柄を停止図柄として決定し、当該停止図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持する。したがって、ストップスイッチ130aの操作から滑りコマ数分回転するのに、操作検出や割込処理の反応時間も含めて1.5〜188msecの時間を費やす。なお、かかる時間は190msec以内なので問題にはならない。
続いて、図9(e)のように、左リール134aが、決定された停止図柄を有効ラインA上に停止可能な停止位置に到達すると、左リール134aのモータフェーズは定常回転中から停止中に切り換わり、リール制御手段306は、左リール134aに対応するステッピングモータ262を全相励磁し、励磁する相が切り換わらないように、左リール134aの停止処理を開始する。こうして、左リール134aは、停止処理の開始から約13msec後に停止するが、全相励磁は、203msecの間継続される。図9(f)のように、203msecが経過すると、左リール134aのモータフェーズは停止中から待機中に切り換わり、リール制御手段306は、全相励磁を開放する。
そして、リール制御手段306は、図9(e)において、停止間隔を確保するタイマ等を用いることなく、すなわち、ストップスイッチ130a、130b、130cのいずれかを操作後、次の操作までの時間を計時することなく、左リール134aの停止処理の開始(全相励磁の開始)タイミングにおいて、未だ操作されていない残ったストップスイッチ(ここでは、ストップスイッチ130b、130c)の操作を有効化する。したがって、ストップスイッチ130aが操作されてから、残ったストップスイッチ(ここでは、ストップスイッチ130b、130c)が有効化されるまで、滑りコマ数に応じて、1.5〜188msecしか費やされないこととなる。
同様に、ストップスイッチ130b、130cの操作の有効化に応じ、遊技者が、図9(g)のように、ストップスイッチ130bを操作すると、リール制御手段306は、ストップスイッチ130b、130cの操作を無効化する(結果的に全てのストップスイッチ130a、130b、130cの操作が無効になっている)とともに、操作時において引込範囲内に存在している停止図柄を決定し、当該停止図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持する。
続いて、図9(h)のように、中リール134bが、決定された停止図柄を有効ラインA上に停止可能な停止位置に到達すると、中リール134bのモータフェーズは定常回転中から停止中に切り換わり、リール制御手段306は、中リール134bに対応するステッピングモータ262を全相励磁し、中リール134bの停止処理を開始する。こうして、中リール134bは、停止処理の開始から約13msec後に停止するが、全相励磁は、203msecの間継続される。図9(i)のように、203msecが経過すると、中リール134bのモータフェーズは停止中から待機中に切り換わり、リール制御手段306は、全相励磁を開放する。
そして、ストップスイッチ130aの場合と同様に、停止間隔を確保するタイマ等を用いることなく、すなわち、ストップスイッチ130a、130b、130cのいずれかを操作後、次の操作までの時間を計時することなく、リール制御手段306は、中リール134bの停止処理の開始(全相励磁の開始)タイミングにおいて、未だ操作されていない残ったストップスイッチ(ここでは、ストップスイッチ130c)の操作を有効化する。
同様に、ストップスイッチ130cの操作の有効化に応じ、遊技者が、図9(j)のように、ストップスイッチ130cを操作すると、リール制御手段306は、ストップスイッチ130cの操作を無効化するとともに、操作時において引込範囲内に存在している停止図柄を決定し、当該停止図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持する。
続いて、図9(k)のように、右リール134cが、決定された停止図柄を有効ラインA上に停止可能な停止位置に到達すると、右リール134cのモータフェーズは定常回転中から停止中に切り換わり、リール制御手段306は、右リール134cに対応するステッピングモータ262を全相励磁し、右リール134cの停止処理を開始する。こうして、右リール134cは、停止処理の開始から約13msec後に停止する。なお、上述したように、右リール134cは、停止処理の開始から約13msec後に停止するが、全相励磁は、203msecの間継続される。図9(l)のように、203msecが経過すると、右リール134cのモータフェーズは停止中から待機中に切り換わり、リール制御手段306は、全相励磁を開放する。こうして、モータフェーズは、待機中→加速中→定常回転中→停止中→待機中→…といった順で繰り返されることとなる。
ここでは、ストップスイッチ130a、130b、130cの操作が有効になってから操作を行わせ、その順に各リール134a、134b、134cを停止する処理を行っているが、停止間隔を確保するタイマ等を用いることなく、各リール134a、134b、134cの停止処理の開始(全相励磁の開始)タイミングにおいて、未だ操作されていない残ったストップスイッチ130a、130b、130cの操作を有効化しているので、滑りコマ数によっては、ほとんど時間間隔を空けずに各リール134a、134b、134cを停止することができ、遊技者による操作のスムーズ化を図ることが可能となる。また、停止処理の開始(全相励磁の開始)から、残りの回転中の各リール134a、134b、134cに対する停止操作を有効化しているので、各リール134a、134b、134cにおいて、遊技者の操作タイミングに応じ滑りコマ数が変動したとしても(停止操作を行ってから停止するまでの時間が変動しても)、遊技者が操作したストップスイッチ130a、130b、130cと実際に各リール134a、134b、134cが停止する順番が異なってしまうことがない。
なお、ここでは、リール制御手段306は、各リール134a、134b、134cそれぞれに対応するステッピングモータ262を全相励磁して、各リール134a、134b、134cの停止処理を開始する例を挙げて説明したが、停止処理は全相励磁に限らず、励磁しさえすれば足り、1相励磁によって停止処理を開始してもよい。また、回転制御を1相励磁で行う場合または1−2相励磁で行う場合において、最終停止位置を特定の1相の位置とする場合には当該特定の1相において1相励磁をかけて停止させるようにしてもよい。また、回転制御を1相励磁で行う場合または1−2相励磁で行う場合において、最終停止位置を特定の1相の位置とする場合には当該特定の1相およびその前後の相を含む3相励磁をかけて停止させるようにしてもよい。また、回転制御を2相励磁で行う場合または1−2相励磁で行う場合において、最終停止位置を特定の2相の位置とする場合には当該特定の2相において2相励磁をかけて停止させるようにしてもよい。
図10は、リール制御手段306が、3つのリール134a、134b、134cの回転を制御するリール回転処理を示したフローチャートである。ここでは、本実施形態の特徴に関係する処理について詳細に説明し、本実施形態の特徴と無関係の構成については説明を省略する。
リール制御手段306は、まず、モータフェーズを取得する(S410)。そして、リール制御手段306は、かかるモータフェーズが待機中を示しているか否か判定する(S411)。その結果、モータフェーズが待機中であれば(S411におけるYES)、リール制御手段306は、当該リール回転処理S400から復帰し、待機中でなければ(S411におけるNO)、リール制御手段306は、かかるモータフェーズが定常回転中を示しているか否か判定する(S412)。その結果、モータフェーズが定常回転中であれば(S412におけるYES)、リール制御手段306は、定常回転中に対応する処理である定常回転中処理を実行し(S413)、定常回転中でなければ(S412におけるNO)、リール制御手段306は、かかるモータフェーズが停止中を示しているか否か判定する(S414)。その結果、モータフェーズが停止中であれば(S414におけるYES)、リール制御手段306は、リール134a、134b、134cを停止する処理である停止中処理を実行し(S415)、停止中でなければ(S414におけるNO)、リール制御手段306は、リール134a、134b、134cを加速する処理である加速中処理を実行する(S416)。以下、定常回転中処理S413、停止中処理S415、加速中処理S416のうち、定常回転中処理S413を詳述する。
(定常回転中処理S413)
図11は、定常回転中処理S413の流れを説明するためのフローチャートである。リール制御手段306は、まず、ステッピングモータ262の次の励磁として、1−2相励磁のうち1相励磁を出力する予定であるか否か判定する(S420)。これは、1−2相励磁の一方においてのみ処理を進めることで、処理回数を1/2にするためである。例えば、1−2相励磁では、定常回転中、4相のうち、任意の1相が励磁されている状態と、その1相を含む2相が励磁されている状態とが交互に生じる。また、ステッピングモータ262の速度が等しい場合、1相が励磁されている状態と、2相が励磁されている状態の時間はほぼ等しくなる。したがって、1相励磁を出力する予定ではない場合(S420におけるNO)に、後述する図柄情報更新処理S433を確実に実行し、1相励磁を出力する予定である場合(S420におけるYES)には、条件を満たした場合にのみ図柄情報更新処理S433を実行することで、処理負荷を軽減することができる。なお、ここでは、1−2相励磁のうち1相励磁を出力する予定でない場合に図柄情報更新処理S433を確実に実行するか否か判定する例を挙げて説明したが、かかる場合に限らず、1−2相励磁のうち、1相励磁および2相励磁のいずれか一方において、図柄情報更新処理S433を確実に実行すれば足り、例えば、2相励磁を出力する予定でない場合に図柄情報更新処理S433を確実に実行するとしてもよい。
1−2相励磁のうち1相励磁を出力する予定であるか否か判定した結果、1相励磁を出力する予定であれば(S420におけるYES)、リール制御手段306は、インデックス信号が検出されたか否か判定する(S421)。かかるインデックス信号は、リール134a、134b、134cに固定されている半円状の遮光板によって、インデックスセンサがオフからオン、および、オンからオフの予め定められたいずれかのタイミングで出力される信号である。その結果、インデックス信号が検出されていれば、すなわち、リール134a、134b、134cが1回転したと判断されれば(S421におけるYES)、リール制御手段306は、インデックスフラグがONされているか否か判定する(S422)。ここで、インデックスフラグは、リール134a、134b、134cが定常回転の速度となった後、インデックス信号を取得したときにONされるフラグである。その結果、インデックスフラグがONであれば(S422におけるYES)、リール制御手段306は、回転エラー検出カウンタが下限時間未満であるか否か判定する(S423)。その結果、回転エラー検出カウンタが下限時間未満であれば(S423におけるYES)、回転エラーと判断して回転エラーに関する処理を実行して(S424)、リール回転処理S400から復帰する。なお、インデックスフラグがOFFであれば(S422におけるNO)、また、回転エラー検出カウンタが下限時間以上であれば(S423におけるNO)、リール制御手段306は、回転エラー処理S424を実行することなく処理を進める。ここで、回転エラー検出カウンタは、リール134a、134b、134cの回転中に、エッジが検出されない状態で所定時間経過する、所謂、タイムアウトを判断するためのカウンタである。
ここで、下限時間を判断しているのは、以下の理由からである。通常、リール134a、134b、134cが停止している場合、回転エラー検出カウンタでカウントされる時間は上限時間以上となりタイムアウトする。しかし、リール134a、134b、134cがインデックスセンサの近傍で停止している場合、もしくは、インデックスセンサの近傍で振動している場合、インデックス信号が出力され続け、もしくは、短時間で切り換わり、回転エラー検出カウンタが正常にカウントされないことがある。ここでは、回転エラー検出カウンタが下限時間未満であれば、リール134a、134b、134cがインデックスセンサの近傍で停止もしくは振動していると判断し、回転エラーと判断している。
次に、リール制御手段306は、回転エラー検出カウンタをクリアする(S425)。ここでは、インデックス信号が検出されたので、回転エラー検出カウンタをクリア(0にリセット)して、タイムアウトを回避している。なお、定常回転中は、後述するように回転エラー検出カウンタを常時更新している。したがって、定常回転中は、インデックス信号(エッジ)が検出される毎に回転エラー検出カウンタをクリアしなければならない。
続いて、リール制御手段306は、インデックスフラグがONされているか否か判定する(S426)。その結果、インデックスフラグがONであれば(S426におけるYES)、リール制御手段306は、停止要求フラグがONされているか否か判定する(S427)。ここで、停止要求フラグは、定常回転中に、ストップスイッチ130a、130b、130cのいずれかが適切に操作されたことに応じてONとなるフラグである。その結果、停止要求フラグがONされていなければ(S427におけるNO)、また、インデックスフラグがONでなければ(S426におけるNO)、リール制御手段306は、ステップカウンタの初期値(単位図柄ステップ数)を設定する(S428)とともに、図柄番号カウンタの初期値(上限図柄数)を設定し(S429)、当該リール回転処理S400から復帰する。ここで、ステップカウンタは、ステッピングモータ262のステップ数を計数(ステップの変化に応じて1ずつインクリメントまたはデクリメント)するカウンタであり、図柄番号カウンタは、現在出現図柄番号を計数(図柄が変わる度に1ずつインクリメントまたはデクリメント)するカウンタである。現在出現図柄番号は、基準位置(例えば有効ラインA上)に現在出現している図柄を特定するため各図柄に順に付された番号であり、各図柄の位置を特定することができる。また、単位図柄は、複数の図柄のうちの1つの図柄を示し、単位図柄のステップ数は、リール134a、134b、134cの単位図柄分の回転に相当するステッピングモータ262のステップ数であり、上限図柄数(図柄数)は、リール134a、134b、134cの1回転に相当する単位図柄の数である。
ステップS421においてインデックス信号が検出されていなければ(S421におけるNO)、リール制御手段306は、タイムアウトによるエラーを特定するため、回転エラー検出カウンタをインクリメントして更新する(S430)。そして、リール制御手段306は、回転エラー検出カウンタが上限時間以上であるか否か判定する(S431)。その結果、回転エラー検出カウンタが上限時間以上であれば(S431におけるYES)、回転エラーと判断して回転エラーに関する処理を実行して(S432)、リール回転処理S400から復帰し、回転エラー検出カウンタが上限時間未満であれば(S431におけるNO)、リール制御手段306は、回転エラー処理S432を実行することなく図柄情報更新処理S433に処理を移す。
ここで、上限時間を判断しているのは、以下の理由からである。リール134a、134b、134cが停止している場合、回転エラー検出カウンタでカウントされる時間は上限時間以上となりタイムアウトする。ここでは、回転エラー検出カウンタが上限時間以上であれば、リール134a、134b、134cが停止や脱調していると判断し、回転エラーと判断している。
ステップS420において1相励磁を出力する予定ではないと判定されている(S420におけるNO)、または、ステップS427において、停止要求フラグがONされていると判断されていれば(S427におけるYES)、リール制御手段306は、リール134a、134b、134c上の図柄の情報を更新する図柄情報更新処理を行う(S433)。かかる図柄情報更新処理S433は後程詳述する。
続いて、リール制御手段306は、停止要求フラグがONされているか否か判定する(S434)。その結果、停止要求フラグがONされていれば(S434におけるYES)、リール制御手段306は、停止要求された図柄番号と、後述する現在出現図柄番号とを比較する(S435)。そして、リール制御手段306は、停止要求された図柄番号と現在出現図柄番号とが等しいか否か判定する(S436)。その結果、停止要求された図柄番号と現在出現図柄番号とが等しければ(S436におけるYES)、リール制御手段306は、インデックスフラグがONされているか否か判定する(S437)。その結果、インデックスフラグがONであれば(S437におけるYES)、リール制御手段306は、停止要求フラグをリセットし(S438)、モータフェーズを定常回転中から停止中に更新し(S439)、当該リール回転処理S400から復帰する。また、ステップS434において停止要求フラグがONされていなければ(S434におけるNO)、または、ステップS436において停止要求された図柄番号と現在出現図柄番号とが等しくなければ(S436におけるNO)、または、ステップS437においてインデックスフラグがOFFであれば(S437におけるNO)、当該リール回転処理S400から復帰する。
以下、図柄情報更新処理S433を説明する前に、その前提となる技術を説明する。本実施形態では、リール134a、134b、134cの1回転毎にステップ数の総数(総ステップ数)が252となるステッピングモータ262を用いている。これは、図柄数が仮に21であった場合に、252が21の倍数なので、単位図柄のステップ数を均等に扱えるからである。なお、本実施形態では、ステッピングモータ262を1−2相励磁で動作させているので、分解能が上がり、そのステップ数を252の2倍の504で計数することができる。したがって、以下の例では、総ステップ数を504として扱っている。
なお、ここでは、例えば、ステップ数が504といったように、21で割り切れるステップ数がリール134a、134b、134cの1回転に相当する例を挙げて説明しているが、かかる場合に限られず、21以外の、例えば、20、16では割り切れないが、少なくとも4で割り切れるステップ数が1回転に相当すればよい。
上述した、モータフェーズ、ステップ数、現在出現図柄番号の3つのパラメータのうち、ステップ数は、ステップカウンタによって計数され、現在出現している図柄を識別するための現在出現図柄番号は、図柄番号カウンタによって計数される。リール制御手段306は、ステップカウンタにステップ数を計数させ、ステップカウンタが計数したステップ数が、単位図柄におけるステップ数である単位図柄ステップ数経過する度に、図柄番号カウンタに図柄番号を計数させ、かつ、ステップカウンタをリセットし、図柄番号カウンタが計数した図柄番号が所定の上限図柄数に達すると、リール134a、134b、134cが1回転したとし、図柄番号カウンタをリセットする。
仮に、リール134a、134b、134cの1回転の総ステップ数が504であり、そのリール134a、134b、134cの図柄数が21の場合、単位図柄ステップ数は504/21=24となるので、リール制御手段306は、ステップカウンタに24を計数させることで、図柄番号カウンタを更新し、かつ、ステップカウンタを初期化する。また、リール制御手段306は、図柄番号カウンタが計数した現在出現図柄番号が上限図柄数である21に達すると図柄番号カウンタをリセットする。
なお、本実施形態では図柄数が20に設定されている。したがって、総ステップ数である504を図柄数の20で除算した値は整数にならない。そこで、本実施形態では、20コマ中、12コマで単位図柄ステップ数を26とし、8コマで単位図柄ステップ数を24として、図柄毎にステップ数を按分している。具体的に、単位図柄ステップ数を、5つ分の図柄に対し、図柄毎に26→24→26→24→26と順に移行させ、その組み合わせを4回繰り返す。こうして、20コマ中、3×4回=12コマで単位図柄ステップ数を26とし、2×4回=8コマで単位図柄ステップ数を24とすることができる。したがって、リール制御手段306は、図柄(図柄番号)に応じて、26または24を計数させることで現在出現図柄番号を更新し、ステップ数を初期化する。また、リール制御手段306は、図柄番号カウンタが計数した現在出現図柄番号が上限図柄数である20に達すると図柄番号カウンタをリセットする。
しかし、上記のように、複数の単位図柄ステップ数(26、24)を個別に管理しようとすると、以下の問題が生じる。すなわち、一般的に、スロットマシンでは、遊技の進行を制御する遊技制御処理に係るプログラムを、主制御基板のROMにおける使用領域(制御領域4.5kbyte+データ領域3.0kbyte)に配置しなければならない。
具体的に、主制御基板200においては、メインCPU200aが、メインROM200bに格納されたプログラムに基づきメインRAM200cと協働することで、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316等として機能し、遊技の進行を制御する。これらの機能部を実行するためのプログラムは、メインROM200bおよびメインRAM200cの所定の領域(使用領域)に配される。
図12は、メインROM200bおよびメインRAM200cのメモリマップを示す説明図である。ここで、メインROM200bには、0000h〜2FFFh(12kbyte)のメモリ空間が割り当てられ、メインRAM200cには、F000h〜F1FFh(512byte)およびF200h〜F3FFh(512byte)のメモリ空間が割り当てられている。また、メインROM200bおよびメインRAM200cのいずれにおいても使用領域が規定されている。
メインROM200bの0000h〜1DF3hのメモリ空間には使用領域が割り当てられている。具体的に、0000h〜11FFh(4.5kbyte)に制限されたメモリ空間(制御領域)に、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316を機能させて遊技の進行を制御する遊技制御処理を実行するためのプログラムの命令コードが格納され、1200h〜1DF3h(3.0kbyte)に制限されたメモリ空間(データ領域)に、遊技制御処理のプログラムに用いられるデータが格納されている。また、1E00h〜1EFFhのメモリ空間にはコメント領域が割り当てられ、2FC0h〜2FFFhのメモリ空間にはプログラム管理領域が割り当てられている。また、プログラムの命令コードはアセンブラ言語で記述されている。ここで、プログラムは、命令コードで構成されたものであり、コンピュータに読み出され、データやワークエリアと協働して所定の処理を実現することができる。
また、メインRAM200cのF000h〜F1FFhのメモリ空間には使用領域が割り当てられている。具体的に、F000h〜F13Fhのメモリ空間には、上記遊技制御処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F1C0h〜F1FFhのメモリ空間には、上記遊技制御処理のスタック領域が割り当てられている。また、メインCPU200aには内部レジスタが設けられている。
このように、メインCPU200aにおいて、使用領域の記憶容量は予め定められており、例えば、図12に示したように、制御領域が4.5kbyteに制限され、データ領域が3.0kbyteに制限されている。したがって、遊技性を高めるため、遊技制御処理のバリエーションを増やそうとしても、制御領域の中で、遊技制御処理の記憶容量が制限され、追加できないおそれがある。また、遊技利益が大きい当選役(選択当選役)を含む当選種別に当選したときに、その選択当選役の入賞条件となるストップスイッチの操作態様が報知されることで、当該選択当選役に対応する図柄組み合わせを、遊技者が有効ライン上に容易に表示させることができる、所謂、AT(アシストタイム)が実行されるAT演出状態や、リールユニット134を多彩な態様で回転させる所謂リール演出を、メインCPU200aが管理する場合、制御領域の中で、遊技制御処理の記憶容量がさらに制限されるおそれがある。
ここでは、図柄情報更新処理S433において、プログラムコードのバイト数を削減することで、遊技制御処理を行うための制御領域の増大を防止しつつ、リール134a、134b、134cを適切に制御する。
なお、ここでは、命令コードとして、エルイーテック(LETech)社が販売するLEM50A−P(製品名)に対して準備されたコマンドを用いている。LEM50A―Pは、遊技機業界で汎用的に用いられる(市場占有率が高い)、NC80EXというZ80系CPUを搭載したマイクロプロセッサである。
(図柄情報更新処理S433)
図13は、図柄情報更新処理S433の処理を説明するためのフローチャートである。リール制御手段306は、ステップカウンタからステップ数を取得し(S440)、そのステップ数を更新する(S441)。具体的に、リール制御手段306は、ステップ数を1だけデクリメントし、ステップ数が負となったか、すなわち、ステップ数が単位図柄ステップ数だけ計数されたか判定し、ステップ数が単位図柄ステップ数だけ計数されていれば、ステップ数を、単位図柄ステップ数「26」から演算都合の「1」を減算した「25」に更新する。ここでは、相異なる複数の単位図柄ステップ数として「25」と、後述する「23」とが準備され、まず、任意の単位図柄ステップ数として、「25」が仮決定されている。
続いて、リール制御手段306は、現在出現図柄番号の更新が必要か否か、すなわち、ステップ数が単位図柄ステップ数だけ計数されたか否か判定する(S442)。その結果、現在出現図柄番号の更新が必要であれば(S442におけるYES)、リール制御手段306は、図柄番号カウンタから現在出現図柄番号を取得し(S443)、その現在出現図柄番号を更新する(S444)。具体的に、リール制御手段306は、現在出現図柄番号を1だけデクリメントし、現在出現図柄番号が負となったか、すなわち、現在出現図柄番号が上限図柄数だけ計数されたか判定し、現在出現図柄番号が上限図柄数だけ計数されていれば、現在出現図柄番号を、上限図柄数「20」から演算都合の「1」を減算した「19」とする。そして、リール制御手段306は、かかる更新された現在出現図柄番号を図柄番号カウンタに設定する(S445)。
また、現在出現図柄番号の更新が必要でなければ(S442におけるNO)、現在出現図柄番号取得処理S443に移行することなく、後述するステップ数設定処理S449に直接移行する。かかる構成により、結果的に、現在出現図柄番号の更新が必要でなければ、ステップS443〜ステップS448を行わないで済む。なお、現在出現図柄番号の更新が必要でない場合は、換言すれば、ステップ数が単位図柄ステップ数経過したことにより現在出現図柄番号が更新されなかった場合なので、ステップ数更新処理S441のうちの、ステップ数を単位図柄ステップ数「25」に更新する処理も行う必要がない。したがって、リール制御手段306は、現在出現図柄番号の更新が必要でなければ、少なくとも単位図柄ステップ数を決定する処理を行わないとしてもよい。こうして、処理負荷の軽減を図ることができる。
続いて、リール制御手段306は、現在出現図柄番号に応じてステップ数を再度更新する。具体的に、リール制御手段306は、現在出現図柄番号を所定範囲(例えば、2以上)に含まれる除数、ここでは、5で除算し(S446)、その除算した余り(剰余)のビット0の値が0であるか否か、すなわち、偶数であるか否か判定する(S447)。その結果、ビット0の値が0でなければ(所定の結果であれば)、すなわち、1であれば(S447におけるNO)、リール制御手段306は、ステップ数を、単位図柄ステップ数「24」から演算都合の「1」を減算した「23」に再度更新する(S448)。ここでは、ステップ数として、仮決定された任意の単位図柄ステップ数「25」を、相異なる複数の単位図柄ステップ数「25」および「23」のうちの、仮決定された任意の単位図柄ステップ数「25」と異なる単位図柄ステップ数「23」に更新している。また、ビット0の値が0であれば(S447におけるYES)、ステップ数再更新処理S448を実行しない。この場合、ステップ数は、ステップ数更新処理S441で更新された「25」のままとなる。そして、リール制御手段306は、かかる更新されたステップ数をステップカウンタに設定する(S449)。
このようにステップ数を再度更新するのは、以下の理由による。すなわち、上述したように、ステッピングモータ262のステップ数504は20で割り切れない。そこで、20コマ中、12コマで単位図柄ステップ数を「26」とし、8コマで単位図柄ステップ数を「24」としている。そうすると、単位図柄ステップ数を「26」とする図柄と、単位図柄ステップ数を「24」とする図柄の比が3:2となるので、5で除算した余りが偶数の場合に「26」、奇数の場合に「24」とすることで、「26」と「24」の按分を実現できる。そこで、本実施形態では、まず、ステップ数として「26」を設定(仮決定)しておき、現在出現図柄番号を5で除算した余りが奇数であれば、それを「24」と置き換える(更新する)こととしている。こうして、図柄毎の単位図柄ステップ数の変化の規則性を維持しつつ、20コマ中、12コマで単位図柄ステップ数を「26」とし、8コマで単位図柄ステップ数を「24」とすることが可能となる。
なお、図柄の情報が必要ない、待機中、加速中および停止中においては図柄情報更新処理S433を実行しない。具体的に、リール制御手段306は、待機中、加速中および停止中において、少なくとも単位図柄ステップ数を決定する処理を行わない。また、待機中、加速中および停止中において、所定の処理、すなわち、ステップカウンタが計数したステップ数が単位図柄ステップ数経過する度に、図柄番号カウンタに図柄番号を計数させ、かつ、ステップカウンタをリセットし、図柄番号カウンタが計数した図柄番号が所定の図柄数に達すると図柄番号カウンタをリセットする処理を行わないとしてもよい。こうして、定常回転中に適切に図柄の情報を取得するとともに、図柄の情報が必要ない、待機中、加速中および停止中において処理負荷の軽減を図ることができる。
図14は、図13のフローチャートを実現するためのプログラムを説明するための説明図であり、図15は、ワークエリアにおける本実施形態の変数の配置を説明するための説明図である。図15では、変数の配置をパラメータ単位とせず、リール単位としている。具体的に、変数を第1リール134a、第2リール134b、第3リール134cの順に纏めて(連続させて)割り当てている。そして、各リール内で、モータフェーズ(_SMC_PHS)、ステップ数(_STE_CNT)、現在出現図柄番号(_FIG_NUM)といったパラメータに関する変数を、その順に割り当てている。したがって、第1リール134aのモータフェーズ、ステップ数、現在出現図柄番号、第2リール134bのモータフェーズ、ステップ数、現在出現図柄番号、第3リール134cのモータフェーズ、ステップ数、現在出現図柄番号の順に配置されることとなる。
図14の1行目の「SMCPROC」は、当該図柄情報更新処理S433の先頭アドレスを示す。2行目の「LD A,(IY+@STE_CNT_OFS)」は、IYレジスタの値(変数の先頭アドレス)に、図15に示したステップ数のアドレス(_STE_CNT)とモータフェーズのアドレス(_SMC_PHS)とのオフセット値@STE_CNT_OFS(ここでは1)を足したアドレス、すなわち、ステップ数のアドレスが示す内容を、Aレジスタに設定することを示す。かかる2行目のコマンドが、図13のステップS440に対応する。
図14の3行目の「DCPLD A,26−1」は、Aレジスタの値を1だけデクリメントし、デクリメントによってキャリアが生じた(マイナスになった)場合、所定のステップ数である(26−1)の値を設定することを示す。ここで、所定のステップ数を26−1としたのは、単位図柄ステップ数を26とした場合、ステップ数は0〜25の間の値で変化するからである。4行目の「LD E,A」は、EレジスタにAレジスタの値を設定することを示す。ここでは、Aレジスタを開放するため、ステップ数をEレジスタに退避している。5行目の「JR NC,SMC_ROT07」は、キャリアが生じていなければ、SMC_ROT07に移動することを示す。かかる3、4行目のコマンドが、図13のステップS441に対応し、5行目のコマンドが、図13のステップS442に対応する。
図14の6行目の「LD A,(IY+@FIG_NUM_OFS)」は、IYレジスタの値(変数の先頭アドレス)に、図15に示した現在出現図柄番号のアドレス(_FIG_NUM)とモータフェーズのアドレス(_SMC_PHS)とのオフセット値@FIG_NUM_OFS(ここでは2)を足したアドレス、すなわち、現在出現図柄番号のアドレスが示す内容を、Aレジスタに設定することを示す。ここで、図14の6行目で用いられている所定のアドレスに格納された変数をメインCPU200aの所定のレジスタに読み出すコマンドである「LD A,(qq+v)」は、単なる「LD」と異なり、vが8ビットで表される数値のうち0〜7以外の数値(−128〜−1もしくは8〜127のいずれか)であれば、当該「LD A,(qq+v)」は、「LD A,(qq+d)」として扱われ、コマンド自体の長さ(コマンド長)は3バイトとなるものの、0〜7のいずれかであれば、当該「LD A,(qq+v)」のコマンド長を2バイトに短縮できる。なお、qqは、IXレジスタもしくはIYレジスタが用いられる。このようなコマンドは、主として、BCレジスタ、DEレジスタ、および、HLレジスタを利用することができない場合に利用されることが多い。かかる6行目のコマンドが、図13のステップS443に対応する。
図14の7行目の「DCPLD A,20−1」は、Aレジスタの値を1だけデクリメントし、それによってキャリアが生じた(マイナスになった)場合、所定の図柄数である(20−1)の値を設定することを示す。ここで、所定の図柄数を20−1としたのは、上限図柄数を20とした場合、ステップ数は0〜19の間の値で変化するからである。8行目の「LD (IY+@FIG_NUM_OFS),A」は、Aレジスタの内容を、IYレジスタの値(変数の先頭アドレス)に、図15に示した現在出現図柄番号のアドレス(_FIG_NUM)とモータフェーズのアドレス(_SMC_PHS)とのオフセット値@FIG_NUM_OFS(ここでは2)を足したアドレス、すなわち、現在出現図柄番号のアドレスに設定することを示す。ここで、図14の8行目で用いられている所定のアドレスに格納された変数をメインCPU200aの所定のレジスタの値で更新するコマンドである「LD (qq+v),A」は、単なる「LD」と異なり、vが0〜7以外の数値であれば、当該「LD (qq+v),A」は、「LD (qq+d),A」として扱われ、コマンド自体の長さ(コマンド長)は3バイトとなるものの、0〜7のいずれかであれば、当該「LD (qq+v),A」のコマンド長を2バイトに短縮できる。かかる7、8行目のコマンドが、図13のステップS444、S445に対応する。
図14の9行目の「DIV D,A,5」は、Aアドレスの値(現在出現図柄番号)を5(所定範囲に含まれる除数)で除算した余り(剰余)をDレジスタに設定することを示す。かかる9行目のコマンドが、図13のステップS446に対応する。10行目の「JBIT Z,0,D,SMC_ROT07」は、Dレジスタのビット0が0であれば、「SMC_ROT07」に移動することを示す。かかる10行目のコマンドが、図13のステップS447に対応する。11行目の「LD E,24−1」は、Eレジスタに、26とは異なる所定のステップ数(ここでは24)を設定することを示す。かかる11行目のコマンドが、図13のステップS448に対応する。12行目の「SMC_ROT07:」は、5行目の「JR NC,SMC_ROT07」の移動先アドレスを示す。13行目の「LD (IY+@STE_CNT_OFS),E」は、Eレジスタの内容(ステップ数)で、IYレジスタの値(変数の先頭アドレス)に、図15で示した現在出現図柄番号のアドレス(_STE_CNT)とモータフェーズのアドレス(_SMC_PHS)とのオフセット値@STE_CNT_OFS(ここでは1)を足したアドレス、すなわち、ステップ数のアドレスの値を更新することを示す。かかる13行目のコマンドが、図13のステップS449に対応する。
なお、ここでは、ステップ数や現在出現図柄番号の計数に、数値を1ずつデクリメントするダウンカウンタを用いている。これは、ゼロやキャリアの発生を判断するコマンド(例えば、「DCPLD」)が多く(使い勝手が良く)、このようなコマンドを利用することでコマンド長を短くできるからである。ただし、必ずしもダウンカウンタに限らず、数値を1ずつインクリメントするアップカウンタを用いてもよく、その場合、ステップ数が単位図柄ステップ数に到達すると、また、現在出現図柄番号が上限図柄数に到達すると、各アップカウンタを0にリセットすればよい。
また、ここでは、ステップS441において、現在出現図柄番号に拘わらず、ステップ数を一旦固定的に更新(決定)し(例えば、単位図柄ステップ数=26)、その後、現在出現図柄番号に応じて、Dレジスタのビット0が0でなければ(1であれば)、再度、単位図柄ステップ数を24に書き換える(更新する)例を挙げて説明した。しかし、かかる場合に限らず、現在出現図柄番号に応じて、Dレジスタのビット0が0であれば、単位図柄ステップ数を26とし、Dレジスタのビット0が0でなければ(1であれば)、単位図柄ステップ数を24にする手順を採用することもできる。すなわち、相異なる複数の単位図柄ステップ数(例えば、26、24)から更新後の図柄番号に対応する任意の単位図柄ステップ数(例えば、26)を一旦決定し、更新後の図柄番号の値を所定範囲に含まれる除数で除算し、除算の剰余が所定の結果であれば、任意の単位図柄ステップ数(26)を、相異なる複数の単位図柄ステップ数のうちの任意の単位図柄ステップ数(26)とは異なる単位図柄ステップ数(24)に更新し、除算の剰余が所定の結果でなければ、任意の単位図柄ステップ数を更新しないとする代わりに、単位図柄ステップ数を予め仮決定することなく、除算の剰余が所定の結果であれば、相異なる複数の単位図柄ステップ数(例えば、26、24)から更新後の図柄番号に対応する任意の単位図柄ステップ数(例えば、26)を決定し、除算の剰余が所定の結果でなければ、相異なる複数の単位図柄ステップ数から任意の単位図柄ステップ数(26)と異なる単位図柄ステップ数(例えば、24)を決定するとしてもよい。かかる構成については、後述する図16〜図19の例にも適用することができる。
以上のように、ここでは、リール制御手段306が、ステップカウンタが計数したステップ数が単位図柄ステップ数経過する度に、図柄番号カウンタに現在出現図柄番号を計数させ、かつ、ステップカウンタをリセットし、図柄番号カウンタが計数した現在出現図柄番号が所定の上限図柄数に達すると図柄番号カウンタをリセットすることを前提に、現在出現図柄番号が更新されると、更新後の現在出現図柄番号を所定範囲に含まれる除数、ここでは5で除算し、相異なる複数の単位図柄ステップ数、ここでは、24および26から剰余に応じて単位図柄ステップ数を決定している。
図16は、図柄情報更新処理S433における単位図柄ステップ数の設定態様を抜粋した説明図である。例えば、ステッピングモータ262のステップ数が進むに連れ、現在出現図柄番号が0、1、2、…、18、19の順でインクリメントされる。かかる現在出現図柄番号を5で除算すると、図16のように、その剰余が0、1、2、3、4の順でインクリメントされ、それが4回繰り返される。かかる剰余を2進数で表すと、図16の3ビット表示(ビット2、ビット1、ビット0)に示されるように、000b、001b、010b、011b、100bの順でインクリメントされ、それが4回繰り返されることになる。かかる3ビット表示のビット0(最下位ビット)は、0、1を交互に繰り返す処理が4回繰り返し実行される。したがって、図16においては、現在出現図柄番号0〜19に対し、ビット0が、「0b」、「1b」、「0b」、「1b」、「0b」、「0b」、「1b」、「0b」、「1b」、「0b」、「0b」、「1b」、「0b」、「1b」、「0b」、「0b」、「1b」、「0b」、「1b」、「0b」となる。なお、3ビットより上位5ビットを0で固定した8ビット(1バイト)表示においても、ビット0の切り換わり態様が等しいのは言うまでもない。ここで、ビット0に応じ、ビット0が「0b」であれば(所定の結果であれば)、単位図柄ステップ数を「26」とし、ビット0が「1b」であれば(所定の結果でなければ)、単位図柄ステップ数を「24」とする。
ここでは、現在出現図柄番号が更新されると、更新後の現在出現図柄番号を所定範囲に含まれる除数、ここでは5で除算し、相異なる複数の単位図柄ステップ数から剰余に応じて単位図柄ステップ数を決定する構成により、現在出現図柄番号の判定をビットレベルで行うことができる。こうして、プログラムの命令コードを最小化して遊技制御処理を行うための制御領域の増大を防止しつつ、各図柄の単位図柄ステップ数を大凡均等に、特に、ここでは、図柄毎に「26」と「24」とを交互に配し、かつ、図柄5個単位で規則的に設定することでリール134a、134b、134cを適切に制御することが可能となる。
(変形例1)
図17は、図柄情報更新処理S433の変形例を示した説明図である。図17の例では、リール制御手段306は、現在出現図柄番号が更新されると、更新後の現在出現図柄番号を所定範囲に含まれる除数、ここでは5で除算し、相異なる複数の単位図柄ステップ数、ここでは、25および26から剰余に応じて単位図柄ステップ数を決定している。
例えば、ステッピングモータ262のステップ数が進むに連れ、現在出現図柄番号が0、1、2、…、18、19の順でインクリメントされる。かかる現在出現図柄番号を5で除算すると、図17のように、その剰余が0、1、2、3、4の順でインクリメントされ、それが4回繰り返される。かかる剰余を2進数で表すと、図17の3ビット表示に示されるように、000b、001b、010b、011b、100bの順でインクリメントされ、それが4回繰り返されることになる。かかる3ビット表示のビット2(最上位ビット)は、図柄5個毎に「1」となる。したがって、図17においては、現在出現図柄番号0〜19に対し、ビット2が、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」となる。なお、3ビットより上位5ビットを0で固定した8ビット(1バイト)表示においても、ビット2の切り換わり態様は等しい。ここで、ビット2に基づき、ビット2が「0b」であれば(所定の結果であれば)、単位図柄ステップ数を「25」とし、ビット2が「1b」であれば(所定の結果でなければ)、単位図柄ステップ数を「26」とする。
かかる構成によっても、現在出現図柄番号の判定をビットで行うことができ、プログラムの命令コードを最小化して遊技制御処理を行うための制御領域の増大を防止しつつ、各図柄のステップ数を大凡均等に、かつ、図柄5個単位で規則的に設定することでリール134a、134b、134cを適切に制御することが可能となる。
(変形例2)
図18は、図柄情報更新処理S433の他の変形例を示した説明図である。図18の例では、ステッピングモータ262における総ステップ数が504ではなく、336である点が異なる。リール制御手段306は、現在出現図柄番号が更新されると、更新後の現在出現図柄番号を所定範囲に含まれる除数、ここでは5で除算し、相異なる複数の単位図柄ステップ数、ここでは、17および16から剰余に応じて単位図柄ステップ数を決定している。
例えば、ステッピングモータ262のステップ数が進むに連れ、現在出現図柄番号が0、1、2、…、18、19の順でインクリメントされる。かかる現在出現図柄番号を5で除算すると、図18のように、その剰余が0、1、2、3、4の順でインクリメントされ、それが4回繰り返される。かかる剰余を2進数で表すと、図18の3ビット表示に示されるように、000b、001b、010b、011b、100bの順でインクリメントされ、それが4回繰り返されることになる。かかる3ビット表示のビット2(最上位ビット)は、図柄5個毎に「1」となる。したがって、図18においては、現在出現図柄番号0〜19に対し、ビット2が、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」となる。なお、3ビットより上位5ビットを0で固定した8ビット(1バイト)表示においても、ビット2の切り換わり態様は等しい。ここで、ビット2に基づき、ビット2が「0b」であれば(所定の結果であれば)、単位図柄ステップ数を「17」とし、ビット2が「1b」であれば(所定の結果でなければ)、単位図柄ステップ数を「16」とする。
かかる構成によっても、現在出現図柄番号の判定をビットで行うことができ、プログラムの命令コードを最小化して遊技制御処理を行うための制御領域の増大を防止しつつ、各図柄のステップ数を大凡均等に、かつ、図柄5個単位で規則的に設定することでリール134a、134b、134cを適切に制御することが可能となる。
(変形例3)
図19は、図柄情報更新処理S433の他の変形例を示した説明図である。図19の例では、ステッピングモータ262が1相励磁で制御されるため、その総ステップ数が252である点が異なる。リール制御手段306は、現在出現図柄番号が更新されると、更新後の現在出現図柄番号を所定範囲に含まれる除数、ここでは5で除算し、相異なる複数の単位図柄ステップ数、ここでは、12および13から剰余に応じて単位図柄ステップ数を決定している。
例えば、ステッピングモータ262のステップ数が進むに連れ、現在出現図柄番号が0、1、2、…、18、19の順でインクリメントされる。かかる現在出現図柄番号を5で除算すると、図19のように、その剰余が0、1、2、3、4の順でインクリメントされ、それが4回繰り返される。かかる剰余を2進数で表すと、図19の3ビット表示に示されるように、000b、001b、010b、011b、100bの順でインクリメントされ、それが4回繰り返されることになる。かかる3ビット表示のビット2は、図柄5個毎に「1」となり、ビット1は、0b、0b、1b、1b、0bの値を繰り返す。図19においては、現在出現図柄番号0〜19に対し、ビット2が「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」、「0b」、「0b」、「0b」、「0b」、「1b」となる。また、現在出現図柄番号0〜19に対し、ビット1が「0b」、「0b」、「1b」、「1b」、「0b」、「0b」、「0b」、「1b」、「1b」、「0b」、「0b」、「0b」、「1b」、「1b」、「0b」、「0b」、「0b」、「1b」、「1b」、「0b」となる。なお、3ビットより上位5ビットを0で固定した8ビット(1バイト)表示においても、ビット2およびビット1の切り換わり態様は等しい。ここで、ビット2およびビット1に基づき、いずれかのビットが「1b」であれば(所定の結果であれば)、単位図柄ステップ数を13とし、いずれのビットも「0b」であれば(所定の結果でなければ)、単位図柄ステップ数を12とする。
このようにリール制御手段306は、除数を2進数で表した場合の複数のビットの値の論理演算に基づいて単位図柄ステップ数を決定してもよい。
また、リール制御手段306は、剰余が所定値以上であるか否かに基づいて単位図柄ステップ数を決定してもよい。例えば、図17の例では、剰余が4以上であれば、単位図柄ステップ数を26とし、剰余が4未満であれば、単位図柄ステップ数を25とする。また、図18の例では、剰余が4以上であれば、単位図柄ステップ数を16とし、剰余が4未満であれば、単位図柄ステップ数を17とする。また、図19の例では、剰余が2以上であれば、単位図柄ステップ数を13とし、剰余が2未満であれば、単位図柄ステップ数を12とする。この場合、コンペア命令等を用いることでプログラムコードのバイト長を削減することが可能である。
かかる構成によっても、現在出現図柄番号の判定をビットで行うことができ、プログラムの命令コードを最小化して遊技制御処理を行うための制御領域の増大を防止しつつ、各図柄のステップ数を大凡均等に、かつ、図柄5個単位で規則的に設定することでリール134a、134b、134cを適切に制御することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことはいうまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態では、リール制御手段306が、図柄番号が更新されると、更新後の図柄番号を所定範囲に含まれる除数で除算し、相異なる2つの単位図柄ステップ数、例えば、24と26から剰余に応じて単位図柄ステップ数を決定する例を挙げて説明した。しかし、かかる場合に限らず、ステッピングモータ262の総ステップ数と、図柄数によっては、リール制御手段306が、図柄番号が更新されると、更新後の図柄番号を所定範囲に含まれる除数で除算し、相異なる3以上の単位図柄ステップ数、例えば、24と25と26とから剰余に応じて単位図柄ステップ数を決定するとしてもよい。
また、上述した実施形態では、リール制御手段306が、図柄番号が更新されると、更新後の図柄番号を所定範囲に含まれる除数で除算し、相異なる複数の単位図柄ステップ数から、剰余の所定のビットに応じて単位図柄ステップ数を決定する例を挙げて説明したが、かかる場合に限らず、例えば、所定の値のみ単位図柄ステップ数を変更するといったように、剰余自体に応じて単位図柄ステップ数を決定するとしてもよい。
また、上述した実施形態では、図柄数が20の場合に、総ステップ数が、例えば、504となるように、単位図柄ステップ数を、26、24、26、24、26、26、24、26、24、26、26、24、26、24、26、26、24、26、24、26といったように、規則的に変化させる例を挙げて説明した。ここでは、その規則性が保たれれば、図柄数を任意に変更することもできる。例えば、図柄数が16の場合、総ステップ数が、例えば、504となるように、更新後の図柄番号を所定範囲に含まれる除数で除算することなく、その図柄番号を2進数で表した場合の所定のビット(例えばビット0)の値に基づいて、相異なる複数の単位図柄ステップ数(例えば、31、32)から更新後の図柄番号に対応する単位図柄ステップ数を決定してもよい。例えば、ビット0が「0b」であれば「31」、「1b」であれば「32」とすると、単位図柄ステップ数は、31、32、31、32、31、32、31、32、31、32、31、32、31、32、31、32と規則的に変化する。また、その図柄番号を2進数で表した場合の所定のビット(例えばビット1)の値に基づいて、相異なる複数の単位図柄ステップ数(例えば、31、32)から更新後の図柄番号に対応する単位図柄ステップ数を決定してもよい。例えば、ビット1が「0b」であれば「31」、「1b」であれば「32」とすると、31、31、32、32、31、31、32、32、31、31、32、32、31、31、32、32と規則的に変化することとなる。
また、上述した実施形態では、主制御基板200と副制御基板202とが、遊技を進行するための機能部を分担するように配したが、主制御基板200の機能部を副制御基板202に配しても、副制御基板202の機能部を主制御基板200に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。
また、上述した実施形態においては、遊技利益としてボーナス遊技を挙げて説明したが、かかる場合に限らず、上述したAT演出状態や、リプレイ役の当選確率が通常遊技より高くなるように設定してメダルの消費を抑えることで、メダルの消費に対する当選役の抽選機会を増やす、RT(リプレイタイム)遊技や、上記のATとRT遊技が同時に進行されるART遊技を設けてもよい。
また、上述した主制御基板200および副制御基板202が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。