図1は前扉を閉めた状態を示すスロットマシンの正面図、図2は前扉を180度開いた状態を示すスロットマシンの正面図を示す。
図1及び図2中、100はスロットマシンを示すもので、このスロットマシン100は、図1に示すように、スロットマシン本体120と、このスロットマシン本体120の前面片側にヒンジ等により開閉可能に取り付けられた前扉130とを備えている。前記前扉130の前面には、図1に示すように、ほぼ中央にゲーム表示部131を設け、ゲーム表示部131の右下隅部に、遊技者がメダルを投入するためのメダル投入口132を設け、メダル投入口132の下側には、メダル投入口132から投入され、詰まってしまったメダルをスロットマシン100外に強制的に排出するためのリジェクトボタン133が設けられている。
また、前記ゲーム表示部131の左下方には、ゲームを開始するためのスタートスイッチ134を設けてあり、3つのリールのそれぞれに対応して3つのストップスイッチ140を設けてある。前扉の下端部中央には、メダルの払出し口135を設けてある。前記ゲーム表示部131の上側には、液晶表示装置LCDが設けてある。
液晶表示装置LCDの位置には可動体50が設けられている。可動体50は2つのシャッター(可動体要素)51L及び51Rを備える。2つのシャッター51L及び51Rは演出に従い左右に動き、液晶表示装置LCDを隠す。同図では、2つのシャッター51L及び51Rがそれぞれ左右に一杯に開き、液晶表示装置LCDが露出している(遊技者が画面をみることができる)状態を示している。
なお、図1の可動体50は一例であり、他の形態のものもある。例えば、液晶表示装置LCDがゲーム表示部131の右側に設けられているときは可動体50も同じ位置に設けられる。可動体50のシャッター51Lと51Rで隠されるものが、LEDや電球などの電飾である場合もある。シャッターの数が1枚であることもある。
スロットマシン本体120の内部には、図2に示すように、その内底面に固定され、内部に複数のメダルを貯留して、貯留したメダルを前扉130の前面に設けた払出し口135に1枚ずつ払い出すためのホッパ装置121が設置されている。このホッパ装置121の上部には、上方に向けて開口し、内部に複数のメダルを貯留するホッパタンク122を備えている。スロットマシン本体120の内部には、前扉130を閉めたときにゲーム表示部131が来る位置に三個のリールからなるリールユニット203が設置されている。リールユニット203は、外周面に複数種類の図柄が配列されている3つのリール(第1リール〜第3リール)を備えている。ゲーム表示部131には開口部が設けられていて、それを通して遊技者が前記リールユニット203の各回転リールの図柄を見ることができるようになっている。ホッパ装置121の上側のリールユニット203との間には電源部205が設けられている。
前記前扉130の裏面には、図2に示すように、メダル(コイン)セレクタ1が、前扉130の前面に設けられたメダル投入口132の裏側に取り付けられている。このメダルセレクタ1は、メダル投入口132から投入されたメダルの通過を検出しながら、当該メダルをホッパ装置121に向かって転動させ、外径が所定寸法と違う異径メダルや、鉄又は鉄合金で作製された不正メダルを選別して排除するとともに、1ゲームあたりに投入可能な所定枚数以上のメダルを選別して排除するための装置である。
また、メダルセレクタ1の下側には、図2に示すように、その下部側を覆って前扉130の払出し口135に連通する導出路136が設けられている。メダルセレクタ1により振り分けられたメダルは、この導出路136を介して払出し口135から遊技者に返却される。
図3は発明の実施の形態に係るスロットマシン100の機能ブロック図を示す。
この図において電源系統についての表示は省略されている。スロットマシン100は、その主要な処理装置としてメイン基板10とこれからコマンドを受けて動作するサブ基板20とを備える。なお、少なくともメイン基板10は、外部から接触不能となるようにケース内部に収容され、これら基板を取り外す際に痕跡が残るように封印処理が施されている。
メイン基板10は、遊技者の操作を受けて内部抽選を行ったり、リールの回転・停止やメダルの払い出しなどの処理を行うためのものである。メイン基板10は、予め設定されたプログラムに従って制御動作を行うCPUと、前記プログラムを記憶する記憶手段であるROMおよび処理結果などを一時的に記憶するRAMを含む。
サブ基板20は、メイン基板10からコマンド信号を受けて内部抽選の結果を報知したり各種演出を行うためのものである。サブ基板20は、前記コマンド信号に応じた予め設定されたプログラムに従って制御動作を行うCPUと、前記プログラムを記憶する記憶手段であるROMおよび処理結果などを一時的に記憶するRAMを含む。コマンドの流れはメイン基板10からサブ基板20への一方のみであり、逆にサブ基板20からメイン基板10へコマンド等が出されることはない。
メイン基板10にはスタートスイッチ134,ストップボタン140,リールユニット(リール駆動装置を含む)203,リール位置検出回路71、ホッパ駆動部80、ホッパ81及びホッパ81から払い出されたメダルの枚数を数えるためのメダル検出部82(これらは前述のホッパ装置121を構成する)が接続されている。
ホッパ駆動部80は、ホッパ81を回転駆動して、メイン基板10によって指示された払出数のメダルを払い出す動作を行う。遊技機は、メダルを1枚払い出す毎に作動するメダル検出部82を備えており、メイン基板10は、メダル検出部82からの入力信号に基づいてホッパ81から実際に払い出されたメダルの数を管理することができる。
メイン基板10には、さらに、メダルセレクタ1のメダルセンサS1及びS2が接続されている。
メダルセレクタ1には、メダルを計数するためのメダルセンサS1及びS2が設けられている。メダルセンサS1及びS2は、メダルセレクタ1に設けられた図示しないメダル通路の下流側(出口近傍)に設けられている(メダル通路の上流側はメダル投入口132に連通している)。2つのメダルセンサS1とS2は、メダルの進行方向に沿って所定間隔を空けて並べて設けられている。メダルセンサS1、S2は、例えば、互いに対向した発光部と受光部とを有して断面コ字状に形成され、その検出光軸をメダル通路内に上方から臨ませて位置するフォトインタラプタである。各フォトインタラプタにより、途中で阻止されずに送られてきたメダルの通過が検出される。なお、フォトインタラプタを2つ隣接させたのは、メダル枚数を検出するだけでなく、メダルの通過が正常か否かを監視するためである。すなわち、フォトインタラプタを2つ隣接させて設けることにより、メダルの通過速度や通過方向を検出することができ、これによりメダル枚数だけでなく、逆方向に移動する不正行為を感知することができる。
サブ基板20には液晶表示装置の制御用の液晶制御基板200、スピーカ基板201、LED基板202などの周辺基板(ローカル基板)が接続されている。さらに、可動体50を制御する可動体制御部60が接続されている。可動体50及び可動体制御部60については後に詳しく説明する。
メイン基板10は、メダルセレクタ1のメダルセンサS1とS2の出力を受け、遊技毎にメダルの投入を受け付けて、規定投入数に相当するメダルが投入されたことに基づいて、スタートスイッチ134に対する第1リール〜第3リールの回転開始操作を許可する処理を行う(投入受付機能)。なお、スタートスイッチ134の押下操作が、第1リール〜第3リールの回転を開始させる契機となっているとともに、内部抽選を実行する契機となっている。また、遊技状態に応じて規定投入数を設定し、通常状態およびボーナス成立状態では規定投入数を3枚に設定し、ボーナス状態では規定投入数を1枚に設定する。
メダルが投入されると、遊技状態に応じた規定投入数を限度として、投入されたメダルを投入状態に設定する。あるいは、遊技機にメダルがクレジットされた状態で、ベットスイッチBETが押下されると、遊技状態に応じた規定投入数を限度して、クレジットされたメダルを投入状態に設定する。メダルの投入を受け付けるかどうかは、メイン基板10が制御する。メダルの投入を受け付ける状態になっていないときは(許可されていないときは)、メダルを投入してもメダルセンサS1、S2でカウントされず、そのまま返却される。同様に、メイン基板10はベットスイッチBETの有効/無効を制御する。ベットスイッチBETが有効になっていないときは(許可されていないときは)、ベットスイッチBETを押下しても、それは無視される。
メイン基板10は、乱数発生手段を内蔵する(図示せず)。乱数発生手段は、抽選用の乱数値を発生させる手段である。乱数値は、例えば、インクリメントカウンタ(所定のカウント範囲を循環するように数値をカウントするカウンタ)のカウント値に基づいて発生させることができる。なお本実施形態において「乱数値」には、数学的な意味でランダムに発生する値のみならず、その発生自体は規則的であっても、その取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。
メイン基板10は、遊技者がスタートスイッチ134からのスタート信号に基づいて、役の当否を決定する内部抽選を行う(内部抽選機能)。すなわち、抽選テーブル選択処理、乱数判定処理、抽選フラグ設定処理などを行う。
抽選テーブル選択処理では、図示しない記憶手段(ROM)に格納されている複数の抽選テーブル(図示せず)のうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定する。抽選テーブルでは、複数の乱数値(例えば、0〜65535の65536個の乱数値)のそれぞれに対して、リプレイ、小役(ベル、チェリー)、レギュラーボーナス(RB:ボーナス)、およびビッグボーナス(BB:ボーナス)などの各種の役が対応づけられている。また、遊技状態として、通常状態、ボーナス成立状態、およびボーナス状態が設定可能とされ、さらにリプレイの抽選状態として、リプレイ無抽選状態、リプレイ低確率状態、リプレイ高確率状態が設定可能とされる。
乱数判定処理では、スタートスイッチ134からのスタート信号に基づいて、遊技毎に前記乱数発生手段(図示せず)から乱数値(抽選用乱数)を取得し、取得した乱数値について前記抽選テーブルを参照して役に当選したか否かを判定する。
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役の抽選フラグを非当選状態(第1のフラグ状態、オフ状態)から当選状態(第2のフラグ状態、オン状態)に設定する。2種類以上の役が重複して当選した場合には、重複して当選した2種類以上の役のそれぞれに対応する抽選フラグが当選状態に設定される。抽選フラグの設定情報は、記憶手段(RAM)に格納される。
入賞するまで次回以降の遊技に当選状態を持ち越し可能な抽選フラグ(持越可能フラグ)と、入賞の如何に関わらず次回以降の遊技に当選状態を持ち越さずに非当選状態にリセットされる抽選フラグ(持越不可フラグ)とが用意されていることがある。この場合、前者の持越可能フラグが対応づけられる役としては、レギュラーボーナス(RB)およびビッグボーナス(BB)があり、それ以外の役(例えば、小役、リプレイ)は後者の持越不可フラグに対応づけられている。すなわち抽選フラグ設定処理では、内部抽選でレギュラーボーナスに当選すると、レギュラーボーナスの抽選フラグの当選状態を、レギュラーボーナスが入賞するまで持ち越す処理を行い、内部抽選でビッグボーナスに当選すると、ビッグボーナスの抽選フラグの当選状態を、ビッグボーナスが入賞するまで持ち越す処理を行う。このときメイン基板10は、内部抽選機能により、レギュラーボーナスやビッグボーナスの抽選フラグの当選状態が持ち越されている遊技でも、レギュラーボーナスおよびビッグボーナス以外の役(小役およびリプレイ)についての当否を決定する内部抽選を行っている。すなわち抽選フラグ設定処理では、レギュラーボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているレギュラーボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる2種類以上の役に対応する抽選フラグを当選状態に設定し、ビッグボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているビッグボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる2種類以上の役に対応する抽選フラグを当選状態に設定する。
メイン基板10は、所定条件下で内部抽選におけるリプレイの当選確率を変動させる制御を行うことがある(リプレイ確率変動機能)。リプレイの抽選状態として、リプレイが内部抽選の対象から除外されるリプレイ無抽選状態、リプレイの当選確率が約1/7.3に設定されるリプレイ低確率状態、およびリプレイの当選確率が約1/6に設定されるリプレイ高確率状態という複数種類の抽選状態を設定可能とされている。リプレイの抽選状態を変化させることにより、内部抽選におけるリプレイの当選確率を変動させる。
メイン基板10は、遊技者のスタートスイッチ134の押下操作(回転開始操作)によるスタート信号に基づいて、第1リール〜第3リールをステッピングモータにより回転駆動させ、第1リール〜第3リールの回転速度が所定速度(約80rpm:1分間あたり約80回転となる回転速度)に達した状態において回転中のリールにそれぞれ対応する3つのストップボタン140の押下操作(停止操作)を許可する制御を行うとともに、ステッピングモータにより回転駆動されている第1リール〜第3リールを抽選フラグの設定状態(内部抽選の結果)に応じて停止させる制御を行う(リール制御機能)。
メイン基板10は、3つのストップボタン140に対する押下操作(停止操作)が許可(有効化)された状態において、遊技者が3つのストップボタン140を押下することにより、そのリール停止信号に基づいて、リールユニット203のステッピングモータへの駆動パルス(モータ駆動信号)の供給を停止することにより、第1リール〜第3リールの各リールを停止させる制御を行う。
すなわち、メイン基板10は、3つのストップボタン140の各ボタンが押下される毎に、第1リール〜第3リールのうち押下されたボタンに対応するリールの停止位置を決定して、決定された停止位置でリールを停止させる制御を行っている。具体的には、記憶手段(ROM)に記憶されている停止制御テーブル(図示せず)を参照して3つのストップボタンの押下タイミングや押下順序等(停止操作の態様)に応じた第1リール〜第3リールの停止位置を決定し、決定された停止位置で第1リール〜第3リールを停止させる制御を行う。
ここで停止制御テーブルでは、ストップボタン140の作動時点における第1リール〜第3リールの位置(押下検出位置)と、第1リール〜第3リールの実際の停止位置(または押下検出位置からの滑りコマ数)との対応関係が設定されている。抽選フラグの設定状態に応じて、第1リール〜第3リールの停止位置を定めるための停止制御テーブルが用意されることもある。
遊技機では、リールユニット203がフォトセンサからなるインデックスセンサ(図示せず)を備えており、メイン基板10は、リールが1回転する毎にインデックスセンサで検出される基準位置信号に基づいて、リールの基準位置(インデックスセンサによって検出されるコマ)からの回転角度(ステップモータの回転軸の回転ステップ数)を求めることによって、現在のリールの回転状態を監視することができるようになっている。すなわち、メイン基板10は、ストップスイッチ140の作動時におけるリールの位置を、リールの基準位置からの回転角度を求めることにより得ることができる。
メイン基板10は、いわゆる引き込み処理と蹴飛ばし処理とをリールを停止させる制御として行っている。引き込み処理とは、抽選フラグが当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止するように(当選した役を入賞させることができるように)リールを停止させる制御処理である。一方蹴飛ばし処理とは、抽選フラグが非当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止しないように(当選していない役を入賞させることができないように)リールを停止させる制御処理である。すなわち本実施形態の遊技機では、上記引き込み処理及び蹴飛ばし処理を実現させるべく、抽選フラグの設定状態、ストップボタン140の押下タイミング、押下順序、既に停止しているリールの停止位置(表示図柄の種類)などに応じて各リールの停止位置が変化するように停止制御テーブルが設定されている。このように、メイン基板10は、抽選フラグが当選状態に設定された役の図柄を入賞の形態で停止可能にし、一方で抽選フラグが非当選状態に設定された役の図柄が入賞の形態で停止しないように第1リール〜第3リールを停止させる制御を行っている。
本実施形態の遊技機では、第1リール〜第3リールが、ストップボタン140が押下された時点から190ms以内に、押下されたストップボタンに対応する回転中のリールを停止させる制御状態に設定されている。すなわち回転している各リールの停止位置を決めるための停止制御テーブルでは、ストップボタン140の押下時点から各リールが停止するまでに要するコマ数が0コマ〜4コマの範囲(所定の引き込み範囲)で設定されている。
メイン基板10は、第1リール〜第3リールの停止態様に基づいて、役が入賞したか否かを判定する処理を行う。具体的には、記憶手段(ROM)に記憶されている入賞判定テーブルを参照しながら、第1リール〜第3リールの全てが停止した時点で入賞判定ライン上に表示されている図柄組合せが、予め定められた役の入賞の形態であるか否かを判定する(入賞判定機能)。
メイン基板10は、入賞判定機能による判定結果に基づいて、入賞時処理を実行する。入賞時処理としては、例えば、小役が入賞した場合にはホッパ81を駆動してメダルの払出制御処理が行われるか、あるいはクレジットの増加され(規定の最大枚数例えば50枚まで増加され、それを超えた分だけ実際にメダル払い出される)、リプレイが入賞した場合にはリプレイ処理が行われ、ビッグボーナスやレギュラーボーナスが入賞した場合には遊技状態を移行させる遊技状態移行制御処理が行われる。
メイン基板10は、遊技結果に応じたメダルの払い出しに関する払出制御処理を行う(払出制御機能)。具体的には、小役が入賞した場合に、役毎に予め定められている配当に基づいて遊技におけるメダルの払出数を決定し、決定された払出数に相当するメダルを、ホッパ駆動部80でホッパ81を駆動して払い出させる。
メダルのクレジット(内部貯留)が許可されている場合には、ホッパ81によって実際にメダルの払い出しを行う代わりに、記憶手段(RAM)のクレジット記憶領域(図示省略)に記憶されているクレジット数(クレジットされたメダルの数)に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。
メイン基板10は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ準備状態に設定するリプレイ処理(再遊技処理)を行う(リプレイ処理機能)。リプレイが入賞した場合には、遊技者の手持ちのメダル(クレジットメダルを含む)を使わずに前回の遊技と同じ規定投入数のメダルが自動的に投入状態に設定される自動投入処理が行われ、遊技機が前回の遊技と同じ入賞判定ラインを有効化した状態で次回の遊技における回転開始操作(遊技者によるスタートスイッチ134の押下操作)を待機する状態に設定される。
メイン基板10は、通常状態、ボーナス成立状態、およびボーナス状態の間で遊技状態を移行させる制御を行うことがある(遊技状態移行制御機能)。遊技状態の移行条件は、1の条件が定められていてもよいし、複数の条件が定められていてもよい。複数の条件が定められている場合には、複数の条件のうち1の条件が成立したこと、あるいは複数の条件の全てが成立したことに基づいて、遊技状態を他の遊技状態へ移行させることができる。
通常状態は、複数種類の遊技状態の中で初期状態に相当する遊技状態で、通常状態からはボーナス成立状態への移行が可能となっている。ボーナス成立状態は、内部抽選でビッグボーナスあるいはレギュラーボーナスに当選したことを契機として移行する遊技状態である。ボーナス成立状態では、通常状態における内部抽選でビッグボーナスが当選した場合、ビッグボーナスが入賞するまでビッグボーナスに対応する抽選フラグが当選状態に維持され、通常状態における内部抽選でレギュラーボーナスが当選した場合、レギュラーボーナスが入賞するまでレギュラーボーナスに対応する抽選フラグが当選状態に維持される。ボーナス状態では、ボーナス遊技によって払い出されたメダルの合計数により終了条件が成立したか否かを判断し、入賞したボーナスの種類に応じて予め定められた払出上限数を超えるメダルが払い出されると、ボーナス状態を終了させて、遊技状態を通常状態へ復帰させる。
図4は、サブ基板20とその周辺基板の接続の説明図である。図3に示すように、サブ基板20には、可動体制御部60の他に、液晶制御基板200、スピーカ基板201、LED基板202が接続されている。これらは、サブ基板20の周辺基板と言うべきものである。
これら複数の周辺基板のうちの少なくとも一部(例えば、可動体制御部60、LED基板202)は、図4のように接続されている。すなわち、複数のスレーブ基板(周辺基板)が共通のバスに接続され、当該バスを通じてサブ基板20と通信を行う。当該バスを流れる信号は、パラレル信号(例えば8ビットの線で信号を伝送するもの)あるいはシリアル信号(例えば、I2C(Inter-Integrated Circuit)のようにデータ線とクロック線の2本の線で信号を伝送するもの)である。なお、図4の例ではサブ基板20から出た信号がサブ基板20に戻っているが、これは一例であり、一般的なバス構造のように接続端の反対側の端が開放されていてもよい。
サブ基板20からスレーブ基板へは、アドレスを指定してデータを送る。例えば、スレーブ基板としての可動体制御部60へデータを送る場合は、可動体制御部60に予め対応づけられているアドレスを指定してデータをバスに流す。可動体制御部60は、アドレスにより自分宛のデータであることを認識すると、アドレスに引き続くデータをラッチに取り込む。取り込んだデータに従って所定の動作を行う。取り込んだデータが、可動体制御部60で取得したあるいは取得可能なデータをサブ基板20へ送信するコマンドであれば、当該データをサブ基板20へ送信する(所定のデータ受信後は、予めさだめられたデータを常にサブ基板20へ送信するようにすることもできる)。
図4では、本発明の実施の形態に係る遊技機の処理に必要な処理部CPUと、タイマTMと、バッファBUFとを示している。処理部CPUは、後述のメイン処理と割り込み処理を実行するものであり、タイマTMは処理部CPUに対して割り込みを一定間隔でかけるものであり、バッファBUFは可動体制御部60などのスレーブ基板へのデータ及び/又はスレーブ基板からのデータを一時的に記憶するものである。処理部CPU、タイマTM、及び、バッファBUFにおける処理については、後に詳しく説明する。
図5は、サブ基板20のハードウエア構成の説明図である。サブ基板20は、実際には図5のハードウエア構成で実現される。すなわち、複数のビット(配線)からなるBUSに、CPU(処理装置)、ROM(不揮発性記憶部)、メモリRWM(読み出し及び書き込み可能なメモリ)及びI/O(入出力装置)が接続されている。後述する処理は、図5のROMに予め記憶されたプログラムに従ってCPUが動作することで実行される。CPUは、処理を行う際に各種データをメモリRWMに記憶させ、必要に応じて読み出し、処理を行い、必要に応じて再度記憶する、といった処理を行う。メモリRWMはバッテリバックアップを受けていることがあり、この場合は電源断の間でもその記憶内容は保持されている。
タイマTMは、前述のように処理部CPUに対して割り込みを一定間隔でかけるものであり、例えば専用のICなどのハードウエアで実現されるが、ソフトウエア(プログラム)で実現するようにしてもよい。I/Oは、例えば通信処理用のICであり、所定のプロトコルにしたがってデータ通信を行う。図示しないレジスタにアドレス及びデータを設定することで、スレーブ基板との通信を自動的に行う。
図4で示したバッファBUFは、例えば、図5のメモリRWM上で実現される(当該メモリの特定の領域にバッファBUFに書き込むべきデータが書き込まれる)。あるいは、バッファBUFは、レジスタICのようなハードウエアで実現されてもよい。
次に、遊技機における遊技処理について図6を参照して説明を加える。
一般的に、遊技機において、メダルの投入(クレジットの投入)に始まり、払い出しが終了するまで(又はクレジット数の増加が終了するまで)が一遊技である。一遊技が終了するまでは次回の遊技に進めないという決まりがある。
先ず、規定枚数のメダルが投入されることでスタートスイッチ134が有効になり、図6の処理が開始される。
ステップS1において、スタートスイッチ134が操作されることにより、スタートスイッチ134がONとなる。そして、次のステップS2に進む。
ステップS2において、メイン基板10により内部抽選が行われる。そして、次のステップS3に進む。
ステップS3において、第1リール〜第3リールの回転が開始する。そして、次のステップS4に進む。
ステップS4において、ストップボタン140が操作されることにより、ストップボタン140がONとなる。そして、次のステップS5に進む。
ステップS5において、第1リール〜第3リールのうち押下されたストップボタン140に対応するリールについて回転停止処理が行われる。そして、次のステップS6に進む。
ステップS6において、三個のリールに対応するストップボタン140の操作が行われたか否かが判定される。そして、三個のリールに対応する3つのストップボタン140すべての操作が行われたと判定された場合、次のステップS7に進む。
ステップS7において、抽選フラグ成立中に当該抽選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。そして、入賞が確定したと判定された場合、次のステップS8に進む。なお、入賞が確定しなかったときは、抽選フラグが成立していてもメダルの払い出しは行われない。
ステップS8において、入賞図柄に相当するメダルが払い出される。
メダルの投入からステップS8の実行完了までが、一遊技である。ステップS8の待機処理が終了すると、処理はフローチャートの最初に戻る。言い換えれば、次の遊技が可能な状態になる(次遊技へ移行する)。
図7は、発明の実施の形態に係る可動体50の概略図である。同図(a)は上面図、同図(b)は正面図、同図(c)はB−B矢視断面図、同図(d)はA−A矢視断面図である。なお、同図ではステッピングモータ54を含む駆動部と、インデックス56及びインデックスセンサ57は右側のシャッター51Rにのみ示されているが、同じものが左側のシャッター51Lについても設けられている(左側のものについての図示は省略されている)。
可動体50は、左側のシャッター51L及び右側のシャッター51Rと、シャッター51L及び51Rの上端及び下端をそれぞれ摺動自在に保持する上側のレール52U及び下側のレール52Lと、可動体50の内側に下側のレール52Lと平行に設けられたラック53aと、これにかみ合うピニオン53bと、ピニオン53bがその回転軸に直接あるいは図示しない減速歯車機構を介して取り付けられたステッピングモータ54と、右側のシャッター51Rの内側に取り付けられたブラケット55(腕金・張り出し金具であるブラケット55はステッピングモータ54の取り付け台座でもある)と、右側のシャッター51Rの内側に取り付けられたインデックス56と、インデックス56を検知するインデックスセンサ57とを備える。同図では、ピニオン53b〜インデックス56を右側のシャッター51Rについて示しているが、左側のシャッター51Lについても同様の構造であり、その説明は省略する。
同図(b)は、シャッター51L及び51Rをそれぞれ両側へ一杯に開いた状態をしめしており、同図の例では当該状態においてインデックスセンサ57はインデックス56を検知する。インデックスセンサ57は、例えばフォトインタラプタのような光学式あるいはマイクロスイッチのような接触式などのセンサである。シャッター51L及び51Rの移動可能な範囲は同じであり、可動体50の中央(詳しくは、シャッター51L及び51Rをそれぞれ両側へ一杯に開いた状態におけるシャッター51L及び51Rの端間の中点)である中間点までしか移動できない。同図(b)の0、50、100の数字は移動範囲を示す。100は中間点に相当する。シャッター51Lは左側の0から中央の100まで移動可能であり、シャッター51Rは右側の0から中央の100まで移動可能である。そして、インデックスセンサ57は、シャッター51L、51Rが「0」の位置に来たことを検知するものである。すなわち、図8(a)に示すように、シャッター51L、51Rが一杯に開いたとき(下限に達したとき)にその端が「0」の位置にある。2つのシャッター51L及び51Rの端がそれぞれ「0」の位置にあると、それらがそれぞれ左右に一杯に開き、液晶表示装置LCDが露出する(遊技者が画面をみることができる)。図8(b)に示すように、シャッター51L、51Rが完全に閉じたとき(上限に達したとき)にその端が「100」の位置にある。2つのシャッター51L及び51Rの端がそれぞれ「100」の位置に移動しそれらが完全に閉じると、液晶表示装置LCDは全く見えなくなる。
ラック53aとピニオン53bは、回転力を直線の動きに変換する機構である。ピニオン53bは小口径の円形歯車であり、ラック53aは平板状の棒に歯切りをした(歯がつけられた)ものである。ステッピングモータ54によりピニオン53bに回転力を加えると、シャッター51L,51Rがラック53a上を水平方向に動く。図7によれば、ラック53aは可動体50のフレームに固定され、ステッピングモータ54はブラケット55によりシャッター51L,51Rに取り付けられているから、シャッター51L,51Rのほうが動く。
ステッピングモータは、回転子(ロータ)として歯車状の鉄心あるいは永久磁石を備え、固定子(ステータ)として複数の巻線(コイル)を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシンのリールの回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、2つ(二相)、4つ(4相)、5つ(5相)のものもある。ステッピングモータのコイルに所定の順番で電流を流すことでモータの軸は回転し、逆の順番で電流を流すとモータの軸は逆回転する。
図7及び図8に示した可動体はあくまで一例である。また、上記のインデックス56とインデックスセンサ57の位置関係及び可動体51L,51Rの位置の定義はあくまで一例である。例えば、可動体の移動範囲が−50から100までであり、インデックスセンサが−20,0,+20などの位置を検知するものであってもよい。ここで、マイナスの値は、可動体51L,51Rの0の位置からさらに外側(マイナス側)に動くことを意味する。例えば、−50は、図7(b)の0の位置から、0と50の間に相当する距離を外側に(100の位置とは反対側に)動いた位置になる。
上記例では、可動体51L,51Rの位置をインデックス56とインデックスセンサ57により検出していたが、他の位置検出手段(センサ)を使用するようにしてもよい。例えば、インデックス56とインデックスセンサ57に代えて磁石とリードスイッチの組み合わせを用いることができる。あるいは、スライド抵抗のようなポテンショメーターを、その作用部が可動体51L,51Rの動きに連動するように設ければ、当該ポテンションメーターの抵抗値(あるいは電圧値)に基づき可動体51L,51Rの位置を直接知ることができる(可動体が特定の位置にあることだけではなく、可動体がどの位置にあるかを知ることができる)。
図9は、発明の実施の形態に係る可動体の制御処理のフローチャートである。
図9のフローチャートは、本発明の実施の形態の説明に必要な最小限の処理のみを示した簡易なものである。実際の遊技機では他に多種多様な処理を行っている。
S100、S101は、サブ基板の処理部CPUのメイン処理であり、S110乃至S114は、タイマTMにより起動される割り込み処理である。
まず、メイン処理について説明する。図示しない処理(この処理はS101:その他の処理に含まれることもある)により、演出の要請に応じて可動体をどのように動かすか(例えば、シャッター51R,51Lを全開する、あるいは全閉する、特定の位置まで動かしてそこで止める、開閉を繰り返すなど)が決定される。これを受けて、S100:モータ動作情報登録処理では、ステッピングモータ54の移動ステップ数(与えるパルス数)、回転方向、回転速度(パルスの周波数)、などの情報(動作情報)を登録する。動作情報とは、可動体の動きを指示するための情報である。例えば、シャッター51R,51Lを特定の位置まで動かしてそこで止める場合は、現在位置と目標位置の差に基づき移動ステップ数を決定し、現在位置と目標位置の位置関係に基づき回転方向を設定し(前記差が小さくなるように回転方向を設定する)、素早い演出であればパルス周波数を高い周波数fHとし、ゆっくりとした演出であればそれを低い周波数fLとする(fH>fL)。
次に、割り込み処理について説明する。
メイン処理実行中に、タイマTMから割り込み信号を受けると、処理部CPUは予め定められたタイマ割り込み処理を実行する。タイマTMが一定間隔で割り込み信号を発生するとき、図9のタイマ割り込み処理はほぼ一定間隔で実行される。当該タイマ割り込み処理はステッピングモータ54の駆動(具体的には励磁データ送信)を行うものであるから、タイマTMの割り込み信号の発生タイミングを調整することで、ステッピングモータ54の駆動タイミングを調整することができる。タイマTMの割り込み信号の発生が規則的であれば、ステッピングモータ54の駆動も規則的になり、割り込み信号の発生頻度が高くなればステッピングモータ54の駆動頻度も高くなる。低い場合も同様である。そこで、タイマTMの割り込み信号の発生タイミングを規則的とし、適切な間隔とすることで可動体をスムーズに動かすことができる。実際は、可動体のスムーズな動きを実現できる最低限の割り込み周期であることが適当と思われる。なお、割り込み処理の最初においてS110:送受信データの設定が実行されるから、励磁データ送信は、他の処理(S111乃至S114やS101)の影響を受けることがない。
S110:送受信データを設定する。
スレーブ基板である可動体制御部60へ励磁データを送るため、及び、可動体制御部60からインデックスセンサ57のデータを受けるための設定を行う。例えば、I/Oの特定のレジスタに励磁データとともに、可動体制御部60に対して取得したインデックスセンサ57のデータを送るように命ずるコマンドを書き込む。ここで設定されたデータは所定のタイミングで(例えば、通信用のIC(I/O)のレジスタに送受信データ及び相手先のアドレスが設定されていて、当該ICに対してデータ送受信の割り込みがかけられたとき)、指定された相手である可動体制御部60へ送られる。可動体制御部60は、受けた励磁データに基づきステッピングモータ54の所定の相に電流を流し、他の相の電流をオフにする。ステッピングモータ54を停止する際には、全ての相に電流を流し(全相励磁)、停止後に全ての相の電流をオフにする。他に、特定の相に一定時間持続して電流を流して停止させるというやり方もある。
ここで設定する送信データ(励磁データ)は、前回のタイマ割り込み処理で生成され、バッファ(第1記憶部BUF1)に記憶されていたデータである。
前記コマンドに従って、可動体制御部60はサブ基板20へインデックスセンサ57のデータ(位置情報)を送るが、それは励磁データ受信処理の後であり、S110の処理開始から時間が経過している。S110:送受信データの設定が完了すると、データの実際の送受信を待たずに次の処理S111が実行される。したがって、インデックスセンサ57のデータ(位置情報)受信とS111の処理が同時並行になされていることになるから、S111では、今回の割り込み処理(直近の割り込み信号により起動された割り込み処理)で取得されるべきインデックスセンサ57のデータの受信は完了していない。言い換えれば、S111では今回のインデックスセンサ57のデータは取得できず、前回(ひとつ前の割り込み信号による処理)で取得したインデックスセンサ57のデータをバッファ(第2記憶部BUF2)から取得する。今回の割り込み処理で取得されたインデックスセンサ57のデータは、バッファ(第2記憶部BUF2)に書き込まれる。
ところで、サブ基板20とスレーブ基板の間では所定のプロトコルでデータ送受信が行われており、データの形式も予め定められている。このため、ステッピングモータ54の励磁命令(例えば、第1相はオン、第2相はオフといった命令)をそのまま送ることはできず、通信に適する形式の励磁データにする必要がある。また、励磁データを受けた可動体制御部60では、当該励磁データを、ステッピングモータ54を直接駆動する命令に変換する必要がある(例えば、第1相の端子A,Bの間に電圧を印加し、第2相の端子C,Dの電圧をゼロ(オフ)にする)。同様に、インデックスセンサ57の信号についても、そのオンオフ信号(H/L信号)を所定の形式のデータに変換し、サブ基板20へ送る。サブ基板20は、受けたデータをインデックスセンサ57のオンオフ信号(H/L信号)に対応するデータ(0,1)に変換する。以下の説明では「データ」は、主に送受信されるデータ(バスを伝播する信号)を意味し、「値」はデータから得られたオンオフなどの情報を意味する。
S111:インデックスセンサ値を更新する。
インデックスセンサ57のデータ(センサの位置情報)に基づきインデックスセンサの値(位置情報)を更新する。このステップで取得するデータは、前述のように前回のタイマ割り込み処理で取得したデータである。
前回のタイマ割り込み処理で取得したデータはバッファ(第2記憶部BUF2)に書き込まれている。S111では当該データを読み出す。ここで取得したデータがインデックスセンサ57のオフを示すものであればインデックスセンサの値をオフ(0)とし、オンであれば当該値をオン(1)とする。なお、スライド抵抗のようなポテンションメーターであれば、可動体の位置を直接知ることができる。例えば、可動体制御部60でポテンショメーターの出力電圧値をA/D変換し、それをデータとしてサブ基板に送るときは、サブ基板20で受けたデータが直接可動体の絶対位置を意味する。この場合、S111は「可動体の位置を更新する」になる。
S112:モータ動作情報を解析する。
モータ動作情報の解析とは、サブ基板20から可動体制御部60に命令を送るための前処理である。具体的には、後述のS113で励磁データを生成するために必要なデータを収集することである。モータ動作情報は、例えば、モータに関する動作(インデックス検知、停止、全閉、全開など)、動作時間(回転系の場合はステップ数(座標)、停止系の場合は停止時間)、速度(タイマ割り込みが何回発生したら励磁を更新するか)などである。
なお、モータの動きから情報を解析するようにしてもよい。送信した励磁データ(駆動部を駆動するためのデータ)及びインデックスセンサの値(可動体の位置情報)に基づき、あるいは励磁データを作成する際の基礎になった動作情報に基づき、移動ステップ数(与えるパルス数)、回転方向、回転速度(パルスの周波数)などの情報を収集するようにしてもよい。可動体の位置を求める際に、特に重要なのは移動ステップ数(パルス数)である。移動ステップ数(パルス数)をカウントすることによりステッピングモータ54の回転角度、すなわち可動体の移動量の相対値を知ることができる。このカウント値をインデックスセンサの値に基づき(例えばオフからオンになったとき)リセットすることで、可動体の位置を知ることができる。回転方向は励磁の順番(第1相、第2相の順番で励磁するか、第2相、第1相の順番で励磁するか)で知ることができるし、その速度はパルスの周波数あるいはパルス幅から知ることができる。
この処理により、ステッピングモータ54の動き、つまり可動体がどの位置にあるか、どちらの方向に移動しているか、その速度がいくらか、について把握することができる。
S113:次回出力励磁データを生成する。
S100で与えられた情報に従って、S112で得た情報に基づき次のタイマ割り込み処理で送るべき励磁データを生成する。例えば、目標位置に到達していなければ、前回と同様の励磁データを生成してモータ54を同じように回転させ、目標位置に到達していれば、全ての相を励磁してモータ54を停止させる(停止した後、励磁は解除する)。
そして、生成したデータを次回のタイマ割り込み処理で送るためにバッファ(第1記憶部BUF1)に書き込む。
S114:ステップ管理を行う。
例えば、S112の解析結果の移動ステップ数(パルス数)のカウントに基づき可動体の位置を更新したり、インデックスセンサの値に基づき補正したりする。
発明の実施の形態の遊技機の動作は以上の通りであるが、理解を容易にするために、図10を参照してさらに説明を加える。
図10(a)は、バッファBUFを中心としてデータの入出力を見たものであり、タイマ割り込み処理によりバッファBUF1から励磁データが読み出されると、データ送受信割り込み処理により当該データがスレーブ基板へ送信されるとともに、その後生成された励磁データがバッファBUF1に書き込まれる。他方、タイマ割り込み処理によりインデックスセンサのデータを受信するように準備されると、その受信を待たずにタイマ割り込み処理によりバッファBUF2から前回のインデックスセンサのデータが読み出される。そして、データ送受信割り込み処理によりインデックスセンサのデータが取得されると、これはバッファBUF2に書き込まれる。
図10(b)は、データの流れの概略を示す(送受信されるデータに限らず、処理部CPUで処理されるデータも含む)。同図はタイミングチャートであり、右側が未来である。データの(0)は前回の割り込み処理で取得・生成されたデータを意味し、(+1)は今回の割り込み処理で取得・生成されたデータを意味する。
タイマ割り込みが発生すると、まず、バッファBUF1の励磁データ(0)が送受信データ設定処理され(符号ア)、その励磁データが送信される(符号イ、ウ)。続いて、バッファBUF2の前回のインデックスセンサのデータ(0)が読み出され、インデックスセンサ値更新処理される(符号エ)。そして、モータ動作情報解析・励磁データ生成が行われ(符号オ)、生成された励磁データ(+1)がバッファBUF1に書き込まれる(符号カ)。その間にインデックスセンサのデータが受信されると、それがインデックスセンサのデータ(+1)として、バッファBUF2に書き込まれる(符号キ、ク)。
図10(b)によれば、割り込み周期の1回分遅れたデータに基づき処理が行われていることがわかる。
発明の実施の形態によれば、割り込み処理の開始直後に、前回の割り込みで生成したデータの送信設定及びインデックスセンサの受信設定を行うことで、その後の処理に要する時間に影響されることがなくなり、サブ基板と可動体制御の間におけるデータの送受信を規則的に行うことができ、可動体のスムーズな動きを実現できる。
より具体的には、発明の実施の形態によれば次のようなメリットがある。
(1)モータ動作情報登録をメイン処理で行い、所定間隔で行われるタイマによる割り込み処理で励磁データやインデックスセンサのデータ等の送受信を行うようにしたので、タイマによる割り込みタイミングで送受信を行うことができる。例えば、割り込みを一定間隔Tで行うと、図11(a)に示すように一定間隔T(あるいはこれの整数倍)で規則的に送受信することができる。間隔Tはステッピングモータ(駆動部)の駆動周期に対応している。例えば、可動体をスムーズに動かすために最適なステッピングモータの励磁パルスの更新周期が存在するとき、この更新周期を実現できるように間隔Tを選択する(簡単には、最適な更新周期=間隔Tとする)。
(2)予め励磁データを作成しバッファに記憶しておき、割り込み処理の最初で励磁データの送信を行うので、タイマの割り込み間隔に従い規則的に励磁データを送信することができる。もし、励磁データを生成してから送信するようにしたとすると、処理内容や他の処理との関係(他の割り込みが発生した、負荷の高い処理が発生した、など)によって送信までの時間が変動するおそれがある。図11(b)に示すように、たとえ割り込みを規則的に行ったとしても、その周期Tよりも長い時間T+の期間が生じる可能性が高い。もし処理内容の負荷が通常よりも小さいものであれば、Tよりも短い時間T−で処理が終わるかもしれない。いずれの場合も、送受信のタイミングが揺らぐという問題が生じる。
(3)インデックスセンサの受信データをバッファに記憶しておき、励磁データの送信の際にバッファからインデックスセンサのデータを読み出して所定の処理を行うとともに、上記(2)の処理と同時にインデックスセンサのデータの受信設定を行い、インデックスセンサのデータを受信し、受信データをバッファに記憶するようにしたので、励磁データと同様に規則的にインデックスセンサのデータを受信することができる。また、バッファを介することにより、受信完了を待たずに処理を開始することができる。以上のことにより、サブ基板と可動体制御に係るスレーブ基板の間におけるデータの送受信を規則的に行うことのでき、可動体のスムーズな動きを実現することができる。仮に、送信と受信の設定を別々に行うと、2回のデータ送受信割り込みが必要となり、通信完了まで時間を要する。また、仮に、インデックスセンサのデータの受信完了を待つとすると、通信状況(他のスレーブ基板と通信が競合しているなど)によっては受信完了に時間を要し、その結果、タイマ割り込み処理の終了が遅れることがある。その遅れが著しいと次回のタイマ割り込みまでに処理が終了しないことも考えられる。
もし、タイマ割り込みを行わないとすると、図11(c)のように、同図(b)よりも大きな揺らぎが発生すると予想される(++は、+より大きな揺らぎが発生していることを意味する)。例えば、メイン処理で所定の条件のとき(例えば励磁データの生成が完了したとき)にデータ送信する場合、処理負荷の大小、他の処理との関係、他の割り込みとの関係などにより、データ送信間隔が大きく変動すると思われる。本発明の実施の形態にように、基本的な設定はメイン処理で行い、データの送受信はタイマ割り込み処理で行うことは、データ送信間隔の安定の点で非常に優れていると言える。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。