以下、本発明の「遊技機」としてのパチンコ遊技機10に係る一実施形態を、図1〜図36に基づいて説明する。図1に示すように、パチンコ遊技機10の遊技盤11には、遊技媒体としての遊技球を誘導可能な誘導レール12に囲まれた略円形の遊技領域R1が設けられている。
図1に示すように、遊技盤11は、前側を前面枠10Zにて覆われ、その前面枠10Zには、遊技領域R1に対応した略円形のガラス窓10Wが設けられている。そして、そのガラス窓10Wを通して遊技領域R1が前方に臨んでいる。前面枠10Zのうちガラス窓10Wの上方には左右に1対のスピーカ25S,25Sが設けられ、ガラス窓10Wより下方には、上皿27A及び下皿27Bが上下2段にして設けられている。
前面枠10Zの右下角部の後側には、発射装置の本体部(図示せず)が備えられ、その発射装置の一部である操作ノブ28が、前面枠10Zの右下角部の前面側に突出している。そして、操作ノブ28を例えば時計回り方向に回動操作すると、遊技球が遊技領域R1へと送り込まれる。
なお、上皿27Aに備えた上皿操作部29を押すと上皿27Aに収容されていた遊技球が下皿27Bへと移動する。また、下皿27Bの下方に容器(所謂、ドル箱)を配置して下皿27Bに備えた下皿球抜き操作部27Cを押すと下皿27Bに収容されていた遊技球が容器へと移動する。さらに、下皿27Bの左側には、操作ジョグ27Jが備えられ、下皿球抜き操作部27Cの右側には、球貸し状態表示モニター27D及び球貸し操作ボタン27Eが設けられている。
遊技領域R1の中央には、表示窓34Wが貫通形成され、その表示窓34Wの奥部には液晶表示装置34(TFT−LCDモジュール)が備えられている。また、表示窓34Wの縁部には、遊技盤11の前面側から表示枠体23が装着されている。
遊技領域R1のうち表示枠体23の下方における左右方向の中央部には、第1及び第2の始動入賞口14A,14B、大入賞口15及びアウト口16が、上から順に間隔を開けて並べて設けられ、左右両側部には、誘導レール12に沿って一般入賞口20,20及びサイドランプ22,22がそれぞれ設けられている。また、液晶表示装置34の左側には、始動ゲート18と風車19とが上下に並べて設けられている。これら各種入賞口14A,14B,15,20,液晶表示装置34等の役物以外に、遊技領域R1には、遊技球と当接して流下方向を様々に変化させることが可能な障害釘が分散配置されている。そして、遊技領域R1の右下方には、普通図柄表示装置18H、特別図柄保留数表示部14X、普通図柄保留数表示部18X、特別図柄表示装置14Hが上から順に設けられている。
次に所要の各部位についてさらに詳説する。
始動ゲート18は、遊技球が潜って通過可能な門形構造をなし、通過した遊技球は始動ゲート18に内蔵された普通図柄始動スイッチ18W(図3参照)によって検出される。この検出信号に基づいて、普通図柄当否判定が行われ、普通図柄表示装置18Hにて変動表示後に判定結果が停止表示される。詳細には、普通図柄表示装置18Hを構成する1つのLEDが、普通図柄変動中は点灯と消灯を繰り返し(点滅し)、普通図柄外れの場合消灯して非点灯状態となり、前記した普通図柄当否判定の結果が当り(以下「普通図柄当り」と呼ぶ)の場合点灯して停止表示する。この停止表示は、次の変動表示が開始されるまで続けられる。
普通図柄表示装置18Hが変動表示の最中に始動ゲート18を遊技球が通過した場合、その通過球は最大で4個まで保留記憶され、その保留球数は、普通図柄保留表示部18Xにて表示される。詳細には、普通図柄保留表示部18Xの2つのLEDによって、消灯、点灯、点滅を組み合わせて、普通図柄保留球数(0〜4個)を表示する。そして、普通図柄表示装置18Hの変動表示が終了すると、その保留記憶に基づいて再び普通図柄表示装置18Hが変動表示される。
第1及び第2の始動入賞口14A,14Bは、上下方向に並んで配置されている。各始動入賞口14A,14Bは、共に遊技盤11から突出した部材の上面に開口を備えた、所謂、ポケット構造をなしている。そして、各始動入賞口14A,14Bに入った遊技球は、遊技盤11に設けた図示しない貫通孔を通って、遊技盤11の裏側に回収される。
上側に配置された第1の始動入賞口14Aは、遊技球が1つだけ入る開口幅を有している。一方、下側に配置された第2の始動入賞口14Bは、第1の始動入賞口14Aの真下に配置され、その開口の左右両側には可動翼片14C,14Cが備えられている。これら両可動翼片14C,14Cは、常には起立状態になっており、両可動翼片14C,14Cに挟まれた第2の始動入賞口14Bの開口幅は、遊技球が1つだけ入る大きさとなっている。また、第2の始動入賞口14Bの上方空間は、常には、第1の始動入賞口14Aを構成する部材と可動翼片14C,14Cとで囲まれて、遊技球が入らないようになっている。そして、上述した普通図柄当りであった場合に、遊技盤11の裏に設けたソレノイド14S(図3参照)が駆動されて、可動翼片14C,14Cが所定期間(例えば、0.4秒間)に亘って横に倒される。すると、第2の始動入賞口14Bの上方空間が側方に開放し、第1の始動入賞口14Aの両脇を通過した遊技球が可動翼片14Cに受け止められて第2の始動入賞口14Bに案内されるようになる(図1の状態)。
各始動入賞口14A,14Bに遊技球が入賞すると、各始動入賞口14A,14B内に設けた始動口センサ14W1,14W2(図3参照)が遊技球を検出し、その検出信号に基づいて、例えば、4個の遊技球が賞球として上皿27Aに払い出されると共に、特別図柄当否判定が行われ、液晶表示装置34及び特別図柄表示装置14Hにおいて変動表示される。
具体的には、液晶表示装置34には、図1に示すように、通常、3つの左、中、右の装飾図柄32A,32B,32Cが横並びに表示されている。これら各装飾図柄32A,32B,32Cは、例えば、「0」〜「9」の数字を表記した複数種類のもので構成されており、通常は、各装飾図柄32A,32B,32Cごと、所定の種類のものが停止表示されている。そして、始動入賞口14A,14Bに遊技球が入賞したときに、これら3つの装飾図柄32A,32B,32Cが、上下方向にスクロール表示され、所定時間後に、例えば、左、中、右の順で各装飾図柄32A,32B,32Cが停止表示される。
装飾図柄32A,32B,32Cは、後述する主制御基板50によって、当否及び大当りの種別に基づき、「偶数(2,4,6,8)のぞろ目」や「奇数(1,3,5,7)のぞろ目」などの図柄の組み合わせが決定される。
なお、本実施形態において、液晶表示装置34で変動停止表示される各装飾図柄32A,32B,32Cのうち、最後に停止表示される装飾図柄(例えば中装飾別図柄32B)を除いて他の装飾図柄(例えば左装飾図柄32Aと右装飾図柄32C)が同一となる状態(最終停止図柄を除いて大当りの特別図柄組み合わせと等しくなる状態であり、最終的に大当りとなる場合と外れとなる場合が含まれる状態)をリーチ状態という。
そして、特別図柄表示装置14Hにおいても、変動表示後に判定結果が停止表示される。詳細には、特別図柄表示装置14Hは、2つの7セグメント表示器にて構成され、特別図柄変動中は「−」が点滅表示され、前記した特別図柄当否判定の結果が当り(以下「特別図柄当り」と呼ぶ)の場合、0〜9の数字とA〜Jのアルファベットの組み合わせによって表示され、外れの場合、「−−」が表示される。この停止表示は、次の変動表示が開始されるまで続けられる。
特別図柄表示装置14H及び液晶表示装置34において変動表示又は「大当り状態」の最中に始動入賞口14A,14Bに遊技球が入賞した場合、その入賞球は最大で4個まで保留記憶され、普通図柄保留表示部18Xと同様に特別図柄保留表示部14Xにて保留球数が表示される。そして、特別図柄表示装置14H及び装飾図柄32A,32B,32Cが停止表示又は「大当り状態」が終了すると、その保留記憶に基づいて再び特別図柄表示装置14H及び装飾図柄32A,32B,32Cが変動表示される。
大入賞口15は、横長矩形に形成されて、常には、可動扉15T(図1参照)にて閉塞されている。そして、特別図柄当りであった場合、遊技盤11の裏に設けた大入賞ソレノイド15S(図3参照)が駆動され、可動扉15Tが所定期間に亘って前側に倒れる。これにより、大入賞口15が開放され、可動扉15Tを案内にして、大入賞口15に多くの遊技球が入賞可能となる「大当り状態」となる。
大入賞口15の内部には、計数入賞口が設けられている。計数入賞口内には、カウント入賞口検出スイッチ15K(図3参照)が設けられており、遊技球の入賞を検出すると入賞球数をカウントし、入賞球が前記したように計10個に達したか否かをチェックする。なお、大入賞口15に遊技球が入賞すると、例えば、15個の遊技球が賞球として上皿27Aに払い出される。
さて、表示枠体23の一側辺部、下辺部及び上辺部と、液晶表示装置34の外縁部とによって前後方向から挟まれた部分には、図示しない可動役物収納部屋がそれぞれ備えられている。そして、各可動役物収納部屋には、本発明に係る駆動装置100A,100B,100C,100Dが収納され、図1に示すように液晶表示装置34の前面側かつ表示枠体23の内側に出現して、液晶表示装置34に表示の画像と重なって遊技を演出する。
詳細には、駆動装置100Aは刀形状の駆動役物であり、図1の左方向に倒れる様に駆動する(図31参照)。また、駆動装置100Bは大砲形状の駆動役物であり、通常時は下側に隠れた形で可動役物収納部屋に収まっており(図31参照)、駆動時に図1に示す位置に移動する。また、駆動装置100Cは、歯車形状の駆動役物であり、回転駆動を行う。そして、駆動装置100Dは、遊技機ロゴ形状の駆動役物であり、図31及び図32に示すように下方向に落ちる形で上下に駆動することが可能である。各駆動装置100A,100B,100C,100Dは、それぞれステッピングモータ或いはソレノイドによって駆動する。そして、特別図柄表示装置14H及び液晶表示装置34における変動表示中に、駆動装置100A,100B,100Cを駆動して予告演出を行い、大当り状態になると、駆動装置100C及び駆動装置100Dを駆動して大当り状態を演出する。
例えば、本実施形態では、これら駆動装置のうち、駆動装置100A,100B,100Cについては、1つの駆動装置を駆動させるのにそれぞれ0.7A(アンペア)必要となる。そのため、同時に3つ駆動すると約2.1A消費されることになり、サブ制御基板57の電流制限により、本実施形態における駆動装置で使用できる上限の消費電力である2.0Aを超えてしまう。また、駆動装置100A,100Dについては、各駆動装置の動作範囲内に同時に駆動すると互いに機械的に干渉してしまう干渉領域が含まれている(図33参照)。このため、駆動装置100A,100B,100Cと、駆動装置100A,100Dは、後述するサブ制御基板57における情報処理によって、それぞれ同時駆動することがないように制御されている。なお、駆動装置100A,100B,100Cの3つの駆動装置を同時に駆動させる組み合わせが、本発明に係る「特別組み合わせ」に相当し、駆動装置100A,100Dの2つの駆動装置を同時に駆動させる組み合わせが、本発明に係る「特別組み合わせ」及び「干渉組み合わせ」に相当する。以上が遊技領域R1に備えた各種役物に関する説明である。
図2に示すように、パチンコ遊技機10の後面には、各種制御基板を覆うケースが設けられている。具体的には、パチンコ遊技機10の後面中央には、主制御基板50が設けられ、この主制御基板50の上方には、音声制御基板55、サブ制御基板57、演出制御基板70が設けられている。さらに、各制御基板50,55,57,70の下方には、電源基板60、払出制御基板58が備えられている。各制御基板は、電源基板60から電源供給を受けて作動する。
次に、図3を参照しつつ、本実施形態のパチンコ遊技機10の電気的な構成について説明する。
同図において符号50は、主制御基板50であって、CPU51AとRAM51B及びROM51C、複数のカウンタを備えたマイクロコンピュータと、該マイクロコンピュータとサブ制御基板57を結ぶ入出力回路と、大入賞口15等が接続された中継回路80及び払出制御基板58等を結ぶ入出力回路を備え、遊技に関わる主制御を行う。CPU51Aは、当否判定部、制御部、演算部、各種カウンタ、各種レジスタ、各種フラグ等を備え、演算制御を行う他、特別図柄当りや普通図柄当りに関する乱数等も生成し、制御信号をサブ制御基板57等へ出力(送信)可能に構成されている。RAM51Bは、始動口センサ14W1,14W2で検出された特別図柄用保留球数及び普通図柄始動スイッチ18Wで検出された普通図柄用保留球数の記憶領域、CPU51Aで生成される各種乱数値用の記憶領域、各種データを一時的に記憶する記憶領域やフラグ、CPU51Aの作業領域を備える。ROM51Cには、後述する主制御基板メインプログラムPG1(図5参照)や制御データ、特別図柄表示装置14Hや普通図柄表示装置18Hでの変動表示に関する図柄変動データ等が書き込まれている他、特別図柄当り及び普通図柄当りの判定値等が書き込まれている。
サブ制御基板57は、主制御基板50と同様に、CPU52AとRAM52B、ROM52C、複数のカウンタを備えたマイクロコンピュータと、前記マイクロコンピュータと主制御基板50を結ぶ入出力回路と、演出制御基板70及びサブドライブ基板71等を結ぶ入出力回路を備えている。CPU52Aは、制御部、演算部、各種カウンタ、各種レジスタ、各種フラグ等を備え、演算制御を行う他、制御信号を演出制御基板70及びサブドライブ基板71、音声制御基板55等へ出力(送信)可能に構成されている。RAM52Bは、各種データの記憶領域とCPU52Aによる作業領域を有している。ROM52Cは、後述するサブ制御基板メインプログラムPG2(図18参照)や定数、図30(B)に一例を示した動作態様データテーブル等が記憶されている。なお、ROM52Cが、本発明に係る「動作態様データ記憶手段」に相当する。
サブ制御基板57は、主制御基板50から出力された制御信号を受信し、受信した制御信号に基づいて、演出制御基板70等へ制御信号を出力している。主制御基板50からの制御信号には、変動パターンや遊技の当否情報が含まれ、サブ制御基板57により電気的作動部材を制御するための制御信号が含まれている。電気的作動部材としては、サブドライブ基板71(サイドランプ22,22、駆動装置100A,100B,100C,100Dを含む)、演出制御基板70(液晶表示装置34等を含む)、音声制御基板51(スピーカ25S、25S)等が挙げられる。
演出制御基板70は、サブ制御基板57からの制御信号に基づきCPUがROMから所定の表示制御データを読み出し、RAMの記憶領域で制御用データを生成してVDP(図示せず)に出力する。VDPは、CPUからの指令に基づいてROMから必要なデータを読み出し、液晶表示装置34で表示する表示画像(装飾図柄32A,32B,32C、演出図柄、背景画像、キャラクター画像、文字画像等)のマップデータを作成し、VRAMに格納する。VRAMに格納記憶された画像データは、入出力回路に備えるD/A変換回路にてRGB信号に変換されて液晶表示装置34に出力される。なお、演出制御基板70及び液晶表示装置34が、本発明に係る「表示手段」に相当する。
サブドライブ基板71は、サブ制御基板57と接続され、サブ制御基板57から出力されたサイドランプ22,22等の電飾制御や、駆動装置100A,100B,100C,100Dのステッピングモータやソレノイド等の駆動制御を行うための制御信号を中継するための基板である。
音声制御基板55は、サブ制御基板57から出力される制御信号に基づき、スピーカ25S,25Sから発生されるBGMや演出時の音声の選択を行い、音声を制御する。
上記した本実施形態のパチンコ遊技機10の動作を実現するため、主制御基板50、サブ制御基板57等は、前記した主制御基板メインプログラムPG1、サブ制御基板メインプログラムPG2等を実行して、情報を処理している。以下、主制御基板50及びサブ制御基板57における情報処理に関して詳説する。
図4には、主制御基板50に備えられたRAM51Bの記憶領域R0が概念的に示されている。この記憶領域R0は、例えば、複数のアドレス空間に区分されてアドレス(番地)が付されている。そして、所定のアドレス空間に設けられたカウンタ値記憶領域R10が、表1(A)に示した各種の乱数カウンタ値のデータ格納部になっている。また、アドレス空間に設けられた普通図柄カウンタ値記憶領域R11が、表1(B)に示した普通図柄当りの判定を行うための乱数カウンタ値のデータ格納部になっている。さらに、このアドレス空間は、乱数カウンタのデータ格納部以外にも、例えば、フラグ等のデータ格納部としても用いられている。また、RAM51Bには、カウンタ値の更新値記憶領域、CPU51Aの作業領域も備えられている。
上記表1(A)において、「大当り判定用(ラベル−TRND−A)」乱数カウンタは、特別図柄当りの判定に用いられ、0〜629の乱数からなる。また、「大当り図柄決定用(ラベル−TRND−AZ)」乱数カウンタは、特別図柄当りが大当りの場合の大当りの種別を決定するのに用いられ、0〜9の乱数からなる。そして、「リーチ有無決定用(ラベル−TRND−RC)」乱数カウンタは、大当り判定乱数値による当否判定結果が外れとなる場合において、リーチ状態を経るか否かを決めるリーチ有無決定用のものであり、0〜126の乱数からなる。なお、大当りの場合、本実施形態では必ずリーチになるため、「リーチ有無決定用(ラベル−TRND−RC)」乱数カウンタは使用されない。「変動態様決定用(ラベル−TRND−T)」乱数カウンタは、変動パターンテーブルから変動パターンを選択する際に用いられるものであり、0〜198の乱数からなる。そして、当り図柄決定用乱数「ラベル−TRND−NO」は、大当り時の装飾図柄32A,32B,32Cを決定するものであり、「0〜9」の乱数で構成されている。これら乱数カウンタは、パチンコ遊技機の電源オン時、0から始まって後述する乱数更新処理(S3,S13)ごとに1ずつ加算され、「数値範囲」の最大値に至ると0にされて再び前記加算を繰り返すようになっている。
また、左図柄決定用乱数「ラベル−TRND−B1」は、左装飾図柄32Aの外れ図柄作成に使用する乱数であり、電源オン時に0からスタートし、乱数更新処理で1加算される。そして、このカウンタが9までいくと再び0に戻って加算を繰り返す。中図柄決定用乱数「ラベル−TRND−B2」は、中装飾図柄32Bの外れ図柄作成に使用する乱数であり、電源オン時に0からスタートし、左図柄決定用乱数「ラベル−TRND−B1」が0に戻る毎に1加算される。そして、このカウンタが9までいくと再び0に戻って加算を繰り返す。右図柄決定用乱数「ラベル−TRND−B3」は、右装飾図柄32Cの外れ図柄作成に使用する乱数であり、電源オン時に0からスタートし、中図柄決定用乱数「ラベル−TRND−B2」が0でない時に1加算される。そして、このカウンタが9までいくと再び0に戻って加算を繰り返す。
そして、上記表1(B)において、「普通図柄当り判定用(ラベル−TRND−H)」乱数カウンタは、普通図柄当りの判定に用いられ、0〜9の乱数からなる。この乱数カウンタは、パチンコ遊技機の電源オン時、0から始まって後述する乱数更新処理(S3,S13)ごとに1ずつ加算され、「数値範囲」の最大値に至ると0にされて再び前記加算を繰り返すようになっている。
上記表1に示した乱数カウンタは、逐次、そのカウント結果、即ち、「カウンタ値」が、図4の記憶領域R0のうちカウンタ値記憶領域R10,R11とは別の更新値記憶領域に格納されていく。これにより、更新値記憶領域に格納されているデータが更新されていき、上記表1に示した各乱数カウンタのカウンタ値同士の組み合わせが変化していく。
そして、始動入賞口14A,14Bに遊技球が入賞したときには、表1(A)に示した乱数カウンタの値がカウンタ値記憶領域R10に格納(記憶)され、始動ゲート18を遊技球が通過したときには、表1(B)に示した乱数カウンタの値が普通図柄カウンタ値記憶領域R11に格納(記憶)される。
ここで、カウンタ値記憶領域R10には、上記した始動入賞口14A,14Bに記憶される保留球数の保留上限数の「4つ」に対応して4組の乱数値群(更新値記憶領域の各種カウンタ値群)が格納(記憶)されるようになっている。また、普通図柄カウンタ値記憶領域R11にも、上記した始動ゲート18に記憶される保留球の保留上限数の「4つ」に対応して4組の乱数値群(更新値記憶領域の各種カウンタ値群)が格納(記憶)されるようになっている。
主制御基板50に備えたワンチップマイコンは、パチンコ遊技機10の電源をオンすると、ROM51Cから図5に示した主制御基板メインプログラムPG1を取り出してランする。同図に示すように、主制御基板メインプログラムPG1がランされると、まずスタックの設定、定数設定、CPU51Aの設定、SIO、PIO、CTC(割り込み時間用コントローラ)の設定等を行う初期設定が行われる(S1)。なお、初期設定(S1)は、主制御基板メインプログラムPG1が、電源オン後の1回目にランされたときだけ実行され、それ以降は実行されない。
図5に示すように、初期設定(S1)に次いで、後述する主制御基板割り込み処理(S5)が実行されるまでの残余時間には、以下のステップ2〜S4の各処理がループして行われる。まず、割り込みが禁止され(S2)、タイマ割り込みが入って来ても割り込み許可となるまで割り込み処理を行わないようにさせる。続いて、普通図柄・特別図柄乱数更新処理(S3)が実行される。この処理(S3)では、上記表1に示した乱数カウンタが1加算されて更新される。更新されたカウンタ値は主制御基板50のRAM51Bの記憶領域R0(図4参照)のうち、前記した更新値記憶領域に逐一記憶される。普通図柄・特別図柄乱数更新処理(S3)が終了すると、割り込みが許可され(S4)、主制御基板割り込み処理(S5)が実行可能となる。
主制御基板割り込み処理(S5)は、CPU51Aに割り込みパルスが入力すると、例えば、4msec周期で繰り返して実行される。そして、主制御基板割り込み処理(S5)が終了してから、次に主制御基板割り込み処理(S5)が開始されるまでの残余処理期間中に、普通図柄・特別図柄乱数更新処理(S3)による各種カウンタ値の更新処理が複数回に亘って繰り返し実行される。また、割り込み禁止状態のときにCPU51Aに割り込みパルスが入力した場合は、主制御基板割り込み処理(S5)はすぐには開始されず、割り込み許可(S4)がされてから開始される。
主制御基板割り込み処理(S5)について説明する。図6に示すように、主制御基板割り込み処理(S5)では、まず、出力処理(S10)が行われる。出力処理(S10)では、以下説明する各処理により主制御基板50の出力バッファに記憶された各コマンド(制御信号)等が、対応する制御基板等へ出力される。ここで出力されるコマンド(制御信号)には、変動パターンコマンド等が挙げられる。
出力処理(S10)に次いで、入力処理(S11)が行われる。入力処理(S11)では、主にパチンコ遊技機10に取り付けられている各種センサ(普通図柄始動スイッチ18W、始動口センサ14W1,14W2、その他センサ、スイッチ類等(図3参照))が検知した場合の信号入力が行なわれる。
続いて行われる動作タイマー減算処理(S12)では、動作タイマーを減算する。
次に行われる普通図柄・特別図柄主要乱数更新処理(S13)は、上記した主制御基板メインプログラムPG1のループ処理内で行われている普通図柄・特別図柄主要乱数更新処理(S3)と同じである。即ち、上記表1に示した各種カウンタ値は、主制御基板割り込み処理(S5)の実行期間と、その残余処理期間(主制御基板割り込み処理(S5)の終了後、次の主制御基板割り込み処理(S5)が開始されるまでの期間)の両方で行われている。
普通図柄・特別図柄主要乱数更新処理(S13)に次いで、入賞検出処理(S15)が実行される。入賞検出処理(S15)は、図7に示されており、まず、遊技球が始動ゲート18を通過したかどうかを判断する(S150)。遊技球が始動ゲート18を通過していれば(S150でyes)、普通図柄保留球数をロードし、普通図柄保留球数が4以上であるか判断する(S151)。普通図柄保留球数が4以上でなければ(S151でno)、普通図柄保留球数に1を加算し(S152)、普通図柄関係乱数取得処理(S153)を実行して更新値記憶領域から普通図柄当り乱数「ラベル−TRND−H」値を乱数として取得して各保留に対応した乱数バッファ(R11)へ転送する。一方、遊技球が始動ゲート18を通過していない場合(S150でno)、及び、普通図柄保留球数が4以上である場合(S151でyes)、ステップ154へジャンプする。
ステップ154では、始動入賞口14A,14Bに遊技球が入賞したかどうか判断する。そして、始動入賞口14A,14Bに遊技球が入賞していなければ(S154でno)この処理(S15)を終了する一方、入賞していれば(S154でyes)特別図柄保留球数(始動入賞口の保留球数)をロードし、特別図柄保留球数が4以上であるか判断する(S155)。特別図柄保留球数が4以上である場合(S155でyes)、ただちにこの処理(S15)を終了する一方、特別図柄保留球数が4以上でなければ(S155でno)、特別図柄保留球数に1加算して(S156)、特別図柄関係乱数取得処理(S157)を実行して更新値記憶領域から当該入賞に対する各カウンタ(大当り判定用乱数「ラベル−TRND−A」及び大当り図柄決定用乱数「ラベル−TRND−AZ」の値等を乱数として取得して各保留に対応した乱数バッファ(R10)へ転送する。
図6に示すように、入賞検出処理(S15)に次いで、普通動作処理(S16)が行われる。主制御基板50は、この処理(S16)によって、普通図柄当り乱数「ラベル−TRND−H」値に基づいて、普通図柄当りの判定や普通図柄表示装置18Hでの普通図柄の変動及び停止表示、普通図柄当りに基づく始動入賞口14Bにおける可動翼片14C,14Cの開閉を、サブ制御基板57を介さずに直接制御して、普通図柄当りに関する処理を行う。なお、本実施形態では、通常遊技時であれば、普通図柄当り乱数「ラベル−TRND−H」値が8,9の何れかと一致すれば普通図柄当りとなり、確変遊技時であれば、普通図柄当り乱数「ラベル−TRND−H」値が1〜9の何れかと一致すれば普通図柄当りとなる。即ち、確変遊技時は、普通図柄当りとなる確率が高くなる。
図6に示すように、普通動作処理(S16)に次いで行われる特別動作処理(S17)は、特別図柄表示装置14Hの表示状態を直接制御する一方、サブ制御基板57を介して液晶表示装置34、ランプ装置、駆動装置100A,100B,100C,100D、スピーカ25S,25Sを間接的に制御する。
この特別動作処理(S17)は、図8に示されており、特別動作ステータスの値を見て、特別図柄待機処理(S172)、変動中処理(S174)、特別図柄確定処理(S176)、特別電動役物処理(S177)の何れかの処理を行う。詳細には、「特別動作ステータス」が「1」である場合に(S171でyes)、特別図柄待機処理(S172)を行い、「特別動作ステータス」が「2」である場合に(S171でno,S173でyes)、変動中処理(S174)を行い、「特別動作ステータス」が「3」である場合に(S171,S173で共にno、S175でyes)、特別図柄確定処理(S176)を行い、「特別動作ステータス」が「4」である場合に(S171,S173,S175でno)、特別電動役物処理(S177)を行う。
図8に示した特別動作処理(S17)において、特別図柄待機処理(S172)が実行されると、図9に示すように、まず、特別図柄保留球数が「0」か否かがチェックされる(S200)。特別図柄保留球数が「0」である場合(S200でyes)、即ち、始動入賞口14A,14Bへの入賞に起因して取得された各種カウンタ値の記憶が無い場合には、待機画面であるか否かがチェックされる(S201)。そして、待機画面中である場合(S201でyes)には、直ちにこの処理(S172)を抜ける一方、待機画面中でない場合(S201でno)には、待機画面設定処理(S202)を行ってから、この処理(S172)を抜ける。
一方、特別図柄保留球数が「0」ではない場合(S200でno)、即ち、始動入賞口14A,14Bへの入賞に起因して取得された各種カウンタ値の記憶が1つ以上ある場合には、以下のステップ203〜S208の処理が行われる。
特別図柄大当り判定処理(S203)は、図10に示されており、「大当り遊技」の実行の可否を判定する。まず、判定値として、RAM51B(R10)の最下位のカウンタ値記憶領域(即ち特別図柄保留1個目にあたるRAM領域)に記憶された各種乱数値がロードされて、大当り判定用カウンタ「ラベル−TRND−A」値を読み出す(S310)。次に、大当り判定値テーブルのアドレスをセットする(S311)。そして、確変中(確変フラグがセットされている)か否かがチェックされる(S312)。確変中でない場合(S312でno)、即ち通常遊技状態では、本実施形態では大当り判定用乱数「ラベル−TRND−A」が「77,78」の何れの当り数値の何れかと一致したか否かがチェックされ(S313)、確変中である場合(S312でyes)、本実施形態では大当り判定用乱数「ラベル−TRND−A」が、「77〜96」の20個の当り数値の何れかと一致したか否かがチェックされる(S314)。即ち、確変遊技時は、特別図柄当りとなる確率も高くなる。
そして、各ステップS313,S314において、取得した大当り判定用乱数「ラベル−TRND−A」が何れかの当り数値と一致した場合には(S313でyes又はS314でyes)、大当りフラグをオンして(S315)、この処理(S203)を抜ける。一方、取得した大当り判定用乱数「ラベル−TRND−A」値が何れの当り数値とも一致しなかった場合には(S313でno又はS314でno)、直ちにこの処理(S203)を抜ける。
図9に示すように、特別図柄大当り判定処理(S203)に続いて、特別図柄変動態様選択処理(S204)が実行される。この処理(S204)は、図11に示されており、変動態様決定用乱数「ラベル−TRND−T」値に基づいて変動パターンを選択する。
最初に、遊技状態が確変中か否かが判別される(S330)。通常状態であると判断された場合(S330でno)には、大当りフラグがONしているか否かが判別される(S331)。そして、大当りフラグがONの場合(S331でyes)、図29に示す変動パターンテーブルのうち、遊技状態が「通常」の「当り」の欄から、変動態様決定用乱数「ラベル−TRND−T」値に基づいて、変動パターン1,2の何れかを選択する(S332)。具体的には、例えば、変動態様決定用乱数「ラベル−TRND−T」値が「0〜194」の何れかであるときは変動パターン1が選択され、「195〜198」の何れかであるときは変動パターン2が選択される。そして、ステップ341へ進む。
一方、ステップ331において、大当りフラグがONでない場合(S331でno)には、リーチ有無決定用乱数「ラベル−TRND−RC」値がリーチ成立値であるかが判断される(S333)。本実施形態では、リーチ有無決定用乱数「ラベル−TRND−RC」値が、「5、17、28、40、51、63、74、86、97、109、120」の何れかと一致すると、リーチが成立する。
リーチ成立の場合(S333でyes)は、図29に示す変動パターンテーブルのうち、遊技状態が「通常」の「リーチハズレ」の欄から、変動態様決定用乱数「ラベル−TRND−T」値に基づいて、変動パターン3〜6の何れかを選択し(S334)、ステップ341へ進む。一方、リーチ成立でない場合(S333でno)は、図29に示す変動パターンテーブルのうち、遊技状態が「通常」の「ハズレ」の欄から、変動態様決定用乱数「ラベル−TRND−T」値に基づいて、変動パターン7,8,9の何れかを選択し(S335)、ステップ341へ進む。
また、ステップ330において、遊技状態が確変状態であると判断された場合(S330でyeso)には、上記したステップ331〜S335と同様の手順で、ステップ336〜S340が実行される。なお、ステップ336〜S340では、図29に示す変動パターンテーブルのうち、遊技状態が「確変」の欄から変動態様決定用乱数「ラベル−TRND−T」値に基づいて変動パターンを選択し、ステップ341へ進む。
そして、ステップ341にて、その他の処理を行って、この処理(S204)を抜ける。
図9に示すように、特別図柄変動態様選択処理(S204)に続いて、図柄作成処理(S205)が実行される。この処理(S205)は、図12に示されており、装飾図柄32A,32B,32Cを決定する。
まず、大当りフラグがONか否か判断する(S350)。そして、大当りフラグがONであれば(S350でyes)、当り図柄決定用乱数「ラベル−TRND−NO」値を、左図柄、中図柄、右図柄にセットし(S351)、この処理(S205)を終了する。
一方、大当りフラグがONでなければ(S350でno)、左図柄決定用乱数「ラベル−TRND−B1」、中図柄決定用乱数「ラベル−TRND−B2」、右図柄決定用乱数「ラベル−TRND−B3」の値を取得する(S352)。そして、各乱数値が一致しているか判断し(S353)、一致していれば(S353でyes)、リーチ有無決定用乱数「ラベル−TRND−RC」値がリーチ成立乱数値と一致しているかどうか判断し(S354)、一致していない場合(S354でno)ステップ358へジャンプする一方、一致していれば(S354でyes)中図柄決定用乱数「ラベル−TRND−B2」値を+1する(S355)。
また、左・中・右の各乱数値が一致していなければ(S353でno)、続いて、左・右の乱数値が一致しているか判断する(S356)。そして、左・右の乱数値が一致していれば(S356でyes)、リーチ有無決定用乱数「ラベル−TRND−RC」値がリーチ成立乱数値と一致しているかどうか判断し(S357)、一致していなければ(S357でno)右図柄決定用乱数「ラベル−TRND−B3」値を+1する(S358)一方、一致していれば(S357でyes)取得した停止図柄に基づく値にする(S360)。
そして、左・右の乱数値が一致していなければ(S356でno)、リーチ有無決定用乱数「ラベル−TRND−RC」値がリーチ成立乱数値と一致しているかどうか判断し(S359)、一致していなければ(S359でno)、ステップ360へジャンプする一方、一致していれば(S359でyes)、右図柄を左図柄決定用乱数「ラベル−TRND−B1」値と同一数値とし、中図柄を左図柄決定用乱数「ラベル−TRND−B1」値に+1した値にする(S361)。以上により、装飾図柄32A,32B,32Cが決定される。
図9に示すように、図柄作成処理(S205)に続いて、特別図柄乱数シフト処理(S206)を行い、特別図柄保留球数(RAM51Bの特別図柄の保留数記憶領域の数値)を1ディクリメントすると共に、各種カウンタ値の格納場所を1つ下位側にシフトして、特別図柄保留4個目にあたるRAM領域を0クリアする。続いて、特別図柄変動開始処理(S207)が行われ、特別動作ステータスを「2」に設定すると共に、特別図柄が変動中であることを示すため変動中フラグを1にセットするなど、特別図柄の変動開始に必要な処理が行われる。そして、選択された変動パターンに応じた「変動パターンコマンド」がRAM51Bの出力バッファにセットされる(S208)。これにより、RAM51Bの出力バッファにセットされた「変動パターンコマンド」が、上記した出力処理(S10)によってサブ制御基板57に出力される。そして、特別図柄保留球数が0になるまで、これら特別図柄に対する処理(S203〜S208)が行われ、特別図柄保留球数が消化されることとなる。以上が特別図柄待機処理(S172)の説明である。
図8に示した特別動作処理(S17)において、変動中処理(S174)を実行すると、図13に示すように、変動時間が経過したか否かがチェックされる(S262)。ここでいう「変動時間」は、特別図柄変動態様選択処理(S204、図11参照)で設定された変動パターンに応じた変動時間(図29参照)のことであり、変動時間のタイマを確認することで、現在変動中の図柄の動作終了時間か否かを判定する。そして、変動時間が経過していない場合(S262でno)には、直ちにこの処理(S174)を抜けて変動表示を続行する。
一方、変動時間が経過している場合(S262でyes)、変動停止コマンドをセットし(S263)、特別動作ステータスを「3」にセットして(S264)、その他の処理(S265)を行ってから、この処理(S174)を抜ける。
図8に示した特別動作処理(S17)において、特別図柄確定処理(S176)を実行すると、図14に示すように、最初に大当りフラグがONしているか否か(大当りか否か)がチェックされる(S270)。大当りフラグがONしている場合(S270でyes)には、大当りの種別に応じた特別電動役物の動作カウンタ並びにラウンドカウンタのテーブルがセットされ(S271)、特別動作ステータスを4にセットする(S272)。ここで、ラウンドカウンタとは、「大当り遊技」における「ラウンド」数をカウントするものであり、本実施形態では、ラウンドカウンタの初期値は「15」に設定されている。
一方、大当りフラグがONでない場合(S270でno)、特別動作ステータスを「1」にセットして(S273)、この処理(S176)を抜ける。
図8に示した特別動作処理(S17)において、特別電動役物処理(S177)を実行すると、図15に示すように、大当り終了フラグがオンか否かがチェックされる(S281)。大当り終了フラグがオンではない場合(S281でno)、即ち、「大当り遊技」の実行中である場合には、開放フラグに基づいて、大入賞口15が開放中か否かがチェックされる(S282)。
大入賞口15が開放中(開放フラグがオン)である場合(S282でyes)には、ラウンド終了条件が成立したか否かがチェックされる。具体的には、大入賞口15に遊技球が規定数(本実施形態では10個)入賞したか否か(S286)、開放カウンタに対応したラウンド終了時間となった(例えば大入賞口15の開放時間が15秒となり大入賞口の開放回数が0になった)か否か(S287)がチェックされる。そして、ラウンド終了条件が不成立であった場合(S286及びS287の何れもno)には、直ちにこの処理(S177)を抜ける一方、ラウンド終了条件が成立した場合(S286及びS287の何れかでyes)には、ラウンド終了時の処理(S288〜S292)が行われる。
大入賞口閉鎖処理(S288)では、大入賞口閉鎖のコマンドがサブ制御基板57に送信される。次いで、ラウンドカウンタを1ディクリメントして(S289)、ラウンドカウンタが「0」となったか否かチェックし(S290)、ラウンドカウンタが「0」ではない場合(S290でno)、即ち、「大当り遊技」が、最大ラウンドまで行われていない場合には、直ちにこの処理(S177)を抜ける。
一方、ラウンドカウンタが「0」となった場合(S290でyes)、即ち、大当り遊技が最大ラウンドまで行われた場合には、大当り終了処理(S291)が行われる。大当り終了処理(S291)において、保留記憶領域内に記憶されている大当り乱数データを大当り終了コマンドとともに、サブ制御基板57に送信する。そして、大当り終了フラグをオンして(S292)、この処理(S177)を抜ける。
ステップ282において、大入賞口15が閉鎖中(開放フラグがオフ)の場合(S282でno)には、大入賞口15を開放する時間となったか否かがチェックされる(S283)。大入賞口開放時間でない場合(S283でno)には、この処理(S177)を抜ける一方、大入賞口開放時間である場合(S283でyes)には、大入賞口開放処理(S284)を行い、この処理(S177)を抜ける。
また、上記ステップ281において、大当り終了フラグがオンであった場合(S281でyes)、即ち、大当り遊技が最大ラウンドまで行われた場合には、大当り終了フラグ及び大当りフラグを全てオンからオフに切り替え(S293,S294)、大当りの種別が確変か否かをチェックする(S295)。確変である場合(S295でyes)、確変フラグをONに切り替え(S296)、確変でない場合(S295でno)、確変フラグをOFFに切り替える(S297)。そして、特別動作ステータスを「1」にセットして(S298)、この処理(S177)を抜ける。以上が特別動作処理(S17)の説明である。
図6に示すように、主制御基板割り込み処理(S5)では、特別動作処理(S17)に次いで保留球数処理(S18)が行われる。この処理(S18)は、図16に示されており、RAM51Bに記憶されたカウンタ値群の組数から保留球数を読み取り(S180)、その保留球数のデータを、RAM51Bの出力バッファにセットする(S181)。
図6に示すように、主制御基板割り込み処理(S5)では、保留球数処理(S18)に次いで、電源断監視処理(S19)が行われる。この処理(S19)は、図17に示されており、電源断信号が入力された(本実施例では12ms続いた)か否かが判定される(S190)。そして、電源断信号が入力されていれば(S190でyes)、現在のデータをRAM51Bへ記憶し(S191)、電源断フラグをONする(S192)。その後、無限ループへ移行し待機状態とされる。
図6に示すように、主制御基板割り込み処理(S5)では、電源断監視処理(S22)に次いで、本発明に深く関連しないその他の処理(S23)を実行して、主制御基板割り込み処理(S5)から抜ける。そして、図5に示すように、次にメインCPU51Aに割り込みパルスが入力するまで、ステップ2〜S4の処理が繰り返し実行され、割り込みパルスの入力を起因(約4msec後)に、再度、主制御基板割り込み処理(S5)が実行される。すると、上述の如く、前回、主制御基板割り込み処理(S5)が実行されたときにRAM51Bの出力バッファにセットされた制御データが、次に実行された主制御基板割り込み処理(S5)の出力処理(S10)において出力される。以上が主制御基板メインプログラムPG1の説明である。
さて、サブ制御基板57(図3参照)に備えられたRAM52Bの記憶領域も、主制御基板50におけるRAM51Bの記憶領域と同様に、複数のアドレス空間に区分されてアドレス(番地)が付されている。そして、所定のアドレス空間で構成されたカウンタ値記憶領域が、表2に示した乱数カウンタのデータ格納部として設けられている。また、このアドレス空間は、乱数カウンタの更新領域以外にも、例えば、フラグ等のデータ格納部としても用いられている。
上記表2において、予告抽選用乱数「ラベル−TRND−SUB−Y」は、予告演出を決定するものであり、「0〜99」の乱数で構成されている。
サブ制御基板57のCPU52Aは、図18に示したサブ制御基板メインプログラムPG2をランしている。そのサブ制御基板メインプログラムPG2をランすると、割り込み処理の禁止(S50)及びCPU初期化処理(S51)が行われ、スタックの設定、定数設定、CPU52Aの設定、SIO、PIO、CTC(割り込み時間用コントローラ)等の設定や各種フラグ及びカウンタ値のリセット等を行う。また、電源基板60に電源をオンすると、電源基板60から電源断信号がサブ制御基板57に送信される。この電源断信号が送信されたときに、RAM52Bのバックアップデータの内容が正常かどうか判断する(S52)。正常であれば(S52でyes)、ステップ54へ進み、RAM52Bの内容が正常でなければ(S52でno)、RAM52Bを初期化し、各種フラグ及びカウンタ値がリセットされ(S53)、ステップ54へ進む。そして、ステップ54にて、割り込み処理が許可される。これらステップ50〜S54は、サブ制御基板メインプログラムPG2が、電源オン後の1回目にランされたときだけ実行され、それ以降は実行されない。
ステップ50〜S54を終えると、各種乱数の更新を行う乱数シード更新処理(S55)を、所定周期で無限に繰り返して行う。
サブ制御基板メインプログラムPG2の無限ループに対して、サブ制御コマンド受信割り込み処理(S56)、2msタイマ割り込み処理(S57)、10msタイマ割り込み処理(S58)が割り込んで実行される。サブ制御コマンド受信割り込み処理(S56)は、サブ制御基板57が主制御基板50からストローブ信号を受けると、他の割り込み処理(S57,S58)より優先して実行される。また、2msタイマ割り込み処理(S57)は、10msタイマ割り込み処理(S58)より優先して行われ、10msタイマ割り込み処理(S58)は、2msタイマ割り込み処理(S57)間の残余時間に割り込んで行われる。
サブ制御コマンド受信割り込み処理(S56)が実行されると、図19に示すように、ストローブ信号の入力を確認し(S560)、ストローブ信号がONであれば(S560でyes)、上記した主制御基板割り込み処理(S5,図6参照)の出力処理(S10)でサブ制御基板57に送信される制御データ、例えば、変動パターンコマンド等を取り込み、RAM52Bの記憶領域に設けた入力信号一次記憶領域に格納する(S561)。ストローブ信号がONでなければ(S560でno)、直ちにこの処理(S56)を終了する。
2msタイマ割り込み処理(S57)は、図20に示されており、サブ制御基板57に2msec周期の割り込みパルスが入力される度に実行される。この処理(S57)では、後述する10msタイマ割り込み処理(S58,図24参照)の電飾制御処理(S582)で作成されるランプデータの出力を行う(S570)。続いて、操作ジョグ27Jのエッジデータ及びレベルデータ(スイッチデータ)の作成を行う入力処理を行い(S571)、駆動処理(S572)を行う。
駆動処理(S572)は、図21に示されており、まず、駆動データ作成処理(S600)を行う。この処理(S600)は、駆動装置100A,100B,100C,100Dの「動作態様データ」に対して、各駆動装置を所定周期毎に制御するための「駆動制御データ」を生成して設定する。
ここで、「動作態様データ」は、所定期間(例えば、図柄が変動する変動時間など)に駆動装置が動作する一連の動作内容に対応したデータであり、駆動装置ごとに各々個別に定義されている。具体的には、例えば、駆動装置100Aの動作態様データとして、「変動開始から3秒間は静止して、その後4秒間左右にカタカタ動いた後、左側に大きく倒れ、その倒れた状態を1.5秒間維持した後、1.4秒間かけてもとの位置に戻る」という一連の動作内容が、所定期間に亘って定義されている。動作態様データは、後述する10msタイマ割り込み処理(S58,図24参照)のコマンド監視処理(S581,図25参照)にて設定される
これに対し、「駆動制御データ」は、ステッピングモータの動きやソレノイドの励磁などの制御データであり、動作態様データに定義されている通りに駆動装置を動作させるために、2msec毎の動作データ(1動作指令信号分の動作に対応した例えば5bit分の動作指令データ)として動作態様データから生成される。そして、生成された駆動制御データを、後述する駆動データ出力処理(S601,図23参照)によって2msec毎に出力することで、駆動装置が、動作態様データに定義されている通りに、変動時間に亘って継続的あるいは断続的に動作する。
詳細には、図22に示すように、まず、駆動装置100Aの動作態様データがあるか否か判別する(S801)。そして、駆動装置100Aの動作態様データがあれば(S801でyes)、駆動装置100Aの駆動制御データを設定し(S803)、駆動装置100Aの動作態様データがなければ(S801でno)、駆動装置100Aの駆動制御データを消去する(S802)。
続いて、駆動装置100Bの動作態様データがあるか否か判別し(S804)、動作態様データがあれば(S804でyes)、駆動装置100Bの駆動制御データを設定し(S806)、動作態様データがなければ(S804でno)、駆動装置100Bの駆動制御データを消去する(S805)。
そして、駆動装置100Cの動作態様データがあるか否か判別し(S807)、動作態様データがあれば(S807でyes)、駆動装置100Cの駆動制御データを設定し(S809)、動作態様データがなければ(S807でno)、駆動装置100Cの駆動制御データを消去する(S808)。
さらに、駆動装置100Dの動作態様データがあるか否か判別し(S810)、動作態様データがあれば(S810でyes)、駆動装置100Dの駆動制御データを設定し(S812)、動作態様データがなければ(S810でno)、駆動装置100Dの駆動制御データを消去する(S811)。そして、この処理(S600)を終了する。
これにより、駆動データ作成処理(S600)によって、駆動装置100A,100B,100C,100Dについて、動作態様データに対応した駆動制御データが生成される。
図21に示すように、駆動処理(S572)では、駆動データ作成処理(S600)に続いて、駆動データ出力処理(S601)を行う。この処理(S601)は、上記した駆動データ作成処理(S600,図22参照)にて設定された駆動制御データを、実際に出力するか否か判断する。
詳細には、図23に示されており、まず、駆動装置100Aの駆動制御データがあるか否か判別し(S840)、駆動装置100Aの駆動制御データがなければ(S840でno)、ステップ845へ進む。一方、駆動装置100Aの駆動制御データがあれば(S840でyes)、駆動装置100Dの駆動制御データが出力中(駆動中)か否か判断する(S857)。そして、出力中であれば(S857でyes)ステップ843へ進む。一方、出力中でなければ(S857でno)、続いて、駆動装置100Bと駆動装置100Cの両方の駆動制御データが出力中(駆動中)か否か判断する(S841)。そして、同時に出力中でなければ(S841でno)、駆動装置100Aの駆動制御データを出力し(S842)、同時に出力中であれば(S841でyes)、駆動装置100Aの駆動制御データを出力しないで駆動装置100Aの動作態様データを破棄する(S843)と共に、予告「F」を追加設定する(S844)。
ステップ845において、駆動装置100Bの駆動制御データがあるか否か判別し、駆動装置100Bの駆動制御データがなければ(S845でno)、ステップ850へ進む。一方、駆動装置100Bの駆動制御データがあれば(S845でyes)、駆動装置100Aと駆動装置100Cの両方の駆動制御データが出力中(駆動中)か否か判断する(S846)。そして、同時に出力中でなければ(S846でno)、駆動装置100Bの駆動制御データを出力し(S847)、同時に出力中であれば(S846でyes)、駆動装置100Bの駆動制御データを出力しないで駆動装置100Bの動作態様データを破棄する(S848)と共に、予告「G」を追加設定する(S849)。
ステップ850において、駆動装置100Cの駆動制御データがあるか否か判別し、駆動装置100Cの駆動制御データがなければ(S850でno)、ステップ855へ進む。一方、駆動装置100Cの駆動制御データがあれば(S850でyes)、駆動装置100Aと駆動装置100Bの両方の駆動制御データが出力中(駆動中)か否か判断する(S851)。そして、同時に出力中でなければ(S851でno)、駆動装置100Cの駆動制御データを出力し(S852)、同時に出力中であれば(S851でyes)、駆動装置100Cの駆動制御データを出力しないで駆動装置100Cの動作態様データを破棄する(S853)と共に、予告「H」を追加設定する(S854)。
ステップ855において、駆動装置100Dの駆動制御データがあるか否か判別し、駆動装置100Dの駆動制御データがなければ(S855でno)、この処理(S601)を終了する一方、駆動装置100Dの駆動制御データがあれば(S855でyes)、駆動装置100Aの駆動制御データが出力中(駆動中)か否か判断する(S858)。そして、出力中であれば(S858でyes)、駆動装置100Dの駆動制御データを出力しないで駆動装置100Dの動作態様データを破棄する(S859)と共に、予告「I」を追加設定し(S860)、出力中でなければ(S857でno)、駆動装置100Dの駆動制御データを出力して(S856)、この処理(S601)を終了する。
これにより、駆動装置100A,100B,100Cについては、駆動装置100A,100B,100Cのうち、何れか2つの駆動装置が既に駆動している場合には、残り1つの駆動装置の駆動制御データの出力が禁止され、駆動装置100A,100Dについては、何れか一方の駆動装置が既に駆動している場合には、他方の駆動装置の駆動制御データの出力が禁止される。即ち、駆動データ出力処理(S601)によって、駆動装置100A,100B,100Cが同時駆動されて駆動装置で使用できる上限の消費電力を超えてしまう事態を防ぐことができ、駆動装置100A,100Dが同時駆動されて駆動装置同士が機械的に干渉してしまう事態を防ぐことができる。
しかも、駆動制御データの出力が禁止された場合、その駆動制御データに係る「動作態様データ」が破棄されるので、動作態様データが特定する変動時間に亘った駆動装置の動作内容のうち、途中の動作内容から駆動制御データが生成されて出力されることがなくなる。さらに、他の駆動装置を駆動しない場合に設定される予告「F〜I」は、本発明に係る「代替演出」に相当する。例えば、図34には、駆動装置100Aを駆動させずに、駆動装置100Aの動作に模した画像(図34における符号100A’)を液晶表示装置34に表示する演出を行う例が示されている。また、予告「F〜I」は、駆動装置の動作を模した表示に限らず、任意の画像を表示することで演出を行うようにしてもよい。このように、駆動装置の駆動によって行われるはずだった予告演出の代わりに、駆動装置の動作を模した画像または駆動装置の動作の代わりとなる任意の画像を液晶表示装置34に表示する演出が実行されるように設定されているので、破棄された駆動装置の動作を、液晶表示装置34での予告演出によって補うことが可能になる。
なお、駆動データ出力処理(S601)のうち、ステップ841,846,851,857,858を実行し、各駆動装置の駆動制御データが出力中か確認することで、サブ制御基板57のCPU52Aが本発明に係る「データ判別手段」として機能し、ステップ843,848,853,859を実行し、各駆動装置の駆動制御データを出力しないで動作態様データを破棄することで、サブ制御基板57のCPU52Aが本発明に係る「制限手段」及び「消去手段」として機能し、ステップ844,849,854,860を実行し、対応した予告「F〜I」を追加設定することで、サブ制御基板57のCPU52Aが本発明に係る「演出制御手段」として機能し、駆動装置を複数同時に駆動させる組み合わせが前記特別組み合わせとならないように、各駆動装置の駆動制御データの出力を禁止又は許容することが可能となる。
図20に示すように、2msタイマ割り込み処理(S57)において、駆動処理(S572)に次いで、ウォッチドックタイマのリセット設定を行うウォッチドックタイマ処理(S583)を行い、この処理(S57)から抜ける。
10msタイマ割り込み処理(S58)は、図24に示されており、サブ制御基板57に10msec周期の割り込みパルスが入力される度に実行される。この処理(S58)では、まず、コマンド監視処理(S581)を実行する。
コマンド監視処理(S581)は、サブ制御基板57が主制御基板50等の他の基板から受信して、上述したサブ制御コマンド受信割り込み処理(S56,図19参照)によってバッファに蓄えられた全てのコマンドに対して、解析を行い、コマンドに対応した処理を行って、それぞれの制御基板に対して送信するコマンドを作成する。
具体的には、図25に示すように、コマンド監視処理(S581)が実行されると、まず、受信コマンドがあるか否かが判断され(S830)、コマンドを受信していなければ(S830でno)この処理(S581)を終了する。一方、コマンドを受信していれば(S830でyes)、受信コマンドが変動パターンコマンドであるか否かを判断する(S831)。受信コマンドが変動パターンコマンドであれば(S831でyes)、予告抽選処理(S834)を行う。
予告抽選処理(S834)は、図26及び図27に示されており、受信した変動パターンコマンドと、予告演出の抽選を行うための予告抽選乱数「ラベル−TRND−SUB−Y」値とから、予告抽選テーブルを用いて予告が抽選される。
ここで、各変動パターンコマンド「1〜19」には、それぞれ変動パターンが予め定義されている。例えば、図29に示すように、変動パターンコマンドが「1」であれば変動パターンは『疑似3リーチ→リーチ発展→再抽選』、変動パターンコマンドが「3」であれば『疑似3リーチ→リーチ発展』、変動パターンコマンドが「4」であれば『疑似3リーチ』、変動パターンコマンドが「5」であれば『疑似2リーチ』、変動パターンコマンドが「6」であれば『ノーマルリーチ』、変動パターンコマンドが「7」であれば『12秒どはずれ』というように変動パターンが定義されている。図30(A)には、これら一部の変動パターンについて、予告抽選乱数「ラベル−TRND−SUB−Y」値を予告「なし,A,B,C,D,E」に振り分けて予告を抽選する予告抽選テーブルの一例が示されている。
図26及び図27に示すように、まず、予告抽選乱数「ラベル−TRND−SUB−Y」値を取得する(S900)。そして、予告抽選テーブルのうち、受信した変動パターンに対して、「なし」の欄の値を取得した予告抽選乱数値から減算する(S901)。具体的には、図30(A)に一例を示した予告抽選テーブルでいえば、変動パターンが『12秒どはずれ』であれば「45」、『ノーマルリーチ』であれば「20」、それ以外は「0」を取得して、予告抽選乱数値から減算する。そして、減算後の予告抽選乱数値が0以下であるか否か判断し(S902)、0以下であれば(S902でyes)、予告を「なし」に設定してこの処理(S834)を終了する。
一方、0以下でなければ(S902でno)、続いて、予告抽選テーブルのうち、受信した変動パターンコマンドに対する変動パターンに対して、「A」の値をステップ901で減算後の予告抽選乱数値からさらに減算する(S904)。
具体的には、図30(A)に一例を示した予告抽選テーブルでいえば、変動パターンが『ノーマルリーチ』であれば「35」、『疑似3リーチ→リーチ発展』であれば「5」、『疑似3リーチ→リーチ発展→再抽選』であれば「10」、それ以外は「0」を取得して、予告抽選乱数値から減算する。そして、減算後の予告抽選乱数値が0以下であるか否か判断し(S905)、0以下であれば(S905でyes)、予告を「A」に設定してこの処理(S834)を終了する。
予告抽選乱数値が0以下でなければ(S905でno)、同様にして、ステップ907〜S916を処理する。これにより、変動パターンと予告抽選乱数値に応じて予告「なし,A,B,C,D,E」の何れかが設定される。
即ち、図30(A)に一例を示した予告抽選テーブルでは、変動パターンが『12秒どはずれ』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」が「0〜44」であれば予告「なし」が設定され、「45〜99」であれば予告「B」が設定される。また、変動パターンが『ノーマルリーチ』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」値が「0〜19」であれば予告「なし」、「20〜54」であれば予告「A」、「55〜99」であれば予告「B」が設定される。また、変動パターンが『疑似2リーチ』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」値が「0〜34」であれば予告「C」、「35〜99」であれば予告「D」が設定される。また、変動パターンが『疑似3リーチ』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」値が「0〜24」であれば予告「なし」、「25〜99」であれば予告「D」が設定される。また、変動パターンが『疑似3リーチ→リーチ発展』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」値が「0〜4」であれば予告「A」、「5〜14」であれば予告「C」、「15〜99」であれば予告「D」が設定される。また、変動パターンが『疑似3リーチ→リーチ発展→再抽選』の場合、予告抽選乱数「ラベル−TRND−SUB−Y」値が「0〜9」であれば予告「A」、「10〜24」であれば予告「C」、「25〜89」であれば予告「D」、「90〜99」であれば予告「E」が設定される。
なお、ここで、設定される予告「A〜E」は、例えば、変動開始から10秒後〜15秒後の間に駆動装置100Aが左に倒れるなど駆動装置が動作するパターンだけに限らず、変動開始時に液晶表示装置34の液晶画面上にキャラクターが出てきて予告演出を行ったり、変動開始5秒後からLEDを発光させたり、駆動装置を動作させずに液晶表示装置34上での演出のみを行うパターンなど、遊技の演出を行う様々なパターンが含まれる。
図25に示すように、コマンド監視処理(S581)において、予告抽選処理(S834)に続いて、選択された予告が駆動装置100A,100B,100Cの動作を伴うものなのか否かを判断する(S835)。そして、駆動動作を伴うものであれば(S835でyes)、その駆動内容に対応する各駆動装置の動作態様データを設定する駆動動作データ設定処理(S836)を行う。
駆動動作データ設定処理(S836)は、図28に示されている。上述した予告抽選処理(S834,図26及び図27参照)によって選択された予告と変動パターンに応じて、駆動装置100A,100B,100Cの動作態様データが一意に決まるように、サブ制御基板57のROM52Cには動作態様データテーブルが記憶されており、その動作態様データテーブルによって、駆動装置100A,100B,100Cの動作内容を抽出する(S920)。そして、抽出した動作態様データに応じて、駆動の動作時間と停止時間を設定し(S921)、この処理(S836)を終了する。
図30(B)には、動作態様データテーブルの一例として、図30(A)の予告抽選テーブルに対応して動作態様データテーブルの一部が示されている。例えば、変動パターンが『ノーマルリーチ』で予告「A」が抽選された場合、駆動装置100A,100B,100Cの動作態様データとして、それぞれ、動作態様データ(2)−1−100A、動作態様データ(2)−1−100B、動作態様データ(2)−1−100Cが設定される。即ち、駆動装置ごとに各々個別に動作態様データが特定される。
図25に示すように、コマンド監視処理(S581)において、駆動動作データ設定処理(S836)に続いて、または、選択された予告が駆動動作を伴うものでない場合(S835でno)、受信コマンドに対応する変動コマンド処理を実行し(S837)、この処理(S581)を終了する。
一方、受信コマンドが変動パターンコマンドでない場合(S831でno)、受信したコマンドに対応するその他の処理を行う(S832)。ここで、大当りコマンドを受信した場合には、大当りの種類に応じて駆動装置100C及び駆動装置100Dを駆動するように、駆動装置100C及び駆動装置100Dの動作態様データが設定される。例えば、確変大当りであれば、駆動装置100Cが5秒間隔で回転しているところに駆動装置100Dが下降してくる動作、通常大当りであれば、駆動装置100Cが10秒間隔で回転する(駆動装置100Dは駆動しない)動作など、様々な動作態様データが予め定義されており、大当りの種類に応じて選択される。そして、この処理(S581)を終了する。
なお、コマンド監視処理(S581)と、上述した駆動処理(S572,図21参照)を実行することで、サブ制御基板57のCPU52Aが本発明に係る「制御手段」として機能する。
図24に示すように、10msタイマ割り込み処理(S58)において、コマンド監視処理(S581)に次いで、電飾制御処理(S582)を行い、出力するランプデータの作成及び演出時間の管理を行う。そして、その他の処理(S583)を実行して、10msタイマ割り込み処理(S58)から抜ける。
図18に示すように、2msec毎に2msタイマ割り込み処理(S57)、10msec毎に10msタイマ割り込み処理(S58)が実行され、その間にCPU52Aに割り込みパルスが入力するまで、乱数シード更新(S55)の処理が繰り返し実行され、割り込みパルスの入力を起因にサブ制御コマンド受信割り込み処理(S56)が実行される。以上がサブ制御基板メインプログラムPG2の説明である。
本実施形態のパチンコ遊技機10の構成は以上であって、次に動作説明を行う。本実施形態のパチンコ遊技機10では、遊技者が操作ノブ28を操作し、遊技領域に弾き出された遊技球が始動入賞口14A又は始動入賞口14Bに入賞すると、液晶表示装置34に表示された装飾図柄32A,32B,32Cが、上下方向にスクロールして変動表示される。このとき、パチンコ遊技機の内部では、当否判定が行われると共に、液晶表示装置34における図柄の変動パターン、停止図柄、予告が抽選され、液晶表示装置34、サイドランプ22,22、スピーカ25S,25S、駆動装置100A,100B,100Cによって、抽選結果に応じた様々な予告演出が行われる。
当否判定の結果が大当りの場合、液晶表示装置34にて装飾図柄32A,32B,32Cを停止表示して遊技者に報知し、大当り状態となる。大当り状態では、液晶表示装置34、サイドランプ22,22、スピーカ25S,25S、駆動装置100C及び駆動装置100Dによって、大当りの種類に応じた様々な演出が行われる。
さて、大当り状態のときに遊技球が始動入賞口14A又は始動入賞口14Bに入賞すると、大当り状態終了後に再び液晶表示装置34に表示された装飾図柄32A,32B,32Cが上下方向にスクロールして変動表示され、抽選結果に応じた予告演出が行われる。即ち、大当り状態終了後とその後の装飾図柄32A,32B,32Cの変動表示前の状態では、大当り状態の演出による駆動装置100C,100Dの駆動に関する動作態様データと、大当り状態終了後の変動表示中の予告演出による駆動装置100A,100B,100Cの駆動に関する動作態様データとが同時に選択されることで、駆動装置100A,100B,100C,100Dが同時に駆動し得る状態となる。
このとき、本実施形態のパチンコ遊技機10によれば、駆動装置100A,100B,100Cについては、駆動装置で使用できる上限の消費電力を超えてしまわないように、駆動装置100A,100B,100Cのうち何れか2つの駆動装置が既に駆動している場合には、残り1つの駆動装置を駆動しないように制御し、駆動装置100A,100Dについては、駆動装置同士が機械的に干渉してしまわないように、駆動装置100A,100Dのうち何れか一方の駆動装置が既に駆動している場合には、他方の駆動装置を駆動しないように制御する。また、駆動装置100Dを駆動する場合は、駆動装置100A以外の駆動装置100B,100Cが駆動していても干渉の問題がないことや駆動装置100Dは駆動装置100Aよりも消費電力が少ないことなどにより、駆動装置100B,100Cが駆動中であっても駆動可能に構成されている。
ここで、大当り状態の演出として、駆動装置100Cに対して「5秒間隔で回転する」、駆動装置100Dに対して「5秒かけて下降した後、5秒かけて上昇し、原点に戻る」という動作態様データが選択され、駆動装置100C及び駆動装置100Dが駆動して大当り状態の演出を行っている状況下で、更に別の動作態様データが選択された場合を例示して、以下詳説する。即ち、この状況下で、変動表示中の予告演出として、駆動装置100Aには「変動開始から3秒間は静止して、その後4秒間左右にカタカタ動いた後、左側に大きく倒れ、その倒れた状態を1.5秒間維持した後、1.4秒間かけてもとの位置に戻る」、駆動装置100Bには「変動開始から9秒間は静止して、その後4秒間かけて起立した後、3秒間停止し、4秒間かけてもとの位置に戻る」、駆動装置100Cは「なし(駆動しない)」という動作態様データが選択されたとする。
すると、図35(A)に示すように、変動表示の開始タイミングT0によっては、駆動装置100A,100B,100Cが同時に駆動するような状態となる。この場合、駆動装置100Bが駆動開始予定の時間Tαにおいて、駆動装置100A及び駆動装置100Cが既に駆動中であるので、上述した駆動データ出力処理(S601,図23参照)によって、駆動装置100A及び駆動装置100Cが出力中と判断され、駆動装置100Bの動作態様データが破棄される(駆動装置100Bの駆動制御データが出力されない)。
これに対し、大当り状態の演出と変動表示中の予告演出の動作態様データが同じ内容であっても、変動表示の開始タイミングT0によっては、図35(B)に示すように、駆動装置100A,100B,100Cが同時に駆動しない動作内容となる。この場合、駆動装置100Bが駆動開始予定の時間Tαにおいて、駆動装置100Aのみが既に駆動中であるので、上述した駆動データ出力処理(S601,図23参照)によって、駆動装置100A及び駆動装置100Cが出力中と判断されずに、駆動装置100Bの駆動制御データが出力される。
また、図36(A)に示すように、変動表示の開始タイミングT0によっては、駆動装置100A,100Dが同時に駆動するような状態となる。この場合、駆動装置100Aが駆動開始予定の時間Tβにおいて、駆動装置100Dが既に駆動中であるので、上述した駆動データ出力処理(S601,図23参照)によって、駆動装置100Dが出力中と判断され、駆動装置100Aの動作態様データが破棄される(駆動装置100Aの駆動制御データが出力されない)。
これに対し、大当り状態の演出と変動表示中の予告演出の動作態様データが同じ内容であっても、変動表示の開始タイミングT0によっては、図36(B)に示すように、駆動装置100A,100Dが同時に駆動しない動作内容となる。この場合、駆動装置100Aが駆動開始予定の時間Tβにおいて、駆動装置100Dは駆動中でないので、上述した駆動データ出力処理(S601,図23参照)によって、駆動装置100Dが出力中と判断されずに、駆動装置100Aの駆動制御データが出力される。
このように、本実施形態のパチンコ遊技機10によれば、何れかの駆動装置が現実に駆動されているか、及び何れの駆動装置に対する駆動制御データが出力されようとしているかの簡単な条件設定によって、駆動装置100A,100B,100Cの同時駆動と、駆動装置100A,100Dの同時駆動を防ぐことができる。これにより、従来のように駆動装置の動作開始タイミング同士の間の経過時間等を考慮した煩雑な条件設定を行う必要がなくなり、それら駆動装置の制御用のプログラミング作業が容易になる。
ところで、上述の如く条件式を簡素化するために、各駆動装置の動作開始タイミングを考慮せずに、動作態様データの期間が一部でも重なったら、重なった動作態様データを実行しないようにすることも考えられるが、そうすると、重なった動作態様データの期間のうち、各駆動装置の動作中の期間がずれていてそのまま動作させることができる場合(例えば、図35(B)に示す場合)にも、重なった動作態様データが実行されなくなってしまうため、演出が寂しいものになる。
しかしながら、本実施形態のパチンコ遊技機10によれば、駆動装置100A,100B,100Cのうちの何れか2つの駆動装置の駆動制御データが出力中でなければ(図35(B)に示す場合)、他の駆動装置の駆動制御データの出力を許容するので、条件式が簡素化されることに加えて、従来の煩雑な条件設定を行った場合と同様に、駆動装置100A,100B,100Cの総消費電力が上限の消費電力を越えない範囲で、駆動装置100A,100B,100Cを最大限に動作させるように、駆動装置100A,100B,100Cの制約の範囲内での動作を確保することができる。
しかも、上記制約の範囲外のために、いずれかの駆動装置の駆動を行わない場合には、液晶表示装置34での代替演出を行うので、従来のものに比べて、趣向性の高い演出が可能になる。
[他の実施形態]
本発明は、前記実施形態に限定されるものではなく、例えば、以下に説明するような実施形態も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
(1)前記実施形態では、駆動装置100A,100B,100Cの同時駆動と、駆動装置100A,100Dの同時駆動を防ぐ場合を想定したフローチャートになっているが、「特別組み合わせ」となる駆動装置の数は2つ又は3つに限られず、例えば、4つ以上の駆動装置が同時に駆動しないように駆動装置を制御してもよいし、5つの駆動装置の中から2つまでしか同時駆動しないような組み合わせや3つまで同時に駆動できる組み合わせがあるような構成であってもよい。また、特定の駆動装置に関する駆動を優先的に行いたい場合には、例えば、図35(A)に示す時間Tαにおいて、既に駆動制御データの出力が行われている駆動装置100Aの駆動制御データを破棄し、新たに駆動装置100Bの駆動制御データを出力するなど駆動装置毎に駆動制御データの出力に関する優先順位を設けるような構成にしてもよい。また、各駆動装置は、それぞれ単独のものだけでなく、例えば上下あるいは左右に配置したりして同時に駆動するものであってもよい。
(2)前記実施形態のように、常に駆動装置の駆動を制限する場合だけでなく、例えば、特定の電飾点灯パターンのときにだけ予め定められた電流制限値をオーバーしてしまう場合などに本発明を適用してもよい。特定の電飾点灯パターンのときには、例えば駆動装置100Bの駆動制御データを出力しない、などのようにすれば、電流制限値をオーバーしてしまうことを抑制できる。
(3)前記実施形態において、駆動装置100Dよりも駆動装置100Aの駆動を優先させるようにしたい場合には、駆動装置100Aの駆動中には駆動装置100Dの駆動制御データを出力しないようにして、駆動装置100Dの駆動中に駆動装置100Aの駆動制御データが設定された場合には、駆動装置100Dの駆動制御データを破棄して駆動装置100Dを原点位置に復帰させてから駆動装置100Aの駆動制御データを出力するような構成にしてもよい。これにより、互いに干渉する位置関係または動作範囲であっても、干渉する位置関係または動作範囲内にある駆動装置の駆動制御データと、干渉しない位置関係にある駆動装置の駆動制御データを分けておくことで、処理負荷を軽減させた上で、優先して駆動させたい駆動装置の動作を確保できる。
(4)前記実施形態では、選択された変動パターン及び予告に対して、各駆動装置の動作態様データが一意に決定されていたが、動作態様データを複数種類の中から選択する構成にしてもよい。
(5)前記実施形態では、液晶表示装置34での演出を、駆動制御データを出力しない場合の代替演出としていたが、予め定められた電流制限値をオーバーしない範囲であれば、液晶表示装置34の演出に限らず、例えば、音やランプによる演出によって、駆動装置の駆動によって行われるはずだった演出を補ってもよい。
(6)前記実施形態では、遊技機としてパチンコ遊技機10を例示したが、アレンジボールのような弾球遊技機であってもよいし、スロットマシンのような非弾球遊技機であってもよい。