以下、添付図面を参照して、本発明の実施の形態について説明する。
図1は、この実施の形態にかかるスロットマシンの全体構造を示す正面図である。スロットマシン1の前面扉は、施錠装置19にキーを差し込み、時計回り方向に回動操作することにより開放状態とすることができる。このスロットマシン1の上部前面側には、可変表示装置2が設けられている。可変表示装置2の内部には、3つのリール3L、3C、3Rから構成されるリールユニット3が設けられている。リール3L、3C、3Rは、それぞれリールモータ3ML、3MC、3MR(図3参照)の駆動によって回転/停止させられる。
リール3L、3C、3Rの外周部には、図2に示すように、それぞれ「赤7」、「白7」、「BAR」、「JAC」、「チェリー」、「ベル」といった互いに識別可能な複数種類の図柄が所定の順序で21個ずつ描かれている。ここで、左のリール3Lについての「チェリー」は、7コマ間隔で配置されている。リール3L、3C、3Rの外周部に描かれた図柄は、可変表示装置2において上中下三段に表示される。
リールユニット3内には、リール3L、3C、3Rのそれぞれに対して、その基準位置を検出するリールセンサ3SL、3SC、3SR(図3参照)と、背面から光を照射するリールランプ3LP(図3参照)とが設けられている。可変表示装置2には、賭け数に関わらず、上中下段の3本及び対角線の2本の有効ラインに加えて、左のリール3Lから順に上段、中段、上段により構成される谷形の有効ラインと、下段、中段、下段により構成される山形の有効ラインとの合計7本の有効ラインが設定される。これらの有効ラインのいずれかに後述する役の図柄の組み合わせが揃えば、入賞となる。
また、可変表示装置2の周囲には、各種表示部が設けられている。可変表示装置2の下側には、ゲーム回数表示部21と、クレジット表示部22と、ペイアウト表示部23とが設けられている。ゲーム回数表示部21は、7セグメント表示器によるゲーム回数表示器51(図3参照)によって構成され、後述するレギュラーボーナス(ビッグボーナス中に提供された場合を含む)におけるゲーム数及び入賞数をカウントするカウンタの値を表示する。ゲーム回数表示部21は、後述するビッグボーナス時にメダルの払い出し数をカウントするカウンタの値を表示するために用いてもよい。さらに、ゲーム回数表示部21は、後述するRAM異常エラーなどのエラーが発生したときに、発生したエラーの種類に対応したコード(エラーコード)を表示するためにも用いられる。
クレジット表示部22は、7セグメント表示器によるクレジット表示器52(図3参照)によって構成され、後述するようにメダルの投入枚数及び払い出し枚数に応じてデータとして蓄積されたクレジットの数を表示する。ペイアウト表示部23は、7セグメント表示器によるペイアウト表示器53(図3参照)によって構成され、入賞が成立した場合に払い出されるメダルの枚数を表示する。可変表示装置2の左側には、ゲーム毎に設定されている賭け数を示すための1枚賭け表示部24、2枚賭け表示部25、26、及び3枚賭け表示部27、28が設けられている。但し、ゲームを開始できる賭け数は、遊技状態に応じて予め決まっている。
可変表示装置2の右側には、投入指示表示部29と、スタート表示部30と、ウェイト表示部31と、リプレイ表示部32と、ゲームオーバー表示部33とが設けられている。投入指示表示部29は、投入指示ランプ59(図3参照)が点灯状態となることで、メダルが投入可能なことを示す。スタート表示部30は、スタートランプ60(図3参照)が点灯状態となることで、スタート可能、すなわちスタートレバー11の操作受付可能であることを示す。ウェイト表示部31は、ウェイトランプ61(図3参照)が点灯状態となることで、後述するウェイトがかかっていることを示す。リプレイ表示部32は、リプレイランプ62(図3参照)が点灯状態となることで、後述するリプレイ入賞をしたことを示す。ゲームオーバー表示部33は、ゲームオーバーランプ63(図3参照)が点灯状態となることで、スロットマシン1が打ち止めになったことを示す。
可変表示装置2の上側には、演出手段としての液晶表示器4が設けられている。液晶表示器4は、遊技状態や当選フラグの設定状況等に応じて様々な演出用の画像を表示する。また、液晶表示器4には、遊技に直接的または間接的に関わる様々な情報を表示することが可能である。
また、可変表示装置2の下方に設けられた台状部分の水平面には、メダル投入口13と、1枚BETボタン14と、MAXBETボタン15と、精算ボタン16とが設けられている。1枚BETボタン14及びMAXBETボタン15には、データとして蓄積されたクレジット(最大50)から賭け数の設定を可能としているときに点灯するBETボタンランプ70a、70b(図3参照)が内部に配されている。
メダル投入口13は、遊技者がここからメダルを投入するものであり、投入指示表示部29が点灯しているときにメダルの投入が投入メダルセンサ44(図3参照)によって検出されると、賭け数が設定され、或いはクレジットがデータとして蓄積される。1枚BETボタン14及びMAXBETボタン15は、データとして蓄積されているクレジットから賭け数(それぞれ1、3)を設定する際に遊技者が操作するボタンであり、遊技者によって操作されたことが1枚BETスイッチ45(図3参照)またはMAXBETスイッチ46(図3参照)によって検出されると、クレジットからの賭け数の設定が行われる。精算ボタン16は、クレジットの払い出しを指示するためのボタンであり、精算スイッチ47(図3参照)によって操作が検出されると、データとして蓄積されたクレジットに応じたメダルが払い出される。
その台状部分の垂直面には、スタートレバー11と、停止ボタン12L、12C、12Rとが設けられている。スタートレバー11は、ゲームを開始する際に遊技者が操作するもので、その操作がスタートスイッチ41(図3参照)によって検出されると、リール駆動モータ3ML、3MC、3MRが駆動開始され、リール3L、3C、3Rが回転開始する。リール3L、3C、3Rが回転開始した後所定の条件が成立することにより停止ボタン12L、12C、12Rの操作が可能となると、その内部に備えられた操作有効ランプ63L、63C、63R(図3参照)が点灯状態となって、その旨が遊技者に示される。
停止ボタン12L、12C、12Rは、それぞれ遊技者が所望のタイミングでリール3L、3C、3Rの回転を停止させるべく操作するボタンであり、その操作がストップスイッチ42L、42C、42R(図3参照)で検出されると、リール3L、3C、3Rの回転が停止される。停止ボタン12L、12C、12Rの操作から対応するリール3L、3C、3Rの回転を停止するまでの最大停止遅延時間は、基本的には190ミリ秒であるが、遊技状態が後述するCT(Challenge Time)にあるときは、右のリール3Rについての最大停止遅延時間が75ミリ秒に短縮される。
リール3L、3C、3Rは、1分間に80回転し、80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄を変動させるので、190ミリ秒の間では最大で4コマの図柄を引き込むことができることとなる。遊技状態がCTにあるときの右のリール3Rについては、75ミリ秒の間で最大1コマの図柄を引き込むことができる。なお、リール3L、3C、3Rの停止時における停止図柄の選択は、後述するように当選フラグの設定状況に従って予め選択されるリール制御テーブルに基づいて行われる。
さらに、停止ボタン12L、12C、12Rを覆うパネルが、ボーナス告知部36として適用されている。ボーナス告知部36は、ボーナス告知ランプ66(図3参照)が点灯状態となることで、後述するレギュラーボーナス入賞、及びビッグボーナス入賞が可能となっていることを遊技者に告知する。また、停止ボタン12Rの右側には、メダルが詰まったときなどにおいてスロットマシン1に機械的に振動を与えるメダル詰まり解消ボタン18が設けられている。
スロットマシン1の下部前面側には、メダル払い出し口71と、メダル貯留皿72とが設けられている。メダル払い出し口71は、ホッパー80(図3参照)によって払い出しが行われたメダルを外部に排出するものである。メダル貯留皿72は、払い出されたメダルを貯めておくためのものである。メダル貯留皿72の上の前面パネルには、内部に設置された蛍光灯6(図3参照)が発した光が照射される。
スロットマシン1の下部前面側と、上部前面側の左右とには、それぞれ演出手段としてのスピーカ7U、7L、7Rが設けられている。スピーカ7U、7L、7Rは、入賞時、ビッグボーナス突入時、及びレギュラーボーナス突入時における効果音の出力や、異常時における警報音の出力を行うと共に、遊技状態に応じた様々な演出用の音声の出力を行う。
さらに、スロットマシン1の前面側には、可変表示装置2及び液晶表示器4の周囲を取り囲むように、演出手段としての遊技効果ランプ75A〜75M(図3参照)の発光により光による演出を行う遊技効果表示部5A〜5Mが設けられている。遊技効果表示部5A〜5Mは、遊技の進行状況に応じた様々なパターンで光による演出を行うものである。なお、遊技効果表示部5A〜5Mの発光色は、単色からなるものであっても、複数色からなるものであっても構わない。
図3は、このスロットマシン1の制御回路の構成を示す図である。図示するように、このスロットマシン1の制御回路は、電源基板100、遊技制御基板101、演出制御基板102、リール中継基板103、リールランプ中継基板104、外部出力基板105、及び演出中継基板106に大きく分けて構成される。
電源基板100は、AC100Vの外部電源電圧を変圧し、遊技制御基板101その他のスロットマシン1の各部に動作電力を供給する。図3では、遊技制御基板101、ホッパー80、各スイッチ91〜94にのみ接続されているように示しているが、電源基板100は、他の各部への電力の供給も行っている。電源基板100は、スロットマシン1の内部に設けられ、メダルの払い出し動作を行うホッパーモータ82と、メダルの払い出しを検知する払い出しセンサ81とから構成されるホッパー80に接続されている。
電源基板100は、後述する内部抽選への当選確率を設定し、これに基づいて算出されるメダルの払出率の設定値(設定1〜設定6)を変更するための設定スイッチ91、設定スイッチ91を操作有効とする設定キースイッチ92、内部状態(RAM112)をリセットする第2リセットスイッチ93、及び電源のON/OFF切り替えを行うメインスイッチ94にもそれぞれ接続されてており、これらのスイッチの検出信号を遊技制御基板101へと送る。これらのスイッチ91〜94は、スロットマシン1の内部に設けられている。
遊技制御基板101は、スロットマシン1における遊技の進行全体の流れを制御するメイン側の制御基板であり、CPU111、RAM112、ROM113及びI/Oポート114を含む1チップマイクロコンピュータからなる制御部110を搭載している。また、乱数発生回路115、サンプリング回路116、電源監視回路117、リセット回路118その他の回路を搭載している。
CPU111は、計時機能、タイマ割り込みなどの割り込み機能(割り込み禁止機能を含む)を備え、ROM113に記憶されたプログラム(後述)を実行して、遊技の進行に関する処理を行うと共に、スロットマシン1内の制御回路の各部を直接的または間接的に制御する。CPU111が取り扱うデータの1ワードは、8ビット(1バイト)であり、RAM112、ROM113のアドレスも、8ビット単位で割り付けられている。
RAM112は、CPU111がプログラムを実行する際のワーク領域として使用される。ROM113は、CPU111が実行するプログラムや固定的なデータを記憶する。RAM112とROM113のアドレスの割り当ては、メーカにおける開発用機種とホールに納入される量産機種とで異なる。I/Oポート114は、遊技制御基板101に接続された各回路との間で制御信号を入出力する。
また、RAM112は、DRAM(Dynamic RAM)が使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要となる。CPU111には、このリフレッシュ動作を行うためのリフレッシュレジスタが設けられている。リフレッシュレジスタは、1ワード分の大きさである8ビットからなり、そのうちの下位7ビットがCPU111がROM113から命令をフェッチする度に自動的にインクリメントされるもので、その値の更新は、1命令の実行時間毎に行われる。なお、RAM112の領域の構成については、後述する。
乱数発生回路115は、後述するように所定数のパルスを発生する度にカウントアップして値を更新するカウンタによって構成され、サンプリング回路116は、乱数発生回路115がカウントしている数値を取得する。乱数発生回路115は、遊技の進行に使用される乱数の種類毎に設けられていて、乱数の種類毎にカウントする数値の範囲が定められている。CPU111は、その処理に応じてサンプリング回路116に指示を送ることで、乱数発生回路115が示している数値を乱数として取得する(以下、この機能をハードウェア乱数機能という)。後述する内部抽選用の乱数には、ハードウェア乱数機能により抽出した数値をソフトウェアにより加工した数値が使用される。
電源監視回路117は、電源基板100から供給される電源電圧を監視し、電圧の低下を検出したときに、電圧低下信号を制御部110に対して出力する。制御部110は、特に図示はしないが、電源監視回路117に接続された割込入力端子を備えており、割込入力端子に電圧低下信号が入力されることでCPU111に外部割り込みが発生し、CPU111は、後述する電断割込処理を実行する。
リセット回路118は、電源投入時において制御部110が起動可能なレベルまで電圧が上昇したきにリセット信号を出力して制御部110を起動させると共に、制御部110から定期的に出力される信号に基づいてリセットカウンタの値がクリアされずにカウントアップした場合、すなわち制御部110が一定時間動作を行わなかった場合に、制御部110に対してリセット信号を出力し、制御部110を再起動させる。
CPU111は、また、タイマ割り込み処理により、RAM112の特定アドレスの数値を更新し、こうして更新された数値を乱数として取得する機能も有する(以下、この機能をソフトウェア乱数機能という)。CPU111は、I/Oポート114を介して演出制御基板102に、各種のコマンドを送信する。これらのコマンドは、それぞれ8ビットで構成される。なお、遊技制御基板101から演出制御基板102へ情報(コマンド)は一方向のみで送られ、演出制御基板102から遊技制御基板101へ向けて情報(コマンド)が送られることはない。
遊技制御基板101には、1枚BETスイッチ45、MAXBETスイッチ46、スタートスイッチ41、ストップスイッチ42L、42C、42R、精算スイッチ47、第1リセットスイッチ48、投入メダルセンサ44が接続されており、これらのスイッチ/センサ類の検出信号が入力される。また、リール中継基板103を介して、リールセンサ3SL、3SC、3SRの検出信号が入力される。I/Oポート114を介して入力されるこれらスイッチ/センサ類の検出信号、或いは前述したように電源基板100を介して入力される各種スイッチの検出信号に従って、遊技制御基板101上のCPU111は、処理を行っている。
遊技制御基板101には、また、流路切り替えソレノイド49、ゲーム回数表示器51、クレジット表示器52、ペイアウト表示器53、投入指示ランプ59、1枚賭けランプ54、2枚賭けランプ55、56、3枚賭けランプ57、58、ゲームオーバーランプ63、スタートランプ60、リプレイランプ62、BETボタンランプ70a、70b、操作有効ランプ63L、63C、63Rが接続されており、CPU111は、遊技の進行状況に従ってこれらの動作を制御している。
また、遊技制御基板101には、リール中継基板103を介してリールモータ3ML、3MC、3MRが接続されている。CPU111は、後述する内部抽選によりRAM112に設定される当選フラグを参照して、リール中継基板103を介してリールモータ3ML、3MC、3MRを制御して、リール3L、3C、3Rを停止させる。リールモータ3ML、3MC、3MRの構成及び停止制御については詳しく後述する。遊技制御基板101には、さらに演出中継基板106を介して演出制御基板102が接続されている。
演出中継基板106は、遊技制御基板101から演出制御基板102へ送信される情報の一方向性を担保するために設けられた基板である。演出中継基板106は、この状態を調べることによって遊技制御基板101や演出制御基板102を調べなくても、遊技制御基板101の制御部110に不正な信号(特に演出制御基板102に外部から入力されるようになっている信号)が入力されるような改造がなされていないかどうかをチェックすることができるようにするものである。
演出制御基板102は、スロットマシン1における演出の実行を制御するサブ側の制御基板であり、CPU121、RAM122、ROM123及びI/Oポート124を含む1チップマイクロコンピュータからなる制御部120を搭載している。また、乱数発生回路125及びサンプリング回路126を搭載しており、CPU121は、サンプリング回路126により乱数発生回路125がカウントしている値を取得することにより、遊技制御基板101と同様のハードウェア乱数機能を形成している。割り込み処理によるソフトウェア乱数機能も有している。
CPU121は、ROM123に記憶されたプログラム(後述)を実行して、演出の実行に関する処理を行うと共に、演出制御基板102内の各回路及びこれに接続された各回路を制御する。演出の実行は、I/Oポート124を介して遊技制御基板101から受信したコマンドに基づいて行われる。RAM122は、CPU121がプログラムを実行する際のワーク領域として使用される。ROM123は、CPU121が実行するプログラムや固定的なデータを記憶する。I/Oポート124は、演出制御基板102に接続された各回路との間で制御信号を入出力する。
演出制御基板102には、遊技効果ランプ75A〜75M、液晶表示器4、スピーカ7L、7R、7U、蛍光灯6、ウェイトランプ61、ボーナス告知ランプ66が接続されている。また、リールランプ中継基板104を介してリールランプ3LPが接続されている。演出制御基板102の制御部120は、これら各部をそれぞれ制御して、演出を行っている。
リール中継基板103は、遊技制御基板101と外部出力基板105及びリールユニット3との間を中継している。リール中継基板103には、また、満タンセンサ90が接続されており、その検出信号が入力される。満タンセンサ90は、スロットマシン1の内部に設けられ、ホッパー80からオーバーフローしたメダルを貯留するオーバーフロータンク内のメダルが満タンになったことを検知するものである。
リールランプ中継基板104は、演出制御基板102とリールユニット3との間を中継している。外部出力基板105は、ホールの管理コンピュータなどの外部装置に接続されており、遊技制御基板101からリール中継基板103を介して入力されたビッグボーナス中信号、レギュラーボーナス中信号、リール制御信号、ストップスイッチ信号、メダルIN信号、メダルOUT信号、及び当選状況信号を、当該外部装置に出力する。
次に、遊技制御基板101のRAM112の構成について説明する。図4は、RAM112の記憶領域の構成を示す図である。図示するように、RAM112には、重要ワーク112−1、一般ワーク112−2、特別ワーク112−3、設定値ワーク112−4、非保存ワーク112−5、スタック領域112−6、及びパリティ格納領域112−7を含む複数の記憶領域が設けられている。
これらの記憶領域のうち、特に、設定値ワーク112−4は、後述する内部当選の当選確率を定める設定値を格納する領域であり、パリティ格納領域112−7は、電源の遮断時においてRAMパリティを格納する領域である。後述する役の当選フラグの設定領域は、一般ワーク112−2に設けられている。また、RAM112は、停電時においてもバックアップ電源により電力が供給され、記憶されているデータが保持されるようになっている。
上記スロットマシン1においては、設定値に応じてメダルの払出率が変わるものであり、後述する内部抽選の当選確率は、設定値に応じて定まるものとなる。以下、設定スイッチ91による設定値の変更操作について説明する。設定値を変更するためには、設定キースイッチ92をON状態としてからメインスイッチ94によりスロットマシン1の電源をONする必要がある。設定値を変更せずにスロットマシン1を起動する場合には、設定キースイッチ92をOFF状態としてメインスイッチ94により電源をONすればよい。
設定キースイッチ92をON状態として電源をONすると、設定値の変更操作が可能な設定変更モードなる。設定変更モードにおいて、設定スイッチ91が操作されると、設定値が1ずつ更新されていく(設定6からさらに操作されたときは、設定1に戻る)。そして、スタートレバー11が操作されてから設定キースイッチ92がOFFされると、変更後の確定した設定値が設定値ワーク112−4に記憶される。そして、設定キースイッチ92がOFFされると、遊技の進行が可能な状態に移行する。
遊技の進行が可能な状態であるときには、スロットマシン1におけるゲームが1ゲームずつ順次進行するが、各ゲームで行われる内部抽選において設定値ワーク112−4に格納された設定値が正常範囲(1〜6)にあるかどうかを判定する。設定値が正常範囲にない場合には、RAM異常と判定し、RAM異常エラーコードをセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
また、遊技制御基板101のCPU111が電圧低下信号を検出した際に、電断割込処理を実行する。電断割込処理では、RAM112のパリティ格納領域112−7に格納されているデータ以外の全てのデータに基づいてRAMパリティを計算し、パリティ格納領域112−7に格納する処理を行うようになっている。ここにRAMパリティとは、データ列(各アドレスにおいて同一位置のビット)を足し合わせた総和の最下位ビットのことである。
そして、遊技制御基板101の制御部110の起動時において、RAM112に記憶されているデータのうちのパリティ格納領域112−7に格納されているデータ以外の全てのデータに基づいてRAMパリティを計算し、パリティ格納領域112−7に格納されているRAMパリティと比較する。この比較結果が一致した場合には、RAM112に記憶されている状態に基づいて電源断前の状態に復帰させる。
一方、RAMパリティの比較結果が一致しなかった場合には、ここでもRAM異常と判定し、RAM異常エラーコードをセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。RAM異常エラー状態は、他のエラー状態とは異なり、第1リセットスイッチ48または第2リセットスイッチ93を操作しても解除されないようになっており、設定変更モードにおいて新たな設定値が設定されることで解除されるようになっている。
次に、リールモータ3ML、3MC、3MRの構成について説明する。リールモータ3ML、3MC、3MRは、それぞれステッピングモータによって構成される。図5は、このステッピングモータの構成を示す図である。このステッピングモータ3M(リールモータ3ML、3MC、3MRのそれぞれ)は、ハイブリッド型ステッピングモータであり、ステータ3cと、これに対向するロータ3bとで構成される。ロータ3bは、多数の歯車状突起を有し、これに回転軸3aと同方向に磁化された永久磁石が組み込まれている。
ステッピングモータ3Mは、遊技制御基板101のCPU111からパルス信号(励磁パルス)を受け、ステータ3cの各励磁相φ1〜φ4に順次励磁電流が流れて、これらの励磁相φ1〜φ4が所定の順序に従って励磁されることによりロータ3bを回転駆動させ、回転軸3aの回転によりリール3L、3C、3Rを回転させる。ステッピングモータ3Mを回転駆動するための制御方法としては、ここでは、1−2相励磁方式が適用されている。1−2相励磁方式は、励磁相φ1〜φ4のうちでパルス信号を入力する励磁相を(φ1,φ2)、(φ1)、(φ4,φ1)、(φ4)、(φ3,φ4)、(φ3)、(φ2,φ3)、(φ2)、(φ1,φ2)…と順次切り替えており、パルス信号を入力する励磁相を1相または2相とすることを交互に繰り返すものとなっている。
このように励磁相φ1〜φ4に励磁電流を与えるためのパルス信号を入力する度に、ステッピングモータ3Mの回転軸3aは、1ステップずつ回転することとなる。図2に示したリール3L、3C、3Rの各図柄について、ステッピングモータ3Mのステップ数が16ステップずつ均等に割り当てられている。従って、リール3L、3C、3Rを1回転させるためのステッピングモータ3Mの総ステップ数は、336ステップということになる。
ステッピングモータ3Mの回転ステップは、リールモータ3ML、3MC、3MRのそれぞれについてRAM112に設けられたカウンタによりカウントされるものとなる。また、リール3L、3C、3Rの回転に伴ってリールセンサ3SL、3SC、3SRにより基準位置が検出されると、カウンタの値がクリアされるものとなる。従って、リールモータ3ML、3MC、3MRの回転角度、すなわちリール3L、3C、3Rの図柄位置は、その回転ステップによりカウントされるカウンタの値(ステップ数)を参照すれば分かることとなる。
ステッピングモータ3Mの回転を停止させる場合には、目標停止位置に合わせて詳細を後述する2相励磁制御によりロータ3bの回転を急制動させた後、後述する3相励磁制御によりロータ3bを停止させる。これにより、リールモータ3ML、3MC、3MRのロータ3bと一体的に結合されているリール3L、3C、3Rの回転を停止させるものである。
上記スロットマシン1においては、可変表示装置2の賭け数に応じて設定された有効ライン上に役図柄が揃うと、入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、遊技状態の移行を伴う特別役と、メダルの払い出しを伴う小役と、賭け数の設定を必要とせずに次のゲームを開始可能となる再遊技役とがある。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグが設定されている必要がある。
図6(a)、(b)は、遊技状態別抽選対象役テーブルを示す図である。遊技状態別抽選対象役テーブルは、ROM113に予め格納され、内部抽選において当選と判定される役を判断するために用いられるものであるが、遊技状態別抽選対象役テーブルの登録内容は、遊技状態に応じて抽選対象として定められた役を示すものとなる。遊技状態別抽選対象役テーブルとしては、図6(a)に示す特別役テーブルと、図6(b)に示す小役テーブルとがある。
このスロットマシン1における役としては、特別役としてビッグボーナス(B.B)、レギュラーボーナス(R.B)、チャレンジボーナス(C.B)、シングルCT(SCT)が、小役としてチェリー、ベルが、再遊技役としてリプレイが定められている。特別役テーブルは、特別役に当選とするか否かを判定するために用いられるもので、通常の遊技状態において特別役の当選フラグが設定されていないときか遊技状態がCTにあるときのみに用いられる。小役テーブルは、小役及びリプレイに当選とするか否かを判定するために用いられるもので、何れの遊技状態においても用いられる。
通常の遊技状態において特別役の当選フラグが設定されていないゲームでは、特別役テーブルと小役テーブルとが用いられ、ビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCT、ベル、チェリー及びリプレイが抽選対象となる。通常の遊技状態において特別役の当選フラグが設定されているゲームでは、小役テーブルのみが用いられ、ベル、チェリー及びリプレイのみが抽選対象となる。レギュラーボーナス(後述するようにビッグボーナス中に提供された場合を含む)の遊技状態にあるゲームでは、小役テーブルのみが用いられ、ベル及びチェリーが抽選対象となる。
CTの遊技状態にあるゲームでは、特別役テーブルと小役テーブルの両方が用いられ、レギュラーボーナス、ベル+チェリー+リプレイ、ベル+チェリーが抽選対象となる。但し、後述するような抽選処理での判定手法から、レギュラーボーナスに当選となるときには、必ずベル+チェリーにも当選となる。抽選対象とした役の中で当選した役については、当該役の当選フラグがRAM112に設定されるものとなる。
レギュラーボーナスは、通常の遊技状態またはCTにおいて有効ラインのいずれかに「BAR−BAR−BAR」の組み合わせが揃ったときに入賞となる。レギュラーボーナス入賞すると、遊技状態が通常の遊技状態からレギュラーボーナスに移行する。レギュラーボーナスは、12ゲームを消化したとき、または8ゲーム入賞(役の種類は、いずれでも可)したとき、のいずれか早いほうで終了する。遊技状態がレギュラーボーナスにある間は、レギュラーボーナス中フラグがRAM112に設定され(次に説明するビッグボーナス中に提供された場合を含む)、また、通常の賭け数とは異なる1を設定してゲームを開始させるものとなる。
ビッグボーナスは、通常の遊技状態において有効ラインのいずれかに「赤7−赤7−赤7」の組み合わせが揃ったときに入賞となる。ビッグボーナス入賞すると、遊技状態がビッグボーナスに移行する。ビッグボーナスにおいては、次に示すビッグボーナスの終了条件が成立するまで、レギュラーボーナスが繰り返して提供される。遊技状態がビッグボーナスにある間は、ビッグボーナス中フラグがRAM112に設定される。ビッグボーナスは、遊技者に払い出したメダルの枚数が345枚を越えたときに終了する。ここでは、1ゲーム当たりの最大払出枚数が15枚なので、ビッグボーナスにおける払出メダル枚数の上限は、360枚となる。ビッグボーナス中のレギュラーボーナスで前述の345枚を越えたときは、ビッグボーナスとともに当該レギュラーボーナスも終了する。
チャレンジボーナスは、通常の遊技状態において有効ラインのいずれかに「白7−白7−白7」の組み合わせが揃ったときに入賞となる。チャレンジボーナス入賞すると、チャレンジボーナスフラグがRAM112に設定され、払出メダル枚数が238枚を越えるまで遊技状態がCTに移行する。チャレンジボーナス入賞によるCTの遊技状態では、1ゲーム当たりの最大払出枚数が15枚なので、チャレンジボーナスにおける払出メダル枚数の上限は、253枚となる。
シングルCTは、通常の遊技状態において有効ラインのいずれかに「JAC−ベル−チェリー」の組み合わせが揃ったときに入賞となる。シングルCT入賞すると、SCTフラグがRAM112に設定され、次の1ゲームだけ遊技状態がCTに移行する。チャレンジボーナス入賞によるかシングルCT入賞によるかを問わず、遊技状態がCTにあるときには、通常の賭け数とは異なる1を設定してゲームを開始させるものとなる。また、右のリール3Rについての最大停止遅延時間が通常の190ミリ秒から75ミリ秒に短縮され、停止ボタン12Rを操作したときの図柄位置から引き込める図柄の範囲が1コマだけとなる。
ベルは、いずれの遊技状態においても有効ラインのいずれかに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となる。チェリーは、いずれの遊技状態においても左のリール3Lについて有効ラインのいずれかに「チェリー」の図柄が導出されたときに入賞となる。リプレイは、通常の遊技状態において有効ラインのいずれかに「JAC−JAC−JAC」の組み合わせが揃ったときに入賞となるが、レギュラーボーナス(ビッグボーナスで提供された場合を含む)では、この組み合わせが揃ったとしてもリプレイ入賞とならない。リプレイ入賞したときには、メダルの払い出しはないが次のゲームを改めて賭け数を設定することなく開始できるので、次のゲームで設定不要となった賭け数(レギュラーボーナス、CTではリプレイ入賞しないので必ず3)、すなわちリプレイ入賞を発生した前回のゲームで設定していた賭け数の3に対応した3枚のメダルが払い出されるのと実質的には同じこととなる。
入賞したときにメダルの払い出し対象となる役は、小役であるチェリー及びベルだけである。ビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCTの入賞は、遊技状態の移行を伴うものであり、メダルの払い出し対象とはならない。ベルに入賞したときには、8枚のメダルが払い出される。チェリーに入賞したときには、1有効ライン当たりで5枚のメダルが払い出される。すなわち、左のリール3Lの上段または下段に「チェリー」の図柄が停止したときには、上段または下段は何れも3本の有効ラインに含まれているので、15枚のメダルが払い出されることとなる。中段に「チェリー」の図柄が停止したときには、中段を含む有効ラインは1本だけなので、5枚だけメダルが払い出されることとなる。
ところで、遊技状態がCTにあるゲームにおいては、ベルまたはチェリーの当選フラグが必ず設定されている。ベルまたはチェリーの当選フラグに加えてレギュラーボーナスまたはリプレイの当選フラグが設定されているときには、レギュラーボーナスまたはリプレイの入賞が優先されるが、レギュラーボーナスまたはリプレイに入賞しないゲームでは、最大のメダル払い出し枚数が得られるようにリール3L、3C、3Rの停止制御がなされるものとなる。ここで、左のリール3Lについて「チェリー」は、7コマ間隔で配置されており、上段または下段の何れかに「チェリー」を停止させることができることとなる。
もっとも、レギュラーボーナスまたはリプレイの当選フラグが設定されているときには、可能な限りレギュラーボーナスまたはリプレイ入賞させるようにリール3L、3C、3Rが停止制御される。レギュラーボーナスまたはリプレイの入賞の可能性がなくなった場合(これらの当選フラグが設定されていない場合を含む)においては、左のリール3Lが停止されるまでは、可能な限りベルに入賞させるようにリール3C、3Rが停止制御されるものとなる。これには、後述する禁止目の場合における例外があるが、その詳細については後述する。
以下、内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するかどうかを、可変表示装置2の表示結果が導出表示される以前に(実際には、スタートレバー11の操作時)、決定するものである。内部抽選では、乱数発生回路115から内部抽選用の乱数(0〜16383の整数)が取得される。そして、遊技状態に応じて定められた各役について、取得した内部抽選用の乱数と、遊技者が設定した賭け数と、設定スイッチ91により設定された設定値に応じて定められた各役の判定値数に応じて行われる。
遊技状態に応じた役の参照は、図6(a)、(b)に示した遊技状態別抽選対象役テーブルに応じて行われる。通常の遊技状態において特別役の当選フラグが設定されていないゲームでは、特別役テーブルと小役テーブルとが用いられ、ビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCT、ベル、チェリー及びリプレイが抽選対象の役として順に読み出される。通常の遊技状態において特別役の当選フラグが設定されているゲームでは、小役テーブルのみが用いられ、ベル、チェリー及びリプレイのみが抽選対象の役として順に読み出される。
レギュラーボーナスの遊技状態にあるゲームでは、小役テーブルのみが用いられ、ベル及びチェリーが抽選対象の役として順に読み出される。CTの遊技状態にあるゲームでは、特別役テーブルと小役テーブルの両方が用いられ、レギュラーボーナス、ベル+チェリー+リプレイ、ベル+チェリーが抽選対象の役として順に読み出される。CTの遊技状態にあるゲーム以外では、読み出された役に当選したものと判定されると、さらに他の役を抽選対象の役として読み出すことはないが、CTの遊技状態にあるゲームでは、レギュラーボーナスに当選したものと判定されても、さらにベル+チェリー+リプレイ、ベル+チェリーも抽選対象の役として読み出されることとなる。
内部抽選では、抽選対象として読み出された役について定められた判定値数を、内部抽選用の乱数に順次加算し、加算の結果がオーバーフローしたときに、その対象となっている役に当選したものと判定される。当選と判定されると、当該役の当選フラグがRAM112に設定される。判定値数は、ROM113に予め格納された役別テーブルに登録されている判定値数の格納アドレスに従って読み出されるものとなる。図6(c)は、役別テーブルの例を示す図である。判定値数は、その値が256以上となるものもあり、1ワード分では記憶できないので、判定値数毎に2ワード分の記憶領域を用いて登録されるものとなる。
抽選対象となる役の判定値数は、役毎にゲームにおいて遊技者が設定する賭け数に対応して登録されている。抽選対象となる役が同じであっても、レギュラーボーナスにおける当選確率が他の遊技状態における当選確率と異なっている場合があるからである。また、抽選対象となる役の賭け数に応じた判定値数は、設定値に関わらずに共通になっているものと、設定値に応じて異なっているものとがある。判定値数が設定値に関わらずに共通である場合には、共通フラグが設定される(値が「1」とされる)。
ビッグボーナスは、通常の遊技状態で特別役の当選フラグが設定されていないときに抽選対象となるものであるので、ここでの賭け数に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は0であり、それぞれの賭け数に対応して設定値に応じて個別に判定値数の格納アドレスが登録されている。賭け数が3のビッグボーナスの判定値数の格納アドレスは、設定値が1〜6のそれぞれにおいて、ADD+0、ADD+2、ADD+4、ADD+6、ADD+8、ADD+10となっている。
レギュラーボーナスは、通常の遊技状態で特別役の当選フラグが設定されていないときと、遊技状態がCTにあるときに抽選対象となるものである。通常の遊技状態に対応した賭け数3のときのレギュラーボーナスの共通フラグの値も1、CTに対応した賭け数が1のときのレギュラーボーナスの共通フラグの値も1であり、いずれも設定値に関わらず共通の判定値数の格納アドレスが登録されている。賭け数が3のレギュラーボーナスの判定値数の格納アドレスは、ADD+12、賭け数が1のレギュラーボーナスの判定値数の格納アドレスは、ADD+14となっている。
チャレンジボーナスは、通常の遊技状態で特別役の当選フラグが設定されていないときに抽選対象となるものであるので、ここでの賭け数3に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は0であり、それぞれの賭け数に対応して設定値に応じて個別に判定値数の格納アドレスが登録されている。賭け数が3のチャレンジボーナスの判定値数の格納アドレスは、設定値が1〜6のそれぞれにおいて、ADD+16、ADD+18、ADD+20、ADD+22、ADD+24、ADD+26となっている。
シングルCTは、通常の遊技状態で特別役の当選フラグが設定されていないときに抽選対象となるものであるので、ここでの賭け数3に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は0であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。賭け数が3のシングルCTの判定値数の格納アドレスは、ADD+28となっている。
ベルは、通常の遊技状態にあるときと、レギュラーボーナスの遊技状態にあるときとに抽選対象となるものである。通常の遊技状態に対応した賭け数が3のときのベルの共通フラグの値は0であるが、レギュラーボーナスに対応した賭け数が1のときのベルの共通フラグの値は1である。賭け数が3のベルの判定値数の格納アドレスは、設定値が1〜6のそれぞれにおいて、ADD+30、ADD+32、ADD+34、ADD+36、ADD+38、ADD+40となっている。賭け数が1のベルの判定値数の格納アドレスは、ADD+42となっている。
チェリーは、通常の遊技状態にあるときと、レギュラーボーナスの遊技状態にあるときとに抽選対象となるものである。通常の遊技状態に対応した賭け数が3のときのチェリーの共通フラグの値は0であるが、レギュラーボーナスに対応した賭け数が1のときのチェリーの共通フラグの値は1である。賭け数が3のチェリーの判定値数の格納アドレスは、設定値が1〜6のそれぞれにおいて、ADD+44、ADD+46、ADD+48、ADD+50、ADD+52、ADD+54となっている。賭け数が1のベルの判定値数の格納アドレスは、ADD+56となっている。
リプレイは、通常の遊技状態にあるときに抽選対象となるものであるので、ここでの賭け数3に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は1であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。賭け数が3のリプレイの判定値数の格納アドレスは、ADD+58となっている。
ベル+チェリー+リプレイは、CTの遊技状態にあるときに抽選対象となるものであるので、ここでの賭け数1に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は1であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。賭け数が1のベル+チェリー+リプレイの判定値数の格納アドレスは、ADD+60となっている。ベル+チェリーも、CTの遊技状態にあるときに抽選対象となるものであるので、ここでの賭け数1に対応する判定値数の格納アドレスが登録されている。この役の共通フラグの値は1であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。賭け数が1のベル+チェリーの判定値数の格納アドレスは、ADD+62となっている。
図7は、役別テーブルに登録されたアドレスに基づいて取得される判定値数の記憶領域を示す図である。この判定値数の記憶領域は、開発用の機種ではRAM112に、量産機種ではROM113に割り当てられたアドレス領域に設けられている。
例えばアドレスADD+0、ADD+2、ADD+4、ADD+6、ADD+8、ADD+10は、それぞれ設定値1〜6において内部抽選の対象役がビッグボーナスであるときに参照されるアドレスであり、通常の遊技状態で特別役の当選フラグが設定されていないときには、設定値に応じてそれぞれ40、41、42、43、44、45が判定値数として取得される。同様にチャレンジボーナスについても、アドレスADD+16、ADD+18、ADD+20、ADD+22、ADD+24、ADD+26から、通常の遊技状態で特別役の当選フラグが設定されていないときには、設定値に応じてそれぞれ10、11、12、13、14、15が判定値数として取得される。
アドレスADD+12は、内部抽選の対象役がレギュラーボーナスであって賭け数が3であるときに参照されるアドレスであり、通常の遊技状態で特別役の当選フラグが設定されていないときには、設定値に関わらずに30が判定値数として取得される。同様に賭け数が1のときのレギュラーボーナス、シングルCTについても、それぞれアドレスADD+14、ADD+28から、通常の遊技状態で特別役の当選フラグが設定されていないときには、設定値に関わらずに15、184が判定値数として取得される。
また、アドレスADD+30、ADD+32、ADD+34、ADD+36、ADD+38、ADD+40は、それぞれ内部抽選の対象役がベルであって賭け数が3、設定値が1〜6のときに参照されるアドレスである。ここで、賭け数が3のときのベルについては、設定値に応じて個別に判定値数が記憶されており、しかも設定値毎に異なる値が記憶されている。従って、結局は賭け数が3のときのベルの当選確率は、設定値に応じて異なるものとなる。アドレスADD+42は、内部抽選の対象役がベルであって賭け数が1のときに、設定値に関わらずに参照されるアドレスである。
アドレスADD+44、ADD+46、ADD+48、ADD+50、ADD+52、ADD+54は、それぞれ内部抽選の対象役がチェリーであって賭け数が3、設定値が1〜6のときに参照されるアドレスである。ここで、賭け数が3のときのチェリーについては、設定値に応じて個別に判定値数が記憶されているが、その値は何れも324である。従って、結局は賭け数が3のときのチェリーの当選確率は、何れの設定値でも同じとなる。アドレスADD+56は、内部抽選の対象役がチェリーであって賭け数が1のときに、設定値に関わらずに参照されるアドレスである。
アドレスADD+58は、内部抽選の対象役がリプレイであって賭け数が3であるときに参照されるアドレスであり、通常の遊技状態において設定値に関わらず2225が判定値数として取得される。アドレスADD+60は、内部抽選の対象役がベル+チェリー+リプレイであって賭け数が1であるときに参照されるアドレスであり、CTにおいて設定値に関わらず2225が判定値数として取得される。アドレスADD+62は、内部抽選の対象役がベル+チェリーであって賭け数が1であるときに参照されるアドレスであり、CTにおいて設定値に関わらず14139が判定値数として取得される。
図8(a)〜(d)は、内部抽選用の乱数の値及び各役の判定値数と、当選役との関係の例を示す図である。図8(a)は、通常の遊技状態にあって特別役の当選フラグが設定されていないときの、設定値が6の場合の例を示している。図8(b)は、通常の遊技状態にあって特別役の当選フラグが設定されているときの、設定値が6の場合の例を示している。図8(c)は、レギュラーボーナスの遊技状態にあるときの例を示している。図8(d)は、CTの遊技状態にあるときの例を示している。
例えば、図8(a)に示すように、通常の遊技状態で特別役の当選フラグが設定されていない場合には、内部抽選の対象役となる役は、ビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCT、ベル、チェリー、リプレイである。設定値6においては、それぞれの判定値数は、45、30、15、184、3460、324、2245となる。
最初に内部抽選の対象役となるビッグボーナスは、判定値数の45を加算することで加算結果がオーバーフローすることとなる16339〜16383が内部抽選用の乱数として取得されたときに当選となる。次に内部抽選の対象役となるレギュラーボーナスは、ビッグボーナスの判定値数45とレギュラーボーナスの判定値数30とを合計した75を加算することで加算結果がオーバーフローすることとなる16309〜16338が内部抽選用の乱数として取得されたときに当選となる。
同様に、チャレンジボーナスは、16294〜16308が内部抽選用の乱数として取得されたときに、シングルCT、16110〜16293が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。さらに、ベルは、12650〜16109が内部抽選用の乱数として取得されたときに、チェリーは、12326〜12649が内部抽選用の乱数として取得されたときに、リプレイは、10081〜12325が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。上記に該当しない0〜10080が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
これらの判定値数に基づいて算出される各役のおおよその当選確率は、ビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCT、ベル、チェリー、リプレイのそれぞれについて、1/364.1、1/546.1、1/1092.2、1/89.0、1/4.7、1/50.6、1/7.3となる。
また、図8(b)に示すように、通常の遊技状態で特別役の当選フラグが設定されている場合には、ベル、チェリー、リプレイが内部抽選の対象役として読み出される。ベル、チェリー、リプレイは、それぞれの判定値数が3460、324、2245であるので、12924〜16383、12600〜12923、10355〜12599が内部抽選用の乱数として取得されたときに、当選と判定される。0〜10354が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。また、それぞれの役のおおよその当選確率は、1/4.7、1/50.6、1/7.3となる。
また、図8(c)に示すように、レギュラーボーナスの遊技状態にある場合には、ベル、チェリーが内部抽選の対象役として読み出される。ベル、チェリーは、それぞれの判定値数が11424、324であるので、4960〜16383、4636〜4959が内部抽選用の乱数として取得されたときに、当選と判定される。0〜4635が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。また、それぞれの役のおおよその当選確率は、1/1.4、1/50.6となる。
また、図8(d)に示すように、CTの遊技状態にある場合には、レギュラーボーナス、ベル+チェリー+リプレイ、ベル+チェリーが内部抽選の対象役として読み出される。レギュラーボーナスは、判定値数が15であるので、16369〜16383が内部抽選用の乱数として取得されたときに、オーバーフローして当選と判定される。次のベル+チェリー+リプレイは、判定値数が2245であるので、14124〜16368が内部抽選用の乱数として取得されたときに、当選と判定される。
ベル+チェリーは、判定値数が14139であり、0〜14125が内部抽選用の乱数として取得されたときに、当選と判定される。内部抽選用の乱数として16369〜16383が取得されたときには、まず、レギュラーボーナスの判定値数が加算されることで1回目のオーバーフローをしてレギュラーボーナスの当選となるが、オーバーフローした桁上がりを除く14ビットでさらにベル+チェリー+リプレイの判定値数を加算し、ベル+チェリーの判定値を加算すると、ここで2回目のオーバーフローをすることとなり、ベル+チェリーにも当選と判定される。すなわち、遊技状態がCTにあるときには、内部抽選用の乱数がどのような値であったとしても、少なくともベルとチェリーには当選と判定されるものとなる。
内部抽選において当選したものと判定された役については、当該役の当選フラグがRAM112に設定される。ビッグボーナス当選フラグ、レギュラーボーナス当選フラグ、またはチャレンジボーナス当選フラグは、これらに基づいて入賞が発生しなければ、次ゲーム以降に持ち越されるものとなる。これ以外の場合、各役の当選フラグは、当該ゲーム限りで消去される。CTの遊技状態におけるリプレイは、当選フラグが設定されていても停止ボタン12Rの操作タイミングによっては入賞しないことがあるが、これも当該ゲーム限りで消去されるものとなる。シングルCTは、停止ボタン12L、12C、12Rの操作タイミングにより取りこぼすということがないので、他の特別役の当選フラグと異なり、入賞によって当該ゲーム限りで消去されることとなる。
また、通常の遊技状態においてビッグボーナス当選フラグ、レギュラーボーナス当選フラグ、またはチャレンジボーナス当選フラグが持ち越されていても、ベル、チェリー及びリプレイの抽選は行われており、ここでベル、チェリーまたはリプレイに当選すると、ビッグボーナス当選フラグ、レギュラーボーナス当選フラグ、チャレンジボーナス当選フラグと、ベル、チェリーまたはリプレイの当選フラグが重複して設定されるものとなる。
次に、内部抽選用の乱数の取得について、詳しく説明する。内部抽選用の乱数は、ハードウェア乱数機能により乱数発生回路115から乱数を抽出し、これをCPU111がソフトウェアによって加工することによって取得されるものとなる。なお、乱数発生回路115から抽出した、或いはこれを加工した乱数の最下位ビットを第0ビット、最上位ビットを第15ビットと呼ぶものとする。
まず、乱数発生回路115からの乱数の抽出について説明する。図9(a)は、乱数発生回路115の構成を詳細に示すブロック図である。図示するように、乱数発生回路115は、パルス発生回路115aと、下位カウンタ115bと、上位カウンタ115cとから構成されている。下位カウンタ115b及び上位カウンタ115cは、いずれも8ビット(1バイト)のカウンタであり、下位カウンタ115bが第0ビット〜第7ビット、上位カウンタ115cが第8ビット〜第15ビットの合計で16ビットのデータ信号を出力する。
パルス発生回路115aは、CPU111の動作クロックの周波数よりも高く、その整数倍とはならない周波数(互いに素とすることが好ましい)でパルス信号を出力する。パルス発生回路115aの出力するパルス信号が下位カウンタ115bにクロック入力される。
下位カウンタ115bは、パルス発生回路115aからパルス信号が入力される度に第0ビットのデータ信号をHレベルとLレベルとで交互に反転させる。正論理を適用するものとすると、Hレベルの論理値が1でLレベルの論理値が0に対応する。負論理の場合は、論理値が1の場合をLレベル、論理値が0の場合をHレベルと読み替えればよい。第0ビットのデータ信号のレベルがHレベルからLレベルに反転するとき、すなわち第0ビットのデータ信号の論理値が1から0に変化する度に第1ビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。
同様に、第m−1ビットのデータ信号のレベルがHレベルからLレベルに反転するとき、すなわち第m−1ビットのデータ信号の論理値が1から0に変化する度に第mビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。また、第7ビットのデータ信号のレベルがHレベルからすなわち第7ビットのデータ信号の論理値が1から0に変化する度に桁上げ信号を出力する。下位カウンタ115bの出力する桁上げ信号が上位カウンタ115cにクロック入力される。
上位カウンタ115cは、下位カウンタ115bから桁上げ信号が入力される度に第8ビットのデータ信号をHレベルとLレベルとで交互に反転させる。第9ビットのデータ信号のレベルがHレベルからLレベルに反転する度に第9ビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。同様に、第m−1ビットのデータ信号のレベルがHレベルからLレベルに反転する度に第mビットのデータ信号のレベルをHレベルとLレベルとで交互に反転させる。
下位カウンタ115bのデータ信号を下位8ビットとし、上位カウンタ115cのデータ信号を上位8ビットとした16ビットのデータ信号の論理値は、パルス発生回路115aがパルス信号を出力する度に、0(0000h)→1(0001h)→2(0002h)→…→65535(FFFFh)と値が更新毎に連続するように更新され、最大値の65535(FFFFh)の次は初期値の0(0000h)へと値が循環して、乱数発生回路115から出力されるものとなる。
サンプリング回路116は、ラッチ回路から構成され、CPU111からのサンプリング指令に基づいて、乱数発生回路115からそのときに出力されている16ビットのデータ信号をラッチし、ラッチしたデータ信号を出力する。CPU111は、I/Oポート114を介してサンプリング回路116から入力されたデータ信号に対応した数値データを、乱数発生回路115が発生する乱数として抽出するものとなる。なお、以下では、乱数発生回路115から出力されるデータ信号は、その論理値に応じた乱数として説明するものとする。
次に、乱数発生回路115から抽出した乱数のソフトウェアによる加工について説明する。図9(b)は、乱数発生回路115から抽出した乱数をCPU111がソフトウェアにより内部抽選用の乱数に加工するまでの説明図である。乱数発生回路115から抽出された乱数は、CPU111が有する16ビットの汎用レジスタ111GRに格納されるものとなる。
乱数発生回路115から抽出された乱数が汎用レジスタ111GRに格納されると、CPU111は、他の汎用レジスタまたはRAM112の作業領域を用いて、汎用レジスタ111GRの下位バイト(下位カウンタ115bから抽出した値)と、上位バイトの値(上位カウンタ115cから抽出した値)とを入れ替える。
次に、CPU111は、抽出された乱数に対して上位バイトと下位バイトとが入れ替えられた乱数の値を、8080hと論理積演算をする。CPU111の処理ワードは1バイトなので、実際には上位バイトと下位バイトとについて順次論理積演算を行うものとなる。この論理積演算によって第15ビットと第7ビットは常に1となる。さらに、CPU111は、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。
CPU111は、このときに汎用レジスタ111GRに格納されている値を、内部抽選用の乱数として取得してRAM112の所定の領域に記憶させ、当選判定用テーブルに登録された各役の判定値(実際には、上限の判定値のみ)と順次比較するものとなる。内部抽選用の乱数の第15ビットと第14ビットは常に1となるので、内部抽選用の乱数は、14ビット(16384)の大きさを有する乱数ということになり、実質的に0〜16383の値をとるものとなる。
なお、乱数発生回路115から乱数を抽出してから加工を終了するまでの間は、CPU111に対する割り込みが禁止される。CPU111に対して割り込みが発生することによって、当該割り込み処理ルーチンで汎用レジスタ111GRの内容が書き換えられてしまうのを防ぐためである。
次に、禁止目について説明する。遊技状態がレギュラーボーナス(ビッグボーナスにおいて提供された場合を含む)にあるときには、可変表示装置2の表示結果としてビッグボーナス、レギュラーボーナス、チャレンジボーナス、シングルCTを導出することができない。もっとも、この遊技状態では、ベルまたはチェリーにしか当選することはなく、その両方が同時に当選するということはない。ベルよりもチェリー(上段または下段の停止ならば)の方が多くの払い出しを得られる役ではあるが、チェリー当選フラグが設定されているときに左のリール3Lを最後に停止することになる場合に、中と右のリール3C、3Rにおいて「ベル」を有効ライン上に揃えたテンパイの状態とする必要はないので、遊技状態がレギュラーボーナスにあるときに導出できない表示結果があっても禁止目の問題が生じることはない。
遊技状態がCTにあるときには、可変表示装置2の表示結果としてビッグボーナス、チャレンジボーナス、シングルCTを導出することができない。遊技状態がCTにあるときには、少なくともベルとチェリーの当選フラグが同時に設定されているものとなる。従って、左のリール3Lを最後に停止することとなる場合には、レギュラーボーナスまたはリプレイの当選フラグも重複して設定されていて、これをテンパイさせる場合を除いては、中と右のリール3C、3Rにおいて「ベル」をテンパイさせなければならないこととなり、この場合に禁止目の問題が生じるものとなる。
図10は、CTの遊技状態における禁止目を説明する図である。図10(a)に示すように、左のリール3Lが未だ回転中で、中のリール3Cの中段に「ベル」、右のリール3Rの上中下段にそれぞれ「ベル」、「JAC」、「チェリー」の図柄が停止した表示態様が禁止目となるものであるが、この表示態様について次に説明するように考察するものとする。
この場合、図10(b)に示すように、左のリール3Lについて下段に「チェリー」が位置しているときに停止ボタン12Lが操作されたものとすると、可変表示装置2の表示結果として停止させることが可能な図柄は、現在表示されている図柄と、ここより上にある4図柄ということになる。このため、チェリーに入賞させるためには、下段に位置する「チェリー」をそのまま停止させるしかないが、すると、左上から右下の対角線の有効ライン上に「JAC−ベル−チェリー」の図柄組み合わせが揃い、シングルCTの表示結果の導出が不可避になってしまうので、この表示結果を導出させることができない。
一方、図10(c)に示すように、1コマの引き込みを行うと谷形の有効ライン上に「ベル−ベル−ベル」の図柄組み合わせが揃ってベルに入賞させることができるようになる。しかし、ベルの入賞での払出メダル枚数は8枚だけであり、左のリール3Lの上段または下段に「チェリー」を停止させたときの払出メダル枚数の15枚を得ることができなくなってしまうので、この表示結果も導出させることができない。
そこで、左のリール3Lよりも前に停止される中のリール3Cか右のリール3Rの停止時において、図10(a)に示すような禁止目を導出させないように制御する。ここで、図10(d)に示すように、上段に「白7」、中段に「ベル」という状態で中のリール3Cが停止しているときに、可変表示装置2の上段よりも1コマ上に「ベル」が位置する状態で停止ボタン12Cが停止されたものとする。この場合、75ミリ秒の最大停止遅延時間の範囲で1コマの引き込みを行って右のリール3Rを停止させれば、有効ライン上に「ベル」をテンパイできるが、図10(a)に示した禁止目が導出されてしまう。
この場合は、上段よりも1コマ上の「ベル」を引き込まずに、「ベル」をテンパイさせないで右のリール3Rの回転を停止させるものとする。この場合でも、最後に左のリール3Lを停止させる際に、図10(f)に示すように、「チェリー」を上段または下段に停止させて最終的には15枚の払い出しを得ることが担保されるため、このような「ベル」をテンパイさせない制御が可能となるものである。
次に、リール制御テーブルについて詳細に説明する。上記した内部抽選の結果に応じて当選フラグが設定されると、当選フラグ(前回以前のゲームから持ち越されたものを含む)の設定状況に応じてリール3L、3C、3Rの回転を停止する際に停止図柄を選択するためのリール制御テーブルが選択される。遊技状態がCTにあるときには、右のリール3Rの最大停止遅延時間が75ミリ秒に短縮されるので、必然的に他の遊技状態にあるときとは異なる停止制御がされることとなる。もっとも、遊技状態がCTにあるときには、少なくともベル当選フラグとチェリー当選フラグとが同時に設定され、このような当選フラグの設定状況は他の遊技状態には見られないので、当選フラグの設定状況に従ってリール制御テーブルを選択すればよいこととなる。
リール制御テーブルの制御内容として、左のリール3Lに関する制御内容を例とすると、停止ボタン12Lの操作が検出されたときに可変表示装置2の中段に位置するリール3Lのステップ番号(後述)に対して、当該図柄及び4コマの引き込み範囲で停止可能な図柄のうちで当選フラグの設定状況に応じて中段に停止すべき図柄の停止ステップ番号(後述)が登録されている。CT中の右のリール3Rに適用されるリール制御テーブルでは、登録されている停止ステップ番号は、停止ボタン12Rの操作が検出されたときに可変表示装置2の中段に位置する図柄または次の1コマの図柄の停止ステップ番号となる。
図11は、当選フラグの設定状況毎に選択されるリール制御テーブルと、その制御内容との例を示す図である。図11において、リール制御テーブルの制御内容は、左に記載されている表示態様ほど導出の優先順位が高いことを示す。例えば、ビッグボーナス当選フラグのみが設定されているときに選択されるテーブルにある「ビッグボーナス>ハズレ」とは、停止ボタン12L、12C、12Rの操作から190ミリ秒の最大停止遅延時間の範囲(すなわち、4コマの引き込みの範囲)で、ビッグボーナスの表示態様を導出できれば、ビッグボーナスの表示態様を導出させるための制御内容がテーブルに書き込まれており、ビッグボーナスの表示態様を導出できなければ、必ずハズレの表示態様を導出させるための制御内容がテーブルに書き込まれているものとなっている。
また、例えば、ビッグボーナス当選フラグと同時にチェリー当選フラグが設定されているときに選択されるテーブルでは、最終的には、左のリール3Lについての上段または下段のいずれかに「チェリー」が停止するものとなり、チェリー入賞することとなる。但し、左のリール3Lが最終停止される第3リールとなる場合には、第1、第2リールとなる中のリール3Cと右のリール3Rを停止したときの表示態様を図10に示した禁止目としないような制御内容がリール制御テーブルに書き込まれているものである。
CT時において選択されるリール制御テーブルでは、左のリール3L及び中のリール3Cについては停止ボタン12L、12Cの操作時に位置する図柄かここから4コマ先までの図柄を停止図柄とする制御内容が書き込まれているが、右のリール3Rについては停止ボタン12Rの操作時に位置する図柄かここから1コマ先までの図柄を停止図柄とする制御内容が書き込まれている。
ここで、リプレイ当選フラグ、ベル当選フラグ及びチェリー当選フラグが同時に設定されているときに選択されるリール制御テーブルでは、まず、リプレイの入賞を優先させる制御内容が書き込まれている。左リール3Lが停止していない状態でリプレイ入賞させることができない表示態様となった(ここでは、右のリール3Rは少なくとも停止)場合には、左のリール3Lの上段または下段に「チェリー」を停止させる制御内容が書き込まれている。リプレイにもチェリーにも入賞させることができない表示態様となった(ここでは、左のリール3Rは少なくとも停止)場合には、右のリール3Rについては75ミリ秒、中のリール3Cについては190ミリ秒で未だベル入賞させられる可能性があれば、ベルに入賞させる制御内容が書き込まれている。ベルの入賞も不可能であれば、ハズレの表示結果を導出させる制御内容が書き込まれている。
また、ベル当選フラグとチェリー当選フラグとが同時に設定されているときに選択されるリール制御テーブルでは、最終的な表示結果としては、左のリール3Lの上段または下段に「チェリー」を停止させる制御内容が書き込まれている。但し、左のリール3Lが第3リールとなる場合には、右のリール3Rについては75ミリ秒、中のリール3Cについては190ミリ秒の範囲内で可能な限り「ベル」を有効ライン上にテンパイさせる制御内容が書き込まれている。もっとも、中のリール3Cと右のリール3Rの表示態様が図10に示した禁止目となる場合には、これをテンパイさせない。
なお、図11では、当選フラグの設定状況毎に選択されるリール制御テーブルが、当選フラグの設定状況毎に1種類であるものとして説明したが、当選フラグの設定状況が同じであっても異なる種類のリール制御テーブルが選択されることがあるものとしてもよい。もっとも、当選フラグの設定状況が同じときに選択されるリール制御テーブル同士では、設定されている当選フラグに応じた図柄組み合わせが異なる有効ライン上に導出されるものとしても、入賞の有無や入賞する役の種類は、図11に示すような制御内容となっている必要がある。
但し、ビッグボーナス当選フラグ、レギュラーボーナス当選フラグまたはチャレンジボーナス当選フラグと、ベル当選フラグ、チェリー当選フラグまたはリプレイ当選フラグとが同時に設定されているときに選択されるリール制御テーブルは、特別役であるビッグボーナス、レギュラーボーナスまたはチャレンジボーナスの入賞を、特別役ではないベル、チェリー、リプレイに優先して導出させる制御内容の書き込まれたテーブルであってもよい。この場合、停止ボタン12L、12C、12Rの操作から190ミリ秒の最大停止遅延時間の範囲内でビッグボーナス、レギュラーボーナスまたはチャレンジボーナスの表示態様を導出できないときであって、ベル、チェリーまたはリプレイの表示態様を導出できるときには、これを導出させる制御内容の書き込まれたテーブルとすればよい。
リール3L、3C、3Rに停止される図柄は、当選フラグの設定状況に応じて選択されるリール制御テーブルに従って決められ、結果的には遊技状態、当選フラグの設定状況及び停止ボタン12L、12C、12Rの操作タイミングに応じて選択されるものとなる。もっとも、実際上のリール3L、3C、3Rの制御は、各々が結合されたリールモータ3ML、3MC、3MRの回転のステップ数に従って行われているものとなり、図11に示したリール制御テーブルに書き込まれているデータも、図柄の番号ではなく、そのステップ数によって書き込まれている。
図12は、リール3Lの外周に配列された図柄番号「6」〜「11」に対応する図柄と、リールモータ3MLを駆動するステップとの関係を説明するための図である。図12では、左のリール3Lについてのみ示しているが、中のリール3Cの図柄とリールモータ3MCのステップ、右のリール3Rの図柄とリールモータ3MRのステップについても、これと同様の関係を有するものとなる。
図12を参照して、リールモータ3MLのステップ番号が「1」のときに、リール3Lに入れ値されている図柄のうち6番の「チェリー」が判断基準位置である中段の有効ライン上に位置する。リールモータ3MLのステップ番号は、当該ステップ番号に対応する位置が中段の有効ライン上に位置するときにRAM112のカウンタでカウントしているステップ数に対応する。また、リール3Lに配列されている図柄に対応するステップは、1図柄に対して16ステップずつ割り当てられている。
例えば、6番の「チェリー」の図柄は、リールモータ3MLのステップ番号329〜8(329,330,…,336,1,2,…,8)の範囲に配列されてる。停止ステップ番号が1であるため、RAM112のカウンタのステップ数が1となるようにリールモータ3MLの回転を停止させることにより、6番の「チェリー」を中段に停止させることができる。また、7番の「白7」の図柄は、リールモータ3MLのステップ番号9〜24の範囲に配列され、停止ステップ番号が17であるため、RAM112のカウンタのステップ数が16となるようにリールモータ3MLの回転を停止させることにより、7番の「白7」を中段に停止させることができる。
次に、リール3L、3C、3Rの引き込みについて説明する。CPU111にストップスイッチ42L、42C、42Rからのストップ信号が入力された(すなわち、停止ボタン12L、12C、12Rが操作された)場合、対応するリール3L、3C、3Rについて引き込み可能範囲にあるいずれかの図柄が停止される。例えば、前述したように4コマの引き込みを可能とする場合には、当該時に位置している図柄と引き込み可能な4図柄との合わせて5図柄分のステップ、すなわち16×5=80ステップ以内のステップに対応する図柄を停止させることができる。ここでも、左のリール3Lを例として説明する。
より具体的に説明すると、ストップスイッチ42Lからストップ信号が入力されたときのリール3Lについてカウントされているステップ数が、例えば321〜336のいずれかである場合、ステップ番号65(=321+80−336)までが引き込み可能となる。リール制御テーブルには、ストップスイッチ42Lからのストップ信号が入力されたときのステップ番号321〜336に対応付けて、1、17、33、49または65のいずれかのステップが図柄を停止すべきステップ数として登録されている。
同様に、ストップ信号が入力されたときのリール3Lについてカウントされているステップ数が1〜16のいずれかである場合、ステップ番号81(=1+80)までが引き込み可能となり、ストップスイッチ42Lからストップ信号が入力されたときにリール3Lについてカウントされているステップ数が17〜32のいずれかである場合には、ステップ番号97(=1+80)までが引き込み可能となる。
ここで、リール制御テーブルに書き込まれているデータについてさらに詳細に説明すると、例えば、5番の「JAC」が中段に位置するとき(すなわち、左のリール3Lについてカウントしているステップ数が313〜328であるとき)に、7番の「白7」を中段に停止させる制御内容では、カウントしているステップ数313〜328に対して停止させるステップ数17が登録されているものとなる。
上記したように、リール3L、3C、3Rにおいて停止される図柄は、停止ボタン12L、12C、12Rの操作タイミングと当選フラグの設定状況に応じて選択されるものとなる。実際には、リール3L、3C、3Rの停止位置は、RAM112のカウンタでカウントしているステップ数に応じて、当選フラグの設定状況に基づいて選択されたリール制御テーブルに登録されているステップ数の位置に定められることとなる。以下、この目標のステップ数でリール3L、3C、3Rの回転を停止させる場合のリールモータ3ML、3MC、3MRの制御方法について説明する。
図13は、リールモータ3ML、3MC、3MRの制御方法を説明するタイミングチャートである。リールモータ3ML、3MC、3MRともに、回転させるための制御方法及び停止時における制御方法は同じであり、ここでは、ステッピングモータ3Mとして説明するものとする。例えば、ステッピングモータ3Mがリールモータ3MLに該当する場合には、リール3Lの回転、停止のための制御ということになる。
図示するように、回転中のリールを停止させる条件が成立するまでの間(図では、タイミングtaまで)、1−2相励磁方式でステッピングモータ3Mを駆動してリールを回転させる。1−2相励磁方式でステッピングモータ3Mが制御される期間では、φ1〜φ4を励磁するパルス信号が図示のタイミングでON/OFFして、図13の丸枠数字1及び2で示されるように、ロータ3bの回転方向に沿って、…(φ2,φ3)、(φ3)、(φ3,φ4)、(φ4)、(φ4,φ1)、(φ1)の順で、1相、2相、1相、2相と交互に励磁相が励磁される。
この1−2相励磁方式では、例えば、(φ1,φ2)、(φ2,φ3)、(φ3,φ4)、(φ4,φ1)…の順で常時2相を励磁する方式、或いは、φ1、φ2、φ3、φ4、φ1…の順で常時1相のみを励磁する方式に比較して、ステップ角を細かくすることができ、細やかな制御を行うことが可能になる。また、1−2相励磁方式は、他の励磁方式と比較して信号が少なく、より安定でスムーズな停止制御に移行することができる。
回転中のリールを停止させる条件が成立した場合(例えば、ストップスイッチ42L、42C、42Rからの検出信号を受けて、予め選択されたリール制御テーブルから特定される停止ステップの図柄が中段の有効ライン上に停止できる位置に到来した場合)には、2相が励磁された状態からリールの停止制御に移行する。例えば、リールを停止させる条件が、図13の丸枠数字1で示される期間に成立した場合には、2つの相が励磁される状態に移行するタイミングtaまで待って、停止制御に移行する。
リールの停止制御は、図13の「T1」、「T2」に示されるように、2段階で行われる。「T1」で行われる制御を「2相励磁制御」と呼び、「T2」で行われる制御を「3相励磁制御」と呼ぶ。
2相励磁制御は、1−2相励磁方式でステッピングモータ3Mが制御されている状態において、1相のみを励磁した状態から2相を励磁する状態に切り替わった段階(図13のタイミングta)から開始され、その2相を励磁する状態を所定のホールド時間T1だけ保持する制御である。例えば、図13の場合、(φ1,φ2)のON状態がホールド時間T1だけ保持されている。(φ1,φ2)の2相のみが所定時間励磁されるので、高速回転していたステッピングモータ3Mのロータ3bは、グラフAに示されるように、急制動がかけられる。2相励磁制御においては、1−2相励磁方式でステッピングモータ3Mが制御されているときの電圧と同じ高さの第1電圧V1で2相が励磁される。
ホールド時間T1は、「脱調を引き起こすこととなるオーバーシュート量」に応じて定められる。このオーバーシュート量は、ステッピングモータ3Mのホールディングトルクの大きさやリールイナーシャ、バネ常数等によって異なる。このため、過渡動作を確認して「脱調を引き起こすこととなるオーバーシュート量」を実際に測定(例えば、レーザー測長)する必要がある。
この実施の形態では、そのオーバーシュート量がステッピングモータ3Mの4ステップ分であるものとして説明する。この場合、ホールド時間T1は、リールモータ3Mが3ステップ分駆動するのに必要な時間として設定する。そして、ロータ3bの目標停止角度位置を、そのホールド時間に合わせて、「2相励磁制御」が開始された段階から3ステップ先に設定する。
このため、ホールド時間T1が経過したタイミングtbでは、ロータ3bが目標停止角度の直前の位置にあり、且つ、その回転速度が制動された状態にある。そこで、タイミングtbで励磁パターンを繰り替えて「3相励磁制御」を開始する。すなわち、φ1を消磁し、停止角度位置に対応する停止相(φ3)と、当該停止相を挟んで相反する位置にある2つのブレーキ相(φ2、φ4)とを期間T2の間、励磁する。また、3相励磁制御においては、第1電圧V1よりも高い第2電圧V2で3相が励磁される。これにより、グラフAの実線に示すように、ブレーキ相φ2、φ4によるブレーキを得ながら停止相φ3のホールディングトルク安定点でロータ3bが停止する。その結果、ロータ3bと一体的に結合されているリールは、目標位置に正確且つ振動することなく停止する。また、第1電圧V1よりも高い第2電圧V2で3相を励磁することにより、電圧を変化しない場合と比較して、期間T2を短縮することができる。
なお、グラフAの破線は、タイミングta以降も2相励磁制御が継続された場合のロータ3bの過渡応答の動作を示している。図示するように、2相励磁制御が継続された場合、やがて、ロータ3bは平衡点に収束するが、それまでの間でリールが“ブルブル”と見苦しく振動することを避けられない。
3相励磁制御がT2の間実行された後、ブレーキ相φ2、φ4を消磁し、停止相φ3の励磁状態を維持したまま、モータ電圧を第1電圧V1よりも低い第3電圧V3とする。ロータ3bの停止後も停止相φ3の励磁状態を維持するのは、ホールディングトルクとディテントトルクとの位相差や摩擦の影響によるズレによってロータ3bが停止相φ3のホールディングトルク安定点から外れることを防止するためである。これにより、リールが一旦停止した後に微動すること、及び、次回リールモータを起動する場合の起動位置がずれてしまうことを防止できる。
以下、この実施の形態にかかるスロットマシン1における処理について説明する。スロットマシン1においては、ゲームの処理が1ゲームずつ繰り返して行われることで遊技が進行されるものであるが、そのためには、遊技の進行が可能な状態となっていなければならない。遊技の進行が可能な状態であるためには、CPU111を含む制御部110が起動された状態で正常範囲の設定値が設定値ワーク112−4に格納されており、RAM112に格納されたデータに以上がないことが条件となる。
図14は、遊技制御基板101のCPU111が実行する起動処理を示すフローチャートである。この起動処理は、リセット回路118からリセット信号が入力されて制御部110が起動されたときに行われる処理である。なお、リセット信号は、電源投入時及び制御部110の動作が停滞した場合に出力される信号であるので、起動処理は、電源投入に伴う制御部110の起動時及び制御部110の不具合に伴う再起動時に行われる処理となる。
起動処理では、まず、内蔵デバイスや周辺IC、スタックポインタ等を初期化し(ステップS101)、RAM112へのアクセスを許可する(ステップS102)。そして、設定キースイッチ92がONの状態か否かを判定する(ステップS103)。設定キースイッチ92がONでなければ、RAM112に記憶されているデータのうちパリティ格納領域112−7を除く全てのデータに基づいてRAMパリティを計算する(ステップS104)。
次に、ここで計算したRAMパリティがパリティ格納領域112−7に格納されているRAMパリティ、すなわち前回の電源断時に計算して格納されたRAMパリティと比較し(ステップS105)、双方のRAMパリティが一致したか否か、すなわちRAMに格納されているデータが正常か否かを判定する(ステップS106)。なお、この実施例では、RAMパリティによるRAM112が正常か否かの判定は、起動処理においてのみ行われるようになっている。
ステップS106においてRAMパリティが一致していなければ、RAM112に格納されているデータが正常ではないので、図16に示すRAM異常エラー処理に移行する。RAMパリティが一致していれば、RAM112に格納されているデータが正常であるので、スタック領域112−6に格納されているレジスタを復帰し(ステップS107)、割込禁止を解除して(ステップS108)、電源断前の処理に戻る。
また、ステップS103において設定キースイッチ92がONの状態であれば、スタック領域112−6のうち使用中の領域を除いてRAM112に格納されているデータを全て初期化(設定値ワーク112−4以外は0、設定値ワーク112−4は1に書き換える)し(ステップS109)、割込禁止を解除して(ステップS110)、図15に示す設定変更処理に移行する(ステップS111)。そして、設定変更処理の終了後、遊技の進行が可能な状態となってゲーム制御処理に移行する。
図15は、CPU111がステップS111で実行する設定変更処理を詳細に示すフローチャートである。設定変更処理では、まず、設定変更モード中である旨を示す設定変更中フラグをRAM112の所定の領域にセットし(ステップS201)、設定値ワーク112−4に格納されている設定値(設定変更処理に移行する前に設定値ワーク112−4の値は1に書き換えられているので、ここでは1である)を読み出す(ステップS202)。
その後、設定スイッチ91及びスタートスイッチ41の操作の検出待ちの状態となる(ステップS203、S204)。ステップS203において設定スイッチ91の操作が検出されると、ステップS202において読み出した設定値に1を加算し(ステップS205)、加算後の設定値が7であるか否か、すなわち正常範囲を越えたか否かを判定する(ステップS206)。加算後の設定値が7でなければ、再びステップS203、S204の設定スイッチ91及びスタートスイッチ41の操作の検出待ちの状態に戻る。加算後の設定値が7であれば、設定値を1に補正して(ステップS207)、再びステップS203、S204の設定スイッチ91及びスタートスイッチ41の操作の検出待ちの状態に戻る。
ステップS204においてスタートスイッチ41の操作が検出されると、その時点で選択されている変更後の設定値を設定値ワーク112−4に格納して設定値を確定する(ステップS208)。その後、設定キースイッチ92がOFFの状態となるまで待機する(ステップS209)。そして、ステップS209において設定キースイッチ92がOFFの状態になったと判定されると、ステップS201でセットした設定変更中フラグをクリアする(ステップS210)。そして、図14のフローチャートに復帰すると、遊技の進行が可能な状態となってゲーム制御処理に移行する。
図16は、遊技制御基板101のCPU111が実行するRAM異常エラー処理を詳細に示すフローチャートである。RAM異常エラー処理では、ゲーム回数表示器51を制御してRAM異常エラーコードをゲーム回数表示部21に表示した後(ステップS301)、いずれの処理を行わないループ処理に移行する。
上記のように起動処理においては、設定キースイッチ92がONの状態でない場合に、電源断時に計算したRAMパリティと起動時に計算したRAMパリティとを比較することで、RAM112に記憶されているデータが正常か否かを判定し、RAM異常エラー処理に移行する。RAM異常エラー処理では、RAM異常エラーコードをゲーム回数表示部21に表示させた後、いずれの処理も行わないループ処理に移行するので、ゲームの進行が不能化される。
RAMパリティが一致しなければ、割込が許可されることがないので、一度RAM異常エラー処理に移行すると、設定キースイッチ92がONの状態で起動し、割込禁止が解除されるまでは、電源が遮断しても電断割込処理は行われない。すなわち、電断割込処理において新たにRAMパリティが計算されて格納されることはないので、制御部110が起動しても設定キースイッチ92がONの状態で起動した場合を除き、常にRAMパリティは一致することがないので、制御部110を起動させてゲームを開始(再開)させることができないようになっている。
そして、RAM異常エラー状態に一度移行すると、設定キースイッチ92がONの状態で起動し、設定変更処理が行われて設定スイッチ91の操作により新たな設定値が選択・設定されるまで、ゲームの進行が不能な状態となる。すなわち、RAM異常エラーモード状態に移行した状態では、設定スイッチ91の操作により新たに設定値が選択・設定されたことを条件に、ゲームの進行が不能な状態が解除され、ゲームを開始(再開)させることが可能となる。なお、RAM異常エラー以外のエラー状態では、RAMパリティの不一致の問題がないため、第1リセットスイッチ48または第2リセットスイッチ93の操作でのみゲームの進行が不能な状態を解除し、ゲームを再開させることができる。
以上のように遊技の進行が可能な状態となると、スロットマシン1においてゲームの処理が1ゲームずつ繰り返して行われることとなる。以下、スロットマシン1における各ゲームのついて説明する。なお、スロットマシン1における“ゲーム”とは、狭義には、スタートレバー11の操作からリール3L、3C、3Rを停止するまでをいうものであるが、ゲームを行う際には、スタートレバー11の操作前の賭け数の設定や、リール3L、3C、3Rの停止後にメダルの払い出しや遊技状態の移行も行われるので、これらの付随的な処理も広義には“ゲーム”に含まれるものとする。なお、遊技制御基板101から演出制御基板102へのコマンドの送信は、本発明の説明に必要なものだけを説明し、そうでないコマンドの送信については、説明を省略する。
図17は、遊技制御基板101のCPU111が1ゲーム毎に行うゲーム制御処理を示すフローチャートである。この処理は、電源を投入し、所定のブート処理を行った後、または設定スイッチ91の操作により設定変更を行った直後にも実行される。1ゲームの処理が開始すると、まず、RAM112の所定の領域をクリアする処理を含む初期処理が行われる(ステップS401)。
次に、1枚BETボタン14またはMAXBETボタン15を操作することにより、或いはメダル投入口13からメダルを投入することにより賭け数を設定し、スタートレバー11を操作することにより当該ゲームの実質的な開始を指示するBET処理を行う(ステップS402)。
ここで、遊技状態がレギュラーボーナス(ビッグボーナス中のレギュラーボーナスを含む)またはCTにあるときには、賭け数として1が設定されると(これより大きな賭け数は設定されない)、スタートレバー11が操作有効となる。それ以外の遊技状態にあるときには、賭け数として3が設定された後、スタートレバー11が操作有効となる。また、前のゲームでリプレイ入賞していた場合には、リプレイフラグにより前のゲームと同じ賭け数(この実施の形態では3)が自動設定され(この段階でリプレイフラグが消去される)、そのままスタートレバー11が操作有効となる。
BET処理により賭け数が設定され、スタートレバー11が操作されると、内部抽選用の乱数を抽出し、抽出した乱数の値に基づいて遊技状態に応じて定められた各役への入賞を許容するかどうかを決定する抽選処理を行う(ステップS403)。この抽選処理では、それぞれの抽選結果に基づいて、RAM112に当選フラグが設定され、リール制御テーブルが選択される。なお、抽選処理の詳細については後述する。
抽選処理が終了すると、次にリール変動開始処理が行われる(ステップS404)。リール変動開始処理では、前回のゲームでのリール3L、3C、3Rの回転開始から1ゲームタイマが計時する時間が所定時間(例えば、4.1秒)が経過していることを条件に、リールモータ3ML、3MC、3MRを駆動させ、左、中、右の全てのリール3L、3C、3Rを回転開始させる。これにより、可変表示装置2において図柄が変動表示される。ここで、前回のゲームでの回転開始から所定時間が経過していない場合、回転開始待ちとなり、ウェイトランプ61を点灯させることによりその旨をウェイト表示部31で報知する。また、次回のゲームのための1ゲームタイマの計時を開始する。
その後、リール変動停止処理が行われる(ステップS405)。リール変動停止処理では、リールの回転開始から所定の条件(回転速度が一定速度に達した後、リールセンサ3SL、3SC、3SRにより基準位置を検出すること)が成立した後、停止ボタン12L、12C、12Rを操作有効とし、それぞれ遊技者によって操作されることにより、当選フラグの設定状況に応じて予め選択されたリール制御テーブルを参照してリールモータ3ML、3MC、3MRを駆動停止させ、リール3L、3C、3Rの回転を停止させる。なお、リール変動停止処理の詳細については後述する。
リール3L、3C、3Rの駆動がそれぞれ停止すると、その停止時における表示態様において、ステップS402のBET処理で設定した賭け数に応じた有効ライン上に上記したいずれかの役図柄が導出表示されたかどうかを判定する入賞判定処理が行われる(ステップS406)。この入賞判定処理でいずれかの役に入賞したと判定されると、遊技制御基板101において発生した入賞に応じた各種の処理が行われる。
入賞判定処理が終了すると、払出処理が行われる(ステップS407)。払出処理では、入賞判定処理において設定した払い出し予定数だけクレジットを増加させる。但し、データとして蓄積されているクレジットの数が50に達した場合は、ホッパーモータ82を駆動させることにより、超過した枚数のメダルをメダル払い出し口71から払い出させる。また、入賞に関わらない各種の処理(例えば、ビッグボーナスの終了制御に関する処理や、持ち越しのない当選フラグの消去など)も行われる。そして、1ゲーム分の処理が終了し、次の1ゲーム分の処理が開始する。
次に、上記したステップS403の抽選処理について詳しく説明する。図18は、CPU111がステップS403で実行する抽選処理を詳細に示すフローチャートである。抽選処理では、乱数取得処理を行い、サンプリング指令を出力することにより乱数発生回路115が発生する乱数をサンプリング回路116に抽出させ、抽出された乱数を内部抽選用の乱数に加工して、RAM112の内部抽選用の乱数の格納領域に記憶させる(ステップS501)。なお、乱数取得処理の詳細については後述する。
次に、RAM112の設定値ワーク112−4に記憶されている設定値を読み出し(ステップS502)、読み出した設定値が本来とり得るべき値である1以上6以下の範囲にあるかどうかを判定する(ステップS503)。読み出した設定値が1以上6以下の範囲になければ、RAM異常エラーとなり、図16に示したRAM異常エラー処理を行うものとする。
読み出した設定値が1以上6以下の範囲にあれば、RAM112にビッグボーナス中フラグまたはレギュラーボーナス中フラグが設定されてなく、ビッグボーナス当選フラグ、レギュラーボーナス当選フラグ、チャレンジボーナス当選フラグも設定されていないかどうかにより、現在の遊技状態が通常の遊技状態でボーナス当選フラグの持ち越されていない状態となっているか、CTとなっているかどうかを判定する(ステップS504)。通常の遊技状態でボーナス当選フラグの持ち越されていない状態でもCTでもない場合には、そのままステップS515の処理に進む。
通常の遊技状態でボーナス当選フラグの持ち越されていない状態であるか、CTであるかの場合には、図6(a)の特別役テーブルに登録されている遊技状態に応じた抽選対象の役を順番に読み出す(ステップS505)。次に、今回のゲームにおいて設定されているBET数を読み出し、抽選対象の役について読み出したBET数に対応して、図6(c)の役別テーブルにおける共通フラグの設定状況を取得する(ステップS506)。この結果、共通フラグが設定されているかどうかを判定する(ステップS507)。
共通フラグが設定されていれば、抽選対象の役について当該BET数に対応して図6(c)の役別テーブルに登録されているアドレスに格納されている判定値数を取得する(ステップS508)。そして、ステップS510の処理に進む。共通フラグが設定されていなければ、RAM112に設定されている設定値を読み出し、抽選対象の役について当該BET数及び読み出した設定値に対応して役別テーブルに登録されているアドレスに格納されている判定値数を取得する(ステップS509)。そして、ステップS510の処理に進む。
ステップS510では、ステップS508またはS509で取得した判定値数をRAM112の判定領域に記憶された内部抽選用の乱数の値に加算し、加算の結果を新たな内部抽選用の乱数の値とする。ここで、判定値数を内部抽選用の乱数の値に加算したときにオーバーフローが生じたかどうかを判定する(ステップS511)。オーバーフローが生じていない場合には、当該遊技状態において抽選対象となる特別役のうちで未だ処理対象としていないものがあるかどうかを判定する(ステップS512)。未だ処理対象としていないものがあれば、ステップS505の処理に戻り、特別役テーブルに登録されている次の抽選対象の役を処理対象として処理を継続する。処理対象としていない特別役がなければ、ステップS515の処理に進む。
ステップS511でオーバーフローが生じたと判定された場合には、抽選対象の役の当選フラグ(ここでは、いずれか1種類のみとなる)をRAM112に設定する(ステップS513)。その後、RAM112にチャレンジボーナスフラグまたはSCTフラグが設定されているかどうかにより、現在の遊技状態がCTにあるかどうかを判定する(ステップS514)。現在の遊技状態がCTにあれば、ステップS515の処理に進む。現在の遊技状態がCTになければ、そのままステップS524の処理に進む。
ステップS515では、図6(b)の小役テーブルに登録されている遊技状態に応じた抽選対象の役を順番に読み出す。次に、今回のゲームにおいて設定されているBET数を読み出し、抽選対象の役について読み出したBET数に対応して、図6(c)の役別テーブルにおける共通フラグの設定状況を取得する(ステップS516)。この結果、共通フラグが設定されているかどうかを判定する(ステップS517)。
共通フラグが設定されていれば、抽選対象の役について当該BET数に対応して図6(c)の役別テーブルに登録されているアドレスに格納されている判定値数を取得する(ステップS518)。そして、ステップS520の処理に進む。共通フラグが設定されていなければ、RAM112に設定されている設定値を読み出し、抽選対象の役について当該BET数及び読み出した設定値に対応して役別テーブルに登録されているアドレスに格納されている判定値数を取得する(ステップS519)。そして、ステップS520の処理に進む。
ステップS520では、ステップS518またはS519で取得した判定値数をRAM112の判定領域に記憶された内部抽選用の乱数の値に加算し、加算の結果を新たな内部抽選用の乱数の値とする。ここで、判定値数を内部抽選用の乱数の値に加算したときにオーバーフローが生じたかどうかを判定する(ステップS521)。オーバーフローが生じていない場合には、当該遊技状態において抽選対象となる小役のうちで未だ処理対象としていないものがあるかどうかを判定する(ステップS522)。未だ処理対象としていないものがあれば、ステップS515の処理に戻り、小役テーブルに登録されている次の抽選対象の役を処理対象として処理を継続する。処理対象としていない小役がなければ、ステップS523の処理に進む。
ステップS521でオーバーフローが生じたと判定された場合には、抽選対象の役の当選フラグをRAM112に設定する。ここで、ベル+チェリー+リプレイを抽選対象の役とするときにオーバーフローが生じた場合には、ベル当選フラグ、チェリー当選フラグ及びリプレイ当選フラグを設定する。ベル+チェリーを抽選対象の役とするときにオーバーフローが生じた場合には、ベル当選フラグ及びチェリー当選フラグを設定する。このとき、ステップS513でレギュラーボーナス当選フラグも設定されていたのであれば、レギュラーボーナス当選フラグに重ねて、ベル当選フラグ及びチェリー当選フラグも設定することとなる。また、通常の遊技状態においてビッグボーナス当選フラグ、レギュラーボーナス当選フラグまたはチャレンジボーナス当選フラグが前のゲームから持ち越されてRAM112に設定されている場合において、ベル、チェリーまたはリプレイを抽選対象とするときにオーバーフローが生じた場合には、ビッグボーナス当選フラグ、レギュラーボーナス当選フラグまたはチャレンジボーナス当選フラグに重ねて、ベル当選フラグ、チェリー当選フラグまたはリプレイ当選フラグも設定することとなる(ステップS523)。そして、ステップS524の処理に進む。
ステップS524では、RAM112における当選フラグの設定状況に応じたリール制御テーブルを選択する。そして、抽選処理を終了して、図17のフローチャートに復帰する。
次に、ステップS501の乱数取得処理について詳しく説明する。図19は、CPU111がステップS501で実行する乱数取得処理を詳細に示すフローチャートである。乱数取得処理では、まず、CPU111に対する割り込みを禁止する(ステップS601)。次に、サンプリング回路116にサンプリング指令を出力し、乱数発生回路115が発生している乱数をラッチさせ、ラッチさせた乱数の値をI/Oポート114から入力して、これを抽出する。乱数発生回路115から抽出された乱数の値は、汎用レジスタ111GRに格納される(ステップS602)。
次に、汎用レジスタ111GRに格納された乱数の下位バイトの値と上位バイトの値を互いに入れ替える(ステップS603)。次に、汎用レジスタ111GRに格納された乱数の値を8080hと論理積演算する(ステップS604)。さらに上位バイト(第15〜第8ビット)を1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。このときに汎用レジスタ111GRに格納された値が内部抽選用の乱数として取得され、RAM112の所定の領域に保存される(ステップS605)。そして、ステップS601で禁止した割り込みを許可してから(ステップS606)、乱数取得処理を終了して、図18のフローチャートに復帰する。
次に、上記したステップS405のリール変動停止処理について詳しく説明する。図20(a)は、CPU111がステップS405で実行するリール変動停止処理を詳細に示すフローチャートである。リール変動停止処理は、ストップスイッチ42Lとリールモータ3MLとリールセンサ3SLとの組み合わせ、ストップスイッチ42Cとリールモータ3MCとリールセンサ3SCとの組み合わせ、及びストップスイッチ42Rとリールモータ3MRとリールセンサ3SRとの組み合わせに対応して実行される。
まず、停止ボタン12L、12Cまたは12Rが操作されたことによりストップスイッチ42L、42Cまたは42Rの検出信号が入力されたかどうかを判定する(ステップS701)。ストップスイッチ42L、42Cまたは42Rの検出信号が入力されるまでは、検出信号が入力されたかどうかの判定が繰り返して実行される。ストップスイッチ42L、42Cまたは42Rの検出信号が入力された場合には、該検出信号に対応するリールモータ3ML、3MCまたは3MRについて、次のステップS702〜S710の処理が行われるが、ここでは、ストップスイッチ42Lの検出信号が入力されたものとして、説明を継続するものとする。
ストップスイッチ42Lの検出信号が入力された場合には、RAM112に記憶されているリールモータ3MLのステップ数をカウントするためのカウンタの値を読み出す(ステップS702)。このカウンタの値は、図20(b)のタイマ割り込み処理により更新される値である。
次に、ここで読み出したカウンタの値に基づいてステップS524で選択されたリール制御テーブルを参照し、リール3Lの回転を停止させる位置に応じたリールモータ3MLの停止ステップを特定し、RAM112に一時的に設定する(ステップS703)。ここで、リール制御テーブルを参照して停止ステップを特定することで、賭け数及び当選フラグの設定状況に応じた図柄が左のリール3L上に停止することとなる。
次に、設定された停止ステップの図柄を停止するにあたり、リール3Lの停止制御を開始する時期であるか否かが判断され、例えば、停止ステップの図柄が、停止位置に停止できる位置に到来したかどうかを判定する(ステップS704)。この判断が行われる時点においては、1−2相励磁方式でリールモータ3MLの励磁相φ1〜φ4が励磁されていることになっている。停止制御を開始する時期にあると判定されるまで、ステップS704の処理が繰り返して実行される。
停止制御を開始する時期であると判断された場合には、リールモータ3MLの励磁相φ1〜φ4のうち、1相のみが励磁されている期間であるか否かが判断され(ステップS705)、2相が励磁されている期間である場合には、1相励磁に切り替わるまで処理待ちとなる。そして、1相励磁期間であると判断された場合、例えば、1相励磁期間で励磁されていた励磁相がφ1であれば、励磁相φ1、φ2のみを第1電圧V1で励磁して「2相励磁制御」を行う(ステップS706)。
このように励磁相φ1、φ2を励磁して2相励磁制御を行った場合、後に説明する3相励磁制御では停止相がφ3、ブレーキ相がφ2、φ4となるので、以下ではこの状態を想定して説明する。その後、2相励磁制御を開始してからホールド時間T1を経過したかどうかを判定する(ステップS707)。ホールド時間T1を経過していなければ、ステップS706に戻ってホールド時間T1が経過するまで「2相励磁制御」が継続される。これにより、リールモータ3MLのロータ3bが急速に制動される。
ホールド時間T1が経過した場合、「3相励磁制御」を開始するべく、例えば、φ1を消磁し、停止相φ3、及び2つのブレーキ相φ2、φ4を、第1電圧V1よりも高い第2電圧V2で励磁する処理が行われる(ステップS708)。第1電圧V1よりも高い第2電圧V2で3相励磁制御を行うことで、第1電圧V1で3相励磁制御を行った場合よりも短い時間で次に示すホールド時間T2が短縮される。その後、3相励磁制御を開始してからホールド時間T2を経過したかどうかを判定する(ステップS709)。ホールド時間T2を経過していなければ、ステップS708に戻ってホールド時間T2が経過するまで「3相励磁制御」が継続される。これにより、リールモータ3MLのロータ3bが停止相φ3のホールディングトルク安定点で停止する。
ホールド時間T2が経過した場合、ブレーキ相としての機能を果たした2つの励磁相φ1、φ2が消磁され、停止相φ3のみが第3電圧V3で励磁状態とされる。これにより、リールモータ3MLのロータ3bが停止相φ3のホールディングトルク安定点で停止した状態が保持され、左のリール3LについてのステップS703で特定した停止ステップの位置が中段の有効ライン上に停止した状態が保持される。また、ブレーキ相φ2、φ4の不必要な励磁が継続することがないため、リールモータ3MLの発熱を抑えることができる。
停止相φ3のみが第3電圧V3で励磁状態とされた後、今回ステップS702〜S710で停止されたリールを含めて、可変表示装置2を構成する全てのリール3L、3C、3Rが停止しているか否かを判定する(ステップS711)。全てのリール3L、3C、3Rが未だ停止しているのでなければ、ステップS701の処理に戻り、停止していないリールに対応したストップスイッチの検出信号が入力されるのを待機する。全てのリール3L、3C、3Rが停止している場合には、リール変動停止処理を終了して、図17のフローチャートに復帰する。
図20(b)は、遊技制御基板101のCPU111において定期的に(少なくともステッピングモータ3Mを1−2相励磁で駆動しているときの1ステップ分の時間よりも短い時間間隔で)実行されているタイマ割り込み処理のうち、リールモータ3ML、3MC、3MRのステップ数をカウントするカウンタの更新に関わる部分を示すフローチャートである。なお、ステップ数のカウントは、リールモータ3MLとリールセンサ3SLとの組み合わせ、リールモータ3MCとリールセンサ3SCとの組み合わせ、及びリールモータ3MRとリールセンサ3SRとの組み合わせに対応して実行されるが、ここでは、リールモータ3MLとリールセンサ3SLとの組み合わせに対応させてカウンタの値が更新される場合を例として説明する。
まず、リール3Lの基準位置として設けられている切り欠きがリールセンサ3SLにより検出されたかどうかを判定する(ステップS751)。切り欠きが検出されていないときには、そのままステップS753に進む。切り欠きが検出されたときは、すなわち脱調が発生していなければ、カウンタの値がリールモータ3MLの総ステップ数である336に達したため、リールモータ3MLのステップに対応するステップ番号を特定するためのカウンタの値を0にリセットする(ステップS752)。そして、ステップS753の処理に進む。
ステップS753では、リールモータ3MLの励磁相φ1〜φ4の励磁状態が1相励磁から2相励磁に変化したか、或いは2相励磁から1相励磁に変化したかどうかを判定する。この判定のため、RAM112には、リールモータ3MLの励磁相の励磁状態φ1〜φ4の状態が記憶されるものとしており、前回の判定時から変化したと判定されれば、その記憶内容を更新するものとしている。励磁状態が変化していないときには、カウンタの値を更新することなく、タイマ割り込み処理を終了する。励磁状態が変化しているときには、カウンタの値を1だけ加算更新し(ステップS754)、タイマ割込処理を終了する。
以上のようなゲームの繰り返しにおいて、遊技制御基板101のCPU111は、通常の遊技状態、レギュラーボーナス、ビッグボーナス、CTの間で遊技状態の移行を行っており、遊技の進行状況に応じてコマンドを演出制御基板102に送信している。これに対して、演出制御基板102のCPU121は、遊技制御基板101から受信したコマンドに基づいて、独自の演出を行っている。遊技制御基板101からのコマンドを受信したときの演出については、本発明と直接の関わりがないため、説明を省略する。
以上説明したように、この実施の形態にかかるスロットマシン1では、遊技状態がCTにあるときには、内部抽選の結果により少なくとも小役であるベルとチェリーの当選フラグがRAM112に設定されることとなる。CTでは、右のリール3Rの最大停止遅延時間が通常の190ミリ秒から75ミリ秒に短縮され、引き込みコマ数が4コマから1コマに減るので、設定されている当選フラグに応じた役に入賞可能となる適切なタイミングで停止ボタン12Rを操作することが難しくなる。もっとも、停止ボタン12Rの操作さえ適切でありさえすれば、小役入賞によりメダルの払い出しを受けることができる。このように遊技者の技術介入性を高めることが、遊技性の高いものとなる。
また、遊技状態がCTにあってベル当選フラグとチェリー当選フラグとが設定されているときに選択されるリール制御テーブルでは、左のリール3Lについて「チェリー」の図柄を上段または下段に停止させる制御が行われ、8枚のメダルが得られるベルではなく、15枚のメダルが得られるベルに入賞することとなる。このようにメダルの払い出し枚数の多い役の入賞が優先されるので、少ない数のメダルの払い出しだけを受けて遊技者が十分に利益を得られなくなるということがない。
もっとも、左のリール3Lが第3リールとなる場合には、第1、第2リールとなる中と右のリール3C、3Rの表示態様としては、可能な限り「ベル」の図柄がテンパイされるものとなる。従って、第3リールとなる左のリール3Lの停止前においては、ベルの入賞に対する利益を遊技者に失わせることはない。
但し、中と右のリール3C、3Rに「ベル」の図柄をテンパイさせる制御内容は、図10(a)に示した禁止目とならないことを条件して書き込まれているものである。仮に中と右のリール3C、3Rに禁止目を導出させると、停止ボタン12Lの操作が検出されたときに左のリール3Lに表示されている図柄によっては、左のリール3Lの上段または下段に「チェリー」を導出させるとCTの図柄組み合わせも同時に導出されてしまうこととなる。ここでは、禁止目の導出を避けて第2リールの制御が行われるため、CT時に導出できないものと定められた図柄組み合わせが導出されるという不都合が起こりえない。また、CT時に導出できないものと定められた図柄組み合わせを避けるために、遊技者が最も多くの利益を得られるチェリーに入賞しなくなるということがなくなるので、遊技者に損失を生じさせることがない。
ところで、遊技状態がCTにあるときには、右のリール3Rの最大停止遅延時間が75ミリ秒に短縮されることで、特に技量の低い遊技者にあっては、リプレイ当選フラグが設定されていてもリプレイ入賞させることができない場合が生じてしまい、賭け数の設定で消費するメダルの量が多くなってしまう。これに対して、CTにおいてリプレイ当選フラグが設定されているときにリプレイ入賞が不可能であっても小役入賞する場合もあるので、賭け数の設定のために減らしたメダルの量を小役入賞によって回復できるものとなる。これにより、技量の低い遊技者であってもCTにおける利益を十分に確保することができるようになる。
上記したように遊技状態毎に内部抽選の対象となる役の種類は、遊技状態別抽選対象役テーブルに登録されているが、各役の当選確率を定める判定値数は、役別テーブルから参照されるアドレスに格納されている。役別テーブルにおいて、CT以外では内部抽選の結果に応じて入賞可能となるベル及びチェリーについては、賭け数毎に判定値数の格納先アドレスが登録されており、賭け数に従って判定値数が取得されることとなる。ここで、レギュラーボーナス、CTにおける賭け数は1で固定されているが、レギュラーボーナス、CT以外の遊技状態における賭け数は3で固定されている。
これにより、賭け数に応じて判定値数を取得するだけでも、遊技状態に応じた当選確率でベル及びチェリーの内部抽選を行うことができる。また、判定値数を取得する際に遊技状態を判断する必要がないので、内部抽選における処理ステップが簡素化される。しかも、レギュラーボーナスに対応した賭け数1の方が、賭け数3のときよりもベルの当選確率が高いので、レギュラーボーナスにおける遊技者の期待感をさらに高めさせて、遊技の興趣を向上させることができる。
また、役別テーブルに登録されている各役の判定値数の格納先のアドレスは、設定値に応じて異なっている場合もあるが、設定値に関わらずに当選確率を同一とするものとした役については、設定値に関わらずに判定値数が共通化して格納されるものとなる。このように判定値数を共通化して格納することで、そのために必要な記憶容量が少なくて済むようになる。もっとも、役別テーブルにおいて、内部抽選の対象役と設定されている賭け数とが同じで設定値に応じて参照される判定値数を格納したアドレスが異なっていても、異なるアドレスにおいて格納されている判定値数が同じである場合がある。
一般に開発段階においては、少なくとも一部の役について設定値に応じて判定値数を調整しながら(すなわち、内部抽選の当選確率を調整しながら)、シミュレーションを行っていくものとしている。当初の判定値数として、設定値に応じて異なる判定値数を登録しておいたが、シミュレーションにより調整を行った結果として、設定値が異なる場合の判定値数が同一になる場合もある。当初の判定値数として、設定値に応じて同一の判定値数を登録しておいたが、シミュレーションの結果により当初から登録してあった判定値数がそのまま用いられる場合もある(シミュレーションの結果により当初とは異なる判定値数すなわち、設定値に応じて異なる判定値数となる場合もある)。そして、それぞれの場合におけるシミュレーションで適切な結果の得られた判定値数を、量産用の機種に設定する判定値数として選ぶものとしている。
ここで、シミュレーションにより調整された判定値数が結果として設定値に関わらずに同じになったとしても、その開発段階でのアドレス割り当てと同じアドレスの割り当てで判定値数をROM113に記憶して、そのまま量産用の機種とすることができる。このため、量産用の機種において判定値数の格納方法を開発用の機種から変更する必要がなく、最初の設計段階から量産用の機種に移行するまでの開発を容易に行うことができるようになる。
また、内部抽選は、取得した内部抽選用の乱数に、役別テーブルから参照された各役の判定値数を加算していき、その加算の結果がオーバーフローしたか否かによって、それぞれの役の当選の有無を判定するものとしている。このため、各役の判定値数をそのまま用いて内部抽選を行うことができる。なお、実際の当選判定を行う前に当選判定用テーブルを生成する場合にはループ処理が2回必要になるが、この実施の形態によれば、抽選処理におけるループ処理が1回で済むようになり、抽選処理全体での処理効率が高いものとなる。
ところで、この実施の形態にかかるスロットマシン1では、遊技状態に応じて抽選対象とされる役に応じた判定値数を内部抽選用の乱数に順次加算していき、加算の結果がオーバーフローしたときに当該役に当選したものと判定されることとなっている。このように内部抽選を行うと、処理効率は高いものとなるが、各役に当選となるかどうかの判定値は、役毎に値が固まって定められることとなる。
もっとも、乱数取得処理によって取得される内部抽選用の乱数は、サンプリング回路116により乱数発生回路115から抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工してから使用するものとしている。乱数発生回路115は、パルス発生回路115aのパルス信号の周波数で高速に更新して乱数を発生しているが、ソフトウェアにより加工した後の内部抽選用の乱数では、その加工によって更新の周期性が失われるものとなる。これにより、内部抽選用の乱数の周期性を失わせ、その値をバラつかせることによって、遊技者による狙い打ちを可能な限り防ぐことができる。
しかも、乱数発生回路115のカウンタ115b、115cの値を更新させるためにパルス発生回路115aが発生するパルス信号の周波数は、CPU111の動作クロックの周波数よりも高く、整数倍ともなっていない。このため、乱数発生回路115が発生する乱数の更新が、CPU111が行う処理と同期しにくくなる。しかも、パルス発生回路115aのパルス信号の周波数の方を高くすることで、乱数発生回路115が発生する乱数の更新速度を非常に速いものとすることができる。このため、遊技者による狙い打ちの防止効果がさらに高くなる。
一方、ソフトウェアによる乱数の加工は、サンプリング回路116により乱数発生回路115から抽出した乱数の上位バイトと下位バイトとを入れ替え、第15、第7ビットをマスクした後、上位バイトをビットシフトするだけでよい。従って、16ビット(実際にはマスクされて14ビット)という比較的大きな乱数であっても、周期性を失わせるために必要な加工の処理に要する負荷がそれほど大きくならず、容易に取得することができる。このように大きな乱数が取得できることで、内部抽選における確率設定を細かく行うことができるようになる。
さらに、この実施の形態にかかるスロットマシン1では、RAM112に記憶されているデータに異常が生じた場合には、RAM異常エラー状態に制御され、ゲームの進行が不能化されると共に、設定変更モードに移行し、設定変更操作に基づいて設定値を新たなに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、RAM112に記憶されているデータに異常が生じても、スロットマシン1により自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値(一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である)に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
また、内部抽選において抽選対象の役に当選とするか否かを決定する際に、設定値ワーク112−4に格納されている設定値が適正な値(1〜6の範囲の値)でなければ、デフォルトの設定値(例えば、設定1)に基づく確率で当選とするか否かを決定するのではなく、この場合にもRAM異常エラー状態に制御され、ゲームの進行が不能化されると共に、設定変更モードに移行し、設定変更操作に基づいて設定値を新たなに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち内部抽選において抽選対象となる役に当選とするか否かの決定を適正に行うことができない場合も、設定変更操作に基づいて選択・設定された設定値に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
また、RAM112に記憶されたデータに異常が生じるのは、停電時や制御部110が暴走する等、制御に不具合が生じて制御を続行できないときがほとんどである。これらの状態から復旧して制御部110が起動するときにおいてのみデータが正常か否かの判断を行うようになっているので、RAM112に記憶されたデータが正常か否かの判定をデータに異常が生じている可能性が高い状況においてのみ行うことができる。すなわち、RAM112に記憶されたデータに異常が生じている可能性の低い状況では、当該判定を行わずに済み、制御部110の負荷を軽減させることができる。
また、特に電源が遮断されたときに生じる電圧低下信号の入力により実行される電断割込処理において、RAM112に記憶されているデータに基づいてRAMパリティを計算してパリティ格納領域112−7にセットし、次回起動時において、その際に計算して得られたRAMパリティをパリティ格納領域112−7に格納されていたRAMパリティと比較して、RAM112のデータが正常であるか否かを判定している。このように電源が遮断されたときに生じる電圧低下信号の入力時と起動時のRAMパリティを比較するのみでRAM112のデータが正常か否かを判定できるので、当該判定を正確且つ簡便に行うことができる。
また、RAM112のデータに異常が生じて、ゲームの進行が不能化された場合には、ゲームの進行が不能化された状態を解除する条件となる設定値の変更操作が有効となる設定変更モード(設定変更処理)へ移行することに伴って、RAM112に記憶されているデータが初期化される。このため、RAM112のデータに異常が生じたことに伴うデータの初期化と設定値の選択・設定に伴うデータの初期化とを1度で行うことができるので、無駄な処理を省くことができる。
また、リール3L、3C、3Rの回転を停止させる際に、第1電圧V1をステッピングモータ3M(リールモータ3ML、3MC、3MR)に印加して2相励磁制御を行った後、第1電圧よりも高い第2電圧V2をステッピングモータ3Mに印加して3相励磁制御が行われる。これにより、3相励磁制御を行う時間を短縮させて、リール3L、3C、3Rの停止時の振動を抑え、リール3L、3C、3Rの停止制御の精度を向上させることができる。
さらに、制御部110の起動時には、RAM112のデータが正常であるか否かを判定する前に、設定キースイッチ92がONの状態であるか否かを判定し、その時点で設定キースイッチ92がONの状態であると判定した場合には、RAM112のデータが正常であるか否かの判定は行わずに、設定変更モードに移行する。こうしてRAM112のデータが正常であるか否かの判定を行わずに新たに設定値が選択・設定されることにより、無駄な処理を省くことができるようになる。
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
上記の実施の形態では、CTの遊技状態においてベル+チェリー+リプレイに当選すればベル当選フラグとチェリー当選フラグを、ベル+チェリーに当選すればベル当選フラグとチェリー当選フラグを、RAM112に設定するものとしていた。これに対して、この場合に設定する当選フラグは、ベルとチェリーに共通した共通当選フラグとしてもよく、共通当選フラグがRAM112に設定されているときには、ベルとチェリーの何れの入賞も可能となるものとしてもよい。また、CTの遊技状態においては、内部抽選の結果がどのようなものであってもベルとチェリーには入賞可能な状態となるので、チャレンジボーナスフラグまたはSCTフラグをベル当選フラグ及びチェリー当選フラグ、または共通当選フラグの代用として適用し、抽選の結果に応じて改めてベル当選フラグ及びチェリー当選フラグ、または共通当選フラグを設定しないものとしてもよい。
上記の実施の形態では、CTの遊技状態においては右のリール3Rのみ最大停止遅延時間が75ミリ秒に短縮され、左のリール3Lと中のリール3Cについての最大停止遅延時間は、通常の場合と同じ190ミリ秒となっていた。もっとも、CTにおいて最大停止遅延時間の短縮されるリールは、右のリール3Rに限るものではなく、左のリール3Lまたは中のリール3Cであってもよい。リール3L、3C、3Rのうちの2つ、または全てについて、CTにおいては最大停止遅延時間が75ミリ秒に短縮されるものとしてもよい。
上記の実施の形態では、左のリール3Lにおいて「チェリー」が7コマ間隔で配置され、且つ左のリール3Lの最大停止遅延時間がCTにおいて短縮されないので、停止ボタン12Lの操作タイミングに関わらずに、必ず「チェリー」を上段または下段に停止させて、15枚の払い出しを得ることができるものとなっていた。これに対して、「チェリー」の配置間隔が8コマ以上となっていたり、左のリール3Lの最大停止遅延時間が75ミリ秒に短縮される場合には、停止ボタン12Lの操作タイミングによっては、「チェリー」を左のリール3Lの上段または下段に停止できないこともある。
このような場合であっても、中のリール3Cと右のリール3Rとが第1、第2リールとして停止される場合には、それぞれ190ミリ秒、75ミリ秒の最大停止遅延時間の範囲で「ベル」をテンパイさせることができるのであれば、これを引き込んで「ベル」をテンパイさせるものとすればよい。これにより、第3リールとなる左のリール3Lに対応した停止ボタン12Lの操作タイミングによってはチェリーに入賞しないことがあるが、この場合でも、ベルに入賞することで8枚の払い出しを受けることができ、最終的に全てのリール3L、3C、3Rの回転が停止されるまで、可能な限りの利益を遊技者に与えることができる。
また、左のリール3Lが第1として停止される場合に「チェリー」を上段または下段に停止させることができないときであっても、「ベル」を上中下段のいずれかに停止させることができれば、これを停止させる。その後、第2リールの停止時に「ベル」をテンパイさせることができれば、「ベル」をテンパイさせることができる。左のリール3Lが第3リールとして停止される場合に、第1リールの上中下段のいずれかに「ベル」が停止していて、これと同じ有効ライン上に「ベル」を停止させることができれば、これを停止させる。これにより、左のリール3Lに対応した停止ボタン12Lの操作タイミングによってチェリーの入賞が不可能になっても、可能な限りベルの入賞の可能性を継続させることができ、可能な限りの利益を遊技者に与えることができる。
なお、このうな図柄配置とした場合にリール3L、3C、3Rの回転を停止させるための制御内容を書き込んだリール制御テーブルを用意しておき、CTにおいてベル当選フラグとチェリー当選フラグとが設定されているときに選択するものとすればよい
上記の実施の形態では、左のリール3Lの上段または下段に「チェリー」が停止すれば、3有効ラインでのチェリー入賞となって15枚のメダルが払い出されるものとなっていた。これに対して、1ゲームで最大の払い出しを得られる小役は、上記の実施の形態におけるベルのように有効ライン上に3つの図柄が揃って入賞となるものであってもよい。このように入賞となる役の図柄組み合わせが定められた場合、CTの遊技状態においては、第3リールが停止されるよりも前に、第1、第2リールについて定められた最大停止遅延時間の範囲内で払い出しの多い小役をテンパイさせられれば、まずこれをテンパイさせ、払い出しの少ない小役をテンパイさせられれば、これをテンパイさせるように第1、第2リールを停止制御すればよい。
第1、第2リールの図柄の配列に応じて、払い出しの多い小役と払い出しの少ない小役の両方をダブルテンパイさせることができるのであれば、第1、第2リールについて定められた最大停止遅延時間の範囲内で可能な限りダブルテンパイさせるものとすることができる。ここで、払い出しの多い小役と払い出しの少ない小役の両方をダブルテンパイさせることで、第3リールの停止時においてCT中には導出できない表示結果が避けられなくなる可能性がある場合に限って、払い出しの多い小役のみをテンパイさせて且つ第3リールの停止タイミングに関わらずに当該小役に入賞可能となるのであれば、ダブルテンパイの形を崩して第1、第2リールを停止制御すればよい。
上記の実施の形態では、乱数発生回路115から抽出した乱数の上位バイト全体を下位バイトで置換し、下位バイト全体を上位バイトで置換するという入れ替えを行っていた。これに対して、乱数発生回路115から抽出した乱数のビットのうちの特定のビットのデータを他のビットのデータ(但し、マスクされる第7、第15ビット以外)で置換するだけであってもよい。また、乱数発生回路115から抽出した乱数の値を、そのまま内部抽選用の乱数として取得するものとしてもよい。さらに、上記の実施の形態とは異なる方法により内部抽選用の乱数に加工するものとしてもよい。
図21は、乱数発生回路115から抽出した乱数をCPU111がソフトウェアにより内部抽選用の乱数に加工するまでの処理(ステップS501)の第1の変形例の説明図である。この第1の変形例でも、乱数発生回路115から抽出された乱数は、CPU111が有する16ビットの汎用レジスタ111GRに格納されるものとなる。
乱数発生回路115から抽出された乱数が汎用レジスタ111GRに格納されると、CPU111は、さらに内部のリフレッシュレジスタ111Rの値を加工用の乱数として抽出する。CPU111は、汎用レジスタ111GRの上位バイトの値(上位カウンタ115cから抽出した値)にリフレッシュレジスタ111Rから抽出した加工用の乱数を加算する。汎用レジスタ111GRの下位バイトの値(下位カウンタ115bから抽出した値)は、そのままにしておく。
次に、CPU111は、汎用レジスタ111GRの値、すなわち上位バイトに加工用の乱数を加算した値を、8080hと論理積演算をする。さらに、CPU111は、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。CPU111は、このときに汎用レジスタ111GRに格納されている値を内部抽選用の乱数として取得し、これに判定値数を順次加算していくものとなる。
図22は、乱数発生回路115から抽出した乱数をCPU111がソフトウェアにより内部抽選用の乱数に加工するまでの処理(ステップS501)の第2の変形例の説明図である。この例でも、乱数発生回路115から抽出された乱数は、CPU111が有する16ビットの汎用レジスタ111GRに格納されるものとなる。
乱数発生回路115から抽出された乱数が汎用レジスタ111GRに格納されると、CPU111は、さらに内部のリフレッシュレジスタ111Rの値を加工用の乱数として抽出する。CPU111は、汎用レジスタ111GRの上位バイトの値(上位カウンタ115cから抽出した値)にリフレッシュレジスタ111Rから抽出した加工用の乱数を加算する。また、汎用レジスタ111GRの下位バイトの値(下位カウンタ115bから抽出した値)にもリフレッシュレジスタ111Rから抽出した加工用の乱数を加算する。
次に、CPU111は、汎用レジスタ111GRの値、すなわち上位バイト及び下位バイトにそれぞれ加工用の乱数を加算した値を、8080hと論理積演算をする。さらに、CPU111は、上位1バイト(第8ビット〜第15ビット)までを1ビットずつ下位にシフトし、これによって空いた第15ビットに1を挿入する。CPU111は、このときに汎用レジスタ111GRに格納されている値を内部抽選用の乱数として取得し、これに判定値数を順次加算していくものとなる。
以上説明した第1、第2の変形例では、リフレッシュレジスタ111Rの値を加工用の乱数として抽出し、これを乱数発生回路115から抽出した乱数の上位バイト(第2変形例では、さらに下位バイト)に加算して、乱数の加工を行うものとしている。ここで適用した乱数の加工には、少なくとも加工用の乱数を上位バイトに加算する処理を含んでいる。これにより、内部抽選用の乱数のバラツキを大きくすることができ、遊技者による狙い打ちを可能な限り防ぐことができる。
また、加工用の乱数をリフレッシュレジスタ111Rから抽出するものとしたことで、加工用の乱数を生成する手段として特別な構成が必要ない。しかも、リフレッシュレジスタ111Rの値は、CPU111の命令フェッチ毎に更新されるもので、その更新間隔は一定しないので、ランダム性の高い乱数を加工用の乱数として抽出することができる。そして、加工用の乱数のランダム性が高いことから、これを用いて生成される内部抽選用の乱数のランダム性も高くなる。
なお、上記第1、第2の変形例において、乱数発生回路115から抽出した乱数の上位バイト(及び下位バイト)にリフレッシュレジスタ111Rから抽出した値を加算していたが、リフレッシュレジスタ111R以外でハードウェアまたはソフトウェアにより周期的に更新される値を加算してもよい。また、リフレッシュレジスタ111Rから抽出した値(或いは、リフレッシュレジスタ111Rに代わるものの値)を加算するのではなく、減算や、論理和、論理積などの論理演算を行ってもよい。
また、上記の実施の形態で示した上位バイトと下位バイトとの入れ替えのようなビットの置換を、第1、第2の変形例に併用するものとしてもよい。上記第1、第2の変形例においても、乱数発生回路115からの乱数の抽出から加工を終了するまでの間は、汎用レジスタ111GRの内容が書き換えられてしまうのを防ぐため、CPU111に対する割り込みが禁止されるものとなる。
また、第2の変形例においては、乱数発生回路115から抽出した乱数の上位バイトと下位バイトにそれぞれ加算する加工用の乱数を、リフレッシュレジスタ111Rから異なるタイミングで別々に抽出してもよい。上位バイトに加算する加工用の乱数を更新する手段と、下位バイトに加算する加工用の乱数を更新する手段とを別々に用意し、それぞれから上位バイト用、下位バイト用の加工用の乱数を抽出する手段を設けるものとしてもよい。この場合において、上位バイト用の加工用の乱数を更新する手段と下位バイト用の加工用の乱数を更新する手段の一方をリフレッシュレジスタ111Rによって構成するものとすることができる。
なお、上記の実施の形態、及び第1、第2の変形例のいずれにおいても、第7、第15ビットがマスクされて、内部抽選用の乱数が生成されるものとしていた。すなわち、内部抽選用の乱数の値は、14ビットにより表されるもので、0〜16383の範囲をとるものであった。もっとも、第7ビット、第15ビットのマスクを行うことなく、16ビットにより表される値をそのまま内部抽選用の乱数として適用することもできる。この場合、内部抽選用の乱数がとり得る値の範囲に応じて、内部抽選の対象役毎の判定値数をROM113に登録しておくものとすればよい。
一方、上記の実施の形態、及び第1、第2の変形例のように第7、第15ビットをマスクして内部抽選用の乱数を生成するものとした場合には、当該マスクした2ビットにより表される数値を、内部抽選とは別の決定(例えば、演出の種類の選択など)を行うための乱数として適用することができる。これにより、乱数発生回路115から抽出した乱数の全てのビットを有効に用いることができる。
図23は、乱数発生回路115から抽出した乱数をCPU111がソフトウェアにより内部抽選用の乱数に加工するまでの処理(ステップS501)の第3の変形例の説明図である。この例では、乱数発生回路115とサンプリング回路116とを接続する信号配線は、上位8ビットと下位8ビットのそれぞれについて、ビットの並び順が逆順になるように接続されている。従って、サンプリング回路116がラッチするデータは、乱数発生回路115が出力しているデータ信号とは、上位8ビットと下位8ビットのそれぞれについて、ビットの並び順が逆順となる。
CPU111は、I/Oポート114を介してサンプリング回路116から入力されたデータ信号に対応した数値データを、上位8ビットと下位8ビットとを別々にサンプリング回路116から取り込んで、RAM112に設けられた内部抽選用の乱数の格納領域に一時格納する。内部抽選用の乱数の格納領域は、2バイト分設けられており、上位バイトの格納領域を上位領域、下位バイトの格納領域を下位領域と呼ぶものとする
CPU111がサンプリング回路116から数値データを取り込むときには、サンプリング回路116がラッチした乱数の上位8ビットを下位領域に取り込み、ラッチした乱数の下位8ビットを上位領域に取り込む。従って、CPU111がサンプリング回路116から内部抽選用の乱数の格納領域に取り込んだ数値データは、乱数発生回路115が発生しているデータ信号とは、ビットの並び順が完全に逆順となる。
なお、サンプリング回路116がラッチした乱数、或いはこれをCPU111が加工した乱数については、上位バイト、下位バイト毎に最下位ビットを第0ビット、最上位ビットを第7ビットと呼ぶものとする。また、乱数発生回路115から出力されるデータ信号は、その論理値に応じた乱数として説明し、サンプリング回路116がラッチした数値データも、その値に応じた乱数として説明するものとする。
上記したように、乱数発生回路115が発生する乱数をサンプリング回路116でラッチすると、そのラッチした乱数は、上位8ビットと下位8ビットのそれぞれについて、ビットの並び順が逆順となる((a)〜(b))。CPU111は、サンプリング回路116のラッチした乱数の上位8ビットを上位ポートからRAM112の下位領域に、下位8ビットを下位ポートからRAM112の上位領域に領域に取り込む((b)〜(d))。こうしてRAM112の上位領域と下位領域に取り込まれた数値データにより構成される16ビットの数値データが、加工前の乱数ということとなる。
下位領域のデータは、その後の加工で書き換えられてしまうが、その後にも加工前の乱数の下位領域のデータを用いることがあるので、加工前の下位領域のデータを待避データとしてRAM112の所定の待避領域に待避しておく。次に、CPU111は、上位領域のデータから11hを減算し、その結果のデータを新たに上位領域に一時格納する(e)。次に、上位領域のデータを読み出し、データを1ビットずつ下位(右)にローテイトし、その結果のデータを新たに上位領域に一時格納する(f)。
次に、上位領域のデータと下位領域のデータとをビット毎に排他的論理和演算し、その結果のデータを新たに上位領域と下位領域の両方に格納する(g)。さらに、待避領域のデータ78hを加算し、その結果のデータを新たに待避領域に一時格納する(h)。そして、上位領域のデータと待避領域のデータとをビット毎に排他的論理和演算し、その結果のデータを新たに上位領域に格納する(i)。このとき上位領域に格納されているデータを上位8ビットとし、下位領域に格納されているデータを下位8ビットとした数値データが、内部抽選用の乱数として取得されることとなる(j)。
なお、ここで最終的に生成される内部抽選用の乱数は、パルス信号の入力毎に、ほぼランダムに値が現れてくることとなる。すなわち、連続性も周期性も排除されたものとなる。ここでは、乱数発生回路115の数値のように完全に値が連続した状態から、ランダムに非連続な値が現れる状態に近づくことを、バラつくというものとする。例えば、乱数発生回路115の数値からサンプリング回路116の数値への変化、サンプリング回路116の数値から加工前の乱数への変化、加工前の乱数から内部抽選用の乱数の乱数への変化、のいずれも値がバラつくものに該当する。バラツキ、バラケるなどといった場合も同じである。
この第3の変形例では、上位領域のデータと下位領域のデータとの最終的な排他的論理和演算(図23(i))を行う前に、上位領域のデータから11hを減算し(図23(e))、下位に1ビットローテイトし(図23(f))、下位領域のデータと排他的論理和演算して(図23(g))、上位領域のデータを予め加工しておくものとしていたが、必ずしもこれらの全てを必要とする訳ではなく、いずれか1つまたは2つを適用し、最終的な排他的論理和演算の前における上位領域のデータの加工は全くなくてもよい。このときの上位領域のデータが内部抽選用の乱数における最終的な上位バイトのデータとなるものとしてもよい。図23(e)〜(f)の処理を行う順番は、任意の順番に入れ替えることができる。
また、図23(e)で減算する値は11hに限るものではなく、00h以外の任意の値を加算または減算することができ、図23(f)でローテイトするのは下位に1ビットに限るものではなく、7ビットまでの任意のビット数だけ上位または下位にローテイトすることができる。図23(g)で排他的論理和演算される下位領域のデータは、乱数発生回路115から最初に下位領域に入力したデータに対して所定の演算を行ったものであってもよい。上位領域のデータに対して行う演算としては、これ以外の演算式による演算も適用することができる。さらには、図23(i)で上位領域のデータに対して排他的論理和演算される待避領域のデータは、乱数発生回路115から最初に下位領域に入力したデータであってもよく、図23(e)〜(g)とは異なる所定の演算を行ったデータであってもよい。
また、内部抽選用の乱数における最終的な下位バイトのデータは、乱数発生回路115から最初に下位領域に入力したデータがそのまま適用されるものとしてもよい。図23(h)で78hを加算した後の待避領域のデータを内部抽選用の乱数における最終的な下位バイトのデータとしてもよい。或いは、図23(g)で下位領域に格納した排他的論理和演算の結果のデータに78hを加算して、最終的な下位バイトのデータとしてもよい。さらには、下位領域のデータに対して行う演算として、これ以外の演算式による演算を適用し、その演算結果を内部抽選用の乱数における最終的な下位バイトのデータとしてもよい。
なお、CPU111の有する命令セットが2アドレス方式または3アドレス方式の場合には、RAM112の上位領域に格納されたデータから11hを減算し、その減算結果のデータを上位領域に格納するものとし、また、RAM112の上位領域に格納されたデータと、同じくRAM112の下位領域に格納されたデータとを排他的論理和演算し、その排他的論理和演算の結果のデータを上位領域に格納するものとすることができる。
これに対して、CPU111の有する命令セットが1アドレス方式である場合には、例えば図23(e)のような減算を行う場合に、RAM112の上位領域に格納されたデータをまずアキュムレータ(汎用レジスタ)にロードし、アキュムレータのデータから11hを減算して減算結果のデータを再びアキュムレータに格納するものとなる。ここでは、RAM112の上位領域に格納されたデータをアキュムレータにロードしたときに、当該アキュムレータは実質上は上位領域として作用することとなり、ここでは上位領域のデータに対して未だ演算を行うので、アキュムレータのデータをRAM112の上位領域に未だストアする必要はない。
図23(f)では、図23(e)の減算の結果が格納されているアキュムレータのデータを1ビットずつ下位にローテイトし、その結果のデータを再びアキュムレータに格納するものとなる。図23(g)では、図23(f)の演算の結果が格納されているアキュムレータのデータに対してRAM112の下位領域に格納されているデータをビット毎に排他的論理和演算し、その結果のデータをアキュムレータに格納するものとなる。この時点では依然として、アキュムレータがRAM112の上位領域として作用しているので、図23(g)→(j)では、アキュムレータのデータをRAM112の下位領域にストアすればよいこととなる。
さらに、図23(h)では、RAM112の待避領域のデータをアキュムレータにロードするが、ここでアキュムレータは待避領域として作用することとなり、アキュムレータのデータに11hを加算してアキュムレータに格納すればよい。図23(i)では、アキュムレータのデータをRAM112の上位領域のデータとビット毎に排他的論理和演算し、その結果をアキュムレータに格納することとなるが、排他的論理和演算の結果が格納された後のアキュムレータは、再び上位領域として作用することとなる。
このように1アドレス方式の命令セットを有するCPU111におけるアキュムレータは、演算の過程において格納されているデータによって、上位領域、下位領域、待避領域のいずれとしても作用するものとなる(もっとも、上記のような乱数の加工法では、アキュムレータが下位領域として作用することはない)。同様に0アドレス方式の命令せっtを有するCPU111におけるスタックも、演算の過程において格納されているデータによって、上位領域、下位領域、待避領域のいずれとしても作用するものとなる。
また、CPU111が複数の汎用レジスタを有するのであれば、RAM112に上位領域及び下位領域を設けるのではなく、いずれかの汎用レジスタ2つを上位領域及び下位領域として適用するものとしてもよい。特にCPU111が1バイトの汎用レジスタの他に、2バイトの汎用レジスタを有すれば、これを上位領域及び下位領域のために用いるものとしてもよい。
また、RAM112において、サンプリング回路116から取り込んだ2nビットの数値データを格納する領域にも、最終的に生成された内部抽選用の乱数を格納する領域にも、同じ上位領域と下位領域とを用いていたが、別々の領域を用いるものとしてもよい。例えば、最終的に生成される内部抽選用の乱数が格納される2バイトの乱数領域を、上位領域及び下位領域とは別に設けるものとした場合、上位領域のデータを乱数領域の下位バイトに格納し、図23(i)の排他的論理和演算の結果のデータを乱数領域の上位バイトに格納するものとすればよい。
なお、この第3の変形例では、内部抽選用の乱数のビット数は、乱数発生回路115の発生する乱数のビット数と同じ16ビットであって0〜65535の値をとるものとなっている。この場合、各役の判定値数は、乱数の大きさに応じた値とする(例えば、上記の実施の形態の場合の4倍とする)ものとすればよい。また、上記の実施の形態における乱数の生成と同時に、16ビットのうちの一部のビット(上記の実施の形態では、第7ビットと第15ビット)を間引くことにより、内部抽選用の乱数がとり得る値の範囲がこれより小さくなるものとしてもよい。間引いた2ビットの数値は、他の処理(例えば、ボーナス告知のための演出など)の抽選に用いることができる。これにより、間引いたビットの数値も有効に利用することができる。
この第3の変形例における内部抽選用の乱数の生成方法は、図24〜図27にそれぞれ示すように、図23(a)〜(d)の過程を変更することができる。
図24の例では、図23(a)〜(b)の場合と同様に乱数発生回路115の発生する乱数を、上位8ビットと下位8ビットとでそれぞれビットの並び順を入れ替えてサンプリング回路116が取り込む(a)〜(b)。次に、サンプリング回路116が取り込んだ乱数の上位8ビットを上位ポートを介してRAM112の上位領域に、下位8ビットを下位ポートを介してRAM112の下位領域に取り込む(b)〜(d)。その後、ソフトウェアの処理により、上位バイトに格納された数値データと下位バイトに格納された数値データとを入れ替えて、加工前の乱数を取得するものとしてもよい(e)。
なお、乱数発生回路115とサンプリング回路116との間の配線の接続順を逆順にして、RAM112に最初に取り込まれる乱数について上位バイトと下位バイトのビットの並び順を逆順とするのではなく、サンプリング回路116と上位ポート:下位ポートとの間の配線の接続を逆順にして、RAM112に最初に取り込まれる乱数についての上位バイトと下位バイトのビットの並び順を、乱数発生回路115の発生する乱数と逆順にするものとしてもよい。この点は、図23の例においても適用することができる。
図25の例では、乱数発生回路115とサンプリング回路116との間の配線の接続が逆順になってなく、まず、乱数発生回路115の発生する乱数を、そのままのビットの並び順でサンプリング回路116が取り込む(a)〜(b)。次に、サンプリング回路116が取り込んだ乱数の上位8ビットを上位ポートを介してRAM112の上位領域に、下位8ビットを下位ポートを介してRAM112の下位領域に取り込む(b)〜(d)。
その後、ソフトウェアの処理により、上位バイトに格納された数値データと下位バイトに格納された数値データとを入れ替える(e)。さらに、ソフトウェアの処理により、上位バイトに格納された数値データと下位バイトに格納された数値データのビット並び順をそれぞれ逆順に入れ替えて、加工前の乱数を取得するものとしてもよい(f)。なお、上位バイトに格納された数値データと下位バイトに格納された数値データのビット並び順をそれぞれ逆順に入れ替えるのを先に、上位バイトに格納された数値データと下位バイトに格納された数値データとを入れ替えるのを後にしてもよい。
図26の例では、乱数発生回路115とサンプリング回路116との間の配線が、上位バイトと下位バイトとで逆になり、それぞれのバイト内ではビットの並び順が変わらないように接続されている。ここでは、乱数発生回路115の発生する乱数を、上位バイトと下位バイトとを入れ替えてサンプリング回路に取り込む(a)〜(b)。次に、サンプリング回路116が取り込んだ乱数の上位8ビットを上位ポートを介してRAM112の上位領域に、下位8ビットを下位ポートを介してRAM112の下位領域に取り込む(b)〜(d)。
その後、ソフトウェアの処理により、上位バイトに格納された数値データと下位バイトに格納された数値データのビット並び順をそれぞれ逆順に入れ替えて、加工前の乱数を取得するものとしてもよい(e)。なお、乱数発生回路115とサンプリング回路116との間の配線に並び順の変更がなく、サンプリング回路116の上位バイトがCPU111の下位ポートに、下位バイトが上位ポートに接続されているものとしてもよい。
図27の例では、乱数発生回路115とサンプリング回路116との間の配線が、完全に逆順に接続されている。ここでは、サンプリング回路116が乱数発生回路115の発生する乱数のビットの並び順を完全に逆順にして取り込む(a)〜(b)。そして、サンプリング回路116に取り込まれた乱数の上位バイト、下位バイトをそのまま上位ポート、下位ポートを介して、RAM112の上位領域、下位領域に取り込むものとすればよい(b)〜(d)。
また、この第3の変形例における内部抽選用の乱数の上位バイトと下位バイトにおけるそれぞれのバイト内でのビットの並び順は、必ずしも逆順に限るものではなく、例えば、それぞれのバイト内の最上位ビットと最下位ビットとを入れ替えるだけのものであってもよい。もっとも、とりわけタイミングの違いに応じた値の変化が少ない乱数発生回路115の発生する乱数の上位バイトは、なるべく多くのビットが入れ替えられることが好ましい。
上記の実施の形態では、判定値数は、設定値1〜6の全体に共通して記憶されているか、設定値1〜6のそれぞれに対して個別に記憶されているかであった。もっとも、設定値1〜6の全体に共通して判定値数が記憶されない(設定値についての共通フラグが設定されない)ものとして、例えば、設定値1〜3については判定値数が共通、設定値4〜6については判定値数が共通のものとすることもできる。
上記の実施の形態では、通常の遊技状態においては、賭け数として3を設定することのみによりゲームを開始させることができた。これに対して、通常の遊技状態においても、賭け数として1を設定してゲームを開始させることをできるようにしたり、さらには賭け数として2を設定してゲームを開始させることをできるようにしてもよい。この場合の判定値数は、設定値1〜6の全体に共通して記憶される役があるだけではく、賭け数1〜3の全体に共通して記憶される役があるものとしてもよい。この場合は、賭け数に応じても判定値数の記憶領域を小さくすることができ、さらに記憶容量の削減を図ることができる。
上記の実施の形態では、電源の遮断時におけるRAMパリティと起動時におけるRAMパリティとを比較して、RAM112に記憶されているデータが正常か否かを判定しているが、その他の方法でRAM112のデータが正常か否かを判定してもよい。例えば、電源の遮断などにより電圧低下信号が入力されたときにRAM112のデータのチェックサム(データ列を足し合わせた総和)を作成してチェックサム領域(パリティ領域112−7に対応する領域)に格納すると共に、起動時にもRAM112のデータのチェックサムを作成してチェックサム領域に格納されたチェックサムと比較することで、RAM112のデータが正常か否かを判定するようにしてもよい。そのほか、CRCなどの巡回符号を用いてもよい。
上記の実施の形態では、設定変更処理に移行する前にRAM112の初期化を行っていたが、設定変更処理に移行することに伴ってRAM112の初期化が行われればよく、例えば、設定変更処理の終了後に行ってもよいし、設定変更処理において設定値が確定した時点で行ってもよい。
上記の実施の形態では、遊技状態がビッグボーナスにある場合においては、レギュラーボーナスが繰り返して提供されるものとなっており、ビッグボーナス中の遊技状態は常にレギュラーボーナスであった。もっとも、ビッグボーナスにおける遊技状態をレギュラーボーナスに制御する条件はこれに限るものではなく、例えば、ビッグボーナスにおいて可変表示装置2の表示結果として所定の結果(JACIN)が導出されたことを条件として、レギュラーボーナスに制御するものとしてもよい。この場合、遊技状態がビッグボーナスに制御されているときには、内部抽選においてJACINも抽選対象役とし、JACIN当選したときには、JACIN当選フラグをRAM112に設定するものとすればよい。JACIN入賞は、JACIN当選フラグの設定が条件となる。
上記の実施の形態では、リール制御テーブルの制御内容として、停止ボタン12L、12C、12Rが操作されたときに中段に位置するリール3L、3C、3Rのステップ番号に対して、停止すべき図柄の停止ステップ番号を登録するものとしていた。もっとも、リール制御テーブルには、(停止)ステップ番号ではなく、図柄の番号を登録しておくものとしてもよい。停止ボタン12L、12C、12Rが操作されたときに中段に位置するリール3L、3C、3Rのステップ番号(或いは図柄番号)に対して、停止すべき図柄までの滑りコマ数を登録しておくものとしてもよい。例えば、停止操作時に中段に位置する図柄の図柄番号が1で停止すべき図柄の図柄番号が3であるときには、登録される滑りコマ数は2となる。また、中段を基準としてリール制御テーブルの制御内容を登録するのではなく、任意の位置(例えば、上段または下段の中心位置)を基準としてリール制御テーブルの制御内容を登録するものとしてもよい。
上記の実施の形態では、当選フラグの設定状況に基づいてリール制御テーブルを予め選択し、リール3L、3C、3Rの停止時においてリール制御テーブルを参照して図柄の停止位置を決定し、当該停止位置でリールを停止させるテーブル方式でリール3L、3C、3Rの回転を停止させるスロットマシンを例として説明した。これに対して、停止条件が成立したときの現在の図柄位置と当選フラグの設定状況に基づいて、当選している役の図柄が揃うように引き込み制御を行ったり、当選していない役の図柄が揃わないように外し制御を行うコントロール方式でリール3L、3C、3Rの回転を停止させるスロットマシンにも本発明を適用することができる。
コントロール方式では、停止ボタン12L、12C、12Rの操作が検出されたときに、対応するリール3L、3C、3Rについてその時点で表示されている図柄から190ミリ秒の最大停止遅延時間の範囲内(表示されている図柄と引き込み分を含めて合計5コマの範囲)に、当選フラグの設定されている役の図柄があるかどうかを判定する。当選フラグの設定されている役の図柄(重複当選時には、導出が優先される役の図柄から判断する)があれば、当該役を入賞させるための図柄を選択して有効ライン(既に停止しているリールがあるときには、停止しているリール上の図柄とともに入賞の表示態様を構成可能な有効ライン)上に導出させる。そうでなければ、いずれの役にも入賞させないための図柄を選択して導出させる。すなわち、このコントロール方式によりリール3L、3C、3Rの停止を制御する場合も、停止ボタン12L、12C、12Rの操作が検出されてから最大停止遅延時間の範囲で図柄を停止させることにより導出可能となる表示態様であって当選フラグの設定状況に応じた表示態様が、可変表示装置2の表示結果として導出されるものとなる。
なお、コントロール方式によりリール3L、3C、3Rの回転を停止させるスロットマシンでは、遊技制御基板101のCPU111は、CTにおいてリプレイ当選していないときに右と中のリール3C、3Rを第1、第2リールとしてなる場合には、第2リールの停止時において、「ベル」をテンパイさせると図10(a)に示した禁止目となるかどうかを判定するものとする。ここで、禁止目とならないものと判定された場合には、「ベル」をテンパイさせて第2リールとなった中のリール3Cまたは右のリール3Rを停止させるものとすることができる。一方、禁止目となるものと判定された場合には、「ベル」がテンパイされなくても禁止目以外の表示態様となるように第2リールとなった中のリール3Cまたは右のリール3Rを停止させるものとすることができる。
上記の実施の形態では、可変表示装置2は、外周部に複数の図柄を所定順に配した3つのリール3L、3C、3Rを備えるものとし、これらのリール3L、3C、3Rの回転駆動によって図柄を可変表示させるものとしていた。しかしながら、液晶表示装置などの表示装置上で仮想的に図柄を可変表示させるものを、上記のような可変表示装置2の代わりに用いてもよい。
上記の実施の形態では、賭け数の設定や入賞に伴う有価価値の付与に用いる遊技媒体としてメダルを適用したスロットマシンを例として説明した。しかしながら、本発明を具現化するスロットマシンは、パチンコ遊技機で用いられている遊技球を遊技媒体として適用したスロットマシン(いわゆるパロット)であってもよい。遊技球を遊技媒体として用いる場合は、メダル1枚分を遊技球5個分に対応させることができ、例えば、上記の実施の形態で賭け数として3を設定する場合は、15個の遊技球を用いて賭け数を設定するものに相当する。