以下、実施例に基づいて本発明を更に詳細に説明する。図1〜図4は、実施例に係るスロットマシンSLを図示したものである。本スロットマシンSLは、矩形箱状の本体ケース1と、各種の遊技部材を装着した前面パネル2とが、ヒンジ3を介して連結され、前面パネル2が本体ケース1に対して開閉可能に構成されている(図2)。そして、図1は前面パネル2の正面図、図2はスロットマシンSLの右側面図(a)と平面図(b)、図3は前面パネル2の背面図、図4は本体ケース1の内部正面図を示している。
図4に示す通り、本体ケース1の略中央には、3つの回転リール4a〜4cを備える図柄回転ユニット4が配置され、その下側に、メダル払出装置5が配置されている。各回転リール4a〜4cには、BB図柄、RB図柄、各種のフルーツ図柄、及びリプレイ図柄などが描かれている。メダル払出装置5には、メダルを貯留するメダルホッパー5aと、払出モータMと、メダル払出制御基板55と、払出中継基板63と、払出センサ(不図示)などが設けられている。ここで、メダルは、払出モータMの回転に基づいて、払出口5bから図面手前に向けて導出される。なお、限界量を越えて貯留されたメダルは、オーバーフロー部5cを通して、補助タンク6に落下するよう構成されている。
上記のメダル払出装置5に隣接して電源基板62が配置され、また、図柄回転ユニット4の上部に主制御基板50が配置され、主制御基板50に隣接して回胴設定基板54が配置されている。なお、図柄回転ユニット4の内部には、回胴LED中継基板58と回胴中継基板57とが設けられ、図柄回転ユニット4に隣接して外部集中端子板56が配置されている。
図1に示すように、前面パネル2の上部には液晶表示ユニット7が配置され、その下部には、回転リール4a〜4cに対応する3つの表示窓8a〜8cが配置されている。表示窓8a〜8cを通して、各回転リール4a〜4cの回転方向に、各々3個程度の図柄が見えるようになっており、合計9個の図柄の水平方向の三本と、対角線方向の二本が仮想的な停止ラインとなる。但し、本実施例では有効ラインは、図17(c)に示す4本である。
このような表示窓8aの左側には、遊技状態を示すLED群9が設けられ、その下方には、遊技成果として払出されるメダル数を表示する払出表示部10や、クレジット状態のメダル数を表示する貯留数表示部11が設けられている。
前面パネル2の垂直方向中央には、メダルを投入するメダル投入口12が設けられ、これに隣接して、メダル投入口12に詰まったメダルを返却させるための返却ボタン13が設けられている。また、クレジット状態のメダルを払出すクレジット精算ボタン14と、メダル投入口12へのメダル投入に代えてクレジット状態のメダルを擬似的に一枚投入する投入ボタン15と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
これらの遊技部材の下方には、回転リール4a〜4cの回転を開始させるスタートレバー17と、回転中の回転リール4a〜4cを停止させるためのストップボタン18a〜18cが設けられている。その他、前面パネル2の下方には、メダルを蓄える横長の受け皿19と、払出装置5の払出口5bに連通するメダル導出口20とが設けられている。なお、メダル導出口20の左右にはスピーカSPが配置されている。
図3に示すように、前面パネル3の裏側には、メダル投入口12に投入されたメダルの選別を行うメダル選別装置21と、メダル選別装置21により不適正と判別されたメダルをメダル導出口20に案内する返却通路22とが設けられている。また、前面パネル3の裏側上部には、演出制御基板51、演出インタフェイス基板52、及び液晶制御基板61などを収容する基板ケース23が配置されている。そして、メダル選別装置21の上部には、図1に示す各種の遊技部材と主制御基板50との間の信号を中継する遊技中継基板53が設けられている。
図5は、実施例に係るスロットマシンSLの回路構成を示すブロック図である。図示の通り、このスロットマシンSLは、回転リール4a〜4cを含む各種の遊技部材の動作を制御する主制御基板50と、主制御基板50から受けた制御コマンドに基づいて演出動作を実現する演出制御基板51と、交流電圧(24V)を直流電圧(5V,12V,24V)に変換して装置各部に供給する電源基板62とを中心に構成されている。
主制御基板50は、演出制御基板51に対して、スピーカSPによる音声演出、LEDランプや冷陰極線管放電管によるランプ演出、及び、液晶表示ユニット7による図柄演出を実現するための制御コマンドを出力している。そして、演出制御基板51は、演出インタフェイス基板52を通して、液晶制御基板61に接続されており、液晶制御基板61は、液晶表示(LCD)ユニット7における図柄演出を実現している。
演出制御基板51は、演出インタフェイス基板52と共に、LED基板59やインバータ基板60や回胴LEDドライブ基板58を経由して、各種のLEDや冷陰極線管放電管におけるランプ演出を実現している。また、演出制御基板51は、演出インタフェイス基板52を通してスピーカSPを駆動して音声演出を実現している。
主制御基板50は、遊技中継基板53を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー17の始動スイッチ、ストップボタン18a〜18cの停止スイッチ、投入ボタン15,16の投入スイッチ、清算ボタン14の清算スイッチ、投入枚数判定部21dを構成するフォトインタラプタPH1,PH2、投入メダル返却部21cを構成するブロッカーソレノイド31、及び、各種LED素子9〜11などに接続されている。
また、主制御基板50は、回胴中継基板57を経由して、回転リール4a〜4cを回転させる3つのステッピングモータ、及び、回転リール4a〜4cの基準位置を検出するためのインデックスセンサに接続されている。そして、ステッピングモータを駆動又は停止させることによって、回転リール4a〜4cの回転動作と、目的位置での停止動作を実現している。
主制御基板50は、払出中継基板63を通してメダル払出装置5にも接続されている。メダル払出装置5には、メダル払出制御基板55と、メダル払出センサと、払出モータMとが設けられており、メダル払出制御基板55は、主制御基板50からの制御コマンドに基づいて払出モータMを回転させて、所定量のメダルを払出している。
その他、主制御基板50は、外部集中端子板56と、回胴設定基板54にも接続されている。外部集中端子板56は、例えばホールコンピュータHCに接続されており、主制御基板50は、外部集中端子板56を通して、メダルの投入枚数やメダルの払出枚数などを出力している。また、回胴設定基板54は、係員が設定キーで設定した設定値を示す設定キー信号などを出力している。
ここで、設定値とは、当該遊技機で実行される抽選処理の当選確率などを、設定1から設定6まで6段階で規定するもので、遊技ホールの営業戦略に基づいて適宜に設定される。例えば、最高ランクに設定された遊技機は、メダル払出枚数の期待値が最高レベルであるため、遊技者にとって最も有利である。
図6は、主制御基板50の回路構成を図示したものである。図示の通り、主制御基板50は、ワンチップマイコン64と、8bitパラレルデータを入出力するI/Oポート回路65と、ハードウェア的に乱数値を生成するカウンタ回路66と、演出制御基板51などの外部基板とのインタフェイス回路とを中心に構成されている。ここで、ワンチップマイコン64は、Z80相当品のCPUコア64a、ROM、RAMなどの他に、CTC(Counter/Timer Circuit)64bや、割込みコントローラ64cなどを内蔵している。
CTC64bは、8bitのカウンタやタイマを集積した回路であり、Z80システムに、周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)や時間計測の機能を付与するものである。そこで、本実施例では、CTC64bを利用して、Z80CPU64aに1.5mS程度の時間間隔τでタイマ割込み(図13(a))をかけている。
インタフェイス回路としては、電源回路とのインタフェイス回路67、遊技中継基板53とのインタフェイス回路68と、回胴モータ駆動回路69と、演出制御基板と51のインタフェイス回路70などが設けられている。そして、電源遮断時には、インタフェイス回路67を通して、Z80CPU64aに電圧降下割込みをかけている。なお、回胴モータ駆動回路69は、回転リール4a〜4cのステッピングモータの駆動信号を生成する回路であり、インタフェイス回路70は、演出制御基板51に制御コマンドを出力するための8ビットパラレルポートである。
図7は、カウンタ回路66をより詳細に例示した回路図である。図示のカウンタ回路66は、スタートレバー17のON操作を示す始動スイッチ信号SGを受ける入力部24と、2つのD型フリップフロップ25a,25bによる信号取得部25と、ハードウェア乱数の下位8ビット(LOW)を生成するICカウンタ26Lと、ハードウェア乱数の上位8ビット(HI)を生成するICカウンタ26Hとを中心に構成されている。そして、ICカウンタ26H,26Lの各出力端子(QA〜QH)は、データバスを通して、ワンチップマイコン64(CPUコア64a)に接続されている。
入力部24は、抵抗とコンデンサによるローパスフィルタと、シュミットトリガ型のインバータとで構成されている。そのため、負論理の始動スイッチ信号SGは、論理変換されて信号取得部25に供給される。
信号取得部25は、直列接続された2つのD型フリップフロップ25a,25bで構成されている。そして、各クロック端子CLKには、基準パルスΦが供給されており、基準パルスΦの立ち上がりエッヂのタイミングで、D入力端子のデータが取得されてQ出力端子に出力される。したがって、始動スイッチ信号SGがLレベルに変化した後、2つ目の基準パルスΦの立ち上がりエッヂで、各ICカウンタ26L,26Hのロック端子RCLKが、Hレベルに立ち上がる。
基準パルスΦは、専用の発振回路によって、システムクロックとは別に発振させるのが好ましいが、簡易的には、ワンチップマイコン64を動作させるシステムクロックを基準パルスΦに代用しても良い。
2つのICカウンタ26は、いずれも、8ビットのバイナリカウンタと8ビットの出力レジスタとを内蔵している。そして、クロック端子CCLKに供給されるクロック信号を2進カウントする一方、ロック端子RCLKに保持信号を受けると、その瞬間のバイナリカウンタのカウンタ値が、内蔵する出力レジスタに記憶されるようになっている。なお、出力レジスタに記憶されたカウンタ値は、出力イネーブル端子OEがLレベルであることを条件に、外部出力端子(QA〜QH)に出力される。
図示の通り、このカウンタ回路66では、電源電圧値(DC5V)が正常値である限り、基準パルスΦが、NANDゲートを経由して下位ICカウンタ26Lのクロック端子CCLKに供給される。一方、上位ICカウンタ26Hには、下位ICカウンタ26Lの桁上げ信号RCOが供給されている。そのため、2つのICカウンタ26は、全体として16ビットカウンタとして機能することになり、2つの内部カウンタは、0000H〜FFFFH(10進数65535)カウンタ値の間で循環することになる。なお、添字Hは、以下の場合も含め、16進数を意味する。
先に説明した通り、始動スイッチ信号SGがLレベルに変化すると、これに対応して、各ICカウンタ26L,26Hのロック端子RCLKがHレベルに立ち上がり、内部のバイナリカウンタの値が出力レジスタに保持される。一方、各ICカウンタ26L,26Hの出力イネーブル端子OEには、ワンチップマイコン64からチップセレクト信号CS0,CS1が供給されている。そのため、ワンチップマイコン64は、必要時に、チップセレクト信号CS0,CS1をLレベルに変化させることによって、ICカウンタ26L,26Hに内蔵の出力レジスタが保持するデータQA〜QHを取得できることになる。
図8は、電源基板62の回路構成を示すブロック図である。この電源基板62は、交流24Vを受けて脈流電圧に変換する整流部80と、脈流電圧を直流5Vに変換する第1電圧変換部81と、脈流電圧を直流12Vに変換する第2電圧変換部82と、脈流電圧を直流24Vに変換する第3電圧変換部83と、第1電圧変換部81の出力電圧を蓄電する蓄電部84と、電源遮断状態を検出して検出信号RESを出力する電源監視部85とで構成されている。
蓄電部84は、大容量(1ファラッド程度)のコンデンサCと、過電流用の制限抵抗r1、r2と、逆方向電流を阻止するダイオードDとで構成されている。なお、制限抵抗r1は75Ω程度、制限抵抗r2は10Ω程度である。コンデンサCの両端電圧は、バックアップ電源として、ワンチップマイコン64に供給されている。
このバックアップ電源は、ワンチップマイコン64に内蔵されたSRAM(static ram)に供給されており、電源電圧の遮断状態でも、通常7〜8日はRAM(Random Access Memory)の記憶内容を保持するようにしている。なお、RAMの記憶容量は、この実施例では、遊技機のワークエリアとして使用される512バイト程度である。
電源監視部85は、交流入力電圧24Vの電圧レベルと、直流電源電圧5Vの電圧レベルとを監視している。そして、何れか一方のレベルが所定値を下回ると、検出信号RESがLレベルに変化するよう構成されている。瞬停や停電などの異常時には、先ず、交流入力電圧の電圧降下に対応して、検出信号RESが素早く出力される。
この検出信号RESは、主制御基板50のインタフェイス回路67(図6)に供給されて、正論理の異常信号ALMと、負論理の異常信号ALMバーとなる。そして、正論理の異常信号ALMがI/Oポート回路65に供給される一方、負論理の異常信号ALMバーは、ワンチップマイコン64の割込み端子INT(maskable Interrupt)に供給される。したがって、この時、CPUコア64aが割込み許可状態であれば、負論理の異常信号ALMバーに基づいて、電圧降下割込み処理が開始されることになる。
図6のインタフェイス回路67には電源リセット回路も内蔵されている。そして、電源投入時には、インタフェイス回路67で生成されたリセット信号が、ワンチップマイコン64のリセット端子RST0に供給される。その結果、CPUコア64aがリセット状態となり、ROMの先頭アドレス以降の制御プログラムの実行が開始されることになる。
続いて、主制御基板50のワンチップマイコン64(以下、主制御部50という)が実現する制御動作を説明する。図9〜図11は、主制御部50が実行する制御プログラムを説明するフローチャートである。主制御部50の制御プログラムは、電源投入時に開始される無限ループ状のメイン処理(図9(a))と、CTCからの定時割込みで起動されるタイマ割込み処理(図9(b))と、電源遮断時に電源基板62からの検出信号RESで起動される電圧降下割込み処理(不図示)とで構成されている。ここで、タイマ割込み、及び電圧降下割込みは、共にマスク可能な割込みであり(maskable interrupt)、タイマ割込みの割込み周期τは、1.5mS程度である。
先ず、図9(a)のメイン処理から説明すると、電源が投入されると初期処理(ST1)の後、CPUを割込み許可状態に設定すると共に、RAMのワークエリアをクリアする(ST2)。
ステップST2の処理が終われば、次に、メダル投入口12から実際に投入されたメダル、及び、投入ボタン15、16の押下によって擬似的に投入されたメダルについてのメダル投入処理を行う(ST3)。メダル投入処理(ST3)では、遊技者が投入又は擬似投入したメダルを検出して、その投入枚数を判定し、スタートレバー17がON操作されるとサブルーチン処理を終了する。なお、図7に関して説明した通り、スタートレバー17がON操作されると、始動スイッチ信号SGがLレベルに変化し、その瞬間のカウンタ値が、各ICカウンタ26H,26Lに内蔵された出力レジスタに保持記憶される(図7参照)。
そこで、メダル投入処理(ST3)に続いて、乱数取得処理(ST4)が実行される。具体的には、ワンチップマイコン64は、チップセレクト信号CS0,CS1をLレベルに変化させて、カウンタ回路66に保持されているカウンタ値を取得し、これを、乱数値RND(数値範囲:0〜65535)としてRAMの該当番地に記憶する。
<内部抽選処理で使用する抽選値テーブルDATi>
次に、記憶した乱数値RNDに基づいて内部抽選処理を実行する(ST5)。この実施例では、内部抽選処理(ST5)のために、18種類の抽選値テーブルDAT1〜DAT18(図14〜図16)が用意されており、これらが複雑に組み合わされて特有の多様な内部抽選処理(ST5)が実行される。
図14〜図16に示す通り、各抽選値テーブルDAT1〜DAT18には、先頭1バイト長のデータ識別子に続いて、1バイト長または2バイト長の抽選値WD1〜WDnが連続して格納されている。
各抽選値WDiは、これに対応する抽選処理において当選状態となるか否かを決定する数値範囲を意味する。具体的に説明すると、n個の抽選値WD1〜WDnは、この順番で乱数値RNDと比較され、先ず、WD1>RNDであれば第1番目の抽選処理が当選状態となり、この段階で内部抽選処理(ST5)が完了する。一方、第1番目の抽選処理がハズレ状態であると、次に、RND−WD1と2番目の抽選値WD2とが対比され、WD2>RND−WD1(つまり、WD1+WD2>RND)であれば、第2番目の抽選処理が当選状態となり、この段階で内部抽選処理(ST5)が完了する。
以下、同様の処理が繰り返されるので、WD1+WD2+・・・・+WDi>RNDであれば、第i番目の抽選処理が当選状態となる。したがって、WD1+WD2+・・・・+WDn≦RNDの場合には、n回全ての抽選処理でハズレ状態となることになる。以上の処理から明らかな通り、各抽選値WDiは、当選数値範囲(当選幅)を意味し、その値が大きいほど、その抽選処理における当選確率が高いことになる。
先に説明した通り、各抽選値テーブルDAT1〜DAT18の先頭には、1バイト長のデータ識別子が格納されている。ここで、データ識別子の最上位ビット(bit7)は、その抽選値テーブルDATiを使用した抽選処理が、遊技機に設定されている設定値ごとに実行されるか否かを規定している。設定値は、設定1から設定6まで6区分されており、遊技機毎に予め適宜に設定されているが、bit7=1の場合には、その遊技機の設定値に対応した抽選処理が実行される。逆に、bit7=0であれば、その遊技機の設定値の相違に拘らず、共通した抽選処理が実行される。
データ識別子のbit6は、その抽選値テーブルDATiに格納されている抽選値が1バイト長か2バイト長かを規定している。抽選値WDiが大きいほど、その抽選処理における当選確率が高いので、当選確率が高い場合には抽選値を2バイト長とする必要があり、逆に、ボーナス図柄(BB1〜BB3,BG1〜BG2)のように当選確率が低い場合には抽選値が1バイト長で足りることになる。例えば、抽選値テーブルDAT12は、ボーナス図柄(BB1〜BB3,BG1〜BG2)の当否抽選に使用されるが、抽選値は全て1バイト長であり、これに対応してデータ識別子(20H)のbit6は、0となっている。なお、抽選値テーブルDAT12では、全ての抽選値WD1〜WD32を加算しても139にしかならないので、何れかのボーナス図柄(BB1〜BB3,BG1〜BG2)に当選する当選確率は、0.2%程度(139/65536)である。
データ識別子のbit5は、その抽選値テーブルDATiに格納されている抽選値を、複数回使用するか否かを規定している。例えば、抽選値テーブルDAT2,DAT7,DAT9,DAT11では、そのデータ識別子のbit5がbit5=1である。そのため、各抽選値テーブルのアクセス時に、そこに格納されている抽選値(01F4H,0A5CH,1111H,010BH)が複数回連続的に使用される。逆に、bit5=0である他の抽選テーブルに格納されている抽選値は、各抽選値テーブルのアクセス時に1回だけ使用される。
ところで、データ識別子のbit4〜Bit0は、データ識別子(1バイト)に続いて各抽選値テーブルDATiに格納されている抽選値WD(1バイト長または2バイト長)の個数を意味している。抽選値WDは、各抽選処理での当否結果を一意に規定する数値であるので、データ識別子のbit4〜Bit0は、その抽選値テーブルDATiを使用する場合における抽選回数を意味することになる。通常の設計では、抽選回数は31回を超えることがないので、抽選回数を5bitで表現することができる。なお、図14〜図16の抽選値テーブルDAT1〜DAT18の右欄には、2進数表示されたデータ識別子と、その2進数の意味を、参考のために記載している。
<内部抽選処理で使用するアドレステーブルADR>
抽選値テーブルDAT1〜DAT18は、上記の通りに構成されているが、各抽選処理時には、その抽選処理で使用する単一または複数個の抽選値テーブルDATiを特定する必要がある。そこで、本実施例では、アドレステーブルADR(図12〜図13)を設け、そこに、抽選値テーブルDATiの先頭アドレス(2バイト長)を記憶している。
アドレステーブルADR(図12〜図13)は、具体的には、例えば、6バイト長のインデックス領域INDXと、6区分されたアドレス領域AD1〜AD6とに大別されている。6区分されたアドレス領域AD1〜AD6は、各々、先頭1バイト領域と、残り複数バイト領域とに区分され、残り複数バイト領域には、抽選値テーブルDATiの先頭アドレス(2バイト長)が、一個又は複数個記憶されている。一方、先頭1バイト領域は、これに続いて記憶されている一連のアドレス情報(2バイト長)の個数を意味しており、したがって、アドレス情報の個数は、各遊技状態において参照される抽選値テーブルDATiの個数を意味する。
アドレステーブルADRのインデックス領域INDXは、遊技状態に対応して区分されており、具体的には、(1)RB1作動中、(2)ボーナス内部当選中、(3)非RT中、(4)RT1作動中、(5)RT2作動中、(6)RB2作動中の6つの遊技状態に対応して区分されている。
そして、インデックス領域INDXには、各遊技状態に対応して参照すべきアドレス領域AD1〜AD6を特定する相対アドレス(1バイト長)が格納されている。例えば、その時の遊技状態が「非RT中」であれば、インデックス領域INDXの該当番地の格納データ(1EH)から、1356H番地(=1338H+1EH)以降に確保された、アドレス領域AD3を参照すべきことが特定される。
インデックス領域INDXで規定されている6種類の遊技状態のうち、「RB1作動中」と「RB2作動中」は、いわゆるビッグボーナス状態を意味し、メダル払出枚数の期待値の相違に基づいて二段階(RB1,RB2)に区分されている。なお、RB1のボーナスゲーム(RB1作動中)は、「BB図柄」が有効ラインに整列すると開始され、RB2のボーナスゲーム(RB2作動中)は、「BG図柄」が有効ラインに整列すると開始される。
このようなBB図柄とBG図柄として、この実施例では複数種類が用意されており、BB図柄は、BB1図柄(赤色7・赤色7・赤色7)と、BB2図柄(緑色7・緑色7・緑色7)と、BB3図柄(BAR・BAR・BAR)の3種類がこれに該当する。また、BG図柄は、BG1図柄(BAR・BAR・赤色7)と、BG2図柄(BAR・BAR・緑色7)の2種類がこれに該当する。
そして、BB図柄が整列した後のボーナスゲーム(RB1作動中)では、アドレス領域AD1で特定される抽選値テーブルDAT1(13AAH番地以降)の抽選値が使用されて、図14の最上段の枠内に規定された13種類の小役当選状態の何れかに、極めて高確率(FFFDH/10000H)で当選する。
また、RB図柄が整列した後のボーナスゲーム(RB2作動中)では、アドレス領域AD6で特定される抽選値テーブルDAT18(14C4H番地以降)の抽選値が使用されて、図16の最下段の枠内に規定された5種類の小役当りの何れかに、100%の確率で当選する。
ところで、本実施例では、小役図柄として、「チェリー」「ベル」「赤丸」「緑丸」「青丸」が用意されている。なお、「全丸」とは、「赤丸」「緑丸」「青丸」の何れかを意味する。そのため、例えば、抽選値テーブルDAT1に規定された「全丸」に内部当選すると、その後、有効ライン上に「丸図柄」が3つ揃うと、各「丸図柄」の色彩の相違に拘らず、例えば9枚の配当メダルが払出される。したがって、「全丸」に内部当選した場合には、有効ライン上の停止可能な「丸図柄」の組合せは、3×3×3=27通りあることになる。
なお、有効ライン上に「ベル・ベル・ベル」と整列した場合には、8枚の配当メダルが払出され、「チェリー・ANY・ANY」と整列した場合には、4枚の配当メダルが払出される。ここで、ANYは、任意の図柄を意味する。
また、BFR1〜BFR9は、各々、複数種類の小役に重複して内部当選した状態を意味している。例えば、BFR1に内部当選した場合には、有効ライン上に、「全丸・全丸・全丸」、「青丸・ベル・全丸」、「緑丸・ベル・全丸」、「青丸・全丸・ベル」、「緑丸・全丸・ベル」のいずれかの組合せの図柄が揃うと、9枚の配当メダルが払い出される。
その他、抽選値テーブルDAT2に規定されたFR1〜FR27や、抽選値テーブルDAT18に規定されたGFR1〜GFR3も同様である。例えば、抽選値テーブルDAT2のFR1に内部当選した場合には、有効ライン上に、「全丸・全丸・全丸」、「赤丸・ベル・赤丸」、「赤丸・赤丸・ベル」のいずれかの組合せの図柄が揃うと、9枚の配当メダルが払い出される。一方、抽選値テーブルDAT18のGFR1に内部当選した場合には、有効ライン上に、「全丸・全丸・全丸」、「全丸・ベル・全丸」、「全丸・全丸・ベル」のいずれかの組合せの図柄が揃うと、9枚の配当メダルが払い出される。
ところで、前記したボーナスゲーム(「RB1作動中」または「RB2作動中」)でない状態は、これを総称すると「一般遊技中」ということになる。この一般遊技中は、図12のアドレステーブルADRのインデックス領域INDXに示すように、本実施例では、「ボーナス内部当選中」と、「非RT中」と、「RT1作動中」と、「RT2作動中」とに区分される。ここで、RT(リプレイタイム)とは、リプレイ当選の当選確率が上昇しているゲーム状態を意味し、当選確率の違いに応じて、RT1とRT2に区分されている。なお、リプレイ当選状態となると、新規にメダルを投入することなく、次回のゲームに移行できるのでメダル消費が抑制される。
本実施例では、このようなリプレイ当選状態を可能にする図柄の組合せについても、複数種類を用意しており、例えば、有効ライン上に「リプレイ・リプレイ・リプレイ」と本来の図柄が整列した場合だけでなく、有効ライン上に「リプレイ・リプレイ・全丸」や「緑7・チェリー・リプレイ」や「BAR・チェリー・リプレイ」の変則図柄が整列した場合にもリプレイ当選状態としている。
なお、抽選値テーブルDAT1〜DAT18では、再遊技A、再遊技B、再遊技C、再遊技Dと表現されているが、これらは、重複したリプレイ当選状態を意味している。例えば、再遊技Aは、再遊技1の単独当選状態を意味するが、その他は、再遊技B=再遊技1&再遊技2&再遊技4、再遊技C=再遊技1&再遊技2、再遊技D=再遊技1&再遊技2&再遊技3の重複当選状態を意味している。なお、最遊技1、再遊技2、再遊技3、再遊技4は、各々、「リプレイ・リプレイ・リプレイ」、「リプレイ・リプレイ・全丸」、「緑7・チェリー・リプレイ」、「BAR・チェリー・リプレイ」の図柄を意味し、これらが有効ライン上に揃うと、対応する再遊技iのリプレイ当選状態となる。
「RT1」や「RT21」とは、このようなリプレイ当選の当選確率が上昇しているゲーム状態を意味するが、「RT1作動中」であれば、アドレス領域AD4で特定される11個の抽選値テーブルを、その順番に使用して抽選処理が実行され、「RT2作動中」であれば、アドレス領域AD5で特定される11個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
2つのアドレス領域AD4,AD5の格納データを対比すれば明らかな通り、この実施例では、テーブル参照回数を規定する1バイトを除いた合計11行のうち、最初2欄([1]欄と[2]欄)で特定される抽選値テーブルを除いて、残り9欄([3]欄〜[11]欄)で特定される抽選値テーブルは共通している。したがって、この実施例では、リプレイ図柄の当選確率以外は、「RT1作動中」と「RT2作動中」とで、当選確率に差異がないことになる。
次に「非RT中」とは、「RT1作動中」でも「RT2作動中」でもない遊技状態であって、リプレイ図柄の当選確率が通常値である一般遊技中を意味する。このような遊技状態(非RT中)では、アドレス領域AD3で特定される11個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
一方、「ボーナス内部当選中」の遊技状態とは、ボーナス図柄であるBB図柄又はRB図柄の何れかに内部当選したものの、該当する当選図柄を、未だ有効ラインに整列できていないゲーム状態を意味する。なお、一旦、内部当選したボーナス当選状態は、実際にボーナスゲームが開始されるまで消滅することはなく複数ゲームにわたって持ち越される。そして、ボーナス当選状態を持ち越したボーナス内部当選中のゲームでは、アドレス領域AD2で特定される11個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
アドレス領域AD2(133FH番地以降)の[2]欄〜[9]欄のアドレス値と、アドレス領域AD3(1356H番地以降)の[3]欄〜[10]欄のアドレス値とを対比すると明らかな通り、「ボーナス内部当選中」に使用される8個の抽選値テーブルは、「非RT中」に使用する8個の抽選値テーブルと共通している。そのため、本実施例では、抽選値テーブルを簡素化してROM領域の消費を抑制できる利点がある。もっとも、その結果、「ボーナス内部当選中」に、再度、ボーナス図柄(BB1〜BB3など)に当選する可能性もあるが、仮に、重複当選しても、そのボーナス図柄を除く小役当選だけが有効とされる。
なお、図12〜図13のアドレス領域AD1〜AD6の右欄には、各抽選値テーブルDATiを選択した場合の抽選回数と、抽選回数の合計値を、参考のために記載している。また、インデックス領域INDXの右欄には、相対アドレス値から算出される絶対アドレス値を、参考のために記載している。
<内部抽選処理(ST5)の内容>
続いて、アドレステーブルADRと抽選値テーブルDAT1〜DAT18を使用して実行する内部抽選処理(ST5)について、図10(a)、図10(b)を参照しつつ具体的に説明する。
内部抽選処理(ST5)では、CPUは、最初に、その時の遊技状態を特定する(ST31)。具体的には、その遊技機が、その時に、「RB1作動中」、「ボーナス内部当選中」、「非RT中」、「RT1作動中」、「RT2作動中」、又は、「RB2作動中」の何れの遊技状態であるかを特定する。
次に、アドレステーブルADRのインデックス領域INDXに格納されている相対アドレス値(1バイト長)に基づいて、現在の遊技状態に対応するアドレス領域ADiの先頭アドレス(2バイト長)を特定する(ST32)。そして、特定されたアドレス領域ADiの先頭1バイトに格納されているテーブル参照回数を、第1ループ回数としてRAMワーク領域の該当番地に記憶する(ST33)。
次に、アドレス領域ADiを特定しているアドレス値Xaをインクリメント(+1)して更新する(ST34)。そして、更新後のアドレス値Xaをメモリに格納すると共に、更新後のアドレス値Xaで特定される2バイト長のアドレス値Yaをメモリに格納して(ST35)、図10(b)に示す抽選判定処理(ST36)を実行する。なお、アドレス値Yaは、アドレス領域ADiの記憶値であり、要するに、選択された抽選値テーブルDATiの先頭アドレス値を意味する。
このようにして開始される抽選判定処理(ST36)では、最初に、抽選値テーブルDATiの先頭アドレス(Ya)に格納されているデータ識別子を取得する(ST51)。そして、データ識別子のbit0〜bit5の数値を、第2ループ処理回数とオフセット値OFFとして、RAMワーク領域の該当番地に各々記憶して、アドレス値Yaをインクリメントする(ST52)。
次に、データ識別子のbit7に基づいて、設定値別の抽選処理を実行するか否かを判定して、bit7=0であれば、次の処理をステップST57までスキップする。一方、bit7=1であって、設定値別の抽選処理を実行する場合には、データ識別子のbit6に基づいて、抽選値WDiが1バイト長か2バイト長かを判定する(ST54)。そして、抽選値WDiが2バイト長である場合には、OFF←OFF*2の演算によって、初期状態のオフセット値OFFを2倍の値に更新する(ST55)。この処理によってオフセット値OFFは、抽選回数の2倍の値となる。一方、抽選値WDiが1バイト長であれば、初期設定されたオフセット値OFFが、そのまま使用される。
そして、初期状態又は更新後のオフセット値OFFと、その遊技機の設定値Siとに基づいて、アドレス値Yaを更新する(ST56)。設定値Siは、1〜6の何れかであるので、具体的には、Ya←Ya+(Si−1)*OFFの演算によってアドレス値Yaを更新する。なお、更新前のアドレス値Yaは、現在選択されている抽選値テーブルDATiの先頭アドレス+1の値であり(ST52参照)、更新後のアドレス値Yaは、設定値毎の抽選値WDiが格納された先頭アドレス値である。
次に、選択されている抽選値テーブルDATiから特定される抽選番号NUMを、RAMワーク領域の該当番地に記憶する(ST57)。また、更新後のアドレス値Yaによって特定される抽選値WDiの下位1バイトを取得し、Z80CPUのEレジスタに格納する(ST58)。また、アドレス値Yaをインクリメントする(ST59)。
次に、データ識別子のbit6に基づいて、抽選値WDiが1バイト長か2バイト長かを判定し、抽選値WDiが1バイト長であれば、次の処理をステップST63までスキップする。一方、抽選値WDiが2バイト長であれば、インクリメント後のアドレス値Yaによって特定される抽選値の上位1バイトを取得し、Z80CPUのDレジスタに格納する(ST61)。また、アドレス値Yaをインクリメントする(ST62)。なお、Dレジスタの値は、ステップST61の処理が実行されない限り、初期値0のままである。
次に、ステップST4(図9(a))の処理で記憶された乱数値RNDを読み出し、Z80CPUのHLレジスタに格納する(ST63)。そして、DレジスタとEレジスタとを組み合わせたDEレジスタとの関係で、HL←HL−DEの演算処理を実行する(ST64)。なお、この減算処理は、乱数値RNDと抽選値WDiとの大小比較による抽選処理に他ならず、RND<WDiであれば、その抽選処理に当選したことを意味する。
抽選処理の当否に拘らず、減算処理(抽選処理)後のHLレジスタの値によって、乱数値RNDに書き換えられるが、もし当選状態であればZ80CPUのキャリフラグCYがCY=1となっている。そこで、当否状態を特定するキャリフラグCYの値をRAMの該当領域に一時保存する。
次に、データ識別子のbit5の値に基づいて、先の抽選処理で使用した抽選値WDiを重複して使用するか否かを判定する(ST65)。そして、bit5=1であって、抽選値WDiを重複使用する場合には、その抽選値WDiが2バイト長か1バイト長かに応じてアドレス値Yaを−1又は−2して更新する。なお、抽選値WDiのバイト長は、データ識別子に基づいて判定する。
続いて、先に一時保存されたキャリフラグCYの値に基づいて、当否結果を判定し(ST67)、当選状態であれば、このサブルーチン処理(ST51〜ST68)を完了する。
一方、一時保存されたキャリフラグCYの値がCY=0であってハズレ状態であれば、第1ループ回数をデクリメント(−1)し、デクリメント後の値が0でない限り、ステップST57〜ST68の処理を繰り返す。
例えば、抽選テーブルDAT2が選択されている場合であれば、RND←RND−WDiの演算を実行しつつ、最高27回の抽選処理が、同一の抽選値01F4Hを使用して繰返される。その他、抽選テーブルDAT7,DAT9,DAT11が選択されている場合にも、RND←RND−WDiの演算を実行しつつ、最高3回の抽選処理が、各々、同一の抽選値0A5CH,1111H,010BHを使用して繰返される。
一方、抽選値テーブルDAT1が選択されている場合であれば、RND←RND−WDiの演算を実行しつつ、最高13個の別々の抽選値WDi(BA52H・071CH・071CH・071CH・071CH・071CH・071CH・071CH・071CH・071CH・028FH・0258H・00C8)との対比処理が、この順番に繰返される。なお、抽選値WDiの総和ΣWDiがFFFDHであることから、何れかの役に当選する確率がほぼ100%(=FFFDH/10000H)であり、この点は先に説明した通りである。
また、例えば、抽選値テーブルDAT13が選択されており、その遊技機の設定値Siが4の場合(Si=4)には、RND←RND−WDiの演算を実行しつつ、最高4個の別々の抽選値WDi(28H・0FH・01H・05H)との対比処理が順番に繰返される。
このような抽選判定処理(ST36)によって、特定の抽選値テーブルDATiを使用した一連の抽選処理が実行され、当否結果は、一時保存されたキャリフラグCYの値として保存されてサブルーチン処理(ST36)が完了される。なお、当選状態(CY=1)の抽選番号NUMは、RAMワーク領域の該当番地に記憶されている(ST57参照)。
抽選判定処理(ST36)が終われば、アドレステーブルADRのアドレス領域ADiを特定しているアドレス値Xaを+2して更新すると共に(ST37)、キャリフラグCYの値に基づいて抽選判定処理(ST36)の当否結果を判定する(ST38)。そして、ハズレ状態であれば、第1ループ回数をデクリメントし、デクリメント後の値が0でない限り、ステップST35〜ST39の処理を繰り返す。
例えば、遊技状態が「非RT中」であれば、アドレステーブルADRのアドレス領域AD3が選択されているので、抽選判定処理(ST36)においてRND←RND−WDiの演算を繰返しつつ、最高11個の抽選値テーブル(DAT6・DAT7・DAT2・DAT3・DAT4・DAT12・DAT13・DAT14・DAT15・DAT16・DAT17)が、この順番に選択されることになる。
図12の右欄に記載の通り、これら11個の抽選値テーブルDATiでは、各々、1回・3回・27回・2回・1回・32回・4回・4回・2回・2回・5回の抽選処理(ST64の減算処理)が実行されるので、全ての抽選処理がハズレ状態であると、合計83回の抽選を実行することになる。図11は、83回の抽選処理の内容を図示したものである。そして、このような場合には、ハズレ状態を示すデータをRAMの第1アドレスPT1に記憶する(ST40)。
一方、一連の抽選判定処理(ST36)の途中で当選状態となれば、ステップST38からステップST41の処理に移行して、抽選番号NUMを、当選番号としてRAMの第2アドレスPT2に記憶し、第1アドレスPT1や第2アドレスPT2のデータに基づいて内部当選フラグを設定する(ST42)。なお、ここで設定された内部当選フラグは、回胴停止処理(ST8)や入賞判定処理(ST9)で参照される。
そして、最後に、試験用信号の出力準備をすると共に(ST43)、遊技開始コマンドをセットして(ST44)、内部抽選処理を終える。なお、説明の便宜上、ここでは、第1アドレスPT1と第2アドレスPT2を使用する旨説明したが、ハズレ状態を示すデータと、当選状態を示すデータを同一のRAM領域に記憶しても良いのは勿論である。この場合、ハズレ状態の場合には、例えば00Hを記憶し、当選状態の場合には、例えば、その抽選番号NUMを記憶すれば良い。
<内部抽選処理(ST5)以降>
以上、図10に基づいて、内部抽選処理について詳細に説明したので、図9に戻って、その後の処理を説明する。乱数値RNDによる内部抽選処理(ST5)が終われば、次に、回転リール4a〜4cを回転させるための準備作業を行い、タイマ割込みによる回転リール4a〜4cの回転制御を可能にし(ST6〜ST8)、その後、ストップボタン18a〜18cが押されたら、対応する回転リール4a〜4cを停止させる回胴停止処理を行う(ST8)。
この回胴停止処理では、内部抽選処理(ST5)の当否結果に沿うように、停止制御が実行される。すなわち、内部抽選処理(ST5)の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール4a〜4cの図柄を整列させる。但し、遊技者がストップボタンを押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。
このようにして、全ての回転リール4a〜4cが停止したら、有効ライン上に、当選図柄が揃ったか否かが判定され(ST9)、必要数のメダルが払出される(ST10)。
そして、RT(リプレイタイム)のゲーム消化数などを管理して必要な処理を実行する(ST11)。次に、リプレイ当選状態か否か判定され(ST12)、リプレイ当選状態であれば、再遊技動作の開始処理(ST15)を実行した後、ステップST2に移行する。なお、リプレイ当選状態となる図柄の組合せは、1種類ではなく、多種類存在することは前記した通りである。
リプレイ当選状態でない場合には、現在がボーナスゲーム中(RB1作動中、又はRB2作動中)か否か判定され、ボーナスゲーム中であれば、対応する処理を実行してステップST2に移行する。
一方、ステップST13の判定がNOの場合には、ボーナス図柄が揃っているか否か判定され(ST14)、ボーナス図柄が揃っている場合には、ボーナスゲームの開始処理(ST17)を実行した後、ステップST2に移行する。なお、ボーナス図柄の組合せについても多種類が用意されている。
<タイマ割込み処理>
続いて、図9(b)に示すタイマ割込み処理について説明する。なお、このタイマ割込み処理は、ワンチップマイコン64内部のCTCからのマスク可能な割込み信号(タイマ信号)に基づいて、一定時間間隔τで起動される。
タイマ割込みがかかると、CPUのレジスタを退避した後(ST21)、ポート入力処理を行う(ST22)。ポート入力処理では、始動スイッチ、停止スイッチ、貯留メダルスイッチ、清算スイッチ、ドアスイッチなど、スロットマシンに配置された全てのスイッチからの信号が、I/Oポート回路65を通して入力される。また、ポート入力処理では、フォトインタラプタPH1、PH2からの検出信号S1,S2も、I/Oポート回路65を通して入力される。なお、検出信号S1,S2は、メダルの通過を、通路の上流側と下流側とで検出したことを示す信号である。
次に、3つの回転リール4a〜4cの現在位置を常に把握するために、回胴回転制御処理が実行される(ST23)。主制御部50は、インデックセンサからの入力信号の入力タイミングと、その後、ステッピングモータに供給する駆動パルスの個数によって、各回転リール4a〜4cの現在位置を把握することができる。なお、回胴回転制御処理(ST23)では、回転リール4a〜4cの起動処理や停止処理も実施しており、例えば、停止状態から定速回転まで、段階的に回転リールを加速させる駆動信号も生成している。
回胴回転制御処理(ST23)が終われば、定期更新処理を実行する(ST24)。定時更新処理では、遊技動作を管理する各種のソフトウェアタイマ値が、デクリメント処理(−1)によって更新される。
続いて、演出制御部51に対して制御コマンドの1バイト分を出力する(ST25)。1つの制御コマンドは2バイト長であるので、連続する二回のタイマ割込みで1つの制御コマンドを送信することになる。なお、制御コマンドは、主制御部50の遊技状態を示すもので、スタートレバー17やストップボタン18a〜18cが操作されたことも含んだ遊技状態が、制御コマンドによって演出制御部51に通知される。これのような制御コマンドを受けた演出制御部51ではLEDランプを点灯させたり、効果音を発生させるべく制御動作を実行する。
次に、メダル情報出力処理を実行して、外部集中端子板56に対して、例えば、各々1ビット信号であるメダル投入信号やメダル払出信号を出力する(ST26)。このメダル投入信号や払出信号によって、ホールコンピュータHCは、各スロットマシンSLの投入されたメダル数や、各スロットマシンSLから払出されたメダル数を把握することができる。また、主制御部50は、各LEDランプ群を駆動するための駆動データを、遊技中継基板53や回胴中継基板57に対して出力する(ST27)。
その後、メダル払出センサやドア開放センサなどの異常の有無を判定した後(ST28)、退避しておいたレジスタを復帰させて割込み処理を終える(ST29)。
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。