以下、実施例に基づいて本発明を更に詳細に説明する。図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個の図柄の水平方向の三本と、対角線方向の二本が仮想的な停止ラインとなる。
このような表示窓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とが設けられている。また、前面パネル2の裏側上部には、演出制御基板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では、主制御基板50から受ける所定の制御コマンド(遊技開始コマンド)に基づいて、アシストタイム当選状態とするか否かのAT抽選を実行している。
この演出制御基板51は、演出インタフェイス基板52を通して、液晶制御基板61に接続されており、液晶制御基板61は、液晶表示(LCD)ユニット7における適宜な図柄演出を実現している。
演出制御基板51は、演出インタフェイス基板52と共に、LED基板59やインバータ基板60や回胴LEDドライブ基板58を経由して、各種のLEDや冷陰極線管放電管におけるランプ演出を実現している。また、演出制御基板51は、演出インタフェイス基板52を通してスピーカSPを駆動して音声演出を実現している。
そして、演出制御基板51においてAT抽選に当選した後の所定回数のゲーム(AT中)では、小役当選状態において、その図柄を停止ラインに整列できるよう、3つの回転リールの停止順序を遊技者に報知している。このアシスト動作は、図柄演出、液晶演出、ランプ演出、音声演出の全部又は一部として実行される。
主制御基板50は、遊技中継基板53を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー17の始動スイッチ、ストップボタン18a〜18cの停止スイッチ、投入ボタン15,16の投入スイッチ、清算ボタン14の清算スイッチ、投入枚数判定部21dを構成するフォトインタラプタPH1,PH2、投入メダル返却部21cを構成するブロッカーソレノイド30、及び、各種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程度の時間間隔τでタイマ割込み(図11(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は、主制御部50が実行する制御プログラムを説明するフローチャートである。主制御部50の制御プログラムは、電源投入時に開始される無限ループ状のメイン処理(図9)と、CTCからの定期割込みで一定時間τ毎に起動されるタイマ割込み処理(図11)と、電源遮断時に電源基板62からの検出信号RESで起動される電圧降下割込み処理(不図示)とで構成されている。但し、電圧降下割込み処理は、本発明の趣旨と関連性が乏しいので説明を省略し、先ず、図9(a)のメイン処理について説明する。
電源が投入されると適宜な初期処理(ST1)の後、電源遮断前に実行されていた処理を再開してホットスタートするか、或いは、ステップST2の処理に移行してコールドスタートする。例えば、営業開始前に係員が設定キーを操作して、抽選処理の当選確率などを設定した場合には、コールドスタート処理となる。
ステップST2の処理に移行すると、主制御部50では、一連のメインループ処理(ST2〜ST18)を定常的に繰返す。そして、最初に、チェック加算値SUMなどRAMのワークエリアを適宜にクリアし、また、遊技制御を管理する各種のフラグを適宜に初期設定する(ST2)。次に、そのゲームにおける遊技状態フラグを生成する(ST3)。ここで、遊技状態フラグとは、現在のゲームが、「ボーナスゲーム中」か、「ボーナス内部当選中」か、「通常ゲーム中」か、などの遊技状態を特定するフラグである。
続いて、メダル投入口12から実際に投入されたメダル、及び、投入ボタン15、16の押下によって擬似的に投入されたメダルについてのメダル投入管理処理が実行される(ST4)。メダル投入処理(ST4)では、遊技者が投入又は擬似投入したメダルを検出して、その投入枚数を判定し、その後、スタートレバー17がON操作されるとサブルーチン処理を終了する。この場合、メダルが1枚投入される毎に、そのことを示す制御コマンド(投入コマンド)が演出制御基板51(以下、演出制御部51という)に送信する。なお、このタイミングでは、遊技者による清算動作を示す清算コマンドなどが送信されることもある。
本実施例の制御コマンドは、全て2バイト長であり、最上位ビット(Most Significant Bit)が「1」の上位バイトDHと、最上位ビットが「0」の下位バイトDLとに区分され(図9(b))、1バイト毎に主制御部50から演出制御部51に伝送される。ここで、上位バイトDHには、上記した遊技状態フラグの値を示す3ビット長と、制御コマンドの種別を示す4ビット長(ステイタス情報)とが含まれている。また、下位バイトDLには、演出制御部51に伝送すべき通知情報である7ビット長のイベント情報EVENTが含まれている。
本実施例において制御コマンドには、投入コマンド(D1)、遊技開始コマンド(D2)、回転開始コマンド(D3)、停止受付コマンド(D4)、停止結果コマンド(D5)、入賞情報コマンド(D6)、払出コマンド(D7)、チェックコマンド(D8)などを含んだ16種類であり、その何れかであるかが、ステイタス情報によって特定される。
上記した制御コマンドは、(D1)→(D2)→・・・・→(D8)の順番で伝送されるが、停止受付コマンド(D4)は、ストップボタン18a〜18cによる停止操作がされる毎に合計3回送信され、停止結果コマンド(D5)は、停止操作に対応する回転リール4a〜4cが停止する毎に合計3回送信される。そして、遊技開始コマンド(D2)から払出コマンド(D7)に至るまでの制御コマンドは、その出力処理(図11のST44参照)に先立って、8ビット長のチェック加算処理(SUM←SUM+DH+DL)が実行され(図10のST22参照)、最終的なチェック加算値SUMが、チェックコマンド(D8)の下位バイトを特定するようになっている。なお、メダルの払出がない場合には、払出コマンドが送信されず、また、例外的に、エラーコマンドが送信されることもあり、チェック加算処理の対象となる制御コマンドの個数は、必ずしも一定化されない。
各制御コマンドの伝送時(図11のST44)には、それに先行して、図10(a)や図10(b)に示すコマンド設定処理と、図10(c)に示すコマンド格納処理とが実行される。図示の通り、コマンド設定処理は、遊技開始コマンド(D2)〜払出コマンド(D7)の場合のようにチェック加算処理を伴うコマンド設定処理A(図10(a))と、投入コマンドやエラーコマンドやチェックコマンドなどの場合のように、チェック加算処理を伴わないコマンド設定処理B(図10(b))とに大別される。なお、図10(b)には、チェックコマンドについてのコマンド設定処理Bを記載しているが、その他の投入コマンドやエラーコマンドの場合にも処理内容は基本的に同じである。
先ず、遊技開始コマンド(D2)、回転開始コマンド(D3)、停止受付コマンド(D4)、停止結果コマンド(D5)、入賞情報コマンド(D6)、払出コマンド(D7)について実行されるコマンド設定処理Aについて説明する。図10(a)に示す通り、コマンド設定処理Aでは、図9(b)に示す構成の上位バイトDHと下位バイトDLが特定され(ST20)は、図10(c)に示すコマンド格納処理が実行される(ST21)。次に、生成した制御コマンドについて、8ビット長のチェック加算処理(SUM←SUM+DH+DL)を実行してサブルーチン処理を終える(ST22)。なお、チェック加算値SUMは、各ゲームの開始時にRAM初期化処理(ST2)においてゼロクリアされており、各ゲームで生成された複数個の制御コマンドのチェック加算値SUMが正しく算出される。
このようにして算出されるチェック加算値SUMは、チェックコマンド設定処理(ST12)において参照される。すなわち、図10(b)に示す通り、ステップST6,ST8〜ST11の処理で累積加算された最終的なチェック加算値SUMのうち、その最上位ビットを除いた7ビット長が、制御コマンドの下位バイトDLのイベント情報(7ビット)となるチェックコマンドが生成され(ST23)、これが、図10(c)に示す処理を経て、通信バッファBUFに格納される(ST24)。
図10(c)に示すコマンド格納処理(ST21,ST24)は、固定長(MAXバイト)の通信バッファBUFに、コマンド設定処理(ST20,ST23)で生成された制御コマンド(DH+DL)を格納する処理である。そして、通信バッファBUFに格納された制御コマンドは、タイマ割込み処理のコマンド出力処理(図11のST44)において出力されて演出制御部51に伝送される。
図10(d)に示す通り、通信バッファBUFは、リングバッファ形式のMAXバイト長(BUF+1番地〜BUF+MAX番地)の記憶領域である。そして、0〜MAX−1の間で循環的に更新される書込みポインタWRと読出しポインタRDによって、書込み動作と読出し動作が管理されている。なお、各ポインタWR,RDは、送信回数カウンタCTと共に、初期化処理においてゲーム毎に初期設定されている。具体的には、書込みポインタWRがBUF番地に初期設定され、読出しポインタRDがBUF+1番地に初期設定されている(ST2)。また、送信回数カウンタCTは、ゼロに初期設定される。この送信回数カウンタCTは、一回のゲームにおいて、演出制御部51に伝送する制御コマンドのバイト総数を管理するものであり、通信バッファBUFに格納された制御コマンドを漏れなく演出制御部51に伝送する用途で使用される。
以上を踏まえて、図10(c)に示すコマンド格納処理を説明する。コマンド格納処理では、先ず、通信バッファBUFに、空き領域があるか否かが判定される(ST30)。具体的には、送信回数カウンタCTの値が判定され、もし、CT=MAXであれば空き領域が無いと判定される。一方、ステップST30の判定において、通信バッファBUFに空き領域が有ると判定されると(CT<MAX)、送信回数カウンタCTを+2する(ST31)。
このようにして、ステップST31の処理が終われば、書込みポインタWRをインクリメント(+1)した後(ST32)、書込みポインタWRが指示する通信バッファBUFの記憶領域に、コマンド設定処理で生成された制御コマンドの上位バイトDHを格納する(ST33)。次に、書込みポインタWRを更にインクリメントした後(ST34)、書込みポインタWRが指示する通信バッファBUFの記憶領域に、コマンド設定処理で生成された制御コマンドの下位バイトDLを格納してサブルーチン処理を終える(ST35)。
以上、コマンド設定処理と、コマンド格納処理について説明したので、図9に戻って、ステップST4以降の処理について説明する。図7に関して説明した通り、スタートレバー17がON操作されると、始動スイッチ信号SGがLレベルに変化し、その瞬間のカウンタ値が、各ICカウンタ26H,26Lに内蔵された出力レジスタに保持記憶される(図7参照)。
そこで、スタートレバー17がON操作されると、ICカウンタ26H,26Lに記憶されている乱数値が取得される(ST5)。具体的には、ワンチップマイコン64は、チップセレクト信号CS0,CS1をLレベルに変化させて、カウンタ回路66に保持されているカウンタ値を取得し、これが、乱数値RND(数値範囲:0〜65535)としてRAMの該当番地に記憶される。
次に、記憶した乱数値RNDに基づいて内部抽選処理(図柄抽選処理)を実行する(ST6)。この図柄抽選処理では、ボーナス図柄への当選か否か、小役図柄への当選か否か、再遊技を示すリプレイ図柄への当選か否かが決定され、決定された抽選結果を示す制御コマンド(遊技開始コマンド)が演出制御部51に送信される。先に説明した通り、この遊技開始コマンドの送信時、及びこれ以降の制御コマンドの送信時には、制御コマンドのチェック加算処理が実行される(図10のST22参照)。
ところで、小役図柄としては、例えば、「チェリー図柄」、「ベル図柄」、「スイカ図柄」などを例示することができる。そして、本実施例では、内部抽選処理(ST6)における小役図柄の当選確率の高低は、後述するAT抽選(図13のSP38)の当選確率の高低に逆転させており、内部抽選処理(ST6)において、「ベル図柄」の当選確率が最も高く、「チェリー図柄」の当選確率が最も低く設定されている。
このような当選確率の内部抽選処理(ST6)が終われば、次に、回転リール4a〜4cを回転させるための準備作業が実行され、タイマ割込みによる回転リール4a〜4cの回転制御を可能にする(ST7〜ST8)。また、回転リールの回転開始時には、そのことを示す制御コマンド(回転開始コマンド)が演出制御部51に送信される。
その後、ストップボタン18a〜18cが押されたら、対応する回転リール4a〜4cを停止させる回胴停止処理を実行する(ST9)。この回胴停止処理では、内部抽選処理(ST6)の当否結果に沿うように、停止制御が実行される。すなわち、内部抽選処理(ST6)の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール4a〜4cの図柄を整列させる。但し、遊技者がストップボタンを押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。なお、遊技状態がAT(アシストタイム)中であれば、小役当選時に正しい停止操作順が遊技者に報知されるアシスト動作(AT動作)が実行されるので、メダルの取りこぼしが回避可能となる。
また、この回胴停止処理(ST9)では、ストップボタン18a〜18cが押される毎に、操作されたストップボタンを特定する制御コマンド(停止受付コマンド)が演出制御部51に送信される。また、各回転リール4a〜4cについての停止制御が完了する毎に、停止位置を示す制御コマンド(停止結果コマンド)が演出制御部51に送信される。
このようにして、3回の停止操作と停止制御動作が完了して全ての回転リール4a〜4cが停止したら、有効ライン上に、当選図柄(当選役)が揃ったか否かが判定され、その結果を示す制御コマンド(入賞情報コマンド)が演出制御部51に送信される(ST10)。また、当選図柄が揃っている場合には、必要数のメダルが払出されると共に、メダル払出を示す制御コマンド(払出コマンド)が演出制御部51に送信される(ST11)。
次に、ステップST6からステップST11までに送信された9個又はそれ以上の制御コマンドのチェック加算値SUMを特定するチェックコマンドが生成される(ST12)。なお、9個の制御コマンドとは、遊技開始コマンド、回転開始コマンド、3個の停止受付コマンド、3個の停止結果コマンド、及び、入賞情報コマンドである。
次に、リプレイ当選状態か否か判定され(ST13)、リプレイ当選状態であれば、再遊技動作の開始処理(ST16)を実行した後、ステップST2に移行する。
リプレイ当選状態でない場合には、現在がボーナスゲーム中か否か判定され(ST14)、ボーナスゲーム中であれば、対応する処理(ST17)を実行してステップST2に移行する。
一方、ステップST14の判定がNOの場合には、ボーナス図柄が揃っているか否か判定され(ST15)、ボーナス図柄が揃っている場合には、ボーナスゲームの開始処理(ST18)を実行した後、ステップST2に移行する。
続いて、図11(a)に基づいて、所定時間毎(τ)に起動されるタイマ割込み処理について説明する。タイマ割込み処理では、CPUのレジスタが退避された後(ST40)、各種スイッチ信号やセンサ信号を受ける入力ポートのデータが取得され記憶される(ST41)。次に、回転リールの回転についての回転制御動作が実行され(ST42)、各種のタイマ変数が更新される(ST43)。
次に、図11(b)に示すコマンド出力処理(ST44)を実行する。ここで、コマンド出力処理とは、通信バッファBUFに設定されている制御コマンドを1バイト毎に演出制御部51に伝送する処理である。具体的には、先ず、送信回数カウンタCTの値が判定される(ST50)。先に説明した通り、送信回数カウンタCTは、通信バッファBUFに、2バイト長の制御コマンドが格納される毎に、+2されて更新されている(図10(c)のST31)。
そこで、送信回数カウンタCTの値がゼロでない場合には、通信バッファBUFから出力すべき制御コマンドを読出しポインタRDで特定し、読出しポインタRDが指示する制御コマンド(その上位バイトDH又は下位バイトDL)を演出制御部51に伝送する(ST51)。次に、パルス状のストローブ信号(図11(d)参照)を演出制御部51に伝送する(ST52)。このストローブ信号は、演出制御部51のCPUに受信割込み処理(図12(a))を起動させるための信号であり、起動された受信割込み処理によって、ステップST51で伝送された制御コマンドの上位バイトDH又は下位バイトDLが取得される。
続いて、ポインタRDが指示する通信バッファBUFにゼロデータを書込むことで、ステップST51の処理で出力された制御コマンドを消去する(ST53)。以上の処理によって制御コマンドの1バイト分(上位バイトDH又は下位バイトDL)の伝送が終わったので、次に、読出しポインタRDをインクリメント(+1)し、送信回数カウンタをデクリメント(−1)した上でサブルーチン処理を終える(ST54,ST55)。
以上の説明から明らかな通り、制御コマンドが2バイト長であるのに対して、一回のタイマ割込み処理では、制御コマンドの1バイト分だけが伝送されるので、制御コマンドは、二回のタイマ割込み処理を経由して伝送されることになる。したがって、制御コマンドの1バイト目(上位バイトDH)と2バイト目(下位バイトDL)の伝送間隔は、タイマ割込み周期(τ)と同一となり、演出制御部51は、制御コマンドを確実に受信することができる。なお、タイマ割込み周期τは、例えば、1.5mS程度に設定されている。
上記したコマンド出力処理(ST44)が終われば、払出したメダルなどの情報をホールコンピュータに伝送し(ST45)、各種ランプの表示動作を更新する(ST46)。次に、各種センサからのセンサ信号の適否を判定する異常監視処理(ST47)を実行し、ステップST40の処理で退避したレジスタをCPUに復帰させて(ST48)タイマ割込み処理を終える。
以上、主制御部50の動作を説明したので、続いて、制御コマンドに基づいて演出動作を実行する演出制御部51のCPUの動作について説明する。演出制御部51の動作は、ストローブ信号によって起動される受信割込み処理(図12(a))と、電源投入時に開始される無限ループ状のメイン処理(不図示)と、一定時間毎に起動されるタイマ割込み処理(図12(b))とを有して構成されている。但し、メイン処理は、本発明の趣旨と関連性が乏しいので説明を省略し、受信割込み処理(図12(a))とタイマ割込み処理(図12(b))について説明する。
主制御部50からストーブ信号が伝送されると、演出制御部51では、図12(a)に示す受信割込み処理が起動される。この受信割込み処理では、定型的なレジスタ退避処理の後、制御コマンド取得用の入力ポートからコマンドデータ(DH又はDL)を入力し(SP1)、この入力データが複数回連続して同一値であることを確認する(SP2)。ここで、複数回連続して同一コマンドデータを入力することができれば、次に、前回の受信割込み処理で取得したコマンドデータと、今回のコマンドデータとが同一値でないことを確認する(SP3)。そして、2つのコマンドデータが同一値でないことを条件に、今回のコマンドデータを、図12(d)に示す受信バッファRVに取得する(SP4)。具体的には、書込みポインタWR’が特定する受信バッファRVの該当領域に、今回受信したコマンドデータを格納する(SP4)。
次に、今回取得したコマンドデータが、制御コマンドの上位バイト(DH)か下位バイト(DL)かに応じて、受信中フラグを設定する(SP5)。受信中フラグは、2バイト長の制御コマンドを取得し終わったか否かを示すものであり、上位バイト(DH)を取得したタイミングで受信中フラグがセットされ、下位バイト(DL)を取得したタイミングで受信中フラグがリセットされる(SP5)。そして、以上の処理が終われば、定型的なレジスタ復帰処理を実行した上で受信割込み処理を終える。
このように、本実施例では、入力ポートからコマンドデータを繰り返し入力して、複数回、同一値を入力できることを条件に、そのコマンドデータを取得しているので、ビット化けした制御コマンドを誤取得してしまう可能性が大幅に低減される。図11(d)に示す通り、特に、制御コマンドの2バイト目(下位バイトDL)は、それが演出制御部51に取得された後も、伝送路に長く維持されることがあり、ノイズによって受信割込み処理が多重起動される可能性も否定できないところ、本実施例では、そのような場合にも、重複取得したコマンドデータを廃棄することで、その後の異常動作を回避している。
続いて、図12(b)に示すタイマ割込み処理について説明する。タイマ割込み処理では、先ず、演出動作をランダム化するための乱数値が更新され(SP10)、制御コマンドの受信中か否かが判定される(SP11)。具体的には、受信中フラグがセット状態かリセット状態かが判定され、もし、リセット状態であって、2バイト長の制御コマンドが取得済みであることが確認されれば、次に、受信バッファRVに未処理の制御コマンドが存在するか否かが判定される(SP12)。制御コマンドが未処理状態か否かは、読出しポインタRD’と書込みポインタWR’の値に基づいて判定される。
続いて、受信した制御コマンドの受信順序に不合理が無いかが判定される(SP13)。この実施例では、主制御部50は、遊技開始コマンド→回転開始コマンド→停止受付コマンド→停止止結果コマンド→入賞情報コマンド→払出コマンド→チェックコマンドの順番に制御コマンドを送信するので、この順番に受信しているか否かが判定される。そして、受信順位が正しくない場合には、制御コマンドがビット化けしたか、違法な制御コマンドであると考えられるので、不整合フラグをON状態に設定し、遊技状態が仮にAT(アシストタイム)中となっていても(図13のSP40参照)、これをキャンセルする(SP13)。
このステップSP13の処理において、不整合フラグがON状態に設定された場合には、その後の受信コマンド対応処理(SP15)がスキップされる。なお、ON状態の不整合フラグは、例えば、当該ゲーム終了時にOFF状態に戻され(SP29)、少なくとも、当該ゲーム終了時まではON状態に維持される。
したがって、正規の遊技開始コマンドに続いて、偽装した遊技開始コマンド(偽装コマンド)が送信されても、その偽装コマンドが無視されることで違法遊技が回避される。一方、偽装コマンドが、正規の遊技開始コマンドに先行して送信される可能性もある。しかし、この場合にも正規の遊技開始コマンドに基づいて不整合フラグがON状態となるので、例え、先行する偽装コマンドによって、遊技状態がAT中となっていても(SP40参照)、アシスト動作が中断されるので問題がない。但し、高度なぶら下げ基板によって、正規の開始コマンドを伝送させることなく、正規の開始コマンドに代えて偽装コマンドだけを伝送させる違法も想定される。そこで、本実施例では、受信コマンド対応処理(SP15)において、制御コマンドを累積加算(SUM’←SUM’+DH+DL)することで、防犯機能を高めている。
すなわち、受信コマンド対応処理(SP15)では、受信した制御コマンドに対応する演出動作を実行するが(SP21,SP23,SP25)、各処理(SP21,SP23,SP25)では、必ず、チェック加算演算(SUM’←SUM’+DH+DL)が実行される。そして、そのチェック加算値SUM’は、チェックコマンド処理(SP27)において、主制御部50から受信したチェック加算値SUMと比較され、不一致の場合には、違法行為を排除するための適宜な異常対応処理(図13のSP53)を実行している。したがって、正規の開始コマンドを伝送させることなく、偽装コマンドだけを伝送させる違法があっても、アシスト動作が開始されることはない。
上記のような受信コマンド対応処理(SP15)が終われば、不整合フラグがON状態でないことを条件に、今回のステップSP21の処理で生成されたか、又はそれ以前に生成されている演出シナリオに基づき、演出動作を進行させて定期割込み処理を終える(SP16〜SP17)。
以上、タイマ割込み処理(図12(b))について概略的に説明したので、アシスト動作に関する防犯機能の説明を補充するため、図13(a)のフローチャートに基づいて、遊技開始コマンドを受信した場合の動作から説明する。
図13(a)は、遊技開始コマンドを受信した場合の遊技開始コマンド処理(SP21)を説明するフローチャートである。先に説明したように、遊技開始コマンドは内部抽選(ST6)の抽選結果を特定している。また、「チェリー図柄」「ベル図柄」「スイカ図柄」などの小役図柄への当選状態であれば、AT抽選が実行される。
これらの点を具体的に説明すると、遊技開始コマンドを受信した場合には、先ず、チェック加算演算(SUM’←SUM’+DH+DL)を実行する(SP30)。なお、チェック加算値SUM’は、チェックコマンド処理の後にゼロクリアされるので(SP28)、このタイミングでの処理は、実質的には、チェック加算値SUM’の初期設定(SUM’←DH+DL)となる。
次に、現在が、AT(アシストタイム)中であるか(SP31)、BB(ボーナスゲーム)中であるか(SP32)が判定され、演出制御部51や液晶制御部61で実行すべき演出を抽選決定するための演出抽選テーブルが特定される(SP33〜SP35)。続いて、特定された演出抽選テーブルと、ステップSP10の処理で更新された乱数値とに基づいて演出抽選を実行して、これから実行すべき演出内容を具体的に規定する演出シナリオを抽選決定する(SP36)。
続いて、現在が既にAT中でないことを条件に(SP37)、遊技状態と当選役とに対応したAT抽選を実行する(SP38)。特に限定されないが、この実施例では、「チェリー図柄」の内部当選状態であれば高確率でAT抽選に当選し、「ベル図柄」の内部当選状態であれば低確率でAT抽選に当選するよう構成されている。また、これに対応して、主制御部50で実行される内部抽選処理では、「ベル図柄」の当選確率が高く、「チェリー図柄」の当選確率が低く設定されていることは前述した通りである。
そして、AT抽選(SP38)によって、AT当選状態となれば、遊技状態をAT中にセットしてサブルーチン処理を終える(SP40)。この場合、ATゲームの継続回数(AT継続回数)や、ATゲームの開始タイミングが規定される。何れにしても、ATゲームが開始されるのは次回のゲーム以降であるので、今回のゲームにおいて、偽装された遊技開始コマンドによってAT抽選に当選した場合でも問題が生じない。すなわち、今回ゲームの最後に実行されるチェックコマンド対応処理(SP27)によって異常対応処理(SP53)が開始されるので、何ら問題がない。
このようにして、AT(アシストタイム)状態となると(SP37がYes)、遊技開始コマンドに基づいて、所定の小役図柄に内部当選状態であるか否かが判定され(SP41)、もし所定の小役当選状態であれば、アシスト動作(AT動作)を実行する(SP42)。すなわち、小役当選状態を実効化するべく、回転リールの停止操作順が報知されるので、遊技者は、メダルの取りこぼし量が減少する利益を得ることができる。
以上、遊技開始コマンド処理(SP21)について説明したので、次に、図13(b)に基づいて、全ての停止操作が終わった後に送信される入賞情報コマンドを受信した場合の入賞情報コマンド処理(SP23)について説明する。この場合にも、チェック加算演算(SUM’←SUM’+DH+DL)を実行した上で(SP44)、その時の遊技状態がAT中か否かが判定される(SP44)。
ここで、遊技状態がAT中であれば、内部抽選処理(ST6)で当選状態となっている当選図柄が有効ライン上に揃ったか否かが判定される。そして、当選状態でないか、或いは、当選状態であっても当選図柄が有効ライン上に整列していない場合には、ステップSP47の処理に移行する。一方、特定の図柄の組合せが有効ライン上に整列していれば、AT継続回数を増加させるか否かを決定する上乗せ抽選を実行し、当選すればAT継続回数を加算する(SP46)。
続いて、AT継続回数を一回分だけ減算して、減算結果がゼロか否かを判定する(SP47,SP48)。そして、AT継続回数がゼロとなれば、遊技状態を「AT中」から「通常中」に変更した上で(SP49)、内部抽選における当選図柄(当選役)と、その当選図柄が整列しているか否かに対応した適宜な遊技演出を特定して、その演出動作を開始する(SP50)。
最後に、図13(c)に基づいて、チェックコマンド処理(SP27)について説明する。チェックコマンドは、一ゲームを完了したタイミングで、チェック加算値SUMを特定して伝送されるが(図10のST23)、これを受けた演出制御部51では、チェックコマンドからチェック加算値SUMを抽出する(SP51)。図10(b)に関して説明した通り、チェック加算値SUMは、8ビット長のチェック加算演算(SUM←SUM+DH+DL)の演算結果を示す7ビット長である。
そして、演出制御部51においても、上記のチェック加算演算に対応する8ビット加算演算(SUM’←SUM’+DH+DL)を実行しているので、自ら算出したチェック加算値SUM’と、チェックコマンドから抽出したチェック加算値SUMとを対比して7ビット長の全てが一致するか否かを判定する(SP52)。そして、万一、両者が一致しない場合には、偽装コマンドを受けている可能性があるので、適宜な異常対応動作を開始する(SP53)。
異常対応動作(SP53)は、特に限定されないが、例えば、その後の所定のゲーム回数だけは、AT演出(SP42)や、AT抽選(SP38)を回避する動作を例示することができる。なお、回避動作に加えて、異常報知を開始しても良いが、制御コマンドのビット化けによって、2つのチェック加算値SUM,SUM’が不一致となる可能性もあるので、この点を考慮すると、必ずしも必須ではない。
なお、所定回数だけAT演出(SP42)やAT抽選(SP38)を回避しても、遊技者に与える不利益は少ないので、例え、制御コマンドのビット化けに基づく回避動作であっても特段の問題はないと解される。
以上の通り、本実施例では、一ゲーム中の制御コマンドを加算した統計値に基づいて、不正コマンドの伝送を検出しているので、高度なぶら下げ基板によって、正規の開始コマンドを伝送させることなく、偽装コマンドだけを伝送させる違法が実行されても、その違法を確実に検出することができる。
但し、ぶら下げ基板の回路構成によっては、一ゲーム中の一連の制御コマンドが全て偽装コマンドである可能性も否定し切れない。そこで、そのような点を考慮する場合には、図14に示す第2実施例が採用される。
この第2実施例では、主制御部50において、チェック加算演算(SUM←SUM+DH+DL)が実行されず、また、チェックコマンドが送信されることもない。したがって、主制御部50では、防犯上の制御負担が増加せず、且つ、法定上領域が制限されているROM領域の使用量が増加しない利点がある。
この主制御部50の構成に対応して、第2実施例では、演出制御部51においてもチェック加算演算(SUM’←SUM’+DH+DL)が実行されず(図14(a)参照)、チェックコマンド処理も存在しない。但し、これに代えて、第2実施例では、AT抽選の当選確率の高い当選図柄(例えば、チェリー図柄)を特定する遊技開始コマンドの統計的な受信頻度を判定するようにしている(図14のSP38’参照)。
これは、AT抽選に当選させようとする違法行為者は、AT抽選の当選確率の高い当選図柄を特定する遊技開始コマンドを、各ゲームにおいて毎回、又は高頻度で送信する可能性が低くないと考えられるからである。
そのため、第2実施例では、図13のステップSP38の処理に代えて、遊技状態と当選役に対応して、AT抽選を実行するか否かを毎回判定している(図14のSP38’のAT処理)。具体的には、図14(b)に示す通りであり、所定の当選役への当選履歴をカウントするカウンタ変数NUMの値に対応した動作を実行している。
図14(b)に示すAT処理(SP38’)では、先ず、カウンタ変数NUMを判定値JUDに保存し(SP50)、AT抽選の当選率の高い所定の当選役に当選しているか否かを判定する(SP51)。この実施例では、AT抽選の当選率の高い当選役として「チェリー図柄」が例示されるが、必ずしも、限定されず、また、所定の当選役は複数個であっても良い。
そして、所定の当選役に当選していない場合には、カウンタ変数NUMをインクリメントした上で(SP52)、当選状態と当選役に応じたAT抽選を実行する(SP55)。これは、違法行為者が、AT当選確率の高くない当選役の偽装コマンドを、わざわざ送信する可能性は無いと考えられからである。
一方、ステップSP51の判定において、遊技開始コマンドが、AT抽選の当選率の高い所定の当選役に当選していることを示している場合には、カウンタ変数NUMをゼロに初期設定した上で(SP53)、ステップSP50の処理で保存しておいたカウンタ変数NUM(判定値JUD)が異常に低くないか判定する(SP54)。先に説明した通り、違法行為者は、AT抽選の当選確率の高い当選役を特定する遊技開始コマンドを、毎回ゲーム又は高頻度で送信すると思われるので、判定値JUDが異常に低い場合には、違法行為の可能性が低くない。
そこで、判定値JUDが異常に低い場合(JUD≦MIN)には、SP55の処理をスキップしてサブルーチン処理を終える。なお、判定値JUDが異常に低い場合であって、既に、AT当選状態となっている場合には、これをキャンセルするのも好適である。
このように、第2実施例では、AT抽選の当選確率の高い所定の当選役に高頻度に当選すると、AT抽選が実行されないことになる。しかし、本実施例では、AT抽選の当選確率の高い所定の当選役は、内部抽選(ST6)における当選確率が対応して低く設定されているので、ステップSP54の判定(JUD:MIN)における閾値MINを適宜値に設定することで、正当な遊技者に不利益を与えることはないと解される。なお、万一、誤審が生じても、要するに、AT抽選処理が一回だけ回避されるだけであるので、実質的な不利益はないと解される。
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。