以下、実施例に基づいて本発明を更に詳細に説明する。図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にも接続されている。そして、回胴設定基板54は、係員が設定キーで設定した設定値を示す設定キー信号などを出力している。ここで、設定値とは、当該遊技機で実行される抽選処理の当選確率などを、設定1から設定6まで6段階で規定するもので、遊技ホールの営業戦略に基づいて適宜に設定される。例えば、最高ランクに設定された遊技機は、メダル払出枚数の期待値が最高レベルであるため、遊技者にとって最も有利である。
外部集中端子板56は、ホールコンピュータHCに接続されており、主制御基板50は、外部集中端子板56を通して、メダルの投入枚数やメダルの払出枚数などを出力している。
また、保通協で実施される型式試験に対応して、遊技動作をリアルタイムに特定する型式試験信号が、主制御基板50から出力されるよう構成されている。なお、型式試験に合格して遊技ホールに設置された遊技機であっても、制御プログラムの変更が認められないので、型式試験信号が繰り返し出力される。もっとも、遊技ホールに設置された遊技機には、型式試験信号に対応する接続コネクタは装着されていない。
図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〜Bit0は、データ識別子(1バイト)に続いて各抽選値テーブルDATiに格納されている抽選値WD(1バイト長または2バイト長)の個数を意味している。抽選値WDは、各抽選処理での当否結果を一意に規定する数値であるので、データ識別子のbit5〜Bit0は、その抽選値テーブルDATiを使用する場合における抽選回数を意味することになる。なお、図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で特定される13個の抽選値テーブルを、その順番に使用して抽選処理が実行され、「RT2作動中」であれば、アドレス領域AD5で特定される13個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
2つのアドレス領域AD4,AD5の格納データを対比すれば明らかな通り、この実施例では、テーブル参照回数を規定する1バイトを除いた合計13行のうち、最初2欄([1]欄と[2]欄)で特定される抽選値テーブルを除いて、残り11欄([3]欄〜[13]欄)で特定される抽選値テーブルは共通している。したがって、この実施例では、リプレイ図柄の当選確率以外は、「RT1作動中」と「RT2作動中」とで、当選確率に差異がないことになる。
次に「非RT中」とは、「RT1作動中」でも「RT2作動中」でもない遊技状態であって、リプレイ図柄の当選確率が通常値である一般遊技中を意味する。このような遊技状態(非RT中)では、アドレス領域AD3で特定される13個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
一方、「ボーナス内部当選中」の遊技状態とは、ボーナス図柄であるBB図柄又はRB図柄の何れかに内部当選したものの、該当する当選図柄を、未だ有効ラインに整列できていないゲーム状態を意味する。なお、一旦、内部当選したボーナス当選状態については、実際にボーナスゲームが開始されるまで消滅することはなく複数ゲームにわたって持ち越される。そして、ボーナス当選状態を持ち越したボーナス内部当選中のゲームでは、アドレス領域AD2で特定される13個の抽選値テーブルを、その順番に使用して抽選処理が実行される。
アドレス領域AD2(133FH番地以降)の[2]欄〜[11]欄のアドレス値と、アドレス領域AD3(1356H番地以降)の[3]欄〜[12]欄のアドレス値とを対比すると明らかな通り、「ボーナス内部当選中」に使用される10個の抽選値テーブルは、「非RT中」に使用する10個の抽選値テーブルと共通している。そのため、本実施例では、抽選値テーブルを簡素化してROM領域の消費を抑制できる利点がある。もっとも、その結果、「ボーナス内部当選中」に、再度、ボーナス図柄(BB1〜BB3など)に当選する可能性もあるが、仮に、重複当選しても、そのボーナス図柄を除く小役当選だけが有効とされる。
なお、図12〜図13のアドレス領域AD1〜AD6の右欄には、各抽選値テーブルDATiを選択した場合の抽選回数と、抽選回数の合計値を、参考のために記載している。また、インデックス領域INDXの右欄には、相対アドレス値から算出される絶対アドレス値を、参考のために記載している。
<小役当選状態のグループ化>
ところで、抽選テーブルDAT2に着目すると、そのデータ識別子は、49Hであり、2バイト長の抽選値を使用した抽選を9回繰り返すことが規定されている。一方、アドレステーブルADRのアドレス領域AD2,AD3,AD4,AD5には、抽選値テーブルDAT2の先頭アドレス(13C5H)が3個連続的に記憶されている。そのため、同一の抽選処理が3回連続して実行されることになり、且つ、各回の抽選処理において、9個の抽選値と乱数値との対比処理が実行されるので、同一の抽選処理を連続的に合計3×9=27回繰り返さすことになる。
この構成は、合計27個の当選状態FR1〜FR27を、9個の当選状態毎に3組のグループにまとめたことを意味する。各当選状態の具体的内容は、図17(a)に示す通りである。FR1〜FR9の第1グループの内部当選状態は、停止操作時に左側の回転リールを最初に停止操作すると確実に内部当選状態を実効化でき、9枚の配当メダルを取得できるよう構成されている。したがって、配当メダル数を評価すると全ての当選状態FR1〜FR27は、その価値が同一である。
一方、FR10〜FR18の第2グループの内部当選状態は、停止操作時に中央の回転リールを最初に停止操作すると確実に内部当選状態を実効化でき、9枚の配当メダルを取得できるよう構成されており、配当メダルは全て同一である。
また、FR19〜FR27の第3グループの内部当選状態は、停止操作時に右側の回転リールを最初に停止操作すると確実に内部当選状態を実効化でき、9枚の配当メダルを取得できるよう構成されており、配当メダルは全て同一である。
本実施例では、このように、遊技者にとっての価値が類似している合計27個の当選状態を、遊技者にとっての価値が共通する9個の当選状態毎にL個のグループにまとめているので、抽選処理プログラムを複雑化することなく、且つ、記憶容量を浪費することなく多様な当選状態を設けることができる。
<内部抽選処理(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が格納された先頭アドレス値である。
次に、抽選番号NUMを更新する(ST57)。ここで、抽選番号NUMは、一連の抽選処理の順番を特定するものであり、例えば、非RT中の一般遊技状態であれば、図11に示す順番で抽選処理が実行されるので、抽選番号NUMは1〜83までの数値で特定される。
続いて、更新後のアドレス値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の値に基づいて、当否結果を判定し(ST65)、当選状態であれば、このサブルーチン処理(ST51〜ST65)を完了する。
一方、キャリフラグCYがCY=0であってハズレ状態であれば、第1ループ回数をデクリメント(−1)し、デクリメント後の値が0でない限り、ステップST57〜ST65の処理を繰り返す。
例えば、抽選値テーブル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を使用した一連の抽選処理が実行され、当否結果は、Z80CPUのキャリフラグ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の演算を繰返しつつ、最高13個の抽選値テーブル(DAT6・DAT7・DAT2・DAT2・DAT2・DAT3・DAT4・DAT12・DAT13・DAT14・DAT15・DAT16・DAT17)が、この順番に選択されることになる。
図12の右欄に記載の通り、これら13個の抽選値テーブルDATiでは、各々、1回・3回・9回・9回・9回・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)で参照される。
そして、保通協における型式試験に対応して、ワークエリアBUF1,BUF2(図21(d)参照)に、2バイト長の型式試験信号をセットする(ST43)。この型式試験信号のデータ構造は、これまでの遊技機におけるデータ構造(1バイト長)の二倍となる。このように、本実施例では、2バイト長の型式試験信号を使用するので、ボーナス当選状態や小役当選状態の当選態様を大幅に増加させることができ、大幅に当選態様を増加させても、制御プログラムの負担増が抑制され、且つ、型式試験にも支障を与えない。
ステップST43の処理が終われば、ワークエリアCOM1,COM2に遊技開始コマンドをセットして(ST44)、内部抽選処理を終える。先に説明した通り、(1) 遊技ホールに設置された遊技機には、型式試験信号を伝送するための接続コネクタが装着されていないが、(2) 制御プログラムの変更が禁止されているので、型式試験信号のセット処理(ST43)は、繰り返し実行される。なお、ステップST43〜ST44の処理については、図21〜図23に関して、更に後述する。
<フラグ設定処理(ST42)の詳細>
次に、その時の遊技状態と、一連の抽選処理(ST36)の当否結果と、当選状態の抽選番号NUMなどで特定される当選フラグについて説明する。図19(a)〜図19(d)に示す通り、この実施例では、多様な当選状態に対応して、円滑な回胴停止処理(ST8)と入賞判定処理(ST9)とを実現するために、小役フラグと、FRフラグと、ボーナスフラグと、再遊技フラグとが設けられている。なお、各フラグは、1バイト長であるので、全体として、RAMの4バイトが使用される。
[ボーナスフラグ図19(c)]
先ず、ボーナスフラグは、図19(c)に示す通り、この実施例では、bit0〜bit4の5bit長で、ボーナス図柄(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種類である。
これらのボーナス図柄は、択一的にしか当選状態にならないので、ボーナス図柄への内部当選状態では、ボーナスフラグは、01H,02H,04H,08H,10Hの何れかに設定され、非当選状態では00Hとされる。なお、ボーナスフラグは、ボーナス図柄が整列して停止されるまで、複数のゲームにわたって持ち越される。
[再遊技フラグ図19(d)]
再遊技フラグは、リプレイ図柄への内部当選状態を特定するものであり、本実施例では、リプレイ当選として、再遊技A、再遊技B、再遊技C、及び再遊技Dの当選状態が設けられている。先に説明した通り、本実施例では、遊技機の停止制御と遊技者の停止操作とを容易化するために、再遊技A〜再遊技Dの当選状態を実効化する複数種類の図柄配列を設けている。
具体的には、「リプレイ・リプレイ・リプレイ」=再遊技1、「リプレイ・リプレイ・全丸」=再遊技2、「緑7・チェリー・リプレイ」=再遊技3、「BAR・チェリー・リプレイ」=再遊技4であり、再遊技A=再遊技1、再遊技B=再遊技1&再遊技2&再遊技4、再遊技C=再遊技1&再遊技2、再遊技D=再遊技1&再遊技2&再遊技3となっている。そのため、再遊技1〜再遊技4の当選状態を示す再遊技フラグのbit0〜bit3は、多層的に組み合わされることになり、例えば、再遊技B(再遊技1&再遊技2&再遊技4)への内部当選状態では、再遊技フラグが00001011と設定される。
なお、再遊技フラグは、当該ゲームにおいて、上記した図柄を整列させることができず、リプレイ当選状態を実効化できなければ消滅する。この点は、以下に説明する小役フラグ及びFRフラグについても同様である。
[小役フラグ(図19(a))とFRフラグ(図19(b))]
ところで、この実施例では、当選状態のバリエーションを豊富化するべく、9枚の配当メダルが払出される小役当選状態を多数設けている。具体的には、色彩の付された三種類の丸図柄(「赤丸」、「緑丸」、「青丸」)を用意し、これらの任意の組合せが、有効ライン上に整列すると9枚の配当メダルを払出している。この丸図柄の整列態様は、3つの色彩に対応して、合計で3×3×3=27通りとなる。また、有効ラインの左・中・右の何れかの位置に、ベル図柄が混在し、残りが丸図柄である整列態様でも、9枚の配当メダルを払出しており、この場合の整列態様としても、合計で3×3×3=27通りが存在する。
しかも、本実施例では、FR1〜FR27の各小役当選では、各々、上記した27+27=54通りを、適宜に混合させた内部当選状態を設定しており、要するに、極めて多様な小役当選状態を設けている(図17(a)参照)。そのため、このような多様な小役当選状態を特定するフラグの構成を、相当に工夫しないと、メモリの記憶領域を浪費する上に、回胴停止処理(ST8)や入賞判定処理(ST9)が著しく複雑化する。例えば、ベル図柄を含まない3色(赤・緑・青)の丸図柄による内部当選状態を特定するだけで、通常の構成なら、合計で3×3×3=27ビット長の小役フラグが必要となってしまう。
そこで、このような無駄を排除するため、本実施例では、小役当選状態を、各8ビット長の小役フラグとFRフラグとを組み合わせて、16ビットで特定するようにしている。具体的には、小役フラグは、丸図柄の色彩を全く問題にすることなく、「全丸・全丸・全丸」、「ベル・全丸・全丸」、「全丸・ベル・全丸」、「全丸・全丸・ベル」、「ベル・ベル・ベル」、「チェリー・ANY・ANY」の何れの当選状態であるかを概略的に特定している。なお、「全丸」とは、「赤丸」、「緑丸」、「青丸」の全てを含む概念である。
図19(a)に示す通り、小役フラグのbit0=1は、ベル図柄を含まない「全丸・全丸・全丸」の小役当選状態を意味し、bit1=1は、有効ラインの左側に、ベル図柄が位置する「ベル・全丸・全丸」の小役当選状態を意味する。また、bit2=1は、有効ラインの中央に「ベル」が位置する「全丸・ベル・全丸」の小役当選状態を意味し、bit3=1は、有効ラインの右側に「ベル」が位置する「全丸・全丸・ベル」の小役当選状態を意味する。なお、bit4=1と、bit5=1は、「ベル・ベル・ベル」と、「チェリー・ANY・ANY」による小役当選状態を意味している。ANYは、任意の図柄を意味する。
一方、図19(b)に示すFRフラグは、上記した小役フラグで概略的に特定された当選状態について、「ベル・○・○」「○・ベル・○」「○・○・ベル」の○図柄(丸図柄)の色彩を特定するためのフラグである。FR1〜FR27の当選時には、正しい停止操作を知らせるアシスト機能を合わせて発揮されることがあるが、FRフラグのbit0とbit1は、最初に停止操作をすべき回転リールの位置を示している。
図19(b)に示す通り、例えば、FRフラグの下位2ビットが2進数01である内部当選状態では、左側の回転リールから停止操作を開始すると、内部当選状態が確実に実効化されるよう、回転リールの図柄が配置され、有効ラインが規定されている(図17(c)、図17(c)参照)。
また、FRフラグの下位2ビットが、2進数10である内部当選状態は、中央の回転リールから停止操作を開始すると内部当選状態を確実に実効化でき、下位2ビットが2進数11である内部当選状態は、右側の回転リールから停止操作を開始すると内部当選状態を実効化できる。なお、FRフラグの下位2ビットが、2進数00である内部当選状態は、何れの回転リールから停止操作を開始しても内部当選状態を実効化できる。
また、FRフラグのbit5〜bit7は、FRフラグのbit0〜bit1で特定される回転リールに整列させるべき丸図柄の色彩を特定している。また、FRフラグのbit2〜bit4は、残りの回転リールに整列させるべき丸図柄の色彩を特定している。なお、色彩を特定する3ビット(bit5〜bit7又はbit2〜bit4)は、その最下位ビットが赤色、最上位ビットが緑色、中位ビットが青色を示している。
ところで、FRフラグは、FR1〜FR27と、BFR1〜BFR9と、GFR1〜GFR3の内部当選時にだけ設定され、これらの内部当選では、ベル図柄を1つ又は2つ含んでいる。FRフラグのbit2〜bit4は、「ベル」を整列させるべき回転リール以外の回転リールの丸図柄の色彩を特定しているので、複数の色彩が許容される場合には、該当する各ビットが1となる。なお、FR1〜FR27と、BFR1〜BFR9と、GFR1〜GFR3の内部当選状態では、必ず「全丸・全丸・全丸」の停止態様が含まれており、回胴停止処理(ST8)や入賞判定処理(ST9)では、「全丸・全丸・全丸」の内部当選状態が成立していることを前提に実行されるので、FRフラグでは「全丸・全丸・全丸」以外の当選状態について丸図柄の色彩を特定している。
さて、以上を踏まえて、図10(a)のフラグ設定処理(ST42)について説明する。図18(a)に記載する通り、フラグ設定処理では、先ず、遊技状態に対応した変換テーブルを選択して抽選番号NUMから小役当選番号HITを特定してワークエリアHIT(図21(d)参照)に保存する(ST70)。図18(b)には、非RT中(通常の一般遊技中)に選択される変換テーブルが記載されており、このような遊技状態毎に設けられた変換テーブルを参照することで、抽選番号NUMが小役当選番号HITに変換される。なお、非RT中に実行される抽選処理は、最高83回であるが、小役当選番号HITは、ボーナス当選を抜きにした小役当選に基づいて決定される。
このような変換処理の結果、今回の当選状態がFR当選であったか否かが判定される(ST71)。なお、FR当選には非RT中のFR1〜FR27の他に、ボーナスゲーム中のBFR1〜BFR9(RB1作動中)や、GFR1〜GFR3(RB2作動中)にも設けられている(図12〜図16参照)。
そして、FR当選でなかった場合には、小役フラグ設定テーブルを参照して、小役フラグと再遊技フラグを設定し、FRフラグについては、クリアする(ST72)。なお、小役フラグと再遊技フラグの設定ルールは、図19(a)と図19(d)に示す通りである。
一方、FR当選であった場合には、FRフラグ設定テーブルを参照して、小役フラグとFRフラグを設定し、再遊技フラグについては、クリアする(ST73)。なお、小役フラグとFRフラグの設定ルールは、図19(e)に示す通りである。例えば、FR1に内部当選状態であれば、「赤丸・ベル・赤丸」か、「赤丸・赤丸・ベル」か、「全丸・全丸・全丸」が当選役であるので、小役フラグとしては、「全丸・全丸・全丸」と「全丸・ベル・全丸」と「全丸・全丸・全丸」を特定した2進数00001101(=0DH)となる。また、左側から停止操作を開始すると内部当選状態を実効化でき、「ベル」に対応する丸図柄としては「赤丸」が問題になるので、FRフラグは、赤丸(3bitが001)+赤丸(3bitが001)+開始左位置(2bitが01)を示す2進数00100101(=25H)となる。なお、FR10〜FR27についても同様のルールで設定される。
このようにして、FRフラグ、再遊技フラグ、及び小役フラグを設定すると、次に、小役当選番号からボーナス図柄の内部当選状態か否かが判定される(ST74)。そして、ボーナス内部当選状態が持越されている状態ではないことを条件に(ST75)、ボーナスフラグが設定されてサブルーチン処理が終わる(ST76)。ボーナスフラグは、図19(c)のルールに基づいて設定される。なお、ボーナス当選状態は、小役当選状態や再遊技当選状態などと重複する場合もあり(図18(b)の抽選番号36〜52参照)、そのような場合には、ボーナスフラグと、その他のフラグが重複して設定される。
<型式試験信号のセット処理(ST43)の詳細>
以上、フラグ設定処理(図10のST42)を説明したので、続いて、図21(a)を参照しつつ、型式試験信号のセット処理(図10のST43)を詳細に説明する。
図21(a)に示す通り、最初に、ボーナスフラグのビット情報を番号化してボーナス情報を生成する(SS50)。図19(c)に示す通り、ボーナスフラグの成立は、bit0〜bit4の何れかのビットが1であることで特定されるが、本実施例では、特に、ボーナスフラグを番号化してボーナス情報を特定している。ボーナスフラグとボーナス情報の対応関係は、図21(c)に示す通りであり、ボーナス情報として1バイトの下位6ビット(D0〜D5)が確保されている。もっとも、本実施例では、ボーナスゲームの内部当選状態が5種類(BB1,BB2,BB3,BG1,BG2)であるので、実際には、1バイトの下位3ビットだけが使用される。
但し、本実施例では、ボーナスフラグを番号化して、6ビット長のボーナス情報としているので、プログラム仕様やデータ構造を変更することなく、ボーナス態様を最高26−1=63種類まで豊富化することができる。
ボーナスフラグのビット情報を番号化する手法は、図21(b)に示す通りであり、先ず、Z80CPUのBレジスタをゼロクリアし(SS70)、ボーナスフラグの値をZ80CPUのアキュムレータACCに格納する(SS71)。そして、ボーナスゲームに非当選状態であって、ACCの値がゼロであれば、そのままサブルーチン処理を終える。
一方、ACC≠0であれば、Bレジスタをインクリメント処理しつつ(SS73)、ACCの値を1ビット右シフトして(SS74)、ACCの最下位ビットを受けるキャリフラグCYの値が1か否かを判定する(SS75)。そして、CY=0であれば、SS73〜SS75の処理を繰り返すが、CY=1となれば、そのときのBレジスタの値をACCに格納してサブルーチン処理を終える(SS76)。以上の処理から明らかな通り、ステップSS50の処理を終えた段階では、ACCの下位6ビット(D0〜D5)にボーナス情報が生成されたことになる。
そこで、ACCに生成されたボーナス情報を所定のワークエリアIMFに保存すると共に(SS51)、ACCの上位2ビットを10に設定して1バイト長の役物データを生成する。生成された役物データは、型式試験信号の一部であり、型式試験時であれば、保通協の試験機に出力される。
続いて、CPUを割込み禁止状態に設定して(SS53)、ステップSS52の処理で生成された1バイト長の役物データを、ワークエリアの第1バッファBUF1に格納する(SS54)。また、型式試験信号の出力動作を管理する出力管理タイマTM2を初期設定する(SS55)。保通協の試験機の仕様では、型式試験信号が1バイト毎に25mS間隔で出力される必要があるので、タイマ割込み周期が1.5mSである本実施例では、出力管理タイマTM2の初期値を34としている。
図24(a)に示す通り、出力管理タイマTM2の値は、タイマ割込み毎にデクリメントされるので、初期値34は、51mS(=34*1.5)の時間幅を意味する。ここで、型式試験信号の出力間隔(25mS)の2倍の時間を確保しているのは、本実施例では、型式試験信号を、特に2バイト長としているためである。
次に、フラグ設定処理(図18のST70)で格納された小役当選番号HITを読み出す(SS56)。図18に関して説明した通り、小役当選番号HITは、遊技状態に対応した変換テーブル(例えば、図18(b))を参照して決定される。図22(a)は、小役当選番号HITを一覧にして図示したものであり、小役当選番号01H〜24Hは、図18(b)の変換テーブルの右欄に記載されている当選番号に対応する。一方、小役当選番号25H〜31Hは、遊技状態が「RB1作動中」又は「RB2作動中」における小役当選状態を意味している。
何れにしても、本実施例の小役当選状態は、1バイトの下位6ビットで特定可能であるので、1バイトの上位2ビットに01を設定することで、1バイト長の小役データを生成する(SS57)。そして、この小役データをワークエリアの第2バッファBUF2に格納する(SS58)。
以上の処理が終われば、CPUを割込み許可状態に設定してサブルーチン処理を終える(SS59)。このように本実施例では、CPUを割込み禁止状態にしてステップSS54〜SS58の処理を実行するので、その実行中にタイマ割込みがかかることがなく、不合理な役物データや小役データが試験機に出力されるおそれがない。
<遊技開始コマンドのセット処理(図10のST44)の詳細>
次に、図23(a)を参照しつつ、遊技開始コマンドのセット処理(図10のST44)の内容を詳細に説明する。
先ず、ワークエリアIMFに格納されているボーナス情報を読み出し、これに他の情報を付加して2バイト長の役物用遊技開始コマンドを生成する。ここで、役物用遊技開始コマンドは、各ゲーム開始時に実行される内部抽選処理(図9のST5、及び図10(a))で、ボーナスゲームに内部当選したか否かを、主制御部50から演出制御部51に伝送するための制御コマンドである。
図21に関して説明した通り、ボーナス情報は、ボーナスフラグを番号化したものであり(SS50参照)、図23(c)に再掲した6ビット長(D0〜D5)で構成されている。そして、この6ビット長のボーナス情報に、上位2ビット(D6〜D7=00)を付加することで、役物用遊技開始コマンドの1バイト目が生成される(SS60)。
次に、4ビット長のコマンド種別(D8〜D11)と、3バイト長の状態情報(D12〜D14)と、最上位ビット(D15=1)とを連結して、役物用遊技開始コマンドの2バイト目を生成する(SS60)。この実施例では、コマンド種別として、図23(d)に例示する16種類が用意されているが、ステップSS60の実行タイミングでは、役物用遊技開始コマンドが生成されるので、コマンド種別は、D11〜D8=0011(=03H)となる。
また、3バイト長の状態情報(D12〜D14)は、その時の遊技状態を特定する情報であり、具体的には、「RB1作動中」、「RB2作動中」、「RT1作動中」、「RT2作動中」、又は「非RT中」の何れの遊技状態であるかが、D12〜D14の3ビットで特定される。
そして、以上のようなデータ構造を有する2バイト長の役物用遊技開始コマンドは、ワークエリアのコマンド第1バッファCOM1に格納される(SS61)。
次に、図18のステップST70の処理で保存された小役当選番号HITを読み出し、小役用遊技開始コマンドの1バイト目を生成する(SS62)。小役当選番号HITは、図22(a)に示す6ビット長であり、これに上位2ビット(00)を付加して、小役用遊技開始コマンドの1バイト目とする。
また、4ビット長のコマンド種別(D8〜D11)と、3バイト長の状態情報(D12〜D14)と、最上位ビット(D15=1)とを組み合わせて、小役用遊技開始コマンドの2バイト目を生成する(SS62)。先に説明した通り、コマンド種別は、図23(d)の16種類であるが、ステップSS62では、小役物用遊技開始コマンドが生成されるので、コマンド種別は、D11〜D8=1100(=0DH)となる。
そして、このようにして生成された2バイト長の小役用遊技開始コマンドは、ワークエリアのコマンド第2バッファCOM2に格納され(SS63)、最後に、制御コマンドの出力動作を制御するコマンドタイマTM1を初期設定してサブルーチン処理を終える(SS64)。なお、コマンドタイマTM1は、初期値5に設定され、1.5mSの割込みタイミングの間隔で、1バイトずつ4回に分けて制御コマンド(役物用と小役用の遊技開始コマンド)が出力される(図24(c)参照)。
<内部抽選処理(ST5)以降>
以上、図10、図18、図21、図23を参照して、内部抽選処理(ST5)について詳細に説明したので、図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からのマスク可能な割込み信号(タイマ信号)に基づいて、一定時間間隔τ(=1.5mS)で起動される。
タイマ割込みがかかると、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)によって更新される(ST55)。この更新処理によって、ステップSS55の処理で初期設定された出力管理タイマTM2や、ステップSS64の処理で初期設定されたコマンドタイマは、ゼロになるまでデクリメントされる(図24(a)参照)。なお、コマンドタイマTM1は、4バイト長の制御コマンドの出力タイミングを管理し、出力管理タイマTM2は、2バイト長の型式試験信号の出力タイミングを管理する。
続いて、演出制御部51に対して制御コマンドの1バイト分を出力する(ST25)。なお、制御コマンドには、図23(d)に示す多様なコマンド種別が存在し、出力すべき制御コマンドは、コマンド種別i毎に確保された第i番目のバッファCOMiに用意されている。
但し、ここでは、便宜上、遊技開始時に出力される役物用と小役用の遊技開始コマンドについてだけ説明する。図24(d)に再掲するように、役物用の遊技開始コマンド(2バイト長)は、第1バッファCOM1に用意され、小役用の遊技開始コマンド(2バイト長)は、第2バッファCOM2に用意されている。そして、これらの遊技開始コマンド出力すべきタイミングでは、コマンドタイマTM1が初期設定されてTM1≠0となっている(図23のSS64参照)。
そこで、遊技開始コマンドについてのコマンド出力処理(ST25)では、コマンドタイマTM1の値に基づいて、図24(c)に示すように動作する。具体的には、コマンドタイマTM1=4であれば、割込み信号と共に、第1バッファCOM1の上位1バイトを出力し、コマンドタイマTM1=3であれば、割込み信号と共に、第1バッファCOM1の下位1バイトを出力し、コマンドタイマTM1=2であれば、割込み信号と共に、第2バッファCOM1の上位1バイトを出力し、コマンドタイマTM1=1であれば、割込み信号と共に、第2バッファCOM1の下位1バイトを出力する。
つまり、この実施例では、割込み周期1.5mSの時間間隔で、役物用の遊技開始コマンドと、小役用の遊技開始コマンドとが連続して出力され、出力された割込み信号に対応して、演出制御部51では割込み処理プログラムが起動して遊技開始コマンドが取得される。なお、コマンドタイマTM1=0であれば、コマンド出力処理がスキップされ、それ以前の出力状態が維持される。
ところで、遊技開始コマンドを除く他の制御コマンドは、2バイト長であるので、連続する二回のタイマ割込みで、1つの制御コマンドが送信される。何れにしても、図23(d)に例示する各種の制御コマンドが、主制御部50から演出制御部51に伝送されるので、演出制御部51では、把握した内部当選状態や、スタートレバー17やストップボタン18a〜18cの操作などに対応して、液晶ディスプレイでの画像演出や、LEDランプのランプ演出や、効果音による音声演出を実行することができる。
次に、メダル情報出力処理を実行して、外部集中端子板56に対して、例えば、各々1ビット信号であるメダル投入信号やメダル払出信号を出力する(ST26)。このメダル投入信号や払出信号によって、ホールコンピュータHCは、各スロットマシンSLの投入されたメダル数や、各スロットマシンSLから払出されたメダル数を把握することができる。
また、主制御部50は、各LEDランプ群を駆動するための駆動データを、遊技中継基板53や回胴中継基板57に対して出力すると共に、型式試験信号の出力処理を実行する(ST27)。なお、型式試験信号の出力処理は、遊技ホールにおいては、何の意義も発揮しないが、型式試験に合格した制御プログラムが、法的要請に基づきそのまま使用される。
図24(b)は、型式試験信号の出力処理を示すフローチャートであり、出力管理タイマTM2の値に基づいて、出力管理タイマTM2がTM2≧17であれば、ワークエリアBUF1の役物データが出力され、17>TM2>0であれば、ワークエリアBUF2の小役データが出力され、TM2=0の場合にはゼロデータが出力される。以上の処理から明らかな通り、約25mS(=17*1.5mS)の間、役物データが継続して出力され、これに連続して、約25mSの間、小役データが継続して出力される。
このようにしてステップST27の処理が終われば、メダル払出センサやドア開放センサなどの異常の有無を判定した後(ST28)、退避しておいたレジスタを復帰させて割込み処理を終える(ST29)。
以上の通り、本実施例では、遊技開始コマンドを役物用と小役用とに区分し、合計4バイト長とすると共に、これに対応して型式試験信号を役物データと小役データに区分して合計2バイト長としたので、当選態様を大幅に増加させても大幅な設計変更が不要となる。
しかも、役物用遊技開始コマンドの第1バイトは、役物データと実質的に同一であり、また、小役用遊技開始コマンドの第1バイトは、小役データと実質的に同一であるので、コマンド長が大きくなっても制御負担の増加が抑制される。
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。