(第1実施の形態)
以下、本発明の特徴的な制御処理を図15〜図17に示したフローチャートに基づき説明するが、本発明の制御処理が行われるスロットマシン1の全体の構成等について図1〜図14に基づき最初に説明し、その後に本発明の特徴的な制御処理について説明する。
本発明の第1実施の形態について遊技機の一例としてスロットマシンの場合を例に図面に基づいて説明する。図1は、スロットマシン1の前面扉3が閉じた状態を示す斜視図、図2は、スロットマシン1の前面扉3を開いた状態を示した斜視図である。スロットマシン1は、図1に示すように、筐体2と前面扉3とからなる正面視略矩形状の本体4を有している。
筐体2は、スロットマシン1の骨格をなす部材であり、図2に示すように、前面側が開放された箱形状を有している。筐体2の内部には、各種の図柄等が表示される複数個の回転ドラム11と、スロットマシン1の主な遊技動作を制御するメイン制御基板50(図4を参照)等を収納した制御基板収納ボックス12と、電源スイッチ13a、リセットスイッチ13b、設定キースイッチ13c等を備える電源ボックス13と、遊技価値媒体であるコインMを貯留する補助タンク14a、補助タンク14a内のコインMを排出用通路9からコイン排出口7に払い出す支払装置14bと、支払装置14bから支払われるコインを検出するコイン検出部と、ホッパ駆動モータ(図示せず)とを備えたホッパ14等が収容されている。
ホッパ14に設けられたコイン検出部は、一対の投光部と受光部(それぞれ図示せず)を有するフォトカプラによって構成されており、本実施の形態においてコイン検出センサ14cを備えている。コイン検出センサ14cは、例えば受光時には「Lo」信号、遮光時には「Hi」信号をそれぞれ出力するように設定されている。
前面扉3は、図2に示すように、左側辺部の上下2カ所がヒンジ5によって筐体2に連結されて取り付けられており、筐体2の前面開放部分を容易に閉塞及び開放できるように構成されている。
前面扉3は、図1に示すように、上方から下方に向かって順番に表示部3A、操作部3B、貯留部3Cの3つの部分を備えている。表示部3Aには、本発明のコイン排出報知部を構成する種々の装置が配置されている。例えば、前面扉3の上辺に沿って設けられ遊技の進行に伴って点灯・点滅する上部ランプ21と、上部ランプ21の下方位置で左右両側に各々配置されて種々の報知音(効果音)を出力する一対のスピーカ22が設けられている。そして、これら一対のスピーカ22の間に配設されて画像・映像等の種々の情報を表示する液晶ディスプレイ23が設けられている。
また、表示部3Aの略中央高さ位置には、筐体2内で回転する複数個の回転ドラム11をそれぞれ視認するための透明窓24が設けられており、透明窓24の左側にはコインMのベット数(賭け数)に応じて点灯するベットランプ25が配設されている。そして、表示部3Aの下部には、左側から右側に向かって順番にクレジット枚数表示部26、BB中枚数表示部27、排出枚数表示部28が設けられている。
操作部3Bは、表示部3Aの下端で折曲されて手前側に向かって移行するに従って若干の下り傾斜を伴って延在する平面部分Fと、その平面部分Fの手前側の端部で折曲されて下方に向かって垂下する縦壁部分Hを有しており、平面部分Fには、左側位置に1枚用と2枚用のベットボタン31、32が設けられ、その右側近傍位置に3枚用のベットボタン33が設けられている。そして、平面部分Fの右側位置には、コイン投入口34が配設されている。
縦壁部分Hの上部には左側から右側に向かって順番に、コインMを貯留するか否かを選択するためのクレジット精算ボタン35、回転ドラム11の回転開始を指示するためのスタートレバー36、回転ドラム11の回転停止を指示するためのストップボタン37が設けられている。
クレジット精算ボタン35は、押し操作によって予め設定された枚数、例えば本実施の形態において50枚となるまでの余剰の投入コイン数や入賞時に獲得した獲得コイン数を電子的に記憶する貯留モード(クレジット機能)と、このようにして得たコインを予め設定された枚数まで電子的に記憶せずに実際に支払う支払モードとを切り替えるように構成され、本発明の精算排出開始手段を形成している。例えば、クレジット精算ボタン35が1回操作されると、貯留モードとなり蓄積されたコインの枚数の記憶が開始され、再び操作されると貯留モードが解除されて支払モードとなり記憶された枚数分のコインが実際に排出される。
スタートレバー36は、縦壁部分Hから手前側に向かって突設されており、下方に押し下げる、或いは上方に押し上げることによって操作される。ストップボタン37は、各回転ドラム11に対応する位置にそれぞれ配設されており、押し動作によって操作される。また、操作部3Bの下部には、機種名や遊技に関わるキャラクタ等が表示された表示プレート15等が設けられている。
貯留部3Cは、操作部3Bの下方位置で左右方向に亘って延在するように配置形成されており、コイン排出口7から払い出されたコインMを受けて貯留するコイン受け皿16や灰皿17等が設けられている。
次に、コイン投入口34から投入されたコインMが供給されるセレクタ40について説明する。図3は、セレクタ40の内部構造を示す図である。
セレクタ40は、前面扉3の背面に沿って延在するように配置され、セレクタボディ41には、コイン投入口34から送出されたコインMを貯留用通路8に導くためのコイン案内路42が設けられている。
コイン案内路42は、図3に矢印Aで示すように、セレクタボディ41のボディ上面左側部分から垂下してセレクタボディ41の略中央高さ位置でボディ右側に向かってカーブし、更に矢印Bで示すように所定の傾斜角で右側面の下部まで延在しており、コインMが一列で通行することができるように形成されている。本実施の形態では、セレクタボディ41から図の手前側に突出する突条42aによって構成されており、コインMは、突条42a上を転がりながら下流方向に流れる。
コイン案内路42の途中位置には、図中に矢印Cで示すように、コイン案内路42から分岐して排出用通路9に連通する分岐通路43が形成されており、コイン案内路切替手段44によってコインMを貯留用通路8と排出用通路9のいずれに供給するかを選択することができるように構成されている。
コイン案内路切替手段44は、コイン案内路42に対して出没可能な切替片44aと、この切替片44aを動作させるためのソレノイド(図示せず)とを備えており、ソレノイド非励磁時にはコイン案内路42内に切替片44aを突出させることによって貯留用通路8へのコインMの流れを阻害し、コインMを突条42aの上から図中の手前側に移動させて下方に落下させて分岐通路43に誘導し、分岐通路43から排出用通路9に導いて、前面扉3のコイン排出口7からコイン受け皿16に排出させる。また、ソレノイド励磁時にはコイン案内路42外に切替片44aを没入させて、コインMをコイン案内路42に沿って移動させて、貯留用通路8に導き、筐体2の内部に収容されたホッパ14に供給する。
コイン案内路42の下流側位置には、コインMの通過を検出するコイン通過検出部45が設けられている。コイン通過検出部45は、通過するコインMを介して両側に一対の投光部と受光部(それぞれ図示せず)を有するフォトカプラによって構成されており、本実施の形態において第1投入コイン通過検出センサ45aと第2投入コイン通過検出センサ45bを備えている。第1投入コイン通過検出センサ45aと第2投入コイン通過検出センサ45bは、少なくとも通過する1枚のコインMを同時に検出しうる程度に近接した状態で上流側と下流側に並設され、例えば各投入コイン通過検出センサ45a、45bは受光時には「Lo」信号、遮光時には「Hi」信号をそれぞれ出力するように設定されている。
次に、制御基板収納ボックス12内に配設されているスロットマシン1のメイン制御基板50等について図4及び図5に基づいて説明する。図4は、スロットマシン1のメイン制御基板50の構成を説明するブロック図、図5は、スロットマシン1のサブ制御基板60の構成を説明するブロック図である。
メイン制御基板50は、遊技の主な制御処理を行うものであり、演算装置である1チップマイコンとしてのMPU51と、そのMPU51に接続されると共にセンサ類やスイッチ類などの各種の入出力手段に接続された入出力ポート52が搭載され、本発明のメイン制御部を構成している。
MPU51には、MPU51により実行されるコイン検出プログラム53a等の制御プログラムや固定値データを記憶したROM53と、そのROM53内に記憶される制御プログラムの実行にあたって各種のデータを一時的に記憶するためのメモリであるRAM54と、割込回路、タイマ回路、データ送受信回路等の各種回路等が内蔵されている。
コイン検出プログラム53aは、例えばクレジット精算ボタン35が操作されてコインの排出が開始されたときに、ホッパ14のコイン検出センサ14cから出力された検出信号に基づいてコインの排出と認識して、コイン排出コマンドを生成するように構成されている。
RAM54は、クレジット精算ボタン35の操作により貯留モードとされたときに、セレクタ40の第1投入コイン通過検出センサ45a、第2投入コイン通過検出センサ45bから出力された検出信号に基づき認識したコインの枚数及び入賞により獲得したコインの枚数を予め設定された枚数、例えば50枚までの枚数を電子的に記憶し、本発明のコイン数記憶部を構成するコイン数記憶エリア54aを有している。そして、図6〜図9に示されたフローチャートのプログラムは、制御プログラムの一部としてROM53内に記憶されている。
入出力ポート52には、クレジット精算ボタン35、スタートレバー36、ストップボタン37、コイン検出センサ14c、第1投入コイン通過検出センサ45a、第2投入コイン通過検出センサ45b、1〜3枚ベットランプ25、クレジット枚数表示部26、BB中枚数表示部27、排出枚数表示部28、サブ制御基板60、外部集中端子板67等が接続されている。
サブ制御基板60は、メイン制御基板50と別個に設けられメイン制御基板50から送信されるコマンドを受信して遊技以外の補助的な制御処理を行うものであり、本発明のサブ制御部を構成する。サブ制御基板60は、上部ランプ21による点灯・点滅及びスピーカ22から報知音等の出力制御、表示用制御基板66を制御して液晶ディスプレイ23上に演出表示等を行うように構成されている。
サブ制御基板60には、演算装置である1チップマイコンとしてのMPU61と、そのMPU61に接続されると共にセンサ類やスイッチ類などの各種の入出力手段に接続され、メイン制御基板50から送信されるコマンドを受信する入出力ポート62が搭載されている。
MPU61には、MPU61により実行される排出コイン数判定プログラム63a、報知制御プログラム63b(排出コイン数判定プログラムの機能を含めても良い)等の制御プログラムや基準排出コイン数、基準コイン排出報知時間、上部ランプ用発光テーブル、報知音テーブル等の固定値データを記憶したROM63と、そのROM63内に記憶される制御プログラムの実行にあたって各種のデータ、例えば排出コイン数(後述する排出コイン数カウンタ65によりカウントされたカウント数)を一時的に記憶するためのメモリであり、排出コイン数記憶エリア64aを有するRAM64と、割込回路、タイマ回路、データ送受信回路等の各種回路と、クレジット精算ボタン35の操作に基づきコインの排出が開始されてからコインの排出が終了するまでの間にメイン制御部50から送信されてきたコイン排出コマンドに基づきコインの排出枚数をカウントし、本発明のコイン数カウント部を構成する排出コイン数カウンタ65等の各種カウンタ等が内蔵されている。図10〜図17に示されたフローチャートのプログラムは、制御プログラムの一部としてROM63内に記憶されている。
入出力ポート62には、発光制御コントローラ21a、報知音出力コントローラ22a、表示用制御基板66、外部集中端子板68等が接続されており、表示用制御基板66との間ではデータ等を双方向に送受信可能に構成されている。発光制御コントローラ21aは、MPU61によりROM63の上部ランプ用発光テーブルから読み出された上部ランプ用発光データに基づいて上部ランプ21のLEDを発光制御するように構成され、上部ランプ21と共に本発明の照明手段を形成する。報知音出力コントローラ22aは、MPU61によりROM63の報知音テーブルから読み出された報知音データに基づいてスピーカ22から報知音を出力するように構成され、スピーカ22と共に本発明の報知音出力手段を形成する。
電源基板70は、電源ボックス13内に設けられており、メイン制御基板50の他に、スロットマシン1の各電子機器に駆動電力を供給する電源部71と、電源断の発生を監視する停電監視回路72等の各種回路を備えている。スロットマシン1の電源オフ後には、電源基板70の電源部71からRAM54にバックアップ電圧が供給される。
停電監視回路72は、停電等の発生による電源断時(電源スイッチ13aのオフによる電源断を含む)に、メイン制御基板50のNMI端子、入出力ポート52及びサブ制御基板60のNMI端子へ停電信号を出力するための回路である。停電監視回路72は、電源基板70から出力される最も大きい電圧である直流安定24ボルトの電圧を監視し、この電圧が22ボルト未満になった場合に停電(電源断)の発生と判断して、停電信号を出力するように構成されている。停電信号の出力に基づいて、メイン制御基板50は、停電の発生を認識し、停電時処理を実行するように構成されている。なお、停電監視回路72の停電信号は、メイン制御基板50及びサブ制御基板60のNMI端子に代えて、INT端子に入力されるように構成しても良い。
また電源基板70は、直流安定24ボルトの電圧が22ボルト未満になった後においても、停電時処理の実行に充分な時間の間、制御系の駆動電圧である5ボルトの出力を正常値に維持するように構成されている。例えば、本実施の形態において30msecの間は、駆動電源が出力されるように構成されている。よって、メイン制御基板50は、停電時処理を正常に実行することができる。また、停電監視回路72を、電源基板70ではなく、例えばメイン制御基板50に設けるようにしても良い。
次に、図6〜図9に示すフローチャートを参照して、メイン制御基板50で行われる各処理について説明する。メイン制御基板50で行われる処理として、電源投入に伴い起動されるメイン処理と、定期的(本実施の形態では、1.49ms周期)に起動されるタイマ割込処理と、NMI端子への停電信号の入力により起動されるNMI割込処理が設定されている。以下の説明では、便宜上、NMI割込処理とタイマ割込処理について説明し、その後にメイン処理について説明する。
図6は、NMI割込処理の一例を示すフローチャートである。停電の発生等により電源が遮断されると、停電監視回路72から停電信号が出力されてメイン制御基板50のMPU51に対して出力される。NMI端子を介して停電信号を受信したMPU51によりNMI割込処理が即座に実行される。なお、上述したようにメイン制御基板50においてNMI端子に代えてINT端子を設ける構成とした場合には、停電監視回路72の停電信号はINT端子に入力される。
NMI割込処理では、まずステップS101において、MPU51内に設けられた使用レジスタのデータをRAM54内に設けられたスタックエリアへ退避する。次に、ステップS102では、停電フラグをRAM54内に設けられた所定のワークエリアにセットする。その後、ステップS103にてスタックエリアへ退避させたデータを再びMPU51に搭載の使用レジスタ復帰させて本ルーチンの処理を終了する。なお、使用レジスタのデータを破壊せずに停電フラグをセット処理可能な場合には、スタックエリアへの退避及び復帰処理を省略することができる。
図7は、メイン制御基板50で定期的(本実施の形態では1.490ms毎)に実行されるタイマ割込処理のフローチャートである。このタイマ割込処理では、例えば、クレジット精算ボタン35の操作状態読み込み処理、ホッパ14のコイン検出センサ14c、セレクタ40のコイン通過検出センサ45a、45b等の各種センサの監視処理等が行われる。
まずステップS201に示すレジスタ退避処理では、通常処理(図9参照乞う)で使用している全レジスタの値をスタックエリアへ退避させる。ステップS202では、停電フラグがオンされているか否かを確認し、停電フラグがオンされている場合(ステップS202においてYes)、図6のNMI割込処理で説明した通り停電の発生であるので、ステップS203に進み停電時処理を実行する。
本実施の形態において、ステップS203の停電時処理は、タイマ割込処理のうち特にレジスタ退避処理(ステップS201)の直後に行われることから、他の割込処理を中断することなく実行可能である。従って、例えば各種のコマンドの送信処理中やスイッチの状態(オン又はオフ)の読み込み処理中等のように、各々の処理に割り込んで停電時処理が実行されることはないことから、このようなタイミングで停電時処理が実行されることを考慮した停電時処理のプログラムを作成する必要がない。これにより、停電時処理のプログラムを簡略化して、プログラム容量を削減可能となる。
一方、停電フラグがオンされていなければ(ステップS202においてNo)、停電は発生していないので、ステップS204以降の処理が行われる。
ステップS204では、誤動作の発生を監視するウォッチドッグタイマの値を初期化するウォッチドッグタイマクリア処理を行う。そして、ステップS205では、MPU51自身に対して割込許可を出す割込終了宣言処理を行う。ステップS206では、筐体2に収納された各回転ドラム11の回胴モータ(ステッピングモータ)を回転駆動させる回胴モータ制御処理を行う。ステップS207では、各種スイッチのオン・オフ状態を読み込むスイッチ状態読み込み処理を行う。
ステップS208では、各種センサの状態を読み込んで、読み込み結果が正常であるか否かを監視するセンサ監視処理を行う。ステップS209では、各カウンタやタイマの値を減算するタイマ減算処理を行う。ステップS210では、IN・OUTカウンタ処理を行う。ステップS211では、サブ制御基板60へコマンドを送信するコマンド出力処理を行う。
ステップS212において、クレジット枚数表示部26、BB中枚数表示部27及び排出枚数表示部28にそれぞれ表示されているセグメントデータを設定するセグメントデータ設定処理を行ってから、ステップS213において、セグメントデータを各表示部26〜28にそれぞれ供給して数字、記号等を表示するセグメントデータ表示処理を行う。ステップS214では、入出力ポート52から出力データを出力するポート出力処理を行う。
そして、これらの処理の実行後には、ステップS215において、スタックエリアへ退避させた各レジスタの値をそれぞれの対応のレジスタへ復帰させ、ステップS216にて次回のタイマ割込の発生を許容する割込許可処理を行って、タイマ割込処理を終了する。
図8は、電源投入時にメイン制御基板50で実行される起動処理のフローチャートである。電源スイッチ13bがオン操作されてスロットマシン1の電源が投入されると(停電からの復旧による電源入を含む)、この処理が実行される。まず、初期化処理として、スタックポインタの値を設定し(ステップS301)、割込モードを設定し(ステップS302)、そしてCTC・内蔵レジスタの設定処理を行う(ステップS303)。
初期化処理が終了すると、ステップS304では、設定キーが設定キースイッチ13cに挿入されているか否かを判定する。設定キースイッチ13cがオンされている場合(ステップS304においてYes)、ステップS305に進み、強制的RAMクリア処理を実行して、RAM54の全ての内容を0クリアする。その後、ステップS306で6段階確率設定処理を実行する。6段階確率設定処理では、遊技の当選確率が6段階に切り替えられ、後述する遊技に関わる主要な制御を行う通常処理(図9参照乞う)に移行する。
一方、ステップS304において設定キースイッチ13cがオンされていない場合(ステップS304においてNo)、ステップS307に進み、6段階確率設定値の設定値が正常かどうかを判定する。具体的には、1〜6の範囲の正常な設定値であり、0又は7以上でないかどうかを判定する。設定値が正常である場合(ステップS307においてYes)、ステップS308に進み、復電フラグがセットされているかどうかを確認する。復電フラグを確認した場合(ステップS308においてYes)、ステップS309に進み、RAM判定値が正常であるかいないかを確認する。具体的には、RAM54のチェックサム値を調べ、RAM判定値を加味したチェックサムの値が正常の0であるかどうかを確認する。RAM判定値を加味したチェックサムの値が0である場合(ステップS309においてYes)、RAM54のデータは正常であると判定する。
ステップS309においてRAM判定値が正常であると判定した場合、ステップS310に進み、バックアップエリアに保存されたスタックポインタの値をMPU51のスタックポインタに書き込み、スタックの状態を電源断の前の状態に復帰させる。次に、ステップS311において、復電処理の実行を伝える復電コマンドを設定する。その後、ステップS312にて遊技状態として打ち止め及び自動精算設定処理を行い、続いてステップS313にてクレジット精算ボタン35等のスイッチ状態の初期化を行う。以上の処理の終了後、ステップS314において停電フラグをリセットし、電源断前の番地に戻る。具体的には、タイマ割込処理に復帰し、ウォッチドッグタイマクリア処理(ステップS204)が実行される。
一方、ステップS307〜ステップS309のいずれかのステップにおいてNoであった場合、RAM54のデータが破壊されている等の異常が発生しているので、ステップS315以降の処理に進み、動作禁止処理を行う。具体的には、ステップS315において、次回のタイマ割込処理を禁止し、その後、ステップS316において、入出力ポート52内の全ての出力ポートをクリアして、入出力ポート52に接続された全てのアクチュエータをオフ状態に制御する。そして、ステップS317に進んで、エラー表示を行ってバックアップエラーの発生を報知して、無限ループに入る。
図9は、図8に示すフローチャートに基づき電源投入後のメイン処理が行われた後にメイン制御基板50のMPU51により行われる通常処理のフローチャートである。本ルーチンは、メイン制御基板50のMPU51により繰り返し行われるスロットマシン1の主要な制御処理であり、電源投入後に設定キースイッチ13cがオフの場合(ステップS304においてNo)、前回の電源断時の番地に復帰する。一方、電源の投入後に設定キースイッチ13cがオンされている場合(ステップS304においてYes)、図8に示す強制的RAMクリア処理(ステップS305)及び6段階確率設定処理(ステップS306)が行われてから本ルーチンのステップS401に移行する。
まずステップS401では、初期化処理として本ルーチンにおいて割込を許可する割込許可の設定が行われて、ステップS402において遊技状態として打ち止め及び自動精算設定処理が行われ、例えば電源ボックス13に設けられた打ち止め有無スイッチ、自動精算有無スイッチ(それぞれ図示せず)の状態をRAM54の所定領域に格納してから、以下に説明する繰り返しルーチンに移行する。
ステップS403ではRAM初期化処理が行われ、RAM54において1回の遊技で使用される領域(RAM54の1回遊技用領域)をクリアする処理が行われる。本ステップでは、例えば、発生したエラーに関する情報、入賞図柄(ハズレを含む)、入賞ライン、入賞獲得コイン数等の入賞間に関する情報、遊技で用いた乱数、回転ドラム11の回転に関する情報等がクリアされる。
RAM54の初期化処理が行われると、ステップS404に進み、スタートレバー36の操作が行われたかを判定する始動装置ON待ち処理が行われる。本ステップで、スタートレバー36が操作されていない場合、MPU51は制御処理を行うことなく本ルーチンは待機する。ステップS404の処理では、スタートレバー36の操作が行われるまでルーチンが待機しているので、種々の処理が行われる。
例えば、上述のようにスタートレバー36が操作されないことにより所定時間に亘って遊技が行われなかった場合、液晶ディスプレイ23上で行われるデモに移行するためのタイマ設定処理を行う。また、当該遊技が再遊技である場合、コインの自動投入処理を行う(クレジット枚数表示部26に表示されている数値は変わらない)。一方、再遊技でない場合には、ホッパ14の横に設けられた満杯センサ(図示せず)からの検出信号に基づきコインの満杯を判定する処理を行う。
このような処理の後、タイマ割込処理の中でタイマ監視処理が行われており(ステップS208)、上述したようにホッパ14のコイン検出センサ14c、セレクタ40の第1投入コイン通過検出センサ45aと第2投入コイン通過検出センサ45b、補助タンク14aの補助タンクセンサ等を監視していることから、これらのセンサで異常が発生した場合には、エラー報知を行うためのセンサエラー報知処理を行う。
センサエラーが発生していないか、又は所定のセンサーエラー報知処理を行った後、クレジット精算ボタン35が操作されたのかどうかの判断がなされる。クレジット精算ボタン35が操作されたものと判定した場合、コインの排出開始にかかる精算排出開始コマンドを生成し、貯留コインの排出を行うべく貯留コイン排出処理に移行する。
MPU51により行われる貯留コイン排出処理では、例えばRAM54のコイン数記憶エリア54aに電子的に記憶されているコイン数を読み出し、読み出した数値をホッパ14のコイン検出センサ14cの検出信号に基づいて1ずつ減算していく。そして、コイン数記憶エリア54aのコイン数が1ずつ減算する毎にコイン排出コマンドをサブ制御基板60に送信できるようにRAM54のリングバッファに格納する。そして、読み出されたコイン数記憶エリア54aの数値がゼロとなったときに、ホッパ14から排出が終了したものと認識する。このとき、コインの精算終了にかかる精算排出終了コマンドを生成してRAM54に格納する。
そして、コイン投入口34からコインの投入があった場合には、投入枚数の判定処理がなされる。例えば、セレクタ40の第1投入コイン通過検出センサ45aと第2投入コイン通過検出センサ45bの検出信号に基づき適正な検出信号であれば、1枚のコインとして認識する。また、この段階で、コイン排出報知等の所定の演出が行われている場合、MPU51によるコインの認識をもって所定の演出を強制的に終了させるコマンド(例えば、コイン排出報知強制終了コマンド)を生成する。
そして、例えば、コイン投入口34から1枚〜3枚のコインが投入されるか、又はいずれかのベットボタン31〜33が操作されて、投入されたコインの枚数が規定数に到達した後、スタートレバー36の操作がなされたものと判定した場合には、コインの受け入れを禁止する処理が行われる。例えば、セレクタ40の切替片44aをコイン通路42に突出させて、コイン受入禁止中に投入されたコインを排出用通路9に誘導し、前面扉3のコイン払出口7からコイン受け皿16に排出させる処理が行われる。或いは、ベットボタン31〜33のいずれかのベットボタンが操作されても、ベットボタンの操作と判定しないような処理が行われる。そして、コイン受入禁止処理を行って本ステップの処理を終了する。或いは、この段階でも未だにスタートレバー36の操作がなされていない場合には、上述のセンサエラー処理から繰り返して行う。
このようにして、エラーが発生するか、コインの精算排出が開始されるか、セレクタ40の切替片44aの出没処理が行われるか、又はコインの投入等が行われると、サブ制御基板60にコマンドを送信するために各々の処理で生成されたコマンドがRAM54のリングバッファに格納される。
ステップS404でスタートレバー36が操作されると、ステップS405に進み、乱数作成処理が行われる。具体的には、ステップS404でスタートレバー36の操作がMPU51により認識されると、メイン制御基板50に搭載された発振器の所定周期に基づきカウントするフリーランニングカウンタ(図示せず)のカウント数をハードウエア的にラッチし、所定のタイミングでMPU51が乱数値として読み出すことによって作成される。このようにしてMPU51に読み出された乱数値はRAM54に格納される。
乱数が作成されると、ステップS406に進んで6段階確率設定処理(ステップS306)で設定された設定値に応じて決められた当選確率に基づき内部抽選処理が行われる。内部抽選処理とは、ステップS405においてRAM54に格納された乱数値に基づいて、ROM53に予め設定されている入賞テーブルの数値範囲との対比によって入賞しているのか否かを決定する処理である。
内部抽選処理で使用される入賞テーブルには、コインの払い出しが比較的多いビッグボーナス(以下、BBと称する)、レギュラーボーナス(以下、RBと称する)等の入賞役、これらの入賞役と対称的に、コインの払い出しが比較的少ないチェリー等の入賞役(通常、複数種類の入賞役が設定され「小役」と称されている)、このような入賞役に該当せずコインの払い出しが行われないハズレ、そしてコインの払い出し自体は行われないが、コインを投入することなく次の遊技を一回に限り行うことができる再遊技役等の複数種類の入賞役が設定されている。各々の入賞役に対して、その入賞役に当選する割合が、フリーランニングカウンタにより生成される所定の範囲の乱数に所定の数値範囲にて設定されている。各々の入賞役は、6段階確率設定処理(ステップS306)において設定された当選確率(「設定1」〜「設定6」)に基づいて数値範囲を変えて設定されている。例えば、当選確率の設定値の数字が小さくなるほど、ハズレ以外の入賞役の数値範囲が狭くなるように設定されている。そして、現在設定されている設定値と、内部抽選によって得られた結果をRAM54の所定のワークエリアに格納する。
MPU51において内部抽選処理が行われると、ステップS407に進んで回胴回転初期化処理が行われる。回胴回転初期化処理では、ステップS406の内部抽選結果に基づき回転ドラム11の回転制御で用いられるドラム制御テーブルの中からテーブル番号を決定する。
そして、ステップS408において前回の回転ドラム11の回転開始から4.1秒が経過したかどうかの4.1秒経過待ち処理が行われ、具体的には、設定された4.1秒タイマの数値がゼロとなっているかどうかの確認がなされる。本ステップで4.1秒が経過していない場合には、現在の遊技状態を表す状態コマンド(以下、単に「状態コマンド」と称する。)をRAM54に格納し、上部ランプ21等を通じてウエイト処理(即ち、4.1秒待ち)を報知する。
一方、4.1秒経過している場合には、次回の4.1秒経過待ち処理のために4.1秒タイマを設定すると共に、状態コマンドをRAM54に格納し、タイマ割込制御処理の中で投入コインの枚数を出力できるように(ステップS210)所定の設定を行う。
その後、回転ドラム11のモータ制御初期化処理が行われ、回転ドラム11の回転に関するRAMの所定領域を回転開始用に設定する処理が行われる。このような設定が行われると、ステップS206の回胴モータ制御処理に基づき回胴用モータ(ステッピングモータ)の加速処理が実際に開始され、回転ドラム11の回転が開始される。
回転ドラム11が実際に回転開始すると、ステップS409に進み回胴回転処理が行われる。本ステップでは、回胴回転処理で用いるRAMの所定領域を初期化し(上述のステップS408)、回胴回転情報コマンドと状態コマンドを格納し、上述の回胴用モータの加速処理に基づき回転ドラム11が正常回転となるまで待機する。回転ドラム11の回転が正常回転か否かの判断は、回胴モータ制御処理(ステップS206)に基づき加速処理が終了した時点でのインデックス検出によって行われる。インデックス検出に基づき回転ドラム11の回転が正常回転になったものと判定された場合、スロットマシン1の設定状態が後述する所定の停止操作により回転ドラム11の回転を停止させることができる状態であると判定し、回転停止可能である旨の報知を行う。
回転ドラム11の回転が停止可能状態にある旨の報知は、ストップボタン37に内蔵されたランプの発光形態を変化させることにより行われる。例えば、ストップボタン37のランプの発光させる色を変更したり、消灯状態であったランプを点灯状態にすることにより報知が行われる。なお、このような報知は、ストップボタン37の操作が有効となったストップボタンのみにおいて行われる。
そして、有効となったストップボタン37が実際に操作されると、ステップS406の内部抽選処理で決定された停止図柄の組み合わせをステップS407で設定したテーブル番号に基づき回転ドラム11を停止させる処理を行う。本ステップにおいて回転ドラム11を、テーブル番号で設定されているとおりに停止させることは必ずしも必要なく、例えばストップボタン37の停止順序や停止位置に応じてテーブル番号を変更したり、強制的に回転ドラム11を引き込むような処理を行うように回転ドラム11のステッピングモータの駆動制御を行う。回転ドラム11が停止すると、停止した回転ドラム11に対応したストップボタン37の操作許可が無効となる。
このような回転ドラム11の停止処理は、全ての回転ドラム11が停止するまで行い、回転ドラム11の回転が停止する毎に対応するストップボタン37の操作許可を無効にして、全てのストップボタン37の操作許可が無効となって時点で本ステップを終了する。ステップS409では、回転ドラム11のいずれかのドラムが停止する毎に、回胴回転情報コマンド、停止図柄コマンドをRAM54に格納する。
全ての回転ドラム11が停止すると、ステップS410に進んで入賞図柄判定処理が行われ、視認窓24を通じて認識可能な回転ドラム11の図柄がどのような組み合わせにて停止しているのかを判定する。
本ステップでは、まず遊技状態に応じて有効ラインを判断する。具体的には、5本ある有効ラインのうちのどのラインが有効なのか遊技状態に基づき判断する。例えば、遊技状態が通常遊技である場合、ベット数に応じて有効ラインが1ライン〜5ラインまでとなり、例えばベット数が3枚であると5ラインの全てが有効ラインとなる。また、遊技状態が役物遊技である場合、ベット数は1枚で1ラインのみが有効となる。
有効ラインの本数を認識すると、視認窓24を通じて認識可能な図柄(9マス分)が有効ライン上でどのような組み合わせにて停止しているのかを各有効ライン毎に判定する。視認窓24における絵柄は、各リールの各々の絵柄に付されている図柄番号に基づいて認識される。
各有効ライン毎の図柄の組み合わせを認識し、図柄が所定の入賞図柄にて揃っている場合には、入賞図柄として設定し、その入賞図柄に対応した払出枚数をホッパ14から払い出すことができるように所定の設定を行う。このとき、有効ライン上に複数の入賞図柄が揃っている場合には、各々の入賞図柄に対応した払出枚数を順次加算していく処理が行われるが、スロットマシン1は1回の払出枚数として規定数(通常15枚)のコインだけを払い出すように構成されているので、払出枚数を加算して規定数を超過したときには払出枚数を規定数に変更する処理が行われる。また、ステップS406の内部抽選処理により決定した入賞図柄以外の図柄が有効ライン上に停止した場合には、エラーとして認識する。
ステップS410において、認識した入賞図柄、入賞図柄が揃っていた有効ライン及びエラーが発生した場合にはエラーをそれぞれ入賞図柄コマンド、入賞ラインコマンド及びエラーコマンドとしてRAM54に格納する。
次いで、ステップS411に進み、ステップS410において設定された払出枚数に基づき獲得したコインの払い出しが行われる。ステップS410において払出枚数が0枚である場合、ステップS411は行われることなく次のステップにスキップされる。
クレジット精算ボタン35の操作により貯留モードとなっている場合には、スロットマシン1のクレジット機能により、RAM54のコイン数記憶エリア54aに50枚になるまで電子的に蓄積していき(クレジット枚数表示部26に表示されている数値に1ずつ加算されて表示される)、50枚を超えた時点でホッパ14からコインを払い出す処理を行う。一方、支払モードとなっている場合には、本ステップにおいて認識した払出枚数分のコインがホッパ14から払い出される。
本ステップにおいて、獲得コインの払出にかかる払い出し開始コマンドと獲得した全てのコインの払い出し終了にかかる払出終了コマンドがそれぞれ払い出し種別コマンドとしてRAM54に格納される。
そして、ステップS412に進んでステップS410の入賞図柄判定処理にて設定した入賞図柄について再遊技にかかる入賞図柄であるのかどうかを判定する。入賞図柄が再遊技でない場合には本ステップが行われることなくスキップされる。一方、入賞図柄として再遊技が設定されている場合、内部状態を再遊技に設定する等の必要な設定を行い、遊技状態が再遊技である状態コマンドをRAM54に格納する。
現在の内部状態がBB又はRB中である場合、ステップS413に進んで役物作動中の処理を行う。BB中である場合、BB中の獲得することができるコインの上限の枚数等のチェックを行い、RB中である場合、RBの回数等のチェックを行う。これらのチェックを行うと、内部状態の変更、外部集中端子板67の出力情報の変更等を行う。
そして、本ステップがBB中であり、このBB終了と判断した場合には、特別遊技制御終了コマンドをRAM54に格納にした後、終了ディレイの処理、外部集中端子板67の出力情報クリア処理、打ち止め/自動精算処理(後述するBB自動精算)を行い、BB用に使用されたRAM54の領域をクリアして本ステップを終了する。
ステップS410の入賞判定処理で設定した入賞図柄がBB又はRBである場合には、ステップS414に進んで役物作動判定処理を行う。本ステップにおいて、入賞図柄がBBである場合、BB開始時のウエイト処理、RAM54の初期化処理、BB中に獲得でいるコインの枚数の設定処理、外部集中端子板67の出力情報の変更処理、RB開始処理等のBBを開始するに当たり必要な処理を行う。一方、RBである場合、RB最大ゲーム数コマンド、RBゲーム数コマンドをRAM54に格納する。
そして、内部状態がBB中やRB中の場合には、ステップS415に進んでゲーム数表示設定処理を行う。具体的には、ステップS413又はステップS414においてチェックしたゲーム数をBB中枚数表示部27に表示させる所定の処理を行う。なお、内部状態がBB又はRB以外のときには、BB中枚数表示部27の表示がクリアされる。そして、遊技終了後に、内部状態が変化している(BB中又はRB中での変化等)場合には、状態コマンドをRAM54に格納する。
以上説明したルーチンを終了すると、再びステップS403に戻って本ルーチンが繰り返し行われる。
次に、図10〜図14に示すフローチャートを参照して、サブ制御基板60で行われる各処理について説明する。サブ制御基板60で行われる処理として、所定周期毎に行われるタイマ割込処理と、メイン制御基板50からコマンドデータが送信されてきたときに行われるコマンド割込処理と、停電処理と、サブ制御基板60で主として行われるメイン処理が設定されている。以下の説明において、便宜上、タイマ割込処理、コマンド割込処理及び停電処理について説明し、その後にメイン処理について説明する。
図10は、サブ制御基板60のMPU61により定期的(本実施の形態において1.0ms毎)に行われるタイマ割込処理の一例を示すフローチャートである。タイマ割込処理は、サブ制御基板60において周期的に実行することによりRAM64に割込回数を蓄積して、MPU61により実行されるメイン処理でのタイマ処理(1msタイマ処理)に用いている(図13参照乞う)。
タイマ割込処理が開始されると、まずステップS501において、割込フラグの読み込みを行う。この処理は、本ルーチンの最後に読み込んだ割込フラグをクリアするために行われるものである。ステップS501において割込フラグが読み込まれると、ステップS502に進み、読み込まれた割込フラグが有効なフラグであるかどうかの確認がなされる。割込フラグが有効でない場合(ステップS502においてNo)、以下に説明する処理が行われることなく本ルーチンは終了する。
一方、割込フラグが有効である場合(ステップS502においてYes)、ステップS503に進んで、割込タイマカウンタに「+1」が加算されて、カウンタの値が更新される。割込タイマカウンタの値が更新されると、ステップS504に進み、次回の割込が行えるように割込フラグがクリアされて、タイマ割込処理を終了する。本ルーチンでは、1.0ms毎に割込があると、割込タイマカウンタのカウント数を単に「+1」ずつ加算していき、減算されない限り割込タイマカウンタの更新値はクリアされないように構成されている。
図11は、メイン制御基板50からコマンドが送信されてきた場合に行われるコマンド割込処理の一例を示すフローチャートである。上述のように、サブ制御基板60は、メイン制御基板50から送信されてくるコマンドに基づき上部ランプ21、スピーカ22等を制御するように構成され、メイン制御基板50に対して所定のコマンドを送信できないことから、メイン制御基板50からのコマンドを確実に受信する必要がある。このような理由から、本ルーチンは、サブ制御基板60においてメイン制御基板50から送信されてきたコマンドを確実に受信するために設けられた制御処理であり、サブ制御基板60において行われる制御処理の中でも優先順位が高く設定されている。
まずステップS601において、受信したストローブが正常であるかどうかのチェックが行われる。本実施の形態においてメイン制御基板50から送信される1のコマンドは2バイトで構成されていることから、1のコマンドの先の1バイト目が送信されてきたのかを確認する。これにより、例えばクレジット精算ボタン35等の操作時に発生するチャタリング等のノイズに基づいて本ルーチンによる処理が行われるを防止することができる。
受信したストローブが正常である場合(ステップS601においてYes)、ステップS602において、送信されてきたコマンドの先頭の1バイトを取得する。そして、ステップS603に進んで、取得したコマンドデータが正常であるかどうかを判断する。
取得したコマンドデータが正常である場合(ステップS603においてYes)、ステップS604に進んで、取得したコマンドデータについて実際にコマンドを受信するコマンド受信処理が行われる。具体的には、コマンドデータの先頭の1バイト目を受信しているので、次の1バイトを受信してRAM64の所定のエリアに格納する。上述のように、メイン制御基板50から送信されてきたコマンドデータを確実に受信する必要があるので、コマンドデータが正常であると判定されたときには、確実に取り込み保持してMPU61により行われるメインの処理(図14参照乞う)でコマンドデータの解析を行うことができるようにする。
例えば本実施の形態において、メイン制御基板50側から送信されたクレジット精算ボタン35の操作にかかるコマンド、そのクレジット精算ボタン35の操作に基づく精算排出開始コマンド、貯留コインの排出の終了にかかる精算排出終了コマンド、コイン排出コマンド等を本ルーチンによって受信する。なお、本ルーチンでは、メイン制御基板50から送信されてきたコマンドは、RAM64の所定ワークエリアに格納されるだけである。
ステップS604においてコマンド受信処理が終了すると、ステップS605に進んで、リトライカウンタにリトライ最大数を設定する。ステップS604において本ルーチンの目的であるメイン制御基板50のコマンドデータを受信してサブ制御基板60のRAM64に格納したので、リトライの最大数をリトライカウンタに設定する。
一方、ストローブが正常でない場合(ステップS601においてNo)、上述のようにノイズ等に起因する信号である可能性が高いのでコマンドデータの取得処理を行わずに、ステップS606に進んでステップS605と同様にリトライカウンタにリトライ最大数をセットする。
また、コマンドデータの取得時にコマンドデータが異常であると判定した場合(ステップS603においてNo)、ステップS607に進んで、リトライカウンタに+1を加算して更新する。
ステップS605〜ステップS607の各々のステップでリトライカウンタの処理を行うと、ステップS608においてリトライカウンタの値が最大値であるかどうかを判定する。上述のように、ステップS605及びステップS606においては、リトライカウンタにリトライ最大数がセットされることから、以下に説明する処理に移行する。一方、ステップS607を経由して移行してきた場合には、リトライカウンタにリトライ最大数(最大値)がセットされていない場合もあるので、リトライカウンタの値を読み出すことによって最大値まで到達しているかどうかを判定する。
リトライカウンタの値が最大値である場合(ステップS608においてYes)、ステップS609に進み、割込フラグ読み込み処理により割込クリアのための読み込みを行い、次いでステップS610に進んで、リトライカウンタの値をクリアし、最後にステップS611で割込フラグをクリアする。
一方、リトライカウンタの値が最大値に到達していない場合(ステップS608においてNo)、ステップS609〜ステップS611までの処理を行うことなく本ルーチンを終了する。リトライカウンタの値が最大値でないことから、最大値となるまで本ルーチンを繰り返すことにより、メイン制御基板50からコマンドデータの取得を継続して行う。
図11に示したフローチャートに基づきコマンド割込処理を行うと、ステップS604におけるコマンドデータの受信処理に先立って、ステップS601の処理とステップS603の処理の2回に亘ってコマンドデータのチェックを行うことにより、ノイズを排除することができるので、メイン制御基板50から送信されたコマンドデータを確実に受けることができる。また、ステップS604において一度でコマンドデータを受信できなくても、リトライカウンタの値が最大値となるまで本ルーチンを繰り返すことによりコマンドデータの確実な受信を可能にしている。
図12は、図6に示したNMI割込処理により停電処理が開始されるのに同期してサブ制御基板60において行われる停電処理の一例を示したフローチャートである。
まずステップS701において、外部RAM書き込み処理が行われると、ステップS702に進んで、電圧が復帰しているかどうかを判定する。上述したように、停電監視回路は電源基板の電圧を監視しており、所定の電圧(22ボルト)未満となった場合に停電監視回路からサブ制御基板60のNMI端子に停電信号が送信されるので、所定の電圧以上に電圧が復帰したのかどうかを監視している。電圧が復帰しない場合(ステップS702においてNo)、電圧が復帰するまで待機する。なお、停電信号はNMI端子に代えて、INT端子に送信されるようにしても良い。
一方、電圧が復帰した場合(ステップS702においてYes)、ステップS703に進んで、30ms待機して、更にステップS704に進み電圧が復帰したのかどうかを判定する。なお、本ステップの待機時間は、30msに限らずに種々の時間を設定可能である。
ステップS704では、ステップS702での処理と同様に電圧が所定の電圧に復帰したのかどうかを判定している。電圧が所定の電圧に復帰していない場合(ステップS704においてNo)、ステップS702と同様に電圧が復帰するまで待機する。
一方、電圧が所定の電圧に復帰した場合(ステップS704においてYes)、ステップS705に進み、起動処理を行って、以下に説明するメイン処理に移行する。
図13は、サブ制御基板60のMPU61により行われるメイン処理の一例を示したフローチャートである。本ルーチンは、サブ制御基板60のMPU61により繰り返し行われる主要な制御処理であり、メイン制御基板50から送信されてきたコマンドを解析し、解析結果に基づいて上部ランプ21、スピーカ22等を制御するのに必要な設定を行う。
まずステップS801において、MPU61により初期化処理が行われる。例えば、MPU61から入出力ポート62を介して上部ランプ21の点灯にかかる信号が出力されたり、表示用制御基板66に液晶ディスプレイ23を表示させる信号を出力する。そして、ステップS802に進み、本ルーチンの主要な処理に先立ってスロットマシン1のシステム状態が電圧低下状態にあるのかどうかを判定する。
システム状態が電圧低下状態にある場合(ステップS802においてYes)、例えば電源スイッチ13bのオフ操作に基づきスロットマシン1が電源断となるべく処理が進行していると判断し、以下に説明するルーチンを行わず、図12のフローチャートで示した停電処理に移行する。
一方、システム状態が電圧低下状態でない場合(ステップS802においてNo)、ステップS803に進んで、割込タイマカウンタにカウント数が加算されているかどうかを判定する。図10に示したタイマ割込処理で説明したように、タイマ割込処理では1.0ms毎の周期で起動することによって割込タイマカウンタにカウント数が漸次加算されていることから、割込タイマカウンタのカウント数を読み出すことによって割込タイマカウンタが更新されているのかどうかを判定する。
割込タイマカウンタのカウント数が更新されている場合(ステップS803においてYes)、ステップS804に進んで、割込タイマカウンタのカウント数から「−1」を減算することによって、カウント数を更新する。そして、ステップS805において割込タイマカウンタから減算した1回分の1msの処理を1msタイマ処理として実行する。
ここで、1msタイマ処理について説明する。図14は、メイン処理の過程で行われる1msタイマ処理の一例を示したフローチャートである。
まずステップS901では、起動時コマンドチェック処理が行われる。例えば、電源スイッチ13bのオン操作によりスロットマシン1が起動された後にRAM54のデータが破壊されている等によってエラー表示がなされた場合(図8のステップS317)、メイン制御基板50のMPU51自身はエラー状態をサブ制御基板60に送信できず、また、サブ制御基板60側でも、メイン制御基板50からコマンドデータの送信がない旨のコマンドをメイン制御基板50に出力できない。従って、ステップS901では、所定時間、例えば2秒以内にメイン制御基板50からのコマンドを受信しない場合、サブ制御基板60のMPU61は、表示用制御基板66を通じて液晶ディスプレイ23にエラー表示を行ったり、外部集中端子板68を通じて遊技場のホールコンピュータにエラーの発生にかかる信号を送信したりする等して、エラーの発生を周囲に対して報知する制御を行う。
ステップS901において、起動時コマンドチェック処理により正常にコマンドの受信を認識すると、ステップS902に進んで、デバイス制御処理が行われる。具体的には、前回の1msタイマ処理において上部ランプ発光データ、報知音データ等の演出データの変更処理が行われた場合(後述のステップS907)、変更データに基づいて報知等が行えるように上部ランプ21、左右のスピーカ22等に変更データをセットする。例えば、MPU61によりROM63の報知音テーブルから音量を一段階大きくした内容の報知音データが読み出されて、スピーカ22の報知音出力コントローラ22aにセットされる。
ステップS902のデバイス制御処理が行われると、ステップS903に進み、システム状態変更処理が行われる。システム状態には、例えば、電圧低下状態、初期化状態(液晶ディスプレイ23の初期化待ち状態を含む)等が含まれ、システム状態が変更されたことによりサブ制御基板60上で必要な設定処理が行われる。
次いで、ステップS904に進み、本発明の特徴的構成の貯留コイン精算処理が行われる。詳細については後述するが、貯留コインの排出である場合、メイン制御基板50からのコマンドに基づいてサブ制御基板60のMPU61は排出されているコインの枚数が基準排出コイン数に到達したのか否かについて判断する。
そして、ステップS905に進み、電圧低下チェック処理によりスロットマシン1の電圧状態のチェックが行われると、ステップS906に進み、10msタイマ処理が行われる。10msタイマ処理では、例えば上部ランプ21のLEDの上部ランプ発光用テーブルを更新したり、上述のデバイス制御処理(ステップS902)の例示のように、変更された報知音データがセットされたら、報知音出力コントローラ22aによりスピーカ22の音量を実際に変更したりする処理が行われる。ここでは、10ms毎にタイマ処理を行うようにしているが、より長い周期毎に処理を行っても実際に行われるコイン排出報知制御に影響を与えないことから、例えば100ms程度のタイマ処理として行うようにしても良い。
ステップS906の10msタイマ処理が終了すると、ステップS907に進み、演出データ変更処理が行われる。ここでは、次回の1msタイマ処理において、スピーカ22の報知音を変更し、例えば、スピーカ22からの報知音を一段階大きくするような場合、当該報知音データに基づいて出力される報知音より一段階大きい報知音に関する報知音データをROM63の報知音テーブルから取り出して次回の1msタイマ処理で報知音出力コントローラ22aにセットできるように準備する。
このようにしてステップS901〜ステップS907までの一連の処理が行われると、本ルーチンは終了する。
図13のメイン処理の説明に戻り、ステップS805の1msタイマ処理が終了すると、ステップS806に進み、システム状態が電圧低下状態であるかどうかの判定がなされる。システム状態が電圧低下状態である場合(ステップS806においてYes)、ステップS802においてシステム状態が電圧低下状態であると判定したときと同様に停電処理に移行する。
一方、割込タイマカウンタにカウント数が加算されていない場合(ステップS803においてNo)及びシステム状態が電圧低下状態でない場合(ステップS806においてNo)、ステップS807に進んで、受信コマンドの有無を判定する。受信コマンドがない場合(ステップS807においてNo)、ステップS809に進んで乱数ベース値を加算することによって更新して、ステップS802に戻る。
一方、受信コマンドがある場合(ステップS807においてYes)、ステップS808に進み、受信コマンドチェック処理が行われ、メイン制御基板50から送信されてきたコマンドの解析が行われる。
本ルーチンの受信コマンドチェック処理によるコマンドの解析では、最初に受信コマンド別の処理が行われ、受信したコマンドの種別を認識する。上述のように、メイン制御基板50から送信されてきたコマンドは、サブ制御基板60のMPU61によるコマンド割込処理によってRAM64の所定のワークエリアに格納されていることから(図11参照乞う)、RAM64のワークエリアからコマンドの先頭の1バイト目を読み出し、コマンドの種別を認識する。本実施の形態において、例えば、どのようなコマンドに基づいてホッパ14からコインを支払うのかをサブ制御基板60のMPU61に認識させる払い出し種別情報が設定されている。
次に、コマンドの2バイト目を読み出し、払い出し種別情報に更にコマンドが設定されているのかを認識する。例えば、払い出し種別コマンドとして、貯留コイン排出コマンド、投入コイン排出コマンド、獲得コイン払い出しコマンド及び自動精算コマンドの4種類が設定されているので、この中のどのコマンドが送信されてきたのかを解析する。本実施の形態では、例えば、MPU61は貯留コイン排出コマンド(クレジット精算ボタン35の操作によりメイン制御基板50から送信されてくるコマンド)であると解析している。
ステップS808の受信コマンドチェック処理により、受信したコマンドの解析が終了すると、ステップS809で乱数ベース値の更新が行われて、ステップS802に戻る。
次に、図15〜図17に基づいて本発明の特徴的構成のコイン排出報知制御について説明する。図15は、払い出し種別情報コマンド処理の一例を示すフローチャート、図16は、排出枚数コマンド処理の一例を示すフローチャート、図17は、貯留コイン精算処理の一例を示すフローチャートである。コイン排出報知とは、コインの排出動作が開始されたことを報知する報知演出であり、クレジット精算ボタン35の操作に基づきホッパ14からコインが排出されている過程で上部ランプ21からの光の出力、スピーカ22からの効果音の出力等により行われる。コイン排出報知は、通常、スピーカ22からの効果音と上部ランプ21からの光の出力に基づいて行われるが、どちらか一方により行われるようにしても良い。
本発明では、コイン排出報知として2種類のコイン排出報知が設定されている。例えば、本発明のコイン排出報知は、一般的に行われる第1コイン排出報知と、スロットマシン1に対する不正行為によってコインが排出されている可能性が高い旨を報知する第2コイン排出報知とを有している。
図15に示す払い出し種別情報コマンド処理では、まずステップS1001において貯留コイン排出の開始であるのかどうかを判定する。
サブ制御基板60のMPU61は、入出力ポート62を介してコマンドを入力すると、コマンド割込処理を通じてコマンドをRAM64に格納し、メイン処理に基づいてコマンドの内容を解析する。本ルーチンにおいて、上述した精算排出開始コマンドを受信している場合、「貯留コイン排出開始」となる。
ステップS1001において、貯留コイン排出開始であると判断された場合(ステップS1001においてYes)、報知制御プログラムに基づきステップS1002にて、本発明の第1コイン排出報知が開始され、1msタイマ処理(図14参照乞う)に基づき報知音出力コントローラ22aに設定された報知音がスピーカ22を通じて再生され、ステップS1003にて発光制御コントローラ21aに設定された上部ランプ発光データに基づき上部ランプ21が点灯される。報知音出力コントローラ22aに設定される報知音は、コインが実際に払い出されるときに従来から出力していた一般的な報知音であり、例えば、遊技者、その遊技者の近くで遊技を行っている者等の当該スロットマシン1から近距離にいる者が認識できる程度の音量でスピーカ22から出力される。また、発光制御コントローラ21aに設定されている上部ランプ発光データは、通常の点灯又は所定間隔での点滅となるように形成されている。
次に、ステップS1004において、受信した精算排出開始コマンドがBB終了後の最初の精算排出開始コマンドであるのかどうかについて判断する。具体的には、MPU61は、ステップS808の受信コマンドチェック処理において受信した特別遊技制御終了コマンドと精算排出開始コマンドに基づいて判定する。すなわち、MPU61は、当該精算排出開始コマンドを受信したときに直前の特別遊技制御終了コマンドとの間に精算排出開始コマンドを受信していないかどうかをチェックする。
ステップS1004において、BB終了後の最初の精算排出開始コマンドである場合(Yes)、貯留コイン排出終了であるかを判定すべくステップS1006にスキップする。なお、BB終了後の最初の精算排出開始コマンドである場合、上述の第1コイン排出報知を継続して行う。
一方、BB終了後の最初の精算排出開始コマンドでない場合(No)、ステップS1005にて貯留コイン排出フラグがオンにセットされる。そして、コインの排出に伴い、サブ制御基板60のMPU61では、排出コイン数カウントプログラムを起動し、RAM64の所定エリアに一時的に格納したコイン排出コマンドに基づいて排出コイン数カウンタ65により排出コイン数をカウントし、RAM64の排出コイン数記憶エリア64aに格納している。具体的には図16のフローチャートに示すように、MPU61は、コイン排出コマンドを受信する毎に排出コイン数カウンタ65に「+1」を加算して排出コイン数記憶エリア64aに格納し、以後、コイン排出コマンドを受信する毎に順次「+1」ずつ加算していく。
また、サブ制御基板60のMPU61は、図16に示した排出枚数コマンド処理に加えて、図17のフローチャートに示す本発明の特徴的構成の貯留コイン精算処理(ステップS904)を行っている。
まずステップS1201において、貯留コイン排出フラグがオンにセットされているかどうかを判定する(ステップS1005)。これにより、MPU61は、メイン制御基板50側においてコイン数記憶エリア54aに記憶させた枚数分のコインをクレジット精算ボタン35の操作に基づき実際に排出されているものと認識し、以下に説明する各ステップに基づく処理を行う。従って、貯留コイン排出フラグがオンにセットされていない場合(ステップS1201においてNo)、本ルーチンは行われることなく終了する。
一方、貯留コイン排出フラグがオンにセットされている場合(ステップS1201においてYes)、ステップS1202に進み、MPU61は、排出コイン数判定プログラム63aに基づき排出コイン数が所定の閾値に到達したのかを判定する。具体的には、サブ制御基板60のMPU61は、上述のようにRAM64の排出コイン数記憶エリア64aに格納されているカウント数を読み出して、ROM63に格納されている基準排出コイン数との対比を行う。
基準排出コイン数とは、ホッパ14から実際に排出されているコインMの枚数に応じてコイン排出報知を変化させる契機となる予め設定された閾値であり、4枚以上49枚以下の範囲の中で設定され、例えば、本実施において30枚に設定されている。基準排出コイン数に50枚目を含めないのは、50枚目は電子的に記憶可能な最大値であることから、排出枚数が50枚目に到達したときにはコインの排出が終了し、コイン排出報知を行うことができないからである。
従来課題となっていたセレクタ40に対するセレクタゴトは、周囲に知られないように効率よくコインを入手しようとして行われるので、1回の不正行為でメイン制御基板50のMPU51に50枚分のコイン数を認識させ、その50枚分のコインをクレジット精算ボタン35の操作によって実際に排出させるのが一般的である。従って、基準排出コイン数は、4枚以上49枚以下の比較的広範囲内で設定可能ではあるものの、上述した事情に鑑みて30〜40枚の範囲の比較的大きな枚数に設定するのが好ましい。
排出コイン数判定プログラム63bに基づいてMPU61により読み出されたカウント数が基準排出コイン数に到達した場合(ステップS1202においてYes)、ステップS1203に進み、本発明の第2コイン排出報知が開始される。
具体的には、MPU61は、報知制御プログラム63bを起動させて、1msタイマ処理(図14参照乞う)の中で、ROM63の報知音テーブルから読み出して第2コイン排出報知にかかる報知音データを準備し(ステップS907)、次回の1msタイマ処理にて実際に報知音出力コントローラ22aに第2コイン排出報知かかる報知音データをセットし(ステップS902)、セットした報知音データに基づいて実際にスピーカ22から報知音を出力する(ステップS906)ように制御する。
例えば、基準排出コイン数を30枚に設定した場合、30枚目のコインが排出されるときにスピーカ22から第1コイン排出報知に基づき出力されていた音量より大音量で且つ遊技場の所定位置に配置された係員までが認識可能な程度の音量にてスピーカ22から報知音を出力するように報知音出力コントローラ22aに報知音データを設定する。また、1回だけ音量を大きくするのではなく、例えば、30枚目以降の排出が継続されて39枚目に到達した時点で40枚目のコインが排出されるときから30枚目から39枚目の間に出力された音量より更に大音量にて報知音を出力するように報知音出力コントローラ22aに報知音データを設定しても良い。
また、排出枚数が30枚目に到達した後は、時間の経過に従ってスピーカ22から出力される報知音の音量を漸次大きくなるように報知音出力コントローラ22aに報知音データを設定して第2コイン排出報知を行っても良い。いずれにしても、基準排出コイン数以上のコインが排出されるときに、排出される枚数が多くなるに従って報知音が段階的に大音量となるのが好ましい。
そして、排出コイン数カウンタ65のカウント数が基準排出コイン数に到達した時点で、単に音量を大きくするだけでなく、報知音の種類を変えてスピーカ22から出力するように報知音データを報知音出力コントローラ22aに設定しても良い。この場合には、サイレン音等の緊急を報知するような報知音によって第2コイン排出報知が行われるのが好ましい。
或いは、コインの排出が開始されると、上部ランプ21のLEDの点灯等が行われるので(ステップS1003)、上記のように例示した第2コイン排出報知に基づくスピーカ22からの報知音の出力に対応して、第2コイン排出報知に基づく上部ランプ21のLEDの発光制御を開始するようにしても良い。例えば、点灯している上部ランプ21を、第2コイン排出報知の開始に伴い短い間隔で点滅させるような上部ランプ発光データを選択して発光制御コントローラ21aに設定して発光制御するようにしても良い。
第2コイン排出報知に基づく上部ランプ21の発光制御を開始する場合でも、図14の1msタイマ処理において、上部ランプ21の上部ランプ発光データを変更し(ステップS907)、次回の1msタイマ処理において上部ランプ21の発光制御コントローラ21aに変更データをセットし(ステップS902)、変更データに基づいて実際に上部ランプ21のLEDの発光制御を切り替える(ステップS906)。
そして、上部ランプ21、スピーカ22等においてコイン排出報知を変化させる他に、第2コイン排出報知が開始された時点で、サブ制御基板60の外部集中端子板68を介してスロットマシン1を管理する遊技場のホールコンピュータに不正報知信号を出力するするようにしても良い。遊技場の管理者は、ホールコンピュータを通じて不正行為の行われたスロットマシンを特定することができるので、不正行為の特定のための体制を整えることができる。例えば、遊技場の係員を派遣したり、遊技場に設置されている防犯カメラによる撮影を開始したりする。
それから、第2コイン排出報知を開始するときには、第1コイン排出報知を中断することなくそのまま継続して行うようにしても良い。即ち、第1コイン排出報知に基づくスピーカ22からの報知音の出力と第2コイン排出報知に基づくスピーカ22からの報知音の出力が同時に行われるようにしても良い。従って、本発明で「第2コイン排出報知を開始する」とは、第1コイン排出報知から第2コイン排出報知に切り替え、第2コイン排出報知だけを開始する場合と、第1コイン排出報知を中断することなく継続して行いつつ第2コイン排出報知を開始する場合の両方が含まれる。
このように、ステップS1203において報知音出力コントローラ22aに設定するデータを変更し、その変更データに基づいてコイン排出報知が行われると本ルーチンを終了する。
図15の払い出し種別情報コマンド処理の説明に戻り、ステップS1005にて貯留コイン排出フラグをオンにセットするか、又は貯留コイン排出の開始ではない場合(ステップS1001においてNo)、ステップS1006に進んで、貯留コイン排出が終了したのかどうかを判定する。
ここで、サブ制御基板60側での具体的な説明の前にメイン制御基板50側で行われている処理について説明する。本実施の形態において、クレジット精算ボタン35が操作されて実際にコインが排出される際には、ホッパ14のコイン検出センサ14cの検出信号が入力される毎にRAM54のコイン数記憶エリア54aに格納された数値を1ずつ減算している。そして、1ずつ減算する毎に、上述のように「コイン排出コマンド」をタイマ割込処理制御の中で送信している。このようにコイン数記憶エリア54aのコイン数を1ずつ減算していき、コイン数記憶エリア54aの値が「0」となると、MPU51は貯留コインの排出終了にかかるコマンド(精算排出終了コマンド)を入出力ポート52を介してサブ制御基板60に出力する(ステップS211)。
上述のようにして精算排出終了コマンドが出力されると、サブ制御基板60のMPU61は、入出力ポート62を介してコマンドを入力し、コマンド割込処理を通じてコマンドをRAM64に格納し、メイン処理に基づいてコマンドの内容を解析する。本ルーチンにおいて、MPU61による受信コマンドチェック処理(ステップS808)の中で上記の精算排出終了コマンドを受信した場合に「貯留コイン精算完了」となる。
ステップS1006において、精算排出終了コマンドを受信していない場合(ステップS1006においてNo)、貯留コイン排出の終了ではないと判断し、本ルーチンを終了し、最初に戻る。
一方、精算排出終了コマンドを受信した場合、コインの排出が終了したものと判断し(ステップS1006においてYes)、排出コイン数カウンタ65による排出コイン数のカウントを終了して排出コイン数記憶エリア64aのデータをクリアし、ステップS1007に進んで、MPU61は報知音を停止させるように報知音出力コントローラ22aにコマンドを出力して第2コイン排出報知に基づく報知音の出力を中止させる。また、ステップS1008に進んで、1msタイマ処理の中でスピーカ22の報知音出力コントローラ22aにセットされている報知音データを第1コイン排出報知にかかる報知音データに変更する。そして、ステップS1009に進んで、上部ランプ21のLEDを消灯し、上部ランプ21のLEDの発光データについても第1コイン排出報知にかかる発光データに変更する。
ステップS1006においてコインの排出が終了したものと判断した場合、第2コイン排出報知を終了せず、直ちにステップS1007からステップS1009の各段階に移行しないようにしても良い。
例えば、排出された枚数が31枚程度の基準排出コイン数に近い枚数であったとき、ステップS1006の後に直ちにステップS1007からステップS1009の各段階に移行するように構成とすると、第2コイン排出報知が短時間しか行われないことも考えられる。このような場合、コインの排出の際にセレクタゴトの報知にかかる第2コイン排出報知が短時間しか行われないので、遊技場の管理者が不正行為を確実に特定できない場合がある。これにより、第2コイン排出報知が開始された後、コインが排出されているのかどうかに関係なく、例えば30秒程度に亘って第2コイン排出報知を継続して行うことができるようにしても良い。
従って、本発明において、第2コイン排出報知が開始されるときには、ROM63に予め設定されている基準コイン排出報知時間を読み出して、排出コイン数に関係なく基準コイン排出報知時間に亘って継続して第2コイン排出報知を行うようにするのが好ましい。本発明の基準コイン排出報知時間は、第2コイン排出報知を必ず行わなければならない報知時間であって、上述のように排出コイン数カウンタ65によりカウントされたカウント数が基準排出コイン数に近い値であったときに第2コイン排出報知が直ちに終了するのを防ぐ程度の長さに予め設定されている。基準コイン排出報知時間は、遊技場に配置された係員が第2コイン排出報知の行われているスロットマシンを認識できる程度の長さに設定されるのが好ましく、例えば、コインを50枚排出するのに必要な時間を設定したり、又は30秒程度の時間を設定する。このように、第2コイン排出報知を行う時間を基準コイン排出報知時間として予め設定すれば、第2コイン排出報知の開始後、排出されているコイン数に関係なく第2コイン排出報知が継続して行われるので、セレクタゴトの認識を確実に行うことができる。
それから、第2コイン排出報知が開始された後にコイン排出報知強制終了コマンドを受信したときには、第2コイン排出報知を終了することなく継続して行うようにする。これにより、セレクタゴトを確実に報知することができる。
そして、ステップS1007からステップS1009の各段階後、ステップS1010に進んで、貯留コイン排出フラグをオフにセットして本ルーチンを終了する。
以上説明したスロットマシン1によれば、セレクタゴトによりRAM54のコイン数記憶エリア54aに記憶させた枚数分のコインをクレジット精算ボタン35の操作に基づいて排出するときに、メイン制御基板50から送信されてくるコイン排出コマンドの回数を排出コイン数カウンタ65がカウントとし、サブ制御基板60のMPU61は、カウント数を基準排出コイン数と対比している。サブ制御基板60のMPU61は、カウント数が基準排出コイン数に到達すると上部ランプ21、スピーカ22において第2コイン排出報知が開始されるように発光制御コントローラ21a、報知音出力コントローラ22aを制御する。これにより、遊技場の管理者は、上部ランプ21、スピーカ22において行われている第2コイン排出報知を通じてセレクタゴトを認識することができる。
このように遊技場の管理者が第2コイン排出報知を通じてセレクタゴトを確認できるのは、基準排出コイン数を超えてコインの排出が行われるのは、セレクタゴトに基づきにコインを排出する場合だけだからである。例えば、セレクタゴトによるコインの排出の他に多数のコインが支払われる場合として、一般役(上述の小役と称されている入賞役)より多数のコインを獲得可能な入賞役(上述のBB又はRB)に当選して獲得したコインが実際に払い出される場合が考えられる。
しかし、そのような入賞役に当選した場合は、獲得したコインを払い出すことなくそのまま遊技を継続して行うのが一般的であり、クレジット精算ボタン35の操作によってコインの排出が行われたとしても極めて稀である。従って、本発明の場合、上述したように多数のコインを獲得可能な入賞役、特にBB後の最初のクレジット精算ボタン35の操作に基づきコインの排出が行われるときには、第2コイン排出報知を開始するのかの判定を行わないようにしている。
また、サブ制御基板60のMPU61は、メイン制御基板50から送信されてくるコマンド(払出開始コマンド、払出終了コマンド)に基づきクレジット精算ボタン35の操作によるコインの排出であるのか、獲得したコインの払い出しであるのかを区別している。従って、サブ制御基板60のMPU61は、入賞役に当選して獲得したコインを払い出す過程で基準排出コイン数に到達しても第2コイン排出報知を開始しないように上部ランプ21の発光制御及びスピーカ22の報知音の出力制御を行っている。
セレクタゴトは、周囲に知られないように可能な限り効率よく多数のコインを入手しようとして行われるのが一般的である。本実施の形態のスロットマシン1の場合、例えば、発光体を用いてRAM54のコイン数記憶エリア54aにおいて記憶可能な50枚をMPU51に認識させ、クレジット精算ボタン35の操作により実際にコインを入手する行為が繰り返し行われる。これにより、セレクタゴトによりコインを入手しようとする場合、通常、基準排出コイン数を超えてコインの排出が行われる。
従って、セレクタゴトに基づきMPU51に認識させたコインが排出される度に第1コイン排出報知と異なる報知形態の第2コイン排出報知が開始されて周囲に認識されることになるので、繰り返し行われるようなセレクタゴトに対する抑止力となり、セレクタゴトを防止することができる。
また、第2コイン排出報知が開始されると、第2コイン排出報知は基準コイン排出報知時間に亘って継続して行われることから、遊技場の管理者はセレクタ40に対する不正行為を確実に特定することができる。
そして、第2コイン排出報知は、スピーカ22から出力される報知音が第1コイン排出報知に基づき出力されるときと異なる報知音をもって出力されるように行われ、このような報知音を通じて不正行為が特定されることから、セレクタ40に対する不正行為の抑止力効果を更に高めることができる。このとき、スピーカ22から報知を出力することに加えて、上部ランプ21のLEDの発光制御を第2コイン排出報知に基づいて行われるように開始することにより、セレクタ40に対する不正行為を更に容易に特定することができる。
それから、第2コイン排出報知の開始に伴って、外部集中端子板68を介して管理用端末機(ホールコンピュータ)へ不正報知信号を出力することにより、遊技場の管理者は、セレクタ40に対して不正行為に行われたスロットマシンを特定することができるので、不正行為を早期に認識して、その後の対応を迅速に行うことができる。
更に、クレジット精算ボタン35の操作によりコイン数記憶エリア54aに記憶させた枚数分のコインを排出する場合、メイン制御基板50側では、従来通りにコインの排出に関する制御処理のみを行い、サブ制御基板60側において、メイン制御基板50から送信されてきたコマンドに基づいて第2コイン排出報知を開始するのかどうかについて判定していることから、メイン制御基板50側の負担を増大させることなく本発明の作用を奏することができる。なお、第2コイン排出報知を開始するかどうかの判定は、メイン制御基板50側において行うようにしても良い。
(第2実施の形態)
第2実施の形態を図18〜図21に基づいて説明する。なお、第1実施の形態と同様の構成については、同様の符号を付すことにより詳細を省略し、異なる部分について主に説明する。
図18は、第2実施の形態におけるメイン制御基板80の構成を説明するブロック図、図19は、サブ制御基板90の構成を説明するブロック図である。なお、図20及び図21に示されたフローチャートのプログラムは、制御プログラムの一部としてROM93内に記憶されている。
例えば、第1実施の形態において、サブ制御基板60のMPU61には排出コイン数カウンタ65が搭載され、排出コイン数カウンタ65のカウント数に基づいて第2コイン排出報知を開始していたのに対し、第2実施の形態では、本発明の経過時間計測部を形成する経過時間計測タイマ95をサブ制御基板90に搭載している。そして、経過時間計測タイマ95は、メイン制御基板80から送信されてくる精算排出開始コマンドを受信してから精算排出終了コマンドを受信するまでに経過した時間を計測し、MPU91は、経過時間と基準経過時間との対比に基づき第1実施の形態と同様に第2コイン排出報知を行うのかどうかを判断している。
上述したように、クレジット精算ボタン35の操作をメイン制御基板80のMPU81が認識すると、精算排出開始コマンドをサブ制御基板90に送信するように構成されている。経過時間計測タイマ95は、ROM93に格納されている経過時間計測プログラムに基づき精算排出開始コマンドを受信してからの経過時間を計測し、精算排出終了コマンドを受信すると計測を終了するタイマである。
なお、本発明の経過時間計測部は、経過時間計測タイマ95をサブ制御基板90のMPU91に搭載することによって構成されているが、このような構成に限定されるものではない。例えば、所定周期毎に行われているタイマ割込処理の中で、MPU91によりタイマ割込処理の回数によって精算排出開始コマンドを受信してからの経過時間を計測するようにしても良い。このようにソフトウエア的に経過時間計測部を形成することにより、ハードウエア的に新たな構成要素を追加しなくても、通常行われる処理に基づいて経過時間を計測可能となるので、メイン制御基板90の小型化を図ることができる。
次に、図20及び図21に基づいてコイン排出報知を伴うホッパ14からのコインの排出について説明する。図20は、払い出し種別情報コマンド処理の一例を示すフローチャート、図21は、貯留コイン精算処理の一例を示すフローチャートである。なお、図20の払い出し種別情報コマンド処理は、第1実施の形態の払い出し種別情報コマンド処理と同様の処理が行われるので、詳細な説明については省略する。
図20の払い出し種別情報コマンド処理により、メイン制御基板80から送信されてきた「貯留コイン排出」コマンド(精算排出開始コマンド)を受信すると、ステップS1301において貯留コインの排出が開始されたのかどうかを判定する。貯留コインの排出と判定された場合(ステップS1301においてYes)、経過時間計測タイマ95による経過時間の計測が開始され、ステップS1302及びステップS1303において、報知制御プログラム93bに基づき第1コイン排出報知が開始される。
そして、ステップS1304に進み、第1実施の形態と同様にBB終了後の最初の精算排出開始コマンドであるのがどうかを判定する。BB終了後の最初の精算排出開始コマンドである場合(ステップS1304においてYes)、第1実施の形態と同様に第1コイン排出報知が継続され、ステップS1305の処理を行うことなくステップS1306までスキップし、貯留コイン排出フラグがオンにセットされる。
一方、BB終了後の最初の精算排出開始コマンドでない場合(ステップS1304においてNo)、経過時間計測タイマ95による計測を継続し、ステップS1304において、貯留コイン排出フラグがオンにセットされる。
このとき、サブ制御基板90のMPU91は、図21のフローチャートに示した貯留コイン精算処理を行っている。まず、ステップS1401において、貯留コイン排出フラグがオンにセットされているかどうかを判定する。貯留コイン排出フラグがオンにセットされていない場合(ステップS1401においてNo)、本ルーチンは行われることなく終了する。
一方、貯留コイン排出フラグがオンにセットされている場合(ステップS1401においてYes)、ステップS1402に進み、精算排出開始コマンドを受信してから経過した経過時間が予め設定された基準経過時間に到達したのかどうかの判定が行われる。具体的には、サブ制御基板90のMPU91は、RAM94の経過時間記憶エリア94aに格納された計測値(経過時間)を読み出して、ROM93に予め格納されている基準経過時間との対比を行う。
ここで、基準経過時間とは、ホッパ14からコインの排出が開始されたときに経過する経過時間に応じてコイン排出報知を変化させる契機となる閾値であり、4枚以上49枚以下の中で所定枚数のコインが排出されるのに要する時間に設定され、例えば、本実施の形態において30枚のコインを排出するのに要する経過時間を基準経過時間として設定している。
そして、MPU91によって読み出された経過時間が基準経過時間に到達した場合(ステップS1402においてYes)、ステップS1403に進み、報知制御プログラム93bに基づき第2コイン排出報知を開始する制御処理が行われる。具体的には、第1実施の形態におけるステップS1203の処理と同様の処理が行われ、例えばスピーカ22からの報知音が大音量にて出力されるように報知音出力コントローラ22aに報知音データが設定される。
本実施の形態においても、第2コイン排出報知が開始され、時間が経過するに従って、スピーカ22から出力される報知音の音量を漸次大きくするのが好ましい。また、報知音の音量を変更するのではなく、報知音の種類を変更するようにしても良い。なお、第1実施の形態と同様に、第2コイン排出報知が開始されたときに、第1コイン排出報知をそのまま継続して行うようにしても良い。
それから、第2コイン排出報知を周囲に確実に認識させる必要があることから、第1実施の形態と同様に、第2コイン排出報知は、精算排出終了コマンドを受信してから基準コイン排出報知時間に亘って行われるようにしても良い。これにより、計測時間が基準計測時間に近い時間として得られた場合であっても、経過時間の計測後すぐに第2コイン排出報知は終了することなく継続して行われる。
また、第2コイン排出報知の開始後は、例えばコイン投入口34からのコインの投入等によりRAM84のコイン数記憶エリア84aでのコイン数の蓄積が開始された場合であっても中断されることなく継続して行われるようにしても良い。これにより、セレクタゴトの発生を周囲に対して確実に報知することができる。
そして、第1実施の形態と同様に報知音を変化させるだけでなく、上部ランプ21の発光手法を変えたり、外部集中端子板98を介して遊技場のホールコンピュータに不正報知信号を出力するようにしても良い。
図20の払い出し種別情報コマンド処理の説明に戻り、ステップS1305にて貯留コイン排出フラグをオンにセットするか、又は貯留コイン排出の開始ではない場合(ステップS1301においてNo)、ステップS1306に進んで、貯留コイン排出が終了したのかどうかを判定する。貯留コインの排出の終了か否かは、第1実施の形態と同様に精算排出終了コマンドをサブ制御基板90側において受信したのかどうかに基づき判断される。貯留コイン排出の終了ではないと判断した場合(ステップS1306においてNo)、本ルーチンを終了して、ステップS1301に戻る。
一方、貯留コイン排出が終了したと判断した場合(ステップS1306においてYes)、ステップS1307に進んで、経過時間計測タイマ95による経過時間の計測を終了して経過時間記憶エリア94aをクリアし、MPU91は第2コイン排出報知に基づく報知音の出力を停止させるように報知音出力コントローラ22aにコマンドを出力する。また、ステップS1308に進んで、1msタイマ処理の中でスピーカ22の報知音出力コントローラ22aにセットされている報知音データを第1コイン排出報知にかかる報知音データに変更する。そして、ステップS1309に進んで、上部ランプ21のLEDを消灯し、上部ランプ21を形成するLEDの発光データについても第1コイン排出報知にかかる発光データに変更する。
そして、ステップS1307からステップS1309の後、ステップS1310に進んで、コインが払い出されないようにするために貯留コイン排出フラグをオフにセットして本ルーチンを終了する。
以上説明した第2実施の形態のスロットマシン1によると、第2コイン排出報知を開始するかどうかの判定は、メイン制御基板80から送信されてくる精算排出開始コマンドを受信してから経過した時間をサブ制御基板90側で計測し、経過時間を基準経過時間と対比することにより行われている。これによれば、メイン制御基板80側ではコインの排出開始にかかる精算排出開始コマンドだけを送信することから、メイン制御基板80の負担の軽減を図ることができる。また、サブ制御基板90側においては、メイン制御基板80から送信されてきたコマンドを受信してから経過した時間だけを測定するだけでよいことから、簡単な制御処理で第2コイン排出報知の開始判断を行うことができる。