以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本発明の実施形態の理解を容易にするため、まず、遊技機の機械的構成および電気的構成を簡単に説明し、その後、各基板における具体的な処理を説明する。
図1は、本実施形態の遊技機100の斜視図であり、扉が開放された状態を示している。図示のように、遊技機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、この外枠102にヒンジ機構によって開閉自在に取り付けられた内枠104と、この内枠104に、ヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
内枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されており、この囲繞空間に遊技盤108が保持されている。また、前枠106には、ガラス製または樹脂製の透過板110が保持されている。そして、これら内枠104および前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、遊技機100の正面側から、透過板110を介して遊技盤108が視認可能となる。
図2は、遊技機100の正面図である。この図に示すように、前枠106の下部には、遊技機100の正面側に突出する操作ハンドル112が設けられている。この操作ハンドル112は、遊技者が回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、当該操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることとなる。
遊技領域116は、遊技盤108と透過板110との間隔に形成される空間であって、遊技球が流下または転動可能な領域である。遊技盤108には、多数の釘や風車が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。
遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にする第1遊技領域116aおよび第2遊技領域116bを備えている。第1遊技領域116aは、遊技機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、遊技機100に正対した遊技者から見て遊技領域116の右側に位置している。レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球は第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球は第2遊技領域116bに進入することとなる。
また、遊技領域116には、遊技球が入球可能な一般入賞口118、第1始動口120、第2始動口122(図2では不図示)が設けられており、一般入賞口118、第1始動口120、第2始動口122に遊技球が入球すると、それぞれ所定の賞球が遊技者に払い出される。遊技球の入球に基づいて払い出される賞球数は、入賞口ごとに異なっていてもよい。
なお、詳しくは後述するが、第1始動口120内には第1始動領域が設けられ、また、第2始動口122内には第2始動領域が設けられている。そして、第1始動口120または第2始動口122に遊技球が入球して第1始動領域または第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1の特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技の実行可否や、以後の遊技状態をどのような遊技状態にするかといった種々の遊技利益が対応付けられている。したがって、遊技者は、第1始動口120または第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の遊技利益を受ける権利獲得の機会を獲得することとなる。
また、第2始動口122には、可動片122bが開閉可能に設けられており、この可動片122bの状態に応じて、第2始動口122への遊技球の進入容易性が変化するようになっている。具体的には、可動片122bが閉状態にあるときには、第2始動口122への遊技球の入球が不可能となっている。これに対して、遊技領域116に設けられたゲート124内の進入領域を遊技球が通過すると、後述する普通図柄の抽選が行われ、この抽選によって当たりに当選すると、可動片122bが所定時間、開状態に制御される。このように、可動片122bが開状態になると、当該可動片122bが遊技球を第2始動口122に導く受け皿として機能し、第2始動口122への遊技球の入球が容易となる。なお、ここでは、第2始動口122が閉状態にあるときに、当該第2始動口122への遊技球の入球が不可能であることとしたが、第2始動口122が閉状態にある場合にも一定の頻度で遊技球が入球可能となるように構成してもよい。
さらに、遊技領域116には、遊技球が入球可能な大入賞口128が設けられている。この大入賞口128には、開閉扉128bが開閉可能に設けられており、通常、開閉扉128bが大入賞口128を閉鎖して、大入賞口128への遊技球の入球が不可能となっている。これに対して、前述の大役遊技が実行されると、開閉扉128bが開放されて、大入賞口128への遊技球の入球が可能となる。そして、大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。
なお、遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、大入賞口128のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。
そして、遊技機100には、遊技の進行中等に演出を行う演出装置として、液晶表示装置からなる演出表示装置200、可動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる音声出力装置206、遊技者の操作を受け付ける演出操作装置208が設けられている。
演出表示装置200は、画像を表示する画像表示部からなる演出表示部200aを備えており、この演出表示部200aを、遊技盤108の略中央部分において、遊技機100の正面側から視認可能に配置している。この演出表示部200aには、図示のように演出図柄210a、210b、210cが変動表示され、これら各演出図柄210a、210b、210cの停止表示態様によって大役抽選結果が遊技者に報知される変動演出が実行されることとなる。
演出役物装置202は、演出表示部200aよりも前面に配置され、通常、遊技盤108の背面側に退避しているが、上記の演出図柄210a、210b、210cの変動表示中などに、演出表示部200aの前面まで可動して、遊技者に大当たりの期待感を付与するものである。
演出照明装置204は、演出役物装置202や遊技盤108等に設けられており、演出表示部200aに表示される画像等に合わせて、さまざまに点灯制御される。演出照明装置204は例えばフルカラーLED等を有している。
音声出力装置206は、前枠106の上部位置や外枠102の最下部位置に設けられ、演出表示部200aに表示される画像等に合わせて、遊技機100の正面側に向けてさまざまな音声を出力する。
演出操作装置208は、遊技者の押下操作を受け付けるボタンで構成され、遊技機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。この演出操作装置208は、演出表示部200aに表示される画像等に合わせて有効化されるものであり、操作有効期間内に遊技者の操作を受け付けると、当該操作に応じて、さまざまな演出が実行される。
なお、符号132は、遊技機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿であり、この上皿132が遊技球で一杯になると、遊技球は下皿134に導かれることとなる。また、この下皿134の底面には、当該下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。この球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを図中左右方向にスライドさせることにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。
また、遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が設けられている。これら各表示器160~172は、遊技に係る種々の状況を表示するための装置であるが、その詳細については後述する。
(遊技機裏面の構成)
図3は、遊技機100の裏面図である。遊技機100の裏面側には、主制御基板ケース103、外部情報出力端子板312、賞球貯留タンク315、賞球払出流路317、払出球計数スイッチ316s、裏カバー331、払出制御基板ケース313および内枠開放スイッチ145s等が設置されている。この他に遊技機100の裏側には、遊技機100の電源系統や制御系統を構成する各種の電子機器類(図示しない制御コンピュータを含む)、電源プラグを備えた電源コード109及び図示しない接続配線等が設置されている。
遊技機100の裏面側中央には、遊技機100における遊技の基本動作を制御する主制御基板300が一部分を露出した状態で主制御基板ケース103に収容されて配置されている。主制御基板300の構成の詳細は後述する。
外部情報出力端子板312は、遊技機100の外部の電子機器(例えばデータ表示装置、ホールコンピュータ等)と通信可能に接続されている。遊技機100の遊技進行状態やメンテナンス状態等を表す各種の外部情報信号(例えば賞球情報、セキュリティ情報、大当たり情報、始動口情報等)は、外部情報出力端子板312から外部の電子機器(以下、「外部装置」と称する場合がある)に向けて出力される。外部情報出力端子板312および外部情報信号の詳細は、後述する。
賞球貯留タンク315は、図示しない補給経路から補給された遊技球を蓄えることができる。賞球の払出しが行われる際には、賞球貯留タンク315に蓄えられた遊技球は、賞球払出流路317を通って遊技機100の前面側の上皿132(図2参照)に導かれる。払出球計数スイッチ316sは、賞球払出流路317を通って払い出される遊技球数を検出する。
裏カバー331は、主に遊技中や待機中等の各演出を制御する副制御基板330を覆うカバー部材である。また、払出制御基板ケース313は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う払出制御基板310が収められたケース部材である。副制御基板330及び払出制御基板310の詳細は後述する。
払出制御基板ケース313の左下領域には、内枠開放スイッチ145sが設けられている。内枠開放スイッチ145sについては後述する。また、電源コード109は、例えば遊技店の島設備に設置された電源装置(例えばAC24V)に接続される。これにより、遊技機100の動作に必要な電源(電力)が確保される。
(主制御基板の構成)
主制御基板300上の左上領域には、性能表示器300dが設けられている。本実施形態における性能表示器300dは、4つのデシマルポイント付きの7セグメントLED表示器で構成されている。具体的には、性能表示器300dは、4つの表示領域361,362,363,364を有している。表示領域361~364の7セグメントLED表示器を構成する各セグメントには番号(カウンタ値)が対応付けられており、カウンタ値に対応する各セグメントを点灯制御することで数字およびアルファベットが表示できる。
したがって、性能表示器300dは、最大4つの英数字を表示することができる。4つの表示領域361,362,363,364を有する性能表示器300dは、後述する設定値や賞球数に基づく算出処理結果の値(例えば、ベース値等)を表示する。
性能表示器300dは、例えばベース値を確認する者(警察官等)が表示内容を誤認なく確認できれば、図3に示す位置に限られず、主制御基板300上における主制御基板300の他の構成と重なり合うことのない確認容易な位置に設けられていてもよい。主制御基板ケース103は、内部に収容した主制御基板300が外部から視認できるように透明の材料(例えばポリカーボネート)で形成されている。
性能表示器300dの下側には、メインIC300xが配置されている。メインIC300xは、例えばV5チップであって、メインCPU300a、メインROM300b及びメインRAM300c(図3では不図示、図4参照)を内蔵している。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。また、メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
主制御基板300上の左下端部には、RAMクリアボタン305が設けられている。主制御基板ケース103を封止した状態でRAMクリアボタン305が操作できるように、RAMクリアボタン305は主制御基板ケース103から外部に露出した状態で配置されている。RAMクリアボタン305が押圧操作されると、RAMクリア検出スイッチ305s(図4参照)がRAMクリアボタン305の押圧操作を検出し、RAMクリア信号が出力される。RAMクリア信号は、例えば電源投入時において、メインCPU300aがメインRAM300cの初期化を行うか否かの判定等に用いられる。
(設定キー操作)
主制御基板300には、RAMクリアボタン305の他に設定キー差込口306が設けられている。設定キー差込口306は、後述する設定値の変更や設定値の参照に用いられる専用鍵(設定キー)を差し込むための差込口(鍵穴)である。本実施形態による遊技機100は、設定キーの操作とともにRAMクリアボタン305を押下することによって、設定値を1~6の6段階に設定可能に構成されている。詳しくは後述するが、遊技機100は、設定中の設定値に応じて遊技が進行するものであり、設定値ごとに有利度合いが異なっている。
設定キー差込口306は、シリンダを有するシリンダ錠で構成されている。また、設定キー差込口306のシリンダは、主制御基板ケース103を貫通した状態(シリンダの周囲が主制御基板ケース103によって囲まれた状態)で設けられている。したがって、主制御基板300が主制御基板ケース103に封止された状態のままで設定キー差込口306に設定キーを差し込んで回転操作をすることが可能である。
(制御手段の内部構成)
図4は、遊技の進行を制御する制御手段の内部構成を示すブロック図である。
主制御基板300は遊技の基本動作を制御する。この主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。また、メインCPU300aは、演算処理時において、メインRAM300cやメインCPU300aの内部レジスタ(不図示)をデータのワークエリアとして用いる。
ここで、メインCPU300aがワークエリアとして用いるメモリ領域のうち、メインRAM300cに割り当てられたメモリ領域(F000H~F3FFH)の用途例について図5を参照して説明する。
図5に示すように、本実施形態による遊技機100において、アドレスF000H~F1FFHの領域は、格納するデータの種類に応じて第一領域から第四領域の4つの領域に分けられる。第一領域は、設定値に関連する情報(設定値関連情報)および遊技状態に関する情報(遊技状態関連情報)を格納する領域である。第二領域は、後述のCPU初期化処理(図18)において電源復帰に係る誤り検出に用られるチェックサム関連情報およびバックアップ関連情報を格納する領域である。第三領域は、エラー関連情報および第一通常遊技状態情報を格納する領域である。第4領域は、第二通常遊技情報を格納する領域およびスタックエリアとして用いられる領域である。
第一領域から第4領域を含むアドレスF000H~F1FFHの領域を、使用領域という。使用領域は、遊技機の進行に必須の情報(データ)を格納するメモリ領域であって、遊技規則によって使用容量が制限されている。
メインRAM300cにおいて、アドレスF300H~F3FFHの領域は、遊技の進行に必須でない情報の格納に用いる領域であって、使用外領域という。本例では、使用外領域には、性能表示器300dの表示制御等に係る情報(性能表示関連情報)が格納される。また、使用外領域には、試験信号の出力制御に係る情報が格納されてもよい。試験信号は、遊技機100の現在の内部状態(例えば、特別遊技管理フェーズ、普通遊技管理フェーズ、発射位置指定の状態、大役遊技の実行状況、遊技状態(高確率、低確率、時短、非時短)等)を即時的(リアルタイム)に主制御基板300の外部に通知するために出力される信号である。
また、図5に示すように、使用領域と使用外領域との間の領域(アドレスF200H~F2FFの領域)は、データの格納に用いられない未使用領域である。
このように、遊技機100において、メインRAM300cは、使用領域、使用外領域および未使用領域で構成されている。本例において、メインRAM300cには1バイトごとの領域にアドレス値が割り振られている。したがって、未使用領域として256バイトに相当する領域が割り当てられている。なお、未使用領域としては、少なくとも16バイト以上の領域が割り当てられていればよい。
図4に戻って、本実施形態の遊技機100は、主に第1始動口120または第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124を遊技球が通過することによって開始される普通遊技とに大別される。そして、主制御基板300のメインROM300bには、特別遊技および普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。
上記主制御基板300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118s、第1始動口120に遊技球が入球したことを検出する第1始動口検出スイッチ120s、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122s、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124s、大入賞口128に遊技球が入球したことを検出する大入賞口検出スイッチ128sが接続されており、これら各検出スイッチから主制御基板300に検出信号が入力されるようになっている。
また、主制御基板300には、第2始動口122の可動片122bを作動する普通電動役物ソレノイド122cと、大入賞口128を開閉する開閉扉128bを作動する大入賞口ソレノイド128cと、が接続されており、主制御基板300によって、第2始動口122および大入賞口128の開閉制御がなされるようになっている。
さらに、主制御基板300には、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が接続されており、主制御基板300によって、これら各表示器の表示制御がなされるようになっている。
また、遊技機100には、前枠開放スイッチ141s、アウト検出スイッチ143sおよび内枠開放スイッチ145sが接続されている。以下、内枠開放スイッチ145sと前枠開放スイッチ141sとを総称して開閉枠部材開放スイッチと称する場合がある。開閉枠部材開放スイッチは、内枠104や前枠106といった開閉枠部材が開放されていることを遊技機100に発生していることを検出するスイッチである。
前枠開放スイッチ141sは、前枠106が開放されていることを検出すると、主制御基板300に開放検出信号(オン信号)を出力する。また、内枠開放スイッチ145sは、内枠104が外枠102に対して開放されていることを検出すると、主制御基板300に開放検出信号(オン信号)を出力する。
また、図4には図示しないが、遊技機100には、開閉枠部材開放スイッチの他にも、遊技機100の各構成の異常または各構成に対する不正の可能性があることを検出する種々の異常検出スイッチが設けられていてもよい。例えば、遊技機100には、異常検出スイッチとして、電波を検出する電波検出スイッチ、磁気を検出する磁気検出スイッチ等が設けられていてもよい。
アウト検出スイッチ143sは、遊技領域116へ発射された遊技球が遊技機100の外部に排出されるときに通過する遊技球排出経路(不図示)を通過したことを検出すると、主制御基板300にアウト球検出信号(オン信号)を出力する。
一般入賞口118、第1始動口120、第2始動口122および大入賞口128の何れかに入球した遊技球、並びに何れの入賞口にも入球せずに排出口130へ入球した遊技球が、上述の遊技機球排出経路を通過する。つまり、遊技領域116へ発射された後に集約されて外部へ排出される全ての遊技球が、遊技球排出経路においてアウト検出スイッチ143sによって検出される。
さらに、遊技盤108の背面には、設定キースイッチ180sおよびRAMクリア検出スイッチ305sが設けられている。設定キースイッチ180sは、上述の設定キーによってアクセスが可能に構成されている。設定キースイッチ180sは、設定キー差込口306に差し込まれた設定キーの回転操作を検出すると、回転操作の状態(回転状態)を示す設定キー回転検出信号(オン信号)を主制御基板300に出力する。
また、RAMクリア検出スイッチ305sは、RAMクリアボタン305の押圧操作によってアクセス可能に構成されている。RAMクリア検出スイッチ305sは、RAMクリアボタン305の押下(押圧操作)を検出すると、押圧検出信号(オン信号)を主制御基板300に出力する。
本実施形態による遊技機100は、設定キースイッチ180sにアクセス可能な設定キーおよびRAMクリアボタン305を用いることで、設定値の変更が可能となっている。
ここで、設定値の変更手順について説明する。
(設定値変更手順)
まず、遊技機100の電源が未投入(電源断)の状態において、設定変更を行う作業者は、専用の鍵を用いて外枠102に対して内枠104を開放する。これにより、遊技機100の裏面に配置された主制御基板300等の構成要素が視認可能となる。
遊技機100の裏面には、上述のように設定キーを挿入するための設定キー差込口306と、RAMクリアボタン305とが設けられている(図3参照)。作業者は設定キー差込口306に設定キーを挿入し、設定キーを一の方向(例えば、時計回り方向)に回転操作(変更操作)する。さらに、作業者は、RAMクリアボタン305を押下する。
次いで、作業者は、設定キーが回転操作され、かつRAMクリアボタン305が押下された状態で遊技機100に電源を投入する。
電源が投入されると、内枠104が外枠102に対して開放されていることが内枠開放スイッチ145sによって検出され、開放検出信号(オン信号)が主制御基板300に入力される。また、電源投入によって設定キーが時計回りに回転される変更操作が行われたことが設定キースイッチ180sによって検出され、設定キー回転検出信号(オン信号)が主制御基板300に入力される。さらに、電源投入によってRAMクリアボタンが押下されたことがRAMクリア検出スイッチ305sによって検出され、押圧検出信号(オン信号)が主制御基板300に入力される。内枠開放スイッチ145s、設定キースイッチ180sおよびRAMクリア検出スイッチ305sによって、主制御基板300にオン信号が入力されたことに基づいて、遊技機100は設定値の変更(切替え)が可能な状態(設定変更状態)となる。
作業者は、設定変更状態においてRAMクリアボタン305を任意の回数だけ押下し、RAMクリア検出スイッチ305sにアクセスすることにより、複数段階(例えば6段階)のうちいずれかの段階に設定値を変更することができる。このとき、設定値は、例えば、性能表示器300dの表示領域361~364に表示される。
作業者は、設定値を任意の値に変更すると、変更操作時に時計回りに回転させた設定キーを、反時計回りに回転させて元の位置に戻す(復帰操作)。復帰操作により、設定キーが元の位置に復帰したことが設定キースイッチ180sによって検出され、当該検出を示す信号(オフ信号)が設定キースイッチ180sから主制御基板300に入力される。主制御基板300は、当該オフ信号の入力に基づいて設定値の変更を確定する。なお、設定キースイッチ180sは、回転操作の検出に基づいて、定期的に設定キー回転検出信号(オン信号)を主制御基板300に出力し、復帰操作が検出されるまではオン信号の出力を継続し、復帰操作を検出すると主制御基板300への設定キー回転検出信号(オン信号)の出力を停止してもよい。この場合、主制御基板300は、当該オン信号の入力が停止したことに基づいて、設定値の変更を確定すればよい。
設定値の変更が確定し、作業者が設定キーを設定キー差込口306から抜き取ると、性能表示器300dに表示されていた設定値が消去され、設定値の表示が終了する(設定値が非表示となる)。最後に、作業者は、遊技機100の内枠104を閉じて専用の鍵によって施錠する。これにより、設定の変更作業が完了する。設定の変更作業が完了すると、通常の遊技が開始される。
詳細は後述するが、設定値が変更された場合、主制御基板300のメインCPU300aは、変更後の設定値をメインRAM300cの所定の領域(例えば、バックアップの対象となる仕様領域のうち第一領域)に記憶する。これにより、遊技中において設定中の設定値を参照することができる。
このように、遊技機100は、電源投入時に設定キースイッチ180sにおいて設定キーの変更操作を検出(設定キーON)し、内枠開放スイッチ145sにおいて内枠104画解放されたことを検出(内枠開放状態)し、かつRAMクリア検出スイッチ305sにおいてRAMクリアボタン305が押圧操作されたことを検出(RAMクリア押下状態)した場合に、設定変更状態(設定変更モード)となる。
設定変更状態では、特別遊技および普通遊技等の情報を表示する各表示器160~172の表示は行われず、遊技球の発射や遊技球の賞球等の通常の遊技ができない状態となる。なお、設定変更状態において、各表示器160~172は、消灯状態を維持してもよいし、または設定変更状態中において専用の(特定の)点灯パターンを維持して通常の表示とは異なるようにしてもよい。
(設定確認状態)
以上、設定値の変更について説明したが、遊技機100は設定値を変更せずに現在設定中の設定値の確認することができる。
具体的には、上述の設定変更手順において設定キーを変更操作(時計回り方向に回転操作)した状態で、RAMクリアボタン305を押下せずに、遊技機100に電源を投入すると、現在設定中の設定値の確認が可能な状態となる(設定確認状態)。
つまり、遊技機100は、電源投入時に設定キースイッチ180sにおいて設定キーの変更操作を検出(設定キーON)し、内枠開放スイッチ145sにおいて内枠104画解放されたことを検出(内枠開放状態)し、かつRAMクリア検出スイッチ305sにおいてRAMクリアボタン305が押圧操作されたことを検出していない(RAMクリア未押下状態)場合に、設定確認状態(設定確認モード)となる。
設定変更状態と同様に、設定確認状態では、各表示器160~172の表示は行われず、遊技球の発射や遊技球の賞球等の通常の遊技ができない状態となる。なお、設定確認状態において、各表示器160~172は、消灯状態を維持してもよいし、または設定確認状態中において専用の(特定の)点灯パターンを維持して通常の表示とは異なるようにしてもよい。
また、主制御基板300には、払出制御基板310および副制御基板330が接続されている。
払出制御基板310は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う。この払出制御基板310も、CPU、ROM、RAMを備えており、主制御基板300に対して双方向に通信可能に接続されている。この払出制御基板310には外部情報出力端子板312が接続されている。
ここで、外部情報出力端子板312の構成および外部情報出力端子板312が出力する外部情報信号について説明する。
外部情報出力端子板312は、外部装置として例えば遊技機100が設置された遊技店のホールコンピュータ500と通信可能に接続され、ホールコンピュータ500に対して遊技機100の遊技進行状態やメンテナンス状態等を表す各種の外部情報信号を出力可能に構成されている。
また、外部装置としては、ホールコンピュータ500の他、遊技店内において複数の遊技機を設置するための島設備に、各遊技機に対応して設けられたデータ表示装置(不図示)等も含まれる。データ表示装置は、例えば島設備に設置された複数の遊技機100の各台における特別図柄の確定回数や大当りの回数等を集計および表示したり、各台が大当り中や時短遊技状態(または高確率遊技状態)であることを内蔵のLEDの点灯・点滅によって表示したり、または文字情報(「大当り中」等のテロップ)によって表示したりする機能を有する。またデータ表示装置は、遊技機100が設置されている島設備において、他の遊技機で大当りが発生したことを内蔵のLEDによる点滅・点灯によって表示する機能を有してもよい。なおデータ表示装置は、遊技機100の各台だけでなく、ホールコンピュータ500とも通信可能に接続されていてもよい。この場合、データ表示装置に対して出力される外部情報信号をデータ表示装置が中継してホールコンピュータ500に出力することができる。
外部情報出力端子板312には、データ出力用の出力端子が複数設けられている。複数の出力端子は、例えば矩形状の外部情報出力端子板312上において長手方向に横並びに設けられている。複数の出力端子は、例えば2つを一組として使用することができる。本例では、外部情報出力端子板312には22個の出力端子が設けられていることから、出力端子の組は合計11組となる。また出力端子の各組は、一の外部情報信号と対応付けられている。つまり、本実施形態による遊技機100は、複数組(本例では11組)の出力端子を有する外部情報出力端子板312によって複数種類(本例では最大で11種類)の外部情報信号を出力可能に構成されている。
また、外部情報出力端子板312が有する出力端子は、一の外部情報信号に紐付いた組ごとに色分けされていてもよい。これにより、各出力端子の用途(例えば、外部情報信号との対応関係)を視認し易くすることができる。例えば遊技機100において、出力端子の色(出力端子色)は、外部情報出力端子板312上において左から1組目が「白」、2組目が「緑」、3組目が「灰」、4組目が「黄」、5組目が「黒」、6組目が「桃」、7組目が「青」、8組目が「赤」、9組目が「橙」、10組目が「水」、11組目が「茶」のようにそれぞれ色分けされている。なお、これらの出力端子の色分けおよび並び順は一例であって、外部情報出力端子板312における外部端子の色分けおよび並び順はこれに限られない。
図6は、外部情報出力端子板312の出力端子の各色(各組)と、外部情報信号との対応関係の一例を表形式で示す図である。図6は、「出力端子色」、「信号名称」、「外部情報信号の概要」「規定出力時間」の4つの項目に大別されている。「出力端子色」欄には、「出力端子色」の各色(全11色)が外部情報出力端子板312上の左から右に向かう並び順に従って表示されている。また、「信号名称」欄には、「出力端子色」に表示された各出力端子色と対応する外部出力信号の名称が表示されている。また、「外部情報信号の概要」欄には、「信号名称」欄に表示された各外部出力信号の概要(出力契機等)が表示されている。また、「規定出力時間」欄には、各外部情報信号に対応する規定出力時間の長さがミリ秒単位で表示されている。なお、規定出力時間が定められていない外部情報信号については、「規定出力時間」欄に「-(ハイフン)」を表示している。
図6に示すように、本実施形態による遊技機100において、例えば、外部情報出力端子板312の左から1組目の出力端子色「白」の出力端子からは、外部情報信号として「賞球情報」を示す信号が出力される。「賞球情報」は、各入球口への入球に基づいて規定個数(本例では10個)の遊技球の払出が行われる度(規定個数分の遊技球の払い出しが払出検知スイッチ315sによって検出される度)に出力される外部情報である。この「賞球情報」を示す外部情報信号に基づいて、ホールコンピュータ500は遊技機100から払い出された賞球数(出玉数)を集計・管理することができる。
また、例えば外部情報出力端子板312の左から2組目の出力端子色「緑」の出力端子からは、外部情報信号として「扉・枠開放情報」を示す信号が出力される。「扉・枠開放情報」は、前枠106、内枠104または外枠102(総称して「扉ユニット」と称する場合がある)の少なくともいずれかが開放されたこと(開閉枠部材開放スイッチにおいて開放が検出されたこと)を契機として出力される外部情報である。この「扉開放情報」を示す外部情報信号に基づき、ホールコンピュータ500は前枠106、内枠104または外枠102の開放状態を認識したり、その開放回数を集計・管理したりすることができる。
また、例えば外部情報出力端子板312の左から3組目の出力端子色「灰」の出力端子からは、外部情報信号として「図柄確定回数情報」を示す信号が出力される。「図柄確定回数情報」は、第1特別図柄表示器160または第2特別図柄表示器162において特別図柄の変動表示が停止されたこと(確定停止)を契機として出力される外部情報信号である。つまり、「図柄確定回数情報」の外部情報信号は特別図柄が確定するごとに出力される。このため例えば、外部情報出力端子板312が遊技機100の設置された島設備のデータ表示装置(不図示)にも接続されている場合、当該データ表示装置は、複数の遊技機100の各台において特別図柄の確定回数を集計したり大当り後の確定回数を表示したりすることができる。
また、例えば外部情報出力端子板312の左から4組目の出力端子色「黄」の出力端子からは、外部情報信号として「始動口情報」を示す信号が出力される。「始動口情報」は、遊技盤108に設けられた各始動口に遊技球が入球したことを契機として出力される外部情報であり、第1始動口120および第2始動口122のいずれかに遊技球が1球入球する度に外部情報信号として出力される。
この「始動口情報」に基づいて、ホールコンピュータ500は遊技機100の各始動口への入球回数を集計・管理することができる。
また、例えば外部情報出力端子板312の左から5組目から8組目の出力端子色「黒」「桃」「青」「赤」の各出力端子からは、大当たりに関連する種々の外部情報信号が出力される。ここで、大当たりに関連する種々の外部情報信号を総称して「大当たり関連情報」と称する。「大当たり関連情報」に相当する外部情報信号は、大役遊技の実行に伴い、例えば大役遊技中における大入賞口128の開閉(ラウンド遊技)の実行や大役遊技に係る制御の開始(例えば、後述するオープニング時間の開始)を契機として出力される。この「大当たり関連情報」に基づいて、ホールコンピュータ500は遊技機100における大役遊技の実行状況について集計・管理することができる。また、外部情報出力端子板312が遊技機100の設置された島設備のデータ表示装置(不図示)にも接続されている場合、当該データ表示装置は、遊技機100の各台における大役遊技の実行状況(大役遊技の回数等)を集計したり、大役遊技の実行状況を表示したりすることができる。
また、例えば外部情報出力端子板312の左から9組目の出力端子色「橙」の出力端子からは、外部情報信号として「メイン賞球情報」を示す信号が出力される。「メイン賞球情報」は、上述の「賞球情報」と同様に各入球口への入球に基づいて払い出された賞球に関する外部情報である。ただし、「メイン賞球情報」は、賞球の払出しが行われる入球口(例えば第1始動口120、第2始動口122、一般入賞口118、大入賞口128)への遊技球の入球が各種入球口の検出スイッチ(一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、大入賞口検出スイッチ128s等)によって検出されたことを契機として出力される点で、「賞球情報」と異なる。なお、「メイン賞球情報」の外部情報信号は、規定個数(例えば10個)の賞球の払出しを払出制御基板310へ指示(後述する払出コマンドの作成)する度に出力されるように構成されていてもよい。
また、例えば外部情報出力端子板312の左から10組目の出力端子色「水」の出力端子からは、外部情報信号として「セキュリティ情報」を示す信号が出力される。「セキュリティ情報」は、メインRAM300cの初期化を行ったこと、または各種のエラーが発生したことを契機として外部情報信号として出力される。ここで、各種のエラーとは、例えば各入球口への不正な入球(入球エラー)、大入賞口128への過剰な(規定個数を超える)入球(大入賞口過剰入賞エラー)、各入球口への入球頻度の異常(入球頻度エラー)、ベース値の異常(ベース値エラー)等がある。またこれらの他に、磁気検出スイッチによる磁気の検出(磁気エラー)、遊技盤108に設けられた各種スイッチ(例えば、各入球口の検出スイッチ等)の接続異常(盤面スイッチエラー)、アウト検出スイッチ143sの接続異常(アウトスイッチエラー)、電波検出スイッチ(不図示)による電波の検出(電波エラー)、設定中の設定値を示すデータに異常値が設定されている(設定値異常)等のエラーが発生した場合にも「セキュリティ情報」が外部情報信号として出力される。
この「セキュリティ情報」に基づいて、ホールコンピュータ500は遊技機100におけるメインRAM300cの初期化やエラーの発生状況を検知することができる。
また、例えば外部情報出力端子板312の左から11組目の出力端子色「茶」の出力端子からは、外部情報信号として「アウト情報」を示す信号が出力される。「アウト情報」は、遊技領域116から遊技球が排出されたことを示す外部情報であって、遊技領域116から排出された遊技球をアウト検出スイッチ136sが検出し、当該検出を示す検出信号が所定回数(本例では10回)主制御基板300に入力される度に外部情報信号として出力される。この「アウト情報」に基づいて、ホールコンピュータ500は遊技機100の遊技領域116から排出された遊技球数(アウト球数)を集計・管理することができる。
また、図6に示すように「賞球情報」「図柄確定回数情報」「始動口情報」「メイン賞球情報」「アウト情報」の各外部情報信号(特定の外部情報の一例)は、規定出力時間が予め定められている。またこれらの他に、「セキュリティ情報」の外部情報信号も出力時間が予め定められている。ここで、規定出力時間は、最短の出力時間である。つまり、これらの外部情報信号は、各外部情報信号の出力契機となる事象(例えば、払出検知スイッチ315sによる払出しの検出、特別図柄の確定停止、各始動口への入球の検出、賞球のある入球口への入球の検出、メインRAM300cの初期化または各種エラーの発生、アウト検出スイッチ143sによる所定個数のアウト球の検出)が発生してから、少なくとも規定の出力時間(本例では、128ミリ秒間)に亘って出力される。
ホールコンピュータ500等の外部装置には、遊技機からの外部情報信号を適切に識別可能とするための時間として、所定の信号識別時間(例えば128ミリ秒間)が規定されている場合がある。遊技機100は、少なくとも信号識別時間以上の時間である規定出力時間を設けることにより、外部装置での信号識別時間を確保することができる。なお、規定出力時間は上述の時間(128ミリ秒間)に限らず、外部装置における信号識別時間を確保可能な時間に適宜設定すればよい。
また、遊技機100は、規定出力時間を設けることで、例えば外部出力信号の出力契機となる事象の発生後において、少なくとも規定出力時間以上に亘って外部出力信号の出力を継続することができる。このように遊技機100は、外部装置(ホールコンピュータ500、データ表示装置等)に対して出力する外部情報信号の伝達制度およびして、外部装置における外部情報信号の識別精度を担保することができる。
なお、例えば「セキュリティ情報」の外情報信号の出力契機となる事象(上述のメインRAM300cの初期化および各種エラー)が重複して発生した場合、「セキュリティ情報」の外情報信号は、全ての出力停止条件が整うまで、つまり重複して発生した出力契機の事象が終了し、かつ規定出力時間が終了するまで継続して出力されてもよい。
これらの外部情報信号は、主制御基板300において生成され、払出制御基板310および外部情報出力端子板312を介して、ホールコンピュータ500等の外部装置に向けて出力されることとなる。また、上述のように外部情報出力端子板312から出力される外部情報信号は、例えば遊技店のホールコンピュータ500で集計される。なお、図4では一例として、払出制御基板310を経由して外部情報信号を外部の電子機器に出力する構成を挙げているが、主制御基板300で生成された外部情報信号がそのまま(払出制御基板310を経由せずに)外部情報出力端子板312に出力される構成であってもよい。
また、払出制御基板310には、貯留部に貯留された遊技球を賞球として遊技者に払い出すための払出モータ314が接続されている。払出制御基板310は、主制御基板300から送信された払出個数指定コマンドに基づいて払出モータ314を制御して所定の賞球を遊技者に払い出すように制御する。このとき、遊技球の払い出しが払出検知スイッチ315sによって検出され、払い出された遊技球数が払出球計数スイッチ316sによって検出され、払い出すべき賞球が遊技者に払い出されたかが把握されるようになっている。払出モータ314の駆動により実際に賞球が払い出されると、その都度、払出検知スイッチ315sからの検知信号および払出球計数スイッチ316sからの計数信号が払出制御基板310に入力される。
また、払出制御基板310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、当該通路を遊技球が通過するたびに、遊技球検出信号が払出制御基板310に入力されるようになっている。
そして、下皿134に所定量以上の遊技球が貯留されて満タン状態になると、下皿134に向かう通路内に遊技球が滞留し、皿満タン検出スイッチ318sから払出制御基板310に向けて、遊技球検出信号が連続的に入力される。払出制御基板310は、遊技球検出信号が所定時間連続して入力された場合に、下皿134が満タン状態であると判断し、皿満タンコマンドを主制御基板300に送信する。一方、皿満タンコマンドを送信した後、遊技球検出信号の連続入力が途絶えた場合には、満タン状態が解除されたと判断し、皿満タン解除コマンドを主制御基板300に送信する。
また、払出制御基板310には、発射制御基板320が双方向に通信可能に接続されている。発射制御基板320は、払出制御基板310から発射制御データを受信すると発射の許可を行う。発射制御基板320は、操作ハンドル112に設けられ、操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112sおよび操作ボリューム112aから信号が入力されると、発射制御基板320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御がなされる。
副制御基板330は、主に遊技中や待機中等の各演出を制御する。副制御基板330は、サブCPU330a、サブROM330b、サブRAM330c、画像制御部340、音声制御部350、照明制御部360および可動体制御部370を備えている。サブCPU330a、画像制御部340、音声制御部350、照明制御部360および可動体制御部370は、それぞれ個別の回路で構成されていてもよい。また、サブCPU330a、画像制御部340、音声制御部350、照明制御部360および可動体制御部370は、少なくとも2つ以上が1つの回路で構成(例えば1パッケージ化または1チップ化)され、この回路の機能ブロックとして構成されていてもよい。
副制御基板330は、主制御基板300に対して、主制御基板300から副制御基板330への一方向に通信可能に接続されている。サブCPU330aは、主制御基板300から送信されたコマンドやタイマからの入力信号等に基づいて、サブROM330bに格納されたプログラムを読み出して演算処理を行うとともに、演出を実行するためのコマンドを、画像制御部340、音声制御部350、照明制御部360および可動体制御部370の少なくとも1つに送信する。このとき、サブRAM330cは、サブCPU330aの演算処理時におけるデータのワークエリアとして機能する。
画像制御部340は、演出表示装置200の演出表示部200aに画像を表示させる画像表示制御を行うものであり、CPU、ROM、RAM、VRAMを備えている。画像制御部340のROMには、演出表示部200aに表示される図柄や背景等の画像データが多数格納されており、副制御基板330から送信されたコマンドに基づいて、CPUが、画像データをROMからVRAMに読み出して、演出表示部200aの画像表示を制御する。
音声制御部350は、副制御基板330から送信されたコマンドに基づいて、音声出力装置206から音声を出力させる音声出力制御を行う。また、照明制御部360は、副制御基板330から送信されるコマンドに基づいて、演出照明装置204を点灯させる点灯制御を行う。可動体制御部370は、副制御基板330から送信されたコマンドに基づいて、演出役物装置202を可動したり、演出操作装置208の押下ボタン208aを遊技者側に飛び出させて可動したりする動作制御を行う。また、可動体制御部370は、押下ボタン208aが押下操作されたことを検出する演出操作装置検出スイッチ208sから操作検出信号が入力された際に、所定のコマンドあるいは制御信号を副制御基板330に送信する。
なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給がなされている。また、電源基板にはコンデンサからなるバックアップ電源が設けられている。
次に、本実施形態の遊技機100における遊技について、メインROM300bに記憶されている各種テーブルと併せて説明する。
前述したように、本実施形態の遊技機100は、特別遊技と普通遊技の2種類の遊技が並行して進行するものであり、これら両遊技を進行する際の遊技状態として、低確率遊技状態または高確率遊技状態のいずれかの遊技状態と、非時短遊技状態または時短遊技状態のいずれかの遊技状態と、が組み合わされたいずれかの遊技状態にて遊技が進行する。
各遊技状態の詳細については後述するが、低確率遊技状態というのは、大入賞口128が開放される大役遊技を実行する権利獲得の確率が低く設定された遊技状態であり、高確率遊技状態というのは、大役遊技を実行する権利獲得の確率が高く設定された遊技状態である。
また、非時短遊技状態というのは、可動片122bが開状態になりにくく、第2始動口122に遊技球が入球しにくい遊技状態であり、時短遊技状態というのは、非時短遊技状態よりも可動片122bが開状態になりやすく、第2始動口122に遊技球が入球しやすい遊技状態である。なお、遊技機100の初期状態は、低確率遊技状態および非時短遊技状態に設定され、この遊技状態を本実施形態では通常遊技状態と称する。
遊技者が操作ハンドル112を操作して遊技領域116に遊技球を発射させるとともに、遊技領域116を流下する遊技球が第1始動口120または第2始動口122に入球すると、遊技者に遊技利益を付与するか否かの抽選(以下、「大役抽選」という)が行われる。この大役抽選において、大当たりに当選すると、大入賞口128が開放されるとともに当該大入賞口128への遊技球の入球が可能となる大役遊技が実行され、また、当該大役遊技の終了後の遊技状態が、上記のいずれかの遊技状態に設定される。以下では、大役抽選方法について説明する。
なお、詳しくは後述するが、第1始動口120または第2始動口122に遊技球が入球すると、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数)が取得されるとともに、これら各乱数値(保留情報)がメインRAM300cの特図保留記憶領域に記憶される。以下では、第1始動口120に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特1保留とよび、第2始動口122に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特2保留とよぶ。
メインRAM300cの特図保留記憶領域は、第1特図保留記憶領域と第2特図保留記憶領域とを備えている。第1特図保留記憶領域および第2特図保留記憶領域は、それぞれ4つの記憶部(第1~第4記憶部)を有している。そして、第1始動口120に遊技球が入球すると、特1保留を第1特図保留記憶領域の第1記憶部から順に記憶し、第2始動口122に遊技球が入球すると、特2保留を第2特図保留記憶領域の第1記憶部から順に記憶する。
例えば、第1始動口120に遊技球が入球したとき、第1特図保留記憶領域の第1~第4記憶部のいずれにも保留が記憶されていない場合には、第1記憶部に特1保留を記憶する。また、例えば、第1記憶部~第3記憶部に特1保留が記憶されている状態で、第1始動口120に遊技球が入球した場合には、特1保留を第4記憶部に記憶する。また、第2始動口122に遊技球が入球した場合にも、上記と同様に、第2特図保留記憶領域の第1記憶部~第4記憶部の中で、特2保留が記憶されていない、最も番号(序数)の小さい記憶部に特2保留が記憶される。
ただし、第1特図保留記憶領域および第2特図保留記憶領域に記憶可能な特1保留数(X1)および特2保留数(X2)は、それぞれ4つに設定されている。したがって、例えば、第1始動口120に遊技球が入球したときに、第1特図保留記憶領域に既に4つの特1保留が記憶されている場合には、当該第1始動口120への遊技球の入球によって新たに特1保留が記憶されることはない。同様に、第2始動口122に遊技球が入球したときに、第2特図保留記憶領域に既に4つの特2保留が記憶されている場合には、当該第2始動口122への遊技球の入球によって新たに特2保留が記憶されることはない。
次に、遊技機100における大役抽選に用いる大当たり判定テーブルについて図7および図8を用いて説明する。
図7は、低確時大当たり判定テーブルを説明する図であり、図8は高確時大当たり判定テーブルを説明する図である。遊技機100において、第1始動口120または第2始動口122に遊技球が入球すると、0~65535の比較数値範囲内から1つの大当たり決定乱数が取得される。そして、大役抽選を開始するとき、すなわち、大当たりの判定を行うときの遊技状態、および、設定中の設定値に応じて大当たり判定テーブル(大当たりの判定に用いる比較数値範囲)が選択され、当該選択された大当たり判定テーブルと取得された大当たり決定乱数とによって大役抽選が行われる。
低確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、図7(a)から図7(f)に示す低確時大当たり判定テーブルが参照される。ここで、本実施形態では、有利度合いを異にする6段階の設定値が設けられており、低確時大当たり判定テーブルは、設定値ごとに設けられている。遊技中は、設定値が6段階のうちのいずれかに設定されており、現在設定されている設定値に対応する低確時大当たり判定テーブルを参照して大役抽選が行われる。
低確率遊技状態において、設定値=1に設定されている場合には、図7(a)に示す低確時大当たり判定テーブルaを参照して大役抽選が行われる。この低確時大当たり判定テーブルaによれば、大当たり決定乱数が10001~10218であった場合に大当たりと判定しする。したがって、この場合の大当たり確率は約1/300となる。
設定値=2に設定されている場合には、図7(b)に示す低確時大当たり判定テーブルbを参照して大役抽選が行われる。この低確時大当たり判定テーブルbによれば、大当たり決定乱数が10001~10243であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/270となる。
設定値=3に設定されている場合には、図7(c)に示す低確時大当たり判定テーブルcを参照して大役抽選が行われる。この低確時大当たり判定テーブルcによれば、大当たり決定乱数が10001~10273であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/240となる。
設定値=4に設定されている場合には、図7(d)に示す低確時大当たり判定テーブルdを参照して大役抽選が行われる。この低確時大当たり判定テーブルdによれば、大当たり決定乱数が10001~10312であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/210となる。
設定値=5に設定されている場合には、図7(e)に示す低確時大当たり判定テーブルeを参照して大役抽選が行われる。この低確時大当たり判定テーブルeによれば、大当たり決定乱数が10001~10364であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/180となる。
設定値=6に設定されている場合には、図7(f)に示す低確時大当たり判定テーブルfを参照して大役抽選が行われる。この低確時大当たり判定テーブルfによれば、大当たり決定乱数が10001~10437であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/150となる。
また、高確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、図8(a)から図8(f)に示す高確時大当たり判定テーブルが参照される。ここで、本実施形態では、低確時大当たり判定テーブルと同様に高確時大当たり判定テーブルが設定値ごとに設けられている。このため、高確率遊技状態において、現在設定されている設定値に対応する高確時大当たり判定テーブル(大当たりの判定に用いる比較数値範囲)を参照して大当たりの判定が行われる。
高確率遊技状態において、設定値=1に設定されている場合には、図8(a)に示す高確時大当たり判定テーブルaを参照して大役抽選が行われる。高確時大当たり判定テーブルaによれば、大当たり決定乱数が10001~10655であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/100となる。
設定値=2に設定されている場合には、図8(b)に示す高確時大当たり判定テーブルbを参照して大役抽選が行われる。高確時大当たり判定テーブルbによれば、大当たり決定乱数が10001~10728であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/90となる。
設定値=3に設定されている場合には、図8(c)に示す高確時大当たり判定テーブルcを参照して大役抽選が行われる。高確時大当たり判定テーブルcによれば、大当たり決定乱数が10001~10819であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/80となる。
設定値=4に設定されている場合には、図8(d)に示す高確時大当たり判定テーブルdを参照して大役抽選が行われる。高確時大当たり判定テーブルdによれば、大当たり決定乱数が10001~10936であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/70となる。
設定値=5に設定されている場合には、図8(e)に示す高確時大当たり判定テーブルeを参照して大役抽選が行われる。高確時大当たり判定テーブルeによれば、大当たり決定乱数が10001~11092であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/60となる。
設定値=6に設定されている場合には、図8(f)に示す高確時大当たり判定テーブルfを参照して大役抽選が行われる。高確時大当たり判定テーブルfによれば、大当たり決定乱数が10001~11310であった場合に大当たりと判定する。したがって、この場合の大当たり確率は約1/50となる。
以上のように、本実施形態による遊技機100は、低確率遊技状態および高確率状態のいずれに設定されている場合にも、設定中の設定値に応じて大役抽選が行われる。本実施形態において大役抽選は、上述の設定値に応じて大当たりの当選確率が異なっており、設定値が高い場合の方が低い場合に比べて大当たりに当選しやすくなっている。また、本実施形態では、大当たり判定テーブルにおける比較数値範囲(大当たり決定乱数と比較する数値範囲)の下限値は同一の値(10001)となっている。これにより遊技機100は、大役抽選時において大当たり判定に係る制御処理手順を効率化することができる。大当たり判定の制御処理手順については後述する。
また、遊技機100において、高確率遊技状態である場合には、低確率遊技状態である場合に比べて、大当たりの当選確率が高くなる。また、ここでは、大当たりの当選確率は、設定値ごとに異なる構成としたが、低確率遊技状態または高確率遊技状態のいずれかにおける大当たりの当選確率を、全設定値で共通としてもよい。
また、図7では設定値ごとに低確時大当たり判定テーブルが設けられている例を示しているが、例えば遊技機100の記憶領域(例えばメインROM300b)において低確時大当たり判定テーブルは、設定ごとに異なる比較数値範囲を規定する一のテーブルとして構成されてもよい。また、高確時大当たり判定テーブルも同様に、設定ごとに異なる比較数値範囲を規定する一のテーブルとして構成されてもよい。
また、高確率遊技状態である場合には、低確率遊技状態である場合に比べて、大当たりの当選確率が高くなる。ここでは、高確率遊技状態における大当たりの当選確率は、全設定値で共通としたが、高確率遊技状態における大当たりの当選確率を、設定値ごとに異ならせてもよい。この場合であっても、相対的に低い設定値において大当たりに当選する大当たり決定乱数の当選範囲が、相対的に高い設定値での大当たりに当選する大当たり決定乱数の当選範囲に含まれるように、大当たりに当選する大当たり決定乱数の当選範囲が設定されていればよい。
図9は、当たり図柄乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0~99の範囲内から1つの当たり図柄乱数が取得される。そして、上記の大役抽選により「大当たり」の判定結果が導出された場合に、取得している当たり図柄乱数と当たり図柄乱数判定テーブルとによって、特別図柄の種別が決定される。このとき、特1保留によって「大当たり」に当選した場合には、図9(a)に示すように、特1用当たり図柄乱数判定テーブルが選択され、特2保留によって「大当たり」に当選した場合には、図9(b)に示すように、特2用当たり図柄乱数判定テーブルが選択される。以下では、当たり図柄乱数によって決定される特別図柄、すなわち、大当たりの判定結果が得られた場合に決定される特別図柄を大当たり図柄とよび、ハズレの判定結果が得られた場合に決定される特別図柄をハズレ図柄とよぶ。
図9(a)に示す特1用当たり図柄乱数判定テーブル、図9(b)に示す特2用当たり図柄乱数判定テーブルによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄の種別(大当たり図柄)が決定される。また、大役抽選結果が「ハズレ」であった場合に、当該抽選結果が特1保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Xが決定され、当該抽選結果が特2保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Yが決定される。つまり、当たり図柄乱数判定テーブルは、大役抽選結果が「大当たり」であった場合にのみ参照され、大役抽選結果が「ハズレ」であった場合に参照されることはない。
図10は、リーチグループ決定乱数判定テーブルを説明する図である。このリーチグループ決定乱数判定テーブルは複数設けられており、保留種別や保留数、さらには遊技状態に対応付けて設定される変動状態等に応じて1のテーブルが選択される。第1始動口120または第2始動口122に遊技球が入球すると、0~10006の範囲内から1つのリーチグループ決定乱数が取得される。上記のように、大役抽選結果が導出されると、当該大役抽選結果を報知する変動演出パターンを決定する処理が行われる。本実施形態では、大役抽選結果が「ハズレ」であった場合に、変動演出パターンを決定するにあたって、まず、リーチグループ決定乱数とリーチグループ決定乱数判定テーブルとによってグループ種別が決定される。
例えば、遊技状態が非時短遊技状態に設定されており、変動状態が通常1変動状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの特1保留数(以下、単に「保留数」という)が0個であれば、図10(a)に示すように、リーチグループ決定乱数判定テーブル1が選択される。同様に、保留数が1個であれば、図10(b)に示すように、リーチグループ決定乱数判定テーブル2が選択され、保留数が2、3個であれば、図10(c)に示すように、リーチグループ決定乱数判定テーブル3が選択される。なお、図10において、グループ種別の欄に記載しているグループxは、任意のグループ番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチグループ決定乱数判定テーブルの種類とに応じて、グループ種別として種々のグループ番号が決定されることとなる。
このように、本実施形態では、変動演出パターンを決定するためのテーブルが、設定されている遊技状態に加えて、変動状態に基づいて決定される。つまり、変動状態とは、いずれのテーブルを参照して変動演出パターンを決定するかが規定されたものであり、遊技状態とは別に設定される概念である。
なお、大役抽選結果が「大当たり」であった場合には、変動演出パターンを決定するにあたってグループ種別を決定することはない。つまり、リーチグループ決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合にのみ参照され、大役抽選結果が「大当たり」であった場合に参照されることはない。
図11は、リーチモード決定乱数判定テーブルを説明する図である。このリーチモード決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合に選択されるハズレ時リーチモード決定乱数判定テーブルと、大役抽選結果が「大当たり」であった場合に選択される大当たり時リーチモード決定乱数判定テーブルとに大別される。なお、ハズレ時リーチモード決定乱数判定テーブルは、上記のように決定されたグループ種別ごとに設けられており、大当たり時リーチモード決定乱数判定テーブルは、保留種別ごとに設けられている。また、各リーチモード決定乱数判定テーブルは、遊技状態や図柄の種別ごとにも設けられている。ここでは、所定の遊技状態および図柄種別において参照されるグループx用ハズレ時リーチモード決定乱数判定テーブルの一例を図11(a)に示し、特1用大当たり時リーチモード決定乱数判定テーブルの一例を図11(b)に示し、特2用大当たり時リーチモード決定乱数判定テーブルの一例を図11(c)に示す。
第1始動口120または第2始動口122に遊技球が入球すると、0~250の範囲内から1つのリーチモード決定乱数が取得される。そして、上記の大役抽選の結果が「ハズレ」であった場合には、図11(a)に示すように、上記のグループ種別の抽選により決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルが選択され、選択されたハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。また、上記の大役抽選の結果が「大当たり」であった場合には、図11(b)、(c)に示すように、読み出された保留種別に対応する大当たり時リーチモード決定乱数判定テーブルが選択され、選択された大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。
また、各リーチモード決定乱数判定テーブルにおいては、リーチモード決定乱数に、変動モード番号とともに、後述する変動パターン乱数判定テーブルが対応付けられており、変動モード番号が決定されるのと同時に、変動パターン乱数判定テーブルが決定される。なお、図9において、変動パターン乱数判定テーブルの欄に記載しているテーブルxは、任意のテーブル番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチモード決定乱数判定テーブルの種類とに応じて、変動モード番号と、変動パターン乱数判定テーブルのテーブル番号とが決定されることとなる。また、本実施形態において、変動モード番号および後述する変動パターン番号は、16進数で設定されている。以下において、16進数を示す場合には「H」を付するが、図11~図13に「○○H」と記載しているのは、16進数で示される任意の値を示すものである。
以上のように、大役抽選結果が「ハズレ」であった場合には、まず、図10に示すリーチグループ決定乱数判定テーブルとリーチグループ決定乱数とによってグループ種別が決定される。そして、決定されたグループ種別と遊技状態に応じ、図11(a)に示すハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号および変動パターン乱数判定テーブルが決定される。
一方、大役抽選結果が「大当たり」であった場合には、決定された大当たり図柄(特別図柄の種別)、大当たり当選時の遊技状態等に応じ、図11(b)および図11(c)に示す大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号、変動パターン乱数判定テーブルが決定されることとなる。
図12は、変動パターン乱数判定テーブルを説明する図である。ここでは、所定のテーブル番号xの変動パターン乱数判定テーブルxを示すが、変動パターン乱数判定テーブルは、この他にも、テーブル番号ごとに多数設けられている。
第1始動口120または第2始動口122に遊技球が入球すると、0~238の範囲内から1つの変動パターン乱数が取得される。そして、上記の変動モード番号と同時に決定された変動パターン乱数判定テーブルと、取得した変動パターン乱数とに基づいて、図示のように変動パターン番号が決定される。
このように、大役抽選が行われると、大役抽選結果、決定された図柄種別、遊技状態、保留数、保留種別等に応じて、変動モード番号、変動パターン番号が決定される。これら変動モード番号、変動パターン番号は、変動演出パターンを特定するものであり、そのそれぞれに、変動演出の態様および時間が対応付けられている。なお、以下では、変動モード番号および変動パターン番号を総称して変動情報と呼ぶ場合がある。
図13は、変動時間決定テーブルを説明する図である。上記のように、変動モード番号が決定されると、図13(a)に示す変動時間1決定テーブルにしたがって変動時間1が決定される。この変動時間1決定テーブルによれば、変動モード番号ごとに変動時間1が対応付けられており、決定された変動モード番号に応じて、対応する変動時間1が決定される。
また、上記のように、変動パターン番号が決定されると、図13(b)に示す変動時間2決定テーブルにしたがって変動時間2が決定される。この変動時間2決定テーブルによれば、変動パターン番号ごとに変動時間2が対応付けられており、決定された変動パターン番号に応じて、対応する変動時間2が決定される。このようにして決定された変動時間1、2の合計時間が、大役抽選結果を報知する変動演出の時間、すなわち、変動時間となる。
以上のようにして変動モード番号が決定されると、当該決定された変動モード番号に対応する変動モードコマンドが副制御基板330に送信され、変動パターン番号が決定されると、当該決定された変動パターン番号に対応する変動パターンコマンドが副制御基板330に送信される。副制御基板330においては、受信した変動モードコマンドに基づいて、主に変動演出の前半の態様が決定され、受信した変動パターンコマンドに基づいて、主に変動演出の後半の態様が決定されることとなる。以下では、変動モードコマンドおよび変動パターンコマンドを総称して変動コマンドと呼ぶ場合があるが、その詳細については後述する。
図14は、特別電動役物作動ラムセットテーブルを説明する図である。この特別電動役物作動ラムセットテーブルは、大役遊技を制御するための各種データが記憶されたものであり、大役遊技中は、この特別電動役物作動ラムセットテーブルを参照して、大入賞口ソレノイド128cが通電制御される。なお、実際は、特別電動役物作動ラムセットテーブルは、大当たり図柄の種別ごとに複数設けられており、決定された大当たり図柄の種別に応じて、対応するテーブルが大役遊技の開始時にセットされるが、ここでは、説明の都合上、1つのテーブルに全ての大当たり図柄の制御データを示す。
大当たり図柄である特別図柄A~Dが決定されると、図14に示すように、特別電動役物作動ラムセットテーブルを参照して大役遊技が実行される。大役遊技は、大入賞口128が所定回数開閉される複数回のラウンド遊技で構成されている。この特別電動役物作動ラムセットテーブルによれば、オープニング時間(最初のラウンド遊技が開始されるまでの待機時間)、特別電動役物最大作動回数(1回の大役遊技中に実行されるラウンド遊技の回数)、特別電動役物開閉切替回数(1ラウンド中の大入賞口128の開放回数)、ソレノイド通電時間(大入賞口128の開放回数ごとの大入賞口ソレノイド128cの通電時間、すなわち、1回の大入賞口128の開放時間)、規定数(1回のラウンド遊技における大入賞口128への最大入賞可能数)、大入賞口閉鎖有効時間(ラウンド遊技間の大入賞口128の閉鎖時間、すなわち、インターバル時間)、エンディング時間(最後のラウンド遊技が終了してから、通常の特別遊技(後述する特別図柄の変動表示)が再開されるまでの待機時間)が、大役遊技の制御データとして、大当たり図柄の種別ごとに、図示のように予め記憶されている。
図14に示すように、本実施形態による遊技機100において、大役抽選によって特別図柄A,Bが決定された場合には2回のラウンド遊技が実行され、特別図柄Cが決定された場合には8回のラウンド遊技が実行され、特別図柄Dが決定された場合には10回のラウンド遊技が実行される。1回のラウンド遊技は、大入賞口128に規定数(本例では8個)の遊技球が入球するか、予め設定された開放時間(本例では、29秒)が経過すると終了する。また、本実施形態による遊技機100では、大入賞口128へ入球した遊技球1個につき、所定数(本例では10個)の賞球が払い出される。このため、本例において1回のラウンド遊技では、最大で合計80個(=10個×規定数8)の賞球が払い出され、最大数(本例では10回)のラウンド遊技では、最大で合計800個(=80個×10ラウンド)の賞球が払い出される。このように、遊技者は、大当たりに基づく大役遊技において実行するラウンド数に応じた賞球を獲得することができる。
図15は、大役遊技の終了後の遊技状態を設定するための遊技状態設定テーブルを説明する図である。図15に示すとおり、特別図柄Aが決定された場合には、大役遊技の終了後に低確率遊技状態に設定され、特別図柄B~Dが決定された場合には、大役遊技の終了後に高確率遊技状態に設定されるとともに、次に大当たりに当選するまでの期間、高確率遊技状態が継続されるように設定される。この場合、次に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。したがって、本実施形態による遊技機100において、高確率遊技状態の継続回数(以下、「高確回数」という)は大当たりに当選するまでの大役抽選結果の導出回数に応じて異なる。なお、遊技機100は、一の高確率遊技状態における予め定められた大役抽選結果の導出回数(例えば100回)を高確回数として設定してもよい。この場合、大役遊技の終了後に高確率遊技状態に設定された場合に、当該高確率遊技状態において大当たりの抽選結果が導出されることなく、ハズレの抽選結果が10000回導出されると、低確率遊技状態に遊技状態が変更されることとなる。
また、大当たり図柄として特別図柄B~Dが決定された場合には、大役遊技の終了後に遊技状態が時短遊技状態に設定されるとともに、次に大当たりに当選するまでの期間、時短遊技状態が継続されるように設定される。この場合、次に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。したがって、時短遊技状態の継続回数(以下、「時短回数」という)は大当たりに当選するまでの大役抽選結果の導出回数に応じて異なる。なお、遊技機100は、一の時短遊技状態における予め定められた大役抽選結果の導出回数(例えば50回)を時短回数として設定してもよい。この場合、時短回数は一の時短遊技状態における最大継続回数を示すものであり、上記の継続回数に到達するまでの間に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。また、大当たり図柄として特別図柄Aが決定された場合、大役遊技の終了後に非時短遊技状態に設定される。したがって、本実施形態による遊技機100において特別図柄Aが決定された場合、遊技状態は遊技機100の初期状態と同様の通常遊技状態となる。
このように、本実施形態による遊技機100は、大当たり図柄の種別(当たり種別)に応じて、大役遊技後の遊技状態が設定される。また、遊技機100には、大役遊技におけるラウンド遊技の回数や大役遊技後に設定される遊技状態が異なる複数種類(本例では、4種類)の大当たり図柄の種別(特別図柄A~D)が用意されている。すなわち、遊技機100における大役抽選では、遊技利益(遊技者が獲得可能な賞球数、有利遊技状態の生起等)が異なる複数種類の当たり種別の中から一の当たり種別が決定される。以降、特別図柄Aによる大当たりの当たり種別を「通常大当たり」、特別図柄B~Dによる大当たりの当たり種別を「確変時短大当たり」と称する。
なお、遊技機100において、大当たり図柄の種別に応じて、遊技状態や高確回数、時短回数を設定してもよいし、大当たり図柄の種別と大当たり当選時の遊技状態との双方に応じて、大役遊技の終了後の遊技状態および高確回数、時短回数を設定してもよい。
図16は、当たり決定乱数判定テーブルを説明する図である。遊技領域116を流下する遊技球がゲート124を通過すると、第2始動口122の可動片122bを通電制御するか否かが対応付けられた普通図柄の判定処理(以下、「普図抽選」という)が行われる。
なお、詳しくは後述するが、遊技球がゲート124を通過すると、0~99の範囲内から1つの当たり決定乱数が取得されるとともに、この乱数値がメインRAM300cの普図保留記憶領域に4つを上限として記憶される。つまり、普図保留記憶領域は、当たり決定乱数をセーブする4つの記憶部を備えている。したがって、普図保留記憶領域の4つの記憶部全てに当たり決定乱数が記憶された状態で、遊技球がゲート124を通過した場合には、当該遊技球の通過に基づいて当たり決定乱数が記憶されることはない。以下では、ゲート124を遊技球が通過して普図保留記憶領域に記憶された当たり決定乱数を普図保留とよぶ。
非時短遊技状態において普図抽選を開始する場合には、図16(a)に示すように、非時短遊技状態用当たり決定乱数判定テーブルが参照される。この非時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が1~99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、非時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は1/100となる。詳しくは後述するが、この普図抽選において当たり図柄が決定されると、第2始動口122の可動片122bが開状態に制御され、ハズレ図柄が決定された場合には、第2始動口122の可動片122bが閉状態に維持される。
また、時短遊技状態において普図抽選を開始する場合には、図16(b)に示すように、時短遊技状態用当たり決定乱数判定テーブルが参照される。この時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0~98であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は99/100となる。このように、非時短遊技状態中は、普図抽選の当選確率が時短遊技状態中と比較して低確率の状態(普図低確率遊技状態)となり、時短遊技状態中は普図抽選の当選確率が非時短遊技状態中と比較して高確率の状態(普図高確率遊技状態)となる。
図17(a)は、普通図柄変動時間データテーブルを説明する図であり、図17(b)は、開閉制御パターンテーブルを説明する図である。上記のように、普図抽選が行われると、普通図柄の変動時間が決定される。普通図柄変動時間データテーブルは、普図抽選によって当たり図柄もしくはハズレ図柄が決定されたときに、当該普通図柄の変動時間を決定する際に参照されるものである。この普通図柄変動時間データテーブルによれば、遊技状態が非時短遊技状態に設定されている場合には変動時間が10秒に決定され、遊技状態が時短遊技状態に設定されている場合には変動時間が1秒に決定される。このようにして変動時間が決定されると、当該決定された時間にわたって普通図柄表示器168が変動表示(点滅表示)される。そして、当たり図柄が決定された場合には普通図柄表示器168が点灯し、ハズレ図柄が決定された場合には普通図柄表示器168が消灯する。
そして、普図抽選によって当たり図柄が決定されるとともに、普通図柄表示器168が点灯した場合には、第2始動口122の可動片122bが、図17(b)に示すように、開閉制御パターンテーブルを参照して通電制御される。なお、実際は、開閉制御パターンテーブルは、遊技状態ごとに設けられており、普通図柄が決定されたときの遊技状態に応じて、対応するテーブルが普通電動役物ソレノイド122cの通電開始時にセットされるが、ここでは、説明の都合上、1つのテーブルに各遊技状態に対応する制御データを示す。
当たり図柄が決定されると、図17(b)に示すように、開閉制御パターンテーブルを参照して第2始動口122が開閉制御される。この開閉制御パターンテーブルによれば、普電開放前時間(第2始動口122の開放が開始されるまでの待機時間)、普通電動役物最大開閉切替回数(第2始動口122の開放回数)、ソレノイド通電時間(第2始動口122の開放回数ごとの普通電動役物ソレノイド122cの通電時間、すなわち、1回の第2始動口122の開放時間)、規定数(第2始動口122の全開放中における第2始動口122への最大入賞可能数)、普電閉鎖有効時間(第2始動口122の各開放間の閉鎖時間、すなわち、休止時間)、普電有効状態時間(第2始動口122の最後の開放終了からの待機時間)、普電終了ウェイト時間(普電有効状態時間の経過後、後述する普通図柄の変動表示が再開されるまでの待機時間)が、第2始動口122の制御データとして、遊技状態ごとに、図示のように予め記憶されている。
このように、非時短遊技状態および時短遊技状態には、それぞれ、第2始動口122を開閉するための開閉制御条件が、遊技進行条件として対応付けられており、時短遊技状態においては、非時短遊技状態よりも第2始動口122に遊技球が入球しやすくなる。つまり、時短遊技状態においては、ゲート124を遊技球が通過する限りにおいて、次々と普図抽選がなされるとともに、第2始動口122が頻繁に開放状態となるため、遊技者は遊技球の費消を低減しながら、大役抽選を行うことが可能となる。
なお、第2始動口122の開閉条件は、普通図柄の当選確率、普通図柄の変動表示の時間、第2始動口122の開放時間の3つの要素を規定するものである。そして、本実施形態では、この3つの要素のうち2つの要素において、非時短遊技状態よりも時短遊技状態の方を有利に設定することで、時短遊技状態の方が、非時短遊技状態よりも、第2始動口122に遊技球が入球しやすくなるように設定した。しかしながら、上記3つの要素のうち、1つまたは3つの要素について、時短遊技状態の方が、非時短遊技状態よりも有利に設定してもよい。いずれにしても、時短遊技状態の方が非時短遊技状態に比べて、少なくとも1つの要素について有利となることで、総合的に時短遊技状態の方が、非時短遊技状態よりも第2始動口122に遊技球が容易に入球するようにすればよい。つまり、遊技状態が非時短遊技状態に設定されている場合に、第1の条件にしたがって可動片122bが開閉制御され、遊技状態が時短遊技状態に設定されている場合に、第1の条件よりも開状態になりやすい第2の条件にしたがって可動片122bが開閉制御されればよい。
次に、遊技機100における遊技の進行に伴う主制御基板300の主な処理について、フローチャートを用いて説明する。
(主制御基板300のCPU初期化処理)
図18および図19は、主制御基板300におけるCPU初期化処理(S100)を説明するフローチャートである。
電源基板より電源が供給されると、メインCPU300aにシステムリセットが発生し、メインCPU300aは、以下のCPU初期化処理(S100)を行う。
本実施形態による遊技機100において、電源投入時の状態(以降、「電源投入時モード」という)を4つに分けている。4つの電源投入時モードの判定には、設定キースイッチ180s、RAMクリア検出スイッチ305sおよび内枠開放スイッチを用いる。
4つの電源投入時モードの判定条件の一例は以下のとおりである。
電源投入時にRAMクリア検出スイッチ305sがオフ状態(RAMクリアボタン305の押圧操作を検出していない)、かつ設定キースイッチ180sがオフ状態(設定キーの変更操作を検出していない)または内枠開放スイッチ145sがオフ状態(内枠104の開放が検出されていない)の場合、通常復帰モードと判定する。通常復帰モードは、通常の遊技を開始し、かつメインRAM300cにおいて一部を除き電源断前にバックアップされた情報の維持を意図して電源投入されたことを示すモードである。
電源投入時にRAMクリア検出スイッチ305sがオン状態(RAMクリアボタン305の押圧操作を検出している)かつ設定キースイッチ180sまたは内枠開放スイッチ145sのいずれかがオフ状態の場合、RAMクリア復帰モードと判定する。RAMクリア復帰モードは、通常の遊技を開始し、かつメインRAM300cにおいて電源断前にバックアップされた情報の初期化(クリア)を意図して電源投入されたことを示すモードである。
また、上述したが、電源投入時に設定キースイッチ180sおよび内枠開放スイッチ145sがオン状態、かつRAMクリア検出スイッチ305sがオフ状態かつの場合、設定確認モードと判定する。設定確認モードは、通常の遊技を開始せずに、性能表示器300dにおける設定値を確認することを意図して電源投入されたことを示すモードである。
また、上述したが、電源投入時に設定キースイッチ180s、内枠開放スイッチ145sおよびRAMクリア検出スイッチ305sがいずれもオン状態の場合、設定変更モードと判定する。設定変更モードは、通常の遊技を開始せずに、RAMクリアボタン305の押下によって設定値を変更することを意図して電源投入されたことを示すモードである。
このように、電源投入時における設定キースイッチ180s、RAMクリア検出スイッチ305sおよび内枠開放スイッチの操作によって4つの電源投入モードを分けることができる。
(ステップS100-1)
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行い、ステップS100-3に処理を移す。また、電源投入時において、内枠開放スイッチ145s、RAMクリア検出スイッチ305sおよび設定キースイッチ180sからの入力信号の読み込みを行う。また、内部レジスタとして使用するレジスタ数節約のため、メインCPU300aは、内枠104が閉鎖状態(内枠開放スイッチ145sがオフ状態)である場合、設定変更キー回転信号(オン信号)が入力されても設定キースイッチ180sをオフ状態に読み換える。
(ステップS100-3)
メインCPU300aは、タイマカウンタにウェイト処理時間(例えば、3.1秒間)を設定して、ステップS100-5に処理を移す。
(ステップS100-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100-3に処理を移し改めてウェイト処理時間を設定する。また、電源断予告信号を検出していない場合には、ステップS100-7に処理を移す。
(ステップS100-7)
メインCPU300aは、上記ステップS100-3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100-5に処理を移す。
(ステップS100-9)
メインCPU300aは、メインRAM300cへのアクセス(読み書き)を許可するために必要な処理(例えば、RAMプロテクトの解除処理)を実行してステップS100-11に処理を移す。
(ステップS100-11)
メインCPU300aは、電源断前の遊技機の状態を確認してステップS100-13に処理を移す。遊技機の状態(遊技機状態)には、設定変更状態、設定確認状態、遊技可能状態および異常状態の4種類の状態がある。
設定変更状態は電源投入時モードが設定変更モードであって、上述のとおり設定値の変更が可能な状態である。
変更確認状態は電源投入時モードが設定確認モードであって、上述のとおり設定値の確認が可能な状態である。
また、遊技可能状態は電源投入時モードが通常復帰モードまたはRAMクリアモードであって、遊技球の発射や遊技球の賞球等の通常の遊技が可能な状態である。
異常状態はメインRAM300cにおいてバックアップ異常やリードライト異常、および設定値が予め定められた範囲に含まれない値(異常値)である状態(設定値異常)等の所定の不具合が発生している状態を示す。電源投入時モードが、4種類(設定変更モード、設定確認モード、通常復帰モードまたはRAMクリアモード)のいずれのモードであっても、メインRAM300cに不具合が検出された場合は遊技機状態が異常状態に設定される。
また、遊技可能状態以外の遊技機状態(設定変更状態、設定確認状態、異常状態)は、通常の遊技の実行が制限される状態(遊技制限状態)に該当する。遊技制限状態には、例えば通常の遊技の実行が停止される遊技停止状態や、通常の遊技の一部(例えば、特定の演出等)の実行が停止される遊技部分停止状態等が含まれる。以降、遊技制限状態として遊技停止状態を例にとって、本実施形態について説明する。
本実施形態による遊技機100において、遊技機状態は遊技機状態フラグの値として保持されている。遊技機状態フラグは、メインRAM300cの使用領域(図5参照)のうち設定値関連情報および遊技状態関連情報が格納されている第一領域(アドレスF000H~F1FFH)に記憶されている。メインCPU300aは、メインRAM300cにおける使用領域の第一領域から遊技機状態フラグを既定の内部レジスタにロードして、電源断前の遊技機状態を確認する。
(ステップS100-13)
メインCPU300aは、バックアップフラグが有効であり、かつチェックサムが正常であるか否かを判定する。具体的には、メインCPU300aは、電源断時においてセーブされたバックアップフラグの値をメインRAM300cの使用領域における第二領域からロードする。また、チェックサムを算出するために必要な処理を実行する。さらに、メインCPU300aは、ロードしたバックアップフラグの値が、バックアップが有効であることを示す値(本例では「A5H」)であるか否か判定し、また、算出したチェックサムが電源断時に保存されたチェックサムと一致しているかを判定する。メインCPU300aは、バックアップフラグの値が「A5H」であり、かつチェックサムが一致している場合にはステップS100-15に処理を移す。一方、メインCPU300aは、バックアップフラグの値が「A5H」でない、またはチェックサムが一致していない場合にはステップS100-29に処理を移す。
(ステップS100-15)
メインCPU300aは、メインRAM300cのうち、電源復帰時(メインRAM300cをクリアせずに、電源断前のデータを維持するとき)にクリアすべきクリア対象の領域を示すアドレスを内部レジスタにセットして、ステップS100-17に処理を移す。本例では、メインRAM300cの使用領域のうち、図5に示す第二領域および第三領域に該当するアドレスがセットされる。
(ステップS100-17)
メインCPU300aは、RAMクリア検出スイッチ305sがオン状態か否かを判定する。メインCPU300aは、RAMクリア検出スイッチ305sからオン信号が入力されていて、RAMクリア検出スイッチ305sがオン状態である(RAMクリアボタン305が押下されている)と判定すると図19のステップS100-35に処理を移す。一方、メインCPU300aは、RAMクリア検出スイッチ305sからオン信号が入力されていて、RAMクリア検出スイッチ305sがオン状態でない(RAMクリアボタン305が押下されていない)と判定するとステップS100-19に処理を移す。
(ステップS100-19)
メインCPU300aは、遊技機状態が遊技可能状態、または設定キースイッチ180sおよび内枠開放スイッチ145sからオン信号が入力されているか否かを判定する。メインCPU300aは、ステップS100-10でロードした遊技機状態フラグの値を参照し遊技可能状態であると判定した場合にステップS100-21に処理を移す。また、メインCPU300aは、遊技機状態が遊技可能状態でないと判定した場合でも、設定キースイッチ180sおよび内枠開放スイッチ145sからオン信号が入力されていると判定すると同様にステップS100-21に処理を移す。
一方、メインCPU300aは、遊技機状態が遊技可能状態でなく、かつ設定キースイッチ180sおよび内枠開放スイッチ145sからオン信号が入力されていないと判定した場合には、ステップS100-23に処理を移す。
(ステップS100-21)
メインCPU300aは、遊技機状態を設定確認状態に設定する。具体的には、メインCPU300aは、設定確認状態を示す値に遊技機状態フラグの値を設定し、ステップS100-23に処理を移す。
(ステップS100-23)
メインCPU300aは、電源復帰時にクリアすべきクリア対象のデータ、すなわちステップS100-12でセットしたメインRAM300cのアドレスの領域のデータをクリアする初期化処理を行い、ステップS100-25に処理を移す。
(ステップS100-25)
メインCPU300aは、電源断から復帰したことを副制御基板330に伝達するためのサブコマンド(電源復帰指定コマンド)の送信処理(コマンドを送信バッファに格納)を行う。
(ステップS100-27)
メインCPU300aは、電源断から復帰したことを払出制御基板310に伝達するための払出コマンド(電源復帰指定コマンド)の送信処理(コマンドを送信バッファに格納)を行うと、ステップS100-53(図19参照)に処理を移す。
(ステップS100-29)
メインCPU300aは、既定の内部レジスタ(Dレジスタ)にチェックサムが異常状態であること(バックアップ異常)を示すデータを格納し、ステップS100-31に処理を移す。
(ステップS100-31)
メインCPU300aは、メインRAM300cの使用外領域についてリードライトチェック処理を実行し、書き込み読み出し結果の一致性を確認する。メインRAM300cは、チェック結果を既定の内部レジスタに格納するとステップS100-33に処理を移す。
(ステップS100-33)
メインCPU300aは、メインRAM300cのうち、RAM異常時にクリアすべきクリア対象の領域を示すアドレスを内部レジスタにセットしてステップS100-35に処理を移す。本例では、メインRAM300cのメモリ領域のうち、図5に示す使用領域および使用外領域に該当するアドレスがセットされる。つまり、バックアップ異常時には、メインRAM300cの全ての領域のデータがクリアされることとなる。
(ステップS100-35)
図19に示すようにメインCPU300aは、メインRAM300cの使用領域についてリードライトチェック処理を実行し、チェック結果を既定の内部レジスタに格納してステップS100-37に処理を移す。また、メインRAM300cは、ステップS100-15またはステップS100-33でセットしたメインRAM300cのアドレスの領域のデータをクリアする。
(ステップS100-37)
メインCPU300aは、ステップS100-35における使用領域のリードライトチェック処理の結果が正常であるか否かを判定する。メインCPU300aは、使用領域のリードライトチェック処理の結果が正常であると判定するとステップS100-39に処理を移す。一方、メインCPU300aは、使用領域のリードライトチェック処理の結果が正常でないと判定するとステップS100-45に処理を移す。
(ステップS100-39)
メインCPU300aは、内部レジスタにおいて遊技機状態として設定確認状態が設定されているか否かを判定する。メインCPU300aは、内部レジスタに設定確認状態を示す値が設定されており、内部レジスタにおいて遊技機状態が設定確認状態に設定されていると判定すると、ステップS100-41に処理を移す。一方、メインCPU300aは、内部レジスタに設定確認状態以外を示す値が内部レジスタに設定されており、内部レジスタにおいて遊技機状態が設定確認状態以外に設定されていると判定すると、ステップS100-43に処理を移す。
(ステップS100-41)
メインCPU300aは、遊技機状態に対応する値として遊技可能状態を示す値を内部レジスタに設定してステップS100-43に処理を移す。
(ステップS100-43)
メインCPU300aは、設定変更が可能な条件が満たされているか否かを判定する。具体的には、メインCPU300aは、設定キースイッチ180s、内枠開放スイッチ145sおよびRAMクリア検出スイッチ305sからオン信号が入力されていると判定すると、設定変更が可能な条件が満たされていると判定してステップS100-47に処理を移す。一方、メインCPU300aは、設定キースイッチ180s、内枠開放スイッチ145sおよびRAMクリア検出スイッチ305sの少なくとも1つからオン信号が入力されていないと判定すると、設定変更が可能な条件が満たされていないと判定してステップS100-49に処理を移す。
(ステップS100-45)
メインCPU300aは、遊技機状態を示す値として、設定変更状態を示す値を内部レジスタに設定してステップS100-49に処理を移す。
(ステップS100-47)
メインCPU300aは、遊技機状態を示す値として、RAM異常が発生している異常状態(RAM異常状態)を示す値を内部レジスタに設定してステップS100-49に処理を移す。
(ステップS100-49)
メインCPU300aは、内部レジスタに設定されている遊技機状態に対応する値を、メインRAM300cの使用領域の第一領域に記憶されている遊技機状態フラグにセーブしてステップS100-51に処理を移す。
(ステップS100-51)
メインCPU300aは、RAMクリア時の初期化処理を実行する。ここで、RAMクリア時とは、電源投入モードが設定変更モードまたはRAMクリアモードである場合(ステップS100-17のYES)、およびバックアップ異常が発生した場合(ステップS100-13のNOまたはステップS100-37のNO)に相当する。RAMクリア時の初期化処理においてメインCPU300aは、メインRAM300cがクリアされたことを副制御基板330に伝達するためのサブコマンド(RAMクリア指定コマンド)の送信処理(コマンドを送信バッファに格納)、およびメインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理(コマンドを送信バッファに格納)を行い、ステップS100-53に処理を移す。
(ステップS100-53)
メインCPU300aは、電源投入時の初期状態の演出制御に必要な各種演出コマンドを副制御基板330に送信するための電源投入時サブコマンドセット処理(コマンドを送信バッファに格納)を実行する。本処理では、例えば、機種指定コマンド、電源投入時特フェーズ指定コマンド、発射位置指定コマンド、特1保留数(X1)を示す特図1保留指定コマンド、特2保留数(X2)を示す特図2保留指定コマンド、特図1図柄確認指定コマンド、特図2図柄確認指定コマンド等が送信バッファにセットされる。なお、メインCPU300aは、演出コマンドに対し、電源復帰時とRAMクリア時とで異なる値をセットすることもできる。
また、本電源投入時サブコマンドセット処理において、メインCPU300aは、現在設定中の設定値を副制御基板330に伝達するための設定値指定コマンドも送信バッファに格納される。
また、メインCPU300aは、本処理において各種の入力ポートのスイッチ状態を初期化する処理も実行する。
例えば、電源復帰時において、メインCPU300aは、メインRAM300cの第一領域(図5参照)で保持されているバックアップ情報に基づいて、各演出コマンドの値を設定し、送信バッファにセットする。これらの演出コマンドが副制御基板330に対して送信されることにより、サブCPU330aは、前回の電源遮断時に実行中であった演出(例えば、変動演出や大役遊技の実行に伴う大当たり演出)を再開させることができる。なお、電源断時には副制御基板330のサブRAM330cはクリアされる。このため、電源復帰時における演出コマンドに基づいて再開される演出においては、演出表示部200aにおける表示態様や音声出力装置206での音声出力態様、演出照明装置204の点灯態様等が電源遮断時とは異なる態様となる場合がある。電源復帰時における演出制御については後述する。
メインCPU300aは、電源投入時サブコマンドセット処理を実行した後に、ステップS400-55に処理を移す。
(ステップS100-55)
メインCPU300aは、タイマ割込みの周期(本例では、4ミリ秒)を設定しステップS200に処理を移す。
(ステップS200)
メインCPU300aは、メインループ処理を開始する。メインループ処理の詳細は、後述する。
次に、主制御基板300におけるメインループ処理について説明する。図20は、メインループ処理を説明するフローチャートである。遊技機100は、電力供給が保たれている間は、主制御基板300においてメインループ処理を繰り返し実行する。
(ステップS200-1)
メインCPU300aは、割込みを禁止するための処理を行う。
(ステップS200-3)
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数-1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
(ステップS200-5)
メインCPU300aは、シリアル通信受信割込み処理により保存した払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。なお、シリアル通信受信割込み処理は主コマンドの保存を行う割込み処理であるが、詳細な説明は省略する。
(ステップS200-7)
メインCPU300aは、送信バッファに格納されている未送信のサブコマンドを副制御基板330に送信するための処理を行う。
(ステップS200-9)
メインCPU300aは、割込みを許可するための処理を行う。
(ステップS200-11)
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS200-1からステップS200-11の順に処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
次に、主制御基板300における割込み処理について説明する。ここでは、電源断時退避処理(XINT割込み処理)およびタイマ割込み処理について説明する。
(主制御基板300の電源断時退避処理(XINT割込み処理))
図21は、主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、メインループ処理の割込み許可期間中(ステップS200-1とステップS200-11の処理の間)に割り込んで電源断時退避処理を実行する。
(ステップS300-1)
電源断予告信号が入力されると、メインCPU300aは、レジスタを退避する。
(ステップS300-3)
メインCPU300aは、電源断予告信号をチェックする。
(ステップS300-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-7に処理を移す。
(ステップS300-7)
メインCPU300aは、レジスタを復帰させてメインループ処理に戻る。
(ステップS300-9)
メインCPU300aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
(ステップS300-11)
メインCPU300aは、バックアップ有効フラグにバックアップが有効であることを示す値(「A5H」)をセットするバックアップ有効設定処理を実行する。バックアップ有効フラグは、メインRAM300cの使用領域(図5参照)のうち第二領域に記憶されている。
(ステップS300-13)
メインCPU300aは、チェックサムを算出して保存するチェックサム設定処理を実行する。メインCPU300aは、チェックサム設定処理において、メインRAM300cに割り当てられた全てのメモリ領域(使用領域および使用外領域)のチェックサムを、使用領域のうち第二領域に保存する。
(ステップS300-15)
メインCPU300aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
(ステップS300-17)
メインCPU300aは、電源断発生監視時間を設定すべく、電源断監視タイマをセットする電源断発生監視時間の設定処理を実行する。本実施形態による遊技機100は、電源断監視タイマにより所定の電源断発生監視時間(例えば10ミリ秒間)を計時する。
(ステップS300-19)
メインCPU300aは、電源断予告信号をチェックする。
(ステップS300-21)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-17に処理を移して新たに電源断発生監視時間の計時を開始し、電源断予告信号を検出していないと判定した場合にはステップS300-23に処理を移す。
(ステップS300-23)
メインCPU300aは、上記ステップS300-17でセットした電源断発生監視時間が経過したか否かを判定する。具体的には、メインCPU300aは、電源断監視タイマのタイマカウンタの値を1減算し、減算後のタイマカウンタが示す値に基づいて電源断発生監視時間の経過を判定する。メインCPU300aは、電源断発生監視時間が経過したと判定するとステップS300-3に処理を移す。これにより、電源断発生監視時間が経過するまで電源断予告信号を検出していない(予告信号がオフ状態である)ことから、電源断時退避処理を終了してメインループ処理に戻る(ステップS300-5のYESからステップS300-7の流れ)。一方、メインCPU300aは、電源断発生監視時間が経過していないと判定するとステップS300-19に処理を移す。
なお、通常の電源断時には、電源断予告信号のチェックを繰り返して(ステップS300-17~ステップS300-21の処理をループして)、電圧低下による電源断を待機することになる。
(主制御基板300のタイマ割込み処理)
図22は、主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(本実施形態では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
(ステップS400-1)
メインCPU300aは、レジスタを退避する。
(ステップS400-3)
メインCPU300aは、割込みを許可するための処理を行う。メインCPU300aは、割込みを許可するにあたり、割込みフラグの初期化を実行する。割込みフラグは、所定のタイマ割込み周期(本例では、4ms)でセット(値「1」を設定)されるフラグである。割込みフラグがセットされている期間はタイマ割込みの発生が許可されない期間であり、割込みフラグを初期化(値「0」を設定)することでタイマ割込みが許可される。
(ステップS400-5)
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、および性能表示器300dを点灯制御するダイナミックポート出力処理を実行する。
(ステップS400-7)
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。ポート入力処理においてメインCPU300aは、例えば入力ポートに入力された各種スイッチ信号を読み込むと、当該信号を正論理に変換してメインRAM300cに保存する。また、各種スイッチ信号に関し、前回入力値と今回入力値とを元に、オン検出フラグ(オフ状態からオン状態への切り替わりの検出を示すフラグ)を生成して保存する。これにより、各種スイッチ信号の前回からの変化を踏まえた正確なスイッチ状態を把握することができる。
(ステップS400-9)
メインCPU300aは、遊技機状態フラグをロードして、現在の遊技機状態を内部レジスタにセットする。
(ステップS400-10)
メインCPU300aは、設定値異常の状態(設定値異常状態)が発生しているか否かを判定する設定値異常判定処理を実行する。設定値異常状態は、上述した4種類の遊技機状態のうち異常状態に該当する。本実施形態による遊技機100において、設定値1から設定値6は、データ上、数値「0」から「5」で表される。このため、メインCPU300aは、設定値を示す数値データ(設定値データ)が「5」を超過している(6以上である)場合に、設定値異常が発生していると認識する。
具体的には、メインCPU300aは、設定値異常判定処理において、メインRAM300cの設定値バッファから設定値データをロードする。メインCPU300aは、ロードした設定値データ、すなわち設定中の設定値を示す数値データの値が、遊技機100において設定可能な設定値の上限を示す値(本例では「5」)を超過している場合に、設定値異常の状態が発生していると判定する。メインCPU300aは、設定値異常状態が発生していると判定すると、メインRAM300cの遊技機状態フラグに設定値異常状態を示す値をセットする。また、メインCPU300aは、内部レジスタにロードした遊技機状態フラグの値も、設定値異常状態を示す値に変更する。
一方、メインCPU300aは、ロードした設定値データの値が設定値の上限を示す値以下である場合に、設定値異常の状態が発生していないと判定する。ここで、メインCPU300aは、内部レジスタにロードした遊技状態が設定値異常状態を示す値である場合には、メインRAM300cの遊技機状態フラグに遊技可能状態を示す値をセットする。また、メインCPU300aは、内部レジスタにロードした遊技機状態フラグの値も、遊技可能状態を示す値に変更する。これにより、メインCPU300aは、設定値異常状態が解除された場合に遊技機状態を遊技可能状態に遷移させることができる。なお、内部レジスタにロードした遊技状態が設定値異常状態を示す値でない場合、メインPCU300aは遊技機状態を変更しない。
(ステップS400-11)
メインCPU300aは、ロードした遊技機状態が遊技可能状態か否かを判定する。メインCPU300aは、ロードした遊技機状態が遊技可能状態であると判定するとステップS400-15に処理を移す。一方、メインCPU300aは、ロードした遊技機状態が遊技可能状態でないと判定するとステップS400-13に処理を移す。
(ステップS400-13)
メインCPU300aは、ロードした遊技機状態が異常状態か否かを判定する。メインCPU300aは、ロードした遊技機状態が異常状態であると判定するとステップS800に処理を移す。一方、メインCPU300aは、ロードした遊技機状態が異常状態でないと判定するとステップS410に処理を移す。
(ステップS410)
メインCPU300aは、設定値関連処理を実行してステップS800に処理を移す。設定値関連処理は、設定値の確認または変更を行うための処理であって、遊技機状態が遊技可能状態および異常状態のいずれでもない(ステップS400-11のNOかつステップS400-13のNO)、すなわち設定変更状態または設定確認状態であることに基づいて実行される。設定値関連処理については後述する。
(ステップS400-15)
メインCPU300aは、各種タイマカウンタ(タイマ値)を更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
なお、メインCPU300aは、遊技機状態が遊技可能状態である場合(ステップS400-11のYES)にタイマ更新処理を実行し、遊技機状態が遊技可能状態でない、つまり遊技停止状態(設定変更状態、設定確認状態または異常状態のいずれか)である(ステップS400-11のNO)場合にはタイマ更新処理を実行しない。つまり、本実施形態による遊技機100において、遊技停止状態中には遊技の進行や種々の外部情報信号の規定出力時間の計時等に係る各種タイマカウンタは更新されない。これにより、遊技機100は、遊技停止状態が生起された場合に遊技の進行を停止させ、かつ遊技停止状態から遊技可能状態に復帰する場合に、遊技停止状態の発生直前の状態から通常の遊技を再開させることができる。また、遊技停止状態中にタイマカウンタを更新しないことで、メインCPU300aは、遊技停止状態の生起時に出力中であった外部情報信号の外部装置への出力を、遊技停止状態中においても継続させるように外部情報出力端子板312を制御することができる。なお、外部情報信号の出力制御の詳細は後述する。
(ステップS400-17)
メインCPU300aは、上記ステップS200-3と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
(ステップS400-19)
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
なお、詳しい説明は省略するが、本実施形態では、大当たり決定乱数および当たり決定乱数は、主制御基板300に内蔵されたハードウェア乱数生成部によって更新されるハードウェア乱数を用いている。ハードウェア乱数生成部は、大当たり決定乱数および当たり決定乱数を、いずれも一定の規則にしたがって更新し、乱数列が一巡するごとに自動的に乱数列を変更するとともに、システムリセット毎にスタート値を変更している。
(ステップS500)
メインCPU300aは、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、ゲート検出スイッチ124sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
(ステップS600)
メインCPU300aは、上記の特別遊技を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
(ステップS700)
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
(ステップS400-21)
メインCPU300aは、各種エラーの判定およびエラー判定結果に応じた設定を行うためのエラー管理処理を実行する。エラー管理処理では、例えば磁気、電波等の監視を行い異常発生時や異常の解除時にサブコマンドを設定する。
(ステップS400-23)
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、大入賞口検出スイッチ128sのチェックを行い、各入賞口の検出スイッチに該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
(ステップS400-25)
メインCPU300aは、上記ステップS400-23でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
(ステップS400-27)
メインCPU300aは、遊技の進行状況(特別遊技や普通遊技の進行状況)に基づいて遊技球の発射位置を決定する発射位置指定管理処理を実行する。本処理においてメインCPU300aは、後述する特別遊技管理フェーズや普通遊技管理フェーズに基づいて、大入賞口ソレノイド128cや普通電動役物ソレノイド122cの通電状況、すなわち大入賞口128や第2始動口122の可動片122bの開閉状況を判断し、発射位置(右打ち、又は左打ち)を決定する。なお、本処理は、特別遊技管理処理の中で実行してもよい。
(ステップS800)
メインCPU300aは、外部情報出力端子板312から外部の電子機器(例えば遊技店に設置されているホールコンピュータ等)へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。外部情報管理処理では、遊技機状態が遊技停止状態(設定変更状態、設定確認状態、異常状態のいずれか)である期間中も、継続的に外部情報信号を出力して遊技機100の状態を外部に報知可能とするための処理が実行される。なお、この外部情報管理処理の詳細については後述する。
(ステップS400-31)
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するためのコモンデータをコモン出力バッファにセットするLED表示設定処理を実行する。また、例えばLED表示設定処理において、メインCPU300aは、メインRAM300cの設定値バッファから設定値データをロードして、性能表示器300dに設定値を表示するための表示データを生成しコモン出力バッファにセットする。これにより、性能表示器300dの表示領域361~364において設定値の表示切替え等を行うことができる。なお、性能表示器300dにおける出球率(ベース)の点灯制御は、後述するステップS400-41の性能表示モニタ制御処理で行う。
(ステップS400-33)
メインCPU300aは、普通電動役物ソレノイド122cおよび大入賞口ソレノイド128cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。
(ステップS400-35)
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
(ステップS400-37)
メインCPU300aは、割込みを禁止するための処理(割込みフラグのセット)を行う。
(ステップS400-39)
メインCPU300aは、試験信号出力処理を実行する。本処理において、メインCPU300aは、遊技機100の現在の内部状態を表す各種の試験信号を生成し、これらをポート出力する。この試験信号により、例えば遊技機100の試験時等に、主制御基板300の外部でメインCPU300aの内部状態を確認することができる。
(ステップS400-41)
メインCPU300aは、性能表示モニタ制御処理を実行する。本処理においてメインCPU300aは、出玉率(ベース)に関する情報を性能表示器300dに表示するためのコモンデータを生成してコモン出力バッファにセットする。これにより、性能表示器300dの表示領域361~364においてベース値の表示切替等を行うことができる。また、メインCPU300aは性能表示モニタ制御処理において、性能表示器300dに表示するベース値に関する演算処理を行ってもよい。
(ステップS400-43)
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
以下に、上記したタイマ割込み処理のうち、ステップS410の設定値関連処理、ステップS500のスイッチ管理処理、ステップS600の特別遊技管理処理、ステップS700の普通遊技管理処理、ステップS800の外部情報管理処理について、詳細に説明する。
図23は、主制御基板300における設定値関連処理を説明するフローチャートである。
(ステップS410-1)
メインCPU300aは、タイマ割込み処理(図22参照)のステップS400-9でロードした遊技機状態が設定変更状態か否かを判定する。メインCPU300aは、遊技機状態が設定変更状態であると判定するとステップS410-3に処理を移す。一方、メインCPU300aは、遊技機状態が設定変更状態でない、すなわち設定確認状態であると判定するとステップS410-15に処理を移す。
(ステップS410-3)
メインCPU300aは、メインRAM300cの第一領域(図5参照)から設定値バッファをロードし、現在の設定値に対応する設定値データを内部レジスタにセットする。上述のように設定値データは「0」~「5」の6つの数値データであって、この順に、6段階の設定値(設定1~設定6)に対応している。本実施形態による遊技機100は、設定値データ(数値「0」~「5」)によって設定値の管理を行っている。
(ステップS410-5)
メインCPU300aは、RAMクリアボタン305が押下されたか否かを判定する。具体的には、メインCPU300aは、RAMクリア検出スイッチ305sから入力信号(オン信号)が入力され、かつRAMクリア検出スイッチ305sのオン検出フラグがセット(値「1」が設定)されており入力信号の状態の切り替わりが検出されたと判定すると、オン検出フラグをクリア(値「0」を設定)してステップS410-7に処理を移す。一方、メインCPU300aは、RAMクリア検出スイッチ305sのオン検出フラグがをクリアされており、オフ状態からオン状態への切り替わりが検出されていないと判定するとステップS410-9に処理を移す。
(ステップS410-7)
メインCPU300aは、内部レジスタにセットされた設定値データを、現在の設定値データに1加算した値に更新する。例えば、ステップS410-3でロードした設定値データが「3」(設定4を示すデータ)であった場合、メインCPU300aは、本処理において内部レジスタの設定値データを「4」(設定5を示すデータ)に更新する。
(ステップS410-9)
メインCPU300aは、内部レジスタにセットされている設定値データが設定比較値未満か否かを判定する。ここで、設定比較値は設定値データの最大値(設定値6に対応する設定値データ「5」)よりも1大きい数値(本例では「6」)である。メインCPU300aは、内部レジスタにセットされている設定値データが設定比較値未満であると判定するとステップS410-13に処理を移す。一方、メインCPU300aは、内部レジスタにセットされている設定値データが設定比較値以上であると判定するとステップS410-11に処理を移す。
(ステップS410-11)
メインCPU300aは、設定値データとして数値「0」を内部レジスタにセットする。これにより、例えば最大の設定値6に対応する設定値データ「5」から最小の設定値1に対応する設定値データ「0」への更新が可能となる。このようにして、遊技機100は、RAMクリアボタン305を押下するごとに、設定値を1~6(設定値データ「0」~「5」)に順次更新し、設定値6の次はまた設定値1まで戻るループ処理のように設定値の更新を行うことができる。なお、ステップS410-7の処理で更新した設定値データが「6」(設定比較値と同値)だった場合に、同ステップにおいて設定値データを「0」として更新してもよい。これにより、ステップS410-9、ステップS410-11の処理は不要となる。
(ステップS410-13)
メインCPU300aは、内部レジスタにセットされている設定値データをメインRAM300cの設定値バッファにセーブする。これにより、設定値データがバックアップ対象として保持される。
(ステップS410-15)
メインCPU300aは、設定キー差込口306において設定キーが回転操作または復帰操作されたタイミングか否かを判定するためのオン検出フラグ(設定キースイッチ180sのオン検出フラグ)を確認する。
(ステップS410-17)
メインCPU300aは、設定キースイッチ180sからの入力信号(オン信号)の有無とオン検出フラグに基づいて、設定キー差込口306において設定キーが復帰操作されたタイミングか否かを判定する。メインCPU300aは、設定キースイッチ180sから入力信号が入力されず、かつオン検出フラグがセットされており、設定キースイッチ180sからの入力信号についてオン状態からオフ状態(入力信号なし)への切り替わりが検出されたと判定すると、オン検出フラグをクリア(値「0」を設定)してステップS410-19に処理を移す。一方、メインCPU300aは、設定キースイッチ180sから入力信号が入力されており、かつオン検出フラグがクリアされており、設定キースイッチ180sのオン状態が継続されていると判定すると、ステップS410-19以降の処理を実行せずに本処理を終了して、タイマ割込み処理(図22参照)に戻る。
(ステップS410-19)
メインCPU300aは、設定変更状態または設定確認状態を終了することを示すサブコマンドである設定関連終了指定コマンドをセットする。設定関連終了指定コマンドには、例えば設定変更状態および設定確認状態が終了して設定値が確定したという情報や、設定値に関する情報を含めることができる。
(ステップS410-21)
メインCPU300aは、サブコマンド群セット処理を実行する。サブコマンド群セット処理では、上述の設定関連終了指定コマンド以外の設定変更状態および設定確認状態が終了し、通常の遊技が開始されることに伴って例えば演出の実行制御に係る種々のサブコマンド(例えば、機種コード指定コマンド、発射位置指定コマンド、特図1図柄確認指定コマンド、特図1保留指定コマンド、特図2保留指定コマンド、電源投入時特フェーズ指定コマンド、設定値指定コマンド等)が送信バッファにセットされる。
(ステップS410-23)
メインCPU300aは、メインRAM300cから設定関連終了時ラムセットテーブルのアドレスを取得して内部レジスタにセットする。
(ステップS410-25)
メインCPU300aは、設定関連終了時ラムセットテーブルに基づくラムセット処理を実行する。
(ステップS410-27)
メインCPU300aは、メインRAM300cの遊技機状態フラグに遊技可能状態を示す値をセットして、本処理を終了しタイマ割込み処理に戻る。これにより、遊技機状態が本処理開始時の状態(設定変更状態または設定確認状態)から通常の遊技が可能な遊技可能状態に変更される。
図24は、主制御基板300におけるスイッチ管理処理(ステップS500)を説明するフローチャートである。
(ステップS500-1)
メインCPU300aは、ゲート検出スイッチオン検出時であるか、すなわち、ゲート124を遊技球が通過してゲート検出スイッチ124sからの検出信号がオンされたかを判定する。その結果、ゲート検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、ゲート検出スイッチオン検出時ではないと判定した場合にはステップS500-3に処理を移す。
(ステップS510)
メインCPU300aは、ゲート124への遊技球の通過に基づいてゲート通過処理を実行する。なお、このゲート通過処理の詳細については後述する。
(ステップS500-3)
メインCPU300aは、第1始動口検出スイッチオン検出時であるか、すなわち、第1始動口120に遊技球が入球して第1始動口検出スイッチ120sから検出信号が入力されたかを判定する。その結果、第1始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-5に処理を移す。
(ステップS520)
メインCPU300aは、第1始動口120への遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
(ステップS500-5)
メインCPU300aは、第2始動口検出スイッチオン検出時であるか、すなわち、第2始動口122に遊技球が入球して第2始動口検出スイッチ122sから検出信号が入力されたかを判定する。その結果、第2始動口検出スイッチオン検出時であると判定した場合にはステップS530に処理を移し、第2始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-7に処理を移す。
(ステップS530)
メインCPU300aは、第2始動口122への遊技球の入球に基づいて第2始動口通過処理を実行する。なお、この第2始動口通過処理の詳細については後述する。
(ステップS500-7)
メインCPU300aは、大入賞口検出スイッチオン検出時であるか、すなわち、大入賞口128に遊技球が入球して大入賞口検出スイッチ128sから検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS500-9に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合にはステップS-11に処理を移す。
(ステップS500-9)
メインCPU300aは、現在、大役遊技中であるか否かを判定し、大入賞口128への遊技球の入球が適正になされたものであるかを判定する。ここでは、大役遊技中ではないと判定した場合には、所定の不正検出処理を実行し、大役遊技中であり、大入賞口128への遊技球の入球が適正になされたと判定した場合には、大入賞口入賞球数カウンタおよび大役中入球数カウンタを1加算する。
(ステップS500-11)
メインCPU300aは、アウト検出スイッチオン検出時であるか、すなわち、遊技領域116から遊技球が排出されてアウト検出スイッチ143sから検出信号が入力されたかを判定する。その結果、アウト検出スイッチオン検出時であると判定した場合にはステップS500-13に処理を移し、アウト検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理を終了する。
(ステップS500-13)
メインCPU300aは、外部情報用アウトカウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新して、当該スイッチ管理処理(ステップS500)を終了する。外部情報用アウトカウンタは、遊技領域116から排出された遊技球をカウントするためのカウンタである。外部情報用アウトカウンタはメインRAM300cの使用領域(図5参照)のいずれかの領域に格納されている。
図25は、主制御基板300におけるゲート通過処理(ステップS510)を説明するフローチャートである。
(ステップS510-1)
メインCPU300aは、ハードウェア乱数生成部によって更新された当たり決定乱数をロードする。
(ステップS510-3)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値が最大値以上であるか、つまり、普通図柄保留球数カウンタのカウンタ値が4以上であるかを判定する。その結果、普通図柄保留球数カウンタのカウンタ値が最大値以上であると判定した場合には当該ゲート通過処理を終了し、普通図柄保留球数カウンタは最大値以上ではないと判定した場合にはステップS510-5に処理を移す。
(ステップS510-5)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(ステップS510-7)
メインCPU300aは、普図保留記憶領域の4つの記憶部のうち、取得した当たり決定乱数をセーブする対象となる対象記憶部を算定する。
(ステップS510-9)
メインCPU300aは、上記ステップS510-1で取得した当たり決定乱数を、上記ステップS510-7で算定した対象記憶部にセーブする。
(ステップS510-11)
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットし、当該ゲート通過処理を終了する。
図26は、主制御基板300における第1始動口通過処理(ステップS520)を説明するフローチャートである。
(ステップS520-1)
メインCPU300aは、特別図柄識別値として「00H」をセットする。なお、特別図柄識別値は、保留種別として特1保留および特2保留のいずれであるかを識別するためのもので、特別図柄識別値(00H)は特1保留を示し、特別図柄識別値(01H)は特2保留を示す。
(ステップS520-3)
メインCPU300aは、特別図柄1保留球数カウンタのアドレスをセットする。
(ステップS535)
メインCPU300aは、特別図柄乱数取得処理を実行して、ステップS520-5に処理を移す。なお、この特別図柄乱数取得処理は、第2始動口通過処理(ステップS530)と共通のモジュールを利用して実行される。したがって、特別図柄乱数取得処理の詳細は、第2始動口通過処理の説明後に説明する。
(ステップS520-5)
メインCPU300aは、外部情報用始動口カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新して、当該第1始動口通過処理を終了する。外部情報用始動口カウンタは、第1始動口120および第2始動口122に入球した遊技球数を合わせてカウントするためのカウンタである。外部情報用始動口カウンタはメインRAM300cの使用領域(図5参照)のいずれかの領域に格納されている。外部情報用始動口カウンタは、当該ステップS520-5において更新されるとともに、下記ステップS530-11においても更新される。
図27は、主制御基板300における第2始動口通過処理(ステップS530)を説明するフローチャートである。
(ステップS530-1)
メインCPU300aは、特別図柄識別値として「01H」をセットする。
(ステップS530-3)
メインCPU300aは、特別図柄2保留球数カウンタのアドレスをセットする。
(ステップS535)
メインCPU300aは、後述する特別図柄乱数取得処理を実行する。
(ステップS530-5)
メインCPU300aは、普通遊技管理フェーズをロードする。なお、詳しくは後述するが、普通遊技管理フェーズは、普通遊技の実行処理の段階、すなわち、普通遊技の進行状況を示すものであり、普通遊技の実行処理の段階に応じて更新される。
(ステップS530-7)
メインCPU300aは、上記ステップS530-5でロードした普通遊技管理フェーズが「04H」ではないかを判定する。なお、普通遊技管理フェーズの「04H」は、普通電動役物入賞口開放制御処理中であることを示すものである。この普通電動役物入賞口開放制御処理においては、普通電動役物ソレノイド122cが通電されて第2始動口122の可動片122bが開状態に制御されることから、ここでは、第2始動口122が適正に開放され得る状態にあるかを判定することとなる。その結果、普通遊技管理フェーズが「04H」ではないと判定した場合にはステップS530-11に処理を移し、普通遊技管理フェーズが「04H」であると判定した場合にはステップS530-9に処理を移す。
(ステップS530-9)
メインCPU300aは、普通電動役物入賞球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新しステップS530-11に処理を移す。
(ステップS530-11)
メインCPU300aは、外部情報用始動口カウンタのカウンタ値を、現在のカウンタ
値に「1」加算した値に更新して、当該第2始動口通過処理を終了する。
図28は、主制御基板300における特別図柄乱数取得処理(ステップS535)を説明するフローチャートである。この特別図柄乱数取得処理は、上記した第1始動口通過処理(ステップS520)および第2始動口通過処理(ステップS530)において、共通のモジュールを用いて実行される。
(ステップS535-1)
メインCPU300aは、上記ステップS520-1またはステップS530-1でセットした特別図柄識別値をロードする。
(ステップS535-3)
メインCPU300aは、対象特別図柄保留球数をロードする。ここでは、上記ステップS535-1でロードした特別図柄識別値が「00H」であれば、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数をロードする。また、上記ステップS535-1でロードした特別図柄識別値が「01H」であれば、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数をロードする。
(ステップS535-5)
メインCPU300aは、ハードウェア乱数生成部によって更新された大当たり決定乱数をロードする。
(ステップS535-7)
メインCPU300aは、上記ステップS535-3でロードした対象特別図柄保留球数が上限値以上であるかを判定する。その結果、上限値以上であると判定した場合には、ステップS535-23に処理を移し、上限値以上ではないと判定した場合には、ステップS535-9に処理を移す。
(ステップS535-9)
メインCPU300aは、対象特別図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(ステップS535-11)
メインCPU300aは、特図保留記憶領域の記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
(ステップS535-13)
メインCPU300aは、上記ステップS535-5でロードした大当たり決定乱数、上記ステップS400-13で更新された当たり図柄乱数、上記ステップS200-11で更新されたリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を取得し、上記ステップS535-11で算定した対象記憶部に格納する。
(ステップS535-15)
メインCPU300aは、特図保留記憶領域に記憶されている特1保留および特2保留の入賞順序を更新して記憶する特別図柄保留球入賞順序設定処理を行う。
(ステップS536)
メインCPU300aは、上記ステップS535-13で対象記憶部に格納した各種の乱数に基づいて、取得時演出判定処理を実行する。この取得時演出判定処理の詳細は後述する。
(ステップS535-17)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードする。
(ステップS535-19)
メインCPU300aは、上記ステップS535-17でロードしたカウンタ値に基づいて、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。これにより、特1保留または特2保留が記憶されるたびに、特1保留数および特2保留数が副制御基板330に伝達されることとなる。
(ステップS535-21)
メインCPU300aは、上記ステップS535-15で記憶した特1保留および特2保留の入賞順序に対応する特別図柄入賞順序コマンドを送信バッファにセットする。
(ステップS535-23)
メインCPU300aは、普通遊技管理フェーズをロードする。
(ステップS535-25)
メインCPU300aは、上記ステップS535-23でロードした普通遊技管理フェーズを確認し、後述する普通電動役物入賞口開放制御状態未満(普通遊技管理フェーズ<
04H)であるかを判定する。その結果、普通電動役物入賞口開放制御状態未満であると判定した場合にはステップS535-27に処理を移し、普通電動役物入賞口開放制御状態未満ではないと判定した場合には当該特別図柄乱数取得処理を終了する。
(ステップS535-27)
メインCPU300aは、各始動口において異常入賞があったか否かを判定するとともに、異常入賞があったと判定した場合には、所定の処理を行う始動口異常入賞エラー処理を実行し、当該特別図柄乱数取得処理(ステップS535)を終了する。
図29は、主制御基板300における取得時演出判定処理(ステップS536)を説明するフローチャートである。
(ステップS536-1)
メインCPU300aは、高確率遊技状態であるか低確率遊技状態であるかを識別する特別図柄確率状態フラグをロードし、ロードした特別図柄確率状態フラグに基づいて、低確率遊技状態であるかを判定する。その結果、低確率遊技状態であると判定した場合にはステップS536-3に処理を移し、低確率遊技状態でないと判定した場合には当該取得時演出判定処理を終了する。
(ステップS536-3)
メインCPU300aは、設定中の設定値に基づいて、対応する大当たり決定乱数判定テーブル(図7(a)~図7(f)参照)のいずれかを選択する。そして、メインCPU300aは、選択したテーブルと、上記ステップS535-13で対象記憶部に記憶した大当たり決定乱数とに基づいて、大当たりまたはハズレのいずれかを仮判定する特別図柄当たり仮判定処理を行う。
(ステップS536-5)
メインCPU300aは、特別図柄を仮決定するための特別図柄図柄仮判定処理を実行する。ここでは、上記ステップS536-3の仮大役抽選の結果(特別図柄当たり仮判定処理によって導出された結果)が大当たりであった場合には、上記ステップS535-13で対象記憶部に記憶した当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブル(図5参照)を選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS536-3の仮大役抽選の結果がハズレであった場合には、保留種別に対応するハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。
(ステップS536-7)
メインCPU300aは、ステップS536-5でセーブした特別図柄判定データに対応する先読み図柄種別指定コマンド(先読み指定コマンド)を送信バッファにセットする。
(ステップS536-9)
メインCPU300aは、詳しくは後述するように、上記ステップS535-13で対象記憶部に記憶した大当たり決定乱数が、複数の乱数識別範囲のうちのいずれの乱数識別範囲に含まれているかを示す乱数識別範囲指定コマンドを決定する。
(ステップS536-11)
メインCPU300aは、上記ステップS536-9で決定した乱数識別範囲指定コマンド(先読み指定コマンド)を送信バッファにセットする。
(ステップS536-13)
メインCPU300aは、上記ステップS536-3の特別図柄当たり仮判定処理によって導出された結果が、大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS536-15に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS536-17に処理を移す。
(ステップS536-15)
メインCPU300aは、保留種別に基づいて特1用大当たり時リーチモード決定乱数判定テーブル(図11(b)参照)または特2用大当たり時リーチモード決定乱数判定テーブル(図11(c)参照)をセットし、ステップS536-25に処理を移す。
(ステップS536-17)
メインCPU300aは、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数をロードする。
(ステップS536-19)
メインCPU300aは、上記ステップS536-17でロードしたリーチグループ決定乱数が固定値(8500以上)であるかを判定する。ここで、グループ種別は、リーチグループ決定乱数判定テーブルを参照して決定されるが、このリーチグループ決定乱数判定テーブルは、記憶されている保留数に応じて選択される。このとき、リーチグループ決定乱数は、0~10006の範囲から取得され、リーチグループ決定乱数の値が8500以上であれば、保留数に拘わらず、同一のリーチグループ決定乱数判定テーブルが選択され、リーチグループ決定乱数の値が8500未満であれば、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される。以下では、リーチグループ決定乱数のうち、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される0~8499の範囲の値を不定値とし、保留数に拘わらず同一のリーチグループ決定乱数判定テーブルが選択される8500~10006の範囲の値を固定値と呼ぶ。上記ステップS536-17でロードしたリーチグループ決定乱数が固定値(8500以上)であると判定した場合にはステップS536-21に処理を移し、上記ステップS536-17でロードしたリーチグループ決定乱数が固定値(8500以上)ではないと判定した場合にはステップS536-33に処理を移す。
(ステップS536-21)
メインCPU300aは、確率状態識別カウンタのカウンタ値および保留種別に基づいて、対応するリーチグループ決定乱数判定テーブル(図10参照)をセットする。なお、リーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、ここでは、保留数が0のときに用いられるテーブルが選択される。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を仮決定する。
(ステップS536-23)
メインCPU300aは、上記ステップS536-21で仮決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブル(図11(a)参照)をセットし、ステップS536-21に処理を移す。
(ステップS536-25)
メインCPU300aは、上記ステップS536-15または上記ステップS536-23でセットしたリーチモード決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチモード決定乱数とに基づいて、変動モード番号を仮決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが仮決定される。
(ステップS536-27)
メインCPU300aは、上記ステップS536-25で仮決定した変動モード番号に対応する先読み指定変動モードコマンド(先読み指定コマンド)を送信バッファにセットする。
(ステップS536-29)
メインCPU300aは、上記ステップS536-25で仮決定した変動パターン乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶した変動パターン乱数とに基づいて、変動パターン番号を仮決定する。
(ステップS536-31)
メインCPU300aは、上記ステップS536-29で仮決定した変動パターン番号に対応する先読み指定変動パターンコマンド(先読み指定コマンド)を送信バッファにセットし、当該取得時演出判定処理を終了する。
(ステップS536-33)
メインCPU300aは、対象記憶部に新たに記憶された保留について、当該保留が読み出されたときの保留数に応じて、グループ種別、すなわち、変動演出パターンが変化することを示す不定値コマンド(先読み指定変動モードコマンドおよび先読み指定変動パターンコマンド=7FH)を送信バッファにセットし、当該取得時演出判定処理を終了する。
以上のように、上記の取得時演出判定処理によれば、記憶された保留が大当たりに当選する保留であった場合、および、記憶された保留がハズレとなる保留であり、かつ、リーチグループ決定乱数が固定値であった場合には、先読み指定コマンドとして、先読み指定変動モードコマンドおよび先読み指定変動パターンコマンドが副制御基板330に送信される。一方、記憶された保留がハズレとなる保留であり、かつ、リーチグループ決定乱数が不定値であった場合には、先読み指定コマンドとして不定値コマンドが副制御基板330に送信されることとなる。
図30は、特別遊技管理フェーズを説明する図である。既に説明したとおり、本実施形態では、第1始動口120または第2始動口122への遊技球の入球を契機とする特別遊技と、ゲート124への遊技球の通過を契機とする普通遊技とが、同時並行して進行する。特別遊技に係る処理は、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした特別遊技に係る各処理を特別遊技管理フェーズによって管理している。
図30に示すように、メインROM300bには、特別遊技を実行制御するための複数の特別遊技制御モジュールが格納されており、これら特別遊技制御モジュールごとに、特別遊技管理フェーズが対応付けられている。具体的には、特別遊技管理フェーズが「00H」である場合には、「特別図柄変動待ち処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「01H」である場合には、「特別図柄変動中処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「02H」である場合には、「特別図柄停止図柄表示処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「03H」である場合には、「大入賞口開放前処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「04H」である場合には、「大入賞口開放制御処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「05H」である場合には、「大入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「06H」である場合には、「大入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。
図31は、主制御基板300における特別遊技管理処理(ステップS600)を説明するフローチャートである。
(ステップS600-1)
メインCPU300aは、特別遊技管理フェーズをロードする。
(ステップS600-3)
メインCPU300aは、上記ステップS600-1でロードした特別遊技管理フェーズに対応する特別遊技制御モジュールを選択する。
(ステップS600-5)
メインCPU300aは、上記ステップS600-3で選択した特別遊技制御モジュールをコールして処理を開始する。
(ステップS600-7)
メインCPU300aは、特別遊技の制御時間を管理する特別遊技タイマをロードし、当該特別遊技管理処理を終了する。
図32は、主制御基板300における特別図柄変動待ち処理を説明するフローチャートである。この特別図柄変動待ち処理は、特別遊技管理フェーズが「00H」であった場合に実行される。
(ステップS610-1)
メインCPU300aは、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数(X2)が「1」以上であるかを判定する。その結果、特2保留数(X2)が「1」以上であると判定した場合にはステップS610-7に処理を移し、特2保留数(X2)は「1」以上ではないと判定した場合にはステップS610-3に処理を移す。
(ステップS610-3)
メインCPU300aは、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数(X1)が「1」以上であるかを判定する。その結果、特1保留数(X1)が「1」以上であると判定した場合にはステップS610-7に処理を移し、特1保留数(X1)は「1」以上ではないと判定した場合にはステップS610-5に処理を移す。
(ステップS610-5)
メインCPU300aは、客待ちコマンドを送信バッファにセットするとともに、客待ち状態に設定するための客待ち設定処理を実行し、当該特別図柄変動待ち処理を終了する。
(ステップS610-7)
メインCPU300aは、第2特図保留記憶領域の第1記憶部~第4記憶部に記憶されている特2保留、または、第1特図保留記憶領域の第1記憶部~第4記憶部に記憶されている特1保留を、1つ序数の小さい記憶部にブロック転送する。具体的には、上記ステップS610-1において、特別図柄2保留球数が「1」以上であると判定した場合には、第2特図保留記憶領域の第2記憶部~第4記憶部に記憶されている特2保留を、第1記憶部~第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている特2保留を、第0記憶部にブロック転送する。また、上記ステップS610-3において、特別図柄1保留球数が「1」以上であると判定した場合には、第1特図保留記憶領域の第2記憶部~第4記憶部に記憶されている特1保留を、第1記憶部~第3記憶部に転送するとともに、第1記憶部に記憶されている特1保留を、第0記憶部にブロック転送する。なお、この特別図柄記憶エリアシフト処理においては、第0記憶部に転送された保留種別に対応する対象特別図柄保留球数カウンタのカウンタ値を「1」減算するとともに、特1保留または特2保留が「1」減算したことを示す、保留減指定コマンドを送信バッファにセットする。
(ステップS610-9)
メインCPU300aは、第0記憶部に転送された大当たり決定乱数、保留種別、高確率遊技状態であるか低確率遊技状態であるかを識別する特別図柄確率状態フラグをロードし、対応する大当たり決定乱数判定テーブルを選択して大役抽選を行い、その抽選結果を記憶する特別図柄当たり判定処理を実行する。
(ステップS610-11)
メインCPU300aは、特別図柄を決定するための特別図柄判定処理を実行する。ここでは、上記ステップS610-9の大役抽選結果が大当たりであった場合には、第0記憶部に転送された当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS610-9の大役抽選結果がハズレであった場合には、保留種別に対応するハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。このようにして、特別図柄判定データをセーブしたら、当該特別図柄判定データに対応する図柄種別指定コマンドを送信バッファにセットする。
(ステップS610-13)
メインCPU300aは、上記ステップS610-11で抽出した特別図柄判定データに対応する特別図柄停止図柄番号をセーブする。なお、第1特別図柄表示器160および第2特別図柄表示器162は、それぞれ7セグで構成されており、7セグを構成する各セグメントには番号(カウンタ値)が対応付けられている。ここで決定する特別図柄停止図柄番号は、最終的に点灯するセグメントの番号(カウンタ値)を示すものである。
(ステップS611)
メインCPU300aは、変動モード番号および変動パターン番号を決定する特別図柄変動番号決定処理を実行する。この特別図柄変動番号決定処理の詳細は後述する。
(ステップS610-15)
メインCPU300aは、上記ステップS611で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間1および変動時間2を決定する。そして、決定した変動時間1、2の合計時間を、特別図柄変動タイマにセットする。
(ステップS610-17)
メインCPU300aは、上記ステップS610-9における大役抽選結果が大当たりであるか否かを判定し、大当たりであった場合には、上記ステップS610-11でセーブした特別図柄判定データをロードして、大当たり図柄の種別を確認する。そして、遊技状態設定テーブルを参照して、大役遊技終了後に設定される遊技状態を判定し、その判定結果を特別図柄確率状態予備フラグにセーブする。また、ここでは、大当たり当選時に設定されている遊技状態が記憶される。
(ステップS610-19)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162において、特別図柄の変動表示を開始するために、特別図柄表示図柄カウンタを設定する処理を実行する。第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントにはカウンタ値が対応付けられており、特別図柄表示図柄カウンタに設定されたカウンタ値に対応するセグメントが点灯制御される。ここでは、特別図柄の変動表示の開始時に点灯させるセグメントに対応するカウンタ値が特別図柄表示図柄カウンタに設定されることとなる。なお、特別図柄表示図柄カウンタは、第1特別図柄表示器160に対応する特別図柄1表示図柄カウンタと、第2特別図柄表示器162に対応する特別図柄2表示図柄カウンタとが別個に設けられており、ここでは、保留種別に対応するカウンタにカウンタ値が設定される。
(ステップS610-21)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードし、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。また、ここでは、上記ステップS610-7で記憶した特1保留および特2保留の入賞順序に対応する特別図柄入賞順序コマンドを送信バッファにセットする。これにより、特1保留または特2保留が消化されるたびに、特1保留数および特2保留数、ならびに、これら各保留の入賞順序が副制御基板330に伝達されることとなる。
(ステップS610-23)
メインCPU300aは、特別遊技管理フェーズを「01H」に更新し、当該特別図柄変動待ち処理を終了する。
図33は、主制御基板300における特別図柄変動番号決定処理を説明するフローチャートである。
(ステップS612-1)
メインCPU300aは、上記ステップS610-9における大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS612-3に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS612-5に処理を移す。
(ステップS612-3)
メインCPU300aは、現在の変動状態、大当たり図柄の種別、保留種別に対応する大当たり時リーチモード決定乱数判定テーブルをセットする。
(ステップS612-5)
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
(ステップS612-7)
メインCPU300aは、現在の変動状態、上記ステップS612-5で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610-7で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
(ステップS612-9)
メインCPU300aは、上記ステップS612-7で決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルをセットする。
(ステップS612-11)
メインCPU300aは、上記ステップS612-3または上記ステップS612-9でセットしたリーチモード決定乱数判定テーブルと、上記ステップS610-7で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
(ステップS612-13)
メインCPU300aは、上記ステップS612-11で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
(ステップS612-15)
メインCPU300aは、上記ステップS612-11で決定した変動パターン乱数判定テーブルと、上記ステップS610-7で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
(ステップS612-17)
メインCPU300aは、上記ステップS612-15で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
図34は、主制御基板300における特別図柄変動中処理を説明するフローチャートである。この特別図柄変動中処理は、特別遊技管理フェーズが「01H」であった場合に実行される。
(ステップS620-1)
メインCPU300aは、特別図柄変動ベースカウンタを更新する処理を実行する。なお、特別図柄変動ベースカウンタは、所定周期(例えば100ms)で1周するようにカウンタ値が設定される。具体的には、特別図柄変動ベースカウンタのカウンタ値が「0」であった場合には、所定のカウンタ値(例えば25)がセットされ、カウンタ値が「1」以上であった場合には、現在のカウンタ値から「1」減算した値にカウンタ値を更新する。
(ステップS620-3)
メインCPU300aは、上記ステップS620-1で更新した特別図柄変動ベースカウンタのカウンタ値が「0」であるかを判定する。その結果、カウンタ値が「0」であった場合にはステップS620-5に処理を移し、カウンタ値が「0」ではなかった場合にはステップS620-9に処理を移す。
(ステップS620-5)
メインCPU300aは、上記ステップS610-15で設定された特別図柄変動タイマのタイマ値を所定値減算する特別図柄変動タイマ更新処理を行う。
(ステップS620-7)
メインCPU300aは、上記ステップS620-5で更新した特別図柄変動タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS620-15に処理を移し、タイマ値が「0」ではなかった場合にはステップS620-9に処理を移す。
(ステップS620-9)
メインCPU300aは、第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントの点灯時間を計時する特別図柄表示タイマを更新する。具体的には、特別図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
(ステップS620-11)
メインCPU300aは、特別図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、特別図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS620-13に処理を移し、特別図柄表示タイマのタイマ値が「0」でないと判定した場合には当該特別図柄変動中処理を終了する。
(ステップS620-13)
メインCPU300aは、更新対象の特別図柄表示図柄カウンタのカウンタ値を更新する。これにより、7セグを構成する各セグメントが、所定時間おきに順次点灯することとなる。
(ステップS620-15)
メインCPU300aは、特別遊技管理フェーズを「02H」に更新する。
(ステップS620-17)
メインCPU300aは、対象の特別図柄表示図柄カウンタに、上記ステップS610-13で決定した特別図柄停止図柄番号(カウンタ値)をセーブする。これにより、第1特別図柄表示器160または第2特別図柄表示器162に、決定された特別図柄が停止表示されることとなる。
(ステップS620-19)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示されたことを示す特図停止指定コマンドを送信バッファにセットする。
(ステップS620-21)
メインCPU300aは、特別図柄を停止表示する時間である特別図柄変動停止時間を特別遊技タイマにセットし、当該特別図柄変動中処理を終了する。
図35は、主制御基板300における特別図柄停止図柄表示処理を説明するフローチャートである。この特別図柄停止図柄表示処理は、特別遊技管理フェーズが「02H」であった場合に実行される。
(ステップS630-1)
メインCPU300aは、上記ステップS620-21でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該特別図柄停止図柄表示処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS630-3に処理を移す。
(ステップS630-3)
メインCPU300aは、大役抽選の結果を確認する。
(ステップS630-5)
メインCPU300aは、大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS630-17に処理を移し、大当たりではないと判定した場合にはステップS630-9に処理を移す。
(ステップS630-9)
メインCPU300aは、変動状態を更新する変動状態更新処理を実行する。
(ステップS630-11)
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
(ステップS630-15)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、1の保留に基づく特別遊技管理処理が終了し、特1保留または特2保留が記憶されている場合には、次の保留に基づく特別図柄の変動表示を開始するための処理が行われることとなる。
(ステップS630-17)
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。
(ステップS630-19)
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630-17でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
(ステップS630-21)
メインCPU300aは、上記ステップS630-17でセットしたデータを参照し、特別遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
(ステップS630-23)
メインCPU300aは、大役遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。
(ステップS630-25)
メインCPU300aは、特別遊技管理フェーズを「03H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、大役遊技が開始されることとなる。
図36は、主制御基板300における大入賞口開放前処理を説明するフローチャートである。この大入賞口開放前処理は、特別遊技管理フェーズが「03H」であった場合に実行される。
(ステップS640-1)
メインCPU300aは、上記ステップS630-21でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS640-3に処理を移す。
(ステップS640-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(ステップS640-5)
メインCPU300aは、大入賞口128の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
(ステップS641)
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
(ステップS640-7)
メインCPU300aは、特別遊技管理フェーズを「04H」に更新し、当該大入賞口開放前処理を終了する。
図37は、主制御基板300における大入賞口開閉切替処理を説明するフローチャートである。
(ステップS641-1)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における大入賞口128の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS641-3に処理を移す。
(ステップS641-3)
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、大入賞口ソレノイド128cを通電制御するためのソレノイド制御データ、および、大入賞口ソレノイド128cの通電時間もしくは通電停止時間であるタイマデータを抽出する。
(ステップS641-5)
メインCPU300aは、上記ステップS641-3で抽出したソレノイド制御データに基づいて、大入賞口ソレノイド128cの通電を開始するか、もしくは、大入賞口ソレノイド128cの通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400-25およびステップS400-27において、大入賞口ソレノイド128cの通電開始もしくは通電停止の制御がなされることとなる。
(ステップS641-7)
メインCPU300aは、上記ステップS641-3で抽出したタイマデータに基づくタイマ値を、特別遊技タイマにセーブする。なお、ここで特別遊技タイマにセーブされるタイマ値は、大入賞口128の1回の最大開放時間となる。
(ステップS641-9)
メインCPU300aは、大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS641-5において、大入賞口ソレノイド128cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS641-11に処理を移し、通電開始状態ではないと判定した場合には当該大入賞口開閉切替処理を終了する。
(ステップS641-11)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該大入賞口開閉切替処理を終了する。
図38は、主制御基板300における大入賞口開放制御処理を説明するフローチャートである。この大入賞口開放制御処理は、特別遊技管理フェーズが「04H」であった場合に実行される。
(ステップS650-1)
メインCPU300aは、上記ステップS641-7でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS650-5に処理を移し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS650-3に処理を移す。
(ステップS650-3)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS650-7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS641に処理を移す。
(ステップS641)
上記ステップS650-3において、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS641の処理を実行する。
(ステップS650-5)
メインCPU300aは、上記ステップS500-9で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、大入賞口128に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合には大入賞口入賞球数カウンタを0に戻して(初期化して)ステップS650-7に処理を移す。
(ステップS650-7)
メインCPU300aは、大入賞口ソレノイド128cの通電を停止して大入賞口128を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、大入賞口128が閉鎖状態となる。
(ステップS650-9)
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別遊技タイマにセーブする。
(ステップS650-11)
メインCPU300aは、特別遊技管理フェーズを「05H」に更新する。
(ステップS650-13)
メインCPU300aは、大入賞口128が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
図39は、主制御基板300における大入賞口閉鎖有効処理を説明するフローチャートである。この大入賞口閉鎖有効処理は、特別遊技管理フェーズが「05H」であった場合に実行される。
(ステップS660-1)
メインCPU300aは、上記ステップS650-9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口閉鎖有効処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS660-3に処理を移す。
(ステップS660-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致するか、すなわち、予め設定された回数のラウンド遊技が終了したかを判定する。その結果、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致すると判定した場合にはステップS660-9に処理を移し、一致しないと判定した場合にはステップS660-5に処理を移す。
(ステップS660-5)
メインCPU300aは、特別遊技管理フェーズを「03H」に更新する。
(ステップS660-7)
メインCPU300aは、所定の大入賞口閉鎖時間を特別遊技タイマにセーブし、当該大入賞口閉鎖有効処理を終了する。これにより、次のラウンド遊技が開始されることとなる。
(ステップS660-9)
メインCPU300aは、エンディング時間を特別遊技タイマにセーブするエンディング時間設定処理を実行する。
(ステップS660-11)
メインCPU300aは、特別遊技管理フェーズを「06H」に更新する。
(ステップS660-13)
メインCPU300aは、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
図40は、主制御基板300における大入賞口終了ウェイト処理を説明するフローチャートである。この大入賞口終了ウェイト処理は、特別遊技管理フェーズが「06H」であった場合に実行される。
(ステップS670-1)
メインCPU300aは、上記ステップS660-9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS670-3に処理を移す。
(ステップS670-3)
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、大役遊技の実行契機となった大当たり図柄に基づいて、大役遊技終了後の遊技状態が設定される。具体的には、メインCPU300aは、大役遊技の実行契機となった大当たり図柄が特別図柄B~Dである場合には、高確率遊技状態および時短遊技状態に設定(特別図柄確率状態フラグおよび普通図柄時短状態フラグに「1」をセット)する。特別図柄確率状態フラグは、セットされた値(「0」または「1」)によって遊技状態が低確率遊技状態(「0」)であるか高確率遊技状態(「1」)であるかを識別するためのフラグである。また、普通図柄時短状態フラグは、セットされた値(「0」または「1」)によって遊技状態が非時短遊技状態(「0」)であるか時短遊技状態(「1」)であるかを識別するためのフラグである。特別図柄確率状態フラグおよび普通図柄時短状態フラグは、例えばメインRAM300cの所定の記憶領域に記憶されている。また、大役遊技の実行契機となった大当たり図柄が特別図柄Aである場合には、低確率遊技状態および非時短遊技状態に設定する(特別図柄確率状態フラグを「0」および普通図柄時短状態フラグを「0」にセット)。
(ステップS670-5)
メインCPU300aは、大役遊技の終了後に設定される遊技状態を伝達するための大役後遊技状態変化指定コマンドを送信バッファにセットする。
(ステップS670-7)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、特別図柄の変動表示が再開されることとなる。
(普通遊技)
既に説明したとおり、本実施形態では、ゲート124への遊技球の通過を契機とする普通遊技に係る処理が、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした普通遊技に係る各処理を普通遊技管理フェーズによって管理している。
メインROM300bには、普通遊技を実行制御するための複数の普通遊技制御モジュールが格納されており、これら普通遊技制御モジュールごとに、普通遊技管理フェーズが対応付けられている。具体的には、普通遊技管理フェーズが「00H」である場合には、「普通図柄変動待ち処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「01H」である場合には、「普通図柄変動中処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「02H」である場合には、「普通図柄停止図柄表示処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「03H」である場合には、「普通電動役物入賞口開放前処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「04H」である場合には、「普通電動役物入賞口開放制御処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「05H」である場合には、「普通電動役物入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「06H」である場合には、「普通電動役物入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。
ここで、普通遊技制御モジュールの各処理について説明する。本実施形態では、主制御基板300における普通遊技管理処理において、メインCPU300aは、普通遊技管理フェーズをロードし、ロードした普通遊技管理フェーズに対応する普通遊技制御モジュールを選択する。
主制御基板300における普通遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「00H」をロードして普通遊技制御モジュールとして普通図柄変動待ち処理を選択し、普図保留が「0」であるかを判定する。メインCPU300aは、普図保留が「0」であると判定した場合、普通図柄変動待ち処理を終了する。一方、メインCPU300aは、普図保留が「0」でないと判定した場合、普図保留記憶領域の第1記憶部に記憶されていた普図保留(当り決定乱数)について普図抽選を行う普通図柄当り判定処理、普図抽選の結果に対応し最終的に普通図柄表示器168を点灯するか否かを示す普通図柄停止図柄番号の設定処理、普通図柄変動時間を決定する普通図柄変動時間の決定処理、普通図柄の変動表示を開始するための普通図柄表示図柄カウンタの設定処理、普通図柄当たり判定処理によって決定された図柄種別(当たり図柄またはハズレ図柄)に基づく普通図柄指定コマンドの送信バッファへの設定処理などを実行する。また、メインCPU300aは、普通遊技管理フェーズを「01H」に更新し、当該普通図柄変動待ち処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「01H」をロードして普通遊技制御モジュールとして普通図柄変動中処理を選択し、普通遊技タイマのタイマ値が「0」であるかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」でないと判定した場合、普通図柄表示器168の点灯および消灯を繰り返すために、普通図柄表示図柄カウンタのカウンタ値(普通図柄表示器168の消灯または点灯を示すカウンタ値)の更新設定処理を実行し、普通図柄変動待ち処理を終了する。普通図柄表示図柄カウンタが消灯を示すカウンタ値と点灯を示すカウンタ値とが交互に更新設定されることにより、普通図柄表示器168は、普通図柄変動時間にわたって、所定時間おきに点灯、消灯を繰り返す(点滅する)こととなる。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定した場合、普通図柄表示図柄カウンタに、普通図柄表示待ち処理において決定していた普通図柄停止図柄番号(カウンタ値)をセーブする。これにより、普図抽選の結果が報知されることとなる。また、メインCPU300aは、普通図柄を停止表示する時間である普通図柄変動停止時間の設定処理や普通図柄の停止表示が開始されたことを示す普図停止指定コマンドの送信バッファへの設定処理などを実行し、さらに、普通遊技管理フェーズを「02H」に更新し、当該普通図柄変動中処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「02H」をロードして普通遊技制御モジュールとして普通図柄停止図柄表示処理を選択し、普通遊技タイマのタイマ値が「0」でないかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」でないと判定した場合、普通図柄停止図柄表示処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定し、普図抽選の結果が当たりではない(ハズレである)と判定した場合、普通遊技管理フェーズを「00H」に更新して普通図柄停止図柄表示処理を終了する。また、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定し、普図抽選の結果が当たりであると判定した場合、普通遊技タイマのタイマ値として普電開放前時間をセーブするとともに普通遊技管理フェーズを「03H」に更新して普通図柄停止図柄表示処理を終了する。これにより、第2始動口122の開閉制御が開始されることとなる。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「03H」をロードして普通遊技制御モジュールとして普通電動役物入賞口開放前処理を選択し、普通遊技タイマのタイマ値が「0」でないかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」でないと判定した場合、普通電動役物入賞口開放前処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定した場合、普通電動役物入賞口開閉切替処理を実行する。普通電動役物入賞口開閉切替処理において、メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における第2始動口122の可動片122aの開閉回数)の上限値であると判定すると普通電動役物入賞口開閉切替処理を終了する。一方、当メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が普通電動役物開閉切替回数の上限値でないと判定すると、普通電動役物ソレノイド122cの通電開始または通電停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、普通電動役物ソレノイド122cの通電開始または通電停止の制御がなされることとなる。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、第2始動口122の1回の最大開放時間となるタイマ値を普通遊技タイマにセーブする。メインCPU300aは、上述の普通電動役物ソレノイド通電制御処理において普通電動役物ソレノイド122cの通電開始制御処理を実行したと判定した場合、普通電動役物開閉切替回数カウンタのカウンタ値を現在のカウンタ値に「1」加算した値に更新して普通電動役物入賞口開閉切替処理を終了する。一方、メインCPU300aは、普通電動役物ソレノイド122cの通電開始制御処理を実行していないと判定した場合、普通電動役物開閉切替回数カウンタのカウンタ値を更新せずに普通電動役物入賞口開閉切替処理を終了する。
メインCPU300aは、普通電動役物入賞口開閉切替処理を終了し、普通遊技管理フェーズを「04H」に更新して、普通電動役物入賞口開放前処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「04H」をロードして普通遊技制御モジュールとして普通電動役物入賞口開放制御処理を選択し、普通電動役物入賞開閉切替処理においてセーブした普通遊技タイマのタイマ値が「0」であるか否かを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定した場合、普通電動役物開閉切替回数カウンタのカウンタ値が普通電動役物開閉切替回数の上限値であるかを判定する。メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が上限値であると判定した場合、後述する普通電動役物閉鎖処理を実行する。また、メインCPU300aは、当該カウンタ値が上限値でないと判定した場合、上述の普通電動役物入賞開閉切替処理を実行する。
一方、メインCPU300aは、普通電動役物入賞開閉切替処理においてセーブした普通遊技タイマのタイマ値が「0」でないと判定した場合、上述の第2始動口通過処理で更新された普通電動役物入賞球数カウンタのカウンタ値が規定数に到達し、1回の開閉制御中の最大入賞可能数と同数の遊技球が第2始動口122に入球しているかを判定する。メインCPU300aは、入球数が規定数に到達していないと判定した場合、普通電動役物入賞口開放制御処理を終了する。一方、メインCPU300aは、入球数が規定数に到達していると判定した場合、第2始動口122を閉鎖状態とするために、普通電動役物ソレノイド122cの通電を停止して普通電動役物閉鎖処理を実行し、普電有効状態時間を普通遊技タイマにセーブするとともに、普通遊技管理フェーズを「05H」に更新して普通電動役物入賞口開放制御処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「05H」をロードして普通遊技制御モジュールとして普通電動役物入賞口閉鎖有効処理を選択し、上述の普通電動役物入賞口開放制御処理でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」ではないと判定した場合、普通電動役物入賞口閉鎖有効処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定した場合、普電終了ウェイト時間を普通遊技タイマにセーブし、普通遊技管理フェーズを「06H」に更新して普通電動役物入賞口閉鎖有効処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「06H」をロードして普通遊技制御モジュールとして普通電動役物入賞口終了ウェイト処理を選択し、上述の普通電動役物入賞口閉鎖有効処理でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」ではないと判定した場合、普通電動役物入賞口終了ウェイト処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定した場合、普通遊技管理フェーズを「00H」に更新して普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。
(外部情報管理処理)
図41は、主制御基板300における外部情報管理処理の一例を説明するフローチャートである。本実施形態による遊技機100は、外部情報出力端子板312から複数種類の外部情報信号を出力可能に構成されている。主制御基板300のメインCPU300aは、この外部情報管理処理を実行することで、外部情報出力端子板312からの外部情報信号の出力を制御することができる。
ここでは、始動口(第1始動口120、第2始動口122)への遊技球の入球に関する外部情報信号「始動口情報」、および、遊技領域116からの遊技球の排出に関する外部信号「アウト情報」の出力制御について説明し、他の外部情報信号の出力制御については詳細な説明を省略する。
上述のように、第1始動口120または第2始動口122に遊技球が入球し、第1始動口検出スイッチ120sまたは第2始動口検出スイッチ122sから検出信号が入力されると、メインCPU300aは、上記ステップS520-5および上記ステップS530-11において外部情報用始動口カウンタのカウンタ値を1加算する。また、遊技領域116から遊技球が排出されてアウト検出スイッチ143sから検出信号が入力されると、メインCPU300aは、上記ステップS500-13において外部情報用アウトカウンタのカウンタ値を1加算する。
そして、メインCPU300aは、第1始動口120または第2始動口122に遊技球が入球し、第1始動口検出スイッチ120sまたは第2始動口検出スイッチ122sから検出信号が入力されると、検出信号が1回入力される度に、つまり、第1始動口120および第2始動口122に遊技球が1球入球する(外部情報用始動口カウンタのカウンタ値が1加算される)度に、始動口に遊技球が入球したことを示す外部信号を出力する。
また、メインCPU300aは、遊技領域116から遊技球が排出されてアウト検出スイッチ136sから検出信号が入力されると、検出信号が10回入力される度に、つまり、遊技領域116から遊技球が10球排出される(外部情報用アウトカウンタのカウンタ値が「10」に到達する)度に、遊技領域116から遊技球が排出されたことを示す外部信号を出力する。
本実施形態による遊技機100における外部情報管理処理では、始動口(第1始動口120、第2始動口122)への遊技球の入球、および、遊技領域116からの遊技球の排出に関して、共通のモジュール(S810)を用いて外部信号の出力管理を行っている。
(ステップS800-1)
メインCPU300aは、外部情報出力端子板312の各出力端子における外部情報信号の出力を制御するための外部情報用の出力データに初期値として「0」をセットする。外部情報用の出力データは複数の外部情報信号(図6参照)に対応するビットで構成されている。外部情報出力端子板312の各出力端子は、対応する外部出力信号のビットに「0」がセットされている場合に当該外部出力信号の出力を行わず、当該ビットに「1」がセットされている場合に当該外部出力信号を外部装置に出力する。
(ステップS800-3)
メインCPU300aは、メインRAM300cの使用領域(図5参照)における外部情報用始動口タイマのアドレスを内部レジスタにセットする。
(ステップS800-5)
メインCPU300aは、メインRAM300cの使用領域における外部情報用始動口カウンタのアドレスを内部レジスタにセットする。
(ステップS800-7)
メインCPU300aは、メインROM300bに予め記憶されている外部情報用始動口カウンタ比較値(「1」)を内部レジスタにセットする。
(ステップS810)
メインCPU300aは、上記ステップS800-3からステップS800-7においてセットされた外部情報用始動口タイマのアドレス、外部情報用始動口カウンタのアドレス、および、外部情報用始動口カウンタ比較値に基づいて、外部情報出力確認処理を実行する。なお、この外部情報出力確認処理について、詳しくは後述する。
(ステップS800-9)
メインCPU300aは、遊技球に関する外部情報信号を出力するか否かを示すキャリーフラグが1であるか否かを判定する。メインCPU300aは、キャリーフラグが1であると判定した場合にはステップS800-13に処理を移す。一方、メインCPU300aは、キャリーフラグが1でないと判定した場合にはステップS800-11に処理を移す。本実施形態による遊技機100において、主制御基板300のメインCPU300aは、キャリーフラグが0の場合に遊技球に関する外部情報(ここでは、外部情報信号「始動口情報」)を外部情報出力端子板312から出力させる制御を行い、キャリーフラグが1の場合(0でない場合)に遊技球に関する外部情報(ここでは、外部情報信号「始動口情報」)を外部情報出力端子板312から出力させないように制御を行う。
(ステップS800-11)
メインCPU300aは、外部情報用の出力データのうち、始動口への遊技球の入球を示す外部情報信号「始動口情報」に対応するビット(始動口ビット)に1をセットする。
(ステップS800-13)
メインCPU300aは、メインRAM300cの使用領域(図5参照)における外部情報用アウトタイマのアドレスを内部レジスタにセットする。
(ステップS800-15)
メインCPU300aは、メインRAM300cの使用領域における外部情報用アウトカウンタのアドレスを内部レジスタにセットする。
(ステップS800-17)
メインCPU300aは、メインROM300bに予め記憶されている外部情報用アウトカウンタ比較値(「10」)を内部レジスタにセットする。
(ステップS810)
メインCPU300aは、上記ステップS800-13からステップS800-17においてセットされた外部情報用アウトタイマのアドレス、外部情報用アウトカウンタのアドレス、および、外部情報用アウトカウンタ比較値に基づいて、外部情報出力確認処理を実行する。
(ステップS800-19)
メインCPU300aは、キャリーフラグが1であるか否かを判定する。メインCPU300aは、キャリーフラグが1であると判定した場合にはステップS800-23に処理を移す。一方、メインCPU300aは、キャリーフラグが1でないと判定した場合にはステップS800-21に処理を移す。遊技機100において、主制御基板300のメインCPU300aは、キャリーフラグが0の場合に、遊技領域116からの遊技球の排出を示す外部情報信号「アウト情報」を外部情報出力端子板312から出力させる制御を行い、キャリーフラグが1の場合に外部情報信号「アウト情報」を外部情報出力端子板312から出力させないように制御を行う。
(ステップS800-21)
メインCPU300aは、外部情報用の出力データのうち、遊技領域116からの遊技球の排出を示す外部情報信号「アウト情報」に対応するビット(アウトビット)に1をセットする。
(ステップS800-23)
メインCPU300aは、上記ステップS800-11およびステップS800-21においてセットされた出力データを出力ポートバッファにセーブし、当該外部情報管理処理を終了する。出力ポートバッファにセーブされた外部情報用の出力データは、例えば払出制御基板310を介して外部情報出力端子板312に出力される。
図42は、主制御基板300における外部情報出力確認処理(ステップS810)を説明するフローチャートである。
(ステップS810-1)
メインCPU300aは、外部情報用タイマのタイマ値をロードする。本実施形態において、外部情報信号「始動口情報」に関する外部情報出力確認処理の実行時(ステップS800-7の次に実行されるステップS810の実行時)には、上記ステップS800-3においてセットされた外部情報用始動口タイマのアドレスに記憶された外部情報用始動口タイマのタイマ値が、外部情報用タイマのタイマ値としてロードされる。また、外部情報信号「アウト情報」に関する外部情報出力確認処理の実行時(ステップS800-17の次に実行されるステップS810の実行時)には、上記ステップS800-13においてセットされた外部情報用アウトタイマのアドレスに記憶された外部情報用アウトタイマのタイマ値が外部情報用タイマのタイマ値としてロードされる。
(ステップS810-3)
メインCPU300aは、上記ステップS810-1においてロードされた外部情報用タイマのタイマ値が0でないかを判定する。メインCPU300aは、外部情報用タイマのタイマ値が0でないと判定した場合にはステップS810-17に処理を移す。一方、メインCPU300aは、外部情報用タイマのタイマ値が0であると判定した場合にはステップS810-5に処理を移す。
(ステップS810-5)
メインCPU300aは、外部情報用カウンタのカウンタ値をロードする。ここでは、外部情報信号「始動口情報」についての外部情報出力確認処理の実行時には、上記ステップS800-5においてセットされた外部情報用始動口カウンタのアドレスに記憶された外部情報用始動口カウンタのカウンタ値が、外部情報用カウンタのカウンタ値としてロードされる。また、外部情報信号「アウト情報」についての外部情報出力確認処理の実行時には、上記ステップS800-15においてセットされた外部情報用アウトカウンタのアドレスに記憶された外部情報用アウトカウンタのカウンタ値が外部情報用カウンタのカウンタ値としてロードされる。
(ステップS810-7)
メインCPU300aは、上記ステップS810-5においてロードされた外部情報用カウンタのカウンタ値から、外部情報用カウンタ比較値を減算する。ここでは、外部情報信号「始動口情報」に関する外部情報出力確認処理の実行中には、上記ステップS800-7においてセットされた外部情報用始動口カウンタ比較値(「1」)が、外部情報用カウンタ比較値として用いられる。つまり、上記ステップS810-5においてロードされた外部情報用始動口カウンタのカウンタ値から、上記ステップS800-7においてセットされた外部情報用始動口カウンタ比較値(「1」)が減算される。
また、外部情報信号「アウト情報」に関する外部情報出力確認処理の実行中には、上記ステップS800-17においてセットされた外部情報用アウトカウンタ比較値(「10」)が外部情報用カウンタ比較値として用いられる。つまり、上記ステップS810-5においてロードされた外部情報用アウトカウンタのカウンタ値から、上記ステップS800-17においてセットされた外部情報用アウトカウンタ比較値(「10」)が減算される。
(ステップS810-9)
メインCPU300aは、上記ステップS810-7の減算結果が0未満であるか否かを判定する。メインCPU300aは、減算結果が0未満であると判定した場合にはステップS810-11に処理を移す。一方メインCPU300aは、減算結果が0未満でない、つまり、減算結果が0以上であると判定した場合にはステップS810-13に処理を移す。
(ステップS810-11)
メインCPU300aは、キャリーフラグに「1」、つまり外部情報信号を出力することを示す値をセットし、当該外部情報出力確認処理を終了する。なお、上記ステップS810-7の減算結果が0未満である場合には、外部情報用カウンタのカウンタ値が減算結果の値(0未満の値)に更新されることはない。
(ステップS810-13)
メインCPU300aは、ステップS810-7の減算結果が0以上(ステップS810-9のNO)であることに基づいて、外部情報用カウンタのカウンタ値に、上記ステップS810-7の減算結果をセーブする。なお、外部情報用カウンタのカウンタ値は、上記ステップS810-7の減算結果が0未満でなくなった時点、つまり外部情報用カウンタのカウンタ値と外部情報用カウンタ比較値とが同一の値となり、減算結果が「0」となる時点でセーブされる。つまり、本ステップS810-13において外部情報用カウンタのカウンタ値にセーブされるは常に「0」となる。
(ステップS810-15)
メインCPU300aは、外部情報用タイマに規定出力時間(図6参照)および後述する出力停止時間を計時するためのタイマカウンタ値(タイマ値)をセーブする。本例において、規定出力時間および出力停止時間はそれぞれ128ミリ秒である。このため、外部情報用タイマのタイマ値として、規定出力時間と出力停止時間との合計時間(256ミリ秒)をタイマ割込み処理の実行周期(本例では4ミリ秒)で除算した値である「64」がセーブされる。なお、本ステップS810-15では、外部情報信号「始動口情報」に関する外部情報出力確認処理の実行時には、外部情報用始動口タイマにタイマ値「64」をセーブし、外部情報信号「アウト情報」に関する外部情報出力確認処理の実行時には、外部情報用アウトタイマにタイマ値「64」をセーブする。ここでセットされた外部情報用タイマ(外部情報用始動口タイマ、外部情報用アウトタイマ)は、タイマ割込み処理(図22参照)中においてタイマ更新処理(ステップS400-9)が実行される度(4ミリ秒ごと)に1ずつ減算、更新されることになる。
(ステップS810-17)
メインCPU300aは、外部情報用タイマのタイマ値とメインROM300bからロードした外部情報用タイマ比較値「33」とを比較し、比較結果に応じて、キャリーフラグをセットし、当該外部情報出力確認処理を終了する。ここでは、外部情報用タイマのタイマ値が33~64である場合、つまり外部情報用タイマのタイマ値が外部情報用タイマ比較値以上である場合に、メインCPU300aにより規定出力時間内であると判定されてキャリーフラグに「0」(外部出力信号の出力を示す値)がセットされる。また、外部情報用タイマのタイマ値が1~32である場合、つまり外部情報用タイマのタイマ値が外部情報用タイマ比較値未満である場合には、規定出力時間が終了して出力停止時間が開始されているためキャリーフラグに1がセットされる。
外部情報用タイマのタイマ値は、タイマ割込み処理(図22参照)のステップS400-9におけるタイマ更新処理で1ずつ減算される。そして、タイマ割込み処理は、4ミリ秒ごとに実行されるので、タイマ値として最初に64がセットされてから、タイマ値が32になるまでの間、つまり、32×4ms=128msに亘る規定出力時間中は、ステップS810-17でキャリーフラグに「0」がセットされ、遊技球に関する外部情報信号(ここでは、「始動口情報」、「アウト情報」)が出力されることになる。その後、外部情報用タイマのタイマ値が32から0になるまでの間、つまり、32×4ms=128msの間、ステップS810-17でキャリーフラグに「1」がセットされ、遊技球に関する外部情報信号が出力されないことになる。
ここで、外部装置(例えばホールコンピュータ500)では、外部情報信号を読み込むための時間として信号読込時間(例えば50ミリ秒)が規定されている。この信号読込時間は、外部装置が遊技機から連続して同一の外部情報信号を受信した際に、連続して受信した信号のそれぞれが有効な信号か否かを判定するための時間として設けられている。このため、遊技機100は、連続して同一の外部情報信号を外部装置に出力する場合に、外部装置が信号読込時間を確保可能な間隔で外部情報信号を出力することとなる。
したがって、本実施形態による遊技機100は、遊技球に関する外部情報信号を連続して出力する際に、規定出力時間後に出力停止時間(本例では128ミリ秒)を設定している。これにより、メインCPU300aは出力停止時間中には直前の規定出力時間中に出力したもの同一種類の外部情報信号を出力しないように外部情報出力端子板312を制御して外部装置における信号読込時間を担保し、連続して同一の外部情報信号を出力する場合にも外部装置に確実に外部情報信号を認識させることができる。
以上、図41および図42を用いて外部情報信号のうち「始動口情報」および「アウト情報」についての出力制御について説明した。なお、「始動口情報」および「アウト情報」以外の遊技球に関する外部情報信号(「賞球情報」、「メイン賞球情報」)についても、「始動口情報」および「アウト情報」と同様の制御によって出力を管理することができる。
具体的には、「賞球情報」および「メイン賞球情報」の外部出力信号それぞれに対応する外部情報用タイマ(例えば、外部情報用賞球タイマ、外部情報用メイン賞球タイマ)と、外部情報用カウンタ(例えば外部情報用賞球カウンタ、外部情報用メイン賞球カウンタ)とをメインRAM300cに設ければよい。さらに、「賞球情報」および「メイン賞球情報」の外部出力信号それぞれに対応する外部情報用カウンタ比較値(例えば外部情報用賞球カウンタ比較値、外部情報用メイン賞球カウンタ比較値)をメインROM300bに設ければよい。これにより、メインCPU300aは、上述の外部情報管理処理において「賞球情報」および「メイン賞球情報」の外部情報信号についての出力制御を実行することができる。
また、「賞球情報」および「メイン賞球情報」の外部出力信号それぞれに対応する外部情報用カウンタのカウンタ値は、スイッチ管理処理(図24参照)において加算処理を行えばよい。例えば、スイッチ管理処理において、メインCPU300aは、払出検知スイッチ315sのスイッチオン検出時に外部情報用賞球カウンタを1加算する処理および賞球の払出しが行われる入球口(例えば第1始動口120、第2始動口122、一般入賞口118、大入賞口128)の各検出スイッチオン検出時に外部情報用メイン賞球カウンタのカウンタ値を1加算する処理を行えばよい。
また、本実施形態による遊技機100は、始動口への遊技球の入球を示す外部情報信号「始動口情報」、遊技領域116からの遊技球の排出を示す外部情報信号「アウト情報」、さらに賞球の払出しを示す外部情報信号「賞球情報」および「メイン賞球情報」の出力可否の確認処理を、共通のモジュール(外部情報出力確認処理S810)を用いて実行することができるので、それぞれ別のモジュールを設ける場合に比して、メインROM300bのデータ容量を削減することができる。
また、本実施形態による遊技機100は、上述した遊技球に関する外部情報信号「賞球情報」「始動口情報」「メイン賞球情報」「アウト情報」のように、外部情報用カウンタで計数された異なる遊技球数ごとに外部情報信号を出力する場合であっても、メインROM300bの所定の記憶領域で各外部情報信号に対応する外部情報用カウンタ比較値(例えば外部情報用始動口カウンタ比較値、外部情報用アウトカウンタ比較値等)を保持するだけで、共通のモジュール(外部情報出力確認処理S810)を用いて外部情報信号の出力可否の確認処理を実行することができる。
また、外部情報管理処理において、遊技球に関連しない外部情報信号のうち規定出力時間が定められている外部出力信号「図柄確定回数情報」および「セキュリティ情報」の出力制御も実行可能である。この場合メインCPU300aは、外部情報管理処理において少なくとも「図柄確定回数情報」、「セキュリティ情報」のそれぞれの外部情報信号に対応する外部情報用タイマのアドレスをセットし、外部情報出力確認処理において、少なくとも当該外部情報の出力契機となる事象(特別図柄の確定停止、メインRAM300cの初期化、各種エラー等)の発生有無の判定、タイマ値の確認処理(ステップS810-3)およびタイマ値のセーブ処理(ステップS810-15)を実行すればよい。なお、外部出力信号「図柄確定回数情報」、「セキュリティ情報」については、外部情報信号の出力契機となる事象が128ミリ秒以下の間隔で発生することが通常は想定されない。このため、必ずしも出力停止時間を確保しなくてもよい。
また、外部情報管理処理において、遊技球に関連せず、かつ規定出力時間も定められている外部出力信号「扉・枠開放情報」、「大当たり関連」の出力制御も実行可能である。例えばメインCPU300aは、外部情報管理処理において開閉枠部材開放スイッチがオン状態か否かを判定し、オン状態である場合に、前枠106、内枠104および外枠102が開放されている、つまり外部出力信号「扉・枠開放情報」の出力契機となる事象が発生しているとして外部情報用の出力データのうち「扉・枠開放情報」に対応するビットに「1」をセットすればよい。これにより、開閉枠部材の開放中は外部出力信号「扉・枠開放情報」が外部情報出力端子板312から出力されることとなる。
また、例えばメインCPU300aは、外部情報管理処理において大当たりに基づく大役遊技に係る制御の実行期間中(例えば、ラウンド遊技中またはオープニング時間の開始からエンディング時間の終了までの期間中)か否かを判定し、大役遊技に係る制御の実行期間中である場合に、外部出力信号「大当たり関連情報」の出力契機となる事象が発生しているとして外部情報用の出力データのうち「大当たり関連情報」に対応するいずれかのビットに「1」をセットすればよい。
(遊技停止状態中における外部情報信号の出力制御の一例)
次に、遊技機100において遊技機状態が遊技可能状態から遊技停止状態に遷移した場合における外部情報信号の出力制御の一例について、図41および図42を参照しつつ図43を用いて説明する。本例では遊技球に関する外部情報信号「始動口情報」を例として外部情報信号の出力制御の進行を説明する。また本例は、設定値異常の発生に基づく異常状態により遊技停止状態が生起されるとする。
図43は、外部情報信号(本例では「始動口情報」)の出力制御の進行の一例を時系列で示す図である。図43は、外部情報信号「始動口情報」の出力契機の一例である第1始動口検出スイッチ120sのスイッチオン検出有無、外部情報信号「始動口情報」の出力有無、設定値異常の発生有無および外部情報「セキュリティ信号」の出力有無の状態遷移を時系列で示している。図43に示す時間軸は、時刻t1から時刻t12までの時間の経過を左から右へ向かって図示している。
例えば、時刻t1において第1始動口120に遊技球が入球したとする。この場合メインCPU300aは、スイッチ管理処理(図24参照)において第1始動口検出スイッチオン検出時であると判定し(ステップS500-3のYES)、第1始動口通過処理(図26参照)において外部情報用始動口カウンタのカウンタ値を「1」加算した値に更新する(ステップS520-5)。時刻t1では、当該カウンタ値は「0」から「1」に更新される。
なお、本例では時刻t1から時刻t8の期間は遊技機状態が遊技可能状態であって、設定値異常を含むいずれの異常状態も発生していない。
また、時刻t1においてメインCPU300aは、外部情報管理処理(図41参照)において外部情報用始動口タイマ、外部情報用始動口カウンタのアドレスおよび外部情報用始動口カウンタ比較値をセットする(ステップS800-3からステップS800-7)。さらにメインCPU300aは、外部情報出力確認処理(図42参照)において外部情報用始動口タイマをロードすると(ステップS810-1)、外部情報用始動口タイマのタイマ値が0であると判定する(ステップS810-3のNO)。さらにメインCPU300aは、外部情報用始動口カウンタのカウンタ値(「1」)をロードすると(ステップS810-5)、当該カウンタ値から外部情報用始動口カウンタ比較値(本例では「1」)を減算し(ステップS810-7)、減算結果が「0」(=カウンタ値「1」-比較値「1」)であって0未満でないと判定する(ステップS810-9のNO)。またメインCPU300aは、外部情報用始動口カウンタのカウンタ値に減算結果「0」をセーブし(ステップS810-13)、外部情報用始動口タイマのタイマ値として「64」をセーブする(ステップS810-15)。さらにメインCPU300aは、時刻t1における外部情報用始動口タイマのタイマ値「64」が外部情報用タイマ比較値「33」以上の値であるためキャリーフラグに「0」、つまり「始動口情報」の外部出力信号の出力を示す値をセットして外部情報出力確認処理を終了する(ステップS810-17)。
外部情報出力確認処理を終了すると、メインCPU300aは外部情報出力管理処理に戻ってキャリーフラグが「0」に設定されていると判定し(ステップS800-9のNO)、外部情報用の出力データのうち外部情報信号「始動口情報」に対応するビット(始動口ビット)に1をセットし(ステップS800-11)、出力データを出力ポートバッファにセーブする(ステップS800-23)。これにより、時刻t1において第1始動口120に遊技球が入球したことに基づいて、外部情報出力端子板312の出力端子色「黄」の出力端子から外部情報信号「始動口情報」が外部装置(例えばホールコンピュータ500)に出力される。
時刻t1においてホールコンピュータ500への出力が開始された外部情報信号「始動口情報」は、以降、規定出力時間(本例では128ミリ秒)が満了する時点である時刻t2までの期間において継続して外部情報出力端子板312の出力端子色「黄」の出力端子から出力される。具体的には、メインCPU300aは、時刻t1から時刻t2までの規定出力時間中において、タイマ割込み処理の実行周期(本例では4ミリ秒)に合わせて外部情報信号「始動口情報」を出力するように外部情報出力端子板312を制御することとなる。外部情報信号「始動口情報」の規定出力時間中には、メインCPU300aは、遊技機状態が遊技可能状態であることに基づいて(ステップS400-11のYES)、タイマ更新処理(ステップS400-15)において外部情報用始動口タイマのタイマ値を「1」ずつ減算する。時刻t1以降の規定出力時間中には、タイマ割込み処理は31回実行されるため、時刻t1においてセットされたタイマ値「64」は、時刻t2までの間に「33」まで減算されることとなる。また、時刻t1から時刻t2までの間に、外部情報信号「始動口情報」は合計で32回出力されることとなる。
メインCPU300aは、規定出力時間が満了するまでの期間(ここでは、時刻t1から時刻t2までの期間)に実行される外部情報管理処理(図41参照)において、出力データの始動口ビットに「1」をセットして(ステップS800-11)、外部情報信号「始動口情報」を継続して出力するように外部情報出力端子板312を制御する。
メインCPU300aは、時刻t2の経過後、つまり規定出力時間経過後の最初のタイマ割込み処理時に、外部情報確認処理(図42参照)において外部情報用始動口タイマのタイマ値が「32」であると判定するとキャリーフラグに「1」をセットし(ステップS810-17)、これに基づいて出力データの始動口ビットに「1」をセットせず(ステップS800-9のYES)、外部情報信号「始動口情報」を出力しないように外部情報出力端子板312を制御する。これにより、規定出力時間の終了に伴って外部情報信号「始動口情報」出力が停止される。時刻t2の経過後も、外部情報用始動口タイマのタイマ値は、タイマ更新処理(ステップS400-15)において「0」になるまで「1」ずつ減算されて、外部情報信号「始動口情報」の出力停止時間(本例では、128ミリ秒)が計時されることとなる。
また、図43に示すように、時刻t2から所定時間(例えば10秒間)経過後の時刻t3において、第1始動口に遊技球が入球したとする。
時刻t3は、時刻t2から10秒間が経過しているため、外部出力信号「始動口」の出力停止時間(本例では、128ミリ秒)も経過している。このため、メインCPU300aは、時刻t1と同様に外部情報管理処理(図41参照)において始動口ビットに「1」をセットし(ステップS800-11)、出力データを出力ポートバッファにセーブして、外部情報信号「始動口情報」を出力するように外部情報出力端子板312を制御する。これにより、時刻t3において、時刻t1と同様に第1始動口120に遊技球が入球したことに基づいて、外部情報出力端子板312の出力端子色「黄」の出力端子から外部情報信号「始動口情報」が外部装置(例えばホールコンピュータ500)に出力される。
時刻t3にホールコンピュータ500への出力が開始された外部情報信号「始動口情報」は、時刻t4において規定出力時間(本例では128ミリ秒)が満了するまで外部情報出力端子板312の出力端子色「黄」の出力端子から継続して出力される。時刻t4において規定出力時間が満了すると、時刻t2の経過後と同様に出力停止時間が開始され、外部情報信号「始動口情報」の出力は終了する。
時刻t5は、時刻t4において規定出力時間が満了して出力停止時間の計時が開始されてから所定時間(例えば100ミリ秒)経過後の時点である。時刻t5において、外部情報用始動口タイマによる出力停止時間の計時は継続されている。つまり時刻t5は出力停止時間中である。ここで、出力時間中の時刻t5において第1始動口に遊技球が入球したとする。
時刻t1および時刻t3と異なり、時刻t5においてメインCPU300aは、外部情報信号「始動口情報」を出力しないように外部情報出力端子板312を制御する。具体的には、メインCPU300aは時刻t5での外部情報確認処理(図42参照)において、外部情報用始動口タイマのタイマ値が出力停止時間中を示す値(本例では「7」)である、つまりタイマ値が「0」ではないと判定して外部情報用始動口カウンタのカウンタ値の減算等の処理をせずにキャリーフラグに「1」をセットする(ステップS810-3のYES→ステップS810-17)。このため、外部情報用始動口カウンタのカウンタ値は第1始動口120のへの一の遊技球の入球を示す値「1」のまま維持される。また、メインCPU300aは、キャリーフラグに「1」が設定されていることに基づいて(ステップS800-9のYES)、始動口ビットに「1」をセットせずに出力データを出力ポートバッファにセーブして、外部情報信号「始動口情報」を出力しないように外部情報出力端子板312を制御する。
これにより、メインCPU300aは、外部情報信号「始動口情報」の出力停止時間中において、始動口への入球があった場合に外部情報信号「始動口情報」の外部装置(例えばホールコンピュータ500)への出力を保留することができる。つまり、メインCPU300aは、連続して同一の外部情報信号(ここでは「始動口情報」)を出力する場合に、規定出力時間後の出力停止時間中に当該同一の外部情報信号の出力契機となる事象が発生しても、当該外部情報信号の出力を停止する制御を行う。このため、遊技機100は外部装置における信号読込時間(本例では50ミリ秒)を担保し、外部装置に確実に外部情報信号を認識させることができる。
時刻t6は、出力停止時間中の時刻t5から所定時間(例えば28ミリ秒)経過後の時点である。メインCPU300aは、時刻t6において出力停止時間が満了したことに基づいて、時刻t5において出力が保留された第1始動口120への遊技球の入球を示す外部出力信号「始動口情報」を外部装置へ出力する制御を行う。
具体的には、時刻t6において、メインCPU300aは、外部情報確認処理(図42参照)で外部情報用始動口タイマのタイマ値が「0」であって出力停止時間が終了していると判定し(ステップS810-3のNO)、外部情報用始動口カウンタのカウンタ値(「1」)をロードする。時刻t5における第1始動口120への遊技球の入球以降、時刻t6までの間には、遊技機100では第1始動口120に新たな遊技球が入球していない。このため、時刻t6において、外部情報用始動口カウンタのカウンタ値は、時刻t5と同様に「1」に維持されている。時刻t6においてメインCPU300aは、時刻t1および時刻t3と同様に外部情報用始動口タイマにタイマ値「64」をセットし(ステップS810-15)、キャリーフラグに「0」(「始動口情報」の外部出力信号の出力を示す値)をセットして(ステップS810-17)外部情報出力確認処理を終了する。また、時刻t6においてメインCPU300aは、外部情報出力管理処理に戻って外部情報用の出力データのうち始動口ビットに1をセットし(ステップS800-9のNO→ステップS800-11)、出力データを出力ポートバッファにセーブする(ステップS800-23)。このように、メインCPU300aは、出力停止時間中の時刻t5において出力が保留された外部情報信号「始動口情報」を、出力停止時間経過後の時刻t6において外部装置(例えばホールコンピュータ500)に出力するように外部情報出力端子板312を制御する。
時刻t7は、時刻t6から所定時間(128ミリ秒)経過後の時点であって、時刻t6において開始された外部情報信号「始動口情報」の規定出力時間が満了する時点である。時刻t6から出力を開始した外部情報信号「始動口情報」は、時刻t7まで継続して出力される。つまり、メインCPU300aは、時刻t1から時刻t2までの規定出力時間と同様に、時刻t6から時刻t7までの規定出力時間中においても、タイマ割込み処理が実行される度に、外部情報管理処理(図41参照)で外部情報信号「始動口情報」を継続して出力するように外部情報出力端子板312を制御する。
また、メインCPU300aは、時刻t2と同様に、時刻t7においても規定出力時間の終了に基づいて外部情報信号「始動口情報」出力を停止するように外部情報出力端子板312を制御する。
時刻t8は、時刻t7から所定時間(例えば20秒)経過後の時点である。時刻t8において、第1始動口120に遊技球が入球したとする。
時刻t8は、時刻t7から20秒間が経過しているため、外部出力信号「始動口」の出力停止時間(本例では、128ミリ秒)も経過している。このため、メインCPU300aは、時刻t1および時刻t3と同様に、外部情報信号「始動口情報」を出力するように外部情報出力端子板312を制御する。
時刻t9は、時刻t8から所定時間(例えば40ミリ秒)経過後の時点である。時刻t9において、遊技機100では設定値異常が発生して遊技機状態が異常状態となったことに基づいて、通常の遊技が停止される遊技停止状態が生起される。
具体的には、時刻t9においてメインCPU300aは、タイマ割込み処理(図22参照)の設定値異常判定処理(ステップS400-10)で、メインRAM300cの設定値バッファから設定値データをロードすると、ロードした設定値データ(例えば「6」)が遊技機100において設定可能な設定値の上限を示す値(本例では「5」)を超過しており設定値異常の状態が発生していると判定する。設定値異常状態は、例えば主制御基板300の不具合やメインプログラムの実装上の不具合によって発生し得る。次いで、メインCPU300aは、設定値異常判定処理においてメインRAM300cにおける遊技機状態フラグおよび内部レジスタにロードした遊技機状態フラグの値を、設定値異常状態を示す値に変更する。これにより、時刻t9において遊技機100は、通常の遊技が停止される遊技停止状態となる。
設定値異常判定処理において、遊技機状態が設定値異常状態となったことに基づいて、メインCPU300aは、遊技機状態が遊技可能状態でないと判定し(ステップS400-11のNO)、遊技機状態が異常状態であると判定し(ステップS400-13のYES)、タイマ更新処理(ステップS400-15)から発射位置指定管理処理(ステップS400-27)を行わずに、外部情報管理処理(ステップS800)を実行する。
このように、遊技停止状態が生起されると、メインCPU300aは、遊技停止状態中(例えば設定値異常状態が解除されて遊技停止状態が終了し、遊技機状態が遊技可能状態に復帰して通常の遊技が再開されるまでの期間)において、タイマ割込み処理時にタイマ更新処理(ステップS400-15)を実行しない。つまり、外部情報用始動口タイマのタイマ値は、遊技停止状態の生起時において規定出力時間を計時中である場合、遊技停止状態中は規定出力時間中を示す値(本例では、時刻t8から時刻t9までの期間において1ずつ減算された値「54」)のまま維持される。
このため、外部情報信号の規定出力時間中に遊技停止状態が生起されると、メインCPU300aは、外部情報確認処理(図42参照)において遊技停止状態中は常に、外部情報用始動口タイマのタイマ値が規定出力時間中を示す値であると判定することとなる。したがって、メインCPU300aは、外部情報確認処理においてキャリーフラグを「0」に設定し(ステップS810-17)、外部情報管理処理(図41参照)において、始動口ビットに「1」をセットして(ステップS800-11)、外部情報信号「始動口情報」の出力を継続するように外部情報出力端子板312を制御することとなる。
このように、メインCPU300a(出力制御手段の一例)は、複数の外部情報信号(外部情報の一例)のうち外部情報信号「始動口情報」(特定の外部情報信号の一例)を出力可能な規定出力時間内に遊技停止状態(遊技制限状態の一例)が生起された場合に、遊技停止状態中も外部情報出力端子板312(出力手段の一例)からの外部情報信号「始動口情報」の出力を継続させる。
これにより、遊技機100は、遊技停止状態への移行時に出力中、つまり規定出力時間中であった外部情報信号を、遊技停止状態が続いている限り継続して出力させることができる。このため、遊技機100は、外部情報信号「始動口情報」の出力が開始されてから、経過した規定出力時間が外部装置における信号識別時間(本例では128ミリ秒)に満たない時点で遊技停止状態が生起された場合であっても、遊技停止状態中に「始動口情報」の出力を継続して、当該信号識別時間を確保することができる。したがって、遊技機100は、遊技停止状態中においても外部装置における外部情報信号の識別精度を維持して、遊技機100の状態(メンテナンス状態や遊技の進行状態等)を外部装置に確実に伝達することができる。
ここで、遊技停止状態中に出力が継続される外部情報信号は、「始動口情報」に限られない。遊技機100において、メインCPU300aは、規定出力時間中に遊技停止状態が生起された場合、規定出力時間が予め定められている外部情報信号(「賞球情報」、「図柄確定回数情報」、「始動口情報」、「メイン賞球情報」、「セキュリティ情報」、「アウト情報」等)を遊技停止状態中も継続して出力するように外部情報出力端子板312を制御する。
また、時刻t9において、設定値異常状態が発生したことに基づいて、メインCPU300aは、設定値異常が発生したことを示す外部情報信号「セキュリティ信号」を出力するように外部情報出力端子板312を制御する。具体的には、メインCPU300aは、外部情報管理処理において、遊技機状態フラグの値に基づいて設定値異常が発生していると判定すると、外部情報用の出力データのうち外部情報信号「セキュリティ信号」に対応するビット(セキュリティビット)に1をセットする。これにより、外部情報出力端子板312における出力端子色「水」の出力端子から外部情報信号「セキュリティ信号」が外部装置(例えばホールコンピュータ500)に出力される。
また、外部情報信号「セキュリティ信号」の出力開始にあたり、メインCPU300aは、例えば外部情報出力確認処理において、外部情報信号「セキュリティ信号」の規定出力時間を計時するための外部情報用タイマ(外部情報用セキュリティタイマ)にタイマ値の初期値(例えば「64」)をセーブする。ただし、上述のように、遊技停止状態中は、タイマ更新処理(ステップS400-15)が実行されない。つまり、外部情報用セキュリティタイマのタイマ値は、時刻t9から遊技停止状態が終了する時刻t10までの期間は初期値のまま更新されない。したがって、遊技停止状態中においてメインCPU300aは、常に外部情報用セキュリティタイマのタイマ値が規定出力時間中を示す値であると判定し、セキュリティビットに「1」をセットして外部情報信号「セキュリティ情報」の出力を継続するように外部情報出力端子板312を制御することとなる。
このように、本例において時刻t9から時刻10に亘る遊技停止状態中は、外部情報信号として遊技停止状態の生起を示す外部情報信号「セキュリティ信号」に加え、既に出力中であった遊技停止状態の生起以外を示す外部情報信号「始動口情報」が遊技機100の外部情報出力端子板312からホールコンピュータ500に出力されることとなる。
つまり、メインCPU300aは、設定値異常状態が発生したこと(所定条件が成立したことの一例)に基づいて通常の遊技の実行が停止される遊技停止状態(通常の遊技の実行が制限される遊技制御状態の一例)を生起し、遊技停止状態中において遊技停止状態の生起以外の情報を示す外部情報(例えば「始動口情報」)を出力可能に外部情報出力端子板312を制御する。
これにより、遊技機100は、遊技停止状態中においても、遊技停止状態の生起以外を示す情報、つまり遊技停止状態の生起時における遊技機100のメンテナンス状態(例えばメインRAM300cの初期化や各種エラーの発生、開閉枠部材の開放等)や遊技機100における遊技の進行状況を示す情報が外部装置に出力可能である。つまり、本実施形態による遊技機100は、遊技制限状態中(例えば、遊技停止状態中)においても、自機の状態を外部装置に伝達することができる。
さらに、遊技停止状態中においてタイマ更新処理(ステップS400-15)を実行しないことにより、遊技機100は、主制御基板300の負荷(例えば、プログラム量の増加によるデータ量の増加)を防止することができる。例えば、遊技停止状態中において、一部のタイマ(例えば外部情報信号の規定出力時間の計時に係るタイマ)のタイマ値のみ更新し、残余のタイマ(例えば遊技の進行に係るタイマ)のタイマ値の更新は行わないように制御するような場合、遊技停止状態中におけるタイマ更新処理を別途実装することとなり、プログラム量が増加する。これに対し、本実施形態による遊技機100のように、遊技停止状態中において一括してタイマ更新処理を実行しないように制御することで、遊技停止状態時におけるタイマ更新処理の実装が不要となり、プログラム量の増加を防ぐことができる。
時刻t10は、時刻t9から所定時間(例えば30秒)経過した時点である。時刻t10において、遊技機100は、設定値異常状態が解除されたことにより遊技停止状態が終了して遊技機状態が遊技可能状態に遷移したとする。
具体的には、時刻t10においてメインCPU300aは、タイマ割込み処理(図22参照)の設定値異常判定処理(ステップS400-10)で、ロードした設定値データの値が設定値の上限を示す値以下である場合に、設定値異常の状態が発生していないと判定する。さらに、メインCPU300aは、内部レジスタにロードした遊技状態が設定値異常状態を示す値であると判定すると、メインRAM300cの遊技機状態フラグおよび内部レジスタにロードした遊技機状態フラグの値をいずれも遊技可能状態を示す値に変更する。これにより、時刻t10において遊技機100では設定値異常状態が解除されて遊技停止状態が終了し、遊技機状態が遊技可能状態に遷移して通常の遊技が再開される。
また、設定値異常判定処理において、遊技可能状態に遷移したことに基づいて、メインCPU300aは、遊技機状態が遊技可能状態であると判定し(ステップS400-11のYES)、タイマ更新処理を実行する(ステップS400-15)。これにより、遊技停止状態中に更新が停止されていた各種タイマのタイマ値の更新が再開され、遊技停止状態の発生時に中断していた遊技の進行が再開されることとなる。また、各種外部情報用タイマのタイマ値の更新も再開される。例えば、遊技停止状態が発生した時刻t9においてタイマ値「54」であって規定出力時間(本例では128ミリ秒)のうち40ミリ秒分を計時していた外部情報用始動口タイマは、時刻t10から規定出力時間の残りの88ミリ秒分の計時を再開する。また、時刻t9においてタイマ値が初期値「64」にセットされた外部情報用セキュリティタイマは、時刻t10から128ミリ秒分の規定出力時間の計時を開始する。
また、時刻t10では、外部情報用始動口タイマおよび外部情報用セキュリティタイマがいずれも規定出力時間の計時中であることから、メインCPU300aは、外部情報管理処理(図41参照)において時刻t9と同様に、外部情報信号「始動口情報」および「セキュリティ情報」の出力を継続するように外部情報出力端子板312を制御する。
時刻t11は、時刻t10においてタイマの更新が再開されてから所定時間(例えば88ミリ秒)経過後の時点であって、時刻t8において開始された外部情報信号「始動口情報」の規定出力時間が満了する時点である。このため、メインCPU300aは、時刻t2、時刻t7と同様に、時刻t11においても規定出力時間の終了に基づいて外部情報信号「始動口情報」出力を停止するように外部情報出力端子板312を制御する。これにより、時刻t8から出力が開始され、遊技停止状態中も出力が継続された外部情報信号「始動口情報」の出力が停止される。このように、特定の外部情報信号(ここでは、「始動口情報」)の規定出力時間中において遊技停止状態が生起された場合、メインCPU300aは、遊技停止状態の終了後も規定出力時間の残余の時間(本例では、「88ミリ秒」)に亘って当該特定の外部情報信号の出力を継続する。
なお、時刻t11では、外部情報信号「セキュリティ情報」の規定出力時間は経過していない。このため、メインCPU300aは、時刻t9および時刻t10と同様に、時刻t11においても外部情報信号「セキュリティ情報」の出力を継続するように外部情報出力端子板312を制御する。
時刻t12は、時刻t9において、タイマの更新が再開されてから所定時間(例えば128ミリ秒)経過後の時点であって時刻t9において開始された外部情報信号「セキュリティ情報」の規定出力時間が満了した時点である。このため、時刻t12において、メインCPU300aは、時刻t11において外部情報信号「始動口情報」の出力を停止した場合と同様にして、外部情報信号「セキュリティ信号」を出力しないように外部情報出力端子板312を制御する。これにより、時刻t9において設定値異常が発生して遊技停止状態となったことに基づいて出力が開始され、遊技停止状態中も出力が継続された外部情報信号「セキュリティ情報」の出力が停止される。
このように、本実施形態による遊技機100においてメインCPU300aは、遊技停止状態中において遊技停止状態の生起以外の情報を示す外部情報信号(例えば、「始動口情報」等)を出力可能に外部情報出力端子板312を制御する。これにより、遊技機100は、遊技停止状態中においても、遊技機100について遊技停止状態が生起されているという状態以外の情報、つまり遊技機100のメンテナンス状態や遊技停止状態が発生した時点における遊技の進行状態等を外部装置(例えばホールコンピュータ500等)に伝達することができる。
なお、本例では、設定値異常による異常状態の発生により遊技停止状態が生起された場合における外部情報信号の出力制御の一例を説明したが、遊技停止状態の発生契機となる事象は、設定値異常に限られない。例えば、遊技可能状態から設定確認状態への移行により遊技停止状態が生起された場合にも、同様に、外部情報信号の出力制御が実行される。また、本例では、外部情報信号「始動口情報」の出力制御を一例として説明したが、規定出力時間が定められている他の特定の外部情報信号(例えば「賞球情報」「図柄確定回数情報」「始動口情報」「メイン賞球情報」「アウト情報」等)についても、同様に出力制御が実行される。なお、「図柄確定回数情報」の外部情報信号については、通常、特別図柄の確定間隔が信号読込時間(本例では128ミリ秒)以上となるため、出力停止時間が設けられていなくてもよい。
また、本例では、規定出力時間が設定されている外部情報信号の出力を、遊技停止状態中も継続する例を説明したが、遊技停止状態中に出力が継続される外部情報信号は、規定出力時間が設定されているものに限られない。遊技停止状態中は、タイマ更新処理(ステップS400-15)が実行されないため、大役遊技の進行に係るタイマ(例えば特別遊技タイマ)のタイマ値も更新されない。したがって、メインCPU30aは、大役遊技に関する制御の実行中に遊技停止状態が生起されると、遊技停止状態中において常に大役遊技に関する制御が実行中であると判定して、外部情報信号「大当たり関連情報」を出力するように外部情報出力端子板312を制御してもよい。
以上のように、主制御基板300において各種の処理が実行されることにより、特別遊技および普通遊技が進行することとなる。
(変形例)
上記実施形態において、メインCPU300aは、遊技停止状態が生起された場合にタイマ割込み処理(図22参照)においてタイマ更新処理(ステップS400-15)を実行しないとしたが、本発明はこれに限られない。例えば、遊技機100においてメインCPU300aは、遊技停止状態が生起された場合に、遊技可能状態中とは異なる内容のタイマ更新処理を実行してもよい。
例えば、メインCPU300aは、遊技停止状態中のタイマ更新処理において、遊技の進行に係るタイマのタイマ値は更新せず、規定出力時間および出力停止時間を計時するための外部情報用タイマのタイマ値のみを更新してもよい。これにより遊技機100は、遊技停止状態中において遊技の進行を停止し、かつ規定出力時間内において外部情報信号の出力を継続させて遊技停止状態中においても自機の状態を外部装置に伝達することができる。
また、遊技機100における主制御基板300の制御プログラムのうち、タイマ更新処理について、遊技の進行に係るタイマ値を更新するタイマ更新処理と、外部情報用タイマのタイマ値を更新する外部情報用タイマ更新処理とに分けて実装してもよい。この場合、外部情報用タイマ更新処理をタイマ割込み処理内において外部情報管理処理(ステップS800)の直前に実行するようにし、遊技停止状態である場合(ステップS400-11のYES)にも外部情報用タイマ更新処理を実行可能とすればよい。
また、メインCPU300aは、遊技停止状態の生起後、外部情報信号を所定時間(例えば128ミリ秒)継続して出力させ、当該所定時間の経過後に全ての外部情報信号の出力を停止する制御を行ってもよい。
具体的には、メインCPU300aは、遊技停止状態が生起された場合に、メインRAM300cの所定の記憶領域に設けられた遊技停止時監視タイマのタイマ値に初期値(例えば128ミリ秒を計時するための値「32」)をセットし、外部情報用タイマのタイマ値をクリアする。メインCPU300aは、遊技停止状態中のタイマ更新処理において、遊技停止時監視タイマのタイマ値のみ更新(「1」減算)する。また、メインCPU300aは、遊技停止状態中の外部情報管理処理において、遊技停止時監視タイマのタイマ値が0になるまでの期間において出力中の外部情報信号の出力を継続するように外部情報出力端子板312の制御を行う。これにより、遊技機100は、遊技停止状態の生起後の所定時間に亘って外部情報信号の出力を継続して、遊技停止状態中においても自機の状態を外部装置に伝達することができる。
また、メインCPU300aは、遊技停止状態の生起時には外部情報用タイマのタイマ値をクリアせず、遊技停止時監視タイマでの所定時間の計時が終了した場合に外部情報用タイマのタイマ値をクリアしてもよい。この場合、メインCPU300aは、遊技停止状態の外部情報管理処理においても、遊技可能状態中と同様に外部情報用タイマのタイマ値を参照して外部情報信号の出力制御を行うことができる。
また、遊技機100は、外部情報出力端子板312から出力可能な複数の外部情報信号に優先順位を設定し、遊技停止状態中には、相対的に優先順位が高い外部情報信号(例えば、優先順位の上位3位以内の外部情報信号)の出力を継続し、他の外部情報信号の出力を停止するように構成されていてもよい。この場合、メインCPU300aは、遊技停止状態中の外部情報管理処理において、出力中の外部情報信号の遊技停止状態中における出力条件(本例では優先順位)を確認する処理を行い、遊技停止状態中における出力条件を満たしている(本例では、優先順位の上位3位以内)と判定した場合に、当該出力条件を満たす外部情報信号を出力するように外部情報出力端子板312を制御してもよい。
また、遊技機100は、規定出力時間中に遊技停止状態が生起された場合に、タイマ更新処理を実行せず、かつ出力中の外部情報信号の出力を停止してもよい。この場合、メインCPU300aは、外部情報管理処理(図41参照)において遊技停止状態が生起されているか否かを判定する処理を実行し、遊技停止状態が生起されていると判定した場合に外部情報信号を出力しないように外部情報出力端子板312を制御すればよい。なお、この場合、遊技停止状態が発生していることを示す外部情報信号「セキュリティ信号」は出力可能としてもよい。これより、遊技機100は、遊技停止状態中において遊技停止状態の生起以外を示す外部情報信号の出力を中断し、遊技停止状態が解除されて遊技可能状態に復帰した場合に、タイマ更新処理の再開により遊技停止状態の生起以外を示す外部情報信号の出力を再開することができる。
遊技停止状態中において、遊技停止状態の生起以外を示す外部情報信号の出力を停止させることで、遊技機100は外部装置に対し遊技停止状態が生起されているという自機の状態を伝達することができる。
また、遊技機100は、遊技停止状態中において全ての外部情報信号の出力を停止してもよい。遊技機100は全ての外部情報信号の出力を停止することで、自機の状態として、通常の遊技が行われていないこと、つまり遊技停止状態であることを外部装置に伝達することができる。
また、上記実施形態では、設定値異常判定処理(ステップS400-10)においてメインCPU300aは、設定中の設定値を示す数値データの値が、遊技機100において設定可能な設定値の上限を示す値(本例では「5」)を超過している場合に設定値異常が発生していると判定するとしたが、本発明はこれに限られない。例えば、メインCPU300aは、設定変更処理を経ずに設定値が変更している場合に設定値異常状態が発生していると判定してもよい。この場合、メインCPU300aは、設定値関連処理において設定値を変更した場合には設定値バッファに設定値をセーブする(ステップS410-13)際に、設定値を変更したことを示すフラグ(設定値変更フラグ)をオン状態に設定すればよい。また、メインCPU300aは、設定値異常判定処理を実行する度に設定中の設定値データのバックアップをメインRAM300cの所定の記憶領域に記憶し、バックアップの設定値データと、現在設定中の設定値データとを比較する処理を実行すればよい。
また、上記実施形態では、設定値異常判定処理を主制御基板300のタイマ割込み処理(図22参照)中で実行しているが、本発明はこれに限られない。例えば、設定値異常判定処理を、大役抽選時または大当たりの仮判定時に実行してもよい。
具体的には、メインCPU300aは、設定値異常判定処理を、取得時判定処理(図29参照)における特別図柄当たり仮判定処理(ステップS536-3)や、特別図柄変動待ち処理(図32)における特別図柄当たり判定処理(ステップS610-9)の実行時に、合わせて実行してもよい。この場合、メインCPU300aは、メインRAM300cの設定値バッファから設定値データをロードし、設定値データが正常範囲内(「5」以下)であるかを判定し、正常範囲内であると判定すると、遊技状態(高確率遊技状態または低確率遊技状態)に対応する大当り判定テーブル(図7、図8参照)を読み込んで設定中の設定値と大当たり決定乱数とに基づいて大当たりに当選しているか否かの判定(大当たり判定)を行う。また、メインCPU300aは、設定値データが正常範囲内でない(「5」を超過している)と判定すると、設定値異常状態が発生していると認識し、遊技機状態フラグの値を設定値異常状態を示す値に変更する。これにより、遊技機100は、遊技機状態が異常状態でなく、通常の遊技が実行されている場合(遊技可能状態中)に、設定値異常状態の発生有無を判定することになる。
なお、遊技機100において、設定中の設定値の確認(設定値異常の発生有無の判定含む)および大当たり判定の一連の処理は、共通モジュールとしてプログラム実装されていてもよい。これにより、遊技機100において、制御処理手順が効率化され、制御プログラムの増加量を低減することができる。また、遊技機100では、普図抽選を行う普通図柄当り判定処理も、当該共通モジュールによって実行してもよい。この場合、普図抽選の実行時には、大当たり判定テーブルに代えて、遊技状態(非時短遊技状態または時短遊技状態)に基づく当たり決定乱数判定テーブル(図16参照)を読み込んで普図抽選を行えばよい。これにより、普図抽選の実行時においても、設定値異常状態の発生有無を判定することができる。
また、上記実施形態において、大当たり判定に用いる低確時大当たり判定テーブルおよび高確時大当たり判定テーブルをいずれも設定値別としているが、これに限られず、大当たり判定に用いる低確時大当たり判定テーブルおよび高確時大当たり判定テーブルのいずれかにおいて、大当たり判定を全設定値共通としてもよい。
また、遊技機100は、設定変更処理の実行によって設定値異常状態が解除されるように構成されていてもよい。例えば、遊技店内に設置された遊技機100において、設定値異常状態が発生し、ホールコンピュータ500に設定値異常が発生したことを示す外部情報信号「セキュリティ情報」が入力されたとする。このとき、遊技店において設定変更が可能な作業者(従業員等)が設定値異常の発生している遊技機100の電源断を行い、次いで電源を再度投入し、上述の設定値変更手順に基づき設定キーの変更操作およびRAMクリアボタン305の押下によって設定値を任意の値(正常範囲内の値)に設定すればよい。この場合、遊技機100は、外部情報信号「セキュリティ情報」および設定値異常状態の発生時に規定出力時間中であったその他の外部情報信号を、電源断が行われるまでの期間において継続して出力することができる。これにより、遊技機100は、自機の状態として、通常の遊技が制限されていること、つまり遊技制限状態(例えば遊技停止状態)であることを外部装置に伝達することができる。なお、電源断および設定変更処理を実行すると、新たにメインRAM300cの初期化を行ったことを示す外部情報信号「セキュリティ情報」がホールコンピュータ500等に出力される。これにより、遊技機100が電源断から復帰したことを外部装置に伝達することができる。
また、上記実施形態において、各特別図柄には、遊技者にとって有利な大役遊技に加えて、大入賞口128が開閉する小当たり遊技の実行可否が対応付けられていてもよい。つまり、遊技機100は、大役抽選において、大当たり、小当たり、またはハズレのいずれかを決定するように構成されていてもよい。この場合、大当たり遊技および小当たり遊技を総称して当たり遊技と称する。また、大入賞口128における小当たり遊技の実行に併せて、演出表示部200a、演出役物装置202、演出照明装置204および音声出力装置206といった演出装置を用いて小当たりに当選したことを遊技者に報知する小当たり演出を実行してもよい。
また、例えば外部情報出力端子板312から出力される外部情報信号「大当たり関連情報」には、大入賞口128が開閉する小当たり遊技の実行、または小当たり遊技の制御の開始等を契機として出力される外部情報信号が含まれていてもよい。これにより、ホールコンピュータ500等の外部装置は、大役遊技だけでなく小当たり遊技の実行状況を集計・管理することができる。
なお、上記の遊技性、すなわち、遊技の進行条件や各種制御方法は一例にすぎず、例えば、大役遊技の実行可否を決定する大役抽選を開始するための始動条件や、大役遊技の種別、数、内容等、遊技者に付与する遊技利益の内容は、本発明の目的を実現可能な範囲で適宜設計可能である。
なお、上記実施形態において、外部情報出力端子板312が出力手段の一例に相当し、遊技機状態を制御するメインCPU300aが遊技制御手段の一例に相当し、外部情報出力端子板312を制御する出力データをセットする外部情報管理処理を実行するメインCPU300aが出力制御手段の一例に相当する。
以上、添付図面を参照しながら本発明の好適な実施形態とその変形例について説明したが、本発明はかかる実施形態等に限定されない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。