以下、図面を参照しながら、スロットマシン10の実施形態を詳細に説明する。スロットマシン10は、規定数(1、2又は3枚)の遊技メダル(以下、単に「メダル」という。)が賭けられた状態で遊技が実施可能となり、複数種類の図柄が付されたリール40L、40C、40Rの回転が停止した時に表示された図柄の組合せによって結果が定まる単位遊技を繰り返し実行することができる遊技機である。なお、本明細書において「規定数」とは、遊技状態に応じて当該遊技に賭けることができるメダルの数をいう。
[スロットマシンの前面外観構成]
はじめに、スロットマシン10の構成を説明する。図1は、スロットマシン10の前面外観を示す正面図である。スロットマシン10は、略矩形状の箱体である筐体を備え、前扉20が筐体の開口を開閉可能とするように設けられる。通常は、図1に示されるように、前扉20が開口を閉塞する位置で筐体にロックされている。
前扉20は、機種ごとに様々な意匠が施されたパネル部材により構成される。前扉20のパネル部材は、リール40L、40C、40Rに付された図柄の表示等を行う遊技領域である中段位置の中央パネル部30と、中央パネル部30の下方において主にリール40L、40C、40Rの回転及び停止等の遊技操作を行うためのスイッチ等が配置される操作パネル部50と、中央パネル部30の上方において主に遊技演出のためのランプやスピーカ等が配置される上部パネル部60と、操作パネル部50の下方においてスロットマシン10の遊技において登場するキャラクタなどが描かれる下部パネル部70と、により概ね構成される。なお、前扉20は、それぞれユニット化された中央パネル部30、操作パネル部50、上部パネル部60及び下部パネル部70等により組み立てられる。また、これらパネル部が一体として構成される1つのパネル部材により前扉20を製造してもよい。
中央パネル部30には、硬質アクリル等の樹脂板からなる中パネル31が設けられる。その中パネル31の略中央には、3列の縦長矩形の透明部からなる表示窓32が形成される。スロットマシン10は、この表示窓32を通して、筐体内部のリール40L、40C、40Rのそれぞれ横3列×縦3コマの合計9コマの図柄が視認可能とされている。
表示窓32には、リール40L、40C、40Rを横切る合計5本のラインが設定される。これら5本のラインは、水平方向の3本のライン(水平中段のラインL1、水平上段のラインL2A、水平下段のラインL2B)と、斜め方向の2本のライン(斜め右下がりのラインL3A、斜め右上がりのラインL3B)とからなる。
ここで本明細書では、スロットマシンにメダルを賭けることを「ベット」といい、「ベット数」とはスロットマシンの現時点の遊技に賭けられているメダルの数をいう。また、遊技に賭けられているメダルの数を管理する変数(記憶領域の名称)を単に「ベット数」ということがある。本実施形態のスロットマシン10では、ベット数に関わらず、水平中段のラインL1のみが入賞判定の基準となるライン(以下、「有効ライン」という。)として設定される。なお、ベット数に応じて複数の有効ラインが選択されてもよい。また、有効ラインを5本又は4本に予め定めておき、ベット数に応じて役の当選確率を異なるようにしてもよい。
中央パネル部30の中パネル31には、上述した表示窓32の他に、遊技に関する各種情報を遊技者へ知らせるための各種ランプ及び表示器等が設けられている。
例えば、表示窓32に隣接して3つの操作指示ランプ33l、33c、33rが設けられる。これら操作指示ランプ33l、33c、33rは、それぞれストップスイッチ56L、56C、56R及びリール40L、40C、40Rに対応し、例えば、アシストタイム(AT)の遊技において操作指示ランプ33l、33c、33rが点灯することで、停止操作をアシストする遊技者への報知に用いられる。
また、中パネル31の下部には、ベット数表示ランプ34a、34b、34c、クレジット数表示器35及び獲得枚数表示器36が設けられる。
ベット数表示ランプ34a、34b、34cは、当該遊技に賭けられたメダルの枚数を表示するランプである。すなわち、ベット数が「1」のときベット数表示ランプ34aのみが点灯し、ベット数が「2」のときベット数表示ランプ34a及び34bが点灯し、ベット数が「3」のとき全てのベット数表示ランプ34a、34b及び34cが点灯する。
クレジット数表示器35は、2桁の7セグメント数値表示器からなり、スロットマシン10にクレジットされているクレジット数を表示する。
ここで、「内部貯留」とは、遊技者による使用(具体的にはベット等)及び処分(具体的には清算・払い戻し等)の権原が及ぶメダルに関する貯留を意味し、スロットマシン内部での物理的なメダルの貯留を指すのではない。「クレジット」とは、スロットマシンにメダルを内部貯留することの他、スロットマシンに内部貯留されているメダルのことをいう場合もある。また、「クレジット数」とはスロットマシンに内部貯留されているメダルの数をいう。更にクレジットされているメダルの数を管理する変数(記憶領域の名称)を単に「クレジット数」ということがある。
獲得枚数表示器36は、2桁の7セグメント数値表示器からなり、当該遊技において入賞系の役が成立することにより遊技者に配当するメダルの枚数を表示する。なお、入賞によりメダルを払い出す態様としては、スロットマシン10にクレジットする場合と、後述するメダル払出装置83を駆動してメダル払出口71からメダルを払い出する場合とがある。
中央パネル部30の下方に設けられる操作パネル部50には、上面が若干遊技者側に傾斜する卓状面50aが形成されている。そして、その卓状面50aの右部に遊技者がスロットマシン10へメダルを投入するための「投入口」であるメダル投入口51が設けられる。ここで、メダルの「投入」とは、特に断らない限り本明細書ではメダル投入口51を介してスロットマシン10にメダルを投入することをいう。
メダル投入口51の内部には、投入されたメダルが正規又は非正規か選別するセレクタ28が設けられる。詳細は後述するが、セレクタ28は、メダルの受け入れを許可する位置又は拒否する位置に移動するブロッカ532と、投入されたメダルを検知する投入センサ(投入第1センサ541及び投入第2センサ542)を備えている。
ここで、メダルを「受け入れる」とは、投入されたメダルをスロットマシンの内部(具体的にはホッパー401)に物理的に受け入れることをいう。ブロッカ532がメダルの受け入れを拒否する位置にあるときにメダルが投入されると、メダルがブロッカ532に阻まれてメダル払出口71から返却される。
操作パネル部50の卓状面50aの左部には、遊技者がクレジットからメダルを賭ける指示をするための1枚ベットスイッチ52及びマックスベットスイッチ54が設けられる。詳細は後述するが1枚ベットスイッチ52が操作されると、スロットマシン10にクレジットされているメダルから1枚が遊技に賭けられる。マックスベットスイッチ54が操作されると、クレジットされているメダルから3枚が遊技に賭けられる。1枚ベットスイッチ52又はマックスベットスイッチ54の操作によりメダルが賭けられると、その賭けられたメダルの数がクレジットから減算され、これに伴ってクレジット数表示器35の表示値も減算される。
なお、スロットマシン10にメダルが未だ賭けられていない状態で遊技者がメダル投入口51からメダルを投入すると、そのメダルが投入されるごとにベット数表示ランプ34a、34b、34cが順次点灯し、それぞれの枚数に応じたメダルがスロットマシン10に賭けられる。そして、投入されたメダルの枚数が規定数最多の3枚になると、それ以降メダルが投入されるごとにクレジットが加算され、これに伴ってクレジット数表示器35の表示値も加算される。
操作パネル部50の正面左部には、傾倒操作が可能なスタートレバー55が設けられる。遊技者がスロットマシン10にメダルを賭けた後、スタートレバー55を操作すると、全てのリール40L、40C、40Rが一斉に回転を開始する。これにより、円筒状のリール40L、40C、40Rの各外周面に印刷された図柄が、表示窓32を通して上から下へとスクロールして表示される。
操作パネル部50の正面の中央部には、遊技者の押圧操作によってリール40L、40C、40Rの回転を停止させる操作(これを「停止操作」という。)をするための停止操作手段56である、3つのストップスイッチ56L、56C、56Rが設けられる。左端のストップスイッチ56Lは左端のリール(左リール)40Lに対応し、中央のストップスイッチ56Cは中央のリール(中リール)40Cに対応し、右端のストップスイッチ56Rは右端のリール(右リール)40Rに対応している。
すなわち、スロットマシン10は、スタートレバー55の傾倒操作により回転したリール40L、40C、40Rに対し、ストップスイッチ56Lが操作されるとリール40Lが停止し、ストップスイッチ56Cが操作されるとリール40Cが停止し、ストップスイッチ56Rが操作されるとリール40Rが停止するように構成されている。
また、操作パネル部50の正面右部には、賭けられた(ベットされた)メダル又は内部貯留(クレジット)されたメダルを清算して払い戻すための清算スイッチ57が設けられる。
中央パネル部30の上方に位置する上部パネル部60には、その中央部に例えばカラー液晶ディスプレイからなる画像表示装置61が設けられる。画像表示装置61は、例えば遊技の進行に応じて展開するアニメーションを演出画像として表示する。なお、スロットマシンに設けられる表示装置としては、画像表示装置61でなくても、例えばドットマトリクス式の表示装置であってもよい。また、遊技履歴や内部抽選結果の情報を文字や記号等で直接的に表示するものでもよく、そのような情報をコード化して表示するものでもよい。すなわち、表示装置として、用途や目的に適合したあらゆる方式の表示手段を用いることができる。
また、上部パネル部60には、上部ランプ62及びコーナーランプ63L、63Rが設けられる。上部ランプ62及びコーナーランプ63L、63Rは、例えばリール40L、40C、40Rが停止していずれかの役が成立した場合において、その役に応じたパターンで点灯及び点滅することで、役の成立を視覚的に演出する。
また、上部パネル部60には、ステレオのスピーカ64L、64Rが設けられる。例えば画像表示装置61が表示する動画の演出画像に伴って、演出効果音がスピーカ64L、64Rを介して出力される。
中央パネル部30の下方に位置する下部パネル部70には、メダル払出口71と受け皿72とが設けられる。メダル払出口71は、スロットマシン10の筐体内部に収容されるメダル払出装置83からのメダルを受け皿72に払い出す開口として形成される。
また、下部パネル部70の下方部左右にはスピーカ73L、73Rが設けられる。例えば、遊技において何らかの役が成立したとき、上部ランプ62及びコーナーランプ63L、63R等の演出ランプの点灯や点滅に連動した効果音がスピーカ73L、73Rを介して出力される。
[スロットマシンの内部構造]
図2は、前扉20を開いた状態でスロットマシン10の内部構造を示す図である。図2に示されるように、スロットマシン10は、矩形箱状の筐体80を備え、遊技中には前扉20によって筐体80が閉塞され施錠される。
筐体80内の水平フレームには、3つのリール40L、40C、40Rを回転可能に支持するリール装置40が、前扉20の中央パネル部30に対向するように位置決めされて設けられる。リール装置40において、各リール40L、40C、40Rは、それらの回転軸が一つの水平直線に一致して設けられる。また、各リール40L、40C、40Rは、リール装置40のフレームに固定されるステッピングモータ41L、41C、41Rによって、それぞれ独立して回転駆動される。
図3には、左リール40L、中リール40C及び右リール40Rに付される図柄の配列例が示される。左リール40L、中リール40C及び右リール40Rに付される図柄には、リールが回転する方向に沿って1ずつ増加する「0」〜「19」の図柄位置番号が割り当てられている。また、図柄の種類ごとに種別コードが割り当てられている。そして、各リール40L、40C、40Rについて図柄位置番号と種別コードとが対応付けられた図柄配列テーブルが後述するメイン制御基板100のROM1012に記憶されている。
図3に例示されるように、リールに付される図柄としては、「ベル」、「スイカ」、数字の「7」及び「チェリー」などをモチーフとしたものが一般的に用いられる。しかし、これらの図柄のモチーフは伝統的に慣用されているものに過ぎず、スロットマシンの機種、テーマ、登場するキャラクタ等に合わせて適宜選択することができる。また、リールの図柄数も20図柄に限定されず21図柄など任意の数を採用することができる。
再び図2を参照し、筐体80内の底部には、スロットマシン10に搭載される種々の機器・装置に電源を供給する電源ユニット82と、「払出装置」としてのメダル払出装置83とが収容される。メダル払出装置83は複数枚のメダルを貯留可能なホッパー401を備える。また、筐体80の背板上部に、「主制御基板」としてのメイン制御基板100が設けられている。メイン制御基板100は、スロットマシン10における主に遊技の進行を制御する。
前扉20の背面側には、その上段部にスピーカ21L、21Rを備える上パネルユニット22が設けられる。上パネルユニット22は、スピーカ21L、21Rの他に前面側の上述した画像表示装置61、上部ランプ62及びコーナーランプ63L、63R等を含めてユニット化されて構成される。また、上パネルユニット22の背面側には、サブ制御基板200が固定される。「副制御基板」としてのサブ制御基板200は、メイン制御基板100から送信されてくるコマンドに基づいて主に遊技の演出を制御する。
前扉20の背面側の中段部には、メダル投入口51から投入されたメダルの選別及び検知を行うセレクタ28が設けられる。セレクタ28の詳細については後述する。セレクタ28の下方には、セレクタ28によって正規と判定されたメダルをメダル払出装置83のホッパー401に導くシュート部24と、非正規のメダル又は異物と判定されたものを前面のメダル払出口71に導くメダル返却路25とが設けられる。また、前扉20の背面側の下段部には、上述したスピーカ26L、26Rがそれぞれ設けられている。
[メダル払出装置]
次に、メダル払出装置83の構成を説明する。図4はメダル払出装置83の正面図である。メダル払出装置83は、上側の開口部よりメダルを受け入れて貯留可能なホッパー401と、ホッパー401の底部に位置し当該ホッパーに貯留したメダルをメダル放出口402aから1枚ずつ外部へ放出して払い出す払出機構部402とを備えている。
ここで図5は、図4のA−A矢示線から見た場合の払出機構部402の構造図であって、回転捕捉板403の一部が破断して示されている。また図6及び7は、図5と同じ位置から見た場合の払出機構部402の構造図であって、払出センサ411、412の動作を説明するために搬送路面407が破断して示されている。
払出機構部402は、上述したホッパー401に貯留したメダルを捕捉する複数の捕捉孔403aが形成された回転捕捉板403と、当該回転捕捉板403の下側面に当接する搬送板404とが、上述のホッパー401の底面の位置で、払出モータ420により一体的に回転するように設けられている。
回転捕捉板403は、略円板状であり、メダルよりも若干大きな径を有して貫通する円孔である捕捉孔403aが周方向に等配分されて複数形成されている。回転捕捉板403の中心位置には、内蔵する払出モータ420の回転軸420aが固着している。搬送板404は、回転捕捉板403の下側面に当接するとともに、その中心位置で払出モータ420の回転軸420aに固着している。すなわち、回転捕捉板403及び搬送板404は、共通の回転軸420aを介して払出モータ420の駆動トルクが直接的に伝達され、一体的に回転するように取り付けられている。
搬送板404には、捕捉孔403aの直下の位置から若干、中心軸方向に湾入して切り欠かれた湾入部404aと、互いに隣接する各湾入部404a間で半径方向に放射状に延び、その先端部分が回転方向とは逆方向に緩やかに曲がる押進突起404bとが形成されている。
払出機構部402の傾斜する上面部には、回転捕捉板403及び搬送板404の回転領域を含む略円形の搬送路面407が陥没して形成されている。
かかる構成により、回転捕捉板403の捕捉孔403aを介して捕捉されたメダルは、搬送路面407、搬送板404の湾入部404a及び回転捕捉板403で画成される隙間空間に保持される。そして、払出モータ420を駆動し搬送板404を回転させることにより、保持されたメダルが押進突起404bに押圧されて搬送路面407に拘束されて周回し、メダル放出口402aへと搬送される。
また、搬送路面407とメダル放出口402aとの間には、放出路面408が形成されている。そして、軸位置が固定の固定ピンローラ413が放出路面408の一方の側壁に設けられ、軸位置が移動可能な可動ピンローラ414が放出路面408を遮る位置に設けられている。
可動ピンローラ414の軸は、放出路面408の裏面側において支軸410aを中心に回動可能に取り付けられた遮光ベース410に設けられている。すなわち、可動ピンローラ414が固定ピンローラ413に対して近接する位置(閉じる側)及び離間する位置(開く側)に往復移動するのに伴い、遮光ベース410が支軸410aを中心に往復回動するように設けられている。
遮光ベース410は、コイルバネ415により、ピンローラ414が閉じる側に常時付勢されている。また、搬送路面407の裏面側には、遮光ベース410の回動位置を検知するフォトインタラプタからなる払出第1センサ411及び払出第2センサ412が設けられている。本実施形態のメダル払出装置83でメダルの払い出しを検知するための払出センサは、これら払出第1センサ411及び払出第2センサ412により構成される。なお、払出センサを1つのフォトセンサで構成してもよい。
次に、かかる構成のメダル払出装置83の動作を説明する。メダルの払い出しをする際には、払出駆動信号が払出モータ420に対し出力され、払出モータ420が回転捕捉板403及び搬送板404を図5〜図7に示される時計回り方向に回転させる。このとき、搬送板404に保持されたメダルMが周回方向に搬送され、閉じ状態にある一対のピンローラ413、414に当接すると、押進突起404bによる押圧力がメダルMを介して2つのピンローラ413、414に作用し、可動ピンローラ414がコイルバネ415の付勢力に抗しながら開く側に押し広げられる(図6参照)。このとき、遮光ベース410が若干回動し、最初に払出第1センサ411を遮光して作動(オン)させる。コイルバネ415には、伸張による弾性エネルギーが蓄積される。
搬送板404が更に回転し、メダルMの中心がピンローラ413、414の各軸を結ぶ線を超えたとき(このとき各ピンローラ413、414は互いに最も離間する位置関係にある)、遮光ベース410が払出第2センサ412の遮光を解除して作動(オン)させるとともに、コイルバネ415による弾性収縮力がメダルMを放出する方向に作用する(図7参照)。このため、コイルバネ415に蓄積された弾性エネルギーが一気に開放し、閉じる側に移動する可動ピンローラ414によりメダルMが放出路面408に付勢されて押し出されて、メダル放出口402aから外部へ放出される。
なお、上述した実施形態では、払出センサ411、412が2つ透過型フォトセンサから構成されるが、払出センサは、検知対象物からの反射光によりオンする反射型フォトセンサであってもよい。また、払出センサは、可動ローラ414の移動を検知するものであれば1つであってもよい。具体的には、払出センサを、可動ローラ414が固定ピンローラ413に対して離間する位置でオンするフォトセンサとして構成することができる。
また、上述した実施形態では、回転捕捉板403と搬送板404とが別部材で構成されるが、メダルを捕捉する捕捉孔と搬送する湾入部とが連通する1つの回転部材として、これらの機能を実現してもよい。
[セレクタ]
次に、セレクタ28の構成を説明する。ここで図8は、セレクタ28の略下半分を覆う前面カバーを取り外した状態での内部構造を示す正面図である。セレクタ28は、硬質プラスチック等の合成樹脂で一体的に形成された矩形状のケース501を備える。
セレクタ28は、ケース501の正面に位置するケース前面502と、図示しない前面カバーとが、間隙を有して対向して組み立てられる。そして、これらの間隙に、メダル入口521から右下方のメダル出口522へ向かうメダル案内通路523が形成される。
セレクタ28のメダル入口521付近には、規定以上の厚みを有するメダルを排除するための調整ネジ504が、ケース501のケース前面502(メダル案内通路523)から突出して設けられている。
セレクタ28のメダル出口522付近には、後述するブロッカ機構部530を通過したメダルを検知する「投入センサ」である、投入第1センサ541及び投入第2センサ542が設けられている。投入第1センサ541及び投入第2センサ542は、対向配置される反射部540で反射した光がメダルにより遮光されたときにオンするフォトセンサとして構成される。
また、少なくともブロッカ機構部530よりも上流側(メダル入口521側)には、メダル案内通路523内で揺動可能なフラップを有する投入監視センサ543が設けられている。投入監視センサ543は、メダル入口521から投入されたメダルの通過によるフラップの回動を検知するフォトセンサとして構成される。
ブロッカ機構部530は、投入センサよりも上流側のメダル案内通路523に設けられ、メダルの受け入れを許可する位置又は拒否する位置に移動する少なくともブロッカ532を備えている。ここで、図9及び図10は、図8にも示されるブロッカ機構部530の動作を説明するための簡略化した縦断面図である。図9にはブロッカ532がメダルの受け入れを許可する位置の状態(ブロッカON)が示され、図10にはブロッカ532がメダルの受け入れを拒否する位置の状態(ブロッカOFF)が示される。
図9及び図10に示されるように、メダル案内通路523の下縁には、メダルの外周面を載せて転動させるためのレール部512がケース前面502から突出して形成されている。また、レール部512の前縁に沿うように、メダル落下口503に向けてメダルを滑り落とすための傾斜版513がケース501に取り付けられている。
ブロッカ機構部530は、ケース前面502の背後に固定されるソレノイド533、軸ピン534を介してケース前面502に対し回動可能に軸支されるブロッカ532、及び、下端側が支承されソレノイド533のオン/オフ(ON/OFF)で揺動する金属製の作動プレート531を主に備える。ブロッカ532は、図8に示されるトーションバネ535を介して、ブロッカ爪532aがメダル案内通路523内へ進入する側(図10に示される側)に常時付勢されている。また、作動プレート531は、図示しないバネを介して、ソレノイド533から離れる側(図10に示される側)に常時付勢されている。
かかる構成のセレクタ28は次のように動作する。メダル入口521から投入されたメダルは、一定の外径及び厚みを有するメダルのみが選別され、レール部512を転動してブロッカ機構部530へと移動する。
図9に示されるように、ブロッカ信号が出力されソレノイド533が励磁する「ブロッカオン(ON)」の状態では、ソレノイド533の磁力によって作動プレート531が引き付けられる。このとき、ソレノイド533側に作動プレート531が揺動し、その上部の押圧部531aがブロッカ532の上部の受圧部532aを当接して押圧する。これにより、ブロッカ532は、前部の開閉板532cがケース前面502と平行になるように閉じブロッカ爪532aがメダル案内通路523から退避して静止する。
「ブロッカがメダルの受け入れを許可する位置」にあるとは、図9に示されるようにブロッカ532の開閉板532cが閉じてメダル案内通路523を形成し、先端部であるブロッカ爪532aがメダル案内通路523から退避する位置にあることをいう。この位置では、ケース前面502とブロッカ532との間にメダルを通過させるための空間であるメダル案内通路523が確保されるので、レール部512上を移動するメダルはブロッカ機構部530を通過することができる。
一方、図10に示されるように、ブロッカ信号の出力が停止されソレノイド533が非励磁の「ブロッカオフ(OFF)」の状態では、作動プレート531がソレノイド533から離れる位置で静止する。この状態では、作動プレート531上部の押圧部531aがブロッカ532上部の受圧部532aから離れ、トーションバネ535(図8参照)の付勢力によりブロッカ532が傾いた状態となる。これにより、ブロッカ532は、開閉板532cが開きブロッカ爪532aをメダル案内通路523内へ進入させる位置で静止する。
「ブロッカがメダルの受け入れを拒否する位置」にあるとは、図10に示されるように開閉板532cが開きブロッカ爪532aがメダル案内通路523内に進入する位置にあることをいう。すなわち、このブロッカオフ(OFF)の位置では、レール部512上を移動するメダルがブロッカ爪532aに衝突して傾斜版513上を滑り落ち、メダル落下口503へと排除される。
[スロットマシンのシステム構成]
次に、スロットマシン10の全体のシステム構成を説明する。図11は、スロットマシン10を制御するハードウェアシステム構成を示すブロック図である。メイン制御基板100は、主として遊技の進行を制御する主制御基板である。メイン制御基板100は、CPU1011、ROM1012及びRAM1013などを内蔵するMPU(Micro Processing Unit;演算処理装置)101を実装している。MPU101のCPU1011がROM1012に記憶されるプログラムに従って演算処理を実行することで、スロットマシン10における遊技進行及び全体的なシステム制御が実行される。
メイン制御基板100には、図1に示したスタートレバー55、ストップスイッチ56L、56C、56R、1枚ベットスイッチ52、マックスベットスイッチ54及び清算スイッチ57などの遊技操作のためのスイッチ類が任意の中継基板(例えば前扉20の裏面側に設けられる中央表示基板)及びハーネスを介して接続される。なお、スイッチ類が中継基板を介さずにハーネスだけで接続されてもよい。
また、メイン制御基板100にはベット数表示ランプ34a、34b、34c、クレジット数表示器35、獲得枚数表示器36及びメダル投入待ちランプ37などの表示器類が任意の中継基板(例えば前扉20の裏面側に設けられる中央表示基板)及びハーネスを介して接続される。なお、ランプ類が中継基板を介さずにハーネスだけで接続されてもよい。
メイン制御基板100のMPU101は、1枚ベットスイッチ52又はマックスベットスイッチ54等により賭けられたメダルのベット数に応じて、ベット数表示ランプ34a、34b、34cを点灯可能である。また、MPU101は、RAM1013に記憶されるクレジット数及び払い出されたメダルの枚数などの情報を随時、数字のセグメントコードに変換して、クレジット数表示器35及び獲得枚数表示器36に表示出力することができる。
また、メイン制御基板100には任意の中継基板(例えば前扉20の裏面側に設けられる中央表示基板)及びハーネスを介してセレクタ28が接続される。すなわち、セレクタ28に備えられる投入第1及び投入第2センサ541、542並びに投入監視センサ543からのセンサ信号がメイン制御基板100に入力され、セレクタ28に備えられるソレノイド533に対してはメイン制御基板100からのブロッカ信号が出力されるように相互に接続されている。なお、セレクタ28が中継基板を介さずにハーネスだけで接続されてもよい。
また、メイン制御基板100には、リール40L、40C、40Rに連結するステッピングモータ41L、41C、41Rを回転駆動させるためのモータ駆動回路500が専用の中継基板(例えばリール装置40の上部に設けられる回胴装置基板)及びハーネスを介して接続されている。モータ駆動回路500は、リール40L、40C、40Rの回転を加速及び定速制御するための駆動パルス信号、及び、リール40L、40C、40Rの回転を停止するための励磁停止信号をステッピングモータ41L、41C、41Rに対し出力する。また、リール40L、40C、40Rの回転基準位置を示す信号(回転基準位置信号)を出力する回転基準センサ43L、43C、43Rがメイン制御基板100に接続されている。
また、メイン制御基板100には任意の中継基板(例えば払出基板)及びハーネスを介してメダル払出装置83が接続される。すなわち、メダル払出装置83に備えられる払出モータ420に対しては、当該払出モータを駆動する払出駆動信号がメイン制御基板100から出力され、メダル払出装置83に備えられる払出第1センサ411及び払出第2センサ412からの払出検知信号がメイン制御基板100に入力するように相互に接続されている。なお、メダル払出装置83が中継基板を介さずにハーネスだけで接続されてもよい。
次に、サブ制御基板200は、CPU201と、ROM202と、RAM203とを備える副制御手段である。CPU201は、メイン制御基板100から送信されてくるコマンドや遊技進行に関する情報を受信し、これら各種コマンド等に応じてROM202に記憶されるプログラムに従って演算処理を実行することにより、スロットマシン10の主に遊技の演出に関する制御を行う。
サブ制御基板200には、上部ランプ62、コーナーランプ63L、63R等の電飾ランプ類、スピーカ64L、64R、73L、73R、及び、操作指示ランプ33l、33c、33rなどが前扉20に配線されたワイヤーハーネスを介して接続される。
サブ制御基板200は、画像データメモリから随時選択される画像データを読み取り、同期信号、輝度信号及び色信号を複合した映像信号を生成して、この映像信号に基づく動画像を画像表示装置61に表示させる制御を行う。また、サブ制御基板200は、上部ランプ62、コーナーランプ63L、63Rなどのランプ類の点灯及び点滅の駆動を行うとともに、音声データメモリからアナウンスや楽音等の音声データを読み取って音信号に変換・増幅し、その生成した音信号に基づいてスピーカ64L、64R、73L、73Rを鳴動させるように構成されている。
[信号入出力ポート]
次に、メイン制御基板100のMPU101に備えられる信号入力ポート及び信号出力ポートの例を具体的に説明する。ここで図12は、信号入力ポートIP10〜IP27周りのインタフェース構成を例示するブロック図である。
(信号入力ポート)
信号入力ポートIP10〜IP27は、MPU101のデータバスに接続される情報保持回路91、93の入力ビット端子として構成されている。情報保持回路91、93のセレクト(イネーブル)入力及びリセット入力には、MPU101のアドレスバスに接続されるアドレスデコーダ92、94がそれぞれ接続している。
第1の情報保持回路91の入力ビット端子である信号入力ポートIP10には、上述したスタートレバー55に備えられるスタートレバースイッチが電気的に接続されている。また、第1の情報保持回路91の信号入力ポートIP11〜IP13には左中右の各ストップスイッチ56L、56C、56Rが接続され、信号入力ポートIP15〜IP17には1枚ベットスイッチ52、マックスベットスイッチ54、清算スイッチ57がそれぞれ電気的に接続されている。なお、例えば信号入力ポートIP14のように、スイッチ類やセンサ類が何も接続されない「未使用」のポートがあってもよい。
同様に、第2の情報保持回路93の信号入力ポートIP20〜IP22には左中右の各リール40L、40C、40Rの回転基準センサ43L、43C、43Rがそれぞれ電気的に接続され、信号入力ポートIP23〜IP24にはメダル払出装置83の払出第1センサ411及び払出第1センサ412がそれぞれ電気的に接続され、信号入力ポートIP24〜IP27にはセレクタ28の投入第1センサ541、投入第2センサ542及び投入監視センサ543がそれぞれ電気的に接続されている。
情報保持回路91、93は、例えばそれぞれ1バイト(8ビット)の入力データを記憶保持可能なメモリ回路として構成され、各情報保持回路に所定のアドレス(ラベル)が予め割り当てられている。ここで、図13には、本実施形態による信号入力ポートIP10〜IP17及びIP20〜IP27に対応付けられた入力データの構成が例示される。
スタートレバー55やストップスイッチ56L、56C、56Rなどのスイッチ類から出力されるH(高電圧レベル)/L(低電圧レベル)の信号状態は、ラベル_IP_SWITCHで参照されるアドレスが割り当てられた情報保持回路91に一時的に保持される。同様に、回転基準センサ43L、43C、43Rや投入センサ541〜543などのセンサ類から出力されるH/Lの信号状態は、ラベル_IP_SENSORで参照されるアドレスが割り当てられた情報保持回路93に一次的に保持される。
後述する所定周期のインターバル割込処理で、情報保持回路91、93で保持された各信号入力ポートIP10〜IP27の状態情報がMPU101のレジスタ又はRAM1013に読み込まれる。より詳細には、MPU101は、割込処理中にラベル_IP_SWITCHに対応するアドレスをアドレスバスに指定しアドレスデコーダ92をセレクトする。当該アドレスデコーダ92がイネーブル信号を情報保持回路91に出力することで、当該情報保持回路91が保持する1バイトの入力データがデータバスに出力され、これにより、上述したスイッチ類からの信号状態がMPU101に認識されるように構成されている。
同様に、MPU101は、割込処理中にラベル_IP_SENSORに対応するアドレスを指定しアドレスデコーダ94をセレクトすることで情報保持回路93が保持する1バイトの入力データがデータバスに出力され、上述したセンサ類からの信号状態がMPU101に認識される。
インターバル割込処理では、MPU101のレジスタに読み込んだ入力データへの論理変換処理や各入力ポートへの信号の立ち上がりデータの生成処理なども実行されるが、これらの処理については割込制御手段の説明とともに後述する。
また、スタートレバー55やストップスイッチ56L、56C、56Rなどのスイッチ類に関しては、遊技進行制御処理で操作の受付許可フラグがオンにセットされることを条件に、情報保持回路91から読み込んだ情報を有効なものとして扱ってもよい。例えば、スタートレバー受付許可フラグがオンのときだけ、MPU101は、情報保持回路91から読み込んだ信号入力ポートIP10に対応するビット情報(_IP_SWITCHの第1ビットD0)を有効なものとして扱うことができる。反対に、スタートレバー受付許可フラグがオフのときには、MPU101は、読み込んだ信号入力ポートIP10に対応するビット情報(_IP_SWITCHの第1ビットD0)を有効なものとして扱わなくてもよい。
情報保持回路91、93は、MPU101の内部回路でなく外部回路としてメイン制御基板100に搭載されるものでもよい。また、図12の回路図及び図13のデータ構成はあくまでも例示であり、各スイッチ類及びセンサ類の入力構成を任意に定めてもよい。
(信号出力ポート)
次に、MPU101に備えられる信号出力ポートを説明する。ここで、図14〜図18は、信号出力ポートOP10〜OP57周りのインタフェース構成をそれぞれ例示するブロック図である。
信号出力ポートOP10〜OP57は、MPU101のデータバスに接続される情報保持回路111、115、119、123、128にそれぞれ接続されるゲート回路113、117、121、125、130の出力ビット端子として構成されている。
図14において、情報保持回路111のセレクト(イネーブル)入力及びリセット入力には、MPU101のアドレスバスに接続されるアドレスデコーダ112が接続している。情報保持回路111は、予めアドレス(ラベル_OP_REL_L)が割り当てられた1バイト(8ビット)のメモリ回路として構成され、アドレスデコーダ112で選択されたときにデータバスの各ビット情報を取り込んで保持する。またゲート回路113は、アドレスデコーダ112で指示されたビット(ポート)に対応する情報保持回路111の保持情報を、成形及び電流増幅した信号に変換して信号出力ポートOP10〜OP17に出力するように構成されている。すなわち、ゲート回路113は、情報保持回路111の各ビットに対応して8個のゲート回路素子を有している。
信号出力ポートOP10〜OP13には、モータ駆動回路500を介して左リール40Lのステッピングモータ41Lのφ0〜φ3相の端子がそれぞれ接続されている。また、信号出力ポートOP14〜OP17には、7セグコーダ114を介して獲得枚数表示器36の1桁目の7セグLEDが接続されている。
図15において、情報保持回路115のセレクト(イネーブル)入力及びリセット入力には、アドレスバスに接続されるアドレスデコーダ116が接続している。情報保持回路115は、予めアドレス(ラベル_OP_REL_C)が割り当てられた1バイト1バイト(8ビット)のメモリ回路として構成され、アドレスデコーダ116で選択されたときにデータバスの各ビット情報を取り込んで保持する。またゲート回路117は、アドレスデコーダ116で指示されたビット(ポート)に対応する情報保持回路115の保持情報を、成形及び電流増幅した信号に変換して信号出力ポートOP20〜OP27に出力するように構成されている。すなわち、ゲート回路117は、情報保持回路115の各ビットに対応して8個のゲート回路素子を有している。
信号出力ポートOP20〜OP23には、モータ駆動回路500を介して中リール40Cのステッピングモータ41Cのφ0〜φ3相の端子がそれぞれ接続されている。また、信号出力ポートOP24〜OP27には、7セグコーダ118を介して獲得枚数表示器36の2桁目の7セグLEDが接続されている。
図16において、情報保持回路119のセレクト(イネーブル)入力及びリセット入力には、アドレスバスに接続されるアドレスデコーダ120が接続している。情報保持回路119は、予めアドレス(ラベル_OP_REL_R)が割り当てられた1バイト(8ビット)のメモリ回路として構成され、アドレスデコーダ120で選択されたときにデータバスの各ビット情報を取り込んで保持する。またゲート回路121は、アドレスデコーダ120で指示されたビット(ポート)に対応する情報保持回路119の保持情報を、成形及び電流増幅した信号に変換して信号出力ポートOP30〜OP37に出力するように構成されている。すなわち、ゲート回路121は、情報保持回路119の各ビットに対応して8個のゲート回路素子を有している。
信号出力ポートOP30〜OP33には、モータ駆動回路500を介して右リール40Rのステッピングモータ41Rのφ0〜φ3相の端子がそれぞれ接続されている。また、信号出力ポートOP34〜OP37には、7セグコーダ122を介してクレジット数表示器35の1桁目の7セグLEDが接続されている。
図17において、情報保持回路123のセレクト(イネーブル)入力及びリセット入力には、アドレスバスに接続されるアドレスデコーダ124が接続している。情報保持回路123は、予めアドレス(例えば図19に示されるラベル_OP_BLK_HPM)が割り当てられた1バイト8個(8ビット)のメモリ回路として構成され、アドレスデコーダ124で選択されたときにデータバスの各ビット情報を取り込んで保持する。またゲート回路125は、アドレスデコーダ124で指示されたビット(ポート)に対応する情報保持回路123の保持情報を、成形及び電流増幅した信号に変換して信号出力ポートOP40〜OP47に出力するように構成されている。すなわち、ゲート回路125は、情報保持回路123の各ビットに対応して8個のゲート回路素子を有している。
信号出力ポートOP40には、メイン制御基板100に搭載した適宜のドライブ回路127aを介して、セレクタ28のブロッカ532を駆動するソレノイド533が接続されている。また、信号出力ポートOP41には、同じくメイン制御基板100に搭載した適宜のドライブ回路127bを介して、メダル払出装置83の払出モータ420が接続されている。信号出力ポートOP44〜OP47には、7セグコーダ126を介してクレジット数表示器35の2桁目の7セグLEDが接続されている。
図18において、情報保持回路128のセレクト(イネーブル)入力及びリセット入力には、アドレスバスに接続されるアドレスデコーダ129が接続している。情報保持回路128は、予めアドレス(ラベル_OP_LMP1)が割り当てられた1バイト(8ビット)のメモリ回路として構成され、アドレスデコーダ129で選択されたときにデータバスの各ビット情報を取り込んで保持する。またゲート回路130は、アドレスデコーダ129で指示されたビット(ポート)に対応する情報保持回路128の保持情報を、成形及び電流増幅した信号に変換して信号出力ポートOP50〜OP57に出力するように構成されている。すなわち、ゲート回路130は、情報保持回路128の各ビットに対応して8個のゲート回路素子を有している。
信号出力ポートOP50〜OP53には、メイン制御基板100に搭載した適宜のドライブ回路131を介して、ベット数表示ランプ34a、34b、34c及びメダル投入待ちランプ37がそれぞれ接続されている。他の信号出力ポートOP54〜OP57に任意で情報報知用のLEDランプ(筐体内部に設置されるものを含む)を接続してもよい。
ここで、図19には、本実施形態による信号出力ポートOP10〜OP17、OP20〜OP27、OP30〜OP37、OP40〜OP47及びOP50〜OP57に対応付けられた出力要求データの構成が例示される。
メインの遊技進行制御処理で、信号出力ポートから出力すべき信号の出力要求がセットされる。そしてその出力要求がセットされた信号が後述する所定周期のインターバル割込処理で実際に信号出力ポートから出力される。ここで「出力要求をセット」するとは、出力しようとする信号の状態情報を、予めアドレス(番地)が割り当てられている対応するメモリ領域に記憶することをいう。
具体的には、例えばブロッカ信号の出力要求をセットする処理では、MPU101がメインの遊技進行処理中に、ラベル_PT_BLK_HPMに対応するアドレス(番地)のメモリ領域に第1ビットD0(ブロッカ信号に対応)を「1」にした1バイトの出力要求データを記憶させる命令を実行する。そして次の割込処理においてラベル_OP_BLK_HPMに対応するアドレスのアドレスデコーダ124がセレクトされ、それに接続する情報保持回路123がイネーブルとなる。これにより、データバス上の出力要求データが情報保持回路123に取り込まれて保持される(図17参照)。
また、例えば、小役に入賞しメダルの獲得枚数表示の出力要求をセットする処理では、MPU101が表示すべき獲得枚数の10進数1桁目のバイナリ4ビットの情報をラベル_OP_REL_Lに対応するアドレスのメモリ領域に上位4ビットD4〜D7に記憶させ、10進数2桁目のバイナリ4ビットの情報をラベル_OP_REL_Cに対応するアドレスのメモリ領域に上位4ビットD4〜D7に記憶させる。ラベル_OP_REL_Lは情報保持回路111のアドレスに対応し、ラベル_OP_REL_Cは情報保持回路115のアドレスに対応している。このため、表示すべき獲得枚数の1桁目の数値情報が情報保持回路111に保持され、2桁目の数値情報が情報保持回路115に保持される(図15及び図16参照)。
そして、出力要求がセットされた次の割込処理において、ゲート回路113、117、121、125、130がオンされ、これにより情報保持回路111、115、119、123、128に保持されているビットの情報が、それぞれに対応する信号出力ポートを介して実際に信号として出力される。
なお、図43には信号出力ポートから信号を出力するためにセットされる出力要求データの構成例が示される。本実施形態では、RAM1013に所定のアドレスが割り当てられる出力要求データの1つである例えば_PT_BLK_HPMにおいて、少なくともブロッカ信号に対応する第1ビットD0と払出駆動信号に対応する第2ビットD1とが1バイトデータ内に含まれている。このように、1バイトのデータ内にブロッカ信号及び払出駆動信号の出力を要求するビットを含ませることで、メインの遊技進行制御処理では、この1バイトのデータを当該_PT_BLK_HPMで参照されるRAM1013のメモリ領域に記憶させる命令のみ(つまり1ステップ命令)で、ブロッカ信号及び払出駆動信号の両方の信号の出力処理を完了させることができる。また、インターバル割込処理においても1ステップでこれらの信号が信号出力ポートから出力されるので、MPU101の処理負荷を低減することができる。
出力要求がセットされている期間中であっても、例えば7セグLEDへのコード信号やLEDランプへのランプ表示信号などは、毎回の割込処理の終了時に、対応するゲート回路をオフする処理を含んでもよい。このような処理では、実際には割込処理の周期でLEDが高速で点滅することとなる。しかし、LEDが高速で点滅することにより、遊技者の目にはLEDが連続して点灯しているように見え、遊技に支障や違和感を生じさせることはない。
また、上述したゲート回路113、117、121、125、130をMPU101の内部回路でなく外部回路としてメイン制御基板100に搭載されてもよい。また、図14〜図19の構成はあくまでも例示であり、各表示信号及び駆動信号の出力構成を任意に定めてもよい。
次に、図20を参照して、メイン制御基板100に備えられる、クロック信号に関する周辺回路を説明する。
メイン制御基板100の演算処理装置であるMPU101は、第1クロック源105からのシステムクロック信号SCLKが入力される第1クロック入力端子と、第2クロック源107からの乱数クロック信号RCLKが入力される第2クロック入力端子とを有している。第1クロック源105及び第2クロック源107は、互いに独立した発振回路からなる。そのため、システムクロック信号SCLK及び乱数クロック信号RCLKを、クロック周波数(周期)及び位相が相違する非同期信号にすることができる。
MPU101は、これらのクロック信号SCLK、RCLKの処理に関連する回路として、クロック回路1014と、「タイマ回路」であるタイマカウンタ(Programmable Timer Counter;PTC)1015と、割込コントローラ1016と、乱数カウンタ1017とを内蔵している。
クロック回路1014は、第1クロック源105からのシステムクロック信号SCLKを所定の分周比n1で分周するとともに、第2クロック源107からの乱数クロック信号RCLKを所定の分周比n2で分周する回路である。2つの分周比n1とn2とは同じ値でもよいし異なっていてもよい。例えば、所定の分周比n1が「2」のとき、第1クロック源105から12MHzのシステムクロック信号SCLKが入力されると、それを2倍に分周した6MHzの動作クロック信号がCPU1011へ入力されるとともに、6MHzのクロック信号がタイマカウンタ(PTC)1015へも入力される。
タイマカウンタ1015は、第1クロック源105からのシステムクロック信号SCLKに基づいて、CPU1011に割込処理を起動させるためのインターバル割込信号INTを生成する回路である。タイマカウンタ1015は、MPU101に設けられる特殊レジスタの1つであるPTC設定レジスタの値に基づいてインターバル割込信号INTの周期が変更できるように構成されている。すなわち、タイマカウンタ1015は、PTC設定レジスタに設定された値をカウンタの初期値としてシステムクロック信号SCLKを入力する毎に「−1」し、カウンタ値が「0」になった時にインターバル割込信号INTを割込コントローラ1016へ出力するように構成されている。
例えば下記の式で計算できるように、システムクロック信号SCLKの周波数が12MHz、クロック回路1014の分周比n1が「2」、PTC設定レジスタの値が「13410」のときには、システムクロック信号SCLKの周期を2×13410倍した2.235ミリ秒周期のインターバル割込信号INTが生成される。
12MHz/(2×13410)=447Hz(=2.235msec)
乱数カウンタ1017は、第2クロック源107からの乱数クロック信号RCLKに基づいて乱数カウンタ値を更新する回路である。後述する乱数発生手段は、これら第2クロック源107と乱数カウンタ1017とを構成要素として含み、当選役決定手段が当選役の決定のために乱数カウンタ1017が示す乱数カウンタ値を使用する。
このようなクロック周辺回路において、第1クロック源105と第2クロック源107とを独立させたので、システムクロック信号SCLKと乱数クロック信号RCLKとを互いに周期及び位相が全く異なる非同期信号とすることができる。したがって、例えばMPU101の内部的な処理により得られる内蔵乱数の値をシステムクロック信号SCLKに基づいて不正に制御したり、推測したりするような不正行為の実行は不可能となる。
また、システムクロック信号SCLKを利用してインターバル割込信号INTを生成するプログラム制御可能なタイマカウンタ1015を設けたので、CPU1011の処理によってインターバル割込信号INTの周期を随時変更することが可能となる。これにより、センサ又はスイッチ類の信号の入出力の監視や内部タイマなどのシステム制御を、遊技の状況やCPU1011の処理負荷に応じて柔軟かつ容易に適応させることができる。
[スロットマシンの遊技に供される役]
ここで、スロットマシン10の遊技に供される役を簡単に説明する。スロットマシン10は、入賞により遊技者にメダルの払い出しがある小役(ベル役、スイカ役、チェリー役など)と、メダルを投入しなくても次の単位遊技を行える再遊技役(リプレイ役)と、遊技者に有利な特別遊技状態に移行させる特別遊技役(ボーナス役)とを有している。ここで「単位遊技」とは、リール40L、40C、40Rが回転操作され入賞の判定が行われるまでの期間を1つの単位とする遊技を意味する。
具体的には、後述する図24の「遊技開始処理(S102)」から「遊技終了チェック処理(S117)」までの遊技進行処理を「単位遊技」としている。
図3の図柄の例によれば、小役として「ベル」「ベル」「ベル」の図柄組合せで構成されるベル役、「スイカ」「スイカ」「スイカ」の図柄組合せで構成されるスイカ役、左リール40Lの「チェリー」図柄のみで構成されるチェリー役などがある。また、再遊技役としては、「リプレイ」「リプレイ」「リプレイ」や「リプレイ」「リプレイ」「スイカ」などのように図柄組合せが異なる複数種類の再遊技役を備えてもよい。また、BB役としては「赤セブン(赤7)」「赤セブン(赤7)」「赤セブン(赤7)」の図柄組合せで構成される第1BB役及び「青セブン(青7)」「青セブン(青7)」「青セブン(青7)」の図柄組合せで構成される第2BB役などがある。また、RB役としては「白バー」「白バー」「白バー」の図柄組合せで構成される第1RB役及び「黒バー」「黒バー」「黒バー」の図柄組合せで構成される第2RB役などがある。
再遊技役(リプレイ役)が成立すると再遊技が作動する。ここで「再遊技が作動」することによる効果は、再遊技役が成立した単位遊技において賭けられていたメダルが消費されずに、次の単位遊技に自動投入されることである。「自動投入」とは、メダルが自動的に賭けられる処理が行われることをいう。通常は再遊技役が成立した前回の単位遊技で賭けられていたメダルの数が、再遊技が作動中の当該単位遊技におけるベット数として自動的に設定される。これにより、再遊技が作動すると、遊技者はメダルを投入しなくても次の単位遊技を行うことができる。
上述した特別遊技役には、BB(ビッグボーナス)遊技を作動させるBB役と、RB(レギュラーボーナス)遊技を作動させるRB役とがある。ここで、「BB遊技が作動」するとは、遊技がBB遊技状態に移行することをいう。BB遊技が作動中のBB遊技状態では、一般遊技よりも小役が当選する確率が高い状態の高確率遊技が複数回継続し、所定の最大払出枚数(例えば419枚)のメダルの払い出しでBB遊技状態が終了する。
また、「RB遊技が作動」するとは、遊技がRB遊技状態に移行することをいう。RB遊技が作動中のRB遊技状態では、同じく小役が当選する確率が高い状態の高確率遊技が継続し、所定遊技回数(例えば12遊技)消化するか、又は、所定回数(例えば8回)の小役の入賞によりRB遊技状態が終了する。
これら特別遊技役(BB役、RB役)は、役抽選により当選状態を次の単位遊技に持ち越すことができる役物系の役である。つまり、特別遊技役が当該遊技で成立しなくても、次以降の遊技で役が成立すれば、対応する特別遊技状態に移行することができる。また、特別遊技役の当選状態が持ち越された一般遊技(BB役又はRB役の条件装置フラグがオンの状態)で役抽選が行われ、その結果、特別遊技役の当選とともに小役や再遊技役などの入賞系の役が重複して当選するような場合も通常あり得る。そのような重複当選時には、例えば再遊技役に係る図柄を優先的に引き込み制御するなど、成立する役に優先順位を設けてもよい。
[スロットマシンに備えられる制御手段]
次に、スロットマシン10に備えられる各種制御手段を説明する。メイン制御基板100の演算処理装置であるMPU101の処理により実現される制御手段としては、遊技の進行を制御するメインの遊技進行制御手段と、所定周期の割込信号INTにより起動されるインターバルタイマ割込処理(本明細書では「インターバル割込処理」又は単に「割込処理」という。)を実行する割込制御手段とがある。
(割込制御手段)
図21は、時間を縦軸にして、遊技進行制御手段による遊技進行制御処理、及び、割込制御手段によるインターバル割込処理を各スレッド(MPUに占有される期間)で示すタイムチャートである。割込処理が起動されると、MPU101は、まずプログラムカウンタレジスタや演算レジスタなど必要なレジスタの値をRAM1013のスタック領域に退避させる。そして、信号入力ポートIP10〜IP17に接続されたスタートレバー55、ストップスイッチ56L、56C、56R、ベットスイッチ52、54及び清算スイッチ57などのスイッチ類の信号情報を監視する。また、信号入力ポートIP20〜IP27に接続された回転基準センサ43L、43C、43R、払出第1センサ411、払出第1センサ412、投入第1センサ541、投入第2センサ542及び投入監視センサ543などのセンサ類の信号情報を監視する。
割込処理で「信号情報を監視」するとは、具体的には各信号入力ポートIP10〜IP27に保持されているスイッチ信号やセンサ信号の情報をMPU101のレジスタやRAM1013に取り込むことをいう。MPU101は、入力受付要求がセットされていることを条件に必要な信号入力ポートのみの情報だけを監視するようにしてもよい。
また、インターバル割込処理での信号情報の監視には、各信号入力ポートIP10〜IP27に入力された信号(入力データ)の論理変換処理や各信号入力ポートへの信号の「立ち上がりデータ」の生成処理なども含む。ここで図22には、インターバル割込処理で実行される入力データの論理変換処理及び立ち上がりデータ生成処理の一例が示される。なお、図22は、信号入力ポートIP10〜IP17に入力されたスイッチ類の入力データに関する処理であって、例として1枚ベットスイッチ52がオン操作されたときの処理を示している。なお、別の信号入力ポートIP20〜IP27に入力されるセンサ類の入力データに関する論理変換処理及び立ち上がりデータ生成処理も以下同様に実行されるが、ここでの詳細な説明は省略する。
図22を参照し論理変換処理では、MPU101は、はじめにラベル_IP_SWITCHでアドレスが参照されるメモリ領域から今回取得した1バイトのスイッチ入力データをAレジスタに読み込む。そして、Aレジスタと論理変換用マスクデータ(_MSK_SWITCH)とをXOR(排他的論理和)演算し、Aレジスタにその論理演算結果を格納する。
論理変換用マスクデータ(_MSK_SWITCH)は1バイトのデータで構成され、スイッチ入力データ(_MSK_SWITCH)の各ビットに対応するスイッチの動作論理に応じた値が予め設定されている。つまり、図13に示したように、信号入力ポートIP10〜IP17に実際に入力されるスイッチの信号は、H(高電圧レベル)がスイッチの作動状態(ON)を示す正論理のものと、L(低電圧レベル)が作動状態(ON)を示す負論理のものとがあり、論理変換用マスクデータ(_MSK_SWITCH)の各ビットには、それぞれのビットに対応するスイッチが正論理動作するものであれば「0」が設定され、負論理動作するものであれば「1」が設定されている。
図22に示されるように、MPU101がスイッチ入力データ(_MSK_SWITCH)と論理変換用マスクデータ(_MSK_SWITCH)とをXOR演算することにより、Aレジスタは論理変換したスイッチデータに書き換えられる。そして、MPU101は、Aレジスタのデータ(論理変換したスイッチデータ)をRAM1013の所定のメモリ領域(_IP_SWITCH_CUR)に格納する。
続いて、MPU101は、今回の割込処理で取得し論理変換したスイッチデータ(Aレジスタ又は_IP_SWITCH_CUR)と、前回の割込処理で取得し論理変換したスイッチデータ(例えば図41に示されるラベル_IP_SWITCH_OLDで参照されるデータ)とに基づいて、スイッチの「立ち上がりデータ」を生成する。
具体的にMPU101は、例えば図41に示されるラベル_IP_SWITCH_OLDで参照されるRAM1013のメモリ領域から前回の割込処理で取得し論理変換したスイッチデータをBレジスタに読み込む。そして、Aレジスタのデータ(今回の割込処理で取得し論理変換したスイッチデータ)と、Bレジスタのデータ(前回の割込処理で取得し論理変換したスイッチデータ)とをXOR演算し、Bレジスタをその論理演算結果で書き換える。これによりBレジスタには、前回の割込処理から今回の割込処理にかけて変化したビット値が「1」で示されるスイッチ変化ビットデータが記憶される。MPU101は、その後Bレジスタのデータ(スイッチ変化ビットデータ)をRAM1013の所定のメモリ領域(_IP_SWITCH_CHG)に格納してもよい。
更にMPU101は、Aレジスタのデータ(今回の割込処理で取得し論理変換したスイッチデータ)と、Bレジスタのデータ(スイッチ変化ビットデータ)とをAND(論理積)演算し、Bレジスタをその論理演算結果で書き換える。これによりBレジスタには、スイッチの「立ち上がりデータ」が記憶される。
センサの「立ち上がりデータ」は、前回の割込処理から今回の割込処理にかけて「0」から「1」に値が変化したビット、つまり操作によってオフ(OFF)からオン(ON)に状態変化したスイッチに対応するビットを「1」で示している。図22の例では、立ち上がりデータ(例えば図42に示される_IP_SWITCH_UP)のビットD5が「1」を示しているので、ビットD5に対応する1枚ベットスイッチ52(図13参照)へのオン操作が検出されたことが分かる。そしてBレジスタに作成された「立ち上がりデータ」は、例えば図42に示されるラベル_IP_SWITCH_UPでアドレスが参照されるRAM1013のメモリ領域に格納される。
また、当該割込み処理により_IP_SWITCH_OLDのデータは、今回の割込み処理で取得したスイッチデータ(図22に示した_IP_SWITCH_CURのデータ)に更新される。
また、インターバル割込処理においてMPU101は、図14〜図18に示したゲート回路113、117、121、125、130をオンすることで、メインの遊技進行制御処理において出力要求がセットされた信号を実際に信号出力ポートOP01〜OP57から出力する処理を行う。
例えば、遊技進行制御処理において、スタートレバー55への操作が受け付けられると、リール40L、40C、40Rを回転させる駆動パルス信号の出力を要求するリール回転出力要求がセットされる。このリール回転出力要求がセット中のときには、信号出力ポートOP10〜OP13、OP20〜OP23、OP30〜OP33から、1−2相励磁方式に従った4相の駆動パルス信号がステッピングモータ41L、41C、41Rに対し出力される。1−2相励磁方式とは、4相(φ0〜φ3)のステッピングモータに対し、φ0、φ0・φ1、φ1、φ1・φ2、φ2、φ2・φ3、φ3、φ3・φ0の順で各励磁相を順次、循環して励磁する方式をいう。この励磁相の更新がインターバル割込処理毎に行われる。
(内部タイマ)
また、メイン制御基板100は、上述のインターバル割込信号INTを利用した内部タイマを有している。例えば図23には、そのような内部タイマの種類とともに時間計測開始条件、時間計測終了条件及びそのカウント値リミットの例が示される。内部タイマは、いずれも例えば2.235ミリ秒周期のインターバル割込処理毎に値がデクリメントされるカウンタとして構成される。なお、割込処理ごとにインクリメントされるカウンタで内部タイマを構成してもよい。
例えば「遊技ウエイト処理タイマ」は、リール40L、40C、40Rを回転させる最初の駆動パルス信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。そして、割込処理は、遊技ウエイト処理タイマのカウント値に基づいて所定時間(例えば4.1秒)経過するまでは、上述した回転開始操作の受け付けを許可するスタートレバー受付許可フラグをオンしないようにする処理を含むことができる。これにより、前回の単位遊技から所定時間(例えば4.1秒)経過していなければスタートレバー55が受け付けない、いわゆるウエイト処理が実行され、連続する単位遊技間の最短の時間間隔が確保される。
また、「セレクタ制御監視タイマ」は、投入されたメダルの受け入れを禁止するブロッカ信号の立ち下がり(オフ)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。このセレクタ制御監視タイマは、後述するセレクタエラーチェック処理やブロッカ信号停止処理において使用される。
また、「投入第1センサタイマ」は、セレクタ28の投入第1センサ541からのセンサ信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。同様に「投入第2センサタイマ」は、投入第2センサ542からのセンサ信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマであり、「投入監視センサタイマ」は、投入監視センサ543からのセンサ信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。これら投入第1及び投入第2センサタイマは、後述するセレクタエラーチェック処理にいて、異常監視処理手段によるエラー判定に使用される。また投入監視センサタイマは、後述するブロッカ信号出力処理においてセレクタ28の誤作動防止に使用される。
また、「払出制御監視タイマ」は、メダル払出装置83への払出駆動信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。払出制御監視タイマの時間計測は払出駆動信号のオフで終了するが、メダルの払出完了を示す払出第1センサ411がオフする毎にリセットして時間計測が再開される。この払出制御監視タイマは、後述するメダル1枚払出処理において、異常監視処理手段によるメダル払出装置83のエラー判定に使用される。
また、「払出第1センサタイマ」は、メダル払出装置83の払出第1センサ411からのセンサ信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。払出第1センサタイマの時間計測は例えば100ミリ秒経過か、払出第1センサ411オフのいずれか早い時に時間計測を終了する。「払出第2センサタイマ」は、払出第2センサ412からのセンサ信号の立ち上がり(オン)を検知したときに起動され、割込処理毎に時間計測カウンタとして値が更新される内部タイマである。払出第2センサタイマの時間計測は例えば30ミリ秒経過か、払出第2センサ412オフのいずれか早い時に時間計測を終了する。
これら払出第1及び第2センサタイマは、後述するメダル1枚払出処理において、異常監視処理手段によるメダル払出装置83のエラー判定に使用される。
スロットマシン10に備えられるその他の制御手段としては、乱数発生手段、当選役決定手段、作動状態判定手段、上限数設定手段、賭け数管理手段、内部貯留数管理手段、ブロッカ制御手段、遊技メダル管理手段、清算処理手段異、常監視処理手段及び復帰処理手段などがある。なお、これらの制御手段は、上述したスロットマシン10の構成要素から特定されるハードウェア資源を用いて、メイン制御基板100に備えられるMPU101が演算処理を実行することで実現される。
(乱数発生手段)
「乱数発生手段」は、第2クロック源107からの乱数クロック信号RCLKに基づいて更新される乱数カウンタ値を内蔵乱数として求め、当選役決定手段に出力する手段である。乱数発生手段は、乱数カウンタ値とソフト乱数とを用いて、所定の算術演算を施すことにより内蔵乱数を求めてもよい。ソフト乱数は、予めROM1012に記憶されている乱数表を更新することで得てもよい。また、所定の乱数発生アルゴリズムに従った演算処理によりソフト乱数を得てもよい。
(当選役決定手段)
「当選役決定手段」は、乱数発生手段から取得した乱数(内蔵乱数)に基づき当選役を決定する手段である。具体的には、当選役と当選役の当選確率に応じた数値範囲とが対応して割り当てられた(ROM1012に予め記憶されている)役抽選テーブルを用いて実行される。当選役決定手段は、遊技開始の状態で規定数の遊技メダルが賭けられることにより、スタートレバー55の操作を契機に、取得した乱数が属する数値範囲に対応する役を当選役として決定する。
(作動状態判定手段)
「作動状態判定手段」は、遊技結果に基づいた作動状態を判定する手段である。「遊技結果」とは、有効ラインに停止し表示された図柄が判定されることにより得られる結果を意味する。遊技結果に基づいた作動状態には、例えば再遊技作動状態や特別遊技作動状態などがある。後述する遊技終了チェック処理では、遊技結果に基づいて作動フラグがセットされる。作動状態判定手段はこの作動フラグを参照することで、再遊技などの作動状態を判定することができる。
(フラグ)
ここで「フラグ」とは、遊技の進行における各種状態や各種信号の入出力状態などを管理するために、その状態情報を記憶する特定のメモリ領域に割り当てられた名称のことをいう。
本実施形態のスロットマシン10には、遊技状態に関して、
条件装置フラグ:当選役決定手段により当選した当選役の管理
作動フラグ:成立した役の管理
などが備えられる。
また、本実施形態のスロットマシン10には、操作スイッチ類の受け付けに関して、
スタートレバー受付許可フラグ:スタートレバーの操作受け付けの可否管理
ストップスイッチ受付許可フラグ:ストップスイッチの操作受け付けの可否管理
ベットスイッチ受付許可フラグ:ベットスイッチの操作受け付けの可否管理
清算スイッチ受付許可フラグ:清算スイッチの操作受け付けの可否管理
などが備えられる。
なお、「スタートレバー受付許可状態記憶手段」は、実施形態の説明における「スタートレバー受付許可フラグ」が対応する。
また、本実施形態のスロットマシン10には、信号の出力状態に関して、
ブロッカ信号フラグ:セレクタのブロッカの状態管理
払出駆動信号フラグ:メダル払出装置の払出駆動信号の状態管理
などが備えられる。
なお、「ブロッカ状態記憶手段」は、実施形態の説明における「ブロッカ信号フラグ」が対応する(例えば図44に示される_FL_MEDAL_STS)。
また、本実施形態のスロットマシン10には、エラーの検出状態に関して、
セレクタエラーフラグ:CPエラーフラグ、CEエラーフラグ、C0エラーフラグ、C1エラーフラグ、
払出装置エラーフラグ:空エラーフラグ、詰まりエラーフラグ、
などが備えられる。
また、本実施形態のスロットマシン10には、メダル管理に関して、
規定数上限フラグ:ベット数が規定数の上限に達しているときにオン
が備えられる。
(上限数設定手段)
「上限数設定手段」は、上述した規定上限数を規定上限数変数に設定する手段である。スロットマシン10では、遊技状態に応じて規定数(遊技に賭けることができるメダルの数)が定められる。「規定上限数」とは、当該遊技で定められる規定数の上限数のことをいう。
例えば、BB遊技状態などの特別遊技状態では、規定数が「2」に定められ、したがって上限数設定手段は、最大値「2」を規定上限数として設定する。また、例えば特別遊技状態ではない一般遊技状態では、規定数が「1」、「2」又は「3」に定められる。したがって上限数設定手段は、そのうちの最大値「3」を規定上限数として設定する。また、上限数設定手段は、上述した作動状態判定手段により再遊技作動状態と判定した場合には、前回の遊技に賭けられたメダル数を規定上限数変数に設定する。なお、本明細書では規定上限数数変数を単に「規定上限数」ということがある。
(賭け数管理手段)
「賭け数管理手段」は、遊技に賭けられている遊技メダル数、つまりベット数を管理するための手段である。本実施形態で賭け数管理手段は、ベット数をベット数変数に記憶して管理する他に、メダルが投入されたことによる1枚ベット処理や、ベット操作が受け付けられたことによるベット数の加算などの処理を実行する。なお、本明細書ではベット数変数を単に「ベット数」ということがある。
(内部貯留数管理手段)
「内部貯留数管理手段」は、遊技メダルの内部貯留数(クレジット数)を管理するための手段である。内部貯留数管理手段は、クレジット数をクレジット数変数に記憶して管理する他に、メダルが投入されたことによるクレジット加算処理や、清算スイッチ57が操作されたことによるクレジット清算処理などを実行する。なお、本明細書ではクレジット数変数を単に「クレジット数」ということがある。
(ブロッカ制御手段)
「ブロッカ制御手段」は、セレクタ28に備えられるブロッカ機構部530のソレノイド533に対してブロッカ信号を制御(ブロッカON/OFF)することで、ブロッカ532の位置を制御する手段である。すなわち、ブロッカ制御手段は、ブロッカ信号を出力することでメダルの受け入れを許可する位置にブロッカ532を移動させる(ブロッカONの状態)。ブロッカ信号が出力されなければ、ブロッカ532はメダルの受け入れを拒否する位置に移動する(ブロッカOFFの状態)。
また、ブロッカ制御手段は、ブロッカ信号出力処理(ブロッカON処理)においてセレクタ28の投入監視センサ543が作動後所定時間経過するまで待機し、当該所定時間が経過後にブロッカ信号を出力する。ここで、投入監視センサタイマは、図23に示したように投入監視センサ543からのセンサ信号の立ち下がり(ONからOFF)を契機に時間計測を開始する内部タイマである。上述したように投入監視センサタイマは、例えば2.235ミリ秒周期のインターバル割込処理毎に値がインクリメントされるカウンタとして構成される。
ブロッカOFFの状態でメダルが投入された場合において、当該メダルがブロッカ位置に達したタイミングでブロッカONの状態になると、メダルが挟まれるおそれがある。このような不都合を回避するために、ブロッカOFFの状態からブロッカONの状態にする場合には、投入監視センサ543がオンした後所定時間(当該メダルがブロッカ位置に達し、当該メダルをメダル落下口503側に流下させるのに適した時間)の経過を待ってからブロッカ信号を出力するようにしている。
また、ブロッカ制御手段は、ブロッカ信号出力処理においてインターバル割込処理を禁止した後、信号出力ポートを介したブロッカ信号の出力要求をセットする。
ここで「ブロッカ信号の出力要求をセットする」とは、具体的には、ブロッカ信号に対応する第1ビットD0を「1」に設定した1バイトの出力要求データを生成し、RAM1013の所定アドレス(例えば図43に示されるラベル_PT_BLK_HPM)のメモリ領域に記憶させることをいう。
第1ビットD0が「1」に設定された出力要求データがラベル_PT_BLK_HPMで参照されるメモリ領域に設定されると、インターバル割込処理が許可された次の割込処理で実際にブロッカ信号が信号出力ポートOP40からセレクタ28に出力され、ブロッカがONする。
なお、出力要求データは、図43に示される本実施形態の_PT_BLK_HPMように少なくともブロッカ信号に対応するビットD0と払出駆動信号に対応するビットD1とが1バイトのデータ内に含むことが好ましい。これにより、メインの遊技進行制御処理では、この1バイトのデータを当該_PT_BLK_HPMで参照されるRAM1013のメモリ領域に記憶させる命令のみ(つまり1ステップ命令)で、ブロッカ信号及び払出駆動信号の両方の信号の出力処理を完了させることができる。また、インターバル割込処理においても1ステップでこれらの信号が信号出力ポートから出力されるので、MPU101の処理負荷を低減することができる。
そして、MPU101は、割込禁止期間中にブロッカ信号が出力状態であることを示す情報をブロッカ状態記憶手段(ブロッカ信号フラグ、例えば図44に示される_FL_MEDAL_STS)に記憶する。なお、1バイトのフラグデータ内にブロッカ信号フラグに対応するビットと払出駆動信号フラグに対応するビットとが含まれることが好ましい。これにより、1ステップ命令でブロッカ信号及び払出駆動信号の状態を同時に更新することができるようになる。
ブロッカ信号の出力要求データがセットされるアドレス(例えば図43に示される_PT_BLK_HPM)と、ブロッカ信号の状態を管理するフラグデータのアドレス(例えば図44に示される_FL_MEDAL_STS)とが異なっているために、ブロッカ制御手段を構成するプログラム上では出力要求のセットとフラグデータの更新に少なくとも2ステップの命令が必要となる。これらの命令の間に割込処理が起動されると、出力要求データとフラグデータとの間でデータ内容の不一致が発生するおそれがあり、本実施形態では割込処理を禁止することでそのような状況を回避するようにしている。
また、ブロッカ制御手段は、ブロッカ信号停止処理(ブロッカOFF処理)において割込処理を禁止し、ブロッカ信号の出力要求をクリアする。
ブロッカ信号停止処理で「ブロッカ信号の出力要求をクリアする」とは、ブロッカ信号に対応する第1ビットD0を「0」に設定した1バイトの出力要求データを、ラベル_PT_BLK_HPMで参照されるRAM1013の所定アドレスのメモリ領域に記憶させることをいう。第1ビットD0が「0」に設定された出力要求データが当該メモリ領域(_PT_BLK_HPM)に設定されると、インターバル割込処理が許可された次の割込処理でブロッカ信号が停止する。
そして、MPU101は、割込禁止期間中にブロッカ信号が停止状態であることを示す情報をブロッカ状態記憶手段(ブロッカ信号フラグ)に記憶する。
上述したようにブロッカ制御手段を構成するプログラム上では出力要求のクリアとフラグデータの更新に少なくとも2ステップの命令が必要となる。これらの命令の間に割込処理が起動されると、出力要求データとフラグデータとの間でデータ内容の不一致が発生するおそれがあり、本実施形態では割込処理を禁止することでそのような状況を回避するようにしている。
「遊技メダル管理手段」は、第1投入センサ541又は第2投入センサ542による遊技メダルの検知を契機に遊技メダルに関する制御を実行する手段である。なお、第1投入センサ541及び第2投入センサ542等のオンオフの状態は、毎回のインターバル割込処理において信号入力ポートへのセンサ信号の入力状態が検知され、その検知されたデータがRAM1013の所定アドレス(図41に示される_IP_SENSOR_OLD、図42に示される_IP_SENSOR_UP等)に記憶される。遊技メダル管理手段等の割込処理以外のメインの処理では、RAM1013に記憶されているこのような入力データをMPU101が参照することで、投入センサ等のセンサ類のオンオフ状態を判定する。
遊技メダル管理手段は、セレクタ28の投入センサ541、542が遊技メダルを検知したことで起動される後述するメダル投入処理において、上限数設定手段により設定された規定数の上限数(規定上限数)、賭け数管理手段により記憶されている遊技メダル数(ベット数)、及び、内部貯留数管理手段により記憶されている内部貯留数(クレジット数)に基づいた演算処理を実行し、所定の結果となった場合にはブロッカ制御手段により遊技メダルの受け入れを拒否する位置にブロッカ532を制御する。
また、遊技メダル管理手段は、セレクタ28の投入センサ541、542が遊技メダルを検知したことで起動される後述するメダル投入処理において、上限数設定手段に設定されている規定数の上限数(規定数上限)と賭け数管理手段により記憶されている遊技メダル数(ベット数)とを比較し、一致する場合には内部貯留数管理手段が内部貯留数(クレジット数)を加算し、一致しなければ賭け数管理手段が遊技メダル数(ベット数)を加算する。
また、遊技メダル管理手段は、スタートレバー55の操作待ちの状態で作動状態判定手段により再遊技作動状態と判定した場合には、内部貯留数(クレジット数)を判定してブロッカ制御手段により遊技メダルの受け入れを許可する位置にブロッカ532を制御し、作動状態判定手段により再遊技作動状態ではないと判定した場合には、内部貯留数(クレジット数)の有無にかかわらずブロッカ制御手段により遊技メダルの受け入れを許可する位置にブロッカ532を制御する。
「清算処理手段」は、遊技開始の状態で清算スイッチ57の操作を契機に起動し、メダル払出装置83を介して遊技メダルを清算する手段である。ここで「遊技開始の状態」とは、スタートレバー55の操作待ちの状態をいうが、規定数のメダルが未だ賭けられていない状態も含む。
特に、清算処理手段は、後述する清算処理において次のように動作する。清算処理手段は、内部貯留数管理手段から現在内部貯留している内部貯留数(クレジット数)を読み込み、賭け数管理手段から当該遊技に賭けられている遊技メダル数(ベット数)を読み込んで清算可能賭け数(清算可能ベット数)に設定し、作動状態判定手段により当該遊技が再遊技作動状態と判定した場合には、清算可能賭け数(清算可能ベット数)を「0」にクリアし、内部貯留数(クレジット数)が「1」以上であれば、メダル払出装置83を制御して、読み込んだ内部貯留数(クレジット数)だけ遊技メダルを払い出し、作動状態判定手段により当該遊技が再遊技作動状態ではないと判定した場合には、清算可能賭け数(清算可能ベット数)が「1」以上であれば、メダル払出装置83を制御して、清算可能賭け数(清算可能ベット数)だけ遊技メダルを払い出し、清算可能賭け数(清算可能ベット数)が「0」であり、かつ、内部貯留数(クレジット数)が「1」以上であれば、メダル払出装置83を制御して、読み込んだ内部貯留数(ベット数)だけ遊技メダルを払い出す。
また、清算処理手段は、遊技開始の状態で清算スイッチの操作を検知すると、スタートレバー受付許可状態記憶手段(スタートレバー受付許可フラグ)を操作受付不可の状態にクリアする。
「異常監視処理手段」は、セレクタ28及び/又はメダル払出装置83において発生し得る異常を監視しそれに対処するための手段である。「復帰処理手段」は、セレクタ28及び/又はメダル払出装置83に発生した異常が解除された後のリセット操作を受けて起動し、これらの装置を異常前の状態に復帰させる手段である。
異常監視処理手段は、セレクタエラーチェック処理において投入第1センサ541及び投入第2センサ542からのセンサ信号の検知(ON)が所定の順序とは異なる順序で検知されたときセレクタ28が異常であると判定する。
また、異常監視処理手段は、ブロッカ制御手段がブロッカ信号を停止しブロッカ532を遊技メダルの受け入れを拒否する位置に移動させてから所定の時間が経過した後に投入センサ541又は542からのセンサ信号が検知(ON)されたときセレクタ28が異常であると判定する。
また、異常監視処理手段は、投入センサ541又は542からのセンサ信号のON状態が所定時間以上検知されたときセレクタ28が異常であると判定する。
特に、異常監視処理手段は、セレクタ28の異常を判定したとき、エラー表示処理においてブロッカ制御手段によりブロッカ532を制御するブロッカ信号の情報を記憶退避領域(スタック)に退避させ、その後ブロッカ信号を停止してブロッカ532を遊技メダルの受け入れを拒否する位置に移動させる。
そして復帰処理手段は、記憶退避領域(スタック)からブロッカ信号の情報を呼び戻し、当該呼び戻した情報に基づいてブロッカ信号を制御することにより、異常前の位置にブロッカ532を復帰させる。
また、異常監視処理手段は、メダル1枚払出処理において払出駆動信号が出力されてから所定時間内に払出センサ411又は412からのセンサ信号が検知(ON)されないときメダル払出装置83が異常であると判定する。
また、異常監視処理手段は、払出センサ411又は412からのセンサ信号のON状態が所定時間以上検知されたときメダル払出装置83が異常であると判定する。
異常監視処理手段は、メダル払出装置83の異常を判定したとき、エラー表示処理において当該払出装置を駆動する払出駆動信号の情報を記憶退避領域(スタック)に退避させ、その後払出駆動信号を停止してメダル払出装置83を停止させる。
そして復帰処理手段は、記憶退避領域(スタック)から払出駆動信号の情報を呼び戻し、当該呼び戻した情報に基づいて払出駆動信号を制御することにより、メダル払出装置83を異常前の駆動状態に復帰させる。
[スロットマシンにおける制御処理]
次に、上述したスロットマシン10に備えられる制御手段による処理の具体的な実施形態を、スロットマシンで行われる単位遊技の流れに沿って詳細に説明する。
(遊技進行制御処理)
図24は、遊技進行制御手段による遊技進行制御処理を例示するフローチャートである。スロットマシン10への電源が供給されると、MPU101は、はじめに初期化処理を実行する(ステップS101)。初期化処理には、スタックポインタやプログラムカウンタのセットなどの電断前の状態に復帰する処理が含まれる。そして、遊技開始処理が実行される(ステップS102)。詳細は後述するが、ステップS102の遊技開始処理では、再遊技作動時の自動投入やメダルの投入を許可するなどの処理が行われる。
そして、MPU101は、現在遊技に賭けられているメダル数(ベット数)を記憶するベット数変数からベット数をレジスタに読み込む(ステップS103)。ベット数が「0」のとき(ステップS104:NO)、メダル投入待ちの表示出力要求をセットする(ステップS105)。これにより、メダル投入待ちランプ37が点灯する。
次に、メダル管理処理が実行される(ステップS106)。詳細は後述するが、ステップS106のメダル管理処理では、メダルが投入された場合のメダル投入処理、ベットスイッチ52、54が操作された場合のベット操作受付処理、清算スイッチ57が操作された場合の清算処理が実行される。
次に、MPU101は、上述した当選役決定手段による役抽選処理で使用されるソフト乱数を更新する(ステップS107)。そして、スタートレバーチェック処理が実行される(ステップS108)。詳細は後述するが、ステップS108のスタートレバーチェック処理では、所定のエラーチェックを行いスタートレバー55の操作受け付けが可能か否か判定する。
MPU101は、スタートレバー55の操作の受け付けがあるまで、上述したステップS103〜S108のメダル管理に関する処理を繰り返す。そして、規定数のメダルが賭けられた状態でスタートレバー55の操作の受け付けがされると(ステップS109:YES)、MPU101は、上述した当選役決定手段による役抽選処理を実行する(ステップS110)。
次に、MPU101は、リール回転出力要求をセットすることにより、リール40L、40C、40Rの回転を開始する(ステップS111)。リール40L、40C、40Rの回転制御は、ステッピングモータ41L、41C、41Rに対する1−2相励磁方式により行われ、上述したようにφ0〜φ3の各励磁相への駆動パルス信号の更新がインターバル割込処理毎に行われる。
そして、MPU101は、滑りコマ数テーブルを作成する(ステップS112)。滑りコマ数テーブルは、各図柄位置番号と、当該図柄位置番号を起点として図柄が移動する方向(図柄位置番号が増える方向)において、決定された停止図柄までのコマ数(移動図柄数)がセットされる。滑りコマ数テーブルは役抽選処理の結果に基づいて作成されるが、想定される複数の滑りコマ数のデータを予めROM1012に記憶し、役抽選処理の結果に基づいて読み込んでもよい。
そして、MPU101は、ストップスイッチ56L、56C、56Rへの停止操作に基づくリール停止受け付けをチェックする(ステップS113)。ステップS113のリール停止受け付けのチェック処理では、1つのストップスイッチへの停止操作が受け付けられると、作成された滑りコマ数テーブルが参照されて、決定された停止図柄が有効ラインに表示するリール停止制御が実行される。
MPU101は、全てのリール40L、40C、40Rの停止を判定するまで、ステップS111〜S113までの処理を繰り返し、全てのリールの停止を判定すると(ステップS114:YES)、有効ラインに停止し表示された図柄を判定する(ステップS115)。すなわち、MPU101は、上述した当選役決定手段による役抽選処理で当選した当選役を条件装置フラグから読み込む。そして、有効ラインに表示された、リール40L、40C、40Rの図柄組合せがいずれかの当選役に対応する組合せと一致するか否か判定し、これらが一致するとき当該当選した役が成立(入賞)したと判定する。
MPU101は、例えば小役が入賞したと判定したときには、入賞によるメダルの払い出し処理を実行する(ステップS116)。なお、メダルの払い出し処理は、クレジットとして内部貯留する場合と、メダル払出口71からメダルを実際に払い出す場合とがある。本実施形態によるスロットマシン10ではクレジットへの内部貯留が優先される。すなわち、通常は払い出される枚数のメダルがクレジット数に加算されるが、クレジット数が所定の上限(これを「クレジット上限数」という;例えば50枚。)を超えるときには、その超える枚数分のメダルがメダル払出装置83を介してメダル払出口71から払い出される。
次に、遊技終了チェック処理が実行される(ステップS117)。ステップS117の遊技終了チェック処理では、MPU101は小役が入賞したと判定すると入賞した当該小役の条件装置フラグをクリアする。また、MPU101は、再遊技役が成立したと判定すると当再遊技役の条件装置フラグをクリアするとともに、再遊技に係る作動フラグをオンにする。
また、MPU101は、BB役やRB役などの特別遊技役が成立した場合には、当該成立した特別遊技役に係る特別遊技役の条件装置フラグをクリアするとともに、当該成立した特別遊技役に係る作動フラグをオンにする。なお、特別遊技役の条件装置フラグがオンの遊技(つまり特別遊技役が内部当選中の遊技)において、特別遊技役が成立しなかった場合には、当該特別遊技役の条件装置フラグはクリアされず、次の単位遊技に内部当選状態が持ち越される。
また、MPU101は、BB遊技やRB遊技などの特別遊技が作動状態のときには、所定の終了条件をチェックし、特別遊技状態の終了条件を満たすと判定した場合には当該特別遊技役に係る作動フラグをオフにする。
また、ステップS117の遊技終了チェック処理は、役が入賞した場合の入賞演出や、役が成立しなかった場合のハズレ演出などのために、一定時間、遊技進行の処理をフリーズ(停止)する処理を含んでもよい。
MPU101は、遊技終了チェック処理後に上述したステップS102に戻り、遊技開始処理からの次の単位遊技を開始させる。
(遊技開始処理)
次に、遊技進行制御処理におけるステップS102で起動される遊技開始処理の詳細を説明する。ここで、図25は遊技開始処理を例示するフローチャートである。
遊技開始処理では、MPU101は、はじめにクレジット数表示要求をセットする(ステップS121)。クレジット数表示要求が有効である間、所定周期のインターバル割込処理で、現在スロットマシン10に内部貯留されているクレジット数がクレジット数表示器35に表示される。そして、MPU101は、作動フラグをチェックし(ステップS122)、再遊技の作動状態か非作動状態かを判定する(ステップS123)。作動フラグは、上述したように遊技進行制御処理における遊技終了チェック処理において、成立した役に応じてセットされる遊技状態を示すフラグである。
再遊技の作動状態であれば(ステップS123:YES)、メダルが1枚ずつ自動投入される。ここで「自動投入」とは、メダルが自動的に賭けられることをいう。具体的には、一定時間(例えば100ミリ秒)待機し(ステップS124)、そして後述の1枚ベット処理(ステップS125)を繰り返し実行する。
1枚ベット処理により自動投入されたベット数が、この時点で規定数の上限(再遊技作動後は3枚)に達していなければ(ステップS126:NO)、1枚ベット処理を実行する(ステップS125)。自動投入が繰り返されベット数が規定数の上限に達すれば(ステップS126:YES)、現在のクレジット数がMPU101のレジスタに読み込まれる(ステップS127)。そして、MPU101は、クレジット数がクレジット上限数(例えば50枚)か否か判定する(ステップS128)。クレジット数がクレジット上限数未満の場合のみ(ステップS128:NO)、後述するブロッカ信号出力処理(ブロッカON)が実行され(ステップS129)、これによりメダル投入口51からのメダルの投入が許可される。
また、MPU101は、当該遊技において再遊技の作動状態でないと判定した場合には(ステップS123:NO)、クレジット数の有無にかかわらずブロッカ信号出力処理(ブロッカON)が実行される(ステップS129)。
このように、本実施形態の遊技メダル管理手段は、スタートレバー55の操作待ちの遊技開始の状態で再遊技作動状態と判定した場合には、内部貯留数(クレジット数)を判定してメダルの受け入れを許可する位置にブロッカ532を制御(ON)し、再遊技作動状態ではないと判定した場合には、内部貯留数(クレジット数)の有無にかかわらずメダルの受け入れを許可する位置にブロッカ532を制御(ON)するようにしている。これにより、再遊技の作動後のメダルの投入処理において、演算処理装置(MPU101)の処理負担を軽減することができ、別途新たな処理プログラムの開発も不要となる。
(ブロッカ信号出力処理)
次に、ブロッカ信号出力処理(ブロッカON処理)の詳細を説明する。ここで、図26は、ブロッカ制御手段によるブロッカ信号出力処理を例示するフローチャートである。
ブロッカ信号出力処理では、MPU101は、はじめにセレクタ28の投入監視センサ543のオンにより時間計測を開始する投入監視センサタイマの値をチェックする(ステップS131)。そして、投入監視センサタイマが時間計測をしている場合には、所定時間である例えば100ミリ秒経過するまでループ処理により待機する(ステップS132:NO〜ステップS131)。つまり、ブロッカ制御手段は、ブロッカ信号出力処理において投入監視センサ543の作動により投入監視センサタイマが時間計測をしている場合には、当該投入監視センサが作動後、所定時間が経過するまでは待機してブロッカ信号を出力しない。
他方、MPU101は、ブロッカ信号を出力するときであって、投入監視センサタイマが時間計測をしていない場合、又は、投入監視センサ543のオンにより時間計測を開始した投入監視センサタイマが所定時間経過(例えば100ミリ秒)を示したとき(ステップS132:YES)、上述したインターバル割込処理を禁止する(ステップS133)。そしてMPU101は、ブロッカ信号の出力要求をセットする(ステップS134)。
「ブロッカ信号の出力要求をセットする」とは、具体的にはMPU101がブロッカ信号出力処理中に、例えば図43に示されるラベル_PT_BLK_HPMに対応するアドレス(番地)のメモリ領域に第1ビットD0(ブロッカ信号に対応)を「1」にした1バイトの出力要求データを記憶させることである。ブロッカ信号の出力要求がセットされると、データバス上の出力要求データが情報保持回路123に取り込まれて保持される。そして、割込処理が許可された次の割込処理においてゲート回路125がオンされ、ブロッカ信号がセレクタ28に実際に出力される。これによりブロッカ532がメダルの受け入れを許可する位置に移動する(ブロッカON状態)。
そして、MPU101は、投入監視センサタイマをクリアする。ここで投入監視センサタイマなどの内部タイマを「クリア」するとは、内部タイマのカウント値を「0」にするとともに、時間計測を停止させることを意味する。そして、MPU101は、ブロッカ信号フラグ(例えば_FL_MEDAL_STSの第3ビットD2)をオンにセットし(ステップS136)、インターバル割込処理を許可する(ステップS137)。ここで「ブロッカ信号フラグ」とは、ブロッカ信号の出力状態を示すフラグ(ブロッカ状態記憶手段)であるとともに、ブロッカ532の位置を記憶するフラグでもある。つまり、ブロッカ信号フラグがオンのとき、セレクタ28がメダルの投入及び受け入れ可能な状態(ブロッカON)であるとして管理され、ブロッカ信号フラグがオフのとき、セレクタ28がメダルの投入及び受け入れを拒否する状態(ブロッカOFF)であるとして管理される。
なお、ブロッカ信号の出力要求データがセットされるアドレス(例えば図43に示される_PT_BLK_HPM)と、ブロッカ信号の状態を管理するフラグデータのアドレス(例えば図44に示される_FL_MEDAL_STS)とが異なっているために、ブロッカ信号出力処理のプログラム上では、ブロッカ信号出力要求のセットとフラグデータ更新に少なくとも2ステップの命令が必要となる。これら出力要求データとフラグデータとの間でのデータ内容の不一致を回避するため、本実施形態では上述したようにインターバル割込禁止中の期間にブロッカ信号の出力要求のセット(ステップS134)とフラグデータの更新(ステップS136)を実行している。
また、本実施形態のブロッカ制御手段は、セレクタ28へのメダルの投入受け入れを許可する際に、セレクタの投入監視センサ543からのセンサ信号が割込処理で検知された後、所定時間が経過するまでは待機し、当該所定時間が経過後にブロッカ信号を出力するようにしている。これにより、メダルの投入とブロッカ532の移動とが同時に起こることがなくなり、セレクタ28内でメダルが詰まるなどの誤作動を防止することができる。
また、1バイトのフラグデータ内にブロッカ信号フラグに対応するビットと払出駆動信号フラグに対応するビットとが含まれることが好ましい。これにより、1ステップ命令(ステップS136)でブロッカ信号及び払出駆動信号の状態を同時に更新することができる。
(メダル管理処理)
次に、遊技進行制御処理におけるステップS106で起動されるメダル管理処理の詳細を説明する。ここで、図27はメダル管理処理を例示するフローチャートである。
メダル管理処理では、MPU101は、はじめにブロッカ信号フラグ(_FL_MEDAL_STSの第3ビットD2)を参照し、ブロッカ信号が出力中か判定する(ステップS141)。ブロッカ信号が出力中と判定すると(ステップS141:YES)、投入第1センサ541又は投入第2センサ542が作動(オン)したか判定する(ステップS142)。ブロッカ信号が出力中であって(ステップS141:YES)、投入第1センサ541又は投入第2センサ542が作動した場合には(ステップS142:YES)、正規のメダルが投入され受け入れられたとみなし、後述するメダル投入処理が実行される(ステップS143)。
ブロッカ信号が出力されていないか(ステップS141:NO)、又はブロッカ信号が出力中であるが(ステップS141:YES)、投入第1センサ541及び投入第2センサ542が非作動(オフ)のときには(ステップS142:NO)、MPU101はベットスイッチ受付許可フラグ及び清算スイッチ受付許可フラグをオンする(ステップS144)。これにより、1枚ベットスイッチ52、マックスベットスイッチ54及び清算スイッチ57の操作受け付けが有効となる。
このとき、MPU101は、いずれかのベットスイッチ52、54が操作されスイッチ信号を検知(オン)すると(ステップS145:YES)、後述するベット操作受付処理を実行する(ステップS146)。また、清算スイッチ57が操作されスイッチ信号の立ち上がりを検知すると(ステップS147:YES)、後述する清算処理を実行する(ステップS148)。なお、清算スイッチ57の長押しにより清算処理を実行するようにしてもよい。
(メダル投入処理)
次に、メダル管理処理のステップS143において、正規にメダルが投入されたことで起動されるメダル投入処理の詳細を説明する。ここで、図28はメダル投入処理を例示するフローチャートである。
メダル投入処理では、MPU101は、はじめにスタートレバー受付許可フラグをオフにする(ステップS151)。これにより、メダル投入処理中に誤ってスタートレバー55が操作されたとしても無効となる。
次に、MPU101は、異常監視処理手段による後述するセレクタエラーチェック処理を実行し、セレクタ28に異常(セレクタエラー)が生じていないかを検査する(ステップS152)。セレクタエラーが検出された場合(ステップS153:YES)、エラーコードを表示させるためのセレクタエラー表示出力要求をセットする(ステップS154)。そして、後述するエラー表示処理が実行される(ステップS155)。詳細は後述するが、このエラー表示処理では、リセット操作を受けて、上述した復帰処理手段がブロッカ532の作動状態を異常前の作動状態に復帰させる。
メダル投入処理においてセレクタエラーが検出されなければ(ステップS153:NO)、上限数設定手段による後述する規定上限数セット処理が実行される(ステップS156)。ここで「規定上限数」とは、遊技状態に応じて定められる規定数(遊技に賭けることができるメダルの数)の上限数のことである。この規定上限数セット処理では、遊技状態に応じて規定上限数がセットされる。
次に、MPU101は、現在のベット数及びクレジット数をレジスタに読み込む(ステップS157、S158)。なお、ここで読み込まれるベット数及びクレジット数は、当該メダルの投入を考慮する前の数値である。そして、当該メダルの投入を有効としたならば、その後にメダルの追加投入が可能かを判定する(ステップS159)。
ステップS159のメダルの追加投入が可能かの判定は、例えば次の判定式を用いて判定することができる。
規定上限数>ベット数+クレジット数+1−クレジット上限数 ・・・判定式
例えば、遊技で定められた規定上限数が「3」、現在のベット数が「2」、現在のクレジット数が上限(満杯)である場合には、上記判定式に数値を代入すると両辺が等価となる(3=2+50+1−50)。このため、今回投入されたメダルを受け付けるとこれ以上追加のメダル投入ができないことが分かる。
例えば、遊技で定められた規定上限数が「3」、現在のベット数が「2」、現在のクレジット数が「49」である場合には、上記判定式に数値を代入すると不等式が成立する(3>2+49+1−50)。このため、今回投入されたメダルを受け付けたとしても更にもう1枚のメダル投入ができることが分かる。
このように、本実施形態の遊技メダル管理手段は、上限数設定手段により設定された規定上限数、賭け数管理手段により記憶されている遊技メダル数(ベット数)、及び、内部貯留数管理手段により記憶されている内部貯留数(クレジット数)に基づいた演算処理を実行し、判定式が成立しないなどの所定の結果となった場合には、ブロッカ制御手段によりメダルの受け入れを拒否する位置にブロッカ532を制御(ブロッカOFF)するようにしている。
これにより、メダルの投入が不可能な状況においてはその投入を拒否し、いわゆる「メダルの飲み込み」を防止することができる。したがって、遊技者は再遊技の作動後においても、メダルを安全に投入することができる。
なお、メダルの追加投入が可能か否かの判定は上記判定式に限られるものではない。
MPU101は、上記判定式が成立すればメダルの追加投入が可能と判定する(ステップS159:YES)。他方、MPU101は、上記判定式が成立しなければメダルの追加投入ができないと判定して(ステップS159:NO)、後述するブロッカ信号停止処理を実行する(ステップS160)。
そして、MPU101は、現在のベット数が規定上限数に達しないと判定したとき(ステップS161:NO)、後述する1枚ベット処理を実行し(ステップS162)、現在のベット数が規定上限数に一致すると判定したとき(ステップS161:YES)、後述するクレジット加算処理を実行する(ステップS163)。
このように、遊技メダル管理手段は、上限数設定手段に設定されている規定数の上限数(規定数上限)と賭け数管理手段により記憶されている遊技メダル数(ベット数)とを比較し、一致する場合には内部貯留数管理手段が内部貯留数(クレジット数)を加算し、一致しなければ賭け数管理手段が遊技メダル数(ベット数)を加算するようにしている。
メダル投入処理で起動される、上述のセレクタエラーチェック処理(ステップS152)、規定上限数セット処理(ステップS156)、ブロッカ信号停止処理(ステップS160)、1枚ベット処理(ステップS162)及びクレジット加算処理(ステップS163)の詳細を、次に順次説明する。
(セレクタエラーチェック処理)
図29は、異常監視処理手段によるセレクタエラーチェック処理を例示するフローチャートである。
尚、各種フローにて「リターンする。」との記載はあるが、「リターンする」とは「当該処理を終了し、次の処理に移行する」という意味である。
セレクタエラーチェック処理では、MPU101は、はじめに投入第1センサ451の検出状態を判定し、投入第1センサ451がオンしていなければ(ステップS171:NO)、CPエラーフラグをオンにセットして(ステップS1711)、リターンする(セレクタエラーチェック処理を終了する)。最初の判定処理で投入第1センサ451のオンが判定され(ステップS171:YES)、2回目の判定処理で投入第1センサ451のオフが判定された場合も(ステップS172:YES)リターンする。なお、投入センサその他のセンサのオンオフの検出状態は、インターバル割込処理でRAM1013の所定アドレスのメモリ領域(例えば図41に示される_IP_SENSOR_OLD、図42に示される_IP_SENSOR_UP等)に論理変換された入力データが記憶され、MPU101がメインの処理でそのアドレスからデータをレジスタに取り込むことにより判定される。
2回目の判定処理でも投入第1センサ451のオフが検知されず(ステップS172:NO)、つまり投入第1センサ451がオンした状態で次の判定処理で投入第2センサ452のオンが検知されなければ(ステップS173:NO)、MPU101は再び投入第1センサ451の状態を判定する(ステップS1731)。
このとき、MPU101は、投入第1センサ451のオフを判定すると(ステップS1731:YES)、リターンする。
ここで「CPエラーフラグ」とは、投入第1センサ451及び投入第2センサ452の非論理的な動作を示すエラーフラグである。このCPエラーが発生したときには、不正行為など人為的な要因によるものと推察することができる。
投入第1センサ451及び投入第2センサ452は、セレクタ28内でブロッカ532よりも下流の受入経路に沿って順に配置されている。つまり、投入センサが「正順に作動する」とは投入第1センサ451、投入第2センサ452の順序で各センサがオンすることをいう。MPU101は、投入第1センサ451及び投入第2センサ452が所定の順序(正順)とは異なる順序でセンサ信号のオン状態を検出したときセレクタ28に異常が発生したと判定する。
次に、MPU101は、投入第1センサタイマを参照し、投入第1センサ451がオフしないときに所定時間(例えば100ミリ秒)経過したか判定する(ステップS1732)。投入第1センサ451がオンしてから所定時間経過してもオフしなければ(ステップS1732:YES)、MPU101はメダル滞留のセレクタエラーと判定し(ステップS1732:YES)、CEエラーフラグをオンにセットし(ステップS1733)、リターンする。
MPU101は、投入第1センサ451がオンの状態で(ステップS172:NO)、投入第2センサ452のオンを検知すると(ステップS173:YES)、次の判定処理で投入第1センサ451及び投入第2センサ452の状態を検知する(ステップS174)。MPU101は、投入第1センサタイマ及び投入第2センサタイマを参照し、投入第1センサ451又は投入第2センサ452が、所定時間(例えば100ミリ秒)経過してもオフしなかった場合(ステップS1741:YES)、CEエラーフラグをオンにセットし(ステップS1742)、リターンする。
MPU101は、投入第1センサ451及び投入第2センサ452が正順にオフしたのを判定すると(ステップS174:YES)、次のエラー判定に移る(ステップS175)。ステップS175では、MPU101は、セレクタ制御監視タイマを参照し、セレクタ28へのメダルの投入を禁止するためにブロッカ信号を停止(オフ)したにも関わらず、その停止から所定時間(例えば500ミリ秒)経過後に例えば投入第2センサ542がオンしたときにも異常と判定する(ステップS175:YES)。MPU101はこのセレクタエラーを判定したとき、C0エラーフラグをオンにセットし(ステップS1751)、リターンする。
また、MPU101は、投入監視カウンタの値が所定範囲内か否かを監視し、所定範囲を外れたときに異常と判定する(ステップS176:NO)。MPU101はこのセレクタエラーを判定したとき、C1エラーフラグをオンにセットし(ステップS1761)、リターンする。
ここで「投入監視カウンタ」は、初期値を「0」とし、投入監視センサ543がオンする毎に「+1」だけインクリメントされ、投入第1センサ541及び投入第2センサ542をメダルが正常に通過する毎に「−1」だけデクリメントされるカウンタである。ブロッカ532がメダルを受け入れる位置にあるにも関わらず、この投入監視カウンタの値が例えば「3」よりも大きい値になったときには、メダルの滞留又は不正行為の存在など何らかの異常が発生していることが想定される。
(規定上限数セット処理)
次に、メダル投入処理などで起動される規定上限数セット処理の詳細を説明する。ここで、図30は、上限数設定手段による規定上限数セット処理を例示するフローチャートである。
規定上限数セット処理が起動されると、MPU101は、初期値として自動投入時のメダル数を規定上限数に設定する(ステップS181)。「自動投入時のメダル数」とは、再遊技が作動することにより自動投入されるメダルの数であり、具体的には前回の遊技に賭けられたベット数のことである。
そして、MPU101は、作動フラグをチェックし(ステップS182)、再遊技の作動状態を判定する(ステップS183)。再遊技の作動状態と判定された場合には、メダル投入処理にリターンする。つまり、上限数設定手段による規定上限数セット処理では、上述した作動状態判定手段により再遊技作動状態と判定した場合には、前回遊技に賭けられたメダル数が規定上限数として設定される。
一方、再遊技の作動状態でなければ(ステップS183:NO)、メダル2枚を規定上限数に設定する(ステップS184)。そして、作動フラグをチェックし特別遊技が作動しているか判定する(ステップS185)。特別遊技が作動状態と判定された場合には、メダル投入処理にリターンする。つまり、作動状態判定手段により特別遊技状態と判定した場合には、メダル2枚が規定上限数に設定される。
再遊技又は特別遊技のいずれも作動していない一般的な遊技の場合には、メダル3枚が規定上限数に設定される(ステップS186)。
(ブロッカ信号停止処理)
次に、ブロッカ制御手段によるブロッカ信号停止処理(ブロッカOFF)の詳細を説明する。図31は、ブロッカ信号停止処理を例示するフローチャートである。ブロッカ信号停止処理では、MPU101は、はじめに上述した所定周期のインターバル割込処理を禁止する(ステップS191)。そして、ブロッカ信号の出力要求をクリアする(ステップS192)。
ブロッカ信号停止処理で「ブロッカ信号の出力要求をクリアする」とは、ブロッカ信号に対応する第1ビットD0を「0」に設定した1バイトの出力要求データを、例えば図43に示されるラベル_PT_BLK_HPMで参照される所定アドレスのメモリ領域に記憶させることをいう。第1ビットD0が「0」に設定された出力要求データが当該メモリ領域(_PT_BLK_HPM)に設定されると、インターバル割込処理が許可された次の割込処理でブロッカ信号が停止する(ブロッカOFF状態)。
そして、MPU101は、割込禁止期間中にブロッカ状態記憶手段であるブロッカ信号フラグ(_FL_MEDAL_STSの第3ビットD2)をオフにし(ステップS193)、その後、インターバル割込処理を許可する(ステップS194)。
なお、ブロッカ信号の出力要求データがセットされているアドレス(例えば図43に示される_PT_BLK_HPM)と、ブロッカの状態を管理するフラグデータのアドレス(例えば図44に示される_FL_MEDAL_STS)とが異なっているために、ブロッカ信号出力停止処理のプログラム上では、ブロッカ信号出力要求のクリアとフラグデータのオフに少なくとも2ステップの命令が必要となる。これら出力要求データとフラグデータとの間でのデータ内容の不一致を回避するため、本実施形態では上述したようにインターバル割込禁止中の期間にブロッカ信号の出力要求のクリア(ステップS192)とフラグデータの更新(ステップS193)を実行している。
(1枚ベット処理)
次に、賭け数管理手段による1枚ベット処理の詳細を説明する。図32は、1枚ベット処理を例示するフローチャートである。
1枚ベット処理では、MPU101は、はじめに現在のベット数をレジスタに読み込む(ステップS201)。次に、レジスタ内のベット数を「+1」して更新する(ステップS202)。そして、ベット数表示出力要求をセットすることで、ベット数表示ランプ34a、34b、34cが表示するベット数を更新する(ステップS203)。
ここで、MPU101は、獲得枚数表示出力要求をクリアすることで、獲得枚数表示器36の表示を消灯させる(ステップS204)。
次に、上述した規定上限数セット処理が実行され(ステップS205)、更新されたベット数がレジスタに読み込まれる(ステップS206)。
ベット数が規定上限数に達しているときには(ステップS207:YES)、規定数上限フラグをオンにセットして(ステップS208)、遊技進行制御処理にリターンする。ベット数が規定上限数に達していない場合には、規定数上限フラグをセットせずに遊技進行制御処理にリターンする。
なお、1枚ベット処理は、メダルが投入され受け付けられたときに実行される処理(ステップS162)、再遊技が作動後の自動投入の処理(ステップS125)、クレジットがある状況においてベットスイッチが操作されたときに実行される処理(ステップS228)で起動される。1枚ベット処理のような処理をサブルーチン化(モジュール化)することで、プログラムの構成が簡素化し容量も削減することができる。
(クレジット加算処理)
図33は、内部貯留数管理手段によるクレジット加算処理を例示するフローチャートである。
クレジット加算処理では、MPU101は、はじめに現在のクレジット数をレジスタに読み込む(ステップS211)。次に、レジスタのクレジット数を「+1」して更新する(ステップS212)。そして、クレジット数表示出力要求をセットすることで、クレジット数表示器35に更新したクレジット数を表示させる(ステップS213)。
以上が、メダル管理処理において、投入第1及び第2センサ541、542によるメダルの検知を契機に実行されるメダル投入処理の例である。
(ベット操作受付処理)
次に、メダル管理処理のステップS146において、1枚ベットスイッチ52又はマックスベットスイッチ54が操作されたことで起動されるベット操作受付処理の詳細を説明する。ここで、図34はベット操作受付処理を例示するフローチャートである。
ベット操作受付処理では、MPU101は、はじめに規定数上限フラグがオンにセットされているか判定し、フラグがオンであれば既にベット数が規定の上限数に達しているので、遊技進行制御処理にリターンする(ステップS221:YES)。
次に、MPU101はベット要求数変数(以下、単に「ベット要求数」という。)に「1」をセットする。MPU101は、1枚ベットスイッチ52以外のスイッチであるマックスベットスイッチ54のスイッチ信号のオンを検知したならば(ステップS223:NO)、規定数上限フラグをオンにセットし(ステップS224)、ベット要求数を「3」に修正する(ステップS225)。
そして、MPU101は、クレジット数をレジスタに読み込み、クレジット数とベット要求数とを比較する(ステップS226)。クレジット数がベット要求数以上でないと判定すれば(ステップS226:NO)、遊技進行制御処理にリターンする。なおステップS226以降の処理は、ステップS223で1枚ベットスイッチ52のオンが検出されたとき(ステップS223:YES)にも実行される。
次にMPU101は、クレジット数がベット要求数よりも多いと判定すれば(ステップS226:YES)1枚ベットスイッチ52の立ち上がりデータをクリアする(ステップS227)。「1枚ベットスイッチ52の立ち上がりデータをクリアする」とは、インターバル割込処理で生成された、例えばスイッチ類の立ち上がりデータ(例えば図42に示される_IP_SWITCH_UP)の第6ビットD5を「0」にすることである。
また、ステップS227でMPU101は、マックスベットスイッチ54の立ち上がりデータをクリアしてもよい。「マックスベットスイッチ54の立ち上がりデータをクリアする」とは、例えば立ち上がりデータ(例えば図42に示される_IP_SWITCH_UP)の第7ビットD6を「0」にすることである。なお、ステップS227の処理では、操作されたスイッチが1枚ベットスイッチ52かマックスベットスイッチ54かを判定せずに、1バイトの立ち上がりデータ(例えば図42に示される_IP_SWITCH_UP)のビットD5(1枚ベットスイッチに対応)及びビットD6(マックスベットスイッチに対応)をともに「0」にしてもよい。これにより、プログラムの構成及び処理を簡素化することができる。
次にMPU101は、1枚ベット処理を実行する(ステップS228)。これによりベット数を1枚増やす。そして、クレジット減算処理を実行し(ステップS229)、現在のクレジット数を1枚減らす。そして、ベット要求数のベット数の加算が終了するまで、ステップS228、S229の1枚ベット処理及びクレジット減算処理を繰り返す(ステップS230)。
上述したように立ち上がりデータは割込処理によって生成され、RAM1013の所定領域に記憶される。ベット操作受付処理では、ステップS227でベットスイッチの立ち上がりデータ(_IP_SWITCH_UP)をクリアしている。ここで、立ち上がりデータをクリアしなかった場合には、次の割込処理が実行されるまで立ち上がりデータが維持される。そうすると、メインのベット操作受付処理において1枚ベットスイッチ52の信号オンを検知したにもかかわらず、次の割込処理が実行されるまでの期間中に、1枚ベットスイッチの立ち上がりデータが「1」であることに基づいて2回以上1ベット処理(ステップS228)が繰り返し実行されてしまう可能性がある。このような不都合を回避するために、本実施形態では、メダルのクレジットがある場合には、1枚ベット処理の開始前に立ち上がりデータをクリアしている。
(清算処理)
次に、メダル管理処理のステップS148において清算スイッチ57が操作されたことで起動される清算処理の詳細を説明する。図35は、清算処理手段による清算処理を例示するフローチャートである。
清算処理では、MPU101は、はじめにスタートレバー受付許可フラグをオフ(受け付け不可)する(ステップS240)。これにより、清算処理中のスタートレバー55へ操作がされても無効となる。
次に、MPU101は、現在のクレジット数をクレジット数変数から例えばBレジスタに読み込む(ステップS241)。また、MPU101は現在のベット数をベット数変数から例えばAレジスタに読み込み(ステップS242)、読み込んだベット数を清算可能ベット数変数(以下、単に「清算可能ベット数」という。)に記憶する。
MPU101は、作動フラグをチェックし(ステップS243)、再遊技の作動状態を判定する(ステップS244)。再遊技の作動状態と判定された場合には、清算可能ベット数を「0」にクリアする(ステップS245)。なお、Aレジスタに読み込んだベット数を清算可能ベット数として扱い、自己の値同士で排他的論理和(XOR)演算を実行することで、清算可能ベット数を「0」にクリアしてもよい。
そして、MPU101は、清算すべきメダルがあるか判定する(ステップS246)。ここでいう「清算すべきメダル」の数は、清算可能ベット数にクレジット数を加えた数に相当する。つまり、「清算すべきメダルがある」とは、清算可能ベット数又はクレジット数の少なくともいずれかが「1」以上であること、言い換えると清算可能ベット数又はクレジット数のどちらも「0」でないことである。
例えばAレジスタの値(清算可能ベット数)とBレジスタの値(クレジット数)とで論理和(OR)演算し、その結果が「0」でなければ清算すべきメダルがあると判定する(ステップS246:YES)。
ちなみに、再遊技の作動状態のときには、上述したステップS245で清算可能ベット数が「0」にクリアされるので、清算すべきメダルの数は、クレジット数に一致することとなる。
MPU101は清算すべきメダルがないと判定すると(ステップS246:NO)、清算処理が終了し遊技進行制御処理にリターンする。清算すべきメダルがあるとき(ステップS246:YES)、既に説明したブロッカ信号停止処理(ブロッカOFF)が実行される(ステップS247)。これにより、メダルの追加投入が禁止される。
そして、再遊技が作動しているか判定され(ステップS248)、再遊技の作動状態であれば(ステップS248:YES)、後述するクレジット清算処理が実行される(ステップS251)。再遊技の作動状態でなければ(ステップS248:NO)、MPU101はベット数をレジスタに読み込み(ステップS249)、ベット数が「1」以上であれば(ステップS250:YES)、後述するベット清算処理が実行される(ステップS252)。ベット数が「0」であれば(ステップS250:NO)、後述するクレジット清算処理が実行される(ステップS252)。
このように、清算処理手段は、内部貯留数管理手段から現在の内部貯留数(クレジット数)を読み込み、賭け数管理手段から当該遊技に賭けられている遊技メダル数(ベット数)を読み込んで清算可能賭け数(清算可能ベット数)に設定し、作動状態判定手段により当該遊技が再遊技作動状態と判定した場合には、清算可能賭け数(清算可能ベット数)を「0」にクリアし、内部貯留数(クレジット数)が「1」以上であれば、メダル払出装置83を制御して、読み込んだ内部貯留数(クレジット数)だけ遊技メダルを払い出し、作動状態判定手段により当該遊技が再遊技作動状態ではないと判定した場合には、清算可能賭け数(清算可能ベット数)が「1」以上であれば、メダル払出装置83を制御して、清算可能賭け数(清算可能ベット数)だけ遊技メダルを払い出し、清算可能賭け数(清算可能ベット数)が「0」であり、かつ、内部貯留数(クレジット数)が「1」以上であれば、メダル払出装置83を制御して、読み込んだ内部貯留数(ベット数)だけ遊技メダルを払い出すようにしている。これにより、再遊技の作動状態のときにはクレジットの清算を可能にする。また、再遊技の作動状態でなければ、クレジットの清算よりも賭けられているベット数の清算を優先させることができる。
(クレジット清算処理)
次に、清算処理で起動される上述のクレジット清算処理(ステップS251)の詳細を説明する。図36はクレジット清算処理を例示するフローチャートである。
クレジット清算処理では、MPU101は、はじめに現在のクレジット数をレジスタに読み込む(ステップS261)。クレジット数が「1」以上のとき(ステップS262:YES)、後述するメダル1枚払出処理が実行される(ステップS263)。
メダル1枚払出処理により1枚のメダルの払い戻しが完了すると、MPU101は、クレジット減算処理を実行しクレジット数を1枚減らす(ステップS264)。そして、再びクレジット数を読み込み(ステップS261)、クレジット数が「1」以上残されていれば(ステップS262:YES)、メダル1枚払出処理を実行する(ステップS263)。このようなステップS261〜S264の処理を繰り返し行われ、クレジット数が「0」になると(ステップS262:NO)、上述したブロッカ信号出力処理(ブロッカON)が実行される(ステップS265)。これにより、クレジットの清算が完了した後は、メダル投入口51からのメダルの投入及び受け入れが許可される。
(ベット清算処理)
次に、清算処理で起動される上述のベット清算処理(ステップS252)の詳細を説明する。図37はベット清算処理を例示するフローチャートである。
ベット清算処理では、MPU101は、はじめに現在のベット数をレジスタに読み込む(ステップS271)。ベット数が「1」以上のとき(ステップS272:YES)、後述するメダル1枚払出処理が実行される(ステップS273)。
メダル1枚払出処理により1枚のメダルの払い戻しが完了すると、MPU101は、ベット数減算処理を実行して、ベット数を1枚減らす(ステップS274)。そして、再びベット数を読み込み(ステップS271)、ベット数がまだ「1」以上残されていれば(ステップS272:YES)、メダル1枚払出処理を実行する(ステップS273)。このようなステップS271〜S274の処理が繰り返し行われ、ベット数が「0」になると(ステップS272:NO)、上述したブロッカ信号出力処理(ブロッカON)が実行される(ステップS275)。これにより、賭けたメダルの清算が完了した後は、メダル投入口51からのメダルの投入が許可される。
(メダル1枚払出処理)
次に、上述した清算処理や入賞によりメダルを払い出す際に起動される、上述のメダル1枚払出処理の詳細を説明する。図38は、メダル1枚払出処理を例示するフローチャートである。
MPU101は、はじめに異常監視処理手段により設定される払出装置エラーフラグを参照してメダル払出装置83で既に異常(払出装置エラー)が検出されたか判定する(ステップS281)。払出装置エラーが検出された場合には(ステップS281:YES)、後述するエラー表示処理が実行される(ステップS282)。
次に、MPU101は払出制御監視タイマをセットして時間計測を開始する(ステップS283)。そして、MPU101は、払出駆動信号の出力要求をセットする(ステップS284)。
MPU101が「払出駆動信号の出力要求をセットする」とは、例えば図43に示されるラベル_PT_BLK_HPMで参照されるRAM1013のメモリ領域に、第2ビットD1(払出駆動信号に対応)を「1」にした1バイトの出力要求データを記憶させることであり、この命令の実行後の次の割込処理で払出駆動信号がメダル払出装置83の払出モータ420に対し出力される。このとき、払出駆動信号フラグがオンにセットされる。ここで「払出駆動信号フラグ」とは、払出駆動信号の出力状態を示すフラグである。
払出駆動信号を出力後、MPU101は、メダル払出装置83の払出第1センサ411の作動(オン)を検知せずに(ステップS287:NO)、払出制御監視タイマが所定時間(例えば500ミリ秒)の経過を示したとき(ステップS285:YES)、払出装置エラーの1つである空エラーと判定して空エラーフラグをオンにセットする(ステップS286)。そして、払出駆動信号を停止して(ステップS293)リターンする。なお、払出駆動信号が停止すると払出駆動信号フラグがオフにされる。
MPU101は、払出制御監視タイマが所定時間(例えば500ミリ秒)の経過を計測する前に(ステップS285:NO)、払出第1センサ411のオンを検知すると(ステップS287:YES)、払出第1センサタイマをセットして時間計測を開始する(ステップS288)。また、引き続き払出第2センサ412のオンを検知すると(ステップS289:YES)、払出第2センサタイマをセットして時間計測を開始する(ステップS290)。
MPU101は、払出第2センサタイマによる時間計測が所定の監視時間(例えば30ミリ秒)経過前に払出第2センサ412のオフを確認し(ステップS291:YES)、引き続き払出第1センサタイマによる時間計測が所定の監視時間(例えば100ミリ秒)経過前に払出第1センサ411のオフを確認したとき(ステップS292:YES)、1枚のメダルが正常に払い出されたと判定して払出駆動信号の出力要求をクリアする(ステップS293)。
MPU101が「払出駆動信号の出力要求をクリアする」とは、例えば図43に示されるラベル_PT_BLK_HPMで参照されるRAM1013のメモリ領域に、第2ビットD1(払出駆動信号に対応)を「0」にした1バイトの出力要求データを記憶させることであり、この命令の実行後の次の割込処理で払出駆動信号が停止する。
一方、MPU101は、払出第1センサ411がオン後、払出第2センサ412のオンを確認できないとき、メダル払出装置83の詰まりエラーと判定して詰まりエラーフラグをオンにセットする(ステップS294)。そして、払出駆動信号を停止して(ステップS293)リターンする。
また、MPU101は、払出第1センサ411がオン後、払出第1センサタイマによる所定の監視時間(例えば100ミリ秒)計測前に払出第1センサ411のオフを確認できないとき(ステップS292:NO)、又は、払出第2センサ412がオン後、払出第2センサタイマによる所定の監視時間(例えば30ミリ秒)計測前に払出第2センサ412のオフを確認できないとき(ステップS291:NO)、メダル払出装置83の詰まりエラーと判定して詰まりエラーフラグをオンにセットする(ステップS294)。そして、払出駆動信号を停止して(ステップS293)リターンする。
(エラー表示処理)
次に、上述したメダル投入処理においてセレクタエラーが検出されたとき、又はメダル1枚払出処理で払出装置エラーが検出されたときに起動されるエラー表示処理の詳細を説明する。図39は、異常監視処理手段及び復帰処理手段によるエラー表示処理を例示するフローチャートである。
エラー表示処理では、MPU101は、はじめにセレクタエラーフラグ及び払出装置エラーフラグを参照して、検出されたエラーのエラーコードをRAM1013のスタック領域に保存する(ステップS301)。なお、エラーコードをスタティックRAMの所定のメモリ領域に保存してもよいし、レジスタに保存してもよい。また、MPU101は、払出駆動信号フラグを参照し、払出モータ410への払出駆動信号の出力状態を示す情報を得てその情報を記憶退避領域であるスタックに退避する(ステップS302)。続いて、MPU101は、ブロッカ信号フラグを参照し、ソレノイド533へのブロッカ信号の出力状態を示す情報を得てその情報を記憶退避領域であるスタックに退避する(ステップS303)。
なお、1バイトのフラグデータ内にブロッカ信号フラグに対応するビットと払出駆動信号フラグに対応するビットとが含まれることが好ましい。これにより、ステップS302、S303の退避処理を1ステップ命令で実行することができ、プログラムを簡素化し処理速度を向上させることができる。また、フラグデータの退避先は、RAM1013のスタック領域の他にスタティックRAMの所定メモリ領域又はレジスタであってもよい。
そして、MPU101は、払出駆動信号が出力中であれば払出駆動出力要求をクリアし、メダル払出装置83の作動を停止させる(ステップS304)。ブロッカ信号が出力中であればブロッカ信号停止処理(ブロッカOFF)を実行する(ステップS305)。また、MPU101は、スタートレバー受付許可フラグをオフにして、スタートレバー55への操作受け付けを禁止する(ステップS306)。また、エラー表示出力要求をセットして、所定の表示器にエラーコードを表示させる(ステップS307)。
このように、本実施形態の異常監視処理手段は、セレクタエラー及び/又は払出装置エラーを検出すると、ブロッカ信号の情報及び払出駆動信号の情報をそれぞれ記憶退避領域に退避させた後、ブロッカ信号及び払出駆動信号を停止するようにしている。なお、ブロッカ信号の出力要求のクリア及び払出駆動信号の出力要求のクリアは、上述したように、MPU101がラベル_PT_BLK_HPMで参照されるメモリ領域に、第1ビットD0(ブロッカ信号に対応)を「0」にし、第2ビットD1(払出駆動信号に対応)を「0」にした1バイトの出力要求データを記憶させることであり、この命令の実行後の次の割込処理でこれらの信号が停止する。
次に、MPU101は、スロットマシン10へのリセット操作によるリセット信号が検知されるまでループ処理で待ち(ステップS308:NO)、リセット信号の検知を受けて(ステップS308:YES)、所定の判定処理を実行する(ステップS309)。この判定処理によりエラー要因が除去されなければ(ステップS310:NO)、再びステップS308からのリセット操作を待つ処理に移行する。MPU101は、判定処理によりエラー要因が除去されたと判定すると(ステップS310:YES)、保存されたエラーコードをクリアし(ステップS311)、エラー復帰表示出力要求をセットし、エラーが解除された旨を所定の表示器に表示させる(ステップS312)。
次に、MPU101は、エラー前の払出駆動信号の情報をRAM1013のスタック領域から呼び戻し(ステップS313)、エラー前に払出駆動信号が出力されていたならば(ステップS314:YES)、払出駆動信号の出力要求をセットし、メダル払出装置83の作動を再開させる(ステップS315)。また、MPU101はエラー前のブロッカ信号の情報をRAM1013のスタック領域から呼び戻し(ステップS316)、エラー前にブロッカ信号が出力されていたならば(ステップS317:YES)、ブロッカ信号出力処理を実行する(ステップS318)。なお、ブロッカ信号の出力要求及び払出駆動信号の出力要求は、上述したように、MPU101がラベル_PT_BLK_HPMで参照されるメモリ領域に、第1ビットD0(ブロッカ信号に対応)を「1」にし、第2ビットD1(払出駆動信号に対応)を「1」にした1バイトの出力要求データを記憶させることである。この命令の実行後、次の割込処理でこれらの信号が出力される。
このように、本実施形態の復帰処理手段は、記憶退避領域から払出駆動信号の情報を呼び戻し、当該呼び戻した情報に基づいて払出駆動信号を制御することにより、メダル払出装置83を異常前の駆動状態に復帰させる。また、復帰処理手段は、記憶退避領域(スタック)からブロッカ信号の情報を呼び戻し、当該呼び戻した情報に基づいてブロッカ信号を制御することにより、異常前の位置にブロッカ532を復帰させる。
これにより、異常が発生したセレクタ28又はメダル払出装置83へのエラー除去作業や判定処理の影響を受けずに、リセット後これらの装置を正常な状態に確実に復帰させることができる。
(スタートレバーチェック処理)
次に、遊技進行制御処理におけるステップS108で起動されるスタートレバーチェック処理の詳細を説明する。ここで、図40はスタートレバーチェック処理を例示するフローチャートである。
スタートレバーチェック処理では、MPU101は、はじめにセレクタエラーフラグ及び払出装置エラーフラグを参照して、これらの装置にエラーが発生していないことを確認する(ステップS321)。また、当該遊技における規定数変数を読み取り規定数をチェックする(ステップS322)。上述したように「規定数」とは、上述したように遊技状態に応じて当該遊技に賭けることができるメダルの数をいう。
ここで、MPU101は、当該遊技の遊技状態により一義的に対応する規定数と、規定数変数に記憶されている規定数とを比較し、これらが一致しなければ(ステップS323:NO)、スタートレバー受付許可フラグをオフにし、又は当該スタートレバー受付許可フラグがオフであればオフを維持して、遊技進行制御処理にリターンする(ステップS324)。
また、MPU101は、スタートレバー55の操作受け付けが可能か否か判定する(ステップS325)。例えば、遊技ウエイト処理タイマが例えば4.1秒の所定時間経過を示していれば、スタートレバー55の操作受け付けが可能と判定する。なお、「遊技ウエイト処理タイマ」は、上述したようにリール40L、40C、40Rを回転させる最初の駆動パルス信号の立ち上がりにより時間計測を開始する内部タイマである。
MPU101は、スタートレバー55の操作受け付けが可能と判定すると(ステップS325:YES)、スタートレバー受付許可フラグをオンにセットし(ステップS326)、この段階でスタートレバー55からの回転開始センサ信号の立ち上がりがインターバル割込処理で検知されていなければ(ステップS327:NO)、遊技進行制御処理にリターンする。スタートレバー55が操作され回転開始センサ信号がインターバル割込処理で検知されると(ステップS327:YES)、MPU101は、ブロッカ信号停止処理を実行する(ステップS328)。そして、乱数カウンタ値とソフト乱数とに基づいて演算処理して求めた内蔵乱数を取り込む(ステップS329)。
以上、本発明において望ましい基本的な実施形態を説明したが、次のような変形又は発展を加えてもよい。
変形例1
スロットマシン10は、少なくとも例えば再遊技A、B及びCを備える。これら2種類の再遊技役において、
再遊技Aの作動条件が、再遊技Aの当選役が決定し、かつ「リプレイ」「リプレイ」「リプレイ」の図柄組合せが停止表示されること;
再遊技Bの作動条件が、再遊技Bの当選役が決定し、かつ「リプレイ」「リプレイ」「リプレイ」又は「リプレイ」「リプレイ」「ベル」の図柄組合せが停止表示されること;
再遊技Cの作動条件が、再遊技Cの当選役が決定し、かつ「リプレイ」「リプレイ」「リプレイ」又は「リプレイ」「リプレイ」「スイカ」の図柄組合せが停止表示されること、とする。
この例において、特定の再遊技が作動したとき、例えば「リプレイ」「リプレイ」「ベル」の図柄組合せが表示され再遊技Bが作動した場合、又は「リプレイ」「リプレイ」「スイカ」の図柄組合せが表示され再遊技Cが作動した場合に、メダルの追加投入及び/又は清算が可能となるようにしてもよい。併せて、停止操作手順(停止操作順序や停止操作タイミング)に応じて、停止表示される図柄組合せを決定してもよい。
変形例2
メダル管理処理のステップS147において、清算スイッチ57の立ち上がりではなく、清算スイッチ57の長押しにより清算処理(ステップS148)を実行するようにしてもよい。
例えば、論理変換したスイッチの入力データ(_IP_SWITCH_CUR)の清算スイッチ57に対応する第8ビットD7の値が「1」となり、割込サイクルのカウント数が500を超えるまで(約1.2秒程度)、D7の値が「1」に維持されたときに、清算スイッチ57が長押しされたと判定することができる。
また、清算スイッチ57の長押し中にメダルの投入が検知されたときは、メダル投入処理(ステップS143)を実行してもよい。例えば、スイッチの入力データ(_IP_SWITCH_CUR)の第8ビットD7の値が「1」となり、割込サイクルのカウント数が500を超えない期間中に、センサ信号の立ち上がりデータ(例えば図42に示される_IP_SENSOR_UP)の投入第1センサ541に対応するビットD5が「1」となったときには、メダル投入処理を起動してもよい。
変形例3
清算処理における再遊技作動状態の判定処理において(ステップS248)、再遊技の作動状態でないと判定したときには、ベット数清算処理に続いてクレジット清算処理を実行してもよい。つまり、再遊技の作動状態でなければ、ベット及びクレジットされている全てのメダルを1回の操作で清算できるようにしてもよい。
変形例4
遊技進行制御処理のステップS102で起動される遊技開始処理の他の実施形態を、図45のフローチャートに基づいて説明する。
MPU101は、はじめにクレジット数表示要求をセットする(ステップS401)。そして、MPU101は、作動フラグをチェックし(ステップS122)、再遊技の作動状態か非作動状態かを判定する(ステップS402)。
MPU101は、再遊技の作動状態と判定すると(ステップS403:YES)、クレジット数をレジスタに読み込む(ステップS404)。クレジット数がクレジット上限数(例えば50枚)か否か判定し(ステップS405)。クレジット数がクレジット上限数に達していなければ(ステップS405:NO)、ブロッカ信号出力処理(ブロッカON)を実行する(ステップS406)、これによりメダル投入口51からのメダルの投入が許可される。
また、ステップS403で再遊技の作動状態ではないと判定した場合(ステップS403:NO)、クレジット数にかかわらずブロッカ信号出力処理(ブロッカON)を実行する(ステップS406)。
そして、MPU101は、再遊技の作動状態か非作動状態かを再び判定し(ステップS407)、再遊技の作動状態のときには(ステップS407:YES)、1枚ベット処理を実行する(ステップ408)。1枚ベット処理により自動投入されたベット数が規定数の上限(通常遊技状態の場合は3枚、特別遊技状態の場合は2枚)に達するまで(ステップS409:YES)、ステップS408の1枚ベット処理が繰り返される。
なお、ステップS407で再遊技の作動状態と判定した場合には、ステップS408の1ベット処理の前に一定時間の待機時間を設け、一定時間の待機時間が経過した後に1ベット処理を実行してもよい。換言すると、再遊技役が入賞した場合に即座に1ベット処理を実行しないように制御してもよい。
上記課題を解決するため、本発明は、遊技メダルが投入される投入口と、前記投入口から投入される遊技メダルを選別するセレクタと、遊技の進行を演算処理により制御する演算処理装置を有する主制御基板と、を備えたスロットマシンであって、前記セレクタは、遊技メダルの受け入れを許可する位置又は拒否する位置に移動するブロッカと、遊技メダルを検知する投入センサとを有し、前記主制御基板は、規定数の遊技メダルが賭けられることを条件として、スタートレバーの操作を契機に当選役を抽選により決定する当選役決定手段と、遊技に賭けることができる規定数の上限数を設定する上限数設定手段と、遊技に賭けられている遊技メダル数を管理する賭け数管理手段と、所定の上限数が予め定められ、遊技メダルの内部貯留数を管理する内部貯留数管理手段と、前記ブロッカの位置を制御するブロッカ制御手段と、前記投入センサによる遊技メダルの検知を契機に遊技メダルに関する制御を実行する遊技メダル管理手段と、を備え、前記当選役決定手段により決定される当選役として少なくとも再遊技役があり、前記上限数設定手段は、前回遊技で再遊技役が成立したとき、前回遊技に賭けられた遊技メダル数を今回遊技の規定数に設定し、前記賭け数管理手段は、前回遊技で再遊技役が成立したとき、前回遊技に賭けられた遊技メダル数を今回遊技の賭け数に設定し、前記遊技メダル管理手段は、前記投入センサの検知時間に基づいて異常を判定する判定処理を実行し、前記ブロッカ制御手段は、規定数の遊技メダルが賭けられ、スタートレバーが操作されたときに遊技メダルの受け入れを拒否する位置に前記ブロッカを制御し、前回遊技で再遊技役が成立した遊技では、前記内部貯留数が前記所定の上限数に達していないことを条件に、遊技メダルの受け入れを拒否する位置から遊技メダルの受け入れを許可する位置に前記ブロッカを制御し、前回遊技で再遊技役が成立しなかった遊技では、前記内部貯留数が前記所定の上限数に達しているか否かにかかわらず、遊技メダルの受け入れを拒否する位置から遊技メダルの受け入れを許可する位置に前記ブロッカを制御し、前記判定処理で異常を判定したとき、前記ブロッカ制御手段が制御しているブロッカの位置の情報を記憶した後に、当該ブロッカ制御手段は遊技メダルの受け入れを拒否する位置に前記ブロッカを制御し、リセットスイッチの操作により異常の状態から復帰するとき、当該ブロッカ制御手段は記憶した前記ブロッカの位置の情報に基づいて前記ブロッカを制御する、ことを特徴とするスロットマシンである。
上記課題を解決するため、本発明は、遊技メダルが投入される投入口と、前記投入口から投入される遊技メダルを選別するセレクタと、遊技の進行を演算処理により制御する演算処理装置を有する主制御基板と、を備えたスロットマシンであって、前記セレクタは、遊技メダルの受け入れを許可する位置又は拒否する位置に移動するブロッカと、遊技メダルを検知する投入センサとを有し、前記主制御基板は、規定数の遊技メダルが賭けられることを条件として、スタートレバーの操作を契機に当選役を抽選により決定する当選役決定手段と、遊技に賭けることができる規定数の上限数を設定する上限数設定手段と、遊技に賭けられている遊技メダル数を管理する賭け数管理手段と、所定の上限数が予め定められ、遊技メダルの内部貯留数を管理する内部貯留数管理手段と、前記ブロッカの位置を制御するブロッカ制御手段と、前記投入センサによる遊技メダルの検知を契機に遊技メダルに関する制御を実行する遊技メダル管理手段と、を備え、前記当選役決定手段により決定される当選役として少なくとも再遊技役があり、前記上限数設定手段は、前回遊技で再遊技役が成立したとき、前回遊技に賭けられた遊技メダル数を今回遊技の規定数に設定し、前記賭け数管理手段は、前回遊技で再遊技役が成立したとき、前回遊技に賭けられた遊技メダル数を今回遊技の賭け数に設定し、前記遊技メダル管理手段は、前記上限数設定手段により設定された規定数の上限数、前記賭け数管理手段により記憶されている遊技メダル数、及び、前記内部貯留数管理手段により記憶されている内部貯留数に基づいた演算処理を実行し、前記投入センサの検知時間に基づいて異常を判定する判定処理を実行し、前記ブロッカ制御手段は、前記演算処理の結果が所定結果となったときには遊技メダルの受け入れを拒否する位置に前記ブロッカを制御し、規定数の遊技メダルが賭けられ、スタートレバーが操作されたときに遊技メダルの受け入れを拒否する位置に前記ブロッカを制御し、前回遊技で再遊技役が成立した遊技では、前記内部貯留数が前記所定の上限数に達していないことを条件に、遊技メダルの受け入れを拒否する位置から遊技メダルの受け入れを許可する位置に前記ブロッカを制御し、前回遊技で再遊技役が成立しなかった遊技では、前記内部貯留数が前記所定の上限数に達しているか否かにかかわらず、遊技メダルの受け入れを拒否する位置から遊技メダルの受け入れを許可する位置に前記ブロッカを制御し、前記判定処理で異常を判定したとき、前記ブロッカ制御手段が制御しているブロッカの位置の情報を記憶した後に、当該ブロッカ制御手段は遊技メダルの受け入れを拒否する位置に前記ブロッカを制御し、リセットスイッチの操作により異常の状態から復帰するとき、当該ブロッカ制御手段は記憶した前記ブロッカの位置の情報に基づいて前記ブロッカを制御する、ことを特徴とするスロットマシンである。