以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付している。
[第1実施の形態]
以下、本発明の特徴的な種類情報であるセレクタIDライン等の情報(2値論理信号、多値信号)の設定方法及び各種アルゴリズムを図15〜図43を参照しながら説明するが、最初に本発明に係る遊技機(スロットマシン)1の全体の構成等について図1〜図14に基づき説明する。
図1は、遊技機1の前面扉3が閉じた状態を示す斜視図、図2は、遊技機1の前面扉3を開いた状態を示した斜視図である。遊技機1は、図1に示すように、筐体2と前面扉3とからなる正面視略矩形状の本体4を有している。
筐体2は、遊技機1の骨格をなす部材であり、図2に示すように、前面側が開放された箱形状を有している。筐体2の内部には、各種の図柄等が表示される複数個の回転ドラム11と、遊技機1の主な遊技動作を制御するメイン制御基板50(図4を参照)等を収納した制御基板収納ボックス12と、電源スイッチ13a、リセットスイッチ13b、設定キースイッチ13c等を備える電源ボックス13と、ホッパ14等が収容されている。ホッパ14は、遊技価値媒体であるメダルMを貯留する補助タンク14a、補助タンク14a内のメダルMを排出用通路9からメダル排出口7に払い出す支払装置14bと、ホッパ駆動モータ(図示せず)と、を備える。さらに、支払装置14b内には、支払装置14bから支払われるメダルを検出するメダル検出部が設けられている。
支払装置14b内に設けられたメダル検出部は、一対の投光部と受光部(それぞれ図示せず)を有するフォトインタラプタによって構成されており、本実施の形態においてメダル検出センサ1(14c)及びメダル検出センサ2(14d)を備えている(図4、図22等を参照し後述)。メダル検出センサ1(14c)及びメダル検出センサ2(14d)は、受光時には「Hi(オフ)」信号、遮光時には「Lo(オン)」信号を出力するように設定されている(アクティブ・ロー(負論理)、図24を参照し後述)。メダル検出センサ1(14c)は、支払装置14b内に設けられたメダル検出部のメダル通過上流に設置されており、メダルの排出を検知する。メダル検出センサ2(14d)は、支払装置14b内に設けられたメダル検出部のメダル通過下流で、支払装置14bの出口近傍に設置されており、外部からの物の挿入の不正を検知する。
前面扉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を動作させるためのソレノイド(図16等参照し後述)とを備えており、ソレノイド非励磁時にはメダル案内通路部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は受光時、すなわちメダルが受光部の受光を遮らないときには「Hi(オフ)」信号、メダルが受光部の受光を遮ったときには「Lo(オン)」信号を、出力するように設定されている(アクティブ・ロー(負論理)、図18を参照し後述)。
次に、制御基板収納ボックス12内に配設されている遊技機1のメイン制御基板50等について図4及び図5に基づいて説明する。図4は、遊技機1のメイン制御基板50の構成を説明するブロック図、図5は、遊技機1のサブ制御基板60の構成を説明するブロック図である。
メイン制御基板50は、遊技の主な制御処理を行い、演算装置である1チップマイコンとしてのMPU51と、そのMPU51に接続されると共にセンサ類やスイッチ類などの各種の入出力手段に接続された入出力ポート52が搭載され、本発明のメイン制御部を構成している。なお、MPU51やメインROM等は封印構造を持たせた基板ボックス内に収容されており、基板ボックス開封時には破壊等による開封の痕跡が残る構造となっている。
MPU51には、MPU51により実行されるメダル検出プログラム53a等の制御プログラムや固定値データを記憶したROM53と、そのROM53内に記憶される制御プログラムの実行にあたって各種のデータを一時的に記憶するためのメモリであるRAM54と、割込回路、タイマ回路、データ送受信回路等の各種回路等が内蔵されている。
メダル検出プログラム53aは、例えばクレジット精算ボタン35が操作されてメダルの排出が開始されたときに、ホッパ14のメダル検出センサ1(14c)から出力された検出信号に基づいてメダルの排出と認識して、メダル排出コマンドを生成するように構成されている。
RAM54は、クレジット精算ボタン35の操作により貯留モードとされたときに、セレクタ40の第1投入メダル通過検出センサ45a、第2投入メダル通過検出センサ45bから出力された検出信号に基づき認識したメダルの枚数及び入賞により獲得したメダルの枚数を予め設定された枚数、例えば50枚までの枚数を電子的に記憶し、メダル数記憶部を構成するメダル数記憶エリア54aを有している。そして、図6〜図9に示されたフローチャートのプログラムは、制御プログラムの一部としてROM53内に記憶されている。
入出力ポート52には、クレジット精算ボタン35、スタートレバー36、ストップボタン37、メダル検出センサ1(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内に記憶される制御プログラムの実行にあたって各種のデータ(例えば、クレジット精算ボタン35の操作に基づきメダルの排出が開始されてからメダルの排出が終了するまでの間にメイン制御部50から送信されてきたメダル排出コマンドに基づきメダルの排出枚数をカウントする排出メダル数カウンタ65、排出メダル数(排出メダル数カウンタ65によりカウントされたカウント数)を一時的に記憶するための排出メダル数記憶エリア64a)を有するRAM64と、割込回路、タイマ回路、データ送受信回路等の各種回路等が内蔵されている。図10〜図14に示されたフローチャートのプログラムは、制御プログラムの一部として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のメダル検出センサ1(14c)、セレクタ40の第1投入メダル通過検出センサ45a、第2投入メダル通過検出センサ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で実行される起動処理のフローチャートである。電源スイッチ13aがオン操作されて遊技機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に進んで、排出枚数表示部28にエラー表示を行ってバックアップエラーの発生を報知して、無限ループに入る。
図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は次のステップS405へ進まず本ルーチンでループ処理し待機する。ステップS404の処理では、スタートレバー36の操作が行われるまでルーチンがループしているので、種々の処理が行われる。
例えば、上述のようにスタートレバー36が操作されないことにより所定時間に亘って遊技が行われなかった場合、液晶ディスプレイ23上で行われるデモに移行するためのタイマ設定処理を行う。また、当該遊技が再遊技である場合、メダルの自動投入処理を行う(クレジット枚数表示部26に表示されている数値は変わらない)。一方、再遊技でない場合には、ホッパ14の横に設けられた満杯センサ(図示せず)からの検出信号に基づきメダルの満杯を判定する処理を行う。
タイマ割込処理の中でセンサ監視処理が行われており(ステップS208)、上述したようにホッパ14のメダル検出センサ1(14c)、セレクタ40の第1投入メダル通過検出センサ45aと第2投入メダル通過検出センサ45b、補助タンク14aの補助タンクセンサ等を監視していることから、これらのセンサで異常が発生した場合には、このような処理の後、エラー報知を行うためのセンサエラー報知処理を行う。
センサエラーが発生していないか、又は所定のセンサエラー報知処理を行った後、クレジット精算ボタン35が操作されたのかどうかの判断がなされる。クレジット精算ボタン35が操作されたものと判定した場合、メダルの排出開始にかかる精算排出開始コマンドを生成し、貯留メダルの排出を行うべく貯留メダル排出処理に移行する。
MPU51により行われる貯留メダル排出処理では、例えばRAM54のメダル数記憶エリア54aに電子的に記憶されているメダル数を読み出し、読み出した数値をホッパ14のメダル検出センサ1(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の操作が認識されると、メイン制御基板50に搭載された発振器の所定周期に基づきカウントするフリーランニングカウンタ(図示せず)のカウント数をハードウエア的にラッチし、ステップS405のタイミングで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バイト(コマンドID)を取得する。そして、ステップS603に進んで、取得したコマンドデータが正常であるかどうかを判断する。
取得したコマンドデータが正常である場合(ステップS603においてYes)、ステップS604に進んで、取得したコマンドデータについて実際にコマンドを受信するコマンド受信処理が行われる。具体的には、コマンドデータの先頭の1バイト目を受信しているので、次の1バイト(パラメータ)を受信してRAM64の所定のエリアに格納する。上述のように、メイン制御基板50から送信されてきたコマンドデータを確実に受信する必要があるので、コマンドデータが正常であると判定されたときには、確実に取り込み保持してMPU61により行われるメインの処理(図13参照)でコマンドデータの解析を行うことができるようにする。
例えば本実施の形態において、メイン制御基板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端子に停電信号が送信されるので、サブ制御基板60は所定の電圧以上に電圧が復帰したのかどうかを監視している。電圧が復帰しない場合(ステップ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のデータが破壊されている等によって排出枚数表示部28にエラー表示がなされた場合(図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は排出されているメダルの枚数が基準排出メダル数に到達したか否かについて判断する(特許文献1参照)。
そして、ステップ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バイト目(コマンドID)を読み出し、コマンドの種別を認識する。例えば、どのようなコマンドに基づいてホッパ14からメダルを支払うのかをサブ制御基板60のMPU61に認識させる払い出し種別情報が設定されている。
次に、コマンドの2バイト目(パラメータ)を読み出し、払い出し種別情報に更にコマンドが設定されているのかを認識する。例えば、払い出し種別情報コマンドとして、貯留メダル排出コマンド、投入メダル排出コマンド、獲得メダル払い出しコマンド及び自動精算コマンドの4種類が設定可能とされているので、この中のどのコマンドが送信されてきたのかを解析する。例えば、MPU61は貯留メダル排出コマンド(クレジット精算ボタン35の操作によりメイン制御基板50から送信されてくるコマンド)であると解析している。
ステップS808の受信コマンドチェック処理により、受信したコマンドの解析が終了すると、ステップS809で乱数ベース値の更新が行われて、ステップS802に戻る。
次に、図15〜図43を用いて、本発明の特徴であるセレクタIDライン又はホッパIDラインの情報の設定方法及び各種アルゴリズムについて説明する。なお、セレクタIDライン又はホッパIDラインの情報を単にセレクタID又はホッパIDと称する。これらのセレクタID又はホッパIDは種類情報であり、情報処理手段(MPU51、メイン制御プログラム等)にこれらの種類情報が入力される、言い換えれば情報処理手段がこれらの種類情報を取得するように構成されている。なお、本明細書において、以降で「従来」と記載された箇所は、本出願の出願人が製造販売したスロットマシンであるコードネームアスカ(商標)で実施の技術内容を指す。
第1実施の形態では、メダルセレクタがφ25用とφ30用の2種類だけの場合について述べる。基本的な概念は、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加し、その0/1状態で制御プログラムの処理を切り替えている。0/1状態とする方法は、追加した1本の配線をセレクタ側において、抵抗によりプルアップ又はプルダウンすることにより行う。
(セレクタIDの取得方法)
まず、セレクタID取得方法について説明する。図15は、メイン制御基板50の入出力ポート52のうち入力ポート2に入力される8ビット信号について示す図である。ここで、従来は未使用であったビット4へセレクタIDの論理0又は論理1の信号が入力されるように構成されている。他のビットは従来から使用されている信号である。後述するように、論理0は追加した1本の配線をセレクタ側において、抵抗によりプルアップすることにより得られ、論理1は追加した1本の配線をセレクタ側において、抵抗によりプルダウンすることにより得られる。論理0はφ25用メダルセレクタ、論理1はφ30用メダルセレクタに対応する。なお、MPU51の制御プログラムは、図15に示すように、入力ポートによってはアクティブ・ロー(負論理)に構成されており、この場合論理0を入力するとオン状態として処理する。例えば、この論理によって、あるスイッチについて、正常時はクローズしており論理1(オフ状態)であるが、不正等でそのスイッチがオープンとなると論理0(オン状態)が検知され、当該不正が検知可能である。
図16は、メイン制御基板50とφ25用メダルセレクタ102とを電気的に接続するハーネスの物理的な構成についての説明図である。図17は、メイン制御基板50とφ30用メダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。各図中、+5Vは、電源基板70からメイン制御基板50を介して供給される電力のラインで電源の+5V側に接続する。同様に、各図中、GNDは、電源基板70からメイン制御基板50を介して供給される電力のラインで電源のマイナス側に接続する(グランド、アース)。ハーネス104にはコネクタ106が取り付けられている。ハーネス104は、従来のハーネス103に、配線を1本追加したものであり、図16、17ではその1本の配線はセレクタIDライン907として示されている。従来のコネクタ108にはこのような線はない。φ25用メダルセレクタ102内では、セレクタIDライン907は抵抗Rによりプルアップされており、φ30用メダルセレクタ110内では、セレクタIDライン907は抵抗Rによりプルダウンされている。すなわち、φ25用メダルセレクタ102ではセレクタIDライン907は論理0(0V)であり、φ30用メダルセレクタ110では論理1(+5V)になっている。このセレクタIDライン907の0/1状態が、メイン制御基板50の入出力ポート52の入力ポート2のビット4に入力される。すると、情報処理手段であるMPU51では、セレクタIDライン907の0/1状態により、φ25用のメダルセレクタであるか、又はφ30用のメダルセレクタであるかが判別できることとなる。なお、プルアップ又はプルダウンはメダルセレクタ102、110内の基板上で為されており、スイッチ等により替えられる構成にはなっていない。なお、セレクタIDを設定する構成を種類情報出力手段と称しており、本実施の形態では、上述したようにセレクタIDライン907をメダルセレクタ102、110内でプルアップ/プルダウンすることにより設定する構成である。
(投入メダル滞留エラー発生アルゴリズム)
投入メダル滞留エラー発生アルゴリズムは、遊技機の通常処理のループ内の始動装置ON待ち処理(図9のステップS404)中でコールされるメダル投入監視処理の中で行われる。メダル投入監視処理は、後述のメダル投入の判定、投入メダル異常通過エラー及び投入メダル滞留エラーの監視等を順に行う。
ステップS404では、メダル投入可能な場合、図16に示すようなソレノイド200は励磁されており(ゲートソレノイド信号ON)、この場合、投入メダル滞留エラーの監視が可能である。
メダルセレクタのメダル案内通路部42の下流側位置には、メダル通過を検知する通過情報取得部であるメダル通過検出センサ45が設けられている(図3参照)。メダル通過検出センサ45は、第1投入メダル通過検出センサ45aと第2投入メダル通過検出センサ45bを備えている。第1投入メダル通過検出センサ45aと第2投入メダル通過検出センサ45bは、少なくとも通過する1枚のメダルMを同時に検出しうる程度に近接した状態で上流側と下流側に並設され、各投入メダル通過検出センサ45a、45bは受光時、すなわちメダルが受光部の受光を遮らないときには「Hi(オフ)」信号、メダルが受光部の受光を遮ったときには「Lo(オン)」信号を、出力するように設定されている(アクティブ・ロー(負論理)、図18を参照し後述)。
図18は、メダル通過検出センサ45の出力の説明図で、メダルが第1投入メダル通過検出センサ45aと第2投入メダル通過検出センサ45bを通過した場合の出力波形である。これらの出力値は、図15に示すメイン制御基板50の入力ポート2に入力される8ビット信号の内のビット6、ビット7に入力される。ここで、メダルセンサ監視時間STは第1投入メダル通過検出センサ45aが論理0となる時間t1と、第2投入メダル通過検出センサ45bが論理1となる時間t4との時間差と定義する。このメダルセンサ監視時間STは、当該遊技機用のメダルセレクタの設計仕様によって適宜決めればよく、本実施形態では、投入されるメダルの径により異なるようにしている。したがって、ホールでφ25用メダルセレクタをφ30用メダルセレクタに交換した場合、上記のメダルセンサ監視時間STも変わるため、メインROM53の制御プログラムを交換せずに対応するには、φ25用とφ30用の双方に対応可能な制御プログラムが必要である。
(メダル投入の判定)
入力ポート2の第1投入メダル通過検出センサ45a、第2投入メダル通過検出センサ45bの入力値の何れかが論理0の場合には、メダル投入ありと判定される。それらが共に論理1の場合には、メダル投入なしと判定され、メダル投入監視処理を終了する。
(投入メダル異常通過エラー及び投入メダル滞留エラーの監視)
メダル投入ありの場合に、入力ポート2の第2投入メダル通過検出センサ45bが論理0の場合には(時間t3〜t4間のパターン)、メダルが逆方向の投入メダル通過検出センサの検知なので、投入メダル異常通過エラーと判定される。第2投入メダル通過検出センサ45bが論理1の場合は(時間t1)、メダルが順方向の投入メダル通過検出センサの検知なので、以下のメダルセンサ監視タイマ設定処理が行われる。
図19は、メダルセンサ監視タイマ設定処理のフローチャートである。まず、入力ポート2のビット4のセレクタIDライン907が論理0か論理1かを判定する(ステップS1100)。セレクタIDが論理0である場合は、メダルセレクタはφ25用であるから、メダルセンサ監視時間STとしてSTφ25が設定される(ステップS1102)。セレクタIDが論理1の場合は、メダルセレクタがφ30用であるから、メダルセンサ監視時間STとしてSTφ30が設定される(ステップS1104)。このメダルセンサ監視時間STは、当該遊技機用のメダルセレクタの設計仕様によって適宜決めればよく、例えば、STφ25=300.980ms、STφ30=500ms等の設計値を適宜設定すればよい。なお、STの設定処理は、電源オン時に一度だけ起動するように構成しても良い。
次いで、上記の第1投入メダル通過検出センサ45aの出力波形と第2投入メダル通過検出センサ45bの出力波形は、メダル位置データとの対比により、メダルセンサ監視時間STの時間中監視される。
ここで、ROM53にはメダル位置データが記憶されている。メダル位置データは、(第1投入メダル通過検出センサ45aの出力、第2投入メダル通過検出センサ45bの出力)のデータセットを、時間t1、t2、t3、t4の時系列で列挙した配列データで、メダル位置データ={(0、1)、(0、0)、(1、0)、(1、1)}である。上記の第1投入メダル通過検出センサ45aの出力波形と第2投入メダル通過検出センサ45bの出力波形の組み合わせ(投入メダル通過検出センサの通過パターン)は、メダル位置データと対比され、メダルの正常な通過の場合、メダル位置データの配列順と同様となる。
監視の結果、投入メダル通過検出センサの通過パターンがメダル位置データの配列順と異なる場合は投入メダル異常通過エラーと判定される。また、監視時間を経過してもメダルの通過を確認できなかった場合は、すなわちメダル投入監視処理でゲートソレノイド信号がオン状態のときに、メダルが第1投入メダル通過検出センサ45a及び第2投入メダル通過検出センサ45bをメダルセンサ監視時間ST時間内に通過できなかった場合は、投入メダル滞留エラーと判定される。
以上の第1実施の形態によれば、φ25用メダルセレクタとφ30用メダルセレクタの2種類の場合、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加し、その0/1状態でφ25用メダルセレクタかφ30用メダルセレクタかを判別できるように構成した。そして、追加した1本の配線の0/1状態により、メダルセンサ監視時間STの設定値を変更できる制御プログラムを具備した。このように構成することで、情報処理手段であるMPU51、メイン制御プログラム等は、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。また、MPUやメインROM等は封印構造を持たせた基板ボックス内に収容されており、基板ボックス開封時には破壊等による開封の痕跡が残る構造となっているが、本実施の形態では制御プログラムを格納したMPU若しくはメインROMの交換の必要がないため、遊技機に対する信頼性が向上し、不正に対しても堅牢となる。
[第2実施の形態]
第2実施の形態は、第1実施の形態で示したメダルセレクタについての手法をホッパについて適用したものである。φ25用ホッパとφ30用ホッパの2種類だけの場合について示す。基本的な概念は、ホッパからメイン制御基板へのハーネスに配線を1本追加し、その0/1状態で制御プログラムの処理を切り替えている。0/1状態の変化の方法、追加した1本の配線をセレクタ側において、抵抗によりプルアップ又はプルダウンすることにより行う。
(ホッパIDの取得方法)
まず、ホッパID取得方法について説明する。図20は、メイン制御基板50の入力ポート1に入力される8ビット信号について示す図である。図21は、メイン制御基板50の入力ポート2に入力される8ビット信号について示す図である。入力ポート1のビット6、7にメダル検出センサ1、2のデータが入力されている。メダル検出センサ2(14d)の信号は、遊技機の外部から物の挿入の不正行為が行われたときに検出される信号であり、メダル検出センサ1の信号は、後述するようにメダルMの通過に関する信号である。これらの信号に加え、入力ポート2の従来は未使用であったビット4へ、ホッパIDの論理0又は論理1の信号が入力されるように構成されている。他のビットは従来から使用されている信号である。論理0は追加した1本の配線をホッパ側において、抵抗によりプルアップすることにより得られ、論理1は追加した1本の配線をホッパ側において、抵抗によりプルダウンすることにより得られる。論理0はφ25用ホッパ、論理1はφ30用ホッパに対応する。
図22は、メイン制御基板50とφ25用ホッパとを電気的に接続するハーネスの物理的な構成についての説明図である。図23は、メイン制御基板とφ30用ホッパとを電気的に接続するハーネスの物理的な構成についての説明図である。ハーネス114にはコネクタ116が取り付けられている。ハーネス114は、従来のハーネス113に、配線を1本追加したものであり、図22、23ではその1本の配線はホッパIDライン807として示されている。従来のコネクタ118にはこのようなラインはない。φ25用ホッパ112では、ホッパIDライン807は抵抗Rによりプルアップされており、φ30用ホッパ120ではプルダウンされている。すなわち、φ25用ホッパ112ではホッパIDライン807は論理0(0V)であり、φ30用ホッパ120では論理1(+5V)になっている。このホッパIDライン807の0/1状態が入力ポート2のビット4に入力される。すると、情報処理手段であるMPU51の制御プログラムでは、ホッパIDライン807の0/1状態によりφ25用のホッパ112であるか、又はφ30用のホッパ120であるかが判別できることとなる。なお、プルアップ又はプルダウンはホッパ112、120内の基板上で為されており、スイッチ等により替えられる構成にはなっていない。なお、ホッパIDを設定する構成を種類情報出力手段と称しており、本実施の形態では、上述したようにホッパIDライン807をホッパ112、120内でプルアップ/プルダウンすることにより設定する構成である。
(払出メダル滞留エラー発生アルゴリズム)
払出メダル滞留エラー発生アルゴリズムは、遊技機の通常処理のループ内の獲得メダル払出処理(図9のステップS411)中でコールされるメダル払出処理の中で行われる。メダル払出処理は、後述のメダル検出判定、滞留判定等を順に行う。
ホッパの支払装置14bにはメダル検出センサ1(14c)、メダル検出センサ2(14d)が設けられている(図4、図22等参照)。メダル検出センサ2(14d)は前述のように支払装置14bの出口に近い部分に設置され、ここからの不正行為(例えば異物の挿入)を検出する。メダル検知センサ1(14c)は、支払装置14b(図2参照)の回転ディスクから払出されたメダルMを回転ディスクの直後で検知する。メダル検出センサ1(14c)及びメダル検出センサ2(14d)は、通常は受光時には「Hi(オフ)」信号、メダルMが到達して遮光時には「Lo(オン)」信号、メダルMが通過して再び受光時には「Hi(オフ)」信号を出力するように設定されている(アクティブ・ロー(負論理)、図24を参照し後述)。
図24は、メダル検出センサ1の出力の説明図で、メダルMがメダル検出センサ1(14c)を通過した場合の出力波形である。この出力は、図20に示すメイン制御基板の入力ポート1に入力される8ビット信号の内のビット6に入力される。ここで、メダル検出センサ1(14c)の出力が論理1から論理0になった時間t5と、論理0から再び論理1になった時間t6との時間差をメダル払出監視時間HTと定義する。このメダル払出監視時間HTは、当該遊技機用のホッパの設計仕様によって適宜決めればよく、本実施形態では、排出されるメダルの径により異なるようにしている。したがって、ホールでφ25用ホッパ112をφ30用ホッパ120に交換した場合、上記のメダル払出監視時間HTも変わるため、メインROM53の制御プログラムを交換せずに対応するには、φ25用とφ30用の双方に対応可能な制御プログラムが必要である。
(メダル検出判定)
メダル制御情報のメダル払出をオン状態に設定する。入力ポート1のメダル検出センサ1(14c)の入力値が論理0になった場合には(時間t5)、メダル検出ありと判定され、以下の滞留判定が行われる。メダル検出センサ1(14c)の論理1が所定の時間(本実施形態では、3000.860ms)継続した場合には、遊技メダル払出装置エンプティエラーと判定される。なお、このメダル検出判定の所定の時間は、メダル払出監視タイマ1により設定することができる。
(滞留判定)
次に、メダル払出監視タイマ2設定処理を行う。図25は、メダル払出監視タイマ2設定処理のフローチャートである。まず、入力ポート2のビット4のホッパIDライン807が論理0か論理1かを判定する(ステップS1200)。ホッパIDライン807が論理0である場合は、ホッパはφ25用であるから、メダル払出監視時間HTとしてHTφ25を設定する(ステップS1201)。ホッパIDライン807が論理1の場合は、ホッパはφ30用であるから、メダル払出監視時間HTとしてHTφ30を設定する(ステップS1202)。このメダル払出監視時間HTは、当該遊技機用のホッパ設計仕様によって適宜決めればよく、例えば、HTφ25=201.150ms、HTφ30=400ms等の設計値を適宜設定すればよい。なお、HTの設定処理は、電源オン時に一度だけ起動するように構成しても良い。
メダル払出監視タイマ2を設定後、入力ポート1のメダル検出センサ1(14c)が論理1となった時点で正常終了と判定される(時間t6)。メダル検出センサ1(14c)の論理0がHT時間継続した場合には払出メダル滞留エラーと判定される。
以上の第2実施の形態によれば、φ25用ホッパとφ30用ホッパの2種類の場合、ホッパからメイン制御基板へのハーネスに配線を1本追加し、その0/1状態でφ25用ホッパかφ30用ホッパかを判別できるように構成した。そして、追加した1本の配線の0/1状態により、メダル払出監視時間HTの設定値を変更できる制御プログラムを具備した。このように構成することで、情報処理手段であるMPU51、メイン制御プログラム等は、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち払出メダル滞留エラー等をホッパIDで選択的に行うことが可能であり、ホッパを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。
[第3実施の形態]
第1実施の形態においては、メダルセレクタがφ25用とφ30φ用の2種類だけである場合に係り、セレクタIDの取得方法は、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加してその0/1状態で行い、取得したセレクタIDの0/1状態で制御プログラムの処理を切り替えている。セレクタIDは、追加した1本の配線をセレクタ側において、抵抗によりプルアップル又はプルダウンすることにより設定している。第3実施の形態では、上記とは異なりセレクタ側の抵抗でプルアップ又はプルダウンするのではなく、φ25とφ30で同構造のコネクタを用意し、このコネクタとハーネスとの結線により、MPUがφ25用メダルセレクタなのかφ30用メダルセレクタなのかを認識する。その他の点については第1実施の形態と同様である。
図26は、メイン制御基板50とφ25用メダルセレクタ122とを電気的に接続するハーネス103、125の物理的な構成についての説明図である。図27は、メイン制御基板50とφ30用メダルセレクタ128とを電気的に接続するハーネス103、125の物理的な構成についての説明図である。ハーネス103とハーネス125の間にコネクタ126が接続されている。φ25用メダルセレクタ122及びφ30用メダルセレクタ128とコネクタ126とを結線するハーネス103は従来と同様である。コネクタ126は、φ25用メダルセレクタ122とφ30用メダルセレクタ128とで同構造であり、従来のコネクタ108の端子(1)〜(7)番に新たに3つの端子を設けたものである。つまり、コネクタ126の端子(1)〜(7)番は、従来と同様にメダルセレクタ122又は128とハーネス103により接続されている。端子(10)番はGNDラインであり、端子(9)番は+5Vラインである。GNDと+5Vのラインはメイン制御基板50から出ている。端子(8)番はセレクタIDライン用であり、この端子若しくはこの端子に接続される配線、すなわちセレクタIDライン907が論理1(+5V)又は論理0(0V)に制御される。
ここで、メイン制御基板50側の抵抗Rによるプルアップ又はプルダウンを、コネクタ126上でジャンパ線907aを用いて行っている。端子(8)番のセレクタIDライン907の0/1情報は入力ポート2のビット4に入力されるが、φ25用では、端子(8)番のセレクタIDライン907が端子(10)番とジャンパ線907aにより接続されて論理0(0V)となっており、φ30用では、端子(8)番のセレクタIDライン907が端子(9)番とジャンパ線907aにより接続されて論理1(+5V)となっている。すなわち、MPU51の制御プログラムは入力ポート2のビット4のセレクタIDライン907の0/1状態により、φ25用のメダルセレクタ122であるか、又はφ30用のメダルセレクタ128であるかを判別できる構成になっている。本実施の形態では、種類情報出力手段はハーネス125とコネクタ126とジャンパ線907aから成っており、メダルセレクタ122、128からコネクタ126までのハーネス103に線を追加する必要がなく、従来のハーネス103をそのまま使用できるのが利点である。なお、投入メダル滞留エラー検出のアルゴリズム等、その他の点は第1実施の形態と同様である。また、上記の2種類だけのセレクタにおいてプルアップ、プルダウンをコネクタ上でジャンパ線を用いて行う手法は、2種類だけのホッパにも適用可能である。
以上の第3実施の形態によれば、φ25用メダルセレクタとφ30用メダルセレクタの2種類の場合、φ25用メダルセレクタとφ30用メダルセレクタで同構造のコネクタを用意し、このコネクタ上でジャンパ線を用いてプルアップ/プルダウンを行い、MPUの制御プログラムがφ25用メダルセレクタなのかφ30用メダルセレクタなのかを認識するように構成した。そして、認識した情報に基づいてメダルセンサ監視時間STの設定値を変更できる制御プログラムを備えている。このように構成することで、情報処理手段であるMPU51、メイン制御プログラムは、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。
[第4実施の形態]
第1実施の形態においては、メダルセレクタがφ25用とφ30φ用の2種類だけである場合に係り、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加してその0/1状態でφ25用メダルセレクタかφ30用メダルセレクタかを判別し、取得したセレクタIDラインの0/1状態により制御プログラムの処理を切り替えている。第4実施の形態では、メイン制御基板側の抵抗によるプルアップ、プルダウンをメイン制御基板内のDIPスイッチを用いて設定している。このDIPスイッチの設定によりメイン制御プログラムがφ25用メダルセレクタなのかφ30用メダルセレクタなのかを認識する。その他の点については第1実施の形態と同様である。
図28は、メイン制御基板とφ25用メダルセレクタとを電気的に接続するハーネスの物理的な構成とメイン制御基板内に設置されたDIPスイッチについての説明図である。図29は、メイン制御基板とφ30用メダルセレクタとを電気的に接続するハーネスの物理的な構成とメイン制御基板内に設置されたDIPスイッチについての説明図である。従来のハーネス103及び従来のコネクタ108をそのまま使用することが可能であり、メイン制御基板50にDIPスイッチ130が設けられているのが特徴である。入力ポート2のビット4へ入力されるセレクタIDライン907の0/1状態は、メイン制御基板50側の抵抗Rによるプルアップ、プルダウンをDIPスイッチ130によって選択することができる。φ25用メダルセレクタ122はDIPスイッチ130によりセレクタIDライン907がプルアップされて論理0(0V)になっている。φ30用メダルセレクタ128はDIPスイッチ130によりセレクタIDライン907がプルダウンされて論理1(+5V)になっている。すなわち、DIPスイッチ130によるセレクタIDライン907の0/1状態によりφ25用のメダルセレクタ122であるか、又はφ30用のメダルセレクタ128であるかが判別できる構成になっている。なお、投入メダル滞留エラー検出のアルゴリズム等、その他の点は第1実施の形態と同様である。また、上記の2種類だけのセレクタにおいてプルアップ、プルダウンをメイン制御基板側のDIPスイッチで行う手法は、2種類だけのホッパにも適用可能である。
[第5実施の形態]
第5実施の形態は、上記の第1実施の形態と第2実施の形態を同時に実行すると共に、メダルセレクタとホッパの組み合わせチェックを行う。第5実施の形態において第1実施の形態及び第2実施の形態と異なる点を説明する。その他の点については第1及び第2実施の形態と同様である。
第1実施の形態及び第2実施の形態では、セレクタID及びホッパIDは、入力ポート2のビット4に入力されていたが、ここではセレクタIDとホッパIDは入力ポートxのビット0とビット1に入力される。そして、メイン制御基板内で上記セレクタIDとホッパIDを論理XOR(排他的論理和)回路に入力し、その出力値を入力ポート2のビット4に入力している。
図30と図31は、それぞれ入力ポートxと入力ポート2に入力される8ビット信号を表す。入力ポートxにおいては、ビット0にセレクタIDライン907の0/1情報、ビット1にホッパIDライン807の0/1情報が入力されている。第1実施の形態及び第2実施の形態と同様に、論理0はφ25用、論理1はφ30用である。入力ポート2のビット4には、論理XOR回路の出力値が入力される。図31ではビット4はメダルセレクタとホッパの組み合わせという内容になっており、論理0の場合はメダルセレクタとホッパの組み合わせが正しいこと、論理1は組み合せが正しくないことを表している。
図32は、セレクタIDとホッパIDのXOR回路を実装したメイン制御基板50を示す図である。前述のようにメダルセレクタ102、110からのハーネス104には、従来のハーネス103に配線が1本追加され、その線にセレクタID情報が載せられている。同様にホッパ112、120からのハーネス114にも、従来のハーネス113に配線が1本追加され、その線にホッパID情報が載せられている。それらの追加した配線はセレクタIDライン907、ホッパIDライン807である。このセレクタIDライン907とホッパIDライン807を論理XOR回路134のゲートにそれぞれ入力し、その出力値135がセレクタ/ホッパ組み合わせとして入力ポート2のビット4に入力される構成になっている。これらは全てメイン制御基板50上でなされる。
(メダルセレクタとホッパの組み合わせエラー発生アルゴリズム)
メダルセレクタとホッパの組み合わせエラー発生アルゴリズムについて説明する。図33は、メダルセレクタ・ホッパチェック処理のフローチャートである。まず、論理XOR回路134の出力値135が論理0か論理1か判定する(ステップS1300)。XOR回路134の出力値135が論理0の場合はセレクタIDライン907とホッパIDライン807の0/1状態が同じであるから、組み合せは正しいことになりそのままリターンとなる。論理XOR回路134の出力値135が論理1の場合はセレクタIDライン907とホッパIDライン807の0/1状態が異なるので、組み合わせに誤りがあり、メダルセレクタ・ホッパ組み合わせエラーを例えば排出枚数表示部28やスピーカ22等に発生し(ステップS1301)リターンとなる。なお、上述の図33のメダルセレクタ・ホッパチェック処理は、例えば、ステップS404内又はステップS314若しくはS306直後等でコールするようにすればよい。
以上の第5実施の形態によれば、メダルセレクタとホッパとの組み合わせが正しいか否かセレクタIDラインとホッパIDラインの0/1状態により判定され、組み合せが正しくない場合には警報等が発せられるので、メダルセレクタとホッパを間違った組み合わせで使用する懸念が無くなる。
[第6実施の形態]
第6実施の形態は、第1実施の形態を拡張したものである。すなわち、第1実施の形態では、φ25用とφ30用の2種類のメダルセレクタについて、セレクタIDの取得方法及び投入メダル滞留エラー検出のアルゴリズムについて詳述した。第6実施の形態では、4種類のメダルセレクタに拡張して適用可能なセレクタID取得方法と投入メダル滞留エラー検出のアルゴリズムについて示す。ここで、4種類のメダルをφ25、φ30、φx、φyとする。
基本的な概念は、メダルセレクタ40からメイン制御基板50へのハーネスに配線を2本追加し、それぞれの配線の0/1状態で制御プログラムの処理を切り替えている。0/1状態の設定方法は、第1実施の形態と同様に、追加した配線をセレクタ側において、抵抗によりプルアップル又はプルダウンすることにより行う。
(セレクタIDの取得方法)
図34は、メイン制御基板50の入力ポートxに入力される8ビット信号について示す図である。従来のハーネスに2本の配線が追加され、それぞれをセレクタIDaライン、セレクタIDbラインとする。ビット0にはセレクタIDaラインの0/1信号が入力され、ビット1にはセレクタIDbラインの0/1信号が入力される。したがって、入力ポートxのビット0、ビット1で構成される2ビット信号は、(0、0)、(0、1)、(1、0)、(1、1)の4つの状態が存在する。ここで、(セレクタIDa、セレクタIDb)=(0、0)はφ25用メダルセレクタ、(セレクタIDa、セレクタIDb)=(0、1)はφ30用メダルセレクタ、(セレクタIDa、セレクタIDb)=(1、0)はφx用メダルセレクタ、(セレクタIDa、セレクタIDb)=(1、1)はφy用メダルセレクタとする。なお、第1実施の形態と同様に、論理0は追加した配線をセレクタ側において、抵抗によりプルアップすることにより得られ、論理1は追加した配線をセレクタ側において、抵抗によりプルダウンすることにより得られる。したがって、メイン制御プログラムは入力ポートxのビット0とビット1の信号により、4種類のメダルセレクタの内の特定の1種類を判定できることとなる。
図35は、メイン制御基板とφ25用メダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。図36は、メイン制御基板とφ30用メダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。図37は、メイン制御基板とφx用メダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。図38は、メイン制御基板とφy用メダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。本実施の形態におけるハーネス142は、従来のハーネス103に配線が2本追加され、その1本はセレクタIDaライン1100、他の1本はセレクタIDbライン1101となっている。ハーネス142にはコネクタ144が接続されている。φ25用メダルセレクタ140では、セレクタIDaライン1100、セレクタIDbライン1101共に抵抗Rによりプルアップされており、φ30用メダルセレクタ146ではセレクタIDaライン1100はプルアップ、セレクタIDbライン1101はプルダウンされている。φx用メダルセレクタ150ではセレクタIDaライン1100はプルダウン、セレクタIDbライン1101はプルアップ、φy用メダルセレクタ152ではセレクタIDaライン1100、セレクタIDbライン1101共にプルアップされている。すなわち、セレクタIDaライン1100及びセレクタIDbライン1101の0/1状態の組み合せにより、メイン制御プログラムは4種類のメダルセレクタの内の1種類を判定することが可能である。
なお、上述と同様なプルアップ、プルダウン構成を適用したセレクタIDcライン、セレクタIDdライン等をさらに追加すれば、8種類、16種類等のメダルセレクタの内の1種類を判定することが可能なように、本実施形態は5種類以上のメダルセレクタに対応するよう拡張可能なことは、当業者には容易に理解できるであろう。
(投入メダル滞留エラー発生アルゴリズム)
投入メダル滞留エラー発生アルゴリズムは、遊技機の通常処理のループ内の始動装置ON待ち処理(図9のステップS404)中でコールされるメダル投入監視処理の中で行われる。メダル投入監視処理は、後述のメダル投入の判定、投入メダル異常通過エラー及び投入メダル滞留エラーの監視等を順に行う。
メダル投入の判定は第1実施の形態と同様である。投入メダル異常通過エラーと投入メダル滞留エラーの監視については、メダルセンサ監視タイマ設定処理以外は第1実施の形態と同様である。以下、メダルセンサ監視タイマ設定処理について述べる。
図39は、メダルセンサ監視タイマ設定処理のフローチャートである。まず、入力ポートxのビット0のセレクタIDaライン1100が論理0か論理1かを判定する(ステップS1500)。論理0の場合、入力ポートxのビット1のセレクタIDbライン1101が論理0か論理1かを判定する(ステップS1501)。セレクタIDbライン1101が論理0の場合は、メダルセンサ監視時間STにSTφ25を設定する(ステップS1502)。セレクタIDbライン1101が論理1の場合には、メダルセンサ監視時間STにSTφ30を設定する(ステップS1503)。一方、セレクタIDaライン1100が論理1の場合、セレクタIDbライン1101が論理0か論理1かを判定する(ステップS1504)。セレクタIDbライン1101が論理0の場合は、メダルセンサ監視時間STにSTφxを設定する(ステップS1505)。セレクタIDbライン1101が論理1の場合はメダルセンサ監視時間STにSTφyを設定する(ステップS1506)。第1実施の形態でも述べたように、このメダルセンサ監視時間STは、当該遊技機用のメダルセレクタの設計仕様によって適宜決めればよい。なお、STの設定処理は、電源オン時に一度だけ起動するように構成しても良い。更に、セレクタIDaライン1100とセレクタIDbライン1101の0/1状態の組み合わせと、それに対応するメダルセレクタの種類は上記に限定されず、適宜決めることができる。例えば、(セレクタIDa、セレクタIDb)=(0、0)がφy用メダルセレクタとしても良い。
以上の第6実施の形態によれば、メダルセレクタがφ25用メダルセレクタとφ30用メダルセレクタとφx用メダルセレクタとφy用メダルセレクタの4種類ある場合、メダルセレクタからメイン制御基板へのハーネスに配線を2本追加し、それらの0/1状態の組み合わせでメダルセンサ監視時間STの設定値を変更できる制御プログラムを備えている。このように構成することで、情報処理手段であるMPU51、メイン制御プログラムは、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。また、上記の4種類のセレクタにおいて追加した2本の配線の0/1状態の組み合わせによって特定のメダルセレクタを判定する方法は、4種類のホッパにも適用可能である。
[第7実施の形態]
上述の実施の形態では、メダルセレクタのセレクタIDの取得方法は、ハーネスに追加した配線の0/1状態を利用して行っていた。0/1状態は追加した配線をセレクタ側又はメイン制御基板側の抵抗によってプルアップ/プルダウンすることによって設定した。第7実施の形態では、従来のハーネスに配線を1本追加することは同じであるが、メダルセレクタ自体に固有のセレクタIDを有し、追加した1本の配線にその情報を載せ、メイン制御プログラムがその情報を読み取ってメダルセレクタの種類を判別できるようにしている。上記のセレクタIDはメダルセレクタに搭載したMPUに内蔵している。
(セレクタID取得方法)
図40は、メイン制御基板とメダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。本実施の形態におけるハーネス174は、従来のハーネス103に、配線を1本(セレクタIDライン907)追加したものになっている。メダルセレクタ156にはMPU162が搭載されている。そのMPU162に内蔵されているROM(図示せず)には、セレクタ固有のセレクタID情報、例えばφ25用であれば値0、φ30用であれば値1、φx用であれば値2、φy用であれば値3等が予め記憶されており、また通信制御プログラム等も記憶されている。そして、MPU51は、メダルセレクタ156に搭載されているMPU162とシリアル通信を行い、セレクタIDライン907を介してセレクタID情報を取得するように構成されている。すなわち、MPU51はメダルセレクタ156に搭載されたMPU162とシリアル通信を行ってセレクタIDを取得することができる。
(投入メダル滞留エラー発生アルゴリズム)
投入メダル滞留エラー発生アルゴリズムは、遊技機の通常処理のループ内の始動装置ON待ち処理(図9のステップS404)中でコールされるメダル投入監視処理の中で行われる。メダル投入監視処理は、後述のメダル投入の判定、投入メダル異常通過エラー及び投入メダル滞留エラーの監視等を順に行う。
メダル投入の判定は第1実施の形態と同様である。投入メダル異常通過エラーと投入メダル滞留エラーの監視については、メダルセンサ監視タイマ設定処理以外は第1実施の形態と同様である。以下、メダルセンサ監視タイマ設定処理について述べる。
図41は、メダルセンサ監視タイマ設定処理のフローチャートである。まず、MPU51は、メダルセレクタ156に搭載されているMPU162とシリアル通信を行い、セレクタIDライン907を介してセレクタID情報を取得する。そして、セレクタIDライン907の値を判定する(ステップS1700)。セレクタIDが値0の場合は、メダルセンサ監視時間STにSTφ25を設定する(ステップS1701)。セレクタIDが1の場合はメダルセンサ監視時間STにSTφ30を設定する(ステップS1702)。以下同様に、セレクタIDが2の場合はメダルセンサ監視時間STにSTφx、セレクタIDが3の場合はメダルセンサ監視時間STにSTφy・・・という具合に、セレクタIDライン907の値に対応したメダルセンサ監視時間STを設定する(ステップS1703)。1本のセレクタIDライン907によりn種類のメダルセレクタに対応できるのが特徴である。第1実施の形態でも述べたように、このメダルセンサ監視時間STは、当該遊技機用のメダルセレクタの設計仕様によって適宜決めればよい。なお、STの設定処理は、電源オン時に一度だけ起動するように構成しても良い。
以上の第7実施の形態によれば、n種類のメダルセレクタの場合、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加してセレクタIDラインとし、このセレクタIDラインにメダルセレクタに搭載されたMPUに予め記憶されたセレクタ固有のセレクタID情報を載せ、メイン制御基板のMPUがメダルセレクタのMPUとシリアル通信を行って上記のセレクタIDを取得し、取得したセレクタIDの情報によってメダルセンサ監視時間STの設定値を変更できる制御プログラムを備えた。このように構成することで、情報処理手段であるMPU51、メイン制御プログラムは、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。また、上記のn種類のセレクタにおいてメダルセレクタに搭載したMPUとメイン制御基板のMPUが通信を行ってセレクタIDを取得する方法は、n種類のホッパにも適用可能である。
[第8実施の形態]
第7実施の形態では、従来のハーネスに配線を1本追加してセレクタIDラインとし、このセレクタIDラインに、セレクタ固有のセレクタID情報を載せた。この情報は、メダルセレクタに搭載したMPUの内蔵されたROMに予め記憶されている。そして、メイン制御基板のMPUとメダルセレクタに搭載したMPUがシリアル通信を行って上記セレクタIDの情報を取得するように構成した。第8実施の形態では、セレクタID情報をメダルセレクタに搭載したMPUの替わりにICタグに記憶している。
(セレクタID取得方法)
図42は、メイン制御基板とメダルセレクタとを電気的に接続するハーネスの物理的な構成についての説明図である。ハーネス及びコネクタは従来のハーネス103及び従来のコネクタ108と同様のものを使用することが可能である。メダルセレクタ170にはICタグ172が搭載されており、このICタグ172にセレクタ固有のセレクタID情報、例えばφ25用であれば値0、φ30用であれば1、φx用であれば2、φy用であれば3等が書き込まれている。このICタグ172の情報をICタグリーダ176が読み込み、メイン制御基板50のMPU51とシリアル通信が可能に構成されている。セレクタ固有の情報がICタグ172に記憶されているので、第7実施の形態のMPU搭載メダルセレクタよりも構成が簡単である。すなわち、メダルセレクタ毎に専用の通信プログラム内蔵のMPUの搭載は不要である。また、ICタグリーダ176はICタグ172に非接触でその書き込まれている情報を読み取ることが可能である。
(投入メダル滞留エラー発生アルゴリズム)
第7実施の形態において、メダルセレクタに搭載のMPUをICタグ172に置き換え、メイン制御基板50のMPU51がICタグリーダ176とシリアル通信を行って、ICタグリーダ176にICタグ172を読ませてセレクタIDを取得する点が異なるだけで、その他は第7実施の形態と同様である。
以上の第8実施の形態によれば、n種類のメダルセレクタの場合、メダルセレクタに搭載されたICタグに予めセレクタ固有のセレクタID情報を記憶しておき、メイン制御基板のMPUがICタグリーダとシリアル通信を行ってセレクタIDを取得し、取得したセレクタIDの情報によってメダルセンサ監視時間STの設定値を変更できる制御プログラムを備えた。このように構成することで、情報処理手段であるMPU51、メイン制御プログラムは、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。また、上記のn種類のメダルセレクタにおいて、メダルセレクタに搭載したICタグの情報を読み取るICタグリーダとメイン制御基板のMPUがシリアル通信を行ってセレクタIDを取得する方法は、n種類のホッパにも適用可能である。
[第9実施の形態]
第9実施の形態は上述の第1実施の形態において、メダルセンサ監視タイマ設定処理が異なるだけであり、その他の点は同様である。すなわち、本実施の形態ではメダルセレクタがφ25用とφ30φ用の2種類だけである場合について、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加してセレクタIDラインとし、そのセレクタIDラインの0/1状態で制御プログラムの処理を切り替えるが、メダルセンサ監視タイマ設定処理が異なっている。
図43に、メダルセンサ監視タイマ設定処理のフローチャートを示す。第1実施の形態で示したように、セレクタIDラインが論理0である場合、メダルセレクタはφ25用であり、メダルセンサ監視時間STはSTφ25に設定される。セレクタIDラインが論理1である場合、メダルセレクタはφ30用であり、メダルセンサ監視時間STはSTφ30に設定される(ステップS1900)。第1実施の形態と異なる点は以下の通りである。メダルセンサ監視時間STについて、STφ30とSTφ25の差をΔとする。そして、メダルセンサ監視時間STをセレクタIDの関数として、ST=STφ25+Δ×セレクタIDと設定すれば、セレクタIDが論理0の場合はST=STφ25となり、セレクタIDが論理1の場合はST=STφ25+Δ=STφ30となる。
第1実施の形態で図19に示したメダルセンサ監視タイマ設定処理では、分岐で不要になる処理が発生するが、本実施の形態では上記のようにすることで不要となる処理はなく、プログラム容量がその分少なくて済む。また、プログラム上の不要な処理は不正コードの上書き等が懸念されるが、本実施の形態ではプログラムに不要な処理がないため不正に対しては堅牢である。なお、STの設定処理は、電源オン時に一度だけ起動するように構成しても良い。
以上の第9実施の形態によれば、φ25用メダルセレクタとφ30用メダルセレクタの2種類の場合、メダルセレクタからメイン制御基板へのハーネスに配線を1本追加し、その0/1状態でメダルセンサ監視時間STの設定値を変更できるプログラムを備えた。このように構成することで、情報処理手段であるMPU51、メイン制御プログラムは、複数種類の遊技媒体(メダルM)に対する情報処理、すなわち投入メダル滞留エラーの監視等をセレクタIDで選択的に行うことが可能であり、メダルセレクタを所望のメダル径用のものに交換したとしても、制御プログラムを交換せずに遊技機全体を使用することが可能である。然も、本実施の形態では、その制御プログラムには分岐により不要となる処理がないので制御プログラムの容量がその分少なくて済み、不正に対して堅牢である。なお、メダルセンサ監視タイマ設定処理の設定を演算して決定する方法は2種類だけのホッパにも適用可能である。
なお、本発明は上記の第1〜第9実施の形態に限定されることなく、発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、遊技媒体としてメダルに替えて、遊技球を使用するスロットマシンやパチンコ機等についても、上述した第1〜第9実施の形態を変形し適用してもよい。また、遊技媒体の識別を、直径に限らず色、材質、伝導率等種々のパラメータに基づいて行うようにしてもよい。