以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本発明の実施形態の理解を容易にするため、まず、遊技機の機械的構成および電気的構成を簡単に説明し、その後、各基板における具体的な処理を説明する。
図1は、本実施形態の遊技機100の斜視図であり、扉が開放された状態を示している。図示のように、遊技機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、外枠102にヒンジ機構によって開閉自在に取り付けられた中枠104と、中枠104に、ヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されており、囲繞空間に遊技盤108が保持されている。また、前枠106には、ガラス製または樹脂製の透過板110が保持されている。そして、中枠104および前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、遊技機100の正面側から、透過板110を介して遊技盤108が視認可能となる。
(遊技機の詳細な構成)
次に、遊技機100の詳細な構成について図2および図3を用いて説明する。図2では、遊技盤108に設けられている釘131および風車133(いずれも後述する)の図示は省略されている。また、図2では、閉状態の第2始動口122、第1大入賞口126および第2大入賞口128(いずれも後述する)が図示され、図3では、開状態の第2始動口122、第1大入賞口126および第2大入賞口128が図示されている。
図2は、遊技機100の正面図である。図2に示すように、前枠106の下部には、遊技機100の正面側に突出する操作ハンドル112が設けられている。操作ハンドル112は、遊技者が回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a,114b間を上昇して遊技領域116に導かれることとなる。
遊技領域116は、遊技盤108と透過板110との間隔に形成される空間であって、遊技球が流下または転動可能な領域である。図3に示すように、遊技盤108には、多数の釘131や1つの風車133が設けられており、遊技領域116に導かれた遊技球が釘131や風車133に衝突して、不規則な方向に流下、転動するようにしている。なお、図3では、遊技領域116に設けられた多数の釘131が白丸で図示され、多数の釘131のうちの1つの釘131のみに参照符号が付されている。
図2および図3に示すように、遊技領域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始動口120または第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の遊技利益を受ける権利獲得の機会を獲得することとなる。
第1始動口120は、遊技領域116の下部であって、第1遊技領域116aを流下する遊技球のみが入球可能であるか、または、第1遊技領域116aに進入した遊技球の方が、第2遊技領域116bに進入した遊技球よりも進入しやすい位置に配置されている。
また、図3に示すように、第2始動口122は、第1始動口120の右隣であって第2遊技領域116bに位置している。第2始動口122は、第2遊技領域116bを流下する遊技球のみが入球可能であるか、または、第2遊技領域116bに進入した遊技球の方が、第1遊技領域116aに進入した遊技球よりも進入しやすい位置に配置されている。第2始動口122は、可動片122aを有する始動可変入賞装置によって構成されており、第2始動口122への遊技球の進入容易性が可変するようになっている。具体的には、第2始動口122は、可動片122aが開閉可能に設けられており、可動片122aが閉状態にあるときには、第2始動口122への遊技球の進入が不可能または困難となっている。これに対して、第2遊技領域116bに設けられたゲート124を遊技球が通過すると、後述する普通図柄の抽選が行われ、この抽選によって当たりに当選すると、可動片122aが所定時間、開状態に制御される。このように、可動片122aが開状態になると、可動片122aが遊技球を第2始動口122に導く受け皿として機能し、第2始動口122への遊技球の入球が容易となる。
さらに、第2遊技領域116bには、第2遊技領域116bを流下する遊技球のみが入球可能であるか、または、第2遊技領域116bに進入した遊技球の方が、第1遊技領域116aに進入した遊技球よりも進入しやすい位置に第1大入賞口126および第2大入賞口128が設けられている。なお、以下、第1大入賞口126および第2大入賞口128をまとめて単に大入賞口ともよぶ。第1大入賞口126には、開閉扉126aおよび開閉扉126bが開閉可能に設けられている。通常、開閉扉126bが第1大入賞口126を閉鎖して、第1大入賞口126への遊技球の入球が不可能となっている。また、開閉扉126aは、開閉扉126bが第1大入賞口126を閉鎖している時に下方に向かって下がった状態になっている(図2参照)。これにより、第1大入賞口126に遊技球が入球不可能な状態では、開閉扉126aと開閉扉126bとの間には、第2遊技領域116bを流下する遊技球が通過可能な空間が生じる。これに対して、前述の大役遊技が実行されると、開閉扉126bが開放され、開閉扉126aが開閉扉126bに向かって傾斜した状態に立ち上がる(図3参照)。開閉扉126aの先端と開閉扉126bの先端との間には、遊技球の直径よりも長さの短い間隙が形成される。このため、開閉扉126aおよび開閉扉126bが受け皿として機能し、第2遊技領域116bを流下する遊技球は第1大入賞口126への入球が可能となる。そして、第1大入賞口126に遊技球が入球すると、所定の賞球が遊技者に払い出される。
また、第2大入賞口128は、開閉扉128aが開閉可能に設けられており、通常、開閉扉128bが第2大入賞口128を閉鎖して、第2大入賞口128への遊技球の入球が不可能となっている。これに対して、前述の大役遊技が実行されると、開閉扉128aが開放されて、開閉扉128aが受け皿として機能し、第2大入賞口128への遊技球の入球が可能となる。そして、第2大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。大入賞口への遊技球の入球に基づいて払い出される賞球数は、大入賞口ごとに異なっていてもよい。
第1遊技領域116aには、第1始動口120の左側に2つの一般入賞口118が設けられている。また、第2遊技領域116bには、第1大入賞口126と第2始動口122との間に1つの一般入賞口118が設けられている。
図3に示すように、第1遊技領域116aには、2つの一般入賞口118を挟んで、遊技球を遊技領域116から遊技盤108の背面側に排出する2つの排出口130が設けられている。2つの排出口130の一方は、一般入賞口118の左上に隣接して設けられ、2つの排出口130の他方は、遊技領域116の最下部の中心部(第1始動口120の直下)に設けられている。また、第2遊技領域116bには、一般入賞口118の下方に1つの排出口130が設けられている。複数の排出口130により、一般入賞口118、第1始動口120、第2始動口122、第1大入賞口126、第2大入賞口128のいずれにも入球しなかった遊技球が、遊技領域116から遊技盤108の背面側に排出される。
そして、遊技機100には、遊技の進行中等に演出を行う演出装置として、液晶表示装置からなる演出表示装置200、可動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御される複数のランプからなる演出照明装置204および枠部照明装置240、スピーカからなる音声出力装置206、遊技者の操作を受け付けるとともに、振動による演出を行う演出操作装置208が設けられている。
演出表示装置200は、画像を表示する画像表示部からなる演出表示部200aを備えており、演出表示部200aを、遊技盤108の略中央部分において、遊技機100の正面側から視認可能に配置している。演出表示部200aには、図2に示すように演出図柄210a,210b,210cが変動表示され、演出図柄210a,210b,210cの停止表示態様によって大役抽選結果が遊技者に報知される変動演出が実行されることとなる。変動演出では、演出表示部200aに加えて演出役物装置202、演出照明装置204、音声出力装置206および演出操作装置208等の複数の演出装置の動作が行われてもよい。以下、演出役物装置202および演出操作装置208を「可動体」と総称する場合がある。
演出役物装置202は、演出表示部200aよりも前面に配置され、通常、遊技盤108の背面側に退避しているが、上記の演出図柄210a,210b,210cの変動表示中などに、演出表示部200aの前面まで可動したり回転したりして、遊技者に大当たりの期待感を付与するものである。
演出照明装置204は、演出役物装置202や遊技盤108等に設けられており、演出表示部200aに表示される画像等に合わせて、さまざまに点灯制御される。
図2に示すように、音声出力装置206は、前枠106の上部位置や外枠102の最下部位置に設けられ、演出表示部200aに表示される画像等に合わせて、遊技機100の正面側に向けてさまざまな音声を出力する。
演出操作装置208は、遊技者の押下操作を受け付ける押下ボタン208aと、遊技者の引き倒しによる入力操作を受け付ける演出レバー208bと、演出レバー208bの入力操作に伴って回転する回転部208cとを有している。押下ボタン208aおよび演出レバー208bは、遊技者が操作可能な操作装置に相当する。演出操作装置208は、遊技機100の幅方向略中央位置であって、かつ、透過板110(図1参照)よりも下方位置に設けられている。演出操作装置208は、例えば演出表示部200aに表示される画像等に合わせて有効化されるものであり、操作有効時間内に遊技者の操作を受け付けると、当該操作に応じて、さまざまな演出が実行される。
演出操作装置208の後ろ側(遊技盤108側)には、遊技機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿132であり、上皿132が遊技球で一杯になると、遊技球は下皿134に導かれることとなる。また、下皿134の底面には、下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。この球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを図中左右方向にスライドさせることにより、球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。
また、遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が設けられている。各表示器160〜172は、遊技に係る種々の状況を表示するための装置であるが、その詳細については後述する。
(制御手段の内部構成)
図4は、遊技の進行を制御する制御手段の内部構成を示すブロック図である。
主制御基板300は遊技の基本動作を制御する。主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
本実施形態の遊技機100は、主に第1始動口120または第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124を遊技球が通過することによって開始される普通遊技とに大別される。そして、主制御基板300のメインROM300bには、特別遊技および普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。
主制御基板300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118s、第1始動口120に遊技球が入球したことを検出する第1始動口検出スイッチ120s、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122s、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124s、第1大入賞口126に遊技球が入球したことを検出する第1大入賞口検出スイッチ126s、第2大入賞口128に遊技球が入球したことを検出する第2大入賞口検出スイッチ128s、特定領域140bに遊技球が進入したことを検出する特定領域検出スイッチ140sが接続されており、これら各検出スイッチから主制御基板300に検出信号が入力されるようになっている。
また、主制御基板300には、第2始動口122の可動片122aを作動する普通電動役物ソレノイド122cと、開閉扉126aを作動する開閉扉ソレノイド126c1と、第1大入賞口126を開閉する開閉扉126bを作動する第1大入賞口ソレノイド126c2と、第2大入賞口128を開閉する開閉扉128bを作動する第2大入賞口ソレノイド128cと、第2大入賞口128内に設けられた可動部材142を可動する可動部材駆動ソレノイド142cと、が接続されており、主制御基板300によって、第2始動口122、第1大入賞口126および第2大入賞口128の開閉制御がなされるようになっている。
さらに、主制御基板300には、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が接続されており、主制御基板300によって、これら各表示器の表示制御がなされるようになっている。
また、遊技機100には、電波を検知する電波検知センサ、磁気を検知する磁気検知センサ、中枠104や前枠106の開放状態を検知する扉開放センサ等、異常または不正の可能性があることを検知する異常検知センサ174が複数設けられており、各異常検知センサ174から主制御基板300に異常検知信号が入力されるように構成されている。
そして、主制御基板300には、払出制御基板310および副制御基板330が接続されている。
払出制御基板310は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う。払出制御基板310も、CPU、ROM、RAMを備えており、主制御基板300に対して双方向に通信可能に接続されている。払出制御基板310には遊技情報出力端子板312が接続されており、主制御基板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または演出操作装置208の演出レバー208bの入力操作されたことを検知するレバー操作検出スイッチから操作検出信号が入力された際に、所定のコマンドあるいは制御信号を副制御基板330に送信する。
演出役物装置202には役物モータ装置ymが設けられている。役物モータ装置ymは、演出役物装置202を動作させるための複数の可動体モータおよびドライバ(不図示)を有し、可動体制御部370から送信された信号に基づいて可動体モータを駆動することで演出役物装置202を可動させる。図4では、演出役物装置202を動作させるモータとして、可動体モータm1,m2のみを図示し、他のモータの図示は省略している。役物モータ装置ymおよび可動体モータm1,m2の詳細は後述する。図示は省略するが、遊技機100には、演出役物装置202以外にも遊技盤108側に演出用の役物装置が設けられており、演出役物装置202と同様に役物モータ装置ymが有する可動体モータによって可動する。遊技機100には、遊技盤108側に設けられた演出役物装置(盤面側役物装置)を動作させるためのモータとして、予め定められた数の可動体モータを役物モータ装置ymに設置可能である。本実施形態では、盤面側役物装置を可動させるためのモータとして、例えば可動体モータm1,m2を含む24個の可動体モータが役物モータ装置ymに設けられているとする。
演出操作装置208には、ボタンモータ装置bmが設けられている。ボタンモータ装置bmは、押下ボタン208aを動作させるための複数の可動体モータおよびドライバ(不図示)を有し、可動体制御部370から送信された信号に基づいて可動体モータを駆動することで押下ボタン208aを可動させる。図4では、押下ボタン208aを動作させるモータとして、可動体モータm3のみを図示し、他のモータの図示は省略している。ボタンモータ装置bmおよび可動体モータm3の詳細は後述する。遊技機100には、前枠106側に設けられた可動体である押下ボタン208aを動作させるためのモータとして、予め定められた数の可動体モータをボタンモータ装置bmに設置可能である。本実施形態では、押下ボタン208aを可動させるためのモータとして、例えば可動体モータm3を含む24個の可動体モータが役物モータ装置ymに設けられているとする。したがって、本実施形態による遊技機100には、盤面側役物装置を可動させるための可動体モータ(24個)と押下ボタン208aを可動させるためのモータ(24個)とを合わせて全48個の可動体モータが設けられている。可動体モータm1,m2,m3は、例えばステッピングモータである。
なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給がなされている。また、電源基板にはコンデンサからなるバックアップ電源が設けられている。
次に、本実施形態の遊技機100における遊技について、メインROM300bに記憶されている各種テーブルと併せて説明する。
前述したように、本実施形態の遊技機100は、特別遊技と普通遊技の2種類の遊技が並行して進行するものであり、これら両遊技を進行する際の遊技状態として、低確率遊技状態または高確率遊技状態のいずれかの遊技状態と、非時短遊技状態または時短遊技状態のいずれかの遊技状態と、が組み合わされたいずれかの遊技状態にて遊技が進行する。
各遊技状態の詳細については後述するが、低確率遊技状態というのは、第1大入賞口126および第2大入賞口128が開放される大役遊技を実行する権利獲得の確率が低く設定された遊技状態であり、高確率遊技状態というのは、大役遊技を実行する権利獲得の確率が高く設定された遊技状態である。
また、非時短遊技状態というのは、可動片122aが開状態になりにくく、第2始動口122に遊技球が入球しにくい遊技状態であり、時短遊技状態というのは、非時短遊技状態よりも可動片122aが開状態になりやすく、第2始動口122に遊技球が入球しやすい遊技状態である。なお、遊技機100の初期状態は、低確率遊技状態および非時短遊技状態に設定され、この遊技状態を本実施形態では通常遊技状態と称する。
遊技者が操作ハンドル112を操作して遊技領域116に遊技球を発射させるとともに、遊技領域116を流下する遊技球が第1始動口120または第2始動口122に入球すると、遊技者に遊技利益を付与するか否かの抽選(以下、「大役抽選」という)が行われる。この大役抽選において、大当たりに当選すると、第1大入賞口126(または第2大入賞口128)が開放されるとともに第1大入賞口126(または第2大入賞口128)への遊技球の入球が可能となる大役遊技が実行される。以下では、大役抽選方法について説明する。
なお、詳しくは後述するが、第1始動口120または第2始動口122に遊技球が入球すると、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数)が取得されるとともに、これら各乱数値がメインRAM300cの特図保留記憶領域に記憶される。以下では、第1始動口120に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特1保留とよび、第2始動口122に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特2保留とよぶ。
メインRAM300cの特図保留記憶領域は、8つの記憶部(第1〜第8記憶部)を有している。そして、第1始動口120に遊技球が入球すると、特1保留を特図保留記憶領域の第1記憶部から順に記憶し、第2始動口122に遊技球が入球すると、特2保留を特図保留記憶領域の第1記憶部から順に記憶する。例えば、第1始動口120に遊技球が入球したとき、特図保留記憶領域の第1〜第8記憶部のいずれにも保留が記憶されていない場合には、第1記憶部に特1保留を記憶する。また、例えば、第1記憶部〜第3記憶部に特1保留または特2保留が記憶されている状態で、第1始動口120に遊技球が入球した場合には、特1保留を第4記憶部に記憶する。なお、第2始動口122に遊技球が入球した場合にも、上記と同様に、第1記憶部〜第8記憶部の中で、特1保留および特2保留が記憶されていない、最も番号(序数)の小さい記憶部に特2保留が記憶される。
ただし、特図保留記憶領域に記憶可能な特1保留数(X1)および特2保留数(X2)は、それぞれ4つに設定されている。したがって、例えば、第1始動口120に遊技球が入球したときに、特図保留記憶領域に既に4つの特1保留が記憶されている場合には、当該第1始動口120への遊技球の入球によって新たに特1保留が記憶されることはない。同様に、第2始動口122に遊技球が入球したときに、特図保留記憶領域に既に4つの特2保留が記憶されている場合には、当該第2始動口122への遊技球の入球によって新たに特2保留が記憶されることはない。
図5は、大当たり決定乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0〜65535の範囲内から1つの大当たり決定乱数が取得される。そして、大役抽選を開始するとき、すなわち、大当たりの判定を行うときの遊技状態に応じて大当たり決定乱数判定テーブルが選択され、当該選択された大当たり決定乱数判定テーブルと取得された大当たり決定乱数とによって大役抽選が行われる。
低確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、図5(a)に示すように、低確時大当たり決定乱数判定テーブルが参照される。この低確時大当たり決定乱数判定テーブルによれば、大当たり決定乱数が10001〜10164であった場合に大当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/399.6となる。
また、高確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、図5(b)に示すように、高確時大当たり決定乱数判定テーブルが参照される。この高確時大当たり決定乱数判定テーブルによれば、大当たり決定乱数が10001〜10618であった場合に大当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/106となる。このように、高確率遊技状態である場合には、低確率遊技状態である場合に比べて、大当たり確率が約4倍となる。なお、低確率遊技状態において「大当たり」となる大当たり決定乱数(10001〜10164)は、高確率遊技状態においても「大当たり」となる。
図6は、当たり図柄乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0〜99の範囲内から1つの当たり図柄乱数が取得される。そして、上記の大役抽選により「大当たり」の判定結果が導出された場合に、取得している当たり図柄乱数と当たり図柄乱数判定テーブルとによって、特別図柄の種別が決定される。このとき、特1保留によって「大当たり」に当選した場合には、図6(a)に示すように、特1用当たり図柄乱数判定テーブルが選択され、特2保留によって「大当たり」に当選した場合には、図6(b)に示すように、特2用当たり図柄乱数判定テーブルが選択される。以下では、当たり図柄乱数によって決定される特別図柄、すなわち、大当たりの判定結果が得られた場合に決定される特別図柄を大当たり図柄とよび、ハズレの判定結果が得られた場合に決定される特別図柄をハズレ図柄とよぶ。
図6(a)に示す特1用当たり図柄乱数判定テーブル、および、図6(b)に示す特2用当たり図柄乱数判定テーブルによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄の種別(大当たり図柄)が決定される。特1用当たり図柄乱数判定テーブル、および、特2用当たり図柄乱数判定テーブルは、同一の大当たり図柄がそれぞれ決定されるものの、特別図柄の選択確率が異なるように構成されている。なお、特1用当たり図柄乱数判定テーブル、および、特2用当たり図柄乱数判定テーブルは、異なる大当たり図柄が決定されるものの、特別図柄の選択確率が異なるように構成されていてもよい。また、両テーブルは、保留種別を問わず、1の当たり図柄乱数判定テーブルを参照して特別図柄の種別(大当たり図柄)を決定してもよい。
また、大役抽選結果が「ハズレ」であった場合に、当該抽選結果が特1保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Xが決定され、当該抽選結果が特2保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Yが決定される。つまり、当たり図柄乱数判定テーブルは、大役抽選結果が「大当たり」であった場合にのみ参照され、大役抽選結果が「ハズレ」であった場合に参照されることはない。
図7は、リーチグループ決定乱数判定テーブルを説明する図である。このリーチグループ決定乱数判定テーブルは複数設けられており、保留種別や保留数、さらには遊技状態等に応じて、予め設定されたテーブルが選択される。第1始動口120または第2始動口122に遊技球が入球すると、0〜10006の範囲内から1つのリーチグループ決定乱数が取得される。上記のように、大役抽選結果が導出されると、当該大役抽選結果を報知する変動演出パターンを決定する処理が行われる。本実施形態では、大役抽選結果が「ハズレ」であった場合に、変動演出パターンを決定するにあたって、まず、リーチグループ決定乱数とリーチグループ決定乱数判定テーブルとによってグループ種別が決定される。
例えば、通常遊技状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの特1保留および特2保留の合計数(以下、単に「保留数」という)が0〜2個であれば、図7(a)に示すように、リーチグループ決定乱数判定テーブル1が選択される。同様に、通常遊技状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの保留数が3〜4個であれば、図7(b)に示すように、リーチグループ決定乱数判定テーブル2が選択され、保留数が5〜7個であれば、図7(c)に示すように、リーチグループ決定乱数判定テーブル3が選択される。なお、図7において、グループ種別の欄に記載しているグループxは、任意のグループ番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチグループ決定乱数判定テーブルの種類とに応じて、グループ種別として種々のグループ番号が決定されることとなる。
なお、ここでは、通常遊技状態において、特1保留に基づいて「ハズレ」の大役抽選結果が導出されたときに参照されるリーチグループ決定乱数判定テーブルについて説明したが、メインROM300bには、この他にも多数のリーチグループ決定乱数判定テーブルが記憶されている。
また、大役抽選結果が「大当たり」であった場合には、変動演出パターンを決定するにあたってグループ種別を決定することはない。つまり、リーチグループ決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合にのみ参照され、大役抽選結果が「大当たり」であった場合に参照されることはない。
図8は、リーチモード決定乱数判定テーブルを説明する図である。このリーチモード決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合に選択されるハズレ時リーチモード決定乱数判定テーブルと、大役抽選結果が「大当たり」であった場合に選択される大当たり時リーチモード決定乱数判定テーブルとに大別される。なお、ハズレ時リーチモード決定乱数判定テーブルは、上記のように決定されたグループ種別ごとに設けられており、大当たり時リーチモード決定乱数判定テーブルは、保留種別ごとに設けられている。また、各リーチモード決定乱数判定テーブルは、遊技状態や図柄の種別ごとにも設けられている。ここでは、所定の遊技状態および図柄種別において参照されるグループx用ハズレ時リーチモード決定乱数判定テーブルの一例を図8(a)に示し、特1用大当たり時リーチモード決定乱数判定テーブルの一例を図8(b)に示し、特2用大当たり時リーチモード決定乱数判定テーブルの一例を図8(c)に示す。
第1始動口120または第2始動口122に遊技球が入球すると、0〜250の範囲内から1つのリーチモード決定乱数が取得される。そして、上記の大役抽選の結果が「ハズレ」であった場合には、図8(a)に示すように、上記のグループ種別の抽選により決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルが選択され、選択されたハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。また、上記の大役抽選の結果が「大当たり」であった場合には、図8(b)、(c)に示すように、読み出された保留種別に対応する大当たり時リーチモード決定乱数判定テーブルが選択され、選択された大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。
また、各リーチモード決定乱数判定テーブルにおいては、リーチモード決定乱数に、変動モード番号とともに、後述する変動パターン乱数判定テーブルが対応付けられており、変動モード番号が決定されるのと同時に、変動パターン乱数判定テーブルが決定される。なお、図8において、変動パターン乱数判定テーブルの欄に記載しているテーブルxは、任意のテーブル番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチモード決定乱数判定テーブルの種類とに応じて、変動モード番号と、変動パターン乱数判定テーブルのテーブル番号とが決定されることとなる。また、本実施形態において、変動モード番号および後述する変動パターン番号は、16進数で設定されている。以下において、16進数を示す場合には「H」を付するが、図8〜図10に○○Hと記載しているのは、16進数で示される任意の値を示すものである。
以上のように、大役抽選結果が「ハズレ」であった場合には、まず、図7に示すリーチグループ決定乱数判定テーブルとリーチグループ決定乱数とによってグループ種別が決定される。そして、決定されたグループ種別と遊技状態に応じ、図8(a)に示すハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号および変動パターン乱数判定テーブルが決定される。
一方、大役抽選結果が「大当たり」であった場合には、決定された大当たり図柄(特別図柄の種別)、大当たり当選時の遊技状態等に応じ、図8(b)および図8(c)に示す大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号、変動パターン乱数判定テーブルが決定されることとなる。
図9は、変動パターン乱数判定テーブルを説明する図である。ここでは、所定のテーブル番号xの変動パターン乱数判定テーブルxを示すが、変動パターン乱数判定テーブルは、この他にも、テーブル番号ごとに多数設けられている。
第1始動口120または第2始動口122に遊技球が入球すると、0〜238の範囲内から1つの変動パターン乱数が取得される。そして、上記の変動モード番号と同時に決定された変動パターン乱数判定テーブルと、取得した変動パターン乱数とに基づいて、図示のように変動パターン番号が決定される。
このように、大役抽選が行われると、大役抽選結果、決定された図柄種別、遊技状態、保留数、保留種別等に応じて、変動モード番号、変動パターン番号が決定される。これら変動モード番号、変動パターン番号は、変動演出パターンを特定するものであり、そのそれぞれに、変動演出の態様および時間が対応付けられている。
図10は、変動時間決定テーブルを説明する図である。上記のように、変動モード番号が決定されると、図10(a)に示す変動時間1決定テーブルにしたがって変動時間1が決定される。この変動時間1決定テーブルによれば、変動モード番号ごとに変動時間1が対応付けられており、決定された変動モード番号に応じて、対応する変動時間1が決定される。
また、上記のように、変動パターン番号が決定されると、図10(b)に示す変動時間2決定テーブルにしたがって変動時間2が決定される。この変動時間2決定テーブルによれば、変動パターン番号ごとに変動時間2が対応付けられており、決定された変動パターン番号に応じて、対応する変動時間2が決定される。このようにして決定された変動時間1、2の合計時間が、大役抽選結果を報知する変動演出の時間、すなわち、変動時間となる。
以上のようにして変動モード番号が決定されると、当該決定された変動モード番号に対応する変動モードコマンドが副制御基板330に送信され、変動パターン番号が決定されると、当該決定された変動パターン番号に対応する変動パターンコマンドが副制御基板330に送信される。副制御基板330においては、受信した変動モードコマンドに基づいて、主に変動演出の前半の態様が決定され、受信した変動パターンコマンドに基づいて、主に変動演出の後半の態様が決定されることとなるが、その詳細については後述する。
図11は、特別電動役物作動ラムセットテーブルを説明する図である。この特別電動役物作動ラムセットテーブルは、大役遊技を制御するための各種データが記憶されたものであり、大役遊技中は、この特別電動役物作動ラムセットテーブルを参照して、開閉扉ソレノイド126c1、第1大入賞口ソレノイド126c2および第2大入賞口ソレノイド128cが通電制御される。なお、実際は、特別電動役物作動ラムセットテーブルは、大当たり図柄の種別ごとに複数設けられており、決定された大当たり図柄の種別に応じて、対応するテーブルが大役遊技の開始時にセットされるが、ここでは、説明の都合上、1つのテーブルに全ての大当たり図柄の制御データを示す。
特別図柄A〜Eが決定されると、図11に示すように、特別電動役物作動ラムセットテーブルを参照して大役遊技が実行される。大役遊技は、第1大入賞口126および第2大入賞口128が所定回数開閉される複数回のラウンド遊技で構成されている。この特別電動役物作動ラムセットテーブルによれば、オープニング時間(最初のラウンド遊技が開始されるまでの待機時間)、特別電動役物最大作動回数(1回の大役遊技中に実行されるラウンド遊技の回数)、開放大入賞口(各ラウンド遊技において開放される第1大入賞口126および第2大入賞口128)、特別電動役物開閉切替回数(1ラウンド遊技中の第1大入賞口126および第2大入賞口128の開放回数)、ソレノイド通電時間(第1大入賞口126および第2大入賞口128の開放回数ごとの開閉扉ソレノイド126c1、第1大入賞口ソレノイド126c2および第2大入賞口ソレノイド128cの通電時間、すなわち、1回の第1大入賞口126および第2大入賞口128の開放時間)、規定数(1回のラウンド遊技における第1大入賞口126および第2大入賞口128への最大入賞可能数)、大入賞口閉鎖有効時間(ラウンド遊技間の第1大入賞口126および第2大入賞口128の閉鎖時間、すなわち、ラウンド間インターバル時間)、大入賞口閉鎖有効時間(ラウンド遊技内の第1大入賞口126および第2大入賞口128の閉鎖時間、すなわち、ラウンド内インターバル時間)、エンディング時間(最後のラウンド遊技が終了してから、通常の特別遊技が再開されるまでの待機時間)が、大役遊技の制御データとして、大当たり図柄の種別ごとに、図示のように予め記憶されている。
大役抽選によって特別図柄A、B、C、Dが決定された場合には、9回のラウンド遊技が実行され、大役抽選によって特別図柄Eが決定された場合には、16回のラウンド遊技が実行される。大役抽選によって特別図柄Eが決定されると、他の特別図柄が決定された場合と比較して、大入賞口の開放回数が多く、かつ大役遊技全体の開放時間が長くなる。特2保留に基づいて大役抽選が行われた場合の方が、第1保留に基づいて大役抽選が行われた場合よりも、大役抽選によって特別図柄Eが決定される確率が高い(図6参照)。このため、特2保留に基づいて大役抽選が行われた場合の方が、第1保留に基づいて大役抽選が行われた場合よりも、多量の賞球を獲得することができる。
大役抽選によって特別図柄A、B、Cが決定された場合には、演出ラウンドとしての6回目のラウンド遊技において、第1大入賞口126が最長で0.1秒しか開放されないため、第1大入賞口126に遊技球を入球させることが極めて困難となっており、当該ラウンド遊技中に規定数の遊技球が入球されることはない。したがって、特別図柄AおよびBが決定された場合には、6回目のラウンド遊技が約75秒の遊技時間となり、特別図柄Cが決定された場合には、6回目のラウンド遊技が約105秒の遊技時間となる。
図12は、大役遊技の終了後の遊技状態を設定するための遊技状態設定テーブルを説明
する図である。図12に示すとおり、特別図柄Aが決定された場合には、大役遊技の終了後に低確率遊技状態に設定され、特別図柄B〜Eが決定された場合には、大役遊技の終了後に高確率遊技状態に設定されるとともに、高確率遊技状態の継続回数(以下、「高確回数」という)は10000回に設定される。これは、大役抽選結果が10000回確定するまでの間、高確率遊技状態が継続することを意味している。ただし、上記した高確回数は1の高確率遊技状態における最大継続回数を示すものであり、上記の継続回数に到達するまでの間に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。したがって、大役遊技の終了後に高確率遊技状態に設定された場合に、当該高確率遊技状態において大当たりの抽選結果が導出されることなく、ハズレの抽選結果が10000回導出されると、低確率遊技状態に遊技状態が変更されることとなる。
また、特別図柄A〜Eが決定された場合には、大役遊技の終了後に、次のようにして時短遊技状態または非時短遊技状態に設定される。すなわち、特別図柄Aが決定された場合には、大役遊技の終了後に非時短遊技状態に設定される。また、特別図柄D、Eが決定された場合には、大役遊技の終了後に時短遊技状態に設定され、このとき、時短遊技状態の継続回数(以下、「時短回数」という)は10000回に設定される。これは、大役抽選結果が10000回確定するまでの間、時短遊技状態が継続することを意味している。ただし、上記した時短回数は1の時短遊技状態における最大継続回数を示すものであり、上記の継続回数に到達するまでの間に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。
また、特別図柄Bが決定された場合、大当たり当選時の遊技状態が時短遊技状態であれば、大役遊技の終了後も時短遊技状態に設定されるとともに、時短回数は10000回に設定され、大当たり当選時の遊技状態が非時短遊技状態であれば、大役遊技の終了後も非時短遊技状態に設定される。また、特別図柄Cが決定された場合、大役遊技の終了後に時短遊技状態に設定されるが、大当たり当選時の遊技状態が時短遊技状態であれば、時短回数が10000回に設定され、大当たり当選時の遊技状態が非時短遊技状態であれば、時短回数が10回に設定される。なお、ここでは、大当たり図柄の種別と、大当たり当選時の遊技状態とに応じて、大役遊技の終了後の遊技状態および高確回数、時短回数を設定することとしたが、大当たり当選時の遊技状態を問わず、大当たり図柄の種別に応じてのみ、遊技状態や高確回数、時短回数を設定してもよい。
図13は、当たり決定乱数判定テーブルを説明する図である。遊技領域116を流下する遊技球がゲート124を通過すると、第2始動口122の可動片122aを通電制御するか否かが対応付けられた普通図柄の判定処理(以下、「普図抽選」という)が行われる。
なお、詳しくは後述するが、遊技球がゲート124を通過すると、0〜99の範囲内から1つの当たり決定乱数が取得されるとともに、この乱数値がメインRAM300cの普図保留記憶領域に4つを上限として記憶される。つまり、普図保留記憶領域は、当たり決定乱数をセーブする4つの記憶部を備えている。したがって、普図保留記憶領域の4つの記憶部全てに当たり決定乱数が記憶された状態で、遊技球がゲート124を通過した場合には、当該遊技球の通過に基づいて当たり決定乱数が記憶されることはない。以下では、ゲート124を遊技球が通過して普図保留記憶領域に記憶された当たり決定乱数を普図保留とよぶ。
非時短遊技状態において普図抽選を開始する場合には、図13(a)に示すように、非時短遊技状態用当たり決定乱数判定テーブルが参照される。この非時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が1〜99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、非時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は1/100となる。詳しくは後述するが、この普図抽選において当たり図柄が決定されると、第2始動口122が開状態に制御され、ハズレ図柄が決定された場合には、第2始動口122が閉状態に維持される。
また、時短遊技状態において普図抽選を開始する場合には、図13(b)に示すように、時短遊技状態用当たり決定乱数判定テーブルが参照される。この時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0〜98であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は99/100となる。
図14(a)は、普通図柄変動時間データテーブルを説明する図であり、図14(b)は、開閉制御パターンテーブルを説明する図である。上記のように、普図抽選が行われると、普通図柄の変動時間が決定される。普通図柄変動時間データテーブルは、普図抽選によって当たり図柄もしくはハズレ図柄が決定されたときに、当該普通図柄の変動時間を決定する際に参照されるものである。この普通図柄変動時間データテーブルによれば、遊技状態が非時短遊技状態に設定されている場合には変動時間が10秒に決定され、遊技状態が時短遊技状態に設定されている場合には変動時間が1秒に決定される。このようにして変動時間が決定されると、当該決定された時間にわたって普通図柄表示器168が変動表示(点滅表示)される。そして、当たり図柄が決定された場合には普通図柄表示器168が点灯し、ハズレ図柄が決定された場合には普通図柄表示器168が消灯する。
そして、普図抽選によって当たり図柄が決定されるとともに、普通図柄表示器168が点灯した場合には、第2始動口122の可動片122aが、図14(b)に示すように、開閉制御パターンテーブルを参照して通電制御される。なお、実際は、開閉制御パターンテーブルは、遊技状態ごとに設けられており、普通図柄が決定されたときの遊技状態に応じて、対応するテーブルが普通電動役物ソレノイド122cの通電開始時にセットされるが、ここでは、説明の都合上、1つのテーブルに各遊技状態に対応する制御データを示す。
当たり図柄が決定されると、図14(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始動口122に遊技球が入球しやすくなるように設定した。しかしながら、上記3つの要素のうち、1つまたは2つの要素のみについて、時短遊技状態の方が、非時短遊技状態よりも有利に設定してもよい。いずれにしても、時短遊技状態の方が非時短遊技状態に比べて、少なくとも1つの要素について有利となることで、総合的に時短遊技状態の方が、非時短遊技状態よりも第2始動口122に遊技球が容易に入球するようにすればよい。つまり、遊技状態が非時短遊技状態に設定されている場合に、第1の条件にしたがって可動片122aが開閉制御され、遊技状態が時短遊技状態に設定されている場合に、第1の条件よりも開状態になりやすい第2の条件にしたがって可動片122aが開閉制御されればよい。
次に、遊技機100における遊技の進行に伴う主制御基板300の主な処理について、フローチャートを用いて説明する。
(主制御基板300のCPU初期化処理)
図17は、主制御基板300におけるCPU初期化処理(S100)を説明するフローチャートである。
電源基板より電源が供給されると、メインCPU300aにシステムリセットが発生し、メインCPU300aは、以下のCPU初期化処理(S100)を行う。
(ステップS100−1)
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
(ステップS100−3)
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
(ステップS100−5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100−3に処理を移し、電源断予告信号を検出していない場合には、ステップS100−7に処理を移す。
(ステップS100−7)
メインCPU300aは、上記ステップS100−3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100−9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100−5に処理を移す。
(ステップS100−9)
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
(ステップS100−11)
メインCPU300aは、RAMクリア信号がオンしているか否かを判定する。なお、遊技盤108の背面には不図示のRAMクリアボタンが設けられており、このRAMクリアボタンが押圧操作されると、RAMクリア検出スイッチがRAMクリアボタンの押圧操作を検出して、主制御基板300にRAMクリア信号が出力される。ここでは、RAMクリアボタンが押圧操作された状態で電源が投入された場合に、RAMクリア信号がオンしていると判定される。そして、RAMクリア信号がオンしていると判定した場合にはステップS100−13に処理を移し、RAMクリア信号はオンしていないと判定した場合にはステップS100−19に処理を移す。
(ステップS100−13)
メインCPU300aは、メインRAM300cのうち、電源投入時(メインRAM300cをクリアするリセット時)にクリアすべきクリア対象のデータをクリアする初期化処理を行う。
(ステップS100−15)
メインCPU300aは、メインRAM300cがクリアされたことを副制御基板330に伝達するためのサブコマンド(RAMクリア指定コマンド)の送信処理を行う。
(ステップS100−17)
メインCPU300aは、メインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理を行う。
(ステップS100−19)
メインCPU300aは、チェックサムを算出するために必要な処理を実行する。
(ステップS100−21)
メインCPU300aは、上記ステップS100−19で算出したチェックサムが、電源断時に保存されたチェックサムと不一致であるかを判定する。その結果、両者が不一致であると判定した場合にはステップS100−13に処理を移し、両者が不一致ではない(一致する)と判定した場合にはステップS100−23に処理を移す。
(ステップS100−23)
メインCPU300aは、メインRAM300cのうち、電源復帰時(メインRAM300cをクリアせずに、電源断前のデータを維持するとき)にクリアすべきクリア対象のデータをクリアする初期化処理を行う。
(ステップS100−25)
メインCPU300aは、電源断から復帰したことを副制御基板330に伝達するためのサブコマンド(電源復帰指定コマンド)の送信処理を行う。
(ステップS100−27)
メインCPU300aは、電源断から復帰したことを払出制御基板310に伝達するための払出コマンド(電源復帰指定コマンド)の送信処理を行う。
(ステップS100−29)
メインCPU300aは、特別図柄の種別を示す電源投入時特図図柄種別指定コマンド、特1保留数(X1)を示す特1保留指定コマンド、特2保留数(X2)を示す特2保留指定コマンド、記憶されている特1保留および特2保留の入賞順序を示す特別図柄入賞順序コマンドを送信するための電源投入時サブコマンドセット処理を実行する。
(ステップS100−31)
メインCPU300aは、タイマ割込みの周期を設定する。
(ステップS100−33)
メインCPU300aは、割込みを禁止するための処理を行う。
(ステップS100−35)
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数−1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
(ステップS100−37)
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
(ステップS100−39)
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
(ステップS100−41)
メインCPU300aは、割込みを許可するための処理を行う。
(ステップS100−43)
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100−33から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
次に、主制御基板300における割込み処理について説明する。ここでは、電源断時退避処理(XINT割込み処理)およびタイマ割込み処理について説明する。
(主制御基板300の電源断時退避処理(XINT割込み処理))
図18は、主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、CPU初期化処理に割り込んで電源断時退避処理を実行する。
(ステップS300−1)
電源断予告信号が入力されると、メインCPU300aは、レジスタを退避する。
(ステップS300−3)
メインCPU300aは、電源断予告信号をチェックする。
(ステップS300−5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300−11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300−7に処理を移す。
(ステップS300−7)
メインCPU300aは、レジスタを復帰させる。
(ステップS300−9)
メインCPU300aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
(ステップS300−11)
メインCPU300aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
(ステップS300−13)
メインCPU300aは、チェックサムを算出して保存するチェックサム設定処理を実行する。
(ステップS300−15)
メインCPU300aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
(ステップS300−17)
メインCPU300aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
(ステップS300−19)
メインCPU300aは、電源断予告信号をチェックする。
(ステップS300−21)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300−17に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300−23に処理を移す。
(ステップS300−23)
メインCPU300aは、上記ステップS300−17でセットしたループカウンタの値を1減算する。
(ステップS300−25)
メインCPU300aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS300−19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS100)に移行する。
なお、実際に電源断が生じた場合には、ステップS300−17〜ステップS300−25をループしている間に遊技機100の稼働が停止する。
(主制御基板300のタイマ割込み処理)
図17は、主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(本実施形態では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
(ステップS400−1)
メインCPU300aは、レジスタを退避する。
(ステップS400−3)
メインCPU300aは、割込みを許可するための処理を行う。
(ステップS400−5)
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172を点灯制御するダイナミックポート出力処理を実行する。
(ステップS400−7)
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(ステップS400−9)
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
(ステップS400−11)
メインCPU300aは、上記ステップS100−35と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
(ステップS400−13)
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
なお、詳しい説明は省略するが、本実施形態では、大当たり決定乱数および当たり決定乱数は、主制御基板300に内蔵されたハードウェア乱数生成部によって更新されるハードウェア乱数を用いている。ハードウェア乱数生成部は、大当たり決定乱数および当たり決定乱数を、いずれも一定の規則にしたがって更新し、乱数列が一巡するごとに自動的に乱数列を変更するとともに、システムリセット毎にスタート値を変更している。
(ステップS500)
メインCPU300aは、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、ゲート検出スイッチ124s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128s、特定領域検出スイッチ140sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
(ステップS600)
メインCPU300aは、上記の特別遊技を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
(ステップS700)
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
(ステップS400−15)
メインCPU300aは、各種エラーや異常の発生有無の判定および判定結果に応じた設定を行うためのエラー管理処理を実行する。具体的には、メインCPU300aは、異常検知センサ174からの異常検知信号の入力に基づいて各種エラーや異常が発生していると判定すると、発生したエラーに対応するエラーコマンドを送信バッファにセットする。メインCPU300aは、複数のエラーが発生していると判定した場合は、発生したエラーの数だけエラーコマンドをセットする。なお、各始動入賞口および各大入賞口の検出スイッチで不正な入賞や過度の入賞等のエラーが検出された場合は、上記ステップS500のスイッチ管理処理および上記ステップS600の特別遊技管理処理の一部で所定のエラー処理が実行され、エラーコマンドが送信バッファにセットされる。
なお、各始動入賞口および各大入賞口の検出スイッチが検出するエラーについて、発生し得るエラーに対応するエラーフラグを設けてもよい。この場合、ステップS500のスイッチ管理処理および上記ステップS600の特別遊技管理処理等におけるエラー検出時に対応するエラーフラグをオン状態としておき、ステップS400−15のエラー管理処理でエラーフラグの状態を確認してオン状態となっているエラーフラグに基づいてエラーコマンドのセットを行うようにしてもよい。
(ステップS400−17)
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sのチェックを行い、該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
(ステップS400−19)
メインCPU300aは、上記ステップS400−17でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
(ステップS400−21)
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。各種エラーや異常が発生していると判定している場合は、当該外部情報管理処理において、各種エラーや異常の発生を示す外部情報が遊技情報出力端子板312を介して、例えば遊技場のホールコンピュータ等の外部装置に出力される。
(ステップS400−23)
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するためのコモンデータをコモン出力バッファにセットするLED表示設定処理を実行する。
(ステップS400−25)
メインCPU300aは、普通電動役物ソレノイド122c、開閉扉ソレノイド126c1、第1大入賞口ソレノイド126c2、第2大入賞口ソレノイド128cおよび可動部材駆動ソレノイド142cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。
(ステップS400−27)
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
(ステップS400−29)
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
以下に、上記したタイマ割込み処理のうち、ステップS500のスイッチ管理処理、ステップS600の特別遊技管理処理、ステップS700の普通遊技管理処理について、詳細に説明する。
図18は、主制御基板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は、大入賞口検出スイッチオン検出時であるか、すなわち、第1大入賞口126および第2大入賞口128に遊技球が入球して第1大入賞口検出スイッチ126sおよび第2大入賞口検出スイッチ128sのいずれか一方から検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS500−9に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理を終了する。
(ステップS500−9)
メインCPU300aは、現在、大役遊技中であるか否かを判定し、第1大入賞口126および第2大入賞口128への遊技球の入球が適正になされたものであるかを判定する。ここでは、大役遊技中ではないと判定した場合には、所定の不正検出処理を実行し、大役遊技中であり、第1大入賞口126および第2大入賞口128への遊技球の入球が適正になされたと判定した場合には、大入賞口入賞球数カウンタを1加算して、当該スイッチ管理処理を終了する。
図19は、主制御基板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は、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットし、当該ゲート通過処理を終了する。
図20は、主制御基板300における第1始動口通過処理(ステップS520)を説明するフローチャートである。
(ステップS520−1)
メインCPU300aは、特別図柄識別値として「00H」をセットする。なお、特別図柄識別値は、保留種別として特1保留および特2保留のいずれであるかを識別するためのもので、特別図柄識別値(00H)は特1保留を示し、特別図柄識別値(01H)は特2保留を示す。
(ステップS520−3)
メインCPU300aは、特別図柄1保留球数カウンタのアドレスをセットする。
(ステップS535)
メインCPU300aは、特別図柄乱数取得処理を実行して、当該第1始動口通過処理を終了する。なお、この特別図柄乱数取得処理は、第2始動口通過処理(ステップS530)と共通のモジュールを利用して実行される。したがって、特別図柄乱数取得処理の詳細は、第2始動口通過処理の説明後に説明する。
図21は、主制御基板300における第2始動口通過処理(ステップS530)を説明するフローチャートである。
(ステップS530−1)
メインCPU300aは、特別図柄識別値として「01H」をセットする。
(ステップS530−3)
メインCPU300aは、特別図柄2保留球数カウンタのアドレスをセットする。
(ステップS535)
メインCPU300aは、後述する特別図柄乱数取得処理を実行する。
(ステップS530−5)
メインCPU300aは、普通遊技管理フェーズをロードする。なお、詳しくは後述するが、普通遊技管理フェーズは、普通遊技の実行処理の段階、すなわち、普通遊技の進行状況を示すものであり、普通遊技の実行処理の段階に応じて更新される。
(ステップS530−7)
メインCPU300aは、上記ステップS530−5でロードした普通遊技管理フェーズが「04H」ではないかを判定する。なお、普通遊技管理フェーズの「04H」は、普通電動役物入賞口開放制御処理中であることを示すものである。この普通電動役物入賞口開放制御処理においては、普通電動役物ソレノイド122cが通電されて可動片122aが開状態に制御されることから、ここでは、第2始動口122が適正に開放され得る状態にあるかを判定することとなる。その結果、普通遊技管理フェーズが「04H」ではないと判定した場合には当該第2始動口通過処理を終了し、普通遊技管理フェーズが「04H」であると判定した場合にはステップS530−9に処理を移す。
(ステップS530−9)
メインCPU300aは、普通電動役物入賞球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該第2始動口通過処理を終了する。
図22は、主制御基板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は、特図保留記憶領域の8つの記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
(ステップS535−13)
メインCPU300aは、上記ステップS535−5でロードした大当たり決定乱数、上記ステップS400−13で更新された当たり図柄乱数、上記ステップS100−43で更新されたリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を取得し、上記ステップ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でロードした普通遊技管理フェーズを確認し、後述する普通電動役物入賞口開放制御状態未満であるかを判定する。その結果、普通電動役物入賞口開放制御状態未満であると判定した場合にはステップS535−27に処理を移し、普通電動役物入賞口開放制御状態未満ではないと判定した場合には当該特別図柄乱数取得処理を終了する。
(ステップS535−27)
メインCPU300aは、異常入賞があったか否かを判定するとともに、異常入賞があったと判定した場合には、所定の処理を行う始動口異常入賞エラー処理を実行する。始動口異常入賞エラー処理では、例えばメインCPU300aは、始動口異常入賞エラーが検出されたことを副制御基板330に伝達するためのエラーコマンドを送信バッファにセットする。始動口異常入賞エラー処理を実行すると、メインCPU300aは、当該特別図柄乱数取得処理(ステップS535)を終了する。
図23は、特別遊技管理フェーズを説明する図である。既に説明したとおり、本実施形態では、第1始動口120または第2始動口122への遊技球の入球を契機とする特別遊技と、ゲート124への遊技球の通過を契機とする普通遊技とが、同時並行して進行する。特別遊技に係る処理は、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした特別遊技に係る各処理を特別遊技管理フェーズによって管理している。
図23に示すように、メインROM300bには、特別遊技を実行制御するための複数の特別遊技制御モジュールが格納されており、これら特別遊技制御モジュールごとに、特別遊技管理フェーズが対応付けられている。具体的には、特別遊技管理フェーズが「00H」である場合には、「特別図柄変動待ち処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「01H」である場合には、「特別図柄変動中処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「02H」である場合には、「特別図柄停止図柄表示処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「03H」である場合には、「大入賞口開放前処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「04H」である場合には、「大入賞口開放制御処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「05H」である場合には、「大入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「06H」である場合には、「大入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。
図24は、主制御基板300における特別遊技管理処理(ステップS600)を説明するフローチャートである。
(ステップS600−1)
メインCPU300aは、特別遊技管理フェーズをロードする。
(ステップS600−3)
メインCPU300aは、上記ステップS600−1でロードした特別遊技管理フェーズに対応する特別遊技制御モジュールを選択する。
(ステップS600−5)
メインCPU300aは、上記ステップS600−3で選択した特別遊技制御モジュールをコールして処理を開始する。
(ステップS600−7)
メインCPU300aは、特別遊技の制御時間を管理する特別遊技タイマをロードし、当該特別遊技管理処理を終了する。
図25は、主制御基板300における特別図柄変動待ち処理を説明するフローチャートである。この特別図柄変動待ち処理は、特別遊技管理フェーズが「00H」であった場合に実行される。
(ステップS610−1)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値の合計、すなわち、特1保留数(X1)および特2保留数(X2)の合計値を確認する。
(ステップS610−3)
メインCPU300aは、上記ステップS610−1で確認した合計値が「0」でないかを判定する。その結果、合計値が「0」ではないと判定した場合にはステップS610−7に処理を移し、合計値は「0」であると判定した場合にはステップS610−5に処理を移す。
(ステップS610−5)
メインCPU300aは、保留が途切れると客待ちコマンドを送信バッファにセットするとともに、客待ち状態に設定するための客待ち設定処理を実行し、当該特別図柄変動待ち処理を終了する。なお、客待ちコマンドは、保留が途切れた際に1度だけ送信される。
(ステップS610−7)
メインCPU300aは、特図保留記憶領域の第1記憶部〜第8記憶部に記憶されている特1保留および特2保留を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部〜第8記憶部に記憶されている特1保留および特2保留を、第1記憶部〜第7記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている特1保留および特2保留を、第0記憶部にブロック転送する。なお、この特別図柄記憶エリアシフト処理においては、第0記憶部に転送された保留種別に対応する対象特別図柄保留球数カウンタのカウンタ値を「1」減算するとともに、特1保留または特2保留が「1」減算したことを示す、保留減指定コマンドを送信バッファにセットする。さらに、ここでは、特図保留記憶領域に記憶されている特1保留および特2保留の入賞順序を更新して記憶する。
(ステップ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」に更新し、当該特別図柄変動待ち処理を終了する。
図26は、主制御基板300における特別図柄変動番号決定処理を説明するフローチャートである。
(ステップS611−1)
メインCPU300aは、上記ステップS610−9における大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS611−3に処理を移し、大当たりではない(ハズレである)と判定した場合にはステップS611−5に処理を移す。
(ステップS611−3)
メインCPU300aは、リーチグループ決定乱数判定テーブルをセットする。
(ステップS611−5)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値の合計、すなわち、特1保留数(X1)および特2保留数(X2)の合計値を確認する。
(ステップS611−7)
メインCPU300aは、現在の遊技状態、上記ステップS611−5で確認した合計値、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
(ステップS611−9)
メインCPU300aは、リーチグループ決定乱数判定テーブルをセットする。
(ステップS611−11)
メインCPU300aは、上記ステップS611−3または上記ステップS611−9でセットしたリーチグループ決定乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
(ステップS611−13)
メインCPU300aは、上記ステップS611−11で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
(ステップS611−15)
メインCPU300aは、上記ステップS611−11で決定した変動パターン乱数判定テーブルと、上記ステップS610−7で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
(ステップS611−17)
メインCPU300aは、上記ステップS611−15で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
図27は、主制御基板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は、特別図柄を停止表示する時間である特別図柄変動停止時間を特別遊技タイマにセットし、当該特別図柄変動中処理を終了する。
図28は、主制御基板300における特別図柄停止図柄表示処理を説明するフローチャートである。この特別図柄停止図柄表示処理は、特別遊技管理フェーズが「02H」であった場合に実行される。
(ステップS630−1)
メインCPU300aは、上記ステップS620−21でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該特別図柄停止図柄表示処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS630−3に処理を移す。
(ステップS630−3)
メインCPU300aは、大役抽選の結果を確認する。
(ステップS630−5)
メインCPU300aは、大役抽選の結果が大当たりであるかを判定する。その結果、大当たりであると判定した場合にはステップS630−15に処理を移し、大当たりではないと判定した場合にはステップS630−7に処理を移す。
(ステップS630−7)
メインCPU300aは、回数切り管理処理を実行する。ここでは、特別図柄確率状態フラグをロードして、現在の遊技状態が低確率遊技状態であるか高確率遊技状態であるかを確認する。そして、遊技状態が高確率遊技状態であった場合には、高確回数切りカウンタのカウンタ値を、現在のカウンタ値から「1」減算した値に更新する。なお、高確回数切りカウンタを更新した結果、カウンタ値が「0」になった場合には、低確率遊技状態に対応する特別図柄確率状態フラグをセットする。これにより、高確率遊技状態において、大当たりに当選することなく、特別図柄が所定回数確定したところで、遊技状態が低確率遊技状態に移行することとなる。
また、ここでは、遊技状態が非時短遊技状態であるか時短遊技状態であるかを識別するための普通図柄時短状態フラグをロードして、現在の遊技状態が非時短遊技状態であるか時短遊技状態であるかを確認する。そして、遊技状態が時短遊技状態であった場合には、時短回数切りカウンタのカウンタ値を、現在のカウンタ値から「1」減算した値に更新する。なお、時短回数切りカウンタを更新した結果、カウンタ値が「0」になった場合には、非時短遊技状態に対応する普通図柄時短状態フラグをセットする。これにより、時短遊技状態において、大当たりに当選することなく、特別図柄が所定回数確定したところで、遊技状態が非時短遊技状態に移行することとなる。
(ステップS630−9)
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
(ステップS630−11)
メインCPU300aは、上記ステップS630−7で更新した高確回数および時短回数を副制御基板330に伝達するための回数コマンドを送信バッファにセットする。
(ステップS630−13)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、1の保留に基づく特別遊技管理処理が終了し、特1保留または特2保留が記憶されている場合には、次の保留に基づく特別図柄の変動表示を開始するための処理が行われることとなる。
(ステップS630−15)
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。
(ステップS630−17)
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630−15でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
(ステップS630−19)
メインCPU300aは、上記ステップS630−15でセットしたデータを参照し、特別遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
(ステップS630−21)
メインCPU300aは、大役遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。
(ステップS630−23)
メインCPU300aは、特別遊技管理フェーズを「03H」に更新し、当該特別図柄停止図柄表示処理を終了する。これにより、大役遊技が開始されることとなる。
図29は、主制御基板300における大入賞口開放前処理を説明するフローチャートである。この大入賞口開放前処理は、特別遊技管理フェーズが「03H」であった場合に実行される。
(ステップS640−1)
メインCPU300aは、特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS640−3に処理を移す。
(ステップS640−3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(ステップS640−5)
メインCPU300aは、第1大入賞口126および第2大入賞口128の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
(ステップS641)
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
(ステップS640−7)
メインCPU300aは、特別遊技管理フェーズを「04H」に更新し、当該大入賞口開放前処理を終了する。
図30は、主制御基板300における大入賞口開閉切替処理を説明するフローチャートである。
(ステップS641−1)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における第1大入賞口126および第2大入賞口128の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS641−3に処理を移す。
(ステップS641−3)
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cを通電制御するためのソレノイド制御データと、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電時間または通電停止時間であるタイマデータとを抽出する。
(ステップS641−5)
メインCPU300aは、上記ステップS641−3で抽出したソレノイド制御データに基づいて、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電を開始するか、または、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400−25およびステップS400−27において、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電開始または通電停止の制御がなされることとなる。
(ステップS641−7)
メインCPU300aは、上記ステップS641−3で抽出したタイマデータに基づくタイマ値を、特別遊技タイマにセーブする。なお、ここで特別遊技タイマにセーブされるタイマ値は、第1大入賞口126および第2大入賞口128の1回の最大開放時間となる。
(ステップS641−9)
メインCPU300aは、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS641−5において、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS641−11に処理を移し、通電開始状態ではないと判定した場合には当該大入賞口開閉切替処理を終了する。
(ステップS641−11)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該大入賞口開閉切替処理を終了する。
図31は、主制御基板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で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第1大入賞口126または第2大入賞口128に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS650−7に処理を移す。
(ステップS650−7)
メインCPU300aは、開閉扉ソレノイド126c1および第1大入賞口ソレノイド126c2並びに第2大入賞口ソレノイド128cの通電を停止して第1大入賞口126および第2大入賞口128を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、第1大入賞口126および第2大入賞口128が閉鎖状態となる。
(ステップS650−9)
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別遊技タイマにセーブする。
(ステップS650−11)
メインCPU300aは、特別遊技管理フェーズを「05H」に更新する。
(ステップS650−13)
メインCPU300aは、第1大入賞口126および第2大入賞口128が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
図32は、主制御基板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は、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
図33は、主制御基板300における大入賞口終了ウェイト処理を説明するフローチャートである。この大入賞口終了ウェイト処理は、特別遊技管理フェーズが「06H」であった場合に実行される。
(ステップS670−1)
メインCPU300aは、上記ステップS660−9でセーブした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS670−3に処理を移す。
(ステップS670−3)
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、ステップS610−17でセーブした特別図柄確率状態予備フラグおよび高確回数切り予備カウンタをロードして、状態データをセーブする。また、ここでは、特別図柄(大当たり図柄)の種別に応じて、普通図柄時短状態フラグおよび時短回数切りカウンタに所定の状態データをセーブする。
(ステップS670−5)
メインCPU300aは、大役遊技の終了後に設定される遊技状態を伝達するための遊技状態変化指定コマンドを送信バッファにセットする。
(ステップS670−7)
メインCPU300aは、上記ステップS670−3でセーブした高確回数および時短回数に対応する回数コマンドを送信バッファにセットする。
(ステップS670−9)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、特別図柄の変動表示が再開されることとなる。
既に説明したとおり、本実施形態では、ゲート124への遊技球の通過を契機とする普通遊技に係る処理が、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした普通遊技に係る各処理を普通遊技管理フェーズによって管理している。
メインROM300bには、普通遊技を実行制御するための複数の普通遊技制御モジュールが格納されており、これら普通遊技制御モジュールごとに、普通遊技管理フェーズが対応付けられている。具体的には、普通遊技管理フェーズが「00H」である場合には、「普通図柄変動待ち処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「01H」である場合には、「普通図柄変動中処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「02H」である場合には、「普通図柄停止図柄表示処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「03H」である場合には、「普通電動役物入賞口開放前処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「04H」である場合には、「普通電動役物入賞口開放制御処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「05H」である場合には、「普通電動役物入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「06H」である場合には、「普通電動役物入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。
ここで、普通遊技制御モジュールの各処理について説明する。本実施形態では、主制御基板300における普通遊技管理処理において、メインCPU300aは、普通遊技管理フェーズをロードし、ロードした普通遊技管理フェーズに対応する普通遊技制御モジュールを選択する。
主制御基板300における普通遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「00H」をロードし普通遊技制御モジュールとして普通図柄変動待ち処理を選択したら、普図保留が「0」であるかを判定し、「0」と判定したら普通図柄変動待ち処理を終了する。一方、メインCPU300aは、普図保留が「0」でないと判定したら、普図保留記憶領域の第1記憶部に記憶されていた普図保留(当り決定乱数)について普図抽選を行う普通図柄当り判定処理、普図抽選の結果に対応し最終的に普通図柄表示器168を点灯するか否かを示す普通図柄停止図柄番号の設定処理、普通図柄変動時間を決定する普通図柄変動時間の決定処理、普通図柄の変動表示を開始するための普通図柄表示図柄カウンタの設定処理、普通図柄当たり判定処理によって決定された図柄種別(当たり図柄またはハズレ図柄)に基づく普通図柄指定コマンドの送信バッファへの設定処理などを実行する。また、メインCPU300aは、普通遊技管理フェーズを「01H」に更新し、当該普通図柄変動待ち処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「01H」をロードし普通遊技制御モジュールとして普通図柄変動中処理を選択したら、普通遊技タイマのタイマ値が「0」であるかを判定する。メインCPU300aは、普通遊技タイマのタイマ値が「0」でないと判定したら、普通図柄表示器168の点灯および消灯を繰り返えすために、普通図柄表示図柄カウンタのカウンタ値(普通図柄表示器168の消灯または点灯を示すカウンタ値)の更新設定処理を実行し、普通図柄変動待ち処理を終了する。普通図柄表示図柄カウンタが消灯を示すカウンタ値と点灯を示すカウンタ値とが交互に更新設定されることにより、普通図柄表示器168は、普通図柄変動時間にわたって、所定時間おきに点灯、消灯を繰り返す(点滅する)こととなる。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定したら、普通図柄表示図柄カウンタに、普通図柄表示待ち処理において決定していた普通図柄停止図柄番号(カウンタ値)をセーブする。これにより、普図抽選の結果が報知されることとなる。また、メインCPU300aは、普通図柄を停止表示する時間である普通図柄変動停止時間の設定処理や普通図柄の停止表示が開始されたことを示す普図停止指定コマンドの送信バッファへの設定処理などを実行し、さらに、普通遊技管理フェーズを「02H」に更新し、当該普通図柄変動中処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「02H」をロードし普通遊技制御モジュールとして普通図柄停止図柄表示処理を選択したら、普通遊技タイマのタイマ値が「0」でないかを判定し、普通遊技タイマのタイマ値が「0」でないと判定したら普通図柄停止図柄表示処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定し、普図抽選の結果が当たりではない(ハズレである)と判定したら普通遊技管理フェーズを「00H」に更新して普通図柄停止図柄表示処理を終了する。また、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定し、普図抽選の結果が当たりであると判定したら普通遊技タイマのタイマ値として普電開放前時間をセーブするとともに普通遊技管理フェーズを「03H」に更新して普通図柄停止図柄表示処理を終了する。これにより、第2始動口122の開閉制御が開始されることとなる。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「03H」をロードし普通遊技制御モジュールとして普通電動役物入賞口開放前処理を選択したら、普通遊技タイマのタイマ値が「0」でないかを判定し、このタイマ値が「0」でないと判定したら普通電動役物入賞口開放前処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定したら、普通電動役物入賞口開閉切替処理を実行する。普通電動役物入賞口開閉切替処理において、メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における第2始動口122の可動片122aの開閉回数)の上限値であると判定すると普通電動役物入賞口開閉切替処理を終了する。一方、当メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が普通電動役物開閉切替回数の上限値でないと判定すると、普通電動役物ソレノイド122cの通電開始または通電停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、普通電動役物ソレノイド122cの通電開始または通電停止の制御がなされることとなる。
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、第2始動口122の1回の最大開放時間となるタイマ値を普通遊技タイマにセーブする。メインCPU300aは、上述の普通電動役物ソレノイド通電制御処理において普通電動役物ソレノイド122cの通電開始制御処理を実行したと判定したら普通電動役物開閉切替回数カウンタのカウンタ値を現在のカウンタ値に「1」加算した値に更新して普通電動役物入賞口開閉切替処理を終了し、普通電動役物ソレノイド122cの通電開始制御処理を実行していないと判定したら普通電動役物開閉切替回数カウンタのカウンタ値を更新せずに普通電動役物入賞口開閉切替処理を終了する。
メインCPU300aは、普通電動役物入賞口開閉切替処理を終了したら、普通遊技管理フェーズを「04H」に更新し、普通電動役物入賞口開放前処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「04H」をロードし普通遊技制御モジュールとして普通電動役物入賞口開放制御処理を選択したら、普通電動役物入賞開閉切替処理においてセーブした普通遊技タイマのタイマ値が「0」であるか否かを判定し、このタイマ値が「0」であると判定したら、普通電動役物開閉切替回数カウンタのカウンタ値が普通電動役物開閉切替回数の上限値であるかを判定する。その結果、メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が上限値であると判定したら後述する普通電動役物閉鎖処理を実行し、当該カウンタ値が上限値でないと判定したら上述の普通電動役物入賞開閉切替処理を実行する。
一方、メインCPU300aは、普通電動役物入賞開閉切替処理においてセーブした普通遊技タイマのタイマ値が「0」でないと判定したら、上述の第2始動口通過処理で更新された普通電動役物入賞球数カウンタのカウンタ値が規定数に到達し、1回の開閉制御中の最大入賞可能数と同数の遊技球が第2始動口122に入球しているかを判定し、入球数が規定数に到達していないと判定したら普通電動役物入賞口開放制御処理を終了する。一方、メインCPU300aは、入球数が規定数に到達していると判定したら、第2始動口122を閉鎖状態とするために、普通電動役物ソレノイド122cの通電を停止して第2始動口122を閉鎖するために必要な普通電動役物閉鎖処理を実行し、普電有効状態時間を普通遊技タイマにセーブするとともに、普通遊技管理フェーズを「05H」に更新して普通電動役物入賞口開放制御処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「05H」をロードし普通遊技制御モジュールとして普通電動役物入賞口閉鎖有効処理を選択したら、上述の普通電動役物入賞口開放制御処理でセーブした普通遊技タイマのタイマ値が「0」でないかを判定し、普通遊技タイマのタイマ値が「0」ではないと判定したら普通電動役物入賞口閉鎖有効処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定したら、普電終了ウェイト時間を普通遊技タイマにセーブし、普通遊技管理フェーズを「06H」に更新して普通電動役物入賞口閉鎖有効処理を終了する。
主制御基板300における普図遊技管理処理において、メインCPU300aは、普通遊技管理フェーズとして「06H」をロードし普通遊技制御モジュールとして普通電動役物入賞口終了ウェイト処理を選択したら、上述の普通電動役物入賞口閉鎖有効処理でセーブした普通遊技タイマのタイマ値が「0」でないかを判定し、普通遊技タイマのタイマ値が「0」ではないと判定したら普通電動役物入賞口終了ウェイト処理を終了する。
一方、メインCPU300aは、普通遊技タイマのタイマ値が「0」であると判定したら、普通遊技管理フェーズを「00H」に更新して普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。
以上のように、主制御基板300において各種の処理が実行されることにより、特別遊技および普通遊技が進行することとなるが、こうした遊技の進行中には、主制御基板300から送信されるコマンドに基づいて、副制御基板330において、さまざまな演出を実行するための制御が行われる。以下では、副制御基板330における処理および遊技機100における演出役物装置202および押下ボタン208a(以降、「可動体」と総称する場合がある)の動作制御について説明する。
(演出の一例)
まず変動演出の一例としてリーチなしパターンの変動演出の一例を説明する。上記のように、主制御基板300において大役抽選が行われると、特別図柄の変動表示中、すなわち、特別図柄の変動時間に亘って、大役抽選結果を報知する変動演出が実行される。この変動演出においては、演出表示部200aにおいて種々の背景画像が表示されるとともに、この背景画像に重畳して、演出図柄210a、210b、210cが変動表示(スクロール表示)される。そして、最終的に演出表示部200aに停止表示された演出図柄210a、210b、210cの組み合わせ表示態様によって、大役抽選結果が遊技者に報知されることとなる。なお、変動演出中は、演出表示部200aに表示される画像に伴って、音声出力装置206から音声が出力されるとともに、演出照明装置204が点灯制御され、また、演出役物装置202が可動制御される。
本実施形態の変動演出は、リーチなしパターン、リーチ変動パターンに大別される。リーチなしパターンの変動演出では、演出表示部200aに背景画像(図示を省略)が表示されるとともに、この背景画像に演出図柄210a、210b、210cが重畳して変動表示される。例えば、大役抽選結果がハズレであったことを示す組み合わせで演出図柄210a、210b、210cが停止表示されているとする。この状態で、新たに特別図柄の変動表示が行われると、当該特別図柄の変動表示の開始に伴って、3つの演出図柄210a、210b、210cが変動表示(縦方向のスクロール表示)を開始する。
そして、まず、演出図柄210aが停止表示され、その後、演出図柄210aと異なる図柄態様で演出図柄210cが停止表示される。そして、特別図柄の変動表示が終了して、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示するのとほぼ同じタイミングで、演出図柄210bが停止表示され、このとき停止表示されている3つの演出図柄210a、210b、210cの組み合わせによって、大役抽選結果が遊技者に報知される。
なお、本実施形態では、大当たり当選時には、3つの演出図柄210a、210b、210cが全て同一の図柄態様で停止表示され、その後に特別遊技が実行される。一方、大役抽選結果がハズレであった場合には、3つの演出図柄210a、210b、210cが全て同一の図柄態様で停止表示されることはない。
次に、リーチ変動パターンの変動演出の一例を説明する。リーチ変動パターンの変動演出では、例えば、特別図柄の変動表示の開始に伴って、演出図柄210a、210b、210cの変動表示が開始された後、演出図柄210aが停止表示される。その後、演出図柄210cが停止表示される。このとき、演出図柄210cは、演出図柄210aと同一の図柄態様で停止表示される。
このように、演出表示部200aにおいて、演出図柄210a、210cが特定態様(同一の図柄態様)、所謂「リーチ態様」で表示されると、演出図柄210a、210b、210cの形状を、特定態様になる前と異にして変動表示が継続される。そして、その後、演出表示部200aには、所定の動画(リーチ発展演出)が再生表示されるとともに、最終的に、演出図柄210a、210b、210cが停止表示されて大役抽選結果が遊技者に報知されることとなる。
なお、詳しい説明は省略するが、本実施形態では、変動演出の態様を分類するための演出モードが複数設けられている。副制御基板330においては、これら複数の演出モードの中から、主制御基板300で設定されている遊技状態等に応じて、いずれかの演出モードが設定され、当該設定されている演出モードに対応する変動演出の態様が決定される。具体的には、演出表示部200aに表示される背景画像や、演出図柄210a、210b、210cの表示パターン等が、演出モードごとに多数設けられている。そして、変動演出の態様を決定する際には、設定されている演出モードを参照するとともに、当該設定中の演出モードに対応する背景画像や演出図柄210a、210b、210cの表示パターンの中から、いずれかの表示パターンが決定される。したがって、演出表示部200aには、主制御基板300において設定されている遊技状態に応じて異なる画像が表示されることとなり、遊技者は、演出表示部200aに表示される画像によって、現在の遊技状態、例えば、高確率遊技状態であるか低確率遊技状態であるかを把握することが可能となる。
(演出決定テーブルの一例)
次に、上記の変動演出の態様の決定方法について説明する。図34(a)は、前半変動演出決定テーブルを説明する図であり、図34(b)は、後半変動演出決定テーブルを説明する図である。本実施形態では、変動モード番号(変動モードコマンド)に基づいて前半の変動演出(以下、「前半変動演出」という)の態様が決定され、変動パターン番号(変動パターンコマンド)に基づいて後半の変動演出(以下、「後半変動演出」という)の態様が決定される。具体的には、リーチ変動パターンの変動演出においては、所定の動画(リーチ発展演出)が再生表示されるまでの変動演出の態様(演出表示部200aに表示される画像パターン)が、変動モード番号(変動モードコマンド)に基づいて決定され、動画(リーチ発展演出)の画像パターンが、変動パターン番号(変動パターンコマンド)に基づいて決定される。
なお、リーチなし変動パターンの変動演出は、前半変動演出が実行されないことを示す変動モード番号(変動モードコマンド)と、所定の変動パターン番号(変動パターンコマンド)とが決定された場合に実行される。例えば、前半変動演出が実行されないことを示す「00H」の変動モード番号に対応する変動モードコマンドを受信すると、副制御基板330では、必ず、前半変動演出の態様として「なし」が決定される。また、同時に受信した変動パターンコマンドに基づいて、開始から終了までの変動演出の態様が決定される。
図34(a)に示すように、副制御基板330のサブROM330bには、受信し得る変動モードコマンド(変動モード番号)のそれぞれに、前半変動演出の態様が対応付けられた前半変動演出決定テーブルが記憶されている。この前半変動演出決定テーブルは、演出モードごとに設けられており、副制御基板330では、変動モードコマンドを受信すると、0〜249の範囲から1の演出乱数を取得するとともに、現在設定されている演出モードに対応する前半変動演出決定テーブルをセットする。そして、取得した演出乱数および変動モードコマンド(変動モード番号)に基づいて、前半変動演出の態様が決定される。
なお、図34(a)において、変動モード番号と前半変動演出の態様とが対応付けられた各選択領域に記された数字は、当該選択領域に割り振られた乱数の範囲、すなわち、当該選択領域の選択比率を示している。例えば、変動モード番号=00Hに対応する変動モードコマンドを受信した場合には、前半変動演出の態様として、必ず、「なし」が決定され、変動モード番号=01Hに対応する変動モードコマンドを受信した場合には、前半変動演出の態様として、必ず、「リーチA」の変動演出が決定され、変動モード番号=02Hに対応する変動モードコマンドを受信した場合には、前半変動演出の態様として、「リーチB」および「リーチC」のいずれかの変動演出が半々の確率で決定される。また、変動モード番号=03Hに対応する変動モードコマンドを受信した場合には、前半変動演出の態様として、必ず、「リーチC」の変動演出が決定されることとなる。
ここで、前半変動演出の態様のうち「なし」は、前半変動演出を実行しないことを示しており、この「なし」が決定された場合には、後述する変動パターンコマンドに基づいて決定される後半変動演出のみが実行されることとなる。また、図34(a)において、前半変動演出の態様における「リーチA」や「リーチB」、「リーチC」は、それぞれ、リーチ変動パターンの変動演出のうち、演出図柄210a、210b、210cがリーチ態様になるまでの、演出表示部200aに表示される画像パターンを示している。
これらの画像パターンは、変動モード番号に対応付けられた特別図柄の変動表示の時間と一致するように予め設計されている。
したがって、演出表示部200aにおいて、リーチなし変動パターンの変動演出が実行される場合には、必ず、変動モード番号=00Hに対応する変動モードコマンドを受信していることとなる。換言すれば、変動モード番号=00Hに対応する変動モードコマンドを受信すると、必ず、演出表示部200aにおいて、リーチなし変動パターンの変動演出が実行されることとなる。これに対して、演出表示部200aにおいて、リーチ変動パターンの変動演出が実行される場合には、必ず、変動モード番号=00H以外の変動モード番号に対応する変動モードコマンドを受信していることとなる。換言すれば、変動モード番号=00Hに対応する変動モードコマンド以外の変動モードコマンドを受信すると、必ず、演出表示部200aにおいて、リーチ変動パターンの変動演出が実行されることとなる。
また、図34(b)に示すように、副制御基板330のサブROM330bには、受信し得る変動パターンコマンド(変動パターン番号)のそれぞれに、後半変動演出の態様が対応付けられた後半変動演出決定テーブルが記憶されている。この後半変動演出決定テーブルは、演出モードごとに設けられており、副制御基板330では、変動パターンコマンドを受信すると、0〜249の範囲から1の演出乱数を取得するとともに、現在設定されている演出モードに対応する後半変動演出決定テーブルをセットする。そして、取得した演出乱数および変動パターンコマンド(変動パターン番号)に基づいて、後半変動演出の態様が決定される。
なお、図34(b)において、変動パターン番号と後半変動演出の態様とが対応付けられた各選択領域に記された数字は、図34(a)と同様に、当該選択領域に割り振られた乱数の範囲、すなわち、当該選択領域の選択比率を示している。例えば、変動パターン番号=00Hに対応する変動パターンコマンドを受信した場合には、後半変動演出の態様として、必ず、「ハズレ8秒」の変動演出が実行され、変動パターン番号=01Hに対応する変動パターンコマンドを受信した場合には、後半変動演出の態様として、必ず、「ハズレ12秒」の変動演出が実行され、変動パターン番号=02Hに対応する変動パターンコマンドを受信した場合には、後半変動演出の態様として、必ず、「ハズレ16秒」の変動演出が実行されることとなる。
なお、「ハズレ8秒」、「ハズレ12秒」、「ハズレ16秒」の変動演出の態様は、演出図柄210a、210b、210cが、変動表示を開始してから、リーチ態様になることなくハズレを報知する態様で停止表示するまでの、演出表示部200aに表示される画像パターンを示している。したがって、主制御基板300において、「00H」、「01H」、「02H」の変動パターン番号が決定される場合には、前半変動演出の態様として「なし」が決定されるように、必ず、「00H」の変動モード番号(変動モードコマンド)が決定されるように設計されている。
また、主制御基板300において、例えば、変動パターン番号=04Hが決定された場合には、後半変動演出の態様として、「パターン1」および「パターン2」のいずれかが決定される。「パターン1」、「パターン2」は、リーチ発展演出における動画の種類を示すものであり、演出表示部200aに表示される画像は異なるものの、その構成時間は、変動パターン番号=04Hに対応付けられた変動表示の時間と一致している。
上記のように、副制御基板330においては、設定されている演出モードに応じて、前半変動演出決定テーブルおよび後半変動演出決定テーブルが選択され、当該選択したテーブルに基づいて、演出表示部200aに表示される変動演出の態様が決定される。本実施形態においては、図34(a)に示す前半変動演出決定テーブルおよび図34(b)に示す後半変動演出決定テーブルは、遊技状態が高確率遊技状態であることに応じて設定されている演出モードに応じて選択されたテーブルであるとする。
以下に、上記の変動演出を実行するための副制御基板330における処理について簡単に説明する。
(副制御基板330のサブCPU初期化処理)
図35は、副制御基板330のサブCPU初期化処理(S1000)を説明するフローチャートである。
(ステップS1000−1)
サブCPU330aは、電源投入に応じて、サブROM330bからCPU初期化処理プログラムを読み込むとともに、サブRAM330cに記憶されるフラグ等の初期化、設定処理を行う。
(ステップS1000−3)
次に、サブCPU330aは、各演出乱数を更新する処理を行うとともに、以後は、割込み処理が行われるまで当該ステップS1000−3の処理を繰り返し行う。なお、演出乱数は複数種類設けられており、ここでは、それぞれの演出乱数が非同期的に更新されている。
(副制御基板330のサブタイマ割込み処理)
図36は、副制御基板330で実行されるサブタイマ割込み処理(S1100)を説明するフローチャートである。副制御基板330には、所定の周期でクロックパルスを発生するリセット用クロックパルス発生回路(不図示)が設けられている。そして、このリセット用クロックパルス発生回路によるクロックパルスの発生により、サブCPU330aはタイマ割込み処理プログラムを読み込んで当該サブタイマ割込み処理を開始する。
(ステップS1100−1)
サブCPU330aは、レジスタを退避する。
(ステップS1100−3)
サブCPU330aは、割込みを許可するための処理を行う。
(ステップS1100−5)
サブCPU330aは、副制御基板330で用いられる各種タイマカウンタの更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該副制御基板330のサブタイマ割込み処理の度に1ずつ減算され、0になると減算を停止する。
(ステップS1200)
サブCPU330aは、サブRAM330cの受信バッファに格納されているコマンドを解析するとともに、受信したコマンドに応じた種々の処理を行う。副制御基板330においては、主制御基板300からコマンドが送信されると、コマンド受信割込み処理が行われ、主制御基板300から送信されたコマンドが受信バッファに格納される。ここでは、コマンド受信割込み処理によって受信バッファに格納されたコマンドを解析することとなる。
(ステップS1300)
サブCPU330aは、遊技機100において実行される種々の演出(変動演出等)の経過時間を計時するとともに、演出ごとにセットされるタイムテーブルを参照して、当該タイムテーブルに記憶された該当時間に対応する処理を実行するタイムスケジュール管理処理を行う。このタイムスケジュール管理処理の詳細は後述する。
(ステップS1400)
サブCPU330aは、可動体(演出役物装置202および押下ボタン208a)の動作を制御する可動体制御処理を実行する。
(ステップS1100−7)
サブCPU330aは、サブRAM330cの送信バッファにセットされているコマンドを画像制御部340、音声制御部350、照明制御部360および可動体制御部370のそれぞれへ送信する。
(ステップS1100−9)
サブCPU330aは、レジスタを復帰して当該サブタイマ割込み処理を終了する。
図37は、上記コマンド解析処理のうち、変動モードコマンドを受信した際に実行される変動モードコマンド受信処理を説明するフローチャートである。上記したとおり、変動モードコマンドは、主制御基板300において、図28のステップS611−21でセットされた後、ステップS100−39のサブコマンド送信処理(図15参照)によって副制御基板330に送信される。
(ステップS1210−1)
変動モードコマンドを受信すると、サブCPU330aは、まず、受信した変動モードコマンドを解析する。
(ステップS1210−3)
サブCPU330aは、上記ステップS1000−3で更新された演出乱数(0〜249)を取得するとともに、現在設定されている演出モードに対応する図34(a)の前半変動演出決定テーブルを参照して、当該取得した演出乱数および上記ステップS1210−1における解析結果に基づいて、前半変動演出の態様を決定する。
(ステップS1210−5)
サブCPU330aは、上記ステップS1210−3で決定された変動演出を実行するための変動演出実行コマンドを送信バッファにセットする。ここでセットされた変動演出実行コマンドは画像制御部340、音声制御部350および照明制御部360等に送信され、画像制御部340において、受信した変動演出実行コマンドに対応する変動演出画像を表示するための制御がなされる。また、音声制御部350においては、受信した変動演出実行コマンドに基づいて、演出表示部200aに表示される変動演出画像に対応する音声出力制御がなされ、照明制御部360においては演出照明装置204の点灯制御がなされることとなる。
(ステップS1210−7)
サブCPU330aは、上記ステップS1210−3で決定された前半変動演出の態様に対応するタイムテーブルのデータをセットし、当該変動モードコマンド受信処理を終了する。
図38は、上記コマンド解析処理のうち、変動パターンコマンドを受信した際に実行される変動パターンコマンド受信処理を説明するフローチャートである。上記したとおり、変動パターンコマンドは、主制御基板300において、図28のステップS611−25でセットされた後、ステップS100−39のサブコマンド送信処理(図15参照)によって副制御基板330に送信される。
(ステップS1220−1)
変動パターンコマンドを受信すると、サブCPU330aは、まず、受信した変動パターンコマンドを解析する。
(ステップS1220−3)
サブCPU330aは、上記ステップS1000−3で更新された演出乱数(0〜249)を取得するとともに、現在設定されている演出モードに対応する図34(b)の後半変動演出決定テーブルを参照して、当該取得した演出乱数および上記ステップS1220−1における解析結果に基づいて、後半変動演出の態様を決定する。
(ステップS1220−5)
サブCPU330aは、上記ステップS1220−3で決定された変動演出を実行するための変動演出実行コマンドを送信バッファにセットする。ここでセットされた変動演出実行コマンドは画像制御部340、音声制御部350および照明制御部360等に送信され、画像制御部340において、受信した変動演出実行コマンドに対応する変動演出画像を表示するための制御がなされる。また、音声制御部350においては、受信した変動演出実行コマンドに基づいて演出表示部200aに表示される変動演出画像に対応する音声出力制御がなされ、照明制御部360においては演出照明装置204の点灯制御がなされることとなる。
(ステップS1220−7)
サブCPU330aは、変動演出と合わせて実行する予告演出を決定する。予告演出は、後半変動演出の終了時において遊技者に報知される大役抽選結果が大当たりである可能性を予告する演出である。例えば、遊技機100には予告演出A,B,Cの3種類の演出が設定されている。サブCPU330aは、例えばステップS1200−3で後半変動演出の態様の決定に用いた演出乱数を使用して、予告演出として実行する演出を予告演出A,B,Cの中から決定する。
サブROM330bには、例えば予告演出の種類と演出乱数の数値範囲とを対応付けて記憶する予告演出決定テーブルが保存されている。サブCPU330aは、演出乱数値が該当する数値範囲に対応付けられた予告演出を実行対象として決定する。ここで決定される予告演出は1つに限られず、複数でもよい。サブCPU330aは、実行対象となる予告演出の種類を決定すると、予告演出実行コマンドを送信バッファにセットする。セットされた予告演出実行コマンドは上記ステップS1100−7において画像制御部340、音声制御部350および照明制御部360等に送信される。また、本実施形態による遊技機100では、予告演出A,B,Cのいずれにおいても演出表示部200aにおける予告演出画像の表示に伴って演出役物装置202や押下ボタン208aといった可動体の動作が行われる。可動体の動作は後述する可動体制御処理(ステップS1400)によって制御される。
(ステップS1220−9)
サブCPU330aは、上記ステップS1220−3で決定された後半変動演出の態様に対応するタイムテーブルのデータおよび上記ステップS1220−7で決定された予告演出の態様に対応するタイムテーブルのデータをセットする。
(ステップS1220−11)
サブCPU330aは、変動演出の実行時間を計時すべく、変動時間計時タイマをリセットし、当該変動パターンコマンド受信処理を終了する。ここでリセットされた変動時間計時タイマは、上記ステップS1300のタイムスケジュール管理処理において、タイマ割込み処理のたびにカウンタ値が加算され、これによって変動演出の実行時間が計時されることとなる。
図39は、上記タイムスケジュール管理処理(ステップS1300)を説明するフローチャートである。
(ステップS1300−1)
サブCPU330aは、まず、変動時間計時タイマのカウンタ値を加算し、変動演出の実行時間を更新する。
(ステップS1300−3)
サブCPU330aは、変動演出の実行中においてセットされるタイムテーブルを参照し、現在の変動演出の実行時間に応じて、各種のコマンドを送信バッファにセットしたり、各種のフラグをON/OFFしたりする制御処理を実行し、タイムスケジュール管理処理を終了する。一例として、サブCPU330aは、タイムテーブルを参照してステップS1220−7で決定された予告演出が開始されるタイミングにおいて予告演出開始フラグをオン状態に設定する。本実施形態による遊技機100では、予告演出開始フラグとして予告演出Aの実行開始タイミングを示す予告A開始フラグ、予告演出Bの実行開始タイミングを示す予告B開始フラグおよび予告演出Cの実行開始タイミングを示す予告C開始フラグの3種類が設けられている。以下、予告A開始フラグ、予告B開始フラグおよび予告C開始フラグを予告演出開始フラグと総称する。例えば、予告演出開始フラグは、後述する可動体制御処理において予告演出の開始タイミングを判別するために用いられる。各予告演出開始フラグがオン状態に設定されることで、予告演出A,B,Cそれぞれの予告演出を実行するための制御が開始される。なお、本実施形態による遊技機100では、変動演出中において予告演出A,B,Cが開始されるタイミングは同一(例えば変動演出の開始時)に設定されている。
(可動体制御処理の一例)
図40は、サブタイマ割込み処理における可動体制御処理(ステップS1400)の流れの一例を説明するフローチャートである。遊技機100では、遊技の進行中(例えば変動演出の実行中や大役遊技の実行中等)において様々な場面で可動体が動作する。ここでは、変動演出と合わせて実行される予告演出における可動体(演出役物装置202、押下ボタン208a)の動作制御を例として可動体制御処理を説明する。可動体は役物モータ装置ym、ボタンモータ装置bm(図4参照)を構成する各可動体モータ(例えば可動体モータm1,m2,m3)が駆動されることで動作する。本例の可動体制御処理は、サブCPU330aが各可動体モータの駆動態様を決定し、決定した駆動態様による可動体モータの駆動制御を可動体制御部370に指示する処理である。可動体制御処理は、サブタイマ割込み処理が実行されるたびに実行される。したがって、可動体制御処理は所定の周期で繰り返し実行される。
(ステップS1400−1)
ステップS1400−1においてサブCPU330aは、全可動体(演出役物装置202および押下ボタン208a)の停止タイミングであるか否かを判定する。本実施形態における遊技機100は、例えば電源断から復帰した場合やいずれかの可動体にエラーが発生した場合に、全可動体を停止させる。例えばサブCPU330aは、演出役物装置202を動作させる役物モータ装置ymまたは押下ボタン208aを動作させるボタンモータ装置bmからエラーが発生したことを示す信号(エラー信号)が副制御基板330に入力されていることを検知すると、可動体にエラーが生じていると判定する。また、例えばサブCPU330aは、主制御基板300から電源復帰指定コマンドを受信した場合に電源断からの復帰時(電源投入時)であると判定する。サブCPU330aは、エラー信号または電源復帰指定コマンドが副制御基板330に入力されており全可動体の停止タイミングであると判定すると、ステップS1410の処理に移る。一方サブCPU330aは、エラー信号および電源復帰指定コマンドが副制御基板330に入力されておらず全可動の停止タイミングでないと判定するとステップS1400−3の処理に移る。
(ステップS1410)
ステップS1410においてサブCPU330aは、全可動体停止処理を実行する。全可動体停止処理は、動作中の可動体が有する可動体モータの駆動を停止させることにより、可動体の動作を停止させる処理である。全可動体停止処理の詳細は後述する。
(ステップS1400−3)
ステップS1400−3においてサブCPU330aは、予告演出Aの開始タイミングであるか否かを判定する。サブCPU330aは、予告A開始フラグがオン状態であって予告演出Aの開始タイミングであると判定すると予告A開始フラグをオフ状態に設定してステップS1400−5の処理に移る。予告A開始フラグは、スケジュール管理処理(図39参照)のステップS1300−3においてサブCPU330aがタイムテーブルを参照し、予告演出Aの開始タイミングであると判定した場合にオン状態に設定される。一方、サブCPU330aは、予告A開始フラグがオフ状態であって予告演出Aの開始タイミングでないと判定するとステップS1400−11の処理に移る。
(ステップS1400−5)
ステップS1400−5においてサブCPU330aは、予告演出Aで駆動対象となるモータ(駆動対象モータ)の駆動態様を決定してステップS1400−7の処理に移る。サブCPU330aは、図41に示す予告演出及びモータ対応付けテーブルを用いて駆動対象モータの駆動態様を決定する。ここで、予告演出及びモータ対応付けテーブルについて図41を用いて説明する。図41は、サブROM330bの所定の記憶領域に記憶されている予告演出及びモータ対応付けテーブルの一例を示す図である。モータ演出対応付けテーブルは、各予告演出と駆動対象モータおよび駆動対象モータの駆動態様との対応付けを記憶するテーブルであって、「予告演出」、「駆動対象モータ」および「テーブルアドレス」の3つの項目に大別されている。
「予告演出」は、変動演出と合わせて実行される予告演出A,B,Cのそれぞれを示している。「駆動対象モータ」は各予告演出において駆動される可動体モータを示している。「テーブルアドレス」は後述するモータ駆動態様記憶領域331において各モータの駆動態様を格納するテーブル(駆動態様テーブル)が記憶されている位置(アドレス)を示す一意な識別子を示している。本実施形態による遊技機100では、モータの駆動態様は、可動体制御部370がモータの駆動を制御するために必要な制御データとして駆動態様テーブルに格納されている。より具体的には、駆動態様テーブルには、予告演出等の演出において可動体に一連の動作(動作開始から停止まで)を実行させるための可動体モータへの制御命令を生成するためのデータが定義されている。また駆動態様テーブルは、モータ駆動態様記憶領域331に記憶されている。
ここで、図42を用いて本例におけるモータ駆動態様記憶領域331について説明する。図42は、モータ駆動態様記憶領域331を模式的に示す図である。図42に示すように、モータ駆動態様記憶領域331は複数の記憶領域を有し、各記憶領域は「ta001」、「ta002」のようなメモリアドレスにより一意に識別される。モータ駆動態様記憶領域331には、可動体モータm1,m2,m3を含む複数の可動体モータに対応付けられた駆動態様(駆動態様テーブル)が記憶されている。
図42に示すようにモータ駆動態様記憶領域331におけるアドレス「ta001」には、駆動態様テーブル001Aが記憶されている。駆動態様テーブル001Aは、可動体モータm1に対応付けられており予告演出Aに応じた駆動態様で可動体モータm1を駆動させるための制御データが格納されている。また、アドレス「ta002」には、駆動態様テーブル002Bが記憶されている。駆動態様テーブル002Bはモータm2に対応付けられており、予告演出Bに応じた駆動態様で可動体モータm2を駆動させるための制御データが格納されている。また、アドレス「ta003」には、駆動態様テーブル002Cが記憶されている。駆動態様テーブル002Cは可動体モータm2に対応付けられており、予告演出Cに応じた駆動態様で可動体モータm2を駆動させるための制御データが格納されている。また、アドレス「ta004」には、駆動態様テーブル003Cが記憶されている。駆動態様テーブル003Cは可動体モータm3に対応付けられており、予告演出Cに応じた駆動態様で可動体モータm3を駆動させるための制御データが格納されている。なお、図42では理解を容易にするため、モータ駆動態様記憶領域331に記憶されている駆動態様テーブルを論理名(例えば、駆動態様テーブル001A)で記載しているが、実際は、後述する図44に示すような制御データを格納した駆動態様テーブルが記憶されている。
図42に図示されているのは、モータ駆動態様記憶領域331の一部であって、「ta001」から「ta004」までの4つのアドレスが示す領域以外の領域は図示を省略している。また、モータ駆動態様記憶領域331に記憶される駆動態様テーブルは、予告演出において可動体を動作させるためのモータ駆動態様に限られない。モータ駆動態様記憶領域331には、例えば予告演出以外の演出において可動体を動作させるためのモータの駆動態様等も記憶されている。また、モータ駆動態様記憶領域331には、遊技機100に設けられた演出役物装置202以外の演出用の役物装置(不図示)の駆動態様テーブルも記憶されている。
図41に戻って、予告演出及びモータ対応付けテーブルでは「予告演出」欄に予告演出A,B,Cが設定されている。また、「駆動対象モータ」欄には予告演出に対応付けて駆動対象モータが設定され、「テーブルアドレス」欄には、予告演出と駆動対象モータとに対応付けて駆動態様テーブルのアドレスが設定されている。例えば、予告演出Aに対応する「駆動対象モータ」欄には可動体モータm1が設定され、「テーブルアドレス」欄にはテーブルアドレス「ta001」が設定されている。したがって、予告演出Aには駆動対象モータとして可動体モータm1が対応付けられ、可動体モータm1の駆動態様としてモータ駆動態様記憶領域331のアドレス「ta001」に記憶されている駆動態様が対応付けられている。このため、予告演出Aでは、可動体モータm1がモータ駆動態様記憶領域331のアドレス「ta001」に記憶されている駆動態様テーブル001Aに格納されている制御データにより駆動される。可動体モータm1は、役物モータ装置ym(図4参照)が有する複数のモータの1つである。可動体モータm1が駆動態様テーブル001Aの制御データによって駆動することで、演出役物装置202が予告演出Aに応じた動作(予告A動作)を行う。
また、予告演出及びモータ対応付けテーブルでは、例えば予告演出Bに駆動対象モータとして可動体モータm2が対応付けられ、可動体モータm2の駆動態様としてモータ駆動態様記憶領域331のアドレス「ta002」に記憶されている駆動態様が対応付けられている。したがって、予告演出Bでは、可動体モータm2がモータ駆動態様記憶領域331のアドレス「ta002」に記憶されている駆動態様テーブル002Bに格納された制御データにより駆動される。可動体モータm2は、可動体モータm1と同様に役物モータ装置ym(図4参照)が有する複数のモータの1つである。可動体モータm2が駆動態様テーブル002Bの制御データによって駆動することで、演出役物装置202が予告演出Bに応じた動作(予告B動作)を行う。
また、予告演出及びモータ対応付けテーブルでは、例えば予告演出Cに駆動対象モータとしてモータm2とモータm3とが対応付けられている。また、予告演出Cにはモータm2の駆動態様としてモータ駆動態様記憶領域331のアドレス「ta003」に記憶された駆動態様が対応付けられ、モータm3の駆動態様としてモータ駆動態様記憶領域331のアドレス「ta004」に記憶された駆動態様が対応付けられている。したがって、予告演出Cでは、モータm2がアドレス「ta003」に記憶されている駆動態様テーブル002Cに格納された制御データにより駆動される。これにより、演出役物装置202が予告演出Cに応じた動作(予告C動作)を行う。さらに、予告演出Cではモータm3がアドレス「ta004」に記憶されている駆動態様テーブル003Cに格納された制御データにより駆動される。モータm3は、ボタンモータ装置bm(図4参照)が有する複数のモータの1つである。モータm3が駆動態様テーブル003Cの制御データによって駆動することで、押下ボタン208aが予告演出Cに応じた動作(予告C動作)を行う。
図40に戻って、サブCPU330aは、ステップS1400−5においてモータ演出対応付けテーブルを参照して予告演出Aにおける駆動対象モータをモータm1に決定するとともに、可動体モータm1の駆動態様を格納した駆動態様テーブル001が記憶されているアドレス(ta001)を取得する。これにより、予告演出Aにおける駆動対象モータ(可動体モータm1)の駆動態様(駆動態様テーブル001A)が決定される。サブCPU330aは、駆動対象モータの駆動態様を決定するとステップS1400−7の処理に移る。
(ステップS1400−7)
ステップS1400−7においてサブCPU330aは、ステップS1400−5で決定した予告演出Aにおける駆動対象モータ(可動体モータm1)の駆動態様をモータ駆動態様記憶領域331から読み込んでステップS1400−9の処理に移る。より具体的には、サブCPU330aは、モータ駆動態様記憶領域331におけるアドレス「ta001」から駆動態様テーブル001Aを読み込む。
(ステップS1400−9)
ステップS1400−9においてサブCPU330aは、予告演出Aの駆動対象モータの駆動態様を記憶する。より具体的には、サブCPU330aは、ステップS1400−7で読み込んだ駆動態様テーブル001Aを取得態様記憶領域(特定領域の一例)333に記憶する。ここで、取得態様記憶領域333について図43を用いて説明する。
図43は、取得態様記憶領域333を模式的に示す図である。取得態様記憶領域333は、サブRAM330cに設けられ、サブCPU330aがモータ駆動態様記憶領域331から読み込んで取得した駆動態様テーブルを記憶する記憶領域である。取得態様記憶領域333は、可動体モータm1,m2,m3を含む可動体を動作させるための複数の可動体モータそれぞれに割り当てられた領域であるモータ領域saを有している。例えば、可動体モータm1にはモータ領域sa1が割り当てられ、可動体モータm2にはモータ領域sa2が割り当てられ、可動体モータm3にはモータ領域sa3が割り当てられている。図43では、可動体モータm1,m2,m3以外のモータに割り当てられたモータ領域saは図示を省略している。
図40に戻って、サブCPU330aは、ステップS1400−9において駆動態様テーブル001Aをモータ領域sa1に記憶してステップS1400−11の処理に移る。これにより、予告演出Aにおける駆動対象モータの駆動態様が取得態様記憶領域333に記憶される。ここで、取得態様記憶領域333に記憶される駆動態様テーブルは、モータ駆動態様記憶領域331から取得態様記憶領域333に移動されるわけではなく、モータ駆動態様記憶領域331に記憶されているのと同じ内容の駆動態様テーブル(例えばモータ駆動態様記憶領域331に記憶されているテーブルのコピー)が取得態様記憶領域333に記憶される。
(ステップS1400−11)
ステップS1400−11においてサブCPU330aは、予告演出Bの開始タイミングであるか否かを判定する。サブCPU330aは、予告B開始フラグがオン状態であって予告演出Bの開始タイミングであると判定すると予告B開始フラグをオフ状態に設定してステップS1400−13の処理に移る。予告B開始フラグは、スケジュール管理処理(図39参照)のステップS1300−3においてサブCPU330aがタイムテーブルを参照し、予告演出Bの開始タイミングであると判定した場合にオン状態に設定される。一方、サブCPU330aは、予告B開始フラグがオフ状態であって予告演出Bの開始タイミングでないと判定するとステップS1400−19の処理に移る。
(ステップS1400−13)
ステップS1400−13においてサブCPU330aは、予告演出Bにおける駆動対象モータの駆動態様を決定してステップS1400−15の処理に移る。より具体的には、サブCPU330aは、モータ演出対応付けテーブル(図41参照)を用いて予告演出Bにおける駆動対象モータを可動体モータm2に決定するとともに、モータ駆動態様記憶領域331のアドレス「ta002」を取得する。これにより、アドレス「ta002」に記憶されている駆動態様(駆動態様テーブル002B)が予告演出Bにおける駆動対象モータの駆動態様に決定される。
(ステップS1400−15)
ステップS1400−15においてサブCPU330aは、ステップS1400−13で決定した予告演出Bにおけるモータ駆動態様をモータ駆動態様記憶領域331から読み込んでステップS1400−17の処理に移る。より具体的には、サブCPU330aはモータ駆動態様記憶領域331(図42参照)におけるアドレス「ta002」からモータ駆動態様テーブル002Bを読み込む。
(ステップS1400−17)
ステップS1400−17においてサブCPU330aは、予告演出Bの駆動対象モータの駆動態様を記憶する。より具体的には、サブCPU330aは、ステップS1400−15で読み込んだ駆動態様テーブル002Bを取得態様記憶領域333(図43参照)のモータ領域sa2に記憶するとステップS1400−19の処理に移る。
(ステップS1400−19)
ステップS1400−19においてサブCPU330aは、予告演出Cの開始タイミングであるか否かを判定する。サブCPU330aは、予告C開始フラグがオン状態であって予告演出Cの開始タイミングであると判定すると予告C開始フラグをオフ状態に設定してステップS1400−21の処理に移る。予告C開始フラグは、スケジュール管理処理(図39参照)のステップS1300−3においてサブCPU330aがタイムテーブルを参照し、予告演出Cの開始タイミングであると判定した場合にオン状態に設定される。一方、サブCPU330aは、予告C開始フラグがオフ状態であって予告演出Cの開始タイミングでないと判定するとステップS1400−27の処理に移る。
(ステップS1400−21)
ステップS1400−21においてサブCPU330aは、予告演出Cにおける駆動対象モータの駆動態様を決定してステップS1400−23の処理に移る。より具体的には、サブCPU330aは、モータ演出対応付けテーブル(図41参照)を用いて予告演出Cにおける駆動対象モータをモータm2およびモータm3に決定するとともに、モータ駆動態様記憶領域331のアドレス「ta003」および「ta004」を取得する。これにより、アドレス「ta003」および「ta004」に記憶されている駆動態様(駆動態様テーブル002Cおよび駆動態様テーブル003C)が予告演出Cにおける駆動対象モータの駆動態様に決定される。
(ステップS1400−23)
ステップS1400−23においてサブCPU330aは、ステップS1400−21で決定した予告演出Cにおけるモータ駆動態様をモータ駆動態様記憶領域331から読み込んでステップS1400−17の処理に移る。より具体的には、サブCPU330aはモータ駆動態様記憶領域331(図42参照)におけるアドレス「ta003」から駆動態様テーブル002Cを読み込み、さらにアドレス「ta004」から駆動態様テーブル003Cを読み込む。
(ステップS1400−25)
ステップS1400−25においてサブCPU330aは、予告演出Cの駆動対象モータの駆動態様を記憶してステップS1400−27の処理に移る。より具体的には、サブCPU330aは、ステップS1400−23で読み込んだ駆動態様テーブル002Cを取得態様記憶領域333(図43参照)のモータ領域sa2に記憶するとともに、ステップS1400−23で読み込んだ駆動態様テーブル003Cを取得態様記憶領域333のモータ領域sa3に記憶する。本実施形態による遊技機100では、モータm2は予告演出Bおよび予告演出Cの2つの演出において駆動される。このため、パターンコマンド受信処理(図38参照)における予告演出決定処理(ステップS1220−7)において予告演出として予告演出Bおよび予告演出Cの実行が決定された場合、ステップS1400−17で取得態様記憶領域333のモータ領域sa2に記憶された駆動態様テーブル002Bは、ステップS1400−25において駆動態様テーブル002Cで書き換えられる。
(ステップS1400−27)
ステップS1400−27においてサブCPU330aは、取得態様記憶領域333に記憶された駆動態様テーブルを送信バッファにセットする。より具体的には、サブCPU330aは、取得態様記憶領域333の各モータ領域に記憶されている駆動態様テーブルの情報および駆動態様テーブルと対応づいた可動体モータの情報を含んだコマンドを送信バッファにセットする。これにより、ステップS1100−7の処理において、駆動態様テーブルが可動体制御部370に送信される。可動体制御部370は、取得態様記憶領域333に記憶された駆動態様テーブルに基づいて可動体モータの駆動を制御する。可動体制御部370は、駆動態様テーブルを受信すると一定周期(例えば4ミリ秒間隔)で実行される可動体モータ駆動制御処理において駆動態様テーブルに格納されたデータを解析し各可動体モータの駆動を制御する。
ここで、図44を用いて、ステップS1400−27において可動体制御部370に送信され、可動体制御部370によって解析される駆動態様テーブルの一例について説明する。図44は、可動体に予告A動作を行わせるための駆動態様テーブル001A一例を示す図である。図44に示すように、駆動態様テーブルは「アクセスタイミング」、「モータ情報」、「方向情報」および「速度情報(PPS)」の4つの項目に大別されている。「アクセスタイミング」は、可動体制御部370が役物モータ装置ym、ボタンモータ装置bm(図4参照)が有する各可動体モータを駆動させるモータ駆動処理を実行する順番を示す値である。また、「モータ情報」は、各モータのON/OFFすなわち駆動有無を指定する情報を示す。また、「方向情報」は各モータの回転方向を指定する情報であり、「速度情報(PPS)」は、各モータの回転速度(単位:PPS)を指定する情報である。
ここで、可動体制御部370による図44に示す駆動態様テーブル001Aに基づく可動体モータ駆動制御処理について説明する。本実施形態において可動体制御部370は、駆動態様テーブルに格納されている制御データを解析する解析部(不図示)と、解析された制御データに基づいてパルス信号を生成する信号生成部(不図示)とを有している。
可動体モータ駆動制御処理において可動体制御部370は、解析部によって「アクセスタイミング」に設定された数値の昇順で駆動態様テーブルの各行のデータを解析し、解析したデータに応じて信号生成部で可動体モータm1を駆動させるための制御命令を生成する。さらに、可動体制御部370は、信号生成部において制御命令を励磁パターンに変換し、さらに励磁パターンをパルス信号に変換して役物モータ装置ymへ送信する。パルス信号を受信した役物モータ装置ymのドライバ(不図示)は、パルス信号に基づいてモータm1に対する通電(励磁)の有無を切り替える。これによりモータm1の駆動が制御される。
例えば、図44に示す駆動態様テーブル001Aにおいて、「アクセスタイミング」が「1」の行のデータには「モータ情報」として「OFF」が設定されている。したがって、可動体制御部370は、可動体モータ駆動制御処理において可動体モータm1を駆動しない旨の制御命令を解析部から信号生成部に出力する。また、信号生成部は解析部が出力した制御命令に基づいて可動体モータm1を駆動させない、すなわち可動体モータm1に通電(励磁)しないことを示すパルス信号を生成して役物モータ装置ymへ送信する。これにより、役物モータ装置ymのドライバはモータm1に対して通電(励磁)を行わないので、可動体モータm1は駆動されない。図44に示す駆動態様テーブル001Aにおいて「アクセスタイミング」が「1」から「5」までの各行のデータでは、「モータ情報」に「OFF」が設定されている。このため、可動体制御部370では、駆動態様テーブル001Aが送信されてから実行される5回の可動体モータ駆動制御処理において、可動体モータm1を駆動しない(通電しない)旨のパルス信号を役物モータ装置ymに出力する。
「アクセスタイミング」が「6」の行のデータには「モータ情報」として「ON」が設定され、「方向情報」として「CW」が設定され、「速度情報」として128(PPS)が設定されている。「方向情報」に設定されるCWはモータを時計回り方向に回転させることを示す。このため、可動体制御部370の解析部は、駆動態様テーブル001Aが送信されてから6回目の可動体モータ駆動制御処理において、信号生成部に可動体モータm1を時計回りに128PPSの速度で駆動させる旨の制御命令を出力する。また、制御命令の入力を受けた信号生成部は、次に制御命令が入力されるまでの間、可動体モータm1を128PPSの速度で時計回りに駆動させるためのパルス信号を役物モータ装置ymへ送信する。これにより、役物モータ装置ymのドライバは可動体モータm1に対して通電(励磁)を行い、可動体モータm1が128PPSの速度で時計回りに駆動される。可動体制御部370は、「アクセスタイミング」が「7」の行以降のデータも同様に解析して信号生成部が生成したパルス信号を役物モータ装置ymへ出力する。ここでは、可動体モータ駆動制御処理の一例として役物モータ装置ymが有する可動体モータm1の駆動制御を例にとって説明したが、役物モータ装置ymが有する可動体モータm2、ボタンモータ装置bmが有する可動体モータm3および他の演出用の役物装置(不図示)が有するモータも同様に駆動制御される。
(ステップS1400−29)
図40に戻って、ステップS1400−29においてサブCPU330aは、取得態様記憶領域333に記憶された駆動態様テーブルのアドレスをサブRAM330cに設けられた記憶領域である駆動中モータ記憶領域335に記憶して可動体制御処理を終了し、サブタイマ割込み処理(図36参照)に戻る。ここで、図44を用いて駆動中モータ記憶領域335について説明する。
図45は、駆動中モータ記憶領域335を模式的に示す図である。駆動中モータ記憶領域335は、サブRAM330cに設けられた記憶領域である。駆動中モータ記憶領域335には、可動体を動作させるための複数の可動体モータのうち駆動中のモータの駆動態様が記憶される。駆動中モータ記憶領域335は、可動体モータm1,m2,m3を含む複数の可動体モータそれぞれに割り当てられた複数の領域daを有している。例えば、図45に示すように、駆動中モータ記憶領域335において可動体モータm1には領域da1が割り当てられ、可動体モータm2には領域da2が割り当てられ、可動体モータm3には領域da3が割り当てられている。サブCPU330aは、ステップS1400−29において、取得態様記憶領域333に記憶されていた駆動態様テーブルのアドレスを、該駆動態様テーブルと対応付いたモータに割り当てられた駆動中モータ記憶領域335の領域daに記憶する。また、サブCPU330aは、取得態様記憶領域333に記憶されていた駆動態様テーブルをクリアする。
例えば、取得態様記憶領域333のモータ領域sa1に駆動態様テーブル001Aが記憶されている場合、サブCPU330aは、モータ駆動態様記憶領域331における駆動態様テーブル001Aのアドレス「ta001」を駆動中モータ記憶領域335における領域da1に記憶する。駆動中モータ記憶領域335に記憶されたテーブルアドレスは、各モータが駆動される予告演出が終了するタイミングにおいてクリアされる。例えば、可動体制御部370は、駆動態様テーブルに格納されたデータに基づく可動体モータ駆動制御処理が終了した場合に、サブCPU330に対して駆動中の各可動体モータについて駆動制御が終了した旨の信号を出力する。サブCPU330aは、該信号の入力を受けると駆動制御が終了されたモータに対応する領域daに記憶されているテーブルアドレスをクリアする。
(ステップS1400−31)
ステップS1400−31においてサブCPU330aは、可動体の補正処理を実行して可動体制御処理を終了し、サブタイマ割込み処理(図36参照)に戻る。ステップS1400−31における補正処理では、可動体が適正状態でない場合に、可動体(演出役物装置202、押下ボタン208a)を適正状態に戻す処理が実行される。ここで「適正状態」とは、演出役物装置202および押下ボタン208aが初期位置(図2に示す位置)において静止している状態をいう。
サブCPU330aは、演出役物装置202の近傍に設けられて演出役物装置202の位置を検出する役物位置検出センサ(不図示)からの位置検出信号によって演出役物装置202が初期位置にあるか否かを判定する。また、サブCPU330aは、押下ボタン208aの近傍に設けられて押下ボタン208aの位置を検出するボタン位置検出センサ(不図示)からの位置検出信号によって押下ボタン208aが初期位置にあるか否かを判定する。サブCPU330aは、役物位置検出センサからの位置検出信号に基づいて演出役物装置202が初期位置以外の位置にあり適正状態でないと判定すると、初期位置に戻るための動作を演出役物装置202に行わせる。また、サブCPU330aは、ボタン位置検出センサからの位置検出信号に基づいて押下ボタン208aが初期位置以外の位置にあり適正状態でないと判定すると、初期位置に戻るための動作を押下ボタン208aに行わせる。
(可動体制御処理の具体例)
次に、図40を参照しつつ図46から図49を用いて、可動体制御処理に基づく取得態様記憶領域333および駆動中モータ記憶領域335の状態遷移の一例を具体的に説明する。まず、予告演出として予告演出Aのみが決定された場合における取得態様記憶領域333および駆動中モータ記憶領域335の状態遷移の一例を説明する。図46は、予告演出として予告演出Aのみが決定された場合における取得態様記憶領域333の状態遷移の一例を示す図である。また、図47は、予告演出として予告演出Aのみが決定された場合における駆動中モータ記憶領域335の状態遷移の一例を示す図である。
ステップS1220−7(図38参照)において予告演出として予告演出Aが決定されると、予告演出Aの開始時においてサブCPU330aは、図40に示す可動体制御処理において予告演出Aの開始タイミングであると判定し(ステップS1400−3のYES)、予告演出Aで駆動対象となるモータの駆動態様をモータ駆動態様記憶領域331のアドレス「ta001」に記憶されている駆動態様に決定し(ステップS1400−5)、モータ駆動態様記憶領域331のアドレス「ta001」から駆動態様テーブル001Aを読み込み(ステップS1400−7)、読み込んだ駆動態様テーブル001Aを取得態様記憶領域333に記憶する(ステップS1400−9)。これにより、図46に示すように、取得態様記憶領域333は、モータ領域sa1に駆動態様テーブル001Aが記憶された状態となる。
図40に戻って、サブCPU330aは、予告演出として予告演出Aのみが決定されているため予告演出Bの開始タイミングでないと判定し(ステップS1400−11のNO)、予告演出Cの開始タイミングでないと判定し(ステップS1400−19のNO)、取得態様記憶領域333に記憶されている駆動態様テーブルを送信バッファにセットする(ステップS1400−27)。具体的には、サブCPU330aは、図46に示すように取得態様記憶領域333のモータ領域sa1に記憶されている駆動態様テーブル001Aを送信バッファにセットして、ステップS1100−7の処理において可動体制御部370に送信する。これにより、可動体制御部370は、駆動態様テーブル001Aに基づいて可動体モータm1の駆動を制御し、演出役物装置202に予告A動作を行わせる。
図40に戻って、サブCPU330aは、取得態様記憶領域333に記憶されている駆動態様テーブルのアドレスを駆動中モータ記憶領域335に記憶する(ステップS1400−29)。具体的には、サブCPU330aは、取得態様記憶領域333のモータ領域sa1に記憶されている駆動態様テーブル001Aのアドレスである「ta001」を駆動中モータ記憶領域335に記憶して可動体制御処理を終了する。これにより、図47に示すように、駆動中モータ記憶領域335は、領域da1に駆動態様テーブル001Aのアドレス「ta001」が記憶された状態となる。可動体制御処理の終了にあたりサブCPU330aは、取得態様記憶領域333をクリアする。これにより取得態様記憶領域333は、図46に示す状態から図43に示すように何れのモータ領域saにも駆動態様テーブルが記憶されていない状態となる。
次に、図48および図49を用いて予告演出として予告演出A,B,Cの全てが決定された場合における取得態様記憶領域333および駆動中モータ記憶領域335の状態遷移を説明する。図48は、予告演出として予告演出A,B,Cが決定された場合における取得態様記憶領域333の状態遷移の一例を示す図である。また、図49は、予告演出として予告演出A,B,Cが決定された場合における駆動中モータ記憶領域335の状態遷移の一例を示す図である。本実施形態による遊技機100では、予告演出決定処理(ステップS1220−7)において複数の予告演出の実行が決定されることに基づいて、可動体制御処理(図40参照)において複数の駆動態様(駆動態様テーブル)を決定可能である。
ステップS1220−7(図38参照)において予告演出として予告演出A,B,Cが決定されると、予告演出Aの開始時においてサブCPU330aは、予告演出Aの開始タイミングであると判定する(ステップS1400−3のYES)。これにより、取得態様記憶領域333のモータ領域sa1には、駆動態様テーブル001Aが記憶される(図48(a))。また、サブCPU330aは、予告演出Bが予告演出として決定されているため予告演出Bの開始タイミングであると判定し(ステップS1400−11のYES)、予告演出Bで駆動対象となるモータの駆動態様をモータ駆動態様記憶領域331のアドレス「ta002」に記憶されている駆動態様に決定し(ステップS1400−13)、モータ駆動態様記憶領域331のアドレス「ta002」から駆動態様テーブル002Bを読み込み(ステップS1400−15)、読み込んだ駆動態様テーブル002Bを取得態様記憶領域333に記憶する(ステップS1400−17)。これにより、図48(b)に示すように、取得態様記憶領域333は、モータ領域sa1に駆動態様テーブル001Aが記憶され、さらにモータ領域sa2には駆動態様テーブル002Bが記憶された状態となる。
図40に戻って、サブCPU330aは、予告演出Cが予告演出として決定されているため予告演出Cの開始タイミングであると判定し(ステップS1400−19のYES)、予告演出Cで駆動対象となるモータの駆動態様をモータ駆動態様記憶領域331のアドレス「ta003」および「ta004」に記憶されている駆動態様に決定し(ステップS1400−21)、モータ駆動態様記憶領域331のアドレス「ta003」から駆動態様テーブル002Cを読み込むとともに、アドレス「ta004」から駆動態様テーブル003Cを読み込み(ステップS1400−23)、読み込んだ駆動態様テーブル002Cおよび駆動態様テーブル003Cを取得態様記憶領域333に記憶する(ステップS1400−25)。
本実施形態による遊技機100では、サブCPU330aは、可動体制御処理において決定した複数の駆動態様のうち2以上の駆動態様が複数の可動体モータ(可動モータm1,m2,m3)のうち一のモータと対応付けられている場合に、取得態様記憶領域333において一のモータに割り当てられたモータ領域に2以上の駆動態様について順次書き換えを行う。本例では、可動体制御処理において決定した複数の駆動態様(駆動態様テーブル001A、駆動態様テーブル002B、駆動態様テーブル002Cおよび駆動態様テーブル003C)のうち駆動態様テーブル002Bおよび駆動態様テーブル002Cが可動体モータm2と対応付けられている。このため、サブCPU330aは、予告演出Bおよび予告演出Cの実行が決定された場合に、まず取得態様記憶領域333において可動体モータm2に割り当てられたモータ領域sa002に駆動態様テーブル002Bを記憶し、その後で、モータ領域sa002の駆動態様テーブル002Bを駆動態様テーブル002Cで書き換える。より具体的には、サブCPU330aは、ステップS1400−17において駆動態様テーブル002Bを記憶したモータ領域sa2を、ステップS1400−25において駆動態様テーブル002Cで順次書き換える。これにより、図48(c)に示すように取得態様記憶領域333は、モータ領域sa1に駆動態様テーブル001Aが記憶され、モータ領域sa2には駆動態様テーブル002Cが記憶され、モータ領域sa3には駆動態様テーブル003Cが記憶された状態となる。
図40に戻ってサブCPU330aは、取得態様記憶領域333に複数の駆動態様を記憶する記憶処理が完了すると、取得態様記憶領域333に記憶されている駆動態様テーブルを送信バッファにセットする(ステップS1400−27)。取得態様記憶領域333への記憶処理には、モータ領域saにおける駆動態様(駆動態様テーブル)の書き換えも含まれる。したがって、モータ領域saにおける駆動態様(駆動態様テーブル)の書き換えは、可動体制御部370に駆動態様が送信されて可動体モータが可動体制御部370によって制御されるまでの間に実行可能である。
具体的には、サブCPU330aは、ステップS1400−9、ステップS1400−17およびステップS1400−25における取得態様記憶領域333への記憶処理が完了したことに応じて、図48(c)に示すように取得態様記憶領域333のモータ領域sa1に記憶されている駆動態様テーブル001A、モータ領域sa2に記憶されている駆動態様テーブル002Cおよびモータ領域sa3に記憶されている駆動態様テーブル003Cを送信バッファにセットする。これにより、取得態様記憶領域333に記憶されている駆動態様テーブルがステップS1100−7の処理において可動体制御部370に送信される。
サブCPU330aによる複数の駆動態様テーブルの取得態様記憶領域333への記憶が完了し、該複数の駆動態様テーブルが送信されたことに応じて可動体制御部370は、可動体モータについての可動体モータ駆動制御処理を開始する。具体的には、可動体制御部370は、駆動態様テーブル001Aに基づいて可動体モータm1の駆動を制御し、駆動態様テーブル002Cに基づいて可動体モータm2の駆動を制御して演出役物装置202に予告A動作および予告C動作を行わせる。このように、可動体制御部370は、サブCPU330aによる駆動態様の書き換えによって可動体モータm2に割り当てられたモータ領域sa2に最後に記憶された駆動態様テーブル002Cに基づいて、可動体モータm2を制御する。また、可動体制御部370は、駆動態様テーブル003Cに基づいて可動体モータm3の駆動を制御して、押下ボタン208aに予告C動作を行わせる。
サブCPU330aは、取得態様記憶領域333に記憶されている駆動態様テーブルのアドレスを駆動中モータ記憶領域335に記憶して可動体制御処理を終了する(ステップS1400−29)。具体的には、サブCPU330aは、取得態様記憶領域333のモータ領域sa1に記憶されている駆動態様テーブル001Aのアドレスである「ta001」、モータ領域sa2に記憶されている駆動態様テーブル002Cのアドレスである「ta003」およびモータ領域sa3に記憶されている駆動態様テーブル003Cのアドレスである「ta003」を駆動中モータ記憶領域335に記憶して可動体制御処理を終了する。これにより、図49に示すように、駆動中モータ記憶領域335は、領域da1に駆動態様テーブル001Aのアドレス「ta001」が記憶され、領域da2に駆動態様テーブル002Cのアドレス「ta003」が記憶され、領域da3に駆動態様テーブル003Cのアドレス「ta004」が記憶された状態となる。可動体制御処理の終了にあたりサブCPU330aは、取得態様記憶領域333をクリアする。これにより取得態様記憶領域333は、図48(c)に示す状態から何れのモータ領域saにも駆動態様テーブルが記憶されていない状態(図43参照)となる。
以上説明したように、本実施形態による遊技機100では、駆動態様テーブルを送信バッファにセットして可動体制御部370に送信する処理(ステップS1400−27)、すなわち可動体制御部370に対し可動体モータの駆動制御を指示する処理は、サブタイマ割込み処理における可動対制御処理(図40参照)中に1回だけ実行される。
例えば、可動体制御部370に駆動態様テーブルを送信する処理(駆動態様テーブル送信処理)が可動体制御処理を実現するプログラム上に複数かつ広範囲に存在すると、可動体モータ(例えば可動体モータm1,m2,m3)の駆動制御を可動体制御部370に指示する処理が1回の可動体制御処理中に複数回発生し、プログラムが煩雑になる。さらに、プログラムが煩雑になると、該プログラム中の何れの工程において駆動テーブル送信処理が実行されたのかを把握するために時間を要し、プログラム作成者の作業負荷が増加するといった問題がある。
これに対し、本実施形態による遊技機100において、サブCPU330aは、ステップS1400−7、ステップS1400−15およびステップS1400−23で駆動態様(駆動態様テーブル)を読み込むと、ステップS1400−9、ステップS1400−17およびステップS1400−25で該駆動態様と対応付けられた可動体モータに割り当てられたモータ領域saに駆動態様を記憶させる。その後、取得態様記憶領域333の各モータ領域saに記憶された駆動態様をまとめて可動体制御部370へ送信する。このように、遊技機100では、1回の可動体制御処理中に1回だけ駆動態様テーブル送信処理を実行する。すなわち、可動体制御処理(図40参照)を実現するプログラム上において駆動態様テーブル送信処理を実行する工程が1つである。
これにより、本実施形態による遊技機100は、可動体制御処理において可動体制御部370に可動体モータの駆動制御を指示する処理が複数回実行されることを防止できる。また、遊技機100における可動体制御処理を実現するプログラムが簡潔になり、プログラム中の何れの工程において駆動テーブル送信処理が実行されたのかを容易に把握することができる。また、駆動テーブル送信処理が実行される工程の把握が容易であることにより、遊技機100の開発時において、可駆動態様テーブル送信処理のタイミングを考慮したプログラム作成時を効率的に行うことができる。このように、遊技機100は、開発時におけるプログラム作成者の作業負荷を低減させることができる。また、可動体制御処理を実現するプログラムが簡潔になるので、例えばサブROM330bに格納される該プログラムのデータ量を削減することができる。
(全可動体停止処理)
次に、図45および図47を参照しつつ図50を用いて、可動体制御処理(図40参照)のステップS1410において実行される全可動体停止処理について説明する。図50は、全可動体停止処理の流れの一例を示すフローチャートである。ここで説明する全可動体停止処理は、動作中の可動体(演出役物装置202や押下ボタン208a)を停止させる処理、すなわち該可動体を動作させるために駆動中のモータの駆動を停止させることにより全ての可動体を停止状態に遷移させる処理である。
(ステップS1410−1)
ステップS1410−1においてサブCPU330aは、モータカウンタ値iに1を代入してステップS1410−3の処理に移る。モータカウンタ値iは、サブRAM330cの所定の記憶領域に記憶されているカウンタ値であって、遊技機100において可動体を動作させるために設けられている全可動体モータ数(例えば、48)を計測するために用いられる値である。上述したように、本実施形態による遊技機100では、全48個の可動体モータが設けられている。48個の可動体モータのそれぞれには1から48までの連番の数値が対応付けられている。例えば、可動体モータm1には「1」が、可動体モータm2には「2」が、可動体モータm3には「3」が対応付けられている。モータカウンタ値iは、可動体モータに対応付けられた連番を示しており、iが「1」であればモータm1、iが「2」であれば可動体モータm2を示している。また、以降、モータカウンタ値iに対応するモータをi番目のモータと記載する場合がある。例えば、iが「1」であればi番目のモータは可動体モータm1を示す。
(ステップS1410−3)
ステップS1410−3においてサブCPU330aは、i番目のモータに対応する駆動中アドレス情報を取得してステップS1410−5の処理に移る。駆動中アドレス情報は、可動体モータのそれぞれが駆動中であるか否かを示す情報であって、駆動中モータ記憶領域335の領域daから取得される。例えば、図47に示す例では、可動体モータm1が駆動中である。このため、可動体モータm1に対応する領域da1にはモータ駆動態様記憶領域331における駆動態様テーブルのアドレス「ta001」が記憶されている。この場合、領域da1から取得される駆動中アドレス情報には駆動態様テーブルのアドレス(ta001)が含まれる。駆動態様テーブルのアドレスを含む駆動中アドレス情報は、領域daが対応づいている可動体モータ(ここでは可動体モータm1)が駆動中であることを示す。一方、図45に示す例では、可動体モータm1が駆動中でない。このため、可動体モータm1に対応する領域da1には駆動態様テーブルのアドレスが記憶されておらず空(から)の状態である。この場合、領域da1から取得される駆動中アドレス情報には駆動態様テーブルのアドレスが含まれない。駆動態様テーブルのアドレスを含まない駆動中アドレス情報は、領域daが対応づいているモータ(ここでは可動体モータm1)が駆動中でないことを示す。
(ステップS1410−5)
ステップS1410−5においてサブCPU330aは、ステップS1410−3で取得したi番目のモータの駆動中アドレス情報に駆動態様テーブルのアドレスが含まれるか否かを判定する。サブCPU330aは、取得した駆動中アドレス情報に駆動態様テーブルのアドレスが含まれておりi番目のモータが駆動中であると判定するとステップS1410−7の処理に移る。このように、ステップS1410−5では、i番目のモータの駆動態様が駆動中モータ記憶領域335に記憶されている場合に、駆動中モータ記憶領域335の領域daが割り当てられているモータが駆動中であると判定する。一方、サブCPU330aは、取得した駆動中アドレス情報に駆動態様テーブルのアドレスが含まれておらずi番目のモータが駆動中でないと判定するとステップS1410−11の処理に移る。
(ステップS1410−7)
ステップS1410−7においてサブCPU330aは、i番目のモータに対応する取得態様記憶領域333に停止用駆動態様テーブルを記憶してステップS1410−9の処理に移る。停止用駆動態様テーブルは、可動体モータの駆動を停止させるための制御データを格納したテーブルである。例えば、停止用駆動態様テーブルには、駆動態様テーブル001A(図45参照)のアクセスタイミング「1」に対応するデータのように可動体モータを駆動させないことを示す制御データ、すなわち「モータ情報」として「OFF」が設定された制御データが格納されている。仮にモータカウンタ値iが「2」であるとすると、サブCPU330aは、取得態様記憶領域333(図43参照)の可動体モータm2に対応するモータ領域sa2に停止用駆動態様テーブルのアドレスを記憶する。停止用駆動態様テーブルは、例えば可動体を動作させるための駆動態様テーブルと同様に、サブROM330bに設けられたモータ駆動態様記憶領域331(図42参照)に記憶されている。サブCPU330aは、モータ駆動態様記憶領域331から停止用駆動態様テーブルを読み込んで取得する。
(ステップS1410−9)
ステップS1410−9においてサブCPU330aは、停止セットカウンタ値kに1加算してステップS1410−11の処理に移る。停止セットカウンタ値は、全可動体停止処理において駆動を停止させる対象となる現在駆動中の可動体モータの数をカウントするための値である。
(ステップS1410−11)
ステップS1410−11においてサブCPU330aは、モータカウンタ値に1加算してステップS1410−13の処理に移る。
(ステップS1410−13)
ステップS1410−13においてサブCPU330aは、モータカウンタ値iが全可動体モータ数(例えば48)を超過しているか否かを判定する。サブCPU330aは、モータカウンタ値iが全可動体モータ数を超過していないと判定するとステップS1410−3の処理に戻る。これにより、ステップS1410−5の処理において駆動中モータ記憶領域335が有する複数の領域daの全てに対して駆動態様(駆動態様テーブルのアドレス)が記憶されているか否かが順次確認される。一方、サブCPU330aは、モータカウンタ値iが全可動体モータ数を超過していると判定するとステップS1410−15の処理に移る。
(ステップS1410−15)
ステップS1410−15においてサブCPU330aは、停止セットカウンタ値kが1以上か否かを判定する。サブCPU330aは、停止セットカウンタ値kが1以上であって、取得態様記憶領域333に1以上の停止用駆動態様テーブルが記憶されていると判定すると、ステップ1410−17の処理に移る。一方、サブCPU330aは、停止セットカウンタ値kが1以上でなく、取得態様記憶領域333に停止用駆動態様テーブルが1つも記憶されていないと判定するとステップ1410−19の処理に移る。
(ステップS1410−17)
ステップS1410−17においてサブCPU330aは、取得態様記憶領域333に記憶されている停止用駆動態様テーブルを送信バッファにセットする。より具体的には、サブCPU330aは、取得態様記憶領域333のモータ領域saに記憶されている停止用駆動態様テーブルおよび各モータ領域saと対応づいた可動体モータの情報とを含むコマンドを送信バッファにセットする。これにより、ステップS1100−7の処理において、停止用駆動態様テーブルが可動体制御部370に送信される。
可動体制御部370は、停止用駆動態様テーブルを受信するとモータ駆動制御処理を実行し、停止用駆動態様テーブルに基づいて各可動体モータの駆動を停止させる。例えば、可動体制御部370は、現在駆動中であり停止制御の対象となる可動体モータとして可動体モータm1の情報を受信するとともに、可動体モータm1を停止させるための停止用駆動態様テーブルを受信したとする。このとき可動体制御部370は可動体モータ駆動制御処理において、可動体モータm1の駆動を停止させるための制御命令を励磁パターンに変換し、さらに励磁パターンをパルス信号に変換して役物モータ装置ymへ送信する。役物モータ装置ymが有するドライバ(不図示)は、パルス信号を受信すると駆動中の可動体モータm1に対する通電(励磁)を終了する。こうして、駆動中であった可動体モータm1の駆動が停止されることにより、可動体の1つである演出役物装置202の動作も停止状態に遷移する。可動体モータm2の停止制御も同様である。また、可動体モータ3の停止制御では、可動体モータm3の駆動を停止させるためのパルス信号がボタンモータ装置bmに送信され、パルス信号を受信した役物モータ装置ymの有するドライバ(不図示)は、駆動中の可動体モータm3に対する通電(励磁)を終了する。駆動中であった可動体モータm3の駆動が停止されることにより、可動体の1つである押下ボタン208aの動作も停止状態に遷移する。
(ステップS1410−19)
ステップS1410−19においてサブCPU330aは、停止セットカウンタ値kの値をクリアして全可動体制御処理を終了し、サブタイマ割込み処理(図36参照)に戻って、ステップS1400−31の補正処理を実行する。
本実施形態による遊技機100には、可動体制御部370が同時に制御可能な可動体モータ数の上限値(例えば16)が設定されている。一方で、遊技機100には、該上限値より多い数(例えば、48)の可動体モータが設けられている。遊技機100における可動体制御部370は、該上限を超過した分の可動体モータ(17個目以降の可動体モータ)に対する可動体モータ駆動制御処理を実行しない。例えば、10個の可動体モータが駆動中である場合に、さらに7個の可動体モータを駆動させるための駆動態様テーブルが可動体制御部370に送信されたとする。この場合、可動体制御部370は、送信された駆動態様テーブルに基づいてモータ駆動制御処理を実行し、駆動中の10個の可動体モータに加えてさらに6個(1個目から6個目)の可動体モータの駆動制御を実行する。しかし、可動体制御部370は、残りの1個(7個目)の可動体モータを駆動させるためのモータ駆動制御処理は実行しない。このように、遊技機100は、予め定められた上限数(16)を超える可動体モータ数の駆動制御が行われないように構成されている。
したがって、遊技機100において全ての可動体の動作を停止させる際に、現在駆動中否かという可動体モータの状態を考慮せず、単純に全可動体モータ数(例えば48個)の駆動態様テーブルを可動体制御部370に送信しても、可動体モータを停止するためのモータ駆動制御処理は16個の可動体モータに対して実行されるのみである。
例えば、48個の可動体モータのうち、対応する連番が1〜6の可動体モータおよび連番が21〜30の可動体モータが駆動中であったとする。このとき、単純に全可動体モータ数(48個)の駆動態様テーブルを可動体制御部370に送信しても、連番1〜16に対応する可動体モータに対して停止制御が行われるのみである。より具体的には、実際に駆動中の可動体モータのうち、連番が1〜6の6個の可動体モータに対しては停止制御が実行されるが、連番が7〜16の可動体モータ(駆動していない可動体モータ)に対しても停止制御が実行されてしまう。これにより、駆動中である21〜30の10個の可動体モータに対しては停止制御が行われないことが起こり得る。このように、単純に全可動体モータ数(例えば48個)の駆動態様テーブルを可動体制御部370に送信すると、停止制御の対象とするべき駆動中の可動体モータ対して停止制御が実行されないという問題が生じ得る。
これに対し、本実施形態における全可動体停止処理では、サブCPU330aは、複数の可動体モータを停止させる際に複数の可動体モータ(可動体モータm1,m2,m3)のそれぞれが駆動中であるか否かを判定する判定処理を行い(ステップS1410−5)、現在駆動中であると判定されたモータに対してのみ停止指示を行う(ステップS1410−17)。このため、本実施形態における遊技機100では、駆動中でないモータに対しては停止制御を実行しない。例えば、連番が1〜6の可動体モータおよび連番が21〜30の可動体モータが駆動中であれば、駆動中の可動体モータ(連番が1〜6の可動体モータおよび連番が21〜30の可動体モータ)に対してのみ停止制御が実行され、駆動していない可動体モータ(例えば、連番が7〜16の可動体モータ)に対しては停止制御が実行されない。
これにより、遊技機100は、可動体制御部370において同時に制御可能な可動体モータ数の上限を考慮しつつ、確実かつ容易に全可動体を停止させることができる。また、遊技機100は、駆動中の可動体モータに対してのみ停止制御を行うことで、可動体モータへの必要最低限の停止制御によって、全可動体を停止させることができる。また、図50に示すような全可動体停止処理を実現するプログラムを作成して全可動体停止処理を共通化しておけば、可動体制御に係る処理を実現する種々のプログラム上で該プログラムを呼び出すだけで確実かつ容易に全可動体を停止させることができる。これにより、遊技機100の開発時において、プログラム作成者の作業負荷を低減することができ、かつサブROM330bに格納されるプログラムのデータ量も削減することができる。
(変形例)
上記実施形態では、変動演出中において予告演出A,B,Cが開始されるタイミングは同一(例えば変動演出の開始時)に設定されているとしたが、本発明はこれに限られない。例えば、予告演出決定処理(ステップS1220−7)において、実行対象に決定された予告演出の実行タイミングも合わせて決定するように構成されていてもよい。
また、遊技機100において予告演出は大役抽選結果が大当たりである可能性の度合である期待度を示す演出であってもよい。また、予告演出A,B,Cは、それぞれ異なる期待度を示す演出であってもよい。この場合、可動体制御処理(図40参照)においてサブCPU330aが取得態様記憶領域333に駆動態様(駆動態様テーブル)を記憶する順番は、それぞれの駆動態様が対応する予告演出の期待度の昇順であってもよい。例えば、遊技機100における予告演出は、予告演出A,B,Cの順に高い期待度を示していると仮定する。このとき、サブCPU330aは、まず予告A動作を演出役物装置202に実行させる駆動態様(最も低い期待度を示す予告演出Aに対応する駆動態様)、次に予告B動作を演出役物装置202に実行させる駆動態様(2番目に高い期待度を示す予告演出Bに対応する駆動態様)、最後に予告C動作を演出役物装置202および演出操作装置208に実行させる駆動態様(最も高い期待度を示す予告演出Cに対応する駆動態様)の順に駆動態様を取得態様記憶領域333に記憶する。
また予告演出の期待度の昇順で駆動態様が取得態様記憶領域333に記憶される場合、サブCPU330aは、取得態様記憶領域333における一のモータ領域sa(例えば、モータ領域sa2)に複数の予告演出に対応する駆動態様(例えば駆動態様テーブル002Bおよび駆動態様テーブル002C)を順次書き換える際に、予告演出Bに応じた駆動態様(駆動態様テーブル002B)を、予告演出Bより高い期待度を示す予告演出Cに応じた駆動態様(駆動態様テーブル002C)で書き換える。このため、取得態様記憶領域333において先に記憶された一の駆動態様から書き換えられる他の駆動態様は、一の駆動態様による可動体の動作を伴う予告演出よりも期待度が高い予告演出に伴って可動体を動作させる駆動態様となる。したがって遊技機100は、取得態様記憶領域333において、相対的に高い期待度を示す予告演出に対応する駆動態様が相対的に低い期待度を示す予告演出に対応する駆動態様に書き換えられてしまうことを防止できる。さらに、モータ領域saにおいて複数の駆動態様を順次書き換える際に、既に記憶されている駆動態様による可動体の動作を伴う予告演出の期待度と、新たに記憶する駆動態様による可動体の動作を伴う予告演出の期待度を比較する処理が不要であり、プログラムのデータ量の増加を抑制することができる。
また、上記実施形態では、可動体制御部370が解析部および信号生成部を有しているとしたが、本発明はこれに限られない。副制御基板330において、解析部および信号生成部の機能をどのように分担するかは適宜設計することが可能である。また、副制御基板330に限らず、他の所定基板上に可動体制御部370の各機能ブロック(解析部、信号生成部)を設け、副制御基板330から該所定基板を中継して可動体モータの駆動制御を行うように構成してもよい。
また、上記実施形態においては、全可動体停止処理(図50参照)において停止用駆動態様テーブルを取得態様記憶領域333に記憶して(ステップS1410−7)、取得態様記憶領域333に記憶された停止用駆動態様テーブルを可動体制御部370に送信している(ステップSS1410−17)が、本発明はこれに限られない。例えば、ステップS1410−7においてサブCPU330aは、駆動中であって停止制御の対象となる可動体モータの情報をサブRAM330cの所定の記憶領域に記憶しておき、ステップS1410−17において所定の記憶領域に記憶された可動体モータ情報とモータ駆動態様記憶領域331に記憶されている停止用駆動態様テーブルとを可動体制御部370に送信してもよい。
また、上記実施形態において、遊技機100は電源断から復帰した場合やいずれかの可動体にエラーが発生した場合に全可動体停止処理を実行する(ステップS1400−1のYES)としたが、本発明はこれに限られない。遊技機100は、他の複数のタイミング、例えば変動演出の開始時または終了時等においても全可動体停止処理(図50参照)を実行するように構成されていてもよい。これにより遊技機100は、例えばより高い頻度で補正処理(ステップS1400―31)を実行する等、可動体をより緻密に制御することができる。また、遊技機100では、全可動体停止処理を実現するプログラムを呼び出すだけで確実かつ容易に全可動体を停止させることができるので、全可動体停止処理を実行するタイミングが増加した場合であっても、サブROM330bに格納されたプログラムのデータ量の増加を抑制することができる。
また、上記実施形態においては、遊技の進行を制御する主制御基板300と、主制御基板300から送信されるコマンドに基づいて演出を実行制御する副制御基板330とにおいて、上記のとおりに協働することで変動演出が実行されることとした。しかしながら、主制御基板300および副制御基板330において、上記の各機能をどのように分担するかは適宜設計することが可能である。
また、上記実施形態では、大当たりの当選確率を異にする2つの遊技状態と、第2始動口122への遊技球の入球容易性を異にする2つの遊技状態とを組み合わせた4つの遊技状態が設けられているが、遊技状態の内容や種類はこれに限定されるものではない。
また、上記実施形態では、特2保留が特1保留に優先して読み出されることとしたが、特1保留および特2保留を、入賞順すなわち記憶された順に読み出してもよいし、特1保留が特2保留に優先して読み出されることとしてもよい。いずれにしても、予め設定された始動条件が成立すると、保留情報を予め設定された順に読み出し、保留情報として読み出した大役用乱数値に基づいて、大役遊技の実行可否が抽選により決定されればよい。
また、上記実施形態では、第1始動口120および第2始動口122の2つの始動口を設ける場合について説明したが、始動口は1つでもよいし、3つ以上でもよい。なお、第2始動口122が閉状態にあるときには、当該第2始動口122に遊技球が入球不可能となるように構成したが、第2始動口122が閉状態にあるときにも、一定の頻度で遊技球が入球することとしてもよい。
上記実施形態において、サブCPU330a、ステップS1400−5、ステップS1400−13およびステップS1400−21が駆動態様決定部の一例に相当し、サブCPU330a、ステップS1400−9、ステップS1400−17およびステップS1400−25が特定領域記憶部の一例に相当し、可動体制御部370がモータ制御部の一例に相当する。また、上記実施形態において、サブCPU330aおよびステップS1410−5が判定部の一例に相当し、サブCPU330aおよびステップS1410−17がモータ停止指示部の一例に相当する。また、上記実施形態において、メインCPU300aが本発明の抽選手段の一例に相当し、サブCPU330aが演出実行手段に相当する。
以上、添付図面を参照しながら本発明の好適な実施形態とその変形例について説明したが、本発明はかかる実施形態等に限定されない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。