以下、本発明の一実施形態に係るパチンコ遊技機(遊技機)の構成及び各種動作について、図面を参照しながら説明する。
<機能フロー>
まず、図1を参照して、本実施形態に係るパチンコ遊技機の機能について説明する。図1は、本実施形態に係るパチンコ遊技機の機能フローを示す図である。
パチンコゲームは、図1に示すように、ユーザの操作により遊技球が発射され、その遊技球が各種入賞した場合に遊技球の払出制御処理が行われるゲームである。また、パチンコゲームには、特別図柄を用いる特別図柄ゲーム、普通図柄を用いる普通図柄ゲームが含まれる。特別図柄ゲームにおいて「大当り」となったときや、普通図柄ゲームにおいて「当り」となったときには、相対的に、遊技球が入賞する可能性が増大し、遊技球の払出制御処理が行われ易くなる。
また、各種入賞には、特別図柄ゲームにおいて特別図柄の可変表示が行われるための一つの条件である特別図柄始動入賞や、普通図柄ゲームにおいて普通図柄の可変表示が行われるための一つの条件である普通図柄始動入賞も含まれる。
なお、本明細書でいう「可変表示」とは、変動可能に表示される概念であり、例えば、実際に変動して表示される「変動表示」、実際に停止して表示される「停止表示」等を可能にするものである。また、「可変表示」では、例えば特別図柄ゲームの結果として特別図柄(識別情報)が表示される「導出表示」を行うことができる。すなわち、本明細書では、「変動表示」の開始から「導出表示」までの動作を1回の「可変表示」と称する。さらに、本明細書において、「識別情報」とは、特別図柄、普通図柄、装飾図柄、識別図柄等のパチンコ遊技で使用される「図柄」や、パチスロ又はスロット遊技で使用される識別図柄や装飾図柄などの、遊技者が遊技を行う上で、遊技の結果を表示又は示唆する際に使用される図柄を含み得る意味であり、以下に記載する実施形態及び各種変形例中の各種図柄もまた含み得る。
以下、特別図柄ゲーム及び普通図柄ゲームの処理フローの概要を説明する。
(1)特別図柄ゲーム
特別図柄ゲームにおいて特別図柄始動入賞があった場合には、大当り判定用カウンタ及び図柄決定用カウンタからそれぞれ乱数値(大当り判定用乱数値及び図柄決定用乱数値)が抽出され、抽出された各乱数値が記憶される(図1に示す特別図柄ゲーム中の特別図柄始動入賞処理のフロー参照)。
また、図1に示すように、特別図柄ゲーム中の特別図柄制御処理では、最初に、特別図柄の可変表示を開始する条件が成立したか否かが判定される。この判定処理では、特別図柄始動入賞によって乱数値が記憶されているか否かを参照し、乱数値が記憶されていることを一つの条件として、特別図柄の可変表示を開始する条件が成立したと判定する。
次いで、特別図柄の可変表示を開始する場合、大当り判定用カウンタから抽出された大当り判定用乱数値が参照され、「大当り」とするか否かの大当り判定が行われる。その後、停止図柄決定処理が行われる。この処理では、図柄決定用カウンタから抽出された図柄決定用乱数値と、上述した大当り判定の結果とが参照され、停止表示させる特別図柄を決定する。
次いで、変動パターン決定処理が行われる。この処理では、変動パターン決定用カウンタから乱数値が抽出され、その乱数値と、上述した大当り判定の結果と、上述した停止表示させる特別図柄とが参照され、特別図柄の変動パターンを決定する。
次いで、演出パターン決定処理が行われる。この処理では、演出パターン決定用カウンタから乱数値が抽出され、その乱数値と、上述した大当り判定の結果と、上述した停止表示させる特別図柄と、上述した特別図柄の変動パターンとが参照され、特別図柄の可変表示に伴って実行する演出パターンを決定する。
次いで、決定された大当り判定の結果、停止表示させる特別図柄、特別図柄の変動パターン、及び、特別図柄の可変表示に伴う演出パターンが参照され、特別図柄の可変表示の制御を行う可変表示制御処理、及び、所定の演出を行う演出制御処理が実行される。
そして、可変表示制御処理及び演出表示制御処理が終了すると、「大当り」となるか否かが判定される。この判定処理において、「大当り」となったと判定されると、大当り遊技を行う大当り遊技制御処理が実行される。なお、大当り遊技では、上述した各種入賞の可能性が増大する。一方、「大当り」とならなかったと判定されると、大当り遊技制御処理が実行されない。
「大当り」とならなかったと判定された場合、又は、大当り遊技制御処理が終了した場合には、遊技状態を移行させるための遊技状態移行制御処理が行われる。この遊技状態移行制御処理では、大当り遊技状態とは異なる通常時の遊技状態の管理が行われる。通常時の遊技状態としては、例えば、上述した大当り判定において、「大当り」と判定される確率が増大する遊技状態(以下、「確変遊技状態」という)や、特別図柄始動入賞が得られやすくなる遊技状態(以下、「時短遊技状態」という)などが挙げられる。その後、再度、特別図柄の可変表示を開始させるか否かの判定処理を行い、その後は、上述した特別図柄制御処理の各種処理が繰り返される。
なお、本実施形態のパチンコ遊技機において、特別図柄の変動表示中に遊技球が始動入賞した場合には、該始動入賞時に取得される各種データ(大当り判定用乱数値、図柄決定用乱数値等)が保留される。すなわち、特別図柄の変動表示中に遊技球が始動入賞した場合には、該始動入賞に対応する特別図柄の可変表示(変動表示)が保留され、現在実行されている特別図柄の変動表示終了後に保留されている特別図柄の可変表示が開始される。以下では、保留されている特別図柄の可変表示を「保留球」ともいう。
また、本実施形態のパチンコ遊技機では、後述するように、2種類の特別図柄始動入賞(第1始動口入賞及び第2始動口入賞)を設け、各特別図柄始動入賞に対して最大4個の保留球を取得することができる。すなわち、本実施形態では、最大8個の保留球を取得することができる。
さらに、本実施形態のパチンコ遊技機は、図1には示さないが、上述した保留球の情報に基づいて保留球の当落(「大当り」当選の有無)を判定し、さらに、その判定結果に基づいて所定の演出を行う機能、すなわち、先読み演出機能も備える。
(2)普通図柄ゲーム
普通図柄ゲームにおいて普通図柄始動入賞があった場合には、当り判定用カウンタから乱数値が抽出され、その乱数値が記憶される(図1に示す普通図柄ゲーム中の普通図柄始動入賞処理のフロー参照)。
また、図1に示すように、普通図柄ゲーム中の普通図柄制御処理では、最初に、普通図柄の可変表示を開始する条件が成立したか否かが判定される。この判定処理では、普通図柄始動入賞によって乱数値が記憶されているか否かが参照され、乱数値が記憶されていることを一つの条件として、普通図柄の可変表示を開始する条件が成立したと判定する。
次いで、普通図柄の可変表示を開始する場合、当り判定用カウンタから抽出された乱数値が参照され、「当り」とするか否かの当り判定が行われる。その後、変動パターン決定処理が行われる。この処理では、当り判定の結果が参照され、普通図柄の変動パターンを決定する。
次いで、決定された当り判定の結果、及び、普通図柄の変動パターンが参照され、普通図柄の可変表示の制御を行う可変表示制御処理、及び、所定の演出を行う演出制御処理が実行される。
可変表示制御処理及び演出表示制御処理が終了すると、「当り」となるか否かが判定される。この判定処理において、「当り」となると判定されると、当り遊技を行う当り遊技制御処理が実行される。当り遊技制御処理では、上述した各種入賞の可能性、特に、特別図柄ゲームにおける遊技球の特別図柄始動入賞の可能性が増大する。一方、「当り」とならないと判定されると、当り遊技制御処理が実行されない。その後、再度、普通図柄の可変表示を開始させるか否かの判定処理を行い、その後は、上述した普通図柄制御処理の各種処理が繰り返される。
上述のように、パチンコゲームでは、特別図柄ゲームにおいて「大当り」となるか否か、遊技状態の移行状況、普通図柄ゲームにおいて「当り」となるか否か等の条件により、遊技球の払出制御処理の行われ易さが変化する。
なお、本実施形態において、各種の乱数値の抽出方式としては、プログラムを実行することによって乱数値を生成するソフト乱数方式を用いる。しかしながら、本発明はこれに限定されず、例えば、パチンコ遊技機が、所定周期で乱数が更新される乱数発生器を備える場合には、その乱数発生器におけるカウンタ(いわゆる、リングカウンタ)から乱数値を抽出するハード乱数方式を、上述した各種乱数値の抽出方式として採用してもよい。なお、ハード乱数方式を用いる場合は、所定周期とは異なるタイミングで、乱数値の初期値を決定することによって、所定周期で同じ乱数値が抽出されることを防止することができる。
<パチンコ遊技機の構造>
次に、図2及び図3を参照して、本実施形態におけるパチンコ遊技機の構造について説明する。なお、図2は、パチンコ遊技機の外観を示す斜視図である。また、図3は、パチンコ遊技機の分解斜視図である。
パチンコ遊技機1は、図2及び図3に示すように、本体2と、本体2に対して開閉自在に取り付けられたベースドア3と、ベースドア3に対して開閉自在に取り付けられたガラスドア4とを備える。
[本体]
本体2は、長方形状の開口2aを有する枠状部材で構成される(図3参照)。この本体2は、例えば、木材等の材料により形成される。
[ベースドア]
ベースドア3は、本体2の外形形状と略等しい長方形の外形形状を有する板状部材で構成される。ベースドア3は、本体2の前方(パチンコ遊技機1の正面側)に配置されており、ベースドア3を本体2の一方の側辺端部を軸にして回動させることにより、本体2の開口2aが開閉される。ベースドア3には、図3に示すように、四角形状の開口3aが設けられる。この開口3aは、ベースドア3の略中央部から上側の領域に渡って形成され、該領域の大部分を占有する大きさで形成される。
また、ベースドア3には、スピーカ11と、遊技盤12と、表示装置13(演出手段、表示手段)と、皿ユニット14と、発射装置15と、払出装置16と、基板ユニット17とが取り付けられる。
スピーカ11は、ベースドア3の上部(上端部付近)に配置される。遊技盤12は、ベースドア3の前方(パチンコ遊技機1の正面側)に配置され、ベースドア3の開口3aを覆うように配置される。
遊技盤12は、光透過性を有する板形状の樹脂部材で構成される。なお、光透過性を有する樹脂としては、例えば、アクリル樹脂、ポリカーボネート樹脂、メタクリル樹脂などを用いることができる。
また、遊技盤12の前面(パチンコ遊技機1の正面側の表面)には、発射装置15から発射された遊技球が転動する遊技領域12aが形成される。この遊技領域12aは、ガイドレール41(具体的には後述の図4に示す外レール41a)に囲まれた領域であり、その外周形状は略円状である。さらに、遊技領域12aには、複数の遊技釘(後述の図4参照)が打ちこまれている。なお、遊技盤12(遊技領域12a)の構成については、後述の図4を参照しながら後で詳述する。
表示装置13は、遊技盤12の背面側(パチンコ遊技機1の正面側とは反対側)に取り付けられる。この表示装置13は、画像を表示する表示領域13aを有する。表示領域13aの大きさは、遊技盤12の表面の全部又は一部の領域を占めるような大きさに設定される。この表示装置13の表示領域13aには、演出用の識別図柄、演出画像、装飾用画像(装飾図柄)などの各種画像が表示される。遊技者は、遊技盤12を介して、表示装置13の表示領域13aに表示された各種画像を視認することができる。
なお、本実施形態では、表示装置13としては、液晶表示装置を用いる。しかしながら、本発明はこれに限定されず、表示装置13として、例えば、プラズマディスプレイ、リアプロジェクションディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどの表示機器を適用してもよい。
また、遊技盤12の背面側(パチンコ遊技機1の正面側とは反対側)には、スペーサ19が設けられる。このスペーサ19は、遊技盤12の背面(パチンコ遊技機1の背面側の表面)と表示装置13の前面(パチンコ遊技機1の正面側の表面)との間に設けられ、遊技盤12の遊技領域12aを転動する遊技球の流路となる空間を形成する。スペーサ19は、光透過性を有する材料で形成される。なお、本発明はこれに限定されず、スペーサ19は、例えば、一部が光透過性を有する材料で形成されていてもよいし、光透過性を有さない材料で形成されていてもよい。
皿ユニット14は、遊技盤12の下方に配置される。この皿ユニット14は、上皿21と、その下方に配置された下皿22とを有する。上皿21及び下皿22には、図2に示すように、遊技球の貸し出し、遊技球の払出し(賞球)を行うための払出口21a及び払出口22aがそれぞれ形成される。所定の払出条件が成立した場合には、払出口21a及び払出口22aから遊技球が排出されて、それぞれ、上皿21及び下皿22に貯留される。また、上皿21に貯留された遊技球は、発射装置15によって遊技領域12aに発射される。
また、皿ユニット14には、演出ボタン23が設けられる。この演出ボタン23は、上皿21上に取り付けられる。また、演出ボタン23の周縁には、ダイヤル操作部(ジョグダイヤル)24が演出ボタン23に対して回転可能に取り付けられる。本実施形態のパチンコ遊技機1は、演出ボタン23及び/又はダイヤル操作部24を用いて行う所定の演出機能を有し、所定の演出を行う場合には、表示装置13の表示領域13aに、演出ボタン23及び/又はダイヤル操作部24の操作を促す画像が表示される。
発射装置15は、ベースドア3の前面において、右下の領域(右下角部付近)に配置される。この発射装置15は、遊技者によって操作可能な発射ハンドル25と、皿ユニット14の右下部に係合するパネル体26とを備える。発射ハンドル25は、パネル体26の前面側に配置され、パネル体26に回動可能に支持される。
なお、図2及び図3には示さないが、パネル体26の背面側には、遊技球の発射動作を制御するソレノイドアクチュエータ(駆動装置)が設けられる。また、図2及び図3には示さないが、発射ハンドル25の周縁部には、タッチセンサが設けられ、発射ハンドル25の内部には、発射ボリュームが設けられる。発射ボリュームは、発射ハンドル25の回動量に応じて抵抗値を変化させ、ソレノイドアクチュエータに供給する電力を変化させる。
本実施形態のパチンコ遊技機1では、遊技者の手が発射ハンドル25のタッチセンサに接触すると、タッチセンサは検知信号を出力する。これにより、遊技者が発射ハンドル25を握持したことが検知され、ソレノイドアクチュエータによる遊技球の発射が可能になる。そして、遊技者が発射ハンドル25を把持して時計回り(遊技者側から見て右回り)の方向へ回動操作すると、発射ハンドル25の回動角度に応じて発射ボリュームの抵抗値が変化し、その抵抗値に対応する電力がソレノイドアクチュエータに供給される。その結果、上皿21に貯留された遊技球が順次発射され、発射された遊技球は、ガイドレール41(後述の図4参照)に案内されて遊技盤12の遊技領域12aへ放出される。
また、図2及び図3には示さないが、発射ハンドル25の側部には、発射停止ボタンが設けられる。発射停止ボタンは、ソレノイドアクチュエータによる遊技球の発射を停止させるために設けられたボタンである。遊技者が発射停止ボタンを押下すると、発射ハンドル25を把持して回動させた状態であっても、遊技球の発射が停止される。
払出装置16及び基板ユニット17は、ベースドア3の背面側に配置される。払出装置16には、貯留ユニット(不図示)から遊技球が供給される。払出装置16は、貯留ユニットから供給された遊技球の中から、払出条件の成立に基づいて、所定個数の遊技球を上皿21又は下皿22に払い出す。基板ユニット17は、各種制御基板を有する。各種制御基板には、後述する主制御回路70や副制御回路200などが設けられる(後述の図5参照)。
[ガラスドア]
ガラスドア4は、表面が略四角形状の板状部材で構成される。また、ガラスドア4は、遊技盤12の前面側に配置され、遊技盤12を覆う大きさを有する。このガラスドア4の前面において、スピーカ11と対向する上部領域には、スピーカカバー29が設けられる。
また、ガラスドア4の中央部において、遊技盤12の遊技領域12aと対向する領域には、少なくとも遊技領域12aを露出させるような大きさの開口4aが形成される。ガラスドア4の開口4aは、光透過性を有する保護ガラス28が取り付けられ、これにより、開口4aが塞がれる。したがって、ガラスドア4をベースドア3に対して閉じると、保護ガラス28は、遊技盤12の少なくとも遊技領域12aに対面するように配置される。
[遊技盤]
次に、遊技盤12の構成について、図4を参照して説明する。図4は、遊技盤12の構成を示す正面図である。
遊技盤12の前面には、図4に示すように、ガイドレール41と、球通過検出器43と、第1始動口44と、第2始動口45(始動領域)と、普通電動役物46とが設けられる。また、遊技盤12の前面には、一般入賞口51,52と、第1大入賞口53(可変入賞装置)と、第2大入賞口54(可変入賞装置)と、アウト口55と、複数の遊技釘56とが設けられる。さらに、遊技盤12の前面において、その略中央に配置された表示装置13の表示領域13aの上部には、特別図柄表示装置61(特別図柄表示手段)と、普通図柄表示装置62と、普通図柄保留表示装置63と、第1特別図柄保留表示装置64と、第2特別図柄保留表示装置65とが設けられる。
なお、図4には示さないが、遊技盤12の前面には、演出用7セグカウンタも設けられる。演出用7セグカウンタは、二桁の数字や2つの英字を表示可能な表示カウンタで構成される。また、本実施形態では、特別図柄の停止表示の結果が「大当り」である場合に点灯する報知LED(Light Emitting Diode)や、大当り遊技中のラウンド数を表示するラウンド数表示LEDなどを設けてもよい。
[遊技領域の各種構成部材]
ガイドレール41は、遊技領域12aを区画する円弧状に延在した外レール41aと、この外レール41aの内側(内周側)に配置された、円弧状に延在した内レール41bとで構成される。遊技領域12aは、外レール41aの内側に形成される。外レール41a及び内レール41bは、遊技者側から見て、遊技領域12aの左側端部付近において互いに対向するように配置され、これにより、外レール41aと内レール41bとの間に、発射装置15によって発射された遊技球を遊技領域12aの上部へ案内するガイド経路41cが形成される。
また、遊技領域12aの左側上部に位置する内レール41bの先端部には、該内レール41bの先端部と、それと対向する外レール41aの一部とにより、玉放出口41dが形成される。そして、内レール41bの先端部には、玉放出口41dを塞ぐようにして、玉戻り防止片42が設けられる。この玉戻り防止片42は、玉放出口41dから遊技領域12aに放出された遊技球が、再び玉放出口41dを通過してガイド経路41cに進入することを防止する。
玉放出口41dから放出された遊技球は、遊技領域12aの上部から下部に向かって流下する。この際、遊技球は、複数の遊技釘56、第1始動口44、第2始動口45等の遊技領域12aに設けられた各種部材に衝突して、その進行方向を変えながら遊技領域12aの上部から下部に向かって流下する。
遊技領域12aの略中央には、表示装置13の表示領域13aが設けられる。この表示領域13aの上端には、障害物13bが設けられる。障害物13bを設けることにより、遊技球は、遊技領域12a内の表示領域13aと重なる領域上を通過しない。
球通過検出器43は、遊技者側から見て、表示領域13aの右側端部付近に配置される。球通過検出器43には、球通過検出器43を通過する遊技球を検出するための通過球センサ43a(後述の図5参照)が設けられる。また、球通過検出器43を遊技球が通過することにより、「当り」か否かの抽選が行われ、該抽選の結果に基づいて普通図柄の変動表示が開始される。
第1始動口44は、表示領域13aの下方に配置され、第2始動口45は、第1始動口44の下方に配置される。第1始動口44及び第2始動口45は、遊技球を受け入れ可能な部材で構成される。以下、遊技球が第1始動口44又は第2始動口45に入ること又は通過することを「入賞」という。そして、遊技球が第1始動口44又は第2始動口45に入賞すると、第1所定数(本実施形態では3個)の遊技球が払い出される。また、第1始動口44に遊技球が入球することにより、「大当り」及び「小当り」のいずれかであるか否かの抽選が行われ、該抽選の結果に基づいて特別図柄の変動表示が開始される。さらに、第2始動口45に遊技球が入球することにより、「大当り」か否かの抽選が行われ、該抽選の結果に基づいて特別図柄の変動表示が開始される。
第1始動口44には、第1始動口44に入賞した遊技球を検出するための第1始動口入賞球センサ44a(後述の図5参照)が設けられる。また、第2始動口45には、第2始動口45に入賞した遊技球を検出するための第2始動口入賞球センサ45a(後述の図5参照)が設けられる。なお、第1始動口44及び第2始動口45に入賞した遊技球は、遊技盤12に設けられた回収口(不図示)を通過して遊技球の回収部(不図示)に搬送される。
普通電動役物46は、第2始動口45に設けられる。普通電動役物46は、第2始動口45の両側に回動可能に取り付けられた一対の羽根部材と、一対の羽根部材を駆動させる普通電動役物ソレノイド46a(後述の図5参照)とを有する。この普通電動役物46は、普通電動役物ソレノイド46aにより駆動され、一対の羽根部材を拡げて第2始動口45に遊技球を入賞し易くする開放状態、及び、一対の羽根部材を閉じて第2始動口45に遊技球を入賞不可能にする閉鎖状態の一方の状態を発生させる。なお、本実施形態では、普通電動役物46が閉鎖状態である場合、一対の羽根部材の開口形態を、入賞不可能にする形態でなく、遊技球の入賞が困難になるような形態にしてもよい。
一般入賞口51は、遊技者側から見て、遊技領域12aの左下部付近に配置される。また、一般入賞口52は、球通過検出器43の下方に配置され、且つ、遊技者側から見て、遊技領域12aの右下部付近に配置される。一般入賞口51及び一般入賞口52は、遊技球を受け入れ可能な部材で構成される。以下では、遊技球が一般入賞口51又は一般入賞口52に入ること又は通過することもまた、「入賞」という。一般入賞口51又は一般入賞口52に遊技球が入賞すると、第2所定数(本実施形態では10個)の遊技球が払い出される。
一般入賞口51には、一般入賞口51に入賞した遊技球を検出するための一般入賞球センサ51a(後述の図5参照)が設けられる。また、一般入賞口52には、一般入賞口52に入賞した遊技球を検出するための一般入賞球センサ52a(後述の図5参照)が設けられる。
第1大入賞口53及び第2大入賞口54は、球通過検出器43の下方で、且つ、第1始動口44と一般入賞口52との間に配置される。そして、第1大入賞口53及び第2大入賞口54は、遊技球の流路に沿って上下方向に配置され、第1大入賞口53は、第2大入賞口54の上方に配置される。第1大入賞口53及び第2大入賞口54は、ともに、いわゆるアタッカー式の開閉装置であり、開閉可能なシャッタ53a及び54aと、シャッタを駆動させるソレノイドアクチュエータ(後述の図5中の第1大入賞口ソレノイド53b及び第2大入賞口ソレノイド54b)とを有する。
第1大入賞口53及び第2大入賞口54のそれぞれは、対応するシャッタが開いている状態(開放状態)のときに遊技球を受け入れ、シャッタが閉じている状態(閉鎖状態)のときには遊技球を受け入れない。以下では、遊技球が第1大入賞口53又は第2大入賞口54に入ること又は通過することもまた、「入賞」という。第1大入賞口53に遊技球が入賞すると、第3所定数球(本実施形態では10個)の遊技球が払い出される。一方、第2大入賞口54に遊技球が入賞すると、第4所定数球(本実施形態では15個)の遊技球が払い出される。
また、第1大入賞口53には、第1大入賞口53に入賞した遊技球を計数するためのカウントセンサ53c(後述の図5参照)が設けられる。さらに、第2大入賞口54には、第2大入賞口54に入賞した遊技球を計数するためのカウントセンサ54c(後述の図5参照)が設けられる。
アウト口55は、遊技領域12aの最下部に設けられる。このアウト口55は、第1始動口44、第2始動口45、一般入賞口51、一般入賞口52、第1大入賞口53及び第2大入賞口54のいずれにも入賞しなかった遊技球を受け入れる。
本実施形態の遊技領域12aにおける各種構成部材の配置を図4に示すような配置にすると、遊技者により遊技領域12aの右側の領域に遊技球が打ち込まれた場合(右打ちされた場合)、遊技釘56等により遊技球が第2始動口45に誘導される。この場合、第1始動口44に入賞する可能性はほとんどなくなる。なお、本実施形態では、後述するように、第2始動口45に入賞した方が、第1始動口44に入賞した場合より、遊技者にとって有利な「大当り」の抽選を受け易くなる。それゆえ、第2始動口45への入賞が比較的容易になる後述の「時短遊技状態」では、右打ちを行うことにより、第1始動口44への入賞の可能性(遊技者にとって不利な遊技状態となる可能性)を低くすることができる。
[特別図柄表示装置]
特別図柄表示装置61は、図4に示すように、表示装置13の表示領域13aの上部の略中央に配置される。
特別図柄表示装置61は特別図柄ゲームにおいて、特別図柄を可変表示(変動表示及び停止表示)する表示装置である。本実施形態では、図4に示すように、特別図柄を数字や記号等からなる図柄で表示する装置により特別図柄表示装置61を構成する。なお、本発明はこれに限定されず、特別図柄表示装置61を、例えば、複数のLEDにより構成してもよい。この場合には、複数のLEDの点灯・消灯によって構成される表示パターンを特別図柄として表す。
特別図柄表示装置61は、遊技球が第1始動口44又は第2始動口45に入賞したこと(特別図柄始動入賞)を契機に、特別図柄(識別情報)の変動表示を行う。そして、特別図柄表示装置61は、所定時間、特別図柄の変動表示を行った後、特別図柄の停止表示を行う。以下では、遊技球が第1始動口44に入賞したときに、特別図柄表示装置61において変動表示される特別図柄を、第1特別図柄という。また、遊技球が第2始動口45に入賞したときに、特別図柄表示装置61において変動表示される特別図柄を、第2特別図柄という。
特別図柄表示装置61において、停止表示された第1特別図柄又は第2特別図柄が特定の態様(「大当り」の態様)である場合には、遊技状態が、通常遊技状態から遊技者に有利な状態である大当り遊技状態に移行する。すなわち、特別図柄表示装置61において、第1特別図柄又は第2特別図柄が大当り遊技状態に移行する態様で停止表示されることが、「大当り」である。
大当り遊技状態では、第1大入賞口53又は第2大入賞口54が開放状態になる。具体的には、本実施形態では、遊技球が第1始動口44に入賞し、特別図柄表示装置61において第1特別図柄が特定の態様で停止表示された場合には、第1大入賞口53が開放状態となる。一方、遊技球が第2始動口45に入賞し、特別図柄表示装置61において第2特別図柄が特定の態様で停止表示された場合には、第2大入賞口54が開放状態となる。
各大入賞口の開放状態は、遊技球が所定個数入賞するまで、又は、一定期間(例えば30sec)が経過するまで維持される。そして、各大入賞口の開放状態の経過期間が、このいずれかの条件を満たすと、開放状態であった大入賞口が閉鎖状態になる。
以下では、第1大入賞口53又は第2大入賞口54が遊技球を受け入れやすい状態(開放状態)となっている遊技をラウンドゲームという。ラウンドゲーム間は、大入賞口が閉鎖状態となる。また、ラウンドゲームは、1ラウンド、2ラウンド等のラウンド数として計数される。例えば、1回目のラウンドゲームを第1ラウンド、2回目のラウンドゲームを第2ラウンドと称する。
なお、特別図柄表示装置61において、停止表示された特別図柄が特定の態様以外の態様(「ハズレ」の態様)である場合には、転落抽選に当選した場合を除き遊技状態は移行しない。すなわち、特別図柄ゲームは、特別図柄表示装置61により、特別図柄が変動表示され、その後、特別図柄が停止表示され、その結果によって遊技状態が移行又は維持されるゲームである。
また、本実施形態のパチンコ遊技機1では、第1特別図柄又は第2特別図柄の変動表示中に遊技球が第1始動口44に入賞した場合、該入賞に対応する第1特別図柄の可変表示(保留球)が保留される。そして、現在、変動表示中の第1特別図柄又は第2特別図柄が停止表示されると、保留されていた第1特別図柄の変動表示が開始される。本実施形態では、保留される第1特別図柄の可変表示の数(いわゆる、「保留個数(保留球の個数)」)を、最大4回(個)に規定する。
さらに、本実施形態では、第1特別図柄又は第2特別図柄の変動表示中に遊技球が第2始動口45に入賞した場合、該入賞に対応する第2特別図柄の可変表示(保留球)が保留される。そして、現在、変動表示中の第1特別図柄又は第2特別図柄が停止表示されると、保留されていた第2特別図柄の変動表示が開始される。本実施形態では、保留される第2特別図柄の可変表示の数(保留個数)を、最大4回(個)に規定する。したがって、本実施形態では、特別図柄の可変表示の保留個数は、合わせて最大8個となる。
また、本実施形態では、第1特別図柄の保留球及び第2特別図柄の保留球が混在した場合、一方の特別図柄の変動表示を、他方の特別図柄の変動表示よりも優先的に実行する。なお、本発明はこれに限定されず、第1特別図柄の保留球及び第2特別図柄の保留球が混在した場合、保留された順番に特別図柄の変動表示を実行するようにしてもよい。
[普通図柄表示装置]
普通図柄表示装置62は、図4に示すように、表示装置13の表示領域13aの上部の略中央に配置される。そして、本実施形態では、普通図柄表示装置62は、遊技者側から見て、特別図柄表示装置61の右側に配置される。
普通図柄表示装置62は、普通図柄ゲームにおいて、普通図柄を可変表示(変動表示及び停止表示)する表示装置である。本実施形態では、図4に示すように、普通図柄表示装置62を、上下方向に配列された2つのLED(普通図柄表示LED)により構成する。そして、普通図柄表示装置62では、各普通図柄表示LEDの点灯・消灯によって構成される表示パターンを普通図柄として表す。
普通図柄表示装置62は、遊技球が球通過検出器43を通過したことを契機に、2つの普通図柄表示LEDを交互に点灯・消灯して、普通図柄の変動表示を行う。そして、普通図柄表示装置62は、所定時間、普通図柄の変動表示を行った後、普通図柄の停止表示を行う。
普通図柄表示装置62において、停止表示された普通図柄が所定の態様(「当り」の態様)である場合には、普通電動役物46が所定の期間だけ閉鎖状態から開放状態になる。一方、停止表示された普通図柄が所定の態様以外の態様(「ハズレ」の態様)である場合には、普通電動役物46は閉鎖状態を維持する。すなわち、普通図柄ゲームは、普通図柄表示装置62により、普通図柄が変動表示されて、その後、普通図柄が停止表示され、その結果に応じて普通電動役物46が動作するゲームである。
なお、普通図柄の変動表示中に遊技球が球通過検出器43を通過した場合には、普通図柄の可変表示が保留される。そして、現在、変動表示中の普通図柄が停止表示されると、保留されていた普通図柄の変動表示が開始される。本実施形態では、保留される普通図柄の可変表示の数(すなわち、「保留個数」)を、最大4回(個)に規定する。
[普通図柄保留表示装置]
普通図柄保留表示装置63は、図4に示すように、表示装置13の表示領域13aの上部の略中央に配置される。そして、本実施形態では、普通図柄保留表示装置63は、特別図柄表示装置61及び普通図柄表示装置62の下方に配置される。
普通図柄保留表示装置63は、普通図柄の可変表示の保留個数を表示する装置である。本実施形態では、図4に示すように、普通図柄保留表示装置63を、左右方向に配列された4つのLED(普通図柄保留表示LED)により構成する。そして、普通図柄保留表示装置63では、各普通図柄保留表示LEDの点灯・消灯により、普通図柄の可変表示の保留個数を表示する。
具体的には、普通図柄の可変表示の保留個数が1個である場合、遊技者側から見て、最も左側に位置する普通図柄保留表示LED(左から1つ目の普通図柄保留表示LED)が点灯し、その他の普通図柄保留表示LEDが消灯する。普通図柄の可変表示の保留個数が2個の場合には、左から1つ目及び2つ目の普通図柄保留表示LEDが点灯し、その他の普通図柄保留表示LEDが消灯する。普通図柄の可変表示の保留個数が3個の場合は、左から1つ目〜3つ目の普通図柄保留表示LEDが点灯し、その他の普通図柄保留表示LEDが消灯する。そして、普通図柄の可変表示の保留個数が4個の場合には、全ての普通図柄保留表示LEDが点灯する。
[第1特別図柄保留表示装置]
第1特別図柄保留表示装置64は、図4に示すように、表示装置13の表示領域13aの上部において、遊技者側から見て、特別図柄表示装置61の左側に配置される。
第1特別図柄保留表示装置64は、保留されている第1特別図柄の可変表示(第1特別図柄の保留球)に関する情報を表示する装置である。本実施形態では、図4に示すように、第1特別図柄保留表示装置64は、第1特別図柄保留個数表示部64aと、第1特別図柄保留情報表示部64bとで構成される。そして、第1特別図柄保留情報表示部64bは、特別図柄表示装置61の左側に配置され、第1特別図柄保留個数表示部64aは、第1特別図柄保留情報表示部64bの左側に配置される。
第1特別図柄保留個数表示部64aは、左右方向に配列された4つのLED(第1特別図柄保留表示LED)を有する。なお、第1特別図柄保留個数表示部64aの表示態様は、普通図柄保留表示装置63の表示態様と同様である。すなわち、第1特別図柄の可変表示が保留されている場合には、遊技者側から見て、最も左側に位置する第1特別図柄保留表示LEDから保留個数目までの第1特別図柄保留表示LEDが点灯する。
また、第1特別図柄保留情報表示部64bは、第1特別図柄の保留球に関する情報を表示する。例えば、第1特別図柄保留情報表示部64bは、次に変動表示させる第1特別図柄の保留球に関する情報(識別情報)を数字や記号等からなる図柄で表示する。なお、第1特別図柄保留表示装置64の構成は、図4に示す例に限定されず、少なくとも第1特別図柄の可変表示の保留個数を表示できる構成であれば、任意に構成することができる。
[第2特別図柄保留表示装置]
第2特別図柄保留表示装置65は、図4に示すように、表示装置13の表示領域13aの上部において、遊技者側から見て、普通図柄表示装置62の右側に配置される。
第2特別図柄保留表示装置65は、保留されている第2特別図柄の可変表示(第2特別図柄の保留球)に関する情報を表示する装置である。本実施形態では、図4に示すように、第2特別図柄保留表示装置65は、第2特別図柄保留個数表示部65aと、第2特別図柄保留情報表示部65bとで構成される。そして、第2特別図柄保留情報表示部65bは、普通図柄表示装置62の右側に配置され、第2特別図柄保留個数表示部65aは、第2特別図柄保留情報表示部65bの右側に配置される。
第2特別図柄保留個数表示部65aは、左右方向に配列された4つのLED(第2特別図柄保留表示LED)を有する。なお、第2特別図柄保留個数表示部65aの表示態様は、普通図柄保留表示装置63の表示態様と同様である。すなわち、第2特別図柄の可変表示が保留されている場合には、遊技者側から見て、最も左側に位置する第2特別図柄保留表示LEDから保留個数目までの第2特別図柄保留表示LEDが点灯する。
また、第2特別図柄保留情報表示部65bは、第2特別図柄の保留球に関する情報を表示する。例えば、第2特別図柄保留情報表示部65bは、次に変動表示させる第2特別図柄の保留球に関する情報(識別情報)を数字や記号等からなる図柄で表示する。なお、第2特別図柄保留表示装置65の構成は、図4に示す例に限定されず、少なくとも第2特別図柄の可変表示の保留個数を表示できる構成であれば、任意に構成することができる。
[表示装置]
表示装置13は、上述のように液晶表示装置で構成され、その表示領域13aにおいて各種画像表示演出を行う。
具体的には、本実施形態では、特別図柄表示装置61に表示される特別図柄と関連する演出画像が表示領域13aに表示される。この際、例えば、特別図柄表示装置61において特別図柄が変動表示中であるときには、特定の場合を除いて、例えば、1〜8までの数字や各種文字などからなる複数の演出用識別図柄(装飾図柄)が表示領域13aに変動表示される。そして、特別図柄表示装置61において特別図柄が停止表示されると、表示領域13aにも、特別図柄に対応する複数の装飾図柄(後述の大当り図柄等)が停止表示される。
そして、特別図柄表示装置61において停止表示された特別図柄が特定の態様である(停止表示の結果が「大当り」である)場合には、「大当り」であることを遊技者に把握させるための演出画像が表示領域13aに表示される。「大当り」であることを遊技者に把握させるための演出としては、例えば、まず、停止表示された複数の装飾図柄が特定の態様(例えば、同一の装飾図柄が所定の方向に沿って並ぶ態様)となり、その後、「大当り」を報知する画像を表示するような演出が挙げられる。
また、本実施形態では、表示装置13の表示領域13aに、第1特別図柄保留表示装置64及び第2特別図柄保留表示装置65の表示内容と関連する演出画像が表示される。例えば、表示領域13aには、特別図柄の可変表示の保留個数を報知する保留情報(例えば、保留個数と同じ数の保留用図柄)が表示される。また、例えば、本実施形態のパチンコ遊技機1では、特別図柄の保留球の情報に基づいて先読み演出を行うが、この際の予告報知も表示領域13aに表示される。
なお、本実施形態では、普通図柄表示装置62において停止表示された普通図柄が所定の態様であった場合に、その情報を遊技者に把握させる演出画像を表示装置13の表示領域13aに表示させる機能をさらに設けてもよい。
<パチンコ遊技機が備える回路の構成>
次に、図5を参照しながら、本実施形態のパチンコ遊技機1が備える各種回路の構成について説明する。なお、図5は、パチンコ遊技機1の回路構成を示すブロック図である。
パチンコ遊技機1は、図5に示すように、主に遊技動作の制御を行う主制御回路70(主制御手段)と、払出・発射制御回路123と、遊技の進行に応じた演出動作の制御を行う副制御回路200(副制御手段、演出制御手段)とを有する。
[主制御回路]
主制御回路70は、ワンチップマイコン77と、クロック発生回路74と、初期リセット回路75とを備える。なお、上述のように、本実施形態では、第1始動口44又は第2始動口45の入賞時に特別図柄の抽選処理を行うが、この処理は、主制御回路70により制御される。すなわち、主制御回路70は、遊技状態を遊技者にとって有利な状態に移行させるか否かの抽選処理を行う手段(抽選手段)も兼ねる。
ワンチップマイコン77は、メインCPU(Central Processing Unit)71と、メインROM(Read Only Memory)72と、メインRAM(Random Access Memory)73と、シリアル通信部76とにより構成される。なお、メインCPU71、メインROM72、メインRAM73及びシリアル通信部76は、それぞれ別個に設けられていてもよい。
また、本実施形態では、主制御回路70の基板にメインROM72を内蔵する構成を説明するが、本発明はこれに限定されない。例えば、主制御回路70の基板に、メインROM72を搭載したROM基板を接続してもよい。さらに、本実施形態では、主制御回路70内の各種回路(各種手段)は、一体的に形成されていてもよいし、別体として形成されていてもよい。また、メインROM72は、遊技機に設置される構成で無くてもよく、遊技機と通信可能となるような構成であってもよい。
ワンチップマイコン77には、クロック発生回路74及び初期リセット回路75が接続される。メインROM72には、メインCPU71によりパチンコ遊技機1の動作を制御するための各種プログラム(後述の図62〜図71参照)や、各種データテーブル(後述の図9〜図18参照)等が記憶されている。
メインCPU71は、メインROM72に記憶されたプログラムに従って、各種処理を実行する。メインRAM73は、メインCPU71が各種処理を実行する際の一時記憶領域と作用し、メインCPU71が各種処理に必要となる種々のフラグや変数の値が記憶される。なお、本実施形態では、メインCPU71の一時記憶領域としてメインRAM73を用いるが、本発明はこれに限定されず、読み書き可能な記憶媒体であれば任意の記録媒体を一時記憶領域として用いることができる。
クロック発生回路74は、後述するシステムタイマ割込処理を実行するために、所定の周期(例えば2msec)でクロックパルスを発生する。初期リセット回路75は、電源投入時にリセット信号を生成する。そして、シリアル通信部76は、副制御回路200に対してコマンドを供給する。
また、主制御回路70には、図5に示すように、主制御回路70から送られた出力信号に応じて動作する各種の装置が接続される。
具体的には、主制御回路70には、特別図柄表示装置61、普通図柄表示装置62、普通図柄保留表示装置63、第1特別図柄保留表示装置64及び第2特別図柄保留表示装置65が接続される。これらの各装置は、主制御回路70から送られた出力信号に基づいて所定の動作を行う。例えば、主制御回路70から特別図柄表示装置61に所定の出力信号が送信されると、特別図柄表示装置61は、その出力信号に基づいて、特別図柄ゲームにおける特別図柄の可変表示の動作制御を行う。
また、主制御回路70には、普通電動役物ソレノイド46a、第1大入賞口ソレノイド53b及び第2大入賞口ソレノイド54bが接続される。そして、主制御回路70は、普通電動役物ソレノイド46aを駆動制御して、普通電動役物46の一対の羽根部材を開放状態又は閉鎖状態にする。また、主制御回路70は、第1大入賞口ソレノイド53b及び第2大入賞口ソレノイド54bをそれぞれ駆動制御して、第1大入賞口53及び第2大入賞口54を開放状態又は閉鎖状態にする。
さらに、主制御回路70には、図5に示すように、各種センサに接続され、各種センサの出力信号を受信する。具体的には、主制御回路70には、カウントセンサ53c,54c、一般入賞球センサ51a,52a、通過球センサ43a、第1始動口入賞球センサ44a、第2始動口入賞球センサ45a、バックアップクリアスイッチ121などが接続される。
カウントセンサ53cは、第1大入賞口53に入賞した遊技球を計数し、その結果を示す所定の出力信号を主制御回路70に出力する。カウントセンサ54cは、第2大入賞口54に入賞した遊技球を計数し、その結果を示す所定の出力信号を主制御回路70に出力する。一般入賞球センサ51aは、一般入賞口51に遊技球が入賞した場合に、所定の検知信号を主制御回路70に出力し、一般入賞球センサ52aは、一般入賞口52に遊技球が入賞した場合に、所定の検知信号を主制御回路70に出力する。
また、通過球センサ43aは、遊技球が球通過検出器43を通過した場合に、所定の検知信号を主制御回路70に出力する。第1始動口入賞球センサ44aは、遊技球が第1始動口44に入賞した場合に、所定の検知信号を主制御回路70に出力する。第2始動口入賞球センサ45aは、遊技球が第2始動口45に入賞した場合に、所定の検知信号を主制御回路70に出力する。また、バックアップクリアスイッチ121は、電断時等にバックアップデータが遊技店の管理者等の操作に応じてクリアされた場合に、所定の検知信号を主制御回路70及び払出・発射制御回路123に出力する。
さらに、主制御回路70には、払出・発射制御回路123が接続される。なお、払出・発射制御回路123及びそれに接続された各種周辺装置の内容については、後で詳述する。
[払出・発射制御回路及びその周辺装置]
払出・発射制御回路123は、賞球ケースユニット170、払出状態報知表示装置178、下皿満タンスイッチ179、発射装置15、外部端子板140及びカードユニット150に接続される。また、外部端子板140は、データ表示器141に接続され、カードユニット150は、貸し出し用操作部151に接続される。
払出・発射制御回路123は、主制御回路70から送信される各種コマンド等に基づいて、これらの周辺装置に対して信号等を入出力し、各周辺装置の動作制御を行う。例えば、払出・発射制御回路123は、主制御回路70から送信される賞球制御コマンド、カードユニット150から送信される後述の貸し球制御信号を受信し、賞球ケースユニット170に対して所定の信号を送信する。これにより、賞球ケースユニット170は、遊技球を払い出す。
賞球ケースユニット170は、遊技球の払出を行う装置であり、第1の15球担保スイッチ172a、第2の15球担保スイッチ172b、第1の計数スイッチ181a、第2の計数スイッチ181b及び払出モータ174を有する。なお、賞球ケースユニット170に含まれるこれらの構成部は、それぞれ払出・発射制御回路123に接続される。
また、ここでは図示しないが、賞球ケースユニット170の内部には、2つの球供給通路が設けられる。そして、第1の15球担保スイッチ172aは、一方の球供給通路に補給された遊技球を検出し、その検出結果を示す所定の出力信号を払出・発射制御回路123に出力する。また、第2の15球担保スイッチ172bは、他方の球供給通路に補給された遊技球を検出し、その検出結果を示す所定の出力信号を払出・発射制御回路123に出力する。
さらに、ここでは図示しないが、賞球ケースユニット170の内部には、2つの払出通路が設けられる。そして、第1の計数スイッチ181aは、一方の払出通路に払出された遊技球を検出し、その検出結果を示す所定の出力信号を払出・発射制御回路123に出力する。また、第2の計数スイッチ181bは、他方の払出通路に払出された遊技球を検出し、その検出結果を示す所定の出力信号を払出・発射制御回路123に出力する。
払出モータ174は、ステッピングモータで構成され、払出・発射制御回路123から入力された制御信号に応じて駆動される。払出モータ174は、賞球ケースユニット170内に設けられた図示しないスプロケット(回転部材)を回転駆動する。そして、このスプロケットの回転動作により、各球供給路に蓄積された遊技球が1球ずつ、対応する払出通路に移動する。
払出状態報知表示装置178は、遊技球の払出に関して異常が発生した場合に、その異常の種別を報知するための装置であり、7セグメントディスプレイにより構成される。払出状態報知表示装置178は、遊技店(遊技場)の管理者のみが視認可能となるような位置に取り付けられ、例えば、パチンコ遊技機1の裏面の所定箇所に取り付けられる。
下皿満タンスイッチ179は、下皿22に貯留された遊技球が満タンになった場合に、これを検知し、その検知結果を払出・発射制御回路123に出力する。
なお、払出・発射制御回路123は、下皿満タンスイッチ179から下皿満タン状態であることを示す信号が入力されると、下皿満タン状態である旨を払出状態報知表示装置178を用いて報知するとともに、主制御回路70に下皿満タン状態であることを示す信号を出力する。その後、主制御回路70から副制御回路200に演出制御コマンドが送信されると、副制御回路200は、例えばスピーカ11、ランプ群18、表示装置13等を用いて下皿22が満タン状態であることを報知する。
発射装置15は、上皿21に貯留された遊技球を遊技領域12aに発射する際に遊技者に回動操作可能な発射ハンドル25を有する。払出・発射制御回路123は、発射ハンドル25が遊技者によって把持され、且つ、時計回り方向へ回動操作されたときに、その回動角度に応じて発射装置15のソレノイドアクチュエータ(不図示)に電力を供給する。これにより、発射装置15は、遊技球を発射する。なお、発射装置15の駆動手段としては、ソレノイドアクチュエータの代わりにモータを用いてもよい。
外部端子板140は、遊技店内の全てのパチンコ遊技機を管理するホールコンピュータにデータ送信するために用いられる。データ表示器141は、例えばパチンコ遊技機1の上部に遊技店の付帯設備として設置され、ホール係員を呼び出す機能や当り回数を表示する機能を有する。
貸し出し用操作部151は、遊技者に操作されると、カードユニット150に遊技球の貸し出しを要求する信号を出力する。カードユニット150は、貸し出し用操作部151から出力される遊技球の貸し出しを要求する信号に基づいて、賞球ケースユニット170を介して払出される遊技球の数(貸し球数)を決定する。そして、カードユニット150は、貸し出し用操作部151から遊技球の貸し出しを要求する信号を受信すると、決定された貸し球数の情報を含む貸し球制御信号を払出・発射制御回路123に送信する。
[副制御回路]
副制御回路200は、主制御回路70のシリアル通信部76に接続される。そして、副制御回路200(後述のホスト制御回路210)は、主制御回路70から送信される各種のコマンド(遊技の進行に関する情報)に従って、副制御回路200全体の制御を行う。そして、副制御回路200は、主制御回路70から送信される各種のコマンドに基づいて、スピーカ11による音声再生動作の制御、表示装置13による画像表示動作の制御、LEDを含むランプ群18(演出手段)によるランプ点灯/消灯動作の制御、役物20(装飾部材)による演出動作の制御等を行う。すなわち、副制御回路200は、主制御回路70からの指令に基づいて、各種演出装置を制御し、遊技の進行に応じた各種演出を実行する。なお、本実施形態では、副制御回路200から主制御回路70に対して信号を供給できない構成とするが、本発明はこれに限定されず、副制御回路200から主制御回路70に信号送信可能な構成を備えていてもよい。
次に、図6を参照しながら、副制御回路200の内部構成について、より詳細に説明する。なお、図6は、副制御回路200内部の回路構成、並びに、副制御回路200とその各種周辺装置との接続関係を示すブロック図である。
副制御回路200は、図6に示すように、中継基板201と、サブ基板202と、制御ROM基板203と、CGROM(Character Generator ROM)基板204とを備える。そして、サブ基板202は、中継基板201、制御ROM基板203及びCGROM基板204に接続される。
中継基板201は、主制御回路70から送信されたコマンドを受信し、該受信したコマンドをサブ基板202に送信するための中継基板である。
サブ基板202には、ホスト制御回路210(ホスト制御手段)、音声・LED制御回路220(発光制御手段)、表示制御回路230(表示制御手段)、SDRAM(Synchronous Dynamic RAM)250及び内蔵中継基板260が設けられる。
ホスト制御回路210は、主制御回路70から送信される各種のコマンドに基づいて、副制御回路200全体の動作を制御する回路であり、CPUプロセッサにより構成される。ホスト制御回路210は、サブ基板202内において、音声・LED制御回路220、表示制御回路230及び内蔵中継基板260に接続される。また、ホスト制御回路210は、制御ROM基板203に接続される。
また、ホスト制御回路210は、サブワークRAM210a及びSRAM(Static RAM)210bを有する。サブワークRAM210aは、ホスト制御回路210が各種処理を実行する際の作業用一時記憶領域と作用する記憶装置であり、ホスト制御回路210が各種処理を実行する際に必要となる種々のフラグや変数の値などを記憶する。SRAM210bは、サブワークRAM210a内の所定のデータをバックアップする記憶装置である。なお、本実施形態では、ホスト制御回路210の一時記憶領域としてRAMを用いるが、本発明はこれに限定されず、読み書き可能な記憶媒体であれば任意の記録媒体を一時記憶領域として用いてよい。
音声・LED制御回路220は、内蔵中継基板260を介してスピーカ11及びランプ群18に接続され、ホスト制御回路210から入力される制御信号(後述のサウンドリクエスト及びランプリクエスト)に基づいて、スピーカ11による音声再生動作の制御及びランプ群18による発光動作の制御を行う回路である。それゆえ、機能的には、音声・LED制御回路220は、音声コントローラ220aと、ランプコントローラ220bとを有する。音声コントローラ220a及びランプコントローラ220bは、実質、後述のサウンド・ランプ制御モジュール226に含まれる。音声・LED制御回路220の内部構成については、後で図面を参照しながら詳述する。
なお、本実施形態では、音声・LED制御回路220から出力された制御信号及びデータ(例えば、後述のLEDデータ等)が内蔵中継基板260を介してランプ群18に送信される際、音声・LED制御回路220及びランプ群18間の通信は、SPI(Serial Periperal Interface)の通信方式(シリアル通信方式の一種)で行われる。また、本実施形態では、ランプ群18には、1個以上のLED、及び、各LEDを制御するための1個以上のLEDドライバが含まれる(後述の図36〜図38参照)。
表示制御回路230は、表示装置13に接続され、ホスト制御回路210から入力される制御信号(描画リクエスト)に基づいて演出に関する画像(装飾図柄画像、背景画像、演出用画像等)を表示装置13で表示させる際の各種処理動作を制御するための回路である。なお、表示制御回路230は、ディスプレイコントローラ(後述の第1ディスプレイコントローラ238及び第2ディスプレイコントローラ239)と、内蔵VRAM(Video RAM)237とを有する。
また、表示制御回路230は、サブ基板202内においてSDRAM250に接続される。さらに、表示制御回路230は、CGROM基板204に接続される。また、表示制御回路230内のディスプレイコントローラは、中継基板を介さず直接、表示装置13に接続される。なお、表示制御回路230の内部構成については、後で図面を参照しながら詳述する。
SDRAM250は、DDR2(Double-Date Rate2) SDRAMで構成される。また、SDRAM250には、表示装置13により表示される画像(動画及び静止画)の描画処理において、各種画像データを一時的に格納する各種バッファが設けられる。具体的には、例えば、後述の図90〜図92に示すように、SDRAM250には、テクスチャバッファ、ムービバッファ、ブレンドバッファ、2つのフレームバッファ(第1フレームバッファ及び第2フレームバッファ)、モーションバッファ等が設けられる。
内蔵中継基板260は、ホスト制御回路210及び音声・LED制御回路220から出力された各種信号及び各種データを受信し、該受信した各種信号及び各種データをスピーカ11、ランプ群18及び役物20に送信する中継基板である。
また、内蔵中継基板260は、I2C(Inter-Integrated Circuit)コントローラ261を有し、I2Cコントローラ261は、ホスト制御回路210、及び、役物20のモータコントローラ270に接続される。すなわち、ホスト制御回路210は、I2Cコントローラ261及びモータコントローラ270を介して役物20に接続される。そして、ホスト制御回路210から出力された制御信号及びデータ(例えば後述の励磁データ等)は、I2Cコントローラ261及びモータコントローラ270を介して役物20に入力される。
なお、本実施形態では、I2Cコントローラ261及びモータコントローラ270間の通信は、I2Cの通信方式(シリアル通信方式の一種)で行われる。また、本実施形態では、役物20内には、1個以上のモータが含まれ、モータコントローラ270内には、各モータを駆動するための1個以上のモータドライバが含まれる(後述の図60及び図61参照)。なお、図6には、役物20が1つだけ設けられた例を示すが、本発明はこれに限定されず、複数の役物20が設けられていてもよい。
また、本実施形態の構成において、モータコントローラ270を使用せずにホスト制御回路210が直接、役物20のモータを駆動する構成にしてもよいし、モータ制御用の制御回路を別途設けてもよい。さらに、本実施形態では、1つの制御回路で複数のモータドライバ(モータ)を制御する構成を説明するが(後述の図60及び図61参照)、本発明はこれに限定されない。本実施形態において、1以上(1又は複数)の制御回路により1以上(1又は複数)のモータ(モータドライバ)を制御する構成にしてもよいし、1以上(1又は複数)の制御回路により1つのモータ(モータドライバ)を制御する構成にしてもよいし、1つの制御回路により1つのモータ(モータドライバ)を制御する構成にしてもよい。
制御ROM基板203には、サブメインROM205が設けられる。サブメインROM205には、ホスト制御回路210によりパチンコ遊技機1の演出動作を制御するための各種プログラム(後述の図72、図74〜図77、図79〜図103参照)や、各種データテーブル(後述の図19〜図21参照)が記憶される。そして、ホスト制御回路210は、サブメインROM205に記憶されたプログラムに従って、各種の処理を実行する。
なお、本実施形態では、ホスト制御回路210で用いるプログラムや各種テーブル等を記憶する記憶手段として、サブメインROM205を適用したが、本発明はこれに限定されない。このような記憶手段としては、制御手段を備えたコンピュータにより読み取り可能な記憶媒体であれば別態様の記憶媒体を用いてもよく、例えば、ハードディスク装置、CD−ROM及びDVD−ROM、ROMカートリッジ等の記憶媒体を適用してもよい。また、プログラムの各々が別々の記憶媒体に記録されていてもよい。さらに、プログラムは、予め記録媒体に記録されていてもよいし、電源投入後に外部等からダウンロードされ、サブメインROM205に記録されてもよい。
CGROM基板204には、CGROM206が設けられる。CGROM206には、例えば表示装置13で表示される画像データや、スピーカ11により再生される音声データ(後述のアクセスデータ)などが記憶される。
なお、本実施形態では、副制御回路200内において、各種ROM基板(制御ROM基板203及びCGROM基板204)とサブ基板202とがボード・トゥ・ボードで接続される構成を説明したが、本発明はこれに限定されない。例えば、各種ROMをサブ基板202に設けられたソケット等のポートに直接挿入して、ROM機能を備えた又はROMそのものを備えた一枚の基板によりサブ基板202を構成してもよい。すなわち、サブ基板202と各種ROMとを一体的に構成してもよい。
[音声・LED制御回路]
次に、図7を参照しながら、音声・LED制御回路220の内部構成について説明する。図7は、音声・LED制御回路220の内部の回路構成、並びに、音声・LED制御回路220とその各種周辺装置及び周辺回路部との接続関係を示すブロック図である。なお、図7では、説明を簡略化するため、音声・LED制御回路220と各種周辺装置及び回路部との間に設けられる中継基板等の図示は省略する。
音声・LED制御回路220は、図7に示すように、LSI(Large-Scale Integration)インターフェイス221と、メモリインターフェイス222と、デジタルオーディオインターフェイス223と、ペリフェラルインターフェイス224と、コマンドレジスタ225と、サウンド・ランプ制御モジュール226と、メインジェネレータ227と、マルチエフェクタ228とを備える。音声・LED制御回路220内における各部の接続関係は、次の通りである。
音声・LED制御回路220内において、サウンド・ランプ制御モジュール226は、メモリインターフェイス222、ペリフェラルインターフェイス224、コマンドレジスタ225、メインジェネレータ227及びマルチエフェクタ228に接続される。また、コマンドレジスタ225は、サウンド・ランプ制御モジュール226以外に、LSIインターフェイス221に接続される。また、メインジェネレータ227は、サウンド・ランプ制御モジュール226以外に、メモリインターフェイス222及びマルチエフェクタ228に接続される。さらに、マルチエフェクタ228は、サウンド・ランプ制御モジュール226及びメインジェネレータ227以外に、メモリインターフェイス222及びデジタルオーディオインターフェイス223に接続される。
次に、音声・LED制御回路220内の各部の構成について説明する。
LSIインターフェイス221は、ホスト制御回路210とコマンドレジスタ225との間で制御信号等(例えば、サウンドリクエスト、ランプリクエスト等)の入出力動作を行う際に用いられるインターフェイス回路である。すなわち、コマンドレジスタ225は、LSIインターフェイス221を介してホスト制御回路210に接続される。
メモリインターフェイス222は、サブメインROM205と、サウンド・ランプ制御モジュール226、メインジェネレータ227及びマルチエフェクタ228のそれぞれとの間で音声データ等の入出力動作を行う際に用いられるインターフェイス回路である。
デジタルオーディオインターフェイス223は、マルチエフェクタ228からスピーカ11に音声信号等を出力する際に用いられるインターフェイス回路である。また、デジタルオーディオインターフェイス223は、オーディオ入力信号をマルチエフェクタ228に出力する。
ペリフェラルインターフェイス224は、ランプ群18とサウンド・ランプ制御モジュール226との間でランプ信号等(後述のLEDデータ等)の入出力動作を行う際に用いられるインターフェイス回路である。また、ペリフェラルインターフェイス224には、ランプ群18に含まれるLEDドライバにデータ出力を行う際の物理系統(SPIチャンネル)として、3つの物理系統が設けられている。なお、本実施形態では、後述のように、2つの物理系統(物理系統0(SPIチャンネル0)及び物理系統1(SPIチャンネル1))を用いる。
コマンドレジスタ225は、レジスタ群で構成される。コマンドレジスタ225は、サウンド・ランプ制御モジュール226、メインジェネレータ227及びマルチエフェクタ228の機能制御の設定を行う。また、コマンドレジスタ225は、各インターフェイス(LSIインターフェイス221、メモリインターフェイス222、デジタルオーディオインターフェイス223、ペリフェラルインターフェイス224)の動作条件の設定も行う。
なお、コマンドレジスタ225を構成する各レジスタには、IC(Integrated Circuit)が搭載され、メモリ・アクセス制御により動作を安定させたメモリチップにより各レジスタが構成される。このような構成のレジスタを用いた場合、各レジスタが接続された信号バスへの負担が小さくなるので、メモリ・チップ(レジスタ)を増やすことにより、容易に、メモリ・モジュール1枚当りの容量(コマンドレジスタ225の容量)を増加させることができる。
サウンド・ランプ制御モジュール226は、コマンドレジスタ225の設定内容に従い、音声・LED制御回路220内の各構成部(各ブロック)の動作を制御する。サウンド・ランプ制御モジュール226は、図7に示すように、シンプルアクセス制御部226a、シーケンサー部226b、ランプ制御部226c及びペリフェラル制御部226dを有する。
シンプルアクセス制御部226aは、コマンドを一括処理する回路部である。シーケンサー部226bは、ランプ点灯や音声などの自動再生動作を制御するための各種シーケンサー(自動再生機能部)を有する。そして、各シーケンサーは、タイマーやステップ条件(例えば、後述のLEDアニメーションや音声などのシーケンス再生中のステップ処理毎に設定される条件)に従って、各種動作を制御する。
ランプ制御部226cは、後述のLEDデータが設定可能な全チャンネル(8つのチャンネル)において、セットされる輝度値の計算を行い、その算出結果を外部(LEDドライバ)に送信する。また、ペリフェラル制御部226dは、ランプ制御部226cから出力された算出結果のデータをLEDドライバに送信する際の物理的な送信制御を行う。
メインジェネレータ227は、音声信号を生成する回路部である。具体的には、メインジェネレータ227は、サウンド・ランプ制御モジュール226から入力された制御信号に基づいて、CGROM206に記憶されている所定の音声データを取得し、該取得した音声データを所定の音声信号に変換する。また、メインジェネレータ227では、生成された音声信号の増幅処理も行う。
マルチエフェクタ228は、メインジェネレータ227から入力される音声信号とデジタルオーディオインターフェイス223から入力されるオーディオ入力信号とを合成するミキサーと、音声に対して各種音響効果を与えるための各種エフェクターとを有する。そして、マルチエフェクタ228は、ミキサーで合成された音声信号、エフェクターからの出力信号等をデジタルオーディオインターフェイス223を介してスピーカ11に出力する。
[表示制御回路]
次に、図8を参照しながら、表示制御回路230の内部構成について説明する。図8は、表示制御回路230内部の回路構成、並びに、表示制御回路230とその各種周辺装置及び周辺回路部との接続関係を示すブロック図である。
表示制御回路230は、図8に示すように、メモリコントローラ231と、コマンドメモリ232と、コマンドパーサ233と、動画デコーダ234と、静止画デコーダ235と、SDRAMコントローラ236と、内蔵VRAM237と、第1ディスプレイコントローラ238と、第2ディスプレイコントローラ239と、3D(Dimension)ジオメトリエンジン240と、レンダリングエンジン241とを備える。表示制御回路230内における各部の接続関係、並びに、表示制御回路230とその各種周辺装置及び周辺回路との接続関係は、次の通りである。
表示制御回路230内において、メモリコントローラ231は、コマンドパーサ233、動画デコーダ234及び静止画デコーダ235に接続される。コマンドパーサ233は、メモリコントローラ231以外に、コマンドメモリ232、動画デコーダ234、静止画デコーダ235及び3Dジオメトリエンジン240に接続される。動画デコーダ234は、メモリコントローラ231及びコマンドパーサ233以外に、SDRAMコントローラ236に接続される。静止画デコーダ235は、メモリコントローラ231及びコマンドパーサ233以外に、内蔵VRAM237に接続される。
また、表示制御回路230内において、SDRAMコントローラ236は、動画デコーダ234以外に、内蔵VRAM237、第1ディスプレイコントローラ238及び第2ディスプレイコントローラ239に接続される。内蔵VRAM237は、静止画デコーダ235及びSDRAMコントローラ236以外に、第1ディスプレイコントローラ238、第2ディスプレイコントローラ239及びレンダリングエンジン241に接続される。さらに、3Dジオメトリエンジン240は、コマンドパーサ233以外に、レンダリングエンジン241に接続される。
なお、SDRAM250は、表示制御回路230内のメモリコントローラ231及びSDRAMコントローラ236に接続される。また、CGROM基板204は、表示制御回路230内のメモリコントローラ231に接続される。また、ホスト制御回路210は、表示制御回路230内のメモリコントローラ231及びコマンドメモリ232に接続される。さらに、表示装置13は、表示制御回路230内の第1ディスプレイコントローラ238及び第2ディスプレイコントローラ239に接続される。
次に、表示制御回路230内の各部の構成について説明する。
メモリコントローラ231は、主に、外部の各種メモリ(CGROM基板204及びSDRAM250)と表示制御回路230との間の通信制御を行う。例えば、メモリコントローラ231は、制御対象となる外部のメモリのアドレス指定信号の送受信や、メモリのレディ、ビジー管理等の処理を行い、各種メモリに対して指定したアドレスに格納されたデータ(演出データ、コマンドデータなど)を取得する処理を行う。
コマンドメモリ232は、コマンドリストを格納する内蔵メモリである。なお、コマンドリストは、コマンドメモリ232以外に、SDRAM250、CGROM基板204(CGROM206)に格納することもできる。
コマンドパーサ233は、指定されたメモリ(コマンドメモリ232、SDRAM250又はCGROM206)からコマンドリストを取得する。具体的には、本実施形態では、ホスト制御回路210により表示制御回路230内のシステム制御レジスタ(不図示)に、コマンドリストが配置されたメモリの種別(コマンドメモリ232、SDRAM250又はCGROM206)と、その開始アドレスとが設定される。そして、コマンドパーサ233は、システム制御レジスタ(不図示)に指定されたメモリ内の開始アドレスにアクセスしてコマンドリストを取得する。
また、コマンドパーサ233は、取得したコマンドリストを解析して具体的な制御コードを生成し、該制御コードを動画デコーダ234、静止画デコーダ235、3Dジオメトリエンジン240に出力する。本実施形態では、コマンドパーサ233により出力された制御コードに基づいて、表示制御回路230内の各画像処理モジュールが作動する。
動画デコーダ234は、CGROM基板204又はSDRAM250から取得された動画圧縮データを復号(デコード)する。そして、動画デコーダ234は、復号した動画データをSDRAM250(外付けRAM)に出力する。なお、動画デコーダ234から出力された動画データ(デコード結果)は、SDRAM250内に設けられたムービバッファに格納される。
静止画デコーダ235は、CGROM基板204又はSDRAM250から取得された静止画圧縮データを復号する。そして、静止画デコーダ235は、復号した静止画データを内蔵VRAM237に出力する。なお、静止画デコーダ235から出力された静止画データ(デコード結果)は、内蔵VRAM237内に設けられた後述のスプライトバッファに一時的に格納される。
SDRAMコントローラ236は、後述する描画処理(後述の図90〜図92参照)で説明するように、デコードされた動画データ及び静止画データのRAMへの格納処理や、内蔵VRAM237とCGROM基板204又はSDRAM250との間における画像データの転送処理などの動作を制御するコントローラである。
内蔵VRAM237は、表示制御回路230による後述の描画処理(後述の図90〜図92参照)において、デコード処理やレンダリング処理などの各種処理を実行する際のワークRAMとして動作する。また、後述の描画処理内の各処理過程において行われる、内蔵VRAM237とCGROM基板204又はSDRAM250との間の画像データの転送処理において、各種画像データが内蔵VRAM237に一時的に格納される。
第1ディスプレイコントローラ238及び第2ディスプレイコントローラ239のそれぞれは、レンダリングエンジン241により生成されたレンダリング結果(描画結果)を取得し、該レンダリング結果を表示装置13に出力する。これにより、表示装置13の表示画面に、所定の画像が表示される。なお、本実施形態のパチンコ遊技機1のように、2つのディスプレイコントローラを設けた場合には、一つの表示制御回路230(1チップ)により、2つの画面を表示装置13に設けて各画面を独立して制御することができる。
3Dジオメトリエンジン240は、コマンドパーサ233から入力された制御コードに基づいて、3次元情報を2次元情報に変換する処理(投影変換処理)や、図形の拡大、縮小、回転及び移動等のアフィン変換(図形変換)処理を行う。そして、3Dジオメトリエンジン240は、変換処理の結果をレンダリングエンジン241に出力する。
レンダリングエンジン241は、伸張された静止画データ及び動画データが格納されたテクスチャソース(本実施形態ではSDRAM250)を参照し、該画像データに対してレンダリング(描画)処理を施する。そして、レンダリングエンジン241は、レンダリング結果をレンダリングターゲット(本実施形態では、内蔵VRAM237又はSDRAM250)に書き出す。
なお、本明細書でいう「レンダリング(描画)する」とは、動画の拡大縮小や回転などの指定情報(本実施形態では、3Dジオメトリエンジン240から出力された情報)に従ってデコードされたデータを編集することである。また、ここでいう「レンダリングエンジン」には、例えば、「ラスタライザ」、「ピクセルシェーダ」なども含まれる。それゆえ、レンダリングエンジン241では、ピクセルシェーダと同様に、画像データに対してピクセル単位で、ARGB値(A:透明度(不透明度)を示すアルファ値、R:赤色成分の輝度値、G:緑色成分の輝度値、B:青色成分の輝度値)の演算処理も行われる。
<遊技状態の種別>
次に、メインCPU71で制御及び管理される遊技状態の種別について説明する。
本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、賞球の期待度が互いに異なる「大当り遊技状態」(特別遊技状態)及び「小当り遊技状態」(特定遊技状態)がある。「大当り遊技状態」は、第1大入賞口53又は第2大入賞口54のシャッタの開放期間(すなわち、1ラウンドの期間)が長い(例えば30sec等)ラウンドゲームが発生する遊技状態であり、遊技者にとって大きな賞球が期待できる遊技状態である。すなわち、「大当り遊技状態」では、大入賞口のシャッタの開放状態及び閉鎖状態の繰り返し態様が遊技者によって有利な状態となる。
一方、「小当り遊技状態」は、「大当り遊技状態」に比べて1ラウンドの期間が短い(例えば1.8sec等)ラウンドゲームが発生する遊技状態であり、遊技者にとって大きな賞球が期待できない遊技状態である。すなわち、「小当り遊技状態」では、大入賞口のシャッタの開放状態及び閉鎖状態の繰り返し態様が遊技者によって不利な状態となる。
また、本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、「大当り」の当選確率が互いに異なる「確変遊技状態」(高確率遊技状態)及び「通常遊技状態」(低確率遊技状態)がある。
「確変遊技状態」は、「大当り」の当選確率(本実施形態では1/131)が高い遊技状態である。一方、「通常遊技状態」は、「確変遊技状態」に比べて「大当り」の当選確率(本実施形態では1/392)が低い遊技状態である。
さらに、本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、普通図柄の当選確率(普通図柄が「当り」の態様になる確率)が互いに異なる「時短遊技状態」(高入賞遊技状態)及び「非時短遊技状態」(低入賞遊技状態)がある。
本明細書でいう「時短遊技状態」とは、普通図柄の当選確率が高い遊技状態のことである。すなわち、「時短遊技状態」は、第2始動口45に設けられた普通電動役物46(羽根部材)が開放状態になり易い遊技状態(第2始動口入賞が発生し易い遊技状態)であり、遊技者にとって有利な遊技状態である。なお、「時短遊技状態」は、「大当り」が決定された場合、又は、後述する所定の時短回数分の特別図柄の変動表示が実行された場合に終了する。また、時短遊技状態では、該状態中に実行される特別図柄の変動表示を行う時間である変動時間として、通常遊技状態中に選択される変動時間よりも短い変動時間が選択され易くなるように制御されていてもよい。このような制御により、時短遊技状態において通常遊技状態中よりも変動時間の短縮を行い、単位時間当たりの遊技回数を増やすことによって、遊技者に有利な遊技状態を付与してもよい。
一方、「非時短(時短なし)遊技状態」とは、普通図柄の当選確率が「時短遊技状態」に比べて低い遊技状態のことである。それゆえ、「非時短遊技状態」は、普通電動役物46(羽根部材)が開放状態になり難い遊技状態(第2始動口入賞が発生し難い遊技状態)であり、遊技者にとって不利な遊技状態である。
そして、本実施形態では、「大当り遊技状態」及び「小当り遊技状態」以外の上述した遊技状態の各種組合せの遊技状態が設けられる。具体的には、本実施形態では、「確変遊技状態」と「時短遊技状態」とが同時に発生する遊技状態(以下、「高確時短あり」の状態という)、及び、「確変遊技状態」と「非時短遊技状態」とが同時に発生する遊技状態(以下、「高確時短なし」の状態という)が設けられる。なお、「高確時短なし」の状態では、遊技状態が「確変遊技状態」であるか否かを遊技者が判別することが難しいので、ここでは、このような遊技状態を「潜確遊技状態」ともいう。また、本実施形態では、「通常遊技状態」と「非時短遊技状態」とが同時に発生する遊技状態(以下、「低確時短なし」の状態という)、及び、「通常遊技状態」と「時短遊技状態」とが同時に発生するような遊技状態(以下、「低確時短あり」の状態という)も設けられる。
<メインROMに記憶されているデータテーブルの構成>
次に、図9〜図18を参照しながら、主制御回路70のメインROM72に記憶される各種データテーブルの構成について説明する。
[大当り乱数判定テーブル(第1始動口入賞時)]
まず、図9を参照して、大当り乱数判定テーブル(第1始動口入賞時)について説明する。大当り乱数判定テーブル(第1始動口入賞時)は、第1始動口44に遊技球が入球(入賞)した際に取得される大当り判定用乱数値に基づいて「大当り」、「小当り」及び「ハズレ」のいずれかを抽選により決定する際に参照されるテーブルである。
なお、大当り判定用乱数値は、始動口入賞を契機に行われる抽選結果を判定するための乱数値であり、より具体的には、特別図柄(第1特別図柄及び第2特別図柄)の抽選結果を示す乱数値である。また、本実施形態では、大当り判定用乱数値(特別図柄の抽選用乱数値)は、0〜65535(65536種類)の中から選ばれる。
本実施形態では、第1始動口44に遊技球が入賞した場合、「大当り」、「小当り」及び「ハズレ」のいずれかが抽選により決定される。それゆえ、大当り乱数判定テーブル(第1始動口入賞時)には、図9に示すように、確変フラグの値(「0(=オフ)」又は「1(=オン)」)毎に、「大当り」、「小当り」及び「ハズレ」のそれそれの当選が決定される大当り判定用乱数値の範囲と、それに対応する判定値データ(「大当り判定値データ」、「小当り判定値データ」及び「ハズレ判定値データ」のいずれか)との関係が規定される。なお、確変フラグは、メインRAM73に格納された管理フラグの一つであり、遊技状態が「確変遊技状態」であるか否かを管理するためのフラグである。遊技状態が「確変遊技状態」である場合には、確定フラグは「1」となる。
本実施形態では、図9に示すように、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」〜「943」のいずれかである場合には、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図9中の「選択率」)は、167/65536となる。
また、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「1」〜「300」のいずれかである場合には、「小当り」が当選し、「小当り判定値データ」が決定される。すなわち、この場合における「小当り」の当選確率は、300/65536となる。
さらに、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「1」〜「300」及び「777」〜「943」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
一方、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」〜「1277」のいずれかである場合には、図9に示すように、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図9中の「選択率」)は、500/65536となり、確変フラグが「0」である場合のそれより高くなる。
また、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「1」〜「300」のいずれかである場合には、「小当り」が当選し、「小当り判定値データ」が決定される。すなわち、この場合における「小当り」の当選確率は、300/65536となり、確変フラグが「0」である場合のそれと同じになる。
さらに、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「1」〜「300」及び「777」〜「1277」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
上述のように、本実施形態では、第1始動口44に遊技球が入賞した場合には、入賞時の遊技状態が「確変遊技状態」であるか否かによって、選択率(大当り確率)が変動する。具体的には、遊技状態が「確変遊技状態」である時に第1始動口44に遊技球が入賞した場合の大当り確率は、遊技状態が「確変遊技状態」でない時のそれの約3倍程度高くなる。
[大当り乱数判定テーブル(第2始動口入賞時)]
次に、図10を参照して、大当り乱数判定テーブル(第2始動口入賞時)について説明する。大当り乱数判定テーブル(第2始動口入賞時)は、第2始動口45に遊技球が入球(入賞)した際に取得される大当り判定用乱数値に基づいて「大当り」か否かの抽選を行う場合に参照されるテーブルである。
本実施形態では、第2始動口45に遊技球が入賞した場合、「大当り」及び「ハズレ」のいずれかが抽選により決定される。なお、第2始動口45に遊技球が入賞した場合には、「小当り」は当選しない。それゆえ、大当り乱数判定テーブル(第2始動口入賞時)には、図10に示すように、確変フラグの値(「0(=オフ)」又は「1(=オン)」)毎に、「大当り」及び「ハズレ」のそれぞれの当選が決定される大当り判定用乱数値の範囲と、それに対応する判定値データ(「大当り判定値データ」及び「ハズレ判定値データ」のいずれか)との関係が規定される。
本実施形態では、図10に示すように、第2始動口45入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」〜「943」のいずれかである場合には、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図10中の「選択率」)は、167/65536となる。
また、第2始動口45入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」〜「943」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
一方、第2始動口45入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」〜「1277」のいずれかである場合には、図10に示すように、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(大当り確率)は、500/65536となり、確変フラグが「0」である場合のそれより高くなる。
また、第2始動口45入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」〜「1277」のいずれでもない場合には、「ハズレ」となり、「ハズレ判定値データ」が決定される。
上述のように、本実施形態では、第2始動口45に遊技球が入賞した場合にもまた、入賞時の遊技状態が「確変遊技状態」であるか否かによって、選択率(大当り確率)が変動する。具体的には、第1始動口44入賞時と同様に、第2始動口45入賞時においても、遊技状態が「確変遊技状態」である時に第2始動口45に遊技球が入賞した場合の大当り確率は、遊技状態が「確変遊技状態」でない時のそれの約3倍程度高くなる。
[図柄判定テーブル(第1始動口入賞時)]
次に、図11を参照して、図柄判定テーブル(第1始動口入賞時)について説明する。
本実施形態では、第1始動口44に遊技球が入賞した際に行われる大当り判定用乱数値に基づく抽選の当選種別(「大当り」、「小当り」又は「ハズレ」)と、第1始動口入賞時に取得される図柄乱数値(図柄決定用乱数値)とに基づいて、特別図柄が選択される。図柄判定テーブル(第1始動口入賞時)は、その特別図柄を選択する際に参照されるテーブルである。なお、図柄乱数値は、特別図柄を決定するための乱数値であり、大当り判定用乱数値に基づく抽選の当選種別に関係なく、0〜99(100種類)の中から選ばれる。
図柄判定テーブル(第1始動口入賞時)には、図11に示すように、大当り判定用乱数値に基づく抽選の当選種別を示す判定値データ毎に、特別図柄を指定するための図柄指定コマンド(「zA1」〜「zA3」)と、該図柄指定コマンドが選択される図柄乱数値との関係が規定される。
なお、大当り判定用乱数値に基づく抽選の当選種別が「小当り」(小当り判定値データ)である場合には、選択される図柄指定コマンドは1種類(zA2)であり、必ずその図柄指定コマンド(zA2)が決定される。また、大当り判定用乱数値に基づく抽選の当選種別が「ハズレ」(ハズレ判定値データ)である場合にも、選択される図柄指定コマンドは1種類(zA3)であり、必ずその図柄指定コマンド(zA3)が決定される。
一方、大当り判定用乱数値に基づく抽選の当選種別が「大当り」(大当り判定値データ)である場合には、図11に示すように、選択される特別図柄の種別は複数あり、「大当り」時の図柄指定コマンド(図11中の大当り時選択図柄コマンド)も複数種(「z0」〜「z4」)用意されている。そして、「大当り」時には、取得される図柄乱数値に応じて、決定される大当り時選択図柄コマンドも変化する。例えば、「大当り」時に取得された図柄乱数値が「40」〜「59」のいずれかである場合には、大当り時選択図柄コマンド「z2」が選択され、その選択率は、20/100となる。
[図柄判定テーブル(第2始動口入賞時)]
次に、図12を参照して、図柄判定テーブル(第2始動口入賞時)について説明する。
本実施形態では、第2始動口45に遊技球が入賞した際に行われる大当り判定用乱数値に基づく抽選の当選種別(「大当り」又は「ハズレ」)と、第2始動口入賞時に取得される図柄乱数値(図柄決定用乱数値)とに基づいて、特別図柄が選択される。図柄判定テーブル(第2始動口入賞時)は、その特別図柄を選択する際に参照されるテーブルである。
図柄判定テーブル(第2始動口入賞時)には、図12に示すように、大当り判定用乱数値に基づく抽選の当選種別を示す判定値データ毎に、特別図柄を指定するための図柄指定コマンド(「zA1」及び「zA3」)と、該図柄指定コマンドが選択される図柄乱数値との関係が規定される。
なお、大当り判定用乱数値に基づく抽選の当選種別が「ハズレ」(ハズレ判定値データ)である場合にも、選択される図柄指定コマンドは1種類(zA3)であり、必ずその図柄指定コマンド(zA3)が決定される。
一方、大当り判定用乱数値に基づく抽選の当選種別が「大当り」(大当り判定値データ)である場合には、図12に示すように、選択される特別図柄の種別は複数あり、「大当り」時の図柄指定コマンド(図12中の大当り時選択図柄コマンド)も複数種(「z0」及び「z4」)用意されている。そして、「大当り」時には、取得される図柄乱数値に応じて、決定される大当り時選択図柄コマンドも変化する。例えば、「大当り」時に取得された図柄乱数値が「29」〜「99」のいずれかである場合には、大当り時選択図柄コマンド「z4」が選択され、その選択率は、80/100となる。
[大当り種類決定テーブル]
次に、図13〜図16を参照して、大当り種類決定テーブルについて説明する。本実施形態では、図柄判定テーブル(図11及び図12参照)を参照して大当り時選択図柄コマンド(「z0」〜「z4」のいずれか)が決定されると、該決定された大当り時選択図柄コマンドに基づいて、「大当り」の種類(大当り遊技の内容)を決定する。大当り種類決定テーブルは、大当り時選択図柄コマンドに基づいて、「大当り」の種類(大当り遊技の内容)を決定する際に参照されるテーブルである。
また、本実施形態では、「大当り」当選時の遊技状態毎に大当り種類決定テーブルを設ける。図13は、遊技状態が「低確時短なし」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その1)であり、図14は、遊技状態が「低確時短あり」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その2)である。また、図15は、遊技状態が「高確時短なし」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その3)であり、図16は、遊技状態が「高確時短あり」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その4)である。
各大当り種類決定テーブルには、大当り時選択図柄コマンド(「z0」〜「z4」)と、「大当り」の種類を決定する各種パラメータとの関係が規定される。「大当り」の種類(大当り遊技の内容)を決定する各種パラメータとしては、時短フラグの値、時短回数、確変フラグの値及び大当り遊技におけるラウンド数が規定される。
例えば、「高確時短あり」の状態で「大当り」に当選し、且つ、大当り時選択図柄コマンドとして「z1」が決定された場合には、図16に示すように、「大当り」の種類(大当り遊技の内容)を決定する各種パラメータとして、時短フラグ「1」、時短回数「100」、確変フラグ「0」、ラウンド数「10」がセットされる。
なお、各大当り種類決定テーブルに規定されている「ラウンド数」は、大当り遊技において、大入賞口の開放時間が比較的長くなるラウンドの数である。また、「時短フラグ」は、メインRAM73に格納された管理フラグの一つであり、遊技状態が「時短遊技状態」であるか否かを管理するためのフラグである。遊技状態が「時短遊技状態」である場合には、時短フラグは「1(オン)」となる。また、「時短回数」は、「時短遊技状態」において与えられる特別図柄の変動表示の回数である。
[入賞時演出情報決定テーブル]
次に、図17を参照して、入賞時演出情報決定テーブルについて説明する。
本実施形態では、主制御回路70(メインCPU71)は、入賞時(始動口入賞時)に決定された当選種別(「大当り」、「小当り」又は「ハズレ」)と、図柄指定コマンド又は大当り時選択図柄コマンドとに基づいて、副制御回路200が演出内容を決定する際に使用する情報を決定する。例えば、副制御回路200において、特別図柄の保留球を示す保留用図柄の色変化演出に関する内容、先読み演出に関する内容等を決定する際に使用される情報が決定される。入賞時演出情報決定テーブルは、入賞時(始動口入賞時)に主制御回路70で取得された情報に基づいて、副制御回路200で実行される演出内容の概要を決定する際に参照されるテーブルである。
入賞時演出情報決定テーブルには、入賞時(始動口入賞時)に決定される各種情報の組合せと、副制御回路200で実行される演出内容の概要を示す「入賞時演出情報1」及び「入賞時演出情報2」との関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、始動口の種別、判定値データの種別、大当り時選択図柄コマンドの種別及び図柄指定コマンドの種別が、入賞時演出情報決定テーブルに規定される。
入賞時演出情報決定テーブルに規定されている入賞時演出情報1(「1A」〜「1D」)は、副制御回路200において、主に、特別図柄の保留球を示す保留用図柄の色変化演出に関する内容を決定する際に用いられる演出情報である。副制御回路200が入賞時演出情報決定テーブルに基づいて決定された入賞時演出情報1を受信すると、副制御回路200は、該入賞時演出情報1の分類に含まれる保留用図柄の色変化演出に関する複数種の演出パターンから一つの演出パターンを選択する。
また、入賞時演出情報決定テーブルに規定されている入賞時演出情報2(「2A」〜「2D」)は、副制御回路200において、主に、特別図柄の保留球に基づく先読み演出(先読み連続演出)に関する内容を決定する際に用いられる演出情報である。副制御回路200が入賞時演出情報決定テーブルに基づいて決定された入賞時演出情報2を受信すると、副制御回路200は、該入賞時演出情報2の分類に含まれる先読み演出の複数種の演出パターンから一つの演出パターンを選択する。
本実施形態の入賞時演出情報決定テーブルを参照した場合、例えば、第1始動口入賞時に「大当り」が当選したときには、大当り選択図柄コマンドの種別に関係なく、入賞時演出情報1として「1A」が決定され、入賞時演出情報2として「2A」が決定される。
[変動演出パターン決定テーブル]
次に、図18を参照して、変動演出パターン決定テーブルについて説明する。
本実施形態では、主制御回路70(メインCPU71)は、特別図柄の変動表示開始時に、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド、大当り時選択図柄コマンド、変動時間等の情報に基づいて、特別図柄の変動演出パターンを決定する。変動演出パターン決定テーブルは、この特別図柄の変動演出パターンを決定する際に参照されるテーブルである。
なお、変動演出パターン決定テーブルに基づいて決定された変動演出パターン(後述の特別図柄演出開始コマンドに含まれる情報)は、主制御回路70から副制御回路200(ホスト制御回路210)に送信される。そして、副制御回路200は、変動演出パターンの情報を受信すると、該受信した変動演出パターンや遊技状態などの情報に基づいて、演出の種類を決定する。
変動演出パターン決定テーブルには、図18に示すように、入賞時(始動口入賞時)に決定される図柄指定コマンド、大当り選択図柄コマンド及び特別図柄の変動時間の組合せと、特別図柄の変動表示中に副制御回路200で実行される演出の種類(変動演出パターン)との関係が規定される。
本実施形態では、変動演出パターンは、2桁の数文字で表され、図18中の変動演出パターン欄に記載の「上位」(1桁目)のパラメータと「下位」(2桁目)のパラメータとの組合せで表される。例えば、入賞時(始動口入賞時)に決定される図柄指定コマンドが「zA1」であり、大当り選択図柄コマンドが「z0」であり、特別図柄の変動時間が「15000msec」である場合の変動演出パラメータは「C1」(上位の「C」と下位「1」との組合せ)となる。
なお、本実施形態では、変動演出パラメータの情報は、後述の特別図柄演出開始コマンドに含まれる。この際、変動演出パターン欄に規定されている「上位」のパラメータと、「下位」のパラメータとは、互いに異なるパラメータ領域に格納される。それゆえ、変動演出パターン決定テーブルでは、変動演出パターンの「上位」のパラメータと「下位」のパラメータとを別個に規定している。
<サブメインROMに記憶されているデータテーブルの構成>
次に、副制御回路200のサブメインROM205に記憶される各種データテーブルの構成について、図19〜図21を参照して説明する。
[変動演出テーブル]
まず、図19を参照して、変動演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、上述のように、副制御回路200(ホスト制御回路210)の制御により、特別図柄の変動表示中に様々な演出が実行される。この際に行われる演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の特別図柄演出開始コマンドに含まれる特別図柄の変動演出パターンの情報などに基づいて決定される。変動演出テーブルは、この演出内容(演出パターン)を変動演出パターンや遊技状態などの情報に基づいて決定する際に参照される。
変動演出テーブルには、図19に示すように、入賞時(始動口入賞時)に決定される各種情報(変動演出パターンの情報を含む)の組合せと、抽選により決定される演出パターン(「EN00」〜「EN44」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、特別図柄の変動演出パターンの種別(「A0」〜「A4」、「B1」〜「B3」及び「C1」〜「CF」)、特別図柄の変動時間、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、変動演出テーブルに規定される。
本実施形態では、変動演出テーブルに規定されている特別図柄の変動時間は対応する演出パターンの演出時間とほぼ同じであるとする。また、変動演出テーブルに規定されている乱数値は、後述の図83に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」〜「999」(1000種類)のいずれかである。
本実施形態の変動演出テーブルを参照して演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された特別図柄の変動パターンが「C1」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」〜「499」のいずれかの値である場合には、演出パターンとして「EN15」が選択される。この場合には、特別図柄の変動表示期間(15000msec)に、「ノーマルリーチ演出A」と称する演出が行われる。そして、「ノーマルリーチ演出A」の終了とともに、表示装置13の表示領域13aに「大当り」態様の表示が行われ、特別図柄が変動停止する。
[保留演出テーブル]
次に、図20を参照して、保留演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、副制御回路200(ホスト制御回路210)の制御により、特別図柄の保留球を示す保留用図柄の色変化に関する様々な演出が実行される。この際に行われる保留用図柄の色変化演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の保留加算コマンドに含まれる入賞時演出情報1(「1A」〜「1D」)などに基づいて決定される。保留演出テーブルは、この保留用図柄の色変化演出の内容(演出パターン)を入賞時演出情報1などの情報に基づいて決定する際に参照される。
保留演出テーブルには、図20に示すように、入賞時(始動口入賞時)に決定される各種情報(入賞時演出情報1を含む)の組合せと、抽選により決定される保留用図柄の色変化演出の演出パターン(「HE00」〜「HE19」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、入賞時演出情報1(「1A」〜「1D」)、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、保留演出テーブルに規定される。また、保留演出テーブルに規定されている乱数値は、後述の図83に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」〜「999」(1000種類)のいずれかである。
本実施形態の保留演出テーブルを参照して保留用図柄の色変化演出の演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された入賞時演出情報1が「1A」であり、大当り時選択図柄コマンドが「z0」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」〜「499」のいずれかの値である場合には、保留用図柄の色変化演出の演出パターンとして「HE00」が選択される。この場合には、保留用図柄の色変化演出として、「保留演出A」と称する演出が行われる。
[先読み演出テーブル]
次に、図21を参照して、先読み演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、特別図柄の可変表示が保留されている場合、副制御回路200(ホスト制御回路210)は、該保留されている特別図柄の可変表示の内容(保留球の内容)に応じて所定の先読み演出を行う。この際に行われる先読み演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の保留加算コマンドに含まれる入賞時演出情報2(「2A」〜「2D」)などに基づいて決定される。先読み演出テーブルは、この先読み演出の内容(演出パターン)を入賞時演出情報2などの情報に基づいて決定する際に参照される。
先読み演出テーブルには、図21に示すように、入賞時(始動口入賞時)に決定される各種情報(入賞時演出情報2を含む)の組合せと、抽選により決定される先読み演出の演出パターン(「SE00」〜「SE19」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、入賞時演出情報2(「2A」〜「2D」)、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、先読み演出テーブルに規定される。また、先読み演出テーブルに規定されている乱数値は、後述の図83に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」〜「999」(1000種類)のいずれかである。
本実施形態の先読み演出テーブルを参照して先読み演出の演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された入賞時演出情報2が「2A」であり、大当り時選択図柄コマンドが「z0」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」〜「499」のいずれかの値である場合には、先読み演出の演出パターンとして「SE00」が選択される。この場合には、先読み演出として、「先読み演出A」と称する演出が行われる。
<各種コマンドの構成>
ここで、主制御回路70から副制御回路200に送信される各種コマンドの構成について説明する。なお、本実施形態では、主制御回路70は、遊技の進行に関する情報を含むコマンドを生成して、該コマンドデータを副制御回路200に送信する手段(コマンド送信手段、遊技情報送信手段)を兼ねる。
[基本構成]
まず、図22を参照して、コマンドの基本構成を説明する。なお、図22は、コマンドデータの基本構成(基本フォーマット)を示す図である。
本実施形態において、主制御回路70から副制御回路200に送信されるコマンドは、コマンド種別の情報が格納されたコマンド種別部と、遊技及び演出に関する各種情報が格納されたパラメータフィールド部とで構成される。本実施形態では、副制御回路200において実行される後述のコマンド解析処理により、パラメータフィールド部の情報が解析され、遊技及び演出に関する各種情報が取得される。
コマンド種別部は、コマンドの先頭部に設けられ、8ビット(1バイト:固定長)で構成される。一方、パラメータフィールド部には、ビット単位で遊技及び演出に関する情報が規定されており、パラメータフィールド部のビット長(長さ)は、コマンド種別に応じて変化する。
なお、本実施形態では、コマンドの送受信動作は、8ビット単位で繰り返し行われるので、パラメータフィールド部も8ビット単位で管理され、ここでは、この8ビット単位の領域を「パラメータ」と称する。また、パラメータフィールド部内に配置されているパラメータの名称を、コマンドの先頭側(コマンド種別部側)から、「第1パラメータ」、「第2パラメータ」、「第3パラメータ」、…、と称する。
以下に、コマンドの一例として、デモ表示コマンド、特別図柄演出開始コマンド、電断復帰コマンド及び保留加算コマンドの構成、並びに、これらのコマンドに含まれる各種情報の内容を図面を参照しながら具体的に説明する。
[デモ表示コマンド]
まず、図23を参照しながら、デモ表示コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図23は、デモ表示コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
デモ表示コマンドは、コマンド種別部と、1つのパラメータ(第1パラメータ)からなるパラメータフィールド部とで構成される。すなわち、デモ表示コマンド全体のバイト数(コマンド長さ)は2バイト(16ビット)となり、パラメータフィールド部のバイト数は1バイト(8ビット)となる。
デモ表示コマンドのコマンド種別部には、デモ表示コマンドの種別を示す値「80H」が格納される。
デモ表示コマンドの第1パラメータのビット0(b0)〜ビット2(b2)には、遊技状態に対応する「状態番号」(0〜7のいずれか)が格納される。例えば、確変フラグの値が「0」であり、時短フラグの値が「0」であれば、「状態番号」として、「0」〜「7」のうち「0」〜「2」のいずれかの値がビット0(b0)〜ビット2(b2)に設定される。第1パラメータのビット4(b4)及びビット5(b5)には、時短フラグの値(「0」又は「1」)及び確変フラグの値(「0」又は「1」)がそれぞれ格納される。また、第1パラメータのビット3(b3)、ビット6(b6)及びビット7(b7)のそれぞれには、常時、データ「0」が格納される。なお、以下では、常時、データ「0」が格納されるビットを「常時0領域」ともいう。
副制御回路200において、上記構成のデモ表示コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータからデモ画面表示時の遊技状態情報(ゲームステータス)が取得される。
[特別図柄演出開始コマンド]
次に、図24を参照しながら、特別図柄演出開始コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図24は、特別図柄演出開始コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
特別図柄演出開始コマンドは、コマンド種別部と、5つのパラメータ(第1パラメータ〜第5パラメータ)からなるパラメータフィールド部とで構成される。すなわち、特別図柄演出開始コマンド全体のバイト数は6バイト(48ビット)となり、パラメータフィールド部のバイト数は5バイト(40ビット)となる。
特別図柄演出開始コマンドのコマンド種別部には、特別図柄演出開始コマンドの種別を示す値「81H」が格納される。
特別図柄演出開始コマンドの第1パラメータのビット0〜ビット2には、遊技状態に対応する「状態番号」(0〜7のいずれか)が格納される。第1パラメータのビット4及びビット5には、時短フラグの値(「0」又は「1」)及び確変フラグの値(「0」又は「1」)がそれぞれ格納される。
第1パラメータのビット6には、転落抽選の当選/非当選の情報(「転落抽選当否情報」)が格納される。なお、転落抽選に非当選の場合には、「転落抽選当否情報」として「0」が第1パラメータのビット6に格納され、転落抽選に当選の場合には、「転落抽選当否情報」として「1」が第1パラメータのビット6に格納される。また、第1パラメータのビット3及びビット7は、常時0領域となる。
特別図柄演出開始コマンドの第2パラメータのビット0〜ビット6には、上記図柄判定テーブル(図11及び図12参照)を用いた抽選により決定される図柄指定コマンド(「zA1」〜「zA3」)に対応する値が格納される。なお、第2パラメータのビット7は、常時0領域となる。
特別図柄演出開始コマンドの第3パラメータのビット0〜ビット3には、上記変動演出パターン決定テーブル(図18参照)を用いた抽選により決定される変動演出パターンの「上位」の情報(「A」〜「C」)に対応する値が格納される。なお、第3パラメータのビット4〜ビット7は、「常時0領域」となる。
特別図柄演出開始コマンドの第4パラメータのビット0〜ビット3には、上記変動演出パターン決定テーブル(図18参照)を用いた抽選により決定される変動演出パターンの「下位」の情報(「0」〜「9」及び「A」〜「F」)に対応する値が格納される。なお、第4パラメータのビット4〜ビット7は、「常時0領域」となる。
また、特別図柄演出開始コマンドの第5パラメータのビット0〜ビット6には、残り時短変動回数に対応する値が格納される。なお、第5パラメータのビット7は、常時0領域となる。
副制御回路200において、上記構成の特別図柄演出開始コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから特別図柄演出開始時の遊技状態情報(ゲームステータス)が取得され、第2パラメータから特別図柄の停止図柄指定情報が取得され、第3パラメータ及び第4パラメータから変動演出パターン番号の指定情報が取得され、第5パラメータから残り時短変動回数の指定情報が取得される。
[電断復帰コマンド]
次に、図25及び図26を参照しながら、電断復帰コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、本実施形態では、電断復帰コマンドは、2つのコマンド(第1電断復帰コマンド及び第2電断復帰コマンド)のセットで構成される。そして、図25は、第1電断復帰コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。また、図26は、第2電断復帰コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
(1)第1電断復帰コマンド
第1電断復帰コマンドは、図25に示すように、コマンド種別部と、3つのパラメータ(第1パラメータ〜第3パラメータ)からなるパラメータフィールド部とで構成される。すなわち、第1電断復帰コマンド全体のバイト数は4バイト(32ビット)となり、パラメータフィールド部のバイト数は3バイト(24ビット)となる。
第1電断復帰コマンドのコマンド種別部には、第1電断復帰コマンドの種別を示す値「D1H」が格納される。
第1電断復帰コマンドの第1パラメータのビット0〜ビット2には、遊技状態に対応する「状態番号」(0〜7のいずれか)が格納される。第1パラメータのビット4及びビット5には、時短フラグの値(「0」又は「1」)及び確変フラグの値(「0」又は「1」)がそれぞれ格納される。第1パラメータのビット6には、「転落抽選当否情報」が格納される。なお、第1パラメータのビット3及びビット7は、それぞれ常時0領域となる。
第1電断復帰コマンドの第2パラメータのビット0〜ビット5には、特別図柄の停止図柄指定情報(「特別停止図柄指定情報」)が格納される。また、第2パラメータのビット6には、電断検知時における第1特別図柄の停止図柄の選択状態(「第1特別停止図柄選択状態」)に対応する値(「0」又は「1」)が格納される。なお、直近の特別図柄の変動表示(電断検知時及び電断検知以前において実行された変動表示のうち、最新の実行された変動表示)において、第1特別図柄の停止図柄が選択されていれば、「第1特別停止図柄選択状態」の値は「1」となり、第1特別図柄の停止図柄が選択されていなければ、「第1特別図柄選択状態」の値は「0」となる。また、第2パラメータのビット7は、常時0領域となる。
第1電断復帰コマンドの第3パラメータのビット0〜ビット5には、「特別停止図柄指定情報」が格納される。また、第3パラメータのビット6には、電断検知時における第2特別図柄の停止図柄の選択状態(「第2特別停止図柄選択状態」)に対応する値(「0」又は「1」)が格納される。なお、直近の特別図柄の変動表示(電断検知時及び電断検知以前において実行された変動表示のうち、最新の実行された変動表示)において、第2特別図柄の停止図柄が選択されていれば、「第2特別停止図柄選択状態」の値は「1」となり、第2特別図柄の停止図柄が選択されていなければ、「第2特別図柄選択状態」の値は「0」となる。また、第3パラメータのビット7は、常時0領域となる。
副制御回路200において、上記構成の第1電断復帰コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから電断復帰時における遊技状態情報(ゲームステータス)が取得され、第2パラメータから電断復帰時における第1特別図柄の停止図柄の情報が取得され、第3パラメータから電断復帰時における第2特別図柄の停止図柄の情報が取得される。
(2)第2電断復帰コマンド
第2電断復帰コマンドは、図26に示すように、コマンド種別部と、3つのパラメータ(第1パラメータ〜第3パラメータ)からなるパラメータフィールド部とで構成される。すなわち、第2電断復帰コマンド全体のバイト数は4バイト(32ビット)となり、パラメータフィールド部のバイト数は3バイト(24ビット)となる。
第2電断復帰コマンドのコマンド種別部には、第2電断復帰コマンドの種別を示す値「D2H」が格納される。
第2電断復帰コマンドの第1パラメータのビット0〜ビット2には、第2特別図柄の可変表示の保留個数に対応する値が格納される。第1パラメータのビット4〜ビット6には、第1特別図柄の可変表示の保留個数に対応する値が格納される。また、第1パラメータのビット3及びビット7は、それぞれ常時0領域となる。
なお、第2電断復帰コマンドの第1パラメータのビット0〜ビット2又はビット4〜ビット6には、保留個数が0個の場合には「000」が格納され、保留個数が1個の場合には「001」が格納され、保留個数が2個の場合には「010」が格納され、保留個数が3個の場合には「011」が格納され、保留個数が4個の場合には「100」が格納される。
第2電断復帰コマンドの第2パラメータのビット0〜ビット2には、「内部制御状態番号」が格納される。また、第2パラメータのビット3〜ビット7は、常時0領域となる。
なお、第2電断復帰コマンドの第2パラメータのビット0〜ビット2には、内部制御状態がデモ画面表示状態である場合には「000」が「内部制御状態番号」として格納され、内部制御状態が特別図柄変動状態(特別図柄の変動中状態)である場合には「001」が「内部制御状態番号」として格納され、内部制御状態が特別図柄確定状態である場合には「010」が「内部制御状態番号」として格納され、内部制御状態が特別図柄当り開始状態である場合には「011」が「内部制御状態番号」として格納される。また、第2電断復帰コマンドの第2パラメータのビット0〜ビット2には、内部制御状態が大入賞口開放状態である場合には「100」が「内部制御状態番号」として格納され、内部制御状態がラウンド間インターバル状態である場合には「101」が「内部制御状態番号」として格納され、内部制御状態が特別図柄当たり終了状態である場合には「110」が「内部制御状態番号」として格納される。
また、第2電断復帰コマンドの第3パラメータのビット0〜ビット6には、「残り時短状態変動回数」(「0」〜「99」)が格納される。また、第3パラメータのビット7は、常時0領域となる。
副制御回路200において、上記構成の第2電断復帰コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから電断復帰時における特別図柄の可変表示の保留個数の情報が取得され、第2パラメータから電断復帰時における内部状態の情報が取得され、第3パラメータから電断復帰時における残り時短変動回数の情報が取得される。
[保留加算コマンド]
次に、図27を参照しながら、保留加算コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図27は、保留加算コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
保留加算コマンドは、コマンド種別部と、3つのパラメータ(第1パラメータ〜第3パラメータ)からなるパラメータフィールド部とで構成される。すなわち、保留加算コマンド全体のバイト数は4バイト(32ビット)となり、パラメータフィールド部のバイト数は3バイト(24ビット)となる。
保留加算コマンドのコマンド種別部には、保留加算コマンドの種別を示す値「85H」が格納される。
保留加算コマンドの第1パラメータのビット0〜ビット2には、第2特別図柄の可変表示の保留個数に対応する値が格納される。第1パラメータのビット4〜ビット6には、第1特別図柄の可変表示の保留個数に対応する値が格納される。また、第1パラメータのビット3及びビット7は、それぞれ常時0領域となる。
保留加算コマンドの第2パラメータのビット0〜ビット2には、「大当り時選択図柄情報」が格納される。なお、「大当り時選択図柄情報」は、上記図柄判定テーブル(図11及び図12参照)を用いた抽選により決定される大当り時選択図柄コマンド(「z0」〜「z4」)に対応する情報である。
第2パラメータのビット3には、「低確率時大当り当否情報」が格納される。なお、低確時に「大当り」に当選した場合には、「低確率時大当り当否情報」として「1」がビット3に格納され、低確時に「ハズレ」に当選した場合には、「低確率時大当り当否情報」として「0」がビット3に格納される。また、第2パラメータのビット4には、「高確率時大当り当否情報」が格納される。なお、高確時に「大当り」に当選した場合には、「高確率時大当り当否情報」として「1」がビット4に格納され、高確時に「ハズレ」に当選した場合には、「高確率時大当り当否情報」として「0」がビット4に格納される。これらの情報は、大当り種類決定テーブル(図13〜図16参照)に用いた抽選の結果に基づいて決定される。
第2パラメータのビット5及びビット6には、「第1入賞時演出情報」が格納される。なお、「第1入賞時演出情報」は、上記入賞時演出情報決定テーブル(図17参照)を用いた抽選により決定される入賞時演出情報1(「1A」〜「1D」)に対応する情報である。例えば、入賞時演出情報1が「1A」である場合には、「第1入賞時演出情報」として「00」がビット5及びビット6に格納され、入賞時演出情報1が「1B」である場合には、「第1入賞時演出情報」として「01」がビット5及びビット6に格納される。また、例えば、入賞時演出情報1が「1C」である場合には、「第1入賞時演出情報」として「10」がビット5及びビット6に格納され、入賞時演出情報1が「1D」である場合には、「第1入賞時演出情報」として「11」がビット5及びビット6に格納される。また、第2パラメータのビット7は、常時0領域となる。
保留加算コマンドの第3パラメータのビット4及びビット5には、「第2入賞時演出情報」が格納される。なお、「第2入賞時演出情報」は、上記入賞時演出情報決定テーブル(図17参照)を用いた抽選により決定される入賞時演出情報2(「2A」〜「2D」)に対応する情報である。例えば、入賞時演出情報2が「2A」である場合には、「第2入賞時演出情報」として「00」がビット4及びビット5に格納され、入賞時演出情報2が「2B」である場合には、「第2入賞時演出情報」として「01」がビット4及びビット5に格納される。また、例えば、入賞時演出情報2が「2C」である場合には、「第2入賞時演出情報」として「10」がビット4及びビット5に格納され、入賞時演出情報2が「2D」である場合には、「第2入賞時演出情報」として「11」がビット4及びビット5に格納される。
なお、「第1入賞時演出情報」及び「第2入賞時演出情報」の値は、保留加算コマンド生成時(保留加算時)における、先読み情報(変動前の保留に関する情報)に基づいて実行される演出の数(先読み演出が実行される保留個数)に応じて、変更(更新)してもよい。
第3パラメータのビット6には、「転落抽選情報」が格納される。なお、転落なしの場合には、「転落抽選情報」として「0」がビット6に格納され、転落ありの場合には、「転落抽選情報」として「1」がビット6に格納される。また、第3パラメータのビット0〜ビット3及びビット7のそれぞれは、常時0領域となる。
副制御回路200において、上記構成の保留加算コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから入賞時の特別図柄の可変表示の保留個数の情報が取得され、第2パラメータから保留演出の指定情報が取得され、第3パラメータから先読み演出の指定情報が取得される。
[その他のコマンド]
次に、上述した各種コマンド以外のコマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、ここでは、他の各種コマンドの構成の図示を省略し、各コマンド内のパラメータフィールド部の構成及び該コマンドに含まれる各種情報の概要のみを説明する。
(1)特別演出停止コマンド
特別演出停止コマンドのパラメータフィールド部は、2つのパラメータ(第1パラメータ及び第2パラメータ)で構成される。
特別演出停止コマンドの第1パラメータには、例えば、転落抽選、確変フラグ、時短フラグ、状態番号等の遊技状態情報(ゲームステータス)が格納される。また、第2パラメータには、特別図柄の停止図柄の情報が格納される。
副制御回路200において、上記構成の特別演出停止コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから特別図柄の変動表示時の演出を終了する際の各種遊技情報が取得される。
(2)特別図柄当り開始表示コマンド
特別図柄当り開始表示コマンドのパラメータフィールド部は、2つのパラメータ(第1パラメータ及び第2パラメータ)で構成される。
特別図柄当り開始表示コマンドの第1パラメータには、例えば、状態番号等の遊技状態情報(ゲームステータス)が格納される。また、第2パラメータには、特別図柄の停止図柄の情報が格納される。
副制御回路200において、上記構成の特別図柄当り開始表示コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから特別図柄の当り状態の情報(例えば、大当り中であるか否か、小当り中であるか否か等の情報)が取得される。
(3)大入賞口開放中表示コマンド
大入賞口開放中表示コマンドのパラメータフィールド部は、3つのパラメータ(第1パラメータ〜第3パラメータ)で構成される。
大入賞口開放中表示コマンドの第1パラメータには、例えば、状態番号等の遊技状態情報(ゲームステータス)が格納される。第2パラメータには、特別図柄の停止図柄の情報が格納される。また、第3パラメータには、ラウンド回数(「0」〜「15」)の情報が格納される。
副制御回路200において、上記構成の大入賞口開放中表示コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから特別図柄の当り状態の情報が取得され、第3パラメータからラウンド回数の情報が取得される。
(4)ラウンド間表示コマンド
ラウンド間表示コマンドのパラメータフィールド部は、3つのパラメータ(第1パラメータ〜第3パラメータ)で構成される。
ラウンド間表示コマンドの第1パラメータには、例えば、状態番号等の遊技状態情報(ゲームステータス)が格納される。第2パラメータには、特別図柄の停止図柄の情報が格納される。また、第3パラメータには、ラウンド回数(「0」〜「14」)の情報が格納される。
副制御回路200において、上記構成のラウンド間表示コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから特別図柄の当り状態の情報が取得され、第3パラメータからラウンド回数の情報が取得される。
(5)特別図柄当り終了表示コマンド
特別図柄当り終了表示コマンドのパラメータフィールド部は、2つのパラメータ(第1パラメータ及び第2パラメータ)で構成される。
特別図柄当り終了表示コマンドの第1パラメータには、例えば、状態番号等の遊技状態情報(ゲームステータス)が格納される。また、第2パラメータには、特別図柄の停止図柄の情報が格納される。
副制御回路200において、上記構成の特別図柄当り終了表示コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから特別図柄の当り状態の情報が取得される。
(6)保留減算コマンド
保留減算コマンドのパラメータフィールド部は、3つのパラメータ(第1パラメータ〜第3パラメータ)で構成される。
保留減算コマンドの第1パラメータには、例えば、転落抽選、確変フラグ、時短フラグ、状態番号等の遊技状態情報(ゲームステータス)が格納される。第2パラメータには、特別図柄の可変表示の保留個数の情報が格納される。また、第3パラメータには、残り時短遊技回数の情報が格納される。
副制御回路200において、上記構成の保留減算コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから変動開始時の遊技状態の情報が取得され、第2パラメータから変動開始時の保留個数の情報が取得され、第3パラメータから残り時短遊技回数の情報が取得される。
(7)入賞情報コマンド
入賞情報コマンドのパラメータフィールド部は、1つのパラメータ(第1パラメータ)で構成される。
入賞情報コマンドの第1パラメータには、例えば、カウントセンサ53c,54cの検知結果等の入賞検知情報が格納される。
副制御回路200において、上記構成の入賞情報コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから大入賞口の入賞検知情報が取得される。
(8)不正検知関連コマンド
不正検知関連コマンドのパラメータフィールド部は、2つのパラメータ(第1パラメータ及び第2パラメータ)で構成される。
不正検知関連コマンドの第1パラメータには、例えば、扉開放検知(開閉未検知、閉鎖検知、開放検知)、第1大入賞口の不正入賞検知、第2大入賞口の不正入賞検知、普通電動役物の不正入賞検知等の情報が格納される。また、第2パラメータには、例えば、誘導磁界検知、磁気検知、センサ異常検知等の情報が格納される。
副制御回路200において、上記構成の不正検知関連コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータ及び第2パラメータから不正検知情報が取得される。
(9)払出異常関連コマンド
払出異常関連コマンドのパラメータフィールド部は、1つのパラメータ(第1パラメータ)で構成される。
払出異常関連コマンドの第1パラメータには、例えば、払出エラー情報、下皿満タン情報等の情報が格納される。
副制御回路200において、上記構成の払出異常関連コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから払出異常情報が取得される。
(10)初期化コマンド
初期化コマンドのパラメータフィールド部は、1つのパラメータ(第1パラメータ)で構成される。
初期化コマンドの第1パラメータには、例えば、チェックサム異常、電断未検知での電断復帰、バックアップクリア押下時等の電源投入時の初期化要因の情報が格納される。
副制御回路200において、上記構成の初期化コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから初期化要因の指定情報が取得される。
<コマンド受信時処理及びコマンド解析処理の概要>
次に、図28を参照しながら、ホスト制御回路210が、上述した各種コマンドを受信した際に行うコマンド受信時処理及びコマンド解析処理の概要を説明する。図28は、本実施形態におけるコマンド受信時処理の概要を示す図である。なお、このコマンド受信時処理は、ホスト制御回路210により実行される後述のメイン・サブ間コマンド制御処理(後述の図72参照)の中で受信割込処理として行われる。
本実施形態では、図28に示すように、主制御回路70(メインCPU71)からホスト制御回路210に上述したコマンドが送信され、該コマンドをホスト制御回路210が受信すると、まず、ホスト制御回路210は、受信したコマンドのデータをホスト制御回路210内に設けられたリングバッファに書き込む。なお、コマンド受信時にエラーが発生した場合には、受信したコマンドデータとエラー情報とのセット情報がリングバッファに書き込まれる。
ここで、図29に、リングバッファの概略構成を示す。本実施形態では、リングバッファは、受信したコマンドデータを格納するためのバッファ領域と、対応するエラー情報を格納するためのバッファ領域とで構成される。なお、各バッファ領域のサイズは2048バイトであり、1バイトの格納領域毎にアドレス(「0」〜「2047」)が割り当てられている。
コマンドデータを格納するためのバッファ領域では、1バイトの格納領域毎にコマンドデータが格納され、バッファ領域の先頭アドレスの領域からコマンド受信順にコマンドデータが格納される。また、エラー情報を格納するためのバッファ領域においても、1バイトの格納領域毎にエラー情報が格納され、バッファ領域の先頭アドレス側からコマンド受信順にエラー情報が格納される。この際、エラー情報は、対応するコマンドデータの格納領域のアドレスに一対一で対応付けられたエラー情報のアドレスの格納領域に格納される。
また、リングバッファの最後尾のアドレス「2047」にコマンドデータが格納された後にコマンドを受信した場合には、リングバッファの先頭アドレス「0」の格納領域にコマンドデータが格納される。
次いで、上述したリングバッファにコマンドデータが格納された後、ホスト制御回路210は、リングバッファに格納されたコマンドデータをサブワークRAM210aに転送して格納する。
そして、ホスト制御回路210は、サブワークRAM210aに格納されたコマンドの内容を解析して各種情報を取得する。具体的には、ホスト制御回路210は、コマンドのコマンド種別部に格納された情報に基づいてコマンド種別を判別するとともに、コマンドのパラメータフィールド部に格納された遊技及び演出に関する各種情報を取得する。
上述したコマンド解析処理を行った場合、コマンドの構成上の特徴に基づいて、次のような効果が得られる。
上述のように、上記各種コマンドのうち、例えば、デモ表示コマンド、特別図柄演出開始コマンド、第1電断復帰コマンド、特別演出停止コマンド、特別図柄当り開始表示コマンド等のコマンドでは、パラメータフィールド部の先頭(コマンドの先頭から2バイト目)に配置された第1パラメータにゲームステータスの情報(遊技状態情報)が格納される。それゆえ、これらのコマンドを受信しながら、1バイト毎にそのコマンドの解析処理を行った場合には、コマンド種別に関係なく、コマンドの受信開始から2バイト目のコマンド解析処理が必ずゲームスステータスの解析処理となるので、この2バイト目の解析処理を、これらのコマンドの解析処理において共通化することができる。すなわち、これらのコマンドに対してコマンド解析処理を行った場合、いずれのコマンドであっても、コマンド解析処理開始時を基準にしたゲームステータスの解析処理のタイミングが同じになるとともに、そのゲームステータスの解析処理も共通化することができる。この場合、ホスト制御回路210におけるコマンド解析処理の効率を向上させることができ、より高度な演出制御を行うことが可能になる。
また、上記構成を有するコマンドに対するコマンド解析処理では、各パラメータ内の所定のビット領域に設けられた常時0領域のチェック、パラメータ内に格納されている各データの有効範囲のチェック、及び、格納データの組み合わせのチェックを行うことにより、コマンドの有効性の有無を判定することができる。この場合、判定処理のチェック項目が増えるので、受信コマンドの有効性の有無をより正確に判断することができ、遊技者に対してより安全な遊技を提供することができる。
<アニメーションリクエスト構築手法>
本実施形態のパチンコ遊技機1では、副制御回路200内のホスト制御回路210は、主制御回路70から受信した各種コマンドに基づいて、表示装置13を用いた演出の動作を制御する際、各種演出装置(表示装置13も含む)を動作させるための指令信号(リクエスト)を生成する処理(以下、アニメーションリクエスト構築処理という)を行う。
[アニメーションリクエスト構築処理の概要]
まず、図30を参照しながら、アニメーションリクエスト構築処理の概要を説明する。なお、図30は、アニメーションリクエスト構築時の動作概要を示す図である。
ホスト制御回路210は、主制御回路70から各種コマンドを受信すると、図30に示すように、まず、受信コマンドに基づいて、演出内容の指定情報を含むアニメーションリクエストと称するリクエストを生成するためのオブジェクト(以下、アニメーションオブジェクトという)を生成する。
なお、本明細書でいう「オブジェクト」(処理情報)とは、広義にはプログラムの手続きの対象を抽象化する概念であり、本実施形態では、1つ又は複数の処理の集合である。具体的には、本実施形態の「オブジェクト」は、処理を呼び出す(実行契機となる名称の指定、コール、実行開始処理)ためのコマンドの集合であり、構造体が1つ又は複数の変数を内包し、各変数に対して実行する処理の呼び出しID(処理を特定するための名称など)を登録する。そして、「オブジェクト」では、このような構造体を実行することで各変数に登録された処理を実行する。また、「オブジェクト」は構造体の名称、構造体を特定可能なID又は構造体そのものであるので、「オブジェクト」は、構造体に限定されず、1つ又は複数の処理をグループ化することにより処理の実行順序などを管理することが可能な名称、ID、処理、記憶情報などを含む意味である。
近年では、ソフトウェア構築の際にはオブジェクト単位で管理され、複数のオブジェクトを組み合わせることによりソフトウェアが構築される。この場合、すでに存在するオブジェクトを利用する場合には、その内部構成や動作原理の詳細を知る必要が無く、外部からオブジェクトにメッセージ(識別コマンド、引数等)を送信すれば、オブジェクトの機能を作動させることさせることができる。
次いで、ホスト制御回路210は、アニメーションオブジェクトに基づいて(アニメーションオブジェクトを用いて)、アニメーションリクエストを生成する。そして、ホスト制御回路210は、生成されたアニメーションリクエストにも基づいて、描画リクエスト、サウンドリクエスト、ランプリクエスト、役物リクエストなどの各種リクエスト(演出開始要求)を生成する。
その後、ホスト制御回路210は、生成された各リクエストを、対応する演出装置の制御回路(コントローラ)に出力する。具体的には、ホスト制御回路210は、サウンドリクエスト及びランプリクエストを、音声・LED制御回路220に出力し、描画リクエストを表示制御回路230に出力する。なお、図30には示さないが、ホスト制御回路210で生成された役物リクエストは、ホスト制御回路210内で行う役物制御に関する処理間において受け渡される。
そして、音声・LED制御回路220は、入力されたサウンドリクエストに基づいて、スピーカ11による音声再生動作の制御を行う。また、音声・LED制御回路220は、入力されたランプリクエストに基づいて、ランプ(LED)群18による発光演出(LEDアニメーション)動作の制御を行う。表示制御回路230は、入力された描画リクエストに基づいて、表示装置13による画像表示演出動作の制御を行う。また、ホスト制御回路210は、生成された役物リクエストに基づいて、役物20による演出動作の制御を行う。
[アニメーションオブジェクトの種別]
ここで、アニメーションリクエスト構築処理で生成される(用いられる)各種アニメーションオブジェクトについて説明する。本実施形態のアニメーションリクエスト構築処理では、基本的には、演出オブジェクトと称するアニメーションオブジェクトと、保留オブジェクトと称するアニメーションオブジェクトとが生成され、この2つのアニメーションオブジェクトを用いてアニメーションリクエストが生成される。
演出オブジェクトは、受信コマンドに応じて生成されるアニメーションオブジェクトである。例えば、デモ表示コマンド受信時に生成されるアニメーションオブジェクト(オブジェクト名「Demo」、識別コマンド「80H」:以下、デモオブジェクトという)や、特別図柄演出開始コマンド受信時に生成されるアニメーションオブジェクト(オブジェクト名「HendoTz01」、識別コマンド「81H」:以下、変動オブジェクトという)などが演出オブジェクトの例として挙げられる。
なお、上述した演出オブジェクトは、抽選処理後、コマンド受信毎に後着優先で1つだけ生成される。すなわち、上述した演出オブジェクトは、複数同時に生成されることはなく、コマンド受信毎に、演出オブジェクトが上書きされる。なお、受信コマンドの呼び出しが1つずつであるため、先着順でオブジェクトが生成されていく中で、後着の受信コマンドに基づいてオブジェクトが生成されると、該後着の受信コマンドに基づいて生成されたオブジェクトにより先着の受信コマンドに基づいて生成されたオブジェクトが上書きされる。それゆえ、ここでは、「後着優先」と称する。なお、本実施形態では、後着の受信コマンドに基づいてオブジェクトが生成された場合に、先着の受信コマンドに基づいて生成されたオブジェクトを破棄するようにしてもよい。
保留オブジェクト(オブジェクト名「Horyu」)は、起動時に生成されるアニメーションオブジェクトである。この保留オブジェクトでは、現在の保留状態を画面表示する処理が行われる。また、保留オブジェクトは、基本的には、起動中は破棄されないオブジェクト(常駐型のオブジェクトの一つ)である。ただし、後述のシンプルモードオブジェクトが生成された場合には、保留オブジェクトも破棄される。
また、本実施形態では、上記アニメーションオブジェクト以外に、例えば、オブジェクト名「SimpleMode」のアニメーションオブジェクト(以下、シンプルモードオブジェクトという)や、オブジェクト名「InitAnm」のアニメーションオブジェクトなどが、アニメーションリクエスト構築処理において生成される(用いられる)。なお、シンプルモードオブジェクトについては、後で詳述する。
オブジェクト名「InitAnm」のアニメーションオブジェクトは、起動時又はRTC(Real Time Clock)エラー発生時に、サブ基板202内で発生したコマンド(例えば、時間設定画面の呼び出しコマンド、時間設定画面で時刻変更が実行された際のコマンド等)に基づいて生成されるオブジェクトであり、時刻設定画面の表示処理を行う。なお、ホスト制御回路210が主制御回路70からコマンドを受信し、他の演出オブジェクトが生成されると、オブジェクト名「InitAnm」のアニメーションオブジェクトは破棄される。
[アニメーションオブジェクトで実行される各種処理]
次に、上述したアニメーションオブジェクト内で行われる各種処理の概要について説明する。アニメーションオブジェクト内には、基本的には、初期化処理、メイン処理及び終了処理が含まれる。また、受信コマンドに応じて生成される演出オブジェクトでは、さらに、コマンド受信処理がアニメーションオブジェクト内に含まれる。そして、遊技の状況に応じて、アニメーションオブジェクト内に含まれるこれらの各種処理の中から所定の処理が呼び出されて実行される。
初期化処理は、オブジェクト生成開始時に一度だけ実行される処理である。初期化処理では、例えば、オブジェクトの初期化や抽選結果の取得などの処理が行われる。メイン処理は、オブジェクト生成中にフレーム毎に(FPS(Frames per Second)周期で)実行される処理である。メイン処理では、アニメーションリクエストの生成、セット等の処理が行われる。なお、オブジェクト生成開始時には、同フレームで初期化処理及びメイン処理が実行される。終了処理は、オブジェクト破棄時に一度だけ実行される処理である。終了処理では、不要な演出の再生終了等の処理が行われる。また、コマンド受信時理は、コマンド受信時に一度だけ実行される処理である。このコマンド受信処理は、例えば、保留加算コマンドや保留減算コマンドに基づいてアニメーション制御等を行う際に使用される。
ここで、図31及び図32を参照しながら、上述したアニメーションオブジェクトを用いたアニメーションリクエスト構築処理の流れの一例を説明する。なお、図31は、デモ表示コマンド受信時に行われるアニメーションリクエスト構築処理中のアニメーションオブジェクトの処理フローを示す図である。また、図32は、デモ表示コマンドの後に特別図柄演出開始コマンドを受信した際に行われるアニメーションリクエスト構築処理中のアニメーションオブジェクトの処理フローを示す図である。図31及び図32では、説明を簡略化するため、ホスト制御回路210が行うメイン処理のフロー(後述の図72参照)中の、メイン・サブ間コマンド制御処理、コマンド解析処理及びアニメーションリクエスト構築処理を受信コマンド数分だけループ処理するフロー部分のみを示す。
デモ表示コマンド受信時のアニメーションリクエスト構築処理内では、デモオブジェクトの初期化処理、デモオブジェクトのコマンド受信時処理、保留オブジェクトのコマンド受信処理及びデモオブジェクトのメイン処理が、この順で実行される。なお、デモオブジェクトの初期化処理では、デモオブジェクトが生成される。また、デモオブジェクトのコマンド受信時処理及び保留オブジェクトのコマンド受信処理は、識別コマンド「80H」を引数として呼び出され、実行される。そして、デモオブジェクトのメイン処理では、アニメーションリクエストが生成される。
次いで、デモ表示コマンドの後に特別図柄演出開始コマンドが受信されると、デモオブジェクトの終了処理、変動オブジェクトの初期化処理、変動オブジェクトのコマンド受信処理、保留オブジェクトのコマンド受信処理及び変動オブジェクトのメイン処理が、この順で実行される。なお、デモオブジェクトの終了処理では、この時点で生成されているデモオブジェクトが破棄される。また、変動オブジェクトの初期化処理では、変動オブジェクトが生成される。変動オブジェクトのコマンド受信時処理及び保留オブジェクトのコマンド受信処理は、識別コマンド「81H」を引数として呼び出され、実行される。そして、変動オブジェクトのメイン処理では、アニメーションリクエストが生成される。なお、このメイン処理は、次のコマンドが受信されるまで行われる。
保留オブジェクトのコマンド受信処理は、コマンド種別に関係なく実行されるが、その処理内容(処理結果)は、保留オブジェクト実行時の保留個数やゲームステータス等の状態に応じて異なる。
[シンプルモードオブジェクト]
シンプルモードオブジェクト(特定の処理情報)は、簡易画面状態時に生成されるオブジェクトであり、シンプルモードオブジェクトでは簡易画面の表示処理が行われる。シンプルモードオブジェクトは、基本的には、電断復帰コマンド(識別コマンド「D1H」)受信時であり、且つ、受信した電断復帰コマンド(図25参照)に含まれる内部制御状態(識別図柄の変動表示に関する情報)の情報が特別図柄変動状態である場合にのみ生成される。すなわち、シンプルモードオブジェクトは、特別図柄の変動表示中に電断が発生し、その後、電断復帰した際に生成される。しかしながら、本実施形態では、毎フレーム、簡易画面状態の発生の有無をチェックしているので、簡易画面状態が発生すれば、シンプルモードオブジェクトが生成される。
本実施形態では、シンプルモードオブジェクトを生成する際には、その時点で生成されている全てのオブジェクト(保留オブジェクト等の常駐型オブジェクトも含む)を終了(破棄)する。
そして、電断復帰コマンド受信時(起動時)であり、且つ、内部制御状態が特別図柄変動状態である場合には、ホスト制御回路210は、シンプルモードオブジェクトに基づいて、アニメーションリクエストを生成し、該アニメーションリクエストに基づいて、上述した各種リクエストを生成する。なお、本実施形態では、シンプルモードオブジェクトに基づいて生成された描画リクエストがホスト制御回路210から表示制御回路230に出力されると、表示制御回路230は、該描画リクエストに基づいて、電断復帰に関する情報の報知を行うアニメーション(動画、静止画含む)を作成し、該アニメーションを表示装置13に表示させる。
また、本実施形態では、シンプルモードオブジェクトが生成された場合には、シンプルモードオブジェクトが終了するまで、新たなオブジェクトは生成されない。すなわち、簡易画面状態中には、シンプルモードオブジェクト以外の他の演出オブジェクトは生成されない。そして、シンプルモードオブジェクトは、主制御回路70から変動停止に関するコマンド(変動停止コマンドや、大当たりを示すコマンドなど)が送信された場合に終了する。
上述したように、本実施形態において、内部制御状態が特別図柄変動状態(識別情報の変動表示状態)であるときに実行される電断復帰時の処理では、シンプルモードオブジェクトのみが生成されるので、電断復帰を迅速に行うことができる。
また、本実施形態では、シンプルモードオブジェクトの生成時に、受信した電断復帰コマンドに内部制御状態(識別図柄の変動表示に関する情報)が特別図柄変動状態であるという情報が含まれるか否かを判別する。それゆえ、本実施形態では、電断検知前と電断復帰後との間の遊技状態の整合性を考慮して電断復帰処理を行うことができる。
さらに、本実施形態では、上述のように、ホスト制御回路210がコマンドを受信する度に後着優先でオブジェクトが1つだけ生成される(オブジェクトが上書きされる)が、シンプルモードオブジェクトが存在しているときは、新たにオブジェクトが生成されない。それゆえ、ホスト制御回路210により受信コマンドに基づいて生成されるオブジェクトの整合性も確保される。
また、本実施形態では、電断復帰時にはシンプルモードオブジェクトにより生成されたアニメーションリクエストに基づいて、表示装置13により電断復帰中である旨の情報が報知されるので、動画を特別図柄の変動時間に合わせて途中から再生するような機能を有していない遊技機であっても、遊技者に違和感を与えることなく電断復帰を行うことができる。
さらに、本実施形態では、上述のように、シンプルモードオブジェクトの終了契機は、主制御回路70からホスト制御回路210に変動停止に関するコマンドが送信された場合である。それゆえ、例えば、変動中に電断を検知し、その後、電源復帰を行った場合であっても、例えば、シンプルモードオブジェクト終了時の表示装置13において、電断復帰後のアニメーション種別が電断検知前の変動中におけるアニメーションの種別と異なる演出が実行される、又は、再度、電断復帰前の演出と同じ演出が最初から実行されるといった不自然な演出の実行が抑制される。この結果、電断復帰時等の異常な状態であっても、遊技者に違和感を与えるような演出の発生を抑制することができ、円滑に遊技を進めることができる。
<描画制御手法の概要>
次に、ホスト制御回路210から表示制御回路230に描画リクエストが出力された際に、表示制御回路230が実行する描画処理の概要を、図33を参照しながら説明する。なお、図33は、描画処理時における画像データ(動画データ及び静止画データ)のフローを示す図である。
本実施形態では、表示装置13の液晶画面に表示する画像(動画及び/又は静止画)のデータ(圧縮データ)は、CGROM基板204内のCGROM206に格納されている。そして、描画リクエストが表示制御回路230に入力されると、表示制御回路230は、まず、CGROM206から画像圧縮データを読み出しデコード(伸張)する。この際、動画圧縮データが読み出された場合には、表示制御回路230内の動画デコーダ234により動画圧縮データがデコードされ、静止画圧縮データが読み出された場合には、表示制御回路230内の静止画デコーダ235により静止画圧縮データがデコードされる。
次いで、表示制御回路230は、画像データのデコード結果(画像伸張データ)をテクスチャソースに指定された所定のバッファに書き出す。なお、本実施形態では、テクスチャソースとして、SDRAM250(外部RAM)内に設けられたムービバッファ、テクスチャバッファや、内蔵VRAM237内のスプライトバッファが指定される。例えば、動画1枚を表示する場合には、伸張された動画データ(デコード結果)は、SDRAM250内のムービバッファに書き出される。また、例えば、静止画1枚を表示する場合には、伸張された静止画データは、内蔵VRAM237内のスプライトバッファに書き出される。
次いで、表示制御回路230は、画像データのレンダリング(描画)結果を書き出すレンダリングターゲットを指定する。なお、レンダリングターゲットとしては、例えば、SDRAM250(外部RAM)内に設けられたフレームバッファや、内蔵VRAM237内に設けられたフレームバッファなどを指定することができる。
次いで、表示制御回路230は、レンダリングエンジン241を作動させて、テクスチャソースに書き出された画像データのデコード結果に対してレンダリング処理を施し、そのレンダリング結果をレンダリングターゲットに書き出す。なお、この処理では、動画の拡大縮小や回転などの指定情報(3Dジオメトリエンジン240から入力される各種情報)に従ってレンダリング処理が行われる。
次いで、表示制御回路230は、レンダリングターゲットに書き出されたレンダリング結果(表示出力データ)を、表示装置13の表示画面に表示する。
なお、本実施形態では、レンダリングターゲットとして、2つのフレームバッファを用意する(後述の図90〜図92参照)。そして、レンダリングエンジン241からレンダリング結果をフレームバッファに書き出す際、レンダリング結果が書き出されるフレームバッファがフレーム毎に切り替えられる。例えば、所定のフレームにおいて、一方のフレームバッファにレンダリング結果を書き出した場合には、次フレームでは、他方のフレームバッファにレンダリング結果を書き出し、次々フレームでは、一方のフレームバッファにレンダリング結果を書き出す。すなわち、本実施形態では、一方のフレームバッファへのレンダリング結果の書き出し処理と、他方のフレームバッファへのレンダリング結果の書き出し処理とがフレーム毎に交互に切り替えて実行される。
また、上述したレンダリング結果の書き出し処理及び表示処理の流れの中において、所定のフレームで一方のフレームバッファに書き出されたレンダリング結果は、次フレームで表示装置13の表示画面に表示される(一方のフレームバッファの機能が描画機能から表示機能に切り替えられる)。また、次フレームで他方のフレームバッファに書き出されたレンダリング結果は、次々フレームで表示装置13の表示画面に表示される(他方のフレームバッファの機能が描画機能から表示機能に切り替えられる)。すなわち、本実施形態では、一方のフレームバッファにおけるレンダリング結果の表示処理と、他方のフレームバッファにおけるレンダリング結果の表示処理とがフレーム毎に交互に切り替えて実行される。
<音声再生制御手法の概要>
次に、ホスト制御回路210から音声・LED制御回路220にサウンドリクエストが出力された際に、音声・LED制御回路220が実行する音声再生処理の概要を、図34を参照しながら説明する。なお、図34は、音声再生処理時における音声・LED制御回路220の動作概要を示す図である。
本実施形態では、スピーカ11に出力するサウンドデータは、CGROM206に格納されている。そして、音声・LED制御回路220にサウンドリクエストが入力されると、音声・LED制御回路220は、サウンドリクエストに基づいてアクセスナンバーを特定し、アクセスナンバーに対応付けられたアクセスデータをCGROM206から読み出す。
なお、本実施形態では、サウンドリクエストには、アクセスナンバーだけでなく、サブ基板202内で生成された音声再生処理に必要な各種シーケンス再生制御コマンド(例えば、音声再生のスタート、ストップ、ループ等の指令するコマンド)などが含まれる。
そして、音声・LED制御回路220は、読み出したアクセスデータに基づいて、音声再生処理を行う。この際、本実施形態では、シンプルアクセス制御により、サウンドの再生制御を行う。なお、ここでいう、「シンプルアクセス制御」とは、ホスト制御回路210から送信されたサウンドリクエストに基づいて、音声・LED制御回路220がCGROM206(外部ROM)に登録された複数のコマンドレジスタ列を一括設定する制御手法のことである。また、音声・LED制御回路220が同時に実行できるシンプルアクセス制御の数は、実行系統の数(本実施形態では4つ)に依存する。
図35に、アクセスデータの概略構成を示す。アクセスデータは、図35に示すように、設定データとアドレスとのセット情報が複数、所定の順序で配置されており、アクセスデータの最後尾にはシンプルアクセス終了コード(音声再生の終了を示すコード)に対応する情報が格納される。なお、図34に示すように、一つのアクセスナンバーに複数のアクセスデータが対応付けられている場合には、最後尾のアクセスデータにのみ、シンプルアクセス終了コードが設けられる。
このような構成のアクセスデータに対して、設定データを対応するアドレスにセットすると、設定データに対応する再生コードが実行され、音声再生が行われる。そして、この再生コードの実行処理を、アクセスデータ内の先頭側の設定データから最後尾まで順次行い、最終的にシンプルアクセス終了コードがセットされると、読み出したアクセスデータに基づく音声再生動作が終了する。
<ランプ(LED)の各種駆動制御手法>
次に、ホスト制御回路210から音声・LED制御回路220にランプリクエストが出力された際に、音声・LED制御回路220が実行する、ランプ群18に含まれる複数のLEDの各種駆動制御処理の内容について説明する。なお、以下に説明する本実施形態のランプ制御手法では、発光素子としてLEDを例に挙げて説明するが、本発明はこれに限定されず、他の任意の発光素子に対しても本実施形態のランプ制御手法は同様に適用することができる。
[LED制御の概要]
まず、図36を参照しながら、パチンコ遊技機1に設けられたLEDを駆動(点灯/消灯)する際の制御手法の概要を説明する。なお、図36は、LED駆動(点灯/消灯)時の信号フロー図である。
LEDの駆動(点灯/消灯)時には、まず、副制御回路200内のホスト制御回路210から音声・LED制御回路220にランプリクエスト(LED制御リクエスト)が出力される。なお、本実施形態では、ホスト制御回路210の演出制御処理(後述の図72に示す副制御メイン処理)は、所定のFPS周期(例えば、約16.7msec、約33.3msec等)で行われるので、音声・LED制御回路220へのランプリクエストの送信処理も所定のFPS周期で行われる。
次いで、音声・LED制御回路220にランプリクエストが入力されると、音声・LED制御回路220は、該ランプリクエストに基づいて、LEDの点灯パターン(LEDアニメーション)を設定するためのLEDデータ(駆動データ)をランプ群18内の各LEDドライバ280(発光駆動手段、演出駆動手段)に送信する。この際、音声・LED制御回路220からLEDドライバ280へのLEDデータの送信は、SPIの通信方式で行われる。また、音声・LED制御回路220からLEDドライバ280へのLEDデータの送信処理は、約4msec周期で行われる。
そして、LEDドライバ280は、受信したLEDデータに基づいて、接続されているLED281(発光手段)を所定のパターンで点灯/消灯する。これによりLEDアニメーションによる演出動作が実行される。
なお、LEDデータに基づく発光態様は、LEDドライバ280からLED281に送信される、発光態様を制御可能なLEDデータに基づいて生成された信号(制御信号)より制御される。具体的には、LEDドライバ280からLED281に送信される信号の電気的な波形パラメータ(電圧値、電流値、パルス幅のデューティー比等)により、LED281の点灯、消灯、点滅、輝度等の発光態様が制御される。
また、本実施形態では、LED281を駆動するための「駆動データに基づく制御信号」として、LEDデータに基づいて生成された信号を用いる例を説明したが、本発明はこれに限定されない。LED281を駆動する際の「駆動データに基づく制御信号」としては、LEDデータ(駆動データ)の転送態様や、LEDデータに基づいて生成されるデータであってもよい。なお、ここでいう「LEDデータに基づいて生成されるデータ」とは、信号、コマンド、電圧変化を含み、この場合には、LEDデータを受信した制御手段が、他の制御手段に対して駆動データ又は駆動データに基づく制御信号を送信する態様となる。
[音声・LED制御回路及びLED間の接続構成]
次に、図37を参照しながら、音声・LED制御回路220及び各LED281間の接続構成について説明する。なお、図37は、音声・LED制御回路220及びLED281間の概略接続構成図である。
本実施形態では、音声・LED制御回路220は、図37に示すように、LEDデータの出力系統(SPIチャンネル)として、物理系統0(SPIチャンネル0)と物理系統1(SPIチャンネル1)とを使用する。各物理系統には、複数のLEDドライバ(デバイス)280がSPIバスを介して並列に接続される。図37に示す例では、16個のLEDドライバ280(デバイス0〜デバイス15)が各物理系統に並列接続される。
そして、各LEDドライバ280には、LEDデータがセットされる複数の出力ポート(以下、単に「ポート」という)が設けられ、各ポート(接続部)に1つのLED281が接続される。すなわち、本実施形態では、LED281は、スタティック制御されるLED281である。なお、本明細書では、スタティック制御されるLED281をスタティックLED281と称する。
また、図37に示す例では、各LEDドライバ280(各デバイス)に、16個のポート(ポート0〜ポート15)が設けられる。すなわち、各LEDドライバ280(各デバイス)には16個のLED281が接続される。なお、本実施形態では、各LEDドライバ280には16個のLED281が接続されているが、本発明はこれに限定されず、LEDドライバ280(デバイス)の機能及び仕様に応じて、各LEDドライバ280に、8個、32個、64個等のLED281が接続されるようにしてもよい。
図37に示す構成のパチンコ遊技機1では、起動時に、音声・LED制御回路220は、LED281の接続構成に関する各種パラメータをSPIチャンネル毎に設定する。具体的には、音声・LED制御回路220は、起動時に、各SPIにおける使用デバイス数(各SPIチャンネルに接続されているLEDドライバ280の数)、LED281の開始ポート、LED281の終了ポート及びLEDドライバ280の開始アドレスを設定する。例えば、図37に示す例では、SPIの使用デバイス数に「16」、開始ポートに「0」、終了ポートに「15」及び開始アドレスに「0」が、それぞれセットされる。なお、LEDドライバ280の開始アドレスは、SPIチャンネル毎に適宜設定されるので、「0」に限定されない。
LED281の接続構成に関する各種パラメータを上述のようにセットすると、例えば、図37中のSPIチャンネル0に接続されたデバイス15(LEDドライバ)のポート15に接続されたLED281のアドレスは、SPI番号=0、デバイス番号=15及びポート番号=15で指定(設定)することができる。
ここで、図38を参照しながら、音声・LED制御回路220及びLEDドライバ280間の接続構成をより詳細に説明する。なお、図38は、音声・LED制御回路220及びLEDドライバ280間の接続構成図である。
音声・LED制御回路220及びLEDドライバ280間は、上述のように、SPIバス(信号配線手段)により接続されるので、各物理系統(SPIチャンネル)において、シリアル・クロック(SCL)の信号配線(タイミング信号線)と、シリアル・データ(SDO、SDI)の信号配線(データ信号線)とが別配線で設けられる。そして、音声・LED制御回路220(マスタ)の各物理系統(SPIチャンネル)において、音声・LED制御回路220のシリアル・クロック信号(タイミング信号)の出力端子(SCL_P*,SCL_N*:「*」は1又は2)は、各LEDドライバ280(スレーブ)のシリアル・クロック信号の入力端子(SCL_P,SCL_N)に接続される。また、音声・LED制御回路220のシリアル・データ(駆動データを含む送信データ)の出力端子(SDO_P*,SDO_N*)は、各LEDドライバ280のシリアル・データの入力端子(SDI_P,SDI_N)に接続される。
本実施形態では、音声・LED制御回路220及びLEDドライバ280間において、基本的には、音声・LED制御回路220(マスタ)がデータを送信し続け、各LEDドライバ280(スレーブ)は、送信されたデータを一方的に受信する。なお、この際、各LEDドライバ280は、シリアル・データの立ち上がりエッジを検出して、内部のシフトレジスタへのシリアル・データの入力を開始する。
[シリアル・データの構成]
ここで、図39に、音声・LED制御回路220からLEDドライバ280に送信されるシリアル・データの構成(フォーマット)を示す。
本実施形態では、図39に示すように、シリアル・データの先頭に、16ビット以上の領域に連続して「1」(特定のデータ)が格納される。それゆえ、LEDドライバ280が、「1」を16回以上連続して受信検知すると、LEDドライバ280の状態は、シリアル・データの入力待機状態になる。
シリアル・データ内の16ビット以上の「1」の格納領域(第1データ部)の後には、デバイスアドレス(LEDドライバ280のアドレス)の格納領域及びレジスタアドレスの格納領域がこの順で配置される。なお、デバイスアドレス(出力先情報)の格納領域(第2データ部)及びレジスタアドレスの格納領域は、それぞれ8ビット(1バイト)の領域で構成される。
本実施形態では、図39に示すように、デバイスアドレスの先頭ビットの格納領域には「0」(所定のデータ)が格納される。それゆえ、LEDドライバ280が、「1」を16回以上連続して受信検知した後、「0」を受信検知すると、LEDドライバ280の状態はデバイスアドレスに対応する信号(出力先指定信号)の待ち受け状態となる。
また、シリアル・データ内のレジスタアドレスの格納領域の後には、LEDデータの格納領域(第3データ部)が配置され、シリアル・データの最後尾の格納領域には、シリアル・データの送信終了を示す「0FFH」(FF)が配置される。この「0FFH」は、8ビット(1バイト)の格納領域で構成され、各ビット領域には、「1」が格納される。
[LEDドライバの構成及び動作概要]
次に、図40を参照しながら、LEDドライバ280の内部構成の一例を説明する。なお、図40は、LEDドライバ280の概略内部構成図である。
LEDドライバ280は、図40に示すように、デジタルコントロール部280aと、I/O部280bと、ISET部280cと、端子群280dと、ポート群280eとを有する。
デジタルコントロール部280aは、端子群280d及びI/O部280bを介して受信した信号に基づいて、自身のLEDドライバ280に接続されたLED281に駆動信号(点灯/消灯信号)を出力する。
ISET部280cは、LED281に過大電流が流れることを防止するために設けられた機能部である。ISET部280cは、過大電流を検知した場合にLEDドライバ280の動作を強制的に停止する(消灯する)。
端子群280dは、シリアル・クロック信号の入力端子(SCL)、シリアル・データの入力端子(SDI)、シリアル・データの出力端子(SDO)、信号形式選択端子(IFMODE)、出力イネーブル端子(OE)、複数のデバイスアドレス選択端子(DA0〜DA5)、及び、エラーフラグ出力端子(XERR)を含む。なお、図40では、説明を簡略化するため、図38に示すシリアル・クロック信号の2つの入力端子「SCL_P」,「SCL_N」を一つの入力端子「SCL」で示し、図38に示すシリアル・データの2つの入力端子「SDI_P」,「SDI_N」を一つの入力端子「SDI」で示す。
本実施形態では、LEDドライバ280は、SPI対応のドライバであるので、シリアル・クロック信号の入力端子(SCL)、シリアル・データの入力端子(SDI)及びシリアル・データの出力端子(SDO)のそれぞれ接続された3本の通信配線により外部と通信することができる。この際、LEDドライバ280(スレーブ)は、マスタ(音声・LED制御回路220)から入力される、シリアル・クロック信号に基づいて、シリアル・データの入出力制御を行う。
なお、本実施形態で、上述のように、音声・LED制御回路220及びLEDドライバ280間では、シリアル・データが音声・LED制御回路220からLEDドライバ280に一方的に送信される構成である。それゆえ、本実施形態では、音声・LED制御回路220及びLEDドライバ280間において、シリアル・データを送受信する際には、3本の通信配線のうち、LEDドライバ280のシリアル・クロック信号の入力端子(SCL)及びシリアル・データの入力端子(SDI)に接続された通信配線が使用される。
ここで、図41に、LEDドライバ280に1ビットのデータが各入力端子(SDI_P、SDI_N、SCL_P、SCL_N)に入力された際の動作概要を示す。
本実施形態において、LEDドライバ280の入力端子SDI_Pに「0」が入力され、且つ、入力端子SDI_Nに「1」が入力された場合には、図41に示すように、LEDドライバ280の内部のデジタル回路(例えば、後述のデジタルコントロール部280a等)に「0」が入力される。LEDドライバ280の入力端子SDI_Pに「1」が入力され、且つ、入力端子SDI_Nに「0」が入力された場合には、LEDドライバ280の内部のデジタル回路に「1」が入力される。また、LEDドライバ280の入力端子SDI_P及び入力端子SDI_Nに入力される1ビットのデータが互い同じである場合(両入力端子に「0」又は「1」が入力された場合)には、LEDドライバ280の内部のデジタル回路において、前回の入力値が維持される。
なお、図41に示すように、LEDドライバ280の入力端子SCL_P及び入力端子SCL_Nのそれぞれに入力される1ビットのデータの組み合わせと、内部のデジタル回路に入力される入力値との関係も、上述した入力端子SDI_P及び入力端子SDI_Nのそれと同様である。
信号形式選択端子(IFMODE)では、SDI、SCLにおける論理演算手法が異なる差動インターフェイス及びシングルエンドモード時のインターフェイスの中から所定のインターフェイスが選択可能である。出力イネーブル端子(OE)は、外部端子による全LED281の点灯/非点灯を可能にする端子である。具体的には、出力イネーブル端子(OE)の信号レベルをハイレベルにすることにより、LEDドライバ280の出力をオンすることができ、出力イネーブル端子(OE)の信号レベルをローレベルにすることにより、LEDドライバ280の出力をオフすることができる。
複数のデバイスアドレス選択端子(DA0〜DA5)には、LEDドライバ280のデバイスアドレスが設定される。そして、LEDドライバ280内のシフトレジスタにシリアル・データを読み込む際には、シリアル・データの出力先が指定するデバイスアドレス(音声・LED制御回路220から入力されたデバイスアドレスの情報)が、複数のデバイスアドレス選択端子(DA0〜DA5)に設定されたアドレスと一致した場合に、シリアル・データが読み込まれる。なお、このデバイスアドレスの判定処理は、デジタルコントロール部280aで行われる。
ここで、図42に、LEDドライバ280のアドレス設定モードの概要をまとめた表を示す。
本実施形態では、LEDドライバ280のアドレス設定モードとして、デバイス制御モード及びバス制御モードの2種類のモードが設けられている。なお、バス制御モードは、複数のデバイスアドレス選択端子(DA0〜DA5)に設定されたデータ(デバイスアドレス)に関係なく、シリアル・データを読み込むモードである。
デバイス制御モードにより、LEDドライバ280のデバイスアドレスを設定する場合には、図42中の「Bit0」〜「Bit5」に規定されたデータ「a0」〜「a5」がそれぞれデバイスアドレス選択端子(DA0)〜デバイスアドレス選択端子(DA5)にセットされる。なお、図42中の「Bit0」〜「Bit5」に規定されたデータ「a0」〜「a5」は、LEDドライバ280のデバイスアドレスに応じて変化する。また、図42中の「Bit6」に規定されたデータから、現在設定されているアドレス設定モードがバス制御モード及びデバイス制御モードのいずれであるかを判別することができる。
また、エラーフラグ出力端子(XERR)は、異常検知時にエラーフラグ値「1」が出力される端子である。エラーフラグ出力端子(XERR)からのエラーフラグの出力動作は、異常検知期間のみで行われ、エラーフラグ値「1」が出力された場合には、LEDドライバ280は自動復帰する。
なお、エラーフラグ出力端子(XERR)から出力されたエラーフラグ値「1」はレジスタに格納される。また、エラーフラグ出力端子(XERR)からエラーフラグ値「1」が出力されている間、LEDドライバ280のレジスタはラッチされる(状態を保持する)。そして、レジスタがリード可能になると、エラーが解除され、エラーフラグ出力端子(XERR)から「0」がレジスタに出力される。
ポート群280eは、複数のポート(図40に示す例では48個)で構成され、各ポートには1つのLED281が接続される。また、図40中のポート「OUTR*」(「*」は0〜15)には、赤色成分のLED281が接続され、ポート「OUTG*」には、緑色成分のLED281が接続され、ポート「OUTB*」には、青色成分のLED281が接続される。
本実施形態では、互いに隣り合うポート「OUTR*」、「OUTG*」及び「OUTB*」にそれぞれ接続された赤色成分のLED281、緑色成分のLED281及び青色成分のLED281により一つの色を発光させる構成にする。なお、本発明は、これに限定されず、LEDドライバ280のポートに接続されるLEDの種別として、3原色の各色成分のLED281を用いて一つの色を発光するようなLED種別以外にも、単色発光専用のLEDを別途、設けてもよい。
ここで、図43に、LED281が接続される物理系統(SPIチャンネル)と、LEDドライバ280のデバイスアドレスと、LEDドライバ280の出力端子との関係をまとめた表を示す。なお、図43に示す例は、物理系統として、2つの物理系統(物理系統0及び物理系統1)を用い、各物理系統に接続されたLEDドライバ280の個数を16個とし、各LEDドライバ280に接続されたLED281の個数を48個とした場合の構成例である。
[LEDデータ]
次に、図44を参照しながら、音声・LED制御回路220からLEDドライバ280(LED281)に出力されるLEDデータ(ポート毎にセットされるLEDデータ)の構成について説明する。なお、図44は、LEDデータのフォーマット(データ型、形式)を示す図である。
LEDデータは、再生時間(点灯時間)、赤色成分の輝度データ(発光データ)、緑色成分の輝度データ及び青色成分の輝度データを含み、ポート毎にセットされる。なお、LEDデータは、CGROM206に格納される。また、再生時間のデータ長(バイト数)は2バイトであり、各色成分の輝度データのデータ長は1バイトである。
なお、図44中に示す例では、LEDデータに、1バイトの「アライメント」と称するデータ領域も設けられるが、これは、LEDデータのデータ長(バイト数)を偶数バイトにするために設けられた調整領域である。
再生時間(点灯時間)の欄に規定される値は、時間の値ではなく、音声・LED制御回路220からLEDドライバ280へのLEDデータの送信処理の周期(約4msec)、すなわち、音声・LED制御回路220のLEDドライバ280に対する割込処理の周期を「1」としたときの値である。例えば、再生時間(点灯時間)に「12」がセットされている場合には、LEDの実際の点灯時間は約48msec(約4msec×12)となる。また、LEDデータ内の再生時間(点灯時間)に「0」がセットされている場合には、LEDデータの出力終了(所定のLEDアニメーションの終了)を意味し、該LEDデータが対応するLED281に出力されると、一連のLEDアニメーションによる演出動作が終了する。
なお、LEDデータ内における再生時間(点灯時間)の規定手法は、図44に示す例に限定されず、再生時間(点灯時間)の時間値を規定してもよい。この場合にも、音声・LED制御回路220のLEDドライバ280に対する割込処理の周期(約4msec)の整数倍の値がLEDデータ内に規定される。なお、計算不具合等により、LEDデータ内の再生時間(点灯時間)の欄に、割込処理の周期(約4msec)の整数倍以外の値が規定された場合には、周期(約4msec)の整数倍の値を超えた分が切り捨てられる。例えば、割込処理の周期が4msecであり、再生時間(点灯時間)の欄に47msecが規定された場合には、再生時間(点灯時間)の欄の値が44msecに書き換えられる。
各色成分の輝度データには、「0」(消灯)〜「255」の範囲内の整数値がセットされる。なお、本実施形態のように、LEDデータに、赤色成分の輝度データ、緑色成分の輝度データ及び青色成分の輝度データを含ませることにより、赤色LED、青色LED及び緑色LEDの3つでフルカラー発光させる場合だけでなく、赤色LED、青色LED及び緑色LEDのそれぞれを単色LEDとして使用する場合にも対応することができる。
また、輝度データ「244」及び「255」はそれぞれ16進数(HEX)で「0xFF」及び「0xFE」である。赤色、緑色、青色成分の各輝度データが「0xFE」であるときには、LED281は白色点灯する。赤色、緑色、青色成分の各輝度データが「0xFF」であるときには、該輝度データは「透明定義」の輝度データであり、「透明定義」の点灯態様は、後述のLEDデータの生成(合成)手法において説明する。また、赤色、緑色、青色成分の各輝度データが「0」であるときには、LED281は消灯するので、これらの輝度データを「消灯データ」と称する。
ここで、図45を参照しながら、スタティックLEDに対するLEDデータの出力制御処理の一例を説明する。なお、図45に示す例では、一つのLEDドライバ280に赤色LED、青色LED及び緑色LEDがそれぞれ1個ずつ接続されている例を示す。また、この例では、LEDデータ内の、再生時間(点灯時間)を「12」(約48msec)とし、赤色の輝度データ、緑色の輝度データ及び青色の輝度データのそれぞれを「0xFE」とする例を説明する。なお、このLEDデータでは、赤色LED、青色LED及び緑色LEDの3つのLEDにより白色点灯が行われる。
上述したLEDデータがLEDドライバ280に入力されると、LEDドライバ280は、後述の制御部位の情報(各ポートのポート情報)を参照して、LEDデータの中から接続されたLED281の種別に対応する輝度データを参照し、該輝度データに対応する駆動信号をLED281に出力する。それゆえ、図45に示す例では、ポート0に接続された赤色LEDには、LEDデータ内の赤色の輝度データ「0xFE」のみが出力され、赤色LEDは、赤色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。また、この際、ポート1に接続された青色LEDには、LEDデータ内の青色の輝度データ「0xFE」のみが出力され、青色LEDは、青色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。さらに、この際、ポート2に接続された緑色LEDには、LEDデータ内の緑色の輝度データ「0xFE」のみが出力され、緑色LEDは、緑色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。
なお、図45に示す例において、消灯動作を行う場合には、各色の輝度データに「0」がセットされる。
上述のように、本実施形態では、LEDドライバ280に対して出力されるLEDデータは、各色(赤、青、緑)成分の輝度値を少なくとも含み、発光態様を特定可能なデータ形態を有する。そして、LEDドライバ280からそれに接続された複数のLED281にLEDデータが出力されると、各LED281には、LEDデータ内の自身の発光色に対応する色成分の輝度データが出力される(各LED281において、LEDデータ内の対応する色成分の輝度データのみが参照される)。
このような構成のLEDデータを用いて、一つのLEDドライバ280により複数のLED281を発光制御した場合、複数のLEDが互いに異なる発光色のLED281であっても、各LED281の輝度値(データ)を把握することが容易になるので、複数のLED281による発光色の合成処理が容易になる。また、この際の発光色の合成にかかる処理を、LEDデータがセットされたLEDドライバ280により実行することも可能になるので、複雑なLED発光制御も容易に実行可能となり、LED281を用いたより高度な演出制御(LEDアニメーション制御)を容易に実行することができる。
また、本実施形態では、LEDドライバ280に対して出力されるLEDデータの構成は、LEDドライバ280に接続されたLED281の種別に関係なく同じである。それゆえ、所定のLEDドライバ280における発光態様(発光色)と同じ発光態様を行う他のLEDドライバ280に対して、所定のLEDドライバ280で用いるLEDデータを他のLEDドライバ280でも用いる(LEDデータを共通化する)ことができる。この場合、LEDデータを共通化することができるとともに、LED281の点灯動作に関する処理も共通化することができる。
このようなLEDデータ及び点灯動作処理の共通化という効果は、1つのLEDドライバ280に接続された赤色LED、緑色LED及び青色LEDを用いてフルカラー点灯を行う場合、すなわち、各色の発光配分が重要なパラメータとなるLED発光制御を実行する場合において、特に顕著になる。それゆえ、本実施形態では、フルカラーLEDの発光制御もまた容易に実行することができる。
なお、本明細書でいう、「LEDデータ(駆動データ)の形式」は、上述した複数種の色成分の輝度データ及び点灯時間に関するデータからなるデータフォーマットに限定されない。例えば、輝度データのデータフォーマットには、輝度データを生成する時に使用されるデータフォーマット、CGROM206内に格納される時のデータフォーマット等が含まれる。また、CGROM206内に格納されている輝度データが、圧縮処理やファイル形式の変換処理などによりデータフォーマットの形式を有していない変数、変数の群又はデータである場合においても、プログラム上で、該変数、変数の群(構造体)又はデータの使用方法として、それらを輝度データの一群として使用している場合には、該変数、変数の群(構造体)又はデータを輝度データのデータフォーマットとして認識することができる。それゆえ、本明細書でいう、「LEDデータ(駆動データ)の形式」とは、これらの輝度データのデータフォーマットを含む意味である。
[LEDデータの生成(合成)手法]
次に、音声・LED制御回路220で行われるLEDデータの生成(合成)処理の手法について説明する。本実施形態では、音声・LED制御回路220は、CGROM206から読み出した所定のLEDデータをそのままLEDドライバ280(ポート)に出力することもできるが、CGROM206から複数のLEDデータを読み出し、それらのLEDデータを合成して対応するポートに出力する機能も備える。
この機能を実現するために、音声・LED制御回路220には、複数のLEDデータのそれぞれを読み出して各種処理を施すための複数のチャンネルがポート毎に設けられる。具体的には、音声・LED制御回路220において、LEDデータをセット可能な8つのチャンネル(第1チャンネル〜第8チャンネル)がポート毎に設けられる。
そして、本実施形態では、チャンネル毎にLEDデータの実行優先順位が予め決められており、複数のチャンネルにLEDデータがセットされている場合には、その実行優先順位に従って(基づいて、応じて、又は、対応して)、LEDドライバ280内のポートにセットされるLEDデータが決定される。なお、本実施形態では、第1チャンネルが最もLEDデータの実行優先順位が低いチャンネルとし、チャンネル番号の増加とともに実行優先順位が高くなるようにLEDデータの実行優先順位が設定されている。それゆえ、本実施形態では、第8チャンネルが実行優先順位の最も高いチャンネルとなる。また、本実施形態では、第8チャンネルは、エラー発生時専用のチャンネルに設定される。なお、本明細書でいうチャンネル毎に設定される「LEDデータの実行優先順位」とは、LEDデータ(駆動データ)の出力、使用、設定、セット、ロードなどを行う際の優先順位である。
例えば、LEDドライバ280内の所定のポートに対して、第2、第4及び第6チャンネルにそれぞれLEDデータ(輝度データ)がセットされている場合には、これらのチャンネルのうち、実行優先順位の最も高い第6チャンネルのLEDデータが合成結果として音声・LED制御回路220からLEDドライバ280内の所定のポートに出力(セット)される。
なお、チャンネルに読み出されたLEDデータは、後述のデータテーブル情報とともに、チャンネルの登録バッファ(記憶手段)に格納される。具体的には、まず、ホスト制御回路210から音声・LED制御回路220にランプリクエスト(LED制御リクエスト)が入力されると、音声・LED制御回路220は、該ランプリクエストに基づいて、CGROM206に格納されたデータテーブル情報及びそれに対応付けられたLEDデータを取得する。データテーブル情報には、読み出したLEDデータをセットするチャンネルの情報が含まれており、音声・LED制御回路220は、このデータテーブル情報で指定されたチャンネルの登録バッファに、読み出したLEDデータ及びデータテーブル情報を上書きして格納する。ただし、読み出されたLEDデータを登録バッファに格納(上書き)する際には、チャンネルに設定されたLEDデータの実行優先順位に基づいて、LEDデータを登録バッファに上書きするか否かの判断が行われる。なお、データテーブル情報の内容については、後で詳述する。
本実施形態では、登録バッファに読み出したLEDデータ及びデータテーブル情報を上書きして格納する例を説明したが、後述の図48に示すようなLEDデータ及びデータテーブル情報を指定可能な情報(発光制御情報に対応する情報)を登録バッファに上書きして格納する構成にしてもよい。この場合には、LEDデータ及びデータテーブル情報を登録バッファとは異なる記憶領域(物理的に同じ記憶媒体の中で領域的に該記憶領域と登録バッファとが分けられている場合)から取得するように制御してもよいし、また、登録バッファに格納された情報に基づいて、物理的に異なる記憶媒体の記憶領域からLEDデータ及びデータテーブル情報を取得するように制御してもよい。
なお、「発光制御情報に対応する情報」は、後述の図48に示すLED制御IDを含む情報(発光制御情報を特定する情報)に限定されず、発光制御情報に関する情報であれば任意の情報を採用することができる。それゆえ、本実施形態の構成のように、発光制御情報に対応する情報として、発光制御情報そのもの(LEDデータ及びデータテーブル情報)を採用してもよい。
また、ここで、「透明定義」のLEDデータ(輝度データ)がセットされている場合の点灯態様を説明する。例えば、第4チャンネルに赤点灯を行うLEDデータ(輝度データ)が設定され、且つ、第6チャンネルに「透明定義」のLEDデータ(輝度データ)が設定されている場合には、第4チャンネルの赤点灯を行うLEDデータが出力される。すなわち、複数のチャンネルにLEDデータが設定されている場合に、実行優先順位の低いチャンネルのLEDデータを優先して出力したい場合には、「透明定義」のLEDデータを実行優先順位の高いチャンネルに設定する。なお、第4チャンネルに赤点灯を行うLEDデータが設定され、且つ、第6チャンネルに「消灯データ」が設定されている場合には、実行優先順位の高い第6チャンネルの「消灯データ」が優先して出力され、LED281は点灯しない。なお、例えば、第2チャンネル、第4チャンネル及び第6チャンネルにのみLEDデータがセットされ、且つ、セットされているLEDデータが全て「透明定義」のLEDデータである場合にもまた、LED281は発光しない。
また、本実施形態では、最も実行優先順位の低いチャンネルには「透明定義」のLEDデータが設定されない構成とするが、本発明はこれに限定されず、最も実行優先順位の低いチャンネルに「透明定義」のLEDデータを設定してもよい。
さらに、「消灯データ」及び「透明定義」のデータを同一に扱い、両データを、「消灯データ」又は「透明定義」のデータとして扱ってもよい。その場合には、LEDデータの構成を任意に変更し、各チャンネルで制御可能なLEDが予め重複しないようにするなど、LED制御を行う上での設定を適宜変更する。このような構成を採用した場合、例えば、「消灯データ」及び「透明定義」のデータの一方のデータしか取り扱わない遊技機においても対応可能になる。
なお、本実施形態では、「チャンネル」(系統)とは、シーケンサーチャンネルのことを示し、シーケンサーチャンネルが変数やレジスタに値を設定するというような表現が可能である。しかしながら、本発明はこれに限定されず、「チャンネル」は、例えば、単にシーケンサーの数を示すものであってもよいし、シーケンサーを含む再生手段(自動再生機能)であってもよい。また、ストップチャンネル(指定される音声再生をストップするチャンネル)などが「チャンネル」に含まれていてもよい。さらに、「チャンネル」は、表示装置13で表示されるアニメーションやLEDアニメーション、音声の再生の実行(開始、停止、終了、中断などを含む)可能な再生機能の総称であり、また、再生機能において同時に再生可能なデータ数(アニメーション数)を表すための単位(8チャンネルと言えば、同時に8つのデータを再生可能)でもある。
[LEDアニメーションの生成手法]
本実施形態のパチンコ遊技機1では、上述のように、ランプ群18に、複数のLED281が含まれる。そして、決定された演出内容に応じて、音声・LED制御回路220は、複数のLED281を様々なパターンで点灯/消灯させて所定の演出(LEDアニメーション)を行う。それゆえ、本実施形態では、LEDアニメーションが決まれば、その演出に必要な各種LEDデータが指定される。
また、本実施形態では、複数のLED281を連動させて所定のLEDアニメーションによる演出を行うので、所定のLEDアニメーションに関与する複数のLED281の点灯/消灯動作を一括して管理及び制御する。以下では、音声・LED制御回路220によりLEDアニメーションを実行するために、発光動作を一括して管理及び制御するポート群(LED群)を「制御部位」という。
本実施形態では、上述のように、音声・LED制御回路220には、LED281(ポート)毎にLEDデータがセット可能な8つのチャンネル(第1チャンネル〜第8チャンネル)が設けられているので、制御部位もチャンネル毎に設定される。そして、音声・LED制御回路220によりLEDアニメーションを実行する際には、各チャンネルの制御部位のLEDデータをチャンネル間で合成したデータがLEDアニメーションのデータとして出力される。なお、制御部位は、チャンネル間で互いに同じであってもよいし、チャンネル毎に異なっていてもよい。
また、音声・LED制御回路220には、各チャンネルにおいて設定された制御部位におけるLED281の点灯/消灯動作を一括して管理及び制御するための、シーケンサー(駆動データ制御手段)が制御部位毎に設けられる。
ここで、LEDアニメーションの生成例(LEDデータの合成例)を、図46〜図49を参照しながら具体的に説明する。
(1)生成例1
図46A及び図46Bは、制御部位の範囲がチャンネル間で互いに同じである場合のLEDアニメーションの生成及び出力動作の概要を示す図である。なお、図46A及び図46Bに示す例では、8つのLED281(第1LED〜第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、図46A及び図46Bに示す例では、8つのチャンネルのうち、第6チャンネル〜第8チャンネルにLEDデータがセットされる例を説明する。
さらに、図46A及び図46Bに示す例では、第6チャンネル〜第8チャンネルのそれぞれにおいて、全てのLED281(第1LED〜第8LED)が制御部位として設定されている例を説明する。このような場合には、第6チャンネル〜第8チャンネルの各LED281にそれぞれ所定のLEDデータがセットされる。
具体的には、第8チャンネルでは、第1LED及び第3LEDに「赤色」点灯のLEDデータがセットされ、それ以外のLED281には「データ無し」(消灯データ)がセットされる。また、第7チャンネルでは、第1LED〜第5LEDに「緑色」点灯のLEDデータがセットされ、それ以外のLED281には「データ無し」(消灯データ)がセットされる。そして、第6チャンネルでは、全てのLED281に「青色」点灯のLEDデータがセットされる。
図46Aに示す例において、第6チャンネル〜第8チャンネルのLEDデータを合成すると、制御部位(全LED)内の各LED281には、最も実行優先順位の高い第8チャンネルのLEDデータが合成結果としてセットされる。それゆえ、この例では、図46Bに示すように、第8チャンネルに格納されているLED281の点灯パターンと同じパターンが合成後のLEDアニメーションとして出力される。
(2)生成例2
図47A及び図47Bは、制御部位の範囲がチャンネル間で互いに異なる場合のLEDアニメーションの生成及び出力動作の概要を示す図である。なお、図47A及び図47Bに示す例では、生成例1と同様に、8つのLED281(第1LED〜第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、図47A及び図47Bに示す例では、生成例1と同様に、8つのチャンネルのうち、第6チャンネル〜第8チャンネルにLEDデータがセットされる例を説明する。
さらに、図47A及び図47Bに示す例では、第8チャンネルの制御部位が第1LED〜第3LEDに設定され、第7チャンネルの制御部位が第1LED〜第5LEDに設定され、そして、第6チャンネルの制御部位は全てのLED281に設定されている例を説明する。
また、第8チャンネルでは、第1LED及び第3LEDに「赤色」点灯のLEDデータがセットされ、第2LEDには「データ無し」(消灯データ)がセットされる。第7チャンネルでは、第1LED〜第5LEDに「緑色」点灯のLEDデータがセットされる。そして、第6チャンネルでは、全てのLED281に「青色」点灯のLEDデータがセットされる。なお、第8及び第7チャンネルにおいて、制御部位に指定されていないLED281のポートにはLEDデータはセットされない。
図47Aに示す例において、第6チャンネル〜第8チャンネルのLEDデータを合成すると、第1LED〜第3LEDでは、第6チャンネル〜第8チャンネルのLEDデータが重複するが、実行優先順位の最も高い第8チャンネルのLEDデータが合成結果としてセットされる。第4LED及び第5LEDでは、第7チャンネル及び第6チャンネルのLEDデータが重複するが、実行優先順位の高い第7チャンネルのLEDデータが合成結果としてセットされる。また、第6LED〜第8LEDでは、第6チャンネルにのみLEDデータがセットされているので、第6チャンネルのLEDデータが合成結果としてセットされる。
それゆえ、合成後のLEDアニメーションにおける、第1LED〜第3LEDの点灯パターンは、図47Bに示すように、第8チャンネルの第1LED〜第3LEDの点灯パターンと同じになり、第4LED及び第5LEDの点灯パターンは、第7チャンネルの第4LED及び第5LEDの点灯パターンと同じになり、第6LED〜第8LEDの点灯パターンは、第6チャンネルの第6LED〜第8LEDの点灯パターンと同じになる。
(3)生成例3
LEDアニメーションの生成例3では、図48並びに図49A〜図49Cを参照しながら、各チャンネルのLEDデータの上書き手順の一例を説明する。なお、図48は、各チャンネルと、各チャンネルにセットされているLEDデータ名(LED制御ID)との対応を示す図である。また、図49A〜図49Cは、生成例3における各ポートのLEDデータの上書き手順のフローを示す図である。
生成例3では、図49A〜図49Cに示すように、ポートAに接続されたLED281、ポートBに接続されたLED281、ポートCに接続されたLED281、及び、ポートDに接続されたLED281が、矩形状に配列されているLED群の構成例を説明する。また、第1チャンネルの制御部位は全ポートとし、第3チャンネルの制御部位はポートA〜ポートCとし、第6チャンネルの制御部位はポートAのみとする。そして、この例では、第1チャンネルに、LED281を「青色」点灯させるLEDデータ「LED_ID_B」がセットされ、第3チャンネルに、LED281を「赤色」点灯させるLEDデータ「LED_ID_R」がセットされ、第6チャンネルに、LED281を「黄色」点灯させるLEDデータ「LED_ID_G」がセットされる場合を考える。
このようなLEDデータを音声・LED制御回路220で合成して出力する際には、まず、音声・LED制御回路220は、図49Aに示すように、最も実行優先順位の低い第1チャンネルのLEDデータ「LED_ID_B」を全ポートにセットする。
次いで、音声・LED制御回路220は、図49Bに示すように、次に実行優先順位の低い(第1チャンネルより実行優先順位の高い)第3チャンネルのLEDデータ「LED_ID_R」をポートA〜ポートCにセットする。この結果、ポートA〜ポートCでは、LEDデータ「LED_ID_B」上に、LEDデータ「LED_ID_R」が上書きされる。
そして、音声・LED制御回路220は、図49Cに示すように、次に実行優先順位の低い(第3チャンネルより実行優先順位の高い)第6チャンネルのLEDデータ「LED_ID_Y」をポートAにセットする。この結果、ポートAでは、LEDデータ「LED_ID_R」上に、LEDデータ「LED_ID_Y」が上書きされる。
上述したLEDデータの上書き動作が終了すると、ポートAにはLEDデータ「LED_ID_Y」がセットされ、ポートB及びポートCにはLEDデータ「LED_ID_R」がセットされ、ポートDにはLEDデータ「LED_ID_B」がセットされる。その結果、ポートAのLED281が黄色点灯し、ポートB及びポートCのLED281が赤色点灯し、ポートDのLED281が青色点灯するLEDアニメーションが実行される。
なお、LEDデータの上書き処理は、チャンネル間の実行優先順位に基づいて行われるので、LEDデータの上書き順序は、図49A〜図49Cに示す例に限定されず、LEDデータの上書き順序は任意である。
[再生チャンネル及び拡張チャンネル]
本実施形態のパチンコ遊技機1は、1回のランプリクエストに基づいて1つのLEDアニメーションを実行する機能だけでなく、1回のランプリクエストに基づいて2つのLEDアニメーションを同時に実行する機能も有する。本実施形態では、後者の機能を実現するために、各チャンネルを2つの制御部位に分割し、一方の制御部位を用いて一方のLEDアニメーションを実行し、他方の制御部位を用いて他方のLEDアニメーションを実行する。
なお、以下では、1回のランプリクエストに基づいて1つのLEDアニメーション(通常のLEDアニメーション)を実行する際に使用される一方の制御部位を「再生チャンネル」と称し、1回のランプリクエストに基づいて2つのLEDアニメーションを同時に実行する際に使用される他方の制御部位を「拡張チャンネル」と称す。それゆえ、図46〜図49を参照して説明したLEDアニメーションの各種生成例の処理は、各チャンネル内の再生チャンネルを用いて実行され、2つのLEDアニメーションを同時に実行する際には、所定のチャンネルにおいて再生チャンネル(第1の系統)及び拡張チャンネル(第2の系統)の両方が使用される。
また、2つのLEDアニメーションを同時に実行する場合には、再生チャンネル及び拡張チャンネルの動作を別個に制御する必要があるので、再生チャンネル及び拡張チャンネルに対してそれぞれ別個にシーケンサー(自動再生制御機能)及び登録バッファ(第1の登録バッファ及び第2の登録バッファ)が設けられる。
ここで、各チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成の概要を、図50及び図51を参照しながら説明する。図50は、第8チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成を示す図であり、図51は、第7チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成を示す図である。
なお、図50及び図51に示す例では、8つのLED281(第1LED〜第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、この例では、各チャンネルに対して2つのシーケンサーが設けられる。すなわち、トータル(8チャンネル分)で、16個のシーケンサーが設けられる。そして、各シーケンサーには、第1チャンネルのシーケンサーから順次シーケンサー番号が設定されている。
それゆえ、例えば、第1チャンネルの2つのシーケンサーにはそれぞれシーケンサー番号「0」及び「1」が設定され、第4チャンネルの2つのシーケンサーにはそれぞれシーケンサー番号「6」及び「7」が設定される。また、各チャンネルにおいて、2つのシーケンサーのうち、シーケンサー番号が小さい方のシーケンサーが再生チャンネルで使用するシーケンサーに設定される。すなわち、例えば、第1チャンネルの再生チャンネルでは、シーケンサー番号「0」のシーケンサーが使用され、第1チャンネルにおいて拡張チャンネルが設定されている場合には、シーケンサー番号「1」のシーケンサーが拡張チャンネルに対して使用される。
それゆえ、図50に示す例のように、第8チャンネルにおいて、第1LED〜第5LEDの制御部位を再生チャンネルとして制御し、残りのLED281(第6LED〜第8LED)の制御部位を拡張チャンネルとして制御する場合には、シーケンサー番号「14」のシーケンサー(図中のシーケンサー14:第1の駆動データ制御手段)が再生チャンネルで使用され、シーケンサー番号「15」のシーケンサー(図中のシーケンサー15:第2の駆動データ制御手段)が拡張チャンネルで使用される。また、図51に示す例のように、第7チャンネルにおいて、第1LED〜第7LEDの制御部位を再生チャンネルとして制御し、残りのLED281(第8LED)の制御部位を拡張チャンネルとして制御する場合には、シーケンサー番号「12」のシーケンサー(図中のシーケンサー12)が再生チャンネルで使用され、シーケンサー番号「13」のシーケンサー(図中のシーケンサー13)が拡張チャンネルで使用される。
上述した再生チャンネル及び拡張チャンネルを使用して、2つのLEDアニメーションを同時に実行する場合、2つのシーケンサーが1つのチャンネルに対してデータ更新を行うので、再生チャンネルと拡張チャンネルとの間で重複するLED281が存在すると、該LED281の制御をどちらのシーケンサーで制御するのか判断し難くなる。それゆえ、本実施形態では、再生チャンネルと拡張チャンネルとの間で重複するLED281が発生しないように、制御対象の全てのLED281に対して、再生チャンネル及び拡張チャンネルのどちらの制御部位に属するかを予め定義する。すなわち、再生チャンネルの制御部位と拡張チャンネルの制御部位との間の境界を予め定義する。
なお、再生チャンネルの制御部位と拡張チャンネルの制御部位との間の境界は任意に設定することができる。しかしながら、再生チャンネルの制御部位と拡張チャンネルの制御部位との間の境界は、プログラム初期化時において、LED制御プログラムに登録される。それゆえ、LED制御プログラムの動作中は該境界の位置を変更することはできない。
また、本実施形態のパチンコ遊技機1は、再生チャンネルのみの使用時には、再生チャンネルのクリア機能(再生チャンネルの各ポートに消灯データをセットする機能)を備えるが、再生チャンネル及び拡張チャンネルの両方を使用している場合には、各チャンネルのクリア機能が設けられていない。それゆえ、本実施形態では、再生チャンネル及び拡張チャンネルの両方を使用する場合を考慮して、予め各チャンネルのクリアデータ(消灯データ)を用意し、再生チャンネル及び拡張チャンネルをクリアする際(LEDアニメーション終了時)には、その予め用意されたクリアデータを用いる。
[LEDアニメーションの再生方式の種別]
本実施形態では、ランプリクエスト(LED制御リクエスト)に基づいて、音声・LED制御回路220は、上述のようにして生成されたLEDデータをランプ(LED)群18に出力して、所定のLEDアニメーションを実行する。この際、該所定のLEDアニメーションは、ランプリクエスト入力時に取得されるデータテーブル情報内で指定された再生方式(LEDアニメーションの実行タイミングや再生形態を指定した情報)に従って実行される。ここで、本実施形態で用意されているLEDアニメーションの各種再生方式について説明する。なお、再生方式は、LEDアニメーションの各フレーム(ランプリクエストの受信毎)において、チャンネル毎に指定される。
本実施形態では、次の5種類の名称の再生方式を用意する。
(1)「SHOT」
(2)「SHOT2」
(3)「LOOP」
(4)「NEXT」
(5)「ODONLY」
なお、本実施形態において、「再生方式」の情報には、LED281の点灯態様やLED281の点灯時間などのLED281の点灯/消灯に関わる情報を指定可能な情報であれば、任意の情報を採用することができる。再生方式として、例えば、LED281の再生方式を指定可能なID、数値、記号などを設定し、これらの情報に基づいてLED281の点灯態様の情報を参照する構成にしてもよいし、再生方式に直接、LED281の点灯態様の情報が設定されていてもよい。
「SHOT」は、セットされたLEDアニメーションを1回再生し、その後、最終フレームの点灯状態(LEDアニメーション終了時のLEDの点灯パターン)を維持する再生方式である。「SHOT2」は、セットされたLEDアニメーションを1回再生し、その後、LED281を消灯する再生方式である。
「LOOP」は、LEDアニメーションが最終フレームまで再生されれば、再度、開始フレームに戻ってLEDアニメーションの再生を繰り返す再生方式、すなわち、LEDアニメーションをループ再生する方式である。
「NEXT」(所定の再生方式)は、ランプリクエストが音声・LED制御回路220に入力された時に、他のLEDアニメーションが再生中であれば、ランプリクエストにより指定されたLEDアニメーションを、再生中のLEDアニメーションの終了後に続いて再生する方式である。なお、ランプリクエスト入力時に得られる再生方式の情報に「NEXT」指定が含まれていても、ランプリクエスト入力時に再生中のLEDアニメーションがなければ、「NEXT」指定されたLEDアニメーションを即時再生する。また、「NEXT」指定のランプリクエスト入力時に再生中であるLEDアニメーションが「LOOP」再生方式のLEDアニメーションである場合には、ループ再生中であるLEDアニメーションの最終フレーム再生後に続いて、「NEXT」指定のLEDアニメーションの再生を行う。
「ODONLY」(特定の再生方式)は、ポートにセットするLEDデータ(第2の駆動データ)がある場合にのみ、該ポートからLEDデータが出力される再生方式である。ただし、「ODONLY」指定されたチャンネルにおいて、ポートにセットするLEDデータが消灯データ(第1の駆動データ)である場合(例えば、隣り合う赤色LED、青色LED及び緑色LEDに出力するLEDデータが全て0である場合)には、「LEDデータ無し」の状態であるとし、該ポートには、LEDデータ(消灯データ)がセットされない。
なお、ランプリクエストが音声・LED制御回路220に入力された時に取得されるデータテーブル情報内で指定される再生方式のパターンは、次の12種類である。
(1)「SHOT」
(2)「SHOT2」
(3)「LOOP」
(4)「SHOT|NEXT」
(5)「SHOT2|NEXT」
(6)「LOOP|NEXT」
(7)「SHOT|ODONLY」
(8)「SHOT2|ODONLY」
(9)「LOOP|ODONLY」
(10)「SHOT|NEXT|ODONLY」
(11)「SHOT2|NEXT|ODONLY」
(12)「LOOP|NEXT|ODONLY」
上述のように、本実施形態では、LEDアニメーションの再生方式として、「SHOT」、「SHOT2」及び「LOOP」のいずれかが必ず指定され、「NEXT」及び/又は「ODONLY」は、必要(演出内容)に応じて「SHOT」、「SHOT2」及び「LOOP」のいずれかに付随して指定される。なお、上述した各種再生方式に基づくLEDアニメーションの再生動作例は、後で図面を参照しながら具体的に説明する。
[再生方式に基づくLEDアニメーションの切り替え再生]
本実施形態では、LEDアニメーションの実行期間が、ホスト制御回路210のランプリクエストの出力処理のFPS周期(例えば、約16.7msec、約33.3msec等)より長い場合もある。この場合には、LEDアニメーションの再生途中に、次のランプリクエストが音声・LED制御回路220に入力されることもある。
このような場合には、音声・LED制御回路220は、新たに入力されたランプリクエストに基づいて取得される再生方式に従ってLEDアニメーションの切り替え再生を行う。例えば、次のランプリクエストに基づいて取得される再生方式に「NEXT」が指定されていなければ、再生中のLEDアニメーションのデータを破棄し、新たに入力されたランプリクエストに基づいて作成されたLEDアニメーションの再生を即時開始する。
ここで、図52に、LEDアニメーションの切り替え再生パターンの各種例を示す。なお、図52は、第1ランプリクエストに基づいて作成されたLEDアニメーションの再生中に、同一チャンネルに対して、第2ランプリクエスト、又は、第2ランプリクエスト及び第3ランプリクエストが音声・LED制御回路220に入力された場合における、LEDアニメーションの切り替え再生パターンの一例をまとめた表である。
以下、図53〜図57を参照しながら、図52中の一部のLEDアニメーションの切り替え再生パターンについて説明する。
図53は、図52中の切り替え再生パターン2に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン2は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「LOOP」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン2では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「LOOP」のみが指定されていると、図53に示すように、第2ランプリクエスト入力時に、再生中の第1ランプリクエストに基づくLEDアニメーションのデータが破棄され(再生中のLEDアニメーションを終了し)、第2ランプリクエストに基づく再生方式「LOOP」のLEDアニメーションの再生が即時開始される。
図54は、図52中の切り替え再生パターン4に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン4は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「SHOT|NEXT」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン4では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「SHOT|NEXT」が指定されていると、図54に示すように、再生中の第1ランプリクエストに基づくLEDアニメーションの再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。
図55は、図52中の切り替え再生パターン6に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン6は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエスト及び第3ランプリクエストがこの順で音声・LED制御回路220に入力され、各ランプリクエストにおいて再生方式に「SHOT|NEXT」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン6では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの再生中に、第2ランプリクエスト及び第3ランプリクエストがこの順で音声・LED制御回路220に入力される。そして、各ランプリクエストにおいて再生方式の情報として「SHOT|NEXT」が指定されていると、図55に示すように、再生中の第1ランプリクエストに基づくLEDアニメーションの再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始され、第2ランプリクエストに基づくLEDアニメーションの再生終了後に第3ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。
この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。また、第3ランプリクエストに基づくLEDアニメーションの再生動作は、第3ランプリクエスト入力時から第2ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。
図56は、図52中の切り替え再生パターン7に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン7は、第1ランプリクエストに基づいて作成された再生方式「LOOP」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「SHOT|NEXT」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン7では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「LOOP」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの所定回数目(図56に示す例では2回目)のループ再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「SHOT|NEXT」が指定されていると、図56に示すように、第1ランプリクエストに基づくLEDアニメーションの所定回数目のループ再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの所定回数目のループ再生終了時までの期間、待機状態になる。
なお、本実施形態では、例えば、図55や図56などで示したように、「NEXT」指定となるランプリクエストが続けて音声・LED制御回路220に入力された場合には、LEDアニメーションの連続再生が行われる。しかしながら、本実施形態では、1回の連続再生で再生されるLEDアニメーションの最大個数は8個とする。そして、8個目のLEDアニメーション再生中にランプリクエストが音声・LED制御回路220に入力され、その際に得られる再生方式が「NEXT」指定を含むものである場合には、該ランプリクエストに基づいて作成されたLEDアニメーションのデータは破棄される。この再生動作の時間軸上の切り替え再生フローを、図57に示す。
また、時間軸上のフロー図を示さないが、図52中の切り替え再生パターン11の切り替え再生態様について、簡単に説明する。切り替え再生パターン11は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエスト及び第3ランプリクエストがこの順で音声・LED制御回路220に入力され、第2ランプリクエスト入力時に得られる再生方式の情報が「LOOP|NEXT」であり、且つ、第3ランプリクエスト入力時に得られる再生方式の情報が「SHOT」である場合のパターンである。この切り替え再生パターン11では、最遅のリクエストである第3ランプリクエストの再生方式に「NEXT」が指定されていないので、第3ランプリクエスト入力時に、再生中の第1ランプリクエストに基づくLEDアニメーションのデータ、及び、第2ランプリクエストに基づいて生成されたLEDアニメーションのデータが破棄され、第3ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が即時開始される。
[ODONLY指定時の再生例]
次に、再生方式に「ODONLY」指定がある場合のLEDアニメーションの点灯動作(LEDデータの合成動作)について説明する。
ここでは、後述の図58及び図59に示すように、矩形状に配列された複数のLED281によりLEDアニメーションを実行する例を説明する。また、LEDアニメーション作成時に用いる再生チャンネルには、第1チャンネルの再生チャンネル(以下、第1再生チャンネルという)及び第2チャンネルの再生チャンネル(以下、第2再生チャンネルという)を用いる。そして、第1再生チャンネルの制御部位は全てのLED281とし、第2再生チャンネルの制御部位は、左辺部及び右辺部(サイド)に配列された複数(後述の図58及び図59に示す例では、8個)のLED281とする。
まず、各再生チャンネルに「ODONLY」が指定されていない場合のLEDアニメーションの再生態様の一例を、図58A及び図58Bを参照しながら説明する。なお、図58Aは、ランプリクエストが音声・LED制御回路220に入力されたときに取得されるデータテーブル情報に含まれる各再生チャンネルの再生仕様の情報をまとめたテーブルである。また、図58Bは、図58Aのテーブルに規定されている各再生チャンネルの再生仕様の情報に基づいてLEDアニメーションを生成する際の様子を示す図である。
なお、この例では、第1再生チャンネル(1ch)の制御部位(全体)において全LED281を赤色点灯させる点灯パターン(ptnA)と、第2再生チャンネル(2ch)の制御部位(サイド)において12msec周期で青色点灯するLED281を制御部位内で順次移動させる点灯パターン(ptnB)とを合成して、LEDアニメーションを作成する例を説明する。
各再生チャンネルに「ODONLY」が指定されていない場合には、第2再生チャンネルが第1再生チャンネルより実行優先順位が高いので、第2再生チャンネルの制御部位内のLEDデータが、第1再生チャンネルの制御部位内の対応するLED281のLEDデータ上に上書きされる。それゆえ、各再生チャンネルに「ODONLY」が指定されていない場合には、図58Bに示すように、合成後のLEDアニメーションでは、サイドのLED点灯パターンが第2再生チャンネルの点灯パターン(ptnB)と同じになる。
次に、第2再生チャンネルに「ODONLY」が指定されている場合のLEDアニメーションの再生態様の一例を、図59A及び図59Bを参照しながら説明する。なお、図59Aは、ランプリクエストが音声・LED制御回路220に入力されたときに取得されるデータテーブル情報に含まれる各再生チャンネルの再生仕様の情報をまとめたテーブルである。また、図59Bは、図59A中の各再生チャンネルの再生仕様の情報に基づいてLEDアニメーションを生成する際の様子を示す図である。
この場合には、第2再生チャンネルが第1再生チャンネルより実行優先順位が高いので、第2再生チャンネルの制御部位内のLEDデータが、第1再生チャンネルの制御部位内の対応するLED281のLEDデータ上に上書きされる。しかしながら、この際、第2再生チャンネルには再生方式に「ODONLY」が指定されているので、消灯データ以外の出力データ(LEDデータ)があるポートにおいてのみLEDデータが上書きされ、出力データが無いポート(消灯データがセットされているポート)では、LEDデータは上書きされず、第1再生チャンネルのLEDデータが維持される。それゆえ、第2再生チャンネルに「ODONLY」が指定されている場合には、図59Bに示すように、合成後のLEDアニメーションでは、サイドに配置された複数のLED281のうち、青色点灯のLEDデータがセットされているLED281のみが青色点灯し、その他のLED281は赤色点灯となる。
[データテーブル情報]
上述のように、本実施形態では、音声・LED制御回路220において、ランプリクエスト(LED制御リクエスト)に基づいてLEDアニメーションを生成して再生する場合、各LED281に出力するLEDデータだけでなく、各チャンネルの制御部位や再生方式などの各種情報も必要になる。これらの情報をまとめたものが、データテーブル情報であり、このデータテーブル情報は、LEDデータと同様に、CGROM206に格納される。
データテーブル情報は、ランプリクエストが音声・LED制御回路220に入力された際に、該ランプリクエストで指定されるLEDアニメーションのID(LEDアニメーションパターン)に基づいて、各種LEDデータとともに取得される。そして、取得されたデータテーブル情報及び各種LEDデータは、データテーブル情報で指定された再生チャンネルの登録バッファに格納される。
ここで、データテーブル情報に含まれる各種情報の内容について説明する。本実施形態では、データテーブル情報には、主に、次の6つの情報が登録される。
(1)再生方式
(2)再生チャンネル
(3)拡張チャンネル
(4)消灯データ識別
(5)制御部位
(6)LEDデータ名
再生方式の情報(再生方式情報)としては、上述した12種類の再生方式の種別が登録される。再生チャンネルの情報としては、使用する再生チャンネルの種別(チャンネル番号)が登録される。
拡張チャンネルの情報としては、拡張チャンネルの使用の有無が登録される。例えば、拡張チャンネルを使用しない場合には「0」が登録され、使用する場合には「1」が登録される。なお、拡張チャンネルの情報として「1」が登録された場合には、指定された再生チャンネルが含まれるチャンネルの拡張チャンネルが使用される。
消灯データ識別の情報としては、拡張チャンネルを使用する場合に予め用意する消灯データをどのチャンネルに登録するかを識別するための情報が登録される。なお、拡張チャンネルを使用しない場合には、この消灯データ識別の情報は登録されない。
制御部位の情報(出力先情報)としては、再生チャンネルの制御部位で使用するSPIチャンネル(物理系統)の情報(通信経路の情報)、及び、再生チャンネルで制御するポート情報(発光手段の指定情報)が登録される。ポート情報には、ポートに対して予め設定されたポート番号及びポートに接続されるLED281の種別の情報が含まれる。なお、LED281の種別の情報としては、例えば、赤色成分用のスタティックLED、緑色成分用のスタティックLED、青色成分用のスタティックLED、単色発光用LED等を識別するための情報が登録される。
また、拡張チャンネルを使用する場合には、制御部位の情報として、指定されたチャンネルにおいて、再生チャンネルの制御部位と拡張チャンネルの制御部位との境界を規定する情報等も登録される。なお、制御部位の情報は、データテーブル情報でなく、LEDデータやランプリクエストに含まれていてもよい。また、LEDデータ名の情報は、デバッグ処理でLEDアニメーションの再生履歴等を表示する際に使用されるデータ名である。
[本実施形態のランプ(LED)制御手法により得られる各種効果]
ここで、上述した本実施形態のパチンコ遊技機1において実行されるランプ(LED)制御手法により得られる各種効果をまとめて説明する。
本実施形態のランプ(LED)制御手法では、上述のように、ランプリクエストが音声・LED制御回路220に入力される度(LEDアニメーションのフレーム毎)に、LEDアニメーションの再生方式が指定される。そして、その指定された再生方式に従ってLEDアニメーションの再生が実行される。この場合、例えば、LEDアニメーションのフレーム毎にLED281に対して出力されるLEDデータ(出力データ)の出力回数(再使用回数)を設定するとともに、LEDデータを出力(セット)するタイミング(先に記憶されているLEDデータを破棄し、新しいLEDデータをセットする、又は、先に記憶されているLEDデータが出力された後に、新しいLEDデータをセットする)を決定することができる。この場合、次のような効果が得られる。
例えば、ホスト制御回路210又は音声・LED制御回路220が直接LED281に対してLEDデータを指定して制御する場合には、各LEDデータの出力回数と、LEDデータを出力(セット)するタイミングとを予め決定しておく必要がある。また、複数のLEDデータの出力制御を行う場合には、各LEDデータで同一のLED281が制御されているか否かなどの複雑な出力制御形態を全て予め設定しておく必要がある。それゆえ、この場合には、パチンコ遊技機1の開発期間が延びるといった問題だけでなく、演出のバリエーションを増やすことが困難になるという問題も発生する。
しかしながら、本実施形態では、ホスト制御回路210から入力されるランプリクエストに基づいて、音声・LED制御回路220が、LEDデータ(LEDアニメーション)の再生方式を指定し、該再生方式に基づいてフレーム単位でLEDデータの出力制御を行う。この際、本実施形態では、再生方式に「SHOT」や「LOOP」などを指定することにより、LEDデータの出力回数を容易に制御できるとともに、再生方式に「NEXT」指定を行うか否かにより、LEDデータを出力(セット)するタイミングも容易に制御することができる。それゆえ、本実施形態では、ホスト制御回路210及び音声・LED制御回路220によるLED出力制御の管理を容易に行うことができるとともに、LED(ランプ)点灯による演出パターンの種類を増加させ、該増加させた演出パターンを円滑に制御し、演出効果(遊技の興趣)を高めることができる。
また、本実施形態では、上述のように、LED281毎(ポート毎)に再生チャンネルが複数設けられ、再生チャンネル毎にLEDデータの実行優先順位が予め設定される。さらに、再生中のLEDデータに対する上述したLEDデータの上書き、追加等の判定は、指定された再生方式に従って再生チャンネル毎に個別に行われる。
それゆえ、本実施形態では、例えば、複数の再生チャンネルを実行するような状況下であっても、各再生チャンネルの登録バッファへのLEDデータの記憶制御を容易にすることができる。その結果、複数の再生チャンネルを使用して、LED281による演出パターンの組み合わせ処理を実行することが可能になるので、より複雑なLEDアニメーションの演出パターンを生成することができ、演出効果をより一層高めることができる。
また、本実施形態では、待機中(再生中)の再生チャンネルに対して複数のランプリクエストが発生しても、再生方式に基づいてデータの切り替え再生制御が行われるので、単純なデータの蓄積を行うような遊技機に比べて、より複雑な演出を実行することができる。それゆえ、本実施形態では、演出効果をより一層高めることが可能となる。
また、本実施形態のランプ(LED)制御手法では、上述のように、各チャンネルにおいて、再生チャンネル及び拡張チャンネルを設けることができ、その際、再生チェンネルの制御部位の範囲と、拡張チャンネルの制御部位の範囲とが互いに重ならないようにチャンネルを分割して、再生チャンネル及び拡張チャンネルが設定される。そして、拡張チャンネルの動作を制御するシーケンサーは、再生チャンネルの動作を制御するシーケンサーとは別個に設けられる。
このような構成を設けることにより、本実施形態では、1つのチャンネルにおいて、2チャンネル分のLEDアニメーションを同時に再生することができ、且つ、各LEDアニメーションを独立して制御することができる。それゆえ、本実施形態において、拡張チャンネルを使用したときには、再生チャンネルのみでLEDアニメーションを再生する場合に比べて、より多くのLED281を用いて、より複雑なLEDアニメーション(ランプ点灯パターン)の再生が可能なり、遊技に対する遊技者の興趣を高めることができる。
さらに、本実施形態のランプ(LED)制御手法では、上述のように、複数のLED281(演出装置)を1つのLEDドライバ280で制御することができる。また、各LEDドライバ280は、音声・LED制御回路220から送信されるLEDデータを自身で受信可能であるか否かを、自身のデバイスアドレス選択端子(DA0〜DA5)に設定されたデバイスアドレスに基づいて判別することができる。それゆえ、本実施形態では、音声・LED制御回路220は、各LEDドライバ280にSPIバスを介してデータを送信するだけの処理を行えばよいので、音声・LED制御回路220と各LEDドライバ280との間で処理を分散させることができ、音声・LED制御回路220の処理負荷を軽減することができる。
また、本実施形態では、各LEDドライバ280は、データテーブル情報に含まれる制御部位の情報に基づいて、演出に関わる信号(輝度値)を送信するLED281を特定するとともに、該LED281に送信する信号の内容も特定することもできる。この場合、音声・LED制御回路220及び各LEDドライバ280間のデータ通信における音声・LED制御回路220の処理は、データの送信処理のみとなり、データの送信速度を高速化することができる。その結果、音声・LED制御回路220及び各LEDドライバ280間におけるデータの送信速度が早くなると、LEDドライバ280の立ち上がりも早くなるので、演出制御処理の高速化を図ることができる。
さらに、本実施形態では、上述のように、各LEDドライバ280は、シリアル・データ受信時に、「1」を16回以上連続して受信検知した後(スリープモードの状態から立ち上がった後)、「0」を受信検知することによりデバイスアドレスの待ち受け状態となる。それゆえ、各LEDドライバ280は、LED281を制御するタイミング以外のタイミングにおいて、誤ってデバイスアドレスを受信しても演出制御を実行しないようにすることができ、より正確にLED281を制御することができる。
<役物制御手法の概要>
次に、図60を参照しながら、パチンコ遊技機1に設けられた役物20の駆動制御手法の概要を説明する。なお、図60は、役物20の駆動時のデータフロー図である。
本実施形態では、ホスト制御回路210内において、役物リクエストが生成(取得)されると、ホスト制御回路210は、図60に示すように、役物20を駆動するためのモータ272(ステッピングモータ)の励磁データをI2Cコントローラ261を介してモータコントローラ270内のモータドライバ271(駆動制御手段)に送信する。そして、モータドライバ271は、受信した励磁データを、接続されているモータ272(駆動手段)に出力する。これにより、役物20による演出動作が開始される。なお、役物20が複数のモータ272により駆動される場合や、役物20が複数ある場合には、各モータ272に対応するモータドライバ271が設けられる。
また、ホスト制御回路210及びモータコントローラ270(モータドライバ271)間は、I2Cバスで接続されているので、両者間ではI2C方式で信号(励磁データ)の送受信が行われる。
ここで、図61を参照しながら、ホスト制御回路210及びモータドライバ271間の接続構成をより詳細に説明する。図61は、ホスト制御回路210及びモータドライバ271間の接続構成図であり、図61には、複数のモータドライバ271が設けられている例を示す。すなわち、図61には、複数のモータ272により役物20が駆動制御される場合、又は、複数の役物20が駆動制御される場合の接続構成例を示す。
ホスト制御回路210及び複数のモータドライバ271間は、上述のように、I2Cバスにより接続されているので、シリアル・クロック(SCL)の信号配線と、シリアル・データ(SDA)の信号配線とが別配線で設けられる。そして、ホスト制御回路210(マスタ)のシリアル・クロック信号の出力端子(SCL)は、各モータドライバ271(スレーブ)のシリアル・クロック信号の入力端子(SCL)に接続され、ホスト制御回路210のシリアル・データの入出力端子(SDA)は、各モータドライバ271のシリアル・データの入出力端子(SDA)に接続される。すなわち、本実施形態では、複数のモータドライバ271(スレーブ)がホスト制御回路210(マスタ)に対して並列接続される。
本実施形態では、ホスト制御回路210及び各モータドライバ271間において、シリアル・クロック信号の通信形態は、ホスト制御回路210から各モータドライバ271に一方的に送信する一方向通信となる。一方、シリアル・データの通信形態は、ホスト制御回路210及び各モータドライバ271間において互いにシリアル・データを入出力し合うことが可能な双方向通信となる。
各モータドライバ271(スレーブ)は、ホスト制御回路210(マスタ)から入力される、シリアル・クロック信号に基づいて、シリアル・データの入出力制御を行う。また、各モータドライバ271(スレーブ)には固有のアドレスが割り当てられており、ホスト制御回路210(マスタ)は、シリアル・データの送信先のモータドライバ271のアドレスを指定してシリアル・データを送信する。
<主制御回路の動作説明>
次に、図62〜図71を参照して、主制御回路70のメインCPU71により実行される各種処理の内容について説明する。
[主制御メイン処理]
まず、図62を参照して、メインCPU71の制御による主制御メイン処理について説明する。なお、図62は、本実施形態における主制御メイン処理の手順を示すフローチャートである。
パチンコ遊技機1に電源が投入されると、最初に、メインCPU71は、初期設定処理を行う(S1)。この処理では、メインCPU71は、例えば、メインRAM73へのアクセス許可、バックアップ復帰、作業領域の初期化等の処理を行う。次いで、メインCPU71は、初期値乱数の更新処理を行う(S2)。この処理では、メインCPU71は、初期乱数カウンタ値を更新する。
次いで、メインCPU71は、特別図柄制御処理を行う(S3)。この処理では、メインCPU71は、特別図柄ゲームの進行、特別図柄表示装置61に表示される特別図柄(第1特別図柄及び第2特別図柄)に関する所定の制御処理を行う。なお、特別図柄制御処理の詳細については、後述の図63を参照しながら後で説明する。
次いで、メインCPU71は、普通図柄制御処理を行う(S4)。この処理では、メインCPU71は、普通図柄ゲームの進行、及び、普通図柄表示装置62に表示される普通図柄に関する所定の制御処理を行う。なお、普通図柄制御処理の詳細については、後述の図67を参照しながら後で説明する。
次いで、メインCPU71は、図柄表示装置の制御処理を行う(S5)。この処理では、メインCPU71は、特別図柄制御処理(S3)及び普通図柄制御処理(S4)の実行結果に基づいて、特別図柄(第1特別図柄及び第2特別図柄)、並びに、普通図柄の可変表示の表示制御を行う。
次いで、メインCPU71は、遊技情報データ生成処理を行う(S6)。この処理では、メインCPU71は、払出・発射制御回路123、副制御回路200、遊技店のホールコンピュータ等に送信する遊技情報データを生成し、該遊技情報データをメインRAM73に格納する。
次いで、メインCPU71は、記憶・遊技状態データ生成処理を行う(S7)。この処理では、メインCPU71は、確変フラグの値及び時短フラグの値に基づいて、副制御回路200に送信する記憶・遊技状態データを生成し、該記憶・遊技状態データをメインRAM73に格納する。
そして、S7の処理後、メインCPU71は、処理をS2の処理に戻し、上述したS2以降の処理を繰り返す。
[特別図柄制御処理]
次に、図63を参照して、主制御メイン処理(図62参照)中のS3で行う特別図柄制御処理について説明する。図63は、本実施形態における特別図柄制御処理の手順を示すフローチャートである。なお、図63に示す各処理ステップの符号に並記した括弧書きの数値(「00」〜「08」)は制御状態フラグの値を示し、この制御状態フラグは、メインRAM73内の所定の記憶領域に格納される。メインCPU71は、制御状態フラグの数値に対応する各処理ステップを実行することにより、特別図柄ゲームを進行させる。
まず、メインCPU71は、制御状態フラグをロードする(S11)。この処理では、メインCPU71は、メインRAM73に記憶された制御状態フラグの値を読み出す。
メインCPU71は、S11でロードされた制御状態フラグの値に基づいて、後述のS12〜S20の各種処理を実行するか否かを判定する。この制御状態フラグは、特別図柄ゲームの遊技の状態を示すものであり、S12〜S20のいずれかの処理を実行可能にするものである。
また、メインCPU71は、S12〜S20の各処理に対して設定された待ち時間などに応じて決定される所定のタイミングで、各ステップの処理を実行する。なお、この所定のタイミングに至る前の期間では、各ステップの処理を実行せずに、他のサブルーチン処理を実行する。また、所定の周期で後述のシステムタイマ割込処理(後述の図69参照)も実行される。
そして、S11の処理が終了すると、メインCPU71は、特別図柄記憶チェック処理を行う(S12)。
この処理では、メインCPU71は、制御状態フラグが特別図柄記憶チェック処理を示す値(「00」)である場合に、特別図柄の可変表示の保留個数をチェックし、保留個数が「0」でない場合(保留球がある場合)には、当り判定、特別図柄の決定、特別図柄の変動パターンの決定等の処理を行う。また、メインCPU71は、この処理において、制御状態フラグに、後述の特別図柄変動時間管理処理(S13)を示す値(「01」)にセットし、今回の処理で決定された変動パターンに対応する特別図柄の変動時間を待ち時間タイマにセットする。すなわち、この処理により、S12の処理で決定された変動パターンに対応する特別図柄の変動時間が経過した後、後述の特別図柄変動時間管理処理が実行されるように設定される。
一方、保留個数が「0」である場合(保留球がない場合)には、メインCPU71は、デモ画面を表示するためのデモ表示処理を行う。なお、特別図柄記憶チェック処理の詳細については、後述の図64を参照しながら後で説明する。
次いで、メインCPU71は、特別図柄変動時間管理処理を行う(S13)。この処理では、メインCPU71は、制御状態フラグが特別図柄変動時間管理処理を示す値(「01」)であり、特別図柄の変動時間が経過した場合に、制御状態フラグに、後述の特別図柄表示時間管理処理(S14)を示す値(「02」)をセットし、確定後待ち時間を待ち時間タイマにセットする。すなわち、この処理により、S13の処理でセットされた確定後待ち時間が経過した後、後述の特別図柄表示時間管理処理が実行されるように設定される。
次いで、メインCPU71は、特別図柄表示時間管理処理を行う(S14)。この処理では、メインCPU71は、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であり、S13の処理でセットされた確定後待ち時間が経過した場合に、当り判定の結果が「大当り」又は「小当り」であるか否かを判断する。そして、当り判定の結果が「大当り」又は「小当り」である場合、メインCPU71は、制御状態フラグに、後述の大当り開始インターバル管理処理(S15)を示す値(「03」)をセットし、大当り開始インターバルに対応する時間を待ち時間タイマにセットする。すなわち、この処理により、S14の処理でセットされた大当り開始インターバルに対応する時間が経過した後、後述の大当り開始インターバル管理処理が実行されるように設定される。
一方、当り判定の結果が「大当り」又は「小当り」でない場合、メインCPU71は、制御状態フラグに、後述の特別図柄ゲーム終了処理(S20)を示す値(「08」)をセットする。すなわち、この場合には、後述の特別図柄ゲーム終了処理が実行されるように設定される。なお、特別図柄表示時間管理処理の詳細については、後述の図65を参照しながら後で説明する。
次いで、メインCPU71は、S14において当り判定の結果が「大当り」又は「小当り」であると判定された場合、大当り開始インターバル管理処理を行う(S15)。この処理では、メインCPU71は、制御状態フラグが大当り開始インターバル管理処理を示す値(「03」)であり、S14の処理でセットされた大当り開始インターバルに対応する時間が経過した場合に、第1大入賞口53又は第2大入賞口54を開放させるため、メインROM72から読み出されたデータに基づいて、メインRAM73に位置付けられた変数を更新する。
また、この処理では、メインCPU71は、制御状態フラグに、後述の大入賞口開放中処理(S16)を示す値(「04)」をセットするとともに、大入賞口の開放上限時間(例えば30sec)を大入賞口開放時間タイマにセットする。すなわち、この処理により、後述の大入賞口開放中処理が実行されるように設定される。
次いで、メインCPU71は、大入賞口開放中処理を行う(S16)。この処理では、まず、メインCPU71は、制御状態フラグが大入賞口開放中処理を示す値(「04」)である場合に、大入賞口入賞カウンタが所定数以上であるという条件、及び、開放上限時間を経過した(大入賞口開放時間タイマが「0」である)という条件の一方が満たされた(所定の閉鎖条件が成立した)か否かを判断する。
S16において、一方の条件が満たされた場合には、メインCPU71は、所定の大入賞口(第1大入賞口又は第2大入賞口)を閉鎖させるため、メインRAM73に位置付けられた変数を更新する。そして、メインCPU71は、制御状態フラグに、後述の大入賞口内残留球監視処理(S17)を示す値(「05」)をセットするとともに、大入賞口内残留球監視時間を待ち時間タイマにセットする。すなわち、この処理により、S17でセットされた大入賞口内残留球監視時間が経過した後、後述の大入賞口内残留球監視処理が実行されるように設定される。
また、メインCPU71は、S16において、大入賞口開放中処理の終了直前に、副制御回路200にラウンド間表示コマンドを送信する。
次いで、メインCPU71は、大入賞口内残留球監視処理を行う(S17)。この処理では、メインCPU71は、制御状態フラグが大入賞口内残留球監視処理を示す値(「05」)であり、大入賞口内残留球監視時間が経過した場合に、大入賞口開放回数カウンタの値が大入賞口開放回数の最大値以上である(最終ラウンドである)という条件が満たされたか否かを判断する。
S17において、メインCPU71が上記条件を満たさないと判別した場合には、メインCPU71は、大入賞口再開放待ち時間管理処理を示す値(「06」)を制御状態フラグにセットする。また、メインCPU71は、ラウンド間インターバルに対応する時間を待ち時間タイマにセットする。すなわち、この処理により、ラウンド間インターバルに対応する時間が経過した後、後述の大入賞口再開放前待ち時間管理処理が実行されるように設定される。
一方、S17において、メインCPU71が上記条件を満たしたと判別した場合には、メインCPU71は、大当り終了インターバル処理を示す値(「07」)を制御状態フラグにセットし、大当り終了インターバルに対応する時間(大当り終了インターバル時間)を待ち時間タイマにセットする。すなわち、この処理により、S17でセットされた大当り終了インターバルに対応する時間が経過した後、後述の大当り終了インターバル処理が実行されるように設定される。
次いで、S17において、メインCPU71が、大入賞口開放回数カウンタの値が大入賞口開放回数の最大値以上ではないと判別した場合、メインCPU71は大入賞口再開放前待ち時間管理処理を行う(S18)。この処理では、メインCPU71は、制御状態フラグが大入賞口再開放前待ち時間管理処理を示す値(「06」)であり、ラウンド間インターバルに対応する時間が経過した場合に、大入賞口開放回数カウンタの値を「1」増加するように記憶更新する。また、メインCPU71は、大入賞口開放中処理を示す値(「04」)を制御状態フラグにセットする。そして、メインCPU71は、開放上限時間(例えば30sec)を大入賞口開放時間タイマにセットする。すなわち、この処理により、S18の処理後に上述した大入賞口開放中処理(S16)が再度実行されるように設定される。
さらに、メインCPU71は、S18において、大入賞口再開放前待ち時間管理処理の終了直前に、副制御回路200に大入賞口開放中表示コマンドを送信する。
また、S17において、メインCPU71が、大入賞口開放回数カウンタの値が大入賞口開放回数の最大値以上であると判別した場合に、大当り終了インターバル処理を行う(S19)。この処理では、メインCPU71は、制御状態フラグが大当り終了インターバル処理を示す値(「07」)であり、大当り終了インターバルに対応する時間が経過した場合に、特別図柄ゲーム終了処理を示す値(「08」)を制御状態フラグにセットする。すなわち、この処理により、S19の処理後に後述の特別図柄ゲーム終了処理が実行されるように設定される。なお、大当り終了インターバル処理の詳細については、後述の図66を参照しながら後で説明する。
そして、メインCPU71は、大当り図柄が確変図柄である場合には、遊技状態を確変遊技状態に移行させる制御を行い、大当り図柄が非確変図柄である場合には、遊技状態を通常遊技状態に移行させる制御を行う。なお、大当り図柄が「小当り」に対応する図柄である場合には、メインCPU71は、「小当り」遊技終了後の遊技状態が、「小当り」が当選した時に制御されていた遊技状態よりも有利な遊技状態に移行しないように制御する。
次いで、メインCPU71は、大当り遊技状態或いは小当り遊技状態が終了した場合、又は、「ハズレ」に当選した場合には、特別図柄ゲーム終了処理を行う(S20)。
この処理では、メインCPU71は、制御状態フラグが特別図柄ゲーム終了処理を示す値(「08」)である場合に、保留個数を示すデータ(始動記憶情報)を「1」減少するように記憶更新する。また、メインCPU71は、次回の特別図柄の変動表示を行うために、特別図柄記憶領域の更新を行う。さらに、メインCPU71は、特別図柄記憶チェック処理を示す値(「00」)を制御状態フラグにセットする。すなわち、この処理により、S20の処理後、上述した特別図柄記憶チェック処理(S12)が実行されるように設定される。
そして、S20の処理後、メインCPU71は、特別図柄制御処理を終了し、処理を主制御メイン処理(図62参照)のS4に移す。
上述したように、本実施形態のパチンコ遊技機1では、制御状態フラグに各種値を順次セットすることにより、特別図柄ゲームを進行させる。具体的には、遊技状態が大当り遊技状態及び小当り遊技状態のいずれでもなく且つ当り判定の結果が「ハズレ」である場合には、メインCPU71は、制御状態フラグを「00」、「01」、「02」、「08」の順にセットする。これにより、メインCPU71は、上述した特別図柄記憶チェック処理(S12)、特別図柄変動時間管理処理(S13)、特別図柄表示時間管理処理(S14)及び特別図柄ゲーム終了処理(S20)をこの順で所定のタイミングで実行する。
また、メインCPU71は、遊技状態が大当り遊技状態及び小当り遊技状態のいずれでもなく且つ当り判定の結果が「大当り」又は「小当り」である場合には、制御状態フラグを「00」、「01」、「02」、「03」の順でセットする。これにより、メインCPU71は、上述した特別図柄記憶チェック処理(S12)、特別図柄変動時間管理処理(S13)、特別図柄表示時間管理処理(S14)及び大当り開始インターバル管理処理(S15)をこの順で所定のタイミングで実行し、大当り遊技状態又は小当り遊技状態への移行制御を実行する。
さらに、メインCPU71は、大当り遊技状態又は小当り遊技状態への移行制御が実行された場合には、制御状態フラグを「04」、「05」、「06」の順でセットする。これにより、メインCPU71は、上述した大入賞口開放中処理(S16)、大入賞口内残留球監視処理(S17)及び大入賞口再開放前待ち時間管理処理(S18)をこの順で所定のタイミングで実行し、大当り遊技又は小当り遊技を実行する。
なお、大当り遊技中に、大当り遊技状態の終了条件が成立した場合には、メインCPU71は、制御状態フラグを「04」、「05」、「07」、「08」の順でセットする。これにより、メインCPU71は、上述した大入賞口開放中処理(S16)、大入賞口内残留球監視処理(S17)、大当り終了インターバル処理(S19)及び特別図柄ゲーム終了処理(S20)をこの順で所定のタイミングで実行し、大当り遊技状態を終了する。
上述したように、特別図柄制御処理では、ステータスに応じて処理フローを分岐させている。また、図62に示す主制御メイン処理中のS4の普通図柄制御処理(後述の図67参照)もまた、後述するように、特別図柄制御処理と同様に、ステータスに応じて処理フローを分岐させる。
本実施形態の処理プログラムは、ステータスに応じて処理を分岐させて行う場合にコール命令で、小モジュールから親モジュールへの純粋な戻り処理が可能となるように、プログラミングされている。その結果、上記処理を実行するためにジャンプテーブルを配置する場合と比較して、本実施形態では、プログラムの容量を削減することができる。
[特別図柄記憶チェック処理]
次に、図64を参照して、特別図柄制御処理(図63参照)中のS12で行う特別図柄記憶チェック処理について説明する。なお、図64は、本実施形態における特別図柄記憶チェック処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグをロードする(S31)。この処理では、メインCPU71は、メインRAM73に記憶された制御状態フラグの値を読み出す。
次いで、メインCPU71は、制御状態フラグが特別図柄記憶チェック処理を示す値(「00」)であるか否かを判別する(S32)。S32において、メインCPU71が、制御状態フラグが「00」でないと判別した場合(S32がNO判定の場合)、メインCPU71は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
一方、S32において、メインCPU71が、制御状態フラグが「00」であると判別した場合(S32がYES判定の場合)、メインCPU71は、第2始動口入賞(第2特別図柄の可変表示)の保留個数(第2始動記憶数)が「0」であるか否かを判別する(S33)。
S33において、メインCPU71が、第2始動口入賞の保留個数が「0」でないと判別した場合(S33がNO判定の場合)、メインCPU71は、第2始動口入賞の保留個数に対応する第2始動記憶数の値を「1」減算する(S34)。
本実施形態では、メインCPU71は、メインRAM73に設けられた第2特別図柄始動記憶領域(0)〜第2特別図柄始動記憶領域(4)にデータが記憶されているか否かを判別して、変動中又は保留中の第2特別図柄の可変表示に対応する特別図柄ゲームの始動記憶があるか否かを判別する。第2特別図柄始動記憶領域(0)には、変動中の第2特別図柄の可変表示に対応する特別図柄ゲームのデータ(情報)が始動記憶として記憶される。そして、第2特別図柄始動記憶領域(1)〜第2特別図柄始動記憶領域(4)には、保留されている4回分の第2特別図柄の可変表示(保留球)に対応する特別図柄ゲームのデータ(情報)が始動記憶として記憶される。なお、各第2特別図柄始動記憶領域に記憶されている始動記憶に含まれるデータは、例えば、第2始動口45の入賞時に取得した大当り判定用乱数値及び大当り図柄乱数値等のデータである。
S34の処理後、メインCPU71は、第2始動口入賞に基づいて特別図柄記憶転送処理を行う(S35)。この処理では、メインCPU71は、第2特別図柄始動記憶領域(1)〜(4)のデータを、それぞれ第2特別図柄始動記憶領域(0)〜(3)に転送(記憶)する。そして、S35の処理後、メインCPU71は、後述のS40の処理を行う。
ここで、再度、S33の処理に戻って、S33において、メインCPU71が、第2始動口入賞の保留個数が「0」であると判別した場合(S33がYES判定の場合)、メインCPU71は、第1始動口入賞(第1特別図柄の可変表示)の保留個数(第1始動記憶数)が「0」であるか否かを判別する(S36)。
S36において、メインCPU71が、第1始動口入賞の保留個数が「0」であると判別した場合(S36がYES判定の場合)、メインCPU71は、デモ表示処理を行う(S37)。そして、S37の処理後、メインCPU71は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
なお、S37のデモ表示処理では、メインCPU71は、メインRAM73にデモ表示許可値をセットする。すなわち、メインCPU71は、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった状態(特別図柄ゲームの始動記憶が「0」になった状態)が所定時間(例えば、30sec)維持されると、デモ表示許可値として所定値をセットする。また、S37のデモ表示処理においてデモ表示許可値が所定値であった場合には、メインCPU71は、デモ表示コマンドデータをメインRAM73にセットする。そして、デモ表示コマンドデータは、主制御回路70のメインCPU71から副制御回路200内のホスト制御回路210に送信される。副制御回路200は、デモ表示コマンドデータを受信すると、表示装置13の表示領域13aにデモ画面を表示させる。
一方、S36において、メインCPU71が、第1始動口入賞の保留個数が「0」でないと判別した場合(S36がNO判定の場合)、メインCPU71は、第1始動口入賞の保留個数に対応する第1始動記憶数の値を「1」減算する(S38)。
本実施形態では、メインCPU71は、メインRAM73に設けられた第1特別図柄始動記憶領域(0)〜第1特別図柄始動記憶領域(4)にデータが記憶されているか否かを判別して、変動中又は保留中の第1特別図柄の可変表示に対応する特別図柄ゲームの始動記憶があるか否かを判別する。第1特別図柄始動記憶領域(0)には、変動中の第1特別図柄の可変表示に対応する特別図柄ゲームのデータ(情報)が始動記憶として記憶される。そして、第1特別図柄始動記憶領域(1)〜第1特別図柄始動記憶領域(4)には、保留されている4回分の第1特別図柄の可変表示(保留球)に対応する特別図柄ゲームのデータ(情報)が始動記憶として記憶される。なお、各第1特別図柄始動記憶領域に記憶されている始動記憶に含まれるデータは、例えば、第1始動口44の入賞時に取得した大当り判定用乱数値及び大当り図柄乱数値等のデータである。
S38の処理後、メインCPU71は、第1始動口入賞に基づいて特別図柄記憶転送処理を行う(S39)。この処理では、メインCPU71は、第1特別図柄始動記憶領域(1)〜(4)のデータを、それぞれ第1特別図柄始動記憶領域(0)〜(3)に転送(記憶)する。そして、S39の処理後、メインCPU71は、後述のS40の処理を行う。
次いで、S35又はS39の処理後、メインCPU71は、時短状態変動回数カウンタの値が「0」であるか否かを判別する(S40)。
S40において、メインCPU71が、時短状態変動回数カウンタの値が「0」であると判別した場合(S40がYES判定の場合)、メインCPU71は、後述のS44の処理を行う。一方、S40において、メインCPU71が、時短状態変動回数カウンタの値が「0」でないと判別した場合(S40がNO判定の場合)、メインCPU71は、時短状態変動回数カウンタの値を「1」減算する(S41)。
S41の処理後、メインCPU71は、時短状態変動回数カウンタの値が「0」であるか否かを判別する(S42)。
S42において、メインCPU71が、時短状態変動回数カウンタの値が「0」でないと判別した場合(S42がNO判定の場合)、メインCPU71は、後述のS44の処理を行う。一方、S42において、メインCPU71が、時短状態変動回数カウンタの値が「0」であると判別した場合(S42がYES判定の場合)、メインCPU71は、時短フラグに「0」をセットする(S43)。
S43の処理後、S40がYES判定の場合、又は、S42がNO判定の場合、メインCPU71は、制御状態フラグに特別図柄変動時間管理処理を示す値(「01」)をセットする(S44)。また、この処理では、メインCPU71は、副制御回路200に、保留減算コマンド及び特別図柄演出開始コマンドを送信する。
次いで、メインCPU71は、大当り判断処理を行う(S45)。この処理では、メインCPU71は、始動口入賞時に取得された大当り判定用乱数値に基づいて、抽選により「大当り」、「小当り」及び「ハズレ」にいずれに当選したか判断(決定)する。
次いで、メインCPU71は、前回の変動表示に用いられた記憶領域の情報(データ)をクリアする(S46)。次いで、メインCPU71は、決定された特別図柄の変動パターンに対応する変動時間を待ち時間タイマにセットする(S47)。そして、S47の処理後、メインCPU71は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
[特別図柄表示時間管理処理]
次に、図65を参照して、特別図柄制御処理(図63参照)中のS14で行う特別図柄表示時間管理処理について説明する。なお、図65は、本実施形態における特別図柄表示時間管理処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であるか否かを判別する(S51)。S51において、メインCPU71が、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)でないと判別した場合(S51がNO判定の場合)、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
一方、S51において、メインCPU71が、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であると判別した場合(S51がYES判定の場合)、メインCPU71は、待ち時間タイマの値(待ち時間)が「0」であるか否かを判別する(S52)。この処理では、メインCPU71は、待ち時間タイマにセットされた変動確定後の待ち時間(変動開始待ち時間)が消化されたか否かを判別する。
S52において、メインCPU71が、待ち時間タイマの値が「0」でないと判別した場合(S52がNO判定の場合)、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。一方、S52において、メインCPU71が、待ち時間タイマの値が「0」であると判別した場合(S52がYES判定の場合)、メインCPU71は、特別図柄ゲームが「大当り」であるか否かを判別する(S53)。また、この処理では、メインCPU71は、同時に、特別演出停止コマンドを副制御回路200に送信する。
S53において、メインCPU71が、特別図柄ゲームが「大当り」でないと判別した場合(S53がNO判定の場合)、メインCPU71は、制御状態フラグに特別図柄ゲーム終了処理を示す値(「08」)をセットする(S54)。そして、S54の処理後、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
一方、S53において、メインCPU71が、特別図柄ゲームが「大当り」であると判別した場合(S53がYES判定の場合)、メインCPU71は、大当りフラグをオン状態にセットする(S55)。なお、大当りフラグは、大当り遊技を行うか否かを示すフラグである。
次いで、メインCPU71は、時短状態変動回数カウンタの値、時短フラグの値及び確変フラグの値をクリアする(S56)。次いで、メインCPU71は、制御状態フラグに大当り開始インターバル管理処理を示す値(「03」)をセットする(S57)。
次いで、メインCPU71は、特別図柄(第1特別図柄又は第2特別図柄)に対応する大当り開始インターバル時間(例えば、5000msec)を待ち時間タイマにセットする(S58)。次いで、メインCPU71は、特別図柄に対応する大当り開始コマンド(特別図柄当り開始表示コマンド)をメインRAM73にセットする(S59)。また、この処理では、メインCPU71は、同時に、特別図柄当り開始表示コマンドを副制御回路200に送信する。
次いで、メインCPU71は、ラウンド数表示LEDパターンフラグをオン状態にセットする(S60)。なお、ラウンド数表示LEDパターンフラグは、残りラウンド数を所定パターンで表示するか否かを示すフラグである。そして、S60の処理後、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
[大当り終了インターバル処理]
次に、図66を参照して、特別図柄制御処理(図63参照)中のS19で行う大当り終了インターバル処理について説明する。なお、図66は、本実施形態における大当り終了インターバル処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグが大当り終了インターバル処理を示す値(「07」)であるか否かを判別する(S71)。
S71において、メインCPU71が、制御状態フラグが大当り終了インターバル処理を示す値(「07」)でないと判別した場合(S71がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。一方、S71において、メインCPU71が、制御状態フラグが大当り終了インターバル処理を示す値(「07」)であると判別した場合(S71がYES判定の場合)、メインCPU71は、待ち時間タイマの値が「0」であるか否かを判別する(S72)。この処理では、メインCPU71は、待ち時間タイマにセットされた大当り終了インターバル時間が消化されたか否かを判別する。
S72において、メインCPU71が、待ち時間タイマの値が「0」でないと判別した場合(S72がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。一方、S72において、メインCPU71が、待ち時間タイマの値が「0」であると判別した場合(S72がYES判定の場合)、メインCPU71は、大入賞口開放回数表示LEDパターンフラグをクリアする(S73)。
次いで、メインCPU71は、ラウンド数振り分けフラグをクリアする(「0」にする)(S74)。
次いで、メインCPU71は、制御状態フラグに、特別図柄ゲーム終了処理を示す値(「08」)をセットする(S75)。また、この処理では、メインCPU71は、同時に、特別図柄当り終了表示コマンドを副制御回路200に送信する。次いで、メインCPU71は、大当りフラグをクリアする(S76)。
次いで、メインCPU71は、大当り種類決定テーブル(図13〜図16参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、確変フラグの値をセットする(S77)。次いで、メインCPU71は、大当り種類決定テーブル(図13〜図16参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、時短フラグの値をセットする(S78)。
次いで、メインCPU71は、時短フラグの値が「1」であるか(時短フラグがオン状態であるか)否かを判別する(S79)。S79において、メインCPU71が、時短フラグの値が「1」でないと判別した場合(S79がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
一方、S79において、メインCPU71が、時短フラグの値が「1」であると判別した場合(S79がYES判定の場合)、メインCPU71は、大当り種類決定テーブル(図13〜図16参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、対応する時短回数の値を時短状態変動回数カウンタにセットする(S80)。そして、S80の処理後、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図63参照)に戻す。
[普通図柄制御処理]
次に、図67を参照して、主制御メイン処理(図62参照)中のS4で行う普通図柄制御処理について説明する。図67は、本実施形態における普通図柄制御処理の手順を示すフローチャートである。
なお、図67に示すフローチャート中の各処理ステップの符号に並記した括弧書きの数値(「00」〜「04」)は普通図柄制御状態フラグを示し、この普通図柄制御状態フラグは、メインRAM73内の所定の記憶領域に格納される。メインCPU71は、普通図柄制御状態フラグの数値に対応する各処理ステップを実行することにより、普通図柄ゲームを進行させる。
まず、メインCPU71は、普通図柄制御状態フラグをロードする(S91)。この処理では、メインCPU71は、メインRAM73に記憶された普通図柄制御状態フラグを読み出す。メインCPU71は、S91でロードされた普通図柄制御状態フラグの値に基づいて、後述のS92〜S96の各種の処理を実行するか否かを判定する。この普通制御制御状態フラグは、普通図柄ゲームの遊技の状態を示すものであり、S92〜S96のいずれかの処理を実行可能にするものである。
また、メインCPU71は、S92〜S96の各処理に対して設定された待ち時間などに応じて決定される所定のタイミングで、各ステップの処理を実行する。なお、この所定のタイミングに至る前の期間では、各ステップの処理を実行せずに、他のサブルーチン処理を実行する。また、所定の周期で後述のシステムタイマ割込処理(後述の図69参照)も実行される。
そして、S91の処理が終了すると、メインCPU71は、普通図柄記憶チェック処理を行う(S92)。
この処理では、メインCPU71は、普通図柄制御状態フラグが普通図柄記憶チェック処理を示す値(「00」)である場合に、普通図柄の可変表示の保留個数をチェックし、保留個数が「0」でないときには、当り判定等の処理を行う。また、メインCPU71は、この処理において、普通図柄制御状態フラグに、後述の普通図柄変動時間監視処理(S93)を示す値(「01」)をセットし、今回の処理で決定された変動時間を待ち時間タイマにセットする。すなわち、この処理により、S92の処理で決定された普通図柄の変動時間が経過した後、後述の普通図柄変動時間監視処理が実行されるように設定される。
次いで、メインCPU71は、普通図柄変動時間監視処理を行う(S93)。この処理では、メインCPU71は、普通図柄制御状態フラグが普通図柄変動時間監視処理を示す値(「01」)であり、普通図柄の変動時間が経過した場合に、普通図柄制御状態フラグに、後述の普通図柄表示時間監視処理(S94)を示す値(「02」)をセットし、確定後待ち時間(例えば0.5sec)を待ち時間タイマにセットする。すなわち、この処理により、S93の処理でセットされた確定後待ち時間が経過した後、後述の普通図柄表示時間監視処理が実行されるように設定される。
次いで、メインCPU71は、普通図柄表示時間監視処理を行う(S94)。この処理では、メインCPU71は、普通図柄制御状態フラグが普通図柄表示時間監視処理を示す値(「02」)であり、S93の処理でセットされた確定後待ち時間が経過した場合に、当り判定の結果が「当り」であるか否かを判断する。そして、当り判定の結果が「当り」である場合、メインCPU71は、普通電動役物開放設定処理を行い、普通図柄制御状態フラグに、後述の普通電動役物開放処理(S95)を示す値(「03」)をセットする。すなわち、この処理により、後述の普通電動役物開放処理が実行されるように設定される。
一方、当り判定の結果が「当り」でない場合、メインCPU71は、普通図柄制御状態フラグに、後述の普通図柄ゲーム終了処理(S96)を示す値(「04」)をセットする。すなわち、この場合には、後述の普通図柄ゲーム終了処理が実行されるように設定される。
次いで、メインCPU71は、S94において当り判定の結果が「当り」であると判定された場合、普通電動役物開放処理を行う(S95)。この処理では、メインCPU71は、普通図柄制御状態フラグが普通電動役物開放処理を示す値(「03」)である場合に、普通電動役物46の開放中において所定数の始動入賞があったという条件、及び、普通電動役物46の開放上限時間を経過した(普通電役開放時間タイマが「0」である)という条件の一方が満たされたか否かを判断する。
S95において、上記一方の条件が満たされた場合には、メインCPU71は、普通電動役物46である羽根部材を閉鎖状態にするため、メインRAM73に位置付けられた変数を更新する。そして、メインCPU71は、普通図柄制御状態フラグに、後述の普通図柄ゲーム終了処理(S96)を示す値(「04」)をセットする。すなわち、この処理により、後述の普通図柄ゲーム終了処理が実行されるように設定される。
次いで、メインCPU71は、普通図柄ゲーム終了処理を行う(S96)。この処理では、メインCPU71は、普通図柄制御状態フラグが普通図柄ゲーム終了処理を示す値(「04」)である場合に、普通図柄の可変表示の保留個数を示すデータを「1」減少させるように記憶更新する。また、メインCPU71は、次回の普通図柄の変動表示を行うために、普通図柄記憶領域の更新を行う。さらに、メインCPU71は、普通図柄制御状態フラグに普通図柄記憶チェック処理を示す値(「00」)をセットする。すなわち、この処理により、S96の処理後、上述した普通図柄記憶チェック処理(S92)が実行されるように設定される。
そして、S96の処理後、メインCPU71は、普通図柄制御処理を終了し、処理を主制御メイン処理(図62参照)のS5に移す。
[電源投入時処理]
次に、図68を参照して、メインCPU71により実行される電源投入時処理について説明する。図68は、本実施形態における電源投入時処理の手順を示すフローチャートである。
まず、メインCPU71は、スタックポインタに所定の初期値を設定する(S101)。次いで、メインCPU71は、電断検知信号がオフ状態(LOWレベル)であるか否かを判別する(S102)。なお、この判定処理において、電断検知信号がオフ状態である場合には、電断検知処理が実行可能な状態に無い場合に対応する。すなわち、電断検知可能な状態では、電断検知信号がオン状態となる。
S102において、メインCPU71が、電断検知信号がオフ状態(LOWレベル)であると判別した場合(S102がYES判定の場合)、メインCPU71は、電断検知信号がオン状態(HIGHレベル)になるまで、S102の判定処理を繰り返す。一方、S102において、メインCPU71が、電断検知信号がオフ状態(LOWレベル)でないと判別した場合(S102がNO判定の場合)、メインCPU71は、内蔵のRWM(Read Write Memory)、すなわち、メインRAM73へのアクセス許可処理を行う(S103)。また、この処理では、メインCPU71は、例えば、メインRAM73の作業領域の初期化処理等の各種初期設定処理を行う。
次いで、メインCPU71は、副制御受信受付ウエイト処理を行う(S104)。この処理では、メインCPU71は、副制御回路200の動作状態が、例えばコマンドデータ等のデータを受付可能な状態になるまで待機する。次いで、メインCPU71は、CPUを内蔵したデバイスの初期化処理を行う(S105)。
次いで、メインCPU71は、バックアップクリア信号がオン状態(HIGHレベル)であるか否かを判別する(S106)。具体的には、メインCPU71は、バックアップクリアスイッチ121(図5参照)がオン状態であるか否かを判別する。
S106において、メインCPU71が、バックアップクリア信号がオン状態であると判別した場合(S106がYES判定の場合)、メインCPU71は、後述のS113の処理を行う。一方、S106において、メインCPU71が、バックアップクリア信号がオン状態でないと判別した場合(S106がNO判定の場合)、メインCPU71は、電断検知フラグが設定されている(電断検知フラグの値が「1」である)か否かを判別する(S107)。
S107において、メインCPU71が、電断検知フラグが設定されていないと判別した場合(S107がNO判定の場合)、メインCPU71は、後述のS113の処理を行う。一方、S107において、メインCPU71が、電断検知フラグが設定されていると判別した場合(S107がYES判定の場合)、メインCPU71は、作業領域の損傷チェック処理を行う(S108)。なお、この処理では、メインCPU71は、チェックサム値等に基づいて、作業領域に損傷があるか否かをチェックする。
S108の処理後、メインCPU71は、S108の作業領域の損傷チェック処理の結果に基づいて、作業領域が正常であるか否かを判別する(S109)。S109において、メインCPU71が、作業領域が正常でないと判別した場合(S109がNO判定の場合)、メインCPU71は、後述のS113の処理を行う。
一方、S109において、メインCPU71が、作業領域が正常であると判別した場合(S109がYES判定の場合)、メインCPU71は、電断復帰時に初期値のセットが必要となる作業領域の初期設定処理を行う(S110)。次いで、メインCPU71は、電断復帰時の高確率遊技状態の報知設定処理を行う(S111)。
S111の処理後、メインCPU71は、電断復帰コマンドを副制御回路200に送信する(S112)。この処理では、メインCPU71は、上述した第1電断復帰コマンド及び第2電断復帰コマンド(図25及び図26参照)を副制御回路200に送信する。そして、S112の処理後、メインCPU71は、電源投入時処理を終了する。
ここで、再度、S106、S107又はS109の処理に戻って、S106がYES判定の場合、又は、S107或いはS109がNO判定の場合、すなわち、パチンコ遊技機1を電断検知前の状態に復帰させることができない場合、メインCPU71は、全ての作業領域をクリアする(S113)。
次いで、メインCPU71は、メインRAM73の初期化時に初期値のセットが必要となる作業領域の初期設定処理を行う(S114)。次いで、メインCPU71は、メインRAM73の初期化コマンドを副制御回路200に送信する(S115)。そして、S115の処理後、メインCPU71は、電源投入時処理を終了する。
[システムタイマ割込処理]
本実施形態のパチンコ遊技機1では、メインCPU71は、メイン処理の実行中であっても、所定周期でメイン処理を中断し、システムタイマ割込処理を実行する。具体的には、メインCPU71は、クロック発生回路74から所定周期(例えば2msec)で発生されるクロックパルスに応じて、システムタイマ割込処理を実行する。ここで、図69を参照して、メインCPU71により実行されるシステムタイマ割込処理について説明する。なお、図69は、本実施形態におけるシステムタイマ割込処理の手順を示すフローチャートである。
まず、メインCPU71は、各レジスタのデータ(情報)を退避させる(S121)。次いで、メインCPU71は、乱数更新処理を行う(S122)。この処理では、メインCPU71は、大当り判定用カウンタ、図柄決定用カウンタ、当り判定用カウンタ、転落判定用カウンタ、変動パターン決定用カウンタ、演出パターン決定用カウンタなどから抽出される各種乱数値を更新する。なお、大当り判定用カウンタ及び図柄決定用カウンタは、カウンタ値の更新タイミングが不定であると、公正さに欠ける。そのため、大当り判定用カウンタ及び図柄決定用カウンタは、公正さを担保するために2msec周期で決まったタイミングで更新を行う。
次いで、メインCPU71は、スイッチ入力検出処理を行う(S123)。この処理では、メインCPU71は、各種始動口、各種入賞口及び球通過検出器43への入賞又は通過を検出する。なお、スイッチ入力検出処理の詳細については、後述の図70を参照しながら後で説明する。
次いで、メインCPU71は、タイマ更新処理を行う(S124)。具体的には、メインCPU71は、主制御回路70と副制御回路200との同期をとるための待ち時間タイマ、大入賞口の開放時間を計測するための大入賞口開放時間タイマ等の各種タイマの更新処理を行う。
次いで、メインCPU71は、コマンド出力処理を行う(S125)。この処理では、メインCPU71は、副制御回路200のホスト制御回路210に、例えば、入賞コマンド、変動コマンド等の各種コマンドを出力する。
次いで、メインCPU71は、遊技情報出力処理を行う(S126)。この処理では、メインCPU71は、主制御回路70、副制御回路200、払出・発射制御回路123等で処理される遊技に係る各種情報を、遊技店のホールコンピュータに出力する。
次いで、メインCPU71は、S121で退避させた各レジスタのデータを復帰させる(S127)。そして、S127の処理後、メインCPU71は、システムタイマ割込処理を終了する。
[スイッチ入力検出処理]
次に、図70を参照して、システムタイマ割込処理(図69参照)中のS123で行うスイッチ入力検出処理について説明する。なお、図70は、本実施形態におけるスイッチ入力検出処理の手順を示すフローチャートである。
まず、メインCPU71は、始動口入賞検出処理を行う(S131)。この処理では、メインCPU71は、第1始動口44又は第2始動口45に遊技球が入球(通過)したか否かを判別する。すなわち、メインCPU71は、第1始動口入賞球センサ44a又は第2始動口入賞球センサ45aにより遊技球の入賞が検出されたか否かを検出する。なお、始動口入賞検出処理の詳細については、後述の図71を参照しながら後で説明する。
次いで、メインCPU71は、一般入賞口通過検出処理を行う(S132)。この処理では、メインCPU71は、一般入賞口51又は52に遊技球が入球したか否かを判別する。すなわち、メインCPU71は、一般入賞球センサ51a又は52aにより遊技球の入賞が検出されたか否かを検出する。そして、一般入賞口51又は52への遊技球の入賞が検出された場合には、メインCPU71は、該入賞に対応する所定の各種処理を行う。
次いで、メインCPU71は、大入賞口通過検出処理を行う(S133)。この処理では、メインCPU71は、第1大入賞口53又は第2大入賞口54に遊技球が入球したか否かを判別する。すなわち、メインCPU71は、第1大入賞口ソレノイド53b又は第2大入賞口ソレノイド54bにより遊技球の入賞が検出されたか否かを検出する。そして、第1大入賞口53又は第2大入賞口54への遊技球の入賞が検出された場合には、メインCPU71は、該入賞に対応する所定の各種処理を行う。
次いで、メインCPU71は、ゲート通過検出処理を行う(S134)。この処理では、メインCPU71は、遊技球が球通過検出器43を通過したか否かを判別する。すなわち、メインCPU71は、通過球センサ43aにより遊技球の通過が検出されたか否かを検出する。次いで、遊技球が球通過検出器43を通過したことが検出された場合には、メインCPU71は、該通過に対応する所定の各種処理を行う。そして、S134の処理後、メインCPU71は、スイッチ入力検出処理を終了し、処理をシステムタイマ割込処理(図69参照)のS124に移す。
[始動口入賞検出処理]
次に、図71を参照して、スイッチ入力検出処理(図70参照)中のS131で行う始動口入賞検出処理について説明する。なお、図70は、本実施形態における始動口入賞検出処理の手順を示すフローチャートである。
まず、メインCPU71は、第1始動口入賞球センサ44aの出力信号に基づいて、第1始動口44への遊技球の入賞が検出されたか否かを判別する(S141)。
S141において、メインCPU71が、第1始動口44への遊技球の入賞が検出されていないと判別した場合(S141がNO判定の場合)、メインCPU71は、後述のS149の処理を行う。一方、S141において、メインCPU71が、第1始動口44への遊技球の入賞が検出されたと判別した場合(S141がYES判定の場合)、メインCPU71は、第1始動口入賞に対応する払出情報をメインRAM73にセットする(S142)。本実施形態では、遊技球が第1始動口44に入賞すると所定数の遊技球が払い出される。それゆえ、S142の処理では、所定数の遊技球の払出情報がセットされる。
S142の処理後、メインCPU71は、第1始動口入賞(第1特別図柄の可変表示)の保留個数(保留球の個数)が「4」未満であるか否かを判別する(S143)。
S143において、メインCPU71が、第1始動口入賞の保留個数が「4」未満でないと判別した場合(S143がNO判定の場合)、メインCPU71は、後述のS149の処理を行う。一方、S143において、メインCPU71が、第1始動口入賞の保留個数が「4」未満であると判別した場合(S143がYES判定の場合)、メインCPU71は、第1始動口入賞の保留個数を「1」加算する処理を行う(S144)。
S144の処理後、メインCPU71は、抽選に用いる各種乱数値を取得し、取得した各種乱数値をメインRAM73の所定領域に格納する(S145)。具体的には、メインCPU71は、大当り判定用乱数値、図柄乱数値、転落判定用乱数値等の各種乱数値を取得する。
次いで、メインCPU71は、第1特別停止図柄判定処理を行う(S146)。この処理では、メインCPU71は、大当り乱数判定テーブル(第1始動口)(図9参照)及び図柄判定テーブル(第1始動口)(図11参照)を参照し、S145で取得した大当り判定用乱数値及び図柄乱数値に基づいて、「大当り」か否かの判定を行うとともに、「大当り」の場合には、表示装置13の表示画面に表示される予定の大当り図柄(演出用識別図柄)の選択(判定)を行う。
次いで、メインCPU71は、転落の有無の判断処理を行う(S147)。この処理では、メインCPU71は、S145で取得した転落判定用乱数値に基づいて、転落抽選を行い、転落の発生の有無を判定する。これにより、メインCPU71は、転落抽選情報(「0」:転落無し、又は、「1」:転落有り)を取得する。
次いで、メインCPU71は、第1始動口入賞時の保留加算コマンドデータをメインRAM73にセットする(S148)。
この処理では、メインCPU71は、大当り乱数判定テーブル(第1始動口)(図9参照)、図柄判定テーブル(第1始動口)(図11参照)、大当り種類決定テーブル(図13〜図16参照)及び入賞時演出情報決定テーブル(図17参照)を参照して得られる、遊技状態(「通常」、「確変」、「時短」)、当選種別(「大当り」、「小当り」、「ハズレ」)、始動記憶数(第1特別図柄の保留個数)、図柄指定コマンド、大当り時選択図柄コマンド、入賞時演出情報、大当り判定の結果情報、転落抽選情報などの情報に基づいて、保留加算コマンドに含ませる情報(送信内容)を決定する。
なお、この際、遊技状態は、確変フラグ及び時短フラグの値を参照して取得され、当選種別は、大当り乱数判定テーブル(第1始動口)(図9参照)を参照することにより取得され、図柄指定コマンド及び大当り時選択図柄コマンドは、図柄判定テーブル(第1始動口)(図11参照)を参照することにより取得され、入賞時演出情報は、入賞時演出情報決定テーブル(図17参照)を参照することにより取得される。また、大当り判定の結果情報は、S146の処理で取得され、転落抽選情報は、S147の処理で取得される。
また、本実施形態では、S148の処理において、第1始動口入賞時の保留加算コマンドがメインCPU71から副制御回路200(ホスト制御回路210)に送信される。そして、この第1始動口入賞時の保留加算コマンドに基づいて、副制御回路200は、保留演出及び先読み演出の演出パターンを選択する。
S148の処理後、又は、S141或いはS143がNO判定の場合、メインCPU71は、第2始動口入賞球センサ45aの出力信号に基づいて、第2始動口45への遊技球の入賞が検出されたか否かを判別する(S149)。
S149において、メインCPU71が、第2始動口45への遊技球の入賞が検出されていないと判別した場合(S149がNO判定の場合)、メインCPU71は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図70参照)のS132に移す。一方、S149において、メインCPU71が、第2始動口45への遊技球の入賞が検出されたと判別した場合(S149がYES判定の場合)、メインCPU71は、第2始動口入賞に対応する払出情報をメインRAM73にセットする(S150)。本実施形態では遊技球が第2始動口45に入賞すると、所定数の遊技球が払い出される。それゆえ、S150の処理では、所定数の遊技球の払出情報がセットされる。
S150の処理後、メインCPU71は、第2始動口入賞(第2特別図柄の可変表示)の保留個数(保留球の個数)が「4」未満であるか否かを判別する(S151)。
S151において、メインCPU71が、第2始動口入賞の保留個数が「4」未満でないと判別した場合(S151がNO判定の場合)、メインCPU71は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図70参照)のS132に移す。一方、S151において、メインCPU71が、第2始動口入賞の保留個数が「4」未満であると判別した場合(S151がYES判定の場合)、メインCPU71は、第2始動口入賞の保留個数を「1」加算する処理を行う(S152)。S152の処理後、メインCPU71は、抽選に用いる各種乱数値を取得し、取得した各種乱数値をメインRAM73の所定領域に格納する(S153)。具体的には、メインCPU71は、大当り判定用乱数値、図柄乱数値、転落判定用乱数値等の各種乱数値を取得する。
次いで、メインCPU71は、第2特別停止図柄判定処理を行う(S154)。この処理では、メインCPU71は、大当り乱数判定テーブル(第2始動口)(図10参照)及び図柄判定テーブル(第2始動口)(図12参照)を参照し、S153で取得した大当り判定用乱数値及び図柄乱数値に基づいて、「大当り」か否かの判定を行うとともに、大当りの場合には、表示装置13の表示画面に表示される予定の大当り図柄(演出用識別図柄)の選択(判定)を行う。
次いで、メインCPU71は、転落の有無の判断処理を行う(S155)。この処理では、メインCPU71は、S153で取得した転落判定用乱数値に基づいて、転落抽選を行い、転落の発生の有無を判定する。これにより、メインCPU71は、転落抽選情報(「0」:転落無し、又は、「1」:転落有り)を取得する。
次いで、メインCPU71は、第2始動口入賞時の保留加算コマンドデータをメインRAM73にセットする(S156)。
この処理では、メインCPU71は、大当り乱数判定テーブル(第2始動口)(図10参照)、図柄判定テーブル(第2始動口)(図12参照)、大当り種類決定テーブル(図13〜図16参照)及び入賞時演出情報決定テーブル(図17参照)を参照して得られる、遊技状態(「通常」、「確変」、「時短」)、当選種別(「大当り」、「ハズレ」)、始動記憶数(第2特別図柄の保留個数)、図柄指定コマンド、大当り時選択図柄コマンド、入賞時演出情報、大当り判定の結果情報、転落抽選情報などの情報に基づいて、保留加算コマンドに含ませる情報(送信内容)を決定する。
なお、この際、遊技状態は、確変フラグ及び時短フラグの値を参照して取得され、当選種別は、大当り乱数判定テーブル(第2始動口)(図10参照)を参照することにより取得され、図柄指定コマンド及び大当り時選択図柄コマンドは、図柄判定テーブル(第2始動口)(図12参照)を参照することにより取得され、入賞時演出情報は、入賞時演出情報決定テーブル(図17参照)を参照することにより取得される。また、大当り判定の結果情報は、S154の処理で取得され、転落抽選情報は、S155の処理で取得される。
また、本実施形態では、S156の処理において、第2始動口入賞時の保留加算コマンドがメインCPU71から副制御回路200(ホスト制御回路210)に送信される。副制御回路200は、この第2始動口入賞時の保留加算コマンドに基づいて、保留演出及び先読み演出の演出パターンを選択する。そして、S156の処理後、メインCPU71は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図70参照)のS132に移す。
<副制御回路の動作説明>
次に、図72〜図103を参照して、副制御回路200のサブ基板202内の各種制御回路により実行される各種処理の内容について説明する。なお、副制御回路200は、主制御回路70から送信された各種コマンドを受信し、該各種コマンドに基づいて各種処理を行う。
[副制御メイン処理]
最初に、図72を参照して、ホスト制御回路210により実行される副制御メイン処理について説明する。図72は、本実施形態における副制御メイン処理の手順を示すフローチャートである。なお、副制御メイン処理は、電源が投入されたときに開始される処理である。
まず、ホスト制御回路210は、初期化処理を行う(S201)。この処理では、ホスト制御回路210は、例えば、ハードウェアの初期化、デバイスの初期化、アプリケーション(各種処理)の初期化、バックアップデータの復帰初期化等の各種初期設定処理を行う。なお、初期化処理の詳細については、後述の図73及び図74を参照しながら後で説明する。
次いで、ホスト制御回路210は、ウォッチドッグタイマのカウンタをクリアする(S202)。なお、起動時には、ウォッチドッグタイマのリセット時間(例えば200msec)が設定され、その後、サービスパルスの書込みが行われなかった場合(タイムアウト時)には、電断処理が開始される。また、ウォッチドッグタイマカウンタをクリアするタイミングは、副制御メイン処理内のメインループ処理(S202〜S212の処理)の開始時、デバイス初期化処理の開始時、アプリケーション初期化処理の開始時及び電断処理の開始時である。
次いで、ホスト制御回路210は、操作手段入力処理を行う(S203)。この処理では、ホスト制御回路210は、遊技者により例えばボタンやジョグダイアルなどの操作手段に対して操作が行われたか否かの判定処理、及び、操作内容の情報取得処理を行う。なお、操作手段入力処理の詳細については、後述の図78〜図80を参照しながら後で説明する。
次いで、ホスト制御回路210は、メイン・サブ間コマンド制御処理を行う(S204)。この処理では、ホスト制御回路210は、メインCPU71からコマンドデータを受信した際のコマンドデータの読み込み処理(コマンド受信処理)及びサブワークRAM210aへのコマンドデータの格納処理(受信データ記憶処理)を行う。なお、メイン・サブ間コマンド制御処理の詳細については、後述の図81及び図82を参照しながら後で説明する。
次いで、ホスト制御回路210は、コマンド解析処理を行う(S205)。この処理では、ホスト制御回路210は、サブワークRAM210aに格納されたコマンドの内容を解析し、コマンドに含まれる各種情報を取得する。なお、コマンド解析処理の詳細については、後述の図83を参照しながら後で説明する。
次いで、ホスト制御回路210は、アニメーションリクエスト構築処理を行う(S206)。この処理では、ホスト制御回路210は、表示装置13を用いて演出制御を行う際に必要なアニメーションリクエストを生成し、該アニメーションリクエストに基づいて(該アニメーションリクエストに対応して、該アニメーションリクエストに応じて、該アニメーションリクエストに基づいて実行される表示装置13における演出制御(表示)に対応して、などと表現可能な)各種演出装置を動作させるための各種リクエスト(サウンドリクエスト、ランプリクエスト及び役物リクエスト)を生成する。なお、アニメーションリクエスト構築処理の詳細については、後述の図85を参照しながら後で説明する。
なお、本実施形態では、上述のように、コマンドの種別に応じてコマンドのパケット数(バイト数)が異なる。そして、ホスト制御回路210において、複数のコマンドデータを受信した際に、その全てのコマンドデータの総パケット数が所定の最大パケット数以下である場合には、上述したコマンド解析処理(S205)及びアニメーションリクエスト構築処理(S206)は、受信した複数のコマンドデータに対して同一フレームで実施される。しかしながら、受信した複数のコマンドデータの総パケット数が所定の最大パケット数を超える場合には、受信した複数のコマンドデータのうち、所定の最大パケット数分のコマンドデータに対しては同一フレームにおいてコマンド解析処理(S205)及びアニメーションリクエスト構築処理(S206)を行い、残りのパケット数分のコマンドデータに対するコマンド解析処理(S205)及びアニメーションリクエスト構築処理(S206)は次フレームで実施される。
次いで、ホスト制御回路210は、上記S204〜S206の処理が受信コマンド数分実施されたか否かを判別する(S207)。
S207において、ホスト制御回路210が、上記S204〜S206の処理が受信コマンド数分実施されていないと判別した場合(S207がNO判定の場合)、ホスト制御回路210は、処理をS204に戻し、S204以降の処理を繰り返す。
一方、S207において、ホスト制御回路210が、上記S204〜S206の処理が受信コマンド数分実施されたと判別した場合(S207がYES判定の場合)、ホスト制御回路210は、描画制御処理を行う(S208)。この処理では、ホスト制御回路210は、アニメーションリクエストに基づいて、動画コマンド及び描画リクエストを生成し、該生成された動画コマンド及び前フレームで生成された描画リクエストを表示制御回路230に送信する。また、この際、表示制御回路230は、受信した動画コマンド及び描画リクエストに基づいて、表示装置13に演出画像を表示(描画)するための各種処理を行う。なお、描画制御処理の詳細については、後述の図86A及び図86Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、音声制御処理を行う(S209)。この処理では、ホスト制御回路210は、サウンドリクエスト(コマンド)を音声・LED制御回路220に送信する。また、この際、音声・LED制御回路220は、受信したサウンドリクエストに基づいて、スピーカ11による音声再生の制御処理を行う。なお、音声制御処理の詳細については、後述の図93A及び図93Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、ランプ制御処理を行う(S210)。この処理では、ホスト制御回路210は、ランプリクエスト(コマンド)を音声・LED制御回路220に送信する。また、この際、音声・LED制御回路220は、受信したランプリクエストに基づいて、ランプ群18の発光制御を行う。なお、ランプ制御処理の詳細については、後述の図94A及び図94Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、役物制御処理を行う(S211)。この処理では、ホスト制御回路210は、生成された役物リクエストに基づいて、役物20を駆動させるための励磁データをI2Cコントローラ261を介してモータコントローラ270(モータドライバ271)に送信する。また、モータドライバ271は、受信した励磁データを対応するモータ272に出力して役物20を駆動する。なお、役物制御処理の詳細については、後述の図95を参照しながら後で説明する。
次いで、ホスト制御回路210は、上述したS202の処理開始からの経過時間が設定された所定のFPS周期の時間以上であるか否かを判別する(S212)。本実施形態では、ホスト制御回路210は、上述したS202〜S211の一連の処理(メインループ処理)を所定のFPS周期で実行する。なお、FPS周期は、例えば、約16.7msec(60FPS)、約33.3msec(30FPS)等に設定される。
S212において、ホスト制御回路210が、S202の処理開始からの経過時間が所定のFPS周期の時間以上でないと判別した場合(S212がNO判定の場合)、ホスト制御回路210は、S212の判定処理を繰り返す。一方、S212において、ホスト制御回路210が、S202の処理開始からの経過時間が所定のFPS周期の時間以上であると判別した場合(S212がYES判定の場合)、ホスト制御回路210は、処理をS202に戻し、S202以降の処理を繰り返す。
[初期化処理]
次に、図73及び図74を参照して、副制御メイン処理(図72参照)中のS201で行う初期化処理について説明する。なお、図73は、本実施形態における初期化処理の動作概要を示す図であり、図74は、本実施形態における初期化処理の手順を示すフローチャートである。
パチンコ遊技機1に電源が投入されると、初期化処理において、ホスト制御回路210は、図73に示すように、自身だけでなく、ホスト制御回路210に接続された各種制御回路及びコントローラのハードウェアの初期化処理を行う。次いで、各制御回路又はコントローラは、対応するデバイス(ランプ群18、スピーカ11、表示装置13、役物20)の初期化処理を行う。以下に、この初期化処理の具体的にな手順を、図74のフローチャートを参照しながら説明する。
まず、ホスト制御回路210は、電源オンを検知したか否かを判別する(S221)。S221において、ホスト制御回路210が、電源オンを検知していないと判別した場合(S221がNO判定の場合)、ホスト制御回路210は、S221の判定処理を繰り返す。なお、電源オンの検知処理では、ホスト制御回路210に供給されている電源電圧が、安定しているか否かを判定するので、電源オンが検知されていない状態は、実際に電源がオン状態であってもホスト制御回路210に供給されている電源電圧が安定していないことを表す。それゆえ、S221で繰り返し行われる電源オン状態の検知処理は、ホスト制御回路210に供給されている電源電圧が安定するまでの待機処理となる。
一方、S221において、ホスト制御回路210が、電源オンを検知したと判別した場合(S221がYES判定の場合)、ホスト制御回路210は、ハードウェア初期化処理を行う(S222)。この処理では、ホスト制御回路210は、サブ基板202内に設けられた各種制御回路(自身の回路、音声・LED制御回路220及び表示制御回路230)、並びに、ホスト制御回路210に接続されたモータコントローラ270のハードウェアを初期化する。具体的には、各制御回路及びモータコントローラ270内の、レジスタの初期化処理、制御ROMの設定処理等が行われる。
次いで、ホスト制御回路210は、ウォッチドッグタイマのカウンタをクリアする(S223)。
次いで、サブ基板202内に設けられた各種制御回路、並びに、モータコントローラ270は、それぞれ対応するデバイスの初期化処理を行う(S224)。この処理では、音声・LED制御回路220は、ランプ群18及びスピーカ11のドライバ(制御プログラム)の初期化・設定処理(ROMアクセスの設定処理等を含む)を行う。また、表示制御回路230は、表示装置13のドライバの初期化・設定処理(ROMアクセスの設定処理等を含む)を行う。また、モータコントローラ270は、役物20を駆動するためのモータドライバ271の初期化・設定処理(ROMアクセスの設定処理等を含む)を行う。さらに、本実施形態では、この処理において、ホスト制御回路210は、図示しない操作手段のドライバの初期化・設定処理(ROMアクセスの設定処理等を含む)も行う。
次いで、ホスト制御回路210は、ウォッチドッグタイマのカウンタをクリアする(S225)。
次いで、ホスト制御回路210は、アプリケーション初期化処理を行う(S226)。この処理では、ホスト制御回路210は、図72で説明した副制御メイン処理中のメインループ処理で行われる各種処理で使用される各種設定値の初期化処理を行う。具体的には、ホスト制御回路210は、操作手段入力処理(S203)、メイン・サブ間コマンド制御処理(S204)、アニメーションリクエスト構築処理(S206)、描画制御処理(S208)、音声制御処理(S209)及びランプ制御処理(S210)のそれぞれにおいて使用される各種設定値の初期化処理を行う。
次いで、ホスト制御回路210は、その他の各種初期化処理を行う(S227)。この処理では、ホスト制御回路210は、バックアップ復帰初期化処理、役物制御初期化処理及びLED登録処理を行う。なお、バックアップ復帰初期化処理の詳細については、後述の図75を参照しながら後で説明し、役物制御初期化処理の詳細については、後述の図76を参照しながら後で説明し、LED登録処理の詳細については、後述の図77を参照しながら後で説明する。
そして、S227の処理後、ホスト制御回路210は、初期化処理を終了し、処理を副制御メイン処理(図72参照)のS202に移す。
[バックアップ復帰初期化処理]
次に、図75を参照して、初期化処理(図74参照)中のS227で行うバックアップ復帰初期化処理について説明する。なお、図75は、本実施形態におけるバックアップ復帰初期化処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、SRAM210bのバックアップ領域に記憶されるゲームデータの整合性チェック処理を行う(S231)。このゲームデータの整合性チェック処理では、ゲームデータのサム値判定、プログラムバージョン及びマジックコード(一般的にはマジックナンバーと呼ばれるもの)のチェック、サムチェック等の処理が行われる。なお、「ゲームデータ」とは、コマンド内のパラメータの情報などが含まれ、ホスト制御回路210で行われる各種抽選処理やアニメーションリクエスト構築処理などで参照されるデータの構造体(記憶領域又は変数の集合体)のことをいう。また、後述のように、「ゲームデータ」には、各種抽選処理の抽選結果の情報(例えば演出パターン等)もまた登録される。
次いで、ホスト制御回路210は、SRAM210bのバックアップ領域に記憶されるゲームデータに整合性があるか否かを判別する(S232)。この処理では、ホスト制御回路210は、ゲームデータが破損していないか否かを判別している。
S232において、ホスト制御回路210が、ゲームデータに整合性があると判別した場合(S232がYES判定の場合)、ホスト制御回路210は、後述のS236の処理を行う。
一方、S232において、ホスト制御回路210が、ゲームデータに整合性がないと判別した場合(S232がNO判定の場合)、ホスト制御回路210は、SRAM210b内のミラーリング領域に記憶されるゲームデータの整合性チェック処理を行う(S233)。次いで、ホスト制御回路210は、SRAM210b内のミラーリング領域に記憶されるゲームデータに整合性があるか否かを判別する(S234)。
S234において、ホスト制御回路210が、ゲームデータに整合性があると判別した場合(S234がYES判定の場合)、ホスト制御回路210は、後述のS236の処理を行う。
一方、S234において、ホスト制御回路210が、ゲームデータに整合性がないと判別した場合(S234がNO判定の場合)、ホスト制御回路210は、ゲームデータ初期化処理(RAMクリア時)を行う(S235)。この処理では、ホスト制御回路210は、ゲームデータが記憶されているRAM領域をクリアする際の初期化処理を行う。具体的には、ホスト制御回路210は、変数等を初期化してゲームデータを初期値に戻す(ゲームデータを完全初期化する)。
S235の処理後、又は、S232或いはS234がYES判定の場合、ホスト制御回路210は、ゲームデータ初期化処理(電源オン時)を行う(S236)。
なお、この際、S236の処理がS232の処理後に行われた場合には、ホスト制御回路210は、SRAM210bのバックアップ領域に記憶されているゲームデータの復帰処理を行う。S236の処理がS234の処理後に行われた場合には、ホスト制御回路210は、SRAM210b内のミラーリング領域に記憶されているゲームデータの復帰処理を行う。また、S236の処理がS235の処理後に行われた場合には、ホスト制御回路210は、完全初期化されたゲームデータ(初期値)の復帰処理を行う。
次いで、ホスト制御回路210は、S236の処理により復帰させたゲームデータをSRAM210bにバックアップする(S237)。そして、S237の処理後、ホスト制御回路210は、バックアップ復帰初期化処理を終了する。
[役物制御初期化処理]
次に、図76を参照して、初期化処理(図74参照)中のS227で行う役物制御初期化処理について説明する。図76は、本実施形態における役物制御初期化処理の手順を示すフローチャートである。なお、この処理では、図72で説明した副制御メイン処理中の役物制御処理(S211)において、使用される各種設定の初期化処理を行う。
まず、ホスト制御回路210は、役物20の動作回数に「0」をセットする(S241)。次いで、ホスト制御回路210は、役物20を駆動するモータ272が初期位置にあるか否かを判別する(S242)。なお、この判定処理は、モータ272が初期位置にあるか否かを判別するために設けられた図示しないセンサの検出結果に基づいて行われる。
S242において、ホスト制御回路210が、モータ272が初期位置にあると判別した場合(S242がYES判定の場合)、ホスト制御回路210は、使用する全てのモータ272に対してS242の判定処理が行われたか否かを判別する(S243)。
S243において、ホスト制御回路210が、使用する全てのモータ272に対してS242の判定処理が行われていないと判別した場合(S243がNO判定の場合)、ホスト制御回路210は、処理をS241に戻し、S241以降の処理を繰り返す。
一方、S243において、ホスト制御回路210が、使用する全てのモータ272に対してS242の判定処理が行われたと判別した場合(S243がYES判定の場合)、ホスト制御回路210は、電源投入時処理を行う(S244)。S244の処理では、ホスト制御回路210は、電源投入時おいて、役物20の動作確認処理を行う。具体的には、ホスト制御回路210は、役物20を最大可動域まで又は予め定められた可動域まで移動させ、その後、役物20を初期位置に戻す。そして、S244の処理後、ホスト制御回路210は、後述のS249の処理を行う。
ここで、再度、S242の処理に戻って、S242において、ホスト制御回路210が、モータ272が初期位置にないと判別した場合(S242がNO判定の場合)、ホスト制御回路210は、動作回数が10回以上であるか否かを判別する(S245)。なお、この処理では、検査対象のモータ272に動作停止させるほどの異常(エラー)が発生しているか否かを判定するが、このエラー判定の閾値となる動作回数は10回に限定されず、任意に設定することができる。
S245において、ホスト制御回路210が、動作回数が10回以上であると判別した場合(S245がYES判定の場合)、ホスト制御回路210は、エラーが発生したモータ272(エラーモータ)の動作停止を設定する(S246)。そして、S246の処理後、ホスト制御回路210は、後述のS249の処理を行う。
一方、S245において、ホスト制御回路210が、動作回数が10回以上でないと判別した場合(S245がNO判定の場合)、ホスト制御回路210は、検査対象のモータ272を駆動して初期位置に移動させる(S247)。次いで、ホスト制御回路210は、動作回数に「1」を加算する(S248)。そして、S248の処理後、ホスト制御回路210は、処理をS242に戻し、S242以降の処理を繰り返す。
S244又はS246の処理後、ホスト制御回路210は、エラーモータの動作停止を検出したか否かを判別する(S249)。
S249において、ホスト制御回路210が、エラーモータの動作停止を検出していないと判別した場合(S249がNO判定の場合)、ホスト制御回路210は、動作状態をコマンド受信待機状態に移行させる(S250)。そして、S250の処理後、ホスト制御回路210は、役物制御初期化処理を終了する。
一方、S249において、ホスト制御回路210が、エラーモータの動作停止を検出したと判別した場合(S249がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し不可の状態をセットする(S251)。なお、本実施形態では、役物リクエストは、ホスト制御回路210により実行される役物制御に関する処理間において受け渡される。
次いで、ホスト制御回路210は、電源が再投入されて、役物20の初期化処理が行われるまでモータ停止させる状態をセットする(S252)。そして、S252の処理後、ホスト制御回路210は、役物制御初期化処理を終了する。
[LED登録処理]
次に、図77を参照して、初期化処理(図74参照)中のS227で行うLED登録処理について説明する。なお、図77は、本実施形態におけるLED登録処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、使用するLED281のチャンネルのハード情報を登録する(S261)。具体的には、ホスト制御回路210は、使用する各SPIのチャンネル開始ポート番号、チャンネル終了ポート番号及びチャンネル開始アドレスの設定を行う。
次いで、ホスト制御回路210は、使用するLEDドライバ280の情報設定を行う(S262)。具体的には、ホスト制御回路210は、LEDドライバ280にデータテーブル(LED281の点灯パターンの総数、LEDドライバ280に出力される輝度値に対応する情報テーブルなど)を登録する。そして、S262の処理後、ホスト制御回路210は、LED登録処理を終了する。
[操作手段入力処理]
次に、図78〜図80を参照して、副制御メイン処理(図72参照)中のS203で行う操作手段入力処理について説明する。なお、図78は、本実施形態における操作手段入力処理の動作概要を示す図である。また、図79は、本実施形態の操作手段入力処理内で行われる操作入力タイマ割込処理の手順を示すフローチャートであり、図80は、操作手段入力処理内で行われる操作入力情報取得処理の手順を示すフローチャートである。
本実施形態の操作手段入力処理では、パチンコ遊技機1に設けられた図示しない各種操作手段(例えば、ボタン、ジョグダイヤル等)に対して遊技者により演出に関する所定操作が行われた場合、図78に示すように、該所定操作に対応する信号(図78中の入力信号)が操作手段のドライバからホスト制御回路210に出力される。そして、ホスト制御回路210は、入力信号に基づいて、遊技者の所定操作による入力状態の情報を取得する。
操作手段入力処理内では、1msec周期のタイマ割込処理(測定用タイマ更新処理)として行われる操作入力タイマ割込処理と、予め設定されたFPS周期(例えば、16.7msecや33.3msec)で行われる操作入力情報取得処理とが行われる。以下に、操作入力タイマ割込処理及び操作入力情報取得処理の具体的にな手順を、それぞれ図79及び図80のフローチャートを参照しながら説明する。
(1)操作入力タイマ割込処理
操作入力タイマ割込処理では、まず、ホスト制御回路210は、図79に示すように、操作手段のドライバから操作入力信号の入力があるか否かを判別する(S271)。
S271において、ホスト制御回路210が、操作入力信号の入力がないと判別した場合(S271がNO判定の場合)、ホスト制御回路210は、操作入力タイマ割込処理を終了する。
一方、S271において、ホスト制御回路210が、操作入力信号の入力があると判別した場合(S271がYES判定の場合)、ホスト制御回路210は、操作入力信号に基づいて、操作入力状態を判断し、操作入力状態の情報をサブワークRAM210aに格納する(S272)。そして、S272の処理後、ホスト制御回路210は、操作入力タイマ割込処理を終了する。
(2)操作入力情報取得処理
操作入力情報取得処理では、ホスト制御回路210は、図80に示すように、サブワークRAM210aを参照し、操作入力状態の情報がサブワークRAM210aに格納されていれば、該操作入力状態の情報を取得する(S281)。そして、S281の処理後、ホスト制御回路210は、操作入力情報取得処理を終了する。
なお、S281の処理では、例えば、操作入力がボタンに対する操作入力である場合には、操作されたボタンの種別や押下回数などの情報が、操作入力状態の情報として取得される。また、例えば、操作入力がジョグダイヤルに対する操作入力である場合には、ジョグダイヤルの回転方向、回転角度、回転速度等の情報が操作入力状態の情報として取得される。そして、S281で取得された操作入力状態の情報は、操作手段に対する遊技者の操作入力に基づいて実行される演出の内容(演出のエフェクトなど)を決定(設定)する際に使用される。
[メイン・サブ間コマンド制御処理]
次に、図81及び図82を参照して、副制御メイン処理(図72参照)中のS204で行うメイン・サブ間コマンド制御処理について説明する。なお、図81は、本実施形態のメイン・サブ間コマンド制御処理内で行われるコマンド受信処理の手順を示すフローチャートであり、図82は、メイン・サブ間コマンド制御処理内で行われる受信データ記憶処理の手順を示すフローチャートである。
本実施形態では、主制御回路70(メインCPU71)から副制御回路200(ホスト制御回路210)にコマンドが送信され、該コマンドをホスト制御回路210が受信すると、ホスト制御回路210は、メイン・サブ間コマンド制御処理を割込処理として行う。そして、メイン・サブ間コマンド制御処理内では、コマンド受信時の割込処理として行われるコマンド受信処理と、該コマンド受信処理の後に実行される受信データ記憶処理とが行われる。以下に、コマンド受信処理及び受信データ記憶処理の具体的にな手順を、それぞれ図81及び図82のフローチャートを参照しながら説明する。
(1)コマンド受信処理(受信割込処理)
コマンド受信処理では、まず、ホスト制御回路210は、主制御回路70から送信されたコマンドを受信すると、図81に示すように、コマンド受信エラーが発生したか否かを判別する(S291)。
S291において、ホスト制御回路210が、コマンド受信エラーが発生していないと判別した場合(S291がNO判定の場合)、ホスト制御回路210は、後述のS293の処理を行う。一方、S291において、ホスト制御回路210が、コマンド受信エラーが発生したと判別した場合(S291がYES判定の場合)、ホスト制御回路210は、エラー情報の設定処理を行う(S292)。
S292の処理後又はS291がNO判定の場合、ホスト制御回路210は、コマンドデータ受信処理を行う(S293)。この処理では、ホスト制御回路210は、受信したコマンドデータをホスト制御回路210内のリングバッファ(図29参照)に書き込む。なお、コマンド受信エラーが発生し、S292においてエラー情報がセットされている場合には、受信したコマンドデータとエラー情報とのセット情報がリングバッファに書き込まれる。そして、S293の処理後、ホスト制御回路210は、コマンド受信処理を終了する。
(2)受信データ記憶処理
受信データ記憶処理では、ホスト制御回路210は、図81に示すように、上述のコマンド受信処理でリングバッファに書き込まれた受信コマンドデータをサブワークRAM210aに格納する(S301)。この処理により、受信コマンドがサブワークRAM210aに記憶される。なお、この処理では、受信コマンドデータは、1バイトずつ、リングバッファからサブワークRAM210aに転送される。
そして、S301の処理後、ホスト制御回路210は、受信データ記憶処理を終了する。
[コマンド解析処理]
次に、図83を参照して、副制御メイン処理(図72参照)中のS205で行うコマンド解析処理について説明する。図83は、本実施形態におけるコマンド解析処理の手順を示すフローチャートである。なお、以下に説明するコマンド解析処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、コマンド解析処理を行う手段(コマンド解析手段)も兼ねる。
まず、ホスト制御回路210は、サブワークRAM210aに格納された受信コマンドデータを取得する(S311)。なお、この際、受信コマンドデータに対応付けられたエラー情報がある場合には、ホスト制御回路210は、該受信コマンドデータを破棄する。
次いで、ホスト制御回路210は、受信したコマンドの種別を特定する(S312)。また、この処理では、ホスト制御回路210は、特定したコマンド種別の情報をサブワークRAM210aに保存する。なお、コマンド種別は、上述のように、各コマンドのコマンド種別部(先頭バイト領域)に格納された情報(予め設定された値)に基づいて特定される(図22〜図27参照)。例えば、受信したコマンドがデモ表示コマンドである場合には、S312の処理において、コマンド種別「80H」が、サブワークRAM210aに格納される。
次いで、ホスト制御回路210が、S312のコマンド種別の特定処理において受信したコマンドと対応するコマンド種別がないと判断した場合、ホスト制御回路210は、該受信コマンドデータを破棄する(S313)。次いで、ホスト制御回路210は、受信コマンドデータに含まれるパラメータ数を確認し、該パラメータ数が特定されたコマンド種別に対応するパラメータ数と異なる場合には、該受信コマンドデータを破棄する(S314)。
次いで、ホスト制御回路210は、コマンドパラメータチェック処理を行う(S315)。この処理では、ホスト制御回路210は、コマンド毎に設定されている各種パラメータ(図23〜図27参照)内の情報(以下、コマンドパラメータという)の内容をチェックする。具体的には、ホスト制御回路210は、例えば、パラメータ内の所定のビット領域に設けられた常時0領域のチェック、パラメータ内に格納されている各データの有効範囲のチェック、及び、格納データの組み合わせのチェックを行う。なお、コマンドパラメータチェック処理の詳細については、後述の図84を参照しながら後で説明する。
次いで、ホスト制御回路210は、受信コマンドに含まれるコマンドパラメータが正常であるか否かを判別する(S316)。この判別処理では、ホスト制御回路210は、S315のコマンドパラメータチェック処理の結果に基づいて、コマンドパラメータが正常であるか否か(コマンドの有効性の有無)を判別する。
S316において、ホスト制御回路210が、受信コマンドに含まれるコマンドパラメータが正常でないと判別した場合(S316がNO判定の場合)、ホスト制御回路210は、該受信コマンドのデータを破棄する(S317)。そして、S317の処理後、ホスト制御回路210は、コマンド解析処理を終了し、処理を副制御メイン処理(図72参照)のS206に移す。
一方、S316において、ホスト制御回路210が、受信コマンドに含まれるコマンドパラメータが正常であると判別した場合(S316がYES判定の場合)、ホスト制御回路210は、コマンドパラメータ(ゲームステータス等の情報)をゲームデータに反映(登録)させる(S318)。また、この処理では、コマンドパラメータが反映されたゲームデータをサブワークRAM210a内の所定領域に格納する。
次いで、ホスト制御回路210は、サブ抽選処理を行う(S319)。この処理では、ホスト制御回路210は、演出用の各種乱数値を取得し、受信したコマンドのコマンド種別に対応する演出内容の決定に係る抽選処理を行う。
例えば、受信したコマンドが特別図柄演出開始コマンドである場合には、ホスト制御回路210は、変動演出テーブル(図19参照)を用いた抽選処理により、変動演出パターン(「EN00」〜「EN44」)を決定する。また、例えば、受信したコマンドが保留加算コマンドである場合には、ホスト制御回路210は、保留演出テーブル(図20参照)を用いた抽選処理により、保留用図柄の色変化演出に係る演出パターン(「HE00」〜「HE19」)を決定するとともに、先読み演出テーブル(図21参照)を用いた抽選処理により、先読み演出に係る演出パターン(「SE00」〜「SE19」)を決定する。
また、S319の処理では、ホスト制御回路210は、サブ抽選処理の抽選結果(例えば、上述した各種演出パターンの情報)をサブワークRAM210a内の所定領域に格納する。
次いで、ホスト制御回路210は、S319のサブ抽選処理により得られた抽選結果をサブワークRAM210aに格納されたゲームデータに反映(登録)させる(S320)。
次いで、ホスト制御回路210は、サブワークRAM210aに格納されたゲームデータのバックアップ処理を行う(S321)。この処理により、ゲームデータが、SRAM210b内の所定領域及びそのミラーリング領域に保存される。なお、この処理でバックアップされたゲームデータは、上述したバックアップ復帰初期化処理(図75参照)において、ゲームデータが破損している場合に参照される。そして、S321の処理後、ホスト制御回路210は、コマンド解析処理を終了し、処理を副制御メイン処理(図72参照)のS206に移す。
なお、本実施形態では、上述のように、コマンド解析処理において、受信コマンドの破棄処理が行われる場合もあるが、破棄した受信コマンドの前にメインCPU71からホスト制御回路210にコマンドが全く送信されていない場合には、アニメーションリクエストが生成されないので、表示装置13の表示画面には、真っ黒な画像が表示される。一方、破棄した受信コマンドの前にメインCPU71からホスト制御回路210にコマンドが送信されている場合には、破棄した受信コマンドに基づくアニメーションリクエストは生成されず、表示装置13の表示画面には、破棄した受信コマンドの前のコマンドに基づくアニメーションリクエストにより生成された画像が維持して表示される。
[コマンドパラメータチェック処理]
次に、図84を参照して、コマンド解析処理(図83参照)中のS315で行うコマンドパラメータチェック処理について説明する。なお、図84は、本実施形態におけるコマンドパラメータチェック処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、サブワークRAM210aに格納されたコマンド種別を取得し、受信コマンドのコマンド種別に対応するチェック項目(マスキング)を設定する(S331)。
次いで、ホスト制御回路210は、受信コマンドに含まれる全ての常時0領域の情報をチェックする(S332)。なお、この処理において、ホスト制御回路210が、1以上の常時0領域において「0」以外の情報が格納されていることを検出した場合、ホスト制御回路210は、該受信コマンドを破棄する。また、解析対象の受信コマンドに常時0領域が設けられていない場合には、S332の処理は行われない。
次いで、ホスト制御回路210は、受信コマンドに含まれる各情報の値が対応する所定の範囲内の値であるか否かをチェックする(S333)。本実施形態では、受信コマンドのパラメータフィールド部に格納された情報の値は、予め所定の範囲(有効範囲)内の値となるように定義されている。例えば、第1電断復帰コマンド(図25参照)の第2パラメータの格納領域(「b0」〜「b7」の8ビットの領域)には、特別停止図柄指定情報が格納されているが、この特別停止図柄指定情報の値の有効範囲は「0x00」〜「0x20」に設定されている。そして、この処理において、ホスト制御回路210が、受信コマンドに含まれる1以上の情報において、その値が対応する所定の範囲内の値でないと判断した場合には、ホスト制御回路210は、該受信コマンドを破棄する。
次いで、ホスト制御回路210は、受信コマンドに含まれる各種情報の組合せをチェックする(S334)。本実施形態では、受信コマンドに含まれる各情報の値が対応する有効範囲内の値であっても、コマンドに含まれる各種情報の組合せに矛盾が発生する場合には、ホスト制御回路210は、該受信コマンドを破棄する。例えば、受信コマンドが特別図柄演出開始コマンドである場合、その受信コマンドに含まれるゲームステータスの情報が「小当り」を示し、図柄指定コマンドの情報が大当り図柄であるときには、コマンド内の情報の組合せに矛盾が発生しているので、ホスト制御回路210は、受信した特別図柄演出開始コマンドを破棄する。
そして、S334の処理後、ホスト制御回路210は、コマンドパラメータチェック処理を終了し、処理をコマンド解析処理(図83参照)のS316に移す。
なお、本実施形態では、上述のように、コマンドパラメータチェック処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、S332の常時0領域のチェック処理を行う手段(第1コマンド判定手段)、S333の受信コマンドに含まれる各情報の値の有効性のチェック処理を行う手段(第2コマンド判定手段)、及び、S334の受信コマンドに含まれる各種情報の組合せのチェック処理を行う手段(第3コマンド判定手段)も兼ねる。
[アニメーションリクエスト構築処理]
次に、図85を参照して、副制御メイン処理(図72参照)中のS206で行うアニメーションリクエスト構築処理について説明する。なお、図85は、本実施形態におけるアニメーションリクエスト構築処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、主制御回路70からコマンドを受信したか否かを判別する(S341)。
S341において、ホスト制御回路210が、主制御回路70からコマンドを受信していないと判別した場合(S341がNO判定の場合)、ホスト制御回路210は、後述のS352の処理を行う。一方、S341において、ホスト制御回路210が、主制御回路70からコマンドを受信したと判別した場合(S341がYES判定の場合)、ホスト制御回路210は、電断復帰コマンド(第1電断復帰コマンド及び第2電断復帰コマンド)を受信したか否かを判別する(S342)。
S342において、ホスト制御回路210が、電断復帰コマンドを受信していないと判別した場合(S342がNO判定の場合)、ホスト制御回路210は、後述のS346の処理を行う。一方、S342において、ホスト制御回路210が、電断復帰コマンドを受信したと判別した場合(S342がYES判定の場合)、ホスト制御回路210は、電断復帰コマンド(第2電断復帰コマンド)に含まれるステータス(内部制御状態)の情報が変動状態であるか否かを判別する(S343)。具体的には、ホスト制御回路210は、第2電断復帰コマンド内の第2パラメータに含まれる内部制御状態番号の格納領域に「001」(特別図柄変動状態)がセットされているか否かを判別する。なお、電断検知時の状態が特別図柄の変動表示中である場合には、S343の処理の時点において、第2電断復帰コマンドの第2パラメータ内の内部制御状態番号の格納領域に「001」(特別図柄変動状態)がセットされている。
S343において、ホスト制御回路210が、電断復帰コマンドに含まれるステータスの情報が変動状態でないと判別した場合(S343がNO判定の場合)、ホスト制御回路210は、後述のS346の処理を行う。
一方、S343において、ホスト制御回路210が、電断復帰コマンドに含まれるステータスの情報が変動状態であると判別した場合(S343がYES判定の場合)、ホスト制御回路210は、シンプルモードオブジェクトの生成処理を予約する(S344)。次いで、ホスト制御回路210は、シンプルモードオブジェクト以外の全てのオブジェクト(常駐しているオブジェクトも含む)の終了処理を行う(S345)。そして、S345の処理後、ホスト制御回路210は、後述のS350の処理を行う。
ここで、再度、S342又はS343の処理に戻って、S342又はS343がNO判定の場合、ホスト制御回路210は、オブジェクトが存在するか否かを判別する(S346)。
S346において、ホスト制御回路210が、オブジェクトが存在しないと判別した場合(S346がNO判定の場合)、ホスト制御回路210は、後述のS350の処理を行う。一方、S346において、ホスト制御回路210が、オブジェクトが存在すると判別した場合(S346がYES判定の場合)、ホスト制御回路210は、シンプルモードオブジェクトが存在するか否かを判別する(S347)。
S347において、ホスト制御回路210が、シンプルモードオブジェクトが存在しないと判別した場合(S347がNO判定の場合)、ホスト制御回路210は、後述のS349の処理を行う。一方、S347において、ホスト制御回路210が、シンプルモードオブジェクトが存在すると判別した場合(S347がYES判定の場合)、ホスト制御回路210は、特別図柄の変動表示が終了することを示すコマンド(例えば、特別演出停止コマンド、特別図柄当り終了表示コマンド等)を受信したか否かを判別する(S348)。
S348において、ホスト制御回路210が、特別図柄の変動表示が終了することを示すコマンドを受信しなかったと判別した場合(S348がNO判定の場合)、ホスト制御回路210は、後述のS352の処理を行う。一方、S348において、ホスト制御回路210が、特別図柄の変動表示が終了することを示すコマンドを受信したと判別した場合(S348がYES判定の場合)、すなわち、シンプルモードオブジェクトを終了する場合、ホスト制御回路210は、後述のS349の処理を行う。
S347がNO判定の場合又はS348がYES判定の場合、ホスト制御回路210は、既に生成されているオブジェクトの終了処理を行う(S349)。この処理により、不要な演出動作(演出画像再生、役物可動、音声再生などを示すコマンドの生成)が終了する。なお、既に生成されているオブジェクトがシンプルモードオブジェクトである場合には、この処理によりシンプルモードオブジェクトによる演出動作が終了する。
S349或いはS345の処理後、又は、S346がNO判定の場合、ホスト制御回路210は、サブワークRAM210aに格納されたコマンド種別の情報に基づいて、コマンド種別に対応するオブジェクトを生成する(S350)。なお、S345の処理後にこの処理が行われる場合には、ホスト制御回路210は、S350の処理において、シンプルモードオブジェクトを生成する。また、電源の初期投入時又はシンプルモードオブジェクトの終了時には、ホスト制御回路210は、S350の処理において、常駐型のオブジェクトも生成する。
次いで、ホスト制御回路210は、オブジェクトの初期化処理を行う(S351)。この処理では、ホスト制御回路210は、オブジェクトにより使用される記憶領域を初期化する。
S351の処理後、又は、S341或いはS348がNO判定の場合、ホスト制御回路210は、サブワークRAM210aに格納されたゲームデータの情報を参照し、オブジェクト(例えば、演出オブジェクト、保留オブジェクト、シンプルモードオブジェクトなど)に基づくアニメーションリクエストを生成し、該アニメーションリクエストをサブワークRAM210aの所定領域にセットする(S352)。この処理によりコマンド受信に応じたアニメーションリクエストが生成される。
次いで、ホスト制御回路210は、アニメーションリクエストに基づいて、アニメーションリクエストが指定する演出に対応するサウンドリクエスト、ランプリクエスト及び役物リクエストを生成する(S353)。また、この処理では、ホスト制御回路210は、映像表示動作と、音声再生動作、発光動作及び役物駆動動作との同期をとるため、生成されたサウンドリクエスト、ランプリクエスト及び役物リクエストを、ホスト制御回路210内に設けられたリクエストバッファに一時的に格納する。なお、本実施形態では、リクエストバッファは、例えば、サブワークRAM210a、SDRAM210b等に設けられるが、リクエストバッファの形成場所は特に限定されない。
そして、S353の処理後、ホスト制御回路210は、アニメーションリクエスト構築処理を終了し、処理を副制御メイン処理(図72参照)のS207に移す。
なお、本実施形態では、上述のように、アニメーションリクエスト構築処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、S350のオブジェクト生成処理を行う手段(処理情報生成手段)、及び、S352のアニメーションリクエストの生成処理を行う手段(演出開始要求作成手段)も兼ねる。
[描画制御処理]
次に、図86A及び図86Bを参照して、副制御メイン処理(図72参照)中のS208で行う描画制御処理について説明する。なお、図86Aは、ホスト制御回路210により実行される描画制御処理の手順を示すフローチャートである。また、図86Bは、描画制御処理においてホスト制御回路210から表示制御回路230に描画リクエストが出力された際に、表示制御回路230により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される描画制御処理
まず、ホスト制御回路210は、図86Aに示すように、動画コマンド作成処理を行う(S361)。なお、動画コマンド作成処理の詳細については、後述の図87を参照しながら後で説明する。
次いで、ホスト制御回路210は、動画再生状態の管理処理を行う(S362)。次いで、ホスト制御回路210は、動画コマンド(動画のデコード開始指令)を表示制御回路230に発行(出力)する(S363)。この処理により表示制御回路230の処理が開始される。
次いで、ホスト制御回路210は、サブワークRAM210aに格納されている、前回フレーム(前回の描画制御処理)で生成された描画リクエストを表示制御回路230に発行(出力)する(S364)。表示制御回路230は、この送信された前回フレームの描画リクエストに基づいて、描画処理を行う。
次いで、ホスト制御回路210は、全コマンドリスト作成処理を行う(S365)。この処理により、次回フレームにおいて、表示制御回路230により実行される描画処理で用いられる描画リクエストが生成され、該描画リクエストがサブワークRAM210aに格納される。なお、全コマンドリスト作成処理の詳細については、後述の図89を参照しながら後で説明する。
次いで、ホスト制御回路210は、表示制御回路230から出力された表示開始コマンドに基づいて、レンダリング結果の表示処理が開始されたことを確認する(S366)。そして、S366の処理後、ホスト制御回路210は、描画制御処理を終了し、処理を副制御メイン処理(図72参照)のS209に移す。
(2)描画制御処理時に実行される表示制御回路の処理
まず、ホスト制御回路210から出力された動画コマンド(動画のデコード開始指令)が表示制御回路230に入力されると、表示制御回路230は、動画のデコード処理を開始する(S371)。なお、本実施形態では、このデコード処理及び後述の描画処理は、2フレームの期間に渡って行われる。
次いで、ホスト制御回路210から出力された描画リクエスト(前回フレームで生成された描画リクエスト)が表示制御回路230に入力されると、表示制御回路230は、該描画リクエストに基づいて、描画処理を行う(S372)。なお、描画処理の詳細については、後述の図90〜図92を参照しながら後で説明する。
次いで、表示制御回路230は、S372の描画処理で得られたレンダリング結果(描画結果)の表示処理を開始する(S373)。この処理では、表示制御回路230は、レンダリング結果が格納されたSDRAM250内の一方のフレームバッファの機能を描画機能から表示機能に切り替えて、レンダリング結果の表示処理を開始する。
次いで、表示制御回路230は、レンダリング結果(描画結果)の表示処理が開始されたことを示す表示開始コマンドをホスト制御回路210に出力する(S374)。そして、S374の処理後、表示制御回路230は、描画制御処理時に行う上記一連の処理を終了する。このように、前回フレームで生成された描画リクエストに基づいて当該描画処理を実行するため、描画処理の終了後に実行されるフレームバッファの機能(使用領域)を描画機能(描画用記憶領域)から表示機能(表示用記憶領域)に切り替えるタイミングに合わせて、サウンドリクエスト及び役物リクエストがそれぞれ対応する制御回路に送信される。このため、サウンドリクエストや役物リクエストは、各リクエストが生成されてから2フレーム遅れて対応する制御回路に送信される。
[動画コマンド作成処理]
次に、図87を参照して、描画制御処理(図86A参照)中のS361で行う動画コマンド作成処理について説明する。なお、図87は、本実施形態における動画コマンド作成処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、サブワークRAM210aに格納されたアニメーションリクエストを参照し、描画データのルートコンポジションを設定するための情報を取得する(S381)。なお、ルートコンポジションは、演出時に表示する主な描画データのことであり、本実施形態では、設定可能なルートコンポジションの個数は最大8個である。それゆえ、本実施形態では、ルートコンポジションに設定された描画データを最大8個まで同時に再生することができる。
次いで、ホスト制御回路210は、サブワークRAM210aに格納されたアニメーションリクエストを参照し、描画データのサブコンポジションを設定するための情報を取得する(S382)。なお、サブコンポジションは、ルートコンポジションに対して副次的な視覚的効果(エフェクトなど)を与える描画データのことである。
次いで、ホスト制御回路210は、後述のS384〜S387の処理が、アニメーションリクエストにより指定される描画データに対応する全レイヤ又はアニメーションリクエストにより指定される全レイヤに応じて実行されたか否かを判別する(S383)。ここでいう、「全レイヤに応じて実行される」には、全レイヤ分実行される、全レイヤに対応した回数実行される、又は、全レイヤに基づいて実行されるなどが含まれ、アニメーションリクエスト又は描画データと対応するレイヤ数に応じた回数、後述のS384〜S387の処理が行われればよい。また、全てのレイヤでなくとも各レイヤに対して取捨選択を行うなど、様々な前提条件の下で後述のS384〜S387の処理を実行してもよい。
S383において、ホスト制御回路210が、後述のS384〜S387の処理が、アニメーションリクエストにより指定される描画データに対応する全レイヤ又はアニメーションリクエストにより指定される全レイヤに応じて実行されていないと判別した場合(S383がNO判定の場合)、ホスト制御回路210は、サブメインROM205に格納されたアニメーションデータ読込処理を行う(S384)。なお、アニメーションデータ読込処理の詳細については、後述の図88A及び図88Bを参照しながら後で説明する。
S384の処理後、ホスト制御回路210は、アニメーションデータから描画データに関する情報を取得する(S385)。次いで、ホスト制御回路210は、アニメーションリクエストにより指定された演出内容に応じて、描画データに関する情報を書き換える(S386)。この処理では、例えば、演出内容に応じて、フッテージ、エフェクト、動きに関する情報を書き換える。
次いで、ホスト制御回路210は、動画コマンド(画像データのデコード処理を開始させるコマンド)の作成処理を行う(S387)。S387の処理後、ホスト制御回路210は、処理をS383に戻し、S383以降の処理を繰り返す。
ここで、再度、S383の処理に戻って、S383において、ホスト制御回路210が、S384〜S387の処理が、アニメーションリクエストにより指定される描画データに対応する全レイヤ又はアニメーションリクエストにより指定される全レイヤに応じて実行されたと判別した場合(S383がYES判定の場合)、ホスト制御回路210は、上述したS381〜S387の処理が、アニメーションリクエストにより指定されるルートコンポジションが設定される描画データに応じて実行されたか否かを判別する(S388)。
S388において、ホスト制御回路210が、上述したS381〜S387の処理が、アニメーションリクエストにより指定されるルートコンポジションが設定される描画データに応じて実行されていないと判別した場合(S388がNO判定の場合)、ホスト制御回路210は、処理をS381に戻し、S381以降の処理を繰り返す。一方、S388において、ホスト制御回路210が、上述したS381〜S387の処理が、アニメーションリクエストにより指定されるルートコンポジションが設定される描画データに応じて実行されたと判別した場合(S388がYES判定の場合)、ホスト制御回路210は、動画コマンド作成処理を終了し、処理を描画制御処理(図86A参照)のS362に移す。
[アニメーションデータ読込処理]
次に、図88A及び図88Bを参照して、動画コマンド作成処理(図87参照)中のS384で行うアニメーションデータ読込処理について説明する。なお、図88Aは、本実施形態におけるアニメーションデータ読込処理の手順を示すフローチャートである。また、図88Bは、サブメインROM205に格納されているアニメーションデータに含まれる各種データ及びそれらのデータの格納領域の構成を示す図である。
まず、ホスト制御回路210は、サブメインROM205内の構成指定テーブルを参照し、オブジェクトで指定されたアニメーションの構成データを確認する(S391)。次いで、ホスト制御回路210は、指定された構成データのアドレスを取得する(S392)。
次いで、ホスト制御回路210は、サブメインROM205内の指定された構成データの格納領域を参照する(S393)。次いで、ホスト制御回路210は、構成データに含まれる構成情報を参照して、描画対象の情報を取得する(S394)。なお、構成情報には、主に、フレームの位置、幅、高さ、レイヤ数、開始フレーム、終了フレーム、データ更新回数(毎フレーム、2フレームなど)等の情報が含まれる。次いで、ホスト制御回路210は、構成データの格納領域を参照して、参照するレイヤデータのアドレスを取得する(S395)。
次いで、ホスト制御回路210は、S395の処理で取得されたアドレスのレイヤデータの格納領域を参照する(S396)。そして、ホスト制御回路210は、レイヤデータに含まれるレイヤ情報を取得する(S397)。なお、レイヤ情報には、例えば、フッテージID/コンポID、開始フレーム、終了フレーム、パラメータ数等の情報が含まれる。次いで、ホスト制御回路210は、レイヤの各種パラメータを取得する際に参照する各種データアドレス(例えば、パラメータアドレスやエフェクトテーブルアドレスなど)を取得する(S398)。
次いで、ホスト制御回路210は、S398の処理で取得されたパラメータアドレスのパラメータデータの格納領域を参照する(S399)。次いで、ホスト制御回路210は、パラメータデータに含まれるレイヤのパラメータ情報及びレイヤの各種パラメータを取得する(S400)。なお、レイヤのパラメータ情報には、例えば、フレーム数、データ型等の情報が含まれる。また、レイヤの各種パラメータは、フレーム毎にセットされたパラメータで構成され、副制御メイン処理がフレーム単位で実行されるたびに、対応するフレームのパラメータがリクエストされる。
次いで、ホスト制御回路210は、S397の処理で取得されたレイヤ情報に含まれるフッテージIDに対応するフッテージテーブルを参照する(S401)。次いで、ホスト制御回路210は、フッテージテーブルに格納された、フッテージ情報及びフッテージ種別毎の情報を取得する(S402)。なお、フッテージ情報には、例えば、フッテージ種別、画像幅、高さ等の情報が含まれる。また、フッテージ種別毎の情報には、例えば、デコードレート等の情報が含まれる。
次いで、ホスト制御回路210は、レイヤデータで指定されたエフェクトテーブル、すなわち、S398の処理で取得されたエフェクトテーブルアドレスのエフェクトテーブルを参照する(S403)。次いで、ホスト制御回路210は、参照するエフェクトデータのアドレスを取得する(S404)。
次いで、ホスト制御回路210は、S404の処理で取得されたアドレスのエフェクトデータの格納領域を参照する(S405)。そして、ホスト制御回路210は、エフェクトデータに含まれるエフェクト情報を取得する(S406)。なお、エフェクト情報には、例えば、エフェクト種類、パラメータ数等の情報が含まれる。次いで、ホスト制御回路210は、エフェクトデータに含まれるパラメータデータのアドレスを取得する(S407)。
次いで、ホスト制御回路210は、S407の処理で取得されたパラメータアドレスのパラメータデータの格納領域を参照する(S408)。次いで、ホスト制御回路210は、パラメータデータに含まれるエフェクトのパラメータ情報及びエフェクトの各種パラメータを取得する(S409)。なお、エフェクトのパラメータ情報には、例えば、フレーム数、データ型等の情報が含まれる。
そして、S409の処理後、ホスト制御回路210は、アニメーションデータ読込処理を終了し、処理を動画コマンド作成処理(図87参照)のS385に移す。
[全コマンドリスト作成処理(描画リクエスト生成処理)]
次に、図89を参照して、描画制御処理(図86A参照)中のS365で行う全コマンドリスト作成処理について説明する。なお、図89は、本実施形態における全コマンドリスト作成処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、後述のS412〜S418の処理が描画データの全ルートコンポジションに対して実行されたか否かを判別する(S411)。
S411において、ホスト制御回路210が、後述のS412〜S418の処理が描画データの全ルートコンポジションに対して実行されていないと判別した場合(S411がNO判定の場合)、ホスト制御回路210は、2つ目以降のルートコンポジションに対する後述のS413〜S418の処理時において、1つ目のルートコンポジションに対する処理における、静止画のデコード処理や後述の各種コマンド(静止画デコード、描画コマンド等)の生成処理などが終了するまで待機する(S412)。
次いで、ホスト制御回路210は、スプライトバッファ0用コマンドを作成する(S413)。なお、スプライトバッファ0用コマンドは、後述の描画処理において、例えば内蔵VRAM237にスプライトバッファ0を設けて、該スプライトバッファ0にCGROM基板204から静止画(スプライト)を読み込んでデコードする処理を実行する際に用いられるコマンドである。
次いで、ホスト制御回路210は、テクスチャ情報を取得する(S414)。この処理では、ホスト制御回路210は、指定されたテクスチャソース(SDRAM250)の情報を取得する。
次いで、ホスト制御回路210は、エフェクト用コマンドを作成する(S415)。なお、エフェクト用コマンドは、後述の描画処理において、例えば内蔵VRAM237にエフェクトバッファを設けて、該エフェクトバッファを用いてエフェクトデータに対して各種処理を実行する際に用いられるコマンドである。
次いで、ホスト制御回路210は、描画用コマンドを作成する(S416)。なお、描画用コマンドは、後述の描画処理において、例えば内蔵VRAM237に読み込まれた各種デコード結果に対してレンダリング(描画)処理を実行する際に用いられるコマンドである。
次いで、ホスト制御回路210は、静止画デコード用コマンドを作成する(S417)。なお、静止画デコード用コマンドは、後述の描画処理において、例えば内蔵VRAM237内の半分の領域にスプライトバッファ1を設けて、該スプライトバッファ1にCGROM基板204から静止画(スプライト)を読み込んでデコードする処理を実行する際に用いられるコマンドである。
次いで、ホスト制御回路210は、フレーム終端用コマンドを作成する(S418)。なお、フレーム終端用コマンドは、後述の描画処理において、例えば内蔵VRAM237内に設けらえたコンポジション描画バッファに最終的に格納されたレンダリング結果を、レンダリングターゲットに指定されたSDRAM250内のフレームバッファ(第1フレームバッファ又は第2フレームバッファ)に書き出す処理を実行する際に用いられるコマンドである。そして、S418の処理後、ホスト制御回路210は、処理をS411に戻し、S411以降の処理を繰り返す。
ここで、再度、S411の処理に戻って、S411において、ホスト制御回路210が、S412〜S418の処理が描画データの全ルートコンポジションに対して実行されたと判別した場合(S411がYES判定の場合)、ホスト制御回路210は、上述したS412〜S418のループ処理により生成された全てのコマンドを含む描画リクエストを生成する(S419)。そして、S419の処理後、ホスト制御回路210は、全コマンドリスト作成処理を終了し、処理を描画制御処理(図86A参照)のS366に移す。なお、本実施形態では、上述した描画制御処理(図86A)、動画コマンド作成処理(図87)、アニメーションデータ読込処理(図88A)及び全コマンドリスト作成処理(図89)において、ホスト制御回路210が実行する処理を表示制御回路230が実行してもよい。この場合には、ホスト制御回路210から表示制御回路230にアニメーションリクエストが送信され、表示制御回路230は受信したアニメーションリクエストに基づいて、これらの各種処理を行う。
[描画処理]
次に、図90〜図92を参照して、描画制御処理(図86B参照)中のS372において表示制御回路230により実行される描画処理について説明する。なお、図90A、図91A及び図92Aは、本実施形態における描画処理の手順を示すフローチャートである。また、図90B、図91B及び図92Bは、描画処理の各処理ステップにおいて行われる、CGROM基板204(CGROM206)、内蔵VRAM237及びSDRAM250間の各種データの入出力動作及び格納動作の様子を示す図である。
まず、表示制御回路230は、CGROM基板204に格納された所定の動画データをデコードしてSDRAM250内に設けられたムービバッファに格納する(S421:図90B中の矢印T1参照)。なお、ムービバッファは、動画データのデコード結果を格納するバッファである。SDRAM250内において確保されるムービバッファのサイズは、使用する動画データの大きさ(容量)、ストリーム数などに応じて変化する。
次いで、表示制御回路230は、デコードされた動画データがエフェクト描画動作において参照されるか否かを判断する(S422)。
S422において、表示制御回路230が、動画データがエフェクト描画動作において参照されないと判別した場合(S422がNO判定の場合)、表示制御回路230は、後述のS424の処理を行う。一方、S422において、表示制御回路230が、動画データがエフェクト描画動作において参照されると判別した場合(S422がYES判定の場合)、表示制御回路230は、ムービバッファに格納された動画データのデコード結果をSDRAM250内のテクスチャバッファに転送する(S423)。
なお、S423の処理では、まず、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果を、内蔵VRAM237内に生成されたムービブレンドバッファに展開する(図90B中の矢印T2参照)。なお、この処理では、内蔵VRAM237の全領域をムービブレンドバッファとして使用する。次いで、表示制御回路230は、ムービブレンドバッファに展開された動画データのデコード結果をSDRAM250内のテクスチャバッファに転送するとともに、アルファテーブルを用いて、デコード結果に対してアルファ化処理を施す(図90B中の矢印T3参照)。
なお、アルファテーブルは、カラーデータ(RGB)とは独立したアルファ値(不透明度)を規定するテーブルであり、パターンデータの1ドット毎に1つのアルファ値が割り当てられる。このアルファテーブルは、CGROM206に格納されている。また、デコード結果のアルファ化処理では、R(赤)成分の輝度値をA(アルファ)成分の値(アルファ値)に変換してアルファ化を行う。本実施形態では、透明度(不透明度)の値であるアルファ値がRGB以外の情報として設けられており、動画の透明度(不透明度)を動的に変更する際には、アルファ値がRGB成分のうち予め定められた色成分の輝度値に設定(変換)される。このようなアルファ化処理が施された動画は、動画を3原色(RGB)で表現しない場合(白黒等で表現する場合)に使用される。
S423の処理後又はS422がNO判定の場合、表示制御回路230は、CGROM基板204に格納された、各ルートコンポジションで使用するスプライトデータを内蔵VRAM237内のスプライトバッファ0に読み出して(図90B中の矢印T4参照)デコードし、該デコード結果をSDRAM250内のテクスチャバッファに転送する(S424:図90B中の矢印T5参照)。なお、ここでいう「スプライトデータ」は、静止画データが伸張した画像データとするが、本発明はこれに限定されず、静止画データに対して、例えば、縮小、拡大、湾曲、明度変更等の加工を施したものであってもよい。S424の処理でデコードされるスプライトデータは、複数回描画される画像データ、エフェクトで利用される画像データ及びスプライトバッファ1で格納できないサイズの画像データである。また、この処理では、内蔵VRAM237の全領域をスプライトバッファ0として使用する。
次いで、表示制御回路230は、エフェクトデータの描画処理で使用するバッファサイズ(エフェクトバッファのサイズ)が内蔵VRAM237のサイズの半分以下であるか否かを判別する(S425)。なお、内蔵VRAM237内のエフェクトバッファは、SDRAM250内のテクスチャバッファに格納された各種画像のデコード結果に、S424でテクスチャバッファに転送されたスプライトデータに含まれるエフェクトデータ(エフェクトで利用される画像データ)を適用するためのバッファである。
S425において、表示制御回路230が、エフェクトデータの描画処理で使用するバッファサイズが内蔵VRAM237のサイズの半分以下でないと判別した場合(S425がNO判定の場合)、表示制御回路230は、SDRAM250内のテクスチャバッファに格納された各種画像のデコード結果に、エフェクトデータを適用するための描画処理(エフェクト演算描画処理)を行う(S426)。
具体的には、S426の処理では、まず、表示制御回路230は、テクスチャバッファに格納された各種画像及びエフェクトデータのデコード結果を、内蔵VRAM237に設けられたエフェクトバッファに読み出す(図91B中の矢印T6参照)。なお、この際、内蔵VRAM237の全領域をエフェクトバッファとして使用する。次いで、表示制御回路230は、エフェクトデータを各種画像のデコード結果に適用するための描画処理(エフェクト演算描画処理)を行う。そして、表示制御回路230は、エフェクト演算描画処理の結果(エフェクト結果)を内蔵VRAM237内のエフェクトバッファからSDRAM250内のテクスチャバッファに転送する(図91B中の矢印T7参照)。
一方、S425において、表示制御回路230が、エフェクトデータの描画処理で使用するバッファサイズが内蔵VRAM237のサイズの半分以下であると判別した場合(S425がYES判定の場合)、表示制御回路230は、内蔵VRAM237の半分の領域をエフェクトバッファとして動作させ、残りの半分の領域をコピーバッファとして動作させる(S427)。次いで、表示制御回路230は、テクスチャバッファに格納された各種画像及びエフェクトデータのデコード結果を、内蔵VRAM237に設けられたエフェクトバッファを読み出してエフェクト演算描画処理を行う(S428)。
この際、コピーバッファにエフェクトデータのデコード結果(エフェクトのソース画像)がすでに転送済みである場合には、表示制御回路230は、SDRAM250のテクスチャバッファからエフェクトのソース画像を読み出さずに、コピーバッファからエフェクトバッファにエフェクトのソース画像を直接読み出して(図91B中の矢印T8参照)エフェクト演算描画処理を行う。一方、コピーバッファにエフェクトのソース画像が転送済みでない場合には、表示制御回路230は、SDRAM250のテクスチャバッファからコピーバッファにエフェクトのソース画像を読み出した後(図91B中の矢印T9参照)、該エフェクトのソース画像をコピーバッファからエフェクトバッファに読み出してエフェクト演算描画処理を行う。そして、表示制御回路230は、エフェクト演算描画処理の結果(エフェクト結果)をコピーバッファに保存し(図91B中の矢印T10参照)、コピーバッファに保存されたエフェクト結果をSDRAM250のテクスチャバッファに転送する(図91B中の矢印T11参照)。なお、エフェクトが複数適用され、且つ、各エフェクトのバッファ使用量が内蔵VRAM237のサイズの半分以下である場合には、表示制御回路230は、エフェクト演算描画処理毎にその結果(エフェクト結果)をコピーバッファに転送し、複数のエフェクトの描画結果が最後まで終了した後、エフェクト結果をコピーバッファからSDRAM250のテクスチャバッファに転送する。
上述のように、本実施形態では、後述のコンポジション描画処理の前に、各コンポジション内で使用されるレイヤに適用される全てのエフェクトに対して描画処理が施される。また、本実施形態では、エフェクトで使用するバッファ容量が内蔵VRAM237の容量の半分以下である場合には、内蔵VRAM237内の半分の領域をコピーバッファとして利用し、エフェクトで使用するバッファ容量が内蔵VRAM237の容量の半分以下でない場合には、内蔵VRAM237の全領域をエフェクトバッファとして使用する。すなわち、エフェクトで使用するバッファ容量に応じて、エフェクトバッファとして使用される内蔵VRAM237内の領域が適宜変更される。このような処理を行うことにより、エフェクト演算描画処理を複数のエフェクトに対して適用する際の処理を高速化することができる。
S426又はS428の処理後、表示制御回路230は、S424でデコードされていない(テクスチャバッファに格納されていない)スプライトデータを内蔵VRAM237内に設けられたコンポジション描画バッファに読み出して描画する(S429)。具体的には、まず、表示制御回路230は、CGROM基板204からS424でデコードされていないスプライトデータを内蔵VRAM237内の半分の領域に設けられたスプライトバッファ1に読み出してデコードする(図92B中の矢印T12参照)。なお、スプライトデータを「スプライトバッファ1に読み出してデコードする」とは、スプライトデータをスプライトバッファ1にデコードしながら読み出す態様を含む意味である。それゆえ、この処理では、スプライトデータの読み出し処理とデコード処理とが同じタイミングで行われてもよいし、スプライトデータのデコード処理を行ってから読み出し処理を行ってもよい。すなわち、スプライトデータを「スプライトバッファ1に読み出してデコードする」処理には、スプライトデータの読み出し処理及びデコード処理の処理順序に関係なく、両処理が含まれていればよい。なお、「スプライトバッファ1に読み出してデコードする」処理がスプライトデータの読み出し処理及びデコード処理のみが含まれる処理であってもよい。
次いで、表示制御回路230は、スプライトバッファ1に格納されたスプライトデータのデコード結果をコンポジション描画バッファに転送して描画処理を行う(図92B中の矢印T13参照)。
S429の処理後、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果を、内蔵VRAM237内のコンポジション描画バッファに読み出して描画する(S430)。具体的には、まず、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果のカラー成分を内蔵VRAM237内の残りの半分の領域に設けられたムービブレンドバッファに転送するとともに、デコード結果に対してアルファ化処理を施す(図92B中の矢印T14参照)。次いで、表示制御回路230は、ムービブレンドバッファに転送され且つアルファ化処理が施された動画データのデコード結果をコンポジション描画バッファに転送して描画処理を行う(図92B中の矢印T15参照)。
次いで、表示制御回路230は、コンポジション描画処理を行う(S431)。なお、この処理では、次の各種処理が行われる。
まず、表示制御回路230は、テクスチャソース(SDRAM250内のテクスチャソース、ムービバッファ)に格納された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画結果)を内蔵VRAM237内に設けられたコンポジション描画バッファに読み出す(図92B中の矢印T16参照)。また、表示制御回路230は、SDRAM250内のテクスチャバッファに格納された各種ソース画像をSDRAM250内に設けられたブレンドバッファ及び内蔵VRAM237内に設けられたコピーバッファに転送する(図92B中の矢印T17及びT18参照)。
次いで、表示制御回路230は、SDRAM250のブレンドバッファ及び内蔵VRAM237のコピーバッファの間で各種データを入出力させて(図92B中の矢印T19参照)、ブレンド演算描画処理を行う。なお、ブレンド演算描画処理では、動画(ムービ)データと静止画(スプライト)データとを合成する演算処理が行われる。そして、表示制御回路230は、ブレンド演算描画処理の結果(ブレンド結果)をコンポジション描画バッファに転送する(図92B中の矢印T20参照)。
次いで、表示制御回路230は、コンポジション描画バッファに読み出された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画)及びブレンド結果を用いて描画(レンダリング)処理を施す。
そして、表示制御回路230は、描画(レンダリング)処理により構築された描画結果(レンダリング結果)をSDRAM250のテクスチャバッファ又はSDRAM250の所定のフレームバッファ(第1フレームバッファ又は第2フレームバッファ)に保存する(図92B中の矢印T21又はT22参照)。なお、この際、描画処理の実施対象がサブコンポジションである場合には、描画結果はテクスチャバッファに保存され、描画処理の実施対象がルートコンポジションである場合には、描画結果はフレームバッファに保存される。また、描画結果をフレームバッファに保存する場合には、前回フレームのコンポジション描画処理で描画結果が保存されたフレームバッファとは別のフレームバッファに描画結果が保存される。S431のコンポジション描画処理は上述のようにして行われる。
なお、S431のコンポジション描画処理において、以下の条件(1)〜(5)の全てが成立する場合には、表示制御回路230は、テクスチャソース(SDRAM250内のテクスチャソース、ムービバッファ)に格納された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画結果)を、内蔵VRAM237内のコピーバッファにコピー描画した後、各種ソース画像をコンポジション描画バッファに読み出してコンポジション描画処理が行われる。
(1)テクスチャの左上座標が8ドットアラインに不一致
(2)回転、拡大・縮小有り
(3)バイリニアフィルタを使用
(4)ブレンド描画演算処理がマルチレンダリング処理である。
(5)テクスチャソースに格納された各レイヤの各種ソース画像がコピーバッファのサイズに収まる。
また、上述したコンポジション描画処理が、連続して同一のテクスチャソース内の各種ソース画像に対して行われる場合には、コピーバッファにキャッシュされた各種ソース画像が使用される。
そして、上述したS431の処理後、表示制御回路230は、描画処理を終了し、処理を、描画制御処理(図86B参照)中のS373に移す。
[音声制御処理]
次に、図93A及び図93Bを参照して、副制御メイン処理(図72参照)中のS209で行う音声制御処理について説明する。なお、図93Aは、ホスト制御回路210により実行される音声制御処理の手順を示すフローチャートである。また、図93Bは、音声制御処理においてホスト制御回路210から音声・LED制御回路220にサウンドリクエストが出力された際に、音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される音声制御処理
ホスト制御回路210は、図85のアニメーションリクエスト構築処理においてリクエストバッファに格納されたサウンドリクエストを音声・LED制御回路220に出力する(S441)。
なお、本実施形態では、ホスト制御回路210は、スピーカ11による音声再生演出の動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、サウンドリクエストを出力する。これは、上述したように、本実施形態の表示制御回路230による画像のデコード処理及び描画処理では、その一連の処理に2フレームの期間が必要になるためである。
そして、S441の処理後、ホスト制御回路210は、音声制御処理を終了し、処理を副制御メイン処理(図72参照)のS210に移す。
(2)音声制御処理時に実行される音声・LED制御回路の処理
まず、ホスト制御回路210から出力されたサウンドリクエストが音声・LED制御回路220に入力される(S451)。次いで、音声・LED制御回路220は、音声再生の4つの実行系統の中に処理(コード)を実行可能な空いた実行系統があるか否かを判別する(S452)。
S452において、音声・LED制御回路220が、音声再生の4つの実行系統の中に空いた実行系統がないと判別した場合(S452がNO判定の場合)、音声・LED制御回路220は、空きの実行系統が発生するまで待機する(S453)。
S453の処理後、又は、S452において、音声・LED制御回路220が、音声再生の4つの実行系統の中に空いた実行系統があると判別した場合(S452がYES判定の場合)、音声・LED制御回路220は、空いている所定の実行系統にアクセスナンバーをセットする(S454)。
次いで、音声・LED制御回路220は、アクセスナンバーがセットされた実行系統において、アクセスナンバーに基づき、CGROM基板204からアクセスナンバーに対応付けられたアクセスデータを読み出す(S455)。
次いで、音声・LED制御回路220は、アクセスデータに基づいて、アクセスデータ内に規定されている複数の設定データのそれぞれを、順次、対応するアドレスに設定してコード(処理)の実行処理を開始する(S456)。この処理によりスピーカ11による音声再生演出が開始される。なお、本実施形態では、音声の再生制御は、シンプルアクセス制御により実行される。
次いで、音声・LED制御回路220は、参照中のコードに対して複数のアクセスがあるか否かを判別する(S457)。具体的には、音声・LED制御回路220は、アクセスナンバーがセットされた実行系統で実行する参照中のコード(設定データ)に対して、他の実行系統からのアクセスがあるか否かを判別する。S457において、音声・LED制御回路220が、参照中のコードに対して複数のアクセスがないと判別した場合(S457がNO判定の場合)、音声・LED制御回路220は、後述のS459の処理を行う。
一方、S457において、音声・LED制御回路220が、参照中のコードに対して複数のアクセスがあると判別した場合(S457がYES判定の場合)、音声・LED制御回路220は、該コードの実行を最遅のサウンドリクエストに基づいて実行する(S458)。具体的には、例えば、所定のサウンドリクエストに基づいて、所定の実行系統でコード1、コード2及びコード3を実行し、且つ、次のサウンドリクエストに基づいて、他の実行系統でコード3、コード4及びコード5を実行する場合には、複数のアクセスがあるコード3の音声再生は、該次のサウンドリクエストに基づいて実行される。
S458の処理後又はS457がNO判定の場合、音声・LED制御回路220は、シンプルアクセス終了コードをセットする(S459)。そして、S459の処理後、音声・LED制御回路220は、音声制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、音声制御処理前の制御状態、音声制御処理後に実行する処理の制御状態など)時の処理に戻す。
[ランプ制御処理]
次に、図94A及び図94Bを参照して、副制御メイン処理(図72参照)中のS210で行うランプ制御処理について説明する。なお、図94Aは、ホスト制御回路210により実行されるランプ制御処理の手順を示すフローチャートである。また、図94Bは、ランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
なお、本実施形態では、LEDアニメーションの再生方式において、上述した「NEXT」及び「ODONLY」が指定されていない場合の処理例を説明する。再生方式に「NEXT」及び「ODONLY」が指定されている場合を考慮したランプ制御処理については、後述の変形例2及び3(後述の図105〜図107参照)において詳述する。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図85のアニメーションリクエスト構築処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S461)。なお、本実施形態では、ホスト制御回路210は、ランプ(LED)群18による演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを出力する。
そして、S461の処理後、ホスト制御回路210は、ランプ制御処理を終了し、処理を副制御メイン処理(図72参照)のS211に移す。
(2)ランプ制御処理時に実行される音声・LED制御回路の処理
まず、ホスト制御回路210から出力されたランプリクエストが、音声・LED制御回路220に入力される(S471)。
次いで、音声・LED制御回路220は、ランプリクエスト(LEDアニメーションのIDを含む)に基づいて、CGROM206から読み出すLEDアニメーション及びデータテーブル情報を指定する(S472)。この処理によりLEDアニメーションが指定されれば、各LED281に出力するLEDデータを指定することができる。また、この処理によりデータテーブル情報が指定されれば、再生方式、再生チャンネル、拡張チャンネル、消灯データ識別、制御部位及びLEDデータ名(デバック用)のデータを指定することができる。
次いで、音声・LED制御回路220は、指定されたデータテーブル情報を参照して、LEDアニメーションを実行する再生チャンネル(シーケンサ、レイヤ)などのデータを取得する(S473)。次いで、音声・LED制御回路220は、同じ再生チャンネルに複数のランプリクエストがあるか否かを判別する(S474)。
S474において、音声・LED制御回路220が、同じ再生チャンネルに複数のランプリクエストがあると判別した場合(S474がYES判定の場合)、音声・LED制御回路220は、最後に受信したランプリクエストに基づいて、再生チャンネル、又は、再生チャンネル及び拡張チャンネル(再生チャンネルと同チャンネルの拡張チャンネル)に、LEDアニメーションをセットする(S475)。この処理により、再生チャンネルの登録バッファ、又は、再生チャンネル及び拡張チャンネルの各登録バッファに、現在登録されているデータテーブル情報が、最後に受信したランプリクエストに基づいて取得されたデータテーブル情報により上書きされる。
一方、S474において、音声・LED制御回路220が、同じ再生チャンネルに複数のランプリクエストがないと判別した場合(S474がNO判定の場合)、音声・LED制御回路220は、再生チャンネル、又は、再生チャンネル及び拡張チャンネルに、LEDアニメーションをセットする(S476)。この処理により、再生チャンネルの登録バッファ、又は、再生チャンネル及び拡張チャンネルの各登録バッファに、今回受信したランプリクエストに基づいて取得されたデータテーブル情報が登録される。
S475又はS476の処理後、音声・LED制御回路220は、セットされたLEDアニメーションに基づいて、所定のチャンネルにおける制御対象(制御部位内)の所定のポートに設定するLEDデータ(出力データ)をCGROM206から読み込む(S477)。なお、このS477以降の処理はポート毎に実行される。
次いで、音声・LED制御回路220は、所定のポートにおいて、チャンネル間におけるLEDデータ(出力データ)の重複があるか否か、すなわち、複数のチャンネル間においてLEDデータを合成する必要があるか否かを判別する(S478)。
S478において、音声・LED制御回路220が、所定のポートにおいて、チャンネル間におけるLEDデータの重複がないと判別した場合(S478がNO判定の場合)、音声・LED制御回路220は、後述のS480の処理を行う。一方、S478において、音声・LED制御回路220が、所定のポートにおいて、チャンネル間におけるLEDデータの重複があると判別した場合(S478がYES判定の場合)、音声・LED制御回路220は、予めチャンネルに設定されたLEDデータの実行優先順位に基づいて、所定のポートにおけるLEDデータ(輝度データ)を決定する(S479)。
S479の処理では、例えば、この処理以前に、処理対象となっている所定のポートにLEDデータがセットされていなければ、今回取得したLEDデータを所定のポートにセットする。また、例えば、この処理以前にセットされている所定のポートのLEDデータが、今回、処理対象となっているチャンネルより実行優先順位が低いチャンネルのLEDデータである場合には、今回取得したLEDデータで所定のポートのLEDデータを上書きする。また、例えば、この処理以前にセットされている所定のポートのLEDデータが、今回、処理対象となっているチャンネルより実行優先順位が高いチャンネルのLEDデータである場合には、今回取得したLEDデータを破棄し、所定のポートのLEDデータを上書きしない(維持する)。このような処理をチャンネル毎に繰り返すことにより、処理対象の所定のポートにおいて、複数のチャンネルのLEDデータが合成される(複数のチャンネルの中から最も実行優先順位の高いチャンネルのLEDデータがセットされる)。
S479の処理後又はS478がNO判定の場合、音声・LED制御回路220は、所定のポートに対する上記S477〜S479の処理が、全てのチャンネル(本実施形態では8チャンネル分)に対して実行されたか否かを判別する(S480)。
S480において、音声・LED制御回路220が、所定のポートに対する上記S477〜S479の処理が全てのチャンネルに対して実行されていないと判別した場合(S480がNO判定の場合)、音声・LED制御回路220は、処理をS477に戻し、処理対象のチャンネルを変更してS477以降の処理を繰り返す。一方、S480において、音声・LED制御回路220が、所定のポートに対する上記S477〜S479の処理が全てのチャンネルに対して実行されたと判別した場合(S480がYES判定の場合)、音声・LED制御回路220は、所定のポートに対するポート直接指定データがランプリクエストに含まれているか否かを判別し、ポート直接指定データがランプリクエストに含まれている場合には、音声・LED制御回路220は、所定のポートのLEDデータをポート直接指定データで上書きする(S481)。
次いで、音声・LED制御回路220は、上述したS477〜S481の処理が全てのポートに対して実行されたか否かを判別する(S482)。なお、ここでいう、「全てのポート」とは、図77に示すLED登録処理で設定された全てのポートを意味するが、本発明はこれに限定されない。「全てのポート」が、図77に示すLED登録処理で設定されたポートに関係なく、任意に物理的に設定可能な全てのポートであってもよいし、図77に示すLED登録処理で設定されたポートの中から選択された一部のポートであってもよい。
S482において、音声・LED制御回路220が、S477〜S481の処理が全てのポートに対して実行されていないと判別した場合(S482がNO判定の場合)、音声・LED制御回路220は、処理をS477に戻し、処理対象のポートを変更してS477以降の処理を繰り返す。一方、S482において、音声・LED制御回路220が、S477〜S481の処理が全てのポートに対して実行されたと判別した場合(S482がYES判定の場合)、音声・LED制御回路220は、ランプ制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、ランプ制御処理前の制御状態、ランプ制御処理後に実行する処理の制御状態など)時の処理に戻す。
[役物制御処理]
次に、図95を参照して、副制御メイン処理(図72参照)中のS211で行う役物制御処理について説明する。なお、図95は、本実施形態における役物制御処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であるか否かを判別する(S491)。
S491において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中でないと判別した場合(S491がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
一方、S491において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であると判別した場合(S491がYES判定の場合)、ホスト制御回路210は、主制御回路70から演出に関するコマンドを受信したか否かを判別する(S492)。なお、この処理で判断対象となる演出に関するコマンドは、例えば、特別図柄の変動開始、変動停止、デモ、大当りに関するコマンドであり、これらのコマンドがホスト制御回路210で受信された際に、役物20が可動する。
S492において、ホスト制御回路210が、主制御回路70から演出に関するコマンドを受信していないと判別した場合(S492がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
一方、S492において、ホスト制御回路210が、主制御回路70から演出に関するコマンドを受信したと判別した場合(S492がYES判定の場合)、ホスト制御回路210は、変動開始コマンド受信時役物処理を行う(S493)。この処理では、ホスト制御回路210は、主に、ホスト制御回路210が実行する役物制御に関わる処理間における、役物リクエストの受け渡し許可/不許可を設定する。なお、変動開始コマンド受信時役物処理の詳細については、後述の図96を参照しながら後で説明する。
次いで、ホスト制御回路210は、デモコマンド受信時役物処理を行う(S494)。なお、デモコマンド受信時役物処理の詳細については、後述の図97を参照しながら後で説明する。次いで、ホスト制御回路210は、変動停止コマンド受信時役物処理を行う(S495)。なお、変動停止コマンド受信時役物処理の詳細については、後述の図99を参照しながら後で説明する。次いで、ホスト制御回路210は、大当り系コマンド受信時役物処理を行う(S496)。なお、大当り系コマンド受信時役物処理の詳細については、後述の図100を参照しながら後で説明する。
本実施形態では、S493〜S496の各種コマンド受信時役物処理を役物制御処理の中で行う例を説明したが、本発明はこれに限定されず、演出に関するコマンドを受信した際に、割込処理として各役物処理を行ってもよいし、上述したコマンド解析処理(図83参照)の直後に各役物処理を行ってもよい。
次いで、ホスト制御回路210は、初期位置復旧動作処理を行う(S497)。なお、初期位置復旧動作処理の詳細については、後述の図101を参照しながら後で説明する。次いで、ホスト制御回路210は、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であるか否かを判別する(S498)。
S498において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であると判別した場合(S498がYES判定の場合)、ホスト制御回路210は、処理をS492に戻し、S492以降の処理を繰り返す。一方、S498において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中でないと判別した場合(S498がNO判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可がセットされているか否かを判別する(S499)。
S499において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていないと判別した場合(S499がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
一方、S499において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていると判別した場合(S499がYES判定の場合)、ホスト制御回路210は、図85のアニメーションリクエスト構築処理においてリクエストバッファに格納された役物リクエストを取得する(S500)。なお、本実施形態では、ホスト制御回路210は、役物20による演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、役物リクエストを取得する。
次いで、ホスト制御回路210は、役物リクエストに基づいて、I2Cコントローラ261を介して励磁データをモータドライバ271に送信する(S501)。次いで、ホスト制御回路210は、I2Cコントローラ261から通信エラー信号が受信されたか否かを判別する(S502)。この処理では、ホスト制御回路210は、I2Cコントローラ261及びモータコントローラ270間の通信エラー又はI2Cコントローラ261のエラーを検知したか(取得したか又は入力されたか)否かを判別してよい。
S502において、ホスト制御回路210が、I2Cコントローラ261から通信エラー信号を受信したと判別した場合(S502がYES判定の場合)、ホスト制御回路210は、通信コントローラエラーを設定する(S503)。そして、S503の処理後、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
一方、S502において、ホスト制御回路210が、I2Cコントローラ261から通信エラー信号を受信していないと判別した場合(S502がNO判定の場合)、ホスト制御回路210は、各モータドライバ271のアドレスにアクセスできるか否かを判別する(S504)。
S504において、ホスト制御回路210が、各モータドライバ271のアドレスにアクセスできないと判別した場合(S504がNO判定の場合)、ホスト制御回路210は、接続エラーを設定する(S505)。そして、S505の処理後、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
一方、S504において、ホスト制御回路210が、各モータドライバ271のアドレスにアクセスできると判別した場合(S504がYES判定の場合)、ホスト制御回路210は、役物20による演出動作が終了するまで役物20(モータ272)を可動する(S506)。なお、この処理では、モータ272の動作が停止した後、センサーによりモータ272(役物20)が初期位置に戻ったことが検知されるまで、役物20(モータ272)を可動する。
次いで、ホスト制御回路210は、役物20(モータ272)の動作が正常に終了した否かを判別する(S507)。S507において、ホスト制御回路210が、役物20(モータ272)の動作が正常に終了したと判別した場合(S507がYES判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。一方、S507において、ホスト制御回路210が、役物20(モータ272)の動作が正常に終了していないと判別した場合(S507がNO判定の場合)、ホスト制御回路210は、データエラーを設定する(S508)。そして、S508の処理後、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図72参照)のS212に移す。
[変動開始コマンド受信時役物処理]
次に、図96を参照して、役物制御処理(図95参照)中のS493で行う変動開始コマンド受信時役物処理について説明する。なお、図96は、本実施形態における変動開始コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、変動開始コマンドを受信したか否かを判別する(S511)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄演出開始コマンドを受信したか否かを判別する。
S511において、ホスト制御回路210が、変動開始コマンドを受信していないと判別した場合(S511がNO判定の場合)、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS494に移す。一方、S511において、ホスト制御回路210が、変動開始コマンドを受信したと判別した場合(S511がYES判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S512)。
S512において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S512がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S513)。役物リクエストの受け渡し許可がセットされると、役物20の制御状態が、コマンド受信待機状態から役物リクエスト受け渡し許可状態に移行する。
次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S514)。なお、初期位置復旧カウンタは、モータ272の初期位置復旧動作の実行回数を計数するカウンタであり、サブワークRAM210aに設けられる。そして、S514の処理後、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS494に移す。
一方、S512において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S512がNO判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S515)。次いで、ホスト制御回路210は、初期位置復旧動作への移行設定を行う(S516)。そして、S516の処理後、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS494に移す。
[デモコマンド受信時役物処理]
次に、図97を参照して、役物制御処理(図95参照)中のS494で行うデモコマンド受信時役物処理について説明する。なお、図97は、本実施形態におけるデモコマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、デモコマンドを受信したか否かを判別する(S521)。具体的には、ホスト制御回路210は、例えば、上述のデモ表示コマンドを受信したか否かを判別する。
S521において、ホスト制御回路210が、デモコマンドを受信していないと判別した場合(S521がNO判定の場合)、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS495に移す。一方、S521において、ホスト制御回路210が、デモコマンドを受信したと判別した場合(S521がYES判定の場合)、ホスト制御回路210は、モータ272の不具合等によるエラーが検出されているか否かを判別する(S522)。この処理では、ホスト制御回路210は、例えば、役物制御処理(図95参照)中のS502以降の処理で設定された各種エラー(通信コントローラエラー、接続エラー、データエラー)などが発生しているか否かを判別する。
S522において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていると判別した場合(S522がYES判定の場合)、ホスト制御回路210は、エラー処理を行う(S523)。なお、エラー処理の詳細については、後述の図98を参照しながら後で説明する。次いで、ホスト制御回路210は、役物動作時エラー動作への移行設定を行う(S524)。そして、S524の処理後、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS495に移す。
一方、S522において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていないと判別した場合(S522がNO判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S525)。
S525において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S525がNO判定の場合)、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS495に移す。一方、S525において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S525がYES判定の場合)、ホスト制御回路210は、役物励磁開放処理を行う(S526)。この処理では、ホスト制御回路210は、全てのモータ272(モータドライバ271)への励磁データの出力を停止する。
次いで、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S527)。次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S528)。そして、S528の処理後、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS495に移す。
[エラー処理]
次に、図98を参照して、デモコマンド受信時役物処理(図97参照)中のS523で行うエラー処理について説明する。なお、図98は、本実施形態におけるエラー処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S531)。次いで、ホスト制御回路210は、全てのモータ272を停止する(S532)。
次いで、ホスト制御回路210は、モータドライバ271のソフトウェアをリセットする(S533)。次いで、ホスト制御回路210は、I2Cコントローラ261をリセットする(S534)。そして、S534の処理後、ホスト制御回路210は、エラー処理を終了し、処理をデモコマンド受信時役物処理(図97参照)のS524に移す。
[変動停止コマンド受信時役物処理]
次に、図99を参照して、役物制御処理(図95参照)中のS495で行う変動停止コマンド受信時役物処理について説明する。なお、図99は、本実施形態における変動停止コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、変動停止コマンドを受信したか否かを判別する(S541)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄停止コマンドを受信したか否かを判別する。
S541において、ホスト制御回路210が、変動停止コマンドを受信していないと判別した場合(S541がNO判定の場合)、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS496に移す。一方、S541において、ホスト制御回路210が、変動停止コマンドを受信したと判別した場合(S541がYES判定の場合)、ホスト制御回路210は、モータ272の不具合等によるエラーが検出されているか否かを判別する(S542)。
S542において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていると判別した場合(S542がYES判定の場合)、ホスト制御回路210は、図98で説明したエラー処理を行う(S543)。次いで、ホスト制御回路210は、役物動作時エラー動作への移行設定を行う(S544)。そして、S544の処理後、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS496に移す。
一方、S542において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていないと判別した場合(S542がNO判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S545)。
S545において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S545がNO判定の場合)、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS496に移す。一方、S545において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S545がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S546)。
次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S547)。そして、S547の処理後、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS496に移す。
[大当り系コマンド受信時役物処理]
次に、図100を参照して、役物制御処理(図95参照)中のS496で行う大当り系コマンド受信時役物処理について説明する。なお、図100は、本実施形態における大当り系コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、大当り系コマンドを受信したか否かを判別する(S551)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄当り開始表示コマンドを受信したか否かを判別する。
S551において、ホスト制御回路210が、大当り系コマンドを受信していないと判別した場合(S551がNO判定の場合)、ホスト制御回路210は、大当り系コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS497に移す。一方、S551において、ホスト制御回路210が、大当り系コマンドを受信したと判別した場合(S551がYES判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S552)。
S552において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S552がNO判定の場合)、ホスト制御回路210は、後述のS554の処理を行う。一方、S552において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S552がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S553)。
S553の処理後又はS552がNO判定の場合、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S554)。そして、S554の処理後、ホスト制御回路210は、大当り系コマンド受信時役物処理を終了し、処理を役物制御処理(図95参照)のS497に移す。
[初期位置復旧動作処理]
次に、図101を参照して、役物制御処理(図95参照)中のS497で行う初期位置復旧動作処理について説明する。なお、図101は、本実施形態における初期位置復旧動作処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、役物リクエストの受け渡し許可がセットされているか否かを判別する(S561)。
S561において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていると判別した場合(S561がYES判定の場合)、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図95参照)のS498に移す。一方、S561において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていないと判別した場合(S561がNO判定の場合)、ホスト制御回路210は、役物動作時エラー動作への移行が設定されているか否かを判別する(S562)。
S562において、ホスト制御回路210が、役物動作時エラー動作への移行が設定されていないと判別した場合(S562がNO判定の場合)、ホスト制御回路210は、後述のS565の処理を行う。
一方、S562において、ホスト制御回路210が、役物動作時エラー動作への移行が設定されていると判別した場合(S562がYES判定の場合)、ホスト制御回路210は、役物20の動作を終了する(S563)。次いで、ホスト制御回路210は、初期位置復旧動作への移行設定を行う(S564)。
S564の処理後又はS562がNO判定の場合、ホスト制御回路210は、初期位置復旧動作への移行が設定されているか否かを判別する(S565)。
S565において、ホスト制御回路210が、初期位置復旧動作への移行が設定されていないと判別した場合(S565がNO判定の場合)、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図95参照)のS498に移す。一方、S565において、ホスト制御回路210が、初期位置復旧動作への移行が設定されていると判別した場合(S565がYES判定の場合)、ホスト制御回路210は、初期位置復旧カウンタの値に「1」を加算する(S566)。
次いで、ホスト制御回路210は、初期位置復旧カウンタの値が「10」以上であるか否かを判別する(S567)。
S567において、ホスト制御回路210は、初期位置復旧カウンタの値が「10」以上でないと判別した場合(S567がNO判定の場合)、ホスト制御回路210は、全てのモータ272を初期位置に移動させる(S568)。次いで、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S569)。
S569において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S569がNO判定の場合)、ホスト制御回路210は、処理をS566に戻し、S566以降の処理を繰り返す。一方、S569において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S569がYES判定の場合)、ホスト制御回路210は、コマンド受信待機動作への移行設定を行う(S570)。そして、S570の処理後、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図95参照)のS498に移す。
ここで、再度、S567の処理に戻って、S567において、ホスト制御回路210は、初期位置復旧カウンタの値が「10」以上であると判別した場合(S567がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S571)。次いで、ホスト制御回路210は、電源再投入により初期化処理が行われるまで、全てのモータ272を停止する(S572)。
なお、本実施形態では、上述のように、初期位置復旧カウンタの値が「10」以上の場合にモータ272を停止する例を説明したが、本発明はこれに限定されない。モータ272を停止させるための初期位置復旧カウンタの閾値は、例えば、役物20の演出動作内容やモータ272の性能等に応じて任意に設定することができる。
そして、S572の処理後、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図95参照)のS498に移す。
[音声・LED制御回路及びLEDドライバ間のデータ通信処理]
次に、図102A及び図102Bを参照して、音声・LED制御回路220及びLEDドライバ280間で行われる通信処理について説明する。なお、図102Aは、音声・LED制御回路220及びLEDドライバ280間の通信処理において、音声・LED制御回路220により実行される信号及びデータの送信処理の手順を示すフローチャートである。また、図102Bは、音声・LED制御回路220及びLEDドライバ280間の通信処理において、LEDドライバ280により実行される信号及びデータの受信処理の手順を示すフローチャートである。
本実施形態では、ホスト制御回路210から音声・LED制御回路220にランプリクエストが入力されると、該ランプリクエストに基づいて、音声・LED制御回路220は、ランプ出力データ(LEDデータ)をランプ群18に含まれる各LEDドライバ280に送信する。この際、音声・LED制御回路220及びLEDドライバ280間は、上述のように、SPIバスで接続されているので、両者間ではSPI方式で信号及びシリアル・データの通信が行われる。なお、本実施形態では、音声・LED制御回路220及びLEDドライバ280間の通信形態は、音声・LED制御回路220からLEDドライバ280に一方的に信号及びシリアル・データの送信する形態となる。
以下に、ランプリクエストに基づいて、音声・LED制御回路220により実行される信号及びシリアル・データの送信処理、並びに、LEDドライバ280により実行されるデータ受信処理の具体的な手順を、それぞれ図102A及び図102Bのフローチャートを参照しながら説明する。なお、本実施形態において、音声・LED制御回路220から送信されるシリアル・データの構成は、上記図39で説明した構成とする。
(1)音声・LED制御回路のシリアル・データ送信処理
まず、音声・LED制御回路220は、図102Aに示すように、データ「1」を連続して16回以上、LEDドライバ280に送信する(S581)。すなわち、音声・LED制御回路220は、シリアル・データの先頭に配置された、データ「1」が16ビット以上連続して格納された領域のデータ(図39参照)をLEDドライバ280に送信する。
次いで、音声・LED制御回路220は、デバイスアドレスをLEDドライバ280に送信する(S582)。次いで、音声・LED制御回路220は、レジスタアドレスをLEDドライバ280に送信する(S583)。
次いで、音声・LED制御回路220は、ランプ出力データ(LEDデータ)をLEDドライバ280に送信する(S584)。そして、S584の処理後、音声・LED制御回路220は、シリアル・データの送信処理を終了する。
(2)LEDドライバの受信処理(受信データに基づく状態遷移処理)
まず、LEDドライバ280は、図102Bに示すように、スリープ状態をセットする(S591)。なお、「スリープ状態にする」とは、LEDドライバ280の動作状態を休眠(休止)状態にして動作待機の状態にすることである。また、セットされたスリープ状態は、LEDドライバ280が音声・LED制御回路220から最初のデータ「1」を受信(検出)した際に解除される。
次いで、LEDドライバ280は、音声・LED制御回路220からデータ「1」を連続16回、受信(検出)したか否かを判別する(S592)。
S592において、LEDドライバ280が、音声・LED制御回路220からデータ「1」を連続16回、受信(検出)していないと判別した場合(S592がNO判定の場合)、LEDドライバ280は、処理をS591に戻し、S591以降の処理を繰り返す。一方、S592において、LEDドライバ280が、音声・LED制御回路220からデータ「1」を連続16回、受信(検出)したと判別した場合(S592がYES判定の場合)、LEDドライバ280は、スタート待機状態をセットする(S593)。
次いで、LEDドライバ280は、データ「0」を受信したか否かを判別する(S594)。この処理では、LEDドライバ280は、デバイスアドレスの先頭ビットに格納されたデータ「0」(図39参照)を受信したか否かを判別する。
S594において、LEDドライバ280が、データ「0」を受信していないと判別した場合(S594がNO判定の場合)、LEDドライバ280は、処理をS593に戻し、S593以降の処理を繰り返す。なお、所定時間、LEDドライバ280でデータ「0」が受信されずにスタート待機状態が続いている場合には、LEDドライバ280は、タイムアウト処理として動作状態をスリープ状態に戻す処理を行ってもよい。
一方、S594において、LEDドライバ280が、データ「0」を受信したと判別した場合(S594がYES判定の場合)、LEDドライバ280は、デバイスアドレス待ち受け状態をセットする(S595)。
次いで、LEDドライバ280は、音声・LED制御回路220から送信されたデバイスアドレスを受信し、デバイスアドレスが当該LEDドライバ280に設定されたそれと一致するか否かを判別する(S596)。S596において、LEDドライバ280が、受信したデバイスアドレスが当該LEDドライバ280に設定されたそれと一致しないと判別した場合(S596がNO判定の場合)、LEDドライバ280は、処理をS591に戻し、S591以降の処理を繰り返す。一方、S596において、LEDドライバ280が、受信したデバイスアドレスが当該LEDドライバ280に設定されたそれと一致すると判別した場合(S596がYES判定の場合)、LEDドライバ280は、レジスタアドレス待ち受け状態をセットする(S597)。
次いで、LEDドライバ280は、音声・LED制御回路220から送信されたレジスタアドレスを受信し、該レジスタアドレスが存在するレジスタアドレスであるか否かを判別する(S598)。S598において、LEDドライバ280が、受信したレジスタアドレスが存在するレジスタアドレスでないと判別した場合(S598がNO判定の場合)、LEDドライバ280は、処理をS591に戻し、S591以降の処理を繰り返す。
一方、S598において、LEDドライバ280が、受信したレジスタアドレスが存在するレジスタアドレスであると判別した場合(S598がYES判定の場合)、LEDドライバ280は、データ受信状態をセットする(S599)。これにより、音声・LED制御回路220から送信されたランプ出力データ(LEDデータ)の受信処理が開始される。次いで、LEDドライバ280は、ランプ出力データ(LEDデータ)の最終データを示すデータ「0FFH(1111111B)」(図39参照)を受信したか否かを判別する(S600)。
S600において、LEDドライバ280が、データ「0FFH」を受信していないと判別した場合(S600がNO判定の場合)、LEDドライバ280は、処理をS599に戻し、S599以降の処理を繰り返す。一方、S600において、LEDドライバ280が、データ「0FFH」を受信したと判別した場合(S600がYES判定の場合)、LEDドライバ280は、処理をS591に戻し、S591以降の処理を繰り返す。
[ホスト制御回路及びモータドライバ間のデータ通信処理]
次に、図103A及び図103Bを参照して、ホスト制御回路210及びモータドライバ271間で行われる通信処理について説明する。なお、図103Aは、ホスト制御回路210及びモータドライバ271間の通信処理において、ホスト制御回路210により実行される信号及びシリアル・データの送受信処理の手順を示すフローチャートである。また、図103Bは、ホスト制御回路210及びモータドライバ271間の通信処理において、モータドライバ271により実行される信号及びデータの送受信処理の手順を示すフローチャートである。
本実施形態では、上述のように、ホスト制御回路210において役物リクエストが生成されると、役物リクエストに基づいて、ホスト制御回路210は、モータドライバ271に励磁データに出力する。この際、ホスト制御回路210及びモータドライバ271間は、I2Cバスで接続されているので、両者間ではI2C方式で信号(データ)の送受信が行われる。なお、本実施形態では、ホスト制御回路210及びモータドライバ271間の通信方向は、双方向となる。
以下に、役物リクエストに基づいて、ホスト制御回路210により実行される信号及びデータの送受信処理、並びに、モータドライバ271により実行される信号及びデータの送受信処理の具体的な手順を、それぞれ図103A及び図103Bのフローチャートを参照しながら説明する。
(1)ホスト制御回路210のデータ送受信処理(シリアルデータ入出力処理)
まず、ホスト制御回路210は、図103Aに示すように、スタート・コンディションを発行し、I2Cバスを介してホスト制御回路210に接続された全てのモータドライバ271にコントロール・バイトを送信する(S601)。なお、この処理で送信されるコントロール・バイトには、データの送信先となる所定のモータドライバ271を特定するアドレス情報、並びに、モータドライバ271がホスト制御回路210からデータを受信するか又はモータドライバ271がホスト制御回路210にデータを送信するかを決定する後述の送受信ビットの値が含まれる。
次いで、ホスト制御回路210は、所定のモータドライバ271との間でシリアル・データの送受信を行う(S602)。S601でモータドライバ271に送信したコントロール・バイトに含まれる送受信ビットの値が、モータドライバ271がホスト制御回路210からデータを受信する動作に対応する値である場合には、S602の処理において、ホスト制御回路210は、例えば、モータ272の励磁データ等をモータドライバ271に送信する。一方、S601でモータドライバ271に送信されたコントロール・バイトに含まれる送受信ビットの値が、モータドライバ271がホスト制御回路210にデータを送信する動作に対応する値である場合には、S602の処理において、ホスト制御回路210は、例えば、エラー情報等をモータドライバ271から受信する。
次いで、ホスト制御回路210は、データの送受信処理が完了すれば、ストップ・コンディションを発行する(S603)。そして、ホスト制御回路210は、役物リクエスト取得時のデータの送受信処理を終了する。
(2)モータドライバのデータ送受信処理
まず、モータドライバ271は、図103Bに示すように、ホスト制御回路210で発行されたスタート・コンディションに含まれるコントロール・バイトの情報を参照し、コントロール・バイトに含まれるアドレスが、当該モータドライバ271のアドレスと一致するか否かを判別する(S611)。なお、ホスト制御回路210からモータドライバ271に送信されるシリアルデータの構成は、図39に示すシリアルデータの構成と同一ではないが、ホスト制御回路210からモータドライバ271に送信されるシリアルデータには、図39中のデバイスアドレスに対応する領域が設けられ、該領域に上述したコントロール・バイトの情報が格納されている。
S611において、モータドライバ271が、コントロール・バイトに含まれるアドレスが、当該モータドライバ271のアドレスと一致しないと判別した場合(S611がNO判定の場合)、モータドライバは、後述のS614の処理を行う。
一方、S611において、モータドライバ271が、コントロール・バイトに含まれるアドレスが、当該モータドライバ271のアドレスと一致すると判別した場合(S611がYES判定の場合)、モータドライバ271は、コントロール・バイトに含まれる送受信ビットの値に基づいて、ホスト制御回路210に所定のデータ(エラー情報等)を送信する、又は、特定のデータ(励磁データ等)を受信する(S612)。
次いで、モータドライバ271は、ホスト制御回路210から発行されたストップ・コンディションを受信したか否かを判別する(S613)。S613において、モータドライバ271が、ホスト制御回路210から発行されたストップ・コンディションを受信したと判別した場合(S613がYES判定の場合)、モータドライバ271は、後述のS614の処理を行う。一方、S613において、モータドライバ271が、ホスト制御回路210から発行されたストップ・コンディションを受信していないと判別した場合(S613がNO判定の場合)、モータドライバ271は、処理をS612に戻し、S612以降の処理を繰り返す。
そして、S611がNO判定の場合又はS613がYES判定の場合、モータドライバ271は、状態を待機状態に移行させる(S614)。なお、S611がNO判定の場合、すなわち、当該モータドライバ271がホスト制御回路210とデータの送受信を行うモータドライバ271でない場合には、S614の処理の時点で待機状態であるので、この場合には、モータドライバ271は、待機状態を維持する処理を行う。
<各種変形例>
本発明に係るパチンコ遊技機の構成及び演出動作の制御手法は、上記実施形態の例に限定されず、各種変形例が考えられる。以下では、その各種変形例について説明する。
[変形例1]
上記実施形態の音声制御処理(図93A及び図93B参照)では、音声・LED制御回路220が、アクセスナンバーをサウンド再生の実行系統にセットする際、4つの実行系統の空き状況を判別して、空いている実行系統にアクセスナンバーをセットする例を説明したが、本発明はこれに限定されない。例えば、アクセスナンバー毎にセットする実行系統が予め決定されていてもよい。変形例1では、そのような場合における音声制御処理の処理例を説明する。
なお、変形例1では、音声制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にするできる。それゆえ、ここでは、音声制御処理についてのみ説明する。
図104A及び図104Bを参照して、副制御メイン処理(図72参照)中のS209で行う変形例1の音声制御処理について説明する。なお、図104Aは、ホスト制御回路210により実行されるこの例の音声制御処理の手順を示すフローチャートである。また、図104Bは、この例の音声制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される音声制御処理
ホスト制御回路210は、図104Aに示すように、図85のアニメーションリクエスト構築処理においてリクエストバッファに格納されたサウンドリクエストを音声・LED制御回路220に出力する(S701)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、サウンドリクエストを出力する。
そして、S701の処理後、ホスト制御回路210は、音声制御処理を終了し、処理を副制御メイン処理(図72参照)のS210に移す。
(2)音声制御処理時に実行される音声・LED制御回路の処理
まず、図104Bに示すように、ホスト制御回路210から出力されたサウンドリクエストが音声・LED制御回路220に入力される(S711)。次いで、音声・LED制御回路220は、サウンドリクエストに基づいて、アクセスナンバーを特定する(S712)。次いで、音声・LED制御回路220は、特定したアクセスナンバーに基づいて、該アクセスナンバーをセットするサウンド再生の実行系統を決定する(S713)。
次いで、音声・LED制御回路220は、決定された実行系統において処理が実行中であるか否かを判別する(S714)。
S714において、音声・LED制御回路220が、決定された実行系統において処理が実行中でないと判別した場合(S714がNO判定の場合)、音声・LED制御回路220は、決定された実行系統にアクセスナンバーをセットする(S715)。一方、S714において、音声・LED制御回路220が、決定された実行系統において処理が実行中であると判別した場合(S714がYES判定の場合)、音声・LED制御回路220は、決定された実行系統において現在実行されているアクセスナンバーの処理終了後に、S712で特定されたアクセスナンバーの処理が実行されるように、該実行系統にS712で特定されたアクセスナンバーをセットする(S716)。この場合、S713で決定された実行系統において、現在実行されているアクセスナンバーの処理が終了するまで、音声・LED制御回路220の動作状態は待機状態となる。
S715又はS716の処理後、音声・LED制御回路220は、アクセスナンバーがセットされた実行系統において、CGROM基板204からアクセスナンバーに対応付けられたアクセスデータを読み出す(S717)。
次いで、音声・LED制御回路220は、アクセスデータに基づいて、アクセスデータ内に規定されている複数の設定データのそれぞれを、順次、対応するアドレスに設定してコード(処理)の実行処理を開始する(S718)。この処理により、スピーカ11による音声再生の演出動作が開始される。なお、この際、この例においても、音声の再生制御は、シンプルアクセス制御により実行される。
S718の処理後、音声・LED制御回路220は、参照中のコードに対して複数のアクセスがあるか否かを判別する(S719)。具体的には、音声・LED制御回路220は、アクセスナンバーがセットされた実行系統で実行する参照中のコード(設定データ)に対して、他の実行系統からのアクセスがあるか否かを判別する。
S719において、音声・LED制御回路220が、参照中のコードに対して複数のアクセスがないと判別した場合(S719がNO判定の場合)、音声・LED制御回路220は、後述のS721の処理を行う。一方、S719において、音声・LED制御回路220が、参照中のコードに対して複数のアクセスがあると判別した場合(S719がYES判定の場合)、音声・LED制御回路220は、該参照中のコードを最遅のサウンドリクエストに基づいて実行する(S720)。
S720の処理後又はS719がNO判定の場合、音声・LED制御回路220は、シンプルアクセス終了コードをセットする(S721)。そして、S721の処理後、音声・LED制御回路220は、音声制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、音声制御処理前の制御状態、音声制御処理後に実行する処理の制御状態など)時の処理に戻す。
[変形例2]
上記実施形態のランプ制御処理(図94A及び図94B参照)では、LEDデータ(LEDアニメーション)の再生方式に「NEXT」及び/又は「ODONLY」が指定されない場合の処理例を説明したが、本発明はこれに限定されない。変形例2では、LEDデータ(LEDアニメーション)の再生方式に「NEXT」及び/又は「ODONLY」が指定されている場合も考慮したランプ制御処理について説明する。また、変形例2では、再生チャンネルのみを使用する処理例を説明する。
なお、変形例2では、ランプ制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にするできる。それゆえ、ここでは、ランプ制御処理についてのみ説明する。
図105A及び図105Bを参照して、副制御メイン処理(図72参照)中のS210で行う変形例2のランプ制御処理について説明する。なお、図105Aは、ホスト制御回路210により実行されるこの例のランプ制御処理の手順を示すフローチャートである。また、図105Bは、この例のランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図105Aに示すように、図85のアニメーションリクエスト処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S731)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを出力する。
そして、S731の処理後、ホスト制御回路210は、この例のランプ制御処理を終了し、処理を副制御メイン処理(図72参照)のS211に移す。
(2)ランプ制御処理時に実行される音声・LED制御回路の処理
まず、図105Bに示すように、ホスト制御回路210から送信されたランプリクエストが音声・LED制御回路220に入力される(S741)。
次いで、音声・LED制御回路220は、ランプリクエストに基づいて、LEDアニメーションを実行する再生チャンネル(シーケンサ、レイヤ)を指定する(S742)。具体的には、音声・LED制御回路220は、ランプリクエストに基づいて、CGROM206から読み出すLEDアニメーション(各種LEDデータ)及びデータテーブル情報を指定し、該データテーブル情報を参照して、LEDアニメーションを実行する再生チャンネル(シーケンサ、レイヤ)などのデータを取得する。
次いで、音声・LED制御回路220は、処理対象(参照中)の再生チャンネルで指定されたデータテーブル情報に基づき、LEDアニメーションの再生方式に「NEXT」が指定されていないか否か、すなわち、入力されたランプリクエストがランプ点灯動作を即時実行するリクエストであるか否かを判別する(S743)。なお、ここでは図示しないが、S743〜後述のS745の処理はチャンネル数分だけ繰り返し実行される。
S743において、音声・LED制御回路220が、参照中の再生チャンネルのLEDアニメーションの再生方式に「NEXT」が指定されていないと判別した場合(S743がYES判定の場合)、音声・LED制御回路220は、現在、再生チャンネルの登録バッファに格納されている各種情報(データテーブル情報及びLEDデータ)を、今回のランプリクエスト受信時に取得した対応する各種情報で上書き更新する(S744)。
一方、S743において、音声・LED制御回路220が、参照中の再生チャンネルのLEDアニメーションの再生方式に「NEXT」が指定されていると判別した場合(S743がNO判定の場合)、音声・LED制御回路220は、現在、登録バッファに格納されている各種情報(データテーブル情報及びLEDデータ)の後に、今回のランプリクエスト受信時に取得した対応する各種情報を追加して格納(追加更新)する(S745)。
S744の処理後又はS745の処理後、音声・LED制御回路220は、各再生チャンネルの登録バッファの参照処理を行う(S746)。次いで、音声・LED制御回路220は、登録バッファに格納されたデータテーブル情報に含まれる制御部位の情報に基づいて、LEDデータをLEDドライバ280に送信する際に使用するSPIチャンネル(物理系統)を指定する(S747)。
次いで、音声・LED制御回路220は、所定のチャンネル内において、処理対象(参照中)のポートが制御対象(制御部位内)のポートであるか否かを判別する(S748)。なお、S748の判別処理は、登録バッファに格納されたデータテーブル情報に含まれる制御部位の情報に基づいて実行され、S748以降の処理はポート数分だけ繰り返し実行される。
S748において、音声・LED制御回路220が、参照中のポートが制御対象のポートでないと判別した場合(S748がNO判定の場合)、音声・LED制御回路220は、後述のS752の処理を行う。一方、S748において、音声・LED制御回路220が、参照中のポートが制御対象のポートであると判別した場合(S748がYES判定の場合)、音声・LED制御回路220は、データテーブル情報に基づき、処理対象の再生チャンネル(制御部位)において、再生方式に「ODONLY」が指定されているか否かを判別する(S749)。
S749において、音声・LED制御回路220が、処理対象(参照中)の再生チャンネルにおいて、再生方式に「ODONLY」が指定されていると判別した場合(S749がYES判定の場合)、音声・LED制御回路220は、チャンネルに設定された実行優先順位及び出力データの有無に基づいて、ポート情報(LEDデータ)の上書き処理を行う(S750)。
S750の処理では、例えば、音声・LED制御回路220は、処理対象のチャンネルが、現在、ポートにセットされているLEDデータに対応するチャンネルより実行優先順位が高く、且つ、参照中のポート(制御対象のポート)に出力されるLEDデータ(消灯データ以外のLEDデータ)がある場合には、該LEDデータを、現在、ポートにセットされているLEDデータ上に上書きする。一方、処理対象のチャンネルが、現在、ポートにセットされているLEDデータに対応するチャンネルより実行優先順位が高く、且つ、参照中のポートに出力されるLEDデータが無い場合(出力データが消灯データである場合)には、LEDデータの上書き処理を行わず、現在、ポートにセットされているLEDデータが維持される。なお、処理対象のチャンネルが、現在、ポートにセットされているLEDデータに対応するチャンネルより実行優先順位が低い場合には、参照中のポートに出力されるLEDデータの有無に関係なく、LEDデータの上書き処理は行われず、現在、ポートにセットされているLEDデータが維持される。
一方、S749において、音声・LED制御回路220が、処理対象(参照中)の再生チャンネルにおいて、再生方式に「ODONLY」が指定されていないと判別した場合(S749がNO判定の場合)、音声・LED制御回路220は、チャンネルに設定された実行優先順位に基づいて、ポート情報(LEDデータ)の上書き処理を行う(S751)。
S751の処理では、例えば、音声・LED制御回路220は、処理対象のチャンネルが、現在、ポートにセットされているLEDデータに対応するチャンネルより実行優先順位が高い場合には、該LEDデータを、現在、ポートにセットされているLEDデータ上に上書きする。なお、この際、出力データが透明定義のLEDデータ(消灯データ)である場合にも、LEDデータの上書き処理が行われる。一方、処理対象のチャンネルが、現在、ポートにセットされているLEDデータに対応するチャンネルより実行優先順位が低い場合には、LEDデータの上書き処理は行われず、現在、ポートにセットされているLEDデータが維持される。
S750或いはS751の処理後、又は、S748がNO判定の場合、音声・LED制御回路220は、上述したS748〜S751の処理が、参照中のポートの全ての再生チャンネル(8チャンネル分)に対して実行されたか否かを判別する(S752)。
S752において、音声・LED制御回路220が、S748〜S751の処理が全ての再生チャンネルに対して実行されていないと判別した場合(S752がNO判定の場合)、音声・LED制御回路220は、処理をS748に戻し、処理対象の再生チャンネルを変更してS748以降の処理を繰り返す。
一方、S752において、音声・LED制御回路220が、S748〜S751の処理が全ての再生チャンネルに対して実行されたと判別した場合(S752がYES判定の場合)、音声・LED制御回路220は、参照中のポートに対するポート直接指定データがランプリクエストに含まれているか否かを判別し、ポート直接指定データがランプリクエストに含まれている場合には、音声・LED制御回路220は、参照中のポートのLEDデータをポート直接指定データで上書きする(S753)。
次いで、音声・LED制御回路220は、上述したS748〜S753の処理が全てのポートに対して実行されたか否かを判別する(S754)。なお、ここでいう、「全てのポート」とは、図77に示すLED登録処理で設定された全てのポートを意味するが、本発明はこれに限定されない。「全てのポート」が、図77に示すLED登録処理で設定されたポートに関係なく、任意に物理的に設定可能な全てのポートであってもよいし、図77に示すLED登録処理で設定されたポートの中から選択された一部のポートであってもよい。
S754において、音声・LED制御回路220が、S748〜S753の処理が全てのポートに対して実行されていないと判別した場合(S754がNO判定の場合)、音声・LED制御回路220は、処理をS748に戻し、処理対象のポートを変更してS748以降の処理を繰り返す。一方、S754において、音声・LED制御回路220が、S748〜S753の処理が全てのポートに対して実行されたと判別した場合(S754がYES判定の場合)、音声・LED制御回路220は、ランプ制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、ランプ制御処理前の制御状態、ランプ制御処理後に実行する処理の制御状態など)時の処理に戻す。
[変形例3]
変形例3では、上記変形例2のランプ制御処理において、再生チャンネルだけでなく、拡張チャンネルも使用した場合の処理例を説明する。なお、変形例3では、ランプ制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にするできる。それゆえ、ここでは、ランプ制御処理についてのみ説明する。
図106A及び図106Bを参照して、副制御メイン処理(図72参照)中のS210で行う変形例3のランプ制御処理について説明する。なお、図106Aは、ホスト制御回路210により実行されるこの例のランプ制御処理の手順を示すフローチャートである。また、図106Bは、この例のランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図106Aに示すように、図85のアニメーションリクエスト処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S761)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを送信する。
そして、S761の処理後、ホスト制御回路210は、この例のランプ制御処理を終了し、処理を副制御メイン処理(図72参照)のS211に移す。
(2)ランプ制御処理時に実行される音声・LED制御回路の処理
まず、図106Bに示すように、ホスト制御回路210から送信されたランプリクエストが音声・LED制御回路220に入力される(S771)。
次いで、音声・LED制御回路220は、ランプリクエストに基づいて、LEDアニメーションを実行するチャンネル(シーケンサ、レイヤ)を指定する(S772)。なお、拡張チャンネルを使用する場合には、この処理において、音声・LED制御回路220は、該拡張チャンネル及びそれと同じチャンネルの再生チャンネルで使用するシーケンサーやレイヤを指定する。一方、拡張チャンネルを使用しない場合には、この処理において、音声・LED制御回路220は、再生チャンネルで使用するシーケンサーやレイヤを指定する。
次いで、音声・LED制御回路220は、処理対象(参照中)のチャンネルで指定されたデータテーブル情報に基づき、LEDアニメーションの再生方式に「NEXT」が指定されていないか否か、すなわち、入力されたランプリクエストがランプ点灯動作を即時実行するリクエストであるか否かを判別する(S773)。なお、ここでは図示しないが、S733〜後述のS775の処理はチャンネル数分だけ繰り返し実行される。
S773において、音声・LED制御回路220が、参照中のチャンネルのLEDアニメーションの再生方式に「NEXT」が指定されていないと判別した場合(S773がYES判定の場合)、音声・LED制御回路220は、現在、チャンネルの登録バッファに格納されている各種情報(データテーブル情報及びLEDデータ)を、今回のランプリクエスト受信時に取得した対応する各種情報で上書き更新する(S774)。
一方、S773において、音声・LED制御回路220が、参照中のチャンネルのLEDアニメーションの再生方式に「NEXT」が指定されていると判別した場合(S773がNO判定の場合)、音声・LED制御回路220は、現在、チャンネルの登録バッファに格納されている各種情報(データテーブル情報及びLEDデータ)の後に、今回のランプリクエスト受信時に取得した対応する各種情報を追加して格納(追加更新)する(S775)。
なお、拡張チャンネルを使用する場合には、S774又はS775の処理において、音声・LED制御回路220は、参照中のチャンネルの再生チャンネル及び拡張チャンネルの各登録バッファに対して各種情報(データテーブル情報及びLEDデータ)の上書き更新処理又は追加更新処理を行う。一方、拡張チャンネルを使用しない場合には、S774又はS775の処理において、音声・LED制御回路220は、参照中のチャンネルの再生チャンネルの登録バッファに対して各種情報(データテーブル情報及びLEDデータ)の上書き更新処理又は追加更新処理を行う。
S774の処理後又はS775の処理後、音声・LED制御回路220は、各ポートのデータ設定処理を行う(S776)。この処理により、制御対象の各ポートに合成されたLEDデータ(出力データ)が設定される。なお、各ポートのデータ設定処理の詳細については、後述の図107を参照しながら後で説明する。そして、S776の処理後、音声・LED制御回路220は、ランプ制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、ランプ制御処理前の制御状態、ランプ制御処理後に実行する処理の制御状態など)時の処理に戻す。
(3)各ポートのデータ設定処理
次に、図107を参照して、この例のランプ制御処理時に実行される音声・LED制御回路の処理(図106B参照)中のS776で行う各ポートのデータ設定処理について説明する。なお、図107は、この例のランプ制御処理内において音声・LED制御回路220により実行される各ポートのデータ設定処理の手順を示すフローチャートである。
まず、音声・LED制御回路220は、各チャンネルの登録バッファの参照処理を行う(S781)。
次いで、音声・LED制御回路220は、処理対象(参照中)の所定のチャンネルの登録バッファに格納されたデータテーブル情報に基づいて、該所定のチャンネルで2つのシーケンサーを使用する(再生チャンネル及び拡張チャンネルを使用する)か否かを判別する(S782)。なお、ここでは図示しないが、S782〜後述のS784の一連の処理はチャンネル数分だけ繰り返し実行される。
S782において、音声・LED制御回路220が、所定のチャンネルで2つのシーケンサーを使用すると判別した場合(S782がYES判定の場合)、音声・LED制御回路220は、再生チャンネル及び拡張チャンネルの各登録バッファに格納されたデータテーブル情報に基づいて、各シーケンサーが制御する各制御部位で使用するSPIチャンネル(物理系統)を指定する(S783)。一方、S782において、音声・LED制御回路220が、所定のチャンネルで2つのシーケンサーを使用しないと判別した場合(S782がNO判定の場合)、音声・LED制御回路220は、再生チャンネルの登録バッファに格納されたデータテーブル情報に基づいて、再生チャンネル用のシーケンサーが制御する制御部位で使用するSPIチャンネル(物理系統)を指定する(S784)。
次いで、音声・LED制御回路220は、所定のチャンネル内において、処理対象(参照中)のポートが制御対象(再生チャンネル内)のポートであるか否かを判別する(S785)。なお、S785の判別処理は、再生チャンネルの登録バッファに格納されたデータテーブル情報に基づいて実行され、S785〜後述のS791の一連の処理はポート数分だけ繰り返し実行される。
S785において、音声・LED制御回路220が、参照中のポートが制御対象のポートでないと判別した場合(S785がNO判定の場合)、音声・LED制御回路220は、後述のS789の処理を行う。一方、S785において、音声・LED制御回路220が、参照中のポートが制御対象のポートであると判別した場合(S785がYES判定の場合)、音声・LED制御回路220は、データテーブル情報に基づき、処理対象(参照中)の再生チャンネル(制御部位)において、再生方式に「ODONLY」が指定されているか否かを判別する(S786)。
S786において、音声・LED制御回路220が、参照中の再生チャンネルにおいて、再生方式に「ODONLY」が指定されていると判別した場合(S786がYES判定の場合)、音声・LED制御回路220は、チャンネルの実行優先順位及び出力データの有無に基づいて、ポート情報(LEDデータ)の上書き処理を行う(S787)。なお、この処理では、上記変形例2のランプ制御処理(図105A及び図105B)中のS750と同様の処理が行われる。
一方、S786において、音声・LED制御回路220が、参照中の再生チャンネルにおいて、再生方式に「ODONLY」が指定されていないと判別した場合(S786がNO判定の場合)、音声・LED制御回路220は、チャンネルに設定された実行優先順位に基づいて、ポート情報(LEDデータ)の上書き処理を行う(S788)。なお、この処理では、上記変形例2のランプ制御処理(図105A及び図105B)中のS751と同様の処理が行われる。
S787或いはS788の処理後、又は、S788がNO判定の場合、音声・LED制御回路220は、上述したS785〜S788の処理が、参照中のポートの全ての再生チャンネル(8チャンネル分)に対して実行されたか否かを判別する(S789)。
S789において、音声・LED制御回路220が、S785〜S788の処理が全ての再生チャンネルに対して実行されていないと判別した場合(S789がNO判定の場合)、音声・LED制御回路220は、処理をS785に戻し、処理対象の再生チャンネルを変更してS785以降の処理を繰り返す。
一方、S789において、音声・LED制御回路220が、S785〜S788の処理が全ての再生チャンネルに対して実行されたと判別した場合(S789がYES判定の場合)、音声・LED制御回路220は、参照中のポートに対するポート直接指定データがランプリクエストに含まれているか否かを判別し、ポート直接指定データがランプリクエストに含まれている場合には、音声・LED制御回路220は、参照中のポートのLEDデータをポート直接指定データで上書きする(S790)。
次いで、音声・LED制御回路220は、上述したS785〜S790の処理が全てのポートに対して実行されたか否かを判別する(S791)。
S791において、音声・LED制御回路220が、S785〜S790の処理が全てのポートに対して実行されていないと判別した場合(S791がNO判定の場合)、音声・LED制御回路220は、処理をS785に戻し、処理対象のポートを変更してS785以降の処理を繰り返す。一方、S791において、音声・LED制御回路220が、S785〜S790の処理が全てのポートに対して実行されたと判別した場合(S791がYES判定の場合)、音声・LED制御回路220は、後述のS792の処理を行う。
なお、この例において、拡張チャンネルも使用する場合には、再生チャンネルに対して行った上記S785〜S791の処理と同様の処理を、拡張チャンネルに対しても同様に行う。この際、再生チャンネルに対する上記S785〜S791の処理と、拡張チャンネルに対する上記S785〜S791の処理とを並列処理で同時に行う。なお、この際、再生チャンネルに対する上記S785〜S791の処理は、実際には、再生チャンネルに設定されたシーケンサーにより実行され、拡張チャンネルに対する上記S785〜S791の処理は、拡張チャンネルに設定されたシーケンサーにより実行される。
S791がYES判定の場合、音声・LED制御回路220は、所定のチャンネルにおいて、2つのシーケンサー(再生チャンネル用シーケンサー及び拡張チャンネル用シーケンサー)を使用して上記S785〜S791の一連の処理を実行したか否かを判別する(S792)。なお、ここでは、図示しないが、S792〜後述のS794の一連の処理は、チャンネル数分繰り返して実行される。
S792において、音声・LED制御回路220が、2つのシーケンサーを使用して上記S785〜S791の一連の処理を実行したと判別した場合(S792がYES判定の場合)、音声・LED制御回路220の各シーケンサーは、対応する制御部位にクリアデータ(消灯データ)を設定(予約)する(S793)。一方、S782において、音声・LED制御回路220が、2つのシーケンサーを使用して上記S785〜S791の一連の処理を実行しなかったと判別した場合(S792がNO判定の場合)、音声・LED制御回路220は、再生チャンネルクリア機能を実行する(S794)。この処理により、再生チャンネルの制御部位にクリアデータ(消灯データ)が設定(予約)される。
そして、上述したS792〜S794の一連の処理が、全チャンネルにおいて実行された後、音声・LED制御回路220は、各ポートのデータ設定処理を終了する。
[変形例4]
上記実施形態では、SPIバスで接続された音声・LED制御回路220(マスタ)及び各LEDドライバ280(スレーブ)間において、音声・LED制御回路220から各LEDドライバ280に一方的に、LEDデータ及びデバイスアドレスデータを含むシリアル・データを送信し、シリアル・データに含まれるデバイスアドレスデータにより送信のLEDドライバ280を指定する構成を説明したが、本発明はこれに限定されない。
例えば、音声・LED制御回路220及びLEDドライバ間においてシリアル・データを送受信する際に、スレーブ・セレクト信号により送受信するLEDドライバを指定する構成にしてもよい。変形例4では、スレーブ・セレクト信号(SS信号)を用いて、シリアル・データ(LEDデータ等)の送信先となるLEDドライバを指定する構成例を説明する。
以下に、この例における音声・LED制御回路及びLEDドライバ間の接続構成、通信原理、及び、通信処理の手順について説明するが、この例のパチンコ遊技機では、音声・LED制御回路及びLEDドライバ間の通信形態以外の構成は、上記実施形態と同様に構成することができる。それゆえ、ここでは、音声・LED制御回路及びLEDドライバ間の通信形態(構成及び通信制御手法)についてのみ説明する。
[音声・LED制御回路及びLEDドライバ間の接続構成]
まず、図108を参照しながら、変形例4の音声・LED制御回路290及びLEDドライバ291間の接続構成を説明する。なお、図108は、この例の音声・LED制御回路290及びLEDドライバ291間の接続構成を示す図である。
この例においても、音声・LED制御回路290及びLEDドライバ291間は、SPIバスにより接続されるので、各物理系統(SPIチャンネル)において、シリアル・クロック(SCL)の信号配線と、シリアル・データ(SDO、SDI)の信号配線とが別配線で設けられる。そして、音声・LED制御回路290(マスタ)の各物理系統(SPIチャンネル)において、音声・LED制御回路290のシリアル・クロック信号の各出力端子(SCL1,SCL2)は、対応する複数のLEDドライバ291(スレーブ)のシリアル・クロック信号の入力端子(SCL)に並列接続される。また、音声・LED制御回路290のシリアル・データの各出力端子(SDO1,SDO2)は、対応するLEDドライバ291のシリアル・データの入力端子(SDI)に並列接続される。さらに、音声・LED制御回路290のシリアル・データの各入力端子(SDI1,SDI2)は、対応する複数のLEDドライバ291のシリアル・データの出力端子(SDO)に並列接続される。
さらに、この例では、図108に示すように、音声・LED制御回路290(マスタ)には、複数のスレーブ・セレクト端子(SS1,SS2,SS3)が設けられ、各LEDドライバ291(スレーブ)にもスレーブ・セレクト端子(SS)が設けられる。なお、各LEDドライバ291に設けられたスレーブ・セレクト端子(SS)は、例えば、図40で説明した上記実施形態のLEDドライバ280の端子群280d内に追加して設けられる。そして、音声・LED制御回路290の各スレーブ・セレクト端子は、対応するLEDドライバ291のスレーブ・セレクト端子(SS)に接続される。
[通信原理]
次に、音声・LED制御回路290(マスタ)及びLEDドライバ291(スレーブ)間におけるシリアル・データの通信原理を、図109を参照しながら説明する。なお、図109は、音声・LED制御回路290(マスタ)及びLEDドライバ291(スレーブ)間におけるシリアル・データの通信動作の様子を示す図である。
音声・LED制御回路290は、図109に示すように、バッファ(第1記憶手段)、シフト・レジスタ(第1入出力手段)及びシフト・クロック発生部を有し、各LEDドライバ291は、バッファ(第2記憶手段)及びシフト・レジスタ(第2入出力手段)を有する。なお、音声・LED制御回路290内のシフト・レジスタは、8ビットのシフト・レジスタで構成される。また、LEDドライバ291内のシフト・レジスタも、8ビットのシフト・レジスタで構成される。
音声・LED制御回路290(マスタ)及びLEDドライバ291(スレーブ)間におけるシリアル・データの通信動作において、音声・LED制御回路290内のシフト・レジスタの動作は、シフト・クロック発生部から入力されるシリアル・クロック信号に基づいて制御される。また、LEDドライバ291内のシフト・レジスタの動作もまた、音声・LED制御回路290内のシフト・クロック発生部から出力されるシリアル・クロック信号に基づいて制御される。なお、音声・LED制御回路290内のシフト・クロック発生部から出力されるシリアル・クロック信号は、シリアル・クロックの信号配線(音声・LED制御回路290のSCL端子(SCL1,SCL2)及びLEDドライバ291のSCL端子間の接続配線)を介して、LEDドライバ291に入力される。なお、この例では、8ビット単位でデータ通信が行われる。
音声・LED制御回路290(マスタ)からLEDドライバ291(スレーブ)へのシリアル・データの通信動作が開始されると、音声・LED制御回路290(マスタ)内のバッファから音声・LED制御回路290内のシフト・レジスタに送信データ(8ビット)が送信され、該送信データを構成する各ビットのデータ(M0〜M7)がシフト・レジスタ内の対応するレジスタに格納される。また、LEDドライバ291(スレーブ)内のバッファからLEDドライバ291内のシフト・レジスタに送信データ(8ビット)が送信され、該送信データを構成する各ビットのデータ(S0〜S7)がシフト・レジスタ内の対応するレジスタに格納される。
次いで、音声・LED制御回路290内のシフト・レジスタの先頭レジスタに格納された1ビットのデータM7が、シリアル・データの通信配線(音声・LED制御回路290のSDO端子(SDO1又はSDO2)及びLEDドライバ291のSDI端子間の接続配線)を介して、LEDドライバ291に送信される。また、この際、音声・LED制御回路290のシフト・レジスタ内に格納されたデータ(M0〜M6)が一つ先頭側のレジスタにシフトして格納される。
また、音声・LED制御回路290のデータM7の送信処理と同時に、LEDドライバ291内のシフト・レジスタの先頭レジスタに格納された1ビットのデータS7が、シリアル・データの通信配線(音声・LED制御回路290のSDI端子(SDI1又はSDI2)及びLEDドライバ291のSDO端子間の接続配線)を介して、音声・LED制御回路290に送信される。また、この際、LEDドライバ291のシフト・レジスタ内に格納されたデータ(S0〜S6)が一つ先頭側のレジスタにシフトして格納される。
次いで、音声・LED制御回路290からLEDドライバ291に送信されたデータM7は、LEDドライバ291のシフト・レジスタ内の最後尾レジスタに格納される。また、この際、LEDドライバ291から音声・LED制御回路290に送信されたデータS7は、音声・LED制御回路290のシフト・レジスタ内の最後尾レジスタに格納される。
上述した1ビットのデータ通信が終了した際の、音声・LED制御回路290内のシフト・レジスタのデータ格納状態、及び、LEDドライバ291内のシフト・レジスタのデータ格納状態を、図110に示す。図110に示すように、この例のデータ通信では、各シフト・レジスタの最後尾側のレジスタから順次データが入れ替わる。
そして、上述した1ビットのデータ通信が8回繰り返されると、音声・LED制御回路290のシフト・レジスタ内のデータと、LEDドライバ291のシフト・レジスタ内のデータとが互いに入れ替わり、8ビットのデータ通信が終了する。なお、8ビットのデータ通信が終了すると、音声・LED制御回路290のシフト・レジスタに格納された8ビットの受信データ(S0〜S7)は、音声・LED制御回路290内のバッファに送信され格納される。また、LEDドライバ291のシフト・レジスタに格納された8ビットの受信データ(M0〜M7)は、LEDドライバ291内のバッファに送信され格納される。
[音声・LED制御回路及びLEDドライバ間の通信処理]
次に、図111A及び図111Bを参照して、音声・LED制御回路290及びLEDドライバ291間で行われるこの例の通信処理について説明する。なお、図111Aは、音声・LED制御回路290により実行されるこの例の信号及びデータの送受信処理の手順を示すフローチャートである。また、図111Bは、この例の音声・LED制御回路290及びLEDドライバ291間の通信処理において、LEDドライバ291により実行される信号及びデータの送受信処理の手順を示すフローチャートである。
(1)音声・LED制御回路のシリアル・データ入出力処理
まず、音声・LED制御回路290は、図111Aに示すように、スレーブ・セレクタ信号(SS信号)を全LEDドライバ291に対して送信する(S801)。この際、スレーブ・セレクト信号(アドレス指定信号)で指定されたデバイスアドレスに対応するLEDドライバ291においてのみ、スレーブ・セレクト信号が受信される。
次いで、音声・LED制御回路290は、スレーブ・セレクト信号で指定したデバイスアドレスのLEDドライバ291との間で、シリアル・データの送受信処理を行う(S802)。この際、音声・LED制御回路290は、上記図109及び図110を用いて説明した通信原理に従って、シリアル・データを8ビット単位で送受信する。次いで、音声・LED制御回路290は、シリアル・データの送受信処理を完了する(S803)。
次いで、音声・LED制御回路290は、スレーブ・セレクト信号の送信を停止する(S804)。そして、S804の処理後、音声・LED制御回路290は、シリアル・データ入出力処理を終了する。
(2)LEDドライバのシリアル・データ入出力処理
まず、LEDドライバ291は、図111Bに示すように、スレーブ・セレクト信号を受信したか否かを判別する(S811)。この処理において、該LEDドライバ291がスレーブ・セレクト信号で指定されたデバイスアドレスに対応するLEDドライバ291である場合には、S811の判定処理の結果はYES判定となる。
S811において、LEDドライバ291が、スレーブ・セレクト信号を受信していないと判別した場合(S811がNO判定の場合)、LEDドライバ291は、後述のS814の処理を行う。一方、S811において、LEDドライバ291が、スレーブ・セレクト信号を受信したと判別した場合(S811がYES判定の場合)、LEDドライバ291は、動作状態を待機状態から起動状態に移行させる(S812)。
S812の処理後、LEDドライバ291は、音声・LED制御回路290との間で、シリアル・データの送受信処理を行う(S813)。この際、LEDドライバ291は、上記図109及び図110を用いて説明した通信原理に従って、シリアル・データを8ビット単位で送受信する。そして、LEDドライバ291は、シリアル・データの送受信処理を完了する。
S813の処理後又はS811がNO判定の場合、LEDドライバ291は、動作状態を待機状態に移行又は待機状態を維持する(S814)。そして、S814の処理後、LEDドライバ291は、シリアル・データ入出力処理を終了する。
この例では、上述のように、音声・LED制御回路290から送信されるスレーブ・セレクト信号により、特定のLEDドライバ291のみを指定して、該LEDドライバ291にデータを送信することができる。この場合、上記実施形態に比べて、音声・LED制御回路290及びLEDドライバ291間の信号配線の数は多くなるが、LEDドライバ291の処理負担を減らすことができ、音声・LED制御回路290の処理負荷と、LEDドライバ291の処理負荷とのバランスを調節することができる。
[変形例5]
上記実施形態では、各ポートに1つのLED281が接続された構成、すなわち、LED281がスタティックLEDである例(スタティック出力制御の例)を説明したが、本発明はこれに限定されない。各ポートに複数のLEDが接続された構成、すなわち、LEDがダイナミック制御されるLED(以下、ダイナミックLEDと称す)であってもよい。
変形例5では、LEDがダイナミックLEDである場合の構成例(ダイナミック出力制御の構成例)を、図112を参照しながら説明する。なお、図112は、LEDデータのダイナミック出力制御の一例を示す例である。図112に示す例では、一つのポート1に3つのLED(赤色LED、青色LED及び緑色LED)が接続されている例を示す。また、この例では、LEDデータ内の、再生時間(点灯時間)を「12」(約48msec)とし、赤色成分の輝度データ、緑色成分の輝度データ及び青色成分の輝度データのそれぞれを「0xFE」とする例を説明する。すなわち、この例では、LEDデータのデータ型(フォーマット)と、上記実施形態のそれと同様にする(図45参照)。
上記データ型のLEDデータがLEDドライバに入力されると、LEDドライバは、制御部位の情報(LEDの種別情報を含む)を参照して、LEDデータの中から接続されたLEDの種別に対応する輝度データに対応する駆動信号をポート1を介してLEDに出力する。それゆえ、赤色LEDには、LEDデータ内の赤色の輝度データ「0xFE」のみが出力され、赤色LEDは、赤色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。また、青色LEDには、LEDデータ内の青色の輝度データ「0xFE」のみが出力され、青色LEDは、青色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。さらに、緑色LEDには、LEDデータ内の緑色の輝度データ「0xFE」のみが出力され、緑色LEDは、緑色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。なお、この場合、赤色LED、青色LED及び緑色LEDの3つのLEDにより白色点灯が行われる。また、この例では、LEDをダイナミック制御するので、点灯期間が48msecである場合、LEDドライバは、2msec間隔で赤色LED、緑色LED及び青色LEDをこの順に切り替えながら、輝度データ「0xFE」に対応する駆動信号を各LEDに出力し、この一連の駆動信号の切替動作が8回繰り替えされる。
上述のように、この例では、LEDデータのデータ型が上記実施形態のそれと同じになるので、上記実施形態のパチンコ遊技機1が備える全てのスタティックLEDをダイナミックLEDで置き換えてもよいし、一部のスタティックLEDをダイナミックLEDで置き換えてもよい。
この例では、上述のように、ダイナミックLEDに出力するLEDデータのデータ型(フォーマット)を上記実施形態におけるスタティックLEDのそれと同様にすることができる。この場合、LEDの出力制御手法が互いに異なる複数のLEDを同時に使用する場合であっても、同じデータ型のLEDデータを送信することができるので、LEDドライバが実行する出力制御の種別毎に、異なるデータ型のLEDデータを用意する必要がなくなる。また、この場合、LEDデータの作成処理及びLEDデータの出力処理を、LEDの出力制御の種別に関係なく、共通化することができる。それゆえ、LEDデータの出力制御手法が互いに異なる複数種のLEDを併用しても、再生チャンネルで使用されるLEDデータの合成(上書きや更新など)が容易となり、複雑なLED出力制御を容易に実行することができる。
さらに、この例及び上記実施形態では、LEDの出力制御の種別に関係なく、LEDデータのデータ型が同じであるので、LEDドライバで制御する制御部位のLEDの個数に関係なく、各LEDデータの合成処理が容易となり、より複雑なLED制御を実施することが可能となる。すなわち、この例では、LEDを用いた演出制御の選択肢を増やすことができ、より高度な演出制御を実現することができる。
[変形例6]
変形例6では、役物20を駆動するモータ272の励磁状態(励磁継続時間等)を検知して、該検知結果に基づいて、エラー検知を行う機能をさらに備えたパチンコ遊技機の構成例についで説明する。なお、変形例6では、モータ272の励磁状態検知機能以外の構成は、上記実施形態と同様に構成することができる。それゆえ、ここでは、モータ272の励磁状態の検知機能を実現するための構成及び処理についてのみ説明する。
(1)モータの励磁状態検知の構成例
まず、モータ272の励磁状態の検知機能の構成例を、図113を参照しながら説明する。図113は、変形例6におけるモータ272の励磁状態の検知機能部の概略構成図である。なお、この例では、モータドライバ271に、4つのモータ272が接続されている例を説明する。
この例におけるモータ272の励磁状態の検知機能部275(以下、励磁状態検知部275という)は、図113に示すように、3つのOR回路(第1OR回路276、第2OR回路277及び第3OR回路278)を含む論理回路により構成される。
励磁状態検知部275内の第1OR回路276の一方の入力端子は、モータドライバ271の4つの出力端子のうち、出力端子OUT0に接続され、第1OR回路276の他方の入力端子は、モータドライバ271の出力端子OUT1に接続される。また、第2OR回路277の一方の入力端子は、モータドライバ271の出力端子OUT3に接続され、第2OR回路277の他方の入力端子は、モータドライバ271の出力端子OUT4に接続される。
励磁状態検知部275内の第3OR回路278の一方の入力端子は、第1OR回路276の出力端子に接続され、第3OR回路278の他方の入力端子は、第2OR回路277の出力端子に接続される。そして、第3OR回路278の出力端子は、モータドライバ271に設けられた励磁状態検知用の所定の入力端子Pに接続される。
図113に示す構成の励磁状態検知部275(励磁検知手段)を備えるパチンコ遊技機において、モータドライバ271から4つのモータ272の少なくとも1つに励磁データが出力されていると、励磁状態検知部275内の第3OR回路278からは、励磁検知信号(判別結果信号)としてデータ「1」がモータドライバ271に出力される。一方、モータドライバ271から4つのモータ272のいずれにも励磁データが出力されていない場合には、励磁状態検知部275内の第3OR回路278からは、励磁検知信号としてデータ「0」がモータドライバ271に出力される。
この例では、ホスト制御回路210は、モータドライバ271に入力された励磁検知信号(「1」又は「0」)に基づいて、4つのモータ272の少なくとも1つが励磁状態であるか否かを判別する。そして、ホスト制御回路210は、モータ272が連続して励磁されている時間(励磁検知信号「1」が連続して検知されている時間)をカウントし、その連続励磁時間が所定値以上になれば、全てのモータ272の駆動を停止する。なお、ここでいう、「全てのモータ272」とは、モータドライバ271に接続された全てのモータ272を意味するが、本発明はこれに限定されず、役物20を駆動させる全モータであってもよいし、複数のモータドライバ271に接続された複数のモータ272であってもよい。
なお、励磁状態検知部275の構成は、図113に示す例に限定されず、複数のモータ272の少なくとも1つが励磁状態であるか否かを判別することができる構成であれば任意の構成にすることができる。例えば、励磁状態検知部275に含まれるOR回路の個数及びOR回路間の接続形態は、例えばモータドライバ271に接続されるモータ272の個数に応じて適宜変更することができる。また、例えば、複数のモータ272のうち、稼働率の高い一部のモータ272の励磁状態を判別するような構成にしてもよい。この場合には、励磁状態検知部275は、モータドライバ271に設けられた励磁データの複数の出力端子のうち、監視対象となる稼働率の高い一部のモータ272に対応する出力端子のみに接続される。また、複数のモータ272のうち、監視対象となる一部のモータ272の励磁状態を判別する構成では、稼働率に関係なく任意に一部のモータ272を選択し、該選択された一部のモータ272の励磁状態を監視するようにしてもよい。
(2)役物制御処理
次に、図114を参照して、ホスト制御回路210により実行されるこの例の役物制御処理についてより詳細に説明する。なお、図114は、この例の役物制御処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、I2Cコントローラ261のリセット処理中であるか否かを判別する(S821)。
S821において、ホスト制御回路210が、I2Cコントローラ261のリセット処理中であると判別した場合(S821がYES判定の場合)、ホスト制御回路210は、役物制御処理を終了する。一方、S821において、ホスト制御回路210が、I2Cコントローラ261のリセット処理中でないと判別した場合(S821がNO判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S822)。
S822において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S822がYES判定の場合)、ホスト制御回路210は、役物リクエストに基づいて、各モータドライバ271(モータ272)に励磁データを出力する(S823)。これにより、役物20を用いた演出動作(モータ272の駆動動作)が開始される。次いで、ホスト制御回路210は、役物20を用いた演出動作(モータ272の駆動動作)中にエラーが発生したか否かを判別する(S824)。
S824において、ホスト制御回路210が、エラーが発生したと判別した場合(S824がYES判定の場合)、ホスト制御回路210は、後述のS830の処理を行う。一方、S824において、ホスト制御回路210が、エラーが発生していないと判別した場合(S824がNO判定の場合)、ホスト制御回路210は、モータ272の励磁状態の継続時間(連続励磁時間)を計測する(S825)。この処理では、ホスト制御回路210は、励磁状態検知部275内の第3OR回路278からモータドライバ271に入力される励磁検知信号に基づいて、モータ272の連続励磁時間を計測する。
S825の処理後、ホスト制御回路210は、モータ272の励磁状態の継続時間(連続励磁時間)が所定時間以上であるか否かを判別する(S826)。
S826において、ホスト制御回路210が、モータ272の連続励磁時間が所定時間以上であると判別した場合(S826がYES判定の場合)、ホスト制御回路210は、後述のS830の処理を行う。一方、S826において、ホスト制御回路210が、モータ272の連続励磁時間が所定時間以上でないと判別した場合(S826がNO判定の場合)、ホスト制御回路210は、モータ272の励磁中であるか否かを判別する(S827)。
S827において、ホスト制御回路210が、モータ272の励磁中であると判別した場合(S827がYES判定の場合)、ホスト制御回路210は、処理をS824に戻し、S824以降の処理を行う。一方、S827において、ホスト制御回路210が、モータ272の励磁中でないと判別した場合(S827がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了する。
ここで、再度、S822の処理に戻って、S822において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S822がNO判定の場合)、ホスト制御回路210は、役物20を初期位置に移動させる(戻す)ための励磁データをモータ272に出力する(S828)。次いで、ホスト制御回路210は、役物20を初期位置に移動させる動作(モータ272の駆動動作)においてエラーが発生したか否かを判別する(S829)。
S829において、ホスト制御回路210が、エラーが発生したと判別した場合(S829がYES判定の場合)、ホスト制御回路210は、後述のS830の処理を行う。一方、S829において、ホスト制御回路210が、エラーが発生していないと判別した場合(S829がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了する。
S824、S826又はS829がYES判定の場合、ホスト制御回路210は、全てのモータ272の駆動動作を停止する(S830)。具体的には、ホスト制御回路210は、全てのモータ272の励磁を開放する。そして、S830の処理後、ホスト制御回路210は、役物制御処理を終了する。
なお、S830の処理では、ホスト制御回路210は、さらに、表示装置13を制御して、役物20の駆動エラーが発生した旨の情報を表示画面に表示させる。ただし、このエラー表示は、電源をオフするまで解除されないようにする。
上述のように、この例では、モータ272の連続励磁時間が所定時間以上になると、全てのモータ272の駆動動作が停止される。このモータ272の駆動動作の停止処理(モータ272の保護処理)を実行するか否かの判別するためのモータ272の連続励磁時間の閾値は、例えば、役物20による演出内容に応じて任意に設定することができる。なお、上述したモータ272の励磁状態(連続励磁時間)の検知処理及びその検知結果に基づくモータ272の保護処理は、上記実施形態で行わる役物制御処理(図95参照)の追加処理として行われてもよいし、上記実施形態の役物制御処理(図95参照)中のS499以降の処理を、図114に示すフローチャートの処理で置き換えてもよい。
なお、役物リクエストに基づいて、ホスト制御回路210からモータ272(モータドライバ271)に出力される励磁データは、役物20の一つの所定動作に対応する励磁データで構成される場合もあるが、複数の所定動作にそれぞれ対応する複数の励磁データで構成される場合もある。
後者の場合には、役物リクエストに基づいて、ホスト制御回路210からモータ272(モータドライバ271)に複数の励磁データが所定の順序で出力される。そして、この場合には、この例の役物制御処理において、図114中のS824〜S827の処理を励磁データ毎(役物の一つの動作毎)に繰り返す。それゆえ、例えば、役物20の一連の駆動動作の中で、途中の所定動作に対応する励磁データの出力動作において、モータ272の連続励磁時間が所定時間以上になる(S826がYES判定になる)と、モータ272の駆動動作がその時点で停止され、その後に出力予定の動作毎の励磁データの出力処理も停止される。
(3)この例の構成により得られる各種効果
上述のように、この例では、モータドライバ271から少なくとも一つモータ272に出力される励磁データ(電圧信号)の出力状態(モータ272の励磁状態)を励磁状態検知部275で検知し、該検知結果に基づいて、モータ272の連続励磁時間(役物20の連続駆動時間)を計測する。そして、計測されたモータ272の連続励磁時間(役物20の連続駆動時間)に基づいて、全てのモータ272を停止(励磁開放)するか否かを判別する。
このようなモータ272の励磁状態の検知機能を設けることにより、例えば、モータ272に対して過剰に励磁データが出力されている場合や、意図しないモータ励磁が実行されている場合などを検知することができる。その結果、役物20の動作を保証することができるとともに、モータ272の故障を抑制することができる。
また、役物20の一つの動作毎にモータ272の励磁状態の検知(管理)した場合には、演出動作の区切りよいタイミングでモータ272の駆動を停止することができるので、演出内容に合わせたモータ272の停止処理を行うことができる。
さらに、この例では、モータ272の励磁状態において異常を検知した場合、電源がオフされるまで、表示装置13の表示画面でエラー表示が継続される。それゆえ、この場合には、電源をオフさせてモータ272を強制的に励磁開放させる処理を促すことができる。
上記実施形態及び上記各種変形例では、遊技機としてパチンコ遊技機を例に挙げ説明したが、本発明はこれに限定されない。上述した本発明の各種技術は、他の遊技機にも適用可能であり、例えば、弾球遊技機、パチスロ遊技機、ゲーミングマシン、封入式遊技機、回動式遊技機等の各種遊技機に適用することもできる。
ところで、上述のように、従来、特許文献1において、遊技制御用マイクロコンピュータから表示制御用マイクロコンピュータに送信される表示制御コマンドに基づいて、各種演出装置の演出制御を行う技術が提案されている。しかしながら、例えば、特許文献1では使用されるコマンドの内容(コマンドに含まれる情報)は限定的であるので、近年の演出の多様化に対応するためには、コマンドに含まれる情報をさらに増加させる必要がある。この場合、コマンドの内容が複雑になり、コマンドに基づく各種処理の効率が低下する可能性がある。本発明は上記状況を鑑みなされたものであり、本発明の目的は、コマンドの内容が複雑になっても、コマンドに基づく各種処理を効率良く実行することができ、より高度な演出制御が可能となる遊技機を提供することである。そして、上記構成の本発明の遊技機によれば、コマンドデータの内容が複雑になっても、コマンドデータに基づく各種処理を効率良く実行することができ、より高度な演出制御を実行することができる。なお、この効果が得られる理由については、上述の実施形態の説明の中で詳述した通りである。