以下、図面を参照して、本発明による遊技機の実施形態について説明する。なお、実施形態の説明における前後左右とは、遊技盤に向かって見た方向(遊技者から見た方向)を指すものとする。
図1は、本発明の実施の形態の遊技機1の斜視図である。
遊技機1は、島設備に固定される本体枠2にヒンジ3を介して右側部が開閉回動自在に取り付けられる開閉枠4を備える。開閉枠4は、前面枠5及びガラス枠6によって構成される。
前面枠5には、遊技盤30(図2参照)が配設されるとともに、遊技盤30の前面を覆うカバーガラス6aを備えたガラス枠6が取り付けられる。前面枠5及びガラス枠6は、それぞれ個別に開放することが可能となっている。例えば、ガラス枠6のみを開放して遊技盤30の遊技領域31(図2参照)にアクセスすることができる。また、前面枠5をガラス枠6が開放されていない状態で開放することによって、遊技盤30の裏側に配置された遊技制御装置600(図3参照)等にアクセスすることができる。
ガラス枠6のカバーガラス6aの周囲には、装飾部材7が配設されている。装飾部材7の内部にはLED等によって構成された枠装飾装置21(図4参照)が収容されており、枠装飾装置21を制御することによって装飾部材7における発光状態を調整することができる。
ガラス枠6の上部には照明ユニット8が配設され、照明ユニット8の左右両側には可動式照明9が配設される。照明ユニット8は、内部にLED等の照明部材を収容しており、遊技状態に応じて発光演出を行う。可動式照明9は、LED等の照明部材と、照明部材を駆動する照明駆動モータ等から構成される枠演出装置22(図4参照)とを備える。可動式照明9の枠演出装置22は、遊技状態に応じて照明部材を駆動(例えば回転駆動)するように制御される。なお、照明ユニット8及び可動式照明9の内部に配設される照明部材も、枠装飾装置21(図4参照)の一部を構成している。
遊技機1は、効果音や警報音、報知音等を発する上スピーカー10a及び下スピーカー10bを備える。上スピーカー10aはガラス枠6の上両側部に配置され、下スピーカー10bは上皿ユニット11を構成する上皿11aの下方に配置される。
左側部に配設される可動式照明9の右上方には、遊技機1における異常を報知するための遊技状態報知LED12が設けられている。遊技機1において異常が発生した場合には、遊技状態報知LED12が点灯又は点滅するとともに、上スピーカー10a及び下スピーカー10bから異常を報知するための報知音が出力される。
遊技機1で発生する異常には、遊技機1の故障及び不正行為の実施等が含まれる。不正行為には、例えば、発射された遊技球の軌道を磁石によって不正に操作する行為や遊技機1を振動させる行為等が含まれる。これらの不正行為は、磁気センサスイッチ23(図3参照)によって磁気を検出したり、振動センサスイッチ24(図3参照)によって振動を検出したりすることで検知される。
また、不正に開閉枠4を開放する行為も不正行為に含まれる。前面枠5の開閉状態は前面枠開放検出スイッチ25(図3参照)によって検出され、ガラス枠6の開閉状態は遊技枠開放検出スイッチ26(図3参照)によって検出される。
ガラス枠6の下部には、上皿11aを含む上皿ユニット11が備えられる。上皿11aに貯留された遊技球は、前面枠5の下部に設けられた球発射装置に供給される。
ガラス枠6の下方位置であって前面枠5に固定される固定パネル13には、下皿14と、球発射装置を駆動するための操作部15とが備えられる。遊技者が操作部15を回動操作することによって、球発射装置は上皿11aから供給された遊技球を遊技盤30の遊技領域31(図2参照)に発射する。下皿14には、当該下皿14に貯留された遊技球を外部へ排出するための球抜き機構16が設けられる。
上皿ユニット11には、遊技者からの操作入力を受け付けるための演出ボタン17が上皿11aの手前側に配設されている。遊技者が演出ボタン17を操作することによって、表示装置35(図2参照)での変動表示ゲームにおいて遊技者の操作を介入させた演出を行うことができ、また通常遊技状態においては演出パターン(演出態様)を変更することができる。変動表示ゲームには、特図変動表示ゲームと普図変動表示ゲームが含まれ、本明細書では単に変動表示ゲームとした場合には特図変動表示ゲームを指すものとする。
なお、通常遊技状態とは、特定の遊技状態が発生していない遊技状態である。特定の遊技状態とは、例えば変動表示ゲームの抽選確率が高い確率の確変状態、変動表示ゲームの単位時間当たりの実行数を向上させることが可能な時短状態、大当り遊技状態(特別遊技状態)、又は小当り遊技状態等である。
ここで、確変状態は、次の大当りが発生するまで継続するもの(ループタイプ)、所定回数の変動表示ゲームが実行されるまで継続するもの(回数切りタイプ)、及び所定の確率転落抽選に当選するまで継続するもの(転落抽選タイプ)などが考えられる。
さらに、確変状態を発生させるか否かを大当り図柄乱数によって決定せずに、大当りが発生した場合に必ず確変状態を発生させるようにしてもよいし、特定領域を備える入賞装置などを設け、当該特定領域を遊技球が通過した場合に確変状態を発生させるようにしてもよい。
また、変動表示ゲームが開始された後、演出ボタン17の操作を促進するための操作促進演出が実行され、操作促進演出が実行されている間に演出ボタン17を操作することによって、始動記憶に対応する変動表示ゲームの結果を事前に予告する予告演出等を実行することができる。
ガラス枠6の装飾部材7の下部には、遊技者が遊技球を借りる場合に操作する球貸ボタン18と、カードユニット(図示省略)からプリペイドカード等を排出させるために操作される排出ボタン19とが配設される。また、球貸ボタン18及び排出ボタン19の間には、プリペイドカード等の残高を表示する残高表示部20が設けられる。
また、プリペイドカード等の取り忘れを防止するために、大当り(特別遊技状態)終了後、時短状態の終了後などのタイミングで、警告メッセージを表示するなど、遊技者に対して注意を喚起する。例えば、表示装置35に「カードの取り忘れ注意」といった表示をしたり、残高表示部20を発光させたりする。
図2を参照して、遊技機1に配設される遊技盤30について説明する。図2は、遊技機1に備えられる遊技盤30の正面図である。
遊技盤30は、合板やプラスチック等からなる矩形状の遊技盤本体32の表面に、区画部材としてのガイドレール33を設けることで、略円形状の遊技領域31を区画形成している。
遊技領域31には、開口部34aを有するセンターケース34が配設される。遊技盤30にはセンターケース34の外周に沿った形状の開口30aが形成され、センターケース34はその開口30aに遊技盤30の前方から嵌装される。
遊技盤30の裏面には、表示装置35を備える制御ベースユニットが配設される。表示装置35は、複数の識別情報を変動表示する変動表示ゲームを表示可能な表示部35aを有する。制御ベースユニットは、動作演出や発光演出を実行可能な演出装置をさらに備え、当該演出装置は、センターケース34の下部に対応する位置に設けられるシーソー役物71と、センターケース34の側部及び上部に対応する位置に設けられる鎌役物500とから構成されている。
センターケース34の開口部34aは表示装置35の表示部35aに対応して設けられており、表示装置35の表示部35aはセンターケース34の開口部34aに臨むように配設される。表示装置35の表示部35aは任意の画像を表示可能な液晶表示器であり、表示画面上には複数の識別情報(特別図柄)や変動表示ゲームを演出するキャラクタ等、遊技の進行に基づく画像が表示される。表示装置35は、表示部35aに複数の変動表示領域(例えば、左側、中央、右側の3つの可変表示領域)を設定して、各表示領域の各々で独立した画像を表示可能に構成されている。
センターケース34の右上方の遊技領域31には、遊技球が通過した場合に普通図柄(普図)変動表示ゲームの始動条件を成立させる普図始動ゲート36が配設される。
センターケース34の下方の遊技領域31には、遊技球の入賞に基づき第1特別図柄(第1特図)変動表示ゲームの始動条件を付与可能な第1始動入賞口37が配設される。なお、センターケース34には、遊技領域31を流下する遊技球をセンターケース34の内側に導くためのワープ通路200と、ワープ通路200を通過した遊技球が転動可能であって、転動した遊技球を第1始動入賞口37の上方の遊技領域31へと流下させるステージ部80とが設けられる。
センターケース34の右下方の遊技領域31には、遊技球の入賞に基づき第2特別図柄(第2特図)変動表示ゲームの始動条件を付与可能な第2始動入賞口38が配設される。第2始動入賞口38は装飾板39の後方に位置しているため、図2では第2始動入賞口38の図示を省略している。第2始動入賞口38は、普図変動表示ゲームの結果が当りの場合に遊技領域31の前方に突出して、流下してくる遊技球を第2始動入賞口38へと導くことが可能な可動受入部(図示省略)を備えている。可動受入部は、通常状態においては遊技盤30の裏面側に収納され、装飾板39の後方を通過する遊技球が第2始動入賞口38に入賞不能な状態(遊技者にとって不利な状態)となり、遊技球は第2始動入賞口38に入賞することなく下方に流下する。一方、普図変動表示ゲームの結果が当りとなった場合には、可動受入部は、普電ソレノイド27(図3参照)の駆動力に基づいて遊技領域31の前方に突出し、装飾板39の後方を通過する遊技球が第2始動入賞口38に流入しやすい状態(遊技者にとって有利な状態)となる。第2始動入賞口38に備えられる可動受入部は、遊技制御装置600(図3)によって制御される。遊技制御装置600は、入賞容易状態の発生頻度を高めたり、入賞容易状態の発生時間を長くしたりすることで、特定遊技状態としての時短状態(普電サポート状態)を発生させる。
第1始動入賞口37の左右両側の遊技領域31には、遊技球が入賞した場合に賞球を払い出す条件だけが成立する一般入賞口40が複数配設される。
第1始動入賞口37の右側方の遊技領域31には、大入賞口ソレノイド28(図3参照)によって上端側が手前側に倒れる方向に回動して開放可能になっているアタッカー形式の開閉扉41aを有する大入賞口を備えた第1変動入賞装置41が設けられる。第1変動入賞装置41は、第1特図変動表示ゲームの結果が大当りになると、大入賞口を閉じた状態(遊技者にとって不利な閉塞状態)から開放状態(遊技者にとって有利な状態)に変換し、大入賞口内への遊技球の流入を容易にさせることで、遊技者に賞球を付与するようになっている。
センターケース34の右側部には、第2変動入賞装置45が設けられる。第2変動入賞装置45は、遊技球が入賞すると、所定の賞球を付与する。第2変動入賞装置45は、遊技球を受け入れる受入口45aと、受入口45aを開閉する開閉部45bとを備える。第2変動入賞装置45の受入口45aは、上下方向において、装飾板39の後方に設けられる第2始動入賞口と、普図始動ゲート36との間に位置するように配設される。
第2変動入賞装置45は、第2特図変動表示ゲームの結果がはずれの場合には、開閉部45bによって受入口45aを閉じて、遊技球が第2変動入賞装置45内に流入不能な状態(遊技者にとって不利な状態)となる。一方、特図2変動表示ゲームの結果が大当りとなった場合には、開閉部45bによって受入口45aを開いて、遊技球が第2変動入賞装置45内に流入しやすい状態(遊技者にとって有利な状態)となる。
なお、遊技領域31には、上記した始動入賞口等のほかに、遊技球の流下方向を変える風車(図示省略)や障害釘(図示省略)等の流下方向変換部材や、入賞せずに流下した遊技球を回収するアウト口42が配設される。
なお、遊技盤30の右下部には、特図変動表示ゲーム(第1特図変動表示ゲーム及び第2特図変動表示ゲーム)の特図の変動表示、特図入賞記憶数(第1特図変動表示ゲーム及び第2特図変動表示ゲームの始動記憶数)、普図変動表示ゲームの普図の変動表示、普図入賞記憶数(普図変動表示ゲームの始動記憶数)、及び大当たりの決定ラウンド数等を表示する一括表示装置50が配設される。
遊技機1では、球発射装置(図示省略)によって打ち出された遊技球は、ガイドレール33の内周壁に沿って区画された発射球案内通路43を通って遊技領域31内に発射され、方向変換部材(図示省略)によって落下方向を変えながら遊技領域31を流下する。発射球案内通路43はガイドレール33と内レール44とによって形成されており、発射球案内通路43の出口に位置する内レール44の端部には弁体400が設けられる。弁体400の下端は内レール44に固定され、弁体400は発射球案内通路43の出口を塞ぐように配設される。弁体400は、金属板からなる板ばね部材であり、発射球案内通路43から遊技領域31に発射される遊技球の通過を許容する一方、遊技領域31側から発射球案内通路43への遊技球の逆流を禁止する。
本実施形態の遊技機1は、遊技状態に応じて遊技者が左打ち又は右打ちを行うように構成されており、遊技開始直後等の通常遊技状態や大当り遊技状態後に時短状態が発生しない場合には遊技者によって左打ちが行われる。なお、遊技者が遊技状態に応じた打ち分けをしやすいように、表示装置35の表示部35aには左打ち又は右打ちの指示が表示される。
左打ちが行われる場合には、遊技球はセンターケース34の左側方の遊技領域31を流下して、第1始動入賞口37や第1始動入賞口37の左側に配設された一般入賞口40に入賞するか、遊技領域31の最下部に設けられたアウト口42から遊技機1の外部に排出される。ワープ通路200を通ってステージ部80に導かれた遊技球も第1始動入賞口37に入賞したり、第1始動入賞口37の左側の一般入賞口40に入賞したりする。なお、一般入賞口40や第1始動入賞口37に遊技球が入賞すると、入賞した入賞口の種類に応じた数の遊技球が賞球として遊技者に払い出される。
第1始動入賞口37に遊技球が入賞すると、一括表示装置50で第1特図変動表示ゲームが実行されるとともに、第1特図変動表示ゲームに対応する飾り特図変動表示ゲームが表示装置35で実行される。表示装置35では、三つの数字等で構成される識別情報が順に変動表示する飾り特図変動表示ゲームが開始され、飾り特図変動表示ゲームに関する画像が表示部35aに表示される。第1始動入賞口37への遊技球の入賞が所定タイミングでなされた場合には、第1特図変動表示ゲームの結果が特別結果態様(大当り)となり、飾り特図変動表示ゲームでは三つの表示図柄が揃った状態で停止する。この場合には、第1変動入賞装置41の開閉扉41aが開いて、大当り遊技状態(特別遊技状態)となる。
大当り遊技状態中は、遊技球を第1変動入賞装置41の大入賞口へ入賞させるために、遊技者は右打ちを行うことになる。右打ちが行われる場合には、遊技球はセンターケース34の右側方の遊技領域31を流下する。第1変動入賞装置41の大入賞口は、所定時間経過するまで又は所定数の遊技球が大入賞口に入賞するまで、遊技球を受け入れない閉状態(遊技者に不利な状態)から遊技球を受け入れやすい開状態(遊技者に有利な状態)となる。大入賞口に遊技球が入賞することによって、遊技者には多くの遊技球を獲得可能な遊技価値が付与される。大入賞口に所定個数の遊技球が入賞するか、大入賞口の開放から所定時間が経過するかの何れかの条件が達成されるまで大入賞口を開放することを1ラウンドとし、これが所定ラウンド数(例えば、15回又は2回)継続される。
ところで、大当り時の停止図柄が特定の図柄等である場合には、大当り遊技状態後の遊技状態が時短状態となる。時短状態は、例えば、特図変動表示ゲーム(第1特図変動表示ゲーム又は第2特図変動表示ゲーム)が100回行われるまで継続される。時短状態中においては、遊技機1は、遊技者が右打ちを行うように設定されている。なお、大当り遊技状態後に時短状態が発生しない場合には、表示装置35の表示部35aに左打ちの指示が表示され、遊技者によって左打ちが行われる。
時短状態中に右打ちが行われ、遊技球が普図始動ゲート36を通過すると、一括表示装置50で普図変動表示ゲームが開始される。普図始動ゲート36への遊技球の通過が所定のタイミングでなされた場合には普図変動表示ゲームの結果が当りとなる。この場合には、装飾板39の後方に位置する第2始動入賞口38の可動受入部が普電ソレノイド27(図3参照)の駆動力に基づいて遊技領域31の前方に突出し、第2始動入賞口38への遊技球の入賞可能性が高められる。
第2始動入賞口38に遊技球が入賞すると、一括表示装置50で第2特図変動表示ゲームが実行されるとともに、第2特図変動表示ゲームに対応する飾り特図変動表示ゲームが表示装置35で実行される。第1特図変動表示ゲームと同様に、表示装置35では、三つの数字等で構成される識別情報が順に変動表示する飾り特図変動表示ゲームが開始され、飾り特図変動表示ゲームに関する画像が表示部35aに表示される。第2始動入賞口38への遊技球の入賞が所定タイミングでなされた場合には、第2特図変動表示ゲームの結果が特別結果態様(大当り)となり、飾り特図変動表示ゲームでは三つの表示図柄が揃った状態で停止する。この場合には、第1変動入賞装置41の開閉扉41aが開いて、大当り遊技状態(特別遊技状態)となる。
なお、時短状態終了後には、表示装置35の表示部35aに左打ちの指示が表示され、遊技者によって左打ちが行われる。上記の通り、本実施形態の遊技機1では、遊技者が左打ち又は右打ちを行いながら遊技が進行する。
次に、図3及び図4を参照して、遊技機1に備えられる遊技制御装置600及び演出制御装置700について説明する。
図3は、遊技機1の遊技制御装置600を中心とする制御系を示すブロック構成図である。図4は、遊技機1の演出制御装置700を中心とする制御系を示すブロック構成図である。
図3に示す遊技制御装置(遊技制御手段)600は、遊技機1における遊技を統括的に制御する主制御装置(主基板)である。遊技制御装置600には、電源装置800、払出制御装置640、及び演出制御装置700が接続される。遊技制御装置600は、払出制御装置640や演出制御装置700に制御信号(コマンド)を送信し、各種処理の実行を指示する。さらに、遊技制御装置600には、各種スイッチや制御対象のソレノイド等が接続される。
遊技制御装置600は、各種演算処理を行うCPU部610と、各種信号の入力を受け付ける入力部620と、各種信号や制御信号を出力する出力部630とを備える。CPU部610、入力部620及び出力部630は、互いにデータバス680によって接続される。
入力部620は、遊技盤30等に設けられた各種スイッチから出力される信号や払出制御装置640から出力される信号を受け付ける。この入力部620は、近接インターフェース(I/F)621及び入力ポート622、623を備える。
入力ポート622、623は、近接I/F621を介して入力される信号を受け付けたり、外部から入力される信号を直接受け付けたりする。入力ポート622、623に入力した情報は、データバス680を介してCPU部610等に提供される。
近接I/F621は、各種スイッチから出力された信号を受け付け、それら入力信号を変換して入力ポート622に出力するインターフェースである。近接I/F621には、第1始動口スイッチ601、第2始動口スイッチ602、ゲートスイッチ603、入賞口スイッチ604a〜604n、及びカウントスイッチ605が接続される。
第1始動口スイッチ601は、遊技球が第1始動入賞口37に入賞したことを検出するスイッチである。第2始動口スイッチ602は、遊技球が第2始動入賞口38に入賞したことを検出するスイッチである。ゲートスイッチ603は、遊技球が普図始動ゲート36を通過したことを検出するスイッチである。入賞口スイッチ604a〜604nは、遊技球が一般入賞口40に入賞したことを検出するスイッチである。
第1始動口スイッチ601及び第2始動口スイッチ602の検出信号は、入力ポート622に出力されるとともに、CPU部610の反転回路612を介して遊技用マイコン611に出力される。これは、遊技用マイコン611の信号入力端子がロウレベルを有効レベルとして検知するように設計されているためである。
カウントスイッチ605は、遊技球が大入賞口に入賞したことを検出するスイッチである。カウントスイッチ605によって遊技球の入賞が検出されると、入賞した遊技球の数がカウントされ、カウントされた遊技球の数が遊技制御装置600に備えられたメモリに記憶される。
近接I/F621への入力信号の電圧は、通常時には所定範囲内となっているため、近接I/F621によれば、各種スイッチからの信号の電圧値に基づいて各種スイッチにおけるリード線の断線、ショート、電圧値異常等を検出できる。このような異常を検出すると、近接I/F621は、異常検知出力端子から異常を示す信号を出力する。
なお、近接I/F621に接続されるスイッチのコネクタの着脱によって、近接I/F621に入力される信号の出力値(ON/OFF)が切り替わるため、近接I/F621はスイッチが接続されていない場合であっても出力を一定に維持するように構成されている。
また、入力ポート622には磁気センサスイッチ23及び振動センサスイッチ24からの信号が直接入力され、入力ポート623には前面枠開放検出スイッチ(SW)25及び遊技枠開放検出スイッチ(SW)26からの信号が直接入力される。入力ポート623には、払出制御装置640からの各種信号も入力される。
磁気センサスイッチ23は、発射された遊技球の軌道を磁石によって操作する不正行為を検出するために磁力を検出する。振動センサスイッチ24は、遊技機1を振動させる不正行為を検出するために遊技機1の振動を検出する。
前面枠開放検出SW25は、前面枠5が開放されたことを検出する。前面枠開放検出SW25は、前面枠5が本体枠2から開放されるとオンに設定され、前面枠5が本体枠2に閉止されるとオフに設定される。
遊技枠開放検出SW26は、ガラス枠6が開放されたことを検出する。遊技枠開放検出SW26は、ガラス枠6が前面枠5から開放されるとオンに設定され、ガラス枠6が前面枠5に閉止されるとオフに設定される。
遊技制御装置600のCPU部610は、遊技用マイコン611と、反転回路612と、水晶発振器613とを備える。
遊技用マイコン611は、CPU611a、ROM611b、及びRAM611cを有しており、入力部620を介して入力された信号に基づいてROM611bに記憶されたプログラムを実行して大当り抽選等の各種処理を実行する。遊技用マイコン611は、出力部630を介して、遊技状態報知LED12や一括表示装置50等から構成される一括表示装置50、普電ソレノイド27、大入賞口ソレノイド28、演出制御装置700、及び払出制御装置640に制御信号を送信し、遊技機1を統括的に制御する。遊技用マイコン611は、チップセレクトで、信号を入力又は出力するポートを選択している。
ROM611bは、不揮発性の記憶媒体であり、遊技制御のためのプログラムやデータ等を記憶する。
RAM611cは、揮発性の記憶媒体であり、遊技制御に必要な情報(例えば、乱数値など)を一時的に記憶するワークエリアとして利用される。
反転回路612は、近接I/F621を介して入力された信号(第1始動口スイッチ601及び第2始動口スイッチ602からの信号)の論理値を反転させて遊技用マイコン611に出力する。
水晶発振器613は、タイマ割込み、システムクロック信号、大当り抽選等を行うためのハード乱数の動作クロック源として構成されている。
遊技制御装置600の出力部630は、ポート631a〜631eと、バッファ632a、632bと、ドライバ633a〜633dと、フォトカプラ634とを備える。
ポート631a〜631eは、データバス680を介して入力された信号を受け付ける。
バッファ632a、632bは、データバス680やポート631a、631bを介して入力された信号を一時的に保持する。
ドライバ633a〜633dは、ポート631c〜631eを介して入力される信号から各種駆動信号を生成して各装置に出力する。
フォトカプラ634は、外部の検査装置670に接続可能に構成されており、入出力される各種信号からノイズを除去して各種信号の波形を整形する。フォトカプラ634と検査装置670との間は、シリアル通信によって情報が送受信される。
払出制御装置640には、ポート631aを介してパラレル通信によってCPU部610から出力された情報が送信される。払出制御装置640に対しては片方向通信を担保する必要がないため、ポート631aから払出制御装置640の払出制御基板に制御信号が直接送信される。
また、払出制御装置640は、発射制御装置690に発射許可信号を出力する。発射制御装置690は、発射許可信号が入力されている場合にのみ遊技球を遊技領域31に発射することが可能となっている。
払出制御装置640は、遊技制御装置600からの賞球指令信号に基づいて払出ユニット(図示省略)から賞球を排出させたり、カードユニット(図示省略)からの貸球要求信号に基づいて払出ユニットから貸球を排出させたりする。払出制御装置640は、球切れや故障等の障害が発生した場合に、払出異常ステータス信号やシュート球切れスイッチ信号、オーバーフロースイッチ信号を遊技制御装置600に出力する。
払出異常ステータス信号は、遊技球の払い出しが正常に行われていない場合に出力される信号である。払出シュート球切れスイッチ信号は、払い出し前の遊技球が不足している場合に出力される信号である。オーバーフロースイッチ信号は、下皿14(図1参照)に所定量以上の遊技球が貯留されている場合に出力される信号である。
演出制御装置700には、出力部630のポート631aからのデータストローブ信号(SSTB)及びポート631bからの8bitのデータ信号がバッファ632aを介して入力する。データストローブ信号(SSTB)は、データの有効又は無効を示す1bitの信号である。バッファ632aからの8+1bitの信号(サブコマンド)は、パラレル通信で出力される。バッファ632aは、演出制御装置700から遊技制御装置600に信号を送信できないようにして片方向通信を担保するために設けられている。演出制御装置700に送信されるサブコマンドには、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等の演出制御指令信号が含まれる。
大入賞口ソレノイド28及び普電ソレノイド27には、ポート631c及びドライバ633aを介して、CPU部610から出力された信号が入力する。大入賞口ソレノイド28は第1変動入賞装置41の開閉扉41a(図2参照)を回動させ、普電ソレノイド27は装飾板39の後方に配置される第2始動入賞口38の可動受入部を前後方向に移動させる。
一括表示装置50は、遊技状態報知LED12及び一括表示装置50等から構成されている。一括表示装置50のLEDのアノード端子はセグメント線を介してドライバ633cに接続し、このドライバ633cとポート631dとが接続している。一括表示装置50のLEDのカソード端子はデジット線を介してドライバ633bと接続し、このドライバ633bとポート631cとが接続している。一括表示装置50のLEDのアノード端子にはドライバ633cからのオン/オフ駆動信号が入力され、一括表示装置50のLEDのカソード端子からはドライバ633bにオン/オフ駆動信号が出力される。
外部情報端子660は、変動表示ゲームの開始を示すスタート信号や大当り遊技状態の発生を示す特賞信号等の遊技データを情報収集端末装置に出力するための端子である。遊技データは、ポート631e及びドライバ633dを介して外部情報端子660に出力される。
遊技制御装置600は、中継基板650を介して外部の試射試験装置に接続可能に構成されている。試射試験装置は、所定機関において遊技機1の型式試験を行うための装置である。試射試験装置には、第1始動口スイッチ601、第2始動口スイッチ602、ゲートスイッチ603、入賞口スイッチ604a〜604n、及びカウントスイッチ605からの信号や、大入賞口ソレノイド28及び普電ソレノイド27に出力される信号等、試射試験に必要な信号が入力される。
遊技制御装置600は、入力部620に設けられるシュミット回路624を介して、電源装置800に接続している。シュミット回路624は、電源の立ち上がり時や電源遮断時において遊技機1の動作が不安定になることを防ぐために、入力信号の揺らぎ(ノイズ)を除去する回路である。シュミット回路624には、電源装置800からの停電監視信号や初期化スイッチ信号、リセット信号が入力される。
電源装置800は、24Vの交流電源からDC32Vの直流電圧を生成するAC−DCコンバータや、DC32Vの電圧からDC12V、DC5V等のより低いレベルの直流電圧を生成するDC−DCコンバータを有する通常電源部810と、遊技用マイコン611の内部のRAM611cに対して停電時に電源電圧を供給するバックアップ電源部820と、停電監視回路や初期化スイッチを有し、遊技制御装置600に停電の発生、回復を知らせる停電監視信号や初期化スイッチ信号、リセット信号等の制御信号を生成して出力する制御信号生成部830とを備える。
バックアップ電源部820は、遊技用マイコン611のRAM611cに記憶された遊技データをバックアップするための電源である。遊技制御装置600は、停電復旧後、RAM611cに保持された遊技データに基づいて、停電前の遊技状態に復旧させる。
制御信号生成部830は、DC12V及びDC5Vを生成するスイッチングレギュレータの入力電圧(保証DC32V)を監視する。検出電圧がDC17.2V〜DC20.0Vのときに停電と判定し、制御信号生成部830から停電監視信号が出力される。停電監視信号は、シュミット回路624を経由して、入力部620の入力ポート623に入力する。停電監視信号の出力後には、停電監視回路はリセット信号を出力する。リセット信号は、シュミット回路624を経由して、遊技用マイコン611及び出力部630の各ポート631a〜631eに入力する。遊技制御装置600は、停電監視信号を受け付けると所定の停電処理を行い、リセット信号を受け付けた後にCPU部610の動作を停止させる。
制御信号生成部830は初期化スイッチ(図示省略)を備えており、電源投入時に初期化スイッチがON状態となっている場合に、制御信号生成部830から初期化スイッチ信号が出力される。初期化スイッチ信号は、シュミット回路624を介して、入力部620の入力ポート623に入力する。初期化スイッチ信号は、遊技用マイコン611のRAM611c及び払出制御装置640のRAMに記憶されている情報を強制的に初期化する信号である。
図4に示す演出制御装置(演出制御手段)700は、遊技制御装置600の遊技用マイコン611と同様にアミューズメントチップ(IC)からなる主制御用マイコン(1stCPU)710と、主制御用マイコン710の制御下で映像制御等を行う映像制御用マイコン(2ndCPU)720と、映像制御用マイコン720からのコマンドやデータに従って表示装置35(図2参照)への映像表示のための画像処理を行うVDP(Video Display Processor)730と、各種メロディや効果音等を上スピーカー10a及び下スピーカー10bから再生させる音源LSI705とを備える。
主制御用マイコン710と映像制御用マイコン720には、各CPUが実行するプログラムを格納したPROM(Programmable Read Only Memory)702、703がそれぞれ接続され、VDP730にはキャラクタ画像や映像データが記憶された画像ROM704が接続され、音源LSI705には音声データが記憶された音声ROM706が接続されている。主制御用マイコン710は、遊技制御装置600の遊技用マイコン611からのコマンドを解析し、映像制御用マイコン720へ出力映像の内容を指示したり、音源LSI705への再生音の指示、LED等の点灯、モータの駆動制御、演出時間の管理等の処理を実行したりする。
主制御用マイコン710と映像制御用マイコン720の作業領域を提供するRAM711、721は、それぞれのチップ内部に設けられている。なお、作業領域を提供するRAM711、721はチップの外部に設けるようにしてもよい。
主制御用マイコン710と映像制御用マイコン720との間、主制御用マイコン710と音源LSI705との間は、それぞれシリアル方式でデータの送受信が行われるように構成されている。これに対して、主制御用マイコン710とVDP730との間は、パラレル方式でデータの送受信が行われるように構成されている。パラレル方式でデータを送受信することで、シリアル方式の場合よりも短時間にコマンドやデータを送信することができる。
VDP730には、画像ROM704から読み出されたキャラクタ等の画像データを展開したり加工したりするために使用される超高速なVRAM(ビデオRAM)731、画像を拡大、縮小処理するためのスケーラ732、及びLVDS(小振幅信号伝送)方式で表示装置35へ送信する映像信号を生成する信号変換回路733が設けられる。
VDP730から主制御用マイコン710へは、表示装置35の映像と、前面枠5や遊技盤30に設けられるLED等の点灯とを同期させるために垂直同期信号VSYNCが出力される。また、VDP730から映像制御用マイコン720へは、VRAM731への描画の終了等処理状況を知らせるため割込み信号INT0〜n及び映像制御用マイコン720からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号WAITが出力される。
映像制御用マイコン720から主制御用マイコン710へは、映像制御用マイコン720が正常に動作していることを知らせるとともにコマンドの送信タイミングを与える同期信号SYNCが出力される。
主制御用マイコン710と音源LSI705との間においては、ハンドシェイク方式でコマンドやデータの送受信を行うために、呼び掛け信号CTSと応答信号RTSが交換される。
なお、映像制御用マイコン720には、主制御用マイコン710よりも高速なCPUが使用されている。主制御用マイコン710とは別に映像制御用マイコン720を設けて処理を分担させることによって、主制御用マイコン710のみでは実現困難な大画面で動きの速い映像を表示装置35に表示させることが可能となるとともに、映像制御用マイコン720と同等な処理能力を有するCPUを2個使用する場合に比べてコストの上昇を抑制することができる。
演出制御装置700は、遊技制御装置600から送信されるコマンドを受信するためのインタフェースチップ(コマンドI/F)701を備えている。演出制御装置700は、コマンドI/F701を介して、遊技制御装置600から送信された変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を演出制御指令信号として受信する。遊技制御装置600の遊技用マイコン611はDC5Vで動作し、演出制御装置700の主制御用マイコン710はDC3.3Vで動作するため、コマンドI/F701には信号のレベル変換の機能が設けられている。
演出制御装置700には、センターケース34や遊技盤30に設けられるLED等を含む盤装飾装置760を制御する盤装飾LED制御回路741、前面枠5等に設けられるLED等を含む枠装飾装置21を制御する枠装飾LED制御回路742、表示装置35における演出表示と協働して演出効果を高める電動役物や鎌役物500等を含む盤演出装置770を駆動制御する盤演出モータ/SOL(ソレノイド)制御回路743、可動式照明9の照明駆動モータ等を含む枠演出装置22を駆動制御する枠演出モータ制御回路744が設けられている。これら制御回路741〜744は、アドレス/データバス740を介して主制御用マイコン710に接続されている。
また、演出制御装置700には、演出ボタン17(図1参照)が操作されたことを検知する演出ボタンスイッチ(SW)751や各種駆動モータが駆動されたことを検知する演出モータスイッチ(SW)752のオン/オフ状態を検出して主制御用マイコン710へ検出信号を送信するスイッチ(SW)入力回路750が設けられている。
さらに、演出制御装置700には、上スピーカー10a及び下スピーカー10bを駆動するオーディオパワーアンプ等からなるアンプ回路707、708が設けられている。
電源装置800の通常電源部810は、演出制御装置700及び当該演出制御装置700によって制御される電子部品に対して所定レベルの直流電圧を供給するために、複数種類の電圧を生成可能に構成されている。具体的には、駆動モータやソレノイドを駆動するためのDC32V、液晶パネル等からなる表示装置35を駆動するためのDC12V、コマンドI/F701の電源電圧となるDC5Vの他に、上スピーカー10a及び下スピーカー10bを駆動するためのDC18Vや、これらの直流電圧の基準としたり、電源モニタランプを点灯させたりするのに使用するNDC24Vの電圧を生成することが可能となっている。
電源装置800の制御信号生成部830により生成されたリセット信号RSTは、主制御用マイコン710、映像制御用マイコン720、VDP730、音源LSI705、各種制御回路741〜744、707、708に供給され、これらをリセット状態にする。電源装置800は、映像制御用マイコン720の有する汎用のポートを利用して、VDP730に対するリセット信号を生成して供給する機能を有している。これにより、映像制御用マイコン720とVDP730の動作の連携性を向上させることができる。
続いて、演出を制御する演出制御装置700のプロセッサのレジスタの構成について説明する。図5は、本発明の実施の形態の演出制御装置700の主制御用マイコン(1stCPU)710の構成の一部を示す図である。
主制御用マイコン710は、演算装置(演算回路、演算制御手段)712によって、図示しない制御装置からの命令に基づいて演算処理を行う。主制御用マイコン710は、8本の32ビット長の汎用レジスタ(ER0〜ER7)713を備える。これらの汎用レジスタは、同等にアキュムレータ、インデックスレジスタ、アドレスレジスタなどの機能を有する。なお、ER7だけはSP(スタックポインタ)としての機能を有している。
ER0〜ER6は、上下16ビットずつに分割して、E0〜E6、R0〜R6の14本の独立した16ビットレジスタとして使用することが可能となっている。さらに、R0〜R6は、上下8ビットずつに分割して、R0H〜R6H、R0L〜R6Lの14本の独立した8ビットレジスタとしても使用可能となっている。
以上、本実施形態における遊技機の構成を説明した。続いて、遊技機1における制御について説明する。
まず、遊技制御装置600におけるメイン処理について説明する。図6Aは、本発明の実施の形態のメイン処理の前半部のフローチャートである。図6Bは、本発明の実施の形態のメイン処理の後半部のフローチャートである。
メイン処理は、遊技機1の電源投入時に実行が開始される。例えば、遊技場で営業を開始するために遊技機の電源を投入する場合や停電から復帰した場合に実行される。
遊技制御装置600は、メイン処理が実行されると、まず、割込みを禁止する(A1001)。次いで、割込みが発生した場合に実行されるジャンプ先を示すベクタアドレスを設定する割込みベクタ設定処理を実行する(A1002)。さらに、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定する(A1003)。さらに、割込み処理のモードを設定する(A1004)。
次に、遊技制御装置600は、払出制御装置(払出基板)640のプログラムが正常に起動するまで待機する(A1005)。例えば、4ミリ秒間待機する。このように制御することによって、電源投入の際に、払出制御装置640の起動が完了する前に、遊技制御装置600が先に起動してコマンドを当該払出制御装置640に送信してしまうことによって、送信されたコマンドを払出制御装置640が取りこぼすことを回避することができる。
その後、遊技制御装置600は、RAMやEEPROM等の読出し書込み可能なRWM(リードライトメモリ)に対するアクセスを許可する(A1006)。さらに、全出力ポートをオフ(出力が無い状態)に設定する(A1007)。また、遊技用マイコン611に予め搭載されているシリアルポートを使用しない状態に設定する(A1008)。本実施形態では、払出制御装置640や演出制御装置700とパラレル通信を行っているため、シリアルポートを使用しないためである。
続いて、遊技制御装置600は、電源装置800内の初期化スイッチ信号がオンに設定されているか否か判定する(A1009)。初期化スイッチ信号は、遊技機1に電源が投入された場合に、初期化された状態で遊技を開始するか否かを設定するための信号である。
例えば、閉店時などに確変状態のまま電源が切断され、翌日の開店時に電源が投入された場合には、初期化された状態で遊技が開始されるように、初期化スイッチ信号がオンに設定される。一方、停電発生後に再度電源が投入された場合には、遊技を可能な限り停電前の遊技状態に近い状態で再開するために、遊技機が初期化されないように、初期化スイッチ信号がオフに設定される。
遊技制御装置600は、初期化スイッチ信号がオフに設定されている場合には(A1009の結果が「N」)、RWM内の停電検査領域のデータが正常であるか否かをチェックする(A1010〜A1013)。さらに詳しく説明すると、停電検査領域には、停電検査領域1及び停電検査領域2が含まれている。そして、停電検査領域1には停電検査領域チェックデータ1、停電検査領域2には停電検査領域チェックデータ2が記憶される。ステップA1010及びステップA1011の処理では停電検査領域1に記憶された停電検査領域チェックデータ1が正常であるか否かをチェックする。同様に、ステップA1012及びステップA1013の処理では停電検査領域2に記憶された停電検査領域チェックデータ2が正常であるか否かをチェックする。
遊技制御装置600は、RWM内の停電検査領域の停電検査領域チェックデータが正常であると判定された場合には(A1013の結果が「Y」)、チェックサムと呼ばれる検証用データを算出するチェックサム算出処理を実行する(A1014)。
そして、遊技制御装置600は、チェックサム算出処理で算出されたチェックサムの値と、電源切断時に算出されたチェックサムの値とを比較し(A1015)、これらの値が一致するか否かを判定する(A1016)。
一方、遊技制御装置600は、初期化スイッチ信号がオンに設定されている場合(A1009の結果が「Y」)、停電検査領域の値が正常でない場合(A1011又はA1013の結果が「N」)、電源切断時のチェックサムの値とステップA1014の処理で算出されたチェックサムの値とが一致しない場合には(A1016の結果が「N」)、図20のステップA1039からステップA1043までの初期化処理を実行する。初期化処理の詳細については後述する。
遊技制御装置600は、算出されたチェックサムの値と電源切断時のチェックサムの値とが一致する場合には(A1016の結果が「Y」)、停電処理が正常に実行されたため、停電前の状態に復旧させるための処理を実行する(図20のA1017〜A1023)。まず、停電時の情報が正常に記憶されていたか否かを判定するための情報が記憶されていた、RWM(リードライトメモリ:実施例ではRAM)内の領域をクリア(初期化)する。具体的には、すべての停電検査領域をクリアし(A1017)、チェックサムが記憶されていた領域をクリアする(A1018)。さらに、エラー関連の情報、及び不正行為を監視するための情報を記憶する領域をリセットする(A1019)。
次に、遊技制御装置600は、RWM内の遊技状態を記憶する領域から停電発生時の遊技状態が高確率状態であったか否かを判定する(A1020)。高確率でないと判定された場合には(A1020の結果が「N」)、ステップA1023以降の処理を実行する。
また、遊技制御装置600は、停電発生時の遊技状態が高確率状態であったと判定された場合には(A1020の結果が「Y」)、高確率報知フラグをオンに設定して高確率報知フラグ領域にセーブ(保存)する(A1021)。続いて、一括表示装置50に設けられる高確率報知LED(第3遊技状態表示器58)をオン(点灯)に設定する(A1022)。
さらに、遊技制御装置600は、特図ゲーム処理番号に対応する停電復旧時のコマンドを演出制御装置700に送信する(A1023)。特図ゲーム処理番号は、特図ゲームの状態を示す番号であり、停電発生時にRWMの所定の領域に記憶されている。このように、特図ゲーム処理番号に対応する停電復旧時のコマンドを演出制御装置700に送信することによって、可能な限り停電発生前に近い状態で遊技を再開することができるのである。
ここで、初期化処理を実行する場合について説明する。前述のように、初期化処理は、正常に電源が切断された遊技機を起動する場合や停電発生前の状態に復帰できない場合に実行される。
遊技制御装置600は、初期化処理において、まず、アクセス禁止領域よりも前の全作業領域をクリアする(A1039)。さらに、アクセス禁止領域よりも後の全スタック領域をクリアする(A1040)。そして、初期化された領域に電源投入時用の初期値をセーブ(保存)する(A1041)。
続いて、遊技制御装置600は、RWMクリアに関する外部情報を出力する期間に対応する時間値を設定する(A1042)。そして、初期化処理の最後に電源投入時のコマンドを演出制御装置700に送信し(A1043)、ステップA1024以降の処理を実行する。
遊技制御装置600は、ステップA1023又はステップA1043の処理が終了すると、遊技用マイコン611(クロックジェネレータ)内のタイマ割込み信号及び乱数更新トリガ信号(CTC)を発生するCTC(Counter/Timer Circuit)回路を起動させる(A1024)。
なお、CTC回路は、遊技用マイコン611内のクロックジェネレータに設けられている。クロックジェネレータは、水晶発振器613からの発振信号(原クロック信号)を分周する分周回路と、前述したCTC回路とを備えている。タイマ割込み信号は、分周された信号に基づいてCPU611aに所定周期(例えば、4ミリ秒)のタイマ割込みを発生させるための信号である。乱数更新トリガ信号(CTC)は、分周された信号に基づいて乱数生成回路に供給され、乱数生成回路が乱数を更新するトリガとなる。
遊技制御装置600は、CTC回路を起動すると、乱数生成回路の起動設定を行う(A1025)。具体的には、CPU611aが乱数生成回路内の所定のレジスタ(CTC更新許可レジスタ)に乱数生成回路を起動させるためのコード(指定値)を設定するなどの処理を実行する。さらに、電源投入時の乱数生成回路内の所定のレジスタ(ソフト乱数レジスタ1〜n)の値を、対応する各種初期値乱数の初期値(スタート値)としてRWMの所定領域にセーブする(A1026)。その後、遊技制御装置600は、割込みを許可する(A1027)。
なお、本実施形態のCPU611a内の乱数生成回路では、電源投入毎にソフト乱数レジスタの初期値が変更されるように構成されており、ソフト乱数レジスタの初期値に基づいて各種初期値乱数の初期値(スタート値)を設定することによって、ソフトウェアで生成される乱数の規則性を崩すことが可能となり、遊技者による不正な乱数の取得を困難にすることができる。各種初期値乱数には、例えば、大当り図柄を決定する乱数(大当り図柄乱数1、大当り図柄乱数2)、普図変動表示ゲームの当りを決定する乱数(当り乱数)が含まれる。
続いて、遊技制御装置600は、各種初期値乱数の値を更新して乱数の規則性を崩すための初期値乱数更新処理を実行する(A1028)。また、本実施形態では、大当り乱数は乱数生成回路において生成される乱数を使用して生成するように構成されている。すなわち、大当り乱数はハードウェアで生成されるハード乱数であり、大当り図柄乱数、当り乱数、変動パターン乱数はソフトウェアで生成されるソフト乱数である。なお、各種乱数の発生源は前述の態様に限定されるわけではなく、大当り乱数がソフトウェア乱数であってもよいし、大当り図柄乱数、当り乱数、変動パターン乱数がハードウェア乱数であってもよい。
さらに、初期値乱数更新処理が実行された後、遊技制御装置600は、電源装置800から入力され、ポート及びデータバスを介して読み込まれる停電監視信号をチェックする回数を設定する(A1029)。チェック回数には、通常、2以上の値が設定される。停電監視信号をチェックすることによって停電が発生したか否かを判定することができる。遊技制御装置600は、停電監視信号がオンであるか否かを判定する(A1030)。停電監視信号がオンでない場合、すなわち、停電していない場合には(A1030の結果が「N」)、ステップA1028の初期値乱数更新処理を再び実行し、ステップA1028からステップA1030までの処理を繰り返し実行する(ループ処理)。
また、初期値乱数更新処理(A1028)の前に割り込みを許可(A1027)することによって、初期値乱数更新処理中にタイマ割込みが発生した場合に、割込み処理を優先して実行することが可能となる。したがって、初期値乱数更新処理の実行が完了するまでタイマ割込み処理を実行できないために、割込み処理に含まれる各種処理を実行する時間が不足してしまうことを回避できる。
なお、初期値乱数更新処理(A1028)は、メイン処理の他に、タイマ割込み処理で初期値乱数更新処理を実行してもよい。ただし、タイマ割込み処理で初期値乱数更新処理を実行する場合には、両方の処理で初期値乱数更新処理が実行されることを回避するため、メイン処理における初期値乱数更新処理の実行時に割込みを禁止し、初期値乱数を更新後に割込みを解除する必要がある。しかし、本実施形態のようにタイマ割込み処理で初期値乱数更新処理を実行せず、メイン処理でのみ初期値乱数更新処理を実行すれば、初期値乱数更新処理の前に割込みを解除しても問題が生じることはなく、さらに、メイン処理が簡素化されるという利点がある。
一方、遊技制御装置600は、停電監視信号がオンに設定されている場合には(A1030の結果が「Y」)、停電監視信号がオンに設定されていることを連続して検出した回数がステップA1029の処理で設定したチェック回数に到達したか否かを判定する(A1031)。停電監視信号がオンに設定されていることを連続して検出した回数がチェック回数に到達していない場合には(A1031の結果が「N」)、再度、停電監視信号がオンであるか否かを判定する(A1030)。すなわち、停電監視信号がオンである場合にはチェック回数分だけ停電監視信号がオンであるか否かを判定する。
遊技制御装置600は、停電監視信号がオンに設定されていることを連続して検出した回数がチェック回数に到達した場合には(A1031の結果が「Y」)、停電が発生したものと見なして停電発生時の処理を実行する(A1032〜A1038)。
遊技制御装置600は、割込みを禁止し(A1032)、全出力ポートをオフに設定する(A1033)。その後、停電復旧検査領域1に停電復旧検査領域チェックデータ1をセーブし(A1034)、さらに、停電復旧検査領域2に停電復旧検査領域チェックデータ2をセーブする(A1035)。
さらに、遊技制御装置600は、RWMの電源遮断時のチェックサムを算出するチェックサム算出処理を実行し(A1036)、算出されたチェックサムの値をRWMのチェックサム領域にセーブ(保存)する(A1037)。最後に、RWMの内容が変更されないように、RWMへのアクセスを禁止し(A1038)、遊技機1の電源が遮断されるまで待機する。このように、停電復旧検査領域にチェック用のデータをセーブするとともに、電源遮断時のチェックサムを算出して記憶させることで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判定することが可能となる。
次に、タイマ割込み処理について説明する。図7は、本発明の実施の形態のタイマ割込み処理の手順を示すフローチャートである。
タイマ割込み処理は、クロックジェネレータ内のCTC回路によって生成される周期的(例えば、1ミリ秒周期)なタイマ割込信号がCPU611aに入力されることによって開始される。
タイマ割込み処理が開始されると、遊技制御装置600は、まず、所定のレジスタに保持されている値をRWMに移すことによってレジスタを退避させる(A1101)。なお、本実施形態では遊技用マイコンとしてZ80系のマイコンを使用している。Z80系のマイコンには、表レジスタと裏レジスタが備えられており、表レジスタに保持されている値を裏レジスタに退避させることでステップA1101の処理を実装することが可能である。
次に、遊技制御装置600は、入力部620を介して入力される各種センサやスイッチなどからの入力信号を取り込み、各入力ポートの状態を読み込む入力処理を実行する(A1102)。各種センサには、第1始動口スイッチ601、第2始動口スイッチ602、普図のゲートスイッチ603、カウントスイッチ605などが含まれる。また、入力処理では、入力信号にチャタリング除去等を行って入力情報を確定させる。
さらに、遊技制御装置600は、各種処理でセットされた遊技制御に関する出力データを、演出制御装置700及び払出制御装置640に送信するための出力処理を実行する(A1103)。出力データは、ソレノイド等のアクチュエータの駆動制御などを行うための情報であり、制御対象となるソレノイドには、例えば、大入賞口ソレノイド28、普電ソレノイド27が含まれる。また、出力処理では、遊技機における遊技データを収集する情報収集端末装置(図示せず)に遊技データを出力する処理も含まれる。
次に、遊技制御装置600は、各種処理で送信バッファにセットされたコマンドを演出制御装置700や払出制御装置640等に送信(出力)するコマンド送信処理を実行する(A1104)。具体的には、特図変動表示ゲームにおける識別情報の変動パターンを指定する変動パターン指定コマンド、及び停電から復旧した場合に演出制御装置700に停電復旧処理を実行させる停電復旧コマンドを演出制御装置700に送信したり、払出装置から払い出す賞球数を指定する賞球コマンドを払出制御装置640に送信したりする。
さらに、遊技制御装置600は、大当り図柄乱数1及び大当り図柄乱数2を更新する乱数更新処理1を実行し(A1105)、続いて特図変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する乱数更新処理2を実行する(A1106)。乱数更新処理1及び乱数更新処理2では、各種乱数にランダム性を付与するために、各種乱数に対応するカウンタ(大当り乱数カウンタ、当り乱数カウンタ、演出決定用乱数カウンタなど)の値を1ずつ加算する。
その後、遊技制御装置600は、各種入賞口スイッチなどを監視したり、枠の不正な開放などのエラーを監視したりする入賞口スイッチ/エラー監視処理が実行される(A1107)。各種入賞口スイッチには、例えば、第1始動口スイッチ601、第2始動口スイッチ602、ゲートスイッチ603、入賞口スイッチ604a〜604n、カウントスイッチ605が含まれる。入賞口スイッチ/エラー監視処理では、これらのスイッチから正常な信号が入力されているか否かを監視したりする。エラーの監視としては、前面枠5やガラス枠6が不正に開放されていないかなどを対象としている。
さらに、遊技制御装置600は、特図変動表示ゲームに関する処理を行う特図ゲーム処理を実行する(A1108)。なお、特図ゲーム処理の詳細については、図8にて後述する。
続いて、遊技制御装置600は、普図変動表示ゲームに関する処理を行う普図ゲーム処理を実行する(A1109)。
次に、遊技制御装置600は、特図変動ゲームの表示や遊技に関する各種情報を表示するセグメントLEDの表示内容を制御するセグメントLED編集処理を実行する(A1110)。具体的には、特図変動表示ゲーム及び普図変動表示ゲームの結果をセグメントLED(例えば、一括表示装置50)に出力するためのパラメータを編集する。
遊技制御装置600は、磁気センサスイッチ23や振動センサスイッチ24からの検出信号をチェックし、異常があるか否かを判定する磁石エラー監視処理を実行する(A1111)。異常の発生を検出した場合には、スピーカー10から報知音を出力したり、遊技状態報知LED12を点灯させたりするなどして外部に報知する。
次に、遊技制御装置600は、外部情報端子660から出力する各種信号を編集する外部情報編集処理を実行する(A1112)。
そして、遊技制御装置600は、割込み要求をクリアして割込みの終了を宣言する(A1113)。その後、ステップA1101の処理で一時退避されていたレジスタを復帰させ(A1114)、禁止設定されていた外部機器による割込み及びタイマ割込みを許可し(A1115)、タイマ割込み処理を終了し、メイン処理に復帰する。
次に、前述したタイマ割込み処理における特図ゲーム処理(A1108)の詳細について説明する。図8は、本発明の実施の形態の特図ゲーム処理の手順を示すフローチャートである。
特図ゲーム処理では、第1始動口スイッチ601及び第2始動口スイッチ602による入力信号の監視、特図変動表示ゲームに関する処理全体の制御、特図(識別図柄、識別情報)の表示の設定を行う。
特図ゲーム処理が開始されると、遊技制御装置600は、まず、第1始動口スイッチ601及び第2始動口スイッチ602の入賞を監視する始動スイッチ監視処理を実行する(A1201)。
始動口スイッチ監視処理では、第1始動入賞口37、第2始動入賞口38に遊技球の入賞があると、各種乱数(大当り乱数など)の抽出を行い、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。
次に、遊技制御装置600は、カウントスイッチ監視処理を実行する(A1202)。カウントスイッチ監視処理では、第1変動入賞装置41内に設けられたカウントスイッチ605によって当該第1変動入賞装置41に入賞した遊技球を検出し、入賞した遊技球の数を監視する。
次に、遊技制御装置600は、特図ゲーム処理タイマが既にタイムアップしているか、又は、特図ゲーム処理タイマを更新(−1)した結果、当該特図ゲーム処理タイマがタイムアップしたか否かをチェックする(A1203)。なお、特図ゲーム処理タイマは、初期値として、実行される特図変動表示ゲームの変動時間がセットされ、ステップA1203の処理で当該特図ゲーム処理タイマの値を1減じる。特図ゲーム処理タイマの値が0になると、タイムアップしたと判断される。
遊技制御装置600は、特図ゲーム処理タイマがタイムアップしていない場合には(A1204の結果が「N」)、ステップA1216以降の処理を実行する。
一方、遊技制御装置600は、特図ゲーム処理タイマがタイムアップした場合には(A1204の結果が「Y」)、特図ゲーム処理番号に対応する処理に分岐させるために参照する特図ゲームシーケンス分岐テーブルを設定する(A1205)。さらに、当該テーブルに基づいて特図ゲーム処理番号に対応する処理の分岐先アドレスを取得する(A1206)。そして、分岐処理終了後のリターンアドレスをスタック領域に退避させ(A1207)、ゲーム処理番号に応じて処理を分岐させる(A1208)。
遊技制御装置600は、ゲーム処理番号が「0」の場合には(A1208の結果が「0」)、特図普段処理を実行する(A1209)。特図普段処理は、特図変動表示ゲームの変動開始を監視し、特図変動表示ゲームの変動開始の設定や演出の設定、特図変動中処理を実行するために必要な情報の設定等を行う。
遊技制御装置600は、ゲーム処理番号が「1」の場合には(A1208の結果が「1」)、特図変動中処理を実行する(A1210)。特図変動中処理は、特図変動表示ゲームにおける識別情報の停止表示時間の設定や、特図表示中処理を行うために必要な情報の設定等を行う。
遊技制御装置600は、ゲーム処理番号が「2」の場合には(A1208の結果が「2」)、特図表示中処理を実行する(A1211)。特図表示中処理は、特図変動表示ゲームの結果が大当りであれば、大当りの種類に応じたファンファーレコマンドの設定や、各大当りの大入賞口開放パターンに応じたファンファーレ時間を設定したり、ファンファーレ/インターバル中処理を行うために必要な情報を設定したりする。
遊技制御装置600は、ゲーム処理番号が「3」の場合には(A1208の結果が「3」)、ファンファーレ/インターバル中処理を実行する(A1212)。ファンファーレ/インターバル中処理は、大入賞口の開放時間の設定や開放回数の更新、大入賞口開放中処理を行うために必要な情報の設定等を行う。
遊技制御装置600は、ゲーム処理番号が「4」の場合には(A1208の結果が「4」)、大入賞口開放中処理を実行する(A1213)。大入賞口開放中処理は、大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであれば大当り終了画面のコマンドを設定したり、大入賞口残存球処理を行うために必要な情報を設定したりする。
遊技制御装置600は、ゲーム処理番号が「5」の場合には(A1208の結果が「5」)、大入賞口残存球処理を実行する(A1214)。大入賞口残存球処理は、大当りラウンドが最終ラウンドの場合に大入賞口内にある残存球が排出されるための時間を設定したり、大当り終了処理を行うために必要な情報の設定等を行ったりする。
大入賞口残存球処理では、特別図柄の処理タイマの更新とファンファーレ/インターバル中処理、又は大当り終了処理を行うために必要な情報を設定する。また、大入賞口の最大開放時間が経過したか、又は大入賞口に遊技球が規定数(所定数)だけ入賞したかを判定し、いずれかの条件が成立した場合に開閉扉41aを閉鎖する。これが所定ラウンド数繰り返し実行された後、特図ゲーム処理番号を6に設定する。
遊技制御装置600は、ゲーム処理番号が「6」の場合には(A1208の結果が「6」)、大当り終了処理を実行する(A1215)。大当り終了処理は、ステップA1209の特図普段処理を行うために必要な情報の設定等を行う。
その後、遊技制御装置600は、特図変動表示ゲーム(第1特図変動表示ゲーム、第2特図変動表示ゲーム)において一括表示装置50における図柄の変動を制御するためのテーブルを準備する(A1216)。続いて、一括表示装置50に係る図柄変動制御処理を実行する(A1217)。
以上、遊技制御装置600で実行される処理について説明した。続いて、演出制御装置700で実行される処理について説明する。
続いて、演出表示を行うために、演出制御装置700で実行される処理について説明する。まず、演出制御装置700によって実行されるメイン処理の詳細を説明する。図10は、本発明の実施の形態の演出制御装置700の主制御用マイコン(1stCPU)710によって実行される1stメイン処理の手順を示すフローチャートである。1stメイン処理は、遊技機1に電源が投入されると実行される。
主制御用マイコン(1stCPU)710は、1stメイン処理の実行が開始されると、まず、割込みを禁止する(B1001)。次に作業領域であるRAM711を0クリアし(B1002)、CPU初期化処理を実行する(B1003)。その後、各種処理の実行に必要な初期値をRAM711に設定し(B1004)、乱数初期化処理を実行する(B1005)。
続いて、主制御用マイコン710は、所定のタイミング(例えば、2ミリ秒)で割込みを発生させるための各種割込みタイマを起動させ(B1006)、割込みを許可する(B1007)。割込みが許可されると、遊技制御装置600から送信されたコマンドを受信するコマンド受信割込み処理を実行可能な状態となる。
次に、主制御用マイコン710は、WDT(ウォッチドックタイマ)をクリアする(B1008)。WDTは、上述したCPU初期化処理(B1003)で起動され、CPUが正常に動作しているかどうかを監視する。WDTが一定周期を経過してもクリアされない場合は、WDTがタイムアップしてCPUがリセットされる。
次に、主制御用マイコン710は、遊技者による演出ボタン17の操作信号を検出したり、検出した信号に応じた処理を実行したりする(B1009)。さらに、遊技制御装置600から受信した遊技制御コマンドを解析する遊技制御コマンド解析処理を実行する(B1010)。
次に、主制御用マイコン710は、テストモード処理を実行する(B1011)。テストモード処理は、工場出荷時の検査の際に検査用のコマンドを受信してLEDの点灯等を検査する。したがって、テストモード処理は、工場出荷時にCPUを検査する場合に実行される。
続いて、主制御用マイコン710は、遊技制御コマンド解析処理(B1010)において解析された制御コマンドに基づき、表示装置35に表示させるシーン(表示内容)を制御する1stシーン制御処理を実行する(B1012)。1stシーン制御処理では、画面の表示内容を統括的に制御する。そして、大当りの期待度の高い変動表示ゲームが実行されることなどを事前に報知する先読み予告制御処理も含まれる。なお、1stシーン制御処理については、図10にて後述する。
さらに、主制御用マイコン710は、遊技機1における異常の発生を監視する遊技機エラー監視処理を実行する(B1013)。演出制御装置700に関わる異常の他に、遊技制御装置600からエラー報知を指示するコマンドを受信した場合などに、警報音の報知など所定の処理を実行する。
そして、主制御用マイコン710は、映像制御用マイコン(2ndCPU)720に送信するコマンドを編集する演出コマンド編集処理を実行する(B1014)。
また、主制御用マイコン710は、スピーカー10から出力される音を制御するサウンド制御処理を実行する(B1015)。また、LED等の装飾装置(盤装飾装置760、枠装飾装置21)を制御する装飾制御処理を実行する(B1016)。
さらに、主制御用マイコン710は、モータやソレノイドで駆動される電動役物や可動式照明などの演出装置(盤演出装置770、枠演出装置22)を制御するモータ/SOL制御処理を実行する(B1017)。
最後に、主制御用マイコン710は、演出乱数などの乱数を更新するための乱数更新処理を実行して(B1018)、ステップB1008の処理に戻る。以降、ステップB1008からステップB1018までの処理を繰り返す。
次に、前述した1stメイン処理における1stシーン制御処理(B1012)の詳細について説明する。図10は、本発明の実施の形態の1stシーン制御処理の手順を示すフローチャートである。
主制御用マイコン710は、まず、遊技機1がテスト中モードであるか否かを判定する(B1101)。テスト中モードの場合には(B1101の結果が「Y」)、実際に演出制御を行う必要がないため、1stシーン制御処理を終了する。
主制御用マイコン710は、遊技機1がテスト中モードでない場合には(B1101の結果が「N」)、遊技制御装置600から送信されたシーン変更コマンドを受信しているか否かを判定する(B1102)。シーン変更コマンドを受信していない場合には(B1102の結果が「N」)、ステップB1107以降の処理を実行する。
主制御用マイコン710は、シーン変更コマンドを受信している場合には(B1102の結果が「Y」)、更新する(現在の)遊技状態を取得する(B1103)。さらに、有効なコマンドを受信しているか否かを判定する(B1104)。具体的には、変更先のシーンが現在の遊技状態と整合するか否かなどを判定する。主制御用マイコン710は、有効なコマンドを受信していない場合には(B1104の結果が「N」)、ステップB1107以降の処理を実行する。
主制御用マイコン710は、有効なコマンドを受信した場合には(B1104の結果が「Y」)、受信したコマンドをメモリ(RAM)の所定の領域にセーブする(B1105)。さらに、演出リクエストフラグをセットする(B1106)。演出リクエストフラグは、シーンを変更するタイミングであることを示すフラグであり、後述する変動中処理(B1111)で、演出リクエストフラグが設定されているか否かに応じた処理が実行される。
続いて、主制御用マイコン710は、受信したコマンドの識別子に応じた処理を実行する(B1107)。
主制御用マイコン710は、受信したコマンドが「電源投入コマンド」の場合には、電源投入処理を実行する(B1108)。電源投入処理では、遊技機1の電源が投入された際に表示される画面の制御を行う。
主制御用マイコン710は、受信したコマンドが「停電復旧コマンド」の場合には、停電復旧処理を実行する(B1109)。停電復旧処理では、遊技機1が停電から復旧した際に表示される画面の制御を行う。なお、停電前に客待ち処理が実行されていた場合には特別な処理を実行しない。
主制御用マイコン710は、受信したコマンドが「客待ちデモコマンド」の場合には、客待ち処理を実行する(B1110)。客待ち処理では、変動表示ゲームが最後に実行されてから所定時間経過した場合に表示される画面の制御を行う。
主制御用マイコン710は、受信したコマンドが「変動パターンコマンド」の場合には、変動中処理を実行する(B1111)。変動中処理では、設定された変動パターンに応じたシーンを表示するために必要な情報を取得し、設定された変動パターンに対応した演出制御を行う。
主制御用マイコン710は、受信したコマンドが「図柄停止コマンド」の場合には、図柄停止処理を実行する(B1112)。図柄停止処理では、図柄の変動表示を指定された図柄で停止させる。
主制御用マイコン710は、受信したコマンドが「ファンファーレコマンド」の場合には、ファンファーレ処理を実行する(B1113)。ファンファーレ処理では、発生した大当りに対応するファンファーレ音をスピーカー10から出力する。
主制御用マイコン710は、受信したコマンドが「大入開放n回目コマンド」の場合には、ラウンド中処理を実行する(B1114)。ラウンド中処理では、特別遊技状態における各ラウンド中の演出制御を行う。
主制御用マイコン710は、受信したコマンドが「インターバルコマンド」の場合には、インターバル処理を実行する(B1115)。インターバル処理では、特別遊技状態における各ラウンド間の演出制御を行う。
主制御用マイコン710は、受信したコマンドが「エンディングコマンド」の場合には、エンディング処理を実行する(B1116)。エンディング処理では、特別遊技状態が終了した際の演出制御を行う。
次に、主制御用マイコン710は、図柄コマンド受信処理を実行する(B1117)。図柄コマンドには、停止図柄を指定する情報が含まれる。
さらに、主制御用マイコン710は、保留数コマンド受信処理を実行する(B1118)。保留数コマンドは、更新された保留数を通知するコマンドである。保留数コマンド受信処理では、受信した保留数に基づいて、保留表示などを更新する。
次に、主制御用マイコン710は、先読みコマンド受信処理を実行する(B1119)。先読みコマンド受信処理は、事前演出図柄コマンドなどに基づいて、保留表示演出等を設定する処理である。
次に、主制御用マイコン710は、確率情報コマンド受信処理を実行する(B1120)。確率情報コマンド受信処理は、受信した確率情報コマンドに基づいて、内部確率等の遊技状態を設定する処理である。確率情報コマンドには、例えば、高確/時短コマンド、低確/時短コマンド、低確/サポなしコマンドなどが含まれる。
続いて、前述した1stシーン制御処理における変動中処理(B1111)の詳細について説明する。図11Aは、本発明の実施の形態の変動中処理の前半部の手順を示すフローチャートである。図11Bは、本発明の実施の形態の変動中処理の後半部の手順を示すフローチャートである。
主制御用マイコン710は、まず、初期化の必要な領域に、対応するデフォルト値を書き込むことによって初期化する(B1201)。
続いて、主制御用マイコン710は、第4図柄変動設定処理を実行する(B1202)。第4図柄(状態表示図柄)は、少なくとも飾り図柄と並行して変動及び停止することで飾り図柄変動表示ゲームの進行を把握可能とする図柄である。飾り図柄(左、中、右)と合わせて飾り図柄変動表示ゲームの結果を導出するための図柄としてもよい。例えば、同一の飾り図柄の組合せで当り発生時の態様が類似する小当りと2ラウンド大当りとを、第4図柄によって判別可能としてもよい。
次に、主制御用マイコン710は、変動パターン分類処理を実行する(B1203)。変動パターン分類処理は、遊技制御装置600から受信した変動パターンコマンドに基づいて、変動表示ゲームの結果が大当りか否か、発生するリーチの種類などによって変動パターンを分類し、対応する変動パターン分類フラグを設定する。
続いて、予告振分テーブルを選択するための乱数を設定する処理を実行する。まず、主制御用マイコン710は、汎用レジスタER0に、予告振分テーブル選択用乱数の上限値である「1000」を格納し(B1204)、乱数抽選処理を実行する(B1205)。このとき、汎用レジスタER0に格納される乱数の上限値は、乱数抽選処理の引数に相当する。乱数抽選処理は、引数で指定された上限値に対応した乱数が抽出される。乱数抽選処理の詳細については、図14にて後述する。乱数抽選処理では、抽出された乱数を返値として、汎用レジスタER0に格納する。
その後、主制御用マイコン710は、汎用レジスタER0を他の処理で使用するために、汎用レジスタER0に格納された値を汎用レジスタER2に格納する(B1206)。さらに、汎用レジスタER2に格納された値を予告振分テーブル選択用乱数として対応する記憶領域(メモリ、RAM711)に記憶する(B1207)。
続いて、ステップアップ(SU)予告振分テーブルを選択するための乱数を設定する処理を実行する。主制御用マイコン710は、汎用レジスタER0に、ステップアップ予告振分テーブル選択用乱数の上限値である「500」を格納し(B1208)、乱数抽選処理を実行する(B1209)。そして、主制御用マイコン710は、汎用レジスタER0に格納された値を汎用レジスタER2に格納する(B1210)。さらに、汎用レジスタER2に格納された値をステップアップ予告振分テーブル選択用乱数として対応する記憶領域(メモリ、RAM711)に記憶する(B1211)。
次に、主制御用マイコン710は、ステップB1203の変動パターン分類処理で取得された変動パターン分類フラグを確認する(B1213)。変動パターン分類フラグを参照することによって、変動表示ゲームの結果、リーチの有無、前半変動時間、後半変動時間を判別することができる。
主制御用マイコン710は、変動パターン分類フラグに基づいて処理を分岐させる(B1213)。変動パターン分類フラグが通常ハズレフラグ(リーチ無し変動)以外の場合には、変動表示ゲームにおける予告演出を設定する。具体的には、予告振分選択処理とステップアップ(SU)予告振分選択処理を実行する。
主制御用マイコン710は、まず、予告振分選択処理の引数を設定する。具体的には、汎用レジスタER1に変動パターン分類フラグ(B1214)、汎用レジスタER0にステップB1207の処理で記憶された予告振分テーブル選択用乱数を格納する(B1215)。すなわち、予告振分選択処理には2個の引数が設定される。なお、3個以上の引数が設定される処理(サブルーチン)を実行する場合には、汎用レジスタER7に3個目以降の引数を設定する。また、サブルーチンに複数の返値が設定される場合についても同様である。
引数が設定されると、主制御用マイコン710は、予告振分選択処理を実行する(B1216)。予告振分選択処理では、変動パターン分類フラグ及び予告振分テーブル選択用乱数に基づいて、予告演出番号及び予告演出発生期間番号を取得する。予告演出番号は、実行される予告演出を特定する番号である。また、予告演出発生期間番号は、予告演出を実行するタイミングを特定する番号である。予告振分選択処理の詳細については、図12にて後述する。
そして、主制御用マイコン710は、予告振分選択処理の実行後、汎用レジスタER1に格納された予告演出番号を汎用レジスタER3に格納する(B1217)。さらに、汎用レジスタER0に格納された予告演出発生期間番号を汎用レジスタER2に格納する(B1218)。そして、予告演出番号及び予告演出発生期間番号を対応する記憶領域(メモリ、RAM711)に格納する(B1219)。
次に、主制御用マイコン710は、ステップアップ予告振分選択処理の引数として、汎用レジスタER1に変動パターン分類フラグ(B1220)、汎用レジスタER0にステップB1211の処理で記憶されたステップアップ予告振分テーブル選択用乱数(B1221)を格納する。
引数が設定されると、主制御用マイコン710は、ステップアップ予告振分選択処理を実行する(B1222)。ステップアップ予告振分選択処理では、変動パターン分類フラグ及び予告振分テーブル選択用乱数に基づいて、ステップ予告振分番号及びステップアップ予告回数を取得する。ステップ予告振分番号は、実行されるステップ予告を特定する番号である。また、ステップアップ予告回数は、ステップアップ予告のステップ数である。
そして、主制御用マイコン710は、ステップアップ予告振分選択処理の実行後、汎用レジスタER1に格納されたステップ予告振分番号を汎用レジスタER3に格納する(B1223)。さらに、汎用レジスタER0に格納されたステップアップ予告回数を汎用レジスタER2に格納する(B1224)。そして、ステップ予告振分番号及びステップアップ予告回数を対応する記憶領域(メモリ)に格納する(B1225)。
主制御用マイコン710は、ステップB1225の処理終了後、又は、変動パターン分類フラグが通常ハズレフラグで後半変動のないリーチ無し変動の場合には、識別図柄の変動表示に関連する処理を実行する。さらに、設定された予告演出処理を実行する(B1226〜B1228)。予告演出を実行しない場合には、ステップB1226〜B1228の処理を実行せずにスキップするようにしてもよい。
予告演出処理には、複数種類定義されており、例えば、先読み演出時にキャラクタを表示する処理や期待度の高いことを報知するために複数のキャラクタが同時に表示される群予告を実行するための処理などが含まれる。なお、先読み演出時の処理は、保留数などに応じた処理を実行させるようにしてもよい。
最後に、主制御用マイコン710は、変動表示ゲームの実行中に出力されるBGMを設定するBGM設定処理を実行する(B1229)。さらに、変動表示ゲーム実行中の背景を設定する背景設定処理(B1230)、変動表示ゲーム実行中の可動役物の動作を設定する可動役物演出処理(B1231)、変動表示ゲームの結果に対応する図柄を設定する停止図柄設定処理(B1232)を実行する。その後、変動中処理を終了する。
次に、前述した変動中処理における予告振分選択処理(B1216)の詳細について説明する。図12は、本発明の実施の形態の予告振分選択処理の手順を示すフローチャートである。
主制御用マイコン710は、まず、予告振分選択処理が実行されると、引数として指定された変数を所定の汎用レジスタにコピーする。これは、引数及び返値として利用される汎用レジスタを他の処理で利用できるように一時的に退避させるためである。具体的には、汎用レジスタER0に格納された「予告振分テーブル選択用乱数」を汎用レジスタER2に格納する(B1301)。さらに、汎用レジスタER1に格納された「変動パターン分類フラグ」を汎用レジスタER3に格納する(B1302)。
続いて、主制御用マイコン710は、汎用レジスタER3に格納された値、すなわち、変動パターン分類フラグに基づいて処理を分岐させる(B1303)。具体的には、リーチの種類(リーチA〜C、通常)及び当りの種類(大当り、特殊当り、ハズレ)に基づいて処理を分岐させ、対応する予告振分テーブル番号記憶処理を実行する。
まず、変動パターン分類フラグが「リーチA大当りフラグ」の場合に実行される予告振分テーブル番号記憶処理について説明する。変動パターン分類フラグが「リーチA大当りフラグ」の場合には、リーチAが発生し、変動表示ゲームの結果が「大当り」となる。
主制御用マイコン710は、変動パターン分類フラグに「リーチA大当りフラグ」が設定されている場合には、リーチA大当り予告振分テーブル選択処理の引数を設定する。具体的には、汎用レジスタER3に格納された「変動パターン分類フラグ」を汎用レジスタER1に格納する(B1304)。さらに、汎用レジスタER2に格納された「予告振分テーブル選択用乱数」を汎用レジスタER0に格納する(B1305)。
主制御用マイコン710は、リーチA大当り予告振分テーブル選択処理を実行する(B1306)。そして、リーチA大当り予告振分テーブル選択処理の返値であって、汎用レジスタER0に格納された予告振分テーブル番号を、汎用レジスタER2に格納する(B1307)。その後、ステップB1324以降の処理を実行する。
変動パターン分類フラグが「リーチA特殊当りフラグ」の場合についても同様の処理である(B1308〜B1311)。「特殊当り」とは、例えば、小当りなどである。なお、予告振分テーブル番号記憶処理の手順は、予告振分テーブルを選択する処理を除いてすべて同じであるため、説明を省略する。変動パターン分類フラグが「リーチAハズレフラグ」の場合についても同様である(B1312〜B1315)。
さらに、変動パターン分類フラグが「リーチB大当りフラグ」の場合(B1316)、「リーチB特殊当りフラグ」の場合(B1317)、「リーチBハズレフラグ」の場合(B1318)、「リーチC大当りフラグ」の場合(B1319)、「リーチC特殊当りフラグ」の場合(B1320)、「リーチCハズレフラグ」の場合(B1321)、「通常大当りフラグ」の場合(B1322)、「通常特殊当りフラグ」の場合(B1323)についても対応する予告振分テーブル番号記憶処理が実行され、予告振分テーブル番号が取得され、汎用レジスタER2に格納される。
予告振分テーブル番号記憶処理によって、予告振分テーブル番号が取得されると、予告演出選択処理が実行される。主制御用マイコン710は、まず、予告演出選択処理の引数に値を設定するために、汎用レジスタER3に格納された変動パターン分類フラグを汎用レジスタER1に格納する(B1324)。さらに、汎用レジスタER2に格納された予告振分テーブル番号を汎用レジスタER0に格納する(B1325)。
そして、主制御用マイコン710は、予告演出選択処理を実行し(B1326)、返値として予告演出番号及び予告演出発生期間番号を取得する。予告演出番号は汎用レジスタER1、予告演出発生期間番号は汎用レジスタER0に格納されている。予告演出選択処理の詳細については、図13にて後述する。
その後、主制御用マイコン710は、汎用レジスタER1に格納された予告演出番号を汎用レジスタER3に格納する(B1327)。さらに、汎用レジスタER0に格納された予告演出発生期間番号を汎用レジスタER2に格納する(B1328)。
最後に、主制御用マイコン710は、予告振分選択処理の返値として、汎用レジスタER3に格納された予告演出番号を汎用レジスタER1に格納する(B1329)。さらに、汎用レジスタER2に格納された予告演出発生期間番号を汎用レジスタER0に格納する(B1330)。その後、予告振分選択処理を終了する。
次に、前述した予告振分選択処理における予告演出選択処理(B1326)の詳細について説明する。図13は、本発明の実施の形態の予告演出選択処理の手順を示すフローチャートである。
主制御用マイコン710は、予告演出選択処理が実行されると、まず、引数として指定された変数を所定の汎用レジスタにコピーする。具体的には、汎用レジスタER0に格納された「予告振分テーブル番号」を汎用レジスタER2に格納する(B1401)。さらに、汎用レジスタER1に格納された「変動パターン分類フラグ」を汎用レジスタER3に格納する(B1402)。
続いて、主制御用マイコン710は、汎用レジスタER2に格納された値、すなわち、予告振分テーブル番号に基づいて処理を分岐させる(B1403)。本実施形態では、予告振分テーブルは1から100まで定義されており、予告振分テーブル番号に対応する処理を実行する。まず、予告振分テーブル1について説明する。
主制御用マイコン710は、まず、汎用レジスタER3に格納された変動パターン分類フラグを汎用レジスタER4に格納する(B1404)。ステップB1404の処理では、後続の処理で汎用レジスタER3を使用するため、あらかじめ汎用レジスタER3に格納された値を汎用レジスタER4に退避させている。
続いて、予告演出を選択する処理を実行する。具体的には、主制御用マイコン710は、汎用レジスタER0に、予告演出選択用乱数の上限値である「100」を格納し(B1405)、乱数抽選処理を実行する(B1406)。そして、汎用レジスタER0に格納された予告演出選択用乱数値を汎用レジスタER2に格納する(B1407)。
次に、主制御用マイコン710は、予告振分テーブル1から汎用レジスタER2に格納された予告演出選択用乱数値に対応する予告演出を選択する(B1408)。さらに、選択された予告演出の番号を汎用レジスタER3に格納する(B1409)。
さらに、主制御用マイコン710は、予告演出発生期間設定処理を実行するために、引数として、汎用レジスタER4に格納された変動パターン分類フラグを汎用レジスタER1に(B1410)、汎用レジスタER3に格納された予告演出番号を汎用レジスタER1に格納する(B1411)。そして、予告演出発生期間設定処理を実行し(B1412)、返値として汎用レジスタER0に格納された予告演出発生期間番号を汎用レジスタER2に格納する(B1413)。
その後、主制御用マイコン710は、必要な処理を実行し、最後に、予告演出選択処理の返値として、汎用レジスタER3に格納された予告演出番号を汎用レジスタER1に格納する(B1414)。さらに、汎用レジスタER2に格納された演出発生期間番号を汎用レジスタER0に格納する(B1415)。その後、予告演出選択処理を終了する。
次に、前述した変動中処理及び予告演出選択処理における乱数抽選処理(B1205等、B1406)の詳細について説明する。図14は、本発明の実施の形態の乱数抽選処理の手順を示すフローチャートである。
主制御用マイコン710は、まず、引数として指定され、汎用レジスタER0に格納された「乱数の上限値」を汎用レジスタER2に格納する(B1501)。続いて、乱数処理(rand処理)を実行し(B1502)、乱数値を取得する。rand処理では、所定範囲(例えば、0〜65535)の整数値が取得される。
主制御用マイコン710は、取得された乱数値rdmを汎用レジスタER0に格納する(B1503)。そして、乱数値rdmを乱数の上限値を除算し(B1504)、余りを返値として汎用レジスタER0に格納する(B1505)。例えば、上限値(引数)が1000、取得された乱数値が3500とすると、3500÷1000の余り500が返値に設定される。主制御用マイコン710は、その後、乱数抽選処理を終了する。
以上、本実施形態における演出制御装置700の主制御用マイコン710による制御について、汎用レジスタにデータを格納するタイミングを含めて説明した。ここで、各サブルーチンの実行による汎用レジスタに格納された値の遷移について説明する。図15は、本発明の実施の形態の汎用レジスタの状態遷移を説明する図である。
最初に変動中処理における「M−1」の処理について説明する。「M−1」の処理は、変動中処理のステップB1204からB1206までの処理に対応する。まず、汎用レジスタER0に取得する乱数値の上限値である「1000」を格納し、サブルーチンである処理A(乱数抽選処理)を呼び出す(実行する)。
処理A(乱数抽選処理)が開始されると、引数として設定された汎用レジスタER0の値(乱数の上限値)を汎用レジスタER2に退避する。このとき、必ずしも汎用レジスタER2に退避する必要はなく、空いている汎用レジスタに退避させればよい。また、汎用レジスタER0及びER1は、サブルーチンの引数及び返値を格納する記憶領域であるため、受け取った値を退避させる場合には汎用レジスタER2以降を使用する。なお、引数及び返値が3個以上の場合には、前述のように、スタックポインタとして機能する汎用レジスタER7を利用して格納する。また、サブルーチンは、引数又は返値がないものであってもよい。このように、各サブルーチンで引数を格納するレジスタ及び返値を格納するレジスタを限定することによって、使用するレジスタの数を抑制している。
乱数の上限値を汎用レジスタER2に退避させると、乱数を抽出するrand処理を実行する。rand処理は、引数なしで所定範囲の乱数を1個抽出する。そして、抽出された乱数を汎用レジスタER0に格納する。その後、指定された範囲の乱数に変換するため、汎用レジスタER0に格納された値を汎用レジスタER2に退避させた乱数の上限値で除算し(B1504)、余りを汎用レジスタER0に格納する(B1505)。そして、汎用レジスタER0に格納された値が処理A(乱数抽選処理)の返値となり、RET命令(サブルーチンの終了命令)で処理Aを終了させて呼出元の変動中処理に戻る。
変動中処理に戻ると、処理Aで汎用レジスタER0に返値として指定された上限値を1000とする乱数値を汎用レジスタER2に格納する。このとき、汎用レジスタER2には、乱数の上限値「1000」が格納されているが、取得した乱数値によって上書きされる。
続いて、変動中処理では、「M−2」が実行される。「M−2」の処理は、変動中処理のステップB1208からB1210までの処理に対応する。「M−2」の処理は、取得する乱数の上限値が「500」であること以外は、「M−1」の処理と構成が同じであるため、詳細な内容については省略する。
最後に、変動中処理における「M−3」の処理について説明する。「M−3」の処理は、変動中処理のステップB1214からB1218までの処理に対応する。まず、汎用レジスタER1に変動パターン分類フラグ(X−1)、汎用レジスタER0に予告振分テーブル選択用乱数(X−2)を格納し(B1214、B1215)、サブルーチンである処理B(予告振分選択処理)を呼び出す(実行する)。
処理B(予告振分選択処理)が開始されると、引数として設定された汎用レジスタER0の値(予告振分テーブル選択用乱数)を汎用レジスタER2に、汎用レジスタER1の値(変動パターン分類フラグ)を汎用レジスタER3に退避する。その後、「S−1」の処理を実行する。「S−1」の処理は、予告振分選択処理のステップB1304からB1307までの処理に対応する。
「S−1」の処理が開始されると、処理C(予告振分テーブル選択処理)の引数として、汎用レジスタER2に退避されていた予告振分テーブル選択用乱数を汎用レジスタER0に、汎用レジスタER3に退避されていた変動パターン分類フラグを汎用レジスタER1に格納する。そして、処理C(予告振分テーブル選択処理)を実行する。
処理C(予告振分テーブル選択処理)が開始されると、引数として指定された汎用レジスタER0の値(予告振分テーブル選択用乱数)を汎用レジスタER2に、汎用レジスタER1の値(変動パターン分類フラグ)を汎用レジスタER3に退避させる。そして、続く処理によって、予告振分テーブル番号が取得され、汎用レジスタER2に格納される。その後、返値として、汎用レジスタER2に格納された予告振分テーブル番号が汎用レジスタER0に格納され、RET命令によって予告振分選択処理に戻る。このとき、汎用レジスタER3には変動パターン分類フラグは格納されたままとなっているが、処理Cの実行前に汎用レジスタER2に格納されていた予告振分テーブル選択用乱数は予告振分テーブル番号に上書きされている。
処理Cの実行後、処理Bに戻ると、予告振分テーブル選択処理の返値である予告振分テーブル番号が格納された汎用レジスタER0の値を汎用レジスタER2に退避させる。そして、続く処理を実行し、「S−2」の処理を実行する。「S−2」の処理は、予告振分選択処理のステップB1324からB1328までの処理に対応する。
「S−2」の処理が開始されると、処理D(予告演出選択処理)の引数として、汎用レジスタER2に退避されていた予告振分テーブル番号を汎用レジスタER0に、汎用レジスタER3に退避されていた変動パターン分類フラグを汎用レジスタER1に格納する。そして、処理D(予告演出選択処理)を実行する。
処理D(予告演出選択処理)が開始されると、引数として指定された汎用レジスタER0の値(予告振分テーブル番号)を汎用レジスタER2に、汎用レジスタER1の値(変動パターン分類フラグ)を汎用レジスタER3に退避させる。その後、処理A(乱数抽選処理)によって予告振分テーブルから予告演出番号及び予告演出発生期間番号を取得するための乱数を取得する。このとき、汎用レジスタER0に乱数の上限値(100)が格納され、返値として乱数値を取得し、取得された乱数値を汎用レジスタER2に格納する。
そして、取得された乱数値に基づいて、予告振分テーブル番号に対応する予告振分テーブルから、予告演出番号及び予告演出発生期間番号を取得する。このとき、予告演出番号は汎用レジスタER3に格納された後、予告振分選択処理の返値として汎用レジスタER1に格納される。さらに、予告演出発生期間番号は汎用レジスタER2に格納された後、予告振分選択処理の返値として汎用レジスタER0に格納される。その後、予告振分選択処理において、返値の格納が終了すると、RET命令によって変動中処理に戻る。
最後に、本実施形態の遊技機1における演出の画面遷移について説明する。図16及び図17は、本発明の実施の形態において実行される変動表示ゲームの画面遷移の一例を示す図である。
図16(A)は、変動開始前の状態を示しており、次々回実行される変動表示ゲームの期待度が高いことを示す先読み表示がなされている。続いて、図16(B)では、変動表示ゲームが開始され、変動中に予告演出(会話予告)が実行される様子を示している。このとき、遊技者が演出ボタン17を操作することによって、図16(C)に示すように、予告演出の結果が表示される。
その後、図16(D)に示すように、予告演出(会話予告)に続いて、ステップアップ予告が実行される。そして、ステップアップ予告が実行された後、図16(E)に示すように、リーチが発生する。さらに、リーチ変動の前半で、たくさんのキャラクタが表示される群予告などが実行される。群予告については、予告演出の一態様としてもよいし、通常演出の一態様としてもよい。
リーチ変動の後半に入ると、図17(A)に示すように、次回予告演出が実行される。なお、次回予告演出は、次に実行される変動表示ゲームの期待度を示すものであってもよいが、本実施形態では、実行中の変動表示ゲームの期待度を示唆するものとなっている。また、次回の話数と変動中の識別図柄が一致している場合には期待度が特に高いとしてもよい。さらに、次回タイトルの内容によって以降の演出内容を示唆し、実行中の変動表示ゲームの期待度を把握できるようにしてもよい。
その後、図17(B)及び(C)に示すように、敵チームと対戦する「決戦」演出が実行される。リーチ変動の最後には、図17(D)に示すように、可動役物演出が実行される。このとき、可動役物によって識別図柄(第4図柄を含む)の変動表示の視認が妨げられる場合には、視認可能な位置に移動させるようにしてもよい。
最後に、可動役物演出が終了すると、図17(E)に示すように、識別図柄の変動が仮停止し、「ボーナス確定」を報知する。そして、図17(F)に示すように、第4図柄を含む識別図柄の変動が停止し、変動表示ゲームが終了する。その後、特別遊技状態に移行する。
図16及び図17に示した先読み表示や予告演出の実行タイミングは、予告演出の種類及び発生期間に応じて決定される。また、予告演出処理で演出内容が設定される。
以上のように、本実施形態によれば、各サブルーチンで引数を格納するレジスタと、返値を格納するレジスタとを共通化し、限定することによって、サブルーチンを多段階で呼び出した場合であっても、使用可能なレジスタが不足することを防ぐことができる。また、引数や返値の数が3以上の場合であっても、前述のように、スタックポインタ(汎用レジスタER7)を利用することによって使用するレジスタの数を抑制することが可能となっている。
したがって、レジスタを使用する数を限定することで、複雑な振分処理を行う際に都合がよく、制御処理の効率を向上させるとともに、演出動作を多様化することが可能となり、遊技の興趣を高めることができる。
なお、本実施形態における遊技制御プログラムは、開発者がプログラミング言語で記述したものであってもよいし、開発者が記述したプログラムをコンパイラによって機械語(マシン語)に変換したものであってもよい。