以下、本発明の一実施形態に係るパチンコ遊技機(遊技機)の構成及び各種動作について、図面を参照しながら説明する。
<機能フロー>
まず、図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の上部(上端部付近)の左右両側部にそれぞれ配置される。つまり、スピーカ11は2つ配置される。遊技盤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(副制御手段、演出制御手段)とを有する。なお、図5には示さないが、パチンコ遊技機1には、+12Vの電源電圧(直流電圧)を各部に供給するための電源装置が設けられている。
[主制御回路]
主制御回路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の動作を制御するための各種プログラム(後述の図71~図80参照)や、各種データテーブル(後述の図16~図25参照)等が記憶されている。
メイン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(第1基板)と、制御ROM基板203と、CGROM(Character Generator ROM)基板204(第2基板)とを備える。そして、サブ基板202は、中継基板201、制御ROM基板203及びCGROM基板204に接続される。なお、副制御回路200内において、サブ基板202と各種ROM基板(制御ROM基板203及びCGROM基板204)とは、ボード・トゥ・ボードコネクタ(不図示)を介して接続される。
中継基板201は、主制御回路70から送信されたコマンドを受信し、該受信したコマンドをサブ基板202に送信するための中継基板である。
サブ基板202には、ホスト制御回路210(ホスト制御手段、演出制御手段)、音声・LED制御回路220(発光制御手段、音声制御手段、演出制御手段)、表示制御回路230(演出制御手段)、SDRAM(Synchronous Dynamic RAM)250及び内蔵中継基板260が設けられる。
ホスト制御回路210は、主制御回路70から送信される各種のコマンドに基づいて、副制御回路200全体の動作を制御する回路であり、CPUプロセッサにより構成される。ホスト制御回路210は、サブ基板202内において、RTC211、音声・LED制御回路220、表示制御回路230及び内蔵中継基板260に接続される。また、ホスト制御回路210は、制御ROM基板203に接続される。
また、ホスト制御回路210は、サブワークRAM210a及びSRAM(Static RAM)210bを有する。サブワークRAM210aは、ホスト制御回路210が各種処理を実行する際の作業用一時記憶領域と作用する記憶装置であり、ホスト制御回路210が各種処理を実行する際に必要となる種々のフラグや変数の値などを記憶する。SRAM210bは、サブワークRAM210a内の所定のデータをバックアップする記憶装置である。なお、本実施形態では、ホスト制御回路210の一時記憶領域としてRAMを用いるが、本発明はこれに限定されず、読み書き可能な記憶媒体であれば任意の記録媒体を一時記憶領域として用いてよい。
RTC211は、現在時刻を計時するICである。
音声・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ドライバが含まれる(後述の図44~図46参照)。
表示制御回路230は、表示装置13に接続され、ホスト制御回路210から入力される制御信号(描画リクエスト)に基づいて演出に関する画像(装飾図柄画像、背景画像、演出用画像等)を表示装置13で表示させる際の各種処理動作を制御するための回路である。なお、表示制御回路230は、ディスプレイコントローラ(後述の第1ディスプレイコントローラ238及び第2ディスプレイコントローラ239)と、内蔵VRAM(VideoRAM)237(第4情報格納手段、第3記憶手段)とを有する。
また、表示制御回路230は、サブ基板202内においてSDRAM250に接続される。さらに、表示制御回路230は、CGROM基板204に接続される。また、表示制御回路230内のディスプレイコントローラは、中継基板を介さず直接、表示装置13に接続される。なお、表示制御回路230の内部構成については、後で図面を参照しながら詳述する。
SDRAM250(第3情報格納手段、第2記憶手段)は、DDR2(Double-Date Rate2)SDRAMで構成される。また、SDRAM250には、表示装置13により表示される画像(動画及び静止画)の描画処理において、各種画像データを一時的に格納する各種バッファが設けられる。具体的には、例えば、後述の図99~図101に示すように、SDRAM250には、テクスチャバッファ、ムービバッファ、ブレンドバッファ、2つのフレームバッファ(第1フレームバッファ及び第2フレームバッファ)、モーションバッファ等が設けられる。
内蔵中継基板260は、ホスト制御回路210及び音声・LED制御回路220から出力された各種信号及び各種データを受信し、該受信した各種信号及び各種データをスピーカ11、ランプ群18及び役物20に送信する中継基板である。
また、内蔵中継基板260は、I2C(Inter-Integrated Circuit)コントローラ261、デジタルオーディオパワーアンプ262(音声増幅手段)及び電圧変換回路部269を有する。
なお、本実施形態では、I2Cコントローラ261、デジタルオーディオパワーアンプ262及び電圧変換回路部269を同じ中継基板に搭載した例を示すが、本発明はこれに限定されず、I2Cコントローラ261を搭載した中継基板、デジタルオーディオパワーアンプ262を搭載した中継基板、及び、電圧変換回路部269を搭載した中継基板をそれぞれ別個に設けてもよい。また、本実施形態では、I2Cコントローラ261、デジタルオーディオパワーアンプ262及び電圧変換回路部269が搭載された中継基板をサブ基板202内に設ける例を説明したが、本発明はこれに限定されない。I2Cコントローラ261、デジタルオーディオパワーアンプ262及び電圧変換回路部269が搭載された中継基板をサブ基板202とは別個に設け、両基板間を配線等で電気的に接続する構成にしてもよい。
I2Cコントローラ261は、ホスト制御回路210、及び、役物20のモータコントローラ270に接続される。すなわち、ホスト制御回路210は、I2Cコントローラ261及びモータコントローラ270を介して役物20に接続される。そして、ホスト制御回路210から出力された制御信号及びデータ(例えば後述の励磁データ等)は、I2Cコントローラ261及びモータコントローラ270を介して役物20に入力される。
なお、本実施形態では、I2Cコントローラ261及びモータコントローラ270間の通信は、I2Cの通信方式(シリアル通信方式の一種)で行われる。また、本実施形態では、役物20内には、1個以上のモータが含まれ、モータコントローラ270内には、各モータを駆動するための1個以上のモータドライバが含まれる(後述の図69及び図70参照)。なお、図6には、役物20が1つだけ設けられた例を示すが、本発明はこれに限定されず、複数の役物20が設けられていてもよい。
また、本実施形態の構成において、モータコントローラ270を使用せずにホスト制御回路210が直接、役物20のモータを駆動する構成にしてもよいし、モータ制御用の制御回路を別途設けてもよい。さらに、本実施形態では、1つの制御回路で複数のモータドライバ(モータ)を制御する構成を説明するが(後述の図69及び図70参照)、本発明はこれに限定されない。本実施形態において、1以上(1又は複数)の制御回路により1以上(1又は複数)のモータ(モータドライバ)を制御する構成にしてもよいし、1以上(1又は複数)の制御回路により1つのモータ(モータドライバ)を制御する構成にしてもよいし、1つの制御回路により1つのモータ(モータドライバ)を制御する構成にしてもよい。
また、デジタルオーディオパワーアンプ262は、音声・LED制御回路220、及び、スピーカ11に接続される。すなわち、音声・LED制御回路220は、デジタルオーディオパワーアンプ262を介してスピーカ11に接続される。それゆえ、音声・LED制御回路220から出力された音声信号等は、デジタルオーディオパワーアンプ262を介してスピーカ11に入力される。
電圧変換回路部269は、図示しないが、+12Vの電源電圧を出力する電源装置(不図示)、並びに、スピーカ11、ランプ群18及びモータコントローラ270(役物20)に接続される。電圧変換回路部269は、入力された直流電圧をそれより低い直流電圧に変換して出力する回路部(DC/DC変換回路部)である。本実施形態では、電圧変換回路部269により、電源装置(不図示)から入力された+12Vの電源電圧(直流電圧)を+5Vの駆動電圧(直流電圧)に変換する。そして、電圧変換回路部269は、変換された+5Vの駆動電圧をスピーカ11、ランプ群18及びモータコントローラ270(役物20)に供給する。なお、電圧変換回路部269の内部構成は、後で図面を参照しながら詳述する。
制御ROM基板203には、サブメインROM205が設けられる。サブメインROM205には、ホスト制御回路210によりパチンコ遊技機1の演出動作を制御するための各種プログラム(後述の図81、図83~図86、図88~図112参照)や、各種データテーブル(後述の図26~図28参照)が記憶される。そして、ホスト制御回路210は、サブメインROM205に記憶されたプログラムに従って、各種の処理を実行する。
なお、本実施形態では、ホスト制御回路210で用いるプログラムや各種テーブル等を記憶する記憶手段として、サブメインROM205を適用したが、本発明はこれに限定されない。このような記憶手段としては、制御手段を備えたコンピュータにより読み取り可能な記憶媒体であれば別態様の記憶媒体を用いてもよく、例えば、ハードディスク装置、CD-ROM及びDVD-ROM、ROMカートリッジ等の記憶媒体を適用してもよい。また、プログラムの各々が別々の記憶媒体に記録されていてもよい。さらに、プログラムは、予め記録媒体に記録されていてもよいし、電源投入後に外部等からダウンロードされ、サブメインROM205に記録されてもよい。
CGROM基板204には、CGROM206(第1情報格納手段、第2情報格納手段、第1記憶手段)が設けられる。CGROM206は、NOR型又はNAND型のフラッシュメモリにより構成される。また、CGROM206には、例えば表示装置13で表示される画像データや、スピーカ11により再生される音声データ(後述のアクセスデータ)などが記憶される。なお、この際、各種データは圧縮(符号化)されてCGROM206に格納されるが、本発明はこれに限定されず、各種データが圧縮されずにCGROM206に格納されていてもよい。
なお、本実施形態では、副制御回路200内において、各種ROM基板(制御ROM基板203及びCGROM基板204)とサブ基板202とがボード・トゥ・ボードコネクタで接続される構成を説明したが、本発明はこれに限定されない。例えば、各種ROMをサブ基板202に設けられたソケット等のポートに直接挿入して、ROM機能を備えた又はROMそのものを備えた一枚の基板によりサブ基板202を構成してもよい。すなわち、サブ基板202と各種ROMとを一体的に構成してもよい。また、ROM機能を備えた又はROMそのものを備えた一枚の基板によりサブ基板202が構成されている場合には、副制御回路200は、CGROMとして使用されるメモリの種類に応じて使用するサブ基板上の回路を物理的或いは電気的に切り替える切り替え手段、又は、メモリの種類に応じて使用するサブ基板上の回路の情報を切り替える切り替え手段を備えていてもよい。
また、本実施形態では、各種記憶手段(サブメインROM205、CGROM206、内蔵VRAM237、SDRAM250)のそれぞれと、対応する制御回路との間におけるデータの通信速度の大小関係は、内蔵VRAM237>SDRAM250>サブメインROM205≒CGROM206となる。すなわち、本実施形態では、内蔵VRAM237と表示制御回路230内の各種回路との間の通信速度が最も早く、次いで、SDRAM250と表示制御回路230との間の通信速度が早くなる。そして、サブメインROM205とホスト制御回路210との間の通信速度、及び、CGROM206と表示制御回路230との間の通信速度が最も遅くなる。しかしながら、本発明はこれに限定されず、各種記憶手段のそれぞれと、対応する制御回路との間の通信速度の大小関係は任意に設定することができる。例えば、各種記憶手段のそれぞれと、対応する制御回路との間の通信速度の大小関係が、本実施形態と異なっていてもよいし、各記憶手段と、対応する制御回路との間の通信速度が全て同じであってもよい。
ここで、上述した各種記憶手段(第1情報格納手段~第4情報格納手段)の取り得る構成について説明する。本実施形態では、画像データに関する情報(圧縮(符号化)された画像データ)の記憶手段(第1情報格納手段)が、画像データに対して透明度を設定する際に使用可能な透明度データに関する情報(後述のアルファテーブル)の記憶手段(第2情報格納手段)と同じ(CGROM206)である構成例を説明した。すなわち、「第1情報格納手段」が、「第2情報格納手段」と物理的に同じである構成例を説明した。しかしながら、本発明は、これに限定されない。例えば「第1情報格納手段」が、「第2情報格納手段」と物理的に異なる記憶手段(記憶媒体)で構成されていてもよい。
また、本明細書でいう「情報格納手段」は、CGROM206等の記憶手段だけでなく、該記憶手段に記憶されているテーブルや、記憶手段内のデータ記憶領域などを意味するものであってもよい。それゆえ、例えば、「第1情報格納手段」及び「第2情報格納手段」が、同じ記憶手段内における、互いに異なるデータ記憶領域であってもよいし、互いに異なるテーブルであってもよいし、また、互いに異なるレジスタアドレスに記憶されている態様であってもよい。すなわち、本明細書でいう「情報格納手段」が異なるとは、物理的に記憶手段(記憶媒体)が異なる場合だけでなく、物理的には同じ記憶手段(例えば、ROM、RAM等)であるが、該記憶手段内においてデータ領域(アドレス、レジスタ、テーブル、構造体などによって区別される記憶領域)が異なる場合も含む意味である。
なお、上述した本明細書における「情報格納手段」に関する意味は、上述した「第3情報格納手段」(SDRAM250)及び「第4情報格納手段」(内蔵VRAM237)にも適用可能である。それゆえ、例えば、「第1情報格納手段」~「第4情報格納手段」は、物理的に互いに異なる記憶手段(記憶媒体)で構成されていてもよいし、「第1情報格納手段」~「第4情報格納手段」が、一つの記憶手段内において、互いに異なるデータ領域(アドレス、レジスタ、テーブル、構造体などによって区別される記憶領域)で構成されていてもよい。
また、本実施形態では、「第1情報格納手段」及び「第2情報格納手段」を、一つの記憶手段(CGROM206)内において、互いに異なるデータ領域で構成し、「第3情報格納手段」を、「第1情報格納手段」及び「第2情報格納手段」を含む記憶手段(CGROM206)と物理的に異なる記憶手段(SDRAM250)で構成し、且つ、「第4情報格納手段」を、「第1情報格納手段」及び「第2情報格納手段」を含む記憶手段(CGROM206)、並びに、「第3情報格納手段」(SDRAM250)と物理的に異なる記憶手段(内蔵VRAM237)で構成する例を説明したが、本発明はこれに限定されない。「情報格納手段」をデータ領域及び記憶手段のいずれで構成するか、並びに、データ領域として定義される「情報格納手段」と、記憶手段として定義される「情報格納手段」との組み合わせをどのような態様にするかは、例えば遊技機に設けられる記憶手段の構成(個数や種別など)等に応じて適宜に設定することができる。例えば、本実施形態において、「第1情報格納手段」~「第3情報格納手段」を、一つの記憶手段内の互いに異なるデータ領域で構成し、且つ、「第4情報格納手段」を「第1情報格納手段」~「第3情報格納手段」を含む記憶手段と物理的に異なる記憶手段で構成してもよい。
[音声・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を参照しながら、内蔵中継基板260内に設けられたデジタルオーディオパワーアンプ262及びその周辺回路と、スピーカ11との間の接続構成について説明する。図8は、内蔵中継基板260及びスピーカ11間の接続構成図である。なお、図8では、接続部分の構成をより明確にするため、スピーカ11が内蔵中継基板260に接続されていない状態を示す。
本実施形態のパチンコ遊技機1では、図8に示すように、スピーカ11が設けられたスピーカボックス11aは、ハーネス300(信号配線手段)を介して内蔵中継基板260に接続される。
内蔵中継基板260は、デジタルオーディオパワーアンプ262と、LC回路263と、4つの接続端子(第1接続端子~第4接続端子)を含む接続端子群264(第2端子群)と、2つの抵抗265,266と、コンデンサ267と、NOT回路(論理回路)268とを有する。
デジタルオーディオパワーアンプ262は、入力された音声信号(オーディオデータ)を増幅し、該増幅された音声信号をスピーカ11に出力して、スピーカ11を駆動する。LC回路263は、コイル及びコンデンサを含む共振回路で構成される。また、NOT回路268は入力された信号のレベルを反転して出力する論理回路である。
デジタルオーディオパワーアンプ262のクロック入力端子(MCK)及びデータ入力端子(SDATA)は、音声・LED制御回路220に接続される。そして、デジタルオーディオパワーアンプ262のクロック入力端子(MCK)には、音声・LED制御回路220から出力されたクロック信号(マスタークロック信号)が入力され、データ入力端子(SDATA)には、音声・LED制御回路220から出力された音声信号(オーディオデータ)が入力される。
また、デジタルオーディオパワーアンプ262の第1出力端子(OUTM1)及び第2出力端子(OUTM2)は、LC回路263を介して、それぞれ、内蔵中継基板260の接続端子群264内の第1接続端子及び第2接続端子(第1の接続端子)に接続される。なお、本実施形態では、デジタルオーディオパワーアンプ262の出力端子を2つ設ける例を示すが、本発明はこれに限定されず、例えば、スピーカ11が有する機能や仕様などに応じて適宜変更することができる。
さらに、デジタルオーディオパワーアンプ262は、ミュート端子(MUTE:音声出力制御端子)を有する。デジタルオーディオパワーアンプ262は、ミュート端子に印加される電圧信号のレベル(振幅値)がLOWレベルである場合には、第1出力端子(OUTM1)及び第2出力端子(OUTM2)からの音声信号の出力を停止する、又は、これらの出力端子を高抵抗を介して接地した状態にする機能(以下、ミュート機能という)を有する。すなわち、デジタルオーディオパワーアンプ262は、ミュート端子に印加される電圧信号のレベルがLOWレベルである場合に、第1出力端子(OUTM1)及び第2出力端子(OUTM2)から内蔵中継基板260の第1接続端子及び第2接続端子への音声信号の出力が停止されるような状態を生成する機能を有する。
一方、ミュート端子(MUTE)に印加される電圧信号のレベル(振幅値)がHIGHレベルである場合には、デジタルオーディオパワーアンプ262は、第1出力端子(OUTM1)及び第2出力端子(OUTM2)から音声信号を出力する。
内蔵中継基板260の接続端子群264内の第3接続端子(第2の接続端子)は、抵抗266を介して、NOT回路268の入力端子に接続される。また、NOT回路268の出力端子は、デジタルオーディオパワーアンプ262のミュート端子(MUTE)に接続される。なお、内蔵中継基板260の第3接続端子及び抵抗266間の信号配線は、抵抗265を介して内蔵中継基板260内に設けられた電源電圧(+5V)端子に接続される。また、NOT回路268の入力端子及び抵抗266間の信号配線は、コンデンサ267を介して内蔵中継基板260内に設けられた接地(GND)端子に接続される(接地される)。さらに、内蔵中継基板260の第4接続端子(第3の接続端子)は、接地(GND)端子に接続される。
スピーカ11は、図8に示すように、木枠で構成されたスピーカボックス11aに取り付けられている。また、スピーカボックス11aには、4つの接続端子(第1接続端子~第4接続端子)を含む接続端子群11b(第1端子群)が設けられる。そして、スピーカボックス11aの第1接続端子及び第2接続端子は、信号配線を介してスピーカ11に接続される。また、スピーカボックス11aの第3接続端子(特定の接続端子)は、信号配線W1により、第4接続端子に電気的に接続される。
ハーネス300は、図8に示すように、4本の信号配線を束にして構成される。そして、4本の信号配線の一方の4つの接続端子(第1接続端子~第4接続端子)は、内蔵中継基板260の第1接続端子~第4接続端子にそれぞれ接続される。一方、4本の信号配線の他方の4つの接続端子(第5接続端子~第8接続端子)は、スピーカボックス11aの第1接続端子~第4接続端子にそれぞれ接続される。すなわち、内蔵中継基板260の第1接続端子とスピーカボックス11aの第1接続端子との間は、ハーネス300内の第1接続端子及び第5接続端子間の信号配線(第1の信号配線)により接続され、内蔵中継基板260の第2接続端子とスピーカボックス11aの第2接続端子との間は、ハーネス300内の第2接続端子及び第6接続端子間の信号配線により接続される。また、内蔵中継基板260の第3接続端子とスピーカボックス11aの第3接続端子との間は、ハーネス300内の第3接続端子及び第7接続端子間の信号配線(第2の信号配線)により接続され、内蔵中継基板260の第4接続端子とスピーカボックス11aの第4接続端子との間は、ハーネス300内の第4接続端子及び第8接続端子間の信号配線(第3の信号配線)により接続される。これにより、スピーカ11は、ハーネス300を介して内蔵中継基板260に接続される。
なお、ハーネス300に含まれる信号配線の本数は4本に限定されず、例えば、デジタルオーディオパワーアンプ262及びスピーカ11の各仕様、両者間の接続構成等に応じて適宜変更される。ハーネス300には、少なくとも、デジタルオーディオパワーアンプ262の出力端子とスピーカ11とを接続するための信号配線、及び、デジタルオーディオパワーアンプ262のミュート端子をスピーカボックス11aを介して接地するための信号配線が含まれていればよい。
上述のようにして、内蔵中継基板260とスピーカ11とをハーネス300を介して接続すると、デジタルオーディオパワーアンプ262の第1出力端子(OUTM1)及び第2出力端子(OUTM2)は、ハーネス300を介して、スピーカ11に接続される。また、デジタルオーディオパワーアンプ262のミュート端子(MUTE)は、NOT回路268、ハーネス300、並びに、スピーカボックス11aの第3接続端子及び第4接続端子間の信号配線W1を介して接地される。
この結果、スピーカ11がハーネス300を介して内蔵中継基板260(デジタルオーディオパワーアンプ262)に接続されている状態では、LOWレベルの電圧信号がNOT回路268に入力されるので、デジタルオーディオパワーアンプ262のミュート端子(MUTE)に入力される電圧信号のレベル(振幅値)はHIGHレベルとなる。この場合、デジタルオーディオパワーアンプ262の第1出力端子(OUTM1)及び第2出力端子(OUTM2)からスピーカ11に音声信号が出力される。
一方、スピーカ11が内蔵中継基板260(デジタルオーディオパワーアンプ262)に接続されていない場合には、内蔵中継基板260の第3接続端子が開放状態となる。この場合、電源電圧(+5V)がNOT回路268に入力されるので、デジタルオーディオパワーアンプ262のミュート端子(MUTE)に入力される電圧信号のレベル(振幅値)はLOWレベルとなり、デジタルオーディオパワーアンプ262の上述したミュート機能が作動する。
すなわち、スピーカ11が内蔵中継基板260(デジタルオーディオパワーアンプ262)から外れている場合には、デジタルオーディオパワーアンプ262の第1出力端子(OUTM1)及び第2出力端子(OUTM2)から内蔵中継基板260の第1接続端子及び第2接続端子への音声信号の出力が停止されるような状態が生成される。この結果、デジタルオーディオパワーアンプ262(出力端子)と、内蔵中継基板260の第1及び第2接続端子との間における共振現象の発生を抑制し、デジタルオーディオパワーアンプ262の故障等の不具合発生を防止することができる。
上述のように、本実施形態では、ホスト制御回路210及び音声・LED制御回路220によるソフトウェア上の制御とは関係無く、デジタルオーディオパワーアンプ262のミュート機能を作動させることができる。それゆえ、例えば、スピーカ11が内蔵中継基板260から外れている状況において、ホスト制御回路210及び音声・LED制御回路220が音声信号の出力停止制御を行っていると認識していてもプログラム上のバグ(不具合)等により誤って音声信号が出力されているような場合や、スピーカ11をハーネス300から外さなければ遊技盤の付け替えることができない構造のパチンコ遊技機1において、遊技盤の付け替え終了後に誤ってスピーカ11とハーネス300とを接続せずに扉を閉じ、音声出力を開始した場合などの状況が発生しても、ハード的に、上述したデジタルオーディオパワーアンプ262のミュート機能が作動する。この場合、確実に、デジタルオーディオパワーアンプ262を保護することができ、パチンコ遊技機1の安全性を向上させることができる。
さらに、本実施形態では、上述のように、内蔵中継基板260の第3接続端子は、ハーネス300、並びに、スピーカボックス11aの第3接続端子及び第4接続端子間の信号配線W1を介して、内蔵中継基板260内に設けられた接地(GND)端子に接続される。このような構成では、内蔵中継基板260の第3接続端子の信号レベルがLOWになっている場合に、この要因が内蔵中継基板260の第4接続端子が接地されていることによるものであるか否かを、内蔵中継基板260の第4接続端子の信号レベルを計測することにより判定することができるので、デジタルオーディオパワーアンプ262からのデジタル出力動作をより正確に管理することができる。
[電圧変換回路部]
(1)内部構成
次に、図9を参照して、内蔵中継基板260に搭載された電圧変換回路部269の構成を説明する。なお、図9は、電圧変換回路部269の内部構成を示す図である。
電圧変換回路部269は、電圧降下回路部350(第1の電圧変換回路部)と、リニアレギュレータ360(第2の電圧変換回路部)と、2つのコンデンサ361,362(以下、第1コンデンサ361及び第2コンデンサ362という)とを備える。
電圧降下回路部350は、5つのダイオード351~355(以下、第1ダイオード351~第5ダイオード355という)を直列接続(隣り合う2つのダイオード間において、一方のダイオードのカソードを他方のダイオードのアノードに接続)して構成される。第1ダイオード351~第5ダイオード355のそれぞれは、互いに同じ整流特性(性能)を備えたダイオード(電圧低下手段)で構成される。そして、各ダイオードには、順方向電圧(通電開始電圧)が1.1Vとなる特性を有するダイオードを用いる。それゆえ、通電時には、各ダイオードにおいて、少なくとも1.1Vの電圧降下が発生する。
また、リニアレギュレータ350は、入力電力を消費することにより入力電圧(直流電圧)を降下させる機能(電圧降下機能)を有し、入力電圧を+5Vの直流電圧に変換して出力する回路である。
電圧変換回路部269内では、第1ダイオード351のアノードが+12Vの電源電圧の入力端子(不図示)に接続され、第5ダイオード355のカソードが、リニアレギュレータ360の入力端子(図9中のVin端子)に接続される。
また、リニアレギュレータ360の出力端子(図9中のVout端子)は、図示しない+5Vの駆動電圧の入力端子(例えば、スピーカ11、ランプ群18及びモータコントローラ270(役物20)の各電源入力端子)に接続される。
なお、第1コンデンサ361は、第5ダイオード355のカソード及びリニアレギュレータ360の入力端子間の配線と、内蔵中継基板260内に設けられた接地(GND)端子との間に接続される。また、第2コンデンサ362は、リニアレギュレータ360の出力端子と、内蔵中継基板260内に設けられた接地(GND)端子との間に接続される。さらに、リニアレギュレータ360の接地(GND)端子もまた、内蔵中継基板260内に設けられた接地(GND)端子に接続される。
上述した構成の電圧変換回路部269では、電圧変換回路部269に供給(入力)された+12Vの電源電圧(第1の直流電圧)は、電圧降下回路部350(直列接続された第1ダイオード351~第5ダイオード355)により所定の直流電圧(ただし、+5Vより高い直流電圧)に降下される。次いで、電圧降下回路部350(第1ダイオード351~第5ダイオード355)により降下された所定の直流電圧(第2の直流電圧)は、リニアレギュレータ360の入力端子(Vin端子)に入力される。そして、リニアレギュレータ360は、入力された所定の直流電圧(本実施形態では、+6.5V)を+5Vの直流電圧(第3の直流電圧)に変換し、変換された+5Vの直流電圧を出力端子(Vout端子)からスピーカ11、ランプ群18及びモータコントローラ270(役物20)のそれぞれに出力する。
(2)リニアレギュレータの発熱抑制特性
上述した本実施形態の電圧変換回路部269のように、リニアレギュレータ360の入力側に、複数のダイオードを直列接続して構成した電圧降下回路部350を設けた場合、リニアレギュレータ350に入力される直流電圧を低くすることができる。この場合、リニアレギュレータ360の入力電圧と出力電圧(+5V)との差が小さくなり、リニアレギュレータ360動作時の発熱量を低減することができる。
ここで、図10を参照しながら、電圧降下回路部350内(リニアレギュレータ360の入力側)に設けられるダイオードの個数と、ダイオードの各個数における、リニアレギュレータ360動作時の素子温度(ジャンクション温度)との対応関係の一例を説明する。
図10には、リニアレギュレータ360として、最大出力電流が1Aであり、動作接合部温度(Tj)範囲が-40℃~150℃であり、素子単体使用時の熱抵抗(θja)が125.0℃/Wであり、無限大放熱板使用時の熱抵抗(θja)が12.5℃/Wである特性(性能)を有するリニアレギュレータを用いた場合の特性例を示す。また、図10には、ダイオード1個当りの電圧降下が1.1V(ダイオードの順方向電圧が1.1V)となるような特性を有するダイオードを使用した例を示す。
なお、図10中の「Vin」(入力電圧)は、リニアレギュレータ360に入力される直流電圧である。「Vout」(出力電圧)は、リニアレギュレータ360から出力される直流電圧であり、本実施形態では、ダイオードの個数に関係なく、+5Vである。「Iin」(入力電流)は、リニアレギュレータ360内に流れる電流であり、図10に示す例では、ダイオードの個数に関係なく、0.5Aとする。「Pc」(損失電力)は、リニアレギュレータ360で消費される電力であり、損失電力Pcは、Pc=(Vin-Vout)×Iinの式で算出される。
また、図10中の「θja」(熱抵抗)は、リニアレギュレータ360で発生する熱抵抗値であり、図10に示す例では、50℃/Wとする(素子単体使用時の熱抵抗と無限大放熱板使用時の熱抵抗との中間付近の値とする)。「Ta」(周囲温度)は、リニアレギュレータ360の周囲温度(環境温度)であり、図10に示す例では、25℃(室温程度)とする。そして、「Tj」(素子温度)は、リニアレギュレータ360動作時におけるリニアレギュレータ360の温度であり、素子温度Tjは、Tj=Pc×θja+Taの式で算出される。
図10に示す例において、直列接続するダイオードの個数を、0個、1個、2個、3個、4個及び5個とすると、リニアレギュレータ360の入力電圧Vinは、それぞれ12V、10.9V、9.8V、8.7V、7.6V及び6.5Vとなる。すなわち、図10に示す例では、ダイオードの個数が1個増える度に、リニアレギュレータ360の入力電圧Vinが1.1V間隔で低下する。
そして、直列接続するダイオードの個数を、0個、1個、2個、3個、4個及び5個とすると、リニアレギュレータ360の素子温度Tjは、それぞれ200℃、172.5℃、145℃、117.5℃、90℃及び62.5℃となる。すなわち、図10に示す例では、ダイオードの個数が1個増える度に、リニアレギュレータ360の素子温度Tjが27.5℃間隔で低下する。
上述のように、5個のダイオード(第1ダイオード351~第5ダイオード355)を直列接続して構成された電圧降下回路部350をリニアレギュレータ360の入力側に設けた場合、リニアレギュレータ360の素子温度Tjは62.5℃となり、電圧降下回路部350(ダイオード)を設けない場合における素子温度Tj(200℃)の1/3以下の値となり、リニアレギュレータ360動作時の発熱量を大幅に低減することができる。また、上記構成の本実施形態のパチンコ遊技機1では、リニアレギュレータ360の発熱を抑制することができるので、リニアレギュレータ360に対して、ヒートシンクの設置や基板面積の増大などの放熱対策を実施する必要がなくなるので、コストアップも抑制することができる。
すなわち、本実施形態のパチンコ遊技機1では、リニアレギュレータ360(第2の電圧変換回路部)の発熱を抑制することができるとともに、コストアップも抑制することができる。
なお、図10に示す例では、リニアレギュレータ360の入力電圧Vinが出力電圧Vout(5V)より高くなる構成例を示したが、本発明はこれに限定されない。電圧降下回路部350で、電圧を5Vまで降下させる構成、すなわち、リニアレギュレータ360の入力電圧Vinが出力電圧Vout(5V)と同じ値になる構成にしてもよい。この場合、リニアレギュレータ360の発熱をほぼ無くす(最小限に抑制する)ことができる。
また、本実施形態では、リニアレギュレータ360の入力側に、同じ整流特性(性能)を有するダイオードを5個、直列接続して設ける例を説明したが、本発明はこれに限定されない。直列接続する各ダイオードの整流特性(性能)が互いに異なっていてもよいし、複数のダイオードのうち一部のダイオードにのみ、整流特性(性能)の異なるダイオードを用いてもよい。また、直列接続するダイオードの個数は、5個に限定されず、例えば、各ダイオードの整流特性(順方向電圧の値)、電圧変換回路部269に入力される電源電圧の値、電圧変換回路部269から出力される直流電圧(駆動電圧)の値、リニアレギュレータ360の性能等に応じて適宜設定することができる。
さらに、本実施形態では、電圧降下回路部350を構成する回路素子としてダイオードを用いる例を説明したが本発明はこれに限定されず、電圧低下機能を有する回路素子であれば任意の回路素子をダイオードの代わりに用いることができる。ただし、用いる回路素子の構成(素材、形状、サイズ等)によっては、ダイオードのようにコンパクトな構成を有さないものも考えられる。それゆえ、省スペース化の観点では、電圧降下回路部350を構成する回路素子としてダイオードを用いることが好ましい。特に、ダイオードとして、基板(本実施形態では、内蔵中継基板260)に対して表面実装(平面実装)が可能なダイオードを用いた場合には、基板に対してヒートシンクのような排熱機構を備えた構成に比べて、格段に省スペース化を図ることができる。
また、本実施形態では、電圧降下回路部350の出力側に設ける電圧変換回路(演出装置の駆動電圧を生成する回路)として、リニアレギュレータ360を用いる例を説明したが、本発明はこれに限定されない。内部で入力電力を消費して直流電圧を降下させる電圧変換回路、すなわち、DC/DC変換の原理上、入力電圧と出力電圧との電圧差に応じて発熱量が変化する電圧変換回路であれば、任意の電圧変換回路をリニアレギュレータ360の代わりに適用することができる。
[表示制御回路]
次に、図11を参照しながら、表示制御回路230の内部構成について説明する。図11は、表示制御回路230内部の回路構成、並びに、表示制御回路230とその各種周辺装置及び周辺回路部との接続関係を示すブロック図である。
表示制御回路230は、図11に示すように、メモリコントローラ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は、後述する描画処理(後述の図99~図101参照)で説明するように、デコードされた動画データ及び静止画データのRAMへの格納処理や、内蔵VRAM237とCGROM基板204又はSDRAM250との間における画像データの転送処理などの動作を制御するコントローラである。
内蔵VRAM237は、表示制御回路230による後述の描画処理(後述の図99~図101参照)において、デコード処理やレンダリング処理などの各種処理を実行する際のワーク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:青色成分の輝度値)の演算処理も行われる。
[表示制御回路及びCGROM間の接続構成]
本実施形態のパチンコ遊技機1では、表示制御回路230に接続されるCGROMの種別(NOR型又はNAND型)が異なっていても対処可能な構成を有する。ここで、図12及び図13を参照しながら、サブ基板202内に設けられた表示制御回路230及びその周辺回路と、CGROM基板に搭載されたCGROMとの間の接続構成について説明する。
図12は、CGROMがNOR型のCGROM206a(NOR型フラッシュメモリ)である場合におけるサブ基板202及びCGROM基板204a間の接続構成図である。また、図13は、CGROMがNAND型のCGROM206b(NAND型フラッシュメモリ)である場合におけるサブ基板202及びCGROM基板204b間の接続構成図である。なお、図12及び図13では、接続部分の構成をより明確にするため、CGROM基板がサブ基板202から外れた状態を示すが、実際には、両基板はボード・トゥ・ボードコネクタを介して接続される。
(1)サブ基板の構成
まず、サブ基板202の内部構成を説明する。なお、図12と図13との比較から明らかなように、CGROM基板204aにNOR型のCGROM206aを搭載した場合におけるサブ基板202の構成は、CGROM基板204bにNAND型のCGROM206bを搭載した場合のそれと同様である。
サブ基板202には、図12及び図13に示すように、表示制御回路230が設けられるとともに、その周辺回路として、双方向バランストランシーバ301(通信形態設定手段)及びAND回路302(ANDゲート)が設けられる。また、サブ基板202には、各種信号配線(バス)と、各種バスを介して表示制御回路230に直接的又は間接的に接続された複数の接続端子を含む端子群303(第1端子群)とが設けられる。
双方向バランストランシーバ301は、一方の4つの入出力端子(図12中の端子A0~端子A3)と、該一方の4つの入出力端子(端子A0~端子A3)にそれぞれ接続された他方の4つの入出力端子(図12中の端子B0~端子B3)とを有する。また、双方向バランストランシーバ301は、入出力端子A0~入出力端子A3及び入出力端子B0~入出力端子B3間における信号の通信方向を切替制御するための2つの制御端子(図12中の端子OE及び端子DIR)を有する。
双方向バランストランシーバ301は、制御端子OE及び制御端子DIRにそれぞれ印加される電圧信号の信号レベルの組み合わせに応じて、入出力端子A0~入出力端子A3及び入出力端子B0~入出力端子B3間における信号の通信方向を切り替える。これにより、何らかの原因により通信方向(通信動作)に不整合が発生した場合であっても、表示制御回路230及びCGROM間における通信動作の安全性を確保することができる。なお、双方向バランストランシーバ301における通信方向の切替制御動作については、後で詳述する。また、本実施形態で用いる双方向バランストランシーバ301は、3.3V及び5Vの2電源を有するシステムにも対応可能である。
表示制御回路230には、4つの入出力兼用端子(図12中の端子GMA31/GRB3~端子GMA28/GRB0)が設けられる。この入出力兼用端子GMA31/GRB3~入力出力兼用端子GMA28/GRB0は、CGROMがNOR型のCGROM206aである場合にはアドレスバスの出力端子として作用し、CGROMがNAND型のCGROM206bである場合にはレディ/ビジー信号の入力端子として作用する。また、表示制御回路230には、CGROM内のデータ格納領域のアドレスに関するデータ(アドレスの指定データ等)の出力端子として作用する26個の出力端子(図12中の端子GMA27~端子GMA2)が設けられる。
また、表示制御回路230には、2つのCGメモリチップイネーブル出力端子(図12中の端子GCE_0,端子GCE_1)が設けられる。なお、本実施形態では、表示制御回路230は、2つのCGメモリチップイネーブル出力端子(GCE_0,GCE_1:特定の出力端子)に対応した2つのメモリ空間を有し、各メモリ空間には、メモリの種類、バス幅、アクセスタイミング等の情報が設定される。ただし、本実施形態では、表示制御回路230は、同期モードのROMと非同期モードのROMとを混在した場合には対応(使用)できない構成になっている。
さらに、表示制御回路230には、CGROMから画像データ(動画/静止画の圧縮データ)をデータバスを介して取得するための複数のデータバス入力端子が設けられる。
なお、サブ基板202に設けられた上記構成部の電気的な接続関係は次の通りである。
表示制御回路230の入出力兼用端子GMA31/GRB3~入力出力兼用端子GMA28/GRB0は、図12及び図13に示すように、双方向バランストランシーバ301の入出力端子B0~入出力端子B3にそれぞれ接続される。そして、双方向バランストランシーバ301の入出力端子A0~入出力端子A3は、端子群303の第1接続端子~第4接続端子にそれぞれ接続される。すなわち、表示制御回路230の入出力兼用端子GMA31/GRB3~入力出力兼用端子GMA28/GRB0は、双方向バランストランシーバ301を介して、端子群303の第1接続端子~第4接続端子にそれぞれ接続される。
また、表示制御回路230の出力端子GMA27~出力端子GMA2は、端子群303の第9接続端子~第34接続端子にそれぞれ接続され、CGメモリチップイネーブル出力端子GCE_0及びCGメモリチップイネーブル出力端子GCE_1は、端子群303の第35接続端子及び第36接続端子にそれぞれ接続される。さらに、表示制御回路230の複数のデータバス入力端子は、端子群303の第37接続端子以降の対応する接続端子にそれぞれ接続される。
双方向バランストランシーバ301の制御端子DIRは、端子群303の第5接続端子に接続され、制御端子OEは、AND回路302の出力端子に接続される。AND回路302の一方の入力端子は、CGメモリチップイネーブル出力端子GCE_0に接続され、AND回路302の他方の入力端子は、CGメモリチップイネーブル出力端子GCE_1に接続される。また、サブ基板202の端子群303の第6接続端子及び第7接続端子は、サブ基板202に設けられた電源電圧(+3.3V)端子に接続され、第8接続端子は、サブ基板202に設けられた接地(GND)端子に接続される。
(2)CGROM基板(NOR型)の構成
次に、NOR型のCGROM206aを搭載したCGROM基板204aの内部構成を、図12を参照しながら説明する。
CGROM基板204aにNOR型のCGROM206aを搭載した場合、CGROM基板204aには、NOR型のCGROM206aとともに、各種信号配線(バス)と、各種バスを介してCGROM206aに接続された複数の接続端子を含む端子群311(第2端子群)とが設けられる。
CGROM基板204aに設けられた端子群311中の第1接続端子~第4接続端子及び第9接続端子以降の接続端子は、CGROM206aに接続される。
なお、図12に示す例では、CGROM206aは、NOR型フラッシュメモリ(ランダムアクセス方式のフラッシュメモリ)であるので、端子群311中の第1接続端子~第4接続端子及び第9接続端子~第34接続端子は、CGROM206aのアドレスバスの入力端子(不図示)に接続される。また、端子群311中の第35接続端子及び第36接続端子は、CGROM206aのCGメモリチップイネーブル入力端子(不図示)に接続され、第37接続端子以降の接続端子は、表示制御回路230がCGROM206aから画像データ(動画/静止画の圧縮データ)を取得する際に用いられるCGROM206aのデータ出力端子に接続される。
また、CGROM基板204aに設けられた端子群311中の第5接続端子(所定の接続端子)は、信号配線W2を介して第8接続端子に接続され、第8接続端子は、CGROM基板204aに設けられた接地(GND)端子に接続される。すなわち、CGROM206aがNOR型フラッシュメモリである場合には、第5接続端子は、信号配線W2を介して接地される。さらに、端子群311中の第6接続端子及び第7接続端子は、CGROM基板204aに設けられた電源電圧(+3.3V)端子に接続される。
端子群311に含まれる接続端子の数は、サブ基板202に設けられたCGROM基板接続用の端子群303の接続端子の数と同じである。そして、CGROM基板204aをサブ基板202に接続(装着)する際には、CGROM基板204aの接続端子が同じ端子番号のサブ基板202の接続端子と接続されるように、両基板が接続される。すなわち、図12に示すように、CGROM基板204aの第1接続端子、第2接続端子、…、第37接続端子、…が、サブ基板202の第1接続端子、第2接続端子、…、第37接続端子、…にそれぞれ接続される。
(3)CGROM基板(NAND型)の構成
次に、NAND型のCGROM206bを搭載したCGROM基板204bの内部構成を、図13を参照しながら説明する。なお、図13に示すCGROM基板204bの構成において、図12に示すNOR型のCGROM206aを搭載したCGROM基板204aと同じ構成には同じ符号を付して示す。
CGROM基板204bにNAND型のCGROM206bを搭載した場合、CGROM基板204bには、NAND型のCGROM206bとともに、その周辺回路として、トランジスタ回路312が設けられる。また、CGROM基板204bには、各種信号配線(バス)と、各種バスを介してCGROM206bに直接的又は間接的に接続された複数の接続端子を含む端子群311(第2端子群)とが設けられる。
CGROM基板204bの端子群311中の第1接続端子~第4接続端子は、トランジスタ回路312のドレイン端子に接続される。なお、トランジスタ回路312のゲート端子はCGROM206bに接続され、ソース端子は、CGROM基板204bに設けられた接地(GND)端子に接続される。すなわち、第1接続端子~第4接続端子はトランジスタ回路312を介してCGROM206bに接続される。
なお、図13に示す例では、CGROM206bは、NAND型フラッシュメモリ(シーケンシャルアクセス方式のフラッシュメモリ)であるので、トランジスタ回路312のゲート端子、すなわち、端子群311中の第1接続端子~第4接続端子は、CGROM206bに設けられたレディ/ビジー出力端子(不図示)に接続される。
また、CGROM基板204bの端子群311中の第5接続端子(所定の接続端子)は、信号配線W3を介して第6接続端子及び第7接続端子に接続され、第6接続端子及び第7接続端子は、CGROM基板204bに設けられた電源電圧(+3.3V)端子に接続される。すなわち、CGROM206bがNAND型フラッシュメモリである場合には、第5接続端子は、信号配線W3を介して電源電圧(+3.3V)端子に接続される。
また、CGROM基板204bの端子群311中の第8接続端子は、CGROM基板204bに設けられた接地(GND)端子に接続される。
さらに、CGROM基板204bの端子群311中の第9接続端子以降の接続端子は、CGROM206bに接続される。この際、第9接続端子~第34接続端子は、CGROM206bに設けられたアドレスに関するデータの入力端子(不図示)に接続され、第35接続端子及び第36接続端子は、CGROM206bに設けられたCGメモリチップイネーブル入力端子に接続される。また、第37接続端子以降の接続端子は、表示制御回路230がCGROM206bから画像データ(動画/静止画の圧縮データ)を取得する際に使用されるCGROM206bのデータ出力端子(不図示)に接続される。
なお、CGROM基板204bにNAND型のCGROM206bが搭載された場合においても、CGROM基板204bの端子群311に含まれる接続端子の数は、サブ基板202に設けられたCGROM基板接続用の端子群303の接続端子の数と同じである。そして、CGROM基板204bをサブ基板202に接続(装着)する際には、CGROM基板204bの接続端子が同じ端子番号のサブ基板202の接続端子と接続されるように、両基板が接続される。すなわち、図13に示すように、CGROM基板204bの第1接続端子、第2接続端子、…、第37接続端子、…が、サブ基板202の第1接続端子、第2接続端子、…、第37接続端子、…にそれぞれ接続される。
[表示制御回路及びCGROM間の通信動作]
次に、図12~図15を参照しながら、表示制御回路230がCGROMから画像データ(動画/静止画の圧縮データ)を取得する際の動作を説明する。なお、図14は、サブ基板202に設けられたAND回路302における入力信号と出力信号との対応関係を示す真理値表であり、図15は、サブ基板202に設けられた双方向バランストランシーバ301における、制御端子OE及び制御端子DIRに印加される信号レベルと、通信方向との対応関係を示す真理値表である。
(1)AND回路及び双方向バランストランシーバの動作AND回路302は、図14に示すように、両方の入力端子にHIGHレベルの信号(電圧信号)が入力された場合にのみ、双方向バランストランシーバ301の制御端子OEにHIGHレベルの信号を出力し、それ以外の入力条件では、制御端子OEにLOWレベルの信号を出力する。
双方向バランストランシーバ301は、図15に示すように、制御端子OEにLOWレベルの信号(電圧信号)が入力され、且つ、制御端子DIRにLOWレベルの信号が入力された場合、双方向バランストランシーバ301の入出力端子A0~入出力端子A3を出力端子として作用させ、入出力端子B0~入出力端子B3を入力端子として作用させる。この場合には、表示制御回路230及びCGROM間の通信方向は、表示制御回路230からCGROMに向かう方向になる。
また、双方向バランストランシーバ301は、制御端子OEにLOWレベルの信号が入力され、且つ、制御端子DIRにHIGHレベルの信号が入力された場合、双方向バランストランシーバ301の入出力端子A0~入出力端子A3を入力端子として作用させ、入出力端子B0~入出力端子B3を出力端子として作用させる。この場合には、表示制御回路230及びCGROM間の通信方向は、CGROMから表示制御回路230に向かう方向になる。
なお、双方向バランストランシーバ301の制御端子OEに入力される信号レベルと制御端子DIRに入力される信号レベルとの組み合わせが上記以外の組み合わせである場合(双方向バランストランシーバ301の制御端子OEにHIGHレベルの信号が入力された場合)には、双方向バランストランシーバ301の入出力端子A0~入出力端子A3及び入出力端子B0~入出力端子B3は、HIGHインピーダンス状態(図15中の「Z」)、すなわち、開放状態と同等の状態となり、表示制御回路230及びCGROM間で通信は行われない。
(2)表示制御回路及びCGROM(NOR型)間の通信動作
ここで、まず、NOR型のCGROM206aを搭載したCGROM基板204aをサブ基板202に接続(装着)した場合を考える。
この場合、本実施形態では、表示制御回路230の2つのCGメモリチップイネーブル出力端子GCE_0,GCE_1の少なくとも一方からLOWレベルの信号が出力されるので、双方向バランストランシーバ301の制御端子OEにはLOWレベルの信号が入力される。なお、CGメモリチップイネーブル出力端子GCE_0,GCE_1の信号レベルは、ハードウェアの初期化処理(後述の図83参照)において設定される。
本実施形態では、CGROM(記憶手段)の種類に応じて、副制御回路200により予め設定される、CGメモリチップイネーブル出力端子GCE_0,GCE_1(特定の端子)からの出力信号の振幅値が異なるので、表示制御回路230に設けられたCGメモリチップイネーブル出力端子GCE_0,GCE_1から出力される信号の振幅値が記憶手段の種類に応じて出力される変化する。しかしながら、「CGROM(記憶手段)の種類に応じて出力される信号の振幅値が変化する」態様は、この態様に限定されない。後述の変形例7で説明するように、表示制御回路230が、接続された記憶手段の種類を検出し、該検出結果に基づいて、CGメモリチップイネーブル出力端子GCE_0,GCE_1(特定の端子)から出力される信号の振幅値を設定してもよい。
また、双方向バランストランシーバ301の制御端子DIRが接続されたサブ基板202の第5接続端子は、図12に示すように、CGROM基板204aの第5接続端子及び信号配線W2を介して接地されるので、制御端子DIRにはLOWレベルの信号が入力される。
それゆえ、NOR型のCGROM206aを搭載したCGROM基板204aをサブ基板202に接続した場合には、図15に示すように、双方向バランストランシーバ301の入出力端子A0~入出力端子A3は出力端子として作用し、入出力端子B0~入出力端子B3は入力端子として作用する。すなわち、双方向バランストランシーバ301における表示制御回路230及びCGROM206a間の通信方向は、表示制御回路230からCGROM206aに向かう方向になる。
この場合、サブ基板202の第1接続端子~第4接続端子及びCGROM基板204aの第1接続端子~第4接続端子を介して接続された信号配線をアドレスバスとして使用することができ、表示制御回路230は、NOR型のCGROM206aに対して正常に、メモリのアドレス指定動作を実行することができる。その結果、表示制御回路230は、アドレスバスを介して直接アドレス指定を行い、データの読み出し動作を行うことができる。
(3)表示制御回路及びCGROM(NAND型)間の通信動作
次に、NAND型のCGROM206bを搭載したCGROM基板204bをサブ基板202に接続(装着)した場合を考える。
この場合においても、本実施形態では、表示制御回路230の2つのCGメモリチップイネーブル出力端子CGE_0,CGE_1の少なくとも一方からLOWレベルの信号が出力されるので、双方向バランストランシーバ301の制御端子OEにはLOWレベルの信号が入力される。すなわち、本実施形態では、CGROMの種類がNOR型及びNAND型のいずれであっても、双方向バランストランシーバ301の制御端子OEにはLOWレベルの信号が入力される。また、双方向バランストランシーバ301の制御端子DIRが接続されたサブ基板202の第5接続端子は、図13に示すように、CGROM基板204bの第5接続端子及び信号配線W3を介して電源電圧(+3.3V)端子に接続されるので、制御端子DIRにはHIGHレベルの信号が入力される。
それゆえ、NAND型のCGROM206bを搭載したCGROM基板204bをサブ基板202に接続した場合には、図15に示すように、双方向バランストランシーバ301の入出力端子A0~入出力端子A3は入力端子として作用し、入出力端子B0~入出力端子B3は出力端子として作用する。すなわち、双方向バランストランシーバ301における表示制御回路230及びCGROM206b間の通信方向は、CGROM206bから表示制御回路230に向かう方向になる。
この場合、サブ基板202の第1接続端子~第4接続端子及びCGROM基板204bの第1接続端子~第4接続端子を介して接続された信号配線をレディ/ビジー信号の通信配線として使用することができる。すなわち、この場合、NAND型のCGROM206bからシーケンシャルアクセス方式でデータを読み出す際に表示制御回路230が参照するレディ/ビジー信号のCGROM206から表示制御回路230への送信処理が実行可能になる。この結果、表示制御回路230は、NAND型のCGROM206bに対して正常に、メモリの状態(レディ/ビジー状態)の取得動作を実行することができる。
上述のように、本実施形態では、CGROMの種類が変わっても、サブ基板202の構成を変えることなく、表示制御回路230及びCGROM間の通信動作を正常に実行することができる。それゆえ、本実施形態では、例えば、データ容量、通信速度、価格等を考慮して、最適なCGROMを選択することができる。また、例えば、新たなパチンコ遊技機1を作製する際に、データ容量、通信速度等の条件から過去に作製されたパチンコ遊技機で使用されたサブ基板202を流用し、CGROMの種類だけを変更するような場合であっても、容易に対処することができる。すなわち、本実施形態のパチンコ遊技機1では、実施態様に合わせてCGROMを選択することが可能になり、パチンコ遊技機1の拡張性を担保することができる。
さらに、本実施形態では、双方向バランストランシーバ301を用いることにより、サブ基板202の端子群303中の第1接続端子~第4接続端子、並びに、CGROM基板204の端子群311中の第1接続端子~第4接続端子を、データの入出力兼用端子として用いることができる。この場合、サブ基板202及びCGROM基板204の第1接続端子~第4接続端子に対応するデータの入力用端子及び出力用端子を別個に設ける必要がなく、サブ基板202及びCGROM基板204の省スペース化を図ることができる。
なお、上述のように、本実施形態では、双方向バランストランシーバ301により、CGROMの種類に応じて、表示制御回路230及びCGROM間の「通信形態」を切り替えることができる。ただし、本明細書でいう表示制御回路230及びCGROM間の「通信形態」とは、表示制御回路230及びCGROM間における各種情報の送受信態様全般を意味する。
例えば、本明細書でいう表示制御回路230及びCGROM間における「通信形態」には、表示装置13で演出動作に関する情報を表示する際に必要となるデータ(画像データ(動画/静止画の圧縮データ))の表示制御回路230及びCGROM間における送受信態様だけでなく、CGROM内に格納されている該データのアドレスを指定する情報を表示制御回路230及びCGROM間で通信する際の送受信態様や、表示制御回路230がCGROMからレディ/ビジー信号を受信する際の送受信態様なども含む意味である。なお、本発明はこれに限定されず、本明細書でいう「通信形態」が、CGROMの種類に応じて情報の送受信態様が変化する部分の通信形態のみを意味するものであってもよい。
<遊技状態の種別>
次に、メインCPU71で制御及び管理される遊技状態の種別について説明する。
本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、賞球の期待度が互いに異なる「大当り遊技状態」(特別遊技状態)及び「小当り遊技状態」(特定遊技状態)がある。「大当り遊技状態」は、第1大入賞口53又は第2大入賞口54のシャッタの開放期間(すなわち、1ラウンドの期間)が長い(例えば30sec等)ラウンドゲームが発生する遊技状態であり、遊技者にとって大きな賞球が期待できる遊技状態である。すなわち、「大当り遊技状態」では、大入賞口のシャッタの開放状態及び閉鎖状態の繰り返し態様が遊技者によって有利な状態となる。
一方、「小当り遊技状態」は、「大当り遊技状態」に比べて1ラウンドの期間が短い(例えば1.8sec等)ラウンドゲームが発生する遊技状態であり、遊技者にとって大きな賞球が期待できない遊技状態である。すなわち、「小当り遊技状態」では、大入賞口のシャッタの開放状態及び閉鎖状態の繰り返し態様が遊技者によって不利な状態となる。
また、本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、「大当り」の当選確率が互いに異なる「確変遊技状態」(高確率遊技状態)及び「通常遊技状態」(低確率遊技状態)がある。
「確変遊技状態」は、「大当り」の当選確率(本実施形態では1/131)が高い遊技状態である。一方、「通常遊技状態」は、「確変遊技状態」に比べて「大当り」の当選確率(本実施形態では1/392)が低い遊技状態である。
さらに、本実施形態において、メインCPU71で制御及び管理される遊技状態の種別としては、普通図柄の当選確率(普通図柄が「当り」の態様になる確率)が互いに異なる「時短遊技状態」(高入賞遊技状態)及び「非時短遊技状態」(低入賞遊技状態)がある。
本明細書でいう「時短遊技状態」とは、普通図柄の当選確率が高い遊技状態のことである。すなわち、「時短遊技状態」は、第2始動口45に設けられた普通電動役物46(羽根部材)が開放状態になり易い遊技状態(第2始動口入賞が発生し易い遊技状態)であり、遊技者にとって有利な遊技状態である。なお、「時短遊技状態」は、「大当り」が決定された場合、又は、後述する所定の時短回数分の特別図柄の変動表示が実行された場合に終了する。また、時短遊技状態では、該状態中に実行される特別図柄の変動表示を行う時間である変動時間として、通常遊技状態中に選択される変動時間よりも短い変動時間が選択され易くなるように制御されていてもよい。このような制御により、時短遊技状態において通常遊技状態中よりも変動時間の短縮を行い、単位時間当たりの遊技回数を増やすことによって、遊技者に有利な遊技状態を付与してもよい。
一方、「非時短(時短なし)遊技状態」とは、普通図柄の当選確率が「時短遊技状態」に比べて低い遊技状態のことである。それゆえ、「非時短遊技状態」は、普通電動役物46(羽根部材)が開放状態になり難い遊技状態(第2始動口入賞が発生し難い遊技状態)であり、遊技者にとって不利な遊技状態である。
そして、本実施形態では、「大当り遊技状態」及び「小当り遊技状態」以外の上述した遊技状態の各種組合せの遊技状態が設けられる。具体的には、本実施形態では、「確変遊技状態」と「時短遊技状態」とが同時に発生する遊技状態(以下、「高確時短あり」の状態という)、及び、「確変遊技状態」と「非時短遊技状態」とが同時に発生する遊技状態(以下、「高確時短なし」の状態という)が設けられる。なお、「高確時短なし」の状態では、遊技状態が「確変遊技状態」であるか否かを遊技者が判別することが難しいので、ここでは、このような遊技状態を「潜確遊技状態」ともいう。また、本実施形態では、「通常遊技状態」と「非時短遊技状態」とが同時に発生する遊技状態(以下、「低確時短なし」の状態という)、及び、「通常遊技状態」と「時短遊技状態」とが同時に発生するような遊技状態(以下、「低確時短あり」の状態という)も設けられる。
<メインROMに記憶されているデータテーブルの構成>
次に、図16~図25を参照しながら、主制御回路70のメインROM72に記憶される各種データテーブルの構成について説明する。
[大当り乱数判定テーブル(第1始動口入賞時)]
まず、図16を参照して、大当り乱数判定テーブル(第1始動口入賞時)について説明する。大当り乱数判定テーブル(第1始動口入賞時)は、第1始動口44に遊技球が入球(入賞)した際に取得される大当り判定用乱数値に基づいて「大当り」、「小当り」及び「ハズレ」のいずれかを抽選により決定する際に参照されるテーブルである。
なお、大当り判定用乱数値は、始動口入賞を契機に行われる抽選結果を判定するための乱数値であり、より具体的には、特別図柄(第1特別図柄及び第2特別図柄)の抽選結果を示す乱数値である。また、本実施形態では、大当り判定用乱数値(特別図柄の抽選用乱数値)は、0~65535(65536種類)の中から選ばれる。
本実施形態では、第1始動口44に遊技球が入賞した場合、「大当り」、「小当り」及び「ハズレ」のいずれかが抽選により決定される。それゆえ、大当り乱数判定テーブル(第1始動口入賞時)には、図16に示すように、確変フラグの値(「0(=オフ)」又は「1(=オン)」)毎に、「大当り」、「小当り」及び「ハズレ」のそれぞれの当選が決定される大当り判定用乱数値の範囲と、それに対応する判定値データ(「大当り判定値データ」、「小当り判定値データ」及び「ハズレ判定値データ」のいずれか)との関係が規定される。なお、確変フラグは、メインRAM73に格納された管理フラグの一つであり、遊技状態が「確変遊技状態」であるか否かを管理するためのフラグである。遊技状態が「確変遊技状態」である場合には、確定フラグは「1」となる。
本実施形態では、図16に示すように、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」~「943」のいずれかである場合には、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図16中の「選択率」)は、167/65536となる。
また、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「1」~「300」のいずれかである場合には、「小当り」が当選し、「小当り判定値データ」が決定される。すなわち、この場合における「小当り」の当選確率は、300/65536となる。
さらに、第1始動口44入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「1」~「300」及び「777」~「943」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
一方、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」~「1277」のいずれかである場合には、図16に示すように、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図16中の「選択率」)は、500/65536となり、確変フラグが「0」である場合のそれより高くなる。
また、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「1」~「300」のいずれかである場合には、「小当り」が当選し、「小当り判定値データ」が決定される。すなわち、この場合における「小当り」の当選確率は、300/65536となり、確変フラグが「0」である場合のそれと同じになる。
さらに、第1始動口44入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「1」~「300」及び「777」~「1277」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
上述のように、本実施形態では、第1始動口44に遊技球が入賞した場合には、入賞時の遊技状態が「確変遊技状態」であるか否かによって、選択率(大当り確率)が変動する。具体的には、遊技状態が「確変遊技状態」である時に第1始動口44に遊技球が入賞した場合の大当り確率は、遊技状態が「確変遊技状態」でない時のそれの約3倍程度高くなる。
[大当り乱数判定テーブル(第2始動口入賞時)]
次に、図17を参照して、大当り乱数判定テーブル(第2始動口入賞時)について説明する。大当り乱数判定テーブル(第2始動口入賞時)は、第2始動口45に遊技球が入球(入賞)した際に取得される大当り判定用乱数値に基づいて「大当り」か否かの抽選を行う場合に参照されるテーブルである。
本実施形態では、第2始動口45に遊技球が入賞した場合、「大当り」及び「ハズレ」のいずれかが抽選により決定される。なお、第2始動口45に遊技球が入賞した場合には、「小当り」は当選しない。それゆえ、大当り乱数判定テーブル(第2始動口入賞時)には、図17に示すように、確変フラグの値(「0(=オフ)」又は「1(=オン)」)毎に、「大当り」及び「ハズレ」のそれぞれの当選が決定される大当り判定用乱数値の範囲と、それに対応する判定値データ(「大当り判定値データ」及び「ハズレ判定値データ」のいずれか)との関係が規定される。
本実施形態では、図17に示すように、第2始動口45入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」~「943」のいずれかである場合には、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(図17中の「選択率」)は、167/65536となる。
また、第2始動口45入賞時に、確変フラグが「0」であり、大当り判定用乱数値が「777」~「943」のいずれでもない場合には、「ハズレ」が当選し、「ハズレ判定値データ」が決定される。
一方、第2始動口45入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」~「1277」のいずれかである場合には、図17に示すように、「大当り」が当選し、「大当り判定値データ」が決定される。すなわち、この場合における「大当り」の当選確率(大当り確率)は、500/65536となり、確変フラグが「0」である場合のそれより高くなる。
また、第2始動口45入賞時に、確変フラグが「1」であり、大当り判定用乱数値が「777」~「1277」のいずれでもない場合には、「ハズレ」となり、「ハズレ判定値データ」が決定される。
上述のように、本実施形態では、第2始動口45に遊技球が入賞した場合にもまた、入賞時の遊技状態が「確変遊技状態」であるか否かによって、選択率(大当り確率)が変動する。具体的には、第1始動口44入賞時と同様に、第2始動口45入賞時においても、遊技状態が「確変遊技状態」である時に第2始動口45に遊技球が入賞した場合の大当り確率は、遊技状態が「確変遊技状態」でない時のそれの約3倍程度高くなる。
[図柄判定テーブル(第1始動口入賞時)]
次に、図18を参照して、図柄判定テーブル(第1始動口入賞時)について説明する。
本実施形態では、第1始動口44に遊技球が入賞した際に行われる大当り判定用乱数値に基づく抽選の当選種別(「大当り」、「小当り」又は「ハズレ」)と、第1始動口入賞時に取得される図柄乱数値(図柄決定用乱数値)とに基づいて、特別図柄が選択される。図柄判定テーブル(第1始動口入賞時)は、その特別図柄を選択する際に参照されるテーブルである。なお、図柄乱数値は、特別図柄を決定するための乱数値であり、大当り判定用乱数値に基づく抽選の当選種別に関係なく、0~99(100種類)の中から選ばれる。
図柄判定テーブル(第1始動口入賞時)には、図18に示すように、大当り判定用乱数値に基づく抽選の当選種別を示す判定値データ毎に、特別図柄を指定するための図柄指定コマンド(「zA1」~「zA3」)と、該図柄指定コマンドが選択される図柄乱数値との関係が規定される。
なお、大当り判定用乱数値に基づく抽選の当選種別が「小当り」(小当り判定値データ)である場合には、選択される図柄指定コマンドは1種類(zA2)であり、必ずその図柄指定コマンド(zA2)が決定される。また、大当り判定用乱数値に基づく抽選の当選種別が「ハズレ」(ハズレ判定値データ)である場合にも、選択される図柄指定コマンドは1種類(zA3)であり、必ずその図柄指定コマンド(zA3)が決定される。
一方、大当り判定用乱数値に基づく抽選の当選種別が「大当り」(大当り判定値データ)である場合には、図18に示すように、選択される特別図柄の種別は複数あり、「大当り」時の図柄指定コマンド(図18中の大当り時選択図柄コマンド)も複数種(「z0」~「z4」)用意されている。そして、「大当り」時には、取得される図柄乱数値に応じて、決定される大当り時選択図柄コマンドも変化する。例えば、「大当り」時に取得された図柄乱数値が「40」~「59」のいずれかである場合には、大当り時選択図柄コマンド「z2」が選択され、その選択率は、20/100となる。
[図柄判定テーブル(第2始動口入賞時)]
次に、図19を参照して、図柄判定テーブル(第2始動口入賞時)について説明する。
本実施形態では、第2始動口45に遊技球が入賞した際に行われる大当り判定用乱数値に基づく抽選の当選種別(「大当り」又は「ハズレ」)と、第2始動口入賞時に取得される図柄乱数値(図柄決定用乱数値)とに基づいて、特別図柄が選択される。図柄判定テーブル(第2始動口入賞時)は、その特別図柄を選択する際に参照されるテーブルである。
図柄判定テーブル(第2始動口入賞時)には、図19に示すように、大当り判定用乱数値に基づく抽選の当選種別を示す判定値データ毎に、特別図柄を指定するための図柄指定コマンド(「zA1」及び「zA3」)と、該図柄指定コマンドが選択される図柄乱数値との関係が規定される。
なお、大当り判定用乱数値に基づく抽選の当選種別が「ハズレ」(ハズレ判定値データ)である場合にも、選択される図柄指定コマンドは1種類(zA3)であり、必ずその図柄指定コマンド(zA3)が決定される。
一方、大当り判定用乱数値に基づく抽選の当選種別が「大当り」(大当り判定値データ)である場合には、図19に示すように、選択される特別図柄の種別は複数あり、「大当り」時の図柄指定コマンド(図19中の大当り時選択図柄コマンド)も複数種(「z0」及び「z4」)用意されている。そして、「大当り」時には、取得される図柄乱数値に応じて、決定される大当り時選択図柄コマンドも変化する。例えば、「大当り」時に取得された図柄乱数値が「29」~「99」のいずれかである場合には、大当り時選択図柄コマンド「z4」が選択され、その選択率は、80/100となる。
[大当り種類決定テーブル]
次に、図20~図23を参照して、大当り種類決定テーブルについて説明する。本実施形態では、図柄判定テーブル(図18及び図19参照)を参照して大当り時選択図柄コマンド(「z0」~「z4」のいずれか)が決定されると、該決定された大当り時選択図柄コマンドに基づいて、「大当り」の種類(大当り遊技の内容)を決定する。大当り種類決定テーブルは、大当り時選択図柄コマンドに基づいて、「大当り」の種類(大当り遊技の内容)を決定する際に参照されるテーブルである。
また、本実施形態では、「大当り」当選時の遊技状態毎に大当り種類決定テーブルを設ける。図20は、遊技状態が「低確時短なし」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その1)であり、図21は、遊技状態が「低確時短あり」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その2)である。また、図22は、遊技状態が「高確時短なし」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その3)であり、図23は、遊技状態が「高確時短あり」であるときに「大当り」に当選した場合に参照される大当り種類決定テーブル(その4)である。
各大当り種類決定テーブルには、大当り時選択図柄コマンド(「z0」~「z4」)と、「大当り」の種類を決定する各種パラメータとの関係が規定される。「大当り」の種類(大当り遊技の内容)を決定する各種パラメータとしては、時短フラグの値、時短回数、確変フラグの値及び大当り遊技におけるラウンド数が規定される。
例えば、「高確時短あり」の状態で「大当り」に当選し、且つ、大当り時選択図柄コマンドとして「z1」が決定された場合には、図23に示すように、「大当り」の種類(大当り遊技の内容)を決定する各種パラメータとして、時短フラグ「1」、時短回数「100」、確変フラグ「0」、ラウンド数「10」がセットされる。
なお、各大当り種類決定テーブルに規定されている「ラウンド数」は、大当り遊技において、大入賞口の開放時間が比較的長くなるラウンドの数である。また、「時短フラグ」は、メインRAM73に格納された管理フラグの一つであり、遊技状態が「時短遊技状態」であるか否かを管理するためのフラグである。遊技状態が「時短遊技状態」である場合には、時短フラグは「1(オン)」となる。また、「時短回数」は、「時短遊技状態」において与えられる特別図柄の変動表示の回数である。
[入賞時演出情報決定テーブル]
次に、図24を参照して、入賞時演出情報決定テーブルについて説明する。
本実施形態では、主制御回路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」が決定される。
[変動演出パターン決定テーブル]
次に、図25を参照して、変動演出パターン決定テーブルについて説明する。
本実施形態では、主制御回路70(メインCPU71)は、特別図柄の変動表示開始時に、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド、大当り時選択図柄コマンド、変動時間等の情報に基づいて、特別図柄の変動演出パターンを決定する。変動演出パターン決定テーブルは、この特別図柄の変動演出パターンを決定する際に参照されるテーブルである。
なお、変動演出パターン決定テーブルに基づいて決定された変動演出パターン(後述の特別図柄演出開始コマンドに含まれる情報)は、主制御回路70から副制御回路200(ホスト制御回路210)に送信される。そして、副制御回路200は、変動演出パターンの情報を受信すると、該受信した変動演出パターンや遊技状態などの情報に基づいて、演出の種類を決定する。
変動演出パターン決定テーブルには、図25に示すように、入賞時(始動口入賞時)に決定される図柄指定コマンド、大当り選択図柄コマンド及び特別図柄の変動時間の組合せと、特別図柄の変動表示中に副制御回路200で実行される演出の種類(変動演出パターン)との関係が規定される。
本実施形態では、変動演出パターンは、2桁の数文字で表され、図25中の変動演出パターン欄に記載の「上位」(1桁目)のパラメータと「下位」(2桁目)のパラメータとの組合せで表される。例えば、入賞時(始動口入賞時)に決定される図柄指定コマンドが「zA1」であり、大当り選択図柄コマンドが「z0」であり、特別図柄の変動時間が「15000msec」である場合の変動演出パラメータは「C1」(上位の「C」と下位「1」との組合せ)となる。
なお、本実施形態では、変動演出パラメータの情報は、後述の特別図柄演出開始コマンドに含まれる。この際、変動演出パターン欄に規定されている「上位」のパラメータと、「下位」のパラメータとは、互いに異なるパラメータ領域に格納される。それゆえ、変動演出パターン決定テーブルでは、変動演出パターンの「上位」のパラメータと「下位」のパラメータとを別個に規定している。
<サブメインROMに記憶されているデータテーブルの構成>
次に、副制御回路200のサブメインROM205に記憶される各種データテーブルの構成について、図26~図28を参照して説明する。
[変動演出テーブル]
まず、図26を参照して、変動演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、上述のように、副制御回路200(ホスト制御回路210)の制御により、特別図柄の変動表示中に様々な演出が実行される。この際に行われる演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の特別図柄演出開始コマンドに含まれる特別図柄の変動演出パターンの情報などに基づいて決定される。変動演出テーブルは、この演出内容(演出パターン)を変動演出パターンや遊技状態などの情報に基づいて決定する際に参照される。
変動演出テーブルには、図26に示すように、入賞時(始動口入賞時)に決定される各種情報(変動演出パターンの情報を含む)の組合せと、抽選により決定される演出パターン(「EN00」~「EN44」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、特別図柄の変動演出パターンの種別(「A0」~「A4」、「B1」~「B3」及び「C1」~「CF」)、特別図柄の変動時間、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、変動演出テーブルに規定される。
本実施形態では、変動演出テーブルに規定されている特別図柄の変動時間は対応する演出パターンの演出時間とほぼ同じであるとする。また、変動演出テーブルに規定されている乱数値は、後述の図92に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」~「999」(1000種類)のいずれかである。
本実施形態の変動演出テーブルを参照して演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された特別図柄の変動パターンが「C1」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」~「499」のいずれかの値である場合には、演出パターンとして「EN15」が選択される。この場合には、特別図柄の変動表示期間(15000msec)に、「ノーマルリーチ演出A」と称する演出が行われる。そして、「ノーマルリーチ演出A」の終了とともに、表示装置13の表示領域13aに「大当り」態様の表示が行われ、特別図柄が変動停止する。
[保留演出テーブル]
次に、図27を参照して、保留演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、副制御回路200(ホスト制御回路210)の制御により、特別図柄の保留球を示す保留用図柄の色変化に関する様々な演出が実行される。この際に行われる保留用図柄の色変化演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の保留加算コマンドに含まれる入賞時演出情報1(「1A」~「1D」)などに基づいて決定される。保留演出テーブルは、この保留用図柄の色変化演出の内容(演出パターン)を入賞時演出情報1などの情報に基づいて決定する際に参照される。
保留演出テーブルには、図27に示すように、入賞時(始動口入賞時)に決定される各種情報(入賞時演出情報1を含む)の組合せと、抽選により決定される保留用図柄の色変化演出の演出パターン(「HE00」~「HE19」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、入賞時演出情報1(「1A」~「1D」)、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、保留演出テーブルに規定される。また、保留演出テーブルに規定されている乱数値は、後述の図92に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」~「999」(1000種類)のいずれかである。
本実施形態の保留演出テーブルを参照して保留用図柄の色変化演出の演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された入賞時演出情報1が「1A」であり、大当り時選択図柄コマンドが「z0」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」~「499」のいずれかの値である場合には、保留用図柄の色変化演出の演出パターンとして「HE00」が選択される。この場合には、保留用図柄の色変化演出として、「保留演出A」と称する演出が行われる。
[先読み演出テーブル]
次に、図28を参照して、先読み演出テーブルについて説明する。
本実施形態のパチンコ遊技機1では、特別図柄の可変表示が保留されている場合、副制御回路200(ホスト制御回路210)は、該保留されている特別図柄の可変表示の内容(保留球の内容)に応じて所定の先読み演出を行う。この際に行われる先読み演出の内容(演出パターン)は、特別図柄の変動表示開始時に、主制御回路70から副制御回路200に送信される後述の保留加算コマンドに含まれる入賞時演出情報2(「2A」~「2D」)などに基づいて決定される。先読み演出テーブルは、この先読み演出の内容(演出パターン)を入賞時演出情報2などの情報に基づいて決定する際に参照される。
先読み演出テーブルには、図28に示すように、入賞時(始動口入賞時)に決定される各種情報(入賞時演出情報2を含む)の組合せと、抽選により決定される先読み演出の演出パターン(「SE00」~「SE19」)及び演出内容と、各演出パターンを選択(決定)するための乱数値及び選択率(当選確率)との対応関係が規定される。なお、本実施形態では、入賞時(始動口入賞時)に決定される各種情報として、入賞時演出情報2(「2A」~「2D」)、当選種別(「大当り」、「小当り」又は「ハズレ」)、図柄指定コマンド及び大当り時選択図柄コマンドが、先読み演出テーブルに規定される。また、先読み演出テーブルに規定されている乱数値は、後述の図92に示すコマンド解析処理中のS319の処理(サブ抽選処理)で取得される乱数値であり、「0」~「999」(1000種類)のいずれかである。
本実施形態の先読み演出テーブルを参照して先読み演出の演出パターンを決定する際、例えば、特別図柄の変動表示開始時に決定された入賞時演出情報2が「2A」であり、大当り時選択図柄コマンドが「z0」であり、且つ、演出パターンを選択する際に取得された乱数値が「0」~「499」のいずれかの値である場合には、先読み演出の演出パターンとして「SE00」が選択される。この場合には、先読み演出として、「先読み演出A」と称する演出が行われる。
<各種コマンドの構成>
ここで、主制御回路70から副制御回路200に送信される各種コマンドの構成について説明する。なお、本実施形態では、主制御回路70は、遊技の進行に関する情報を含むコマンドを生成して、該コマンドデータを副制御回路200に送信する手段(コマンド送信手段、遊技情報送信手段)を兼ねる。
[基本構成]
まず、図29を参照して、コマンドの基本構成を説明する。なお、図29は、コマンドデータの基本構成(基本フォーマット)を示す図である。
本実施形態において、主制御回路70から副制御回路200に送信されるコマンドは、コマンド種別の情報が格納されたコマンド種別部と、遊技及び演出に関する各種情報が格納されたパラメータフィールド部とで構成される。本実施形態では、副制御回路200において実行される後述のコマンド解析処理により、パラメータフィールド部の情報が解析され、遊技及び演出に関する各種情報が取得される。
コマンド種別部は、コマンドの先頭部に設けられ、8ビット(1バイト:固定長)で構成される。一方、パラメータフィールド部には、ビット単位で遊技及び演出に関する情報が規定されており、パラメータフィールド部のビット長(長さ)は、コマンド種別に応じて変化する。
なお、本実施形態では、コマンドの送受信動作は、8ビット単位で繰り返し行われるので、パラメータフィールド部も8ビット単位で管理され、ここでは、この8ビット単位の領域を「パラメータ」と称する。また、パラメータフィールド部内に配置されているパラメータの名称を、コマンドの先頭側(コマンド種別部側)から、「第1パラメータ」、「第2パラメータ」、「第3パラメータ」、…、と称する。
以下に、コマンドの一例として、デモ表示コマンド、特別図柄演出開始コマンド、電断復帰コマンド及び保留加算コマンドの構成、並びに、これらのコマンドに含まれる各種情報の内容を図面を参照しながら具体的に説明する。
[デモ表示コマンド]
まず、図30を参照しながら、デモ表示コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図30は、デモ表示コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
デモ表示コマンドは、コマンド種別部と、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パラメータからデモ画面表示時の遊技状態情報(ゲームステータス)が取得される。
[特別図柄演出開始コマンド]
次に、図31を参照しながら、特別図柄演出開始コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図31は、特別図柄演出開始コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
特別図柄演出開始コマンドは、コマンド種別部と、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には、上記図柄判定テーブル(図18及び図19参照)を用いた抽選により決定される図柄指定コマンド(「zA1」~「zA3」)に対応する値が格納される。なお、第2パラメータのビット7は、常時0領域となる。
特別図柄演出開始コマンドの第3パラメータのビット0~ビット3には、上記変動演出パターン決定テーブル(図25参照)を用いた抽選により決定される変動演出パターンの「上位」の情報(「A」~「C」)に対応する値が格納される。なお、第3パラメータのビット4~ビット7は、「常時0領域」となる。
特別図柄演出開始コマンドの第4パラメータのビット0~ビット3には、上記変動演出パターン決定テーブル(図25参照)を用いた抽選により決定される変動演出パターンの「下位」の情報(「0」~「9」及び「A」~「F」)に対応する値が格納される。なお、第4パラメータのビット4~ビット7は、「常時0領域」となる。
また、特別図柄演出開始コマンドの第5パラメータのビット0~ビット6には、残り時短変動回数に対応する値が格納される。なお、第5パラメータのビット7は、常時0領域となる。
副制御回路200において、上記構成の特別図柄演出開始コマンドに対して後述のコマンド解析処理が行われると、解析結果として、第1パラメータから特別図柄演出開始時の遊技状態情報(ゲームステータス)が取得され、第2パラメータから特別図柄の停止図柄指定情報が取得され、第3パラメータ及び第4パラメータから変動演出パターン番号の指定情報が取得され、第5パラメータから残り時短変動回数の指定情報が取得される。
[電断復帰コマンド]
次に、図32及び図33を参照しながら、電断復帰コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、本実施形態では、電断復帰コマンドは、2つのコマンド(第1電断復帰コマンド及び第2電断復帰コマンド)のセットで構成される。そして、図32は、第1電断復帰コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。また、図33は、第2電断復帰コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
(1)第1電断復帰コマンド
第1電断復帰コマンドは、図32に示すように、コマンド種別部と、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電断復帰コマンドは、図33に示すように、コマンド種別部と、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パラメータから電断復帰時における残り時短変動回数の情報が取得される。
[保留加算コマンド]
次に、図34を参照しながら、保留加算コマンドの構成及び該コマンドに含まれる各種情報の内容について説明する。なお、図34は、保留加算コマンドのビット単位の構成及び各ビットに格納された各種情報の内容を示す図である。
保留加算コマンドは、コマンド種別部と、3つのパラメータ(第1パラメータ~第3パラメータ)からなるパラメータフィールド部とで構成される。すなわち、保留加算コマンド全体のバイト数は4バイト(32ビット)となり、パラメータフィールド部のバイト数は3バイト(24ビット)となる。
保留加算コマンドのコマンド種別部には、保留加算コマンドの種別を示す値「85H」が格納される。
保留加算コマンドの第1パラメータのビット0~ビット2には、第2特別図柄の可変表示の保留個数に対応する値が格納される。第1パラメータのビット4~ビット6には、第1特別図柄の可変表示の保留個数に対応する値が格納される。また、第1パラメータのビット3及びビット7は、それぞれ常時0領域となる。
保留加算コマンドの第2パラメータのビット0~ビット2には、「大当り時選択図柄情報」が格納される。なお、「大当り時選択図柄情報」は、上記図柄判定テーブル(図18及び図19参照)を用いた抽選により決定される大当り時選択図柄コマンド(「z0」~「z4」)に対応する情報である。
第2パラメータのビット3には、「低確率時大当り当否情報」が格納される。なお、低確時に「大当り」に当選した場合には、「低確率時大当り当否情報」として「1」がビット3に格納され、低確時に「ハズレ」に当選した場合には、「低確率時大当り当否情報」として「0」がビット3に格納される。また、第2パラメータのビット4には、「高確率時大当り当否情報」が格納される。なお、高確時に「大当り」に当選した場合には、「高確率時大当り当否情報」として「1」がビット4に格納され、高確時に「ハズレ」に当選した場合には、「高確率時大当り当否情報」として「0」がビット4に格納される。これらの情報は、大当り種類決定テーブル(図20~図23参照)に用いた抽選の結果に基づいて決定される。
第2パラメータのビット5及びビット6には、「第1入賞時演出情報」が格納される。なお、「第1入賞時演出情報」は、上記入賞時演出情報決定テーブル(図24参照)を用いた抽選により決定される入賞時演出情報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入賞時演出情報」は、上記入賞時演出情報決定テーブル(図24参照)を用いた抽選により決定される入賞時演出情報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パラメータから初期化要因の指定情報が取得される。
<コマンド受信時処理及びコマンド解析処理の概要>
次に、図35を参照しながら、ホスト制御回路210が、上述した各種コマンドを受信した際に行うコマンド受信時処理及びコマンド解析処理の概要を説明する。図35は、本実施形態におけるコマンド受信時処理の概要を示す図である。なお、このコマンド受信時処理は、ホスト制御回路210により実行される後述のメイン・サブ間コマンド制御処理(後述の図81参照)の中で受信割込処理として行われる。
本実施形態では、図35に示すように、主制御回路70(メインCPU71)からホスト制御回路210に上述したコマンドが送信され、該コマンドをホスト制御回路210が受信すると、まず、ホスト制御回路210は、受信したコマンドのデータをホスト制御回路210内に設けられたリングバッファに書き込む。なお、コマンド受信時にエラーが発生した場合には、受信したコマンドデータとエラー情報とのセット情報がリングバッファに書き込まれる。
ここで、図36に、リングバッファの概略構成を示す。本実施形態では、リングバッファは、受信したコマンドデータを格納するためのバッファ領域と、対応するエラー情報を格納するためのバッファ領域とで構成される。なお、各バッファ領域のサイズは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も含む)を動作させるための指令信号(リクエスト)を生成する処理(以下、アニメーションリクエスト構築処理という)を行う。
[アニメーションリクエスト構築処理の概要]
まず、図37を参照しながら、アニメーションリクエスト構築処理の概要を説明する。なお、図37は、アニメーションリクエスト構築時の動作概要を示す図である。
ホスト制御回路210は、主制御回路70から各種コマンドを受信すると、図37に示すように、まず、受信コマンドに基づいて、演出内容の指定情報を含むアニメーションリクエストと称するリクエストを生成するためのオブジェクト(以下、アニメーションオブジェクトという)を生成する。
なお、本明細書でいう「オブジェクト」(処理情報)とは、広義にはプログラムの手続きの対象を抽象化する概念であり、本実施形態では、1つ又は複数の処理の集合である。具体的には、本実施形態の「オブジェクト」は、処理を呼び出す(実行契機となる名称の指定、コール、実行開始処理)ためのコマンドの集合であり、構造体が1つ又は複数の変数を内包し、各変数に対して実行する処理の呼び出しID(処理を特定するための名称など)を登録する。そして、「オブジェクト」では、このような構造体を実行することで各変数に登録された処理を実行する。また、「オブジェクト」は構造体の名称、構造体を特定可能なID又は構造体そのものであるので、「オブジェクト」は、構造体に限定されず、1つ又は複数の処理をグループ化することにより処理の実行順序などを管理することが可能な名称、ID、処理、記憶情報などを含む意味である。
近年では、ソフトウェア構築の際にはオブジェクト単位で管理され、複数のオブジェクトを組み合わせることによりソフトウェアが構築される。この場合、すでに存在するオブジェクトを利用する場合には、その内部構成や動作原理の詳細を知る必要が無く、外部からオブジェクトにメッセージ(識別コマンド、引数等)を送信すれば、オブジェクトの機能を作動させることができる。
次いで、ホスト制御回路210は、アニメーションオブジェクトに基づいて(アニメーションオブジェクトを用いて)、アニメーションリクエストを生成する。そして、ホスト制御回路210は、生成されたアニメーションリクエストに基づいて、描画リクエスト、サウンドリクエスト、ランプリクエスト、役物リクエストなどの各種リクエスト(演出開始要求)を生成する。
その後、ホスト制御回路210は、生成された各リクエストを、対応する演出装置の制御回路(コントローラ)に出力する。具体的には、ホスト制御回路210は、サウンドリクエスト及びランプリクエストを、音声・LED制御回路220に出力し、描画リクエストを表示制御回路230に出力する。なお、図37には示さないが、ホスト制御回路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)周期で)実行される処理である。メイン処理では、アニメーションリクエストの生成、セット等の処理が行われる。なお、オブジェクト生成開始時には、同フレームで初期化処理及びメイン処理が実行される。終了処理は、オブジェクト破棄時に一度だけ実行される処理である。終了処理では、不要な演出の再生終了等の処理が行われる。また、コマンド受信時理は、コマンド受信時に一度だけ実行される処理である。このコマンド受信処理は、例えば、保留加算コマンドや保留減算コマンドに基づいてアニメーション制御等を行う際に使用される。
ここで、図38及び図39を参照しながら、上述したアニメーションオブジェクトを用いたアニメーションリクエスト構築処理の流れの一例を説明する。なお、図38は、デモ表示コマンド受信時に行われるアニメーションリクエスト構築処理中のアニメーションオブジェクトの処理フローを示す図である。また、図39は、デモ表示コマンドの後に特別図柄演出開始コマンドを受信した際に行われるアニメーションリクエスト構築処理中のアニメーションオブジェクトの処理フローを示す図である。図38及び図39では、説明を簡略化するため、ホスト制御回路210が行うメイン処理のフロー(後述の図81参照)中の、メイン・サブ間コマンド制御処理、コマンド解析処理及びアニメーションリクエスト構築処理を受信コマンド数分だけループ処理するフロー部分のみを示す。
デモ表示コマンド受信時のアニメーションリクエスト構築処理内では、デモオブジェクトの初期化処理、デモオブジェクトのコマンド受信時処理、保留オブジェクトのコマンド受信処理及びデモオブジェクトのメイン処理が、この順で実行される。なお、デモオブジェクトの初期化処理では、デモオブジェクトが生成される。また、デモオブジェクトのコマンド受信時処理及び保留オブジェクトのコマンド受信処理は、識別コマンド「80H」を引数として呼び出され、実行される。そして、デモオブジェクトのメイン処理では、アニメーションリクエストが生成される。
次いで、デモ表示コマンドの後に特別図柄演出開始コマンドが受信されると、デモオブジェクトの終了処理、変動オブジェクトの初期化処理、変動オブジェクトのコマンド受信処理、保留オブジェクトのコマンド受信処理及び変動オブジェクトのメイン処理が、この順で実行される。なお、デモオブジェクトの終了処理では、この時点で生成されているデモオブジェクトが破棄される。また、変動オブジェクトの初期化処理では、変動オブジェクトが生成される。変動オブジェクトのコマンド受信時処理及び保留オブジェクトのコマンド受信処理は、識別コマンド「81H」を引数として呼び出され、実行される。そして、変動オブジェクトのメイン処理では、アニメーションリクエストが生成される。なお、このメイン処理は、次のコマンドが受信されるまで行われる。
保留オブジェクトのコマンド受信処理は、コマンド種別に関係なく実行されるが、その処理内容(処理結果)は、保留オブジェクト実行時の保留個数やゲームステータス等の状態に応じて異なる。
[シンプルモードオブジェクト]
シンプルモードオブジェクト(特定の処理情報)は、簡易画面状態時に生成されるオブジェクトであり、シンプルモードオブジェクトでは簡易画面の表示処理が行われる。シンプルモードオブジェクトは、基本的には、電断復帰コマンド(識別コマンド「D1H」)受信時であり、且つ、受信した電断復帰コマンド(図32参照)に含まれる内部制御状態(識別図柄の変動表示に関する情報)の情報が特別図柄変動状態である場合にのみ生成される。すなわち、シンプルモードオブジェクトは、特別図柄の変動表示中に電断が発生し、その後、電断復帰した際に生成される。しかしながら、本実施形態では、毎フレーム、簡易画面状態の発生の有無をチェックしているので、簡易画面状態が発生すれば、シンプルモードオブジェクトが生成される。
本実施形態では、シンプルモードオブジェクトを生成する際には、その時点で生成されている全てのオブジェクト(保留オブジェクト等の常駐型オブジェクトも含む)を終了(破棄)する。
そして、電断復帰コマンド受信時(起動時)であり、且つ、内部制御状態が特別図柄変動状態である場合には、ホスト制御回路210は、シンプルモードオブジェクトに基づいて、アニメーションリクエストを生成し、該アニメーションリクエストに基づいて、上述した各種リクエストを生成する。なお、本実施形態では、シンプルモードオブジェクトに基づいて生成された描画リクエストがホスト制御回路210から表示制御回路230に出力されると、表示制御回路230は、該描画リクエストに基づいて、電断復帰に関する情報の報知を行うアニメーション(動画、静止画含む)を作成し、該アニメーションを表示装置13に表示させる。
また、本実施形態では、シンプルモードオブジェクトが生成された場合には、シンプルモードオブジェクトが終了するまで、新たなオブジェクトは生成されない。すなわち、簡易画面状態中には、シンプルモードオブジェクト以外の他の演出オブジェクトは生成されない。そして、シンプルモードオブジェクトは、主制御回路70から変動停止に関するコマンド(変動停止コマンドや、大当たりを示すコマンドなど)が送信された場合に終了する。
上述したように、本実施形態において、内部制御状態が特別図柄変動状態(識別情報の変動表示状態)であるときに実行される電断復帰時の処理では、シンプルモードオブジェクトのみが生成されるので、電断復帰を迅速に行うことができる。
また、本実施形態では、シンプルモードオブジェクトの生成時に、受信した電断復帰コマンドに内部制御状態(識別図柄の変動表示に関する情報)が特別図柄変動状態であるという情報が含まれるか否かを判別する。それゆえ、本実施形態では、電断検知前と電断復帰後との間の遊技状態の整合性を考慮して電断復帰処理を行うことができる。
さらに、本実施形態では、上述のように、ホスト制御回路210がコマンドを受信する度に後着優先でオブジェクトが1つだけ生成される(オブジェクトが上書きされる)が、シンプルモードオブジェクトが存在しているときは、新たにオブジェクトが生成されない。それゆえ、ホスト制御回路210により受信コマンドに基づいて生成されるオブジェクトの整合性も確保される。
また、本実施形態では、電断復帰時にはシンプルモードオブジェクトにより生成されたアニメーションリクエストに基づいて、表示装置13により電断復帰中である旨の情報が報知されるので、動画を特別図柄の変動時間に合わせて途中から再生するような機能を有していない遊技機であっても、遊技者に違和感を与えることなく電断復帰を行うことができる。
さらに、本実施形態では、上述のように、シンプルモードオブジェクトの終了契機は、主制御回路70からホスト制御回路210に変動停止に関するコマンドが送信された場合である。それゆえ、例えば、変動中に電断を検知し、その後、電源復帰を行った場合であっても、例えば、シンプルモードオブジェクト終了時の表示装置13において、電断復帰後のアニメーション種別が電断検知前の変動中におけるアニメーションの種別と異なる演出が実行される、又は、再度、電断復帰前の演出と同じ演出が最初から実行されるといった不自然な演出の実行が抑制される。この結果、電断復帰時等の異常な状態であっても、遊技者に違和感を与えるような演出の発生を抑制することができ、円滑に遊技を進めることができる。
<描画制御手法の概要>
次に、ホスト制御回路210から表示制御回路230に描画リクエストが出力された際に、表示制御回路230が実行する描画処理の概要を、図40を参照しながら説明する。なお、図40は、描画処理時における画像データ(動画データ及び静止画データ)のフローを示す図である。
本実施形態では、表示装置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つのフレームバッファを用意する(後述の図99~図101参照)。そして、レンダリングエンジン241からレンダリング結果をフレームバッファに書き出す際、レンダリング結果が書き出されるフレームバッファがフレーム毎に切り替えられる。例えば、所定のフレームにおいて、一方のフレームバッファにレンダリング結果を書き出した場合には、次フレームでは、他方のフレームバッファにレンダリング結果を書き出し、次々フレームでは、一方のフレームバッファにレンダリング結果を書き出す。すなわち、本実施形態では、一方のフレームバッファへのレンダリング結果の書き出し処理と、他方のフレームバッファへのレンダリング結果の書き出し処理とがフレーム毎に交互に切り替えて実行される。
また、上述したレンダリング結果の書き出し処理及び表示処理の流れの中において、所定のフレームで一方のフレームバッファに書き出されたレンダリング結果は、次フレームで表示装置13の表示画面に表示される(一方のフレームバッファの機能が描画機能から表示機能に切り替えられる)。また、次フレームで他方のフレームバッファに書き出されたレンダリング結果は、次々フレームで表示装置13の表示画面に表示される(他方のフレームバッファの機能が描画機能から表示機能に切り替えられる)。すなわち、本実施形態では、一方のフレームバッファにおけるレンダリング結果の表示処理と、他方のフレームバッファにおけるレンダリング結果の表示処理とがフレーム毎に交互に切り替えて実行される。
<音声再生制御手法の概要>
次に、ホスト制御回路210から音声・LED制御回路220にサウンドリクエストが出力された際に、音声・LED制御回路220が実行する音声再生処理の概要を、図41を参照しながら説明する。なお、図41は、音声再生処理時における音声・LED制御回路220の動作概要を示す図である。
本実施形態では、スピーカ11に出力するサウンドデータは、CGROM206に格納されている。そして、音声・LED制御回路220にサウンドリクエストが入力されると、音声・LED制御回路220は、サウンドリクエストに基づいてアクセスナンバーを特定し、アクセスナンバーに対応付けられたアクセスデータをCGROM206から読み出す。
なお、本実施形態では、サウンドリクエストには、アクセスナンバーだけでなく、サブ基板202内で生成された音声再生処理に必要な各種シーケンス再生制御コマンド(例えば、音声再生のスタート、ストップ、ループ等の指令するコマンド)などが含まれる。
そして、音声・LED制御回路220は、読み出したアクセスデータに基づいて、音声再生処理を行う。この際、本実施形態では、シンプルアクセス制御により、サウンドの再生制御を行う。なお、ここでいう、「シンプルアクセス制御」とは、ホスト制御回路210から送信されたサウンドリクエストに基づいて、音声・LED制御回路220がCGROM206(外部ROM)に登録された複数のコマンドレジスタ列を一括設定する制御手法のことである。また、音声・LED制御回路220が同時に実行できるシンプルアクセス制御の数は、実行系統の数(本実施形態では4つ)に依存する。
図42に、アクセスデータの概略構成を示す。アクセスデータは、図42に示すように、設定データとアドレスとのセット情報が複数、所定の順序で配置されており、アクセスデータの最後尾にはシンプルアクセス終了コード(音声再生の終了を示すコード)に対応する情報が格納される。なお、図41に示すように、一つのアクセスナンバーに複数のアクセスデータが対応付けられている場合には、最後尾のアクセスデータにのみ、シンプルアクセス終了コードが設けられる。
このような構成のアクセスデータに対して、設定データを対応するアドレスにセットすると、設定データに対応する再生コードが実行され、音声再生が行われる。そして、この再生コードの実行処理を、アクセスデータ内の先頭側の設定データから最後尾まで順次行い、最終的にシンプルアクセス終了コードがセットされると、読み出したアクセスデータに基づく音声再生動作が終了する。
[音声データの生成(合成)手法]
次に、音声・LED制御回路220で行われるLEDデータの生成(合成)処理の手法について説明する。本実施形態では、音声・LED制御回路220は、CGROM206から複数のサウンドデータを読み出し、それらのサウンドデータを合成してオーディオデータとして出力する機能も備える。
この機能を実現するために、図43に示すように、音声・LED制御回路220のメインジェネレータ227には、複数のサウンドデータのそれぞれを読み出して各種処理を施すための複数の音声チャンネル(音声ch1~音声ch(n))が設けられている。サウンドデータとしては、識別図柄の可変表示中、リーチ演出中、大当り遊技中等において出力されるBGM、「リーチ」や「大当り」を報知する確定音、保留球表示の変化、識別図柄の滑り、演出役物の動作時等において出力される各種演出音、「球を抜いてください」、「係員をお呼び下さい」、「ドアが開いています」と言ったエラー発生時に出力されるエラー音、電断復帰の際に出力されるシステム音等が上げられる。このような各種のサウンドデータにそれぞれ音声チャンネルが割り当てられている。
ここで、残りのチャンネルにおいて演出音に対応するチャンネルを第1の音声チャンネル、予約された数チャンネルにおいてエラー音及びシステム音に対応するチャンネルを第2の音声チャンネルと称することにする。音声・LED制御回路220は、第1の音声チャンネルと第2音声チャンネルとは同時に制御可能であり、第1の音声チャンネル及び第2音声チャンネルそれぞれにデータがセットされるタイミングに基づいて、優先度を切り替える制御を行う。ここで、優先度とは、出力順の優先だけではなく、音量、時間などの優先についても含むものとする。
具体的に、音声・LED制御回路220は、サウンドデータがエラー音及びシステム音の場合には、複数の予約チャンネルの中で空いている音声チャンネルを選択して、音声の再生に使用する。サウンドデータがBGM、確定音、その他各種の演出音の場合には、残りのチャンネルの中で開いている音声チャンネルを選択して、音声の再生に使用する。
本実施形態においては、エラー音及びシステム音に対応する第2チャンネルを含む複数の予約チャンネルは、確定音に対応する第1チャンネルを含む残りのチャンネルよりも優先度が高く設定されている。このため、例えば、図43(a)に示すように、システム音のデータが予約チャンネルにセットされ、同時にBGMのデータが残りのチャンネルにセットされた場合、予約チャンネルが優先され、システム音が出力される。
その一方で、本実施形態においては、エラー音あるいはシステム音に対応する第2チャンネルにデータがセットされ、エラー音あるいはシステム音が再生されている際に、確定音に対応する第1チャンネルにデータがセットされた場合、第1チャンネルが第2チャンネルよりも優先度が高く設定され、音声・LED制御回路220は、第1チャンネルのデータを第2チャンネルのデータに優先して再生させる。
すなわち、予約チャンネルにエラー音あるいはシステム音以外のデータがセットされた場合には、予約チャンネルのデータが優先されるため、第1チャンネルのデータによる確定音は再生されない。しかし、予約チャンネルにエラー音あるいはシステム音のデータがセットされた場合には、第1チャンネルのデータが優先されるため、図43(b)に示すように、システム音の再生中に確定音が再生される。
このように、音声・LED制御回路220は、複数の音声チャンネルのうち、所定の第1の音声チャンネルが、所定の第2の音声チャンネルよりも優先度を低くして出力制御を行う一方、第1の音声チャンネルで設定された特定の音声が出力されている場合は、第2の音声チャンネルよりも優先度を高くして出力制御を行う。
このため、本実施形態によれば、例えば、電断復帰中においてシステム音が再生されている時に、確定音のサウンドデータが音声チャンネルにセットされた場合に、第2音声チャンネルの優先順位が第1音声チャンネルよりも高くなるため、確定音が再生可能になる。これにより、遊技者はシステム音によって確定音を聞く機会を失うことが防止され、確定音による興趣を維持することが可能になる。
なお、本実施形態によれば、システム音が再生されている時に確定音が入ってきた場合には、システム音を0%再生、確定音を100%再生となるが、それに限らず、例えば、マルチエフェクタ228によってシステム音を50%再生、確定音を50%再生となるように調整して合成してもよい。また本実施形態によれば、2つのスピーカ11、11があることから、出力も2チャンネルとし、2つのスピーカ11、11にそれぞれ別の音声を出力させてもよい。例えば、2つのスピーカ11、11でエラー音あるいはシステム音が出力されているときに、確定音のサウンドデータが音声チャンネルにセットされた場合、一方のスピーカ11にエラー音あるいはシステム音を出力させ、他方のスピーカ11に確定音を出力させてもよい。このように、優先度の高いチャンネルの音声と他の音声とを2つのスピーカ11、11にそれぞれ分けて出力してもよい。これにより、遊技者は、確定音を聞く機会を確実に聞くことが可能になる。
また本実施形態によれば、確定音とBGMとを分けているが、BGMを確定音として扱うことも可能であり、確定音として扱う音声については適宜設定可能である。
<ランプ(LED)の各種駆動制御手法>
次に、ホスト制御回路210から音声・LED制御回路220にランプリクエストが出力された際に、音声・LED制御回路220が実行する、ランプ群18に含まれる複数のLEDの各種駆動制御処理の内容について説明する。なお、以下に説明する本実施形態のランプ制御手法では、発光素子としてLEDを例に挙げて説明するが、本発明はこれに限定されず、他の任意の発光素子に対しても本実施形態のランプ制御手法は同様に適用することができる。
[LED制御の概要]
まず、図44を参照しながら、パチンコ遊技機1に設けられたLEDを駆動(点灯/消灯)する際の制御手法の概要を説明する。なお、図44は、LED駆動(点灯/消灯)時の信号フロー図である。
LEDの駆動(点灯/消灯)時には、まず、副制御回路200内のホスト制御回路210から音声・LED制御回路220にランプリクエスト(LED制御リクエスト)が出力される。なお、本実施形態では、ホスト制御回路210の演出制御処理(後述の図81に示す副制御メイン処理)は、所定の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間の接続構成]
次に、図45を参照しながら、音声・LED制御回路220及び各LED281間の接続構成について説明する。なお、図45は、音声・LED制御回路220及びLED281間の概略接続構成図である。
本実施形態では、音声・LED制御回路220は、図45に示すように、LEDデータの出力系統(SPIチャンネル)として、物理系統0(SPIチャンネル0)と物理系統1(SPIチャンネル1)とを使用する。各物理系統には、複数のLEDドライバ(デバイス)280がSPIバスを介して並列に接続される。図45に示す例では、16個のLEDドライバ280(デバイス0~デバイス15)が各物理系統に並列接続される。
そして、各LEDドライバ280には、LEDデータがセットされる複数の出力ポート(以下、単に「ポート」という)が設けられ、各ポート(接続部)に1つのLED281が接続される。すなわち、本実施形態では、LED281は、スタティック制御されるLED281である。なお、本明細書では、スタティック制御されるLED281をスタティックLED281と称する。
また、図45に示す例では、各LEDドライバ280(各デバイス)に、16個のポート(ポート0~ポート15)が設けられる。すなわち、各LEDドライバ280(各デバイス)には16個のLED281が接続される。なお、本実施形態では、各LEDドライバ280には16個のLED281が接続されているが、本発明はこれに限定されず、LEDドライバ280(デバイス)の機能及び仕様に応じて、各LEDドライバ280に、8個、32個、64個等のLED281が接続されるようにしてもよい。
図45に示す構成のパチンコ遊技機1では、起動時に、音声・LED制御回路220は、LED281の接続構成に関する各種パラメータをSPIチャンネル毎に設定する。具体的には、音声・LED制御回路220は、起動時に、各SPIにおける使用デバイス数(各SPIチャンネルに接続されているLEDドライバ280の数)、LED281の開始ポート、LED281の終了ポート及びLEDドライバ280の開始アドレスを設定する。例えば、図45に示す例では、SPIの使用デバイス数に「16」、開始ポートに「0」、終了ポートに「15」及び開始アドレスに「0」が、それぞれセットされる。なお、LEDドライバ280の開始アドレスは、SPIチャンネル毎に適宜設定されるので、「0」に限定されない。
LED281の接続構成に関する各種パラメータを上述のようにセットすると、例えば、図45中のSPIチャンネル0に接続されたデバイス15(LEDドライバ)のポート15に接続されたLED281のアドレスは、SPI番号=0、デバイス番号=15及びポート番号=15で指定(設定)することができる。
ここで、図46を参照しながら、音声・LED制御回路220及びLEDドライバ280間の接続構成をより詳細に説明する。なお、図46は、音声・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は、シリアル・データの立ち上がりエッジを検出して、内部のシフトレジスタへのシリアル・データの入力を開始する。
[シリアル・データの構成]
ここで、図47に、音声・LED制御回路220からLEDドライバ280に送信されるシリアル・データの構成(フォーマット)を示す。
本実施形態では、図47に示すように、シリアル・データの先頭に、16ビット以上の領域に連続して「1」(特定のデータ)が格納される。それゆえ、LEDドライバ280が、「1」を16回以上連続して受信検知すると、LEDドライバ280の状態は、シリアル・データの入力待機状態になる。
シリアル・データ内の16ビット以上の「1」の格納領域(第1データ部)の後には、デバイスアドレス(LEDドライバ280のアドレス)の格納領域及びレジスタアドレスの格納領域がこの順で配置される。なお、デバイスアドレス(出力先情報)の格納領域(第2データ部)及びレジスタアドレスの格納領域は、それぞれ8ビット(1バイト)の領域で構成される。
本実施形態では、図47に示すように、デバイスアドレスの先頭ビットの格納領域には「0」(所定のデータ)が格納される。それゆえ、LEDドライバ280が、「1」を16回以上連続して受信検知した後、「0」を受信検知すると、LEDドライバ280の状態はデバイスアドレスに対応する信号(出力先指定信号)の待ち受け状態となる。
また、シリアル・データ内のレジスタアドレスの格納領域の後には、LEDデータの格納領域(第3データ部)が配置され、シリアル・データの最後尾の格納領域には、シリアル・データの送信終了を示す「0FFH」(FF)が配置される。この「0FFH」は、8ビット(1バイト)の格納領域で構成され、各ビット領域には、「1」が格納される。
[LEDドライバの構成及び動作概要]
次に、図48を参照しながら、LEDドライバ280の内部構成の一例を説明する。なお、図48は、LEDドライバ280の概略内部構成図である。
LEDドライバ280は、図48に示すように、デジタルコントロール部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)を含む。なお、図48では、説明を簡略化するため、図46に示すシリアル・クロック信号の2つの入力端子「SCL_P」,「SCL_N」を一つの入力端子「SCL」で示し、図46に示すシリアル・データの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)に接続された通信配線が使用される。
ここで、図49に、LEDドライバ280に1ビットのデータが各入力端子(SDI_P、SDI_N、SCL_P、SCL_N)に入力された際の動作概要を示す。
本実施形態において、LEDドライバ280の入力端子SDI_Pに「0」が入力され、且つ、入力端子SDI_Nに「1」が入力された場合には、図49に示すように、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の内部のデジタル回路において、前回の入力値が維持される。
なお、図49に示すように、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で行われる。
ここで、図50に、LEDドライバ280のアドレス設定モードの概要をまとめた表を示す。
本実施形態では、LEDドライバ280のアドレス設定モードとして、デバイス制御モード及びバス制御モードの2種類のモードが設けられている。なお、バス制御モードは、複数のデバイスアドレス選択端子(DA0~DA5)に設定されたデータ(デバイスアドレス)に関係なく、シリアル・データを読み込むモードである。
デバイス制御モードにより、LEDドライバ280のデバイスアドレスを設定する場合には、図50中の「Bit0」~「Bit5」に規定されたデータ「a0」~「a5」がそれぞれデバイスアドレス選択端子(DA0)~デバイスアドレス選択端子(DA5)にセットされる。なお、図50中の「Bit0」~「Bit5」に規定されたデータ「a0」~「a5」は、LEDドライバ280のデバイスアドレスに応じて変化する。また、図50中の「Bit6」に規定されたデータから、現在設定されているアドレス設定モードがバス制御モード及びデバイス制御モードのいずれであるかを判別することができる。
また、エラーフラグ出力端子(XERR)は、異常検知時にエラーフラグ値「1」が出力される端子である。エラーフラグ出力端子(XERR)からのエラーフラグの出力動作は、異常検知期間のみで行われ、エラーフラグ値「1」が出力された場合には、LEDドライバ280は自動復帰する。
なお、エラーフラグ出力端子(XERR)から出力されたエラーフラグ値「1」はレジスタに格納される。また、エラーフラグ出力端子(XERR)からエラーフラグ値「1」が出力されている間、LEDドライバ280のレジスタはラッチされる(状態を保持する)。そして、レジスタがリード可能になると、エラーが解除され、エラーフラグ出力端子(XERR)から「0」がレジスタに出力される。
ポート群280eは、複数のポート(図48に示す例では48個)で構成され、各ポートには1つのLED281が接続される。また、図48中のポート「OUTR*」(「*」は0~15)には、赤色成分のLED281が接続され、ポート「OUTG*」には、緑色成分のLED281が接続され、ポート「OUTB*」には、青色成分のLED281が接続される。
本実施形態では、互いに隣り合うポート「OUTR*」、「OUTG*」及び「OUTB*」にそれぞれ接続された赤色成分のLED281、緑色成分のLED281及び青色成分のLED281により一つの色を発光させる構成にする。なお、本発明は、これに限定されず、LEDドライバ280のポートに接続されるLEDの種別として、3原色の各色成分のLED281を用いて一つの色を発光するようなLED種別以外にも、単色発光専用のLEDを別途、設けてもよい。
ここで、図51に、LED281が接続される物理系統(SPIチャンネル)と、LEDドライバ280のデバイスアドレスと、LEDドライバ280の出力端子との関係をまとめた表を示す。なお、図51に示す例は、物理系統として、2つの物理系統(物理系統0及び物理系統1)を用い、各物理系統に接続されたLEDドライバ280の個数を16個とし、各LEDドライバ280に接続されたLED281の個数を48個とした場合の構成例である。
[LEDデータ]
次に、図52を参照しながら、音声・LED制御回路220からLEDドライバ280(LED281)に出力されるLEDデータ(ポート毎にセットされるLEDデータ)の構成について説明する。なお、図52は、LEDデータのフォーマット(データ型)を示す図である。
LEDデータは、再生時間(点灯時間)、赤色成分の輝度データ(発光データ)、緑色成分の輝度データ及び青色成分の輝度データを含み、ポート毎にセットされる。なお、LEDデータは、CGROM206に格納される。また、再生時間のデータ長(バイト数)は2バイトであり、各色成分の輝度データのデータ長は1バイトである。
なお、図52中に示す例では、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データ内における再生時間(点灯時間)の規定手法は、図52に示す例に限定されず、再生時間(点灯時間)の時間値を規定してもよい。この場合にも、音声・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は消灯するので、これらの輝度データを「消灯データ」と称する。
ここで、図53を参照しながら、スタティックLEDに対するLEDデータの出力制御処理の一例を説明する。なお、図53に示す例では、一つのLEDドライバ280に赤色LED、青色LED及び緑色LEDがそれぞれ1個ずつ接続されている例を示す。また、この例では、LEDデータ内の、再生時間(点灯時間)を「12」(約48msec)とし、赤色の輝度データ、緑色の輝度データ及び青色の輝度データのそれぞれを「0xFE」とする例を説明する。なお、このLEDデータでは、赤色LED、青色LED及び緑色LEDの3つのLEDにより白色点灯が行われる。
上述したLEDデータがLEDドライバ280に入力されると、LEDドライバ280は、後述の制御部位の情報(各ポートのポート情報)を参照して、LEDデータの中から接続されたLED281の種別に対応する輝度データを参照し、該輝度データに対応する駆動信号をLED281に出力する。それゆえ、図53に示す例では、ポート0に接続された赤色LEDには、LEDデータ内の赤色の輝度データ「0xFE」のみが出力され、赤色LEDは、赤色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。また、この際、ポート1に接続された青色LEDには、LEDデータ内の青色の輝度データ「0xFE」のみが出力され、青色LEDは、青色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。さらに、この際、ポート2に接続された緑色LEDには、LEDデータ内の緑色の輝度データ「0xFE」のみが出力され、緑色LEDは、緑色の輝度データ「0xFE」に対応する輝度で約48msec間点灯する。
なお、図53に示す例において、消灯動作を行う場合には、各色の輝度データに「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データが決定される。なお、この実行優先順位に基づくLEDデータの決定(選択)処理は、音声・LED制御回路220により行われる。それゆえ、音声・LED制御回路220は、複数のチャンネル(系統)の中から所定のチャンネルに設定された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データ及びデータテーブル情報を上書きして格納する例を説明したが、後述の図56に示すようなLEDデータ及びデータテーブル情報を指定可能な情報(発光制御情報に対応する情報)を登録バッファに上書きして格納する構成にしてもよい。この場合には、LEDデータ及びデータテーブル情報を登録バッファとは異なる記憶領域(物理的に同じ記憶媒体の中で領域的に該記憶領域と登録バッファとが分けられている場合)から取得するように制御してもよいし、また、登録バッファに格納された情報に基づいて、物理的に異なる記憶媒体の記憶領域からLEDデータ及びデータテーブル情報を取得するように制御してもよい。
なお、「発光制御情報に対応する情報」は、後述の図56に示す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データの合成例)を、図54~図57を参照しながら具体的に説明する。
(1)生成例1
図54A及び図54Bは、制御部位の範囲がチャンネル間で互いに同じである場合のLEDアニメーションの生成及び出力動作の概要を示す図である。なお、図54A及び図54Bに示す例では、8つのLED281(第1LED~第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、図54A及び図54Bに示す例では、8つのチャンネルのうち、第6チャンネル~第8チャンネルにLEDデータがセットされる例を説明する。
さらに、図54A及び図54Bに示す例では、第6チャンネル~第8チャンネルのそれぞれにおいて、全てのLED281(第1LED~第8LED)が制御部位として設定されている例を説明する。このような場合には、第6チャンネル~第8チャンネルの各LED281にそれぞれ所定のLEDデータがセットされる。
具体的には、第8チャンネルでは、第1LED及び第3LEDに「赤色」点灯のLEDデータがセットされ、それ以外のLED281には「データ無し」(消灯データ)がセットされる。また、第7チャンネルでは、第1LED~第5LEDに「緑色」点灯のLEDデータがセットされ、それ以外のLED281には「データ無し」(消灯データ)がセットされる。そして、第6チャンネルでは、全てのLED281に「青色」点灯のLEDデータがセットされる。
図54Aに示す例において、第6チャンネル~第8チャンネルのLEDデータを合成すると、制御部位(全LED)内の各LED281には、最も実行優先順位の高い第8チャンネルのLEDデータが合成結果としてセットされる。それゆえ、この例では、図54Bに示すように、第8チャンネルに格納されているLED281の点灯パターンと同じパターンが合成後のLEDアニメーションとして出力される。
(2)生成例2
図55A及び図55Bは、制御部位の範囲がチャンネル間で互いに異なる場合のLEDアニメーションの生成及び出力動作の概要を示す図である。なお、図55A及び図55Bに示す例では、生成例1と同様に、8つのLED281(第1LED~第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、図55A及び図55Bに示す例では、生成例1と同様に、8つのチャンネルのうち、第6チャンネル~第8チャンネルにLEDデータがセットされる例を説明する。
さらに、図55A及び図55Bに示す例では、第8チャンネルの制御部位が第1LED~第3LEDに設定され、第7チャンネルの制御部位が第1LED~第5LEDに設定され、そして、第6チャンネルの制御部位は全てのLED281に設定されている例を説明する。
また、第8チャンネルでは、第1LED及び第3LEDに「赤色」点灯のLEDデータがセットされ、第2LEDには「データ無し」(消灯データ)がセットされる。第7チャンネルでは、第1LED~第5LEDに「緑色」点灯のLEDデータがセットされる。そして、第6チャンネルでは、全てのLED281に「青色」点灯のLEDデータがセットされる。なお、第8及び第7チャンネルにおいて、制御部位に指定されていないLED281のポートにはLEDデータはセットされない。
図55Aに示す例において、第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の点灯パターンは、図55Bに示すように、第8チャンネルの第1LED~第3LEDの点灯パターンと同じになり、第4LED及び第5LEDの点灯パターンは、第7チャンネルの第4LED及び第5LEDの点灯パターンと同じになり、第6LED~第8LEDの点灯パターンは、第6チャンネルの第6LED~第8LEDの点灯パターンと同じになる。
(3)生成例3
LEDアニメーションの生成例3では、図56並びに図57A~図57Cを参照しながら、各チャンネルのLEDデータの上書き手順の一例を説明する。なお、図56は、各チャンネルと、各チャンネルにセットされているLEDデータ名(LED制御ID)との対応を示す図である。また、図57A~図57Cは、生成例3における各ポートのLEDデータの上書き手順のフローを示す図である。
生成例3では、図57A~図57Cに示すように、ポート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は、図57Aに示すように、最も実行優先順位の低い第1チャンネルのLEDデータ「LED_ID_B」を全ポートにセットする。
次いで、音声・LED制御回路220は、図57Bに示すように、次に実行優先順位の低い(第1チャンネルより実行優先順位の高い)第3チャンネルのLEDデータ「LED_ID_R」をポートA~ポートCにセットする。この結果、ポートA~ポートCでは、LEDデータ「LED_ID_B」上に、LEDデータ「LED_ID_R」が上書きされる。
そして、音声・LED制御回路220は、図57Cに示すように、次に実行優先順位の低い(第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データの上書き順序は、図57A~図57Cに示す例に限定されず、LEDデータの上書き順序は任意である。
(4)生成例4
上述した生成例1~2によれば、チャンネル間の実行優先順位に基づいて合成されたLEDデータが、所定のポートに出力(セット)される。例えば、生成例1によれば、最も実行優先順位の高い第8チャンネルのLEDデータが合成結果としてセットされる。生成例2によれば、実行優先順位の高いチャンネルにおいて指定されている制御部位に対応するLEDが発光するように、複数のチャンネルのLEDデータが合成(上書き)される。つまり、予め定められた実行優先順位の高いチャンネルのLEDデータのみが出力される。それに対して、生成例4は、実行優先順位が最も高いチャンネルのLEDデータを再生するのではなく、複数のチャンネルのLEDデータを同時に使用するものである。
複数のチャンネルのLEDデータを同時に使用する形態としては、図58(a)に示すように混ぜて再生する形態、あるいは図58(b)に示すように、一方のチャンネルがブランクのデータである場合にブランクではないチャンネルのデータを再生する形態が挙げられる。なお、同時に使用する複数のチャンネルは予め定められているか、あるいはホスト制御回路210によって指定されるものとする。
具体的に、音声・LED制御回路220は、例えば、所定の1チャンネル(以下、チャンネル(1))には、メインボーカルのリズムに合わせた演出を行うLEDデータをセットし、他の1チャンネル(以下、チャンネル(2))には、ベースに合わせた演出を行うLEDデータをセットするものとする。例えば、図58(a)に示す例においては、LED1,3,5,7にチャンネル(1)が、LED2,4,6,8にチャンネル(2)に対応する。このため、LED1,3,5,7においては、メインボーカルのリズムに合わせた発光演出が行われ、LED2,4,6,8にチャンネル(2)においては、ベースに合わせた発光演出が行われる。
図58(b)は、生成例4における一方のチャンネルがブランクのデータである場合にブランクではないチャンネルのデータを再生する形態の一例を示すものである。図58(b)において、データがある場合には「〇」、データがない(ブランクである)場合は「×」で示されている。なお、図58(b)においては、データの有無を「〇」、「×」で示してあるが、実際にチャンネル及びポートにセットされるデータは、もっと複雑である。チャンネル(1)のLEDデータがブランク(輝度データが0)であり、チャンネル(2)のLEDデータがブランクではない時には、他方のLEDデータに基づいて出力データを生成する。チャンネル(1)及びチャンネル(2)がブランクでない場合(LEDデータがある場合)には、予め設定したチャンネルの優先順位に基づいて出力データを生成する。つまり、生成例1において、チャンネル(1)の方がチャンネル(2)よりも実行優先順位が高く、チャンネル(1)のLEDデータはブランクであり、チャンネル(2)のLEDデータはブランクではない場合には、ブランクが採用されるが、生成例4においては、ブランクではないチャンネル(2)のLEDデータが採用される。
これにより、例えば、ボーカルが始まる前の前奏部分においては、ベースに合わせた発光演出が行われ、ボーカルが始まった場合にはボーカルに合わせた発光演出が行われるとともにベースに合わせた発光演出も行われる。
なお、上述した図58(a)に示す例においては、チャンネル(1)とチャンネル(2)との混合比が1:1であるが、この混合比を、音声・LED制御回路220によって遊技状態に応じた所定のタイミングで調整するように制御させてもよい。例えば、チャンネル(1)にはメインボーカル音がセットされ、チャンネル(2)にはベース音がセットされるとする。そして、表示手段19において演出用の識別図柄の変動が開始してからリーチになるまでは、チャンネル(2)の割合を高くする。これにより、リーチ前まではベースに合わせるようにLED発光が強調されるようになる。リーチ発生から停止直前あるいは発展直前までは、チャンネル(1)の割合を高くする。これにより、リーチから図柄停止直前あるいは発展直前まで、メインボーカルに合わせるようにLED発光が強調されるようになる。
また、上述した図58(b)に示す例においては、LED発光をベースに合わせるようにするために、チャンネル(1)のLEDデータにブランクデータを多目にセットするようにLEDデータを調整してもよい。これにより、チャンネル(2)に基づいて発光するLEDが増えるため、結果として、ベース音に合わせるようにLEDが発光されるようになる。逆に、LED発光をボーカルに合わせるようにするために、チャンネル(2)のLEDデータにブランクデータを多目にセットするようにLEDデータを調整してもよい。なお、図58(b)に示す例において、チャンネル(1)におけるLED2,4,6,8のLEDデータをブランクデータとし、チャンネル(2)におけるLED1,3,5,7のLEDデータをブランクデータとすることにより、結果として、図58(a)に示す出力データを出力させることも可能である。
このように、生成例4によれば、LED制御用のチャンネルを複数使用することにより、多彩なLEDの発光表示が可能になり、複雑で立体感のあるLEDによる演出表示が可能になる。
[再生チャンネル及び拡張チャンネル]
本実施形態のパチンコ遊技機1は、1回のランプリクエストに基づいて1つのLEDアニメーションを実行する機能だけでなく、1回のランプリクエストに基づいて2つのLEDアニメーションを同時に実行する機能も有する。本実施形態では、後者の機能を実現するために、各チャンネルを2つの制御部位に分割し、一方の制御部位を用いて一方のLEDアニメーションを実行し、他方の制御部位を用いて他方のLEDアニメーションを実行する。
なお、以下では、1回のランプリクエストに基づいて1つのLEDアニメーション(通常のLEDアニメーション)を実行する際に使用される一方の制御部位を「再生チャンネル」と称し、1回のランプリクエストに基づいて2つのLEDアニメーションを同時に実行する際に使用される他方の制御部位を「拡張チャンネル」と称す。それゆえ、図54~図57を参照して説明したLEDアニメーションの各種生成例の処理は、各チャンネル内の再生チャンネルを用いて実行され、2つのLEDアニメーションを同時に実行する際には、所定のチャンネルにおいて再生チャンネル(第1の系統)及び拡張チャンネル(第2の系統)の両方が使用される。
また、2つのLEDアニメーションを同時に実行する場合には、再生チャンネル及び拡張チャンネルの動作を別個に制御する必要があるので、再生チャンネル及び拡張チャンネルに対してそれぞれ別個にシーケンサー(自動再生制御機能)及び登録バッファ(第1の登録バッファ及び第2の登録バッファ)が設けられる。
ここで、各チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成の概要を、図59及び図60を参照しながら説明する。図59は、第8チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成を示す図であり、図60は、第7チャンネルに設けられた再生チャンネル及び拡張チャンネルの構成、並びに、それらに対応づけられたシーケンサーの構成を示す図である。
なお、図59及び図60に示す例では、8つのLED281(第1LED~第8LED)を用いて所定のLEDアニメーションを実行する例を説明する。また、この例では、各チャンネルに対して2つのシーケンサーが設けられる。すなわち、トータル(8チャンネル分)で、16個のシーケンサーが設けられる。そして、各シーケンサーには、第1チャンネルのシーケンサーから順次シーケンサー番号が設定されている。
それゆえ、例えば、第1チャンネルの2つのシーケンサーにはそれぞれシーケンサー番号「0」及び「1」が設定され、第4チャンネルの2つのシーケンサーにはそれぞれシーケンサー番号「6」及び「7」が設定される。また、各チャンネルにおいて、2つのシーケンサーのうち、シーケンサー番号が小さい方のシーケンサーが再生チャンネルで使用するシーケンサーに設定される。すなわち、例えば、第1チャンネルの再生チャンネルでは、シーケンサー番号「0」のシーケンサーが使用され、第1チャンネルにおいて拡張チャンネルが設定されている場合には、シーケンサー番号「1」のシーケンサーが拡張チャンネルに対して使用される。
それゆえ、図59に示す例のように、第8チャンネルにおいて、第1LED~第5LEDの制御部位を再生チャンネルとして制御し、残りのLED281(第6LED~第8LED)の制御部位を拡張チャンネルとして制御する場合には、シーケンサー番号「14」のシーケンサー(図中のシーケンサー14:第1の駆動データ制御手段)が再生チャンネルで使用され、シーケンサー番号「15」のシーケンサー(図中のシーケンサー15:第2の駆動データ制御手段)が拡張チャンネルで使用される。また、図60に示す例のように、第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アニメーションの再生を即時開始する。
ここで、図61に、LEDアニメーションの切り替え再生パターンの各種例を示す。なお、図61は、第1ランプリクエストに基づいて作成されたLEDアニメーションの再生中に、同一チャンネルに対して、第2ランプリクエスト、又は、第2ランプリクエスト及び第3ランプリクエストが音声・LED制御回路220に入力された場合における、LEDアニメーションの切り替え再生パターンの一例をまとめた表である。
以下、図62~図66を参照しながら、図61中の一部のLEDアニメーションの切り替え再生パターンについて説明する。
図62は、図61中の切り替え再生パターン2に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン2は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「LOOP」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン2では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「LOOP」のみが指定されていると、図62に示すように、第2ランプリクエスト入力時に、再生中の第1ランプリクエストに基づくLEDアニメーションのデータが破棄され(再生中のLEDアニメーションを終了し)、第2ランプリクエストに基づく再生方式「LOOP」のLEDアニメーションの再生が即時開始される。
図63は、図61中の切り替え再生パターン4に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン4は、第1ランプリクエストに基づいて作成された再生方式「SHOT」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「SHOT|NEXT」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン4では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「SHOT」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「SHOT|NEXT」が指定されていると、図63に示すように、再生中の第1ランプリクエストに基づくLEDアニメーションの再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。
図64は、図61中の切り替え再生パターン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」が指定されていると、図64に示すように、再生中の第1ランプリクエストに基づくLEDアニメーションの再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始され、第2ランプリクエストに基づくLEDアニメーションの再生終了後に第3ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。
この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。また、第3ランプリクエストに基づくLEDアニメーションの再生動作は、第3ランプリクエスト入力時から第2ランプリクエストに基づくLEDアニメーションの再生終了時までの期間、待機状態になる。
図65は、図61中の切り替え再生パターン7に対応するLEDアニメーションの時間軸上の切り替え再生フローを示す図である。なお、切り替え再生パターン7は、第1ランプリクエストに基づいて作成された再生方式「LOOP」のLEDアニメーションの再生中に、第2ランプリクエストが音声・LED制御回路220に入力され、その際の再生方式に「SHOT|NEXT」が指定されている場合の切り替え再生パターンである。
切り替え再生パターン7では、まず、第1ランプリクエスト入力時に、第1ランプリクエストに基づく再生方式「LOOP」のLEDアニメーションの再生が開始される。次いで、第1ランプリクエストに基づくLEDアニメーションの所定回数目(図65に示す例では2回目)のループ再生中に、第2ランプリクエストが音声・LED制御回路220に入力される。そして、この際に得られる再生方式の情報において「SHOT|NEXT」が指定されていると、図65に示すように、第1ランプリクエストに基づくLEDアニメーションの所定回数目のループ再生終了後に第2ランプリクエストに基づく再生方式「SHOT|NEXT」のLEDアニメーションの再生が開始される。この場合、第2ランプリクエストに基づくLEDアニメーションの再生動作は、第2ランプリクエストの入力時から第1ランプリクエストに基づくLEDアニメーションの所定回数目のループ再生終了時までの期間、待機状態になる。
なお、本実施形態では、例えば、図64や図65などで示したように、「NEXT」指定となるランプリクエストが続けて音声・LED制御回路220に入力された場合には、LEDアニメーションの連続再生が行われる。しかしながら、本実施形態では、1回の連続再生で再生されるLEDアニメーションの最大個数は8個とする。そして、8個目のLEDアニメーション再生中にランプリクエストが音声・LED制御回路220に入力され、その際に得られる再生方式が「NEXT」指定を含むものである場合には、該ランプリクエストに基づいて作成されたLEDアニメーションのデータは破棄される。この再生動作の時間軸上の切り替え再生フローを、図66に示す。
また、時間軸上のフロー図を示さないが、図61中の切り替え再生パターン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データの合成動作)について説明する。
ここでは、後述の図67及び図68に示すように、矩形状に配列された複数のLED281によりLEDアニメーションを実行する例を説明する。また、LEDアニメーション作成時に用いる再生チャンネルには、第1チャンネルの再生チャンネル(以下、第1再生チャンネルという)及び第2チャンネルの再生チャンネル(以下、第2再生チャンネルという)を用いる。そして、第1再生チャンネルの制御部位は全てのLED281とし、第2再生チャンネルの制御部位は、左辺部及び右辺部(サイド)に配列された複数(後述の図67及び図68に示す例では、8個)のLED281とする。
まず、各再生チャンネルに「ODONLY」が指定されていない場合のLEDアニメーションの再生態様の一例を、図67A及び図67Bを参照しながら説明する。なお、図67Aは、ランプリクエストが音声・LED制御回路220に入力されたときに取得されるデータテーブル情報に含まれる各再生チャンネルの再生仕様の情報をまとめたテーブルである。また、図67Bは、図67Aのテーブルに規定されている各再生チャンネルの再生仕様の情報に基づいてLEDアニメーションを生成する際の様子を示す図である。
なお、この例では、第1再生チャンネル(1ch)の制御部位(全体)において全LED281を赤色点灯させる点灯パターン(ptnA)と、第2再生チャンネル(2ch)の制御部位(サイド)において12msec周期で青色点灯するLED281を制御部位内で順次移動させる点灯パターン(ptnB)とを合成して、LEDアニメーションを作成する例を説明する。
各再生チャンネルに「ODONLY」が指定されていない場合には、第2再生チャンネルが第1再生チャンネルより実行優先順位が高いので、第2再生チャンネルの制御部位内のLEDデータが、第1再生チャンネルの制御部位内の対応するLED281のLEDデータ上に上書きされる。それゆえ、各再生チャンネルに「ODONLY」が指定されていない場合には、図67Bに示すように、合成後のLEDアニメーションでは、サイドのLED点灯パターンが第2再生チャンネルの点灯パターン(ptnB)と同じになる。
次に、第2再生チャンネルに「ODONLY」が指定されている場合のLEDアニメーションの再生態様の一例を、図68A及び図68Bを参照しながら説明する。なお、図68Aは、ランプリクエストが音声・LED制御回路220に入力されたときに取得されるデータテーブル情報に含まれる各再生チャンネルの再生仕様の情報をまとめたテーブルである。また、図68Bは、図68A中の各再生チャンネルの再生仕様の情報に基づいてLEDアニメーションを生成する際の様子を示す図である。
この場合には、第2再生チャンネルが第1再生チャンネルより実行優先順位が高いので、第2再生チャンネルの制御部位内のLEDデータが、第1再生チャンネルの制御部位内の対応するLED281のLEDデータ上に上書きされる。しかしながら、この際、第2再生チャンネルには再生方式に「ODONLY」が指定されているので、消灯データ以外の出力データ(LEDデータ)があるポートにおいてのみLEDデータが上書きされ、出力データが無いポート(消灯データがセットされているポート)では、LEDデータは上書きされず、第1再生チャンネルのLEDデータが維持される。それゆえ、第2再生チャンネルに「ODONLY」が指定されている場合には、図68Bに示すように、合成後の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を制御することができる。
<役物制御手法の概要>
次に、図69を参照しながら、パチンコ遊技機1に設けられた役物20の駆動制御手法の概要を説明する。なお、図69は、役物20の駆動時のデータフロー図である。
本実施形態では、ホスト制御回路210内において、役物リクエストが生成(取得)されると、ホスト制御回路210は、図69に示すように、役物20を駆動するためのモータ272(ステッピングモータ)の励磁データをI2Cコントローラ261を介してモータコントローラ270内のモータドライバ271(駆動制御手段)に送信する。そして、モータドライバ271は、受信した励磁データを、接続されているモータ272(駆動手段)に出力する。これにより、役物20による演出動作が開始される。なお、役物20が複数のモータ272により駆動される場合や、役物20が複数ある場合には、各モータ272に対応するモータドライバ271が設けられる。
また、ホスト制御回路210及びモータコントローラ270(モータドライバ271)間は、I2Cバスで接続されているので、両者間ではI2C方式で信号(励磁データ)の送受信が行われる。
ここで、図70を参照しながら、ホスト制御回路210及びモータドライバ271間の接続構成をより詳細に説明する。図70は、ホスト制御回路210及びモータドライバ271間の接続構成図であり、図70には、複数のモータドライバ271が設けられている例を示す。すなわち、図70には、複数のモータ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のアドレスを指定してシリアル・データを送信する。
<主制御回路の動作説明>
次に、図71~図80を参照して、主制御回路70のメインCPU71により実行される各種処理の内容について説明する。
[主制御メイン処理]
まず、図71を参照して、メインCPU71の制御による主制御メイン処理について説明する。なお、図71は、本実施形態における主制御メイン処理の手順を示すフローチャートである。
パチンコ遊技機1に電源が投入されると、最初に、メインCPU71は、初期設定処理を行う(S1)。この処理では、メインCPU71は、例えば、メインRAM73へのアクセス許可、バックアップ復帰、作業領域の初期化等の処理を行う。次いで、メインCPU71は、初期値乱数の更新処理を行う(S2)。この処理では、メインCPU71は、初期乱数カウンタ値を更新する。
次いで、メインCPU71は、特別図柄制御処理を行う(S3)。この処理では、メインCPU71は、特別図柄ゲームの進行、特別図柄表示装置61に表示される特別図柄(第1特別図柄及び第2特別図柄)に関する所定の制御処理を行う。なお、特別図柄制御処理の詳細については、後述の図72を参照しながら後で説明する。
次いで、メインCPU71は、普通図柄制御処理を行う(S4)。この処理では、メインCPU71は、普通図柄ゲームの進行、及び、普通図柄表示装置62に表示される普通図柄に関する所定の制御処理を行う。なお、普通図柄制御処理の詳細については、後述の図76を参照しながら後で説明する。
次いで、メインCPU71は、図柄表示装置の制御処理を行う(S5)。この処理では、メインCPU71は、特別図柄制御処理(S3)及び普通図柄制御処理(S4)の実行結果に基づいて、特別図柄(第1特別図柄及び第2特別図柄)、並びに、普通図柄の可変表示の表示制御を行う。
次いで、メインCPU71は、遊技情報データ生成処理を行う(S6)。この処理では、メインCPU71は、払出・発射制御回路123、副制御回路200、遊技店のホールコンピュータ等に送信する遊技情報データを生成し、該遊技情報データをメインRAM73に格納する。
次いで、メインCPU71は、記憶・遊技状態データ生成処理を行う(S7)。この処理では、メインCPU71は、確変フラグの値及び時短フラグの値に基づいて、副制御回路200に送信する記憶・遊技状態データを生成し、該記憶・遊技状態データをメインRAM73に格納する。
そして、S7の処理後、メインCPU71は、処理をS2の処理に戻し、上述したS2以降の処理を繰り返す。
[特別図柄制御処理]
次に、図72を参照して、主制御メイン処理(図71参照)中のS3で行う特別図柄制御処理について説明する。図72は、本実施形態における特別図柄制御処理の手順を示すフローチャートである。なお、図72に示す各処理ステップの符号に並記した括弧書きの数値(「00」~「08」)は制御状態フラグの値を示し、この制御状態フラグは、メインRAM73内の所定の記憶領域に格納される。メインCPU71は、制御状態フラグの数値に対応する各処理ステップを実行することにより、特別図柄ゲームを進行させる。
まず、メインCPU71は、制御状態フラグをロードする(S11)。この処理では、メインCPU71は、メインRAM73に記憶された制御状態フラグの値を読み出す。
メインCPU71は、S11でロードされた制御状態フラグの値に基づいて、後述のS12~S20の各種処理を実行するか否かを判定する。この制御状態フラグは、特別図柄ゲームの遊技の状態を示すものであり、S12~S20のいずれかの処理を実行可能にするものである。
また、メインCPU71は、S12~S20の各処理に対して設定された待ち時間などに応じて決定される所定のタイミングで、各ステップの処理を実行する。なお、この所定のタイミングに至る前の期間では、各ステップの処理を実行せずに、他のサブルーチン処理を実行する。また、所定の周期で後述のシステムタイマ割込処理(後述の図78参照)も実行される。
そして、S11の処理が終了すると、メインCPU71は、特別図柄記憶チェック処理を行う(S12)。
この処理では、メインCPU71は、制御状態フラグが特別図柄記憶チェック処理を示す値(「00」)である場合に、特別図柄の可変表示の保留個数をチェックし、保留個数が「0」でない場合(保留球がある場合)には、当り判定、特別図柄の決定、特別図柄の変動パターンの決定等の処理を行う。また、メインCPU71は、この処理において、制御状態フラグに、後述の特別図柄変動時間管理処理(S13)を示す値(「01」)にセットし、今回の処理で決定された変動パターンに対応する特別図柄の変動時間を待ち時間タイマにセットする。すなわち、この処理により、S12の処理で決定された変動パターンに対応する特別図柄の変動時間が経過した後、後述の特別図柄変動時間管理処理が実行されるように設定される。
一方、保留個数が「0」である場合(保留球がない場合)には、メインCPU71は、デモ画面を表示するためのデモ表示処理を行う。なお、特別図柄記憶チェック処理の詳細については、後述の図73を参照しながら後で説明する。
次いで、メインCPU71は、特別図柄変動時間管理処理を行う(S13)。この処理では、メインCPU71は、制御状態フラグが特別図柄変動時間管理処理を示す値(「01」)であり、特別図柄の変動時間が経過した場合に、制御状態フラグに、後述の特別図柄表示時間管理処理(S14)を示す値(「02」)をセットし、確定後待ち時間を待ち時間タイマにセットする。すなわち、この処理により、S13の処理でセットされた確定後待ち時間が経過した後、後述の特別図柄表示時間管理処理が実行されるように設定される。
次いで、メインCPU71は、特別図柄表示時間管理処理を行う(S14)。この処理では、メインCPU71は、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であり、S13の処理でセットされた確定後待ち時間が経過した場合に、当り判定の結果が「大当り」又は「小当り」であるか否かを判断する。そして、当り判定の結果が「大当り」又は「小当り」である場合、メインCPU71は、制御状態フラグに、後述の大当り開始インターバル管理処理(S15)を示す値(「03」)をセットし、大当り開始インターバルに対応する時間を待ち時間タイマにセットする。すなわち、この処理により、S14の処理でセットされた大当り開始インターバルに対応する時間が経過した後、後述の大当り開始インターバル管理処理が実行されるように設定される。
一方、当り判定の結果が「大当り」又は「小当り」でない場合、メインCPU71は、制御状態フラグに、後述の特別図柄ゲーム終了処理(S20)を示す値(「08」)をセットする。すなわち、この場合には、後述の特別図柄ゲーム終了処理が実行されるように設定される。なお、特別図柄表示時間管理処理の詳細については、後述の図74を参照しながら後で説明する。
次いで、メイン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の処理後に後述の特別図柄ゲーム終了処理が実行されるように設定される。なお、大当り終了インターバル処理の詳細については、後述の図75を参照しながら後で説明する。
そして、メインCPU71は、大当り図柄が確変図柄である場合には、遊技状態を確変遊技状態に移行させる制御を行い、大当り図柄が非確変図柄である場合には、遊技状態を通常遊技状態に移行させる制御を行う。なお、大当り図柄が「小当り」に対応する図柄である場合には、メインCPU71は、「小当り」遊技終了後の遊技状態が、「小当り」が当選した時に制御されていた遊技状態よりも有利な遊技状態に移行しないように制御する。
次いで、メインCPU71は、大当り遊技状態或いは小当り遊技状態が終了した場合、又は、「ハズレ」に当選した場合には、特別図柄ゲーム終了処理を行う(S20)。
この処理では、メインCPU71は、制御状態フラグが特別図柄ゲーム終了処理を示す値(「08」)である場合に、保留個数を示すデータ(始動記憶情報)を「1」減少するように記憶更新する。また、メインCPU71は、次回の特別図柄の変動表示を行うために、特別図柄記憶領域の更新を行う。さらに、メインCPU71は、特別図柄記憶チェック処理を示す値(「00」)を制御状態フラグにセットする。すなわち、この処理により、S20の処理後、上述した特別図柄記憶チェック処理(S12)が実行されるように設定される。
そして、S20の処理後、メインCPU71は、特別図柄制御処理を終了し、処理を主制御メイン処理(図71参照)の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)をこの順で所定のタイミングで実行し、大当り遊技状態を終了する。
上述したように、特別図柄制御処理では、ステータスに応じて処理フローを分岐させている。また、図71に示す主制御メイン処理中のS4の普通図柄制御処理(後述の図76参照)もまた、後述するように、特別図柄制御処理と同様に、ステータスに応じて処理フローを分岐させる。
本実施形態の処理プログラムは、ステータスに応じて処理を分岐させて行う場合にコール命令で、小モジュールから親モジュールへの純粋な戻り処理が可能となるように、プログラミングされている。その結果、上記処理を実行するためにジャンプテーブルを配置する場合と比較して、本実施形態では、プログラムの容量を削減することができる。
[特別図柄記憶チェック処理]
次に、図73を参照して、特別図柄制御処理(図72参照)中のS12で行う特別図柄記憶チェック処理について説明する。なお、図73は、本実施形態における特別図柄記憶チェック処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグをロードする(S31)。この処理では、メインCPU71は、メインRAM73に記憶された制御状態フラグの値を読み出す。
次いで、メインCPU71は、制御状態フラグが特別図柄記憶チェック処理を示す値(「00」)であるか否かを判別する(S32)。S32において、メインCPU71が、制御状態フラグが「00」でないと判別した場合(S32がNO判定の場合)、メインCPU71は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
一方、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は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
なお、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は、特別図柄記憶チェック処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
[特別図柄表示時間管理処理]
次に、図74を参照して、特別図柄制御処理(図72参照)中のS14で行う特別図柄表示時間管理処理について説明する。なお、図74は、本実施形態における特別図柄表示時間管理処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であるか否かを判別する(S51)。S51において、メインCPU71が、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)でないと判別した場合(S51がNO判定の場合)、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
一方、S51において、メインCPU71が、制御状態フラグが特別図柄表示時間管理処理を示す値(「02」)であると判別した場合(S51がYES判定の場合)、メインCPU71は、待ち時間タイマの値(待ち時間)が「0」であるか否かを判別する(S52)。この処理では、メインCPU71は、待ち時間タイマにセットされた変動確定後の待ち時間(変動開始待ち時間)が消化されたか否かを判別する。
S52において、メインCPU71が、待ち時間タイマの値が「0」でないと判別した場合(S52がNO判定の場合)、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。一方、S52において、メインCPU71が、待ち時間タイマの値が「0」であると判別した場合(S52がYES判定の場合)、メインCPU71は、特別図柄ゲームが「大当り」であるか否かを判別する(S53)。また、この処理では、メインCPU71は、同時に、特別演出停止コマンドを副制御回路200に送信する。
S53において、メインCPU71が、特別図柄ゲームが「大当り」でないと判別した場合(S53がNO判定の場合)、メインCPU71は、制御状態フラグに特別図柄ゲーム終了処理を示す値(「08」)をセットする(S54)。そして、S54の処理後、メインCPU71は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
一方、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は、特別図柄表示時間管理処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
[大当り終了インターバル処理]
次に、図75を参照して、特別図柄制御処理(図72参照)中のS19で行う大当り終了インターバル処理について説明する。なお、図75は、本実施形態における大当り終了インターバル処理の手順を示すフローチャートである。
まず、メインCPU71は、制御状態フラグが大当り終了インターバル処理を示す値(「07」)であるか否かを判別する(S71)。
S71において、メインCPU71が、制御状態フラグが大当り終了インターバル処理を示す値(「07」)でないと判別した場合(S71がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。一方、S71において、メインCPU71が、制御状態フラグが大当り終了インターバル処理を示す値(「07」)であると判別した場合(S71がYES判定の場合)、メインCPU71は、待ち時間タイマの値が「0」であるか否かを判別する(S72)。この処理では、メインCPU71は、待ち時間タイマにセットされた大当り終了インターバル時間が消化されたか否かを判別する。
S72において、メインCPU71が、待ち時間タイマの値が「0」でないと判別した場合(S72がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。一方、S72において、メインCPU71が、待ち時間タイマの値が「0」であると判別した場合(S72がYES判定の場合)、メインCPU71は、大入賞口開放回数表示LEDパターンフラグをクリアする(S73)。
次いで、メインCPU71は、ラウンド数振り分けフラグをクリアする(「0」にする)(S74)。
次いで、メインCPU71は、制御状態フラグに、特別図柄ゲーム終了処理を示す値(「08」)をセットする(S75)。また、この処理では、メインCPU71は、同時に、特別図柄当り終了表示コマンドを副制御回路200に送信する。次いで、メインCPU71は、大当りフラグをクリアする(S76)。
次いで、メインCPU71は、大当り種類決定テーブル(図20~図23参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、確変フラグの値をセットする(S77)。次いで、メインCPU71は、大当り種類決定テーブル(図20~図23参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、時短フラグの値をセットする(S78)。
次いで、メインCPU71は、時短フラグの値が「1」であるか(時短フラグがオン状態であるか)否かを判別する(S79)。S79において、メインCPU71が、時短フラグの値が「1」でないと判別した場合(S79がNO判定の場合)、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
一方、S79において、メインCPU71が、時短フラグの値が「1」であると判別した場合(S79がYES判定の場合)、メインCPU71は、大当り種類決定テーブル(図20~図23参照)を参照し、大当り当選時の遊技状態及び大当り時選択図柄コマンドの種別に基づいて、対応する時短回数の値を時短状態変動回数カウンタにセットする(S80)。そして、S80の処理後、メインCPU71は、大当り終了インターバル処理を終了し、処理を特別図柄制御処理(図72参照)に戻す。
[普通図柄制御処理]
次に、図76を参照して、主制御メイン処理(図71参照)中のS4で行う普通図柄制御処理について説明する。図76は、本実施形態における普通図柄制御処理の手順を示すフローチャートである。
なお、図76に示すフローチャート中の各処理ステップの符号に並記した括弧書きの数値(「00」~「04」)は普通図柄制御状態フラグを示し、この普通図柄制御状態フラグは、メインRAM73内の所定の記憶領域に格納される。メインCPU71は、普通図柄制御状態フラグの数値に対応する各処理ステップを実行することにより、普通図柄ゲームを進行させる。
まず、メインCPU71は、普通図柄制御状態フラグをロードする(S91)。この処理では、メインCPU71は、メインRAM73に記憶された普通図柄制御状態フラグを読み出す。メインCPU71は、S91でロードされた普通図柄制御状態フラグの値に基づいて、後述のS92~S96の各種の処理を実行するか否かを判定する。この普通制御制御状態フラグは、普通図柄ゲームの遊技の状態を示すものであり、S92~S96のいずれかの処理を実行可能にするものである。
また、メインCPU71は、S92~S96の各処理に対して設定された待ち時間などに応じて決定される所定のタイミングで、各ステップの処理を実行する。なお、この所定のタイミングに至る前の期間では、各ステップの処理を実行せずに、他のサブルーチン処理を実行する。また、所定の周期で後述のシステムタイマ割込処理(後述の図78参照)も実行される。
そして、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は、普通図柄制御処理を終了し、処理を主制御メイン処理(図71参照)のS5に移す。
[電源投入時処理]
次に、図77を参照して、メインCPU71により実行される電源投入時処理について説明する。図77は、本実施形態における電源投入時処理の手順を示すフローチャートである。
まず、メイン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電断復帰コマンド(図32及び図33参照)を副制御回路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)で発生されるクロックパルスに応じて、システムタイマ割込処理を実行する。ここで、図78を参照して、メインCPU71により実行されるシステムタイマ割込処理について説明する。なお、図78は、本実施形態におけるシステムタイマ割込処理の手順を示すフローチャートである。
まず、メインCPU71は、各レジスタのデータ(情報)を退避させる(S121)。次いで、メインCPU71は、乱数更新処理を行う(S122)。この処理では、メインCPU71は、大当り判定用カウンタ、図柄決定用カウンタ、当り判定用カウンタ、転落判定用カウンタ、変動パターン決定用カウンタ、演出パターン決定用カウンタなどから抽出される各種乱数値を更新する。なお、大当り判定用カウンタ及び図柄決定用カウンタは、カウンタ値の更新タイミングが不定であると、公正さに欠ける。そのため、大当り判定用カウンタ及び図柄決定用カウンタは、公正さを担保するために2msec周期で決まったタイミングで更新を行う。
次いで、メインCPU71は、スイッチ入力検出処理を行う(S123)。この処理では、メインCPU71は、各種始動口、各種入賞口及び球通過検出器43への入賞又は通過を検出する。なお、スイッチ入力検出処理の詳細については、後述の図79を参照しながら後で説明する。
次いで、メインCPU71は、タイマ更新処理を行う(S124)。具体的には、メインCPU71は、主制御回路70と副制御回路200との同期をとるための待ち時間タイマ、大入賞口の開放時間を計測するための大入賞口開放時間タイマ等の各種タイマの更新処理を行う。
次いで、メインCPU71は、コマンド出力処理を行う(S125)。この処理では、メインCPU71は、副制御回路200のホスト制御回路210に、例えば、入賞コマンド、変動コマンド等の各種コマンド(図29~図34参照)を出力する。
次いで、メインCPU71は、遊技情報出力処理を行う(S126)。この処理では、メインCPU71は、主制御回路70、副制御回路200、払出・発射制御回路123等で処理される遊技に係る各種情報を、遊技店のホールコンピュータに出力する。
次いで、メインCPU71は、S121で退避させた各レジスタのデータを復帰させる(S127)。そして、S127の処理後、メインCPU71は、システムタイマ割込処理を終了する。
[スイッチ入力検出処理]
次に、図79を参照して、システムタイマ割込処理(図78参照)中のS123で行うスイッチ入力検出処理について説明する。なお、図79は、本実施形態におけるスイッチ入力検出処理の手順を示すフローチャートである。
まず、メインCPU71は、始動口入賞検出処理を行う(S131)。この処理では、メインCPU71は、第1始動口44又は第2始動口45に遊技球が入球(通過)したか否かを判別する。すなわち、メインCPU71は、第1始動口入賞球センサ44a又は第2始動口入賞球センサ45aにより遊技球の入賞が検出されたか否かを検出する。なお、始動口入賞検出処理の詳細については、後述の図80を参照しながら後で説明する。
次いで、メイン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は、スイッチ入力検出処理を終了し、処理をシステムタイマ割込処理(図78参照)のS124に移す。
[始動口入賞検出処理]
次に、図80を参照して、スイッチ入力検出処理(図79参照)中のS131で行う始動口入賞検出処理について説明する。なお、図79は、本実施形態における始動口入賞検出処理の手順を示すフローチャートである。
まず、メイン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始動口)(図16参照)及び図柄判定テーブル(第1始動口)(図18参照)を参照し、S145で取得した大当り判定用乱数値及び図柄乱数値に基づいて、「大当り」か否かの判定を行うとともに、「大当り」の場合には、表示装置13の表示画面に表示される予定の大当り図柄(演出用識別図柄)の選択(判定)を行う。
次いで、メインCPU71は、転落の有無の判断処理を行う(S147)。この処理では、メインCPU71は、S145で取得した転落判定用乱数値に基づいて、転落抽選を行い、転落の発生の有無を判定する。これにより、メインCPU71は、転落抽選情報(「0」:転落無し、又は、「1」:転落有り)を取得する。
次いで、メインCPU71は、第1始動口入賞時の保留加算コマンドデータをメインRAM73にセットする(S148)。
この処理では、メインCPU71は、大当り乱数判定テーブル(第1始動口)(図16参照)、図柄判定テーブル(第1始動口)(図18参照)、大当り種類決定テーブル(図20~図23参照)及び入賞時演出情報決定テーブル(図24参照)を参照して得られる、遊技状態(「通常」、「確変」、「時短」)、当選種別(「大当り」、「小当り」、「ハズレ」)、始動記憶数(第1特別図柄の保留個数)、図柄指定コマンド、大当り時選択図柄コマンド、入賞時演出情報、大当り判定の結果情報、転落抽選情報などの情報に基づいて、保留加算コマンドに含ませる情報(送信内容)を決定する。
なお、この際、遊技状態は、確変フラグ及び時短フラグの値を参照して取得され、当選種別は、大当り乱数判定テーブル(第1始動口)(図16参照)を参照することにより取得され、図柄指定コマンド及び大当り時選択図柄コマンドは、図柄判定テーブル(第1始動口)(図18参照)を参照することにより取得され、入賞時演出情報は、入賞時演出情報決定テーブル(図24参照)を参照することにより取得される。また、大当り判定の結果情報は、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は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図79参照)の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は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図79参照)のS132に移す。一方、S151において、メインCPU71が、第2始動口入賞の保留個数が「4」未満であると判別した場合(S151がYES判定の場合)、メインCPU71は、第2始動口入賞の保留個数を「1」加算する処理を行う(S152)。S152の処理後、メインCPU71は、抽選に用いる各種乱数値を取得し、取得した各種乱数値をメインRAM73の所定領域に格納する(S153)。具体的には、メインCPU71は、大当り判定用乱数値、図柄乱数値、転落判定用乱数値等の各種乱数値を取得する。
次いで、メインCPU71は、第2特別停止図柄判定処理を行う(S154)。この処理では、メインCPU71は、大当り乱数判定テーブル(第2始動口)(図17参照)及び図柄判定テーブル(第2始動口)(図19参照)を参照し、S153で取得した大当り判定用乱数値及び図柄乱数値に基づいて、「大当り」か否かの判定を行うとともに、大当りの場合には、表示装置13の表示画面に表示される予定の大当り図柄(演出用識別図柄)の選択(判定)を行う。
次いで、メインCPU71は、転落の有無の判断処理を行う(S155)。この処理では、メインCPU71は、S153で取得した転落判定用乱数値に基づいて、転落抽選を行い、転落の発生の有無を判定する。これにより、メインCPU71は、転落抽選情報(「0」:転落無し、又は、「1」:転落有り)を取得する。
次いで、メインCPU71は、第2始動口入賞時の保留加算コマンドデータをメインRAM73にセットする(S156)。
この処理では、メインCPU71は、大当り乱数判定テーブル(第2始動口)(図17参照)、図柄判定テーブル(第2始動口)(図19参照)、大当り種類決定テーブル(図20~図23参照)及び入賞時演出情報決定テーブル(図24参照)を参照して得られる、遊技状態(「通常」、「確変」、「時短」)、当選種別(「大当り」、「ハズレ」)、始動記憶数(第2特別図柄の保留個数)、図柄指定コマンド、大当り時選択図柄コマンド、入賞時演出情報、大当り判定の結果情報、転落抽選情報などの情報に基づいて、保留加算コマンドに含ませる情報(送信内容)を決定する。
なお、この際、遊技状態は、確変フラグ及び時短フラグの値を参照して取得され、当選種別は、大当り乱数判定テーブル(第2始動口)(図17参照)を参照することにより取得され、図柄指定コマンド及び大当り時選択図柄コマンドは、図柄判定テーブル(第2始動口)(図19参照)を参照することにより取得され、入賞時演出情報は、入賞時演出情報決定テーブル(図24参照)を参照することにより取得される。また、大当り判定の結果情報は、S154の処理で取得され、転落抽選情報は、S155の処理で取得される。
また、本実施形態では、S156の処理において、第2始動口入賞時の保留加算コマンドがメインCPU71から副制御回路200(ホスト制御回路210)に送信される。副制御回路200は、この第2始動口入賞時の保留加算コマンドに基づいて、保留演出及び先読み演出の演出パターンを選択する。そして、S156の処理後、メインCPU71は、始動口入賞検出処理を終了し、処理をスイッチ入力検出処理(図79参照)のS132に移す。
<副制御回路の動作説明>
次に、図81~図112を参照して、副制御回路200のサブ基板202内の各種制御回路により実行される各種処理の内容について説明する。なお、副制御回路200は、主制御回路70から送信された各種コマンドを受信し、該各種コマンドに基づいて各種処理を行う。
[副制御メイン処理]
最初に、図81を参照して、ホスト制御回路210により実行される副制御メイン処理について説明する。図81は、本実施形態における副制御メイン処理の手順を示すフローチャートである。なお、副制御メイン処理は、電源が投入されたときに開始される処理である。
まず、ホスト制御回路210は、初期化処理を行う(S201)。この処理では、ホスト制御回路210は、例えば、ハードウェアの初期化、デバイスの初期化、アプリケーション(各種処理)の初期化、バックアップデータの復帰初期化等の各種初期設定処理を行う。なお、初期化処理の詳細については、後述の図82及び図83を参照しながら後で説明する。
次いで、ホスト制御回路210は、ウォッチドッグタイマのカウンタをクリアする(S202)。なお、起動時には、ウォッチドッグタイマのリセット時間(例えば200msec)が設定され、その後、サービスパルスの書込みが行われなかった場合(タイムアウト時)には、電断処理が開始される。また、ウォッチドッグタイマカウンタをクリアするタイミングは、副制御メイン処理内のメインループ処理(S202~S212の処理)の開始時、デバイス初期化処理の開始時、アプリケーション初期化処理の開始時及び電断処理の開始時である。
次いで、ホスト制御回路210は、操作手段入力処理を行う(S203)。この処理では、ホスト制御回路210は、遊技者により例えばボタンやジョグダイアルなどの操作手段に対して操作が行われたか否かの判定処理、及び、操作内容の情報取得処理を行う。なお、操作手段入力処理の詳細については、後述の図87~図89を参照しながら後で説明する。
次いで、ホスト制御回路210は、メイン・サブ間コマンド制御処理を行う(S204)。この処理では、ホスト制御回路210は、メインCPU71からコマンドデータを受信した際のコマンドデータの読み込み処理(コマンド受信処理)及びサブワークRAM210aへのコマンドデータの格納処理(受信データ記憶処理)を行う。なお、メイン・サブ間コマンド制御処理の詳細については、後述の図90及び図91を参照しながら後で説明する。
次いで、ホスト制御回路210は、コマンド解析処理を行う(S205)。この処理では、ホスト制御回路210は、サブワークRAM210aに格納されたコマンドの内容を解析し、コマンドに含まれる各種情報を取得する。なお、コマンド解析処理の詳細については、後述の図92を参照しながら後で説明する。
次いで、ホスト制御回路210は、アニメーションリクエスト構築処理を行う(S206)。この処理では、ホスト制御回路210は、表示装置13を用いて演出制御を行う際に必要なアニメーションリクエストを生成し、該アニメーションリクエストに基づいて(該アニメーションリクエストに対応して、該アニメーションリクエストに応じて、該アニメーションリクエストに基づいて実行される表示装置13における演出制御(表示)に対応して、などと表現可能な)各種演出装置を動作させるための各種リクエスト(サウンドリクエスト、ランプリクエスト及び役物リクエスト)を生成する。なお、アニメーションリクエスト構築処理の詳細については、後述の図94を参照しながら後で説明する。
なお、本実施形態では、上述のように、コマンドの種別に応じてコマンドのパケット数(バイト数)が異なる。そして、ホスト制御回路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に演出画像を表示(描画)するための各種処理を行う。なお、描画制御処理の詳細については、後述の図95A及び図95Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、音声制御処理を行う(S209)。この処理では、ホスト制御回路210は、サウンドリクエスト(コマンド)を音声・LED制御回路220に送信する。また、この際、音声・LED制御回路220は、受信したサウンドリクエストに基づいて、スピーカ11による音声再生の制御処理を行う。なお、音声制御処理の詳細については、後述の図102A及び図102Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、ランプ制御処理を行う(S210)。この処理では、ホスト制御回路210は、ランプリクエスト(コマンド)を音声・LED制御回路220に送信する。また、この際、音声・LED制御回路220は、受信したランプリクエストに基づいて、ランプ群18の発光制御を行う。なお、ランプ制御処理の詳細については、後述の図103A及び図103Bを参照しながら後で説明する。
次いで、ホスト制御回路210は、役物制御処理を行う(S211)。この処理では、ホスト制御回路210は、生成された役物リクエストに基づいて、役物20を駆動させるための励磁データをI2Cコントローラ261を介してモータコントローラ270(モータドライバ271)に送信する。また、モータドライバ271は、受信した励磁データを対応するモータ272に出力して役物20を駆動する。なお、役物制御処理の詳細については、後述の図104を参照しながら後で説明する。
次いで、ホスト制御回路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以降の処理を繰り返す。
[初期化処理]
次に、図82及び図83を参照して、副制御メイン処理(図81参照)中のS201で行う初期化処理について説明する。なお、図82は、本実施形態における初期化処理の動作概要を示す図であり、図83は、本実施形態における初期化処理の手順を示すフローチャートである。
パチンコ遊技機1に電源が投入されると、初期化処理において、ホスト制御回路210は、図82に示すように、自身だけでなく、ホスト制御回路210に接続された各種制御回路及びコントローラのハードウェアの初期化処理を行う。次いで、各制御回路又はコントローラは、対応するデバイス(ランプ群18、スピーカ11、表示装置13、役物20)の初期化処理を行う。以下に、この初期化処理の具体的にな手順を、図83のフローチャートを参照しながら説明する。
まず、ホスト制御回路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は、図81で説明した副制御メイン処理中のメインループ処理で行われる各種処理で使用される各種設定値の初期化処理を行う。具体的には、ホスト制御回路210は、操作手段入力処理(S203)、メイン・サブ間コマンド制御処理(S204)、アニメーションリクエスト構築処理(S206)、描画制御処理(S208)、音声制御処理(S209)及びランプ制御処理(S210)のそれぞれにおいて使用される各種設定値の初期化処理を行う。
次いで、ホスト制御回路210は、その他の各種初期化処理を行う(S227)。この処理では、ホスト制御回路210は、バックアップ復帰初期化処理、役物制御初期化処理及びLED登録処理を行う。なお、バックアップ復帰初期化処理の詳細については、後述の図84を参照しながら後で説明し、役物制御初期化処理の詳細については、後述の図85を参照しながら後で説明し、LED登録処理の詳細については、後述の図86を参照しながら後で説明する。
そして、S227の処理後、ホスト制御回路210は、初期化処理を終了し、処理を副制御メイン処理(図81参照)のS202に移す。
[バックアップ復帰初期化処理]
次に、図84を参照して、初期化処理(図83参照)中のS227で行うバックアップ復帰初期化処理について説明する。なお、図84は、本実施形態におけるバックアップ復帰初期化処理の手順を示すフローチャートである。
まず、ホスト制御回路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は、バックアップ復帰初期化処理を終了する。
[役物制御初期化処理]
次に、図85を参照して、初期化処理(図83参照)中のS227で行う役物制御初期化処理について説明する。図85は、本実施形態における役物制御初期化処理の手順を示すフローチャートである。なお、この処理では、図81で説明した副制御メイン処理中の役物制御処理(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登録処理]
次に、図86を参照して、初期化処理(図83参照)中のS227で行うLED登録処理について説明する。なお、図86は、本実施形態におけるLED登録処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、使用するLED281のチャンネルのハード情報を登録する(S261)。具体的には、ホスト制御回路210は、使用する各SPIのチャンネル開始ポート番号、チャンネル終了ポート番号及びチャンネル開始アドレスの設定を行う。
次いで、ホスト制御回路210は、使用するLEDドライバ280の情報設定を行う(S262)。具体的には、ホスト制御回路210は、LEDドライバ280にデータテーブル(LED281の点灯パターンの総数、LEDドライバ280に出力される輝度値に対応する情報テーブルなど)を登録する。そして、S262の処理後、ホスト制御回路210は、LED登録処理を終了する。
[操作手段入力処理]
次に、図87~図89を参照して、副制御メイン処理(図81参照)中のS203で行う操作手段入力処理について説明する。なお、図87は、本実施形態における操作手段入力処理の動作概要を示す図である。また、図88は、本実施形態の操作手段入力処理内で行われる操作入力タイマ割込処理の手順を示すフローチャートであり、図89は、操作手段入力処理内で行われる操作入力情報取得処理の手順を示すフローチャートである。
本実施形態の操作手段入力処理では、パチンコ遊技機1に設けられた図示しない各種操作手段(例えば、ボタン、ジョグダイヤル等)に対して遊技者により演出に関する所定操作が行われた場合、図87に示すように、該所定操作に対応する信号(図87中の入力信号)が操作手段のドライバからホスト制御回路210に出力される。そして、ホスト制御回路210は、入力信号に基づいて、遊技者の所定操作による入力状態の情報を取得する。
操作手段入力処理内では、1msec周期のタイマ割込処理(測定用タイマ更新処理)として行われる操作入力タイマ割込処理と、予め設定されたFPS周期(例えば、16.7msecや33.3msec)で行われる操作入力情報取得処理とが行われる。以下に、操作入力タイマ割込処理及び操作入力情報取得処理の具体的にな手順を、それぞれ図88及び図89のフローチャートを参照しながら説明する。
(1)操作入力タイマ割込処理
操作入力タイマ割込処理では、まず、ホスト制御回路210は、図88に示すように、操作手段のドライバから操作入力信号の入力があるか否かを判別する(S271)。
S271において、ホスト制御回路210が、操作入力信号の入力がないと判別した場合(S271がNO判定の場合)、ホスト制御回路210は、操作入力タイマ割込処理を終了する。
一方、S271において、ホスト制御回路210が、操作入力信号の入力があると判別した場合(S271がYES判定の場合)、ホスト制御回路210は、操作入力信号に基づいて、操作入力状態を判断し、操作入力状態の情報をサブワークRAM210aに格納する(S272)。そして、S272の処理後、ホスト制御回路210は、操作入力タイマ割込処理を終了する。
(2)操作入力情報取得処理
操作入力情報取得処理では、ホスト制御回路210は、図89に示すように、サブワークRAM210aを参照し、操作入力状態の情報がサブワークRAM210aに格納されていれば、該操作入力状態の情報を取得する(S281)。そして、S281の処理後、ホスト制御回路210は、操作入力情報取得処理を終了する。
なお、S281の処理では、例えば、操作入力がボタンに対する操作入力である場合には、操作されたボタンの種別や押下回数などの情報が、操作入力状態の情報として取得される。また、例えば、操作入力がジョグダイヤルに対する操作入力である場合には、ジョグダイヤルの回転方向、回転角度、回転速度等の情報が操作入力状態の情報として取得される。そして、S281で取得された操作入力状態の情報は、操作手段に対する遊技者の操作入力に基づいて実行される演出の内容(演出のエフェクトなど)を決定(設定)する際に使用される。
[メイン・サブ間コマンド制御処理]
次に、図90及び図91を参照して、副制御メイン処理(図81参照)中のS204で行うメイン・サブ間コマンド制御処理について説明する。なお、図90は、本実施形態のメイン・サブ間コマンド制御処理内で行われるコマンド受信処理の手順を示すフローチャートであり、図91は、メイン・サブ間コマンド制御処理内で行われる受信データ記憶処理の手順を示すフローチャートである。
本実施形態では、主制御回路70(メインCPU71)から副制御回路200(ホスト制御回路210)にコマンドが送信され、該コマンドをホスト制御回路210が受信すると、ホスト制御回路210は、メイン・サブ間コマンド制御処理を割込処理として行う。そして、メイン・サブ間コマンド制御処理内では、コマンド受信時の割込処理として行われるコマンド受信処理と、該コマンド受信処理の後に実行される受信データ記憶処理とが行われる。以下に、コマンド受信処理及び受信データ記憶処理の具体的にな手順を、それぞれ図90及び図91のフローチャートを参照しながら説明する。
(1)コマンド受信処理(受信割込処理)
コマンド受信処理では、まず、ホスト制御回路210は、主制御回路70から送信されたコマンドを受信すると、図90に示すように、コマンド受信エラーが発生したか否かを判別する(S291)。
S291において、ホスト制御回路210が、コマンド受信エラーが発生していないと判別した場合(S291がNO判定の場合)、ホスト制御回路210は、後述のS293の処理を行う。一方、S291において、ホスト制御回路210が、コマンド受信エラーが発生したと判別した場合(S291がYES判定の場合)、ホスト制御回路210は、エラー情報の設定処理を行う(S292)。
S292の処理後又はS291がNO判定の場合、ホスト制御回路210は、コマンドデータ受信処理を行う(S293)。この処理では、ホスト制御回路210は、受信したコマンドデータをホスト制御回路210内のリングバッファ(図36参照)に書き込む。なお、コマンド受信エラーが発生し、S292においてエラー情報がセットされている場合には、受信したコマンドデータとエラー情報とのセット情報がリングバッファに書き込まれる。そして、S293の処理後、ホスト制御回路210は、コマンド受信処理を終了する。
(2)受信データ記憶処理
受信データ記憶処理では、ホスト制御回路210は、図91に示すように、上述のコマンド受信処理でリングバッファに書き込まれた受信コマンドデータをサブワークRAM210aに格納する(S301)。この処理により、受信コマンドがサブワークRAM210aに記憶される。なお、この処理では、受信コマンドデータは、1バイトずつ、リングバッファからサブワークRAM210aに転送される。
そして、S301の処理後、ホスト制御回路210は、受信データ記憶処理を終了する。
[コマンド解析処理]
次に、図92を参照して、副制御メイン処理(図81参照)中のS205で行うコマンド解析処理について説明する。図92は、本実施形態におけるコマンド解析処理の手順を示すフローチャートである。なお、以下に説明するコマンド解析処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、コマンド解析処理を行う手段(コマンド解析手段)も兼ねる。
まず、ホスト制御回路210は、サブワークRAM210aに格納された受信コマンドデータを取得する(S311)。なお、この際、受信コマンドデータに対応付けられたエラー情報がある場合には、ホスト制御回路210は、該受信コマンドデータを破棄する。
次いで、ホスト制御回路210は、受信したコマンドの種別を特定する(S312)。また、この処理では、ホスト制御回路210は、特定したコマンド種別の情報をサブワークRAM210aに保存する。なお、コマンド種別は、上述のように、各コマンドのコマンド種別部(先頭バイト領域)に格納された情報(予め設定された値)に基づいて特定される(図29~図34参照)。例えば、受信したコマンドがデモ表示コマンドである場合には、S312の処理において、コマンド種別「80H」が、サブワークRAM210aに格納される。
次いで、ホスト制御回路210が、S312のコマンド種別の特定処理において受信したコマンドと対応するコマンド種別がないと判断した場合、ホスト制御回路210は、該受信コマンドデータを破棄する(S313)。次いで、ホスト制御回路210は、受信コマンドデータに含まれるパラメータ数を確認し、該パラメータ数が特定されたコマンド種別に対応するパラメータ数と異なる場合には、該受信コマンドデータを破棄する(S314)。
次いで、ホスト制御回路210は、コマンドパラメータチェック処理を行う(S315)。この処理では、ホスト制御回路210は、コマンド毎に設定されている各種パラメータ(図30~図34参照)内の情報(以下、コマンドパラメータという)の内容をチェックする。具体的には、ホスト制御回路210は、例えば、パラメータ内の所定のビット領域に設けられた常時0領域のチェック、パラメータ内に格納されている各データの有効範囲のチェック、及び、格納データの組み合わせのチェックを行う。なお、コマンドパラメータチェック処理の詳細については、後述の図93を参照しながら後で説明する。
次いで、ホスト制御回路210は、受信コマンドに含まれるコマンドパラメータが正常であるか否かを判別する(S316)。この判別処理では、ホスト制御回路210は、S315のコマンドパラメータチェック処理の結果に基づいて、コマンドパラメータが正常であるか否か(コマンドの有効性の有無)を判別する。
S316において、ホスト制御回路210が、受信コマンドに含まれるコマンドパラメータが正常でないと判別した場合(S316がNO判定の場合)、ホスト制御回路210は、該受信コマンドのデータを破棄する(S317)。そして、S317の処理後、ホスト制御回路210は、コマンド解析処理を終了し、処理を副制御メイン処理(図81参照)のS206に移す。
一方、S316において、ホスト制御回路210が、受信コマンドに含まれるコマンドパラメータが正常であると判別した場合(S316がYES判定の場合)、ホスト制御回路210は、コマンドパラメータ(ゲームステータス等の情報)をゲームデータに反映(登録)させる(S318)。また、この処理では、コマンドパラメータが反映されたゲームデータをサブワークRAM210a内の所定領域に格納する。
次いで、ホスト制御回路210は、サブ抽選処理を行う(S319)。この処理では、ホスト制御回路210は、演出用の各種乱数値を取得し、受信したコマンドのコマンド種別に対応する演出内容の決定に係る抽選処理を行う。
例えば、受信したコマンドが特別図柄演出開始コマンドである場合には、ホスト制御回路210は、変動演出テーブル(図26参照)を用いた抽選処理により、変動演出パターン(「EN00」~「EN44」)を決定する。また、例えば、受信したコマンドが保留加算コマンドである場合には、ホスト制御回路210は、保留演出テーブル(図27参照)を用いた抽選処理により、保留用図柄の色変化演出に係る演出パターン(「HE00」~「HE19」)を決定するとともに、先読み演出テーブル(図28参照)を用いた抽選処理により、先読み演出に係る演出パターン(「SE00」~「SE19」)を決定する。
また、S319の処理では、ホスト制御回路210は、サブ抽選処理の抽選結果(例えば、上述した各種演出パターンの情報)をサブワークRAM210a内の所定領域に格納する。
次いで、ホスト制御回路210は、S319のサブ抽選処理により得られた抽選結果をサブワークRAM210aに格納されたゲームデータに反映(登録)させる(S320)。
次いで、ホスト制御回路210は、サブワークRAM210aに格納されたゲームデータのバックアップ処理を行う(S321)。この処理により、ゲームデータが、SRAM210b内の所定領域及びそのミラーリング領域に保存される。なお、この処理でバックアップされたゲームデータは、上述したバックアップ復帰初期化処理(図84参照)において、ゲームデータが破損している場合に参照される。そして、S321の処理後、ホスト制御回路210は、コマンド解析処理を終了し、処理を副制御メイン処理(図81参照)のS206に移す。
なお、本実施形態では、上述のように、コマンド解析処理において、受信コマンドの破棄処理が行われる場合もあるが、破棄した受信コマンドの前にメインCPU71からホスト制御回路210にコマンドが全く送信されていない場合には、アニメーションリクエストが生成されないので、表示装置13の表示画面には、真っ黒な画像が表示される。一方、破棄した受信コマンドの前にメインCPU71からホスト制御回路210にコマンドが送信されている場合には、破棄した受信コマンドに基づくアニメーションリクエストは生成されず、表示装置13の表示画面には、破棄した受信コマンドの前のコマンドに基づくアニメーションリクエストにより生成された画像が維持して表示される。
[コマンドパラメータチェック処理]
次に、図93を参照して、コマンド解析処理(図92参照)中のS315で行うコマンドパラメータチェック処理について説明する。なお、図93は、本実施形態におけるコマンドパラメータチェック処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、サブワークRAM210aに格納されたコマンド種別を取得し、受信コマンドのコマンド種別に対応するチェック項目(マスキング)を設定する(S331)。
次いで、ホスト制御回路210は、受信コマンドに含まれる全ての常時0領域の情報をチェックする(S332)。なお、この処理において、ホスト制御回路210が、1以上の常時0領域において「0」以外の情報が格納されていることを検出した場合、ホスト制御回路210は、該受信コマンドを破棄する。また、解析対象の受信コマンドに常時0領域が設けられていない場合には、S332の処理は行われない。
次いで、ホスト制御回路210は、受信コマンドに含まれる各情報の値が対応する所定の範囲内の値であるか否かをチェックする(S333)。本実施形態では、受信コマンドのパラメータフィールド部に格納された情報の値は、予め所定の範囲(有効範囲)内の値となるように定義されている。例えば、第1電断復帰コマンド(図32参照)の第2パラメータの格納領域(「b0」~「b7」の8ビットの領域)には、特別停止図柄指定情報が格納されているが、この特別停止図柄指定情報の値の有効範囲は「0x00」~「0x20」に設定されている。そして、この処理において、ホスト制御回路210が、受信コマンドに含まれる1以上の情報において、その値が対応する所定の範囲内の値でないと判断した場合には、ホスト制御回路210は、該受信コマンドを破棄する。
次いで、ホスト制御回路210は、受信コマンドに含まれる各種情報の組合せをチェックする(S334)。本実施形態では、受信コマンドに含まれる各情報の値が対応する有効範囲内の値であっても、コマンドに含まれる各種情報の組合せに矛盾が発生する場合には、ホスト制御回路210は、該受信コマンドを破棄する。例えば、受信コマンドが特別図柄演出開始コマンドである場合、その受信コマンドに含まれるゲームステータスの情報が「小当り」を示し、図柄指定コマンドの情報が大当り図柄であるときには、コマンド内の情報の組合せに矛盾が発生しているので、ホスト制御回路210は、受信した特別図柄演出開始コマンドを破棄する。
そして、S334の処理後、ホスト制御回路210は、コマンドパラメータチェック処理を終了し、処理をコマンド解析処理(図92参照)のS316に移す。
なお、本実施形態では、上述のように、コマンドパラメータチェック処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、S332の常時0領域のチェック処理を行う手段(第1コマンド判定手段)、S333の受信コマンドに含まれる各情報の値の有効性のチェック処理を行う手段(第2コマンド判定手段)、及び、S334の受信コマンドに含まれる各種情報の組合せのチェック処理を行う手段(第3コマンド判定手段)も兼ねる。
[アニメーションリクエスト構築処理]
次に、図94を参照して、副制御メイン処理(図81参照)中のS206で行うアニメーションリクエスト構築処理について説明する。なお、図94は、本実施形態におけるアニメーションリクエスト構築処理の手順を示すフローチャートである。
まず、ホスト制御回路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、SRAM210b等に設けられるが、リクエストバッファの形成場所は特に限定されない。
そして、S353の処理後、ホスト制御回路210は、アニメーションリクエスト構築処理を終了し、処理を副制御メイン処理(図81参照)のS207に移す。
なお、本実施形態では、上述のように、アニメーションリクエスト構築処理は、ホスト制御回路210(副制御回路200)により制御される。すなわち、ホスト制御回路210(副制御回路200)は、S350のオブジェクト生成処理を行う手段(処理情報生成手段)、及び、S352のアニメーションリクエストの生成処理を行う手段(演出開始要求作成手段)も兼ねる。
[描画制御処理]
次に、図95A及び図95Bを参照して、副制御メイン処理(図81参照)中のS208で行う描画制御処理について説明する。なお、図95Aは、ホスト制御回路210により実行される描画制御処理の手順を示すフローチャートである。また、図95Bは、描画制御処理においてホスト制御回路210から表示制御回路230に描画リクエストが出力された際に、表示制御回路230により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される描画制御処理
まず、ホスト制御回路210は、図95Aに示すように、動画コマンド作成処理を行う(S361)。なお、動画コマンド作成処理の詳細については、後述の図96を参照しながら後で説明する。
次いで、ホスト制御回路210は、動画再生状態の管理処理を行う(S362)。次いで、ホスト制御回路210は、動画コマンド(動画のデコード開始指令)を表示制御回路230に発行(出力)する(S363)。この処理により表示制御回路230の処理が開始される。
次いで、ホスト制御回路210は、サブワークRAM210aに格納されている、前回フレーム(前回の描画制御処理)で生成された描画リクエストを表示制御回路230に発行(出力)する(S364)。表示制御回路230は、この送信された前回フレームの描画リクエストに基づいて、描画処理を行う。
次いで、ホスト制御回路210は、全コマンドリスト作成処理を行う(S365)。この処理により、次回フレームにおいて、表示制御回路230により実行される描画処理で用いられる描画リクエストが生成され、該描画リクエストがサブワークRAM210aに格納される。なお、全コマンドリスト作成処理の詳細については、後述の図98を参照しながら後で説明する。
次いで、ホスト制御回路210は、表示制御回路230から出力された表示開始コマンドに基づいて、レンダリング結果の表示処理が開始されたことを確認する(S366)。そして、S366の処理後、ホスト制御回路210は、描画制御処理を終了し、処理を副制御メイン処理(図81参照)のS209に移す。
(2)描画制御処理時に実行される表示制御回路の処理
まず、ホスト制御回路210から出力された動画コマンド(動画のデコード開始指令)が表示制御回路230に入力されると、表示制御回路230は、動画のデコード処理を開始する(S371)。なお、本実施形態では、このデコード処理及び後述の描画処理は、2フレームの期間に渡って行われる。
次いで、ホスト制御回路210から出力された描画リクエスト(前回フレームで生成された描画リクエスト)が表示制御回路230に入力されると、表示制御回路230は、該描画リクエストに基づいて、描画処理を行う(S372)。なお、描画処理の詳細については、後述の図99~図101を参照しながら後で説明する。
次いで、表示制御回路230は、S372の描画処理で得られたレンダリング結果(描画結果)の表示処理を開始する(S373)。この処理では、表示制御回路230は、レンダリング結果が格納されたSDRAM250内の一方のフレームバッファ(機能可変データ領域)の機能を描画機能(第2の機能)から表示機能(第1の機能)に切り替えて、レンダリング結果の表示処理を開始する。
次いで、表示制御回路230は、レンダリング結果(描画結果)の表示処理が開始されたことを示す表示開始コマンドをホスト制御回路210に出力する(S374)。そして、S374の処理後、表示制御回路230は、描画制御処理時に行う上記一連の処理を終了する。このように、前回フレームで生成された描画リクエストに基づいて当該描画処理を実行するため、描画処理の終了後に実行されるフレームバッファの機能(使用領域)を描画機能(描画用記憶領域)から表示機能(表示用記憶領域)に切り替えるタイミングに合わせて、サウンドリクエスト及び役物リクエストがそれぞれ対応する制御回路に送信される。このため、サウンドリクエストや役物リクエストは、各リクエストが生成されてから2フレーム遅れて対応する制御回路に送信される。
[動画コマンド作成処理]
次に、図96を参照して、描画制御処理(図95A参照)中のS361で行う動画コマンド作成処理について説明する。なお、図96は、本実施形態における動画コマンド作成処理の手順を示すフローチャートである。
まず、ホスト制御回路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)。なお、アニメーションデータ読込処理の詳細については、後述の図97A及び図97Bを参照しながら後で説明する。
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は、動画コマンド作成処理を終了し、処理を描画制御処理(図95A参照)のS362に移す。
[アニメーションデータ読込処理]
次に、図97A及び図97Bを参照して、動画コマンド作成処理(図96参照)中のS384で行うアニメーションデータ読込処理について説明する。なお、図97Aは、本実施形態におけるアニメーションデータ読込処理の手順を示すフローチャートである。また、図97Bは、サブメイン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は、アニメーションデータ読込処理を終了し、処理を動画コマンド作成処理(図96参照)のS385に移す。
[全コマンドリスト作成処理(描画リクエスト生成処理)]
次に、図98を参照して、描画制御処理(図95A参照)中のS365で行う全コマンドリスト作成処理について説明する。なお、図98は、本実施形態における全コマンドリスト作成処理の手順を示すフローチャートである。
まず、ホスト制御回路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は、全コマンドリスト作成処理を終了し、処理を描画制御処理(図95A参照)のS366に移す。なお、本実施形態では、上述した描画制御処理(図95A)、動画コマンド作成処理(図96)、アニメーションデータ読込処理(図97A)及び全コマンドリスト作成処理(図98)において、ホスト制御回路210が実行する処理を表示制御回路230が実行してもよい。この場合には、ホスト制御回路210から表示制御回路230にアニメーションリクエストが送信され、表示制御回路230は受信したアニメーションリクエストに基づいて、これらの各種処理を行う。
[描画処理]
次に、図99~図101を参照して、描画制御処理(図95B参照)中のS372において表示制御回路230により実行される描画処理について説明する。なお、図99A、図100A及び図101Aは、本実施形態における描画処理の手順を示すフローチャートである。また、図99B、図100B及び図101Bは、描画処理の各処理ステップにおいて行われる、CGROM基板204(CGROM206)、内蔵VRAM237及びSDRAM250間の各種データの入出力動作及び格納動作の様子を示す図である。
まず、表示制御回路230は、CGROM基板204に格納された所定の動画データ(圧縮された所定の動画データ:第1の画像データに関する情報)をデコードして、そのデコード結果(第1の画像データ)をSDRAM250内に設けられたムービバッファ(第1データ領域)に格納する(S421:図99B中の矢印T1参照)。なお、ムービバッファは、動画データのデコード結果を格納するバッファである。SDRAM250内において確保されるムービバッファのサイズは、使用する動画データの大きさ(容量)、ストリーム数などに応じて変化する。
次いで、表示制御回路230は、デコードされた動画データがエフェクト描画動作において参照されるか否かを判断する(S422)。
S422において、表示制御回路230が、動画データがエフェクト描画動作において参照されないと判別した場合(S422がNO判定の場合)、表示制御回路230は、後述のS424の処理を行う。一方、S422において、表示制御回路230が、動画データがエフェクト描画動作において参照されると判別した場合(S422がYES判定の場合)、表示制御回路230は、ムービバッファに格納された動画データのデコード結果をSDRAM250内のテクスチャバッファ(第2データ領域)に転送して格納する(S423)。
なお、S423の処理では、まず、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果を、内蔵VRAM237内に生成されたムービブレンドバッファに展開する(図99B中の矢印T2参照)。なお、この処理では、内蔵VRAM237の全領域をムービブレンドバッファとして使用する。次いで、表示制御回路230は、ムービブレンドバッファに展開された動画データのデコード結果をSDRAM250内のテクスチャバッファに転送するとともに、デコード結果に対してアルファ化処理を施す(図99B中の矢印T3参照)。この処理により画像データのデコード結果に対して透明度が設定される。このようなアルファ化処理が施された動画は、動画を3原色(RGB)で表現しない場合(白黒等で表現する場合)に使用される。
なお、本実施形態では、アルファ化処理の手法として、次の2つの手法を使用することが可能であり、該2つの手法うちの一方の手法が用いられる。ただし、使用するアルファ化処理の手法は、例えば、画像データの構成や種類、画像演出の内容等に応じて適宜選択してもよいし、例えば遊技機の機種等に応じて予め一方の手法が設定されていてもよい。
アルファ化処理の第1の手法(第2透明度設定手段)は、CGROM206に格納されているアルファテーブルを用いて、デコード結果に対してアルファ化処理を施す手法である。アルファテーブルは、カラーデータ(RGB)とは独立したアルファ値(不透明度)を規定するテーブルであり、パターンデータの1ドット毎に1つのアルファ値が割り当てられる。すなわち、アルファ化処理の第1の手法では、表示制御回路230は、アルファテーブルを参照して、画像データに対応するアルファ値(不透明度)のデータ(透明度データ)を取得することにより、画像データに対して透明度を設定する。なお、アルファ値のデータ(アルファテーブル)は、CGROM206に圧縮されて格納されていてもよいし、圧縮されずに格納されていてもよい。また、アルファテーブルは、CGROM206以外の他の記憶手段(情報格納手段)に格納されていてもよい。
一方、アルファ化処理の第2の手法(第1透明度設定手段)は、アルファテーブルを用いない手法である。この第2の手法に基づくデコード結果のアルファ化処理では、表示制御回路230は、画像データに含まれる所定のカラー成分の輝度値をアルファ値(不透明度)として用いる(カラー成分の輝度値をアルファ成分の値(アルファ値)に変換する)。例えば、第2の手法では、R(赤)成分の輝度値をA(アルファ)成分の値(アルファ値)に変換することにより、画像データに対して透明度を設定することができる。
S423の処理後又はS422がNO判定の場合、表示制御回路230は、CGROM基板204に格納された、各ルートコンポジションで使用するスプライトデータの静止画データ(圧縮された静止画データ:第2の画像データに関する情報)を内蔵VRAM237内のスプライトバッファ0に読み出して(図99B中の矢印T4参照)デコードし、該デコード結果(スプライトデータ:第2の画像データ)をSDRAM250内のテクスチャバッファに転送する(S424:図99B中の矢印T5参照)。なお、ここでいう「スプライトデータ」は、静止画データが伸張した画像データとするが、本発明はこれに限定されず、静止画データに対して、例えば、縮小、拡大、湾曲、明度変更等の加工を施したものであってもよい。S424の処理でデコードされるスプライトデータは、複数回描画される画像データ、エフェクトで利用される画像データ及びスプライトバッファ1で格納できないサイズの画像データである。また、この処理では、内蔵VRAM237の全領域をスプライトバッファ0として使用する。
次いで、表示制御回路230は、エフェクトデータの描画処理で使用するバッファサイズ(エフェクトバッファのサイズ)が内蔵VRAM237のサイズの半分以下であるか否かを判別する(S425)。なお、内蔵VRAM237内のエフェクトバッファは、SDRAM250内のテクスチャバッファに格納された各種画像のデコード結果に、S424でテクスチャバッファに転送されたスプライトデータに含まれるエフェクトデータ(エフェクトで利用される画像データ)を適用するためのバッファである。
S425において、表示制御回路230が、エフェクトデータの描画処理で使用するバッファサイズが内蔵VRAM237のサイズの半分以下でないと判別した場合(S425がNO判定の場合)、表示制御回路230は、SDRAM250内のテクスチャバッファに格納された各種画像のデコード結果に、エフェクトデータを適用するための描画処理(エフェクト演算描画処理)を行う(S426)。
具体的には、S426の処理では、まず、表示制御回路230は、テクスチャバッファに格納された各種画像及びエフェクトデータのデコード結果を、内蔵VRAM237に設けられたエフェクトバッファに読み出す(図100B中の矢印T6参照)。なお、この際、内蔵VRAM237の全領域をエフェクトバッファとして使用する。次いで、表示制御回路230は、エフェクトデータを各種画像のデコード結果に適用するための描画処理(エフェクト演算描画処理:効果演出付加処理)を行う。そして、表示制御回路230は、エフェクト演算描画処理の結果(エフェクト結果)を内蔵VRAM237内のエフェクトバッファからSDRAM250内のテクスチャバッファに転送する(図100B中の矢印T7参照)。
一方、S425において、表示制御回路230が、エフェクトデータの描画処理で使用するバッファサイズが内蔵VRAM237のサイズの半分以下であると判別した場合(S425がYES判定の場合)、表示制御回路230は、内蔵VRAM237の半分の領域をエフェクトバッファとして動作させ、残りの半分の領域をコピーバッファとして動作させる(S427)。次いで、表示制御回路230は、テクスチャバッファに格納された各種画像及びエフェクトデータのデコード結果を、内蔵VRAM237に設けられたエフェクトバッファを読み出してエフェクト演算描画処理を行う(S428)。
この際、コピーバッファにエフェクトデータのデコード結果(エフェクトのソース画像)がすでに転送済みである場合には、表示制御回路230は、SDRAM250のテクスチャバッファからエフェクトのソース画像を読み出さずに、コピーバッファからエフェクトバッファにエフェクトのソース画像を直接読み出して(図100B中の矢印T8参照)エフェクト演算描画処理を行う。一方、コピーバッファにエフェクトのソース画像が転送済みでない場合には、表示制御回路230は、SDRAM250のテクスチャバッファからコピーバッファにエフェクトのソース画像を読み出した後(図100B中の矢印T9参照)、該エフェクトのソース画像をコピーバッファからエフェクトバッファに読み出してエフェクト演算描画処理を行う。そして、表示制御回路230は、エフェクト演算描画処理の結果(エフェクト結果)をコピーバッファに保存し(図100B中の矢印T10参照)、コピーバッファに保存されたエフェクト結果をSDRAM250のテクスチャバッファに転送する(図100B中の矢印T11参照)。なお、エフェクトが複数適用され、且つ、各エフェクトのバッファ使用量が内蔵VRAM237のサイズの半分以下である場合には、表示制御回路230は、エフェクト演算描画処理毎にその結果(エフェクト結果)をコピーバッファに転送し、複数のエフェクトの描画結果が最後まで終了した後、エフェクト結果をコピーバッファからSDRAM250のテクスチャバッファに転送する。
上述のように、本実施形態では、後述のコンポジション描画処理の前に、各コンポジション内で使用されるレイヤに適用される全てのエフェクトに対して描画処理が施される。また、本実施形態では、エフェクトで使用するバッファ容量が内蔵VRAM237の容量の半分以下である場合には、内蔵VRAM237内の半分の領域をコピーバッファとして利用し、エフェクトで使用するバッファ容量が内蔵VRAM237の容量の半分以下でない場合には、内蔵VRAM237の全領域をエフェクトバッファとして使用する。すなわち、エフェクトで使用するバッファ容量に応じて、エフェクトバッファとして使用される内蔵VRAM237内の領域が適宜変更される。このような処理を行うことにより、エフェクト演算描画処理を複数のエフェクトに対して適用する際の処理を高速化することができる。
S426又はS428の処理後、表示制御回路230は、S424でデコードされていない(テクスチャバッファに格納されていない)スプライトデータの静止画データを内蔵VRAM237内に設けられたコンポジション描画バッファに読み出して描画する(S429)。具体的には、まず、表示制御回路230は、CGROM基板204からS424でデコードされていない静止画データを内蔵VRAM237内の半分の領域に設けられたスプライトバッファ1に読み出してデコードする(図101B中の矢印T12参照)。なお、静止画データを「スプライトバッファ1に読み出してデコードする」とは、静止画データをスプライトバッファ1にデコードしながら読み出す態様を含む意味である。それゆえ、この処理では、静止画データの読み出し処理とデコード処理とが同じタイミングで行われてもよいし、静止画データのデコード処理を行ってから読み出し処理を行ってもよい。すなわち、静止画データを「スプライトバッファ1に読み出してデコードする」処理には、静止画データの読み出し処理及びデコード処理の処理順序に関係なく、両処理が含まれていればよい。なお、「スプライトバッファ1に読み出してデコードする」処理が静止画データの読み出し処理及びデコード処理のみが含まれる処理であってもよい。
次いで、表示制御回路230は、スプライトバッファ1に格納された静止画データのデコード結果(スプライトデータ)をコンポジション描画バッファに転送して描画処理を行う(図101B中の矢印T13参照)。
S429の処理後、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果を、内蔵VRAM237内のコンポジション描画バッファに読み出して描画する(S430)。具体的には、まず、表示制御回路230は、SDRAM250内のムービバッファに格納された動画データのデコード結果のカラー成分を内蔵VRAM237内の残りの半分の領域に設けられたムービブレンドバッファに転送するとともに、デコード結果に対してアルファ化処理を施す(図101B中の矢印T14参照)。次いで、表示制御回路230は、ムービブレンドバッファに転送され且つアルファ化処理が施された動画データのデコード結果をコンポジション描画バッファに転送して描画処理を行う(図101B中の矢印T15参照)。
次いで、表示制御回路230は、コンポジション描画処理を行う(S431)。なお、この処理では、次の各種処理が行われる。
まず、表示制御回路230は、テクスチャソース(SDRAM250内のテクスチャソース、ムービバッファ)に格納された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画結果)を内蔵VRAM237内に設けられたコンポジション描画バッファ(特定のデータ領域)に読み出す(図101B中の矢印T16参照)。また、表示制御回路230は、SDRAM250内のテクスチャバッファに格納された各種ソース画像をSDRAM250内に設けられたブレンドバッファ(第3データ領域)及び内蔵VRAM237内に設けられたコピーバッファ(所定のデータ領域)に転送する(図101B中の矢印T17及びT18参照)。
次いで、表示制御回路230は、SDRAM250のブレンドバッファ及び内蔵VRAM237のコピーバッファの間で各種データを入出力させて(図101B中の矢印T19参照)、ブレンド演算描画処理を行う。なお、ブレンド演算描画処理では、動画(ムービ)データと静止画(スプライト)データとを合成する演算処理が行われる。そして、表示制御回路230は、ブレンド演算描画処理の結果(合成結果)をコンポジション描画バッファに転送する(図101B中の矢印T20参照)。
次いで、表示制御回路230は、コンポジション描画バッファに読み出された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画)及びブレンド結果を用いて描画(レンダリング)処理を施す。
そして、表示制御回路230は、描画(レンダリング)処理により構築された描画結果(レンダリング結果)をSDRAM250のテクスチャバッファ又はSDRAM250の所定のフレームバッファ(第1フレームバッファ又は第2フレームバッファ:第4データ領域)に保存する(図101B中の矢印T21又はT22参照)。なお、この際、描画処理の実施対象がサブコンポジションである場合には、描画結果はテクスチャバッファに保存され、描画処理の実施対象がルートコンポジションである場合には、描画結果はフレームバッファに保存される。また、描画結果をフレームバッファに保存する場合には、前回フレームのコンポジション描画処理で描画結果が保存されたフレームバッファとは別のフレームバッファに描画結果が保存される。S431のコンポジション描画処理は上述のようにして行われる。
なお、S431のコンポジション描画処理において、以下の条件(1)~(5)の全てが成立する場合には、表示制御回路230は、テクスチャソース(SDRAM250内のテクスチャソース、ムービバッファ)に格納された各レイヤの各種ソース画像(動画/静止画デコード結果、エフェクト結果、コンポジション描画結果)を、内蔵VRAM237内のコピーバッファにコピー描画した後、各種ソース画像をコンポジション描画バッファに読み出してコンポジション描画処理が行われる。
(1)テクスチャの左上座標が8ドットアラインに不一致
(2)回転、拡大・縮小有り
(3)バイリニアフィルタを使用
(4)ブレンド描画演算処理がマルチレンダリング処理である。
(5)テクスチャソースに格納された各レイヤの各種ソース画像がコピーバッファのサイズに収まる。
また、上述したコンポジション描画処理が、連続して同一のテクスチャソース内の各種ソース画像に対して行われる場合には、コピーバッファにキャッシュされた各種ソース画像が使用される。
そして、上述したS431の処理後、表示制御回路230は、描画処理を終了し、処理を、描画制御処理(図95B参照)中のS373に移す。
本実施形態の描画処理では、上述のように、演出に使用される各種画像データに関する情報(圧縮された動画データ及び/又は静止画データ)をデコードし、そのデコード結果(画像データ)を所定の記憶手段(SDRAM250や内蔵VRAM237)に一時的に格納する。そして、該デコード結果に対して各種演算処理を行い、最終的に、各種画像データを合成する。この一連の処理を、上述した各種記憶手段(内蔵VRAM237及びSDRAM250)に設けられた各種データ記憶領域(各種バッファ)を用いて、上述した手順により実行することにより、各種画像データの合成を容易に実行することができるとともに、各種記憶手段の記憶容量を効率よく使用することができる。すなわち、本実施形態では、画像データの演算処理をより効率良く実施することができる。
また、本実施形態の描画処理では、第1フレームバッファ及び第2フレームバッファに格納された描画結果のデータをフレーム毎に交互に切り替えながら、表示する。そして、一方のフレームバッファに格納された描画結果が表示されている期間に、次に表示される描画結果のデータ(他方のフレームバッファに格納される描画結果)の生成処理が行われる。この際、本実施形態では、記憶手段間におけるデータの通信回数と、各記憶手段において必要となる記憶容量とのバランスを考慮しながら、描画結果の生成処理が行われる。それゆえ、上述したフレームバッファの切り替え機能を用いた画像表示処理及び描画処理では、描画結果の表示処理及び生成処理の効率を向上させることができる。
さらに、本実施形態の描画処理では、上述のように、デコードされた動画データ(画像データ)に対してアルファ化処理を施して、透明度(不透明度)を設定する(上述のS423(矢印T3)、S430(矢印T14)の処理参照)。なお、本実施形態では、デコードされた動画データ(画像データに関する情報)に対してアルファ化処理を施す例を説明したが、本発明はこれに限定されず、例えば画像表示演出の内容等に応じて、デコードされた静止画データ(スプライトデータ)に対してアルファ化処理を施してもよい。そして、本実施形態では、アルファ化処理の手法として、アルファテーブルを参照して、画像データに対応する透明度を設定する第1の手法、又は、アルファテーブルを用いずに画像データに含まれる所定のカラー成分の輝度値をアルファ値(アルファ成分の値)に変換することにより透明度を設定する第2の手法を用いることができる。
前者の第1の手法を用いて、動画データ及びスプライト(静止画)データの各画像データに対して設定する透明度を動的に変更する場合、変更用の透明度のデータ(アルファ値)もCGROM206に予め記憶しておく必要がある。それゆえ、この手法を用いた場合には、CGROM206(記憶手段)の記憶領域において、透明度に関するデータが占める割合が増加し、CGROM206の記憶容量を圧迫する可能性がある。また、この場合、透明度を変更する度に、アルファテーブルを参照する処理が必要となり、表示制御回路230の処理負荷が増大する可能性もある。
一方、後者の第2の手法を用いた場合、すなわち、画像データに含まれる所定のカラー成分の輝度値を用いて直接透明度を設定する手法を用いた場合には、アルファテーブルが不要になるだけでなく、アルファテーブルを参照する処理も不要になる。
それゆえ、第2の手法を用いて、動画データ及びスプライト(静止画)データの各画像データに対して設定する透明度を動的に変更する場合には、CGROM206(記憶手段)の記憶容量を圧迫することもなく、表示制御回路230の処理負荷も増大しない。この結果、第2の手法を用いた場合には、動的に透明度を変更するような場合であっても、その処理負荷の増大や記憶手段の圧迫などの影響を受けることなく、透明度を用いた画像の演出効果を調整することができる。また、第2の手法を用いた場合には、エフェクトとして使用する動画データに対してもアルファテーブルを参照することなくエフェクト用データを生成することができ、エフェクト用のアルファ値(透明度のデータ)を予め用意する必要が無いので、さらに、処理負荷の低減及び記憶容量の削減を図ることが可能になる。
なお、本実施形態では、上述した描画処理、及び、描画処理内の各工程の処理は、表示制御回路230(副制御回路200)により実行される。すなわち、表示制御回路230(副制御回路200)は、描画処理を行う手段(画像制御手段、描画制御手段)も兼ねる。また、表示制御回路230(副制御回路200)は、描画処理内の各工程の処理を実行する手段(第1画像制御手段,第1描画制御手段(S421)、第2画像制御手段(S423)、第3画像制御手段,第2描画制御手段(S424)、第4画像制御手段,第3描画制御手段(S426~S428)、第5画像制御手段,第4描画制御手段(S431))も兼ねる。
また、本実施形態では、上記描画処理中のアルファ化処理(矢印T3、T14の動作時に行われる処理)は、表示制御回路230(副制御回路200)により実行される。すなわち、表示制御回路230(副制御回路200)は、アルファ化処理を行う手段(透明度設定手段、第1透明度設定手段、第2透明度設定手段)も兼ねる。さらに、上記コンポジション描画処理の図面中に矢印で示す各種データの転送処理及び描画処理は、表示制御回路230(副制御回路200)により実行される。すなわち、表示制御回路230(副制御回路200)は、上記コンポジション描画処理における各種データ転送処理及び描画処理を行う手段(第1画像生成制御手段(T16)、第2画像生成制御手段(T17及びT18)、第3画像生成制御手段(T19)、第4画像生成制御手段(T20)、第5画像生成制御手段、第6画像生成制御手段(T22))も兼ねる。
[音声制御処理]
次に、図102A及び図102Bを参照して、副制御メイン処理(図81参照)中のS209で行う音声制御処理について説明する。なお、図102Aは、ホスト制御回路210により実行される音声制御処理の手順を示すフローチャートである。また、図102Bは、音声制御処理においてホスト制御回路210から音声・LED制御回路220にサウンドリクエストが出力された際に、音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される音声制御処理
ホスト制御回路210は、図94のアニメーションリクエスト構築処理においてリクエストバッファに格納されたサウンドリクエストを音声・LED制御回路220に出力する(S441)。
なお、本実施形態では、ホスト制御回路210は、スピーカ11による音声再生演出の動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、サウンドリクエストを出力する。これは、上述したように、本実施形態の表示制御回路230による画像のデコード処理及び描画処理では、その一連の処理に2フレームの期間が必要になるためである。
そして、S441の処理後、ホスト制御回路210は、音声制御処理を終了し、処理を副制御メイン処理(図81参照)の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の所定のコントロール状態(例えば、待機状態、音声制御処理前の制御状態、音声制御処理後に実行する処理の制御状態など)時の処理に戻す。
[ランプ制御処理]
次に、図103A及び図103Bを参照して、副制御メイン処理(図81参照)中のS210で行うランプ制御処理について説明する。なお、図103Aは、ホスト制御回路210により実行されるランプ制御処理の手順を示すフローチャートである。また、図103Bは、ランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
なお、本実施形態では、LEDアニメーションの再生方式において、上述した「NEXT」及び「ODONLY」が指定されていない場合の処理例を説明する。再生方式に「NEXT」及び「ODONLY」が指定されている場合を考慮したランプ制御処理については、後述の変形例2及び3(後述の図114~図116参照)において詳述する。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図94のアニメーションリクエスト構築処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S461)。なお、本実施形態では、ホスト制御回路210は、ランプ(LED)群18による演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを出力する。
そして、S461の処理後、ホスト制御回路210は、ランプ制御処理を終了し、処理を副制御メイン処理(図81参照)の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データがセットされる。生成例4の場合には、2チャンネルの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)。なお、ここでいう、「全てのポート」とは、図86に示すLED登録処理で設定された全てのポートを意味するが、本発明はこれに限定されない。「全てのポート」が、図86に示すLED登録処理で設定されたポートに関係なく、任意に物理的に設定可能な全てのポートであってもよいし、図86に示すLED登録処理で設定されたポートの中から選択された一部のポートであってもよい。
S482において、音声・LED制御回路220が、S477~S481の処理が全てのポートに対して実行されていないと判別した場合(S482がNO判定の場合)、音声・LED制御回路220は、処理をS477に戻し、処理対象のポートを変更してS477以降の処理を繰り返す。一方、S482において、音声・LED制御回路220が、S477~S481の処理が全てのポートに対して実行されたと判別した場合(S482がYES判定の場合)、音声・LED制御回路220は、ランプ制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、ランプ制御処理前の制御状態、ランプ制御処理後に実行する処理の制御状態など)時の処理に戻す。
[役物制御処理]
次に、図104を参照して、副制御メイン処理(図81参照)中のS211で行う役物制御処理について説明する。なお、図104は、本実施形態における役物制御処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であるか否かを判別する(S491)。
S491において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中でないと判別した場合(S491がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。
一方、S491において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であると判別した場合(S491がYES判定の場合)、ホスト制御回路210は、主制御回路70から演出に関するコマンドを受信したか否かを判別する(S492)。なお、この処理で判断対象となる演出に関するコマンドは、例えば、特別図柄の変動開始、変動停止、デモ、大当りに関するコマンドであり、これらのコマンドがホスト制御回路210で受信された際に、役物20が可動する。
S492において、ホスト制御回路210が、主制御回路70から演出に関するコマンドを受信していないと判別した場合(S492がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。
一方、S492において、ホスト制御回路210が、主制御回路70から演出に関するコマンドを受信したと判別した場合(S492がYES判定の場合)、ホスト制御回路210は、変動開始コマンド受信時役物処理を行う(S493)。この処理では、ホスト制御回路210は、主に、ホスト制御回路210が実行する役物制御に関わる処理間における、役物リクエストの受け渡し許可/不許可を設定する。なお、変動開始コマンド受信時役物処理の詳細については、後述の図105を参照しながら後で説明する。
次いで、ホスト制御回路210は、デモコマンド受信時役物処理を行う(S494)。なお、デモコマンド受信時役物処理の詳細については、後述の図106を参照しながら後で説明する。次いで、ホスト制御回路210は、変動停止コマンド受信時役物処理を行う(S495)。なお、変動停止コマンド受信時役物処理の詳細については、後述の図108を参照しながら後で説明する。次いで、ホスト制御回路210は、大当り系コマンド受信時役物処理を行う(S496)。なお、大当り系コマンド受信時役物処理の詳細については、後述の図109を参照しながら後で説明する。
本実施形態では、S493~S496の各種コマンド受信時役物処理を役物制御処理の中で行う例を説明したが、本発明はこれに限定されず、演出に関するコマンドを受信した際に、割込処理として各役物処理を行ってもよいし、上述したコマンド解析処理(図92参照)の直後に各役物処理を行ってもよい。
次いで、ホスト制御回路210は、初期位置復旧動作処理を行う(S497)。なお、初期位置復旧動作処理の詳細については、後述の図110を参照しながら後で説明する。次いで、ホスト制御回路210は、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であるか否かを判別する(S498)。
S498において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中であると判別した場合(S498がYES判定の場合)、ホスト制御回路210は、処理をS492に戻し、S492以降の処理を繰り返す。一方、S498において、ホスト制御回路210が、現在の動作状況が主制御回路70からのコマンドの受信待機動作中でないと判別した場合(S498がNO判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可がセットされているか否かを判別する(S499)。
S499において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていないと判別した場合(S499がNO判定の場合)、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。
一方、S499において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていると判別した場合(S499がYES判定の場合)、ホスト制御回路210は、図94のアニメーションリクエスト構築処理においてリクエストバッファに格納された役物リクエストを取得する(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は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。
一方、S502において、ホスト制御回路210が、I2Cコントローラ261から通信エラー信号を受信していないと判別した場合(S502がNO判定の場合)、ホスト制御回路210は、各モータドライバ271のアドレスにアクセスできるか否かを判別する(S504)。
S504において、ホスト制御回路210が、各モータドライバ271のアドレスにアクセスできないと判別した場合(S504がNO判定の場合)、ホスト制御回路210は、接続エラーを設定する(S505)。そして、S505の処理後、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)の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は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。一方、S507において、ホスト制御回路210が、役物20(モータ272)の動作が正常に終了していないと判別した場合(S507がNO判定の場合)、ホスト制御回路210は、データエラーを設定する(S508)。そして、S508の処理後、ホスト制御回路210は、役物制御処理を終了し、処理を副制御メイン処理(図81参照)のS212に移す。
[変動開始コマンド受信時役物処理]
次に、図105を参照して、役物制御処理(図104参照)中のS493で行う変動開始コマンド受信時役物処理について説明する。なお、図105は、本実施形態における変動開始コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、変動開始コマンドを受信したか否かを判別する(S511)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄演出開始コマンドを受信したか否かを判別する。
S511において、ホスト制御回路210が、変動開始コマンドを受信していないと判別した場合(S511がNO判定の場合)、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS494に移す。一方、S511において、ホスト制御回路210が、変動開始コマンドを受信したと判別した場合(S511がYES判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S512)。
S512において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S512がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S513)。役物リクエストの受け渡し許可がセットされると、役物20の制御状態が、コマンド受信待機状態から役物リクエスト受け渡し許可状態に移行する。
次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S514)。なお、初期位置復旧カウンタは、モータ272の初期位置復旧動作の実行回数を計数するカウンタであり、サブワークRAM210aに設けられる。そして、S514の処理後、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS494に移す。
一方、S512において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S512がNO判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S515)。次いで、ホスト制御回路210は、初期位置復旧動作への移行設定を行う(S516)。そして、S516の処理後、ホスト制御回路210は、変動開始コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS494に移す。
[デモコマンド受信時役物処理]
次に、図106を参照して、役物制御処理(図104参照)中のS494で行うデモコマンド受信時役物処理について説明する。なお、図106は、本実施形態におけるデモコマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、デモコマンドを受信したか否かを判別する(S521)。具体的には、ホスト制御回路210は、例えば、上述のデモ表示コマンドを受信したか否かを判別する。
S521において、ホスト制御回路210が、デモコマンドを受信していないと判別した場合(S521がNO判定の場合)、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS495に移す。一方、S521において、ホスト制御回路210が、デモコマンドを受信したと判別した場合(S521がYES判定の場合)、ホスト制御回路210は、モータ272の不具合等によるエラーが検出されているか否かを判別する(S522)。この処理では、ホスト制御回路210は、例えば、役物制御処理(図104参照)中のS502以降の処理で設定された各種エラー(通信コントローラエラー、接続エラー、データエラー)などが発生しているか否かを判別する。
S522において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていると判別した場合(S522がYES判定の場合)、ホスト制御回路210は、エラー処理を行う(S523)。なお、エラー処理の詳細については、後述の図107を参照しながら後で説明する。次いで、ホスト制御回路210は、役物動作時エラー動作への移行設定を行う(S524)。そして、S524の処理後、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS495に移す。
一方、S522において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていないと判別した場合(S522がNO判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S525)。
S525において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S525がNO判定の場合)、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS495に移す。一方、S525において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S525がYES判定の場合)、ホスト制御回路210は、役物励磁開放処理を行う(S526)。この処理では、ホスト制御回路210は、全てのモータ272(モータドライバ271)への励磁データの出力を停止する。
次いで、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S527)。次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S528)。そして、S528の処理後、ホスト制御回路210は、デモコマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS495に移す。
[エラー処理]
次に、図107を参照して、デモコマンド受信時役物処理(図106参照)中のS523で行うエラー処理について説明する。なお、図107は、本実施形態におけるエラー処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S531)。次いで、ホスト制御回路210は、全てのモータ272を停止する(S532)。
次いで、ホスト制御回路210は、モータドライバ271のソフトウェアをリセットする(S533)。次いで、ホスト制御回路210は、I2Cコントローラ261をリセットする(S534)。そして、S534の処理後、ホスト制御回路210は、エラー処理を終了し、処理をデモコマンド受信時役物処理(図106参照)のS524に移す。
[変動停止コマンド受信時役物処理]
次に、図108を参照して、役物制御処理(図104参照)中のS495で行う変動停止コマンド受信時役物処理について説明する。なお、図108は、本実施形態における変動停止コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、変動停止コマンドを受信したか否かを判別する(S541)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄停止コマンドを受信したか否かを判別する。
S541において、ホスト制御回路210が、変動停止コマンドを受信していないと判別した場合(S541がNO判定の場合)、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS496に移す。一方、S541において、ホスト制御回路210が、変動停止コマンドを受信したと判別した場合(S541がYES判定の場合)、ホスト制御回路210は、モータ272の不具合等によるエラーが検出されているか否かを判別する(S542)。
S542において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていると判別した場合(S542がYES判定の場合)、ホスト制御回路210は、図107で説明したエラー処理を行う(S543)。次いで、ホスト制御回路210は、役物動作時エラー動作への移行設定を行う(S544)。そして、S544の処理後、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS496に移す。
一方、S542において、ホスト制御回路210が、モータ272の不具合等によるエラーが検出されていないと判別した場合(S542がNO判定の場合)、ホスト制御回路210は、全てのモータ272が初期位置にあるか否かを判別する(S545)。
S545において、ホスト制御回路210が、1個以上のモータ272が初期位置にないと判別した場合(S545がNO判定の場合)、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS496に移す。一方、S545において、ホスト制御回路210が、全てのモータ272が初期位置にあると判別した場合(S545がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し許可をセットする(S546)。
次いで、ホスト制御回路210は、初期位置復旧カウンタに「0」をセットする(S547)。そして、S547の処理後、ホスト制御回路210は、変動停止コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS496に移す。
[大当り系コマンド受信時役物処理]
次に、図109を参照して、役物制御処理(図104参照)中のS496で行う大当り系コマンド受信時役物処理について説明する。なお、図109は、本実施形態における大当り系コマンド受信時役物処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、大当り系コマンドを受信したか否かを判別する(S551)。具体的には、ホスト制御回路210は、例えば、上述の特別図柄当り開始表示コマンドを受信したか否かを判別する。
S551において、ホスト制御回路210が、大当り系コマンドを受信していないと判別した場合(S551がNO判定の場合)、ホスト制御回路210は、大当り系コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)の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は、大当り系コマンド受信時役物処理を終了し、処理を役物制御処理(図104参照)のS497に移す。
[初期位置復旧動作処理]
次に、図110を参照して、役物制御処理(図104参照)中のS497で行う初期位置復旧動作処理について説明する。なお、図110は、本実施形態における初期位置復旧動作処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、役物リクエストの受け渡し許可がセットされているか否かを判別する(S561)。
S561において、ホスト制御回路210が、役物リクエストの受け渡し許可がセットされていると判別した場合(S561がYES判定の場合)、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図104参照)の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は、初期位置復旧動作処理を終了し、処理を役物制御処理(図104参照)の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は、初期位置復旧動作処理を終了し、処理を役物制御処理(図104参照)のS498に移す。
ここで、再度、S567の処理に戻って、S567において、ホスト制御回路210が、初期位置復旧カウンタの値が「10」以上であると判別した場合(S567がYES判定の場合)、ホスト制御回路210は、役物リクエストの受け渡し不許可をセットする(S571)。次いで、ホスト制御回路210は、電源再投入により初期化処理が行われるまで、全てのモータ272を停止する(S572)。
なお、本実施形態では、上述のように、初期位置復旧カウンタの値が「10」以上の場合にモータ272を停止する例を説明したが、本発明はこれに限定されない。モータ272を停止させるための初期位置復旧カウンタの閾値は、例えば、役物20の演出動作内容やモータ272の性能等に応じて任意に設定することができる。
そして、S572の処理後、ホスト制御回路210は、初期位置復旧動作処理を終了し、処理を役物制御処理(図104参照)のS498に移す。
[音声・LED制御回路及びLEDドライバ間のデータ通信処理]
次に、図111A及び図111Bを参照して、音声・LED制御回路220及びLEDドライバ280間で行われる通信処理について説明する。なお、図111Aは、音声・LED制御回路220及びLEDドライバ280間の通信処理において、音声・LED制御回路220により実行される信号及びデータの送信処理の手順を示すフローチャートである。また、図111Bは、音声・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により実行されるデータ受信処理の具体的な手順を、それぞれ図111A及び図111Bのフローチャートを参照しながら説明する。なお、本実施形態において、音声・LED制御回路220から送信されるシリアル・データの構成は、上記図47で説明した構成とする。
(1)音声・LED制御回路のシリアル・データ送信処理
まず、音声・LED制御回路220は、図111Aに示すように、データ「1」を連続して16回以上、LEDドライバ280に送信する(S581)。すなわち、音声・LED制御回路220は、シリアル・データの先頭に配置された、データ「1」が16ビット以上連続して格納された領域のデータ(図47参照)を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は、図111Bに示すように、スリープ状態をセットする(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」(図47参照)を受信したか否かを判別する。
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)」(図47参照)を受信したか否かを判別する(S600)。
S600において、LEDドライバ280が、データ「0FFH」を受信していないと判別した場合(S600がNO判定の場合)、LEDドライバ280は、処理をS599に戻し、S599以降の処理を繰り返す。一方、S600において、LEDドライバ280が、データ「0FFH」を受信したと判別した場合(S600がYES判定の場合)、LEDドライバ280は、処理をS591に戻し、S591以降の処理を繰り返す。
[ホスト制御回路及びモータドライバ間のデータ通信処理]
次に、図112A及び図112Bを参照して、ホスト制御回路210及びモータドライバ271間で行われる通信処理について説明する。なお、図112Aは、ホスト制御回路210及びモータドライバ271間の通信処理において、ホスト制御回路210により実行される信号及びシリアル・データの送受信処理の手順を示すフローチャートである。また、図112Bは、ホスト制御回路210及びモータドライバ271間の通信処理において、モータドライバ271により実行される信号及びデータの送受信処理の手順を示すフローチャートである。
本実施形態では、上述のように、ホスト制御回路210において役物リクエストが生成されると、役物リクエストに基づいて、ホスト制御回路210は、モータドライバ271に励磁データに出力する。この際、ホスト制御回路210及びモータドライバ271間は、I2Cバスで接続されているので、両者間ではI2C方式で信号(データ)の送受信が行われる。なお、本実施形態では、ホスト制御回路210及びモータドライバ271間の通信方向は、双方向となる。
以下に、役物リクエストに基づいて、ホスト制御回路210により実行される信号及びデータの送受信処理、並びに、モータドライバ271により実行される信号及びデータの送受信処理の具体的な手順を、それぞれ図112A及び図112Bのフローチャートを参照しながら説明する。
(1)ホスト制御回路210のデータ送受信処理(シリアルデータ入出力処理)
まず、ホスト制御回路210は、図112Aに示すように、スタート・コンディションを発行し、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は、図112Bに示すように、ホスト制御回路210で発行されたスタート・コンディションに含まれるコントロール・バイトの情報を参照し、コントロール・バイトに含まれるアドレスが、当該モータドライバ271のアドレスと一致するか否かを判別する(S611)。なお、ホスト制御回路210からモータドライバ271に送信されるシリアルデータの構成は、図47に示すシリアルデータの構成と同一ではないが、ホスト制御回路210からモータドライバ271に送信されるシリアルデータには、図47中のデバイスアドレスに対応する領域が設けられ、該領域に上述したコントロール・バイトの情報が格納されている。
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]
上記実施形態の音声制御処理(図102A及び図102B参照)では、音声・LED制御回路220が、アクセスナンバーをサウンド再生の実行系統にセットする際、4つの実行系統の空き状況を判別して、空いている実行系統にアクセスナンバーをセットする例を説明したが、本発明はこれに限定されない。例えば、アクセスナンバー毎にセットする実行系統が予め決定されていてもよい。変形例1では、そのような場合における音声制御処理の処理例を説明する。
なお、変形例1では、音声制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にするできる。それゆえ、ここでは、音声制御処理についてのみ説明する。
図113A及び図113Bを参照して、副制御メイン処理(図81参照)中のS209で行う変形例1の音声制御処理について説明する。なお、図113Aは、ホスト制御回路210により実行されるこの例の音声制御処理の手順を示すフローチャートである。また、図113Bは、この例の音声制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行される音声制御処理
ホスト制御回路210は、図113Aに示すように、図94のアニメーションリクエスト構築処理においてリクエストバッファに格納されたサウンドリクエストを音声・LED制御回路220に出力する(S701)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、サウンドリクエストを出力する。
そして、S701の処理後、ホスト制御回路210は、音声制御処理を終了し、処理を副制御メイン処理(図81参照)のS210に移す。
(2)音声制御処理時に実行される音声・LED制御回路の処理
まず、図113Bに示すように、ホスト制御回路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]
上記実施形態のランプ制御処理(図103A及び図103B参照)では、LEDデータ(LEDアニメーション)の再生方式に「NEXT」及び/又は「ODONLY」が指定されない場合の処理例を説明したが、本発明はこれに限定されない。変形例2では、LEDデータ(LEDアニメーション)の再生方式に「NEXT」及び/又は「ODONLY」が指定されている場合も考慮したランプ制御処理について説明する。また、変形例2では、再生チャンネルのみを使用する処理例を説明する。
なお、変形例2では、ランプ制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にするできる。それゆえ、ここでは、ランプ制御処理についてのみ説明する。
図114A及び図114Bを参照して、副制御メイン処理(図81参照)中のS210で行う変形例2のランプ制御処理について説明する。なお、図114Aは、ホスト制御回路210により実行されるこの例のランプ制御処理の手順を示すフローチャートである。また、図114Bは、この例のランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図114Aに示すように、図94のアニメーションリクエスト処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S731)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを出力する。
そして、S731の処理後、ホスト制御回路210は、この例のランプ制御処理を終了し、処理を副制御メイン処理(図81参照)のS211に移す。
(2)ランプ制御処理時に実行される音声・LED制御回路の処理
まず、図114Bに示すように、ホスト制御回路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)。なお、ここでいう、「全てのポート」とは、図86に示すLED登録処理で設定された全てのポートを意味するが、本発明はこれに限定されない。「全てのポート」が、図86に示すLED登録処理で設定されたポートに関係なく、任意に物理的に設定可能な全てのポートであってもよいし、図86に示す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では、ランプ制御処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にする。それゆえ、ここでは、ランプ制御処理についてのみ説明する。
図115A及び図115Bを参照して、副制御メイン処理(図81参照)中のS210で行う変形例3のランプ制御処理について説明する。なお、図115Aは、ホスト制御回路210により実行されるこの例のランプ制御処理の手順を示すフローチャートである。また、図115Bは、この例のランプ制御処理において音声・LED制御回路220により実行される処理の手順を示すフローチャートである。
(1)ホスト制御回路により実行されるランプ制御処理
ホスト制御回路210は、図115Aに示すように、図94のアニメーションリクエスト処理においてリクエストバッファに格納されたランプリクエストを音声・LED制御回路220に出力する(S761)。なお、この例においても、ホスト制御回路210は、LEDデータを用いた演出動作を表示装置13による演出動作と同期させるために、演出制御のリクエスト生成から2フレーム経過した後、ランプリクエストを送信する。
そして、S761の処理後、ホスト制御回路210は、この例のランプ制御処理を終了し、処理を副制御メイン処理(図81参照)のS211に移す。
(2)ランプ制御処理時に実行される音声・LED制御回路の処理
まず、図115Bに示すように、ホスト制御回路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データ(出力データ)が設定される。なお、各ポートのデータ設定処理の詳細については、後述の図116を参照しながら後で説明する。そして、S776の処理後、音声・LED制御回路220は、ランプ制御処理時の上述した一連の処理を終了し、処理を音声・LED制御回路220の所定のコントロール状態(例えば、待機状態、ランプ制御処理前の制御状態、ランプ制御処理後に実行する処理の制御状態など)時の処理に戻す。
(3)各ポートのデータ設定処理
次に、図116を参照して、この例のランプ制御処理時に実行される音声・LED制御回路の処理(図115B参照)中のS776で行う各ポートのデータ設定処理について説明する。なお、図116は、この例のランプ制御処理内において音声・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のランプ制御処理(図114A及び図114B)中のS750と同様の処理が行われる。
一方、S786において、音声・LED制御回路220が、参照中の再生チャンネルにおいて、再生方式に「ODONLY」が指定されていないと判別した場合(S786がNO判定の場合)、音声・LED制御回路220は、チャンネルに設定された実行優先順位に基づいて、ポート情報(LEDデータ)の上書き処理を行う(S788)。なお、この処理では、上記変形例2のランプ制御処理(図114A及び図114B)中のS751と同様の処理が行われる。
S787或いはS788の処理後、又は、S785が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ドライバ間の接続構成]
まず、図117を参照しながら、変形例4の音声・LED制御回路290及びLEDドライバ291間の接続構成を説明する。なお、図117は、この例の音声・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)に並列接続される。
さらに、この例では、図117に示すように、音声・LED制御回路290(マスタ)には、複数のスレーブ・セレクト端子(SS1,SS2,SS3)が設けられ、各LEDドライバ291(スレーブ)にもスレーブ・セレクト端子(SS)が設けられる。なお、各LEDドライバ291に設けられたスレーブ・セレクト端子(SS)は、例えば、図47で説明した上記実施形態のLEDドライバ280の端子群280d内に追加して設けられる。そして、音声・LED制御回路290の各スレーブ・セレクト端子は、対応するLEDドライバ291のスレーブ・セレクト端子(SS)に接続される。
[通信原理]
次に、音声・LED制御回路290(マスタ)及びLEDドライバ291(スレーブ)間におけるシリアル・データの通信原理を、図118を参照しながら説明する。なお、図118は、音声・LED制御回路290(マスタ)及びLEDドライバ291(スレーブ)間におけるシリアル・データの通信動作の様子を示す図である。
音声・LED制御回路290は、図118に示すように、バッファ(第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内のシフト・レジスタのデータ格納状態を、図119に示す。図119に示すように、この例のデータ通信では、各シフト・レジスタの最後尾側のレジスタから順次データが入れ替わる。
そして、上述した1ビットのデータ通信が8回繰り返されると、音声・LED制御回路290のシフト・レジスタ内のデータと、LEDドライバ291のシフト・レジスタ内のデータとが互いに入れ替わり、8ビットのデータ通信が終了する。なお、8ビットのデータ通信が終了すると、音声・LED制御回路290のシフト・レジスタに格納された8ビットの受信データ(S0~S7)は、音声・LED制御回路290内のバッファに送信され格納される。また、LEDドライバ291のシフト・レジスタに格納された8ビットの受信データ(M0~M7)は、LEDドライバ291内のバッファに送信され格納される。
[音声・LED制御回路及びLEDドライバ間の通信処理]
次に、図120A及び図120Bを参照して、音声・LED制御回路290及びLEDドライバ291間で行われるこの例の通信処理について説明する。なお、図120Aは、音声・LED制御回路290により実行されるこの例の信号及びデータの送受信処理の手順を示すフローチャートである。また、図120Bは、この例の音声・LED制御回路290及びLEDドライバ291間の通信処理において、LEDドライバ291により実行される信号及びデータの送受信処理の手順を示すフローチャートである。
(1)音声・LED制御回路のシリアル・データ入出力処理
まず、音声・LED制御回路290は、図120Aに示すように、スレーブ・セレクタ信号(SS信号)を全LEDドライバ291に対して送信する(S801)。この際、スレーブ・セレクト信号(アドレス指定信号)で指定されたデバイスアドレスに対応するLEDドライバ291においてのみ、スレーブ・セレクト信号が受信される。
次いで、音声・LED制御回路290は、スレーブ・セレクト信号で指定したデバイスアドレスのLEDドライバ291との間で、シリアル・データの送受信処理を行う(S802)。この際、音声・LED制御回路290は、上記図118及び図119を用いて説明した通信原理に従って、シリアル・データを8ビット単位で送受信する。次いで、音声・LED制御回路290は、シリアル・データの送受信処理を完了する(S803)。
次いで、音声・LED制御回路290は、スレーブ・セレクト信号の送信を停止する(S804)。そして、S804の処理後、音声・LED制御回路290は、シリアル・データ入出力処理を終了する。
(2)LEDドライバのシリアル・データ入出力処理
まず、LEDドライバ291は、図120Bに示すように、スレーブ・セレクト信号を受信したか否かを判別する(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は、上記図118及び図119を用いて説明した通信原理に従って、シリアル・データを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である場合の構成例(ダイナミック出力制御の構成例)を、図121を参照しながら説明する。なお、図121は、LEDデータのダイナミック出力制御の一例を示す例である。図121に示す例では、一つのポート1に3つのLED(赤色LED、青色LED及び緑色LED)が接続されている例を示す。また、この例では、LEDデータ内の、再生時間(点灯時間)を「12」(約48msec)とし、赤色成分の輝度データ、緑色成分の輝度データ及び青色成分の輝度データのそれぞれを「0xFE」とする例を説明する。すなわち、この例では、LEDデータのデータ型(フォーマット)と、上記実施形態のそれと同様にする(図53参照)。
上記データ型の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の励磁状態の検知機能の構成例を、図122を参照しながら説明する。図122は、変形例6におけるモータ272の励磁状態の検知機能部の概略構成図である。なお、この例では、モータドライバ271に、4つのモータ272が接続されている例を説明する。
この例におけるモータ272の励磁状態の検知機能部275(以下、励磁状態検知部275という)は、図122に示すように、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に接続される。
図122に示す構成の励磁状態検知部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の構成は、図122に示す例に限定されず、複数のモータ272の少なくとも1つが励磁状態であるか否かを判別することができる構成であれば任意の構成にすることができる。例えば、励磁状態検知部275に含まれるOR回路の個数及びOR回路間の接続形態は、例えばモータドライバ271に接続されるモータ272の個数に応じて適宜変更することができる。また、例えば、複数のモータ272のうち、稼働率の高い一部のモータ272の励磁状態を判別するような構成にしてもよい。この場合には、励磁状態検知部275は、モータドライバ271に設けられた励磁データの複数の出力端子のうち、監視対象となる稼働率の高い一部のモータ272に対応する出力端子のみに接続される。また、複数のモータ272のうち、監視対象となる一部のモータ272の励磁状態を判別する構成では、稼働率に関係なく任意に一部のモータ272を選択し、該選択された一部のモータ272の励磁状態を監視するようにしてもよい。
(2)役物制御処理
次に、図123を参照して、ホスト制御回路210により実行されるこの例の役物制御処理についてより詳細に説明する。なお、図123は、この例の役物制御処理の手順を示すフローチャートである。
まず、ホスト制御回路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の保護処理は、上記実施形態で行わる役物制御処理(図104参照)の追加処理として行われてもよいし、上記実施形態の役物制御処理(図104参照)中のS499以降の処理を、図123に示すフローチャートの処理で置き換えてもよい。
なお、役物リクエストに基づいて、ホスト制御回路210からモータ272(モータドライバ271)に出力される励磁データは、役物20の一つの所定動作に対応する励磁データで構成される場合もあるが、複数の所定動作にそれぞれ対応する複数の励磁データで構成される場合もある。
後者の場合には、役物リクエストに基づいて、ホスト制御回路210からモータ272(モータドライバ271)に複数の励磁データが所定の順序で出力される。そして、この場合には、この例の役物制御処理において、図123中の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を強制的に励磁開放させる処理を促すことができる。
[変形例7]
上記実施形態のパチンコ遊技機1では、図8に示すように、内蔵中継基板260に設けられた接続端子群264中の第4接続端子を内蔵中継基板260内に設けられた接地(GND)端子に接続する例を説明したが、本発明は、これに限定されない。
例えば、スピーカボックス11aに設けられた端子群11b中の第3又は第4接続端子を、スピーカボックス11a内に設けられた接地端子(不図示)に接続してもよい。
また、例えば、内蔵中継基板260に設けられた接続端子群264中の第4接続端子を内蔵中継基板260内に設けられた電源電圧端子に接続してもよい。なお、この場合には、図8に示す内蔵中継基板260の構成において、デジタルオーディオパワーアンプ262のミュート端子(MUTE)とNOT回路268との間にさらにNOT回路が設けられる、又は、NOT回路268が省略される。
また、上記実施形態では、デジタルオーディオパワーアンプ262のミュート端子(MUTE)に入力される信号のレベル(振幅値)がLOWレベルである場合にミュート機能を作動させる例を説明したが、本発明はこれに限定されない。デジタルオーディオパワーアンプ262のミュート端子(MUTE)に入力される信号のレベル(振幅値)がHIGHレベルである場合にミュート機能を作動させる構成にしてもよい。この場合には、図8に示す内蔵中継基板260の構成において、デジタルオーディオパワーアンプ262のミュート端子(MUTE)とNOT回路268との間にさらにNOT回路が設けられる、又は、NOT回路268が省略される。
さらに、上記実施形態では、内蔵中継基板260とスピーカボックス11aとの間を複数の信号配線を1つの束にしたハーネス300を用いて接続する例を説明したが、本発明はこれに限定されず、別個の信号配線を複数用いて、内蔵中継基板260及びスピーカボックス11a間を接続してもよい。
[変形例8]
サブ基板202及びCGROM基板間の接続構成は、上記実施形態で説明した例に限定されない。例えば、サブ基板202内の双方向バランストランシーバ301の一方の制御端子DIRに入力される信号のレベルを表示制御回路230で把握できるような構成にしてもよい。変形例8では、その一構成例を説明する。
図124は、CGROM基板204aにNOR型のCGROM206aが搭載された場合における、変形例8のサブ基板202a及びCGROM基板204a間の接続構成図である。なお、図124に示すこの例のサブ基板202aの構成において、図12に示す上記実施形態のサブ基板202と同じ構成には同じ符号を付して示す。
また、図124に示す例では、NOR型のCGROM206aが搭載されたCGROM基板204aをサブ基板202aに接続(装着)する例を示すが、本発明はこれに限定されず、この例において、図13に示すNAND型のCGROM206bが搭載されたCGROM基板204bをこの例のサブ基板202aに接続(装着)してもよい。
図124に示す構成と上記実施形態で説明した図12の構成との比較から明らかなように、NOR型のCGROM206aが搭載されたCGROM基板204aの構成は同じであるので、ここでは、CGROM基板204aの構成についての説明は省略する。
この例のサブ基板202aでは、図124に示すように、サブ基板202aの端子群303中の第5接続端子(所定の接続端子)は、双方向バランストランシーバ301の一方の制御端子DIRに接続されるだけでなく、信号配線W4を介して表示制御回路230aの通信選択バス入力端子(所定の入力端子)にも接続される。これにより、双方向バランストランシーバ301の一方の制御端子DIRに入力される信号のレベルを表示制御回路230aで管理することができる。なお、この接続構成以外のサブ基板202aの構成は、上記実施形態で説明した図12に示すサブ基板202の対応する構成と同様であるので、ここでは、これらの構成の説明は省略する。
上記実施形態で説明したように、CGROMの種別がNOR型である場合には、双方向バランストランシーバ301の制御端子DIR(第5接続端子)に入力される信号のレベルはLOWになり、CGROMの種別がNAND型である場合には、双方向バランストランシーバ301の制御端子DIR(第5接続端子)に入力される信号のレベルはHIGHになる。それゆえ、この例のように、双方向バランストランシーバ301の一方の制御端子DIRに入力される信号のレベルを表示制御回路230aで管理可能な構成では、制御端子DIRに入力される信号レベルに応じて、接続されたCGROMの種別がNOR型であるのか、又は、NAND型であるのかを判別することができる。
この場合、表示制御回路230aは、起動時に表示制御回路230aの初期設定処理において、通信選択バス入力端子に入力された信号のレベル(振幅値)に基づき、通信形態としてNOR型のCGROMとの通信形態及びNAND型のCGROMとの通信形態の一方を選択して設定することができる。すなわち、この例のパチンコ遊技機においても、実施態様に合わせてCGROMを選択することが可能になり、パチンコ遊技機の拡張性を担保することができる。
なお、この例のように、サブ基板202aの第5接続端子の信号レベルを監視し、該信号レベルに基づいて、接続されたCGROMに対する通信形態を選択できる構成では、双方向バランストランシーバ301を省略してもよい。この場合には、表示制御回路230aの第1入出力兼用端子GMA31/GRB3~第4入出力兼用端子GMA28/GRB0を、サブ基板202aの第5接続端子の信号レベルに基づいて、入力端子及び出力端子のいずれで作用させるかの選択制御を表示制御回路230aで行う。すなわち、この場合には、表示制御回路230aは、サブ基板202の第5接続端子に印加される信号のレベルに基づいて、表示制御回路230a及びCGROM間の通信形態を設定する通信形態設定手段も兼ねる。
[変形例9]
上記実施形態のパチンコ遊技機1が備えるLEDアニメーションの生成機能では、LED281の各チャンネルに、消灯データ及び「透明定義」のLEDデータ(赤色、緑色、青色成分の各輝度データが「0xFF」であるLEDデータ:以下、「透明定義データ」と称する)の2種類の非点灯態様のLEDデータを設定することができる。変形例9では、透明定義データを用いてLEDアニメーションを生成する例を説明する。
(1)生成例1
図125A及び図125Bに、透明定義データを用いたLEDアニメーションの生成例1の概要を示す。なお、図125A及び図125Bに示す例では、上記実施形態の生成例2(図55A及び図55B参照)と同様に、制御部位の範囲がチャンネル間で互いに異なる場合のLEDアニメーションの生成及び出力動作の概要を示す。
また、図125A及び図125Bに示す例では、8つのLED281(第1LED~第8LED)を用いて所定のLEDアニメーションを実行する例を説明し、8つのチャンネルのうち、第6チャンネル~第8チャンネルにLEDデータがセットされる例を説明する。さらに、図125A及び図125Bに示す例では、第8チャンネルの制御部位が第1LED~第3LEDに設定され、第7チャンネルの制御部位が第1LED~第5LEDに設定され、そして、第6チャンネルの制御部位は全てのLED281に設定されている例を説明する。なお、この例においても、チャンネル間の実行優先順位は、上記実施形態と同様に、チャンネル番号が大きいほど高くなる。すなわち、第8チャンネルが最上位となり、第1チャンネルが最下位となる。
生成例1において、第8チャンネルでは、第1LED及び第3LEDに「赤色」点灯のLEDデータがセットされ、第2LEDに透明定義データがセットされる。第7チャンネルでは、第1LED及び第3LED~第5LEDに「緑色」点灯のLEDデータがセットされ、第2LEDに透明定義データがセットされる。そして、第6チャンネルでは、全てのLED281に「青色」点灯のLEDデータがセットされる。なお、第8及び第7チャンネルにおいて、制御部位に指定されていないLED281のポートにはLEDデータはセットされない。
図125Aに示す例において、第6チャンネル~第8チャンネルのLEDデータを合成すると、第1LED及び第3LEDでは、第6チャンネル~第8チャンネルのLEDデータが重複するが、実行優先順位の最も高い第8チャンネルのLEDデータが合成結果としてセットされる。第4LED及び第5LEDでは、第7チャンネル及び第6チャンネルのLEDデータが重複するが、実行優先順位の高い第7チャンネルのLEDデータが合成結果としてセットされる。また、第6LED~第8LEDでは、第6チャンネルにのみLEDデータがセットされているので、第6チャンネルのLEDデータが合成結果としてセットされる。
そして、図125Aに示す例では、第8及び第7チャンネルの第2LEDに対して透明定義データが設定されるので、第6チャンネルの第2LEDにセットされているLEDデータ(「青色」点灯のLEDデータ)が、LEDデータの合成結果として第2LEDにセットされる。すなわち、実行優先順位の高いチャンネルに透明定義データがセットされている場合、実行優先順位の低いチャンネルにセットされているLEDデータが合成結果として出力される。
それゆえ、この例の生成例1では、合成後のLEDアニメーションにおける、第1LED及び第3LEDの点灯パターンは、図125Bに示すように、第8チャンネルの第1LED及び第3LEDの点灯パターンと同じになり、第4LED及び第5LEDの点灯パターンは、第7チャンネルの第4LED及び第5LEDの点灯パターンと同じになり、第6LED~第8LEDの点灯パターンは、第6チャンネルの第6LED~第8LEDの点灯パターンと同じになる。そして、第2LEDの点灯パターンは、第6チャンネルの第2LEDの点灯パターンと同じになる。
チャンネル間に実行優先順位を設けた場合、例えば、上記実施形態(図55A及び図55B参照)のように、第7及び第8チャンネル等の上位チャンネルの一部のLEDに消去データをセットすると、下位チャンネルの一部のLEDの点灯状態は、合成結果に反映されない。それゆえ、この場合には、実質、上位チャンネルの一部のLEDだけでなく、下位チャンネルの一部のLEDも消灯状態とした場合と同様の状態となる。それに対して、この例のように、上位チャンネルの一部のLEDに透明定義データをセットすると、上位チャンネルの一部のLEDは消去状態となるが、下位チャンネルの一部のLEDの点灯状態が合成結果に反映され、出力されることになる。
(2)生成例2(連続変動演出における透明定義データの使用例)
生成例2では、複数の変動表示期間に渡って連続して実行される演出(例えば、先読み演出等)、複数の変動表示期間に渡って演出内容、期待度、信頼度等が段階的に変化する演出、又は、複数の変動表示期間に渡って表示内容や表示態様が変化しない演出(例えば、ループ映像、背景画像、ステージ映像等)において使用されるLEDアニメーションを、透明定義データを用いて生成する例を説明する。以下では、これらの演出を「連続変動演出」と称す。また、ここでは、連続変動演出において、演出内容の異なる複数種の演出を複合した演出が実行される例を説明する。
図126に、透明定義データを用いたLEDアニメーションの生成例2(点灯動作例)の概要を示す。なお、図126は、所定のLED281に対してセットされる各チャンネルのLEDデータの時間変化の様子及び所定のLED281から合成結果として出力されるLEDアニメーションのLEDデータ(出力データ)の時間変化の様子を示す図である。
図126に示す例では、前回の変動表示から次回の変動表示の期間に渡って行われる先読み演出において、所定のLED281により、前回の変動表示中に第1の変動演出に対応する点灯動作を行い、次回の変動表示中に第2の変動演出に対応する点灯動作を行う。すなわち、図126に示す連続変動演出の例では、演出内容が互いに異なる、先読み演出、第1の変動演出及び第2の変動演出を複合した演出が行われる。
なお、ここでいう、「変動演出」とは、1回の変動表示期間で終了する演出、又は、1回の変動期間毎に区切られる演出である。また、演出内容が複数の変動表示期間を跨ぐような演出内容であっても、1回の変動表示の終了とともに一旦演出が区切られる演出も変動演出に含まれる。さらに、先読み演出においても、変動演出と同様に制御してもよい(すなわち、先読み演出が変動演出に含まれていてもよい)。
図126に示す例で行われる変動演出は、例えば、表示装置13の表示領域13aに表示される装飾図柄を変動及び停止させるような内容の演出であり、変動演出に対応するLED281の点灯動作では、この装飾図柄画像の表示動作に対応する点灯動作が行われる。また、図126に示す例で行われる先読み演出は、例えば、装飾図柄の背景画像により実行される演出であり、先読み演出に対応するLED281の点灯動作では、背景画像の表示動作に対応する点灯動作が行われる。
なお、図126に示す例は、先読み演出中に、前回の変動表示で第1の変動演出及び第2の変動演出が選択され、次回の変動表示で第2の変動演出が選択された場合の演出例である。そして、図126に示す点灯動作例で制御される所定のLED281は、第1の変動演出及び第2の変動演出のいずれの演出にも使用されるLEDである。それゆえ、この所定のLED281において、第1の変動演出及び第2の変動演出のいずれの演出が実行されるかは、チャンネルの実行優先順位に応じて決定される。
連続変動演出に対応するLED281の点灯動作を実行するため、図126に示す例では、第8チャンネルに第1の変動演出用のLEDデータ(点灯態様のLEDデータ)をセットし、第7チャンネルに第2の変動演出用のLEDデータ(点灯態様のLEDデータ)をセットし、第6チャンネルに先読み演出用のLEDデータ(点灯態様のLEDデータ)をセットする。なお、この例においても、チャンネル間の実行優先順位は、上記実施形態と同様に、チャンネル番号が大きいほど高くなる。すなわち、第8チャンネルが最上位となり、第1チャンネルが最下位となる。
そして、図126に示す例では、前回の変動表示中に第1の変動演出を行い、次回の変動表示中に第2の変動演出を行うので、第8チャンネルでは、前回の変動表示中に第1の変動演出用のLEDデータがセットされ、次回の変動表示中に透明定義データ(第2の非点灯態様のLEDデータ)がセットされる。第7チャンネルでは、前回の変動表示中及び次回の変動表示中に第2の変動演出用のLEDデータがセットされる。また、第6チャンネルでは、前回の変動表示中及び次回の変動表示中に先読み演出用のLEDデータがセットされる。
さらに、図126に示す例(連続変動演出時)では、先読み演出用のLEDデータがセットされるチャンネル(第6チャンネル)より実行優先順位が上位のチャンネル、すなわち、変動演出用のデータがセットされるチャンネル(第8及び第7チャンネル)において、第2(次回)の変動演出開始前(第1(前回)の変動演出終了後)に、1フレーム(図126中の「1F」)分の透明定義データがセットされる。それゆえ、変動演出用のデータがセットされるチャンネルでは、連続変動演出時において、第2(次回)の変動演出用のLEDデータの直前に1フレーム分の透明定義データが付加されたLEDデータが、次回の変動表示期間のLEDデータとして用いられる。また、第8及び第7チャンネルにおいて1フレーム分の透明定義データが付加される期間では、第6チャンネルに対して、先読み演出用のLEDデータがセットされる。
なお、変動演出用のデータがセットされるチャンネル(第8及び第7チャンネル)において1フレーム分の透明定義データの付加する処理、及び、第6チャンネルにおいて1フレーム分の先読み演出用のLEDデータを付加する処理は、ホスト制御回路210が次回の変動表示開始を示すコマンドを受信した際に実行される。具体的には、演出が連続変動演出である場合、まず、後述のアニメーションリクエスト構築処理において、第8及び第7チャンネルに1フレーム分の透明定義データが付加されたLEDデータがセットされ、且つ、第6チャンネルに1フレーム分の先読み演出用のLEDデータが付加されたLEDデータがセットされるランプリクエストが取得される。そして、取得されたランプリクエストに対応付けられたLEDデータが、LED281にセットされる。
上述のようにして所定のLED281の各チャンネルにLEDデータをセットした場合、所定のLED281にセットされる合成結果(LEDアニメーション)の出力データとして、前回の変動表示中には、第1の変動演出用のLEDデータがセットされ、前回の変動表示終了後の1フレーム分の期間には、先読み演出用のLEDデータがセットされ、次回の変動表示中には、第2の変動演出用のLEDデータがセットされる(図126中の「出力データ」参照)。すなわち、図126に示すLED281の点灯動作例(連続変動演出)では、前回の変動表示中に第1の変動演出に対応する点灯動作が行われ、第1の変動演出が終了すると先読み演出(ステージ演出等)に対応する点灯動作が1フレーム分行われ、その後、第2の変動演出に対応する点灯動作が開始される。
なお、図126に示すLED281の点灯動作例は、連続変動演出において、変動演出に対応する点灯動作を担うLED281の動作例であるが、連続変動演出において、先読み演出に対応する点灯動作を担うLED281では、第8及び第7チャンネルに対して、前回の変動表示期間から次回の変動表示期間に渡って透明定義データがセットされる。
ここで、図126に示すLED281の点灯動作例と比較するため、図127に、変動演出用のデータがセットされるチャンネルにおいて、第2(次回)の変動演出開始前(第1(前回)の変動演出終了後)に、1フレーム分の消灯データ(第1の非点灯態様のLEDデータ)がセットされた場合のLED281の点灯動作例を示す。
この場合、LED281にセットされる合成結果(LEDアニメーション)の出力データとして、前回の変動表示中には、第1の変動演出用のLEDデータがセットされ、第1(前回)の変動演出終了後の1フレーム分の期間には、先読み演出用のLEDデータでなく、消灯データがセットされ、次回の変動表示中には、第2の変動演出用のLEDデータがセットされる(図127中の「出力データ」参照)。すなわち、図127に示すLED281の点灯動作例では、第1の変動演出に対応する点灯動作が行われた後、1フレーム分の期間、消灯動作が行われ、その後、第2の変動演出に対応する点灯動作が開始される。
図127に示す所定のLED281の点灯動作例では、連続変動演出において、第1(前回)の変動演出と第2(次回)の変動演出との間に消灯動作が挟まれるので、変動表示期間を跨ぐ演出(連続変動演出)が一旦途切れてしまう。このような点灯動作は、例えば、前回の変動表示の結果がハズレであった場合に実行してもよいが、この場合、連続変動演出(先読み演出等)が継続しているか否かの判別が難くなるという欠点もある。
しかしながら、図126に示すLED281の点灯動作例のように、連続変動演出時に、変動演出用のデータがセットされる上位チャンネルにおいて、第1(前回)の変動演出用のLEDデータと第2(次回)の変動演出用のLEDデータとの間の1フレーム分の期間に透明定義データをセットした場合には、その1フレーム分の期間、先読み演出に対応した点灯動作が行われる。この場合、連続変動演出(先読み演出等)が継続していることを容易に認識することができる。
また、図126に示すLED281の点灯動作例のように、実行優先順位で最上位となる第8チャンネルにおいて、前回の変動表示終了後から次回の変動表示終了時までの期間に渡って透明定義データをセットした場合、前回の変動表示中に設定された第8チャンネルのLEDデータをリセット(終了)させることができる。
また、図126に示すLED281の点灯動作例のように、実行優先順位で最上位となる第8チャンネルにおいて、前回の変動表示終了後から次回の変動表示終了時までの期間に渡って透明定義データをセットした場合、その他の下位のチャンネルにセットされたLEDデータにより先読み演出や第2の変動演出に対応する点灯動作を行いつつも、前回の変動表示終了後以降に必要が無くなる点灯態様のLEDデータ(第1の変動演出用のLEDデータ)をクリアすることができる。すなわち、図126に示すLED281の点灯動作例のように、複数のチャンネルのLEDデータを用いてLED281の点灯演出を行っている場合において、次変動開始以降、実行優先順位の高い特定のチャンネルに透明定義データをセットしたときには、特定のチャンネルのLEDデータによる点灯動作のみを終了させ、他のチャンネルのLEDデータによる点灯動作を維持したまま、演出をスムーズに継続する(次変動の演出にスムーズに移行する)ことができる。
すなわち、透明定義データを使用してLEDアニメーションを作成することにより、演出が、連続変動演出のように、複数種のLED点灯演出が複合し且つ複数の変動表示期間に渡って実行される演出である場合であっても、正確に且つ簡便にLED点灯制御(LED281を用いた演出制御)を行うことができる。
なお、上記生成例2では、LEDデータの設定態様として、例えば、第8チャンネル及び第7チャンネルに、1回の変動表示期間毎に区切ることができる演出のLEDデータ(発光態様)を設定し、第6チャンネルに複数の変動表示期間を跨ぐ演出のLEDデータを設定することが、予め決められていてもよい。このような構成では、第8チャンネル及び第7チャンネルにおいて、次回の変動演出開始前(前回の変動演出終了後)には、必ず、1フレーム(図126中の「1F」)分の透明定義データがセットされる。この場合、例えば、第8チャンネル及び第7チャンネルにセットされるLEDデータの設定点灯時間を長めに設定する必要が無くなり、すなわち、不要なLEDデータを取り扱う必要が無くなり、制御が簡便になるという効果も得られる。
また、上記生成例2では、透明定義データを用いたLEDアニメーションの作成手法の理解を容易にするため、実行優先順位が最上位となる第8チャンネルに変動演出用の発光態様(点灯態様及び/又は非点灯態様のLEDデータ)をセットする例を説明したが、本発明はこれに限定されない。実行優先順位が最上位となる第8チャンネルに、報知の優先度が高いエラー報知用の発光態様(LEDデータなど)をセットし、第7チャンネルに変動演出用の発光態様(点灯態様及び/又は非点灯態様のLEDデータ)をセットしてもよい。
(3)生成例3
上記生成例2(図126:連続変動演出の点灯動作例)のように、変動演出用のLEDデータがセットされるチャンネル(第8及び第7チャンネル)において、前回の変動表示終了後から次回の変動表示終了時までの期間に渡って透明定義データをセットする構成では、前回の変動表示期間にセットされる変動演出用のLEDデータの設定点灯時間(出力期間)は、実際に実行される点灯時間より長くてもよい。
この場合においても、次回の変動表示開始を示すコマンドをホスト制御回路210が受信した際には、それ以降、透明定義データがセットされるので、前回の変動表示期間にセットされる変動演出用の設定点灯時間が、実際に実行される変動演出の点灯時間より長くても、点灯時間が設定点灯時間に到達する前に、前回の変動表示中の変動演出を強制的に終了させることにことができる。その点灯動作例を、図128に示す。
図128は、所定のLED281の第8チャンネルにセットされるLEDデータの時間変化と、所定のLED281の第8チャンネルに設定される第1(前回)の変動演出用のLEDデータ(設定データ)の構成との関係を示す図である。
図128に示す生成例3では、第8チャンネルに対して、前回の変動表示中に第1の変動演出用のLEDデータ(点灯態様のLEDデータ)がセットされる。この際、第1の変動演出用のLEDデータの設定点灯時間は、実際に実行される第1の変動演出の点灯時間より長い値に設定される(図128中の「設定データ」参照)。そして、前回の変動表示が終了し、次回の変動表示開始を示すコマンドをホスト制御回路210が受信すると、1フレーム(図128中の「1F」)分の期間には透明定義データ(非点灯態様のLEDデータ)が第8チャンネルにセットされ、その後、次回の変動表示期間に渡って透明定義データがセットされる。
この結果、図128に示すように、前回の変動表示中に実行される第1の変動演出において、LED281の点灯動作の実行時間が設定点灯時間より短くても、次回の変動表示開始時には透明定義データがセットされ、第1の変動演出が強制的に終了することになる。
上記生成例3のようにして、透明定義データを用いてLEDアニメーションを作成した場合、LEDデータの設定点灯時間を厳密に設定する必要がなくなる。この場合、LED制御が容易(簡易)になるとともに、コストダウンも可能になる。
また、図128に示すLED281の点灯動作例では、第8チャンネルにおいて強制的に前回の変動表示中の変動演出が終了するが(強制的にLEDデータがクリアされるが)、それ以降セットされるLEDデータも透明定義データであるので、他のチャンネルにセットされたLEDデータによるLED281の点灯制御には影響を与えない。
なお、図128に示す例において、非点灯態様のLEDデータとして、透明定義データの代わりに消灯データを使用した場合には、前回の変動表示終了後以降、他のチャンネルのLEDデータに関係なく、実行優先順位が最も高い第8チャンネルにセットされた消灯データが合成結果として出力される。それゆえ、この場合には、前回の変動表示終了後以降、LED281が消灯された状態となり、他のチャンネルにセットされたLEDデータによる点灯動作は行われない。
上記生成例3(図128に示す例)では、第8チャンネルにおいて、次回の変動表示期間に渡って透明定義データ(非点灯態様のLEDデータ)をセットする例を説明したが、本発明はこれに限定されない。例えば、第8チャンネルにおいて、次回の変動表示期間に渡って点灯態様のLEDデータをセットしてもよい。また、この場合、第8チャンネルにおいて、次回の変動演出開始前(前回の変動演出終了後)の1フレーム分の期間においても、透明定義データ(非点灯態様のLEDデータ)の代わりに、点灯態様のLEDデータをセットしてもよい。
さらに、上記生成例3では、第8チャンネルにおいて、次回の変動表示期間に渡って非点灯態様のLEDデータ(透明定義データ)をセットする構成を説明したが、本発明はこれに限定されない。例えば、第8チャンネルにおいて、次回の変動表示期間に渡って点灯態様のLEDデータ及び非点灯態様のLEDデータのいずれもセットしない構成、すなわち、次回の変動表示期間に渡って、LED281に対して駆動データそのものをセットしない構成を採用してもよい。この場合、次回の変動表示期間では、第8チャンネルは使用しないと判断され、第8チャンネルが実行優先順位の判断対象から省かれる。それゆえ、この場合、次回の変動表示期間では、第7チェンネルを実行優先順位の最上位のチャンネルとして、点灯制御を行うことができる。なお、この処理では、第8チャンネルを実行優先順位の判断対象から省くとしたが、本発明はこれに限定されない。例えば、この省く処理の代わりに、第8チャンネルに対して実行優先順位の判断を実行しない、第8チャンネルに点灯態様のLEDデータ及び非点灯態様のLEDデータのいずれかがセットされているか否かの判定のみを行うなどの処理を行ってLED281の発光制御を実行してもよい。このような制御を行った場合、発光制御の処理を簡便化することが可能になる。
(4)生成例4(ボタン演出時における透明定義データの使用例)
上記生成例3で説明したLED281の点灯制御は、連続変動演出以外の演出にも適用することができる。その一つに、遊技者にボタン押下の操作を指示する演出(以下、「ボタン演出」と称す)が挙げられる。生成例4では、ボタン演出において使用されるLEDアニメーションを、透明定義データを用いて生成する例を説明する。
ボタン演出では、演出中に遊技者の押下操作が検出された際及びそれ以降に、透明定義データを設定することにより、ボタン演出を終了させる。図129に、透明定義データを用いてボタン演出を実行する際の各チャンネルのLEDデータの設定態様を示す。
図129に示す例では、ボタン押下演出用のLEDデータ(第1の点灯態様のLEDデータ)が第8チャンネルにセットされる。なお、この際、ボタン演出におけるLED281の設定点灯時間は、図129中の「設定データ」に示すように、ボタン演出の最長LED点灯時間(遊技者によるボタン押下操作の実行可能時間)が設定される。また、第7チャンネルには、ステージ演出用のLEDデータ(第2の点灯態様のLEDデータ)がセットされる。
すなわち、図129に示すボタン演出の例では、演出内容が互いに異なる、ボタン押下演出とステージ演出とが複合した演出が行われる。なお、この例においても、チャンネル間の実行優先順位は、上記実施形態と同様に、チャンネル番号が大きいほど高くなる。すなわち、第8チャンネルが最上位となり、第1チャンネルが最下位となる。
なお、ここでいう、ボタン押下演出は、例えば、表示装置13の表示領域13aに、遊技者にボタン押下の操作を指示する図柄画像(指示画像)を表示する演出であり、ボタン押下演出に対応するLED281の点灯動作では、遊技者にボタン押下の操作を指示する図柄画像の表示動作に対応する点灯動作が行われる。また、ここでいう、ステージ演出は、例えば、遊技者にボタン押下の操作を指示する図柄画像の背景画像により実行される演出であり、ステージ演出に対応するLED281の点灯動作では、背景画像の表示動作に対応する点灯動作が行われる。
ボタン演出では、図129に示すように、ボタン演出開始後、遊技者によるボタン押下操作が検出される前までの期間には、第7チャンネルより実行優先順位の高い第8チャンネルにセットされたボタン押下演出用のLEDデータが出力データとしてセットされる。それゆえ、ボタン演出開始後、遊技者によるボタン押下操作が検出される前までの期間では、第8チャンネルにセットされたボタン押下演出用のLEDデータに対応する点灯動作が行われる。
そして、ボタン演出中に遊技者によるボタン押下操作が検出されると、それ以降、第8チャンネルに透明定義データがセットされる。この場合、ボタン押下操作の検出以降、第7チャンネルにセットされたステージ演出用のLEDデータが出力データとしてセットされる。この結果、ボタン押下操作が検出されると、ボタン押下演出に対応する点灯動作が終了し(ボタン押下操作の指示画像の表示動作が終了し)、それ以降、ステージ演出に対応する点灯動作が実行される。
上述したホタン演出のように、上位チェンネルに最長LED点灯時間が設定されたボタン押下演出用のLEDデータがセットされた場合であっても、ボタン押下操作の検出時及びそれ以降に透明定義データをセットすることにより、LED点灯制御を、上位チャンネルにセットされたボタン押下演出に対応するLED点灯制御から下位チャンネルにセットされたステージ演出に対応するLED点灯制御にスムーズに移行させることができる。
図129に示すようなLED281の点灯時間が不定期である演出と点灯時間が不定期でない演出とを複合して実行する場合には、タイムスケジュールが厳密に設定されたLEDデータを用意する必要があるが、実際には、そのようなLEDデータを用意することは難しい。しかしながら、上述した生成例4のように、LED281の点灯時間が不定期である演出のLEDデータを上位チャンネルにセットし、点灯時間が不定期でない演出のLEDデータを下位チャンネルにセットし、点灯時間が不定期である演出のLED281の設定点灯時間を予測される実際の最長点灯時間以上に設定し、且つ、何らかの契機検出時(ボタン押下検出時等)及びそれ以降において透明定義データを上位チャンネルにセットする構成では、複合するLEDデータのタイムスケジュールを厳密に設定する必要がなくなる。
すなわち、透明定義データを使用してLEDアニメーションを作成した場合、演出が、ボタン演出のように、LED281の点灯時間が不定期である演出と点灯時間が不定期でない演出とが複合した演出である場合であっても、正確に且つ簡便にLED点灯制御(LED281を用いた演出制御)を行うことができる。
なお、図129に示すLED281の点灯動作例は、ボタン演出において、ボタン押下演出に対応する点灯動作(ボタン押下操作の指示画像の表示動作)を担うLED281の動作例であるが、ボタン演出において、ステージ演出に対応する点灯動作を担うLED281では、第8チャンネルに対して、ボタン演出の開始から終了までの期間、透明定義データがセットされる。
(5)LEDの点灯動作の制御手法
次に、図130を参照しながら、上述した透明定義データを使用した場合のLEDアニメーションの生成手法(LED281の点灯動作の制御手法)を説明する。なお、この例では、透明定義データを使用する演出(例えば、上述の連続変動演出やボタン演出)と、それ以外の演出とを区別し、実行する演出が前者である場合には、該演出に対応するランプリクエストが、アニメーションリクエスト構築処理において選択される。この結果、選択されたランプリクエストに基づいて、上記各種生成例で説明したような透明定義データを含むLEDデータが選択され、透明定義データを使用したLEDアニメーションが生成される。
図130は、この例におけるアニメーションリクエスト構築処理の手順を示すフローチャートである。なお、この例におけるアニメーションリクエスト構築処理中の各工程において、上記実施形態におけるアニメーションリクエスト構築処理(図94)中の工程と同じ工程には、同じ符号を付して示す。
また、変形例9では、アニメーションリクエスト構築処理以外の処理は、上記実施形態と同様に実行することができ、この例のパチンコ遊技機の構成も、上記実施形態のそれと同様の構成にする。それゆえ、ここでは、アニメーションリクエスト構築処理についてのみ説明する。また、この例のアニメーションリクエスト構築処理もまた、上記実施形態と同様に、副制御メイン処理(図81参照)のS206で行われる。
(5-1)アニメーションリクエスト構築処理
図130に示すこの例のアニメーションリクエスト構築処理のフローチャートと、図94に示す上記実施形態のアニメーションリクエスト構築処理のフローチャートとの比較から明らかなように、この例におけるアニメーションリクエスト構築処理中のS341~S351の処理は、上記実施形態のそれらと同様である。それゆえ、ここでは、S341~S351の処理の説明を省略し、S352以降の処理について説明する。
S351の処理後、又は、S341或いはS348がNO判定の場合、ホスト制御回路210は、サブワークRAM210aに格納されたゲームデータの情報を参照し、オブジェクト(例えば、演出オブジェクト、保留オブジェクト、シンプルモードオブジェクトなど)に基づくアニメーションリクエストを生成し、該アニメーションリクエストをサブワークRAM210aの所定領域にセットする(S352)。この処理によりコマンド受信に応じたアニメーションリクエストが生成される。
次いで、ホスト制御回路210は、アニメーションリクエストに基づいて、サウンドリクエスト生成処理を行う(S353A)。この処理では、ホスト制御回路210は、アニメーションリクエストが指定する演出に対応するサウンドリクエストを生成する。また、この処理では、ホスト制御回路210は、映像表示動作と、音声再生動作、発光動作及び役物駆動動作との同期をとるため、生成されたサウンドリクエストを、ホスト制御回路210内に設けられたリクエストバッファに一時的に格納する。
次いで、ホスト制御回路210は、ランプリクエスト生成処理を行う(S353B)。この処理では、ホスト制御回路210は、アニメーションリクエスト、演出内容、遊技者の押下操作の有無に基づいて、対応するランプリクエストを生成する。なお、ランプリクエスト生成処理の詳細については、後述の図131を参照しながら後で説明する。
次いで、ホスト制御回路210は、アニメーションリクエストに基づいて、役物リクエスト生成処理を行う(S353C)。この処理では、ホスト制御回路210は、アニメーションリクエストが指定する演出に対応する役物リクエストを生成する。また、この処理では、ホスト制御回路210は、映像表示動作と、音声再生動作、発光動作及び役物駆動動作との同期をとるため、生成された役物リクエストを、ホスト制御回路210内に設けられたリクエストバッファに一時的に格納する。
そして、S353Cの処理後、ホスト制御回路210は、この例のアニメーションリクエスト構築処理を終了し、処理を副制御メイン処理(図81参照)のS207に移す。
(5-2)ランプリクエスト生成処理
次に、図131を参照して、この例のアニメーションリクエスト構築処理(図130参照)中のS353Bで行うランプリクエスト生成処理について説明する。なお、図131は、ホスト制御回路210により実行されるこの例のランプリクエスト生成処理の手順を示すフローチャートである。
まず、ホスト制御回路210は、アニメーションリクエストが指定する演出に対応するランプリクエストを取得する(呼び出す)(S851)。
次いで、ホスト制御回路210は、現時点が連続変動演出中の変動開始時であるか否かを判別する(S852)。具体的には、ホスト制御回路210は、変動停止に関するコマンド(変動停止コマンドや、大当たりを示すコマンドなど)を受信した後に、変動開始に関するコマンド(特別図柄演出開始コマンドなど)を受信したか否かを判別して、現時点が連続変動演出中の変動開始時であるか否かを判別する。そして、ホスト制御回路210が、変動停止に関するコマンドを受信した後に、変動開始に関するコマンドを受信した場合には、S852はYES判定となる。
S852において、ホスト制御回路210が、現時点が連続変動演出中の変動開始時でないと判別した場合(S852がNO判定の場合)、ホスト制御回路210は、後述のS854の処理を行う。
一方、S852において、ホスト制御回路210が、現時点が連続変動演出中の変動開始時であると判別した場合(S852がYES判定の場合)、ホスト制御回路210は、連続変動演出用のランプリクエストを取得する(S853)。また、この処理では、ホスト制御回路210は、S851で取得したランプリクエストを、連続変動演出用のランプリクエストで書き換える。これにより、透明定義データを使用した連続変動演出用のLEDデータに対応付けられたランプリクエストが生成される。
S853の処理後、又は、S852がNO判定の場合、ホスト制御回路210は、現時点がボタン演出中であり且つ遊技者によるボタン操作が検出された時であるか否かを判別する(S854)。具体的には、ホスト制御回路210は、ボタン演出中において、遊技者によるボタン押下操作の実行に対応する信号(図87中の入力信号)がボタン操作のドライバからホスト制御回路210に入力されたか否かを判別して、現時点がボタン演出中であり且つ遊技者によるボタン操作が検出された時であるか否かを判別する。そして、ホスト制御回路210が、ボタン演出中において、ボタン押下操作の実行に対応する信号の入力を検知した場合には、S854はYES判定となる。
S854において、ホスト制御回路210が、S854の判定条件を満たさないと判別した場合(S854がNO判定の場合)、ホスト制御回路210は、後述のS856の処理を行う。
一方、S854において、ホスト制御回路210が、S854の判定条件を満たすと判別した場合(S854がYES判定の場合)、ホスト制御回路210は、ボタン演出用のランプリクエストを取得する(S855)。また、この処理では、ホスト制御回路210は、S851で取得したランプリクエストを、ボタン演出用のランプリクエストで書き換える。これにより、透明定義データを使用したボタン演出用のLEDデータに対応付けられたランプリクエストが生成される。
S855の処理後、又は、S854がNO判定の場合、ホスト制御回路210は、映像表示動作と、音声再生動作、発光動作及び役物駆動動作との同期をとるため、取得された(生成された)ランプリクエストをホスト制御回路210内に設けられたリクエストバッファに一時的に格納する(S856)。そして、S856の処理後、ホスト制御回路210は、この例のランプリクエスト生成処理を終了し、処理をこの例のアニメーションリクエスト構築処理(図130参照)のS353Cに移す。
(6)各種効果のまとめ及び変形態様
この例の透明定義データを用いたLED281の点灯制御は、上述のように、特に、複数種のLED点灯演出が複合する場合の点灯制御に好適である。具体的には、演出が複合する場合、通常、各演出のLEDデータに対して複雑なタイムチャートを作成する必要があるが、この例のように、実行優先度順位が設定された複数のチャンネルに各演出のLEDデータを設定し、且つ、演出内容に応じて上位チャンネルに適宜所定のタイミングで透明定義データを設定した場合には、LED281の点灯時間を厳密に設定したデータを作成する必要が無くなり、演出データの作成が簡便になる。すなわち、透明定義データを使用してLEDアニメーションを作成することにより、複数種のLED点灯演出が複合する場合であっても、正確に且つ簡便にLED点灯制御(LED281を用いた演出制御)を行うことができる。
また、この例の透明定義データを用いたLED281の点灯制御では、次のような効果も得られる。パチンコ遊技機における現状の設計手法では、LEDの設定点灯時間は実際の演出時間より長くなるよう設定される(最長点灯時間に設定される)ことが多い。この場合、例えば、前回の変動演出におけるLEDの点灯動作が終了し、次回の変動演出に対応したLEDの点灯動作を開始するときに、前回の変動演出で設定されたLEDデータが残り易くなり、これにより、前回の変動演出から次の変動演出へのLED点灯の移行動作がスムーズでなくなるという課題が存在する。しかしながら、この例のように、変動演出毎にその開始時に透明定義データを設定することによって、前回の変動演出で残っている余計なLEDデータの影響を防止することができる。
なお、上述したLEDアニメーションの各種生成例では、透明定義データを設定しない演出として、先読み演出やステージ演出と呼ばれる演出を例に挙げて説明したが、本発明はこれに限定されない。これらの演出以外にも、例えば、「第4図柄」と呼ばれる、特別図柄の抽選結果に対応した図柄の表示演出で使用されるLEDデータ、エラー表示時に使用されるLEDデータに対しても、透明定義データを設定しないようにしてもよい。
また、第4図柄のLEDデータは、先読み演出やステージ演出と呼ばれる演出用のLEDデータがセットされるチャンネルより実行優先順位の高いチャンネルにセットされる。さらに、エラー表示用のLEDデータは、第4図柄のLEDデータがセットされるチャンネルより実行優先順位の高いチャンネルにセットされる。
[変形例10]
ところで、上述した実施形態によれば、メインCPU71が、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった状態(特別図柄ゲームの始動記憶が「0」になった状態)が所定時間(例えば、30sec)維持されることを条件として、デモ表示コマンドデータを副制御回路200内のホスト制御回路210に送信し、副制御回路200は、デモ表示コマンドデータを受信すると、表示装置13の表示領域13aにデモ画面を表示させている。このため、遊技店の開店当初においては、遊技島の各遊技機に一斉に電源が投入されることから、約30秒後に遊技島の各遊技機が一斉にデモ表示を開始するようになり、遊技者に大きなインパクトを与えている。しかしながら、遊技者が遊技を開始して、第1始動口44あるいは第2始動口45に遊技球を入球させることにより、遊技島における各遊技機のデモ表示タイミングにばらつきが生じてしまう。これにより、デモ表示によって遊技者にインパクトを与えることが困難になる。次に記載する変形例10は、この問題を解決するものである。
本実施形態の変形例10は、図73に示す特別図柄記憶チェック処理において、メインCPU71が実行するデモ表示処理(S37)が異なっている。なお、変形例10におけるデモ表示は、30秒間のデモムービー表示と30秒間の識別図柄の停止表示とからなる計60秒の単位デモ表示が繰り返されることを例として説明する。
図132は、変形例10におけるデモ表示処理の処理手順を示すフローチャートである。
まず、メインCPU71は、デモ開始タイマが停止中か否かを判別する(S900)。S900おいて、メインCPU71が、デモ開始タイマが停止中であると判別した場合(S900がYES判定の場合)、メインCPU71は、デモ同期タイマ及び基準時間タイマよりタイマ値を取得する(S901)。
デモ開始タイマ、デモ同期タイマ及び基準時間タイマは、メインRAM73の所定の記憶領域にタイマ値を記憶し、このタイマ値に一定のタイミングで一定値ずつ加算することによってタイマとして機能させるものである。
デモ開始タイマは、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった状態の時間を計時する。デモ同期タイマ及び基準時間タイマは、パチンコ遊技機1への電源投入後、同時に計時を開始する。デモ同期タイマは、単位デモ表示の時間(例えば、60秒)ずつ計時する。基準時間タイマは、所定時間(例えば1/100秒)ずつ計時する。デモ同期タイマ及び基準時間タイマの計時開始時点は同じであるため、デモ同期タイマのタイマ値が変化した時点で、デモ同期タイマのタイマ値と基準時間タイマのタイマ値とは同じ値を示すようになる。なお、デモ開始タイマは、パチンコ遊技機1への電源投入後、30秒後に計時を開始するものとする。
更に、遊技島の電源が投入されることによって、遊技島に設置されている複数の遊技機が一斉に電源が投入されることから、遊技島に含まれるパチンコ遊技機1における基準時間タイマ及びデモ同期タイマは、同じタイミングで始動することになり、同じタイマ値を計数することになる。
図132に戻って、メインCPU71は、デモ開始時間を算出して、その算出結果をデモ開始タイマにセットして(S902)、デモ開始タイマを始動させる処理を行う(S903)。この処理が終了した場合に、デモ表示処理を終了する。
デモ開始時間Tは、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった時点から、規定の待ち時間(例えば、30秒)を経過して更にデモ同期タイマの値が更新される時点までの時間である。
第1始動口入賞及び第2始動口入賞の保留個数が「0」になった時点は、基準時間タイマの値によって特定可能である。この時点の基準時間タイマの値とデモ同期タイマの値との差をΔTとすると、ΔTが30秒以下の場合には、規定の待ち時間(例えば、30秒)を経過した時点でデモ同期タイマの値が更新されないことから、デモ開始時間Tは、T=60-ΔTの式で算出可能である。また、ΔTが30秒を越える場合には、規定の待ち時間(例えば、30秒)を経過した時点でデモ同期タイマの値が更新されることから、デモ開始時間Tは、単位デモ表示の時間(60秒)加算されて、T=120-ΔTの式で算出可能である。
したがって、デモ開始タイマには、最小で30秒、最大で約90秒セットされることになる。デモ開始タイマにデモ開始時間がセットされてデモ開始タイマが始動すると、タイマ値が1秒ごとに1ずつ減算される。
また図132に戻って、メインCPU71は、デモ開始タイマが停止中であると判別しない場合(S900がNO判定の場合)、デモ開始タイマが0以下になったか否かを判定し、デモ開始タイマが0以下になったと判定した場合(S904のYES)には、メインCPU71は、デモ表示コマンドをメインRAM73にセットした後(S905)、デモ表示処理を終了する。メインCPU71が、デモ開始タイマが0以下になったと判定しない場合には、デモ表示処理を終了する。そして、デモ表示コマンドのデータは、主制御回路70のメインCPU71から副制御回路200内のホスト制御回路210に送信される。副制御回路200は、デモ表示コマンドデータを受信すると、表示装置13の表示領域13aにデモ画面を表示させる。
なお、デモ開始タイマの計時中においては、表示装置13の表示領域13aに停止状態の識別図柄が継続して表示され、第1始動口44あるいは第2始動口45への入賞があった場合、主制御回路100が始動入賞に基づく演出に関するコマンドを副制御回路200に送信するため、表示装置13の表示領域13aにはデモ画面に変わって、演出用の識別図柄の変動表示が行われる。また、第1始動口44あるいは第2始動口45への入賞があった場合に、メインCPU71は、デモ開始タイマの計時を停止するとともに、タイマ値をリセットする。
次に、変形例10におけるデモ表示のタイミングについて、図133を参照しながら説明する。
図133は、遊技機に電源を一斉投入した後のデモ表示のタイミングを示す説明図であり、パターンAは、遊技が実行されない遊技機の場合を示すものである。午前10時に遊技機に電源が一斉投入されてから基準時間タイマ及びデモ同期タイマが同時に計時を開始する。また、デモ開始タイマは、電源が一斉投入されてから30秒後に計時を開始する。
このため、遊技が実行されない遊技機においては、パターンAに示すように、電源一斉投入時点から1分後にデモムービーの表示が開始される。それ以降、1分おきにデモムービーが表示される。
ここで、遊技が実行され、始動入賞すると表示手段19において識別図柄の導出表示が行われ、例えば、パターンBに示すように、10時1分15秒で識別図柄が停止した場合、基準時間タイマは1分15秒を計時し、デモ同期タイマは1分00秒を計時することから、デモ開始時間として45秒がセットされる。このため、識別図柄が停止した状態が45秒継続して、10時2分00秒になった時点で、デモムービーの表示が開始される。それ以降、始動入賞しない場合には、1分おきにデモムービーが表示される。
また、パターンCに示すように、パターンBよりも遅く10時1分45秒で識別図柄が停止した場合、基準時間タイマは1分45秒を計時し、デモ同期タイマは1分00秒を計時することから、デモ開始時間として75秒がセットされる。このため、識別図柄が停止した状態が75秒継続して、10時3分00秒になった時点で、デモムービーの表示が開始される。それ以降、始動入賞しない場合には、1分おきにデモムービーが表示される。
仮に、1番の遊技機がパターンAでデモ表示を行い、2番の遊技機がパターンBでデモ表示を行い、3番の遊技機がパターンCでデモ表示を行った場合、10時2分00秒になった時点で、1番の遊技機と2番の遊技機とが同じタイミングでデモ表示を開始し、10時3分00秒になった時点で、1~3番の遊技機が同じタイミングでデモ表示を開始する。
このように変形例10によれば、遊技島における複数の遊技機のデモ表示が同期することから、例えば、遊技が行われていない遊技機が複数ある場合に、これらの遊技機によって一斉にデモ表示が行われる。これにより、遊技者にインパクトを与えるデモ表示が可能になる。
また、デモ同期タイマの発信する時間情報に基づいて、決められたタイミングでデモ演出表示の制御を行うので、途中、識別図柄の変動表示が行われても、停止表示後、30秒経過するとともに、次の時間情報まで待機する待機制御によって、所定のタイミングでデモ演出表示が行われることになる。このため、例えば、遊技店において島を形成する複数の遊技機において、発生タイミングの一定ではない識別図柄の変動表示が行われたとしても、デモ演出表示の開始タイミングを一定にすることが可能となり、遊技店における複数の遊技機間で、図柄変動表示を行っている遊技機を除いて、可能な限り同期のとれた演出表示を行うことが可能となる。
以上、変形例10について説明したが、変形例10は上述した構成に限るものではない。例えば、上述した変形例10においては、複数の遊技機におけるデモ表示が同期するように、主制御回路100側でデモ表示コマンドデータの送信タイミングを調整しているが、それに限らず、副制御回路200が、主制御回路100からデモ表示コマンドデータを受信した際に、複数の遊技機におけるデモ表示が同期するように、デモ表示の開始タイミングを調整するように構成してもよい。
具体的には、ホスト制御回路210に、上述したデモ同期タイマの機能を持たせる。そして、主制御回路100は、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった状態が30秒継続した場合にデモ表示コマンドデータを副制御回路200に送信する。副制御回路200のホスト制御回路210は、主制御回路100からデモ表示コマンドデータを受信した場合に、図81に示すコマンド解析処理(S205)において、デモ表示コマンドデータを受信した時点からデモ同期タイマにおける次の更新時点までの待機時間を算出して、その待機時間を遅延タイマにセットし、遅延タイマを始動させる。その後、遅延タイマが、セットした待機時間を計時した場合に、デモ表示を実行させる。これにより、遊技島においてデモ表示を行っている遊技機が複数ある場合に、それら複数の遊技機におけるデモ表示を同期させることが可能になる。なお、遅延タイマは、副制御回路200が変動開始コマンドを受信した場合に停止、リセットされる。
あるいは、ホスト制御回路210に、上述した基準時間タイマ及びデモ同期タイマの機能を持たせる。そして、主制御回路100は、第1始動口入賞及び第2始動口入賞の保留個数が「0」になった状態が30秒継続した場合にデモ表示コマンドデータを副制御回路200に送信する。副制御回路200のホスト制御回路210は、主制御回路100からデモ表示コマンドデータを受信した場合に、図81に示すコマンド解析処理(S205)において、基準時間タイマの値とデモ同期タイマの値との時間差を求め、デモ表示パターンの最初からこの時間差だけ経過した時点の画像からデモ表示を開始させる。これにより、遊技島においてデモ表示を行っている遊技機が複数ある場合に、それら複数の遊技機におけるデモ表示を同期させることが可能になる。
また、上述した基準時間タイマ及びデモ同期タイマとして、RTC211を利用することも可能である。具体的には、RTC211は、実際の時刻を1/100秒単位で計時するものとし、RTC211が計時する時刻を基準時間タイマの計時値とし、RTC211が計時する時刻における時、分までをデモ同期タイマとする。そして、識別図柄が停止した時点における基準時間タイマとデモ同期タイマとの差、言い替えれば、RTC211の秒の値が30秒以下であれば、RTC211の「分」の値が「+1」される時点をデモ表示の開始時点とする。RTC211の秒の値が30秒を越えた場合には、RTC211の「分」の値が「+2」される時点をデモ表示の開始時点とする。図131のパターンBを例にすると、識別図柄が停止した時点で、RTC211が10h01m15sを計時した場合、RTC211が10h02m00sを計時する時点がデモ表示の開始時点となり、パターンCを例にすると、識別図柄が停止した時点で、RTC211が10h01m45sを計時した場合、RTC211が10h03m00sを計時する時点がデモ表示の開始時点となる。
[変形例11]
上述した実施形態によれば、音声チャンネルにおいて優先順位の高いチャンネルの音声データを優先して出力させることにより、優先順位の高い音声(エラー音、演出音等)を遊技者が聞こえるようにしていることに対し、変形例11は、マルチエフェクタ228に、サイドチェインを実行する機能を具備させ、スピーカ11に出力する信号に対して処理を施すことにより、優先順位の高い音声(エラー音、演出音等)が遊技者に聞こえ易くするものである。サイドチェインとはエフェクタの制御信号として別のチャンネルの信号を利用する外部入力方式である。
図134(a)は、マルチエフェクタ228の要部構成を示すブロック図である。マルチエフェクタ228は、サイドチェイン制御部228aと、エフェクト制御部228bと、ミキサ228cと、を備えている。
マルチエフェクタ228には、メインジェネレータ227の各音声チャンネルに音声データをセットすることによって変換された各音声信号が入力される。
サイドチェイン制御部228aは、図134(b)に示す1又は複数のサイドチェインエフェクタ228dを備えている。サイドチェインエフェクタ228dは、2入力1出力であり、一方の入力に所定の音声チャンネルに対応する信号線が接続され、他方の入力に比較用の所定の音声チャンネルに対応する信号線が接続される。この際、一方の入力に対応する音声チャンネルは、他方の入力に対応する音声チャンネルよりも優先度が高いものとする。そして、サイドチェインエフェクタ228dは、2入力に音声信号が入力された場合に、一方の入力の音声信号に対して、他方の入力の音声信号と重複する部分の音量を低くする処理を行ってエフェクト制御部228bに出力する。なお、サイドチェインエフェクタ228dにおいて他方の入力に音声信号が入力されない場合には、一方の入力に入力される音声信号がそのままエフェクト制御部228bに出力されることになる。
エフェクト制御部228bは、サイドチェイン制御部228aから出力される各音声信号に対して、必要に応じて所定のエフェクト効果を施してミキサ228cに出力する。なお、エフェクト制御部228bにおいてエフェクト処理されない音声信号はそのままミキサ228cに出力されることになる。ミキサ228cは、エフェクト制御部228bを通過した各音声信号を合成する。
次に、サイドチェインエフェクタ228dの動作について、識別図柄の変動中にBGMが流れており、保留球表示の変化に伴って保留演出音が出力された場合を例として説明する。
この場合、サイドチェイン制御部228aの一方の入力にBGMの音声信号が入力され、他方の入力に保留演出音の音声信号が入力される。一方の入力にBGMの音声信号が入力され、他方の入力に保留演出音の音声信号が入力されない場合には、スピーカ11からBGMが再生出力される。BGMの再生中に、サイドチェイン制御部228aの他方の入力に保留球表示の変化に伴う保留演出音がセットされた場合、サイドチェインエフェクタ228dは、音声チャンネルにセットされているBGMの音声信号における保留演出音の音声信号が出力されるタイミングと重複する部分の音量を低くする処理を行う。
そして、ミキサ228cによって、サイドチェイン処理されたBGMの音声信号と保留演出音の音声信号とが合成されてスピーカ11に出力される。この音声信号に基づいて、スピーカ11が音声出力した場合、前面に出ていたBGMが、保留演出音が出力されている間に後ろに下がっているように感じられ、その結果、保留演出音が聞こえやすくなる。
なお、BGMの再生中に、保留演出音が出力される場合を例として説明したが、それに限るものではなく、例えば、エラー音の再生中において保留演出音が出力される場合に、エラー音の音量を下げてもよく、更に、BGMの再生中に、「リーチ」や「大当り」等の演出音が出力される場合に、BGMの音量を下げてもよい。なお、BGMの音量を下げる程度については適宜設定可能であり、BGMの音量を0にしても、BGMが聞こえる程度に下げてもよい。
また、上述した構成によれば、サイドチェインエフェクタ228dによって、BGMの音量を下げているが、それに限らず、BGMにおける特定の周波数帯を調整することによって、BGMをよりクリアな音声とすることにより、結果として保留演出音が聞こえやすくしてもよい。
このように本実施形態によれば、複数の音声が同時に出力される場合に、優先度の高い音声が出力されるタイミングで優先度の低い音声にサイドチェイン処理が施されるため、遊技者は、優先度の高い音声を明確に聞き取ることが可能になる。このように、専用デバイス(サイドチェインエフェクタ228d)によって、音声の優先度を明確化することが可能となり、複数の音声を同時に出力することによる混声の微妙なバランスやタイミングを制御することが可能になる。
なお、本実施形態について、パチンコ遊技機10を例として説明したが、他の遊技機、例えばパチスロに本実施形態を適用することも可能である。
[他の実施形態]
[パチスロの機能フロー]
本発明を適用可能な他の遊技機の実施形態について、以下に図面を参照しながら説明する。はじめに、図135を参照して、本実施形態における遊技機(以下、パチスロ)500の機能フローについて説明する。
遊技者によりメダルが投入され、スタートレバー506が操作されると、予め定められた数値の範囲(例えば、0~65535)の乱数から1つの値(以下、乱数値)が抽出される。
内部抽籤手段(内部当籤役決定手段ともいう。後述のメインCPU531)は、抽出された乱数値に基づいて抽籤を行い、内部当籤役(単に当籤役ともいう)を決定する。内部当籤役の決定により、有効ライン(入賞判定ライン、入賞ラインともいう)に沿って表示を行うことを許可する図柄の組合せが決定される。なお、図柄の組合せの種別としては、メダルの払い出し、再遊技の作動、ボーナスの作動等といった特典が遊技者に与えられる「入賞」に係るものと、それ以外のいわゆる「ハズレ」に係るものとが設けられている。
続いて、複数のリール503L,503C,503Rの回転が行われた後で、遊技者によりストップボタン507L,507C,507Rが押されると、リール停止制御手段(後述のモータ駆動回路539、後述のステッピングモータ549L,549C,549R)は、内部当籤役とストップボタン507L,507C,507Rが押されたタイミングとに基づいて、該当するリール503L,503C,503Rの回転を停止する制御を行う。
ここで、パチスロ500では、基本的に、ストップボタン507L,507C,507Rが押されたときから規定時間(190msec)内に、該当するリール503L,503C,503Rの回転を停止する制御が行われる。本実施形態では、上記規定時間内でのリール503L,503C,503Rの回転に伴って移動する図柄の数を「滑り駒数」と呼び、その最大数を図柄4個分に定める。
リール停止制御手段は、入賞に係る図柄の組合せの表示を許可する内部当籤役が決定されているときでは、上記規定時間を利用して、その図柄の組合せが有効ラインに沿って極力表示されるようにリール503L,503C,503Rの回転を停止する。その一方で、内部当籤役によってその表示が許可されていない図柄の組合せについては、上記規定時間を利用して、有効ラインに沿って表示されることがないようにリール503L,503C,503Rの回転を停止する。
こうして、複数のリール503L,503C,503Rの回転がすべて停止されると、入賞判定手段(例えば、後述のメインCPU531)は、有効ラインに沿って表示された図柄の組合せが、入賞に係るものであるか否かの判定を行う。入賞に係るものであるとの判定が行われると、メダルの払い出し等の特典が遊技者に与えられる。以上のような一連の流れがパチスロ500における1回の遊技(単位遊技)として行われる。
なお、本実施形態では、全てのリール503L,503C,503Rが回転しているときに最初に行われるリール503L,503C,503Rの停止操作(ストップボタン507L,507C,507Rの操作)を第1停止操作、第1停止操作の次に行われる停止操作を第2停止操作、第2停止操作の次に行われる停止操作を第3停止操作という。また、第1停止操作に伴う停止制御を第1停止といい、第2停止操作及び第3停止操作に伴う停止制御を、それぞれ第2停止及び第3停止という。
パチスロ500では、前述した一連の流れの中で、液晶表示装置505により行う映像の表示、各種ランプにより行う光の出力、スピーカ509L,509Rにより行う音の出力、或いはこれらの組合せを利用して様々な演出が行われる。
遊技者によりスタートレバー506が操作されると、前述の内部当籤役の決定に用いられた乱数値とは別に、演出用の乱数値(以下、演出用乱数値)が抽出される。演出用乱数値が抽出されると、演出内容決定手段(後述のサブCPU581)は、内部当籤役に対応づけられた複数種類の演出内容の中から今回実行するものを抽籤により決定する。
演出内容が決定されると、演出実行手段(後述のスピーカ509L,509R、液晶表示装置505)は、リール503L,503C,503Rの回転が開始されるとき、リール503L,503C,503Rの回転がそれぞれ停止されるとき、入賞の有無の判定が行われたとき等の各契機に連動させて演出の実行を進める。このように、パチスロ500では、内部当籤役に対応づけられた演出内容を実行することによって、決定された内部当籤役(言い換えると、狙うべき図柄の組合せ)を知る或いは予想する機会が遊技者に提供され、遊技者の興味の向上が図られる。
[パチスロの構造]
次に、図136を参照して、本実施形態におけるパチスロ500の構造について説明する。図136は、本実施形態におけるパチスロ500の外部構造を示す。
パチスロ500は、いわゆる「パチスロ機」である。このパチスロ500は、コイン、メダル、遊技球又はトークン等の他、遊技者に付与された、もしくは付与される遊技価値の情報を記憶したカード等の遊技媒体を用いて遊技する遊技機である。以下において、パチスロ500は、メダルを用いるものとして説明する。
パチスロ500は、リール503L,503C,503Rや回路基板等を収容する筐体となるキャビネット501aと、キャビネット501aの前面側に対して開閉可能に取り付けられるフロントドア502と、フロントドア502の前面側にパネル部となるフロントパネル508とを備える。キャビネット501aの内部には、3つのリール503L,503C,503Rが横並びに設けられる。各リール503L,503C,503Rは、円筒状のフレームの周面に、複数の図柄が回転方向に沿って連続的に配置された帯状のシートを貼り付けて構成される。
フロントドア502は、ドア本体の部分であり、フロントドア502の中央には、液晶表示装置5が設けられる。液晶表示装置505は、フロントドア502の前面側であって、フロントドア502とフロントパネル508との間に設けられる。液晶表示装置505は、取付枠により、フロントドア502の上側の部分に固定される。
また、液晶表示装置505は、図柄表示領域521L,521C,521Rを含む表示画面5aを備え、正面から見て3つのリール503L,503C,503Rに重畳する手前側に位置するように設けられる。図柄表示領域521L,521C,521Rは、3つのリール503L,503C,503Rのそれぞれに対応して設けられており、その背面側に設けられたリール503L,503C,503Rを透過することが可能な構成を備える。
つまり、図柄表示領域521L,521C,521Rは、表示窓としての機能を果たすものであり、その背後に設けられたリール503L,503C,503Rの回転及びその停止の動作が遊技者側から視認可能となる。また、本実施形態では、図柄表示領域521L,521C,521Rを含めた表示画面の全体を使って、映像の表示が行われ、演出が実行される。さらに、本実施形態では、図柄表示領域521L,521C,521Rを含めた表示画面全体において、メニュー操作画面(図示せず)の表示も可能である。
図柄表示領域521L,521C,521Rは、その背後に設けられたリール503L,503C,503Rの回転が停止されたとき、リール503L,503C,503Rの表面に配された複数種類の図柄のうち、その枠内における上段、中段及び下段の各領域にそれぞれ1個の図柄(合計で3個)を表示する。また、各図柄表示領域521L,521C,521Rが有する上段、中段及び下段からなる3つの領域のうち予め定められた何れかをそれぞれ組合せてなる擬似的なラインを、入賞か否かの判定を行う対象となるライン(有効ライン)として定義する。なお、本実施形態では、有効ラインは、中段ライン508cの1ラインのみである。
フロントドア502には、遊技者による操作の対象となる各種装置が設けられる。メダル投入口510は、遊技者によって外部から投下されるメダルを受け入れるために設けられる。メダル投入口510に受け入れられたメダルは、所定枚数(例えば3枚)を上限として1回の遊技に投入され、所定枚数を超えた分はパチスロ500内部に預けることが可能となる(いわゆるクレジット機能)。
ベットボタン511は、パチスロ内部に預けられているメダルから1回の遊技に投入する枚数を決定するために設けられる。精算ボタン512は、パチスロ内部に預けられているメダルを外部に引き出すために設けられる。なお、本実施形態のパチスロ500では、クレジット機能により内部に預けることが可能なメダルの限度枚数が例えば50枚に設定されている。
スタートレバー506は、全てのリール503L,503C,503Rの回転を開始するために設けられる。ストップボタン507L,507C,507Rは、3つのリール503L,503C,503Rのそれぞれに対応づけられ、対応するリール503L,503C,503Rの回転を停止するために設けられる。
7セグ表示器513は、7セグメントLEDからなり、特典として遊技者に対して払い出すメダルの枚数(以下、払出枚数)、今回の遊技(単位遊技)に投入されたメダルの枚数(以下、投入枚数)、パチスロ内部に預けられているメダルの枚数(以下、クレジット枚数)等の情報を遊技者に対してそれぞれデジタル表示するための払出枚数表示部513A、投入枚数表示部513B、クレジット枚数表示部513Cを有する。
ランプ(LED等)514は、演出内容に応じた点消灯のパターンにて光を出力する。スピーカ509L,509Rは、演出内容に応じた効果音や楽曲等の音を出力する。また、スピーカ509L,509Rは、メダルの払い出しに伴いそれに応じた払出音を出力する。メダル払出口515は、排出されるメダルを外部に導く。メダル払出口515から排出されたメダルは、メダル受皿516に貯められる。なお、本実施形態のパチスロ500では、クレジット機能により内部に預けられたメダルの枚数が限度枚数(50枚)に達すると、その余のメダルがメダル払出口515から自動的に排出されるようになっている。
特に図示しないが、フロントドア502を開放して見えるキャビネット501aの内部には、主制御回路571、メダル払出装置としてのホッパー540等が配置されている(図137参照)。また、キャビネット501aの内部には、ホール係員が各種の設定操作を行うための設定用の鍵穴やリセットボタンが設けられている。ホール側が管理する設定キーが設定用の鍵穴に差し込まれて所定の方向に回動されると、設定スイッチがオンとなり、パチスロ500の電源が投入された状態(初期状態)となる。リセットボタンが操作されると、いわゆる設定値(単に設定ともいう)が1~4の4段階で移行する。設定値は、7セグ表示器513に表示され、所望の設定値が表示された状態でスタートレバー506の操作を行うと、当該設定値に決定される。
また、電源投入時には、液晶表示装置505にメニュー操作画面が表示される。メニュー操作画面が表示された状態でベットボタン511やストップボタン507L,507C,507Rを操作することにより、そのメニュー操作画面に表示されたメニュー項目の選択や設定変更可能な各種数値の変更を行うことができる。設定変更可能な各種数値には、パチスロ500で管理される現在時刻の基準となる初期設定時刻や、リミット数及び予告数がある。所望とする設定値に決定され、また、所望とする初期設定時刻やリミット数及び予告数に変更され、その後、所定の方向とは逆方向に設定キーが回動されて引き抜く操作が行われると、変更された設定値、初期設定時刻、リミット数、予告数が管理情報として設定され、遊技可能な状態となる。
[遊技機の機能構成]
次に、本実施形態におけるパチスロ500が有する機能構成について説明する。本実施形態におけるパチスロ500は、キャビネット501aの内部上側位置に、主制御回路571を構成する基板(主制御基板)、副制御回路572を構成する基板(副制御基板)、及びこれらと電気的に接続される周辺装置(各種デバイスなど)が設けられている。
[主制御回路]
図137は、パチスロの主制御回路の構成を示す図である。主制御回路571は、回路基板上に配置されたマイクロコンピュータ530を主たる構成要素としている。マイクロコンピュータ530は、メインCPU531、メインROM532およびメインRAM533などを含む。
メインROM532には、メインCPU531により実行される制御プログラム、図柄配置テーブル、図柄組合せテーブル、内部抽籤テーブル等の各種のデータテーブル、副制御回路572に対して送信される各種制御指令(コマンドなど)のデータ等が記憶される。メインRAM533には、制御プログラムの実行により決定された内部当籤役等の各種データを格納する格納領域が設けられる。例えば、メインRAM533には、クレジットカウンタとして機能することでクレジット枚数を格納する領域が設けられる。
メインCPU531には、クロックパルス発生回路534、分周器535、乱数発生器536、サンプリング回路537、およびメインRTC(リアルタイムクロック回路)538が接続される。クロックパルス発生回路534および分周器535は、クロックパルスを発生する。メインCPU531は、発生されたクロックパルスに基づいて、制御プログラムを実行する。乱数発生器536は、予め定められた範囲(例えば、0~65535)から1つの乱数を発生させる。メインRTC538は、初期状態からの現在時刻を計時する。メインCPU531は、メインRTC538から現在時刻を取得することにより、遊技終了時刻や電断発生時刻等を管理情報として取り扱うことができる。
マイクロコンピュータ530の入力ポートには、スイッチ等が接続されている。メインCPU531は、各種のスイッチなどからの入力を受けて、ステッピングモータ549L,549C,549Rなどの周辺装置の動作を制御する。
ストップスイッチ507Sは、3つのストップボタン507L,507C,507Rが遊技者により、リール503L,503C,503Rの回転を停止させるために押下されたことを検出する。また、スタートスイッチ6Sは、スタートレバー506が遊技者により、リール503L,503C,503Rの回転を開始させるために操作されたことを検出する。
メダルセンサ542Sは、メダル投入口510に受け入れられたメダルを検出する。ベットスイッチ511Sは、ベットボタン511が遊技者により押下されたことを検出する。精算スイッチ512Sは、精算ボタン512が遊技者により押下されたことを検出する。
マイクロコンピュータ530により動作が制御される周辺装置としては、ステッピングモータ549L,549C,549R、7セグ表示器513、及びホッパー540がある。また、マイクロコンピュータ530の出力ポートには、各周辺装置の動作を制御するための回路が接続されている。
モータ駆動回路539は、リール503L,503C,503Rに対応して設けられたステッピングモータ549L,549C,549Rの駆動を制御する。リール位置検出回路550は、発光部と受光部とを有する光センサにより、リール503L,503C,503Rが一回転したことを示すリールインデックスをリール503L,503C,503Rに応じて検出する。
ステッピングモータ549L,549C,549Rは、回転速度がパルスの出力数に比例し、指定された角度で回転軸を停止させることが可能な構成を含む。ステッピングモータ549L,549C,549Rの駆動力は、所定の減速比のギアを介してリール503L,503C,503Rに伝達される。ステッピングモータ549L,549C,549Rに対して1回のパルスが出力されるごとに、リール503L,503C,503Rは一定の角度で回転する。
メインCPU531は、リールインデックスを検出してからステッピングモータ549L,549C,549Rに対してパルスを出力した回数をカウントすることによって、リール503L,503C,503Rの回転角度を管理する。メインCPU531は、リール503L,503C,503Rの回転角度を管理することにより、リール503L,503C,503Rの表面に配置された複数の図柄の各位置を管理する。
表示部駆動回路48は、7セグ表示器513の動作を制御する。また、ホッパー駆動回路541は、ホッパー540の動作を制御する。また、払出完了信号回路551は、ホッパー540に設けられたメダル検出部540Sが行うメダルの検出を管理し、ホッパー540から外部に排出されたメダルが払出枚数に達したか否かをチェックする。ホッパー540は、時間的に払出間隔をあけつつメダルを1枚ずつ繰り出す動作(払出動作)を行うように構成されている。
副制御回路572は、主制御回路571と電気的に接続されており、主制御回路571から送信されるコマンドに基づいて演出内容の決定や実行等の処理を行う。副制御回路572には、液晶表示装置505、スピーカ509L,509R、ランプ514が接続されており、主制御回路571から送信されたコマンドに応じてこれらを制御する。また、副制御回路572は、主制御回路571から送信されたコマンドに応じて、ROM582に記憶されている制御プログラムに従い、映像、音、光の出力の制御を行うCPU581を有する。
本実施形態において、ホッパー540は、複数の図柄表示手段(リール503L,503C,503R)において停止表示される図柄の組合せに応じて遊技媒体(メダル)を払い出す払出手段を実現している。液晶表示装置505は、内部当籤役決定手段により決定された内部当籤役を報知する報知手段を実現している。スピーカ509L,509Rは、音を出力する出音手段を実現している。メインCPU531は、開始操作手段(スタートレバー506)が操作されたことに応じて、複数の役から内部当籤役を抽籤により決定する内部当籤役決定手段、複数の図柄表示手段において複数の図柄を変動表示させる図柄変動手段、内部当籤役決定手段により決定された内部当籤役と複数の停止操作手段(ストップボタン507L,507C,507R)が操作されたこととに応じて、複数の図柄表示手段において複数の図柄を停止表示させる停止制御手段、払出手段による遊技媒体の払出間隔を調整したり払出動作を遅延させる払出制御手段を実現している。サブCPU581は、出音手段を制御する出音制御手段を実現している。
[副制御回路]
図138は、本実施形態におけるパチスロ500の副制御回路572の構成を示す。
副制御回路572は、基本的に、CPU(以下、サブCPU)581、ROM(以下、サブROM)582、RAM(以下、サブRAM)583、レンダリングプロセッサ584、描画用RAM585、ドライバ587、DSP(デジタルシグナルプロセッサ)588、オーディオRAM589及びA/D変換器590及びアンプ591を含んで構成されている。
サブCPU581は、主制御回路571から送信されたコマンドに応じて、サブROM582に記憶されている制御プログラムに従い、映像、音、光の出力の制御を行う。サブRAM583は、決定された演出内容や演出データを登録する格納領域や、主制御回路571から送信される内部当籤役等の各種データを格納する格納領域が設けられている。サブROM582は、基本的に、プログラム記憶領域とデータ記憶領域によって構成される。
プログラム記憶領域には、サブCPU581が実行する制御プログラムが記憶されている。例えば、制御プログラムには、副制御回路572全体を管理するためのリアルタイムOSや、当該リアルタイムOSに起動要求されるマザータスク等が含まれる。マザータスクには、メインタスク起動要求や主制御回路571との通信を制御するための主基板通信タスク起動要求、液晶表示装置505による映像の表示を制御するためのアニメタスク起動要求、さらには差枚数が関係するリミット処理タスク起動要求等が含まれる。
また、制御プログラムには、ソフトウェアロジックによってRTCを実現するためのプログラムが含まれる。これにより、サブCPU581は、サブRTC581aとしての機能を有する。サブRTC581aは、初期状態においてホール係員により任意に設定された時刻を基準として現在時刻を計時する。サブCPU581は、サブRTC581aから現在時刻を取得することにより、遊技終了時刻や電断発生時刻等を管理情報として取り扱うことができる。
データ記憶領域は、各種データテーブルを記憶する記憶領域、各演出内容を構成する演出データを記憶する記憶領域、映像の作成に関するアニメーションデータを記憶する記憶領域、BGMや効果音、払出音等に関するサウンドデータを記憶する記憶領域、光の点消灯のパターンに関するランプデータを記憶する記憶領域等が含まれている。
また、副制御回路572には、その動作が制御される周辺装置として、液晶表示装置505、スピーカ509L,509R及びランプ514が接続されている。
サブCPU581、レンダリングプロセッサ584、描画用RAM(フレームバッファ586を含む)585及びドライバ587は、演出内容により指定されたアニメーションデータに従って映像を作成し、作成した映像を液晶表示装置505により表示する。
また、サブCPU581、DSP588、オーディオRAM589、A/D変換器590及びアンプ591は、演出内容により指定されたサウンドデータに従ってBGMや払出音等の音をスピーカ509L,509Rにより出力する。また、サブCPU581は、演出内容により指定されたランプデータに従ってランプ514の点灯及び消灯を行う。
[パチスロにおいて実行されるプログラムフロー]
次に、図139~図147を参照して、主制御回路571のメインCPU531により実行される処理の内容について説明する。
[主制御回路のメインCPUの制御によるメインフローチャート]
図139を参照して、メインCPU531が実行する主たる処理を示すメインフローチャートについて説明する。
初めに、メインCPU531は、電源投入時の初期化処理を行い(S1001)、S1002に移る。なお、この処理では、メインCPU531は、バックアップが正常であるか否か、設定変更や数値変更が適切に行われたか否かを判定し、判定結果に応じた初期化処理を行う。
次に、メインCPU531は、一遊技終了時の初期化処理を行う(S1002)。例えば、メインCPU531は、内部当籤役格納領域や表示役格納領域等に格納されたデータをクリアする。そして、メインCPU531は、後述の図140に示すメダル受付・スタートチェック処理を行う(S1003)。
次に、メインCPU531は、抽籤用乱数値を抽出し、乱数値格納領域に格納する(S1004)。このS1004の処理で抽出された抽籤用乱数値は、内部抽籤処理において使用される。続いて、メインCPU531は、内部抽籤処理を行う(S1005)。なお、この処理では、メインCPU531は、内部当籤役を決定する。
次に、メインCPU531は、内部抽籤処理の結果に基づいて、リールの停止制御に関する各情報を格納するリール停止初期設定処理を行う(S1006)。この処理では、メインCPU531は、リール503L,503C,503Rの回転を停止する制御に係る領域等の初期化を行う。
次に、メインCPU531は、スタートコマンド送信処理を行う(S1007)。この処理では、メインCPU531は、スタートコマンドをメインRAM533の通信データ格納領域に格納する。スタートコマンドは、遊技状態、内部当籤役等の情報を含み、後述するメインCPU531の制御による割込処理の通信データ送信処理において副制御回路572に送信される。これにより、副制御回路572は、開始操作に応じて各種の演出を行うことができる。
次に、メインCPU531は、ウェイト処理を行う(S1008)。この処理では、メインCPU531は、前回の遊技開始から所定の時間(例えば、4.1秒)経過するまで待機する。続いて、メインCPU531は、リール回転開始処理を行う(S1009)。このリール回転開始処理では、メインCPU531は、リール503L,503C,503Rの回転の開始を要求するとともに、リール回転開始コマンドをメインRAM533の通信データ格納領域に格納する。
そして、メインCPU531は、引込優先順位格納処理を行う(S1010)。この処理では、内部抽籤処理の結果に基づいて、回転中の各リールの図柄位置毎に、停止許可の場合には、その引込優先順位データを格納し、また、停止不許可の場合(すなわち、当籤していない役が入賞してしまう場合等)には、停止禁止を格納する。
次に、メインCPU531は、リール停止制御処理を行う(S1011)。続いて、メインCPU531は、入賞検索処理を行う(S1012)。この処理では、メインCPU531は、リール503L,503C,503Rの停止後に有効ラインに沿って表示された図柄組合せと図柄組合せテーブルとを照合し、表示役を決定するとともに、メダルの払出枚数の決定を行う。
次に、メインCPU531は、後述の図142に示すメダル払出処理を行う(S1013)。このメダル払出処理において、メインCPU531は、S1012で決定された払出枚数等に基づいてメダルの払出動作を制御することをホッパー駆動回路541に対して要求する。続いて、メインCPU531は、表示コマンドをメインRAM533の通信データ格納領域に格納する。
次に、メインCPU531は、差枚数算出処理(メイン)を行う(S1014)。続いて、メインCPU531は、払出終了コマンド送信処理を行う(S1015)。この処理では、メインCPU531は、払出終了コマンドをメインRAM533の通信データ格納領域に格納する。払出終了コマンドは、S1013のメダル払出処理を経てホッパー540による払出枚数分のメダルの払出動作が終了したことを示すコマンドであり、メダルの払出枚数に加え、S1014において算出された差枚数(メイン)等の情報を含む。通信データ格納領域に格納された払出終了コマンドは、後述するメインCPU531の制御による割込処理の通信データ送信処理において副制御回路572に送信される。これにより、副制御回路572は、差枚数(メイン)を用いた各種の演算を行うことができる。また、副制御回路572は、払出音の出力等を制御することができる。
次に、メインCPU531は、ボーナス終了チェック処理を行う(S1016)。この処理では、メインCPU531は、ボーナスゲームを終了する条件を満たした場合にボーナスゲームの作動を終了する。続いて、メインCPU531は、ボーナス作動チェック処理を行い(S1017)、続いて、メインCPU531は、RT制御処理を行う(S1018)。この処理では、表示役に応じてRT遊技状態フラグの更新を行う。なお、この処理では、メインCPU531は、ボーナスゲームを開始する条件を満たした場合にボーナスゲームの作動を開始し、再遊技の条件を満たした場合に再遊技の作動を行う。
次に、メインCPU531は、メインRTC538から現在時刻を取得し、当該現在時刻をメインRAM533の遊技終了時刻保存領域へ保存する(S1019)。遊技終了時刻領域に保存された現在時刻は、メダル受付・スタートチェック処理(後述の図140参照)において使用される。続いて、メインCPU531は、S1002に戻って一連の処理を繰り返し行う。
[メダル受付・スタートチェック処理]
図140を参照して、投入枚数に基づいて開始操作が可能であるか否かをメインCPU531が判別する処理の手順を示したメダル受付・スタートチェック処理について説明する。
初めに、メインCPU531は、自動投入要求があるか否かについてチェックを行う(S1041)。これは、メインRAM533の自動投入カウンタの値があるか否か、すなわち、「0」であるか否かを判別することによって行われる。自動投入カウンタは、自動的に投入するメダルの枚数をメインCPU531が計数するために設けられたカウンタであり、リプレイ入賞となった単位遊技において投入されたメダルの投入枚数と同じ数が自動投入カウンタに計数される。すなわち、自動投入カウンタの値が「0」とは、前遊技にてリプレイが入賞せず、自動投入要求がなかったことを意味する。一方、自動投入カウンタの値がある場合、すなわち「0」以外で自動投入要求がある場合には、メインCPU531は、続いて、自動投入処理を行い(S1042)、その後S1053に移る。
S1042において、メインCPU531は、自動投入処理を行う。この処理において、メインCPU531は、自動投入カウンタの値を投入枚数カウンタに複写する。投入枚数カウンタは、自動投入あるいは遊技者による投入操作を経て投入されたメダルの枚数をメインCPU531が計数するために設けられたカウンタである。自動投入カウンタ及び投入枚数カウンタは、メインRAM533の所定の領域に格納される。
S1041において、自動投入枚数カウンタの値がない、すなわち「0」で自動投入要求がなかった場合、メインCPU531は、メダル受付を許可し(S1043)、続いて、S1044の処理を行う。
S1044において、メインCPU531は、遊技状態に応じて投入枚数の最大値を設定する。本実施形態において、メインCPU531は、全ての遊技状態で投入枚数の最大値を「3」にセットする。
次に、メインCPU531は、メダル受付が許可されているか否かを判別する(S1045)。この判別がYESの場合、メインCPU531は、次にS1046の処理を行い、NOの場合、メインCPU531は、S1053に移る。
S1046において、メインCPU531は、メインRTC538から現在時刻を取得する。続いて、メインCPU531は、メインRAM533の遊技終了時刻保存領域から遊技終了時刻を取得し、取得した遊技終了時刻を現在時刻から減算した算出時間を求める(S1047)。そして、メインCPU531は、算出時間と、予め定められた規定の無操作時間とを比較し、算出時間が無操作時間を超えるか否かを判定する(S1048)。ここで、無操作時間は、電源オン状態で遊技者による操作がある程度の時間継続して無かったか否かを判定するために規定されたものである。無操作時間は、前述の電源OFF時間よりも短い時間として、例えば1~3時間程度として規定されている。すなわち、算出時間が無操作時間を超える場合は、CPU531により遊技者が遊技を初めて開始した状態と判断される。
S1048において、算出時間が無操作時間を超える場合、すなわち遊技者が遊技を初めて開始した状態と判断した場合、メインCPU531は、メインRAM533の差枚数カウンタをクリアし(S1049)、その後、S1050に移る。
S1048において、算出時間が無操作時間を超えていない場合、メインCPU531は、S1045に戻る。すなわち、すなわち継続して遊技が行われているような場合は、差枚数カウンタの値がクリアされることなくそのまま維持される。
S1050において、メインCPU531は、メダル投入チェック処理を行う。この処理において、メインCPU531は、メダルセンサ542Sからの入力をチェックする。続いて、メインCPU531は、メダル投入コマンド送信処理を行う(S1051)。この処理では、メインCPU531は、メダル投入コマンドをメインRAM533の通信データ格納領域に格納する。格納されたメダル投入コマンドは、後述する割込処理の通信データ送信処理において副制御回路572に送信される。メダル投入コマンドは、メダルの投入枚数等の情報を含み、後述するメインCPU531の制御による割込処理の通信データ送信処理において副制御回路572に送信される。
続いて、メインCPU531は、投入枚数が遊技開始可能枚数であるか否かを判別する(S1052)。例えば、メインCPU531は、投入枚数カウンタの値が「2」または「3」であるか否かを判別する。本実施形態では、遊技開始可能枚数として、2枚または3枚が設定されている。これは、メダルの投入枚数が2枚または3枚で、遊技を開始させることが可能であることを意味している。このとき、投入枚数カウンタの値が「2」または「3」である場合、メインCPU531は、次にS1053の処理を行い、投入枚数カウンタの値が「2」または「3」でない場合、メインCPU531は、後述する離席判定処理(S1055)に処理を移す。離席判定処理(S1055)については後述する。
S1053において、メインCPU531は、スタートスイッチ6Sがオンであるか否かを判別する。具体的に、メインCPU531は、スタートレバー506の操作に基づくスタートスイッチ6Sからの入力があるか否かを判別する。このとき、スタートスイッチ6Sからの入力がある場合、メインCPU531は、メダル受付を禁止し(S1054)、メダル受付・スタートチェック処理を終了する。S1053において、スタートスイッチ6Sからの入力がない場合、メインCPU531は、S1045に戻る。
[離席判定処理]
図141を参照して、メダル払出枚数チェック処理について説明する。
初めに、メインCPU531は、メダルトカウンタの値が「0」であるか否かを判別する(S1056)。「0」と判別した場合に、メインCPU531は、S1058に処理を移し、「0」と判別した場合に、メインCPU531は、メダルトカウンタの値が「1」または「2」であるか否かを判別する(S1057)。メダルトカウンタの値が「1」または「2」であると判別しない場合に、メインCPU531は、S1058に処理を移し、メダルトカウンタの値が「1」または「2」であると判別した場合に、メインCPU531は、S1059に処理を移す。
S1058において、メインCPU531は、クレジットカウンタの値が「1」または「2」であるか否かを判別する。クレジットカウンタの値が「1」または「2」であると判別した場合に、メインCPU531は、S1059に処理を移し、「1」または「2」であると判別しない場合に、メインCPU531は、離席判定処理を終了する。
S1059において、メインCPU531は、算出時間と、予め定められた規定の第1設定時間とを比較し、算出時間が設定時間を超えるか否かを判定する。第1設定時間としては、例えば、2分間が設定されている。メインCPU531は、算出時間が第1設定時間を超えたと判断した場合に、離席警告コマンドをメインRAM533にセットする(S1060)。算出時間が第1設定時間を超えたと判断しない場合には、S1061に処理を移す。離席警告コマンドには、1又は2枚のメダルがクレジットされている状態及び1枚又は2枚のメダルが投入されている状態にある時間(算出時間に相当)を液晶表示装置505にタイマ表示させる処理を実行させることを指定するデータが含まれている。離席警告コマンドは副制御回路572に送信され、副制御回路572は、離席警告コマンドに基づいて液晶表示装置505にタイマ表示させる。この処理が終了した場合には、S1061に処理を移す。
S1061において、メインCPU531は、算出時間と、予め定められた規定の第2設定時間とを比較し、算出時間が第2設定時間を超えるか否かを判定する。第2設定時間としては、例えば、5分間が設定されている。メインCPU531は、算出時間が設定時間を超えたと判断した場合に、メダル精算を実行させる処理、例えば、精算ボタンから押下信号を自動的に出力させる処理を行う(S1062)。これにより、図143を参照して後述するメダル払出枚数チェック処理において、1又は2枚のメダルがクレジットされている状態及び1枚又は2枚のメダルが投入されている状態の少なくともいずれかの状態が、第2設定時間だけ継続した場合に、これらのメダルが払い出されることになる。メインCPU531は、算出時間が設定時間を超えたと判断した場合、あるいはS1062の処理が終了した場合には、S1063に処理を移す。
S1063において、メインCPU531は、算出時間と、予め定められた規定の第3設定時間とを比較し、算出時間が設定時間を超えるか否かを判定する。第3設定時間としては、例えば、10分間が設定されている。メインCPU531は、算出時間が第3設定時間を超えたと判断した場合に、遊技者が遊技を終了した可能性が高いとして、離席警告コマンドをメインRAM533にセットする(S1064)。算出時間が第3設定時間を超えたと判断しない場合には、本サブルーチンを終了する。離席警告コマンドには、ランプ514を点灯させることを指定するデータが含まれている。離席警告コマンドは副制御回路572に送信され、副制御回路572は、離席警告コマンドに基づいてランプ514をさせる。この処理が終了した場合には、本サブルーチンを終了する。
なお、上述した実施形態によれば、離席警告コマンドに基づいてランプ514を点灯させているが、ランプ514以外でも、パチスロ500の上方に配置され、ボーナス回数や前回ボーナスからのリールの回転数等を表示する情報表示装置(図示せず)に備えられたランプを点灯させてもよい。
[メダル払出処理]
図142を参照して、メダル払出処理について説明する。
初めに、メインCPU531は、入賞作動コマンドの送信登録を行う(S1241)。入賞作動コマンドは、表示役の成立やその表示役の種類等を示すコマンドである。入賞作動コマンドは、メインRAM533の通信データ格納領域に格納され、後述するメインCPU531の制御による割込処理の通信データ送信処理において副制御回路572に送信される。
その後、メインCPU531は、入賞作動コマンドの内容、すなわち表示役の種類に基づいてメダルの払い出しがあるか否かを判別する(S1242)。メダルの払い出しがないと判別した場合、メインCPU531は、メダル払出処理を終了する。この場合は、ハズレやリプレイが表示役として成立した場合である。
S1242において、メダルの払い出しがあると判別した場合、すなわち払出枚数(配当枚数)が規定されたベルやチェリー等が表示役として成立した場合、メインCPU531は、払出時間計測タイマをセットする(S1243)。払出時間計測タイマは、規定の払出枚数に対してホッパー540がメダルを1枚ずつ繰り出す際に残り枚数が1枚(残払出枚数1)となるまでの時間を計るためのものである。払出時間計測タイマは、例えばメインCPU531がソフトウェアタイマから計測時間を適宜取得することによって実現される。
次に、メインCPU531は、最大払出枚数に最小払出間隔を乗算することで最大払出総間隔時間を算出する(S1244)。最大払出枚数とは、規定された払出枚数(配当枚数)の中で最も大きい数となるものである。最小払出間隔とは、ホッパー540が1枚ずつメダルを繰り出す際に、1枚の払出動作を終えてから次枚の払出動作を開始するまでのいわゆるマージンに相当する時間であり、ホッパー540の仕様に応じて予め定められている。すなわち、最大払出総間隔時間は、ホッパー540が規定された最も多い払出枚数のメダルを払い出す際の払出間隔(マージン)を合計した時間として求められる。なお、ホッパー540の1枚分の払出動作に要する時間(後述のホッパー可動時間)も、ホッパー540の仕様に応じて予め定められている。
続いて、メインCPU531は、算出した最大払出総間隔時間を今回の払出枚数で除算することにより払出間隔時間(T2)を算出する(S1245)。払出間隔時間(T2)は、後述の図145に示す払出間隔待機処理において用いられる。ちなみに、ホッパー540による実際の払出枚数が最大払出枚数より少ない枚数となる場合、払出間隔時間(T2)は、最小払出間隔よりも間延びした長い時間となる。こうして算出された払出間隔時間(T2)は、メインRAM533の所定の領域に格納される。
次に、メインCPU531は、クレジット上限チェック処理を行う(S1246)。すなわち、メインCPU531は、クレジット枚数が上限(50枚)に達しているか否かを判別する(S1247)。クレジット枚数が上限に達している場合、メインCPU531は、後述のS1252の払出制御処理(図145参照)に移行する。
S1247において、クレジット枚数が上限に達していない場合、メインCPU531は、クレジットカウンタに1を加算し、これに対応するメインRAM533の格納領域の値を更新する(S1248)。
次に、メインCPU531は、後述の図143に示すメダル払出枚数チェック処理を行い(S1249)、その後、後述の図144に示す払出間隔待機処理を行う(S1250)。
次に、メインCPU531は、今回の払出枚数に相当する全てのメダルの払い出しを終了したか否かを判別し(S1251)、払い出しを終了している場合、メダル払出処理を終了する。
S1251において、払出枚数に相当する全てのメダルの払い出しを終了していない場合、メインCPU531は、S1246に戻る。
S1252において、メインCPU531は、後述の図145に示す払出制御処理を行い、その後、メダル払出処理を終了する。このようなメダル払出処理では、クレジット機能やクレジット枚数に応じたメダルの払い出し準備が行われる。
[メダル払出枚数チェック処理]
図143を参照して、メダル払出枚数チェック処理について説明する。
初めに、メインCPU531は、クレジットカウンタの値をセットする(S1261)。その後、メインCPU531は、精算スイッチ512Sからの信号に基づいてクレジットの精算払出時か否かを判別する(S1262)。クレジットの精算払出時である場合、メインCPU531は、S1267に移行する。
S1262において、クレジットの精算払出時でない場合、メインCPU531は、メダルカウンタの値をセットする(S1263)。メダルカウンタは、単位遊技の開始前に遊技者により投入(ベット)されたメダルの投入枚数を計数するCPU531の一機能であり、計数された値がメインRAM533の所定の領域に格納される。
次に、メインCPU531は、メダルの投入枚数の精算時か否かを判別する(S1264)。これは、図示しない投入返却ボタンを遊技者が操作するのに応じて出力される信号等に基づいて判別される。メダル投入枚数の精算時である場合、メインCPU531は、S1267に移行する。
メダル投入枚数の精算時でない場合、メインCPU531は、払出枚数カウンタに1を加算し、これに対応するメインRAM533の格納領域の値を更新する(S1265)。払出枚数カウンタは、メダルの払出枚数を計数するものである。
次に、メインCPU531は、払出枚数を7セグ表示器513の払出枚数表示部513Aに表示させる(S1266)。
次に、メインCPU531は、表示された払出枚数について減算処理を行う(S1267)。この処理によれば、1枚のメダルが払い出される(クレジットされる)毎に7セグ表示器513の払出枚数表示部513Aに表示された払出枚数が1つずつ減るように表示される。このとき、ホッパー540の払出動作あるいはクレジット枚数更新表示によってメダルが1枚ずつ払い出されることとなる。なお、S1262においてクレジットの精算払出時である場合や、S1264においてメダル投入枚数の精算時である場合、S1267の減算処理においては、クレジットカウンタやメダルカウンタの値が減算された上で、クレジットされたメダルや投入された分のメダルがホッパー540の払出動作によって払い出されることとなる。
次に、メインCPU531は、クレジット情報コマンドの送信登録を行い(S1268)、メダル払出枚数チェック処理を終了する。クレジット情報コマンドは、クレジット枚数や払出枚数の他、払出音の出力要求等を含むコマンドである。クレジット情報コマンドは、メインRAM533の通信データ格納領域に格納され、後述するメインCPU531の制御による割込処理の通信データ送信処理において副制御回路572に送信される。
[払出間隔待機処理]
図144を参照して、払出間隔待機処理について説明する。
まず、メインCPU531は、払出間隔タイプは均等か否かを判別する(S1271)。払出間隔タイプとは、メダルの払い出し(クレジット枚数更新表示)を周期的に均等な間隔で行うか、あるいは払出枚数のうちの最後の1枚を払い出す際に払出間隔を強制的に間延び(払い出しを遅延)させることを示す情報である。なお、周期的に均等な間隔で行う場合には、クレジット枚数の加算表示の途中においてクレジット枚数が上限に達することでホッパー540の払出動作に自動的に切り替えられる場合も含む。なお、このような払出間隔タイプは、遊技者の操作に応じて任意に選択可能としてもよいし、あるいは一方を既定のタイプとして予め設定しておいてもよい。また、遊技状態等に応じて払出間隔タイプを適宜切り替えるようにしてもよい。
S1271において、払出間隔タイプが均等でない場合、すなわち最後の払い出し(クレジット枚数更新表示)を遅延させる場合、メインCPU531は、後述のS1276に移行する。一方、払出間隔タイプが均等である場合、メインCPU531は、総払出時間を総払出枚数(今回の払出枚数)で除算することにより均等待ち時間を算出する(S1272)。総払出時間とは、払出枚数とは無関係に予め定められた時間であり、払出枚数の多少を問わず一定の時間に設定されている。これにより、均等待ち時間は、メダルの払い出し周期として求められる。
次に、メインCPU531は、ホッパー540により払出動作を行うか否かを判別する(S1273)。ホッパー540により払出動作を行わない場合、すなわちクレジット機能によりクレジット枚数の表示を更新する場合、メインCPU531は、後述のS1275に移行する。一方、ホッパー540により払出動作を行う場合、メインCPU531は、S1272で得られた均等待ち時間からメダル1枚当たりのホッパー可動時間を減算することにより、ホッパー540の払出動作に応じた均等待ち時間(払出動作時)を算出する(S1274)。この均等待ち時間(払出動作時)は、今回の払出枚数に応じて調整されたホッパー540の払出間隔に相当し、今回の払出枚数が少ないほど長い時間となり、払出枚数が多くなるほど短い時間となる。
次に、メインCPU531は、S1272で得られた均等待ち時間、あるいはS1274で得られた均等待ち時間(払出動作時)を間隔カウントの値としてセットする(S1275)。間隔カウントは、後述のS1280において払出間隔待ちの時間を計時するために用いられる。
S1276において、メインCPU531は、残払出枚数は1枚か否かを判別する。残払出枚数が1枚の場合、メインCPU531は、後述のS1278に移行する。一方、残払出枚数が1枚でない場合、メインCPU531は、最小待ち時間を間隔カウントの値としてセットする(S1277)。最小待ち時間は、先述の図142のS1245において算出した払出間隔時間(T2)に相当する。その後、メインCPU531は、S1280に移行する。
S1278において、メインCPU531は、図142のS1243でセットした払出時間計測タイマを停止させる。その後、メインCPU531は、総払出時間から払出時間計測タイマにより計時された時間を減算した時間を間隔カウントの値としてセットする(S1279)。
次に、メインCPU531は、間隔カウントにセットされた値(時間)分だけ払出間隔待ちを行う(S1280)。その後、メインCPU531は、払出間隔待機処理を終了する。この払出間隔待機処理では、払出間隔タイプや払出枚数に応じてメダルの払い出し(クレジット枚数更新表示)のタイミングが遅延させられ、払出枚数が少ないほど遅延時間が長くなることとなる。
[払出制御処理]
図145を参照して、払出制御処理について説明する。
まず、メインCPU531は、払出待ちタイマをセットし、ホッパードライブ(ホッパー駆動回路541)をオンに設定する(S1281)。払出待ちタイマには、図144のS1280においてセットされた間隔カウントの値がセットされる。
次に、メインCPU531は、ホッパードライブにセット出力を行う(S1282)。そして、メインCPU531は、ホッパーカウントスイッチがオンか否かを判別する(S1283)。ホッパーカウントスイッチは、ホッパー540が実際に払い出したメダルの枚数を計数するためのものである。
S1283において、ホッパーカウントスイッチがオフの場合、メインCPU531は、後述のS1288に移行する。一方、ホッパーカウントスイッチがオンの場合、メインCPU531は、払出待ちタイマの値を減算する(S1284)。
次に、メインCPU531は、払出待ちタイマの値が0となって終了したか否かを判別する(S1285)。払出待ちタイマの値が0でない場合、メインCPU531は、S1283に戻る。一方、払出待ちタイマの値が0となって終了した場合、メインCPU531は、ホッパーエラーコードをセットする(S1286)。
その後、メインCPU531は、エラー処理を行い(S1287)、S1281に戻る。
S1288において、メインCPU531は、先述した図143のメダル払出枚数チェック処理を行う。このメダル払出枚数チェック処理では、ホッパー540の払出動作あるいはクレジット枚数更新表示によってメダルが1枚ずつ払い出されることとなる。
次に、メインCPU531は、今回の払出枚数に相当する全てのメダルの払い出しを終了したか否かを判別し(S1289)、払い出しを終了している場合、払出制御処理を終了する。
S1289において、払出枚数に相当する全てのメダルの払い出しを終了していない場合、メインCPU531は、払出待ちタイマの経過カウントの値をセットし(S1290)、その後、先述した図144の払出間隔待機処理を行う(S1291)。この払出間隔待機処理では、メダルの払い出し(クレジット枚数更新表示)のタイミングが遅延させられることとなる。その後、メインCPU531は、S1281に戻る。
[メインCPUの制御による割込処理(1.1173msec)]
図146を参照して、所定の時間(例えば、1.1173ms)毎に実行する割込処理の手順を示したメインCPU531の制御による割込処理について説明する。
初めに、メインCPU531は、レジスタの退避を行う(S1341)。続いて、メインCPU531は、入力ポートチェック処理を行う(S1342)。この処理では、メインCPU531は、マイクロコンピュータ530へ送信される信号の有無を確認する。例えば、メインCPU531は、スタートスイッチ514S、ストップスイッチ507S等のオンエッジ、オフエッジを割込処理毎に格納する。また、メインCPU531は、各種スイッチのオンエッジ、オフエッジの情報を含む入力状態コマンドをメインRAM533の通信データ格納領域に格納する。格納された入力状態コマンドは、後述の通信データ送信処理(S1344)において副制御回路572に送信される。これにより、スタートレバー506やストップボタン507L,507C,507Rといった操作手段を用いて各種演出を実行することができる。
次に、メインCPU531は、リール制御処理を行う(S1343)。例えば、メインCPU531は、リール503L,503C,503Rの回転を制御する。より詳細には、メインCPU531は、リール503L,503C,503Rの回転を開始する旨の要求、すなわち、開始操作に応じて、リール503L,503C,503Rの回転を開始するとともに、一定の速度でリール503L,503C,503Rが回転するように制御を行う。また、停止操作に応じて、停止操作に対応するリール503L,503C,503Rの回転が停止するように制御を行う。
次に、メインCPU531は、通信データ送信処理を行う(S1344)。この処理において、メインCPU531は、通信データ格納領域に格納された各種のコマンドを副制御回路572へ送信する。本実施形態において、メインCPU531は、設定変更コマンドの他、メダルの投入枚数を含むメダル投入コマンドや、差枚数(メイン)や払出枚数を含む払出コマンド等を送信する。また、払出開始や払出終了に応じて払出音の出力要求や出力停止要求を示すコマンドも送信される。
次に、メインCPU531は、ランプ・7SEG駆動処理を行う(S1345)。例えば、メインCPU531は、クレジット枚数、払出枚数等をクレジット枚数表示部513C、払出枚数表示部513A等に表示する。続いて、メインCPU531は、ソフトウェアタイマ更新処理を行う(S1346)。この処理では、図139のS1008のウェイト処理において用いるタイマや、図142のS1243において用いる払出時間計測タイマとしてのソフトウェアタイマを更新する。その後、メインCPU531は、レジスタの復帰を行い(S1347)、定期的に行う割込処理を終了する。
[メインCPUの制御による電断割込処理の開始(電断検知)]
図147を参照して、電断検知時に実行する割込処理の手順を示したメインCPU531の制御による電断割込処理について説明する。
電断割込処理は、主制御基板上の電断検知回路(図示略)が例えば4V以下の回路電圧を検知すると外部割込みによる電断割込信号を出力し、この電断割込信号を受信した電圧保持回路(図示略)が例えば10ms程度の時間にわたって回路電圧を保持する間にメインCPU531によって実行される。
まず、メインCPU531は、電断割込信号を受信すると、メインRTC538から現在時刻を取得し、当該現在時刻をメインRAM533の電断発生時刻格納領域に保存する(S1351)。これにより、電源オフ毎に主制御基板上の管理情報として電断発生時刻が作成される。
次に、メインCPU531は、レジスタの退避を行う(S1352)。続いて、メインCPU531は、スタックポインタの退避を行う(S1353)。続いて、メインCPU531は、電断発生フラグをオンとする(S1354)。
次に、メインCPU531は、メインRAM533の各格納領域のサム値を算出し、当該サム値をメインRAM533のサム値格納領域に格納する(S1355)。続いて、メインCPU531は、メインRAM533の各格納領域に対してリードライトアクセスの禁止をセットし(S1356)、電断割込処理を終了する。これにより、パチスロ500では、電源オフ毎に電断発生時刻が管理情報として保存される。
[副制御回路のサブCPUによって実行されるプログラムフロー]
次に、図148~図152を参照して、副制御回路572により実行されるプログラムの内容について説明する。
[サブCPUの電源投入処理]
図148を参照して、サブCPU581により行われる電源投入処理について説明する。
初めに、電源が投入されると、サブCPU581は、サブCPU初期設定処理を行う。(S1361)。この処理において、サブCPU581は、タスクシステムの初期化等を行う。タスクシステムは、タイマ割込同期等によってスレッド単位にタスク切り替えを行うリアルタイムOSの一機能である。サブCPU581の実行単位となるタスクの種類には、後述の図150に示すマザータスクの他、図149のS1425等に示す係員操作処理タスクが含まれる。各タスクは、タイマ割込や優先割込等に応じてサブCPU581により実行される。なお、特に図示説明しないが、サブCPU初期設定処理において電断時のバックアップデータを復帰させる必要がある場合、サブCPU581は、電断復帰処理を行う。
続いて、サブCPU581は、マザータスクの起動要求処理を行う(S1362)。マザータスクには、後述の図150に示すように、メインタスク起動要求、主基板通信タスク起動要求、アニメタスク起動要求、リミット処理タスク起動要求等が含まれる。
次に、サブCPU581は、サブRAM583のサム値チェック処理を行い(S1363)、サブRAM583のサム値に異常があるか否か確認する(S1364)。サブRAM583のサム値に異常がある場合、サブCPU581は、サム値異常エラー登録処理を行い(S1365)、電源投入処理を終了する。このサム値異常エラー登録処理では、液晶表示装置505にエラーメッセージ等を表示させるためのエラー表示データがセットされる。一方、サブRAM583のサム値に異常がない場合、サブCPU581は、そのまま電源投入処理を終了する。
[サブCPUの電断割込処理]
図149を参照して、サブCPU581により行われる電断割込処理について説明する。
図149に示す電断割込処理は、副制御基板上の電断検知回路(図示略)が例えば4.5V以下の回路電圧を検知すると電断検知信号を出力し、この電断検知信号がサブCPU581の外部割込ポートに入力することによって実行される。サブCPU581は、電断検知信号を受信すると、サブRTC581aから現在時刻を取得し、当該現在時刻をサブRAM583の電断発生時刻保存領域に保存する(S1371)。その後、サブCPU581は、電断割込処理を終了する。これにより、電源オフ毎に副制御基板上の管理情報として電断発生時刻が作成される。
[マザータスク]
図150を参照して、サブCPU581により行われるマザータスクについて説明する。
初めに、サブCPU581は、メインタスクの起動要求を行う(S1381)。メインタスクには、ランプ制御タスクやサウンド制御タスクが含まれる。メインタスクが起動されると、サブCPU581は、例えば2ms毎に送信されるタイマ割込イベントメッセージに応じてランプ514の点灯状態を制御する処理や、スピーカ509L,509Rからの出音状態を制御する処理を行う。
次に、サブCPU581は、後述の図151に示す主基板通信タスクの起動要求を行う(S1382)。主基板通信タスクが起動されると、サブCPU581は、主制御回路571から送信されるコマンドデータに基づいて、演出を制御するための演出データをセットする。
次に、サブCPU581は、アニメタスクの起動要求を行う(S1383)。アニメタスクは、決定した演出データ等に基づいて液晶表示装置505による映像の表示を制御するためのタスクである。
次に、サブCPU581は、リミット処理タスクの起動要求を行う(S1384)。このリミット処理タスクでは、表示用の各種データが決定される場合がある。これにより、アニメタスクでは、リミット処理タスクで決定されたデータに基づいて液晶表示装置505による映像の表示が制御される場合がある。
その後、サブCPU581は、サブRTC581aから現在時刻を取得し、当該現在時刻をサブRAM583の起動時刻保存領域に保存して(S1385)、マザータスクを終了する。これにより、電源オン毎に副制御基板上の管理情報として起動時刻が作成される。
[主基板通信タスク]
図151を参照して、サブCPU581により行われる主基板通信タスクについて説明する。主基板通信タスクが起動されると、サブCPU581は、主制御回路571から送信されるコマンドデータをメッセージキューを介して受信する。主基板通信タスクでは、2msec毎にメッセージキューへ受信データが登録されているか確認を行う。
初めに、サブCPU581は、メッセージキューからメッセージを取り出す(S1391)。メッセージキューは、サブRAM583に割り当てられた通信用のバッファ領域であって、主制御回路571から送信されたコマンド等に含まれる情報をメッセージとして取り込み、取り出し命令に応じてメッセージを出力する。
次に、サブCPU581は、メッセージキューにメッセージがあるか否かを判別する(S13)。メッセージがある場合、サブCPU581は、取り込んだメッセージから内部当籤役、遊技状態、設定値、RTゲーム数カウンタの値、差枚数(メイン)等といった遊技情報を作成し、サブRAM583の遊技情報保存領域に当該遊技情報を複写する(S1393)。
次に、サブCPU581は、後述の図152に示す演出内容決定処理を行う(S1394)。その後、サブCPU581は、ランプデータ決定処理を行い(S1395)、さらにサウンドデータ決定処理を行い(S1396)、決定された各データをサブRAM33の所定の保存領域に登録して(S1397)、主基板通信タスクを終了する。演出内容決定処理では、決定された演出内容に基づき、液晶表示装置505に表示させるための映像データが決定されてセットされる。ランプデータ決定処理では、決定された演出内容に基づき、ランプ514による光の出力を制御するためのランプデータが決定されてセットされる。サウンドデータ決定処理では、決定された演出内容に基づき、スピーカ509L,509Rによる音の出力を制御するためのサウンドデータが決定されてセットされる。
[演出内容決定処理]
図152を参照して、サブCPU581により行われる演出内容決定処理について説明する。
初めに、サブCPU581は、主制御回路571から初期化コマンドを受信した時であるか否かをチェックし(S1401)、初期化コマンドを受信した時、サブCPU581は、S1402に移る。初期化コマンドを受信した時でない場合、サブCPU581は、S1403に移行する。
S1402において、サブCPU581は、初期化コマンドに応じた初期化コマンド受信時処理を行う。初期化コマンド受信時処理では、初期化コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1403において、サブCPU581は、主制御回路571からメダル投入コマンドを受信した時であるか否かをチェックし、メダル投入コマンドを受信した時、サブCPU581は、S1404に移る。メダル投入コマンドを受信した時でない場合、サブCPU581は、S1405に移行する。
S1404において、サブCPU581は、メダル投入コマンドに応じたメダル投入コマンド受信時処理を行う。メダル投入コマンド受信時処理では、メダル投入コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1405において、サブCPU581は、主制御回路571からスタートコマンドを受信した時であるか否かをチェックし、スタートコマンドを受信した時、サブCPU581は、S1406に移る。スタートコマンドを受信した時でない場合、サブCPU581は、S1407に移行する。
S1406において、サブCPU581は、スタートコマンドに応じたスタートコマンド受信時処理を行う。スタートコマンド受信時処理では、スタートコマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1407において、サブCPU581は、主制御回路571からリール回転開始コマンドを受信した時であるか否かをチェックし、リール回転開始コマンドを受信した時、サブCPU581は、S1408に移る。リール回転開始コマンドを受信した時でない場合、サブCPU581は、S1409に移行する。
S1408において、サブCPU581は、リール回転開始コマンドに応じたリール回転開始コマンド受信時処理を行う。リール回転開始コマンド受信時処理では、リール回転開始コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1409において、サブCPU581は、主制御回路571からリール停止コマンドを受信した時であるか否かをチェックし、リール停止コマンドを受信した時、サブCPU581は、S1410に移る。リール停止コマンドを受信した時でない場合、サブCPU581は、S1411に移行する。
S1410において、サブCPU581は、リール停止コマンドに応じたリール停止コマンド受信時処理を行う。リール停止コマンド受信時処理では、リール停止コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1411において、サブCPU581は、主制御回路571からクレジット情報コマンドを受信した時であるか否かをチェックし、クレジット情報コマンドを受信した時、サブCPU581は、S1412に移る。クレジット情報コマンドを受信した時でない場合、サブCPU581は、S1413に移行する。
S1412において、サブCPU581は、クレジット情報コマンドに応じたクレジット情報コマンド受信時処理を行う。クレジット情報コマンド受信時処理では、クレジット情報コマンドに含まれる情報に応じた払出音データが作成され、この払出音データが主基板通信タスクに渡されることで対応する払出音がスピーカ509L,509Rから出力される。
一方、S1413において、サブCPU581は、主制御回路571から払出終了コマンドを受信した時であるか否かをチェックし、払出終了コマンドを受信した時、サブCPU581は、S1414に移る。払出コマンドを受信した時でない場合、サブCPU581は、S1415に移行する。
S1414において、サブCPU581は、払出終了コマンドに応じた払出終了コマンド受信時処理を行う。払出終了コマンド受信時処理では、払出終了コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。また、払出終了コマンドに含まれる払出音出力停止要求に応じて、スピーカ509L,509Rによる払出音の出力が停止される。
一方、S1415において、サブCPU581は、主制御回路571からボーナス開始コマンドを受信した時であるか否かをチェックし、ボーナス開始コマンドを受信した時、サブCPU581は、S1416に移る。ボーナス開始コマンドを受信した時でない場合、サブCPU581は、S1417に移行する。
S1416において、サブCPU581は、ボーナス開始コマンドに応じたボーナス開始コマンド受信時処理を行う。ボーナス開始コマンド受信時処理では、ボーナス開始コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1417において、サブCPU581は、主制御回路571からボーナス終了コマンドを受信した時であるか否かをチェックし、ボーナス終了コマンドを受信した時、サブCPU581は、S1418に移る。ボーナス終了コマンドを受信した時でない場合、サブCPU581は、S1419に移行する。
S1418において、サブCPU581は、ボーナス終了コマンドに応じたボーナス終了コマンド受信時処理を行う。ボーナス終了コマンド受信時処理では、ボーナス終了コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1419において、サブCPU581は、主制御回路571から入力状態コマンドを受信した時であるか否かをチェックし、入力状態コマンドを受信した時、サブCPU581は、S1420に移る。入力状態コマンドを受信した時でない場合、サブCPU581は、S1421に移る。
S1420において、サブCPU581は、入力状態コマンドに応じた入力状態コマンド受信時処理を行う。入力状態コマンド受信時処理では、入力状態コマンドに含まれる情報に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。
一方、S1421において、サブCPU581は、主制御回路571から離席警告コマンドを受信した時であるか否かをチェックし、離席警告コマンドを受信した時、サブCPU581は、S1422に移る。離席警告コマンドを受信した時でない場合、サブCPU581は、演出内容決定処理を終了する。
S1422において、サブCPU581は、離席警告コマンドに応じた離席警告コマンド受信時処理を行う。離席警告コマンド受信時処理において、離席警告コマンドに、1又は2枚のメダルがクレジットされている状態及び1枚又は2枚のメダルが投入されている状態にある時間(算出時間に相当)を液晶表示装置505にタイマ表示させる処理を実行させることを指定するデータが含まれている場合には、離席警告コマンドに含まれるデータに応じて、離席警告コマンドを受信してからの経過時間を計数する処理を開始する。そして、この経過時間に応じた映像データが作成され、この映像データがアニメタスクに渡されることで対応する映像が液晶表示装置505に表示される。離席警告コマンドに、ランプ514を点灯させるデータが含まれている場合には、サブCPU581はランプ514を点灯させる処理を行う。
上述した実施形態によれば、少量のメダルがパチスロ500に残っているが、リールを回転させることができない状態が第1設定時間(例えば、3分間)継続した場合に、液晶表示装置505に、1又は2枚のメダルがクレジットされている状態あるいは1枚又は2枚のメダルが投入されている状態にある時間が表示される。その状態が、第2設定時間(例えば、5分間)継続した場合には、自動的に精算されて、パチスロ500に残っている少量のメダルが払い出される。更にその状態が、第3設定時間(例えば、10分間)継続した場合には、ランプ514が点灯する。
このため、少量のメダルが投入されているパチスロ500があり、パチスロ500が空いているのか遊技者が離席中なのか判断が付かない場合に、液晶表示装置505に表示された時間を見ることにより、他の遊技者あるいは係員が空き台である可能性がどの程度かについて見当を付けることができる。また、その後、遊技機に残っているメダル払い出されることで、他の遊技者に対して空き台ではない可能性があることを示唆することができる。その後、更にランプ514が点灯することにより、空き台である可能性が高いことを係員に報知することができる。
このように上述した実施形態によれば、少量のメダルがパチスロ500に残っているが、リールを回転させることができない場合に、パチスロ500に残っているメダルが払い出されることで、他の遊技者に対して空き台ではない可能性があることを示唆することができる一方、係員に対して遊技者の離席時間がどの程度かについて報知することができる。これにより、空き台であると思って遊技を開始した後に、それ以前の遊技者が遊技を再開するために戻ってきた場合のような、パチスロ500を巡る遊技者同士のトラブルを低減させることができる。更に、メダルの払い出しが、係員が空き台であるか否かを判断する上での指針となり得るために、そのパチスロ500が空席なのか否かが不明とはなりにくくなる。その結果、係員が空き台と判断するまでの時間を短縮することが可能になり、遊技機の稼働率が必要以上に低下することを防止し得る。
また、第1設定時間経過後に、液晶表示装置505に、1又は2枚のメダルがクレジットされている状態あるいは1枚又は2枚のメダルが投入されている状態にある時間が表示されるため、係員は空き台か否かを判断し易くなる。また、この時間表示は、第2設定時間よりも短い第1設定時間が経過した場合に表示されるため、パチスロ500に少量のメダルが残されている段階で、遊技者や、空席を探す遊技者、係員等に知らせることにより、遊技機の稼働率の低下をさらに防止し得る。
以上、本発明の実施形態について説明したが、本発明は上述したものに限られるものではない。
例えば、本実施形態のようなパチスロ500の他、他の遊技機にも本発明を適用できる。さらに、上述のパチスロ500での動作を家庭用ゲーム機用として疑似的に実行するようなゲームプログラムにおいても、本発明を適用することができる。その場合、ゲームプログラムを記録する記録媒体は、CD-ROM、FD(フレキシブルディスク)、その他任意の記録媒体を利用できる。また、ゲームプログラムは、例えばインターネットを介したダウンロード形式のプログラムとして配布されるものであってもよい。
[応用例]
上記実施形態及び上記各種変形例では、遊技機としてパチンコ遊技機を例に挙げ説明したが、本発明はこれに限定されない。上述した本発明の各種技術は、他の遊技機にも適用可能であり、例えば、弾球遊技機、パチスロ遊技機、ゲーミングマシン、封入式遊技機、回動式遊技機等の各種遊技機に適用することもできる。
以下、本実施形態が解決し得る課題及びその課題を解決するための手段について付記する。
[付記1]
[背景技術]
従来、遊技媒体を用いた遊技機として、パチンコ機、パチスロ機と称される遊技機が知られている。パチスロ機においては、メダルやコイン等の遊技媒体が投入され、スタートレバーが操作されると、当り抽籤が行われるとともに、複数の図柄がそれぞれの表面に配された複数のリールの回転が開始する。そして、ストップボタンが操作されると、抽籤結果に応じて複数のリールの回転が停止し、停止表示された図柄の組合せに応じてメダルやコインが払い出される。パチンコ機においては、遊技盤上に設けられた始動入賞口に、転動し流下する遊技球が入球すると、遊技者にとって有利な遊技状態に移行するための当り抽選が行われるとともに、液晶表示装置などの表示手段に表示される複数の図柄が変動する。当り抽選に当選した場合は複数の図柄が所定の組合せで停止することを契機として、有利な遊技状態(所謂、大当り遊技状態)に移行する。また、パチンコ機やパチスロ機においては、表示手段に、図柄の変動・停止にとともに抽選結果に応じた演出画像などを表示させることにより、有利な遊技状態へ移行することの期待感を高めている。
ところで、パチンコ機やパチスロ機においては、従来、遊技者が対向する遊技機本体の前面側の周囲にLEDを配置し、LEDの発光態様を変化させる演出表示が行われている。このLEDの演出表示はドライバの制御によって行われており、このドライバの制御には、例えば、特許文献1に記載されているように、遊技機におけるLEDの位置情報と、ドライバのアドレスやチャンネルとを対応付けたマッピングデータが用いられている。前述したチャンネルは複数用意されており、LEDの駆動データがセットされたチャンネルのうち、優先度の高いチャンネルの内容で演出表示が行われる。
[先行技術文献]
[特許文献]
[特許文献1] 特開2014-188319号公報
[発明の概要]
[発明が解決しようとする課題]
しかしながら、特許文献1によるLEDの演出表示は、LEDの駆動データがセットされたチャンネルのうち、優先度の高い1つのチャンネルの内容で行われるため、単調になり易く、遊技者に対してインパクトを与えにくいという問題点がある。
本発明は、このような問題点を解決した遊技機を提供することを目的とする。
[課題を解決するための手段]
前記目的を達成するため、本発明は、次に記載する構成を備えている。
(1)発光手段(例えば、ランプ(LED)群18)と、
当該発光手段に出力する駆動データ(例えば、LEDデータ)がセットされる複数のチャンネル(例えば、第1~第8チャンネル)を有し、当該複数のチャンネルから所定のチャンネルを選択し、当該選択されたチャンネルに応じた駆動データに基づいて前記発光手段による演出表示を制御する発光制御手段(例えば、音声・LED制御回路220)と、を備え、
前記発光制御手段は、前記複数のチャンネルから2以上のチャンネルを選択し、選択した2以上のチャンネルに応じた駆動データに基づいて、前記発光手段による演出表示を制御することを特徴とする遊技機。
(1)によれば、発光手段(LED)用のチャンネルを複数使用することにより、複雑で立体感のあるLEDによる演出表示が可能になる。
(2) (1)において、前記発光制御手段(例えば、音声・LED制御回路220)は、選択された2以上のチャンネルに応じた駆動データを、同時に用いて(例えば、チャンネル(1)とチャンネル(2)のLEDデータを混ぜる)、前記発光手段による演出表示を制御することを特徴とする遊技機。
(2)によれば、発光手段(LED)用の複数にチャンネルを、同時に使用することにより、より複雑で立体感のあるLEDによる演出表示が可能になる。
(3) (1)において、前記発光制御手段(例えば、音声・LED制御回路220)は、選択された2以上のチャンネルに応じたそれぞれの駆動データを、適宜タイミングで用いて(例えば、変動開始からリーチ前はチャンネル(1)のLEDデータを用い、リーチ後はチャンネル(1)とチャンネル(1)のLEDデータを同時に用いる)、前記発光手段による演出表示を制御することを特徴とする遊技機。
(3)によれば、発光手段(LED)用のチャンネルを複数、適宜タイミングで使用することにより、より複雑で立体感のあるLEDによる演出表示が可能になる。
(4) (1)において、前記発光制御手段(例えば、音声・LED制御回路220)は、選択された2以上のチャンネルに応じたそれぞれの駆動データを、遊技機で実行される演出に応じた所定のタイミングで用い(例えば、リーチ状態のときには、チャンネル(1)及び(2)のいずれか一方におけるLEDデータの輝度を低くすることによって、他方のチャンネルに対応するLEDの発光演出を強調させる)、前記発光手段による演出表示を制御する遊技機。
(4)によれば、いずれか一方のチャンネルに対応するLEDの発光演出を強調させるを複数、同時に使用することにより、より複雑で立体感のあるLEDによる演出表示が可能になる。
[発明の効果]
本発明によれば、発光手段(LED)用のチャンネルを複数使用することにより、複雑で立体感のあるLEDによる演出表示が可能になる。
[付記2]
[背景技術]
従来のパチンコ機では、遊技盤上に設けられた始動入賞口に、転動し流下する遊技球が入球すると、遊技者にとって有利な遊技状態に移行するための当り抽選が行われるとともに、液晶表示装置などの表示手段に表示される複数の図柄が変動し、当り抽選に当選した場合は複数の図柄が所定の組合せで停止することを契機として、有利な遊技状態(所謂、大当り遊技状態)に移行する。一方、抽選結果に応じて、表示手段では、図柄の変動・停止に応じて、演出画像などを表示して、有利な遊技状態へ移行することの期待感を高めている。
従来のパチンコ機では、電源を入れた直後の初期状態の場合、あるいは所定時間に亘って図柄の変動表示が行われない場合に、変動演出表示ではないデモ演出表示が行われる。この種の技術として、特許文献1には、一定の周期で同期信号を発生する同期信号発生手段を各遊技機に内蔵し、所定条件が成立すると、同期信号に基づいてデモ演出を開始することにより、それぞれの遊技機において同期が取れた状態でデモ演出を開始することが記載されている。このように、遊技店において、朝の営業開始時に、各遊技機に一斉に電源を入れることで、同期のとれたデモ演出表示が行われて、複数の遊技機が同じ演出画像を同じタイミングで表示することで、遊技者に大きなインパクトを与えている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2011-235168号公報
[発明の概要]
[発明が解決しようとする課題]
しかしながら、このデモ演出表示は、図柄の変動表示が開始すると同時に、図柄の変動演出表示に切り替わってしまい、以降、デモ演出表示の開始タイミングが遊技機毎に変わってしまう。このため、複数の遊技機における同期のとれた演出表示が行われなくなってしまい、複数の遊技機がバラバラのタイミングでデモ演出表示を行うことになってしまう。このように、遊技機の島において、折角、遊技者に大きなインパクトを与える演出画像の表示が可能であるにもかかわらず、その演出画像表示が朝の営業開始時に限定されているのが、現状である。
本発明は、このような問題点を解決した遊技機を提供することを目的とする。
[課題を解決するための手段]
前記目的を達成するため、本発明は、次に記載する構成を備えている。
(1) デモ演出表示、遊技演出表示および遊技結果演出表示を行う表示手段(例えば、表示手段19)と、
時間の経過に応じて時間情報を周期的に発信する時間発信手段(例えば、基準時間タイマ及びデモ同期タイマ)と、
遊技結果演出表示から遊技開始条件が満たされるまでの時間を計時する計時手段(例えば、デモ開始タイマ)と、
当該計時手段が規定時間を計時することを条件としてデモ演出表示を行うとともに、デモ演出表示中において遊技開始条件を満たした場合にデモ演出表示から遊技演出表示に切り替える制御を行う演出表示制御手段(例えば、メインCPU71(図71のS31のデモ表示処理)、ホスト制御回路210(図79のS205のコマンド解析処理))と、
前記計時手段が規定時間(例えば、30秒)を計時する時点と前記時間情報の発信時点との時間差を求める演算手段(例えば、メインCPU71(図132のS902の処理)と、を備え、
前記演出表示制御手段は、前記時間差に基づいて、前記デモ演出表示の開始時点が前記時間発信手段による次の前記時間情報の発信時点に同期するように、前記デモ演出表示を開始するタイミングを調整する制御(例えば、メインCPU71(図132のS904の処理)を行うことを特徴とする遊技機。
(1)によれば、計時手段による規定時間計時後のデモ演出表示を、時間発信手段が周期的に発信する時間情報に同期させるようにデモ演出表示の開始タイミングを調整するので、例えば、遊技機の島における空き台に表示されるデモ演出表示を全て同じものとすることが可能になり、遊技者に大きなインパクトを与える演出画像の表示が可能になる。
(2) (1)において、前記演出表示制御手段は、
前記デモ演出表示を開始した後、前記遊技開始条件が満たされるまで、前記デモ演出表示を継続する制御を行う一方、
前記計時手段が規定時間を計時した場合に、前記規定時間を計時した時点から次の前記時間情報の発信時点まで遊技結果演出表示状態で待機する待機制御を行うことを特徴とする遊技機。
(2)によれば、時間発信手段の発信する時間情報に基づいて、決められたタイミングでデモ演出表示の制御を行うので、途中、遊技が再開されてデモ演出表示の開始タイミングが変わっても、待機制御によって、所定のタイミングでデモ演出表示が行われることになる。このため、例えば、遊技店において島を形成する複数の遊技機において、発生タイミングの一定ではない図柄変動表示が行われたとしても、デモ演出表示の開始タイミングを一定にすることが可能となる。これにより、遊技店の複数の遊技機における図柄変動表示が行われている遊技機を除く遊技機において、同期のとれたデモ演出表示を行うことが可能となる。
(3) (1)、(2)において、前記デモ演出表示は、デモ画面(例えば、デモムービー)の表示を含む単位演出表示の繰り返しからなり、前記デモ画面の表示時間は、前記時間情報が発信される周期以下であることを特徴とする遊技機。
(3)によれば、デモ画面の表示時間が、時間発信手段による時間情報の発信周期以下であることにより、単位演出表示の時間を、時間情報の発信周期に合わせることが可能になる。これにより、時間情報の発信周期においてデモ画面を確実に表示させることが可能になる。
[発明の効果]
本発明によれば、遊技店の営業開始時以外においても、遊技機の島において、遊技者に大きなインパクトを与える演出画像の表示が可能な遊技機を提供することができる。
[付記3]
[背景技術]
従来、遊技媒体を用いた遊技機として、パチンコ機、パチスロ機と称される遊技機が知られている。パチスロ機においては、メダルやコイン等の遊技媒体が投入され、スタートレバーが操作されると、当り抽籤が行われるとともに、複数の図柄がそれぞれの表面に配された複数のリールの回転が開始する。そして、ストップボタンが操作されると、抽籤結果に応じて複数のリールの回転が停止し、停止表示された図柄の組合せに応じてメダルやコインが払い出される。パチンコ機においては、遊技盤上に設けられた始動入賞口に、転動し流下する遊技球が入球すると、遊技者にとって有利な遊技状態に移行するための当り抽選が行われるとともに、液晶表示装置などの表示手段に表示される複数の図柄が変動する。当り抽選に当選した場合は複数の図柄が所定の組合せで停止することを契機として、有利な遊技状態(所謂、大当り遊技状態)に移行する。また、パチンコ機やパチスロ機においては、表示手段に、図柄の変動・停止にとともに抽選結果に応じた演出画像などを表示させることにより、有利な遊技状態へ移行することの期待感を高めている。
ところで、従来、特許文献1に記載された技術が提案されている。特許文献1によれば、演出制御又はエラー報知制御を行う演出制御手段と、音声情報を記憶する音声ROMと、複数の音声チャンネルを備えて音声ROMに記憶される音声情報に基づく音声を出力させる音声制御回路と、を備え、音声制御回路は、使用可能な音声チャンネルが全て使用されているときに演出制御に基づく新たな音声を出力する場合、現在出力されている音声のうち優先順位が最も低く設定された音声に替えて新たな音声を出力させる。このような構成とすることにより、音声チャンネルを効率的に使用して音声演出を行うことを可能としている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2016-202299号公報
[発明の概要]
[発明が解決しようとする課題]
ところで、従来、例えば、電断復帰時に、電源が入ったことを報知する音声が流れる遊技機においては、電源が入ったことを報知する音が優先的に流されるため、他の演出音が聞こえないことがある。このため、遊技者に報知されるべき情報が伝達できないおそれがある。そこで、遊技状況に応じて、適宜、効率的に音声の出力制御を行い得る遊技機の出現が望まれる。
本発明は、このような問題点を解決した遊技機を提供することを目的とする。
[課題を解決するための手段]
前記目的を達成するため、本発明は、次に記載する構成を備えている。
(1) 音声データを記憶する記憶手段(例えば、CGROM206)と、
複数の音声チャンネル(例えば、図43の音声ch1~音声ch(n))と、
各音声チャンネルに対して前記記憶手段から取得した音声データを設定し、該設定した音声チャンネルを用いた音声情報の出力制御を行う音声制御手段(例えば、音声・LED制御回路220)と、
当該音声制御手段によって出力制御された音声情報に基づく音声出力を行う音声出力手段(例えば、スピーカ11)と、を備え、
前記音声制御手段は、
複数の音声チャンネルのうち、第1の音声チャンネル(確定音に対応するチャンネル)が、第2の音声チャンネル(エラー音、システム音に対応するチャンネル)よりも優先度を低くして出力制御を行う一方、
第1の音声チャンネルで特定の音声情報が設定される場合は、第2の音声チャンネルよりも優先度を高くして出力制御を行うことを特徴とする遊技機。
(1)によれば、第2の音声チャンネルが第1の音声チャンネルよりも優先されるため、音声出力手段から第2の音声チャンネルによる音声が出力される場合には、第1の音声チャンネルによる音声が聞き取りにくくなるが、第1の音声チャンネルで設定された特定の音声が出力される場合に、第1の音声チャンネルが第2の音声チャンネルよりも優先される。このため、遊技者は、第1の音声チャンネルによる特定の音声が聞き取りやすくなる。このように、遊技状況に応じて、適宜、効率的であり、明確に音声の出力制御を行い得る遊技機を提供することが可能になる。
(2) (1)において、前記音声制御手段は、第1の音声チャンネル及び第2の音声チャンネルでそれぞれ設定された音声情報を同時に出力制御するとともに、優先度に応じた割合で音声情報を出力制御することを特徴とする遊技機。
(2)によれば、例えば、第1の音声チャンネル及び第2の音声チャンネルの音声を同時に出力した場合に、第1の音声チャンネルの音声が聞き取り易くなるように、第1の音声チャンネルの音声及び第2の音声チャンネルの音声の出力調整を行うことが可能になる。
(3) (1)、(2)において、前記音声出力手段は複数設けられており(例えば、スピーカ11、11)、
前記音声制御手段は、
複数の前記音声出力手段で、優先度に応じた音声を出力する制御を行い、
第1の音声チャンネルで特定の音声情報が設定されている場合に、一の音声出力手段において、第1の音声チャンネルで設定された特定の音声情報の出力制御をする一方、他の音声出力手段において、第2の音声チャンネルで設定された音声情報の出力制御をすることを特徴とする遊技機。
(3)によれば、一の音声出力手段が、優先度の高い第1の音声チャンネルで設定された特定の音声を出力し、他の音声出力手段が、第2の音声チャンネルで設定された音声を出力することで、遊技者は、優先度の高い第1の音声チャンネルの音声を確実に聞き取ることが可能になる。
[発明の効果]
本発明によれば、遊技状況に応じて、適宜、効率的であり、明確に音声の出力制御を行い得る遊技機を提供することができる。
[付記4]
[背景技術]
従来、遊技媒体を用いた遊技機として、パチンコ機、パチスロ機と称される遊技機が知られている。パチスロ機においては、メダルやコイン等の遊技媒体が投入され、スタートレバーが操作されると、当り抽籤が行われるとともに、複数の図柄がそれぞれの表面に配された複数のリールの回転が開始する。そして、ストップボタンが操作されると、抽籤結果に応じて複数のリールの回転が停止し、停止表示された図柄の組合せに応じてメダルやコインが払い出される。パチンコ機においては、遊技盤上に設けられた始動入賞口に、転動し流下する遊技球が入球すると、遊技者にとって有利な遊技状態に移行するための当り抽選が行われるとともに、液晶表示装置などの表示手段に表示される複数の図柄が変動する。当り抽選に当選した場合は複数の図柄が所定の組合せで停止することを契機として、有利な遊技状態(所謂、大当り遊技状態)に移行する。また、パチンコ機やパチスロ機においては、表示手段に、図柄の変動・停止にとともに抽選結果に応じた演出画像などを表示させることにより、有利な遊技状態へ移行することの期待感を高めている。
ところで、従来、特許文献1に記載された技術が提案されている。特許文献1によれば、演出制御又はエラー報知制御を行う演出制御手段と、音声情報を記憶する音声ROMと、複数の音声チャンネルを備えて音声ROMに記憶される音声情報に基づく音声を出力させる音声制御回路と、を備え、音声制御回路は、使用可能な音声チャンネルが全て使用されているときに演出制御に基づく新たな音声を出力する場合、現在出力されている音声のうち優先順位が最も低く設定された音声に替えて新たな音声を出力させる。このような構成とすることにより、音声チャンネルを効率的に使用して音声演出を行うことを可能としている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2016-202299号公報
[発明の概要]
[発明が解決しようとする課題]
しかし、このような音声の出力制御においては、音声制御回路が、音声チャンネルで設定された音声の優先度を制御しているが、複数の音声を同時に出力することによる混声の微妙なバランスやタイミングを制御しきれないところがある。例えば、BGMが流れているときに演出音を発生させる場合、演出音の優先度が高くなるように制御することによって演出音が聞こえやすくなるが、BGMと演出音とを同時に出力する場合には、演出音が聞こえ難くなるおそれがある。
本発明は、このような問題点を解決した遊技機を提供することを目的とする。
[課題を解決するための手段]
前記目的を達成するため、本発明は、次に記載する構成を備えている。
(1) 音声データを記憶する記憶手段(例えば、CGROM206)と、
複数の音声チャンネル(例えば、図134の音声ch1~音声ch(n))と、
各音声チャンネルに対して前記記憶手段から取得した音声データを設定し、該設定した音声チャンネルを用いて所定の音声情報の出力制御を行う音声制御手段(例えば、音声・LED制御回路220のメインジェネレータ227)と、
当該音声制御手段によって出力制御された音声情報に基づく音声出力を行う音声出力手段(例えば、スピーカ11)と、
当該音声出力手段から、優先度の高い音声チャンネルに対応する第1音声情報と当該音声チャンネルより優先度の低い第2音声情報とを同時に出力させる際に、第1音声情報が出力されるタイミングで、前記第2音声情報にサイドチェイン処理を施す専用デバイス(例えば、サイドチェイン制御部228a)を備えることを特徴とする遊技機。
(2) (1)において、前記音声制御手段によって出力制御された音声情報を合成するミキサ(例えば、ミキサ228c)を備え、
前記専用デバイスは、前記第1音声情報と優先度の低い音声チャンネルに対応する前記第2音声情報とを入力し、前記第1音声情報を参照して、前記第2音声情報にサイドチェイン処理を施してなる音声情報を、前記ミキサに出力することを特徴とする遊技機。
(3) (1)、(2)において、前記専用デバイスは、前記第2音声情報の音量を、前記第1音声情報の音量よりも小さくすることを特徴とする遊技機。
(4) (1)、(2)において、前記専用デバイスは、前記第1音声情報及び前記第2音声情報の音質を変化させることを特徴とする遊技機。
(1)~(4)によれば、複数の音声が同時に出力される場合に、優先度の高い音声が出力されるタイミングで優先度の低い音声にサイドチェイン処理が施されるため、遊技者は、優先度の高い音声を明確に聞き取ることが可能になる。このように、専用デバイスによって、音声の優先度を明確化することが可能となり、複数の音声を同時に出力することによる混声の微妙なバランスやタイミングを制御することが可能な遊技機を提供することが可能になる。
[発明の効果]
本発明によれば、専用デバイスによって、音声の優先度を明確化することが可能となり、複数の音声を同時に出力することによる混声の微妙なバランスやタイミングを制御することが可能な遊技機を提供することが可能になる。
[付記5]
[背景技術]
従来、複数の図柄がそれぞれの表面に配された複数のリールと、遊技メダルやコイン等(以下、「メダル等」と言う)が投入され、遊技者によりスタートレバーが操作されたことを検出し、複数のリールの回転の開始を要求するスタートスイッチと、複数のリールのそれぞれに対応して設けられたストップボタンが遊技者により押されたことを検出し、該当するリールの回転の停止を要求する信号を出力するストップスイッチと、複数のリールのそれぞれに対応して設けられ、それぞれの駆動力を各リールに伝達するステッピングモータと、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転及びその停止を行うリール制御部と、を備え、スタートレバーが操作されたことを検出すると、乱数値に基づいて抽籤を行い、この抽籤の結果(以下、「内部当籤役」と言う)とストップボタンが操作されたことを検出したタイミングとに基づいてリールの回転の停止を行う、いわゆるパチスロと称される遊技機が知られている。
従来のパチスロでは、メダルの投入枚数が遊技者の意思に反して不足する場合がある。例えば、3枚以上のメダル投入を遊技条件とするパチスロであれば、遊技者のメダル所持数が2枚の場合には遊技を行うことができない。この場合、遊技者は、メダル受け皿にメダルを残さないことで離席の際に空き台であることを明確にするため、手持ちの2枚のメダルを持って離席する他に、あるいは2枚のメダルをメダル投入口に投入して離席する場合もあり得る。また、2枚のメダルがパチスロにクレジットされた状態であれば、精算ボタンを押して2枚のメダルを払い出さずに、そのまま離席する場合もあり得る。
しかし、2枚のメダルが投入された状態の遊技機は、他の遊技者から見て、一時的に離席しているのか本当に空席なのかが判別しにくいことから、遊技者に敬遠されるおそれがあり、遊技店側としては、稼働率低下に繋がるおそれがある。
特許文献1によれば、メダル投入枚数不足信号の入力中は、スタートスイッチからのスタート信号を無効とし、メダル投入枚数不足信号の入力を条件に、メダル投入枚数が設定枚数に満たないことを遊技者に報知することが可能なパチスロについて記載されている。具体的に、このパチスロは、メダル投入枚数が設定枚数に満たない場合に、LEDが点滅状態となる。これによって、遊技者は、LEDの点滅状態を見ることで、メダルの投入枚数が設定枚数を下回っていることを知ることができる。更に、この点滅状態は、遊技者のみではなく、待機中で空席を探している遊技者や、遊技店の管理者にも把握できる。
[先行技術文献]
[特許文献]
[特許文献1] 特開平7-108080号公報
[発明の概要]
[発明が解決しようとする課題]
しかしながら、この点滅状態だけでは、空席である可能性が高いことを示唆しているものの、遊技者が離席中なのか本当に空席中なのかを判断することが困難である。逆に、LEDの点滅を見た遊技者は、パチスロに問題が発生していると勘違いして、そのパチスロで遊技を行うことを敬遠するおそれがある。
本発明、このような問題点を解決した遊技機を提供することを目的とする。
[課題を解決するための手段]
前記目的を達成するため、本発明は、次に記載する構成を備えている。
(1) 遊技媒体の投入を検知する投入検知手段(例えば、メダルセンサ524S)と、
当該投入検知手段によって、所定数以上の遊技媒体の投入を検知したことを条件として、遊技の実行を制御する遊技実行制御手段(例えば、メインCPU531(図139のS1000~S1019))と、
遊技媒体を払い出す払出手段(例えば、ホッパー540)と、
遊技媒体の払い出しを制御する払出制御手段(例えば、メインCPU531(図145の払出制御処理))と、
遊技が終了してからの経過時間を計時する計時手段(例えば、メインCPU531(図140のS1047))と、を備え、
前記払出制御手段は、前記投入検知手段による遊技媒体の投入数が所定数未満であり、かつ前記計時手段が第1の時間の経過を計時したことを条件として、投入された所定数以下の遊技媒体を払い出す制御(例えば、メインCPU531(図141のS1062))を行うことを特徴とする遊技機。
(1)によれば、所定数未満の遊技媒体が投入された状態が、特定の時間経過してしまったときに払い出されるので、メダル投入中の状態が第1の時間以上に継続しないため、第1の時間以上、その遊技機が空席なのか否かが不明とはなりにくく、遊技機の稼働率が必要以上に低下することを防止し得る。
(2) (1)において、
所定数を越えた分の前記遊技媒体を貯留する遊技媒体貯留手段(例えば、メダルカウンタ)と、
遊技者の操作によって、前記遊技媒体貯留手段に貯留されている遊技媒体を投入するベット手段(例えば、ベットボタン511)と、を更に備え、
前記払出制御手段は、前記遊技媒体貯留手段による遊技媒体の貯留枚数が所定数未満であり、かつ前記計時手段が第1の時間の経過を計時したことを条件として、前記遊技媒体貯留手段に貯留されている所定数未満の遊技媒体を払い出す制御を行うことを特徴とする遊技機
(2)によれば、所定数未満の遊技媒体がクレジットされた状態が、特定の時間経過してしまったときに払い出されるので、メダル投入中の状態が第1の時間以上に継続しないため、第1の時間以上、その遊技機が空席なのか否かが不明とはなりにくく、遊技機の稼働率が必要以上に低下することを防止し得る。
(3) (1)、(2)において、
遊技者に情報を報知する報知手段(例えば、液晶表示装置505)と、
前記計時手段が、第1の時間よりも短い第2の時間の経過を計時したことを条件として、情報を、前記報知手段に報知させる制御を行う報知制御手段(例えば、サブCPU581(図152のS1422))と、を備えることを特徴とする遊技機。
(3)によれば、第1の時間よりも短い第2の時間が経過したことを、報知手段によって報知することで、第2の時間が経過する前の段階で、遊技者や、空席を探す遊技者、遊技店の管理者に知らせることで、遊技機の稼働率の低下をさらに防止し得る。
(4) 遊技媒体の投入を検知する投入検知手段(例えば、メダルセンサ524S)と、
当該投入検知手段によって、所定数以上の遊技媒体の投入を検知したことを条件として、遊技の実行を制御する遊技実行制御手段(例えば、メインCPU531(図139のS100~S1019))と、
遊技者に情報を報知する報知手段(例えば、ランプ群518)と、
当該報知手段を制御する報知制御手段(例えば、サブCPU581(図152のS1422))と、
遊技が終了してからの経過時間を計時する計時手段(例えば、メインCPU531(図140のS1047))と、を備え、
前記報知制御手段は、前記投入検知手段による遊技媒体の投入数が所定数未満でありかつ前記計時手段が第1の時間の経過を計時したことを条件として(例えば、メインCPU531(図141のS1058、S1063))、前記報知手段を動作させる制御を行うことを特徴とする遊技機。
(4)によれば、所定数未満の遊技媒体が投入された状態が、特定の時間経過してしまったときに報知手段が動作するので、第1の時間以上、その遊技機が空席なのか否かが不明とはなりにくく、遊技機の稼働率が必要以上に低下することを防止し得る。
[発明の効果]
本発明によれば、遊技機が空席なのか否かが不明とはなりにくく、遊技機の稼働率が必要以上に低下することを防止し得る遊技機を提供することができる。